(57)【要約】【課題】パケットロスが発生した場合に、受信側の処理負荷が大きくならないようにするとともに、トラフィックが増大するのをできるだけ抑制して効率の良い通信を行なうことができるようにする。【解決手段】受信装置１０１から送られた再送要求から、パケット再送制御部１０７がパケットロス率を算出する。そして、前記算出したパケットロス率とパケット重要度設定部１０４が設定したパケット毎の重要度とから受信装置１０１に再送する再送パケットを決定するようにして、受信装置１０１は、パケットロスが発生した場合に、損失したパケットの重要度を判別して再送要求を行なうか否かを判断することを不要にすることができ、さらに、各パケットにロストしたパケットの重要度を受信装置１０１で判別するための仕組みを組み入れることによるトラフィックの増大を防止することができるようにする。【選択図】図１
2008312126.tif 000002
【特許請求の範囲】
【請求項１】
動画像データをパケットに分割して、前記動画像データを要求するデータ受信装置に送信するデータ送信装置であって、
前記動画像データから送信用のパケットを生成するパケット生成手段と、
前記パケット生成手段によって生成されたパケット毎の重要度を設定するパケット重要度設定手段と、
前記パケット重要度設定手段によって設定されたパケット毎の重要度を第１の記憶部に記憶するパケット重要度記憶手段と、
前記パケット生成手段によって生成されたパケットを前記データ受信装置に送信するとともに、前記データ受信装置からパケットの再送要求を受信するパケット通信手段と、
前記パケット通信手段により送信するパケットを第２の記憶部に保管するパケット保管手段と、
前記パケット通信手段によって受信されたパケットの再送要求からパケットの損失率を算出するパケットロス率算出手段と、
前記パケットロス率算出手段によって算出されたパケットの損失率と前記第１の記憶部に記憶されたパケット毎の重要度とから前記データ受信装置に再送する再送パケットを決定する再送パケット決定手段と、
前記再送パケット決定手段によって決定された再送パケットを前記第２の記憶部から読み出して前記パケット通信手段を介して前記データ受信装置に送信するパケット再送手段とを備えることを特徴とするデータ送信装置。
【請求項２】
前記動画像データは、ＭＰＥＧ方式で圧縮符号化されたデータであることを特徴とする請求項１に記載のデータ送信装置。
【請求項３】
前記パケット重要度設定手段は、前記動画像データのフレーム単位で重要度を設定し、
前記パケット重要度記憶手段は、前記フレーム単位の重要度をパケット毎に前記第１の記憶部に記憶することを特徴とする請求項１または２に記載のデータ送信装置。
【請求項４】
前記パケット重要度設定手段は、前記動画像データを構成するフレームがフレーム間の差分情報を抽出して圧縮されている場合は、前記動画像データを復号する場合に参照するフレームの階層の深さに応じて重要度を設定することを特徴とする請求項１〜３の何れか１項に記載のデータ送信装置。
【請求項５】
前記パケットロス率算出手段は、前記パケット通信手段によって受信されたパケットの再送要求をもとに、所定時間に通信経路で損失したパケットの数から算出することを特徴とする請求項１〜４の何れか１項に記載のデータ送信装置。
【請求項６】
前記再送パケット決定手段は、前記データ受信装置の接続優先度を基に、再送パケットを決定することを特徴とする請求項１〜５の何れか１項に記載のデータ送信装置。
【請求項７】
前記再送パケット決定手段は、前記データ送信装置の帯域使用率及び処理負荷に基づいて、再送するパケットの割合を制御して再送パケットを決定することを特徴とする請求項６に記載のデータ送信装置。
【請求項８】
データ送信装置に対して動画像データの送信要求を行なうデータ受信装置であって、
前記データ送信装置から送信されたパケットを受信するパケット通信手段と、
前記パケット通信手段によって受信されたパケットを基に、前記データ送信装置との通信経路で損失したパケットを検出するパケットロス検出手段と、
前記パケットロス検出手段によって検出されたパケットを前記データ送信装置に対して再送要求するパケット再送要求手段とを備え、
前記パケット通信手段は、前記パケット再送要求手段による再送要求に応じてパケットの損失率及びパケット毎の重要度を基に決定された再送パケットを前記データ送信装置から受信することを特徴とするデータ受信装置。
【請求項９】
前記パケットロス検出手段は、前記パケット通信手段によって受信されたパケット毎に格納されているパケットの順序を示す数値を参照することにより、通信経路で損失したパケットを検出することを特徴とする請求項８に記載のデータ受信装置。
【請求項１０】
前記パケット再送要求手段は、前記パケットロス検出手段によって検出されたパケットを識別する数値を、前記データ送信装置に通知することを特徴とする請求項８または９に記載のデータ受信装置。
【請求項１１】
請求項１〜７の何れか１項に記載のデータ送信装置と、請求項８〜１０の何れか１項に記載のデータ受信装置とを備えることを特徴とするデータ送受信システム。
【請求項１２】
動画像データをパケットに分割して、前記動画像データを要求するデータ受信装置に送信するデータ送信装置の制御方法であって、
前記動画像データから送信用のパケットを生成するパケット生成工程と、
前記パケット生成工程において生成したパケット毎の重要度を設定するパケット重要度設定工程と、
前記パケット重要度設定工程において設定したパケット毎の重要度を第１の記憶部に記憶するパケット重要度記憶工程と、
前記パケット生成工程において生成したパケットを前記データ受信装置に送信するとともに、前記データ受信装置からパケットの再送要求を受信するパケット通信工程と、
前記パケット通信工程において送信するパケットを第２の記憶部に保管するパケット保管工程と、
前記パケット通信工程において受信したパケットの再送要求からパケットの損失率を算出するパケットロス率算出工程と、
前記パケットロス率算出工程において算出したパケットの損失率と前記第１の記憶部に記憶されたパケット毎の重要度とから前記データ受信装置に再送する再送パケットを決定する再送パケット決定工程と、
前記再送パケット決定工程において決定した再送パケットを前記第２の記憶部から読み出して前記データ受信装置に送信するパケット再送工程とを備えることを特徴とするデータ送信装置の制御方法。
【請求項１３】
データ送信装置に対して動画像データの送信要求を行なうデータ受信装置の制御方法であって、
前記データ送信装置から送信されたパケットを受信するパケット通信工程と、
前記パケット通信工程において受信したパケットを基に、前記データ送信装置との通信経路で損失したパケットを検出するパケットロス検出工程と、
前記パケットロス検出工程において検出したパケットを前記データ送信装置に対して再送要求するパケット再送要求工程とを備え、
前記パケット通信工程においては、前記パケット再送要求工程における再送要求に応じてパケットの損失率及びパケット毎の重要度を基に決定された再送パケットを前記データ送信装置から受信することを特徴とするデータ受信装置の制御方法。
【請求項１４】
動画像データをパケットに分割して、前記動画像データを要求するデータ受信装置に送信するようにコンピュータに実行させるプログラムであって、
前記動画像データから送信用のパケットを生成するパケット生成工程と、
前記パケット生成工程において生成したパケット毎の重要度を設定するパケット重要度設定工程と、
前記パケット重要度設定工程において設定したパケット毎の重要度を第１の記憶部に記憶するパケット重要度記憶工程と、
前記パケット生成工程において生成したパケットを前記データ受信装置に送信するとともに、前記データ受信装置からパケットの再送要求を受信するパケット通信工程と、
前記パケット通信工程において送信するパケットを第２の記憶部に保管するパケット保管工程と、
前記パケット通信工程において受信したパケットの再送要求からパケットの損失率を算出するパケットロス率算出工程と、
前記パケットロス率算出工程において算出したパケットの損失率と前記第１の記憶部に記憶されたパケット毎の重要度とから前記データ受信装置に再送する再送パケットを決定する再送パケット決定工程と、
前記再送パケット決定工程において決定した再送パケットを前記第２の記憶部から読み出して前記データ受信装置に送信するパケット再送工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
データ送信装置に対して動画像データの送信要求を行なうようにコンピュータに実行させるプログラムであって、
前記データ送信装置から送信されたパケットを受信するパケット通信工程と、
前記パケット通信工程において受信したパケットを基に、前記データ送信装置との通信経路で損失したパケットを検出するパケットロス検出工程と、
前記パケットロス検出工程において検出したパケットを前記データ送信装置に対して再送要求するパケット再送要求工程とをコンピュータに実行させ、
前記パケット通信工程においては、前記パケット再送要求工程における再送要求に応じてパケットの損失率及びパケット毎の重要度を基に決定された再送パケットを前記データ送信装置から受信するようにコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
請求項１４または１５に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ送信装置、データ受信装置、データ送受信システム、データ送信装置の制御方法、データ受信装置の制御方法、プログラム及び記録媒体に関し、特に、回線状況やパケットの重要度に応じて再送の動作を制御するために用いて好適な技術に関する。
【背景技術】
【０００２】
近年、通信システムの発達により、比較的大きなデータ通信帯域が必要となる動画像データをインターネットなどの通信回線を通して見ることが一般に行なわれるようになってきている。このような動画像データの通信を行なう際に、特に、ライブ映像などのリアルタイム性を必要とする動画像データを長時間にわたり送信するために、ＲＴＰ（A Transport Protocol for Real-Time Applications）と呼ばれる形式が一般的と用いられている。ＲＴＰは、オーディオやビデオなどをリアルタイムでデータ転送するために、ＩＥＴＦ（The Internet Engineering Task Force）によりＲＦＣ１８８９及びＲＦＣ１８９０として定義されたプロトコルである。
【０００３】
一般的に、前記ＲＴＰプロトコルに代表されるリアルタイム通信においては、必ずしもデータの信頼性という点で高いとはいえない。しかしながら、比較的単純で通信速度が大きいと期待されるＵＤＰ／ＩＰ（User Datagram Protocol/Internet Protocol）などの下位の低層プロトコルが利用されている。ＲＴＰにおいては、これを強く想定したものとなっている。このような、ＵＤＰ／ＩＰなどのプロトコルを用いた場合、リアルタイム性には優れているものの、その性質上、パケットロスなどのエラーが発生しやすいという問題がある。
【０００４】
もし、エラーが発生すれば、動画像の一部が欠落するといった現象が発生する可能性が高いため、様々な工夫がなされてきている。例えば、圧縮符号化された動画像データに対し、符号化時点でエラーの波及する範囲を限定する仕組みを組み込むことが行なわれている。また、一度発生したエラーに対して再生表示する際の動画像の欠落を目立たなくしたりするといったことも実際に行なわれている。さらに、通信の側面からは、より信頼性の高い通信回線が提案され、特定条件下では、エラー率はかなり低いものとなってきている。
【０００５】
一方、通信が混雑してエラーが発生しやすい状況においては、この状況を抑制させることも重要な課題となっている。従来、パケットロス等のエラーを抑制させる技術として、エラーが発生した際のネットワークの状況、或いはパケット毎の重要度を考慮して、パケットの送信方法を制御し、効率の良い通信を行なう技術が提案されている。この技術の従来例として、送信側でパケットの重要度を設定する際に、パケットのロス率が高い時には重要度の高いパケットの割合を少なくし、ロス率が低い時には重要度の高いパケットの割合を多くする。一方、受信側では重要度が高く設定されているパケットのロスを検出した場合に、送信側にパケットの再送を要求する技術が開示されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開２００４−２４８３２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記特許文献１に記載の技術では、受信側は、パケットロスの検知だけではなく、パケットロスが発生した場合にロストしたパケットの重要度を判別して再送要求を行なうか否かの判断を行なう必要があった。このため、受信側の処理負荷が大きくなってしまうという問題点があった。
【０００８】
さらに、ロストしたパケットの重要度を受信側で判別するための仕組みを各パケットに送信側で組み入れる必要があり、その分だけトラフィックが増大してしまう。このため、効率の良い通信を行なう点においては不十分であった。
【０００９】
また、前記特許文献１に記載の技術では、重要度のレベルが高・低の２段階であり、処理の細かい再送制御を行なうことができなかった。このため、再送制御という点に着目した場合においても、効率の良い通信を行なう点においては不十分であった。
【００１０】
本発明は前述の問題点に鑑み、パケットロスが発生した場合に、受信側の処理負荷が大きくならないようにするとともに、トラフィックが増大するのをできるだけ抑制して効率の良い通信を行なうことができるようにすることを目的としている。
【課題を解決するための手段】
【００１１】
本発明のデータ送信装置は、動画像データをパケットに分割して、前記動画像データを要求するデータ受信装置に送信するデータ送信装置であって、前記動画像データから送信用のパケットを生成するパケット生成手段と、前記パケット生成手段によって生成されたパケット毎の重要度を設定するパケット重要度設定手段と、前記パケット重要度設定手段によって設定されたパケット毎の重要度を第１の記憶部に記憶するパケット重要度記憶手段と、前記パケット生成手段によって生成されたパケットを前記データ受信装置に送信するとともに、前記データ受信装置からパケットの再送要求を受信するパケット通信手段と、前記パケット通信手段により送信するパケットを第２の記憶部に保管するパケット保管手段と、前記パケット通信手段によって受信されたパケットの再送要求からパケットの損失率を算出するパケットロス率算出手段と、前記パケットロス率算出手段によって算出されたパケットの損失率と前記第１の記憶部に記憶されたパケット毎の重要度とから前記データ受信装置に再送する再送パケットを決定する再送パケット決定手段と、前記再送パケット決定手段によって決定された再送パケットを前記第２の記憶部から読み出して前記パケット通信手段を介して前記データ受信装置に送信するパケット再送手段とを備えることを特徴とする。
【００１２】
本発明のデータ受信装置は、データ送信装置に対して動画像データの送信要求を行なうデータ受信装置であって、前記データ送信装置から送信されたパケットを受信するパケット通信手段と、前記パケット通信手段によって受信されたパケットを基に、前記データ送信装置との通信経路で損失したパケットを検出するパケットロス検出手段と、前記パケットロス検出手段によって検出されたパケットを前記データ送信装置に対して再送要求するパケット再送要求手段とを備え、前記パケット通信手段は、前記パケット再送要求手段による再送要求に応じてパケットの損失率及びパケット毎の重要度を基に決定された再送パケットを前記データ送信装置から受信することを特徴とする。
【００１３】
本発明のデータ送受信システムは、前記に記載のデータ送信装置と、前記に記載のデータ受信装置とを備えることを特徴とする。
【００１４】
本発明のデータ送信装置の制御方法は、動画像データをパケットに分割して、前記動画像データを要求するデータ受信装置に送信するデータ送信装置の制御方法であって、前記動画像データから送信用のパケットを生成するパケット生成工程と、前記パケット生成工程において生成したパケット毎の重要度を設定するパケット重要度設定工程と、前記パケット重要度設定工程において設定したパケット毎の重要度を第１の記憶部に記憶するパケット重要度記憶工程と、前記パケット生成工程において生成したパケットを前記データ受信装置に送信するとともに、前記データ受信装置からパケットの再送要求を受信するパケット通信工程と、前記パケット通信工程において送信するパケットを第２の記憶部に保管するパケット保管工程と、前記パケット通信工程において受信したパケットの再送要求からパケットの損失率を算出するパケットロス率算出工程と、前記パケットロス率算出工程において算出したパケットの損失率と前記第１の記憶部に記憶されたパケット毎の重要度とから前記データ受信装置に再送する再送パケットを決定する再送パケット決定工程と、前記再送パケット決定工程において決定した再送パケットを前記第２の記憶部から読み出して前記データ受信装置に送信するパケット再送工程とを備えることを特徴とする。
【００１５】
本発明のデータ受信装置の制御方法は、データ送信装置に対して動画像データの送信要求を行なうデータ受信装置の制御方法であって、前記データ送信装置から送信されたパケットを受信するパケット通信工程と、前記パケット通信工程において受信したパケットを基に、前記データ送信装置との通信経路で損失したパケットを検出するパケットロス検出工程と、前記パケットロス検出工程において検出したパケットを前記データ送信装置に対して再送要求するパケット再送要求工程とを備え、前記パケット通信工程においては、前記パケット再送要求工程における再送要求に応じてパケットの損失率及びパケット毎の重要度を基に決定された再送パケットを前記データ送信装置から受信することを特徴とする。
【００１６】
本発明のプログラムは、動画像データをパケットに分割して、前記動画像データを要求するデータ受信装置に送信するようにコンピュータに実行させるプログラムであって、前記動画像データから送信用のパケットを生成するパケット生成工程と、前記パケット生成工程において生成したパケット毎の重要度を設定するパケット重要度設定工程と、前記パケット重要度設定工程において設定したパケット毎の重要度を第１の記憶部に記憶するパケット重要度記憶工程と、前記パケット生成工程において生成したパケットを前記データ受信装置に送信するとともに、前記データ受信装置からパケットの再送要求を受信するパケット通信工程と、前記パケット通信工程において送信するパケットを第２の記憶部に保管するパケット保管工程と、前記パケット通信工程において受信したパケットの再送要求からパケットの損失率を算出するパケットロス率算出工程と、前記パケットロス率算出工程において算出したパケットの損失率と前記第１の記憶部に記憶されたパケット毎の重要度とから前記データ受信装置に再送する再送パケットを決定する再送パケット決定工程と、前記再送パケット決定工程において決定した再送パケットを前記第２の記憶部から読み出して前記データ受信装置に送信するパケット再送工程とをコンピュータに実行させることを特徴とする。
また、本発明のプログラムの他の特徴とするところは、データ送信装置に対して動画像データの送信要求を行なうようにコンピュータに実行させるプログラムであって、前記データ送信装置から送信されたパケットを受信するパケット通信工程と、前記パケット通信工程において受信したパケットを基に、前記データ送信装置との通信経路で損失したパケットを検出するパケットロス検出工程と、前記パケットロス検出工程において検出したパケットを前記データ送信装置に対して再送要求するパケット再送要求工程とをコンピュータに実行させ、前記パケット通信工程においては、前記パケット再送要求工程における再送要求に応じてパケットの損失率及びパケット毎の重要度を基に決定された再送パケットを前記データ送信装置から受信するようにコンピュータに実行させることを特徴とする。
【００１７】
本発明の記録媒体は、前記の何れかに記載のプログラムを記録したことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、データ受信装置から送られた再送要求からパケットの損失率を算出し、前記算出したパケットの損失率とパケット毎の重要度とから前記データ受信装置に再送する再送パケットを決定するようにした。これにより、受信側は、パケットロスが発生した場合に、損失したパケットの重要度を判別して再送要求を行なうか否かを判断することを不要にすることができる。さらに、ロストしたパケットの重要度を受信側で判別するための仕組みを各パケットに組み入れることによるトラフィックが増大するのを防止することができる。したがって、受信側の処理負荷が大きくならないようにするとともに、効率の良い通信を行なうことができる。
【００１９】
また、本発明の他の特徴によれば、動画像データを復号する場合に参照するフレームの階層の深さに応じてパケットの重要度を設定するようにしたので、処理の細かい再送制御を行なうことができる。これにより、さらに効率の良い通信を行なうことができる。
【発明を実施するための最良の形態】
【００２０】
（第１の実施形態）
本発明の実施形態として、動画像データから通信用のパケットを生成し、受信装置に送信するシステムについて図面を参照しながら説明する。
図１は、本実施形態におけるデータ送受信システムの構成例を示すブロック図である。このシステムは、動画像データを送信する送信装置１００と動画像データを受信する受信装置１０１とで構成され、動画像データは通信に適したサイズに分割され、通信パケットとして送受信が行なわれる。
【００２１】
図１に示す送信装置１００においては、動画像データ生成部１０２は、概念的な機能面からは、動画像データを生成し、パケット生成部１０３は、生成した動画像データを通信に適したサイズに分割し、通信用のプロトコルに準じたパケットを生成する。また、パケット生成部１０３はパケット保管手段として機能し、第２の記憶部である送信バッファ１１２に生成したパケットを一時保管する。
【００２２】
パケット重要度設定部１０４は、生成したパケット毎に重要度のレベル分けを行なう。また、パケット重要度設定部１０４はパケット重要度記憶手段として機能し、パケット毎の重要度情報を第１の記憶部である重要度情報バッファ１１３に一時保管する。接続制御部１０５は、受信装置１０１との接続状態を制御し、パケット通信部１０６は、生成したパケットを受信装置１０１に送信する。また、パケット再送制御部１０７は、パケット通信部１０６を介して受信装置１０１から送られるパケットの再送要求情報からパケットのロス率を計算する。そして、パケットの再送を行なうか否かを判断し、計算したパケットロス率のデータをロス率バッファ１１４に一時保管する。
【００２３】
一方、受信装置１０１においては、接続制御部１０８は、送信装置１００との接続状態を制御し、パケット通信部１０９は、送信装置１００から送信されるパケットを受信する。そして、パケットロス検知部１１１は、受信したパケットから通信経路途中で損失したパケットを検出し、パケット再送要求部１１０は、損失したパケットの再送をパケット通信部１０９を介して送信装置１００に要求する。なお、受信装置１０１は１つの送信装置１００に対して、複数接続していてもよい。
【００２４】
次に、図１を参照しながら、本実施形態のシステムの一般的な処理の流れについて説明する。まず、受信装置１０１を操作する利用者の操作により、送信装置１００から動画像データを取得するように要求する。この操作は、例えばＧＵＩ（グラフィカル・ユーザ・インターフェース）を用いて送信装置１００のＵＲＬ（Uniform Resource Locator）を入力する操作であってもよい。また、受信装置１０１に予め通信接続の定義しておいた情報を用いて、スイッチを押下するような操作であってもよい。
【００２５】
動画像データ取得の指示においては、送信装置１００に接続するためのメッセージをパケット通信部１０９から送信するように接続制御部１０８が制御する。そして、パケット通信部１０９は、送信装置１００のパケット通信部１０６に対して、接続を要求するメッセージを通知する。
【００２６】
送信装置１００では、受信装置１０１から送信された接続を要求するメッセージをパケット通信部１０６にて受信し、接続制御部１０５は、接続の可否を判断する。そして、その判断の結果を示すメッセージを受信装置１０１に返す。この接続制御のための通信において最も一般的な方法のひとつは、ＲＴＳＰ（Real Time Streaming Protocol、RFC 2326、The Internet Society）によるものである。図１では簡略化のため、接続制御のメッセージを単純化した矢印にて記載しているが、例えばＲＴＳＰにおいては、複数回のメッセージ交換により行われる。
【００２７】
送信装置１００においては、次に、動画像データ生成部１０２において動画像データの生成を行ない、生成された動画像データを、所定のバッファに一時的に保管する。そして、所定のバッファに保管された動画像データは、パケット生成部１０３にて通信に適したサイズに分割され、動画像データを含んだ送信用パケットが生成される。この生成された送信用パケットは、受信装置１０１から再送要求があった時に備え、送信バッファ１１２において、一定時間分保管される。
【００２８】
一方、パケット重要度設定部１０４では、送信用パケットを生成する際に、動画像データ生成部１０２から動画像のフレーム毎にフレームの種類を取得し、取得したフレームの種類、及びそのフレームの並び順からフレーム毎に重要度を設定する。この重要度設定の方法および処理内容については、後で詳細に説明する。
【００２９】
そして、生成された送信用パケットは、パケット通信部１０６から受信装置１０１のパケット通信部１０９へ順次送信される。
【００３０】
次に、受信装置１０１では、パケット通信部１０９で受信したパケットから、通信系路上で失われたパケットの検出を行なう。この検出処理は、パケットロス検出手段として機能するパケットロス検知部１１１において行なわれる。そして、パケットの損失（ロス）があった場合には、パケット再送要求部１１０において、パケットロスが検出されたパケットの再送を要求するメッセージ（以下、再送要求メッセージと称す）を生成する。そして、送信装置１００の再送要求受信手段として機能するパケット通信部１０６に対して、パケット通信部１０９から再送要求メッセージを通知する。
【００３１】
通信経路上で損失したパケットの再送要求メッセージが受信装置１０１から送信装置１００に通知された場合、送信装置１００では、パケット通信部１０６からパケット再送制御部１０７へ再送要求メッセージが渡される。そして、再送要求メッセージに対して、再送するパケットの選別及び再送の可否が判定される。
【００３２】
この時、パケット再送制御部１０７では、パケットの再送要求メッセージから算出するパケット損失の割合、パケット重要度設定部１０４で設定したパケット毎の重要度情報などから、実際に受信装置１０１へ再送するパケットを決定する。この決定に応じて、パケット通信部１０６はパケット再送手段として機能し、パケットの再送に備えて送信バッファ１１２にて保管していたパケットを読み出して受信装置１０１へ送信する。受信装置１０１のパケット通信部１０９はパケット通信手段として機能し、送信装置１００から送信された再送パケットを受信する。なお、送信バッファ１１２、重要度情報バッファ１１３、及びロス率バッファ１１４は、同一の記憶装置であってもよい。
【００３３】
次に、図２を参照しながら前述したパケット重要度設定部１０４で行なわれるフレーム毎の重要度設定の方法及び処理内容について説明する。動画像データを分割してパケット化して送受信を行なう場合、動画像データは一般に圧縮符号化処理が行なわれる。その代表的な方式として、ＭＰＥＧ−２（ISO/IEC 13818）やＭＰＥＧ−４（ISO/IEC 14496）などのＭＰＥＧ方式があげられる。本実施形態では、動画像データ生成部１０２において、これらの圧縮符号化方式を用いて動画像データを符号化するものとする。そこで、まず動画像データを構成する各画像（フレーム）を圧縮する方式として存在する主な３種類の圧縮方式について説明する。
【００３４】
１つ目は、１つのフレーム内の情報のみでマクロブロック処理などを行ない圧縮符号化処理する方式であり、この方式で圧縮されたフレームはI-Frame (Intra-coded Frame)と呼ばれる。
【００３５】
２つ目は、時間軸上前方のフレームを参照しながら、動き補償予測、マクロブロック処理など差分情報を抽出して行なう方式であり、前方のフレームに依存した圧縮方式である。この方式で圧縮されたフレームをP-Frame (Predicted Frame)と呼ぶ。
【００３６】
３つ目は、P-Frameと同様に時間軸上隣り合ったフレームを参照しながら圧縮符号化を行なう方式である。ところが、P-Frameが前方のフレームのみを参照していたのに対し、時間軸上、当該フレームの前後のフレームを参照しながら動き補償予測、マクロブロック処理などを行なう。この方式で圧縮されたフレームをB-Frame (Bi-directional Predicted Frame)と呼ぶ。なお、前述した画像のフレーム(Frame)はピクチャ(Picture)とも呼ばれるが、本実施形態ではフレーム(Frame)と呼ぶこととする。
【００３７】
図２に示す「Ｉ」、「Ｐ」、「Ｂ」は、各々I-Frame、P-Frame、B-Frameを表しており、「Ｐ」、及び「Ｂ」の添え字の数字は、同じ符号化形式のフレームを識別するために付されている。また、いくつかの符号化済みのフレームの集合はＧＯＰ(Group of Pictures)、或いはＧＯＶ(Group of Video Object Plane)と呼ばれている。通常、符号化済みの動画像データはＧＯＰ或いはＧＯＶの組み合わせのフレームが連続している。以下、符号化済みのフレームの集合をＧＯＰと呼称する。
【００３８】
図２は、代表的な２つのタイプのＧＯＰにおける重要度の設定方法を示す図である。図２（ａ）に示すタイプのＧＯＰでは、先頭のI-Frameから始まって、以降のP-Frameは常に前方フレームのみを参照している。このため、パケットロスなどで情報の欠落があった場合、情報の欠落があるフレームが前方のフレームであるほど画像への影響が大きい。そこで本実施形態では、パケットの損失などによるエラーの伝播の影響度の高いものほど重要度が高いものとして設定する。したがって、図２（ａ）に示すタイプのＧＯＰでは、先頭のI-Frameが最も重要度が高く、以降のP-Frameでは送信順に重要度が低下する。また、図２に示す重要度は、数値が小さいほど重要度が高いことを示しており、「１」が最も重要度が高い数値である。
【００３９】
一方、図２（ｂ）に示すタイプのＧＯＰでは、B-Frameが含まれているため、図２（ｂ）に示すように送信順（＝デコード順）とディスプレイ装置で表示される表示順とが異なる。この場合、デコード時のフレーム間の参照関係に着目すると、I-Frameはそのフレーム以降の最初の参照元フレームを生成するデータとなるので図２（ａ）に示すタイプと同様に最も重要度が高い。
【００４０】
ところがB-Frameは、前後のフレームを参照してデコードするが、そのように生成したフレームは、さらにそのフレームを参照してデコードに利用されることはない。つまり、パケットの損失などによるエラーの伝播の影響はそのフレームに限定されるため、B-Frameの重要度は最も低い。また、エラーの伝播の影響のみを考慮した場合も、B-Frame同士では、全て同じレベルの重要度となる。
【００４１】
また、P-FrameはI-FrameとB-Frameの中間の重要度となり、P-Frame間の重要度に関しては、図２（ａ）に示すタイプと同様に時間軸上前方に位置するフレームの方が重要度が高い。よって、図２（ｂ）に示すようにデコード順が「Ｉ・Ｐ・Ｂ・Ｂ・Ｐ・Ｂ・Ｂ」という並びのＧＯＰのフレーム毎の重要度は、「１・２・４・４・３・４・４（数字が小さいほど重要度が高い）」という順番になる。
【００４２】
パケット重要度設定部１０４では、前述したようにフレーム単位で重要度を決定し、そのフレームのデータを格納したパケットを生成する毎に当該パケットの重要度を設定する。このパケット毎の重要度情報は、少なくとも送信バッファ１１２で再送用に一時保管されているパケットが廃棄されるまでは、重要度情報バッファ１１３に保持される。なお、図２においては、Ｉ，Ｐ，Ｂ各フレームを含むＧＯＰの典型的なフレーム構成を示したものであるため、その他の構成のＧＯＰも勿論存在する。
【００４３】
以上のように、本実施形態における各フレームの重要度の設定方法においては、いかなる構成のＧＯＰであっても、パケットロスなどによって各フレームのデータが欠落した場合に、エラーの伝播の影響が及ぶフレームの数が多いほど、重要度を高く設定する。
【００４４】
次に、各フレームから構成された動画像データを通信に適したサイズに分割してパケット化する方法について説明する。本実施形態では、データ通信の手段として、ＲＴＰを用いる場合のパケット生成について説明する。
【００４５】
図３は、ＲＴＰパケットの構成を模式化した簡略図である。ＲＴＰパケットは、ＲＴＰヘッダ３００とペイロードデータ部３０３とで構成されている。動画像データ生成部１０２で生成された動画像データは、パケット生成部１０３にて通信に適したサイズに分割されるが、この時、分割された動画像データはペイロードデータとして、ペイロードデータ部３０３に格納される。
【００４６】
動画像データを構成する各フレームのデータは、通信に適した任意のサイズで分割してパケット化することが可能であるため、受信側で復号化する際に、元のフレームのデータを再現する必要がある。その情報を与えるものとして、ＲＴＰヘッダ３００には、データの順序を表す付加情報として、シーケンスナンバー３０１が付与されている。また、ＲＴＰヘッダ３００には、各フレームのデータを復号したものを表示する時間を示す、タイムスタンプ３０２なども付与されている。これら情報以外にも、各フレームを構成するＲＴＰパケットの終わりを示す情報やＲＴＰパケット仕様のバージョン情報など様々な情報が含まれているが、図３では、簡略化のために記載していない。
【００４７】
次に、受信装置１０１のパケットロス検知部１１１によるパケットロス検出の方法について説明する。前述したように、送信装置１００から送信されるパケットは、図３に示すような構成を持つＲＴＰパケットであり、ＲＴＰヘッダ３００にあるシーケンスナンバー３０１は、パケットを生成する毎に１ずつ増加する自然数で表される。したがって、受信したＲＴＰパケットのシーケンスナンバー３０１に番号の抜けがあった場合は、送信側から受信側へ到達しなかったパケット、即ちパケットの損失（パケットロス）があったことが分かる。
【００４８】
パケットロス検知部１１１では、このようにＲＴＰパケットのシーケンスナンバー３０１を監視することによってパケットロスの発生を検知する。なお、通信経路上において、パケットの送信順番が入れ替わることがある。そこで、パケットロス検知部１１１では、フレームのデータの復号化などの処理や、後述するパケットの再送処理に支障を来たさない範囲で、ある閾値でパケットの順番の入れ替わりを容認して、損失したパケットの検出を行なう。なお、このパケットの到達する順番の入れ替わりを容認してパケットロスを検出する方法については、本実施形態に関する技術においては重要ではないので、説明を割愛する。
【００４９】
次に、パケットロスがあった場合の再送要求の方法について説明する。パケット再送要求部１１０ではパケットロス検知部１１１において検知された損失したパケットのシーケンスナンバー３０１を送信装置１００に通知するための再送要求パケットを生成する。生成された再送要求パケットは、パケット通信部１０９から送信装置１００へ送信される。そして、パケット通信部１０６で受信された再送要求パケットの情報は、パケット再送制御部１０７に渡され、再送可否の判定が行なわれる。本実施形態では、受信装置１０１がパケットロスを検知する毎に再送要求パケットが生成され、随時、送信装置１００へ再送要求が行なわれる。
【００５０】
次に、パケット再送制御部１０７によるパケット再送可否の判定の方法について説明する。前述したように再送要求パケットが受信されると、通信経路上で損失したパケットのシーケンスナンバー３０１が、再送要求の情報としてパケット再送制御部１０７へ通知される。パケット再送制御部１０７はパケットロス率算出手段として機能し、通知されたシーケンスナンバー３０１と、ロストしたパケットの個数とから、ある単位時間当たりのパケットロス率を計算する。パケットロス率は、再送要求パケットを受信した時刻からある一定時間前までの間（所定時間）に送信した総パケット数と、それに対するロストしたパケット数との割合から計算する。
【００５１】
図４は、計算により求めたパケットロス率に対する、パケットを再送する割合を示したものである。ここで、パケットロス率を計算する際には、図５に示すように、時間的に比較的短い時間レンジでのパケットロス率５０１と長い時間レンジでのパケットロス率５０２との２種類の数値を計算する。
【００５２】
図４に示すように、短い時間レンジでのパケットロス率５０１が図４に示す閾値ＴｈＬｏ４０１以下であった場合は、送信装置１００は、再送要求された全てのパケットの再送に応じる。また、逆に閾値ＴｈＨｉ４０２以上であった場合は、再送要求には応じない。さらに、閾値ＴｈＬｏ４０１と閾値ＴｈＨｉ４０２との間であった場合は、パケット再送率とパケット毎の重要度とに応じて再送要求するパケットを選別する。
【００５３】
図６は、短い時間レンジでのパケットロス率５０１が閾値ＴｈＬｏ４０１から閾値ＴｈＨｉ４０２までの間にある場合において、再送するパケットの重要度レベルを示す図である。図６に示す重要度（再送重要度レベル）は、数値が小さいほど重要度が高いことを意味している。例えば、パケットロス率が１０〜１５％のレンジに含まれている場合は、重要度が「１」から「２」までのパケットを再送し、「３」以上の数値の重要度が設定されているパケットに関しては、再送要求を受けても再送には応じないようにしている。
【００５４】
なお、図６に示すパケットロス率のレンジや再送重要度レベルの設定値は１つの例であり、本実施形態におけるパケット再送制御の絶対的な値を意味するものではない。さらに、閾値ＴｈＬｏ４０１及び閾値ＴｈＨｉ４０２は、時間的に長い時間レンジでのパケットロス率５０２の値によって、その値を動的に変更するようにしてもよい。例えば、長い時間レンジでのパケットロス率５０２が比較的低い場合は、閾値を右側にシフトし、逆に長い時間レンジでのパケットロス率５０２が比較的高い場合は、閾値を左側にシフトするようにしてもよい。
【００５５】
これによって、短い時間レンジでのパケットロス率５０１が同じでも、長い時間レンジでのパケットロス率５０２が低い場合は、再送に応じるパケットの数が増える。また、逆に短い時間レンジでのパケットロス率５０１が同じで長い時間レンジでのパケットロス率５０２が高いと、再送に応じるパケットの数が減る。このような方法によって、通信経路の輻輳状態をも考慮したパケットの再送制御が可能となる。
【００５６】
以上、本実施形態について図１に示すシステム構成図を中心に詳細に説明してきたが、より明確に説明するために、パケットの再送制御に関する処理の流れを図７に示すフローチャートを参照しながら再度説明する。図７は、本実施形態におけるパケットの再送制御に関する部分の処理手順の一例を示すフローチャートである。
【００５７】
動画像データの送受信処理が開始されると、送信装置１００において動画像データ生成部１０２により動画像データを生成する（ステップＳ７０１）。次に、パケット重要度設定部１０４は、生成したフレームの種別やＧＯＰ構成から推測される、参照フレーム階層に起因するエラー伝播の影響度などからフレーム単位に重要度を決定し、フレームに分割したパケット毎に重要度設定を行なう。そして、このパケット毎に設定した重要度情報を重要度情報バッファ１１３に一時保管する（ステップＳ７０２）。次に、パケット生成部１０３によりパケットを生成し、パケット通信部１０６により受信装置１０１に送信する（ステップＳ７０３）。
【００５８】
次に、受信装置１０１においてパケット通信部１０９によりパケットを受信する（ステップＳ７０４）。そして、パケットロス検知部１１１によりパケットロスの検出を行なう（ステップＳ７０５）。次に、ステップＳ７０５の検出処理によりロストしたパケットが有るか否かを判定する（ステップＳ７０６）。
【００５９】
この判定の結果、ロストしたパケットが有る場合は、パケット再送要求部１１０によりロストしたパケットの再送を要求するパケットを生成する（ステップＳ７０７）。そして、パケット通信部１０９により送信装置１００に再送を要求するパケットを送信する（ステップＳ７０８）。一方、ステップＳ７０６の判定の結果、ロストしたパケットがない場合は、再送要求を行なう必要がないため、そのまま処理を終了する。
【００６０】
次に、送信装置１００においてパケット通信部１０６は、再送を要求するパケットを受信する（ステップＳ７０９）。そして、パケット再送制御部１０７によりパケットロス率を算出し、算出したパケットロス率のデータをロス率バッファ１１４に一時保管する（ステップＳ７１０）。ここで算出されるパケットロス率は、例えば、数秒から数十秒単位の短い時間レンジでのパケットロス率５０１と、例えば、１分から数分単位の長い時間レンジでのパケットロス率５０２との２種類のパケットロス率である。
【００６１】
次に、再送要求されたパケットのシーケンスナンバー３０１に対応する重要度情報を重要度情報バッファ１１３から取得し、前述の２種類のパケットロス率の情報をロス率バッファ１１４から取得する。そして、パケット再送制御部１０７は再送パケット決定手段として機能し、これらの取得した情報から再送するパケットを決定する（ステップＳ７１１）。そして、パケット再送制御部１０７により決定した再送するパケットをパケット通信部１０６が送信バッファ１１２から取得して、受信装置１０１に送信する（ステップＳ７１２）。そして、処理を終了する。
【００６２】
以上のような処理の流れにより、受信装置１０１側では、送信装置１００から送信されてくるパケットの損失を検出し、再送要求を送信装置側に随時送るだけでよい。一方、送信装置１００側においては、ネットワークの状況に応じて重要度が高いパケットから優先して受信装置１０１側に再送処理を行なう。
【００６３】
以上のように本実施形態によれば、受信装置１０１から送られた再送要求から、パケット再送制御部１０７がパケットロス率を算出する。そして、前記算出したパケットロス率とパケット重要度設定部１０４が設定したパケット毎の重要度とから受信装置１０１に再送する再送パケットを決定するようにした。これにより、受信装置１０１は、パケットロスが発生した場合に、損失したパケットの重要度を判別して再送要求を行なうか否かを判断することを不要にすることができる。さらに、ロストしたパケットの重要度を受信装置１０１で判別するための仕組みを各パケットに組み入れることによるトラフィックの増大を防止することができる。したがって、受信側の処理負荷が大きくならないようにするとともに、効率の良い通信を行なうことができる。
【００６４】
（第２の実施形態）
次に、送信装置に複数の受信装置が接続されている実施形態について説明する。図８は、送信装置１００に複数の受信装置８２０が接続されている概略図、及び主に送信側でのパケット再送制御の処理手順の一例を示すフローチャートである。
【００６５】
本実施形態では、送信装置１００が外部のネットワークに接続している経路の帯域使用率や送信装置１００の処理負荷に応じて、全体のパケット再送レベルを設定する。そしてさらに、第１〜第５の受信装置８０１〜８０５毎に設定された優先度、各々のパケットロス率などを考慮して、再送するパケットの選別を行なう。なお、送信装置１００、及び第１〜第５の受信装置８０１〜８０５の機能構成については、第１の実施形態と同様であるため、説明を省略する。
【００６６】
図８を参照しながら、処理の流れについて説明する。まず、複数の受信装置８２０が送信装置１００に接続すると、送信装置１００の接続制御部１０５により第１〜第５の受信装置８０１〜８０５毎の接続優先度を設定する（ステップＳ８０１）。
【００６７】
次に、受信装置１０１からの送信要求に伴い、動画像データの送信を開始するために、動画像データのパケットを送信する（ステップＳ８０２）。そして、接続制御部１０５により送信装置１００が外部のネットワークに接続している経路の帯域使用率と送信装置１００の処理負荷情報とを随時算出する（ステップＳ８０３）。
【００６８】
ここで処理負荷情報とは、送信装置１００が複数の受信装置８２０へ動画像データ（パケット）を送信する際の処理負荷が増減する要因となる情報である。例えば、送信装置１００に接続している受信装置の数や、送信している動画像データのビットレートの情報などがあげられる。また、帯域使用率とは、複数の受信装置８２０が接続されている外部経路を繋ぐゲートウェイ８１０と送信装置１００との間の帯域の使用率である。
【００６９】
次に、複数の受信装置８２０から再送要求を受信したか否かを判定する（ステップＳ８０４）。この判定の結果、再送要求を受信していない場合は、ステップＳ８０２に戻る。一方、ステップＳ８０４の判定の結果、再送要求を受信した場合は、その時点での送信装置１００側の帯域使用率及び処理負荷情報から、再送全体レベルの設定を行なう（ステップＳ８０５）。本実施形態では、複数の受信装置８２０の個別の優先度を考慮した再送重要度レベルの他に、送信装置１００の帯域使用率や処理負荷情報から算出される再送全体レベルによって、全体の基本的な再送のレベルを制御する。
【００７０】
次に、ステップＳ８０５で設定した再送全体レベルと、複数の受信装置８２０毎の接続優先度と、重要度情報バッファ１１３及びロス率バッファ１１４に記憶されている情報とを基に、実際に再送を行なうパケットの選別を行なう。
【００７１】
ここで、図９を参照しながらステップＳ８０６における再送パケットの選別の方法について説明する。図９は、１つの送信装置１００に複数の受信装置８２０が接続している場合における、再送全体レベルの変化に伴う複数の受信装置８２０のパケット再送率の変化の一例を示す図である。
【００７２】
第１〜第４の受信装置８０１〜８０４はそれぞれ接続優先度が異なり、第１の受信装置８０１が最も接続優先度が高い。そして、第２の受信装置８０２、第３の受信装置８０３、第４の受信装置８０４の順に接続優先度が低くなり、第４の受信装置８０４が最も接続優先度が低いものとする。この時、再送全体レベルが比較的高い、つまり、通信回線の状況が比較的良好であるときは、図９の左側に示すように第１〜第４の受信装置８０１〜８０４のパケット再送レートを接続優先度に従って設定する。
【００７３】
このパケット再送レートは再送全体レベルによって変化し、再送全体レベルが低くなった場合には、図９の右側に示すようにパケットの再送レートは、パケット再送率が低くなる側に変化する。例えば、図９に示す第１の受信装置８０１は、再送全体レベルが高い場合は全てのパケット再送要求に応じていた。ところが、再送全体レベルが低くなると、閾値ＴｈＬｏと閾値ＴｈＨｉとの間ではパケットロス率が大きくなるに従ってパケット再送率が低下するように変化する。
【００７４】
前記のパケット再送レートの変化の仕方には、図９に示したように、閾値ＴｈＬｏ及び閾値ＴｈＨｉの値を変更する方法と、閾値は変えずにパケット再送率を変化させる方法と、前記２つの方法を組み合わせる方法とがある。
【００７５】
さらに、第１実施形態と同様に、個別の受信装置毎のパケットロス率が保持されているロス率バッファ１１４、及びロストしたパケットの重要度情報が保持されている重要度情報バッファ１１３から、それぞれの情報を読み出す。そして、読み出した情報とパケット再送レートとから最終的に再送を行なうパケットを決定する（ステップＳ８０６）。そして、次のステップＳ８０７において第１〜第４の受信装置８０１〜８０４にパケットを再送し、処理を終了する。
【００７６】
以上のように本実施形態においては、複数の受信装置８２０が１つの送信装置１００に接続することによって、送信装置１００側の帯域使用率や処理負荷も再送するパケットを決定する際に考慮している。また、複数の受信装置８２０毎の優先度に応じて再送するパケットの重要度を切り分けている。さらに、第１の実施形態と同様に、送信装置１００側でパケット毎の重要度を設定・管理するようにした。これにより、複数の受信装置が接続している場合においても、受信装置間の優先度の制御を確実に行うことが可能となり、効率の良い通信を行なって、さらに総合してより高品質なコンテンツの提供が可能となる。
【００７７】
（本発明に係る他の実施形態）
本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（ＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記録したコンピュータ読み取り可能な記録媒体は本発明を構成することになる。
【００７８】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００７９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、これだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System（ＯＳ）などが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８０】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８１】
【図１】本発明の第１の実施形態におけるデータ送受信システムの構成例を示すブロック図である。
【図２】本発明の第１の実施形態において、代表的な２つのタイプのＧＯＰにおけるフレーム毎の重要度の設定方法を示す図である。
【図３】ＲＴＰパケットの構成を模式化した簡略図である。
【図４】本発明の第１の実施形態において、パケットロス率に対するパケットを再送する割合を示す図である。
【図５】本発明の第１の実施形態において、時間的に比較的長い時間レンジと短い時間レンジとのパケットロス率の変化の一例を示す図である。
【図６】本発明の第１の実施形態において、パケットロス率がある閾値の間にある場合の再送するパケットの重要度レベルの一例を示す図である。
【図７】本発明の第１の実施形態におけるパケットの再送制御に係わる処理手順の一例を示すフローチャートである。
【図８】本発明の第２の実施形態において、１つの送信装置に複数の受信装置が接続している場合のパケット再送制御の処理手順の一例を示すフローチャートである。
【図９】本発明の第２の実施形態において、１つの送信装置に複数の受信装置が接続している場合の再送全体レベルの変化に伴う各受信装置のパケット再送率の変化の一例を示す図である。
【符号の説明】
【００８２】
１００  送信装置
１０１  受信装置
１０２  動画像データ生成部
１０３  パケット生成部
１０４  パケット重要度設定部
１０５  接続制御部
１０６  パケット通信部
１０７  パケット再送制御部
１０８  接続制御部
１０９  パケット通信部
１１０  パケット再送要求部
１１１  パケットロス検知部
１１２  送信バッファ
１１３  重要度情報バッファ
１１４  ロス率バッファ
【図１】
2008312126.tif 000003
【図２】
2008312126.tif 000004
【図３】
2008312126.tif 000005
【図４】
2008312126.tif 000006
【図５】
2008312126.tif 000007
【図６】
2008312126.tif 000008
【図７】
2008312126.tif 000009
【図８】
2008312126.tif 000010
【図９】
2008312126.tif 000011