(57)【要約】  【課題】  ネットワーク状態を適切に考慮して送信間隔を決定できるデータ送信制御方法、通信装置、プログラムおよび記録媒体を提供する。  【解決手段】  ネットワーク状態検出部３１は、ネットワークを介して通信先から応答パケットを受信し、それを基に得たＲＴＴおよびパケットロス率を用いて、ネットワーク状態データＳＩを生成する。レート再調整部３７は、ネットワーク状態データＳＩを基に、ネットワークの状態に適合させてパケットデータの送信間隔を制御する。  【選択図】  図３
2006303887.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介したパケットデータの送信間隔を制御するデータ送信制御方法であって、
前記ネットワークが輻輳状態および非輻輳状態の何れであるかを検出する第１の工程と、
前記第１の工程で前記輻輳状態であると検出した場合に、前記第１の工程で非輻輳状態であると検出した場合に比べて前記パケットデータの送信レートを下げる第２の工程と
を有するデータ送信制御方法。
【請求項２】
前記第１の工程は、前記ネットワークが、前記非輻輳状態、前記輻輳状態、並びに回復状態であるかを検出し、
前記第２の工程は、前記１の工程で前記ネットワークが前記回復状態であると判断すると、前記パケットデータの送信レートを、前記輻輳状態で決定した送信レートより高くする
請求項１に記載のデータ送信制御方法。
【請求項３】
前記第１の工程は、過去の伝送遅延時間を反映した長期依存型伝送遅延時間と、前記長期依存型伝送遅延時間に比べて現在に近い伝送遅延時間を強く反映した短期依存型伝送遅延時間とを基に、前記ネットワークが非輻輳状態と輻輳状態とのいずれであるかを検出し、
前記第２の工程は、
パケットサイズと、パケットロス率と、カレント伝送遅延時間とを基に第１の送信レートを算出する第３の工程と、
前記長期依存型伝送遅延時間と前記短期依存型伝送遅延時間との比を基に、前記第３の工程で生成した前記第１の送信レートに比べ低い第２の送信レートを算出する第４の工程と、
前記第１の工程で前記ネットワークが非輻輳状態であると検出すると、前記第３の工程で算出した前記第１の送信レートで前記パケットデータを送信し、前記第１の工程で前記ネットワークが輻輳状態であると検出すると、前記第４の工程で算出した前記第２の送信レートで前記パケットデータを送信する第５の工程と
を有するデータ送信制御方法。
【請求項４】
前記第１の工程は、前記長期依存型伝送遅延時間が所定のしきい値より大きく、且つ、短期依存型伝送遅延時間が長期依存型伝送遅延時間より大きい場合に、輻輳状態に切り換わったと判断する
請求項３に記載のデータ送信制御方法。
【請求項５】
前記第３の工程は、
前記パケットサイズに比例し、前記カレント伝送遅延時間および前記パケットロス率に反比例する第１の送信間隔を算出し、
カレント送信間隔が前記第１の送信間隔より大きい場合に、前記第１の送信間隔と、前記カレント送信間隔の半分の送信間隔とのうち大きい方を第２の送信間隔とし、
前記カレント送信間隔が前記第１の送信間隔以下の場合に、前記カレント送信間隔に、前記パケットサイズに比例し前記カレント伝送遅延時間に反比例する値を加算して前記第２の送信間隔を算出し、
前記第２の送信間隔に応じた前記第１の送信レートで前記パケットデータを送信する
請求項３に記載のデータ送信制御方法。
【請求項６】
前記第１の工程は、前記ネットワークが、前記非輻輳状態、前記輻輳状態、並びに回復状態であるかを検出し、
前記第３の工程は、前記１の工程で前記ネットワークが前記回復状態であると判断すると、前記第１の送信間隔と、前記第２の送信レートに対応した第３の送信間隔とのうち短い方に対応した前記第１の送信レートで送信する
請求項５に記載のデータ送信制御方法。
【請求項７】
前記第１の工程で前記ネットワークが非輻輳状態あるいは回復状態であると検出したことを条件に、前記ネットワークを介して受信したパケットデータ内に含まれるパケットロス率を基に、前記第３の工程で用いる前記パケットロス率を更新する
請求項３に記載のデータ送信制御方法。
【請求項８】
ネットワークを介したパケットデータの送信間隔を制御する通信装置であって、
前記ネットワークを介したデータ送受信を行うインタフェースと、
前記ネットワークが輻輳状態であると検出した場合に、非輻輳状態であると検出した場合に比べて前記パケットデータの送信レートを低くする制御回路と
を有する通信装置。
【請求項９】
ネットワークを介したパケットデータの送信間隔を制御する通信装置が実行するプログラムであって、
前記ネットワークが輻輳状態および非輻輳状態の何れであるかを検出する第１の手順と、
前記第１の手順で前記輻輳状態であると検出した場合に、前記第１の手順で非輻輳状態であると検出した場合に比べて前記パケットデータの送信レートを低くする第２の手順と
を前記通信装置に実行させるプログラム。
【請求項１０】
ネットワークを介したパケットデータの送信間隔を制御する通信装置が実行するプログラムを記録する記録媒体であって、
前記プログラムは、
前記ネットワークが輻輳状態および非輻輳状態の何れであるかを検出する第１の手順と、
前記第１の手順で前記輻輳状態であると検出した場合に、前記第１の手順で非輻輳状態であると検出した場合に比べて前記パケットデータの送信レートを低くする第２の手順と
を前記通信装置に実行させる
記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してデータを送信するデータ送信制御方法、通信装置、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
例えば、ＩＥＥＥ８０２．１１ａ／ｂ／ｇなどの採用に伴い、広帯域無線ネットワークを介したビデオストリーミング技術の開発が行われている。
このようなビデオストリーミング・アプリケーションに関して重要な技術としてレート制御がある。レート制御は、配信するビット数、並びにレシーバにおける最終的な再構築品質を決定するものである。
レート制御として、ＴＦＲＣ(TCP Friendly Rate Control)が知られている（非特許文献１，２，３）。
しかしながら、このレート制御は、有線ネットワークにおけるバッファ・オーバフローに対処するために設計され、全てのロスを輻輳の兆候として扱う。この仮定は、復旧不可能なビットエラーに起因した低階層プロトコルによってパケットが破棄される無線ＬＡＮにおいては、常に正しいわけではない。
【０００３】
無線ネットワークのレート制御の性能を向上させるために様々な努力がなされている。低階層プロトコルの変更を行わない、エンド・ツゥ・エンドの分析によれば、パケットロスの要因を推定することができ、エンド対エンド送信の性能を改善することが可能である（非特許文献４−７）。
従来では、送信側が、受信側から所定のパケットデータについての再送信要求(retry request)を所定回数以上受信すると、そのパケットデータを破棄し、それを基にロスパケットとして扱い、その結果を基に送信間隔を決定している。
【０００４】
【非特許文献１】S. Floyd, M. Handley, J. Padhye and J. Widmer, “Equation-Based Congestion control for Unicast Applications”, Proc. ACM SGCOMM 2000, pp. 43-56, Aug. 2000.
【非特許文献２】S. Futemma, et al. “JPEG2000 Video Streaming with TCP-Friendly Rate Control”, IEEE CCNC, Lasvags, USA, Jan. 2005.
【非特許文献３】R. Rejaie, et. al, “RAP: An End-to-end Rate-based Congestion Mechanism for Realtime Streams in the Internet”, in Proc. Of IEEE INFOCOMM, Mar. 1999.
【非特許文献４】S. Cen, P.C. Cosman, and G.M. Voelker, “End-to-end differentiation of congestion and wireless losses”, Proc. Multimedia Computing and Networking (MMCN) conf. 2002, pp. 1-15, San Jose, CA. Jan 23-25, 2002.
【非特許文献５】V.E. Mujica V., D. Sisalem, et.al., “TCP-Friendly Congestion control over wireless networks”, In Proc. Of European Wireless, Barcelona, Spain, Feb. 2004.
【非特許文献６】Z. Fu, X. Meng, S. Lu, “TCP friendly Rate Adaptation for Multimedia Streaming in Mobile Ad-hoc Networks”, IEEE MMNS'03 2003, Ireland.
【非特許文献７】M. Chen, A. Zakhor, “Rate control for streaming video over wireless”, Proceeding of Infocom 2004, Hongkong, China, March, 2004.
【非特許文献８】A. Miu, J. G. Apostolopoulos, W. Tan, and M. Troot, “Low-latency wireless video over 802.11 Networks using path diversity”, IEEE ICME, 2003.
【非特許文献９】M. Lacage, M. Hossein Manshaei, and T. Turletti, “IEEE 802.11 Rate Adaptation: A Practical Approach”, International Workshop on Modelling Analysis and Simulation of Wireless and Mobile Systems, Venice, Italy, pp. 126-134, 2004.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、送信側は、ネットワークが輻輳状態になり、その送信間隔がネットワークのバンド幅より大きくなると、パケットデータを破棄する。
しかしながら、上述したように、送信側でパケットデータを破棄すると、受信側が受信しないパケットデータが発生し、受信側の画質が劣化する。
【０００６】
本発明は上述した従来技術の問題点を解決するために、ネットワーク状態を適切に考慮して送信レートを決定できるデータ送信制御方法、通信装置、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した従来技術の問題点を解決し、上述した目的を達成するため、第１の観点の発明のデータ送信制御方法は、ネットワークを介したパケットデータの送信間隔を制御するデータ送信制御方法であって、前記ネットワークが輻輳状態および非輻輳状態の何れであるかを検出する第１の工程と、前記第１の工程で前記輻輳状態であると検出した場合に、前記第１の工程で非輻輳状態であると検出した場合に比べて前記パケットデータの送信レートを低くする第２の工程とを有する。
【０００８】
第２の観点の発明の通信装置は、ネットワークを介したパケットデータの送信間隔を制御する通信装置であって、前記ネットワークを介したデータ送受信を行うインタフェースと、前記ネットワークが輻輳状態であると検出した場合に、非輻輳状態であると検出した場合に比べて前記パケットデータの送信レートを低くする制御回路とを有する。
【０００９】
第３の観点の発明のプログラムは、ネットワークを介したパケットデータの送信間隔を制御する通信装置が実行するプログラムであって、前記ネットワークが輻輳状態および非輻輳状態の何れであるかを検出する第１の手順と、前記第１の手順で前記輻輳状態であると検出した場合に、前記第１の手順で非輻輳状態であると検出した場合に比べて前記パケットデータの送信レートを低くする第２の手順とを前記通信装置に実行させる。
【００１０】
第４の観点の発明の記録媒体は、ネットワークを介したパケットデータの送信間隔を制御する通信装置が実行するプログラムを記録する記録媒体であって、前記プログラムは、前記ネットワークが輻輳状態および非輻輳状態の何れであるかを検出する第１の手順と、前記第１の手順で前記輻輳状態であると検出した場合に、前記第１の手順で非輻輳状態であると検出した場合に比べて前記パケットデータの送信レートを低くする第２の手順とを前記通信装置に実行させる。
【発明の効果】
【００１１】
本発明によれば、ネットワーク状態を適切に考慮して送信レートを決定できるデータ送信制御方法、通信装置、プログラムおよび記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態に係わる通信システムを説明する。
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
図５に示す手順、並びに図８に示すステップＳＴ５１，ＳＴ５２，ＳＴ５３が、本発明の第１の工程、第１の手順の一例である。
また、図８に示すステップＳＴ５２，ＳＴ５４，ＳＴ５６が、本発明の第２の工程、第２の手順の一例である。
また、図７に示す手順が本発明の第３の工程の一例であり、図８に示すステップＳＴ５４が本発明の第４の工程の一例であり、図８に示すステップＳＴ５７が本発明の第５の工程の一例である。
また、本実施形態の送信間隔Ｔが本発明の第１の送信レートの一例であり、「Ｔ×ｒｖａｌｘ」が本発明の第２の送信レートの一例である。
また、本実施形態の送信間隔Ｘが本発明の第１の送信間隔の一例である。
また、本実施形態の送信間隔Ｔが本発明の第２の送信間隔の一例である。
また、本実施形態の「Ｔ×ｒｖａｌｘ」が本発明の第３の送信間隔の一例である。
また、本実施形態のＬＲＴＴが本発明の長期依存型伝送遅延時間の一例であり、ＳＲＴＴが本発明の短期依存型伝送遅延時間の一例である。
【００１３】
本実施形態では、パケットデータの送信レートを送信間隔で制御する場合を例示するが、パケットサイズを制御してもよい。
【００１４】
図２に示すプログラムＰＲＧが本発明のプログラムの一例である。
また、図２に示すメモリ９が本発明の記録媒体の一例であり、その他、光ディスク、光時期ディスク、ハードディスクドライブなどでもよい。
【００１５】
また、図２に示すパケット受信回路１１およびパケット送信回路１７が、本発明のインタフェースの一例である。
また、レート制御回路２３が本発明の制御回路の一例である。
【００１６】
図１は、本発明の実施形態に係わる通信システム１の全体構成図である。
図１において、通信装置２＿１，２＿２は、インターネットを含むネットワーク３を介して、接続されている。通信装置２＿１は、例えばJPEG2000などの符号化方式により符号化された階層符号化データなどの画像データ（動画データ）を含むパケット（以下の説明において、画像データを含むパケットをパケットデータと称する）を生成する。
そして、通信装置２＿１は、上記生成したパケットデータを、ネットワーク３を介して、通信装置２＿２に実時間送信する。
また、通信装置２＿１は、通信装置２＿２より、通信装置２＿１がパケットデータを送信した送信時刻やパケットロス率などの情報を含む確認応答のパケット（以下の説明において、通信装置２＿２から通信装置２＿１に送信される確認応答のパケットを応答パケットと称する）を受信し、これらの情報に基づいて、パケットデータの送信間隔（送信レート）を制御する。
【００１７】
通信装置２＿２は、通信装置２＿１から受信したパケットデータから、画像データを取得し、所定の記録媒体に記録するとともに、通信装置２＿１によるパケットデータの送信時刻やパケットロス率などの情報を含む応答パケットを生成し、この応答パケットを、通信装置２＿１に送信する。
【００１８】
通信システム１は、例えば、通信装置２＿１から通信装置２＿２にビデオデータをパケット形式で送信し、通信装置２＿２においてストリーミング再生させる。
すなわち、通信システム１では、通信装置２＿１と通信装置２＿２とはリアルタイム通信を行う。
【００１９】
図２は、図１に示す通信装置２＿１の構成図である。
図２に示すように、通信装置２＿１は、例えば、パケット受信回路１１、記録媒体１３、パケット生成回路１５、パケット送信回路１７、メモリ１９、制御回路２１、並びにレート制御回路２３を有する。
【００２０】
パケット受信回路１１は、ネットワーク３を介して通信装置２＿２からパケットデータを受信し、これをレート制御回路２３に出力する。
【００２１】
記録媒体１３には、例えばJPEG2000などの符号化方式により符号化された画像データが記録されており、適宜、この画像データを、パケット生成回路１５に出力する。
【００２２】
パケット生成回路１５は、レート制御回路２３からの送信間隔Ｔ’に基づいて、記録媒体１０３から読み出した画像データを分割し、パケットデータを生成し、生成されたパケットデータに、TCP/IP（Transmission Control Protocol/Internet Protocol）、またはUDP/IP（User Datagram Protocol/Internet Protocol）のパケットヘッダを付加して、パケット送信回路１７に出力する。パケットヘッダには、パケットデータの個々を識別するための、シーケンス番号が含まれている。
なお、パケット生成回路１５は、記録媒体１３ではなく、所定のインタフェースを介して入力した画像データを分割してパケットデータを生成してもよい。
【００２３】
パケット送信回路１７は、レート制御回路２３からの送信間隔Ｔ’に基づいて、パケット生成回路１５から入力したパケットデータを、所定のタイミングで、ネットワーク３を介して、通信装置２＿２に送信する。
なお、パケット送信回路１７は、パケットデータを送信するとき、パケットデータの送信時刻として、現在時刻をパケットヘッダに記録する。
【００２４】
メモリ１９は、制御回路２１の処理を規定したプログラムＰＲＧ、並びに制御回路２１の処理に用いられるデータを記憶する。
制御回路２１は、メモリ１９から読み出したプログラムＰＲＧを実行し、本実施形態で説明する通信装置２＿１の処理を統括的に制御する。
【００２５】
以下、図２に示すレート制御回路２３について説明する。
レート制御回路２３は、図２に示すように、例えば、エラー訂正部２５、ＲＴＴ（Round Trip Time）算出部２６、ロス率算出部２７および送信間隔設定部２８を有する。
【００２６】
レート制御回路２３は、パケット受信回路１１から入力した受信された応答パケットに基づいて、送信間隔Ｔ’を生成し、これをパケット生成回路１５およびパケット送信回路１７に出力する。
これにより、レート制御回路２３は、パケットデータの送信間隔を最適な値に調節する。
【００２７】
エラー訂正部２５は、パケット受信回路１１から入力したパケットデータに対して、ARQ（Automatic Repeat reQuest）、FEC（Forward Error Correction）、およびパリティチェックなどのエラー訂正処理を施す。
【００２８】
ＲＴＴ算出部２６は、受信した応答パケットに基づいてカレントＲＴＴを算出し、これを送信間隔設定部２８に出力する。
具体的には、ＲＴＴ算出部２６は、上記応答パケットの受信時刻から、当該応答パケットに含まれる通信装置２＿１によるパケットデータの送信時刻を差し引いて上記カレントＲＴＴを算出する。
【００２９】
ロス率算出部２７は、受信した応答パケットに含まれているパケットロス率に基づいて、履歴を考慮した現在のパケットロス率ｐを算出し、これを送信間隔設定部２８に出力する。
なお、パケットロス率ｐは、直近に上記受信した応答パケットに含まれているパケットロス率をそのまま用いてもよい。
【００３０】
以下、送信間隔設定部２８について説明する。
送信間隔設定部２８は、ＲＴＴ算出部２６からのカレントＲＴＴと、ロス率算出部２７からのパケットロス率ｐとを基に、送信間隔Ｔ’を決定（設定）する。
図３は、図２に示す送信間隔設定部２８の構成図である。
図３に示すように、送信間隔設定部２８は、例えば、ネットワーク状態検出部３１、ＴＣＰレート算出部３３、ＡＩＭＤ（Additive Increase and Multiplicative Decrease）調整部３５およびレート再調整部３７を有する。
【００３１】
［ネットワーク状態検出部３１］
ネットワーク状態検出部３１は、ＲＴＴ算出部２６からのカレントＲＴＴと、ロス率算出部２７からのパケットロス率ｐとを基に、ネットワーク状態データＳＩと、パケットロス率ｐｃとを生成する。
ネットワーク状態検出部３１は、下記式（１），（２），（３）により、ＬＲＴＴ，ＳＲＴＴ，ｒｖａｌを算出する。
【００３２】
［数１］
ＬＲＴＴ＝αＬ×ＬＲＴＴ＋（１−αＬ）×カレントＲＴＴ  
…（１）
【００３３】
［数２］
ＳＲＴＴ＝αＳ×ＳＲＴＴ＋（１−αＳ）×カレントＲＴＴ  
…（２）
【００３４】
［数３］
ｒｖａｌ＝ＬＲＴＴ／ＳＲＴＴ
…（３）
【００３５】
上記式（１），（２）において、αＬ、αＳは、それぞれＬＲＴＴ、ＳＲＴＴの重みパラメータである。
ＬＲＴＴは、ネットワーク３上の長期間のネットワークキャパシティ状態を反映している。
ＳＲＴＴは、ネットワーク３上の直近のネットワークリソースを反映している。
αＬは、１に近い値、例えば０．９である。
αＳは、０に近い値、例えば０．５である。
【００３６】
ＬＲＴＴおよびＳＲＴＴは、例えば、図４に示すように激しく変動する。
【００３７】
ネットワーク状態検出部３１は、上記ＬＲＴＴと、ｒｖａｌを基に、以下に示すように、ネットワーク状態データＳＩを決定する。
【００３８】
図５は、ネットワーク状態検出部３１によるネットワーク状態データＳＩの決定方法を説明するためのフローチャートである。
ステップＳＴ１１：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩを初期値「０」に決定（設定）する。
本実施形態において、「０」はネットワーク３の非輻輳状態を示している。
【００３９】
ステップＳＴ１２：
ネットワーク状態検出部３１は、ＲＴＴ算出部２６からのカレントＲＴＴを用いて、上記式（１）を基に、ＬＲＴＴを算出する。
また、ネットワーク状態検出部３１は、ＲＴＴ算出部２６からのカレントＲＴＴを用いて、上記式（２），（３）を基に、ｒｖａｌを算出する。
【００４０】
ステップＳＴ１３：
ネットワーク状態検出部３１は、ステップＳＴ１２で算出したＬＲＴＴ，ｒｖａｌが、「ＬＲＴＴ＞ｔｈｒ（ＬＲＴＴ）」且つ「ｒｖａｌ＜１」を満たすか否かを判断し、満たすと判断するとステップＳＴ１４に進み、そうでない場合にはステップＳＴ１５に進む。
ここで、ｔｈｒ（ＬＲＴＴ）は、予め決められたしきい値である。
【００４１】
ステップＳＴ１４：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩに「１」を設定する。
本実施形態において、「１」はネットワーク３の輻輳状態を示している。
【００４２】
ステップＳＴ１５：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩが「１」であり、且つ、ステップＳＴ１２で算出したｒｖａｌが「ｒｖａｌ＜ｔｈｒ（ｒｖａｌ）」を満たすか否かを判断し、満たすと判断するとステップＳＴ１６に進み、そうでない場合にはステップＳＴ１７に進む。
ここで、ｔｈｒ（ｒｖａｌ）は、予め決められたしきい値である。
【００４３】
ステップＳＴ１６：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩを「１」に保持する。
【００４４】
ステップＳＴ１７：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩが「１」であり、且つ、ステップＳＴ１２で算出したｒｖａｌが「ｒｖａｌ＞＝ｔｈｒ（ｒｖａｌ）」を満たすか否かを判断し、満たすと判断するとステップＳＴ１８に進み、そうでない場合にはステップＳＴ１９に進む。
ここで、ｔｈｒ（ｒｖａｌ）は、予め決められたしきい値である。
【００４５】
ステップＳＴ１８：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩに「２」を設定する。
本実施形態において、「２」はネットワーク３の回復(fast recovery)状態を示している。
【００４６】
ステップＳＴ１９：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩが「２」であり、且つ、ステップＳＴ１２で算出したｒｖａｌが「ｒｖａｌ＞＝１」を満たすか否かを判断し、満たすと判断するとステップＳＴ２０に進み、そうでない場合にはステップＳＴ２１に進む。
【００４７】
ステップＳＴ２０：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩを「２」に保持する。
【００４８】
ステップＳＴ２１：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩを「０」に設定する。
【００４９】
上述したように、ネットワーク状態検出部３１は、カレントのネットワーク状態データＳＩ、ＬＲＴＴ、ｒｖａｌを基に、ネットワーク状態データＳＩを輻輳状態、非輻輳状態および回復状態の３つの状態の間で遷移させる。
【００５０】
また、ネットワーク状態検出部３１は、パケットロス率ｐｃを以下に示すように生成する。
図６は、当該処理を説明するためフローチャートである。
ステップＳＴ３１：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩが「０」または「２」、すなわち非輻輳状態あるいは回復状態であるか否かを判断し、そうであると判断すると、ステップＳＴ３２に進む。
【００５１】
ステップＳＴ３２：
ネットワーク状態検出部３１は、パケットロス率ｐｃを下記式（４）により算出する。
【００５２】
［数４］
ｐｃ＝０．９×ｐｃ
…（４）
【００５３】
ステップＳＴ３３：
ネットワーク状態検出部３１は、ネットワーク状態データＳＩが「１」、すなわち輻輳状態であるか否かを判断し、そうであると判断すると、ステップＳＴ３２に進む。
【００５４】
ステップＳＴ３４：
ネットワーク状態検出部３１は、パケットロス率ｐｃを下記式（５）により算出する。
【００５５】
［数５］
ｐｃ＝０．９×ｐｃ＋０．１ｐ
…（５）
【００５６】
上述したように、ネットワーク状態検出部３１は、輻輳状態においてはカレントのパケットロス率ｐをパケットロス率ｐｃに反映させ、非輻輳状態および回復状態においてはカレントのパケットロス率ｐをパケットロス率ｐｃに反映させない。
これにより、輻輳に起因したパケットロス率ｐのみを送信時間Ｔ’に反映させることができる。
【００５７】
ネットワーク状態検出部３１は、図５に示す手順で生成したネットワーク状態データＳＩを図３に示すレート再調整部３７に出力する。
また、ネットワーク状態検出部３１は、図２に示すＲＴＴ算出部２６から入力したカレントＲＴＴと、図６に示す手順で生成したパケットロス率ｐｃとを、ＴＣＰレート算出部３３に出力する。
【００５８】
［ＴＣＰレート算出部３３］
ＴＣＰレート算出部３３は、ネットワーク状態検出部３１から入力したカレントＲＴＴとパケットロス率ｐｃとを基に、下記式（６）に基づいて、送信間隔Ｘを算出する。
下記式（６）において、ＴＲＴＯは、４×カレントＲＴＴである。
【００５９】
【数６】
2006303887.tif 000003
【００６０】
ＴＣＰレート算出部３３は、上記算出した送信間隔ＸをＡＩＭＤ調整部３５に出力する。
【００６１】
［ＡＩＭＤ調整部３５］
ＡＩＭＤ調整部３５は、ＴＣＰレート算出部３３から入力した送信間隔Ｘと、レート再調整部３７から入力した調整送信間隔Ｔ’とを基に、送信間隔Ｔを決定（生成）する。
図７は、ＡＩＭＤ調整部３５の処理を説明するためのフローチャートである。
ステップＳＴ４１：
ＡＩＭＤ調整部３５は、ＴＣＰレート算出部３３から入力した送信間隔Ｘと、調整送信間隔Ｔ’とを比較し、送信間隔Ｔ’のほうが大きいと判断すると、ステップＳＴ４２に進み、そうでない場合にはステップＳＴ４３に進む。
【００６２】
ステップＳＴ４２：
ＡＩＭＤ調整部３５は、ＴＣＰレート算出部３３から入力した送信間隔Ｘと、調整送信間隔Ｔ’の「Ｔ’／２」との大きいほうを、送信間隔Ｔとして決定する。
【００６３】
ステップＳＴ４３：
ＡＩＭＤ調整部３５は、下記式（７）に基づいて、新たな送信間隔Ｔを算出する。
【００６４】
［数７］
Ｔ＝Ｔ’＋ｓ／カレントＲＴＴ
…（７）
【００６５】
［レート再調整部３７］
レート再調整部３７は、ネットワーク状態検出部３１からのネットワーク状態データＳＩと、ＡＩＭＤ調整部３５から送信間隔Ｔとを基に、調整送信間隔Ｔ’を生成する。
図８は、レート再調整部３７の処理を説明するためのフローチャートである。
ステップＳＴ５１：
レート再調整部３７は、ネットワーク状態検出部３１からの入力したネットワーク状態データＳＩが「０」を示すか否か、すなわちネットワーク３が非輻輳状態であるか否かを判断し、「０」であると判断するとステップＳＴ５２に進む。
【００６６】
ステップＳＴ５２：
レート再調整部３７は、ＡＩＭＤ調整部３５から入力した送信間隔Ｔを、調整送信間隔Ｔ’とする。
【００６７】
ステップＳＴ５３：
レート再調整部３７は、ネットワーク状態検出部３１から入力したネットワーク状態データＳＩが「１」を示すか否か、すなわちネットワーク３が輻輳状態であるか否かを判断し、「１」であると判断するとステップＳＴ５４に進む。
【００６８】
ステップＳＴ５４：
レート再調整部３７は、ＡＩＭＤ調整部３５から入力した送信間隔Ｔと、前述した式（１）〜（４）を基に算出したｒｖａｌと、パラメータｘとを用いて、下記式（８）により、調整送信間隔Ｔ’を算出する。
下記式（８）において、ｘは、適宜決定される正の値であり、例えば「３」である。
【００６９】
［数８］
Ｔ’＝Ｔ×ｒｖａｌｘ
…（８）
【００７０】
ステップＳＴ５５：
レート再調整部３７は、ネットワーク状態検出部３１から入力したネットワーク状態データＳＩが「２」を示すか否か、すなわちネットワーク３が回復状態であるか否かを判断し、「２」であると判断するとステップＳＴ５６に進む。
本実施形態において、回復状態は、例えば、通信装置２＿２から所定のパケットデータについての再送信要求を複数回受信しているなどの状態を示す。この状態は、通信装置２＿１が通信装置２＿２から再送信要求を受信しているため、比較的、軽い輻輳状態であるといえる。回復状態では、例えば、通信装置２＿１は、パケットデータの廃棄が起きる前に、ネットワーク３に送出していたパケットデータの半分を、廃棄が起きてからも送出する。
【００７１】
ステップＳＴ５６：
レート再調整部３７は、ＴＣＰレート算出部３３から入力した送信間隔Ｘと、ＡＩＭＤ調整部３５から入力した送信間隔Ｔと、前述した式（１）〜（４）を基に算出したｒｖａｌと、パラメータｘとを基に、送信間隔ＸとＴ×ｒｖａｌｘとのうち小さい方を調整送信間隔Ｔ’とする。
【００７２】
ステップＳＴ５７：
レート再調整部３７は、上記調整送信間隔Ｔ’を、図２に示すパケット生成回路１５およびパケット送信回路１７に出力する。
これにより、パケット送信回路１７は、調整送信間隔Ｔ’でパケットデータをネットワーク３に送出する。
【００７３】
以下、通信装置２＿１の全体動作例を説明する。
パケット受信回路１１が、ネットワーク３を介して通信装置２＿２から応答パケットデータを受信し、これをレート制御回路２３に出力する。
そして、レート制御回路２３が、上記応答パケットデータを基に、調整送信レートＴ’を生成し、これをパケット生成回路１５およびパケット送信回路１７に出力する。
【００７４】
パケット生成回路１５は、レート制御回路２３からの送信間隔Ｔ’に基づいて、記録媒体１０３から読み出した画像データを分割し、パケットデータを生成し、生成されたパケットデータにパケットヘッダを付加して、パケット送信回路１７に出力する。
【００７５】
パケット送信回路１７は、レート制御回路２３からの送信間隔Ｔ’に基づいて、パケット生成回路１５から入力したパケットデータを、所定のタイミングで、ネットワーク３を介して、通信装置２＿２に送信する。
【００７６】
以下、レート制御回路２３の動作例を説明する。
ＲＴＴ算出部２６が、パケット受信回路１１から入力した応答パケットデータを基に、カレントＲＴＴを算出し、これを送信レート設定部２８に出力する。
また、ロス率算出部２７が、上記応答パケットデータを基にパケットロス率ｐを算出し、これを送信レート設定部２８に出力する。
そして、送信レート設定部２８が、カレントＲＴＴおよびパケットロス率ｐを基に、以下に示すように、調整送信間隔Ｔ’を生成する。
すなわち、図３に示す送信レート設定部２８のネットワーク状態検出部３１が、図５に示す手順でネットワーク状態データＳＩを計算し、図６に示す手順でパケットロス率ｐｃを計算する。
【００７７】
そして、ＴＣＰレート算出部３３が、カレントＲＴＴおよびパケットロス率ｐｃを基に、上記式（６）を基に、送信間隔Ｘを計算する。
そして、ＡＩＭＤ調整部３５が、上記計算した送信間隔Ｘと、レート再調整部３７が算出した調整送信間隔Ｔ’とを基に、図７に示す手順で送信間隔Ｔを計算する。
【００７８】
そして、レート再調整部３７が、ネットワーク状態検出部３１から入力したネットワーク状態データＳＩと、ＡＩＭＤ調整部３５から入力した送信間隔Ｔとを基に、図８に示す手順で調整送信間隔Ｔ’を算出する。
【００７９】
以上説明したように、通信システム１によれば、通信装置２＿１が、ネットワーク３の通信状態に応じて図８に示すように調整送信間隔Ｔ’を決定し、これに基づいてパケットデータをネットワーク３に送出する。
そのため、通信のリアルタイム性を保ちながら、通信品質の向上を図ることが可能になる。
【００８０】
また、通信システム１によれば、図６に示すように、ネットワーク状態検出部３１は、輻輳状態においてはカレントのパケットロス率ｐをパケットロス率ｐｃに反映させ、非輻輳状態および回復状態においてはカレントのパケットロス率ｐをパケットロス率ｐｃに反映させない。
これにより、輻輳に起因したパケットロス率ｐのみを送信間隔Ｔ’に反映させることができる。
【００８１】
通信システム１によれば、図９に示すＣＤＲＣのように、その他の手法ＲＣ１，ＲＣ２に比べて、データ送信のスループットを向上できる。
手法ＲＣ１は、上述した送信間隔Ｘを、調整送信間隔Ｔで調整する手法である。
また、手法ＲＣ２は、上述したＲＣ１によって調整された送信間隔を、さらに、ｒｖａｌで調整する手法である。
【００８２】
本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
例えば、上述した実施形態では、ネットワーク３の輻輳状態、非輻輳状態および回復状態の３状態を検出し、それを基に調整送信間隔Ｔ’を算出したが、輻輳状態と非輻輳状態を検出し、その２状態を基に調整送信間隔Ｔ’を算出してもよい。
また、上記式（１）〜（８）に示す演算は一例である。
また、図２に示すレート制御回路２３の各構成要素、並びに図４に示す送信レート設定部２８の各構成要素は、電子回路で実現してもよいし、処理回路がプログラムを実行して実現してもよい。
【図面の簡単な説明】
【００８３】
【図１】図１は、本発明の実施形態の通信システムの全体構成図である。
【図２】図２は、図１に示す通信装置２＿１の構成図である。
【図３】図３は、図２に示す送信レート設定部の構成図である。
【図４】図４は、ＬＲＴＴとＳＲＴＴの特性を説明するための図である。
【図５】図５は、図３に示すネットワーク状態検出部におけるネットワーク状態データＳＩの生成手順を説明するためのフローチャートである。
【図６】図６は、図３に示すネットワーク状態検出部におけるパケットロス率ｐｃの生成手順を説明するためのフローチャートである。
【図７】図７は、図３に示すＡＩＭＤ調整部の処理を説明するためのフローチャートである。
【図８】図８は、図３に示すレート再調整部の処理を説明するためのフローチャートである。
【図９】図９は、本発明の実施形態の通信システムの効果を説明するための図である。
【符号の説明】
【００８４】
２＿１，２＿２…通信装置、３…ネットワーク、９…送信間隔、１１…パケット受信回路、１３…記録媒体、１５…パケット生成回路、１７…パケット送信回路、２１…制御回路、２３…レート制御回路、２５…エラー訂正部、２６…ＲＴＴ算出部、２７…ロス率算出部、２８…送信レート設定部、３１…ネットワーク状態検出部、３３…ＴＣＰレート算出部、３５…ＡＩＭＤ調整部、３７…レート再調整部
【図１】
2006303887.tif 000004
【図２】
2006303887.tif 000005
【図３】
2006303887.tif 000006
【図４】
2006303887.tif 000007
【図５】
2006303887.tif 000008
【図６】
2006303887.tif 000009
【図７】
2006303887.tif 000010
【図８】
2006303887.tif 000011
【図９】
2006303887.tif 000012