JPWO2010032370A1 - 伝送レート制御装置及び伝送レート制御方法 - Google Patents

伝送レート制御装置及び伝送レート制御方法 Download PDF

Info

Publication number
JPWO2010032370A1
JPWO2010032370A1 JP2010529592A JP2010529592A JPWO2010032370A1 JP WO2010032370 A1 JPWO2010032370 A1 JP WO2010032370A1 JP 2010529592 A JP2010529592 A JP 2010529592A JP 2010529592 A JP2010529592 A JP 2010529592A JP WO2010032370 A1 JPWO2010032370 A1 JP WO2010032370A1
Authority
JP
Japan
Prior art keywords
transmission rate
communication
communication terminal
unit
rate control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010529592A
Other languages
English (en)
Other versions
JP5170798B2 (ja
Inventor
衛一 村本
衛一 村本
孝弘 米田
孝弘 米田
一暢 小西
一暢 小西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010529592A priority Critical patent/JP5170798B2/ja
Publication of JPWO2010032370A1 publication Critical patent/JPWO2010032370A1/ja
Application granted granted Critical
Publication of JP5170798B2 publication Critical patent/JP5170798B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

ベストエフォート型のネットワークを介して第2の通信端末と通信を行う第1の通信端末は、通信履歴を通信端末毎に記憶する通信履歴記憶部と、第2の通信端末との通信で生じた往復遅延時間を算出する往復遅延時間算出部とを備える。第2の通信端末は、通信履歴に記録されている第2の通信端末との通信で実現された過去伝送レートと、第2の通信端末との通信で生じた往復遅延時間とに基づいて、第1の通信端末が第2の通信端末との通信で設定する目標損失イベント率を算出する目標損失イベント率算出部を備える。第1の通信端末は、前記目標損失イベント率と前記往復遅延時間とに基づいて算出した目標伝送レートに、現時点で設定されている伝送レートから変更する。当該伝送レート制御装置によれば、ネットワークを介した通信中に利用可能と推定される帯域が急激に変化すると判断したとき、伝送レートを短時間で目標のビットレートに変更できる。

Description

本発明は、ベストエフォート型のネットワークを介した通信で利用可能と推定される帯域に応じて、伝送レートを制御する伝送レート制御装置及び伝送レート制御方法に関する。
近年、インターネットに代表されるベストエフォート型のネットワークを介して、映像や音声等のストリーミングデータを送信端末から受信端末に実時間的に伝送する技術が普及しつつある。ベストエフォート型のネットワークを介したデータ伝送では、送信端末で設定された伝送レートがネットワーク帯域より大きいと、ネットワーク上で輻輳が発生する。このため、送信端末は、宛先端末との間のネットワークの混雑状況や回線状況等によって変化する利用可能な帯域に応じて、ストリーミングデータの伝送レートを変更する。
ベストエフォート型のネットワークを介したリアルタイム系のデータ伝送に特化した輻輳制御技術として、非特許文献1に開示されたTFRC(TCP Friendly Rate Control)が知られている。TFRCを利用する端末は、端末間のデータの往復遅延時間を示すRTT(Round Trip Time)及びパケットの損失状況等より、下記の式(1)用いて伝送レートXを算出する。
Figure 2010032370
上記式(1)中のX[bps]は、ネットワークを介した通信で利用可能と推定される帯域に応じた伝送レートである。sはパケットサイズ[byte]、RはRTT[秒]、bは定数である。T_RTOは、TCPプロトコルによるタイムアウトを示す値であり、4Rが用いられる。Pは、パケット損失状況を表す損失イベント率である。損失イベント率Pとは、TFRCが滑らかな伝送レートの制御を行うために規定された損失率であり、1往復時間以内に発生するパケット損失を1損失イベントとカウントし、この損失イベントの履歴を用いて算出される。
図8は、非特許文献2に開示された、損失イベントの履歴を用いて損失イベント率を計算する方法を示すグラフである。図8に示す縦軸21は、パケット中のシーケンシャル番号を示し、横軸22は時間の経過を示す。到着パケット(□,Packet Arrival)のプロット23は、受信端末にパケットが到着した時刻とそのときのシーケンシャル番号を示す。損失パケット(×,Packet Lost)のプロット24は、損失イベントが発生した時刻とそのときのシーケンシャル番号を示す。
直近の損失からの到着パケット数25は、直近のイベント損失発生以降、受信端末に到着したパケット数を表す。損失イベント間隔26〜26は、損失イベントと損失イベントの間に受信端末に到着したパケット数を表す。重み27〜27は、対応する損失イベント間隔26に乗算する重みを示す。重み付きイベント損失28〜28は、損失イベント間隔26と重み27を乗算して得られる。
TFRCでは、図8に示すように、過去8世代分の損失イベント間隔26に対する加重平均をとった重み付きの損失イベント間隔の逆数が、損失イベント率(P)として算出される。なお、損失イベント間隔は、(損失イベント間隔26×重み27+…+損失イベント間隔26×重み27)/(重み27+…+重み27)で求める。このように、TFRCは、損失イベントの履歴を用いて算出される重み付きの損失イベント率をパラメータの1つとして用いることで、伝送レートが滑らかに変化するよう制御している。しかし、逆の見方をすれば、TFRCは、宛先端末との間の通信で利用可能な帯域の急激な変化に対して、即座に伝送レートを適当な値に変更できない。
上記説明した技術は、例えばテレビ会議システムに用いられる。図9は、ベストエフォート型のネットワークを利用したテレビ会議システムの構成の一例を示す図である。図9に示すテレビ会議システムには、映像や音声のストリーミングデータを送受信する端末11,12,13が設けられている。各端末は、上記説明したTFRCを用いて伝送レートを設定する。
端末11と端末12とは、国内ネットワークNDを介して通信可能に接続されている。また、端末13と端末11及び端末12とは、国内ネットワークND、海外線L及び海外ネットワークNAを介して通信可能に接続されている。なお、以下に示す例では、国内ネットワークND及び海外ネットワークNAとも例えば10Mbpsといった広帯域の伝送を実現できる。但し、海外線Lを介した伝送は、海外線Lがボトルネックとなり、2Mbps程度の帯域が限界である。
このテレビ会議システムでは、端末間の通信で利用されている帯域の内、最も狭い帯域に合わせて伝送レートが設定される。例えば、端末11,12,13が3者間通信を行う際、各端末は、国内ネットワークND、海外線L及び海外ネットワークNAを介した通信の実績に合わせて伝送レートを設定する。本例では、国内ネットワークND及び海外ネットワークNAはそれぞれ10Mbps程度の伝送を実現できる一方、海外線Lは2Mbps程度の伝送しか実現できない。したがって、各端末は、伝送レートを2Mbpsに設定する。
端末11,12,13による3者間通信が行われている状況で、端末13が通信を中断し、国内ネットワークNDのみを利用する端末11,12の2者間通信に切り替わったと想定する。このとき、端末11,12は、国内ネットワークNDのみを介した通信の実績に合わせて伝送レートを設定する。本例では、国内ネットワークNDは10Mbps程度の伝送を実現できる。このため、端末11,12は、伝送レートを2Mbpsから10Mbpsに変更する。
日本国特開2004−72720号公報
M.Handley他著,「TCP Friendly Rate Control(TFRC):Protocol Specification」,RFC 3448,2003年1月,p.1−24 S.Floyd他著,「Equation−Based Congestion Control for Unicast Applications」,2000年8月,p.1−14
上述したように、TFRCを用いた伝送レートの制御では、伝送レートは滑らかに変更される。したがって、図9に示したテレビ会議システムにおいて、端末13が通信を中断した結果、端末11,12間の通信で利用可能な帯域が急激に上がっても、端末11,12における伝送レートは即座に高ビットレートに移行しない。高ビットレートに移行するまでの間は、前記利用可能な帯域と伝送レートとの整合性がとれておらず、当該ネットワーク帯域を充分に活用できていない状態である。このため、伝送レートが高ビットレートに移行するまでの時間は短い方が望ましい。
なお、利用可能な帯域が急激に上がったとき、伝送レートの制御にTFRCを用いず、伝送レートを急激に高ビットレートに移行すると、パケットが輻輳して想定以上のパケット損失が発生する。その結果、受信端末における映像や音声に乱れが生じる。
本発明の目的は、ネットワークを介した通信中に利用可能と推定される帯域が急激に変化するとき、伝送レートを短時間で目標のビットレートに変更可能な伝送レート制御装置及び伝送レート制御方法を提供することである。
本発明は、ベストエフォート型のネットワークを介した2つの通信端末間の通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御システムで用いられる伝送レート制御装置であって、前記ネットワークを介して行った通信履歴を通信端末毎に記憶する通信履歴記憶部と、前記ネットワークを介した所定の通信端末との通信で生じた往復遅延時間を算出する往復遅延時間算出部と、前記通信履歴に記録されている前記所定の通信端末との通信で実現された過去伝送レート、及び前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間に基づいて前記所定の通信端末が算出した目標損失イベント率と、前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間と、に基づいて目標伝送レートを算出する目標伝送レート算出部と、前記現時点で設定されている伝送レートから前記目標伝送レート算出部が算出した目標伝送レートに変更するよう伝送レートを制御する伝送レート制御部と、を備えた伝送レート制御装置を提供する。
本発明は、ベストエフォート型のネットワークを介した通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御装置であって、前記ネットワークを介して行った通信履歴を通信端末毎に記憶する通信履歴記憶部と、前記ネットワークを介した通信端末との通信で生じた往復遅延時間を算出する往復遅延時間算出部と、前記通信履歴に記録されている所定の通信端末との通信で実現された過去伝送レートと、前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間とに基づいて、前記所定の通信端末との通信で設定する目標伝送レートを算出する目標伝送レート算出部と、現時点で設定されている伝送レートから前記目標伝送レートに変更する伝送レート制御部と、を備えた伝送レート制御装置を提供する。
本発明は、ベストエフォート型のネットワークを介した2つの通信端末間の通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御システムで行われる伝送レート制御方法であって、前記ネットワークを介して第2の通信端末と通信を行う第1の通信端末が、前記ネットワークを介した前記第2の通信端末との通信で生じた往復遅延時間を算出し、前記第2の通信端末が、前記第1の通信端末が行った当該第2の通信端末との通信で実現された過去伝送レート、及び前記第1の通信端末で算出された往復遅延時間に基づいて目標損失イベント率を算出し、前記第1の通信端末が、前記第2の通信端末で算出された目標損失イベント率と、前記往復遅延時間とに基づいて目標伝送レートを算出し、前記第1の通信端末が、前記現時点で設定されている伝送レートから前記目標伝送レートに変更するよう伝送レートを制御する伝送レート制御方法を提供する。
本発明は、ベストエフォート型のネットワークを介した通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御方法であって、前記ネットワークを介した通信端末との通信で生じた往復遅延時間を算出し、所定の通信端末との通信で実現された過去伝送レートと、前記所定の通信端末との通信で生じた往復遅延時間とに基づいて、前記所定の通信端末との通信で設定する目標伝送レートを算出し、現時点で設定されている伝送レートから前記目標伝送レートに変更する伝送レート制御方法を提供する。
本発明に係る伝送レート制御装置及び伝送レート制御方法によれば、ネットワークを介した通信中に利用可能と推定される帯域が急激に変化したとき、伝送レートを短時間で目標のビットレートに変更することができる。
送信端末X1,X2及び受信端末Y1,Y2がネットワークNに接続された通信システムを示す図 第1の実施形態の送信端末X1の内部構成を示すブロック図 第1の実施形態の受信端末Y1の内部構成を示すブロック図 第1の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化した際に行われる処理を示すタイミングチャート 第2の実施形態の送信端末X2の内部構成を示すブロック図 第2の実施形態の受信端末Y2の内部構成を示すブロック図 第2の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化した際に行われる処理を示すタイミングチャート 非特許文献2に開示された、過去の損失イベントの履歴を用いて損失イベント率を計算する方法を示すグラフ ベストエフォート型のネットワークを利用したテレビ会議システムの構成の一例を示す図
以下、本発明の実施形態について、図面を参照して説明する。なお、本実施形態では、図1に示すように、ストリーミングデータを送信する送信端末X1,X2及びストリーミングデータを受信する受信端末Y1,Y2が、ベストエフォート型のネットワークNに接続された通信システムについて説明する。なお、送信端末X1,X2及び受信端末Y1,Y2は、TFRC(TCP Friendly Rate Control)の技術を利用する通信端末である。
(第1の実施形態)
図2は、第1の実施形態の送信端末X1の内部構成を示すブロック図である。図2に示すように、第1の実施形態の送信端末X1は、エンコーダ101と、冗長符号処理部(FEC処理部)103と、パケット処理部105と、バッファ107と、パケット送信部109と、制御パケット受信部111と、RTT算出部113と、通信履歴記憶部115と、伝送レート算出部117と、制御部119と、呼監視部121と、変更方法決定部123と、一時伝送レート通知部125と、ARQ部127と、クロック129とを備える。
エンコーダ101は、所定の符号化レートに応じて映像や音声等のコンテンツデータの符号化を行う。冗長符号処理部103は、エンコーダ101で符号化されたコンテンツデータから、受信端末Y1がFEC(Forward Error Correction)等の誤り検出、又は誤り訂正を行なうための冗長符号を生成する。さらに、冗長符号処理部103は、この生成した冗長符号を、エンコーダ101で符号化されたコンテンツデータに付与して出力する。
上記説明した冗長符号は、XOR演算による符号やリードソロモン符号等である。また、冗長符号処理部103による冗長符号の生成は、後述するパケット処理部105によって得られたパケットに対して行っても良い。さらに、生成された冗長符号は、符号化されたコンテンツデータと共にひとつのパケットに合成されても、符号化されたコンテンツデータのパケットとは別のパケットに設けられても良い。
パケット処理部105は、エンコーダ101で符号化されたコンテンツデータに冗長符号が付加されたデータをパケット化し、作成したパケットをバッファ107に格納する。バッファ107は、ネットワークNに送出される前のパケットを一時蓄積する。なお、バッファ107にパケットを蓄積する際には、符号化されたコンテンツや冗長符号が生成された順に蓄積しても、インターリーブして蓄積しても良い。
パケット送信部109は、バッファ107に蓄積されたパケットを、制御部119から指示された伝送レートでネットワークNに送出する。なお、パケット送信部109が送信する一部のパケットには、ネットワークNを介した送受信端末間の通信で生じた往復遅延時間(以下「RTT」という。)を送信端末X1が計測するために用いられる、パケットの送信時刻Txを示す情報が付与される。送信時刻Txを示す情報が付与されるパケットは、コンテンツデータを含むRTP(Real-time Transport Protocol)パケットである。また、送信時刻Txを示す情報が付与されるパケットは、RTPパケットの伝送を制御するためのRTCP(Real-time Transport Control Protocol)パケット、またはその他の制御用パケット等である。なお、送信時刻Txは、送信端末Xが備えるクロック129から得られる。
制御パケット受信部111は、受信端末Y1から送信された受信者レポート及びフィードバックパケットを受信する。受信者レポートは、受信端末Y1で算出された損失イベント率Pに関する情報を含むRTCPパケットである。また、フィードバックパケットには、送信端末Xから送信された送信時刻Txが付与されている。なお、受信者レポートには、送信端末Xから送信された送信時刻Txを含めても良い。
RTT算出部113は、制御パケット受信部111が受信したフィードバックパケットの受信時刻Rxと、このフィードバックパケットに付与されている送信時刻Txとの差分(=Rx−Tx)を、RTTとして算出する。
通信履歴記憶部115は、過去に行った各通信端末との通信の伝送レート、損失率、損失イベント率及び往復遅延時間(RTT)の各々の最大値、最小値及び平均値を含む通信履歴を通信端末毎に記憶する。なお、通信履歴記憶部115には、損失率、損失イベント率及びRTTのそれぞれに関する分散率が記録されていても良い。また、通信履歴記憶部115に記録される統計値は、各通信端末の通信時間全体の統計値である必要はなく、通信切断前の所定時間の間の統計値であっても、通信時間帯毎の統計値であっても良い。
伝送レート算出部117は、RTT算出部113が算出したRTT、及び制御パケット受信部111が受信した受信者レポートに含まれる損失イベント率P等より、背景技術で説明した式(1)を用いて伝送レートを算出する。制御部119は、伝送レート算出部117が算出した伝送レートでパケットを送出するようパケット送信部109に指示する。
呼監視部121は、送信端末X1がネットワークNを介して通信を行う通信端末との接続状況を監視する。呼監視部121は、受信端末Y1との通信で利用可能な帯域が急激に変化する可能性があるか否かを判断し、当該帯域が急激に変化すると判断した場合には、次に説明する変更方法決定部123が動作するよう制御する。具体的には、呼接続先の端末の追加、削除、やRTTの急激な変化を契機として、利用可能な帯域が急激に変化すると判断する。例えば、背景技術の説明で述べたように、海外ネットワークの端末との通信が終了したときや、開始されたとき、回線切替などの理由によって急激にRTTが短縮した場合や増加した場合は、利用可能な帯域が急激に変化すると判断する。
変更方法決定部123は、通信履歴記憶部115に記録されている受信端末Y1との通信履歴に含まれる、伝送レートの最大値(以下「過去伝送レート」という)Xpと、現在の伝送レートとに基づいて、変更方針CPを決定する。なお、過去伝送レートは、伝送レートの最大値に限らず平均値であっても良い。また、過去伝送レートは、通信履歴記憶部115に記録されている受信端末Y1との通信履歴に含まれる損失イベント率の最大値、又は平均値であっても良い。また、過去伝送レートは、RTT算出部113で算出された往復遅延時間(RTT)等を、式(1)に代入して得られたものであっても良い。
変更方針CPは、現在の伝送レートから過去伝送レートXpにどのように変化させるかを示す。線形的なビットレートの変化は、変更方針CP_PROPと表される。線形的なビットレートの変化とは、例えば、RTT毎に伝送レートを段階的に上げる又は下げる変化である。また、定常的なビットレートの変化は、変更方針CP_CBRと表される。また、伝送レートを上げる場合と下げる場合とでビットレートの変化の形態が異なる場合は、変更方針CP_AIMDと表される。形態が異なるビットレートの変化とは、例えば、伝送レートを上げる場合には変更方針CP_CBRを適用し、伝送レートを下げる場合には変更方針CP_PROPを適用した変化である。
変更方法決定部123は、現在の伝送レートと過去伝送レートXpの差分に応じて、これら3つの変更方針CPの内からいずれか1つを決定する。例えば、変更方法決定部123は、当該差分が所定値より大きいとき変更方針CP_PROPを選択し、当該差分が所定値以下のとき変更方針CP_CBRを選択する。なお、変更方法決定部123は、予め設定された変更方針に決定しても良い。
また、変更方法決定部123は、過去伝送レートXpから現在の伝送レートを引いた値の符号に応じて、現在の伝送レートから過去伝送レートXpに変更するまでの所要時間Trを決定する。変更方法決定部123は、当該値の符号が正のとき、すなわち伝送レートを上げる場合には、RTT算出部113によって算出された往復遅延時間Rのn倍(nは正の整数であり定数)を所要時間Trに設定する。一方、当該値の符号が負のとき、すなわち伝送レートを下げる場合、変更方法決定部123は、往復遅延時間Rのlog(n)倍を所要時間Trに設定する。
一時伝送レート通知部125は、通信履歴記憶部115から読み出した過去伝送レートXp、変更方法決定部123が決定した変更方針CP、及び所要時間Trを受信端末Y1に送信する。さらに、一時伝送レート通知部125は、RTT算出部113によって算出された往復遅延時間Rに関する情報を受信端末Y1に送信する。
ARQ部127は、受信端末Y1から送られたRTPパケットの再送要求(NAK)を受け付ける。ARQ部127は、受け付けたNAKが示すパケットがバッファ107に蓄積されていれば、そのパケットを受信端末Y1に再送するようパケット送信部109に指示する。
図3は、第1の実施形態の受信端末Y1の内部構成を示すブロック図である。図3に示すように、第1の実施形態の受信端末Y1は、パケット受信部201と、バッファ203と、パケット処理部205と、冗長符号処理部(FEC処理部)207と、デコーダ209と、状況監視部211と、通信履歴記憶部213と、目標損失イベント率算出部215と、一時損失イベント間隔算出部217と、呼監視部219と、損失イベント率算出部221と、受信者レポート生成部223と、制御パケット送信部225と、ARQ部227と、クロック229とを備える。
パケット受信部201は、ネットワークNを介して送信端末Xから送信されたパケットを受信する。バッファ203は、パケット受信部201が受信したパケットを一時蓄積する。パケット処理部205は、バッファ203からパケットを読み出して、符号化されたコンテンツデータ及び冗長符号を抽出する。冗長符号処理部207は、読み出した冗長符号を用いて、符号化されたコンテンツデータの誤り検出又は誤り訂正を定期的に行う。デコーダ209は、誤り検出又は誤り訂正後の符号化されたコンテンツデータを復号する。
状況監視部211は、非特許文献1に示されるRFC3448で規定された損失イベントの発生を検知する機能を用いて、バッファ203に蓄積されたパケットに基づいて、送信端末X1から送出されたパケットの到着状況を監視する。状況監視部211は、損失イベントが発生した時刻とそのときのシーケンシャル番号から得られる損失イベント間隔c(k)を、通信履歴記憶部213に記録する。なお、損失イベントが発生した時刻は、受信端末Y1が備えるクロック229から得られる。背景技術で説明した図8は、受信端末Y1における損失イベントの履歴の一例を示すグラフでもある。
通信履歴記憶部213は、状況監視部211から出力された損失イベント間隔c(k)を通信履歴として通信端末毎に記憶する。また、通信履歴記憶部213は、一時損失イベント間隔算出部217、及び損失イベント率算出部221で用いられる8世代の各重みW(1)〜W(8)の情報を記憶する。なお、当該重みは、図8中に示した重み27〜27と同様である。
目標損失イベント率算出部215は、送信端末X1から送られた過去伝送レートXp及び往復遅延時間(RTT)R等より、下記式(2)を用いて目標損失イベント率TPを算出する。なお、線形的なビットレートの変化を示す変更方針CP_PROPの場合、下記式(2)中に代入されるパラメータXpには、現在の伝送レートと過去伝送レートXpの間の伝送レートが用いられる。
TP=α{s/(Xp・R)}…(2)
上記式(2)中のαは、調整パラメータである。sは、パケットサイズ[byte]である。Rは、送信端末X1から送られたRTT[秒]である。Xpは、送信端末X1から送られた過去伝送レート[bps]である。
一時損失イベント間隔算出部217は、算出された目標損失イベント率TP、及び8世代の各重みW(1)〜W(8)を用いて、8世代分の一時損失イベント間隔tc(1)〜tc(8)を式(3)で算出する。なお、一時損失イベント間隔算出部217は、通信履歴記憶部213から8世代の各重みW(1)〜W(8)を読み出す。
tc(k)=[W(k)/(AW・TP)] …(3)
上記式(3)中のtc(k)は、第k世代の一時損失イベント間隔である。また、W(k)は、第k世代に割り当てられた重みである。AWは、第1世代から第8世代に割り当てられた重みW(1)〜W(8)の合計である。なお、式(3)中の記号[ ]はガウス記号である。[x]は、実数x以下の最大の整数を表す。
呼監視部219は、受信端末Y1がネットワークNを介して通信を行う通信端末との接続状況を監視する。呼監視部219は、送信端末X1との通信で利用可能な帯域が急激に変化する可能性がある否かを判断し、当該帯域が急激に変化すると判断した場合には、次に説明する損失イベント率算出部221によって利用される損失イベント間隔を切り替える。
損失イベント率算出部221は、8世代分の損失イベント間隔に対する加重平均をとった重み付きの損失イベント間隔の逆数を損失イベント率Pとして算出する。損失イベント率算出部221がパラメータの1つとして用いる8世代分の損失イベント間隔は、通信履歴記憶部213に記録されている8世代分の損失イベント間隔c(1)〜c(8)である。また、8世代分の損失イベント間隔は、一時損失イベント間隔算出部217が算出した8世代分の一時損失イベント間隔tc(1)〜tc(8)である。また、8世代の各重みW(1)〜W(8)は、通信履歴記憶部213から読み出される。
損失イベント率算出部221は、通常は、通信履歴記憶部213に記録されている8世代分の損失イベント間隔c(1)〜c(8)を用いて損失イベント率Pを算出する。しかし、送信端末X1との通信で利用可能な帯域が急激に変化したと呼監視部219によって判断された場合には、一時損失イベント間隔算出部217が算出した8世代分の一時損失イベント間隔tc(1)〜tc(8)が用いられる。したがって、通常時の損失イベント率算出式は下記式(4)であり、帯域が急激に変化したときの損失イベント率算出式は下記式(5)である。
Figure 2010032370
受信者レポート生成部223は、損失イベント率算出部221によって算出された損失イベント率Pを含む受信者レポートを生成する。制御パケット送信部225は、受信者レポート生成部223によって生成された受信者レポートをRTCPパケットの形態で、損失イベントの発生毎又は定期的(例えば、RTT毎)に送信端末X1に送信する。また、制御パケット送信部225は、送信端末X1から送信された送信時刻Txを含むパケットに応じて、この送信時刻Txを示す情報を付与したフィードバックパケットを送信端末X1に送信する。
ARQ部227は、送信端末X1から送信されたRTPパケットの損失を、バッファ203に蓄積されたパケットのシーケンシャル番号の隔たりから検知する。ARQ部227は、検知した損失パケットの再送要求(NAK)を送信端末X1に送信し、かつ、当該再送要求処理を登録して時間をカウントする。ARQ部227は、この時間のカウントが送信端末X1と受信端末Y1の往復時間より大きくなった場合、再送要求を再送信し、当該再送要求処理を登録して時間を再びカウントする。ARQ部227は、所定時間送信したNAKに応じて送信端末X1から前記損失パケットを受信したとき、時間のカウントを停止して、登録した再送要求処理をキャンセルする。
以下、第1の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化した際に行われる処理について、図4を参照して詳細に説明する。図4は、第1の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化すると判定した際に行われる処理を示すタイミングチャートである。
まず、送信端末X1の変更方法決定部123は、変更方針CP及び所要時間Trを決定する(ステップS101)。次に、一時伝送レート通知部125は、過去伝送レートXp、変更方針CP、所要時間Tr及び往復遅延時間(RTT)Rに関する情報を受信端末Y1に送信する(ステップS103)。これらの情報を受信した受信端末Y1では、目標損失イベント率算出部215が、目標損失イベント率TPを算出する(ステップS105)。次に、一時損失イベント間隔算出部217は、8世代分の一時損失イベント間隔tc(1)〜tc(8)を算出する(ステップS107)。次に、損失イベント率算出部221は、ステップS107で算出した8世代分の一時損失イベント間隔tc(1)〜tc(8)及び8世代の各重みW(1)〜W(8)より、目標損失イベント率Pを算出する(ステップS109)。ステップS109で算出された目標損失イベント率Pは、送信端末X1に送信される(ステップS111)。
目標損失イベント率Pを受信した送信端末X1では、伝送レート算出部117が、目標損失イベント率P及び往復遅延時間(RTT)R等を用いて目標伝送レートを算出する(ステップS113)。次に、制御部119が、ステップS113で算出された目標伝送レートでパケットを送出するよう伝送レートを変更する(ステップS115)。
以上説明したように、本実施形態の通信システムでは、送受信端末間の通信で利用可能な帯域が急激に変化すると判断したとき、過去に実現された伝送レートから損失イベント間隔の履歴を生成した上で、TFRCを用いた伝送レートの制御が行われる。背景技術で説明したように、実際の損失イベント間隔に基づくTFRCを用いた伝送レートの制御では、伝送レートが滑らかに変化する。このため、従来の伝送レート制御では、伝送レートを低ビットレートから高ビットレート又は高ビットレートから低ビットレートに即座に変更できない。しかし、本実施形態では、上述したように、生成した損失イベント間隔の履歴を用いるため、伝送レートを短時間で目標のビットレートに変更することができる。
なお、本実施形態の通信システムが用いられるベストエフォート型のネットワークは、有線ネットワークであっても、無線ネットワークであってもかまわない。
また、送受信端末間の通信で利用可能な帯域が急激に変化する要因として、低ビットレートでしか通信できない無線端末との通信が終了した場合が考えられる。しかし、このようなユースケースでも本実施形態の通信システムは、伝送レートを短時間で目標のビットレートに変更することができる。
(第2の実施形態)
図5は、第2の実施形態の送信端末X2の内部構成を示すブロック図である。図5における送信端末X2は、エンコーダ101、冗長符号処理部(FEC処理部)103、パケット処理部105、バッファ107、パケット送信部109、制御パケット受信部301、RTT算出部113、通信履歴記憶部115、伝送レート算出部303、制御部119、呼監視部305、変更方法決定部123、目標損失イベント率算出部307、一時損失イベント間隔算出部309、損失イベント率算出部311、ARQ部127、及びクロック129とを備える。図5において、第1の実施形態の送信端末X1を示す図2と共通する構成要素には同じ参照符号が付されている。
送信端末X2が備える目標損失イベント率算出部307、一時損失イベント間隔算出部309及び損失イベント率算出部311は、第1の実施形態で説明した図3に示す受信端末Y1が備える各機能と同様である。第1の実施形態では、損失イベント率の算出を受信端末Y1側で行っているが、第2の実施形態では送信端末X2側で行う。
但し、本実施形態の制御パケット受信部301が受信する受信者レポートには、損失イベント率Pの代わりに損失イベント間隔c(k)が含まれている。なお、損失イベント間隔c(k)は通信履歴記憶部115に記録される。このように、本実施形態では、受信者レポートに損失イベント率Pが含まれておらず、損失イベント率Pは送信端末X2が備える損失イベント率算出部311が算出する。このため、本実施形態の伝送レート算出部303が式(1)のパラメータの1つである損失イベント率Pに代入する値は、損失イベント率算出部311が算出した値である。
送信端末X2が備える呼監視部305は、送信端末X2がネットワークNを介して通信を行う通信端末との接続状況を監視する。呼監視部305は、受信端末Y2との通信で利用可能な帯域が急激に変化したか否かを判断する。さらに、呼監視部305は、当該帯域が急激に変化した場合には、変更方法決定部123が動作するよう制御して、損失イベント率算出部311によって利用される損失イベント間隔を切り替える。
図6は、第2の実施形態の受信端末Y2の内部構成を示すブロック図である。図6における受信端末Y2は、パケット受信部201、バッファ203、パケット処理部205、冗長符号処理部(FEC処理部)207、デコーダ209、状況監視部401、受信者レポート生成部403、制御パケット送信部225、ARQ部227、及びクロック229とを備える。図6において、第1の実施形態の受信端末Y1を示す図3と共通する構成要素には同じ参照符号が付されている。
受信端末Y2が備える状況監視部401は、第1の実施形態と同様に、バッファ203に蓄積されたパケットに基づいて、送信端末X2から送出されたパケットの到着状況を監視する。但し、本実施形態の状況監視部401は、損失イベントが発生した時刻と、そのときのシーケンシャル番号から得られる損失イベント間隔c(k)を、受信者レポート生成部403に送る。受信端末Y2が備える受信者レポート生成部403は、状況監視部401から得られた損失イベント間隔c(k)を含む受信者レポートを生成する。
以下、第2の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化した際に行われる処理について、図7を参照して詳細に説明する。図7は、第2の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化すると判断した際に行われる処理を示すタイミングチャートである。
まず、送信端末X2の変更方法決定部123は、変更方針CP及び所要時間Trを決定する(ステップS201)。次に、目標損失イベント率算出部307が、目標損失イベント率TPを算出する(ステップS203)。次に、一時損失イベント間隔算出部309は、8世代分の一時損失イベント間隔tc(1)〜tc(8)を算出する(ステップS205)。次に、損失イベント率算出部311は、ステップS205で算出した8世代分の一時損失イベント間隔tc(1)〜tc(8)及び8世代の各重みW(1)〜W(8)より、目標損失イベント率Pを算出する(ステップS207)。次に、伝送レート算出部303は、目標損失イベント率P及び往復遅延時間(RTT)R等を用いて目標伝送レートを算出する(ステップS209)。次に、制御部119は、ステップS113で算出された目標伝送レートでパケットを送出するよう伝送レートを変更する(ステップS211)。
以上説明したように、本実施形態の通信システムでは、第1の実施形態と同様に、送受信端末間の通信で利用可能な帯域が急激に変化すると判断したとき、過去に実現された伝送レートから損失イベント間隔の履歴を生成した上で、TFRCを用いた伝送レートの制御が行われる。したがって、伝送レートを短時間で目標のビットレートに変更することができる。
(第3の実施形態)
上記実施形態の送信端末X1,X2は冗長符号処理部103及びARQ部127を備え、受信端末Y1,Y2は冗長符号処理部207及びARQ部227を備える。上述したように、送信端末X1,X2が備える冗長符号処理部103は、符号化されたコンテンツデータから冗長符号を生成し、符号化されたコンテンツデータに付与して出力する。また、受信端末Y1,Y2の冗長符号処理部207は、読み出した冗長符号を用いて、符号化されたコンテンツデータの誤り検出又は誤り訂正を定期的に行う。
一方、送信端末X1,X2が備えるARQ部127は、受信端末Y1,Y2から送られたRTPパケットの再送要求(NAK)を受け付ける。ARQ部127は、当該受け付けたNAKが示すパケットがバッファ107に蓄積されていれば、そのパケットを受信端末Y1,Y2に再送するようパケット送信部109に指示する。また、受信端末Y1,Y2が備えるARQ部227は、送信端末X1,X2から送信されたRTPパケットの損失を、バッファ203に蓄積されたパケットのシーケンシャル番号の隔たりから検知する。ARQ部227は、検知した損失パケットの再送要求(NAK)を送信端末X1,X2に送信し、かつ、当該再送要求処理を登録して時間をカウントする。ARQ部227は、この時間のカウントが送信端末X1と受信端末Y1の往復時間より大きくなった場合、あるいは送信端末X2と受信端末Y2の往復時間より大きくなった場合、再送要求を再送信する。さらに、ARQ部227は、当該再送要求処理を登録して時間を再びカウントする。ARQ部227は、所定時間送信したNAKに応じて送信端末X1,X2から送信された前記損失パケットを受信したときとき、時間のカウントを停止して、登録した再送要求処理をキャンセルする。
第3の実施形態では、送信端末X1,X2の冗長符号処理部103が行う冗長符号の生成に際して、制御部119からの指示に応じて、冗長符号処理部103は、コンテンツデータ量に対する冗長符号の長さを変える。以下、第3の実施形態では、コンテンツデータ量に対する冗長符号の長さを「冗長符号の強度」として説明する。例えば、冗長符号の強度が25%の場合、冗長符号処理部103は、コンテンツデータ量の1/4の長さの冗長符号を生成する。また、冗長符号の強度を上げるとは、冗長符号の強度を例えば25%から50%に変化させることである。
本実施形態では、送信端末X1,X2の呼監視部121,305が受信端末Y1,Y2との通信で利用可能な帯域が急激に変化すると判断する。呼監視部121,305が急激に変化すると判断したとき、制御部119は、通常時とは異なる冗長符号の強度で冗長符号を生成するよう冗長符号処理部103に指示する。このときの冗長符号の強度は、変更方針CPや伝送レートの制御に応じて上げても下げても良い。なお、制御部119は、変更方法決定部123によって決定された所要時間Trを経過した後には、冗長符号の強度を元に戻すよう冗長符号処理部103に指示する。
伝送レートを急激に上げるとパケット損失の発生確率が大きくなるが、所要時間Trの間は、冗長符号の強度を上げることによって、パケット損失の発生に対するサポートを厚くできる。逆に、伝送レートを急激に下げるとパケット損失の発生確率が小さくなるため、冗長符号の強度を下げる。冗長符号の強度を下げると冗長符号の生成処理量が減るため、冗長符号処理部103による冗長符号生成の高速処理が可能である。
また、第3の実施形態では、受信端末Y1の目標損失イベント率算出部215が変更方針CPを受信するようにした。受信したとき、目標損失イベント率算出部215は、受信端末Y1のバッファ203にパケットを一時蓄積する時間(受信許容遅延時間)を所要時間Trの間変える。また、目標損失イベント率算出部215は、伝送レートを急激に上げる変更方針CPを受信した場合はパケット損失の発生確率が大きくなるので、受信端末Y1が送信端末X1に再送要求を行う機会が増すように、受信許容遅延時間を延長する。これによって、再送が複数回行われ、パケット損失の発生に対するサポートを厚くできる。逆に、伝送レートを急激に下げるとパケット損失の発生確率が小さくなり、受信端末Y1が送信端末X1に再送要求を複数回行う必要が減るため、受信許容遅延時間を短縮する。なお、ARQ部227は、往復遅延時間(RTT)の倍数を単位として受信許容遅延時間を延長又は短縮する。なお、受信許容遅延時間の延長幅又は短縮幅は、常に往復遅延時間(RTT)の固定倍数としても、現在の伝送レートと過去伝送レートXpの差分等に応じて変更しても良い。
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本出願は、2008年9月19日出願の日本特許出願(特願2008−240986)に基づくものであり、その内容はここに参照として取り込まれる。
本発明に係る伝送レート制御装置は、ネットワークを介した通信中に利用可能と推定される帯域が急激に変化したとき、伝送レートを短時間で目標のビットレートに変更する通信端末等として有用である。
X1,X2 送信端末
Y1,Y2 受信端末
N ベストエフォート型のネットワーク
101 エンコーダ
103 冗長符号処理部(FEC処理部)
105 パケット処理部
107 バッファ
109 パケット送信部
111,301 制御パケット受信部
113 RTT算出部
115 通信履歴記憶部
117,303 伝送レート算出部
119 制御部
121,305 呼監視部
123 変更方法決定部
125 一時伝送レート通知部
127 ARQ部
129 クロック
201 パケット受信部
203 バッファ
205 パケット処理部
207 冗長符号処理部(FEC処理部)
209 デコーダ
211,401 状況監視部
213 通信履歴記憶部
215,307 目標損失イベント率算出部
217,309 一時損失イベント間隔算出部
219 呼監視部
221,311 損失イベント率算出部
223,403 受信者レポート生成部
225 制御パケット送信部
227 ARQ部
229 クロック
本発明は、ベストエフォート型のネットワークを介した通信で利用可能と推定される帯域に応じて、伝送レートを制御する伝送レート制御装置及び伝送レート制御方法に関する。
近年、インターネットに代表されるベストエフォート型のネットワークを介して、映像や音声等のストリーミングデータを送信端末から受信端末に実時間的に伝送する技術が普及しつつある。ベストエフォート型のネットワークを介したデータ伝送では、送信端末で設定された伝送レートがネットワーク帯域より大きいと、ネットワーク上で輻輳が発生する。このため、送信端末は、宛先端末との間のネットワークの混雑状況や回線状況等によって変化する利用可能な帯域に応じて、ストリーミングデータの伝送レートを変更する。
ベストエフォート型のネットワークを介したリアルタイム系のデータ伝送に特化した輻輳制御技術として、非特許文献1に開示されたTFRC(TCP Friendly Rate Control)が知られている。TFRCを利用する端末は、端末間のデータの往復遅延時間を示すRTT(Round Trip Time)及びパケットの損失状況等より、下記の式(1)用いて伝送レートXを算出する。
Figure 2010032370
上記式(1)中のX[bps]は、ネットワークを介した通信で利用可能と推定される帯域に応じた伝送レートである。sはパケットサイズ[byte]、RはRTT[秒]、bは定数である。T_RTOは、TCPプロトコルによるタイムアウトを示す値であり、4Rが用いられる。Pは、パケット損失状況を表す損失イベント率である。損失イベント率Pとは、TFRCが滑らかな伝送レートの制御を行うために規定された損失率であり、1往復時間以内に発生するパケット損失を1損失イベントとカウントし、この損失イベントの履歴を用いて算出される。
図8は、非特許文献2に開示された、損失イベントの履歴を用いて損失イベント率を計算する方法を示すグラフである。図8に示す縦軸21は、パケット中のシーケンシャル番号を示し、横軸22は時間の経過を示す。到着パケット(□,Packet Arrival)のプロット23は、受信端末にパケットが到着した時刻とそのときのシーケンシャル番号を示す。損失パケット(×,Packet Lost)のプロット24は、損失イベントが発生した時刻とそのときのシーケンシャル番号を示す。
直近の損失からの到着パケット数25は、直近のイベント損失発生以降、受信端末に到着したパケット数を表す。損失イベント間隔26〜26は、損失イベントと損失イベントの間に受信端末に到着したパケット数を表す。重み27〜27は、対応する損失イベント間隔26に乗算する重みを示す。重み付きイベント損失28〜28は、損失イベント間隔26と重み27を乗算して得られる。
TFRCでは、図8に示すように、過去8世代分の損失イベント間隔26に対する加重平均をとった重み付きの損失イベント間隔の逆数が、損失イベント率(P)として算出される。なお、損失イベント間隔は、(損失イベント間隔26×重み27+…+損失イベント間隔26×重み27)/(重み27+…+重み27)で求める。このように、TFRCは、損失イベントの履歴を用いて算出される重み付きの損失イベント率をパラメータの1つとして用いることで、伝送レートが滑らかに変化するよう制御している。しかし、逆の見方をすれば、TFRCは、宛先端末との間の通信で利用可能な帯域の急激な変化に対して、即座に伝送レートを適当な値に変更できない。
上記説明した技術は、例えばテレビ会議システムに用いられる。図9は、ベストエフォート型のネットワークを利用したテレビ会議システムの構成の一例を示す図である。図9に示すテレビ会議システムには、映像や音声のストリーミングデータを送受信する端末11,12,13が設けられている。各端末は、上記説明したTFRCを用いて伝送レートを設定する。
端末11と端末12とは、国内ネットワークNDを介して通信可能に接続されている。また、端末13と端末11及び端末12とは、国内ネットワークND、海外線L及び海外ネットワークNAを介して通信可能に接続されている。なお、以下に示す例では、国内ネットワークND及び海外ネットワークNAとも例えば10Mbpsといった広帯域の伝送を実現できる。但し、海外線Lを介した伝送は、海外線Lがボトルネックとなり、2Mbps程度の帯域が限界である。
このテレビ会議システムでは、端末間の通信で利用されている帯域の内、最も狭い帯域に合わせて伝送レートが設定される。例えば、端末11,12,13が3者間通信を行う際、各端末は、国内ネットワークND、海外線L及び海外ネットワークNAを介した通信の実績に合わせて伝送レートを設定する。本例では、国内ネットワークND及び海外ネットワークNAはそれぞれ10Mbps程度の伝送を実現できる一方、海外線Lは2Mbps程度の伝送しか実現できない。したがって、各端末は、伝送レートを2Mbpsに設定する。
端末11,12,13による3者間通信が行われている状況で、端末13が通信を中断し、国内ネットワークNDのみを利用する端末11,12の2者間通信に切り替わったと想定する。このとき、端末11,12は、国内ネットワークNDのみを介した通信の実績に合わせて伝送レートを設定する。本例では、国内ネットワークNDは10Mbps程度の伝送を実現できる。このため、端末11,12は、伝送レートを2Mbpsから10Mbpsに変更する。
日本国特開2004−72720号公報
M.Handley他著,「TCP Friendly Rate Control(TFRC):Protocol Specification」,RFC 3448,2003年1月,p.1−24 S.Floyd他著,「Equation−Based Congestion Control for Unicast Applications」,2000年8月,p.1−14
上述したように、TFRCを用いた伝送レートの制御では、伝送レートは滑らかに変更される。したがって、図9に示したテレビ会議システムにおいて、端末13が通信を中断した結果、端末11,12間の通信で利用可能な帯域が急激に上がっても、端末11,12における伝送レートは即座に高ビットレートに移行しない。高ビットレートに移行するまでの間は、前記利用可能な帯域と伝送レートとの整合性がとれておらず、当該ネットワーク帯域を充分に活用できていない状態である。このため、伝送レートが高ビットレートに移行するまでの時間は短い方が望ましい。
なお、利用可能な帯域が急激に上がったとき、伝送レートの制御にTFRCを用いず、伝送レートを急激に高ビットレートに移行すると、パケットが輻輳して想定以上のパケット損失が発生する。その結果、受信端末における映像や音声に乱れが生じる。
本発明の目的は、ネットワークを介した通信中に利用可能と推定される帯域が急激に変化するとき、伝送レートを短時間で目標のビットレートに変更可能な伝送レート制御装置及び伝送レート制御方法を提供することである。
本発明は、ベストエフォート型のネットワークを介した2つの通信端末間の通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御システムで用いられる伝送レート制御装置であって、前記ネットワークを介して行った通信履歴を通信端末毎に記憶する通信履歴記憶部と、前記ネットワークを介した所定の通信端末との通信で生じた往復遅延時間を算出する往復遅延時間算出部と、前記通信履歴に記録されている前記所定の通信端末との通信で実現された過去伝送レート、及び前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間に基づいて前記所定の通信端末が算出した目標損失イベント率と、前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間と、に基づいて目標伝送レートを算出する目標伝送レート算出部と、前記現時点で設定されている伝送レートから前記目標伝送レート算出部が算出した目標伝送レートに変更するよう伝送レートを制御する伝送レート制御部と、を備えた伝送レート制御装置を提供する。
本発明は、ベストエフォート型のネットワークを介した通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御装置であって、前記ネットワークを介して行った通信履歴を通信端末毎に記憶する通信履歴記憶部と、前記ネットワークを介した通信端末との通信で生じた往復遅延時間を算出する往復遅延時間算出部と、前記通信履歴に記録されている所定の通信端末との通信で実現された過去伝送レートと、前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間とに基づいて、前記所定の通信端末との通信で設定する目標伝送レートを算出する目標伝送レート算出部と、現時点で設定されている伝送レートから前記目標伝送レートに変更する伝送レート制御部と、を備えた伝送レート制御装置を提供する。
本発明は、ベストエフォート型のネットワークを介した2つの通信端末間の通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御システムで行われる伝送レート制御方法であって、前記ネットワークを介して第2の通信端末と通信を行う第1の通信端末が、前記ネットワークを介した前記第2の通信端末との通信で生じた往復遅延時間を算出し、前記第2の通信端末が、前記第1の通信端末が行った当該第2の通信端末との通信で実現された過去伝送レート、及び前記第1の通信端末で算出された往復遅延時間に基づいて目標損失イベント率を算出し、前記第1の通信端末が、前記第2の通信端末で算出された目標損失イベント率と、前記往復遅延時間とに基づいて目標伝送レートを算出し、前記第1の通信端末が、前記現時点で設定されている伝送レートから前記目標伝送レートに変更するよう伝送レートを制御する伝送レート制御方法を提供する。
本発明は、ベストエフォート型のネットワークを介した通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御方法であって、前記ネットワークを介した通信端末との通信で生じた往復遅延時間を算出し、所定の通信端末との通信で実現された過去伝送レートと、前記所定の通信端末との通信で生じた往復遅延時間とに基づいて、前記所定の通信端末との通信で設定する目標伝送レートを算出し、現時点で設定されている伝送レートから前記目標伝送レートに変更する伝送レート制御方法を提供する。
本発明に係る伝送レート制御装置及び伝送レート制御方法によれば、ネットワークを介した通信中に利用可能と推定される帯域が急激に変化したとき、伝送レートを短時間で目標のビットレートに変更することができる。
送信端末X1,X2及び受信端末Y1,Y2がネットワークNに接続された通信システムを示す図 第1の実施形態の送信端末X1の内部構成を示すブロック図 第1の実施形態の受信端末Y1の内部構成を示すブロック図 第1の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化した際に行われる処理を示すタイミングチャート 第2の実施形態の送信端末X2の内部構成を示すブロック図 第2の実施形態の受信端末Y2の内部構成を示すブロック図 第2の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化した際に行われる処理を示すタイミングチャート 非特許文献2に開示された、過去の損失イベントの履歴を用いて損失イベント率を計算する方法を示すグラフ ベストエフォート型のネットワークを利用したテレビ会議システムの構成の一例を示す図
以下、本発明の実施形態について、図面を参照して説明する。なお、本実施形態では、図1に示すように、ストリーミングデータを送信する送信端末X1,X2及びストリーミングデータを受信する受信端末Y1,Y2が、ベストエフォート型のネットワークNに接続された通信システムについて説明する。なお、送信端末X1,X2及び受信端末Y1,Y2は、TFRC(TCP Friendly Rate Control)の技術を利用する通信端末である。
(第1の実施形態)
図2は、第1の実施形態の送信端末X1の内部構成を示すブロック図である。図2に示すように、第1の実施形態の送信端末X1は、エンコーダ101と、冗長符号処理部(FEC処理部)103と、パケット処理部105と、バッファ107と、パケット送信部109と、制御パケット受信部111と、RTT算出部113と、通信履歴記憶部115と、伝送レート算出部117と、制御部119と、呼監視部121と、変更方法決定部123と、一時伝送レート通知部125と、ARQ部127と、クロック129とを備える。
エンコーダ101は、所定の符号化レートに応じて映像や音声等のコンテンツデータの符号化を行う。冗長符号処理部103は、エンコーダ101で符号化されたコンテンツデータから、受信端末Y1がFEC(Forward Error Correction)等の誤り検出、又は誤り訂正を行なうための冗長符号を生成する。さらに、冗長符号処理部103は、この生成した冗長符号を、エンコーダ101で符号化されたコンテンツデータに付与して出力する。
上記説明した冗長符号は、XOR演算による符号やリードソロモン符号等である。また、冗長符号処理部103による冗長符号の生成は、後述するパケット処理部105によって得られたパケットに対して行っても良い。さらに、生成された冗長符号は、符号化されたコンテンツデータと共にひとつのパケットに合成されても、符号化されたコンテンツデータのパケットとは別のパケットに設けられても良い。
パケット処理部105は、エンコーダ101で符号化されたコンテンツデータに冗長符号が付加されたデータをパケット化し、作成したパケットをバッファ107に格納する。バッファ107は、ネットワークNに送出される前のパケットを一時蓄積する。なお、バッファ107にパケットを蓄積する際には、符号化されたコンテンツや冗長符号が生成された順に蓄積しても、インターリーブして蓄積しても良い。
パケット送信部109は、バッファ107に蓄積されたパケットを、制御部119から指示された伝送レートでネットワークNに送出する。なお、パケット送信部109が送信する一部のパケットには、ネットワークNを介した送受信端末間の通信で生じた往復遅延時間(以下「RTT」という。)を送信端末X1が計測するために用いられる、パケットの送信時刻Txを示す情報が付与される。送信時刻Txを示す情報が付与されるパケットは、コンテンツデータを含むRTP(Real-time Transport Protocol)パケットである。また、送信時刻Txを示す情報が付与されるパケットは、RTPパケットの伝送を制御するためのRTCP(Real-time Transport Control Protocol)パケット、またはその他の制御用パケット等である。なお、送信時刻Txは、送信端末Xが備えるクロック129から得られる。
制御パケット受信部111は、受信端末Y1から送信された受信者レポート及びフィードバックパケットを受信する。受信者レポートは、受信端末Y1で算出された損失イベント率Pに関する情報を含むRTCPパケットである。また、フィードバックパケットには、送信端末Xから送信された送信時刻Txが付与されている。なお、受信者レポートには、送信端末Xから送信された送信時刻Txを含めても良い。
RTT算出部113は、制御パケット受信部111が受信したフィードバックパケットの受信時刻Rxと、このフィードバックパケットに付与されている送信時刻Txとの差分(=Rx−Tx)を、RTTとして算出する。
通信履歴記憶部115は、過去に行った各通信端末との通信の伝送レート、損失率、損失イベント率及び往復遅延時間(RTT)の各々の最大値、最小値及び平均値を含む通信履歴を通信端末毎に記憶する。なお、通信履歴記憶部115には、損失率、損失イベント率及びRTTのそれぞれに関する分散率が記録されていても良い。また、通信履歴記憶部115に記録される統計値は、各通信端末の通信時間全体の統計値である必要はなく、通信切断前の所定時間の間の統計値であっても、通信時間帯毎の統計値であっても良い。
伝送レート算出部117は、RTT算出部113が算出したRTT、及び制御パケット受信部111が受信した受信者レポートに含まれる損失イベント率P等より、背景技術で説明した式(1)を用いて伝送レートを算出する。制御部119は、伝送レート算出部117が算出した伝送レートでパケットを送出するようパケット送信部109に指示する。
呼監視部121は、送信端末X1がネットワークNを介して通信を行う通信端末との接続状況を監視する。呼監視部121は、受信端末Y1との通信で利用可能な帯域が急激に変化する可能性があるか否かを判断し、当該帯域が急激に変化すると判断した場合には、次に説明する変更方法決定部123が動作するよう制御する。具体的には、呼接続先の端末の追加、削除、やRTTの急激な変化を契機として、利用可能な帯域が急激に変化すると判断する。例えば、背景技術の説明で述べたように、海外ネットワークの端末との通信が終了したときや、開始されたとき、回線切替などの理由によって急激にRTTが短縮した場合や増加した場合は、利用可能な帯域が急激に変化すると判断する。
変更方法決定部123は、通信履歴記憶部115に記録されている受信端末Y1との通信履歴に含まれる、伝送レートの最大値(以下「過去伝送レート」という)Xpと、現在の伝送レートとに基づいて、変更方針CPを決定する。なお、過去伝送レートは、伝送レートの最大値に限らず平均値であっても良い。また、過去伝送レートは、通信履歴記憶部115に記録されている受信端末Y1との通信履歴に含まれる損失イベント率の最大値、又は平均値であっても良い。また、過去伝送レートは、RTT算出部113で算出された往復遅延時間(RTT)等を、式(1)に代入して得られたものであっても良い。
変更方針CPは、現在の伝送レートから過去伝送レートXpにどのように変化させるかを示す。線形的なビットレートの変化は、変更方針CP_PROPと表される。線形的なビットレートの変化とは、例えば、RTT毎に伝送レートを段階的に上げる又は下げる変化である。また、定常的なビットレートの変化は、変更方針CP_CBRと表される。また、伝送レートを上げる場合と下げる場合とでビットレートの変化の形態が異なる場合は、変更方針CP_AIMDと表される。形態が異なるビットレートの変化とは、例えば、伝送レートを上げる場合には変更方針CP_CBRを適用し、伝送レートを下げる場合には変更方針CP_PROPを適用した変化である。
変更方法決定部123は、現在の伝送レートと過去伝送レートXpの差分に応じて、これら3つの変更方針CPの内からいずれか1つを決定する。例えば、変更方法決定部123は、当該差分が所定値より大きいとき変更方針CP_PROPを選択し、当該差分が所定値以下のとき変更方針CP_CBRを選択する。なお、変更方法決定部123は、予め設定された変更方針に決定しても良い。
また、変更方法決定部123は、過去伝送レートXpから現在の伝送レートを引いた値の符号に応じて、現在の伝送レートから過去伝送レートXpに変更するまでの所要時間Trを決定する。変更方法決定部123は、当該値の符号が正のとき、すなわち伝送レートを上げる場合には、RTT算出部113によって算出された往復遅延時間Rのn倍(nは正の整数であり定数)を所要時間Trに設定する。一方、当該値の符号が負のとき、すなわち伝送レートを下げる場合、変更方法決定部123は、往復遅延時間Rのlog(n)倍を所要時間Trに設定する。
一時伝送レート通知部125は、通信履歴記憶部115から読み出した過去伝送レートXp、変更方法決定部123が決定した変更方針CP、及び所要時間Trを受信端末Y1に送信する。さらに、一時伝送レート通知部125は、RTT算出部113によって算出された往復遅延時間Rに関する情報を受信端末Y1に送信する。
ARQ部127は、受信端末Y1から送られたRTPパケットの再送要求(NAK)を受け付ける。ARQ部127は、受け付けたNAKが示すパケットがバッファ107に蓄積されていれば、そのパケットを受信端末Y1に再送するようパケット送信部109に指示する。
図3は、第1の実施形態の受信端末Y1の内部構成を示すブロック図である。図3に示すように、第1の実施形態の受信端末Y1は、パケット受信部201と、バッファ203と、パケット処理部205と、冗長符号処理部(FEC処理部)207と、デコーダ209と、状況監視部211と、通信履歴記憶部213と、目標損失イベント率算出部215と、一時損失イベント間隔算出部217と、呼監視部219と、損失イベント率算出部221と、受信者レポート生成部223と、制御パケット送信部225と、ARQ部227と、クロック229とを備える。
パケット受信部201は、ネットワークNを介して送信端末Xから送信されたパケットを受信する。バッファ203は、パケット受信部201が受信したパケットを一時蓄積する。パケット処理部205は、バッファ203からパケットを読み出して、符号化されたコンテンツデータ及び冗長符号を抽出する。冗長符号処理部207は、読み出した冗長符号を用いて、符号化されたコンテンツデータの誤り検出又は誤り訂正を定期的に行う。デコーダ209は、誤り検出又は誤り訂正後の符号化されたコンテンツデータを復号する。
状況監視部211は、非特許文献1に示されるRFC3448で規定された損失イベントの発生を検知する機能を用いて、バッファ203に蓄積されたパケットに基づいて、送信端末X1から送出されたパケットの到着状況を監視する。状況監視部211は、損失イベントが発生した時刻とそのときのシーケンシャル番号から得られる損失イベント間隔c(k)を、通信履歴記憶部213に記録する。なお、損失イベントが発生した時刻は、受信端末Y1が備えるクロック229から得られる。背景技術で説明した図8は、受信端末Y1における損失イベントの履歴の一例を示すグラフでもある。
通信履歴記憶部213は、状況監視部211から出力された損失イベント間隔c(k)を通信履歴として通信端末毎に記憶する。また、通信履歴記憶部213は、一時損失イベント間隔算出部217、及び損失イベント率算出部221で用いられる8世代の各重みW(1)〜W(8)の情報を記憶する。なお、当該重みは、図8中に示した重み27〜27と同様である。
目標損失イベント率算出部215は、送信端末X1から送られた過去伝送レートXp及び往復遅延時間(RTT)R等より、下記式(2)を用いて目標損失イベント率TPを算出する。なお、線形的なビットレートの変化を示す変更方針CP_PROPの場合、下記式(2)中に代入されるパラメータXpには、現在の伝送レートと過去伝送レートXpの間の伝送レートが用いられる。
TP=α{s/(Xp・R)} …(2)
上記式(2)中のαは、調整パラメータである。sは、パケットサイズ[byte]である。Rは、送信端末X1から送られたRTT[秒]である。Xpは、送信端末X1から送られた過去伝送レート[bps]である。
一時損失イベント間隔算出部217は、算出された目標損失イベント率TP、及び8世代の各重みW(1)〜W(8)を用いて、8世代分の一時損失イベント間隔tc(1)〜tc(8)を式(3)で算出する。なお、一時損失イベント間隔算出部217は、通信履歴記憶部213から8世代の各重みW(1)〜W(8)を読み出す。
tc(k)=[W(k)/(AW・TP)] …(3)
上記式(3)中のtc(k)は、第k世代の一時損失イベント間隔である。また、W(k)は、第k世代に割り当てられた重みである。AWは、第1世代から第8世代に割り当てられた重みW(1)〜W(8)の合計である。なお、式(3)中の記号[ ]はガウス記号である。[x]は、実数x以下の最大の整数を表す。
呼監視部219は、受信端末Y1がネットワークNを介して通信を行う通信端末との接続状況を監視する。呼監視部219は、送信端末X1との通信で利用可能な帯域が急激に変化する可能性がある否かを判断し、当該帯域が急激に変化すると判断した場合には、次に説明する損失イベント率算出部221によって利用される損失イベント間隔を切り替える。
損失イベント率算出部221は、8世代分の損失イベント間隔に対する加重平均をとった重み付きの損失イベント間隔の逆数を損失イベント率Pとして算出する。損失イベント率算出部221がパラメータの1つとして用いる8世代分の損失イベント間隔は、通信履歴記憶部213に記録されている8世代分の損失イベント間隔c(1)〜c(8)である。また、8世代分の損失イベント間隔は、一時損失イベント間隔算出部217が算出した8世代分の一時損失イベント間隔tc(1)〜tc(8)である。また、8世代の各重みW(1)〜W(8)は、通信履歴記憶部213から読み出される。
損失イベント率算出部221は、通常は、通信履歴記憶部213に記録されている8世代分の損失イベント間隔c(1)〜c(8)を用いて損失イベント率Pを算出する。しかし、送信端末X1との通信で利用可能な帯域が急激に変化したと呼監視部219によって判断された場合には、一時損失イベント間隔算出部217が算出した8世代分の一時損失イベント間隔tc(1)〜tc(8)が用いられる。したがって、通常時の損失イベント率算出式は下記式(4)であり、帯域が急激に変化したときの損失イベント率算出式は下記式(5)である。
Figure 2010032370
受信者レポート生成部223は、損失イベント率算出部221によって算出された損失イベント率Pを含む受信者レポートを生成する。制御パケット送信部225は、受信者レポート生成部223によって生成された受信者レポートをRTCPパケットの形態で、損失イベントの発生毎又は定期的(例えば、RTT毎)に送信端末X1に送信する。また、制御パケット送信部225は、送信端末X1から送信された送信時刻Txを含むパケットに応じて、この送信時刻Txを示す情報を付与したフィードバックパケットを送信端末X1に送信する。
ARQ部227は、送信端末X1から送信されたRTPパケットの損失を、バッファ203に蓄積されたパケットのシーケンシャル番号の隔たりから検知する。ARQ部227は、検知した損失パケットの再送要求(NAK)を送信端末X1に送信し、かつ、当該再送要求処理を登録して時間をカウントする。ARQ部227は、この時間のカウントが送信端末X1と受信端末Y1の往復時間より大きくなった場合、再送要求を再送信し、当該再送要求処理を登録して時間を再びカウントする。ARQ部227は、所定時間送信したNAKに応じて送信端末X1から前記損失パケットを受信したとき、時間のカウントを停止して、登録した再送要求処理をキャンセルする。
以下、第1の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化した際に行われる処理について、図4を参照して詳細に説明する。図4は、第1の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化すると判定した際に行われる処理を示すタイミングチャートである。
まず、送信端末X1の変更方法決定部123は、変更方針CP及び所要時間Trを決定する(ステップS101)。次に、一時伝送レート通知部125は、過去伝送レートXp、変更方針CP、所要時間Tr及び往復遅延時間(RTT)Rに関する情報を受信端末Y1に送信する(ステップS103)。これらの情報を受信した受信端末Y1では、目標損失イベント率算出部215が、目標損失イベント率TPを算出する(ステップS105)。次に、一時損失イベント間隔算出部217は、8世代分の一時損失イベント間隔tc(1)〜tc(8)を算出する(ステップS107)。次に、損失イベント率算出部221は、ステップS107で算出した8世代分の一時損失イベント間隔tc(1)〜tc(8)及び8世代の各重みW(1)〜W(8)より、目標損失イベント率Pを算出する(ステップS109)。ステップS109で算出された目標損失イベント率Pは、送信端末X1に送信される(ステップS111)。
目標損失イベント率Pを受信した送信端末X1では、伝送レート算出部117が、目標損失イベント率P及び往復遅延時間(RTT)R等を用いて目標伝送レートを算出する(ステップS113)。次に、制御部119が、ステップS113で算出された目標伝送レートでパケットを送出するよう伝送レートを変更する(ステップS115)。
以上説明したように、本実施形態の通信システムでは、送受信端末間の通信で利用可能な帯域が急激に変化すると判断したとき、過去に実現された伝送レートから損失イベント間隔の履歴を生成した上で、TFRCを用いた伝送レートの制御が行われる。背景技術で説明したように、実際の損失イベント間隔に基づくTFRCを用いた伝送レートの制御では、伝送レートが滑らかに変化する。このため、従来の伝送レート制御では、伝送レートを低ビットレートから高ビットレート又は高ビットレートから低ビットレートに即座に変更できない。しかし、本実施形態では、上述したように、生成した損失イベント間隔の履歴を用いるため、伝送レートを短時間で目標のビットレートに変更することができる。
なお、本実施形態の通信システムが用いられるベストエフォート型のネットワークは、有線ネットワークであっても、無線ネットワークであってもかまわない。
また、送受信端末間の通信で利用可能な帯域が急激に変化する要因として、低ビットレートでしか通信できない無線端末との通信が終了した場合が考えられる。しかし、このようなユースケースでも本実施形態の通信システムは、伝送レートを短時間で目標のビットレートに変更することができる。
(第2の実施形態)
図5は、第2の実施形態の送信端末X2の内部構成を示すブロック図である。図5における送信端末X2は、エンコーダ101、冗長符号処理部(FEC処理部)103、パケット処理部105、バッファ107、パケット送信部109、制御パケット受信部301、RTT算出部113、通信履歴記憶部115、伝送レート算出部303、制御部119、呼監視部305、変更方法決定部123、目標損失イベント率算出部307、一時損失イベント間隔算出部309、損失イベント率算出部311、ARQ部127、及びクロック129とを備える。図5において、第1の実施形態の送信端末X1を示す図2と共通する構成要素には同じ参照符号が付されている。
送信端末X2が備える目標損失イベント率算出部307、一時損失イベント間隔算出部309及び損失イベント率算出部311は、第1の実施形態で説明した図3に示す受信端末Y1が備える各機能と同様である。第1の実施形態では、損失イベント率の算出を受信端末Y1側で行っているが、第2の実施形態では送信端末X2側で行う。
但し、本実施形態の制御パケット受信部301が受信する受信者レポートには、損失イベント率Pの代わりに損失イベント間隔c(k)が含まれている。なお、損失イベント間隔c(k)は通信履歴記憶部115に記録される。このように、本実施形態では、受信者レポートに損失イベント率Pが含まれておらず、損失イベント率Pは送信端末X2が備える損失イベント率算出部311が算出する。このため、本実施形態の伝送レート算出部303が式(1)のパラメータの1つである損失イベント率Pに代入する値は、損失イベント率算出部311が算出した値である。
送信端末X2が備える呼監視部305は、送信端末X2がネットワークNを介して通信を行う通信端末との接続状況を監視する。呼監視部305は、受信端末Y2との通信で利用可能な帯域が急激に変化したか否かを判断する。さらに、呼監視部305は、当該帯域が急激に変化した場合には、変更方法決定部123が動作するよう制御して、損失イベント率算出部311によって利用される損失イベント間隔を切り替える。
図6は、第2の実施形態の受信端末Y2の内部構成を示すブロック図である。図6における受信端末Y2は、パケット受信部201、バッファ203、パケット処理部205、冗長符号処理部(FEC処理部)207、デコーダ209、状況監視部401、受信者レポート生成部403、制御パケット送信部225、ARQ部227、及びクロック229とを備える。図6において、第1の実施形態の受信端末Y1を示す図3と共通する構成要素には同じ参照符号が付されている。
受信端末Y2が備える状況監視部401は、第1の実施形態と同様に、バッファ203に蓄積されたパケットに基づいて、送信端末X2から送出されたパケットの到着状況を監視する。但し、本実施形態の状況監視部401は、損失イベントが発生した時刻と、そのときのシーケンシャル番号から得られる損失イベント間隔c(k)を、受信者レポート生成部403に送る。受信端末Y2が備える受信者レポート生成部403は、状況監視部401から得られた損失イベント間隔c(k)を含む受信者レポートを生成する。
以下、第2の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化した際に行われる処理について、図7を参照して詳細に説明する。図7は、第2の実施形態の通信システムにおいて、送受信端末間の通信で利用可能な帯域が急激に変化すると判断した際に行われる処理を示すタイミングチャートである。
まず、送信端末X2の変更方法決定部123は、変更方針CP及び所要時間Trを決定する(ステップS201)。次に、目標損失イベント率算出部307が、目標損失イベント率TPを算出する(ステップS203)。次に、一時損失イベント間隔算出部309は、8世代分の一時損失イベント間隔tc(1)〜tc(8)を算出する(ステップS205)。次に、損失イベント率算出部311は、ステップS205で算出した8世代分の一時損失イベント間隔tc(1)〜tc(8)及び8世代の各重みW(1)〜W(8)より、目標損失イベント率Pを算出する(ステップS207)。次に、伝送レート算出部303は、目標損失イベント率P及び往復遅延時間(RTT)R等を用いて目標伝送レートを算出する(ステップS209)。次に、制御部119は、ステップS113で算出された目標伝送レートでパケットを送出するよう伝送レートを変更する(ステップS211)。
以上説明したように、本実施形態の通信システムでは、第1の実施形態と同様に、送受信端末間の通信で利用可能な帯域が急激に変化すると判断したとき、過去に実現された伝送レートから損失イベント間隔の履歴を生成した上で、TFRCを用いた伝送レートの制御が行われる。したがって、伝送レートを短時間で目標のビットレートに変更することができる。
(第3の実施形態)
上記実施形態の送信端末X1,X2は冗長符号処理部103及びARQ部127を備え、受信端末Y1,Y2は冗長符号処理部207及びARQ部227を備える。上述したように、送信端末X1,X2が備える冗長符号処理部103は、符号化されたコンテンツデータから冗長符号を生成し、符号化されたコンテンツデータに付与して出力する。また、受信端末Y1,Y2の冗長符号処理部207は、読み出した冗長符号を用いて、符号化されたコンテンツデータの誤り検出又は誤り訂正を定期的に行う。
一方、送信端末X1,X2が備えるARQ部127は、受信端末Y1,Y2から送られたRTPパケットの再送要求(NAK)を受け付ける。ARQ部127は、当該受け付けたNAKが示すパケットがバッファ107に蓄積されていれば、そのパケットを受信端末Y1,Y2に再送するようパケット送信部109に指示する。また、受信端末Y1,Y2が備えるARQ部227は、送信端末X1,X2から送信されたRTPパケットの損失を、バッファ203に蓄積されたパケットのシーケンシャル番号の隔たりから検知する。ARQ部227は、検知した損失パケットの再送要求(NAK)を送信端末X1,X2に送信し、かつ、当該再送要求処理を登録して時間をカウントする。ARQ部227は、この時間のカウントが送信端末X1と受信端末Y1の往復時間より大きくなった場合、あるいは送信端末X2と受信端末Y2の往復時間より大きくなった場合、再送要求を再送信する。さらに、ARQ部227は、当該再送要求処理を登録して時間を再びカウントする。ARQ部227は、所定時間送信したNAKに応じて送信端末X1,X2から送信された前記損失パケットを受信したときとき、時間のカウントを停止して、登録した再送要求処理をキャンセルする。
第3の実施形態では、送信端末X1,X2の冗長符号処理部103が行う冗長符号の生成に際して、制御部119からの指示に応じて、冗長符号処理部103は、コンテンツデータ量に対する冗長符号の長さを変える。以下、第3の実施形態では、コンテンツデータ量に対する冗長符号の長さを「冗長符号の強度」として説明する。例えば、冗長符号の強度が25%の場合、冗長符号処理部103は、コンテンツデータ量の1/4の長さの冗長符号を生成する。また、冗長符号の強度を上げるとは、冗長符号の強度を例えば25%から50%に変化させることである。
本実施形態では、送信端末X1,X2の呼監視部121,305が受信端末Y1,Y2との通信で利用可能な帯域が急激に変化すると判断する。呼監視部121,305が急激に変化すると判断したとき、制御部119は、通常時とは異なる冗長符号の強度で冗長符号を生成するよう冗長符号処理部103に指示する。このときの冗長符号の強度は、変更方針CPや伝送レートの制御に応じて上げても下げても良い。なお、制御部119は、変更方法決定部123によって決定された所要時間Trを経過した後には、冗長符号の強度を元に戻すよう冗長符号処理部103に指示する。
伝送レートを急激に上げるとパケット損失の発生確率が大きくなるが、所要時間Trの間は、冗長符号の強度を上げることによって、パケット損失の発生に対するサポートを厚くできる。逆に、伝送レートを急激に下げるとパケット損失の発生確率が小さくなるため、冗長符号の強度を下げる。冗長符号の強度を下げると冗長符号の生成処理量が減るため、冗長符号処理部103による冗長符号生成の高速処理が可能である。
また、第3の実施形態では、受信端末Y1の目標損失イベント率算出部215が変更方針CPを受信するようにした。受信したとき、目標損失イベント率算出部215は、受信端末Y1のバッファ203にパケットを一時蓄積する時間(受信許容遅延時間)を所要時間Trの間変える。また、目標損失イベント率算出部215は、伝送レートを急激に上げる変更方針CPを受信した場合はパケット損失の発生確率が大きくなるので、受信端末Y1が送信端末X1に再送要求を行う機会が増すように、受信許容遅延時間を延長する。これによって、再送が複数回行われ、パケット損失の発生に対するサポートを厚くできる。逆に、伝送レートを急激に下げるとパケット損失の発生確率が小さくなり、受信端末Y1が送信端末X1に再送要求を複数回行う必要が減るため、受信許容遅延時間を短縮する。なお、ARQ部227は、往復遅延時間(RTT)の倍数を単位として受信許容遅延時間を延長又は短縮する。なお、受信許容遅延時間の延長幅又は短縮幅は、常に往復遅延時間(RTT)の固定倍数としても、現在の伝送レートと過去伝送レートXpの差分等に応じて変更しても良い。
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本出願は、2008年9月19日出願の日本特許出願(特願2008−240986)に基づくものであり、その内容はここに参照として取り込まれる。
本発明に係る伝送レート制御装置は、ネットワークを介した通信中に利用可能と推定される帯域が急激に変化したとき、伝送レートを短時間で目標のビットレートに変更する通信端末等として有用である。
X1,X2 送信端末
Y1,Y2 受信端末
N ベストエフォート型のネットワーク
101 エンコーダ
103 冗長符号処理部(FEC処理部)
105 パケット処理部
107 バッファ
109 パケット送信部
111,301 制御パケット受信部
113 RTT算出部
115 通信履歴記憶部
117,303 伝送レート算出部
119 制御部
121,305 呼監視部
123 変更方法決定部
125 一時伝送レート通知部
127 ARQ部
129 クロック
201 パケット受信部
203 バッファ
205 パケット処理部
207 冗長符号処理部(FEC処理部)
209 デコーダ
211,401 状況監視部
213 通信履歴記憶部
215,307 目標損失イベント率算出部
217,309 一時損失イベント間隔算出部
219 呼監視部
221,311 損失イベント率算出部
223,403 受信者レポート生成部
225 制御パケット送信部
227 ARQ部
229 クロック

Claims (20)

  1. ベストエフォート型のネットワークを介した2つの通信端末間の通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御システムで用いられる伝送レート制御装置であって、
    前記ネットワークを介して行った通信履歴を通信端末毎に記憶する通信履歴記憶部と、
    前記ネットワークを介した所定の通信端末との通信で生じた往復遅延時間を算出する往復遅延時間算出部と、
    前記通信履歴に記録されている前記所定の通信端末との通信で実現された過去伝送レート、及び前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間に基づいて前記所定の通信端末が算出した目標損失イベント率と、前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間と、に基づいて目標伝送レートを算出する目標伝送レート算出部と、
    前記現時点で設定されている伝送レートから前記目標伝送レート算出部が算出した目標伝送レートに変更するよう伝送レートを制御する伝送レート制御部と、
    を備えた伝送レート制御装置。
  2. 前記所定の通信端末が算出する目標損失イベント率は、前記通信履歴に記録されている前記所定の通信端末との通信で実現された過去伝送レート、及び前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間に基づいて所定数の目標損失イベント間隔を算出し、当該所定数の目標損失イベント間隔の各々に割り当てられた重みを用いた前記所定数の目標損失イベント間隔の加重平均値の逆数を、前記目標損失イベント率として算出することを特徴とする請求項1記載の伝送レート制御装置。
  3. 請求項1又は2に記載の伝送レート制御装置であって、
    前記過去伝送レートは、前記通信履歴に記録されている前記所定の通信端末との通信で実現された伝送レートの最大値であることを特徴とする伝送レート制御装置。
  4. 請求項1〜3のいずれか一項に記載の伝送レート制御装置であって、
    前記過去伝送レートと前記現時点で設定されている伝送レートの差分の符号に応じて、前記伝送レート制御部が前記現時点で設定されている伝送レートから前記目標伝送レートに変更するまでの所要時間を決定する変更方法決定部を備えたことを特徴とする伝送レート制御装置。
  5. 請求項4に記載の伝送レート制御装置であって、
    前記変更方法決定部は、前記現時点で設定されている伝送レートに対して前記過去伝送レートが大きいとき、前記往復遅延時間のn倍(nは正の整数)を前記所要時間として決定することを特徴とする伝送レート制御装置。
  6. 請求項4に記載の伝送レート制御装置であって、
    前記変更方法決定部は、前記現時点で設定されている伝送レートに対して前記目標伝送レートが小さいとき、前記往復遅延時間のlog(n)倍(nは正の整数)を前記所要時間として決定することを特徴とする伝送レート制御装置。
  7. 請求項4〜6のいずれか一項に記載の伝送レート制御装置であって、
    前記伝送レート制御部は、前記所要時間の経過に比例して、前記現時点で設定されている伝送レートから前記目標伝送レートに変更するよう伝送レートを制御することを特徴とする伝送レート制御装置。
  8. 請求項1〜7のいずれか一項に記載の伝送レート制御装置であって、
    前記所定の通信端末に送信するデータから、所定の冗長符号の強度に応じて冗長符号を生成する冗長符号処理部を備え、
    前記冗長符号処理部は、前記伝送レート制御部が前記現時点で設定されている伝送レートから前記目標伝送レートに変更中は、当該変更前の冗長符号の強度とは異なる冗長符号の強度に応じて冗長符号を生成することを特徴とする伝送レート制御装置。
  9. 請求項1〜8のいずれか一項に記載の伝送レート制御装置であって、
    前記所定の通信端末は、前記ネットワークを介して受信したパケットを一時蓄積するバッファを備え、
    前記伝送レート制御部が前記現時点で設定されている伝送レートから前記目標伝送レートに変更中、前記所定の通信端末は、前記バッファにパケットを一時蓄積する時間を当該変更前とは異なる時間に設定することを特徴とする伝送レート制御装置。
  10. ベストエフォート型のネットワークを介した通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御装置であって、
    前記ネットワークを介して行った通信履歴を通信端末毎に記憶する通信履歴記憶部と、
    前記ネットワークを介した通信端末との通信で生じた往復遅延時間を算出する往復遅延時間算出部と、
    前記通信履歴に記録されている所定の通信端末との通信で実現された過去伝送レートと、前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間とに基づいて、前記所定の通信端末との通信で設定する目標伝送レートを算出する目標伝送レート算出部と、
    現時点で設定されている伝送レートから前記目標伝送レートに変更する伝送レート制御部と、
    を備えたことを特徴とする伝送レート制御装置。
  11. 請求項10に記載の伝送レート制御装置であって、
    前記目標伝送レート算出部は、前記通信履歴に記録されている前記所定の通信端末との通信で実現された過去伝送レートと、前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間とに基づいて目標損失イベント率を算出し、当該算出した目標損失イベント率及び前記往復遅延時間に基づいて前記目標伝送レートを算出することを特徴とする伝送レート制御装置。
  12. 請求項11に記載の伝送レート制御装置であって、
    前記目標伝送レート算出部は、前記通信履歴に記録されている前記所定の通信端末との通信で実現された過去伝送レートと、前記往復遅延時間算出部が算出した前記所定の通信端末との通信で生じた往復遅延時間とに基づいて所定数の目標損失イベント間隔を算出し、当該所定数の目標損失イベント間隔の各々に割り当てられた重みを用いた前記所定数の目標損失イベント間隔の加重平均値の逆数を、前記目標損失イベント率として算出することを特徴とする伝送レート制御装置。
  13. 請求項10〜12のいずれか一項に記載の伝送レート制御装置であって、
    前記過去伝送レートは、前記通信履歴に記録されている前記所定の通信端末との通信で実現された伝送レートの最大値であることを特徴とする伝送レート制御装置。
  14. 請求項10〜13のいずれか一項に記載の伝送レート制御装置であって、
    前記過去伝送レートと前記現時点で設定されている伝送レートの差分の符号に応じて、前記伝送レート制御部が前記現時点で設定されている伝送レートから前記目標伝送レートに変更するまでの所要時間を決定する変更方法決定部を備えたことを特徴とする伝送レート制御装置。
  15. 請求項14に記載の伝送レート制御装置であって、
    前記変更方法決定部は、前記現時点で設定されている伝送レートに対して前記過去伝送レートが大きいとき、前記往復遅延時間のn倍(nは正の整数)を前記所要時間として決定することを特徴とする伝送レート制御装置。
  16. 請求項14に記載の伝送レート制御装置であって、
    前記変更方法決定部は、前記現時点で設定されている伝送レートに対して前記目標伝送レートが小さいとき、前記往復遅延時間のlog(n)倍(nは正の整数)を前記所要時間として決定することを特徴とする伝送レート制御装置。
  17. 請求項14〜16のいずれか一項に記載の伝送レート制御装置であって、
    前記伝送レート制御部は、前記所要時間の経過に比例して、前記現時点で設定されている伝送レートから前記目標伝送レートに変更することを特徴とする伝送レート制御装置。
  18. 請求項10〜17のいずれか一項に記載の伝送レート制御装置であって、
    前記所定の通信端末に送信するデータから、所定の冗長符号の強度に応じて冗長符号を生成する冗長符号処理部を備え、
    前記冗長符号処理部は、前記伝送レート制御部が前記現時点で設定されている伝送レートから前記目標伝送レートに変更中は、当該変更前の冗長符号の強度とは異なる冗長符号の強度に応じて冗長符号を生成することを特徴とする伝送レート制御装置。
  19. ベストエフォート型のネットワークを介した2つの通信端末間の通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御システムで行われる伝送レート制御方法であって、
    前記ネットワークを介して第2の通信端末と通信を行う第1の通信端末が、前記ネットワークを介した前記第2の通信端末との通信で生じた往復遅延時間を算出し、
    前記第2の通信端末が、前記第1の通信端末が行った当該第2の通信端末との通信で実現された過去伝送レート、及び前記第1の通信端末で算出された往復遅延時間に基づいて目標損失イベント率を算出し、
    前記第1の通信端末が、前記第2の通信端末で算出された目標損失イベント率と、前記往復遅延時間とに基づいて目標伝送レートを算出し、
    前記第1の通信端末が、前記現時点で設定されている伝送レートから前記目標伝送レートに変更するよう伝送レートを制御することを特徴とする伝送レート制御方法。
  20. ベストエフォート型のネットワークを介した通信で利用可能と推定される帯域に応じて伝送レートを制御する伝送レート制御方法であって、
    前記ネットワークを介した通信端末との通信で生じた往復遅延時間を算出し、
    所定の通信端末との通信で実現された過去伝送レートと、前記所定の通信端末との通信で生じた往復遅延時間とに基づいて、前記所定の通信端末との通信で設定する目標伝送レートを算出し、
    現時点で設定されている伝送レートから前記目標伝送レートに変更することを特徴とする伝送レート制御方法。
JP2010529592A 2008-09-19 2009-08-11 伝送レート制御装置及び伝送レート制御方法 Expired - Fee Related JP5170798B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010529592A JP5170798B2 (ja) 2008-09-19 2009-08-11 伝送レート制御装置及び伝送レート制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008240986 2008-09-19
JP2008240986 2008-09-19
JP2010529592A JP5170798B2 (ja) 2008-09-19 2009-08-11 伝送レート制御装置及び伝送レート制御方法
PCT/JP2009/003863 WO2010032370A1 (ja) 2008-09-19 2009-08-11 伝送レート制御装置及び伝送レート制御方法

Publications (2)

Publication Number Publication Date
JPWO2010032370A1 true JPWO2010032370A1 (ja) 2012-02-02
JP5170798B2 JP5170798B2 (ja) 2013-03-27

Family

ID=42039222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010529592A Expired - Fee Related JP5170798B2 (ja) 2008-09-19 2009-08-11 伝送レート制御装置及び伝送レート制御方法

Country Status (4)

Country Link
US (1) US8699519B2 (ja)
JP (1) JP5170798B2 (ja)
CN (1) CN102160340B (ja)
WO (1) WO2010032370A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5565121B2 (ja) * 2010-06-09 2014-08-06 ソニー株式会社 通信処理装置、通信処理システム、通信処理方法及びプログラム
JP6086000B2 (ja) * 2013-03-11 2017-03-01 株式会社リコー 情報処理装置、通信制御方法及びプログラム
JP6303452B2 (ja) * 2013-12-02 2018-04-04 富士通株式会社 通信ノード
US10057149B2 (en) * 2014-09-16 2018-08-21 Mitsubishi Electric Corporation Delay measuring device, measurement object device and communication system
US10412779B2 (en) 2015-09-18 2019-09-10 Whatsapp Inc. Techniques to dynamically configure jitter buffer sizing
US9749178B2 (en) * 2015-09-18 2017-08-29 Whatsapp Inc. Techniques to dynamically configure target bitrate for streaming network connections
CN106888277B (zh) * 2017-03-07 2023-02-14 腾讯科技(深圳)有限公司 一种域名查询方法及装置
WO2021171481A1 (ja) * 2020-02-27 2021-09-02 日本電信電話株式会社 Nni故障検出システム、nni故障検出方法、及びプログラム
CN113423122B (zh) * 2021-06-03 2023-01-31 Oppo广东移动通信有限公司 上行速率的调节方法、装置、电子设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278070B2 (en) * 2001-09-14 2007-10-02 Texas Instruments Incorporated Interleaving to avoid wideband interference in a multi-carrier communications system
KR20030095995A (ko) * 2002-06-14 2003-12-24 마츠시타 덴끼 산교 가부시키가이샤 미디어 전송방법 및 그 송신장치 및 수신장치
JP3730974B2 (ja) 2002-06-14 2006-01-05 松下電器産業株式会社 メディア伝送方法及びその送信装置
EP1450514A1 (en) * 2003-02-18 2004-08-25 Matsushita Electric Industrial Co., Ltd. Server-based rate control in a multimedia streaming environment
US8503294B2 (en) * 2003-07-11 2013-08-06 Nec Corporation Transport layer relay method, transport layer relay device, and program
JP4559126B2 (ja) 2004-06-01 2010-10-06 日本電信電話株式会社 映像送信方法、映像送信装置、映像送信用プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
CN101523825B (zh) * 2006-10-02 2013-01-23 松下电器产业株式会社 流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统
GB2477515B (en) * 2010-02-03 2012-09-26 Orbital Multi Media Holdings Corp Data flow control method and apparatus

Also Published As

Publication number Publication date
CN102160340B (zh) 2014-10-08
CN102160340A (zh) 2011-08-17
JP5170798B2 (ja) 2013-03-27
US8699519B2 (en) 2014-04-15
US20110170417A1 (en) 2011-07-14
WO2010032370A1 (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
JP5170798B2 (ja) 伝送レート制御装置及び伝送レート制御方法
JP4520032B2 (ja) ヘッダ圧縮装置およびヘッダ圧縮方法
JP4454320B2 (ja) 伝送装置、伝送制御プログラム、及び伝送方法
EP1871031B1 (en) Retransmission control method and device
JP4840365B2 (ja) 通信装置、通信システム、通信方法、および、通信プログラム
US8014287B2 (en) Communications apparatus
JP4708978B2 (ja) 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル
Zhou et al. Goodput improvement for multipath TCP by congestion window adaptation in multi-radio devices
JP4354406B2 (ja) データユニット送信機及びこの送信機の制御方法
US20160323062A1 (en) Packet recovery in interactive real-time media protocol
JP6412160B2 (ja) 通信装置、通信装置システム及び通信方法
CN114024914A (zh) 视频数据传输方法、装置及电子设备
CN112769526B (zh) 数据包重传方法、系统和存储介质
KR100922472B1 (ko) 통신 단말, 통신 제어 방법 및 통신 제어 프로그램
US20060209687A1 (en) Communication rate control method and device
Dunaytsev et al. Modeling TCP SACK performance over wireless channels with completely reliable ARQ/FEC
JP4435817B2 (ja) 通信端末、通信制御方法および通信制御プログラム
JP2007515872A (ja) 一般nackレポートブロックおよび消失rleレポートブロックを使用するフィードバックの提供
CN111092907B (zh) 基于udp协议的数据流快速传输方法、系统及介质
US9232426B2 (en) System and method for improving information carrying capacity by controlling re-transmissions
JP2008270951A (ja) データ通信装置
JP2009273094A (ja) データ通信システム、データ通信端末、データ通信方法、およびプログラム
JPH05260090A (ja) 映像転送方式
KR101933175B1 (ko) 서버와 클라이언트간 통신을 중개하는 중개장치
Hu et al. A block based encoding approach for improving sliding window network coding in wireless networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121221

R150 Certificate of patent or registration of utility model

Ref document number: 5170798

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees