(57)【要約】【課題】伝送路等に発生するノイズによる通信の誤りを訂正し、適切に通信を行う通信装置等を提供する。【解決手段】入力データ系列に誤り訂正符号を付加する符号化装置は、入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号を付加する第１符号追加部と、入力データ系列を、複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号を付加する第２符号追加部とを備え、バイナリ誤り訂正符号が付加された第１データブロックの総ビット数当たりの、バイナリ誤り訂正符号により訂正可能なビット誤り個数は、シンボル誤り訂正符号が付加された第２データブロックの総ビット数当たりの、シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とする。【選択図】　図１
2004040199.tif 000002
【特許請求の範囲】
【請求項１】
入力データ系列に誤り訂正符号パリティを付加する符号化装置であって、
前記入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号パリティを付加する第１符号追加部と、
前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号パリティを付加する第２符号追加部とを備え、
前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とする符号化装置。
【請求項２】
前記第２符号追加部は、前記複数の第１データブロックのそれぞれから一部のデータを選択することにより、前記入力データ系列を前記複数の第２データブロックに分割することを特徴とする請求項１記載の符号化装置。
【請求項３】
前記第１符号追加部及び前記第２符号追加部は、
前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数をｎビット、当該第１データブロックの符号間の最小符号間距離をｄとし、
前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの長さをＮシンボル、当該第２データブロックの符号間の最小符号間距離をＤとし、
前記シンボルの総ビット数をｍビットとした場合に、以下の式
【数１】
2004040199.tif 000006
を満たす前記バイナリ誤り訂正符号パリティ及び前記シンボル誤り訂正符号パリティを付加することを特徴とする請求項１記載の符号化装置。
【請求項４】
前記第１符号追加部及び前記第２符号追加部は、更に、前記第１データブロックの総ビット数をｎとし、前記シンボルの総ビット数をｍビットとした場合に、ｎがｍの整数倍である前記バイナリ誤り訂正符号パリティ及び前記シンボル誤り訂正符号パリティを付加することを特徴とする請求項３記載の符号化装置。
【請求項５】
前記第１符号追加部は、前記バイナリ誤り訂正符号パリティとして、前記バイナリ誤り訂正符号パリティにより訂正可能なビット誤り個数より大きい個数のビット誤りに対する誤り検出機能を更に有する符号を付加することを特徴とする請求項１記載の符号化装置。
【請求項６】
当該符号化装置は、前記複数の第１データブロックのそれぞれが前記入力データ系列の連続部分となる連接符号を付加し、
前記第１符号追加部は、前記連接符号の内符号として、前記第１データブロックに前記バイナリ誤り訂正符号パリティを付加し、
前記第２符号追加部は、前記連接符号の外符号として、前記第２データブロックに前記シンボル誤り訂正符号パリティを付加することを特徴とする請求項１記載の符号化装置。
【請求項７】
前記第２符号追加部は、前記第２データブロックに対して、前記シンボル誤り訂正符号パリティとして、リードソロモン符号パリティを付加することを特徴とする請求項１記載の符号化装置。
【請求項８】
前記第１符号追加部は、前記第１データブロックに対して、前記バイナリ誤り訂正符号パリティとして、バースト誤り検出機能を更に有する符号を付加することを特徴とする請求項１記載の符号化装置。
【請求項９】
前記バイナリ誤り訂正符号パリティは、２ビット誤り訂正可能なことを特徴とする請求項８記載の符号化装置。
【請求項１０】
誤り訂正符号パリティが付加された符号化データ系列を誤り訂正する復号化装置であって、
前記符号化データ系列を格納する格納部と、
前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、
前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と
を備え、
前記第１データブロックの総ビット数当たりの、前記バイナリ誤り訂正符号により訂正可能なビット誤り個数は、前記第２データブロックの総ビット数当たりの、前記シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とする復号化装置。
【請求項１１】
前記第１誤り訂正部及び前記第２誤り訂正部は、
前記第１データブロックの総ビット数をｎビット、当該第１データブロックの符号間の最小符号間距離をｄとし、
前記第２データブロックの長さをＮシンボル、当該第２データブロックの符号間の最小符号間距離をＤとし、
前記シンボルの総ビット数をｍビットとした場合に、以下の式
【数２】
2004040199.tif 000007
を満たす前記バイナリ誤り訂正符号及び前記シンボル誤り訂正符号により誤り訂正を行うことを特徴とする請求項１０記載の復号化装置。
【請求項１２】
誤り訂正符号が付加された符号化データ系列を誤り訂正する復号化装置であって、
前記符号化データ系列を格納する格納部と、
前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、
前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と、
前記バイナリ誤り訂正符号の誤り訂正限界能力より小さい距離の誤り訂正及び前記シンボル誤り訂正符号の訂正限界能力より小さい距離の誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界未満誤り訂正制御部と、
前記限界未満誤り訂正制御部により誤りが訂正されないと判断した場合に、前記バイナリ誤り訂正符号の誤り訂正限界能力及び前記シンボル誤り訂正符号による誤り訂正限界能力を用いた誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界誤り訂正制御部と
を備えることを特徴とする復号化装置。
【請求項１３】
前記バイナリ誤り訂正符号は、更に、バースト誤り検出機能及びバースト誤り訂正機能を有し、
前記限界未満誤り訂正制御部は、更に、バースト誤り検出を前記第１誤り訂正部に行わせ、
前記限界誤り訂正制御部は、更に、バースト誤り訂正を前記第１誤り訂正部に行わせることを特徴とする請求項１２記載の復号化装置。
【請求項１４】
前記限界未満誤り訂正制御部は、前記訂正限界能力より小さい距離の誤り訂正を、予め定められた回数、前記第１誤り訂正部及び前記第２誤り訂正部により行わせ、
前記限界誤り訂正制御部は、前記予め定められた回数の前記訂正限界能力より小さい距離の誤り訂正により誤りが訂正されないと判断した場合に、前記誤り訂正限界能力を用いた誤り訂正を前記第１誤り訂正部及び前記第２誤り訂正部により行わせることを特徴とする請求項１２記載の復号化装置。
【請求項１５】
入力データ系列に誤り訂正符号パリティを付加する符号化方法であって、
前記入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号パリティを付加する第１符号追加ステップと、
前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号パリティを付加する第２符号追加ステップと
を備え、
前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とする符号化方法。
【請求項１６】
誤り訂正符号パリティが付加された符号化データ系列を誤り訂正する復号化方法であって、
前記符号化データ系列を格納する格納ステップと、
前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正ステップと、
前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正ステップと
を備え、
前記第１データブロックの総ビット数当たりの、前記バイナリ誤り訂正符号により訂正可能なビット誤り個数は、前記第２データブロックの総ビット数当たりの、前記シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とする復号化方法。
【請求項１７】
誤り訂正符号が付加された符号化データ系列を誤り訂正する復号化方法であって、
前記符号化データ系列を格納する格納ステップと、
前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の誤り訂正限界未満の能力により、最小距離復号の誤り訂正を行う第１限界未満誤り訂正ステップと、
前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の誤り訂正限界未満の能力により、最小距離復号の誤り訂正を行う第２限界未満誤り訂正ステップと、
前記第１限界未満誤り訂正ステップ及び前記第２限界未満誤り訂正ステップにより、前記符号化データ系列の誤りが訂正されたか否かを判断する判断ステップと、
前記符号化データ系列の誤りが訂正されていないと判断された場合に、前記符号化データ系列を、前記バイナリ誤り訂正符号及び前記シンボル誤り訂正符号それぞれの誤り訂正限界の能力により、最小距離複合の誤り訂正を行う限界誤り訂正ステップと
を備えることを特徴とする復号化方法。
【請求項１８】
入力データ系列に誤り訂正符号パリティをコンピュータにより付加させるプログラムであって、
前記入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号パリティを付加する第１符号追加部と、
前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号パリティを付加する第２符号追加部とを前記コンピュータにより実現し、
前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とするプログラム。
【請求項１９】
誤り訂正符号が付加された符号化データ系列をコンピュータにより誤り訂正させるプログラムであって、
前記符号化データ系列を格納する格納部と、
前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、
前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と
を前記コンピュータにより実現し、
前記第１データブロックの総ビット数当たりの、前記バイナリ誤り訂正符号により訂正可能なビット誤り個数は、前記第２データブロックの総ビット数当たりの、前記シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とするプログラム。
【請求項２０】
誤り訂正符号が付加された符号化データ系列をコンピュータにより誤り訂正させるプログラムであって、
前記符号化データ系列を格納する格納部と、
前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、
前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と、
前記バイナリ誤り訂正符号の誤り訂正限界能力より小さい距離の誤り訂正及び前記シンボル誤り訂正符号の訂正限界能力より小さい距離の誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界未満誤り訂正制御部と、
前記限界未満誤り訂正制御部により誤りが訂正されないと判断した場合に、前記バイナリ誤り訂正符号の誤り訂正限界能力及び前記シンボル誤り訂正符号による誤り訂正限界能力を用いた誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界誤り訂正制御部と
を前記コンピュータにより実現させることを特徴とするプログラム。
【請求項２１】
入力データ系列に誤り訂正符号パリティをコンピュータにより付加させるプログラムを記録したプログラム記録媒体であって、
前記プログラムは、
前記入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号パリティを付加する第１符号追加部と、
前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号パリティを付加する第２符号追加部とを前記コンピュータにより実現し、
前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とするプログラム記録媒体。
【請求項２２】
誤り訂正符号が付加された符号化データ系列をコンピュータにより誤り訂正させるプログラムを記録したプログラム記録媒体であって、
前記プログラムは、
前記符号化データ系列を格納する格納部と、
前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、
前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と
を前記コンピュータにより実現し、
前記第１データブロックの総ビット数当たりの、前記バイナリ誤り訂正符号により訂正可能なビット誤り個数は、前記第２データブロックの総ビット数当たりの、前記シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とするプログラム記録媒体。
【請求項２３】
誤り訂正符号が付加された符号化データ系列をコンピュータにより誤り訂正させるプログラムを記録したプログラム記録媒体であって、
前記プログラムは、
前記符号化データ系列を格納する格納部と、
前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、
前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と、
前記バイナリ誤り訂正符号の誤り訂正限界能力より小さい距離の誤り訂正及び前記シンボル誤り訂正符号の訂正限界能力より小さい距離の誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界未満誤り訂正制御部と、
前記限界未満誤り訂正制御部により誤りが訂正されないと判断した場合に、前記バイナリ誤り訂正符号の誤り訂正限界能力及び前記シンボル誤り訂正符号による誤り訂正限界能力を用いた誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界誤り訂正制御部と
を前記コンピュータにより実現させることを特徴とするプログラム記録媒体。
【請求項２４】
入力データ系列及び当該入力データ系列に付加した誤り訂正符号を記録したデータ記録媒体であって、
前記入力データ系列を記録したデータ系列記録領域と、
前記入力データ系列を分割した複数の第１データブロックそれぞれに対応づけて記録され、前記複数の第１データブロックそれぞれの誤り訂正に用いられるバイナリ誤り訂正符号パリティを記録した第１符号記録領域と、
前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに対応付けられて記録され、予め定められた長さのシンボル単位で前記複数の第２データブロックの誤り訂正を行うシンボル誤り訂正符号パリティを記録した第２符号記録領域と
を備え、
前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とするデータ記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化装置、復号化装置、符号化方法、復号化方法、プログラム、プログラム記録媒体、及びデータ記録媒体に関する。特に本発明は、リードソロモン符号を用いた符号化装置、復号化装置、符号化方法、復号化方法、プログラム、プログラム記録媒体、及びデータ記録媒体に関する。
【０００２】
【従来の技術】
特許３２７２３０７号によると、高い信頼性を必要とする通信装置等に用いられるリードソロモン符号やＢＣＨ符号を、積符号として用い、繰り返し復号によりＩＴＵ−Ｔ．Ｇ．７０９で標準化された方式よりも高い符号化利得で誤り訂正することができる。例えば、Ｓ．ｋｅｅｔｏｎ、Ｓ．Ｓｒｉｄｈａｒａｎ、及びＭ．Ｊａｒｃｈｉ著、Ｎａｔｉｏｎａｌ　Ｆｉｂｅｒ　Ｏｐｔｉｃ　Ｅｎｇｉｎｅｅｒｓ　Ｃｏｎｆｅｒｅｎｃｅ　２００１　ｐｐ５４掲載「ＥｎａｂｌｉｎｇＮｅｘｔ　Ｇｅｎｅｒａｔｉｏｎ　Ｏｐｔｉｃａｌ　Ｎｅｔｗｏｒｋｓ　ｗｉｔｈ　Ｆｏｒｗａｒｄ　Ｅｒｒｏｒ　Ｃｏｒｒｅｃｔｉｏｎ」によると、ＢＣＨ符号を積符号の形で用いて、繰り返し復号により誤り訂正を行う方法が提案されている。
【０００３】
【発明が解決しようとする課題】
上記の方法によると、ＢＥＲ（ビットエラーレート）が１０−５程度の、比較的誤り率が高い領域で見ると、符号化利得の大きい誤り訂正を行うことができる。しかしながら、近年の光通信等においては、通信のデータレートが高いため誤り訂正符号を付加した後のＢＥＲを１０−１５程度以上に抑えることが望ましい。このような場合において、上記の方法は、エスケープパターンによるエラーフロアの悪影響を受け、十分な符号化利得を得られない場合がある。また、繰り返し回数を多く必要とする方式は、回路サイズ、消費電力の観点から好ましくない。
そこで本発明は、上記の課題を解決することのできる符号化装置、復号化装置、符号化方法、復号化方法、プログラム、プログラム記録媒体、及びデータ記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００４】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、入力データ系列に誤り訂正符号を付加する符号化装置であって、入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号を付加する第１符号追加部と、入力データ系列を、複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号を付加する第２符号追加部とを備え、バイナリ誤り訂正符号が付加された第１データブロックの総ビット数当たりの、バイナリ誤り訂正符号により訂正可能なビット誤り個数は、シンボル誤り訂正符号が付加された第２データブロックの総ビット数当たりの、シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とする符号化装置、符号化方法、当該方法を実現するプログラム、及びプログラムを記録したプログラム記録媒体を提供する。
【０００５】
また、本発明の第２の形態によると、誤り訂正符号が付加された符号化データ系列を誤り訂正する復号化装置であって、符号化データ系列を格納する格納部と、符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、符号化データ系列を、複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と、バイナリ誤り訂正符号の誤り訂正限界能力より小さい距離の誤り訂正及びシンボル誤り訂正符号の訂正限界能力より小さい距離の誤り訂正を、第１誤り訂正部及び第２誤り訂正部により行わせる限界未満誤り訂正制御部と、限界未満誤り訂正制御部により誤りが訂正されないと判断した場合に、バイナリ誤り訂正符号の誤り訂正限界能力及びシンボル誤り訂正符号による誤り訂正限界能力を用いた誤り訂正を、第１誤り訂正部及び第２誤り訂正部により行わせる限界誤り訂正制御部とを備えることを特徴とする復号化装置、復号化方法、当該方法を実現するプログラム、及びプログラムを記録した記録媒体を提供する。
【０００６】
また、本発明の第３の形態によると、誤り訂正符号が付加された符号化データ系列を誤り訂正する復号化装置であって、符号化データ系列を格納する格納部と、符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、符号化データ系列を、複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と、バイナリ誤り訂正符号の誤り訂正限界能力より小さい距離の誤り訂正及びシンボル誤り訂正符号の訂正限界能力より小さい距離の誤り訂正を、第１誤り訂正部及び第２誤り訂正部により行わせる限界未満誤り訂正制御部と、限界未満誤り訂正制御部により誤りが訂正されないと判断した場合に、バイナリ誤り訂正符号の誤り訂正限界能力及びシンボル誤り訂正符号による誤り訂正限界能力を用いた誤り訂正を、第１誤り訂正部及び第２誤り訂正部により行わせる限界誤り訂正制御部とを備えることを特徴とする復号化装置、復号化方法、当該方法を実現するプログラム、及びプログラムを記録したプログラム記録媒体を提供する。
【０００７】
また、本発明の第４の形態によると、入力データ系列及び当該入力データ系列に付加した誤り訂正符号を記録したデータ記録媒体であって、入力データ系列を記録したデータ系列記録領域と、入力データ系列を分割した複数の第１データブロックそれぞれに対応づけて記録され、複数の第１データブロックそれぞれの誤り訂正に用いられるバイナリ誤り訂正符号を記録した第１符号記録領域と、入力データ系列を、複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに対応付けられて記録され、予め定められた長さのシンボル単位で複数の第２データブロックの誤り訂正を行うシンボル誤り訂正符号を記録した第２符号記録領域とを備え、バイナリ誤り訂正符号が付加された第１データブロックの総ビット数当たりの、バイナリ誤り訂正符号により訂正可能なビット誤り個数は、シンボル誤り訂正符号が付加された第２データブロックの総ビット数当たりの、シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とするデータ記録媒体を提供する。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【０００８】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に記載された発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、通信システム１０の機能ブロック図を示す。通信システム１０は、通信装置１１Ａと、通信装置１１Ｂとを備え、入力データ系列を符号化し、誤り訂正を行う。すなわち、通信装置１１Ａは、入力データ系列を受け取り、誤り訂正に用いる符号を付加し、符号化データ系列として伝送路を介して通信装置１１Ｂに送信する。通信装置１１Ｂは、誤り訂正符号を用いることにより符号化データ系列を誤り訂正する。
【００１０】
従って、通信システム１０は、伝送路中に雑音等がある場合においても、元の入力データ系列に近いデータを送受信することができる。特に、通信システム１０は、リードソロモン誤り訂正符号と、バイナリ誤り訂正符号を所定の条件で組み合わせることにより、小さなパリティオーバーヘッドで符号化利得が大きく、ランダム・バースト両方の誤りに効果的であり、かつ復号が比較的簡便な構成の誤り訂正符号を付加することができる。
【００１１】
通信装置１１Ａは、符号化装置１００と、送信部１５０とを備える。符号化装置１００は、第１符号追加部１１０と、第２符号追加部１２０とを有する。第１符号追加部１１０は、入力データ系列を外部から受け取り、バイナリ誤り訂正符号を付加し、第２符号追加部１２０に送る。第２符号追加部１２０は、バイナリ誤り訂正符号が追加された入力データ系列に、シンボル誤り訂正符号であるリードソロモン誤り訂正符号を付加し、符号化データ系列として送信部１５０に送る。送信部１５０は、受け取った符号化データ系列を、伝送路を介して通信装置１１Ｂに送信する。
【００１２】
通信装置１１Ｂは、受信部１８０と、復号化装置２００とを備える。受信部１８０は、通信装置１１Ａから伝送路を介して符号化データ系列を受信すると、復号化装置２００に送る。復号化装置２００は、格納部２１０と、第１誤り訂正部２２０と、第２誤り訂正部２３０と、限界未満誤り訂正制御部２４０と、限界誤り訂正制御部２５０とを有する。格納部２１０は、受信部１８０から受け取った符号化データ系列を格納し、第１誤り訂正部２２０及び第２誤り訂正部２３０に参照させる。また、格納部２１０は、誤り訂正完了の通知を第１誤り訂正部２２０又は第２誤り訂正部２３０から受け取った場合に、格納している符号化データ系列を出力データ系列として外部に出力する。
【００１３】
第１誤り訂正部２２０は、格納部２１０内の符号化データ系列を、バイナリ誤り訂正符号の最小距離復号により誤り訂正する。第２誤り訂正部２３０は、シンボル誤り訂正符号の最小距離復号により誤り訂正する。第１誤り訂正部２２０及び第２誤り訂正部２３０は、誤り訂正が完了した場合に、誤り訂正完了の通知を格納部２１０に送る。限界未満誤り訂正制御部２４０は、第１誤り訂正部２２０及び第２誤り訂正部２３０を用いて、第１誤り訂正部２２０及び第２誤り訂正部２３０の限界誤り訂正能力未満の誤り訂正を行い、誤り訂正が完了しない場合に、誤り訂正を継続する旨の指示を限界誤り訂正制御部２５０に送る。これを受けて、限界誤り訂正制御部２５０は、第１誤り訂正部２２０及び第２誤り訂正部２３０の限界訂正能力を用いて、格納部２１０内の符号化データ系列を誤り訂正する。
なお、通信装置１１Ａ及び通信装置１１Ｂ双方の機能は、同一の通信装置内に設けられてもよい。
【００１４】
このように、通信システム１０は、入力データ系列を符号化することにより、伝送路にノイズがある場合等において、誤り訂正することができる。したがって、通信装置１１Ａは、通信装置１１Ｂと適切に通信することができる。
【００１５】
図２は、格納部２１０が格納する符号化データの一例を示す図である。格納部２１０は、本発明にかかるデータ記録媒体の一例であり、入力データ系列を記録するデータ系列記録領域５００と、第１符号記録領域５１０と、第２符号記録領域５２０と、パリティオンパリティ５３０とを含む。
【００１６】
データ系列記録領域５００は、入力データ系列を予め定められた長さに分割することにより生成される第１データブロック５０２を記録する。本実施形態において、第１符号追加部１１０は、複数の第１データブロック５０２のそれぞれが入力データ系列の連続部分となるように入力データ系列を分割し、第１データブロック５０２−１から第１データブロック５０２―Ｐを順次生成する。他の例として、第１符号追加部１１０は、複数の第１データブロック５０２それぞれが入力データ系列の連続部分とならないように分割してもよい。
【００１７】
第１符号記録領域５１０は、第１データブロック５０２−１〜Ｐそれぞれに対応づけて記録され、第１データブロック５０２−１〜Ｐそれぞれの誤り訂正に用いられるバイナリ誤り訂正符号パリティ５１２−１〜Ｐを記録する。すなわち、第１符号追加部１１０は、第１データブロック５０２−１〜Ｐそれぞれに、バイナリ誤り訂正符号パリティ５１２−１〜Ｐを付加し、連接符号の内符号であるバイナリ誤り訂正符号５０４を形成する。例えば、バイナリ誤り訂正符号パリティ５１２−１は、第１データブロック５０２−１に対応付けられ、バイナリ誤り訂正符号５０４−１を形成し、同様に、バイナリ誤り訂正符号パリティ５１２−２は、第１データブロック５０２−２に対応付けられ、バイナリ誤り訂正符号５０４−２を形成する。
【００１８】
また、第２データブロック５０６−１〜Ｑは、第１データブロック５０２とは異なる形態による入力データ系列の分割であり、第１データブロック５０２−１〜Ｐのそれぞれから一部のデータを選択することによる構成される。例えば、第２データブロック５０６−１〜Ｑは、一部のデータとして、シンボル５５０の長さのデータを選択することにより構成されてもよいし、複数個のシンボル５５０等の、シンボル５５０とは異なる長さのデータを選択することにより構成されてもよい。
【００１９】
第２符号記録領域５２０は、複数の第２データブロック５０６−１〜Ｑのそれぞれに対応付けられて記録され、第２データブロック５０６−１〜Ｑにシンボル５５０単位で誤り訂正を行うリードソロモン誤り訂正符号パリティ５２２−１〜Ｑを記録する。すなわち、第２符号追加部１２０は、第２データブロック５０６−１〜Ｑそれぞれに、リードソロモン誤り訂正符号パリティ５２２−１〜Ｑを付加し、連接符号の外符号であるリードソロモン誤り訂正符号５０８−１〜Ｑを形成する。例えば、リードソロモン誤り訂正符号パリティ５２２−１は、第２データブロック５０６−１に対応付けられ、リードソロモン誤り訂正符号５０８−１を形成する。同様に、リードソロモン誤り訂正符号パリティ５２２−２は、第２データブロック５０６−２に対応付けられ、リードソロモン誤り訂正符号５０８−２を形成する。
なお、通信システム１０は、リードソロモン誤り訂正符号５０８及びバイナリ誤り訂正符号５０４の構成を入れ換えた構成の符号を付加してもよい。例えば、通信システム１０は、外符号としてバイナリ誤り訂正符号を付加し、内符号としてリードソロモン誤り訂正符号を付加してもよい。
【００２０】
このように、通信システム１０は、入力データ系列を、第１データブロック５０２及び第２データブロック５０６の双方により異なる形態で分割し、それぞれの分割に対して誤り訂正符号を付加し、格納部２１０等の記録媒体に記録する。したがって、通信システム１０は、第１データブロック５０２及び第２データブロック５０６の双方の性質を効果的に利用して、入力データ系列の誤りを訂正することができる。なお、通信システム１０は、誤り訂正を効果的に行うために、リードソロモン誤り訂正符号パリティ５２２に対する誤り訂正符号であるバイナリ誤り訂正符号パリティ５１２である、パリティオンパリティ５３０を更に用いてもよい。また、他の例として、内符号及び外符号の構成要件に応じて、例えば、第１データブロックの総ビット数であるｋがシンボルのビット数であるｍの整数倍でない場合に、通信システム１０は、パリティオンパリティ５３０として、バイナリ誤り訂正符号パリティ５１２と第１データブロック５０２の一部に対する誤り訂正符号であるリードソロモン誤り訂正符号パリティ５２２を更に用いてもよい。
続いて、以上で説明した誤り訂正符号の具体例を示す。
【００２１】
例えば、バイナリ誤り訂正符号パリティ５１２が付加された第１データブロック５０２であるバイナリ誤り訂正符号５０４の総ビット数当たりの、バイナリ誤り訂正符号パリティ５１２により訂正可能なビット誤り個数は、リードソロモン誤り訂正符号パリティ５２２が付加された第２データブロック５０６であるリードソロモン誤り訂正符号５０８の総ビット数当たりの、リードソロモン誤り訂正符号パリティ５２２により訂正可能なビット誤り個数より大きい。
【００２２】
より詳しくは、第１符号追加部１１０及び第２符号追加部１２０は、バイナリ誤り訂正符号５０４の総ビット数をｎビット、複数のバイナリ誤り訂正符号５０４間の符号間の最小符号間距離（例えば、ハミング距離）をｄとし、リードソロモン誤り訂正符号５０８の長さをＮシンボル、第２データブロック５０６の符号間の最小符号間距離をＤとし、シンボルの総ビット数をｍビットとした場合に、以下の式
【数３】
2004040199.tif 000003
を満たすバイナリ誤り訂正符号パリティ５１２及びリードソロモン誤り訂正符号パリティ５２２を入力データ系列に付加する。
ここで、ｎはｍよりも２倍以上大きいことが効果的な誤り訂正の観点からは望ましい（例えば、ｎは、ｍに対して２以上の整数倍）。バイナリ誤り訂正符号５０４の総ビット数が典型的なリードソロモン誤り訂正符号５０８のシンボル５５０の長さ程度（ｍ＝８）では、１ビット誤りを訂正する為にも大きなパリティオーバーヘッドが必要となってしまう。また、シンボル５５０の長さｍが大きなリードソロモン誤り訂正符号５０８は、ランダム誤りを訂正する観点からは、効率が悪い。
第１誤り訂正部２２０及び第２誤り訂正部２３０は、同様に、上記の式を満たすバイナリ誤り訂正符号５０４及びリードソロモン誤り訂正符号５０８により入力データ系列の誤りを訂正する。
【００２３】
リードソロモン誤り訂正符号５０８は、例えば、ＧＦ（２８）で定義される、（Ｎ，Ｋ，Ｄ）＝（２５５，２３９，１７）である、８ビットをシンボルとするシンボル誤り訂正符号である。ただし、Ｎは符号長（リードソロモン誤り訂正符号５０８の長さ）、Ｋは符号化前のデータの信号長（第２データブロック５０６の長さ）、Ｄは最小符号間距離をそれぞれ示す。
本例のように、通信システム１０は、最小符号間距離の大きなシンボル誤り訂正符号を用いることにより、エスケープパターンを生じにくくすることができる。
【００２４】
バイナリ誤り訂正符号５０４は、例えば、（ｎ，ｋ，ｄ）＝（１２８，１１３，６）である、２ビット誤り訂正機能及び誤り訂正可能なビット数より大きい３ビットの誤り検出機能、もしくは４ビットバイト誤り訂正機能を有するバイナリ符号である。ただし、ｎは符号長（バイナリ誤り訂正符号５０４の総ビット数）、ｋは符号化前のデータの信号長（第１データブロック５０２の総ビット数）、ｄは最小符号間距離をそれぞれ示す。
このバイナリ誤り訂正符号パリティ５１２は、比較的小さいパリティオーバーヘッドでランダムなビット誤りを訂正可能である。また、バイナリ誤り訂正符号５０４は、誤り検出機能により誤りを検出した場合において、たとえ誤り訂正可能と判断されても、誤りを訂正しなくてもよい。この場合、特に、検出された誤りビット数がバイナリ誤り訂正符号５０４による誤り訂正能力の限界に近い場合において、バイナリ誤り訂正符号５０４は、誤訂正の可能性を抑えることができる。さらに、リードソロモン誤り訂正符号５０８は、バイナリ誤り訂正符号５０４による誤り検出の情報を用いて、効果的に誤りを訂正することができる。
また、通信システム１０は、バイナリ誤り訂正符号５０４として、ＧＦ（２８）上の元を１２８個用いて、（ｎ，ｋ，ｄ）＝（１２８，１１２，６）であるバイナリ符号を構成することも可能である。通信システム１０は、例えば、ｏｄｄｐａｒｉｔｙの元のみを選択することにより最小符号間距離ｄを６とすることが可能である。
他の例として、バイナリ誤り訂正符号５０４は、バースト誤り検出機能やバースト誤り訂正機能を備えてもよい。この場合、バイナリ誤り訂正符号パリティ５０４は、バースト誤りがバイト境界を跨いだ場合においても、適切に誤りを訂正又は検出することができ、復号時の誤訂正を避ける可能性を高め、より効果的に誤り訂正させることができる。
【００２５】
図３は、符号化装置１００の動作フローを示す図である。第１符号追加部１１０は、入力データ系列にバイナリ誤り訂正符号パリティを付加する（Ｓ１００）。そして、第２符号追加部１２０は、バイナリ誤り訂正符号が付加された入力データ系列にリードソロモン誤り訂正符号を付加する（Ｓ１１０）。
【００２６】
バイナリ誤り訂正符号及びリードソロモン誤り訂正符号は、図２で説明したような性質を持ち、全体として比較的小さいオーバーヘッドで効果的な誤り訂正を行うことができる。なお、本図で説明した符号化の他の例として、符号化装置１００は、バイナリ誤り訂正符号の付加より先に、リードソロモン誤り訂正符号を付加してもよい。
【００２７】
図４は、復号化装置２００の動作フロー例を示す図である。復号化装置２００は、外部から受信した符号化データ系列に対して、以下に示す復号化を行う。まず、限界未満誤り訂正制御部２４０は、第１誤り訂正部２２０によるバイナリ誤り訂正符号５０４の限界訂正能力未満の訂正を硬判定方式により行わせる（Ｓ２００）。例えば、図２で示した例の場合、バイナリ誤り訂正符号５０４が２ビット誤り訂正可能なので、限界未満誤り訂正制御部２４０は、２ビット未満である１ビット誤り訂正を第１誤り訂正部２２０により行わせる。
第１誤り訂正部２２０は、ランダム誤り訂正に加え、バースト誤り訂正を行ってもよい。この場合、復号化装置２００は、バースト誤りを含むことの多い符号化データ系列を入力とした時に、繰り返し復号の最初のステップであるＳ２００において、第１誤り訂正部２２０によりバースト誤りを効果的に訂正することができる。
さらに、第１誤り訂正部２２０は、符号化データ系列が大規模なバースト誤りを含むと判断された場合に、バースト誤り検出のみを行ってもよい。この場合、第１誤り訂正部２２０は、バースト誤り訂正による誤訂正を防止することができる。
【００２８】
第１誤り訂正部２２０は、符号化データ系列の誤り訂正を完了したと判断した場合に（Ｓ２１０：ＹＥＳ）、処理を終了する。続いて、第１誤り訂正部２２０が符号化データ系列の誤り訂正を完了していないと判断した場合に（Ｓ２１０：ＮＯ）、限界未満誤り訂正制御部２４０は、第２誤り訂正部２３０によるリードソロモン誤り訂正符号５０８の限界訂正能力未満の訂正を硬判定方式により行わせる（Ｓ２２０）。第２誤り訂正部２３０は、誤り訂正を完了したと判断した場合に（Ｓ２３０：ＹＥＳ）、処理を終了する。
【００２９】
第２誤り訂正部２３０が誤り訂正を完了していないと判断した場合に（Ｓ２３０：ＮＯ）、限界未満誤り訂正制御部２４０は、Ｓ２００〜Ｓ２３０までの限界未満の訂正能力による誤り訂正の繰り返し回数が所定回数に達したか否かを判断する（Ｓ２４０）。限界未満誤り訂正制御部２４０が、Ｓ２００〜Ｓ２３０までの限界未満の訂正能力による誤り訂正の繰り返し回数が所定回数に達していないと判断した場合に（Ｓ２４０：ＮＯ）、復号化装置２００は、Ｓ２００に戻り処理を継続する。
【００３０】
限界未満誤り訂正制御部２４０が、Ｓ２００〜Ｓ２３０までの限界未満の訂正能力による誤り訂正の繰り返し回数が所定回数に達したと判断した場合に（Ｓ２４０：ＹＥＳ）、限界誤り訂正制御部２５０は、第１誤り訂正部２２０によるバイナリ誤り訂正符号５０４の限界訂正能力の訂正を硬判定方式により行わせる（Ｓ２５０）。例えば、限界誤り訂正制御部２５０は、第１誤り訂正部２２０により、ランダム誤り訂正に加え、更にバースト誤り訂正を行ってもよい。第１誤り訂正部２２０は、Ｓ２００においてバースト誤り検出のみを行った場合に、Ｓ２５０において、バースト誤り訂正を行ってもよい。続いて、第１誤り訂正部２２０は、符号化データ系列の誤り訂正を完了したと判断した場合に（Ｓ２６０：ＹＥＳ）、処理を終了する。
【００３１】
第１誤り訂正部２２０が符号化データ系列の誤り訂正を完了していないと判断した場合に（Ｓ２６０：ＮＯ）、限界誤り訂正制御部２５０は、限界の訂正能力による誤り訂正の繰り返し回数が所定回数に達したか否かを判断する（Ｓ２７０）。限界誤り訂正制御部２５０が、限界の訂正能力による誤り訂正の繰り返し回数が所定回数に達したと判断した場合に（Ｓ２７０：ＹＥＳ）、第２誤り訂正部２３０は、バイナリ誤り訂正符号５０４を用いた誤り検出の結果に基づき、第２データブロック５０６を消失訂正復号することが可能である（Ｓ２８０）。
【００３２】
限界誤り訂正制御部２５０は、限界の訂正能力による誤り訂正の繰り返し回数が所定回数に達していないと判断した場合に（Ｓ２７０：ＮＯ）、第２誤り訂正部２３０によるリードソロモン誤り訂正符号５０８の限界訂正能力の訂正を硬判定方式により行わせる（Ｓ２９０）。続いて、第２誤り訂正部２３０は、符号化データ系列の誤り訂正を完了していないと判断した場合に（Ｓ３００：ＮＯ）、Ｓ２５０に戻り処理を継続し、符号化データ系列の誤り訂正を完了したと判断した場合に（Ｓ３００：ＹＥＳ）、処理を終了する。なお、所定回数は、繰り返し復号による総演算量と、符号化利得のトレードオフにより決定される。すなわち、復号化装置２００は、利用者の設定に応じた所定回数により、復号に要する時間と、符号化利得を調節してもよい。
【００３３】
このように、通信システム１０は、誤り訂正の前半部分においては、限界未満の誤り訂正能力を用いる。そして、通信システム１０は、外符号及び内符号の双方による限界未満の誤り訂正能力により十分誤り訂正を行った後に、誤り訂正の限界能力を用いる。したがって、訂正能力以上の誤りを含む可能性がある符号化データ系列の誤りを訂正する場合に、通信システム１０は、誤り訂正の前半部分における誤訂正を防ぎ、内符号及び外符号の特性を生かした効果的な誤り訂正を行うことができる。
なお、誤り訂正の他の例として、復号化装置２００は、本図に示した後半部分のみを処理してもよい。すなわち、復号化装置２００は、誤り訂正の限界能力を用いた誤り訂正のみを行ってもよい。このような形態においても、図２に示した連接符号を用いることで、復号化装置２００は、硬判定方式の繰り返し復号により、効果的に誤り訂正を行うことができる。
【００３４】
図５は、通信システム１０のハードウェア構成の一例を示す図である。本実施形態に係る通信システム１０は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、グラフィックコントローラ１０７５、及び表示装置１０８０を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００３５】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００３６】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ１０４０は、通信システム１０が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。
【００３７】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、通信システム１０の起動時にＣＰＵ１０００が実行するブートプログラムや、通信システム１０のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。また、入出力チップ１０７０は、使用者の入力に対応するデータを、入力装置から受信し、通信システム１０で実行されるプログラムに与える。
【００３８】
通信システム１０に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、通信システム１０にインストールされ、実行される。また、通信システム１０は、符号化装置１００により生成された符号化データ系列を、記録媒体に記録し、利用者に提供してもよい。
【００３９】
通信システム１０を実現するプログラムは、第１符号追加モジュールと、第２符号追加モジュールと、送信モジュールと、受信モジュールと、格納モジュールと、第１誤り訂正モジュールと、第２誤り訂正モジュールと、限界未満誤り訂正モジュールと、限界誤り訂正モジュールとを備える。これらのモジュールは、通信システム１０を、第１符号追加部１１０、第２符号追加部１２０、送信部１５０、受信部１８０、格納部２１０、第１誤り訂正部２２０、第２誤り訂正部２３０、限界未満誤り訂正制御部２４０、及び限界誤り訂正制御部２５０として動作させるプログラムである。
【００４０】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを通信システム１０に提供してもよい。また、これらのプログラム又はモジュールは、ＡＳＩＣ等の集積回路に実装されてもよいし、ファームウェアとして実装されてもよい。
【００４１】
上記説明から明らかなように、通信システム１０は、外符号及び内符号が相補的な性質を持つ連接符号を、入力データ系列に付加する。従って、通信システム１０は、比較的小さなパリティオーバーヘッドで大きい符号化利得を得ることができ、誤り訂正を効果的に行うことができる。更に、通信システム１０は、バースト誤りによる誤訂正の影響を抑えるとともに、硬判定方式の最小距離復号の繰り返しにより誤り訂正できるので、簡素な回路により高速に動作できる。さらに、通信システム１０は、リードソロモン符号を用いる既存の装置や既存の規格との親和性の高い連接符号を用いるので、設計及び生産の容易な回路により実現できる。
【００４２】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００４３】
以上に説明した実施形態によれば、以下の各項目に示す符号化装置、復号化装置、符号化方法、復号化方法、プログラム、プログラム記録媒体、及びデータ記録媒体が実現される。
【００４４】
（項目１）　入力データ系列に誤り訂正符号パリティを付加する符号化装置であって、前記入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号パリティを付加する第１符号追加部と、前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号パリティを付加する第２符号追加部とを備え、前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とする符号化装置。
（項目２）　前記第２符号追加部は、前記複数の第１データブロックのそれぞれから一部のデータを選択することにより、前記入力データ系列を前記複数の第２データブロックに分割することを特徴とする項目１記載の符号化装置。
【００４５】
（項目３）　前記第１符号追加部及び前記第２符号追加部は、前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数をｎビット、当該第１データブロックの符号間の最小符号間距離をｄとし、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの長さをＮシンボル、当該第２データブロックの符号間の最小符号間距離をＤとし、前記シンボルの総ビット数をｍビットとした場合に、以下の式
【数４】
2004040199.tif 000004
を満たす前記バイナリ誤り訂正符号パリティ及び前記シンボル誤り訂正符号パリティを付加することを特徴とする項目１記載の符号化装置。
（項目４）　前記第１符号追加部及び前記第２符号追加部は、更に、前記第１データブロックの総ビット数をｎとし、前記シンボルの総ビット数をｍビットとした場合に、ｎがｍの整数倍である前記バイナリ誤り訂正符号パリティ及び前記シンボル誤り訂正符号パリティを付加することを特徴とする項目３記載の符号化装置。
【００４６】
（項目５）　前記第１符号追加部は、前記バイナリ誤り訂正符号パリティとして、前記バイナリ誤り訂正符号パリティにより訂正可能なビット誤り個数より大きい個数のビット誤りに対する誤り検出機能を更に有する符号を付加することを特徴とする項目１記載の符号化装置。
（項目６）　当該符号化装置は、前記複数の第１データブロックのそれぞれが前記入力データ系列の連続部分となる連接符号を付加し、前記第１符号追加部は、前記連接符号の内符号として、前記第１データブロックに前記バイナリ誤り訂正符号パリティを付加し、前記第２符号追加部は、前記連接符号の外符号として、前記第２データブロックに前記シンボル誤り訂正符号パリティを付加することを特徴とする項目１記載の符号化装置。
【００４７】
（項目７）　前記第２符号追加部は、前記第２データブロックに対して、前記シンボル誤り訂正符号パリティとして、リードソロモン符号パリティを付加することを特徴とする項目１記載の符号化装置。
（項目８）　前記第１符号追加部は、前記第１データブロックに対して、前記バイナリ誤り訂正符号パリティとして、バースト誤り検出機能を更に有する符号を付加することを特徴とする項目１記載の符号化装置。
（項目９）　前記バイナリ誤り訂正符号パリティは、２ビット誤り訂正可能なことを特徴とする項目８記載の符号化装置。
【００４８】
（項目１０）　誤り訂正符号パリティが付加された符号化データ系列を誤り訂正する復号化装置であって、前記符号化データ系列を格納する格納部と、前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部とを備え、前記第１データブロックの総ビット数当たりの、前記バイナリ誤り訂正符号により訂正可能なビット誤り個数は、前記第２データブロックの総ビット数当たりの、前記シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とする復号化装置。
（項目１１）　前記第１誤り訂正部及び前記第２誤り訂正部は、前記第１データブロックの総ビット数をｎビット、当該第１データブロックの符号間の最小符号間距離をｄとし、前記第２データブロックの長さをＮシンボル、当該第２データブロックの符号間の最小符号間距離をＤとし、前記シンボルの総ビット数をｍビットとした場合に、以下の式
【数５】
2004040199.tif 000005
を満たす前記バイナリ誤り訂正符号及び前記シンボル誤り訂正符号により誤り訂正を行うことを特徴とする項目１０記載の復号化装置。
【００４９】
（項目１２）　誤り訂正符号が付加された符号化データ系列を誤り訂正する復号化装置であって、前記符号化データ系列を格納する格納部と、前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と、前記バイナリ誤り訂正符号の誤り訂正限界能力より小さい距離の誤り訂正及び前記シンボル誤り訂正符号の訂正限界能力より小さい距離の誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界未満誤り訂正制御部と、前記限界未満誤り訂正制御部により誤りが訂正されないと判断した場合に、前記バイナリ誤り訂正符号の誤り訂正限界能力及び前記シンボル誤り訂正符号による誤り訂正限界能力を用いた誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界誤り訂正制御部とを備えることを特徴とする復号化装置。
（項目１３）　前記バイナリ誤り訂正符号は、更に、バースト誤り検出機能及びバースト誤り訂正機能を有し、前記限界未満誤り訂正制御部は、更に、バースト誤り検出を前記第１誤り訂正部に行わせ、前記限界誤り訂正制御部は、更に、バースト誤り訂正を前記第１誤り訂正部に行わせることを特徴とする項目１２記載の復号化装置。
【００５０】
（項目１４）　前記限界未満誤り訂正制御部は、前記訂正限界能力より小さい距離の誤り訂正を、予め定められた回数、前記第１誤り訂正部及び前記第２誤り訂正部により行わせ、前記限界誤り訂正制御部は、前記予め定められた回数の前記訂正限界能力より小さい距離の誤り訂正により誤りが訂正されないと判断した場合に、前記誤り訂正限界能力を用いた誤り訂正を前記第１誤り訂正部及び前記第２誤り訂正部により行わせることを特徴とする項目１２記載の復号化装置。
（項目１５）　入力データ系列に誤り訂正符号パリティを付加する符号化方法であって、前記入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号パリティを付加する第１符号追加ステップと、前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号パリティを付加する第２符号追加ステップとを備え、前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とする符号化方法。
【００５１】
（項目１６）　誤り訂正符号パリティが付加された符号化データ系列を誤り訂正する復号化方法であって、前記符号化データ系列を格納する格納ステップと、前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正ステップと、前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正ステップとを備え、前記第１データブロックの総ビット数当たりの、前記バイナリ誤り訂正符号により訂正可能なビット誤り個数は、前記第２データブロックの総ビット数当たりの、前記シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とする復号化方法。
（項目１７）　誤り訂正符号が付加された符号化データ系列を誤り訂正する復号化方法であって、前記符号化データ系列を格納する格納ステップと、前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の誤り訂正限界未満の能力により、最小距離復号の誤り訂正を行う第１限界未満誤り訂正ステップと、前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の誤り訂正限界未満の能力により、最小距離復号の誤り訂正を行う第２限界未満誤り訂正ステップと、前記第１限界未満誤り訂正ステップ及び前記第２限界未満誤り訂正ステップにより、前記符号化データ系列の誤りが訂正されたか否かを判断する判断ステップと、前記符号化データ系列の誤りが訂正されていないと判断された場合に、前記符号化データ系列を、前記バイナリ誤り訂正符号及び前記シンボル誤り訂正符号それぞれの誤り訂正限界の能力により、最小距離複合の誤り訂正を行う限界誤り訂正ステップとを備えることを特徴とする復号化方法。
【００５２】
（項目１８）　入力データ系列に誤り訂正符号パリティをコンピュータにより付加させるプログラムであって、前記入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号パリティを付加する第１符号追加部と、前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号パリティを付加する第２符号追加部とを前記コンピュータにより実現し、前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とするプログラム。
（項目１９）　誤り訂正符号が付加された符号化データ系列をコンピュータにより誤り訂正させるプログラムであって、前記符号化データ系列を格納する格納部と、前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部とを前記コンピュータにより実現し、前記第１データブロックの総ビット数当たりの、前記バイナリ誤り訂正符号により訂正可能なビット誤り個数は、前記第２データブロックの総ビット数当たりの、前記シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とするプログラム。
【００５３】
（項目２０）　誤り訂正符号が付加された符号化データ系列をコンピュータにより誤り訂正させるプログラムであって、前記符号化データ系列を格納する格納部と、前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と、前記バイナリ誤り訂正符号の誤り訂正限界能力より小さい距離の誤り訂正及び前記シンボル誤り訂正符号の訂正限界能力より小さい距離の誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界未満誤り訂正制御部と、前記限界未満誤り訂正制御部により誤りが訂正されないと判断した場合に、前記バイナリ誤り訂正符号の誤り訂正限界能力及び前記シンボル誤り訂正符号による誤り訂正限界能力を用いた誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界誤り訂正制御部とを前記コンピュータにより実現させることを特徴とするプログラム。
（項目２１）　入力データ系列に誤り訂正符号パリティをコンピュータにより付加させるプログラムを記録したプログラム記録媒体であって、前記プログラムは、前記入力データ系列を分割した複数の第１データブロックのそれぞれに、バイナリ誤り訂正符号パリティを付加する第１符号追加部と、前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号パリティを付加する第２符号追加部とを前記コンピュータにより実現し、前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とするプログラム記録媒体。
【００５４】
（項目２２）　誤り訂正符号が付加された符号化データ系列をコンピュータにより誤り訂正させるプログラムを記録したプログラム記録媒体であって、前記プログラムは、前記符号化データ系列を格納する格納部と、前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部とを前記コンピュータにより実現し、前記第１データブロックの総ビット数当たりの、前記バイナリ誤り訂正符号により訂正可能なビット誤り個数は、前記第２データブロックの総ビット数当たりの、前記シンボル誤り訂正符号により訂正可能なビット誤り個数より大きいことを特徴とするプログラム記録媒体。
（項目２３）　誤り訂正符号が付加された符号化データ系列をコンピュータにより誤り訂正させるプログラムを記録したプログラム記録媒体であって、前記プログラムは、前記符号化データ系列を格納する格納部と、前記符号化データ系列を分割した複数の第１データブロックのそれぞれを、バイナリ誤り訂正符号の最小距離復号により誤り訂正を行う第１誤り訂正部と、前記符号化データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれを、予め定められた長さのシンボル単位で誤り訂正を行うシンボル誤り訂正符号の最小距離復号により誤り訂正を行う第２誤り訂正部と、前記バイナリ誤り訂正符号の誤り訂正限界能力より小さい距離の誤り訂正及び前記シンボル誤り訂正符号の訂正限界能力より小さい距離の誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界未満誤り訂正制御部と、前記限界未満誤り訂正制御部により誤りが訂正されないと判断した場合に、前記バイナリ誤り訂正符号の誤り訂正限界能力及び前記シンボル誤り訂正符号による誤り訂正限界能力を用いた誤り訂正を、前記第１誤り訂正部及び前記第２誤り訂正部により行わせる限界誤り訂正制御部とを前記コンピュータにより実現させることを特徴とするプログラム記録媒体。
【００５５】
（項目２４）　入力データ系列及び当該入力データ系列に付加した誤り訂正符号を記録したデータ記録媒体であって、前記入力データ系列を記録したデータ系列記録領域と、前記入力データ系列を分割した複数の第１データブロックそれぞれに対応づけて記録され、前記複数の第１データブロックそれぞれの誤り訂正に用いられるバイナリ誤り訂正符号パリティを記録した第１符号記録領域と、前記入力データ系列を、前記複数の第１データブロックとは異なる形態で分割した複数の第２データブロックのそれぞれに対応付けられて記録され、予め定められた長さのシンボル単位で前記複数の第２データブロックの誤り訂正を行うシンボル誤り訂正符号パリティを記録した第２符号記録領域とを備え、前記バイナリ誤り訂正符号パリティが付加された前記第１データブロックの総ビット数当たりの、訂正可能なビット誤り個数は、前記シンボル誤り訂正符号パリティが付加された前記第２データブロックの総ビット数当たりの、訂正可能なビット誤り個数より大きいことを特徴とするデータ記録媒体。
【００５６】
【発明の効果】
上記説明から明らかなように、本発明によれば、ＢＥＲが小さい領域においても、伝送路等のノイズによるランダムなビット誤りならびにバースト誤りを訂正可能であり、かつ少ない繰り返し回数でも十分な符号化利得が得られる通信装置等を提供することができる。
【図面の簡単な説明】
【図１】図１は、通信システム１０の機能ブロック図。
【図２】図２は、格納部２１０が格納する符号化データの一例を示す図。
【図３】図３は、符号化装置１００の動作フローを示す図。
【図４】図４は、復号化装置２００の動作フローを示す図。
【図５】図５は、通信システム１０のハードウェア構成の一例を示す図。
【符号の説明】
１０　通信システム
１１Ａ〜Ｂ　通信装置
１００　符号化装置
１１０　第１符号追加部
１２０　第２符号追加部
１５０　送信部
１８０　受信部
２００　復号化装置
２１０　格納部
２２０　第１誤り訂正部
２３０　第２誤り訂正部
２４０　限界未満誤り訂正制御部
２５０　限界誤り訂正制御部
５００　データ系列記録領域
５０２　第１データブロック
５０２−１〜Ｐ　第１データブロック
５０４　バイナリ誤り訂正符号
５０４−１〜Ｐ　バイナリ誤り訂正符号
５０６　第２データブロック
５０６−１〜Ｑ　第２データブロック
５０８　リードソロモン誤り訂正符号
５０８−１〜Ｑ　リードソロモン誤り訂正符号
５１０　第１符号記録領域
５１２　バイナリ誤り訂正符号パリティ
５１２−１〜Ｐ　バイナリ誤り訂正符号パリティ
５２０　第２符号記録領域
５２２　リードソロモン誤り訂正符号パリティ
５２２−１〜Ｑ　リードソロモン誤り訂正符号パリティ
５３０　パリティオンパリティ
５５０　シンボル
【図１】
2004040199.tif 000008
【図２】
2004040199.tif 000009
【図３】
2004040199.tif 000010
【図４】
2004040199.tif 000011
【図５】
2004040199.tif 000012