(57)【要約】【課題】  復号処理の負荷が小さい、繰り返し処理における収束を早くできるシンドロームベース復号装置を提供する。【解決手段】  本発明の復号装置は、（１）当初のシンドロームビットが部分的に加算された部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、（２）変形補償用行列を適用し、部分和シンドロームを、変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、変形検査行列と変換シンドロームを用いて情報ビットの誤り訂正を行う復号手段とを有する。【選択図】      図１
2014116787.tif 000002
【特許請求の範囲】
【請求項１】
当初のシンドロームビットが部分的に加算された部分和シンドロームビットを用いて、誤り訂正復号を行う復号装置において、
上記部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、
当該復号装置へ入力された入力シンドロームに対し、上記変形補償用行列を適用し、上記部分和シンドロームを、上記変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、
上記変形検査行列と上記変換シンドロームを用いて、情報ビットの誤り訂正を行うシンドロームベース復号手段と
を有することを特徴とする復号装置。
【請求項２】
上記入力シンドロームは、ＬＤＰＣＡ符号により累積加算したシンドロームビットがパンクチャされて形成された累積加算シンドロームであり、
上記変換シンドローム形成手段は、
上記累積加算シンドロームに対する差分算出により上記部分和シンドロームを得る差分算出部と、
得られた上記部分和シンドロームに、上記変形補償用行列を乗算して上記変換シンドロームを得るシンドローム変換部とを有する
ことを特徴とする請求項１に記載の復号装置。
【請求項３】
上記入力シンドロームは、ＬＤＰＣＡ符号により累積加算したシンドロームビットがパンクチャされて形成された累積加算シンドロームであり、
上記変形補償用行列は、上記累積加算シンドロームに乗算したときに上記変換シンドロームを形成させる行列になっており、
上記変換シンドローム形成手段は、上記累積加算シンドロームに対して上記変形補償用行列を乗算することにより、上記変換シンドロームを得る
ことを特徴とする請求項１に記載の復号装置。
【請求項４】
上記検査行列変形手段は、変形前の上記部分和検査行列のある行に別の行を加算することによって行重みが小さくなるような変形操作を考慮して上記変形検査行列を得ることを特徴とする請求項１〜３のいずれかに記載の復号装置。
【請求項５】
上記検査行列変形手段は、今回の上記部分和検査行列に応じて、上記変形操作を行うことにより、上記変形検査行列を得ることを特徴とする請求項４に記載の復号装置。
【請求項６】
上記検査行列変形手段は、部分和検査行列の種類毎に、上記変形操作を行って得た変形検査行列を保持しており、今回の上記部分和検査行列に応じて、保持している変形検査行列の中から対応する変形検査行列を取出して、適用する上記変形検査行列を得ることを特徴とする請求項４に記載の復号装置。
【請求項７】
当初のシンドロームビットが部分的に加算された部分和シンドロームビットを用いて、誤り訂正復号を行う復号プログラムにおいて、
コンピュータを、
上記部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、
当該復号装置へ入力された入力シンドロームに対し、上記変形補償用行列を適用し、上記部分和シンドロームを、上記変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、
上記変形検査行列と上記変換シンドロームを用いて、情報ビットの誤り訂正を行うシンドロームベース復号手段と
して機能させることを特徴とする復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散情報源符号化された情報の復号装置及びプログラムに関する。
【背景技術】
【０００２】
分散情報源符号化（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｏｕｒｃｅ  Ｃｏｄｉｎｇ：以下、ＤＳＣと記載する）は、複数の相関のある情報源を独立に分散して符号化し、復号側でこの相関を利用して復号する技術である。
【０００３】
このような符号化は、Ｓｌｅｐｉａｎ−Ｗｏｌｆ符号化とも呼ばれ、誤り訂正符号を用いるなどその実現方法についての技術が注目されている。
【０００４】
特に、図５に示すように、低密度パリティ検査符号（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ  ｃｏｄｅ：以下、ＬＤＰＣと記載する）を用いて、シンドロームベース符号化器１１が、情報源の情報ビットｘをＬＤＰＣ検査行列のシンドロームｓに符号化するシンドロームベース符号化を行い、シンドロームベース復号器２１が、受信したシンドローム情報ｓと、情報源の情報ビットｘと相関のある補助情報ビットｙを用いたシンドロームベース復号を行うことにより、情報源の情報ビットの推定を行う方法が提案されている。
【０００５】
非特許文献１では、ＤＳＣのためのＬＤＰＣを用いた符号化技術において、シンドローム情報への符号化レートを適応的に可変とするための方法（ＬＤＰＣ  Ａｃｃｕｍｌａｔｅ  Ｃｏｄｅｓ；以下、ＬＤＰＣＡ符号と記載する）が開示されている。
【０００６】
ＬＤＰＣＡ符号では、図６に示すように、シンドローム生成部２１が、情報ビットｘに対してＬＤＰＣ検査行列Ｈを適用してシンドロームｓを生成し、累積加算部２２が、シンドロームｓを累積加算して累積加算シンドロームａを得、パンクチャ部２３が符号化レートｒに応じて累積加算シンドロームａをパンクチャし、パンクチャ後の累積加算シンドローム（部分的な累積加算シンドロームと呼ぶことがある）ａ’を出力する。
【０００７】
なお、以下、特に断らない限りビットの加算、行列演算等はガロア体上の演算であるものとする。
【０００８】
ＬＤＰＣＡ符号の復号側では、図７に示すように、差分算出部３１が、部分的な累積加算シンドロームａ’の差分から、シンドロームｓが部分的に加算された部分和シンドロームｕを求め、シンドロームベース復号部３２が、補助情報ビットｙを適用し、部分加算されたシンドロームビットに対応する行を加算した部分和検査行列Ｂを用いて、ＬＤＰＣ符号のシンドロームベース復号を行う。
【０００９】
シンドロームベース復号は、通常の誤り訂正復号が検査行列によるシンドロームを０とするように復号を行うのに対し、与えられたシンドローム（図７の例では部分和シンドロームｕ）となるよう復号を行う点が異なっている。
【００１０】
ＤＳＣのシンドロームベース復号では、入力されるシンドローム情報と、情報源の情報ビットｘと相関のある補助情報ビットｙを用いて、情報ビットｘの推定を行う。
【００１１】
ＬＤＰＣ検査行列を用いる復号器では、Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ（ＢＰ）アルゴリズムなどの繰り返し復号アルゴリズムを用いて復号処理が行われる。検査行列の列に対応するビットノード（情報ビットに対応）と、行に対応するチェックノード（シンドロームに対応）との間で、信頼度情報のメッセージを繰り返し交換することでデコードを行う。低密度の検査行列を用いることにより、各行、各列の行重み、列重み（行、列のハミング重み）が小さく、処理量を抑えることができる。
【００１２】
シンドロームが０となるように復号を行う通常のＬＤＰＣ復号とは異なり、シンドロームベース復号では、行処理において与えられたシンドロームとなるようチェックノードメッセージを更新することで復号処理を行う。
【数１】
2014116787.tif 000003
【００１３】
図８に示す符号化例を説明する。図８に示す例は、（１）式に示す検査行列Ｈを適用した例である。このＬＤＰＣＡ符号化の場合、情報ビット（列ベクトル）ｘ＝（ｘ１，ｘ２，…，ｘ８）Ｔに対する検査行列Ｈによるシンドローム（列ベクトル）ｓ＝（ｓ１，ｓ２，…，ｓ８）Ｔは、（２）式で表され、シンドロームｓの累積加算値（列ベクトル）ａ＝（ａ１，ａ２，…，ａ８）Ｔは（３−１）式、（３−２）式で表され、得られた累積加算シンドロームａの要素が、符号化レートｒに応じたパンクチャにより部分的に除外されて出力される。なお、（３−２）式におけるｉは図８の例では２〜８である。
【００１４】
ｓ＝Ｈｘ      …（２）
ａ１＝ｓ１      …（３−１）
ａｉ＝ａｉ−１＋ｓｉ      …（３−２）
ＬＤＰＣＡ符号の復号側では、累積加算シンドロームａの一部要素がパンクチャにより部分的に除外された累積加算シンドローム（列ベクトル）ａ’が入力され、要素が（４−１）式、（４−２）式で表される、シンドロームｓの要素が部分的に加算された部分和シンドローム（列ベクトル）ｕを求める。なお、（４−２）式におけるｊの最大値は上述したｉの最大値（８）以下の値である。
【００１５】
ｕ１＝ａ’１      …（４−１）
ｕｊ＝ａ’ｊ−ａ’ｊ−１      …（４−２）
そして、部分和シンドロームｕと、部分加算されたシンドロームビットに対応する行を加算した部分和検査行列Ｂを用いてＬＤＰＣシンドロームベース復号を行う。
【００１６】
例えば、８ビットの累積加算シンドロームａのうち２番目、３番目、５番目、６番目、８番目のビット（要素）でなるパンクチャ後の累積加算シンドロームａ’＝（ａ’１，ａ’２，…，ａ’５）Ｔ＝（ａ２，ａ３，ａ５，ａ６，ａ８）Ｔが入力された場合、（５）式に示すように、累積加算シンドロームａ’におけるビット（要素）の差分により部分和シンドロームｕを求める。なお、（５）式における２番目及び３番目の右辺は、１番目の右辺を変形したものであり、後述する部分和検査行列Ｂの構成を理解し易くすべく記載している。
【００１７】
（ｕ１，ｕ２，ｕ３，ｕ４，ｕ５）
＝（ａ’１，ａ’２−ａ’１，ａ’３−ａ’２，ａ’４−ａ’３，ａ’５−ａ’４）
＝（ａ２，ａ３−ａ２，ａ５−ａ３，ａ６−ａ５，ａ８−ａ６）
＝（ｓ１＋ｓ２，ｓ３，ｓ４＋ｓ５，ｓ６，ｓ７＋ｓ８）      …（５）
また、対応するｍ行ｎ列（ｍｘｎ）の検査行列Ｈ＝（ｈ１，…，ｈｍ）Ｔの行（列ベクトルで表記されているとする）ｈｉについて、部分和シンドロームｕにおける部分和の要素に対応する行が加算されたｒ行ｎ列（ｒｘｎ）の部分和検査行列Ｂを用いて復号を行う。
【００１８】
上述した累積加算シンドロームａ’＝（ａ２，ａ３，ａ５，ａ６，ａ８）Ｔが入力された例の場合、部分和検査行列Ｂは、（５）式における最後の式から分かるように（６−１）式で表されるので、具体的には、（６−２）式に示すようになる。
【数２】
2014116787.tif 000004
【００１９】
そして、図９に示すように、補助情報ビットｙの信頼度情報を当初のビットノードとし、ビットノードに対して部分和検査行列Ｂを適用して求めたチェックノードが、差分算出部３１から出力された部分和シンドロームｕと一致するように、出力しようとする情報ビットの探索をＢＰアルゴリズムなどに従って繰返し実行することにより、情報ビットを復号する。
【先行技術文献】
【非特許文献】
【００２０】
【非特許文献１】Ｄ．Ｖａｒｏｄａｙａｎ，  Ａ．Ａａｒｏｎ  ａｎｄ  Ｂ．Ｇｉｒｏｄ，“Ｒａｔｅ−ａｄａｐｔｉｖｅ  ｃｏｄｅｓ  ｆｏｒ  ｄｉｓｔｒｉｂｕｔｅｄ  ｓｏｕｒｃｅ  ｃｏｄｉｎｇ，”ＥＵＲＡＳＩＰ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓ．  Ｊ．，ｖｏｌ．８６，  ｎｏ．１１，ｐｐ．３１２３−３１３０，Ｎｏｖ．２００６
【発明の概要】
【発明が解決しようとする課題】
【００２１】
しかしながら、部分和検査行列Ｂは、元となる検査行列Ｈの複数の行が加算された行を有し、加算された行の行重みが大きくなり、シンドロームベース復号の処理（特に行処理）の負荷が大きくなってしまう。
【００２２】
また、加算された行と加算されていない行など行重みのばらつきが大きく、シンドロームベース復号による繰り返し処理での収束が遅くなるなど、誤り訂正能力が十分に得られない恐れがあった。
【００２３】
そのため、復号処理の負荷が小さい、繰り返し処理における収束を早くできる復号装置及びプログラムが望まれている。
【課題を解決するための手段】
【００２４】
第１の本発明は、当初のシンドロームビットが部分的に加算された部分和シンドロームビットを用いて、誤り訂正復号を行う復号装置において、（１）上記部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、（２）当該復号装置へ入力された入力シンドロームに対し、上記変形補償用行列を適用し、上記部分和シンドロームを、上記変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、（３）上記変形検査行列と上記変換シンドロームを用いて、情報ビットの誤り訂正を行うシンドロームベース復号手段とを有することを特徴とする。
【００２５】
第２の本発明は、当初のシンドロームビットが部分的に加算された部分和シンドロームビットを用いて、誤り訂正復号を行う復号プログラムにおいて、コンピュータを、（１）上記部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、（２）当該復号装置へ入力された入力シンドロームに対し、上記変形補償用行列を適用し、上記部分和シンドロームを、上記変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、（３）上記変形検査行列と上記変換シンドロームを用いて、情報ビットの誤り訂正を行うシンドロームベース復号手段として機能させることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、復号処理の負荷が小さい、繰り返し処理における収束を早くできる復号装置及びプログラムを提供できる。
【図面の簡単な説明】
【００２７】
【図１】第１の実施形態の復号装置（シンドロームベース復号器）の構成を示すブロック図である。
【図２】第１の実施形態の復号装置における検査行列変形部が実行する行列変形処理を示すフローチャートである。
【図３】第２の実施形態の復号装置（シンドロームベース復号器）の構成を示すブロック図である。
【図４】第２の実施形態の復号装置における検査行列変形部が実行する行列変形処理を示すフローチャートである。
【図５】シンドロームベース符号化を用いたＤＳＣシステムを示すブロック図である。
【図６】ＬＤＰＣＡ符号化器の構成を示すブロック図である。
【図７】従来のシンドロームベース復号器の構成を示すブロック図である。
【図８】ＬＤＰＣＡ符号化の説明図である。
【図９】ＬＤＰＣＡ符号の復号の説明図である。
【発明を実施するための形態】
【００２８】
（Ａ）第１の実施形態
以下、本発明による復号装置及びプログラムの第１の実施形態を、図面を参照しながら説明する。第１の実施形態の復号装置は、ＬＤＰＣＡ符号に係るシンドロームベース復号を行うＬＤＰＣＡ符号の復号器である。
【００２９】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態の復号装置（シンドロームベース復号器）の構成を示すブロック図である。第１の実施形態の復号装置を、各種の演算回路の組み合わせなどハードウェア的に構築しても良く、また、ＣＰＵと、ＣＰＵが実行するプログラム（復号プログラム）とのようなソフトウェア的に構築しても良いが、いずれの場合であっても、機能的には、図１で表すことができる。
【００３０】
図１において、第１の実施形態の復号装置１００は、差分算出部１０１、シンドロームベース復号部１０２、検査行列変形部１０３及びシンドローム変換部１０４を有する。
【００３１】
復号装置１００には、累積加算シンドロームａ’、部分和検査行列Ｂ、補助情報ビット（別名、サイドインフォメーションビット）ｙが入力され、シンドロームベース復号により、情報源の情報ビットを推定して、得られた情報ビットｚを出力するものである。
【００３２】
累積加算シンドロームａ’は、上述したように（図６参照）、情報源の情報ビットがＬＤＰＣＡ符号を用いて符号化されたシンドローム情報として、対向する符号化装置（図示せず）から送信されてきたものである。
【００３３】
補助情報ビットｙは、当該復号装置１００を搭載した受信装置が生成した情報ビットであり、符号化装置における情報源の情報ビットと相関があるものである。
【００３４】
部分和検査行列Ｂは、符号化装置を搭載した送信装置が生成して当該復号装置１００に与えるようにしても良く、当該復号装置１００を搭載した受信装置が生成して当該復号装置１００に与えるようにしても良い。例えば、符号化装置が符号化レートを定め、シンドローム情報の送信に先立って符号化レートを伝送する、又は、復号側での必要に応じて符号化レートを符号化装置に要求するなどしてパンクチャ方法を特定し、検査行列Ｈから部分和検査行列Ｂを生成するようにしても良い。あるいは、通信に先立つネゴシエーションで、符号化装置が適用する検査行列Ｈとパンクチャ方法とを定め、これらの検査行列Ｈとパンクチャ方法とから、上述したようにして、部分和検査行列Ｂを生成するようにしても良い。符号化装置が適用する検査行列Ｈと、パンクチャ方法の種類が固定であれば、生成することなく、部分和検査行列Ｂとしてパンクチャ方法に応じた固定の種類の行列を保持しておき、保持している部分和検査行列Ｂを当該復号装置１００に与えるようにしても良い。
【００３５】
差分算出部１０１は、ＬＤＰＣＡ符号により累積加算してパンクチャされたｒビットの累積加算シンドロームａ’をシンドローム情報として入力し、これらのビットの差分から、シンドロームが部分的に加算された部分和シンドロームｕを求めるものであり、図７における差分算出部３１と同様なものである。
【００３６】
なお、この第１の実施形態では、差分算出部１０１による差分処理によって部分和シンドロームを得るものを示したが、累積加算シンドロームａ’に対する差分処理以外の演算などによって、部分和シンドロームを形成するようにしても良い。この場合にも、形成された部分和シンドロームにおける各ビットが、どのようなシンドロームの和になっているかに応じて部分和検査行列を形成する。
【００３７】
検査行列変形部１０３は、部分和シンドロームｕに対応する検査行列Ｈの行が部分加算された部分和検査行列Ｂに対して、行重みが小さくなるような行列変形を施した変形検査行列Ｃ（部分和検査行列Ｂと行数及び列数は同じ）と、部分和検査行列Ｂに左側から乗算した際にその変形検査行列Ｃを算出させる行列変形情報Ｔ（行数及び列数が部分和検査行列Ｂの行数と同じ行列）を形成し、変形検査行列Ｃをシンドロームベース復号部１０２に与え、行列変形情報Ｔをシンドローム変換部１０４に与える。
【００３８】
行重みが小さくなるような行列変形とは、対象の行における「１」の数を減らす変形を言う。検査行列変形部１０３における変形検査行列Ｃ及び行列変形情報Ｔの形成方法については、後述する動作の項の説明で明らかにする。
【００３９】
シンドローム変換部１０４は、入力される部分和シンドロームｕに対して、検査行列変形部１０３から供給される行列変形情報Ｔに対応する変換を施し、得られた変換シンドロームｖ（列ベクトル）をシンドロームベース復号部１０２に出力する。
【００４０】
シンドロームベース復号部１０２は、シンドローム変換部１０４からの変換シンドロームｖと、検査行列変形部１０３からの変形検査行列Ｃを用いて、入力される補助情報ビットｙに対して、シンドロームベース復号処理による誤り訂正復号を行い、復号情報ビットｚを出力する。すなわち、シンドロームベース復号部１０２は、補助情報ビットｙの信頼度情報を当初のビットノードとし、ビットノードに対して変形検査行列Ｃを適用して求めたチェックノードが、シンドローム変換部１０４から出力された変換シンドロームｖと一致するように、出力しようとする情報ビットの探索を繰り返し復号アルゴリズムに従って繰返し実行することにより、情報ビットｚを復号する。
【００４１】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態の復号装置１００の動作を説明する。
【００４２】
ＬＤＰＣＡ符号を用いて符号化されたシンドローム情報である累積加算シンドロームａ’が復号装置１００に入力されると、差分算出部１０１によって、累積加算シンドロームａ’に対する差分処理が施され、得られた部分和シンドロームｕがシンドローム変換部１０４に与えられる。
【００４３】
一方、復号装置１００に入力された部分和検査行列Ｂは検査行列変形部１０３に与えられ、検査行列変形部１０３によって、行重みが部分和検査行列Ｂより小さい変形検査行列Ｃと、変形検査行列Ｃに応じて定まる行列変形情報Ｔが形成され、変形検査行列Ｃはシンドロームベース復号部１０２に与えられ、行列変形情報Ｔはシンドローム変換部１０４に与えられる。なお、３つの行列Ｂ、Ｃ、Ｔ間には、Ｃ＝ＴＢという関係がある。
【００４４】
シンドローム変換部１０４においては、行列変形情報Ｔと部分和シンドロームｕとの積（行列と列ベクトルとの積）に相当する演算が実行され、得られた変換シンドロームｖがシンドロームベース復号部１０２に与えられる。すなわち、シンドローム変換部１０４においてはｖ＝Ｔｕなる演算によって変換シンドロームｖが得られる。言い換えると、行列変形情報Ｔの「１」の要素に従って、行列変形情報ｕの１又は複数のビットが加算されて、変換シンドロームｖのそれぞれのビットが求められる。
【００４５】
シンドロームベース復号部１０２においては、補助情報ビットｙの信頼度情報を当初のビットノードとし、ビットノードに対して変形検査行列Ｃを適用して求めたチェックノードが、シンドローム変換部１０４から出力された変換シンドロームｖと一致するように、出力しようとする情報ビットの探索が、繰り返し復号アルゴリズムに従って繰り返し実行され、これにより、情報源の情報ビットｚが復号（推定）される。このようなシンドロームベース復号処理は、与えられた変換シンドロームｖと変形検査行列Ｃを用いて、例えば、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムやｍｉｎ−ＳｕｍアルゴリズムといったＢＰアルゴリズムなどの繰り返し復号アルゴリズムが適用されて実行される。シンドロームが０となるように復号を行う通常のＬＤＰＣ復号とは異なり、繰り返し復号アルゴリズムの行処理では、シンドロームが与えられた変換シンドロームｖとなるようにチェックノードの更新を行う。また、繰り返し復号の終了は、最大繰返し回数による打ち切りのほか、硬判定した情報ビットｚに対する変形検査行列Ｃによるシンドロームが、変換シンドロームｖと等しくなった場合にも行うようにしても良い。
【００４６】
以下では、検査行列変形部１０３における変形検査行列Ｃ及び行列変形情報Ｔの形成方法（行列変形処理）を説明する。変形検査行列Ｃ及び行列変形情報Ｔの形成は、ソフトウェア的な方法に限定されないが、図２のフローチャートを参照しながら形成方法を説明する。なお、変形元の部分和検査行列Ｂがｒ行ｎ列（ｒｘｎ）の行列であるとして説明を行う。
【００４７】
検査行列変形部１０３は、図２に示す行列変形処理を開始すると、まず、初期設定処理を行う（ステップＳ１０１）。この初期設定処理では、部分和検査行列Ｂを変形検査行列Ｃの初期値とすると共に、ｒｘｒの単位行列Ｅを行列変形情報Ｔの初期値とする。
【００４８】
次に、検査行列変形部１０３は、変形検査行列Ｃの、２つの行の未処理の組み合わせを指示する行インデックスｉ及びｋ（但し、ｉ≠ｋ）の組み合わせを処理対象とし（ステップＳ１０２）、変形検査行列Ｃのｉ行目（のベクトル）ｃｉとｋ行目（のベクトル）ｃｋを加算したベクトルｄを求める（ステップＳ１０３）。因みに、ここでの加算は、上述したようにガロア体での加算であるので、２つのベクトル要素の「１」＋「１」は繰り上がりを伴わない「０」となる。
【００４９】
そして、検査行列変形部１０３は、加算行ベクトルｄのハミング重みｗＨ（ｄ）が、変形検査行列Ｃのｉ行目ベクトルｃｉのハミング重みｗＨ（ｃｉ）より小さいか否か、また、加算行ベクトルｄのハミング重みｗＨ（ｄ）が、変形検査行列Ｃのｋ行目ベクトルｃｋのハミング重みｗＨ（ｃｋ）より小さいか否かを判別する（ステップＳ１０４、ステップＳ１０６）。
【００５０】
加算行ベクトルｄのハミング重みｗＨ（ｄ）が、変形検査行列Ｃのｉ行目ベクトルｃｉのハミング重みｗＨ（ｃｉ）より小さい場合には、変形検査行列Ｃのｉ行目ベクトルｃｉを加算行ベクトルｄに置き換えると共に、行列変形情報Ｔのｉ行目ベクトルｔｉを、行列変形情報Ｔのｉ行目ベクトルｔｉと行列変形情報Ｔのｋ行目ベクトルｔｋとを加算したベクトルに置き換える（ステップＳ１０５）。また、加算行ベクトルｄのハミング重みｗＨ（ｄ）が、変形検査行列Ｃのｋ行目ベクトルｃｋのハミング重みｗＨ（ｃｋ）より小さい場合には、変形検査行列Ｃのｋ行目ベクトルｃｋを加算行ベクトルｄに置き換えると共に、行列変形情報Ｔのｋ行目ベクトルｔｋを、行列変形情報Ｔのｉ行目ベクトルｔｉと行列変形情報Ｔのｋ行目ベクトルｔｋとを加算したベクトルに置き換える（ステップＳ１０７）。
【００５１】
加算行ベクトルｄのハミング重みｗＨ（ｄ）が、加算する前の一方の行ベクトルのハミング重みより小さくて、変形検査行列Ｃ及び行列変形情報Ｔの更新を行った場合、又は、加算行ベクトルｄのハミング重みｗＨ（ｄ）が、加算する前のどちらの行ベクトルのハミング重みより小さくない場合には、２つの行インデックスｉ及びｋの全ての組み合わせに対して、変形検査行列Ｃ及び行列変形情報Ｔを変形しようとした処理（ステップＳ１０３〜Ｓ１０７）を実行したか否かを確認し（ステップＳ１０８）、実行していない組み合わせが残っている場合には、未処理の２つの行インデックスｉ及びｋの組み合わせを処理対象とするステップＳ１０２に戻り、２つの行インデックスｉ及びｋの全ての組み合わせに対する処理が実行済みの場合には、図２に示す一例の処理を終了する。
【００５２】
ステップＳ１０２による２つの行の組み合わせの変化方法は任意であるが、例えば、以下のような変化方法を挙げることができる。部分和検査行列Ｂが５行の場合において、２行の組み合わせを（ｉ，ｋ）と表現すると、（１，２）、（１，３）、（１，４）、（１，５）、（２，３）、（２，４）、（２，５）、（３，４）、（３，５）、（４，５）の順で、２行の未処理の組み合わせを変化させる。
【００５３】
２行の組み合わせは、２行共に更新されていない行に限定しても良く、また、更新された行も２行の組み合わせの要素になるようにしても良い。
【００５４】
後者の場合であれば、（１，２）、（１，３）、（１，４）、（１，５）、（２，３）、（２，４）、（２，５）、（３，４）、（３，５）、（４，５）という上述した２行の未処理の組み合わせの変化となる。
【００５５】
前者の場合であれば、例えば、１行目及び２行目の組み合わせの処理時において、１行目が加算行ベクトルに更新された場合、１行目を組み合わせ要素としている（１，３）、（１，４）、（１，５）の３つの組み合わせに対する、変形検査行列Ｃ及び行列変形情報Ｔを変形しようとした処理（ステップＳ１０３〜Ｓ１０７）は省略される。また例えば、１行目及び２行目の組み合わせの処理時において、２行目が加算行ベクトルに更新された場合、２行目を組み合わせ要素としている（２，３）、（２，４）、（２，５）の３つの組み合わせに対する、変形検査行列Ｃ及び行列変形情報Ｔを変形しようとした処理（ステップＳ１０３〜Ｓ１０７）は省略される。
【００５６】
部分和検査行列Ｂが上述した（６−２）式で示す行列の場合において、図２に示す行列変形処理を実行すると、変換検査行列Ｃとして（７）式に示す行列が得られると共に、行列変形情報Ｔとして（８）式に示す行列が得られる。（８）式に示す行列変形情報Ｔと、（６−２）式で示す部分和検査行列Ｂとの積を求めると、（７）式に示す変換検査行列Ｃになることが分かる。
【数３】
2014116787.tif 000005
【００５７】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、以下のような効果が得られる。
【００５８】
部分和検査行列Ｂの変形換作によって、行重みを小さくした変形検査行列Ｃを得てシンドロームベース復号を行うようにしたので、シンドロームベース復号の処理（特に、行処理の処理）の負荷を削減することができる。また、行重みが小さくなることで信頼度の低いノードの影響を受けにくくなり、繰り返し復号の収束が速くなるという効果が得られる。
【００５９】
因みに、第１の実施形態では、検査行列変形部１０３の処理やシンドローム変換部１０４の処理が増えるが、検査行列変形部１０３の処理やシンドローム変換部１０４の処理は、シンドロームベース復号処理のような最適解の探索処理ではないので、検査行列変形部１０３の処理やシンドローム変換部１０４の処理の増加というデメリットより、シンドロームベース復号処理による負荷の軽減や収束の迅速化というメリットの方が上回っている。
【００６０】
（Ｂ）第２の実施形態
次に、本発明による復号装置及びプログラムの第２の実施形態を、図面を参照しながら説明する。
【００６１】
（Ｂ−１）第２の実施形態の構成
図３は、第２の実施形態の復号装置（シンドロームベース復号器）の構成を示すブロック図であり、第１の実施形態に係る図１との同一部分には同一符号を付して示している。
【００６２】
図３において、第２の実施形態の復号装置２００は、シンドロームベース復号部１０２、統合シンドローム変換部２０１及び検査行列変形部２０３を有する。
【００６３】
統合シンドローム変換部２０１は、検査行列変形部２０３から与えられた統合変換情報（の行列）Ｆに基づいて、第１の実施形態における差分算出部１０１の処理とシンドローム変換部１０４の処理とを、統合して一気に行うものである。すなわち、統合シンドローム変換部２０１は、検査行列変形部２０３から統合変換情報Ｆが与えられ、統合シンドローム変換処理により、累積加算シンドロームａ’から変換シンドロームｖを一気に求めてシンドロームベース復号部１０２に与えるものである。
【００６４】
第２の実施形態における検査行列変形部２０３は、変形検査行列Ｃを形成してシンドロームベース復号部１０２に出力する点は、第１の実施形態の検査行列変形部１０３と同様であるが、第１の実施形態で言及した行列変形情報Ｔと、シンドローム情報の差分処理のための情報とを統合した統合変換情報Ｆを形成して統合シンドローム変換部２０１に出力する点は、第１の実施形態の検査行列変形部１０３と異なっている。統合変換情報Ｆの形成方法については、後述する動作説明の項で明らかにする。
【００６５】
なお、シンドロームベース復号部１０２は、第１の実施形態のものと同様であり、その説明は省略する。
【００６６】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態の復号装置２００の動作を説明する。
【００６７】
復号装置２００に入力された部分和検査行列Ｂは検査行列変形部２０３に与えられ、検査行列変形部２０３によって、行重みが部分和検査行列Ｂより小さい変形検査行列Ｃと、変形検査行列Ｃに応じて定まる統合変換情報Ｆが形成され、変形検査行列Ｃはシンドロームベース復号部１０２に与えられ、統合変換情報Ｆは統合シンドローム変換部２０１に与えられる。
【００６８】
シンドロームベース符号化器側でＬＤＰＣＡ符号を用いて符号化されたシンドローム情報である累積加算シンドロームａ’が復号装置２００に入力されると、統合シンドローム変換部２０１によって、累積加算シンドロームａ’と統合変換情報Ｆとの積が求められ、この乗算処理によって得られた変換シンドロームｖ（＝Ｆａ’）がシンドロームベース復号部１０２に与えられる。
【００６９】
第２の実施形態においても、シンドロームベース復号部１０２においては、補助情報ビットｙの信頼度情報を当初のビットノードとし、ビットノードに対して変形検査行列Ｃを適用して求めたチェックノードが変換シンドロームｖと一致するように、出力しようとする情報ビットの探索が、繰り返し復号アルゴリズムに従って繰り返し実行され、これにより、情報源の情報ビットｚが復号（推定）される。
【００７０】
以下では、検査行列変形部２０３における変形検査行列Ｃ及び統合変換情報Ｆの形成方法（行列変形処理）を説明する。
【００７１】
第１の実施形態における受信したシンドローム情報ａ’の差分処理による部分和シンドロームｕの形成処理は、差分処理用の行列Ｄを用いたガロア体上の行列演算（ｕ＝Ｄａ’）として表現でき、また、行列変形情報Ｔを適用した部分和シンドロームｕからの変換シンドロームｖへの変換処理も、ガロア体上の行列演算（ｖ＝Ｔｕ＝ＴＤａ’）として表現できる。従って、統合変換情報ＦをＦ＝ＴＤとしたならば、統合変換情報Ｆを適用し、シンドローム情報ａ’から一気に変換シンドロームｖを得ることができる。
【００７２】
差分処理用の行列Ｄは「１」の行例内の位置が定まっているｒ×ｒの正方行列であり、ｒが５の場合であれば、（９）式のように表すことができる。
【数４】
2014116787.tif 000006
【００７３】
行列のサイズが定まると固定行列である差分処理用の行列Ｄと行列変形情報Ｔとから、統合変換情報Ｆが規定されるので、統合変換情報Ｆは、行列変形情報Ｔを求めた後に差分処理用の行列Ｄと合成することで求めることができる。以下では、上述した第１の実施形態のおける行列変形情報Ｔの形成方法を修正してなる、統合変換情報Ｆの形成方法を説明する。
【００７４】
第２の実施形態における変形検査行列Ｃ及び統合変換情報Ｆの形成は、ソフトウェア的な方法に限定されないが、以下では、図４のフローチャートを参照しながら形成方法を説明する。なお、図４において、第１の実施形態に係る上述した図２のフローチャートと同一ステップには同一符号を付して示している。また、変形元の部分和検査行列Ｂがｒ行ｎ列（ｒｘｎ）の行列であるとして説明を行う。
【００７５】
図４及び図２のフローチャートの比較から明らかなように、第２の実施形態における変形検査行列Ｃ及び統合変換情報Ｆの形成は、第１の実施形態における変形検査行列Ｃ及び変形検査情報Ｔの形成処理のステップＳ１０１、Ｓ１０５、Ｓ１０７の処理が、ステップＳ２０１、Ｓ２０５、Ｓ２０７の処理に置き換わったものとなっており、他の処理は第１の実施形態と同様である。以下では、相違点を中心に説明する。
【００７６】
第２の実施形態の検査行列変形部２０３が実行する初期設定処理（ステップＳ２０１）では、部分和検査行列Ｂを変形検査行列Ｃの初期値とすると共に、差分処理用の行列Ｄを統合変換情報Ｆの初期値とする。統合変換情報Ｆは上述したようにＴＤで表され、変形検査情報Ｔを形成する際の初期値は単位行列Ｅであったが、統合変換情報Ｆの初期値は、差分処理用の行列Ｄとしている。
【００７７】
第２の実施形態では、変形検査情報Ｔではなく統合変換情報Ｆを形成するため、行列変形情報Ｔのｉ行目ベクトルｔｉを、行列変形情報Ｔのｉ行目ベクトルｔｉと行列変形情報Ｔのｋ行目ベクトルｔｋとを加算したベクトルに置き換える処理（ステップＳ１０５参照）や、行列変形情報Ｔのｋ行目ベクトルｔｋを、行列変形情報Ｔのｉ行目ベクトルｔｉと行列変形情報Ｔのｋ行目ベクトルｔｋとを加算したベクトルに置き換える処理（ステップＳ１０７参照）は、統合変換情報Ｆのｉ行目ベクトルｆｉを、統合変換情報Ｆのｉ行目ベクトルｆｉと統合変換情報Ｆのｋ行目ベクトルｆｋとを加算したベクトルに置き換える処理（ステップＳ２０５参照）や、統合変換情報Ｆのｋ行目ベクトルｆｋを、統合変換情報Ｆのｉ行目ベクトルｆｉと統合変換情報Ｆのｋ行目ベクトルｆｋとを加算したベクトルに置き換える処理（ステップＳ２０７参照）となる。
【００７８】
部分和検査行列Ｂが上述した（６−２）式で示す行列の場合において、図４に示す行列変形処理を実行すると、統合変換情報Ｆとして（１０）式に示す行列が得られる。（８）式に示す行列変形情報Ｔと、（９）式に示す差分処理用の行列Ｄとの積を求めると、（１０）式で示す部分和検査行列Ｂになることが分かる。
【数５】
2014116787.tif 000007
【００７９】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、第１の実施形態と同様の効果に加えて以下の効果を奏することができる。すなわち、受信したシンドローム情報に対する、差分処理と行列変形に対応する変換を統合して処理するので、処理量を一段と削減することができる。
【００８０】
（Ｃ）他の実施形態
第１の実施形態に関する変形実施形態としては、以下の変形実施形態を挙げることができる。
【００８１】
第１の実施形態においては、変形検査行列Ｃや行列変形情報Ｔは疎な行列（「１」が「０」に比較して大幅に少ない行列）であるため、情報として保持したり、転送したりする際には、行列要素を全て書き出すような形式ではなく、各行に対する「１」の要素の列番号のリストを書き出すような形式であっても良い。乗算などの演算処理についても「１」の要素の列番号に対応する要素のみに対する処理としても良い。
【００８２】
また、第１の実施形態においては、検査行列変形部１０３が図２のフローチャートに示す処理を実行して変形検査行列Ｃや行列変形情報Ｔを形成するものを示したが、入力され得る部分和検査行列Ｂごとに予め変形検査行列Ｃと行列変形情報Ｔを求めておいてテーブルなどに格納しておき、必要時に、部分和検査行列Ｂ若しくは符号化レートｒをキーとしてテーブルなどを参照して変形検査行列Ｃと行列変形情報Ｔを得るようにしても良い。
【００８３】
第１の実施形態では、シンドロームベース符号化器側からシンドロームベース復号器へ、累積加算シンドロームａ’を伝送するものを示したが、シンドロームベース符号化器に差分算出部（１０６）を設け、シンドロームベース符号化器側からシンドロームベース復号器へ部分和シンドロームｕを伝送するものであっても良い。
【００８４】
また、第２の実施形態に関する変形実施形態としては、以下の変形実施形態を挙げることができる。
【００８５】
第２の実施形態においては、変形検査行列Ｃや統合変換情報Ｆは疎な行列であるため、情報として保持したり、転送したりする際には、行列要素を全て書き出すような形式ではなく、各行に対する「１」の要素の列番号のリストを書き出すような形式であっても良い。乗算などの演算処理についても「１」の要素の列番号に対応する要素のみに対する処理としても良い。
【００８６】
また、第２の実施形態においては、検査行列変形部２０３が図４のフローチャートに示す処理を実行して変形検査行列Ｃや統合変換情報Ｆを形成するものを示したが、入力され得る部分和検査行列Ｂごとに予め変形検査行列Ｃと統合変換情報Ｆを求めておいてテーブルなどに格納しておき、必要時に、部分和検査行列Ｂ若しくは符号化レートｒをキーとしてテーブルなどを参照して変形検査行列Ｃと統合変換情報Ｆを得るようにしても良い。
【００８７】
第１及び第２の実施形態に共通する変形実施形態としては、以下の変形実施形態を挙げることができる。
【００８８】
本発明の技術思想は、上記各実施形態の復号装置に限定されず、その他のさまざまなシンドロームベース復号に利用可能である。例えば、ＬＤＰＣＡ符号のような累積加算とパンクチャによる符号化レートの適応以外のレート適応方法を用いて、差分以外の手段により部分和シンドロームと部分和検査行列が供給されるようなシンドロームベース復号に対しても利用可能である。また例えば、符号化レートは固定であっても良い。
【符号の説明】
【００８９】
１００、２００…復号装置、１０１…差分算出部、１０２…シンドロームベース復号部、１０３、２０３…検査行列変形部、１０４…シンドローム変換部、２０１…統合シンドローム変換部。
【図１】
2014116787.tif 000008
【図２】
2014116787.tif 000009
【図３】
2014116787.tif 000010
【図４】
2014116787.tif 000011
【図５】
2014116787.tif 000012
【図６】
2014116787.tif 000013
【図７】
2014116787.tif 000014
【図８】
2014116787.tif 000015
【図９】
2014116787.tif 000016