【国等の委託研究の成果に係る記載事項】(出願人による申告)平成28年度、総務省、第5世代移動通信システム実現に向けた研究開発の委託事業、産業技術力強化法第19条の適用を受ける特許出願
【文献】
石原 進,無線LAN上のDCCPストリームのレート推定,WLAN-QoSワークショップ,日本,2012年 2月28日,第14-17頁
【文献】
小山 健二 Kenji KOYAMA,動画像ストリーミングにおける資源予測を用いた無線LANハンドオーバ時の通信レート制御の評価 Evaluati,電子情報通信学会技術研究報告 Vol.104 No.681 IEICE Technical Report,日本,社団法人電子情報通信学会 The Institute of Electro,2005年 3月,第3節
【文献】
Susumu Ishihara,Predictive rate control for realtime video streaming with network triggered handover,IEEE Communications Society / WCNC 2005,IEEE,2005年,第III節
【文献】
星川 雄大 Takehiro HOSHIKAWA,プローブパケットの受信間隔に基づくDCCP CCID3フローの送信レート推定 Estimation of Sending,電子情報通信学会技術研究報告 Vol.110 No.376 IEICE Technical Report,日本,社団法人電子情報通信学会 The Institute of Electro,2011年 1月,第110巻,第1節
【文献】
S. Floyd, et al.,TCP Friendly Rate Control (TFRC): Protocol Specification,RFC5348,2008年 9月,全文
(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、所定のテーブルを用いて、前記可用帯域の暫定値から前記新たな通信状態情報を生成することを特徴とする請求項1または請求項2に記載の映像送信装置。
前記制御部は、現在までのパケットロスの発生状況に関する検出値を所定数取得し、その所定数の検出値に対して重み付き平均化の処理を行った上で、所定の計算式を用いて前記検出値の平均から可用帯域の推定値を算出し、経路切り替えの直後の過渡状態では、通常状態から前記重み付き平均化の係数を変更することを特徴とする請求項1から請求項3のいずれかに記載の映像送信装置。
前記制御部は、前記過渡状態において、所定数取得された前記検出値のうち新しい前記検出値に対しては、前記通常状態より大きい係数を乗じるとともに、所定数取得された前記検出値のうち古い前記検出値に対しては、前記通常状態より小さい係数を乗じて、前記重み付き平均化を行うことを特徴とする請求項4に記載の映像送信装置。
前記制御部は、パケットロスが1回発生した後に、連続受信パケット数が可用帯域の推定値から想定される値を超えた場合に、前記通常状態に復帰することを特徴とする請求項4または請求項5に記載の映像送信装置。
前記制御部は、パケットロスの発生状況に基づいて可用帯域を推定する際に、無線区間での外来ノイズに起因するランダムなパケットロスか否かを判定し、前記ランダムなパケットロスである場合には、そのパケットロスを除外することを特徴とする請求項1から請求項9のいずれかに記載の映像送信装置。
【発明を実施するための形態】
【0013】
前記課題を解決するためになされた第1の発明は、無線区間を有する通信経路を介して映像受信装置に映像データを送信する映像送信装置であって、前記映像受信装置に前記映像データを送信する通信部と、過去の通信状態に関する履歴情報を記憶する記憶部と、この記憶部に記憶された前記履歴情報に基づいて現在の可用帯域を推定して、映像を符号化する際の符号量を制御する制御部と、を備え、前記制御部は、前記通信経路の切り替えが発生すると、切り替え先の通信経路に対応する可用帯域の暫定値を取得し、この可用帯域の暫定値に基づいて、新たな通信状態情報を生成し、前記記憶部に記憶された前記履歴情報を前記新たな通信状態情報に置き換えて、前記置き換え後の前記履歴情報に基づいて可用帯域を推定する構成とする。
【0014】
これによると、通信経路の切り替えが発生した際に、切り替え先の通信経路に対応する可用帯域の暫定値に基づいて生成した新たな通信状態情報を用いて可用帯域推定が行われる。これにより、通信経路の切り替え時に可用帯域が大幅に変動する場合でも、可用帯域を適切に推定して、可用帯域の有効利用を図ることができる。
【0015】
また、第2の発明は、前記通信部は、前記通信経路上の通信制御装置から送信される経路切替通知を受信し、前記制御部は、前記経路切替通知から前記可用帯域の暫定値を取得する構成とする。
【0016】
これによると、切り替え先の通信経路の状態を把握している通信制御装置で適切に設定された可用帯域の暫定値を取得することができる。
【0017】
また、第3の発明は、前記制御部は、所定のテーブルを用いて、前記可用帯域の暫定値から前記新たな通信状態情報を生成する構成とする。
【0018】
これによると、新たな通信状態情報を生成する処理の負荷を軽減することができる。
【0019】
また、第4の発明は、前記制御部は、現在までのパケットロスの発生状況に関する検出値を所定数取得し、その所定数の検出値に対して重み付き平均化の処理を行った上で、所定の計算式を用いて前記検出値の平均から可用帯域の推定値を算出し、経路切り替えの直後の過渡状態では、通常状態から前記重み付き平均化の係数を変更する構成とする。
【0020】
これによると、可用帯域の推定結果の収束を早めることができる。
【0021】
また、第5の発明は、前記制御部は、前記過渡状態において、所定数取得された前記検出値のうち新しい前記検出値に対しては、前記通常状態より大きい係数を乗じるとともに、所定数取得された前記検出値のうち古い前記検出値に対しては、前記通常状態より小さい係数を乗じて、前記重み付き平均化を行う構成とする。
【0022】
これによると、過渡状態では、新しい検出値の係数を大きくして、新しい検出値が可用帯域の推定結果に大きく影響するようにすることで、可用帯域の推定結果の収束を早めることができる。なお、古い検出値の係数を0として、古い検出値を無視するようにしてもよい。
【0023】
また、第6の発明は、前記制御部は、前記過渡状態に遷移した後に所定時間経過した場合に、前記通常状態に復帰する構成とする。
【0024】
これによると、適切なタイミングで通常状態に復帰させることができる。
【0025】
また、第7の発明は、前記制御部は、パケットロス検出数が所定のしきい値を超えた場合に、前記通常状態に復帰する構成とする。
【0026】
これによると、適切なタイミングで通常状態に復帰させることができる。
【0027】
また、第8の発明は、前記制御部は、パケットロスが1回発生した後に、連続受信パケット数が可用帯域の推定値から想定される値を超えた場合に、前記通常状態に復帰する構成とする。
【0028】
これによると、適切なタイミングで通常状態に復帰させることができる。
【0029】
また、第9の発明は、前記制御部は、パケットロスが1回発生した後に所定時間経過した場合に、前記通常状態に復帰する構成とする。
【0030】
これによると、適切なタイミングで通常状態に復帰させることができる。
【0031】
また、第10の発明は、前記制御部は、パケットロスの発生状況に基づいて可用帯域を推定する際に、無線区間での外来ノイズに起因するランダムなパケットロスか否かを判定し、前記ランダムなパケットロスである場合には、そのパケットロスを除外する構成とする。
【0032】
これによると、無線区間での外来ノイズに起因するランダムなパケットロスにより、可用帯域の推定値が大きく低下して、可用帯域を有効利用できなくなることを避けることができる。
【0033】
また、第11の発明は、無線区間を有する通信経路を介して映像受信装置に映像データを送信する映像送信装置であって、前記映像受信装置に前記映像データを送信する通信部と、過去の可用帯域を記憶する記憶部と、
パケットロスがない場合には、前記記憶部に記憶された前記過去の可用帯域を増加させた可用帯域を現在の可用帯域として推定し、パケットロスがある場合には、前記過去の可用帯域を減少させた可用帯域を現在の可用帯域として推定し、映像を符号化する際の符号量を制御する制御部と、を備え、前記制御部は、
前記通信経路の切り替えが発生すると、前記記憶部に記憶された前記過去の可用帯域を廃棄して前記過去の可用帯域に基づく現在の可用帯域の推定を中止し、切り替え先の通信経路
の種別に応じて設定される可用帯域の暫定値を取得し、この可用帯域の暫定値に基づいて、前記経路切り替え後の可用帯域を推定する構成とする。
【0034】
これによると、
BCCの標準方式において、通信経路の切り替え時に可用帯域が大幅に変動する場合でも、可用帯域を適切に推定して、可用帯域の有効利用を図ることができる。
【0035】
また、第12の発明は、無線区間を有する通信経路を介して映像送信装置から映像受信装置に映像データを伝送する映像伝送システムであって、前記映像送信装置は、前記映像受信装置に前記映像データを送信する通信部と、過去の通信状態に関する履歴情報を記憶する記憶部と、この記憶部に記憶された前記履歴情報に基づいて現在の可用帯域を推定して、映像を符号化する際の符号量を制御する制御部と、を備え、前記制御部は、前記通信経路の切り替えが発生すると、切り替え先の通信経路に対応する可用帯域の暫定値を取得し、この可用帯域の暫定値に基づいて、新たな通信状態情報を生成し、前記記憶部に記憶された前記履歴情報を前記新たな通信状態情報に置き換えて、前記置き換え後の前記履歴情報に基づいて可用帯域を推定する構成とする。
【0036】
これによると、第1の発明と同様に、通信経路の切り替え時に可用帯域が大幅に変動する場合でも、可用帯域を適切に推定して、可用帯域の有効利用を図ることができる。
【0037】
また、第13の発明は、映像送信装置において、無線区間を有する通信経路を介して映像受信装置に映像データを符号化して伝送する際の符号量を制御する符号量制御方法であって、記憶部に記憶された過去の通信状態に関する履歴情報に基づいて現在の可用帯域を推定して、映像を符号化する際の符号量を制御し、前記通信経路の切り替えが発生すると、切り替え先の通信経路に対応する可用帯域の暫定値を取得し、この可用帯域の暫定値に基づいて、新たな通信状態情報を生成し、前記記憶部に記憶された前記履歴情報を前記新たな通信状態情報に置き換えて、前記置き換え後の前記履歴情報に基づいて可用帯域を推定する構成とする。
【0038】
これによると、第1の発明と同様に、通信経路の切り替え時に可用帯域が大幅に変動する場合でも、可用帯域を適切に推定して、可用帯域の有効利用を図ることができる。
【0039】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【0040】
(第1実施形態)
図1は、第1実施形態に係る映像伝送システムの全体構成図である。
【0041】
この映像伝送システムは、映像送信装置1と、映像受信装置2と、通信制御装置3と、を備えている。この映像送信装置1および映像受信装置2は、ヘテロジニアスネットワークを介して映像伝送を行う。
【0042】
ヘテロジニアスネットワークには、従来の無線通信方式の基地局、例えば、LTEなどのセルラー通信の基地局や、WiFi(登録商標)のアクセスポイントの他に、5Gで提案されている高SHF(Super High Frequency)帯などを利用したセルラー通信の基地局や、ミリ波を利用したWiGig(登録商標)のアクセスポイントが設置されている。映像送信装置1は、これらの基地局やアクセスポイントを経由する複数の通信経路を利用して映像伝送を行う。
【0043】
通信制御装置3は、ヘテロジニアスネットワーク内の基地局やアクセスポイントを経由する複数の通信経路を利用して映像送信装置1で行われる通信を制御するものであり、例えば、広域の通信エリアを有するマクロセル基地局である。
【0044】
次に、映像送信装置1について説明する。
図2は、映像送信装置1の概略構成を示すブロック図である。
【0045】
映像送信装置1は、映像入力部11と、通信部12と、制御部13と、記憶部14と、を備えている。
【0046】
映像入力部11では、カメラ5から出力される映像データが入力される。
【0047】
通信部12は、通信経路を介して映像受信装置2との間で通信を行い、例えば、映像パケットを映像受信装置2に送信し、また、映像受信装置2から送信される受信品質情報、具体的には状態監視用パケット(RTCP−RR、送信時刻情報を含む)を受信する。また、通信制御装置3との間で通信を行い、例えば、通信制御装置3から送信されるハンドオーバー通知を受信する。
【0048】
記憶部14は、過去(数秒間)の通信状態の履歴である通信状態情報(パケットロス率、遅延時間、送信データ量など)を記憶する。この通信状態情報は随時更新される。また、記憶部14は、制御部13で行われる可用帯域推定などの処理で用いられるテーブルを記憶する。また、記憶部14は、制御部13で実行するプログラムを記憶する。
【0049】
制御部13は、映像符号化部21と、パケット化部22と、通信状態監視部23と、可用帯域推定部24と、符号化制御部25と、履歴情報書換部26と、パケットロス計数部27と、を備えている。この制御部13はプロセッサで構成され、制御部13の各部は、記憶部14に記憶されたプログラムをプロセッサに実行させることで実現される。
【0050】
映像符号化部21は、映像入力部11に入力された映像を所定の圧縮方式(例えばH.264やH.265など)で符号化する。
【0051】
パケット化部22は、映像符号化部21で生成した映像符号のパケットを、RTP(Real-time Transport Protocol)などに基づいて組み立てる。また、パケット化部22は、送信データ量を通信状態監視部23に通知する。
【0052】
通信状態監視部23は、映像受信装置2と連携して、RTCP(RTP Control Protocol)などに基づく状態監視用パケットを送受信して、受信した状態監視用パケット(RTCP−RR)に含まれる通信状態情報(パケットロス率および遅延時間など)を取得して、その通信状態情報を可用帯域推定部24に通知する。
【0053】
可用帯域推定部24は、通信状態監視部23で取得した現在の通信状態情報と、記憶部14に履歴情報として記憶された過去の通信状態情報と、に基づいて、現在の通信経路の可用帯域を推定する。本実施形態では、RFC5348/3448に規定されたTFRC(TCP-Friendly Rate Control)にしたがって、通信状態情報(遅延時間(RTT)およびパケットロス率)に基づいて可用帯域を推定する。
【0054】
符号化制御部25は、可用帯域推定部24で取得した可用帯域の推定値に基づいて、符号量(圧縮率)と画像の解像度とを求めて、その符号量および解像度で符号化を行うように映像符号化部21に指示する。
【0055】
履歴情報書換部26は、通信部12で受信したハンドオーバー通知から、ハンドオーバー先の通信経路に対応する可用帯域の暫定値を取得して、その可用帯域の暫定値に適合する新たな通信状態情報を生成して、その新たな通信状態情報を履歴情報として記憶部14に記憶させる。すなわち、記憶部14に記憶されている通信状態情報を廃棄して、新たな通信状態情報に置き換える処理を行う。
【0056】
パケットロス計数部27は、所定時間内に発生したパケットロスを計数して、その計数結果であるパケットロス検出数を可用帯域推定部24に通知する。特に、本実施形態では、無線区間での外来ノイズなどに起因するランダムなパケットロスか否かを判定し、ランダムなパケットロスである場合には、そのパケットロスを計数結果から除外する処理を行う。
【0057】
次に、映像受信装置2について説明する。
図3は、映像受信装置2の概略構成を示すブロック図である。
【0058】
映像受信装置2は、通信部31と、映像出力部32と、制御部33と、記憶部34と、を備えている。
【0059】
通信部31は、映像送信装置1との間で通信を行い、例えば、映像送信装置1から送信される映像パケットや状態監視用パケット(RTCP−SR、受信時刻情報を含む)を受信し、また、状態監視用パケット(RTCP−RR、送信時刻情報を含む)を映像送信装置1に送信する。
【0060】
記憶部34は、通信部31で受信した映像パケットや、制御部33で生成した映像データを記憶する。また、記憶部34は、制御部33で実行するプログラムを記憶する。
【0061】
映像出力部32は、制御部33で生成した映像データをディスプレイ6に出力する。
【0062】
制御部33は、パケット分解部41と、映像復号部42と、通信状態監視部43と、を備えている。この制御部33はプロセッサで構成され、制御部33の各部は、記憶部34に記憶されたプログラムをプロセッサに実行させることで実現される。
【0063】
パケット分解部41は、通信部31で受信した映像パケットを分解して、取り出された映像符号を出力する。また、パケット分解部41は、受信データ量およびパケットロス検出数を通信状態監視部43に通知する。
【0064】
映像復号部42は、パケット分解部41から出力される映像符号を復号し、映像データを出力する。このとき、符号データに含まれる解像度情報に基づいて復号するが、解像度情報で指定されたサイズ以外の解像度で受信した場合は、映像の解像度を変更して、適切な表示サイズにリサイズする。
【0065】
通信状態監視部43は、映像送信装置1と連携して、RTCP(RTP Control Protocol)などに基づく状態監視用パケットを送受信して、現在の通信状態情報(パケットロス率および遅延時間など)を取得する。このとき、状態監視用パケットのタイムスタンプで遅延時間を測定し、また、シーケンス番号により、欠落したパケットの個数を測定する。そして、取得した通信状態情報を含む状態監視用パケット(RTCP−RR)を映像送信装置1に送信する。
【0066】
次に、映像送信装置1の可用帯域推定部24で行われる処理について説明する。
図4は、可用帯域推定部24で行われる平均化処理の要領を示す説明図である。
【0067】
可用帯域推定部24では、TFRCで規定された帯域計算式(式1)を用いて可用帯域を推定する。この帯域計算式は、パケットロスの発生状況に関する検出値であるパケットロス率および遅延時間(RTT)から可用帯域(平均スループット)を算出するものである。
【数1】
T=平均スループット
S=パケットサイズ
R=TCPの再送タイムアウト値(RTTの4倍とする)
d=送受信者間の往復遅延時間(RTT)
p=パケットロス率
【0068】
ここで、パケットロス率は、連続受信パケット数(パケットロス周期)の逆数で与えられ、パケットの受信状況を監視して、連続受信パケット数、すなわち、連続して正常に受信したパケットをカウントして、パケットロス率を取得する。
【0069】
このとき、正常に受信したパケットをカウントするカウンタを設けて、パケットロスが検出されるとカウンタをリセットし、この動作を繰り返すことで、各回の連続受信パケット数(パケットロス周期)を取得することができる。なお、パケットロスが複数回連続して発生した場合は1回のロスイベントとして扱われる。
【0070】
また、パケットロスの発生状況に応じて可用帯域の推定値が大きく変動することを避けるため、所定回数(例えば8回)分のパケットロス周期(連続受信パケット数)を重み付けして平均化する処理を行う。
【0071】
具体的には、まず、現在のパケットロス周期(連続受信パケット数)と、過去7回分のパケットロス周期とを対象にして重み付き平均を行って、パケットロス周期の平均値を取得する。また、過去8回分のパケットロス周期を対象にして重み付き平均を行って、パケットロス周期の平均値を取得する。そして、2つの平均値の大きい方(小さくない方)を、平均パケットロス周期として、その平均パケットロス周期の逆数であるパケットロス率を求める。
【0072】
このとき、重み付けの係数は以下のようになる。
{1.0,1.0,1.0,1.0,0.8,0.6,0.4,0.2}
ここでは、最新のものから順に係数が列挙されている。
【0073】
次に、映像送信装置1の履歴情報書換部26で行われる処理について説明する。
図5(A)は、可用帯域の変化状況の一例を示す説明図であり、
図5(B)は、パケットロス(ランダムロスおよび輻輳ロス)の発生状況の一例を示す説明図である。
【0074】
ヘテロジニアスネットワークでは、狭帯域・広域の通信経路と広帯域・狭域の通信経路とが混在しており、ハンドオーバー(経路切替)により可用帯域が大幅に変動することがある。例えば。LTEでは可用帯域が5Mbps(総容量100Mbps)であり、WiGig(登録商標)では可用帯域が1Gbps(総容量20Gbps)であり、この2つの通信経路間でハンドオーバーが発生すると、桁が2桁異なるような帯域変動が起きる。
【0075】
ここで、TFRCの標準方式では、過去の通信状態の履歴である通信状態情報(パケットロス率や遅延時間)に基づいて可用帯域を推定するため、通信経路が切り替わることで通信状態情報が変化するのに応じて、可用帯域が徐々に大きくなる。このため、実際の可用帯域を有効利用できる状態に到達するまでに長時間を要する。
【0076】
そこで、本実施形態では、ハンドオーバーが実行されたタイミングで、ハンドオーバー先の通信経路に対応する可用帯域を通信制御装置3から映像送信装置1に通知する。そして、映像送信装置1において、通信制御装置3から通知された可用帯域に適合する新たな通信状態情報を生成し、記憶部14に記憶された通信状態情報を廃棄して、新たな通信状態情報に置き換える処理を行う。そして、新たな通信状態情報(パケットロス率や遅延時間)に基づいて可用帯域推定を実施する。
【0077】
このとき、新たな通信状態情報としてのパケットロス率(パケットロス周期)を取得するには、帯域計算式(式1)からパケットロス率を逆算することが考えられるが、この逆算では、計算式も複雑になり、処理負荷も高くなる。そこで、本実施形態では、帯域計算式に基づいて、可用帯域とパケットロス率と遅延時間との関係を表すテーブルを事前に作成しておき、このテーブルを用いて、可用帯域の暫定値からパケットロス率を求める。
【0078】
また、新たな通信状態情報としての遅延時間(RTT)は、現時点のものを用いればよい。通信制御装置3から通知された可用帯域と、現時点の遅延時間と、パケットロス率(パケットロス周期)を求める。
【0079】
なお、本実施形態では、パケットロス率(パケットロス周期)の平均化の処理を行うため、記憶部14に記憶させる通信状態情報では、過去の所定回数(例えば8回)分に同じ値を設定する。
【0080】
また、本実施形態では、ハンドオーバー先の通信経路に対応する可用帯域の暫定値に関する情報をハンドオーバー通知に付加して通信制御装置3から送信装置に送信する。この可用帯域の暫定値は、通信制御装置3において、ハンドオーバー先の通信経路の種別(LTEなど)に応じて設定されるようにすればよい(例えばLTEなら5Mbps)。また、通信経路の混雑度や通信状態(遅延時間やパケットロス率)の履歴などに基づいて現在の可用帯域を推定するようにしてもよい。また、ハンドオーバー直後のネゴシエーション中に帯域を測定するようにしてもよい。この場合、ハンドオーバー中にはユーザーデータを伝送できないため、測定用のデータ(プローブ)を送信して、通信状態を測定すればよい。
【0081】
このように本実施形態では、ハンドオーバー時に、ハンドオーバー先の通信経路に対応する可用帯域に適合する新たな通信状態情報に基づいて可用帯域推定を開始するため、可用帯域の推定値を実際の値に近づけることができ、可用帯域の有効利用を図ることができる。
【0082】
なお、システム起動時には、設定情報として記憶部14に予め記憶させた可用帯域の初期値を用いればよく、以降は、ハンドオーバー時と同様である。
【0083】
次に、映像送信装置1の可用帯域推定部24で行われる処理について説明する。
【0084】
本実施形態では、ハンドオーバー時に、過去の通信状態の履歴である通信状態情報を廃棄して、ハンドオーバー先の通信経路の可用帯域に適合する新たな通信状態情報を設定して、その新たな通信状態情報に基づいて可用帯域推定を行うことで、可用帯域の推定値を可用帯域の実際の値に近づけることができるが、以降の可用帯域推定をTFRCの標準方式で行うと、可用帯域の推定値が収束するまでに長時間を要する(
図5参照)。
【0085】
そこで、本実施形態では、ハンドオーバー直後に、可用帯域の推定値の収束を推定処理の収束を早める過渡状態に遷移する。この過渡状態では、可用帯域推定のパラメータを、TFRCの標準方式による通常状態から変更する。具体的には、パケットロス周期(パケットロス率)の重み付き平均化の処理で用いられる重み付けの係数を変更する。
【0086】
この重み付けの係数は、記憶部14に記憶された係数テーブルに設定されており、この係数テーブルとして、通常状態用の係数テーブルと過渡状態用の係数テーブルとが用意され、ハンドオーバー直後に、通常状態用の係数テーブルから渡状態用の係数テーブルを切り替える。
【0087】
通常状態およびの重み付け係数は、例えば以下のように設定すればよい。
通常状態:{1.0,1.0,1.0,1.0,0.8,0.6,0.4,0.2}
過渡状態:{4.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0}
過渡状態では、新しいものの係数を大きくして、古いものの係数を0としている。すなわち、新しいものに重みを置いて、古いものを無視するようにしている。
【0088】
このように本実施形態では、ハンドオーバー直後に、過渡的に可用帯域推定のパラメータを変更する制御を行うため、ハンドオーバー直後に、可用帯域の実際の値が、通信制御装置3から通知された可用帯域より小さい場合には、可用帯域の推定値を速やかに上昇させて、可用帯域の有効利用を図ることができる。
【0089】
また、本実施形態では、過渡状態に遷移した後、所定の復帰条件が成立すると、通常状態に復帰させる。復帰条件は、推定される可用帯域が収束状態となり、可用帯域を十分に有効利用できる状態となったことを表し、また、可用帯域の推定値を上げすぎて輻輳が発生している状態を表すものであり、このような状態となると、速やかに通常状態に復帰させる。
【0090】
本実施形態では、まず、第1の復帰条件として、通常状態から過渡状態に遷移した後に所定時間(例えば30秒)が経過すると、通常状態に復帰させる。また、第2の復帰条件として、パケットロス検出数が、所定のしきい値(例えば2回)を超えると、通常状態に復帰させる。また、第3の復帰条件として、パケットロスが1回発生した後に、連続受信パケット数(パケットロス周期)が、現時点の可用帯域の推定値から想定される値を超えると、通常状態に復帰させる。また、第4の復帰条件として、パケットロスが1回発生した後に、所定時間(例えば10秒)が経過すると、通常状態に復帰させる。これら第1〜第4の復帰条件のいずれかが成立すると、通常状態に復帰させる。
【0091】
なお、パケットロス検出数は、パケットロスイベントの発生回数であり、連続した複数個のパケットロスは1回のパケットロスとしてカウントされる。また、ランダムロスと判定されたパケットロスイベントは除外する。したがって、ここでのパケットロスイベントの発生回数は、輻輳ロスの発生回数となる。
【0092】
また、本実施形態では、第1〜第4の復帰条件のいずれかが成立すると、通常状態に復帰させるものとしたが、第1〜第4の復帰条件のいずれかのみとしたり、いくつかを組み合わせるものとしたりしてもよい。
【0093】
このようにして過渡状態から通常状態に復帰すると、TFRCの標準方式による可用帯域推定が行われる。
【0094】
このように本実施形態では、TFRCの標準方式による制御に速やかに復帰するため、他のユーザの通信との整合性および公平性を確保することができる。また、過渡状態と通常状態とで同様に、TFRCで規定された帯域計算式を用いるため、過渡状態から通常状態に復帰した際に、可用帯域の推定値の連続性を保つことができる。
【0095】
次に、映像送信装置1の可用帯域推定部24の動作手順について説明する。
図6および
図7は、可用帯域推定部24の動作手順を示すフロー図である。
【0096】
まず、ハンドオーバーが実行されて、通信部12においてハンドオーバー通知を受信した際の動作について説明する。このとき、
図6(A)に示すように、まず、ハンドオーバー通知に含まれるハンドオーバー先の通信経路の可用帯域の暫定値を取得する(ST101)。
【0097】
次に、記憶部14に記憶された通信状態情報(履歴情報)を消去する(ST102)。そして、通信制御装置3から通知された可用帯域の暫定値に基づいて、新たな通信状態情報を生成して、この通信状態情報を履歴情報として記憶部14に記憶させる(ST103)。このとき、可用帯域から逆算して通信状態情報を求める。
【0098】
次に、タイマーの計時を開始する(ST104)
【0099】
次に、可用帯域推定用の係数テーブルを、通常状態用の係数テーブルから過渡状態用の係数テーブルに切り替える(ST105)。これにより、過渡状態に遷移する。
【0100】
次に、可用帯域推定部24において、通信状態情報(履歴情報)に基づいて可用帯域を推定する(ST106)。次に、符号化制御部25において、可用帯域の推定値に基づいて、符号量および解像度を決定する(ST107)。そして、決定された符号量および解像度で符号化を行うように映像符号化部21に指示する(ST108)。
【0101】
次に、タイマーが満了する、すなわち、通常状態から過渡状態に遷移した後に所定時間(例えば30秒)が経過した際の動作について説明する。このとき、
図6(B)に示すように、まず、可用帯域推定用の係数テーブルを、過渡状態用の係数テーブルから通常状態用の係数テーブルに戻す(ST101)。これにより、通常状態に復帰し、通常状態用のテーブルを用いて可用帯域を推定し(ST112)、ついで、符号量および解像度の決定(ST113)、および映像符号化部21への指示(ST114)を行う。
【0102】
次に、映像受信装置2から送信される状態監視パケットを通信部12で受信した際の動作について説明する。このとき、
図7に示すように、まず、受信した状態監視パケットに含まれる通信状態情報(遅延時間、パケットロス検出数および受信パケット数)を取得する(ST121)。そして、記憶部14に記憶された通信状態情報(履歴情報)を更新する(ST122)。
【0103】
次に、パケットロス検出数が所定のしきい値(例えば2回)を超えたか否かを判定する(ST123)。
【0104】
ここで、パケットロス検出数がしきい値を超えている場合には(ST123でYes)、過渡状態のままで、過渡状態用のテーブルを用いて可用帯域を推定し(ST106)、ついで、符号量および解像度の決定(ST107)、および映像符号化部21への指示(ST108)を行う。
【0105】
一方、パケットロス検出数がしきい値以下であれば(ST123でNo)、可用帯域推定用の係数テーブルを過渡状態用の係数テーブルから通常状態の係数テーブルに戻す(ST111)。これにより、通常状態に復帰し、通常状態用のテーブルを用いて可用帯域を推定し(ST112)、ついで、符号量および解像度の決定(ST113)、および映像符号化部21への指示(ST114)を行う。
【0106】
なお、
図7に示す例では、過渡状態に遷移した後の経過時間が所定時間に達した場合、または、パケットロス検出数がしきい値を超えた場合に、通常状態に復帰するようにしたが、この他に、パケットロスが1回発生した後に、連続受信パケット数(パケットロス周期)が、現時点の可用帯域の推定値から想定される値を超えた場合や、パケットロスが1回発生した後に、所定時間(例えば10秒)が経過した場合に、通常状態に復帰するようにしてもよい。
【0107】
次に、映像送信装置1のパケットロス計数部27で行われる処理について説明する。
図8は、パケットロス計数部27で用いられるカウンタの動作状況を示す説明図である。
【0108】
本実施形態では、可用帯域推定部24において、パケットロスの発生状況に応じて可用帯域を推定する。具体的には、パケットロス率に基づいて可用帯域を推定する。このため、一旦パケットロスが発生すると、可用帯域の推定値が大きく低下する。
【0109】
一方、パケットロスには、輻輳によるパケットロス(輻輳ロス)と、無線区間での外来ノイズなどに起因するランダムなパケットロス(ランダムロス)と、がある。ここで、輻輳ロスは、可用帯域を超えた伝送により発生するが、ランダムロスは、可用帯域を超えていない場合にも発生する。このため、パケットロスの発生状況に応じて、一律に可用帯域を狭めるようにすると、ランダムロスの場合には、可用帯域を超えていないにもかかわらず、推定帯域を狭くすることになり、可用帯域を有効利用することができない(
図5参照)。
【0110】
すなわち、輻輳ロスの場合には、実際の可用帯域を反映したものであるため、可用帯域を縮小する必要があるが、ランダムロスの場合には、実際の可用帯域を反映したものではなく、可用帯域を縮小する必要がない。
【0111】
そこで、本実施形態では、このようなランダムロスによる無用な可用帯域の縮小を避けるため、発生したパケットロスがランダムロスか否かを判定するランダムロス判定を行い、ランダムロスである場合には、その検出結果を可用帯域推定に反映させないように制御する。
【0112】
ここで、TFRCの標準方式では、パケットロスが発生すると、連続して正常に受信したパケット数(連続受信パケット数)をカウントするカウンタをリセットするが、本実施形態では、発生したパケットロスがランダムロスである場合には、連続受信パケット数のカウンタをリセットしないようにする。これにより、パケットロスの検出結果を可用帯域推定に反映させないようにすることができる。
【0113】
また、ランダムロスの判定では、パケットロスの発生頻度が低い場合に、ランダムロスと判定し、パケットロスの発生頻度が高い場合に、輻輳ロスと判定する。
【0114】
具体的には、パケットロスの発生間隔が所定のしきい値を超える場合に、ランダムロスと判定する。また、現在の可用帯域の推定値から想定されるパケットロス率をしきい値として、パケットロス率がしきい値を超える場合に、ランダムロスと判定する。また、現在の可用帯域の推定値から想定される連続受信パケット数(パケットロス周期)をしきい値として、連続受信パケット数がしきい値を超える場合に、ランダムロスと判定する。
【0115】
なお、ランダムロスの判定に用いられるしきい値は、現在の可用帯域の推定値から所定の計算式を用いて求めればよい。
【0116】
本実施形態では、連続受信パケット数、実連続受信パケット数、およびランダムロス検出回数をそれぞれカウントする3つのカウンタを有する。
【0117】
連続受信パケット数のカウンタは、連続して正常に受信したパケット数をカウントするものであり、このカウンタのカウント値である連続受信パケット数(パケットロス周期)は可用帯域推定に用いられる。実連続受信パケット数のカウンタは、実際に連続して正常に受信したパケット数をカウントするものであり、パケットロスの判定に用いられる。ランダムロス検出回数のカウンタは、直近の輻輳ロスが発生した時点以降のランダムロスをカウントするものである。
【0118】
なお、以下では、連続受信パケット数のカウンタのカウント値である連続受信パケット数にC0の符号を付し、実連続受信パケット数のカウンタのカウント値である実連続受信パケット数にC1の符号を付し、ランダムロス検出回数のカウンタのカウント値であるランダムロス検出回数にC2の符号を付して説明する。
【0119】
パケットロスが発生すると、実連続受信パケット数C1のカウンタをリセットする。そして、想定パケットロス周期Tに現在のランダムロス検出回数C2を乗算した基準値(T×C2)と、現在の連続受信パケット数C0とを比較して、現在の連続受信パケット数C0が基準値(T×C2)を超えない場合には、輻輳ロスと判定する。ここで、想定パケットロス周期Tは、現在の可用帯域から想定されるものであり、所定のテーブルや計算式を用いて現在の可用帯域から算出すればよい。輻輳ロスであれば、連続受信パケット数C0およびランダムロス検出回数C2のカウンタをリセットする。
【0120】
図8に示す例では、ハンドオーバーが発生した後に、タイミングT1,T2,T3でパケットロスが発生している。このタイミングT1,T2,T3で、実連続受信パケット数C1のカウンタはクリアする。その後、タイミングT4で状態監視パケット(RTCP−RR)を受信している。
【0121】
本実施形態では、状態監視パケット(RTCP−RR)の受信に応じてランダムロス判定が実施され、
図8に示す例では、状態監視パケットを受信したタイミングT4でランダムロス判定が実施される。
【0122】
このとき、タイミングT1では、その時点での連続受信パケット数C0は、実連続受信パケット数C1と同一であり、基準値(T×C2(=1))を超えるため、ランダムロスとみなし、ランダムロス検出回数C2が1となる。また、タイミングT2では、その時点での連続受信パケット数C0は、実連続受信パケット数C1と同一であり、基準値(T×C2(=2))を超えるため、ランダムロスとみなし、ランダムロス検出回数C2が1となる。このタイミングT1,T2では、実連続受信パケット数C1のカウンタはクリアし、連続受信パケット数C0のカウンタはクリアしない。
【0123】
一方、タイミングT3では、その時点での連続受信パケット数C0は、実連続受信パケット数C1と同一であり、基準値(T×C2(=3))を超えないため、輻輳ロスとみなし、ランダムロス検出回数C2のカウンタをクリアする。また、実連続受信パケット数C1のカウンタおよび連続受信パケット数C0のカウンタをクリアする。また、実連続受信パケット数C1のカウンタをクリアした後の初期値は、状態監視パケットで通知された受信パケット数になる。
【0124】
なお、ハンドオーバー前も正常だったとみなし、実連続受信パケット数C1は十分に大きな値(100,000以上または60秒以上)となる。
【0125】
また、
図8に示す例では、タイミングT5で連続して複数のパケットロスが発生している。このとき、ランダムロス検出回数C2はNとなり、その時点での連続受信パケット数C0は、基準値(T×C2(=N))を超えないため、輻輳ロスとみなし、ランダムロス検出回数C2のカウンタをクリアする。また、実連続受信パケット数C1のカウンタおよび連続受信パケット数C0のカウンタをクリアする。
【0126】
次に、映像送信装置1のパケットロス計数部27の動作手順について説明する。
図9および
図10は、パケットロス計数部27の動作手順を示すフロー図である。
【0127】
まず、初期化の動作について説明する。このとき、
図9(A)に示すように、カウンタの初期化を行う。ここでは、連続受信パケット数C0のカウンタ、実連続受信パケット数C1のカウンタ、およびランダムロス検出回数C2のカウンタを初期化し、連続受信パケット数C0、実連続受信パケット数C1、およびランダムロス検出回数C2を0とする(ST201)。
【0128】
次に、ハンドオーバーが実行されて、通信部12においてハンドオーバー通知を受信した際の動作について説明する。このとき、
図9(B)に示すように、まず、ハンドオーバー通知に含まれるハンドオーバー先の通信経路の可用帯域を取得する(ST211)。次に、現時点の可用帯域から想定されるパケットロス率およびパケットロス周期Tを取得する(ST212)。そして、連続受信パケット数C0のカウンタと、実連続受信パケット数C1のカウンタとの両方に、パケットロス周期Tをセットする(ST213)。
【0129】
このようにハンドオーバー直後には、過渡状態であるため、パケットロスの実際の発生状況に関係なく、通信制御装置3から通知された可用帯域から想定される値をカウンタにセットする。
【0130】
なお、システム起動時も、
図9(B)に示すハンドオーバー通知受信時と同様である。
【0131】
次に、映像受信装置2から送信される状態監視パケットを通信部12で受信した際の動作について説明する。このとき、
図10に示すように、まず、状態監視パケットに含まれる通信状態情報、すなわち、受信パケット数Rおよびパケットロス検出数Lを取得する(ST221)。次に、可用帯域の推定値を取得する(ST222)。そして、可用帯域から想定される想定パケットロス率および想定パケットロス周期Tを取得する(ST223)。
【0132】
次に、パケットロス検出数Lが正数である否か、すなわち、パケットロスがあるか否かを判定する(ST224)。
【0133】
ここで、パケットロスがない場合には(ST224でNo)、次に、連続受信パケット数C0のカウンタに、連続受信パケット数C0に受信パケット数Rを加算した値をセットする。また、実連続受信パケット数C1のカウンタに、実連続受信パケット数C1に受信パケット数Rを加算した値をセットする(ST225)。
【0134】
次に、パケットロス検出数Lを可用帯域推定部24に通知する(ST226)。これにより、可用帯域推定部24において、パケットロス検出数Lを用いて可用帯域の推定の計算が行われる。
【0135】
一方、パケットロスがある場合には(ST224でYes)、次に、ランダムロス検出回数C2のカウンタに、ランダムロス検出回数C2にパケットロス検出数Lを加算した値をセットする(ST227)。
【0136】
次に、タイマーの計時を開始する(ST228)。
【0137】
そして、前回のタイマー値(前回のパケットロス検出からの経過時間)、すなわち、パケットロスの発生間隔が、所定のしきい値(例えば60sec)を超えるか否かを判定する(ST229)。
【0138】
ここで、前回のタイマー値がしきい値以下である場合には(ST229でNo)、次に、実連続受信パケット数C1が所定のしきい値(例えば100,000)を超えるか否かを判定する(ST230)。このしきい値は、通信経路で想定されるパケットロス率に基づいて設定される。
【0139】
ここで、C1がしきい値以下である場合には(ST230でNo)、次に、連続受信パケット数C0が、ランダムロス検出回数C2に、現時点の推定帯域から求められる想定パケットロス周期Tを乗算した値(C2×T)を超えるか否かを判定する(ST231)。
【0140】
ここで、連続受信パケット数C0が値(C2×T)を超える場合には(ST231でNo)、輻輳ロスと判定して、連続受信パケット数C0のカウンタと、実連続受信パケット数C1のカウンタとの両方をクリア(初期化)し、連続受信パケット数C0および実連続受信パケット数C1を、RTCP−RRの受信パケット数Rとする。また、ランダムロス検出回数C2のカウンタをクリアし、ランダムロス検出回数C2を0とする(ST232)。そして、パケットロス検出数Lを可用帯域推定部24に通知する(ST226)。
【0141】
一方、前回のタイマー値がしきい値を超える場合(ST2229でYes)、また、実連続受信パケット数C1がしきい値以下である場合(ST230でYes)、また、連続受信パケット数C0が、C2×T以下である場合には(ST231でYes)、ランダムロスと判定して、実連続受信パケット数C1のカウンタのみをクリア(初期化)して、実連続受信パケット数C1のカウンタに、状態監視パケット(RTCP−RR)で取得した受信パケット数Rをセットする。すなわち、パケットロスが検出されなかったものとする。また、連続受信パケット数C0のカウンタに、連続受信パケット数C0に受信パケット数Rを加算した値をセットする。また、パケットロス検出数Lを0とする(ST233)。そして、パケットロス検出数Lを可用帯域推定部24に通知する(ST226)。
【0142】
このような制御により、本実施形態では、経路切り替えにより可用帯域が大幅に増大した場合には、可用帯域の有効利用を図ることができ、符号量が増大することで映像の品質向上を図ることができる。一方、経路切り替えにより可用帯域が大幅に減少した場合には、輻輳を速やかに回避して遅延時間の増大を抑制し、また、パケットロスの発生が抑制されるため、映像の品質向上を図ることができる。
【0143】
(第2実施形態)
次に、第2実施形態について説明する。なお、ここで特に言及しない点は前記の実施形態と同様である。
【0144】
第1実施形態では、TFRCで規定された方式にしたがって可用帯域の推定を行うようにしたが、本実施形態では、BCC(Binomial Congestion Control Algorithms)で規定された方式にしたがって可用帯域の推定を行う。
【0145】
BCCの標準方式では、過去の通信状態の履歴情報として、直前(過去)の可用帯域wを記憶する。そして、パケットロスがない場合には、所定時間経過後、次式(帯域計算式)のように、加算的に可用帯域wを増やす。
w←w+α÷w^k(α>0)
一方、パケットロスがある場合には、パケットロス検出時に即、次式のように、乗算的に可用帯域wを減らす。
w←w−(1−β)×w^l(0<β<1)
ここで、係数k,lは種々の組み合わせがある。
【0146】
本実施形態では、ハンドオーバー通知(経路切替通知)を受信した際に、記憶部に記憶されている直前(過去)の可用帯域w(履歴情報)を廃棄し、通信制御装置3から通知される可用帯域w0を用いる。すなわち、w←w+α÷w^kではなく、w←w0とする。
【0147】
また、本実施形態では、第1実施形態と同様に、通常状態から過渡状態への状態遷移を、ハンドオーバーの実施をトリガーとして行う。一方、過渡状態から通常状態への状態遷移は、パケットロスの検出結果を用いずに、タイマーのみで制御する。
【0148】
また、本実施形態では、通常状態と過渡状態とで係数k,l(パラメータ)を変更する。具体的には、通常状態では、安定的なIIAD(Inverse-Increase/Additive Decrease)となる係数(k,l)=(1,0)とし、ハンドオーバー直後の過渡状態では、収束の早いAIMD(Additive-Increase/Multiplicative-Decrease)となる係数(k,l)=(0,1)とする。また、ハンドオーバーから一定時間経過後の過渡状態では、比較的安定していて収束が早いSQRTとなる係数(k,l)=(1/2,1/2)とする。そして、所定時間が経過すると、通常状態に復帰させる。
【0149】
以上のように、本出願において開示する技術の例示として、実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施形態にも適用できる。また、上記の実施形態で説明した各構成要素を組み合わせて、新たな実施形態とすることも可能である。
【解決手段】記憶部に記憶された過去の通信状態に関する履歴情報に基づいて現在の可用帯域を推定して、映像を符号化する際の符号量を制御し、通信経路の切り替え(ハンドオーバー)が発生すると、切り替え先の通信経路に対応する可用帯域の暫定値を取得し、この可用帯域の暫定値に基づいて、新たな通信状態情報を生成し、記憶部に記憶された履歴情報を新たな通信状態情報に置き換えて、置き換え後の履歴情報に基づいて可用帯域を推定する。