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