(57)【要約】通常パケットの通常送信及び１以上の再送パケットの再送送信を行うパケット出力部と、再送パケットを指定して再送送信を要求する再送要求を受信するフィードバック受信部と、所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定する制御部と、を具備する。
2014010171.tif 000002
【特許請求の範囲】
【請求項１】
通常パケットの通常送信及び１以上の再送パケットの再送送信を行うパケット出力部と、
前記再送パケットを指定して再送送信を要求する再送要求を受信するフィードバック受信部と、
所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定する制御部と、
を含む通信装置。
【請求項２】
前記制御部は、前記データ量と前記決定対象の再送パケットのデータ量との合計データ量が、前記所定の期間に送信可能なデータ量を超えない場合に、前記決定対象の再送パケットを送信予定であると決定する、
請求項１記載の通信装置。
【請求項３】
前記制御部は、前記再送要求に含まれる再送パケットを特定する情報に基づいて前記所定の期間を導出する、
請求項１記載の通信装置。
【請求項４】
前記再送要求は、前記特定する情報はシーケンス番号を含み、
前記制御部は、再送パケットタイムスタンプ値又はシーケンス番号又は再送要求に記載されている別の情報に基づいて、前記所定の期間を導出する請求項１記載の通信装置。
【請求項５】
前記制御部は、前記１以上の再送パケットの各々についての所定の期間について、期間が短いものが先に決定されるよう、前記順を並び替える、
請求項１記載の通信装置。
【請求項６】
更に、指定された目標伝送レートでコンテンツを出力する継続メディアデータ出力部を含み、
前記制御部は、前記決定の結果に基づいて前記目標伝送レートを更新する、
請求項１記載の通信装置。
【請求項７】
前記制御部は、単位時間に送信予定とされないと判定した再送パケットの数が所定の値より大きい場合に、前記目標伝送レートを下げるように前記継続メディアデータ出力部に指示する、
請求項６記載の通信装置。
【請求項８】
前記パケット出力部は、通常パケットを所定のレートで出力するためのキューを有し、
前記制御部は、送信予定と決定した再送パケットを再送するよう前記パケット出力部に指示し、
前記パケット出力部は、再送を指示された前記再送パケットを前記キューに格納する、
請求項１〜７の何れかに記載の通信装置。
【請求項９】
前記制御部は、
利用可能帯域幅ＢＷ（ｔ）を取得し、
送信予定のデータに関する情報を取得し、
再送要求に関する情報の通知を契機に、
前記再送要求に関する情報が指定する１以上の再送パケットについて、
ｋ（ｋは０以上の整数）番目の再送パケットについて所定の期間Ｔｋを取得し、
前記所定の期間Ｔｋに送信予定と決定済みである、通常パケット及び再送パケットのデータ量を取得し、
前記ｋ番目の再送パケットを送信した場合に、前記所定の期間Ｔｋの利用帯域幅が前記利用可能帯域幅を越えない場合に、前記ｋ番目の再送パケットを送信予定と決定して順次繰り返す
請求項１記載の通信装置。
【請求項１０】
１以上の再送パケットを指定して再送送信を要求する再送要求を受信するステップと、
所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定するステップと、
通常パケットの通常送信及び前記再送パケットの再送送信を行うステップ、
を含む通信方法。
【請求項１１】
１以上の再送パケットを指定して再送送信を要求する再送要求を受信するステップと、
所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定するステップと、
通常パケットの通常送信及び前記再送パケットの再送送信を行うステップ、
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再送が実行される環境下での、送信レート制御（再送制御、データ送信制御）の精度を改善するための通信装置、通信方法、コンピュータプログラム及び、集積回路に関する。
【背景技術】
【０００２】
Ａｕｄｉｏ、Ｖｉｄｅｏ等のｒｅａｌ−ｔｉｍｅデータを、ＩＰネットワーク上で送受信するためのプロトコルとして、ＲＴＰが用いられている（非特許文献１）。ＲＴＰは、制御プロトコルとしてＲＴＰ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ（ＲＴＣＰ）を備えている。ＲＴＣＰは、ＲＴＰセッションに参加する端末数等の観点でのスケーラビリティを考慮し、データ転送のための制御のオーバーヘッドが公衆ネットワーク資源を極力消耗しないように設計されたものである（非特許文献２）。例えば、受信レポート（ＲＲ：Ｒｅｃｅｉｖｅｒ  Ｒｅｐｏｒｔ）は、一定期間分の受信データを基に統計処理されたデータであり、ＲＲの送信頻度には限度が設定されている。【０００３】
近年、ネットワーク構成回線の速度向上、並びに、ＲＴＰ／ＲＴＣＰ等のインターネットプロトコル群のプライベートシステムへの利用及びモバイルシステムでの利用等の利用形態の多様化に伴い、拡張としてＲＴＰの制御フィードバックの一種に再送を適用可能となっている（非特許文献３、非特許文献４、非特許文献５）。これによりｒｅａｌ−ｔｉｍｅデータを構成する個々のＲＴＰパケット（シーケンス番号）単位の粒度で、再送を要求することが可能となる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｈ．  Ｓｃｈｕｌｚｒｉｎｎｅ、他２名、”ＲＦＣ  １８８９  ＲＴＰ：  Ａ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎｓ”、［ｏｎｌｉｎｅ］、１９９６年１月、ＩＥＴＦ、［平成２４年７月４日検索］、インターネット＜ＵＲＬ  ：  ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１８８９．ｔｘｔ＞
【非特許文献２】Ｈ．  Ｓｃｈｕｌｚｒｉｎｎｅ、“ＲＦＣ  １８９０  ＲＴＰ  Ｐｒｏｆｉｌｅ  ｆｏｒ  Ａｕｄｉｏ  ａｎｄ  Ｖｉｄｅｏ  Ｃｏｎｆｅｒｅｎｃｅｓ  ｗｉｔｈ  Ｍｉｎｉｍａｌ  Ｃｏｎｔｒｏｌ”、［ｏｎｌｉｎｅ］、１９９６年１月、ＩＥＴＦ、［平成２４年７月４日検索］、インターネット＜ＵＲＬ  ：  ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１８９０．ｔｘｔ＞
【非特許文献３】Ｊ．  Ｏｔｔ、他４名、”ＲＦＣ  ４５８５  Ｅｘｔｅｎｄｅｄ  ＲＴＰ  Ｐｒｏｆｉｌｅ  ｆｏｒ  Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ  （ＲＴＣＰ）−Ｂａｓｅｄ  Ｆｅｅｄｂａｃｋ  （ＲＴＰ／ＡＶＰＦ）、［ｏｎｌｉｎｅ］、２００６年７月、ＩＥＴＦ、［平成２４年７月４日検索］、インターネット＜ＵＲＬ  ：  ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ４５８５．ｔｘｔ＞
【非特許文献４】Ｊ．  Ｒｅｙ、他４名、”ＲＦＣ  ４５８８  ＲＴＰ  Ｒｅｔｒａｎｓｍｉｓｓｉｏｎ  Ｐａｙｌｏａｄ  Ｆｏｒｍａｔ、［ｏｎｌｉｎｅ］、２００６年７月、ＩＥＴＦ、［平成２４年７月４日検索］、インターネット＜ＵＲＬ  ：  ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ４５８８．ｔｘｔ＞
【非特許文献５】”Ｔｒａｎｓｐａｒｅｎｔ  ｅｎｄ−ｔｏ−ｅｎｄ  Ｐａｃｋｅｔ−ｓｗｉｔｃｈｅｄ  Ｓｔｒｅａｍｉｎｇ  Ｓｅｒｖｉｃｅ  （ＰＳＳ）；  Ｐｒｏｔｏｃｏｌｓ  ａｎｄ  ｃｏｄｅｃｓ”  （３ＧＰＰ  ＴＳ  ２６．２３４  ｖｅｒｓｉｏｎ  １０．４．０  Ｒｅｌｅａｓｅ  １０）、［ｏｎｌｉｎｅ］、２０１２年３月、３ＧＰＰ、［平成２４年７月４日検索］、インターネット＜ＵＲＬ  ：  ｈｔｔｐ：／／ｗｗｗ．ｅｔｓｉ．ｏｒｇ／ｄｅｌｉｖｅｒ／ｅｔｓｉ＿ｔｓ／１２６２００＿１２６２９９／１２６２３４／１０．０４．００＿６０／ｔｓ＿１２６２３４ｖ１００４００ｐ．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図１２は、発明が解決しようとする課題を説明する図である。【０００６】
図中、横軸は時刻を示す。現時刻は再送要求を受けた時刻ｔ（基準時刻）である。縦軸は、Ｂａｎｄｗｉｄｔｈ（単位時間にＲＴＰのデータ送信あるいは再送信に利用するビットレートを示す）について、利用可能帯域幅の上限値であるＢＷ（ｔ）の値を１００％とした割合％で示している。【０００７】
帯域幅Ａは、現在時刻ｔにおけるトランスポート層以上で測定される送信データの利用可能帯域幅ＢＷ（ｔ）である。【０００８】
帯域幅Ｂは、あるシーケンス番号で特定されるＲＴＰパケットについてその１回目の送信（以下、通常パケットの通常送信）に利用される予定の帯域幅である。【０００９】
帯域幅Ｃは、前述再送を適用した場合に、ＲＴＰパケットの２回目以降の送信（以下、再送パケットの再送送信）に用いることになる帯域幅である。【００１０】
図の例では通常パケットの通常送信はその利用量が利用可能帯域幅ＢＷ（ｔ）より低い９５％に収まっている。【００１１】
しかし、全ての再送要求の示す再送パケットに対してその再送を許可すると、ある時刻ｔ周辺の時間（図１２の例で、ｔからＴまでの時間）における利用可能帯域幅を超過することになる。図中、破線枠（ｄａｔａ＿ｅｘ）の面積は、現時刻ｔが含まれる時間Ｔにおいて再送送信により１００％を超えることになる超過するデータ量の見込みの値を示している。
【課題を解決するための手段】
【００１２】
本開示の実施形態において、通信装置は、通常パケットの通常送信及び１以上の再送パケットの再送送信を行うパケット出力部と、再送パケットを指定して再送送信を要求する再送要求を受信するフィードバック受信部と、所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定する制御部を含む。
【発明の効果】
【００１３】
本開示の実施形態によれば、通常パケットによる送信データ量と再送パケットの個々による送信データ量に基づいて、決定対象の再送パケットについての再送要求への応答予定を決定することができる。【００１４】
また、再送要求を受けた再送パケットのうち、再送予定とする（あるいは再送予定としない）一部の再送パケットの情報に基づいて、レートを制御することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態１の通信装置（通信方法）が適用されるシステムの概略図である。
【図２】図２は、データ送信装置２００の機能ブロック図である。
【図３】図３は、ＲＦＣ４５８５  ＧｅｎｅｒｉｃＮＡＣＫのシンタクスを示す図である。
【図４】図４は、第１制御部２０６の再送予定とする再送パケットの決定フローの概要を示すフロー図である。
【図５】図５は、ステップＳ５００の再送予定とする再送パケットの決定フローの詳細フロー図である。
【図６】図６は、実施の形態１の通信装置（通信方法）による利用帯域幅を示す概念図である。
【図７】図７は、実施の形態２の通信方法を実装するデータ送信装置７００が適用されるシステムの概略図である。
【図８】図８は、実施の形態２のデータ送信装置７００の機能ブロック図である。
【図９】図９は、制御部８００で、実行されるコンテンツレート適応処理の概要フロー図である。
【図１０】図１０は、制御部８００（第２制御部）で実行される図９のステップＳ９００の詳細フロー図である。
【図１１】図１１は、実施の形態１及び２の効果を説明する図である。
【図１２】図１２は、発明が解決しようとする課題を説明する図である。
【発明を実施するための形態】
【００１６】
本開示の実施形態において、制御部は、データ量と決定対象の再送パケットのデータ量との合計データ量が、所定の期間に送信可能なデータ量を超えない場合に、決定対象の再送パケットを送信予定であると決定する。
【００１７】
ある実施形態において、制御部は、再送要求に含まれる再送パケットを特定する情報に基づいて所定の期間を導出する。
【００１８】
ある実施形態において、再送要求は、特定する情報はシーケンス番号を含み、制御部は、再送パケットタイムスタンプ値又はシーケンス番号又は再送要求に記載されている別の情報に基づいて、所定の期間を導出する。
【００１９】
ある実施形態において、制御部は、１以上の再送パケットの各々についての所定の期間について、期間が短いものが先に決定されるよう、順を並び替える。
【００２０】
ある実施形態において、通信装置は、更に、指定された目標伝送レートでコンテンツを出力する継続メディアデータ出力部を含み、制御部は、決定の結果に基づいて目標伝送レートを更新する。
【００２１】
ある実施形態において、制御部は、単位時間に送信予定とされないと判定した再送パケットの数が所定の値より大きい場合に、目標伝送レートを下げるように継続メディアデータ出力部に指示する。
【００２２】
ある実施形態において、ＲＴＰパケット出力部は、通常パケットを所定のレートで出力するためのキューを有し、制御部は、送信予定と決定した再送パケットを再送するようＲＴＰパケット出力部に指示し、ＲＴＰパケット出力部は、再送を指示された再送パケットをキューに格納する。
【００２３】
ある実施形態において、制御部は、利用可能帯域幅ＢＷ（ｔ）を取得し、送信予定のデータに関する情報を取得する。制御部は、再送要求に関する情報の通知を契機に、再送要求に関する情報が指定する１以上の再送パケットについて、ｋ（ｋは０以上の整数）番目の再送パケットについて所定の期間Ｔｋを取得し、所定の期間Ｔｋに送信予定と決定済みである、通常パケット及び再送パケットのデータ量を取得する。制御部は、ｋ番目の再送パケットを送信した場合に、所定の期間Ｔｋの利用帯域幅が利用可能帯域幅を越えない場合に、ｋ番目の再送パケットを送信予定と決定して順次繰り返す。
【００２４】
本開示の実施形態において、通信方法は、１以上の再送パケットを指定して再送送信を要求する再送要求を受信するステップと、所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定するステップと、通常パケットの通常送信及び再送パケットの再送送信を行うステップ、を含む。
【００２５】
本開示の実施形態において、プログラムは、１以上の再送パケットを指定して再送送信を要求する再送要求を受信するステップと、所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定するステップと、通常パケットの通常送信及び再送パケットの再送送信を行うステップ、を含む。
【００２６】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２７】
（実施の形態１）
図１は、実施の形態１の通信装置（通信方法）が適用されるシステムの概略図である。
【００２８】
データ送信装置２００は、ＩＰネットワーク１０を介し、他の通信装置３００−１〜３００−ｎと４層以上の通信が可能である。
【００２９】
図中、実線矢印は、ある１つのセッションＳ１についてｒｅａｌ−ｔｉｍｅデータが送信側から受信側へ送信されるｒｅａｌ−ｔｉｍｅデータ２０のデータ送信（以下、通常送信と、再送送信とを含む）の向きを示している。データ送信には、典型的にはＲＴＰ／ＵＤＰが用いられる。破線矢印は、そのセッションＳ１についての受信側から送信側へフィードバックされるフィードバックデータ２１の通信の向きを示している。フィードバック通信には典型的には、ＲＴＣＰ／ＵＤＰが用いられる。フィードバックデータ２１には、非特許文献１記載の受信レポート（ＲＲ）や、１以上の再送パケットを指定して再送送信を要求するＧｅｎｅｒｉｃＮＡＣＫ（後述、非特許文献３記載）が含まれる。
【００３０】
図中、データ送信装置２００と他の通信装置３００−１との区別は、ある１つのセッションＳ１の向きについてのものである。セッションＳ１とは別のセッション（例えば逆向きのデータ送信）については、データ送信装置２００は通信装置３００−１の機能をサポートする。
【００３１】
図２は、データ送信装置２００の機能ブロック図である。
【００３２】
データ送信装置２００は、コンテンツ出力部２０２、ＲＴＰパケット出力部２０５、Ｔｘ部、Ｒｘ部、フィードバック受信部２０１、及び第１制御部２０６を含む。
【００３３】
（送信系）
コンテンツ出力部２０２は、入力された信号１００（例えば、映像信号）を圧縮符号化しセッションＳ１の指定するＰｒｏｆｉｌｅ／Ｐａｙｌｏａｄフォーマットに適合させてペイロードデータとして出力する。コンテンツ出力部２０２は、単位時間ｅｎｃ＿ｔ毎に（図４のＬ２のループのインターバル）の出力予定データ量ＡＤ（ｅｎｃ＿ｔ）を「送信予定のデータに関する情報２１２」として第１制御部２０６に出力する。
【００３４】
ＲＴＰパケット出力部２０５は、コンテンツ出力部２０２の出力データを蓄積する送信データバッファ２０４を有している。また、ＲＴＰパケット出力部２０５は、再送要求に備えて再送メモリを有している。非特許文献３、３．６節ＡＣＫ／ＮＡＣＫモードの別に応じ、個々のＲＴＰパケットの領域の開放が許されるまでの時間、送信済み通常パケットをこの再送メモリに保持する。ＲＴＰパケット出力部２０５は、第１制御部２０６からの再送指示を受けて指定された（通常パケットに対応する）再送パケットを送信データバッファに出力する。ＲＴＰパケット出力部２０５は、このバッファは、所定の時間区分における（１）通常パケットによるデータ量と（２）再送パケットのデータ量との合計が、複数の時間区分間でなるべく均等になるようにＴｘ部に出力する。
【００３５】
Ｔｘ部（ｓｅｎｄｔｏ（））は、ＲＴＰパケット出力部２０５が生成したデータグラムを下位層の通信スタックを利用して、ＩＰネットワーク１０へ送信する。
【００３６】
（フィードバック受信系）
Ｒｘ部（ｒｅｃｖｆｒｏｍ（））は、ＩＰネットワーク１０から受信されたＵＤＰパケットをポート番号（例、５００５）で分離し、データグラムをフィードバック受信部２０１へ出力する。
【００３７】
フィードバック受信部２０１は、１以上の再送パケットを指定して再送送信を要求する再送要求を受信する。１以上の再送パケットを指定して再送送信を要求する再送要求とは、例えば、ＲＴＰパケットの再送要求であるＧｅｎｅｒｉｃＮＡＣＫである。
【００３８】
図３は、ＲＦＣ４５８５  ＧｅｎｅｒｉｃＮＡＣＫのシンタクスを示す図である。ＧｅｎｅｒｉｃＮＡＣＫは、ＲＴＰデータを運ぶ４層が再送機構を提供しない場合に、１以上のＲＴＰパケットのロスを示すために用いられる。先頭１６ビットのＰＩＤ（ＰａｃｋｅｔＩＤ）はロスしたＲＴＰパケットのシーケンス番号を示す。後半１６ビットのＢＬＰ（ｂｉｔｍａｓｋ  ｏｆ  ｆｏｌｌｏｗｉｎｇ  ｌｏｓｔｐａｃｋｅｔｓ）は、ＰＩＤに後続するシーケンス番号のＲＴＰパケットのロス（あるいは到着）の状況を示すためのフィールドである。
【００３９】
フィードバック受信部２０１は、このように１以上の再送パケットを指定して再送送信を要求する再送要求（ｒ０〜ｒｎ（ｎ＝０を含む））を「再送要求に関する情報２１１」に含めて、第１制御部２０６に通知する。
【００４０】
（制御部）
第１制御部２０６は、所定の期間に送信予定と決定されている、通常パケット及び再送パケットのデータ量に基づいて、次の再送パケットを送信予定とするか否かを、順に決定する処理を行う。コンテンツ出力部２０２の出力バッファやＲｘ部のデータ入力状況等を監視し、「送信予定のデータに関する情報２１２」と「再送要求に関する情報２１１」とを入力し、図５に示す再送予定とする再送パケットの決定フローを実行する。また、送信予定と決定した再送パケットについて、再送を実行するためにＲＴＰパケット出力部２０５における再送メモリのＩ／Ｏに対し再送指示２１６を発行する。
【００４１】
図４は、第１制御部２０６の再送予定とする再送パケットの決定フローの概要を示すフロー図である。
【００４２】
まず、第１制御部２０６は、セッションＳ１を開設する（ＳＴＡＲＴ）。
【００４３】
ステップＳ４１０にて、第１制御部２０６は、利用可能帯域幅ＢＷ（ｔ）を取得する。図中のＬ１のループはこの利用可能帯域幅ＢＷ（ｔ）を所定のインターバル毎に更新取得可能であることを示すものである。
【００４４】
ステップＳ４２０にて、第１制御部２０６は、「送信予定のデータに関する情報２１２」（ＡＤ（ｅｎｃ＿ｔ））を取得する。この「送信予定のデータに関する情報２１２」はエンコーダから例えば時間ｅｎｃ＿ｔ毎に（あるいはデータを出力したタイミング毎に）取得される。前述した、図中Ｌ２のループは、この送信予定のデータに関する情報を更新取得することを概念的に示すものである。
【００４５】
ステップＳ４３０にて、第１制御部２０６は、再送要求に関する情報２１１であるｒを含む通知を受けたか否かによって処理を変更する。ｒは、１以上の再送パケットを指定して再送送信を要求する再送要求である。ｒは配列であり配列の要素としてｒ０〜ｒｎを含む。判定の結果がＴＲＵＥである場合（再送要求のイベント通知があった場合）、再送判定処理（ステップＳ５００）を実行する。
【００４６】
Ｓ４３０の判定の結果がＦＡＬＳＥである場合（再送要求のイベント通知がない場合）、再送要求はないため通常の処理に復帰する。
【００４７】
図５は、ステップＳ５００の再送予定とする再送パケットの決定フローの詳細フロー図である。第１制御部２０６は、再送要求に関する情報２１１の通知を受けたことを契機にフローを実行する。
【００４８】
ステップＳ５０２にて、第１制御部２０６は、再送要求に関する情報２１１に含まれる１以上の再送要求ｒ（ｒ０〜ｒｎ）が要求している１以上の再送パケット（０〜ｎ）を特定する。
【００４９】
ステップＳ５０４にて、第１制御部２０６は、各再送パケット（０〜ｎ）の所定の属性値で再送要求ｒ０〜ｒｎを並び替え、優先度順に並び替えられたｒ０〜ｒｎを取得する。属性値は、例えば、ＲＴＰパケットのヘッダに付されたタイムスタンプの値（ｐＴ０〜ｐＴｎ）である。再送要求を指定されている複数のＲＴＰパケットでそのタイムスタンプ値（ｐＴ１、ｐＴ２、及びｐＴ３）が等しい場合、再送メモリに保持された順（シーケンス番号順）を組み合わせて用いる。
【００５０】
以下、第１制御部２０６は、優先度順に並び替えられた再送要求ｒ０〜ｒｎについて、ステップＳ５０６からステップＳ５１８までの処理を、再送を要求されているＲＴＰパケットの数（ｎ＋１個）回繰り返す。
【００５１】
（ｉ＝０、優先度１番目の再送要求ｒ０について）
ステップＳ５０６にて、第１制御部２０６は、再送要求ｒの１番目の要素ｒ０が指定する再送パケットｐ（０）のデータ量ＲＤ０を取得する。
【００５２】
ステップＳ５０８にて、第１制御部２０６は、最大再送待機時間Ｔ（０）をタイムスタンプ値に基づいて導出する。最大再送待機時間Ｔ（０）は、ｒ０の指定するパケットのペイロードの送信が延期できる最大時間である。例えば、前記最大再送待機時間Ｔは、再生時刻ｐＴ０、現在時刻（実時刻ｕｔ）及び送信側から受信側にデータを送信するのに要する時間Ｌを用い、Ｔ＝（ｐＴ０−ｕｔ）―Ｌで導出できる。遅延時間Ｌは、ＲＴＣＰの送信レポートＳＲと受信レポートＲＲの組み合わせにより得られるＲＴＴから、あるいは再送要求にその値が利用できる場合はその値（Ｍｅｔｒｉｃのオプション値）から導出することができる。
【００５３】
ステップＳ５１０にて、第１制御部２０６は、Ｔ０の期間までに送信予定と既に決定されている、（ａ）通常パケット及び（ｂ）再送パケットの送信予定データ量ＡＤ０を導出する。
【００５４】
まず、第１制御部２０６は、（ａ）通常パケットの送信予定データ量ＡＤ０を導出する。図４のＬ２のループにてｅｎｃ＿ｔの更新毎に与えられるＡＤ（ｅｎｃ＿ｔ）の値を、現在時刻ｔを始点としＴ（０）を終端時刻とする区間分、ＡＤを加算処理して導出する。
【００５５】
次に、第１制御部２０６は、Ｔ０の期間までに送信予定と既に決定されている（ｂ）再送パケットの送信予定データ量を導出する。ここでｉ＝０の時点では、まだ、送信予定と決定されている（決定済みの）再送パケットは存在しない。したがってｉ＝０の段階では、送信予定と決定されている再送パケット、のデータ量は０である。
【００５６】
ステップＳ５１２にて、第１制御部２０６は、データ量ＲＤ０の再送パケットを所定の期間Ｔ（０）で送信した場合の送信予定帯域幅を導出する。送信予定帯域幅は、送信予定と決定されているデータ量ＡＤ０と再送パケットの送信予定データ量ＲＤ０の合計のデータ量を、所定の期間Ｔ（０）で除算したビットレート値である。
【００５７】
ステップＳ５１４において、第１制御部２０６は、所定の期間Ｔ（０）にＲＤ０のデータ量のパケットを送信した場合の送信予定帯域幅と利用可能帯域幅ＢＷ（ｔ）とを比較する。
【００５８】
上記ステップＳ５１４の比較は、（ａ）利用可能帯域幅ＢＷ（ｔ）の速度で所定の期間Ｔ（０）まで送信するとした場合に送信可能なデータ量に、送信予定とするかどうか決定対象とする再送パケットのデータ量ＲＤ０をいれてもあふれないかを判定することと等価であり、所定の期間に送信が許容される送信データ量に基づいて導出するとしてもよい。
【００５９】
ステップＳ５１４の比較の結果、第１制御部２０６は、現在の処理の時点で既に「所定の期間Ｔ（０）に送信予定と決定されている、送信データ量ＡＤ０及び決定対象の再送パケットのデータ量ＲＤ０」の合計データ量による比較を行う。
【００６０】
（比較結果１）
比較の結果、合計データ量のデータを前記所定の期間Ｔ（０）の時間を用いて送信した場合の送信予定帯域幅が利用可能帯域幅ＢＷ（ｔ）を超えないこととなる場合に、現在決定対象の再送パケットｐ（０）を送信予定であると決定する（ステップＳ５１４がＴＲＵＥの場合のステップＳ５１６）。
【００６１】
この決定処理は、再送要求による再送データ量をデータ送信の送信として判断処理するための処理である。したがって、期間Ｔ（０）についてのデータ量ＡＤ０を、この処理で新たに送信予定と決定された再送パケットｐ（０）のデータ量ＲＤ０で更新する。同時に、ｒ０の指定する再送パケットｐ（０）を読み出し送信パケットバッファに格納するように、ＲＴＰパケット出力部２０５に再送指示２１６を発行する。
【００６２】
（比較結果２）
比較の結果、送信予定帯域幅が利用可能帯域幅ＢＷ（ｔ）を越えることとなる場合（即ち、ｒ０の再送要求により送信されるＲＴＰ再送パケットのデータ量ＲＤ０がＴ０の期間に送出可能なデータ量より多い場合）は、再送要求ｒ０の指定する再送パケットｐ（０）を送信予定として含めないこととする（ステップＳ５１４がＦＡＬＳＥの場合のステップＳ５１８）。
【００６３】
（ｉ＝１〜、優先度２番目以降の再送要求ｒ１〜について）
続いて、２番目の再送要求ｒ１〜について、ステップＳ５０６〜ステップＳ５１８までの処理を行う。
【００６４】
ここで、ステップＳ５１０において、送信予定と決定されている、通常パケット及び再送パケットの送信予定データ量ＡＤｉには、ｒ０についてのＳ５１４の判定結果が加味されている点に留意されたい。以後、所定のタイミングで通知された全ての再送要求の指定する再送パケットにｒ０〜ｒｎについての処理が完了するまで行う。
【００６５】
図６は、実施の形態１の通信装置（通信方法）による利用帯域幅を示す概念図である。
【００６６】
比較のため、図１２と各軸の定義、及び値Ｔ、Ｂａｎｄｗｉｄｔｈ、ＢＷ（ｔ）は、図１２のそれと同じものを示している。
【００６７】
（横軸の時刻について）
現時刻ｔは、フィードバック受信部２０１が、１以上の再送パケットを指定して再送送信を要求する再送要求ｒを受信し、第１制御部２０６に通知したタイミングである。ｒはｒ０〜ｒ５までの再送パケットの再送を要求するものである。第１制御部２０６は、ステップＳ５０４にて、再送パケット（ＲＴＰパケット）のタイムスタンプの値ｐＴ０〜ｐＴ５の値が小さいものから順に大きなものとなる順に並び替えている。
【００６８】
Ｔ０は、第１制御部２０６がステップＳ５０８で導出する値である。現在時刻ｔを基準時刻０．０とした場合のｒ０の指定するＲＴＰパケットの最大再送待機時間Ｔ０（即ち、プレゼンテーション時刻ｐＴ０−（現在時刻ｔ＋遅延時間Ｌ））である。Ｔ１、Ｔ２、Ｔ３は、各再送要求ｒ１〜ｒ３が再送を要求する再送パケットのタイムスタンプのｐＴ値（ｐＴ１〜３）が等しい状態を示している。同様に、Ｔ４とＴ５も同じｐＴ値のＲＴＰパケットについての最大再送待機時間であることを示している。
【００６９】
（縦軸の帯域幅について）
ＡＤ０、ＡＤ１、ＡＤ４は、ステップＳ５１０で導出されるデータ量の例である。ＲＤ０〜ＲＤ５は、ステップＳ５０６で導出されるＲＤ０〜ＲＤ５のデータ量の例である。
【００７０】
（作用の説明）
図中の例では、ＲＤ０は、そのデータを送信したとしてもＴ０までの時間で利用可能帯域幅ＢＷ（ｔ）を越えないため、Ｓ５１４にてＴＲＵＥと判定される。従って、ｒ０が要求する再送パケットは、「送信予定と決定されている、再送パケット」に該当し、そのデータ量ＲＤ０が、期間Ｔ０についてのデータ利用量として加算される。
【００７１】
同様にＲＤ１（ｒ１のデータ量）、ＲＤ２（ｒ２のデータ量）はＳ５１４の判定においてＴＲＵＥと判定され、ｒ１及びｒ２が要求する再送パケットは、次の決定においては「送信予定と決定された、再送パケット」となる。しかし、ＲＤ３のデータ量をもつ再送パケットｐ（３）を要求するｒ３に応答すると、Ｔ３の期間までに利用可能帯域幅ＢＷ（ｔ）で許された送信予定データ量を超えてしまう。第１制御部２０６がＴ３までの期間に、送信予定と決定されているデータ量に、通常パケットのデータ量のみならず、再送パケットのデータ量であるＲＤ０とＲＤ１とＲＤ２も、現処理において加味して決定対象の再送パケットを送信予定とするか否かを判定しているためである。なお、ＲＤ３の帯域幅を下げて、送信予定データ量を超えないようにすることもある。
【００７２】
ここで、ｒ４の要求するパケットは最大待機時間Ｔ４がＴ３に比べて延長されている。よって、Ｔ４の期間にはまだ、ＲＤ４のデータ量をもつ再送パケットｐ（４）の再送を予定することができる。したがって、ＲＤ４のデータ量を用いてＴ４の区間のＡＤ４を更新する。しかし、更に、ＲＤ５のデータ量をもつ再送パケットｐ（５）を要求するｒ５に応答しようとすると、Ｔ５までに利用可能帯域幅ＢＷ（ｔ）で許された送信予定データ量を超えてしまうことになる。そのため、ｒ５については、送信予定のパケットとは決定しない。なお、ＲＤ５の帯域幅を下げて、送信予定データ量を超えないようにすることもある。
【００７３】
このように、実施の形態１の通信装置は、１以上の再送パケットを指定して再送送信を要求する再送要求を受信するフィードバック受信部と、所定の期間に送信予定と決定されている、通常パケット及び再送パケットのデータ量に基づいて、次の再送パケットを送信予定と決定するか否かを、順に決定する制御部を含む。
【００７４】
これにより、通常パケットによる送信データ量と再送パケットの個々による送信データ量に基づいて、決定対象の再送パケットについての再送要求への応答予定を決定することができる。
【００７５】
（実施の形態２）
図７は、実施の形態２の通信方法を実装するデータ送信装置７００が適用されるシステムの概略図である。
【００７６】
図１のシステムの要素と同一または対応する要素には同一の参照符号を付しており、その詳細な説明は省略する。
【００７７】
データ送信装置７００は、実施の形態１記載のデータ送信装置２００に対応しているが、入力された信号１００に比較してより多種類の継続メディア（ｃｏｎｔｉｎｕｏｕｓ  ｍｅｄｉａ、非特許文献５参照）１００ａについて、通信装置３００へのｅｎｄ−ｔｏ−ｅｎｄサービスを提供する。
【００７８】
実施の形態１同様、図中の実線と破線の２つの向きの矢印はフィードバックの向きを模している。矢印２０と矢印２１とは、実施の形態１のシステムの説明と同じものである。即ち、セッションＳ１の開設の後について、データ２０の送出に関しトランスポート層のｔｒａｎｓｍｉｓｓｉｏｎ制御（通常送信と再送送信との両方）の振る舞いを制御するフィードバックループである。
【００７９】
これに加えて、実施の形態２のシステムでは、データ送信装置７００における継続メディアの出力レートをより適応的に制御するためのフィードバックが実行される。この処理は、非特許文献５の１０章「Ａｄａｐｔａｔｉｏｎ  ｏｆ  ｃｏｎｔｉｎｕｏｕｓ  ｍｅｄｉａ」に記載された“Ｂｉｔ−ｒａｔｅ適応処理”（以下、ビットレート適応処理）である。そのためアプリケーション層まで拡張されたビットレート（Ｂｉｔ−ｒａｔｅ）適応情報である第１の情報がフィードバックされる。フィードバックされる第１の情報は、図中ＵＳＥＲの体感品質を向上することを目的とした、非特許文献５記載のＱｏＥ（Ｑｕａｌｉｔｙ  ｏｆ  Ｅｘｐｅｒｉｅｎｃｅ）Ｍｅｔｒｉｃとよばれる各種メトリックである。
【００８０】
データ送信装置７００は、第１制御部２０６ａに加えて、第２制御部８０６を有し、これら２種類以上のレイヤのフィードバック（２１、２２）を受け、継続メディアの出力レートの適応制御を行う。
【００８１】
図８は、実施の形態２のデータ送信装置７００の機能ブロック図である。
【００８２】
データ送信装置７００は、継続メディアデータ出力部２０２ａ、ＲＴＰパケット出力部２０５ａ、Ｔｘ部、Ｒｘ部、フィードバック受信部２０１ａ、ビットレート適応情報受信部２０１ｂ、及び、制御部８００を含む。
【００８３】
図中、実施の形態１の図２の機能ブロックと同じまたは対応する機能には同一の参照番号が付されている。実施の形態１と異なる機能ブロックについて説明する。
【００８４】
（送信系）
継続メディアデータ出力部２０２ａは、実施の形態１におけるコンテンツ出力部２０２に対応する。入力された信号１００に比較してより多種類の継続メディア１００ａについてのペイロードデータ出力に対応することを意図している。多種類の継続メディア１００ａとは、ａｕｄｉｏ、ｖｉｄｅｏ、ｓｐｅｅｃｈ及びｔｉｍｅｄ  ｔｅｘｔを含む。これらの１以上のメディアを所定のフォーマット等の形式に整えつつ必要に応じて多重して、セッションＳ１の開設時に決定されたＰｒｏｆｉｌｅ等に従って所定のＰａｙｌｏａｄ  ＦｏｒｍａｔにしてＲＴＰペイロードにして出力する。
【００８５】
継続メディアデータ出力部２０２ａは、制御部８００からの更新信号８１０の指定に応じて、継続メディアのデータのコンテンツレート（非特許文献５”ｃｏｎｔｅｎｔ  ｒａｔｅ”の定義に従う。以下同じ）を適応的に変更する機能を備えている。ＲＴＰパケット出力部２０５ａは、実施の形態１のＲＴＰパケット出力部２０５に対応する。
【００８６】
（フィードバック情報受信系）
Ｒｘ部は、受信したプロトコル（ＲＴＣＰ／ＲＴＳＰ）及びそれらに付与されたポート番号の区別に基づいて、再送要求を含むフィードバックデータ２１と、ビットレート適応情報２２とを分離して上位の処理部（２０１ａ、２０１ｂ）にデータグラムを提供する。
【００８７】
フィードバック情報受信系は、フィードバック受信部２０１ａとビットレート適応情報受信部２０１ｂとを含む。
【００８８】
フィードバック受信部２０１ａは、実施の形態１のフィードバック受信部２０１に対応する。１以上の再送パケットを指定して再送送信を要求する再送要求を受信する機能を有する。再送要求は、非特許文献５でＲｅｔｒａｎｓｍｉｓｓｉｏｎ  ｅｘｔｅｎｓｉｏｎのフォーマットとして規定されたＲＦＣ４５８５記載のＧｅｎｅｒｉｃＮＡＣＫによるパケットロスについてのフィードバックである。
【００８９】
ビットレート適応情報受信部２０１ｂはコンテンツレート適応のための情報２２を抽出処理する。例えば、実施の形態１で説明した利用可能帯域幅ＢＷ（ｔ）の値を動的に取得するための情報である。値としてデータの送信を要求するＲＴＳＰ  ＳＥＴＵＰまたはＲＴＳＰ  ＰＬＡＹ要求時点のＲＴＳＰ  Ｈｅａｄｅｒに指定された”Ｂａｎｄ  ｗｉｄｔｈ”の値を用いることができる（非特許文献５の１０．２節参照）。その他、「継続メディアに適応するための情報」２２には、コンテンツレート適応処理に対応するための情報が含まれる。また、第１の情報として、制御部８００（機能区分的には、第２制御部）に与える。
【００９０】
（制御部）
制御部８００は、ｔｒａｎｓｍｉｓｓｉｏｎ制御とコンテンツレート適応制御とを実現するための制御部である。プログラム上の機能区分として第１制御部２０６ａと第２制御部８０６とを含む。
【００９１】
第１制御部２０６ａは、実施の形態１の第１制御部２０６に対応する。利用可能帯域幅２１３（ＢＷ（ｔ））と送信予定のデータに関する情報２１２（ＡＤ）とに基づいて、再送要求に関する情報２１１の通知に対する応答的に、図５のフローを実行する。図５の処理によって得られた、送信予定と決定されている再送パケットの再送予定情報、を第２の情報８０２として制御部８００に返す（後述図９、ステップＳ５００ａ）。
【００９２】
第２制御部８０６は、通常状態では、フィードバックされる第１の情報を用い、非特許文献５記載のコンテンツレート適応処理を実行する。再送要求の通知がある毎に、再送パケットの「再送予定情報」（第２の情報）を取得し、再送パケットによる送信利用量を加味しつつ、レート適応が必要か否かを判定し、更新信号８１０を用いて継続メディアデータ出力部２０２ａのコンテンツレートの設定や更新を行う。
【００９３】
図９は、制御部８００で、実行されるコンテンツレート適応処理の概要フロー図である。図４のフローと異なるステップは、図４と異なる参照符号で示し、その内容を説明する。
【００９４】
まず、制御部８００はステップＳ４１０に替えステップＳ４１０ａを実行する。制御部８００は制御部８００内の１機能である第２制御部８０６が第１の情報８０１に基づいて利用可能帯域幅２１３（ＢＷ（ｔ））を導出し、第１制御部２０６ａへ設定する。
【００９５】
また、制御部８００はステップＳ５００に対応するステップＳ５００ａを実行する。ステップＳ５００は、図５で説明した再送予定とする再送パケットの決定処理の通りであるが第１制御部２０６ａが、Ｓ５００ａで再送判定処理の結果である「再送予定情報」（第２の情報）を制御部８００に返す点が異なる。
【００９６】
次に、ステップＳ９００で、制御部８００は、送信予定と決定されている再送パケットについての「再送予定情報」（第２の情報）に基づいて、コンテンツレートを変更するか否か判定する処理を起動する。
【００９７】
図１０は、制御部８００（第２制御部８０６）で実行される図９のステップＳ９００の詳細フロー図である。
【００９８】
制御部８００（第２制御部８０６）は、時刻ｔにおいて再送予定情報（第２の情報）を追加で入力する。再送予定情報は、送信予定である（あるいは送信予定でない）と決定されている再送パケットについての情報である。例えば、図６の例では、送信予定であると決定された再送パケット（再送）の数はｒ０、ｒ１、ｒ２、ｒ４の４つである。逆に、送信予定でないと決定された再送パケット（再送）は、ｒ３とｒ５の２個が新たに通知されることになる。
【００９９】
次に、ステップＳ９０４にて、制御部８００（第２制御部８０６）は、再送予定情報を統計処理する。統計処理は、統計単位時間（後述図１１のＴ＿ｄｕｒ）内に通知された第２の情報の値（再送予定と決定されなかった再送要求の数）の合計値の導出である。
【０１００】
次に、ステップＳ９０６にて、制御部８００（第２制御部８０６）は、再送予定情報の統計値に基づいて、コンテンツレートの更新が必要か否かを判定する（Ｓ９０６）。必要か否かについては、種々な観点で基準を設定することができる。ここでは、統計単位時間（Ｔ＿ｄｕｒ）に、再送予定の決定された再送要求の数が所定の数より多い場合、コンテンツレートの更新が必要と判断する。送信予定と決定されている再送パケットの数（ｒ０、ｒ１、ｒ２、ｒ４等が指定する再送パケットの数）が、送信予定と決定されなかった再送パケットの数（ｒ３、ｒ５等）に比して所定比より大きい場合は、解釈上再送が多くても問題ないとし、必要でないと判定する。
【０１０１】
ステップＳ９０６の判定の結果がＦＡＬＳＥ（時刻ｔにおけるコンテンツレートの更新は必要ないと判定される）場合、この段階でコンテンツレートの変更はせずに通常処理に復帰する。
【０１０２】
ステップＳ９０６の判定の結果がＴＲＵＥである場合（コンテンツレートの更新が必要であると判定される場合）、ステップＳ９０８にて、コンテンツレートの更新処理を実行する。具体的には、制御部８００（第２制御部８０６）は、コンテンツレートをＹ（図１１帯域幅Ｙ）低下させる指示を含む更新信号８１０を継続メディアデータ出力部２０２ａに与える。
【０１０３】
図１１は、実施の形態１及び２の効果を説明する図である。
【０１０４】
横軸と縦軸は図１２並びに図６のそれと同一である。図１２及び図６と同一の時刻、要素について同一の参照符号を付し説明を省略する。
【０１０５】
ストリーミング等における各種レート制御（トランスミッションレート、コンテンツレート）において、パケットロスの数を用いることは広く行われていることである。
【０１０６】
パケットロスの数は、最小単位で考えれば、ある時刻ｔにおいて１のＧｅｎｅｒｉｃＮＡＣＫが指定する１以上の再送パケットの数（再送要求ｒ０〜ｒ５の数）に対応する。
【０１０７】
これは、従来のレート制御においては、ある時刻ｔにおいてｒ０〜ｒ５までの全ての要素を含む集合Ａ（実線、囲み曲線枠）を考慮してレート制御を行っていることと等価である。即ち、図１１において、集合Ａの要素の全てｒ０からｒ５を一律に区別なく、例えば時刻ｔに６個のパケットロスがあったとして各種レート制御を行っていたものである。
【０１０８】
これに対し、実施の形態１及び２の送信レート制御（適応ビットレート制御、再送制御）は、まず、全ての再送を要素とする集合である全体の集合Ｕの要素（ｒ０〜ｒ５）を、（１）送信予定と決定されなかった再送パケットと（集合Ａ）、（２）送信予定と決定された再送パケット（集合Ａの補集合であるＡｃ）とに区別する。
【０１０９】
そして、区別された部分的な情報に基づいて、レート制御（あるいは実施の形態１の再送制御）を行う。言い換えれば、所定のタイミングにおいて、再送予定と決定した（あるいは、再送予定と決定できなかった）再送要求の要素の数（あるいはデータ量）に基づいてレート制御（あるいは再送制御）を行う。
【０１１０】
図１１の例では、集合Ａの要素（ｒ０〜ｒ５）のうち、既に「送信予定と決定されている再送パケット」の再送ｒ０、ｒ１、ｒ２、ｒ４の４つと、送信予定と決定できなった再送ｒ３とｒ５とを選別し後者に基づいてコンテンツレート制御を実行する。
【０１１１】
これにより、まず、単に再送が要求された（パケットロスが発生した）数やそのデータ量に基づいてレート制御を行う場合に比して、利用可能帯域ＢＷ（ｔ）からの乖離が小さい（ｒ０、ｒ１、ｒ２、ｒ４の４つのデータ量は利用帯域幅として考慮した上で）コンテンツレート制御を行うことができる。
【０１１２】
また、ネットワーク１０内の一時的な瞬断が生じた場合に、バースト的に再送要求（パケットロス）が発生しうる。この場合であっても、制御部８００は再送が予測上間に合う場合には、即座にコンテンツレートを下げることはせず、再送が実際に届くかどうかを考慮することができ、バーストな再送要求の発生に対して、再送を用いた特性に適合した緩やかな（ロバストな）レート制御が可能となる。
【０１１３】
＜その他変形例＞
尚、送信予定のデータに関する情報２１２は、コンテンツ出力部が逐次制御部に提供するとしていたが、ステップＳ５００の処理を実行するタイミングで必要な量をコンテンツ出力部に問い合わせるとしてもよい。また、送信パケットバッファ２０４に保持されているバイト数を取得する方法で、送信予定としている通常パケットの（あるいは、再送メモリから読み出された再送パケットを含む）の予定データ量を得るとしてもよい。
【０１１４】
ステップＳ４１０で設定される利用可能帯域幅２１３（ＢＷ（ｔ））は、ステップＳ５００で示す再送予定決定処理を実行する以前で、少なくとも第１制御部２０６が取得する情報であればよい。例えば、非特許文献５に示す通り、ＲＴＳＰにセッションＳ１の開設時に交渉された“Ｂａｎｄｗｉｄｔｈ”Ｓｙｎｔａｘの値を永続的に用いることも可能である。
【０１１５】
最大再送待機時間Ｔを、ＲＴＰパケットのタイムスタンプ値から導出するとしたが、ＲＴＰパケット毎のシーケンス番号から固定的に導出してもよい。また、再送要求の情報として、パケットロスが発生した時刻を含む場合、その時刻からの固定時間（例えば５００ｍｓｅｃ）としてもよい。
【０１１６】
送信予定と決定された再送パケットを特定する再送予定情報（第２の情報）は、全体集合Ｕの部分的な要素に関する情報（個数、データ量）値であれば（再送成功要素数、再送データ量等）種々の変形が可能である。
【０１１７】
尚、利用可能帯域幅はｅｎｄ−ｔｏ−ｅｎｄサービスに関する物理リンク速度〜ＳＬＡまでの様々な要素の一部を勘案しうるが、ビットレート適応の目的において、現在時刻ｕｔに関し１つの値ＢＷ（ｔ）の対応が定まればその値を利用すればよい。
【０１１８】
尚、各種フィードバックには、非特許文献３の６節に記載された（Ｐａｙｌｏａｄ−ｓｐｅｃｉｆｉｃ  ＦＢ  ｍｅｓｓａｇｅｓ、及び、Ａｐｐｌｉｃａｔｉｏｎ  ｌａｙｅｒ  ＦＢ  ｍｅｓｓａｇｅｓ）を利用することも可能である。
【０１１９】
尚、１以上の再送パケットを指定して再送送信を要求する再送要求としては、ＧｅｎｅｒｉｃＮＡＣＫ（ＲＴＣＰ）に替えて、非特許文献５記載のＱｏＥ−Ｆｅｅｄｂａｃｋの１Ｍｅｔｒｉｃである“Ｍｅｔｒｉｃｓ−Ｎａｍｅ  Ｓｕｃｃｅｓｓｉｖｅ＿Ｌｏｓｓ”（ＲＴＳＰ）を利用してもよい。
【０１２０】
尚、セッションＳ１の開設、セッションパラメータの交渉、更新等に関しデータ送信装置２００、７００はＰＳＳ  Ｓｅｒｖｅｒ機能をサポートし、受信装置３００−１はＰＳＳ  Ｃｌｉｅｎｔ機能をサポート可能である。第１の情報に基づいて、受信装置のバッファあふれ状況等のフィードバックに応じて、ビットレート適応処理することが可能である。
【０１２１】
尚、ＩＰネットワーク１０は０ホップのネットワークであってもよい。この場合、データ送信装置２００、７００と通信装置３００−１とは、有線無線を問わず各種ＭＡＣ／ＰＨＹ規格による２層リンクで接続されることとなる。
【０１２２】
尚、ＲＴＰパケット出力部２０５はデータの送出につき、ＲＴＰに限らずこれに代わる４層プロトコル（例えば、ＲＴＳＰ等）などを利用してもよい。又、２層上のサービスとしてＡｕｄｉｏやＶｉｄｅｏを出力する装置に用いられる場合は、通常のスタックを飛ばした実装であってもよい。
【０１２３】
尚、ＲＴＰパケット出力部２０５は、通常パケットを所定のレートで出力するためのキューを有し、第１制御部２０６は、送信予定と決定した再送パケットを再送するようＲＴＰパケット出力部２０５に指示し、ＲＴＰパケット出力部２０５は、再送を指示された再送パケットを前記キューに格納してもよい。
【０１２４】
尚、実施の形態１において、再送予定と決定しなかった再送要求について、予測上の利用量よりも実際の送信データ（再送データ量及び通常データ量）が少ない場合等に、再送パケットを実際に発行するか否かは、実装の許す限りで変更可能である。
【０１２５】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１２６】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１２７】
（２）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１２８】
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１２９】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１３０】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１３１】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１３２】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１３３】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１３４】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１３５】
本発明の実施形態に係る通信装置（通信方法）は、ＡｕｄｉｏやＶｉｄｅｏ等を送信する通信装置（通信方法）に利用可能である。
【符号の説明】
【０１３６】
２００，７００    データ送信装置
２０１，２０１ａ    フィードバック受信部
２０１ｂ    ビットレート適応情報受信部
２０２    コンテンツ出力部
２０２ａ    継続メディアデータ出力部
２０５，２０５ａ    ＲＴＰパケット出力部
２０６，２０６ａ    第１制御部
８００    制御部
８０６    第２制御部
【図１】
2014010171.tif 000003
【図２】
2014010171.tif 000004
【図３】
2014010171.tif 000005
【図４】
2014010171.tif 000006
【図５】
2014010171.tif 000007
【図６】
2014010171.tif 000008
【図７】
2014010171.tif 000009
【図８】
2014010171.tif 000010
【図９】
2014010171.tif 000011
【図１０】
2014010171.tif 000012
【図１１】
2014010171.tif 000013
【図１２】
2014010171.tif 000014
【手続補正書】
【提出日】平成25年9月10日(2013.9.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通常パケットの通常送信及び１以上の再送パケットの再送送信を行うパケット出力部と、
前記再送パケットを指定して再送送信を要求する再送要求を受信するフィードバック受信部と、
所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定する制御部と、
指定された目標伝送レートでコンテンツを出力する継続メディアデータ出力部とを含み、
前記制御部は、単位時間に送信予定とされないと判定した再送パケットの数が所定の値より大きい場合に、前記目標伝送レートを下げるように前記継続メディアデータ出力部に指示する、
通信装置。
【請求項２】
前記制御部は、前記データ量と前記決定対象の再送パケットのデータ量との合計データ量が、前記所定の期間に送信可能なデータ量を超えない場合に、前記決定対象の再送パケットを送信予定であると決定する、
請求項１記載の通信装置。
【請求項３】
前記制御部は、前記再送要求に含まれる再送パケットを特定する情報に基づいて前記所定の期間を導出する、
請求項１記載の通信装置。
【請求項４】
前記再送要求は、前記特定する情報はシーケンス番号を含み、
前記制御部は、再送パケットタイムスタンプ値又はシーケンス番号又は再送要求に記載されている別の情報に基づいて、前記所定の期間を導出する
請求項１記載の通信装置。
【請求項５】
前記制御部は、前記１以上の再送パケットの各々についての所定の期間について、期間が短いものが先に決定されるよう、前記順を並び替える、
請求項１記載の通信装置。
【請求項６】
（削除）
【請求項７】
（削除）
【請求項８】
前記パケット出力部は、通常パケットを所定のレートで出力するためのキューを有し、
前記制御部は、送信予定と決定した再送パケットを再送するよう前記パケット出力部に指示し、
前記パケット出力部は、再送を指示された前記再送パケットを前記キューに格納する、
請求項１〜５の何れかに記載の通信装置。
【請求項９】
前記制御部は、
利用可能帯域幅ＢＷ（ｔ）を取得し、
送信予定のデータに関する情報を取得し、
再送要求に関する情報の通知を契機に、
前記再送要求に関する情報が指定する１以上の再送パケットについて、
ｋ（ｋは０以上の整数）番目の再送パケットについて所定の期間Ｔｋを取得し、
前記所定の期間Ｔｋに送信予定と決定済みである、通常パケット及び再送パケットのデータ量を取得し、
前記ｋ番目の再送パケットを送信した場合に、前記所定の期間Ｔｋの利用帯域幅が前記利用可能帯域幅を越えない場合に、前記ｋ番目の再送パケットを送信予定と決定して順次繰り返す
請求項１記載の通信装置。
【請求項１０】
１以上の再送パケットを指定して再送送信を要求する再送要求を受信するステップと、
所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定するステップと、
指定された目標伝送レートでコンテンツを出力するステップと、
単位時間に送信予定とされないと判定した再送パケットの数が所定の値より大きい場合に、前記目標伝送レートを下げるように指示するステップと、
通常パケットの通常送信及び前記再送パケットの再送送信を行うステップ、
を含む通信方法。
【請求項１１】
１以上の再送パケットを指定して再送送信を要求する再送要求を受信するステップと、
所定の期間に送信予定のデータ量に基づいて、受信した再送要求に対する再送パケットを送信又は送信予定とすることを決定するステップと、
指定された目標伝送レートでコンテンツを出力するステップと、
単位時間に送信予定とされないと判定した再送パケットの数が所定の値より大きい場合に、前記目標伝送レートを下げるように指示するステップと、
通常パケットの通常送信及び前記再送パケットの再送送信を行うステップ、
を含むプログラム。
【国際調査報告】
2014010171.tif 000015
2014010171.tif 000016
2014010171.tif 000017
2014010171.tif 000018