(57)【要約】【課題】  ストリーム速度およびネットワーク品質が異なる場合に、回路規模・ソフトウェアコード量を増大させることなく、冗長度および遅延時間を制御することを目的とする。【解決手段】  誤り訂正符号化装置において、誤り訂正符号化演算の対象となる情報パケットを情報パケット要素に分割し、情報パケット要素を所定の行数だけ行要素とするマトリックスを生成し、マトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い検査パケット要素を生成し、情報パケット要素を用いて少なくとも１つの情報パケットを生成し、検査パケット要素を用いて少なくとも１つの検査パケットを生成し、情報パケットおよび検査パケットを別個に送信するように構成する。【選択図】          図１
2005136719.tif 000002
【特許請求の範囲】
【請求項１】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、
誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割する手段と、
前記情報パケット要素を所定の行数だけ行要素とするマトリックスを生成する手段と、
前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を生成する手段と、
前記情報パケット要素を用いて少なくとも１つの情報パケットを生成する手段と、
前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成する手段と、
前記情報パケットおよび前記検査パケットを別個に送信する手段と、
を備えたことを特徴とする誤り訂正符号化装置。
【請求項２】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、
受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、
前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割する手段と、
前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成する手段と、
前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する手段と、
前記マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、
を備えたことを特徴とする誤り訂正復号化装置。
【請求項３】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、
行数が一定であり、誤り訂正符号化演算の対象となる情報パケットを所定の行数未満だけ行要素とするマトリックスを生成する手段と、
前記生成したマトリックスにおいて前記情報パケットが行要素となっていない行をパディングする手段と、
前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、所定の数の検査パケットを生成する手段と、
前記情報パケットを用いて少なくとも１つの情報パケットを生成する手段と、
前記生成された検査パケットを用いて少なくとも１つの検査パケットを生成する手段と、
前記情報パケットおよび前記検査パケットを別個に送信する手段と、
を備えたことを特徴とする誤り訂正符号化装置。
【請求項４】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、
受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、
前記分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを生成する手段と、  前記生成したマトリックスにおいて前記情報パケットおよび検査パケットが行要素となっていない行をパディングする手段と、
前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成する手段と、
前記マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、
を備えたことを特徴とする誤り訂正復号化装置。
【請求項５】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、
誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割する手段と、
行数が一定であり、前記情報パケット要素を所定の行数未満だけ行要素とするマトリックスを生成する手段と、
前記生成したマトリックスにおいて前記情報パケット要素が行要素となっていない行をパディングする手段と、
前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を所定の数だけ生成する手段と、
前記情報パケット要素を用いて少なくとも１つの情報パケットを生成する手段と、
前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成する手段と、
前記情報パケットおよび前記検査パケットを別個に送信する手段と、
を備えたことを特徴とする誤り訂正符号化装置。
【請求項６】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、
受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、
前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割する手段と、
前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成する手段と、
前記生成したマトリックスにおいて前記情報パケット要素および検査パケット要素が行要素となっていない行をパディングする手段と、
前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する手段と、
前記マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、
を備えたことを特徴とする誤り訂正復号化装置。
【請求項７】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、
誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割する手段と、
前記情報パケット要素を所定の行数だけ行要素とするマトリックスを複数生成する手段と、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を複数生成する手段と、
前記情報パケット要素を用いて少なくとも１つの情報パケットを生成する手段と、
前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成する手段と、
前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信する手段と、
を備えたことを特徴とする誤り訂正符号化装置。
【請求項８】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、
複数のマトリックスについての受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、
前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットの部分である検査パケット要素に分割する手段と、
前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成する手段と、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を各マトリックスにおいて生成する手段と、
前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、
を備えたことを特徴とする誤り訂正復号化装置。
【請求項９】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、
行数が一定であり、誤り訂正符号化演算の対象となる情報パケットを所定の行数未満だけ行要素とするマトリックスを複数生成する手段と、
前記生成した複数のマトリックスにおいて前記情報パケットが行要素となっていない行をそれぞれパディングする手段と、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、各マトリックスについて所定の数の検査パケットを生成する手段と、
前記情報パケットを用いて少なくとも１つの情報パケットを生成する手段と、
前記生成された検査パケットを用いて少なくとも１つの検査パケットを生成する手段と、
前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信する手段と、
を備えたことを特徴とする誤り訂正符号化装置。
【請求項１０】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、
複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、
前記分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを複数生成する手段と、
前記生成した複数のマトリックスにおいて前記情報パケットおよび検査パケットが行要素となっていない行をそれぞれパディングする手段と、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成する手段と、
前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、
を備えたことを特徴とする誤り訂正復号化装置。
【請求項１１】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、
誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割する手段と、
行数が一定であり、前記情報パケット要素を所定の行数未満だけ行要素とするマトリックスを複数生成する手段と、
前記生成した複数マトリックスにおいて前記情報パケット要素が行要素となっていない行をそれぞれパディングする手段と、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を所定の数だけ生成する手段と、
前記情報パケット要素を用いて少なくとも１つの情報パケットを生成する手段と、
前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成する手段と、
前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信する手段と、
を備えたことを特徴とする誤り訂正符号化装置。
【請求項１２】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、
複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、
前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットの部分である検査パケット要素に分割する手段と、
前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成する手段と、
前記生成した複数のマトリックスにおいて前記情報パケット要素および検査パケット要素が行要素となっていない行をそれぞれパディングする手段と、
前記生成されたマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する手段と、
前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、
を備えたことを特徴とする誤り訂正復号化装置。
【請求項１３】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、
誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割するステップと、
前記情報パケット要素を所定の行数だけ行要素とするマトリックスを生成するステップと、
前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を生成するステップと、
前記情報パケット要素を用いて少なくとも１つの情報パケットを生成するステップと、
前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成するステップと、
前記情報パケットおよび前記検査パケットを別個に送信するステップと、
を実行させることを特徴とする誤り訂正符号化プログラム。
【請求項１４】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、
受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、
前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割するステップと、
前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成するステップと、
前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成するステップと、
前記マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、
を実行させることを特徴とする誤り訂正復号化プログラム。
【請求項１５】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、
行数が一定であり、誤り訂正符号化演算の対象となる情報パケットを所定の行数未満だけ行要素とするマトリックスを生成するステップと、
前記生成したマトリックスにおいて前記情報パケットが行要素となっていない行をパディングするステップと、
前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、所定の数の検査パケットを生成するステップと、
前記情報パケットを用いて少なくとも１つの情報パケットを生成するステップと、
前記生成された検査パケットを用いて少なくとも１つの検査パケットを生成するステップと、
前記情報パケットおよび前記検査パケットを別個に送信するステップと、
を実行させることを特徴とする誤り訂正符号化プログラム。
【請求項１６】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、
受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、
前記分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを生成するステップと、
前記生成したマトリックスにおいて前記情報パケットおよび検査パケットが行要素となっていない行をパディングするステップと、
前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成するステップと、
前記マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、
を実行させることを特徴とする誤り訂正復号化プログラム。
【請求項１７】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、
誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割するステップと、
行数が一定であり、前記情報パケット要素を所定の行数未満だけ行要素とするマトリックスを生成するステップと、
前記生成したマトリックスにおいて前記情報パケット要素が行要素となっていない行をパディングするステップと、
前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を所定の数だけ生成するステップと、
前記情報パケット要素を用いて少なくとも１つの情報パケットを生成するステップと、
前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成するステップと、
前記情報パケットおよび前記検査パケットを別個に送信するステップと、
を実行させることを特徴とする誤り訂正符号化プログラム。
【請求項１８】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、
受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、
前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割するステップと、
前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成するステップと、
前記生成したマトリックスにおいて前記情報パケット要素および検査パケット要素が行要素となっていない行をパディングするステップと、
前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成するステップと、
前記マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、
を実行させることを特徴とする誤り訂正復号化プログラム。
【請求項１９】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、
誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割するステップと、
前記情報パケット要素を所定の行数だけ行要素とするマトリックスを複数生成するステップと、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を複数生成するステップと、
前記情報パケット要素を用いて少なくとも１つの情報パケットを生成するステップと、
前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成するステップと、
前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信するステップと、
を実行させることを特徴とする誤り訂正符号化プログラム。
【請求項２０】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、
複数のマトリックスについての受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、
前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットの部分である検査パケット要素に分割するステップと、
前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成するステップと、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を各マトリックスにおいて生成するステップと、
前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、
を実行させることを特徴とする誤り訂正復号化プログラム。
【請求項２１】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、
行数が一定であり、誤り訂正符号化演算の対象となる情報パケットを所定の行数未満だけ行要素とするマトリックスを複数生成するステップと、
前記生成した複数のマトリックスにおいて前記情報パケットが行要素となっていない行をそれぞれパディングするステップと、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、各マトリックスについて所定の数の検査パケットを生成するステップと、
前記情報パケットを用いて少なくとも１つの情報パケットを生成するステップと、
前記生成された検査パケットを用いて少なくとも１つの検査パケットを生成するステップと、
前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信するステップと、
を実行させることを特徴とする誤り訂正符号化プログラム。
【請求項２２】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、
複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、
前記分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを複数生成するステップと、
前記生成した複数のマトリックスにおいて前記情報パケットおよび検査パケットが行要素となっていない行をそれぞれパディングするステップと、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成するステップと、
前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、
を実行させることを特徴とする誤り訂正復号化プログラム。
【請求項２３】
パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、
誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割するステップと、
行数が一定であり、前記情報パケット要素を所定の行数未満だけ行要素とするマトリックスを複数生成するステップと、
前記生成した複数マトリックスにおいて前記情報パケット要素が行要素となっていない行をそれぞれパディングするステップと、
前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を所定の数だけ生成するステップと、
前記情報パケット要素を用いて少なくとも１つの情報パケットを生成するステップと、
前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成するステップと、
前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信するステップと、
を実行させることを特徴とする誤り訂正符号化プログラム。
【請求項２４】
パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、
複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、
前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットの部分である検査パケット要素に分割するステップと、
前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成するステップと、
前記生成した複数のマトリックスにおいて前記情報パケット要素および検査パケット要素が行要素となっていない行をそれぞれパディングするステップと、
前記生成されたマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成するステップと、
前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、
を実行させることを特徴とする誤り訂正復号化プログラム。
【請求項２５】
請求項１３、請求項１５、請求項１７、請求項１９、請求項２１、または請求項２３に記載の誤り訂正符号化プログラム、あるいは、請求項１４、請求項１６、請求項１８、請求項２０、請求項２２、または請求項２４に記載の誤り訂正復号化プログラム、を記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等を使用したパケット通信方法において、エンド・ツー・エンドで信頼性のある通信を行う技術に関する。
【背景技術】
【０００２】
インターネットでは、ベストエフォートのプロトコルであるＩＰが採用されているが、ポイント・ツー・ポイントの通信を行う場合は、このＩＰの上位プロトコルとして、再送制御を行うことによって通信の信頼性を高めるＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が採用されるのが一般的である。他方、複数のノードに対して同一データを送信するマルチキャストを行う場合には、ＩＰの上位プロトコルとして、品質を確保しないＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）が採用されるのが一般的である。
【０００３】
ところが、近年、マルチキャストを使った通信ニーズの高まりに伴って、マルチキャストを行う場合においても通信の信頼性を高めるべく、いわゆるリライアブルマルチキャスト（Ｒｅｌｉａｂｌｅ  Ｍｕｌｔｉｃａｓｔ：誤りのないマルチキャスト）の開発が進められている。このリライアブルマルチキャストの開発は、具体的には、再送制御を行う方式と誤り訂正符号を付加する方式（ＦＥＣ：Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）とにおいて進められている。
【０００４】
この再送制御を行う方式としては、受信したことを返答するＡｃｋ方式と受信できなかったことを返答するＮａｃｋ方式の２方式が考えられている。
【０００５】
また、誤り訂正符号を付加する方式は、ＲＦＣ２７３３（Ａｎ  ＲＴＰ  Ｐａｙｌｏａｄ  Ｆｏｒｍａｔ  ｆｏｒ  Ｇｅｎｅｒｉｃ  Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）や特許文献１などで規定されている。
【０００６】
この特許文献１には、パケット通信でのＦＥＣ方式の例として、複数のＡＴＭセルに対してリード・ソロモン符号（以下、ＲＳ符号）を用いた誤り訂正セルを付加する通信方法が開示されている。この方法は、図８に示すように、データ用セル（パケット）と、コード用セル（パケット）とにセル（パケット）を分け、ある一定数のセル廃棄（パケット廃棄）に対して誤り訂正が可能な方式である。この方式は、セルをパケットに置き換えればそのままＩＰ通信においても適用可能である。すなわち、ＩＰパケットは可変長であるため、パケット長が異なることが考えられるが、その場合は、ＦＥＣ対象パケットの中で最も長いパケットに合わせるため、その他の短いパケットに０を加えるなどのパディング処理を行い、すべてのパケットの長さを合わることによって、ＩＰ通信にも適用できる。
【０００７】
ところで、ネットワークの品質の違いにより、同じストリームであっても、冗長度や符号化方式を変化させるのが望ましい。また、同じネットワーク品質であっても、ストリーム速度を異にする異なるストリームである場合、遅延時間を考慮すると冗長度や符号化方式を変化させることが望ましい。
【０００８】
そこで、従来、冗長度を変化させるための一方法が提案された（特許文献２参照）。
【０００９】
この特許文献２の方法は、ＦＥＣ符号化側で情報データに対して、生成多項式の根を代入してシンドローム値を計算し、その値を「送信側のシンドローム値」として情報データとともに同時に送信する方式である。たとえばＲＳ符号で説明すると、生成多項式Ｇ（Ｘ）の根を情報データに対して代入する計算を行うことになる。冗長度の変化は、計算数（すなわち、代入する生成多項式の根の個数）を調整することで可能となる。
【特許文献１】特開平８−１８６５７０号公報（ＡＴＭ網における誤り制御方法）
【特許文献２】特開平１１−１３６２２０号公報（符号伝送方法、送信装置、受信装置および通信システム）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献２に記載の方式では、冗長度や符号化方式を変化させるためには、異なる符号化計算処理を行わなければならない。
【００１１】
したがって、特許文献２に記載の方式では、たとえば、ＲＳ符号では、異なる生成多項式での除算が必要となり、ハードウェアにおいては、冗長度の異なる設定ごとに回路が必要となる。また、ソフトウェアでも、それぞれについて別々のプログラムを作成しなければならないことになる。
【００１２】
よって、特許文献２に記載の方式では、遅延時間を考慮して冗長度や符号化方式を変化させるためには、回路規模やソフトウェア規模を増大しなければならないという問題があった。
【００１３】
そこで、本発明は、かかる事情に鑑み、ストリーム速度およびネットワーク品質が異なる場合に、回路規模・ソフトウェアコード量を増大させることなく、冗長度および遅延時間を制御できる、誤り訂正符号化装置、誤り訂正復号化装置、誤り訂正符号化プログラム、誤り訂正復号化プログラム、誤り訂正符号化プログラムまたは誤り訂正復号化プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明によれば、上記課題は、次の手段によって、解決される。
【００１５】
第１の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割する手段と、前記情報パケット要素を所定の行数だけ行要素とするマトリックスを生成する手段と、前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を生成する手段と、前記情報パケット要素を用いて少なくとも１つの情報パケットを生成する手段と、前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成する手段と、前記情報パケットおよび前記検査パケットを別個に送信する手段と、を備えたことを特徴とする誤り訂正符号化装置である。
【００１６】
第２の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割する手段と、前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成する手段と、前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する手段と、前記マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、を備えたことを特徴とする誤り訂正復号化装置である。
【００１７】
第３の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、行数が一定であり、誤り訂正符号化演算の対象となる情報パケットを所定の行数未満だけ行要素とするマトリックスを生成する手段と、前記生成したマトリックスにおいて前記情報パケットが行要素となっていない行をパディングする手段と、前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、所定の数の検査パケットを生成する手段と、前記情報パケットを用いて少なくとも１つの情報パケットを生成する手段と、前記生成された検査パケットを用いて少なくとも１つの検査パケットを生成する手段と、前記情報パケットおよび前記検査パケットを別個に送信する手段と、を備えたことを特徴とする誤り訂正符号化装置である。
【００１８】
第４の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、前記分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを生成する手段と、前記生成したマトリックスにおいて前記情報パケットおよび検査パケットが行要素となっていない行をパディングする手段と、前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成する手段と、前記マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、を備えたことを特徴とする誤り訂正復号化装置である。
【００１９】
第５の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割する手段と、行数が一定であり、前記情報パケット要素を所定の行数未満だけ行要素とするマトリックスを生成する手段と、前記生成したマトリックスにおいて前記情報パケット要素が行要素となっていない行をパディングする手段と、前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を所定の数だけ生成する手段と、前記情報パケット要素を用いて少なくとも１つの情報パケットを生成する手段と、前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成する手段と、前記情報パケットおよび前記検査パケットを別個に送信する手段と、を備えたことを特徴とする誤り訂正符号化装置である。
【００２０】
第６の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割する手段と、前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成する手段と、前記生成したマトリックスにおいて前記情報パケット要素および検査パケット要素が行要素となっていない行をパディングする手段と、前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する手段と、前記マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、を備えたことを特徴とする誤り訂正復号化装置である。
【００２１】
第７の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割する手段と、前記情報パケット要素を所定の行数だけ行要素とするマトリックスを複数生成する手段と、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を複数生成する手段と、前記情報パケット要素を用いて少なくとも１つの情報パケットを生成する手段と、前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成する手段と、前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信する手段と、を備えたことを特徴とする誤り訂正符号化装置である。
【００２２】
第８の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、複数のマトリックスについての受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットの部分である検査パケット要素に分割する手段と、前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成する手段と、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を各マトリックスにおいて生成する手段と、前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、を備えたことを特徴とする誤り訂正復号化装置である。
【００２３】
第９の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、行数が一定であり、誤り訂正符号化演算の対象となる情報パケットを所定の行数未満だけ行要素とするマトリックスを複数生成する手段と、前記生成した複数のマトリックスにおいて前記情報パケットが行要素となっていない行をそれぞれパディングする手段と、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、各マトリックスについて所定の数の検査パケットを生成する手段と、前記情報パケットを用いて少なくとも１つの情報パケットを生成する手段と、前記生成された検査パケットを用いて少なくとも１つの検査パケットを生成する手段と、前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信する手段と、を備えたことを特徴とする誤り訂正符号化装置である。
【００２４】
第１０の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、前記分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを複数生成する手段と、前記生成した複数のマトリックスにおいて前記情報パケットおよび検査パケットが行要素となっていない行をそれぞれパディングする手段と、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成する手段と、前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、を備えたことを特徴とする誤り訂正復号化装置である。
【００２５】
第１１の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置において、誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割する手段と、行数が一定であり、前記情報パケット要素を所定の行数未満だけ行要素とするマトリックスを複数生成する手段と、前記生成した複数マトリックスにおいて前記情報パケット要素が行要素となっていない行をそれぞれパディングする手段と、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を所定の数だけ生成する手段と、前記情報パケット要素を用いて少なくとも１つの情報パケットを生成する手段と、前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成する手段と、前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信する手段と、を備えたことを特徴とする誤り訂正符号化装置である。
【００２６】
第１２の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置において、複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する手段と、前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットの部分である検査パケット要素に分割する手段と、前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成する手段と、前記生成した複数のマトリックスにおいて前記情報パケット要素および検査パケット要素が行要素となっていない行をそれぞれパディングする手段と、前記生成されたマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する手段と、前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成する手段と、を備えたことを特徴とする誤り訂正復号化装置である。
【００２７】
第１３の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割するステップと、前記情報パケット要素を所定の行数だけ行要素とするマトリックスを生成するステップと、前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を生成するステップと、前記情報パケット要素を用いて少なくとも１つの情報パケットを生成するステップと、前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成するステップと、前記情報パケットおよび前記検査パケットを別個に送信するステップと、を実行させることを特徴とする誤り訂正符号化プログラムである。
【００２８】
第１４の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割するステップと、前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成するステップと、前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成するステップと、前記マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、を実行させることを特徴とする誤り訂正復号化プログラムである。
【００２９】
第１５の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、行数が一定であり、誤り訂正符号化演算の対象となる情報パケットを所定の行数未満だけ行要素とするマトリックスを生成するステップと、前記生成したマトリックスにおいて前記情報パケットが行要素となっていない行をパディングするステップと、前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、所定の数の検査パケットを生成するステップと、前記情報パケットを用いて少なくとも１つの情報パケットを生成するステップと、前記生成された検査パケットを用いて少なくとも１つの検査パケットを生成するステップと、前記情報パケットおよび前記検査パケットを別個に送信するステップと、を実行させることを特徴とする誤り訂正符号化プログラムである。
【００３０】
第１６の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、前記分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを生成するステップと、前記生成したマトリックスにおいて前記情報パケットおよび検査パケットが行要素となっていない行をパディングするステップと、前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成するステップと、前記マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、を実行させることを特徴とする誤り訂正復号化プログラムである。
【００３１】
第１７の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割するステップと、行数が一定であり、前記情報パケット要素を所定の行数未満だけ行要素とするマトリックスを生成するステップと、前記生成したマトリックスにおいて前記情報パケット要素が行要素となっていない行をパディングするステップと、前記生成されたマトリックスの列方向に誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を所定の数だけ生成するステップと、前記情報パケット要素を用いて少なくとも１つの情報パケットを生成するステップと、前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成するステップと、前記情報パケットおよび前記検査パケットを別個に送信するステップと、を実行させることを特徴とする誤り訂正符号化プログラムである。
【００３２】
第１８の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割するステップと、前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成するステップと、前記生成したマトリックスにおいて前記情報パケット要素および検査パケット要素が行要素となっていない行をパディングするステップと、前記生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成するステップと、前記マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、を実行させることを特徴とする誤り訂正復号化プログラムである。
【００３３】
第１９の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割するステップと、前記情報パケット要素を所定の行数だけ行要素とするマトリックスを複数生成するステップと、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を複数生成するステップと、前記情報パケット要素を用いて少なくとも１つの情報パケットを生成するステップと、前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成するステップと、前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信するステップと、を実行させることを特徴とする誤り訂正符号化プログラムである。
【００３４】
第２０の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、複数のマトリックスについての受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットの部分である検査パケット要素に分割するステップと、前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成するステップと、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を各マトリックスにおいて生成するステップと、前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、を実行させることを特徴とする誤り訂正復号化プログラムである。
【００３５】
第２１の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、行数が一定であり、誤り訂正符号化演算の対象となる情報パケットを所定の行数未満だけ行要素とするマトリックスを複数生成するステップと、前記生成した複数のマトリックスにおいて前記情報パケットが行要素となっていない行をそれぞれパディングするステップと、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、各マトリックスについて所定の数の検査パケットを生成するステップと、前記情報パケットを用いて少なくとも１つの情報パケットを生成するステップと、前記生成された検査パケットを用いて少なくとも１つの検査パケットを生成するステップと、前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信するステップと、を実行させることを特徴とする誤り訂正符号化プログラムである。
【００３６】
第２２の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、前記分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを複数生成するステップと、前記生成した複数のマトリックスにおいて前記情報パケットおよび検査パケットが行要素となっていない行をそれぞれパディングするステップと、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成するステップと、前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、を実行させることを特徴とする誤り訂正復号化プログラムである。
【００３７】
第２３の発明は、パケット通信において、ブロック符号により誤り訂正符号化を行う誤り訂正符号化装置に、誤り訂正符号化演算の対象となる情報パケットを前記情報パケットの部分である情報パケット要素に分割するステップと、行数が一定であり、前記情報パケット要素を所定の行数未満だけ行要素とするマトリックスを複数生成するステップと、前記生成した複数マトリックスにおいて前記情報パケット要素が行要素となっていない行をそれぞれパディングするステップと、前記生成された複数のマトリックスの列方向にそれぞれ誤り訂正符号化演算を列数分繰り返し行い、検査パケットの部分である検査パケット要素を所定の数だけ生成するステップと、前記情報パケット要素を用いて少なくとも１つの情報パケットを生成するステップと、前記生成された検査パケット要素を用いて少なくとも１つの検査パケットを生成するステップと、前記複数のマトリックスのそれぞれに基づく情報パケットおよび検査パケットを、マトリックスごとに交互に送信するステップと、を実行させることを特徴とする誤り訂正符号化プログラムである。
【００３８】
第２４の発明は、パケット通信において、ブロック符号により誤り訂正符号化が行われたデータ列の誤り訂正復号化が可能な誤り訂正復号化装置に、複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離するステップと、前記分離された情報パケットを前記情報パケットの部分である情報パケット要素に分割し、前記分離された検査パケットの部分である検査パケット要素に分割するステップと、前記分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成するステップと、前記生成した複数のマトリックスにおいて前記情報パケット要素および検査パケット要素が行要素となっていない行をそれぞれパディングするステップと、前記生成されたマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成するステップと、前記各マトリックスの行要素を用いて１つまたは複数のパケットを生成するステップと、を実行させることを特徴とする誤り訂正復号化プログラムである。
【００３９】
第２５の発明は、第１３の発明、第１５の発明、第１７の発明、第１９の発明、第２１の発明、または第２３の発明に係る誤り訂正符号化プログラム、あるいは、第１４の発明、第１６の発明、第１８の発明、第２０の発明、第２２の発明、または第２４の発明に係る誤り訂正復号化プログラム、を記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００４０】
以上説明したように、本発明によれば、ストリーム速度およびネットワーク品質が異なる場合に、回路規模・ソフトウェアコード量を増大させることなく、冗長度および遅延時間を制御できる。
【発明を実施するための最良の形態】
【００４１】
以下に、添付した図面を参照しつつ、本発明を実施するための最良の形態にについて説明する。
【００４２】
本発明の実施の形態は、誤り訂正符号のうちのブロック符号に適用できる方式であるが、このブロック符号では、誤り訂正符号化演算（以下、ＦＥＣ演算という。）を行う対象であるデータ列やビット列と、これらデータ列やビット列にＦＥＣ演算を施して生成されるデータ列やビット列と、が別個に生成される。ここで、本明細書においては、ＦＥＣ演算を行う対象であるデータ列やビット列を情報データ、ＦＥＣ演算によって生成されるデータ列やビット列を検査データと呼ぶ。そして、この情報データと検査データとを合わせたデータ列やビット列を符号化データと呼ぶ。また、冗長度は、検査データを符号化データで除算した値とする。巡回符号で例を以下に示す。
【００４３】
情報データ：１００
検査データ：１０１１
符号化データ：１００  １０１１
冗長度：約０．５７
さらに、本明細書においては、情報データをパケット化したものを情報パケットと呼び、検査データをパケット化したものを検査パケットという。そして、情報パケットの部分を情報パケット要素と呼び、検査パケットの部分を検査パケット要素と呼ぶ。
【００４４】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る誤り訂正符号化装置を説明する図である。
【００４５】
まず、第１の実施の形態に係る誤り訂正符号化装置は、情報パケットを複数の情報パケット要素に分割する（パケット分割）。
【００４６】
つぎに、第１の実施の形態に係る誤り訂正符号化装置は、この複数の情報パケット用を行要素とするマトリックスを生成する（マトリックス生成）。ここで、行要素とは、マトリックスにおける１つの行を構成するデータをいう。
【００４７】
そして、第１の実施の形態に係る誤り訂正符号化装置は、このパケット分割とマトリックス生成を、あらかじめ設定された行数のマトリックスが完成されるまで繰り返す。
【００４８】
たとえば、あらかじめ設定された行数が８行である場合、第１の実施の形態に係る誤り訂正符号化装置は、まず、情報パケットＡを４つの情報パケット要素（１、２、３、４）に分割し、情報パケット要素１を１行目の行要素、情報パケット要素２を２行目の行要素、情報パケット要素３を３行目の行要素、情報パケット要素４を４行目の行要素とする。そして、第１の実施の形態に係る誤り訂正符号化装置は、情報パケットＢを４つの情報パケット要素（５、６、７、８）に分割し、情報パケット要素５を５行目の行要素、情報パケット要素６を６行目の行要素、情報パケット要素７を７行目の行要素、情報パケット要素８を８行目の行要素とする。マトリックスの行要素が８つになって８行のマトリックスが完成したので、第１の実施の形態に係る誤り訂正符号化装置は、パケット分割およびマトリックス生成を終了する。
【００４９】
つぎに、第１の実施の形態に係る誤り訂正符号化装置は、完成されたマトリックスの列要素について列方向に列数だけＦＥＣ演算を行い（ＦＥＣ演算）、検査パケット要素を生成する（符号化データ完成）。ここで、列要素とは、マトリックスにおける１つの列を構成するデータである。
【００５０】
つぎに、第１の実施の形態に係る誤り訂正符号化装置は、情報パケット要素および検査パケット要素を用いて１つまたは複数の送信パケットを生成する（送信パケット生成）。なお、第１の実施の形態に係る誤り訂正符号化装置は、情報パケット要素と検査パケット要素とが別々の送信パケットを構成するように送信パケット生成を行う。たとえば、上記の例で言えば、第１の実施の形態に係る誤り訂正符号化装置は、情報パケット要素である１行目〜８行目の行要素と検査パケット要素である９行目、１０行目の行要素とが、同一のパケットを構成しないように送信パケット生成を行う。
【００５１】
そして、第１の実施の形態に係る誤り訂正符号化装置は、送信パケットを送信する。
【００５２】
以上説明した第１の実施の形態に係る誤り訂正符号化装置によれば、パケット分割が行われるため、例えばネットワーク品質やストリーム速度が異なる場合にも、冗長度の変化および遅延時間の変化を制御できる。
【００５３】
なお、パケット分割は、パケットを等分割するものであってもよいし、パケットを不等分割するものであってもよいし、あらかじめ規定した規則に従って分割するものであってもよい。パケットを不等分割する場合の例を図２に示す。
【００５４】
なお、第１の実施の形態に係る誤り訂正復号化装置から送信された送信パケットを受信した第１の実施の形態に係る誤り訂正復号化装置は、次のようにして誤り訂正復号を行う。
【００５５】
まず、第１の実施の形態に係る誤り訂正復号化装置は、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する。
【００５６】
つぎに、第１の実施の形態に係る誤り訂正復号化装置は、分離された情報パケットを情報パケットの部分である情報パケット要素に分割し、分離された検査パケットを前記検査パケットの部分である検査パケット要素に分割する。
【００５７】
つぎに、第１の実施の形態に係る誤り訂正復号化装置は、分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成する。
【００５８】
つぎに、第１の実施の形態に係る誤り訂正復号化装置は、生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する。
【００５９】
そして、第１の実施の形態に係る誤り訂正復号化装置は、マトリックスの行要素を用いて１つまたは複数のパケットを生成する。
【００６０】
［第２の実施の形態］
図３は、本発明の第２の実施の形態に係る誤り訂正符号化装置を説明する図である。
【００６１】
この第２の実施の形態においては、マトリックスの列数があらかじめ定められている。
【００６２】
まず、第２の実施の形態に係る誤り訂正符号化装置は、複数の情報パケットを各行要素とするマトリックスを生成する（マトリックス生成）。ここで、情報パケットが行要素とされる行数は、マトリックスの全行数未満とする。たとえば、情報パケットが１０個である場合、マトリックス生成に使用する情報パケットを９以下とする。
【００６３】
つぎに、第２の実施の形態に係る誤り訂正符号化装置は、情報パケットで埋められていない残りの行要素をパディングする（パディング処理）。
【００６４】
つぎに、第２の実施の形態に係る誤り訂正符号化装置は、マトリックスの列要素について列方向に列数だけＦＥＣ演算を行い（ＦＥＣ演算）、検査パケットを生成する（符号データ完成）。
【００６５】
つぎに、第２の実施の形態に係る誤り訂正符号化装置は、情報パケットおよび検査パケットを用いて１つまたは複数の送信パケットを生成する（送信パケット生成）。ただし、パディング行は、送信パケットの生成に用いない。なお、情報パケットと検査パケットとが別々の送信パケットを構成するように送信パケット生成を行う点は、第１の実施の形態の場合と同様である。
【００６６】
そして、第２の実施の形態に係る誤り訂正符号化装置は、送信パケットを送信する。
【００６７】
以上説明した第２の実施の形態に係る誤り訂正符号化装置によれば、パディング処理が行われるため、情報データと検査データとが固定されていても、ネットワーク品質やストリーム速度が異なることに基づく冗長度の変化および遅延時間の変化を制御できる。
【００６８】
なお、第２の実施の形態に係る誤り訂正符号化装置から送信された送信パケットを受信した第２の実施の形態に係る誤り訂正復号化装置は、次のようにして、誤り訂正復号を行う。
【００６９】
まず、第２の実施の形態に係る誤り訂正復号化装置は、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する。
【００７０】
つぎに、第２の実施の形態に係る誤り訂正復号化装置は、分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを生成する。
【００７１】
つぎに、第２の実施の形態に係る誤り訂正復号化装置は、生成したマトリックスにおいて情報パケットおよび検査パケットが行要素となっていない行をパディングする。
【００７２】
つぎに、第２の実施の形態に係る誤り訂正復号化装置は、生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成する。
【００７３】
そして、第２の実施の形態に係る誤り訂正復号化装置は、マトリックスの行要素を用いて１つまたは複数のパケットを生成する。
【００７４】
［第３の実施の形態］
つぎに、第３の実施の形態に係る誤り訂正符号化装置について説明する。第３の実施の形態は、第１の実施の形態と第２の実施の形態とを組み合わせたものである。
【００７５】
まず、第３の実施の形態に係る誤り訂正符号化装置は、情報パケットを複数の情報パケット要素に分割する（パケット分割）。
【００７６】
つぎに、第３の実施の形態に係る誤り訂正符号化装置は、複数の情報パケット要素を行要素とするマトリックスを生成する（マトリックス生成）。ここで、情報パケット要素が行要素とされる行数は、第２の実施の形態の場合と同様に、マトリックスの全行数未満とする。
【００７７】
つぎに、第３の実施の形態に係る誤り訂正符号化装置は、情報パケット要素で埋められていない残りの行をパディングする（パディング処理）。
【００７８】
つぎに、第３の実施の形態に係る誤り訂正符号化装置は、マトリックスの列要素について列方向に列数だけＦＥＣ演算を行い（ＦＥＣ演算）、検査パケット要素を生成する（符号データ完成）。
【００７９】
つぎに、第３の実施の形態に係る誤り訂正符号化装置は、情報パケット要素および検査パケット要素を用いて１つまたは複数の送信パケットを生成する（送信パケット生成）。ただし、パディング行は、送信パケットの生成に用いない。なお、情報パケット要素と検査パケット要素とが別々の送信パケットを構成するように送信パケット生成を行う点は、第１の実施の形態、第２の実施の形態の場合と同様である。
【００８０】
そして、第３の実施の形態に係る誤り訂正符号化装置は、送信パケットを送信する。
【００８１】
以上説明した第３の実施の形態に係る誤り訂正符号化装置によれば、パケット分割およびパディング処理が行われるため、たとえばネットワーク品質やストリーム速度が異なることに基づく冗長度の変化および遅延時間の変化を制御できる。
【００８２】
なお、第３の実施の形態に係る誤り訂正符号化装置から送信された送信パケットを受信した第３の実施の形態に係る誤り訂正復号化装置は、次のようにして、誤り訂正復号を行う。  
【００８３】
まず、第３の実施の形態に係る誤り訂正復号化装置は、受信したパケットを、誤り訂正符号化演算の対象となる情報パケットと情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する。
【００８４】
つぎに、第３の実施の形態に係る誤り訂正復号化装置は、分離された情報パケットを情報パケットの部分である情報パケット要素に分割し、分離された検査パケットを検査パケットの部分である検査パケット要素に分割する。
【００８５】
つぎに、第３の実施の形態に係る誤り訂正復号化装置は、分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを生成する。
【００８６】
つぎに、第３の実施の形態に係る誤り訂正復号化装置は、生成したマトリックスにおいて情報パケット要素および検査パケット要素が行要素となっていない行をパディングする。
【００８７】
つぎに、第３の実施の形態に係る誤り訂正復号化装置は、生成されたマトリックスの列方向に誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する。
【００８８】
そして、第３の実施の形態に係る誤り訂正復号化装置は、マトリックスの行要素を用いて１つまたは複数のパケットを生成する。
【００８９】
［第４の実施の形態］
図４は、本発明の第４の実施の形態に係る誤り訂正符号化装置を説明する図である。
【００９０】
第４の実施の形態は、第１の実施の形態、第２の実施の形態、または第３の実施の形態にインタリーブ処理を加えたものである。
【００９１】
第４の実施の形態に係る誤り訂正符号化装置は、複数のマトリックスに基づく送信パケットをマトリックスごとに交互に送信する。
【００９２】
この第４の実施の形態によれば、バーストパケットロス耐性を向上させることができる。たとえば、２つのマトリックスから交互にパケットを送信すれば、バーストパケットロス耐性は２倍になる。
【００９３】
なお、第１の実施の形態に基づく第４の実施の形態に係る誤り訂正符号化装置から複数のマトリックスについての送信パケットを受信した第４の実施の形態に係る誤り訂正復号化装置は、次のようにして、誤り訂正復号を行う。
【００９４】
まず、第４の実施の形態に係る誤り訂正復号化装置は、複数のマトリックスについての受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する。
【００９５】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、分離された情報パケットを情報パケットの部分である情報パケット要素に分割し、分離された検査パケットの部分である検査パケット要素に分割する。
【００９６】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成する。        
【００９７】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を各マトリックスにおいて生成する。
【００９８】
そして、第４の実施の形態に係る誤り訂正復号化装置は、各マトリックスの行要素を用いて１つまたは複数のパケットを生成する。
【００９９】
また、第２の実施の形態に基づく第４の実施の形態に係る誤り訂正符号化装置から複数のマトリックスについての送信パケットを受信した第４の実施の形態に係る誤り訂正復号化装置は、次のようにして、誤り訂正復号を行う。
【０１００】
まず、第４の実施の形態に係る誤り訂正復号化装置は、複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する。
【０１０１】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、分離された情報パケットおよび検査パケットを所定の行数だけ行要素とするマトリックスを複数生成する。
【０１０２】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、生成した複数のマトリックスにおいて情報パケットおよび検査パケットが行要素となっていない行をそれぞれパディングする。
【０１０３】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、生成された複数のマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットにより構成される行要素を生成する。
【０１０４】
そして、第４の実施の形態に係る誤り訂正復号化装置は、各マトリックスの行要素を用いて１つまたは複数のパケットを生成する。
【０１０５】
また、第３の実施の形態に基づく第４の実施の形態に係る誤り訂正符号化装置から複数のマトリックスについての送信パケットを受信した第４の実施の形態に係る誤り訂正復号化装置は、次のようにして、誤り訂正復号を行う。
【０１０６】
まず、第４の実施の形態に係る誤り訂正復号化装置は、複数のマトリックスの受信パケットを、誤り訂正符号化演算の対象となる情報パケットと前記情報パケットに誤り訂正符号化演算を行うことにより生成された検査パケットとに分離する。
【０１０７】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、分離された情報パケットを情報パケットの部分である情報パケット要素に分割し、分離された検査パケットの部分である検査パケット要素に分割する。
【０１０８】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、分割された情報パケット要素および検査パケット要素を所定の行数だけ行要素とするマトリックスを複数生成する。
【０１０９】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、生成した複数のマトリックスにおいて情報パケット要素および検査パケット要素が行要素となっていない行をそれぞれパディングする。
【０１１０】
つぎに、第４の実施の形態に係る誤り訂正復号化装置は、生成されたマトリックスの列方向にそれぞれ誤り訂正復号化演算を列数分繰り返し行い、受信できなかったパケットの部分であるパケット要素により構成される行要素を生成する。
【０１１１】
そして、第４の実施の形態に係る誤り訂正復号化装置は、各マトリックスの行要素を用いて１つまたは複数のパケットを生成する。
【実施例１】
【０１１２】
つぎに、本発明の実施例１に係る誤り訂正符号化装置について説明する。実施例１に係る誤り訂正符号化装置は、第３の実施の形態に係る誤り訂正符号化装置の実施例である。
【０１１３】
図５は、実施例１に係る誤り訂正符号化装置で用いるマトリックスを示す図である。
【０１１４】
この実施例１に係る誤り訂正符号化装置においては、符号化方式をガロア拡大体ＧＦ（２＾８）上の短縮化リード・ソロモン（１４，  １０）とし、生成多項式をＧ（Ｘ）とする。すなわち、情報データが１０ｂｙｔｅ、検査データが４ｂｙｔｅ、符号化データは１４ｂｙｔｅであり、ＦＥＣ演算対象となるデータを入れられる行数が１０行、演算結果を入れられる行数が４行、マトリックスの総行数が１４行である。
【０１１５】
また、情報パケット長を１００ｂｙｔｅ、そして、情報パケットは２等分割にすることにする。したがって、マトリックスの列は５０ｂｙｔｅとなる。
【０１１６】
また、情報パケット要素で埋める行数を８行とする。すなわち、パディング行数を２行とする。
【０１１７】
図６は、実施例１に係る誤り訂正符号化装置を説明する図である。
【０１１８】
まず、実施例１に係る誤り訂正符号化装置は、４個の情報パケットのデータ部を、２つに等分割する（ステップ１）。
【０１１９】
つぎに、実施例１に係る誤り訂正符号化装置は、情報パケット要素をそれぞれ１行として、マトリックスへ順に格納して行く（ステップ２）。すなわち、情報パケット要素１−１、情報パケット要素１−２、情報パケット要素２−１、…、情報パケット要素４−２をマトリックスの１行目から８行目に格納する。
【０１２０】
なお、ステップ１とステップ２は同時に行ってもよい。すなわち、１つの情報パケットの分割を行う度に情報パケット要素をマトリックスへ格納していってもよい。
【０１２１】
つぎに、実施例１に係る誤り訂正符号化装置は、９行目と１０行目に対して、パディング処理を行う（ステップ３）。なお、ステップ３は、ステップ１、ステップ２の処理とは順不同で行うことができる。
【０１２２】
つぎに、実施例１に係る誤り訂正符号化装置は、列要素についてＦＥＣ演算を行う（ステップ４）。具体的には、行の先頭１ｂｙｔｅを生成多項式Ｇ（Ｘ）で除算する。
【０１２３】
つぎに、実施例１に係る誤り訂正符号化装置は、ＦＥＣ演算の結果である検査パケット要素を、マトリックスの１１行目から１４行目の先頭１ｂｙｔｅに格納する。
【０１２４】
実施例１に係る誤り訂正符号化装置は、このＦＥＣ演算を、列方向に５０回（５０ｂｙｔｅ分）繰り返す。
【０１２５】
そして、実施例１に係る誤り訂正符号化装置は、完成したマトリックスの２行を１つの送信パケットとして構築する。つまり、２つの情報パケット要素を１つの送信パケットとする。
【０１２６】
ここで、実施例１に係る誤り訂正符号化装置が生成した符号化データの特徴について説明する。
【０１２７】
まず、情報パケット数が４個であり、検査パケット数が２個であるため、冗長度は約０．３３となる。また、合計６個のパケット（情報パケット４個と検査パケット２個）のうち、１個のパケットロスまで回復が可能である。
【０１２８】
ここで、実施例１に係る誤り訂正符号化装置において、パラメータを変化させた場合について説明する。
【０１２９】
まず、パディング行数を２行から０行にした場合を考える。これにより、演算に使用されるパケット数は５個となる。すなわち、冗長度を約０．３３から約０．２９に変化させることが可能になる。つまり、上記では合計６個のパケットから１個のパケットロスまで回復が可能であったが、パラメータ変化後は合計７個のパケットから１個のパケットロスまで回復が可能なように変化する。また、遅延時間は４個のパケットを待つ時間から、５個のパケットを待つ時間が必要になるため、１．２５倍となる。
【０１３０】
さらに、実施例１に係る誤り訂正符号化装置において、上記とは異なるようにパラメータを変化させた場合について説明する。
【０１３１】
ここでは、２つに当分割していたパケットを分割しなかった場合について考察する。これにより、演算に使用されるパケット数は８個となる。冗長度は約０．３３と変わらないが、上記では合計６個のパケットから１個のパケットロスまで回復が可能であったのが、パラメータ変化後は合計１２個のパケットから２個のパケットロスまで回復が可能となる。すなわち、２個のバーストパケットロスまで対応可能となる。また、遅延時間は４個のパケットを待つ時間から、８個のパケットを待つ時間が必要となるため、２倍となる。
【０１３２】
以上のように、実施例１に係る誤り訂正符号化装置によれば、短縮化リード・ソロモン（１４，  １０）といった１つのアルゴリズムで、冗長度を変化させたり、遅延時間を変化させることが可能となる。
【０１３３】
なお、実施例１においては、誤り訂正符号化方式を、ガロア拡大体ＧＦ（２＾８）上の短縮化リード・ソロモン（１４，  １０）としたが、本発明においては、他の方式を使用しても同様の効果を得ることができる。
【０１３４】
また、実施例１においては、情報パケット長を１００ｂｙｔｅとしているが、本発明が情報パケット長を１００ｂｙｔｅに限定するものでないことは、明らかである。
【０１３５】
また、実施例１においては、情報パケットを２等分割としているが、本発明が情報パケットの分割を２等分割に限定するものでないことは、明らかである。
【０１３６】
また、本発明においては、等分割が出来ないパケット長の場合には、パディング処理を行うことができる。たとえば、情報パケット長が１００ｂｙｔｅで３分割処理を行う場合、最初の２行は３４ｂｙｔｅ、３行目はデータ３２ｂｙｔｅに２ｂｙｔｅのパディングを行い、マトリックスの列ｂｙｔｅを３４ｂｙｔｅにあわせれば良い。また、パディング処理は、行を０で埋める処理によって実現することができるが、本発明の効果は、他の方法でパディングしても得ることができる。
【実施例２】
【０１３７】
つぎに、実施例２に係る誤り訂正符号化装置について説明する。この第２の実施例は、第４の実施の形態の実施例である。
【０１３８】
この実施例２に係る誤り訂正符号化装置においては、符号化方式をガロア拡大体ＧＦ（２＾８）上の短縮化リード・ソロモン（１４，  １０）とし、生成多項式をＧ（Ｘ）とする。すなわち、情報データが１０ｂｙｔｅ、検査データが４ｂｙｔｅ、符号化データは１４ｂｙｔｅであり、情報パケットを入れられる行数が１０行、検査パケットを入れられる行数が４行、マトリックスの総行数が１４行となる。また、情報パケット長を５０ｂｙｔｅとする。すなわち、マトリックスの列は５０ｂｙｔｅとなる。また、情報パケットを埋める行数を８行とする。すなわち、パディング行数を２行とする。この実施例２に係る誤り訂正符号化装置が用いるマトリックスは、実施例１と同じであり、図５に示される。なお、実施例２に係る誤り訂正符号化装置が行うパケットインタリーブを行うマトリックス数は、２つとする。
【０１３９】
図７は、実施例２に係る誤り訂正符号化装置を説明する図である。
【０１４０】
まず、実施例２に係る誤り訂正符号化装置は、情報パケットをそれぞれ１行として、マトリックス１へ順に格納して行く（ステップ１）。すなわち、情報パケット１、情報パケット２、…、情報パケット８をマトリックス１の１行目から８行目に格納する。
【０１４１】
つぎに、実施例２に係る誤り訂正符号化装置は、９行目と１０行目に対して、パディング処理を行う（ステップ２）。このステップ２は、ステップ１の処理とは順不同で行うことができる。
【０１４２】
つぎに、実施例２に係る誤り訂正符号化装置は、マトリックスの列要素についてＦＥＣ演算を行う（ステップ３）。具体的には、行の先頭１ｂｙｔｅを生成多項式Ｇ（Ｘ）で除算する。
【０１４３】
つぎに、実施例２に係る誤り訂正符号化装置は、ＦＥＣ演算の結果である検査パケットを、マトリックスの１１行目から１４行目の先頭１ｂｙｔｅに格納する。
【０１４４】
実施例２に係る誤り訂正符号化装置は、このＦＥＣ演算を、行方向に５０回（５０ｂｙｔｅ分）繰り返す。
【０１４５】
つぎに、実施例２に係る誤り訂正符号化装置は、情報パケットをそれぞれ１行として、マトリックス２へ順に格納して行く（ステップ４）。すなわち、情報パケット１１、情報パケット１２、…、情報パケット１８をマトリックス２の１行目から８行目に格納する。
【０１４６】
つぎに、実施例２に係る誤り訂正符号化装置は、９行目と１０行目に対して、パディング処理を行う（ステップ５）。このステップ５は、ステップ４の処理とは順不同で行うことができる。
【０１４７】
つぎに、実施例２に係る誤り訂正符号化装置は、マトリックスの列要素についてＦＥＣ演算を行う（ステップ６）。具体的には、行の先頭１ｂｙｔｅを生成多項式Ｇ（Ｘ）で除算する。
【０１４８】
つぎに、実施例２に係る誤り訂正符号化装置は、ＦＥＣ演算の結果である検査パケットを、マトリックスの１１行目から１４行目の先頭１ｂｙｔｅに格納する。
【０１４９】
実施例２に係る誤り訂正符号化装置は、このＦＥＣ演算を、行方向に５０回（５０ｂｙｔｅ分）繰り返す。
【０１５０】
そして、実施例２に係る誤り訂正符号化装置は、完成した２つのマトリックス１、マトリックス２から、交互にパケットを送信する（ステップ７）。
【０１５１】
ここで、実施例２に係る誤り訂正符号化装置が生成した符号化データの特徴について説明する。
【０１５２】
まず、情報パケット数が８個であり、検査パケット数が４個であり、冗長度は約０．３３となる。また、情報パケット８個と検査パケット４個の合計は１２個であり、２つのマトリックス間でパケットインタリーブを行うので、結果として、２４個のパケットのうち、４個のパケットロスまでが回復可能である。これは、４パケットのバーストパケットロスまでに対応できることになる。
【０１５３】
ここで、実施例２に係る誤り訂正符号化装置において、パラメータを変化させた場合について説明する。
【０１５４】
まず、パディング行数を２行から４行にした場合を考える。これにより、演算に使用されるパケット数は６個となる。すなわち、冗長度を約０．３３から０．４に変化させることが可能になる。上記では合計２４個のパケットから４個のパケットロスまで回復が可能であったが、パラメータ変化後は合計２０個のパケットから４個のパケットロスまで回復が可能となる。また、遅延時間は２４個のパケットを待つ時間から、２０個のパケットを待つ時間となるため、０．８倍となる。
【０１５５】
また、パケットインタリーブを行うためのマトリックス数を２つとしているが、マトリックス数を３つにすれば、２４個のパケットから４個のパケットロスまで回復が可能であったのが、３６個のパケットから６個のパケットロスまでが回復可能なように変化する。ただし、遅延時間は、２４個のパケットを待つ時間から、３６個のパケットを待つ時間が必要になるため、１．５倍となる。
【０１５６】
なお、実施例２においては誤り訂正符号化方式をガロア拡大体ＧＦ（２＾８）上の短縮化リード・ソロモン（１４，１０）としたが、本発明の効果は、他の方式を使用しても同様に得ることができる。
【０１５７】
また、実施例２においては情報パケット長を５０ｂｙｔｅとしているが、本発明が情報パケット長を５０ｂｙｔｅに限定するものではないことは、明らかである。
【０１５８】
また、パディング処理は、行を０で埋める処理によって実現することができるが、本発明の効果は、他の方法でパディングしても得ることができる。
【０１５９】
以上説明したように、本発明の実施の形態は、基本的に、既存符号化方式のアルゴリズムをそのまま使用する（すなわち、ＲＳ符号化方式を使用することを考えた場合、たとえば通常のＲＳ符号化方式同様にＦＥＣ符号化側においてある生成多項式で除算処理を行う。）が、ＦＥＣ演算を行うマトリックスの生成の際に、パケットの分割、行パディングを行う。したがって、本発明の実施の形態によれば、冗長度を様々に変化させたり、遅延時間の変化を抑制させたりすることが可能となる。
【０１６０】
なお、上述した本発明の実施の形態に係る誤り訂正符号化装置および誤り訂正復号化装置は、ハードウェア的に実現できるのみならず、ソフトウェア的にも実現することができる。ソフトウェア的に実現する場合には、誤り訂正符号化プログラムや誤り訂正復号化プログラムをコンピュータにインストールする。これら誤り訂正符号化プログラムや誤り訂正復号化プログラムは、上記誤り訂正符号化装置における処理や上記誤り訂正復号化装置における処理をＣＰＵやメモリなどに実行させるプログラムである。これら誤り訂正符号化プログラムや誤り訂正復号化プログラムは、これらプログラムが記録されたＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどを購入等したり、インターネット上のサーバからダウンロード等したりすることによって手に入れることができる。
【図面の簡単な説明】
【０１６１】
【図１】本発明の第１の実施の形態に係る誤り訂正符号化装置を説明する図である。
【図２】本発明の第１の実施の形態において、パケットを不等分割する場合の例を説明する図である。
【図３】本発明の第２の実施の形態に係る誤り訂正符号化装置を説明する図である。
【図４】本発明の第４の実施の形態に係る誤り訂正符号化装置を説明する図である。
【図５】実施例１、２に係る誤り訂正符号化装置で用いるマトリックスを示す図である。
【図６】実施例１に係る誤り訂正符号化装置を説明する図である。
【図７】実施例２に係る誤り訂正符号化装置を説明する図である。
【図８】従来技術のＦＥＣ演算と誤り訂正復号化演算を示す図である。
【図１】
2005136719.tif 000003
【図２】
2005136719.tif 000004
【図３】
2005136719.tif 000005
【図４】
2005136719.tif 000006
【図５】
2005136719.tif 000007
【図６】
2005136719.tif 000008
【図７】
2005136719.tif 000009
【図８】
2005136719.tif 000010