【文献】
Chung-Li Wang et al.,Low-density parity-check accumulate codes,Information Theory and its Applications (ISITA), 2010 International Symposium on,2010年10月20日,pp.7-12
【文献】
David Varodayan et al.,Rate-Adaptive Codes for Distributed Source Coding [online],2006年 2月16日,インターネット:URL<http://web.stanford.edu/~bgirod/pdfs/Varodayan_EURASIPSignalProcessing06.pdf>, 検索日2016年4月8日
【文献】
Chao Yu et al.,Improved Low-Density Parity Check Accumulate (LDPCA) Codes,IEEE Transactions on Communications,2013年 9月,Vol.61, No.9,pp.3590-3599
(58)【調査した分野】(Int.Cl.,DB名)
上記検査行列変形手段は、変形前の上記部分和検査行列のある行に別の行を加算することによって行重みが小さくなるような変形操作を考慮して上記変形検査行列を得ることを特徴とする請求項1〜3のいずれかに記載の復号装置。
上記検査行列変形手段は、部分和検査行列の種類毎に、上記変形操作を行って得た変形検査行列を保持しており、今回の上記部分和検査行列に応じて、保持している変形検査行列の中から対応する変形検査行列を取出して、適用する上記変形検査行列を得ることを特徴とする請求項4に記載の復号装置。
【背景技術】
【0002】
分散情報源符号化(Distributed Source Coding:以下、DSCと記載する)は、複数の相関のある情報源を独立に分散して符号化し、復号側でこの相関を利用して復号する技術である。
【0003】
このような符号化は、Slepian−Wolf符号化とも呼ばれ、誤り訂正符号を用いるなどその実現方法についての技術が注目されている。
【0004】
特に、
図5に示すように、低密度パリティ検査符号(Low Density Parity Check code:以下、LDPCと記載する)を用いて、シンドロームベース符号化器11が、情報源の情報ビットxをLDPC検査行列のシンドロームsに符号化するシンドロームベース符号化を行い、シンドロームベース復号器21が、受信したシンドローム情報sと、情報源の情報ビットxと相関のある補助情報ビットyを用いたシンドロームベース復号を行うことにより、情報源の情報ビットの推定を行う方法が提案されている。
【0005】
非特許文献1では、DSCのためのLDPCを用いた符号化技術において、シンドローム情報への符号化レートを適応的に可変とするための方法(LDPC Accumlate Codes;以下、LDPCA符号と記載する)が開示されている。
【0006】
LDPCA符号では、
図6に示すように、シンドローム生成部21が、情報ビットxに対してLDPC検査行列Hを適用してシンドロームsを生成し、累積加算部22が、シンドロームsを累積加算して累積加算シンドロームaを得、パンクチャ部23が符号化レートrに応じて累積加算シンドロームaをパンクチャし、パンクチャ後の累積加算シンドローム(部分的な累積加算シンドロームと呼ぶことがある)a’を出力する。
【0007】
なお、以下、特に断らない限りビットの加算、行列演算等はガロア体上の演算であるものとする。
【0008】
LDPCA符号の復号側では、
図7に示すように、差分算出部31が、部分的な累積加算シンドロームa’の差分から、シンドロームsが部分的に加算された部分和シンドロームuを求め、シンドロームベース復号部32が、補助情報ビットyを適用し、部分加算されたシンドロームビットに対応する行を加算した部分和検査行列Bを用いて、LDPC符号のシンドロームベース復号を行う。
【0009】
シンドロームベース復号は、通常の誤り訂正復号が検査行列によるシンドロームを0とするように復号を行うのに対し、与えられたシンドローム(
図7の例では部分和シンドロームu)となるよう復号を行う点が異なっている。
【0010】
DSCのシンドロームベース復号では、入力されるシンドローム情報と、情報源の情報ビットxと相関のある補助情報ビットyを用いて、情報ビットxの推定を行う。
【0011】
LDPC検査行列を用いる復号器では、Belief Propagation(BP)アルゴリズムなどの繰り返し復号アルゴリズムを用いて復号処理が行われる。検査行列の列に対応するビットノード(情報ビットに対応)と、行に対応するチェックノード(シンドロームに対応)との間で、信頼度情報のメッセージを繰り返し交換することでデコードを行う。低密度の検査行列を用いることにより、各行、各列の行重み、列重み(行、列のハミング重み)が小さく、処理量を抑えることができる。
【0012】
シンドロームが0となるように復号を行う通常のLDPC復号とは異なり、シンドロームベース復号では、行処理において与えられたシンドロームとなるようチェックノードメッセージを更新することで復号処理を行う。
【数1】
【0013】
図8に示す符号化例を説明する。
図8に示す例は、(1)式に示す検査行列Hを適用した例である。このLDPCA符号化の場合、情報ビット(列ベクトル)x=(x
1,x
2,…,x
8)
Tに対する検査行列Hによるシンドローム(列ベクトル)s=(s
1,s
2,…,s
8)
Tは、(2)式で表され、シンドロームsの累積加算値(列ベクトル)a=(a
1,a
2,…,a
8)
Tは(3−1)式、(3−2)式で表され、得られた累積加算シンドロームaの要素が、符号化レートrに応じたパンクチャにより部分的に除外されて出力される。なお、(3−2)式におけるiは
図8の例では2〜8である。
【0014】
s=Hx …(2)
a
1=s
1 …(3−1)
a
i=a
i−1+s
i …(3−2)
LDPCA符号の復号側では、累積加算シンドロームaの一部要素がパンクチャにより部分的に除外された累積加算シンドローム(列ベクトル)a’が入力され、要素が(4−1)式、(4−2)式で表される、シンドロームsの要素が部分的に加算された部分和シンドローム(列ベクトル)uを求める。なお、(4−2)式におけるjの最大値は上述したiの最大値(8)以下の値である。
【0015】
u
1=a’
1 …(4−1)
u
j=a’
j−a’
j−1 …(4−2)
そして、部分和シンドロームuと、部分加算されたシンドロームビットに対応する行を加算した部分和検査行列Bを用いてLDPCシンドロームベース復号を行う。
【0016】
例えば、8ビットの累積加算シンドロームaのうち2番目、3番目、5番目、6番目、8番目のビット(要素)でなるパンクチャ後の累積加算シンドロームa’=(a’
1,a’
2,…,a’
5)
T=(a
2,a
3,a
5,a
6,a
8)
Tが入力された場合、(5)式に示すように、累積加算シンドロームa’におけるビット(要素)の差分により部分和シンドロームuを求める。なお、(5)式における2番目及び3番目の右辺は、1番目の右辺を変形したものであり、後述する部分和検査行列Bの構成を理解し易くすべく記載している。
【0017】
(u
1,u
2,u
3,u
4,u
5)
=(a’
1,a’
2−a’
1,a’
3−a’
2,a’
4−a’
3,a’
5−a’
4)
=(a
2,a
3−a
2,a
5−a
3,a
6−a
5,a
8−a
6)
=(s
1+s
2,s
3,s
4+s
5,s
6,s
7+s
8) …(5)
また、対応するm行n列(mxn)の検査行列H=(h
1,…,h
m)
Tの行(列ベクトルで表記されているとする)h
iについて、部分和シンドロームuにおける部分和の要素に対応する行が加算されたr行n列(rxn)の部分和検査行列Bを用いて復号を行う。
【0018】
上述した累積加算シンドロームa’=(a
2,a
3,a
5,a
6,a
8)
Tが入力された例の場合、部分和検査行列Bは、(5)式における最後の式から分かるように(6−1)式で表されるので、具体的には、(6−2)式に示すようになる。
【数2】
【0019】
そして、
図9に示すように、補助情報ビットyの信頼度情報を当初のビットノードとし、ビットノードに対して部分和検査行列Bを適用して求めたチェックノードが、差分算出部31から出力された部分和シンドロームuと一致するように、出力しようとする情報ビットの探索をBPアルゴリズムなどに従って繰返し実行することにより、情報ビットを復号する。
【発明を実施するための形態】
【0028】
(A)第1の実施形態
以下、本発明による復号装置及びプログラムの第1の実施形態を、図面を参照しながら説明する。第1の実施形態の復号装置は、LDPCA符号に係るシンドロームベース復号を行うLDPCA符号の復号器である。
【0029】
(A−1)第1の実施形態の構成
図1は、第1の実施形態の復号装置(シンドロームベース復号器)の構成を示すブロック図である。第1の実施形態の復号装置を、各種の演算回路の組み合わせなどハードウェア的に構築しても良く、また、CPUと、CPUが実行するプログラム(復号プログラム)とのようなソフトウェア的に構築しても良いが、いずれの場合であっても、機能的には、
図1で表すことができる。
【0030】
図1において、第1の実施形態の復号装置100は、差分算出部101、シンドロームベース復号部102、検査行列変形部103及びシンドローム変換部104を有する。
【0031】
復号装置100には、累積加算シンドロームa’、部分和検査行列B、補助情報ビット(別名、サイドインフォメーションビット)yが入力され、シンドロームベース復号により、情報源の情報ビットを推定して、得られた情報ビットzを出力するものである。
【0032】
累積加算シンドロームa’は、上述したように(
図6参照)、情報源の情報ビットがLDPCA符号を用いて符号化されたシンドローム情報として、対向する符号化装置(図示せず)から送信されてきたものである。
【0033】
補助情報ビットyは、当該復号装置100を搭載した受信装置が生成した情報ビットであり、符号化装置における情報源の情報ビットと相関があるものである。
【0034】
部分和検査行列Bは、符号化装置を搭載した送信装置が生成して当該復号装置100に与えるようにしても良く、当該復号装置100を搭載した受信装置が生成して当該復号装置100に与えるようにしても良い。例えば、符号化装置が符号化レートを定め、シンドローム情報の送信に先立って符号化レートを伝送する、又は、復号側での必要に応じて符号化レートを符号化装置に要求するなどしてパンクチャ方法を特定し、検査行列Hから部分和検査行列Bを生成するようにしても良い。あるいは、通信に先立つネゴシエーションで、符号化装置が適用する検査行列Hとパンクチャ方法とを定め、これらの検査行列Hとパンクチャ方法とから、上述したようにして、部分和検査行列Bを生成するようにしても良い。符号化装置が適用する検査行列Hと、パンクチャ方法の種類が固定であれば、生成することなく、部分和検査行列Bとしてパンクチャ方法に応じた固定の種類の行列を保持しておき、保持している部分和検査行列Bを当該復号装置100に与えるようにしても良い。
【0035】
差分算出部101は、LDPCA符号により累積加算してパンクチャされたrビットの累積加算シンドロームa’をシンドローム情報として入力し、これらのビットの差分から、シンドロームが部分的に加算された部分和シンドロームuを求めるものであり、
図7における差分算出部31と同様なものである。
【0036】
なお、この第1の実施形態では、差分算出部101による差分処理によって部分和シンドロームを得るものを示したが、累積加算シンドロームa’に対する差分処理以外の演算などによって、部分和シンドロームを形成するようにしても良い。この場合にも、形成された部分和シンドロームにおける各ビットが、どのようなシンドロームの和になっているかに応じて部分和検査行列を形成する。
【0037】
検査行列変形部103は、部分和シンドロームuに対応する検査行列Hの行が部分加算された部分和検査行列Bに対して、行重みが小さくなるような行列変形を施した変形検査行列C(部分和検査行列Bと行数及び列数は同じ)と、部分和検査行列Bに左側から乗算した際にその変形検査行列Cを算出させる行列変形情報T(行数及び列数が部分和検査行列Bの行数と同じ行列)を形成し、変形検査行列Cをシンドロームベース復号部102に与え、行列変形情報Tをシンドローム変換部104に与える。
【0038】
行重みが小さくなるような行列変形とは、対象の行における「1」の数を減らす変形を言う。検査行列変形部103における変形検査行列C及び行列変形情報Tの形成方法については、後述する動作の項の説明で明らかにする。
【0039】
シンドローム変換部104は、入力される部分和シンドロームuに対して、検査行列変形部103から供給される行列変形情報Tに対応する変換を施し、得られた変換シンドロームv(列ベクトル)をシンドロームベース復号部102に出力する。
【0040】
シンドロームベース復号部102は、シンドローム変換部104からの変換シンドロームvと、検査行列変形部103からの変形検査行列Cを用いて、入力される補助情報ビットyに対して、シンドロームベース復号処理による誤り訂正復号を行い、復号情報ビットzを出力する。すなわち、シンドロームベース復号部102は、補助情報ビットyの信頼度情報を当初のビットノードとし、ビットノードに対して変形検査行列Cを適用して求めたチェックノードが、シンドローム変換部104から出力された変換シンドロームvと一致するように、出力しようとする情報ビットの探索を繰り返し復号アルゴリズムに従って繰返し実行することにより、情報ビットzを復号する。
【0041】
(A−2)第1の実施形態の動作
次に、第1の実施形態の復号装置100の動作を説明する。
【0042】
LDPCA符号を用いて符号化されたシンドローム情報である累積加算シンドロームa’が復号装置100に入力されると、差分算出部101によって、累積加算シンドロームa’に対する差分処理が施され、得られた部分和シンドロームuがシンドローム変換部104に与えられる。
【0043】
一方、復号装置100に入力された部分和検査行列Bは検査行列変形部103に与えられ、検査行列変形部103によって、行重みが部分和検査行列Bより小さい変形検査行列Cと、変形検査行列Cに応じて定まる行列変形情報Tが形成され、変形検査行列Cはシンドロームベース復号部102に与えられ、行列変形情報Tはシンドローム変換部104に与えられる。なお、3つの行列B、C、T間には、C=TBという関係がある。
【0044】
シンドローム変換部104においては、行列変形情報Tと部分和シンドロームuとの積(行列と列ベクトルとの積)に相当する演算が実行され、得られた変換シンドロームvがシンドロームベース復号部102に与えられる。すなわち、シンドローム変換部104においてはv=Tuなる演算によって変換シンドロームvが得られる。言い換えると、行列変形情報Tの「1」の要素に従って、行列変形情報uの1又は複数のビットが加算されて、変換シンドロームvのそれぞれのビットが求められる。
【0045】
シンドロームベース復号部102においては、補助情報ビットyの信頼度情報を当初のビットノードとし、ビットノードに対して変形検査行列Cを適用して求めたチェックノードが、シンドローム変換部104から出力された変換シンドロームvと一致するように、出力しようとする情報ビットの探索が、繰り返し復号アルゴリズムに従って繰り返し実行され、これにより、情報源の情報ビットzが復号(推定)される。このようなシンドロームベース復号処理は、与えられた変換シンドロームvと変形検査行列Cを用いて、例えば、Sum−Productアルゴリズムやmin−SumアルゴリズムといったBPアルゴリズムなどの繰り返し復号アルゴリズムが適用されて実行される。シンドロームが0となるように復号を行う通常のLDPC復号とは異なり、繰り返し復号アルゴリズムの行処理では、シンドロームが与えられた変換シンドロームvとなるようにチェックノードの更新を行う。また、繰り返し復号の終了は、最大繰返し回数による打ち切りのほか、硬判定した情報ビットzに対する変形検査行列Cによるシンドロームが、変換シンドロームvと等しくなった場合にも行うようにしても良い。
【0046】
以下では、検査行列変形部103における変形検査行列C及び行列変形情報Tの形成方法(行列変形処理)を説明する。変形検査行列C及び行列変形情報Tの形成は、ソフトウェア的な方法に限定されないが、
図2のフローチャートを参照しながら形成方法を説明する。なお、変形元の部分和検査行列Bがr行n列(rxn)の行列であるとして説明を行う。
【0047】
検査行列変形部103は、
図2に示す行列変形処理を開始すると、まず、初期設定処理を行う(ステップS101)。この初期設定処理では、部分和検査行列Bを変形検査行列Cの初期値とすると共に、rxrの単位行列Eを行列変形情報Tの初期値とする。
【0048】
次に、検査行列変形部103は、変形検査行列Cの、2つの行の未処理の組み合わせを指示する行インデックスi及びk(但し、i≠k)の組み合わせを処理対象とし(ステップS102)、変形検査行列Cのi行目(のベクトル)c
iとk行目(のベクトル)c
kを加算したベクトルdを求める(ステップS103)。因みに、ここでの加算は、上述したようにガロア体での加算であるので、2つのベクトル要素の「1」+「1」は繰り上がりを伴わない「0」となる。
【0049】
そして、検査行列変形部103は、加算行ベクトルdのハミング重みw
H(d)が、変形検査行列Cのi行目ベクトルc
iのハミング重みw
H(c
i)より小さいか否か、また、加算行ベクトルdのハミング重みw
H(d)が、変形検査行列Cのk行目ベクトルc
kのハミング重みw
H(c
k)より小さいか否かを判別する(ステップS104、ステップS106)。
【0050】
加算行ベクトルdのハミング重みw
H(d)が、変形検査行列Cのi行目ベクトルc
iのハミング重みw
H(c
i)より小さい場合には、変形検査行列Cのi行目ベクトルc
iを加算行ベクトルdに置き換えると共に、行列変形情報Tのi行目ベクトルt
iを、行列変形情報Tのi行目ベクトルt
iと行列変形情報Tのk行目ベクトルt
kとを加算したベクトルに置き換える(ステップS105)。また、加算行ベクトルdのハミング重みw
H(d)が、変形検査行列Cのk行目ベクトルc
kのハミング重みw
H(c
k)より小さい場合には、変形検査行列Cのk行目ベクトルc
kを加算行ベクトルdに置き換えると共に、行列変形情報Tのk行目ベクトルt
kを、行列変形情報Tのi行目ベクトルt
iと行列変形情報Tのk行目ベクトルt
kとを加算したベクトルに置き換える(ステップS107)。
【0051】
加算行ベクトルdのハミング重みw
H(d)が、加算する前の一方の行ベクトルのハミング重みより小さくて、変形検査行列C及び行列変形情報Tの更新を行った場合、又は、加算行ベクトルdのハミング重みw
H(d)が、加算する前のどちらの行ベクトルのハミング重みより小さくない場合には、2つの行インデックスi及びkの全ての組み合わせに対して、変形検査行列C及び行列変形情報Tを変形しようとした処理(ステップS103〜S107)を実行したか否かを確認し(ステップS108)、実行していない組み合わせが残っている場合には、未処理の2つの行インデックスi及びkの組み合わせを処理対象とするステップS102に戻り、2つの行インデックスi及びkの全ての組み合わせに対する処理が実行済みの場合には、
図2に示す一例の処理を終了する。
【0052】
ステップS102による2つの行の組み合わせの変化方法は任意であるが、例えば、以下のような変化方法を挙げることができる。部分和検査行列Bが5行の場合において、2行の組み合わせを(i,k)と表現すると、(1,2)、(1,3)、(1,4)、(1,5)、(2,3)、(2,4)、(2,5)、(3,4)、(3,5)、(4,5)の順で、2行の未処理の組み合わせを変化させる。
【0053】
2行の組み合わせは、2行共に更新されていない行に限定しても良く、また、更新された行も2行の組み合わせの要素になるようにしても良い。
【0054】
後者の場合であれば、(1,2)、(1,3)、(1,4)、(1,5)、(2,3)、(2,4)、(2,5)、(3,4)、(3,5)、(4,5)という上述した2行の未処理の組み合わせの変化となる。
【0055】
前者の場合であれば、例えば、1行目及び2行目の組み合わせの処理時において、1行目が加算行ベクトルに更新された場合、1行目を組み合わせ要素としている(1,3)、(1,4)、(1,5)の3つの組み合わせに対する、変形検査行列C及び行列変形情報Tを変形しようとした処理(ステップS103〜S107)は省略される。また例えば、1行目及び2行目の組み合わせの処理時において、2行目が加算行ベクトルに更新された場合、2行目を組み合わせ要素としている(2,3)、(2,4)、(2,5)の3つの組み合わせに対する、変形検査行列C及び行列変形情報Tを変形しようとした処理(ステップS103〜S107)は省略される。
【0056】
部分和検査行列Bが上述した(6−2)式で示す行列の場合において、
図2に示す行列変形処理を実行すると、変換検査行列Cとして(7)式に示す行列が得られると共に、行列変形情報Tとして(8)式に示す行列が得られる。(8)式に示す行列変形情報Tと、(6−2)式で示す部分和検査行列Bとの積を求めると、(7)式に示す変換検査行列Cになることが分かる。
【数3】
【0057】
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果が得られる。
【0058】
部分和検査行列Bの変形換作によって、行重みを小さくした変形検査行列Cを得てシンドロームベース復号を行うようにしたので、シンドロームベース復号の処理(特に、行処理の処理)の負荷を削減することができる。また、行重みが小さくなることで信頼度の低いノードの影響を受けにくくなり、繰り返し復号の収束が速くなるという効果が得られる。
【0059】
因みに、第1の実施形態では、検査行列変形部103の処理やシンドローム変換部104の処理が増えるが、検査行列変形部103の処理やシンドローム変換部104の処理は、シンドロームベース復号処理のような最適解の探索処理ではないので、検査行列変形部103の処理やシンドローム変換部104の処理の増加というデメリットより、シンドロームベース復号処理による負荷の軽減や収束の迅速化というメリットの方が上回っている。
【0060】
(B)第2の実施形態
次に、本発明による復号装置及びプログラムの第2の実施形態を、図面を参照しながら説明する。
【0061】
(B−1)第2の実施形態の構成
図3は、第2の実施形態の復号装置(シンドロームベース復号器)の構成を示すブロック図であり、第1の実施形態に係る
図1との同一部分には同一符号を付して示している。
【0062】
図3において、第2の実施形態の復号装置200は、シンドロームベース復号部102、統合シンドローム変換部201及び検査行列変形部203を有する。
【0063】
統合シンドローム変換部201は、検査行列変形部203から与えられた統合変換情報(の行列)Fに基づいて、第1の実施形態における差分算出部101の処理とシンドローム変換部104の処理とを、統合して一気に行うものである。すなわち、統合シンドローム変換部201は、検査行列変形部203から統合変換情報Fが与えられ、統合シンドローム変換処理により、累積加算シンドロームa’から変換シンドロームvを一気に求めてシンドロームベース復号部102に与えるものである。
【0064】
第2の実施形態における検査行列変形部203は、変形検査行列Cを形成してシンドロームベース復号部102に出力する点は、第1の実施形態の検査行列変形部103と同様であるが、第1の実施形態で言及した行列変形情報Tと、シンドローム情報の差分処理のための情報とを統合した統合変換情報Fを形成して統合シンドローム変換部201に出力する点は、第1の実施形態の検査行列変形部103と異なっている。統合変換情報Fの形成方法については、後述する動作説明の項で明らかにする。
【0065】
なお、シンドロームベース復号部102は、第1の実施形態のものと同様であり、その説明は省略する。
【0066】
(B−2)第2の実施形態の動作
次に、第2の実施形態の復号装置200の動作を説明する。
【0067】
復号装置200に入力された部分和検査行列Bは検査行列変形部203に与えられ、検査行列変形部203によって、行重みが部分和検査行列Bより小さい変形検査行列Cと、変形検査行列Cに応じて定まる統合変換情報Fが形成され、変形検査行列Cはシンドロームベース復号部102に与えられ、統合変換情報Fは統合シンドローム変換部201に与えられる。
【0068】
シンドロームベース符号化器側でLDPCA符号を用いて符号化されたシンドローム情報である累積加算シンドロームa’が復号装置200に入力されると、統合シンドローム変換部201によって、累積加算シンドロームa’と統合変換情報Fとの積が求められ、この乗算処理によって得られた変換シンドロームv(=Fa’)がシンドロームベース復号部102に与えられる。
【0069】
第2の実施形態においても、シンドロームベース復号部102においては、補助情報ビットyの信頼度情報を当初のビットノードとし、ビットノードに対して変形検査行列Cを適用して求めたチェックノードが変換シンドロームvと一致するように、出力しようとする情報ビットの探索が、繰り返し復号アルゴリズムに従って繰り返し実行され、これにより、情報源の情報ビットzが復号(推定)される。
【0070】
以下では、検査行列変形部203における変形検査行列C及び統合変換情報Fの形成方法(行列変形処理)を説明する。
【0071】
第1の実施形態における受信したシンドローム情報a’の差分処理による部分和シンドロームuの形成処理は、差分処理用の行列Dを用いたガロア体上の行列演算(u=Da’)として表現でき、また、行列変形情報Tを適用した部分和シンドロームuからの変換シンドロームvへの変換処理も、ガロア体上の行列演算(v=Tu=TDa’)として表現できる。従って、統合変換情報FをF=TDとしたならば、統合変換情報Fを適用し、シンドローム情報a’から一気に変換シンドロームvを得ることができる。
【0072】
差分処理用の行列Dは「1」の行例内の位置が定まっているr×rの正方行列であり、rが5の場合であれば、(9)式のように表すことができる。
【数4】
【0073】
行列のサイズが定まると固定行列である差分処理用の行列Dと行列変形情報Tとから、統合変換情報Fが規定されるので、統合変換情報Fは、行列変形情報Tを求めた後に差分処理用の行列Dと合成することで求めることができる。以下では、上述した第1の実施形態のおける行列変形情報Tの形成方法を修正してなる、統合変換情報Fの形成方法を説明する。
【0074】
第2の実施形態における変形検査行列C及び統合変換情報Fの形成は、ソフトウェア的な方法に限定されないが、以下では、
図4のフローチャートを参照しながら形成方法を説明する。なお、
図4において、第1の実施形態に係る上述した
図2のフローチャートと同一ステップには同一符号を付して示している。また、変形元の部分和検査行列Bがr行n列(rxn)の行列であるとして説明を行う。
【0075】
図4及び
図2のフローチャートの比較から明らかなように、第2の実施形態における変形検査行列C及び統合変換情報Fの形成は、第1の実施形態における変形検査行列C及び変形検査情報Tの形成処理のステップS101、S105、S107の処理が、ステップS201、S205、S207の処理に置き換わったものとなっており、他の処理は第1の実施形態と同様である。以下では、相違点を中心に説明する。
【0076】
第2の実施形態の検査行列変形部203が実行する初期設定処理(ステップS201)では、部分和検査行列Bを変形検査行列Cの初期値とすると共に、差分処理用の行列Dを統合変換情報Fの初期値とする。統合変換情報Fは上述したようにTDで表され、変形検査情報Tを形成する際の初期値は単位行列Eであったが、統合変換情報Fの初期値は、差分処理用の行列Dとしている。
【0077】
第2の実施形態では、変形検査情報Tではなく統合変換情報Fを形成するため、行列変形情報Tのi行目ベクトルt
iを、行列変形情報Tのi行目ベクトルt
iと行列変形情報Tのk行目ベクトルt
kとを加算したベクトルに置き換える処理(ステップS105参照)や、行列変形情報Tのk行目ベクトルt
kを、行列変形情報Tのi行目ベクトルt
iと行列変形情報Tのk行目ベクトルt
kとを加算したベクトルに置き換える処理(ステップS107参照)は、統合変換情報Fのi行目ベクトルf
iを、統合変換情報Fのi行目ベクトルf
iと統合変換情報Fのk行目ベクトルf
kとを加算したベクトルに置き換える処理(ステップS205参照)や、統合変換情報Fのk行目ベクトルf
kを、統合変換情報Fのi行目ベクトルf
iと統合変換情報Fのk行目ベクトルf
kとを加算したベクトルに置き換える処理(ステップS207参照)となる。
【0078】
部分和検査行列Bが上述した(6−2)式で示す行列の場合において、
図4に示す行列変形処理を実行すると、統合変換情報Fとして(10)式に示す行列が得られる。(8)式に示す行列変形情報Tと、(9)式に示す差分処理用の行列Dとの積を求めると、(10)式で示す部分和検査行列Bになることが分かる。
【数5】
【0079】
(B−3)第2の実施形態の効果
第2の実施形態によれば、第1の実施形態と同様の効果に加えて以下の効果を奏することができる。すなわち、受信したシンドローム情報に対する、差分処理と行列変形に対応する変換を統合して処理するので、処理量を一段と削減することができる。
【0080】
(C)他の実施形態
第1の実施形態に関する変形実施形態としては、以下の変形実施形態を挙げることができる。
【0081】
第1の実施形態においては、変形検査行列Cや行列変形情報Tは疎な行列(「1」が「0」に比較して大幅に少ない行列)であるため、情報として保持したり、転送したりする際には、行列要素を全て書き出すような形式ではなく、各行に対する「1」の要素の列番号のリストを書き出すような形式であっても良い。乗算などの演算処理についても「1」の要素の列番号に対応する要素のみに対する処理としても良い。
【0082】
また、第1の実施形態においては、検査行列変形部103が
図2のフローチャートに示す処理を実行して変形検査行列Cや行列変形情報Tを形成するものを示したが、入力され得る部分和検査行列Bごとに予め変形検査行列Cと行列変形情報Tを求めておいてテーブルなどに格納しておき、必要時に、部分和検査行列B若しくは符号化レートrをキーとしてテーブルなどを参照して変形検査行列Cと行列変形情報Tを得るようにしても良い。
【0083】
第1の実施形態では、シンドロームベース符号化器側からシンドロームベース復号器へ、累積加算シンドロームa’を伝送するものを示したが、シンドロームベース符号化器に差分算出部(106)を設け、シンドロームベース符号化器側からシンドロームベース復号器へ部分和シンドロームuを伝送するものであっても良い。
【0084】
また、第2の実施形態に関する変形実施形態としては、以下の変形実施形態を挙げることができる。
【0085】
第2の実施形態においては、変形検査行列Cや統合変換情報Fは疎な行列であるため、情報として保持したり、転送したりする際には、行列要素を全て書き出すような形式ではなく、各行に対する「1」の要素の列番号のリストを書き出すような形式であっても良い。乗算などの演算処理についても「1」の要素の列番号に対応する要素のみに対する処理としても良い。
【0086】
また、第2の実施形態においては、検査行列変形部203が
図4のフローチャートに示す処理を実行して変形検査行列Cや統合変換情報Fを形成するものを示したが、入力され得る部分和検査行列Bごとに予め変形検査行列Cと統合変換情報Fを求めておいてテーブルなどに格納しておき、必要時に、部分和検査行列B若しくは符号化レートrをキーとしてテーブルなどを参照して変形検査行列Cと統合変換情報Fを得るようにしても良い。
【0087】
第1及び第2の実施形態に共通する変形実施形態としては、以下の変形実施形態を挙げることができる。
【0088】
本発明の技術思想は、上記各実施形態の復号装置に限定されず、その他のさまざまなシンドロームベース復号に利用可能である。例えば、LDPCA符号のような累積加算とパンクチャによる符号化レートの適応以外のレート適応方法を用いて、差分以外の手段により部分和シンドロームと部分和検査行列が供給されるようなシンドロームベース復号に対しても利用可能である。また例えば、符号化レートは固定であっても良い。