(57)【要約】【課題】回路規模を抑え高速復号処理を実現する復号装置を提供する。【解決手段】複数の検査行列を用いて低密度パリティチェック符号による符号化データを復号する復号装置であって、複数の行グループ及び複数の列グループに区分けされ、この区分けされた複数の単位領域のうちのエッジの配置されるエッジ配置領域が各行グループ内の各列グループにそれぞれ１つ存在するように割り付けられた検査行列に関する情報及びその検査行列の区分けパターンを格納するパターン格納手段と、上記符号化データの各符号ビットの尤度情報を上記列グループ毎に各メモリセルにそれぞれ分割して格納する尤度情報格納手段と、上記エッジ配置領域が属する列グループに関する尤度情報を格納する上記メモリセルに接続され、その接続されたメモリセルに格納された尤度情報に基づき符号ビットの尤度情報を更新する複数のエッジ単位演算手段とを備える。【選択図】図１
2007215089.tif 000002
【特許請求の範囲】
【請求項１】
複数の符号化率に対応し行ウエイトが一定となる複数の検査行列を用いて低密度パリティチェック符号による符号化データを復号する復号装置であって、
複数の行グループ及び前記各検査行列間で同数となる複数の列グループに区分けされ、この区分けされた複数の単位領域のうちのエッジの配置されるエッジ配置領域が各行グループ内の各列グループにそれぞれ１つ存在するように割り付けられた前記各検査行列及び各検査行列の区分けパターンのうち、前記符号化データの符号化率に応じた検査行列に関する情報及びその検査行列の区分けパターンを格納するパターン格納手段と、
前記符号化データの各符号ビットの尤度情報を、前記格納された区分けパターンに基づいて前記列グループ毎に各メモリセルにそれぞれ分割して格納する尤度情報格納手段と、
前記エッジ配置領域のいずれか１つに応じてそのエッジ配置領域が属する列グループに関する尤度情報を格納する前記メモリセルに接続され、その接続されたメモリセルに格納された尤度情報に基づきそのエッジ配置領域内のエッジに対応する符号ビットの尤度情報を更新する複数のエッジ単位演算手段と、
を備える復号装置。
【請求項２】
前記パターン格納手段は、前記各検査行列に関する情報として、エッジ配置領域の位置及びエッジ配置領域内のエッジの位置を格納し、
前記各エッジ単位演算手段は、接続されたメモリセル内の更新すべき尤度情報のアドレスを処理対象のエッジ配置領域に関する前記格納されたエッジの位置に基づき決定する、
請求項１に記載の復号装置。
【請求項３】
前記各行グループは、１処理サイクルで復号処理される行の集合であり、
前記複数のエッジ単位演算手段は、少なくとも、前記１処理サイクルで復号処理される行数にその検査行列の前記行ウエイトを乗算した数分設けられ、前記１処理サイクルで１つの行グループ分の尤度情報を更新する、
請求項１又は２に記載の復号装置。
【請求項４】
前記各検査行列及び区分けパターンは、前記各単位領域が少なくとも１つの行列から形成され、前記エッジ配置領域に含まれる行列のいずれか１つがエッジの配置されるエッジ配置行列となりその他の行列が零行列となるように割り付けられ、
前記パターン格納手段は、前記各検査行列に関する情報として、エッジ配置領域の位置、そのエッジ配置領域内のエッジ配置行列の位置、及びそのエッジ配置行列内のエッジの位置を格納し、
前記各エッジ単位演算手段は、接続されたメモリセル内の更新すべき尤度情報のアドレスを処理対象とするエッジ配置領域に関する前記エッジ配置行列の位置及びそのエッジ配置行列内のエッジの位置に基づき決定する、
請求項１に記載の復号装置。
【請求項５】
前記各単位領域が含む行列は正方行列である請求項４に記載の復号装置。
【請求項６】
前記各単位領域は１つの行列であり、前記エッジ配置領域には各行にそれぞれエッジが配置され、
前記パターン格納手段は、前記各検査行列に関する情報として、エッジ配置領域の位置、そのエッジ配置領域の行列の形及びそのエッジ配置領域内のエッジの位置を格納し、
前記各エッジ単位演算手段は、接続されたメモリセル内の更新すべき尤度情報のアドレスを処理対象とするエッジ配置領域に関する前記エッジ配置領域の行列の形及びそのエッジ配置領域内のエッジの位置に基づき決定する、
請求項１に記載の復号装置。
【請求項７】
前記各検査行列は、前記符号化データに対応する実検査行列を列及び又は行を並べ変えた検査行列であり、
前記尤度情報格納手段は、前記実検査行列から前記格納された検査行列への並べ替え情報に基づいて、前記符号化データの各符号ビットの尤度情報を前記格納された検査行列に合わせて並べ替えた後、前記格納された区分けパターンに基づいて前記列グループ毎に各メモリセルにそれぞれ分割して格納する、
請求項１から６のいずれか１つに記載の復号装置。
【請求項８】
複数の符号化率に対応し行ウエイトが一定となる複数の検査行列を用いて低密度パリティチェック符号による符号化データを復号する復号方法であって、
複数の行グループ及び前記各検査行列間で同数となる複数の列グループに区分けされ、この区分けされた複数の単位領域のうちのエッジの配置されるエッジ配置領域が各行グループ内の各列グループにそれぞれ１つ存在するように割り付けられた前記各検査行列及び各検査行列の区分けパターンのうち、前記符号化データの符号化率に応じた検査行列に関する情報及びその検査行列の区分けパターンを格納するパターン格納ステップと、
前記符号化データの各符号ビットの尤度情報を、前記格納された区分けパターンに基づいて前記列グループ毎に各メモリセルにそれぞれ分割して格納する尤度情報格納ステップと、
前記エッジ配置領域のいずれか１つに応じてそのエッジ配置領域が属する列グループに関する尤度情報が格納される前記メモリセルにアクセスし、そのメモリセルに格納された尤度情報に基づきそのエッジ配置領域内のエッジに対応する符号ビットの尤度情報を更新するエッジ単位演算ステップと、
を備える復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低密度パリティ検査符号（以降、ＬＤＰＣ（Low Density Parity Check）符号と表記する）を用いて符号化されたデータを復号する復号装置及び復号方法に関するものである。
【背景技術】
【０００２】
誤り訂正符号は、誤りなくデータを伝送する通信システム、或いは磁気ディスク、コンパクトディスク等に保存されたデータを誤りなく読み出すコンピュータシステム等に適用されている。このような誤り訂正符号は、ブロック符号と畳み込み符号に大別される。ブロック符号は情報データを１区切りのデータブロックに分けそのデータブロックから符号語を作る方式である。一方、畳み込み符号は他のデータブロック（例えば過去のデータブロック）に関連して符号化される方式である。
【０００３】
低密度パリティ検査符号（以降、ＬＤＰＣ（Low Density Parity Check）符号と表記する）は、上記ブロック符号の一種であり誤り訂正能力が非常に高くシャノン限界に近い特性を示す誤り訂正符号として知られている。このＬＤＰＣ符号は、磁気ディスクの分野等では既に実用化されており、次世代の移動体通信システムにおいても適用が期待されている。
【０００４】
ＬＤＰＣ符号は、一般に要素が“０”と“１”で構成され“１”の配置が疎であるような検査行列（パリティ検査行列）により定まる符号とされている。そして、ＬＤＰＣ符号では、この検査行列が検査記号数（パリティビット長）Ｍ×符号長（符号ビット長）Ｎの行列で定義される（図１１参照）。
【０００５】
また、ＬＤＰＣ符号には正則（Regular）ＬＤＰＣ符号と非正則（Irregular）ＬＤＰＣ符号がある。正則ＬＤＰＣ符号とは符号長Ｎの検査行列において各行のウエイト(検査行
列中の１行中の“１”の個数)ｗｒ、各列のウエイトｗｃがそれぞれ一定であり、ｗｃ＜
＜Ｎであるものをいう。また、非正則ＬＤＰＣ符号とは各行各列の重みが一定でないものをいう。この非正則ＬＤＰＣ符号としてはＩＲＡ（Irregular Repeat Accumulate）符号
がある。ＩＲＡ符号は、検査行列に関し各列のウエイトｗｃは一定せず各行のウエイトｗｒが一定する符号である。
【０００６】
このようなＬＤＰＣ符号の復号法にはＳＰＡ(Sum-Product Algorithm)がある。ＳＰＡ
は、検査行列の要素に“１”の数が少ないというＬＤＰＣ符号の特徴により計算量を削減しかつ誤り率特性を上げるアルゴリズムである。ＳＰＡは、チェックノード処理（行処理）及び変数ノード処理（列処理）により得られた符号語の尤度情報（ＬＬＲ（Log Likelihood Ratio））に基づき推定語を出力するものである。ＳＰＡは、当該チェックノード処理及び変数ノード処理を所定の回数（ラウンド数）繰り返すことにより精度の高い復号を行う。
【０００７】
以下、ＳＰＡによる復号手順について述べる。なお、以下の説明では上記検査行列で示すパリティ検査条件をタナーグラフ（２部グラフ）で表した場合の表現を用いる場合もある。具体的には、検査行列の要素で“１”となる箇所を「エッジ」と表し、検査行列の各列に相当する符号ビットを「変数ノード」と表し、検査行列の各行に相当する検査ビットを「チェックノード」と表わすこともある。
【０００８】
まず、全ての変数ノードｘｉについて検査行列の要素ｈｊｉ＝１となるチェックノード
ｓｊに関し、下記式（１）の条件付事前確率の相対尤度ｑ（０）ｉｊ（０）が初期化される（以降、初期化処理と表記する）。下記式（１）におけるｑ（０）ｉ（０）はラウンド数０回目のｘｉ＝０となる事後確率相対尤度を示し、受信信号に対しての事前確率相対尤度となる。
【０００９】
【数１】
2007215089.tif 000003
次に、チェックノード処理が行われる。全てのチェックノードｓｊについてｈｊｉ＝１となる変数ノードｘｉに関し、下記式（４）における事後確率相対尤度ｒ（ｕ）ｊｉ（ｂ）が求められる。下記式（４）に示す事後確率相対尤度ｒ（ｕ）ｊｉ（ｂ）はラウンド数ｕ回目のｘｉ＝ｂとなる条件の下にチェックノードｓｊ＝０となる事後確率相対尤度を示し、Ｓｊとはチェックノードｓｊと接続される変数ノードｘｉのｉの集合を示し、Ｓｊ＼ｉとはＳｊからｉを除いた集合を示す。
【００１０】
【数２】
2007215089.tif 000004
次に、変数ノード処理が行われる。全ての変数ノードｘｉについて検査行列の要素ｈｊｉ＝１となるチェックノードｓｊに関し、下記式（５）における事後確率相対尤度ｑ（ｕ）ｉｊ（ｂ）が求められる。下記式（５）のＸｉは変数ノードｘｉと接続されるチェックノードｓｊのｊの集合を示し、Ｘｉ＼ｊとはＸｉからｊを除いた集合を示す。
【００１１】
【数３】
2007215089.tif 000005
上述のように各変数ノードについて事後確率相対尤度ｑ（ｕ）ｉｊ（０）が求められると、これら尤度情報に基づき下記式（６）に示すように一時推定語（推定ビット系列）が生成される。
【００１２】
【数４】
2007215089.tif 000006
【００１３】
そして、得られた推定ビット系列に対してパリティ検査がなされる。下記式（７）を満たせば、当該推定ビット系列が出力される。下記式（７）におけるＴは転置を示す。
【００１４】
【数５】
2007215089.tif 000007
上記式（７）を満たさない場合には、次のラウンド（ｕ＋１）のために条件付事前確率相対尤度ｑ（ｕ＋１）ｉｊ（ｂ）を求めるための下記式（８）に示す演算が行われる（以降、この処理を事前変数ノード処理と表記する）。
【００１５】
【数６】
2007215089.tif 000008
以降、この演算により求められた条件付事前確率相対尤度ｑ（ｕ＋１）ｉｊ（ｂ）に基づき、ラウンド(ｕ＋１)における上述のチェックノード処理、変数ノード処理、一時推定及びパリティ検査が行われる。当該一連の処理は、パリティ検査を満たすか予め決められている最大ラウンド回数分処理がなされた後、終了する。
【００１６】
次に、このようなＳＰＡを用いる従来の復号器の構成について述べる。ＩＲＡ等のように各行のウエイトが一定の符号を扱う場合、その復号器は行ウエイト分の演算器を備え行単位の演算を並列処理するよう構成される。特に移動体通信を行う携帯端末では回路規模を抑える必要があるため、なるべく復号器に用いられる演算器の数を減らす必要があり、このような構成を採ることにより、演算器のリソース利用効率を上げかつ復号処理を高速化することができる。図１２は所定の検査行列に対応する従来の好適な復号器構成を示す図であり、左側に所定の検査行列を示し、右側にその検査行列に対応する従来の復号器構成を示している。
【００１７】
図１２に示す検査行列は、当該ブロック内の各行においてエッジがそれぞれ１つ存在するようにブロック分割されている（図１２のブロック１から３）。この検査行列に対応する復号器では、並列処理を実現するべく、検査行列の各ブロックにそれぞれ１つの演算器（エッジ単位演算器２１、２２及び２３）が割り当てられる。更に、それらエッジ単位演算器２１、２２及び２３で算出される値を用いて行単位の演算をまとめて行う行単位演算器１１が設けられる。
【００１８】
このような構成を有する復号器では、チェックノード毎に（検査行列の行単位に）、各エッジ単位演算器２１、２２及び２３が対象となるブロックに存在するエッジに関してチェックノード処理、変数ノード処理、事前変数ノード処理等をそれぞれ行い、行単位演算
器１１が各エッジ単位演算器２１、２２及び２３で算出された値に基づいて行う必要のある演算（例えば上記式（４）等）を行う。このようなチェックノード単位の演算が全てのチェックノードについて行われることにより、最終的に得られた各変数ノードの尤度情報（事後確率相対尤度）に基づき一時推定及びパリティ検査が行われることになる。
【００１９】
このような構成を採る復号器では、更に、各変数ノードの尤度情報を保存するメモリエリアとその変数ノードの尤度情報を用いる各演算器とは接続されている必要がある。各ラウンドにおいて前回のラウンドで算出された尤度情報が用いるからである。このようなメモリエリアと演算器との接続を考えた場合、通常、検査行列におけるメモリブロック３１、３２及び３３をそれぞれ各ブロック１、２及び３に対応させ、各ブロックに属する各符号ビットの尤度情報が各メモリブロック３１、３２及び３３に保存されるように構成される。これにより、演算器とメモリを１対１で結びつけることができるため、回路構成を簡易にすることができるからである。
【００２０】
なお、本願発明に係る先行技術文献としては、以下の文献に開示されたものがある。
【非特許文献１】William E.Ryan, “An Introduction to LDPC Codes”,“Department of electorical and computer engineering the university of Arizona”,米国,,2003年8月19日
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、移動体通信の分野でＬＤＰＣ符号を用いる場合には、伝播環境に応じて符号化率を変えることが想定され、この場合、各符号化率に応じてそれぞれ異なる検査行列を用いて復号処理をする必要がある。このような場合に、採用する各符号化率（各検査行列）に応じてそれぞれ異なる復号器を設ける構成が考えられるが、移動体通信携帯端末を想定した場合には検査行列毎に復号器を実装することは回路規模から現実的ではない。
【００２２】
従って、複数の符号化率に対応することができる復号器を持つ必要がある。符号化率と行ウエイト及び検査行列の大きさとの間には以下の関係がある。
【００２３】
高符号化率  :  行ウエイト大、検査行列の行数小
低符号化率  :  行ウエイト小、検査行列の行数大
これにより、複数の符号化率に対応した復号器において１行単位の演算処理を行う場合には、低符号化率の処理を行う時に処理時間が大きくなってしまう。このため、低符号化率の処理の場合には、複数行を同時に処理して処理時間を短くする必要がある。すなわち、符号化率により行ウエイトが異なるため符号化率によって使用する演算器リソース数が異なること、検査行列の各行に関連が無いことから複数行同時処理の場合は尤度情報更新を行う演算器と尤度情報を保管しておくメモリ間に１対１の接続関係が存在し得ないことを加味して復号器の構成を考える必要がある。
【００２４】
図１３〜１６は複数の符号化率に対応する復号器の構成を示す図であり、具体的には図１３が対応符号化仕様を示し、図１４が低符号化率（Ｒ＝１／５）に対応する場合の検査行列と復号器の構成を示し、図１５が高符号化率（Ｒ＝４／５）に対応する場合の検査行列と復号器の構成を示し、図１６が複数の符号化率に対応する復号器の構成を示す図である。これらの図に示す復号器では、検査行列を１２のブロック（Ｂ１〜Ｂ１２）に分割し各ブロックに関する演算をそれぞれ各演算器（Ｅ１〜Ｅ１２）で処理するように構成されている。
【００２５】
このような構成において、図１３に示す２つの符号化率に対応し検査行列の１行を１サイクルで処理する場合には、低符号化率の場合には全処理に４０００サイクルかかるのに
対して高符号化率の場合には全処理に１０００サイクルですむことになる。従って、低符号化率の場合には処理速度向上が必要であるため例えば１サイクルで４行分処理されるように構成される（図１４参照）。一方、高符号化率の場合には１行１サイクルで処理されるように当該復号器は構成される（図１５参照）。
【００２６】
結果として、２つの符号化率の場合の復号器の構成を併せ持つとすれば、予め多対多の演算器（Ｅ１〜Ｅ１２）とメモリ（Ｍ１〜Ｅ１２）との接続関係を有する必要があり、更に符号化率及び処理サイクルに応じてそれらを切り替える必要がある。
【００２７】
このように、単一の符号化率に対応する復号器では演算器とメモリとで構成されていたものが、複数の符号化率に対応した復号器では少なくともメモリと演算器との接続入替え回路が必要となるため回路規模が大きくなるという問題がある。更に、この接続入替え回路は、メモリと演算器との多対多の接続をダイナミックに入れ替える必要があるために複雑な回路構成となる。
【００２８】
本発明の目的は、回路規模を抑え高速復号処理を実現する復号装置を提供することにある。
【課題を解決するための手段】
【００２９】
本発明は、上述した課題を解決するために以下の構成を採用する。即ち、本発明は、複数の符号化率に対応し行ウエイトが一定となる複数の検査行列を用いて低密度パリティチェック符号による符号化データを復号する復号装置であって、複数の行グループ及び上記各検査行列間で同数となる複数の列グループに区分けされ、この区分けされた複数の単位領域のうちのエッジの配置されるエッジ配置領域が各行グループ内の各列グループにそれぞれ１つ存在するように割り付けられた上記各検査行列及び各検査行列の区分けパターンのうち、上記符号化データの符号化率に応じた検査行列に関する情報及びその検査行列の区分けパターンを格納するパターン格納手段と、上記符号化データの各符号ビットの尤度情報を、上記格納された区分けパターンに基づいて上記列グループ毎に各メモリセルにそれぞれ分割して格納する尤度情報格納手段と、上記エッジ配置領域のいずれか１つに応じてそのエッジ配置領域が属する列グループに関する尤度情報を格納する上記メモリセルに接続され、その接続されたメモリセルに格納された尤度情報に基づきそのエッジ配置領域内のエッジに対応する符号ビットの尤度情報を更新する複数のエッジ単位演算手段とを備える復号装置についてのものである。
【００３０】
本発明では、複数の符号化率に対応する複数の検査行列についてそれぞれ所定の区分けパターンが定義される。この区分けパターンでは、各検査行列がそれぞれ所定の行数を有する行グループが複数存在するように区分けされ、更に、所定の列数を有する列グループが複数存在するように区分けされる。区分けされた最小単位となる複数の単位領域のうち、エッジの配置されるエッジ配置領域が各行グループ内の各列グループにそれぞれ１つ存在するように割り付けられる。このように決められた区分けパターン及び検査行列は各符号化率についてそれぞれ生成され、これら情報のうち復号対象となる符号化データに対応する検査行列とその区分けパターンが格納される。本発明に係る復号装置は、このように決められた検査行列及び区分けパターンに応じて構成される。
【００３１】
各メモリセルは、この区分けパターンの各列グループにそれぞれ対応付けられており、対応付けられている列グループに含まれる列（変数ノード）に対応する符号ビットの尤度情報が各メモリセルにそれぞれ格納される。
【００３２】
各エッジ単位演算器は、それぞれいずれか１つのエッジ配置領域に対応付けられており、そのエッジ配置領域が属する列グループに対応する符号ビットの尤度情報が格納される
メモリセルとそれぞれ接続される。各エッジ単位演算器は、これにより、接続されるメモリセル内の尤度情報に基づき、対応付けられているエッジ配置領域内のエッジの位置に応じた符号ビットの尤度情報を更新する。
【００３３】
このように、各列グループ（変数ノードグループ）に各メモリセルがそれぞれ対応付けられており、各行グループ内の各列グループに１つしか存在しないエッジ配置領域にエッジ単位演算器が対応付けられているため、結果として、各メモリセルと各エッジ単位演算器とは１対１の関係での接続で実現されることになる。
【００３４】
従って、従来複数の符号化率に対応する復号装置では、複雑なメモリセル・演算器間の接続を切り替える切替器が必要であったが、本発明によれば、このような切替器を省くことができ、ひいては、復号装置の回路規模を小さくすることができる。
【００３５】
更に、複数のエッジ単位演算器を有し、各エッジ配置領域に対応付けているため、エッジ単位演算の並列処理が可能となり、高速復号処理が可能となる。
【００３６】
また、本発明に係る復号装置における上記パターン格納手段は、上記各検査行列に関する情報として、エッジ配置領域の位置及びエッジ配置領域内のエッジの位置を格納し、上記各エッジ単位演算手段は、接続されたメモリセル内の更新すべき尤度情報のアドレスを処理対象のエッジ配置領域に関する上記格納されたエッジの位置に基づき決定するようにしてもよい。
【００３７】
本発明では、各検査行列に関しそれぞれ全ての情報を保持することなく、区分けパターンに基づく必要最小限の情報（エッジ配置領域の位置及びエッジ配置領域内のエッジの位置）を保持すればよいため、メモリ容量等を抑えることができ、これにより回路規模を小さくすることができる。
【００３８】
また、上記各行グループは１処理サイクルで復号処理される行の集合であり、上記複数のエッジ単位演算手段は少なくとも上記１処理サイクルで復号処理される行数にその検査行列の上記行ウエイトを乗算した数分設けられ、上記１処理サイクルで１つの行グループ分の尤度情報を更新するようにしてもよい。
【００３９】
本発明では、１処理サイクルで同時処理される行グループという概念を用いることにより、複数の符号化率に対応した複数の検査行列に関して、各エッジ単位演算器と各メモリセルとの接続をいずれの処理サイクル及び符号化率であっても一意に決めることができる。
【００４０】
また、上記各検査行列及び区分けパターンは、上記各単位領域が少なくとも１つの行列から形成され、上記エッジ配置領域に含まれる行列のいずれか１つがエッジの配置されるエッジ配置行列となりその他の行列が零行列となるように割り付けられ、上記パターン格納手段は、上記各検査行列に関する情報として、エッジ配置領域の位置、そのエッジ配置領域内のエッジ配置行列の位置、及びそのエッジ配置行列内のエッジの位置を格納し、上記各エッジ単位演算手段は、接続されたメモリセル内の更新すべき尤度情報のアドレスを処理対象とするエッジ配置領域に関する上記エッジ配置行列の位置及びそのエッジ配置行列内のエッジの位置に基づき決定するようにしてもよい。
【００４１】
本発明では、各正方行列が複数の行及び列を有するように区分けされ、更にこの区分けには、所定の形の行列が用いられる。
【００４２】
これにより、本発明によれば、検査行列に関する情報として、エッジ配置領域の位置、
そのエッジ配置領域内のエッジ配置行列の位置、及びそのエッジ配置行列内のエッジの位置を持てば、行グループ自体の数を少なくすることができるため、全体として検査行列に関する情報で格納すべき情報を削減することができる。よって、メモリ容量をより抑えることができる。
【００４３】
また、上記各単位領域が含む行列は正方行列であってもよい。
【００４４】
これにより、単位領域に含まれる行列の形を認識する上で必要な情報を減らすことができるため、検査行列に関する情報で格納すべき情報を削減することができる。
【００４５】
また、上記各単位領域は１つの行列であり、上記エッジ配置領域には各行にそれぞれエッジが配置され、上記パターン格納手段は、上記各検査行列に関する情報として、エッジ配置領域の位置、そのエッジ配置領域の行列の形及びそのエッジ配置領域内のエッジの位置を格納し、上記各エッジ単位演算手段は、接続されたメモリセル内の更新すべき尤度情報のアドレスを処理対象とするエッジ配置領域に関する上記エッジ配置領域の行列の形及びそのエッジ配置領域内のエッジの位置に基づき決定するようにしてもよい。
【００４６】
本発明では、単位領域を任意の形とすることができるため、検査行列を決めるうえで自由度を高めることができるため、ＬＤＰＣ符号として誤り訂正能力の高い行列を選択することができる。
【００４７】
また、上記各検査行列は、上記符号化データに対応する実検査行列を列及び又は行を並べ変えた検査行列であり、上記尤度情報格納手段は、上記実検査行列から上記格納された検査行列への並べ替え情報に基づいて、上記符号化データの各符号ビットの尤度情報を上記格納された検査行列に合わせて並べ替えた後、上記格納された区分けパターンに基づいて上記列グループ毎に各メモリセルにそれぞれ分割して格納するようにしてもよい。
【００４８】
本発明では、実際の復号に利用すべき実検査行列を列及び又は行を並べ替えた検査行列が用いられる。そして、その並べ替えに対応するために、符号化データの各符号ビットの尤度情報を検査行列に合わせて並べ替えた後処理が行われる。
【００４９】
従って、本発明によれば、実検査行列が本発明に係る区分けパターンにあわない場合においても対応することができるため、ＬＤＰＣ符合の誤り訂正能力を考慮した自由度の高い検査行列を決めることができる。
【００５０】
なお、本発明は、以上の何れかの機能を実現させるプログラムであってもよい。また、本発明は、そのようなプログラムを記録したコンピュータが読み取り可能な記憶媒体であってもよい。
【発明の効果】
【００５１】
本発明によれば、回路規模を抑え高速復号処理を実現する復号装置を提供することができる。
【発明を実施するための最良の形態】
【００５２】
以下、図面を参照して、それぞれ本発明の実施形態における復号装置について説明する。なお、以下に述べる実施形態の構成は例示であり、本発明は以下の実施形態の構成に限定されない。
【００５３】
［第一実施形態］
本発明の第一実施形態における復号装置について以下に説明する。
【００５４】
〔装置構成〕
以下、第一実施形態における復号装置の回路構成例について図１を用いて説明する。図１は、第一実施形態における復号装置の回路構成例を示すブロック図である。本実施形態における復号装置は、入力尤度メモリ１０１、ｑ（ｕ＋１）ｉメモリ１０２（以降、メモリ１０２と表記する）、ｑ（ｕ）ｉメモリ１０３（以降、メモリ１０３と表記する）、行単位チェックノード処理部１０５、及びエッジ単位演算器１１０−１から１１０−Ｎｃ（本発明のエッジ単位演算手段に相当する）を備える。以下の説明において用いる記号は背景技術の項で示したものと同様である。
【００５５】
入力尤度メモリ１０１は、受信された符号ビット系列の各符号ビットについて他の回路で算出された事後確率相対尤度（以降、尤度情報と表記する）（ｑ（０）ｉ（０））を格納する。
【００５６】
メモリ１０２及びメモリ１０３は、各符号ビットそれぞれに関する尤度情報ｑ（ｕ＋１）ｉ及びｑ（ｕ）ｉが格納される。具体的には、ｑ（ｕ）ｉメモリ１０３に、ラウンドｕにおいて参照される尤度情報、すなわち前回のラウンドで算出された尤度情報が格納され、ｑ（ｕ＋１）ｉメモリ１０２に、ラウンドｕにおいて算出された尤度情報が格納される。また、メモリ１０２及びメモリ１０３はそれぞれ所定の容量を有する複数のメモリセルで構成される。各メモリセルに記憶される尤度情報は検査行列に応じて決定される。また、各メモリセルと各エッジ単位演算器との接続方法については後述する。
【００５７】
行単位チェックノード処理部１０５は、各エッジ単位演算器１１０−１から１１０−Ｎｃからそれぞれ出力される下記式（９）の値を受け、チェックノードｓｊに対してｈｊｉ＝１となる全ての変数ノードｘｉについて下記式（１０）に示す値を算出する。式（９）に示すα及びβは、上記式（２）、（３）及び（４）に基づいている。
【００５８】
【数７】
2007215089.tif 000009
各エッジ単位演算器１１０−１から１１０−Ｎｃはエッジ単位（ブロック単位）に設けられる。各エッジ単位演算器１１０−１から１１０−Ｎｃはチェックノード毎に並列処理を行う。各エッジ単位演算器１１０−１から１１０−Ｎｃはそれぞれ同一の構成を有するため、以下の説明ではエッジ単位演算器１１０−１を例に挙げる。エッジ単位演算器１１０−１は、事前変数ノード処理部１１１−１、チェックノード第１処理部１１２−１、チェックノード第２処理部１１５−１、ｒｊｉメモリ１１６−１、及び変数ノード処理部１１７−１を備える。
【００５９】
事前変数ノード処理部１１１−１は、チェックノードｓｊの対象エッジ（１番目のエッジ）に関し背景技術の項で述べた事前変数ノード処理を行う。具体的には、事前変数ノード処理部１１１−１は、ｑ（ｕ）ｉメモリ１０３からチェックノードｓｊの対象エッジに対する尤度情報ｑ（ｕ）ｉ（０）を読み出し、ｒｊｉメモリ１１６−１からチェックノードｓｊの前ラウンドの尤度情報ｒ（ｕ−１）ｊｉ（０）を読み出し、下記式（１１）の演
算を行う。下記式（１１）は上記式（８）に対応している。事前変数ノード処理部１１１−１はラウンドｕにおいて利用される条件付事前確率相対尤度（以降、事前尤度情報と表記する）ｑ（ｕ）ｉｊ（０）を算出する。なお、ラウンドｕ＝０の場合には、前ラウンドの尤度情報ｒ（ｕ−１）ｊｉ（０）は読み出されない。
【００６０】
【数８】
2007215089.tif 000010
チェックノード第１処理部１１２−１は、事前変数ノード処理部１１１−１から事前尤度情報を受けると、上記式（２）、（３）及び（４）に基づく演算を行い、上記式（９）に示される値を算出する。算出された値は、行単位チェックノード処理部１０５及びチェックノード第２処理部１１５−１に渡される。
【００６１】
チェックノード第２処理部１１５−１は、行単位チェックノード処理部１０５から上記式（１０）に示される値を受け、かつ、チェックノード第１処理部１１２−１から上記式（９）に示される値を受けると、チェックノードｓｊの対象エッジに関し上記式（４）に示される尤度情報ｒ（ｕ）ｊｉ（０）を算出する。チェックノード第２処理部１１５−１は、当該尤度情報を算出するにあたっては、下記式（１２）の演算を行う。算出された尤度情報は、ｒｊｉメモリ１１６−１及び変数ノード処理部１１７−１に渡される。
【００６２】
【数９】
2007215089.tif 000011
ｒｊｉメモリ１１６−１は事前変数ノード処理部１１１−１における事前変数ノード処理に利用されるために各ラウンドで算出された尤度情報ｒ（ｕ）ｊｉ（０）を保存する。
【００６３】
変数ノード処理部１１７−１は、背景技術の項で述べた上記式（５）に示される変数ノード処理のうちのチェックノードｓｊに関するｒ（ｕ）ｊｉ（０）を加算する演算を行う。すなわち、変数ノード処理部１１７−１は、メモリ１０２からチェックノードｓｊ−１までに加算された尤度情報を読み出し、この読み出された尤度情報に今回チェックノード第２処理部１１５−１により算出された尤度情報ｒ（ｕ）ｊｉ（０）を加算する。加算された尤度情報は再度メモリ１０２に書き込まれる。
【００６４】
上述の各機能部により、チェックノードｓｊ毎に並列処理がなされ、チェックノード数（Ｍ）回上述の各機能部の処理が繰り返される。そして、チェックノード数０から（Ｍ−１）回まで処理が完了すると、メモリ１０２には各変数ノードの尤度情報がそれぞれ格納されている。すると、メモリ１０２の内容がメモリ１０３にコピーされ、メモリ１０２には入力尤度メモリ１０１の内容がコピーされ、次ラウンドの処理として上述の処理が繰り返される。なお、この全チェックノード分の処理が完了した時点で、一時推定処理及びパリティ検査処理が行われ（図示せず）、検査結果が正しい場合には次ラウンドの処理は行われず、その時の推定ビット系列が復号結果として出力される。
【００６５】
〈検査行列〉
次に、第一実施形態で用いられる検査行列について図２及び３を用いて説明する。図２は、第一実施形態における符号化仕様を示す図である。図３は、第一実施形態において用いられる検査行列を示す図である。
【００６６】
まず、本実施形態で用いる検査行列を決める前に、本復号装置で実施する符号化仕様を決定する。符号化仕様を決定するうえではまず本復号装置で対応する符号化率を決定する。本実施形態では、図２に示すように符号化率１／５及び４／５に対応することとする。本発明はこれら符号化率を限定するものではない。
【００６７】
続けて、演算器実装数（Ｎｃ）を決める。演算器実装数（Ｎｃ）は上述のエッジ単位演算器（１１０−１から１１０−Ｎｃ）の数に対応する。そして、この演算器実装数（Ｎｃ）に基づいて、各符号化率についてそれぞれ行ウエイト（Ｗｒ）と同時処理行数（Ｍｇ）とを決定する。このとき、演算器実装数（Ｎｃ）＝行ウエイト（Ｗｒ）×同時処理行数（Ｍｇ）となるようにそれぞれ決定する。例えば、対応する複数の符号化率のうちの高符号化率の場合については、同時処理行数が１となるように行ウエイトを決定するようにしてもよい。本実施形態では、図２に示すような符号化仕様が決定された場合を例にする。
【００６８】
符号化仕様が決定されると、これを元に各符号化率に応じてそれぞれ検査行列を決める。各検査行列の大きさはそれぞれ上述の符号化仕様のパリティビットビット長（Ｍ）と符号長（Ｎ）で決められる。
【００６９】
本実施形態では、当該検査行列を所定の規則で区分け（グループ分け）する。以降、この区分けされた検査行列の最小単位を単位領域と表記する。当該区分けは、上述の検査行列を所定の行数を有する行グループ１５１と所定の列数を有する列グループ１５２とに分けることであり、具体的には以下のように行われる。まず、当該検査行列が図３に示すようにＭｇ行毎の行グループ１５１に分割される。分割された各行グループは、復号装置において各処理サイクルにおいて同時処理されるチェックノードの集合である。本実施形態の符号化仕様では、当該行グループ１５１は、符号化率１／５の場合には４行有し、符号化率４／５の場合には１行有するグループとなる。
【００７０】
更に、行グループ１５１内の列を演算器実装数（Ｎｃ＝（Ｗｒ×Ｍｇ））個の列グループ１５２に分割する。分割された各列グループの有する列数はそれぞれ任意であり、各列グループの有する列数の総和が検査行列の総列数（Ｎ）となればよい。各列グループ１５２がそれぞれ有する各行が単位領域となる。単位領域は、各行グループ１５１にＭｇ×（Ｗｒ×Ｍｇ）個存在する。
【００７１】
そして、各行グループ１５１内の複数の単位領域のうちその単位領域内の任意の位置に“１”が１つ配置されるエッジ配置可能領域を決定する。エッジ配置可能領域内の“１”以外の要素は全て“０”とし、エッジ配置可能領域以外の単位領域については全ての“０”を配置する。エッジ配置可能領域は、各行グループ１５１内で演算器実装数（Ｎｃ＝（Ｗｒ×Ｍｇ））個存在するようにし、各行グループ１５１内の各行にＷｒ個存在し、各列グループ１５２に１個存在するように決定する。
【００７２】
このように決定された行グループ１５１内の区分けパターン、すなわち、列グループ１５２の形態及びエッジ配置可能領域の配置形態は全行グループで同一パターンとする。しかしながら、エッジ配置可能領域内のエッジの位置は、いずれの行グループにおいても任意とし、このエッジ（要素“１”）の配置が疎となるように決定することでＬＤＰＣ符号の優位な効果を導く。なお、このように決定された各列グループ１５２の形態は、各検査行列においてそれぞれ行数が異なるが、列数は同じになる。本実施形態における復号装置は、図２に示す符号化仕様、上述のように決定された各行グループ１５１の区分けパターン及び検査行列に関する情報をメモリ等に保持する（本発明のパターン格納手段に相当する）。当該区分けパターンは、例えば、第１列グループは検査行列の第１列から第５列までで構成され、第２列グループは検査行列の第６列から第８列までで構成され、第１エッ
ジ配置可能領域は第１列グループの第１行目に配置し、第２エッジ配置可能領域は第５列グループの第１行目に配置するといったふうに保持される。検査行列に関する情報について、各行ブロック１５１につきエッジ配置可能領域の位置及びその中のエッジの位置を持つ必要がある。
【００７３】
〈メモリ１０２及び１０３と各エッジ単位演算器１１０との接続〉
以下、各エッジ単位演算器１１０とメモリ１０２及び１０３との接続関係について図４及び５を用いて説明する。図４は符号化率１／５で動作する場合の各エッジ単位演算器１１０とメモリ１０２及び１０３との接続関係を示す図である。図５は符号化率４／５で動作する場合の各エッジ単位演算器１１０とメモリ１０２及び１０３との接続関係を示す図である。図４及び５は、左側に検査行列を示し、右側に復号装置の演算器とメモリとの接続関係を示している。また、図中の「Ｘ」「Ｙ」「Ｚ」「Ｗ」の文字部については、検査行列における同一行のエッジ配置可能領域を同一種の文字により表わし、各エッジ配置可能領域に対応付けられるエッジ単位演算器１１０をそれと同一種の文字により表わしている。
【００７４】
メモリ１０２及び１０３は上述したとおり各符号ビットの尤度情報を前回のラウンドで更新されたものと今回のラウンドで更新されたものそれぞれについて記憶する。すなわち、メモリ１０２及び１０３は、それぞれ更新されたラウンドが異なるのみで演算対象となる符号ビットについては同様のものである。従って、以下の説明では、メモリ１０２及び１０３を一対のメモリとみなし「メモリ」と表記する。当該メモリはエッジ単位演算器の数、すなわち上述の演算器実装数（Ｎｃ）と少なくとも同じ数のメモリセルで構成される。本実施形態では、演算器実装数は１２であるため、図４及び５に示すようにメモリセルＭ１からＭ１２で構成される。
【００７５】
本実施形態の復号器では、各メモリセルと上述の検査行列の各列グループ１５２とがそれぞれ１対１で対応付けられる。これにより、復号器では、復号を開始する際に、制御部（図１に図示せず）等により入力尤度メモリ１０１に格納されている尤度情報が当該検査行列の各列グループ１５２に応じて所定のメモリセルに格納される。具体的には、復号器は、検査行列の左から右へ第１列グループから第１２列グループとした場合、第１列グループに含まれる変数ノード（符号ビット）の尤度情報をメモリセルＭ１に格納し、第２列グループに含まれる符号ビットの尤度情報をメモリＭ２に格納する。復号器は、検査行列の各列グループ１５２に含まれる変数ノード（符号ビット）の尤度情報を各列グループに対応するメモリセルに格納する。なお、各符号化率に応じた各検査行列はそれぞれ所定のメモリ等に格納されるようにし、制御部（本発明の尤度情報格納手段に相当する）がそれを参照して上記メモリセルへの格納を行うようにしてもよい。これらメモリセルとそれに格納すべき尤度情報との対応関係は、検査行列毎に当該列グループの形態が変わるものではないため、いずれの符号化率で動作した場合でも同じである。
【００７６】
また、本実施形態の復号器では、各エッジ単位演算器１１０と上述の検査行列の各エッジ配置可能領域とが処理サイクル毎に１対１で対応付けられる。各エッジ単位演算器１１０は、対応付けられたエッジ配置可能領域のエッジに関し演算を行う。なお、各エッジ配置可能領域は各行グループ１５１内の各列グループ１５２に１つしか存在せず、各行グループ１５１は全て同一パターンで構成されているため、各エッジ単位演算器１１０は各列グループ１５２と対応付けられていることと同様になる。
【００７７】
そして、各メモリセルと各エッジ単位演算器１１０とは物理的な信号線１６０により接続される。この接続は、メモリセル及びエッジ単位演算器共に上述の検査行列との対応付けがなされているためその対応付けによって必然的に決定されることになる。すなわち、各エッジ単位演算器１１０は、対応付けられているエッジ配置可能領域についてそのエッ
ジ配置可能領域が属する列グループ１５２に対応付けられているメモリセルと信号線１６０により接続される。
【００７８】
本実施形態の復号器では、上述のような検査行列を用いることにより、結果として図４及び５に示すように各メモリセルと各エッジ単位演算器間との接続はいずれの処理サイクル及び符号化率であっても１対１の同一の接続となる。従って、信号線１６０を各処理サイクル及び各符号化率についてそれぞれ切り替える必要がない構成となっており、従来の復号器において必要であったメモリと演算器間の切替装置を本実施形態の復号装置では実装する必要がない。
【００７９】
行単位演算器（行単位チェックノード処理部１０５）は、上述の同時処理行数（Ｍｇ）と同様の数の演算器で構成される。そして、当該演算器は、検査行列の同一行に配置されるエッジ配置可能領域に対応付けられているエッジ単位演算器と接続される。当該演算器は、各エッジ単位演算器１１０の演算結果をそれぞれ受け、それらを行単位で演算し、演算結果を再度各エッジ単位演算器１１０に戻す。
【００８０】
行単位演算器は、図４及び５に示すように符号化率に応じて接続先が異なる。これは、符号化率に応じて検査行列が異なるためである。この結果、行単位演算器とエッジ単位演算器の接続は、ある符号後の復号処理中は一定の接続となり、次の符号後の処理を行う際に符号化率が変更された場合に接続の変更が必要となる。そのため、これらの接続は、符号化率が変更される際に切替器等により切り替えられるようにしてもよい。
【００８１】
上述のように各エッジ単位演算器１１０は、所定のメモリセル１つと信号線１６０により接続されている。各エッジ単位演算器１１０は、接続されているメモリセル内に格納されている各符号ビットの尤度情報のうち、エッジが配置されている符号ビットの尤度情報を更新する。メモリセル内の更新すべき尤度情報の位置について、各エッジ単位演算器１１０は、制御部等からそれぞれ指示されるようにしてもよい。この場合には、制御部（本発明のエッジ単位演算手段にも相当する）は、各処理サイクルが終了する度に、検査行列の次のサイクルに対応する行グループ１５１及び行グループの区分けパターンを参照し、各エッジ単位演算器１１０にそれぞれ各エッジは位置可能領域内のエッジの位置を通知するようにしてもよい。
【００８２】
〔動作例〕
以下、第一実施形態における復号装置の動作例について図６を用いて説明する。図６は、第一実施形態における復号装置の動作例を示すフローチャートである。本実施形態における復号装置は、複数の符号化率に応じた検査行列をそれぞれ保持する。そして、この検査行列の区分けパターンに応じて上述のように復号装置のメモリ１０２及び１０３を構成するメモリセルとエッジ単位演算器１１０とが接続され、エッジ単位演算器１１０と行単位演算器１０５とが接続されている。
【００８３】
受信された符号ビット系列の各符号ビットについて他の回路で算出された尤度情報が入力尤度メモリ１０１に格納されると、当該復号装置内の制御部（図１に図示せず）は、動作すべき符号化率に対応する検査行列及び区分けパターンを読み出す（Ｓ６０１）。制御部は、読み出された検査行列及び区分けパターンに応じて、エッジ単位演算器と行単位演算器との接続を切り替える（Ｓ６０２）。続いて、制御部は、読み出された検査行列の区分けパターンに応じて、各列グループに含まれる符号ビットの尤度情報を各列グループに対応するメモリセルに格納する（Ｓ６０３）。
【００８４】
次に、当該制御部は、ラウンド数ｕを初期化若しくは更新し（Ｓ６０４）、ラウンドｕの復号処理を開始させる。このとき制御部は、読み出された検査行列に応じて、各エッジ
単位演算器１１０へそれぞれエッジ位置を通知する（Ｓ６０５）。この通知される情報は例えば、読み出された検査行列により所定のエッジ配置可能領域内のエッジの位置が何列目というふうに認識され、その列位置に応じたオフセットアドレス（＝（列位置−１）×１符号ビットの尤度情報を格納する領域サイズ）としてもよい。
【００８５】
以降、各エッジ単位演算器１１０においてそれぞれその内部の機能部によりエッジ単位演算が行われ、各符号ビットに対応する尤度情報が更新される（Ｓ６０６）。このとき、検査行列の各行に対応する演算は行単位演算器（行単位チェックノード処理部１０５）により行われる。エッジ単位演算器及び行単位演算器それぞれは以下のように動作する。
【００８６】
事前変数ノード処理部１１１−１は、接続されるメモリ１０３のメモリセルから、制御部から通知されるエッジ位置情報に基づき、対象エッジに関する尤度情報ｑ（ｕ）ｉ（０）を読み出し、ｒｊｉメモリ１１６−１から対象エッジに関する前ラウンドの尤度情報ｒ（ｕ−１）ｊｉ（０）を読み出し、以降の処理で利用される事前尤度情報ｑ（ｕ）ｉｊ（０）を算出する（上記式（１１）参照）。最初のラウンド時には、前ラウンドの尤度情報ｒ（ｕ−１）ｊｉ（０）はないため読み出されない。
【００８７】
チェックノード第１処理部１１２−１は、事前変数ノード処理部１１１−１から事前尤度情報ｑ（ｕ）ｉｊ（０）を受けると、上記式（２）、（３）及び（４）に基づく演算を行い、上記式（９）に示される値を算出する。算出された値は、行単位チェックノード処理部１０５及びチェックノード第２処理部１１５−１に渡される。
【００８８】
行単位チェックノード処理部１０５は、接続されるエッジ単位演算器からそれぞれ出力される上記式（９）の値を受け、上記式（１０）に示す値を算出する。
【００８９】
チェックノード第２処理部１１５−１は、行単位チェックノード処理部１０５から上記式（１０）に示される値を受け、かつ、チェックノード第１処理部１１２−１から上記式（９）に示される値を受けると、対象エッジに関し上記式（４）に示される尤度情報ｒ（ｕ）ｊｉ（０）を算出する。算出された尤度情報は、ｒｊｉメモリ１１６−１及び変数ノード処理部１１７−１に渡される。ｒｊｉメモリ１１６−１に渡された尤度情報はそのまま格納される。
【００９０】
変数ノード処理部１１７−１は、接続されるメモリ１０２のメモリセルから検査行列の前行までに加算された尤度情報を読み出し、この読み出された尤度情報に今回チェックノード第２処理部１１５−１により算出された尤度情報ｒ（ｕ）ｊｉ（０）を加算する。加算された尤度情報は接続されるメモリセルの、制御部から通知されるエッジ位置情報に基づく所定の位置に書き込まれる。
【００９１】
各処理サイクル（同時処理行数（Ｍｇ）分の処理）が検査行列の全行分行われる（Ｓ６０７；ＮＯ、Ｓ６０６のループ）。検査行列の全行分の処理が完了すると（Ｓ６０７；ＹＥＳ）、制御部は、メモリ１０２に格納される更新された尤度情報に基づき、他の回路部（図１に図示せず）に一時推定ビット系列を生成させる（Ｓ６０８）。続けて、制御部は、生成された一時推定ビット系列を他の回路部（図１に図示せず）にパリティ検査を実行させる（Ｓ６０９）。
【００９２】
制御部は、このパリティ検査の結果が正しいと判断した場合若しくは現在のラウンド数が最大ラウンド数であった場合には（Ｓ６１０；ＹＥＳ）、復号処理を終了し、当該一時推定ビット系列を出力する。パリティ検査の結果が正しくなくかつ現在のラウンド数が最大ラウンド数でない場合には（Ｓ６１０；ＮＯ）、制御部は、ラウンド数を更新し（Ｓ６０４）、次のラウンドを開始する。
【００９３】
〈第一実施形態における作用／効果〉
ここで、上述した第一実施形態における復号装置の作用及び効果について述べる。
【００９４】
本実施形態における復号装置では、複数の符号化率に対応する複数の検査行列が定義される。
【００９５】
まず、当該復号装置が実装するエッジ単位演算器の数（Ｎｃ）に応じて、各符号化率についてそれぞれ行ウエイト（Ｗｒ）と同時処理行数（Ｍｇ）とが決定される。その他、各検査行列の大きさはそれぞれパリティビットビット長（Ｍ）と符号長（Ｎ）とで決められる。
【００９６】
次に、各検査行列はそれぞれ、先に決められた同時処理行数を有する行グループ１５１と所定の列数を有する列グループ１５２とに区分けされる。分割された各列グループの有する列数は、各列グループの有する列数の総和が検査行列の総列数（Ｎ）となるように任意に決められる。但し、エッジ配置可能領域が、各行グループ１５１内で行ウエイト（Ｗｒ）と同時処理行数（Ｍｇ）との乗算結果分存在するようにし、各行グループ１５１内の各列グループ１５２に１個存在するように決定される。当該エッジ配置可能領域とは、区分けされた複数の単位領域のうちその単位領域内の任意の位置に“１”が１つ配置される単位領域をいう。
【００９７】
このように決定された複数の検査行列及び各検査行列の区分けパターン（列グループ１５２の形態及びエッジ配置可能領域の配置形態）はメモリ等に保持される。
【００９８】
このように決定された検査行列及び区分けパターンに応じて、各エッジ単位演算器は、１つの行グループ１５１における各エッジ配置可能領域にそれぞれ対応付けられ、対応付けられたエッジ配置可能領域のエッジに関しそれぞれ演算を行う。同様に、各メモリセルは、上述の各列グループ１５２とそれぞれ対応付けられ、復号が開始される際に、各列グループ１５２に含まれる変数ノード（符号ビット）の尤度情報が各列グループに対応するメモリセルにそれぞれ格納される。結果として、このような対応付けにより、複数のエッジ単位演算器と複数のメモリセルとの接続が決定される。
【００９９】
これにより、上述のような検査行列を用いることにより、結果として各メモリセルと各エッジ単位演算器間との接続はいずれの処理サイクル及び符号化率であっても１対１の同一の接続となる。
【０１００】
従って、本実施形態の復号装置によれば、当該接続を実現する信号線１６０を各処理サイクル及び各符号化率についてそれぞれ切り替える必要がなく、従来の復号器において必要であったメモリと演算器間の切替装置を省くことができる。これにより、本実施形態の復号装置の回路規模を小さくすることができる。
【０１０１】
また、上述のように決めた同時処理行数によりいずれの符号化率に対応する復号処理をする場合でも、復号装置内の演算器を効率よく稼動することができ、複数行同時にエッジ単位処理をすることができるため、複数の符号化率に対応することができるだけでなくいずれの符号化率であっても高速の復号処理を実現することができる。
【０１０２】
［第二実施形態］
本発明の第二実施形態における復号装置について以下に説明する。先に説明した第一実施形態における復号装置は、検査行列の単位領域が１行任意列の領域となるような区分けパターンにより装置構成及び復号処理手法を決めていた。第二実施形態における復号装置
は、単位領域がｎ行ｎ列の正方行列を任意数分含む領域となるような区分けパターンを用いる。検査行列以外は、基本的に第一実施形態と同様となる。
【０１０３】
〔装置構成〕
第二実施形態における復号装置の回路構成例は、第一実施形態と同様であるためここでは説明を省略する（図１参照）。
【０１０４】
〈検査行列〉
第二実施形態で用いられる検査行列について図２及び図７を用いて説明する。第二実施形態の復号装置においても、符号化仕様は図２に示すように第一実施形態と同様に決定されるものとする。図７は、第二実施形態において用いられる検査行列を示す図である。
【０１０５】
本実施形態における復号装置は、図２に示すように符号化率１／５及び４／５に対応し、エッジ単位演算器１１０を少なくとも演算器実装数（Ｎｃ）分を備え、各符号化率についてそれぞれ行ウエイト（Ｗｒ）と同時処理行数（Ｍｇ）とが決定される。そして、各検査行列の大きさはそれぞれパリティビットビット長（Ｍ）と符号長（Ｎ）で決められる。
【０１０６】
本実施形態では、単位領域がｎ行ｎ列の正方行列を任意数分含む領域となるように当該検査行列の区分けパターンが決定される。すなわち、各検査行列についてそれぞれ行数（Ｍ）及び列数（Ｎ）が割り切れる自然数ｎを定義し、これにより、各行グループ１５１がそれぞれ（同時処理行数（Ｍｇ）×ｎ）行で形成され、各列グループ１５２がそれぞれ（ｎ×各列グループで任意数）列で形成されるように区分けする。
【０１０７】
このような区分けにより決定された単位領域のうちエッジ配置可能領域を第一実施形態と同様な方法により決定する。これにより、エッジ配置可能領域以外の単位領域は、ｎ行ｎ列の零行列が列の増える方向で各列グループにつき任意数分含む領域となる。エッジ配置可能領域は、上記単位領域のいずれか１つの正方行列がエッジ配置正方行列１８１となる領域である。エッジ配置正方行列１８１は、ｎ行ｎ列の行列であり、各行の任意の位置に、１行につき１個だけエッジが配置される行列である。
【０１０８】
このように決定された行グループ１５１内の区分けパターン、すなわち、列グループ１５２の形態及びエッジ配置可能領域の配置形態は全行グループで同一パターンとする。しかしながら、エッジ配置可能領域内のエッジ配置正方行列１８１の位置及びエッジ配置正方行列１８１内の各行のエッジ位置は、いずれの行グループにおいても任意とし、このエッジの配置が疎となるように決定することでＬＤＰＣ符号の優位な効果を導く。
【０１０９】
本実施形態における復号装置においても、第一実施形態と同様に、図２に示す符号化仕様の他、上述のように決定された区分けパターン及び検査行列をメモリ等に保持する。本実施形態における復号装置では、第一実施形態の復号装置と比べ、メモリに保持すべき検査行列に関する情報量を少なくすることができる。第一実施形態における復号装置では、検査行列について、各行ブロック１５１につきエッジ配置可能領域の位置及びその中のエッジの位置を持つ必要がある。一方、第二実施形態における復号装置では、各行ブロック１５１につきエッジ配置可能領域の位置、各エッジ配置可能領域内のエッジ配置正方行列の位置及び各エッジ配置正方行列内のエッジの位置を持つ必要がある。従って、第二実施形態における復号装置のほうが各行ブロック１５１についてエッジ配置正方行列の位置に関する情報量分多くなるが、各行ブロック１５１に含まれる行数が第二実施形態のほうが多いため、全体としては第二実施形態の復号装置のほうが情報量を少なくすることができるのである。これは、単位領域を正方行列で構成されるようにしているからである。
【０１１０】
〈メモリ１０２及び１０３と各エッジ単位演算器１１０との接続〉
各エッジ単位演算器１１０とメモリ１０２及び１０３との接続関係については第一実施形態と同様である（図４及び５を参照）。すなわち、各列グループ１５２と所定のメモリセルとが１対１で対応付けられ、各エッジ単位演算器１１０と各エッジ配置可能領域とが処理サイクル毎に１対１で対応付けられる。そして、このような対応付けにより、各メモリセルと各エッジ単位演算器１１０とは物理的な信号線１６０により１対１で接続される。従って、本実施形態における復号装置でも、当該信号線１６０を各処理サイクル及び各符号化率についてそれぞれ切り替える必要がない構成となり、従来の復号器において必要であったメモリと演算器間の切替装置を本実施形態の復号装置では実装する必要がない。
【０１１１】
行単位演算器（行単位チェックノード処理部１０５）についての構成及び処理についても第一実施形態と同様である。しかしながら、第二実施形態では、各エッジ単位演算器１１０において尤度情報演算される検査行列の行（チェックノード）の処理順番が第一実施形態と異なることとなる。すなわち、第一実施形態では、各行グループ１５１が同時処理行数（Ｍｇ）からなるため各行グループ１５１の演算は１処理サイクルで完了するが、第二実施形態では、各行グループ１５１がｎ処理サイクルで終了する単位となる。各エッジ単位演算器がそれぞれ割り当てられたエッジ配置可能領域内のエッジ配置正方行列のうちの第１行目から第ｎ行目までの演算を終えた時点（ｎ処理サイクル終了時点）で次の行グループ１５１を演算対象とする。これにより、制御部は、各処理サイクルが終了する度に、メモリに格納されている対象エッジ配置可能領域内のエッジ配置正方行列の位置及びそのエッジ配置正方行列内の各行のエッジの位置に関する情報に基づき、各エッジ単位演算器１１０がそれぞれ接続されるメモリセル内の次に更新すべき尤度情報の位置を通知するようにする。
【０１１２】
［第三実施形態］
本発明の第三実施形態における復号装置について以下に説明する。先に説明した第二実施形態における復号装置は、検査行列の単位領域がｎ行ｎ列の正方行列を任意数分含む領域となるような区分けパターンにより装置構成及び復号処理手法を決めていた。第三実施形態における復号装置は、単位領域がｍ行ｎ列の行列を任意数分含む領域となるような区分けパターンを用いる。検査行列以外は、基本的に第一実施形態及び第二実施形態と同様となるため説明を省略し、ここでは検査行列の構成、それに関連するメモリ構成及びエッジ単位演算器構成についてのみ説明することとする。
【０１１３】
〈検査行列〉
第三実施形態で用いられる検査行列について図２及び図８を用いて説明する。第三実施形態の復号装置においても、符号化仕様は図２に示すように第一実施形態と同様に決定されるものとする。図８は、第三実施形態において用いられる検査行列を示す図である。
【０１１４】
本実施形態における復号装置は、図２に示すように符号化率１／５及び４／５に対応し、エッジ単位演算器１１０を少なくとも演算器実装数（Ｎｃ）分を備え、各符号化率についてそれぞれ行ウエイト（Ｗｒ）と同時処理行数（Ｍｇ）とが決定される。そして、各検査行列の大きさはそれぞれパリティビットビット長（Ｍ）と符号長（Ｎ）で決められる。
【０１１５】
本実施形態では、単位領域がｍ行ｎ列の行列を任意数分含む領域となるように当該検査行列の区分けパターンが決定される。すなわち、各検査行列についてそれぞれ行数（Ｍ）が割り切れる自然数ｍと列数（Ｎ）が割り切れる自然数ｎを定義し、これにより、各行グループ１５１がそれぞれ（同時処理行数（Ｍｇ）×ｍ）行で形成され、各列グループ１５２がそれぞれ（ｎ×各列グループで任意数）列で形成されるように区分けする。
【０１１６】
エッジ配置可能領域の配置方法は第一実施形態と同様である。エッジ配置可能領域以外の単位領域は、ｍ行ｎ列の零行列が列の増える方向で各列グループにつき任意数分含む領
域となる。エッジ配置可能領域は、上記単位領域のいずれか１つの行列がエッジ配置行列１９１となる領域である。エッジ配置行列１９１は、ｍ行ｎ列の行列であり、各行の任意の位置に、１行につき１個だけエッジが配置される行列である。
【０１１７】
このように決定された行グループ１５１内の区分けパターン、すなわち、列グループ１５２の形態及びエッジ配置可能領域の配置形態は全行グループで同一パターンとする。しかしながら、エッジ配置可能領域内のエッジ配置行列１９１の位置及びエッジ配置行列１９１内の各行のエッジ位置は、いずれの行グループにおいても任意とし、このエッジの配置が疎となるように決定することでＬＤＰＣ符号の優位な効果を導く。
【０１１８】
本実施形態における復号装置においても、第一実施形態及び第二実施形態と同様に、図２に示す符号化仕様の他、上述のように決定された区分けパターン及び検査行列をメモリ等に保持する。本実施形態における復号装置では、第一実施形態の復号装置と比べ、第二実施形態で述べたものと同様の理由により、メモリに保持すべき検査行列に関する情報量を少なくすることができる。しかしながら、第二実施形態の復号装置と比べた場合には、単位領域の有する行数を行数ｍとしたため、行数ｍに関する情報分情報量は増えることになるが、正方行列という制限を外したことにより検査行列の形を決める上で自由度が増えるという利点がある。
【０１１９】
〈メモリ１０２及び１０３と各エッジ単位演算器１１０との接続〉
各エッジ単位演算器１１０とメモリ１０２及び１０３との接続関係については第一実施形態及び第二実施形態と同様であり（図４及び５を参照）、本実施形態における復号装置においても、当該信号線１６０を各処理サイクル及び各符号化率についてそれぞれ切り替える必要がなく、従来の復号器において必要であったメモリと演算器間の切替装置を実装する必要がない。
【０１２０】
各エッジ単位演算器１１０において尤度情報演算される検査行列の行（チェックノード）の処理順番については第二実施形態と同様となる。但し、第三実施形態では単位領域の行数がｍ行となるため、各行グループ１５１はｍ処理サイクルで終了する単位となる。これにより、制御部は、各処理サイクルが終了する度に、メモリに格納されている対象エッジ配置可能領域内のエッジ配置行列１９１の位置及びそのエッジ配置行列１９１内の各行のエッジの位置に関する情報に基づき、各エッジ単位演算器１１０がそれぞれ接続されるメモリセル内の次に更新すべき尤度情報の位置を通知する。
【０１２１】
［第四実施形態］
本発明の第四実施形態における復号装置について以下に説明する。先に説明した第一実施形態における復号装置は、検査行列の単位領域が１行任意列の領域となるような区分けパターンにより装置構成及び復号処理手法を決めていた。第四実施形態における復号装置は、単位領域がｍ行任意列の行列となるような区分けパターンを用いる。検査行列以外は、基本的に上述の他の実施形態と同様となるため説明を省略し、ここでは検査行列の構成、それに関連するメモリ構成及びエッジ単位演算器構成についてのみ説明することとする。
【０１２２】
〈検査行列〉
第四実施形態で用いられる検査行列について図２及び図９を用いて説明する。第三実施形態の復号装置においても、符号化仕様は図２に示すように他の実施形態と同様に決定されるものとする。図９は、第四実施形態において用いられる検査行列を示す図である。
【０１２３】
本実施形態では、単位領域がｍ行任意列の行列となるように当該検査行列の区分けパターンが決定される。すなわち、各検査行列についてそれぞれ行数（Ｍ）が割り切れる自然
数ｍを定義し、これにより、各行グループ１５１がそれぞれ（同時処理行数（Ｍｇ）×ｍ）行で形成され、各列グループ１５２がそれぞれ任意数列で形成されるように区分けする。
【０１２４】
エッジ配置可能領域の配置方法は他の実施形態と同様である。エッジ配置可能領域以外の単位領域は、ｍ行任意列の零行列となる。エッジ配置可能領域は、ｍ行任意列の行列であり、各行の任意の位置に、１行につき１個だけエッジが配置される行列である。
【０１２５】
このように決定された行グループ１５１内の区分けパターン、すなわち、列グループ１５２の形態及びエッジ配置可能領域の配置形態は全行グループで同一パターンとする。しかしながら、エッジ配置可能領域の位置及びその中の各行のエッジ位置は、いずれの行グループにおいても任意とし、このエッジの配置が疎となるように決定することでＬＤＰＣ符号の優位な効果を導く。
【０１２６】
本実施形態における復号装置においても、他の実施形態と同様に、図２に示す符号化仕様の他、上述のように決定された区分けパターン及び検査行列をメモリ等に保持する。本実施形態における復号装置では、第一実施形態の復号装置と比べ、第二実施形態で述べたものと同様の理由により、メモリに保持すべき検査行列に関する情報量を少なくすることができる。しかしながら、第二実施形態及び第三実施形態における復号装置と比べた場合には、単位領域の大きさを任意としたため、行数ｍに関する情報及び各列グループ１５２の列数に関する情報分情報量が増えることとなるが、全ての制限を外したことにより検査行列の形を決める上で自由度が増えるという利点がある。
【０１２７】
〈メモリ１０２及び１０３と各エッジ単位演算器１１０との接続〉
各エッジ単位演算器１１０とメモリ１０２及び１０３との接続関係については他の実施形態と同様であり（図４及び５を参照）、本実施形態における復号装置においても、当該信号線１６０を各処理サイクル及び各符号化率についてそれぞれ切り替える必要がなく、従来の復号器において必要であったメモリと演算器間の切替装置を実装する必要がない。
【０１２８】
各エッジ単位演算器１１０において尤度情報演算される検査行列の行（チェックノード）の処理順番については第二実施形態及び第三実施形態と同様となるため説明を省略する。但し、第四実施形態では単位領域の行数がｍ行となるため、各行グループ１５１はｍ処理サイクルで終了する単位となる。これにより、制御部は、各処理サイクルが終了する度に、メモリに格納されている対象エッジ配置可能領域の形及びそのエッジ配置可能領域内の各行のエッジの位置に関する情報に基づき、各エッジ単位演算器１１０がそれぞれ接続されるメモリセル内の次に更新すべき尤度情報の位置を通知する。
【０１２９】
［第五実施形態］
本発明の第五実施形態における復号装置について以下に説明する。第五実施形態における復号装置では、実際の復号の際に利用すべき検査行列とは異なる仮想の検査行列を用いて復号装置構成及び処理手順を決めるものである。
【０１３０】
〔装置構成〕
第五実施形態における復号装置の回路構成例について図１０を用いて説明する。図１０は、第五実施形態における復号装置の回路構成例を示すブロック図である。本実施形態における復号装置は、第一実施形態における構成の他、メモリ制御部２０１を備える。メモリ制御部２０１以外の構成については他の実施形態と同様であるため、ここでは、メモリ制御部２０１についてのみ説明する。
【０１３１】
メモリ制御部２０１は、本実施形態で利用する仮想検査行列に基づき、入力尤度メモリ
１０１に格納される各符号ビットの尤度情報を所定の規則で並べ替えメモリ１０２へ格納する。また、制御部によりメモリ１０２に格納される更新された尤度情報が一時推定のために読み出される場合に、メモリ制御部２０１は、並べ替えられた状態から元の符号ビットの順番に並べ替える。
【０１３２】
上記仮想検査行列は、他の実施形態におけるいずれの検査行列の形を用いてもよく、それに応じて上述の実施形態と同様に装置構成及び処理手順が決定される。メモリ制御部２０１は、実際に復号で用いるべき検査行列から仮想検査行列への変換情報を有し、この変換情報を元に上述の並べ替えを行う。この変換情報とは、列入替えに関する情報である。実際には、当該変換には行入替えも含まれるが、本実施形態における復号装置では検査行列の行（チェックノード）は単なる処理順序に対応するものであるため、行入替えについての情報はメモリ制御部２０１には関係ないものである。従って、メモリ制御部２０１が有する変換情報は列入替えに関する情報のみでよい。
【０１３３】
検査行列の列（変数ノード）は各符号ビットに対応するものであるため、メモリ制御部２０１は、この列入替えに関する情報により、メモリ１０２内の格納すべき位置を割り出す。例えば、仮想検査行列において実際の符号に用いる検査行列の１列目を５列目に入替えている場合には、メモリ制御部２０１は、入力尤度メモリ１０１に格納される第１符号ビットに関する尤度情報をメモリ１０２内の第５符号ビットに関する尤度情報が格納されるべきエリアに格納する。逆に、尤度情報が更新され一時推定される場合には、メモリ制御部２０１は、メモリ１０２内の第５符号ビットに関する尤度情報が格納されているエリアから取り出した尤度情報を第１符号ビットに関する尤度情報として一時推定を行う回路部に出力する。
【０１３４】
これにより、第五実施形態における復号装置によれば、誤り訂正能力を十分に発揮するためのＬＤＰＣ符号により符号化されたデータを復号するための検査行列が上述の第一実施形態から第四実施形態に示す検査行列では実現できない場合にも、対応可能となる。
【図面の簡単な説明】
【０１３５】
【図１】第一実施形態における復号装置の回路構成例を示す図である。
【図２】第一実施形態における符号化仕様を示す図である。
【図３】第一実施形態における検査行列を示す図である。
【図４】第一実施形態における符号化率５分の１の演算器・メモリ接続関係を示す図である。
【図５】第一実施形態における符号化率５分の４の演算器・メモリ接続関係を示す図である。
【図６】第一実施形態における復号装置の動作例を示す図である。
【図７】第二実施形態における検査行列を示す図である。
【図８】第三実施形態における検査行列を示す図である。
【図９】第四実施形態における検査行列を示す図である。
【図１０】第五実施形態における復号装置の回路構成例を示す図である。
【図１１】検査行列を示す図である。
【図１２】従来の復号器構成を示す図である。
【図１３】対応符号化仕様を示す図である。
【図１４】符号化率５分の１で動作時の複数の符号化率に対応する復号器構成を示す図である。
【図１５】符号化率５分の４で動作時の複数の符号化率に対応する復号器構成を示す図である。
【図１６】複数の符号化率に対応する復号器構成を示す図である。
【符号の説明】
【０１３６】
１０１  入力尤度メモリ
１０２  ｑ（ｕ＋１）ｉメモリ
１０３  ｑ（ｕ）ｉメモリ
１０５  行単位チェックノード処理部（行単位演算器）
１１０、１１０−１から１１０−Ｎｃ  エッジ単位演算器
１１１−１  事前変数ノード処理部
１１２−１  チェックノード第１処理部
１１５−１  チェックノード第２処理部
１１６−１  ｒｊｉメモリ
１１７−１  変数ノード処理部
１５１  行グループ
１５２  列グループ
１５３  単位領域
１６０  信号線
１８１  エッジ配置正方行列
１９１  エッジ配置行列
２０１  メモリ制御部
１１  行単位演算器（演算器）
２１  エッジ単位演算器（演算器）
３１、３２、３３  メモリ
【図１】
2007215089.tif 000012
【図２】
2007215089.tif 000013
【図３】
2007215089.tif 000014
【図４】
2007215089.tif 000015
【図５】
2007215089.tif 000016
【図６】
2007215089.tif 000017
【図７】
2007215089.tif 000018
【図８】
2007215089.tif 000019
【図９】
2007215089.tif 000020
【図１０】
2007215089.tif 000021
【図１１】
2007215089.tif 000022
【図１２】
2007215089.tif 000023
【図１３】
2007215089.tif 000024
【図１４】
2007215089.tif 000025
【図１５】
2007215089.tif 000026
【図１６】
2007215089.tif 000027