(57)【特許請求の範囲】
【請求項１】
符号長Ｎ、情報長Ｋ１の線形符号Ｃ１と、符号長Ｎ、情報長Ｋ２の線形符号Ｃ２から積符号を構成する方法において、
Ｋ１・Ｋ２個の情報データをＫ１行Ｋ２列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｋ２−１）にして、メモリに格納するステップと、  前記Ｋ１行Ｋ２列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｋ２−１）のＫ１個の第ｉ行（Ａｉｊ）（ｊ＝０，１，．．．，Ｋ２−１）に前記符号Ｃ２のＮ−Ｋ２個のチェック（Ａｉｊ）（ｊ＝Ｋ２，Ｋ２＋１，．．．，Ｎ−１）を付加する第１の符号化ステップと、
前記第１の符号化ステップにおいて生成されたＫ１行Ｎ列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｎ−１）のＮ個の第ｊ番目の対角線（Ａｉ(ｉ＋ｊ)）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｎ−１）（（ｎ）はＮを法とする）に前記符号Ｃ１のＮ−Ｋ１個のチェック（Ａｉ(ｉ＋ｊ)）（ｉ＝Ｋ１，Ｋ１＋１，．．．，Ｎ−１）を付加する第２の符号化ステップと、を備えて積符号（Ａｉｊ）（ｉ，ｊ＝０，１，．．．，Ｎ−１）を形成することを特徴とする積符号の符号化方法。
【請求項２】
前記格納ステップは行と列を入れ替え、Ｋ１・Ｋ２個の情報データをＫ２行Ｋ１列の２次元配列にしてメモリに格納することを特徴とする請求項１記載の積符号の符号化方法。
【請求項３】
前記線形符号Ｃ１およびＣ２の何れか一方又は両方が拡大パリティを有することを特徴する請求項１または請求項２記載の積符号の符号化方法。
【請求項４】
符号長Ｎ、情報長Ｋ１の線形符号Ｃ１と、符号長Ｎ、情報長Ｋ２の線形符号Ｃ２から積符号を形成する際に、Ｋ１・Ｋ２個の情報データをＫ１行Ｋ２列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｋ２−１）にして、メモリに格納するステップと、前記Ｋ１行Ｋ２列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｋ２−１）のＫ１個の第ｉ行（Ａｉｊ）（ｊ＝０，１，．．．，Ｋ２−１）に前記符号Ｃ２のＮ−Ｋ２個のチェック（Ａｉｊ）（ｊ＝Ｋ２，Ｋ２＋１，．．．，Ｎ−１）を付加する第１の符号化ステップと、前記第１の符号化ステップにおいて生成されたＫ１行Ｎ列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｎ−１）のＮ個の第ｊ番目の対角線（Ａｉ(ｉ＋ｊ)）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｎ−１）（（ｎ）はＮを法とする）に前記符号Ｃ１のＮ−Ｋ１個のチェック（Ａｉ(ｉ＋ｊ)）（ｉ＝Ｋ１，Ｋ１＋１，．．．，Ｎ−１）を付加する第２の符号化ステップとを備えて積符号（Ａｉｊ）（ｉ，ｊ＝０，１，．．．，Ｎ−１）を形成する符号化装置であって、
積符号を保持するメモリ群と、
前記Ｃ１符号と前記Ｃ２符号を符号化する符号化器群と、
前記メモリ群と前記符号化器群を接続し、前記メモリ群の積符号を読み出す第１のスイッチ群と、
前記メモリ群と前記符号化器群を接続し、前記メモリ群へ積符号を書き込む第２のスイッチ群とを備え、
前記第１のスイッチ群と第２のスイッチ群とが巡回的に入、切することでＫ１行Ｎ列の２次元配列のＮ個の第ｊ番目の対角線に前記Ｃ１符号のＮ−Ｋ１個のチェックを付加することを特徴とする積符号の符号化装置。
【請求項５】
請求項１記載の符号化方法により形成されたＣ１符号とＣ２符号の積符号の復号装置において、
受信された積符号を保持するメモリと、
前記メモリに格納された積符号の列単位（Ｎ個のシンボル）を入力して列の順番により定められた置換パターンに従ってＮ個のシンボルを並べ替えてＮ個のシンボルを並列に出力する第１の並べ替え器と、
前記第１の並べ替え器から出力されたＮ個のシンボルをそれぞれ入力して復号するためのＮ個のＣ１符号およびＣ２符号の復号器と、
前記Ｎ個の前記Ｃ１符号およびＣ２符号の復号器から出力されたＮ個のシンボルを前記第１の並べ替え器の置換パターンと逆の置換パターンに従って並べ替えてＮ個のシンボルを並列に出力する第２の並べ替え器と、
を備え、前記第２の並べ替え器から並列に出力されたＮシンボルを前記メモリの所定の位置に格納することを特徴とする積符号の復号装置。
【請求項６】
請求項１記載の符号化方法により形成された積符号をＣ１符号化方向に各列のＮシンボルを並列に伝送し、受信機において並列復号する復号装置において、
並列に伝送されたＮ個のシンボルを受信し復号するためのＮ個の復号器を有する第１の並列復号器と、
前記第１の並列復号器から出力されたＮ個の並列シンボルを予め定められた置換パターンに従って並べ替えてＮ個の並列シンボルを出力する第１の並べ替え器と、
前記第１の並べ替え器から出力されたＮ個の並列シンボルを受信し復号するためのＮ個の復号器を有する第２の並列復号器と、
前記第２の並列復号器から出力されたＮ個の並列シンボルを予め定められた置換パターンに従って並べ替える第２の並べ替え器と、
を備えてＣ１符号およびＣ２符号を復号することを特徴とする積符号の復号装置。
【請求項７】
前記第１の並列復号器と、前記第１の並べ替え器と、前記第２の並列復号器と、前記第２の並べ替え器を備える積符号の復号部を複数縦列に接続し、Ｃ１符号およびＣ２符号を複数回復号することを特徴とする請求項６記載の積符号の復号装置。
【請求項８】
前記復号器はＣ１符号の復号において訂正不可能な誤りが検出された場合にその符号語に消失フラグを付加し、Ｃ２符号の復号において消失訂正する構成にされたことを特徴とする請求項５記載の積符号の復号装置。
【請求項９】
前記第１の並列復号器と、前記第１の並べ替え器と、前記第２の並列復号器と、前記第２の並べ替え器を具備する積符号の復号部を備え、各復号器は訂正不可能な誤りが検出された場合にその符号語に消失フラグを付加する構成にされ、最終段の復号器は消失フラグが付加された符号語を消失訂正する構成にされたことを特徴とする請求項６又は請求項７記載の積符号の復号装置。
【請求項１０】
請求項４記載の積符号の符号化装置と請求項５ないし請求項９の何れかに記載の積符号の復号装置とが伝送媒体で接続されて構成されることを特徴とする積符号を用いたディジタル伝送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、積符号の符号化方法および符号化装置、ならびに復号装置に関するものである。
【０００２】
【従来の技術】
連接符号や積符号は数種類の符号を組合せてより強力な符号を構成する有力な符号化方式である。特に積符号はＣＤ−ＲＯＭやＤＶＤなどの誤り訂正方式として標準化されている実用上重要な符号である。図１は一般的な積符号の構成を示す図で、垂直方向の符号は符号長Ｎ１、情報長Ｋ１の第１の線形符号Ｃ１、水平方向の符号は符号長Ｎ２、情報長Ｋ２の第２の線形符号Ｃ２である。Ｋ１行Ｋ２列の２次元配列に格納された情報データはまず水平方向にＣ２符号化されて第１行から第Ｋ１行までの各行にＣ２符号のチェック（長さＮ２−Ｋ２）が付加される。
次に垂直方向にＣ１符号化されて第１列から第Ｎ２列の各列にＣ１符号のチェック（長さＮ１−Ｋ１）が付加される。以上の２段階の符号化により、符号長Ｎ１・Ｎ２、情報長Ｋ１・Ｋ２の積符号が構成される。
なお、Ｃ１符号およびＣ２符号にはリード・ソロモン符号やＢＣＨ符号などの任意の誤り訂正符号が適用できる。
【０００３】
積符号の構成および符号化方法について具体例を用いて説明する。図２にＣ１符号、Ｃ２符号ともにガロア体ＧＦ(２３)上の符号長７、情報長４のリード・ソロモン符号（以下、ＲＳ符号）を適用した場合の積符号（以下、Ｃと略記）の構成を示す。Ａｉｊ（ｉ，ｊ＝０，１，２，３）は情報を表すシンボルであり、それ以外はチェックを表すシンボルである。ただし、１シンボルは３ビットを表すものとする。
【０００４】
図３は積符号Ｃの符号化方法を示すフローチャートである。ステップ１では情報データの１６シンボルが４行４列の２次元配列に格納される。次にステップ２においてＣ２符号（水平方向）の符号化を行う。ここでＲＳ符号の符号生成多項式は式１で与えられるものとする。ただし、αはガロア体ＧＦ(２３)の原始元であり、ｇ０からｇ２はガロア体の元である。
【０００５】
【式１】
Ｇ(ｘ)＝(ｘ−α)(ｘ−α２)(ｘ−α３)＝ｘ３＋ｇ２ｘ２＋ｇ１ｘ＋ｇ０
【０００６】
第１行の情報シンボル(Ａ００，Ａ０１，Ａ０２，Ａ０３)を式２の多項式で表す。第１行のチェックシンボル(Ａ０４，Ａ０５，Ａ０６)は式２の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式として計算される（式３）。このとき、情報シンボルとチェックシンボルを係数にもつ式４の多項式は符号生成多項式Ｇ(ｘ)の倍多項式となっている。
【０００７】
【式２】
Ａ００ｘ６＋Ａ０１ｘ５＋Ａ０２ｘ４＋Ａ０３ｘ３
【０００８】
【式３】
Ａ０４ｘ２＋Ａ０５ｘ＋Ａ０６＝Ａ００ｘ６＋Ａ０１ｘ５＋Ａ０２ｘ４
＋Ａ０３ｘ３  ｍｏｄＧ(ｘ)
【０００９】
【式４】
Ａ００ｘ６＋Ａ０１ｘ５＋Ａ０２ｘ４＋Ａ０３ｘ３＋Ａ０４ｘ２
＋Ａ０５ｘ＋Ａ０６
【００１０】
第２行、第３行、第４行のチェックシンボルも同様に計算される。ステップ２が完了すると、情報シンボルとチェックシンボル合わせて計２８シンボルから成る、４行７列の２次元配列が生成される。
次にステップ３において列方向の符号化を行う。第１列のシンボル(Ａ００，Ａ１０，Ａ２０，Ａ３０)を式５の多項式で表す。チェックシンボル(Ａ４０，Ａ５０，Ａ６０)は式５の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式として計算される（式６）。このときも上と同様に式７が符号生成多項式の倍多項式になっていることが確かめられる。
【００１１】
【式５】
Ａ００ｘ６＋Ａ１０ｘ５＋Ａ２０ｘ４＋Ａ３０ｘ３
【００１２】
【式６】
Ａ４０ｘ２＋Ａ５０ｘ＋Ａ６０＝Ａ００ｘ６＋Ａ１０ｘ５
＋Ａ２０ｘ４＋Ａ３０ｘ３  ｍｏｄＧ(ｘ)
【００１３】
【式７】
Ａ００ｘ６＋Ａ１０ｘ５＋Ａ２０ｘ４＋Ａ３０ｘ３＋Ａ４０ｘ２
＋Ａ５０ｘ＋Ａ６０
【００１４】
第２列から第７列のチェックシンボルも同様に計算される。ステップ３の処理が完了すると、図２に示す７行７列の積符号Ｃが生成される。ここで生成された積符号の第５行から第７行はＣ２符号、即ち、ＲＳ符号になることが示される。たとえば、第５行を式８の多項式で表すと、これは符号生成多項式Ｇ(ｘ)の倍多項式となっている。
【００１５】
【式８】
Ａ５０ｘ６＋Ａ５１ｘ５＋Ａ５２ｘ４＋Ａ５３ｘ３＋Ａ５４ｘ２
＋Ａ５５ｘ＋Ａ５６
【００１６】
積符号Ｃの伝送については種々の方式があるが、以下では積符号Ｃの行または列の７シンボルを並列に伝送する場合について考える。
図４は積符号Ｃを列毎に伝送する場合で横軸は時間軸を表す。まず、時点０において第１列(Ａ００，Ａ１０，Ａ２０，Ａ３０，Ａ４０，Ａ５０，Ａ６０)の７シンボルが並列に伝送される。次に時点１において(Ａ０１，Ａ１１，Ａ２１，Ａ３１，Ａ４１，Ａ５１，Ａ６１)の７シンボルが並列に伝送され、以下同様にして第７列まで順次伝送される。
【００１７】
次にこのようにして伝送された積符号Ｃの復号について考える。Ｃ１符号（列方向）およびＣ２符号（行方向）は同一のＲＳ符号であるため、Ｃ１符号とＣ２符号は同じ復号器で復号できる。
図４の手順により伝送された積符号ＣをＲＳ符号の復号器７つで並列に復号する問題について考える。ただし、各復号器は１時点に１シンボルずつ入力を受け付けるものとする。
図５は積符号Ｃのシンボルと並列復号器の対応を示すもので、積符号Ｃの第１行は復号器＃０に、第２行は復号器＃１に、第３行は復号器＃２に、第４行は復号器＃３に、第５行は復号器＃４に、第６行は復号器＃５に、第７行は復号器＃６にそれぞれ入力される。
【００１８】
Ｃ２符号(図２の７つの行)を復号する場合、上述の行と復号器の対応により各行のシンボルは１時点に１シンボルずつ復号器に入力されるので７つのＣ２符号を並列に復号することが可能である。一方、Ｃ１符号(図２の７つの列)を復号する場合、１時点に１列、即ち、Ｃ１符号の１符号語の７シンボルすべてが入力されることになり、１シンボルしか入力できない復号器では対応できない。
【００１９】
【発明が解決しようとする課題】
従来の積符号では前述したように水平および垂直方向に２次元的に符号化されるために、伝送方向を水平方向または垂直方向として並列に伝送する場合、伝送方向と直交する方向の符号を並列に復号できないという問題点があった。
【００２０】
この発明は上記の問題点を解決するためになされたもので、積符号の２つの符号、即ち、Ｃ１符号およびＣ２符号を共に並列に復号することが可能な積符号の符号化方法および符号化装置、ならびに積符号の復号装置を得ることを目的とする。
【００２１】
【課題を解決する為の手段】
【００２２】
この発明に係る積符号の符号化方法は、符号長Ｎ、情報長Ｋ１の線形符号Ｃ１と、符号長Ｎ、情報長Ｋ２の線形符号Ｃ２から積符号を構成する方法において、Ｋ１・Ｋ２個の情報データをＫ１行Ｋ２列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｋ２−１）にして、メモリに格納するステップと、
前記Ｋ１行Ｋ２列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｋ２−１）のＫ１個の第ｉ行（Ａｉｊ）（ｊ＝０，１，．．．，Ｋ２−１）に前記符号Ｃ２のＮ−Ｋ２個のチェック（Ａｉｊ）（ｊ＝Ｋ２，Ｋ２＋１，．．．，Ｎ−１）を付加する第１の符号化ステップと、
前記第１の符号化ステップにおいて生成されたＫ１行Ｎ列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｎ−１）のＮ個の第ｊ番目の対角線（Ａｉ(ｉ＋ｊ)）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｎ−１）（（ｎ）はＮを法とする）に前記符号Ｃ１のＮ−Ｋ１個のチェック（Ａｉ(ｉ＋ｊ)）（ｉ＝Ｋ１，Ｋ１＋１，．．．，Ｎ−１）を付加する第２の符号化ステップと、
を備えて積符号（Ａｉｊ）（ｉ，ｊ＝０，１，．．．，Ｎ−１）を形成する。
【００２３】
また、この発明に係る積符号の符号化方法は、前記格納ステップは行と列を入れ替え、Ｋ１・Ｋ２個の情報データをＫ２行Ｋ１列の２次元配列にしてメモリに格納する。
【００２４】
また、この発明に係る積符号の符号化方法は、前記線形符号Ｃ１およびＣ２の何れか一方又は両方が拡大パリティを有する。
【００２６】
また、この発明に係る積符号の符号化装置は、符号長Ｎ、情報長Ｋ１の線形符号Ｃ１と、符号長Ｎ、情報長Ｋ２の線形符号Ｃ２から積符号を形成する際に、Ｋ１・Ｋ２個の情報データをＫ１行Ｋ２列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｋ２−１）にして、メモリに格納するステップと、前記Ｋ１行Ｋ２列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｋ２−１）のＫ１個の第ｉ行（Ａｉｊ）（ｊ＝０，１，．．．，Ｋ２−１）に前記符号Ｃ２のＮ−Ｋ２個のチェック（Ａｉｊ）（ｊ＝Ｋ２，Ｋ２＋１，．．．，Ｎ−１）を付加する第１の符号化ステップと、前記第１の符号化ステップにおいて生成されたＫ１行Ｎ列の２次元配列（Ａｉｊ）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｎ−１）のＮ個の第ｊ番目の対角線（Ａｉ(ｉ＋ｊ)）（ｉ＝０，１，．．．，Ｋ１−１，ｊ＝０，１，．．．，Ｎ−１）（（ｎ）はＮを法とする）に前記符号Ｃ１のＮ−Ｋ１個のチェック（Ａｉ(ｉ＋ｊ)）（ｉ＝Ｋ１，Ｋ１＋１，．．．，Ｎ−１）を付加する第２の符号化ステップとを備えて積符号（Ａｉｊ）（ｉ，ｊ＝０，１，．．．，Ｎ−１）を形成する符号化装置であって、積符号を保持するメモリ群と、前記Ｃ１符号と前記Ｃ２符号を符号化する符号化器群と、前記メモリ群と前記符号化器群を接続し、前記メモリ群の積符号を読み出す第１のスイッチ群と、前記メモリ群と前記符号化器群を接続し、前記メモリ群へ積符号を書き込む第２のスイッチ群とを備え、前記第１のスイッチ群と第２のスイッチ群とが巡回的に入、切することでＫ１行Ｎ列の２次元配列のＮ個の第ｊ番目の対角線に前記Ｃ１符号のＮ−Ｋ１個のチェックを付加する。
【００２８】
また、この発明に係る積符号の復号装置は、請求項１記載の符号化方法により形成されたＣ１符号とＣ２符号の積符号の復号装置において、受信された積符号を保持するメモリと、前記メモリに格納された積符号の列単位（Ｎ個のシンボル）を入力して列の順番により定められた置換パターンに従ってＮ個のシンボルを並べ替えてＮ個のシンボルを並列に出力する第１の並べ替え器と、前記第１の並べ替え器から出力されたＮ個のシンボルをそれぞれ入力して復号するためのＮ個のＣ１符号およびＣ２符号の復号器と、前記Ｎ個の前記Ｃ１符号およびＣ２符号の復号器から出力されたＮ個のシンボルを前記第１の並べ替え器の置換パターンと逆の置換パターンに従って並べ替えてＮ個のシンボルを並列に出力する第２の並べ替え器とを備え、前記第２の並べ替え器から並列に出力されたＮシンボルを前記メモリの所定の位置に格納する。
【００３０】
また、この発明に係る積符号の復号装置は、請求項１記載の符号化方法により形成された積符号をＣ１符号化方向に各列のＮシンボルを並列に伝送し、受信機において並列復号する復号装置において、
並列に伝送されたＮ個のシンボルを受信し復号するためのＮ個の復号器を有する第１の並列復号器と、
前記第１の並列復号器から出力されたＮ個の並列シンボルを予め定められた置換パターンに従って並べ替えてＮ個の並列シンボルを出力する第１の並べ替え器と、
前記第１の並べ替え器から出力されたＮ個の並列シンボルを受信し復号するためのＮ個の復号器を有する第２の並列復号器と、
前記第２の並列復号器から出力されたＮ個の並列シンボルを予め定められた置換パターンに従って並べ替える第２の並べ替え器と、
を備えてＣ１符号およびＣ２符号を復号することを特徴とする積符号の復号装置。
【００３１】
また、この発明に係る積符号の復号装置は、前記第１の並列復号器と、前記第１の並べ替え器と、前記第２の並列復号器と、前記第２の並べ替え器を備える積符号の復号部を複数縦列に接続し、Ｃ１符号およびＣ２符号を複数回復号する。
【００３２】
また、この発明に係る積符号の復号装置は、前記復号器はＣ１符号の復号において訂正不可能な誤りが検出された場合にその符号語に消失フラグを付加し、Ｃ２符号の復号において消失訂正する構成にされた。
【００３３】
また、この発明に係る積符号の復号装置は、前記第１の並列復号器と、前記第１の並べ替え器と、前記第２の並列復号器と、前記第２の並べ替え器を具備する積符号の復号部を備え、各復号器は訂正不可能な誤りが検出された場合にその符号語に消失フラグを付加する構成にされ、最終段の復号器は消失フラグが付加された符号語を消失訂正する構成にされた。
【００３４】
また、この発明に係るディジタル伝送システムは、請求項４記載の積符号の符号化装置と請求項５ないし請求項９の何れかに記載の積符号の復号装置とが伝送媒体とで接続されて構成される。
【００３５】
【発明の実施の形態】
実施の形態１．
この発明の積符号の符号化方法について、従来技術で説明したＣ１符号、Ｃ２符号ともにガロア体ＧＦ(２３)上の符号長７、情報長４のＲＳ符号から構成される積符号Ｃを用いて説明する。
図６に本実施の形態１の積符号の符号化方法のフローチャートを示す。まずステップ１において情報データの１６シンボルが４行４列の２次元配列に格納される。次にステップ２において第１行から第４行にＣ２符号のチェックシンボルが付加される。ステップ２の処理は従来技術で説明した図３のステップ２の処理と同様であるので説明を省略する。
【００３６】
ステップ２の処理が完了すると、次にステップ３において対角線方向にＣ１符号化を行う。まず、第１対角線(Ａ００，Ａ１１，Ａ２２，Ａ３３)の符号化方法について説明する。(Ａ００，Ａ１１，Ａ２２，Ａ３３)を式９の多項式で表す。第１対角線のチェックシンボル(Ａ４４，Ａ５５，Ａ６６)は式９の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式１０）。
【００３７】
【式９】
Ａ００ｘ６＋Ａ１１ｘ５＋Ａ２２ｘ４＋Ａ３３ｘ３
【００３８】
【式１０】
Ａ４４ｘ２＋Ａ５５ｘ＋Ａ６６＝Ａ００ｘ６＋Ａ１１ｘ５＋Ａ２２ｘ４
＋Ａ３３ｘ３  ｍｏｄＧ(ｘ)
【００３９】
次に、第２対角線(Ａ０１，Ａ１２，Ａ２３，Ａ３４)の符号化方法について説明する。(Ａ０１，Ａ１２，Ａ２３，Ａ３４)を式１１の多項式で表す。第２対角線のチェックシンボル(Ａ４５，Ａ５６，Ａ６０)は式１１の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式１２）。
【００４０】
【式１１】
Ａ０１ｘ６＋Ａ１２ｘ５＋Ａ２３ｘ４＋Ａ３４ｘ３
【００４１】
【式１２】
Ａ４５ｘ２＋Ａ５６ｘ＋Ａ６０＝Ａ０１ｘ６＋Ａ１２ｘ５
＋Ａ２３ｘ４＋Ａ３４ｘ３  ｍｏｄＧ(ｘ)
【００４２】
一般に第(ｋ＋１)の対角線(Ａ０ｋ，Ａ１(ｋ＋１)，Ａ２(ｋ＋２)，Ａ３(ｋ＋３))の符号化も上で説明した第１および第２の対角線の符号化と同様である。ここでインデックスの括弧()は７を法とすることを表す。例えば、(７)＝０、(８)＝１など。(Ａ０ｋ，Ａ１(ｋ＋１)，Ａ２(ｋ＋２)，Ａ３(ｋ＋３))を式１３の多項式で表す。第(ｋ＋１)対角線のチェックシンボル(Ａ４(ｋ＋４)，Ａ５(ｋ＋５)，Ａ６(ｋ＋６))は式１３の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式１４）。
【００４３】
【式１３】
Ａ０(ｋ＋１)ｘ６＋Ａ１(ｋ＋２)ｘ５＋Ａ２(ｋ＋２)ｘ４＋Ａ３(ｋ＋３)ｘ３
【００４４】
【式１４】
Ａ４(ｋ＋４)ｘ２＋Ａ５(ｋ＋５)ｘ＋Ａ６(ｋ＋６)＝Ａ０(ｋ)ｘ６
＋Ａ１(ｋ＋１)ｘ５＋Ａ２(ｋ＋２)ｘ４＋Ａ３(ｋ＋３)ｘ３  ｍｏｄＧ(ｘ)
【００４５】
第７対角線の符号化まで完了すると、７行７列の積符号Ｃが構成される。ここでステップ３の対角線方向の符号化で生成された第５行から第７行はＣ１符号となることが示される。例えば、第５行は式１５の多項式で表されるＲＳ符号になっている。
【００４６】
【式１５】
Ａ４０ｘ６＋Ａ４１ｘ５＋Ａ４２ｘ４＋Ａ４３ｘ３＋Ａ４４ｘ２＋Ａ４５ｘ
＋Ａ４６
また、第６行は式１６の多項式で表されるＲＳ符号になっている。
【００４７】
【式１６】
Ａ５０ｘ６＋Ａ５１ｘ５＋Ａ５２ｘ４＋Ａ５３ｘ３＋Ａ５４ｘ２＋Ａ５５ｘ
＋Ａ５６
第７行は式１７の多項式で表されるＲＳ符号になっている。
【００４８】
【式１７】
Ａ６０ｘ６＋Ａ６１ｘ５＋Ａ６２ｘ４＋Ａ６３ｘ３＋Ａ６４ｘ２＋Ａ６５ｘ
＋Ａ６６
【００４９】
図７は積符号Ｃの符号化装置の構成を示すブロック図で、メモリ＃０〜＃６は積符号Ｃのシンボルを格納するためのメモリ、端子Ａ０〜Ａ６はメモリ＃０〜＃６の読み出しデータを出力する端子、端子Ｂ０〜Ｂ６はメモリ＃０〜＃６へ書込みデータを入力する端子、符号化器＃０〜＃６はＲＳ符号の符号化器、Ｓ０〜Ｓ６は端子Ａ０〜Ａ６と符号化器＃０〜＃６を接続するためのスイッチ、Ｔ０〜Ｔ６は端子Ｂ０〜Ｂ６と符号化器＃０〜＃６を接続するためのスイッチである。
【００５０】
符号化器＃０〜＃６は公知の技術を用いて構成することができ、1例を図８に示す。図８は式１の生成多項式で定義されるＲＳ符号の符号器の構成を示すブロック図であり、Ｐは情報データの入力端子、Ｄ０、Ｄ１、Ｄ２は１シンボル（３ビット）を格納するための記憶素子、２Ａ、２Ｂ、２Ｃは３ビットの排他的論理和、ｇ０、ｇ１、ｇ２はガロア体の係数乗算器、ＳＷ１は情報データを入力するための第１のスイッチ、ＳＷ２は排他的論理和２Ａの出力を帰還するための第２のスイッチ、Ｑは出力端子である。
【００５１】
次に図８に示す符号化器の動作について積符号Ｃの第１行の情報データ、Ａ００、Ａ０１、Ａ０２、Ａ０３を符号化する場合を例にとり説明する。まず、初期値として第１記憶素子Ｄ０、第２記憶素子Ｄ１、第３記憶素子Ｄ２に０が格納され、第１のスイッチＳＷ１および第２スイッチＳＷ２が閉じらる。
時点０において入力端子Ｐから入力された情報データＡ００は第１のスイッチＳＷ１を介して排他的論理和２Ａに供給される。排他的論理和２ＡにおいてＡ００と第３記憶素子Ｄ２の内容が加算され、第２のスイッチＳＷ２を介して係数乗算器ｇ２、ｇ１、ｇ０に供給される。
【００５２】
係数乗算器ｇ２では入力値がｇ２倍されて排他的論理和２Ｂに供給され、第２記憶素子Ｄ１の内容と加算されて第３記憶素子Ｄ２に格納される。係数乗算器ｇ１では入力値がｇ１倍されて排他的論理和２Ｃに供給され、第１記憶素子Ｄ０の内容と加算されて第２記憶素子Ｄ１に格納される。係数乗算器ｇ０では入力値がｇ０倍されて第１記憶素子Ｄ０に格納される。
【００５３】
以下同様に、時点１においてＡ０１が、時点２においてＡ０２が、時点３においてＡ０３がそれぞれ入力端子Ｐから入力されて、第１から第３記憶素子Ｄ０、Ｄ１、Ｄ２の内容が更新される。時点３の入力が完了すると、第３記憶素子にチェックＡ０４、第２記憶素子にチェックＡ０５、第１記憶素子にチェックＡ０６が生成される。時点４以降では第１のスイッチＳＷ１および第２のスイッチＳＷ２は開いた状態に設定される。時点４では第３記憶素子に格納されているチェックＡ０４が出力され、第２記憶素子に格納されているＡ０５が第３記憶素子にシフト入力され、第１記憶素子に格納されているＡ０６が第２記憶素子にシフト入力される。時点５では第３記憶素子に格納されているチェックＡ０５が出力され、第２記憶素子に格納されているＡ０６が第３記憶素子にシフト入力される。時点６では第３記憶素子に格納されているチェックＡ０６が出力される。
【００５４】
次に図７の符号化回路の動作について説明する。情報シンボルは予めメモリの所定のアドレスに格納されているものと仮定する。即ち、Ａ００、Ａ０１、Ａ０２、Ａ０３はメモリ＃０のアドレス０、アドレス１、アドレス２、アドレス３に、Ａ１０、Ａ１１、Ａ１２、Ａ１３はメモリ＃１のアドレス０、アドレス１、アドレス２、アドレス３に、Ａ２０、Ａ２１、Ａ２２、Ａ２３はメモリ＃２のアドレス０、アドレス１、アドレス２、アドレス３に、Ａ３０、Ａ３１、Ａ３２、Ａ３３はメモリ＃３のアドレス０、アドレス１、アドレス２、アドレス３にそれぞれ格納されているものとする。
【００５５】
図９Ａにスイッチ群Ｓ０〜Ｓ６の、９Ｂにスイッチ群Ｔ０〜Ｔ６の各時点の状態を示す。表中の“開”はスイッチが開いていることを表す。また、図１０Ａおよび１０Ｂにメモリ＃０〜＃６の各時点の状態を示す。例えば表中のメモリ＃０の時点０における“リード・アドレス０・データＡ００”はメモリ＃０のアドレス０をアクセスし、データＡ００を読み出すことを表す。また、時点４の“ライト・アドレス０・データＡ０４”はメモリ＃０のアドレス０をアクセスし、データＡ０４を書き込むことを表す。
【００５６】
時点０ではスイッチＳ０が端子Ａ０に、スイッチＳ１が端子Ａ１に、スイッチＳ２が端子Ａ２に、スイッチＳ３が端子Ａ３にそれぞれ接続される。一方、スイッチＳ４、Ｓ５、Ｓ６は開いた状態に設定される。また、スイッチＴ０からＴ６も開いた状態に設定される。メモリ＃０のアドレス０に格納されているＡ００が読み出されて端子Ａ０に出力され、スイッチＳ０を介して符号器＃０に入力される。また、メモリ＃１のアドレス０に格納されているＡ１０が読み出されて端子Ａ１に出力され、Ｓ１を介して符号器＃１に入力される。また、メモリ＃２のアドレス０に格納されているＡ２０が読み出されて端子Ａ２に出力され、Ｓ２を介して符号器＃２に入力される。また、メモリ＃３のアドレス０に格納されているＡ３０が読み出されて端子Ａ３に出力され、Ｓ３を介して符号器＃３に入力される。
【００５７】
時点１ではスイッチ群Ｓ０〜Ｓ６とスイッチ群Ｔ０〜Ｔ６は時点０と同じ状態に設定される。メモリ＃０のアドレス１に格納されているＡ０１が読み出されて端子Ａ０に出力され、Ｓ０を介して符号器＃０に入力される。また、メモリ＃１のアドレス１に格納されているＡ１１が読み出されて端子Ａ１に出力され、Ｓ１を介して符号器＃１に入力される。また、メモリ＃２のアドレス１に格納されているＡ２１が読み出されて端子Ａ２に出力され、Ｓ２を介して符号器＃２に入力される。また、メモリ＃３のアドレス１に格納されているＡ３１が読み出されて端子Ａ３に出力され、Ｓ３を介して符号器＃３に入力される。
【００５８】
時点２もスイッチ群Ｓ０〜Ｓ６とスイッチ群Ｔ０〜Ｔ６は時点０と同じ状態に設定される。メモリ＃０のアドレス２に格納されているＡ０２が読み出されて端子Ａ０に出力され、Ｓ０を介して符号器＃０に入力される。また、メモリ＃１のアドレス２に格納されているＡ１２が読み出されて端子Ａ１に出力され、Ｓ１を介して符号器＃１に入力される。また、メモリ＃２のアドレス２に格納されているＡ２２が読み出されて端子Ａ２に出力され、Ｓ２を介して符号器＃２に入力される。また、メモリ＃３のアドレス２に格納されているＡ３２が読み出されて端子Ａ３に出力され、Ｓ３を介して符号器＃３に入力される。
【００５９】
時点３もスイッチ群Ｓ０〜Ｓ６とスイッチ群Ｔ０〜Ｔ６は時点０と同じ状態に設定される。メモリ＃０のアドレス３に格納されているＡ０３が読み出されて端子Ａ０に出力され、Ｓ０を介して符号器＃０に入力される。また、メモリ＃１のアドレス３に格納されているＡ１３が読み出されて端子Ａ１に出力され、Ｓ１を介して符号器＃１に入力される。また、メモリ＃２のアドレス３に格納されているＡ２３が読み出されて端子Ａ２に出力され、Ｓ２を介して符号器＃２に入力される。また、メモリ＃３のアドレス３に格納されているＡ３３が読み出されて端子Ａ３に出力され、Ｓ３を介して符号器＃３に入力される。
【００６０】
時点３の処理が完了すると、上述したように符号器＃０の第３記憶素子にはチェックＡ０４、第２記憶素子にはチェックＡ０５、第１記憶素子にはチェックＡ０６が保持されている。また、符号器＃１の第３記憶素子にはチェックＡ１４、第２記憶素子にはチェックＡ１５、第１記憶素子にはチェックＡ１６が保持されている。また、符号器＃２の第３記憶素子にはチェックＡ２４、第２記憶素子にはチェックＡ２５、第１記憶素子にはチェックＡ２６が保持されている。また、符号器＃３の第３記憶素子にはチェックＡ３４、第２記憶素子にはチェックＡ３５、第１記憶素子にはチェックＡ３６が保持されている。
【００６１】
時点４ではスイッチ群Ｓ０〜Ｓ６は開いた状態に設定され、スイッチＴ０は端子Ｂ０に、スイッチＴ１が端子Ｂ１に、スイッチＴ２が端子Ｂ２に、スイッチＴ３が端子Ｂ３にそれぞれ接続される。一方、スイッチＴ４、Ｔ５、Ｔ６は開いた状態に設定される。符号器＃０からチェックＡ０４がスイッチＴ０を介して端子Ｂ０に出力されてメモリ＃０のアドレス４に格納される。また、符号器＃１からチェックＡ１４がスイッチＴ１を介して端子Ｂ１に出力されてメモリ＃１のアドレス４に格納される。また、符号器＃２からチェックＡ２４がスイッチＴ２を介して端子Ｂ２に出力されてメモリ＃２のアドレス４に格納される。また、符号器＃３からチェックＡ３４がスイッチＴ３を介して端子Ｂ３に出力されてメモリ＃３のアドレス４に格納される。
【００６２】
時点５ではスイッチ群Ｓ０〜Ｓ６とスイッチ群Ｔ０〜Ｔ６は時点４と同じ状態に設定される。符号器＃０からチェックＡ０５がスイッチＴ０を介して端子Ｂ０に出力されてメモリ＃０のアドレス５に格納される。また、符号器＃１からチェックＡ１５がスイッチＴ１を介して端子Ｂ１に出力されてメモリ＃１のアドレス５に格納される。また、符号器＃２からチェックＡ２５がスイッチＴ２を介して端子Ｂ２に出力されてメモリ＃２のアドレス５に格納される。また、符号器＃３からチェックＡ３５がスイッチＴ３を介して端子Ｂ３に出力されてメモリ＃３のアドレス５に格納される。
【００６３】
時点６もスイッチ群Ｓ０〜Ｓ６とスイッチ群Ｔ０〜Ｔ６は時点４と同じ状態に設定される。符号器＃０からチェックＡ０６がスイッチＴ０を介して端子Ｂ０に出力されてメモリ＃０のアドレス６に格納される。また、符号器＃１からチェックＡ１６がスイッチＴ１を介して端子Ｂ１に出力されてメモリ＃１のアドレス６に格納される。また、符号器＃２からチェックＡ２６がスイッチＴ２を介して端子Ｂ２に出力されてメモリ＃２のアドレス６に格納される。また、符号器＃３からチェックＡ３６がスイッチＴ３を介して端子Ｂ３に出力されてメモリ＃３のアドレス６に格納される。
【００６４】
時点７ではスイッチＳ０は端子Ａ０に接続され、スイッチＳ１からＳ６は開いた状態に設定される。またスイッチＴ０からＴ６も開いた状態に設定される。メモリ＃０のアドレス０に格納されているＡ００が読み出されて端子Ａ０に出力され、Ｓ０を介して符号器＃０に入力される。
【００６５】
時点８ではスイッチＳ０は端子Ａ１に、スイッチＳ１は端子Ａ０にそれぞれ接続され、他のスイッチＳ２からＳ６は開いた状態に設定される。またスイッチＴ０からＴ６も開いた状態に設定される。メモリ＃０のアドレス１に格納されているＡ０１が読み出されて端子Ａ０に出力され、Ｓ１を介して符号器＃１に入力される。また、メモリ＃１のアドレス１に格納されているＡ１１が読み出されて端子Ａ１に出力され、Ｓ０を介して符号器＃０に入力される。
【００６６】
時点９ではスイッチＳ０は端子Ａ２に、スイッチＳ１は端子Ａ１に、スイッチＳ２は端子Ａ０にそれぞれ接続され、他のスイッチＳ３からＳ６は開いた状態に設定される。またスイッチＴ０からＴ６も開いた状態に設定される。
メモリ＃０のアドレス２に格納されているＡ０２が読み出されて端子Ａ０に出力され、スイッチＳ２を介して符号器＃２に入力される。
また、メモリ＃１のアドレス２に格納されているＡ１２が読み出されて端子Ａ１に出力され、スイッチＳ１を介して符号器＃１に入力される。
また、メモリ＃２のアドレス２に格納されているＡ２２が読み出されて端子Ａ２に出力され、スイッチＳ０を介して符号器＃０に入力される。
【００６７】
時点１０ではスイッチＳ０は端子Ａ３に、スイッチＳ１は端子Ａ２に、スイッチＳ２は端子Ａ１に、スイッチＳ３は端子Ａ０にそれぞれ接続され、他のスイッチＳ４からＳ６は開いた状態に設定される。またスイッチＴ０からＴ６も開いた状態に設定される。
メモリ＃０のアドレス３に格納されているＡ０３が読み出されて端子Ａ０に出力され、スイッチＳ３を介して符号器＃３に入力される。また、
メモリ＃１のアドレス３に格納されているＡ１３が読み出されて端子Ａ１に出力され、スイッチＳ２を介して符号器＃２に入力される。
また、メモリ＃２のアドレス３に格納されているＡ２３が読み出されて端子Ａ２に出力され、スイッチＳ１を介して符号器＃１に入力される。
また、メモリ＃３のアドレス３に格納されているＡ３３が読み出されて端子Ａ３に出力され、スイッチＳ０を介して符号器＃０に入力される。
【００６８】
時点１０の処理が完了すると、符号器＃０の第３記憶素子には第１対角線のチェックＡ４４、第２記憶素子にはチェックＡ５５、第１記憶素子にはチェックＡ６６が保持されている。
【００６９】
時点１１ではスイッチＳ１は端子Ａ３に、スイッチＳ２は端子Ａ２に、スイッチＳ３は端子Ａ１、スイッチＳ４は端子Ａ０にそれぞれ接続され、他のスイッチＳ０、Ｓ５、Ｓ６は開いた状態に設定される。また、スイッチＴ０は端子Ｂ４に接続され、他のスイッチＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５、Ｔ６は開いた状態に設定される。
メモリ＃０のアドレス４に格納されているＡ０４が読み出されて端子Ａ０に出力され、スイッチＳ４を介して符号器＃４に入力される。
また、メモリ＃１のアドレス４に格納されているＡ１４が読み出されて端子Ａ１に出力され、スイッチＳ３を介して符号器＃３に入力される。
また、メモリ＃２のアドレス４に格納されているＡ２４が読み出されて端子Ａ２に出力され、スイッチＳ２を介して符号器＃２に入力される。
また、メモリ＃３のアドレス４に格納されているＡ３４が読み出されて端子Ａ３に出力され、スイッチＳ１を介して符号器＃１に入力される。
一方、符号器＃０からチェックＡ４４がスイッチＴ０を介して端子Ｂ４に出力されてメモリ＃４のアドレス４に格納される。
【００７０】
時点１１の処理が完了すると、符号器＃１の第３記憶素子には第２対角線のチェックＡ４５、第２記憶素子にはチェックＡ５６、第１記憶素子にはチェックＡ６０が保持されている。
【００７１】
時点１２ではスイッチＳ２は端子Ａ３に、スイッチＳ３は端子Ａ２に、スイッチＳ４は端子Ａ１、スイッチＳ５は端子Ａ０にそれぞれ接続され、他のスイッチＳ０、Ｓ１、Ｓ６は開いた状態に設定される。また、スイッチＴ０は端子Ｂ５に、スイッチＴ１は端子Ｂ４にそれぞれ接続され、他のスイッチＴ２、Ｔ３、Ｔ４、Ｔ５、Ｔ６は開いた状態に設定される。
【００７２】
メモリ＃０のアドレス５に格納されているＡ０５が読み出されて端子Ａ０に出力され、スイッチＳ５を介して符号器＃５に入力される。また、
メモリ＃１のアドレス５に格納されているＡ１５が読み出されて端子Ａ１に出力され、スイッチＳ４を介して符号器＃４に入力される。また、
メモリ＃２のアドレス５に格納されているＡ２５が読み出されて端子Ａ２に出力され、スイッチＳ３を介して符号器＃３に入力される。また、
メモリ＃３のアドレス５に格納されているＡ３５が読み出されて端子Ａ３に出力され、スイッチＳ２を介して符号器＃２に入力される。
一方、符号器＃０からチェックＡ５５がスイッチＴ０を介して端子Ｂ５に出力されてメモリ＃５のアドレス５に格納される。
また、符号器＃１からチェックＡ４５がスイッチＴ１を介して端子Ｂ４に出力されてメモリ＃４のアドレス５に格納される。
【００７３】
時点１２の処理が完了すると、符号器＃２の第３記憶素子には第３対角線のチェックＡ４６、第２記憶素子にはチェックＡ５０、第１記憶素子にはチェックＡ６１が保持されている。
【００７４】
時点１３ではスイッチＳ３は端子Ａ３に、スイッチＳ４は端子Ａ２に、スイッチＳ５は端子Ａ１、スイッチＳ６は端子Ａ０にそれぞれ接続され、他のスイッチＳ０、Ｓ１、Ｓ２は開いた状態に設定される。またスイッチＴ０は端子Ｂ６に、スイッチＴ１は端子Ｂ５に、スイッチＴ２は端子Ｂ４にそれぞれ接続され、他のスイッチＴ３、Ｔ４、Ｔ５、Ｔ６は開いた状態に設定される。
メモリ＃０のアドレス６に格納されているＡ０６が読み出されて端子Ａ０に出力され、スイッチＳ６を介して符号器＃６に入力される。また、
メモリ＃１のアドレス６に格納されているＡ１６が読み出されて端子Ａ１に出力され、スイッチＳ５を介して符号器＃５に入力される。また、
メモリ＃２のアドレス６に格納されているＡ２６が読み出されて端子Ａ２に出力され、スイッチＳ４を介して符号器＃４に入力される。また、
メモリ＃３のアドレス６に格納されているＡ３６が読み出されて端子Ａ３に出力され、スイッチＳ３を介して符号器＃３に入力される。
【００７５】
一方、符号器＃０からチェックＡ６６がスイッチＴ０を介して端子Ｂ６に出力されてメモリ＃６のアドレス６に格納される。
また、符号器＃１からチェックＡ５６がスイッチＴ１を介して端子Ｂ５に出力されてメモリ＃５のアドレス６に格納される。
また、符号器＃２からチェックＡ４６がスイッチＴ２を介して端子Ｂ４に出力されてメモリ＃４のアドレス６に格納される。
【００７６】
時点１３の処理が完了すると、符号器＃３の第３記憶素子には第４対角線のチェックＡ４０、第２記憶素子にはチェックＡ５１、第１記憶素子にはチェックＡ６２が保持されている。
【００７７】
時点１４ではスイッチＳ４は端子Ａ３に、スイッチＳ５は端子Ａ２に、スイッチＳ６は端子Ａ１にそれぞれ接続され、他のスイッチＳ０、Ｓ１、Ｓ２、Ｓ３は開いた状態に設定される。またスイッチＴ１は端子Ｂ６に、スイッチＴ２は端子Ｂ５に、スイッチＴ３は端子Ｂ４にそれぞれ接続され、他のスイッチＴ０、Ｔ４、Ｔ５、Ｔ６は開いた状態に設定される。
メモリ＃１のアドレス０に格納されているＡ１０が読み出されて端子Ａ１に出力され、スイッチＳ６を介して符号器＃６に入力される。
また、メモリ＃２のアドレス０に格納されているＡ２０が読み出されて端子Ａ２に出力され、スイッチＳ５を介して符号器＃５に入力される。
また、メモリ＃３のアドレス０に格納されているＡ３０が読み出されて端子Ａ３に出力され、スイッチＳ４を介して符号器＃４に入力される。
【００７８】
一方、符号器＃１からチェックＡ６０がスイッチＴ１を介して端子Ｂ６に出力されてメモリ＃６のアドレス０に格納される。
また、符号器＃２からチェックＡ５０がスイッチＴ２を介して端子Ｂ５に出力されてメモリ＃５のアドレス０に格納される。
また、符号器＃３からチェックＡ４０がスイッチＴ３を介して端子Ｂ４に出力されてメモリ＃４のアドレス０に格納される。
【００７９】
時点１４の処理が完了すると、符号器＃４の第３記憶素子には第５対角線のチェックＡ４１、第２記憶素子にはチェックＡ５２、第１記憶素子にはチェックＡ６３が保持されている。
【００８０】
時点１５ではスイッチＳ５は端子Ａ３に、スイッチＳ６は端子Ａ２にそれぞれ接続され、他のスイッチＳ０、Ｓ１、Ｓ２、Ｓ３、Ｓ４は開いた状態に設定される。また、スイッチＴ２は端子Ｂ６に、スイッチＴ３は端子Ｂ５に、スイッチＴ４は端子Ｂ４にそれぞれ接続され、他のスイッチＴ０、Ｔ１、Ｔ５、Ｔ６は開いた状態に設定される。
メモリ＃２のアドレス１に格納されているＡ２１が読み出されて端子Ａ２に出力され、スイッチＳ６を介して符号器＃６に入力される。
また、メモリ＃３のアドレス１に格納されているＡ３１が読み出されて端子Ａ３に出力され、スイッチＳ５を介して符号器＃５に入力される。
【００８１】
一方、符号器＃２からチェックＡ６１がスイッチＴ２を介して端子Ｂ６に出力されてメモリ＃６のアドレス１に格納される。
また、符号器＃３からチェックＡ５１がスイッチＴ３を介して端子Ｂ５に出力されてメモリ＃５のアドレス１に格納される。
また、符号器＃４からチェックＡ４１がスイッチＴ４を介して端子Ｂ４に出力されてメモリ＃４のアドレス１に格納される。
【００８２】
時点１５の処理が完了すると、符号器＃５の第３記憶素子には第６対角線のチェックＡ４２、第２記憶素子にはチェックＡ５３、第１記憶素子にはチェックＡ６４が保持されている。
【００８３】
時点１６ではスイッチＳ６は端子Ａ３にそれぞれ接続され、他のスイッチＳ０、Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５は開いた状態に設定される。また、スイッチＴ３は端子Ｂ６に、スイッチＴ４は端子Ｂ５に、スイッチＴ５は端子Ｂ４にそれぞれ接続され、他のスイッチＴ０、Ｔ１、Ｔ２、Ｔ６は開いた状態に設定される。メモリ＃３のアドレス２に格納されているＡ３２が読み出されて端子Ａ３に出力され、スイッチＳ６を介して符号器＃６に入力される。
一方、符号器＃３からチェックＡ６２がスイッチＴ３を介して端子Ｂ６に出力されてメモリ＃６のアドレス２に格納される。
また、符号器＃４からチェックＡ５２がスイッチＴ４を介して端子Ｂ５に出力されてメモリ＃５のアドレス２に格納される。
また、符号器＃５からチェックＡ４２がスイッチＴ５を介して端子Ｂ４に出力されてメモリ＃４のアドレス２に格納される。
【００８４】
時点１６の処理が完了すると、符号器＃６の第３記憶素子には第７対角線のチェックＡ４３、第２記憶素子にはチェックＡ５４、第１記憶素子にはチェックＡ６５が保持されている。
【００８５】
時点１７ではスイッチ群Ｓ０からＳ６は開いた状態に設定される。またスイッチＴ４は端子Ｂ６に、スイッチＴ５は端子Ｂ５に、スイッチＴ６は端子Ｂ４にそれぞれ接続され、他のスイッチＴ０、Ｔ１、Ｔ２、Ｔ３は開いた状態に設定される。
符号器＃４からチェックＡ６３がスイッチＴ４を介して端子Ｂ６に出力されてメモリ＃６のアドレス３に格納される。
また、符号器＃５からチェックＡ５３がスイッチＴ５を介して端子Ｂ５に出力されてメモリ＃５のアドレス３に格納される。
また、符号器＃６からチェックＡ４３がスイッチＴ６を介して端子Ｂ４に出力されてメモリ＃４のアドレス３に格納される。
【００８６】
時点１８ではスイッチ群Ｓ０からＳ６は開いた状態に設定される。また、スイッチＴ５は端子Ｂ６に、スイッチＴ６は端子Ｂ５にそれぞれ接続され、他のスイッチＴ０、Ｔ１、Ｔ２、Ｔ３、Ｔ４は開いた状態に設定される。
符号器＃５からチェックＡ６４がスイッチＴ５を介して端子Ｂ６に出力されてメモリ＃６のアドレス４に格納される。
また、符号器＃６からチェックＡ５４がスイッチＴ６を介して端子Ｂ５に出力されてメモリ＃５のアドレス４に格納される。
【００８７】
時点１９ではスイッチ群Ｓ０からＳ６は開いた状態に設定される。また、スイッチＴ６は端子Ｂ６に接続され、他のスイッチＴ０、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５は開いた状態に設定される。
符号器＃６からチェックＡ６５がスイッチＴ６を介して端子Ｂ６に出力されてメモリ＃６のアドレス５に格納される。
時点１９の処理が完了すると、メモリ＃０から＃６には図１１のように積符号の４９シンボルが格納されている。
【００８８】
この発明の積符号の符号化方法はこのように積符号の一方の符号を水平方向に符号化し、他方の符号を対角線方向に符号化しているので、その符号化装置は一般的なシングルポートのメモリ７つとＲＳ符号の符号化器７つで構成できるため符号化装置の回路規模、特にメモリを削減できる効果がある。なお、本実施の形態では水平方向にＣ２符号化し、その後、対角線方向にＣ１符号化する場合について説明したが、逆に垂直方向にＣ１符号化し、その後、対角線方向にＣ２符号化してもよい。また、Ｃ１符号とＣ２符号の情報長が異なっても同様にして符号化できることは言うまでもない。
【００８９】
また、上述の例では、符号長が符号の有する最大長の場合について示したが、符号長を短縮してもよい。さらに２次元に限らず３次元以上の多次元の積符号も同様に構成することができる。
【００９０】
実施の形態２．
積符号を構成するＣ１符号およびＣ２符号がともに拡大パリティをもつ場合も実施の形態１と同様にして積符号を構成できる。Ｃ１符号、Ｃ２符号として上述したガロア体ＧＦ(２３)上の符号長７、情報長４のＲＳ符号に拡大パリティを追加した符号長８、情報長４の拡大ＲＳ符号を用いて説明する。また、この場合の積符号もＣと表す。
図１２に積符号Ｃの符号化方法のフローチャートを示す。まずステップ１において情報データの１６シンボルが４行４列の２次元配列に格納される。次にステップ２において第１行から第４行にＣ２符号のチェックシンボルが付加される。
【００９１】
第１行のチェックシンボル(Ａ０４，Ａ０５，Ａ０６，Ａ０７)の計算方法について説明する。第１行の情報シンボル(Ａ００，Ａ０１，Ａ０２，Ａ０３)を式１８の多項式で表す。チェックシンボル(Ａ０５，Ａ０６，Ａ０７)は式１８の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式１９）。
【００９２】
【式１８】
Ａ００ｘ６＋Ａ０１ｘ５＋Ａ０２ｘ４＋Ａ０３ｘ３
【００９３】
【式１９】
Ａ０５ｘ２＋Ａ０６ｘ＋Ａ０７＝Ａ００ｘ６＋Ａ０１ｘ５
＋Ａ０２ｘ４＋Ａ０３ｘ３  ｍｏｄＧ(ｘ)
【００９４】
また、チェックシンボルＡ０４は情報シンボルＡ００〜Ａ０３、チェックシンボルＡ０５、Ａ０６、Ａ０７のチェック和として計算される（式２０）。
【００９５】
【式２０】
Ａ０４＝Ａ００＋Ａ０１＋Ａ０２＋Ａ０３＋Ａ０５＋Ａ０６＋Ａ０７
【００９６】
Ａ０４を除くシンボル(Ａ００，Ａ０１，Ａ０２，Ａ０３，Ａ０５，Ａ０６，Ａ０７)は式２１の多項式で表されるが、ＲＳ符号の多項式は巡回してもよいので式２１を左に４つシフトした式２２をＲＳ符号(Ａ００，Ａ０１，Ａ０２，Ａ０３，Ａ０５，Ａ０６，Ａ０７)の多項式表現とする。即ち、Ａ０５を６次の係数、Ａ０６を５次の係数、Ａ０７を４次の係数、Ａ００を３次の係数、Ａ０１を２次の係数、Ａ０２を１次の係数、Ａ０３を定数項に対応させる。
【００９７】
【式２１】
Ａ００ｘ６＋Ａ０１ｘ５＋Ａ０２ｘ４＋Ａ０３ｘ３＋Ａ０５ｘ２
＋Ａ０６ｘ＋Ａ０７
【００９８】
【式２２】
Ａ０５ｘ６＋Ａ０６ｘ５＋Ａ０７ｘ４＋Ａ００ｘ３＋Ａ０１ｘ２
＋Ａ０２ｘ＋Ａ０３
【００９９】
次に第２行の符号化について説明する。第２行の情報シンボル(Ａ１０，Ａ１１，Ａ１２，Ａ１３)を式２３の多項式で表す。第２行のチェックシンボル(Ａ１４，Ａ１６，Ａ１７)は式２３の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式２４）。
【０１００】
【式２３】
Ａ１０ｘ６＋Ａ１１ｘ５＋Ａ１２ｘ４＋Ａ１３ｘ３
【０１０１】
【式２４】
Ａ１４ｘ２＋Ａ１６ｘ＋Ａ１７＝Ａ１０ｘ６＋Ａ１１ｘ５＋Ａ１２ｘ４
＋Ａ１３ｘ３  ｍｏｄＧ(ｘ)
【０１０２】
また、チェックシンボルＡ１５は情報シンボルＡ１０〜Ａ１３、チェックシンボルＡ１４、Ａ１６、Ａ１７のチェック和として計算される（式２５）。
【０１０３】
【式２５】
Ａ１５＝Ａ１０＋Ａ１１＋Ａ１２＋Ａ１３＋Ａ１４＋Ａ１６＋Ａ１７
【０１０４】
Ａ１５を除くシンボル(Ａ１０，Ａ１１，Ａ１２，Ａ１３，Ａ１４，Ａ１６，Ａ１７)を式２６に示すＲＳ符号の多項式に対応させる。即ち、Ａ１６を６次の係数、Ａ１７を５次の係数、Ａ１０を４次の係数、Ａ１１を３次の係数、Ａ１２を２次の係数、Ａ１３を１次の係数、Ａ１４を定数項に対応させる。
【０１０５】
【式２６】
Ａ１６ｘ６＋Ａ１７ｘ５＋Ａ１０ｘ４＋Ａ１１ｘ３＋Ａ１２ｘ２
＋Ａ１３ｘ＋Ａ１４
【０１０６】
次に第３行の符号化について説明する。第３行の情報シンボル(Ａ２０，Ａ２１，Ａ２２，Ａ２３)を式２７の多項式で表す。第３行のチェックシンボル(Ａ２４，Ａ２５，Ａ２７)は式２７の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式２８）。
【０１０７】
【式２７】
Ａ２０ｘ６＋Ａ２１ｘ５＋Ａ２２ｘ４＋Ａ２３ｘ３
【０１０８】
【式２８】
Ａ２４ｘ２＋Ａ２５ｘ＋Ａ２７＝Ａ２０ｘ６＋Ａ２１ｘ５
＋Ａ２２ｘ４＋Ａ２３ｘ３  ｍｏｄＧ(ｘ)
【０１０９】
また、チェックシンボルＡ２６は情報シンボルＡ２０〜Ａ２３、チェックシンボルＡ２４、Ａ２５、Ａ２７のチェック和として計算される（式２９）。
【０１１０】
【式２９】
Ａ２６＝Ａ２０＋Ａ２１＋Ａ２２＋Ａ２３＋Ａ２４＋Ａ２５＋Ａ２７
【０１１１】
Ａ２６を除くシンボル(Ａ２０，Ａ２１，Ａ２２，Ａ２３，Ａ２４，Ａ２５，Ａ２７)を式３０に示すＲＳ符号の多項式に対応させる。即ち、Ａ２７を６次の係数、Ａ２０を５次の係数、Ａ２１を４次の係数、Ａ２２を３次の係数、Ａ２３を２次の係数、Ａ２４を１次の係数、Ａ２５を定数項に対応させる。
【０１１２】
【式３０】
Ａ２７ｘ６＋Ａ２０ｘ５＋Ａ２１ｘ４＋Ａ２２ｘ３＋Ａ２３ｘ２
＋Ａ２４ｘ＋Ａ２５
【０１１３】
次に第４行の符号化について説明する。第４行の情報シンボル(Ａ３０，Ａ３１，Ａ３２，Ａ３３)を式３１の多項式で表す。第４行のチェックシンボル(Ａ３４，Ａ３５，Ａ３６)は式３１の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式３２）。
【０１１４】
【式３１】
Ａ３０ｘ６＋Ａ３１ｘ５＋Ａ３２ｘ４＋Ａ３３ｘ３＋
【０１１５】
【式３２】
Ａ３４ｘ２＋Ａ３５ｘ＋Ａ３６＝Ａ３０ｘ６＋Ａ３１ｘ５＋Ａ３２ｘ４
＋Ａ３３ｘ３  ｍｏｄＧ(ｘ)
【０１１６】
また、チェックシンボルＡ３７は情報シンボルＡ３０〜Ａ３３、チェックシンボルＡ３４、Ａ３５、Ａ３６のチェック和として計算される（式３３）。
【０１１７】
【式３３】
Ａ３７＝Ａ３０＋Ａ３１＋Ａ３２＋Ａ３３＋Ａ３４＋Ａ３５＋Ａ３６
【０１１８】
Ａ３７を除くシンボル(Ａ３０，Ａ３１，Ａ３２，Ａ３３，Ａ３４，Ａ３５，Ａ３６)を式３４に示すＲＳ符号の多項式に対応させる。即ち、Ａ３０を６次の係数、Ａ３１を５次の係数、Ａ３２を４次の係数、Ａ３３を３次の係数、Ａ３４を２次の係数、Ａ３５を１次の係数、Ａ３６を定数項に対応させる。
【０１１９】
【式３４】
Ａ３０ｘ６＋Ａ３１ｘ５＋Ａ３２ｘ４＋Ａ３３ｘ３＋Ａ３４ｘ２
＋Ａ３５ｘ＋Ａ３６
【０１２０】
これでステップ２のＣ２符号の符号化が完了する。次にステップ３において対角線方向にＣ１符号の符号化を行う。まず、第１の対角線(Ａ００，Ａ１１，Ａ２２，Ａ３３)の符号化方法について説明する。(Ａ００，Ａ１１，Ａ２２，Ａ３３)を式３５の多項式で表す。第１対角線のチェックシンボル(Ａ４４，Ａ５５，Ａ６６)は式３５の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式３６）。
【０１２１】
【式３５】
Ａ００ｘ６＋Ａ１１ｘ５＋Ａ２２ｘ４＋Ａ３３ｘ３
【０１２２】
【式３６】
Ａ４４ｘ２＋Ａ５５ｘ＋Ａ６６＝Ａ００ｘ６＋Ａ１１ｘ５
＋Ａ２２ｘ４＋Ａ３３ｘ３  ｍｏｄＧ(ｘ)
【０１２３】
なお、(Ａ００，Ａ１１，Ａ２２，Ａ３３，Ａ４４，Ａ５５，Ａ６６)は式３７に示すＲＳ符号の多項式で表される。
【０１２４】
【式３７】
Ａ００ｘ６＋Ａ１１ｘ５＋Ａ２２ｘ４＋Ａ３３ｘ３＋Ａ４４ｘ２
＋Ａ５５ｘ＋Ａ６６
また、チェックシンボルＡ７７は式３７の係数のチェック和として計算される（式３８）。
【０１２５】
【式３８】
Ａ７７＝Ａ００＋Ａ１１＋Ａ２２＋Ａ３３＋Ａ４４＋Ａ５５＋Ａ６６
【０１２６】
次に、第２の対角線(Ａ０１，Ａ１２，Ａ２３，Ａ３４)の符号化方法について説明する。(Ａ０１，Ａ１２，Ａ２３，Ａ３４)を式３９の多項式で表す。第２対角線のチェックシンボル(Ａ４５，Ａ５６，Ａ６７)は式３９の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式４０）。
【０１２７】
【式３９】
Ａ０１ｘ６＋Ａ１２ｘ５＋Ａ２３ｘ４＋Ａ３４ｘ３
【０１２８】
【式４０】
Ａ４５ｘ２＋Ａ５６ｘ＋Ａ６７＝Ａ０１ｘ６＋Ａ１２ｘ５
＋Ａ２３ｘ４＋Ａ３４ｘ３  ｍｏｄＧ(ｘ)
【０１２９】
なお、(Ａ０１，Ａ１２，Ａ２３，Ａ３４，Ａ４５，Ａ５６，Ａ６７)は式４１に示すＲＳ符号の多項式で表される。
【０１３０】
【式４１】
Ａ０１ｘ６＋Ａ１２ｘ５＋Ａ２３ｘ４＋Ａ３４ｘ３＋Ａ４５ｘ２
＋Ａ５６ｘ＋Ａ６７
また、チェックシンボルＡ７０は式４１の係数のチェック和として計算される（式４２）。
【０１３１】
【式４２】
Ａ７０＝Ａ０１＋Ａ１２＋Ａ２３＋Ａ３４＋Ａ４５＋Ａ５６＋Ａ６７
【０１３２】
一般に第（ｋ＋１）の対角線(Ａ０ｋ，Ａ１(ｋ＋１)，Ａ２(ｋ＋２)，Ａ３(ｋ＋３))の符号化も上述した第１および第２の対角線の符号化と同様である。ただし、インデックスの括弧()は８を法とすることを表す。例えば、(８)＝０、(９)＝１など。即ち、(Ａ０ｋ，Ａ１(ｋ＋１)，Ａ２(ｋ＋２)，Ａ３(ｋ＋３))を式４３の多項式で表すと、第（ｋ＋１）対角線のチェックシンボル(Ａ４(ｋ＋４)，Ａ５(ｋ＋５)，Ａ６(ｋ＋６))は式４３の多項式を符号生成多項式Ｇ(ｘ)で除算したときの剰余多項式の係数として計算される（式４４）。
【０１３３】
【式４３】
Ａ０(ｋ)ｘ６＋Ａ１(ｋ＋１)ｘ５＋Ａ２(ｋ＋２)ｘ４
＋Ａ３(ｋ＋３)ｘ３
【０１３４】
【式４４】
Ａ４(ｋ＋４)ｘ２＋Ａ５(ｋ＋５)ｘ＋Ａ６(ｋ＋６)
＝Ａ０(ｋ)ｘ６＋Ａ１(ｋ＋１)ｘ５＋Ａ２(ｋ＋２)ｘ４
＋Ａ３(ｋ＋３)ｘ３  ｍｏｄＧ(ｘ)
【０１３５】
このとき、(Ａ０(ｋ)，Ａ１(ｋ＋１)，Ａ２(ｋ＋２)，Ａ３(ｋ＋３)，Ａ４(ｋ＋４)，Ａ５(ｋ＋５)，Ａ６(ｋ＋６))は式４５に示すＲＳ符号の多項式で表される。
【０１３６】
【式４５】
Ａ０(ｋ)ｘ６＋Ａ１(ｋ＋１)ｘ５＋Ａ２(ｋ＋２)ｘ４＋Ａ３(ｋ＋３)ｘ３
＋Ａ４(ｋ＋４)ｘ２＋Ａ５(ｋ＋５)ｘ＋Ａ６(ｋ＋６)
また、チェックシンボルＡ７(ｋ＋７)は式４５の係数のチェック和として計算される（式４６）。
【０１３７】
【式４６】
Ａ７(ｋ＋７)＝Ａ０(ｋ)＋Ａ１(ｋ＋１)＋Ａ２(ｋ＋２)＋Ａ３(ｋ＋３)
＋Ａ４(ｋ＋４)＋Ａ５(ｋ＋５)＋Ａ６(ｋ＋６)
【０１３８】
第８対角線の符号化まで完了すると、８行８列の積符号Ｃが構成される。ここでステップ３のＣ１符号の符号化で生成された第５行から第８行はＣ２符号の符号となることが分かる。例えば、第５行のＡ４０を除く７シンボルは式４７の多項式で表されるＲＳ符号になっている。
【０１３９】
【式４７】
Ａ４１ｘ６＋Ａ４２ｘ５＋Ａ４３ｘ４＋Ａ４４ｘ３＋Ａ４５ｘ２
＋Ａ４６ｘ＋Ａ４７
また、Ａ４０は式４７の係数のチェック和となっている（式４８）。
【０１４０】
【式４８】
Ａ４０＝Ａ４１＋Ａ４２＋Ａ４３＋Ａ４４＋Ａ４５＋Ａ４６＋Ａ４７
第６行ではＡ５１を除く７シンボルが式４９の多項式で表されるＲＳ符号になっている。
【０１４１】
【式４９】
Ａ５２ｘ６＋Ａ５３ｘ５＋Ａ５４ｘ４＋Ａ５５ｘ３＋Ａ５６ｘ２
＋Ａ５７ｘ＋Ａ５０
また、Ａ５１は式４９の係数のチェック和となっている（式５０）。
【０１４２】
【式５０】
Ａ５１＝Ａ５２＋Ａ５３＋Ａ５４＋Ａ５５＋Ａ５６＋Ａ５７＋Ａ５０
第７行ではＡ６２を除く７シンボルが式５１の多項式で表されるＲＳ符号になっている。
【０１４３】
【式５１】
Ａ６３ｘ６＋Ａ６４ｘ５＋Ａ６５ｘ４＋Ａ６６ｘ３＋Ａ６７ｘ２
＋Ａ６０ｘ＋Ａ６１
また、Ａ６２は式５１の係数のチェック和となっている（式５２）。
【０１４４】
【式５２】
Ａ６２＝Ａ６３＋Ａ６４＋Ａ６５＋Ａ６６＋Ａ６７＋Ａ６０＋Ａ６１
第８行ではＡ７３を除く７シンボルが式５３の多項式で表されるＲＳ符号になっている。
【０１４５】
【式５３】
Ａ７４ｘ６＋Ａ７５ｘ５＋Ａ７６ｘ４＋Ａ７７ｘ３＋Ａ７０ｘ２
＋Ａ７１ｘ＋Ａ７２
また、Ａ７３は式５３の係数のチェック和となっている（式５４）。
【０１４６】
【式５４】
Ａ７３＝Ａ７４＋Ａ７５＋Ａ７６＋Ａ７７＋Ａ７０＋Ａ７１＋Ａ７２
【０１４７】
このように本実施の形態の積符号の符号化方法を用いれば、拡大パリティを有する符号においても一方の符号を水平方向に符号化し、他方を対角線方向に符号化することで積符号を構成することができる。また、上の例ではステップ２において水平方向にＣ２符号の符号化を行い、次いでステップ３において対角線方向にＣ１符号の符号化を行っているが、逆にステップ２において垂直方向にＣ１符号の符号化を行い、次に対角線方向にＣ２符号の符号化を行ってもよい。また、Ｃ１符号とＣ２符号の情報長が一致する場合について説明したが、符号長が一致するものであれば情報長が異なる場合にも同様に一方を水平または垂直方向とし、他方を対角線方向に符号化することで積符号を構成することができる。
【０１４８】
実施の形態３．
実施の形態２で述べた積符号Ｃの復号について説明する。なお、積符号Ｃの伝送手順は従来技術で説明したように列毎（８シンボル並列）に伝送するものと仮定する。
図１３は積符号Ｃの復号装置の構成を示すブロック図で、メモリ＃０から＃７は積符号を格納するためのメモリ群、復号器＃０から＃７は符号長８、情報長４の拡大ＲＳ符号の復号器群、１はメモリ群から供給される読み出しデータを並べ替える第１の並べ替え器、２は復号器群から供給される復号シンボルを並べ替える第２の並べ替え器である。なお、復号器は１時点に１シンボルずつ入力を受け付け、全シンボルの入力が完了してからある一定の遅延後に入力されたシンボル順に復号シンボルを出力するものと仮定する。
【０１４９】
まず、受信された積符号Ｃがメモリ群に格納される。積符号Ｃの第１行はメモリ＃０に、第２行はメモリ＃１に、第３行はメモリ＃２に、第４行はメモリ＃３に、第５行はメモリ＃４に、第６行はメモリ＃５に、第７行はメモリ＃６に、第８行はメモリ＃７にそれぞれ格納される。図１４にシンボルとメモリ／アドレスの対応を示す。
【０１５０】
図１３の復号装置は第１および第２の並べ替え器の制御によりＣ１符号とＣ２符号を復号することができる。以下ではＣ２符号を復号し、次にＣ１符号を復号する場合について説明する。まず、Ｃ２符号(行方向)を復号する場合について説明する。Ｃ２符号の復号時は第１の並べ替え器の端子Ａ０は端子Ｂ０に、端子Ａ１は端子Ｂ１に、端子Ａ２は端子Ｂ２に、端子Ａ３は端子Ｂ３に、端子Ａ４は端子Ｂ４に、端子Ａ５は端子Ｂ５に、端子Ａ６は端子Ｂ６に、端子Ａ７は端子Ｂ７にそれぞれ接続され、また、第２の並べ替え器の端子Ｂ０は端子Ａ０に、端子Ｂ１は端子Ａ１に、端子Ｂ２は端子Ａ２に、端子Ｂ３は端子Ａ３に、端子Ｂ４は端子Ａ４に、端子Ｂ５は端子Ａ５に、端子Ｂ６は端子Ａ６に、端子Ｂ７は端子Ａ７にそれぞれ接続される。
【０１５１】
まず、時点０において
メモリ＃０のアドレス０に格納されているＡ００が読み出されて第１の並べ替え器の端子Ａ０に、
メモリ＃１のアドレス０に格納されているＡ１０が読み出されて端子Ａ１に、
メモリ＃２のアドレス０に格納されているＡ２０が読み出されて端子Ａ２に、
メモリ＃３のアドレス０に格納されているＡ３０が読み出されて端子Ａ３に、
メモリ＃４のアドレス０に格納されているＡ４０が読み出されて端子Ａ４に、
メモリ＃５のアドレス０に格納されているＡ５０が読み出されて端子Ａ５に、
メモリ＃６のアドレス０に格納されているＡ６０が読み出されて端子Ａ６に、
メモリ＃７のアドレス０に格納されているＡ７０が読み出されて端子Ａ７にそれぞれ入力される。
【０１５２】
第１の並べ替え器の端子Ａ０に入力されたシンボルＡ００は端子Ｂ０から復号器＃０に、
端子Ａ１に入力されたシンボルＡ１０は端子Ｂ１から復号器＃１に、
端子Ａ２に入力されたシンボルＡ２０は端子Ｂ２から復号器＃２に、
端子Ａ３に入力されたシンボルＡ３０は端子Ｂ３から復号器＃３に、
端子Ａ４に入力されたシンボルＡ４０は端子Ｂ４から復号器＃４に、
端子Ａ５に入力されたシンボルＡ５０は端子Ｂ５から復号器＃５に、
端子Ａ６に入力されたシンボルＡ６０は端子Ｂ６から復号器＃６に、
端子Ａ７に入力されたシンボルＡ７０は端子Ｂ７から復号器＃７にそれぞれ入力される。
【０１５３】
同様にして時点１から時点７まで順次、メモリ群に格納されたシンボルが第１の並べ替え器を介して復号器群に供給される。図１５にこの様子を模式的に示す。
メモリ＃０のシンボルは第１の並べ替え器の端子Ａ０から端子Ｂ０を経て復号器＃０に入力され、
メモリ＃１のシンボルは端子Ａ１から端子Ｂ１を経て復号器＃１に入力され、
メモリ＃２のシンボルは端子Ａ２から端子Ｂ２を経て復号器＃２に入力され、
メモリ＃３のシンボルは端子Ａ３から端子Ｂ３を経て復号器＃３に入力され、
メモリ＃４のシンボルは端子Ａ４から端子Ｂ４を経て復号器＃４に入力され、
メモリ＃５のシンボルは端子Ａ５から端子Ｂ５を経て復号器＃５に入力され、
メモリ＃６のシンボルは端子Ａ６から端子Ｂ６を経て復号器＃６に入力され、
メモリ＃７のシンボルは端子Ａ７から端子Ｂ７を経て復号器＃７に入力される。
【０１５４】
時点ｋ（ｋ＝０,１,…,７）において第１の並べ替え器の端子Ｂｊ（ｊ＝０,１,…,７）から出力されたシンボルをＢｊｋと表す。Ｂｊｋは時点ｋにおいて復号器＃ｊに入力されるシンボルである。復号器＃０には時点０から時点７まで、Ｂ００、Ｂ０１、Ｂ０２、Ｂ０３、Ｂ０４、Ｂ０５、Ｂ０６、Ｂ０７の順でシンボルが入力される。このシンボル系列は積符号の第１行の拡大ＲＳ符号に対応し、１シンボルずつ入力を受け付ける復号器で復号することができる。同様に復号器＃１は積符号の第２行を、
復号器＃１は積符号の第２行を、
復号器＃２は積符号の第３行を、
復号器＃３は積符号の第４行を、
復号器＃４は積符号の第５行を、
復号器＃５は積符号の第６行を、
復号器＃６は積符号の第７行を、
復号器＃７は積符号の第８行をそれぞれ復号する。なお、拡大ＲＳ符号の復号器は公知であるので詳細は省略する。
【０１５５】
復号器はある一定の復号遅延を経て復号結果を入力順に出力する。図１６は復号シンボルが順次に出力される様子を模式的に表したものである。たとえば、時点０では復号器＃０からＢ００、復号器＃１からＢ１０、復号器＃２からＢ２０、復号器＃３からＢ３０、復号器＃４からＢ４０、復号器＃５からＢ５０、復号器＃７からＢ７０がそれぞれ出力される。
復号器から出力された復号シンボルは第２の並べ替え器に入力される。
復号器＃０から出力された復号シンボルは第２の並べ替え器の端子Ｂ０に、
復号器＃１から出力された復号シンボルは端子Ｂ１に、
復号器＃２から出力された復号シンボルは端子Ｂ２に、
復号器＃３から出力された復号シンボルは端子Ｂ３に、
復号器＃４から出力された復号シンボルは端子Ｂ４に、
復号器＃５から出力された復号シンボルは端子Ｂ５に、
復号器＃６から出力された復号シンボルは端子Ｂ６に、
復号器＃７から出力された復号シンボルは端子Ｂ７にそれぞれ入力される。
【０１５６】
第２の並べ替え器の端子Ｂ０に入力された復号シンボルは端子Ａ０を経てメモリ＃０の所定のアドレスに格納され、
端子Ｂ１に入力された復号シンボルは端子Ａ１を経てメモリ＃１の所定のアドレスに格納され、
端子Ｂ２に入力された復号シンボルは端子Ａ２を経てメモリ＃２の所定のアドレスに格納され、
端子Ｂ３に入力された復号シンボルは端子Ａ３を経てメモリ＃３の所定のアドレスに格納され、
端子Ｂ４に入力された復号シンボルは端子Ａ４を経てメモリ＃４の所定のアドレスに格納され、
端子Ｂ５に入力された復号シンボルは端子Ａ５を経てメモリ＃５の所定のアドレスに格納され、
端子Ｂ６に入力された復号シンボルは端子Ａ６を経てメモリ＃６の所定のアドレスに格納され、
端子Ｂ７に入力された復号シンボルは端子Ａ７を経てメモリ＃７の所定のアドレスに格納される。
即ち、時点ｋにおいて第２の並べ替え器の端子Ｂｊに入力された復号シンボルＢｊｋは端子Ａｊを経てメモリ＃ｊのアドレスｋに格納される（ｊ＝０,１,…,７,ｋ＝０,１,…,７）。時点７において復号シンボルがメモリに格納されると、Ｃ１符号の復号が完了する。
【０１５７】
次にＣ１符号（対角線方向の符号）の復号について説明する。なお、以下の説明ではメモリに格納された復号シンボルＢｊｋを復号前のシンボルと同じＡｊｋで表す。Ｃ１符号の復号の場合も図１５に示すＣ２符号の復号の場合と同様にメモリ群の先頭アドレスより読み出されたシンボル列が第１の並べ替え器に入力される。即ち、時点ｋにおいてメモリ＃ｊのシンボルＡｊｋが読み出されては第１の並べ替え器の端子Ａｊに入力される。
【０１５８】
並べ替え器に入力された８シンボルは時点ごとに定められた置換パターンにより並べ替えが施されて出力端子Ｂ０、Ｂ１、…、Ｂ７から出力される。図１７に各時点における第１の並べ替え器の入力端子と出力端子の接続関係を示す。
例えば、時点０において入力端子Ａ０に入力されたシンボル（Ａ００）は出力端子Ｂ０から出力され、
入力端子Ａ１に入力されたシンボル（Ａ１０）は出力端子Ｂ７から出力され、
入力端子Ａ２に入力されたシンボル（Ａ２０）は出力端子Ｂ６から出力され、
入力端子Ａ３に入力されたシンボル（Ａ３０）は出力端子Ｂ５から出力され、
入力端子Ａ４に入力されたシンボル（Ａ４０）は出力端子Ｂ４から出力され、
入力端子Ａ５に入力されたシンボル（Ａ５０）は出力端子Ｂ３から出力され、
入力端子Ａ６に入力されたシンボル（Ａ６０）は出力端子Ｂ２から出力され、
入力端子Ａ７に入力されたシンボル（Ａ７０）は出力端子Ｂ１から出力される。
【０１５９】
出力端子Ｂｊから出力されたシンボルは復号器＃ｊに入力される。時点ｋ（ｋ＝０,１,…，７）において出力端子Ｂｊ（ｊ＝０,１,…，７）から出力されるシンボルをＢｊｋと表す。例えば、出力端子Ｂ０からＢ００（Ａ００）が、出力端子Ｂ１からＢ１０（Ａ７０）が、出力端子Ｂ２からＢ２０（Ａ６０）が、出力端子Ｂ３からＢ３０（Ａ５０）が、出力端子Ｂ４からＢ４０（Ａ４０）が、出力端子Ｂ５からＢ５０（Ａ３０）が、出力端子Ｂ６からＢ６０（Ａ２０）が、出力端子Ｂ７からＢ７０（Ａ１０）がそれぞれ出力される。
【０１６０】
このとき、復号器＃０には時点０から時点７まで順にＢ００、Ｂ０１、Ｂ０２、Ｂ０３、Ｂ０４、Ｂ０５、Ｂ０６、Ｂ０７が入力されるが、これはＡ００、Ａ１１、Ａ２２、Ａ３３、Ａ４４、Ａ５５、Ａ６６、Ａ７７に対応し、積符号Ｃの第１対角線の拡大ＲＳ符号になっている。
【０１６１】
また、復号器＃１には時点０から時点７までにＢ１０、Ｂ１１、Ｂ１２、Ｂ１３、Ｂ１４、Ｂ１５、Ｂ１６、Ｂ１７が入力されるが、これはＡ７０、Ａ０１、Ａ１２、Ａ２３、Ａ３４、Ａ４５、Ａ５６、Ａ６７に対応し、積符号Ｃの第２対角線の拡大ＲＳ符号になっている。
また、復号器＃２には時点０から時点７までにＢ２０、Ｂ２１、Ｂ２２、Ｂ２３、Ｂ２４、Ｂ２５、Ｂ２６、Ｂ２７が入力されるが、これはＡ６０、Ａ７１、Ａ０２、Ａ１３、Ａ２４、Ａ３５、Ａ４６、Ａ５７に対応し、積符号Ｃの第３対角線の拡大ＲＳ符号になっている。
【０１６２】
また、復号器＃３には時点０から時点７までにＢ３０、Ｂ３１、Ｂ３２、Ｂ３３、Ｂ３４、Ｂ３５、Ｂ３６、Ｂ３７が入力されるが、これはＡ５０、Ａ６１、Ａ７２、Ａ０３、Ａ１４、Ａ２５、Ａ３６、Ａ４７に対応し、積符号Ｃの第４対角線の拡大ＲＳ符号になっている。
また、復号器＃４には時点０から時点７までにＢ４０、Ｂ４１、Ｂ４２、Ｂ４３、Ｂ４４、Ｂ４５、Ｂ４６、Ｂ４７が入力されるが、これはＡ４０、Ａ５１、Ａ６２、Ａ７３、Ａ０４、Ａ１５、Ａ２６、Ａ３７に対応し、積符号Ｃの第５対角線の拡大ＲＳ符号になっている。
【０１６３】
また、復号器＃５には時点０から時点７までにＢ５０、Ｂ５１、Ｂ５２、Ｂ５３、Ｂ５４、Ｂ５５、Ｂ５６、Ｂ５７が入力されるが、これはＡ３０、Ａ４１、Ａ５２、Ａ６３、Ａ７４、Ａ０５、Ａ１６、Ａ２７に対応し、積符号Ｃの第６対角線の拡大ＲＳ符号になっている。
また、復号器＃６には時点０から時点７までにＢ６０、Ｂ６１、Ｂ６２、Ｂ６３、Ｂ６４、Ｂ６５、Ｂ６６、Ｂ６７が入力されるが、これはＡ２０、Ａ３１、Ａ４２、Ａ５３、Ａ６４、Ａ７５、Ａ０６、Ａ１７に対応し、積符号Ｃの第７対角線の拡大ＲＳ符号になっている。
また、復号器＃７には時点０から時点７までにＢ７０、Ｂ７１、Ｂ７２、Ｂ７３、Ｂ７４、Ｂ７５、Ｂ７６、Ｂ７７が入力されるが、これはＡ１０、Ａ２１、Ａ３２、Ａ４３、Ａ５４、Ａ６５、Ａ７６、Ａ０７に対応し、積符号Ｃの第８対角線の拡大ＲＳ符号になっている。
【０１６４】
このように各復号器はＣ１符号のシンボルを１時点に１シンボルずつ受け付けるので１シンボルずつ入力を受け付ける復号器で復号することができる。復号器は一定の遅延の後に入力順に復号シンボルを出力する。図１６と同様に復号器＃０から出力される復号シンボルは第２の並べ替え器の端子Ｂ０に入力され、
復号器＃１から出力される復号シンボルは端子Ｂ１に入力され、
復号器＃２から出力される復号シンボルは端子Ｂ２に入力され、
復号器＃３から出力される復号シンボルは端子Ｂ３に入力され、
復号器＃４から出力される復号シンボルは端子Ｂ４に入力され、
復号器＃５から出力される復号シンボルは端子Ｂ５に入力され、
復号器＃６から出力される復号シンボルは端子Ｂ６に入力され、
復号器＃７から出力される復号シンボルは端子Ｂ７に入力される。
【０１６５】
図１８は各時点における第２の並べ替え器の入力端子と出力端子の接続関係を示す表である。
例えば、時点０において入力端子Ｂ０に入力されたシンボル（Ｂ００）は出力端子Ａ０から出力され、
入力端子Ｂ１に入力されたシンボル（Ｂ１０）は出力端子Ａ７から出力され、
入力端子Ｂ２に入力されたシンボル（Ｂ２０）は出力端子Ａ６から出力され、
入力端子Ｂ３に入力されたシンボル（Ｂ３０）は出力端子Ａ５から出力され、
入力端子Ｂ４に入力されたシンボル（Ｂ４０）は出力端子Ａ４から出力され、
入力端子Ｂ５に入力されたシンボル（Ｂ５０）は出力端子Ａ３から出力され、
入力端子Ｂ６に入力されたシンボル（Ｂ６０）は出力端子Ａ２から出力され、
入力端子Ｂ７に入力されたシンボル（Ｂ７０）は出力端子Ａ１から出力される。
これは図１７に示す第１の並べ替え器の入力端子と出力端子の接続関係の逆変換になっている。
【０１６６】
時点ｋにおいて端子Ａｊから出力された復号シンボルＢｊｋはメモリ＃ｊのアドレスｋに格納される（ｊ＝０,１,…,７, ｋ＝０,１,…,７）。時点７において復号シンボルがメモリに格納されると、Ｃ１符号の復号が完了する。これでＣ２符号およびＣ１符号のそれぞれ1回の復号が完了する。
【０１６７】
本実施の形態の積符号の積符号の復号装置は上述したように構成されるので、伝送方向をＣ２符号の符号化方向（水平方向）とした場合、Ｃ２符号はもちろん、対角線方向のＣ１符号の復号も並列に行うことができる利点がある。なお、上の例ではＣ１符号およびＣ２符号それぞれ１回のみ復号する例について説明したが、多数回繰り返してもよいことは言うまでもない。また、Ｃ２符号の復号で訂正不可能が検出された場合、対応する符号シンボルを消失シンボルとして次段のＣ１符号の復号において消失訂正を行えば復号特性を大幅に改善できる。
【０１６８】
実施の形態４．
実施の形態３では積符号Ｃをメモリに格納してからＣ１およびＣ２符号の復号を行ったが、拡大ＲＳ符号の復号器と第１および第２の並べ替え器をパイプラインで接続すればより高速の復号装置が得られる。
図１９は本願発明の積符号の復号装置の他の実施例を示すブロック図で、復号器＃０から＃７は実施の形態３で説明した符号長８、情報長４の拡大ＲＳ符号の復号器、１は第１の並べ替え器、２は第２の並べ替え器である。実施の形態３の積符号Ｃの復号装置では受信シンボルをメモリに一旦格納してからＣ２符号の復号を行い、Ｃ２符号の復号が完了してからＣ１符号の復号を行ったが、本実施の形態の復号装置では受信シンボルの入力と同時にＣ２符号の復号を行い、出力される復号シンボル列を次段のＣ１符号の復号の入力シンボル列として即座に復号を開始できる。
【０１６９】
このように本実施の形態の復号装置では復号に要する遅延を大幅に削減できる効果がある。なお、図ではパイプライン構成によりＣ１およびＣ２符号の復号をそれぞれ２回行っているが、１回またはより多数回の復号も可能である。また、最終段前のＣ２符号の復号において訂正不可能を検出した場合に対応する符号のシンボルを消失シンボルとして最終段のＣ１符号の復号において消失訂正を行うなどの変形例も考えられる。
【０１７０】
【発明の効果】
この発明は、積符号の一方の符号を水平方向に符号化し、他方の符号を対角線方向に符号化しているので、符号化装置の回路規模、特にメモリを削減できる効果がある。
【０１７１】
また、拡大パリティを有する符号においても一方の符号を水平方向に符号化し、他方を対角線方向に符号化することで積符号を構成することができ、符号化装置の回路規模、特にメモリを削減できる。
【０１７２】
また、伝送方向をＣ２符号の符号化方向（水平方向）とした場合、Ｃ２符号はもちろん、対角線方向のＣ１符号の復号も並列に行うことができる利点がある。また、Ｃ２符号の復号で訂正不可能が検出された場合、対応する符号シンボルを消失シンボルとして次段のＣ１符号の復号において消失訂正を行えば復号特性を大幅に改善できる。
【０１７３】
また、符号の復号器と第１および第２の並べ替え器をパイプラインで接続するので、より高速の復号装置が得られる。
また、この発明の復号装置では受信シンボルの入力と同時にＣ２符号の復号を行い、出力される復号シンボル列を次段のＣ１符号の復号の入力シンボル列として即座に復号を開始でき、復号に要する遅延を大幅に削減できる効果がある。
【図面の簡単な説明】
【図１】積符号の一般的な構成を示す図である。
【図２】積符号の具体例を示す図である。
【図３】積符号の従来の符号化フローチャートである。
【図４】積符号の並列伝送を示す図である。
【図５】積符号のシンボルと復号器の対応を示す図である。
【図６】実施の形態１の積符号の符号化フローチャートである。
【図７】実施の形態１の積符号の符号化装置の構成を示すブロック図である。
【図８】ＲＳ符号の符号化器の構成を示すブロック図である。
【図９】図７の動作を説明するための図である。
【図１０】図７の動作を説明するための図である。
【図１１】図７の動作を説明するための図である。
【図１２】実施の形態２の積符号の符号化フローチャートである。
【図１３】実施の形態３の積符号の復号装置の構成を示すブロック図である。
【図１４】図７の動作を説明するための図である。
【図１５】図７の動作を説明するための図である。
【図１６】図７の動作を説明するための図である。
【図１７】図７の動作を説明するための図である。
【図１８】図７の動作を説明するための図である。
【図１９】実施の形態４の積符号の復号装置の構成を示すブロック図である。
【符号の説明】
Ｐ：入力端子、Ｄ０、Ｄ１、Ｄ２：１記憶素子、２Ａ、２Ｂ、２Ｃ：排他的論理和、ｇ０、ｇ１、ｇ２：係数乗算器、ＳＷ１：第１のスイッチ、ＳＷ２：第２のスイッチ、Ｑ：出力端子である。
【図１】
0003676267.tif 000002
【図２】
0003676267.tif 000003
【図３】
0003676267.tif 000004
【図４】
0003676267.tif 000005
【図５】
0003676267.tif 000006
【図６】
0003676267.tif 000007
【図７】
0003676267.tif 000008
【図８】
0003676267.tif 000009
【図９】
0003676267.tif 000010
【図１０】
0003676267.tif 000011
【図１１】
0003676267.tif 000012
【図１２】
0003676267.tif 000013
【図１３】
0003676267.tif 000014
【図１４】
0003676267.tif 000015
【図１５】
0003676267.tif 000016
【図１６】
0003676267.tif 000017
【図１７】
0003676267.tif 000018
【図１８】
0003676267.tif 000019
【図１９】
0003676267.tif 000020