JP2004088449A - 符号化装置及び符号化方法、並びに復号装置及び復号方法 - Google Patents
符号化装置及び符号化方法、並びに復号装置及び復号方法 Download PDFInfo
- Publication number
- JP2004088449A JP2004088449A JP2002247102A JP2002247102A JP2004088449A JP 2004088449 A JP2004088449 A JP 2004088449A JP 2002247102 A JP2002247102 A JP 2002247102A JP 2002247102 A JP2002247102 A JP 2002247102A JP 2004088449 A JP2004088449 A JP 2004088449A
- Authority
- JP
- Japan
- Prior art keywords
- parity check
- check matrix
- degree sequence
- encoding
- degree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
【課題】レギュラーLDPC符号に対して適用可能な誤り確率の閾値δ*を求めるための算出式を、イレギュラーLDPC符号に対して適用可能に拡張し、符号性能を向上させる。
【解決手段】符号化装置におけるディグリー・シーケンス算出部は、検査行列における縦方向の”1”の個数の分布を表すディグリー・シーケンスを、”1”の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする2項の和からなる多項式で表現するとともに、検査行列における横方向の”1”の個数の分布を表す横方向ディグリー・シーケンスを、”1”の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【選択図】 図9
【解決手段】符号化装置におけるディグリー・シーケンス算出部は、検査行列における縦方向の”1”の個数の分布を表すディグリー・シーケンスを、”1”の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする2項の和からなる多項式で表現するとともに、検査行列における横方向の”1”の個数の分布を表す横方向ディグリー・シーケンスを、”1”の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【選択図】 図9
Description
【0001】
【発明の属する技術分野】
本発明は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置及び符号化方法、並びにこれらの符号化装置及び符号化方法によって符号化が施された符号の復号を行う復号装置及び復号方法に関する。
【0002】
【従来の技術】
近年、例えば、移動体通信や深宇宙通信といった通信分野、及び地上波又は衛星ディジタル放送といった放送分野の研究が著しく進められているが、それにともない、誤り訂正符号化及び復号の効率化を目的として符号理論に関する研究も盛んに行われている。
【0003】
符号性能の理論的限界としては、いわゆるシャノン(C. E. Shannon)の通信路符号化定理によって与えられるシャノン限界が知られている。
【0004】
符号理論に関する研究は、このシャノン限界に近い性能を示す符号を開発することを目的として行われている。近年では、シャノン限界に近い性能を示す符号化方法として、例えば、並列連接畳み込み符号(Parallel Concatenated Convolutional Codes;PCCC)や縦列連接畳み込み符号(Serially Concatenated Convolutional Codes;SCCC)といったいわゆるターボ符号化(Turbo coding)と呼ばれる手法が開発されている。
【0005】
また、これらのターボ符号が開発される一方で、古くから知られる符号化方法である低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)が脚光を浴びつつある。
【0006】
このLDPC符号は、R. G. Gallagerによる「R. G. Gallager, ”Low−DensityParity−Check Codes”, Cambridge, Massachusetts: M. I. T. Press, 1963」によって最初に提案されたものであり、その後、「D. J. C. MacKay, ”Good errorcorrecting codes based on very sparse matrices”, Submitted to IEEE Trans. Inf. Theory, IT−45, pp. 399−431, 1999」や「M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi and D. A. Spielman, ”Analysis of low density codes and improved designs using irregular graphs”, Available at http://www.icsi.berkeley.edu/ ̄luby/」等によって再発見されるに至ったものである。
【0007】
LDPC符号は、近年の研究により、ターボ符号等と同様に、符号長を長くしていくにしたがって、シャノン限界に近い性能が得られることがわかりつつある。また、LDPC符号は、最小距離が符号長に比例するという性質があることから、その特徴として、ブロック誤り確率特性がよく、さらに、ターボ符号等の復号特性において観測されるいわゆるエラーフロア現象が殆ど生じないことも利点として挙げられる。
【0008】
以下、このようなLDPC符号について具体的に説明する。なお、LDPC符号は、線形符号であり、必ずしも2元である必要はないが、ここでは、2元であるものとして説明する。
【0009】
LDPC符号は、当該符号を定義する検査行列が疎なものであることを最大の特徴とするものである。ここで、疎な行列とは、当該行列内の”1”の個数が非常に少なく構成されるものであり、疎な検査行列を”H”で表すものとすると、例えば図12に示すように、各列のハミング重みが”3”であり、且つ、各行のハミング重みが”6”であるもの等が考えられる。
【0010】
このように、各行及び各列のハミング重みが一定である検査行列Hによって定義されるLDPC符号は、レギュラーLDPC符号と称される。一方、各行及び各列のハミング重みが一定でない検査行列Hによって定義されるLDPC符号は、イレギュラーLDPC符号と称される。
【0011】
このようなLDPC符号による符号化は、検査行列Hに基づいて生成行列Gを生成し、この生成行列Gを2元の情報メッセージに対して積算することによって符号語を生成することで実現される。具体的には、LDPC符号による符号化を行う符号化装置は、まず、検査行列Hの転置行列HTと算出される生成行列Gとの間に、GHT=0が成立する生成行列Gを算出する。ここで、生成行列Gが、k×n行列である場合には、符号化装置は、当該生成行列Gに対してkビットからなる情報メッセージを積算し、nビットからなる符号語を生成する。この符号化装置によって生成された符号語は、値が”0”の符号ビットが”+1”に、値が”1”の符号ビットが”−1”にといったようにマッピングされて送信され、所定の通信路を介して復号装置によって受信されることになる。
【0012】
一方、このLDPC符号の復号は、上述したGallagerが”Probabilistic Decoding”と称して提案したアルゴリズムであって、バリアブルノード(valiable node(メッセージノード(message node)ともいう。))とチェックノード(checknode)とからなるいわゆるタナーグラフ(Tanner graph)上での確率伝播(belief propagation)によるメッセージ・パッシング・アルゴリズムによって行うことが可能である。しかしながら、この”Probabilistic Decoding”においては、各ノード間で受け渡されるメッセージが実数値であることから、解析的に解くためには、連続した値をとるメッセージの確率分布そのものを追跡する必要があり、非常に困難をともなう解析を必要とすることになる。
【0013】
そこで、Gallagerは、LDPC符号の復号アルゴリズムとして、アルゴリズムA又はアルゴリズムBを提案している。
【0014】
一般的には、LDPC符号の復号は、図13に示すような手順にしたがって行われる。なお、ここでは、受信値をU0(u0i)とし、チェックノードから出力されるメッセージをujとし、バリアブルノードから出力されるメッセージをviとしており、メッセージとは、値の”0”らしさをいわゆる対数尤度比(log likelihood ratio)で表現した実数値である。
【0015】
まず、LDPC符号の復号においては、同図に示すように、ステップS11において、受信値U0(u0i)を受信すると、メッセージujを”0”とするとともに、繰り返し処理のカウンタとしての整数kを”0”とする。
【0016】
続いて、LDPC符号の復号においては、ステップS12において、受信値U0(u0i)に基づいて、次式(3)に示す演算を行うことによってメッセージviを求め、さらに、このメッセージviに基づいて、次式(4)に示す演算を行うことによってメッセージujを求める。そして、LDPC符号の復号においては、整数kを”1”だけインクリメントする。
【0017】
【数9】
【0018】
【数10】
【0019】
なお、上式(3)及び上式(4)におけるdv,dcは、それぞれ、上述した検査行列Hの縦方向(列)及び横方向(行)の”1”の個数を示す任意に選択可能とされるパラメータであり、例えば(3,6)符号の場合には、dv=3,dc=6となる。ここで、上式(3)及び上式(4)に示す演算においては、それぞれ、出力しようとするエッジから入力されたメッセージを、積又は和演算のパラメータとしては用いないことから、積又は和演算の範囲がdv−1,dc−1までとなっている。また、上式(4)に示す演算は、実際には、2入力v1,v2に対する1出力で定義される次式(5)に示す関数Rのテーブルを予め作成しておき、これを次式(6)に示すように連続的に用いることによって行われる。
【0020】
【数11】
【0021】
【数12】
【0022】
続いて、LDPC符号の復号においては、ステップS13において、整数kがNよりも大きいか否かを判定する。
【0023】
ここで、LDPC符号の復号においては、整数kがNよりも大きくないものと判定した場合には、ステップS12からの処理を繰り返す一方で、整数kがNよりも大きいものと判定した場合には、ステップS14へと処理を移行する。
【0024】
そして、LDPC符号の復号においては、ステップS14において、次式(7)に示す演算を行うことによって最終的に出力する復号結果としてのメッセージviを求めて出力し、一連の処理を終了する。次式(7)に示す演算においては、上式(3)とは異なり、接続している全てのエッジからの入力メッセージを用いて行われる。
【0025】
【数13】
【0026】
このようなLDPC符号の復号は、例えば(3,6)符号の場合には、図14に示すように各ノード間でメッセージの授受が行われる。なお、同図における”=”で示すノードでは、上式(3)に示した演算が行われ、”+”で示すノードでは、上式(4)に示した演算が行われる。特に、上述したアルゴリズムA(以下、ギャラガのアルゴリズムAという。)においては、メッセージを2元化し、”+”で示すノードにて、dc−1個の入力メッセージの排他的論理和演算を行い、”=”で示すノードにて、受信値Rに対して、dv−1個の入力メッセージが全て異なるビット値であった場合には符号を反転して出力する。
【0027】
【発明が解決しようとする課題】
ところで、上述したギャラガのアルゴリズムAにおいては、クロスオーバーの誤り確率がある正の小さな値δ*よりも小さい場合には復号の誤り確率が”0”に収束し、クロスオーバーの誤り確率がある正の小さな値δ*よりも大きい場合には復号の誤り確率が”0”に収束しないことが知られている。この誤り確率の閾値δ*は、ある多項式の唯一の正の実根として与えられる。
【0028】
具体的には、誤り確率の閾値δ*は、「Tom Richardson, Rudiger Urbanke, ”The Capacity of Low−Density Parity Check Codes under Message−Passing Decoding”, Bell Labs. Lucent Technologies Murray Hill, NJ 07974, 1998」によれば、次表1に示すような値をとる。
【0029】
【表1】
【0030】
このように、ギャラガのアルゴリズムAにおいては、符号構成に応じた誤り確率の閾値δ*が存在する。ここで、LDPC符号の復号性能を向上させるには、この誤り確率の閾値δ*を大きくする必要がある。しかしながら、ギャラガのアルゴリズムAにおいては、上表1から明らかなように、例えばレギュラーな(3,6)符号の場合には、誤り確率が約0.04程度まででなければ訂正することができない。
【0031】
ここで、LDPC符号の性能を向上させるには、イレギュラーな符号を用いることが考えられる。
【0032】
しかしながら、現在提案されている誤り確率の閾値δ*を求めるための算出式は、レギュラーLDPC符号に対して適用可能なものであり、イレギュラーLDPC符号に対して適用可能な算出式は未だ存在していない。したがって、ギャラガのアルゴリズムAにおいては、イレギュラーLDPC符号に対して適用可能な算出式を提案することができれば、誤り確率の閾値δ*を大きくすることができる余地があることがわかる。
【0033】
本発明は、このような実情に鑑みてなされたものであり、誤り確率の閾値δ*を求めるための算出式を、イレギュラーLDPC符号に対して適用可能に拡張し、符号性能を向上させることができる符号化装置及び符号化方法、並びにこれらの符号化装置及び符号化方法によるLDPC符号の復号を高精度に行うことができる復号装置及び復号方法を提供することを目的とする。
【0034】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる符号化装置は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出することを特徴としている。
【0035】
【数14】
【0036】
【数15】
【0037】
このような本発明にかかる符号化装置は、一般式(1)及び一般式(2)で表される2項の和からなる多項式でディグリー・シーケンスを表現し、ディグリー・シーケンス算出手段によって誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【0038】
また、上述した目的を達成する本発明にかかる符号化方法は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出されることを特徴としている。
【0039】
【数16】
【0040】
【数17】
【0041】
このような本発明にかかる符号化方法は、一般式(1)及び一般式(2)で表される2項の和からなる多項式でディグリー・シーケンスを表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【0042】
さらに、上述した目的を達成する本発明にかかる復号装置は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信されたデータを受信値として受信する受信手段と、この受信手段によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備えることを特徴としている。
【0043】
【数18】
【0044】
【数19】
【0045】
このような本発明にかかる復号装置は、一般式(1)及び一般式(2)で表される2項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号をメッセージ算出手段によって復号する。
【0046】
さらにまた、上述した目的を達成する本発明にかかる復号方法は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきたデータを受信値として受信する受信工程と、この受信工程にて受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えることを特徴としている。
【0047】
【数20】
【0048】
【数21】
【0049】
このような本発明にかかる復号方法は、一般式(1)及び一般式(2)で表される2項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号を復号する。
【0050】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0051】
この実施の形態は、図1に示すように、ディジタル情報を図示しない送信装置が備える符号化装置1によって符号化し、その出力を雑音のある所定の通信路2を介して図示しない受信装置に入力して、この受信装置が備える復号装置3によって復号する通信モデルに適用したデータ送受信システムである。
【0052】
このデータ送受信システムにおいて、符号化装置1は、低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)による符号化を行うものとして構成されるものである。この符号化装置1は、Gallagerによって提案された復号アルゴリズムであるアルゴリズムA(以下、ギャラガのアルゴリズムAという。)を用いて後述する復号装置によってレギュラーLDPC符号を復号する場合に適用可能な誤り確率の閾値を求める算出式を、イレギュラーLDPC符号でも適用可能なものに拡張し、最適な検査行列を生成することにより、符号性能を向上させることができるものである。
【0053】
一方、復号装置3は、符号化装置1によって符号化がなされた符号の復号を行うものであって、上述したギャラガのアルゴリズムAを用いた繰り返し復号を行うものとして構成され、高精度にLDPC符号の復号を行うことができるものである。
【0054】
まず、以下では、データ送受信システムの具体的な構成の説明に先だって、当該データ送受信システムによる符号化処理及び復号処理の指針を与える議論を行う。具体的には、以下では、レギュラーLDPC符号に対する誤り確率の閾値の算出式と、この算出式を拡張してイレギュラーLDPC符号に対して適用可能とした新たに提案する算出式とについて説明し、これらの算出式を用いたギャラガのアルゴリズムAの性能解析結果について説明する。
【0055】
まず、レギュラーLDPC符号に対する誤り確率の閾値の算出式について説明する。
【0056】
ギャラガのアルゴリズムAの性能解析を試みる。ギャラガのアルゴリズムAにおいては、メッセージがバイナリであることから、通信路としていわゆるBSCを考える。なお、通信路としていわゆるAWGNを考える場合であっても、受信値の符号を用いれば同様である。BSCのクロスオーバーの誤り確率をP0とし、オールゼロの符号語を送信したと仮定する。いわゆる(3,6)符号におけるメッセージの流れは、図2に示すようになる。
【0057】
ここで、同図中2段目の”+”で示すノードに入力するメッセージが誤りである確率をPiとする。すなわち、ここでは、オールゼロの符号語を送信したと仮定していることから、誤り確率Piは、メッセージが”1”である確率を示すものとなる。
【0058】
この場合、同図中2段目の”+”で示すノードから出力されるメッセージが”0”となる確率は、入力するdc−1個のメッセージの排他的論理和が”0”である確率であることから、次式(8)で表すことができる。
【0059】
【数22】
【0060】
したがって、メッセージRi+1が誤っているとき、すなわち、Ri+1=1であるときに、”=”で示すノードに入力するdv−1個のメッセージが全て”0”である場合のみ”訂正”する一方で、メッセージRi+1が正しいとき、すなわち、Ri+1=0であるときに、”=”で示すノードに入力するdv−1個のメッセージが全て”1”である場合のみ”誤り訂正”することから、i回目の繰り返し復号が終了した後のメッセージの誤り確率Pi+1は、次式(9)で表すことができる。
【0061】
【数23】
【0062】
ここで、誤り確率Pi+1を誤り確率Piの多項式としてみると、誤り確率Pi+1は、クロスオーバーの誤り確率P0がある正の小さな値δ*よりも小さい場合には復号の誤り確率が”0”に収束し、誤り確率P0がある正の小さな値δ*よりも大きい場合には復号の誤り確率が”0”に収束しないことがわかる。
【0063】
このように、ギャラガのアルゴリズムAにおいては、BSCに対して適用した場合には、誤り確率の閾値δ*が存在する。
【0064】
この誤り確率の閾値δ*を求めることを考える。
【0065】
上式(9)において、Pi+1=Pi=P0=xとおくと、次式(10)が得られる。
【0066】
【数24】
【0067】
ここで、この上式(10)における根をx0とする。
【0068】
また、上式(9)において、Pi+1=y、Pi=xとおくと、次式(11)が得られる。
【0069】
【数25】
【0070】
この上式(11)において、値xが”1”に比べ十分に小さいものとして展開し、x2以上の項を無視すると、次式(12)が得られる。
【0071】
【数26】
【0072】
ここで、繰り返し復号によって誤り確率が小さくなるためには、上式(12)におけるxの係数が”1”よりも小さくなければならない。すなわち、誤り確率は、次式(13)に示す不等式が成立しなければ、”0”に収束しない。この次式(13)から求められる誤り確率P0の値をp1とする。
【0073】
【数27】
【0074】
誤り確率の閾値δ*は、上式(10)から求められる値x0と、上式(13)から求められる値p1とのうち、値の小さなものとなる。実際に、(3,6)符号、(4,8)符号、(5,10)符号、及び(3,5)符号について、誤り確率の閾値δ*を求めると、次表2に示す結果が得られた。なお、同表においては、参考までに、「Tom Richardson, Rudiger Urbanke, ”The Capacity of Low−Density Parity Check Codes under Message−Passing Decoding”, Bell Labs. Lucent Technologies Murray Hill, NJ 07974, 1998」に記載されている誤り確率の閾値δ*についても示している。
【0075】
【表2】
【0076】
このように、ギャラガのアルゴリズムAにおいては、符号構成に応じた誤り確率の閾値δ*が存在する。
【0077】
ここで、クロスオーバーの誤り確率P0の値を変化させたときのギャラガのアルゴリズムAの性能を調べ、誤り確率の閾値δ*を確認すると、図3に示すような特性が得られた。なお、同図においては、(dv,dc)=(3,6)、(4,8)、(5,10)、(3,5)符号について示している。また、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、50回の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。さらに、ここで用いたLDPC符号を定義する検査行列は、Gallagerによって提案された方法と同様に生成し、当該検査行列の各行の大きさ、すなわち、LDPC符号の1ブロックの大きさnは、dc=6のときにはn=16128とし、それ以外のdc=5,8,10のときにn=16000としている。
【0078】
同図から明らかなように、dv=3のときにおける誤り確率Pは、クロスオーバーの誤り確率P0が上表2に示した値x0以下となる場合に、急激に小さくなることがわかる。これに対して、dvが3よりも大きい値のときにおける誤り確率Pは、クロスオーバーの誤り確率P0が値x0である近傍から徐々に小さくなるが、dv=3のときのような急激な変化はみられない。
【0079】
また、同図からは上表2に示した値p1についての特性が把握できないことから、dv=4,5のときにおけるLDPC符号の1ブロックの大きさnを16000から100000に増加させたときの特性を調べると、図4に示す結果が得られた。なお、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、50回の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。
【0080】
同図から、dvが3よりも大きい値のときにおける誤り確率Pは、LDPC符号の1ブロックの大きさnを増加させても、クロスオーバーの誤り確率P0が上表2に示した値p1よりも大きい場合には特性が変化しないものの、値p1よりも小さい場合には特性が向上することがわかる。
【0081】
さて、以下では、このような特性を有するギャラガのアルゴリズムAについての特性を改善することを試みる。ギャラガのアルゴリズムAの特性を評価するためには、上述したように、誤り確率の閾値δ*の算出式を用いる必要がある。そこで、本発明においては、LDPC符号の性能を向上させるために、イレギュラーLDPC符号を用い、イレギュラーLDPC符号に対して適用可能な誤り確率の閾値δ*の新たな算出式を提案することにより、イレギュラーLDPC符号に対するギャラガのアルゴリズムAの性能解析を試みる。
【0082】
上表2に示したように、誤り確率の閾値δ*は、上式(10)から求められる値x0と、上式(13)から求められる値p1とのうち、値の小さなものとなる。ここで、誤り確率の閾値δ*は、値x0,p1が互いに等しい場合に、大きくなるこという仮説をたてる。この値x0,p1が互いに等しくなる条件としては、符号化率が”1/2”の場合には、dvが3〜4であり、且つ、dcが7〜8となる場合である。そこで、dv及びdcを、それぞれ、次式(14)及び次式(15)で表す。
【0083】
【数28】
【0084】
【数29】
【0085】
ここで、上式(15)におけるtは、0<t<1の値である。dcは、変数tを決定すると一義的に求めることができる。
【0086】
また、符号化率を”1/2”とすると、次式(16)が成立することから、変数sは、次式(17)によって求めることができる。
【0087】
【数30】
【0088】
【数31】
【0089】
上式(17)は、検査行列の横方向(行)の”1”の個数が、7個又は8個であり、その割合を1−t:tとすることを示すとともに、検査行列の縦方向(列)の”1”の個数が、3個又は4個であり、その割合を1−s:sとすることを示している。ここで、次式(18)及び次式(19)に示すように、2つの関数λ(x),ρ(x)を定義する。
【0090】
【数32】
【0091】
【数33】
【0092】
この2つの関数λ(x),ρ(x)は、いわゆるディグリー・シーケンス(degree sequence)と称されるものであり、検査行列における”1”の個数の分布を表すものである。より具体的には、関数λ(x)は、検査行列における縦方向(列)の”1”の個数の分布を示し、関数ρ(x)は、検査行列における横方向(行)の”1”の個数の分布を示すものである。
【0093】
上式(9)に示したレギュラーLDPC符号の検査行列における平均誤り確率の漸化式において、上式(14)及び上式(15)のように、dv,dcを、それぞれ、分布させ、イレギュラーLDPC符号の検査行列を生成した場合には、上式(9)は、上式(18)及び上式(19)に示したディグリー・シーケンスを表す関数λ(x),ρ(x)を用いて、次式(20)のように変形することができる。
【0094】
【数34】
【0095】
このように、レギュラーLDPC符号の検査行列における平均誤り確率の漸化式を、イレギュラーLDPC符号の検査行列における平均誤り確率の漸化式に拡張することができた。したがって、ギャラガのアルゴリズムAを用いて復号するLDPC符号においては、この上式(20)から求められる誤り確率の閾値δ*が大きくなれば、符号の性能が向上したといえる。
【0096】
上式(15)における変数tを変化させ、さらに、上式(17)を用いて変数sを求めることによってdv,dcを変化させたときにおける上式(20)の算出結果、すなわち、平均の誤り確率は、図5に示すような特性を呈した。なお、ここでは、符号化率を”1/2”としている。また、同図においては、(dv,dc)=(4.00,8.0)、(3.95,7.9)、(3.90,7.8)、(3.85,7.7)、(3.8875,7.775)符号について示している。さらに、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。
【0097】
同図から明らかなように、dv=4,dc=8のときの誤り確率の閾値δ*は、上表2に示した値p1=0.04762であったのに対して、変数tを”0.775”としたとき、すなわち、dv=3.8875,dc=7.775とすることにより、誤り確率の閾値δ*は、”0.05087”にまで増加した。このdv=3.8875,dc=7.775としたときの上表2における値p1は、次式(21)に示すように、”0.051117”となる。
【0098】
【数35】
【0099】
つぎに、dv=3.8875,dc=7.775を一定としたとき、dvを3,4の組み合わせ以外とするとともに、dcを7,8の組み合わせ以外とすることを考えた。したがって、dv,dcの算出式としては、上式(14)及び上式(15)のそれぞれに代えて、次式(22)及び次式(23)を用いる。
【0100】
【数36】
【0101】
【数37】
【0102】
ここで、dv=3.8875,dc=7.775を一定とすると、ディグリー・シーケンスを表す上式(18)及び上式(19)は、それぞれ、次式(24)及び次式(25)のようになる。
【0103】
【数38】
【0104】
【数39】
【0105】
この上式(24)及び上式(25)におけるv1,v2,c1,c2を変化させたときにおける上式(20)の算出結果、すなわち、平均の誤り確率は、図6に示すような特性を呈した。なお、同図においては、(v1,v2)=(3,4)とするとともに、(c1,c2)=(7,8)とした場合、(v1,v2)=(2,4)とするとともに、(c1,c2)=(7,8)とした場合、(v1,v2)=(3,5)とするとともに、(c1,c2)=(7,8)とした場合、(v1,v2)=(2,5)とするとともに、(c1,c2)=(7,8)とした場合、(v1,v2)=(3,4)とするとともに、(c1,c2)=(6,8)とした場合、(v1,v2)=(3,4)とするとともに、(c1,c2)=(7,9)とした場合について示している。さらに、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。
【0106】
同図から、(v1,v2)=(3,4)以外の組み合わせにすると、明らかに誤り確率の閾値δ*が小さくなることがわかる。一方、(c1,c2)については、変化させても誤り確率の閾値δ*の変化が微小である。
【0107】
そこで、c1,c2を変化させたときにおける誤り確率の閾値δ*の変化を詳細にみるために、横軸を拡大すると、図7に示す結果が得られた。なお、同図においては、(v1,v2)については、(3,4)に固定し、(c1,c2)を、それぞれ、(7,8)、(6,8)、(7,9)、(6,9)とした場合について示している。また、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。
【0108】
同図から明らかなように、c1,c2を変化させることによって誤り確率の閾値δ*が大きくなることはない。すなわち、ギャラガのアルゴリズムAにおいては、c1,c2を変化させることによって上表2に示した値p1が変わることはない。しかしながら、上表2に示した値x0は、c1,c2を変化させることによって大きくなることがわかった。このことから、ギャラガのアルゴリズムAにおいては、c1,c2については分布を大きくし、dv,dcについても、ここで用いた(3.8875,7.775)から変化させることにより、誤り確率の閾値δ*を大きくすることができると期待される。
【0109】
そこで、イレギュラーLDPC符号に対して適用可能な一般的な算出式を求め、誤り確率の閾値δ*を最大にするディグリー・シーケンス、すなわち、関数λ(x),ρ(x)を求めてみる。
【0110】
上式(18)及び上式(19)に示したディグリー・シーケンスを表す関数λ(x),ρ(x)は、それぞれ、一般化すると、次式(26)及び次式(27)のように表すことができる。
【0111】
【数40】
【0112】
【数41】
【0113】
ここで、特に、これらの関数λ(x),ρ(x)を、それぞれ、次式(28)及び次式(29)に示すように2項の和からなるxの多項式で表す。
【0114】
【数42】
【0115】
【数43】
【0116】
また、符号化率が”1/2”の場合には、次式(30)に示す条件が付加される。
【0117】
【数44】
【0118】
この場合、上式(9)における”a”は、次式(31)のように表すことができる。
【0119】
【数45】
【0120】
また、上式(9)は、次式(32)のように表すことができる。
【0121】
【数46】
【0122】
したがって、上式(12)及び上式(13)は、それぞれ、次式(33)及び次式(34)に代替される。
【0123】
【数47】
【0124】
【数48】
【0125】
このように、ギャラガのアルゴリズムAを用いて復号するLDPC符号においては、ディグリー・シーケンスを表す関数λ(x),ρ(x)を、それぞれ、2項の和からなる多項式で表現し、誤り確率P0がある最大値に収束するように、パラメータλ1,λ2,ρ1,ρ2,n1,n2,m1,m2を設定することにより、クロスオーバーの誤り確率が大きくても復号の誤り確率が”0”となる最適な符号化を実現することができる。
【0126】
さて、以下では、以上の議論を踏まえて構成されるデータ送受信システムについて説明する。
【0127】
データ送受信システムにおける送信装置が備える符号化装置1は、例えば図8に示すように、ディグリー・シーケンスを算出するディグリー・シーケンス算出部10と、このディグリー・シーケンス算出部10によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成部20と、この検査行列生成部20によって生成された検査行列を用いてLDPC符号による符号化を行う符号化部30とを有する。
【0128】
ディグリー・シーケンス算出部10は、上述した議論に基づいて、誤り確率の閾値δ*を最大とする検査行列を生成するための最適なディグリー・シーケンスを算出する。具体的には、ディグリー・シーケンス算出部10は、符号化率が”1/2”の符号化を行う場合には、図9に示すような一連の工程を経ることにより、ディグリー・シーケンスを算出する。
【0129】
まず、ディグリー・シーケンス算出部10は、同図に示すように、ステップS1において、検査行列における縦方向(列)の”1”の個数を示す上述したパラメータn1,n2がユーザによって任意に設定されるとともに、パラメータn1で表される”1”の個数の割合を示す上述したパラメータλ1の初期値がユーザによって任意に設定される。
【0130】
続いて、ディグリー・シーケンス算出部10は、ステップS2において、検査行列における横方向(行)の”1”の個数を示す上述したパラメータm1,m2の関係、すなわち、次式(35)と、上式(28)及び上式(29)のそれぞれにおけるただし書き、すなわち、次式(36)及び次式(37)と、上式(30)と、ステップS1にて設定されたパラメータn1,n2,λ1の初期値とに基づいて、パラメータλ2,ρ1,ρ2,m1,m2を求める。
【0131】
【数49】
【0132】
【数50】
【0133】
【数51】
【0134】
続いて、ディグリー・シーケンス算出部10は、ステップS3において、上式(31)及び上式(32)に基づいて、誤り確率Piが”0”に収束する最大の誤り確率P0を求める。
【0135】
続いて、ディグリー・シーケンス算出部10は、ステップS4において、誤り確率P0が、パラメータλ1の1変数の関数で表される関数の最大値に収束したか否かを判定する。
【0136】
ここで、ディグリー・シーケンス算出部10は、誤り確率P0が収束していないものと判定した場合には、ステップS5において、パラメータλ1を、誤り確率P0が大きくなるように変化させ、このパラメータλ1を用いて、ステップS2からの処理を繰り返す。
【0137】
そして、ディグリー・シーケンス算出部10は、誤り確率P0が収束したものと判定した場合には、求められたパラメータλ1,λ2,ρ1,ρ2,n1,n2,m1,m2に基づいて、ディグリー・シーケンスを表す関数λ(x),ρ(x)を算出し、一連の処理を終了する。
【0138】
このように、ディグリー・シーケンス算出部10は、検査行列における縦方向(列)の1の個数の分布を表すディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2と、これら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする2項の和からなる多項式で表現するとともに、検査行列における横方向(行)の1の個数の分布を表すディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2と、これら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする2項の和からなる多項式で表現する。ディグリー・シーケンス算出部10は、算出したディグリー・シーケンスを示す情報を、検査行列生成部20に供給する。
【0139】
検査行列生成部20は、ディグリー・シーケンス算出部10によって算出されたディグリー・シーケンスに基づいて検査行列を生成する。検査行列生成部20は、生成した検査行列を符号化部30に供給する。
【0140】
符号化部30は、検査行列生成部20によって生成された検査行列を用いてLDPC符号による符号化を行う。具体的には、符号化部30は、検査行列に基づいて生成行列を生成し、この生成行列を情報ビットとして入力される入力データD1に対して積算することによって符号ビットとしての符号化データD2を生成する。符号化部30は、生成した符号化データD2を図示しない変調器に出力する。
【0141】
このような符号化装置1は、入力データD1に対して誤り確率の閾値δ*を最大とする最適な符号化を行う。この符号化装置1によって符号化された符号化データD2は、値が”0”の符号ビットが”+1”に、値が”1”の符号ビットが”−1”にといったように図示しない変調器によってマッピングされて送信され、所定の通信路2を介して受信装置によって受信されることになる。
【0142】
一方、データ送受信システムにおける受信装置が備える復号装置3は、例えば図10に示すように、送信装置から通信路2を介して送信されたデータD3を受信する受信部50と、この受信部50によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出部60とを有する。この復号装置3は、通信路2上で発生した雑音の影響によって実数値をとる受信値に基づいて符号化装置1における入力データD1を推定し、復号データD4として出力する。
【0143】
受信部50は、送信装置から通信路2を介して送信されたデータD3を受信値として受信する。受信部50は、受信した受信値をメッセージ算出部60に供給する。
【0144】
メッセージ算出部60は、Gallagerによって提案された上述したギャラガのアルゴリズムAに基づく復号処理を行う。具体的には、メッセージ算出部60は、受信値に基づいてバリアブルノード(valiable node)から出力されるメッセージを算出し、さらに、このメッセージに基づいて、チェックノード(check node)から出力されるメッセージを算出する、といった一連の復号動作を所定の回数だけ反復して行い、情報ビットとしてのメッセージを算出する。メッセージ算出部60は、算出したメッセージを復号データD4として外部に出力する。
【0145】
このような復号装置3は、符号化装置1によって符号化されて送信されたデータD3に対してギャラガのアルゴリズムAに基づく繰り返し復号を行うことにより、復号複雑度が高い符号の特性を逐次的に向上させ、所定の回数の復号動作の結果得られた復号データD4を出力する。
【0146】
さて、このようなデータ送受信システムにおいて、符号化率が”1/2”の場合における誤り確率の閾値δ*を最大とする最適なディグリー・シーケンスを実際に求めると以下のような結果が得られた。
【0147】
すなわち、符号化装置1におけるディグリー・シーケンス算出部10は、誤り確率P0の最大値、すなわち、誤り確率の閾値δ*として、”0.050929”を求めることができた。このときのディグリー・シーケンスは、次式(38)及び次式(39)で表される。
【0148】
【数52】
【0149】
【数53】
【0150】
すなわち、誤り確率の閾値δ*を最大とするディグリー・シーケンスに基づく検査行列としては、縦方向(列)の”1”の個数が”3”であるものと”4”であるものとを組み合わせるとともに、横方向(行)の”1”の個数が”6”であるものと”7”であるものとを組み合わせたものが最適であるという結果が得られた。そして、この検査行列としては、縦方向(列)の”1”の個数が”3”である割合を12.564%とし、縦方向(列)の”1”の個数が”4”である割合を87.436%とするとともに、横方向(行)の”1”の個数が”6”である割合を29.316%とし、横方向(行)の”1”の個数が”7”である割合を70.684%としたものが最適であるという結果が得られた。
【0151】
したがって、符号化装置1は、このディグリー・シーケンスに基づいて、検査行列生成部20によって検査行列を生成することにより、クロスオーバーの誤り確率P0が”0.050929”よりも小さいものであれば、復号の誤り確率を”0”に収束させることができる符号化を実現することができる。
【0152】
以上説明したように、本発明の実施の形態として示したデータ送受信システムにおける符号化装置1は、レギュラーLDPC符号に対して適用可能な誤り確率の閾値δ*の算出式を、イレギュラーLDPC符号に対して適用可能な算出式に拡張し、ディグリー・シーケンスを2項の和からなる多項式で表現した最適化を行うことができ、誤り確率の閾値δ*を最大とする最適な符号化を行うことができる。
【0153】
また、復号装置3は、このような符号化装置1によって符号化がなされた符号をギャラガのアルゴリズムAを用いて高精度に復号することができる。
【0154】
したがって、データ送受信システムは、符号の性能の大幅な向上を図ることができ、ユーザに優れた利便・信頼性を提供することができるものである。
【0155】
なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述した実施の形態では、符号化装置及び復号装置をデータ送受信システムにおける送信装置及び受信装置に適用して説明したが、本発明は、例えば、フロッピー(登録商標)ディスク、CD−ROM又はMO(Magneto Optic)といった、磁気、光又は光磁気ディスク等の記録媒体に対する記録及び/又は再生を行う記録及び/又は再生装置に適用することもできる。この場合、符号化装置によって符号化されたデータは、通信路に等価とされる記録媒体に記録され、復号装置によって復号されて再生されることになる。
【0156】
また、上述した実施の形態では、符号化装置及び復号装置ともハードウェアによって構成された装置であるものとして説明したが、これらの符号化装置及び復号装置とも、例えばワークステーションやパーソナルコンピュータといったコンピュータ装置において実行可能なソフトウェアとして実現することが可能である。以下、この例について、図11を参照して説明する。
【0157】
コンピュータ装置150は、同図に示すように、各部を統括して制御するCPU(Central Processing Unit)151と、各種プログラムを含む情報を格納する読み取り専用のROM152と、ワークエリアとして機能するRAM(RandomAccess Memory)153と、各種プログラムやデータ等の記録及び/又は再生を行うHDD(Hard Disk Drive)154と、これらのCPU151、ROM152、RAM153及びHDD154を接続するバス155と、CPU151、ROM152、RAM153及びHDD154と後述する表示部157、入力部158、通信部159及びドライブ160との間でデータの入出力を行うための入出力インターフェース156と、各種情報を表示する表示部157と、ユーザによる操作を受け付ける入力部158と、外部との通信を行うための通信部159と、着脱自在とされる記録媒体170に対する各種情報の記録及び/又は再生を行うドライブ160とを備える。
【0158】
CPU151は、バス155を介してROM152、RAM153及びHDD154と接続しており、これらのROM152、RAM153及びHDD154を制御する。また、CPU151は、バス155を介して入出力インターフェース156に接続しており、この入出力インターフェース156に接続されている表示部157、入力部158、通信部159及びドライブ160を制御する。さらに、CPU151は、ROM152、HDD154又はドライブ160に装着された記録媒体170に記録されている各種プログラムを実行する。
【0159】
ROM152は、各種プログラムを含む情報を格納している。このROM152に格納されている情報は、CPU151の制御の下に読み出される。
【0160】
RAM153は、CPU151が各種プログラムを実行する際のワークエリアとして機能し、CPU151の制御の下に、各種データを一時記憶する。
【0161】
HDD154は、CPU151の制御の下に、ハードディスクに対して各種プログラムやデータ等の記録及び/又は再生を行う。
【0162】
バス155は、CPU151の制御の下に、ROM152、RAM153及びHDD154から読み出された各種データ等を伝送するとともに、RAM153及びHDD154に記録する各種データ等を伝送する。
【0163】
入出力インターフェース156は、CPU151の制御の下に表示部157に各種情報を表示するためのインターフェースと、ユーザによって入力部158を介して操作された内容を示す制御信号をCPU151に対して伝送するためのインターフェースと、CPU151の制御の下に通信部159を介して外部との間でデータを入出力するためのインターフェースと、ドライブ160に装着された記録媒体170に対して各種情報の記録及び/又は再生を行うためのインターフェースとを有し、CPU151、ROM152、RAM153及びHDD154からのデータを表示部157、入力部158、通信部159及びドライブ160に対して出力したり、表示部157、入力部158、通信部159及びドライブ160からのデータをCPU151、ROM152、RAM153及びHDD154に対して入力したりする。
【0164】
表示部157は、例えばLCD(Liquid Crystal Display)からなり、CPU151の制御の下に、例えばHDD154に記録されていたデータ等の各種情報を表示する。
【0165】
入力部158は、例えばユーザによるキーボードやマウスの操作を受け付け、操作内容を示す制御信号をCPU151に対して出力する。
【0166】
通信部159は、CPU151の制御の下に、例えばネットワーク回線や衛星回線等によって外部との通信を行うインターフェースとして機能する。
【0167】
ドライブ160は、例えば、フロッピー(登録商標)ディスク、CD−ROM又はMOといった、磁気、光又は光磁気ディスク等の記録媒体170を着脱し、CPU151の制御の下に、装着された記録媒体170に対する各種情報の記録及び/又は再生を行う。
【0168】
このようなコンピュータ装置150は、CPU151によって所定のプログラムを実行することにより、上述した符号化装置1における符号化処理及び/又は復号装置3における復号処理を実現する。
【0169】
まず、コンピュータ装置150における符号化処理について説明する。
【0170】
コンピュータ装置150は、例えばユーザが符号化プログラムを実行するための所定の操作を行うと、入力部158により、操作内容を示す制御信号をCPU151に対して供給する。これに応じて、コンピュータ装置150は、CPU151により、符号化プログラムをRAM153にロードして実行し、符号化及び変調して得られたデータを通信部159を介して外部へと出力するとともに、必要に応じて、表示部157に処理結果等を表示する。
【0171】
ここで、符号化プログラムは、例えば記録媒体170によって提供されるものであって、CPU151の制御の下に、この記録媒体170から直接読み出されてもよく、ハードディスクに1度記録されたものが読み出されてもよい。また、符号化プログラムは、ROM152に予め格納されていてもよい。さらに、符号化の対象とするデータは、ここではハードディスクに記録されているものとする。なお、このデータは、上述した入力データD1に対応するものである。
【0172】
具体的には、コンピュータ装置150は、CPU151によって符号化プログラムを実行すると、CPU151の制御の下に、先に図9に示した一連の工程を行うことによってディグリー・シーケンスを算出する。
【0173】
続いて、コンピュータ装置150は、CPU151の制御の下に、算出したディグリー・シーケンスに基づいて検査行列を生成する。
【0174】
続いて、コンピュータ装置150は、CPU151の制御の下に、ハードディスクに記録されている所望のデータを読み出し、このデータに対して検査行列に基づく生成行列を積算することによってLDPC符号による符号化を行い、上述した符号化データD2に対応する符号化データを生成する。
【0175】
そして、コンピュータ装置150は、CPU151の制御の下に、生成した符号化データを所定の伝送シンボルにマッピングし、生成した伝送シンボルを1度ハードディスク等に記録した後、所望のタイミングで伝送シンボルを読み出し、通信部159を介して外部へと出力するとともに、必要に応じて、表示部157に処理結果等を表示する。なお、生成した伝送シンボルは、記録媒体170等に記録することもできる。
【0176】
このように、コンピュータ装置150は、上述した符号化装置1における符号化処理を符号化プログラムを実行することによって実現することができる。
【0177】
つぎに、コンピュータ装置150における復号処理について説明する。
【0178】
コンピュータ装置150は、例えばユーザが復号プログラムを実行するための所定の操作を行うと、入力部158により、操作内容を示す制御信号をCPU151に対して供給する。これに応じて、コンピュータ装置150は、CPU151により、復号プログラムをRAM153にロードして実行し、通信部159を介して外部から受信し、この受信値を復号するとともに、必要に応じて、表示部157に処理結果等を表示する。
【0179】
なお、復号プログラムも、符号化プログラムと同様に、例えば記録媒体170により提供されるものであって、CPU151の制御の下に、この記録媒体170から直接読み出されてもよく、ハードディスクに1度記録されたものが読み出されてもよい。また、復号プログラムは、ROM152に予め格納されていてもよい。
【0180】
具体的には、コンピュータ装置150は、CPU151によって復号プログラムを実行すると、CPU151の制御の下に、ハードディスクから読み出した受信値、若しくは通信部159を介して受信した受信値に対して、ギャラガのアルゴリズムAに基づく復号処理を行う。
【0181】
そして、コンピュータ装置150は、CPU151の制御の下に、このような復号動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、上述した復号データD4に対応する所定の回数の復号動作の結果得られた復号データを出力する。
【0182】
コンピュータ装置150は、CPU151の制御の下に、得られた復号データをハードディスク等に記録し、必要に応じて、表示部157に処理結果等を表示する。なお、得られた復号データは、記録媒体170等に記録することもできる。
【0183】
このように、コンピュータ装置150は、上述した復号装置3における復号処理を復号プログラムを実行することによって実現することができる。
【0184】
以上のように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0185】
【発明の効果】
以上詳細に説明したように、本発明にかかる符号化装置は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【0186】
【数54】
【0187】
【数55】
【0188】
したがって、本発明にかかる符号化装置は、一般式(1)及び一般式(2)で表される2項の和からなる多項式でディグリー・シーケンスを表現し、ディグリー・シーケンス算出手段によって誤り確率の閾値を最大とするディグリー・シーケンスを算出することにより、符号の性能を大幅に向上させることができる。
【0189】
また、本発明にかかる符号化方法は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される。
【0190】
【数56】
【0191】
【数57】
【0192】
したがって、本発明にかかる符号化方法は、一般式(1)及び一般式(2)で表される2項の和からなる多項式でディグリー・シーケンスを表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出することにより、符号の性能を大幅に向上させることが可能となる。
【0193】
さらに、本発明にかかる復号装置は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信されたデータを受信値として受信する受信手段と、この受信手段によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備える。
【0194】
【数58】
【0195】
【数59】
【0196】
したがって、本発明にかかる復号装置は、一般式(1)及び一般式(2)で表される2項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号をメッセージ算出手段によって高精度に復号することができる。
【0197】
さらにまた、本発明にかかる復号方法は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきたデータを受信値として受信する受信工程と、この受信工程にて受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えることを特徴としている。
【0198】
【数60】
【0199】
【数61】
【0200】
したがって、本発明にかかる復号方法は、一般式(1)及び一般式(2)で表される2項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号を高精度に復号することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態として示すデータ送受信システムを適用する通信モデルの構成を説明するブロック図である。
【図2】(3,6)符号を復号する際における各ノード間でのメッセージの流れを説明する図であって、クロスオーバーの誤り確率をP0と、所定回数の繰り返し復号後の誤り確率とを説明するための図である。
【図3】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図である。
【図4】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図であって、dv=4,5のときにおけるLDPC符号の1ブロックの大きさnを100000に増加させたときにおける特性を説明する図である。
【図5】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図であって、変数tを変化させ、さらに、dv,dcを変化させたときにおける特性を説明する図である。
【図6】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図であって、v1,v2,c1,c2を変化させたときにおける特性を説明する図である。
【図7】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図であって、c1,c2を変化させたときにおける誤り確率の閾値δ*の変化を詳細にみるために横軸を拡大した図である。
【図8】同データ送受信システムにおける符号化装置の構成を説明するブロック図である。
【図9】同符号化装置が有するディグリー・シーケンス算出部によって最適なディグリー・シーケンスを算出する際の一連の工程を説明するフローチャートである。
【図10】同データ送受信システムにおける復号装置の構成を説明するブロック図である。
【図11】コンピュータ装置の構成を説明するブロック図である。
【図12】疎な検査行列の一例を説明する図である。
【図13】LDPC符号を復号する際の一連の手順を説明するフローチャートである。
【図14】(3,6)符号を復号する際における各ノード間でのメッセージの流れを説明する図である。
【符号の説明】
1 符号化装置、 3 復号装置、 10 ディグリー・シーケンス算出部、20 検査行列生成部、 30 符号化部、 50 受信部、 60 メッセージ算出部、 150 コンピュータ装置
【発明の属する技術分野】
本発明は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置及び符号化方法、並びにこれらの符号化装置及び符号化方法によって符号化が施された符号の復号を行う復号装置及び復号方法に関する。
【0002】
【従来の技術】
近年、例えば、移動体通信や深宇宙通信といった通信分野、及び地上波又は衛星ディジタル放送といった放送分野の研究が著しく進められているが、それにともない、誤り訂正符号化及び復号の効率化を目的として符号理論に関する研究も盛んに行われている。
【0003】
符号性能の理論的限界としては、いわゆるシャノン(C. E. Shannon)の通信路符号化定理によって与えられるシャノン限界が知られている。
【0004】
符号理論に関する研究は、このシャノン限界に近い性能を示す符号を開発することを目的として行われている。近年では、シャノン限界に近い性能を示す符号化方法として、例えば、並列連接畳み込み符号(Parallel Concatenated Convolutional Codes;PCCC)や縦列連接畳み込み符号(Serially Concatenated Convolutional Codes;SCCC)といったいわゆるターボ符号化(Turbo coding)と呼ばれる手法が開発されている。
【0005】
また、これらのターボ符号が開発される一方で、古くから知られる符号化方法である低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)が脚光を浴びつつある。
【0006】
このLDPC符号は、R. G. Gallagerによる「R. G. Gallager, ”Low−DensityParity−Check Codes”, Cambridge, Massachusetts: M. I. T. Press, 1963」によって最初に提案されたものであり、その後、「D. J. C. MacKay, ”Good errorcorrecting codes based on very sparse matrices”, Submitted to IEEE Trans. Inf. Theory, IT−45, pp. 399−431, 1999」や「M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi and D. A. Spielman, ”Analysis of low density codes and improved designs using irregular graphs”, Available at http://www.icsi.berkeley.edu/ ̄luby/」等によって再発見されるに至ったものである。
【0007】
LDPC符号は、近年の研究により、ターボ符号等と同様に、符号長を長くしていくにしたがって、シャノン限界に近い性能が得られることがわかりつつある。また、LDPC符号は、最小距離が符号長に比例するという性質があることから、その特徴として、ブロック誤り確率特性がよく、さらに、ターボ符号等の復号特性において観測されるいわゆるエラーフロア現象が殆ど生じないことも利点として挙げられる。
【0008】
以下、このようなLDPC符号について具体的に説明する。なお、LDPC符号は、線形符号であり、必ずしも2元である必要はないが、ここでは、2元であるものとして説明する。
【0009】
LDPC符号は、当該符号を定義する検査行列が疎なものであることを最大の特徴とするものである。ここで、疎な行列とは、当該行列内の”1”の個数が非常に少なく構成されるものであり、疎な検査行列を”H”で表すものとすると、例えば図12に示すように、各列のハミング重みが”3”であり、且つ、各行のハミング重みが”6”であるもの等が考えられる。
【0010】
このように、各行及び各列のハミング重みが一定である検査行列Hによって定義されるLDPC符号は、レギュラーLDPC符号と称される。一方、各行及び各列のハミング重みが一定でない検査行列Hによって定義されるLDPC符号は、イレギュラーLDPC符号と称される。
【0011】
このようなLDPC符号による符号化は、検査行列Hに基づいて生成行列Gを生成し、この生成行列Gを2元の情報メッセージに対して積算することによって符号語を生成することで実現される。具体的には、LDPC符号による符号化を行う符号化装置は、まず、検査行列Hの転置行列HTと算出される生成行列Gとの間に、GHT=0が成立する生成行列Gを算出する。ここで、生成行列Gが、k×n行列である場合には、符号化装置は、当該生成行列Gに対してkビットからなる情報メッセージを積算し、nビットからなる符号語を生成する。この符号化装置によって生成された符号語は、値が”0”の符号ビットが”+1”に、値が”1”の符号ビットが”−1”にといったようにマッピングされて送信され、所定の通信路を介して復号装置によって受信されることになる。
【0012】
一方、このLDPC符号の復号は、上述したGallagerが”Probabilistic Decoding”と称して提案したアルゴリズムであって、バリアブルノード(valiable node(メッセージノード(message node)ともいう。))とチェックノード(checknode)とからなるいわゆるタナーグラフ(Tanner graph)上での確率伝播(belief propagation)によるメッセージ・パッシング・アルゴリズムによって行うことが可能である。しかしながら、この”Probabilistic Decoding”においては、各ノード間で受け渡されるメッセージが実数値であることから、解析的に解くためには、連続した値をとるメッセージの確率分布そのものを追跡する必要があり、非常に困難をともなう解析を必要とすることになる。
【0013】
そこで、Gallagerは、LDPC符号の復号アルゴリズムとして、アルゴリズムA又はアルゴリズムBを提案している。
【0014】
一般的には、LDPC符号の復号は、図13に示すような手順にしたがって行われる。なお、ここでは、受信値をU0(u0i)とし、チェックノードから出力されるメッセージをujとし、バリアブルノードから出力されるメッセージをviとしており、メッセージとは、値の”0”らしさをいわゆる対数尤度比(log likelihood ratio)で表現した実数値である。
【0015】
まず、LDPC符号の復号においては、同図に示すように、ステップS11において、受信値U0(u0i)を受信すると、メッセージujを”0”とするとともに、繰り返し処理のカウンタとしての整数kを”0”とする。
【0016】
続いて、LDPC符号の復号においては、ステップS12において、受信値U0(u0i)に基づいて、次式(3)に示す演算を行うことによってメッセージviを求め、さらに、このメッセージviに基づいて、次式(4)に示す演算を行うことによってメッセージujを求める。そして、LDPC符号の復号においては、整数kを”1”だけインクリメントする。
【0017】
【数9】
【0018】
【数10】
【0019】
なお、上式(3)及び上式(4)におけるdv,dcは、それぞれ、上述した検査行列Hの縦方向(列)及び横方向(行)の”1”の個数を示す任意に選択可能とされるパラメータであり、例えば(3,6)符号の場合には、dv=3,dc=6となる。ここで、上式(3)及び上式(4)に示す演算においては、それぞれ、出力しようとするエッジから入力されたメッセージを、積又は和演算のパラメータとしては用いないことから、積又は和演算の範囲がdv−1,dc−1までとなっている。また、上式(4)に示す演算は、実際には、2入力v1,v2に対する1出力で定義される次式(5)に示す関数Rのテーブルを予め作成しておき、これを次式(6)に示すように連続的に用いることによって行われる。
【0020】
【数11】
【0021】
【数12】
【0022】
続いて、LDPC符号の復号においては、ステップS13において、整数kがNよりも大きいか否かを判定する。
【0023】
ここで、LDPC符号の復号においては、整数kがNよりも大きくないものと判定した場合には、ステップS12からの処理を繰り返す一方で、整数kがNよりも大きいものと判定した場合には、ステップS14へと処理を移行する。
【0024】
そして、LDPC符号の復号においては、ステップS14において、次式(7)に示す演算を行うことによって最終的に出力する復号結果としてのメッセージviを求めて出力し、一連の処理を終了する。次式(7)に示す演算においては、上式(3)とは異なり、接続している全てのエッジからの入力メッセージを用いて行われる。
【0025】
【数13】
【0026】
このようなLDPC符号の復号は、例えば(3,6)符号の場合には、図14に示すように各ノード間でメッセージの授受が行われる。なお、同図における”=”で示すノードでは、上式(3)に示した演算が行われ、”+”で示すノードでは、上式(4)に示した演算が行われる。特に、上述したアルゴリズムA(以下、ギャラガのアルゴリズムAという。)においては、メッセージを2元化し、”+”で示すノードにて、dc−1個の入力メッセージの排他的論理和演算を行い、”=”で示すノードにて、受信値Rに対して、dv−1個の入力メッセージが全て異なるビット値であった場合には符号を反転して出力する。
【0027】
【発明が解決しようとする課題】
ところで、上述したギャラガのアルゴリズムAにおいては、クロスオーバーの誤り確率がある正の小さな値δ*よりも小さい場合には復号の誤り確率が”0”に収束し、クロスオーバーの誤り確率がある正の小さな値δ*よりも大きい場合には復号の誤り確率が”0”に収束しないことが知られている。この誤り確率の閾値δ*は、ある多項式の唯一の正の実根として与えられる。
【0028】
具体的には、誤り確率の閾値δ*は、「Tom Richardson, Rudiger Urbanke, ”The Capacity of Low−Density Parity Check Codes under Message−Passing Decoding”, Bell Labs. Lucent Technologies Murray Hill, NJ 07974, 1998」によれば、次表1に示すような値をとる。
【0029】
【表1】
【0030】
このように、ギャラガのアルゴリズムAにおいては、符号構成に応じた誤り確率の閾値δ*が存在する。ここで、LDPC符号の復号性能を向上させるには、この誤り確率の閾値δ*を大きくする必要がある。しかしながら、ギャラガのアルゴリズムAにおいては、上表1から明らかなように、例えばレギュラーな(3,6)符号の場合には、誤り確率が約0.04程度まででなければ訂正することができない。
【0031】
ここで、LDPC符号の性能を向上させるには、イレギュラーな符号を用いることが考えられる。
【0032】
しかしながら、現在提案されている誤り確率の閾値δ*を求めるための算出式は、レギュラーLDPC符号に対して適用可能なものであり、イレギュラーLDPC符号に対して適用可能な算出式は未だ存在していない。したがって、ギャラガのアルゴリズムAにおいては、イレギュラーLDPC符号に対して適用可能な算出式を提案することができれば、誤り確率の閾値δ*を大きくすることができる余地があることがわかる。
【0033】
本発明は、このような実情に鑑みてなされたものであり、誤り確率の閾値δ*を求めるための算出式を、イレギュラーLDPC符号に対して適用可能に拡張し、符号性能を向上させることができる符号化装置及び符号化方法、並びにこれらの符号化装置及び符号化方法によるLDPC符号の復号を高精度に行うことができる復号装置及び復号方法を提供することを目的とする。
【0034】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる符号化装置は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出することを特徴としている。
【0035】
【数14】
【0036】
【数15】
【0037】
このような本発明にかかる符号化装置は、一般式(1)及び一般式(2)で表される2項の和からなる多項式でディグリー・シーケンスを表現し、ディグリー・シーケンス算出手段によって誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【0038】
また、上述した目的を達成する本発明にかかる符号化方法は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出されることを特徴としている。
【0039】
【数16】
【0040】
【数17】
【0041】
このような本発明にかかる符号化方法は、一般式(1)及び一般式(2)で表される2項の和からなる多項式でディグリー・シーケンスを表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【0042】
さらに、上述した目的を達成する本発明にかかる復号装置は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信されたデータを受信値として受信する受信手段と、この受信手段によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備えることを特徴としている。
【0043】
【数18】
【0044】
【数19】
【0045】
このような本発明にかかる復号装置は、一般式(1)及び一般式(2)で表される2項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号をメッセージ算出手段によって復号する。
【0046】
さらにまた、上述した目的を達成する本発明にかかる復号方法は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきたデータを受信値として受信する受信工程と、この受信工程にて受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えることを特徴としている。
【0047】
【数20】
【0048】
【数21】
【0049】
このような本発明にかかる復号方法は、一般式(1)及び一般式(2)で表される2項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号を復号する。
【0050】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0051】
この実施の形態は、図1に示すように、ディジタル情報を図示しない送信装置が備える符号化装置1によって符号化し、その出力を雑音のある所定の通信路2を介して図示しない受信装置に入力して、この受信装置が備える復号装置3によって復号する通信モデルに適用したデータ送受信システムである。
【0052】
このデータ送受信システムにおいて、符号化装置1は、低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)による符号化を行うものとして構成されるものである。この符号化装置1は、Gallagerによって提案された復号アルゴリズムであるアルゴリズムA(以下、ギャラガのアルゴリズムAという。)を用いて後述する復号装置によってレギュラーLDPC符号を復号する場合に適用可能な誤り確率の閾値を求める算出式を、イレギュラーLDPC符号でも適用可能なものに拡張し、最適な検査行列を生成することにより、符号性能を向上させることができるものである。
【0053】
一方、復号装置3は、符号化装置1によって符号化がなされた符号の復号を行うものであって、上述したギャラガのアルゴリズムAを用いた繰り返し復号を行うものとして構成され、高精度にLDPC符号の復号を行うことができるものである。
【0054】
まず、以下では、データ送受信システムの具体的な構成の説明に先だって、当該データ送受信システムによる符号化処理及び復号処理の指針を与える議論を行う。具体的には、以下では、レギュラーLDPC符号に対する誤り確率の閾値の算出式と、この算出式を拡張してイレギュラーLDPC符号に対して適用可能とした新たに提案する算出式とについて説明し、これらの算出式を用いたギャラガのアルゴリズムAの性能解析結果について説明する。
【0055】
まず、レギュラーLDPC符号に対する誤り確率の閾値の算出式について説明する。
【0056】
ギャラガのアルゴリズムAの性能解析を試みる。ギャラガのアルゴリズムAにおいては、メッセージがバイナリであることから、通信路としていわゆるBSCを考える。なお、通信路としていわゆるAWGNを考える場合であっても、受信値の符号を用いれば同様である。BSCのクロスオーバーの誤り確率をP0とし、オールゼロの符号語を送信したと仮定する。いわゆる(3,6)符号におけるメッセージの流れは、図2に示すようになる。
【0057】
ここで、同図中2段目の”+”で示すノードに入力するメッセージが誤りである確率をPiとする。すなわち、ここでは、オールゼロの符号語を送信したと仮定していることから、誤り確率Piは、メッセージが”1”である確率を示すものとなる。
【0058】
この場合、同図中2段目の”+”で示すノードから出力されるメッセージが”0”となる確率は、入力するdc−1個のメッセージの排他的論理和が”0”である確率であることから、次式(8)で表すことができる。
【0059】
【数22】
【0060】
したがって、メッセージRi+1が誤っているとき、すなわち、Ri+1=1であるときに、”=”で示すノードに入力するdv−1個のメッセージが全て”0”である場合のみ”訂正”する一方で、メッセージRi+1が正しいとき、すなわち、Ri+1=0であるときに、”=”で示すノードに入力するdv−1個のメッセージが全て”1”である場合のみ”誤り訂正”することから、i回目の繰り返し復号が終了した後のメッセージの誤り確率Pi+1は、次式(9)で表すことができる。
【0061】
【数23】
【0062】
ここで、誤り確率Pi+1を誤り確率Piの多項式としてみると、誤り確率Pi+1は、クロスオーバーの誤り確率P0がある正の小さな値δ*よりも小さい場合には復号の誤り確率が”0”に収束し、誤り確率P0がある正の小さな値δ*よりも大きい場合には復号の誤り確率が”0”に収束しないことがわかる。
【0063】
このように、ギャラガのアルゴリズムAにおいては、BSCに対して適用した場合には、誤り確率の閾値δ*が存在する。
【0064】
この誤り確率の閾値δ*を求めることを考える。
【0065】
上式(9)において、Pi+1=Pi=P0=xとおくと、次式(10)が得られる。
【0066】
【数24】
【0067】
ここで、この上式(10)における根をx0とする。
【0068】
また、上式(9)において、Pi+1=y、Pi=xとおくと、次式(11)が得られる。
【0069】
【数25】
【0070】
この上式(11)において、値xが”1”に比べ十分に小さいものとして展開し、x2以上の項を無視すると、次式(12)が得られる。
【0071】
【数26】
【0072】
ここで、繰り返し復号によって誤り確率が小さくなるためには、上式(12)におけるxの係数が”1”よりも小さくなければならない。すなわち、誤り確率は、次式(13)に示す不等式が成立しなければ、”0”に収束しない。この次式(13)から求められる誤り確率P0の値をp1とする。
【0073】
【数27】
【0074】
誤り確率の閾値δ*は、上式(10)から求められる値x0と、上式(13)から求められる値p1とのうち、値の小さなものとなる。実際に、(3,6)符号、(4,8)符号、(5,10)符号、及び(3,5)符号について、誤り確率の閾値δ*を求めると、次表2に示す結果が得られた。なお、同表においては、参考までに、「Tom Richardson, Rudiger Urbanke, ”The Capacity of Low−Density Parity Check Codes under Message−Passing Decoding”, Bell Labs. Lucent Technologies Murray Hill, NJ 07974, 1998」に記載されている誤り確率の閾値δ*についても示している。
【0075】
【表2】
【0076】
このように、ギャラガのアルゴリズムAにおいては、符号構成に応じた誤り確率の閾値δ*が存在する。
【0077】
ここで、クロスオーバーの誤り確率P0の値を変化させたときのギャラガのアルゴリズムAの性能を調べ、誤り確率の閾値δ*を確認すると、図3に示すような特性が得られた。なお、同図においては、(dv,dc)=(3,6)、(4,8)、(5,10)、(3,5)符号について示している。また、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、50回の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。さらに、ここで用いたLDPC符号を定義する検査行列は、Gallagerによって提案された方法と同様に生成し、当該検査行列の各行の大きさ、すなわち、LDPC符号の1ブロックの大きさnは、dc=6のときにはn=16128とし、それ以外のdc=5,8,10のときにn=16000としている。
【0078】
同図から明らかなように、dv=3のときにおける誤り確率Pは、クロスオーバーの誤り確率P0が上表2に示した値x0以下となる場合に、急激に小さくなることがわかる。これに対して、dvが3よりも大きい値のときにおける誤り確率Pは、クロスオーバーの誤り確率P0が値x0である近傍から徐々に小さくなるが、dv=3のときのような急激な変化はみられない。
【0079】
また、同図からは上表2に示した値p1についての特性が把握できないことから、dv=4,5のときにおけるLDPC符号の1ブロックの大きさnを16000から100000に増加させたときの特性を調べると、図4に示す結果が得られた。なお、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、50回の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。
【0080】
同図から、dvが3よりも大きい値のときにおける誤り確率Pは、LDPC符号の1ブロックの大きさnを増加させても、クロスオーバーの誤り確率P0が上表2に示した値p1よりも大きい場合には特性が変化しないものの、値p1よりも小さい場合には特性が向上することがわかる。
【0081】
さて、以下では、このような特性を有するギャラガのアルゴリズムAについての特性を改善することを試みる。ギャラガのアルゴリズムAの特性を評価するためには、上述したように、誤り確率の閾値δ*の算出式を用いる必要がある。そこで、本発明においては、LDPC符号の性能を向上させるために、イレギュラーLDPC符号を用い、イレギュラーLDPC符号に対して適用可能な誤り確率の閾値δ*の新たな算出式を提案することにより、イレギュラーLDPC符号に対するギャラガのアルゴリズムAの性能解析を試みる。
【0082】
上表2に示したように、誤り確率の閾値δ*は、上式(10)から求められる値x0と、上式(13)から求められる値p1とのうち、値の小さなものとなる。ここで、誤り確率の閾値δ*は、値x0,p1が互いに等しい場合に、大きくなるこという仮説をたてる。この値x0,p1が互いに等しくなる条件としては、符号化率が”1/2”の場合には、dvが3〜4であり、且つ、dcが7〜8となる場合である。そこで、dv及びdcを、それぞれ、次式(14)及び次式(15)で表す。
【0083】
【数28】
【0084】
【数29】
【0085】
ここで、上式(15)におけるtは、0<t<1の値である。dcは、変数tを決定すると一義的に求めることができる。
【0086】
また、符号化率を”1/2”とすると、次式(16)が成立することから、変数sは、次式(17)によって求めることができる。
【0087】
【数30】
【0088】
【数31】
【0089】
上式(17)は、検査行列の横方向(行)の”1”の個数が、7個又は8個であり、その割合を1−t:tとすることを示すとともに、検査行列の縦方向(列)の”1”の個数が、3個又は4個であり、その割合を1−s:sとすることを示している。ここで、次式(18)及び次式(19)に示すように、2つの関数λ(x),ρ(x)を定義する。
【0090】
【数32】
【0091】
【数33】
【0092】
この2つの関数λ(x),ρ(x)は、いわゆるディグリー・シーケンス(degree sequence)と称されるものであり、検査行列における”1”の個数の分布を表すものである。より具体的には、関数λ(x)は、検査行列における縦方向(列)の”1”の個数の分布を示し、関数ρ(x)は、検査行列における横方向(行)の”1”の個数の分布を示すものである。
【0093】
上式(9)に示したレギュラーLDPC符号の検査行列における平均誤り確率の漸化式において、上式(14)及び上式(15)のように、dv,dcを、それぞれ、分布させ、イレギュラーLDPC符号の検査行列を生成した場合には、上式(9)は、上式(18)及び上式(19)に示したディグリー・シーケンスを表す関数λ(x),ρ(x)を用いて、次式(20)のように変形することができる。
【0094】
【数34】
【0095】
このように、レギュラーLDPC符号の検査行列における平均誤り確率の漸化式を、イレギュラーLDPC符号の検査行列における平均誤り確率の漸化式に拡張することができた。したがって、ギャラガのアルゴリズムAを用いて復号するLDPC符号においては、この上式(20)から求められる誤り確率の閾値δ*が大きくなれば、符号の性能が向上したといえる。
【0096】
上式(15)における変数tを変化させ、さらに、上式(17)を用いて変数sを求めることによってdv,dcを変化させたときにおける上式(20)の算出結果、すなわち、平均の誤り確率は、図5に示すような特性を呈した。なお、ここでは、符号化率を”1/2”としている。また、同図においては、(dv,dc)=(4.00,8.0)、(3.95,7.9)、(3.90,7.8)、(3.85,7.7)、(3.8875,7.775)符号について示している。さらに、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。
【0097】
同図から明らかなように、dv=4,dc=8のときの誤り確率の閾値δ*は、上表2に示した値p1=0.04762であったのに対して、変数tを”0.775”としたとき、すなわち、dv=3.8875,dc=7.775とすることにより、誤り確率の閾値δ*は、”0.05087”にまで増加した。このdv=3.8875,dc=7.775としたときの上表2における値p1は、次式(21)に示すように、”0.051117”となる。
【0098】
【数35】
【0099】
つぎに、dv=3.8875,dc=7.775を一定としたとき、dvを3,4の組み合わせ以外とするとともに、dcを7,8の組み合わせ以外とすることを考えた。したがって、dv,dcの算出式としては、上式(14)及び上式(15)のそれぞれに代えて、次式(22)及び次式(23)を用いる。
【0100】
【数36】
【0101】
【数37】
【0102】
ここで、dv=3.8875,dc=7.775を一定とすると、ディグリー・シーケンスを表す上式(18)及び上式(19)は、それぞれ、次式(24)及び次式(25)のようになる。
【0103】
【数38】
【0104】
【数39】
【0105】
この上式(24)及び上式(25)におけるv1,v2,c1,c2を変化させたときにおける上式(20)の算出結果、すなわち、平均の誤り確率は、図6に示すような特性を呈した。なお、同図においては、(v1,v2)=(3,4)とするとともに、(c1,c2)=(7,8)とした場合、(v1,v2)=(2,4)とするとともに、(c1,c2)=(7,8)とした場合、(v1,v2)=(3,5)とするとともに、(c1,c2)=(7,8)とした場合、(v1,v2)=(2,5)とするとともに、(c1,c2)=(7,8)とした場合、(v1,v2)=(3,4)とするとともに、(c1,c2)=(6,8)とした場合、(v1,v2)=(3,4)とするとともに、(c1,c2)=(7,9)とした場合について示している。さらに、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。
【0106】
同図から、(v1,v2)=(3,4)以外の組み合わせにすると、明らかに誤り確率の閾値δ*が小さくなることがわかる。一方、(c1,c2)については、変化させても誤り確率の閾値δ*の変化が微小である。
【0107】
そこで、c1,c2を変化させたときにおける誤り確率の閾値δ*の変化を詳細にみるために、横軸を拡大すると、図7に示す結果が得られた。なお、同図においては、(v1,v2)については、(3,4)に固定し、(c1,c2)を、それぞれ、(7,8)、(6,8)、(7,9)、(6,9)とした場合について示している。また、同図における横軸は、クロスオーバーの誤り確率P0を示し、縦軸は、所定回数の繰り返し復号後の誤り確率Pの”10”を底とする対数表記を示している。
【0108】
同図から明らかなように、c1,c2を変化させることによって誤り確率の閾値δ*が大きくなることはない。すなわち、ギャラガのアルゴリズムAにおいては、c1,c2を変化させることによって上表2に示した値p1が変わることはない。しかしながら、上表2に示した値x0は、c1,c2を変化させることによって大きくなることがわかった。このことから、ギャラガのアルゴリズムAにおいては、c1,c2については分布を大きくし、dv,dcについても、ここで用いた(3.8875,7.775)から変化させることにより、誤り確率の閾値δ*を大きくすることができると期待される。
【0109】
そこで、イレギュラーLDPC符号に対して適用可能な一般的な算出式を求め、誤り確率の閾値δ*を最大にするディグリー・シーケンス、すなわち、関数λ(x),ρ(x)を求めてみる。
【0110】
上式(18)及び上式(19)に示したディグリー・シーケンスを表す関数λ(x),ρ(x)は、それぞれ、一般化すると、次式(26)及び次式(27)のように表すことができる。
【0111】
【数40】
【0112】
【数41】
【0113】
ここで、特に、これらの関数λ(x),ρ(x)を、それぞれ、次式(28)及び次式(29)に示すように2項の和からなるxの多項式で表す。
【0114】
【数42】
【0115】
【数43】
【0116】
また、符号化率が”1/2”の場合には、次式(30)に示す条件が付加される。
【0117】
【数44】
【0118】
この場合、上式(9)における”a”は、次式(31)のように表すことができる。
【0119】
【数45】
【0120】
また、上式(9)は、次式(32)のように表すことができる。
【0121】
【数46】
【0122】
したがって、上式(12)及び上式(13)は、それぞれ、次式(33)及び次式(34)に代替される。
【0123】
【数47】
【0124】
【数48】
【0125】
このように、ギャラガのアルゴリズムAを用いて復号するLDPC符号においては、ディグリー・シーケンスを表す関数λ(x),ρ(x)を、それぞれ、2項の和からなる多項式で表現し、誤り確率P0がある最大値に収束するように、パラメータλ1,λ2,ρ1,ρ2,n1,n2,m1,m2を設定することにより、クロスオーバーの誤り確率が大きくても復号の誤り確率が”0”となる最適な符号化を実現することができる。
【0126】
さて、以下では、以上の議論を踏まえて構成されるデータ送受信システムについて説明する。
【0127】
データ送受信システムにおける送信装置が備える符号化装置1は、例えば図8に示すように、ディグリー・シーケンスを算出するディグリー・シーケンス算出部10と、このディグリー・シーケンス算出部10によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成部20と、この検査行列生成部20によって生成された検査行列を用いてLDPC符号による符号化を行う符号化部30とを有する。
【0128】
ディグリー・シーケンス算出部10は、上述した議論に基づいて、誤り確率の閾値δ*を最大とする検査行列を生成するための最適なディグリー・シーケンスを算出する。具体的には、ディグリー・シーケンス算出部10は、符号化率が”1/2”の符号化を行う場合には、図9に示すような一連の工程を経ることにより、ディグリー・シーケンスを算出する。
【0129】
まず、ディグリー・シーケンス算出部10は、同図に示すように、ステップS1において、検査行列における縦方向(列)の”1”の個数を示す上述したパラメータn1,n2がユーザによって任意に設定されるとともに、パラメータn1で表される”1”の個数の割合を示す上述したパラメータλ1の初期値がユーザによって任意に設定される。
【0130】
続いて、ディグリー・シーケンス算出部10は、ステップS2において、検査行列における横方向(行)の”1”の個数を示す上述したパラメータm1,m2の関係、すなわち、次式(35)と、上式(28)及び上式(29)のそれぞれにおけるただし書き、すなわち、次式(36)及び次式(37)と、上式(30)と、ステップS1にて設定されたパラメータn1,n2,λ1の初期値とに基づいて、パラメータλ2,ρ1,ρ2,m1,m2を求める。
【0131】
【数49】
【0132】
【数50】
【0133】
【数51】
【0134】
続いて、ディグリー・シーケンス算出部10は、ステップS3において、上式(31)及び上式(32)に基づいて、誤り確率Piが”0”に収束する最大の誤り確率P0を求める。
【0135】
続いて、ディグリー・シーケンス算出部10は、ステップS4において、誤り確率P0が、パラメータλ1の1変数の関数で表される関数の最大値に収束したか否かを判定する。
【0136】
ここで、ディグリー・シーケンス算出部10は、誤り確率P0が収束していないものと判定した場合には、ステップS5において、パラメータλ1を、誤り確率P0が大きくなるように変化させ、このパラメータλ1を用いて、ステップS2からの処理を繰り返す。
【0137】
そして、ディグリー・シーケンス算出部10は、誤り確率P0が収束したものと判定した場合には、求められたパラメータλ1,λ2,ρ1,ρ2,n1,n2,m1,m2に基づいて、ディグリー・シーケンスを表す関数λ(x),ρ(x)を算出し、一連の処理を終了する。
【0138】
このように、ディグリー・シーケンス算出部10は、検査行列における縦方向(列)の1の個数の分布を表すディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2と、これら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする2項の和からなる多項式で表現するとともに、検査行列における横方向(行)の1の個数の分布を表すディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2と、これら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする2項の和からなる多項式で表現する。ディグリー・シーケンス算出部10は、算出したディグリー・シーケンスを示す情報を、検査行列生成部20に供給する。
【0139】
検査行列生成部20は、ディグリー・シーケンス算出部10によって算出されたディグリー・シーケンスに基づいて検査行列を生成する。検査行列生成部20は、生成した検査行列を符号化部30に供給する。
【0140】
符号化部30は、検査行列生成部20によって生成された検査行列を用いてLDPC符号による符号化を行う。具体的には、符号化部30は、検査行列に基づいて生成行列を生成し、この生成行列を情報ビットとして入力される入力データD1に対して積算することによって符号ビットとしての符号化データD2を生成する。符号化部30は、生成した符号化データD2を図示しない変調器に出力する。
【0141】
このような符号化装置1は、入力データD1に対して誤り確率の閾値δ*を最大とする最適な符号化を行う。この符号化装置1によって符号化された符号化データD2は、値が”0”の符号ビットが”+1”に、値が”1”の符号ビットが”−1”にといったように図示しない変調器によってマッピングされて送信され、所定の通信路2を介して受信装置によって受信されることになる。
【0142】
一方、データ送受信システムにおける受信装置が備える復号装置3は、例えば図10に示すように、送信装置から通信路2を介して送信されたデータD3を受信する受信部50と、この受信部50によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出部60とを有する。この復号装置3は、通信路2上で発生した雑音の影響によって実数値をとる受信値に基づいて符号化装置1における入力データD1を推定し、復号データD4として出力する。
【0143】
受信部50は、送信装置から通信路2を介して送信されたデータD3を受信値として受信する。受信部50は、受信した受信値をメッセージ算出部60に供給する。
【0144】
メッセージ算出部60は、Gallagerによって提案された上述したギャラガのアルゴリズムAに基づく復号処理を行う。具体的には、メッセージ算出部60は、受信値に基づいてバリアブルノード(valiable node)から出力されるメッセージを算出し、さらに、このメッセージに基づいて、チェックノード(check node)から出力されるメッセージを算出する、といった一連の復号動作を所定の回数だけ反復して行い、情報ビットとしてのメッセージを算出する。メッセージ算出部60は、算出したメッセージを復号データD4として外部に出力する。
【0145】
このような復号装置3は、符号化装置1によって符号化されて送信されたデータD3に対してギャラガのアルゴリズムAに基づく繰り返し復号を行うことにより、復号複雑度が高い符号の特性を逐次的に向上させ、所定の回数の復号動作の結果得られた復号データD4を出力する。
【0146】
さて、このようなデータ送受信システムにおいて、符号化率が”1/2”の場合における誤り確率の閾値δ*を最大とする最適なディグリー・シーケンスを実際に求めると以下のような結果が得られた。
【0147】
すなわち、符号化装置1におけるディグリー・シーケンス算出部10は、誤り確率P0の最大値、すなわち、誤り確率の閾値δ*として、”0.050929”を求めることができた。このときのディグリー・シーケンスは、次式(38)及び次式(39)で表される。
【0148】
【数52】
【0149】
【数53】
【0150】
すなわち、誤り確率の閾値δ*を最大とするディグリー・シーケンスに基づく検査行列としては、縦方向(列)の”1”の個数が”3”であるものと”4”であるものとを組み合わせるとともに、横方向(行)の”1”の個数が”6”であるものと”7”であるものとを組み合わせたものが最適であるという結果が得られた。そして、この検査行列としては、縦方向(列)の”1”の個数が”3”である割合を12.564%とし、縦方向(列)の”1”の個数が”4”である割合を87.436%とするとともに、横方向(行)の”1”の個数が”6”である割合を29.316%とし、横方向(行)の”1”の個数が”7”である割合を70.684%としたものが最適であるという結果が得られた。
【0151】
したがって、符号化装置1は、このディグリー・シーケンスに基づいて、検査行列生成部20によって検査行列を生成することにより、クロスオーバーの誤り確率P0が”0.050929”よりも小さいものであれば、復号の誤り確率を”0”に収束させることができる符号化を実現することができる。
【0152】
以上説明したように、本発明の実施の形態として示したデータ送受信システムにおける符号化装置1は、レギュラーLDPC符号に対して適用可能な誤り確率の閾値δ*の算出式を、イレギュラーLDPC符号に対して適用可能な算出式に拡張し、ディグリー・シーケンスを2項の和からなる多項式で表現した最適化を行うことができ、誤り確率の閾値δ*を最大とする最適な符号化を行うことができる。
【0153】
また、復号装置3は、このような符号化装置1によって符号化がなされた符号をギャラガのアルゴリズムAを用いて高精度に復号することができる。
【0154】
したがって、データ送受信システムは、符号の性能の大幅な向上を図ることができ、ユーザに優れた利便・信頼性を提供することができるものである。
【0155】
なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述した実施の形態では、符号化装置及び復号装置をデータ送受信システムにおける送信装置及び受信装置に適用して説明したが、本発明は、例えば、フロッピー(登録商標)ディスク、CD−ROM又はMO(Magneto Optic)といった、磁気、光又は光磁気ディスク等の記録媒体に対する記録及び/又は再生を行う記録及び/又は再生装置に適用することもできる。この場合、符号化装置によって符号化されたデータは、通信路に等価とされる記録媒体に記録され、復号装置によって復号されて再生されることになる。
【0156】
また、上述した実施の形態では、符号化装置及び復号装置ともハードウェアによって構成された装置であるものとして説明したが、これらの符号化装置及び復号装置とも、例えばワークステーションやパーソナルコンピュータといったコンピュータ装置において実行可能なソフトウェアとして実現することが可能である。以下、この例について、図11を参照して説明する。
【0157】
コンピュータ装置150は、同図に示すように、各部を統括して制御するCPU(Central Processing Unit)151と、各種プログラムを含む情報を格納する読み取り専用のROM152と、ワークエリアとして機能するRAM(RandomAccess Memory)153と、各種プログラムやデータ等の記録及び/又は再生を行うHDD(Hard Disk Drive)154と、これらのCPU151、ROM152、RAM153及びHDD154を接続するバス155と、CPU151、ROM152、RAM153及びHDD154と後述する表示部157、入力部158、通信部159及びドライブ160との間でデータの入出力を行うための入出力インターフェース156と、各種情報を表示する表示部157と、ユーザによる操作を受け付ける入力部158と、外部との通信を行うための通信部159と、着脱自在とされる記録媒体170に対する各種情報の記録及び/又は再生を行うドライブ160とを備える。
【0158】
CPU151は、バス155を介してROM152、RAM153及びHDD154と接続しており、これらのROM152、RAM153及びHDD154を制御する。また、CPU151は、バス155を介して入出力インターフェース156に接続しており、この入出力インターフェース156に接続されている表示部157、入力部158、通信部159及びドライブ160を制御する。さらに、CPU151は、ROM152、HDD154又はドライブ160に装着された記録媒体170に記録されている各種プログラムを実行する。
【0159】
ROM152は、各種プログラムを含む情報を格納している。このROM152に格納されている情報は、CPU151の制御の下に読み出される。
【0160】
RAM153は、CPU151が各種プログラムを実行する際のワークエリアとして機能し、CPU151の制御の下に、各種データを一時記憶する。
【0161】
HDD154は、CPU151の制御の下に、ハードディスクに対して各種プログラムやデータ等の記録及び/又は再生を行う。
【0162】
バス155は、CPU151の制御の下に、ROM152、RAM153及びHDD154から読み出された各種データ等を伝送するとともに、RAM153及びHDD154に記録する各種データ等を伝送する。
【0163】
入出力インターフェース156は、CPU151の制御の下に表示部157に各種情報を表示するためのインターフェースと、ユーザによって入力部158を介して操作された内容を示す制御信号をCPU151に対して伝送するためのインターフェースと、CPU151の制御の下に通信部159を介して外部との間でデータを入出力するためのインターフェースと、ドライブ160に装着された記録媒体170に対して各種情報の記録及び/又は再生を行うためのインターフェースとを有し、CPU151、ROM152、RAM153及びHDD154からのデータを表示部157、入力部158、通信部159及びドライブ160に対して出力したり、表示部157、入力部158、通信部159及びドライブ160からのデータをCPU151、ROM152、RAM153及びHDD154に対して入力したりする。
【0164】
表示部157は、例えばLCD(Liquid Crystal Display)からなり、CPU151の制御の下に、例えばHDD154に記録されていたデータ等の各種情報を表示する。
【0165】
入力部158は、例えばユーザによるキーボードやマウスの操作を受け付け、操作内容を示す制御信号をCPU151に対して出力する。
【0166】
通信部159は、CPU151の制御の下に、例えばネットワーク回線や衛星回線等によって外部との通信を行うインターフェースとして機能する。
【0167】
ドライブ160は、例えば、フロッピー(登録商標)ディスク、CD−ROM又はMOといった、磁気、光又は光磁気ディスク等の記録媒体170を着脱し、CPU151の制御の下に、装着された記録媒体170に対する各種情報の記録及び/又は再生を行う。
【0168】
このようなコンピュータ装置150は、CPU151によって所定のプログラムを実行することにより、上述した符号化装置1における符号化処理及び/又は復号装置3における復号処理を実現する。
【0169】
まず、コンピュータ装置150における符号化処理について説明する。
【0170】
コンピュータ装置150は、例えばユーザが符号化プログラムを実行するための所定の操作を行うと、入力部158により、操作内容を示す制御信号をCPU151に対して供給する。これに応じて、コンピュータ装置150は、CPU151により、符号化プログラムをRAM153にロードして実行し、符号化及び変調して得られたデータを通信部159を介して外部へと出力するとともに、必要に応じて、表示部157に処理結果等を表示する。
【0171】
ここで、符号化プログラムは、例えば記録媒体170によって提供されるものであって、CPU151の制御の下に、この記録媒体170から直接読み出されてもよく、ハードディスクに1度記録されたものが読み出されてもよい。また、符号化プログラムは、ROM152に予め格納されていてもよい。さらに、符号化の対象とするデータは、ここではハードディスクに記録されているものとする。なお、このデータは、上述した入力データD1に対応するものである。
【0172】
具体的には、コンピュータ装置150は、CPU151によって符号化プログラムを実行すると、CPU151の制御の下に、先に図9に示した一連の工程を行うことによってディグリー・シーケンスを算出する。
【0173】
続いて、コンピュータ装置150は、CPU151の制御の下に、算出したディグリー・シーケンスに基づいて検査行列を生成する。
【0174】
続いて、コンピュータ装置150は、CPU151の制御の下に、ハードディスクに記録されている所望のデータを読み出し、このデータに対して検査行列に基づく生成行列を積算することによってLDPC符号による符号化を行い、上述した符号化データD2に対応する符号化データを生成する。
【0175】
そして、コンピュータ装置150は、CPU151の制御の下に、生成した符号化データを所定の伝送シンボルにマッピングし、生成した伝送シンボルを1度ハードディスク等に記録した後、所望のタイミングで伝送シンボルを読み出し、通信部159を介して外部へと出力するとともに、必要に応じて、表示部157に処理結果等を表示する。なお、生成した伝送シンボルは、記録媒体170等に記録することもできる。
【0176】
このように、コンピュータ装置150は、上述した符号化装置1における符号化処理を符号化プログラムを実行することによって実現することができる。
【0177】
つぎに、コンピュータ装置150における復号処理について説明する。
【0178】
コンピュータ装置150は、例えばユーザが復号プログラムを実行するための所定の操作を行うと、入力部158により、操作内容を示す制御信号をCPU151に対して供給する。これに応じて、コンピュータ装置150は、CPU151により、復号プログラムをRAM153にロードして実行し、通信部159を介して外部から受信し、この受信値を復号するとともに、必要に応じて、表示部157に処理結果等を表示する。
【0179】
なお、復号プログラムも、符号化プログラムと同様に、例えば記録媒体170により提供されるものであって、CPU151の制御の下に、この記録媒体170から直接読み出されてもよく、ハードディスクに1度記録されたものが読み出されてもよい。また、復号プログラムは、ROM152に予め格納されていてもよい。
【0180】
具体的には、コンピュータ装置150は、CPU151によって復号プログラムを実行すると、CPU151の制御の下に、ハードディスクから読み出した受信値、若しくは通信部159を介して受信した受信値に対して、ギャラガのアルゴリズムAに基づく復号処理を行う。
【0181】
そして、コンピュータ装置150は、CPU151の制御の下に、このような復号動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、上述した復号データD4に対応する所定の回数の復号動作の結果得られた復号データを出力する。
【0182】
コンピュータ装置150は、CPU151の制御の下に、得られた復号データをハードディスク等に記録し、必要に応じて、表示部157に処理結果等を表示する。なお、得られた復号データは、記録媒体170等に記録することもできる。
【0183】
このように、コンピュータ装置150は、上述した復号装置3における復号処理を復号プログラムを実行することによって実現することができる。
【0184】
以上のように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0185】
【発明の効果】
以上詳細に説明したように、本発明にかかる符号化装置は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する。
【0186】
【数54】
【0187】
【数55】
【0188】
したがって、本発明にかかる符号化装置は、一般式(1)及び一般式(2)で表される2項の和からなる多項式でディグリー・シーケンスを表現し、ディグリー・シーケンス算出手段によって誤り確率の閾値を最大とするディグリー・シーケンスを算出することにより、符号の性能を大幅に向上させることができる。
【0189】
また、本発明にかかる符号化方法は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される。
【0190】
【数56】
【0191】
【数57】
【0192】
したがって、本発明にかかる符号化方法は、一般式(1)及び一般式(2)で表される2項の和からなる多項式でディグリー・シーケンスを表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出することにより、符号の性能を大幅に向上させることが可能となる。
【0193】
さらに、本発明にかかる復号装置は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信されたデータを受信値として受信する受信手段と、この受信手段によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備える。
【0194】
【数58】
【0195】
【数59】
【0196】
したがって、本発明にかかる復号装置は、一般式(1)及び一般式(2)で表される2項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号をメッセージ算出手段によって高精度に復号することができる。
【0197】
さらにまた、本発明にかかる復号方法は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきたデータを受信値として受信する受信工程と、この受信工程にて受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えることを特徴としている。
【0198】
【数60】
【0199】
【数61】
【0200】
したがって、本発明にかかる復号方法は、一般式(1)及び一般式(2)で表される2項の和からなる多項式で表現されたディグリー・シーケンスに基づいて誤り確率の閾値を最大とするように符号化された符号を高精度に復号することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態として示すデータ送受信システムを適用する通信モデルの構成を説明するブロック図である。
【図2】(3,6)符号を復号する際における各ノード間でのメッセージの流れを説明する図であって、クロスオーバーの誤り確率をP0と、所定回数の繰り返し復号後の誤り確率とを説明するための図である。
【図3】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図である。
【図4】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図であって、dv=4,5のときにおけるLDPC符号の1ブロックの大きさnを100000に増加させたときにおける特性を説明する図である。
【図5】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図であって、変数tを変化させ、さらに、dv,dcを変化させたときにおける特性を説明する図である。
【図6】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図であって、v1,v2,c1,c2を変化させたときにおける特性を説明する図である。
【図7】ギャラガのアルゴリズムAの誤り訂正の特性を説明する図であって、c1,c2を変化させたときにおける誤り確率の閾値δ*の変化を詳細にみるために横軸を拡大した図である。
【図8】同データ送受信システムにおける符号化装置の構成を説明するブロック図である。
【図9】同符号化装置が有するディグリー・シーケンス算出部によって最適なディグリー・シーケンスを算出する際の一連の工程を説明するフローチャートである。
【図10】同データ送受信システムにおける復号装置の構成を説明するブロック図である。
【図11】コンピュータ装置の構成を説明するブロック図である。
【図12】疎な検査行列の一例を説明する図である。
【図13】LDPC符号を復号する際の一連の手順を説明するフローチャートである。
【図14】(3,6)符号を復号する際における各ノード間でのメッセージの流れを説明する図である。
【符号の説明】
1 符号化装置、 3 復号装置、 10 ディグリー・シーケンス算出部、20 検査行列生成部、 30 符号化部、 50 受信部、 60 メッセージ算出部、 150 コンピュータ装置
Claims (16)
- 入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、
検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、
上記ディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、
上記検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、
上記ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、上記検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出すること
を特徴とする符号化装置。
- 上記ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数n1,n2と、割合λ1,λ2のうち一方の割合λ1の初期値とが任意に設定され、これらの個数n1,n2、及び割合λ1に基づいて、上記縦方向ディグリー・シーケンスにおける他方の割合λ2、並びに上記横方向ディグリー・シーケンスにおける個数m1,m2、及び割合ρ1,ρ2を求めること
を特徴とする請求項1記載の符号化装置。 - 上記ディグリー・シーケンス算出手段は、所定回数の繰り返し復号後の誤り確率が0に収束するクロスオーバーの誤り確率の最大値を求めること
を特徴とする請求項2記載の符号化装置。 - 上記符号化手段は、上記検査行列生成手段によって生成された検査行列に基づいて生成行列を生成し、上記生成行列を入力されたデータに対して積算すること
を特徴とする請求項1記載の符号化装置。 - 上記符号化手段は、符号化率が1/2の符号化を行うこと
を特徴とする請求項1記載の符号化装置。 - 入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、
検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、
上記ディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、
上記検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、
上記ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、上記検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出されること
を特徴とする符号化方法。
- 上記ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数n1,n2と、割合λ1,λ2のうち一方の割合λ1の初期値とが任意に設定され、これらの個数n1,n2、及び割合λ1に基づいて、上記縦方向ディグリー・シーケンスにおける他方の割合λ2、並びに上記横方向ディグリー・シーケンスにおける個数m1,m2、及び割合ρ1,ρ2が求められること
を特徴とする請求項6記載の符号化方法。 - 上記ディグリー・シーケンス算出工程では、所定回数の繰り返し復号後の誤り確率が0に収束するクロスオーバーの誤り確率の最大値が求められること
を特徴とする請求項7記載の符号化方法。 - 上記符号化工程では、上記検査行列生成工程にて生成された検査行列に基づいて生成行列が生成され、上記生成行列が入力されたデータに対して積算されること
を特徴とする請求項6記載の符号化方法。 - 上記符号化工程では、符号化率が1/2の符号化が行われること
を特徴とする請求項6記載の符号化方法。 - 検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、上記ディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、上記検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、上記ディグリー・シーケンス算出手段は、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスを、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現するとともに、上記検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスを、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現し、誤り確率の閾値を最大とするディグリー・シーケンスを算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、
上記符号化装置から送信されたデータを受信値として受信する受信手段と、
上記受信手段によって受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備えること
を特徴とする復号装置。
- 上記メッセージ算出手段は、上記受信手段によって受信された受信値に基づいてバリアブルノードから出力されるメッセージを算出し、さらに、このメッセージに基づいて、チェックノードから出力されるメッセージを算出する一連の復号動作を所定の回数だけ反復して行うこと
を特徴とする請求項11記載の復号装置。 - 上記メッセージ算出手段は、ギャラガのアルゴリズムAに基づく復号処理を行うこと
を特徴とする請求項12記載の復号装置。 - 検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、上記ディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、上記検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、上記ディグリー・シーケンス算出工程では、検査行列における縦方向の1の個数の分布を表す縦方向ディグリー・シーケンスが、1の個数として異なる2種類の個数n1,n2とこれら2種類の個数n1,n2の割合λ1,λ2とをパラメータとする下記一般式(1)で表される2項の和からなる多項式で表現されるとともに、上記検査行列における横方向の1の個数の分布を表す横方向ディグリー・シーケンスが、1の個数として異なる2種類の個数m1,m2とこれら2種類の個数m1,m2の割合ρ1,ρ2とをパラメータとする下記一般式(2)で表される2項の和からなる多項式で表現され、誤り確率の閾値を最大とするディグリー・シーケンスが算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、
送信されてきたデータを受信値として受信する受信工程と、
上記受信工程にて受信された受信値に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えること
を特徴とする復号方法。
- 上記メッセージ算出工程では、上記受信工程にて受信された受信値に基づいてバリアブルノードから出力されるメッセージが算出され、さらに、このメッセージに基づいて、チェックノードから出力されるメッセージが算出される一連の復号動作が所定の回数だけ反復して行われること
を特徴とする請求項14記載の復号方法。 - 上記メッセージ算出工程では、ギャラガのアルゴリズムAに基づく復号処理が行われること
を特徴とする請求項15記載の復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002247102A JP2004088449A (ja) | 2002-08-27 | 2002-08-27 | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002247102A JP2004088449A (ja) | 2002-08-27 | 2002-08-27 | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004088449A true JP2004088449A (ja) | 2004-03-18 |
Family
ID=32054835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002247102A Withdrawn JP2004088449A (ja) | 2002-08-27 | 2002-08-27 | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004088449A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005053165A1 (en) * | 2003-11-29 | 2005-06-09 | Samsung Electronics Co., Ltd. | Interleaving method for low density parity check encoding |
KR100684168B1 (ko) * | 2004-12-09 | 2007-02-20 | 한국전자통신연구원 | 최적붙임방법을 이용한 다중 부호율 ldpc 부호의디자인 방법 |
KR100698192B1 (ko) * | 2005-09-02 | 2007-03-22 | 엘지전자 주식회사 | Ldpc 부호의 복호 방법 |
KR100789859B1 (ko) * | 2005-05-31 | 2008-01-02 | 가부시끼가이샤 도시바 | 이레귤러 저밀도 패리티 검사 부호 복호기 및 방법 |
TWI387213B (zh) * | 2008-06-13 | 2013-02-21 | Mediatek Inc | 利用低密度奇偶校驗矩陣以進行數位資料編碼之方法及編碼器 |
-
2002
- 2002-08-27 JP JP2002247102A patent/JP2004088449A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005053165A1 (en) * | 2003-11-29 | 2005-06-09 | Samsung Electronics Co., Ltd. | Interleaving method for low density parity check encoding |
KR100684168B1 (ko) * | 2004-12-09 | 2007-02-20 | 한국전자통신연구원 | 최적붙임방법을 이용한 다중 부호율 ldpc 부호의디자인 방법 |
KR100789859B1 (ko) * | 2005-05-31 | 2008-01-02 | 가부시끼가이샤 도시바 | 이레귤러 저밀도 패리티 검사 부호 복호기 및 방법 |
KR100698192B1 (ko) * | 2005-09-02 | 2007-03-22 | 엘지전자 주식회사 | Ldpc 부호의 복호 방법 |
TWI387213B (zh) * | 2008-06-13 | 2013-02-21 | Mediatek Inc | 利用低密度奇偶校驗矩陣以進行數位資料編碼之方法及編碼器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4432902B2 (ja) | 復号装置および方法、プログラム、記録再生装置および方法、並びに、再生装置および方法 | |
JP3815557B2 (ja) | 符号化装置及び符号化方法、並びに復号装置及び復号方法 | |
JP2004088470A (ja) | 復号装置及び復号方法 | |
US7689888B2 (en) | Decoding apparatus and method and program | |
JP3727938B2 (ja) | Ldpc復号化装置及びその方法 | |
JP5464990B2 (ja) | シンボルから成るブロックを復号するための多段復号器及び方法 | |
US7536628B2 (en) | Decoding apparatus, decoding method and program | |
JP4858335B2 (ja) | 符号化方法および符号化装置 | |
JP4563476B2 (ja) | 符号化器、復号化器及び符号化方法 | |
WO2003056705A1 (fr) | Procede de generation de matrice d'examen de code ldpc | |
JP2019517209A (ja) | 構造的ldpcの符号化、復号化方法および装置 | |
JP2005110251A (ja) | N個のサンプルを含む入力信号を、q元アルファベットから選択されたk個のシンボルのストリングに量子化する方法 | |
JP2005223440A (ja) | 復号装置及び方法、並びに情報処理装置及び方法 | |
JP2004080753A (ja) | 低密度のパリティチェック(ldpc)コードをデコードする方法およびシステム | |
JP4572937B2 (ja) | 復号装置および方法、プログラム、並びに記録媒体 | |
JP2005051469A (ja) | 符号化装置および符号化方法、並びにプログラム | |
JP2004088449A (ja) | 符号化装置及び符号化方法、並びに復号装置及び復号方法 | |
JP6395658B2 (ja) | 誤り訂正復号装置、受信装置及び誤り訂正復号方法 | |
Kumar et al. | On graphical representations of algebraic codes suitable for iterative decoding | |
JP2004104686A (ja) | 符号解析方法及び符号解析装置、並びに復号方法及び復号装置 | |
JP5288222B2 (ja) | 符号化方法および符号化装置 | |
JP2010028408A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
Pal et al. | Error-Control Coding Algorithms and Architecture for Modern Applications Powered by LDPC Codes and Belief Propagation | |
Han et al. | Decoding of NB-LDPC Codes based on Multi-Layer Perceptual Neural Networks | |
Pal et al. | A novel Encoding/Decoding scheme with Belief Propagation and LDPC code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050527 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050810 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20051101 |