(57)【要約】【課題】  欠落データパケットの再送信によって、通信量が増加してしまう問題がある。【解決手段】  再送パケット決定部１０７は、通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に、第１のパケットと、正常に通信されたＦＥＣパケットとに基づいて、通信に失敗した複数のパケットのうちの復元可能なパケットを判定する（ステップＳ１５０４）。そして、再送パケット決定部１０７は、第１のパケットとＦＥＣパケットに基づいて複数のパケットが復元可能であると判定された場合、復元可能な複数のパケットから少なくとも一部のパケットを除いたパケットから、第１のパケットと共に再送させるパケットを決定する（ステップＳ１５０５）。【選択図】  図４
2010141413.tif 000002
【特許請求の範囲】
【請求項１】
データパケットと、通信に失敗したデータパケットを復元するために用いられる復元用パケットを通信する通信装置であって、
前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に、当該第１のパケットと、正常に通信された復元用パケットとに基づいて、前記通信に失敗した複数のパケットのうちの復元可能なパケットを判定する判定手段と、
前記第１のパケットと前記復元用パケットに基づいて複数のパケットが復元可能であると判定された場合、前記復元可能な複数のパケットから少なくとも一部のパケットを除いたパケットから、前記第１のパケットと共に再送させるパケットを決定する決定手段と
を有することを特徴とする通信装置。
【請求項２】
データパケットと、通信に失敗したデータパケットを復元するために用いられる復元用パケットを通信する通信装置であって、
前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に、当該第１のパケットと、正常に通信された復元用パケットとに基づいて、前記通信に失敗した複数のパケットのうちの復元可能なパケットを判定する判定手段と、
前記通信に失敗した複数のパケットから、前記復元可能なパケットを除いて、前記第１のパケットと共に再送させるパケットを決定する決定手段と
を有することを特徴とする通信装置。
【請求項３】
パケットの通信を行う通信装置であって、
前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に復元可能なパケットを判定する判定手段と、
正常に通信されると複数のパケットが復元可能であると判定された第１のパケットを再送させる場合、前記復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定手段と
を有することを特徴とする通信装置。
【請求項４】
前記決定手段は、前記第１のパケットが正常に通信されると復元可能なパケットの数に応じて、前記復元可能なパケットのうち前記第１のパケットと共に再送させるパケットの数を決定する
ことを特徴とする請求項３記載の通信装置。
【請求項５】
前記判定手段は、前記第１のパケット、及び、前記通信に失敗したパケットを復元するために通信され、正常に通信された復元用パケットに基づいて復元可能なパケットを判定する
ことを特徴とする請求項３記載の通信装置。
【請求項６】
前記通信に失敗したパケットの数に応じたエラー率を取得する取得手段を有し、
前記決定手段は、
前記エラー率が第１のエラー率よりも高い第２のエラー率で、かつ前記復元可能であると判定されたパケットの数が第１のパケット数であった場合、
前記エラー率が第１のエラー率で、かつ前記復元可能であると判定されたパケットの数が前記第１のパケット数であった場合よりも
再送パケットの数が少なくなるように、再送パケットの数を決定する
ことを特徴とする請求項３記載の通信装置。
【請求項７】
前記通信に失敗したパケットの数に応じたエラー率を取得する取得手段を有し、
前記決定手段は、
前記エラー率が第１のエラー率よりも高い第２のエラー率であった場合、
前記通信に失敗したパケットのうち、別のフレームのデータを参照して符号化されていない動画像データが含まれるパケットが再送されるように、再送パケットを決定する
ことを特徴とする請求項３記載の通信装置。
【請求項８】
パケットが送信されてから受信されるまでに要する遅延時間の遅延時間情報を取得する取得手段を有し、
前記決定手段は、
前記遅延時間が第１の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第１の遅延時間より長い第２の遅延時間である遅延時間情報が取得され、かつ前記復元可能であると判定されたパケットの数が第１のパケット数であった場合、前記復元可能であると判定された第１のパケット数のパケットのうちの、第２のパケット数のパケットが再送されるように、再送パケットを決定し、
前記遅延時間が第１の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第２の遅延時間より長い第３の遅延時間である遅延時間情報が取得され、かつ前記復元可能であると判定されたパケットの数が前記第１のパケット数であった場合、前記復元可能であると判定された第１のパケット数のパケットのうちの、前記第２のパケット数よりも少ない第３のパケット数のパケットが再送されるように、再送パケットを決定する
ことを特徴とする請求項３記載の通信装置。
【請求項９】
前記決定手段は、前記通信に失敗したパケットが別のフレームのデータを参照して符号化されている動画像データを含むか否かに応じて、前記通信に失敗したパケットを再送するか決定する
ことを特徴とする請求項３記載の通信装置。
【請求項１０】
パケットが送信されてから受信されるまでに要する遅延時間の遅延時間情報を取得する取得手段を有し、
前記決定手段は、
前記遅延時間が第１の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第１の遅延時間より長い第２の遅延時間である第２の遅延時間情報が取得された場合、
前記復元可能であると判定されたパケットのうち、別のフレームのデータを参照して符号化されている動画像データが含まれるパケット、及び、別のフレームのデータを参照して符号化されていない動画像データが含まれるパケットが再送されるように、再送パケットを決定し、
前記遅延時間が第１の遅延時間である遅延時間情報が取得されたあと、前記遅延時間が前記第２の遅延時間よりも長い第３の遅延時間である遅延時間情報が取得された場合、
前記復元可能であると判定されたパケットのうち、別のフレームのデータを参照して符号化されていない動画像データが含まれるパケットが再送されるように、再送パケットを決定する
ことを特徴とする請求項３記載の通信装置。
【請求項１１】
前記判定手段は、前記第１のパケットが正常に通信されても復元不可能な複数のパケットのうち、第２のパケットが正常に通信された場合に復元可能なパケットを判定し、
前記決定手段は、正常に通信されると複数のパケットが復元可能であると判定された第１及び第２のパケットを再送させる場合、前記第２のパケットが正常に通信されると復元可能であると判定された複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する
ことを特徴とする請求項３記載の通信装置。
【請求項１２】
送信装置であって、
通信に失敗したデータパケットを受信装置が復元するために用いる復元用パケット、及び、データパケットを前記受信装置に対して送信する送信手段と、
データパケットの再送要求を受信する受信手段と、
前記再送要求された複数のデータパケットのうち、第１のデータパケットを受信することにより前記受信装置が復元可能なデータパケットを判定する判定手段と、
前記再送要求されたデータパケットの数が所定のパケット数よりも多い場合、かつ、複数のデータパケットが復元可能であると前記判定手段により判定された第１のデータパケットを再送する場合、前記復元可能であると判定された複数のデータパケットのうち、少なくとも一部のデータパケットを再送しないように、再送するデータパケットを決定する決定手段と
を有することを特徴とする送信装置。
【請求項１３】
受信装置であって、
通信に失敗したデータパケットを復元するために用いる復元用パケット、及び、データパケットを受信する受信手段と、
前記通信に失敗したデータパケットのうち、前記復元用パケットによって復元できないデータパケットを特定する特定手段と、
前記復元できない複数のデータパケットのうち、第１のデータパケットを受信することにより復元可能なデータパケットを判定する判定手段と、
前記復元用パケットによって復元できないデータパケットの数が所定のパケット数よりも多い場合、かつ、複数のデータパケットが復元可能であると前記判定手段により判定された第１のデータパケットを再送要求する場合、前記復元可能であると判定された複数のデータパケットのうち、少なくとも一部のデータパケットが再送されないように、再送要求するデータパケットを決定する決定手段と
を有することを特徴とする受信装置。
【請求項１４】
データパケットと、通信に失敗したデータパケットを復元するために用いられる復元用パケットを通信する通信装置が行う通信方法であって、
前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に、当該第１のパケットと、正常に通信された復元用パケットとに基づいて、前記通信に失敗した複数のパケットのうちの復元可能なパケットを判定する判定工程と、
前記第１のパケットと前記復元用パケットに基づいて複数のパケットが復元可能であると判定された場合、前記復元可能な複数のパケットから少なくとも一部のパケットを除いたパケットから、前記第１のパケットと共に再送させるパケットを決定する決定工程と
を有することを特徴とする通信方法。
【請求項１５】
データパケットと、通信に失敗したデータパケットを復元するために用いられる復元用パケットを通信するコンピュータに、
前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に、当該第１のパケットと、正常に通信された復元用パケットとに基づいて、前記通信に失敗した複数のパケットのうちの復元可能なパケットを判定する判定手順と、
前記第１のパケットと前記復元用パケットに基づいて複数のパケットが復元可能であると判定された場合、前記復元可能な複数のパケットから少なくとも一部のパケットを除いたパケットから、前記第１のパケットと共に再送させるパケットを決定する決定手順と
を実行させることを特徴とする通信装置。
【請求項１６】
パケットの通信を行う通信装置が行う通信方法であって、
前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に復元可能なパケットを判定する判定工程と、
正常に通信されると複数のパケットが復元可能であると判定された第１のパケットを再送させる場合、前記復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定工程と
を有することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットの通信方法に関する。
【背景技術】
【０００２】
一般に、ネットワークでの通信帯域や通信速度などの保証や通信エラーを補償する為の技術を総称してＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）と呼ぶ。特に、ＲＴＰ（Ａ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎ）などの形式で音声や動画像データを通信する際には、ＡＲＱやＦＥＣと呼ばれる技術が用いられることが知られている。ここで、ＡＲＱはＡｕｔｏｍａｔｉｃ  Ｒｅｐｅａｔ  Ｒｅｑｕｅｓｔ、ＦＥＣはＦｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎである。ＡＲＱは通信エラーによって受信装置が受信できなかったパケットを再送する技術である。また、ＦＥＣは、送信データに付加された冗長データによって、通信エラーによって正常に受信できなかったパケットを復元する技術である。
【０００３】
更に、ＡＲＱとＦＥＣを組み合わせたハイブリッドＡＲＱという技術が知られている（例えば特許文献１）。特許文献１には、ＦＥＣで復元できなかったパケットのみＡＲＱによって再送することが記載されている。
【特許文献１】特開２００４−１５９０４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、再送パケットによって、通信量が増加してしまうという問題がある。
【０００５】
即ち、例えば、ＦＥＣによって復元できなかった欠落パケットが多い場合、復元できなかったすべての欠落パケットを再送すると、通信量が急激に増加してしまう恐れがある。特に、欠落パケットが多いときは、ネットワークで輻輳が発生している可能性もある。このような場合は、できるだけ通信量を少なくすることが望ましい。
【０００６】
本発明は上記の問題点に鑑みてなされたものであり、その目的は、再送パケットによる通信量の増加を低減することである。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば本発明の通信装置は、以下の構成を有する。即ち、データパケットと、通信に失敗したデータパケットを復元するために用いられる復元用パケットを通信する通信装置であって、前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に、当該第１のパケットと、正常に通信された復元用パケットとに基づいて、前記通信に失敗した複数のパケットのうちの復元可能なパケットを判定する判定手段と、前記第１のパケットと前記復元用パケットに基づいて複数のパケットが復元可能であると判定された場合、前記復元可能な複数のパケットから少なくとも一部のパケットを除いたパケットから、前記第１のパケットと共に再送させるパケットを決定する決定手段とを有する。
【０００８】
また、本発明の通信装置は、パケットの通信を行う通信装置であって、前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に復元可能なパケットを判定する判定手段と、正常に通信されると複数のパケットが復元可能であると判定された第１のパケットを再送させる場合、前記復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定手段とを有する。
【０００９】
また、本発明の通信方法は、データパケットと、通信に失敗したデータパケットを復元するために用いられる復元用パケットを通信する通信装置が行う通信方法であって、前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に、当該第１のパケットと、正常に通信された復元用パケットとに基づいて、前記通信に失敗した複数のパケットのうちの復元可能なパケットを判定する判定工程と、前記第１のパケットと前記復元用パケットに基づいて複数のパケットが復元可能であると判定された場合、前記復元可能な複数のパケットから少なくとも一部のパケットを除いたパケットから、前記第１のパケットと共に再送させるパケットを決定する決定工程とを有する。
【００１０】
また、本発明の通信方法は、パケットの通信を行う通信装置が行う通信方法であって、前記通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に復元可能なパケットを判定する判定工程と、正常に通信されると複数のパケットが復元可能であると判定された第１のパケットを再送させる場合、前記復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する決定工程とを有する。
【発明の効果】
【００１１】
本発明によれば、再送パケットによる通信量の増加を低減させることができる。
【発明を実施するための最良の形態】
【００１２】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
＜実施形態１＞
図１は、本実施形態におけるデータ送信装置１０１、及びデータ受信装置１０２を含む送受信システムの基本構成を示すブロック図である。本形態では、データ送信装置１０１が、映像、音声等のデータパケット、及び、復元用パケット（ＦＥＣパケット）をデータ受信装置１０２に対して送信する。尚、ＦＥＣパケットは、データ受信装置１０２が、通信に失敗したデータパケット（欠落データパケット）を復元するために用いるパケットである。通信に失敗したデータパケット（欠落データパケット）とは、例えば、伝送経路で欠落したデータパケットである。また、データ受信装置１０２は、復元用パケットを用いても復元できなかった欠落データパケットの再送要求パケットをデータ送信装置１０１に送信する。即ち、データ送信装置１０１、及び、データ受信装置１０２は、共に、パケットの通信を行う通信装置である。
【００１４】
図１に示すように、データ送信装置１０１は、ＲＴＰパケット生成部１０３、ＦＥＣパケット生成部１０４、パケット送信バッファ１０５、送受信部１０６、再送パケット決定部１０７を備えている。一方、データ受信装置１０２は、送受信部１０８、パケット受信バッファ１０９、パケット復元部１１０、パケット再送要求部１１１を備えている。
【００１５】
また、データ送信装置１０１とデータ受信装置１０２は、伝送路１１２を介して通信可能に接続されている。
【００１６】
ＲＴＰパケット生成部１０３は、外部から入力された映像データ及び／又は音声データを通信に適したサイズに分割し、更に通信するために必要なヘッダを付加してＲＴＰのデータパケットを生成する。ＲＴＰパケット生成部１０３は、生成したデータパケットをＦＥＣパケット生成部１０４、及び、パケット送信バッファ１０５に出力する。
【００１７】
ＦＥＣパケット生成部１０４は、ＲＴＰパケット生成部１０３により生成されたデータパケットが欠落した場合に、そのデータパケットを復元するための復元用パケット（ＦＥＣパケット）を生成する。すなわち、ＦＥＣパケット生成部１０４は、通信に失敗したパケット（欠落データパケット）をデータ受信装置１０２が復元するために通信される復元用データパケット（ＦＥＣパケット）を生成する。つまり、ＦＥＣパケット生成部１０４は、例えば、図２のようにＡ〜Ｉの９個のデータパケット２０１から誤り訂正符号化により、Ｒ１〜Ｒ６の６個のＦＥＣパケットを生成する。
【００１８】
誤り訂正符号化の方法として代表的なものは、パリティ（ＸＯＲ）符号やＢＣＨ符号、リードソロモン符号などがあげられる。本実施形態では、以下、パリティ符号によりＦＥＣパケットを生成するものとして説明するが、誤り訂正符号化の方法はパリティ符号に限定するものではなく、上述した様な方法を用いることが可能である。
【００１９】
図２においてＲ１〜Ｒ３は、データパケット２０１の行方向の３個のデータパケットからＸＯＲ計算によりそれぞれ生成されたＦＥＣパケットである。また、Ｒ４〜Ｒ６は、列方向の３個のデータパケットからＸＯＲ計算によりそれぞれ生成されたＦＥＣパケットである。
【００２０】
つまり、本形態のＦＥＣパケット生成部１０４は、ＲＴＰパケット生成部１０３により生成されたデータパケットを図２に示すような行列状に並べる。そして、ＦＥＣパケット生成部１０４は、１つの行に属する複数のデータパケットに対してＦＥＣパケットを１個生成する。また、ＦＥＣパケット生成部１０４は、１つの列に属する複数のデータパケットに対してＦＥＣパケットを１個生成する。このように、本形態のＦＥＣパケット生成部１０４は、各データパケットが２つの復元グループに属するようにＦＥＣパケットを生成している。
【００２１】
そして、復元グループ内のデータパケットが１個、欠落した場合、残りの２個のデータパケット、及びＦＥＣパケットを用いて、ＸＯＲ計算により、欠落データパケットを復元する。例えば、データパケットＡが欠落した場合、データパケットＢ、Ｃと、ＦＥＣパケットＲ１を用いてデータパケットＡが復元される。ただし、各データパケットが１つ、或いは３つ以上の復元グループに属するようにしても良い。また、１つの復元グループに属するデータパケットの数は、３個に限らない。
【００２２】
ここで、複数のパケットが欠落した場合のパケット復元の方法について、図３を用いて説明する。図３においてデータパケットＢ，Ｆ，Ｇ，ＩとＦＥＣパケットＲ２，Ｒ４，Ｒ５が欠落したとする。この場合、まず欠落データパケットＢは、正常に受信できたデータパケットＡとＣ、およびＦＥＣパケットＲ１の３個のパケットからＸＯＲ計算により復元することができる。
【００２３】
一方、欠落した残りのデータパケットＦ，Ｇ，Ｉは、各々行方向も列方向も２パケット欠落しているのでこのままでは復元することができない。しかし、欠落データパケットＦ，Ｇ，Ｉのうち、例えばデータパケットＦが再送され、正常に受信できた場合、データパケットＩは列方向のパケットの組み合わせにより復元できる。また、データパケットＧもデータパケットＩが復元されたことにより、行方向の組み合わせにより復元することが可能となる。
【００２４】
つまり、データパケットＢが復元されたことにより、欠落データパケットは３パケットとなるが、３パケット全てを再送する必要は無く、例えばデータパケットＦのみが再送されれば全ての欠落データパケットを復元することができる。
【００２５】
ところで、再送されたデータパケットが正常に通信された場合に、データ受信装置１０２において、復元可能な欠落データパケットの数は、場合によって異なる。
【００２６】
即ち、図３を用いて説明すると、欠落データパケットＦ，Ｇ，Ｉのうち、どのデータパケットを再送しても、ほかの２個の欠落データパケットを復元できる。例えば、データパケットＦが再送された場合、データパケットＣ、Ｆ、及びＦＥＣパケットＲ６によってデータパケットＩを復元することができる。また、データパケットＨ、Ｉ、及びＦＥＣパケットＲ３によってデータパケットＧを復元することができる。データパケットＧ、又はＩを再送した場合も同様に、すべての欠落したデータパケットを連鎖的に復元することができる。この連鎖的に復元できるデータパケットの数を、連鎖復元数と呼ぶ。つまり、本形態では、再送されたデータパケットを含めて復元可能なデータパケットの数を連鎖復元数と呼ぶ。従って、図３の例では、データパケットＦ，Ｇ，Ｉは各々、連鎖復元数が３となる。
【００２７】
尚、例えばデータパケットＢが再送されても、ほかの欠落したデータパケットを復元することはできないので、データパケットＢの連鎖復元数は１となる。
【００２８】
更に、図３とは別のパターンについて、図７を用いて説明する。図７において、９つのデータパケット７０１のうち、欠落したデータパケットは、データパケットＡ，Ｂ，Ｅ，Ｆ，Ｇ，Ｉである。この場合、例えば、データパケットＡが正常に再送されると、データパケットＢおよびＧはそれぞれ行方向・列方向の誤り訂正復号により復元することができる。さらに、データパケットＩは、行方向の誤り訂正復号により復元可能することができ、その後、データパケットＦは、列方向の誤り訂正復号により復元することができる。最後にデータパケットＥを行方向の誤り訂正復号により復元することができる。
【００２９】
これはデータパケットＡ以外の欠落データパケットが正常に通信された場合も同様である。すなわち、どの欠落データパケットが正常に通信されても、残りの欠落データパケットを連鎖的に復元可能である。従って、図７に示した６個の欠落データパケットの連鎖復元数はいずれも６となる。
【００３０】
再送パケット決定部１０７は、複数のデータパケットが欠落し、かつ、上記のように連鎖的に復元可能なパケットが存在する場合、欠落データパケットのうち、どのパケットを再送するか決定する。つまり、再送パケット決定部１０７は、欠落したデータパケットのうち、あるデータパケットが正常に通信されると複数のパケットが復元可能であると判定される場合、復元可能な複数のパケットのうちの少なくとも一部のパケットを再送しない。尚、再送パケット決定部１０７は、データ受信装置１０２から通知される再送要求パケットに含まれる欠落データパケットと欠落ＦＥＣパケットの識別情報から、復元可能な欠落データパケットを判定する。
【００３１】
即ち、再送パケット決定部１０７は、通信に失敗した複数のパケットのうちの第１のパケットが正常に通信された場合に復元可能なパケットを判定する。そして、再送パケット決定部１０７は、正常に通信されると複数のパケットが復元可能であると判定された第１のパケットを再送させる場合、復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する。
【００３２】
また、本形態の再送パケット決定部１０７は、連鎖復元数が大きいデータパケットは、重要度が高いと判断する。つまり、連鎖復元数が大きいデータパケットが再送され、正常に通信されると多くの欠落データパケットを復元することができる一方、その再送データパケットが欠落すると多くの欠落データパケットが復元できなくなってしまう。そこで、再送パケット決定部１０７は、連鎖復元数が大きいデータパケットほど重要度が高いと判断し、より多くのデータパケットを再送する。図８に、本実施形態における連鎖復元数と再送パケット数の対応関係を示す。ただし、連鎖復元数と再送データパケット数の対応は、図８の例に限らない。
【００３３】
尚、本実施形態においては、相互に連鎖的に復元することが可能な欠落データパケットのグループを、連鎖復元グループと呼ぶ。また、同じ連鎖復元グループに属する欠落データパケットの連鎖復元数は、同じ値となる。
【００３４】
すなわち、ある連鎖復元数の欠落データパケットがある場合、その連鎖復元数と同じ連鎖復元数の欠落データパケットが、少なくともその復元連鎖数と同じ数だけ存在する。つまり、例えば、連鎖復元数が３の欠落データパケットがあった場合、そのパケットのほかに、連鎖復元数が３の欠落データパケットが少なくとも２つ存在する。また、その３つの欠落データパケットのうち、いずれかのパケットが正常に再送されると、残りの２つの欠落データパケットを復元することができる場合、その３つの欠落データパケットが同じ連鎖復元グループに属していると判定される。
【００３５】
例えば、欠落データパケットＡが正常に受信されると欠落データパケットＢが復元可能で、かつ、欠落データパケットＢが正常に受信されると欠落データパケットＡが復元可能な場合、欠落データパケットＡ、及びＢは、同じ連鎖復元グループに属すると判定される。つまり、同じ連鎖復元グループに属する欠落データパケットは、連鎖復元グループに属する任意の１つの欠落データパケットが正常に通信されれば、該連鎖復元グループの他の欠落データパケットがすべて復元できるという条件を満たす。
【００３６】
尚、上述の図３、及び図７の説明では、それぞれ１つの連鎖復元グループのみが存在する場合の例である。つまり、図３、図７の例では、欠落データパケットのうち、いずれか１個の再送パケットが正常に通信されれば、ほかの欠落データパケットがすべて復元可能である。本実施形態では、図３、図７のように、すべての欠落パケットが１つの連鎖復元グループに属する場合は、連鎖復元グループの連鎖復元数に応じて、再送パケット数と再送パケットを決定する。一方、複数の連鎖復元グループに分類される場合の処理は、実施形態３で説明する。尚、連鎖復元グループは、上述の復元グループとは異なるものである。
【００３７】
図８に示すように、再送パケット決定部１０７は、連鎖復元数が１、又は２の場合は、再送データパケット数を１個とする。つまり、連鎖復元数が１の欠落データパケットについては、その欠落データパケットを再送すると決定する。また、復元連鎖数が２の欠落データパケットについては、連鎖復元グループに属する２個の欠落データパケットのうち、いずれか一方の欠落データパケットを再送すると決定する。以下同様にして、再送パケット決定部１０７は、再送データパケットの数を決定する。
【００３８】
例えば、図７のような欠落パターンでは、欠落した各データパケット（データパケットＡ、Ｂ、Ｅ、Ｆ、Ｇ、Ｉ）の復元連鎖数が６であり、同一の連鎖復元グループに属している。図８によれば、この場合の再送パケット数は３つである。このとき、欠落データパケットＡ、Ｂ、Ｅ、Ｆ、Ｇ、Ｉのうち、いずれか１つが正常に再送されればほかの欠落データパケットを復元することができるが、再送パケット決定部１０７は、３つの欠落データパケットを再送する。
【００３９】
即ち、再送パケット決定部１０７は、第１のパケットが正常に通信されると復元可能なパケットの数（連鎖復元数）に応じて、復元可能なパケットのうち第１のパケットと共に再送させるパケットの数を決定する。このようにすることで、再送パケットの一部が欠落してしまっても、欠落データパケットを復元できる。尚、欠落データパケットのうち、同じデータパケットを複数再送するようにしても良い。このようにすれば、再送処理を簡単にすることができる。ただし、連鎖復元グループに属する複数の異なるパケットを再送するようにしても良い。このようにすれば、複数の再送パケットが正常に受信された場合に、復元にかかる処理を少なくすることができる。
【００４０】
また、連鎖復元数が所定数以上である場合に、欠落データパケット数よりも再送パケット数が少なくなるようにしても良い。つまり、図８には、連鎖復元数が２の場合に、欠落データパケットの数（２個）に対して再送パケット数（１個）を少なくすることが示されている。しかし、例えば、連鎖復元数が４以上の場合に、欠落データパケット数よりも再送パケット数が少なくなるように、図８の再送パケット数を設定するようにしても良い。このようにすると、連鎖復元数が所定値以下（例えば３以下）の場合は、欠落データパケットがすべて再送されることになる。
【００４１】
次に、本実施形態の再送パケットの決定処理について、図１１のフローチャート、及び、図４を用いて説明する。図１１は、本実施形態の再送パケット決定部１０７による再送パケットの決定処理を示すフローチャートである。
【００４２】
また、図４は、データ送信装置１０１によって送信されたパケットが伝送路上で欠落した場合における処理の具体的例を示した図である。
【００４３】
図１１のステップＳ１５０１において、データ送信装置１０１の再送パケット決定部１０７は、送信したパケットが欠落したことを検知する。この検知は、データ受信装置１０２から送信される再送要求パケットに含まれる欠落パケットの情報により行われる。
【００４４】
つまり、図４に示すように、データ送信装置１０１は、例えば、データパケットＡ〜Ｉ、及び、ＦＥＣパケットＲ１〜Ｒ６をデータ受信装置１０２に対して送信する。そして、データパケットＣ，Ｅ，Ｆ，ＨとＦＥＣパケットＲ３，Ｒ６が伝送路１１２にて欠落したとする。
【００４５】
データ受信装置１０２のパケット復元部１１０は、各パケットのヘッダ部分にあるシーケンスナンバーを参照することで、パケットの欠落の有無をチェックしている。そして、データパケットの欠落を検知すると、正常に受信されたほかのデータパケットとＦＥＣパケットによって欠落データパケット復元できるか判定し、復元できる欠落データパケットを誤り訂正符号により復元する。図４の例では、欠落データパケットＣが、正常に受信されたデータパケットＡ、Ｂ、及びＦＥＣパケットＲ１を用いて復元される（Ｓ４０１）。
【００４６】
そして、データ受信装置１０２は、ＦＥＣパケットによって復元できない欠落データパケットがある場合、その欠落データパケット、及び、欠落ＦＥＣパケットの情報（シーケンスナンバー）を含む再送要求パケットを、データ送信装置１０１に対して送信する。ここでは、図４に示すように、欠落データパケットＥ、Ｆ、Ｈ、及び、欠落ＦＥＣパケットＲ３、Ｒ６の情報を含む再送要求パケットが送信されたものとする（Ｓ４０２）。
【００４７】
ステップＳ１５０２、及び、ステップＳ１５０３の処理は、データ送信装置１０１は行わないため説明を省略する。
【００４８】
ステップＳ１５０４（判定手順）において、再送パケット決定部１０７は、欠落データパケット（Ｅ、Ｆ、Ｈ）を連鎖復元グループに分類する。再送パケット決定部１０７は、連鎖復元グループに分類するために、各欠落データパケットが正常に通信された場合に復元可能な他の欠落データパケットを判定する。例えば、再送パケット決定部１０７は、欠落データパケットＥが正常に通信されたと仮定した場合に復元可能な欠落データパケットを判定する。即ち、ステップＳ１５０４において、再送パケット決定部１０７は、通信に失敗した複数のパケット（欠落データパケット）のうちの第１のパケット（欠落データパケットＥ）が正常に通信された場合に復元可能なパケットを判定する。尚、再送パケット決定部１０７は、正常に通信されたと仮定した欠落データパケット（第１のパケット）及び、正常に通信されたデータパケットとＦＥＣパケットに基づいて、復元可能な欠落データパケットを判定する。
【００４９】
図４の例では、連鎖復元グループは１つである。つまり、欠落データパケットＥ、Ｆ、Ｈのうち、いずれか１つでも正常に通信されれば、すべての欠落データパケットを復元することができる。また、このときの各欠落データパケットの連鎖復元数は、３である。再送パケット決定部１０７が欠落データパケットを連鎖復元グループに分類すると、ステップＳ１５０５に進む。
【００５０】
ステップＳ１５０５（決定手順）において、再送パケット決定部１０７は、連鎖復元数が最大の連鎖復元グループの欠落データパケットから、再送する欠落データパケットを決定する。この例では、欠落データパケットＥ、Ｆ、Ｈから、再送するデータパケットを決定する。再送するデータパケットの数は、例えば図８に示したような表に基づいて決定する。つまり、再送されたパケットとＦＥＣパケットに基づいて複数のパケットが復元可能な場合、復元可能な複数のパケットから少なくとも一部のパケットを除いたパケットから、再送させるパケットが決定される。ここでは、データパケットＥ、Ｆが再送パケットとして決定されたものとする（図４のＳ４０３）。つまり、欠落データパケットＨは再送されない。
【００５１】
即ち、ステップＳ１５０５において、正常に通信されると複数のパケットが復元可能であると判定された第１のパケットを再送させる場合、復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する。再送パケットが決定されると、ステップＳ１５０６に進む。
【００５２】
ステップＳ１５０６において、再送パケット決定部１０７は、再送パケットを決定した連鎖復元グループに属する欠落パケットがすべて復元されると仮定し、ステップＳ１５０７に進む。
【００５３】
ステップＳ１５０７において、再送パケット決定部１０７は、すべての欠落データパケットが復元されると仮定されたか否かを判定する。再送パケット決定部１０７が、すべての欠落データパケットが復元されると仮定されたと判定した場合は、ステップＳ１５０８に進み、まだ復元されない欠落データパケットがあると判定した場合は、ステップＳ１５０４に戻る。図４の例では、データパケットＥ、Ｆを再送することにより、すべての欠落データパケットが復元されると仮定できるため、ステップＳ１５０８に進む。尚、再送パケット決定部１０７は、すべての欠落データパケットを復元する必要がない場合、復元する必要のある欠落データパケットが復元されると仮定されたか否かを判定する。また、この例のように、復元連鎖グループが１つしかない場合は、ステップＳ１５０７の処理を省略しても良い。
【００５４】
ステップＳ１５０８において、再送パケット決定部１０７は、ステップＳ１５０５で決定された再送パケットの識別情報（例えばシーケンスナンバー）を送受信部１０６に通知する。そして、送受信部１０６は、再送パケットの識別情報に基づいてパケット送信バッファ１０５から再送パケットのデータを読み出し、データ受信装置１０２へ送信する。この例では、欠落データパケットＥ、Ｆ、Ｈのうち、データパケットＥ、Ｆが再送信される。
【００５５】
そして、データ受信装置１０２では、データパケットＢ、Ｅ、及び、ＦＥＣパケットＲ５を用いて、欠落データパケットＨが復元される。尚、図４では、再送されたデータパケットＥ、Ｆの両方が正常に受信された場合について説明しているが、いずれか一方が正常に受信されれば、すべての欠落データパケットを復元することができる。また、上述のように、３個の欠落データパケットＥ、Ｆ、Ｈのうち、異なる２個のデータパケット（例えばＥ、Ｆ）を再送パケットとして決定することも、１個のデータパケット（例えばＥ）を２回再送することも可能である。
【００５６】
ところで、図８に示す表に記載の連鎖復元数に対する再送パケットの数は、例えば全て１とすることも可能である。その場合、再送した１個のパケットが伝送路で欠落するとほかのデータパケットも復元することは出来なくなるが、一方で再送するパケットの数を少なくすることができる。従って、欠落したパケットを再送することによる通信量の増加をより効果的に低減することができる。
【００５７】
また、伝送路１１２の状況に応じて再送パケットの数を決定しても良い。
【００５８】
本実施形態のようなＲＴＰでのパケット通信においては、受信状況を把握するために、ＲＴＣＰ（ＲＴＰ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）というプロトコルが使用される。
【００５９】
ＲＴＣＰでは、パケットの送信側と受信側で相互に送信情報と受信情報を格納したパケットのやり取りが行なわれるが、特に、受信側から送信側へ通知するパケットをレシーバーレポートという。このレシーバーレポートには、損失（欠落）パケットおよび受信パケットの累積数が含まれている。また、レシーバーレポートには、データ送信装置１０１からパケットが送信されてからデータ受信装置１０２が受信するまでに要する時間（遅延時間）に関する遅延時間情報が含まれている。
【００６０】
再送パケット決定部１０７は、上記の情報を分析することによって、伝送路１１２の状況を判定することができる。具体的には、伝送路１１２において輻輳が発生すると、送信パケット数に対する欠落パケット数の割合（エラー率）が増加し、パケットの送達時間が長くなる。そこで、本形態の再送パケット決定部１０７は、エラー率が増加し、さらに、データ送信装置１０１からパケットが送信されてからデータ受信装置１０２が受信するまでに要する時間（遅延時間）が長くなると、輻輳が発生していると判定する。再送パケット決定部１０７は、伝送路１１２で輻輳が発生していると判定すると、輻輳が発生していない場合よりも再送パケットの数を少なくする。
【００６１】
即ち、再送パケット決定部１０７は、通信に失敗したパケットの数（欠落パケット数）に応じたエラー率を取得する。そして、再送パケット決定部１０７は、エラー率が第１のエラー率よりも高い第２のエラー率で、かつ、復元可能であると判定されたパケットの数（連鎖復元数）が第１のパケット数であった場合、以下のようにして、再送パケット数を決定する。
【００６２】
すなわち、再送パケット決定部１０７は、エラー率が第１のエラー率で、かつ連鎖復元数が第１のパケット数であった場合よりも再送パケット数が少なくなるように、再送パケットの数を決定する。また、再送パケット決定部１０７は、パケットが送信されてから受信されるまでに要する遅延時間の遅延時間情報を取得する。そして、再送パケット決定部１０７は、遅延時間情報と復元可能であると判定されたパケット数（連鎖復元数）に応じて、以下のようにして再送パケット数を決定する。
【００６３】
つまり、第１の遅延時間の遅延時間情報が取得されたあと、第１の遅延時間より長い第２の遅延時間の遅延時間情報が取得され、かつ連鎖復元数が第１のパケット数であった場合、再送パケット数が第２のパケット数となるようにする。
【００６４】
一方、再送パケット決定部１０７は、第１の遅延時間の遅延時間情報が取得されたあと、第２の遅延時間より長い第３の遅延時間の遅延時間情報が取得され、かつ連鎖復元数が第１のパケット数であった場合、再送パケット数が第３のパケット数となるようにする。すなわち、再送パケット決定部１０７は、連鎖的に復元可能なパケットのうち、第２のパケット数よりも少ない第３のパケット数のパケットが再送されるように、再送パケットを決定する。
【００６５】
尚、データ送信装置１０１からパケットが送信されてからデータ受信装置１０２が受信するまでに要する時間（遅延時間）に関する遅延時間情報として、例えば、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）やジッタの情報を用いることができる。ただし、これらの例に限らない。また、エラー率、及び、遅延時間情報のいずれかによって輻輳の発生を判定するようにしても良い。
【００６６】
このように、再送パケット決定部１０７は、伝送路１１２が輻輳状態ではないと判定された場合には再送するパケット数を多く、一方、輻輳状態であると判定された場合には再送するパケット数を少なくする。このようにすることで、輻輳が起こっていない場合は、すべての欠落パケットが復元される可能性を上げることができ、輻輳時には、再送パケットによる輻輳状態の悪化を低減することができる。
【００６７】
ところで、これまでの説明では、欠落した全てのデータパケットを復元する例を中心に説明したが、欠落した全てのデータパケットを復元しないようにしても良い。つまり、欠落したデータパケットのうち、より優先度の高いデータパケットが復元できるように、再送パケットを決定するようにしても良い。
【００６８】
優先度の高いデータパケットの例として、例えば、イントラ（Ｉｎｔｒａ）圧縮されたフレームのデータが挙げられる。ここで、イントラ圧縮されたフレームのデータとは、ほかのフレームのデータを参照しないで符号化されている動画像データである。これに対し、インター圧縮されたフレームのデータには、ほかのフレームのデータを参照して符号化された動画像データが含まれている。イントラ圧縮されたフレームのデータは、あとに通信されるデータが参照する可能性が高いため、このデータが復元されないと、長い期間に渡って欠落の影響を受ける可能性が高い。従って、再送パケット決定部１０７は、イントラ圧縮されたフレームのデータを含むデータパケットが復元できるように、再送パケットを決定することができる。即ち、再送パケット決定部１０７は、通信に失敗したパケットが別のフレームのデータを参照して符号化されている動画像データを含むか否かに応じて、通信に失敗したパケットを再送するか決定する。このようにすれば、データパケットの欠落による影響を低減しつつ、欠落パケットの再送による通信量の増加も低減することができる。
【００６９】
また、伝送路１１２が輻輳状態であるか否かに応じて、欠落したすべてのデータパケットを復元させるか、欠落したデータパケットのうち、優先度の高いデータパケットのみを復元させるかを決めるようにしても良い。例えば、再送パケット決定部１０７は、伝送路１１２が輻輳状態にあると判定した場合は、欠落したデータパケットのうち、イントラ圧縮した動画像データを復元するためのデータパケットを再送させる。一方、輻輳状態ではないと判定された場合は、欠落したデータパケットがすべて復元できるように、再送するデータパケットを決定する。尚、輻輳状態の判定は、例えば、エラー率、もしくは遅延時間情報、またはこれらの組み合わせにより行うことができる。
【００７０】
即ち、再送パケット決定部１０７は、通信に失敗したパケットの数（欠落パケット数）に応じたエラー率を取得する。そして、エラー率が第１のエラー率よりも高い第２のエラー率であった場合、通信に失敗したパケットのうち、別のフレームのデータを参照して符号化されていない動画像データが含まれるパケットが再送されるように、再送パケットを決定する。
【００７１】
また、再送パケット決定部１０７は、パケットが送信されてから受信されるまでに要する時間に基づく遅延情報（遅延時間の増加量）を取得する。そして、遅延時間が第１の遅延時間である遅延時間情報が取得されたあと、遅延時間が第１の遅延時間より長い第２の遅延時間である第２の遅延時間情報が取得された場合、イントラ圧縮、インター圧縮に限らず、再送パケットを決定する。つまり、再送パケット決定部１０７は、イントラ圧縮された動画像データが含まれるパケット、及び、インター圧縮された動画像データが含まれるパケットが再送されるように、再送パケットを決定する。
【００７２】
一方、再送パケット決定部１０７は、第１の遅延時間の遅延時間情報が取得されたあと、第２の遅延時間より長い第３の遅延時間の遅延時間情報が取得された場合、イントラ圧縮された動画像データが含まれるパケットが再送されるように再送パケットを決定する。
【００７３】
尚、優先度を高くするデータは、イントラ圧縮された動画像データに限らず、例えば、表示画面上における位置や画面内における動き量に応じて決定するようにしても良い。また、優先度を複数の段階に設定し、輻輳状態と優先度に応じて、再送するデータパケットを決定するようにしても良い。このようにすることで、輻輳時に、データパケットの欠落による影響を低減しつつ、再送パケットによる輻輳状態の悪化も低減することができる。
【００７４】
以上説明したように、本実施形態のデータ送信装置１０１は、通信に失敗したデータパケット（欠落データパケット）が正常に通信された場合に復元できるデータパケットを判定する。そして、正常に通信された場合に複数の欠落データパケットを復元できると判定された欠落データパケットを再送する場合は、そのデータパケットによって復元できる欠落データパケットの少なくとも一部が再送されないように、再送パケットを決定する。
【００７５】
このようにすることで、欠落したパケットを再送することによる通信量の増加を低減させることができる。また、データ送信装置１０１が再送するパケットを決定することで、データ受信装置１０２の機能によらず、本発明の効果を得ることができる。
【００７６】
＜実施形態２＞
次に本発明の第２の実施形態について、実施形態１との差異を中心に説明する。
【００７７】
実施形態１では、データ送信装置１０１が再送パケットを決定する場合について説明したが、本実施形態では、データ受信装置５０２が再送要求をするパケットを決定する。
【００７８】
図５は、本実施形態におけるデータ送信装置５０１、データ受信装置５０２を含む送受信システムの基本構成を示すブロック図である。
【００７９】
尚、本形態では、データ送信装置５０１が、映像、音声等のデータパケット、及び、復元用パケット（ＦＥＣパケット）をデータ受信装置５０２に対して送信する。尚、ＦＥＣパケットは、通信に失敗したデータパケットをデータ受信装置５０２が復元するために用いるパケットである。また、データ受信装置５０２は、復元用パケットを用いても復元できなかった欠落データパケットに基づいて再送要求するデータパケットを決定し、再送要求パケットをデータ送信装置５０１に送信する。即ち、データ送信装置５０１、及び、データ受信装置５０２は、共に、パケットの通信を行う通信装置である。
【００８０】
図５に示すように、本実施形態では、データ受信装置５０２が再送パケット決定部５１３を含む構成となっている。
【００８１】
即ち、第１の実施形態では、データ受信装置１０２が、伝送路１１２で欠落したパケットの情報をデータ送信装置１０１に対して通知し、データ送信装置１０１が再送するデータパケットを決定していた。それに対し、本実施形態ではデータ受信装置５０２が再送するデータパケットを決定し、再送すると決定されたデータパケットの情報（例えばシーケンスナンバー）を含む再送要求パケットをデータ送信装置５０１へ通知する。
【００８２】
次に、本実施形態の再送パケットの決定処理について、図１１のフローチャート、及び、図６を用いて説明する。
【００８３】
図１１は、本実施形態の再送パケット決定部５１３による再送パケットの決定処理を示すフローチャートである。
【００８４】
また、図６は、データ送信装置５０１によって送信されたパケットが伝送路上で欠落した場合における処理の具体的例を示した図である。
【００８５】
図１１のステップＳ１５０１において、データ受信装置５０２のパケット復元部１１０は、データパケットの欠落を検知する。本形態のパケット復元部１１０は、受信されたパケットのヘッダ部分にあるシーケンスナンバーを参照することで、パケットの欠落の有無をチェックしている。つまり、シーケンスナンバーに抜けがあった場合に、パケットの欠落が発生したことを検知する。図６の例では、データ送信装置５０１が、データパケットＡ〜Ｉ、及び、ＦＥＣパケットＲ１〜Ｒ６をデータ受信装置５０２に対して送信している。そして、データパケットＣ，Ｅ，Ｆ，ＨとＦＥＣパケットＲ３，Ｒ６が伝送路１１２にて欠落したとする。パケット復元部１１０が欠落パケットを検知するとステップＳ１５０２に進む。
【００８６】
ステップＳ１５０２において、データ受信装置１０２のパケット復元部１１０は、正常に受信されたほかのデータパケットとＦＥＣパケットによって復元できる欠落データパケットがあるか否かを判定する。復元可能な欠落データパケットがあると判定された場合はステップＳ１５０３に、復元可能な欠落データパケットがないと判定された場合は、ステップＳ１５０４に進む。図６の例では、正常に受信されたデータパケットＡ、Ｂ、及びＦＥＣパケットＲ１を用いて欠落データパケットＣを復元可能であるため、ステップＳ１５０３に進む。
【００８７】
ステップＳ１５０３において、パケット復元部１１０は、復元できる欠落データパケットを誤り訂正復号により復元する。図６の例では、欠落データパケットＣが復元される（Ｓ６０１）。尚、本形態のＦＥＣパケットのヘッダには、対応するデータパケットの情報が含まれている。例えば、図６のＦＥＣパケットＲ１のヘッダに、ＦＥＣパケットＲ１が対応するデータパケットがＡ、Ｂ、Ｃであるという情報が含まれている。パケット復元部１１０は、この情報に基づいて、欠落データパケットＣを復元する。
【００８８】
そして、データ受信装置５０２は、ＦＥＣパケットによって復元できない欠落データパケットがある場合、その欠落データパケット、及び、欠落ＦＥＣパケットの情報（シーケンスナンバー）を再送パケット決定部５１３に通知する。ここでは、図６に示すように、欠落データパケットＥ、Ｆ、Ｈ、及び、欠落ＦＥＣパケットＲ３、Ｒ６の情報が通知される。パケット復元部１１０が、復元できない欠落データパケット、及び欠落ＦＥＣパケットの情報を通知すると、ステップＳ１５０４に進む。
【００８９】
ステップＳ１５０４（判定手順）において、再送パケット決定部５１３は、欠落データパケットを連鎖復元グループに分類する。再送パケット決定部５１３は、連鎖復元グループに分類するために、各欠落データパケットが正常に通信された場合に復元可能な他の欠落データパケットを判定する。例えば、再送パケット決定部５１３は、欠落データパケットＦが正常に通信されたと仮定した場合に復元可能な欠落データパケットを判定する。即ち、再送パケット決定部１０７は、ステップＳ１５０４において、通信に失敗した複数のパケット（欠落データパケット）のうちの第１のパケット（欠落データパケットＦ）が正常に通信された場合に復元可能なパケットを判定する。尚、再送パケット決定部５１３は、各ＦＥＣパケットのヘッダに含まれている、ＦＥＣパケットに対応するデータパケットの情報に基づいて、復元可能な欠落データパケットを判定する。
【００９０】
図６の例では、連鎖復元グループは１つである。つまり、欠落データパケットＥ、Ｆ、Ｈのうち、いずれか１つでも正常に通信されれば、すべての欠落データパケットを復元することができる。また、このときの各欠落データパケットの連鎖復元数は、３である。再送パケット決定部５１３が欠落データパケットを連鎖復元グループに分類すると、ステップＳ１５０５に進む。
【００９１】
ステップＳ１５０５（決定手順）において、再送パケット決定部５１３は、連鎖復元数が最大の連鎖復元グループの欠落データパケットから、再送する欠落データパケットを決定する。図６の例では、欠落データパケットＥ、Ｆ、Ｈから、再送するデータパケットが決定される。再送するデータパケットの数は、例えば図８に示したような表に基づいて決定する。ここでは、データパケットＥ、Ｆが再送パケットとして決定されたものとする（図６のＳ６０２）。つまり、データパケットＨは、再送されない。
【００９２】
即ち、ステップＳ１５０５において、正常に通信されると複数のパケットが復元可能であると判定された第１のパケットを再送させる場合、復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する。再送パケットが決定されると、ステップＳ１５０６に進む。
【００９３】
ステップＳ１５０６において、再送パケット決定部５１３は、再送パケットを決定した連鎖復元グループに属する欠落パケットがすべて復元されると仮定し、ステップＳ１５０７に進む。図６の例では、欠落データパケットＥ、Ｆ、Ｈがすべて復元されると仮定される。
【００９４】
ステップＳ１５０７において、再送パケット決定部５１３は、すべての欠落データパケットが復元されると仮定されたか否かを判定する。再送パケット決定部５１３が、すべての欠落データパケットが復元されると仮定されたと判定した場合は、ステップＳ１５０８に進み、一方、まだ復元されない欠落データパケットがあると判定した場合は、ステップＳ１５０４に戻る。図６の例では、データパケットＥ、Ｆを再送することにより、すべての欠落データパケットが復元されると仮定できるため、ステップＳ１５０８に進む。尚、再送パケット決定部１０７は、すべての欠落データパケットを復元する必要がない場合、復元する必要のある欠落データパケットが復元されると仮定されたか否かを判定する。また、この例のように、復元連鎖グループが１つしかない場合は、ステップＳ１５０７の処理を省略しても良い。
【００９５】
ステップＳ１５０８において、再送パケット決定部５１３は、ステップＳ１５０５で決定された再送データパケットの識別情報（例えばシーケンスナンバー）をパケット再送要求部１１１に通知する。そして、パケット再送要求部１１１は、再送データパケットの識別情報に基づいて再送要求パケットを生成する。そして、送受信部１０６は、パケット再送要求部１１１によって生成された再送要求パケットをデータ送信装置５０１へ送信する。図６の例では、欠落データパケットＥ、Ｆ、Ｈのうち、データパケットＥ、Ｆの再送要求パケットが送信される（Ｓ６０３）。再送要求パケットを受信したデータ送信装置５０１は、データパケットＥ、Ｆを再送信する。そして、データ受信装置５０２は、データパケットＢ、Ｅ、及び、ＦＥＣパケットＲ５を用いて、欠落データパケットＨを復元する。
【００９６】
尚、図６では、再送されたデータパケットＥ、Ｆの両方が正常に受信された場合について説明しているが、いずれか一方が正常に受信されれば、すべての欠落データパケットを復元することができる。また、上述のように、３個の欠落データパケットＥ、Ｆ、Ｈのうち、異なる２個のデータパケット（例えばＥ、Ｆ）を再送データパケットとして決定することも、１個のデータパケット（例えばＥ）を２回再送することも可能である。
【００９７】
このように、データ受信装置５０２が、再送要求するデータパケットを決定することができる。また、データ受信装置５０２が再送要求するパケットを決定することで、データ送信装置５０１の負荷を低減させることができる。
【００９８】
＜実施形態３＞
次に本発明による第３の実施形態について、実施形態１、２との差異を中心に説明する。実施形態１、２では、連鎖復元グループが１つである場合、すなわち、欠落した複数のデータパケットのうち、再送された１個のデータパケットが正常に受信されれば、ほかの欠落データパケットをすべて復元できる場合を中心に説明した。これに対し、本実施形態では、連鎖復元グループが複数ある場合、すなわち、欠落したデータパケットをすべて復元するためには、複数の再送データパケットが正常に受信される必要がある場合について詳しく説明する。尚、本実施形態の再送データパケットの決定処理は、データ受信装置５０２が行うものとする。つまり、本形態の送受信システムの基本構成は、図５と同様である。ただし、実施形態１で説明したように、データ送信装置１０１が再送データパケットを決定することも可能である。
【００９９】
図９は、データパケットＡ，Ｂ，Ｃ，Ｅ，Ｆ，Ｇ，ＩとＦＥＣパケットＲ５が欠落したことを示した図である。実施形態１、２で説明した欠落パターンは、例えば図３、図７で示したように、すべての欠落データパケットの連鎖復元数が、欠落データパケット数と同じであった。これに対し、図９に示す欠落パターンは、すべての欠落データパケットの連鎖復元数が欠落データパケット数よりも小さい。従って、欠落したデータパケットをすべて復元するためには、複数の再送データパケットが正常に通信される必要がある。
【０１００】
また、図９において、データパケットＡ、Ｇ、Ｉが同じ連鎖復元グループに属している。上述のように、連鎖復元グループは、相互に連鎖的に復元することが可能な欠落データパケットのグループである。尚、同じ連鎖復元グループに属する欠落データパケットの連鎖復元数は、同じ値となる。データパケットＡ、Ｇ、Ｉの連鎖復元数は同じ値（３）である。また、データパケットＡ、Ｇ、Ｉのうちの１個のデータパケットが正常に通信されれば、同じ連鎖復元グループに属しているすべてのデータパケットを復元することができる。
【０１０１】
同様に、欠落データパケットＥ、Ｆも同じ連鎖復元グループに属している。また、欠落データパケットＢ、及びＣは、それぞれ別の連鎖復元グループに属していることになる。すなわち、図９の欠落パターンにおいて、欠落データパケットＢの再送データパケットだけが正常に通信されても、ほかの欠落データパケットを復元することはできない。
【０１０２】
再送パケット決定部５１３は、複数の連鎖復元グループが存在する場合、欠落データパケットを連鎖復元グループごとにグループ分けし、連鎖復元数が最大の連鎖復元グループの欠落データパケットの中から、再送するデータパケットを決定する。そして、連鎖復元数が最大の連鎖復元グループに属する欠落データパケットがすべて復元されたと仮定し、まだ復元されていない欠落データパケットを連鎖復元グループにグループ分けする。以下、同様に、連鎖復元数が最大の連鎖復元グループの欠落データパケットの中から、再送するデータパケットを決定していく。
【０１０３】
本形態の再送パケット決定部５１３は、上記のような手順により、復元すべきすべての欠落データパケットが復元されると仮定されるまで、再送データパケットの決定処理を繰り返す。
【０１０４】
次に、再送パケット決定部５１３が行う、連鎖復元グループのグループ分けの方法について説明する。再送パケット決定部５１３は、各欠落データパケットについて、その欠落データパケットが正常に通信された場合に復元可能な欠落データパケットを算出する。
【０１０５】
例えば、図９の例において、欠落データパケットＡが正常に通信された場合に復元可能なデータパケットは、データパケットＧ、及びＩである。また、欠落データパケットＧが正常に通信された場合に復元可能なデータパケットは、データパケットＡ、及び、Ｉである。同様に、欠落データパケットＩが正常に通信された場合に復元可能なデータパケットは、データパケットＡ、及び、Ｇである。そこで、再送パケット決定部５１３は、データパケットＡ、Ｇ、Ｉが同じ連鎖復元グループに属するデータパケットであると判定する。
【０１０６】
同様に、データパケットＥが正常に通信された場合に復元可能な欠落データパケットはデータパケットＦであり、データパケットＦが正常に通信された場合に復元可能な欠落データパケットはデータパケットＥである。従って、データパケットＥ、Ｆは、同じ連鎖復元グループに属する欠落データパケットであると判定される。
【０１０７】
また、データパケットＢは、正常に通信されても、それ自身以外に復元可能な欠落データパケットが存在しないため、同じ連鎖復元グループに属する欠落データパケットは存在しないことになる。データパケットＣも同様である。
【０１０８】
このようにグループ分けすると、図９の例では、連鎖復元グループが４個存在することになる。すなわち、連鎖復元数が３の｛Ａ，Ｇ，Ｉ｝から成るグループ１３０１、連鎖復元数が２の｛Ｅ，Ｆ｝から成るグループ１３０２、連鎖復元数が１の｛Ｂ｝から成るグループ１３０３と｛Ｃ｝から成るグループ１３０４である。再送パケット決定部５１３は、このようにして分けられた連鎖復元グループのうち、連鎖復元数が最も高い連鎖復元グループ｛Ａ、Ｇ、Ｉ｝の中から、再送データパケットを決定する。このとき、連鎖復元数に応じて、複数の再送データパケットを決定するようにしても良い。
【０１０９】
そして、再送パケット決定部５１３は、連鎖復元数が最も高い連鎖復元グループに属する欠落データパケットがすべて復元されたと仮定して、改めて連鎖復元グループのグループ分けを行う。そして、その中で連鎖復元数が最も高い連鎖復元グループの中から、再送データパケットを決定する。以下同様に、欠落データパケットがすべて復元されるまで、この処理を繰り返す。ただし、欠落データパケットをすべて復元しない場合は、途中で処理を終了しても良い。
【０１１０】
また、欠落データパケットに優先度が設けられている場合は、その優先度に従って再送データパケットを決定する連鎖復元グループを決めるようにしても良い。
【０１１１】
尚、これまでの欠落パターンでは、ある欠落データパケット（例えばＡ）が正常に通信されたことにより他の欠落データパケット（例えばＧ）が復元可能である場合、欠落データパケットＧが正常に通信されたことによって欠落データパケットＡが復元可能である。従って、ある欠落データパケットが正常に通信されたことによって復元可能な欠落データパケットは、すべて同じ連鎖復元グループに属することになる。
【０１１２】
しかし、ある欠落データパケットＡが正常に通信されると欠落データパケットＢが復元できても、欠落データパケットＢが正常に通信されても欠落データパケットＡが復元できない場合がある。これは、図２のような構成において、例えば、データパケットＢ、Ｃ、Ｅ、Ｆ、Ｇ、Ｈ、及び、ＦＥＣパケットＲ４が欠落した場合である。このようなエラーパターンにおいて、例えば欠落データパケットＨが正常に通信された場合には欠落データパケットＧを復元可能であるが、ほかの欠落データパケットＢ、Ｃ、Ｅ、Ｆは復元できない。
【０１１３】
一方、例えば欠落データパケットＥが正常に通信された場合、欠落データパケットＢ、Ｃ、Ｅ、Ｆ、Ｇ、Ｈがすべて復元可能である。このような場合、再送パケット決定部５１３は、欠落データパケットＢ、Ｃ、Ｅ、Ｆで１つの連鎖復元グループを構成し、欠落データパケットＧ、Ｈで１つの連鎖復元グループを構成するようにグループ分けする。このとき、欠落データパケットＢ、Ｃ、Ｅ、Ｆの連鎖復元数は６であり、欠落データパケットＧ、Ｈの連鎖復元数は２である。また、本形態の再送パケット決定部５１３は、欠落データパケットＢ、Ｃ、Ｅ、Ｆから再送するデータパケットを決定するが、この再送により、欠落データパケットＧ、Ｈも復元されると仮定できる。従って、欠落データパケットＧ、Ｈの連鎖復元グループからは再送データパケットを決定しない。ただし、処理負荷を低減するために、連鎖復元グループごとに再送データパケットを決定するようにしても良い。
【０１１４】
次に、本実施形態の再送データパケットの決定方法を、図１１と図９を用いて説明する。
【０１１５】
図１１は、本実施形態のデータ受信装置５０２が行う、再送データパケットを決定する処理の流れを示すフローチャートである。
【０１１６】
ステップＳ１５０１において、パケット復元部１１０は、受信したパケットのシーケンスナンバーを監視することで損失したパケット（欠落データパケット）を検知する。図９の例では、送信されたデータパケットＡ〜Ｉ、ＦＥＣパケットＲ１〜Ｒ６のうち、データパケットＡ、Ｂ、Ｃ、Ｅ、Ｆ、Ｇ、Ｉ、及び、ＦＥＣパケットＲ５の欠落が検知される。パケット復元部１１０が欠落データパケットを検知するとステップＳ１５０２に進み、欠落データパケットを検知しなかった場合は欠落データパケットを検知する処理を繰り返す。
【０１１７】
ステップＳ１５０２において、パケット復元部１１０は、誤り訂正復号により復元可能な欠落データパケットの有無を判断する。つまり、パケット復元部１１０は、ステップＳ１５０２において、ＦＥＣパケット（復元用パケット）を用いることによって、欠落データパケットを復元可能であるか否かを判断する。パケット復元部１１０が誤り訂正復号により復元可能な欠落データパケットがあると判断した場合はステップＳ１５０３に進み、復元可能な欠落データパケットの復元を行う。つまり、パケット復元部１１０は、正常に受信されたデータパケットとＦＥＣパケットを用いて、欠落データパケットを復元する。
【０１１８】
一方、誤り訂正復号により復号可能な欠落データパケットがないと判断した場合はステップＳ１５０４に進む。図９のエラーパターンでは、ＦＥＣパケットを用いて復元可能な欠落データパケットはないため、ステップＳ１５０４に進む。また、パケット復元部１１０は、誤り訂正復号によって復元できなかった欠落データパケットの情報（例えばシーケンスナンバー）を再送パケット決定部５１３に通知する。
【０１１９】
ステップＳ１５０４（判定手順）において、再送パケット決定部５１３は、パケット復元部１１０で復元できなかった欠落データパケットを連鎖復元グループにグループ分けする。このグループ分けの方法は、上述した通りである。つまり、再送パケット決定部５１３は、連鎖復元グループに分類するために、各欠落データパケットが正常に通信された場合に復元可能な他の欠落データパケットを判定する。例えば、欠落データパケットＡが正常に通信されたと仮定した場合に復元可能な欠落データパケットを判定する。即ち、ステップＳ１５０４において、再送パケット決定部５１３は、通信に失敗した複数のパケットのうちの第１のパケット（欠落データパケットＡ）が正常に通信された場合に復元可能なパケットを判定する。図９の例では、グループ１３０１、１３０２、１３０３、１３０４の４つの連鎖復元グループにグループ分けされる。
【０１２０】
ステップＳ１５０５（決定手順）において、再送パケット決定部５１３は、連鎖復元数が最大の連鎖復元グループの欠落データパケットの中から、再送するデータパケットを決定する。図９の例では、欠落データパケットＡ、Ｇ、Ｉで構成される連鎖復元グループ（グループ１３０１）の中から、再送するデータパケットが決定される。ここでは、例えば、欠落データパケットＡ、Ｇが、再送データパケットとして決定されたとする。即ち、ステップＳ１５０５において、正常に通信されると複数のパケットが復元可能であると判定された第１のパケットを再送させる場合、復元可能な複数のパケットのうちの少なくとも一部のパケットが再送されないように、再送パケットが決定される。
【０１２１】
ステップＳ１５０６において、再送パケット決定部５１３は、連鎖復元数が最大の連鎖復元グループのパケットがすべて復元されると仮定する。つまり、再送パケット決定部５１３は、ステップＳ１５０５で決定された再送データパケットにより、該再送データパケットに対応する連鎖復元グループの欠落パケットがすべて復元されると仮定する。図９の例では、再送データパケットＡ、Ｇにより、対応する連鎖復元グループ（グループ１３０１）のすべての欠落データパケットＡ、Ｇ、Ｉが復元されると仮定される。
【０１２２】
ステップＳ１５０７において、再送パケット決定部５１３は、欠落データパケットがすべて復元されるか判定する。すなわち、再送パケット決定部５１３は、連鎖復元グループに属する欠落データパケットが復元されると仮定したことにより、欠落したデータパケットがすべて復元されるか否かを判定する。
【０１２３】
尚、再送パケット決定部１０７は、欠落したデータパケットをすべて復元させる必要がない場合、復元させるデータパケットがすべて復元可能であるか否かを判断する。ステップＳ１５０７で、すべての欠落データパケットを復元可能でないと判断された場合、ステップＳ１５０４に戻り、復元されると仮定されてない欠落データパケットに対して同様の処理が行われる。
【０１２４】
すなわち、再送パケット決定部５１３は、ステップＳ１５０４において、復元されると仮定されていない欠落データパケットを連鎖復元グループにグループ分けする。そして、再送パケット決定部５１３は、ステップＳ１５０５において、連鎖復元数が最大の連鎖復元グループの欠落データパケットから再送するデータパケットを決定する。そして、ステップＳ１５０６において、連鎖復元数が最大の連鎖復元グループのパケットがすべて復元されると仮定する。そして、ステップＳ１５０７において、欠落データパケットがすべて復元されると仮定されたか判定する。つまり、再送パケット決定部５１３は、通信に失敗した複数の欠落データパケットから、ステップＳ１５０６で復元可能であると仮定されたパケットを除いて、ステップＳ１５０５において決定された再送パケットと共に再送させるパケットを決定する。
【０１２５】
図９の例では、欠落データパケットＢ、Ｃ、Ｅ、Ｆが復元されると仮定されていないため、ステップＳ１５０４に戻る。そして、ステップＳ１５０４において、復元されると仮定されていない欠落データパケットＢ、Ｃ、Ｅ、Ｆを連鎖復元グループにグループ分けする。即ち、再送パケット決定部１０７は、第１のパケット（欠落データパケットＡ、Ｇ）が正常に通信されても復元不可能な複数のパケットＢ、Ｃ、Ｅ、Ｆのうち、第２のパケットが正常に通信された場合に復元可能なパケットを判定する。この例では、これらの欠落データパケットはすべて同じ連鎖復元グループに属すると判定される。
【０１２６】
以下、同様に、ステップＳ１５０５において、欠落データパケットＢ、Ｃ、Ｅ、Ｆから再送されるデータパケットが決定される。ここでは、欠落データパケットＢ、Ｅが再送データパケットとして決定されたものとする。即ち、再送パケット決定部１０７は、正常に通信されると複数のパケットが復元可能であると判定された第１及び第２のパケット（欠落データパケットＡ、Ｇ、Ｂ、Ｅ）を再送させる場合、以下のように再送パケットを決定する。即ち、第２のパケット（欠落データパケットＢ、Ｅ）が正常に通信されると復元可能であると判定された複数のパケット（欠落データパケットＢ、Ｃ、Ｅ、Ｆ）のうちの少なくとも一部のパケットが再送されないように、再送パケットを決定する。
【０１２７】
そして、再送データパケットＢ、Ｅにより、対応する連鎖復元グループの欠落データパケットＢ、Ｃ、Ｅ、Ｆがすべて復元されると仮定され（ステップＳ１５０６）、さらにステップＳ１５０７において、すべての欠落データパケットが復元可能であると判定される。再送パケット決定部５１３が、ステップＳ１５０７において、欠落データパケットがすべて復元可能であると判定すると、ステップＳ１５０８に進む。
【０１２８】
ステップＳ１５０８において、再送パケット決定部５１３は、再送データパケットの識別情報（例えばシーケンスナンバー）をパケット再送要求部１１１に通知する。この例では、欠落データパケットＡ、Ｇ、Ｂ、Ｅの識別情報が通知される。そして、パケット再送要求部１１１は、再送データパケットとして決定されたデータパケットが再送信されるように、再送要求パケットを生成する。そして、送受信部１０８は、再送要求パケットをデータ送信装置５０１に対して送信する。
【０１２９】
尚、ここまでの説明では、データパケットを３×３の行列に配置してＦＥＣパケットを生成する場合について説明したが、この構成に制限されるものではない。
【０１３０】
例えば、図１０に示す様にデータパケットを４×４の行列に配置してＦＥＣパケットを生成した場合について、図１１のフローチャートに基づいて説明する。
【０１３１】
図１１のステップＳ１５０１において、パケット復元部１１０は、欠落データパケットを検知する。図１０の例では、データパケットＣ，Ｄ，Ｆ，Ｇ，Ｉ，Ｌ，Ｍ，Ｎと、ＦＥＣパケットＲ１，Ｒ４，Ｒ６が欠落していることが検知される。
【０１３２】
ステップＳ１５０２において、パケット復元部１１０は、ＦＥＣパケットにより復元可能な欠落データパケットはないと判定し、ステップＳ１５０４に進む。尚、本形態のＦＥＣパケットのヘッダには、対応するデータパケットの情報が含まれている。例えば、図１０のＦＥＣパケットＲ１のヘッダに、ＦＥＣパケットＲ１が対応するデータパケットがＡ、Ｂ、Ｃ、Ｄであるという情報が含まれている。パケット復元部１１０は、このＦＥＣパケットのヘッダの情報に基づいて、復元可能な欠落データパケットを判定する。
【０１３３】
ステップＳ１５０４において、再送パケット決定部５１３は、欠落データパケットを、連鎖復元グループにグループ分けする。図１０の例では、連鎖復元数が４の｛Ｄ，Ｉ，Ｌ，Ｍ｝から成る連鎖復元グループ１４０１と連鎖復元数が３の｛Ｃ，Ｆ，Ｇ｝から成る連鎖復元グループ１４０２と連鎖復元数が１の｛Ｎ｝から成る連鎖復元グループ１４０３にグループ分けされる。
【０１３４】
さらに、ステップＳ１５０５において、再送パケット決定部５１３は、連鎖復元グループ１４０１に属する欠落データパケットの中から、再送するパケットを決定する。図１０の例では、例えば欠落データパケットＩ、Ｌが再送データパケットとして決定されたものとする。再送データパケットが決定されると、ステップＳ１５０６において、連鎖復元グループ１４０１のすべての欠落データパケット（Ｄ、Ｌ、Ｉ、Ｍ）が復元されたと仮定される。
【０１３５】
ステップＳ１５０７において、再送パケット決定部５１３は、すべての欠落データパケットが復元可能か判定する。図１０の例では、上述のように、欠落データパケットＣ、Ｄ、Ｆ、Ｇ、Ｉ、Ｌ、Ｍ、Ｎのうち、欠落データパケットＤ、Ｌ、Ｉ、Ｍが復元可能であると仮定されている。しかし、ほかの連鎖復元グループの欠落データパケット（Ｃ、Ｆ、Ｇ、Ｎ）が復元されないまま残っているので、ステップＳ１５０４に戻り、欠落データパケットＣ、Ｆ、Ｇ、Ｎを連鎖復元グループにグループ分けする。この例では、データパケットＣ、Ｆ、Ｇから成る連鎖復元グループ１４０２とデータパケットＮから成る連鎖復元グループ１４０３に分けられる。つまり、この例では、連鎖復元グループ１４０１が復元されたと仮定される前と後で、ほかの連鎖復元グループの構成が変化しない。
【０１３６】
以下同様に、連鎖復元数が最大の連鎖復元グループ１４０２に属する欠落データパケットＣ、Ｆ、Ｇから、再送するデータパケットが決定される。ここでは、欠落データパケットＣ、Ｆが再送データパケットとして決定されたものとする。また、その後、連鎖復元グループ１４０３に属する欠落データパケットから、再送するデータパケットが決定される。ここでは、欠落データパケットＮが再送データパケットとして決定される。
【０１３７】
ステップＳ１５０８において、再送パケット決定部５１３は、再送データパケットとして決定されたデータパケットの識別情報（シーケンスナンバー）をパケット再送要求部１１１に通知する。この例では、欠落データパケットＩ、Ｌ、Ｃ、Ｆ、Ｎの識別情報が通知される。また、パケット再送要求部１１１は、通知された識別情報に基づいて再送要求パケットを生成する。そして、送受信部１０８は、再送要求パケットをデータ送信装置５０１に対して送信する。
【０１３８】
再送要求パケットを受信したデータ送信装置５０１は、再送データパケットの識別情報に基づいて、再送データパケット（Ｉ、Ｌ、Ｃ、Ｆ、Ｎ）をパケット送信バッファ１０５から読み出し、再送信する。
【０１３９】
図１０の例では、欠落データパケットが８個であるが、実際に再送されるデータパケットの数を５個にすることができる。尚、上記の例では、例えば、連鎖復元グループ１４０１の欠落データパケットＤ、Ｉ、Ｌ、Ｍのうち、２個のデータパケットを再送させるようにしたが、いずれか１個の欠落データパケットが正常に通信されれば、他の欠落データパケットを復元することが可能である。従って、図１０の例において、実際に再送されるデータパケットの数を、最小で３個にすることができる。
【０１４０】
以上説明したように、本実施形態のデータ受信装置５０２は、送受信部１０８において、欠落（エラー）したデータパケットを復元するために用いる復元用パケット（ＦＥＣパケット）、及び、データパケットを受信する。そして、パケット復元部１１０は、エラーしたデータパケットのうち、復元用パケットによって復元できないデータパケットを特定する。また、再送パケット決定部５１３は、復元できない複数のデータパケットのうち、第１のデータパケットを受信することにより復元可能なデータパケットを判定する。
【０１４１】
そして、複数のデータパケットが復元可能であると判定された第１のデータパケットを再送要求する場合、復元可能であると判定された複数のデータパケットのうち、少なくとも一部のデータパケットが再送されないように、再送要求するデータパケットを決定する。
【０１４２】
尚、復元用パケット（ＦＥＣパケット）によって復元できないデータパケットの数が所定のパケット数よりも多い場合に本発明を適用するようにしても良いことは上述の通りである。
【０１４３】
このようにすることで、欠落したデータパケットを再送することによる通信量の増加を低減させることができる。
【０１４４】
尚、本実施形態では、連鎖復元数が最大の連鎖復元グループの再送データパケットを決定すると、その連鎖復元グループの欠落データパケットがすべて復元されたと仮定して、改めて欠落データパケットを連鎖復元グループにグループ分けを行う。このようにすれば、例えば、１つの連鎖復元グループの欠落データパケットがすべて復元されたと仮定したことにより、他の連鎖復元グループの構成が変化する場合に、より再送データパケットの数を低減することができる場合がある。ただし、はじめにグループ分けした連鎖復元グループごとに、再送データパケットを決定するようにしても良い。このようにすれば、再送データパケット決定処理に係る負荷を低減することができる。
【０１４５】
また、連鎖復元グループ内のすべての欠落データパケットが、復元する必要のないデータパケットであった場合、その連鎖復元グループに関する再送データパケットの決定処理を行わない。このようにすることにより、再送データパケットによる通信量の増加を、より低減することができる。
【０１４６】
また、本実施形態では、データ受信装置５０２側で再送データパケットの決定を行う場合について説明したが、実施形態１で説明したように、データ送信装置が決定するようにしても良い。
【０１４７】
データ送信装置が、再送データパケットを決定する場合、データ送信装置は、図１に示すデータ送信装置１０１のように、再送パケット決定部１０７を有する。また、データ送信装置１０１の送受信部１０６は、エラー（欠落）したデータパケットをデータ受信装置１０２が復元するために用いる復元用パケット、及び、データパケットをデータ受信装置１０２に対して送信する。また、送受信部１０６は、データパケットの再送要求を受信する。そして、再送パケット決定部１０７は、再送要求された複数のデータパケットのうち、第１のデータパケットを受信することによりデータ受信装置１０２が復元可能なデータパケット（欠落データパケット）を判定する。
【０１４８】
さらに、再送パケット決定部１０７は、複数のデータパケットが復元可能であると判定された第１のデータパケットを再送する場合、復元可能な複数のデータパケットのうち、少なくとも一部のデータパケットを再送しないように、再送データパケットを決定する。
【０１４９】
尚、再送要求されたデータパケットの数が所定のパケット数よりも多い場合に本発明を適用するようにしても良いことは上述の通りである。このようにしても、欠落データパケットの再送による通信量の増加を低減することができる。また、再送データパケットの決定処理をデータパケットの送信側で行うことで、データパケットの受信装置の機能によらず、本発明の効果を得ることができる。
【０１５０】
＜本発明に係る他の実施形態＞
本発明の目的は、次の形態によっても達成される。即ち、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する形態である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５１】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１５２】
また、本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現される形態には限られない。すなわち、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【０１５３】
さらに、本発明には、以下の形態も含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される形態である。
【図面の簡単な説明】
【０１５４】
【図１】第１の実施形態における、データ送信装置１０１及びデータ受信装置１０２の基本構成を示すブロック図である
【図２】誤り訂正符号化によりデータパケットからＦＥＣパケットを生成するパターンの例である
【図３】誤り訂正符号化を行ったデータパケット及びＦＥＣパケットの一部が欠落した場合の例である
【図４】第１の実施形態における、伝送路でのパケットロスの発生からパケットの再送による復元までの一連の処理を説明するための図である
【図５】第２の実施形態における、データ送信装置５０１及びデータ受信装置５０２の基本構成を示すブロック図である
【図６】第２の実施形態における、伝送路でのパケットロスの発生からパケットの再送による復元までの一連の処理を説明するための図である
【図７】誤り訂正符号化を行ったデータパケット及びＦＥＣパケットの一部が欠落した場合の別の例である
【図８】連鎖復元数と再送データパケット数の対応を示す表である
【図９】データパケットを３×３の行列に配置してＦＥＣパケットを生成した例である
【図１０】データパケットを４×４の行列に配置してＦＥＣパケットを生成した例である
【図１１】第３の実施形態における再送データパケットの決定に係る処理の流れを示すフローチャートである
【符号の説明】
【０１５５】
１０１、５０１  データ送信装置
１０２、５０２  データ受信装置
１０７、５１３  再送パケット決定部
１１０  パケット復元部
１１１  パケット再送要求部
【図１】
2010141413.tif 000003
【図２】
2010141413.tif 000004
【図３】
2010141413.tif 000005
【図４】
2010141413.tif 000006
【図５】
2010141413.tif 000007
【図６】
2010141413.tif 000008
【図７】
2010141413.tif 000009
【図８】
2010141413.tif 000010
【図９】
2010141413.tif 000011
【図１０】
2010141413.tif 000012
【図１１】
2010141413.tif 000013