(57)【要約】【目的】  MAP復号に要する時間を短縮することである。  【構成】  情報長Nを分割長Lで分割したとき、余り領域を含めた分割数を2nとするとき、 第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算すると共に分割点の後方用確率を離散的に保存し、該後方用確率演算と並行して第１前方用確率から順方向に第n区間までの前方用確率を演算すると共に各分割点の前方用確率を離散的に保存する。以後、これら離散的に保存した後方用確率及び前方用確率を用いて区間毎に後方用確率と前方用確率を求め、これら各確率を用いて全区間の復号結果を順次求める。【選択図】  図３
2006324754.tif 000002
【特許請求の範囲】
【請求項１】
長さＮの情報を符号化して得られた符号化データの第１〜第ｋ番目の符号化データを用いて第ｋ前方用確率を演算すると共に、第Ｎ〜第ｋ番目の符号化データを用いて第ｋ後方用確率を求め、これら確率を用いて第ｋ番目の復号結果を出力する最大事後確率復号方法において、
情報長Nを複数の区間に分割するとき、 第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算すると共に各分割点の後方用確率を保存し、該後方用確率演算と並行して第１前方用確率から順方向に第n区間までの前方用確率を演算すると共に各分割点の前方用確率を保存する第１ステップ、
前記保存した後方用確率を用いて第(n+1)区間から最終区間までの後方用確率を演算すると共に、第(n+1)区間から最終区間までの前方用確率を演算し、これら後方用確率と前方用確率を用いて第（n+1)区間から最終区間までの復号結果を求める第２ステップ、
ついで、前記保存した前方用確率を用いて第n区間から第1区間までの前方用確率を演算すると共に、前記保存した第ｎ分割点の後方用確率を用いて第n区間から第1区間までの後方用確率を演算し、これら前方用確率と後方用確率を用いて第n区間から第1区間までの復号結果を求める第3ステップ、
を有することを特徴とする最大事後確率復号方法。
【請求項２】
前記分割される区間の総数は、２ｎ又は２ｎ＋１（ｎは自然数）であり、
前記第(n+1)区間の後方用確率は、前記第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算したときに保存しておく、
ことを特徴とする請求項１記載の最大事後確率復号方法。
【請求項３】
前記第１ステップは、
第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算すると共に、各分割点の後方用確率を離散的に保存し、かつ、第(n+1)番目の分割区間の後方用確率を連続的に保存するステップ、
該後方用確率演算と並行して第１前方用確率から順方向に第n区間までの前方用確率を演算すると共に各分割点の前方用確率を離散的に保存するステップ
を備え、前記第２ステップは、
第(n+1)番目の分割区間の前方用確率を演算し、該前方用確率と前記保存してある該(n+1)番目の分割区間の後方用確率を用いて該(n+1)番目の分割区間の復号結果を求め、これらと並行して前記保存してある分割点（n＋2）の後方用確率から逆方向に第(n+2)番目の分割区間の後方用確率を演算して保存するステップ、
ついで、第(n+2)番目の分割区間の前方用確率を演算し、該前方用確率と前記保存してある該(n+2)番目の分割区間の後方用確率を用いて該(n+2)番目の分割区間の復号結果を求め、これらと並行して前記保存してある分割点（n＋3）の後方用確率から逆方向に第(n+3)番目の分割区間の後方用確率を演算して保存し、以後、同様にして最後の分割区間までの復号結果を求めるステップ、
を備え、前記第３ステップは、
前記保存してある分割点nの後方用確率から逆方向に第n番目の分割区間の後方用確率を演算して保存するステップ、
ついで、前記保存してある(n−1)番目の分割点の前方用確率を用いて第n番目の分割区間の前方用確率を演算し、該前方用確率と前記保存してある該n番目の分割区間の後方用確率を用いて該n番目の分割区間の復号結果を求め、これらと並行して逆方向に第(n−１)番目の分割区間の後方用確率を演算して保存するステップ、
ついで、前記保存してある(n−2)番目の分割点の前方用確率を用いて第(n−1)番目の分割区間の前方用確率を演算し、該前方用確率と前記保存してある該(n−1)番目の分割区間の後方用確率を用いて該(n−1)番目の分割区間の復号結果を求め、これらと並行して、逆方向に第(n−2)番目の分割区間の後方用確率を演算して保存し、以後、同様にして最初の分割区間までの復号結果を求めるステップ、
を有することを特徴とする請求項1記記載の最大事後確率復号方法。
【請求項４】
前記分割数が奇数の場合、前記第1ステップにおいて、
第Ｎ後方用確率から逆方向に第（2n+1）番目の分割区間の後方用確率を演算し、
ついで、第2n番目の分割区間から第(n+1)番目の分割区間の後方用確率を演算すると共に、第１番目の分割区間から第n番目の分割区間までの前方用確率を演算する、
ことを特徴とする請求項３記載の最大事後確率復号方法。
【請求項５】
前記分割数が偶数の場合、前記第1ステップにおいて、
第１番目の分割区間の前方用確率演算と第2n番目の分割区間の後方用確率の演算が終了後、第（2n‐1）番目の分割区間から第(n+1)番目の分割区間の後方用確率と、第２番目の分割区間から第n番目の分割区間までの前方用確率を並行して演算する、
ことを特徴とする請求項３記載の最大事後確率復号方法。
【請求項６】
前方用確率演算と後方用確率演算において同時にアクセスされるメモリを、アドレス数が最小N/2の2つのシングルポートRAMで構成し、かつ、シングルポートRAMに同時にアクセスしないようにアドレスを発生し、
前記シングルポートRAMに同時にアクセスしないようにアドレスを発生できない場合には前記メモリをデュアルポートRAMで、あるいは、メモリを2面持たせて構成する、
ことを特徴とする請求項３記載の最大事後確率復号方法。
【請求項７】
前方用確率演算と後方用確率演算において同時にアクセスされるメモリを、アドレス数が最小N/2の2つのシングルポートRAMで構成し、かつ、シングルポートRAMに同時にアクセスしないようにアドレスを発生し、
インタリーブ処理が原因で前記シングルポートRAMに同時にアクセスする事態が生じる場合には、該インタリーブ処理したアドレスを元のアドレスに戻して前記メモリにデータを格納することにより、シングルポートRAMに同時にアクセスしないようにアドレスを発生する、
ことを特徴とする請求項３記載の最大事後確率復号方法。
【請求項８】
長さＮの情報を符号化した符号化データの第１〜第ｋ番目の符号化データを用いて第ｋ前方用確率を演算すると共に、第Ｎ〜第ｋ番目の符号化データを用いて第ｋ後方用確率を求め、これら確率を用いて第ｋ番目の復号結果を出力する復号装置において、
後方用確率を演算する後方用確率演算部、
演算された後方用確率を保存する後方用確率保存部、
前方用確率を演算する前方用確率演算部、
演算された前方用確率を保存する前方用確率保存部、
第ｋ前方用確率と第ｋ後方用確率を用いて第ｋ番目の復号結果を求める復号結果演算部、
前記後方用確率演算部、前方用確率演算部、復号結果演算部の演算タイミングを制御する制御部を備え、
（1）情報長Nを分割長Lで分割したとき、余り領域を含めた分割数を2n (2nは偶数)または2n＋1（2n＋1は奇数）とするとき、前記後方用確率演算部は、第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算すると共に各分割点の後方用確率を離散的に前記後方用確率保存部に保存し、該後方用確率演算と並行して前記前方用確率演算部は、第１前方用確率から順方向に第n区間までの前方用確率を演算すると共に各分割点の前方用確率を離散的に前記前方用確率保存部に保存し、
（2）前記後方用確率演算部は、前記離散的に保存した後方用確率を用いて第(n+1)区間から最終区間までの後方用確率を演算すると共に、前記前方用確率演算部は、第(n+1)区間から最終区間までの前方用確率を演算し、前記復号結果演算部はこれら後方用確率と前方用確率を用いて第（n+1)区間から最終区間までの復号結果を求め、
（3）ついで、前記前方用確率演算部は、前記離散的に保存した前方用確率を用いて第n区間から第1区間までの前方用確率を演算すると共に、前記後方用確率演算部は、前記保存した第ｎ分割点の後方用確率を用いて第n区間から第1区間までの後方用確率を演算し、前記復号結果演算部はこれら前方用確率と後方用確率を用いて第n区間から第1区間までの復号結果を求める、
ことを特徴とする復号装置。
【請求項９】
前記第(n+1)区間の後方用確率は、前記第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算したときに、前記後方用確率保存部に保存しておくことを特徴とする請求項８記載の復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最大事後確率(MAP: Maximum A Posteriori Probability)復号方法及び該復号方法を用いた復号装置に係わり、特に、最大事後確率復号における後方用確率と前方用確率を同時に演算することにより復号時間を短縮し、かつメモリの使用量を減少する最大事後確率復号方法及び装置に関する。
【背景技術】
【０００２】
誤り訂正符号は、受信情報や再生情報などに含まれる誤りを訂正して正しく元の情報を復号できるようにするためのもので、種々のシステムに適用されている。例えば、移動通信、FAXその他のデータ通信に際してデータを誤りなく伝送する場合、あるいは、磁気ディスク、CDなどの大容量記憶媒体からデータを誤り無く再生する場合に適用されている。
誤り訂正符号の中でもターボ符号（例えば米国特許番号5,446,747号明細書参照)は次世代移動体通信において、標準化に採用されることが決まっている。かかるターボ符号において、最大事後確率復号(MAP復号: Maximum A Posteriori Probability Decoding)が大きな効果を発揮する。
図９はターボ符号器及びターボ復号器を含む通信システムの構成図であり、１１はデータ送信側に設けられたターボ符号器、１２はデータ受信側に設けられたターボ復号器、，１３はデータ通信路である。又、ｕは伝送する長さ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と順番が異なるだけであるため出力しない。
【０００３】
図１０はターボ符号器１１の詳細図であり、１１ａ，１１ｂは同一構成の畳み込み符号器(ENC1,ENC2)、１1ｃはインタリーブユニット(π)である。畳込み符号器１１ａ、１１ｂは再帰組織畳込み符号を出力する構成になっており、２つのフリップフロップFF1,FF2、３つの排他的論理和回路EXOR1〜EXOR3を図に示すように接続して構成されている。フリップフロップFF1,FF2は(00), (01), (10), (11)の4つの状態m(=0〜3)をとり、それぞれの状態において0または1が入力すると、図１１に示すように状態が遷移し、かつ、ｘa,ｘbを出力する。図１１において、左側は受信データ入力前の状態、右側は入力後の状態、実線は"0"入力時の状態遷移パス、点線は"1"入力時の状態遷移パス、パス上の00,11,10,01は出力信号ｘa,ｘbの値を示している。例えば、状態0(00)において、"0"が入力すると出力は00で、状態は0(00)になり、"1"が入力すると出力は11で、状態は1(10)になる。
【０００４】
図１２はターボ復号器の構成図である。ターボ復号は、受信信号ｙa，ｙb，ｙcのうち、まずｙaとｙbを使って、第１の要素復号器DEC1で復号を行う。要素復号器DEC1は軟出力要素復号器であり、復号結果の尤度を出力する。次に、第１の要素復号器DEC1から出力された尤度とｙcを用いて第２の要素復号器DEC2で同様の復号を行う。すなわち、第２の要素復号器DEC2も軟出力要素復号器であり、復号結果の尤度を出力する。ｙcは原データｕをインタリーブしたものを符号化したｘcに対応する受信信号なので、第１の要素復号器DEC1から出力される尤度は第２の要素復号器DEC2に入力する前にインタリーブ（π）する。
第２の要素復号器DEC2から出力された尤度はデインタリーブ（π-1）された後、第１の要素復号器DEC1への入力としてフィードバックされる。また、ｕ′は第２の要素復号器DEC2のデインタリーブ結果を"0","1"判定した復号データ(復号結果)である。以後、上記の復号操作を所定回数繰り返し行うことにより、誤り率が低減する。
かかるターボ要素復号器における第１、第２の要素復号器DEC1,DEC2としてMAP要素復号器を使用することができる。
【０００５】
図１３は従来の第１のMAP復号方法を実現するMAP復号器の構成図で、符号化レートＲ、情報長Ｎ、原情報ｕ、符号化データｘａ，ｘｂ、受信データ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〜1)において、原データ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まで演算を行って、ｋ＝１〜Ｎの各時間における移行確率γ０，ｋ，γ１，ｋ，γ２，ｋ，γ３，ｋと前方用確率α１,ｋ，α０,ｋを演算してメモリ２，４ａ〜４ｄにそれぞれ記憶する。
しかる後、後方用確率演算部５は、時間(k+1)の後方用確率βｋ＋１と移行確率 γｓ，ｋ＋１(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ｋ)を演算して出力する。
【０００７】
図１３の第１のMAP復号方法では使用するメモリが非常に多い問題がある。すなわち、第１のMAP復号方法は、移行確率記憶用に4×Nのメモリを、前方用確率記憶用にｍ（状態数）×2×Nのメモリを必要とし、合計(4+ｍ×2)×Nのメモリを必要とする。そして、実際の演算は軟判定信号を伴うからさらに8倍程度以上のメモリを必要とする。
そこで、メモリを削減するために、前方用確率演算と後方用確率演算の演算順を入替えて演算する方法が考えられる。図１４はかかる第２のMAP復号方法を実現するMAP復号器の構成図であり、図１３と同一部分には同一符号を付している。入出力反転部８は受信データの出力順序を適宜反転するもので、全受信データを記憶するメモリと受信データを入力順と逆順にあるいは同順に出力するデータ出力部を備えている。復号法としてMAP復号方法を採用するターボ復号器では受信データをインタリーブする必要があるため全受信データを記憶するメモリが存在するから、上記入出力反転部８のメモリとして該インタリーブ用のメモリを兼用でき、メモリ負担はない。
移行確率演算部１は時間ｋ(=N)として受信データ(yａｋ,yｂｋ)を用いて、確率γ0,k，γ1、k，γ2、k，γ3、kをそれぞれ演算して、メモリ２へ保存する。 また、後方用確率演算部５は、時間k(=N)の後方用確率βk(m)と移行確率γs,k (s=0,1,2,3)を使用して時間k−1の各状態ｍ（=0〜3)における後方用確率βk-1(m)(m=0〜3)を演算してメモリ９に記憶する。 以後、移行確率演算部１及び後方用確率演算部５は、k=k−1として上記演算を繰り返し、k=Nからk=1まで演算を行って、ｋ＝１〜Nの各時間における移行確率γ0,k，γ1、k，γ2、k，γ3、kと後方確率βｋ(m)を演算してメモリ２，９に記憶する。
【０００８】
しかる後、前方用確率演算部３は、時間(k−1)において原データuｋ−１が”1”である前方用確率α１,ｋ−１(m)と原データuｋ−１が”0”である前方用確率α０,ｋ−１(m)と、前記求めた時間ｋにおける移行確率γ0,k，γ1、k，γ2、k，γ3、kとを用いて、時間ｋの各状態ｍ(=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)を記憶する。この結果、必要とするメモリは、移行確率記憶用に4×N、後方用確率記憶用に状態数ｍ×Nを必要とするだけとなり、必要とするメモリは合計(4+ｍ)×Nとなり、図１３の第１のMAP復号方法に比べ必要とするメモリ量を減少できる。しかし、使用メモリを更に減少することができる。
【０００９】
図１６は第３のMAP復号方法の演算シーケンス説明図(特許文献１参照)である。予め、情報長NをL(L=N1/2)毎に分割し、分割点をｍS，ｍ(S-1)， ・・・，ｍ３，ｍ２，ｍ１とする。ただし、分割区間は小数点を桁上げするものとし、また、L値より小さい余り値Mの区間が存在する場合がある。
(1) まず、ｋ＝Ｎの第Ｎ後方用確率から始めてｋ＝１の第１後方用確率まで逆方向に後方用確率βｋ(m)（ｋ＝N〜1）を演算し、離散的に第ｍＳ後方用確率βmＳ(m), 第ｍ(S-1)後方用確率βm(S-1)(m), ・・・，第ｍ３後方用確率βｍ３(m)，第ｍ２後方用確率βｍ２(m)を保存すると共に、第ｍ１後方用確率βｍ１(m)〜第１後方用確率β１(m)を連続的に保存する。
(2) ついで、第１前方用確率α1,1(m), α0,1(m)を演算し、該第１前方用確率と前記保存してある第１後方用確率β１(m)を用いて第１番目の復号データｕ１及び尤度Ｌ(u１)を求め、同様に、第２〜第ｍ１番目の復号データｕ２〜ｕｍ１及び尤度Ｌ(u２)〜Ｌ(uｍ１)を求める。
また、以上と並行して、(1)の処理で保存してある第ｍ２後方用確率βｍ２(m)から始めて第(ｍ１+1)後方用確率βｍ１＋１(m)まで演算して保存する。
(3) ついで、第（ｍ１+1）前方用確率α1,m1+1(m), α0,m1+1(m)を演算し、該第（ｍ１+1）前方用確率と前記保存してある第（ｍ１+1）後方用確率βｍ１＋１(m)を用いて第（ｍ１+1）番目の復号データｕｍ１＋１及び尤度Ｌ(uｍ１＋１)を求め、同様に、第(ｍ１+2)〜第ｍ２番目の復号データｕｍ１＋２〜ｕｍ２及び尤度Ｌ(uｍ１＋２)〜Ｌ(uｍ２)を求める。
また、以上と並行して、(1)の処理で保存してある第ｍ３後方用確率βｍ３(m)から始めて第(ｍ２+1)後方用確率βｍ２＋１(m)まで演算して保存する。
(4) ついで、第（ｍ２+1）前方用確率α1,m2+1(m), α0,m2+1(m)を演算し、該第（ｍ２+1）前方用確率と前記保存してある第（ｍ２+1）後方用確率βｍ２＋１(m)を用いて第（ｍ２+1）番目の復号データｕｍ２＋１及び尤度Ｌ(uｍ２＋１)を求め、同様に、第(ｍ２+2)〜第ｍ３番目の復号データｕｍ２＋２〜ｕｍ３及び尤度Ｌ(uｍ２＋２)〜Ｌ(uｍ３)を求める。
また、以上と並行して、(1)の処理で保存してある第ｍ４後方用確率βｍ４(m) から始めて第(ｍ3+1)後方用確率βｍ3＋１(m)まで演算して保存する。
(5)〜(8) 以後、同様に、第(ｍ３＋１)〜第N番目の復号データｕｍ３＋１〜ｕＮ及び尤度Ｌ(uｍ３＋１)〜Ｌ(uＮ)を求める。
なお、後方用確立演算を行う(1)の状態をSTEPステートと定義し、(2)〜(8)の後方用確立演算、前方用確立演算、結合確率演算を行う状態をDECステートと定義する。STEPステートでは情報長Nの後方用確率演算を行うのでNサイクルの処理時間を要し、DECステートでも情報長Nの前方確率演算、結合確率演算を行うので同様にNサイクルの処理時間を要している。図１７は、STEPステートとDECステートが明確になるようにした第３の復号方法のタイムチャートであり、この図より明らかなように、第3の復号方法では、STEPステートにおいて情報長Nの後方用確率演算を行うのでNサイクルの処理時間を要し、DECステートでも情報長Nの前方確率演算、結合確率演算を行うので同様にNサイクルの処理時間を要している。
【００１０】
図１８は第３のMAP復号方法を実現するMAP復号器の構成図である。 MAP制御部５０はMAP復号器全体を制御し、図１7の演算シーケンスに従って各部の演算タイミング、各メモリへのデータの読出し、データ書き込みをなどを制御する。入出力入替部５１は受信データの出力順序を適宜入れ替えて出力するもので、全受信データを記憶するメモリと受信データを入力順と逆順にあるいは同順に出力するデータ出力部を備えている。
移行確率演算部５２は時間ｋ(=N)として受信データ(yａｋ,yｂｋ)を用いて確率γ0,k，γ1、k，γ2、k，γ3、kをそれぞれ演算する。また、後方用確率演算部５３は、時間k(=N)の後方用確率βｋ(m)と移行確率γｓ，ｋ(s=0,1,2,3)を使用して時間k-1の各状態ｍ(=0〜3)における後方用確率βｋ−１(m)(m=0〜3)を演算する。以後、移行確率演算部５２及び後方用確率演算部５３は、k=k-1として上記演算を繰り返し、k=Nからk=1まで演算を行う。後方用確率演算部５３は、ｋ＝Ｎ〜１までの後方用確率の演算と並行して離散的に求まる第ｍＳ後方用確率βmＳ(m), 第ｍ(S-1)後方用確率βm(S-1)(m), ・・・，第ｍ３後方用確率βｍ３(m)，第ｍ２後方用確率βｍ２(m)をメモリ５４の離散的後方用確率記憶部５４aに記憶し、又、第ｍ１後方用確率βｍ１(m)〜第１後方用確率β１(m)を連続的後方用確率記憶部５４ｂに記憶する。
しかる後、移行確率演算部５２は時間ｋ(=1)として受信データ(yａｋ,yｂｋ)を用いて確率γ0,k，γ1、k，γ2、k，γ3、kをそれぞれ演算する。また、前方用確率演算部５５はｋ＝１とし、時間(k-1)における前方用確率α1、k-1(m)，α0、k-1(m)と、前記求めた時間ｋにおける移行確率γ0,k，γ1、k，γ2、k，γ3、kとを用いて、時間ｋにおける前方用確率α1、k(m)，α0、k(m)を演算する。結合確率演算部５６は時間kの各状態ｍ(=0〜3)における前方用確率α1、k(m)と後方用確率βｋ(m)とを掛け合わせてｋ番目の原データuｋが"1"である確率λ1、k(m)を演算し、同様に、時間kの各状態ｍ(=0〜3)における前方用確率α0、k(m)と後方用確率βｋ(m)とを用いて原データuｋが"0"である確率λ0、k(m)を演算する。
ｕｋ及びｕｋ尤度演算部５７は時間ｋにおける各状態ｍ(=0〜3)の"1"である確率の総和Σｍλ1、k(m)と"0"である確率の総和Σｍλ0、k(m)を求め、次式
Ｌ(u)＝log［Σｍλ1、k(m)/ Σｍλ0、k(m)］
により尤度を出力する。又、Ｌ(u)＞０であれば復号結果ｕｋ=１を、Ｌ(u)＜０であれば復号結果ｕｋ=０を出力する。
以後、移行確率演算部５２、前方確率演算部５５、結合確率演算部５６、ｕｋ及びｕｋ尤度演算部５７はk=k+1として上記演算を繰り返し、k=1からk=m１まで演算を行って、ｋ=1〜m１の各時間におけるｕｋとその信頼度（尤度）Ｌ(uｋ)を演算して出力する。
k=1からk=m１までのｕｋ及びＬ(uｋ)の上記演算と並行してMAP制御部５０の制御により、移行確率演算部５２は時間ｋ(=ｍ２)として受信データ(yａｋ,yｂｋ)を用いて、移行確率γ0,k，γ1、k，γ2、k，γ3、kをそれぞれ演算する。また、後方用確率演算部５３は時間k(=ｍ２)の後方用確率βｋ(m)(=βｍ２(m))を記憶部５４ａより読出し、該後方用確率βｋ(m)と移行確率γｓ，ｋ(s=0,1,2,3)を使用して時間k-1の各状態ｍ(=0〜3)における後方用確率βｋ−１(m)(m=0〜3)を演算して記憶部５４ｂに記憶する。以後、移行確率演算部５２及び後方用確率演算部５３は、k=k-1として上記演算を繰り返し、k=ｍ２からk=ｍ１+1まで演算を行い、第ｍ２後方用確率βｍ２(m)〜第ｍ１+1後方用確率βｍ１＋１(m)を記憶部５４ｂに保存する。
【００１１】
しかる後、移行確率演算部５２は時間ｋ(=ｍ１＋１)として受信データ(yａｋ,yｂｋ)を用いて、確率γ0,k，γ1、k，γ2、k，γ3、kをそれぞれ演算する。また、前方用確率演算部５５はk＝ｍ１+1とし、時間(k-1)における前方用確率α1、k-1(m)，α0、k-1(m)と、前記求めた時間ｋにおける移行確率γ0,k，γ1、k，γ2、k，γ3、kとを用いて、時間ｋの各状態m(=0〜3)における前方用確率α1、k(m)，α0、k(m)を演算する。結合確率演算部５６、ｕｋ及びｕｋ及尤度演算部５７は前述と同様の演算を行って尤度Ｌ(uｋ)及びｕｋを出力する。
以後、移行確率演算部５２、前方確率演算部５５、結合確率演算部５６、ｕｋ及びｕｋ尤度演算部５７はk=k+1として上記演算を繰り返し、k=ｍ１+1からk=ｍ２まで演算を行って、ｋ=ｍ１+1〜ｍ２の各時間におけるｕｋ及びその信頼度（尤度）Ｌ(uｋ)を演算して出力する。また、後方用確率演算部５３は、k=ｍ１+1からk=ｍ２までの上記計算と並行して後方用確率βｍ3(m)〜βm2＋1(m)を演算して記憶部５４ｂに保存する。
以後、同様にして第（ｍ２+１)〜第Ｎ番目の復号データｕｍ２＋１〜ｕＮ及び尤度Ｌ(uｍ２＋１)〜Ｌ(uＮ)を求める。
【００１２】
図１９はターボ復号器(図１２参照)における要素復号器DEC1,DEC2として、本発明のMAP復号器を用いた場合の構成図であり、１つのMAP復号器で要素復号器DEC1,DEC2における復号動作を行うようになっている。尚、図１８のMAP復号器と同一部分には同一符号を付している。
MAP制御部５０は図１７の演算シーケンスに従ってMAP復号器の各種タイミング等を制御すると共に復号データ及び信頼度情報を所定回数繰り返し演算する制御を行い、イネーブル生成部５０aは復号処理の繰り返しに対応して各部にイネーブル信号を供給する。
入出力入替部５１は、受信データｙa，ｙb，ｙcを記憶する入力ＲＡＭ５１ａ〜５１ｃ及び受信データの読み/書き制御を行う入力ＲＡＭ制御部５１ｄを有し、受信データを入力順に出力すると共に、適宜、出力順序を入れ替えて出力する（インタリーブ）。移行確率演算部５２は移行確率を演算するもので、第１、第２の２つの移行確率演算部５２ａ，５２ｂを有している。後方用確率演算部（B演算部）５３は図１８で説明したように後方用確率を演算する。メモリ５４は後方用確率を記憶するもので、離散的後方用確率を記憶するＲＡＭ(STEP RAM)５４ａ、連続的に後方用確率を記憶するＲＡＭ（BAC RAM）５４ｂ、後方用確率の読み／書きを制御するＲＡＭ制御部５４ｃを備えている。前方用確率演算部(A演算部)５５は前方用確率を演算し、結合確率演算部（L算出部）５６は前方用確率と後方用確率とを掛け合わせてｋ番目のデータuｋが"1"である確率と"0"である確率をそれぞれ演算し、尤度演算部（L(u)算出部）５７は復号結果uを出力すると共に事後確率Ｌ(u)を出力する。
Ｓ／Ｐ変換部６１は受信データを直列並列変換して入出力入替部５１に入力する。変換により得られた受信データｙa，ｙb，ｙcはｎビットで量子化された軟判定データである。外部情報尤度算出部（Le(u)算出部）６２は、第１回目のMAP復号においてL(u)算出部５７より出力する事後確率Ｌ(u)とタイミング調整部５１′から入力するMAP復号器入力信号Lyaとを用いて外部情報尤度（今回の信頼度情報）Ｌe(u)を出力する。書込制御部６３は外部尤度情報Ｌe(u)を復号結果RAM６４に書き込み、読出し制御部６５は復号結果RAM６４から読み出すことで外部情報尤度Ｌe(u)に適宜インタリーブ、デインタリーブを施し、次のMAP復号に用いる事前尤度Ｌ(u′)として出力する。
【００１３】
インタリーブ制御部６６は、Prime Interleaveパターン（PILパターン）を保存するPILテーブルRAM６６ａと、該RAMへPILパターンを書込む書込み回路６６ｂを備え、所定の順序でPILパターンをPILテーブルRAMから読出し、該PILパターンに従って入力ＲＡＭ制御部５１と書込み制御部６３と読出し制御部６５を制御する。外部尤度メモリ６７は外部尤度ＲＡＭ６７ａとＲＡＭ制御部６７ｂを備え、インタリーブされた信頼度情報尤度Ｌe(u)をＬ(u′)として記憶し、タイミング調整部６７cは処理時間を考慮して演算データ等の時間調整を行ってＬ(u′)を出力する。
ターボ復号では第２回目以降のMAP復号において、（信号Lya+事前尤度Ｌ(u′))を入力信号Lyaとして使用する。従って、外部情報尤度算出部６２は第２回目のMAP復号において、L(u)算出部５７より出力する事後確率Ｌ(u)と復号器入力信号(=信号Lya+事前尤度Ｌ(u′))を用いて次のMAP復号に用いる外部情報尤度Ｌe(u)を出力する。
書込み制御部６３は外部情報尤度Ｌe(u)をメモリ６４に書き込み、読出し制御部６５はメモリ６４から読み出すことで外部情報尤度Ｌe(u)に適宜インタリーブを施し、次のMAP復号に用いる事前尤度Ｌ(u′)として出力する。以後、同様にして外部情報尤度Ｌe(u)を出力する。
各値のlog値（Lはlogを意味する）を用いると、次式
Ｌ(u)＝Ｌya＋Ｌ(u′)＋Ｌe(u)     (1)
が成立するから、外部情報尤度算出部６２は次式
Ｌe(u)＝Ｌ(u)−Ｌya−Ｌ(u′)     (2)
により外部情報尤度Ｌe(u)を求めることができる。但し、第１回目はＬ(u′)=0である。
書込み制御部６３は最終的に復号データｕを出力する場合には該復号データをメモリ６４に書き込むが、それ以外は外部情報尤度Ｌe(u)をメモリ６４に書き込む。読出し制御部６５は復号データｕを出力する場合は、書き込み順に復号データｕをメモリ６４から読出して出力し、外部情報尤度Ｌe(u)を読み出す場合、インタリーブ制御部６６から指示される読出順に従って読出して出力する。外部尤度メモリ６７はＲＡＭ６７ａとＲＡＭ制御部６７ｂを備え、外部情報尤度Ｌe(u)を事前尤度Ｌ(u′)として記憶する。
【００１４】
図２０はターボ復号のシーケンス説明図である。ターボ復号は図１２より明らかなようにｙa，ｙbを用いる前半の復号と、ｙa，ｙcを用いる後半の復号を一組にして複数回繰り返す。
第１回目の前半の復号処理では、受信信号Ｌcya，Ｌcybを用いて復号し、得られた尤度Ｌ(u１)を出力する。ついで、(2)式(但し、Ｌ(u１′)=0)により、事前尤度Ｌe(u１)を求めインタリーブしてＬ(u2′)とする。
第１回目の後半の復号処理では、受信信号Ｌcyaをインタリーブしたものと前半の復号処理で得られた事前尤度Ｌ(u2′)とを新たな受信信号Ｌcya′とみなし、該Ｌcya′とＬcycを用いて復号し、得られた尤度Ｌ(u２)を出力する。ついで、(2)式により事前尤度Ｌe(u２)を求めデインタリーブしてＬ(u3′)とする。
第２回目の前半の復号処理では、受信信号Ｌcyaと後半の復号処理で得られた事前尤度Ｌ(u3′)とを新たな受信信号Ｌcya′とみなし、該Ｌcya′とＬcybを用いて復号し、得られた尤度Ｌ(u3)を出力する。ついで、上式により事前尤度Ｌe(u3)を求めインタリーブしてＬ(u4′)とする。
第２回目の後半の復号処理では、受信信号Ｌcyaをインタリーブしたものと前半の復号処理で得られた事前尤度Ｌ(u4′)とを新たな受信信号Ｌcya′とみなし、該Ｌcya′とＬcycを用いて復号し、得られた尤度Ｌ(u4)を出力する。ついで、(2)式により事前尤度Ｌe(u4)を求めインタリーブしてＬ(u5′)とする。 以後、上記復号処理を繰り返す。
図２１は図１９のターボ復号器のタイミング図であり、インタリーブを行わない前半部とインタリーブを行う後半部に分けており、インタリーブに対応する後半のSTEPステートをMILSTEPステート、DECステートをMILDECステートという。図２１は説明を容易にするために、実際にはありえないN=８ビット、分割長L=２ビットとしている。
【００１５】
前半部のSTEPステートにおいて、ターボ復号器は入力RAM５１a〜５１cからアドレス(7，6，・・・，1，0）の順に入力データを読み出して移行確率を演算すると共に後方用確率を演算し、L（＝２）毎に離散的に後方用確率β6(m)，β4(m)，β2(m)，を保存すると共に、後方用確率β1(m)〜β0(m)を連続的に保存する。これと並行して、後方からのアドレス(7，6，・・・，1，0）の順に復号結果RAM６４から前回演算して記憶されている外部情報尤度Le(u)を読み出して外部尤度RAM６７aにアドレス(7，6，・・・，1，0）の順に書き込む。
前半部のDECステートにおいて、ターボ復号器は入力RAM５１a〜５１cからアドレス(0、1，2，・・・，6，7）の順に入力データを読み出して移行確率を演算し、かつ、外部尤度RAM６７aからアドレス(0、1，2，・・・，6，7）の順に事前尤度L（u′）を読み出し、これら移行確率と事前尤度L（u′）を用いて前方用確率を演算する。また、ターボ復号器は得られた前方用確率と演算済みの後方用確率を用いて結合確率演算を行なうと共に外部情報尤度Le(u)を演算して復号結果RAM６４にアドレス(0、1，2，・・・，6，7）の順に書き込む。更に、以上と並行してターボ復号器は、離散的に記憶してある後方用確率と入力データと事前尤度L（u′）を用いて後方用確率を連続的に演算する。
また、後半部のMIL STEPステートにおいて、ターボ復号器はPILパターンが示すアドレス(5，3，0，1，7，4，2，6）の順に入力RAM５１a〜５１cから入力データを読み出して移行確率を演算すると共に後方用確率を演算する。これと並行して、PILパターンが示すアドレス(5，3，0，1，7，4，2，6）の順に復号結果RAM６４から前回演算して記憶されている外部情報尤度Le(u)を読み出してアドレス(7，6，・・・，1，0）の順に外部尤度RAM６７aに書き込む。
後半部のMILDECステートにおいて、ターボ復号器は入力RAM５１a〜５１cからPILパターンが示すアドレス（6，2、4，7，1，0，3，5）の順に入力データ(gcehbadf)を読み出して移行確率を演算し、かつ、外部尤度RAM６７aからアドレス(0、1，2，・・・，6，7）の順に事前尤度L（u′）(=gcehbadf)を読み出し、これら移行確率と事前尤度L（u′）を用いて前方用確率を演算する。また、ターボ復号器は得られた前方用確率と演算済みの後方用確率を用いて結合確率演算を行なうと共に外部情報尤度Le(u) (=gcehbadf)を演算して復号結果RAM６４のPILパターンが示すアドレス（6，2、4，7，1，0，3，5）に順に書き込む（インタリーブ）。更に、以上と並行してターボ復号器は、離散的に記憶してある後方用確率と入力データと事前尤度L（u′）を用いて後方用確率を連続的に演算する。
なお、MILDECステートにおいて、入力RAM５１aから後方用確率演算のためのデータと前方用確率演算のためのデータを同時に読み出すが、入力RAM５１a はデュアルポートRAMなので同時読み出しが可能である。また、各種演算後、復号結果を復号結果RAM６４に書き込む時のアドレスもPILパターンであるが、１サイクルに１データを書き込むのでRAMの同時アクセスは無い。
【特許文献１】：国際公開第WO00/52833号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００１６】
第３のMAP復号法によれば、ｍ１＝L，ｍ２＝２L，ｍ３＝３L・・・の場合、後方用確率を記憶するのにL×ｍ+(ｓ−1)（ｍ：状態数）のメモリ容量を必要するだけでよい。又、第Ｎ後方用確率から第１後方用確率まで後方用確率を逆方向に演算し、得られた後方用確率を離散的に記憶し、必要に応じて該離散的に記憶した後方用確率から始めて必要数の後方用確率を演算するようにしたから、該後方用確率βｋ(m)を正確に計算でき、MAP復号の精度を向上することができる。
しかしながら、第３のMAP復号法ではSTEPステート(図１７参照)において、情報長Nの後方用確率演算を行うのでNサイクルの処理時間を要し、DECステートでも情報長Nの前方確率演算、結合確率演算を行うので同様にNサイクルの処理時間を要し、トータル2×Nサイクルの処理時間を必要とする問題がある。その為、制限時間内に情報長Nが長いデータを復号する場合はMAP復号器を複数個実装しなければならず、回路規模が増加していた。
また、第３の復号方法では、後方用確率演算と前方用確率演算の両方を同時に行う必要があるため、同時に各RAMをアクセスする必要が生じる。かかる場合、RAMを２面持たせ、あるいは、デュアルポートRAMを使用することにより対応することが可能であるが、高価な構成になる。
従って、本発明の目的は、第3の復号方法の利点を維持したままMAP復号に要する時間を短縮し、回路規模を削減することである。
本発明の別の目的は、必要とするメモリ量を削減できるようにすることである。
【課題を解決するための手段】
【００１７】
上記課題は本発明によれば、長さＮの情報を符号化した符号化データの第１〜第ｋ番目の符号化データを用いて第ｋ前方用確率を演算すると共に、第Ｎ〜第ｋ番目の符号化データを用いて第ｋ後方用確率を求め、これら確率を用いて第ｋ番目の復号結果を出力する最大事後確率復号方法および復号装置により達成される。
本発明の、最大事後確率復号方法は、(1)情報長Nを複数の区間に分割するとき、 第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算すると共に各分割点の後方用確率を保存し、該後方用確率演算と並行して第１前方用確率から順方向に第n区間までの前方用確率を演算すると共に各分割点の前方用確率を保存する第１ステップ、(2)前記保存した後方用確率を用いて第(n+1)区間から最終区間までの後方用確率を演算すると共に、第(n+1)区間から最終区間までの前方用確率を演算し、これら後方用確率と前方用確率を用いて第（n+1)区間から最終区間までの復号結果を求める第２ステップ、(3)ついで、前記保存した前方用確率を用いて第n区間から第1区間までの前方用確率を演算すると共に、前記保存した第ｎ分割点の後方用確率を用いて第n区間から第1区間までの後方用確率を演算し、これら前方用確率と後方用確率を用いて第n区間から第1区間までの復号結果を求める第3ステップを有している。
前方用確率演算と後方用確率演算で同時にアクセスされるメモリを、アドレス数が最小N/2の2つのシングルポートRAMで構成し、かつ、シングルポートRAMに同時にアクセスしないようにアドレスを発生し、該シングルポートRAMに同時にアクセスしないようにアドレスを発生できない場合には前記メモリをデュアルポートRAMで、あるいは、メモリを2面持たせて構成する。
また、前方用確率演算と後方用確率演算で同時にアクセスされるメモリを、アドレス数が最小N/2の2つのシングルポートRAMで構成し、かつ、シングルポートRAMに同時にアクセスしないようにアドレスを発生し、インタリーブ処理が原因で前記シングルポートRAMに同時にアクセスする場合には、該インタリーブ処理したアドレスを元のアドレスに戻して前記メモリにデータを格納することにより、シングルポートRAMに同時にアクセスしないようにアドレスを発生する。
本発明の復号装置は、後方用確率を演算する後方用確率演算部、演算された後方用確率を保存する後方用確率保存部、前方用確率を演算する前方用確率演算部、演算された前方用確率を保存する前方用確率保存部、第ｋ前方用確率と第ｋ後方用確率を用いて第ｋ番目の復号結果を求める復号結果演算部、前記後方用確率演算部、前方用確率演算部、復号結果演算部の演算タイミングを制御する制御部を備え、（1）情報長Nを分割長Lで分割したとき、余り領域を含めた分割数を2n (2nは偶数)または2n＋1（2n＋1は奇数）とするとき、前記後方用確率演算部は、第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算すると共に各分割点の後方用確率を離散的に前記後方用確率保存部に保存し、該後方用確率演算と並行して前記前方用確率演算部は、第１前方用確率から順方向に第n区間までの前方用確率を演算すると共に各分割点の前方用確率を離散的に前記前方用確率保存部に保存し、（2）前記後方用確率演算部は、前記離散的に保存した後方用確率を用いて第(n+1)区間から最終区間までの後方用確率を演算すると共に、前記前方用確率演算部は、第(n+1)区間から最終区間までの前方用確率を演算し、前記復号結果演算部はこれら後方用確率と前方用確率を用いて第（n+1)区間から最終区間までの復号結果を求め、（3）ついで、前記前方用確率演算部は、前記離散的に保存した前方用確率を用いて第n区間から第1区間までの前方用確率を演算すると共に、前記後方用確率演算部は、前記保存した第ｎ分割点の後方用確率を用いて第n区間から第1区間までの後方用確率を演算し、前記復号結果演算部はこれら前方用確率と後方用確率を用いて第n区間から第1区間までの復号結果を求める。
【発明の効果】
【００１８】
本発明によれば、STEPステート処理にN/2サイクル、DECステート処理にNサイクル、トータル3N/2サイクルを必要とするだけであるため、2Nサイクルを必要とする従来の復号処理に比べて復号処理時間が短縮することができる。仮に、時間T以内にターボ復号を2回行う必要があり且つ1回の復号時間がT/2以上だと、MAP復号器を2個実装しなければならない。本発明を適用することでターボ復号1回の復号処理時間がT/2以下になれば、MAP復号器1個分の回路規模を削減することができる。
また、本発明によれば、分割数が奇数であれば後方用確率演算を前方用確率演算より早めに開始することにより、また、分割数が偶数である場合には、前方用確率演算を後方用確率演算より早めに開始することにより、STEPステートにおける後方用確率演算処理と前方用確率演算処理を同時に終了することができ、復号処理時間が短縮することができる。
また、本発明によれば、前方用確率演算と後方用確率演算で同時にアクセスされるメモリを、アドレス数が最小N/2の2つのシングルポートRAMで構成し、かつ、シングルポートRAMに同時にアクセスしないようにアドレスを発生するようにしたから、使用メモリ量を減少でき、あるいはデュアルポートRAMを使用する必要がなくコストを抑えることができる。また、本発明によれば、インタリーブ処理が原因で前記シングルポートRAMに同時にアクセスする場合、該インタリーブ処理したアドレスを元のアドレスに戻してデータを格納するようにしたからシングルポートRAMに同時にアクセスしないようにでき、この結果、使用メモリ量を減少でき、コストを抑えることができる。
【発明を実施するための最良の形態】
【００１９】
長さＮの情報を符号化した符号化データの第１〜第ｋ番目の符号化データを用いて第ｋ前方用確率を演算すると共に、第Ｎ〜第ｋ番目の符号化データを用いて第ｋ後方用確率を求め、これら確率を用いて第ｋ番目の復号結果を出力する復号装置である。
復号装置は、後方用確率を演算する後方用確率演算部、演算された後方用確率を保存する後方用確率保存部、前方用確率を演算する前方用確率演算部、演算された前方用確率を保存する前方用確率保存部、第ｋ前方用確率と第ｋ後方用確率を用いて第ｋ番目の復号結果を求める復号結果演算部、前記後方用確率演算部、前方用確率演算部、復号結果演算部の演算タイミングを制御する制御部を備えている。
この復号装置の復号方法は、以下の第１〜第３ステップを有している。
第１ステップは、第Ｎ後方用確率から逆方向に第(n+1)区間までの後方用確率を演算すると共に、各分割点の後方用確率を離散的に保存し、かつ、第(n+1)番目の分割区間の後方用確率を連続的に保存するステップ、該後方用確率演算と並行して第１前方用確率から順方向に第n区間までの前方用確率を演算すると共に各分割点の前方用確率を離散的に保存するステップで構成される。
第２ステップは、第(n+1)番目の分割区間の前方用確率を演算し、該前方用確率と前記保存してある該(n+1)番目の分割区間の後方用確率を用いて該(n+1)番目の分割区間の復号結果を求め、これらと並行して前記保存してある分割点（n＋2）の後方用確率から逆方向に第(n+2)番目の分割区間の後方用確率を演算して保存するステップ、ついで、第(n+2)番目の分割区間の前方用確率を演算し、該前方用確率と前記保存してある該(n+2)番目の分割区間の後方用確率を用いて該(n+2)番目の分割区間の復号結果を求め、これらと並行して前記保存してある分割点（n＋3）の後方用確率から逆方向に第(n+3)番目の分割区間の後方用確率を演算して保存するステップ、以後、同様にして最後の分割区間までの復号結果を求めるステップで構成される。
第３ステップは、前記保存してある分割点nの後方用確率から逆方向に第n番目の分割区間の後方用確率を演算して保存するステップ、ついで、前記保存してある(n−1)番目の分割点の前方用確率を用いて第n番目の分割区間の前方用確率を演算し、該前方用確率と前記保存してある該n番目の分割区間の後方用確率を用いて該n番目の分割区間の復号結果を求め、これらと並行して逆方向に第(n−１)番目の分割区間の後方用確率を演算して保存するステップ、ついで、前記保存してある(n−2)番目の分割点の前方用確率を用いて第(n−1)番目の分割区間の前方用確率を演算し、該前方用確率と前記保存してある該(n−1)番目の分割区間の後方用確率を用いて該(n−1)番目の分割区間の復号結果を求め、これらと並行して、逆方向に第(n−2)番目の分割区間の後方用確率を演算して保存するステップ、以後、同様にして最初の分割区間までの復号結果を求めるステップで構成される。
【実施例１】
【００２０】
図１は本発明のターボ復号器の構成図であり、図１９の従来構成と同一部分には同一符号を付している。異なる点は、（1）STEPステートにおいて,後方用確率演算と共に前方用確率演算部５５が前方用確率演算を行い、メモリ制御部７１aの制御で前方用確率メモリ（STEP Aメモリ）７１bに分割長L毎に前方用確率を離散的に記憶する点、（2）DECステートにおいて該分割長L毎の前方用確率を適宜読み出して前方用確率演算部５５に入力して連続的に分割長L分の前方用確率を演算して出力する点である。
図２は情報ビット数Nを分割長Lで分割したときの分割数が奇数の場合における本発明のMAP復号方法の演算シーケンス説明図である。予め、情報長Nを分割長L毎に分割し、分割点を６L，５L，….，２L，Lとする。ただし、分割区間は小数点を桁上げするものとし、また、L値より小さい余り値Mの区間（N~６Lの区間）が存在する場合がある。
(1) STEPステートにおいて、後方用確率演算部５３はｋ＝Ｎの第Ｎ後方用確率から始めてｋ＝６Lの第L後方用確率まで逆方向に後方用確率βｋ(m)（ｋ＝N〜L）を演算し、第６L後方用確率β6L(m)をBメモリ５４bに書き込む。
ついで、後方用確率演算部５３はｋ＝６L〜５Lの後方用確率を演算すると共に、前方用確率演算部５５はｋ＝１〜Lの前方用確率を演算し、第6L後方用確率β6L(m)をBメモリ５４bに書き込むと共に、第L前方用確率αL(m)をAメモリ７１bに書き込む。以後、後方用確率演算部５３は後方用確率を演算して、Bメモリ５４bに後方用確率β6L(m)，β5L(m)，β4L(m)，β3L(m)を離散的に保存すると共にメモリ５４aに後方用確率β4L(m)〜β3L+1(m)を連続して保存する。また、前方用確率演算部５５は前方用確率を演算し、前方用確率αL(m)，α2L(m)，α3L(m)をAメモリ７１bに離散的に保存する（なお、β4L(m)、α3L(m)は必ずしも記憶しなくても良い）。
(分割数−1)L／２個 (図２では3L個)までの後方用確率と前方用確率の演算が終了すれば、STEPステートの処理は終了し第１DECステートDEC1の処理が開始する。
(２)DEC1ステート において、前方用確率演算部５５は第(3L+1)前方用確率α３L+1(m)を演算し、結合確率演算部５６は該第(3L+1)前方用確率α３L+1(m)とSTEPステートにおいて演算して保存してある第(3L+1)後方用確率β３L+1(m)を用いて結合演算を行い、L(u)演算部５７は第(3L+1)番目の復号データｕ３L+1及び尤度Ｌ(u３L+1)を求めて出力する。以後、同様に、第（3L+2）〜第4L番目の復号データｕ3L+2〜ｕ4L及び尤度Ｌ(u3L+2)〜Ｌ(u4L)を求める。また、以上と並行して、後方用確率演算部５３は(1)の処理で保存してある第５L後方用確率β5L(m)から初めて後方用確率β5L(m)〜β4L+1(m)まで演算してメモリ５４aに保存する。
(3) ついで、前方用確率演算部５５は第(4L+1)前方用確率α4L+1(m)を演算し、結合確率演算部５６は該第(4L+1) 前方用確率α4L+1(m)と(2)において演算して保存して第(4L+1)後方用確率β4L+1(m)を用いて結合演算を行い、L(u)演算部５７は第(4L+1) 番目の復号データｕ4L+1及び尤度Ｌ(u4L+1)を求めて出力する。以後、同様に、第（4L+2）〜第5L番目の復号データｕ4L+2〜ｕ5L及び尤度Ｌ(u4L+2)〜Ｌ(u5L)を求める。 また、以上と並行して、後方用確率演算部５３は(1)の処理で保存してある第6L後方用確率β6L(m)から初めて後方用確率β6L(m)〜β5L+1(m)まで演算してメモリ５４aに保存する。
以後、同様にして、第3L+1〜第N番目の復号データｕ3L+1〜ｕN及び尤度Ｌ(u3L+1)〜Ｌ(uN)を求めればDEC1ステートの処理は終了し、DEC2ステートが開始する。
(4)DEC2ステートにおいて、後方用確率演算部５３は(1)の処理で保存してある第3L後方用確率β3L(m)から初めて後方用確率β3L(m)〜β2L+1(m)まで演算して保存する。
ついで、前方用確率演算部５５はAメモリ７１bに記憶してある前方用確率α2L(m)を用いて第(2L+1)前方用確率α2L+1(m)を演算し、結合確率演算部５６は該第(2L+1)前方用確率α2L+1(m)と上記処理において演算して保存してある第(2L+1)後方用確率β2L+1(m)を用いて結合演算を行い、L(u)演算部５７は第(2L+1)番目の復号データｕ2L+1及び尤度Ｌ(u2L+1)を求めて出力する。以後、同様に、第（2L+2）〜第3L番目の復号データｕ2L+2〜ｕ3L及び尤度Ｌ(u2L+2)〜Ｌ(u3L)を求める。また、以上と並行して、後方用確率演算部５３は第2L後方用確率β2L(m)から初めて後方用確率β2L(m)〜βL+1(m)まで演算してメモリ５４aに保存する。
以後、同様の処理により、第1〜第3L番目の復号データｕ1〜ｕ3L及び尤度Ｌ(u1)〜Ｌ(u3L)を求めれば、ターボ復号処理は終了する。
以上のターボ復号処理によれば、STEPステート処理にN/2サイクル、DECステート処理にNサイクル、トータル3N/2サイクルを必要とするだけである。このため2Nサイクルを必要とする、従来の図１７に示す復号処理に比べて復号処理時間が短縮する。
【００２１】
図３は情報ビット数Nを分割長Lで分割したときの分割数が偶数の場合における本発明のMAP復号方法の演算シーケンス説明図である。
(1) 分割数が偶数の場合、STEPステートにおいて、前方用確率から演算を開始する。前方用確率演算部５５はk=1〜Lの受信データについて前方用確率演算を行い、第L前方用確率αL(m)をAメモリ７１aに格納する。k=０〜Lの前方用確率演算を行っている間に、後方用確率演算部５３はN〜7Lの後方用確率演算を行い、第7L後方用確率β7L(m)をBメモリ５４bに書き込む。なお、以上は0〜Lの前方用確率演算の終了時間に合わせてN〜７Lの後方用確率演算を終了するようした例であるが、前方用確率演算と後方用確率演算を同時に開始してもよい。この場合は情報長Nによっては後方用確率演算N〜７Lと後方用確率演算７L〜６Lの間に演算を行わないタイミングが生じる。
次に前方用確率演算部５５はk ＝L〜２Lの受信データについて前方用確率演算を行い、算出した前方用確率α2L(m)をAメモリ７１bに格納する。同時にｋ＝7L〜6Lの後方用確率演算を行い、算出した後方用確率β6L(m)をBメモリ５４bに書き込む。
以後、前方用確率演算部５５は前方用確率を演算し、前方用確率αL(m)，α2L(m)，α3L(m) ，α4L(m)をAメモリ７１bに離散的に保存する。また、後方用確率演算部５３は後方用確率を演算して、Bメモリ５４bに後方用確率β7L(m) ，β6L(m)，β5L(m)，β4L(m)を離散的に保存すると共にメモリ５４aに後方用確率β5L(m)〜β4L+1(m)を連続して保存する。なお、β5L(m)、α4L(m)は必ずしも記憶しなくても良い。
(分割数)×L／２個 (図２では４L)までの後方用確率と前方用確率の演算が終了すれば、STEPステートの処理は終了し第１DECステートDEC1の処理が開始する。
(２)DEC1ステート において、前方用確率演算部５５は第(4L+1)前方用確率α4L+1(m)を演算し、結合確率演算部５６は該第(4L+1)前方用確率α4L+1(m)とSTEPステートにおいて演算して保存してある第(4L+1)後方用確率β4L+1(m)を用いて結合演算を行い、L(u)演算部５７は第(4L+1)番目の復号データｕ4L+1及び尤度Ｌ(u4L+1)を求めて出力する。以後、同様に、第（4L+2）〜第5L番目の復号データｕ4L+2〜ｕ5L及び尤度Ｌ(u4L+2)〜Ｌ(u5L)を求める。また、以上と並行して、後方用確率演算部５３は(1)の処理で保存してある第6L後方用確率β6L(m)から初めて後方用確率β6L(m)〜β5L+1(m)まで演算してメモリ５４aに保存する。
(3) ついで、前方用確率演算部５５は第(5L+1)前方用確率α5L+1(m)を演算し、結合確率演算部５６は該第(5L+1) 前方用確率α5L+1(m)と(2)において演算して保存してある第(5L+1)後方用確率β5L+1(m)を用いて結合演算を行い、L(u)演算部５７は第(5L+1) 番目の復号データｕ5L+1及び尤度Ｌ(u5L+1)を求めて出力する。以後、同様に、第（5L+2）〜第6L番目の復号データｕ5L+2〜ｕ6L及び尤度Ｌ(u5L+2)〜Ｌ(u6L)を求める。 また、以上と並行して、後方用確率演算部５３は(1)の処理で保存してある第7L後方用確率β7L(m)から初めて後方用確率β7L(m)〜β6L+1(m)まで演算してメモリ５４aに保存する。
以後、同様にして、第4L+1〜第N番目の復号データｕ4L+1〜ｕN及び尤度Ｌ(u4L+1)〜Ｌ(uN)を求めればDEC1ステートの処理は終了し、DEC2ステートが開始する。
(4)DEC2ステートにおいて、後方用確率演算部５３は(1)の処理で保存してある第4L後方用確率β4L(m)から初めて後方用確率β4L(m)〜β3L+1(m)まで演算して保存する。
ついで、前方用確率演算部５５はAメモリ７１bに記憶してある前方用確率α3L(m)を用いて第(3L+1)前方用確率α3L+1(m)を演算し、結合確率演算部５６は該第(3L+1)前方用確率α3L+1(m)と上記処理において演算して保存してある第(3L+1)後方用確率β3L+1(m)を用いて結合演算を行い、L(u)演算部５７は第(3L+1)番目の復号データｕ3L+1及び尤度Ｌ(u3L+1)を求めて出力する。以後、同様に、第（3L+2）〜第4L番目の復号データｕ3L+2〜ｕ4L及び尤度Ｌ(u3L+2)〜Ｌ(u4L)を求める。また、以上と並行して、後方用確率演算部５３は第3L後方用確率β3L(m)から初めて後方用確率β3L(m)〜β2L+1(m)まで演算してメモリ５４aに保存する。
以後、同様の処理により、第1〜第4L番目の復号データｕ1〜ｕ4L及び尤度Ｌ(u1)〜Ｌ(u4L)を求めれば、ターボ復号処理は終了する。
以上のターボ復号処理によれば、STEPステート処理にN/2サイクル、DECステート処理にNサイクル、トータル3N/2サイクルを必要とするだけである。このため2Nサイクルを必要とする、従来の図１７に示す復号処理に比べて復号処理時間が短縮する。
図４は本発明のMAP制御部５０の制御処理フローである。分割数が偶数であるか、奇数であるかを判定し(ステップ１０１)、奇数であれば図２の演算シーケンスに従ってターボ復号処理を行い(ステップ１０２)、偶数であれば図３の演算シーケンスに従ってターボ復号処理を行う(ステップ１０３)。
【実施例２】
【００２２】
従来例である図２１の演算シーケンスより明らかなように、DECステート、MILDECステートにおいて、入力RAM５１a〜５１ｃ、外部尤度RAM６７a、PILテーブルRAM６６a等を後方用確率演算と前方用確率演算で同時にアクセスする必要がある。このため、PILテーブルRAM６６a、外部尤度RAM６７a 、復号結果RAM６４を、アドレス数N/2のシングルポートRAMを２個実装して構成し、２個のRAMを分割単位長L毎に切り替えて使用している。なお、入力RAM５１a〜５１ｃはデュアルポートRAMで構成している。
図５はアドレス数Ｎ／２のシングルポートRAMを２個実装した場合の説明図で、N=８ビット、分割長L=２ビットとした例である。図５（a）に示すように２個のRAMをRAM１、RAM２とすると、L＝２のデータD０、D１をRAM１のアドレス０、１に、データD２、D３をRAM２のアドレス０、１に、データD４、D５をRAM１のアドレス２、３に、データD６、D７をRAM２のアドレス２、３に対応付ける（読み書きする）。このように構成することでRAM１のデータとRAM２のデータを同時に読み書きすることが可能となり、ターボ復号器のPILテーブルRAM６６a 、復号結果RAM６４、外部尤度RAM６７aを後方用確率演算と前方用確率演算で同時にアクセスできるようになる。なお、図５（b）に示すようにRAM１、RAM２を結合して通しのアドレスを付加し、それの記憶内容をa〜hとしている。
図６は図１のターボ復号器のタイミング図であり、インタリーブを行わない前半部とインタリーブを行う後半部に分けており、説明を容易にするために、N=８ビット、分割長L=２ビットとしている。図６の各ステートにおいて、入力RAM５１a〜５１ｃ、復号結果RAM６４、外部尤度RAM６７a、PILテーブルRAM６６aは、後方用確率演算と前方用確率演算で同時にアクセスされる。前半部ではインタリーブしていないためアドレス数Ｎ／２のシングルポートRAMを２個実装する構成により同時アクセス可能になる。しかし、後半部のMILSTEPステート、MILDECステートではPILパターンに基づいて並び替えをしているため、単純にアドレス数N/2のシングルポートRAMを２個実装するだけでは解決できない。
そこで、実施例２では、外部尤度RAM６７aとPILテーブルRAM６６a はアドレス数N/2のシングルポートRAMを２個実装して同時アクセスを可能にするが、入力RAM５１a〜５１cおよび復号結果RAM６４については２面実装し、一方を前方用確率演算のために使用し、他方を後方用確率演算のために使用する。あるいは、入力RAM５１a〜５１c及び復号結果RAM６４をデュアルポートRAMで構成し、デュアルポートRAM のAポートを前方用確率演算用とし、Bポートを後方用確率演算用とする。
外部尤度RAM６７aの書き込みについて説明すると、後方からのアドレス(7，6，5，4)と前方からのアドレス(0，1，2，3)で同時に書き込むため、２個のシングルポートRAM構成とすることにより同時書込みが可能になる。
一方、復号結果RAM６４について説明すると、STEPステートは後方からのアドレス(7，6，5，4) と前方からのアドレス(0，1，2，3) でアクセスするため、２個のシングルポートRAM構成とすることにより同時読み出しが可能だが、MILSTEPステートではPILパターンで読み出す為、２個のシングルポートRAM構成としても一方のシングルポートRAMを同時にアクセスする場合が生じ、２個のシングルポートRAM構成にしても同時アクセスは不可能である。そこで、復号結果RAM６４をデュアルポートRAMに変更するか、あるいは２面持たせる。デュアルポートRAMとする場合はAポートを後方確率演算用、Bポートを前方確率演算用(または逆)とし、RAMを２面持たせる場合はSTEP(MILSTEP)ステートで片面を後方演算専用の読み出し、別面を前方演算専用の読み出し用とし、DEC(MILDEC)ステートで復号結果を書き込む場合は両面に同じデータを書き込む。
【実施例３】
【００２３】
実施例２のようにRAMを２面実装し、あるいはデュアルポートRAMを使用すると、使用メモリ量が多くなりあるいはコスト高となる問題がある。そこで、実施例３では、外部尤度RAM６７a、PILテーブルRAM６６a 及び復号結果RAM６４としてアドレス数N/2のシングルポートRAMを２個実装して構成するようにしている。なお、入力RAM５１a〜５１cはデュアルポートRAMとする。
実施例２で復号結果RAM６４を２個のシングルポートRAMで構成できなかった理由は、該復号結果RAM６４にインタリーブして外部情報尤度(事前情報)を保存したことによる。そこで、実施例3では、図７の演算シーケンス（DEC1,DEC2ステート）に示すように、テンポラリRAMを用いて外部情報尤度を復号結果RAM６４にインタリーブしないで書き込むようにしている。このようにすることにより、MILSTEPステートにおいてSTEPステートと同じように、復号結果RAM６４に対して後方からのアドレス(7，6，5，4)と前方からのアドレス(0，1，2，3)で同時読み出しを行うため、２個のシングルポートRAMでもアクセスが可能になる。
図８は実施例3のターボ復号器の構成図であり、図１の第1実施例と異なる点は、(1)インタリーブ制御部６６内にPILパターンと逆のパターンを記憶するテンポラリRAM６６cと該テンポラリRAMに該逆パターンを書き込むテンポラリRAM書込み回路６６dを設け、(2)前半部のDECステートではテンポラリRAM６６cから出力するアドレスを復号結果RAM６４の書込みアドレスとし、後半部のMILDECステートではPILテーブルRAM６６aから発生するアドレスを復号結果RAM６４の書込みアドレスとするアドレス選択部８１を設けている点である。テンポラリRAMから読み出される逆パターンはPILパターンのアドレスを元のアドレスに戻すもので、図７の左上でに示すように、PILパターンによりアドレス(0，1，．．．．，5，6，7)が(6，2，．．．．，0，3，5)にされるが、逆パターンにより元のアドレス(0，1，．．．．，5，6，7)に戻される。
実施例３では図7の演算シーケンスで示すように、STEPステートの動作は実施例２と同じであるが、DECステートでは復号結果を書き込む際にテンポラリRAM６６cの逆パターンにしたがったアドレスを読み出し、該アドレスを復号結果RAM６４の書き込みアドレスとして外部情報尤度Le(u)を書き込む。これによって次のMILSTEPステートでは後方からのアドレス(7，6，5，4)と前方からのアドレス(0，1，2，3)で復号結果RAM６４から外部情報尤度Le(u)を読み出すことが可能となる。なお、MILDECステートではPILテーブルRAM６６aから読み出したPILパターンにしたがったアドレスを復号結果RAM６４の書き込みアドレスとして外部情報尤度Le(u)を書き込む。
実施例３によれば、テンポラリRAM６６cを持つことで、復号結果RAM６４の2面実装またはデュアルポートRAM化の必要がなくなり回路規模削減に効果的である。
【図面の簡単な説明】
【００２４】
【図１】本発明のターボ復号器の構成図である。
【図２】情報ビット数Nを分割長Lで分割したときの分割数が奇数の場合における本発明のMAP復号方法の演算シーケンス説明図である。
【図３】情報ビット数Nを分割長Lで分割したときの分割数が偶数の場合における本発明のMAP復号方法の演算シーケンス説明図である。
【図４】本発明のMAP制御部の制御処理フローである。
【図５】アドレス数Ｎ／２のシングルポートRAMを２個実装した場合の説明図である。
【図６】図１のターボ復号器の全体の演算シーケンスである。
【図７】実施例３のターボ復号器の全体の演算シーケンスである。
【図８】実施例3のターボ復号器の構成図である。
【図９】通信システムの概略図である。
【図１０】ターボ符号器の構成図である。
【図１１】畳み込み符号器の状態遷移図である。
【図１２】ターボ復号器の構成図である。
【図１３】従来の第１のMAP復号器の構成図である。
【図１４】従来の第２のMAP復号器の構成図である。
【図１５】第２のMAP復号方法の演算シーケンス説明図である。
【図１６】従来の第３のMAP復号方法の演算シーケンス説明図である。
【図１７】第３のMAP復号方法の別の演算シーケンス説明図である。
【図１８】従来の第３のMAP復号器の構成図である。
【図１９】従来のターボ復号器の構成図ある。
【図２０】ターボ復号の動作説明図である。
【図２１】図１９のターボ復号器のタイミング図（演算シーケンス説明図）である。
【符号の説明】
【００２５】
５０  MAP制御部
５０a  イネーブル生成部
５１ａ〜５１ｃ 入力ＲＡＭ
５２  移行確率演算部
５３  後方用確率演算部（B演算部）
５４  後方用確率を記憶するメモリ
５５  前方用確率演算部(A演算部)
５６  結合確率演算部（L算出部）
５７  尤度演算部（L(u)算出部）
６２  外部情報尤度算出部（Le(u)算出部）
６３  書込制御部
６４  復号結果RAM
６５  読出し制御部
６６  インタリーブ制御部
６６a  PILテーブルRAM
６７a  外部尤度ＲＡＭ
７１a  メモリ制御部
７１b   前方用確率メモリ
【図１】
2006324754.tif 000003
【図２】
2006324754.tif 000004
【図３】
2006324754.tif 000005
【図４】
2006324754.tif 000006
【図５】
2006324754.tif 000007
【図６】
2006324754.tif 000008
【図７】
2006324754.tif 000009
【図８】
2006324754.tif 000010
【図９】
2006324754.tif 000011
【図１０】
2006324754.tif 000012
【図１１】
2006324754.tif 000013
【図１２】
2006324754.tif 000014
【図１３】
2006324754.tif 000015
【図１４】
2006324754.tif 000016
【図１５】
2006324754.tif 000017
【図１６】
2006324754.tif 000018
【図１７】
2006324754.tif 000019
【図１８】
2006324754.tif 000020
【図１９】
2006324754.tif 000021
【図２０】
2006324754.tif 000022
【図２１】
2006324754.tif 000023