説明

送信レート制御方法および通信装置

【課題】無線環境を含むネットワーク上でのストリーミング伝送において、伝送遅延およびパケットロスを抑制可能な、送信レート制御方法を提供する。
【解決手段】直近の送信レートRSNDt−1でデータを受信装置に送信し、データの受信レートRRCVを含むRTCPパケットを受信装置から受信し、ネットワークが輻輳状態にある場合、またはネットワークが非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより高い場合に、受信レートRRCVの長期EWMAとして受信達成レートRARを算出し、ネットワークが非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより低い場合、またはRTCPパケットのタイムアウトが生じている場合に、受信レートRRCVの短期EWMAとして受信達成レートRARを算出し、受信達成レートRARに基づいて、送信レートRSNDを設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、送信レート制御方法および通信装置に関する。
【背景技術】
【0002】
パケット交換方式のストリーミング配信システムでは、サーバー側からクライアント側へ映像、音声等のデータをダウンロードし、バッファリングした後に再生することで、ほぼリアルタイムのストリーミング配信が実現されている。しかし、ビデオ会議システム等、リアルタイム性が重視されるシステムでは、バッファリングによる再生遅延を回避するために、ネットワーク状況に応じてサーバー側で送信レートを調整してパケットロスを防止することになる。
【0003】
パケット交換方式のネットワーク上でエンドツーエンドの通信を行う場合に、トランスポート層で伝送レートを制御するためにTCP(Transport Control Protocol)が利用される。しかし、TCPは、伝送レートの変動が大きく、また自動再送が半無限的に行われるので、リアルタイムのストリーミング配信には適していない。
【0004】
このため、リアルタイムのストリーミング配信には、UDP(User Datagram Protocol)が主に利用される。UDPは、TFRC(TCP Friendly Rate Control)、RAP(Rate Adaptive Protocol)、DVRC(Dynamic Video Rate Control)等のレート制御方法を用いる。
【0005】
しかし、これらのレート制御方法は、TCPと同様にAIMD(additive−increase and multiplicative−decrease)に基づいている。このため、無線環境を含むネットワークでは、ネットワーク帯域の変動に応じて、レートの変動が大きくなり、レートの急激な増加によりパケットロスが発生し易くなるという問題がある。そして、パケットロスは、映像のコマ落ちや乱れ、音声の途切れ等の原因となり、通信品質を著しく低下させてしまう。
【0006】
一方、レートの変動が小さいレート制御方法として、例えば下記非特許文献1等に記載されているVTP(Video Transport Protocol)が知られている。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】G. Yang, M. Gerla, and M. Y. Sanadidi, “Adaptive video streaming in presence of wirelesserrors,” Proc of the IPIF/IEEE MMNS Conference, Springer Verlag,San Diego, California, 2004.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、VTPは、レートの急激な減少に対する追従性が低いので、パケットロスが発生し易くなるという問題がある。このため、レートの変動が小さいVTPを基準として、無線環境を含むネットワークでも伝送遅延およびパケットロスを抑制可能なレート制御方法が望まれている。
【0009】
そこで、本発明は、無線環境を含むネットワーク上でのストリーミング伝送において、伝送遅延およびパケットロスを抑制可能な、送信レート制御方法および通信装置を提供しようとするものである。
【課題を解決するための手段】
【0010】
本発明のある観点によれば、無線環境を含むネットワーク上でのストリーミング伝送において、直近の送信レートRSNDt−1でデータを受信装置に送信し、データの受信レートRRCVを含むRTCPパケットを受信装置から受信するステップと、ネットワークが輻輳状態にある場合、またはネットワークが非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより高い場合に、受信レートRRCVの長期EWMA(指数加重移動平均)として受信達成レートRARを算出し、ネットワークが非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより低い場合、またはRTCPパケットのタイムアウトが生じている場合に、受信レートRRCVの短期EWMAとして受信達成レートRARを算出するステップと、受信達成レートRARに基づいて、送信レートRSNDを設定するステップと、を含む送信レート制御方法が提供される。
【0011】
かかる方法によれば、ネットワーク状況に応じて受信レートの長期EWMAまたは短期EWMAとして算出された受信達成レートに基づいて、送信レートが設定される。これにより、無線環境を含むネットワーク上でのストリーミング伝送において、ネットワーク状況に対する送信レートの追従性を高め、伝送遅延およびパケットロスを抑制することができる。
【0012】
ここで、上記受信達成レートRARを算出するステップにおいて、次式で表される受信レートRRCVの長期EWMAまたは短期EWMAとして受信達成レートRARを算出してもよい。
受信レートRRCVの長期EWMAとして算出する場合:
AR←α・RARt−1+(1−α)・RRCV
受信レートRRCVの短期EWMAとして算出する場合:
AR←α・RARt−1+(1−α)・RRCV
ここで、0<α<α<1
【0013】
ここで、上記送信レートRSNDを設定するステップにおいて、送信レートRSNDを次式により設定してもよい。
ネットワークが非輻輳状態にある場合:
SND←(RRCV・RTT+1)/(RTT+ΔRTT)
SND←β・RSND+(1−β)・RAR
さらに、RSND>制限レートRLRの場合に、RSND←RLR
ネットワークが輻輳状態にある場合:
SND←γ・RAR
さらに、RSND>RRCVの場合に、RSND←RRCV
SND´←(RRCV・RTT+1)/(RTT+ΔRTT)
さらに、RSND´<RSNDの場合に、RSND←(RSND´+RSND)/2
ここで、RTTおよびRTTt−1:最新のRTTおよび直近のRTT、ΔRTT:RTTの変動(RTT−RTTt−1)、RLR:RSNDの上限を規定する制限レート、RSND´:仮の送信レート、0<β<1、0<γ<1
【0014】
ここで、上記制限レートRLRを次式により算出してもよい。
SNDt−1<RMAXの場合:
LR←RSNDt−1+αLR・(RMAX−RSNDt−1)+ΔRMIN
SNDt−1≧RMAXの場合:
LR←RSNDt−1+ΔRMIN
ここで、RSNDt−1:直近の送信レート、RMAX:現在の通信接続での最大送信レート、ΔRMIN:最小増加制限レート(定数、ΔRMIN≧0)、0<αLR<1
【0015】
また、上記送信レート制御方法では、RTTがRTTSTART以下の状態からRTTSTARTを超える状態に変化した場合、またはパケットロスが発生した場合に、ネットワークが輻輳状態へ移行したと判定し、
RTTがRTTEND以上の状態からRTTEND未満の状態に変化し、かつSRTT/LRTT<αである場合に、ネットワークが非輻輳状態へ移行したと判定し、
さらに、ネットワークが非輻輳状態へ移行したと判定した場合でも、ネットワークが輻輳状態へ移行した時点から次式で表される輻輳状態継続期間Δτ中は、ネットワークの輻輳状態が継続しているとみなすステップをさらに含んでもよい。
Δτ←μ・(RTTMAX−RTTMIN)/(2・(1−γ))
ここで、RTT:最新のRTT、RTTSTARTおよびRTTEND:Spike法により定義される輻輳状態へ移行時のRTTおよび非輻輳状態へ移行時のRTT、SRTTおよびLRTT:RTTの短期EWMAおよび長期EWMA、α>1、0<γ<1、μ<1
【0016】
また、本発明の他の観点によれば、無線環境を含むネットワーク上でのストリーミング伝送において、直近の送信レートRSNDt−1でデータを受信装置に送信し、データの受信レートRRCVを含むRTCPパケットを受信装置から受信する通信処理部と、ネットワークが輻輳状態にある場合、またはネットワークが非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより高い場合に、受信レートRRCVの長期EWMA(指数加重移動平均)として受信達成レートRARを算出し、ネットワークが非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより低い場合、またはRTCPパケットのタイムアウトが生じている場合に、受信レートRRCVの短期EWMAとして受信達成レートRARを算出する受信達成レート算出部と、受信達成レートRARに基づいて、送信レートRSNDを設定する送信レート設定部と、を備える通信装置が提供される。
【発明の効果】
【0017】
以上説明したように本発明によれば、無線環境を含むネットワーク上でのストリーミング伝送において、伝送遅延およびパケットロスを抑制可能な、送信レート制御方法および通信装置を提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の実施形態に係る通信システムの構成を示す図である。
【図2】ネットワークの輻輳状態に応じた送信レート制御を示す概念図である。
【図3】送信装置の主要な機能構成を示すブロック図である。
【図4】本発明の実施形態に係る送信レート制御方法を示すフロー図である。
【図5】Spike法による輻輳状態の判定方法を示す図である。
【図6】制限レートの設定方法を示す図である。
【発明を実施するための形態】
【0019】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0020】
[1.通信システムの構成]
図1は、本発明の実施形態に係る通信システム1の構成を示す図である。通信システム1は、無線環境を含むパケット交換方式のネットワーク30を介してデータパケットを送受信する送信装置10および受信装置20を含む。ネットワーク30は、インターネット、イントラネット、エクストラネット、衛星回線等であり、少なくとも一部に無線環境を含む。送信装置10および受信装置20は、サーバー、パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話等の情報処理装置である。
【0021】
送信装置10は、映像、音声等のデータを符号化し、パケット化して所定の送信レートで受信装置20に送信する。受信装置20は、データを復号化して再生するとともに、フィードバックパケット(RTCPパケット)を送信装置10に所定の周期で送信する。RTCPパケットには、RTT(Round Trip Time)、受信レート、パケットロス率の情報が含まれる。送信装置10は、RTCPパケットに含まれる情報からネットワーク30状況を推定し、データの符号化レートを調整し、送信レートをリアルタイムに制御する。
【0022】
図2は、ネットワーク30の輻輳状態に応じた送信レート制御を示す概念図である。図2には、ネットワーク帯域、RTTおよび送信レートの時系列分布が示されている。ネットワーク30は、ネットワーク帯域の減少に応じてRTTがある程度まで増加した場合に輻輳状態に移行し、ネットワーク帯域の増加に応じてRTTがある程度まで減少した場合に非輻輳状態に移行する。そして、送信レートは、ネットワーク30が輻輳状態にある場合に、RTTの減少に応じて増加し、RTTの増加に応じて減少するように制御される。また、送信レートは、ネットワーク30が非輻輳状態にある場合に、一定時間に亘って抑制されて受信レート以下に設定され、RTTの増加に応じて減少するように制御される。
【0023】
図3は、送信装置10の主要な機能構成を示すブロック図である。送信装置10は、通信制御部11、通信処理部13および記憶部15を含む。通信制御部11は、後述する送信レートの制御方法を実施するために、ハードウェアおよび/またはソフトウェアにより実現される。
【0024】
通信制御部11は、RTCPパケットに含まれる情報に基づいて、ネットワーク30の輻輳状態の判定、送信レートの設定等を行う。通信制御部11は、輻輳状態判定部、受信達成レート算出部、制限レート算出部、送信レート設定部等として機能する。通信処理部13は、映像、音声等のデータを符号化した上でパケット化し、ネットワーク30を介して所定の送信レートで受信装置20に送信するとともに、RTCPパケットを所定の周期で受信装置20から受信する。記憶部15は、RTCPパケットに含まれる情報、制御方法を実施するために用いるパラメータ、および制御方法の結果等を記憶している。
【0025】
[2.送信レートの制御方法]
図4は、本発明の実施形態に係る送信レートの制御方法を示すフロー図である。送信装置10は、RTCPパケットを受信し(ステップS11)、RTCPパケットに含まれる情報を用いてネットワーク30の輻輳状態を判定する(S13)。ネットワーク30が輻輳状態にある場合に、送信装置10は、受信達成レートRAR、制限レートRLR等のパラメータを算出し(S15)、輻輳状態の送信レートRSNDを設定するとともに(S17)、輻輳状態継続期間Δτを設定する(S19)。一方、ネットワーク30が非輻輳状態にある場合に、送信装置10は、パラメータを算出し(S21)、非輻輳状態の送信レートRSNDを設定する(S23)。以下では、各処理の詳細について説明する。
【0026】
[2−1.RTCPパケットの受信]
通信処理部13は、パケットを受信装置20に送信するとともに、RTCPパケットを受信装置20から所定の周期で受信する。RTCPパケットには、RTT、受信レート、パケットロス率の情報が含まれる。通信制御部11は、RTCPパケットに含まれる情報のうち所定の情報を記憶部15に格納する。RTCPパケットの周期は、通信システム1の利用環境に応じて適切に設定される。周期が短いほど、通信制御部11によるレート制御の精度が向上するが、ネットワーク帯域や処理リソースが消費されてしまう。
【0027】
[2−2.輻輳状態の判定]
通信制御部11は、RTCPパケットに含まれる情報に基づいて、RTTの変動およびパケットロスの発生を検出することで、ネットワーク30の輻輳状態を判定する。
【0028】
輻輳状態の判定では、LDA(Loss Discrimination Algorithm)の一種であるSpike法、およびShortRTT/LongRTT(SRTT/LRTT)法が利用される。
【0029】
Spike法は、RTTの最新値RTT、現在の通信接続でのRTTの最大値RTTMAXおよび最小値RTTMINに基づいて、ネットワーク30の輻輳状態を判定する方法である。図5に示すように、Spike法では、輻輳状態への移行点RTTSTARTおよび非輻輳状態への移行点RTTENDが次式により定義される。
【0030】
RTTSTART←αSTART・(RTTMAX−RTTMIN)+RTTMIN・・・(式1)
RTTEND ←αEND ・(RTTMAX−RTTMIN)+RTTMIN・・・(式2)
ここで、RTTSTART:輻輳状態への移行点
RTTEND:非輻輳状態への移行点
RTT:RTTの最新値
RTTMAX:現在の通信接続でのRTTの最大値
RTTMIN:現在の通信接続でのRTTの最小値
αSTART、αEND:パラメータ
(αEND<αSTART、例えば、αEND=0.3、αSTART=0.5)
【0031】
Spike法では、RTTがRTTSTART以下の状態からRTTSTARTを超える状態に変化した時点で、ネットワーク30が輻輳状態に移行したと判定され、RTTがRTTEND以上の状態からRTTEND未満の状態に変化した時点で、ネットワーク30が非輻輳状態に移行した(輻輳状態が解除された)と判定される。
【0032】
SRTT/LRTT法は、RTTの短期EWMA(指数加重移動平均)であるSRTTおよび長期EWMAであるLRTTに基づいて、RTTの変動状況を判定する方法である。
【0033】
SRTT/LRTT法では、RTTの短期EWMAと長期EWMAの比であるSRTT/LRTTがα(α>1:例えばα=1.4)以上の場合に、RTTが増加傾向にあると判定され、SRTT/LRTTがα未満の場合に、RTTが減少傾向にあると判定される。
【0034】
通信制御部11は、現在の通信接続でのRTTを統計処理してRTTの最大値および最小値RTTMAX、RTTMINを求め、所定のパラメータαSTART、αENDを用いて、輻輳状態および非輻輳状態への移行点RTTSTART、RTTENDを算出する。そして、通信制御部11は、最新のRTCPパケットに含まれるRTTをRTTSTART、RTTENDと比較することで、ネットワーク30の輻輳状態を一次的に判定する。
【0035】
通信制御部11は、現在の通信接続でのRTTを統計処理して、短期EWMAおよび長期EWMAであるSRTTおよびLRTTを求め、所定のパラメータαと比較することで、RTTの変動状況を判定する。また、通信制御部11は、最新のRTCPパケットに含まれるパケットロス率に基づいて、パケットロスの発生を判定する。
【0036】
そして、通信制御部11は、最新のRTTがRTTSTART以下の状態からRTTSTARTを超える状態に変化した場合、またはパケットロスが発生した場合に、ネットワーク30が輻輳状態へ移行したと判定する。この場合に、通信制御部11は、輻輳状態継続期間Δτを次式により算出し、輻輳状態への移行時点を示す時間情報とともに記憶部15に格納する。
【0037】
Δτ←μ・(RTTMAX−RTTMIN)/(2・(1−γ))・・・(式3)
ここで、Δτ:輻輳状態継続期間
RTTMAX:現在の通信接続でのRTTの最大値
RTTMIN:現在の通信接続でのRTTの最小値
μ、γ:パラメータ
(μ<1、0<γ<1、例えば、μ=0.8、γ=0.96)
【0038】
一方、通信制御部11は、RTTがRTTEND以上の状態からRTTEND未満の状態に変化し、かつSRTT/LRTT<αである場合に、ネットワーク30が非輻輳状態へ移行した(輻輳状態が解除された)と判定する。そして、通信制御部11は、輻輳状態への移行時点から経過した期間Tを、輻輳状態継続期間Δτと比較し、T>Δτの場合には非輻輳状態へ移行したと判定し、T≦Δτの場合には輻輳状態が継続していると判定する。
【0039】
VTPでは、Spike法を用いて、RTTとRTTSTARTの比較結果に応じて、輻輳状態への移行を判定し、RTTとRTTENDの比較結果に応じて、非輻輳状態への移行を判定している。一方、本実施形態では、RTTの現在状況とともにパケットロスの発生状況も考慮しているので、RTTの現在状況から輻輳状態への移行を適切に判定できない場合でも、パケットロスの発生状況から確実に判定することができる。また、RTTの現在状況とともにRTTの変動状況も考慮しているので、RTTの現在状況のみから非輻輳状態への移行を適切に判定できない場合でも、RTTの変動状況から非輻輳状態への移行を確実に判定することができる。
【0040】
VTPでは、ネットワーク30が輻輳状態に移行すると、TCPと同程度のレート低下が生じるように、次式により設定される輻輳状態継続期間Δτ´に亘って、送信レートを一定量減少させる。
Δτ´←μ・RTTMAX/(2・(1−γ))・・・(式3´)
【0041】
ここで、式3´では、Δτ´がRTTMAXに比例するように算出される。よって、RTTMAXが大きいと、RTTの変動が小さい場合でも、Δτ´が大きく算出されてしまうので、非輻輳状態への移行を遅れて判定してしまうという問題がある。このため、本実施形態では、式3に示すように、ΔτがRTTの変動(RTTMAX−RTTMIN)に比例するように算出される。よって、RTTMAXが大きくても、ΔτがRTTの変動に応じて算出されるので、非輻輳状態への移行を適切に判定することができる。
【0042】
なお、本実施形態に係る送信レートの制御方法は、ネットワーク30が輻輳状態になると、VTPのように送信レートRSNDを一定量減少させるものではなく、送信レートRSNDを受信レートRRCV未満に減少させたり、RTTの増加に応じて減少させたりするものである。このため、ΔτがVTPのΔτ´より小さく設定されても問題ない。
【0043】
[2−3.各種パラメータの算出]
通信制御部11は、最新の送信レートRSNDを設定するために、RTCPパケットに含まれる情報に基づいて、受信達成レートRARおよび制限レートRLRを算出する。
【0044】
(受信達成レートRAR
最新の受信達成レートRARは、ネットワーク状況に応じて、受信レートRRCVの長期EWMAまたは短期EWMAとして算出される。ここで、受信達成レートRARは、受信装置20がパケットを実際に受信したレートであり、送信装置10がボトルネックに送出することのできたレートを意味している。
【0045】
ネットワーク30が輻輳状態にある場合、またはネットワーク30が非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより高い場合に、式4により受信レートRRCVの長期EWMAとして最新の受信達成レートRARが算出される。一方、ネットワーク30が非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより低い場合、またはRTCPパケットのタイムアウトが生じている場合に、式5により受信レートRRCVの短期EWMAとして最新の受信達成レートRARが算出される。
【0046】
長期EWMAとして算出する場合:
AR←α・RARt−1+(1−α)・RRCV・・・(式4)
短期EWMAとして算出する場合:
AR←α・RARt−1+(1−α)・RRCV・・・(式5)
ここで、RAR:最新の受信達成レート
ARt−1:直近の受信達成レート
RCV:最新の受信レート
α、α:パラメータ(0<α<α<1)
【0047】
通信制御部11は、直近の受信達成レートRARt−1、最新の受信レートRRCV、および所定のパラメータα、αを用いて、最新の受信達成レートRARを算出して記憶部15に格納する。
【0048】
ネットワーク30が輻輳状態にある場合には、送信レートRSNDが受信達成レートRARより低く抑制されるが、非輻輳状態に移行した直後は、輻輳状態に移行する前のレートまで送信レートRSNDを素早く増加させることが望ましい。また、送信レートRSNDは、受信達成レートRARの増加に応じて増加する。このため、輻輳状態では受信達成レートRARが送信レートRSND(=受信レートRRCV)に合わせて減少しないようにすることが望ましいので、最新の受信達成レートRARを長期EWMAとして算出する。
【0049】
また、ネットワーク30が非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより高い場合には、RTTが大きくならずパケットロスが発生しない一時的なレート低下が発生していると判断される。このため、一時的なレート低下に応じて受信達成レートRARが大きく変動しないようにすることが望ましいので、最新の受信達成レートRARを長期EWMAとして算出する。
【0050】
ネットワーク30が非輻輳状態にあり直近の受信達成レートRARt−1が受信レートRRCVより低い場合には、レート制御された送信レートRSNDt−1に受信レートRRCVが追従し、受信レートRRCVが過去の受信レートRRCVより高くなっている。また、ネットワーク状況が良好であり、過去の受信レートRRCVに影響されずに送信レートRSNDを増加させることが望ましいので、最新の受信達成レートRARを短期EWMAとして算出する。
【0051】
また、RTCPパケットのタイムアウトが生じている場合には、RTCPパケットを一定時間内に受信できず、ネットワーク30が極めて輻輳している状態にあると判断される。よって、送信レートRSNDを素早く減少させるとともに、受信達成レートRARを抑制するために、最新の受信達成レートRARを短期EWMAとして算出する。
【0052】
VTPでは、最新の受信達成レートRARを受信レートRRCVのEWMAとして一律に算出している。一方、本実施形態では、ネットワーク状況に応じて受信レートRRCVの長期EWMAまたは短期EWMAとして算出された最新の受信達成レートRARに基づいて、最新の送信レートRSNDが設定される。これにより、無線環境を含むネットワーク30上でリアルタイムのストリーミング伝送を行う場合でも、ネットワーク状況に対する送信レートRSNDの追従性を高め、伝送遅延およびパケットロスを抑制することができる。
【0053】
(制限レートRLR
制限レートRLRは、直近の送信レートRSNDt−1と現在の通信接続での最大送信レートRMAXの大小関係に応じて2通りに算出される。ここで、制限レートRLRは、最新の送信レートRSNDの上限値を規定するために、次式により算出される。
【0054】
SNDt−1<RMAXの場合:
LR←RSNDt−1+αLR・(RMAX−RSNDt−1)+ΔRMIN・・・(式6)
SNDt−1≧RMAXの場合:
LR←RSNDt−1+ΔRMIN・・・(式7)
ここで、RLR:制限レート
SNDt−1:直近の送信レート
MAX:現在の通信接続での最大送信レート
ΔRMIN:最小増加制限レート(定数、ΔRMIN≧0)
αLR:パラメータ(0<αLR<1)
【0055】
通信制御部11は、現在の通信接続での送信レートRSNDを統計処理して最大送信レートRMAXを求め、所定のパラメータΔRMINを用いて、制限レートRLRを算出して記憶部15に格納する。ここで、パラメータΔRMINは、許容可能なレートの増加を意味する。
【0056】
図6に示すように、制限レートRLRにより最新の送信レートRSNDを規定することで、直近の送信レートRSNDt−1が低い場合には、最大送信レートRMAXまで最新の送信レートRSNDを素早く増加させ、直近の送信レートRSNDt−1が高い場合には、ゆっくりと増加させることができる。
【0057】
[2−4.送信レートの設定]
通信制御部11は、先に算出された受信達成レートRARおよび制限レートRLRを用いて、ネットワーク30の輻輳状態に応じて、最新の送信レートRSNDを設定する。最新の送信レートRSNDは、次式で表される。
【0058】
ネットワーク30が非輻輳状態にある場合:
SND←(RRCV・RTT+1)/(RTT+ΔRTT)・・・(式8)
SND←β・RSND+(1−β)・RAR・・・(式9)
さらに、RSND>RLRの場合に、
SND←RLR・・・(式10)
ネットワーク30が輻輳状態にある場合:
SND←γ・RAR・・・(式11)
さらに、RSND>RRCVの場合に、
SND←RRCV・・・(式12)
SND´←(RRCV・RTT+1)/(RTT+ΔRTT)・・・(式13)
さらに、RSND´<RSNDの場合に、
SND←(RSND´+RSND)/2・・・(式14)
ここで、RSND:最新の送信レート
RCV:最新の受信レート
RTT:最新のRTT
RTTt−1:直近のRTT
ΔRTT:RTTの変動(=RTT−RTTt−1
AR:最新の受信達成レート
LR:制限レート
SND´:仮の送信レート
β、γ:パラメータ
(0<β<1、0<γ<1、例えば、β=0.7)
【0059】
通信制御部11は、RTTを統計処理してΔRTTを求め、所定のパラメータβ、γを用いて、最新の送信レートRSNDを設定して記憶部15に格納する。
【0060】
ネットワーク30が非輻輳状態にある場合に、通信制御部11は、最新の送信レートRSNDを式8により設定する。式8によって、RTTが増加傾向にある場合に送信レートRSNDが減少し、RTTが減少傾向にある場合に送信レートRSNDが増加する。そして、通信制御部11は、送信レートRSNDを式9により再設定し、再設定された送信レートRSNDが制限レートRLRを超える場合に、式10により最新の送信レートRSNDを上限値(制限レートRLR)に規定する。
【0061】
一方、ネットワーク30が輻輳状態にある場合に、通信制御部11は、式11により最新の送信レートRSNDを、輻輳状態に移行する前の受信達成レートRARから一定量減少させたレートに設定する。そして、通信制御部11は、設定された送信レートRSNDが最新の受信レートRRCVを超える場合に、式12により最新の送信レートRSNDを最新の受信レートRRCVに設定する。さらに、通信制御部11は、式13により仮の送信レートRSND´を算出し、仮の送信レートRSND´が式11または式12により設定された送信レートRSNDを超える場合に、式14により最新の送信レートRSNDを再設定する。
【0062】
式8、12では、最新の受信レートRRCVを用いて、最新の送信レートRSNDを設定している。一方、VTPでは、最新の受信レートRRCVの代わりに直近の送信レートRSNDt−1を用いて、最新の送信レートRSNDを設定している。このため、本実施形態では、受信レートRRCVの減少に、送信レートRSNDを素早く追従させることで、パケットロスの発生やRTTの増加を回避することができる。
【0063】
また、通信制御部11は、通信処理部13がRTCPパケットを受信装置20から所定の周期内(例えば4周期)に受信できない場合に、送信レートRSNDを指数関数的に減少させる。
【0064】
[3.まとめ]
以上説明したように本実施形態に係る送信レート制御方法によれば、ネットワーク状況に応じて受信レートRRCVの長期EWMAまたは短期EWMAとして算出された最新の受信達成レートRARに基づいて、最新の送信レートRSNDが設定される。これにより、無線環境を含むネットワーク30上でのストリーミング伝送において、ネットワーク状況に対する送信レートRSNDの追従性を高め、伝送遅延およびパケットロスを抑制することができる。
【0065】
また、本実施形態に係る送信レート制御方法によれば、トランスポート層より下位の情報を利用せずに、受信装置20から送信装置10にエンドツーエンドでフィードバックを行うことで、ハードウェアに対する依存性の少ない送信レート制御を実現することができる。
【0066】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0067】
1 通信システム
10 送信装置
20 受信装置
30 ネットワーク
11 通信制御部
13 通信処理部
15 記憶部

【特許請求の範囲】
【請求項1】
無線環境を含むネットワーク上でのストリーミング伝送において、直近の送信レートRSNDt−1でデータを受信装置に送信し、前記データの受信レートRRCVを含むRTCPパケットを前記受信装置から受信するステップと、
前記ネットワークが輻輳状態にある場合、または前記ネットワークが非輻輳状態にあり直近の受信達成レートRARt−1が前記受信レートRRCVより高い場合に、前記受信レートRRCVの長期EWMA(指数加重移動平均)として受信達成レートRARを算出し、
前記ネットワークが非輻輳状態にあり前記直近の受信達成レートRARt−1が前記受信レートRRCVより低い場合、またはRTCPパケットのタイムアウトが生じている場合に、前記受信レートRRCVの短期EWMAとして前記受信達成レートRARを算出するステップと、
前記受信達成レートRARに基づいて、送信レートRSNDを設定するステップと、
を含む送信レート制御方法。
【請求項2】
前記受信達成レートRARを算出するステップにおいて、次式で表される前記受信レートRRCVの長期EWMAまたは短期EWMAとして前記受信達成レートRARを算出する、請求項1に記載の送信レート制御方法。
前記受信レートRRCVの長期EWMAとして算出する場合:
AR←α・RARt−1+(1−α)・RRCV
前記受信レートRRCVの短期EWMAとして算出する場合:
AR←α・RARt−1+(1−α)・RRCV
ここで、0<α<α<1
【請求項3】
前記送信レートRSNDを設定するステップにおいて、前記送信レートRSNDを次式により設定する、請求項1または2に記載の送信レート制御方法。
前記ネットワークが非輻輳状態にある場合:
SND←(RRCV・RTT+1)/(RTT+ΔRTT)
SND←β・RSND+(1−β)・RAR
さらに、RSND>制限レートRLRの場合に、RSND←RLR
前記ネットワークが輻輳状態にある場合:
SND←γ・RAR
さらに、RSND>RRCVの場合に、RSND←RRCV
SND´←(RRCV・RTT+1)/(RTT+ΔRTT)
さらに、RSND´<RSNDの場合に、RSND←(RSND´+RSND)/2
ここで、RTTおよびRTTt−1:最新のRTTおよび直近のRTT、ΔRTT:RTTの変動(RTT−RTTt−1)、RLR:RSNDの上限を規定する制限レート、RSND´:仮の送信レート、0<β<1、0<γ<1
【請求項4】
前記制限レートRLRを次式により算出する、請求項3に記載の送信レート制御方法。
SNDt−1<RMAXの場合:
LR←RSNDt−1+αLR・(RMAX−RSNDt−1)+ΔRMIN
SNDt−1≧RMAXの場合:
LR←RSNDt−1+ΔRMIN
ここで、RSNDt−1:直近の送信レート、RMAX:現在の通信接続での最大送信レート、ΔRMIN:最小増加制限レート(定数、ΔRMIN≧0)、0<αLR<1
【請求項5】
RTTがRTTSTART以下の状態からRTTSTARTを超える状態に変化した場合、またはパケットロスが発生した場合に、前記ネットワークが輻輳状態へ移行したと判定し、
RTTがRTTEND以上の状態からRTTEND未満の状態に変化し、かつSRTT/LRTT<αである場合に、前記ネットワークが非輻輳状態へ移行したと判定し、
さらに、前記ネットワークが非輻輳状態へ移行したと判定した場合でも、前記ネットワークが輻輳状態へ移行した時点から次式で表される輻輳状態継続期間Δτ中は、前記ネットワークの輻輳状態が継続しているとみなすステップをさらに含む、請求項1に記載の送信レート制御方法。
Δτ←μ・(RTTMAX−RTTMIN)/(2・(1−γ))
ここで、RTT:最新のRTT、RTTSTARTおよびRTTEND:Spike法により定義される輻輳状態へ移行時のRTTおよび非輻輳状態へ移行時のRTT、SRTTおよびLRTT:RTTの短期EWMAおよび長期EWMA、α>1、0<γ<1、μ<1
【請求項6】
無線環境を含むネットワーク上でのストリーミング伝送において、直近の送信レートRSNDt−1でデータを受信装置に送信し、前記データの受信レートRRCVを含むRTCPパケットを前記受信装置から受信する通信処理部と、
前記ネットワークが輻輳状態にある場合、または前記ネットワークが非輻輳状態にあり直近の受信達成レートRARt−1が前記受信レートRRCVより高い場合に、前記受信レートRRCVの長期EWMA(指数加重移動平均)として受信達成レートRARを算出し、前記ネットワークが非輻輳状態にあり前記直近の受信達成レートRARt−1が前記受信レートRRCVより低い場合、またはRTCPパケットのタイムアウトが生じている場合に、前記受信レートRRCVの短期EWMAとして前記受信達成レートRARを算出する受信達成レート算出部と、
前記受信達成レートRARに基づいて、送信レートRSNDを設定する送信レート設定部と、
を備える通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−35442(P2011−35442A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−176689(P2009−176689)
【出願日】平成21年7月29日(2009.7.29)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】