JPWO2006087792A1 - 符号化装置及び符号化方法 - Google Patents

符号化装置及び符号化方法 Download PDF

Info

Publication number
JPWO2006087792A1
JPWO2006087792A1 JP2007503532A JP2007503532A JPWO2006087792A1 JP WO2006087792 A1 JPWO2006087792 A1 JP WO2006087792A1 JP 2007503532 A JP2007503532 A JP 2007503532A JP 2007503532 A JP2007503532 A JP 2007503532A JP WO2006087792 A1 JPWO2006087792 A1 JP WO2006087792A1
Authority
JP
Japan
Prior art keywords
partial
interleave
encoding
block
interleaving
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.)
Granted
Application number
JP2007503532A
Other languages
English (en)
Other versions
JP4357561B2 (ja
Inventor
宮崎 俊治
俊治 宮崎
大渕 一央
一央 大渕
矢野 哲也
哲也 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2006087792A1 publication Critical patent/JPWO2006087792A1/ja
Application granted granted Critical
Publication of JP4357561B2 publication Critical patent/JP4357561B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular repeat-accumulate [IRA] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

K個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行ない、その繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブし、その結果について、異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算し、その加算結果について畳み込み符号化を施してM個の前記パリティ符号を出力する。これにより、IRA符号やRA符号をはじめとするインターリーブ処理を用いる符号化法により定義される符号において、インターリーブ対象の符号列を分割してインターリーブすることで、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を分割数に従って小さくすることができる。

Description

本発明は、デジタル情報通信システム等における情報ビットの符号化装置及び符号化方法に関し、特に、インターリーブ処理を用いてパリティ符号を生成するIRA(Irregular Repeat Accumulate)符号やRA(Repeat Accumulate)符号などの低密度パリティ検査(LDPC:Low-Density Parity-Check)符号の符号化に用いて好適な技術に関する。
(A)ブロック符号
ブロック符号は、以下のように、K個(Kは正の整数)の情報アルファベットu=(u0,…,uK-1)をK×N(Nは正の整数)の生成行列G=(gij)(i=0,…,K−1;j=0,…,N−1)によりN個の符号アルファベットx=(x0,…,xK-1)に符号化される。即ち、符号アルファベットxは、下記(1.1)式で表される。
x=uG …(1.1)
受信側では、符号ベクトルxに対しての受信データから情報ベクトルuを推定する。このためには、符号ベクトルxに対しての下記(1.2)式に示すパリティチェック関係式を用いる。
xHT=0 …(1.2)
ここで、H=(hij)〔i=0,…,M−1(Mは正の整数);j=0,…,N−1〕は、パリティ検査行列(以下、単に「検査行列」という)で、HTは検査行列Hの転置(行と列の入れ替え)行列を意味する。上記(1.1)式と(1.2)式とからHとGは下記(1.3)式の関係を満たす。
GHT=0 …(1.3)
この(1.3)式から、検査行列Hと生成行列Gのいずれか一方が与えられると符号化規則が一意に決まる。
(B)LDPC符号
低密度パリティ検査(LDPC)符号は、ブロック符号において0と異なる要素の数が全要素数に対して少ない割合の検査行列によって定義される符号の総称である。特に、行と列のそれぞれの要素の数が一定の場合には「レギュラーLDPC符号」と呼ばれ、符号長Nと列と行のそれぞれのウェイト数(wc,wr)で特徴付けられる。一方で、各列、各行で異なるウェイト数を許すタイプは、「イレギュラーLDPC符号」と呼ばれ、符号長Nと、列と行のウェイト数分布〔(λj,ρk);j=1,…,jmax;k=1,…,kmax〕により特徴付けられる。ここで、λj(ρk)は、ウェイト数jの列(行)に属する0と異なる要素の割合を示している。レギュラーLDPC符号は、イレギュラーLDPC符号の特別な場合とみなすこともできる。
レギュラー、イレギュラーいずれにしても符号長とウェイト数分布が決まっただけでは具体的な検査行列は決まらない。規定のウェイト数を満たすような具体的な0と異なる要素の配置方法は多くの可能性があるため、このそれぞれが別の符号を定義することになる。
そこで、以上のように与えられる符号は、ウェイト数分布とその条件の下での具体的な0と異なる要素の配置の方法によってその誤り率特性が決まる。
一方で、符号器および復号器の回路規模、処理時間、処理量等の特徴については基本的にウェイト数の分布のみにより影響される。
一般的なLDPC符号は、復号処理で用いる検査行列により定義され、その符号化処理には検査行列から生成行列を求めるか、三角化した検査行列を用いて逐次的にパリティビットを求める方法をとり、何れにしてもO(N2)の処理時間が必要になる。
(C)タナーグラフ
LDPC符号の復号処理はSum-Product法(Sum-Product Algorithm)により定義の検査行列を用いて行なう。この方法を理解するのに便利なグラフとしてタナーグラフがよく用いられる。タナーグラフは、例えば図16に示すように、検査行列Hの各列を下段の○印で示す各「変数ノード」xiに対応させ、各行を上段の□印で示す各「チェックノード」sjに対応させて、検査行列Hのi行j列の成分が0と異なる値のとき(hij≠0)、変数ノードxiとチェックノードsjとを線(エッジ)で結ぶことで構成されるグラフである。例えば、この図16に示す検査行列Hの第1行を例にとると、第1,2,3,4列がそれぞれ0と異なる値1であるから、検査行列Hの第1行に対応するチェックノードs0と各列に対応する変数ノードx0,x1,x2,x3)とがそれぞれ線で結ばれている。
復号処理においては、変数ノードxiは、各符号ビットの状態(可能なビットの値に対しての確率)を示し、チェックノードsjは、それにエッジにより直接につながる変数ノードがパリティ関係式で加算され結果が0となることを意味している。パリティチェック関係式のうち1つの変数に着目して、残りの変数をこの変数のビットを推定するための前提条件とすることで、現在の各ビットに対しての確率から着目している変数ノードが各ビットの値を取る確率を推定できる。この操作をグラフ上では各変数ノードの現在の状態からエッジを通して信頼度情報が伝播するものと図式的に解釈することができる。
(D)IRA符号
IRA符号の符号器の一例を図15に示す。この図15に示すように、IRA符号器では、入力されるK個の情報ビットのそれぞれについて、指定の繰り返し回数だけ繰り返し符号器101によって繰り返し符号化を行ない、E個(Eは正の整数)のビット列を生成する。なお、繰り返し回数の分布関数はfjで与えられ、それぞれは一般に異なっていてもよい。即ち、繰り返し符号器(可変回数ビット繰り返し部)101は、例えば図11に示すように、分布関数fj(j=1,…,jmax)を満たすように各ビット毎に指定される繰り返し回数(=q0,q1,…,qK-1)だけ入力情報ビット(u0,u1,…,uK-1)のそれぞれをコピーする指定回数コピー回路1010と、この指定回数コピー回路1010のパラレル出力をシリアル変換して出力するパラレル/シリアル(P/S)変換回路1011とをそなえて構成される。なお、fjと(q0,q1,…,qK-1)の関係は、K個の入力ビットのうちq回繰り返すビットの数の「割合」がfqだけある、ということである。すなわち、(q0,q1,…,qK-1)のうち、Nj=Int(K・fj)個のqがjに等しい値を与えられていることを意味する。
そして、このビット列をインターリーバ102でインターリーブして順序の置換を行ない得られたビット列を加算回路103にて先頭からa個(aは正の整数)ごとに加算していく。即ち、ラッチ132で前回の加算器131による加算結果を保持しつつ、その前回の加算結果を現在の入力値に累積加算し、a個ずつの加算タイミングに従ってスイッチ133を閉(ON)状態に制御することにより、M個の符号ビット列を出力する。
この加算結果をM回累積加算回路104(加算器141及びラッチ142)によりさらにM回累積加算して、それぞれのタイミングでの加算結果をM個の符号ビット(パリティビット)列として出力する。すなわち、a個ごとの加算結果のビットベクトルをx=(x0,x1,…,xM-1)として、符号ビットベクトルをp=(p0,p1,…,pM-1)とすると、以下のような関係式(1.4),(1.5)になる。
0=x0 …(1.4)
i=pi-1+xi (i=1,…,M−1) …(1.5)
図17に、この符号に対応するタナーグラフを示す。これからM個の符号ビット(p0,p1,…,pM-1)をパリティビットとして、K個の情報ビット(u0,u1,…,uK-1)とシリアルに並べたN(=K+M)個のビット列を符号ビットとする組織符号化したIRA符号は、前記イレギュラーLDPC符号の一種で、その定義の検査行列Hがもともと三角化されており符号化処理時間が符号長Nに比例する線形時間O(N)で完了するように工夫された符号であると解釈することもできる(例えば、後記の非特許文献1参照)。
すなわち、上記累積加算の式は各変数の値がビットであることを考慮すると(ビットの足し算と引き算結果は同じであるから)、下記(1.6)式及び(1.7)式に示すように変形できる。
0+x0=0 …(1.6)
i+pi-1+xi=0 (i=1,…,M−1) …(1.7)
これは、各xiは入力情報ビットuiのa個の加算結果であることから、これを代入すると、符号ビットc=(c0,…,cN-1)=(u0,…,uK-1,p0,…,pM-1)に対してのパリティチェック関係式として解釈できる。
上記インターリーバは、符号の特性上、単純なブロックインターリーバのような単純な構成のインターリーバを用いるのは適切ではなく、もともと近い順番のビット同士をインターリーブ後にそれぞれなるべく遠くなるように配置することが望ましい。完全にランダムなインターリーバでは、もともと近い順番のビット同士をインターリーブ後にも近い位置に配置することも一様の確率で許すことになるので適していない。
そこで、上記の条件を付けて、ランダムに生成できるインターリーバ(以下、「条件付ランダムインターリーバ」と呼ぶ)としてS-Randomインターリーバやその拡張版であるHigh Spread Randomインターリーバ(例えば、後記の非特許文献2参照)が知られている。これに対して、擬似乱数を用いず構成的に(すなわち、数学的なアルゴリズムで)置換先の順番を特定できる方法として、3GPP(Third Generation Partnership Project)W-CDMA移動通信システムで仕様化されているターボ符号の内部インターリーバとして採用されているPrime Interleaver(PIL)などがある(以下、「構成的ランダムインターリーバ」と呼ぶ。例えば、後記の非特許文献3参照)。
(E)IRA符号に関係する符号
(1)繰り返し数が固定(fq=1,fj=0;j≠q)でa=1のときはRA符号となる(例えば、後記の非特許文献4参照)。この場合のRA符号器は、例えば図14に示すように、K個の情報ビットのそれぞれを固定の繰り返し数qずつコピー出力するq回ビット繰り返し部101aと、その出力をインターリーブするインターリーバ102aと、その出力をM回累積加算してパリティビットを出力するM回累積加算部104(加算器141及びラッチ142)とをそなえて構成される。
(2)IRA符号に対して、インターリーブ後の加算処理において加算ブロック毎にそのサイズを変えることができる。これを本明細書では「拡張IRA(Extended IRA)符号」と呼ぶ(例えば、後記の非特許文献5参照)。
(3)この拡張IRA符号において、繰り返し数を固定するときは特に「拡張RA符号」と呼ぶ。
(4)累積加算処理を一般化して符号化率=1のフィードバックがある畳み込み符号器を用いることもできる。このような符号を本明細書では「一般化IRA符号」と呼ぶ。累積加算以外のフィードバックのある畳み込み符号器の例を図13に示す。この図13に示す畳み込み符号器104aは、4つの加算器141,143,145,147と3つのラッチ142,144,146とをそなえて構成され、入力ビットベクトルをx=(x0,x1,…,xM-1)として、出力ビットをパリティビットp=(p0,p1,…,pM-1)とすると、下記(1.8)式に示すような関係式を満足する。
i-3+xi-1+xi+pi-3+pi-2+pi=0 …(1.8)
ただし、i=0,1,…,M−1で、xi=pi=0,i<0である。
(5)上記符号を総称するとき本明細書では「一般化拡張IRA符号」と呼ぶ。最も一般的な場合は、図10に示す構成である。即ち、異なる2つ以上の繰り返し数qiをもつ可変回数ビット繰り返し部101(内部構成は例えば図11参照)と、異なる2つ以上の加算サイズaiをもつ可変数加算部103a(内部構成は例えば図12参照)とを用いるとともに、加算ブロック数M0はMと異なり、符号化率が1と異なる(R0=M0/M)フィードバック付きの畳み込み符号器104a(内部構成は例えば図13参照)を用いる場合である。なお、図12に示す可変数加算部103aは、異なる加算ブロックサイズ(a0,a1,…,aM-1)の加算タイミング毎に、0クリア回路135によりラッチ132に保持されているビット値を0にクリアするとともに、スイッチ133をスイッチ開閉回路134によってON状態に制御することによって、可変の加算ブロックサイズ毎の加算処理を実現している。
しかしながら、上述したような従来の符号化方式、特に、LDPC符号の一種であるIRA符号の符号化方式では、次のような課題がある。
(a)IRA符号で用いるインターリーバのサイズはE=Maで、aは高々1桁の値を取るのが一般的だがパリティビット数Mは典型的に数千から数万の大きい値となり、サイズEは大きな値になる。大きなサイズの条件付ランダムインターリーバでは生成にE2に比例したO(E2)の処理時間がかかり、構成的ランダムインターリーバでもO(E)の処理時間がかかる。
(b)これを避けるために、予め生成したマッピングテーブル(インターリーブパターンテーブル)を用意する場合には、Eに比例したO(E)のサイズのメモリを必要とするが、移動通信システムのように、複数のフォーマットの符号を適応的に用いる場合にはそれぞれのマッピングテーブルが必要となるためそれだけメモリ量も大きくなってしまう。
本発明は、このような課題に鑑み創案されたもので、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を小さくできるようにした、符号化装置を提供することを目的とする。
H. Jin, A. Khandeker, and R.McEliece,"Irregular repeat-accumulate codes," in Proc. 2nd. Int. Symp. Turbo Codes and Related Topics, Brest France, pp. 1-8, Sept. 2000. H. Crozier, "New High-Spread High-Distance Interleavers for Turbo-Codes", Proceedings of the 20th Biennial Symposium on Communications, Queen's University, Kingston, Ontario, Canada, pp. 3-7, May 28-31, 2000. Third Generation Partnership Project (3GPP), "Multiplexing and Channel Coding (Frequency Division Duplex Mode)", Technical Specification 25.212, V5.9.0(2004-06). D. Divsalar, H.Jin, and R. J. McEliece, "Coding theorems for ‘turbo-like’ codes," pp. 201-210 in Proc. 36th Allerton Conf. on Communication, Control, and Computing.(Allerton, Illinois, Sept. 1998). M. Yang, W. E. Ryan, and Y. Li, "Design of Efficiently Encodable Moderate-Length High-Rate Irregular LDPC Codes," IEEE Trans. on Commun. vol. 52 no. 4, pp.564-571. Apr. 2004.
上記の目的を達成するために、本発明の符号化装置は、
(1)K個の情報要素からインターリーブ処理を用いてM個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズN=K+Mの符号を生成する装置であって、前記K個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化部と、該繰り返し符号化部による繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするインターリーブ処理部と、上記部分インターリーブ後の異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算部と、該加算部による加算結果について畳み込み符号化を施してM個の前記パリティ符号を出力する畳み込み符号化部とをそなえたことを特徴としている。
(2)ここで、前記繰り返し符号化結果をE個、該加算部でのi番目の前記加算ブロックの前記指定サイズをai(i=0,…,M−1)、前記加算ブロックの最大サイズをamax、前記パリティ符号数M以下の正の整数をMi(i=0,…,amax−1)としたときに、該インタリーブ処理部は、下記(4.1)式を満足する各サイズamaxの前記部分インターリーブブロック毎に前記部分インターリーブを施すべく構成されるとともに、該加算部は、前記各加算ブロックの上記指定サイズai分だけ、それぞれ、前記部分インターリーブ後の前記各部分インターリーブブロックの先頭から1つずつ前記部分インターリーブ結果を選択して加算すべく構成してもよい。
Figure 2006087792
(3)また、該インターリーブ処理部は、前記各部分インターリーブブロックに共通であって、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施す共通部分インターリーバをそなえ、該加算部は、該共通部分インターリーバによる逐次的な部分インターリーブの結果を逐次的に加算すべく構成してもよい。
(4)さらに、前記指定サイズaiは一定でもよい。
(5)また、前記繰り返し符号化結果が、第1及び第2の部分インターリーブブロックにm0個及びm1個に分かれて属する場合に、前記第1の部分インターリーブブロックについての前記部分インターリーブにより上記m0個の繰り返し符号化結果について定まる位置を避けて、上記m1個の繰り返し符号化結果の前記第2の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第2のインターリーブブロックの上記m1個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されていてもよい。
(6)さらに、該繰り返し符号化部は、前記K個の情報要素のそれぞれについての前記繰り返し回数分の繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに属するように前記繰り返し符号化結果を該インターリーブ処理部へ出力すべく構成されていてもよい。
(7)この場合、前記繰り返し符号化結果をE個、該繰り返し符号化部での前記繰り返し回数をqi(i=0,…,K−1)、その最大値をqmaxとしたときに、該繰り返し符号化部は、前記繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに分配されるよう前記繰り返し符号化結果をqmax個のブロックであってそれぞれのブロックサイズが下記の(4.2)式を満足するK以下の正の整数Ki(i=0,…,qmax−1)であるブロック単位で該インターリーブ処理部へ出力すべく構成されるとともに、該インターリーブ処理部は、上記各ブロックについてサイズKiの部分インターリーブを施すべく構成してもよい。
Figure 2006087792
(8)また、前記qiは一定でもよい。
(9)さらに、前記加算ブロックに含まれる前記繰り返し符号化結果が、第1及び第2の部分インターリーブブロックにそれぞれk0個及びk1個に分かれて属する場合に、前記k0個の繰り返し符号化結果について前記部分インターリーブにより定まる位置を避けて、上記k1個の繰り返し符号化結果が属する前記第2の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第2のインターリーブブロックの上記k1個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されていてもよい。
(10)また、該インターリーブ処理部は、前記部分インターリーブブロックに属する前記繰り返し符号化結果を所定の書き込み順序で保持するメモリと、前記インターリーブパターンに従って該書き込み順序とは異なる読み出し順序で前記繰り返し符号化結果を読み出すことにより前記部分インターリーブを施す読み出し制御部と、該メモリに保持される異なる部分インターリーブブロック毎に異なるインターリーブパターンを生成して該読み出し制御部へ与えるインターリーブパターン制御部とをそなえていてもよい。
(11)さらに、該インターリーブパターン制御部は、上記異なるインターリーブパターンを該読み出し制御部で他の異なる部分インターリーブブロックについて使用したインターリーブパターンに対して所定の置換処理を行なって生成するインターリーブパターン置換生成部をそなえていてもよい。
(12)また、本発明の符号化方法は、K個の情報要素からインターリーブ処理を用いてM個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズN=K+Mの符号を生成する方法であって、前記K個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化過程と、その繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブする部分インターリーブ過程と、その結果について、異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算過程と、その加算結果について畳み込み符号化を施してM個の前記パリティ符号を出力する畳み込み符号化過程とを有することを特徴としている。
(13)ここで、上記部分インターリーブ過程において、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施し、上記加算過程において、上記逐次的な部分インターリーブの結果を逐次的に加算してもよい。
上記本発明によれば、以下の効果ないし利点が得られる。
(a)IRA符号やRA符号をはじめとするランダムなインターリーブ処理を用いる符号化法により定義される符号において、インターリーバを分割処理することで、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を分割数に従って小さくすることができる。
(b)1つの部分インターリーバを複数の部分インターリーブブロックに対して逐次的に適用して、各段階でビット加算を同時に実行する構成とすれば、インターリーブ結果の読み出しインデックスを保持するメモリを各部分インターリーブブロックで共有することができ、大きなサイズ(E個)のビットに対して一度にインターリーブを適用する場合に比して、メモリサイズを大幅に削減することができる。
本発明の第1実施形態としてのIRA符号器(符号化装置)の要部構成を示すブロック図である。 図1に示すインターリーブ処理部及び加算部の構成例を示すブロック図である。 図1に示すIRA符号器でのタナーグラフである。 第1実施形態の変形例に係るIRA符号器のタナーグラフである。 本発明の第2実施形態としてのRA符号器(符号化装置)の要部構成を示すブロック図である。 図5に示すインターリーブ処理部及び加算部の構成例を示すブロック図である。 図5に示すRA符号器でのタナーグラフである。 第2実施形態の変形例に係るRA符号器でのタナーグラフである。 第1実施形態におけるインターリーブパターン生成処理を説明すべくインターリーブパターン制御部の構成例を示すブロック図である。 従来の一般化拡張IRA符号器の構成例を示すブロック図である。 図10及び図15に示す繰り返し符号器(可変回数ビット繰り返し部)の内部構成例を示すブロック図である。 図10に示す可変数加算部の内部構成例を示すブロック図である。 図10に示すフィードバック付きの畳み込み符号器の内部構成例を示すブロック図である。 従来のRA符号器の構成例を示すブロック図である。 従来のIRA符号器の構成例を示すブロック図である。 タナーグラフを説明するための図である。 IRA符号のタナーグラフである。
以下、図面を参照して本発明の実施の形態を説明する。
〔A〕第1実施形態の説明
図1は本発明の第1実施形態としてのIRA符号器(符号化装置)の要部構成を示すブロック図で、この図1に示すIRA符号器1は、K個(Kは正の整数)の情報ビットからM個(Mは正の整数)のパリティビットを生成し、K個の情報ビットと合わせてサイズN(=K+M)の符号ビットを生成するものであって、繰り返し符号器(可変回数ビット繰り返し部)2,シリアル/パラレル(S/P)変換部3,a個(aは正の整数)の部分インターリーバ(第0〜第a−1インターリーバ)4−0〜4−(a−1)を有するインターリーブ処理部4,パラレル/シリアル変換部5,加算部(a回加算部)6及びM回累積加算部7をそなえて構成されている。
ここで、可変回数ビット繰り返し部2は、K個の入力情報ビット(情報要素)のそれぞれについて指定の繰り返し回数(可変)分の繰り返し符号(ビット)を生成してその結果としてE個(Eは正の整数)の繰り返し符号を出力するもので、例えば、j個(jは正の整数)の繰り返しビットを生成するビットの数Nj(j=1,…,jmax)は、分布関数(回数分布ともいう)fj(j=1,…,jmax)からNj=Int(K・fj)により与えられる。ただし、下記の(2.1)及び(2.2)式を満たすように各Njを調整する。
Figure 2006087792
Figure 2006087792
このとき、可変回数ビット繰り返し部2は、Njが0と異なるjの組み合わせを昇順に並べたものを(j0,…,jF-1)として、最初のNc(c=j0)個のビットをj0回繰り返し、次のNt(t=j1)個をj1個繰り返し、以降、jF-1=jmaxまで続ける。このようにして得られたビットをシリアルに並べることで繰り返し符号の出力ビットとする。なお、この機能は、例えば図1により前述したごとく、入力された情報ビットのそれぞれを上記分布関数fjにより指定された繰り返し数だけコピーしてパラレル出力する指定回数コピー回路と、このパラレル出力をシリアル化するP/S変換回路とを用いて実現することができる。
S/P変換部3は、上記可変回数ビット繰り返し部2により得られたシリアル出力(E個の繰り返し符号)をパラレル変換してM個ずつa個のブロック(部分インターリーブブロック)に分けて出力するものである。
インターリーブ処理部4は、上記繰り返し符号化結果をa個の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするもので、このために、各部分インターリーバ4−i(i=0,…,a−1)によって、それぞれ、上記S/P変換部3から入力される部分インターリーブブロックのM個の繰り返し符号を互いに異なるインターリーブパターン(置換パターン)に従ってインターリーブするようになっている。各部分インターリーバ4−iには、例えば、既述のS-Randomインターリーバやその拡張版であるHigh Spread Randomインターリーバ等の条件付ランダムインターリーバを適用する。もっとも、既述のPIL等の構成的ランダムインターリーバを適用することも可能である。なお、部分インターリーバ4−i毎に異なるインターリーブパターンは、例えば擬似乱数関数のシードを変更することで得ることができ、詳細については後述する。
P/S変換部5は、上記各部分インターリーバ4−iの出力をシリアルに変換してE個のビット(インターリーブ結果)を出力するものであり、a回加算部6は、この出力結果をa個ずつ加算、即ち、各部分インターリーバ4−iによる各部分インターリーブブロックに対する部分インターリーブ結果の先頭から順にa個ずつ加算するものである。より詳細には、i番目の部分インターリーバ4−iのj番目の読み出しインデックス(元のビットの位置)をri,jとすると、r0,0,r1,0,…,ra-1,0,r0,1,r1,1,…という順にシリアルにa個ずつ加算しM個のビットを生成するようになっている。
このため、a回加算部6は、加算器61,ラッチ62及びスイッチ63をそなえて構成され、ラッチ62に保持された前回の加算器61による加算結果を今回の入力に加算器61で加算することにより累積加算を行ない、a回加算完了時点でスイッチ63をON状態とすることにより、a回加算結果を出力するようになっている。ただし、このa回加算処理を行なうのに、本実施形態では、E個の読み出しインデックスを一時保存することを避けるため、a個の部分インターリーバ4−iを1つずつ逐次(時分割に)実行することで、M個の読み出しインデックスを一時保存するメモリを共有して使用する。
即ち、例えば図2に示すように、部分インターリーバ4−iは、書き込みスイッチ40,繰り返し符号一時保存メモリ41,読み出し相対位置メモリ42,インターリーブパターン生成部43及びタイミングカウンタ44をそなえて構成し、a回加算部6は、M組の加算器61,ラッチ62及びスイッチ63をパラレルにそなえるとともに、P/S変換部64をそなえて構成する。
ここで、書き込みスイッチ40は、繰り返し符号一時保存メモリ41への繰り返し符号の書き込みをON/OFFするものであり、繰り返し符号一時保存メモリ41は、この書き込みスイッチ40がON状態となることにより入力されるM個の繰り返し符号(つまり、1つの部分インターリーブブロックに属する繰り返し符号)を保持するものであり、読み出し相対位置メモリ(読み出し制御部)42は、インターリーブパターン生成部43から与えれるインターリーブパターンに従って上記繰り返し符号一時保存メモリ41から読み出すべき繰り返し符号のアドレス(読み出しインデックス)をM個分順次指定することにより、当該メモリ41への書き込み順序とは異なる順序で繰り返し符号を読み出してM個の繰り返し符号に対する部分インターリーブを実行するものである。
インターリーブパターン生成部43は、タイミングカウンタ44から与えられる更新タイミング毎に異なるインターリーブパターンを読み出し相対位置メモリ42に与えて上記読み出し順序を変更するものであり、タイミングカウンタ44は、繰り返し符号一時保存メモリ41への書き込み(更新)タイミングと、インターリーブパターン生成部43での異なるインターリーブパターンの更新タイミングとをa回分それぞれ出力するもので、これにより、上記読み出し後に次の部分インターリーブブロックに属するM個の繰り返し符号が繰り返し符号一時保存メモリ41に書き込まれるとともに、当該部分インターリーブブロックのための異なるインターリーブパターンが読み出し相対位置メモリ42に与えられ、以降、同様にすべての部分インターリーブブロックについての部分インターリーブが完了するまで、順次、繰り返し符号一時保存メモリ41及び読み出し相対位置メモリ42の内容が更新されるようになっている。
つまり、上記のインターリーブパターン生成部43及びタイミングカウンタ44は、異なる部分インターリーブブロック毎に異なるインターリーブパターンを生成して上記読み出し制御部としての読み出し相対位置メモリ42へ与えるインターリーブパターン制御部46として機能し、図1では、各部分インターリーバ4−iが並列に設けられて、部分インターリーブが同時並列的に行なわれる構成になっている(勿論、かかる構成も可能である)が、図2では、各部分インターリーブブロックに共通のインターリーバ(共通部分インターリーバ)4aを用い、部分インターリーブ対象のブロックを逐次的に変更する構成をとることで、同等の処理を実現しているのである。
一方、M個の加算器61は、それぞれ、繰り返し符号一時保存メモリ41から読み出されるM個のビットのいずれかと、対応するラッチ62に保持されているビット(前回の加算結果)とを加算するものであり、M個のラッチ62は、それぞれ、対応する加算器61の加算結果を一時的に保持しつつそのビットを当該加算器61にフィードバックするもので、これらM組の加算器61及びラッチ62によって、繰り返し符号一時保存メモリ41に計a回書き込まれて当該メモリ41から計a回読み出されるM個のビット、つまり、a個の部分インターリーブブロックの部分インターリーブ結果が逐次的にそれぞれ各加算器61及びラッチ62により累積加算されてゆくようになっている。
M個のスイッチ63は、それぞれ、a回加算が完了したタイミングでON状態に制御されることにより、その時点でラッチ62に保持されているビット値(つまり、a回加算結果)をP/S変換部64に出力するものであり、P/S変換部64は、このようにして入力されるM個のa回加算結果をシリアル変換して出力するものである。
以上の構成により、例えば、1番目の部分インターリーブブロックについて、読み出し相対位置メモリ42のメモリアドレスの順番に、M個の加算結果を保持するブロック加算結果一時保存メモリ(M個のラッチ62)にビット値が書き込まれ、次に、2番目の部分インターリーブブロックに対する部分インターリーブの読み出しインデックスを新たなインターリーブパターンから求めて、読み出し相対位置メモリ42の内容を更新した上で、そのアドレス順に、ブロック加算結果一時保存メモリ60(M個のラッチ62)に保持されている同じアドレス(ラッチ62の位置に相当)のビット(前回の加算結果)について、繰り返し符号一時保存メモリ41における上記読み出しインデックスのビットが対応の加算器61にて加算される。以降、同様に最後(a番目)の部分インターリーブブロックまで、M個の各ビットについての加算を行ない、各加算器61においてa回加算が完了した時点で各スイッチ63がそれぞれON状態に制御されて、M個のa回加算結果がP/S変換部64にてシリアル変換されて出力される。
つまり、1つの部分インターリーバ4aをa個の部分インターリーブブロック毎に逐次的に適用し、各段階でビット加算を同時に実行しておくのである。このようにすることで、読み出し相対位置メモリ42を各部分インターリーブブロックに対して共有することが可能となる。
次に、M回累積加算部7は、上記a回加算部6の出力についてM回の累積加算を行なってM個のパリティビットを出力するもので、このために、加算器71及びラッチ72をそなえており、ラッチ72に保持されている前回の加算結果を加算器71にフィードバックして今回の入力(a回加算結果)に加算器71で加算してゆくようになっている。例えば、上記のブロック加算結果一時保存メモリ60のアドレス順にM個のa回加算結果をx=(x0,…,xM-1)とすると、これから、下記(2.3)式及び(2.4)式に示す累積加算を行なうことで、M個のパリティビットp=(p0,…,pM-1)を求めるのである。ただし、下記の(2.4)式において、i==1,…,M−1である。
0=x0 …(2.3)
i=pi-1+xi …(2.4)
そして、得られたM個のパリティビットp=(p0,…,pM-1)をK個の情報ビットu=(u0,…,uK-1)とシリアルに結合することで、下記(2.5)式に示すように、組織符号化された符号ビットcが得られる。
c=(c0,…,cN-1)=(u0,…,uK-1,p0,…,pM-1) …(2.5)
なお、図3に本例でのタナーグラフを示す。この図3に示すように、最下段の○印で示す変数ノード(u0,…,uK-1)から各部分インターリーバ4−0〜4−(a−1)に対してM本ずつのエッジが引かれて、E個の繰り返し符号がM個ずつa個のブロック(部分インターリーブブロック)に分割されて各部分インターリーバ4−iに入力されることが表され、□印で示す各チェックノード(s0,…,sM-1)から各部分インターリーバ4−iに対して1本ずつ計a本のエッジが引かれて、各部分インターリーバ4−iの部分インターリーブ結果から1つずつ合計a個のビットが選択されて集められる(加算される)ことが表され、各チェックノード(s0,…,sM-1)と、パリティビット(p0,…,pM-1)に対応する変数ノード(最上段の○印)との間がジクザグ状にエッジで接続されることにより、上記M回の累積加算が表されている。
以上のように、本実施形態のIRA符号器1によれば、可変回数ビット繰り返し部2の出力であるE個の繰り返し符号をM個ずつa個のブロックに分け、それぞれのブロック(M個のビット)に対して異なるインターリーブパターンの部分インターリーブを適用し、それぞれの結果の先頭から順に1つずつ合計a個のビットを選択して加算(a回加算)し、さらに、その加算結果をM回累積加算することで、パリティビットを生成するので、次のような効果ないし利点が得られる。
(1)1つの部分インターリーバ(条件付ランダムインターリーバ)4−iでの処理にかかる処理時間をO(M2)として、これを上述したごとく逐次的に行なうとしても、ブロック分割せずにインターリーブを実行する場合に比して1/aの時間短縮となる。
(2)なお、部分インターリーバ4−iに既述の構成的ランダムインターリーバを適用した場合は、上記と同様に逐次的な部分インターリーブを行なえば処理時間は変わらなくなるが、部分インターリーバ4−iのそれぞれを並列処理することにすれば、処理時間は1/aにすることができる。また、各部分インターリーバ(条件付ランダムインターリーバ)4を逐次的ではなく並列処理することにすれば、さらに処理時間を1/a2に短縮することが可能となる。
(3)1つの部分インターリーバ4−i(4a)をa個のブロック毎に逐次的に適用し、各段階でビット加算を同時に実行しておくことで、インターリーブ結果の読み出しインデックスを保持するメモリ42を各部分インターリーブブロックで共有することができ、大きなサイズ(E個)のビットに対して一度にインターリーブを適用する場合に比して、メモリサイズが1/aで済むことになる。
なお、上記の加算ブロックサイズ(a)は、より一般化して、可変(ai:i=0,…,M−1)にしてもよい。この場合、「拡張IRA符号」となる。即ち、可変加算処理のi番目の加算ブロックのサイズをaiとして、最大の加算ブロックサイズをamax、パリティ符号数M以下の正の整数をMi(i=0,…,amax−1)としたときに、インターリーブ処理部4は、下記(1)式を満足する各サイズamaxの部分インターリーブブロック毎に部分インターリーブを施し、加算部6は、前記各加算ブロックの上記指定サイズai分だけ、それぞれ、部分インターリーブ後の各部分インターリーブブロックの先頭から1つずつ部分インターリーブ結果を選択して加算することになる。
また、さらに一般化して、M回累積加算部7に、フィードバック付きの畳み込み符号器を用いることもできる。この場合は「一般化拡張IRA符号」となる。
(A1)第1実施形態の変形例の説明
上述した例において、繰り返し符号が2つの部分インターリーブブロックにまたがってしまうような場合、次のような問題が生じる可能性がある。即ち、サイズEのビット列に対して、インターリーバ(ランダムインターリーバでも、上記例の条件付ランダムインターリーバや構成的ランダムインターリーバでも)を無条件に適用する方法では、ある情報ビットの繰り返した結果である同じ値のビット同士が、インターリーブ後の同じブロックに属してしまい(これをブロック重複という)、情報を互いに相殺してしまう。
これはタナーグラフでいうと、同じ変数ノードとチェックノードのペア同士を2度エッジで結ぶことに対応しており、LDPC符号として意図した符号とは異なる符号となってしまっている。ここで、「意図した符号」とは、パラメータ(fj,a)(j=2,…,jmax)によりウェイト分布が決まる検査行列で定義されるイレギュラーLDPC符号のことである。
またもし、意図した符号からの若干のずれを許容するとしても、たとえば、2ないし3回の繰り返し符号化された情報ビットに2重エッジが生じると0ないし1のエッジと等価となり、これは不適切な符号となる。0の場合は、情報ビットは軟判定符号に何ら関わりがなくなる。1の場合は、エッジでつながるノードから得られた信頼度情報をそのまま返すことしかできないため、他のビットに対して軟判定の効果を与えることができない。
例えば、上述した第1実施形態(図2)において、入力情報ビットに対する繰り返し符号のビット列をシリアルに並べ、M個ずつa個の部分インターリーブブロックに分割する際に、ある情報ビットの繰り返し符号は2つの部分インターリーブブロックに属する場合がある。ここで、情報ビットuiはそれぞれj回繰り返すとして、m0個(m0は正の整数)が第1の部分インターリーブブロックに属し、残りのm1=(j−m0)個(m1は正の整数)が第2の部分インターリーブブロックに属しているとする。
この場合に、第1の部分インターリーブブロックに対してサイズMの部分インターリーブを実行すると、m0個のビット列についての読み出し位置(相対インデックス)が決まるので、この読み出し位置を保存しておく。そして、第2の部分インターリーブブロックについての部分インターリーブを実行する前に、先頭の情報ビットuiのm1個の繰り返し符号については、先ほど保存したm0個のビット列についての読み出し位置を避けて、当該ブロック内での相対的な読み出し位置を予め所定の方法で(例えば、ランダムに)定めておき、上記m1個を除く残りの(M−m1)個のビット列について部分インターリーブを行なう。第3以降の部分インターリーブブロックについても同様の処理を行なう。
これにより、例えば図4に示すように、結果の符号のタナーグラフにおいて、同じノードのペアが2重にエッジで結ばれること(つまり、ブロック重複)を避けることができ(符号80参照)、結果として、「意図しない符号」の生成を回避して、特性劣化を回避することができる。
〔B〕第2実施形態の説明
図5は本発明の第2実施形態としてのRA符号器(符号化装置)の要部構成を示すブロック図で、この図5に示すRA符号器1Aは、拡張RA符号によりK個の情報ビットからM個のパリティビットを生成し、K個の情報ビットと合わせてサイズN=K+Mの符号ビットの生成を行なうもので、例えば、繰り返し符号器(q回ビット繰り返し部)2A,シリアル/パラレル(S/P)変換部3A,q個の部分インターリーバ(第0〜第q−1インターリーバ)4A−0〜4A−(q−1)を有するインターリーブ処理部4A,パラレル/シリアル(P/S)変換部5A,可変回加算部6A,M回累積加算部7及び可変回加算制御部8をそなえて構成されている。
ここで、q回ビット繰り返し部2Aは、K個の入力情報ビットを全て一定の数(指定の繰り返し回数)q(qは正の整数)で繰り返し符号化するものであり、S/P変換部3Aは、このq回ビット繰り返し部2Aの出力をS/P変換することによりK個ずつのq組のブロックに分けて出力するもので、具体的には、繰り返しビットのそれぞれを順に別のビットのブロックにシーケンシャルに配置するようになっている。即ち、K個の情報ビットのq組のコピーを生成してそれぞれを部分インターリーバ4A−t(t=0,…,q−1)に入力するようになっている。
インターリーブ処理部4Aは、q回ビット繰り返し部2Aによる繰り返し符号化結果をq個の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするもので、このために、各部分インターリーバ4A−tによって、それぞれ、上記K個の情報ビットについてサイズKの部分インターリーブ(ランダムインターリーブ、あるいは条件付ランダムインターリーブ、もしくは構成的ランダムインターリーブ)を施すようになっている。
P/S変換部5Aは、これらの部分インターリーバ4A−tの出力(インターリーブ結果)をシリアル変換して出力するものであり、可変回加算部6Aは、上記インターリーブ結果について指定(可変)の加算数(加算ブロックサイズ)ai(i=0,…,M−1)毎に累積加算を行なうもので、加算器61,ラッチ62及びスイッチ63をそなえ、加算ブロックサイズaiの加算タイミング毎に、0クリア回路81によりラッチ62に保持されているビット値が0にクリアされるとともに、スイッチ63がスイッチ開閉回路82によってON状態に制御されることによって、可変の加算ブロックサイズai毎の加算処理を実現できるようにしている。
ただし、この可変回加算処理を行なうのに、本実施形態でも、q個の部分インターリーバ4A−tを1つずつ逐次(時分割に)実行することで、K個の読み出しインデックスを一時保存するメモリを共有して使用する。
即ち、例えば図6に示すように、部分インターリーバ4A−kは、繰り返し符号一時保存メモリ41A,読み出し相対位置メモリ42A,インターリーブパターン生成部43A及びタイミングカウンタ44Aをそなえて構成し、加算部6Aは、加算ブロック毎の加算器61Aをパラレルにそなえるとともに、加算器61B,ラッチ(残りビット一時メモリ)65及びP/S変換部64をそなえて構成する。
ここで、繰り返し符号一時保存メモリ41Aは、K個の繰り返し符号化結果である情報ビット(u0〜uK-1)を保持するものであり、読み出し相対位置メモリ42Aは、インターリーブパターン生成部43Aから与えれるインターリーブパターンに従って上記繰り返し符号一時保存メモリ41Aから読み出すべき情報ビット(繰り返し符号)のアドレス(読み出しインデックス)をK個分順次指定することにより、当該メモリ41Aへの書き込み順序とは異なる順序で繰り返し符号を読み出してK個の繰り返し符号に対する部分インターリーブを実行するものである。
インターリーブパターン生成部43Aは、タイミングカウンタ44Aから与えられるタイミング毎に異なるインターリーブパターンを読み出し相対位置メモリ42Aに与えて上記読み出し順序を変更するものであり、タイミングカウンタ44Aは、インターリーブパターン生成部44Aでの異なるインターリーブパターンの更新タイミングとをq回分出力するもので、これにより、次の部分インターリーブブロックのための異なるインターリーブパターンが読み出し相対位置メモリ42Aに与えられ、以降、同様にすべて(q組)の部分インターリーブブロックについての部分インターリーブが完了するまで、順次、読み出し相対位置メモリ42Aの内容が更新されるようになっている。
つまり、図5では、インターリーブ処理部4Aとして、各部分インターリーバ4A−tが並列に設けられて、部分インターリーブが同時並列的に行なわれる構成になっている(勿論、かかる構成も可能である)が、図6では、各部分インターリーブブロックに共通のインターリーバ(共通部分インターリーバ)4bを用い、部分インターリーブ対象のブロックを逐次的に変更する構成をとることで、同等の処理を実現しているのである。また、本例の場合は、K個の情報ビットのq組のコピーを生成してq組の部分インターリーブブロックを生成すればよいので、繰り返し符号一時メモリ41AにはK個の情報ビットを一度だけ書き込んでおけば、そのK個の情報ビットを継続使用してq回逐次的に部分インターリーブを実行すればよいことになる。換言すれば、繰り返し符号一時メモリ41Aは、図5に示すq回ビット繰り返し部2A及びS/P変換部3Aとしての機能を果たしているのである。
一方、各加算器61Aは、それぞれ、加算ブロックに対応しており、q回逐次的に実行される部分インターリーブの過程で、繰り返し符号一時メモリ41Aから読み出し相対位置メモリ42Aにより指定されるアドレス(つまりは、異なるインターリーブパターン)に従って読み出されて同じ加算ブロックに属すべき情報ビット(繰り返し符号)同士を加算するものである。
加算器61Bは、E(=q×K)個の情報ビットを上記加算ブロックに分割することで生じる余りビット(k0個)について加算を行なうものであり、ラッチ65は、その加算結果を一時的に保持するもので、当該加算結果は、最終的に、例えばk0個の余りビットを除いたサイズ(ai−k0)の加算ブロックに対応する(図6の最上段に位置する)加算器61Aで他の(ai−k0)個の情報ビットとともに加算されるようになっている。P/S変換部64は、上記各加算器61Aによる加算結果をシリアル変換してM個のビットを出力するものである。
ただし、この例では、エッジの数EはKで割り切れるので、厳密にK個ごとq組のビットの組に分けることができる。この時点ではビットに「余り」はない。k0個のビットが余るのは、インターリーブ後の出力を先頭から順に指定の加算ブロック数(a0,…,aM-1)に従ってブロック毎に加算してゆくとき、加算するビットの組が第1インターリーバと第2インターリーバとにまたがってしまうことを意味している。
つまり、本例の場合は、加算器61A及び加算器61Bが図5に示す加算器61としての機能を果たし、ラッチ65及び繰り返し符号一時保存メモリ41Aが図1に示すラッチ62としての機能を果たし、タイミングカウンタ44A,インターリーブパターン生成部43A及び読み出し相対位置メモリ42Aが、図1に示すスイッチ63及び可変回加算制御部8(0クリア回路81,スイッチ開閉回路82)としての機能を果たしていることになる。
即ち、k個の加算数を取る加算ブロックの数Vk(k=1,…,kmax)は、分布関数gk(k=1,…,kmax)からVk=Int(M・gk)により与えられるものとする。ただし、下記の(3.1)及び(3.2)式を満たすように各Vkを調整する。
Figure 2006087792
Figure 2006087792
このとき、Vkが0と異なるkの組み合わせを昇順に並べたものを(k0,…,kG-1)として、最初のVx(x=k0)個のビットをk0回繰り返し、次のVy(y=k1)個をk1個繰り返し、以下、kG-1=kmaxまで続ける。
M回累積加算部7は、第1実施形態にて前述したものと同様のもので、上記可変回加算部6Aの出力についてM回の累積加算を行なってM個のパリティビットを出力するもので、本例においても、ラッチ72に保持されている前回の加算結果を加算器71にフィードバックして今回の入力(ai回加算結果)に加算器71で加算してゆく。
即ち、加算結果をx=(x0,…,xM-1)とすると、これから、さらに下記(3.3)式及び(3.4)式に示すように累積加算を行ない、パリティビットp=(p0,…,pM-1)を求める。
0=x0 …(3.3)
i=pi-1+xi (i=1,…,M−1)…(3.4)
得られたパリティビットp=(p0,…,pM-1)を情報ビットu=(u0,…,uK-1)とシリアルに結合することで、下記(3.5)式で示すように、組織符号化された符号ビットcが得られる。
c=(c0,…,cN-1)=(u0,…,uK-1,p0,…,pM-1) …(3.5)
なお、図7に本例でのタナーグラフを示す。この図7に示すように、最下段の○印で示す変数ノード(u0,…,uK-1)からそれぞれ異なる部分インターリーバ4A−0〜4A−(q−1)に対して1本ずつエッジが引かれて、E=qK個の情報ビット(繰り返し符号)がK個ずつq個のブロック(部分インターリーブブロック)に分割されて各部分インターリーバ4A−tに入力されることが表され、□印で示す各チェックノード(s0,…,sM-1)から各部分インターリーバ4A−tに対してそれぞれai本のエッジが引かれて、各部分インターリーバ4A−tの部分インターリーブ結果がサイズaiの加算ブロック毎に加算されることが表され、各チェックノード(s0,…,sM-1)と、パリティビット(p0,…,pM-1)に対応する変数ノード(最上段の○印)との間がジクザグ状にエッジで接続されることにより、上記M回の累積加算が表されている。
以上のように、本実施形態のRA符号器1Aによれば、可変回数ビット繰り返し部2Aの出力であるE(=qK)個の繰り返し符号をK個ずつq個のブロックに分け、それぞれのブロック(K個のビット)に対して異なるインターリーブパターンの部分インターリーブを適用し、そのインターリーブ結果について可変サイズaiの加算ブロック単位でビット加算し、さらに、その加算結果をM回累積加算することで、パリティビットを生成するので、第1実施形態と同様の効果ないし利点が得られる。即ち、
(1)1つの部分インターリーバ(条件付ランダムインターリーバ)4A−tでの処理にかかる処理時間をO(K2)として、これを上述したごとく逐次的に行なうとしても、ブロック分割せずにインターリーブを実行する場合に比して1/qの時間短縮となる。
(2)なお、部分インターリーバ4A−tに既述の構成的ランダムインターリーバを適用した場合は、上記と同様に逐次的な部分インターリーブを行なえば処理時間は変わらなくなるが、部分インターリーバ4A−tのそれぞれを並列処理することにすれば、処理時間は1/qにすることができる。また、各部分インターリーバ(条件付ランダムインターリーバ)4A−tを逐次的ではなく並列処理することにすれば、さらに処理時間を1/q2に短縮することが可能となる。
(3)1つの部分インターリーバ4A−t(4b)をq個のブロック毎に逐次的に適用し、各段階でビット加算を同時に実行しておくことで、インターリーブ結果の読み出しインデックスを保持するメモリ42Aを各部分インターリーブブロックで共有することができ、大きなサイズ(E個)のビットに対して一度にインターリーブを適用する場合に比して、メモリサイズが1/qで済むことになる。
なお、上記繰り返し回数qは、より一般化して、可変(qi:i=0,…,qmax−1)(qmaxは最大値)にしてもよい(この場合、「拡張IRA符号」となる)。即ち、情報ビット(繰り返し符号化結果)をE個、前記繰り返し回数をqiとした場合、繰り返し符号化部2Aは、繰り返し符号がそれぞれ異なる部分インターリーブブロックに分配されるよう繰り返し符号化結果をqmax個のブロックであってそれぞれのブロックサイズが下記の(3.6)式を満足するK以下の正の整数Ki(i=0,…,qmax−1)であるブロック単位でインターリーブ処理部4Aへ出力し、インターリーブ処理部4Aは、上記各ブロックについてサイズKiの部分インターリーブを施すことになる。
Figure 2006087792
また、本例でも、さらに一般化して、M回累積加算部7に、フィードバック付きの畳み込み符号器を用いることができる。この場合は「一般化(拡張)IRA符号」となる。
(B1)第2実施形態の変形例の説明
上述した第2実施形態においても、第1実施形態の変形例と同様に、加算ブロックが、2つの部分インターリーブブロックにまたがってしまうことが起こるとする。例えば、第1の部分インターリーブブロックと第2の部分インターリーブブロックとにk番目の加算ブロックがまたがり、それぞれ、k0個(k0は正の整数)が第1の部分インターリーブブロックに属し、残りのk1個(k1は正の整数)のビットが第2の部分インターリーブブロックに属するものとする。
このような場合は、第1の部分インターリーブブロックについての部分インターリーブの結果として得られる、k0個の当該ブロック内での相対的な読み出し位置を記憶しておき、第2の部分インターリーブブロックについての部分インターリーブを実行する前に、上記k0個の位置とは異なるk1個の相対位置をランダムに決定して、読み出しアドレスの始めのk1個とする。この後に、残りの(K−k1)個のビットについて部分インターリーブを適用し、読み出しアドレス順に加算を実行する。第3以降の部分インターリーブブロックについても同様の処理を行なう。
これにより、上述したRA符号器1Aにおいても、例えば図8に示すように、結果の符号のタナーグラフにおいて、同じノードのペアが2重にエッジで結ばれること(つまり、ブロック重複)を避けることができ(符号90参照)、結果として、「意図しない符号」の生成を回避して、特性劣化を回避することができる。
〔C〕インターリーブパターン(読み出しインデックス)の生成手法
前述した第1実施形態において、部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブを逐次的に実行する場合に、第1の部分インターリーブブロックに適用する部分インターリーバ4−iとして、例えば、前記の3GPPで仕様化されているターボ符号で用いられるPIL(前記非特許文献3参照)を用いるものとする。これに対して、第2以降の部分インターリーブブロックに適用する部分インターリーバ4を以下の手順で構成する。
即ち、それぞれの部分インターリーバ4−iに対して、互いに異なる(M−1)以下の正の整数(オフセット値)bi(i=1,…,a−1)を付与する。この数は可能な限り、最大の繰り返し回数qmaxよりも大きな数とする。そして、例えば図9に示すように、前記インターリーブパターン制御部46に、異なるインターリーブパターン(読み出しインデックス)を読み出し相対位置メモリ42で他の異なる部分インターリーブブロックについて使用したインターリーブパターン(読み出しインデックス)に対して所定の置換処理を行なって生成する読み出しインデックス制御部(インターリーブパターン置換生成部)45を付加する。
これにより、タイミングカウンタ44からの更新タイミングに従って、この読み出しインデックス制御部45において、j番目の部分インターリーブブロックについての読み出し相対位置メモリ42における相対的な読み出しインデックスrjを、第1の(i=0番目の)部分インターリーブブロックについての読み出しインデックスrjのそれぞれに対して、上記整数biを、Mを法として加算(rj+bi mod M→rj)することで求めることができる。
その結果、インターリーブパターン生成部43は、読み出し相対位置メモリ42に対して初回(第1の部分インターリーブブロックについて)のみインターリーブパターンを与えるだけで済み、それ以降の部分インターリーブブロックについては、それぞれ、読み出しインデックス制御部45により、上述のごとく読み出しインデックスをオフセット値biにより更新(置換)してゆくことで、部分インターリーブブロック毎に異なるインターリーブパターンの部分インターリーブを適用することが可能となる。
このように、各部分インターリーブブロックについて、1つのサイズMのインターリーブパターンに規定数の(mod M)の加算を行なったものを相対的な読み出しインデックスとして用いることで、各部分インターリーブブロック毎に必要なインターリーブパターンを生成し直す場合に比して、インターリーブパターンの生成処理を1/aに短縮することができる。
なお、部分インターリーバ4−iとして条件付ランダムインターリーバを用いる場合には、1つの部分インターリーバ4についてだけO(M2)の処理量がかかり、他の部分インターリーバ4−iについてはそれから簡単な加算および整数の除算処理で求めることができるので、処理量は1/aに+αしただけで済むことになる。
さらに、部分インターリーバ4−iとして構成的ランダムインターリーバを適用した場合でも、読み出しインデックスの生成に整数の加算と除算以上の処理を要する場合には処理量の短縮になる。また、1つのサイズによってインターリーブパターンが1通りに決定してしまうような場合には、これにより同じサイズで異なるパターンのインターリーバを生成する方法となる。
また、上述したインターリーブパターンの生成手法は、第2実施形態のRA符号器1Aに適用することも勿論可能である。
以上詳述したように、本実施形態によれば、IRA符号やRA符号をはじめとするランダムなインターリーブ処理を用いる符号化法により定義される符号において、インターリーブ対象の符号列を分割して部分インターリーブすることで、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を分割数に従って小さくすることができる。
なお、本発明は、上述した各実施形態及び変形例に限定されず、本発明の趣旨を逸脱しない範囲で種々変形して実施できることはいうまでもない。
本発明によれば、IRA符号やRA符号をはじめとするランダムなインターリーブ処理を用いる符号化法により定義される符号において、インターリーブ対象の符号列を分割して部分インターリーブすることで、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を分割数に従って小さくできるので、デジタル情報通信システム等をはじめとする情報技術分野において極めて有用と考えられる。
なお、本発明は、上述した各実施形態及び変形例に限定されず、本発明の趣旨を逸脱しない範囲で種々変形して実施できることはいうまでもない。
〔D〕付記
(付記1)
K個(Kは正の整数)の情報要素からインターリーブ処理を用いてM個(Mは正の整数)のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズN=K+Mの符号を生成する符号化装置であって、
前記K個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化部と、
該繰り返し符号化部による繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするインターリーブ処理部と、
上記部分インターリーブ後の異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算部と、
該加算部による加算結果について畳み込み符号化を施してM個の前記パリティ符号を出力する畳み込み符号化部とをそなえたことを特徴とする、符号化装置。
(付記2)
前記繰り返し符号化結果をE個(Eは正の整数)、該加算部でのi番目の前記加算ブロックの前記指定サイズをa i (i=0,…,M−1)、前記加算ブロックの最大サイズをa max 、前記パリティ符号数M以下の正の整数をM i (i=0,…,a max −1)としたときに、該インタリーブ処理部が、下記(4.1)式を満足する各サイズa max の前記部分インターリーブブロック毎に前記部分インターリーブを施すべく構成されるとともに、
該加算部が、前記各加算ブロックの上記指定サイズa i 分だけ、それぞれ、前記部分イ
ンターリーブ後の前記各部分インターリーブブロックの先頭から1つずつ前記部分インターリーブ結果を選択して加算すべく構成されたことを特徴とする、付記1記載の符号化装置。
Figure 2006087792
(付記3)
該インターリーブ処理部が、前記各部分インターリーブブロックに共通であって、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施す共通部分インターリーバをそなえ、
該加算部が、該共通部分インターリーバによる逐次的な部分インターリーブの結果を逐次的に加算すべく構成されたことを特徴とする、付記1又は2に記載の符号化装置。
(付記4)
前記指定サイズa i が一定であることを特徴とする、付記2又は3に記載の符号化装置。
(付記5)
前記繰り返し符号化結果が、第1及び第2の部分インターリーブブロックにm0個及びm1個(m0、m1はいずれも正の整数)に分かれて属する場合に、前記第1の部分インターリーブブロックについての前記部分インターリーブにより上記m0個の繰り返し符号化結果について定まる位置を避けて、上記m1個の繰り返し符号化結果の前記第2の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第2のインターリーブブロックの上記m1個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されたことを特徴とする、付記1〜4のいずれか1項に記載の符号化装置。
(付記6)
該繰り返し符号化部が、
前記K個の情報要素のそれぞれについての前記繰り返し回数分の繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに属するように前記繰り返し符号化結果を該インターリーブ処理部へ出力すべく構成されたことを特徴とする、付記1記載の符号化装置。
(付記7)
前記繰り返し符号化結果をE個、該繰り返し符号化部での前記繰り返し回数をq i (i=0,…,q max −1)、その最大値をq max としたときに、該繰り返し符号化部が、前記繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに分配されるよう前記繰り返し符号化結果をq max 個のブロックであってそれぞれのブロックサイズが下記の(4.2)式を満足するK以下の正の整数K i (i=0,…,q max −1)であるブロック単位で該インターリーブ処理部へ出力すべく構成されるとともに、
該インターリーブ処理部が、上記各ブロックについてサイズK i の部分インターリーブを施すべく構成されたことを特徴とする、付記6記載の符号化装置。
Figure 2006087792
(付記8)
前記q i が一定であることを特徴とする、付記6又は7に記載の符号化装置。
(付記9)
前記加算ブロックに含まれる前記繰り返し符号化結果が、第1及び第2の部分インターリーブブロックにそれぞれk0個及びk1個(k0、k1はいずれも正の整数)に分かれて属する場合に、前記k0個の繰り返し符号化結果について前記部分インターリーブにより定まる位置を避けて、上記k1個の繰り返し符号化結果が属する前記第2の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第2のインターリーブブロックの上記k1個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されたことを特徴とする、付記7又は8に記載の符号化装置。
(付記10)
該インターリーブ処理部が、
前記部分インターリーブブロックに属する前記繰り返し符号化結果を所定の書き込み順序で保持するメモリと、
前記インターリーブパターンに従って該書き込み順序とは異なる読み出し順序で前記繰り返し符号化結果を読み出すことにより前記部分インターリーブを施す読み出し制御部と、
該メモリに保持される異なる部分インターリーブブロック毎に異なるインターリーブパターンを生成して該読み出し制御部へ与えるインターリーブパターン制御部とをそなえたことを特徴とする、付記1〜9のいずれか1項に記載の符号化装置。
(付記11)
該インターリーブパターン制御部が、
上記異なるインターリーブパターンを該読み出し制御部で他の異なる部分インターリーブブロックについて使用したインターリーブパターンに対して所定の置換処理を行なって生成するインターリーブパターン置換生成部をそなえたことを特徴とする、付記10記載の符号化装置。
(付記12)
K個の情報要素からインターリーブ処理を用いてM個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズN=K+Mの符号を生成する符号化方法であって、
前記K個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化過程と、
その繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブする部分インターリーブ過程と、
その結果について、異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算過程と、
その加算結果について畳み込み符号化を施してM個の前記パリティ符号を出力する畳み込み符号化過程とを有することを特徴とする、符号化方法。
(付記13)
上記部分インターリーブ過程において、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施し、
上記加算過程において、上記逐次的な部分インターリーブの結果を逐次的に加算することを特徴とする、付記12記載の符号化方法。

Claims (13)

  1. K個(Kは正の整数)の情報要素からインターリーブ処理を用いてM個(Mは正の整数)のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズN=K+Mの符号を生成する符号化装置であって、
    前記K個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化部と、
    該繰り返し符号化部による繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするインターリーブ処理部と、
    上記部分インターリーブ後の異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算部と、
    該加算部による加算結果について畳み込み符号化を施してM個の前記パリティ符号を出力する畳み込み符号化部とをそなえたことを特徴とする、符号化装置。
  2. 前記繰り返し符号化結果をE個(Eは正の整数)、該加算部でのi番目の前記加算ブロックの前記指定サイズをai(i=0,…,M−1)、前記加算ブロックの最大サイズをamax、前記パリティ符号数M以下の正の整数をMi(i=0,…,amax−1)としたときに、該インタリーブ処理部が、下記(4.1)式を満足する各サイズamaxの前記部分インターリーブブロック毎に前記部分インターリーブを施すべく構成されるとともに、
    該加算部が、前記各加算ブロックの上記指定サイズai分だけ、それぞれ、前記部分インターリーブ後の前記各部分インターリーブブロックの先頭から1つずつ前記部分インターリーブ結果を選択して加算すべく構成されたことを特徴とする、請求項1記載の符号化装置。
    Figure 2006087792
  3. 該インターリーブ処理部が、前記各部分インターリーブブロックに共通であって、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施す共通部分インターリーバをそなえ、
    該加算部が、該共通部分インターリーバによる逐次的な部分インターリーブの結果を逐次的に加算すべく構成されたことを特徴とする、請求項1又は2に記載の符号化装置。
  4. 前記指定サイズaiが一定であることを特徴とする、請求項2又は3に記載の符号化装置。
  5. 前記繰り返し符号化結果が、第1及び第2の部分インターリーブブロックにm0個及びm1個(m0、m1はいずれも正の整数)に分かれて属する場合に、前記第1の部分インターリーブブロックについての前記部分インターリーブにより上記m0個の繰り返し符号化結果について定まる位置を避けて、上記m1個の繰り返し符号化結果の前記第2の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第2のインターリーブブロックの上記m1個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されたことを特徴とする、請求項1〜4のいずれか1項に記載の符号化装置。
  6. 該繰り返し符号化部が、
    前記K個の情報要素のそれぞれについての前記繰り返し回数分の繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに属するように前記繰り返し符号化結果を該インターリーブ処理部へ出力すべく構成されたことを特徴とする、請求項1記載の符号化装置。
  7. 前記繰り返し符号化結果をE個、該繰り返し符号化部での前記繰り返し回数をqi(i=0,…,qmax−1)、その最大値をqmaxとしたときに、該繰り返し符号化部が、前記繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに分配されるよう前記繰り返し符号化結果をqmax個のブロックであってそれぞれのブロックサイズが下記の(4.2)式を満足するK以下の正の整数Ki(i=0,…,qmax−1)であるブロック単位で該インターリーブ処理部へ出力すべく構成されるとともに、
    該インターリーブ処理部が、上記各ブロックについてサイズKiの部分インターリーブを施すべく構成されたことを特徴とする、請求項6記載の符号化装置。
    Figure 2006087792
  8. 前記qiが一定であることを特徴とする、請求項6又は7に記載の符号化装置。
  9. 前記加算ブロックに含まれる前記繰り返し符号化結果が、第1及び第2の部分インターリーブブロックにそれぞれk0個及びk1個(k0、k1はいずれも正の整数)に分かれて属する場合に、前記k0個の繰り返し符号化結果について前記部分インターリーブにより定まる位置を避けて、上記k1個の繰り返し符号化結果が属する前記第2の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第2のインターリーブブロックの上記k1個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されたことを特徴とする、請求項7又は8に記載の符号化装置。
  10. 該インターリーブ処理部が、
    前記部分インターリーブブロックに属する前記繰り返し符号化結果を所定の書き込み順序で保持するメモリと、
    前記インターリーブパターンに従って該書き込み順序とは異なる読み出し順序で前記繰り返し符号化結果を読み出すことにより前記部分インターリーブを施す読み出し制御部と、
    該メモリに保持される異なる部分インターリーブブロック毎に異なるインターリーブパターンを生成して該読み出し制御部へ与えるインターリーブパターン制御部とをそなえたことを特徴とする、請求項1〜9のいずれか1項に記載の符号化装置。
  11. 該インターリーブパターン制御部が、
    上記異なるインターリーブパターンを該読み出し制御部で他の異なる部分インターリーブブロックについて使用したインターリーブパターンに対して所定の置換処理を行なって生成するインターリーブパターン置換生成部をそなえたことを特徴とする、請求項10記載の符号化装置。
  12. K個の情報要素からインターリーブ処理を用いてM個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズN=K+Mの符号を生成する符号化方法であって、
    前記K個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化過程と、
    その繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブする部分インターリーブ過程と、
    その結果について、異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算過程と、
    その加算結果について畳み込み符号化を施してM個の前記パリティ符号を出力する畳み込み符号化過程とを有することを特徴とする、符号化方法。
  13. 上記部分インターリーブ過程において、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施し、
    上記加算過程において、上記逐次的な部分インターリーブの結果を逐次的に加算することを特徴とする、請求項12記載の符号化方法。
JP2007503532A 2005-02-17 2005-02-17 符号化装置及び符号化方法 Expired - Fee Related JP4357561B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/002482 WO2006087792A1 (ja) 2005-02-17 2005-02-17 符号化装置及び符号化方法

Publications (2)

Publication Number Publication Date
JPWO2006087792A1 true JPWO2006087792A1 (ja) 2008-07-03
JP4357561B2 JP4357561B2 (ja) 2009-11-04

Family

ID=36916208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007503532A Expired - Fee Related JP4357561B2 (ja) 2005-02-17 2005-02-17 符号化装置及び符号化方法

Country Status (2)

Country Link
JP (1) JP4357561B2 (ja)
WO (1) WO2006087792A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2604939A1 (en) * 2005-04-15 2006-10-26 Trellisware Technologies, Inc. Clash-free irregular-repeat-accumulate code
EP1926215B1 (en) * 2006-11-27 2009-05-27 NTT DoCoMo, Inc. Parallel concatenated zigzag codes with UMTS turbo interleavers
EP1926216A1 (en) * 2006-11-27 2008-05-28 NTT DoCoMo, Inc. Interleaver design for parallel concatenated zigzag codes
CN101399554B (zh) * 2007-09-30 2012-03-21 华为技术有限公司 一种基于ldpc码的交织方法和解交织方法及其装置
CN101404506B (zh) * 2008-10-21 2011-10-12 北京科技大学 一种基于fpga实现的ra码运算电路及设计方法
CN101577552B (zh) * 2009-05-31 2011-04-27 清华大学 高码率重复累积码的低复杂度编码方法
KR101267654B1 (ko) 2012-02-13 2013-05-24 단국대학교 산학협력단 가변 부호어 길이를 지원하는 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
JP5758817B2 (ja) 2012-02-14 2015-08-05 株式会社日立国際電気 受信機及び受信信号の復号方法
EP2790328A1 (en) 2013-04-08 2014-10-15 Samsung Electronics Co., Ltd. Bit-interleaving for DVB-T2 LDPC codes

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2822922B2 (ja) * 1995-04-08 1998-11-11 日本電気株式会社 並列データ伝送装置
GB2343342A (en) * 1998-10-28 2000-05-03 Int Mobile Satellite Org Satellite communication system with variable data transmission rate
JP2001274776A (ja) * 2000-03-24 2001-10-05 Toshiba Corp 情報データ伝送システムとその送信装置及び受信装置
JP2001352253A (ja) * 2000-06-08 2001-12-21 Sony Corp 符号化装置及び符号化方法、並びに、復号装置及び復号方法
JP3992443B2 (ja) * 2001-02-09 2007-10-17 株式会社日立製作所 符号化方法、復号方法、符号化回路、復号回路、記憶装置、記憶媒体、通信装置

Also Published As

Publication number Publication date
JP4357561B2 (ja) 2009-11-04
WO2006087792A1 (ja) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4357561B2 (ja) 符号化装置及び符号化方法
CN107370490B (zh) 结构化ldpc的编码、译码方法及装置
US7783952B2 (en) Method and apparatus for decoding data
JP4168055B2 (ja) 低密度パリティ検査符号の生成方法及び装置
JP4033245B2 (ja) ターボ符号化装置およびターボ符号化方法
JP5506878B2 (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
JP3961770B2 (ja) 通信システムのインターリービング/デインターリービング装置及び方法
WO2009004601A2 (en) Generation of parity-check matrices
KR20070086301A (ko) 벡터 로우 그룹핑을 이용한 구조적 ldpc 디자인
JP2012231474A (ja) 可変サイズのパケットのldpc符号化及び復号化
KR20080048988A (ko) 무-충돌 불규칙-반복-누산 코드
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
WO2008069231A1 (ja) 復号装置、復号方法
JP3515036B2 (ja) インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
US20110087949A1 (en) Reconfigurable turbo interleavers for multiple standards
JP2009260692A (ja) 復号装置及び復号方法
US20150155886A1 (en) QPP Interleaver/DE-Interleaver for Turbo Codes
KR20090064709A (ko) Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치
US8301962B2 (en) Apparatus and method for generating a linear code
Echard On the construction of some deterministic low-density parity-check codes
KR101279204B1 (ko) 터보 부호기의 인터리빙 방법 및 장치
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090714

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090804

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4357561

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees