(57)【特許請求の範囲】
【請求項１】
送信手段によりネットワークを介して受信装置にデータを送信する通信装置であって、
前記受信装置によるデータの受信状況を示す受信状況情報を前記受信装置から受信する受信手段と、
前記受信手段により受信された第１の受信状況情報が示す第１の期間の受信状況が第１の受信状況である場合、前記第１の受信状況情報が示す前記第１の期間の受信状況が前記第１の受信状況よりもエラーしたデータが少ない第２の受信状況である場合よりも早いタイミングで、前記第１の期間より後の第２の期間の受信状況を示す第２の受信状況情報が送信されるように、前記受信状況情報が示す受信状況に応じて、前記受信装置による受信状況情報の送信を制御する送信制御手段と
を有することを特徴とする通信装置。
【請求項２】
前記受信状況情報が示す受信状況と前記受信状況情報に対応する期間におけるデータの送信レートとに応じてデータの送信レートを制御するレート制御手段を有し、
前記送信制御手段は、前記第１の受信状況情報が示す前記第１の期間の受信状況が前記第２の受信状況の場合であって、前記第１の期間のデータの送信レートと前記第２の受信状況とに応じて前記レート制御手段がデータの送信レートを上げた場合、前記送信レートを上げない場合よりも早いタイミングで、前記第２の受信状況情報が送信されるように、前記受信状況情報の送信を制御することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記送信制御手段は、第１及び第２の受信装置に一致する期間の受信状況を示す受信状況情報を送信させることを特徴とする請求項１又は２記載の通信装置。
【請求項４】
前記送信制御手段は、前記第１の受信装置から受信した受信状況情報が示す受信状況と、前記第２の受信装置から受信した受信状況情報が示す受信状況とが対応していると判定した場合、前記第１の受信装置と前記第２の受信装置とに、一致する期間の受信状況を示す受信状況情報を送信させることを特徴とする請求項３記載の通信装置。
【請求項５】
前記送信制御手段は、前記第１及び第２の受信装置に一致する期間の受信状況を示す受信状況情報を送信させる前よりも、前記第１及び第２の受信装置による受信状況情報の送信間隔を短くさせることを特徴とする請求項３又は４記載の通信装置。
【請求項６】
前記送信制御手段が前記第１及び第２の受信装置に送信させた前記一致する期間の受信状況を示す受信状況情報が対応する場合、前記送信制御手段は、前記第１及び第２の受信装置に、受信状況情報を交互に送信させることを特徴とする請求項３又は４記載の通信装置。
【請求項７】
前記送信制御手段は、前記第１及び第２の受信装置に受信状況情報を交互に送信させる前よりも、前記第１の受信装置による受信状況情報の送信間隔と、前記第２の受信装置による受信状況情報の送信間隔とを、それぞれ長くさせることを特徴とする請求項６記載の通信装置。
【請求項８】
前記ネットワークを介して接続される受信装置の優先度を取得する取得手段と、
前記一致する期間の受信状況を示す前記受信状況情報が対応する前記第１及び第２の受信装置のそれぞれの優先度と、前記受信状況情報が示す受信状況とに基づいて、前記第１の受信装置に対する第１の送信レートと、前記第２の受信装置に対する第２の送信レートとを決定する決定手段と
を有することを特徴とする請求項６又は７記載の通信装置。
【請求項９】
同じデータの送信先であって、前記一致する期間の受信状況を示す受信状況情報が対応する前記第１及び第２の受信装置に対し、エラーしたデータの再送要求を送信可能なタイミングを指定する指定手段を有することを特徴とする請求項６乃至８のうち、いずれか１項記載の通信装置。
【請求項１０】
送信装置が送信したデータをネットワークを介して受信する通信装置であって、
前記送信装置に、データの受信状況を示す受信状況情報を送信する送信手段と、
前記送信手段により送信された第１の受信状況情報が示す第１の期間の受信状況が第１の受信状況である場合、前記第１の受信状況情報が示す前記第１の期間の受信状況が前記第１の受信状況よりもエラーしたデータが少ない第２の受信状況である場合よりも早いタイミングで、前記第１の期間より後の第２の期間の受信状況を示す第２の受信状況情報を送信させるための制御信号を前記送信装置から受信する受信手段と、
前記送信手段により前記第１の受信状況情報を送信したあとに前記受信手段により受信した前記制御信号に応じて、前記第２の期間のデータの受信状況を示す前記第２の受信状況情報の送信タイミングを制御する制御手段と
を有することを特徴とする通信装置。
【請求項１１】
第１の受信装置と第２の受信装置に対してデータを送信する送信手段と、
前記第１の受信装置によるデータの受信状況に関する受信状況情報を前記第１の受信装置から受信すると共に、前記第２の受信装置によるデータの受信状況に関する受信状況情報を前記第２の受信装置から受信する受信手段と、
前記第１及び第２の受信装置が、一致する期間の受信状況を示す受信状況情報を送信するように制御する制御手段とを有することを特徴とする通信装置。
【請求項１２】
前記制御手段は、前記第１の受信装置から受信した受信状況情報が示す受信状況と、前記第２の受信装置から受信した受信状況情報が示す受信状況とが対応していると判定した場合、前記第１の受信装置と前記第２の受信装置とに、一致する期間の受信状況を示す受信状況情報を送信させることを特徴とする請求項１１記載の通信装置。
【請求項１３】
前記制御手段は、前記第１及び第２の受信装置に一致する期間の受信状況を示す受信状況情報を送信させる前よりも、前記第１及び第２の受信装置による受信状況情報の送信間隔を短くさせることを特徴とする請求項１２記載の通信装置。
【請求項１４】
前記制御手段が前記第１及び第２の受信装置に送信させた前記一致する期間の受信状況を示す受信状況情報が対応する場合、前記送信制御手段は、前記第１及び第２の受信装置に、受信状況情報を交互に送信させることを特徴とする請求項１２記載の通信装置。
【請求項１５】
前記制御手段は、前記第１及び第２の受信装置に受信状況情報を交互に送信させる前よりも、前記第１の受信装置による受信状況情報の送信間隔と、前記第２の受信装置による受信状況情報の送信間隔とを、それぞれ長くさせることを特徴とする請求項１４記載の通信装置。
【請求項１６】
送信手段によりネットワークを介して受信装置にデータを送信する通信装置が行う通信方法であって、
前記受信装置によるデータの受信状況を示す受信状況情報を前記受信装置から受信する受信工程と、
前記受信工程により受信された第１の受信状況情報が示す第１の期間の受信状況が第１の受信状況である場合、前記第１の受信状況情報が示す前記第１の期間の受信状況が前記第１の受信状況よりもエラーしたデータが少ない第２の受信状況である場合よりも早いタイミングで、前記第１の期間より後の第２の期間の受信状況を示す第２の受信状況情報が送信されるように、前記受信状況情報が示す受信状況に応じて、前記送信手段からのデータを受信中の前記受信装置により行われる受信状況情報の送信を制御する送信制御工程とを有することを特徴とする通信方法。
【請求項１７】
前記受信状況情報が示す受信状況と前記受信状況情報に対応する期間におけるデータの送信レートとに応じてデータの送信レートを制御するレート制御工程を有し、
前記送信制御工程は、前記第１の受信状況情報が示す前記第１の期間の受信状況が前記第２の受信状況の場合であって、前記第１の期間のデータの送信レートと前記第２の受信状況とに応じて前記レート制御工程がデータの送信レートを上げた場合、前記送信レートを上げない場合よりも早いタイミングで、前記第２の受信状況情報が送信されるように、前記受信状況情報の送信を制御することを特徴とする請求項１６記載の通信方法。
【請求項１８】
送信装置が送信したデータをネットワークを介して受信する通信装置が行う通信方法であって、
前記送信装置に、データの受信状況を示す受信状況情報を送信する送信工程と、
前記送信工程により送信された第１の受信状況情報が示す第１の期間の受信状況が第１の受信状況である場合、前記第１の受信状況情報が示す前記第１の期間の受信状況が前記第１の受信状況よりもエラーしたデータが少ない第２の受信状況である場合よりも早いタイミングで、前記第１の期間より後の第２の期間の受信状況を示す第２の受信状況情報を送信させるための制御信号を前記送信装置から受信する受信工程と、
前記送信工程により前記第１の受信状況情報を送信したあとに前記受信工程により受信した前記制御信号に応じて、前記第２の期間のデータの受信状況を示す前記第２の受信状況情報の送信タイミングを制御する制御工程と
を有することを特徴とする通信方法。
【請求項１９】
コンピュータを請求項１乃至１５のうちいずれか１項に記載の通信装置として動作させるためのプログラム。
【請求項２０】
送信装置と受信装置とを有するシステムであって、
前記送信装置は、
ネットワークを介して前記受信装置にデータを送信する第１の送信手段と、
前記受信装置によるデータの受信状況を示す受信状況情報を前記受信装置から受信する第１の受信手段と、
前記第１の受信手段により受信された受信状況情報に応じて、前記受信装置へのデータの送信レートを制御するレート制御手段と、
前記第１の受信手段により受信された第１の受信状況情報が示す第１の期間の受信状況が第１の受信状況である場合、前記第１の受信状況情報が示す前記第１の期間の受信状況が前記第１の受信状況よりもエラーしたデータが少ない第２の受信状況である場合よりも早いタイミングで、前記第１の期間より後の第２の期間の受信状況を示す第２の受信状況情報が送信されるように、前記受信状況情報が示す受信状況に応じて、前記受信装置による受信状況情報の送信を制御する送信制御手段とを有し、
前記受信装置は、
前記送信装置からのデータを受信する第２の受信手段と、
前記受信装置によるデータの受信状況を示す受信状況情報を前記送信装置へ送信する第２の送信手段とを有し、
前記第２の送信手段は、前記送信制御手段による制御に応じたタイミングで、前記第２の受信状況情報を送信することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの通信方法に関する。
【背景技術】
【０００２】
近年、ネットワークを介した動画データの送受信が急増している。インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ネットワークでリアルタイムに動画データをストリーム送信する技術として、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）が一般的に用いられる。また、ＲＴＰを用いて動画ストリームを送受信する送信装置と受信装置との間では、ＲＴＰによるストリーム転送と並行して、動画ストリーム転送に関する情報の送受信が行われる。動画ストリーム転送に関する情報の送受信には、ＲＴＣＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が、よく用いられる。
【０００３】
受信装置が送信装置に送信するＲＴＣＰデータには、受信状況情報（受信者レポート、Ｒｅｃｅｉｖｅｒ  Ｒｅｐｏｒｔ）や、受信装置が受信に失敗したパケットの再送信要求などがある。また、送信装置が受信装置に送信するＲＴＣＰデータには、送信者レポート（Ｓｅｎｄｅｒ  Ｒｅｐｏｒｔ）などがある。
【０００４】
受信状況情報には、例えば、受信装置による受信パケットの欠落率やパケット間隔ジッタが含まれる。送信装置は、受信装置から受け取る受信状況情報に基づいて動画データの送信レートや、前方誤り訂正（ＦＥＣ、Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）データのレートを調整できる。
【０００５】
特許文献１には、データの送信先からのデータ損失率情報に基づいて、その後の送信装置によるデータの送信レートを制御することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３２０４４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、受信装置による受信状況情報の送信タイミングによっては、適切な通信制御ができない恐れがあった。
【０００８】
例えば、受信装置による受信状況情報の送信間隔が長いと、ネットワークの通信状況の変化への対応が遅くなる。すなわち、ネットワーク上で輻輳が発生しても、その検知が遅れることにより、送信レートを下げる処理の開始が遅くなる恐れがあった。
【０００９】
一方、受信装置による受信状況情報の送信間隔が短いと、受信状況情報の送受信にかかる負荷やネットワークのトラフィックが必要以上に大きくなってしまう恐れがあった。
【００１０】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、受信装置にデータを送信する場合に、適切な通信制御ができるようにすることである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の通信装置は、例えば、以下の構成を有する。すなわち、送信手段によりネットワークを介して受信装置にデータを送信する通信装置であって、前記受信装置によるデータの受信状況を示す受信状況情報を前記受信装置から受信する受信手段と、前記受信手段により受信された第１の受信状況情報が示す第１の期間の受信状況が第１の受信状況である場合、前記第１の受信状況情報が示す前記第１の期間の受信状況が前記第１の受信状況よりもエラーしたデータが少ない第２の受信状況である場合よりも早いタイミングで、前記第１の期間より後の第２の期間の受信状況を示す第２の受信状況情報が送信されるように、前記受信状況情報が示す受信状況に応じて、前記受信装置による受信状況情報の送信を制御する送信制御手段とを有する。
【発明の効果】
【００１２】
本発明によれば、受信装置にデータを送信する場合に、より適切な通信制御ができるようになる。
【図面の簡単な説明】
【００１３】
【図１】送信装置と受信装置からなるネットワーク構成図
【図２】送信装置の機能構成図
【図３】受信状況情報の送信タイミング指示の例を示した図
【図４】受信装置の機能構成図
【図５】受信装置における受信状況情報の送信タイミングに関する情報の格納例を示した図
【図６】送信装置が受信状況情報の送信を制御する処理を説明するためのフローチャート
【図７】受信装置が受信状況情報の送信タイミングを決定する処理を説明するためのフローチャート
【図８】送信装置における再送要求の送信タイミングを制御する処理を説明するためのフローチャート
【図９】受信装置における再送要求の送信タイミングを決定する処理を説明するためのフローチャート
【図１０】受信装置における再送要求タイミング指示情報の格納例を示した図
【図１１】受信装置による再送要求の送信処理を説明するためのフローチャート
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１５】
＜実施形態１＞
本実施形態では、動画データの送信装置が、受信装置からの受信状況情報（受信者レポート：ＲＲ）に応じて、受信装置による受信状況情報の送信を制御する例について説明する。受信状況情報は、受信装置によるデータの受信状況を示す情報である。本形態では、送信装置がネットワークを介して受信装置に動画データを送信する例について説明するが、送信されるデータは動画データに限らない。
【００１６】
図１は本実施形態の送信装置と受信装置を含むシステムの全体の構成図である。動画データのストリーミング機能を有する送信装置１０１がネットワークを介して受信装置１０２〜１０４に接続している。送信装置１０１は、動画データを各受信装置に送信する動画ストリーミングサーバである。送信装置１０１は、動画データとその動画データに対するＦＥＣデータをＲＴＰパケットで送信する。各受信装置は、正常に受信した動画パケット、及び、正常に受信したＦＥＣパケットを用いて、正常に受信できなかった動画パケットを復元できる。
【００１７】
なお、本形態では、送信装置１０１が、各受信装置に異なるセッションで、動画データを送信する例について説明する。送信装置１０１は、各受信装置から、データの受信状況を示す受信状況情報を受信する。また、送信装置１０１は、各受信装置からの受信状況情報に応じて、動画データの送信レートを制御すると共に、各受信装置に対して、受信状況情報の送信を制御するためのパケット（送信制御パケット）をＲＴＣＰパケットで送信する。また、送信装置１０１は、受信装置から再送要求を受信すると、要求された動画パケットを再送信する。
【００１８】
受信装置１０２〜１０４は共に送信装置１０１から動画データを受信するクライアントである。また、各受信装置は、動画データの受信状況を示す受信状況情報や、受信できなかった動画パケットの再送信要求を、ＲＴＣＰパケットで送信装置１０１に送信する。
【００１９】
通信経路１０５〜１０９は、実際には、様々な通信路と中継器で構成される。例えば、通信経路１０８は、無線の通信経路と有線の通信経路の組み合わせで構成される。送信装置１０１から各受信装置までのネットワーク帯域やパケットロス率はそれぞれ異なる。また、送信装置１０１から各受信装置までのパケットロス率や利用可能なネットワーク帯域は、それぞれ時間的に変動する。
【００２０】
図２は本実施形態の送信装置１０１の機能構成を示すブロック図である。送信装置１０１は、動画格納部２０１、動画符号化部２０２、パケット生成部２０３、バッファ２０４、送信部２０５、通信インターフェース２０６を備える。また、送信装置１０１は、セッション情報格納部２０７、制御部２０８、ＦＥＣ生成部２０９、パケット再送部２１０、ＲＴＣＰ生成部２１１、通信状況解析部２１２、ＲＴＣＰ解析部２１３、受信部２１４を備える。送信装置１０１は、通信インターフェース２０６を介して、通信経路１０５に接続される。動画符号化部２０２は、制御部２０８による符号化レートの指示に従い、動画格納部２０１の動画データを符号化する。パケット生成部２０３は、動画符号化部２０２による符号化済みの動画データを、ネットワーク送信する為のパケットデータに変換し、バッファ２０４に格納する。
【００２１】
ＦＥＣ生成部２０９は、制御部２０８によるＦＥＣレートの指示に従い、バッファ２０４に格納された動画パケットからＦＥＣパケットを生成し、送信部２０５に出力する。なお、ＦＥＣレートは、動画データのパケット数に対するＦＥＣパケットのパケット数である。
【００２２】
送信部２０５は、制御部２０８からの指示に応じて、セッション情報格納部２０７に記録されている各受信装置に対して、動画パケット、及び、ＦＥＣパケットを送信する。
【００２３】
受信部２１４は、動画データの送信先である各受信装置からのＲＴＣＰパケットを受信し、ＲＴＣＰ解析部２１３に出力する。受信部２１４が受信装置から受信するＲＴＣＰパケットには、受信状況情報や、再送要求パケットがある。ＲＴＣＰ解析部２１３は再送要求パケットを制御部２０８に出力し、受信状況情報を通信状況解析部２１２に出力する。
【００２４】
ＲＴＣＰ解析部２１３から再送要求パケットを受信した制御部２０８は、再送信を要求されている動画パケットを送信部２０５を介して再送信させる。また、ＲＴＣＰ解析部２１３から受信状況情報を受信した通信状況解析部２１２は、受信状況情報から通信状況のパラメータを算出し、制御部２０８に通知する。
【００２５】
本形態の受信状況情報には、セッションが開始されてから送信された動画パケットとＦＥＣパケット数の合計を示す総パケット数と、受信装置が正常に受信できなかったエラーパケットの総パケット数とが含まれている。通信状況解析部２１２は、受信状況情報に基づいて、所定期間ごとのエラー率を算出し、制御部２０８に通知する。
【００２６】
制御部２０８は、通信状況解析部２１２から通知されたエラー率に基づいて、受信装置に対する送信レートを決定する。そして、制御部２０８は、決定した送信レートに基づいて、動画符号化部２０２に対して動画データの符号化レートを指示すると共に、ＦＥＣ生成部２０９に対してＦＥＣレートを指示する。また、制御部２０８は、受信装置による受信状況情報の送信タイミングを決定する。そして、制御部２０８は、決定された受信状況情報の送信タイミングを受信装置に通知するためのＲＴＣＰパケット（送信制御パケット）の生成をＲＴＣＰ生成部２１１に依頼し、生成された送信制御パケットを送信部２０５を介して受信装置に送信させる。
【００２７】
すなわち、制御部２０８は、受信部２１４により受信された受信状況情報に応じて、送信部２０５からのデータを受信中の受信装置による送信部２０５からのデータの受信状況を示す受信状況情報の送信を制御する。
【００２８】
図３は、送信装置１０１が受信装置に送信する送信制御パケットの指示内容の例である。図３（ａ）は、次回の送信時刻と、その後の送信インターバルを指示するタイプである。すなわち、制御部２０８は、送信部２０５を介して、受信状況情報の次回の送信時刻と、その後の送信間隔を指示するＲＴＣＰパケットを受信装置へ送信する。この例では、次回の送信時刻（１２３０１５００ミリ秒）、及び、それ以後の送信間隔（１５００ミリ秒）が指示される。なお、本形態の制御部２０８は、受信状況情報の送信タイミングを、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）のタイムスタンプで指示する。
【００２９】
図３（ｂ）は、次回の送信時刻を指示せず、送信インターバルのみを指示するタイプである。すなわち、制御部２０８は、送信部２０５を介して、受信状況情報の送信間隔を指示するＲＴＣＰパケットを受信装置へ送信する。この例では、送信間隔（４０００ミリ秒）のみが指示される。
【００３０】
図３（ｃ）は、次回以降の送信時刻を列挙して指示するタイプである。すなわち、制御部２０８は、送信部２０５を介して、複数の受信状況情報の送信時刻を指示するＲＴＣＰパケットを受信装置へ送信する。この例では、５つの送信時刻が列挙されている。
【００３１】
図３（ｄ）は、受信状況情報の送信時刻を受信装置に決定させるタイプである。すなわち、制御部２０８は、送信部２０５を介して、受信状況情報の送信タイミングを受信装置に決定させることを指示するＲＴＣＰパケットを受信装置へ送信する。
【００３２】
図４は本実施形態の受信装置１０２〜１０４の機能構成を示すブロック図である。受信装置は、受信部４０１、バッファ４０２、パケット結合部４０３、動画復号部４０４、表示部４０５、エラー測定部４０６、ＲＴＣＰ解析部４０７、ＦＥＣ復号部４０８を備える。また、受信装置は、制御部４０９、セッション情報格納部４１０、再送要求部４１１、通信品質報告部４１２、送信部４１３、通信インターフェイス４１４を備える。受信装置は、通信インターフェイス４１４を介して、通信経路に接続される。
【００３３】
受信部４０１は、通信インターフェイス４１４を介して受信した動画パケット及びＦＥＣパケットをバッファ４０２に保存する。また、受信部４０１は、受信したＲＴＣＰパケットをＲＴＣＰ解析部４０７に出力する。本形態で受信されるＲＴＣＰパケットには、送信制御パケット（受信状況情報の送信を制御するためのパケット）や、ほかの受信装置によって送信された再送要求パケットがある。また、受信部４０１は受信した動画パケットのシーケンスナンバーをエラー測定部４０６に通知する。
【００３４】
パケット結合部４０３は、バッファ４０２に保存された１つ以上の動画パケットの動画データを結合し、動画復号部４０４に出力する。動画復号部４０４は、結合された動画データを復号して表示部４０５に出力する。表示部４０５は、復号された動画データを表示する。
【００３５】
エラー測定部４０６は、受信部４０１から通知されたシーケンスナンバーからエラーパケットのシーケンスナンバーを特定し、制御部４０９に通知する。
【００３６】
制御部４０９は、エラー測定部４０６からの通知に応じて、エラーパケットが発生したことを通信品質報告部４１２に通知する。また、制御部４０９は、エラーパケットを、正常に受信された動画パケットとＦＥＣパケットを用いて復元可能であるか否かを判定し、復元可能であると判定されたエラーパケットの復元を、ＦＥＣ復号部に依頼する。また、制御部４０９は、復元可能でないと判定されたエラーパケットのシーケンスナンバーを再送要求部４１１に通知する。
【００３７】
ただし、制御部４０９は、復元可能でないと判定されたエラーパケットと同じパケットの再送要求パケットを、他の受信装置から受信した場合、当該エラーパケットのシーケンスナンバーを再送要求部４１１に通知しない。これにより、同じエラーパケットの再送要求パケットが重複して送られないようにすることができる。なお、本形態では、各受信装置はそれぞれ異なる動画データを受信しているので、復元可能でないと判定されたエラーパケットは、すべて再送要求される。
【００３８】
ＦＥＣ復号部４０８は、制御部４０９に復元を依頼されたエラーパケットの復元に必要となる動画パケット及びＦＥＣパケットをバッファ４０２から検索し、復元する。
【００３９】
再送要求部４１１は、制御部４０９から通知されたシーケンスナンバーに基づいて、エラーパケットの再送信を依頼するＲＴＣＰパケットを作成し、送信部４１３を介して送信装置１０１に送信する。
【００４０】
ＲＴＣＰ解析部４０７は、受信したＲＴＣＰパケットを解析し、解析結果を制御部４０９に通知する。本形態のＲＴＣＰ解析部４０７は、送信制御パケットを解析し、図３のいずれのタイプであるかを判定する。そして、ＲＴＣＰ解析部４０７は、送信制御パケットのタイプに応じた受信状況情報の送信タイミングを、制御部４０９に通知する。
【００４１】
ＲＴＣＰ解析部４０７からの通知を受けた制御部４０９は、受信状況情報の送信タイミングを、セッション情報格納部４１０に記録する。
【００４２】
図５は、セッション情報格納部４１０に格納される、受信状況情報の送信タイミングを管理するための管理テーブルの例である。図５に示すように、管理テーブルは、受信セッション番号５０１と前回送信時刻５０２と送信タイミング指定形式５０３と送信タイミング指定値５０４で構成される。本形態の受信装置は、受信状況情報の送信タイミングを、セッションごとに管理している。例えば、受信装置１０２は、送信装置１０１から、セッション番号１のセッションに基づいて第１の動画データを受信すると共に、送信装置１０１とは別の送信装置から、セッション番号２のセッションに基づいて第２の動画データを受信している。
【００４３】
つまり、図５に示す管理テーブルを格納している受信装置１０２は、１２３０２８００ミリ秒に達したことに応じて、送信装置１０１に対して受信状況情報を送信し、その後、２５００ミリ秒間隔で受信状況情報を送信する。また、受信装置１０２は、別の送信装置に対して、１２３０１３００ミリ秒に達したことに応じて受信状況情報を送信し、その後、１２３０２１００に達したことに応じて、次の受信状況情報を送信する。
【００４４】
制御部４０９は、ＲＴＣＰ解析部４０７からの通知に応じて、セッション情報格納部４１０に格納される設定値を変更する。
【００４５】
次に、図６を用いて、受信装置１０２〜１０４へ動画データを送信する送信装置１０１の処理について説明する。なお、図６のフローチャートの処理は、ＣＰＵがＲＯＭに格納されているプログラムを実行することにより、実現される。
【００４６】
ステップＳ６０１（受信手順）において、受信部２１４が受信状況情報を受信装置から受信したことに応じて、通信状況解析部２１２は、受信状況情報の解析結果を制御部２０８に通知する。
【００４７】
ステップＳ６０２において、制御部２０８は、複数の受信装置からの受信状況情報の解析結果に基づいて、複数の受信装置の受信状況が対応しているか否かを判定する。例えば、制御部２０８は、受信装置１０２から第１の受信状況情報を受信してから所定時間内に、受信装置１０３から第２の受信状況情報を受信した場合、第１、第２の受信状況情報が示す受信状況（例えばエラー率）が対応しているか判定する。さらに制御部２０８は、第２の受信状況情報の受信後に受信装置１０２から受信した第３の受信状況情報が示す受信状況と、第３の受信状況情報を受信してから所定時間内に受信装置１０３から受信した第４の受信状況情報が示す受信状況が対応しているか判定する。そして、制御部２０８は、第１、第２の受信状況情報が示す受信状況が対応し、且つ、第３、第４の受信状況情報が示す受信状況が対応すると判定される場合、受信装置１０２、１０３の受信状況が対応すると判定する。
【００４８】
ステップＳ６０２において、複数の受信装置の受信状況が対応していると判定された場合はステップＳ６０４に進み、対応していないと判定された場合はステップＳ６０３に進む。
【００４９】
なお、送信装置１０１が１つの受信装置にのみデータを送信している場合は、ステップＳ６０３に進む。
【００５０】
ステップＳ６０３（レート制御手順）において、制御部２０８は、ステップＳ６０１で受信した受信状況情報の解析結果に応じて、受信装置に対する送信レートを決定する。例えば、制御部２０８は、エラー率が所定のエラー率よりも高い場合は送信レートを下げ、エラーが発生していない場合で、かつ、送信レートが目標レートに達していない場合は送信レートを上げる。
【００５１】
ステップＳ６１４（送信制御手順）において、制御部２０８は、ステップＳ６０１で受信した受信状況情報の解析結果に応じて、受信状況情報の送信を制御するためのパケット（送信制御パケット）をＲＴＣＰ生成部２１１に生成させる。そして、制御部２０８は、生成された送信制御パケットを送信部２０５を介して受信装置へ送信させる。
【００５２】
本形態の制御部２０８は、エラー率が所定のエラー率よりも高い場合、送信レートを下げると共に、受信装置が、所定のエラー率よりも低かった場合よりも早いタイミング、かつ、短い間隔で受信状況情報を送信するように制御する。すなわち、制御部２０８は、受信状況情報が第１の受信状況（第１のエラー率）を示している場合、受信状況情報が第２の受信状況（第２のエラー率）を示している場合よりも早いタイミングで次の受信状況情報を送信させる。また、制御部２０８は、受信状況情報が第１の受信状況を示している場合は第１の期間の受信状況を示す受信状況情報を送信させ、受信状況情報が第２の受信状況を示している場合は第１の期間よりも短い第２の期間の受信状況を示す受信状況情報を送信させる。なお、第２の受信状況のエラー率（第２のエラー率）は、第１の受信状況のエラー率（第１のエラー率）よりも、エラーしたデータが少ない。
【００５３】
また、制御部２０８は、エラー率が所定のエラー率よりも低く、かつ、送信レートが目標レートに達していない場合、送信レートを上げると共に、受信装置が、制御をしない場合よりも早いタイミングで次の受信状況情報を送信するように制御する。すなわち、制御部２０８は、受信状況情報が示すエラー情報に基づいて送信レートを上げた場合、送信レートを上げない場合よりも受信装置が早いタイミングで次の受信状況情報を送信するように制御する。受信状況情報が早いタイミングで送信されることにより、送信装置１０１は、通信状況をより早く知ることができる。
【００５４】
また、制御部２０８は、エラー率が所定のエラー率よりも低く、かつ、送信レートが目標レートに達している場合、送信レートを変更しないと共に、受信装置が、制御をしない場合よりも遅いタイミングで次の受信状況情報が送信されるように制御する。また、この場合、制御部２０８は、次回以降の受信状況情報の送信間隔が長くなるように制御する。受信状況情報の送信回数を少なくすることにより、受信状況情報の送受信にかかる負荷やネットワークの負荷を低減できる。
【００５５】
ステップＳ６０２で、受信装置１０２、１０３の受信状況が対応していると判定された場合、ステップＳ６０４において、制御部２０８は、受信装置１０２、１０３に対して、一致する期間の受信状況を示す受信状況情報を送信させる。例えば、制御部２０８は、次回送信時刻１２３０３５００ミリ秒、インターバル１０００ミリ秒を指定した送信制御パケットをＲＴＣＰ生成部２１１に生成させ、それを受信装置１０２、１０３のそれぞれへ送信させる。これにより、受信装置１０２、１０３は、それぞれ同じタイミングで受信状況情報を送信するようになる。
【００５６】
すなわち、制御部２０８は、第１の受信状況情報を送信した受信装置１０２と、第１の受信状況情報に受信状況が対応する第２の受信状況情報を送信した受信装置１０３とに、一致するタイミングで受信状況情報を送信させる。第２の受信状況情報は、第１の受信状況情報を受信してから、所定時間内に送信装置１０１によって受信された受信状況情報である。
【００５７】
また、ステップＳ６０４において、制御部２０８は、受信装置１０２、１０３に一致する期間の受信状況情報を送信させる前よりも、受信状況情報の送信間隔を短くさせる。このようにすることで、受信装置１０２、１０３の受信状況の比較を、より精度良く行うことができる。
【００５８】
なお、本形態では、ステップＳ６０２で受信状況が対応していると判定された場合に、一致する期間の受信状況情報を送信させる例について説明したが、ステップＳ６０２の判定をすることなく、一致する期間の受信状況情報を送信させることも可能である。
【００５９】
ステップＳ６０５において、制御部２０８は、複数の受信装置１０２、１０３から、一致する期間の受信状況情報を受信する。
【００６０】
ステップＳ６０６において、制御部２０８は、ステップＳ６０５で受信された受信状況情報に基づいて、複数の受信装置１０２、１０３がボトルネックを共有しているか否かを判定する。すなわち、制御部２０８は、複数の受信装置１０２、１０３のそれぞれから、一致する期間の受信状況情報を、複数個、受信し、それらのエラー率の変動が対応しているか否かを判定する。例えば、受信装置１０２、１０３からの受信状況情報により、受信装置１０２、１０３の第１の期間のエラー率が５％、第２の期間のエラー率が７％、第３の期間のエラー率が１０％で一致する場合、ボトルネックを共有していると判定される。また、例えば、第１、第２の期間のエラー率が一致し、第３の期間のエラー率は１％の差異があった場合も、受信装置１０２、１０３がボトルネックを共有していると判定される。
【００６１】
ステップＳ６０６で、複数の受信装置１０２、１０３がボトルネックを共有していると判定された場合はステップＳ６０９に進み、ボトルネックを共有していないと判定された場合はステップＳ６０７に進む。
【００６２】
ステップＳ６０７において、制御部２０８は、ステップＳ６０３と同様に、各受信装置から受信した受信状況情報の解析結果に基づいて、データの送信レートを制御する。すなわち、制御部２０８は、受信装置１０２からの受信状況情報に基づいて受信装置１０２へのデータの送信レートを制御し、受信装置１０３からの受信状況情報に基づいて受信装置１０３へのデータの送信レートを制御する。そして、ステップＳ６０８において、制御部２０８は、受信装置１０２、１０３にそれぞれ異なるタイミングで受信状況情報を送信させると共に、受信状況情報の送信間隔を長くさせる。このように、ボトルネックを共有しないと判定された受信装置からの受信状況情報を、異なるタイミングで送信させることにより、複数の受信装置から同時に受信状況情報を受信するよりも、送信レートの制御やネットワークの負荷を時間的に平準化できる。
【００６３】
ステップＳ６０９において、制御部２０８は、受信装置１０２、１０３に受信状況情報を交互に送信させる。すなわち、制御部２０８は、受信装置１０２、１０３に一致するタイミングで送信させた受信状況情報が対応する場合、受信装置１０２、１０３に、受信状況情報を交互に送信させる。
【００６４】
例えば、制御部２０８は、次回送信時刻１２３０８５００ミリ秒、インターバル２０００ミリ秒を指定した第１の送信制御パケットをＲＴＣＰ生成部２１１に生成させ、それを受信装置１０２に送信させる。また、制御部２０８は、例えば、次回送信時刻１２３０９５００ミリ秒、インターバル２０００ミリ秒を指定した第２の送信制御パケットをＲＴＣＰ生成部に生成させ、それを受信装置１０３に送信させる。なお、制御部２０８は、ステップＳ６０４で、受信装置１０２、１０３に、それぞれ１０００ミリ秒間隔で受信状況情報を送信させている。
【００６５】
送信装置１０１から第１の送信制御パケットを受信した受信装置１０２は、時刻１２３０８５００、１２３１０５００、１２３１２５００・・・に、送信装置１０１に対して受信状況情報を送信する。また、送信装置１０１から第２の送信制御パケットを受信した受信装置１０３は、時刻１２３０９５００、１２３１１５００、１２３１３５００・・・に、送信装置１０１に対して受信状況情報を送信する。
【００６６】
すなわち、制御部２０８は、受信装置１０２、１０３に受信状況情報を交互に送信させる前よりも、受信装置１０２による受信状況情報の送信間隔と、受信装置１０３による受信状況情報の送信間隔とを、それぞれ長くさせる。
【００６７】
このように、送信装置１０１は、受信装置１０２、１０３に受信状況情報を交互に送信させると共に、送信間隔を長くする。このようにすることで、受信状況情報の送受信の負荷やネットワークの負荷を低減しつつ、送信装置１０１は、ボトルネックの通信状況を短い間隔で（１０００ミリ秒ごとに）確認できる。
【００６８】
ステップＳ６１０において、制御部２０８は、受信装置１０２、１０３から交互に送信されてくる受信状況情報に基づいて、受信装置１０２、１０３へのデータの送信レートをまとめて制御する。例えば、制御部２０８は、ボトルネックを共有していると判定された受信装置１０２、１０３のそれぞれに設定された優先度を取得する。そして、制御部２０８は、受信装置１０２、１０３の受信状況に応じて、送信レートの合計値を決定し、さらに、受信装置１０２、１０３の優先度に応じて、受信装置１０２への第１の送信レートと、受信装置１０３への第２の送信レートをそれぞれ決定する。これにより、ボトルネックを共有している受信装置１０２、１０３のうち、受信装置１０３よりも優先度が高い受信装置１０２への送信レートが、受信装置１０３よりも高く決定される。
【００６９】
ステップＳ６１２において、制御部２０８は、受信装置１０２、１０３から交互に送信されてくる受信状況情報に基づいて、受信装置１０２、１０３がボトルネックを共有しているか否かを判定する。すなわち、通信状況解析部２１２が各受信装置からの受信状況情報に基づいて、エラー率の変動を算出し、制御部２０８に通知する。そして、制御部２０８は、通信状況解析部２１２による算出結果に基づいて、受信装置１０２、１０３がボトルネックを共有しているか否かを判定する。この判定は、ステップＳ６０６と同様に行う。
【００７０】
ステップＳ６１２において、受信装置１０２、１０３がボトルネックを共有していると判定された場合はステップＳ６１０に戻り、制御部２０８は、受信装置１０２、１０３の送信レートをまとめて制御する。一方、受信装置１０２、１０３がボトルネックを共有していないと判定された場合はステップＳ６１３に進み、制御部２０８は、受信装置１０２、１０３に異なるタイミングで受信状況情報を送信させる。
【００７１】
このように、ボトルネックを共有していない受信装置に異なるタイミングで受信状況情報を送信させることにより、受信状況情報によるネットワークの負荷や、受信状況情報に応じた送信レート制御などの負荷を時間的に平準化することができる。
【００７２】
次に、図７のフローチャートを用いて受信装置１０２〜１０４の制御部４０９が受信状況情報の送信タイミングを決定する処理について説明する。
【００７３】
ステップＳ７０１（受信手順）において、ＲＴＣＰ解析部４０７は、送信装置１０１からＲＴＣＰパケットを受信する。そして、ＲＴＣＰ解析部４０７は、ＲＴＣＰパケットが送信制御パケットであった場合、受信状況情報の送信タイミングを制御するための制御信号を取得して制御部４０９に通知する。なお、ステップＳ７０１でＲＴＣＰ解析部４０７が送信制御パケットを受信するということは、それ以前に、少なくとも１つ以上の受信状況情報が送信装置１０１に送信されている（送信手順）。
【００７４】
ステップ７０２において、制御部４０９は、ステップＳ７０１でＲＴＣＰ解析部４０７から通知された情報が、受信状況情報の送信タイミングを制御するための制御信号であるか否かを判定する。ステップＳ７０１で通知された情報が受信状況情報の送信タイミングを制御するための制御信号であると判定された場合、ステップＳ７０３に進み、受信状況情報の送信タイミングを制御するための制御信号でないと判定された場合、ステップＳ７０４に進む。
【００７５】
ステップＳ７０３（制御手順）において、制御部４０９は、ステップＳ７０１で通知された制御信号に基づいて、受信状況情報の送信タイミングの設定を変更する。制御部４０９は、図３（ａ）に示すような内容を含む制御信号を受けると、次回送信時刻を指定された値に設定すると共に、受信状況情報の送信インターバルを設定する。つまり、制御部４０９は、通知された制御信号に基づいて、図５に示したような、セッション情報格納部４１０に格納されている情報を書き換える。
【００７６】
すなわち、制御部４０９は、受信状況情報が送信された後に受信された制御信号に応じて、制御信号の受信後に受信したデータの受信状況を示す受信状況情報の送信を制御する。
【００７７】
ステップＳ４０７において、制御部４０９は、受信したＲＴＣＰパケットに基づく処理のうち、受信状況情報の送信タイミング以外の処理を行う。例えば、ＲＴＣＰパケットとして再送要求パケットを受信した場合、制御部４０９は、ステップＳ４０７でパケットの再送処理を行う。
【００７８】
＜実施形態２＞
次に第２の実施形態について、実施形態１との差異を中心に説明する。本実施形態では、受信装置１０２〜１０４に対して、同じ動画データをマルチキャスト送信する送信装置１０１が、受信装置に対して再送信要求の送信タイミングを指示する例について説明する。
【００７９】
本実施形態の送信装置１０１と受信装置１０２〜１０４の構成は、実施形態１と同様である。更に、本実施形態の制御部２０８は、ＲＴＣＰ生成部２１１に対して、再送要求制御パケットの作成を依頼する。また、制御部２０８は、ＲＴＣＰ生成部２１１により生成された再送要求制御パケットを、送信部２０５を介して受信装置に送信させる。
【００８０】
再送要求制御パケットは、受信装置に対して再送要求を送信可能なタイミングを指定するためのパケットである。受信装置は、動画データのパケットロスがあった場合、再送要求制御パケットで指定されたタイミングまで再送要求の送信を待つ。
【００８１】
本形態の制御部２０８が再送要求の送信タイミングの指定方法として、例えば、インターバル型、時間列挙型、待ち時間指定型がある。インターバル型では、次回送信時刻（例えば１２３０００１０ミリ秒）とインターバル（例えば３３ミリ秒）が指定される。また、時間列挙型では、列挙数（例えば５）、送信時刻（１２３０１０１０ミリ秒、１２３０１０４３ミリ秒、１２３０１０７６ミリ秒、１２３０１１０９ミリ秒、１２３０１１３２ミリ秒）が指定される。また、待ち時間指定型では、待ち時間（例えば１０ミリ秒）が指定される。待ち時間指定型の再送制御パケットを受信した受信装置は、動画データのパケットロスを検知してから１０ミリ秒待って、再送要求パケットを送信装置１０１に送信する。なお、受信装置は、１０ミリ秒の待ち時間中に、ロスしたパケットの再送要求パケットを他の受信装置から受信した場合、再送要求パケットを送信しない。また、本形態では、再送要求の送信タイミングをＮＴＰのタイムスタンプで指示する例について説明しているが、ほかの指示方法を用いても良い。
【００８２】
次に、図８を用いて、本実施形態の制御部２０８が、受信装置による再送要求の送信タイミングを制御する処理を説明する。
【００８３】
ステップＳ８０１において、制御部２０８は、各受信装置１０２〜１０４からの受信状況情報に基づいて通信状況解析部２１２によって算出された解析結果（例えば所定期間ごとのエラー率）を受信する。
【００８４】
ステップＳ８０２において、制御部２０８は、ステップＳ８０１で受信した解析結果に基づいて、各受信装置がボトルネックを共有しているか否かを判定する。ステップＳ８０１、Ｓ８０２の処理は、図６のステップＳ６０１〜Ｓ６０６の処理に対応する。ステップＳ８０２で受信装置がボトルネックを共有していると判定された場合はステップＳ８０３に進み、ボトルネックを共有していないと判定された場合は本形態の処理を終了する。この説明では、送信装置１０１によるマルチキャストでの動画データの送信先である受信装置１０２〜１０４のうち、受信装置１０２、１０３がボトルネックを共有していると判定されたとする。
【００８５】
ステップＳ８０３において、制御部２０８は、ボトルネックを共有していると判定された受信装置１０２、１０３による再送要求の送信タイミング決定する。例えば、制御部２０８は、インターバル型で制御する場合、ボトルネックを共有している複数の受信装置のうち、より処理能力の高い受信装置のインターバルの値を小さく、処理能力の低い受信装置のインターバルの値を大きく設定する。これにより、処理能力の高い受信装置にできるだけ多くの再送要求を送信させることができる。
【００８６】
ただし、このようなインターバルの決定方法に限らず、例えば、マルチキャストグループに加入した順序に基づいて、インターバルを決定するようにしても良い。また、例えば、各受信装置の優先度や、ユーザによる指定に基づいて、インターバルを決定するようにしても良い。
【００８７】
ステップＳ８０４において、制御部２０８は、ボトルネックを共有する受信装置に、ステップＳ８０３で決定された送信タイミングで再送要求を送信させるための再送要求制御パケットの生成を、ＲＴＣＰ生成部２１１に依頼する。そして、制御部２０８は、ＲＴＣＰ生成部２１１で生成された再送要求制御パケットを、ボトルネックを共有する受信装置へ送信させる。すなわち、制御部２０８は、同じデータの送信先であって、受信状況情報が対応する受信装置１０２、１０３に対し、エラーしたデータの再送要求を送信可能なタイミングを指定する。
【００８８】
制御部２０８は、例えば、インターバル型で制御する場合、次回送信時刻１２３０１０００ミリ秒、インターバル３３ミリ秒を指定する第１の再送要求制御パケットの生成をＲＴＣＰ生成部２１１に依頼する。また、制御部２０８は、次回送信時刻１２３０１０１５ミリ秒、インターバル３３ミリ秒を指定した第２の再送要求制御パケットの生成をＲＴＣＰ生成部２１１に依頼する。そして、制御部２０８は、第１の再送要求制御パケットを受信装置１０２へ送信させ、第２の再送要求制御パケットを受信装置１０３へ送信させる。
【００８９】
また、制御部２０８は、例えば、待ち時間指定型で制御する場合、待ち時間を５ミリ秒とする第１の再送要求制御パケットと、待ち時間を２０ミリ秒とする第２の再送要求制御パケットの生成をＲＴＣＰ生成部２１１に依頼する。そして、制御部２０８は、第１の再送要求制御パケットを受信装置１０２へ送信させ、第２の再送要求制御パケットを受信装置１０３へ送信させる。また、制御部２０８は、受信装置による再送要求の送信タイミングを、時間列挙型で制御することも可能である。
【００９０】
本形態の受信装置が送信する再送要求パケットの宛先には、マルチキャストアドレスが付加される。従って、例えば受信装置１０２が第１の動画パケットの再送要求パケットを送信すると、当該再送要求パケットは送信装置１０１だけでなく、受信装置１０３、１０４でも受信される。そして、受信装置１０３、１０４は、第１の動画パケットの再送要求パケットを受信すると、たとえ第１の動画パケットを正常に受信していなかったとしても、再送要求を送信しない。このようにすることで、同じ動画パケットの再送要求が、複数の受信装置から重複して送信されないようになる。
【００９１】
次に、図９を用いて、受信装置による再送要求の送信タイミングを制御する処理について説明する。
【００９２】
ステップＳ９０１において、ＲＴＣＰ解析部４０７は、送信装置１０１からＲＴＣＰパケットを受信する。そして、ＲＴＣＰ解析部４０７は、ＲＴＣＰパケットが再送要求制御パケットであった場合、再送要求の送信タイミングを制御するための制御信号を取得して制御部４０９に通知する。
【００９３】
ステップＳ９０２において、制御部４０９は、ステップＳ９０１でＲＴＣＰ解析部４０７から通知された情報が、再送要求の送信タイミングを制御するための制御信号であるか否かを判定する。そして、制御部４０９は、再送要求の送信タイミングを制御するための制御信号であると判定された場合はステップＳ９０３に進み、再送要求の送信タイミングを制御するための制御信号でないと判定された場合はステップＳ９０４に進む。
【００９４】
ステップＳ９０３において、制御部４０９は、ステップＳ９０１で通知された制御信号に基づいて、再送要求の送信タイミングの設定を変更する。制御部４０９は、例えば、インターバル型の制御信号を受けると、次回送信時刻を指定された値に設定すると共に、再送要求の送信インターバルを設定する。つまり、制御部４０９は、通知された制御信号に基づいて、セッション情報格納部４１０に格納されている再送要求の送信タイミングに関する情報を書き換える。
【００９５】
図１０に、本形態のセッション情報格納部４１０に格納される、再送要求の送信タイミングを管理するための管理テーブルの例である。図１０に示すように、管理テーブルは、セッション番号１００１、タイミング指定方式１００２、タイミング指定値１００３で構成される。本形態の受信装置は、再送要求の送信タイミングを、セッションごとに管理している。例えば、受信装置１０２は、送信装置１０１から、セッション番号１のセッションに基づいて、マルチキャストによる動画データを受信している。また、受信装置１０２は、送信装置１０１とは異なる送信装置から、セッション番号２のセッションに基づいて、動画データを受信している。
【００９６】
次に、図１１を用いて、本形態の受信装置の処理について説明する。図１１の処理は、制御部４０９が、動画データのパケットロスを検知したことによって開始される。
【００９７】
ステップＳ１１０１において、制御部４０９は、再送要求の送信可否を判定するための再送要求時間情報を、セッション情報格納部４１０から取得する。タイミング指定方式がインターバル型の場合、制御部４０９は、図１０に示したタイミング指定値のうち、次回送信時刻を、再送要求時間情報として、セッション情報格納部４１０から取得する。なお、次回送信時刻は、ある時刻であっても、幅を持った期間であっても良い。また、タイミング指定方式が待ち時間指定型の場合、制御部４０９は、待ち時間のカウント値を、再送要求時間情報として、セッション情報格納部４１０から取得する。
【００９８】
ステップＳ１１０２において、制御部４０９は、ステップＳ１１０１で取得された再送要求時間情報に基づいて、現在、再送要求を送信可能であるか否かを判定する。例えば、インターバル型の場合、制御部４０９は、現在時刻が、次回送信時刻に達したと判定された場合、再送要求を送信可能であると判定する。また、待ち時間指定型の場合、制御部４０９は、待ち時間のカウント値が、設定された待ち時間に達したと判定された場合、再送要求を送信可能であると判定する。再送要求を送信可能であると判定された場合はステップＳ１１０３に進み、制御部４０９は、再送要求を送信装置１０１へ送信させる。一方、ステップＳ１１０２において再送要求を送信可能でないと判定された場合はステップＳ１１０４に進み、制御部４０９は、再送要求の送信待ちをすると共に、他の受信装置から再送要求を受信したか否かを判定する。
【００９９】
ステップＳ１１０４で、他の受信装置から再送要求を受信したと判定された場合はステップＳ１１０５に進み、制御部４０９は、受信した再送要求に対応する動画データの再送要求の送信を取り消す。
【０１００】
例えば、受信装置１０２の制御部４０９は、同じ動画データをマルチキャストで受信中の受信装置１０３から、第１のパケットの再送要求を受信したことに応じて、ステップＳ１１０５で、第１のパケットの再送要求の送信を取り消す。
【０１０１】
このように、本実施形態の送信装置１０１は、マルチキャストによる同じ動画データの送信先である受信装置１０２、１０３、１０４のうち、ボトルネックを共有している受信装置１０２、１０３による再送要求の送信タイミングが一致しないように制御する。このようにすることで、複数の受信装置から、同じ動画パケットの再送要求が重複して送信される可能性を低減できる。また、マルチキャストの送信先であるすべての受信装置１０２、１０３、１０４による再送要求の送信タイミングが一致しないように制御されるよりも、各受信装置は、早いタイミングで再送要求を送信できる。
【０１０２】
つまり、他の受信装置とボトルネックを共有していない受信装置１０４は、動画データのパケットロスを検知すると、本形態で示すような待ち時間を設けることなく再送要求を送信するので、再送されたデータを早く受信できる。ただし、すべてのマルチキャストの送信先である受信装置１０２、１０３、１０４のそれぞれに対して、再送要求の送信タイミングが一致しないように制御することも可能である。
【０１０３】
ステップＳ１１０３で再送要求を送信するか、ステップＳ１１０５で再送要求の送信を取り消すと、ステップＳ１１０６に進み、制御部４０９は、再送要求時間情報を更新する。タイミング指定方式がインターバル型であった場合、制御部４０９は、ステップＳ１１０５で、前回送信時刻と次回送信時刻にインターバル値を加算する。また、タイミング指定方式が待ち時間指定型の場合、制御部４０９は、待ち時間のカウント値をリセットする。
【０１０４】
なお、第１、第２の実施形態の受信装置１０２は、受信状況情報のＲＴＣＰパケットに、送信装置１０１への指示を含めることができる。例えば、受信装置１０２の通信品質報告部４１２は、送信装置１０１に送信させる動画データを切り替える指示や送信装置１０１による動画データの送信を終了させるための指示を、受信状況情報のパケットの拡張領域に含めることができる。
【０１０５】
本形態の受信装置１０２は、送信装置１０１から指定された受信状況情報の送信タイミングに関わらず、送信装置１０１に対する指示を含む受信状況情報を送信できる。また、受信装置１０２は、受信状況情報の送信タイミングを指定された後に、送信装置１０１に対する指示を含む受信状況情報を送信する場合、受信状況に関する情報にはダミーデータを埋め込む。このようにすることにより、送信装置１０１は、複数の受信装置の受信状況が対応しているか否かなどの判断を精度良く行えると共に、受信装置は、送信装置１０１に対する指示を早いタイミングで通知することができる。
【０１０６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005523130.tif 000002
【図２】
0005523130.tif 000003
【図３】
0005523130.tif 000004
【図４】
0005523130.tif 000005
【図５】
0005523130.tif 000006
【図６】
0005523130.tif 000007
【図７】
0005523130.tif 000008
【図８】
0005523130.tif 000009
【図９】
0005523130.tif 000010
【図１０】
0005523130.tif 000011
【図１１】
0005523130.tif 000012