特許第5939145号(P5939145)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 沖電気工業株式会社の特許一覧

<>
  • 特許5939145-復号装置及びプログラム 図000007
  • 特許5939145-復号装置及びプログラム 図000008
  • 特許5939145-復号装置及びプログラム 図000009
  • 特許5939145-復号装置及びプログラム 図000010
  • 特許5939145-復号装置及びプログラム 図000011
  • 特許5939145-復号装置及びプログラム 図000012
  • 特許5939145-復号装置及びプログラム 図000013
  • 特許5939145-復号装置及びプログラム 図000014
  • 特許5939145-復号装置及びプログラム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5939145
(24)【登録日】2016年5月27日
(45)【発行日】2016年6月22日
(54)【発明の名称】復号装置及びプログラム
(51)【国際特許分類】
   H03M 13/19 20060101AFI20160609BHJP
【FI】
   H03M13/19
【請求項の数】7
【全頁数】17
(21)【出願番号】特願2012-269510(P2012-269510)
(22)【出願日】2012年12月10日
(65)【公開番号】特開2014-116787(P2014-116787A)
(43)【公開日】2014年6月26日
【審査請求日】2015年8月17日
(73)【特許権者】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100090620
【弁理士】
【氏名又は名称】工藤 宣幸
(74)【代理人】
【識別番号】100161861
【弁理士】
【氏名又は名称】若林 裕介
(74)【代理人】
【識別番号】100180275
【弁理士】
【氏名又は名称】吉田 倫太郎
(72)【発明者】
【氏名】中川 聰
【審査官】 岡 裕之
(56)【参考文献】
【文献】 米国特許出願公開第2011/0258522(US,A1)
【文献】 特開2006−287336(JP,A)
【文献】 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名)
H03M 13/00 − 13/53
IEEE Xplore
CiNii
(57)【特許請求の範囲】
【請求項1】
当初のシンドロームビットが部分的に加算された部分和シンドロームビットを用いて、誤り訂正復号を行う復号装置において、
上記部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、
当該復号装置へ入力された入力シンドロームに対し、上記変形補償用行列を適用し、上記部分和シンドロームを、上記変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、
上記変形検査行列と上記変換シンドロームを用いて、情報ビットの誤り訂正を行うシンドロームベース復号手段と
を有することを特徴とする復号装置。
【請求項2】
上記入力シンドロームは、LDPCA符号により累積加算したシンドロームビットがパンクチャされて形成された累積加算シンドロームであり、
上記変換シンドローム形成手段は、
上記累積加算シンドロームに対する差分算出により上記部分和シンドロームを得る差分算出部と、
得られた上記部分和シンドロームに、上記変形補償用行列を乗算して上記変換シンドロームを得るシンドローム変換部とを有する
ことを特徴とする請求項1に記載の復号装置。
【請求項3】
上記入力シンドロームは、LDPCA符号により累積加算したシンドロームビットがパンクチャされて形成された累積加算シンドロームであり、
上記変形補償用行列は、上記累積加算シンドロームに乗算したときに上記変換シンドロームを形成させる行列になっており、
上記変換シンドローム形成手段は、上記累積加算シンドロームに対して上記変形補償用行列を乗算することにより、上記変換シンドロームを得る
ことを特徴とする請求項1に記載の復号装置。
【請求項4】
上記検査行列変形手段は、変形前の上記部分和検査行列のある行に別の行を加算することによって行重みが小さくなるような変形操作を考慮して上記変形検査行列を得ることを特徴とする請求項1〜3のいずれかに記載の復号装置。
【請求項5】
上記検査行列変形手段は、今回の上記部分和検査行列に応じて、上記変形操作を行うことにより、上記変形検査行列を得ることを特徴とする請求項4に記載の復号装置。
【請求項6】
上記検査行列変形手段は、部分和検査行列の種類毎に、上記変形操作を行って得た変形検査行列を保持しており、今回の上記部分和検査行列に応じて、保持している変形検査行列の中から対応する変形検査行列を取出して、適用する上記変形検査行列を得ることを特徴とする請求項4に記載の復号装置。
【請求項7】
当初のシンドロームビットが部分的に加算された部分和シンドロームビットを用いて、誤り訂正復号を行う復号プログラムにおいて、
コンピュータを、
上記部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、
当該復号装置へ入力された入力シンドロームに対し、上記変形補償用行列を適用し、上記部分和シンドロームを、上記変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、
上記変形検査行列と上記変換シンドロームを用いて、情報ビットの誤り訂正を行うシンドロームベース復号手段と
して機能させることを特徴とする復号プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散情報源符号化された情報の復号装置及びプログラムに関する。
【背景技術】
【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,x,…,xに対する検査行列Hによるシンドローム(列ベクトル)s=(s,s,…,sは、(2)式で表され、シンドロームsの累積加算値(列ベクトル)a=(a,a,…,aは(3−1)式、(3−2)式で表され、得られた累積加算シンドロームaの要素が、符号化レートrに応じたパンクチャにより部分的に除外されて出力される。なお、(3−2)式におけるiは図8の例では2〜8である。
【0014】
s=Hx …(2)
=s …(3−1)
=ai−1+s …(3−2)
LDPCA符号の復号側では、累積加算シンドロームaの一部要素がパンクチャにより部分的に除外された累積加算シンドローム(列ベクトル)a’が入力され、要素が(4−1)式、(4−2)式で表される、シンドロームsの要素が部分的に加算された部分和シンドローム(列ベクトル)uを求める。なお、(4−2)式におけるjの最大値は上述したiの最大値(8)以下の値である。
【0015】
=a’ …(4−1)
=a’−a’j−1 …(4−2)
そして、部分和シンドロームuと、部分加算されたシンドロームビットに対応する行を加算した部分和検査行列Bを用いてLDPCシンドロームベース復号を行う。
【0016】
例えば、8ビットの累積加算シンドロームaのうち2番目、3番目、5番目、6番目、8番目のビット(要素)でなるパンクチャ後の累積加算シンドロームa’=(a’,a’,…,a’=(a,a,a,a,aが入力された場合、(5)式に示すように、累積加算シンドロームa’におけるビット(要素)の差分により部分和シンドロームuを求める。なお、(5)式における2番目及び3番目の右辺は、1番目の右辺を変形したものであり、後述する部分和検査行列Bの構成を理解し易くすべく記載している。
【0017】
(u,u,u,u,u
=(a’,a’−a’,a’−a’,a’−a’,a’−a’
=(a,a−a,a−a,a−a,a−a
=(s+s,s,s+s,s,s+s) …(5)
また、対応するm行n列(mxn)の検査行列H=(h,…,hの行(列ベクトルで表記されているとする)hについて、部分和シンドロームuにおける部分和の要素に対応する行が加算されたr行n列(rxn)の部分和検査行列Bを用いて復号を行う。
【0018】
上述した累積加算シンドロームa’=(a,a,a,a,aが入力された例の場合、部分和検査行列Bは、(5)式における最後の式から分かるように(6−1)式で表されるので、具体的には、(6−2)式に示すようになる。
【数2】
【0019】
そして、図9に示すように、補助情報ビットyの信頼度情報を当初のビットノードとし、ビットノードに対して部分和検査行列Bを適用して求めたチェックノードが、差分算出部31から出力された部分和シンドロームuと一致するように、出力しようとする情報ビットの探索をBPアルゴリズムなどに従って繰返し実行することにより、情報ビットを復号する。
【先行技術文献】
【非特許文献】
【0020】
【非特許文献1】D.Varodayan, A.Aaron and B.Girod,“Rate−adaptive codes for distributed source coding,”EURASIP Signal Process. J.,vol.86, no.11,pp.3123−3130,Nov.2006
【発明の概要】
【発明が解決しようとする課題】
【0021】
しかしながら、部分和検査行列Bは、元となる検査行列Hの複数の行が加算された行を有し、加算された行の行重みが大きくなり、シンドロームベース復号の処理(特に行処理)の負荷が大きくなってしまう。
【0022】
また、加算された行と加算されていない行など行重みのばらつきが大きく、シンドロームベース復号による繰り返し処理での収束が遅くなるなど、誤り訂正能力が十分に得られない恐れがあった。
【0023】
そのため、復号処理の負荷が小さい、繰り返し処理における収束を早くできる復号装置及びプログラムが望まれている。
【課題を解決するための手段】
【0024】
第1の本発明は、当初のシンドロームビットが部分的に加算された部分和シンドロームビットを用いて、誤り訂正復号を行う復号装置において、(1)上記部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、(2)当該復号装置へ入力された入力シンドロームに対し、上記変形補償用行列を適用し、上記部分和シンドロームを、上記変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、(3)上記変形検査行列と上記変換シンドロームを用いて、情報ビットの誤り訂正を行うシンドロームベース復号手段とを有することを特徴とする。
【0025】
第2の本発明は、当初のシンドロームビットが部分的に加算された部分和シンドロームビットを用いて、誤り訂正復号を行う復号プログラムにおいて、コンピュータを、(1)上記部分和シンドロームに対応する検査行列の行を部分加算した部分和検査行列に対して行重みが小さくなるような行列変形を施した変形検査行列と、部分和検査行列から変形検査行列への行列変形による影響を予め補償する変形補償用行列とを形成する検査行列変形手段と、(2)当該復号装置へ入力された入力シンドロームに対し、上記変形補償用行列を適用し、上記部分和シンドロームを、上記変形検査行列に対応する変換シンドロームに変換する変換シンドローム形成手段と、(3)上記変形検査行列と上記変換シンドロームを用いて、情報ビットの誤り訂正を行うシンドロームベース復号手段として機能させることを特徴とする。
【発明の効果】
【0026】
本発明によれば、復号処理の負荷が小さい、繰り返し処理における収束を早くできる復号装置及びプログラムを提供できる。
【図面の簡単な説明】
【0027】
図1】第1の実施形態の復号装置(シンドロームベース復号器)の構成を示すブロック図である。
図2】第1の実施形態の復号装置における検査行列変形部が実行する行列変形処理を示すフローチャートである。
図3】第2の実施形態の復号装置(シンドロームベース復号器)の構成を示すブロック図である。
図4】第2の実施形態の復号装置における検査行列変形部が実行する行列変形処理を示すフローチャートである。
図5】シンドロームベース符号化を用いたDSCシステムを示すブロック図である。
図6】LDPCA符号化器の構成を示すブロック図である。
図7】従来のシンドロームベース復号器の構成を示すブロック図である。
図8】LDPCA符号化の説明図である。
図9】LDPCA符号の復号の説明図である。
【発明を実施するための形態】
【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とk行目(のベクトル)cを加算したベクトルdを求める(ステップS103)。因みに、ここでの加算は、上述したようにガロア体での加算であるので、2つのベクトル要素の「1」+「1」は繰り上がりを伴わない「0」となる。
【0049】
そして、検査行列変形部103は、加算行ベクトルdのハミング重みw(d)が、変形検査行列Cのi行目ベクトルcのハミング重みw(c)より小さいか否か、また、加算行ベクトルdのハミング重みw(d)が、変形検査行列Cのk行目ベクトルcのハミング重みw(c)より小さいか否かを判別する(ステップS104、ステップS106)。
【0050】
加算行ベクトルdのハミング重みw(d)が、変形検査行列Cのi行目ベクトルcのハミング重みw(c)より小さい場合には、変形検査行列Cのi行目ベクトルcを加算行ベクトルdに置き換えると共に、行列変形情報Tのi行目ベクトルtを、行列変形情報Tのi行目ベクトルtと行列変形情報Tのk行目ベクトルtとを加算したベクトルに置き換える(ステップS105)。また、加算行ベクトルdのハミング重みw(d)が、変形検査行列Cのk行目ベクトルcのハミング重みw(c)より小さい場合には、変形検査行列Cのk行目ベクトルcを加算行ベクトルdに置き換えると共に、行列変形情報Tのk行目ベクトルtを、行列変形情報Tのi行目ベクトルtと行列変形情報Tのk行目ベクトルtとを加算したベクトルに置き換える(ステップS107)。
【0051】
加算行ベクトルdのハミング重みw(d)が、加算する前の一方の行ベクトルのハミング重みより小さくて、変形検査行列C及び行列変形情報Tの更新を行った場合、又は、加算行ベクトルdのハミング重みw(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を、行列変形情報Tのi行目ベクトルtと行列変形情報Tのk行目ベクトルtとを加算したベクトルに置き換える処理(ステップS105参照)や、行列変形情報Tのk行目ベクトルtを、行列変形情報Tのi行目ベクトルtと行列変形情報Tのk行目ベクトルtとを加算したベクトルに置き換える処理(ステップS107参照)は、統合変換情報Fのi行目ベクトルfを、統合変換情報Fのi行目ベクトルfと統合変換情報Fのk行目ベクトルfとを加算したベクトルに置き換える処理(ステップS205参照)や、統合変換情報Fのk行目ベクトルfを、統合変換情報Fのi行目ベクトルfと統合変換情報Fのk行目ベクトルfとを加算したベクトルに置き換える処理(ステップ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符号のような累積加算とパンクチャによる符号化レートの適応以外のレート適応方法を用いて、差分以外の手段により部分和シンドロームと部分和検査行列が供給されるようなシンドロームベース復号に対しても利用可能である。また例えば、符号化レートは固定であっても良い。
【符号の説明】
【0089】
100、200…復号装置、101…差分算出部、102…シンドロームベース復号部、103、203…検査行列変形部、104…シンドローム変換部、201…統合シンドローム変換部。
図1
図2
図3
図4
図5
図6
図7
図8
図9