"擬似巡回型低密度パリティ検査符号を構成するための符号化装置において、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成する検査行列生成手段と、入力されるメッセージから前記ブロック型検査行列によって符号語を生成して出力する符号化手段とを有し、さらに、前記検査行列生成手段は、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定する次数割当部と、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定する重み分布決定部と、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とする第1の次数変更部と、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定する第2の次数変更部とを有することを特徴とする符号化装置。前記検査行列生成手段の前記重み分布決定部が、前記ブロック型検査行列のq1個の列ブロックの、右端r-1個の列ブロックと前記第k_r列ブロックを除くq1-r個の列ブロックの中で、q1-n個の列ブロックの成分のすべてを零行列として定義すると共に、前記検査行列生成手段が、成分のすべてが零行列であるq1-n個の列ブロックを削除する列ブロック削除部を備えることを特徴とする、請求項1に記載の符号化装置。前記符号化手段が、前記検査行列生成手段が生成した前記ブロック型検査行列および前記マスクパターンを記憶する行列データ保存用メモリと、前記メッセージの情報ビット列と有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定した整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列との行列積を算出するr個の行列乗算装置と、前記行列乗算装置への入力信号を前記行列データ保存用メモリに保持された前記マスクパターンによって切り替えるためのセレクタとを有することを特徴とする、請求項1または請求項2に記載の符号化装置。前記行列データ保存用メモリが、複数の前記ブロック型検査行列のすべての列ブロックにおいて、該列ブロック中の成分が非零の巡回置換行列であるすべての行ブロックの行番号を保持する機能と、前記セレクタへの入力信号を前記ブロック型検査行列の各々に対して変える機能とを備えることを特徴とする、請求項3に記載の符号化装置。擬似巡回型低密度パリティ検査符号を構成するための誤り訂正符号構成方法において、検査行列生成手段により、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成し、前記符号化手段により、前記生成したブロック型検査行列によって、入力されるメッセージから符号語を生成して出力し、さらに、ブロック型検査行列を生成する際、次数割当部により、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定し、重み分布決定部により、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定し、第1の次数変更部により、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とし、第2の次数変更部により、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定することを特徴とする誤り訂正符号構成方法。前記検査行列生成手段が生成した前記ブロック型検査行列および前記マスクパターンを前記符号化手段の行列データ保存用メモリに記憶し、前記行列データ保存用メモリに保持された前記マスクパターンによって入力信号を前記符号化手段のセレクタが切り替え、前記メッセージの情報ビット列と有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定した整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列との行列積を前記符号化手段の行列乗算装置が算出することを特徴とする、請求項5に記載の誤り訂正符号構成方法。擬似巡回型低密度パリティ検査符号を構成するための誤り訂正符号構成プログラムにおいて、コンピュータに、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成する機能と、前記生成したブロック型検査行列によって、入力されるメッセージから符号語を生成して出力する機能とを実行させ、さらに、前記コンピュータに、ブロック型検査行列を生成する際、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定する機能と、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定する機能と、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とする機能と、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定する機能とを実行させることを特徴とする誤り訂正符号構成プログラム。前記コンピュータに、前記生成した前記ブロック型検査行列および前記マスクパターンを行列データ保存用メモリに記憶する機能と、前記行列データ保存用メモリに保持された前記マスクパターンによって入力信号を切り替える機能と、前記メッセージの情報ビット列と有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定した整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列との行列積を算出する機能とを実行させることを特徴とする、請求項7に記載の誤り訂正符号構成プログラム。上記の技術によって決定された数4の形を持つ検査行列は、一般に、各次数ui,jの値の間に規則性がなくランダムなため、符号化、あるいは復号装置の構成において必要となる検査行列を保持するために、k_rlog2_mという次元の記憶領域が必要となる。しかしながら、ui,jの値の間に規則性があると、誤り率特性を劣化させることとなる。従って、該擬似巡回型LDPC符号の符号化装置と復号装置において必要となる検査行列の保持に、多くの記憶領域が必要となる。特に、通信路の状況等の要因に応じて、符号化率、フレーム長、誤り率特性等の異なる、複数のLDPC符号を使い分ける通信システムにおいては、検査行列の保持により多くの記憶領域が必要となるとともに、符号化装置の切り替えに要する時間が大きくなるという問題が生じる。特許文献1および2は、以上の問題点を解決しようとするものではあり、複数のLDPC符号を使い分ける際に必要となる記憶領域を削減する効果はある。しかしながら、その切り替えに要する時間を小さくするという点については特に考慮されていないし、その点について解決するものではない。この点は、特許文献3や非特許文献1~4の技術においても考慮されていないので、それらの技術を組み合わせても解決されるものではない。本発明の目的は、複数の低密度パリティ検査符号LDPC符号を使い分ける際に必要であった記憶領域を削減し、かつその使い分けの際の切り替えに要する時間を小さくすることを可能とする符号化装置、誤り訂正符号構成方法およびそのプログラムを提供することにある。上記目的を達成するため、本発明に係る符号化装置は、擬似巡回型低密度パリティ検査符号を構成するための符号化装置において、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成する検査行列生成手段と、入力されるメッセージからブロック型検査行列によって符号語を生成して出力する符号化手段とを有し、さらに、前記検査行列生成手段が、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定する次数割当部と、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定する重み分布決定部と、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とする第1の次数変更部と、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定する第2の次数変更部とを有することを特徴とする。上記目的を達成するため、本発明に係る誤り訂正符号構成方法は、擬似巡回型低密度パリティ検査符号を構成するための符号化方法において、検査行列生成手段により、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成し、前記符号化手段により、前記生成したブロック型検査行列によって、入力されるメッセージから符号語を生成して出力し、さらにブロック型検査行列を生成する際、次数割当部により、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定し、重み分布決定部により、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定し、第1の次数変更部により、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とし、第2の次数変更部により、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定することを特徴とする。上記目的を達成するため、本発明に係る誤り訂正符号構成プログラムは、擬似巡回型低密度パリティ検査符号を構成するための訂正符号構成プログラムにおいて、コンピュータに、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成する機能と、前記生成したブロック型検査行列によって、入力されるメッセージから符号語を生成して出力する機能とを実行させ、さらに、前記コンピュータに、ブロック型検査行列を生成する際、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定する機能と、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定する機能と、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とする機能と、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定する機能とを実行させることを特徴とする。上述したように本発明は、ブロック型検査行列の第i行、第j列ブロックの成分が零行列でない場合、巡回置換行列の次数はλj-iであり、第i1行、第j1列ブロックの成分についても、零行列でない場合には、次数がλj-iの巡回置換行列となり、第i2行、第j2列ブロックの成分、第i3行、第j3列ブロックの成分、以下すべて同様である構成としたため、本発明によって生成された検査行列の保持に必要な記憶領域は×rビットという程度にまで削減することができる。そして、マスクパターンを利用することによって、同一のデータから符号化率の異なる多くの種類の検査行列を生成することが可能となり、さらにその検査行列の切り替えも瞬時に可能である。これによって、複数の低密度パリティ検査符号LDPC符号を使い分ける際に必要であった記憶領域を削減し、かつその使い分けの際の切り替えに要する時間を小さくすることが可能であるという、優れた特徴を持つ符号化装置、誤り訂正符号構成方法およびそのプログラムを提供することができる。第1の実施形態以下、本発明の第1の実施形態の構成について添付図1に基づいて説明する。最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。本実施形態に係る符号化装置10は図1に示すように、擬似巡回型LDPC低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成する検査行列生成手段11と、入力されるメッセージからブロック型検査行列によって符号語を生成して出力する符号化手段12とを有している。さらに、検査行列生成手段11は、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定する次数割当部11aと、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定する重み分布決定部11bと、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とする第1の次数変更部11cと、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定する第2の次数変更部11dとを有する。また、符号化手段12は、検査行列生成手段が生成したブロック型検査行列およびマスクパターンを記憶する行列データ保存用メモリ33と、メッセージの情報ビット列と有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定した整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列との行列積を算出するr個の行列乗算装置31と、行列乗算装置への入力信号を行列データ保存用メモリに保持されたマスクパターンによって切り替えるためのセレクタ32とを有する。そして行列データ保存用メモリ33が、複数のブロック型検査行列のすべての列ブロックにおいて、該列ブロック中の成分が非零の巡回置換行列であるすべての行ブロックの行番号を保持する機能と、セレクタへの入力信号をブロック型検査行列の各々に対して変える機能とを備える。この構成を備えることにより、符号化装置10は複数のLDPC符号を使い分ける際に必要となる記憶領域を削減し、かつその切り替えに要するオーバーヘッドを小さくすることが可能となる。以下、これをより詳細に説明する。図1は、本発明の第1の実施形態に係る符号化装置10を含む通信系統1について示す説明図である。通信系統1は、通信機器や記憶装置などから入力されるデジタル信号であるメッセージから符号語を生成する符号化装置10と、符号化装置10から出力される符号語を変調して搬送波に載せる変調器21と、変調器21から出力される搬送波を伝送する伝送路22と、伝送路22を介して伝送されてきた搬送波から符号語を抽出する復調器23と、抽出された符号語を復号して元のメッセージを抽出する復号化装置24とからなる。または、この伝送路22を、たとえば光ディスクや磁気ディスクなどのような記憶媒体に置換してもよい。符号化装置10は、擬似巡回型LDPC符号のブロック型検査行列を生成する検査行列生成手段11と、このブロック型検査行列を使用して、入力されるメッセージから符号語を生成する符号化手段12とを含む。数5は、この検査行列生成手段11が生成するブロック型検査行列について示す。ちなみにこの数5は、前述の数1において、0≦i<r、k<j<nに関するui,jを、j=ki、もしくは、j=k1iが成立する場合にのみui,j=0とし、それ以外の場合にはui,j=-∞としたものである。以下では説明を容易にするため、以下ではqを2のべき乗q=2^s;sは2以上の整数とし、rを4以上q以下の正整数、kをq1-rとする。また前述の数2の巡回置換行列Pの行数、及び列数をq-1とする。数5は行ブロック数がr、列ブロック数nがq1のブロック型行列である。図2は、図1で示した検査行列生成手段11のより詳細な構成について示す説明図である。また、図3は、図2で示した検査行列生成手段11で行われるブロック型検査行列数5の生成の動作について示すフローチャートである。この動作は、数5に示したブロック型検査行列のr×k1個の成分についてui,jを決定するものであるiは0からr-1の間の整数、jは0からkの間の整数。検査行列生成手段11は、次数割当部11a、重み分布決定部11b、第1の次数変更部11c、および第2の次数変更部11dといった動作部を有する。次数割当部11aはまず、すべてのui,jに対してui,j=λj-iと割り当てるステップS101。ここで、整数tに対して、trq/2がq1で割り切れない場合、λtは次に説明する手順によって定まる正整数であり、trq/2がq1の倍数である場合、λt=-∞であるとする。整数tに対するλtの決定方法について説明する。βを有限体GFq^2の原始元とし、-q-2/2≦h≦q-2/2となるすべての整数hに関して、β^hを零として持つ次の数6の多項式をgxとし、そのt次の項の係数をg_tとする。上記の数6の係数g_tは、g_0=0であり、0<t≦qについては、g_t=g_q1-tとなる。このように低次の項の係数と高次の項の係数を逆順にしても変わらない多項式を自己相反多項式と呼ぶ。また0<t≦qについて、係数g_tは前述の原始元βを用いて、β^tのべき乗で表すことができる。このべき指数をμtと表す。即ち、g_t=β^q1^μtである。μtの引数tの範囲をq1の倍数を除くすべての整数に拡張して、μt=μtmodq1とする。さらに、この整数μtを用いて、trq/2がq1で割り切れない整数tについて、前述のλtを次の数7によって定義する。また、trq/2がq1で割り切れる整数tについては便宜上λt=-∞とする。以上の様に、ステップS101で整数値λtを算出し、すべてのui,jについて、ui,j=λj-iと設定する。これによって前述の数1は、以下の数8の形で表すことができる。次に重み分布決定部11bは、上述の数8の検査行列の行ブロック、列ブロックに関する重み分布を決定するステップS102。誤り訂正能力を高める観点から、通常、密度発展法を使用して重み分布を決定するが、ここでの手段は密度発展法に限定したものでない。但し、第k1列ブロックから第q列ブロックについては、すべて列重みは2とする。既にステップS101によってすべてのui,jはλj-iに決定しているが、次に示すステップS103~104によって、ステップS102で算出した重み分布に一致するように、一部のui,jを-∞に変更することになる。前述の数7によりλk=λk1=0であるから、0≦i<r、k<j<nに関するui,jを、j≠kiかつj≠k1iの場合にui,j=-∞と変更すれば、数8の行列は数5の行列の形となる。従って、0≦i<r、k<j<nに関するui,jについてはj≠kiかつj≠k1iの場合にui,j=-∞と変更されているものとする。第1の次数変更部11cは、第k_r列ブロックの成分の総和が巡回置換行列となるように、一部のui,k_rを-∞に変更するステップS103。ここで、k_rは次の数9に示す整数値を表す。即ち、k_rはq1-r/2の整数部分を表す。第k_r列ブロックの総和が巡回置換行列になるように一部のui,k_rを-∞に変更する方法の一例については後述する。第2の次数変更部11dは、ステップS103で処理を行った第k_r列ブロック以外の各列ブロックjについて、一部のui,jを-∞に変更するステップS104。この時、ステップS102で定めた重み分布を満足し、さらに図10で説明した短いサイクルの数がなるべく少なくなるようにする。ステップS104の処理の詳細についても後述する。検査行列生成手段11の動作についてさらに説明する。前述したように、検査行列生成手段11は数5の検査行列におけるすべてのui,jを決定するiは0からr-1の間の整数、jは0からkの間の整数。前述のように、ステップS101では数7に示したλtによって、ui,j=λj-iとする。これに続くステップS102では、与えられた検査行列の重み分布に従って、一部のui,jをλj-iから-∞に変更する。各i、jについて、mi,jを1あるいは0のいずれかとし、次の数10の行列をHmと記す。また、数10において、ui,jmi,jは数11の通りとする。数10および数11から明らかなように、mi,jは、その値によってui,jの値をλj-iから-∞に変更するか否かを指定していると見ることができる。即ち、各i、jについて、mi,jを前述の重み分布cw、vwに従うように設定することで、数10のブロック行列Hmは所望の検査行列となる。正整数wに関して、行ブロックに関する重み分布cwは、ui,jmi,j≠-∞となる列jの数がwに一致する行iの数を表し、列ブロックに関する重み分布vwは、ui,jmi,j≠-∞となる行iの数がwに一致する列jの数を表す。mi,jの値を変えることにより、行列Hmも変わるため、複数の検査行列を表現することができる。前述のように、0≦i<r、k<j≦qに関するmi,jについては、j=ki、あるいはj=k1iの場合にのみmi,j=1とし、それ以外の場合はmi,j=0と固定されているとする。従って一つの検査行列を表現するのに必要なビット数は、この場合、k×rビットである。このようにmi,jは元の数5のブロック行列の各成分をマスクする役割を果たしており、mi,jをマスクパターンと呼ぶ。ステップS103で、第1の次数変更部11cは第k_r列k_rは数9に示したとおりについて、ui,k_r=-∞とする行iを決定する。上記の記法を用いれば、すべての0≦i<rについて、mi,k_rの値を決定することに等しい。第k_r列の重みは3以上の奇数となるように設定する。説明を簡単にするため、第k_r列の重みを3とし、数10の行列Hmの第k_r列ブロックの総和が巡回置換行列となるように、mi,k_rの値を設定する方法について説明する。まず、rが奇数の場合にはmi,k_rの値を次の数12によって定める。以上のように設定することにより、数10の行列Hmの第k_r列ブロックの各成分の総和は、次数がur1/2,k_rの巡回置換行列となる。また、rが6以上の偶数の場合にはmi,k_rの値を次の数13によって定める。この時、行列Hmの第k_r列ブロックの各成分の総和は、次数がur/2,k_rの巡回置換行列となる。最後にrが4の場合にはm0、k_4=1、m1、k_4=0、m2、k_4=1、m3、k_4=1とする。この時、Hmの第k_4列ブロックの各成分の総和は、次数がu3,k_4の巡回置換行列となる。続くステップS104で、第2の次数変更部11dは、第k_r列以外のすべての列jについて、mi,jの値を決定する。図4は図3のステップS104として示した第2の次数変更部11dによる処理の詳細を示すフローチャートである。まず第2の次数変更部11dは、初期状態としてk_r列以外のすべての列jについてmi,j=0と設定するステップS201。続いて第2の次数変更部11dは、各列j毎に、mi,j=1とする行iを決めていくステップS202~204。はじめに、列jの重みmi,j=1となる行iの数が零である場合、数10の行列Hmに関して、ui,j≠-∞であり、かつHmの行ブロックの中で最も重みが最も少ない行番号iを選択しiは0からr-1の間の整数、mi,j=1とするステップS205。次に、ui,j≠-∞であり、行列Hmの最小サイクル長が最も大きく、なおかつ長さが最小であるサイクルの数が最も少なくなるような行番号iを選択してmi,j=1とするステップS206。尚、行番号iが一意的に定まらない場合には、前述条件を満たす行番号の中からランダムに選択する。以下、列jの重みmi,j=1となる行番号iの数が、図3のステップS102において各列毎に定められた重み図4では列jの重みをwtjと表しているに一致するまでステップS204~206の処理を続けるステップS207~208。ここまでの処理を、列k_rを除くすべての列について行うことによって検査行列Hmを得るステップS209~210。以上の手順によって算出された検査行列は、符号化処理を単純にするため、第k_r列ブロックの総和が単位行列となるように、第k_r列ブロックの各成分を一様に巡回シフトして得られた列ブロックと、第k列ブロックを入れ替えて使用する。また、q1に一致しない整数nに関するr×nのブロック型検査行列の生成については、n<q1に関して上記の手段によって、r×q1ブロック型行列を生成し、q1個の列ブロックの内、右端のr個の列ブロックを含むn個の列ブロックを選択することで、r×nのブロック型検査行列を生成する。図5は、図1で示した符号化手段12の構成について説明する説明図である。以上で述べた検査行列の生成方法によれば、マスクパターンmi,jの変更のみで他のパラメータを持つ符号に変更できるため、次に説明するように、符号化手段12はマスクパターンの交換のみによって対応可能となる構成とすることができる。符号化手段12は、数5に示した検査行列の行ブロック数rと同数の行列乗算装置31_0、31_1、...、31_r-1を備え、これらr個の行列乗算装置31への入力データを選択するためのセレクタ32_0、32_1、...、32_r-1と、該セレクタの切り替え信号となるrビットのデータを出力する行列データ保存用メモリ33とを備える。また、r個の行列乗算装置31からの出力をまとめる排他的論理和演算装置34、35_0、35_1、...、35_r-2とセレクタ36も備える。また、符号化手段12は、行列データ保存用メモリ33に保持するデータに応じて、使用するLDPC符号の検査行列を変えることができる。この場合、一つの行列データの保持に必要な記憶領域はk×rビットとなる。以下、符号化手段12が数10に示した検査行列によって擬似巡回型LDPC符号によって入力メッセージの情報ビット列の符号化を行い、情報ビット数q-1×kビットの入力に対して、q-1×rビットのパリティビットを付加して出力する場合の例について説明する。この場合、情報ビットと冗長ビットで一フレームを構成し、一フレームの総ビット数は、前述のようにk=q1-rであるから、q^2-1ビットとなる。このq-1×rビットのパリティビットは、検査行列と該フレームの行列積が零となるように決定される。符号化手段12は、情報ビットq-1ビットずつk回に分けて入力し、各々をセレクタ32を通して、r個の行列乗算装置31に入力する。第i番目の行列乗算装置31_iiは0からr-1の間の整数は、内部にレジスタを持ち、k回の情報ビット入力のうちのj番目のq-1ビットからなる情報ビット列がセレクタ32に入力されるとjは0からk-1の間の整数、このセレクタ32の出力と行列P^ui,jとの行列積を計算して、その計算結果と行列乗算装置31lの内部レジスタが保持するデータとを加算した結果を同レジスタに保持する。尚、この行列乗算装置31lの内部レジスタの初期値は0とし、ここでの加算はビット毎の排他的論理和を意味する。また、セレクタ32は、j番目のq-1ビットからなる情報ビット列、零ビット、及び排他的論理和演算装置34の出力を入力とし、行列データ保存用メモリ33に保持されたマスクパターンmi,jを切替え信号とする。セレクタ32は、mi,j=1の時には前述のように行列乗算装置31lに第j番目のq-1ビットからなる情報ビット列を出力し、mi,j=0の時は行列乗算装置31lに零ビットを出力する。q-1×kビットの情報ビット列をa_0^j,a_1^j,...,a_q-2^j、j=0,1,...,k-1と書くと、全情報ビットを入力し終えた段階で行列乗算装置31_iの内部レジスタが保持するq-1ビットのデータb_0^i,b_1^i,...,b_q-2^i,i=0,1,...,r-1は次の数14に行列表記されたデータと一致する。数14で、Tは転置行列を表す。b_0^i,b_1^i,...,b_q-2^i,i=0,1,...,r-1は排他的論理和304にてビット毎に加算され、数15に示すq-1ビットのパリティビットp_0^0,p_1^0,...,p_q-2^0となる。数15のパリティビットp_0^0,p_1^0,...,p_q-2^0はセレクタ32_iiは0からr-1の間の整数に入力され、行列データ保存用メモリ33から提供される切り替え信号mi,kによって選択され、r個の行列乗算装置31へ入力される。この結果、行列乗算装置31_iiは0からr-1の間の整数の内部レジスタが保持するデータb_0^i,b_1^i,...,b_q-2^i,i=0,1,...,r-1は次の数16に示すように更新される。符号化手段12は、これらの更新されたデータb_0^i,b_1^i,...,b_q-2^i,i=0,1,...,r-1を用いて、残りのq-1×r-1ビットからなるパリティビット列p_0^i,p_1^i,...,p_q-2^i,i=1,2,...,r-1を次の数17に示すように、後退代入法によって算出する。q-1×kビットの情報ビット列a_0^j,a_1^j,...,a_q-2^j、j=0,1,...,k-1と、それによって上記の手順で算出されるq-1×rビットのパリティビット列p_0^i,p_1^i,...,p_q-2^i,i=1,2,...,r-1からなるベクトルと、数10の検査行列との行列積は零になる。符号化手段12は、このようにして行列データ保存用記憶装置に保持されたマスクパターンを変えることにより、k×rビット分の記憶領域の増加のみによって、別の検査行列に対応した符号化装置とすることができる。具体的な動作例以下、具体的な数値例を用いて検査行列生成手段11の動作内容について説明し、本実施形態の検査行列生成手段11によって生成された検査行列の一例について説明する。qを2^6=64とすると、検査行列生成手段11は符号長がq^2-1=4095ビット以下であるLDPC符号の検査行列を生成することができる。βを有限体GF2^6の原始元とし、β^6β1=0とする。この時、数7の多項式gxのt次の項の係数tは1から64の間の整数g_tから導かれる64個の整数μ1,μ2,...,μ64は各々、0,61,39,57,22,13,60,49,25,42,17,24,23,55,7,33,27,48,53,19,62,32,59,46,36,44,41,45,31,12,52,1,1,52,12,31,45,41,44,36,46,59,32,62,19,53,48,27,33,7,55,23,24,17,42,25,49,60,13,22,57,39,61,0となる。行ブロック数rを18とすると、数7のλ0,λ1,...,λ64は各々6,54,22,23,16,41,24,48,59,12,21,56,38,60,62,-∞,62,60,38,56,21,12,59,48,24,41,16,23,22,54,6,32,26,47,52,18,61,31,58,45,35,43,40,44,30,11,51,0,0,51,11,30,44,40,43,35,45,58,31,61,18,52,47,26,32となる。ここで、図2~3に示した次数割当部11aステップS101の動作にもあるように、すべてのui,jについて0≦i<18,0≦j<65、ui,j=λj-iとする。尚、0≦i<18、48≦j<65に関するmi,jについては、j=47i、あるいはj=48iの場合にのみmi,j=1とし、それ以外の場合はmi,j=0と固定されているとする。重み分布決定部11bステップS102の重み分布をv2=17,v3=12,v8=7,v0=29,c7=18とする。数9によってk_18=23であり、第23列ブロック中の18個の次数u0,23,u1,23,...,u17,23は、各々、48,59,12,21,56,38,60,62,-∞,62,60,38,56,21,12,59,48,24となる。数13によって、mi,23はi=0,9,16の場合のみ1であり、それ以外の場合は0である。第2の次数変更部11dステップS104によって、この第23列ブロックを除いた第0列ブロックから第47列ブロックに関するマスクパターンmi,jを決定する。前述の重み分布よりv0=29であるから、全65列ブロックの中で重み0の列ブロックが29列あり、第0列ブロックから第28列ブロック第23列ブロックは除く、及び第47列ブロックを零とする。これ以外の第29列ブロックから第46列ブロックまでの18列ブロック分について、前述の重み分布に従うように図4に示した手順によって、mi,jの各値を決定する。そして、検査行列の前述第23列ブロックの総和が単位行列になるように第23列ブロックの各成分を一様に巡回シフトして得られた列ブロックと、第47列ブロックを入れ替えて使用する。図6は、以上の動作例によって得られる検査行列の一例を示す説明図である。記述を平易にするため、図6の行列の各成分は巡回置換行列Pの次数部分のみを記した。また空白は全零行列次数=-∞を表すものとする。図6の検査行列は、符号長が2268ビット、情報長が1134ビットの符号化率1/2の擬似巡回型LDPC符号の検査行列となる。もう一つ、列ブロック数rを6とした時の検査行列の生成例を示す。前述の生成例と全く同様に、qを2^6=64とし、β^6β1=0となるβを有限体GF2^6の原始元として、数7の多項式gxから検査行列を生成する。数7よりλ0,λ1,...,λ64は各々40,43,35,45,58,31,61,18,52,47,26,32,6,54,22,23,16,41,24,48,59,12,21,56,38,60,62,-∞,62,60,38,56,21,12,59,48,24,41,16,23,22,54,6,32,26,47,52,18,61,31,58,45,35,43,40,44,30,11,51,0,0,51,11,30,44となる。この系列は、図6に示したr=18の場合の系列を12回分右方向へ巡回シフトして得られる系列と同一である。図2~3に示した次数割当部11aステップS101の動作より、すべてのui,jについて0≦i<6,0≦j<65、ui,j=λj-iとする。尚、0≦i<6,60≦j<65に関するmi,jについては、j=59i、あるいはj=60iの場合にのみmi,j=1とし、それ以外の場合はmi,j=0と固定されているとする。重み分布決定部11bステップS102の重み分布をv2=5,v3=20,v6=11,v0=29,c22=2,c23=4とする。数9よりk_6=29であり、第29列ブロック中の6個の次数u0,29,u1,29,...,u5,29は、各々、60,62,-∞,62,60,38となる。数13より、mi,29はi=0,3,4の時のみ1であり、それ以外の時、0である。第2の次数変更部11dステップS104によって、第29列ブロックを除いた第0列ブロックから第59列ブロックに関するマスクパターンmi,jを決定する。前述の重み分布よりv0=29であるから、全65列ブロックの中で重み0の列ブロックが29列あり、第0列ブロックから第28列ブロックを零とする。また第29列は前述のように決定しているため、第30列ブロックから第59列ブロックまでの30列ブロック分について、前述の重み分布に従うように図4に一例を示した手順によって、mi,jの各値を決定する。そして、検査行列の第29列ブロックの総和が単位行列になるように第29列ブロックの各成分を一様に巡回シフトして得られた列ブロックと、第59列ブロックを入れ替えて使用する。図7は、以上の動作によって得られる検査行列の一例を示す説明図である。記述を平易にするため、図7の行列の各成分は巡回置換行列Pの次数部分のみを記した。また空白は全零行列次数=-∞を表すものとする。図7の検査行列は、符号長が2268ビット、情報長が1890ビットの符号化率5/6の擬似巡回型LDPC符号の検査行列となる。図6は列ブロック数rが18、図7は列ブロック数rが6の、符号化率の異なる2種類の検査行列であるが、いずれも本実施形態の検査行列生成手段11によって生成された同一のデータに基づくものであり、-∞でない成分の数値は前述の多項式gxの係数によって規定される数列μ1,μ2,...,μ64によって定められているため、マスクパターンmi,jを取り替えることにより、いずれも図5に示した符号化装置によって符号化処理を実行することができる。第1の実施形態の全体的な動作次に、上記の実施形態の全体的な動作について説明する。本実施形態に係る誤り訂正符号構成方法は、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成する検査行列生成手段と、入力されるメッセージからブロック型検査行列によって符号語を生成して出力する符号化手段とからなる符号化装置にあって、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって検査行列生成手段の次数割当部が規定し図3ステップS101、マスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを検査行列生成手段の重み分布決定部が規定し図3ステップS102、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を検査行列生成手段の第1の次数変更部が巡回置換行列とし図3ステップS103、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を検査行列生成手段の第2の次数変更部が規定する図3ステップS104。そして、検査行列生成手段が生成したブロック型検査行列およびマスクパターンを符号化手段の行列データ保存用メモリに記憶し、行列データ保存用メモリに保持されたマスクパターンによって入力信号を符号化手段のセレクタが切り替え、メッセージの情報ビット列と有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定した整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列との行列積を符号化手段の行列乗算装置が算出する。ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータである符号化装置10に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、DVD、CD、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。この構成および動作により、本実施形態は以下のような効果を奏する。本実施形態によれば、ブロック型検査行列の第i行、第j列ブロックの成分が零行列でない場合、巡回置換行列の次数はλj-iであり、第i1行、第j1列ブロックの成分についても、零行列でない場合には、次数がλj-iの巡回置換行列となり、第i2行、第j2列ブロックの成分、第i3行、第j3列ブロックの成分、以下すべて同様であるため、本発明によって生成された検査行列の保持に必要な記憶領域はq1-r×rビットのオーダーであり、大幅に少ない記憶領域で済む。また、検査行列の成分が巡回置換行列であるか零行列であるかのみを選択しなおすことで、巡回置換行列である場合の次数を変えることなく、さまざまなタイプの擬似巡回型LDPC符号の検査行列を生成できるため、符号化率、フレーム長、誤り率特性等のパラメータの異なる、複数のLDPC符号を使い分ける通信システムにおいても、符号化、復号装置の切り替えに要する時間オーバーヘッドを削減できるという効果がある。第2の実施形態本発明の第2の実施形態に係る符号化装置110は、第1の実施形態に係る符号化装置10の構成に加えて、検査行列生成手段の重み分布決定部111bが、ブロック型検査行列のq1個の列ブロックの、右端r-1個の列ブロックと第k_r列ブロックを除くq1-r個の列ブロックの中で、q1-n個の列ブロックの成分のすべてを零行列として定義すると共に、検査行列生成手段が、成分のすべてが零行列であるq1-n個の列ブロックを削除する列ブロック削除部111eを備えるという構成とした。この構成によっても、第1の実施形態と同一の効果を得ることができる。さらに、生成される検査行列の列ブロック数をr1以上、q1以下の任意の数とすることができるので、より幅広い種類の検査行列を生成することが可能となる。以下、これをより詳しく説明する。図8は、本発明の第2の実施形態に係る符号化装置110を含む通信系統101について示す説明図である。通信系統101は、符号化装置10が符号化装置110に置き換えられている点以外は、本発明の第1の実施形態で説明した通信系統1と同一の構成を有する。符号化装置110は、検査行列生成手段111と、第1の実施形態と同一の符号化手段12とを含む。図9は、図8で示した検査行列生成手段111のより詳細な構成について示す説明図である。また、図10は、図8で示した検査行列生成手段111で行われるブロック型検査行列の生成の動作について示すフローチャートである。検査行列生成手段111は、第1の実施形態に係る検査行列生成手段11の重み分布決定部11bを重み分布決定部111bに置換し、また新たに列ブロック削除部111eを含む以外は、第1の実施形態に係る検査行列生成手段11図2で示したと同一の構成を有する。検査行列生成手段111では、行ブロック数がrであり、列ブロック数がq1でありqは2のべき乗、第i行ブロック、第j列ブロックiは0~r-1間の整数、jは0~qの間の整数の成分が関数値λj-iを次数とする行数と列数が共にq-1巡回置換行列かもしくは零行列となるブロック型検査行列を生成することができる。次数割当部11aステップS101の動作は、第1の実施形態に係る検査行列生成手段11図3で示したと同一である。これを受けた重み分布決定部111bでは、右端r-1個の列ブロックと、第k_r列ブロックを除いた列ブロックのうち、重みがゼロの列ブロックを設定することによって、生成される検査行列の列ブロック数をr1以上、q1以下の任意の数とすることができるステップS302。これに続く第1の次数変更部11c、および第2の次数変更部11dステップS103~104の動作は、図2~3で説明したものと同一である。そして、検査行列生成手段111の動作はこの後、重みゼロの列ブロックを列ブロック削除部111eにて削除してステップS305終了する。このブロック型検査行列の成分となる巡回置換行列と零行列の行、及び列数をq-1の倍数である任意の数に設定した場合にもサイクルの長さの最小値に変化はないため、行、及び列数がq-1の正の任意の倍数である巡回置換行列もしくは零行列を成分とするブロック型検査行列を図8~10の手段によって生成することができる。さらに、この検査行列生成手段111によって生成された行ブロック数r、列ブロック数n、その成分となる巡回置換行列の行数と列数が共にt×q-1の検査行列tは正整数は、図5に示した符号化手段12によって、n-r×t×q-1ビットの情報ビットに対し、r×t×q-1ビットの冗長ビットを算出し、出力することができる。これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。上述した各々の実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。付記1擬似巡回型低密度パリティ検査符号を構成するための符号化装置において、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成する検査行列生成手段と、入力されるメッセージからブロック型検査行列によって符号語を生成して出力する符号化手段とを有し、前記検査行列生成手段が、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定する次数割当部と、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定する重み分布決定部と、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とする第1の次数変更部と、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定する第2の次数変更部とを有することを特徴とする。付記2前記検査行列生成手段の前記重み分布決定部が、前記ブロック型検査行列のq1個の列ブロックの、右端r-1個の列ブロックと前記第k_r列ブロックを除くq1-r個の列ブロックの中で、q1-n個の列ブロックの成分のすべてを零行列として定義すると共に、前記検査行列生成手段が、成分のすべてが零行列であるq1-n個の列ブロックを削除する列ブロック削除部を備えることを特徴とする、付記1に記載の符号化装置。付記3前記符号化手段が、前記検査行列生成手段が生成した前記ブロック型検査行列および前記マスクパターンを記憶する行列データ保存用メモリと、前記メッセージの情報ビット列と有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定した整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列との行列積を算出するr個の行列乗算装置と、前記行列乗算装置への入力信号を前記行列データ保存用メモリに保持された前記マスクパターンによって切り替えるためのセレクタとを有することを特徴とする、付記1または付記2に記載の符号化装置。付記4前記行列データ保存用メモリが、複数の前記ブロック型検査行列のすべての列ブロックにおいて、該列ブロック中の成分が非零の巡回置換行列であるすべての行ブロックの行番号を保持する機能と、前記セレクタへの入力信号を前記ブロック型検査行列の各々に対して変える機能とを備えることを特徴とする、付記3に記載の符号化装置。付記5擬似巡回型低密度パリティ検査符号を構成するための符号化方法において、検査行列生成手段により、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成し、前記符号化手段により、前記生成したブロック型検査行列によって、入力されるメッセージから符号語を生成して出力し、さらにブロック型検査行列を生成する際、次数割当部により、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定し、重み分布決定部により、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定し、第1の次数変更部により、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とし、第2の次数変更部により、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定することを特徴とする。付記6前記検査行列生成手段が生成した前記ブロック型検査行列および前記マスクパターンを前記符号化手段の行列データ保存用メモリに記憶し、前記行列データ保存用メモリに保持された前記マスクパターンによって入力信号を前記符号化手段のセレクタが切り替え、前記メッセージの情報ビット列と有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定した整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列との行列積を前記符号化手段の行列乗算装置が算出することを特徴とする、付記5に記載の誤り訂正符号構成方法。付記7擬似巡回型低密度パリティ検査符号を構成するための誤り訂正符号構成プログラムにおいて、コンピュータに、擬似巡回型低密度パリティ検査符号の、行数と列数がともにq-1の巡回置換行列もしくは零行列を成分とするqは4以上で、かつ2のべき乗となる整数、行ブロック数がr、列ブロック数がq1でありrは4以上q以下の整数、かつ第i行ブロック、第j列ブロック成分がiは0からr-1の間の整数、jは0からqの間の整数とし、行列の左端の列を第0列、上端の行を第0行とする整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列もしくは零行列に一致するブロック型検査行列を生成する機能と、前記生成したブロック型検査行列によって、入力されるメッセージから符号語を生成して出力する機能とを実行させ、さらに、前記コンピュータに、ブロック型検査行列を生成する際、ブロック型検査行列の関数値λj-iを有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定する機能と、与えられたマスクパターンを用いてブロック型検査行列の各列ブロックの成分の中で非零行列となる成分の数と該ブロック型検査行列の各行ブロックの成分の中で非零行列となる成分の数とを規定する機能と、ブロック型検査行列の第k_r列ブロックk_rはq1-r/2の整数部分の成分の総和を巡回置換行列とする機能と、ブロック型検査行列の該第k_r列ブロックを除いた各列ブロックの成分の中で非零行列となる成分の行ブロック番号を規定する機能とを実行させることを特徴とする誤り訂正符号構成プログラム。付記8前記コンピュータに、前記検査行列生成手段が生成した前記ブロック型検査行列および前記マスクパターンを記憶する機能と、前記行列データ保存用メモリに保持された前記マスクパターンによって入力信号を切り替える機能と、前記メッセージの情報ビット列と有限体GFq^2のq-1個の元を根とする自己相反多項式の係数によって規定した整数j-iを引数とする関数λj-iの値を次数とする巡回置換行列との行列積を算出する機能とを実行させることを特徴とする、付記7に記載の誤り訂正符号構成プログラム。以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態及び実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。この出願は2010年4月27日に出願された日本出願特願2010-102479を基礎とする優先権を主張し、その開示の全てをここに取り込む。"