(57)【要約】低密度パリティ検査符号を用いる誤り訂正符号化方法は、誤り訂正符号化すべき情報ビット列を、各々が長さｎのビット列からなる（ｍ−ｒ）個の第１のブロックと、各々が長さｋ１，ｋ２，…，ｋｒのビット列からなるｒ個の第２のブロックとに分割することと、（ｍ−ｒ）個の第１のブロックに対して多項式乗算を行って長さｎのｒ個のビット列を出力する第１の演算と、ｒ個の第２のブロックと第１の演算によるｒ個の演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれｎ−ｋ１，ｎ−ｋ２，…，ｎ−ｋｒである冗長ビット系列を含むビット列を出力する第２の演算と、を有する。
2007132656.tif 000002
【特許請求の範囲】
【請求項１】
低密度パリティ検査符号を用いる誤り訂正符号化方法であって、
ｍ，ｎを正整数、ｒを１≦ｒ≦ｍの整数、ｋ１，ｋ２，…，ｋｒを０≦ｋ１，ｋ２，…，ｋｒ≦ｎ−１の整数として、
誤り訂正符号化すべき情報ビット列を、各々が長さｎのビット列からなる（ｍ−ｒ）個の第１のブロックと、各々が長さｋ１，ｋ２，…，ｋｒのビット列からなるｒ個の第２のブロックとに分割することと、
（ｍ−ｒ）個の前記第１のブロックに対して多項式乗算を行って長さｎのｒ個のビット列を出力する第１の演算と、
ｒ個の前記第２のブロックと前記第１の演算段階によるｒ個の演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれｎ−ｋ１，ｎ−ｋ２，…，ｎ−ｋｒである冗長ビット系列を含むビット列を出力する第２の演算と、
を有する、誤り訂正符号化方法。
【請求項２】
前記第２の演算は、
長さがｋｒである前記第２のブロックと前記第１の演算からのｒ個の演算結果とに対してたかだか１回の多項式除算とたかだか（ｒ−１）回の多項式乗算とを並列に行って、前記冗長ビット列のうちの（ｎ−ｋｒ）ビットと（ｒ−１）個の長さｎのビット列とを出力する第１の多項式除算・乗算演算と、
ｐを２≦ｐ≦ｒの整数として、第（ｐ−１）の多項式除算・乗算演算から出力される（ｒ−ｐ＋１）個の長さｎのビット列と、長さがｋｒ−ｐ＋１である前記第２のブロックとに対して、たかだか１回の多項式除算とたかだか（ｒ−ｐ）回の多項式乗算とを並列に行って、前記冗長ビット列のうちの（ｎ−ｋｒ−ｐ＋１）ビットと（ｒ−ｐ）個の長さｎのビット列とを出力する第ｐの多項式除算・乗算演算と、
を備える、請求項１に記載の方法。
【請求項３】
前記多項式除算における除数を、多項式ｘｎ−１を１のｎ乗根を含む有限体の元の素体上の最小多項式の積からなる多項式で除算した商多項式とする、請求項２に記載の方法。
【請求項４】
低密度パリティ検査符号を用いる誤り訂正符号化装置であって、
ｍ，ｎを正整数、ｒを１≦ｒ≦ｍの整数、ｋ１，ｋ２，…，ｋｒを０≦ｋ１，ｋ２，…，ｋｒ≦ｎ−１の整数として、
誤り訂正符号化すべき情報ビット列を、各々が長さｎのビット列からなる（ｍ−ｒ）個の第１のブロックと、各々が長さｋ１，ｋ２，…，ｋｒのビット列からなるｒ個の第２のブロックとに分割する分割部と、
（ｍ−ｒ）個の前記第１のブロックに対して多項式乗算を行って演算結果として長さｎのビット列を出力するｒ個の第１の演算部と、
ｒ個の前記第２のブロックとｒ個の前記第１の演算部の各々から並列に入力する前記演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれｎ−ｋ１，ｎ−ｋ２，…，ｎ−ｋｒである冗長ビット系列を含むビット列を出力する第２の演算部と、
を有する、誤り訂正符号化装置。
【請求項５】
前記第２の演算部は、
長さがｋｒである前記第２のブロックとｒ個の前記第１の演算部からの演算結果とに対してたかだか１個の多項式除算とたかだか（ｒ−１）回の多項式乗算とを並列に行って、前記冗長ビット列のうちの（ｎ−ｋｒ）ビットと（ｒ−１）個の長さｎのビット列とを出力する第１の多項式除算・乗算ユニットと、
ｐを２≦ｐ≦ｒの整数として、第（ｐ−１）の多項式除算・乗算ユニットから出力される（ｒ−ｐ＋１）個の長さｎのビット列と、長さがｋｒ−ｐ＋１である前記第２のブロックとに対して、たかだか１回の多項式除算とたかだかｒ−ｐ回の多項式乗算とを並列に行って、前記冗長ビット列のうちの（ｎ−ｋｒ−ｐ＋１）ビットと（ｒ−ｐ）個の長さｎのビット列とを出力する第ｐの多項式除算・乗算ユニットと、
を備える、請求項４に記載の装置。
【請求項６】
前記第１の演算部は、
複数段縦続接続されたレジスタと、
前記縦続接続においてレジスタごとに当該レジスタの入力端に配置された排他的論理和回路と、を備え、
前記排他的論理和回路ごとに当該排他的論理回路の出力論理を非反転または反転とするように、所定の多項式演算に基づいて定められる結線によって前記各排他的論理回路の出力論理が設定されている、請求項４に記載の装置。
【請求項７】
ｑを１≦ｑ≦ｒの整数として、第ｒの多項式除算・乗算ユニットは、たかだか１つの多項式除算回路と、たかだか（ｒ−ｑ）個の多項式乗算回路とを備える、請求項５に記載の装置。
【請求項８】
前記多項式除算回路は、多項式ｘｎ−１を１のｎ乗根を含む有限体の元の素体上の最小多項式の積からなる多項式で除算した商多項式を除数として多項式除算を実行する回路である、請求項７に記載の装置。
【請求項９】
前記第１の演算部は、
複数段縦続接続されたレジスタと、
前記縦続接続においてレジスタごとに当該レジスタの入力端に配置された排他的論理和回路と、を備え、
前記排他的論理和回路ごとに当該排他的論理回路の出力論理を非反転または反転とするように、所定の多項式演算に基づいて定められる結線によって前記各排他的論理回路の出力論理が設定されている、請求項５に記載の装置。
【請求項１０】
入力データを変調して送信するデータ送信装置であって、前記入力データに対して誤り訂正符号化を行う請求項４乃至９のいずれか１項に記載の装置を有するデータ送信装置。
【請求項１１】
入力データを変調して記録媒体に記録するデータ記憶装置であって、前記入力データに対して誤り訂正符号化を行う請求項４乃至９のいずれか１項に記載の装置を有するデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報系列を一定長のブロックに分割し、各ブロックごとに独立に冗長系列を付加するブロック誤り訂正符号化方法とそのための装置とに関し、特に、低密度パリティ検査（ＬＤＰＣ；Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ）符号化の方法及びその装置に関する。
【背景技術】
【０００２】
衛星通信あるいは移動体通信システムなどの通信システムにおいては、所要電力の低減、アンテナの小型化などのシステム構成上の要件を満たすために、大きな符号化利得を有する誤り訂正符号化技術の導入が行われている。低密度パリティ検査符号は、非常に大きな符号化利得を有する誤り訂正符号として知られている。各種通信システムやさらには磁気記録装置などの記憶装置への低密度パリティ検査符号の導入が進んでいる。
でいる。【０００３】
低密度パリティ検査符号方式は、単に一つの誤り訂正符号化方式を示すのではなく、検査行列が疎であるという特徴をもった誤り訂正符号の総称である。検査行列が疎であるとは、検査行列中の成分（要素）のほとんどが“０”であり、“１”である成分の数が非常に少ないことをいう。低密度パリティ検査符号は、Ｄ．  Ｊ．  Ｃ．  ＭａｃＫａｙ，  “Ｇｏｏｄ  Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅｓ  Ｂａｓｅｄ  ｏｎ  ｖｅｒｙ  ｓｐａｒｓｅ  ｍａｔｒｉｃｅｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，  ｐｐ．  ３９９−４３１，  Ｍａｒｃｈ  １９９９（非特許文献１）に開示されるように、疎な検査行列の選択によって、サム・プロダクト（ｓｕｍ−ｐｒｏｄｕｃｔ）アルゴリズムなどの繰り返し復号方式を用いることにより、理論限界に近い非常に大きな符号化利得を持つ誤り訂正符号化方式を構成することが可能であるという特徴を有している。【０００４】
低密度パリティ検査符号に関連する技術的問題点は、符号化方法、すなわち情報ビット系列から冗長ビット系列を算出する方法に必要となる計算量が多い、ということである。冗長ビット系列の生成が符号の生成行列による行列の乗算演算からなるという最も典型的な符号化装置においては、低密度パリティ検査符号系列の生成に、符号長の二乗に比例した回数の排他的論理和演算が必要となる。【０００５】
符号の検査行列によって符号化装置を構成する場合には、低密度パリティ検査符号系列の生成は、式（１）に見られるように、検査行列の一部が対角行列となる形にその検査行列を基本変形し、その基本変形された検査行列によって実現される。【０００６】
【数１】
2007132656.tif 000003
【０００７】
具体的には、ｒ及びｋは正整数であるとし、ｉは１≦ｉ≦ｒの整数であるとし、式（１）のＡで記した部分をｒ×ｋ行列とし、ｃ１，ｃ２，…，ｃｋをｋビットの情報ビット系列とすると、それに対応するｒビットの冗長ビット列ｐ１，ｐ２，…，ｐｒにおける各ビットｐｉは、式（２）によって算出される。【０００８】
【数２】
2007132656.tif 000004
【０００９】
ここで、ｊは１≦ｊ≦ｋの整数であるとして、式中のａｉ，ｊは、前述のｒ×ｋ行列Ａでの（ｉ，ｊ）成分を表す。したがって、誤り訂正符号の符号化を行うためには、このｒ×ｋ行列Ａをメモリなどの記憶装置に保持し、行列Ａの各成分中の値“１”の数と等しい回数の排他的論理和演算が必要となる。【００１０】
図１は、低密度パリティ検査符号による符号化を行う、関連技術における符号化装置の構成の一例を示している。図示される符号化装置は、情報ビット列が与えられたときに、低密度パリティ検査符号による符号化を行って符号ビット列を出力するものである。この符号化装置は、情報ビット列に対して上記の式（２）の演算を実行して冗長ビット列を生成する冗長ビット列算出装置７１と、式（１）に示した行列Ａを保持して行列Ａの各成分（要素）を冗長ビット列算出装置７１に供給する行列情報保存メモリ７２と、情報ビット列と冗長ビット列とが組み合わされた符号ビット列が得られるように、情報ビット列と冗長ビット列算出装置７１からの冗長ビット列とを切り替えるスイッチ７３と、を備えている。冗長ビット列算出装置７１は、排他的論理和演算回路を含んでいる。【００１１】
このような符号化装置において、記憶装置（すなわち行列情報保存メモリ７２）の記憶容量の削減や、冗長ビット列算出回路７１における排他的論理和演算回路の数の削減に関連して、行列Ａの成分中の“１”の数ができるだけ少なく、かつ繰り返し復号によって得られる符号化利得がなるべく大きくなるような、低密度パリティ検査符号の構成方法が知られている。そのような構成方法は、例えば、Ｔｈｏｍａｓ  Ｒｉｃｈａｒｄｓｏｎ，Ｒ．  Ｕｒｂａｎｋｅ，  “Ｅｆｆｉｃｉｅｎｔ  Ｅｎｃｏｄｉｎｇ  ｏｆ  Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ  Ｃｏｄｅｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，  ｐｐ．  ６１９−６５６，  Ｓｅｐｔｅｍｂｅｒ  ２００１（非特許文献２）に開示されている。また、特開２００３−１１５７６８号公報（特許文献１）及び特開２００４−７２１３０号公報（特許文献２）には、検査行列を巡回置換行列のブロック行列からなる行列とし、各ブロック行列を巡回行列に限定することによって、メモリ量の削減、及び排他的論理演算処理の簡素化を実現する方法が開示されている。検査行列をこのようなの形のものに限定したものは、特に、擬似巡回符号と呼ばれている。これらの方法においても、装置規模の削減と処理の簡便さが両立しないという問題点が残されている。すなわち擬似巡回符号を用いる方法でも、装置規模は削減される一方で複雑な制御が必要となる、あるいは、擬似巡回符号の中でもさらに限定された符号、すなわちさらに制約条件が加えられた符号にのみ適用可能である、などの課題がある。【００１２】
各種通信システム及び磁気記録などの記憶装置への誤り訂正符号化の適用の発展のために、符号化処理を小規模な装置で簡便な処理で行えることに加え、上記のサム・プロダクト・アルゴリズムなどの繰り返し復号によって得られる符号化利得の改善がもたらされる符号化方式の開発が求められている。
【特許文献１】特開２００３−１１５７６８号公報
【特許文献２】特開２００４−７２１３０号公報
【非特許文献１】Ｄ．  Ｊ．  Ｃ．  ＭａｃＫａｙ（マッカイ），  “Ｇｏｏｄ  Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅｓ  Ｂａｓｅｄ  ｏｎ  ｖｅｒｙ  ｓｐａｒｓｅ  ｍａｔｒｉｃｅｓ（非常に疎な行列に基づく良好なエラー訂正コード），”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，  ｐｐ．  ３９９−４３１，  １９９９年３月
【非特許文献２】Ｔｈｏｍａｓ  Ｒｉｃｈａｒｄｓｏｎ（トーマス  リチャードソン），Ｒ．  Ｕｒｂａｎｋｅ（ウルバンケ），  “Ｅｆｆｉｃｉｅｎｔ  Ｅｎｃｏｄｉｎｇ  ｏｆ  Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ  Ｃｏｄｅｓ（低密度パリティ検査符号の効率的な符号化），”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，  ｐｐ．  ６１９−６５６，  ２００１年９月
【発明の開示】
【発明が解決しようとする課題】
【００１３】
低密度パリティ検査符号に関する符号化は、上述の式（１）中の行列Ａを保持する行列情報保存メモリなどの記憶装置と、上述の式（２）の処理を実行する冗長ビット列算出装置などの演算処理装置とを用いて実現されていることにより、リードソロモン符号などの巡回符号化、あるいは畳込み符号化と比較して、符号化装置の規模が非常に大きくなるという問題点を有する。この課題のために、上述した関連技術での誤り訂正符号化では、特に衛星通信、地上マイクロ波通信、移動体通信などのシステムに適用した場合において、符号化処理における処理の簡便さ及び装置規模の削減と、符号化処理による符号化利得の向上との両立が困難なものとなっている。【００１４】
そこで本発明の目的は、低密度パリティ検査符号化による誤り訂正符号化方法であって、誤り訂正符号化装置の装置規模が小さく済みかつ装置構成が簡単であるとともに、繰り返し復号によって大きな符号化利得を得ることができる方法を提供することにある。【００１５】
本発明の別の目的は、低密度パリティ検査符号化による誤り訂正符号化装置であって、装置規模が小さく済みかつ装置構成が簡単であるとともに、繰り返し復号によって大きな符号化利得を得ることができる装置を提供することにある。
【課題を解決するための手段】
【００１６】
本発明の誤り訂正符号化方法は、低密度パリティ検査符号を用いる誤り訂正符号化方法であって、Ｋ，ｍ，ｎを正整数、ｒを１≦ｒ≦ｍの整数、ｋ１，ｋ２，…，ｋｒを０≦ｋ１，ｋ２，…，ｋｒ≦ｎ−１の整数として、誤り訂正符号化すべき長さＫの情報ビット列を、各々が長さｎのビット列からなる（ｍ−ｒ）個の第１のブロックと、各々が長さｋ１，ｋ２，…，ｋｒのビット列からなるｒ個の第２のブロックとに分割することと、（ｍ−ｒ）個の第１のブロックに対して多項式乗算を行って長さｎのｒ個のビット列を出力する第１の演算と、ｒ個の第２のブロックと第１の演算によるｒ個の演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれｎ−ｋ１，ｎ−ｋ２，…，ｎ−ｋｒである冗長ビット系列を含むビット列を出力する第２の演算と、を有する。【００１７】
本発明の誤り訂正符号化装置は、低密度パリティ検査符号を用いる誤り訂正符号化装置であって、Ｋ，ｍ，ｎを正整数、ｒを１≦ｒ≦ｍの整数、ｋ１，ｋ２，…，ｋｒを０≦ｋ１，ｋ２，…，ｋｒ≦ｎ−１の整数として、誤り訂正符号化すべき長さＫの情報ビット列を、各々が長さｎのビット列からなる（ｍ−ｒ）個の第１のブロックと、各々が長さｋ１，ｋ２，…，ｋｒのビット列からなるｒ個の第２のブロックとに分割する分割部と、（ｍ−ｒ）個の第１のブロックに対して多項式乗算を行って演算結果として長さｎのビット列を出力するｒ個の第１の演算部と、ｒ個の第２のブロックとｒ個の第１の演算部の各々から並列に入力する演算結果とに対して多項式除算及び多項式乗算を行って、長さがそれぞれｎ−ｋ１，ｎ−ｋ２，…，ｎ−ｋｒである冗長ビット系列を含むビット列を出力する第２の演算部と、を有する。【００１８】
本発明の誤り訂正符号化装置において、例えば各第１の演算部は、それぞれ、最大で（ｍ−ｒ）個の多項式乗算回路を備えていてもよい。また第２の演算部は、例えば、長さがｋｒである第２のブロックとｒ個の第１の演算部からの演算結果とに対してたかだか１個の多項式除算とたかだか（ｒ−１）回の多項式乗算とを並列に行って、冗長ビット列のうちの（ｎ−ｋｒ）ビットと（ｒ−１）個の長さｎのビット列とを出力する第１の多項式除算・乗算ユニットと、ｐを２≦ｐ≦ｒの整数として、第（ｐ−１）の多項式除算・乗算ユニットから出力される（ｒ−ｐ＋１）個の長さｎのビット列と、長さがｋｒ−ｐ＋１である第２のブロックとに対して、たかだか１回の多項式除算とたかだかｒ−ｐ回の多項式乗算とを並列に行って、冗長ビット列のうちの（ｎ−ｋｒ−ｐ＋１）ビットと（ｒ−ｐ）個の長さｎのビット列とを出力する第ｐの多項式除算・乗算ユニットと、を備えることができる。この場合、ｑを１≦ｑ≦ｒの整数として、第ｒの多項式除算・乗算ユニットは、例えば、たかだか１つの多項式除算回路と、たかだか（ｒ−ｑ）個の多項式乗算回路とを備えることができる。【００１９】
このような多項式除算・乗算ユニットにおいては、多項式除算回路における除数となるべき多項式と、多項式乗算回路における乗数を定める多項式とを設定するために、例えば結線論理を用いることができる。この場合、多項式除算回路の結線に対応する最大ｒ個の多項式として有限体の元の素体上の最小多項式に関連した一連の多項式を採用し、多項式乗算回路の結線に対応する多項式を、多項式除算装置に対応する多項式との積多項式によって構成した行列が疎な行列となるよう選択することによって、符号化利得を大きくすることができ、効率的な処理を行うことが可能になる。【００２０】
本発明によれば、装置規模が小さく、装置構成が簡単であり、なおかつ繰り返し復号方式によって高い符号化利得を得ることが可能な、低密度パリティ検査符号による符号化方法及び装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】関連技術における誤り訂正符号化装置の構成の一例を示すブロック図である。
【図２】本発明の実施の一形態の誤り訂正符号化装置の構成を示すブロック図である。
【図３】多項式乗算ユニットの構成の一例を示すブロック図である。
【図４】多項式乗算回路の構成の一例を示すブロック図である。
【図５】多項式除算・乗算ユニットの構成の一例を示すブロック図である。
【図６】多項式除算回路の構成の一例を示すブロック図である。
【図７】符号ビット系列に関するフレームフォーマットの一例を示す図である。
【図８】多項式乗算ユニットの別の構成例を示すブロック図である。
【図９】本発明に基づく符号化装置を使用したデータ通信システムの構成の一例を示すブロック図である。
【符号の説明】
【００２２】
１１    多項式乗算ユニット
１２    多項式除算・乗算ユニット
１３，１４，２３，３４，５４，５５，６４，７３    スイッチ
２１，４２    多項式乗算回路
２２，３２，４３，５２，６２    排他的論理和回路
３１，５１，６１    フリップ・フロップ
３３，５３，６３    結線素子
４１    多項式除算回路
４４    セレクタ
４５，４６    入力端子
４７，４８    出力端子
６５    シリアル／パラレル変換器
７１    冗長ビット列算出装置
７２    行列情報保存メモリ
８１    データ送信装置
８２    符号化装置
８３，８７    同期制御・データ変換装置
８４    変調器
８５    データ受信装置
８６    復調器
８８    復号装置
【発明を実施するための最良の形態】
【００２３】
図２に示す本発明の実施の一形態に基づく誤り訂正符号化装置は、入力として供給される情報ビット列に対して低密度パリティ検査符号による誤り訂正符号化を行って符号ビット列を生成するものである。この誤り訂正符号化装置は、ｒを１以上の整数として、並列に配置されたｒ個の多項式乗算ユニット１１と、直列に配置されたｒ個の多項式除算・乗算ユニット１２と、入力側に設けられるスイッチ１３と、出力側に設けられるスイッチ１４と、を備えている。ｒ個設けられる多項式除算・乗算ユニット１２を相互に識別するために、後述するように、“［１］”〜“［ｒ］”の表記を用いている。スイッチ１３は、この誤り訂正符号化装置に入力される情報ビット列をいずれかの多項式乗算ユニット１１に振り分けるためのものである。スイッチ１４は、後述するように情報ビット列と冗長ビット列とが組み合わされた符号ビット列を出力するために、情報ビット列と最終段の多項式除算・乗算ユニット［１］のｒ個の出力とを順次選択するためのものである。【００２４】
本実施形態における符号化方式は、長さがＫビットである情報ビット系列を入力として、長さがｎｍビットである符号ビット系列を算出して出力するものである。ここで、情報ビット系列のビット長Ｋは次式で表すことができる。【００２５】
【数３】
2007132656.tif 000005
【００２６】
ビット長がｎｍである符号ビット系列中のＫビットは、ビット長がＫである入力情報ビット系列に完全に一致する。すなわち、本実施形態における符号化方式は組織符号化方式となっている。以下、本実施形態の誤り訂正符号化装置の構成の詳細について説明する。以下の説明において、特に断らない限り、長さとはビット長のことをいう。【００２７】
ｒ個設けられる多項式乗算ユニット１１は、いずれも同様の構成のものであって、ｍをｒ以上の整数として、図３に示すように、たかだか（ｍ−ｒ）個の多項式乗算回路２１と、多項式乗算回路２１の個数よりも１個少ない排他的論理和回路２２と、スイッチ２３とを備えている。（ｍ−ｒ）個設けられる多項式乗算回路２１は、各々が排他的論理和回路２２を介して直列に接続されている。スイッチ２３は、１入力（ｍ−ｒ）出力のものであって、入力されてくる情報ビット列を１番目すなわち図示左端の多項式乗算回路２１または（ｍ−ｒ−１）個の排他的論理和回路２２のいずれかに供給する。最終段すなわち図示右端の多項式乗算回路２１の出力が、この多項式乗算ユニット１１の出力として、後段の多項式除算・乗算ユニット１２に供給されるようになっている。【００２８】
このような多項式乗算ユニット１１は、式（２）に示した長さＫの情報ビットのうち、ｎ（ｍ−ｒ）ビットを入力として受け取り、長さｎのビット列を出力する。この出力ビット列は、後段の多項式除算・乗算ユニット１２へ入力される。長さｎ（ｍ−ｒ）のビット列は、ｎビットごとに分割され、スイッチ２３によって、（ｍ−ｒ）個の多項式乗算回路２１のいずれかへ分配されることになる。例えば、１番目からｎ番目のビットは、１番目すなわち図示左端の多項式乗算回路２１へ逐次入力され、（ｎ＋１）番目から２ｎ番目のビットは、排他的論理和回路２２を介して２番目すなわち図示左端から２番目の多項式乗算回路２１へ逐次入力される。以下同様にして、ｊは２≦ｊ≦ｍ−ｒ−１の整数であるとして、（ｊｎ＋１）番目から（ｊ＋１）ｎ番目のビットは、ｊ番目の排他的論理和回路２２を介して（ｊ＋１）番目の多項式乗算回路２１へ逐次入力される。【００２９】
多項式乗算ユニット１１中の多項式乗算回路２１は、いずれも同様の構成のものである。各多項式乗算回路２１は、図４に示すように、ｎを正整数として、レジスタとして用いられるｎ個のフリップ・フロップ３１と、たかだかｎ個の排他的論理和回路３２と、排他的論理和回路３２ごとに設けられるとともに多項式乗算回路２１への入力ビット列が供給され、検査行列に応じて結線または非結線の状態が定まる結線素子３３と、スイッチ３４と、を備えている。排他的論理和回路３２は、フリップ・フロップ３１ごとにそのフリップ・フロップの入力側に設けられている。このようにそれぞれ排他的論理和回路３２を伴ったｎ個のフリップ・フロップ３１は、それらの排他的論理和回路３２を介して直列に接続しており、スイッチ３４は、最終段のフリップ・フロップ３１の出力に接続している。スイッチ３４は、最終段のフリップ・フロップ３１の出力をこの多項式乗算回路２１の出力として外部に供給するか、あるいは初段の排他的論理和回路３２を介して初段すなわち図示左端のフリップ・フロップ３１に戻すかを選択するためのものである。【００３０】
このようにこの多項式乗算回路２１は、ｎビット入力、ｎビット出力のものである。多項式乗算回路２１は、スイッチ３４により最終段のフリップ・フロップ３１の出力が初段のフリップ・フロップ３１に供給されるときにはｎビットの入力ビット列が逐次入力され、すべての入力が終わった時点でスイッチ３４を切り替えることにより、ｎ個のフリップ・フロップ（すなわちレジスタ）３１の中身を順次出力するように構成されている。ｎ個の結線素子３３は、図示するように、それぞれ、予め定められたｎビットのビット列ｈ０，ｈ１，…，ｈｎ−１に対応するものであり、該当するビットが“１”であるか“０”であるかによって、結線状態と非結線状態とのいずれかの状態をとるものである。結線状態とは、多項式乗算回路２１への入力ビット列が結線素子３３を介して排他的論理和回路３２に供給される状態のことである。これに対して非結線状態とは、多項式乗算回路２１への入力ビット列が排他的論理和回路３２に供給されない状態のことである。ｊを０≦ｊ≦ｎ−１の整数として、ｈｊが１であった時は“ｈｊ”と記された部分の結線素子が“結線”状態となり、ｈｊが０であった時は“ｈｊ”と記された部分の結線素子が“非結線”状態となる。このようにして多項式乗算回路２１は、ｎビットのビット列ｈ０，ｈ１，…，ｈｎ−１を係数とする多項式との多項式乗算を実行する。ビット列ｈ０，ｈ１，…，ｈｎ−１に関する選択方法の一例については後述する。【００３１】
直列に配置されたｒ個の多項式除算・乗算ユニット１２については、それらを相互に識別するために、“［１］”〜“［ｒ］”の表示で区別している。図２に示すように、入力側すなわち多項式乗算ユニット１１側の多項式除算・乗算ユニットを多項式除算・乗算ユニット［ｒ］とし、多項式除算・乗算ユニット［ｒ］の出力に設けられる多項式除算・乗算ユニットを多項式除算・乗算ユニット［ｒ−１］とし、以下同様にして、図示右端の多項式除算・乗算ユニットを多項式除算・乗算ユニット［１］とする。【００３２】
ｉを１≦ｉ≦ｒの整数とすると、このような多項式除算・乗算ユニット１２のうちの多項式除算・乗算ユニット［ｉ］は、図５に示すように、たかだか１個の多項式除算回路４１と、たかだか（ｉ−１）個の多項式乗算回路４２を備えている。多項式乗算回路４２としては、図４に示した多項式乗算回路をそのまま使用することができる。多項式除算回路４１については後述する。【００３３】
直列に配置されたｒ個の多項式除算・乗算ユニット１２は、直列配置内での位置によってそれを構成する多項式乗算回路の数がそれぞれ異なっており、したがって、各多項式除算・乗算ユニットは、それを構成する多項式乗算回路の数によって区別されることになる。図２に示した符号化装置では、多項式除算・乗算ユニット［ｒ］における多項式乗算回路４２の数は（ｒ−１）個以下であり、多項式除算・乗算ユニット［ｒ−１］における多項式乗算回路４２の数は（ｒ−２）個以下であり、上述したように、多項式除算・乗算ユニット［ｉ］における多項式乗算回路４２の数は（ｉ−１）個以下である。なお、零多項式との乗算を考慮すれば、零多項式との乗算のための乗算回路は設ける必要がないので、多項式除算・乗算ユニット［ｉ］における多項式乗算回路４２の数は（ｉ−１）個となる。以下、多項式除算・乗算ユニット［ｉ］について説明する。【００３４】
多項式除算・乗算ユニット［ｉ］は、たかだか１個の多項式除算回路４１とたかだか（ｉ−１）個の多項式除算回路４２のほかに、多項式除算回路４１に対して２個と各多項式乗算回路４２ごとに１個設けられた排他的論理和回路４３と、セレクタ（ＳＥＬ）４４と、スイッチ１３（図２参照）から情報ビット列が供給される端子４５と、前段の多項式除算・乗算ユニット［ｉ＋１］からのビット列が並列に入力するｉ個の端子４６と、スイッチ１４（図２参照）に対してビット列を供給する端子４７と、後段の多項式除算・乗算ユニット［ｉ−１］にビット列を並列に出力する（ｉ−１）個の端子４８と、を備えている。ｉ個の端子４６のうち、最初の（ｉ−１）個の端子は、それぞれ、排他的論理和回路４３を介して多項式乗算回路４２の入力に接続し、多項式乗算回路４２の出力は、それぞれ、端子４８に接続している。これらの排他的論理和回路４３には、セレクタ４４の出力も共通に供給されている。【００３５】
セレクタ４４の出力は、端子４７にも接続している。端子４６のうち、残る１個の端子４６は、残る２つの排他的論理和回路４３に接続している。これらの排他的論理和回路４３のうちの一方は、端子４５からビット列も供給され、多項式除算回路４１の入力に接続している。他方の排他的論理和回路４３は、多項式除算回路４１の出力ビット列が供給されるとともに、セレクタ４４の一方の入力端子に接続している。セレクタ４４の他方の入力端子は、端子４５に接続している。【００３６】
なお、ｉ＝ｒの場合、すなわち多項式除算・乗算ユニット［ｒ］では、ｒ個の端子４６は、それぞれｒ個の多項式乗算ユニット１１の出力に接続する。また、ｉ＝１の場合、すなわち多項式除算・乗算ユニット［１］では、多項式乗算回路４２と端子４８とは設けられない。【００３７】
このような多項式除算・乗算ユニット［ｉ］では、式（２）に示した長さＫの情報ビットのうちｋｉビットが端子４５から入力するとともに、前段の多項式除算・乗算ユニット［ｉ＋１］からのｎｉビットが端子４６によってｉビットずつ並列に入力する。なお、ｉ＝ｒの時は、端子４６には、ｒ個の多項式乗算ユニットの出力が１ビットずつ並列に入力する。そして多項式除算・乗算ユニット［ｉ］は、長さｎのビット列を符号ビット列の一部として端子４７から出力するとともに、長さｎのビット列を（ｉ−１）個の多項式乗算回路から並列に端子４８から合計ｎ（ｉ−１）ビット出力する。多項式除算回路４１は、端子４５から逐次入力されるｋｉビットと端子４６から逐次入力されるｎビットのうちの前半ｋｉビット分との排他的論理和を入力として受け取り、入力が終了した次の時点から、（ｎ−ｋｉ）ビットを逐次出力する。この多項式除算回路４１の出力の（ｎ−ｋｉ）ビットと端子４６から逐次入力されるｎビットの後半の（ｎ−ｋｉ）ビット分との排他的論理和は、セレクタ４４を介して、多項式乗算回路４２の入力に供給される。セレクタ４４は、端子４５から逐次入力されるｋｉビットとを第１の入力として受け取るとともに、多項式除算回路の出力と端子４６から逐次入力されるｎビットの後半の（ｎ−ｋｉ）ビット分との排他的論理和を第２の入力として受け取り、第１及び第２の入力を切り替えて、合計ｎビットを逐次出力する。セレクタ４４が出力したｎビットは、符号ビット系列のｎｍビット中のｎビットとして、端子４７から出力される。多項式乗算回路４２は、セレクタ４４からの出力と端子４６に逐次入力されるｎビットとの排他的論理和を入力として受け取り、乗算結果のｎビットを端子４８から逐次出力する。【００３８】
上述したようにｉは１≦ｉ≦ｒの整数であるとして、次に、多項式除算・乗算ユニット［ｉ］内に設けられる多項式除算回路４１について、図６を用いて説明する。【００３９】
多項式除算回路４１は、ｋｉを０≦ｋｉ≦ｎの整数として、（ｎ−ｋｉ）個のフリップ・フロップ５１と、たかだか（ｎ−ｋｉ）個の排他的論理和回路５２と、（ｎ−ｋｉ＋１）個の結線素子５３と、スイッチ５４，５５と、から構成されている。（ｎ−ｋｉ＋１）個の結線素子５３は、それぞれ、予め定められた長さ（ｎ−ｋｉ＋１）ビットのビット列ｇ０，ｇ１，…，ｇｎ−ｋｉの各ビットに対応し、対応するビットの値に応じて、結線状態または非結線状態のいずれかの状態に定められる。具体的には、ｊは０≦ｊ≦ｎ−ｋｉの整数であるとして、（ｊ＋１）番目の結線素子５３すなわち図示“ｇｊ”と記載された結線素子は、ビットｇｊが１である時は結線状態となり、ビットｇｊが０である時は非結線状態となる。（ｎ−ｋｉ）個のフリップ・フロップ５１は、それぞれ排他的論理和回路５２を間に挟んで直列に接続している。スイッチ５４は、最終段のフリップ・フロップ５１の出力を、この多項式除算回路４１の出力として外部に供給するか、あるいは残る１つの排他的論理和回路５２すなわち最後の排他的論理和回路５２に供給するかを切り替えるものである。【００４０】
最後の排他的論理和回路５２には、多項式除算回路４１への入力ビット列が供給されており、最後の排他的論理和回路５２の出力は、スイッチ５５を介して、（ｎ−ｋｉ＋１）番目の結線素子５３すなわちビットｇｎ−ｋｉに対応する結線素子に供給されている。１番目すなわち図示左端のフリップ・フロップ５１には、ビットｇ０に対応する結線素子５３を介して、ビットｇｎ−ｋｉに対応する結線素子５３からの出力が供給されている。残りのフリップ・フロップ５１に関しては、その入力部に設けられた排他的論理和回路５２に対し、それぞれ、ビットｇ１，…，ｇｎ−ｋｉ−１に対応する結線素子５３を介して、ビットｇｎ−ｋｉに対応する結線素子５３からの出力が供給されている。【００４１】
このような多項式除算回路４１は、スイッチ５４を最後の排他的論理和回路５２側としてｋｉビットを逐次入力として受け取り、入力が終わった時点でスイッチ５４を切り替え、（ｎ−ｋｉ）個のフリップ・フロップ５１に蓄えられた合計（ｎ−ｋｉ）ビットを逐次出力する。すなわちこの多項式除算回路４１は、ｋｉビットの入力ビット列と、（ｎ−ｋｉ＋１）ビットのビット列ｇ０，ｇ１，…，ｇｎ−ｋｉの各ビットを係数とする多項式との多項式除算を実行する。ビット列ｇ０，ｇ１，…，ｇｎ−ｋｉに関する選択方法の一例については後述する。【００４２】
ここで、図２に示した誤り訂正符号化装置に対応する検査行列について説明する。この検査行列は、式（４）で表される。【００４３】
【数４】
2007132656.tif 000006
【００４４】
式（４）の検査行列はｒ×ｍブロック行列であり、その各成分はｎ×ｎ巡回行列である。式（４）の右下三角部分、すなわち式においてボールド文字で“０”と記載された部分のｎ×ｎ巡回行列は零行列である。ｎ×ｎ巡回行列は、式（５）に記したように、第２行目の行ベクトルが第１行目の行ベクトルを１ビット右に巡回したものとなっているとともに、ｋを２≦ｋ≦ｎの整数として、第ｋ列目の列ベクトルが第１行目の行ベクトルを（ｋ−１）ビットだけ右に巡回したものとなっているものである。【００４５】
【数５】
2007132656.tif 000007
【００４６】
式（５）のｎ×ｎ巡回行列の第１行目の行ベクトルは、式（６）に示すように、（ｎ−１）次以下の多項式として表現することができる。【００４７】
ａ０＋ａ１ｘ＋ａ２ｘ２＋…＋ａｎ−１ｘｎ−１          （６）【００４８】
以下、ｉは１≦ｉ≦ｒの整数、ｊは１≦ｊ≦ｍ−ｒの整数、ｖは２≦ｖ≦ｒの整数、ｕは１≦ｕ≦ｔ−１の整数であるとして、式（４）におけるＨｉ，ｊの第１行目の行ベクトルを（ｎ−１）次以下の多項式として表示したものをｈ（ｉ，ｊ）（ｘ）と記し、式（４）中のＦｓ，ｔの第１行目の行ベクトルを（ｎ−１）次以下の多項式として表示したものをｆ（ｕ，ｖ）（ｘ）と記し、式（４）中のＧｉの第１行目の行ベクトルを（ｎ−１）次以下の多項式として表示したものをｇ（ｉ）（ｘ）と記す。【００４９】
多項式乗算ユニット１１における多項式乗算回路２１、及び多項式除算・乗算ユニット１２における多項式乗算回路４２は、いずれも上述したように図４に示す構成を有するが、このような多項式乗算回路において、結線素子３３の結線状態または非結線状態の別を定めるｎビットのビット列ｈ０，ｈ１，…，ｈｎ−１は、上述の多項式ｈ（ｉ，ｊ）（ｘ）及びｆ（ｕ，ｖ）（ｘ）の選択を通して決定される。また、多項式除算・乗算ユニット１２における多項式除算回路４１の結線を定める（ｎ−ｋｉ＋１）ビットのビット列ｇ０，ｇ１，…，ｇｎ−ｋｉの選択は、多項式ｇ（ｉ）（ｘ）の選択を通して決定される。以下、多項式ｈ（ｉ，ｊ）（ｘ），ｆ（ｕ，ｖ）（ｘ），ｇ（ｉ）（ｘ）の選択の一例について説明する。【００５０】
整数ｑを２の冪とし、すなわちｓを正整数としてｑ＝２ｓとし、前述の整数ｎをｎ＝ｑ−１とする。ｑ個の元からなる有限体ＧＦ（ｑ）の原始元αと、１≦ｉ≦ｒを満たす整数ｉとに対して、ｇ（ｉ）（ｘ）を式（７）のように定める。【００５１】
【数６】
2007132656.tif 000008
【００５２】
ここで、Ｂｉは、０以上ｑ−２以下の整数の部分集合であって、式（７）の多項式を展開したときに、その係数が０もしくは１となるものとする。したがって、ｇ（ｉ）（ｘ）は、Ｂｉによって定められたＧＦ（ｑ）の元の素体（ＧＦ（２））上の最小多項式を掛け合わせた多項式となる。また、Ｂ１，Ｂ２，…，Ｂｒは、次の関係（式（８））を満たすものとする。【００５３】
Ｂ１⊆Ｂ２⊆…⊆Ｂｒ        （８）【００５４】
これは、ｉとｊをそれぞれ１≦ｉ≦ｒ，１≦ｊ≦ｒを満たす整数とするとき、ｉ＜ｊならばｇ（ｊ）（ｘ）はｇ（ｉ）（ｘ）で割り切れることを意味している。【００５５】
多項式ｈ（ｉ，ｊ）（ｘ）は、ｘｎ−１を法として、ｇ（ｉ）（ｘ）の倍多項式と設定する。すなわち、式（９）の条件を満たすものとして、次数が（ｎ−１）以下の多項式ｈ（ｉ，ｊ）（ｘ）を設定する。【００５６】
ｈ（ｉ，ｊ）（ｘ）≡Ψ（ｉ，ｊ）（ｘ）  ｇ（ｉ）（ｘ）  ｍｏｄ  （ｘｎ−１）        （９）【００５７】
ここで、ｉは１≦ｉ≦ｒの整数、ｊは１≦ｊ≦ｍ−ｒの整数とし、Ψ（ｉ，ｊ）（ｘ）は、各項の係数が０あるいは１である、次数が（ｎ−１）次以下の多項式とする。さらに、前述の多項式ｆ（ｕ，ｖ）（ｘ）は、多項式ｈ（ｉ，ｊ）（ｘ）と同様に、ｘｎ−１を法として、ｇ（ｉ）（ｘ）の倍多項式と設定する。すなわち、式（１０）の条件を満たすものとして、次数が（ｎ−１）次以下の多項式ｆ（ｕ，ｖ）（ｘ）を設定する。【００５８】
ｆ（ｕ，ｖ）（ｘ）≡φ（ｕ，ｖ）（ｘ）  ｇ（ｕ）（ｘ）  ｍｏｄ  （ｘｎ−１）        （１０）【００５９】
ここで、ｖを２≦ｖ≦ｒの整数、ｕを１≦ｕ≦ｖ−１の整数として、φ（ｕ，ｖ）（ｘ）は、各項の係数が０あるいは１である、次数が（ｎ−１）次以下の多項式とする。【００６０】
次に、多項式乗算ユニット１１における多項式乗算回路２１の結線について説明する。前述のように、多項式乗算回路の構成を示す図４において、結線素子３３は、予め定められたｎビットのビット列ｈ０，ｈ１，…，ｈｎ−１によって、その結線素子が結線状態となるか非結線状態のいずれの状態となるかが定まる。具体的には、ｊを０≦ｊ≦ｎ−１の整数として、ｈｊが１であったときは、“ｈｊ”と記された結線素子は結線状態となり、ｈｊが０であったときは、“ｈｊ”と記された結線素子は非結線状態となる。この結線を定めるｎビットのビット列の選択は次のように行う。【００６１】
本実施形態の符号化装置は、図２に示すようにｒ個の多項式乗算ユニット１１を備えているので、ｒ個の多項式乗算ユニット１１に対して、図示上から１，２，…，ｒと番号付けする。また各多項式乗算ユニット１１は、図３に示すように、たかだか（ｍ−ｒ）個の多項式乗算回路２１を備えるので、これらの多項式乗算回路に対して左から１，２，…，ｍ−ｒと番号付けする。ｉは１≦ｉ≦ｒの整数、ｊは１≦ｊ≦ｍ−ｒの整数、ｋは０≦ｋ≦ｎ−１の整数として、ｉ番目の多項式乗算ユニットにおけるｊ番目の多項式乗算回路の結線を示すｎビットのビット列をｈ０（ｉ，ｊ），ｈ１（ｉ，ｊ），…，ｈｎ−１（ｉ，ｊ）によって表すとき、ｈｋ（ｉ，ｊ）を式（９）におけるΨ（ｉ，ｊ）（ｘ）のｘｋの項の係数とする。このように設定することで、式（９）の多項式Ψ（ｉ，ｊ）（ｘ）を使って、図２に示す符号化装置内の多項式乗算ユニット１１に現れるすべての多項式乗算回路の係数を設定することができる。【００６２】
次に、多項式除算・乗算ユニット１２における多項式除算回路４１と多項式乗算回路４２における結線素子の状態について説明する。【００６３】
図６に多項式除算回路４１の構成が示されているが、図６中、結線素子５３が結線状態であるか非結線状態であるかは、前述のように、予め定められた（ｎ−ｋｉ＋１）ビットのビット列ｇ０，ｇ１，…，ｇｎ−ｋｉによって定まり、ｉは１≦ｉ≦ｎの整数、ｊは０≦ｊ≦ｎ−ｋｉの整数であるとして、ｇｊが１であったときは“ｇｊ”と記された部分の結線素子は結線状態となり、ｇｊが０であったときは“ｇｊ”と記された部分の結線素子は非結線状態となる。多項式除算・乗算ユニット［ｉ］における多項式除算回路での結線素子の状態を示す（ｎ−ｋｉ＋１）ビットのビット列をｇ０（ｉ），ｇ１（ｉ），…，ｇｎ−ｋｉ（ｉ）によって表す時、ｇｊ（ｉ）を、式（８）の多項式ｇ（ｉ）（ｘ）から式（１１）に基づいて定まる多項式σ（ｉ）（ｘ）のｘｊの項の係数とする。【００６４】
【数７】
2007132656.tif 000009
【００６５】
このように設定することで、式（８）の多項式ｇ（ｉ）（ｘ）を用いて、図２に示す符号化装置内の多項式除算・乗算ユニット１２に現れる多項式除算回路４１の係数を設定することができる。【００６６】
図６に示すように、多項式除算回路４１の出力は、多項式除算回路４１への入力ビット列を係数とする多項式を式（１１）の多項式σ（ｉ）（ｘ）で除算した剰余に相当する。このため、ｇ（ｉ）（ｘ）＝１、すなわちσ（ｉ）（ｘ）＝ｘｎ−１である場合には、多項式除算回路４１は、入力ビット列をそのまま出力することとなる。【００６７】
ｖは１≦ｖ≦ｒの整数、ｕは１≦ｕ≦ｖ−１の整数であるとして、ｖ番目の多項式除算・乗算ユニット１２における上からｕ番目（図５参照）の多項式乗算回路４２における各結線素子は、多項式乗算ユニット１１における多項式乗算回路２１の場合と同様のやり方で、式（１０）のφ（ｕ，ｖ）（ｘ）の各項の係数によって、結線状態か非結線状態かのいずれかに設定される。【００６８】
多項式除算回路４１での結線素子５３の状態を定める式（１１）の多項式σ（ｉ）（ｘ）の次数は、（ｎ−ｋｉ）に一致し、式（７）〜（１１）によって、式（４）の行列Ｈの階数Ｒは次の式（１２）で与えられる。【００６９】
【数８】
2007132656.tif 000010
【００７０】
したがって、式（４）の行列Ｈを検査行列とする符号化方式における冗長ビット数は、式（１２）に示したＲであり、情報ビット数は、式（３）に示したＫに一致する。情報ビット数と冗長ビット数を合わせた１ブロックのビット長はｎｍとなる。【００７１】
本実施形態の誤り訂正符号化装置によって符号化された長さｎｍビットの符号ビット系列に関するフレームフォーマットの一例を図７に示す。式（３）に示す符号ビット系列中のＫビットは、この符号化装置への入力情報ビット系列に完全に一致する。すなわち、本実施形態の符号化方式は組織符号化方式となっていることがわかる。【００７２】
次に、本実施形態の誤り訂正符号化装置の動作について説明する。【００７３】
図２に示す誤り訂正符号化装置には、誤り訂正符号化のためブロック化された、式（３）に示した長さＫビットの情報ビット列が、順次入力される。スイッチ１３の切り替えによって、長さＫの情報ビットのうち、１番目のビットからｎ（ｍ−ｒ）番目のビットまでのｎ（ｍ−ｒ）ビットをｒ個の並列に配置された多項式乗算ユニット１１の全てへ逐次入力させる。このとき、スイッチ１４は、ｎ（ｍ−ｒ）ビットの入力が符号化装置の出力としてそのまま出力されるようにセットされる。符号化装置がｎ（ｍ−ｒ）番目のビットを入力し終えた段階で、スイッチ１３を切り替え、これ以降のｋｒビットが初段の多項式除算・乗算ユニット［ｒ］に入力されるようにする。【００７４】
多項式除算・乗算ユニット［ｒ］は、前述のｋｒビットの情報ビットとｒ個の多項式乗算ユニット１１からの出力の合計ｎｒビットとを入力として、次段の多項式除算・乗算ユニット［ｒ−１］の入力となるｎ（ｒ−１）ビットとこの符号化装置の出力となるｎビットとを出力する。スイッチ１４は、その接続先が多項式除算・乗算ユニット［ｒ］の出力端子に切り替わり、ｎビットを出力する。ｉは２≦ｉ≦ｒ−１の整数であるとして、以下同様に、スイッチ１３を切り替え、多項式除算・乗算ユニット［ｉ］にｋｉビットの情報ビット列が供給されるようにする。多項式除算・乗算ユニット［ｉ］は、このｋｉビットの情報ビットに加え、多項式除算・乗算ユニット［ｉ＋１］から供給されるｎｉビットを処理し、符号化装置の出力となるｎビットと次段の多項式除算・乗算ユニット［ｉ−１］へ出力されるｎ（ｉ−１）ビットとを生成する。なお、Ｋビットの情報ビット列が本実施形態の符号化装置に連続的に供給される場合、各多項式除算・乗算ユニット１２での処理にはｎ単位時間を要するため、情報ビット列中のｋｉビットを入力後、多項式除算・乗算ユニット［ｉ］の処理が終了し、出力が完了するまでの間の時間、次に動作する多項式除算・乗算ユニット［ｉ−１］への情報ビット列（ｋｉ−１ビット）の入力を遅延させる必要がある。【００７５】
最後に、スイッチ１３を切り替え、多項式除算・乗算ユニット［１］にｋ１ビットの情報ビット列と多項式除算・乗算ユニット［２］の出力であるｎビットが入力されるようにする。その結果、多項式除算・乗算ユニット［１］からはｎビットが出力される。このｎビットの出力は、スイッチ１４を経て、この符号化装置の出力となる。なお、先に一例を示した多項式除算回路の結線において、ｇ（ｉ）（ｘ）＝１である場合、ｋｉ＝０ビットであり、前述のように、多項式除算・乗算ユニット［ｉ］における多項式除算は省略される。【００７６】
次に、多項式乗算ユニット１１の動作の詳細について説明する。前述のように、各多項式乗算ユニット１１には、情報ビット列の１ビット目からｎ（ｍ−ｒ）ビット目までのｎ（ｍ−ｒ）ビットが逐次入力される。これらのｎ（ｍ−ｒ）ビットは、ｎビットごとに分割され、図３に示すように、スイッチ２３によって、多項式乗算ユニット１１中の（ｍ−ｒ）個の多項式乗算回路２１へ分配される。まず１番目のビットからｎ番目のビットまでが、１番目の多項式乗算回路すなわち図３における左端の多項式乗算回路へ逐次入力される。ｎ番目のビットを入力し終えた時点で、スイッチ２３が切り替えられ、（ｎ＋１）番目のビットから２ｎ番目のビットまでが、排他的論理和回路２２を介して、２番目の多項式乗算回路すなわち図３において左端から２番目の多項式乗算回路へ入力される。すなわち、（ｎ＋１）番目のビットから２ｎ番目のビットまでの各々と１番目の多項式乗算回路の出力ビットとの排他的論理和が、２番目の多項式乗算回路へ逐次入力されることになる。以下同様に、ｊは２≦ｊ≦ｍ−ｒ−１の整数であるとして、（ｊｎ＋１）番目のビットから（ｊ＋１）ｎ番目のビットまでが排他的論理和回路を介して（ｊ＋１）番目の多項式乗算回路へ入力され、これにより、（ｊｎ＋１）番目から（ｊ＋１）ｎ番目までのビットの各々とｊ番目の多項式乗算回路の出力ビットとの排他的論理和がこの（ｊ＋１）番目の多項式乗算回路へ逐次入力されることになる。最終段の多項式乗算回路すなわち（ｍ−ｒ）番目の多項式乗算回路の出力ｎビットが、図３に示す多項式乗算ユニット１１の出力となる。【００７７】
ここで多項式乗算回路の動作について、図４を用いて説明する。レジスタとして用いられるフリップ・フロップ３１の中身をすべて零に初期化しておき、ｎビットのビット列を１ビットずつ多項式乗算回路に逐次入力する。この間、フィードバックがかかるように、スイッチ３４をフィードバック側すなわち出力側でない方へセットしておく。ｎビットのすべてが入力し終わった時点でスイッチ３４を切り替え、各フリップ・フロップ３１の中身を順次出力する。【００７８】
次に、多項式除算・乗算ユニット１２の動作について、図５を用いて説明する。前述のように多項式除算・乗算ユニット１２は、たかだか一つの多項式除算回路４１とたかだか（ｒ−１）個の多項式乗算回路４２からなる。多項式除算・乗算ユニット１２は、これを構成する多項式乗算回路４２の数によって区別されるが、基本的な動作は同一である。前述の多項式乗算ユニット１１の処理が終了した時点で、本実施形態の符号化装置には、式（３）の情報ビット列のＫビット中、ｎ（ｍ−ｒ）ビットが既に入力されている。【００７９】
多項式除算・乗算ユニット［ｒ］には、まず情報ビット列の（ｎ（ｍ−ｒ）＋１）番目のビットから（ｎ（ｍ−ｒ）＋ｋｒ）番目のビットまでが、端子４５を通して逐次入力され、これと同時に、ｒ個の多項式乗算ユニット１１の各々から並列にｎビットのビット列が端子４６を通して逐次入力される。端子４５から合計ｋｒビットの情報ビット列が入力している間に、この端子４５からの情報ビット列とｒ番目すなわち図示下端の端子４６から入力するビット列との排他的論理和が、多項式除算回路４１へ入力される。このときセレクタ４４は、端子４５からの入力を選択するように設定され、端子４５からの入力はそのまま出力端子４７から出力される。セレクタ４４の出力は、出力端子４７から出力されると同時に（ｒ−１）個の排他的論理和回路４３へ入力される。各多項式乗算ユニット１１からの出力を入力とするｒ個の端子４６のうち、多項式除算回路４１への入力となるものを除いた１番目から（ｒ−１）番目までの端子４６からの入力は、それぞれ、前述のセレクタ出力をもう一方の入力とする排他的論理和回路４３を経由して、（ｒ−１）個の多項式乗算回路４２へ入力される。【００８０】
（ｎ（ｍ−ｒ）＋ｋｒ）番目のビットが端子４５を経由して入力され終わった時点で、セレクタ４４の出力は、多項式除算回路４１の出力とｒ番目の端子４６から入力するデータとの排他的論理和を選択するようにセットされる。このとき、多項式除算回路４１から出力されるビット数は、（ｎ−ｋｒ）ビットである。セレクタ４４の出力は、端子４７から出力されて符号化装置の出力すなわち冗長ビット列となるとともに、（ｒ−１）個の端子４６からの入力との排他的論理和演算が実行される、排他的論理和演算の結果は各多項式乗算回路４２へ入力される。【００８１】
端子４７から出力されるｎビットのうち、前半のｋｒビットは端子４５から入力された情報ビット列そのままであり、後半の（ｎ−ｋｒ）ビットが冗長ビットとなる。情報ビット列の（ｎ（ｍ−ｒ）＋１）番目から（ｎ（ｍ−ｒ）＋ｋｒ）番目までのｋｒビットと端子４６から入力されるビット列の前半のｋｒビットとを処理するのにｋｒ単位時間を要し、その後、多項式除算回路の出力（ｎ−ｋｒ）ビットと端子４６から入力されるビット列の後半の（ｎ−ｋｒ）ビットとを処理するのに（ｎ−ｋｒ）単位時間を要する。すなわち、多項式除算・乗算ユニット［ｒ］に要する処理時間は、ｎ単位時間となる。（ｒ−１）個の多項式乗算回路４２中のフリップ・フロップ（すなわちレジスタ）３１に保存されたデータは、端子４８から出力され、次段の多項式除算・乗算ユニット［ｒ−１］へ入力される。【００８２】
以下同様に、ｉは２≦ｉ≦ｒ−１の整数の整数であるとして、多項式除算・乗算ユニット［ｉ］は、端子４５から入力されるｋｉビットと前段の多項式除算・乗算ユニット［ｉ＋１］から端子４６を介して入力されるｎｉビットから、この符号化装置の出力を生成して端子４７から出力するとともに、次段の多項式除算・乗算ユニット［ｉ−１］の入力となるデータを生成する。この生成されたデータは、次段の多項式除算・乗算ユニット［ｉ−１］の動作中に、多項式除算・乗算ユニット［ｉ］の端子４８から出力される。端子４７から出力されるｎビットのうち、前半のｋｉビットは端子４５から入力された情報ビット列そのままであり、後半の（ｎ−ｋｉ）ビットが冗長ビットとなる。【００８３】
最後に、情報ビットのうち、（Ｋ−ｋ０＋１）番目のビットからＫ番目のビットまでのｋ０ビットが多項式除算・乗算ユニット［１］に入力される。多項式除算・乗算ユニット［１］はたかだか一つの多項式除算回路４１からなり、この多項式除算回路４１は、多項式除算・乗算ユニット［２］から端子４６を介して入力されるｎビットのうちの前半のｋ０ビットと端子４５からの入力ｋ０ビットとの排他的論理和を入力とする。端子４７から出力されるｎビットのうち、前半のｋ０ビットでは、端子４５を介して入力されるビット列がそのまま出力され、後半の（ｎ−ｋ０）ビットは、多項式除算回路４１の出力である（ｎ−ｋ０）ビットと端子４６を介して入力されるｎビットの後半の（ｎ−ｋ０）ビットとの排他的論理和となる。【００８４】
次に、多項式除算回路４１の動作について、図６を用いて説明する。ここでは説明を簡単にするため、多項式除算・乗算ユニット［ｒ］内の多項式除算回路について説明するが、他の多項式除算・乗算ユニット内の多項式除算回路においても、基本的な動作はここで述べるものと同一である。【００８５】
多項式除算回路４１において、（ｎ−ｋｒ）個のフリップ・フロップ（すなわちレジスタ）５１の中身をすべて零に初期化しておき、スイッチ５４をフィードバック側すなわち出力側でない方にセットし、スイッチ５５を閉じておく。多項式除算回路４１へｋｒビットのビット列が逐次入力されると、フリップ・フロップ５１からなるシフトレジスタの中身が順次更新される。ｋｒビットが入力され終わった時点で、スイッチ５５を開き、スイッチ５４を出力側にセットして、各フリップ・フロップ５１の中身を順次出力する。【００８６】
以上のようにして本実施形態の誤り訂正符号化装置は、Ｋは正整数であるとして、ブロック化された長さＫビットの情報ビット列が与えられたときに、この情報ビット列をさらに（ｍ−ｒ）個の長さｎのブロックと各々が長さｋ１，ｋ２，ｋ３，…，ｋｒのｒ個のブロックに分割し、低密度パリティ検査符号に対応する式（４）に示す検査行列を使用して、図７に示すフレームフォーマットにより、長さｍｎの符号ビット系列を出力する。なお、ｍ，ｎは２以上の整数であり、ｒは１≦ｒ≦ｍの整数であり、ｋ１，ｋ２，ｋ３，…，ｋｒは、それぞれ、０≦ｋ１，ｋ２，ｋ３，…，ｋｒ≦ｎを満たす整数である。【００８７】
ｒ個の多項式乗算ユニット１１には、最大で合計ｒ（ｍ−ｒ）個の多項式乗算回路２１が含まれるが、この最大ｒ（ｍ−ｒ）個の多項式乗算回路２１は、長さＫビットの入力情報ビット列を上述のように分割して得られるビット列のうち、（ｍ−ｒ）個の長さｎの各ブロックを入力とし、各々長さｎの系列を出力する。そして、ｒ個の多項式除算・乗算ユニット１２には、最大で合計ｒ個の多項式除算回路４１と、最大で合計ｒ（ｒ−１）個の多項式乗算回路４２が含まれるが、ｒ個の多項式除算・乗算ユニット１２は、これらの多項式除算回路４１及び多項式乗算回路４２を用いて、Ｋビットの入力情報ビット列を上述のように分割した際の長さｋ１，ｋ２，ｋ３，…，ｋｒのブロックと多項式乗算ユニット１１の出力データとを入力として、それぞれ、長さがｎ−ｋ１，ｎ−ｋ２，ｎ−ｋ３，…，ｎ−ｋｒである冗長ビット系列を出力する。【００８８】
本実施形態の符号化装置では、最大ｒ個設けられる多項式除算回路４１について各多項式除算回路内の結線素子５３（図６参照）が結線状態か非結線常態のいずれの状態であるかを定めるために、最大ｒ個の多項式として有限体の元の素体上の最小多項式に関連した一連の多項式を採用している。また、多項式除算・乗算ユニット１２内の多項式乗算回路４２内の結線素子の状態を定める多項式を、多項式除算装置４１に対応する多項式との積多項式によって構成した行列が疎な行列となるよう選択している。このように多項式を採用し選択することによって、符号化利得が大きくなり、効率的な処理が可能となっている。【００８９】
以下、本発明のさらに具体的な例として、上述の式（７）と式（８）を満たす多項式ｇ（１）（ｘ），ｇ（２）（ｘ），…，ｇ（ｒ）（ｘ）のより具体的な設定方法の一例について説明する。【００９０】
整数ｑを２の冪とし、すなわちｓが正整数でありｑ＝２ｓであるとして、前述の整数ｎをｎ＝ｑ−１とする。ｑ個の元からなる有限体ＧＦ（ｑ）の原始元αと０≦Ｌ≦ｓ−１を満たす整数Ｌとに対して、ｇＬ（ｘ）を式（１３）のように定める。【００９１】
【数９】
2007132656.tif 000011
【００９２】
ここで、Ｗ（ｋ）は、１≦ｋ≦ｑ−２である整数ｋを２進展開した際における、各係数の、整数としての総和を表す。またｇ０（ｘ）＝１とする。式（１３）の多項式を展開すると、その係数は０もしくは１となる。式（１３）の多項式ｇＬ（ｘ）を使って、ｇ（ｉ）（ｘ）を式（１４）のように選択する。【００９３】
ｇ（ｉ）（ｘ）＝ｇＬ（ｘ），２Ｌ＜ｉ≦２Ｌ＋１          （１４）【００９４】
ただし、ｇ（１）（ｘ）＝ｇ（２）（ｘ）＝１とする。ｉとｊを１≦ｉ，ｊ≦ｒを満たす整数とするとき、ｉ＜ｊならばｇ（ｊ）（ｘ）はｇ（ｉ）（ｘ）で割り切れるため、式（１３）及び式（１４）によって設定された多項式ｇ（１）（ｘ），ｇ（２）（ｘ），…，ｇ（ｒ）（ｘ）は、式（７）と式（８）の要件を満たす。【００９５】
多項式ｈ（ｉ，ｊ）（ｘ）の選択は、ｉを１≦ｉ≦ｒの整数、ｊを１≦ｊ≦ｍ−ｒの整数として、式（９）に示す通り、ｇ（ｉ）（ｘ）の倍多項式となるように設定する。ｖを２≦ｖ≦ｒの整数、ｕを１≦ｕ≦ｖ−１の整数として、多項式ｆ（ｕ，ｖ）（ｘ）の選択は、多項式ｈ（ｉ，ｊ）（ｘ）の場合と同様に、式（１０）が示す通り、ｇ（ｕ）（ｘ）の倍多項式となるように設定する。多項式ｈ（ｉ，ｊ）（ｘ）とｆ（ｕ，ｖ）（ｘ）の選択には自由度があるが、式（１４）の多項式ｇ（ｉ）（ｘ）と多項式ｈ（ｉ，ｊ）（ｘ），ｆ（ｕ，ｖ）（ｘ）とによって定まる、式（４）に示した検査行列Ｈが、疎な巡回行列をブロックとするブロック行列Ｈ’を基本行変換した行列に一致するように、多項式ｈ（ｉ，ｊ）（ｘ），ｆ（ｕ，ｖ）（ｘ）を選択することができる。このことによって、本実施形態の符号化方式によって符号化されたビット列は、低密度パリティ検査符号となって、例えばサム・プロダクト復号法などの繰り返し復号法を適用することにより復号することが可能となる。【００９６】
具体的数値例を挙げて説明する。前述の整数ｓ，ｑをｓ＝３，ｑ＝８とし、αをｘ３＋ｘ＋１を原始多項式とする有限体ＧＦ（８）の原始元とする。この時、ｎ＝７であり、ｍ＝９，ｒ＝３とする。式（１３）と式（１４）から、ｇ（１）（ｘ）＝ｇ（２）（ｘ）＝１であり、ｇ（３）（ｘ）は原始多項式に一致し、ｇ（３）（ｘ）＝ｘ３＋ｘ＋１となる。式（９）によってｈ（ｉ，ｊ）（ｘ）を定めるΨ（ｉ，ｊ）（ｘ）を次のように選択する。ここでｉは１≦ｉ≦３の整数であり、ｊは１≦ｊ≦６の整数である。【００９７】
【数１０】
2007132656.tif 000012
【００９８】
式（１０）により、ｆ（ｕ，ｖ）（ｘ）を定めるφ（ｕ，ｖ）（ｘ）をφ（１，３）（ｘ）＝１，φ（２，３）（ｘ）＝ｘ５，φ（１，２）（ｘ）＝ｘ５と選択する。以上によって、本実施形態の符号化装置における各結線素子の状態がすべて定まる。またこれによって、式（４）の検査行列Ｈが定まるが、これは次の式（１６）に示した行列Ｈ’を基本行変換した行列に一致する。【００９９】
【数１１】
2007132656.tif 000013
【０１００】
ここで、ボールド文字の“０”は７×７全零行列を表し、ｋは０≦ｋ≦６の整数であるとして、Ｉｋは、式（５）の巡回行列において、ａｋのみが１であり、他はすべて０である巡回置換行列を表す。この検査行列Ｈ’に対応したサム・プロダクト復号法などの繰り返し復号法の適用により、本実施形態の符号化装置によって誤り訂正符号化されたビット列を効率的、かつ高精度で復号することができる。【０１０１】
最後に本実施形態の符号化装置と、これに対応して設計されたサム・プロダクト復号法などの繰り返し復号法を実施する装置を、各々送信側と受信側に設置することによる効果を一数値例によって説明する。前述の整数ｓ，ｑをｓ＝６，ｑ＝６４とし、αをｘ６＋ｘ＋１を原始多項式とする有限体ＧＦ（６４）の原始元とする。この時、ｎ＝６３であり、ｍ＝６５，ｒ＝８とする。式（１３）と式（１４）から、ｇ（１）（ｘ）＝ｇ（２）（ｘ）＝１であり、ｇ（３）（ｘ）とｇ（４）（ｘ）は原始多項式に一致し、ｇ（３）（ｘ）＝ｇ（４）（ｘ）＝ｘ６＋ｘ＋１となる。また、ｇ（５）（ｘ），ｇ（６）（ｘ），ｇ（７）（ｘ），ｇ（８）（ｘ）は、式（１３）と式（１４）より、式（１７）に示す多項式ｇ２（ｘ）に一致する。【０１０２】
【数１２】
2007132656.tif 000014
【０１０３】
前述の具体例と同様に、多項式Ψ（ｉ，ｊ）（ｘ）と多項式φ（ｕ，ｖ）（ｘ）を、式（４）の検査行列Ｈが、零行列と巡回置換行列を成分とする疎なブロック行列Ｈ’を基本行変換した行列に一致するように、選択することができる。この時、ｎ＝６３，ｍ＝６５であるから、符号長は４０９５ビットであり、ｋ１＝ｋ２＝０，ｋ３＝ｋ４＝６，ｋ５＝ｋ６＝ｋ７＝ｋ８＝２１であるから、式（３）より、情報ビット数は３６８７ビットである。このような選択によって、符号長が４０９５ビット、情報ビット長が３６８７ビットの符号化装置を構成することができ、さらにこれはサム・プロダクト復号法などの繰り返し復号法によって、高精度かつ効率的に復号処理することが可能である。【０１０４】
加法的白色ガウス雑音環境下において２相位相偏移（ＢＰＳＫ）変調方式で変調された信号によって通信を行う際、前述の符号長が４０９５ビット、情報ビット数が３６８７ビットの符号を適用することによって、復号後のビット誤り確率が０．１％の時、３．５ｄＢ以上の符号化利得を得ることができる。なお、このときの帯域拡大率は約１１％である。【０１０５】
前述のように本具体例においては、式（４）の行列の行ブロック数に相当するパラメータｒを８と設定したが、このパラメータｒを変えることによって、符号化装置に大幅な変更を伴うことなく、符号化率や帯域拡大率を変えることが可能である。例えば、パラメータｒのみを８から４へ設定し直し、多項式の選択等の他の設定は変えないものとする。この時のブロック行列Ｈは、行ブロック数が４、列ブロック数が６５であり、各行ブロックは、ｒ＝８である時のブロック行列Ｈの第１行ブロックから第４行ブロックに一致する。ブロック行列Ｈを基本行変形して得られる疎なブロック行列Ｈ’についても同様にその第１行ブロックから第４行ブロックが一致する。ｒ＝４の場合の符号化装置は、ｒ＝８の場合の符号化装置における多項式乗算回路と多項式除算回路の一部を切り離すことによって実現できる。図２において８個並列に設置された多項式乗算ユニットの下４個を切り離し、さらにｉ＝８，７，６，５である多項式除算・乗算ユニット［ｉ］に関して、多項式除算回路と前述のように切り離された下４個の多項式乗算ユニットに接続された多項式乗算回路とを切り離した回路は、ｒ＝４の場合の符号化装置の構成に一致する。またこの場合、符号長は４０９５ビット、情報ビット長は３８５５ビットとなり、このときの帯域拡大率は約６．２％であって、前述の通信環境下では、復号後のビット誤り確率が０．１％の時、２．５ｄＢ以上の符号化利得を得ることができる。【０１０６】
次に、本発明の他の実施形態の誤り訂正符号化装置について説明する。【０１０７】
上述の実施形態において、図３に示した多項式乗算ユニット１１では、ｍを正の整数、ｒは１≦ｒ≦ｍの整数として、（ｍ−ｒ）個の多項式乗算回路２１が排他的論理和回路２２を介して直列に接続されている。これら直列に接続された（ｍ−ｒ）個の多項式乗算回路は、多項式乗算ユニットの入力データに対してシリアル・パラレル変換が行われるようにすることによって、並列に配置させることができる。この場合、並列に配置された（ｍ−ｒ）個の多項式乗算回路の出力の排他的論理和を多項式乗算ユニットの出力とする。この並列化による利点は、並列の配置されている多項式乗算ユニット間でフリップ・フロップを共有できることによる、多項式乗算ユニット中のフリップ・フロップ数の削減にある。【０１０８】
図８は、このように（ｍ−ｒ）個の多項式乗算回路が並列に配置された多項式乗算ユニットを示している。以下の説明において、簡単のため、（ｍ−ｒ）をＮとおく。この多項式乗算ユニットは、ｎを正整数として、レジスタとして用いられるｎ個のフリップ・フロップ６１と、たかだかｎ個の（Ｎ＋１）入力の排他的論理和回路６２と、排他的論理和回路６２ごとにＮ個ずつ設けられ検査行列に応じて結線あるいは非結線の状態が定まる結線素子６３と、スイッチ６４と、シリアルに入力するビット列をＮ（＝ｍ−ｒ）個にシリアル・パラレル変換するシリアル／パラレル（Ｓ→Ｐ）変換器６５と、を備えている。排他的論理和回路６２は、フリップ・フロップ６１ごとにそのフリップ・フロップの入力側に設けられており、それぞれ排他的論理和回路６２を伴ったｎ個のフリップ・フロップ６１は、それらの排他的論理和回路６２を介して直列に接続し、スイッチ３４は、最終段のフリップ・フロップ６１の出力に接続している。スイッチ３４は、最終段のフリップ・フロップ６１の出力をこの多項式乗算ユニットの出力として外部に供給するか、あるいは初段の排他的論理和回路６２を介して初段すなわち図示左端のフリップ・フロップ６１に戻すかを選択するためのものである。【０１０９】
この多項式乗算ユニットでは、排他的論理和回路６２ごとにＮ個ずつ設けられる結線素子６３は、シリアル／パラレル変換器６５からのＮ本の出力のそれぞれを対応する排他的論理和回路６２に供給するか供給しないかを定めるものである。ｉは１≦ｉ≦ｎを満たす整数とすると、図示右からｉ番目のフリップ・フロップ６１に対して、シリアル／パラレル変換器６５からのＮ本の出力が供給されるかされないかは、それぞれ、ビット列ｈｉ＋１（１），ｈｉ＋１（２），…，ｈｉ＋１（Ｎ）の対応するビットが“１”であるか“０”であるかによって定まる。【０１１０】
図８に示す多項式乗算ユニットの出力は、Ｎ（＝ｍ−ｒ）個の多項式乗算回路の出力の排他的論理和に一致する。図３の形の多項式乗算ユニットにおいてはフリップ・フロップがｎ（ｍ−ｒ）個使用されていたのに対し、図８の並列化された多項式乗算ユニットにおけるフリップ・フロップ数はｎ個である。このように並列化を図ることによって、図８に示したものではフリップ・フロップ数が削減されている。【０１１１】
なお、図８に示す回路においては、フリップ・フロップ間に配置された排他的論理和回路６２へのファンイン数が、図４の多項式乗算回路における排他的論理和回路３２へのファンイン数と比較して大きくなっている。もし、図８の回路において排他的論理和回路での最大ファンイン数が許容範囲を超える場合には、多項式乗算回路の並列接続と直列接続とを併用することで、ファンイン数を許容範囲内に抑えることができる。その場合の多項式乗算ユニットの構成は、図３の多項式乗算ユニットにおける多項式乗算回路２１の部分に、図８に示した回路が入る形態となる。【０１１２】
次に、上述した各実施形態の誤り訂正符号化装置の適用例について説明する。図９は、本発明に基づく符号化装置を用いたデータ通信システムの構成の一例を示している。このデータ通信システムは、データ送信装置８１と、データ送信装置８１から通信路８０を介して送信されてきたデータを受信するデータ受信装置８５とを備えている。データ送信装置８１は、送信すべきデータが入力する本発明に基づく符号化装置８２と、符号化装置８２が出力するビット列に対してフレーム同期をとるための制御を行い、変調器に合わせたデータへ変換する同期制御・データ変換装置８３と、同期制御・データ変換装置８３から出力されるデータを変調して通信路８０に送出する変調器８４と、を備えている。データ受信装置８５は、通信路５０から受信した情報を復調する復調器８６と、復調器８６の出力データを復号装置への入力データに変換するとともに、フレーム同期をとるための処理を行う同期制御・データ変換装置８７と、サム・プロダクト復号法などの繰り返し復号を実行する復号装置８８と、を備えている。【０１１３】
図９に示す構成において、変調器８４からの出力を通信路８０ではなくて記録媒体に記録し、復調器８６には通信路８０からの情報ではなくて記録媒体から読出された情報が入力するようにすることによって、データ記憶装置を構成することも可能である。【０１１４】
以上説明したように本発明の誤り訂正符号化装置は、パラメータｍ，ｒ，ｎ、及び多項式の選択によって、符号長、情報ビット長、符号化率（帯域拡大率）に関する幅広い要求に応えることが可能である。【０１１５】
このように本発明に基づく誤り訂正符号化装置は、多項式乗算回路と多項式除算回路との平易な組み合わせからなるため、単純な装置構成で実現することができ、符号化処理に要する計算量と装置規模の削減とを図ることが可能である。また、多項式乗算回路と多項式除算回路における結線の選択によって、繰り返し復号によって多くの符号化利得を得ることが可能な誤り訂正符号化装置を構成できるようになる。このようにして本発明は、通信システムにおける信頼性の向上、所要電力の低下に貢献する。
【産業上の利用可能性】
【０１１６】
本発明は、衛星通信システムあるいは移動体通信システムなどにおける所要電力の低減やアンテナの小型化などのシステム構成上の要件を満たすための誤り訂正技術として、あるいは磁気記録などの記憶装置に関する信頼性向上のための誤り訂正技術として、適用することができる。
【図１】
2007132656.tif 000015
【図２】
2007132656.tif 000016
【図３】
2007132656.tif 000017
【図４】
2007132656.tif 000018
【図５】
2007132656.tif 000019
【図６】
2007132656.tif 000020
【図７】
2007132656.tif 000021
【図８】
2007132656.tif 000022
【図９】
2007132656.tif 000023
【国際調査報告】
2007132656.tif 000024
2007132656.tif 000025