(57)【特許請求の範囲】
【請求項１】
情報系列及び（Ｍ×ｂ）ビット以下の終端系列に対して、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み符号化を行い、前記情報系列に対し符号化して得られた情報符号系列と、前記（Ｍ×ｂ）ビット以下の終端系列に対し符号化して得られた終端符号系列と、を出力する符号化部と、
前記情報系列、前記情報符号系列、前記終端符号系列を連接した符号語を出力する連接部と、
を含み、
前記終端系列は、前記符号語の送信先である復号器においても既知の系列である、
符号器。
【請求項２】
前記終端系列は、全てのビットが０の系列である、
請求項１に記載の符号器。
【請求項３】
情報系列及び（Ｍ×ｂ）ビット以下の終端系列に対して、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み符号化を行い、前記情報系列に対し符号化して得られた情報符号系列と、前記（Ｍ×ｂ）ビット以下の終端系列に対し符号化して得られた終端符号系列と、を出力する符号化部と、
前記情報系列、前記情報符号系列、前記終端符号系列を連接した符号語を出力する連接部と、
前記符号語を送信する送信部と、
を含み、
前記終端系列は、前記符号語の送信先である受信装置においても既知の系列である、
送信装置。
【請求項４】
低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み復号を行う復号器であって、
通信相手である符号器においても既知の系列である終端系列を、入力された符号語に連接し、
前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を入力系列とし、前記入力系列に対しＢＰ（Belief Propagation）復号を行い、ＢＰ復号により得られた推定情報系列を出力する、
復号器。
【請求項５】
前記終端系列は、全てのビットが０の系列である、
請求項４に記載の復号器。
【請求項６】
符号語を受信する受信部と、
通信相手である送信装置においても既知の系列である終端系列を、前記入力された符号語に連接する連接部と、
前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を生成する推定値生成部と、
前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値に対して、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み復号であるＢＰ（Belief Propagation）復号を行い、ＢＰ復号により得られた推定情報系列を出力する復号部と、
を含む受信装置。
【請求項７】
情報系列及び（Ｍ×ｂ）ビット以下の終端系列に対して、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み符号化を行い、前記情報系列と（Ｍ×ｂ）ビット以下の終端系列を入力系列とし、前記入力系列に対し、前記検査行列に基づいて符号化を行うステップと、
前記情報系列と、前記情報系列に対し符号化して得られた情報符号系列と、前記終端系列に対し符号化して得られた終端符号系列と、を連接した符号語を出力するステップと、
を含み、
前記終端系列は、前記符号語の通信相手である復号器においても既知の系列である、
符号化方法。
【請求項８】
低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み復号を行う復号方法であって、
通信相手である符号器においても既知の系列である終端系列を、入力された符号語に連接するステップと、
前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を入力系列とし、前記入力系列に対しＢＰ（Belief Propagation）復号を行うステップと、
ＢＰ復号により得られた推定情報系列を出力するステップと、
を有する復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）を用いて誤り訂正符号化／復号を行う符号器、復号器、符号化方法、及び、復号方法に関する。
【背景技術】
【０００２】
近年、実現可能な回路規模で高い誤り訂正能力を発揮する誤り訂正符号として、低密度パリティ検査（ＬＤＰＣ：Low-Density Parity-Check）符号に注目が集まっている。ＬＤＰＣ符号は、その誤り訂正能力の高さと、実装の容易さからIEEE802.11nの高速無線ＬＡＮ（Local Area Network）システムやデジタル放送システムなどの誤り訂正符号化方式に採用されている。
【０００３】
ＬＤＰＣ符号は低密度な（行列中に含まれる１の要素数が０の要素数に比べて大幅に少ない）パリティ検査行列Ｈで定義される誤り訂正符号である。ＬＤＰＣ符号は、検査行列Ｈの列数Ｎと等しいブロック長を持つブロック符号である。
【０００４】
しかし、現在の通信システムの多くは、イーサネット（登録商標）のように可変長のパケットやフレームに基づいて通信を行うという特徴がある。このようなシステムにブロック符号であるＬＤＰＣ符号を適用する場合、例えば、可変長なイーサネット（登録商標）のフレームに対して固定長のＬＤＰＣ符号のブロックをどのように対応させるかといった課題が発生する。ＬＤＰＣ符号が採用されている無線ＬＡＮの規格であるIEEE802.11nでは、送信情報系列にパディングやパンクチャなどを適用して、送信情報系列の長さと、ＬＤＰＣ符号のブロック長の調節を行っている。しかし、パディング、パンクチャにより符号化率の変化や冗長な系列の送信が必要になるという問題がある。
【０００５】
このようなブロック符号のＬＤＰＣ符号（以下「ＬＤＰＣ−ＢＣ：Low-Density Parity-Check Block Code」と標記する）に対して、任意の長さの情報系列に対しての符号化・復号化が可能な低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検討が行われている（非特許文献１参照）。
【０００６】
ＬＤＰＣ−ＣＣは、低密度なパリティ検査行列により定義される畳み込み符号である。図５４に、一例として、符号化率Ｒ＝１／２（＝ｂ／ｃ）のＬＤＰＣ−ＣＣのパリティ検査行列Ｈ［０、ｎ］Ｔを示す。
【０００７】
ＬＤＰＣ−ＣＣにおいて、検査行列Ｈ［０、ｎ］Ｔの要素ｈ１（ｍ）（ｔ），ｈ２（ｍ）（ｔ）は、０または１をとる。また、検査行列Ｈ［０、ｎ］Ｔに含まれるｈ１（ｍ）（ｔ），ｈ２（ｍ）（ｔ）以外の要素は全て０である。同図中、Ｍは、ＬＤＰＣ−ＣＣにおけるメモリ長を表し、ｎは、送信情報系列の長さを表す。図５４に示されるように、ＬＤＰＣ−ＣＣの検査行列は、行列の対角項とその近辺の要素にのみに１が立っており、行列の左下及び右上の要素はゼロであり、平行四辺形の行列であるという特徴がある。
【０００８】
ここで、符号化率Ｒ＝１／２（＝ｂ／ｃ）の例を示すと、ｈ１（０）（ｔ），ｈ２（０）（ｔ）＝１であるとき、ＬＤＰＣ−ＣＣの符号化は、図５４の検査行列Ｈ［０、ｎ］Ｔに従って、式（１）及び式（２）で行われる。
【数１】
0005490931.tif 000002
【数２】
0005490931.tif 000003
なお、ｕｔは送信情報系列を表し、ｖ１,ｔ，ｖ２,ｔは送信符号語系列を表す。
【０００９】
図５５に、式（１）及び式（２）を行うＬＤＰＣ−ＣＣの符号器の構成例を示す。図５５に示すように、ＬＤＰＣ−ＣＣ符号器１０は、シフトレジスタ１１−１〜１１−Ｍ，１４−１〜１４−Ｍ、ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍ、ウェイト制御部１６、及びｍｏｄ２加算器１５を備えて構成される。
【００１０】
シフトレジスタ１１−１〜１１−Ｍ及び１４−１〜１４−Ｍは、それぞれｖ１,ｔ−ｉ，ｖ２,ｔ−ｉ（ｉ＝０，…，Ｍ）を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を新たに保持する。
【００１１】
ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍは、ウェイト制御部１６から出力される制御信号に従って、ｈ１（ｍ），ｈ２（ｍ）の値を０／１に切り替える。ウェイト制御部１６は、内部に保持している検査行列に基づいて、そのタイミングにおけるｈ１（ｍ），ｈ２（ｍ）の値をウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍに出力する。
【００１２】
ｍｏｄ２加算器１５は、ウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍの出力に対しｍｏｄ２加算を行い、ｖ２,ｔを算出する。
【００１３】
このような構成を採ることで、ＬＤＰＣ−ＣＣ符号器１０は、検査行列に従ったＬＤＰＣ−ＣＣの符号化を行うことができる。
【００１４】
ＬＤＰＣ−ＣＣ符号器は、生成行列の乗算を行う符号器の回路や，後退代入法または前方代入法に基づく演算を行うＬＤＰＣ−ＢＣ符号器に比べ、非常に簡易な回路で実現できるという特徴がある。また、ＬＤＰＣ−ＣＣは畳み込み符号であるため、送信情報系列を固定長のブロックに区切って符号化する必要がなく、任意の長さの情報系列を符号化できる。
【００１５】
ＬＤＰＣ−ＣＣ復号には、ＬＤＰＣ−ＢＣと同様に検査行列Ｈに基づいたｓｕｍ−ｐｒｏｄｕｃｔアルゴリズムを適用することができる。そのため、ビタビアルゴリズムのような最尤系列推定に基づく復号アルゴリズムを使用する必要がなく、低処理遅延時間で復号処理を完了できる。さらに、非特許文献１には、平行四辺形の形に１が立っているという検査行列の形を活かした復号アルゴリズムが提案されている（特許文献１）。
【００１６】
ＬＤＰＣ−ＣＣとＬＤＰＣ−ＢＣの復号特性を復号器の回路規模が同等になるパラメータで比較した場合、ＬＤＰＣ−ＣＣの復号特性の方が優れると言うことが示されている（非特許文献１参照）。
【００１７】
ＬＤＰＣ−ＣＣにおいて、任意の長さｎで符号化を終了した場合、受信側の復号器において受信符号語系列を復号する際に、ｓｕｍ−ｐｒｏｄｕｃｔ復号における後部のｃ×Ｍビットの確率伝搬をその他のビットと同等にするためには、ｎ以降の送信情報系列を符号化した符号語及び符号化終了時のシフトレジスタの状態が必要になる。
【００１８】
しかし、送信情報系列を単純に符号化しただけでは、符号化終了時点の符号器のシフトレジスタの状態が送信情報系列に依存するため、受信側で復号する際にその状態を一意に決定することは困難である。
【００１９】
このような状況で、受信側で受信符号語に基づいて復号処理を行うと、復号後に得られる受信情報系列の終わりの方、特に後部ｃ×Ｍビットに誤りが増えるという現象が起こる。
【００２０】
このような誤りを避けるために、符号化の終了状態を一意に決める終端処理（ターミネーション）を送信情報系列に施すことが必要となる。
【００２１】
IEEE802.11a準拠の畳み込み符号では、送信情報系列の後部にテイルビットと呼ばれる符号器のシフトレジスタと同数（６個）の０ビットを付加して符号化することで終端処理を行う。このようにすれば、テイルビットが入力し終わった時点で、符号器のシフトレジスタの状態をオールゼロにすることができる。なお、テイルビットを入力した際に出力される符号語は、受信側で復号処理を行う際に必要になるので、送信符号語とともに受信側に送信される。
【００２２】
ＬＤＰＣ−ＣＣの場合、式（２）で示したように、符号語ｖ2,ｔを求めるには、過去のＭ時刻における符号語ｖ2,ｔ-iが必要になるため、ＬＤＰＣ−ＣＣ符号器には過去Ｍ時刻の符号語ｖ2,ｔ-iを保持するシフトレジスタが備えられている。送信情報系列を保持するレジスタは、送信情報系列の終端を長さＭのオールゼロの系列にする（ターミネーション）ことでオールゼロ状態にすることができるが、この終端処理だけでは、符号語ｖ2,ｔ-iを保持するシフトレジスタをオールゼロ状態にすることが困難であるという問題がある。
【００２３】
非特許文献２において、送信情報系列の後部にオールゼロではない終端系列を付加した後に符号化することで、符号化終了時のシフトレジスタの状態をオールゼロにする終端処理が提案されている。
【００２４】
非特許文献２で提案されている終端処理では、送信符号語系列を式（３）の様に定義する。式（３）は、符号化率Ｒ＝１／２の場合の例である。式（３）において、ｖ1×2ｎは、長さｎの情報系列を畳み込み符号化することによって得られる、長さ２ｎの符号語系列であり、ｘ1×2Ｌは、長さＬの終端系列を符号化することで得られる終端符号語系列であり、０1×2Ｍは長さ２Ｍの０系列である。
【数３】
0005490931.tif 000004
【００２５】
ここで、終端系列ｘ1×2Ｌは、式（４）及び式（５）により決定される。
【数４】
0005490931.tif 000005
【数５】
0005490931.tif 000006
【００２６】
このような終端系列を付加した送信符号語系列をＬＤＰＣ−ＣＣ符号器で符号化することで、シフトレジスタの状態をオールゼロ状態にすることができる。送信側の通信装置はこのようにして終端処理された送信符号語を受信装置に対して送信することで、受信側の復号器は、符号化終了時のシフトレジスタの状態を一意に決定することができ、所望の性能で誤り訂正復号を行う。
【００２７】
図５６に、式（５）で示される、終端系列ｘ1×2Ｌを生成する終端系列生成部を付加したＬＤＰＣ−ＣＣ符号器の構成を示す。図５６に示すＬＤＰＣ−ＣＣ符号器２０は、ＬＤＰＣ−ＣＣ符号器１０の構成要素に加え、終端系列生成部１７、検査行列記憶部１８、及び、切り替え器１９を備えて構成される。
【００２８】
検査行列記憶部１８は、ＬＤＰＣ−ＣＣの検査行列を記憶している。
【００２９】
終端系列生成部１７は、検査行列記憶部１８に記憶されている検査行列、及び、ｖ１，ｔ，ｖ２，ｔを用いることにより、式（５）に従って終端系列ｘ1×2Ｌを生成し、得られた終端系列ｘ1×2Ｌを切り替え器１９に出力する。
【００３０】
切り替え器１９は、シフトレジスタ１１−１に出力する系列を、終端処理制御信号に基づいて、送信情報系列または終端系列のどちらか一方に切り替える。具体的には、切り替え器１９は、終端処理制御信号が送信情報系列の符号化を示す場合には、送信情報系列をシフトレジスタ１１−１に出力し、終端処理制御信号が終端処を示す場合には、終端系列をシフトレジスタ１１−１に出力する。
【００３１】
図５７に、ＬＤＰＣ−ＣＣ符号器２０の入力系列及び出力系列を表す。図５７（ａ）は、ＬＤＰＣ−ＣＣ符号器２０に入力される入力系列を示し、図５７（ｂ）は、ＬＤＰＣ−ＣＣ符号器２０から出力される出力系列を示す。なお、図５７において、時系列は、各系列の右から左の方向に沿っている。
【００３２】
ＬＤＰＣ−ＣＣ符号器２０の入力系列は、ｎビットからなる情報系列、０からＭビットからなるパディング系列、及び（Ｍ＋１）ビットからなる終端系列から構成される。
【００３３】
ここで、情報系列の長さｎは任意であるため、ｎの値によって、情報系列の符号化が終了する際に、ウェイト制御部１６からウェイト乗算器１２−０〜１２−Ｍ，１３−０〜１３−Ｍに出力されるウェイトパターンが異なる。これは、式（５）におけるＤ２Ｌ×（Ｌ＋Ｍ）が、ｎによって異なることを示している。その結果、Ｄ２Ｌ×（Ｌ＋Ｍ）がフルランクになる場合とならない場合とが生じる。そのため、情報系列のビット数ｎによって、終端系列を求める際のＤ２Ｌ×（Ｌ＋Ｍ）が変わってしまう。そこで、終端処理を行うときのＤ２Ｌ×（Ｌ＋Ｍ）を情報系列のビット数ｎによらず同一にするため、情報系列の後にＫ（Ｋ＝０〜Ｍ）ビットのパディング系列を挿入する。なお、パディング系列は、符号化側と復号側とで既知の系列であればどのような系列でも良い。例えば、オールゼロの系列を使うことができる。
【００３４】
パディング系列及び終端系列は、終端処理のために必要な系列であって、パディング及び終端処理の目的以外には、何ら情報を含んでいないため、情報伝送時のオーバーヘッドとなる。
【００３５】
ＬＤＰＣ−ＣＣ符号器２０の出力系列には、情報系列を符号化して得られる符号語系列に加え、パディング系列及び終端系列を符号化して得られる符号語系列も含まれる。その結果、情報伝送時のオーバーヘッドは、（Ｋ＋Ｍ＋１）×ｃビットとなる。ここで、Ｋは、パディング系列の長さを表し、ｃは、ＬＤＰＣ−ＣＣ符号の符号化率Ｒ＝ｂ／ｃの分母を表す。
【先行技術文献】
【特許文献】
【００３６】
【特許文献１】米国特許第６０，６８２，１７８号明細書
【非特許文献】
【００３７】
【非特許文献１】Alberto Jimenez Felstorom, and Kamil Sh. Zigangirov,“Time-Varying Periodic Convolutional Codes With Low-Density Parity-Check Matrix,”IEEE Transactions on Information Theory, Vol.45, No.6,pp2181-2191, September 1999.
【非特許文献２】Zhengang Chen, Stephen Bates, and Ziaodai Dong,“Low-Density Parity-Check Convolutional Codes Applied to Packet Based Communication Systems,”Proceeding of IEEE Globecom 2005,pp1250-1254.
【非特許文献３】Stephen Bates,Duncan G. Elliott,Ramkrishna Swamy,“Termination Sequence Generation Circuits for Low-Density Parity-Check Convolutional Codes,”IEEE Transactions on Circuits and Systems-1:Regular Papers,Vol.53,No.9,September 2006.
【非特許文献４】R. D. Gallager, “Low-Density Parity-Check Codes,” Cambridge, MA: MIT Press, 1963.
【非特許文献５】M. P. C. Fossorier, M. Mihaljevic, and H. Imai, “Reduced complexity iterative decoding of low density parity check codes based on belief propagation,” IEEE Trans. Commun., vol.47., no.5, pp.673-680, May 1999.
【非特許文献６】J. Chen, A. Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Yu Hu, “Reduced-complexity decoding of LDPC codes,” IEEE Trans. Commun., vol.53., no.8, pp.1288-1299, Aug. 2005.
【非特許文献７】小川裕一, “ターボ符号のsum-product復号,” 長岡技術科学大学修士論文, 2007.
【非特許文献８】S. Lin, D. J. Jr., Costello, “Error control coding : Fundamentals and applications,” Prentice-Hall.
【非特許文献９】R. M. Tanner, D. Sridhara, A. Sridharan, T. E. Fuja, and D. J. Costello Jr., “LDPC block and convolutional codes based on circulant matrices,” IEEE Trans. Inform. Theory, vol.50, no.12, pp.2966-2984, Dec. 2004.
【非特許文献１０】G. Richter, M. Kaupper, and K. Sh. Zigangirov,“Irregular low-density parity-Check convolutional codes based on protographs，”Proceeding of IEEE ISIT 2006, pp1633-1637.
【発明の概要】
【発明が解決しようとする課題】
【００３８】
しかしながら、前記従来の構成では、ＬＤＰＣ−ＣＣ符号器に、終端系列ｘ１×２Ｌを生成するための構成が必要となるため、符号器の回路規模が大きくなってしまうという問題がある。一例として、非特許文献３には、ＬＤＰＣ−ＣＣ符号器に終端系列生成回路を付加すると、回路規模が、ＬＤＰＣ−ＣＣ符号器の約７倍になることが記載されている。
【００３９】
また、前記従来の構成では、送信する終端系列長として（Ｋ＋Ｍ＋１）×ｃビットの系列が必要であり、冗長な信号系列を出力することによるオーバーヘッド量の増加や伝送効率の劣化が問題となる。例えば、メモリ長Ｍ＝２００のＬＤＰＣ−ＣＣを使って、８０００ビットの送信情報系列を送信するとき、終端処理のために４００ビット以上すなわち送信情報系列の５％以上もの冗長ビットを送信しなければならない。
【００４０】
本発明はかかる点に鑑みてなされたものであり、簡易な構成でＬＤＰＣ−ＣＣ符号化の終端系列を提供し、伝送路に送信する終端系列の量を削減することができる符号器、復号器、符号化方法、及び、復号方法を提供することを目的とする。
【課題を解決するための手段】
【００４１】
本発明の符号器の一つの態様は、情報系列及び（Ｍ×ｂ）ビット以下の終端系列に対して、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み符号化を行い、前記情報系列に対し符号化して得られた情報符号系列と、前記（Ｍ×ｂ）ビット以下の終端系列に対し符号化して得られた終端符号系列と、を出力する符号化部と、前記情報系列、前記情報符号系列、前記終端符号系列を連接した符号語を出力する連接部と、を含み、前記終端系列は、前記符号語の通信相手である復号器においても既知の系列である、構成を採る。
【００４２】
本発明の復号器の一つの態様は、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み復号を行う復号器であって、通信相手である符号器においても既知の系列である終端系列を、入力された符号語に連接し、前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を入力系列とし、前記入力系列に対しＢＰ（Belief Propagation）復号を行い、ＢＰ復号により得られた推定情報系列を出力する構成を採る。
【００４３】
本発明の符号化方法の一つの態様は、情報系列及び（Ｍ×ｂ）ビット以下の終端系列に対して、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み符号化を行い、前記情報系列と（Ｍ×ｂ）ビット以下の終端系列を入力系列とし、前記入力系列に対し、前記検査行列に基づいて符号化を行うステップと、前記情報系列と、前記情報系列に対し符号化して得られた情報符号系列と、前記終端系列に対し符号化して得られた終端符号系列と、を連接した符号語を出力するステップと、を含み、前記終端系列は、前記符号語の通信相手である復号器においても既知の系列である、ようにした。
【００４４】
本発明の復号方法の一つの態様は、低密度パリティ検査畳み込み符号（ＬＤＰＣ−ＣＣ：Low-Density Parity-Check Convolutional Code）の検査行列に従って、符号化率Ｒ＝ｂ／ｃ、メモリ長Ｍの畳み込み復号を行う復号方法であって、通信相手である符号器においても既知の系列である終端系列を、入力された符号語に連接するステップと、前記終端系列、前記入力された符号語に含まれる情報系列、前記情報系列に対し符号化して得られた情報符号系列、及び、前記終端系列に対し符号化して得られた終端符号系列のそれぞれの推定値を入力系列とし、前記入力系列に対しＢＰ（Belief Propagation）復号を行うステップと、ＢＰ復号により得られた推定情報系列を出力するステップと、を有する。
【発明の効果】
【００４５】
本発明によれば、簡易な構成でＬＤＰＣ−ＣＣ符号化の終端系列を提供し、伝送路に送信する終端系列の量を削減することができる。
【図面の簡単な説明】
【００４６】
【図１】本実施の形態１におけるＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図２】実施の形態１における情報部分検査行列を示す図
【図３】実施の形態１におけるパリティ部分検査行列を示す図
【図４】実施の形態１におけるＬＤＰＣ−ＣＣ符号器の構成を示すブロック図
【図５】実施の形態１における第１符号器の内部構成を示すブロック図
【図６】実施の形態１におけるウェイト制御部に保持されているウェイトパターンを示す図
【図７】実施の形態１における第２符号器の内部構成を示すブロック図
【図８】実施の形態１におけるＬＤＰＣ−ＣＣ符号器の入力系列及び出力系列を示す図
【図９】実施の形態１におけるＬＤＰＣ−ＣＣ符号器の別の構成を示すブロック図
【図１０】実施の形態１におけるＬＤＰＣ−ＣＣ符号器の入力系列及び出力系列を示す図
【図１１】実施の形態１におけるＬＤＰＣ−ＣＣ符号器の別の構成を示すブロック図
【図１２】実施の形態１におけるＬＤＰＣ−ＣＣ検査行列の別の例を示す図
【図１３】実施の形態１におけるパリティ部分検査行列の別の例を示す図
【図１４】実施の形態１における第２符号器の別の内部構成を示すブロック図
【図１５】実施の形態１における時変のパリティ部分検査行列を示す図
【図１６】実施の形態１における第２符号器の別の内部構成を示すブロック図
【図１７】実施の形態１における第１符号器の別の内部構成を示すブロック図
【図１８】本実施の形態２におけるＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図１９】実施の形態２における情報部分検査行列を示す図
【図２０】実施の形態２におけるパリティ部分検査行列を示す図
【図２１】実施の形態２におけるＬＤＰＣ−ＣＣ符号器の構成を示すブロック図
【図２２】実施の形態２における第１符号器の内部構成を示すブロック図
【図２３】実施の形態２における第２符号器の内部構成を示すブロック図
【図２４】実施の形態２における第１符号器の別の内部構成を示すブロック図
【図２５】本実施の形態３におけるＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図２６】実施の形態３における情報部分検査行列を示す図
【図２７】実施の形態３におけるパリティ部分検査行列を示す図
【図２８】実施の形態３におけるＬＤＰＣ−ＣＣ符号器の構成を示すブロック図
【図２９】実施の形態３における第１符号器の内部構成を示すブロック図
【図３０】実施の形態３における第２符号器の内部構成を示すブロック図
【図３１】実施の形態３におけるＬＤＰＣ−ＣＣ符号器の入力系列及び出力系列を示す図
【図３２】実施の形態３におけるパリティ部分検査行列の別の例を示す図
【図３３】実施の形態３におけるＬＤＰＣ−ＣＣ符号器の別の構成を示すブロック図
【図３４】実施の形態３における第２符号器の別の内部構成を示すブロック図
【図３５】本実施の形態４におけるＬＤＰＣ−ＣＣ符号器の構成を示すブロック図
【図３６】実施の形態４におけるＬＤＰＣ−ＣＣ検査行列の終端部を示す図
【図３７】実施の形態１におけるＬＤＰＣ−ＣＣ検査行列の終端部を示す図
【図３８】本実施の形態５におけるＬＤＰＣ−ＣＣ符号器の入力系列及び出力系列を示す図
【図３９】実施の形態５におけるＬＤＰＣ−ＣＣ検査行列の終端部を示す図
【図４０】実施の形態５におけるＬＤＰＣ−ＣＣ復号器の入力系列及び出力系列を示す図
【図４１】実施の形態５におけるＬＤＰＣ−ＣＣ検査行列の終端部を示す図
【図４２】（７，５）畳み込み符号の符号化器を示す図
【図４３】（７，５）畳み込み符号の検査行列を示す図
【図４４】（７，５）畳み込み符号の検査行列を示す図
【図４５】図４４の検査行列の近似下三角行列に「１」を追加した場合の一例を示す図
【図４６】他の実施の形態１におけるＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図４７】（７，５）畳み込み符号の検査行列を示す図
【図４８】他の実施の形態１におけるＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図４９】他の実施の形態２におけるＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図５０】他の実施の形態２における時変周期１のＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図５１】他の実施の形態２における時変周期ｍのＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図５２Ａ】パンクチャパターン数を説明するための図
【図５２Ｂ】符号化系列とパンクチャパターンとの関係を示す図
【図５２Ｃ】パンクチャパターンを選択するためにチェックしなければならいパリティ検査多項式の数を示す図
【図５３Ａ】時変周期２のＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図５３Ｂ】時変周期４のＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図
【図５４】従来のＬＤＰＣ−ＣＣ検査行列の一例を示す図
【図５５】従来のＬＤＰＣ−ＣＣ符号器の構成例を示すブロック図
【図５６】従来の終端系列生成部を付加したＬＤＰＣ−ＣＣ符号器の構成例を示すブロック図
【図５７】従来のＬＤＰＣ−ＣＣ符号器の入力系列及び出力系列を示す図
【発明を実施するための形態】
【００４７】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００４８】
（実施の形態１）
本実施の形態では、ＬＤＰＣ−ＣＣの符号化を行うＬＤＰＣ−ＣＣ符号器、及び、その終端処理の方法について説明する。
【００４９】
図１に、本実施の形態におけるＬＤＰＣ−ＣＣの検査行列の一例を示す。図１の検査行列１００は、符号化率Ｒ＝１／２、メモリ長Ｍ＝５の周期的時変ＬＤＰＣ−ＣＣを定義する検査行列である。ここで、周期的時変とは、検査行列において１／０の配置パターンが列ごとに異なっており、かつ、そのパターンに周期性があることを示す。
【００５０】
図１において、検査行列１００の各行は、パリティ検査方程式（パリティ検査式）に対応する。図１には、各行のパリティ検査式に、ｃ１，ｃ２，…，とラベル付けしている。また、検査行列１００の各列は、送信符号語系列の各ビットに対応する。図１の検査行列１００は、組織符号を定義する検査行列であり、各列は、送信符号語系列の１番目の情報ビットｕ１、１番目のパリティビットｐ１、２番目の情報ビットｕ２、２番目のパリティビットｐ２、…という順序で並んでいる。
【００５１】
図２に、検査行列１００から情報ビットに対応する列を抽出した部分検査行列（以下「情報部分検査行列」ともいう）１１０を示す。また、図３に、検査行列１００からパリティビットに対応する列を抽出した部分検査行列（以下「パリティ部分検査行列」ともいう）１２０を示す。
【００５２】
図２及び図３に示すように、本実施の形態におけるＬＤＰＣ−ＣＣ符号器は、検査行列１００を、情報部分検査行列１１０、及び、パリティ部分検査行列１２０に分解した上で、ＬＤＰＣ−ＣＣ符号化を行うことを特徴とする。
【００５３】
図４に、本実施の形態におけるＬＤＰＣ−ＣＣ符号器の構成の一例を示す。図４のＬＤＰＣ−ＣＣ符号器２００は、第１符号器２３０及び第２符号器２４０を備えて構成される。なお、図４には、ＬＤＰＣ−ＣＣ符号器２００の他、終端系列生成部２１０、終端系列連接部２２０、及び、符号語連接部２５０が示されており、ＬＤＰＣ−ＣＣ符号器２００は、情報系列がそのまま送信符号語系列に現れる組織符号の符号化を行う。
【００５４】
終端系列生成部２１０は、ＬＤＰＣ−ＣＣ符号器２００の終端処理を行うために必要な終端系列を生成し、生成した終端系列を終端系列連接部２２０に出力する。
【００５５】
終端系列連接部２２０は、情報系列及び終端系列生成部２１０から出力される終端系列を入力し、終端系列を情報系列の後尾に連接する。終端系列連接部２２０は、連接した情報系列及び終端系列を第１符号器２３０に出力する。このようにして、終端系列生成部２１０から提供される終端系列は、第１符号器２３０の入力系列として、第１符号器２３０に入力されることになる。また、終端系列連接部２２０は、連接した情報系列及び終端系列を符号語連接部２５０に出力する。
【００５６】
第１符号器２３０は、終端系列連接部２２０から出力される情報系列又は終端系列に対し、情報部分検査行列１１０に基づいて符号化を行い、第１符号語系列を取得する。第１符号器２３０は、第１符号語系列を第２符号器２４０に出力する。
【００５７】
第２符号器２４０は、第１符号器２３０から出力される第１符号語系列に対し、パリティ部分検査行列１２０に基づいて符号化を行い、第２符号語系列を取得する。第２符号器２４０は、第２符号語系列を符号語連接部２５０に出力する。
【００５８】
符号語連接部２５０は、情報系列及び終端系列と第２符号語系列とを連接して、送信符号語系列を生成し、当該送信符号語系列を符号語として出力する。
【００５９】
このように、ＬＤＰＣ−ＣＣ符号器２００は、検査行列１００から情報ビットに対応する列を抽出した情報部分検査行列１１０を用いた符号化と、検査行列１００からパリティビットに対応する列を抽出したパリティ部分検査行列１２０を用いた符号化とを連接して行う。
【００６０】
（第１符号器）
図５に、第１符号器２３０の内部構成を示す。図５の第１符号器２３０は、情報部分検査行列１１０の各行を生成多項式（シフトレジスタとｍｏｄ２加算器の接続を表す式）の係数とする畳み込み符号器である。第１符号器２３０は、遅延器数４個の非再帰的畳み込み符号器であり、入力系列に対し、情報部分検査行列１１０の各列の１／０の配置に対応した生成多項式に基づいて符号化を行う。
【００６１】
図５において、第１符号器２３０は、シフトレジスタ２３１−１〜２３１−４、ウェイト乗算器２３２−０〜２３２−４、ウェイト制御部２３３、及び、ｍｏｄ２加算器２３４を備えて構成される。第１符号器のシフトレジスタの数をＭ１とすると、図５に示す第１符号器２３０は、Ｍ１＝４の場合の例である。なお、Ｍ１は、第１符号器のメモリ長である。
【００６２】
シフトレジスタ２３１−１〜２３１−４は、入力ビットを保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに出力し、左隣のシフトレジスタから出力される値を保持する。
【００６３】
ウェイト乗算器２３２−０〜２３２−４は、ウェイト制御部２３３から出力されるウェイトパターンに従って、シフトレジスタ２３１−１〜２３１−４の出力にウェイト値を乗算する。
【００６４】
ウェイト制御部２３３は、内部に保持するウェイトパターンに基づいて、そのタイミングにおけるウェイト値をウェイト乗算器２３２−０〜２３２−４に出力する。
【００６５】
ｍｏｄ２加算器２３４は、ウェイト乗算器２３２−０〜２３２−４の出力結果のｍｏｄ２加算を行い、ｍｏｄ２加算結果を、第１符号語系列の符号語ビットｖｃ１，ｔとして算出する。
【００６６】
図６に、ウェイト制御部２３３に保持されるウェイトパターンを示す。なお、図６のウェイトパターンは、図２の情報部分検査行列１１０の各行の１／０の並びの位置を揃え、かつ、左右反転させたものである。図２に示すように、情報部分検査行列１１０の各行の１／０の並びは、４種類のパターンが繰り返して並んでいるので、ウェイト制御部２３３は、４つのウェイトパターン（ウェイトパターン１〜４）を保持する。
【００６７】
ウェイト制御部２３３は、図６に示すウェイトパターン１〜４を順に繰り返して出力する。ここで、図６（ａ）は、ウェイト乗算器２３２−０に出力されるウェイト値を示し、図６（ｂ）はウェイト乗算器２３２−１に出力されるウェイト値を示し、図６（ｃ）はウェイト乗算器２３２−２に出力されるウェイト値を示し、図６（ｄ）はウェイト乗算器２３２−３に出力されるウェイト値を示し、図６（ｅ）はウェイト乗算器２３２−４に出力されるウェイト値を示している。
【００６８】
（第２の符号器）
第２符号器２４０は、パリティ部分検査行列１２０の各行の１／０の並びに基づいて符号化を行う。図３に示されるように、パリティ部分検査行列１２０の各行の１／０の並びは、｛１、０、０、０、０、１｝となっている。これは、ある時点のパリティビットが、その時点の入力と、その時点の５つ前の時点のパリティビットとをｍｏｄ２加算することにより得られることを示す。例えば、ｐ６の時点のパリティビットは、ｐ６の時点で第２符号器２４０の入力と、ｐ１の時点で得られたパリティビットｐ１とをｍｏｄ２加算することにより求められる。
【００６９】
このことから、パリティ部分検査行列１２０の各行の１／０の並びに基づく符号化は、遅延器数５個の差動符号器、遅延器数５個の再帰的畳み込み符号器、または、遅延器数５個のアキュムレータで実現することができる。
【００７０】
図７に、第２符号器２４０の内部構成を示す。図７の第２符号器２４０は、シフトレジスタ２４１−１〜２４１−５、及び、ｍｏｄ２加算器２４２を備えて構成される。第２符号器の遅延器の数をＭ２とすると、図７の第２符号器２４０は、Ｍ２＝５の場合の例である。なお、Ｍ２は、第２符号器のメモリ長である。
【００７１】
シフトレジスタ２４１−１〜２４１−５は、パリティビットｐｔ−ｉを保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を左隣のシフトレジスタに出力し、右隣のシフトレジスタから出力される値を保持する。
【００７２】
ｍｏｄ２加算器２４２は、第２符号器２４０に入力される第１符号語系列の符号語ビットｖｃ１，ｔとシフトレジスタ２４１−１の出力とのｍｏｄ２加算を行い、加算結果により得られたパリティビットｐｔを、第２符号語系列の符号語ビットｖｃ２，ｔとして符号語連接部２５０に出力する。なお、第２符号語系列の符号語ビットｖｃ２，ｔは、式（２）で示したｖ２，ｔに相当する。
【００７３】
符号語連接部２５０は、情報系列又は終端系列と、第２符号器２４０から出力される第２符号語系列とを連接し、連接後の系列を送信符号語系列として出力する。
【００７４】
このようにして、第１符号器２３０は、入力系列に対し符号化を施し、第１符号語系列の符号語ビットｖｃ１，ｔを算出し、第２符号器２４０は、第１符号語系列の符号語ビットｖｃ１，ｔを入力して、第２符号語系列の符号語ビットｖｃ２，ｔを算出する。
【００７５】
このように、第１符号器２３０と第２符号器２４０とを連接することにより、ＬＤＰＣ−ＣＣ符号語系列の符号語ビットｖｃ２，ｔを算出することができるのは、ＬＤＰＣ−ＣＣ符号化では、符号語ビットｖ２，ｔが、式（２）により生成されるからである。
【００７６】
なお、ＬＤＰＣ−ＣＣ符号器のメモリサイズは、Ｍ＝ｍａｘ（Ｍ１，Ｍ２）となる。Ｍ１は、第１符号器の遅延器（シフトレジスタ）数を示し、Ｍ２は、第２符号器の遅延器（シフトレジスタ）数を示し、ｍａｘ（・）は（・）内の数の最大値をとることを表す。
【００７７】
以下、上述のように構成されたＬＤＰＣ−ＣＣ符号器２００の終端処理について説明する。
【００７８】
（終端処理）
図４において、終端系列生成部２１０は、ＬＤＰＣ−ＣＣ符号器２００を終端させるための終端系列を生成し、終端系列を終端系列連接部２２０に提供する。終端系列は、第１符号器２３０及び第２符号器２４０の構成から、以下のようになる。
【００７９】
本実施の形態における第１符号器２３０は、図５に示したとおり、非再帰的畳み込み符号器であるので、シフトレジスタ数Ｍ１と同数ビットのゼロ系列、すなわち、４ビットのゼロ系列を第１符号器２３０に入力することにより、符号化終了時のシフトレジスタ２３１−１〜２３１−４の状態を全てゼロにすることができる。すなわち、第１符号器２３０を終端させるための終端系列は、｛０，０，０，０｝となる。
【００８０】
一方、本実施の形態における第２符号器２４０は、図７に示したとおり、遅延器（シフトレジスタ）数が５個の差動符号器であり、各シフトレジスタに保持される値は、それ以前の時点で通信路に出力されている。そのため、復号側では、受信した符号語を用いることにより、シフトレジスタの状態を一意に決めることができるので、第２符号器２４０の終端処理が不要となる。
【００８１】
以上のことから、ＬＤＰＣ−ＣＣ符号器２００の終端処理に必要な終端系列は、第１符号器２３０のシフトレジスタの数（Ｍ１）と同数のゼロ系列となる。したがって、終端系列生成部２１０は、終端系列として、４ビット（Ｍ１×ｂビット）のゼロ系列を生成し、終端系列連接部２２０に提供すればよい。
【００８２】
終端系列連接部２２０は、情報系列の後尾に終端系列生成部２１０から提供される終端系列を連接し、連接後の情報系列及び終端系列を第１符号器２３０に出力する。
【００８３】
図８に、ＬＤＰＣ−ＣＣ符号器２００の入力系列及び出力系列の関係を示す。図８（ａ）は、第１符号器２３０の入力系列を示している。また、図８（ｂ）は、符号語連接部２５０から出力されるパリティビット部に対応する第２符号語系列を示している。
【００８４】
図８に示されるように、第１符号器２３０に入力される入力系列は、ｎビットからなる情報系列と、（Ｍ１×ｂ）ビットからなる終端系列である。
【００８５】
なお、本実施の形態におけるＬＤＰＣ−ＣＣ符号器２００では、終端系列を、第１符号器２３０のメモリ長Ｍ１をｂ倍した数と同数のゼロ系列とすればよいので、終端系列を、式（５）の方程式を解いて求める必要がなく、終端系列は、終端処理を開始する際のウェイトパターンに依存しない。そのため、ＬＤＰＣ−ＣＣ符号器２０では必要とされたＫビット（Ｋ：０〜Ｍ）のパディング系列の挿入が不要となる。この結果、ＬＤＰＣ−ＣＣ符号器２００を用いる場合、終端処理によって発生する情報伝送時のオーバーヘッドが、（Ｍ１×ｃ）ビットになる。
【００８６】
このように、本実施の形態におけるＬＤＰＣ−ＣＣ符号器２００は、情報部分検査行列１１０に基づき符号化を行う第１符号器２３０と、パリティ部分検査行列１２０に基づき符号化を行う第２符号器２４０とを連接し、検査行列１００に基づくＬＤＰＣ−ＣＣ符号化を行うようにした。
【００８７】
上述したように、パリティ部分検査行列１２０に基づき符号化を行う第２符号器２４０は、差動符号器により構成される。そのため、各シフトレジスタに保持されている値は、それ以前の時点で通信路に出力されており、復号側では、受信した符号語よりシフトレジスタの状態を一意に決めることができるため、第２符号器２４０の終端処理は不要となる。
【００８８】
したがって、ＬＤＰＣ−ＣＣ符号器２００を上記のように構成することにより、ＬＤＰＣ−ＣＣ符号器２００の終端処理は、情報系列の後尾に第１符号器２３０のシフトレジスタの数と同数、つまり、第１符号器２３０のメモリ長Ｍ１をｂ倍した数と同数の０系列を連接して符号化することで実現することができるようになる。
【００８９】
このように、終端系列生成部２１０は、シフトレジスタの数と同数、つまり、第１符号器２３０のメモリ長Ｍ１をｂ倍した数と同数の０からなる終端系列を提供すればよいので、前述した従来のＬＤＰＣ−ＣＣ符号器における終端系列生成回路に比し、終端系列生成部２１０をより大幅に小さい規模で構成することができる。
【００９０】
また、前記従来のＬＤＰＣ−ＣＣ符号器の構成では、ＬＤＰＣ−ＣＣ符号器のシフトレジスタの数と同数の０系列を符号器に入力しただけでは、符号器の終端処理を行うことができなかったのに対し、本実施の形態では、ＬＤＰＣ−ＣＣ符号器２００に、第１符号器２３０を構成するシフトレジスタの数と同数の０系列を入力するだけで終端処理を行うことができる。前記従来のＬＤＰＣ−ＣＣ符号器２０を使った場合のオーバーヘッドは、（Ｋ＋Ｍ＋１）×ｂ／Ｒ＝（Ｋ＋Ｍ＋１）×ｃであるのに対し、ＬＤＰＣ−ＣＣ符号器２００の終端処理によって発生する情報伝送時のオーバーヘッドは、Ｍ１×ｂ／Ｒ＝Ｍ１×ｃビットとなり、Ｍ１×ｃ≦（Ｋ＋Ｍ＋１）×ｃであるので、前記従来のＬＤＰＣ−ＣＣ符号器２０を使った場合に比し、本実施の形態におけるＬＤＰＣ−ＣＣ符号器２００では、終端処理によって発生する情報伝送時のオーバーヘッドを小さくすることができる。
【００９１】
なお、図４では、終端系列連接部２２０が、情報系列の後部に終端系列を連接し、連接後の系列を、第１符号器２３０及び符号語連接部２５０に出力するという構成を採ったが、図９に示すように、第１符号器２３０にだけ連接後の系列を出力し、符号語連接部２５０には情報系列を出力する終端系列連接部２２０Ａを用いるようにしても良い。
【００９２】
上述したように、第１符号器２３０が非再帰的畳み込み符号器で構成される場合、終端系列は、第１符号器２３０を構成するシフトレジスタの数と同数の０系列とすればよいので、復号側では、終端系列が何であるか、符号化側が終端系列を送信しなくても予め知ることができる。したがって、図９に示すように、終端系列連接部２２０Ａから符号語連接部２５０に終端系列を出力しないようにしても、復号側では終端系列が何であるか予め知ることができるので、終端系列が送信されない分、オーバーヘッドをさらに削減することができる。
【００９３】
図１０に、ＬＤＰＣ−ＣＣ符号器２００の入力系列及び出力系列を示す。図１０（ａ）は、第１符号器２３０の入力系列を示している。また、図１０（ｂ）は、符号語連接部２５０から出力されるパリティビット部に対応する第２符号語系列を示している。
【００９４】
図１０に示されるように、第１符号器２３０に入力される入力系列は、ｎビットからなる情報系列と、（Ｍ１×ｂ）ビットとからなる終端系列である。ただし、終端系列は、全てゼロ系列であり、復号側で知ることができるため、伝送路に送信しなくてもよい。
【００９５】
したがって、ＬＤＰＣ−ＣＣ符号器２００の終端処理によって発生する情報伝送時のオーバーヘッドは、Ｍ１×（ｃ−ｂ）ビットになる。なお、Ｒ＝ｂ／ｃであるので、Ｍ１×（ｃ−ｂ）＜Ｍ１×ｃとなり、終端系列を伝送路に送信しないことにより、さらに、オーバーヘッドを削減することができる。
【００９６】
また、Ｍ１×（ｃ−ｂ）≦（Ｋ＋Ｍ＋１）×ｃであるので、上述したようなＬＤＰＣ−ＣＣ符号器２００の終端処理を行うことにより、（Ｋ＋Ｍ＋１）／Ｒビットのオーバーヘッドが発生する前述従来のＬＤＰＣ−ＣＣ符号器２０に比し、伝送路の利用効率を向上することができる。
【００９７】
なお、図４の終端系列連接部２２０は、情報系列の後部に終端系列を連接した系列を、第１符号器２３０及び符号語連接部２５０に出力するという構成を採ったが、これに限られない。例えば、図１１に示すように、終端系列連接部２２０に代えて、入力系列選択部２６０を用いてもよい。
【００９８】
入力系列選択部２６０は、終端処理制御信号に応じて、第１符号器２３０及び符号語連接部２５０に出力する系列を切り替える。終端処理制御信号は、終端処理の開始を指示する信号であり、終端処理制御信号が終端処理の開始前を示す場合、入力系列選択部２６０は、情報系列を第１符号器２３０及び符号語連接部２５０に出力する。一方、終端処理制御信号が、終端処理の開始を示す場合、入力系列選択部２６０は、終端系列を第１符号器２３０及び符号語連接部２５０に出力する。
【００９９】
また、終端系列連接部２２０Ａと同様に、入力系列選択部２６０が、終端処理制御信号に応じて、終端系列を符号語連接部２５０に出力しないよう切り替えるようにしてもよい。具体的には、入力系列選択部２６０が、終端処理制御信号が終端処理の開始前を示す場合、情報系列を第１符号器２３０及び符号語連接部２５０に出力し、終端処理制御信号が、終端処理の開始を示す場合、終端系列を第１符号器２３０に出力する切り替え動作を行うようにしてもよい。
【０１００】
なお、以上の説明では、図１の検査行列１００に基づきＬＤＰＣ−ＣＣ符号化を行う場合について説明したが、これに限られず、他の検査行列に基づきＬＤＰＣ−ＣＣ符号化を行う場合にも適用することができる。
【０１０１】
以下、一例として、図１２に示す検査行列に基づきＬＤＰＣ−ＣＣ符号化を行うＬＤＰＣ−ＣＣ符号器について説明する。図１２の検査行列１００Ａに対し、パリティビットに対応する列を抽出した部分検査行列を、図１３に示す。なお、情報ビットに対応する列を抽出した部分検査行列は、情報部分検査行列１１０と同様であるので説明を省略する。図１３のパリティ部分検査行列１２０Ａの列方向の１／０の並びは、｛１、０、１、０、０、１｝となっており、これは、例えば、ｐ６の時点で得られるパリティビットｐ６は、ｐ６の時点で第２符号器２４０の入力と、ｐ１，ｐ３の時点で得られたパリティビットｐ１，ｐ３とをｍｏｄ２加算することにより得られることを示している。つまり、パリティ部分検査行列１２０Ａの各行の１／０の並びに基づく符号化は、遅延器数５個の差動符号器、遅延器数５個の再帰的畳み込み符号器、または、遅延器数５個のアキュムレータで実現することができる。
【０１０２】
図１４に、図１３のパリティ部分検査行列１２０Ａを用いて符号化を行う第２符号器の構成を示す。図１４の第２符号器２４０Ａは、図７の第２符号器２４０と同様に、シフトレジスタ２４１−１〜２４１−５、及び、ｍｏｄ２加算器２４２を備えて構成され、シフトレジスタ２４１−３の出力が、ｍｏｄ２加算器２４２に出力される点が、図７の第２符号器２４０と異なっている。
【０１０３】
図１４の第２符号器２４０Ａも、図７の第２符号器２４０と同様に、差動符号器により構成されるので、各シフトレジスタに保持されている値は、それ以前の時点で通信路に出力されている。そのため、復号側では、受信した符号語を用いることにより、シフトレジスタの状態を一意に決めることができるので、第２符号器２４０Ａの終端処理が不要となり、ＬＤＰＣ−ＣＣ符号器２００の終端処理としては、上述したように、第１符号器２３０に対する終端処理を行うのみでよい。
【０１０４】
なお、以上の説明では、パリティ部分検査行列が時不変の場合を例に説明したが、時変の場合であっても良い。図１５にパリティ部分検査行列が時変の場合の一例を示す。図１５のパリティ部分検査行列１２０Ｂは、１／０の配置パターンが列ごとに異なっている。
【０１０５】
図１６に、図１５のパリティ部分検査行列１２０Ｂを用いた符号化を行う第２符号器の構成を示す。図１６に示す第２符号器２４０Ｂは、シフトレジスタ２４１−１〜２４１−５、ｍｏｄ２加算器２４２、ウェイト乗算器２４３−１〜２４３−５、及び、ウェイト制御部２４４を備えて構成される。
【０１０６】
ウェイト制御部２４４は、パリティ部分検査行列１２０Ｂの行方向の１／０の並びに応じて、ウェイト乗算器２４３−１〜２４３−５に与えるウェイトパターンを出力する。
【０１０７】
ウェイト乗算器２４３−１〜２４３−５は、ウェイト制御部２４４から出力されるウェイトパターンに従って、シフトレジスタの出力にウェイトを乗算する。
【０１０８】
図１６の第２符号器２４０Ｂも、図７の第２符号器２４０と同様に、差動符号器により構成されるので、各シフトレジスタに保持されている値は、それ以前の時点で通信路に出力されている。そのため、復号側では、受信した符号語を用いることにより、シフトレジスタの状態を一意に決めることができるので、第２符号器２４０Ｂの終端処理が不要となり、ＬＤＰＣ−ＣＣ符号器２００の終端処理としては、上述したように、第１符号器２３０に対する終端処理を行うのみでよい。
【０１０９】
なお、以上の説明では、情報ビット部の部分検査行列が時変である場合を例に説明したが、時不変の場合であっても良い。図１７に情報ビット部の部分検査行列が時不変の場合の第１符号器の構成例を示す。図１７の第１符号器２３０Ａは、シフトレジスタ２３１−１〜２３１−５、及び、ｍｏｄ２加算器２３４を備えて構成される。第１符号器２３０Ａの終端処理としては、時変である第１符号器２３０の場合と同様に、第１符号器２３０Ａを構成するシフトレジスタの数と同数の５ビット（（Ｍ１×ｂ）ビット）のゼロ系列を終端系列として入力すればよい。
【０１１０】
なお、時変・時不変の組み合わせは、上述した組み合わせに限られず、他の組み合わせでも良い。第１符号器が非再帰的畳み込み符号器により構成される場合、他の組み合わせの場合においても、第２符号器の終端処理は不要であり、ＬＤＰＣ−ＣＣ符号器２００の終端処理としては、第１符号器のシフトレジスタの数と同数のゼロ系列を入力すれば良いので、本発明による効果を得ることができる。
【０１１１】
以上のように、本実施の形態によれば、入力系列に対し、検査行列１００の情報ビットに対応する列を抽出した情報部分検査行列１１０に基づいて符号化を行うことにより第１符号語系列を生成する第１符号器２３０と、第１符号語系列に対し、検査行列１００のパリティビットに対応する列を抽出したパリティ部分検査行列１２０に基づいて符号化を行うことにより第２符号語系列を生成する第２符号器２４０と、を備え、情報部分検査行列１１０に基づいて符号化を行う第１符号器２３０と、パリティ部分検査行列１２０に基づいて符号化を行う第２符号器２４０とを連接して符号化を施すことにより、ＬＤＰＣ−ＣＣ符号化を施すようにした。
【０１１２】
パリティ部分検査行列１２０に基づく符号化は、差動符号器を用いて実装することができるので、第２符号器２４０に対する終端処理が不要となり、終端系列生成部２１０は、ＬＤＰＣ−ＣＣ符号器２００の終端系列として、第１符号器２３０に対する終端系列を提供すればよくなるため、オーバーヘッドの量を削減することができる。
【０１１３】
また、第１符号器２３０が、非再帰的畳み込み符号器の場合、終端系列生成部２１０は、終端系列としてゼロ系列を提供すればよいので、終端系列生成部２１０を非常に簡易な構成により実装することができ、ＬＤＰＣ−ＣＣ符号器２００の回路規模が増大するのを抑圧することができる。
【０１１４】
また、第１符号器２３０が、非再帰的畳み込み符号器の場合、終端系列をゼロ系列とすることができ、復号側で予め知ることができるので、終端系列を伝送路に送信しないことにより、オーバーヘッドをさらに低減し、伝送路の利用効率を向上することができる。
【０１１５】
（実施の形態２）
実施の形態１では、第１符号器に非再帰的畳み込み符号器を用いる場合について説明したが、本実施の形態では、第１符号器に再帰的畳み込み符号器を用いるＬＤＰＣ−ＣＣ符号器の構成及び終端方法について説明する。なお、上述の実施の形態１で説明した構成要素と共通する部分には、同一の符号を付して説明を省略する。
【０１１６】
図１８に、本実施の形態におけるＬＤＰＣ−ＣＣ検査行列の一例を示す。図１８の検査行列３００は、符号化率１／２（＝ｂ／ｃ）、メモリ長Ｍ＝２のＬＤＰＣ−ＣＣ（又は畳み込み符号）の検査行列を表す。
【０１１７】
図１８において、検査行列３００の各行は、パリティ検査式ｃ１，ｃ２，…に対応し、各列は、送信符号語系列の各ビットに対応する。ここで、インデックスｕｓｘ（ｘ＝１，２，…）が付されている列は、情報系列のビットに対応し、インデックスｕｐｘが付されている列は、再帰的畳み込み符号化によって得られるフィードバック系列のビット（以下「フィードバックビット」ともいう）に対応し、インデックスｐｘ（ｘ＝１，２，…）が付されている列は、符号化によって得られるパリティビットに対応する。
【０１１８】
図１９に、検査行列３００の情報ビットに対応する列を抽出した部分検査行列（以下「情報部分検査行列」ともいう）３１０を示す。なお、図１９の情報部分検査行列３１０は、情報ビットに対応する列として、フィードバックビットに対応する列を含む。また、図２０に、検査行列３００のパリティビットに対応する列を抽出した部分検査行列（以下「パリティ部分検査行列」ともいう）３２０を示す。
【０１１９】
本実施の形態におけるＬＤＰＣ−ＣＣ符号器も、実施の形態１と同様に、検査行列３００を、情報ビットに対応する列を抽出した情報部分検査行列３１０、及び、パリティビットに対応する列を抽出したパリティ部分検査行列３２０に分解した上で、ＬＤＰＣ−ＣＣ符号化を行うことを特徴とする。
【０１２０】
図２１に、本実施の形態におけるＬＤＰＣ−ＣＣ符号器の構成の一例を示す。図２１のＬＤＰＣ−ＣＣ符号器４００は、第１符号器４２０及び第２符号器４３０を備えて構成される。なお、図２１には、入力系列選択部４１０、及び符号語連接部２５０を示す。
【０１２１】
入力系列選択部４１０は、終端処理制御信号に応じて、第１符号器４２０に出力する系列を選択する。終端処理制御信号は、ＬＤＰＣ−ＣＣ符号器４００の終端処理の開始を指示する信号であり、終端処理制御信号が終端処理の開始前を示す場合、入力系列選択部４１０は、情報系列を第１符号器４２０及び符号語連接部２５０に出力する。一方、終端処理制御信号が終端処理の開始を示す場合、入力系列選択部４１０は、第１符号器４２０から出力される系列を終端系列として、第１符号器４２０及び符号語連接部２５０に出力する。
【０１２２】
（第１符号器）
第１符号器４２０は、入力系列に対し、情報部分検査行列３１０に基づき符号化を行う。
【０１２３】
図２２に、第１符号器４２０の内部構成を示す。図２２の第１符号器４２０は、シフトレジスタ４２１−１，４２１−２、ｍｏｄ２加算器４２２−１〜４２２−３を備えて構成され、シフトレジスタ数２（Ｍ１＝２）の再帰的畳み込み符号器である。
【０１２４】
ｍｏｄ２加算器４２２−１は、第１符号器４２０に入力されるビットと、ｍｏｄ２加算器４２２−３から出力されるビットとをｍｏｄ２加算する。
【０１２５】
ｍｏｄ２加算器４２２−２は、ｍｏｄ２加算器４２２−１の出力と、シフトレジスタ４２１−２の出力とのｍｏｄ２加算を行う。
【０１２６】
ｍｏｄ２加算器４２２−３は、シフトレジスタ４２１−１の出力と、シフトレジスタ４２１−２の出力とのｍｏｄ２加算を行う。
【０１２７】
第１符号器４２０は、ｍｏｄ２加算器４２２−２の出力を第１符号語系列の符号語ビットｖｃ１，ｔとして、第２符号器４３０に出力し、また、ｍｏｄ２加算器４２２−３の出力を、入力系列選択部４１０に出力する。
【０１２８】
（第２符号器）
第２符号器４３０は、パリティ部分検査行列３２０に基づき符号化を行う。
【０１２９】
図２３に、第２符号器４３０の内部構成を示す。図２３の第２符号器４３０は、シフトレジスタ４３１−１，４３１−２、及び、ｍｏｄ２加算器４３２を備えて構成され、シフトレジスタ数２（Ｍ２＝２）の差動符号器（「再帰的畳み込み符号器」又は「アキュムレータ」ともいう）である。
【０１３０】
ｍｏｄ２加算器４３２は、第１符号器４２０から出力される第１符号語系列の符号語ビットｖｃ１，ｔと、シフトレジスタ４３１−１の出力とをｍｏｄ２加算し、その結果を、シフトレジスタ４３１−２に出力するとともに、第２符号語系列ｖｃ２，ｔとして符号語連接部２５０に出力する。
【０１３１】
符号語連接部２５０は、情報系列又は終端系列と、第２符号器４３０から出力される第２符号語系列とを連接し、連接後の系列を送信符号語系列として出力する。
【０１３２】
以下、上述のように構成されたＬＤＰＣ−ＣＣ符号器４００の終端処理について説明する。
【０１３３】
（終端処理）
実施の形態１で説明したＬＤＰＣ−ＣＣ符号器２００と同様、ＬＤＰＣ−ＣＣ符号器４００の第２符号器４３０も、差動符号器により構成される。上述したように、差動符号器の各シフトレジスタに保持されている値は、それ以前の時点で通信路に出力されている。そのため、復号側では、受信した符号語を用いることによりシフトレジスタの状態を一意に決めることができるので、第２符号器４３０の終端処理が不要となり、ＬＤＰＣ−ＣＣ符号器４００の終端処理としては、実施の形態１と同様に、第１符号器４２０に対する終端処理を行うのみでよい。
【０１３４】
以下では、第１符号器４２０の終端処理について説明する。
【０１３５】
上述したように、第１符号器４２０は、第１符号器４２０の入力と、ｍｏｄ２加算器４２２−３の出力とのｍｏｄ２加算結果が、シフトレジスタ４２１−１，４２１−２に出力される。そのため、第１符号器４２０にゼロ系列を入力するだけでは、シフトレジスタ４２１―１，４２１−２をゼロ状態にすることは困難であるが、第１符号器４２０は、再帰的畳み込み符号器であるので、ｍｏｄ２加算器４２２−３の出力を、第１符号器４２０の入力とすることにより、第１符号器４２０を終端することができる。
【０１３６】
そこで、入力系列選択部４１０は、終端処理制御信号が終端処理の開始前を示し、情報系列の符号化を行う場合には、情報系列を第１符号器４２０に出力し、終端処理制御信号が、終端処理の開始を示す場合、第１符号器４２０から出力される第１符号器４２０のｍｏｄ２加算器４２２−３の出力を、第１符号器４２０に出力する。
【０１３７】
このように、第１符号器４２０が再帰的畳み込み符号器の場合、第１符号器４２０のｍｏｄ２加算器４２２−３のｍｏｄ２加算結果を、終端系列として、第１符号器４２０に提供すればよいので、終端系列を別途生成する必要がない。そのため、終端処理生成部を備える必要がなくなり、その分回路規模の増大を抑圧することができる。
【０１３８】
また、終端処理に必要な終端系列の長さも、（Ｍ１×ｃ）ビットであり、（Ｋ＋Ｍ＋１）×ｃビット必要な前記従来のＬＤＰＣ−ＣＣ符号器よりも短くすることができるので、情報伝送時のオーバーヘッドを少なくすることができる。
【０１３９】
なお、以上の説明では、ＬＤＰＣ−ＣＣ符号器４００の第１符号器４２０が、時不変の再帰的畳み込み符号器の場合を例に説明したが、これに限られず、第１符号器が、時変の再帰的畳み込み符号器であるとしても良い。
【０１４０】
図２４に、時変の再帰的畳み込み符号器の場合の第１符号器の構成例を示す。図２４の第１符号器４２０Ａは、第２符号器４２０と同様に、再帰的畳み込み符号器であるので、第１符号器４２０のｍｏｄ２加算器４２２−３のｍｏｄ２加算結果を、終端系列として、第１符号器４２０Ａに提供すればよく、終端系列を別途生成する必要がない。そのため、終端処理生成部を備える必要がなくなり、その分回路規模の増大を抑圧することができる。
【０１４１】
なお、以上の説明では、ＬＤＰＣ−ＣＣ符号器４００の第２符号器４３０が、時不変の差動符号器の構成を採る場合を例に説明したが、これに限られず、実施の形態１で説明したように、各行の１の数が２個以上であったり、１／０の並びが行ごとに異なる時変のパリティ部分検査行列に基づいて符号化を行う符号器であっても良い。
【０１４２】
（実施の形態３）
本実施の形態では、送信符号語系列に情報系列が含まれない非組織ＬＤＰＣ−ＣＣの符号化を行うＬＤＰＣ−ＣＣ符号器の構成及び終端方法について説明する。
【０１４３】
図２５に、本実施の形態におけるＬＤＰＣ−ＣＣ検査行列の一例を示す。図２５の検査行列５００は、符号化率１／２の非組織畳み込み符号の検査行列である。
【０１４４】
図２６に、検査行列５００の情報ビットに対応する列を抽出した部分検査行列（以下「情報部分検査行列」ともいう）５１０を示す。また、図２７に、検査行列５００のパリティビットに対応する列を抽出した部分検査行列（以下「パリティ部分検査行列」ともいう）５２０を示す。
【０１４５】
本実施の形態におけるＬＤＰＣ−ＣＣ符号器も、実施の形態１及び実施の形態２と同様に、検査行列５００を、情報ビットに対応する列を抽出した情報部分検査行列５１０、及び、パリティビットに対応する列を抽出したパリティ部分検査行列５２０に分解した上で、ＬＤＰＣ−ＣＣ符号化を行うことを特徴とする。
【０１４６】
図２８に、本実施の形態におけるＬＤＰＣ−ＣＣ符号器の構成の一例を示す。図２８のＬＤＰＣ−ＣＣ符号器６００は、第１符号器６１０、及び、第２符号器６２０−１，６２０−２を備えて構成される。また、図２８に、終端系列生成部２１０、終端系列連接部２２０、及び、符号語連接部６３０を示す。なお、上述の実施の形態１で説明した構成要素と共通する部分には、同一の符号を付して説明を省略する。
【０１４７】
（第１符号器）
第１符号器６１０は、シフトレジスタ数６（Ｍ１＝６）、符号化率１／２の非組織畳み込み符号器であり、入力系列に対し、検査行列５００の情報ビットに対応する列を抽出した情報部分検査行列５１０に基づき符号化を行う。
【０１４８】
図２９に、第１符号器６１０の内部構成を示す。図２９の第１符号器６１０は、シフトレジスタ６１１−１〜６１１−６、及び、ｍｏｄ２加算器６１２−１，６１２−２を備えて構成される。
【０１４９】
ｍｏｄ２加算器６１２−１は、第１符号器６１０に入力されたビットと、シフトレジスタ６１１−２の出力と、シフトレジスタ６１１−３の出力と、シフトレジスタ６１１−５の出力と、シフトレジスタ６１１−６の出力とを、ｍｏｄ２加算し、ｍｏｄ２加算結果を、第１符号語系列＃１の符号語ビットとして、第２符号器６２０−１に出力する。
【０１５０】
また、ｍｏｄ２加算器６１２−２は、第１符号器６１０に入力されたビットと、シフトレジスタ６１１−１の出力と、シフトレジスタ６１１−２の出力と、シフトレジスタ６１１−３の出力と、シフトレジスタ６１１−６の出力とを、ｍｏｄ２加算し、ｍｏｄ２加算結果を、第１符号語系列＃２の符号語ビットとして、第２符号器６２０−２に出力する。
【０１５１】
（第２符号器）
図３０に、第２符号器６２０−１，６２０−２の構成を示す。第２符号器６２０−１，６２０−２は、図７に示す第２符号器２４０に対し、シフトレジスタ２４１−６を追加した構成を採る。
【０１５２】
第２符号器６２０−１は、第１符号器６１０から出力される第１符号語系列＃１を入力し、第１符号語系列＃１に対し、パリティ部分検査行列５２０の奇数行の検査多項式に基づき符号化を行い、符号化後の系列を第２符号語系列＃１として符号語連接部６３０に出力する。なお、第２符号語系列＃１の符号語ビットは、その時点の第１符号語系列＃１の符号語ビットと、シフトレジスタ２４１−１に蓄積されている過去の第２符号語系列＃１の符号語ビットとのｍｏｄ２加算により得られる。
【０１５３】
第２符号器６２０−２は、第１符号器６１０から出力される第１符号語系列＃２を入力し、パリティ部分検査行列５２０の偶数行の検査多項式に基づき符号化を行い、符号化後の系列を第２符号語系列＃２として符号語連接部６３０に出力する。なお、第２符号語系列＃２の符号語ビットは、その時点の第１符号語系列＃２の符号語ビットと、シフトレジスタ２４１−１に蓄積されている過去の第２符号語系列＃２の符号語ビットとのｍｏｄ２加算により得られる。
【０１５４】
符号語連接部６３０は、第２符号器６２０−１から出力される第２符号語系列＃１と、第２符号器６２０−２から出力される第２符号語系列＃２とを連接し、連接後の系列を送信符号語系列として出力する。
【０１５５】
以下、上述のように構成されたＬＤＰＣ−ＣＣ符号器６００の終端処理について説明する。
【０１５６】
（終端処理）
ＬＤＰＣ−ＣＣ符号器６００において、第２符号器６２０−１，６２０−２は、差動符号器の構成を採るので、実施の形態１及び実施の形態２で既に説明したように、終端処理が不要となる。そのため、ＬＤＰＣ−ＣＣ符号器６００の終端処理としては、第１符号器６１０に対する終端処理を行うのみでよい。
【０１５７】
第１符号器６１０は、シフトレジスタ数６（Ｍ１＝６）の非再帰的畳み込み符号器であるので、Ｍ１個のシフトレジスタの状態をすべてゼロにするためには、Ｍ１ビットのゼロ系列を終端系列として入力すれば終端処理を完了することができる。なお、Ｍ１は、第１符号器のメモリ長である。
【０１５８】
このことから、終端系列生成部２１０は、終端処理の開始を示す終端処理制御信号が入力された場合に、Ｍ１ビットのゼロ系列を終端系列として終端系列連接部２２０に提供すればよい。なお、符号化率Ｒ＝ｂ／ｃの場合には、実施の形態１と同様に、Ｍ１×ｂビットのゼロ系列を終端系列とすればよい。
【０１５９】
終端系列連接部２２０は、情報系列の後に終端系列を連接し、連接後の系列を第１符号器６１０に出力する。
【０１６０】
図３１に、ＬＤＰＣ−ＣＣ符号器６００の入力系列及び出力系列を示す。図３１（ａ）は、第１符号器６１０の入力系列を示し、図３１（ｂ）は、第２符号器６２０−１，６２０−２の出力系列を示している。
【０１６１】
図３１に示されるように、第１符号器６１０の入力系列は、ｎビットからなる情報系列と、（Ｍ１×ｂ）ビットからなる終端系列である。
【０１６２】
なお、本実施の形態におけるＬＤＰＣ−ＣＣ符号器６００では、終端系列を、第１符号器６１０のメモリ長Ｍ１をｂ倍した数と同数のゼロ系列とすればよいので、終端系列を、式（５）の方程式を解いて求める必要がなく、終端系列は、終端処理を開始する際のウェイトパターンに依存しない。そのため、ＬＤＰＣ−ＣＣ符号器２０では必要とされたＫビット（Ｋ：０〜Ｍ）のパディング系列の挿入が不要となる。この結果、ＬＤＰＣ−ＣＣ符号器６００を用いる場合、終端処理によって発生する情報伝送時のオーバーヘッドが、（Ｍ１×ｃ）ビットになる。
【０１６３】
このように、本実施の形態におけるＬＤＰＣ−ＣＣ符号器６００は、検査行列５００の情報ビットに対応する列を抽出した情報部分検査行列５１０に基づいて符号化を行う第１符号器６１０と、検査行列５００のパリティビットに対応する列を抽出したパリティ部分検査行列５２０に基づいて符号化を行う第２符号器６２０−１，６２０−２とを連接し、検査行列５００に基づくＬＤＰＣ−ＣＣ符号化を行うようにした。
【０１６４】
上述したように、ＬＰＤＣ−ＣＣ検査行列５００のパリティ部分検査行列５２０に基づき符号化を行う第２符号器６２０−１，６２０−２は、差動符号器により構成される。そのため、実施の形態１及び実施の形態２と同様に、第２符号器６２０−１，６２０−２の終端処理は不要となる。
【０１６５】
したがって、ＬＤＰＣ−ＣＣ符号器６００を上記のように構成することにより、ＬＤＰＣ−ＣＣ符号器６００の終端処理は、情報系列の後尾に第１符号器６１０のシフトレジスタの数Ｍ１、つまり、第１符号器６１０のメモリ長と同数の０系列を連接して符号化することで実現することができるようになる。
【０１６６】
終端系列生成部２１０は、シフトレジスタの数Ｍ１と同数の０からなる終端系列を提供すればよいので、前述した従来のＬＤＰＣ−ＣＣ符号器における終端系列生成回路に比し、終端系列生成部２１０をより大幅に小さい規模で構成することができる。
【０１６７】
また、前記従来のＬＤＰＣ−ＣＣ符号器の構成では、ＬＤＰＣ−ＣＣ符号器のシフトレジスタの数と同数の０系列を符号器に入力しただけでは、符号器の終端処理を行うことができなかったのに対し、本実施の形態では、ＬＤＰＣ−ＣＣ符号器６００に、第１符号器６１０を構成するシフトレジスタの数Ｍ１と同数の０系列を入力するだけで終端処理を行うことができる。前記従来のＬＤＰＣ−ＣＣ符号器２０を使った場合のオーバーヘッドは、（Ｋ＋Ｍ＋１）×ｃであるのに対し、ＬＤＰＣ−ＣＣ符号器６００の終端処理によって発生する情報伝送時のオーバーヘッドは、（Ｍ１×ｃ）ビットとなり、Ｍ１×ｃ≦（Ｋ＋Ｍ＋１）×ｃであるので、前記従来のＬＤＰＣ−ＣＣ符号器２０を使った場合に比し、本実施の形態におけるＬＤＰＣ−ＣＣ符号器６００では、終端処理によって発生する情報伝送時のオーバーヘッドを小さくすることができる。
【０１６８】
なお、以上の説明では、第２符号器６２０−１，６２０−２が、パリティ部分検査行列５２０に基づき符号化を行う場合について説明したが、これに限られず、例えば、図３２に示すようなパリティ部分検査行列５２０Ａに基づき符号化を行うようにしてもよい。
【０１６９】
図３３に、この場合のＬＤＰＣ−ＣＣ符号器６００Ａを示す。
【０１７０】
ＬＤＰＣ−ＣＣ符号器６００Ａは、第１符号器６１０、及び、第２符号器６２０Ａを備えて構成される。また、図３３に、終端系列連接部２２０、終端系列生成部２１０、及び、符号語連接部６３０を示す。
【０１７１】
図３４に第２符号器６２０Ａの構成を示す。
【０１７２】
第２符号器６２０Ａは、シフトレジスタ６２１−１〜６２１−６，６２２−１〜６２２−６、及び、ｍｏｄ２加算器６２３−１，６２３−２を備えて構成される。
【０１７３】
第２符号器６２０Ａは、第１符号器６１０から出力される第１符号語系列＃１及び第１符号語系列＃２を入力し、パリティ部分検査行列５２０Ａの検査多項式に基づき符号化を行い、符号化後の系列を第２符号語系列＃１及び第２符号語系列＃２として符号語連接部６３０に出力する。なお、第２符号語系列＃１の符号語ビットは、その時点の第１符号語系列＃１の符号語ビットと、シフトレジスタ６２２−１に蓄積されている過去の第２符号語系列＃２の符号語ビットとのｍｏｄ２加算により得られる。また、第２符号語系列＃２の符号語ビットは、その時点の第１符号語系列＃２の符号語ビットと、シフトレジスタ６２１−１に蓄積されている過去の第２符号語系列＃１の符号語ビットとのｍｏｄ２加算により得られる。
【０１７４】
図３４の第２符号器６２０Ａも、第２符号器６２０と同様に、差動符号器の構成を採るので、既に説明したとおり終端処理が不要となる。そのため、ＬＤＰＣ−ＣＣ符号器６００Ａの終端処理としては、ＬＤＰＣ−ＣＣ符号器６００と同様に、第１符号器６１０の終端処理を行うのみでよいため、同様の効果を得ることができる。
【０１７５】
（実施の形態４）
本実施の形態では、復号時のメモリ量の削減を図ることができるＬＤＰＣ−ＣＣ符号器の構成及び終端方法について説明する。本実施の形態では、終端系列に対しては、第２符号器を用いず、第１符号器を用いて符号化して生成された第１終端符号系列を、送信符号語系列とする。
【０１７６】
図３５に、本実施の形態におけるＬＤＰＣ−ＣＣ符号器の構成を示す。なお、図３５の本実施の形態におけるＬＤＰＣ−ＣＣ符号器において、図４と共通する構成部分には、図４と同一の符号を付して説明を省略する。
【０１７７】
図３５のＬＤＰＣ−ＣＣ符号器７００は、第１符号器２３０、第２符号器２４０、及び、符号語選択部７２０を備えて構成される。また、図３５に、終端系列生成部２１０、終端系列連接部２２０、符号語連接部２５０、及び、切り替え器７１０を示す。
【０１７８】
切り替え器７１０は、第１符号器２３０から出力される第１符号語系列を入力し、終端処理制御信号に応じて、当該第１符号語系列を第２符号器２４０に出力するか、符号語選択部７２０に出力するか、第１符号語系列の出力先を切り替える。具体的には、終端処理制御信号が終端処理の開始前を示す場合、すなわち、第１符号器２３０の出力が情報系列を符号化して得られた符号語（第１情報符号系列）である場合、切り替え器７１０は、第１情報符号系列を第２符号器２４０に出力する。一方、終端系列制御信号が終端処理の開始を示す場合、すなわち、第１符号器２３０の出力が、終端系列を符号化して得られた符号語（第１終端符号系列）である場合、切り替え器７１０は、第１終端符号系列を符号語選択部７２０に出力する。
【０１７９】
符号語選択部７２０は、終端処理制御信号に応じて、符号語連接部２５０に出力する系列を選択する。具体的には、終端処理制御信号が終端処理の開始前を示す場合、符号語選択部７２０は、第２符号器２４０から出力される第２符号語系列を選択し、符号語連接部２５０に出力する。一方、終端処理制御信号が終端処理の開始を示す場合、符号語選択部７２０は、切り替え器７１０から出力される第１終端符号系列を選択し、符号語連接部２５０に出力する。
【０１８０】
このように、本実施の形態では、第１符号器２３０の終端処理を行った結果生成される第１終端符号系列が、第２符号器２４０によって符号化されず、そのまま送信符号語系列として出力される。
【０１８１】
以下、上述のように構成されたＬＤＰＣ−ＣＣ符号器７００の終端処理について説明する。なお、以下では、第１符号器２３０が、図２に示す情報部分検査行列１１０に基づき符号化を行い、第２符号器２４０が、図３に示す情報部分検査行列１１０に基づき符号化を行う場合を例に説明する。
【０１８２】
（終端処理）
第１符号器２３０によって、情報系列又は終端系列に対し、情報部分検査行列１１０が用いられて符号化が施され、第１符号語系列が生成される。第１符号語系列は、切り替え器７１０に出力される。
【０１８３】
切り替え器７１０では、終端処理制御信号に応じて、第１符号語系列の出力先が、第２符号器２４０、又は、符号語選択部７２０のどちらかに切り替えられる。具体的には、終端処理制御信号が終端処理の開始前を示す場合、すなわち、第１符号器２３０の出力が第１情報符号系列の場合、第１情報符号系列は、第２符号器２４０に出力される。
【０１８４】
一方、終端系列制御信号が終端処理の開始を示す場合、すなわち、第１符号器２３０の出力が、第１終端符号系列の場合、第１終端符号系列は、符号語選択部７２０に出力される。
【０１８５】
このように、終端処理時には、第１終端符号系列は、第２符号器２４０に出力されず、符号語選択部７２０を経由して、符号語連接部２５０に出力される。したがって、終端処理時には、送信符号語系列として、第１終端符号系列が符号語連接部２５０から出力されることになる。
【０１８６】
図３６は、終端処理時に、第２符号器２４０を用いずに、第１符号器２３０のみを用いて符号化して生成された第１終端符号系列を、送信符号語系列とする場合の検査行列の終端部を示す。図３６において、四角枠で囲まれた部分に対応するビットは、第１符号終端系列が、第２符号器２４０に出力される場合に、加算されるビットを示している。第１終端符号系列が第２符号器２４０に出力される場合、四角枠で囲まれた部分には１が立ち、対応するビットが加算される。例えば、ｃ７のパリティ検査式では、第１終端符号系列として（ｕ３＋ｕ６＋ｕ７）が第２符号器２４０に出力され、第２符号器２４０では、（ｕ３＋ｕ６＋ｕ７）に過去のｐ２が加算されることにより、ｐ７が算出される。
【０１８７】
これに対し、第１終端符号系列が第２符号器２４０に出力されず、符号語選択部７２０に出力される場合には、第２符号器２４０で加算された過去のｐ２が（ｕ３＋ｕ６＋ｕ７）に加算されずに、ｐ７が算出されることになる。
【０１８８】
したがって、図３６に示すように、終端処理時に、第１終端符号系列が第２符号器２４０に出力されず、第１終端符号系列が送信符号語系列として送信される場合には、四角枠で囲まれた部分が０に置き換えられたパリティ検査式を用いて符号化されることになる。
【０１８９】
この結果、ｐ２以降の検査行列のパリティビット部に対応する列の列重みが１となり、これらのビットを復号するときに必要となる復号側で接続するゼロ系列を短くすることができる。例えば、図３６に示す例で、ｕ４に着目すると、ｕ４が含まれるパリティ検査式ｃ８が含むｕ８は、パリティ検査式ｃ９にも含まれる。パリティ検査式ｃ９に含まれるｕ９は、パリティ検査式ｃ１３にも含まれる。そのため、復号側では、ｕ４を復号するために、パリティ検査式ｃ１３に必要なビット数だけ、終端系列の後段にさらにゼロ系列を接続する必要がある。図３６に示す例では、ゼロ系列が４ビット接続されている。
【０１９０】
これに対し、第１終端符号系列が第２符号器２４０に出力される場合の検査行列の終端部を、図３７に示す。この場合、第１終端符号系列に対し符号化して得られた第２符号語系列は、符号語選択部７２０を経由して符号語連接部２５０に出力され、符号語連接部２５０から送信符号語系列として送信される。
【０１９１】
図３７に示されるように、パリティ検査式ｃ７では、第２符号器２４０において、第１終端符号系列として第１符号器２３０から出力される（ｕ３，ｕ６，ｕ７）に対し、過去のｐ２が加算されることにより、ｐ７が算出される。他のパリティ検査式においても同様である。そのため、図３７において、四角枠で囲まれた部分には、１が立っている。
【０１９２】
図３７に示す例で、ｐ６に着目すると、ｐ６が含まれるパリティ検査式ｃ１１が含むｐ１１は、他のパリティ検査式ｃ１６にも含まれるので、パリティ検査式ｃ１６に必要なビット数のゼロ系列を接続する必要がある。図３７に示す例では、ゼロ系列が１０ビット接続されている。
【０１９３】
これに対し、本実施の形態では、終端処理時に、第１終端符号系列に対し第２符号器２４０で符号化しないようにすることにより、図３６に示したように、接続する必要のあるゼロ系列のビット数を減少させることができる。例えば、図３７に示す、実施の形態１で示した検査行列１００の終端部と比べると、復号器で接続する必要があるゼロ系列のビット数が６ビット分短くなっていることがわかる。この結果、復号器で必要なメモリサイズ、及び、復号演算量を削減することができるようになる。
【０１９４】
なお、第１終端符号系列を第２符号器２４０において符号化しないことにより、対応する列の列重みが１になり、誤り訂正能力が劣化してしまうものの、第２符号器２４０において符号化されない系列は、終端系列であること、また、ＬＤＰＣ−ＣＣの復号アルゴリズムは、検査行列の左に位置する符号語から順に信頼度伝搬するため、検査行列の最右列に位置する終端系列の誤りが、それより左に位置する情報ビットに関係する符号語ビットの復号に与える影響は少ないこと等から、誤り訂正能力の劣化は少ないと予想される。したがって、復号器のメモリサイズや復号演算量等に厳しい制限がある場合に、本実施の形態におけるＬＤＰＣ−ＣＣ符号器７００を適用すると有効である。
【０１９５】
以上のように、本実施の形態によれば、切り替え器７１０は、入力系列が情報系列か終端系列かに応じて、第１符号器２３０から出力される第１符号語系列を、第２符号器２４０に出力するか否か切り替え、符号語選択部７２０は、入力系列が情報系列か終端系列かに応じて、第１符号語系列、又は、第２符号語系列のいずれか一方を符号語系列として出力するようにした。このようにすることで、検査行列の列重みが減少し、復号側で終端処理時に接続する必要がある０系列のビット数を減らすことができるので、復号器のメモリサイズ、及び、符号演算量を削減することができる。
【０１９６】
（実施の形態５）
実施の形態１から実施の形態４では、伝送路に送信する終端系列の量を削減することができるＬＤＰＣ−ＣＣ符号器及び符号化方法について説明した。本実施の形態では、上記ＬＤＰＣ−ＣＣ符号器の入力系列及び出力系列に着目し、検査行列との関係を説明するとともに、上記ＬＤＰＣ−ＣＣ符号器から送信された送信符号語系列を復号する復号器及び復号方法について、主に終端系列の処理を中心に説明する。
【０１９７】
（符号化方法）
図３８に、本実施の形態におけるＬＤＰＣ−ＣＣ符号器の入力系列及び出力系列を示す。図３８のＬＤＰＣ−ＣＣ符号器８００は、低密度なパリティ検査行列に基づいて、符号化率Ｒ＝ｂ／ｃ、メモリ長ＭのＬＤＰＣ−ＣＣの符号化を行う符号器である。
【０１９８】
ＬＤＰＣ−ＣＣ符号器８００は、情報ビットから構成される情報系列と、それに続く、ＬＤＰＣ−ＣＣ符号器８００の終端処理のための終端系列（以降、これらを合わせて「送信情報系列」と呼ぶ）を入力系列とし、当該入力系列に対して符号化を行う。
【０１９９】
ＬＤＰＣ−ＣＣ符号器８００は、入力系列が情報系列の場合、情報符号系列を出力する。また、ＬＤＰＣ−ＣＣ符号器８００は、入力系列が終端系列の場合、終端符号系列を出力する。以降、情報符号系列及び終端符号系列を合わせて「送信符号語系列」と呼ぶ。
【０２００】
以下では、ＬＤＰＣ−ＣＣ符号器８００が、図１に示すパリティ検査行列を用いてＬＤＰＣ−ＣＣ符号化を行う場合の終端系列について説明する。図１の検査行列１００は、符号化率Ｒ＝１／２、メモリ長Ｍ＝５のＬＤＰＣ−ＣＣを定義する検査行列である。
【０２０１】
図１に示す検査行列１００の各列に付されているラベルのうち、ｕ１，ｕ２，…は、ＬＤＰＣ−ＣＣ符号器８００に入力される送信情報系列の各ビットに対応し、ｐ１，ｐ２，…は、ＬＤＰＣ−ＣＣ符号器８００から出力される送信符号語系列の各ビットに対応する。ｕ１，ｕ２，…に対応する列を抽出した部分行列は、図２の情報部分検査行列１１０である。また、ｐ１，ｐ２，…に対応する列を抽出した部分行列は、図３のパリティ部分検査行列１２０である。
【０２０２】
ところで、情報部分検査行列の各行において、一番左に１が存在する列のインデックスと、一番右に１が存在する列のインデックスの差の最大値は、（Ｍ１×ｂ）に対応する。図２の情報部分検査行列１１０は、ｂ＝１，Ｍ１＝４の例であり、上記インデックスの差の最大値４と一致する。
【０２０３】
又、パリティ部分検査行列の各行において、一番左に１が存在する列のインデックスと、一番右に１が存在する列のインデックスの差の最大値は、Ｍ２（ｃ−ｂ）に対応する。図３のパリティ部分検査行列１２０は、ｂ＝１，ｃ＝２，Ｍ２＝５の例であり、上記インデックスの差の最大値５と一致する。
【０２０４】
ＬＤＰＣ−ＣＣ符号器８００に対する終端系列の長さは、上述の実施の形態で説明した通り、Ｍ１×ｂ＝４×１＝４でよい。また、ＬＤＰＣ−ＣＣ符号器８００のメモリ長Ｍは、Ｍ１とＭ２のうちの大きい方をとる（Ｍ＝ｍａｘ（Ｍ１，Ｍ２））。すなわち、終端系列の長さは、メモリ長Ｍをｂ倍した数以下になる。符号化は、以下のように行われる。
【０２０５】
先ず、ＬＤＰＣ−ＣＣ符号器８００に、情報系列が入力された場合の符号化について、検査行列１００のうち、ｃ６とラベル付けされたパリティ検査式を例に説明する。ｃ６のパリティ検査式は、送信情報系列として、ビットｕ６がＬＤＰＣ−ＣＣ符号器８００に入力された場合に出力される送信符号語系列のビットｐ６の生成方法を表す。
【０２０６】
具体的には、送信符号語ビットｐ６は、ｃ６の行でｐ６以外の１の立っている列に対応するビットをｍｏｄ２加算することで求められる。すなわち、ｐ６＝ｐ１＋ｕ５＋ｕ６により、ｐ６は算出される。
【０２０７】
また、検査行列１００は、各行の１と０の配置のパターンが行ごとに異なるので、ｐ７の場合は、ｐ７＝ｐ２＋ｕ３＋ｕ７により算出される。
【０２０８】
次に、ＬＤＰＣ−ＣＣ符号器８００に、Ｍ１×ｂ（＝４）ビットの終端系列が入力された場合の符号化について説明する。
【０２０９】
終端系列をｔ＝［ｔ１，ｔ２，ｔ３，ｔ４］と表す。また、終端系列の直前に入力された情報系列を、ｄ＝［…，ｄ５，ｄ４，ｄ３，ｄ２，ｄ１］と表す。このときの送信情報系列は、u＝［…，ｄ５，ｄ４，ｄ３，ｄ２，ｄ１，ｔ１，ｔ２，ｔ３，ｔ４］となる。
【０２１０】
また、送信符号語系列をｖ＝［…，ｇ５，ｇ４，ｇ３，ｇ２，ｇ１，ｓ１，ｓ２，ｓ３，ｓ４］とする。ここで、情報符号系列ｇ５〜ｇ１は、情報系列ｄ５〜ｄ１に対応する送信符号語系列であり、終端符号系列ｓ１〜ｓ４は、終端系列ｔ１〜ｔ４に対応する送信符号語系列である。
【０２１１】
図３９に、検査行列１００の終端部を示す。パリティ検査式ｃｔ１〜ｃｔ４の行より、終端符号系列ｓ１〜ｓ４は、式（６−１）〜式（６−４）により算出される。
【数６】
0005490931.tif 000007
【０２１２】
すなわち、終端符号系列ｓ１〜ｓ４は、終端系列ｔ１〜ｔ４と、情報系列の後ろ４ビットｄ１〜ｄ４と、情報符号系列の後ろ５ビットｇ１〜ｇ５とが用いられて生成される。
【０２１３】
ＬＤＰＣ−ＣＣ符号器８００は、畳み込み符号器であるため情報系列として任意の長さの系列をとることができる。また、ＬＤＰＣ−ＣＣ符号器８００は、時変の畳み込み符号器で構成することができる。そのため、情報系列の長さや情報系列の値によって、終端符号系列の生成に用いられるビットが変わってくる。
【０２１４】
しかし、上述したように、情報部分検査行列、パリティ部分検査行列の各行の一番左の１の位置と一番右の１の位置のインデックスの差の最大値は、それぞれ（Ｍ１×ｂ）、Ｍ２×（ｃ−ｂ）に対応しているので、終端符号系列のビットは次のように表現できる。
【０２１５】
つまり、終端符号系列は、（Ｍ１×ｂ）ビットからなる終端系列と、情報系列の後ろから多くて（Ｍ１×ｂ）ビットと、情報符号系列の後ろから多くてＭ２×（ｃ−ｂ）ビットとが用いられて生成されることになる。
【０２１６】
（復号方法）
次に、ＬＤＰＣ−ＣＣ符号器８００から出力される送信符号語系列を復号するＬＤＰＣ−ＣＣ復号器の復号方法について説明する。
【０２１７】
図４０に、本実施の形態におけるＬＤＰＣ−ＣＣ復号器の入力系列及び出力系列を示す。図４０のＬＤＰＣ−ＣＣ復号器９００は、低密度なパリティ検査行列に基づいて符号化率Ｒ＝ｂ／ｃ、メモリ長ＭのＬＤＰＣ−ＣＣの復号を行う復号器である。
【０２１８】
ＬＤＰＣ−ＣＣ復号器９００は、通信路から得られた受信系列（情報系列、終端系列、情報符号系列、終端符号系列）の推定値を入力して復号処理を行う。復号処理方法としては、ＬＤＰＣ−ＢＣと同様に、検査行列に基づいたｓｕｍ−ｐｒｏｄｕｃｔアルゴリズムを適用することができる。ＬＤＰＣ−ＣＣ復号器９００は、復号後の推定情報系列を出力する。なお、情報系列の推定値と終端系列の推定値とからなる系列を受信情報系列と呼び、情報符号系列の推定値と終端符号系列の推定値とからなる系列を受信符号語系列と呼ぶ。
【０２１９】
図４１に、ＬＤＰＣ−ＣＣ復号器９００が復号処理に用いる検査行列の終端部の一例を示す。なお、図４１に示す検査行列の終端部は、符号化側のＬＤＰＣ−ＣＣ符号器８００で用いられた検査行列１００に対応する終端部である。
【０２２０】
符号化側で、終端処理が行われると、終端処理完了後のＬＤＰＣ−ＣＣ符号器８００の状態は全ゼロになるため、復号側では、終端系列と終端符号系列の後に、メモリ長Ｍのゼロ系列ｘ，ｙをそれぞれ追加して復号する。
【０２２１】
さらに、本実施の形態では、ＬＤＰＣ−ＣＣ復号器９００は、図４１に示すように、受信符号語系列の最後のビットからＭ２×（ｃ−ｂ）番目のビットに対応する列の右側に、列がそれぞれ１つ挿入された検査行列を用いる。
【０２２２】
挿入された列は、受信符号語系列のビット対応する列（挿入された列の左側の列）における一番下の１と同じ行に１があり、それ以外の行はすべて０の列である。図４１に示す例では、検査行列の終端部に、ｇ１’，ｓ１’，ｓ２’，ｓ３’，ｓ４’という５（＝Ｍ２×（ｃ−ｂ））列が挿入されている。
【０２２３】
列が挿入されたことにより、図４１の検査行列のｃ６〜ｃ１０のパリティ検査式は、式（７−１）〜（７−５）のようになる。
【数７】
0005490931.tif 000008
【０２２４】
本実施の形態では、ＬＤＰＣ−ＣＣ復号器８００は、挿入された列の通信路値として、一つ左の受信符号語系列のビットの列の通信路値と同じ値を用いて復号を行う。図４１に示す例では、ｇ１’，ｓ１’，ｓ２’，ｓ３’，ｓ４’の列の通信路値として、それぞれ、ｇ１，ｓ１，ｓ２，ｓ３，ｓ４と同じ値が用いられる。
【０２２５】
これは、ＬＤＰＣ−ＣＣでは、式（２）に示したように、符号語ｖ2,ｔを求めるに、過去の時刻における符号語ｖ2,ｔ-iが必要になるため、ＬＤＰＣ−ＣＣ符号器８００のシフトレジスタには過去の時刻の符号語ｖ2,ｔ-iが保持されているからである。終端処理時に、ＬＤＰＣ−ＣＣ復号器９００は、ＬＤＰＣ−ＣＣ符号器８００のシフトレジスタの状態を必要とするが、シフトレジスタに保持されているのは、過去の時刻の符号語であり、過去の時刻の符号語は、すでに送信されている。したがって、復号側で、ｇ１，ｓ１，ｓ２，ｓ３，ｓ４の右に、ｇ１’，ｓ１’，ｓ２’，ｓ３’，ｓ４’の列が挿入された検査行列を用いて復号することにより、シフトレジスタに保持された符号語を用いて終端処理を行うことになる。そのため、符号化側では、符号語ｖ2,ｔを求めるために必要となるシフトレジスタに保持された過去の時刻における符号語を送信する必要がなく、（Ｍ１×ｂ）ビットの終端系列を用いるだけでよくなる。
【０２２６】
終端処理が完了している場合、ｘ１〜ｘ５及びｙ１〜ｙ５が０であること、かつ、ｇ１＝ｇ１’，ｓｘ＝ｓｘ’（ｘ＝１，…，４）であることから式（８−１）〜（８−５）が得られる。
【数８】
0005490931.tif 000009
【０２２７】
したがって、式（８−１）〜（８−５）より、終端系列ｔ＝［ｔ１、ｔ２、ｔ３、ｔ４］は、式（９−１）〜（９−２）の関係を満たす系列であればよく、例えば、終端系列としてｔ＝［０、０、０、０］を用いることができることがわかる。
【数９】
0005490931.tif 000010
【０２２８】
このように、本実施の形態におけるＬＤＰＣ−ＣＣ符号器は、情報系列に続く、（Ｍ１×ｂ）ビットからなる終端系列を入力として、情報符号系列及び終端符号系列を出力するようにした。
【０２２９】
また、本実施の形態におけるＬＤＰＣ−ＣＣ復号器は、符号化に用いた検査行列に、それぞれ受信符号語系列（情報符号系列の推定値と終端符号系列の推定値とからなる系列）の後ろからＭ２×（ｃ−ｂ）ビットと同じ通信路値を持つＭ２×（ｃ−ｂ）個の列を追加した検査行列を用いて復号処理を行うようにした。
【０２３０】
このようにすることで、（Ｍ１×ｂ）個のゼロからなる終端系列を用いてＬＤＰＣ−ＣＣ符号器の終端処理を行うことができ、情報符号系列や終端符号系列を用いて終端系列を生成するための演算が不要となり、簡易な構成でＬＤＰＣ−ＣＣ符号器を実現することができる。
【０２３１】
なお、以上の説明では、ＬＤＰＣ−ＣＣ符号器８００が、非再帰的畳み込み符号の検査行列１００を用いて符号化を行う場合を例に説明したが、検査行列１００に限らず、例えば、図１８に示すような再帰的畳み込み符号の検査行列３００を用いて符号化を行う場合にも、同様に適用することできる。ただし、この場合の終端系列は、ゼロ系列ではなく、実施の形態２で説明したように、（Ｍ１×ｂ）ビットのフィードバックビットとなる。
【０２３２】
また、本実施の形態で説明した終端系列及び復号方法を用いる場合には、図５５に示すような従来のＬＤＰＣ−ＣＣ符号器１０に対しても、同様の効果を得ることができる。
【０２３３】
（他の実施の形態１）
本実施の形態では、（７，５）の畳み込み符号から、新しいＬＤＰＣ−ＣＣを設計する方法について詳しく説明する。
【０２３４】
図４２は、（７，５）の畳み込み符号の符号器の構成を示す図である。図４２に示す符号器は、シフトレジスタ４２０１、４２０２と、排他的論理和回路４２０３、４２０４、４２０５と、を有する。図４２に示す符号器は、入力ｘに対し、出力ｘとパリティｐを出力する。この符号は組織符号である。
【０２３５】
なお、本発明では、組織符号である畳み込み符号を用いることが重要となる。
【０２３６】
符号化率１／２、生成多項式Ｇ＝［１  Ｇ１（Ｄ）／Ｇ０（Ｄ）］の畳み込み符号を例に考える。このとき、Ｇ１はフィードフォワード多項式、Ｇ０はフィードバック多項式をあらわす。情報系列（データ）の多項式表現をＸ（Ｄ）、パリティ系列の多項式表現をＰ（Ｄ）とするとパリティ検査多項式は、以下の式（１０）のようにあらわされる。
【数１０】
0005490931.tif 000011
【０２３７】
図４３に、（７，５）の畳み込み符号に関する情報を記載する。（７，５）畳み込み符号の生成行列はＧ＝［１  （Ｄ２＋１）／（Ｄ２＋Ｄ＋１）］とあらわされる。したがって、パリティ検査多項式は、以下の式（１１）となる。
【数１１】
0005490931.tif 000012
【０２３８】
ここで、時点ｉにおけるデータをＸｉ、パリティをＰｉとあらわし、送信系列Ｗｉ＝（Ｘｉ，Ｐｉ）とあらわす。そして、送信ベクトルｗ＝（Ｘ１，Ｐ１，Ｘ２，Ｐ２，・・・，Ｘｉ，Ｐｉ・・・）とあらわす。すると、式（１１）から、検査行列Ｈは図４３に示すようにあらわすことができる。このとき、以下の式（１２）の関係式が成立する。
【数１２】
0005490931.tif 000013
【０２３９】
したがって、受信装置では、検査行列Ｈを用い、非特許文献４〜非特許文献６に示されているようなＢＰ（Belief Propagation）復号、ＢＰ復号を近似したmin-sum復号、offset ＢＰ復号、Normalized ＢＰ復号、shuffled ＢＰ復号などを用いることで、復号を行うことができる。
【０２４０】
ここで、図４３の検査行列において、行番号＝列番号の「１」より左下の部分（図４３の４３０１の左下の部分）を近似下三角行列と定義する。行番号＝列番号の「１」より右上の部分を上台形行列と定義する。
【０２４１】
次に、本発明におけるＬＤＰＣ−ＣＣの設計方法について詳しく説明する。
【０２４２】
符号器を簡単な構成で実現するために、本実施の形態では、図４３に示した（７，５）の畳み込み符号のための検査行列Ｈの近似下三角行列に「１」を追加する手法をとる。
【０２４３】
＜符号化方法＞
ここでは、一例として図４３の検査行列に対し、追加する「１」は、データ、パリティそれぞれに１つとするものとする。図４３の検査行列Ｈの近似下三角行列に「１」をデータ、パリティそれぞれに１つ追加した場合、検査多項式は以下の式（１３）のようにあらわされる。ただし、式（１３）において、α≧３、β≧３である。
【数１３】
0005490931.tif 000014
【０２４４】
したがって、パリティＰ（Ｄ）は、以下の式（１４）のようにあらわされる。
【数１４】
0005490931.tif 000015
【０２４５】
検査行列の近似下三角行列に「１」を追加した場合、ＤβＰ（Ｄ）、Ｄ２Ｐ（Ｄ）、ＤＰ（Ｄ）は過去のデータであり、既知の値であるから、簡単にパリティＰ（Ｄ）を求めることができる。
【０２４６】
＜「１」を追加する位置＞
次に、図４４を用いて、追加する「１」の位置について詳しく説明する。図４４において、符号４４０１は時点ｉのデータＸｉの復号に関連する「１」、符号４４０２は時点ｉのパリティＰｉに関連する「１」である。点線４４０３は、１回のＢＰ復号を行った場合、時点ｉのデータＸｉ、パリティＰｉに対し、外部情報の伝搬に関与するプロトグラフである。つまり、時点ｉ−２から時点ｉ＋２の信頼度が伝播に関与することになる。
【０２４７】
プロトグラフ４４０３の最右にある「１」（４４０４）に対し、縦軸に境界線４４０５を引く。そして、境界線４４０５に隣接する最左の「１」（４４０６）に対し、境界線４４０７を引く（各行のうち、最左となる「１」が、境界線４４０５に隣接する行）。そして、時点ｉのデータＸｉ、パリティＰｉに境界線４４０５以降の信頼度が伝播するように、領域４４０８にいずれかに「１」を追加する。これにより、「１」を追加する以前には得られなかった確率、つまり、時点ｉ−２から時点ｉ＋２以外の信頼度を伝播させることができる。なお、新規の確率を伝播させるには、図４４の領域４４０８に追加する必要がある。つまり、境界線４４０５より右側で、境界線４４０７より下側の「１」による信頼度は、領域４４０８に追加された「１」を介して、時点ｉのデータＸｉ、パリティＰｉに対して伝搬されることになる。
【０２４８】
ここで、図４４の検査行列Ｈの各行において、最右の「１」と最左の「１」の幅をＬとする。これまでは、「１」を追加する位置を列方向で説明した。これを、行方向で考えると、図４３の検査行列において、最左の「１」からＬ−２以上左の位置に「１」を追加することになる。また、検査多項式で説明した場合、式（１３）において、αを５以上、βを５以上に設定すればよい。
【０２４９】
これを一般式であらわして考える。畳み込み符号のパリティ検査多項式の一般式は以下の式（１５）のようにあらわされる。
【数１５】
0005490931.tif 000016
【０２５０】
検査行列Ｈの近似下三角行列に「１」をデータ、パリティそれぞれに１つ追加した場合、検査多項式は以下の式（１６）のようにあらわされる。
【数１６】
0005490931.tif 000017
【０２５１】
この場合、αを２Ｋ＋１以上、βを２Ｋ＋１以上に設定すればよい。Ｋ≧２である。
【０２５２】
図４５は、図４４の検査行列の近似下三角行列に「１」を追加した場合の一例を示す図である。そして、すべての時点のデータ、パリティに対し「１」を追加すると、検査行列は図４６のようにあらわされる。図４６は、本実施の形態におけるＬＤＰＣ−ＣＣの検査行列の構成の一例を示す図である。図４６において、領域４６０１、４６０２内の「１」が、追加した「１」であり、検査行列Ｈを持つ符号が本実施の形態におけるＬＤＰＣ−ＣＣとなる。このとき、検査多項式は以下の式（１７）のようにあらわされる。
【数１７】
0005490931.tif 000018
【０２５３】
以上のように、送信装置では、検査行列Ｈの近似下三角行列に「１」を追加して畳み込み符号からＬＤＰＣ−ＣＣを作成することにより、受信装置では、作成したＬＤＰＣ−ＣＣの検査行列を用いて、ＢＰ復号または近似したＢＰ復号を行えば、良好な受信品質を得ることができる。
【０２５４】
なお、本実施の形態では、データ、パリティに対し、それぞれ「１」を１個追加する場合について説明したが、本発明はこれに限られず、例えばデータ、パリティのいずれかに対し「１」を追加する方法でもよい。例えば、データに対し「１」を追加し、パリティに対しては「１」を追加しないとしてもよい。一例として、上記式（１６）において、Ｄβがない場合を考える。このとき、αを２Ｋ＋１以上にすると受信装置は良好な受信品質を得ることができる。逆に、式（１６）において、Ｄαがない場合を考える。このとき、βを２Ｋ＋１以上にすると受信装置は良好な受信品質を得ることができる。
【０２５５】
また、データ、パリティの両者に対し、複数個の「１」を追加した符号でも受信品質は大きく改善される。例えば、複数個挿入する場合の例として、ある畳み込み符号のパリティ検査多項式を式（１８）であらわすものとする。なお、式（１８）において、Ｋ≧２である。
【数１８】
0005490931.tif 000019
【０２５６】
検査行列Ｈの近似下三角行列に「１」をデータ、パリティに対し複数個追加した場合、検査多項式は以下の式（１９）のようにあらわされる。
【数１９】
0005490931.tif 000020
【０２５７】
この場合、α1,・・・,αnを２Ｋ＋１以上、β1,・・・,βｍを２Ｋ＋１以上に設定すると受信装置において良好な受信品質を得ることができる。この点は本実施の形態では重要である。
【０２５８】
ただし、α1,・・・,αnのうちの１つ以上が２Ｋ＋１以上を満たす場合でも、受信装置において良好な受信品質を得ることができる。また、β1,・・・,βｍのうちの１つ以上が２Ｋ＋１以上を満たす場合でも、受信装置において良好な受信品質を得ることができる。
【０２５９】
また、ＬＤＰＣ−ＣＣの検査多項式が以下の式（２０）のようにあらわされた場合、α1,・・・,αnを２Ｋ＋１以上に設定すると、受信装置のおいて良好な受信品質を得ることができる。この点は本実施の形態では重要である。
【数２０】
0005490931.tif 000021
【０２６０】
ただし、α1,・・・,αnのうち１つ以上が２Ｋ＋１以上を満たす場合でも、受信装置において良好な受信品質を得ることができる。
【０２６１】
同様に、ＬＤＰＣ−ＣＣの検査多項式が以下の式（２１）のようにあらわされた場合、β1,・・・,βｍを２Ｋ＋１以上に設定すると、受信装置のおいて良好な受信品質を得ることができる。この点は本実施の形態では重要である。
【数２１】
0005490931.tif 000022
【０２６２】
ただし、β1,・・・,βｍのうち１つ以上が２Ｋ＋１以上を満たす場合でも、受信装置において良好な受信品質を得ることができる。
【０２６３】
次に、（７，５）畳み込み符号の式（１１）とは異なるパリティ検査多項式を用いて、ＬＤＰＣ−ＣＣを設計する方法について詳しく説明する。ここでは一例として、データに対し「１」を２個、パリティに対し「１」を２個追加する場合を例に説明する。
【０２６４】
（７，５）畳み込み符号の式（１１）とは異なるパリティ検査多項式が、非特許文献７に示されている。その一例は次の式（２２）のようにあらわされる。
【数２２】
0005490931.tif 000023
【０２６５】
この場合、検査行列Ｈは、図４７のようにあらわすことができる。
【０２６６】
＜符号化方法＞
ここでは、図４７の検査行列に対し、データ、パリティそれぞれに「１」を２つずつ追加する場合について説明する。図４７の検査行列Ｈの近似下三角行列にデータ、パリティそれぞれに「１」を２つ追加した場合、検査多項式は以下の式（２３）のようにあらわされる。
【数２３】
0005490931.tif 000024
【０２６７】
したがって、パリティＰ（Ｄ）は以下の式（２４）のようにあらわすことができる。
【数２４】
0005490931.tif 000025
【０２６８】
このように、検査行列の近似下三角行列に「１」を追加した場合、Ｄβ１Ｐ（Ｄ）、Ｄβ２Ｐ（Ｄ）、Ｄ９Ｐ（Ｄ）、Ｄ８Ｐ（Ｄ）、Ｄ３Ｐ（Ｄ）、ＤＰ（Ｄ）は過去のデータであり、既知の値であるから、簡単にパリティＰ（Ｄ）を求めることができる。
【０２６９】
＜「１」を追加する位置＞
上述と同様の効果を得るためには、α1,α2を１９以上、β1,β2を１９以上に設定すると受信装置において良好な受信品質を得ることができる。一例として、図４８の検査行列では、α1＝２６、α2＝１９、β1＝３０、β2＝２４としている。これにより、上述と同様な理由から、受信装置では、良好な受信品質を得ることができる。
【０２７０】
以上の例から、畳み込み符号からＬＤＰＣ−ＣＣを作成する方法は、以下のような手順となる。なお、以下の手順は、畳み込み符号が符号化率１／２の場合の例である。
【０２７１】
＜１＞良好な特性を与える畳み込み符号を選択する。
【０２７２】
＜２＞選択した畳み込み符号の検査多項式を生成する（例えば、式（１５））。ただし、選択した畳み込み符号を組織符号として利用することが重要となる。また、検査多項式は、上述のとおり一つに限らない。良好な受信品質を与える検査多項式を選択する必要がある。このとき、生成多項式から生成した検査多項式より次数が大きく等価な検査多項式を用いるほうがよい（非特許文献７参照）。
【０２７３】
＜３＞選択した畳み込み符号の検査行列Ｈを作成する。
【０２７４】
＜４＞データ、または（および）、パリティに対し、確率伝播を考慮し、検査行列に対し「１」を追加する。「１」を追加する位置については、上述で説明したとおりである。
【０２７５】
本実施の形態では、（７，５）畳み込み符号からＬＤＰＣ−ＣＣを作成する方法を説明したが、本発明は（７，５）畳み込み符号に限ったものではなく、他の畳み込み符号を用いても同様に実施することができる。このとき、良好な受信品質を与える畳み込み符号の生成多項式Ｇについては非特許文献８に詳しく記載されている。
【０２７６】
以上のように、送信装置では、式（１９）において、α1,・・・,αnを２Ｋ＋１以上、β1,・・・,βｍを２Ｋ＋１以上に設定し、畳み込み符号からＬＤＰＣ−ＣＣを作成することにより、受信装置では、作成したＬＤＰＣ−ＣＣの検査行列を用いてＢＰ復号または近似したＢＰ復号を行えば、良好な受信品質を得ることができる。また、畳み込み符号からＬＤＰＣ−ＣＣを作成した場合、プロトグラフ、つまり、検査多項式のサイズが、非特許文献９、非特許文献１０で示されているプロトグラフよりサイズが非常に小さいため、送信データのビット数が小さいパケットを送信するときに発生する余分なビットの数を少なくすることができ、データの伝送効率が低下するという課題を抑制することができる。
【０２７７】
以上の説明を、実施の形態１から実施の形態５で説明したＬＤＰＣ−ＣＣ符号器の構成及びＬＤＰＣ−ＣＣの検査行列に対応付ける。
【０２７８】
元の畳み込み符号のデータＸ（Ｄ）に関与する最大次数を、αとする。この場合に、検査行列Ｈの近似下三角行列に「１」をパリティＰ（Ｄ）に対し追加し、パリティ検査多項式のパリティＰ（Ｄ）に関し、Ｄβの項を追加するＬＤＰＣ−ＣＣを考える。ここで、βは、上述のような説明に従い作成したＬＤＰＣ−ＣＣのパリティＰ（Ｄ）に関与する最大次数とする。このとき、本実施の形態において説明したように、βを２α＋１以上に設定することにより、良好な受信品質を得ることができる。
【０２７９】
データＸ（Ｄ）は、第１符号器により生成される。つまり、第１符号器のメモリ長をＭ１とすると、αはデータＸ（Ｄ）に関与する最大次数であるので、αはＭ１に対応する。
【０２８０】
また、パリティＰ（Ｄ）は、第２符号器により生成される。つまり、第２符号器のメモリ長をＭ２とすると、パリティＰ（Ｄ）の最大次数βはＭ２に対応する。
【０２８１】
このとき、良好な受信性能を得るための関係式β≧２α＋１と、α＝Ｍ１、及び、β＝Ｍ２とから式（２５）を得る。
【数２５】
0005490931.tif 000026
【０２８２】
つまり、第１符号器のメモリ長Ｍ１及び第２符号器のメモリ長Ｍ２が、式（２５）を満たすような構成を採ることにより、実施の形態１から実施の形態５で述べた終端系列長およびそれに伴う終端符号系列長を短くすることができるという効果に加え、さらに、良好な受信性能を得ることができるという効果が得られるようになる。
【０２８３】
換言すると、第２符号器のメモリ長Ｍ２を、第１符号器のメモリ長Ｍ１の２倍以上とすると、終端系列長を短くすることができるとともに、良好な受信性能を得ることができる。
【０２８４】
なお、（Ｍ１×ｂ）は、検査行列の情報ビットに対応する列を抽出した情報部分行列の各行において、一番左に１が存在する列のインデックスと、一番右に１が存在する列のインデックスとの差の最大値である。また、Ｍ２×（ｃ−ｂ）は、検査行列の情報ビットに対応する列を抽出したパリティ部分行列の各行において、一番左に１が存在する列のインデックスと、一番右に１が存在する列のインデックスとの差の最大値である。したがって、符号化率Ｒ＝ｂ／ｃの場合、Ｍ２がＭ１の２倍以上となるような、情報部分行列とパリティ部分行列とを用いてＬＤＰＣ−ＣＣ符号語系列を生成するようにすることにより、終端系列を短くすることができるとともに、良好な受信性能を得ることができる。
【０２８５】
（他の実施の形態２）
以下では、実施の形態１から実施の形態５の構成に適したＬＤＰＣ―ＣＣの例について以下では詳しく述べる。
【０２８６】
本実施の形態では、パンクチャを容易に行うことが可能であり、かつ、符号器の構成が簡単な時変ＬＤＰＣ−ＣＣの構成について説明する。特に、本実施の形態では、周期的にデータをパンクチャすることができるＬＤＰＣ−ＣＣについて説明する。ＬＤＰＣ符号では、これまで、周期的にデータをパンクチャするパンクチャ方法については、十分な検討がなされておらず、特に、簡単にパンクチャを行う方法について、十分に議論がされているわけではない。本実施の形態におけるＬＤＰＣ−ＣＣでは、データをランダムにパンクチャするのではなく、周期的に、かつ、規則的にパンクチャすることができると、受信品質の劣化を抑えることができる。以下では、符号化率Ｒ＝１／２の上記を実現できる時変ＬＤＰＣ−ＣＣの構成方法について説明する。
【０２８７】
符号化率１／２のとき、情報系列（データ）の多項式表現をＸ（Ｄ）、パリティの系列の多項式表現をＰ（Ｄ）とすると、パリティ検査多項式は以下のようにあらわされる。
【数２６】
0005490931.tif 000027
【０２８８】
式（２６）において、ａ１、ａ２、・・・、ａｎは１以上の整数（ただし、ａ１≠ａ２≠・・・≠ａｎ）とする。また、ｂ１、ｂ２、・・・ｂｍは１以上の整数（ただし、ｂ１≠ｂ２≠・・・≠ｂｍ）とする。ここで、符号化を容易に行うことを可能とするため、Ｄ０Ｘ（Ｄ）、および、Ｄ０Ｐ（Ｄ）の項（Ｄ０＝１）が存在するものとする。したがって、Ｐ（Ｄ）は以下のようにあらわされる。
【数２７】
0005490931.tif 000028
【０２８９】
式（２７）から分かるように、Ｄ０＝１が存在し、かつ、過去のパリティの項、つまり、ｂ１、ｂ２、・・・ｂｍが１以上の整数であるため、パリティＰを逐次的に求めることができる。
【０２９０】
次に、式（２６）とは異なる符号化率１／２のパリティ検査多項式を以下のようにあらわす。
【数２８】
0005490931.tif 000029
【０２９１】
式（２８）において、Ａ１、Ａ２、・・・、ＡＮは１以上の整数（ただし、Ａ１≠Ａ２≠・・・≠ＡＮ）とする。また、Ｂ１、Ｂ２、・・・、ＢＭは１以上の整数（ただし、Ｂ１≠Ｂ２≠・・・≠ＢＭ）とする。ここで、符号化を容易に行うことを可能とするため、Ｄ０Ｘ（Ｄ）およびＤ０Ｐ（Ｄ）の項（Ｄ０＝１）が存在するものとする。このときＰ（Ｄ）は、式（２９）のようにあらわされる。
【数２９】
0005490931.tif 000030
【０２９２】
以下、時点２ｉのデータＸとパリティＰをそれぞれＸ２ｉ、Ｐ２ｉであらわし、時点２ｉ＋１のデータＸとパリティＰをそれぞれＸ２ｉ＋１、Ｐ２ｉ＋１であらわす（ｉ：整数）。
【０２９３】
本実施の形態では、時点２ｉのパリティＰ２ｉは式（２７）を用いて算出し、時点２ｉ＋１のパリティＰ２ｉ＋１は式（２９）を用いて算出する時変周期が２のＬＤＰＣ−ＣＣを提案する。上述の実施の形態と同様に、パリティは、逐次的に簡単に求めることができるという利点がある。
【０２９４】
以下では、式（２６）及び式（２８）の一例として、式（３０）及び式（３１）を用いて説明する。
【数３０】
0005490931.tif 000031
【数３１】
0005490931.tif 000032
【０２９５】
このとき検査行列は、図４９のようにあらわすことができる。図４９において、（Ｈａ，１１）は式（３０）に相当する部分であり、（Ｈｃ，１１）は式（３１）に相当する部分である。図４９の検査行列、つまり、時変周期２の検査行列を用いてＢＰ復号を行った場合、実施の形態１から実施の形態６で説明したＬＤＰＣ−ＣＣに比べ、データの受信品質が大きく改善することが確認された。
【０２９６】
以上、時変周期が２の場合について説明したが、時変周期は２に限られない。しかし、時変周期が大きすぎると、周期的にパンクチャすることが難しく、例えば、ランダムにパンクチャしなければならなくなるため、受信品質が劣化してしまう可能性がある。以下に、時変周期を小さくすることにより、受信品質が改善するという利点について説明する。
【０２９７】
図５０に、時変周期１の場合のパンクチャ方法の一例を示す。同図において、Ｈは、ＬＤＰＣ−ＣＣの検査行列であり、送信系列ベクトルをｖであらわすと、式（３２）の関係式が成立する。
【数３２】
0005490931.tif 000033
ここで、送信系列ベクトルｖ＝（ｖ１、ｖ２、ｖ３、ｖ４、ｖ５、ｖ６、・・・、ｖ2i、ｖ2i+1、・・・）である。
【０２９８】
図５０は、符号化率Ｒ＝１／２の送信系列をパンクチャし、符号化率Ｒ＝３／４とする場合の例を示している。パンクチャを周期的に行う場合、まず、パンクチャビットを選択するためのブロック周期を設定する。図５０には、ブロック周期を６とし、ブロックが点線（５００２）のように設定される例が示されている。そして、１ブロックを構成する６ビットのうち２ビットがパンクチャビットとして選択され、選択された２ビットは、送信されないビットとして設定される。図５０では、丸印で囲まれたビット５００１が、送信されないビットとなる。このようにして、符号化率３／４を実現することができる。したがって、送信データ系列は、ｖ１、ｖ３、ｖ４、ｖ５、ｖ７、ｖ９、ｖ１１、ｖ１３、ｖ１５、ｖ１６、ｖ１７、ｖ１９、ｖ２１、ｖ２２、ｖ２３、ｖ２５、・・・となる。
【０２９９】
図５０において四角枠で囲まれた“１”は、パンクチャにより、受信時に、初期の対数尤度比が存在しないので、対数尤度比が０に設定されることになる。
【０３００】
ＢＰ復号では行演算と列演算とを反復して行う。したがって、初期の対数尤度比が存在しない（対数尤度比が０の）ビット（消失ビット）が、同一行に２つ以上含まれると、当該行では、列演算により初期の対数尤度比が存在しない（対数尤度比が０の）ビットの対数尤度比が更新されるまで、行演算単独では、対数尤度比が更新されないことになる。すなわち、行演算単独では信頼度が伝搬されず、信頼度を伝搬させるためには、行演算と列演算とを反復する必要がある。したがって、このような行が多数存在すると、ＢＰ復号において反復処理数に制限があるような場合、または、反復処理を何度行っても信頼度が伝搬されずに、受信品質の劣化を招く原因となる。図５０に示す例では、四角枠で囲まれた１に対応するビットが消失ビットを示し、行５００３が、行演算単独では信頼度が伝搬されない行、つまり、受信品質の劣化を招く原因となる行となる。
【０３０１】
したがって、パンクチャビット（送信しないビット）の決定方法、すなわち、パンクチャパターンの決定方法として、パンクチャにより、単独では、信頼度が伝播されない行ができるだけ少なくなるような方法を探索する必要がある。以下、パンクチャビットの選択方法の探索について説明する。
【０３０２】
１ブロックを構成する６ビットのうち２ビットをパンクチャビットとする場合、２ビットの選択方法は３×２Ｃ２存在する。このうち、ブロック周期の６ビットの中で巡回シフトした選択方法は、同一とみなすことができる。以下、図５２Ａを用いて補足説明をする。一例として、図５２Ａに、６ビットのうち２ビットを連続してパンクチャする場合の６通りのパンクチャパターンを示す。図５２Ａにおいて示すように、パンクチャパターン＃１〜＃３は、ブロック区切りを変更することで、同一のパンクチャパターンとなる。同様に、パンクチャパターン＃４〜＃６も、ブロック区切りを変更することで、同一のパンクチャパターンとなる。このように、ブロック周期の６ビットの中で巡回シフトした選択方法は、同一とみなすことができる。したがって、パンクチャビットの選択方法は、３×２Ｃ２×２／(３×２)＝５通り存在する。
【０３０３】
なお、１ブロックがＬ×ｋビットから構成され、Ｌ×ｋビットのうちｋビットをパンクチャする場合、式（３３）により求められる数のパンクチャパターンが存在する。
【数３３】
0005490931.tif 000034
【０３０４】
一つのパンクチャパターンに着目した場合の、符号化系列とパンクチャパターンとの関係を図５２Ｂに示す。図５２Ｂから分かるように、１ブロックを構成する６ビットのうち２ビットをパンクチャした場合、パンクチャパターン１つに対し、存在する検査式のパターンは、（３×２）×１／２となる。同様に、１ブロックがＬ×ｋビットから構成され、Ｌ×ｋビットのうちｋビットをパンクチャする場合、パンクチャパターン１つに対し、式（３４）により求められる数の検査式が存在する。
【数３４】
0005490931.tif 000035
【０３０５】
したがって、パンクチャパターンの選択方法において、式（３５）から求められる数の検査式（行）について、単独で、信頼度が伝播されるか否かチェックする必要がある。
【数３５】
0005490931.tif 000036
【０３０６】
以上の関係から、符号化率１／２の符号から符号化率３／４とする場合、Ｌ×ｋビットのブロックからｋビットをパンクチャする場合、式（３６）から求められる数の検査式（行）について、単独で、信頼度が伝播されるか否かチェックする必要がある。
【数３６】
0005490931.tif 000037
【０３０７】
そして、よいパンクチャパターンが見つからない場合、Ｌ及びｋを増加させる必要がある。
【０３０８】
次に、時変周期がｍの場合について検討する。この場合も、時変周期が１の場合と同様に、式（２６）であらわされる異なるｍ個の検査式を用意する。以下、ｍ個の検査式を、「検査式＃１、検査式＃２、・・・、検査式＃ｍ」と名付ける。
【０３０９】
そして、時点ｍｉ＋１のパリティＰｍｉ＋１を「検査式＃１」を用いて求め、時点ｍｉ＋２のパリティＰｍｉ＋２を「検査式＃２」を用いて求め、・・・、時点ｍｉ＋ｍのパリティＰｍｉ＋ｍを「検査式＃ｍ」を用いて求めるＬＤＰＣ−ＣＣを考える。このとき、図４９と同様に考えると、検査行列は図５１のようにあらわされる。すると、符号化率１／２の符号から符号化率３／４とする場合、例えば、６ビットのブロックから２ビットをパンクチャする場合について、式（３５）と同様に考えると、式（３７）から求められる数の検査式（行）について、単独では、信頼度が伝播されない行であるかどうかをチェックする必要がある。
【数３７】
0005490931.tif 000038
なお、式（３７）において、ＬＣＭ｛α，β｝は、自然数αと自然数βとの最小公倍数をあらわす。
【０３１０】
式（３７）から分かるように、ｍの増加に伴い、チェックしなければならない検査式が増加する。そのため、周期的にパンクチャを行うパンクチャ方法は適さず、例えば、ランダムにパンクチャする方法を用いることになるため、受信品質が劣化する可能性がある。
【０３１１】
なお、図５２Ｃに、パンクチャにより、Ｌ×ｋビットからｋビットをパンクチャして、符号化率Ｒ＝２／３，３／４，５／６の符号系列を生成する場合に、チェックしなければならないパリティ検査多項式の数を示す。
【０３１２】
現実的に、最良なパンクチャパターンを探索できる時変周期は２から１０程度である。特に、最良なパンクチャパターンを探索できる時変周期、および、受信品質の向上を考慮すると、時変周期２は適している。さらに、時変周期が２で、式（２６）、式（２８）のような検査式を周期的に繰り返した場合、符号・復号器が非常に簡単に構成することができるという利点がある。
【０３１３】
なお、時変周期３、４、５、・・・１０の場合には、時変周期が２の場合に比べると、符号・復号器の構成が若干大きくなるももの、時変周期２の場合と同様に、式（２６）、式（２８）に基づく複数のパリティ検査式を周期的に繰り返す場合には、簡易な構成を採ることができる。
【０３１４】
なお、時変周期が極端に長い周期（semi-infinite）であったり、ＬＤＰＣ−ＢＣをもとにＬＤＰＣ−ＣＣを作成する場合、一般に、時変周期が非常に長くなってしまうため、周期的にパンクチャビットを選択する方式を採用し、最良のパンクチャパターンを探索することは困難である。例えば、ランダムにパンクチャビットを選択する方式の採用が考えられるが、パンクチャ時の受信品質が大きく劣化する可能性がある。
【０３１５】
なお、式（２６）、（２８）、（３０）、（３１）において、両辺にＤｎを乗算して検査多項式を表現することもできる。本実施の形態では、式（２６）、（２８）、（３０）、（３１）においてＤ０Ｘ（Ｄ）、及び、Ｄ０Ｐ（Ｄ）の項（Ｄ０＝１）が存在するものとした。
【０３１６】
このようにすることで、パリティが逐次的に演算することができるため、符号器の構成が簡易になり、又、組織符号の場合、時点ｉのデータへの信頼度伝播を考えると、データ及びパリティの双方にＤ０の項が存在すると、データへの信頼度伝搬を簡単に理解することができるため、符号設計を容易に行うことができる。なお、符号設計の容易性を考慮しないのであれば、式（２６）、（２８）、（３０）、（３１）において、Ｄ０Ｘ（Ｄ）が存在する必要はない。
【０３１７】
図５３Ａに、時変周期２のＬＤＰＣ−ＣＣの検査行列の一例を示す。図５３Ａに示されるように、時変周期２の場合、パリティ検査式５３０１と、パリティ検査式５３０２との２つのパリティ検査式が、交互に用いられる。
【０３１８】
また、図５３Ｂに、時変周期４のＬＤＰＣ−ＣＣの検査行列の一例を示す。図５３Ｂに示されるように、時変周期４の場合、パリティ検査式５３０１と、パリティ検査式５３０２と、パリティ検査式５３０３と、パリティ検査式５３０４との４つのパリティ検査式が、繰り返し用いられる。
【０３１９】
以上のように、本実施の形態によれば、パリティ検査多項式（２６）と、式（２６）と異なるパリティ検査多項式（２８）と、から構成される時変周期２の検査行列により、パリティ系列を求めるようにした。なお、時変周期は２に限られず、例えば、図５３Ｂに示すような、時変周期４の検査行列を用いて、パリティ系列を求めるようにしてもよい。ただし、時変周期ｍが大きすぎると、周期的にパンクチャすることが難しく、例えばランダムにパンクチャすることになるため、受信品質が劣化してしまう。現実的に、最適なパンクチャパターンを探索できる時変周期は、２から１０程度である。この場合、受信品質を向上することができるとともに、周期的にパンクチャを行うことができるので、ＬＤＰＣ−ＣＣの符号器を簡単に構成することができる。
【０３２０】
なお、検査行列Ｈにおける行重み、つまり、検査行列を構成する行要素のうち、１が立っている要素数が、７〜１２であると良好な受信品質が得られることが確認されている。非特許文献８に記載されているように、畳み込み符号において最小距離が優れている符号を考えると、拘束長が大きくなるにつれ、行重みが増える、例えば、拘束長１１のフィードバック畳み込み符号では、行重みが１４となることを考慮すると、行重みが７〜１２とする点は、本提案のＬＤＰＣ−ＣＣ特有の値であると考えることができる。また、符号設計のメリットを考慮した場合、ＬＤＰＣ−ＣＣの検査行列の各行の行重みを等しくすると設計が容易となる。
【０３２１】
また、以上の説明では、符号化率１／２の場合について説明したが、これに限られず、符号化率１／２以外においても、時変周期ｍの検査行列を用いてパリティ系列を求めることができ、時変周期２から時変周期１０程度の場合、同様の効果を得ることができる。
【０３２２】
特に、符号化率Ｒ＝５／６、７／８以上の場合、本実施の形態で説明した時変周期２または時変周期ｍのＬＤＰＣ−ＣＣにおいて、消失ビットを２つ以上含む行のみにより構成されないようなパンクチャパターンを選択する。つまり、消失ビットが０または１つの行が存在するようなパンクチャパターンを選択することは、符号化率Ｒ＝５／６、７／８以上のように符号化率が高い場合に良好な受信品質を得る上で重要となる。
【０３２３】
上述で説明したＬＤＰＣ−ＣＣに対し、実施の形態１から実施の形態５において説明した符号化方法または他の実施の形態１において説明した符号化方法を用いることにより、周期的、かつ、規則的なパンクチャを行うことができるようになるので、符号器を簡易に構成することができ、良好な受信品質を得ることができるとともに、なおかつ、終端系列を短くすることができる非常に優れた符号を生成することができる。
【０３２４】
（他の実施の形態３）
本実施の形態では、検査行列の上台形行列に「１」が存在するような検査式を用い、かつ、符号器を簡単に構成することができる時変ＬＤＰＣ−ＣＣについて説明する。以下では、符号化率Ｒ＝１／２の上記を実現できる時変ＬＤＰＣ−ＣＣの構成方法について説明する。
【０３２５】
符号化率１／２のとき、情報系列（データ）の多項式表現をＸ（Ｄ）、パリティの系列の多項式表現をＰ（Ｄ）とすると、パリティ検査多項式は以下のようにあらわされる。
【数３８】
0005490931.tif 000039
【０３２６】
式（３８）において、ａ１、ａ２、・・・、ａｎは１以上の整数（ただし、ａ１≠ａ２≠・・・≠ａｎ）とする。また、ｂ１、ｂ２、・・・、ｂｍは、１以上の整数（ただし、、ｂ１≠ｂ２≠・・・≠ｂｍとする。また、ｃ１、ｃ２、・・・、ｃｑは、−１以下の整数でｃ１≠ｃ２≠・・・≠ｃｑとする。このとき、Ｐ（Ｄ）は以下のようにあらわされる。
【数３９】
0005490931.tif 000040
【０３２７】
他の実施の形態２と同様に、パリティＰは逐次的に求めることができる。
【０３２８】
次に、式（３８）とは異なる符号化率１／２のパリティ検査多項式として、式（４０）および式（４１）を考える。
【数４０】
0005490931.tif 000041
【数４１】
0005490931.tif 000042
【０３２９】
式（４０）、式（４１）において、Ａ１、Ａ２、・・・、ＡＮは、１以上の整数（ただし、Ａ１≠Ａ２≠・・・≠ＡＮ）とする。また、Ｂ１、Ｂ２、・・・、ＢＭは１以上の整数（ただし、Ｂ１≠Ｂ２≠・・・≠ＢＭ）とする。また、Ｃ１、Ｃ２、・・・、ＣＱは、−１以下の整数（ただし、Ｃ１≠Ｃ２≠・・・≠ＣＱ）とする。このとき、Ｐ（Ｄ）は以下のようにあらわされる。
【数４２】
0005490931.tif 000043
【数４３】
0005490931.tif 000044
【０３３０】
以下、時点２ｉのデータＸとパリティＰをそれぞれＸ２ｉ、Ｐ２ｉであらわし、時点２ｉ＋１のデータＸとパリティＰをそれぞれＸ２ｉ＋１、Ｐ２ｉ＋１であらわす（ｉ：整数）。
【０３３１】
このとき、時点２ｉのパリティＰ２ｉは式（３９）を用いて求め、時点２ｉ＋１のパリティＰ２ｉ＋１は式（４２）を用いて求める時変周期が２のＬＤＰＣ−ＣＣ、または、時点２ｉのパリティＰ２ｉは式（３９）を用いて求め、時点２ｉ＋１のパリティＰ２ｉ＋１は式（４３）を用いて求める時変周期が２のＬＤＰＣ−ＣＣを考える。
【０３３２】
このようなＬＤＰＣ−ＣＣ符号は、
・符号器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる。
・周期的にパンクチャビットを設定することができる。
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
【０３３３】
次に、時変周期をｍとするＬＤＰＣ−ＣＣを考える。時変周期２の場合と同様に、式（４０）であらわされる「検査式＃１」を用意し、式（４０）または式（４１）のいずれかであらわされる「検査式＃２」から「検査式＃ｍ」を用意する。時点ｍｉ＋１のデータＸとパリティＰをそれぞれＸｍｉ＋１、Ｐｍｉ＋１とあらわし、時点ｍｉ＋２のデータＸとパリティＰをそれぞれＸｍｉ＋２、Ｐｍｉ＋２とあらわし、・・・時点ｍｉ＋ｍのデータＸとパリティＰを、それぞれＸｍｉ＋ｍ、Ｐｍｉ＋ｍとあらわす（ｉ：整数）。
【０３３４】
このとき、時点ｍｉ＋１のパリティＰｍｉ＋１を「検査式＃１」を用いて求め、時点ｍｉ＋２のパリティＰｍｉ＋２を「検査式＃２」を用いて求め、・・・、時点ｍｉ＋ｍのパリティＰｍｉ＋ｍを「検査式＃ｍ」を用いて求めるＬＤＰＣ−ＣＣを考える。このようなＬＤＰＣ−ＣＣ符号は、
・符号器を簡単に構成することができ、かつ、パリティを逐次的に求めることができる。
・終端ビットの削減、終端時のパンクチャ時の受信品質の向上が見込める
という利点を備える。
【０３３５】
以上のように、本実施の形態によれば、パリティ検査多項式（３８）と、式（３８）と異なるパリティ検査多項式（４０）と、からなる時変周期２の検査行列により、パリティ系列を求めるようにした。
【０３３６】
このように、検査行列の上台形行列に「１」が存在するような検査式を用いる場合において、時変ＬＤＰＣ−ＣＣの符号器を簡単に構成することができる。なお、時変周期は２に限られない。ただし、周期的にパンクチャを行う方法を採る場合、現実的に、最良なパンクチャパターンを探索できる時変周期は２から１０程度である。
【０３３７】
なお、時変周期３、４、５、・・・１０の場合には、時変周期が２の場合に比べると、符号・復号器の構成が若干大きくなるももの、時変周期２の場合と同様に、式（４０）、式（４１）の検査式を周期的に繰り返す場合には、簡易な構成を採ることができる。
【０３３８】
なお、式（３８）、（４０）、（４１）において、両辺にＤｎを乗算して検査多項式を表現することもできる。本実施の形態では、式（３８）、（４０）、（４１）においてＤ０Ｘ（Ｄ）および、Ｄ０Ｐ（Ｄ）の項（Ｄ０＝１）が存在するものとするとした。
【０３３９】
このようにすることで、パリティが逐次的に演算することができるため、符号器の構成が簡易になり、又、組織符号の場合、時点ｉのデータへの信頼度伝播を考えると、データ及びパリティの双方にＤ０の項が存在すると、符号設計を容易に行うことができる。なお、符号設計の容易性を考慮しないのであれば、式（３８）、（４０）、（４１）において、Ｄ０Ｘ（Ｄ）が存在する必要はない。
【０３４０】
また、検査行列Ｈにおける行重み、つまり、検査行列を構成する行要素のうち、１が立っている要素数が、７〜１２とすると良好な受信品質が得られることが確認されている。非特許文献８に記載されているように、畳み込み符号において最小距離が優れている符号を考えると、拘束長が大きくなるにつれ、行重みが増える、例えば、拘束長１１のフィードバック畳み込み符号では、行重みが１４となることを考慮すると、行重みが７〜１２とする点は、本提案のＬＤＰＣ−ＣＣ特有の値であると考えることができる。また、符号設計のメリットを考慮した場合、ＬＤＰＣ−ＣＣの検査行列の各行の行重みを等しくすると設計が容易となる。
【０３４１】
上述で説明したＬＤＰＣ−ＣＣに対し、実施の形態１から実施の形態５において説明した符号化方法または他の実施の形態１において説明した符号化方法を用いることにより、周期的、かつ、規則的なパンクチャを行うことができるようになるので、符号器を簡易に構成することができ、良好な受信品質を得ることができるとともに、なおかつ、終端系列を短くすることができる非常に優れた符号を生成することができる。
【０３４２】
なお、本発明は上記すべての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、無線通信装置として行う場合について説明しているが、これに限られるものではなく、電灯線通信装置で実現する場合においても適用可能である。
【０３４３】
また、この通信方法をソフトウェアとして行うことも可能である。例えば、上記通信方法を実行するプログラムを予めＲＯＭ（Read Only Memory）に格納しておき、そのプログラムをＣＰＵ（Central Processor Unit）によって動作させるようにしても良い。
【０３４４】
また、上記通信方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのＲＡＭ（Random Access Memory）に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
【０３４５】
また、本発明は、無線通信に限らず、電灯線通信（ＰＬＣ：Power Line Communication）、可視光通信、光通信においても有用であることは言うまでもない。
【産業上の利用可能性】
【０３４６】
本発明にかかる符号器、復号器、符号化方法、及び、復号方法は、簡易な構成でＬＤＰＣ−ＣＣ符号化の終端系列を提供し、伝送路に送信する終端系列の量を削減することができ、ＬＤＰＣ−ＣＣを用いて誤り訂正符号化／復号を行う符号器、復号器、符号化方法、及び、復号方法として有用である。
【符号の説明】
【０３４７】
２００，４００，６００，６００Ａ，７００，８００  ＬＤＰＣ−ＣＣ符号器
２１０  終端系列生成部
２２０，２２０Ａ  終端系列連接部
２３０，４２０，４２０Ａ，６１０  第１符号器
２４０，２４０Ａ，２４０Ｂ，４３０，６２０−１，６２０−２，６２０Ａ  第２符号器
２５０，６３０  符号語連接部
２６０，４１０  入力系列選択部
７１０  切り替え器
７２０  符号語選択部
９００  ＬＤＰＣ−ＣＣ復号器
【図１】
0005490931.tif 000045
【図２】
0005490931.tif 000046
【図３】
0005490931.tif 000047
【図４】
0005490931.tif 000048
【図５】
0005490931.tif 000049
【図６】
0005490931.tif 000050
【図７】
0005490931.tif 000051
【図８】
0005490931.tif 000052
【図９】
0005490931.tif 000053
【図１０】
0005490931.tif 000054
【図１１】
0005490931.tif 000055
【図１２】
0005490931.tif 000056
【図１３】
0005490931.tif 000057
【図１４】
0005490931.tif 000058
【図１５】
0005490931.tif 000059
【図１６】
0005490931.tif 000060
【図１７】
0005490931.tif 000061
【図１８】
0005490931.tif 000062
【図１９】
0005490931.tif 000063
【図２０】
0005490931.tif 000064
【図２１】
0005490931.tif 000065
【図２２】
0005490931.tif 000066
【図２３】
0005490931.tif 000067
【図２４】
0005490931.tif 000068
【図２５】
0005490931.tif 000069
【図２６】
0005490931.tif 000070
【図２７】
0005490931.tif 000071
【図２８】
0005490931.tif 000072
【図２９】
0005490931.tif 000073
【図３０】
0005490931.tif 000074
【図３１】
0005490931.tif 000075
【図３２】
0005490931.tif 000076
【図３３】
0005490931.tif 000077
【図３４】
0005490931.tif 000078
【図３５】
0005490931.tif 000079
【図３６】
0005490931.tif 000080
【図３７】
0005490931.tif 000081
【図３８】
0005490931.tif 000082
【図３９】
0005490931.tif 000083
【図４０】
0005490931.tif 000084
【図４１】
0005490931.tif 000085
【図４２】
0005490931.tif 000086
【図４３】
0005490931.tif 000087
【図４４】
0005490931.tif 000088
【図４５】
0005490931.tif 000089
【図４６】
0005490931.tif 000090
【図４７】
0005490931.tif 000091
【図４８】
0005490931.tif 000092
【図４９】
0005490931.tif 000093
【図５０】
0005490931.tif 000094
【図５１】
0005490931.tif 000095
【図５２Ａ】
0005490931.tif 000096
【図５２Ｂ】
0005490931.tif 000097
【図５２Ｃ】
0005490931.tif 000098
【図５３Ａ】
0005490931.tif 000099
【図５３Ｂ】
0005490931.tif 000100
【図５４】
0005490931.tif 000101
【図５５】
0005490931.tif 000102
【図５６】
0005490931.tif 000103
【図５７】
0005490931.tif 000104