(57)【要約】【目的】使用メモリを削減し、しかも、トレーニング期間を実質的に長くする。【構成】スライディングウインドウ方式により復号処理を行なう最大事後確率復号方法である。今回の各ブロックの復号処理において求まる他ブロックの初期位置における後方用確率β2L，β3L，．．を次回の復号処理における該他ブロックの後方用確率の初期値として記憶部２７に保存し、後方用確率演算部２３，２４は次回の復号処理において該保存してある初期値より各ブロックの後方用確率の計算を開始する。【選択図】        図４
2005109771.tif 000002
【特許請求の範囲】
【請求項１】
受信データについて後方から前方に向けてトレリスを用いて後方用確率の演算を行ない、該受信データについて前方から後方に向けてトレリスを用いて前方用確率の演算を行ない、該後方用確率の演算結果と該前方用確率の演算結果とに基づいて復号処理を行い、前記復号処理を繰り返し行なう最大事後確率復号方法において、
復号処理の途中で計算された前方用確率および又は後方用確率の演算開始点における値を次の復号処理における前方用確率および又は後方用確率の初期値として保存し、
次の復号処理において前記保存してある初期値を用いて前方用確率および又は後方用確率の演算を開始する、
ことを特徴とする最大事後確率復号方法。
【請求項２】
前記復号処理は、
長さＮの符号化データを所定長Ｌづつのブロックに分割し、
所定ブロックの後方用確率を演算するに際して該ブロックより後方のデータ位置から後方用確率の演算を開始して該ブロックの後方用確率を求めて保存し、
ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて着目ブロックの各データの復号処理を行ない、
以後、同様に各ブロックの復号処理を行なう
ことを特徴とする請求項１記載の最大事後確率復号方法。
【請求項３】
長さＮのデータを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう最大事後確率復号方法において、
今回の各ブロックの復号処理において求まる他ブロックの前記初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存し、
次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率の計算を開始する、
ことを特徴とする最大事後確率復号方法。
【請求項４】
長さＮのデータを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう最大事後確率復号方法において、
今回の各ブロックの復号処理において求まる他ブロックの開始点における後方用確率を、次回の復号処理における該他ブロックの後方用確率の初期値として保存し、
次回の各ブロックの復号処理において前記保存してある初期値を用いて該ブロックの開始点より後方用確率の計算を開始する、
ことを特徴とする最大事後確率復号方法。
【請求項５】
受信データについて後方から前方に向けてトレリスを用いて後方用確率の演算を行ない、該受信データについて前方から後方に向けてトレリスを用いて前方用確率の演算を行ない、該後方用確率の演算結果と該前方用確率の演算結果とに基づいて復号処理を行い、前記復号処理を繰り返し行なう最大事後確率復号方法において、
長さＮのデータを所定長Ｌづつのブロックに分割し、各ブロックより後方のデータ位置(後方用確率初期位置)から後方用確率を演算して該ブロックの後方用確率を求めて保存する処理を全ブロックで同時に並列的に行ない、
各ブロックの前方用確率を演算するに際して該ブロックより前方のデータ位置(前方用確率初期位置)から前方用確率を演算して該ブロックの前方用確率を求める処理を全ブロックで同時に並列的に行ない、
各ブロックの前記前方用確率と前記保存してある各ブロックの後方用確率とを用いて各ブロックのデータの復号処理を並列的に行ない、
今回の各ブロックの復号処理において求まる他ブロックの前記後方用確率初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存し、かつ、今回の各ブロックの復号処理において求まる他ブロックの前記前方用確率初期位置における前方用確率を次回の復号処理における該他ブロックの前方用確率の初期値として保存し、
次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率および前方用確率の計算を並列的に開始する、
ことを特徴とする最大事後確率復号方法。
【請求項６】
受信データについて後方から前方に向けてトレリスを用いて後方用確率の演算を行ない、該受信データについて前方から後方に向けてトレリスを用いて前方用確率の演算を行ない、該後方用確率の演算結果と該前方用確率の演算結果とに基づいて復号処理を行い、前記復号処理を繰り返し行なう最大事後確率復号方法において、
符号化データを用いて前方用確率および後方用確率を計算する計算手段、
該前方用確率および後方用確率を用いて前記符号化データの復号を行なう手段、
今回の復号処理の途中で計算された前方用確率および又は後方用確率の演算開始点における値を次回の復号処理における前方用確率および又は後方用確率の初期値として保存する手段、
を備え、前記計算手段は、次回の復号処理において前記保存してある初期値を用いて前方用確率および又は後方用確率の計算を開始することを特徴とする最大事後確率復号装置。
【請求項７】
長さＮのデータを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう最大事後確率復号装置において、
符号化データを用いて前方用確率および後方用確率を計算する計算手段、
該前方用確率および後方用確率を用いて前記符号化データの復号を行なう手段、
今回の各ブロックの復号処理において求まる他ブロックの前記初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存する手段、
を備え、前記計算手段は、次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率の計算を開始する、
ことを特徴とする最大事後確率復号装置。
【請求項８】
長さＮの符号化データを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう最大事後確率復号装置において、
符号化データを用いて前方用確率および後方用確率を計算する計算手段、
該前方用確率および後方用確率を用いて前記符号化データの復号を行なう手段、
今回の各ブロックの復号処理において求まる他ブロックの開始点における後方用確率を、次回の復号処理における該他ブロックの後方用確率の初期値として保存する手段、
を備え、前記計算手段は、次回の各ブロックの復号処理において前記保存してある初期値を用いて該ブロックの開始点より後方用確率の計算を開始する、
ことを特徴とする最大事後確率復号装置。
【請求項９】
受信データについて後方から前方に向けてトレリスを用いて後方用確率の演算を行ない、該受信データについて前方から後方に向けてトレリスを用いて前方用確率の演算を行ない、該後方用確率の演算結果と該前方用確率の演算結果とに基づいて復号処理を行い、前記復号処理を繰り返し行なう最大事後確率復号方法において、
長さＮの符号化データを所定長Ｌづつのブロックに分割したとき、ブロック毎に、
後方用確率を計算する後方用確率演算部、
前方用確率を計算する前方用確率演算部、
該前方用確率および後方用確率を用いて該データの復号を行なう手段、
を備え、
前記各ブロックの後方用確率演算部は、該ブロックより後方のデータ位置(後方用確率初期位置)から後方用確率を順に演算して該ブロックの後方用確率を求めて保存する処理を全ブロック同時に並列的に行ない、
前記各ブロックの前方用確率演算部は、該ブロックより前方のデータ位置(前方用確率初期位置)から前方用確率を演算して該ブロックの前方用確率を求める処理を全ブロック同時に並列的に行ない、
前記復号手段は、各ブロックの前記前方用確率と前記保存してある各ブロックの後方用確率とを用いて各ブロックのデータの復号処理を同時に行なう、
ことを特徴とする最大事後確率復号装置。
【請求項１０】
各ブロックの復号処理において求まる他ブロックの所定データ位置における後方用確率を保存する第1の保存手段、
各ブロックの復号処理において求まる他ブロックの所定データ位置における前方用確率を保存する第2の手段
を更に備え、
前記第１の保存手段は、今回の各ブロックの復号処理において求まる他ブロックの前記後方用確率初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存し、
前記第２の保存手段は、今回の各ブロックの復号処理において求まる他ブロックの前記前方用確率初期位置における前方用確率を次回の復号処理における該他ブロックの前方用確率の初期値として保存し、
前記各ブロックの後方用確率演算部および前記各ブロックの前方用確率演算部は、次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率および前方用確率の計算を並列的に開始する、
ことを特徴とする請求項９記載の最大事後確率復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最大事後確率(MAP: Maximum A Posteriori Probability)復号方法及び該復号方法を用いた復号装置に係わり、特に、最大事後確率復号を少ない演算時間で、かつ、少ないメモリの使用量で実現する最大事後確率復号方法及び装置に関する。
【背景技術】
【０００２】
誤り訂正符号は、受信情報や再生情報などに含まれる誤りを訂正して正しく元の情報を復号できるようにするためのもので、種々のシステムに適用されている。例えば、移動通信、FAXその他のデータ通信に際してデータを誤りなく伝送する場合、あるいは、磁気ディスク、CDなどの大容量記憶媒体からデータを誤り無く再生する場合に適用されている。
誤り訂正符号の中でもターボ符号（例えば特許文献1参照)は次世代移動体通信において、標準化に採用されることが決まっている。かかるターボ符号において、最大事後確率復号(MAP復号: Maximum A Posteriori Probability Decoding)が大きな効果を発揮する。MA P復号方法はビタビ(Viterbi)復号方法と類似した復号方法である。
【０００３】
(a) 畳み込み符号
ビタビ復号方法は畳み込み符号を復号する方法である。
図９は畳み込み符号器の例で、２ビットのシフトレジスタSFRと２つの排他的論理和回路EXOR1,EXOR2を備え、EXOR1は入力とＲ１の排他的論理和ｇ０を出力し、EXOR2は入力とＲ０とＲ１の排他的論理和ｇ１("1"が奇数のとき出力は"1"、それ以外は"0")を出力する。したがって、入力データが01101の場合における畳み込み符号器の入出力関係及びシフトレジスタSFRの状態は図１０に示すようになる。
【０００４】
畳み込み符号器のシフトレジスタSFRの内容はstate(状態)と定義され、図１１に示すように00, 01, 10, 11の4つの状態があり、それぞれを状態m0，状態m1，状態m2，状態m3と表現する。図９の畳込み符号器ではシフトレジスタSFRの状態がm0〜m3のいずれの状態であるか、及び、次に入力するデータが"0"であるか"1"であるかにより、出力(ｇ０，ｇ１)及び次の状態が一意に決まる。図１２はかかる畳込み符号器の状態と入出力の関係図であり、点線は”0”入力、実線は”1”入力を示している。すなわち、
(1) 状態m0において、"0"が入力すると出力は00で状態はm0になり、"1"が入力すると出力は11で状態はm2になる。
(2) 状態m１において、"0"が入力すると出力は11で状態はm0になり、"1"が入力すると出力は00で状態はm2になる。
(3) 状態m2において、"0"が入力すると出力は01で状態はm1になり、"1"が入力すると出力は10で状態はm3になる。
(2) 状態m3において、"0"が入力すると出力は1 0で状態はm1になり、"1"が入力すると出力は01で状態はm3になる。
この入出力関係を用いて図９の畳み込み符号器の畳み込み符号を格子状表現すると図１３に示すようになる。ただし、状態mｉ（ｉ＝0〜3)を状態ｍ=0〜m=3と表現する。また、ｋは第ｋビット入力時点を意味し、符号器における初期(k=0)の状態はm=0である。又、点線は”0”入力、実線は”1”入力を示し、線上の２つの数値は出力（ｇ０，ｇ１）を示している。したがって、初期状態m=0において、"0"が入力すると出力は00で状態はm=0になり、"1"が入力すると出力は11で状態はm=２になることがわかる。
【０００５】
この格子状表現図(トレリス線図)を参照すると、原データが１１００１であれば、図１３の一点鎖線で示すパスを介して状態m=２に至り、符号器出力（ｇ０，ｇ１）は
11→10→10→11→11
となることがわかる。
逆に、復号に際して、受信データ(ya,yb)として、11→10→10→11→11の順に受信すれば、初期状態m=0よりトレリス線図をたどれば受信データが１１００１であると復号することができる。
【０００６】
(b)ビタビ復号
符号化データを誤りなく受信できれば、容易に元のデータを正しく復号することができる。しかし、伝送途中にデータが1から0に、あるいは0から１になり、誤りを含んだデータを受信する場合がある。かかる場合にも正しく復号できるようにする方法の１つがビタビ復号である。
ビタビ復号は、情報長Ｎの情報を符号化した符号化データの第ｋ番目までのデータを用いて第ｋデータ入力時点の各状態（ｍ=0〜m=3）毎に、該状態に至る２つのパスのうち誤りの少ないパスを選択し、誤りの多いパスを捨て、以後、同様にして最終の第Ｎデータ入力時点の各状態毎に、該状態に至る２つのパスのうち誤りの少ないパスを選択し、各状態において選択したパスのうち最も誤りの少ないパスを用いて復号するもので、復号結果は硬判定(hard decision)出力である。
ビタビ復号では、各状態においてエラーの大きい方のパスを捨て、該パスをエラー最小パス決定に何ら反映しない。一方、MAP復号ではビタビ復号と異なり、各状態におけるエラーの大きいパスであってもエラー最小パス決定に反映し、より精度の高い復号データを得る。
【０００７】
(c) MAP復号の概略
(c-1) MAP復号の第１の特徴
MAP復号では時間ｋ(図１３参照)の各状態(m=0,1,2,3)において、復号データｕＫが"0","1"となる確率α０，ｋ(m),α１，ｋ(m)を、
(1) 時間(k-1)の各状態における確率α０，ｋ−１(m),α１，ｋ−１(m)と、
(2) 時間(k-1)及び時間ｋにおける状態間のトレリス（パスの有無）と、
(3) 時間ｋにおける受信データｙa，ｙb
とに基づいて決定する。(1)の確率α０，ｋ−１(m),α１，ｋ−１(m)は前方用確率(前方メトリック値)という。又、(2 )のトレリスと(3)の受信データを考慮して求まる確率、すなわち、時間(k-1)の状態ｍ′(=0〜3)から時間ｋの状態ｍ(=0〜3)に移行する確率は移行確率という。
【０００８】
(c-2) MAP復号の第２の特徴
ビタビ復号ではある時刻ｋにおける各状態に至るエラー最小パスを１〜ｋまでの受信データと１〜ｋ迄の可能なパスを考慮して求めているが、ｋ〜Ｎまでの受信データやｋ〜Ｎまでのパスをエラー最小パス決定に何ら反映していない。MAP復号ではビタビ復号と異なり、ｋ〜Ｎまでの受信データやｋ〜Ｎまでのパスを復号処理に反映し、より精度の高い復号データを得る。
すなわち、Ｎからｋまでの受信データとトレリスを考慮して、時間ｋにおける各状態ｍ（=0〜3)を最小エラーパスが通過する確率βｋ(m)を求める。そして、この確率βｋ(m)を対応する状態の前方用確率α０，ｋ(m),α１，ｋ(m)に乗算することで、時間ｋの各状態(m=0,1,2,3)において復号データｕＫが"0","1"となるより精度の高い確率を求める。
このため、MAP復号では時間ｋの各状態(m=0,1,2,3)における確率βｋ(m)を、
(1) 時間(k +1)の各状態における確率βｋ＋１(m)と、
(2) 時間 (k+1)と時間ｋにおける状態間のトレリスと、
(3) 時間(k+1)における受信データｙa，ｙbに基づいて決定する。(1)の確率βｋ(m)は後方用確率(後方メトリック値)という。(2)のトレリスと(3)の受信データを考慮して求まる確率、すなわち、受信データ"0","1"により時間(k+1)の状態ｍ′(=0〜3)から時間ｋの状態ｍ(=0〜3)に移行する確率は移行確率である。
【０００９】
以上よりMAP復号方法では図１３に示すように、
(1) 情報長をＮとするとき、1〜ｋの符号化データ及び１〜ｋのトレリスを考慮して、時間ｋにおける各状態（ｍ=0〜3)の前方用確率α０，ｋ(m),α１，ｋ(m)を演算する。すなわち、各状態の前方用確率α０，ｋ(m),α１，ｋ(m)を時間(k-1)における各状態の前方用確率α０，ｋ−１(m),α１，ｋ−１(m)と移行確率より求める。
(2) また、Ｎ〜ｋの受信データ及びＮ〜ｋのパスを用いて時間ｋにおける各状態（ｍ=0〜3)の後方用確率βｋ(m)を演算する。すなわち、各状態の後方用確率βｋ(m)を、時間(k+ 1)の各状態における後方用確率βｋ＋１(m)と移行確率を用いて演算する。
(3)ついで、時間ｋにおけるこれら各状態の前方用確率及び後方用確率を乗算し、乗算結果(結合確率)
λ０，ｋ(m)＝α０，ｋ(m)・βｋ(m),
λ１，ｋ(m)＝α１，ｋ(m)・βｋ(m)
を得る。
(4)しかる後、各状態における"0"の確率の総和Σｍλ０，ｋ(m)と"1"の確率の総和Σｍλ１，ｋ(m)を求め、その大小により第ｋ番目の原データｕｋが１である確率と０である確率を計算し、確率の大きい方を第ｋ番目の復号データとして出力すると共に、尤度を出力するもので、復号結果は軟判定出力である。
【００１０】
(d) 従来の第１のMAP復号方法
(d-1)MAP復号器の全体の構成
図１４は従来の第１のMAP復号方法を実現するMAP復号器の構成図(たとえば特許文献2参照)、で、符号化レートＲ、情報長Ｎ、原情報ｕ、符号化データｘａ，ｘｂ、受信データyａ，yｂの緒元は、
・符号化レート:R=1/2
・情報長:N
・原情報:u={u1,u2,u3,..,uＮ}
・符号化データ:xａ={xａ１,xａ２,xａ３, ...,xａｋ,...,xａＮ}
:xｂ={xｂ１,xｂ２,xｂ３,...,xｂｋ,...,xｂＮ}
・受信データ  :yａ={yａ１,yａ２,yａ３,...,yａｋ,....,yａＮ}
:yｂ={yｂ１,yｂ２,yｂ３,...,yｂｋ,....,yｂＮ}
である。すなわち、情報長Ｎの原情報ｕより符号化データｘａ，ｘｂを生成し、受信時に符号化データに誤りが挿入されてデータyａ，yｂが受信され、この受信データより原情報ｕを復号するものとする。
【００１１】
移行確率演算部１は時間ｋにおいて(yａｋ,yｂｋ)を受信すれば、
(xａｋ,xｂｋ)が(0,0)である確率γ０，ｋ
(xａｋ,xｂｋ)が(0,1)である確率γ１，ｋ
(xａｋ,xｂｋ)が(1,0)である確率γ２，ｋ
(xａｋ,xｂｋ)が(1,1)である確率γ３，ｋ
をそれぞれ演算して、メモリ２へ保存する。
前方用確率演算部３は、1つ前の時間(k-1)の各状態ｍ(=0〜3)において、原データuｋ−１が”1”である前方用確率α１,ｋ−１(m)と原データuｋ−１が”0”である前方用確率α０,ｋ−１(m)と、前記求めた時間ｋにおける移行確率γ０，ｋ，γ１，ｋ，γ２，ｋ，γ３，ｋとを用いて、時間ｋにおいて原データuｋが”１”である前方用確率α１,ｋ(m)と原データuｋが”0”である前方用確率α０,ｋ(m)を演算してメモリ４ａ〜４ｄに記憶する。なお、必ず状態ｍ=0から始まるから、前方用確率の初期値α０,０(0)=α１,０(0)=1、α０,０(m)=α１,０(m)=0(但し、m≠0)である。
【００１２】
移行確率演算部１及び前方用確率演算部３は、k=k+1として上記演算を繰り返し、k=1からk=Nまで演算を行って、ｋ＝１〜Ｎの各時間における移行確率γ０，ｋ，γ１，ｋ，γ２，ｋ，γ３，ｋと前方用確率α１,ｋ(m)，α０,ｋ(m)を演算してメモリ２，４ａ〜４ｄにそれぞれ記憶する。
しかる後、後方用確率演算部５は、時間(k+1)の後方用確率βｋ＋１(m)と移行確率 γｓ，ｋ＋１(s=0,1,2,3)を使用して時間kの各状態ｍ（=0〜3)における後方用確率βｋ(m)(m=0〜3)を演算する。ただし、kの初期値はN-1であり、トレリス終結状態ｍ=0とし、βＮ(0)=1、βＮ(1)=βＮ(2)=βＮ(3)=0とする。
【００１３】
結合確率演算部６の第１の演算部６ａは時間ｋの各状態ｍ(=0〜3)における前方用確率α１，ｋ(m)と後方用確率βｋ(m)とを掛け合わせてｋ番目の原データuｋが"1"である確率λ１，ｋ(m)を演算し、第２の演算部６ｂは時間kの各状態ｍ(=0〜3)における前方用確率α０，ｋ(m)と後方用確率βｋ(m)とを用いて原データuｋが"0"である確率λ０，ｋ(m)を演算する。
ｕｋ及びｕｋ尤度演算部７は時間ｋの各状態ｍ（=0〜3)における"1"である確率λ１，ｋ(m)(m=0〜3)を加算すると共に、時間ｋの各状態ｍ(=0〜3)における"0"である確率λ０，ｋ(m)(m=0〜3)を加算し、加算結果、Σｍλ１，ｋ(m)とΣｍλ０，ｋ(m)の大小に基づいてｋ番目のデータｕｋの"1","0"を決定すると共にその信頼度（尤度）Ｌ(uｋ)を演算して出力する。
以後、後方用確率演算部５、結合確率演算部６、ｕｋ及びｕｋ尤度演算部７はk=k-1として上記演算を繰り返し、k=Nからk=1まで演算を行って、ｋ=1〜Nの各時間における原データｕｋの"1","0"を決定すると共にその信頼度（尤度）Ｌ(uｋ)を演算して出力する。
【００１４】
(d-2) 前方用確率演算
時間ｋの各状態(m=0,1,2,3)において、復号データｕＫがｉ（"0"または"1"）となる前方用確率αｉｋ(m)は、
(1)時間(k-1)の各状態における前方用確率αｉｋ−１(m)と、
(2)時間(k-1)の状態ｍ′(=0〜3)から時間ｋにおける状態ｍ(=0〜3)に遷移する遷移確率γｉ(Rｋ,m′,m)とに基づいて次式
αｉｋ(m)＝Σｍ′Σｊγｉ(Rｋ,m′,m)・αｉｋ-１(m′)/
ΣｍΣｍ′ΣｉΣｊγｉ(Rｋ,m′,m)・αｉｋ-１(m′)    (1)
により求まる。ここで、遷移確率γｉ(Rｋ,m′,m)は、時間(k-1)の状態ｍ′(=0〜3)と時間ｋにおける状態ｍ(=0〜3)間のトレリス及び時間ｋにおける受信データｙa，ｙbに基づいて求まるものである。尚、上式において分母はｕｋ及びｕｋ尤度演算における割算で除去される部分であるため演算する必要がない。
【００１５】
(d-3) 後方用確率演算
時間ｋの各状態(m=0,1,2,3)において、各状態の後方用確率βｋ(m)は、
(1) 時間(k+1)の各状態における後方用確率βｋ＋１(m)と、
(2) 時間ｋの状態ｍ(=0〜3)から時間(ｋ+1)における状態ｍ′(=0〜3)に遷移する遷移確率γｉ(Rｋ＋１,m,m′)に基づいて次式
βｋ(m)＝Σｍ′Σｉγｉ(Rｋ＋１，m,m′)・βｋ＋１(m′)/
ΣｍΣｍ′ΣｉΣｊγｉ(Rｋ,m,m′)・αｉｋ(m)     (2)
により求まる。ここで、遷移確率γｉ(Rｋ＋１,m,m′)は、時間ｋの状態ｍ(=0〜3)と時間(ｋ+1)における状態ｍ′(=0〜3)間のトレリス及び時間ｋ+1における受信データｙa，ｙbに基づいて求まるものである。尚、上式において分母は尤度演算における割算で除去される部分であるため演算する必要がない。
【００１６】
(d-4) 結合確率、尤度演算
時間ｋにおける各状態の前方用確率α０，ｋ(m)，α１，ｋ(m)及び後方用確率βｋ(m)が求まれば、これらを乗算して結合確率
λ０ｋ(m)＝α０ｋ(m)・βｋ(m),
λ１ｋ(m)＝α１ｋ(m)・βｋ(m)
を演算する。しかる後、各状態における"1"の確率の総和Σｍλ０ｋ(m)と"0"の確率の総和Σｍλ１ｋ(m)を求め、次式
Ｌ(u)＝log［Σｍλ１ｋ(m)/Σｍλ０ｋ(m)］      (3)
により尤度を出力する。又、Ｌ(u)＞０であれば復号結果ｕｋ=１を、Ｌ(u)＜０であれば復号結果ｕｋ=０を出力する。すなわち、"1"の確率の総和Σｍλ０ｋ(m)と"0"の確率の総和Σｍλ１ｋ(m)の大小により第ｋ番目の原データｕｋが１である確率と０である確率を計算し、確率の大きい方を第ｋ番目の復号データとして出力する。
【００１７】
(ｄ-5)第１のMAP復号方法の問題点
図１４の従来の第１のMAP復号方法では使用するメモリが非常に多い問題がある。すなわち、移行確率記憶用に4×Nのメモリを、前方用確率記憶用にｍ（状態数）×2×Nのメモリを必要とし、合計(4+ｍ×2)×Nのメモリを必要とする。そして、実際の演算は軟判定信号を伴うからさらに8倍程度以上のメモリを必要とする。
【００１８】
(e) 従来の第２のMAP復号方法
そこで、メモリを削減するために、前方用確率演算と後方用確率演算の演算順を入替えて演算する方法が提案されている。図１５はかかるMAP復号方法を実現するMAP復号器の構成図であり、図１４と同一部分には同一符号を付している。入出力反転部８は受信データの出力順序を適宜反転するもので、全受信データを記憶するメモリと受信データを入力順と逆順にあるいは同順に出力するデータ出力部を備えている。復号法としてMAP復号方法を採用するターボ復号器では受信データをインタリーブする必要があるため全受信データを記憶するメモリが存在するから、上記入出力反転部８のメモリとして該インタリーブ用のメモリを兼用でき、メモリ負担はない。
移行確率演算部１は時間ｋ(=N)として受信データ(yａｋ,yｂｋ)を用いて、
(xａｋ,xｂｋ)が(0,0)である確率γ０，ｋ
(xａｋ,xｂｋ)が(0,1)である確率γ１，ｋ
(xａｋ,xｂｋ)が(1,0)である確率γ２，ｋ
(xａｋ,xｂｋ)が(1,1)である確率γ３，ｋ
をそれぞれ演算して、メモリ２へ保存する。
【００１９】
また、後方用確率演算部５は、時間k(=N)の後方用確率βｋ(m)と移行確率
γｓ，ｋ(s=0,1,2,3)を使用して時間k-1の各状態ｍ（=0〜3)における後方用確率βｋ−１(m)(m=0〜3)を演算してメモリ９に記憶する。
以後、移行確率演算部１及び後方用確率演算部５は、k=k-1として上記演算を繰り返し、k=Nからk=1まで演算を行って、ｋ＝1〜Nの各時間における移行確率   γ０，ｋ，γ１，ｋ，γ２，ｋ，γ３，ｋと後方確率βｋ(m)を演算してメモリ２，９に記憶する。
しかる後、前方用確率演算部３は、時間(k-1)において原データuｋ−１が”1”である前方用確率α１,ｋ−１(m)と原データuｋ−１が”0”である前方用確率
α０,ｋ−１(m)と、前記求めた時間ｋにおける移行確率γ０，ｋ，γ１，ｋ，γ２，ｋ，γ３，ｋとを用いて、時間ｋの各状態ｍ(=0〜3)においてｕｋが”１”である前方用確率  α１,ｋ(m)とｕｋが”0”である前方用確率α０,ｋ(m)を演算する。ただし、kの初期値は１である。
結合確率演算部６は時間kの各状態0〜3における前方用確率α１，ｋ(m)と後方用確率βｋ(m)とを掛け合わせてｋ番目の原データｕｋが"1"である確率λ１，ｋ(m)を演算し、同様に、時間kの各状態0〜3における前方用確率α０，ｋ(m)と後方用確率βｋ(m)とを用いて原データuｋが"0"である確率λ０，ｋ(m)を演算する。
【００２０】
ｕｋ及びｕｋ尤度演算部７は時間ｋにおける各状態0〜3の"1"である確率
λ１，ｋ(m)(m=0〜3)を加算すると共に、時間ｋにおける各状態0〜3の"0"である確率λ０，ｋ(m)(m=0〜3)を加算し、加算結果、Σｍλ１，ｋ(m)とΣｍλ０，ｋ(m)の大小に基づいてｋ番目のデータｕｋの"1","0"を決定すると共にその信頼度（尤度）Ｌ(uｋ)を演算して出力する。
以後、前方確率演算部３、結合確率演算部６、ｕｋ及びｕｋ尤度演算部７はk =k+1として上記演算を繰り返し、k=1からk=Nまで演算を行って、ｋ=1〜Nの各時間におけるｕｋの"1","0"を決定すると共にその信頼度（尤度）Ｌ(uｋ)を演算して出力する。
以上、第２のMAP復号方法では、図１６のタイムチャートに示すように、前半において移行確率演算、後方用確率演算及び演算結果のメモリへの記憶処理を行い、後半において前方用確率演算、結合確率演算、原データ及び尤度演算処理を行っている。すなわち、第２のMAP復号方法では、前方用確率α１,ｋ(m)，α０,ｋ(m)を記憶しないで、後方用確率βｋ(m)を記憶する。この結果、第２のMAP復号方法で必要とするメモリは、移行確率記憶用に4×N、後方用確率記憶用に状態数ｍ×Nを必要とするだけとなり、必要とするメモリは合計(4+ｍ)×Nとなり、図１４のMAP復号方法に比べ必要とするメモリ量を減少できる。
尚、移行確率記憶用のメモリ２は必ずしも必要でなく、その都度移行確率γｓ，ｋ(s=0,1,2,3)を計算して前方用確率α１,ｋ(m)，α０,ｋ(m)を演算するように構成できる。
【００２１】
(f)従来の第３のMAP復号方法
第2のMAP復号方法では後方用確率βｋ(m)を記憶するだけで良いため、メモリは比較的少なくなるが、後方用確率βｋ(m)を総て演算する必要があり、データ数をＮ、１ノードの計算処理に必要な時間をTnとすれば、2×Tn×Ｎの復号時間がかかる問題がある。
図１７は従来の第３のMAP復号方法の説明図であり、横軸にデータ１〜Ｎをとり、縦軸に実行時間をとっている。また、Ａは前方用確率あるいはその演算を示し、Ｂは後方用確率あるいはその演算を示し、Sはソフトデシジョン演算(結合確率、ｕｋ及びｕｋ尤度演算)を示している。
この方法では、後方用確率演算ＢをＮ−１からＮ／２まで計算しながら結果をメモリに蓄え、同時に前方用確率演算Ａを０からＮ／２まで計算しながら結果をメモリに蓄える。いま、１ノードの計算処理に必要な時間をTnとすると、これが終了するのは、Ｔn×Ｎ／２の時間がかかる。その後はＮ／２から０については、すでに前方用確率Ａは計算されているので後方用確率Ｂを計算しては尤度を算出し、Ｎ／２からＮ−１についてはすでに後方用確率Ｂは計算されているので、前方用確率Ａを計算しながら尤度を計算する。これらの処理を同時に並行して計算する。これにより、次のT n×Ｎ／２の時間で処理が完了することになる。すなわち、第３のMAP復号方法によれば、Tn×Ｎの時間で復号を行なえ、第2のMAP復号方法に比べ復号時間を短縮できる。しかし、前方用確率を保存しなければならない為、第2のMAP復号方法に比べ使用メモリ量が多くなる。
【００２２】
(g) 従来の第４のMAP復号方法
第２〜第3の方法は、復号時間、使用メモリ量の両方を解決することができない。そこで、復号時間を短縮し、かつ、使用メモリ量を少なくする為のメトリック計算アルゴリズムが提案されている。もっとも知られているアプローチはスライディングウインドウ方式（Sliding window方式：以下ＳＷ方式)と呼ばれるものであり、Viterbiにより実際的な方法が示されている(たとえば、非特許文献１参照)。
【００２３】
図１８はＳＷ方式を用いた従来の第4のMAP復号方法を説明する為の演算シーケンス説明図であり、Ｂ演算は後方用確率演算（移行確率演算を含む）を意味し、Ａ演算は前方用確率演算（移行確率演算を含む）を意味し、Ｓ演算はソフトデシジョン演算(結合確率演算／尤度演算)を意味している。
SW方式では、ｋ＝1〜NをＬづつ等分割し、以下のようにMAP復号を行う。
まず、(1) Ｂ演算をｋ=2Ｌ〜ｋ=1まで行う。このＢ演算において、ｋ=Nより後方用確率βｋ(m)を演算せず、途中のｋ=2Lの位置から演算を開始する。このため、前半のｋ=2Ｌ〜k=Ｌ+1の間(トレーニング期間)に求まる後方用確率βｋ(m)は信用できないから捨て、後半のk=Ｌ〜k=1の間に求まる後方用確率βｋ(m)はある程度信用できるから、メモリに記憶する。(2) ついで、k=1におけるＡ演算を行い、k=1のＡ演算結果α１,１(m)，α０,１(m)とメモリに記憶されているβ１(m)を用いてＳ演算を行い、結合確率に基づいて複後結果ｕ１、尤度Ｌ（ｕ１）を演算する。以後、同様にk=2〜k=ＬまでＡ演算を行い、該Ａ演算結果とメモリのＢ演算結果によりＳ演算を行う。以上により、k=1〜k=Ｌまでの復号結果ｕｋ、尤度Ｌ（ｕｋ）の演算が終了する。
【００２４】
ついで、(3) Ｂ演算をｋ=3Ｌ〜ｋ=Ｌ+1まで行う。このＢ演算において、ｋ=Nより後方用確率βｋ(m)を演算せず、途中のｋ=3Ｌの位置から演算を開始するため、前半のｋ=3Ｌ〜k=2Ｌ+1の間(トレーニング期間)に求まる後方用確率βｋ(m)は信用できないから捨て、後半のk=2Ｌ〜k=Ｌ+1の間に求まる後方用確率βｋ(m)はある程度信用できから、メモリに記憶する。(4) ついで、k=Ｌ+1におけるＡ演算を行い、k=Ｌ+1のＡ演算結果α１,Ｌ＋１(m)，α０,Ｌ＋１(m)とメモリに記憶されているβＬ＋１(m)を用いてＳ演算を行い、結合確率に基づいて復号結果ｕＬ＋１、尤度Ｌ（ｕＬ＋１）を演算する。以後、同様に、k=Ｌ+2〜k=2ＬまでＡ演算を行い、該Ａ演算結果とメモリのＢ演算結果によりＳ演算を行う。以上により、k=Ｌ+1〜k =2Ｌまでの復号結果ｕｋ、尤度Ｌ（ｕｋ）の演算が終了する。以後、同様にして、k=Nまでの復号結果ｕｋ、尤度Ｌ（ｕｋ）の演算を行なう。
【００２５】
なお、以上の第３のMAP復号方法では、2ＬのＢ演算後にＬのＡ演算を行うため、タイムチャート的に図１９の（ａ）に示すようになる。しかし、これではＡ演算が断続するため演算時間がかかる。そこで、図１９の（ｂ）に示すように2台の後方用確率演算手段を用いて、Ｂ演算の前半と後半を同時に行うことにより、Ａ演算を連続的に行なえるようにして演算速度を向上させている。なお、図２０は後述する本発明と同じ表現形式を有するタイムチャートであり、図１９の(b)と同一の内容を示しており、横軸は入力データ、縦軸は処理実行時間である。
このSW方式のMAP復号方法によれば、１個の前方用確率演算部、２個の後方用確率演算部、１個のソフトデシジョン演算部を設け、これらを並行的に動作させることにより（Ｎ＋２Ｌ）×Ｔn程度の時間で１ブロック分の軟判定処理ループを終えることができる。また、必要なメモリ量は後方用確率の２Ｌノード分だけでよいことになる。
【特許文献１】米国特許番号5,446,747号明細書
【特許文献２】日本特許番号3451246号公報
【非特許文献１】IEEE JOUNAL ON SELECTED AREAS IN COMMUNICATIONS. VOL.16, NO.2, FEBURUARY 1998, "An Intuitive Justification and a Simplified Implementation of  the MAP Docoder for Convolution Codes" Andrew J. Viterbi
【発明の開示】
【発明が解決しようとする課題】
【００２６】
ところで、SW方式では、後方用確率βｋ(m)をk=Nから演算せず、同一の初期値を設定して途中から演算しているため、後方用確率βｋ(m)が正確でない。このため、ＳＷ方式においてよい特性を得るためには十分なトレーニング期間TＬを設ける必要がある。このトレーニング部の長さは、通常、拘束長の４〜５倍以上必要である。
パンクチャリングを用いて符号化率を高くすると、トレーニング部においてパンクチャリングされたビットはメトリック値の計算に使用できなくなるため、拘束長の４〜５倍程度のトレーニング長でも十分でなくなり、特性の劣化が生じる。特性を維持するためにはトレーニング部の長さを更に増やす必要があり、復号に要する計算量およびメモリ量の増加となる問題がある。
以上から本発明の目的は使用メモリを削減でき、しかも、トレーニング部を実質的に長くでき、後方用確率βｋ(m)を正確に計算してMAP復号の精度を向上することである。
【課題を解決するための手段】
【００２７】
本発明はスライディングウィンドウ(SW)法を用いた復号処理を繰り返し行なう最大事後確率復号方法(MAP復号方法)および装置である。スライディングウィンドウ(SW)法は、長さＮの符号化データを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう。
【００２８】
スライディングウィンドウ(SW)法を用いた復号処理を繰り返し行なう最大事後確率復号において、本発明の基本は、今回のMAP復号処理の途中で計算された初期位置における前方用確率および又は後方用確率を次回のMAP復号における前方用確率および又は後方用確率の初期値として保存しておく。そして、次回のMAP復号処理において保存してある初期値より前方用確率および又は後方用確率の計算を開始する。
第１の最大事後確率復号では、今回の各ブロックの復号処理において求まる他ブロックの後方用確率演算開始点（初期位置）における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存し、次回の復号処理において前記保存してある初期値より各ブロックの後方用確率の計算を開始する。
第2の最大事後確率復号では、今回の各ブロックの復号処理において求まる他ブロックの開始点における後方用確率を、次回の復号処理における該他ブロックの後方用確率の初期値として保存し、次回の各ブロックの復号処理において前記保存してある初期値を用いて該ブロックの開始点よりトレーニングすることなく後方用確率の計算を開始する。
【００２９】
第３の最大事後確率復号では、(1)長さＮの符号化データを所定長Ｌづつのブロックに分割し、各ブロックより後方のデータ位置(後方用確率初期位置)から後方用確率を演算して該ブロックの後方用確率を求めて保存する処理を全ブロック同時に並列的に行い、(2)各ブロックの前方用確率を演算するに際して該ブロックより前方のデータ位置(前方用確率初期位置)から前方用確率を演算して該ブロックの前方用確率を求める処理を全ブロック同時に並列的に行い、(3)各ブロックの前記前方用確率と前記保存してある各ブロックの後方用確率とを用いて各ブロックにおけるデータの復号処理を同時に並列的に行ない、(4)今回の各ブロックの復号処理において求まる他ブロックの前記後方用確率初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存し、(5)今回の各ブロックの復号処理において求まる他ブロックの前記前方用確率初期位置における前方用確率を次回の復号処理における該他ブロックの前方用確率の初期値として保存し、(6)次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率および前方用確率の計算を並列的に開始する。
【発明の効果】
【００３０】
本発明によれば、トレーニング部の長さを短くしても、たとえば、トレーニング部の長さを拘束長の４〜５倍以下にしても、またはトレーニング部を無くしてしまっても、実質的にトレーニング期間を確保することができ、高符号化率における特性の劣化を防ぐことができる。また、ターボ復号器の計算量およびメモリ量を削減することもできる。
本発明の第1の最大事後確率復号によれば、第２回目の復号処理以降は、初期値を0とした場合に比べ、トレーニング済みの後方用確率を初期値として設定するため、使用メモリは若干増えるが、実質的なトレーニング長が伸びて精度良好に後方用確率を演算でき、特性の劣化を防ぐことができる。
本発明の第２の最大事後確率復号によれば、第２回目の復号処理以降は、初期値を0とした場合に比べ、トレーニング済みの後方用確率を初期値として設定するため、使用メモリは若干増えるが、実質的なトレーニング長が伸びて精度良好に後方用確率を演算でき、特性の劣化を防ぐことができる。また、トレーニング部の演算量を削減することができ、復号処理に要する時間を短縮することができる。
本発明の第３の最大事後確率復号によれば、各サブブロックのメトリック計算において、前方用確率、後方用確率共にトレーニングデータを用いて計算を行うことにより、各サブブロックを全て並列に処理することができるため、高速なMAP復号が可能となる。また、２回目以降の復号処理においては、前方用確率、後方用確率の各演算における初期値として、１回前に演算して記憶しておいた前方用確率、後方用確率をそれぞれ用いるため精度の高い復号処理ができる。
【発明を実施するための最良の形態】
【００３１】
（A）ターボ符号
MAP復号方法はターボ符号において大きな効果を発揮する。図１はターボ符号器及びターボ復号器を含む通信システムの構成図であり、１１はデータ送信側に設けられたターボ符号器、１２はデータ受信側に設けられたターボ復号器、，１３はデータ通信路である。又、ｕは伝送する長さNの情報データ、ｘa，ｘb，ｘcはターボ符号器１１で情報データｕを符号化した符号化データ、ｙa，ｙb，ｙcは符号化データｘa，ｘb，ｘｃが通信路１３を伝搬し、雑音やフェージングの影響を受けた受信信号、ｕ′はターボ復号器１２で受信データｙa，ｙb，ｙcを復号した復号結果であり、それぞれ以下のように表現される。
原データ    ： ｕ={u1,u2,u3,..,uＮ}
符号化データ：ｘa={xａ１,xａ２,xａ３,...,xａｋ,...,xａＮ}
：ｘb={xｂ１,xｂ２,xｂ３,...,xｂｋ,...,xｂＮ}
：ｘc={xｃ１,xｃ２,xｃ３,...,xｃｋ,...,xｃＮ}
受信データ  ：ｙa={yａ１,yａ２,yａ３,...,yａｋ,...,yａＮ}
：ｙb={yｂ１,yｂ２,yｂ３,...,yｂｋ,...,yｂＮ}
：ｙc={yｃ１,yｃ２,yｃ３,...,yｃｋ,...,yｃＮ}
ターボ符号器１１は情報長Ｎの情報データｕを符号化して符号化データｘa，ｘb，ｘcを出力する。符号化データｘaは情報データｕそのものであり、符号化データｘbは情報データｕを符号器ENC1で畳み込み符号化したデータ、符号化データｘcは情報データｕをインタリーブ（π）して符号器ENC2で畳み込み符号化したデータである。すなわち、ターボ符号は、畳み込みを２つ用いて合成したものである。ただし、インタリーブ出力ｘa′は符号化データｘaと順番が異なるだけであるため出力しない。
【００３２】
図２はターボ復号器の構成図である。ターボ復号は、受信信号ｙa，ｙb，ｙcのうち、まずｙaとｙbを使って、第１の要素復号器DEC1で復号を行う。要素復号器DEC1は軟出力要素復号器であり、復号結果の尤度を出力する。次に、第１の要素復号器DEC1から出力された尤度とｙcを用いて第２の要素復号器DEC2で同様の復号を行う。すなわち、第２の要素復号器DEC2も軟出力要素復号器であり、復号結果の尤度を出力する。ｙcは原データｕをインタリーブしたものを符号化したｘcに対応する受信信号なので、第１の要素復号器DEC1から出力される尤度は第２の要素復号器DEC2に入力する前にインタリーブ（π）する。第２の要素復号器DEC2から出力された尤度はデインタリーブ（π−１）された後、第１の要素復号器DEC1への入力としてフィードバックされる。また、ｕ′は第２の要素復号器DEC2のデインタリーブ結果を"0","1"判定した復号データ(復号結果)である。以後、上記の復号操作を所定回数繰り返し行うことにより、誤り率が低減する。
かかるターボ要素復号器におけ第１、第２の要素復号器DEC1,DEC2としてMAP要素復号器を使用することができる。
【実施例１】
【００３３】
図３はMAP要素復号器に適用できる第1実施例の最大事後確率復号方法のタイムチャートである。
第1実施例では、第１回目の復号処理（図３の上段)において従来のＳＷ方式と同じ処理を行なう。すなわち、L〜０のブロックBL1，２L〜LのブロックBL2，３L〜2LのブロックBL3，４L〜3LのブロックBL4，５L〜4LのブロックBL5．．．．の各ブロックにおける後方用確率を各ブロックより後方のデータ位置(初期位置) から、所定の値を初期値として順に演算して該ブロックの開始点における後方用確率を求める（後方用確率のトレーニング）。例えば、各ブロックより後方のデータ位置２Ｌ，３Ｌ，４Ｌ，５Ｌ，６Ｌ，．．．から、後方用確率を順にトレーニング演算して各ブロックの開始点Ｌ，２Ｌ，３Ｌ，４Ｌ，５Ｌ，．．．における後方用確率を求める。トレーニング後、該ブロック開始点の後方用確率より各ブロックBL1,BL2,BL3,・フ後方用確率を演算して保存する。そして、全後方用確率演算後に前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行なう。なお、タイムチャートから明らかなように、第1ブロック、第2ブロック、第3ブロック，．．．．の順番に各ブロックの復号処理を行なう。
【００３４】
このＳＷ方式による第１回目の復号処理（図３の上段)において、各ブロックの最終データ位置０，Ｌ，2L，3L，4L，．．．．．の後方用確率β０，βL，β2L，β3L，β4L，．．．値を次回の後方用確率の初期値として記憶する（実際にはβ０，βLは用いない）。
そして、第２回目の復号処理（図３の下段)において前記保存してある後方用確率β2L，β3L，β4L，．．を初期値として用いて、トレーニング後、L〜０のブロックBL1，２L〜LのブロックBL2，３L〜2LのブロックBL3，４L〜3LのブロックBL4，５L〜4LのブロックBL5．．．．の各ブロックにおける後方用確率を演算する。なお、第２回目の復号処理において、各ブロックにおける最終データ位置０，Ｌ，2L，3L，4L，．．．．．の後方用確率β０′，βL′，β2L′，β3L′，β4L′，．．．値を次回の後方用確率の初期値として記憶する。
以上では、各ブロックの最終データ位置０，Ｌ，2L，3L，4L，．．．．．の後方用確率β０，βL，β2L，β3L，β4L，．．．値を次回の後方用確率の初期値として記憶したが、中間位置における後方用確率β０′′，βL′′，β2L′′，β3L′′，β4L′′，．．．値を次回の後方用確率の初期値として記憶することもできる。
【００３５】
図4は第1実施例の最大事後確率復号装置の構成図である。なお、各部の処理、演算はタイミング制御部２０からのタイミング信号に基づいて制御される。
入力データ処理部２１は図示しないメモリに保存されている受信データの必要な部分を取り出して移行確率演算部２２に入力し、移行確率演算部22は入力データの移行確率を演算して適宜第1、第2後方用確率演算部２３、２４および前方用確率演算部２５に入力する。
第1後方用確率演算部２３は図3の奇数番目のブロックBL1,BL3,BL5,・iL~0,3L~2L,5L~4L,・jにおける後方用確率のトレーニング演算を初期位置（2L，4L，6L，．．．）から開始し、該ブロックの後方用確率をβ保存部２６に保存し、また、各ブロックの最終データ位置（０，2L，4L，．．．）の後方用確率（β０，β2L，β4L，．．．）値を次回の後方用確率の初期値としてβ初期値保存部２７に記憶する。なお、第(j+2)ブロックの最後の後方用確率βjLを、次回の復号処理における第ｊブロックの後方用確率の初期値として使用する。ただし、ｊは奇数である。
【００３６】
第２後方用確率演算部２４は図3の偶数番目のブロックBL2,BL4,BL6,・i2L~L,4L~3L,6L~5L,・jにおける後方用確率のトレーニング演算を初期位置(3L,5L,7L,・から開始し、該ブロックの後方用確率をβ保存部２８に保存し、また、各ブロックの最終データ位置（L，3L，5L，．．．．）の後方用確率（βL，β3L，β5L，．．．）値を次回の後方用確率の初期値としてβ初期値保存部２７に記憶する。なお、第(j+2)ブロックの最後の後方用確率βjLを、次回の復号処理における第ｊブロックの後方用確率の初期値として使用する。ただし、ｊは偶数である。
前方用確率演算部２５は各ブロックの前方用確率を連続的に計算する。選択部２９は適宜β保存部26,28に保存されている後方用確率を選択して出力し、結合確率演算部30は結合確率を演算し、ｕｋ及びｕｋ尤度演算部３１はデータｕｋの"1"，"0"を決定すると共にその信頼度（尤度）Ｌ(uｋ)を演算して出力する。
β初期値設定部３２は1~N個の全データに対する第1回目の復号処理が終了すれば、次の復号処理に際して、第1、第2の後方用確率演算部２３、２４が各ブロックの後方用確率を演算するに際してβの初期値をβ初期値保存部27から読み出してこれら各後方用確率演算部２３、２４に設定する。
【００３７】
各部は図3のタイムチャートに従って、タイミング制御部20からのタイミング信号に基づいて周知のスライディングウインドウ方式と同様のタイミング(図19、図20)で復号処理をブロック毎に順番に実行する
第1実施例によれば、第２回目の復号処理以降は、一定値を初期値をとした場合に比べ、トレーニング済みの後方用確率β０，βL，β2L，β3L，β4L，．．．を初期値として設定するため、使用メモリは若干増えるが、実質的なトレーニング長が3倍に伸びて精度良好に後方用確率を演算でき、特性の劣化を防ぐことができる。
【実施例２】
【００３８】
図５は第２実施例の最大事後確率復号方法のタイムチャートである。
第２実施例では、第１回目の復号処理（図５の上段)において従来のＳＷ方式と同じ処理を行なう。すなわち、L〜０のブロックBL1，２L〜LのブロックBL2，３L〜2LのブロックBL3，４L〜3LのブロックBL4，５L〜4LのブロックBL5．．．．の各ブロックにおける後方用確率を各ブロックより後方のデータ位置(初期位置) から、一定値を初期値として順に演算して該ブロックの開始点における後方用確率を求める（後方用確率のトレーニング）。例えば、各ブロックより後方のデータ位置２Ｌ，３Ｌ，４Ｌ，５Ｌ，６Ｌ，．．．から、後方用確率を順にトレーニング演算して各ブロックの開始点Ｌ，２Ｌ，３Ｌ，４Ｌ，５Ｌ，．．．における後方用確率を求める。トレーニング後、該ブロックの開始点の後方用確率より各ブロックBL1,BL2,BL3,・フ後方用確率を演算して保存する。そして、全後方用確率演算後に前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行なう。なお、タイムチャートから明らかなように、第1ブロック、第2ブロック、第3ブロック，．．．．の順番に各ブロックの復号処理を行なう。
【００３９】
このＳＷ方式による第１回目の復号処理（図５の上段)において、各ブロックの最終データ位置０，Ｌ，2L，3L，4L，．．．．．の後方用確率β０，βL，β2L，β3L，β4L，．．．値を次回の後方用確率の初期値として記憶する（実際にはβ０は用いない）。
そして、第２回目の復号処理（図５の下段)において前記保存してある後方用確率βL，β2L，β3L，β4L，．．を初期値として用いて、トレーニングすること無しにL〜０のブロックBL1，２L〜LのブロックBL2，３L〜2LのブロックBL3，４L〜3LのブロックBL4，５L〜4LのブロックBL5．．．．の各ブロックにおける後方用確率を直接演算する。なお、第２回目の復号処理において、各ブロックにおける最終データ位置０，Ｌ，2L，3L，4L，．．．．．の後方用確率β０′，βL′，β2L′，β3L′，β4L′，．．．値を次回の後方用確率の初期値として記憶する。
以上では、各ブロックの最終データ位置０，Ｌ，2L，3L，4L，．．．．．の後方用確率β０，βL，β2L，β3L，β4L，．．．値を次回の後方用確率の初期値として記憶したが、中間位置における後方用確率β０′′，βL′′，β2L′′，β3L′′，β4L′′，．．．値を次回の後方用確率の初期値として記憶することもできる。
【００４０】
第2実施例の最大事後確率復号装置は図４の第1実施例の構成と同じであり、図５のタイムチャートに従って、タイミング制御部20からのタイミング信号に基づいて周知のスライディングウインドウ方式と同様のタイミング(図19、図20)で復号処理をブロック毎に順番に実行する
第2実施例によれば、第２回目の復号処理以降は、初期値を一定値とした場合に比べ、トレーニング済みの後方用確率を初期値として設定するため、使用メモリは若干増えるが、実質的なトレーニング長が伸びて精度良好に後方用確率を演算でき、特性の劣化を防ぐことができる。また、第1実施例に比べてトレーニング部の演算量を削減することができ、復号処理に要する時間を短縮することができる。また、トレーニング部の演算量を削減することができるが、トレーニング長は従来のSW方式の2倍であり、精度良好に後方用確率を演算でき、特性の劣化を防ぐことができる。
【実施例３】
【００４１】
図６は第３実施例の最大事後確率復号方法のタイムチャートである。
第３実施例では、前提として１符号化ブロックの全入力受信データが読み込まれてメモリに格納されているものとする。また、L〜０のブロックBL1，２L〜LのブロックBL2，3L〜2LのブロックBL3，4L〜3LのブロックBL4，5L〜4LのブロックBL5．．．．毎に後方用確率演算手段、前方用確率演算手段、ソフトデシジョン演算手段が設けられているものとする。第3実施例は、(1)ブロック毎に並列的にスライディングウインドウ方式の復号処理を行なう点、(2)各ブロックの前方用確率演算手段がトレーニング演算を実行して前方用確率を演算する点、(3) 前回の演算過程で得られた後方用確率および前方用確率を次回演算の初期値として保存する点、(4)次回演算において保存してある後方用確率および前方用確率を初期値として演算を行なう点、に特徴がある。なお、(1)〜(2)のブロック毎に並列的に復号処理する点も新規である。
【００４２】
第3実施例において、各ブロックの復号処理を並列的に行なう(図６の上段)。すなわち、各ブロックの後方用確率演算手段は、L〜０のブロックBL1，２L〜LのブロックBL2，３L〜2LのブロックBL3，４L〜3LのブロックBL4，５L〜4LのブロックBL5．．．．の各ブロックにおける後方用確率を各ブロックより後方のデータ位置(初期位置) から、一定値を初期値として順に並列的に演算して各ブロックの開始点における後方用確率を求める（後方用確率のトレーニング）。例えば、各ブロックより後方のデータ位置２Ｌ，３Ｌ，４Ｌ，５Ｌ，６Ｌ，．．．から、後方用確率を順に並列的にトレーニング演算して各ブロックの開始点Ｌ，２Ｌ，３Ｌ，４Ｌ，５Ｌ，．．．における後方用確率を求める。しかる後、該ブロック開始点の後方用確率を用いて各ブロックの後方用確率を並列演算して保存する。なお、各ブロックの最終データ位置０，Ｌ，2L，3L，4L，．．．．．の後方用確率β０，βL，β2L，β3L，β4L，．．．値を次回の後方用確率の初期値として記憶する（実際にはβ０，βLは用いない）。すなわち、第(j+2)ブロックの最後の後方用確率βjLを、次回の復号処理における第ｊブロックの後方用確率の初期値として保存する。
【００４３】
以上と並行して、各ブロックの前方用確率演算手段は、０〜LのブロックBL1，L〜2LのブロックBL2，2L〜3LのブロックBL3，3L〜4LのブロックBL4，4L〜5LのブロックBL5．．．．の各ブロックにおける前方用確率を各ブロックより前方のデータ位置(初期位置) から、一定値を初期値として順に並列的に演算して各ブロックの開始点における前方用確率を求める（前方用確率のトレーニング。ただし、ブロックBL1ではトレーニングしない）。例えば、各ブロックBL2,BL3,BL4,BL5,・謔闡O方のデータ位置０，Ｌ，２Ｌ，３Ｌ，４Ｌ，．．．から前方用確率を並列的にトレーニング演算して各ブロックの前方確率を並列演算し、該前方用確率と前記保存してある後方用確率を用いて前記各ブロックのデータの復号処理を並列的に行なう。
また、０〜LのブロックBL1，L〜2LのブロックBL2，2L〜3LのブロックBL3，3L〜4LのサブブロックBL4，4L〜5LのブロックBL5．．．．の各ブロックにおける最終データＬ，2L，3L，4L，5L,．．．．．の前方用確率αL，α2L，α3L，α4L，α5L，．．．値を次回の前方用確率の初期値として記憶する。すなわち、第ｊブロックの最後の前方用確率αjLを、次回の復号処理における第（j+2）ブロックの前方用確率の初期値として保存する。
【００４４】
そして、第２回目の復号処理において(図６の下段)、各ブロックの演算部は、前記保存してある後方用確率β2L，β3L，β4L，．．を初期値として用いてトレーニングを行なって後、L〜０のブロックBL1，2L〜LのブロックBL2，3L〜2LのブロックBL3，4L〜3LのブロックBL4，．．．の後方用確率を演算し、同様に前記保存してある前方用確率αL，α2L，α3L，α4L，．．．初期値として用いてトレーニングを行なって後、０〜LのブロックBL1，L〜2LのブロックBL2，２L〜3LのブロックBL3，3L〜4LのブロックBL4．．．．の前方用確率を演算すると共にソフトデシジョン演算を行なう。
なお、第２回目の復号処理において、各ブロックにおける最終データ０，Ｌ，2L，3L，4L，．．．．．の後方用確率β０′，βL′，β2L′，β3L′，β4L′，．．．値を次回の後方用確率の初期値として記憶し、また、各ブロックにおける最終データＬ，2L，3L，4L，．．．．．の前方用確率αL′，α2L′，α3L′，α4L′，．．．値を次回の前方用確率の初期値として記憶する。
【００４５】
図7は第3実施例の最大事後確率復号装置の構成図であり、入力データ処理部４１は図示しないメモリに保存されているN個の符号化データの必要なデータ部分を取り出して第jブロック（ｊ＝１，２，３．．．）対応に設けられた各復号処理部421，422，423，424，．．．に入力する。
各復号処理部421，422，423，424，．．．は同一の構成になっており、移行確率演算部51、後方用確率演算部52、前方用確率演算部53、β保存部54、結合確率演算部55、ｕｋ及びｕｋ尤度演算部56を備えている。
第ｊブロックの第ｊ復号処理部42ｊの前方確率演算部５３は、第jブロックの最終データjＬに応じた前方用確率αjLを図示しない記憶部に保存し、次回の前方用確率演算の初期値として第(j+2)復号処理部42j+2の前方確率演算部５３に入力する。
又、第(j+2)ブロックの第(j+2)復号処理部42ｊ+2の後方確率演算部５2は、第(j+2)ブロックの最終データ(j+1)Ｌに応じた後方用確率β(ｊ+1)Lを図示しない記憶部に保存し、次回の前方用確率演算の初期値として第j復号処理部42jの後方確率演算部５２に入力する。
【００４６】
第３実施例の最大事後確率復号装置は図６のタイムチャートに従って各ブロック並列的に復号処理を実行すると共に、演算過程で得られた後方用確率および前方用確率を次回演算の初期値として保存し、次回演算において該保存してある後方用確率および前方用確率を初期値として用いる。
以上、第３実施例では、各サブブロックのメトリック計算において、前方用確率、後方用確率共にトレーニングデータを用いて計算を行うことにより、各サブブロックを全て並列に処理することができる。このため、高速なMAP復号が可能となる。また、２回目以降の復号処理においては、前方用確率、後方用確率の各演算における初期値として、１回前に演算して記憶しておいた前方用確率、後方用確率をそれぞれ用いるため精度の高い復号処理ができる。
【実施例４】
【００４７】
図８は本発明を適用できるターボ復号のシーケンス説明図である。
ターボ復号は図２より明らかなようにｙa，ｙbを用いる前半の復号と、ｙa，ｙcを用いる後半の復号を一組にして複数回繰り返す。
外部情報尤度算出部EPC１は、第１回目のMAP復号の前半において出力する事後確率Ｌ(u1)とMAP復号器入力信号ｙaを用いて外部情報尤度Ｌe(u1)を出力する。この外部情報尤度Ｌe(u)にインタリーブを施し、次の後半のMAP復号に用いる事前尤度Ｌ(u2’)として出力する。
ターボ復号では第２回目以降のMAP復号において、（信号ｙa+事前尤度Ｌ(u3’))を入力信号ｙaとして使用する。従って、外部情報尤度算出部EPC2は第１回目のMAP復号の後半において、要素復号器DEC2より出力する事後確率Ｌ(u2)と復号器入力信号(=信号ｙa+事前尤度Ｌ(u2’))を用いて次のMAP復号に用いる外部情報尤度Ｌe(u2)を出力する。この外部情報尤度Ｌe(u2)にデインタリーブを施し、次のMAP復号に用いる事前尤度Ｌ(u3’)として出力する。
【００４８】
以後、同様にして、第2回目の前半において外部情報尤度算出部EPC１は外部情報尤度Ｌe(u3)を出力し、後半において外部情報尤度算出部EPC２は外部情報尤度Ｌe(u4)を出力する。すなわち、各値のlog値を用いると、次式
Ｌ(u)＝Ｌya＋Ｌ(u′)＋Ｌe(u)     (4)
が成立するから、外部情報尤度算出部EPC１，2は次式
Ｌe(u)＝Ｌ(u)−Ｌya−Ｌ(u′)     (5)
により外部情報尤度Ｌe(u)を求めることができる。但し、第１回目はＬ(u ’)=0である。
まとめると、第１回目の前半の復号処理では、受信信号Ｌcya，Ｌcybを用いて復号し、得られた尤度Ｌ(u1)を出力する。ついで、(5)式(但し、Ｌ(u1′)=0)により、事前尤度Ｌe(u1)を求めインタリーブしてＬ(u2′)とする。
第１回目の後半の復号処理では、受信信号Ｌcyaをインタリーブしたものと前半の復号処理で得られた事前尤度Ｌ(u2′)とを新たな受信信号Ｌcya′とみなし、該Ｌcya′とＬcycを用いて復号し、得られた尤度Ｌ(u２)を出力する。ついで、(5)式により事前尤度Ｌe(u２)を求めデインタリーブしてＬ(u3′)とする。
【００４９】
第２回目の前半の復号処理では、受信信号Ｌcy aと後半の復号処理で得られた事前尤度Ｌ(u3′)とを新たな受信信号Ｌcya′とみなし、該Ｌcya′とＬcybを用いて復号し、得られた尤度Ｌ(u3)を出力する。ついで、上式により事前尤度Ｌe(u3)を求めインタリーブしてＬ(u4′)とする。
第２回目の後半の復号処理では、受信信号Ｌcyaをインタリーブしたものと前半の復号処理で得られた事前尤度Ｌ(u4′)とを新たな受信信号Ｌcya′とみなし、該Ｌcya′とＬcycを用いて復号し、得られた尤度Ｌ(u4)を出力する。ついで、(5)式により事前尤度Ｌe(u4)を求めデインタリーブしてＬ(u5′)として上記復号処理を繰り返す。
【００５０】
・付記
付記１．受信データについて後方から前方に向けてトレリスを用いて後方用確率の演算を行ない、該受信データについて前方から後方に向けてトレリスを用いて前方用確率の演算を行ない、該後方用確率の演算結果と該前方用確率の演算結果とに基づいて復号処理を行い、前記復号処理を繰り返し行なう最大事後確率復号方法において、
復号処理の途中で計算された前方用確率および又は後方用確率の演算開始点における値を次の復号処理における前方用確率および又は後方用確率の初期値として保存し、
次の復号処理において前記保存してある初期値を用いて前方用確率および又は後方用確率の演算を開始する、
ことを特徴とする最大事後確率復号方法。
付記２．  前記復号処理は、
長さＮの符号化データを所定長Ｌづつのブロックに分割し、
所定ブロックの後方用確率を演算するに際して該ブロックより後方のデータ位置から後方用確率の演算を開始して該ブロックの後方用確率を求めて保存し、
ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて着目ブロックの各データの復号処理を行ない、
以後、同様に各ブロックの復号処理を行なう
ことを特徴とする請求項１記載の最大事後確率復号方法。
付記３．  長さＮのデータを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう最大事後確率復号方法において、
今回の各ブロックの復号処理において求まる他ブロックの前記初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存し、
次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率の計算を開始する、
ことを特徴とする最大事後確率復号方法。
付記４．  前記初期位置は、着目ブロックより1ブロック後方の位置である、
ことを特徴とする付記３記載の最大事後確率復号方法。
付記５．  長さＮのデータを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう最大事後確率復号方法において、
今回の各ブロックの復号処理において求まる他ブロックの開始点における後方用確率を、次回の復号処理における該他ブロックの後方用確率の初期値として保存し、
次回の各ブロックの復号処理において前記保存してある初期値を用いて該ブロックの開始点より後方用確率の計算を開始する、
ことを特徴とする最大事後確率復号方法。
付記６．  最初の各ブロックの復号処理においてのみ、スライディングウインドウ法により復号を行なう、
ことを特徴とする付記５記載の最大事後確率復号方法。
付記７．  前記初期位置は、着目ブロックより1ブロック後方の位置である、
ことを特徴とする付記５記載の最大事後確率復号方法。
付記８．  第(j+1)ブロックの最後の後方用確率βjLを、次回の復号処理における第ｊブロックの後方用確率の前記初期値とする、
ことを特徴とする付記７記載の最大事後確率復号方法。
付記９．  受信データについて後方から前方に向けてトレリスを用いて後方用確率の演算を行ない、該受信データについて前方から後方に向けてトレリスを用いて前方用確率の演算を行ない、該後方用確率の演算結果と該前方用確率の演算結果とに基づいて復号処理を行い、前記復号処理を繰り返し行なう最大事後確率復号方法において、
長さＮのデータを所定長Ｌづつのブロックに分割し、各ブロックより後方のデータ位置(後方用確率初期位置)から後方用確率を演算して該ブロックの後方用確率を求めて保存する処理を全ブロックで同時に並列的に行ない、
各ブロックの前方用確率を演算するに際して該ブロックより前方のデータ位置(前方用確率初期位置)から前方用確率を演算して該ブロックの前方用確率を求める処理を全ブロックで同時に並列的に行ない、
各ブロックの前記前方用確率と前記保存してある各ブロックの後方用確率とを用いて各ブロックのデータの復号処理を並列的に行ない、
今回の各ブロックの復号処理において求まる他ブロックの前記後方用確率初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存し、かつ、今回の各ブロックの復号処理において求まる他ブロックの前記前方用確率初期位置における前方用確率を次回の復号処理における該他ブロックの前方用確率の初期値として保存し、
次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率および前方用確率の計算を並列的に開始する、
ことを特徴とする最大事後確率復号方法。
付記１０．  前記後方用確率初期位置は、着目ブロックより1ブロック後方の位置であり、前記前方用確率初期位置は、着目ブロックより1ブロック前方の位置
であることを特徴とする付記９記載の最大事後確率復号方法。
付記１１．  第(j+2)ブロックの最後の後方用確率βjLを、次回の復号処理における第ｊブロックの後方用確率の前記初期値とし、
第ｊブロックの最後の前方用確率αjLを、次回の復号処理における第（j+2）ブロックの前方用確率の前記初期値とする、
ことを特徴とする付記１０記載の最大事後確率復号方法。
付記１２．  受信データについて後方から前方に向けてトレリスを用いて後方用確率の演算を行ない、該受信データについて前方から後方に向けてトレリスを用いて前方用確率の演算を行ない、該後方用確率の演算結果と該前方用確率の演算結果とに基づいて復号処理を行い、前記復号処理を繰り返し行なう最大事後確率復号方法において、
符号化データを用いて前方用確率および後方用確率を計算する計算手段、
該前方用確率および後方用確率を用いて前記符号化データの復号を行なう手段、
今回の復号処理の途中で計算された前方用確率および又は後方用確率の演算開始点における値を次回の復号処理における前方用確率および又は後方用確率の初期値として保存する手段、
を備え、前記計算手段は、次回の復号処理において前記保存してある初期値を用いて前方用確率および又は後方用確率の計算を開始することを特徴とする最大事後確率復号装置。
付記１３．  長さＮのデータを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう最大事後確率復号装置において、
符号化データを用いて前方用確率および後方用確率を計算する計算手段、
該前方用確率および後方用確率を用いて前記符号化データの復号を行なう手段、
今回の各ブロックの復号処理において求まる他ブロックの前記初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存する手段、
を備え、前記計算手段は、次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率の計算を開始する、
ことを特徴とする最大事後確率復号装置。
付記１４．  長さＮの符号化データを所定長Ｌづつのブロックに分割し、着目ブロックの後方用確率を演算するに際して該着目ブロックより後方のデータ位置(初期位置)から後方用確率を演算して該着目ブロックの後方用確率を求めて保存し、ついで、前方用確率を演算し、該前方用確率と前記保存してある後方用確率を用いて前記着目ブロックの各データの復号処理を行ない、以後、順番に各ブロックの復号処理を行なう最大事後確率復号装置において、
符号化データを用いて前方用確率および後方用確率を計算する計算手段、
該前方用確率および後方用確率を用いて前記符号化データの復号を行なう手段、
今回の各ブロックの復号処理において求まる他ブロックの開始点における後方用確率を、次回の復号処理における該他ブロックの後方用確率の初期値として保存する手段、
を備え、前記計算手段は、次回の各ブロックの復号処理において前記保存してある初期値を用いて該ブロックの開始点より後方用確率の計算を開始する、
ことを特徴とする最大事後確率復号装置。
付記１５．  受信データについて後方から前方に向けてトレリスを用いて後方用確率の演算を行ない、該受信データについて前方から後方に向けてトレリスを用いて前方用確率の演算を行ない、該後方用確率の演算結果と該前方用確率の演算結果とに基づいて復号処理を行い、前記復号処理を繰り返し行なう最大事後確率復号方法において、
長さＮの符号化データを所定長Ｌづつのブロックに分割したとき、ブロック毎に、
後方用確率を計算する後方用確率演算部、
前方用確率を計算する前方用確率演算部、
該前方用確率および後方用確率を用いて該データの復号を行なう手段、
を備え、
前記各ブロックの後方用確率演算部は、該ブロックより後方のデータ位置(後方用確率初期位置)から後方用確率を順に演算して該ブロックの後方用確率を求めて保存する処理を全ブロック同時に並列的に行ない、
前記各ブロックの前方用確率演算部は、該ブロックより前方のデータ位置(前方用確率初期位置)から前方用確率を演算して該ブロックの前方用確率を求める処理を全ブロック同時に並列的に行ない、
前記復号手段は、各ブロックの前記前方用確率と前記保存してある各ブロックの後方用確率とを用いて各ブロックのデータの復号処理を同時に行なう、
ことを特徴とする最大事後確率復号装置。
付記１６．  各ブロックの復号処理において求まる他ブロックの所定データ位置における後方用確率を保存する第1の保存手段、
各ブロックの復号処理において求まる他ブロックの所定データ位置における前方用確率を保存する第2の手段
を更に備え、
前記第１の保存手段は、今回の各ブロックの復号処理において求まる他ブロックの前記後方用確率初期位置における後方用確率を次回の復号処理における該他ブロックの後方用確率の初期値として保存し、
前記第２の保存手段は、今回の各ブロックの復号処理において求まる他ブロックの前記前方用確率初期位置における前方用確率を次回の復号処理における該他ブロックの前方用確率の初期値として保存し、
前記各ブロックの後方用確率演算部および前記各ブロックの前方用確率演算部は、次回の復号処理において前記保存してある初期値を用いて各ブロックの後方用確率および前方用確率の計算を並列的に開始する、
ことを特徴とする請求項１５記載の最大事後確率復号装置。
【産業上の利用可能性】
【００５１】
本発明によれば、ターボ復号等において、パンクチャリングを用いた高符号化率符号の復号を行う際に、メトリック値計算におけるトレーニング部の長さを短くしても、実質上のトレーニング長を確保でき特性の劣化を防ぐことができる。更に、ターボ復号器の計算量およびメモリ量を削減することができる。したがって、ターボ復号などMAP復号に利用して好適である。なお、本願発明はターボ符号の復号だけでなく同様の繰り返し復号処理を行なうＭＡＰ復号方法に適用できるものである。
【図面の簡単な説明】
【００５２】
【図１】ターボ符号器及びターボ復号器を含む通信システムの構成図である。
【図２】ターボ復号器の構成図である。
【図３】第1実施例の最大事後確率復号方法のタイムチャートである。
【図４】第1実施例の最大事後確率復号装置の構成図である。
【図５】第２実施例の最大事後確率復号方法のタイムチャートである。
【図６】第３実施例の最大事後確率復号方法のタイムチャートである。
【図７】第3実施例の最大事後確率復号装置の構成図である。
【図８】本発明を適用できるターボ復号のシーケンス説明図である。
【図９】畳み込み符号器の例である。
【図１０】畳み込み符号器の入出力関係及びシフトレジスタの状態説明図である。
【図１１】状態説明図である。
【図１２】畳込み符号器の状態と入出力の関係図である。
【図１３】畳み込み符号器の畳み込み符号を格子状表現したトレリス線図である。
【図１４】従来の第１のMAP復号方法を実現するMAP復号器の構成図である。
【図１５】従来の第2のMAP復号方法を実現するMAP復号器の構成図である。
【図１６】図15のタイムチャートである。
【図１７】従来の第３のMAP復号方法の説明図である。
【図１８】ＳＷ方式を用いた従来の第4のMAP復号方法を説明する為の演算シーケンス説明図である。
【図１９】第４のMAP復号方法のタイムチャートである。
【図２０】本発明と同じ表現形式を有する第４のMAP復号方法のタイムチャートである。
【符号の説明】
【００５３】
２０  タイミング制御部
２１  入力データ処理部
２２  移行確率演算部
２３  第1後方用確率演算部
２４  第2後方用確率演算部
２５  前方用確
２６，２８  β保存部
２７  β初期値保存部
２９  選択部
３０  結合確率演算部
３１  ｕｋ及びｕｋ尤度演算部
３２  β初期値設定部
【図１】
2005109771.tif 000003
【図２】
2005109771.tif 000004
【図３】
2005109771.tif 000005
【図４】
2005109771.tif 000006
【図５】
2005109771.tif 000007
【図６】
2005109771.tif 000008
【図７】
2005109771.tif 000009
【図８】
2005109771.tif 000010
【図９】
2005109771.tif 000011
【図１０】
2005109771.tif 000012
【図１１】
2005109771.tif 000013
【図１２】
2005109771.tif 000014
【図１３】
2005109771.tif 000015
【図１４】
2005109771.tif 000016
【図１５】
2005109771.tif 000017
【図１６】
2005109771.tif 000018
【図１７】
2005109771.tif 000019
【図１８】
2005109771.tif 000020
【図１９】
2005109771.tif 000021
【図２０】
2005109771.tif 000022