(57)【要約】【課題】ターボ復号装置の回路規模の削減を図る。【解決手段】ターボ符号化されたＮビットの符号化データに対する後方確率演算を行う後方確率演算部と、Ｎビット中の所定区間に関する連続的な複数の後方確率演算結果をｎ個おきに記憶する記憶部と、符号化データに対する前方確率演算を行う前方確率演算部と、前方確率演算結果と後方確率演算結果とを用いた結合確率演算を通じて符号化データの復号結果を算出する復号結果算出部とを含み、復号結果算出部は、前記前方確率演算結果と、前記記憶部に記憶された後方確率演算結果及び前記後方確率演算部によって再計算された後方確率演算結果とを用いて前記結合確率演算を行う。【選択図】図８
2008099145.tif 000002
【特許請求の範囲】
【請求項１】
ターボ符号化されたＮビットの符号化データに対する後方確率演算を行う後方確率演算部と、
Ｎビット中の所定区間に関する連続的な複数の後方確率演算結果をｎ個おきに記憶する記憶部と、
前記符号化データに対する前方確率演算を行う前方確率演算部と、
前方確率演算結果と後方確率演算結果とを用いた結合確率演算を通じて符号化データの復号結果を算出する復号結果算出部とを含み、
前記復号結果算出部は、前記前方確率演算結果と、前記記憶部に記憶された後方確率演算結果及び前記後方確率演算部によって再計算された後方確率演算結果とを用いて前記結合確率演算を行う
ターボ復号装置。
【請求項２】
前記結合確率演算は、前記前方確率演算と並列に実行され、
前記復号結果算出部は、前記前方確率演算部で算出されるｉ番目(ｉ＝１〜Ｎ)の前方確率演算結果に対応するｉ番目の後方確率演算結果が前記記憶部に記憶されていれば、この後方確率演算結果を用いてｉ番目の結合確率演算を行い、
ｉ番目の後方確率演算結果が前記記憶部に記憶されていなければ、前記後方確率演算部が、ｉ＋１番目の前方確率演算のために算出されたｉ＋１番目の移行確率演算結果と前記記憶部に記憶されているｉ＋１番目の後方確率演算結果とからｉ番目の後方確率を再計算し、前記復号結果算出部が再計算されたｉ番目の後方確率演算結果を用いてｉ番目の結合確率演算を行う
請求項１記載のターボ復号装置。
【請求項３】
ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
Ｎ／Ｍの分割データに対するＮ／Ｍ個の後方確率演算結果をｎ個おきに記憶する記憶部，
Ｎ／Ｍの分割データに対して前方確率演算を行う前方確率演算部，及び
Ｎ／Ｍの分割データに対するＮ／Ｍ個の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部の再計算によって得られるＮ／Ｍ個の後方確率演算結果とを用いた結合確率演算を通じてＮ／Ｍの分割データの要素復号結果を出力する復号結果算出部を含む
ターボ復号装置。
【請求項４】
ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
Ｎ／Ｍの分割データを所定長Ｌ毎にＸ個の区間に分割し、Ｘ番目から２番目までの各区間の後方確率演算結果をＬの間隔を空けて離散的に記憶するともに、１番目の区間に対するＬ個の後方確率演算結果をｎ個おきに記憶する記憶部，
Ｎ／Ｍの分割データに対する前方確率演算を行う前方確率演算部，及び
Ｎ／Ｍの分割データの各区間について、Ｌ個の前方確率演算結果と、これに対応するＬ個の後方確率演算結果とを用いた結合確率演算を通じて各区間の要素復号結果を算出する復号結果算出部とを含み、
前記復号結果算出部は、前方確率演算部で算出された１番目の区間のＬ個の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部の再計算によって得られる１番目の区間のＬ個の後方確率演算結果とを用いた結合確率演算を通じて１番目の区間に対する要素復号結果を出力し、
前記後方確率演算部は、次の区間に関して前記記憶部に記憶された後方確率演算結果を用いて、次の区間に対する後方確率演算を行い、次の区間に関するＬ個の後方確率演算結果を算出し、これらのＬ個の後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、次の区間に対する前方確率演算を行い、前記復号結果算出部は、前記前方確率演算部で算出された次の区間のＬ個の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部の再計算によって得られる次の区間に関するＬ個の後方確率演算結果とを用いた結合確率演算を通じて次の区間に対する要素復号結果を出力し、
前記後方確率演算部，前記前方確率演算部，及び前記復号結果算出部は、残りの区間があれば、残りの区間について上記処理を繰り返し行う
ターボ復号装置。
【請求項５】
ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
後方確率演算結果を記憶する記憶部，
Ｎ／Ｍの分割データに対する前方確率演算を行う前方確率演算部，及び
前方確率演算結果と後方確率演算結果とを用いた結合確率演算を通じて要素復号結果を算出する復号結果算出部とを含み、
前記後方確率演算部は、Ｎ／Ｍの分割データを所定長Ｌ毎に複数の区間に分割し、２Ｌ番目から１番目までの後方確率演算を行い、Ｌ番目から１番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、Ｎ／Ｍの分割データの１番目からＬ番目の前方確率演算を行い、
前記復号結果算出部は、１番目からＬ番目の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部による再計算によって得られる１番目からＬ番目の後方確率演算結果とを用いて結合確率演算を行い、１番目からＬ番目までの区間に関する要素復号結果を出力し、
前記後方確率演算部は、２Ｌ番目から１番目までの後方確率演算中に、３Ｌ番目からＬ＋１番目までの後方確率演算を行い、２Ｌ番目からＬ＋１番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、Ｎ／Ｍの分割データのＬ＋１番目から２Ｌ番目の前方確率演算を行い、
前記復号結果算出部は、Ｌ＋１番目から２Ｌ番目の前方確率演算結果と、前記記憶部か
らの読み出し及び前記後方確率演算部による再計算によって得られるＬ＋１番目から２Ｌ番目の後方確率演算結果とを用いて結合確率演算を行い、Ｌ＋１番目から２Ｌ番目までの区間に関する要素復号結果を出力し、
前記後方確率演算部，前記前方確率演算部，及び前記復号結果算出部は、残りの区間があれば、残りの区間について上記処理を繰り返し行う
ターボ復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターボ符号により符号化されたデータを復号するターボ復号装置に関する。
【背景技術】
【０００２】
誤り訂正符号は、移動通信、ファクシミリ(ＦＡＸ)、銀行のキャッシュディスペンサ等、データ通信を行う際にデータを誤りなく伝送する場合、あるいは、磁気ディスク、ＣＤ−ＲＯＭなどの大容量データ保存を行う際にデータを誤りなく読み出すことが要求されるシステムに適用される。
【０００３】
ターボ符号は、誤り訂正符号の中でも、符号化利得の高い符号として知られている。ターボ符号は、移動通信分野において、第三世代携帯電話システム(３ＧＰＰ)で使用されており、次世代の携帯電話システムでも使用されることが期待される。
【０００４】
図１はターボ符号器、復号器を含む通信システムの構成図を示す。長さＮの情報ｕは、ターボ符号器により符号化データｘａ,ｘｂ,ｘｃに符号化される。ｘａは、情報ｕそのものであり、ｘｂは情報ｕを畳み込み符号化したデータであり、ｘｃは、情報ｕをインタリーブして畳み込み符号化したデータである。符号化データｘａ,ｘｂ,ｘｃは、通信路により伝搬される際に雑音やフェージングの影響を受け、受信信号ｙａ,ｙｂ,ｙｃとして受信される。受信器では、受信信号からターボ復号装置にて復号処理が行われ、復号結果ｕ'
を得る。
【０００５】
図１に示す記号は以下のように表現される。
情報              u=[u1,u2,…,uN]
符号化データ      xa=[xa1,xa2,…,xak,…,xaN]
xb=[xb1,xb2,…,xbk,…,xbN]
xc=[xc1,xc2,…,xck,…,xcN]
受信データ        ya=[ya1,ya2,…,yak,…,yaN]
yb=[yb1,yb2,…,ybk,…,ybN]
yc=[yc1,yc2,…,yck,…,ycN]
復号結果          u'=[u'1,u'2,…,u'N]
図２にターボ復号装置の構成例を示す。ターボ復号装置では、まず、受信信号ｙａ,ｙ
ｂ,ｙｃのうち、ｙａとｙｂから、第１の要素復号器ＤＥＣ１を用いて復号を行う。次に
、ＤＥＣ１の復号結果の尤度とｙｃとを用いて、第２の要素復号器ＤＥＣ２により復号処理を行う。この際、ＤＥＣ１の復号結果の尤度はインタリーブ処理を行ってからＤＥＣ２に入力される。ＤＥＣ２の復号結果の尤度は、デインタリーブ処理され、再びＤＥＣ１に入力される。復号結果ｕ'は、ＤＥＣ２のデインタリーブ結果を“０”，“１”判定した
復号データである。誤り率特性は、上記の復号処理の繰り返しによって改善される。このため、ターボ復号器は、上述した復号操作を所定回数繰り返すことによって復号処理を行う。
【０００６】
なお、図２では、原理説明上、２個の要素復号器(ＤＥＣ１及びＤＥＣ２)、インタリーバ及びデインタリーバを構成要素として示しているが、ハードウェア構成上、１個の要素復号器を用い、インタリーバ,デインタリーバは共用するのが一般的である。
【０００７】
従来例１として、ターボ復号装置の要素復号器として一般的なＭＡＰ(最大事後確率復
号：Maximum A Posteriori Probability Decoding)を適用した場合について説明する。
【０００８】
図３にＭＡＰ復号器を適用したターボ復号装置のブロック図を示す。ＭＡＰを用いた復号手順は以下のようになる。通信路値ＲＡＭ(Random Access Memory)は、受信データｙａ,ｙｂ,ｙｃを保存するとともに、出力順序を適宜入れ替えて出力することができる。
【０００９】
図３において、例えば、符号化レートＲ＝１／２で、情報長Ｎである場合、原情報ｕ，符号化データｘａ，ｘｂ，受信データｙａ,ｙｂは、
原情報：u=[u1,u2,u3,…,uN]
符号化データ：xa=[xa1,xa2,xa3,…xak,…,xaN]: xb=[xb1,xb2,xb3,…xbk…,
受信データ： ya=[ya1,ya2,ya3,…,yak,…,yaN]: yb=[yb1,yb2,yb3,…ybk…,
である。
【００１０】
なお、情報長Ｎは、ターボ符号器側で付加されたテイルビット(tail bit)を含んでいる。
【００１１】
図３において、移行確率演算器は、時間ｋにおいて受信データ(yak,ybk)を受信すると
、移行確率γｓ,ｋ(但し、ｓ＝０〜３)として、
(xak,xbk)が(0,0)である確率γ0, k
(xak,xbk)が(0,1)である確率γ1, k
(xak,xbk)が(1,0)である確率γ2, k
(xak,xbk)が(1,1)である確率γ3, k
を夫々演算する。
【００１２】
後方確率演算器は、時間ｋの後方確率βｋ(ｍ)と移行確率γｓ,ｋ(ｓ＝０〜３)を使用
して時間ｋ−１の各状態ｍ(ｍ＝０〜７)における後方確率βｋ−１(ｍ)を演算して後方確率ＲＡＭ(メモリ)に記憶する。以後、移行確率演算器及び後方確率演算器は、ｋ＝ｋ−１として上記演算を繰り返し、ｋ＝Ｎからｋ＝０まで演算を行って、ｋ＝０〜Ｎの各時間における後方確率βｋ(ｍ)を後方確率ＲＡＭに記憶する。
【００１３】
その後、移行確率演算器及び前方確率演算器は、時間(ｋ−１)において原データｕｋ−１が“１”である前方確率α１,ｋ−１(ｍ)と、原データｕｋ−１が“０”である前方確
率α０,ｋ−１(ｍ)と、移行確率γｓ,ｋとを用いて、時間ｋの各状態ｍにおいてｕｋが“１”である前方確率α１,ｋと、ｕｋ(ｍ)が“０”である前方確率α０,ｋ(ｍ)とを演算する。
【００１４】
結合確率演算器は、時間ｋの各状態ｍにおける前方確率α１,ｋ(ｍ)と、後方確率ＲＡ
Ｍに記憶されている後方確率βｋ(ｍ)とを掛け合わせてｋ番目の原データｕｋが“１”である確率λ１,ｋ(ｍ)を演算する。同様に、時間ｋの各状態ｍにおける前方確率α０,ｋ(
ｍ)と後方確率βｋ(ｍ)とを用いて原データｕｋが“０”である確率λ０,ｋ(ｍ)を演算する。
【００１５】
事後確率演算器は、時間ｋの各状態ｍにおける“１”である確率λ１,ｋ(ｍ)を加算し
て、“１”である確率の総和Σｍλ１,ｋ(ｍ)を求めるとともに、時間ｋの各状態ｍにお
ける“０”である確率λ０,ｋ(ｍ)を加算して、“０”である確率の総和Σｍλ０,ｋ(ｍ)を求め、次式(１)
Ｌ(ｕ１k)＝log[Σｍλ１,ｋ(ｍ)／Σｍλ０,ｋ(ｍ)]  ・・・(１)
により、対数尤度(事後確率Ｌ(ｕ１k))を出力する。
【００１６】
外部情報尤度演算器は、事後確率Ｌ(ｕ１k)に入力時の事前尤度や通信路値が含まれて
いるために、これらの分を削除して外部情報尤度Ｌｅ(ｕ１k)を算出する。外部情報尤度
Ｌｅ(ｕ１k)は、インタリーブＲＡＭで記憶され、インタリーブされ、次の復号処理にお
いて事前尤度Ｌ(ｕ１k')として出力され、移行確率演算器にフィードバックされる。
【００１７】
以上によりターボ復号の第１回目の前半の復号処理(１回のＭＡＰ復号)が終了し、次に、受信データｙａをインタリーブしたものと前半の復号処理で得られた事前尤度Ｌ(ｕ１k')とを新たな受信データｙａ'とみなし、このｙａ'とｙｃとを用いて前述したＭＡＰ復号処理を行い、尤度Ｌ(ｕ２k)を出力する。これで、１回のターボ復号処理が終了する。以
後、ターボ復号処理を所定回数(例えば８回)繰り返して行い、得られた事後確率Ｌ(ｕ８k)＞０であれば復号結果ｕｋ＝１を、Ｌ(ｕ８k)＜０であれば復号結果ｕｋ＝０を出力する。
【００１８】
このようなＭＡＰ復号方法では、前半において移行確率演算、後方確率演算、及び後方確率βを後方確率ＲＡＭに記憶する処理を行い、後半において移行確率演算、前方確率演算、結合確率演算、事後確率計算、外部情報尤度計算を行っている。即ち、この復号方法では、前方確率α１,ｋ(ｍ)，α０,ｋ(ｍ)を記憶することなく、後方確率βｋ(ｍ)を後方確率ＲＡＭ(メモリ)に記憶する。
【００１９】
以上の処理を言い換えると、次の通りとなる。
(１)移行確率演算
時間ｋで受信された受信データ(ｙａｋ,ｙｂｋ)より、符号化データ(ｘａ,ｘｂ)のそれぞれが“０”となる場合と“１”となる場合の組み合わせのすべてに対する移行確率γｓ,ｋを求める。この移行確率演算は、以下の(２)後方確率演算,(３)前方確率演算時にそれぞれ実行される。
(２)後方確率演算
時間Ｎから時間０までの後方確率の演算を順次行う。時間ｋでの後方確率βｋ(即ち、
β０,ｋ、β１,ｋ)は、時刻ｋ＋１の後方確率βｋ＋１と時刻ｋ＋１の移行確率より算出
され、その結果は後方確率演算結果を格納するメモリ(後方確率ＲＡＭ)に保管される。
(３)前方確率演算
時刻０から時刻Ｎの前方確率演算を順次行う。時間ｋでデータが“０”である場合の前方確率α０,ｋと、時間ｋでデータが“１”である場合の前方確率α１,ｋとを、時刻ｋ−１のデータが“０”である場合の前方確率α０,ｋ−１と、データが“１”である場合の
前方確率α１,ｋ−１、及び、時刻ｋでの移行確率γｓ,ｋから算出する。
(４)結合確率演算
結合確率演算は、(３)の前方確率演算と同時に実行される。時刻ｋで各状態が“０”である場合の確率をα０,ｋとβ０,ｋから、各状態が“１”である確率をα１,ｋとβ１,ｋとから算出する。
(５)事後確率演算
時刻ｋで各状態が“１”である確率の加算と、各状態が“０”である確率とをそれぞれ加算し、事後確率ｕｋと、ｕｋの尤度とを算出する。
(６)外部情報尤度演算
時刻ｋの事後確率演算結果ｕｋには、入力時の事前尤度や通信路値が含まれるため、これらの削除を行う。
【００２０】
ＭＡＰ復号処理として、上記(１)〜(６)の演算を１回行った場合の復号時間(ＭＡＰ復
号時間)は２Ｎとなる。２回のＭＡＰ復号処理で、１回のターボ復号処理が完了する。よ
って、１回のターボ復号処理時間は４Ｎであり、ターボ復号処理の繰り返し数が８回である場合には、ターボ復号処理時間は３２Ｎとなる。
【００２１】
図４に、１回のＭＡＰ復号処理のタイミングチャートを示す。この場合、後方確率演算結果βｋを記憶する為のメモリ量は、全てのノードＮに対して必要となる。
【００２２】
次に、従来例２について説明する。従来例1の方式では、後方確率演算結果を保管して
おくためのメモリ量が非常に大きく、そのままでは回路の実装には適さない。そのため、後方確率演算結果を保管するメモリの削減方法が提案されている(例えば、特許文献１)。図５に、従来例２の方式によるＭＡＰ復号１回当たりのタイミングチャートを示す。
【００２３】
特許文献１に記載された従来例２の方式による復号手順は、従来例１との比較において次のような差分を有する。
(１)情報長Ｎが所定長Ｌで複数のブロックに分割され、Ｌの区間を基本単位として復号を行う。このとき、情報長Ｎ(時間区間０〜Ｎ)は、区間０〜Ｌ１,Ｌ１〜Ｌ２,Ｌ２〜Ｌ３,
・・・,Ｌｘ〜Ｎに分割される。
(２)時間Ｎ＋Δから０へ向かって後方確率演算を行う。このとき、時間Ｎから０への各時間の後方確率演算結果のうち、Ｌ毎の時間Ｌｘ,・・・,Ｌ３,Ｌ２における後方確率演算
結果(離散β)をメモリに蓄え、時間Ｌ１から０までのすべての時間での後方確率演算結果(連続β)をメモリに蓄える。
(３)その後、時間０からＬ１までの前方確率演算を実施する。このとき、メモリに蓄えられえている時間０からＬ１までの後方確率演算結果(連続β)を読み出し、０〜Ｌ１に関する結合確率演算，事後確率演算，及び外部尤度演算を実施する。時間０からＬ１までの前方確率演算の開始とほぼ同時に、メモリからＬ２の後方確率演算結果(離散β)を読み出し、これを初期値として時刻Ｌ２からＬ１までの後方確率演算を行い、後方確率演算結果をメモリに蓄積する。
(４)以降、上述した(１)〜(３)処理をＬ区間ごとに繰り返し、Ｎまで復号を行う。
【００２４】
従来例２の処理時間は、従来例１と同じく１回のＭＡＰ復号で２Ｎとなる。よって、繰り返し数が８回の場合のターボ復号処理時間は３２Ｎとなる。
【００２５】
従来例２において、後方確率演算結果を蓄積する為のメモリ量は、後方確率演算結果を格納するＲＡＭ(メモリ)のリード・ライトアクセス競合回避を考慮して、Ｎ／Ｌ＋２Ｌとなる。
【００２６】
次に、従来例３について示す(例えば、特許文献１)。従来例３は、後方確率演算方法が従来例１と異なり、処理時間とメモリ量を削減できる方式である。従来例３の方式のデメリットは、誤り率特性が若干劣化することと、２個の後方確率演算器を実装する必要があることである。
【００２７】
従来例３の方式による復号手順は、次のような従来例１との差分を有する。図６に、従来例３によるＭＡＰ復号１回あたりのタイミングチャートを示す。
(１)情報長Ｎが所定長Ｌを有する複数のブロックに分割され、Ｌの区間を基本単位として復号を行う。情報長Ｎ(時間区間０〜Ｎ)は、区間０〜Ｌ１,Ｌ１〜Ｌ２,Ｌ２〜Ｌ３,・・
・,Ｌｘ〜Ｎに分割される。
(２)第１の後方確率演算器で、後方確率演算が時間Ｌ２から時刻０まで行われる。このとき、時間Ｌ２から時間Ｌ１までの演算結果は、信用が低い為に採用せず、時刻Ｌ１から０までの区間における後方確率演算結果のみがＲＡＭ(メモリ)に保管される。
(３)次に、前方確率演算が時刻０からＬ１まで実行され、この前方確率演算結果とメモリに蓄えた後方確率演算結果とを用いて、結合確率演算，事後確率演算，及び外部尤度演算が実行される。
(４)第１の後方確率演算器による後方確率演算がＬ１まで終了した時点で、第２の後方確率演算器が、時間Ｌ３からＬ１までの後方確率演算を開始する。この後方確率演算における区間Ｌ２〜Ｌ１の演算は、区間０〜Ｌ１に対する前方確率演算と並列に実行される。このとき、時間Ｌ３から時間Ｌ２までの後方確率演算結果は、信用が低い為に採用されず、時刻Ｌ２からＬ１までの区間における後方確率演算結果のみがＲＡＭ(メモリ)に保管され
る。
(５)区間０〜Ｌ１の前方確率演算に続いて、区間Ｌ１〜Ｌ２に対する前方確率演算が実行され、この区間の前方確率演算結果と、第２の後方確率演算器でメモリに蓄えた後方確率演算結果とを用いて、結合確率演算，事後確率演算，及び外部尤度演算が実行される。
(６)以降、上述した処理がＬの区間ごとに繰り返され、Ｎまで復号が行われる。
【００２８】
従来例３の場合の処理時間は、従来例１と同じく１回のＭＡＰ復号で２Ｎとなり、繰り返し回数が８回であるターボ復号の処理時間は３２Ｎとなる。従来例３では、後方確率演算結果を格納するＲＡＭ(メモリ)は、ライト／リードのアクセス競合を考慮すると、２Ｌだけ必要となる。
【００２９】
上述した従来例２〜３は、従来例１に対してメモリ量を削減し回路規模を削減する為の方法である。一方、復号にかかる時間の短縮方法として、特許文献１に示される方法がある(従来例４)。従来例４の方式では、情報長ＮをＭ個のブロックに分割し、それぞれのブロックにてＭＡＰ演算を並列に実行することで処理時間を短縮する。
【００３０】
従来例４の方式は、従来例１〜３の方式のそれぞれに適用することが可能であり、それぞれの方式に対する適用時の処理時間は１／Ｍとなる。図７に、従来例４の方式を従来例２に適用した場合のタイミングチャートを示す。
【００３１】
従来例４では、図３に示したＭＡＰ復号器がブロック数Ｍに応じて用意される(ＭＡＰ
＃１〜＃Ｍ)。Ｍ個のブロックは、ブロックＮ／Ｍ，２Ｎ／Ｍ，・・・,Ｎ(Ｍ−１)／Ｍ，Ｎで表される。
【００３２】
第１のＭＡＰ復号器(ＭＡＰ＃１)では、区間０〜Ｎ／Ｍのブロックに関して従来例２の復号処理が行われ、第２のＭＡＰ復号器(ＭＡＰ＃２)では、区間Ｎ／Ｍ〜２Ｎ／Ｍのブロックに対して従来例２の復号処理が行われ、ＭＡＰ＃３,・・・,＃Ｍは、同様の復号処理を行う。
【００３３】
ここで、各ＭＡＰ復号器は、後方確率演算を行う際に、所定のΔだけ余分に後方確率演算を行い、余分な部分の演算後に求まる後方演算結果のうち、最後の分割データに対する後方確率演算結果のみをメモリに書き込む。例えば、ＭＡＰ＃１は、Ｎ／Ｍ＋Δから０までの後方確率演算を行い、Ｌ１から０迄の後方演算結果をメモリに格納する。後方演算は、１以上前の後方演算結果を用いて演算されるため、Δだけ余分に後方から後方演算を行うことで、時間Ｎ／Ｍにおいて信頼性の高い後方確率βを得ることが可能となる。
【００３４】
従来例４を適用すると、後方確率演算結果を蓄えるためのメモリ量は以下のようになる。
(１)従来例１に適用した場合 :Ｎ／Ｍ＊Ｍ＝Ｎ
(２)従来例２に適用した場合 :Ｎ／Ｌ＋２ＬＭ
(３)従来例３に適用した場合 :２ＬＭ
高速伝送を行う携帯電話システムにてターボ符号が用いられる場合を想定する。例えば１００Ｍｂｐｓの伝送速度を実現しようとする場合、１秒当たり１００Ｍビットの復号処理が必要となる。
【００３５】
ここで、例えば、従来例２の方式を適用し、１００ＭＨｚのシステムクロックを用いてターボ復号処理を行った場合、１秒当たりのデータ復号のために３２秒が必要となる。従って、ターボ復号装置を３２個実装しなければならず、回路規模が肥大化してしまう。これに対し、従来例４のような方法を適用して高速な復号処理を行うことで、ターボ復号装置の実装個数を減らし、回路規模を小さくすることができる。また、従来例１は、要求さ
れるメモリ量が多い為、回路の実装には向かず、メモリ量を削減可能な従来例２や３が回路規模の縮小を図る上で優先的に適用されると考えられる。
【特許文献１】特開２００４−１５２８５号公報
【特許文献２】特許３４５１２４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００３６】
従来例１からの誤り率特性の劣化が生じない従来例２を用いてメモリ量の削減を行い、且つ、従来例４を用いて処理時間の短縮を行う構成を考える。この場合、後方確率演算結果の保存に必要なメモリ量は、Ｎ／Ｌ＋２ＬＭとなる。ここで、処理の高速化のためにＭの値を大きくした場合、メモリ量は従来例１におけるＮの値に近づき、従来例２の適用によるメモリ量削減の効果が薄れてしまう。これは、従来例２にて削減されたメモリは、従来例４で複数実装されるＭＡＰ演算器に対してそれぞれ設ける必要があることによる。このことは、従来例２ではなく従来例３の採用によりメモリ量削減を行った場合にも当てはまる。
【００３７】
この様に、従来例２〜３と従来例４との組合せでは、高速処理時において、従来例２や３の適用によるメモリ削減効果が薄れてしまう。このため、ターボ復号装置の回路規模に多大な影響を与える。特に、ターボ復号装置が搭載される携帯端末装置の小型化を阻む要因となる。
【００３８】
本発明の目的は、回路規模を削減可能なターボ復号装置を提供することである。
【００３９】
また、本発明の他の目的は、処理時間の増加を抑えつつ、回路規模を削減可能なターボ復号装置を提供することである。
【課題を解決するための手段】
【００４０】
本発明は、上記した目的を達成するため、以下の手段を採用する。
【００４１】
すなわち、本発明の第１の態様は、ターボ符号化されたＮビットの符号化データに対する後方確率演算を行う後方確率演算部と、
Ｎビット中の所定区間に関する連続的な複数の後方確率演算結果をｎ個おきに記憶する記憶部と、
前記符号化データに対する前方確率演算を行う前方確率演算部と、
前方確率演算結果と後方確率演算結果とを用いた結合確率演算を通じて符号化データの復号結果を算出する復号結果算出部とを含み、
前記復号結果算出部は、前記前方確率演算結果と、前記記憶部に記憶された後方確率演算結果及び前記後方確率演算部によって再計算された後方確率演算結果とを用いて前記結合確率演算を行うターボ復号装置である。
【００４２】
本発明によれば、後方確率演算結果がｎ個(ｎは自然数)おきに記憶されるので、メモリ量を削減することができ、回路規模の削減を図ることができる。
【００４３】
好ましくは、本発明の第１の態様において、結合確率演算は、前記前方確率演算と並列に実行され、
前記復号結果算出部は、前記前方確率演算部で算出されるｉ番目(ｉ＝１〜Ｎ)の前方確率演算結果に対応するｉ番目の後方確率演算結果が前記記憶部に記憶されていれば、この後方確率演算結果を用いてｉ番目の結合確率演算を行い、
ｉ番目の後方確率演算結果が前記記憶部に記憶されていなければ、前記後方確率演算部が、ｉ＋１番目の前方確率演算のために算出されたｉ＋１番目の移行確率演算結果と前記
記憶部に記憶されているｉ＋１番目の後方確率演算結果とからｉ番目の後方確率を再計算し、前記復号結果算出部が再計算されたｉ番目の後方確率演算結果を用いてｉ番目の結合確率演算を行うように構成される。
【００４４】
このようにすれば、前方確率演算のために算出された移行確率演算結果が後方確率の再計算に利用されるので、再計算のために別途移行確率演算を行う必要がなく、処理時間の増加を抑えることができる。
【００４５】
本発明の第２の態様は、ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
Ｎ／Ｍの分割データに対するＮ／Ｍ個の後方確率演算結果をｎ個おきに記憶する記憶部，
Ｎ／Ｍの分割データに対して前方確率演算を行う前方確率演算部，及び
Ｎ／Ｍの分割データに対するＮ／Ｍ個の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部の再計算によって得られるＮ／Ｍ個の後方確率演算結果とを用いた結合確率演算を通じてＮ／Ｍの分割データの要素復号結果を出力する復号結果算出部を含むターボ復号装置である。
【００４６】
本発明の第３の態様は、ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
Ｎ／Ｍの分割データを所定長Ｌ毎にＸ個の区間に分割し、Ｘ番目から２番目までの各区間の後方確率演算結果をＬの間隔を空けて離散的に記憶するともに、１番目の区間に対するＬ個の後方確率演算結果をｎ個おきに記憶する記憶部，
Ｎ／Ｍの分割データに対する前方確率演算を行う前方確率演算部，及び
Ｎ／Ｍの分割データの各区間について、Ｌ個の前方確率演算結果と、これに対応するＬ個の後方確率演算結果とを用いた結合確率演算を通じて各区間の要素復号結果を算出する復号結果算出部とを含み、
前記復号結果算出部は、前方確率演算部で算出された１番目の区間のＬ個の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部の再計算によって得られる１番目の区間のＬ個の後方確率演算結果とを用いた結合確率演算を通じて１番目の区間に対する要素復号結果を出力し、
前記後方確率演算部は、次の区間に関して前記記憶部に記憶された後方確率演算結果を用いて、次の区間に対する後方確率演算を行い、次の区間に関するＬ個の後方確率演算結果を算出し、これらのＬ個の後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、次の区間に対する前方確率演算を行い、前記復号結果算出部は、前記前方確率演算部で算出された次の区間のＬ個の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部の再計算によって得られる次の区間に関するＬ個の後方確率演算結果とを用いた結合確率演算を通じて次の区間に対する要素復号結果を出力
し、
前記後方確率演算部，前記前方確率演算部，及び前記復号結果算出部は、残りの区間があれば、残りの区間について上記処理を繰り返し行う
ターボ復号装置である。
【００４７】
本発明の第４の態様は、ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
後方確率演算結果を記憶する記憶部，
Ｎ／Ｍの分割データに対する前方確率演算を行う前方確率演算部，及び
前方確率演算結果と後方確率演算結果とを用いた結合確率演算を通じて要素復号結果を算出する復号結果算出部とを含み、
前記後方確率演算部は、Ｎ／Ｍの分割データを所定長Ｌ毎に複数の区間に分割し、２Ｌ番目から１番目までの後方確率演算を行い、Ｌ番目から１番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、Ｎ／Ｍの分割データの１番目からＬ番目の前方確率演算を行い、
前記復号結果算出部は、１番目からＬ番目の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部による再計算によって得られる１番目からＬ番目の後方確率演算結果とを用いて結合確率演算を行い、１番目からＬ番目までの区間に関する要素復号結果を出力し、
前記後方確率演算部は、２Ｌ番目から１番目までの後方確率演算中に、３Ｌ番目からＬ＋１番目までの後方確率演算を行い、２Ｌ番目からＬ＋１番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、Ｎ／Ｍの分割データのＬ＋１番目から２Ｌ番目の前方確率演算を行い、
前記復号結果算出部は、Ｌ＋１番目から２Ｌ番目の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部による再計算によって得られるＬ＋１番目から２Ｌ番目の後方確率演算結果とを用いて結合確率演算を行い、Ｌ＋１番目から２Ｌ番目までの区間に関する要素復号結果を出力し、
前記後方確率演算部，前記前方確率演算部，及び前記復号結果算出部は、残りの区間があれば、残りの区間について上記処理を繰り返し行う
ターボ復号装置である。
【発明の効果】
【００４８】
本発明によれば、ターボ復号装置の回路規模を削減することができ、ターボ復号装置が搭載される機器の小型化を図ることが可能となる。
【００４９】
また、本発明によれば、ターボ復号装置の処理時間の増加を抑えつつ、回路規模を削減することが可能となる。
【発明を実施するための最良の形態】
【００５０】
〔実施形態の概要〕
従来例１〜３のそれぞれは、後方確率演算結果をメモリに蓄えてから前方確率演算を行い、前方確率演算結果とメモリに蓄えられた後方確率演算結果を用いて結合確率演算を行
うことを特徴としている。従来例２及び３では、区間Ｌ１〜０(Ｌ番目から１番目)における連続的な後方確率演算結果がメモリに蓄えられる。
【００５１】
本発明の実施形態では、後方確率演算結果の総てを記憶するのではなく、後方確率演算結果をｎ個おきに間引いて保管することによりメモリ量の削減を行う。この場合、メモリに記憶されていない箇所の後方確率演算結果については、前方確率演算の実施時点でメモリに記憶されている後方確率演算結果を用いて再演算を行う。
【００５２】
通常、後方確率演算の再計算は、メモリに蓄えられている伝送路値と外部尤度情報を用いて行われる。これらの伝送路値及び外部尤度情報は、前方確率演算を行う為の入力値である。従って、後方確率演算の再計算と前方確率演算とを並列に実行すると、メモリアクセスの競合が発生する。メモリアクセスの競合を回避する為に、時間をずらしてメモリアクセスを行うようにすると、処理時間の増加を招いてしまう。
【００５３】
しかし、前方確率演算の入力値と、間引き保管されている箇所の後方確率演算を行う為の入力値とは、ビット列の近傍の値を用いる。従って、演算順序を見直すことにより、これらの演算において、同時間に同じ入力値とすることが可能となる。よって、処理時間の増加を招くことなく、また、間引き箇所の補間用の後方確率演算器を追加するだけで再演算の実行が可能となる。
【００５４】
以下、本発明の実施形態において、間引き量ｎ＝１として、１個おきに後方確率演算結果を保管する場合の構成について説明する。図８に、前方確率演算及び後方確率演算の再計算処理の概念図、図９に、従来例に追加される回路部のブロックを示し、図１０にメモリに保管されなかった箇所の再演算のタイミングチャートを示す。
【００５５】
図８では、時刻ｉでの移行確率をγ(ｉ)、前方確率演算結果(前方確率)をα(ｉ)、後方確率演算結果(後方確率)をβ(ｉ)として示している。実施形態における方式では、従来方式と同様に、後方確率演算を予め行う。但し、本実施形態では、後方確率演算結果を１つおきに保管(バッファ：記憶)する(ｎ＝１)。ここでは、後方確率演算結果として、β(ｉ
＋１),β(ｉ＋３),…が保管されているものとする(β(ｉ＋２),β(ｉ)が間引かれている)。
【００５６】
時刻ｉのときにｉ番目の結合確率が演算される。このとき、各時刻における前方確率αは既に演算された結果が保持された状態となっている。すなわち、前方確率α(ｉ)が得られた状態にある。しかし、後方確率β(ｉ)は、後方確率演算結果を格納するメモリ(後方
確率ＲＡＭ)に蓄えられていないために、前方確率α(ｉ)と後方確率β(ｉ)との結合確率
演算を行うことができない。
【００５７】
このため、時刻ｉのタイミングでｉ番目の結合確率演算は行わず、時刻ｉの移行確率γ(ｉ)を保持して時刻ｉ＋１に移行する。後方確率β(ｉ＋１)の値は、後方確率ＲＡＭに保管されている。よって、後方確率β(ｉ＋１)と、時刻ｉ＋１における移行確率γ(ｉ＋１)とを用いて、後方確率β(ｉ)を算出(再計算)することができる。この後方確率β(ｉ)と、前方確率α(ｉ)とを用いて時間ｉでの結合確率演算を行うことができる。また、後方確率β(ｉ＋１)と、前方確率α(ｉ＋１)とを用いて、時間ｉ＋１での結合確率演算を行うことができる。なお、前方確率α(ｉ＋１)は、前方確率α(ｉ)と時刻ｉ＋１の移行確率γ(ｉ
＋１)とを使用して演算される。
【００５８】
移行確率γ(ｉ＋１)は、前方確率α(ｉ＋１)を求めるために算出された値であり、このような値が後方確率の再計算に使用されることで、再計算のための移行確率演算を行わなくて済み、処理時間の短縮を図る(増加を抑える)ことができる。
【００５９】
図９に示すブロックでは、移行確率演算器９から移行確率γを受け取る後方確率演算器１０が設けられており、後方確率演算器１０には、後方演算ＲＡＭ１１(記憶部)に記憶された後方確率演算結果が入力される。後方確率演算器１０の出力は、セレクタ１２の一方の入力端に接続されており、後方確率ＲＡＭ１１は、位相調整器１３を介してセレクタ１２の他方の入力端に接続されている。セレクタ１２は、後方確率演算器１０と後方確率ＲＡＭ１１との各出力の一方を選択し、後方確率β(ｉ)として結合確率演算器に接続する。また、前方確率演算器１４は、位相調整器１５を介して移行確率演算器９と接続されており、前方確率演算結果α(ｉ)を出力する。これにより、同時刻の前方確率演算結果α(ｉ)と後方確率演算結果β(ｉ)とは、同タイミングで結合確率演算器(図示せず)に入力されるようになっている。
【００６０】
図９に示した回路は、図１０に示すようなシステムクロックに従って動作するように成っており、移行確率演算器９は、１クロックサイクル毎に、各時間での移行確率γを出力するようになっている(図９及び図１０の〈１〉)。これに対し、後方確率ＲＡＭ１１からは、２クロックサイクル毎に、或る時間における後方確率演算結果βが読み出されるようになっている(図９及び図１０の〈２〉)。図１０に示す例では、１つおきに記憶されたβ(ｉ＋１)，β(ｉ＋３)が、２クロックサイクルで読み出されている。
【００６１】
この１つの後方確率演算結果が読み出されている時間(ＲＡＭ１１に対する読み出しア
クセスが行われている２クロックサイクル)の後半部分において、或る時間での前方確率
α及び後方確率βが出力され、次のクロックサイクルで、次の時間の前方確率α及び後方確率βとが出力され、それぞれの時間に対する結合確率演算が行われる。図１０に示す例では、移行確率演算器９からの移行確率γ(ｉ＋１)の出力タイミング(タイミングｔ２)において(図１０〈１〉)、後方確率演算器１０が、後方確率ＲＡＭ１１に保管された後方確率演算結果β(ｉ＋１)を読み出し(図１０〈２〉)、後方確率β(ｉ)の再計算を行う。後方確率演算器１０は、次の移行確率γ(ｉ＋２)の出力タイミング(タイミングｔ３)で、後方確率β(ｉ)を出力する(図１０〈３〉)。後方確率演算器１０は、２クロックサイクル毎に出力を変更する。
【００６２】
タイミングｔ３において、後方確率β(ｉ)は、セレクタ１３から選択出力として出力される。一方、移行確率演算器９からタイミングｔ１で出力された移行確率γ(ｉ)は、位相調整器１５によって、１サイクル遅れて前方確率演算器１４に入力される。前方確率演算器１４は、次の出力タイミング(タイミングｔ３)で前方確率α(ｉ)を出力する。よって、前方確率α(ｉ)と後方確率β(ｉ)が同タイミングで結合確率演算器に入力される。
【００６３】
後方確率ＲＡＭ１１から出力〈２〉として読み出された後方確率β(ｉ＋１)は、位相調整器１３により、１サイクル遅れてセレクタ１２に到達する。セレクタ１２は、１サイクル毎に出力を切り換えるようになっている。よって、タイミングｔ４では、位相調整器１３からの後方確率β(ｉ＋１)がセレクタ１２から出力される。一方、前方確率演算器１１４には、後方確率演算器１０よりも１サイクル遅れて移行確率が入力されるので、タイミングｔ４では、前方確率α(ｉ＋１)が出力されることになる。よって、同時刻の前方確率及び後方確率が同タイミングで結合確率演算器に入力される。
【００６４】
このように、後方確率β(ｉ＋１)の読み出し時間の前半部分において、後方確率β(ｉ)の再計算が行われ、後半部分で後方確率β(ｉ)の出力と、前方確率α(ｉ)の出力とが行われる。そして、次のサイクルで、後方確率β(ｉ＋１)の出力と、前方確率α(ｉ＋１)の出力とが行われる。
【００６５】
このように、本実施形態では、２クロックサイクルに１回、２個の結合確率を演算する
ことができ、これらの演算を時分割に処理する構成をとることによって、メモリ(後方確
率ＲＡＭ)に保管されなかった後方確率演算結果を実施する演算器を追加するのみで、後
方確率の再計算を実行でき、メモリ量を削減できることがわかる。
【００６６】
従来例２又は３では、システムクロック(１クロックサイクル)毎に演算動作をさせる場合には、後方確率演算結果を蓄えるメモリ(後方確率ＲＡＭ)への書き込みアクセスと、蓄えられた後方確率演算結果を読み出して結合確率演算を行う為の読み出しアクセスとが同時に発生する。このため、アクセス競合回避のために、メモリ(後方確率ＲＡＭ)を２面構成として、書き込みと読み出しを分離する必要がある。
【００６７】
本実施形態の方式では、後方確率演算結果をｎ個(ｎ時間)おきに間引いてメモリに蓄える。これによって、ｎ＋１サイクルに1回の書き込み動作とｎ＋１サイクルに1回の読み出し動作となる為に、２面構成とする必要が無い。
【００６８】
このこととメモリ保管量が１／(ｎ＋１)になることとを合わせて、１／２(ｎ＋１)のメモリ量削減効果がある。回路規模の増加量として、再計算を行う為の後方確率演算器がｎ個増加する。しかし、後方確率演算は、加算と最大値選択とにより構成されるため、比較的簡単な回路構成となる。よって、メモリ削減量に対して十分に小さい回路規模増加量となる。
【００６９】
また、処理時間は数クロックサイクル程度の増加で、従来の処理時間からの増加量は微量となり、また、メモリに蓄えるか、同じ演算を再実行するかの違いであるために、誤り率特性は全く同一となる。
【００７０】
〔具体例〕
図８〜図１０に示した本発明の実施形態に係る構成は、従来例１から４に示した各方式に適用することができる。従来例４は、従来例１から３のそれぞれの方式において、情報長ＮのＮビットの符号化データをＭ個のブロックに分割して並列処理を行うことにより、高速化を行ったものである。これより、従来例１から３のそれぞれの方式に対して本方式を適用することもできるし、従来例１から３に対して従来例４を適用した上で、本方式を適用することもできる。
【００７１】
〈具体例１〉
従来例１に従来例４を適用して高速化を図ったものに本方式を適用した場合の例を具体例１として説明する。ここでは、説明を簡単化するために、具体例１は、従来例４で１倍速化を行った場合、すなわち、従来例４を適用しない場合を含むものとしている。
【００７２】
図１１は、従来例１に従来例４を適用し、且つ本実施形態の方式を適用した場合のターボ復号装置を示すブロック図である。図１１に示すように、ターボ復号装置２０は、通信路値ＲＡＭ２１と、複数のＭＡＰ部(ＭＡＰ復号器)２２(＃１〜＃Ｍ)と、インタリーブＲＡＭ２３とを含んでいる。
【００７３】
通信路値部ＲＡＭ２１には、受信データｙａ,ｙｂ,ｙｃが入力される。通信路値ＲＡＭ部２１は、受信データｙａ,ｙｂ,ｙｃを記憶して、選択的に出力することが可能となっている。すなわち、ターボ復号処理の開始時に受信データｙａ,ｙｂを出力し、その後、前
半部分の終了後に受信データｙｃを出力することができる。
【００７４】
インタリーブＲＡＭ２３は、各ＭＡＰ部２２からの要素復号結果を格納してインタリーブ及びデインタリーブを交互に行い、それらの結果を各ＭＡＰ部２２の移行確率演算器にフィードバックすることができる。
【００７５】
ＭＡＰ部＃１は、図２における第１、第２の要素復号器として、すなわちターボ復号の前半の要素復号器(ＤＥＣ１)、後半の要素復号器(ＤＥＣ２)として交互に使用される。ＭＡＰ部＃２は、図２におけるＤＥＣ１及び２として交互に使用される。各ＭＡＰ部＃３〜＃Ｍは、図２のＤＥＣ１及び２として交互に使用される。
【００７６】
インタリーブＲＡＭ部２３は図２におけるインタリーバ及びデインタリーバとして交互に使用される。各ＭＡＰ部＃１〜＃Ｍは同一の構成を備え、移行確率演算器２２１、第１の後方確率演算器２２２、記憶部としての後方確率ＲＡＭ２２３、第２の後方確率演算器２２４、前方確率演算器２２５、結合確率演算器２２６、事後確率演算器２２７、外部情報尤度演算器２２８を有している。結合確率演算器２２６，事後確率演算器２２７及び外部情報尤度演算器２２８が本発明の復号結果算出部に相当する。
【００７７】
後方確率ＲＡＭ２２３及び第２の後方確率演算器２２４が本実施形態の方式を実現するために改良又は追加された構成であり、第２の後方確率演算器２２４は、詳細には、図９の破線で示した構成を備えている。すなわち、後方確率ＲＡＭ２２３が、図９の後方確率ＲＡＭ１１に相当し、第２の後方確率演算器２２４は、図９の破線で囲んだ構成を有している。また、移行確率演算器２２１及び前方確率演算器２２５は、図９における移行確率演算器９及び前方確率演算器１４に相当する。
【００７８】
具体例１では、情報ビットにＴａｉｌビットを付加した信号長がＮビット(Ｎビットの
復号対象信号(符号化データ))であれば、通信路値ＲＡＭ部２２は、該信号長をＭ個に分
割し、ＭＡＰ部＃１〜＃ＭのそれぞれにＮ／Ｍの分割データを同時に入力する。
【００７９】
ＭＡＰ部＃１〜＃Ｍは、それぞれ従来例１のＭＡＰ復号方法に従ってＮ／Ｍビットずつの分割データ０〜Ｎ／Ｍ，  Ｎ／Ｍ〜２Ｎ／Ｍ，．．．，(Ｍ−１)Ｎ／Ｍ〜Ｎに対して同時に(並列に)ＭＡＰ復号処理を行う。
【００８０】
すなわち、１番目のＭＡＰ部＃１において、移行確率演算器２２１及び後方確率演算器２２２は、Ｎ／Ｍ＋Δから０に向かって、移行確率演算および後方確率演算を行い、後方確率演算器２２２は、Ｎ／Ｍ−１から０までの後方確率演算結果を、ｎ個おき(例えばｎ
＝１)に後方確率ＲＡＭ２２３に記憶保持する。なお、Ｎ／Ｍ＋ΔからＮ／Ｍまでの後方
確率は信頼がないため捨てる。
【００８１】
次に、移行確率演算器２２１及び前方確率演算器２２５は、０からＮ／Ｍ−１に向かって移行確率演算および前方確率演算を行う。このとき、後方確率演算結果が後方確率ＲＡＭ２２３に記憶されている場合には、後方確率演算器２２４からその値が結合確率演算器２２６に入力される。これに対し、後方確率演算結果が後方確率ＲＡＭ２２３に格納されていない場合には、後方確率演算器２２４は、後方確率ＲＡＭ２２３に記憶された後方確率演算結果と、その時の移行確率演算結果とから、所望の後方確率演算結果を算出し、結合確率演算器２２６に入力する。
【００８２】
例えば、時間ｉにおける後方確率演算結果が後方確率ＲＡＭ２２３に記憶されていない場合には、後方確率演算器２２４は、時間ｉ＋１における後方確率演算結果β(ｉ＋１)と、そのときの移行確率演算結果γ(ｉ＋１)とから時間ｉにおける後方確率演算結果β(ｉ)を再計算し、結合確率演算器２２６に入力する。結合確率演算器２２６は後方確率演算結果と前方確率演算結果とを用いて結合確率演算を行い、事後確率演算器２２７及び外部情報尤度演算器２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【００８３】
なお、後方確率の演算をＮ／ＭからでなくＮ／Ｍ＋Δから開始する理由は以下の通りで
ある。後方確率演算は時刻Ｎ／Ｍでの確率を演算するために、時刻Ｎ／Ｍ＋１での確率をもとに演算する。このためＮ／Ｍ＋１での後方確率演算が正しくないとＮ／Ｍでの後方確率演算が正しく演算できない。そこで時刻Ｎ／Ｍ＋Δでの後方確率演算を初期値として適当なものを使用し、順にＮ／Ｍ＋（Δ−１）、Ｎ／Ｍ＋（Δ−２）、Ｎ／Ｍ＋（Δ−３）、……Ｎ／Ｍ＋２、Ｎ／Ｍ＋１、Ｎ／Ｍを演算する。このように演算することで順に信頼度の高い後方確率演算結果が得られることになる。以降、Ｎ／Ｍ−１、Ｎ／Ｍ−２、…は信頼のおけるＮ／Ｍから演算されるため信頼のおける結果となる。
【００８４】
また、ｉ番目のＭＡＰ部＃ｉにおいて、移行確率演算器２２１及び後方確率演算器２２２はｉＮ／Ｍ＋Δから（ｉ−１）Ｎ／Ｍに向かって、移行確率演算および後方確率演算を行い、後方確率演算器２２２は、ｉＮ／Ｍ−１から（ｉ−１）Ｎ／Ｍまでの後方確率演算結果を、１つおきに後方確率ＲＡＭ２２３に記憶保持する。なお、ｉＮ／Ｍ＋ΔからｉＮ／Ｍまでの後方確率は信頼がないため捨てる。
【００８５】
次に、移行確率演算器２２１及び前方確率演算器２２５は、（ｉ−１）Ｎ／Ｍ−ΔからｉＮ／Ｍ−１に向かって移行確率演算および前方確率演算を行う。
【００８６】
結合確率演算器６は、（ｉ−１）Ｎ／ＭからｉＮ／Ｍ−１の前方確率演算と並行して、後方確率演算結果を後方確率演算器２２４から得て、該後方確率と前方確率を用いて結合確率演算を行う。このとき、後方確率演算器２２４は、後方確率ＲＡＭ２２３に記憶されている値は、その値を結合確率演算器２２６に出力し、記憶されてない値は、ＭＡＰ部＃１と同様の手法で再計算を行い、再計算結果を結合確率演算器２２６に出力する。事後確率演算器２２７及び外部情報尤度演算器２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【００８７】
なお、前方確率を（ｉ−１）Ｎ／Ｍから行わず、（ｉ−１）Ｎ／Ｍ−Δから行う理由は以下の通りである。前方確率演算は時刻Ｎ／Ｍでの確率を演算するために、時刻Ｎ／Ｍ−１での確率をもとに演算する。このためＮ／Ｍ−１での前方確率演算が正しくないとＮ／Ｍでの前方確率演算が正しく演算できない。そこで時刻Ｎ／Ｍ−Ｂでの前方確率演算を初期値として適当なものを使用し、順にＮ／Ｍ−（Δ−１）、Ｎ／Ｍ−（Δ−２）、Ｎ／Ｍ−（Δ−３）、…、Ｎ／Ｍ−２、Ｎ／Ｍ−１、Ｎ／Ｍを演算する。このように演算することで順に信頼度の高い前方確率演算結果が得られることになる。以降、Ｎ／Ｍ＋１、Ｎ／Ｍ＋２、…は信頼のおけるＮ／Ｍがから演算されるため信頼のおける結果となる。
【００８８】
さらに、Ｍ番目のＭＡＰ部＃Ｍにおいて、移行確率演算器２２１及び後方確率演算器２２２はＮ−１から（Ｍ−１）Ｎ／Ｍに向かって、移行確率演算および後方確率演算を行い、後方確率演算器２２２は、Ｎ−１から（Ｍ−１）Ｎ／Ｍまでの後方確率演算結果を、１つおきに後方確率ＲＡＭ２２３に記憶保持する。
【００８９】
次に、移行確率演算器２２１及び前方確率演算器２２５は、（Ｍ−１）Ｎ／Ｍ−ΔからＮに向かって移行確率演算および前方確率演算を行う。
【００９０】
結合確率演算器２２６は、（Ｍ−１）Ｎ／ＭからＮ−１の前方確率演算と並行して、後方確率演算結果を後方確率演算器２２４から得て、該後方確率と前方確率を用いて結合確率演算を行う。
【００９１】
このとき、後方確率演算器２２４は、後方確率ＲＡＭ２２３に記憶されている値は、その値を結合確率演算器２２６に出力し、記憶されてない値は、ＭＡＰ部＃１と同様の手法で再計算を行い、再計算結果を結合確率演算器２２６に出力する。事後確率演算器２２７及び外部情報尤度演算器２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【００９２】
各ＭＡＰ部＃１〜＃Ｍは、上記ＭＡＰ復号動作を並列に行い、インタリーブＲＡＭ部２３は各ＭＡＰ部の復号結果を内蔵のＲＡＭの予め定められた記憶エリアに記憶し、該ＲＡＭ部からＭ組みのデータを所定の順序で同時に読み出し（インタリーブあるいはデインタリーブ）、かかる動作を複数回繰り返すことでターボ復号を行う。
【００９３】
上述した各ＭＡＰ部の動作は、次のようになる。移行確率演算器２２１は、受信データを用いて各時間ｉにおける移行確率演算を行い、移行確率演算結果γ(ｉ)を第１の後方確率演算部２２２及び第２の後方確率演算部２２４に入力する。
【００９４】
第１の後方確率演算部２２２は、Ｎビット中の所定区間における各時間ｉにおける後方確率演算を行い、後方確率演算結果をｎ個おきに後方確率ＲＡＭ２２３に格納する。ここに、ＭＡＰ部＃１,＃２,＃３,・・・,＃Ｍに関して、Ｎビットの復号対象信号(符号化デ
ータ)は、Ｍ個に分割され、各分割データが対応するＭＡＰ部で復号され、これらの要素
復号結果がインタリーブＲＡＭ部２３で結合される。
【００９５】
ＭＡＰ部＃１の後方確率ＲＡＭ２２３には、Ｎ／Ｍ−１から０までの後方確率演算結果のうち、ｎ個(この例では１個)毎に間引きされた後方演算結果β(ｉ)が格納される。例えば、図８に示すように、β(ｉ)及びβ(ｉ＋２)が間引きされ、β(ｉ＋１)，β(ｉ＋３)，β(ｉ＋５),・・・が後方確率ＲＡＭ２２３に格納される。
【００９６】
第２の後方確率演算部２２４は、或る時間ｉの後方確率演算結果(例えばβ(ｉ))が後方確率ＲＡＭ２２３に格納されていない場合に、移行確率演算部２２１から入力される移行確率γ(ｉ＋１)と、後方確率ＲＡＭ２２３に格納された、算出対象の演算結果よりも一つ後方の時間における後方確率演算結果β(ｉ＋１)とを用いて、後方確率β(ｉ)を再計算して出力する。これにより、結合確率演算器２２６には、各時間ｉの後方確率演算結果β(
ｉ)として、後方確率ＲＡＭ２２３に格納された後方確率演算結果と、第２の後方確率演
算器２２４によって再計算された後方確率演算結果との一方が入力される。
【００９７】
前方確率演算部２２５は、Ｎビット中の所定区間における各時間ｉにおける前方確率演算を行い、前方確率演算結果α(ｉ)として結合確率演算器２２６に入力する。結合確率演算器２２６は、同時間の前方確率演算結果と後方確率演算結果とを掛け合わせて結合確率演算結果を算出し、事後確率演算器２２７に入力する。
【００９８】
事後確率演算器２２７は、従来例１で説明した手法を用いて対数尤度(事後確率Ｌ(ｕ１k))を出力する。外部情報尤度演算器２２８は、事後確率Ｌ(ｕ１k)から入力時の事前尤度や通信路値を削除して外部情報尤度Ｌｅ(ｕ１k)を算出する。外部情報尤度Ｌｅ(ｕ１k)は、インタリーブＲＡＭ２３で記憶され、インタリーブされ、次の復号処理において事前尤度Ｌ(ｕ１k')として出力され、移行確率演算器２２１にフィードバックされる。
【００９９】
以上によりターボ復号の第１回目の前半の復号処理(１回のＭＡＰ復号)が終了し、次に、受信データｙａをインタリーブしたものと前半の復号処理で得られた事前尤度Ｌ(ｕ１k')とを新たな受信データｙａ'とみなし、このｙａ'とｙｃとを用いて前述したＭＡＰ復号処理を行い、尤度Ｌ(ｕ２k)を出力する。これで、１回のターボ復号処理が終了する。
各ＭＡＰ部＃１〜＃Ｍの復号結果は、インタリーブＲＡＭ２３の所定領域に格納され、所定の順序で同時に読み出され(インタリーブまたはデインタリーブ)され、このような処理が所定回数(例えば８回)繰り返して行われ、得られた事後確率Ｌ(ｕ８k)＞０であれば復
号結果ｕｋ＝１が、Ｌ(ｕ８k)＜０であれば復号結果ｕｋ＝０が出力される。
【０１００】
なお、Ｎビットの符号化データがＭ個に分割されない場合には、複数のＭＡＰ部２２の
１つのみ(例えば、ＭＡＰ部＃１のみ)が用いられる。この場合、ＭＡＰ部＃１の第１の後方確率演算器２２２は、時間Ｎから０に向かって後方確率演算を行い、時間Ｎから０までの後方確率演算結果を１つおきに後方確率ＲＡＭ２２３に格納する。
【０１０１】
このように、具体例１の構成では、従来例１に従って処理を行い、後方確率演算結果が後方確率ＲＡＭ(メモリ)２２３に書き込まれる。このとき、従来例１では総ての後方確率演算結果が書き込まれる。これに対し、具体例１では、ｎ個おきにしか後方確率演算結果の書き込みが行われない。
【０１０２】
また、後方確率演算結果を用いて結合確率演算が行われる際には、後方確率ＲＡＭ２２３に書き込まれている箇所については、ＲＡＭ２２３から読み出した値を使用して結合確率演算が行われる。これに対し、ＲＡＭ２２３に書き込みが行われなかった箇所(例えば
、β(ｉ))については、第２の後方確率演算器２２４が、ＲＡＭ２２３に書き込まれた値(β(ｉ＋１))と、前方確率演算を行うための移行確率演算結果(γ(ｉ＋１))とを用いて後
方確率演算の再計算を行い、その結果を用いて結合確率演算が行われる。
【０１０３】
図１２において、後方確率ＲＡＭ２２３及び第２の後方確率演算器２２４が従来例１からの変更点となる。従来例１＋４の場合では、後方確率ＲＡＭの大きさはＭ(Ｎ／Ｍ)からＭ(Ｎ／Ｍ／(ｎ＋１))となり、１／(ｎ＋１)の規模(メモリ量)となる。一方、回路規模の増加量は、Ｍ個だけ後方確率演算器(演算器２２４)が増加することとなる。しかし、ｎがある程度小さな値であれば、メモリ削減量が後方確率演算器増加量と比較しても大きな値となる為に、ターボ復号装置全体での回路規模削減効果が期待できる。
【０１０４】
〈具体例２〉
次に、具体例２として、従来例２に従来例４を適用して高速化を行ったターボ復号装置(従来例２＋４)に、本実施形態の方式を適用した場合について説明する。ここでは、説明を簡単化するために、従来例４で１倍速化を行った場合、すなわち、従来例４を適用しない場合を含むものとしている。
【０１０５】
図１２は、従来例２＋４に、本実施形態の方式が適用されたターボ復号装置を示すブロック図である。図１２に示すターボ復号装置２０Ａは、図１１に示したターボ復号装置２０と共通の構成を有するので、主として異なる構成について説明し、共通の構成については説明を省略する。
【０１０６】
図１２において、ターボ復号装置２０Ａでは、Ｔａｉｌビットを含むＮビットの復号対象信号(符号化データ)がＭ個のブロックに分割され、対応するＭＡＰ部２２(ＭＡＰ復号
器＃１〜＃Ｍ)において復号処理される。
【０１０７】
各ＭＡＰ部２２は、同一の構成を有しており、以下の点で具体例１と異なる。二つの移行確率演算器２２１Ａ及び２２１Ｂが設けられている。また、後方確率ＲＡＭ２２３は、第１の記憶領域と、第２の記憶領域とを有している。第１の記憶領域には、従来例２における、離散的な後方確率演算結果(離散β)が記憶される。第２の記憶領域には、従来例２における連続的な後方確率演算結果(連続β)が記憶される。但し、この具体例２では、従来例２において連続的な後方確率演算結果が記憶される部分について、後方確率演算結果がｎ個おき(例えば１つおき)に記憶される。
【０１０８】
具体例２では、情報ビットにＴａｉｌビットを付加した信号長がＮビットであれば、通信路値ＲＡＭ部２１は、該信号長をＭ個に分割し、ＭＡＰ部＃１，＃２,．．．,＃Ｍのそれぞれに分割データを同時に入力する。ＭＡＰ部＃１，＃２,．．．,＃Ｍは、それぞれ従来例２のＭＡＰ復号方法に従って、Ｎ／Ｍビットずつの分割データ０〜Ｎ／Ｍ，  Ｎ／Ｍ
〜２Ｎ／Ｍ，．．，（Ｍ−１）Ｎ／Ｍ〜Ｎに対して同時に(並列に)ＭＡＰ復号処理を行う。
【０１０９】
図７を参考にして、具体例２の動作例を説明する。動作例において従来例２＋４と異なる点は、従来例２で連続的に後方確率演算結果が記憶される区間(図７におけるＬ１〜０
，Ｌ１〜Ｎ／Ｍ，・・・，Ｌ１〜Ｎ(Ｍ−１)／Ｍの区間)で、ｎ個おきに後方確率演算結
果が記憶され、記憶されていない後方確率演算結果が後方確率演算器２２４によって再計算されることである。
【０１１０】
図１２に示す１番目のＭＡＰ部＃１では、次の処理が行われる。
【０１１１】
〈１〉移行確率演算器２２１Ａ及び後方確率演算器２２２は、Ｎ／Ｍ＋Δから０に向かって、移行確率演算および後方確率演算を行い、Ｎ／Ｍ−１，Ｎ／Ｍ−Ｌ−１，Ｎ／Ｍ−２Ｌ−１，Ｎ／Ｍ−３Ｌ−１，…，２Ｌ−１における離散的な後方確率演算結果（Ｌ毎の離散的な後方確率β：図７中のＭＡＰ＃１におけるＬｘ,・・・,Ｌ３,Ｌ２に相当）を後
方確率ＲＡＭ２２３の第１の記憶領域に記憶保持する。また、Ｌ−１から０までの後方確率演算結果(図７中のＭＡＰ＃１のＬ１〜０の後方確率演算結果に相当)を１つおきに後方確率ＲＡＭ２２２の第２の記憶領域に記憶保持する。
【０１１２】
〈２〉移行確率演算器２２１Ｂ及び前方確率演算器２２５は、０からＬ−１(Ｌ１−１)に向かって移行確率演算および前方確率演算を行い、結合確率演算器２２６は後方確率演算結果を後方確率演算器２２４から受け取って結合確率演算を行い、事後確率演算器２２７、外部情報尤度演算器２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【０１１３】
このとき、結合確率演算部２２６は、後方確率演算結果が後方確率ＲＡＭ２２３の第１の記憶領域に記憶されている場合には、その記憶された値を後方確率演算器２２４から受け取る。これに対し、後方確率演算結果が後方確率ＲＡＭ２２３の第１の記憶領域に格納されていない場合には、後方確率演算器２２４が、後方確率ＲＡＭ２２３に記憶された後方確率演算結果と、その時の移行確率演算結果とから所望の後方確率演算結果を再計算し、この再計算された後方確率演算結果が結合確率演算器２２６に入力される(図８,９,１
０参照)。
【０１１４】
〈３〉０からＬ−１(Ｌ１−１)までのＭＡＰ復号処理の終了後、又はこのＭＡＰ復号処理と並列に、後方確率演算器２２２は、２Ｌ−１(図７中のＭＡＰ＃１のＬ２に相当)の後方確率演算結果を第１の記憶領域から読み出し、これを初期値として、移行確率演算器２２１Ａ及び後方確率演算器２２２は２Ｌ−１からＬ(図７中のＭＡＰ＃１のＬ２からＬ１
に相当)に向かって、移行確率演算および後方確率演算を行いながら後方確率演算結果を
１つおきに第２の記憶領域に記憶保持する。
【０１１５】
〈４〉次に、移行確率演算器２２１Ｂ及び前方確率演算器２２５はＬから２Ｌ−１に向かって(図７中のＬ１→Ｌ２に相当)移行確率演算および前方確率演算を行い、結合確率演算器２２６は後方確率演算結果を、後方確率演算器２２４から受け取って結合確率演算を行い、事後確率演算器２２７、外部情報尤度演算器２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。このとき、後方確率演算器２２４は、後方確率演算結果が後方確率ＲＡＭ２２３の第２の記憶領域に記憶されている場合には、その値を結合確率演算器２２６に与える。これに対し、後方確率演算結果が第２の記憶領域に記憶されていない場合には、再計算で得た後方確率演算結果を結合確率演算器２２６に与える。
【０１１６】
〈５〉上述した〈３〉及び〈４〉と同様の処理を、Ｌ単位で繰り返しながら０からＮ／Ｍ−１までの外部情報尤度演算を行う。
【０１１７】
また、ｉ番目のＭＡＰ復号器＃ｉでは、次の処理が行われる。
【０１１８】
〈１〉移行確率演算器２２１Ａ及び後方確率演算器２２２は、ｉＮ／Ｍ＋Δから（ｉ−１）Ｎ／Ｍに向かって(図７中のＭＡＰ＃２の２Ｎ／Ｍ＋Δ→Ｎ／Ｍに相当)、移行確率演算および後方確率演算を行い、ｉＮ／Ｍ−１、ｉＮ／Ｍ−Ｌ−１、ｉＮ／Ｍ−２Ｌ−１、ｉＮ／Ｍ−３Ｌ−１，・・・，（ｉ−１）Ｎ／Ｍ＋２Ｌ−１の離散的な後方確率演算結果（Ｌ毎の離散的な後方確率β：図７中のＭＡＰ＃２のＬｘ,・・・,Ｌ３,Ｌ２に相当）を
後方確率ＲＡＭ２２３の第１の記憶領域に記憶保持する。また、（ｉ−１）Ｎ／Ｍ＋Ｌ−１から（ｉ−１）Ｎ／Ｍまでの後方確率演算結果(Ｌ１からＮ／Ｍまでの後方確率演算結
果に相当)を１つおきに後方確率ＲＡＭ２２３の第２の記憶領域に記憶保持する。
【０１１９】
〈２〉次に、移行確率演算器２２１Ｂ及び前方確率演算器２２５は、（ｉ−１）Ｎ／Ｍ−Δから（ｉ−１）Ｎ／Ｍに向かって(図７中のＭＡＰ＃２の２Ｎ／Ｍ−Δ→Ｎ／Ｍに相
当)、移行確率演算および前方確率演算を行い、ついで（ｉ−１）Ｎ／Ｍから（ｉ−１）
Ｎ／Ｍ＋Ｌ−１に向かって(Ｎ／Ｍ→Ｌ１に相当)、移行確率演算および前方確率演算を行う。
【０１２０】
結合確率演算器２２６は後方確率演算結果を後方確率演算器２２４から受け取って結合確率演算を行い、事後確率演算器２２７、外部情報尤度演算器２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。このとき、後方確率演算器２２４は、ＭＡＰ部＃１の後方確率演算器２２４と同様の処理を行う。
【０１２１】
〈３〉（ｉ−１）Ｎ／Ｍから（ｉ−１）Ｎ／Ｍ＋Ｌ−１まで(２Ｎ／ＭからＮ／Ｍまで
に相当)のＭＡＰ復号処理の終了後、又は並列に、後方確率演算器２２２は、（ｉ−１）
Ｎ／Ｍ＋２Ｌ−１の後方確率演算結果(図７中のＬ２に相当)を第１の記憶領域から読み出し、これを初期値として、移行確率演算器２２１Ａ及び後方確率演算器２２２は（ｉ−１）Ｎ／Ｍ＋２Ｌ−１から（ｉ−１）Ｎ／Ｍ＋Ｌに向かって(Ｌ２→Ｌ１に相当)移行確率演算および後方確率演算を行いながら後方確率演算結果を第２の記憶領域に保持する。
【０１２２】
次に、移行確率演算器２２１Ｂ及び前方確率演算器２２５は、（ｉ−１）Ｎ／Ｍ＋Ｌから（ｉ−１）Ｎ／Ｍ＋２Ｌ−１に向かって(Ｌ１→Ｌ２に相当)、移行確率演算および前方確率演算を行い、結合確率演算器２２６は後方確率演算結果を後方確率演算器２２４から受け取って結合確率演算を行い、事後確率演算器２２７、外部情報尤度演算器２２８は、それぞれ事後確率演算、外部情報尤度演算を行う。
【０１２３】
〈４〉以後、〈３〉と同様にＬ単位で繰り返しながら  （ｉ−１）Ｎ／ＭからｉＮ／Ｍ−１まで(Ｌ２→２Ｎ／Ｍに相当)の外部情報尤度演算を行う。
【０１２４】
さらに、Ｍ番目のＭＡＰ復号器＃Ｍでは、以下の動作が行われる。
【０１２５】
〈１〉移行確率演算器２２１Ａ及び後方確率演算器２２２は、Ｎ−ｉから（Ｍ−１）Ｎ／Ｍに向かって、(図７中のＭＡＰ＃ＭのＮ→Ｎ(Ｍ−１)／Ｍに相当)、移行確率演算および後方確率演算を行い、Ｎ−Ｌ−１、Ｎ−２Ｌ−１、Ｎ−３Ｌ−１、…、（Ｍ−１）Ｎ／Ｍ＋２Ｌ−１の離散的な後方確率演算結果（後方確率β：図７中のＭＡＰ＃ＭのＬｘ，・・・,Ｌ３,Ｌ２に相当）を後方確率ＲＡＭ２２３の第１の記憶領域に記憶保持すると共に、（Ｍ−１）Ｎ／Ｍ＋Ｌ−１から（Ｍ−１）Ｎ／Ｍまでの後方確率演算結果(図７中のＭ
ＡＰ＃ＭのＬ１からＮ(Ｍ−１)／Ｍまでの後方確率演算結果に相当)を、１つおきに後方
確率ＲＡＭ２２３の第２の記憶領域に記憶保持する。
【０１２６】
〈２〉次に、移行確率演算器２２１Ｂ及び前方確率演算器２２５は、（Ｍ−１）Ｎ／Ｍ−Ｂから（Ｍ−１）Ｎ／Ｍに向かって(Ｎ(Ｍ−１)／Ｍ−Δ→Ｎ(Ｍ−１)／Ｍに相当)移行確率演算および前方確率演算を行い、ついで（Ｍ−１）Ｎ／Ｍから（Ｍ−１）Ｎ／Ｍ＋Ｌ−１に向かって(Ｎ(Ｍ−１)／Ｍ→Ｌ１に相当)、移行確率演算および前方確率演算を行う。結合確率演算器２２６は後方確率演算結果を後方確率演算器２２４から受け取って結合確率演算を行い、事後確率演算器７、外部情報尤度演算器８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【０１２７】
〈３〉（Ｍ−１）Ｎ／Ｍから（Ｍ−１）Ｎ／Ｍ＋Ｌ−１まで((Ｍ−１)Ｎ／Ｍ→Ｌ１)のＭＡＰ復号処理の終了後、又は並列に、後方確率演算器２２２は、（Ｍ−１）Ｎ／Ｍ＋２Ｌ−１の後方確率演算結果(Ｌ２の後方確率演算結果に相当)を第１の記憶領域から読み出し、これを初期値として、移行確率演算器２２１Ａ及び後方確率演算器２２２は、（Ｍ−１）Ｎ／Ｍ＋２Ｌ−１から（Ｍ−１）Ｎ／Ｍ＋Ｌに向かって(Ｌ２→Ｌ１に相当)、移行確率演算および後方確率演算を行いながら後方確率演算結果を第２の記憶領域に記憶保持する。
【０１２８】
次に、移行確率演算器１及び前方確率演算器３は、（Ｍ−１）Ｎ／Ｍ＋Ｌから（Ｍ−１）Ｎ／Ｍ＋２Ｌ−１に向かって(Ｌ１→Ｌ２に相当)、移行確率演算および前方確率演算を行い、結合確率演算器２２６は後方確率演算結果を後方確率演算器２２４から受け取って結合確率演算を行い、事後確率演算器２２７、外部情報尤度演算器２２８は、それぞれ事後確率演算、外部情報尤度演算を行う。
【０１２９】
〈４〉  以後、〈３〉と同様にＬ単位で繰り返しながら  （Ｍ−１）Ｎ／ＭからＮ−１まで(Ｌ２→Ｎ)の外部情報尤度演算を行う。
【０１３０】
各ＭＡＰ部＃１，＃２,・・・,＃Ｍは、上記ＭＡＰ復号動作を並列に行い、各復号結果をインタリーブＲＡＭ部２３の予め定められた記憶エリアに記憶し、該ＲＡＭ部２３から所定の順序で読み出すことによりインタリーブあるいはデインタリーブし、かかる動作を複数回繰り返すことでターボ復号を行う。
【０１３１】
具体例２によれば、従来例２に従って処理を行い、後方確率演算結果を後方確率ＲＡＭ２２３の第２の記憶領域に書き込む場合に、後方確率演算結果をｎ個おきに書き込み、従来例２のように、連続的な後方確率演算結果の書き込みを行わない。後方確率演算結果を用いて、結合確率演算を行う際には、後方確率ＲＡＭ２２３に書き込まれている箇所については、後方確率ＲＡＭ２２３から読み出した値を使用して結合確率演算が行われる。これに対し、後方確率ＲＡＭ２２３に書き込みが行われなかった箇所については、ＲＡＭ２２３に書き込まれた値と、前方確率演算を行う際に使用される移行確率結果とを用いて後方確率演算の再計算を行い、その結果を用いて結合確率演算が行われる。
【０１３２】
図１２において、後方確率ＲＡＭ２２３及び後方確率演算器２２４が従来例２からの変更点となる。後方確率ＲＡＭ２２３のメモリサイズは、Ｎ／Ｌ＋２ＭＬから、Ｎ／Ｌ＋ＭＬ／(ｎ＋１)となり、Ｌごとに離散的に保管する部分に関しては同等で、Ｌ区間を連続で保管する部分に関しては１／２(ｎ＋１)となる。一方、回路規模の増加量は、Ｍ個だけ後方確率演算器が増加することとなるが、ｎがある程度小さな値であれば、メモリ削減量が後方確率演算器増加量と比較しても大きな値となる為に、ターボ復号装置全体での回路規模削減効果が期待できる。
【０１３３】
なお、符号化データｕの分割が行われない場合には、複数のＭＡＰ部２２の１つ(例え
ば、ＭＡＰ部＃１)のみを用いてターボ復号処理が行われる。この場合、図５に示すよう
なタイムチャートに従って、復号処理が行われる。但し、連続的な後方確率演算結果(Ｌ
１から０までの後方確率演算結果等)がｎ個おきに後方確率ＲＡＭに記憶され、記憶され
ていない箇所については、前方確率演算時に再計算され、結合確率演算に使用される。
【０１３４】
〈具体例３〉
次に、具体例３として、従来例３に従来例４を適用して高速化を行ったターボ復号装置(従来例３＋４)に、本実施形態の方式を適用した場合について説明する。ここでは、説明を簡単化するために、従来例４で１倍速化を行った場合、すなわち、従来例４を適用しない場合を含むものとしている。
【０１３５】
図１３は、従来例３＋４に、本実施形態の方式が適用されたターボ復号装置を示すブロック図である。図１３に示すターボ復号装置２０Ａは、図１１に示したターボ復号装置２０と共通の構成を有するので、主として異なる構成について説明し、共通の構成については説明を省略する。
【０１３６】
図１３に示すターボ復号装置２０Ｂは、以下の点でターボ復号装置２０(図１１)と異なる。ターボ復号装置２０Ｂは、複数のＭＡＰ部２２(ＭＡＰ部＃１〜＃Ｍ)を有し、各ＭＡＰ部は同じ構成を有している。ＭＡＰ部は、３つの移行確率演算器２２１Ａ，２２１Ｂ及び２２１Ｃと、３つの後方確率演算器２２２Ａ,２２２Ｂ及び２２４とを有し、移行確率
演算器２２１Ａは後方確率演算器２２２Ａと連携し、移行確率演算器２２２Ｂは後方確率演算器２２２Ｂと連携し、移行確率演算器２２２Ｃは後方確率演算器２２４及び前方確率演算器２２５と連携する。
【０１３７】
具体例３では、情報ビットにＴａｉｌビットを付加した信号長がＮビットであれば、通信路値ＲＡＭ部２１は、該信号長をＭ個に分割し、ＭＡＰ部＃１，＃２,・・・,＃Ｍのそれぞれに分割データを同時に入力する。ＭＡＰ部＃１，＃２,・・・,＃Ｍはそれぞれ、従来例３のＭＡＰ復号方法に従ってＮ／Ｍビットずつの分割データ０〜Ｎ／Ｍ，  Ｎ／Ｍ〜２Ｎ／Ｍ，・・・，（Ｍ−１）Ｎ／Ｍ〜Ｎに対して同時に(並列に)ＭＡＰ復号処理を行う。
【０１３８】
１番目のＭＡＰ部＃１では、次の処理が行われる。前提として、分割データ０〜Ｎ／Ｍが、Ｌずつの複数のブロック(０〜Ｌ１，Ｌ１〜Ｌ２，Ｌ２〜Ｌ３，・・・，Ｌｘ〜Ｎ／
Ｍ)に分割され、Ｌを単位とした復号処理が行われる。
【０１３９】
〈１〉移行確率演算器２２１Ａ及び後方確率演算器２２２Ａは、Ｌ２（＝Ｌ＋Δ＝２Ｌ、ただし、Δ＝Ｌ）から０に向かって、移行確率演算および後方確率演算を行い、Ｌ−１から０までの後方確率演算結果をｎ個おき(例えばｎ＝１)に後方確率ＲＡＭ２２３に記憶保持する。なお、Ｌ２（＝Ｌ＋Ｂ＝２Ｌ）からＬ１（＝Ｌ）までの後方確率は信頼がないため捨てる。
【０１４０】
〈２〉次に、移行確率演算器２２１Ｃ及び前方確率演算器２２５は、０からＬ−１(Ｌ
１−１)に向かって移行確率演算および前方確率演算を行い、結合確率演算器２２６はこ
の前方確率と後方確率ＲＡＭ２２３から読み出した後方確率とを用いて結合確率演算を行う。
【０１４１】
このとき、結合確率演算に用いる後方確率演算結果が後方確率ＲＡＭ２２３に格納されていない場合には、後方確率演算器２２４がその再計算を図８〜図１０にて説明した手法を用いて行い、結合確率演算器２２６は、再計算された後方確率と、これに対応する前方確率とを用いて結合確率を演算する。事後確率演算部２２７及び外部情報尤度演算部２２８は、それぞれ事後確率演算、外部情報尤度演算を行う。
【０１４２】
〈３〉後方確率演算器２２２Ａによる後方確率演算中に(例えば、Ｌ２からＬ１までの
後方確率演算が終了した時点で)、移行確率演算器２２１Ｂ及び後方確率演算器２２２Ｂ
は、Ｌ３（＝２Ｌ＋Ｂ＝３Ｌ）からＬ１（＝Ｌ）に向かって移行確率演算および後方確率演算を行い、２Ｌ−１(Ｌ２−１)からＬ(Ｌ１)までの後方確率演算結果をｎ個おき(例え
ばｎ＝１)に後方確率ＲＡＭ２２４に記憶保持する。なお、Ｌ３（＝２Ｌ＋Ｂ＝３Ｌ）か
らＬ２（＝２Ｌ）までの後方確率は信頼がないため捨てる。
【０１４３】
〈４〉上記〈３〉の終了後、移行確率演算器２２１Ｃ及び前方確率演算器２２５は、Ｌ(Ｌ１)から２Ｌ−１(Ｌ２−１)に向かって移行確率演算および前方確率演算を行い、結合確率演算器２２６は、算出された前方確率と後方確率ＲＡＭ２２３から読み出した後方確率，又は後方確率演算器２２４で再計算された後方確率とを用いて結合確率演算を行う。事後確率演算部２２７及び外部情報尤度演算部２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【０１４４】
以後、同様にＬ単位で繰り返しながら０からＮ／Ｍ−１までの外部情報尤度演算を行う。
【０１４５】
また、ｉ番目のＭＡＰ部＃ｉ(例えばｉ＝２)では、Ｎ／Ｍ〜２Ｎ／Ｍの分割データを対象として、次の処理が行われる。前提として、分割データＮ／Ｍ〜２Ｎ／Ｍが、Ｌずつの複数のブロック(０〜Ｌ１，Ｌ１〜Ｌ２，Ｌ２〜Ｌ３，・・・，Ｌｘ〜２Ｎ／Ｍ)に分割され、Ｌを単位とした復号処理が行われる。
【０１４６】
〈１〉移行確率演算器２２１Ａ及び後方確率演算器２２２Ａは（ｉ−１）Ｎ／Ｍ＋Ｌ＋Δから（ｉ−１）Ｎ／Ｍに向かって(Ｌ２→０)、移行確率演算および後方確率演算を行い、（ｉ−１）Ｎ／Ｍ＋Ｌ−１から（ｉ−１）Ｎ／Ｍまでの後方確率演算結果をｎ個(例え
ばｎ＝１)おきに後方確率ＲＡＭ２２３に記憶、保持する。なお、（ｉ−１）Ｎ／Ｍ＋Ｌ
＋Δから（ｉ−１）Ｎ／Ｍ＋Ｌまで(Ｌ２〜Ｌ１)の後方確率は信頼がないため捨てる。
【０１４７】
〈２〉次に、移行確率演算器２２１Ｃ及び前方確率演算器２２５は、（ｉ−１）Ｎ／Ｍ−Δから（ｉ−１）  Ｎ／Ｍに向かって(Ｎ／Ｍ−Δ→Ｎ／Ｍ)、移行確率演算および前方確率演算を行い、ついで、（ｉ−１）Ｎ／Ｍから（ｉ−１）Ｎ／Ｍ＋Ｌ−１(Ｎ／Ｍ→Ｌ
１)に向かって移行確率演算および前方確率演算を行う。
【０１４８】
また、結合確率演算器２２６は、（ｉ−１）Ｎ／Ｍから（ｉ−１）Ｎ／Ｍ＋Ｌ−１の前方確率と、後方確率ＲＡＭ２２３から読み出された後方確率又は後方確率演算器２２４で再計算された後方確率とを用いて結合確率演算を行い、事後確率演算部２２７及び外部情報尤度演算部２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【０１４９】
〈３〉後方確率演算器２２２Ａの演算中(例えば、Ｌ２〜Ｌ１の演算の終了時点)で、移行確率演算器２２１Ｂ及び後方確率演算器２２２Ｂは、（ｉ−１）Ｎ／Ｍ＋２Ｌ＋Δから（ｉ−１）Ｎ／Ｍ＋Ｌに向かって(Ｌ３→Ｌ１)、移行確率演算および後方確率演算を行い、（ｉ−１）Ｎ／Ｍ＋２Ｌ−１から（ｉ−１）  Ｎ／Ｍ＋Ｌまで(Ｌ２〜Ｌ１)の後方確率演算結果をｎ個おきに(例えばｎ＝１)後方確率ＲＡＭ２２３に記憶、保持する。Ｌ３からＬ２までの後方確率は捨てる。
【０１５０】
〈４〉次に、移行確率演算器２２１Ｃ及び前方確率演算器２２５は、（ｉ−１）Ｎ／Ｍ＋Ｌから（ｉ−１）Ｎ／Ｍ＋２Ｌ−１に向かって(Ｌ１→Ｌ２)、移行確率演算および前方確率演算を行い、結合確率演算器２２６は算出された前方確率と、後方確率ＲＡＭ２２３に記憶された後方確率又は後方確率演算器２２４で再計算された後方確率とを用いて結合確率演算を行い、事後確率演算部２２７及び外部情報尤度演算部２２８はそれぞれ事後確
率演算、外部情報尤度演算を行う。
【０１５１】
以後、同様にＬ単位で繰り返しながら  （ｉ−１）Ｎ／ＭからｉＮ／Ｍ−１までの外部情報尤度演算を行う。
【０１５２】
さらに、Ｍ番目のＭＡＰ部＃Ｍでは、Ｎ(Ｍ−１)／Ｍ〜Ｎの分割データを対象として、次の処理が行われる。前提として、分割データＮ(Ｍ−１)／Ｍ〜Ｎが、所定長Ｌずつの複数のブロック(０〜Ｌ１，Ｌ１〜Ｌ２，Ｌ２〜Ｌ３，・・・，Ｌｘ〜Ｎ)に分割され、Ｌを単位とした復号処理が行われる。
【０１５３】
〈１〉移行確率演算器２２１Ａ及び後方確率演算器２２２Ａは、（Ｍ−１）Ｎ／Ｍ＋Ｌ＋Δから（Ｍ−１）Ｎ／Ｍに向かって(Ｌ２→０)、移行確率演算および後方確率演算を行い、（Ｍ−１）Ｎ／Ｍ＋Ｌ−１から（Ｍ−１）Ｎ／Ｍまでの後方確率演算結果をｎ個(例
えばｎ＝１)おきに後方確率ＲＡＭ２２３に記憶、保持する。なお、（Ｍ−１）Ｎ／Ｍ＋
Ｌ＋Δから（Ｍ−１）Ｎ／Ｍ＋Ｌまでの後方確率は信頼がないため捨てる。
【０１５４】
〈２〉次に、移行確率演算器２２１Ｃ及び前方確率演算器２２５は、（Ｍ−１）Ｎ／Ｍ−Δから（Ｍ−１）Ｎ／Ｍに向かって移行確率演算および前方確率演算を行い、ついで、（Ｍ−１）Ｎ／Ｍから（Ｍ−１）Ｎ／Ｍ＋Ｌ−１に向かって((Ｍ−１)Ｎ／Ｍ→Ｌ１)、移行確率演算および前方確率演算を行う。また、結合確率演算器２２６は（Ｍ−１）Ｎ／Ｍから（Ｍ−１）Ｎ／Ｍ＋Ｌ−１の前方確率と、後方確率ＲＡＭ２２３に記憶された後方確率又は後方確率演算器２２４で再計算された後方確率とを用いて結合確率演算を行う。事後確率演算部２２７及び外部情報尤度演算部２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【０１５５】
〈３〉後方確率演算器２２２Ａの演算中(例えば、Ｌ２〜Ｌ１の演算の終了時点)で、移行確率演算器２２１Ｂ及び後方確率演算器２２２Ｂは、（Ｍ−１）Ｎ／Ｍ＋２Ｌ＋Ｂから（Ｍ−１）Ｎ／Ｍ＋Ｌに向かって(Ｌ３→Ｌ１)、移行確率演算および後方確率演算を行い、（Ｍ−１）Ｎ／Ｍ＋２Ｌ−１から（Ｍ−１）Ｎ／Ｍ＋Ｌまでの後方確率演算結果をｎ個(例えばｎ＝１)おきに後方確率ＲＡＭ２２３に記憶、保持する。Ｌ３からＬ２までの後方確率は捨てる。
【０１５６】
〈４〉次に、移行確率演算器２２１Ｃ及び前方確率演算器２２５は（Ｍ−１）Ｎ／Ｍ＋Ｌから（Ｍ−１）Ｎ／Ｍ＋２Ｌ−１に向かって(Ｌ１→Ｌ２)、移行確率演算および前方確率演算を行う。結合確率演算器２２６は、算出された前方確率と後方確率(記憶された後
方確率と再計算された後方確率との一方)とを用いて結合確率演算を行う。事後確率演算
部２２７及び外部情報尤度演算部２２８はそれぞれ事後確率演算、外部情報尤度演算を行う。
【０１５７】
以後、同様にＬ単位で繰り返しながら（Ｍ−１）Ｎ／ＭからＮ−１までの外部情報尤度演算を行う。
【０１５８】
各ＭＡＰ部＃１，＃２,・・・,＃Ｍは、上記ＭＡＰ復号動作を並列に行い、各復号結果をインタリーブＲＡＭ部２３の予め定められた記憶エリアに記憶し、該ＲＡＭ部２３から所定の順序で読み出すことによりインタリーブあるいはデインタリーブし、かかる動作を複数回繰り返すことでターボ復号を行う。
【０１５９】
具体例３の構成では、後方確率演算結果をｎ個おきに後方確率ＲＡＭ２２４に書き込む。後方確率演算結果を用いて結合確率演算を行う際には、後方確率ＲＡＭ２２４に書き込まれている箇所については、そこから読み出した値を使用し、書き込みが行われなかった
箇所については、ＲＡＭ２２４に書き込まれた値と、前方確率演算を行う際に使用される移行確率結果とを用いて後方確率演算の再計算を行い、その結果が結合確率演算に使用される。
【０１６０】
図１３において、後方確率ＲＡＭ２２３及び後方確率演算器２２４が従来例３＋４からの変更点となる。後方確率ＲＡＭ２２３のメモリサイズは、２ＭＬからＭＬ／(ｎ＋１)となり、１／２(ｎ＋１)となる。一方、回路規模の増加量は、Ｍ個だけ後方確率演算器が増加することとなる。しかし、ｎがある程度小さな値であれば、メモリ削減量が後方確率演算器増加量と比較しても大きな値となる為に、ターボ復号装置全体での回路規模削減効果が期待できる。
【０１６１】
なお、本発明の実施形態において、ｎが２以上の場合、例えば、メモリに記憶された後方確率β(ｉ＋１)から再計算した後方確率β(ｉ)を用いて、次以降の後方確率β(ｉ−１),β(ｉ＋２)・・・が再計算されるようにすることができる。
【０１６２】
〔その他〕
上述した実施形態は、以下の発明を開示する。以下の発明は、本発明の目的を逸脱しない範囲で、必要に応じて組み合わせることができる。
【０１６３】
（付記１）  ターボ符号化されたＮビットの符号化データに対する後方確率演算を行う後方確率演算部と、
Ｎビット中の所定区間に関する連続的な複数の後方確率演算結果をｎ個おきに記憶する記憶部と、
前記符号化データに対する前方確率演算を行う前方確率演算部と、
前方確率演算結果と後方確率演算結果とを用いた結合確率演算を通じて符号化データの復号結果を算出する復号結果算出部とを含み、
前記復号結果算出部は、前記前方確率演算結果と、前記記憶部に記憶された後方確率演算結果及び前記後方確率演算部によって再計算された後方確率演算結果とを用いて前記結合確率演算を行うターボ復号装置。(１)
（付記２）  前記結合確率演算は、前記前方確率演算と並列に実行され、
前記復号結果算出部は、前記前方確率演算部で算出されるｉ番目(ｉ＝１〜Ｎ)の前方確率演算結果に対応するｉ番目の後方確率演算結果が前記記憶部に記憶されていれば、この後方確率演算結果を用いてｉ番目の結合確率演算を行い、
ｉ番目の後方確率演算結果が前記記憶部に記憶されていなければ、前記後方確率演算部が、ｉ＋１番目の前方確率演算のために算出されたｉ＋１番目の移行確率演算結果と前記記憶部に記憶されているｉ＋１番目の後方確率演算結果とからｉ番目の後方確率を再計算し、前記復号結果算出部が前記再計算されたｉ番目の後方確率演算結果を用いてｉ番目の結合確率演算を行う付記１記載のターボ復号装置。（２）
（付記３）  ターボ符号化されたＮビットの符号化データに対する後方確率演算を行う後方確率演算部と、
後方確率演算結果を記憶する記憶部と、
前記符号化データに対する前方確率演算を行う前方確率演算部と
後方確率演算結果と前方確率演算結果とを用いた結合確率演算を通じて符号化データの復号結果を算出する復号結果算出部とを含み、
前記後方確率演算部は、Ｎ番目から１番目に向かって後方確率演算を行い、Ｎ番目から１番目の後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部が１番目からＮ番目に向かって前方確率演算を行い、
前記復号結果算出部は、ｉ番目の前方確率演算結果とｉ番目の後方確率演算結果とを用いてｉ番目の結合確率演算を行うときに、ｉ番目の後方確率演算結果が前記記憶部に記憶されていれば、その後方確率演算結果を用いてｉ番目の結合確率演算を行い、そうでなけ
れば、前記後方確率演算部によって再計算されるｉ番目の後方確率演算結果を用いてｉ番目の結合確率演算を行い、１番目からＮ番目までの結合確率演算を通じて前記符号化データの復号結果を出力する
ターボ復号装置。
【０１６４】
（付記４）  ターボ符号化されたＮビットの符号化データを所定長Ｌ毎に復号するターボ復号装置において、
符号化データに対する後方確率演算を行う後方確率演算部と、
後方確率演算結果を記憶する記憶部と、
符号化データに対する前方確率演算を行う前方確率演算部と
後方確率演算結果と前方確率演算結果とを用いた結合確率演算を通じて符号化データの復号結果を算出する復号結果算出部とを含み、
前記後方確率演算部は、Ｎ番目から１番目へ向かって後方確率演算を行い、Ｎ番目からＬ＋１番目までの区間においてＬ毎に離散的な後方確率演算結果を前記記憶部に記憶するとともに、１番目からＬ番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部が１番目からＬ番目までの前方確率演算を行い、
前記復号結果算出部は、１番目からＬ番目までの区間内に位置するｉ番目の前方確率演算結果とｉ番目の後方確率演算結果とを用いてｉ番目の結合確率演算を行うときに、ｉ番目の後方確率演算結果が前記記憶部に記憶されていれば、その後方確率演算結果を用いてｉ番目の結合確率演算を行い、そうでなければ、前記後方確率演算部によって再計算されるｉ番目の後方確率演算結果を用いてｉ番目の結合確率演算を行い、１番目からＬ番目までの区間の復号結果を出力し、
前記後方確率演算部は、Ｌ＋１番目から２Ｌ番目の区間について前記記憶部に記憶された離散的な後方確率演算結果を用いて後方確率演算を行い、Ｌ＋１番目から２Ｌ番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部がＬ＋１番目から２Ｌ番目までの前方確率演算を行い、
前記復号結果算出部は、Ｌ＋１番目から２Ｌ番目までの区間内に位置するｉ番目の前方確率演算結果とｉ番目の後方確率演算結果とを用いてｉ番目の結合確率演算を行うときに、ｉ番目の後方確率演算結果が前記記憶部に記憶されていれば、その後方確率演算結果を用いてｉ番目の結合確率演算を行い、そうでなければ、前記後方確率演算部によって再計算されるｉ番目の後方確率演算結果を用いてｉ番目の結合確率演算を行い、Ｌ＋１番目から２Ｌ番目までの区間の復号結果を出力し、
このような区間毎の復号処理を残りの区間について行う
ターボ復号装置。
【０１６５】
（付記５）  ターボ符号化されたＮビットの符号化データを所定長Ｌ毎に復号するターボ復号装置において、
符号化データに対する後方確率演算を行う第１及び第２の後方確率演算部と、
後方確率演算結果を記憶する記憶部と、
符号化データに対する前方確率演算を行う前方確率演算部と
後方確率演算結果と前方確率演算結果とを用いた結合確率演算を通じて符号化データの復号結果を算出する復号結果算出部とを含み、
前記第１の後方確率演算部は、２Ｌ番目から１番目に向かって後方確率演算を行い、Ｌ番目から１番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、１番目からＬ番目までの前方確率演算を行い、
前記復号結果算出部は、１番目からＬ番目までの区間内に位置するｉ番目の前方確率演算結果とｉ番目の後方確率演算結果とを用いてｉ番目の結合確率演算を行うときに、ｉ番目の後方確率演算結果が前記記憶部に記憶されていれば、その後方確率演算結果を用いてｉ番目の結合確率演算を行い、そうでなければ、前記後方確率演算部によって再計算されるｉ番目の後方確率演算結果を用いてｉ番目の結合確率演算を行い、１番目からＬ番目ま
での区間に対する復号結果を算出し、
前記第２の後方確率演算部は、前記第１の後方確率演算部による２Ｌ番目から１番目までの後方確率演算中に、３Ｌ番目からＬ＋１番目へ向かって後方確率演算を開始し、２Ｌ番目からＬ＋１番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記第２の移行確率演算部及び前記前方確率演算部は、Ｌ＋１番目から２Ｌ番目までの移行確率演算及び前方確率演算を行い、
前記復号結果算出部は、Ｌ＋１番目から２Ｌ番目までの区間内に位置するｉ番目の前方確率演算結果とｉ番目の後方確率演算結果とを用いてｉ番目の結合確率演算を行うときに、ｉ番目の後方確率演算結果が前記記憶部に記憶されていれば、その後方確率演算結果を用いてｉ番目の結合確率演算を行い、そうでなければ、前記後方確率演算部によって再計算されるｉ番目の後方確率演算結果を用いてｉ番目の結合確率演算を行い、Ｌ＋１番目から２Ｌ番目までの区間に対する復号結果を算出し、
このような区間毎の復号結果算出処理を残りの区間について行う
ターボ復号装置。
【０１６６】
（付記６）  ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
Ｎ／Ｍの分割データに対するＮ／Ｍ個の後方確率演算結果をｎ個おきに記憶する記憶部，
Ｎ／Ｍの分割データに対して前方確率演算を行う前方確率演算部，及び
Ｎ／Ｍの分割データに対するＮ／Ｍ個の前方確率演算結果と、前記記憶部からの読み出し、及び前記後方確率演算部の再計算によって得られるＮ／Ｍ個の後方確率演算結果とを用いた結合確率演算を通じてＮ／Ｍの分割データの要素復号結果を出力する復号結果算出部と
を含む
ターボ復号装置。（３）
（付記７）  ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
Ｎ／Ｍの分割データを所定長Ｌ毎にＸ個の区間に分割し、Ｘ番目から２番目までの各区間の後方確率演算結果をＬの間隔を空けて離散的に記憶するともに、１番目の区間に対するＬ個の後方確率演算結果をｎ個おきに記憶する記憶部，
Ｎ／Ｍの分割データに対する前方確率演算を行う前方確率演算部，及び
Ｎ／Ｍの分割データの各区間について、Ｌ個の前方確率演算結果と、これに対応するＬ個の後方確率演算結果とを用いた結合確率演算を通じて各区間の要素復号結果を算出する復号結果算出部とを含み、
前記復号結果算出部は、前方確率演算部で算出された１番目の区間のＬ個の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部の再計算によって得られる１番目の区間のＬ個の後方確率演算結果とを用いた結合確率演算を通じて１番目の区間に
対する要素復号結果を出力し、
前記後方確率演算部は、次の区間に関して前記記憶部に記憶された後方確率演算結果を用いて、次の区間に対する後方確率演算を行い、次の区間に関するＬ個の後方確率演算結果を算出し、これらのＬ個の後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、次の区間に対する前方確率演算を行い、前記復号結果算出部は、前記前方確率演算部で算出された次の区間のＬ個の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部の再計算によって得られる次の区間に関するＬ個の後方確率演算結果とを用いた結合確率演算を通じて次の区間に対する要素復号結果を出力し、
前記後方確率演算部，前記前方確率演算部，及び前記復号結果算出部は、残りの区間があれば、残りの区間について上記処理を繰り返し行う
ターボ復号装置。（４）
（付記８）  ターボ符号化された符号化データを要素復号の繰り返しを通じて復号するターボ復号装置において、
Ｎビットの符号化データがＭ個に分割された分割データの夫々に要素復号を施すＭ個の要素復号器と、
Ｍ個の要素復号結果を纏めてインタリーブ、デインタリーブを交互に繰り返すインタリーブ／デインタリーブ部とを備え、
各要素復号器は、
Ｎ／Ｍの分割データに対する後方確率演算を行う後方確率演算部，
後方確率演算結果を記憶する記憶部，
Ｎ／Ｍの分割データに対する前方確率演算を行う前方確率演算部，及び
前方確率演算結果と後方確率演算結果とを用いた結合確率演算を通じて要素復号結果を算出する復号結果算出部とを含み、
前記後方確率演算部は、Ｎ／Ｍの分割データを所定長Ｌ毎に複数の区間に分割し、２Ｌ番目から１番目までの後方確率演算を行い、Ｌ番目から１番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、Ｎ／Ｍの分割データの１番目からＬ番目の前方確率演算を行い、
前記復号結果算出部は、１番目からＬ番目の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部による再計算によって得られる１番目からＬ番目の後方確率演算結果とを用いて結合確率演算を行い、１番目からＬ番目までの区間に関する要素復号結果を出力し、
前記後方確率演算部は、２Ｌ番目から１番目までの後方確率演算中に、３Ｌ番目からＬ＋１番目までの後方確率演算を行い、２Ｌ番目からＬ＋１番目までの後方確率演算結果をｎ個おきに前記記憶部に記憶し、
前記前方確率演算部は、Ｎ／Ｍの分割データのＬ＋１番目から２Ｌ番目の前方確率演算を行い、
前記復号結果算出部は、Ｌ＋１番目から２Ｌ番目の前方確率演算結果と、前記記憶部からの読み出し及び前記後方確率演算部による再計算によって得られるＬ＋１番目から２Ｌ番目の後方確率演算結果とを用いて結合確率演算を行い、Ｌ＋１番目から２Ｌ番目までの区間に関する要素復号結果を出力し、
前記後方確率演算部，前記前方確率演算部，及び前記復号結果算出部は、残りの区間があれば、残りの区間について上記処理を繰り返し行う
ターボ復号装置。（５）
【図面の簡単な説明】
【０１６７】
【図１】ターボ符号器及びターボ復号器を含む通信システムの例を示す図である。
【図２】ターボ復号器(ターボ復号装置)の構成例を示す図である。
【図３】ＭＡＰを適用したターボ復号器の構成例を示す図である。
【図４】従来例１における１回のＭＡＰ復号処理を示すタイミングチャートである。
【図５】従来例２の方式による１回のＭＡＰ復号処理を示すタイミングチャートである。
【図６】従来例３の方式による１回のＭＡＰ復号処理を示すタイミングチャートである。
【図７】従来例４の方式を従来例２に適用した場合のタイミングチャートである。
【図８】本発明の実施形態に係る結合確率演算処理の概念図である。
【図９】本発明の実施形態において追加される回路部のブロックを示す。
【図１０】メモリに保管されなかった箇所の後方確率の再演算のタイミングチャートを示す。
【図１１】本発明の実施形態の具体例１におけるターボ復号装置の構成例を示す。
【図１２】本発明の実施形態の具体例２におけるターボ復号装置の構成例を示す。
【図１３】本発明の実施形態の具体例３におけるターボ復号装置の構成例を示す。
【符号の説明】
【０１６８】
９・・・移行確率演算器
１０・・・後方確率演算器
１１
２０，２０Ａ，２０Ｂ・・・ターボ復号装置
２１・・・通信路値ＲＡＭ部
２２・・・ＭＡＰ部(ＭＡＰ復号器：要素復号器)
２３・・・インタリーブＲＡＭ部(インタリーブ／デインタリーブ部)
２２１,２２１Ａ,２２１Ｂ,２２１Ｃ・・・移行確率演算器
２２２,２２２Ａ,２２２Ｂ,２２４・・・後方確率演算器
２２３・・・後方確率ＲＡＭ(記憶部)
２２５・・・前方確率演算器
２２６・・・結合確率演算器
２２７・・・事後確率演算器
２２８・・・外部尤度情報演算器
【図１】
2008099145.tif 000003
【図２】
2008099145.tif 000004
【図３】
2008099145.tif 000005
【図４】
2008099145.tif 000006
【図５】
2008099145.tif 000007
【図６】
2008099145.tif 000008
【図７】
2008099145.tif 000009
【図８】
2008099145.tif 000010
【図９】
2008099145.tif 000011
【図１０】
2008099145.tif 000012
【図１１】
2008099145.tif 000013
【図１２】
2008099145.tif 000014
【図１３】
2008099145.tif 000015