(57)【要約】【課題】  配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信するマルチキャスト配信システムにおいて、通信エラー時のデータ再送の効率向上を図る。【解決手段】  ネットワークを介して符号語をマルチキャスト受信し、重み１復号法により前記受信した符号語を復号し、前記復号の結果、復元に失敗したデータブロックの中から、前記重み１復号法に係る重みが大きいデータブロックの再送を要求する再送方式３を備えたことを特徴とする。【選択図】    図２
2006108812.tif 000002
【特許請求の範囲】
【請求項１】
配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信する送信装置を備えるマルチキャスト配信システムにおいて、
前記送信された符号語をネットワークを介して受信し、重み１復号法により前記受信した符号語を復号する通信端末装置を備え、
前記通信端末装置は、
前記復号の結果、復元に失敗したデータブロックの中から、前記重み１復号法に係る重みが大きいデータブロックの再送を前記送信装置に要求する第１の再送要求手段を備えたことを特徴とするマルチキャスト配信システム。
【請求項２】
復元に失敗した全データブロックの再送を前記送信装置に要求する第２の再送要求手段と、
損失した符号語の再送を前記送信装置に要求する第３の再送要求手段と、
復元に失敗したデータブロックの割合および損失した符号語の割合に基づき、前記第１から第３の再送要求手段の中からいずれか一つを選択する再送方式選択手段と、
をさらに備えたことを特徴とする請求項１に記載のマルチキャスト配信システム。
【請求項３】
前記再送方式選択手段は、
前記第２の再送要求手段を選択するために満たすべき条件として、復元に失敗したデータブロックの割合の上限を規定する第１の閾値を有することを特徴とする請求項２に記載のマルチキャスト配信システム。
【請求項４】
前記再送方式選択手段は、
損失した符号語の割合の高位範囲を規定する第２の閾値と、損失した符号語の割合の下位範囲を規定する第３の閾値とを有し、
前記第１の閾値による前記第２の再送要求手段に係る選択条件が満たされなかった場合において、
前記第２の閾値が満たされたときは前記第２の再送要求手段を選択し、
前記第３の閾値が満たされたときは前記第３の再送要求手段を選択し、
前記第２及び第３の双方の閾値ともに満たされなかったときは前記第１の再送要求手段を選択することを特徴とする請求項３に記載のマルチキャスト配信システム。
【請求項５】
前記再送方式選択手段は、
復元に失敗したデータブロックの個数および損失した符号語の個数の全組み合わせに対する前記再送要求手段の選択内容を表す関数もしくはテーブルを有することを特徴とする請求項２に記載のマルチキャスト配信システム。
【請求項６】
配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信する送信装置から、ネットワークを介して前記送信された符号語を受信する受信手段と、
重み１復号法により前記受信した符号語を復号する復号手段と、
前記復号の結果、復元に失敗したデータブロックの中から、前記重み１復号法に係る重みが大きいデータブロックの再送を前記送信装置に要求する第１の再送要求手段と、
を備えたことを特徴とする通信端末装置。
【請求項７】
復元に失敗した全データブロックの再送を前記送信装置に要求する第２の再送要求手段と、
損失した符号語の再送を前記送信装置に要求する第３の再送要求手段と、
復元に失敗したデータブロックの割合および損失した符号語の割合に基づき、前記第１から第３の再送要求手段の中からいずれか一つを選択する再送方式選択手段と、
をさらに備えたことを特徴とする請求項６に記載の通信端末装置。
【請求項８】
前記再送方式選択手段は、
前記第２の再送要求手段を選択するために満たすべき条件として、復元に失敗したデータブロックの割合の上限を規定する第１の閾値を有することを特徴とする請求項７に記載の通信端末装置。
【請求項９】
前記再送方式選択手段は、
損失した符号語の割合の高位範囲を規定する第２の閾値と、損失した符号語の割合の下位範囲を規定する第３の閾値とを有し、
前記第１の閾値による前記第２の再送要求手段に係る選択条件が満たされなかった場合において、
前記第２の閾値が満たされたときは前記第２の再送要求手段を選択し、
前記第３の閾値が満たされたときは前記第３の再送要求手段を選択し、
前記第２及び第３の双方の閾値ともに満たされなかったときは前記第１の再送要求手段を選択することを特徴とする請求項８に記載の通信端末装置。
【請求項１０】
前記再送方式選択手段は、
復元に失敗したデータブロックの個数および損失した符号語の個数の全組み合わせに対する前記再送要求手段の選択内容を表す関数もしくはテーブルを有することを特徴とする請求項７に記載の通信端末装置。
【請求項１１】
配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信する送信装置を備えるマルチキャスト配信システムにおけるデータ再送方法であって、
前記送信された符号語をネットワークを介して受信した通信端末装置が、
重み１復号法により前記受信した符号語を復号する過程と、
前記復号の結果、復元に失敗したデータブロックの中から、前記重み１復号法に係る重みが大きいデータブロックの再送を前記送信装置に要求する第１の再送要求過程と、
を含むことを特徴とするデータ再送方法。
【請求項１２】
前記通信端末装置が、
復元に失敗した全データブロックの再送を前記送信装置に要求する第２の再送要求過程と、
損失した符号語の再送を前記送信装置に要求する第３の再送要求過程と、
復元に失敗したデータブロックの割合および損失した符号語の割合に基づき、前記第１から第３の再送要求手段の中からいずれか一つを選択する再送方式選択過程と、
をさらに含むことを特徴とする請求項１１に記載のデータ再送方法。
【請求項１３】
前記再送方式選択過程において、
前記第２の再送要求手段を選択するために満たすべき条件として、復元に失敗したデータブロックの割合の上限を規定する第１の閾値を有することを特徴とする請求項１２に記載のデータ再送方法。
【請求項１４】
前記再送方式選択過程において、
損失した符号語の割合の高位範囲を規定する第２の閾値と、損失した符号語の割合の下位範囲を規定する第３の閾値とを有し、
前記第１の閾値による前記第２の再送要求手段に係る選択条件が満たされなかった場合において、
前記第２の閾値が満たされたときは前記第２の再送要求手段を選択し、
前記第３の閾値が満たされたときは前記第３の再送要求手段を選択し、
前記第２及び第３の双方の閾値ともに満たされなかったときは前記第１の再送要求手段を選択することを特徴とする請求項１３に記載のデータ再送方法。
【請求項１５】
前記再送方式選択過程において、
復元に失敗したデータブロックの個数および損失した符号語の個数の全組み合わせに対する前記再送要求手段の選択内容を表す関数もしくはテーブルを有することを特徴とする請求項１２に記載のデータ再送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャスト配信システム、通信端末装置およびデータ再送方法に関する。
【背景技術】
【０００２】
近年、多数の受信者に対して大容量のデータを効率良く配信するためのマルチキャスト配信技術が検討されている。例えば、送信者が送信した送信データに伝送路上で雑音が付加されたり、伝送途上で送信データが消失するなどの通信エラーに対する耐性を高めるために、受信者が受信データを基に誤り訂正を行い配信データを復元するための符号化法を用いた通信方式が提案されている。例えば、特許文献１には、排他的論理和（ＸＯＲ）演算のみで構成される符号化法の一つであるＦｏｕｎｔａｉｎ符号化法を用いた通信方式が開示されている。
【０００３】
Ｆｏｕｎｔａｉｎ符号を用いた通信方式では、送信者は、配信データを所定の大きさのブロックに分割し、各データブロック単位で符号化し送信データを生成する。その符号化処理では、ある確率に基づいてデータブロックを１つもしくは複数個を選択し、この選択した組のデータブロックをＸＯＲ演算した結果を当該組の符号語とする。そして、全データブロックを解とする連立一次方程式が冗長なものとして成立するまで、その符号語生成操作を繰り返し、生成した符号語を送信データとする。また、データブロックの組ごとに、そのＸＯＲ演算結果である符号語を対応付ける冗長な連立一次方程式については、送信者と受信者の間で共有する。
【０００４】
受信者は、受信した符号語を復号することにより、配信データの復元を行う。このとき、配信データの復元が完了するまで、符号語の受信とその復号を繰り返す。この復号処理では、受信した符号語を使用して、上記連立一次方程式を解くことが行われる。この連立一次方程式の一般的な解法の一つ（以下、重み１復号法と称する）を説明する。重み１復号法では、先ず１対１の関係にあり解が直ぐに求まる方程式に着目する、つまり、一符号語と一データブロックとが対応している方程式（重み１の方程式）の符号語を受信データの中から探索し、当該方程式の解（つまり当該データブロック）となる符号語を得る。この発見した符号語を当該データブロックから成る符号語とＸＯＲ演算する。次いで、その発見した符号語により新たに「重み１」となった方程式の符号語を探索し、当該方程式の解（つまり当該データブロック）となる符号語を得る。この操作を繰り返すことにより全ての解（データブロック）を得る。
【０００５】
図１４、図１５は、上記した重み１復号法を説明するための説明図である。
図１４において、ステップ０では、送信者は、配信データを４つのデータブロックＡ，Ｂ，Ｃ，Ｄに分割する。そして、データブロックＡ〜Ｄの中から選択したデータブロックの組ごとに、同組内の各データブロックの値のＸＯＲ演算を行い、送信データとなる符号語を生成する。図１４の例では、５つの符号語Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５が生成されている。符号語Ｘ１の値はデータブロックＡ，Ｂ，Ｃの各値のＸＯＲ演算結果であり、符号語Ｘ２の値はデータブロックＡ，Ｂの各値のＸＯＲ演算結果であり、符号語Ｘ３の値はデータブロックＣの値に等しく、符号語Ｘ４の値はデータブロックＡ，Ｂ，Ｄの各値のＸＯＲ演算結果であり、符号語Ｘ５の値はデータブロックＡ，Ｃの各値のＸＯＲ演算結果である。
【０００６】
ステップ１では、受信者は、受信した符号語の中から、重み１の符号語Ｘ３を発見する。この符号語Ｘ３の値はデータブロックＣの値に等しい。そして、発見した符号語Ｘ３の値をデータブロックＣから成る符号語Ｘ１，Ｘ５の各値とそれぞれＸＯＲ演算する。これらのＸＯＲ演算結果は符号語Ｘ'１，Ｘ'５の各値となる。
【０００７】
ステップ２では、新たな重み１の符号語Ｘ'５を発見する。この符号語Ｘ'５の値はデータブロックＡの値に等しい。そして、発見した符号語Ｘ'５の値をデータブロックＡから成る符号語Ｘ'１，Ｘ２，Ｘ４の各値とそれぞれＸＯＲ演算する。これらのＸＯＲ演算結果は符号語Ｘ''１，Ｘ'２，Ｘ'４の各値となる。
【０００８】
同様に図１５のステップ３では、新たな重み１の符号語Ｘ''１を発見する。この符号語Ｘ''１の値はデータブロックＢの値に等しい。そして、発見した符号語Ｘ''１の値をデータブロックＢから成る符号語Ｘ'２，Ｘ'４の各値とそれぞれＸＯＲ演算する。これらのＸＯＲ演算結果は符号語Ｘ''２，Ｘ''４の各値となる。
【０００９】
図１５のステップ４では、新たな重み１の符号語Ｘ''４を発見する。この符号語Ｘ''４の値はデータブロックＤの値に等しい。
ステップ５では、新たな重み１の符号語が発見されないので、復号を終了する。
上記図１４、図１５の例では、連立一次方程式の全ての解が得られ、つまり全てのデータブロックＡ〜Ｄが復元される。
【００１０】
なお、図１４、図１５に概念的に示されるように、実際のコンピュータ処理では行列演算により重み１復号法を実現することができる。
【００１１】
また、上記したように連立一次方程式は冗長なものとして構成されるので、送信者から送信された符号語の一部が通信エラーにより受信者が正常に受信できなくても、全ての解（データブロック）を得ることができる場合がある。しかし、符号語の受信エラーの仕方や度合いによっては、全ての解（データブロック）を得ることができず、配信データを完全に復元できない事態が生じる。この場合には、受信者は、送信者に対して、復元できなかったデータブロックの再送を要求する。或いは受信エラーとなった符号語の再送を要求している。
【特許文献１】特開２００１−１８９６６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、上述した従来の通信エラー発生時の対処方法では、再送量が多くなり効率が悪いという問題が生じている。例えば、受信者が復元できなかったデータブロックを要求する場合、実は受信エラーとなった少量の符号語さえあれば未解答の方程式が一挙に解けて未復元の大量のデータブロックを得られるにもかかわらず、その未復元の大量のデータブロックを要求し非常に効率が悪い。一方、受信エラーとなった符号語を要求する場合、受信エラーの符号語よりも未復元のデータブロックの方が少量であるにもかかわらず、大量の受信エラーの符号語を要求し非常に効率が悪い。
【００１３】
本発明は、このような事情を考慮してなされたもので、その目的は、配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信するマルチキャスト配信システムにおいて、通信エラー時のデータ再送の効率向上を図ることが可能なマルチキャスト配信システム、通信端末装置およびデータ再送方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、本発明に係るマルチキャスト配信システムは、配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信する送信装置を備えるマルチキャスト配信システムにおいて、前記送信された符号語をネットワークを介して受信し、重み１復号法により前記受信した符号語を復号する通信端末装置を備え、前記通信端末装置は、前記復号の結果、復元に失敗したデータブロックの中から、前記重み１復号法に係る重みが大きいデータブロックの再送を前記送信装置に要求する第１の再送要求手段を備えたことを特徴とする。
【００１５】
本発明に係るマルチキャスト配信システムにおいては、復元に失敗した全データブロックの再送を前記送信装置に要求する第２の再送要求手段と、損失した符号語の再送を前記送信装置に要求する第３の再送要求手段と、復元に失敗したデータブロックの割合および損失した符号語の割合に基づき、前記第１から第３の再送要求手段の中からいずれか一つを選択する再送方式選択手段とをさらに備えたことを特徴とする。
【００１６】
本発明に係るマルチキャスト配信システムにおいては、前記再送方式選択手段は、前記第２の再送要求手段を選択するために満たすべき条件として、復元に失敗したデータブロックの割合の上限を規定する第１の閾値を有することを特徴とする。
【００１７】
本発明に係るマルチキャスト配信システムにおいては、前記再送方式選択手段は、損失した符号語の割合の高位範囲を規定する第２の閾値と、損失した符号語の割合の下位範囲を規定する第３の閾値とを有し、前記第１の閾値による前記第２の再送要求手段に係る選択条件が満たされなかった場合において、前記第２の閾値が満たされたときは前記第２の再送要求手段を選択し、前記第３の閾値が満たされたときは前記第３の再送要求手段を選択し、前記第２及び第３の双方の閾値ともに満たされなかったときは前記第１の再送要求手段を選択することを特徴とする。
【００１８】
本発明に係るマルチキャスト配信システムにおいては、前記再送方式選択手段は、復元に失敗したデータブロックの個数および損失した符号語の個数の全組み合わせに対する前記再送要求手段の選択内容を表す関数もしくはテーブルを有することを特徴とする。
【００１９】
本発明に係る通信端末装置は、配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信する送信装置から、ネットワークを介して前記送信された符号語を受信する受信手段と、重み１復号法により前記受信した符号語を復号する復号手段と、前記復号の結果、復元に失敗したデータブロックの中から、前記重み１復号法に係る重みが大きいデータブロックの再送を前記送信装置に要求する第１の再送要求手段とを備えたことを特徴とする。
【００２０】
本発明に係る通信端末装置においては、復元に失敗した全データブロックの再送を前記送信装置に要求する第２の再送要求手段と、損失した符号語の再送を前記送信装置に要求する第３の再送要求手段と、復元に失敗したデータブロックの割合および損失した符号語の割合に基づき、前記第１から第３の再送要求手段の中からいずれか一つを選択する再送方式選択手段とをさらに備えたことを特徴とする。
【００２１】
本発明に係る通信端末装置においては、前記再送方式選択手段は、前記第２の再送要求手段を選択するために満たすべき条件として、復元に失敗したデータブロックの割合の上限を規定する第１の閾値を有することを特徴とする。
【００２２】
本発明に係る通信端末装置においては、前記再送方式選択手段は、損失した符号語の割合の高位範囲を規定する第２の閾値と、損失した符号語の割合の下位範囲を規定する第３の閾値とを有し、前記第１の閾値による前記第２の再送要求手段に係る選択条件が満たされなかった場合において、前記第２の閾値が満たされたときは前記第２の再送要求手段を選択し、前記第３の閾値が満たされたときは前記第３の再送要求手段を選択し、前記第２及び第３の双方の閾値ともに満たされなかったときは前記第１の再送要求手段を選択することを特徴とする。
【００２３】
本発明に係る通信端末装置においては、前記再送方式選択手段は、復元に失敗したデータブロックの個数および損失した符号語の個数の全組み合わせに対する前記再送要求手段の選択内容を表す関数もしくはテーブルを有することを特徴とする。
【００２４】
本発明に係るデータ再送方法は、配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信する送信装置を備えるマルチキャスト配信システムにおけるデータ再送方法であって、前記送信された符号語をネットワークを介して受信した通信端末装置が、重み１復号法により前記受信した符号語を復号する過程と、前記復号の結果、復元に失敗したデータブロックの中から、前記重み１復号法に係る重みが大きいデータブロックの再送を前記送信装置に要求する第１の再送要求過程とを含むことを特徴とする。
【００２５】
本発明に係るデータ再送方法においては、前記通信端末装置が、復元に失敗した全データブロックの再送を前記送信装置に要求する第２の再送要求過程と、損失した符号語の再送を前記送信装置に要求する第３の再送要求過程と、復元に失敗したデータブロックの割合および損失した符号語の割合に基づき、前記第１から第３の再送要求手段の中からいずれか一つを選択する再送方式選択過程とをさらに含むことを特徴とする。
【００２６】
本発明に係るデータ再送方法においては、前記再送方式選択過程において、前記第２の再送要求手段を選択するために満たすべき条件として、復元に失敗したデータブロックの割合の上限を規定する第１の閾値を有することを特徴とする。
【００２７】
本発明に係るデータ再送方法においては、前記再送方式選択過程において、損失した符号語の割合の高位範囲を規定する第２の閾値と、損失した符号語の割合の下位範囲を規定する第３の閾値とを有し、前記第１の閾値による前記第２の再送要求手段に係る選択条件が満たされなかった場合において、前記第２の閾値が満たされたときは前記第２の再送要求手段を選択し、前記第３の閾値が満たされたときは前記第３の再送要求手段を選択し、前記第２及び第３の双方の閾値ともに満たされなかったときは前記第１の再送要求手段を選択することを特徴とする。
【００２８】
本発明に係るデータ再送方法においては、前記再送方式選択過程において、復元に失敗したデータブロックの個数および損失した符号語の個数の全組み合わせに対する前記再送要求手段の選択内容を表す関数もしくはテーブルを有することを特徴とする。
【発明の効果】
【００２９】
本発明によれば、配信データを所定数のデータブロックに分割し、任意に選択されたデータブロックの組ごとに排他的論理和演算して生成した符号語をマルチキャスト形式で送信するマルチキャスト配信システムにおいて、通信エラー時のデータ再送の効率向上を図ることができる。
【発明を実施するための最良の形態】
【００３０】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は、本発明の一実施形態に係るマルチキャスト配信システムの構成を示すブロック図である。図１において、配信サーバ１１は、排他的論理和（ＸＯＲ）演算のみで構成される符号化法の一つであるＦｏｕｎｔａｉｎ符号化法により配信データを符号化し、得られた符号語を格納したパケットをパケットネットワーク２０を介してマルチキャスト送信する。受信端末１２は、配信サーバ１１からマルチキャスト送信されたパケットをパケットネットワーク２０を介してマルチキャスト受信する。
【００３１】
上記符号化処理では、配信データを所定数のデータブロックに分割し、分割したデータブロックの中から１つもしくは複数個を選択し、この選択した組のデータブロックをＸＯＲ演算した結果を当該組の符号語とする。そして、全データブロックを解とする連立一次方程式が冗長なものとして成立するまで、その符号語生成操作を繰り返し、生成した符号語を送信データとする。また、データブロックの組ごとに、そのＸＯＲ演算結果である符号語を対応付ける冗長な連立一次方程式については、配信サーバ１１と受信端末１２の間で共有する。この連立一次方程式の共有は、各配信サーバ１１および受信端末１２が予め定められた行列式（ＸＯＲ演算を行うデータブロックの組み合わせが示されたテーブル）をそれぞれにメモリに記憶しておくことにより行う。或いは、送信者が送信するパケットごとに、ＸＯＲ演算が行われたデータブロックの組み合わせの情報をヘッダ内に付加する。
【００３２】
パケットネットワーク２０には、パケットのルーティングを行うルータ２１が配置されている。ルータ２１はマルチキャスト転送をサポートしている。
【００３３】
次に、上記した受信端末１２の復号動作を説明する。
図２は、図１に示す受信端末１２が行う復号処理の流れを示すフローチャートである。
図２において、受信端末１２は、マルチキャスト受信したパケットに格納されている符号語を重み１復号法により復号する（ステップＳ１０１、Ｓ１０２）。この復号の結果、復元に失敗したデータブロックが発生した場合（ステップＳ１０３がＮＯ）、受信端末１２は、配信サーバ１１に対して再送要求を送信する。
本実施形態では、以下に示す３つの再送方式１〜３の中からいずれか一つを選択して配信サーバ１１に対する再送要求を行う。
【００３４】
［再送方式１］
復元に失敗した全データブロックの再送を配信サーバ１１に対して要求する。再送対象のデータブロックは、データブロックに付加されているシーケンス番号に基づいて判別する。受信端末１２は、配信サーバ１１に対して、再送対象のデータブロックを該当するシーケンス番号で指定して一つずつ要求する。この要求順序は、シーケンス番号に従ってもよく、或いはランダムであってもよい。配信サーバ１１は、受信した再送要求に応じて再送対象のデータブロックを当該受信端末１２にユニキャスト送信する。
【００３５】
［再送方式２］
受信エラーし損失した符号語の再送を配信サーバ１１に対して要求する。再送対象の符号語は、符号語に付加されているシーケンス番号に基づいて判別する。受信端末１２は、再送対象の符号語の再送要求リストを作成して配信サーバ１１に送信する。該再送要求リストには、再送対象の符号語に該当するシーケンス番号を記載する。配信サーバ１１は、受信した再送要求リストに基づき、再送対象の符号語を当該受信端末１２にユニキャスト送信する。
【００３６】
［再送方式３］
復元に失敗したデータブロックの中から、重みが大きいデータブロックの再送を配信サーバ１１に対して要求する。この重みが大きいデータブロックとは、符号化単位であるデータブロックの組ごとにそのＸＯＲ演算結果である符号語を対応付ける連立一次方程式において、未解答の方程式に含まれる割合が大きいデータブロックを指す。受信端末１２は、配信サーバ１１に対して、重みが大きいものから順番に、データブロックを要求する。一度の要求では、１パケットに格納できる個数分のデータブロックを要求することが効率的であり好ましい。配信サーバ１１は、受信した再送要求に応じて再送対象のデータブロックを当該受信端末１２にユニキャスト送信する。
【００３７】
図２に戻り、受信端末１２は、復元に失敗したデータブロックが発生した場合（ステップＳ１０３がＮＯ）、復元に失敗したデータブロックの割合および受信エラーし損失した符号語の割合に基づき、上記再送方式１〜３の中からいずれか一つを選択する（ステップＳ１０４、Ｓ１０６）。本実施形態では、復元に失敗したデータブロックの割合は、配信データがデータブロックに分割された際の所定の分割数、つまり、データブロックの総数に対する復元に失敗したデータブロックの個数として表す。同様に、損失した符号語の割合は、データブロックの総数に対する損失した符号語の個数として表す。
【００３８】
具体的には、復元に失敗したデータブロックの個数が閾値ａ未満である場合は（ステップＳ１０４がＹＥＳ）、再送方式１を選択し、配信サーバ１１に対して再送要求を行う（ステップＳ１０５）。
復元に失敗したデータブロックの個数が閾値ａ以上である場合場合において（ステップＳ１０４がＮＯ）、損失した符号語の個数Loss_numberが閾値ｂ未満であるときは、再送方式２を選択し、配信サーバ１１に対して再送要求を行う（ステップＳ１０７）。
【００３９】
復元に失敗したデータブロックの個数が閾値ａ以上である場合場合において（ステップＳ１０４がＮＯ）、損失した符号語の個数Loss_numberが閾値ｃ以上であるときは、再送方式１を選択し、配信サーバ１１に対して再送要求を行う（ステップＳ１０５）。
復元に失敗したデータブロックの個数が閾値ａ以上である場合場合において（ステップＳ１０４がＮＯ）、損失した符号語の個数Loss_numberが閾値ｂ以上閾値ｃ以下であるときは、再送方式３を選択し、配信サーバ１１に対して再送要求を行う（ステップＳ１０８）。
【００４０】
次いで、受信端末１２は、その再送要求に対する配信サーバ１１からの応答をユニキャスト受信すると（ステップＳ１０９）、ステップＳ１０２に戻り、該受信した再送データも使用して再度、重み１復号を試みる。上記した再送要求と再復号を全てのデータブロックの復元が完了するまで繰り返す。
【００４１】
図３は、本実施形態に係る復号処理を説明するための概念図である。
図３の例では、送信者Ｓの配信サーバ１１は配信データを３つのデータブロックＡ，Ｂ，Ｃに分割する。そして、データブロックＡ〜Ｃの中から選択したデータブロックの組ごとに、同組内の各データブロックの値のＸＯＲ演算を行い、送信データとなる５つの符号語Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５を生成する。符号語Ｘ１の値はデータブロックＡ，Ｂ，Ｃの各値のＸＯＲ演算結果であり、符号語Ｘ２の値はデータブロックＡ，Ｂの各値のＸＯＲ演算結果であり、符号語Ｘ３の値はデータブロックＣの値に等しく、符号語Ｘ４の値はデータブロックＡ，Ｂの各値のＸＯＲ演算結果であり、符号語Ｘ５の値はデータブロックＡ，Ｃの各値のＸＯＲ演算結果である。
【００４２】
そして、受信者Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５のうち、受信者Ｒ４，Ｒ５はそれぞれの正常受信した符号語からデータブロックＡ，Ｂ，Ｃの全ての復号に成功している。
【００４３】
受信者Ｒ１は、復号に失敗し、再送方式３を選択して、重みが最大のデータブロックＡの再送を要求している。これは、復元できていないデータブロックの割合が大きく（図３の例では全データブロックＡ，Ｂ，Ｃが復元できていない）、且つ、損失した符号語の割合が大きくも小さくもない（図３の例では、５つ中２つが損失）ことから、再送方式３により効率的な再送を試みる。
【００４４】
受信者Ｒ２は、復号に失敗し、再送方式２を選択して、損失した符号語Ｘ３の再送を要求している。これは、復元できていないデータブロックの割合が大きく（図３の例では全データブロックＡ，Ｂ，Ｃが復元できていない）、且つ、損失した符号語の割合が小さい（図３の例では、５つ中１つが損失）ことから、再送方式２により効率的な再送を試みる。
【００４５】
受信者Ｒ３は、復号に失敗し、再送方式１を選択して、復元できていない全データブロックＡ，Ｂの再送を要求している。これは、損失した符号語の割合が大きい（図３の例では、５つ中３つが損失）ことから、再送方式１により効率的な再送を試みる。
【００４６】
上述した実施形態によれば、復元に失敗したデータブロックの割合および受信エラーし損失した符号語の割合に基づき、上記再送方式１〜３の中からいずれか一つを選択するので、受信者の受信状態に応じた再送を行うことができ、通信エラー時のデータ再送の効率向上を図ることが可能となる。
【００４７】
なお、上記再送方式１〜３のうち、再送方式３のみを行うようにしてもよい。常に再送方式３を行うことにより、再送方式１または２のいずれか一方のみを行う従来の再送方法よりも、効率のよいデータ再送を行うことが可能である。
【００４８】
次に、上記した再送方式１〜３の選択判断に使用する閾値ａ，ｂ，ｃを求めるための方法を説明する。
本実施形態では、計算機シミュレーションに基づいて閾値ａ，ｂ，ｃを求める。
【００４９】
先ず、計算機シミュレーションの前提となる（実施環境によって与えられる）パラメータについて説明する。以下に計算機シミュレーションで使用するパラメータを示す。
・配信データ
・マルチキャスト符号化方式（データブロック数ＫとＸＯＲ演算の選び方（choose_XOR_func））
・マルチキャスト復号方式（重み１復号方式）
・マルチキャスト配信符号語数（send_packet）
・消失確率（p）
・受信者数（receiver_number）
・シミュレーション回数（trial_number）
【００５０】
本計算機シミュレーションでは、「receiver_number」人の受信者に対するマルチキャスト配信において、マルチキャスト符号化・復号化方式（ＸＯＲ演算ベース）、配信データ、マルチキャスト配信時間は予め設定される。また、通信の伝送速度は概ね一定と仮定し、マルチキャスト配信時間内に配信可能な符号語（パケット）の数は一定（send_packet）とする。その仮定する伝送速度は、実環境の実験値の平均でもよいし、経験からの推定値としてもよい。
【００５１】
マルチキャスト転送時の符号語（パケット）は平均的に消失確率（p）で消失するものとする（ランダムロス）。消失確率（p）の値は、実環境の実験値の平均でもよいし、経験からの推定値でもよい。また、通信路の消失パターンが数学的にモデリングできる場合は、消失確率（p）を用いずにそのパターンを用いることが好ましい。符号化の一般的なパラメータは、データブロック数ＫとＸＯＲ演算の選び方（choose_XOR_func）である。乱数は一般的な擬似乱数生成器を用いる。計算機シミュレーションの回数（trial_number）は、シミュレーションを行う者が任意に設定する。
【００５２】
次に、計算機シミュレーションの簡単な流れとその測定項目を説明する。
計算機シミュレーションは、以下の測定をシミュレーション回数（trial_number）分繰り返すことにより行う。
上記のパラメータ（シミュレーション回数は除く）を用いてマルチキャスト配信を行ったとき、データの復元に失敗した受信者がいたとする（当該受信者がいない場合は１回分のシミュレーションは終了）。データの復元に失敗したそれぞれの受信者に対して、上記した再送方式１，２，３をそれぞれ用い、以下の４つの測定項目１〜４を組として測定を行う。
・測定項目１；受信者がマルチキャストで復元できていないデータブロックの数（未復元のデータブロック数）
・測定項目２；マルチキャスト配信で損失した符号語の数（損失符号語数）
・測定項目３；使用した再送方式
・測定項目４；当該再送方式によりデータ復元に要した再送回数
データの復元に失敗した全ての受信者に対して上記の測定が終了したときに、シミュレーションは１回分終了する。
上記シミュレーションにより得られた測定結果を用いて、上記閾値ａ，ｂ，ｃを求める。なお、全てのシミュレーションにおいて、データの復号に失敗した受信者が唯一人も発生しなかった場合は、再送方式３のみを使用するようにする。
【００５３】
次に、上記閾値ａ，ｂ，ｃの求め方を詳細に説明する。
先ず、各々の閾値ａ，ｂ，ｃに関して、以下に示すパラメータεa，εb，εcを定める。
・パラメータ決定のε近傍εa、εb、εc≧０
上記パラメータεは、再送方式を選択する際に、送信者の再送量（回数）と受信者の計算量とのトレードオフの関係を定めるパラメータである。例えば「再送量の違いがε程度であるならば、計算量の少ない方の再送方式を使用した方がよい」というような判断を行うための基準を与えるパラメータである。
また、パラメータεは、誤差の許容範囲を定めるパラメータとしても機能する。例えば「なるべく再送方式３を用いるようにするが、ε程度のシミュレーション誤差が加味されたとしても他の再送方式の方がよいと判断されるのであれば、該よい方の再送方式を使用した方がよい」というような判断を行うための基準を与えるパラメータである。
【００５４】
上記パラメータεa，εb，εcの各値は、シミュレーションの実行者、再送方式の設計者、或いは送信者が決定する。例えば、受信者の端末が許容できる計算量と、ネットワークなどによって決まる許容できる再送量とを比較することにより、パラメータεの値を求める。この場合、計算量と再送量をそれぞれ同じコストという基準値に換算して比較し、最適なパラメータを求める。例えば、「（再送量のコスト）＋（計算量のコスト）」が最小となるパラメータεの値を算出する。
【００５５】
次いで、上記シミュレーションにより得られた測定結果を使用して、閾値ａ、閾値ｂ、閾値ｃの順番で、各閾値を求める。図４、図５、図６は、本実施形態に係る閾値ａ、閾値ｂ、閾値ｃを求めるためのシミュレーションにより得られた測定結果の集計例を示すテーブル図である。図４は、再送方式１の平均再送回数の測定結果の集計例を示す。図５は、再送方式２の平均再送回数の測定結果の集計例を示す。図６は、再送方式３の平均再送回数の測定結果の集計例を示す。図４〜図６において、平均は、各々の行もしくは列ごとに、各値の平均値を求めている。なお、図４〜図６に示される各値は、説明の便宜上の値である。
【００５６】
［閾値ａの求め方］
再送方式１に関して、復元に失敗したデータブロック数をパラメータとした平均再送回数を求める。この平均再送回数は、図４の最下段の行に示される平均値に対応している。
また、再送方式２と再送方式３に関して、再送方式２及び３を各々のパラメータ（復元に失敗したデータブロック数（未復元のデータブロック数）と損失した符号語数（損失符号語数））に基づいて再送回数が最小となる再送方式を選択することにより最適に使い分けた場合に、復元に失敗したデータブロック数をパラメータとした平均再送回数を求める。例えば、図５及び図６の結果から、図７に示されるテーブルが作成される。具体的には、図５および図６の各結果を比べて最小値の要素を図７のテーブルの要素とし、平均を再計算する。
【００５７】
次いで、図４と図７の２つの平均再送回数を比較し、図４の再送方式１の平均再送回数が再送方式２、３を組み合わせた図７の再送方式の平均再送回数よりεa未満であることを満足する「復元に失敗したデータブロック数」の中で、最大のデータブロック数を閾値ａに選択する。例えば、「εa＝０．０１」である場合、図８に示されるように閾値ａは「１」となる。但し、データブロック数「１」以上であって再送方式１の平均再送回数が再送方式２、３を組み合わせた再送方式の平均再送回数よりεa未満であることを満足する「復元に失敗したデータブロック数」は存在していないものとする。
【００５８】
［閾値ｂの求め方］
閾値ｂの求め方は、上記した閾値ａの求め方と基本的には同じである。
再送方式２、３に関して、損失した符号語数をパラメータとした平均再送回数をそれぞれ求める。これらの平均再送回数は、それぞれ図５、図６の最右列に示される平均値に対応している。次いで、これらの２つの平均再送回数を比較し、再送方式２の平均再送回数が再送方式３の平均再送回数よりεb未満であることを満足する「損失した符号語数」の中で、最大の符号語数を閾値ｂに選択する。例えば、「εｂ＝０．１」である場合、図５および図６に基づいた図９に示されるように、閾値ｂは「６」となる。但し、「損失した符号語数」が７以上であって再送方式２の平均再送回数が再送方式３の平均再送回数よりεb未満であることを満足する「損失した符号語数」は存在していないとする。
【００５９】
［閾値ｃの求め方］
再送方式１、３に関して、損失した符号語数をパラメータとした平均再送回数をそれぞれ求める。これらの平均再送回数は、それぞれ図４、図６の最右列に示される平均値に対応している。次いで、これらの２つの平均再送回数を比較し、再送方式１の平均再送回数が再送方式３の平均再送回数よりεc以下であることを満足する「損失した符号語数」の中で、最大の符号語数を閾値ｃに選択する。なお、当該条件に合致する閾値cが閾値bより小さければ、閾値cとして閾値ｂの値を用いる。例えば、図５および図６に基づいた図１０に示されるように、閾値ｃは「send_packet −１」となる。但し、「損失した符号語数」が「send_packet −２」以下であって再送方式１の平均再送回数が再送方式３の平均再送回数よりεc以下であることを満足する「損失した符号語数」は存在していないとする。
【００６０】
上述した方法により、閾値ａ，ｂ，ｃを求めることができる。
なお、シミュレーション回数（trial_number）を十分大きくすることにより、閾値ａ，ｂ，ｃを最適化することができる。
また、ε近傍εa、εbは、シミュレーション回数に合わせて適切な値に定める。なお、ε近傍εcは、再送回数または受信側での計算量のいずれを重要視するかに基づいて適切な値を定める。但し、ε近傍εa、εb、εcとして適当な値を定めることが困難な場合には、全ての値を「０」に設定してもよい。
また、マルチキャスト配信符号語数（send_packet）と消失確率（p）は実環境に対して誤差が小さいものを選択する。
【００６１】
図１１は、上記した閾値ａ，ｂ，ｃに基づいた再送方式１，２，３の各選択領域を示す図である。図１１において、「事象が起こらない領域」は、ｋ個のブロック数を復元するためには少なくともｋ個の符号語が必要であることにより、起こりえない領域である。
【００６２】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述した実施形態では、閾値ａ，ｂ，ｃに基づいて再送方式１，２，３を選択するようにしたが、復元に失敗したデータブロック数および損失した符号語数の組ごとに、使用する再送方式が定義された再送方式選択関数もしくは再送方式選択テーブルを予め準備し、受信端末１２が該関数もしくはテーブルに基づいて再送方式１，２，３を選択するようにしてもよい。この場合の受信端末１２が行う復号処理の流れを図１２に示す。
【００６３】
再送方式選択関数もしくは再送方式選択テーブルは、上記した計算機シミュレーションの測定結果を使用して予め作成する。図１３は、再送方式選択テーブル１０１の構成例を示す図である。以下、再送方式選択関数もしくは再送方式選択テーブルの作成方法を説明する。
【００６４】
先ず、上記した計算機シミュレーションの測定結果に基づき、２つのパラメータ（復元に失敗したデータブロック数（未復元のデータブロック数）と損失した符号語数（損失符号語数））の組の全てにおいて、再送方式１，２，３をそれぞれ用いたときの平均再送回数を計算機シミュレーションにより求める。すなわち、ある数のデータブロックが復元できておらず、且つある数の符号語が損失している場合に、ある再送方式を使用すると、平均何回の再送が必要であるのかを再送方式１，２，３ごとに計算する。
【００６５】
次いで、３つの再送方式１〜３の中で最も再送回数の少ない再送方式を、２つのパラメータに係る当該組についての再送方式に選択する。平均再送回数が同一である再送方式が発生した場合には、より数字の少ない再送方式とする。つまり再送方式１を最優先とし、次に再送方式２を優先する。シミュレーションの測定結果の中に２つのパラメータに係るある組が見つからないときは、再送方式３を当該組に対する再送方式に選択する。
【００６６】
上記した再送方法の選択方法により、復元に失敗したデータブロック数の各値（１〜Ｋの範囲）と損失した符号語数の各値（１〜send_packetの範囲）から成る組ごとに、再送方法を選択し、これら選択結果を表す再送方式選択関数もしくは再送方式選択テーブルを作成する。
【００６７】
なお、上述した実施形態においては、再送方式１が第２の再送要求手段に対応し、再送方式２が第３の再送要求手段に対応し、再送方式３が第１の再送要求手段に対応している。
【図面の簡単な説明】
【００６８】
【図１】本発明の一実施形態に係るマルチキャスト配信システムの構成を示すブロック図である。
【図２】図１に示す受信端末１２が行う復号処理の流れを示すフローチャートである。
【図３】本発明の一実施形態に係る復号処理を説明するための概念図である。
【図４】本発明の一実施形態に係る閾値ａ、閾値ｂ、閾値ｃを求めるためのシミュレーションにより得られた測定結果の集計例を示す第１のテーブル図である。
【図５】本発明の一実施形態に係る閾値ａ、閾値ｂ、閾値ｃを求めるためのシミュレーションにより得られた測定結果の集計例を示す第２のテーブル図である。
【図６】本発明の一実施形態に係る閾値ａ、閾値ｂ、閾値ｃを求めるためのシミュレーションにより得られた測定結果の集計例を示す第３のテーブル図である。
【図７】本発明の一実施形態に係る閾値ａの求め方を説明するための第１の説明図である。
【図８】本発明の一実施形態に係る閾値ａの求め方を説明するための第２の説明図である。
【図９】本発明の一実施形態に係る閾値ｂの求め方を説明するための第２の説明図である。
【図１０】本発明の一実施形態に係る閾値ｃの求め方を説明するための第２の説明図である。
【図１１】本発明の一実施形態に係る閾値ａ，ｂ，ｃに基づいた再送方式１，２，３の各選択領域を示す図である。
【図１２】図１に示す受信端末１２が行う他の実施形態に係る復号処理の流れを示すフローチャートである。
【図１３】同実施形態に係る再送方式選択テーブル１０１の構成例を示す図である。
【図１４】本発明に係る重み１復号法を説明するための第１の概念図である。
【図１５】本発明に係る重み１復号法を説明するための第２の概念図である。
【符号の説明】
【００６９】
１１…配信サーバ、１２…受信端末（通信端末装置）、２０…パケットネットワーク、２１…ルータ、１０１…再送方式選択テーブル。
【図１】
2006108812.tif 000003
【図２】
2006108812.tif 000004
【図３】
2006108812.tif 000005
【図４】
2006108812.tif 000006
【図５】
2006108812.tif 000007
【図６】
2006108812.tif 000008
【図７】
2006108812.tif 000009
【図８】
2006108812.tif 000010
【図９】
2006108812.tif 000011
【図１０】
2006108812.tif 000012
【図１１】
2006108812.tif 000013
【図１２】
2006108812.tif 000014
【図１３】
2006108812.tif 000015
【図１４】
2006108812.tif 000016
【図１５】
2006108812.tif 000017