(57)【要約】【課題】レギュラーＬＤＰＣ符号に対して適用可能な誤り確率の閾値δ＊を求めるための算出式を、イレギュラーＬＤＰＣ符号に対して適用可能に拡張し、符号性能を向上させる。【解決手段】符号化装置におけるディグリー・シーケンス算出部は、検査行列における縦方向の”１”の個数の分布を表すディグリー・シーケンスを、”１”の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする２項の和からなる多項式で表現するとともに、検査行列における横方向の”１”の個数の分布を表す横方向ディグリー・シーケンスを、”１”の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする２項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。【選択図】　図９
2004088449.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、
検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、
上記ディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、
上記検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、
上記ディグリー・シーケンス算出手段は、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現するとともに、上記検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出すること
を特徴とする符号化装置。
【数１】
2004088449.tif 000058
【数２】
2004088449.tif 000059
【請求項２】
上記ディグリー・シーケンス算出手段は、検査行列における縦方向の１の個数ｎ１，ｎ２と、割合λ１，λ２のうち一方の割合λ１の初期値とが任意に設定され、これらの個数ｎ１，ｎ２、及び割合λ１に基づいて、上記縦方向ディグリー・シーケンスにおける他方の割合λ２、並びに上記横方向ディグリー・シーケンスにおける個数ｍ１，ｍ２、及び割合ρ１，ρ２を求めること
を特徴とする請求項１記載の符号化装置。
【請求項３】
上記ディグリー・シーケンス算出手段は、所定回数の繰り返し復号後の誤り確率が０に収束するクロスオーバーの誤り確率の最大値を求めること
を特徴とする請求項２記載の符号化装置。
【請求項４】
上記符号化手段は、上記検査行列生成手段によって生成された検査行列に基づいて生成行列を生成し、上記生成行列を入力されたデータに対して積算すること
を特徴とする請求項１記載の符号化装置。
【請求項５】
上記符号化手段は、符号化率が１／２の符号化を行うこと
を特徴とする請求項１記載の符号化装置。
【請求項６】
入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、
検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、
上記ディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、
上記検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、
上記ディグリー・シーケンス算出工程では、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現されるとともに、上記検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出されること
を特徴とする符号化方法。
【数３】
2004088449.tif 000060
【数４】
2004088449.tif 000061
【請求項７】
上記ディグリー・シーケンス算出工程では、検査行列における縦方向の１の個数ｎ１，ｎ２と、割合λ１，λ２のうち一方の割合λ１の初期値とが任意に設定され、これらの個数ｎ１，ｎ２、及び割合λ１に基づいて、上記縦方向ディグリー・シーケンスにおける他方の割合λ２、並びに上記横方向ディグリー・シーケンスにおける個数ｍ１，ｍ２、及び割合ρ１，ρ２が求められること
を特徴とする請求項６記載の符号化方法。
【請求項８】
上記ディグリー・シーケンス算出工程では、所定回数の繰り返し復号後の誤り確率が０に収束するクロスオーバーの誤り確率の最大値が求められること
を特徴とする請求項７記載の符号化方法。
【請求項９】
上記符号化工程では、上記検査行列生成工程にて生成された検査行列に基づいて生成行列が生成され、上記生成行列が入力されたデータに対して積算されること
を特徴とする請求項６記載の符号化方法。
【請求項１０】
上記符号化工程では、符号化率が１／２の符号化が行われること
を特徴とする請求項６記載の符号化方法。
【請求項１１】
検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、上記ディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、上記検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、上記ディグリー・シーケンス算出手段は、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現するとともに、上記検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、
上記符号化装置から送信されたデータを受信値として受信する受信手段と、
上記受信手段によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備えること
を特徴とする復号装置。
【数５】
2004088449.tif 000062
【数６】
2004088449.tif 000063
【請求項１２】
上記メッセージ算出手段は、上記受信手段によって受信された受信値に基づいてバリアブルノードから出力されるメッセージを算出し、さらに、このメッセージに基づいて、チェックノードから出力されるメッセージを算出する一連の復号動作を所定の回数だけ反復して行うこと
を特徴とする請求項１１記載の復号装置。
【請求項１３】
上記メッセージ算出手段は、ギャラガのアルゴリズムＡに基づく復号処理を行うこと
を特徴とする請求項１２記載の復号装置。
【請求項１４】
検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、上記ディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、上記検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、上記ディグリー・シーケンス算出工程では、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現されるとともに、上記検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、
送信されてきたデータを受信値として受信する受信工程と、
上記受信工程にて受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えること
を特徴とする復号方法。
【数７】
2004088449.tif 000064
【数８】
2004088449.tif 000065
【請求項１５】
上記メッセージ算出工程では、上記受信工程にて受信された受信値に基づいてバリアブルノードから出力されるメッセージが算出され、さらに、このメッセージに基づいて、チェックノードから出力されるメッセージが算出される一連の復号動作が所定の回数だけ反復して行われること
を特徴とする請求項１４記載の復号方法。
【請求項１６】
上記メッセージ算出工程では、ギャラガのアルゴリズムＡに基づく復号処理が行われること
を特徴とする請求項１５記載の復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置及び符号化方法、並びにこれらの符号化装置及び符号化方法によって符号化が施された符号の復号を行う復号装置及び復号方法に関する。
【０００２】
【従来の技術】
近年、例えば、移動体通信や深宇宙通信といった通信分野、及び地上波又は衛星ディジタル放送といった放送分野の研究が著しく進められているが、それにともない、誤り訂正符号化及び復号の効率化を目的として符号理論に関する研究も盛んに行われている。
【０００３】
符号性能の理論的限界としては、いわゆるシャノン（Ｃ．　Ｅ．　Ｓｈａｎｎｏｎ）の通信路符号化定理によって与えられるシャノン限界が知られている。
【０００４】
符号理論に関する研究は、このシャノン限界に近い性能を示す符号を開発することを目的として行われている。近年では、シャノン限界に近い性能を示す符号化方法として、例えば、並列連接畳み込み符号（Ｐａｒａｌｌｅｌ　Ｃｏｎｃａｔｅｎａｔｅｄ　Ｃｏｎｖｏｌｕｔｉｏｎａｌ　Ｃｏｄｅｓ；ＰＣＣＣ）や縦列連接畳み込み符号（Ｓｅｒｉａｌｌｙ　Ｃｏｎｃａｔｅｎａｔｅｄ　Ｃｏｎｖｏｌｕｔｉｏｎａｌ　Ｃｏｄｅｓ；ＳＣＣＣ）といったいわゆるターボ符号化（Ｔｕｒｂｏ　ｃｏｄｉｎｇ）と呼ばれる手法が開発されている。
【０００５】
また、これらのターボ符号が開発される一方で、古くから知られる符号化方法である低密度パリティ検査符号（Ｌｏｗ　Ｄｅｎｓｉｔｙ　Ｐａｒｉｔｙ　Ｃｈｅｃｋ　ｃｏｄｅｓ；以下、ＬＤＰＣ符号という。）が脚光を浴びつつある。
【０００６】
このＬＤＰＣ符号は、Ｒ．　Ｇ．　Ｇａｌｌａｇｅｒによる「Ｒ．　Ｇ．　Ｇａｌｌａｇｅｒ，　”Ｌｏｗ−ＤｅｎｓｉｔｙＰａｒｉｔｙ−Ｃｈｅｃｋ　Ｃｏｄｅｓ”，　Ｃａｍｂｒｉｄｇｅ，　Ｍａｓｓａｃｈｕｓｅｔｔｓ：　Ｍ．　Ｉ．　Ｔ．　Ｐｒｅｓｓ，　１９６３」によって最初に提案されたものであり、その後、「Ｄ．　Ｊ．　Ｃ．　ＭａｃＫａｙ，　”Ｇｏｏｄ　ｅｒｒｏｒｃｏｒｒｅｃｔｉｎｇ　ｃｏｄｅｓ　ｂａｓｅｄ　ｏｎ　ｖｅｒｙ　ｓｐａｒｓｅ　ｍａｔｒｉｃｅｓ”，　Ｓｕｂｍｉｔｔｅｄ　ｔｏ　ＩＥＥＥ　Ｔｒａｎｓ．　Ｉｎｆ．　Ｔｈｅｏｒｙ，　ＩＴ−４５，　ｐｐ．　３９９−４３１，　１９９９」や「Ｍ．　Ｇ．　Ｌｕｂｙ，　Ｍ．　Ｍｉｔｚｅｎｍａｃｈｅｒ，　Ｍ．　Ａ．　Ｓｈｏｋｒｏｌｌａｈｉ　ａｎｄ　Ｄ．　Ａ．　Ｓｐｉｅｌｍａｎ，　”Ａｎａｌｙｓｉｓ　ｏｆ　ｌｏｗ　ｄｅｎｓｉｔｙ　ｃｏｄｅｓ　ａｎｄ　ｉｍｐｒｏｖｅｄ　ｄｅｓｉｇｎｓ　ｕｓｉｎｇ　ｉｒｒｅｇｕｌａｒ　ｇｒａｐｈｓ”，　Ａｖａｉｌａｂｌｅ　ａｔ　ｈｔｔｐ：／／ｗｗｗ．ｉｃｓｉ．ｂｅｒｋｅｌｅｙ．ｅｄｕ／￣ｌｕｂｙ／」等によって再発見されるに至ったものである。
【０００７】
ＬＤＰＣ符号は、近年の研究により、ターボ符号等と同様に、符号長を長くしていくにしたがって、シャノン限界に近い性能が得られることがわかりつつある。また、ＬＤＰＣ符号は、最小距離が符号長に比例するという性質があることから、その特徴として、ブロック誤り確率特性がよく、さらに、ターボ符号等の復号特性において観測されるいわゆるエラーフロア現象が殆ど生じないことも利点として挙げられる。
【０００８】
以下、このようなＬＤＰＣ符号について具体的に説明する。なお、ＬＤＰＣ符号は、線形符号であり、必ずしも２元である必要はないが、ここでは、２元であるものとして説明する。
【０００９】
ＬＤＰＣ符号は、当該符号を定義する検査行列が疎なものであることを最大の特徴とするものである。ここで、疎な行列とは、当該行列内の”１”の個数が非常に少なく構成されるものであり、疎な検査行列を”Ｈ”で表すものとすると、例えば図１２に示すように、各列のハミング重みが”３”であり、且つ、各行のハミング重みが”６”であるもの等が考えられる。
【００１０】
このように、各行及び各列のハミング重みが一定である検査行列Ｈによって定義されるＬＤＰＣ符号は、レギュラーＬＤＰＣ符号と称される。一方、各行及び各列のハミング重みが一定でない検査行列Ｈによって定義されるＬＤＰＣ符号は、イレギュラーＬＤＰＣ符号と称される。
【００１１】
このようなＬＤＰＣ符号による符号化は、検査行列Ｈに基づいて生成行列Ｇを生成し、この生成行列Ｇを２元の情報メッセージに対して積算することによって符号語を生成することで実現される。具体的には、ＬＤＰＣ符号による符号化を行う符号化装置は、まず、検査行列Ｈの転置行列ＨＴと算出される生成行列Ｇとの間に、ＧＨＴ＝０が成立する生成行列Ｇを算出する。ここで、生成行列Ｇが、ｋ×ｎ行列である場合には、符号化装置は、当該生成行列Ｇに対してｋビットからなる情報メッセージを積算し、ｎビットからなる符号語を生成する。この符号化装置によって生成された符号語は、値が”０”の符号ビットが”＋１”に、値が”１”の符号ビットが”−１”にといったようにマッピングされて送信され、所定の通信路を介して復号装置によって受信されることになる。
【００１２】
一方、このＬＤＰＣ符号の復号は、上述したＧａｌｌａｇｅｒが”Ｐｒｏｂａｂｉｌｉｓｔｉｃ　Ｄｅｃｏｄｉｎｇ”と称して提案したアルゴリズムであって、バリアブルノード（ｖａｌｉａｂｌｅ　ｎｏｄｅ（メッセージノード（ｍｅｓｓａｇｅ　ｎｏｄｅ）ともいう。））とチェックノード（ｃｈｅｃｋｎｏｄｅ）とからなるいわゆるタナーグラフ（Ｔａｎｎｅｒ　ｇｒａｐｈ）上での確率伝播（ｂｅｌｉｅｆ　ｐｒｏｐａｇａｔｉｏｎ）によるメッセージ・パッシング・アルゴリズムによって行うことが可能である。しかしながら、この”Ｐｒｏｂａｂｉｌｉｓｔｉｃ　Ｄｅｃｏｄｉｎｇ”においては、各ノード間で受け渡されるメッセージが実数値であることから、解析的に解くためには、連続した値をとるメッセージの確率分布そのものを追跡する必要があり、非常に困難をともなう解析を必要とすることになる。
【００１３】
そこで、Ｇａｌｌａｇｅｒは、ＬＤＰＣ符号の復号アルゴリズムとして、アルゴリズムＡ又はアルゴリズムＢを提案している。
【００１４】
一般的には、ＬＤＰＣ符号の復号は、図１３に示すような手順にしたがって行われる。なお、ここでは、受信値をＵ０（ｕ０ｉ）とし、チェックノードから出力されるメッセージをｕｊとし、バリアブルノードから出力されるメッセージをｖｉとしており、メッセージとは、値の”０”らしさをいわゆる対数尤度比（ｌｏｇ　ｌｉｋｅｌｉｈｏｏｄ　ｒａｔｉｏ）で表現した実数値である。
【００１５】
まず、ＬＤＰＣ符号の復号においては、同図に示すように、ステップＳ１１において、受信値Ｕ０（ｕ０ｉ）を受信すると、メッセージｕｊを”０”とするとともに、繰り返し処理のカウンタとしての整数ｋを”０”とする。
【００１６】
続いて、ＬＤＰＣ符号の復号においては、ステップＳ１２において、受信値Ｕ０（ｕ０ｉ）に基づいて、次式（３）に示す演算を行うことによってメッセージｖｉを求め、さらに、このメッセージｖｉに基づいて、次式（４）に示す演算を行うことによってメッセージｕｊを求める。そして、ＬＤＰＣ符号の復号においては、整数ｋを”１”だけインクリメントする。
【００１７】
【数９】
2004088449.tif 000003
【００１８】
【数１０】
2004088449.tif 000004
【００１９】
なお、上式（３）及び上式（４）におけるｄｖ，ｄｃは、それぞれ、上述した検査行列Ｈの縦方向（列）及び横方向（行）の”１”の個数を示す任意に選択可能とされるパラメータであり、例えば（３，６）符号の場合には、ｄｖ＝３，ｄｃ＝６となる。ここで、上式（３）及び上式（４）に示す演算においては、それぞれ、出力しようとするエッジから入力されたメッセージを、積又は和演算のパラメータとしては用いないことから、積又は和演算の範囲がｄｖ−１，ｄｃ−１までとなっている。また、上式（４）に示す演算は、実際には、２入力ｖ１，ｖ２に対する１出力で定義される次式（５）に示す関数Ｒのテーブルを予め作成しておき、これを次式（６）に示すように連続的に用いることによって行われる。
【００２０】
【数１１】
2004088449.tif 000005
【００２１】
【数１２】
2004088449.tif 000006
【００２２】
続いて、ＬＤＰＣ符号の復号においては、ステップＳ１３において、整数ｋがＮよりも大きいか否かを判定する。
【００２３】
ここで、ＬＤＰＣ符号の復号においては、整数ｋがＮよりも大きくないものと判定した場合には、ステップＳ１２からの処理を繰り返す一方で、整数ｋがＮよりも大きいものと判定した場合には、ステップＳ１４へと処理を移行する。
【００２４】
そして、ＬＤＰＣ符号の復号においては、ステップＳ１４において、次式（７）に示す演算を行うことによって最終的に出力する復号結果としてのメッセージｖｉを求めて出力し、一連の処理を終了する。次式（７）に示す演算においては、上式（３）とは異なり、接続している全てのエッジからの入力メッセージを用いて行われる。
【００２５】
【数１３】
2004088449.tif 000007
【００２６】
このようなＬＤＰＣ符号の復号は、例えば（３，６）符号の場合には、図１４に示すように各ノード間でメッセージの授受が行われる。なお、同図における”＝”で示すノードでは、上式（３）に示した演算が行われ、”＋”で示すノードでは、上式（４）に示した演算が行われる。特に、上述したアルゴリズムＡ（以下、ギャラガのアルゴリズムＡという。）においては、メッセージを２元化し、”＋”で示すノードにて、ｄｃ−１個の入力メッセージの排他的論理和演算を行い、”＝”で示すノードにて、受信値Ｒに対して、ｄｖ−１個の入力メッセージが全て異なるビット値であった場合には符号を反転して出力する。
【００２７】
【発明が解決しようとする課題】
ところで、上述したギャラガのアルゴリズムＡにおいては、クロスオーバーの誤り確率がある正の小さな値δ＊よりも小さい場合には復号の誤り確率が”０”に収束し、クロスオーバーの誤り確率がある正の小さな値δ＊よりも大きい場合には復号の誤り確率が”０”に収束しないことが知られている。この誤り確率の閾値δ＊は、ある多項式の唯一の正の実根として与えられる。
【００２８】
具体的には、誤り確率の閾値δ＊は、「Ｔｏｍ　Ｒｉｃｈａｒｄｓｏｎ，　Ｒｕｄｉｇｅｒ　Ｕｒｂａｎｋｅ，　”Ｔｈｅ　Ｃａｐａｃｉｔｙ　ｏｆ　Ｌｏｗ−Ｄｅｎｓｉｔｙ　Ｐａｒｉｔｙ　Ｃｈｅｃｋ　Ｃｏｄｅｓ　ｕｎｄｅｒ　Ｍｅｓｓａｇｅ−Ｐａｓｓｉｎｇ　Ｄｅｃｏｄｉｎｇ”，　Ｂｅｌｌ　Ｌａｂｓ．　Ｌｕｃｅｎｔ　Ｔｅｃｈｎｏｌｏｇｉｅｓ　Ｍｕｒｒａｙ　Ｈｉｌｌ，　ＮＪ　０７９７４，　１９９８」によれば、次表１に示すような値をとる。
【００２９】
【表１】
2004088449.tif 000008
【００３０】
このように、ギャラガのアルゴリズムＡにおいては、符号構成に応じた誤り確率の閾値δ＊が存在する。ここで、ＬＤＰＣ符号の復号性能を向上させるには、この誤り確率の閾値δ＊を大きくする必要がある。しかしながら、ギャラガのアルゴリズムＡにおいては、上表１から明らかなように、例えばレギュラーな（３，６）符号の場合には、誤り確率が約０．０４程度まででなければ訂正することができない。
【００３１】
ここで、ＬＤＰＣ符号の性能を向上させるには、イレギュラーな符号を用いることが考えられる。
【００３２】
しかしながら、現在提案されている誤り確率の閾値δ＊を求めるための算出式は、レギュラーＬＤＰＣ符号に対して適用可能なものであり、イレギュラーＬＤＰＣ符号に対して適用可能な算出式は未だ存在していない。したがって、ギャラガのアルゴリズムＡにおいては、イレギュラーＬＤＰＣ符号に対して適用可能な算出式を提案することができれば、誤り確率の閾値δ＊を大きくすることができる余地があることがわかる。
【００３３】
本発明は、このような実情に鑑みてなされたものであり、誤り確率の閾値δ＊を求めるための算出式を、イレギュラーＬＤＰＣ符号に対して適用可能に拡張し、符号性能を向上させることができる符号化装置及び符号化方法、並びにこれらの符号化装置及び符号化方法によるＬＤＰＣ符号の復号を高精度に行うことができる復号装置及び復号方法を提供することを目的とする。
【００３４】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる符号化装置は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現するとともに、検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出することを特徴としている。
【００３５】
【数１４】
2004088449.tif 000009
【００３６】
【数１５】
2004088449.tif 000010
【００３７】
このような本発明にかかる符号化装置は、一般式（１）及び一般式（２）で表される２項の和からなる多項式でディグリー・シーケンスを表現し、ディグリー・シーケンス算出手段によって誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【００３８】
また、上述した目的を達成する本発明にかかる符号化方法は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現されるとともに、検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出されることを特徴としている。
【００３９】
【数１６】
2004088449.tif 000011
【００４０】
【数１７】
2004088449.tif 000012
【００４１】
このような本発明にかかる符号化方法は、一般式（１）及び一般式（２）で表される２項の和からなる多項式でディグリー・シーケンスを表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【００４２】
さらに、上述した目的を達成する本発明にかかる復号装置は、検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現するとともに、検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信されたデータを受信値として受信する受信手段と、この受信手段によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備えることを特徴としている。
【００４３】
【数１８】
2004088449.tif 000013
【００４４】
【数１９】
2004088449.tif 000014
【００４５】
このような本発明にかかる復号装置は、一般式（１）及び一般式（２）で表される２項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号をメッセージ算出手段によって復号する。
【００４６】
さらにまた、上述した目的を達成する本発明にかかる復号方法は、検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現されるとともに、検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきたデータを受信値として受信する受信工程と、この受信工程にて受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えることを特徴としている。
【００４７】
【数２０】
2004088449.tif 000015
【００４８】
【数２１】
2004088449.tif 000016
【００４９】
このような本発明にかかる復号方法は、一般式（１）及び一般式（２）で表される２項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号を復号する。
【００５０】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【００５１】
この実施の形態は、図１に示すように、ディジタル情報を図示しない送信装置が備える符号化装置１によって符号化し、その出力を雑音のある所定の通信路２を介して図示しない受信装置に入力して、この受信装置が備える復号装置３によって復号する通信モデルに適用したデータ送受信システムである。
【００５２】
このデータ送受信システムにおいて、符号化装置１は、低密度パリティ検査符号（Ｌｏｗ　Ｄｅｎｓｉｔｙ　Ｐａｒｉｔｙ　Ｃｈｅｃｋ　ｃｏｄｅｓ；以下、ＬＤＰＣ符号という。）による符号化を行うものとして構成されるものである。この符号化装置１は、Ｇａｌｌａｇｅｒによって提案された復号アルゴリズムであるアルゴリズムＡ（以下、ギャラガのアルゴリズムＡという。）を用いて後述する復号装置によってレギュラーＬＤＰＣ符号を復号する場合に適用可能な誤り確率の閾値を求める算出式を、イレギュラーＬＤＰＣ符号でも適用可能なものに拡張し、最適な検査行列を生成することにより、符号性能を向上させることができるものである。
【００５３】
一方、復号装置３は、符号化装置１によって符号化がなされた符号の復号を行うものであって、上述したギャラガのアルゴリズムＡを用いた繰り返し復号を行うものとして構成され、高精度にＬＤＰＣ符号の復号を行うことができるものである。
【００５４】
まず、以下では、データ送受信システムの具体的な構成の説明に先だって、当該データ送受信システムによる符号化処理及び復号処理の指針を与える議論を行う。具体的には、以下では、レギュラーＬＤＰＣ符号に対する誤り確率の閾値の算出式と、この算出式を拡張してイレギュラーＬＤＰＣ符号に対して適用可能とした新たに提案する算出式とについて説明し、これらの算出式を用いたギャラガのアルゴリズムＡの性能解析結果について説明する。
【００５５】
まず、レギュラーＬＤＰＣ符号に対する誤り確率の閾値の算出式について説明する。
【００５６】
ギャラガのアルゴリズムＡの性能解析を試みる。ギャラガのアルゴリズムＡにおいては、メッセージがバイナリであることから、通信路としていわゆるＢＳＣを考える。なお、通信路としていわゆるＡＷＧＮを考える場合であっても、受信値の符号を用いれば同様である。ＢＳＣのクロスオーバーの誤り確率をＰ０とし、オールゼロの符号語を送信したと仮定する。いわゆる（３，６）符号におけるメッセージの流れは、図２に示すようになる。
【００５７】
ここで、同図中２段目の”＋”で示すノードに入力するメッセージが誤りである確率をＰｉとする。すなわち、ここでは、オールゼロの符号語を送信したと仮定していることから、誤り確率Ｐｉは、メッセージが”１”である確率を示すものとなる。
【００５８】
この場合、同図中２段目の”＋”で示すノードから出力されるメッセージが”０”となる確率は、入力するｄｃ−１個のメッセージの排他的論理和が”０”である確率であることから、次式（８）で表すことができる。
【００５９】
【数２２】
2004088449.tif 000017
【００６０】
したがって、メッセージＲｉ＋１が誤っているとき、すなわち、Ｒｉ＋１＝１であるときに、”＝”で示すノードに入力するｄｖ−１個のメッセージが全て”０”である場合のみ”訂正”する一方で、メッセージＲｉ＋１が正しいとき、すなわち、Ｒｉ＋１＝０であるときに、”＝”で示すノードに入力するｄｖ−１個のメッセージが全て”１”である場合のみ”誤り訂正”することから、ｉ回目の繰り返し復号が終了した後のメッセージの誤り確率Ｐｉ＋１は、次式（９）で表すことができる。
【００６１】
【数２３】
2004088449.tif 000018
【００６２】
ここで、誤り確率Ｐｉ＋１を誤り確率Ｐｉの多項式としてみると、誤り確率Ｐｉ＋１は、クロスオーバーの誤り確率Ｐ０がある正の小さな値δ＊よりも小さい場合には復号の誤り確率が”０”に収束し、誤り確率Ｐ０がある正の小さな値δ＊よりも大きい場合には復号の誤り確率が”０”に収束しないことがわかる。
【００６３】
このように、ギャラガのアルゴリズムＡにおいては、ＢＳＣに対して適用した場合には、誤り確率の閾値δ＊が存在する。
【００６４】
この誤り確率の閾値δ＊を求めることを考える。
【００６５】
上式（９）において、Ｐｉ＋１＝Ｐｉ＝Ｐ０＝ｘとおくと、次式（１０）が得られる。
【００６６】
【数２４】
2004088449.tif 000019
【００６７】
ここで、この上式（１０）における根をｘ０とする。
【００６８】
また、上式（９）において、Ｐｉ＋１＝ｙ、Ｐｉ＝ｘとおくと、次式（１１）が得られる。
【００６９】
【数２５】
2004088449.tif 000020
【００７０】
この上式（１１）において、値ｘが”１”に比べ十分に小さいものとして展開し、ｘ２以上の項を無視すると、次式（１２）が得られる。
【００７１】
【数２６】
2004088449.tif 000021
【００７２】
ここで、繰り返し復号によって誤り確率が小さくなるためには、上式（１２）におけるｘの係数が”１”よりも小さくなければならない。すなわち、誤り確率は、次式（１３）に示す不等式が成立しなければ、”０”に収束しない。この次式（１３）から求められる誤り確率Ｐ０の値をｐ１とする。
【００７３】
【数２７】
2004088449.tif 000022
【００７４】
誤り確率の閾値δ＊は、上式（１０）から求められる値ｘ０と、上式（１３）から求められる値ｐ１とのうち、値の小さなものとなる。実際に、（３，６）符号、（４，８）符号、（５，１０）符号、及び（３，５）符号について、誤り確率の閾値δ＊を求めると、次表２に示す結果が得られた。なお、同表においては、参考までに、「Ｔｏｍ　Ｒｉｃｈａｒｄｓｏｎ，　Ｒｕｄｉｇｅｒ　Ｕｒｂａｎｋｅ，　”Ｔｈｅ　Ｃａｐａｃｉｔｙ　ｏｆ　Ｌｏｗ−Ｄｅｎｓｉｔｙ　Ｐａｒｉｔｙ　Ｃｈｅｃｋ　Ｃｏｄｅｓ　ｕｎｄｅｒ　Ｍｅｓｓａｇｅ−Ｐａｓｓｉｎｇ　Ｄｅｃｏｄｉｎｇ”，　Ｂｅｌｌ　Ｌａｂｓ．　Ｌｕｃｅｎｔ　Ｔｅｃｈｎｏｌｏｇｉｅｓ　Ｍｕｒｒａｙ　Ｈｉｌｌ，　ＮＪ　０７９７４，　１９９８」に記載されている誤り確率の閾値δ＊についても示している。
【００７５】
【表２】
2004088449.tif 000023
【００７６】
このように、ギャラガのアルゴリズムＡにおいては、符号構成に応じた誤り確率の閾値δ＊が存在する。
【００７７】
ここで、クロスオーバーの誤り確率Ｐ０の値を変化させたときのギャラガのアルゴリズムＡの性能を調べ、誤り確率の閾値δ＊を確認すると、図３に示すような特性が得られた。なお、同図においては、（ｄｖ，ｄｃ）＝（３，６）、（４，８）、（５，１０）、（３，５）符号について示している。また、同図における横軸は、クロスオーバーの誤り確率Ｐ０を示し、縦軸は、５０回の繰り返し復号後の誤り確率Ｐの”１０”を底とする対数表記を示している。さらに、ここで用いたＬＤＰＣ符号を定義する検査行列は、Ｇａｌｌａｇｅｒによって提案された方法と同様に生成し、当該検査行列の各行の大きさ、すなわち、ＬＤＰＣ符号の１ブロックの大きさｎは、ｄｃ＝６のときにはｎ＝１６１２８とし、それ以外のｄｃ＝５，８，１０のときにｎ＝１６０００としている。
【００７８】
同図から明らかなように、ｄｖ＝３のときにおける誤り確率Ｐは、クロスオーバーの誤り確率Ｐ０が上表２に示した値ｘ０以下となる場合に、急激に小さくなることがわかる。これに対して、ｄｖが３よりも大きい値のときにおける誤り確率Ｐは、クロスオーバーの誤り確率Ｐ０が値ｘ０である近傍から徐々に小さくなるが、ｄｖ＝３のときのような急激な変化はみられない。
【００７９】
また、同図からは上表２に示した値ｐ１についての特性が把握できないことから、ｄｖ＝４，５のときにおけるＬＤＰＣ符号の１ブロックの大きさｎを１６０００から１０００００に増加させたときの特性を調べると、図４に示す結果が得られた。なお、同図における横軸は、クロスオーバーの誤り確率Ｐ０を示し、縦軸は、５０回の繰り返し復号後の誤り確率Ｐの”１０”を底とする対数表記を示している。
【００８０】
同図から、ｄｖが３よりも大きい値のときにおける誤り確率Ｐは、ＬＤＰＣ符号の１ブロックの大きさｎを増加させても、クロスオーバーの誤り確率Ｐ０が上表２に示した値ｐ１よりも大きい場合には特性が変化しないものの、値ｐ１よりも小さい場合には特性が向上することがわかる。
【００８１】
さて、以下では、このような特性を有するギャラガのアルゴリズムＡについての特性を改善することを試みる。ギャラガのアルゴリズムＡの特性を評価するためには、上述したように、誤り確率の閾値δ＊の算出式を用いる必要がある。そこで、本発明においては、ＬＤＰＣ符号の性能を向上させるために、イレギュラーＬＤＰＣ符号を用い、イレギュラーＬＤＰＣ符号に対して適用可能な誤り確率の閾値δ＊の新たな算出式を提案することにより、イレギュラーＬＤＰＣ符号に対するギャラガのアルゴリズムＡの性能解析を試みる。
【００８２】
上表２に示したように、誤り確率の閾値δ＊は、上式（１０）から求められる値ｘ０と、上式（１３）から求められる値ｐ１とのうち、値の小さなものとなる。ここで、誤り確率の閾値δ＊は、値ｘ０，ｐ１が互いに等しい場合に、大きくなるこという仮説をたてる。この値ｘ０，ｐ１が互いに等しくなる条件としては、符号化率が”１／２”の場合には、ｄｖが３〜４であり、且つ、ｄｃが７〜８となる場合である。そこで、ｄｖ及びｄｃを、それぞれ、次式（１４）及び次式（１５）で表す。
【００８３】
【数２８】
2004088449.tif 000024
【００８４】
【数２９】
2004088449.tif 000025
【００８５】
ここで、上式（１５）におけるｔは、０＜ｔ＜１の値である。ｄｃは、変数ｔを決定すると一義的に求めることができる。
【００８６】
また、符号化率を”１／２”とすると、次式（１６）が成立することから、変数ｓは、次式（１７）によって求めることができる。
【００８７】
【数３０】
2004088449.tif 000026
【００８８】
【数３１】
2004088449.tif 000027
【００８９】
上式（１７）は、検査行列の横方向（行）の”１”の個数が、７個又は８個であり、その割合を１−ｔ：ｔとすることを示すとともに、検査行列の縦方向（列）の”１”の個数が、３個又は４個であり、その割合を１−ｓ：ｓとすることを示している。ここで、次式（１８）及び次式（１９）に示すように、２つの関数λ（ｘ），ρ（ｘ）を定義する。
【００９０】
【数３２】
2004088449.tif 000028
【００９１】
【数３３】
2004088449.tif 000029
【００９２】
この２つの関数λ（ｘ），ρ（ｘ）は、いわゆるディグリー・シーケンス（ｄｅｇｒｅｅ　ｓｅｑｕｅｎｃｅ）と称されるものであり、検査行列における”１”の個数の分布を表すものである。より具体的には、関数λ（ｘ）は、検査行列における縦方向（列）の”１”の個数の分布を示し、関数ρ（ｘ）は、検査行列における横方向（行）の”１”の個数の分布を示すものである。
【００９３】
上式（９）に示したレギュラーＬＤＰＣ符号の検査行列における平均誤り確率の漸化式において、上式（１４）及び上式（１５）のように、ｄｖ，ｄｃを、それぞれ、分布させ、イレギュラーＬＤＰＣ符号の検査行列を生成した場合には、上式（９）は、上式（１８）及び上式（１９）に示したディグリー・シーケンスを表す関数λ（ｘ），ρ（ｘ）を用いて、次式（２０）のように変形することができる。
【００９４】
【数３４】
2004088449.tif 000030
【００９５】
このように、レギュラーＬＤＰＣ符号の検査行列における平均誤り確率の漸化式を、イレギュラーＬＤＰＣ符号の検査行列における平均誤り確率の漸化式に拡張することができた。したがって、ギャラガのアルゴリズムＡを用いて復号するＬＤＰＣ符号においては、この上式（２０）から求められる誤り確率の閾値δ＊が大きくなれば、符号の性能が向上したといえる。
【００９６】
上式（１５）における変数ｔを変化させ、さらに、上式（１７）を用いて変数ｓを求めることによってｄｖ，ｄｃを変化させたときにおける上式（２０）の算出結果、すなわち、平均の誤り確率は、図５に示すような特性を呈した。なお、ここでは、符号化率を”１／２”としている。また、同図においては、（ｄｖ，ｄｃ）＝（４．００，８．０）、（３．９５，７．９）、（３．９０，７．８）、（３．８５，７．７）、（３．８８７５，７．７７５）符号について示している。さらに、同図における横軸は、クロスオーバーの誤り確率Ｐ０を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Ｐの”１０”を底とする対数表記を示している。
【００９７】
同図から明らかなように、ｄｖ＝４，ｄｃ＝８のときの誤り確率の閾値δ＊は、上表２に示した値ｐ１＝０．０４７６２であったのに対して、変数ｔを”０．７７５”としたとき、すなわち、ｄｖ＝３．８８７５，ｄｃ＝７．７７５とすることにより、誤り確率の閾値δ＊は、”０．０５０８７”にまで増加した。このｄｖ＝３．８８７５，ｄｃ＝７．７７５としたときの上表２における値ｐ１は、次式（２１）に示すように、”０．０５１１１７”となる。
【００９８】
【数３５】
2004088449.tif 000031
【００９９】
つぎに、ｄｖ＝３．８８７５，ｄｃ＝７．７７５を一定としたとき、ｄｖを３，４の組み合わせ以外とするとともに、ｄｃを７，８の組み合わせ以外とすることを考えた。したがって、ｄｖ，ｄｃの算出式としては、上式（１４）及び上式（１５）のそれぞれに代えて、次式（２２）及び次式（２３）を用いる。
【０１００】
【数３６】
2004088449.tif 000032
【０１０１】
【数３７】
2004088449.tif 000033
【０１０２】
ここで、ｄｖ＝３．８８７５，ｄｃ＝７．７７５を一定とすると、ディグリー・シーケンスを表す上式（１８）及び上式（１９）は、それぞれ、次式（２４）及び次式（２５）のようになる。
【０１０３】
【数３８】
2004088449.tif 000034
【０１０４】
【数３９】
2004088449.tif 000035
【０１０５】
この上式（２４）及び上式（２５）におけるｖ１，ｖ２，ｃ１，ｃ２を変化させたときにおける上式（２０）の算出結果、すなわち、平均の誤り確率は、図６に示すような特性を呈した。なお、同図においては、（ｖ１，ｖ２）＝（３，４）とするとともに、（ｃ１，ｃ２）＝（７，８）とした場合、（ｖ１，ｖ２）＝（２，４）とするとともに、（ｃ１，ｃ２）＝（７，８）とした場合、（ｖ１，ｖ２）＝（３，５）とするとともに、（ｃ１，ｃ２）＝（７，８）とした場合、（ｖ１，ｖ２）＝（２，５）とするとともに、（ｃ１，ｃ２）＝（７，８）とした場合、（ｖ１，ｖ２）＝（３，４）とするとともに、（ｃ１，ｃ２）＝（６，８）とした場合、（ｖ１，ｖ２）＝（３，４）とするとともに、（ｃ１，ｃ２）＝（７，９）とした場合について示している。さらに、同図における横軸は、クロスオーバーの誤り確率Ｐ０を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Ｐの”１０”を底とする対数表記を示している。
【０１０６】
同図から、（ｖ１，ｖ２）＝（３，４）以外の組み合わせにすると、明らかに誤り確率の閾値δ＊が小さくなることがわかる。一方、（ｃ１，ｃ２）については、変化させても誤り確率の閾値δ＊の変化が微小である。
【０１０７】
そこで、ｃ１，ｃ２を変化させたときにおける誤り確率の閾値δ＊の変化を詳細にみるために、横軸を拡大すると、図７に示す結果が得られた。なお、同図においては、（ｖ１，ｖ２）については、（３，４）に固定し、（ｃ１，ｃ２）を、それぞれ、（７，８）、（６，８）、（７，９）、（６，９）とした場合について示している。また、同図における横軸は、クロスオーバーの誤り確率Ｐ０を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Ｐの”１０”を底とする対数表記を示している。
【０１０８】
同図から明らかなように、ｃ１，ｃ２を変化させることによって誤り確率の閾値δ＊が大きくなることはない。すなわち、ギャラガのアルゴリズムＡにおいては、ｃ１，ｃ２を変化させることによって上表２に示した値ｐ１が変わることはない。しかしながら、上表２に示した値ｘ０は、ｃ１，ｃ２を変化させることによって大きくなることがわかった。このことから、ギャラガのアルゴリズムＡにおいては、ｃ１，ｃ２については分布を大きくし、ｄｖ，ｄｃについても、ここで用いた（３．８８７５，７．７７５）から変化させることにより、誤り確率の閾値δ＊を大きくすることができると期待される。
【０１０９】
そこで、イレギュラーＬＤＰＣ符号に対して適用可能な一般的な算出式を求め、誤り確率の閾値δ＊を最大にするディグリー・シーケンス、すなわち、関数λ（ｘ），ρ（ｘ）を求めてみる。
【０１１０】
上式（１８）及び上式（１９）に示したディグリー・シーケンスを表す関数λ（ｘ），ρ（ｘ）は、それぞれ、一般化すると、次式（２６）及び次式（２７）のように表すことができる。
【０１１１】
【数４０】
2004088449.tif 000036
【０１１２】
【数４１】
2004088449.tif 000037
【０１１３】
ここで、特に、これらの関数λ（ｘ），ρ（ｘ）を、それぞれ、次式（２８）及び次式（２９）に示すように２項の和からなるｘの多項式で表す。
【０１１４】
【数４２】
2004088449.tif 000038
【０１１５】
【数４３】
2004088449.tif 000039
【０１１６】
また、符号化率が”１／２”の場合には、次式（３０）に示す条件が付加される。
【０１１７】
【数４４】
2004088449.tif 000040
【０１１８】
この場合、上式（９）における”ａ”は、次式（３１）のように表すことができる。
【０１１９】
【数４５】
2004088449.tif 000041
【０１２０】
また、上式（９）は、次式（３２）のように表すことができる。
【０１２１】
【数４６】
2004088449.tif 000042
【０１２２】
したがって、上式（１２）及び上式（１３）は、それぞれ、次式（３３）及び次式（３４）に代替される。
【０１２３】
【数４７】
2004088449.tif 000043
【０１２４】
【数４８】
2004088449.tif 000044
【０１２５】
このように、ギャラガのアルゴリズムＡを用いて復号するＬＤＰＣ符号においては、ディグリー・シーケンスを表す関数λ（ｘ），ρ（ｘ）を、それぞれ、２項の和からなる多項式で表現し、誤り確率Ｐ０がある最大値に収束するように、パラメータλ１，λ２，ρ１，ρ２，ｎ１，ｎ２，ｍ１，ｍ２を設定することにより、クロスオーバーの誤り確率が大きくても復号の誤り確率が”０”となる最適な符号化を実現することができる。
【０１２６】
さて、以下では、以上の議論を踏まえて構成されるデータ送受信システムについて説明する。
【０１２７】
データ送受信システムにおける送信装置が備える符号化装置１は、例えば図８に示すように、ディグリー・シーケンスを算出するディグリー・シーケンス算出部１０と、このディグリー・シーケンス算出部１０によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成部２０と、この検査行列生成部２０によって生成された検査行列を用いてＬＤＰＣ符号による符号化を行う符号化部３０とを有する。
【０１２８】
ディグリー・シーケンス算出部１０は、上述した議論に基づいて、誤り確率の閾値δ＊を最大とする検査行列を生成するための最適なディグリー・シーケンスを算出する。具体的には、ディグリー・シーケンス算出部１０は、符号化率が”１／２”の符号化を行う場合には、図９に示すような一連の工程を経ることにより、ディグリー・シーケンスを算出する。
【０１２９】
まず、ディグリー・シーケンス算出部１０は、同図に示すように、ステップＳ１において、検査行列における縦方向（列）の”１”の個数を示す上述したパラメータｎ１，ｎ２がユーザによって任意に設定されるとともに、パラメータｎ１で表される”１”の個数の割合を示す上述したパラメータλ１の初期値がユーザによって任意に設定される。
【０１３０】
続いて、ディグリー・シーケンス算出部１０は、ステップＳ２において、検査行列における横方向（行）の”１”の個数を示す上述したパラメータｍ１，ｍ２の関係、すなわち、次式（３５）と、上式（２８）及び上式（２９）のそれぞれにおけるただし書き、すなわち、次式（３６）及び次式（３７）と、上式（３０）と、ステップＳ１にて設定されたパラメータｎ１，ｎ２，λ１の初期値とに基づいて、パラメータλ２，ρ１，ρ２，ｍ１，ｍ２を求める。
【０１３１】
【数４９】
2004088449.tif 000045
【０１３２】
【数５０】
2004088449.tif 000046
【０１３３】
【数５１】
2004088449.tif 000047
【０１３４】
続いて、ディグリー・シーケンス算出部１０は、ステップＳ３において、上式（３１）及び上式（３２）に基づいて、誤り確率Ｐｉが”０”に収束する最大の誤り確率Ｐ０を求める。
【０１３５】
続いて、ディグリー・シーケンス算出部１０は、ステップＳ４において、誤り確率Ｐ０が、パラメータλ１の１変数の関数で表される関数の最大値に収束したか否かを判定する。
【０１３６】
ここで、ディグリー・シーケンス算出部１０は、誤り確率Ｐ０が収束していないものと判定した場合には、ステップＳ５において、パラメータλ１を、誤り確率Ｐ０が大きくなるように変化させ、このパラメータλ１を用いて、ステップＳ２からの処理を繰り返す。
【０１３７】
そして、ディグリー・シーケンス算出部１０は、誤り確率Ｐ０が収束したものと判定した場合には、求められたパラメータλ１，λ２，ρ１，ρ２，ｎ１，ｎ２，ｍ１，ｍ２に基づいて、ディグリー・シーケンスを表す関数λ（ｘ），ρ（ｘ）を算出し、一連の処理を終了する。
【０１３８】
このように、ディグリー・シーケンス算出部１０は、検査行列における縦方向（列）の１の個数の分布を表すディグリー・シーケンスを、１の個数として異なる２種類の個数ｎ１，ｎ２と、これら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする２項の和からなる多項式で表現するとともに、検査行列における横方向（行）の１の個数の分布を表すディグリー・シーケンスを、１の個数として異なる２種類の個数ｍ１，ｍ２と、これら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする２項の和からなる多項式で表現する。ディグリー・シーケンス算出部１０は、算出したディグリー・シーケンスを示す情報を、検査行列生成部２０に供給する。
【０１３９】
検査行列生成部２０は、ディグリー・シーケンス算出部１０によって算出されたディグリー・シーケンスに基づいて検査行列を生成する。検査行列生成部２０は、生成した検査行列を符号化部３０に供給する。
【０１４０】
符号化部３０は、検査行列生成部２０によって生成された検査行列を用いてＬＤＰＣ符号による符号化を行う。具体的には、符号化部３０は、検査行列に基づいて生成行列を生成し、この生成行列を情報ビットとして入力される入力データＤ１に対して積算することによって符号ビットとしての符号化データＤ２を生成する。符号化部３０は、生成した符号化データＤ２を図示しない変調器に出力する。
【０１４１】
このような符号化装置１は、入力データＤ１に対して誤り確率の閾値δ＊を最大とする最適な符号化を行う。この符号化装置１によって符号化された符号化データＤ２は、値が”０”の符号ビットが”＋１”に、値が”１”の符号ビットが”−１”にといったように図示しない変調器によってマッピングされて送信され、所定の通信路２を介して受信装置によって受信されることになる。
【０１４２】
一方、データ送受信システムにおける受信装置が備える復号装置３は、例えば図１０に示すように、送信装置から通信路２を介して送信されたデータＤ３を受信する受信部５０と、この受信部５０によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出部６０とを有する。この復号装置３は、通信路２上で発生した雑音の影響によって実数値をとる受信値に基づいて符号化装置１における入力データＤ１を推定し、復号データＤ４として出力する。
【０１４３】
受信部５０は、送信装置から通信路２を介して送信されたデータＤ３を受信値として受信する。受信部５０は、受信した受信値をメッセージ算出部６０に供給する。
【０１４４】
メッセージ算出部６０は、Ｇａｌｌａｇｅｒによって提案された上述したギャラガのアルゴリズムＡに基づく復号処理を行う。具体的には、メッセージ算出部６０は、受信値に基づいてバリアブルノード（ｖａｌｉａｂｌｅ　ｎｏｄｅ）から出力されるメッセージを算出し、さらに、このメッセージに基づいて、チェックノード（ｃｈｅｃｋ　ｎｏｄｅ）から出力されるメッセージを算出する、といった一連の復号動作を所定の回数だけ反復して行い、情報ビットとしてのメッセージを算出する。メッセージ算出部６０は、算出したメッセージを復号データＤ４として外部に出力する。
【０１４５】
このような復号装置３は、符号化装置１によって符号化されて送信されたデータＤ３に対してギャラガのアルゴリズムＡに基づく繰り返し復号を行うことにより、復号複雑度が高い符号の特性を逐次的に向上させ、所定の回数の復号動作の結果得られた復号データＤ４を出力する。
【０１４６】
さて、このようなデータ送受信システムにおいて、符号化率が”１／２”の場合における誤り確率の閾値δ＊を最大とする最適なディグリー・シーケンスを実際に求めると以下のような結果が得られた。
【０１４７】
すなわち、符号化装置１におけるディグリー・シーケンス算出部１０は、誤り確率Ｐ０の最大値、すなわち、誤り確率の閾値δ＊として、”０．０５０９２９”を求めることができた。このときのディグリー・シーケンスは、次式（３８）及び次式（３９）で表される。
【０１４８】
【数５２】
2004088449.tif 000048
【０１４９】
【数５３】
2004088449.tif 000049
【０１５０】
すなわち、誤り確率の閾値δ＊を最大とするディグリー・シーケンスに基づく検査行列としては、縦方向（列）の”１”の個数が”３”であるものと”４”であるものとを組み合わせるとともに、横方向（行）の”１”の個数が”６”であるものと”７”であるものとを組み合わせたものが最適であるという結果が得られた。そして、この検査行列としては、縦方向（列）の”１”の個数が”３”である割合を１２．５６４％とし、縦方向（列）の”１”の個数が”４”である割合を８７．４３６％とするとともに、横方向（行）の”１”の個数が”６”である割合を２９．３１６％とし、横方向（行）の”１”の個数が”７”である割合を７０．６８４％としたものが最適であるという結果が得られた。
【０１５１】
したがって、符号化装置１は、このディグリー・シーケンスに基づいて、検査行列生成部２０によって検査行列を生成することにより、クロスオーバーの誤り確率Ｐ０が”０．０５０９２９”よりも小さいものであれば、復号の誤り確率を”０”に収束させることができる符号化を実現することができる。
【０１５２】
以上説明したように、本発明の実施の形態として示したデータ送受信システムにおける符号化装置１は、レギュラーＬＤＰＣ符号に対して適用可能な誤り確率の閾値δ＊の算出式を、イレギュラーＬＤＰＣ符号に対して適用可能な算出式に拡張し、ディグリー・シーケンスを２項の和からなる多項式で表現した最適化を行うことができ、誤り確率の閾値δ＊を最大とする最適な符号化を行うことができる。
【０１５３】
また、復号装置３は、このような符号化装置１によって符号化がなされた符号をギャラガのアルゴリズムＡを用いて高精度に復号することができる。
【０１５４】
したがって、データ送受信システムは、符号の性能の大幅な向上を図ることができ、ユーザに優れた利便・信頼性を提供することができるものである。
【０１５５】
なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述した実施の形態では、符号化装置及び復号装置をデータ送受信システムにおける送信装置及び受信装置に適用して説明したが、本発明は、例えば、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ又はＭＯ（Ｍａｇｎｅｔｏ　Ｏｐｔｉｃ）といった、磁気、光又は光磁気ディスク等の記録媒体に対する記録及び／又は再生を行う記録及び／又は再生装置に適用することもできる。この場合、符号化装置によって符号化されたデータは、通信路に等価とされる記録媒体に記録され、復号装置によって復号されて再生されることになる。
【０１５６】
また、上述した実施の形態では、符号化装置及び復号装置ともハードウェアによって構成された装置であるものとして説明したが、これらの符号化装置及び復号装置とも、例えばワークステーションやパーソナルコンピュータといったコンピュータ装置において実行可能なソフトウェアとして実現することが可能である。以下、この例について、図１１を参照して説明する。
【０１５７】
コンピュータ装置１５０は、同図に示すように、各部を統括して制御するＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１５１と、各種プログラムを含む情報を格納する読み取り専用のＲＯＭ１５２と、ワークエリアとして機能するＲＡＭ（ＲａｎｄｏｍＡｃｃｅｓｓ　Ｍｅｍｏｒｙ）１５３と、各種プログラムやデータ等の記録及び／又は再生を行うＨＤＤ（Ｈａｒｄ　Ｄｉｓｋ　Ｄｒｉｖｅ）１５４と、これらのＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３及びＨＤＤ１５４を接続するバス１５５と、ＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３及びＨＤＤ１５４と後述する表示部１５７、入力部１５８、通信部１５９及びドライブ１６０との間でデータの入出力を行うための入出力インターフェース１５６と、各種情報を表示する表示部１５７と、ユーザによる操作を受け付ける入力部１５８と、外部との通信を行うための通信部１５９と、着脱自在とされる記録媒体１７０に対する各種情報の記録及び／又は再生を行うドライブ１６０とを備える。
【０１５８】
ＣＰＵ１５１は、バス１５５を介してＲＯＭ１５２、ＲＡＭ１５３及びＨＤＤ１５４と接続しており、これらのＲＯＭ１５２、ＲＡＭ１５３及びＨＤＤ１５４を制御する。また、ＣＰＵ１５１は、バス１５５を介して入出力インターフェース１５６に接続しており、この入出力インターフェース１５６に接続されている表示部１５７、入力部１５８、通信部１５９及びドライブ１６０を制御する。さらに、ＣＰＵ１５１は、ＲＯＭ１５２、ＨＤＤ１５４又はドライブ１６０に装着された記録媒体１７０に記録されている各種プログラムを実行する。
【０１５９】
ＲＯＭ１５２は、各種プログラムを含む情報を格納している。このＲＯＭ１５２に格納されている情報は、ＣＰＵ１５１の制御の下に読み出される。
【０１６０】
ＲＡＭ１５３は、ＣＰＵ１５１が各種プログラムを実行する際のワークエリアとして機能し、ＣＰＵ１５１の制御の下に、各種データを一時記憶する。
【０１６１】
ＨＤＤ１５４は、ＣＰＵ１５１の制御の下に、ハードディスクに対して各種プログラムやデータ等の記録及び／又は再生を行う。
【０１６２】
バス１５５は、ＣＰＵ１５１の制御の下に、ＲＯＭ１５２、ＲＡＭ１５３及びＨＤＤ１５４から読み出された各種データ等を伝送するとともに、ＲＡＭ１５３及びＨＤＤ１５４に記録する各種データ等を伝送する。
【０１６３】
入出力インターフェース１５６は、ＣＰＵ１５１の制御の下に表示部１５７に各種情報を表示するためのインターフェースと、ユーザによって入力部１５８を介して操作された内容を示す制御信号をＣＰＵ１５１に対して伝送するためのインターフェースと、ＣＰＵ１５１の制御の下に通信部１５９を介して外部との間でデータを入出力するためのインターフェースと、ドライブ１６０に装着された記録媒体１７０に対して各種情報の記録及び／又は再生を行うためのインターフェースとを有し、ＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３及びＨＤＤ１５４からのデータを表示部１５７、入力部１５８、通信部１５９及びドライブ１６０に対して出力したり、表示部１５７、入力部１５８、通信部１５９及びドライブ１６０からのデータをＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３及びＨＤＤ１５４に対して入力したりする。
【０１６４】
表示部１５７は、例えばＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）からなり、ＣＰＵ１５１の制御の下に、例えばＨＤＤ１５４に記録されていたデータ等の各種情報を表示する。
【０１６５】
入力部１５８は、例えばユーザによるキーボードやマウスの操作を受け付け、操作内容を示す制御信号をＣＰＵ１５１に対して出力する。
【０１６６】
通信部１５９は、ＣＰＵ１５１の制御の下に、例えばネットワーク回線や衛星回線等によって外部との通信を行うインターフェースとして機能する。
【０１６７】
ドライブ１６０は、例えば、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ又はＭＯといった、磁気、光又は光磁気ディスク等の記録媒体１７０を着脱し、ＣＰＵ１５１の制御の下に、装着された記録媒体１７０に対する各種情報の記録及び／又は再生を行う。
【０１６８】
このようなコンピュータ装置１５０は、ＣＰＵ１５１によって所定のプログラムを実行することにより、上述した符号化装置１における符号化処理及び／又は復号装置３における復号処理を実現する。
【０１６９】
まず、コンピュータ装置１５０における符号化処理について説明する。
【０１７０】
コンピュータ装置１５０は、例えばユーザが符号化プログラムを実行するための所定の操作を行うと、入力部１５８により、操作内容を示す制御信号をＣＰＵ１５１に対して供給する。これに応じて、コンピュータ装置１５０は、ＣＰＵ１５１により、符号化プログラムをＲＡＭ１５３にロードして実行し、符号化及び変調して得られたデータを通信部１５９を介して外部へと出力するとともに、必要に応じて、表示部１５７に処理結果等を表示する。
【０１７１】
ここで、符号化プログラムは、例えば記録媒体１７０によって提供されるものであって、ＣＰＵ１５１の制御の下に、この記録媒体１７０から直接読み出されてもよく、ハードディスクに１度記録されたものが読み出されてもよい。また、符号化プログラムは、ＲＯＭ１５２に予め格納されていてもよい。さらに、符号化の対象とするデータは、ここではハードディスクに記録されているものとする。なお、このデータは、上述した入力データＤ１に対応するものである。
【０１７２】
具体的には、コンピュータ装置１５０は、ＣＰＵ１５１によって符号化プログラムを実行すると、ＣＰＵ１５１の制御の下に、先に図９に示した一連の工程を行うことによってディグリー・シーケンスを算出する。
【０１７３】
続いて、コンピュータ装置１５０は、ＣＰＵ１５１の制御の下に、算出したディグリー・シーケンスに基づいて検査行列を生成する。
【０１７４】
続いて、コンピュータ装置１５０は、ＣＰＵ１５１の制御の下に、ハードディスクに記録されている所望のデータを読み出し、このデータに対して検査行列に基づく生成行列を積算することによってＬＤＰＣ符号による符号化を行い、上述した符号化データＤ２に対応する符号化データを生成する。
【０１７５】
そして、コンピュータ装置１５０は、ＣＰＵ１５１の制御の下に、生成した符号化データを所定の伝送シンボルにマッピングし、生成した伝送シンボルを１度ハードディスク等に記録した後、所望のタイミングで伝送シンボルを読み出し、通信部１５９を介して外部へと出力するとともに、必要に応じて、表示部１５７に処理結果等を表示する。なお、生成した伝送シンボルは、記録媒体１７０等に記録することもできる。
【０１７６】
このように、コンピュータ装置１５０は、上述した符号化装置１における符号化処理を符号化プログラムを実行することによって実現することができる。
【０１７７】
つぎに、コンピュータ装置１５０における復号処理について説明する。
【０１７８】
コンピュータ装置１５０は、例えばユーザが復号プログラムを実行するための所定の操作を行うと、入力部１５８により、操作内容を示す制御信号をＣＰＵ１５１に対して供給する。これに応じて、コンピュータ装置１５０は、ＣＰＵ１５１により、復号プログラムをＲＡＭ１５３にロードして実行し、通信部１５９を介して外部から受信し、この受信値を復号するとともに、必要に応じて、表示部１５７に処理結果等を表示する。
【０１７９】
なお、復号プログラムも、符号化プログラムと同様に、例えば記録媒体１７０により提供されるものであって、ＣＰＵ１５１の制御の下に、この記録媒体１７０から直接読み出されてもよく、ハードディスクに１度記録されたものが読み出されてもよい。また、復号プログラムは、ＲＯＭ１５２に予め格納されていてもよい。
【０１８０】
具体的には、コンピュータ装置１５０は、ＣＰＵ１５１によって復号プログラムを実行すると、ＣＰＵ１５１の制御の下に、ハードディスクから読み出した受信値、若しくは通信部１５９を介して受信した受信値に対して、ギャラガのアルゴリズムＡに基づく復号処理を行う。
【０１８１】
そして、コンピュータ装置１５０は、ＣＰＵ１５１の制御の下に、このような復号動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、上述した復号データＤ４に対応する所定の回数の復号動作の結果得られた復号データを出力する。
【０１８２】
コンピュータ装置１５０は、ＣＰＵ１５１の制御の下に、得られた復号データをハードディスク等に記録し、必要に応じて、表示部１５７に処理結果等を表示する。なお、得られた復号データは、記録媒体１７０等に記録することもできる。
【０１８３】
このように、コンピュータ装置１５０は、上述した復号装置３における復号処理を復号プログラムを実行することによって実現することができる。
【０１８４】
以上のように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０１８５】
【発明の効果】
以上詳細に説明したように、本発明にかかる符号化装置は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現するとともに、検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【０１８６】
【数５４】
2004088449.tif 000050
【０１８７】
【数５５】
2004088449.tif 000051
【０１８８】
したがって、本発明にかかる符号化装置は、一般式（１）及び一般式（２）で表される２項の和からなる多項式でディグリー・シーケンスを表現し、ディグリー・シーケンス算出手段によって誤り確率の閾値を最大とするディグリー・シーケンスを算出することにより、符号の性能を大幅に向上させることができる。
【０１８９】
また、本発明にかかる符号化方法は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現されるとともに、検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される。
【０１９０】
【数５６】
2004088449.tif 000052
【０１９１】
【数５７】
2004088449.tif 000053
【０１９２】
したがって、本発明にかかる符号化方法は、一般式（１）及び一般式（２）で表される２項の和からなる多項式でディグリー・シーケンスを表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出することにより、符号の性能を大幅に向上させることが可能となる。
【０１９３】
さらに、本発明にかかる復号装置は、検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現するとともに、検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスを、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信されたデータを受信値として受信する受信手段と、この受信手段によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備える。
【０１９４】
【数５８】
2004088449.tif 000054
【０１９５】
【数５９】
2004088449.tif 000055
【０１９６】
したがって、本発明にかかる復号装置は、一般式（１）及び一般式（２）で表される２項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号をメッセージ算出手段によって高精度に復号することができる。
【０１９７】
さらにまた、本発明にかかる復号方法は、検査行列における１の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の１の個数の分布を表す縦方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｎ１，ｎ２とこれら２種類の個数ｎ１，ｎ２の割合λ１，λ２とをパラメータとする下記一般式（１）で表される２項の和からなる多項式で表現されるとともに、検査行列における横方向の１の個数の分布を表す横方向ディグリー・シーケンスが、１の個数として異なる２種類の個数ｍ１，ｍ２とこれら２種類の個数ｍ１，ｍ２の割合ρ１，ρ２とをパラメータとする下記一般式（２）で表される２項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきたデータを受信値として受信する受信工程と、この受信工程にて受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えることを特徴としている。
【０１９８】
【数６０】
2004088449.tif 000056
【０１９９】
【数６１】
2004088449.tif 000057
【０２００】
したがって、本発明にかかる復号方法は、一般式（１）及び一般式（２）で表される２項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号を高精度に復号することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態として示すデータ送受信システムを適用する通信モデルの構成を説明するブロック図である。
【図２】（３，６）符号を復号する際における各ノード間でのメッセージの流れを説明する図であって、クロスオーバーの誤り確率をＰ０と、所定回数の繰り返し復号後の誤り確率とを説明するための図である。
【図３】ギャラガのアルゴリズムＡの誤り訂正の特性を説明する図である。
【図４】ギャラガのアルゴリズムＡの誤り訂正の特性を説明する図であって、ｄｖ＝４，５のときにおけるＬＤＰＣ符号の１ブロックの大きさｎを１０００００に増加させたときにおける特性を説明する図である。
【図５】ギャラガのアルゴリズムＡの誤り訂正の特性を説明する図であって、変数ｔを変化させ、さらに、ｄｖ，ｄｃを変化させたときにおける特性を説明する図である。
【図６】ギャラガのアルゴリズムＡの誤り訂正の特性を説明する図であって、ｖ１，ｖ２，ｃ１，ｃ２を変化させたときにおける特性を説明する図である。
【図７】ギャラガのアルゴリズムＡの誤り訂正の特性を説明する図であって、ｃ１，ｃ２を変化させたときにおける誤り確率の閾値δ＊の変化を詳細にみるために横軸を拡大した図である。
【図８】同データ送受信システムにおける符号化装置の構成を説明するブロック図である。
【図９】同符号化装置が有するディグリー・シーケンス算出部によって最適なディグリー・シーケンスを算出する際の一連の工程を説明するフローチャートである。
【図１０】同データ送受信システムにおける復号装置の構成を説明するブロック図である。
【図１１】コンピュータ装置の構成を説明するブロック図である。
【図１２】疎な検査行列の一例を説明する図である。
【図１３】ＬＤＰＣ符号を復号する際の一連の手順を説明するフローチャートである。
【図１４】（３，６）符号を復号する際における各ノード間でのメッセージの流れを説明する図である。
【符号の説明】
１　符号化装置、　３　復号装置、　１０　ディグリー・シーケンス算出部、２０　検査行列生成部、　３０　符号化部、　５０　受信部、　６０　メッセージ算出部、　１５０　コンピュータ装置
【図１】
2004088449.tif 000066
【図２】
2004088449.tif 000067
【図３】
2004088449.tif 000068
【図４】
2004088449.tif 000069
【図５】
2004088449.tif 000070
【図６】
2004088449.tif 000071
【図７】
2004088449.tif 000072
【図８】
2004088449.tif 000073
【図９】
2004088449.tif 000074
【図１０】
2004088449.tif 000075
【図１１】
2004088449.tif 000076
【図１２】
2004088449.tif 000077
【図１３】
2004088449.tif 000078
【図１４】
2004088449.tif 000079