JP4380041B2 - 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 - Google Patents
軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 Download PDFInfo
- Publication number
- JP4380041B2 JP4380041B2 JP2000263129A JP2000263129A JP4380041B2 JP 4380041 B2 JP4380041 B2 JP 4380041B2 JP 2000263129 A JP2000263129 A JP 2000263129A JP 2000263129 A JP2000263129 A JP 2000263129A JP 4380041 B2 JP4380041 B2 JP 4380041B2
- Authority
- JP
- Japan
- Prior art keywords
- log likelihood
- soft output
- circuit
- information
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の属する技術分野】
本発明は、軟出力復号を行う軟出力復号装置及び軟出力復号方法、並びに、繰り返し復号に適した復号装置及び復号方法に関する。
【0002】
【従来の技術】
近年、連接符号における内符号の復号出力や繰り返し復号法における各繰り返し復号動作の出力を軟出力とすることで、シンボル誤り率を小さくする研究がなされており、それに適した復号法に関する研究が盛んに行われている。例えば畳み込み符号等の所定の符号を復号した際のシンボル誤り率を最小にする方法としては、「Bahl, Cocke, Jelinek and Raviv, “Optimal decoding of linear codes for minimizing symbol error rate”, IEEE Trans. Inf. Theory, vol. IT-20, pp. 284-287, Mar. 1974」に記載されているBCJRアルゴリズムが知られている。このBCJRアルゴリズムにおいては、復号結果として各シンボルを出力するのではなく、各シンボルの尤度を出力する。このような出力は、軟出力(soft-output)と呼ばれる。以下、このBCJRアルゴリズムの内容について説明する。なお、以下の説明では、図112に示すように、ディジタル情報を図示しない送信装置が備える符号化装置1001により畳み込み符号化し、その出力を雑音のある無記憶通信路1002を介して図示しない受信装置に入力して、この受信装置が備える復号装置1003により復号し、観測する場合を考える。
【0003】
まず、符号化装置1001が備えるシフトレジスタの内容を表すM個のステート(遷移状態)をm(0,1,・・・,M−1)で表し、時刻tのステートをStで表す。また、1タイムスロットにkビットの情報が入力されるものとすると、時刻tにおける入力をit=(it1,it2,・・・,itk)で表し、入力系統をI1 T=(i1,i2,・・・,iT)で表す。このとき、ステートm’からステートmへの遷移がある場合には、その遷移に対応する情報ビットをi(m’,m)=(i1(m’,m),i2(m’,m),・・・,ik(m’,m))で表す。さらに、1タイムスロットにnビットの符号が出力されるものとすると、時刻tにおける出力をxt=(xt1,xt2,・・・,xtn)で表し、出力系統をX1 T=(x1,x2,・・・,xT)で表す。このとき、ステートm’からステートmへの遷移がある場合には、その遷移に対応する符号ビットをx(m’,m)=(x1(m’,m),x2(m’,m),・・・,xn(m’,m))で表す。
【0004】
符号化装置1001による畳み込み符号化は、ステートS0=0から始まり、X1 Tを出力してST=0で終了するものとする。ここで、各ステート間の遷移確率Pt(m|m’)を次式(1)により定義する。
【0005】
【数1】
【0006】
なお、上式(1)における右辺に示すPr{A|B}は、Bが生じた条件の下でのAが生じる条件付き確率である。この遷移確率Pt(m|m’)は、次式(2)に示すように、入力iでステートm’からステートmへと遷移するときに、時刻tでの入力itがiである確率Pr{it=i}と等しいものである。
【0007】
【数2】
【0008】
雑音のある無記憶通信路1002は、X1 Tを入力とし、Y1 Tを出力する。ここで、1タイムスロットにnビットの受信値が出力されるものとすると、時刻tにおける出力をyt=(yt1,yt2,・・・,ytn)で表し、Y1 T=(y1,y2,・・・,yT)で表す。雑音のある無記憶通信路1002の遷移確率は、全てのt(1≦t≦T)について、次式(3)に示すように、各シンボルの遷移確率Pr{yj|xj}を用いて定義することができる。
【0009】
【数3】
【0010】
ここで、次式(4)のようにλtjを定義する。この次式(4)に示すλtjは、Y1 Tを受信した際の時刻tでの入力情報の尤度を表し、本来求めるべき軟出力である。
【0011】
【数4】
【0012】
BCJRアルゴリズムにおいては、次式(5)乃至次式(7)に示すような確率αt,βt及びγtを定義する。なお、Pr{A;B}は、AとBとがともに生じる確率を表すものとする。
【0013】
【数5】
【0014】
【数6】
【0015】
【数7】
【0016】
ここで、これらの確率αt,βt及びγtの内容について、符号化装置1001における状態遷移図であるトレリスを図113を用いて説明する。同図において、αt-1は、符号化開始ステートS0=0から受信値をもとに時系列順に算出した時刻t−1における各ステートの通過確率に対応する。また、βtは、符号化終了ステートST=0から受信値をもとに時系列の逆順に算出した時刻tにおける各ステートの通過確率に対応する。さらに、γtは、時刻tにおける受信値と入力確率とをもとに算出した時刻tにステート間を遷移する各枝の出力の受信確率に対応する。
【0017】
これらの確率αt,βt及びγtを用いると、軟出力λtjは、次式(8)のように表すことができる。
【0018】
【数8】
【0019】
ところで、t=1,2,・・・,Tについて、次式(9)が成立する。
【0020】
【数9】
【0021】
同様に、t=1,2,・・・,Tについて、次式(10)が成立する。
【0022】
【数10】
【0023】
さらに、γtについて、次式(11)が成立する。
【0024】
【数11】
【0025】
したがって、復号装置1003は、BCJRアルゴリズムを適用して軟出力復号を行う場合には、これらの関係に基づいて、図114に示す一連の工程を経ることにより軟出力λtを求める。
【0026】
まず、復号装置1003は、同図に示すように、ステップS1001において、ytを受信する毎に、上式(9)及び上式(11)を用いて、確率αt(m)及びγt(m’,m)を算出する。
【0027】
続いて、復号装置1003は、ステップS1002において、系列Y1 Tの全てを受信した後に、上式(10)を用いて、全ての時刻tにおける各ステートmについて、確率βt(m)を算出する。
【0028】
そして、復号装置1003は、ステップS1003において、ステップS1001及びステップS1002において算出した確率αt,βt及びγtを上式(8)に代入し、各時刻tにおける軟出力λtを算出する。
【0029】
復号装置1003は、このような一連の処理を経ることによって、BCJRアルゴリズムを適用した軟出力復号を行うことができる。
【0030】
ところで、このようなBCJRアルゴリズムにおいては、確率を直接値として保持して演算を行う必要があり、積演算を含むために演算量が大きいという問題があった。そこで、演算量を削減する手法として、「Robertson, Villebrun and Hoeher, “A comparison of optimal and sub-optimal MAP decoding algorithms operating in the domain”, IEEE Int. Conf. on Communications, pp. 1009-1013, June 1995」に記載されているMax−Log−MAPアルゴリズム及びLog−MAPアルゴリズム(以下、Max−Log−BCJRアルゴリズム及びLog−BCJRアルゴリズムと称する。)がある。
【0031】
まず、Max−Log−BCJRアルゴリズムについて説明する。Max−Log−BCJRアルゴリズムは、確率αt,βt並びにγt、及び軟出力λtを自然対数を用いて対数表記し、次式(12)に示すように、確率の積演算を対数の和演算に置き換えるとともに、次式(13)に示すように、確率の和演算を対数の最大値演算で近似するものである。なお、次式(13)に示すmax(x,y)は、x,yのうち大きい値を有するものを選択する関数である。
【0032】
【数12】
【0033】
【数13】
【0034】
ここで、記載を簡略化するため、自然対数をIと略記し、αt,βt,γt,λtの自然対数値を、それぞれ、次式(14)に示すように、Iαt,Iβt,Iγt,Iλtと表すものとする。なお、次式(14)に示すsgnは、正負を識別する符号を示す定数、すなわち、“+1”又は“−1”のいずれかである。
【0035】
【数14】
【0036】
このような定数sgnを与える理由としては、主に、確率αt,βt,γtが0乃至1の値をとることから、一般に算出される対数尤度(log likelihood)Iαt,Iβt,Iγtが負値をとることにある。
【0037】
例えば、復号装置1003がソフトウェアとして構成される場合には、正負いずれの値をも処理可能であるため、定数sgnは“+1”又は“−1”のいずれであってもよいが、復号装置1003がハードウェアとして構成される場合には、ビット数の削減を目的として、算出される負値の正負識別符号を反転して正値として扱う方が望ましい。
【0038】
すなわち、定数sgnは、復号装置1003が対数尤度として負値のみを扱う系として構成される場合には、“+1”をとり、復号装置1003が対数尤度として正値のみを扱う系として構成される場合には、“−1”をとる。以下では、このような定数sgnを考慮したアルゴリズムの説明を行うものとする。
【0039】
Max−Log−BCJRアルゴリズムにおいては、これらの対数尤度Iαt,Iβt,Iγtを、それぞれ、次式(15)乃至次式(17)に示すように近似する。ここで、次式(15)及び次式(16)に示すmsgn(x,y)は、定数sgnが“+1”の場合には、x,yのうち大きい値を有するものを選択する関数max(x,y)を示し、定数sgnが“−1”の場合には、x,yのうち小さい値を有するものを選択する関数min(x,y)を示すものである。次式(15)における右辺のステートm’における関数msgnは、ステートmへの遷移が存在するステートm’の中で求めるものとし、次式(16)における右辺のステートm’における関数msgnは、ステートmからの遷移が存在するステートm’の中で求めるものとする。
【0040】
【数15】
【0041】
【数16】
【0042】
【数17】
【0043】
また、Max−Log−BCJRアルゴリズムにおいては、対数軟出力Iλtについても同様に、次式(18)に示すように近似する。ここで、次式(18)における右辺第1項の関数msgnは、入力が“1”のときにステートmへの遷移が存在するステートm’の中で求め、第2項の関数msgnは、入力が“0”のときにステートmへの遷移が存在するステートm’の中で求めるものとする。
【0044】
【数18】
【0045】
したがって、復号装置1003は、Max−Log−BCJRアルゴリズムを適用して軟出力復号を行う場合には、これらの関係に基づいて、図115に示す一連の工程を経ることにより軟出力λtを求める。
【0046】
まず、復号装置1003は、同図に示すように、ステップS1011において、ytを受信する毎に、上式(15)及び上式(17)を用いて、対数尤度Iαt(m)及びIγt(m’,m)を算出する。
【0047】
続いて、復号装置1003は、ステップS1012において、系列Y1 Tの全てを受信した後に、上式(16)を用いて、全ての時刻tにおける各ステートmについて、対数尤度Iβt(m)を算出する。
【0048】
そして、復号装置1003は、ステップS1013において、ステップS1011及びステップS1012において算出した対数尤度Iαt,Iβt及びIγtを上式(18)に代入し、各時刻tにおける対数軟出力Iλtを算出する。
【0049】
復号装置1003は、このような一連の処理を経ることによって、Max−Log−BCJRアルゴリズムを適用した軟出力復号を行うことができる。
【0050】
このように、Max−Log−BCJRアルゴリズムは、積演算が含まれないことから、BCJRアルゴリズムと比較して、演算量を大幅に削減することができる。
【0051】
つぎに、Log−BCJRアルゴリズムについて説明する。Log−BCJRアルゴリズムは、Max−Log−BCJRアルゴリズムによる近似の精度をより向上させたものである。具体的には、Log−BCJRアルゴリズムは、上式(13)に示した確率の和演算を次式(19)に示すように補正項を追加することで変形し、和演算の正確な対数値を求めるものである。ここでは、このような補正をlog−sum補正と称するものとする。
【0052】
【数19】
【0053】
ここで、上式(19)における左辺に示す演算をlog−sum演算と称するものとし、このlog−sum演算の演算子を、「S. S. Pietrobon, “Implemntation and performance of a turbo/MAP decoder”, Int. J. Satellite Commun., vol. 16, pp. 23-46, Jan.-Feb. 1998」に記載されている記数法を踏襲し、次式(20)に示すように、便宜上“#”(ただし、同論文中では、“E”。)と表すものとする。
【0054】
【数20】
【0055】
なお、上式(19)及び上式(20)は、上述した定数sgnが“+1”の場合を示している。定数sgnが“−1”の場合には、上式(19)及び上式(20)に相当する演算は、それぞれ、次式(21)及び次式(22)に示すようになる。
【0056】
【数21】
【0057】
【数22】
【0058】
さらに、log−sum演算の累積加算演算の演算子を、次式(23)に示すように、“#Σ”(ただし、同論文中では、“E”。)と表すものとする。
【0059】
【数23】
【0060】
これらの演算子を用いると、Log−BCJRアルゴリズムにおける対数尤度Iαt,Iβt及び対数軟出力Iλtは、それぞれ、次式(24)乃至次式(26)に示すように表すことができる。なお、対数尤度Iγtは、上式(17)で表されるため、ここでは、その記述を省略する。
【0061】
【数24】
【0062】
【数25】
【0063】
【数26】
【0064】
なお、上式(24)における右辺のステートm’におけるlog−sum演算の累積加算演算は、ステートmへの遷移が存在するステートm’の中で求めるものとし、上式(25)における右辺のステートm’におけるlog−sum演算の累積加算演算は、ステートmからの遷移が存在するステートm’の中で求めるものとする。また、上式(26)における右辺第1項のlog−sum演算の累積加算演算は、入力が“1”のときにステートmへの遷移が存在するステートm’の中で求め、第2項のlog−sum演算の累積加算演算は、入力が“0”のときにステートmへの遷移が存在するステートm’の中で求めるものとする。
【0065】
したがって、復号装置1003は、Log−BCJRアルゴリズムを適用して軟出力復号を行う場合には、これらの関係に基づいて、先に図115に示した一連の工程を経ることにより軟出力λtを求めることができる。
【0066】
まず、復号装置1003は、同図に示すように、ステップS1011において、ytを受信する毎に、上式(24)及び上式(17)を用いて、対数尤度Iαt(m)及びIγt(m’,m)を算出する。
【0067】
続いて、復号装置1003は、ステップS1012において、系列Y1 Tの全てを受信した後に、上式(25)を用いて、全ての時刻tにおける各ステートmについて、対数尤度Iβt(m)を算出する。
【0068】
そして、復号装置1003は、ステップS1013において、ステップS1011及びステップS1012において算出した対数尤度Iαt,Iβt及びIγtを上式(26)に代入し、各時刻tにおける対数軟出力Iλtを算出する。
【0069】
復号装置1003は、このような一連の処理を経ることによって、Log−BCJRアルゴリズムを適用した軟出力復号を行うことができる。なお、上式(19)及び上式(21)において、右辺第2項に示す補正項は、変数|x−y|に対する1次元の関数で表されることから、復号装置1003は、この値を図示しないROM(Read Only Memory)等にテーブルとして予め記憶させておくことによって、正確な確率計算を行うことができる。
【0070】
このようなLog−BCJRアルゴリズムは、Max−Log−BCJRアルゴリズムと比較すると演算量は増えるものの積演算を含むものではなく、その出力は、量子化誤差を除けば、BCJRアルゴリズムの軟出力の対数値そのものに他ならない。
【0071】
【発明が解決しようとする課題】
ところで、上述したBCJRアルゴリズム、Max−Log−BCJRアルゴリズム又はLog−BCJRアルゴリズムは、畳み込み符号等のトレリス符号の復号を可能とするアルゴリズムであるが、このトレリス符号を要素符号とし、複数の要素符号化器をインターリーバを介して連接することにより生成される符号の復号にも適用することができる。すなわち、BCJRアルゴリズム、Max−Log−BCJRアルゴリズム又はLog−BCJRアルゴリズムは、並列連接畳み込み符号(Parallel Concatenated Convolutional Codes;以下、PCCCと記す。)又は縦列連接畳み込み符号(Serially Concatenated Convolutional Codes;以下、SCCCと記す。)や、これらのPCCC又はSCCCを応用して多値変調と組み合わせ、信号点の配置と誤り訂正符号の復号特性とを統括して考慮するターボ符号化変調(Turbo Trellis Coded Modulation;以下、TTCMと記す。)又は縦列連接符号化変調(Serial Concatenated Trellis Coded Modulation;以下、SCTCMと記す。)の復号に適用することができる。
【0072】
これらのPCCC、SCCC、TTCM又はSCTCMを復号する復号装置は、BCJRアルゴリズム、Max−Log−BCJRアルゴリズム又はLog−BCJRアルゴリズムに基づく最大事後確率(Maximum A Posteriori probability;以下、MAPと記す。)復号を行う複数の復号器の間で、いわゆる繰り返し復号を行うことになる。
【0073】
ここで、各復号器は、対数軟出力Iλを算出する際には、トレリス上の各枝の入力に応じたlog−sum演算の累積加算演算を行い、入力が“0”の枝に応じたlog−sum演算の累積加算演算結果と、入力が“1”の枝に応じたlog−sum演算の累積加算演算結果との差分をとる必要がある。しかしながら、対数軟出力Iλを算出するための回路は、各符号に固有の構成とする必要があり、任意の符号に対応することは困難であった。
【0074】
本発明は、このような実情に鑑みてなされたものであり、単純な構成で任意の符号を復号することができ、利便に優れた軟出力復号装置及び軟出力復号方法を提供することを目的とする。また、本発明は、単純な構成で任意の符号を復号することができ、利便に優れた繰り返し復号に適した復号装置及び復号方法を提供することを目的とする。
【0075】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる軟出力復号装置は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて復号を行う軟出力復号装置であって、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを備え、軟出力算出手段は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出するとともに、各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行うことを特徴としている。
【0076】
このような本発明にかかる軟出力復号装置は、軟出力算出手段によって、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する。
【0077】
また、上述した目的を達成する本発明にかかる軟出力復号方法は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて復号を行う軟出力復号方法であって、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを備え、軟出力算出工程では、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和が算出されるとともに、各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算が行われることを特徴としている。
【0078】
このような本発明にかかる軟出力復号方法は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する。
【0079】
さらに、上述した目的を達成する本発明にかかる復号装置は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて、複数の要素符号をインターリーバを介して連接して生成された符号を繰り返し復号するための、要素符号に対応する復号装置であって、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを少なくとも有し、受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号手段と、この軟出力復号手段により生成された外部情報を入力し、インターリーバと同一の置換位置情報に基づいて、外部情報の順序を置換して並べ替える、又は、インターリーバにより並べ替えられた情報の配列を元に戻すように、外部情報の順序を置換して並べ替えるインターリーブ手段とを備え、軟出力算出手段は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出するとともに、各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行うことを特徴としている。
【0080】
このような本発明にかかる復号装置は、軟出力算出手段によって、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する軟出力復号を行う。
【0081】
さらにまた、上述した目的を達成する本発明にかかる復号方法は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて、複数の要素符号を第1のインターリーブ工程を介して連接して生成された符号を繰り返し復号するための、要素符号に対応する復号方法であって、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを少なくとも有し、受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号工程と、この軟出力復号工程にて生成された外部情報を入力し、第1のインターリーブ工程と同一の置換位置情報に基づいて、外部情報の順序を置換して並べ替える、又は、第1のインターリーブ工程にて並べ替えられた情報の配列を元に戻すように、外部情報の順序を置換して並べ替える第2のインターリーブ工程とを備え、軟出力算出工程では、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和が算出されるとともに、各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算が行われることを特徴としている。
【0082】
このような本発明にかかる復号方法は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する軟出力復号を行う。
【0083】
また、上述した目的を達成する本発明にかかる復号装置は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて、複数の要素符号をインターリーバを介して連接して生成された符号を繰り返し復号する復号装置であって、当該復号装置は、連接された複数の要素復号器からなり、これらの要素復号器は、それぞれ、受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号手段と、この軟出力復号手段により生成された外部情報を入力し、インターリーバと同一の置換位置情報に基づいて、外部情報の順序を置換して並べ替える、又は、インターリーバにより並べ替えられた情報の配列を元に戻すように、外部情報の順序を置換して並べ替えるインターリーブ手段とを備え、軟出力復号手段は、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを有し、軟出力算出手段は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出するとともに、各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行うことを特徴としている。
【0084】
このような本発明にかかる復号装置は、繰り返し復号を行う際に、軟出力算出手段によって、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する軟出力復号を行う。
【0085】
さらに、上述した目的を達成する本発明にかかる復号方法は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて、複数の要素符号を第1のインターリーブ工程を介して連接して生成された符号を繰り返し復号する復号方法であって、当該復号方法は、複数の要素復号工程が連続して行われるものであり、これらの要素復号工程は、それぞれ、受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号工程と、この軟出力復号工程にて生成された外部情報を入力し、第1のインターリーブ工程と同一の置換位置情報に基づいて、外部情報の順序を置換して並べ替える、又は、第1のインターリーブ工程にて並べ替えられた情報の配列を元に戻すように、外部情報の順序を置換して並べ替える第2のインターリーブ工程とを備え、軟出力復号工程は、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを有し、要素復号工程が複数回連続して行われる際に、軟出力算出工程では、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和が算出されるとともに、各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算が行われることを特徴としている。
【0086】
このような本発明にかかる復号方法は、繰り返し復号を行う際に、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する軟出力復号を行う。
【0087】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0088】
この実施の形態は、図1に示すように、ディジタル情報を図示しない送信装置が備える符号化装置1により符号化し、その出力を雑音のある無記憶通信路2を介して図示しない受信装置に入力して、この受信装置が備える復号装置3により復号する通信モデルに適用したデータ送受信システムである。
【0089】
このデータ送受信システムにおいて、符号化装置1は、畳み込み符号等のトレリス符号を要素符号とする並列連接畳み込み符号(Parallel Concatenated Convolutional Codes;以下、PCCCと記す。)又は縦列連接畳み込み符号(Serially Concatenated Convolutional Codes;以下、SCCCと記す。)や、これらのPCCC又はSCCCを応用して多値変調と組み合わせたターボ符号化変調(Turbo Trellis Coded Modulation;以下、TTCMと記す。)又は縦列連接符号化変調(Serial Concatenated Trellis Coded Modulation;以下、SCTCMと記す。)を行うものとして構成される。これらの符号化は、いわゆるターボ符号化(Turbo coding)の一種として知られているものである。
【0090】
一方、復号装置3は、符号化装置1により符号化がなされた符号の復号を行うものであって、「Robertson, Villebrun and Hoeher, “A comparison of optimal and sub-optimal MAP decoding algorithms operating in the domain”, IEEE Int. Conf. on Communications, pp. 1009-1013, June 1995」に記載されているMax−Log−MAPアルゴリズム又はLog−MAPアルゴリズム(以下、Max−Log−BCJRアルゴリズム又はLog−BCJRアルゴリズムと称する。)に基づく最大事後確率(Maximum A Posteriori probability;以下、MAPと記す。)復号を行い、いわゆる確率α,β,γ、及び軟出力(soft-output)λを自然対数を用いて対数尤度(log likelihood)の形式で対数表記した対数尤度Iα,Iβ,Iγ、及びいわゆる事後確率情報(a posteriori probability information)に対応する対数軟出力Iλを求める軟出力復号回路と、入力したデータを並べ替えるインターリーバとを少なくとも含むモジュールを、1つの要素復号器とし、複数の要素復号器を連接することによって、繰り返し復号を行うものとして構成される。
【0091】
特に、復号装置3は、トレリス上の各枝に対応する対数尤度Iαと対数尤度Iγと対数尤度Iβとの和を算出するとともに、各枝の入出力パターンに応じて該当する枝を選択し、選択した枝を用いた勝ち抜き戦に喩えられる動作を行うことによって、対数軟出力Iλの算出を実現するものである。
【0092】
なお、以下では、復号装置3における各要素復号器は、Log−BCJRアルゴリズムに基づくMAP復号を行うものとして説明する。
【0093】
以下、下記目次に沿って内容を説明していく。
【0094】
目次
1. PCCC、SCCC、TTCM及びSCTCMによる符号化・復号を行う符号化装置及び復号装置の概略
1−1 PCCCによる符号化・復号を行う符号化装置及び復号装置
1−2 SCCCによる符号化・復号を行う符号化装置及び復号装置
2. 要素復号器の詳細
2−1 要素復号器の全体構成
2−2 軟出力復号回路の詳細
2−3 インターリーバの詳細
3. 要素復号器を連接して構成される復号装置
4. 要素復号器の全体に関する特徴
4−1 符号尤度の切り替え機能
4−2 受信値の遅延機能
4−3 復号受信値選択機能
4−4 復号用の記憶回路と遅延用の記憶回路の共用
4−5 フレーム先頭情報の遅延機能
4−6 軟出力復号回路又はインターリーバ単体動作機能
4−7 遅延モード切り替え機能
4−8 次段情報生成機能
4−9 システム検証機能
5. 軟出力復号回路に関する特徴
5−1 符号情報の持たせ方
5−1−1 トレリス上の全枝の入出力パターンの算出
5−1−2 遷移元のステートと遷移先のステートとの間での番号付け
5−1−3 時間軸に沿った番号付け及び時間軸とは逆順に沿った番号付け
5−1−4 トレリス全体の一意性に基づく番号付け
5−2 終結情報の入力方法
5−2−1 入力ビット数分の情報の終結期間分の入力
5−2−2 終結ステートを示す情報の1タイムスロットでの入力
5−3 消去位置の処理
5−4 対数尤度Iγの算出及び分配
5−4−1 全入出力パターン分の対数尤度Iγの算出・分配
5−4−2 少なくとも一部の入出力パターン分の対数尤度Iγの算出・分配
5−4−3 全入出力パターン分の対数尤度Iγに対する1時刻毎の正規化
5−4−4 少なくとも一部の入出力パターン分の対数尤度Iγに対する正規化
5−5 対数尤度Iα,Iβの算出
5−5−1 対数尤度Iαと対数尤度Iγとの和の算出
5−5−2 パラレルパスに対する前処理
5−5−3 加算比較選択回路の共用
5−5−4 対数軟出力Iλの算出用の対数尤度Iγの出力
5−5−5 パラレルパスに対する対数尤度Iαと対数尤度Iγとの和の算出
5−5−6 符号構成に応じた対数尤度の選択
5−5−7 対数尤度Iα,Iβに対する正規化
5−5−8 log−sum補正における補正項の算出
5−5−9 log−sum演算における選択用の制御信号の生成
5−6 対数軟出力Iλの算出
5−6−1 イネーブル信号を用いたlog−sum演算の累積加算演算
5−6−2 イネーブル信号を用いないlog−sum演算の累積加算演算
5−7 外部情報に対する正規化
5−8 受信値の硬判定
6. インターリーバに関する特徴
6−1 複数種類のインターリーブ機能
6−2 インターリーブ用の記憶回路と遅延用の記憶回路の共用
6−3 クロック阻止信号による記憶回路の動作制御
6−4 デインターリーブ機能
6−5 書き込みアドレス及び読み出しアドレスの発生
6−6 インターリーブ長分の遅延機能
6−7 アドレス空間の利用方法
6−8 パーシャルライト機能によるデータの書き込み及び読み出し
6−9 偶数長遅延及び奇数長遅延への対応
6−10 入出力順序入れ替え機能
7. まとめ
【0095】
1. PCCC、SCCC、TTCM及びSCTCMによる符号化・復号を行 う符号化装置及び復号装置の概略
まず、本発明の外延をより明確にするために、本発明の詳細な説明に先立って、図2及び図3に示すPCCCによる符号化・復号を行う符号化装置1’及び復号装置3’と、図4及び図5に示すSCCCによる符号化・復号を行う符号化装置1’’及び復号装置3’’とについて説明する。これらの符号化装置1’,1’’は、符号化装置1の例として位置付けられるものであり、復号装置3’,3’’は、復号装置3の例として位置付けられるものである。特に、復号装置3’,3’’は、要素復号器を連接することにより構成可能とされるものである。
【0096】
1−1 PCCCによる符号化・復号を行う符号化装置及び復号装置
最初に、PCCCによる符号化を行う符号化装置1’と、この符号化装置1’による符号の復号を行う復号装置3’について説明する。
【0097】
符号化装置1’としては、図2に示すように、入力したデータを遅延させる遅延器11と、畳み込み演算を行う2つの畳み込み符号化器12,14と、入力したデータの順序を並べ替えるインターリーバ13とを備えるものがある。この符号化装置1’は、入力した1ビットの入力データD1に対して、符号化率が“1/3”の並列連接畳み込み演算を行い、3ビットの出力データD4,D5,D6を生成し、例えば2相位相(Binary Phase Shift Keying;以下、BPSKと記す。)変調方式や4相位相(Quadrature Phase Shift Keying;以下、QPSKと記す。)変調方式による変調を行う図示しない変調器を介して外部に出力する。
【0098】
遅延器11は、3ビットの出力データD4,D5,D6が出力されるタイミングを合わせるために備えられるものであって、1ビットの入力データD1を入力すると、この入力データD1をインターリーバ13が要する処理時間と同時間だけ遅延させる。遅延器11は、遅延させて得られた遅延データD2を、出力データD4として外部に出力するとともに、後段の畳み込み符号化器12に供給する。
【0099】
畳み込み符号化器12は、遅延器11から出力された1ビットの遅延データD2を入力すると、この遅延データD2に対して畳み込み演算を行い、演算結果を出力データD5として外部に出力する。
【0100】
インターリーバ13は、1つのビット系列からなる入力データD1を入力し、この入力データD1を構成する各ビットの順序を並べ替え、生成したインターリーブデータD3を後段の畳み込み符号化器14に供給する。
【0101】
畳み込み符号化器14は、インターリーバ13から供給される1ビットのインターリーブデータD3を入力すると、このインターリーブデータD3に対して畳み込み演算を行い、演算結果を出力データD6として外部に出力する。
【0102】
このような符号化装置1’は、1ビットの入力データD1を入力すると、この入力データD1を組織成分の出力データD4として、遅延器11を介してそのまま外部に出力するとともに、畳み込み符号化器12による遅延データD2の畳み込み演算の結果得られる出力データD5と、畳み込み符号化器14によるインターリーブデータD3の畳み込み演算の結果得られる出力データD6とを外部に出力することによって、全体として、符号化率が“1/3”の並列連接畳み込み演算を行う。この符号化装置1’により符号化されたデータは、図示しない変調器により所定の変調方式に基づいて信号点のマッピングが行われ、無記憶通信路2を介して受信装置に出力される。
【0103】
一方、符号化装置1’による符号の復号を行う復号装置3’としては、図3に示すように、軟出力復号を行う2つの軟出力復号回路15,17と、入力したデータの順序を並べ替えるインターリーバ16と、入力したデータの順序を元に戻す2つのデインターリーバ18,20と、2つのデータを加算する加算器19とを備えるものがある。この復号装置3’は、無記憶通信路2上で発生したノイズの影響により軟入力(soft-input)とされる受信値D7から符号化装置1’における入力データD1を推定し、復号データD13として出力する。
【0104】
軟出力復号回路15は、符号化装置1’における畳み込み符号化器12に対応して備えられるものであり、Log−BCJRに基づくMAP復号を行う。軟出力復号回路15は、軟入力の受信値D7を入力するとともに、デインターリーバ18から出力された軟入力の情報ビットに対する事前確率情報(a priori probability information)D8を入力し、これらの受信値D7と事前確率情報D8とを用いて、軟出力復号を行う。そして、軟出力復号回路15は、符号の拘束条件により求められる情報ビットに対するいわゆる外部情報(extrinsic information)D9を生成し、この外部情報D9を後段のインターリーバ16に軟出力として出力する。
【0105】
インターリーバ16は、軟出力復号回路15から出力された軟入力である情報ビットに対する外部情報D9に対して、符号化装置1’におけるインターリーバ13と同一の置換位置情報に基づいたインターリーブを施す。インターリーバ16は、インターリーブして得られたデータを後段の軟出力復号回路17における情報ビットに対する事前確率情報D10として出力するとともに、後段の加算器19に出力する。
【0106】
軟出力復号回路17は、符号化装置1’における畳み込み符号化器14に対応して備えられるものであり、軟出力復号回路15と同様に、Log−BCJRアルゴリズムに基づくMAP復号を行う。軟出力復号回路17は、軟入力の受信値D7を入力するとともに、インターリーバ16から出力された軟入力の情報ビットに対する事前確率情報D10を入力し、これらの受信値D7と事前確率情報D10とを用いて、軟出力復号を行う。そして、軟出力復号回路17は、符号の拘束条件により求められる情報ビットに対する外部情報D11を生成し、この外部情報D11をデインターリーバ18に軟出力として出力するとともに、加算器19に出力する。
【0107】
デインターリーバ18は、符号化装置1’におけるインターリーバ13によりインターリーブされたインターリーブデータD3のビット配列を、元の入力データD1のビット配列に戻すように、軟出力復号回路17から出力される軟入力の外部情報D11にデインターリーブを施す。デインターリーバ18は、デインターリーブして得られたデータを軟出力復号回路15における情報ビットに対する事前確率情報D8として出力する。
【0108】
加算器19は、インターリーバ16から出力された軟入力の情報ビットに対する事前確率情報D10と、軟出力復号回路17から出力された情報ビットに対する外部情報D11とを加算する。加算器19は、得られたデータD12を後段のデインターリーバ20に軟出力として出力する。
【0109】
デインターリーバ20は、符号化装置1’におけるインターリーバ13によりインターリーブされたインターリーブデータD3のビット配列を、元の入力データD1のビット配列に戻すように、加算器19から出力される軟出力のデータD12にデインターリーブを施す。デインターリーバ20は、デインターリーブして得られたデータを復号データD13として外部に出力する。
【0110】
このような復号装置3’は、符号化装置1’における畳み込み符号化器12,14のそれぞれに対応する軟出力復号回路15,17を備えることによって、復号複雑度が高い符号を複雑度の小さい要素に分解し、軟出力復号回路15,17の間の相互作用により特性を逐次的に向上させることができる。復号装置3’は、受信値D7を受信すると、所定の繰り返し回数での繰り返し復号を行い、この復号動作の結果得られた軟出力の外部情報に基づいて、復号データD13を出力する。
【0111】
なお、TTCMによる符号化を行う符号化装置は、符号化装置1’の最終段に、例えば8相位相(8-Phase Shift Keying;以下、8PSKと記す。)変調方式による変調を行う変調器を備えることによって実現することができる。また、TTCMによる符号の復号を行う復号装置は、復号装置3’と同様の構成で実現することができ、受信値として、同相成分及び直交成分のシンボルを直接入力することになる。
【0112】
1−2 SCCCによる符号化・復号を行う符号化装置及び復号装置
つぎに、SCCCによる符号化を行う符号化装置1’’と、この符号化装置1’’による符号の復号を行う復号装置3’’について説明する。
【0113】
符号化装置1’’としては、図4に示すように、外符号と呼ばれる符号の符号化を行う畳み込み符号化器31と、入力したデータの順序を並べ替えるインターリーバ32と、内符号と呼ばれる符号の符号化を行う畳み込み符号化器33とを備えるものがある。この符号化装置1’’は、入力した1ビットの入力データD21に対して、符号化率が“1/3”の縦列連接畳み込み演算を行い、3ビットの出力データD26,D27,D28を生成し、例えばBPSK変調方式やQPSK変調方式による変調を行う図示しない変調器を介して外部に出力する。
【0114】
畳み込み符号化器31は、1ビットの入力データD21を入力すると、この入力データD21に対して畳み込み演算を行い、演算結果を2ビットの符号化データD22,D23として後段のインターリーバ32に供給する。すなわち、畳み込み符号化器31は、外符号の符号化として符号化率が“1/2”の畳み込み演算を行い、生成した符号化データD22,D23を後段のインターリーバ32に供給する。
【0115】
インターリーバ32は、畳み込み符号化器31から供給された2つのビット系列からなる符号化データD22,D23を入力し、これらの符号化データD22,D23を構成する各ビットの順序を並べ替え、生成した2つのビット系列からなるインターリーブデータD24,D25を後段の畳み込み符号化器33に供給する。
【0116】
畳み込み符号化器33は、インターリーバ32から供給される2ビットのインターリーブデータD24,D25を入力すると、これらのインターリーブデータD24,D25に対して畳み込み演算を行い、演算結果を3ビットの出力データD26,D27,D28として外部に出力する。すなわち、畳み込み符号化器33は、内符号の符号化として符号化率が“2/3”の畳み込み演算を行い、出力データD26,D27,D28を外部に出力する。
【0117】
このような符号化装置1’’は、畳み込み符号化器31により外符号の符号化として符号化率が“1/2”の畳み込み演算を行い、畳み込み符号化器33により内符号の符号化として符号化率が“2/3”の畳み込み演算を行うことによって、全体として、符号化率が“(1/2)×(2/3)=1/3”の縦列連接畳み込み演算を行う。この符号化装置1’’により符号化されたデータは、図示しない変調器により所定の変調方式に基づいて信号点のマッピングが行われ、無記憶通信路2を介して受信装置に出力される。
【0118】
一方、符号化装置1’’による符号の復号を行う復号装置3’’としては、図5に示すように、軟出力復号を行う2つの軟出力復号回路34,36と、入力したデータの順序を元に戻すデインターリーバ35と、入力したデータの順序を並べ替えるインターリーバ37とを備えるものがある。この復号装置3’’は、無記憶通信路2上で発生したノイズの影響により軟入力とされる受信値D29から符号化装置1’’における入力データD21を推定し、復号データD36として出力する。
【0119】
軟出力復号回路34は、符号化装置1’’における畳み込み符号化器33に対応して備えられるものであり、Log−BCJRに基づくMAP復号を行う。軟出力復号回路34は、軟入力の受信値D29を入力するとともに、インターリーバ37から出力された軟入力の情報ビットに対する事前確率情報D30を入力し、これらの受信値D29と事前確率情報D30とを用いて、Log−BCJRアルゴリズムに基づくMAP復号を行い、内符号の軟出力復号を行う。そして、軟出力復号回路34は、符号の拘束条件により求められる情報ビットに対する外部情報D31を生成し、この外部情報D31を後段のデインターリーバ35に軟出力として出力する。なお、この外部情報D31は、符号化装置1’’におけるインターリーバ32によりインターリーブされたインターリーブデータD24,D25に対応するものである。
【0120】
デインターリーバ35は、符号化装置1’’におけるインターリーバ32によりインターリーブされたインターリーブデータD24,D25のビット配列を、それぞれ、元の符号化データD22,D23のビット配列に戻すように、軟出力復号回路34から出力される軟入力の外部情報D31にデインターリーブを施す。デインターリーバ35は、デインターリーブして得られたデータを後段の軟出力復号回路36における符号ビットに対する事前確率情報D32として出力する。
【0121】
軟出力復号回路36は、符号化装置1’’における畳み込み符号化器31に対応して備えられるものであり、Log−BCJRに基づくMAP復号を行う。軟出力復号回路36は、デインターリーバ35から出力された軟入力の符号ビットに対する事前確率情報D32を入力するとともに、値が“0”である情報ビットに対する事前確率情報D33を入力し、これらの事前確率情報D32,D33を用いて、Log−BCJRアルゴリズムに基づくMAP復号を行い、外符号の軟出力復号を行う。軟出力復号回路36は、符号の拘束条件により求められる外部情報D34,D35を生成し、外部情報D34を復号データD36として外部に出力するとともに、外部情報D35をインターリーバ37に軟出力として出力する。
【0122】
インターリーバ37は、軟出力復号回路36から出力された軟入力である符号ビットに対する外部情報D35に対して、符号化装置1’’におけるインターリーバ32と同一の置換位置情報に基づいたインターリーブを施す。インターリーバ37は、インターリーブして得られたデータを軟出力復号回路34における情報ビットに対する事前確率情報D30として出力する。
【0123】
このような復号装置3’’は、符号化装置1’’における畳み込み符号化器31,33のそれぞれに対応する軟出力復号回路36,34を備えることによって、復号装置3’と同様に、復号複雑度が高い符号を複雑度の小さい要素に分解し、軟出力復号回路34,36の間の相互作用により特性を逐次的に向上させることができる。復号装置3’’は、受信値D29を受信すると、所定の繰り返し回数での繰り返し復号を行い、この復号動作の結果得られた軟出力の外部情報に基づいて、復号データD36を出力する。
【0124】
なお、SCTCMによる符号化を行う符号化装置は、符号化装置1’’の最終段に、例えば8PSK変調方式による変調を行う変調器を備えることによって実現することができる。また、SCTCMによる符号の復号を行う復号装置は、復号装置3’’と同様の構成で実現することができ、受信値として、同相成分及び直交成分のシンボルを直接入力することになる。
【0125】
2. 要素復号器の詳細
本発明の実施の形態として示す復号装置3は、図3中破線部又は図5中破線部に示すように、軟出力復号回路とインターリーバ若しくはデインターリーバとを少なくとも含むモジュールを上述した要素復号器とし、複数の要素復号器を連接してPCCC、SCCC、TTCM又はSCTCMのうち、任意の符号を復号するものである。ここで、デインターリーバは、インターリーバと逆の置換位置情報に基づいてデータを並べ替えるものであることから、インターリーバの1形態として擬制することができる。そこで、要素復号器としては、軟出力復号回路とインターリーバとを備えるものであればよく、インターリーブ処理とデインターリーブ処理とを、インターリーバとデインターリーバとの機能の切り替えを行うことで実現することができる。そこで、以下では、特に区別を要しない場合には、インターリーバはデインターリーバの機能を併有するものとして説明する。
【0126】
さて、このような復号装置3における要素復号器について、以下詳細に説明する。なお、以下では、必要に応じて、符号化装置1における各要素符号化器が備えるシフトレジスタの内容を表すM個のステート(遷移状態)をm(0,1,・・・,M−1)で表し、時刻tのステートをStで表す。さらに、1タイムスロットにkビットの情報が入力されるものとすると、時刻tにおける入力をit=(it1,it2,・・・,itk)で表し、入力系統をI1 T=(i1,i2,・・・,iT)で表す。このとき、ステートm’からステートmへの遷移がある場合には、その遷移に対応する情報ビットをi(m’,m)=(i1(m’,m),i2(m’,m),・・・,ik(m’,m))で表す。さらにまた、1タイムスロットにnビットの符号が出力されるものとすると、時刻tにおける出力をxt=(xt1,xt2,・・・,xtn)で表し、出力系統をX1 T=(x1,x2,・・・,xT)で表す。このとき、ステートm’からステートmへの遷移がある場合には、その遷移に対応する符号ビットをx(m’,m)=(x1(m’,m),x2(m’,m),・・・,xn(m’,m))で表す。また、無記憶通信路2は、X1 Tを入力とし、Y1 Tを出力するものとする。ここで、1タイムスロットにnビットの受信値が出力されるものとすると、時刻tにおける出力をyt=(yt1,yt2,・・・,ytn)で表し、Y1 T=(y1,y2,・・・,yT)で表す。
【0127】
2−1 要素復号器の全体構成
ここでは、要素復号器の全体構成について、図6乃至図8を用いて説明する。
【0128】
図6に概略を示す要素復号器50は、大規模集積回路(Large‐Scale Integrated circuit;以下、LSIと記す。)として各部を単一半導体基板に集積させ、1チップとして構成される。要素復号器50は、各部を制御する制御回路60と、復号する受信値を選択する復号受信値選択回路70と、フレームの先頭を検出するエッジ検出回路80と、軟出力復号を行う軟出力復号回路90と、入力したデータの順序を並べ替えるインターリーバ100と、このインターリーバ100が参照する置換先のアドレスデータを保持するアドレス用記憶回路110と、10個のセレクタ1201,1202,1203,1204,1205,1206,1207,1208,1209,12010と、システムの検証のために用いられる信号線130とを備える。
【0129】
ここで、同図に示す要素復号器50の左半分部分の詳細を図7に示し、右半分部分の詳細を図8に示す。
【0130】
制御回路60は、復号受信値選択回路70、軟出力復号回路90、インターリーバ100、アドレス用記憶回路110、及び、9個のセレクタ1202,1203,1204,1205,1206,1207,1208,1209,12010に対して、それぞれ、各種情報を生成して供給するとともに、アドレス用記憶回路110からの情報を受け取り、各部の動作を制御する。
【0131】
具体的には、制御回路60は、復号受信値選択回路70に対して、受信値R(受信値TR)のうち、復号すべき受信値である復号受信値TSRを選択させるための受信値選択情報CRSを生成して供給する。
【0132】
また、制御回路60は、軟出力復号回路90に対して、受信値Rとして入力されるデータが、実際には受信値又は外部情報のいずれであるのか、さらには、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合におけるI/Q値であるのか、といった受信値Rの形式を示す受信値形式情報CRTYと、事前確率情報がビット単位で入力されるのかシンボル単位で入力されるのか、といった事前確率情報の形式を示す事前確率情報形式情報CAPPと、符号化装置1における要素符号化器の符号化率を示す符号化率情報CRATと、符号化装置1における要素符号化器の生成行列を示す生成行列情報CGと、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合における信号点の配置を示す信号点配置情報CSIGとを生成して供給する。
【0133】
さらに、制御回路60は、インターリーバ100に対して、いかなるインターリーブを行うかの種別を示すインターリーバタイプ情報CINTと、インターリーブ長を示すインターリーブ長情報CINLと、後述するように複数シンボル間で順序を相互に置換するための入出力置換情報といった当該インターリーバ100の処理内容に関するインターリーバ入出力置換情報CIPTと、符号の終結位置を示す終結位置情報CNFTと、符号の終結期間を示す終結期間情報CNFLと、符号の終結ステートを示す終結ステート情報CNFDと、符号がパンクチャされている場合におけるパンクチャ周期を示すパンクチャ周期情報CNELと、パンクチャパターンを示すパンクチャパターン情報CNEPとを生成して供給する。また、制御回路60は、インターリーバ100に対して、後述する動作モードを示す動作モード情報CBFを生成して供給する。
【0134】
さらにまた、制御回路60は、アドレス用記憶回路110にインターリーバ100が参照する置換先のアドレスデータを書き込む場合には、このアドレス用記憶回路110対して、インターリーバタイプ情報CINTと、アドレス用記憶回路110のアドレスを示すアドレスCIADと、インターリーバ100が参照する置換先のアドレスデータである書き込みデータCIWDとを供給する。
【0135】
また、制御回路60は、6個のセレクタ1202,1203,1204,1205,1206,1207に対して、動作モード情報CBFを供給するとともに、3つのセレクタ1208,1209,12010に対して、後述する検証モードであるか否かを示す検証モード情報CTHRを供給する。
【0136】
一方、制御回路60は、アドレス用記憶回路110に保持されているインターリーバ100が参照する置換先のアドレスデータである読み出しアドレスデータADAを入力する。
【0137】
このような制御回路60は、復号受信値選択回路70、軟出力復号回路90、インターリーバ100、及び、セレクタ1202,1203,1204,1205,1206,1207,1208,1209,12010に対して、生成した各種情報を供給し、各部の動作を制御するとともに、アドレス用記憶回路110に対するアドレスデータの書き込み制御・動作等を行う。
【0138】
復号受信値選択回路70は、後述するように、任意の符号の復号を行うために設けられるものであって、制御回路60から供給される受信値選択情報CRSに基づいて、入力された受信値TRのうち、復号受信値TSRを選択する。復号受信値選択回路70は、選択した復号受信値TSRを軟出力復号回路90に供給する。
【0139】
具体的には、復号受信値選択回路70は、例えば受信値TRが6系統の受信値TR0,TR1,TR2,TR3,TR4,TR5からなり、このうち4系統の受信値を復号受信値TSR0,TSR1,TSR2,TSR3として選択するものとすると、例えば図9に示すように、4つのセレクタ71,72,73,74を有するものとして実現することができる。このとき、制御回路60から供給される受信値選択情報CRSは、各セレクタ71,72,73,74に対して個別に与えられ、4系統の受信値選択情報CRS0,CRS1,CRS2,CRS3からなる。
【0140】
すなわち、セレクタ71は、受信値選択情報CRS0に基づいて、受信値TR0,TR1,TR2,TR3,TR4,TR5のうち、所定の受信値を選択し、復号受信値TSR0として軟出力復号回路90に供給する。
【0141】
また、セレクタ72は、受信値選択情報CRS1に基づいて、受信値TR0,TR1,TR2,TR3,TR4,TR5のうち、所定の受信値を選択し、復号受信値TSR1として軟出力復号回路90に供給する。
【0142】
さらに、セレクタ73は、受信値選択情報CRS2に基づいて、受信値TR0,TR1,TR2,TR3,TR4,TR5のうち、所定の受信値を選択し、復号受信値TSR2として軟出力復号回路90に供給する。
【0143】
そして、セレクタ74は、受信値選択情報CRS3に基づいて、受信値TR0,TR1,TR2,TR3,TR4,TR5のうち、所定の受信値を選択し、復号受信値TSR3として軟出力復号回路90に供給する。
【0144】
このように、復号受信値選択回路70は、制御回路60から供給される受信値選択情報CRSに基づいて、復号受信値TSRを選択し、軟出力復号回路90に供給する。
【0145】
エッジ検出回路80は、外部から供給されるインターリーブの開始位置、すなわち、フレームの先頭を示すインターリーブ開始位置信号ILS(インターリーブ開始位置信号TILS)を入力し、入力される受信値TRを構成するフレームの先頭を検出する。エッジ検出回路80は、検出したフレームの先頭を示すエッジ信号TEILSを軟出力復号回路90及びセレクタ1205に供給する。
【0146】
具体的には、エッジ検出回路80は、例えば図10に示すように、レジスタ81と、ANDゲート82とを有するものとして実現することができる。
【0147】
レジスタ81は、例えば1ビットからなるインターリーブ開始位置信号TILSを1クロックだけ保持する。レジスタ81は、保持した遅延インターリーブ開始位置信号TILSDをANDゲート82に供給する。
【0148】
ANDゲート82は、インターリーブ開始位置信号TILSと、レジスタ81から供給される1クロック前のインターリーブ開始位置信号TILSである遅延インターリーブ開始位置信号TILSDを反転したデータとの論理積をとる。ANDゲート82は、得られた論理積をエッジ信号TEILSとして軟出力復号回路90及びセレクタ1205に供給する。
【0149】
すなわち、エッジ検出回路80は、例えば外部から供給されるインターリーブ開始位置信号TILSが“0”から“1”へと切り替わることを検出すればよく、ANDゲート82による論理積をとることによって、受信値TRを構成するフレームの先頭が入力されたことを検出することができる。
【0150】
軟出力復号回路90は、復号受信値選択回路70から供給される復号受信値TSRと、事前確率情報として外部から供給される外部情報又はインターリーブデータEXT(外部情報又はインターリーブデータTEXT)とを用いて、Log−BCJRアルゴリズムに基づくMAP復号を行う。
【0151】
このとき、軟出力復号回路90は、制御回路60から供給される受信値形式情報CRTYと、事前確率情報形式情報CAPPと、符号化率情報CRATと、生成行列情報CGと、必要に応じて信号点配置情報CSIGとの他、外部から供給されるパンクチャパターンを示す消去情報ERS(消去情報TERS)及び事前確率情報消去情報EAP(事前確率情報消去情報TEAP)と、符号の終結時刻を示す終結時刻情報TNP(終結時刻情報TTNP)と、終結ステートを示す終結ステート情報TNS(終結ステート情報TTNS)とを用いて、復号処理を行う。
【0152】
軟出力復号回路90は、復号処理の結果得られた軟出力SOL及び外部情報SOEをセレクタ1201に供給する。このとき、軟出力復号回路90は、外部から供給される出力データ選択制御信号ITM(出力データ選択制御信号CITM)に基づいて、情報シンボル又は情報ビットに対する情報と符号シンボル又は符号ビットに対する情報とを選択的に出力する。また、軟出力復号回路90は、硬判定をした場合には、復号値である軟出力を硬判定して得られた復号値硬判定情報SDH及び受信値を硬判定して得られた受信値硬判定情報SRHを外部に出力する。このときも、軟出力復号回路90は、出力データ選択制御信号CITMに基づいて、情報シンボル又は情報ビットに対する情報と符号シンボル又は符号ビットに対する情報とを選択的に出力する。
【0153】
また、軟出力復号回路90は、後述するように、受信値TR、外部情報又はインターリーブデータTEXT、及び、エッジ検出回路80から供給されるエッジ信号TEILSを、それぞれ、遅延させることもできる。この場合、軟出力復号回路90は、受信値TRを遅延させた遅延受信値SDRをセレクタ1203,1206に供給し、外部情報又はインターリーブデータTEXTを遅延させた遅延外部情報SDEXをセレクタ1202に供給し、エッジ信号TEILSを遅延させた遅延エッジ信号SDILSをセレクタ1205に供給する。
【0154】
なお、軟出力復号回路90の詳細については“2−2”において述べる。
【0155】
インターリーバ100は、セレクタ1204から供給されたデータTIIに対して、図示しない符号化装置1におけるインターリーバと同一の置換位置情報に基づいたインターリーブ、若しくは、符号化装置1におけるインターリーバによりインターリーブされたインターリーブデータのビット配列を元のデータのビット配列に戻すようなデインターリーブを施す。このとき、インターリーバ100は、外部から供給されるインターリーブモード信号DIN(インターリーブモード信号CDIN)に基づいて、インターリーバ又はデインターリーバとして機能する。
【0156】
インターリーバ100は、セレクタ1205から供給されるインターリーブ開始位置信号TISを入力すると、アドレス用記憶回路110に対して、アドレスデータIAAを与えてアドレスを指定することによって、当該アドレス用記憶回路110に保持されているアドレスデータを読み出しアドレスデータADAとして読み出し、この読み出しアドレスデータADAに基づいて、インターリーブ又はデインターリーブを行う。このとき、インターリーバ100は、制御回路60から供給されるインターリーバタイプ情報CINTと、インターリーブ長情報CINLと、インターリーバ入出力置換情報CIPTとを用いて、インターリーブ又はデインターリーブを行う。インターリーバ100は、インターリーブ又はデインターリーブして得られたインターリーバ出力データIIOをセレクタ1207に供給する。
【0157】
また、インターリーバ100は、後述するように、セレクタ1203から供給される受信値TR又は遅延受信値SDRのうちのいずれか一方のデータTDIを遅延させることもできる。このとき、インターリーバ100は、制御回路60から供給される動作モード情報CBFに基づいて、データTDIを遅延させる。インターリーバ100は、データTDIを遅延させて得られたインターリーブ長遅延受信値IDOをセレクタ1206に供給する。
【0158】
さらに、インターリーバ100は、後述するように、制御回路60から供給される終結位置情報CNFTと、終結期間情報CNFLと、終結ステート情報CNFDと、パンクチャ周期情報CNELと、パンクチャパターン情報CNEPとに基づいて、当該要素復号器を複数連接した場合において、次段の要素復号器における符号の終結時刻及び終結ステートを示す終結時刻情報IGT及び終結ステート情報IGSと、符号のパンクチャ位置を示す消去位置情報IGE及びインターリーバ無出力位置情報INOとを生成する。これと同時に、インターリーバ100は、セレクタ1205から供給されるインターリーブ開始位置信号TISを遅延させ、遅延インターリーブ開始位置信号IDSを生成する。インターリーバ100は、生成した終結時刻情報IGT、終結ステート情報IGS、消去位置情報IGE、インターリーバ無出力位置情報INO、及び、遅延インターリーブ開始位置信号IDSを、生成次段情報として、フレームの先頭に同期させ、セレクタ12010に供給する。
【0159】
なお、インターリーバ100の詳細については“2−3”において述べる。
【0160】
アドレス用記憶回路110は、図示しないが、例えば、複数バンクのRAM(Random Access Memory)や選択回路等を有し、インターリーバ100によるインターリーブ又はデインターリーブの際に参照されるデータの置換位置情報をアドレスデータとして保持する。このアドレス用記憶回路110に保持されているアドレスデータは、インターリーバ100により当該アドレス用記憶回路110のアドレスがアドレスデータIAAとして指定されることによって、読み出しアドレスデータADAとして読み出される。また、アドレス用記憶回路110に対するアドレスデータの書き込みは、制御回路60により行われ、当該アドレス用記憶回路110のアドレスがアドレスCIADとして指定されることによって、アドレスデータが書き込みデータCIWDとして書き込まれる。このようにすることによって、アドレス用記憶回路110には、任意のインターリーブのパターンを書き込むことができる。なお、アドレス用記憶回路110は、インターリーバ100の内部に備えるようにしてもよい。すなわち、要素復号器50は、インターリーバ100とアドレス用記憶回路110との両者を以て、インターリーブ処理又はデインターリーブ処理を行う。
【0161】
セレクタ1201は、出力データ選択制御信号CITMに基づいて、軟出力復号回路90から供給される軟出力SOLと外部情報SOEとのうち、いずれか一方を選択し、データTLXとしてセレクタ1202に供給する。すなわち、セレクタ1201は、軟出力復号回路90が、繰り返し復号における過程で外部情報を出力すべきものであるのか、或いは、最終結果としての軟出力を出力すべきものであるのかを、決定するために設けられるものである。
【0162】
セレクタ1202は、動作モード情報CBFに基づいて、軟出力復号回路90から供給される遅延外部情報SDEXと、セレクタ1201から供給されるデータTLXとのうち、いずれか一方を選択し、データTDLXとして、セレクタ1204,1207に供給する。
【0163】
ここで、要素復号器50の動作モードについて説明する。要素復号器50は、例えば6つの動作モードを有する。第1には、軟出力復号回路90及びインターリーバ100が、それぞれ、通常の軟出力復号処理及びインターリーブ処理を行うモードである。第2には、軟出力復号回路90のみが通常の軟出力復号処理を行うモードである。第3には、インターリーバ100のみが通常のインターリーブ処理を行うモードである。第4には、軟出力復号回路90及びインターリーバ100が、それぞれ、通常の軟出力復号処理及びインターリーブ処理を行わずに、遅延回路として機能するモードである。第5には、軟出力復号回路90のみが通常の軟出力復号処理を行わずに、遅延回路として機能するモードである。第6には、インターリーバ100のみが通常のインターリーブ処理を行わずに、遅延回路として機能するモードである。これらの動作モードは、制御回路60により決定され、動作モード情報CBFとして各部に供給される。以下では、必要に応じて、第1のモード乃至第3のモードを通常モードと総称し、第4のモード乃至第6のモードを遅延モードと総称する。
【0164】
具体的には、セレクタ1202は、動作モード情報CBFが、軟出力復号回路90が要する処理時間と同時間の遅延、インターリーバ100が要する処理時間と同時間の遅延、又は、軟出力復号回路90及びインターリーバ100が要する処理時間と同時間の遅延のいずれかを行うべき遅延モードを示すものであった場合には、遅延外部情報SDEXを選択して出力し、動作モード情報CBFが、軟出力復号回路90及び/又はインターリーバ100による遅延を行わず、軟出力復号回路90及び/又はインターリーバ100による処理を行う通常モードを示すものであった場合には、データTLXを選択して出力する。すなわち、セレクタ1202は、要素復号器50の動作モードが遅延モードであるのか、或いは、通常モードであるのかを、決定するために設けられるものであり、各動作モードに応じて、出力するデータを選択する。
【0165】
セレクタ1203は、動作モード情報CBFに基づいて、受信値TRと、軟出力復号回路90から供給される遅延受信値SDRとのうち、いずれか一方を選択し、データTDIとしてインターリーバ100に供給する。具体的には、セレクタ1203は、動作モード情報CBFが、インターリーバ100による処理のみを行う通常モード、又は、インターリーバ100が要する処理時間と同時間の遅延を行うべき遅延モードを示すものであった場合には、受信値TRを選択して出力し、動作モード情報CBFが、それ以外の通常モード又は遅延モードを示すものであった場合には、遅延受信値SDRを選択して出力する。すなわち、セレクタ1203は、インターリーバ100に入力されるデータとして、軟出力復号回路90による軟出力復号処理又は軟出力復号回路90が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定するために設けられるものであり、各動作モードに応じて、出力するデータを選択する。
【0166】
セレクタ1204は、動作モード情報CBFに基づいて、外部情報又はインターリーブデータTEXTと、セレクタ1202から供給されるデータTDLXとのうち、いずれか一方を選択し、データTIIとしてインターリーバ100に供給する。具体的には、セレクタ1204は、動作モード情報CBFが、インターリーバ100による処理のみを行う通常モード、又は、インターリーバ100が要する処理時間と同時間の遅延を行うべき遅延モードを示すものであった場合には、外部情報又はインターリーブデータTEXTを選択して出力し、動作モード情報CBFが、それ以外の通常モード又は遅延モードを示すものであった場合には、データTDLXを選択して出力する。すなわち、セレクタ1204は、インターリーバ100に入力されるデータとして、軟出力復号回路90による軟出力復号処理又は軟出力復号回路90が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定するために設けられるものであり、各動作モードに応じて、出力するデータを選択する。
【0167】
セレクタ1205は、動作モード情報CBFに基づいて、エッジ検出回路80から供給されるエッジ信号TEILSと、軟出力復号回路90から供給される遅延エッジ信号SDILSとのうち、いずれか一方を選択し、インターリーブ開始位置信号TISとしてインターリーバ100に供給する。具体的には、セレクタ1205は、動作モード情報CBFが、インターリーバ100による処理のみを行う通常モード、又は、インターリーバ100が要する処理時間と同時間の遅延を行うべき遅延モードを示すものであった場合には、エッジ信号TEILSを選択して出力し、動作モード情報CBFが、それ以外の通常モード又は遅延モードを示すものであった場合には、遅延エッジ信号SDILSを選択して出力する。すなわち、セレクタ1205は、インターリーバ100に入力されるデータとして、軟出力復号回路90による軟出力復号処理又は軟出力復号回路90が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定するために設けられるものであり、各動作モードに応じて、出力するデータを選択する。
【0168】
セレクタ1206は、動作モード情報CBFに基づいて、軟出力復号回路90から供給される遅延受信値SDRと、インターリーバ100から供給されるインターリーブ長遅延受信値IDOとのうち、いずれか一方を選択し、遅延受信値TDRとしてセレクタ1208に供給する。具体的には、セレクタ1206は、動作モード情報CBFが、軟出力復号回路90による処理のみを行う通常モード、又は、軟出力復号回路90が要する処理時間と同時間の遅延を行うべき遅延モードを示すものであった場合には、遅延受信値SDRを選択して出力し、それ以外の通常モード又は遅延モードを示すものであった場合には、インターリーブ長遅延受信値IDOを選択して出力する。すなわち、セレクタ1206は、出力すべきデータとして、インターリーバ100によるインターリーブ処理又はインターリーバ100が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定するために設けられるものであり、各動作モードに応じて、出力するデータを選択する。
【0169】
セレクタ1207は、動作モード情報CBFに基づいて、インターリーバ100から供給されるインターリーバ出力データIIOと、セレクタ1202から供給されるデータTDLXとのうち、いずれか一方を選択し、軟出力TSOとしてセレクタ1209に供給する。具体的には、セレクタ1207は、動作モード情報CBFが、軟出力復号回路90による処理のみを行う通常モード、又は、軟出力復号回路90が要する処理時間と同時間の遅延を行うべき遅延モードを示すものであった場合には、データTDLXを選択して出力し、それ以外の通常モード又は遅延モードを示すものであった場合には、インターリーバ出力データIIOを選択して出力する。すなわち、セレクタ1207は、出力すべきデータとして、インターリーバ100によるインターリーブ処理又はインターリーバ100が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定するために設けられるものであり、各動作モードに応じて、出力するデータを選択する。
【0170】
セレクタ1208は、検証モード情報CTHRに基づいて、セレクタ1206から供給される遅延受信値TDRと、信号線130により伝送されてくるスルー信号とのうち、いずれか一方を選択し、遅延受信値TRNとして外部に出力する。なお、遅延受信値TRNは、遅延受信値RNとして出力される。すなわち、セレクタ1208は、次段の要素復号器に対する遅延受信値を出力するのか、システムの検証を行うのかを、決定するために設けられるものである。
【0171】
セレクタ1209は、検証モード情報CTHRに基づいて、セレクタ1207から供給される軟出力TSOと、信号線130により伝送されてくるスルー信号とのうち、いずれか一方を選択し、軟出力TINTとして外部に出力する。なお、この軟出力TINTは、軟出力INTとして出力される。すなわち、セレクタ1209は、次段の要素復号器に対する軟出力を出力するのか、システムの検証を行うのかを、決定するために設けられるものである。
【0172】
セレクタ12010は、検証モード情報CTHRに基づいて、インターリーバ100から供給される終結時刻情報IGT及び終結ステート情報IGSと、消去位置情報IGE及びインターリーバ無出力位置情報INOと、遅延インターリーブ開始位置信号IDSとからなる生成次段情報と、信号線130により伝送されてくるスルー信号とのうち、いずれか一方を選択し、次段終結時刻情報TTNPN及び次段終結ステート情報TTNSNと、次段消去位置情報TERSN及び次段事前確率情報消去情報TEAPNと、次段インターリーブ開始位置信号TILSNとして外部に出力する。なお、これらの次段終結時刻情報TTNPN、次段終結ステート情報TTNSN、次段消去位置情報TERSN、次段事前確率情報消去情報TEAPN、及び、次段インターリーブ開始位置信号TILSNは、それぞれ、次段終結時刻情報TNPN、次段終結ステート情報TNSN、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、及び、次段インターリーブ開始位置信号ILSNとして出力される。すなわち、セレクタ12010は、次段の要素復号器に対する次段情報を出力するのか、システムの検証を行うのかを、決定するために設けられるものである。
【0173】
信号線130は、後述するように、主に、複数の要素復号器50を連接することにより上述した復号装置3’,3’’と同様の復号装置3を構成した場合におけるシステムの検証を行うために用いられるものである。信号線130は、受信値TR、外部情報又はインターリーブデータTEXT、消去情報TERS、事前確率情報消去情報TEAP、終結時刻情報TTNP、終結ステート情報TTNS、及び、インターリーブ開始位置信号TILSのそれぞれを伝送するための信号線を束ねて構成され、これらの信号をセレクタ1208,1209,12010に供給する。
【0174】
このような要素復号器50は、例えば、図3中破線部又は図5中破線部に示したように、軟出力復号回路とインターリーバ若しくはデインターリーバとを少なくとも含むモジュールと等価なものである。この要素復号器50は、複数連接されることによって、PCCC、SCCC、TTCM又はSCTCMのうち、任意の符号を復号することができる復号装置3を構成することができる。なお、要素復号器50の全体に関する各種特徴については、後述する“4.”においてさらに説明する。
【0175】
以下、軟出力復号回路90及びインターリーバ100についてさらに詳細に説明していく。
【0176】
2−2 軟出力復号回路の詳細
まず、軟出力復号回路90について詳述する。軟出力復号回路90は、図11に概略を示すように、符号化装置1における要素符号化器の符号情報を生成する符号情報生成回路151と、符号化装置1におけるパンクチャパターンを示す内部消去情報を生成する内部消去情報生成回路152と、符号化装置1における終結情報を生成する終結情報生成回路153と、復号処理のために入力されるべき受信値と事前確率情報とを選択するとともに、符号出力が存在しない位置を尤度が“0”のシンボルに置き換える受信値及び事前確率情報選択回路154と、受信データと遅延用のデータとをともに記憶する受信データ及び遅延用記憶回路155と、第1の対数尤度である対数尤度Iγを算出するIγ算出回路156と、符号化装置1に応じて算出した対数尤度Iγを分配するIγ分配回路157と、第2の対数尤度である対数尤度Iαを算出するIα算出回路158と、第3の対数尤度である対数尤度Iβを算出するIβ算出回路159と、算出した対数尤度Iβを記憶するIβ記憶回路160と、対数軟出力Iλを算出する軟出力算出回路161と、受信値と事前確率情報とを分離する受信値又は事前確率情報分離回路162と、外部情報を算出する外部情報算出回路163と、対数軟出力Iλの振幅を調整するとともに所定のダイナミックレンジにクリップ(clip)する振幅調整及びクリップ回路164と、復号値である軟出力及び受信値を硬判定する硬判定回路165とを有する。
【0177】
ここで、同図に示す軟出力復号回路90の左半分部分の詳細を図12に示し、右半分部分の詳細を図13に示す。
【0178】
符号情報生成回路151は、制御回路60から供給される符号化率情報CRATと生成行列情報CGとに基づいて、符号化装置1における要素符号化器の符号情報を生成する。具体的には、符号情報生成回路151は、符号化装置1における要素符号化器の入力ビット数を示す入力ビット数情報INと、符号化装置1における要素符号化器が畳み込み符号化器である場合に、その畳み込み符号化器がいわゆるボーゼンクラフト(Wozencraft)型であるかマッシィ(Massey)型であるかを示す型情報WMと、符号化装置1における要素符号化器のシフトレジスタ、すなわち、ステート(遷移状態)を表すメモリの数を示すメモリ数情報MNと、符号化装置1における要素符号化器の状態遷移図であるトレリスにおいて、各枝に関する時間軸に沿った入出力情報を示す枝入出力情報BIOと、符号化装置1における要素符号化器からの出力が存在しており、対応する受信値が存在していることを表す出力位置の有効性を示す有効出力位置情報PEとを生成する。
【0179】
ここで、ボーゼンクラフト型の畳み込み符号化器とマッシィ型の畳み込み符号化器とについて説明する。
【0180】
ボーゼンクラフト型の畳み込み符号化器は、遅延素子と組み合わせ回路とからなり、遅延素子に対して時系列にデータが保持されるものである。ボーゼンクラフト型の畳み込み符号化器の例としては、例えば図14に示すように、4つのシフトレジスタ2011,2012,2013,2014と、16個の排他的論理和回路2021,2022,2023,2024,2025,2026,2027,2028,2029,20210,20211,20212,20213,20214,20215,20216及び20個のANDゲートG0[0],GB[0],GB[1],GB[2],GB[3],G1[0],G1[1],G1[2],G1[3],G1[4],G2[0],G2[1],G2[2],G2[3],G2[4],G3[0],G3[1],G3[2],G3[3],G3[4]で表される組み合わせ回路とを有し、符号化率が“1/4”の畳み込み演算を行うものがある。なお、この畳み込み符号化器において、ANDゲートG0[0],GB[0],GB[1],GB[2],GB[3],G1[0],G1[1],G1[2],G1[3],G1[4],G2[0],G2[1],G2[2],G2[3],G2[4],G3[0],G3[1],G3[2],G3[3],G3[4]は、符号構成により結線するか否かを示すものであり、全てのANDゲートが用いられるわけではない。すなわち、この畳み込み符号化器は、これらのANDゲートG0[0],GB[0],GB[1],GB[2],GB[3],G1[0],G1[1],G1[2],G1[3],G1[4],G2[0],G2[1],G2[2],G2[3],G2[4],G3[0],G3[1],G3[2],G3[3],G3[4]によって、組み合わせ回路が変化し、符号構成が変化するものであって、ステート数が最大で“24=16”のボーゼンクラフト型の畳み込み演算を行うことができるものである。この畳み込み符号化器の生成行列Gは次式(27)で表される。次式(27)において、GB(D),G1(D),G2(D),G3(D)は、それぞれ、次式(28)乃至次式(31)で表される。
【0181】
【数27】
【0182】
【数28】
【0183】
【数29】
【0184】
【数30】
【0185】
【数31】
【0186】
また、ボーゼンクラフト型の畳み込み符号化器の例としては、例えば図15に示すように、3つのシフトレジスタ2031,2032,2033と、12個の排他的論理和回路2041,2042,2043,2044,2045,2046,2047,2048,2049,20410,20411,20412及び15個のANDゲートG1[0],G1[1],G1[2],G1[3],G1[4],G2[0],G2[1],G2[2],G2[3],G2[4],G3[0],G3[1],G3[2],G3[3],G3[4]で表される組み合わせ回路とを有し、符号化率が“2/3”の畳み込み演算を行うものがある。なお、この畳み込み符号化器においても、ANDゲートG1[0],G1[1],G1[2],G1[3],G1[4],G2[0],G2[1],G2[2],G2[3],G2[4],G3[0],G3[1],G3[2],G3[3],G3[4]は、符号構成により結線するか否かを示すものであり、全てのANDゲートが用いられるわけではなく、組み合わせ回路が変化し、符号構成が変化するものであって、ステート数が最大で“23=8”のボーゼンクラフト型の畳み込み演算を行うことができるものである。この畳み込み符号化器の生成行列Gは次式(32)で表される。次式(32)において、G11(D),G21(D),G31(D),G12(D),G22(D),G32(D)は、それぞれ、次式(33)乃至次式(38)で表される。
【0187】
【数32】
【0188】
【数33】
【0189】
【数34】
【0190】
【数35】
【0191】
【数36】
【0192】
【数37】
【0193】
【数38】
【0194】
一方、マッシィ型の畳み込み符号化器は、遅延素子と組み合わせ回路とからなり、入力ビットのいずれかが組織成分としてそのまま出力される構成とされるものであり、遅延素子に対して時系列にデータが保持されないものである。マッシィ型の畳み込み符号化器の例としては、例えば図16に示すように、3つのシフトレジスタ2051,2052,2053と、4つの排他的論理和回路2061,2062,2063,2064及び11個のANDゲートGB[0],GB[1],GB[2],G1[0],G1[1],G1[2],G1[3],G2[0],G2[1],G2[2],G2[3]で表される組み合わせ回路とを有し、符号化率が“2/3”の畳み込み演算を行うものがある。なお、この畳み込み符号化器においても、ANDゲートGB[0],GB[1],GB[2],G1[0],G1[1],G1[2],G1[3],G2[0],G2[1],G2[2],G2[3]は、符号構成により結線するか否かを示すものであり、全てのANDゲートが用いられるわけではなく、組み合わせ回路が変化し、符号構成が変化するものであって、ステート数が最大で“23=8”のマッシィ型の畳み込み演算を行うことができるものである。この畳み込み符号化器の生成行列Gは次式(39)で表される。次式(39)において、GB(D),G1(D),G2(D)は、それぞれ、次式(40)乃至次式(42)で表される。
【0195】
【数39】
【0196】
【数40】
【0197】
【数41】
【0198】
【数42】
【0199】
また、マッシィ型の畳み込み符号化器の例としては、例えば図17に示すように、2つのシフトレジスタ2071,2072と、3つの排他的論理和回路2081,2082,2083及び11個のANDゲートGB[0],GB[1],G1[0],G1[1],G1[2],G2[0],G2[1],G2[2],G3[0],G3[1],G3[2]で表される組み合わせ回路とを有し、符号化率が“3/3”の畳み込み演算を行うものがある。なお、この畳み込み符号化器においても、ANDゲートGB[0],GB[1],G1[0],G1[1],G1[2],G2[0],G2[1],G2[2],G3[0],G3[1],G3[2]は、符号構成により結線するか否かを示すものであり、全てのANDゲートが用いられるわけではなく、組み合わせ回路が変化し、符号構成が変化するものであって、ステート数が最大で“22=4”のマッシィ型の畳み込み演算を行うことができるものである。この畳み込み符号化器の生成行列Gは次式(43)で表される。次式(43)において、GB(D),G1(D),G2(D),G3(D)は、それぞれ、次式(44)乃至次式(47)で表される。
【0200】
【数43】
【0201】
【数44】
【0202】
【数45】
【0203】
【数46】
【0204】
【数47】
【0205】
ここで、符号情報生成回路151により生成される情報について具体的に説明するために、各畳み込み符号化器の具体例を示す。
【0206】
まず、図14に示したボーゼンクラフト型の畳み込み符号化器としては、15個のANDゲートG0[0],GB[2],GB[3],G1[0],G1[1],G1[3],G1[4],G2[0],G2[2],G2[4],G3[0],G3[1],G3[2],G3[3],G3[4]を結線すると、図18に示すように、4つのシフトレジスタ2011,2012,2013,2014と、11個の排他的論理和回路2021,2024,2025,2027,2028,20210,20212,20213,20214,20215,20216とを有するものが考えられる。この畳み込み符号化器は、1ビットの入力データi0を入力すると、この入力データi0に対して畳み込み演算を行い、演算結果を4ビットの出力データO0,O1,O2,O3として出力する。
【0207】
この畳み込み符号化器におけるトレリスを記述すると、図19に示すようになる。同図において、各枝に付されたラベルは枝番号を示している。この枝番号に対する遷移前後のステートと入力データ/出力データとの関係は、次表1に示すようになる。ここでは、ステートは、シフトレジスタ2014、シフトレジスタ2013、シフトレジスタ2012及びシフトレジスタ2011の内容を順次並べたものであり、“0000”、“0001”、“0010”、“0011”、“0100”、“0101”、“0110”、“0111”、“1000”、“1001”、“1010”、“1011”、“1100”、“1101”、“1110”、“1111”のステート番号を、それぞれ、“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“11”、“12”、“13”、“14”、“15”と表している。また、入力データ/出力データは、i0/O3,O2,O1,O0である。
【0208】
【表1】
【0209】
このように、図18に示す畳み込み符号化器におけるステート数は16となり、トレリスは、各ステートから次時刻におけるステートへと2本のパスが到達する構造であり、全32本の枝を有する構造を有するものとなる。
【0210】
符号情報生成部151は、この畳み込み符号化器の場合、入力ビット数情報INとして“1ビット”を、型情報WMとして“ボーゼンクラフト型”を、メモリ数情報MNとして“4”を、枝入出力情報BIOとして表1に示すような各枝の入出力パターンを生成する。
【0211】
また、図15に示したボーゼンクラフト型の畳み込み符号化器としては、9個のANDゲートG1[2],G1[3],G2[0],G2[4],G3[0],G3[1],G3[2],G3[3],G3[4]を結線すると、図20に示すように、3つのシフトレジスタ2031,2032,2033と、6個の排他的論理和回路2045,2046,2049,20410,20411,20412とを有するものが考えられる。この畳み込み符号化器は、2ビットの入力データi0,i1を入力すると、これらの入力データi0,i1に対して畳み込み演算を行い、演算結果を3ビットの出力データO0,O1,O2として出力する。
【0212】
この畳み込み符号化器におけるトレリスを記述すると、図21に示すようになる。同図において、各枝に付されたラベルは枝番号を示している。この枝番号に対する遷移前後のステートと入力データ/出力データとの関係は、次表2に示すようになる。ここでは、ステートは、シフトレジスタ2033、シフトレジスタ2032及びシフトレジスタ2031の内容を順次並べたものであり、“000”、“001”、“010”、“011”、“100”、“101”、“110”、“111”のステート番号を、それぞれ、“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”と表している。また、入力データ/出力データは、i1,i0/O2,O1,O0である。
【0213】
【表2】
【0214】
このように、図20に示す畳み込み符号化器におけるステート数は8となり、トレリスは、各ステートから次時刻におけるステートへと4本のパスが到達する構造であり、全32本の枝を有するものとなる。
【0215】
符号情報生成部151は、この畳み込み符号化器の場合、入力ビット数情報INとして“2ビット”を、型情報WMとして“ボーゼンクラフト型”を、メモリ数情報MNとして“3”を、枝入出力情報BIOとして表2に示すような各枝の入出力パターンを生成する。
【0216】
さらに、図16に示したマッシィ型の畳み込み符号化器としては、3つのANDゲートGB[2],G1[2],G2[1]を結線すると、図22に示すように、3つのシフトレジスタ2051,2052,2053と、2つの排他的論理和回路2062,2063とを有するものが考えられる。この畳み込み符号化器は、2ビットの入力データi0,i1を入力すると、これらの入力データi0,i1に対して再帰的組織畳み込み演算を行い、演算結果を3ビットの出力データO0,O1,O2として出力する。
【0217】
この畳み込み符号化器におけるトレリスを記述すると、図23に示すようになる。同図において、各枝に付されたラベルは枝番号を示している。この枝番号に対する遷移前後のステートと入力データ/出力データとの関係は、次表3に示すようになる。ここでは、ステートは、シフトレジスタ2051、シフトレジスタ2052及びシフトレジスタ2053の内容を順次並べたものであり、“000”、“001”、“010”、“011”、“100”、“101”、“110”、“111”のステート番号を、それぞれ、“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”と表している。また、入力データ/出力データは、i1,i0/O2,O1,O0である。
【0218】
【表3】
【0219】
このように、図22に示す畳み込み符号化器におけるステート数は8となり、トレリスは、各ステートから次時刻におけるステートへと4本のパスが到達する構造であり、全32本の枝を有するものとなる。
【0220】
符号情報生成部151は、この畳み込み符号化器の場合、入力ビット数情報INとして“2ビット”を、型情報WMとして“マッシィ型”を、メモリ数情報MNとして“3”を、枝入出力情報BIOとして表3に示すような各枝の入出力パターンを生成する。
【0221】
さらにまた、図17に示したマッシィ型の畳み込み符号化器としては、6個のANDゲートGB[1],G1[0],G1[1],G1[2],G2[0],G3[0]を結線すると、図24に示すように、2つのシフトレジスタ2071,2072と、3つの排他的論理和回路2081,2082,2083とを有するものが考えられる。この畳み込み符号化器は、3ビットの入力データi0,i1,i2を入力すると、これらの入力データi0,i1,i2に対して再帰的組織畳み込み演算を行い、演算結果を3ビットの出力データO0,O1,O2として出力する。
【0222】
この畳み込み符号化器におけるトレリスを記述すると、図25に示すようになる。同図において、各枝に付されたラベルは枝番号を示している。この枝番号に対する遷移前後のステートと入力データ/出力データとの関係は、次表4に示すようになる。ここでは、ステートは、シフトレジスタ2071及びシフトレジスタ2072の内容を順次並べたものであり、“00”、“01”、“10”、“11”のステート番号を、それぞれ、“0”、“1”、“2”、“3”と表している。また、入力データ/出力データは、i2,i1,i0/O2,O1,O0である。
【0223】
【表4】
【0224】
このように、図24に示す畳み込み符号化器におけるステート数は4となり、トレリスは、各ステートから次時刻におけるステートへと4組のパラレルパスが到達する構造であり、全32本の枝を有するものとなる。
【0225】
符号情報生成部151は、この畳み込み符号化器の場合、入力ビット数情報INとして“3ビット”を、型情報WMとして“マッシィ型”を、メモリ数情報MNとして“2”を、枝入出力情報BIOとして表4に示すような各枝の入出力パターンを生成する。
【0226】
このように、符号情報生成回路151は、符号化装置1における要素符号化器に応じた符号情報を生成する。特に、符号情報生成回路151は、符号に応じたトレリス上の全ての枝の入出力パターンを算出し、枝入出力情報BIOを生成するが、これについては、さらに後述する。符号情報生成回路151は、生成した入力ビット数情報INを、終結情報生成回路153、受信値及び事前確率情報154、Iγ算出回路156、Iγ分配回路157、Iα算出回路158、Iβ算出回路159、軟出力算出回路161、受信値又は事前確率情報分離回路162、及び、硬判定回路165に供給する。また、符号情報生成回路151は、生成した型情報WMを、Iγ算出回路156、Iγ分配回路157、Iα算出回路158及びIβ算出回路159に供給する。さらに、符号情報生成回路151は、生成したメモリ数情報MNを、終結情報生成回路153、Iγ分配回路157、Iα算出回路158、Iβ算出回路159、及び、軟出力算出回路161に供給する。さらにまた、符号情報生成回路151は、生成した枝入出力情報BIOを、Iγ分配回路157及び軟出力算出回路161に供給する。また、符号情報生成回路151は、生成した有効出力位置情報PEを内部消去情報生成回路152に供給する。
【0227】
内部消去情報生成回路152は、外部から供給される消去情報TERSと、符号情報生成回路151から供給される有効出力位置情報PEとに基づいて、パンクチャパターンと有効出力位置とを総括的に考慮して得られる符号出力が存在しない位置を示す内部消去位置情報IERSを生成する。
【0228】
具体的には、内部消去情報生成回路152は、例えば図26に示すように、4つのORゲート2111,2112,2113,2114を有するものとして実現することができる。
【0229】
ORゲート2111,2112,2113,2114は、それぞれ、消去情報TERSと、符号情報生成回路151から供給される有効出力位置情報PEを反転したデータとの論理和をとる。ORゲート2111,2112,2113,2114は、それぞれ、得られた論理和を内部消去位置情報IERSとして受信値及び事前確率情報選択回路154に供給する。
【0230】
このように、内部消去情報生成回路152は、ORゲート2111,2112,2113,2114による論理和をとることによって、符号出力が存在しない位置を示す内部消去位置情報IERSを生成する。
【0231】
終結情報生成回路153は、外部から供給される終結時刻情報TTNP及び終結ステート情報TTNSと、符号情報生成回路151から供給される入力ビット数情報IN及びメモリ数情報MNとに基づいて、符号化装置1における終結情報を生成する。具体的には、終結情報生成回路153は、終結時刻情報TTNP、終結ステート情報TTNS、入力ビット数情報IN及びメモリ数情報MNに基づいて、符号化装置1における終結時刻を示す終結時刻情報TPM及び終結ステートを示す終結ステート情報TSMを生成する。
【0232】
終結情報生成回路153は、例えば図27に示すように、複数のレジスタ2121,2122,2123,2124,2125,2126と、複数のセレクタ2131,2132,2133,2134,2135,2136,2137,2138,2139と、ANDゲート214とを有するものとして実現することができる。
【0233】
レジスタ2121は、外部から供給される終結時刻情報TTNPを1クロックだけ保持し、保持した終結時刻情報TTNPをレジスタ2122及びセレクタ2133に供給する。
【0234】
レジスタ2122は、レジスタ2121から供給される終結時刻情報TTNPを1クロックだけ保持し、保持した終結時刻情報TTNPをレジスタ2123及びセレクタ2134に供給する。
【0235】
レジスタ2123は、レジスタ2122から供給される終結時刻情報TTNPを1クロックだけ保持し、保持した終結時刻情報TTNPをセレクタ2135に供給する。
【0236】
レジスタ2124は、外部から供給される終結ステート情報TTNSを1クロックだけ保持し、保持した終結ステート情報TTNSをレジスタ2125及びセレクタ2136に供給する。
【0237】
レジスタ2125は、レジスタ2124から供給される終結ステート情報TTNSを1クロックだけ保持し、保持した終結ステート情報TTNSをレジスタ2126及びセレクタ2137に供給する。
【0238】
レジスタ2126は、レジスタ2125から供給される終結ステート情報TTNSを1クロックだけ保持し、保持した終結ステート情報TTNSをセレクタ2138に供給する。
【0239】
セレクタ2131は、入力ビット数情報INに基づいて、メモリ数情報MNのうち、例えば、符号化装置1における要素符号化器のメモリ数が“1”であることを示す情報と、メモリ数が“2”であることを示す情報とのうち、いずれか一方を選択する。具体的には、セレクタ2131は、例えば、符号化装置1における入力ビット数が“1”である場合には、メモリ数が“1”であることを示す情報を選択する。セレクタ2131は、選択したデータを選択用の制御信号としてセレクタ2133に供給する。
【0240】
セレクタ2132は、入力ビット数情報INに基づいて、メモリ数情報MNのうち、例えば、符号化装置1における要素符号化器のメモリ数が“2”であることを示す情報と、メモリ数が“3”であることを示す情報とのうち、いずれか一方を選択する。具体的には、セレクタ2132は、例えば、符号化装置1における入力ビット数が“1”である場合には、メモリ数が“2”であることを示す情報を選択する。セレクタ2132は、選択したデータを選択用の制御信号としてセレクタ2134に供給する。
【0241】
セレクタ2133は、セレクタ2131により選択されたデータに基づいて、レジスタ2121から供給される終結時刻情報TTNPと値が“1”であるデータとのうち、いずれか一方を選択する。具体的には、セレクタ2133は、符号化装置1における要素符号化器のメモリ数が“1”である場合には、レジスタ2121から供給される終結時刻情報TTNPを選択する。セレクタ2133は、選択したデータをANDゲート214に供給する。
【0242】
セレクタ2134は、セレクタ2132により選択されたデータに基づいて、レジスタ2122から供給される終結時刻情報TTNPと値が“1”であるデータとのうち、いずれか一方を選択する。具体的には、セレクタ2134は、符号化装置1における要素符号化器のメモリ数が“2”である場合には、レジスタ2122から供給される終結時刻情報TTNPを選択する。セレクタ2134は、選択したデータをANDゲート214に供給する。
【0243】
セレクタ2135は、メモリ数情報MNに基づいて、レジスタ2123から供給される終結時刻情報TTNPと値が“1”であるデータとのうち、いずれか一方を選択する。具体的には、セレクタ2135は、符号化装置1における要素符号化器のメモリ数が“3”である場合には、レジスタ2123から供給される終結時刻情報TTNPを選択する。セレクタ2135は、選択したデータをANDゲート214に供給する。
【0244】
セレクタ2136は、メモリ数情報MNに基づいて、レジスタ2124から供給される終結ステート情報TTNSと値が“0”であるデータとのうち、いずれか一方を選択する。具体的には、セレクタ2136は、符号化装置1における要素符号化器のメモリ数が“1”である場合には、レジスタ2124から供給される終結ステート情報TTNSを選択する。セレクタ2136は、選択したデータをセレクタ2138に供給する。
【0245】
セレクタ2137は、メモリ数情報MNに基づいて、レジスタ2125から供給される終結ステート情報TTNSと値が“0”であるデータとのうち、いずれか一方を選択する。具体的には、セレクタ2137は、符号化装置1における要素符号化器のメモリ数が“2”である場合には、レジスタ2125から供給される終結ステート情報TTNSを選択する。セレクタ2137は、選択したデータをセレクタ2138に供給する。
【0246】
セレクタ2138は、メモリ数情報MNに基づいて、レジスタ2126から供給される終結ステート情報TTNSと値が“0”であるデータとのうち、いずれか一方を選択する。具体的には、セレクタ2138は、符号化装置1における要素符号化器のメモリ数が“3”である場合には、レジスタ2126から供給される終結ステート情報TTNSを選択する。セレクタ2138は、選択したデータをセレクタ2138に供給する。
【0247】
セレクタ2139は、入力ビット数情報INに基づいて、外部から供給される終結ステート情報TTNSと、セレクタ2136,2137,2138から供給されるデータとのうち、いずれか一方を選択する。セレクタ2139は、選択したデータを終結ステート情報TSMとして受信データ及び遅延用記憶回路155に供給する。
【0248】
ANDゲート214は、外部から供給される終結時刻情報TTNPと、セレクタ2133,2134,2135から供給されるデータとの論理積をとる。ANDゲート214は、得られた論理積を終結時刻情報TPMとして受信データ及び遅延用記憶回路155に供給する。
【0249】
このような終結情報生成回路153は、メモリ数情報MNに基づいて、終結期間を把握し、この終結期間に応じたデータの選択をセレクタ2133,2134,2135,2136,2137,2138により行うことによって、任意の終結期間の終結情報を生成することができる。特に、終結情報生成回路153は、後述するように、符号化装置1における要素符号化器がボーゼンクラフト型の畳み込み符号化器であった場合には、終結情報として、入力ビット数分の情報を終結期間分だけ生成することによって、終結ステートを明示する。また、終結情報生成回路153は、後述するように、符号化装置1における要素符号化器が例えばマッシィ型といったボーゼンクラフト型の畳み込み符号化器以外のものであった場合には、終結情報として、終結ステートを示す情報を1タイムスロットで生成することによって、終結ステートを1タイムスロットで明示する。
【0250】
受信値及び事前確率情報選択回路154は、後述するように、任意の符号の復号を行うために設けられるものである。受信値及び事前確率情報選択回路154は、制御回路60から供給される受信値形式情報CRTYと、符号情報生成回路151から供給される入力ビット数情報INと、外部から供給される事前確率情報消去情報TEAPと、内部消去情報生成回路152から供給される内部消去位置情報IERSとに基づいて、入力した復号受信値TSRと外部情報又はインターリーブデータTEXTとのうち、軟出力復号を行うために必要な情報を選択する。また、受信値及び事前確率情報選択回路154は、後述するように、内部消去情報生成回路152から供給される内部消去位置情報IERSに基づいて、符号出力が存在しない位置を尤度が“0”のシンボルに置き換える。すなわち、受信値及び事前確率情報選択回路154は、符号出力が存在しない位置に相当するビットが“0”であるか“1”であるかの確率が“1/2”であるものとするような情報を出力する。
【0251】
具体的には、受信値及び事前確率情報選択回路154は、例えば、復号受信値TSRが4系統の復号受信値TSR0,TSR1,TSR2,TSR3からなるとともに、外部情報又はインターリーブデータTEXTが3系統の外部情報又はインターリーブデータTEXT0,TEXT1,TEXT2からなるものとすると、例えば図28に示すように、16個のセレクタ2151,2152,2153,2154,2155,2156,2157,2158,2159,21510,21511,21512,21513,21514,21515,21516とを有するものとして実現することができる。
【0252】
セレクタ2151は、受信値形式情報CRTYに基づいて、復号受信値TSR0と、外部情報又はインターリーブデータTEXT0とのうち、いずれか一方を選択する。具体的には、セレクタ2151は、受信値形式情報CRTYが外部情報を示すものであった場合には、外部情報又はインターリーブデータTEXT0を選択する。セレクタ2151は、選択したデータをセレクタ2158に供給する。
【0253】
セレクタ2152は、受信値形式情報CRTYに基づいて、復号受信値TSR1と、外部情報又はインターリーブデータTEXT1とのうち、いずれか一方を選択する。具体的には、セレクタ2152は、受信値形式情報CRTYが外部情報を示すものであった場合には、外部情報又はインターリーブデータTEXT1を選択する。セレクタ2152は、選択したデータをセレクタ2159に供給する。
【0254】
セレクタ2153は、受信値形式情報CRTYに基づいて、復号受信値TSR2と、外部情報又はインターリーブデータTEXT2とのうち、いずれか一方を選択する。具体的には、セレクタ2153は、受信値形式情報CRTYが外部情報を示すものであった場合には、外部情報又はインターリーブデータTEXT2を選択する。セレクタ2153は、選択したデータをセレクタ21510に供給する。
【0255】
セレクタ2154は、受信値形式情報CRTYに基づいて、外部情報又はインターリーブデータTEXT0と、値が“0”である事前確率情報とのうち、いずれか一方を選択する。具体的には、セレクタ2154は、受信値形式情報CRTYが外部情報を示すものであった場合には、値が“0”である事前確率情報を選択する。セレクタ2154は、選択したデータをセレクタ21512に供給する。
【0256】
セレクタ2155は、受信値形式情報CRTYに基づいて、外部情報又はインターリーブデータTEXT1と、値が“0”である事前確率情報とのうち、いずれか一方を選択する。具体的には、セレクタ2155は、受信値形式情報CRTYが外部情報を示すものであった場合には、値が“0”である事前確率情報を選択する。セレクタ2155は、選択したデータをセレクタ21513に供給する。
【0257】
セレクタ2156は、受信値形式情報CRTYに基づいて、外部情報又はインターリーブデータTEXT2と、値が“0”である事前確率情報とのうち、いずれか一方を選択する。具体的には、セレクタ2156は、受信値形式情報CRTYが外部情報を示すものであった場合には、値が“0”である事前確率情報を選択する。セレクタ2156は、選択したデータをセレクタ21514に供給する。
【0258】
セレクタ2157は、受信値形式情報CRTYに基づいて、内部消去位置情報IERSのうち、例えば、符号化装置1における要素符号化器から出力される出力ビットのうちの1シンボル目が存在しないことを示す情報と、2シンボル目が存在しないことを示す情報とのうち、いずれか一方を選択する。具体的には、セレクタ2157は、符号化装置1がTTCM又はSCTCMによる符号化を行うものでないことを受信値形式情報CRTYが示すものであった場合には、2シンボル目が存在しないことを示す情報を選択する。セレクタ2157は、選択したデータを選択用の制御信号としてセレクタ2159に供給する。なお、このセレクタ2157による選択動作は、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合における消去動作に起因するものである。すなわち、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合における消去動作は、同相成分及び直交成分のシンボルをともに消去するものとなるため、セレクタ2157は、2シンボル目が存在しないことを示す情報を選択することになる。
【0259】
セレクタ2158は、内部消去位置情報IERSに基づいて、セレクタ2151から供給されるデータと、値が“0”である情報とのうち、いずれか一方を選択する。具体的には、セレクタ2158は、内部消去位置情報IERSが符号化装置1における要素符号化器から出力される出力ビットのうちの1シンボル目が存在しないことを示すものであった場合には、値が“0”である情報を選択する。セレクタ2158により選択されたデータは、セレクタ2159,21510,21514,21515,21516から供給されるデータとともに束ねられ、選択受信値及び事前確率情報RAPとして受信データ及び遅延用記憶回路155に供給される。
【0260】
セレクタ2159は、セレクタ2157から供給されるデータに基づいて、セレクタ2152から供給されるデータと、値が“0”である情報とのうち、いずれか一方を選択する。具体的には、セレクタ2159は、セレクタ2157から供給されるデータが符号化装置1における要素符号化器から出力される出力ビットのうちの2シンボル目が存在しないことを示すものであった場合には、値が“0”である情報を選択する。セレクタ2159により選択されたデータは、セレクタ2158,21510,21514,21515,21516から供給されるデータとともに束ねられ、選択受信値及び事前確率情報RAPとして受信データ及び遅延用記憶回路155に供給される。
【0261】
セレクタ21510は、内部消去位置情報IERSに基づいて、セレクタ2153から供給されるデータと、値が“0”である情報とのうち、いずれか一方を選択する。具体的には、セレクタ21510は、内部消去位置情報IERSが符号化装置1における要素符号化器から出力される出力ビットのうちの3シンボル目が存在しないことを示すものであった場合には、値が“0”である情報を選択する。セレクタ21510により選択されたデータは、セレクタ2158,2159,21514,21515,21516から供給されるデータとともに束ねられ、選択受信値及び事前確率情報RAPとして受信データ及び遅延用記憶回路155に供給される。
【0262】
セレクタ21511は、内部消去位置情報IERSに基づいて、復号受信値TSR3と、値が“0”である情報とのうち、いずれか一方を選択する。具体的には、セレクタ21511は、内部消去位置情報IERSが符号化装置1における要素符号化器から出力される出力ビットのうちの4シンボル目が存在しないことを示すものであった場合には、値が“0”である情報を選択する。セレクタ21511は、選択したデータをセレクタ21515に供給する。
【0263】
セレクタ21512は、事前確率情報消去情報TEAPに基づいて、セレクタ2154から供給されるデータと、値が“0”である情報とのうち、いずれか一方を選択する。具体的には、セレクタ21512は、事前確率情報消去情報TEAPがパンクチャされていることを示すものであった場合には、値が“0”である情報を選択する。セレクタ21512は、選択したデータをセレクタ21515,21516に供給する。
【0264】
セレクタ21513は、事前確率情報消去情報TEAPに基づいて、セレクタ2155から供給されるデータと、値が“0”である情報とのうち、いずれか一方を選択する。具体的には、セレクタ21513は、事前確率情報消去情報TEAPがパンクチャされていることを示すものであった場合には、値が“0”である情報を選択する。セレクタ21513は、選択したデータをセレクタ21516に供給する。
【0265】
セレクタ21514は、事前確率情報消去情報TEAPに基づいて、セレクタ2156から供給されるデータと、値が“0”である情報とのうち、いずれか一方を選択する。具体的には、セレクタ21514は、事前確率情報消去情報TEAPがパンクチャされていることを示すものであった場合には、値が“0”である情報を選択する。セレクタ21514により選択されたデータは、セレクタ2158,2159,21510,21515,21516から供給されるデータとともに束ねられ、選択受信値及び事前確率情報RAPとして受信データ及び遅延用記憶回路155に供給される。
【0266】
セレクタ21515は、入力ビット数情報INに基づいて、セレクタ21511から供給されるデータと、セレクタ21512から供給されるデータとのうち、いずれか一方を選択する。具体的には、セレクタ21515は、符号化装置1における要素符号化器の符号化率が“1/n”で表され、且つ、入力ビット数が“1”であることを入力ビット数情報INが示すものであった場合には、セレクタ21511から供給されるデータを選択する。セレクタ21515により選択されたデータは、セレクタ2158,2159,21510,21514,21516から供給されるデータとともに束ねられ、選択受信値及び事前確率情報RAPとして受信データ及び遅延用記憶回路155に供給される。
【0267】
セレクタ21516は、入力ビット数情報INに基づいて、セレクタ21512から供給されるデータと、セレクタ21513から供給されるデータとのうち、いずれか一方を選択する。具体的には、セレクタ21516は、符号化装置1における要素符号化器の符号化率が“1/n”で表され、且つ、入力ビット数が“1”であることを入力ビット数情報INが示すものであった場合には、セレクタ21512から供給されるデータを選択する。セレクタ21516により選択されたデータは、セレクタ2158,2159,21510,21514,21515から供給されるデータとともに束ねられ、選択受信値及び事前確率情報RAPとして受信データ及び遅延用記憶回路155に供給される。
【0268】
このような受信値及び事前確率情報選択回路154は、セレクタ2151,2152,2153,2154,2155,2156により復号受信値TSRと外部情報又はインターリーブデータTEXTとを選択することによって、これらの復号受信値TSRと外部情報又はインターリーブデータTEXTとを符号尤度として切り替えることができ、軟出力復号を行うために入力されるべき情報を適切に選択することができる。また、受信値及び事前確率情報選択回路154は、セレクタ2158,2159,21510,21511,21512,21513,21514による選択動作を行うことによって、符号出力が存在しない位置を尤度が“0”のシンボルに置き換えることができる。
【0269】
受信データ及び遅延用記憶回路155は、図示しないが、例えば、複数バンクのRAMと、制御回路と、選択回路とを有する。受信データ及び遅延用記憶回路155は、終結情報生成回路153から供給される終結時刻情報TPM及び終結ステート情報TSMと、受信値及び事前確率情報選択回路154から供給される選択受信値及び事前確率情報RAPとを記憶する。
【0270】
そして、受信データ及び遅延用記憶回路155は、内部の制御回路による制御の下に、記憶した終結時刻情報TPM及び終結ステート情報TSMのうち、所定の情報を選択回路により選択し、Iα算出回路158にて用いる終結情報TAL、Iβ算出回路159にて用いる終結情報TB0,TB1として出力する。終結情報TALは、所定の遅延が施された後、終結情報TALDとしてIα算出回路158に供給される。また、終結情報TB0,TB1は、それぞれ、所定の遅延が施された後、終結情報TB0D,TB1DとしてIβ算出回路159に供給される。
【0271】
また、受信データ及び遅延用記憶回路155は、内部の制御回路による制御の下に、記憶した選択受信値及び事前確率情報RAPのうち、所定の情報を選択回路により選択し、Iα算出回路158にて用いる受信データDA、Iβ算出回路159にて用いる2系統の受信データDB0,DB1として出力する。受信データDAは、Iγ算出回路156に供給されるとともに、所定の遅延が施された後、遅延受信データDADとして受信値又は事前確率情報分離回路162に供給される。また、受信データDB0,DB1は、それぞれ、Iγ算出回路156に供給される。
【0272】
なお、要素復号器50は、連続データを処理する方法として知られるいわゆるスライディングウィンドウ処理を行うが、このスライディングウィンドウ処理を行う際の受信データ及び遅延用記憶回路155及び後述するIβ記憶回路160におけるメモリマネジメントの手法として、本願出願人が既に国際特許出願している国際公開番号WO99/62183号公報に記載されているものを採用している。すなわち、要素復号器50は、簡略的に説明すると、受信データ及び遅延用記憶回路155から、所定の打ち切り長で区切られた受信データを読み出し、Iβ記憶回路160によって、対数尤度Iβを記憶することによって、最終的に対数軟出力Iλが本来の時系列順に求められるようなメモリマネジメントを行う。ただし、要素復号器50は、国際公開番号WO99/62183号公報に記載されているように、対数尤度Iγを算出してからメモリマネジメントを行うのではなく、受信データを受信データ及び遅延用記憶回路155に記憶してから、適切なメモリマネジメントの下に受信データを読み出し、対数尤度Iγを算出している。
【0273】
さらに、受信データ及び遅延用記憶回路155は、後述するように、遅延用のデータを記憶することもできる。すなわち、受信データ及び遅延用記憶回路155は、受信値TRと、エッジ検出回路80から供給されるエッジ信号TEILSとを記憶し、軟出力復号回路90が要する処理時間と同時間だけ遅延させる。受信データ及び遅延用記憶回路155は、受信値TRを遅延させて得られた遅延受信値PDRを、遅延受信値SDRとしてセレクタ1203,1206に供給する。また、受信データ及び遅延用記憶回路155は、エッジ信号TEILSを遅延させて得られた遅延エッジ信号PDILを、遅延エッジ信号SDILSとしてセレクタ1205に供給する。
【0274】
Iγ算出回路156は、受信データ及び遅延用記憶回路155から供給される受信データDA,DB0,DB1を用いて、対数尤度Iγを算出する。具体的には、Iγ算出回路156は、“2.”の冒頭に記載した表記に基づくと、受信値yt毎に、次式(48)に示す演算を行い、各時刻tにおける対数尤度Iγを算出する。なお、次式(48)に示すsgnは、正負を識別する符号を示す定数、すなわち、“+1”又は“−1”のいずれかである。この定数sgnは、要素復号器50が対数尤度として負値のみを扱う系として構成される場合には、“+1”をとり、要素復号器50が対数尤度として正値のみを扱う系として構成される場合には、“−1”をとる。すなわち、Iγ算出回路156は、受信値yt毎に、符号の出力パターンと受信値により決定される確率γを対数表記した対数尤度Iγ又は確率γを対数表記して正負識別符号を反転した対数尤度Iγを算出する。
【0275】
【数48】
【0276】
なお、以下では、必要に応じて、要素復号器50が対数尤度として負値又は正値のみを扱う系として構成される場合における議論を行うものの、特に断りがない場合は、定数sgnが“−1”である場合、すなわち、要素復号器50が対数尤度として正値のみを扱う系として構成され、確率が高いものほど小さい値で表すものとして説明する。
【0277】
このとき、Iγ算出回路156は、制御回路60から供給される受信値形式情報CRTY、事前確率情報形式情報CAPP、及び、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合には信号点配置情報CSIGと、符号情報生成回路151から供給される入力ビット数情報IN及び型情報WMとに基づいて、対数尤度Iγを算出する。Iγ算出回路156は、算出した対数尤度IγをIγ分配回路157に供給する。すなわち、Iγ算出回路156は、Iα算出回路158にて用いる対数尤度Iγを対数尤度GAとしてIγ分配回路157に供給するとともに、Iβ算出回路159にて用いる対数尤度Iγを対数尤度GB0,GB1としてIγ分配回路157に供給する。
【0278】
このようなIγ算出回路156は、例えば図29に示すように、2系統の対数尤度Iβ0,Iβ1のうち、対数尤度Iβ0を算出するために用いる対数尤度Iγを算出するIβ0用Iγ算出回路2201と、対数尤度Iβ1を算出するために用いる対数尤度Iγを算出するIβ1用Iγ算出回路2202と、対数尤度Iαを算出するために用いる対数尤度Iγを算出するIα用Iγ算出回路2203とを有するものとして実現することができる。ここで、これらのIβ0用Iγ算出回路2201、Iβ1用Iγ算出回路2202及びIα用Iγ算出回路2203は、入力されるデータが異なるのみで同一の構成で実現できることから、ここでは、Iβ0用Iγ算出回路2201のみの説明を行い、Iβ1用Iγ算出回路2202及びIα用Iγ算出回路2203の説明は図示とともに省略する。
【0279】
Iβ0用Iγ算出回路2201は、情報・符号Iγ算出回路221と、Iγ正規化回路222とを有する。
【0280】
情報・符号Iγ算出回路221は、後述するように、受信値及び事前確率情報からなる受信データDB0を入力すると、受信値形式情報CRTY、事前確率情報形式情報CAPP、信号点配置情報CSIG及び入力ビット数情報INに基づいて、あり得る全ての入出力パターン分の対数尤度Iγ又は少なくとも一部の入出力パターン分の対数尤度Iγを算出する。
【0281】
このとき、情報・符号Iγ算出回路221は、符号化装置1がTTCMやSCTCMによる符号化を行うものでない場合には、入力した受信データDB0から、事前確率情報といわゆる通信路値との和を対数尤度Iγとして算出する。
【0282】
また、情報・符号Iγ算出回路221は、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合には、入力した受信データDB0の内積を算出することによって、対数尤度Iγを算出する。これは、I/Q平面上でのユークリッド距離が対数尤度Iγとなるが、PSK変調方式の場合には、符号化装置からの出力の送信振幅が一定値をとることから、ユークリッド距離を求めることは、内積を求めることと等価となるからである。
【0283】
情報・符号Iγ算出回路221は、算出した対数尤度Iγを、Iγ正規化回路222に供給する。
【0284】
Iγ正規化回路222は、後述するように、情報・符号Iγ算出回路221による演算結果の分布の偏りを是正するための正規化を行う。具体的には、Iγ正規化回路222は、情報・符号Iγ算出回路221により算出された複数の対数尤度Iγのうち、確率が最大値を有するものに対応する対数尤度を、とり得る確率の最大値に対応する対数尤度に合わせるように、各対数尤度に対して所定の演算を施す。すなわち、Iγ正規化回路222は、要素復号器50が対数尤度を負値として扱う場合には、情報・符号Iγ算出回路221により算出された複数の対数尤度Iγのうち、最大値を有するものを、要素復号器50が表現可能な最大値に合わせるように、複数の対数尤度Iγのそれぞれに対して所定の値を加算するような正規化を行う。また、Iγ正規化回路222は、要素復号器50が対数尤度を正値として扱う場合には、情報・符号Iγ算出回路221により算出された複数の対数尤度Iγのうち、最小値を有するものを、要素復号器50が表現可能な最小値に合わせるように、複数の対数尤度Iγのそれぞれから所定の値を減算するような正規化を行う。Iγ正規化回路222は、正規化後の対数尤度Iγを、必要なダイナミックレンジに応じてクリッピングを行い、対数尤度GB0としてIγ分配回路157に供給する。
【0285】
このようなIβ0用Iγ算出回路2201は、対数尤度Iβ0を算出するために用いる対数尤度Iγを算出し、対数尤度GB0としてIγ分配回路157に供給する。
【0286】
また、Iβ1用Iγ算出回路2202は、Iβ0用Iγ算出回路2201に入力される受信データDB0の代わりに、受信データDB1を入力し、Iβ0用Iγ算出回路2201と同様の処理を行う。Iβ1用Iγ算出回路2202は、対数尤度Iβ1を算出するために用いる対数尤度Iγを算出し、対数尤度GB1としてIγ分配回路157に供給する。
【0287】
同様に、Iα用Iγ算出回路2203は、Iβ0用Iγ算出回路2201に入力される受信データDB0の代わりに、受信データDAを入力し、Iβ0用Iγ算出回路2201と同様の処理を行う。Iα用Iγ算出回路2203は、対数尤度Iαを算出するために用いる対数尤度Iγを算出し、対数尤度GAとしてIγ分配回路157に供給する。
【0288】
このようなIγ算出回路156は、受信データDA,DB0,DB1を用いて、対数尤度Iγとして算出した対数尤度GA,GB0,GB1を生成し、これらの対数尤度GA,GB0,GB1をIγ分配回路157に供給する。
【0289】
Iγ分配回路157は、後述するように、Iγ算出回路156から供給される対数尤度GA,GB0,GB1を、それぞれ、符号構成に応じて分配する。すなわち、Iγ分配回路157は、符号構成に応じたトレリス上の枝に対応するように、対数尤度GA,GB0,GB1を分配する。このとき、Iγ分配回路157は、制御回路60から供給される生成行列情報CGと、符号情報生成回路151から供給される入力ビット数情報IN、型情報WM、メモリ数情報MN及び枝入出力情報BIOとに基づいて、対数尤度GA,GB0,GB1を分配する。
【0290】
また、Iγ分配回路157は、後述するように、トレリス上にパラレルパスが存在する符号を復号する際には、これらのパラレルパスを束ねる機能を兼ね備える。
【0291】
Iγ分配回路157は、分配して得られた対数尤度IγをIα算出回路158及びIβ算出回路159に供給する。すなわち、Iγ分配回路157は、Iα算出回路158にて用いる対数尤度Iγを対数尤度DGAとしてIα算出回路158に供給するとともに、Iβ算出回路159にて用いる対数尤度Iγを対数尤度DGB0,DGB1としてIβ算出回路159に供給する。また、Iγ分配回路157は、後述するように、パラレルパスを束ねない状態で得られる対数尤度Iγを対数尤度DGABとしてIα算出回路158に供給する。
【0292】
具体的には、Iγ分配回路157は、例えば図30に示すように、符号構成に応じたトレリス上の枝の入出力情報を算出する枝入出力情報算出回路223と、2系統の対数尤度Iβ0,Iβ1のうち、対数尤度Iβ0を算出するために用いる対数尤度Iγを分配するIβ0用Iγ分配回路2241と、対数尤度Iβ1を算出するために用いる対数尤度Iγを分配するIβ1用Iγ分配回路2242と、対数尤度Iαを算出するために用いる対数尤度Iγを分配するIα用Iγ分配回路2243と、トレリス上にパラレルパスが存在する符号の場合に、対数尤度Iβ0を算出するために用いる当該パラレルパスを処理するIβ0用パラレルパス処理回路2251と、トレリス上にパラレルパスが存在する符号の場合に、対数尤度Iβ1を算出するために用いる当該パラレルパスを処理するIβ1用パラレルパス処理回路2252と、トレリス上にパラレルパスが存在する符号の場合に、対数尤度Iαを算出するために用いる当該パラレルパスを処理するIα用パラレルパス処理回路2253とを有するものとして実現することができる。
【0293】
枝入出力情報算出回路223は、生成行列情報CGと、入力ビット数情報INと、型情報WMと、メモリ数情報MNと、枝入出力情報BIOとに基づいて、符号構成を識別し、当該符号構成に対応するトレリス上の枝の時間軸とは逆順に沿った枝入出力情報を算出する。枝入出力情報算出回路223は、算出した枝入出力情報BIをIβ0用Iγ分配回路2241及びIβ1用Iγ分配回路2242に供給する。
【0294】
Iβ0用Iγ分配回路2241は、対数尤度GB0を入力すると、枝入出力情報BIに基づいて、符号構成に応じた分配を行う。Iβ0用Iγ分配回路2241は、分配して得られた対数尤度PGB0をIβ0用パラレルパス処理回路2251に供給する。
【0295】
Iβ1用Iγ分配回路2242は、対数尤度GB1を入力すると、枝入出力情報BIに基づいて、符号構成に応じた分配を行う。Iβ1用Iγ分配回路2242は、分配して得られた対数尤度PGB1をIβ1用パラレルパス処理回路2252に供給する。
【0296】
Iα用Iγ分配回路2243は、対数尤度GAを入力すると、枝入出力情報BIOに基づいて、符号構成に応じた分配を行う。Iα用Iγ分配回路2243は、分配して得られた対数尤度PGAをIα用パラレルパス処理回路2253に供給する。また、Iα用Iγ分配回路2243は、分配して得られた対数尤度PGAを、対数尤度DGABとしてIα算出回路158に供給する。
【0297】
Iβ0用パラレルパス処理回路2251は、後述するように、対数尤度PGB0を入力すると、この対数尤度PGB0がパラレルパスに対応するものであった場合には、対数尤度PGB0を束ね、対数尤度DGB0、すなわち、対数尤度Iβ0を算出するために用いる対数尤度Iγとして出力する。また、Iβ0用パラレルパス処理回路2251は、入力した対数尤度PGB0がパラレルパスに対応するものでなかった場合には、この対数尤度PGB0を対数尤度DGB0としてそのまま出力する。このとき、Iβ0用パラレルパス処理回路2251は、入力ビット数情報INに基づいて、出力すべき対数尤度DGB0を選択する。
【0298】
具体的には、Iβ0用パラレルパス処理回路2251は、図31に示すように、復号の対象とする符号のステート数のうちの最大値の数のパラレルパス用log−sum演算回路226nと、2対1の選択を行うセレクタ227とを有する。ここでは、Iβ0用パラレルパス処理回路2251は、トレリス上にパラレルパスが存在する符号のうち、最大で32本の枝を有するトレリスで表され且つ最大で4ステートを有する符号、より具体的には、4ステートに対して各ステートに8本のパスが到達するようなパラレルパスがトレリス上に存在する符号の復号を行うものとし、32本の枝を16個の対数尤度Iγに変換するための16個のパラレルパス用log−sum演算回路2261,2262,2263,・・・,22616を有するものとする。
【0299】
パラレルパス用log−sum演算回路2261は、図32に示すように、2つの差分器2291,2292と、3つのセレクタ230,231,233と、これらのセレクタ230,231,233による選択動作を制御するための制御信号を生成する選択用制御信号生成回路232と、いわゆるlog−sum補正における補正項の値をテーブルとして記憶するROM(Read Only Memory)等から構成されるルックアップテーブル234と、加算器235とを有する。これらの各部のうち、差分器2291,2292、セレクタ230,231及び選択用制御信号生成回路232は、比較及び絶対値算出回路228を構成する。
【0300】
比較及び絶対値算出回路228は、入力した2つのデータの大小を比較し、これらの2つのデータの差分値の絶対値を算出する。
【0301】
差分器2291は、32通りの対数尤度Iγの集合である対数尤度PGB0のうち、2つの対数尤度Iγである対数尤度PG00と対数尤度PG01との差分をとる。厳密には、差分器2291は、対数尤度PG00,PG01が、それぞれ、例えば9ビットからなるものとすると、対数尤度PG00の下位6ビットのデータの最上位ビットに“1”を付したものと、対数尤度PG01の下位6ビットのデータの最上位ビットに“0”を付したものとの差分をとる。差分器2291は、算出した差分値DA1をセレクタ230及び選択用制御信号生成回路232に供給する。
【0302】
差分器2292は、対数尤度PG01と対数尤度PG00との差分をとる。厳密には、差分器2292は、対数尤度PG00,PG01が、それぞれ、例えば9ビットからなるものとすると、対数尤度PG01の下位6ビットのデータの最上位ビットに“1”を付したものと、対数尤度PG00の下位6ビットのデータの最上位ビットに“0”を付したものとの差分をとる。差分器2292は、算出した差分値DA0をセレクタ230及び選択用制御信号生成回路232に供給する。
【0303】
セレクタ230は、選択用制御信号生成回路232から供給される制御信号SL1に基づいて、差分器2291から供給される差分値DA1と、差分器2292から供給される差分値DA0とのうち、値が大きいものを選択する。セレクタ230は、選択して得られたデータCAをセレクタ231に供給する。
【0304】
セレクタ231は、選択用制御信号生成回路232から供給される制御信号SL2に基づいて、セレクタ230から供給されるデータCAと、所定の値Mを有するデータとのうち、いずれか一方を選択する。具体的には、データCAとして供給される差分値に対する補正項の値は、所定の値に漸近する性質を有していることから、セレクタ231は、データCAの値が所定の値Mを超過している場合には、所定の値Mを有するデータを選択する。セレクタ231は、選択して得られたデータDMをルックアップテーブル234に供給する。
【0305】
選択用制御信号生成回路232は、対数尤度PG00,PG01と、差分値DA1,DA0とに基づいて、セレクタ230,233による選択動作を制御するための制御信号SL1を生成するとともに、セレクタ231による選択動作を制御するための制御信号SL2を生成する。この際、選択用制御信号生成回路232は、対数尤度PG00,PG01に基づいて、メトリックの上位ビットと下位ビットとを分割して、選択用の判定文を示す制御信号SL1,SL2を生成するが、これについては後述する。
【0306】
このような比較及び絶対値算出回路228は、対数尤度PG00,PG01の差分値の絶対値を算出する。この際、比較及び絶対値算出回路228においては、後述するように、差分器2291に供給されるデータは、対数尤度PG00,PG01が、それぞれ、例えば9ビットからなるものとすると、対数尤度PG00の下位6ビットのデータの最上位ビットに“1”を付したものと、対数尤度PG01の下位6ビットのデータの最上位ビットに“0”を付したものとである。同様に、比較及び絶対値算出回路228においては、差分器2292に供給されるデータは、対数尤度PG00の下位6ビットのデータの最上位ビットに“0”を付したものと、対数尤度PG01の下位6ビットのデータの最上位ビットに“1”を付したものとである。すなわち、差分器2291,2292には、対数尤度PG00,PG01のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータが供給されるが、これは、対数尤度PG00,PG01の大小比較を高速に行うためであり、また、選択用制御信号生成回路232によって、メトリックの上位ビットと下位ビットとを分割して、選択用の判定文を作成することに関係がある。これについては後述するものとする。
【0307】
セレクタ233は、選択用制御信号生成回路232から供給される制御信号SL1に基づいて、対数尤度PB00,PG01のうち、値が小さいものを選択する。セレクタ233は、選択して得られたデータSPGを加算器235に供給する。
【0308】
ルックアップテーブル234は、log−sum補正における補正項の値をテーブルとして記憶する。ルックアップテーブル234は、セレクタ231から供給されるデータDMの値に対応する補正項の値をテーブルから読み出し、データRDMとして加算器235に供給する。
【0309】
加算器235は、セレクタ233から供給されるデータSPGと、ルックアップテーブル234から供給されるデータRDMとを加算し、対数尤度Iγを算出する。加算器235は、算出した対数尤度Iγを対数尤度PPG00としてセレクタ227に供給する。
【0310】
このようなパラレルパス用log−sum演算回路2261は、パラレルパスに対応する2つの対数尤度PG00,PG01を束ね、対数尤度PPG00としてセレクタ227に供給する。
【0311】
パラレルパス用log−sum演算回路2262は、パラレルパス用log−sum演算回路2261と同様の構成からなり、パラレルパスに対応する2つの対数尤度PG02,PG03を束ね、対数尤度PPG01としてセレクタ227に供給する。
【0312】
また、パラレルパス用log−sum演算回路2263は、パラレルパス用log−sum演算回路2261と同様の構成からなり、パラレルパスに対応する2つの対数尤度PG04,PG05を束ね、対数尤度PPG02としてセレクタ227に供給する。
【0313】
さらに、パラレルパス用log−sum演算回路22616は、パラレルパス用log−sum演算回路2261と同様の構成からなり、パラレルパスに対応する2つの対数尤度PG030,PG031を束ね、対数尤度PPG15としてセレクタ227に供給する。
【0314】
このように、複数のパラレルパス用log−sum演算回路226nは、それぞれ、パラレルパスに対応する2つの対数尤度を束ねる。各パラレルパス用log−sum演算回路226nにより束ねられて得られた対数尤度PPG00,PPG01,PPG02,・・・,PPG15は、対数尤度PPGとしてセレクタ227に供給される。
【0315】
Iβ0用パラレルパス処理回路2251において、セレクタ227は、入力ビット数情報INに基づいて、Iβ0用Iγ分配回路2241から供給される対数尤度PGB0のうち、下位のメトリックに相当するものと、各パラレルパス用log−sum演算回路226nから供給される対数尤度PPGとのうち、いずれか一方を選択する。具体的には、セレクタ227は、符号化装置1における要素符号化器がトレリス上にパラレルパスが存在する符号化を行うものであった場合には、対数尤度PPGを選択する。すなわち、ここでは、セレクタ227による選択動作を制御するための制御信号として、入力ビット数情報INを用いているが、実際には、トレリス上にパラレルパスが存在する符号であるか否かを示す制御信号がセレクタ227に入力される。
【0316】
このようなIβ0用パラレルパス処理回路2251は、対数尤度PGB0を入力すると、この対数尤度PGB0がパラレルパスに対応するものであった場合には、セレクタ227によって、束ねられた対数尤度PPGを選択し、この対数尤度PPGと、対数尤度PGB0のうち、上位のメトリックに相当するものとを併せ、対数尤度DGB0としてIβ算出回路159に供給する。また、Iβ0用パラレルパス処理回路2251は、対数尤度PGB0がパラレルパスに対応するものでなかった場合には、この対数尤度PGB0を対数尤度DGB0としてそのまま出力する。
【0317】
Iβ1用パラレルパス処理回路2252は、Iβ0用パラレルパス処理回路2251と同様の構成からなるため、詳細な説明は省略するが、対数尤度PGB1を入力すると、この対数尤度PGB1がパラレルパスに対応するものであった場合には、対数尤度PGB1を束ね、対数尤度DGB1、すなわち、対数尤度Iβ1を算出するために用いる対数尤度IγとしてIβ算出回路159に供給する。また、Iβ1用パラレルパス処理回路2252は、入力した対数尤度PGB1がパラレルパスに対応するものでなかった場合には、この対数尤度PGB1を対数尤度DGB1としてそのままIβ算出回路159に供給する。
【0318】
また、Iα用パラレルパス処理回路2253も、Iβ0用パラレルパス処理回路2251と同様の構成からなるため、詳細な説明は省略するが、対数尤度PGAを入力すると、この対数尤度PGAがパラレルパスに対応するものであった場合には、対数尤度PGAを束ね、対数尤度DGA、すなわち、対数尤度Iαを算出するために用いる対数尤度IγとしてIα算出回路158に供給する。また、Iα用パラレルパス処理回路2253は、入力した対数尤度PGAがパラレルパスに対応するものでなかった場合には、この対数尤度PGAを対数尤度DGAとしてそのままIα算出回路158に供給する。
【0319】
このようなIγ分配回路157は、対数尤度GA,GB0,GB1を、それぞれ、符号構成に応じて分配し、さらに、トレリス上にパラレルパスが存在する符号を復号する際には、これらのパラレルパスを束ね、得られた対数尤度DGA,DGABをIα算出回路158に供給するとともに、得られた対数尤度DGB0,DGB1をIβ算出回路159に供給する。
【0320】
Iα算出回路158は、Iγ分配回路157から供給される対数尤度DGA,DGABを用いて、対数尤度Iαを算出する。具体的には、Iα算出回路158は、“2.”の冒頭に記載した表記に基づくと、対数尤度Iγを用いて、次式(49)に示す演算を行い、各時刻tにおける対数尤度Iαを算出する。なお、次式(49)における演算子“#”は、いわゆるlog−sum演算を示すものであり、入力“0”でステートm’からステートmへと遷移するときにおける対数尤度と、入力“1”でステートm’’からステートmへと遷移するときにおける対数尤度とのlog−sum演算を示すものである。より具体的には、Iα算出回路158は、定数sgnが“+1”の場合には、次式(50)に示す演算を行うことによって、一方、定数sgnが“−1”の場合には、次式(51)に示す演算を行うことによって、各時刻tにおける対数尤度Iαを算出する。すなわち、Iα算出回路158は、対数尤度Iγに基づいて、受信値yt毎に、符号化開始ステートから時系列順に各ステートに至る確率αを対数表記した対数尤度Iα又は確率αを対数表記して正負識別符号を反転した対数尤度Iαを算出する。
【0321】
【数49】
【0322】
【数50】
【0323】
【数51】
【0324】
このとき、Iα算出回路158は、制御回路60から供給される生成行列情報CGと、符号情報生成回路151から供給される入力ビット数情報IN、型情報WM及びメモリ数情報MNと、受信データ及び遅延用記憶回路155から供給される終結情報TALDとに基づいて、対数尤度Iαを算出する。Iα算出回路158は、算出した対数尤度Iαと対数尤度Iγとの和を軟出力算出回路161に供給する。すなわち、Iα算出回路158は、後述するように、算出した対数尤度Iαをそのまま出力するのではなく、対数軟出力Iλの算出に用いる対数尤度Iαと対数尤度Iγとの和を、データAGとして出力する。
【0325】
具体的には、Iα算出回路158は、例えば図33に示すように、制御信号を生成する制御信号生成回路240と、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号に対して、加算比較選択(add compare select)処理及びlog−sum補正により補正項を追加する処理を行う加算比較選択回路241と、トレリス上の各ステートから次時刻におけるステートへと4本、又は、符号によっては8本のパスが到達するような符号に対して、加算比較選択処理及びlog−sum補正により補正項を追加する処理を行う加算比較選択回路242と、対数尤度Iαと対数尤度Iγとの和を算出するIα+Iγ算出回路243と、3対1の選択を行うセレクタ244とを有するものとして実現することができる。
【0326】
制御信号生成回路240は、生成行列情報CG、入力ビット数情報IN、型情報WM及びメモリ数情報MNを用いて、トレリス上の各ステートから次時刻におけるステートへと4本のパスが到達するような符号における遷移元のステートを算出し、制御信号PSTとして加算比較選択回路242に供給する。
【0327】
加算比較選択回路241は、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号に対して、加算比較選択処理及びlog−sum補正により補正項を追加する処理を行うことによって、log−sum演算を行う。
【0328】
具体的には、加算比較選択回路241は、図34に示すように、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号のうち、復号の対象とする符号のステート数のうちの最大値の数のlog−sum演算回路245nを有する。ここでは、加算比較選択回路241は、最大で16ステートを有する符号の復号を行うものとし、16個のlog−sum演算回路2451,2452,2453,・・・,24516を有するものとする。
【0329】
これらのlog−sum演算回路2451,2452,2453,・・・,24516には、それぞれ、トレリス上の遷移に基づいて、トレリス上の出力パターンに対応する枝の対数尤度Iγと、各ステートにおける1時刻前の対数尤度Iαが供給される。すなわち、log−sum演算回路2451,2452,2453,・・・,24516には、それぞれ、対数尤度DGAのうち、トレリス上の出力パターンに対応する枝の対数尤度Iγに相当するものと、算出した1時刻前の対数尤度ALのうち、各ステートにおける対数尤度Iαに相当するものとが供給される。そして、log−sum演算回路2451,2452,2453,・・・,24516は、それぞれ、次時刻の各ステートにおける対数尤度Iαを対数尤度ALとして求める。各log−sum演算回路2451,2452,2453,・・・,24516に対する対数尤度ALの分配は、符号構成に応じて異なり、ここではメモリ数情報MNに基づいて、図示しないセレクタ等により決定される。この対数尤度ALの分配については、さらに後述する。
【0330】
具体的には、log−sum演算回路2451は、3つの加算器2461,2462,249と、log−sum補正における補正項の値を算出する補正項算出回路247と、セレクタ248と、Iα正規化回路250とを有する。
【0331】
加算器2461は、対数尤度DGAのうちの対数尤度DGA00を入力するとともに、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A0として入力し、これらの対数尤度DGA00,A0を加算する。加算器2461は、加算して得られた対数尤度Iαと対数尤度Iγとの和を示すデータAM0を補正項算出回路247及びセレクタ248に供給する。
【0332】
加算器2462は、対数尤度DGAのうちの対数尤度DGA01を入力するとともに、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A1として入力し、これらの対数尤度DGA01,A1を加算する。加算器2462は、加算して得られたIα+Iγを示すデータAM1を補正項算出回路247及びセレクタ248に供給する。
【0333】
補正項算出回路247は、加算器2461から供給されるデータAM0と、加算器2462から供給されるデータAM1とを入力し、補正項の値を示すデータDMを算出する。この補正項算出回路247は、図35に示すように、2つの差分器2511,2512と、log−sum補正における補正項の値をテーブルとして記憶する2つのルックアップテーブル2521,2522と、3つのセレクタ248,254,255による選択動作を制御するための制御信号を生成する選択用制御信号生成回路253と、2つのセレクタ254,255とを有する。
【0334】
差分器2511は、加算器2461から供給されるデータAM0と、加算器2462から供給されるデータAM1との差分をとる。厳密には、差分器2511は、データAM0,AM1が、それぞれ、例えば12ビットからなるものとすると、データAM0の下位6ビットのデータの最上位ビットに“1”を付したものと、データAM1の下位6ビットのデータの最上位ビットに“0”を付したものとの差分をとる。差分器2511は、算出した差分値DA1をルックアップテーブル2521及び選択用制御信号生成回路253に供給する。
【0335】
差分器2512は、データAM1と、データAM0との差分をとる。厳密には、差分器2512は、データAM0,AM1が、それぞれ、例えば12ビットからなるものとすると、データAM1の下位6ビットのデータの最上位ビットに“1”を付したものと、データAM0の下位6ビットのデータの最上位ビットに“0”を付したものとの差分をとる。差分器2512は、算出した差分値DA0をルックアップテーブル2522及び選択用制御信号生成回路253に供給する。
【0336】
ルックアップテーブル2521,2522は、それぞれ、log−sum補正における補正項の値をテーブルとして記憶する。ルックアップテーブル2521は、差分器2511から供給される差分値DA1の値に対応する補正項の値をテーブルから読み出し、データRDA1としてセレクタ254に供給する。また、ルックアップテーブル2522は、差分器2512から供給される差分値DA0の値に対応する補正項の値をテーブルから読み出し、データRDA0としてセレクタ254に供給する。
【0337】
選択用制御信号生成回路253は、データAM0,AM1と、差分値DA1,DA0とに基づいて、セレクタ248,254による選択動作を制御するための制御信号SELを生成するとともに、セレクタ255による選択動作を制御するための制御信号SLを生成する。この際、選択用制御信号生成回路253は、上述した選択用制御信号生成回路232と同様に、データAM0,AM1に基づいて、メトリックの上位ビットと下位ビットとを分割して、選択用の判定文を示す制御信号SEL,SLを生成するが、これについては後述する。
【0338】
セレクタ254は、選択用制御信号生成回路253から供給される制御信号SELに基づいて、ルックアップテーブル2521から供給されるデータRDA1と、ルックアップテーブル2522から供給されるデータRDA0とのうち、いずれか一方を選択する。具体的には、セレクタ254は、データAM0の値がデータAM1の値よりも大きい場合には、ルックアップテーブル2521からのデータRDA1を選択する。すなわち、セレクタ254は、データAM0とデータAM1との差分値の絶対値に対応する補正項の値を選択する。セレクタ254は、選択して得られたデータCAをセレクタ255に供給する。
【0339】
セレクタ255は、選択用制御信号生成回路253から供給される制御信号SLに基づいて、セレクタ254から供給されるデータCAと、所定の値Mを有するデータとのうち、いずれか一方を選択する。具体的には、データCAとして供給される差分値に対する補正項の値は、所定の値に漸近する性質を有していることから、セレクタ255は、データCAの値が所定の値Mを超過している場合には、所定の値Mを有するデータを選択する。セレクタ255は、選択して得られたデータDMを加算器249に供給する。
【0340】
このような補正項算出回路247は、log−sum補正における補正項の値を算出する。この際、補正項算出回路247は、後述するように、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路247においては、差分器2511に供給されるデータは、加算器2461から供給されるデータAM0及び加算器2462から供給されるデータAM1が、それぞれ、例えば12ビットからなるものとすると、データAM0の下位6ビットのデータの最上位ビットに“1”を付したものと、データAM1の下位6ビットのデータの最上位ビットに“0”を付したものとである。同様に、補正項算出回路247においては、差分器2512に供給されるデータは、データAM0の下位6ビットのデータの最上位ビットに“0”を付したものと、データAM1の下位6ビットのデータの最上位ビットに“1”を付したものとである。すなわち、差分器2511,2522には、加算器2461,2462から供給されるデータのうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータが供給されるが、これは、データAM0,AM1の大小比較を高速に行うためであり、また、選択用制御信号生成回路253によって、メトリックの上位ビットと下位ビットとを分割して、選択用の判定文を作成することに関係がある。これについては後述するものとする。
【0341】
セレクタ248は、選択用制御信号生成回路253から供給される制御信号SELに基づいて、データAM0,AM1のうち、値が小さいものを選択する。セレクタ248は、選択して得られたデータSAMを加算器249に供給する。
【0342】
加算器249は、セレクタ248から供給されるデータSAMと、補正項算出回路247から供給されるデータDMとを加算し、対数尤度Iαを算出する。加算器247は、算出した対数尤度Iαを対数尤度CMとしてIα正規化回路250に供給する。
【0343】
Iα正規化回路250は、加算器249から供給される対数尤度CMの分布の偏りを是正するための正規化を行う。この正規化処理については各種方法が考えられるが、これについては後述する。また、Iα正規化回路250は、終結情報TALDを用いて、終結処理も行う。Iα正規化回路250は、正規化後の対数尤度Iαを、必要なダイナミックレンジに応じてクリッピングを行い、対数尤度AL00として、所定のlog−sum演算回路2451,2452,2453,・・・,24516に供給する。このとき、対数尤度AL00は、図示しないレジスタにより1時刻分の遅延がなされた後、所定のlog−sum演算回路2451,2452,2453,・・・,24516に供給される。
【0344】
このようなlog−sum演算回路2451は、対数尤度AL00を求めて出力するとともに、データAM0,AM1を束ねてデータAG00として出力する。すなわち、log−sum演算回路2451は、求めた対数尤度AL00を、次時刻における対数尤度Iαの算出に用いるために、所定のlog−sum演算回路2451,2452,2453,・・・,24516に供給するとともに、対数尤度Iαの算出過程において求めた対数尤度Iαと対数尤度Iγとの和Iα+Iγを示すデータAG00を出力する。
【0345】
log−sum演算回路2452は、log−sum演算回路2451と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGAのうちの対数尤度DGA02,DGA03と、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A0,A1として入力し、これらの対数尤度DGA02,DGA03,A0,A1を用いて、対数尤度Iαを算出し、対数尤度AL01として、所定のlog−sum演算回路2451,2452,2453,・・・,24516に供給するとともに、対数尤度Iαと対数尤度Iγとの和Iα+Iγを示すデータAG01を出力する。
【0346】
また、log−sum演算回路2453も、log−sum演算回路2451と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGAのうちの対数尤度DGA04,DGA05と、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A0,A1として入力し、これらの対数尤度DGA04,DGA05,A0,A1を用いて、対数尤度Iαを算出し、対数尤度AL02として、所定のlog−sum演算回路2451,2452,2453,・・・,24516に供給するとともに、対数尤度Iαと対数尤度Iγとの和Iα+Iγを示すデータAG02を出力する。
【0347】
さらに、log−sum演算回路24516も、log−sum演算回路2451と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGAのうちの対数尤度DGA30,DGA31と、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A0,A1として入力し、これらの対数尤度DGA30,DGA31,A0,A1を用いて、対数尤度Iαを算出し、対数尤度AL15として、所定のlog−sum演算回路2451,2452,2453,・・・,24516に供給するとともに、対数尤度Iαと対数尤度Iγとの和Iα+Iγを示すデータAG15を出力する。
【0348】
このような加算比較選択回路241は、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号における対数尤度Iαを算出する。加算比較選択回路241は、後述するように、算出した対数尤度Iαを出力するのではなく、対数尤度Iαと対数尤度Iγとの和Iα+Iγを出力する。すなわち、加算比較選択回路241は、log−sum演算回路2451,2452,2453,・・・,24516のそれぞれにより求められたデータAG00,AG01,AG02,・・・,AG15を束ね、データAGTとしてセレクタ244に供給する。
【0349】
加算比較選択回路242は、トレリス上の各ステートから次時刻におけるステートへと4本、又は、符号によっては8本のパスが到達するような符号に対して、加算比較選択処理及びlog−sum補正により補正項を追加する処理を行うことによって、log−sum演算を行う。
【0350】
具体的には、加算比較選択回路242は、図36に示すように、トレリス上の各ステートから次時刻におけるステートへと4本、又は、符号によっては8本のパスが到達するような符号のうち、復号の対象とする符号のステート数のうちの最大値の数のlog−sum演算回路256nを有する。ここでは、加算比較選択回路242は、最大で8ステートを有する符号の復号を行うものとし、8個のlog−sum演算回路2561,・・・,2568を有するものとする。
【0351】
これらのlog−sum演算回路2561,・・・,2568には、それぞれ、上述した加算比較選択回路241におけるlog−sum演算回路2451,2452,2453,・・・,24516と同様に、トレリス上の遷移に基づいて、トレリス上の出力パターンに対応する枝の対数尤度Iγと、各ステートにおける1時刻前の対数尤度Iαが供給される。すなわち、log−sum演算回路2561,・・・,2568には、それぞれ、対数尤度DGAのうち、トレリス上の出力パターンに対応する枝の対数尤度Iγに相当するものと、算出した1時刻前の対数尤度ALのうち、各ステートにおける対数尤度Iαに相当するものとが供給される。そして、log−sum演算回路2561,・・・,2568は、それぞれ、次時刻の各ステートにおける対数尤度Iαを対数尤度ALとして求める。各log−sum演算回路2561,・・・,2568に対する対数尤度ALの分配は、符号構成に応じて異なり、ここでは制御信号PSTに基づいて、図示しないセレクタ等により決定される。この対数尤度ALの分配については、さらに後述する。
【0352】
具体的には、log−sum演算回路2561は、5つの加算器2571,2572,2573,2574,271と、log−sum補正における補正項の値を算出する6個の補正項算出回路2581,2582,2583,2584,2585,2586と、11個のセレクタ259,260,261,262,263,264,265,266,267,268,269と、セレクタ269による選択動作を制御するための制御信号を生成する選択用制御信号生成回路270と、Iα正規化回路272とを有する。
【0353】
加算器2571は、対数尤度DGAのうちの対数尤度DGA00を入力するとともに、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A0として入力し、これらの対数尤度DGA00,A0を加算する。加算器2571は、加算して得られた対数尤度Iαと対数尤度Iγとの和を示すデータAM0を補正項算出回路2581,2583,2585及びセレクタ259に供給する。
【0354】
加算器2572は、対数尤度DGAのうちの対数尤度DGA01を入力するとともに、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A1として入力し、これらの対数尤度DGA01,A1を加算する。加算器2572は、加算して得られたIα+Iγを示すデータAM1を補正項算出回路2581,2584,2586及びセレクタ259に供給する。
【0355】
加算器2573は、対数尤度DGAのうちの対数尤度DGA02を入力するとともに、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A2として入力し、これらの対数尤度DGA02,A2を加算する。加算器2573は、加算して得られたIα+Iγを示すデータAM2を補正項算出回路2582,2583,2584及びセレクタ260に供給する。
【0356】
加算器2574は、対数尤度DGAのうちの対数尤度DGA03を入力するとともに、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A3として入力し、これらの対数尤度DGA03,A3を加算する。加算器2574は、加算して得られたIα+Iγを示すデータAM3を補正項算出回路2582,2585,2586及びセレクタ260に供給する。
【0357】
補正項算出回路2581は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2571から供給されるデータAM0と、加算器2572から供給されるデータAM1とを入力し、補正項の値を示すデータDM0を算出する。この際、補正項算出回路2581は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2581においては、加算器2571,2572から供給されるデータAM0,AM1のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM0,AM1の大小比較を高速に行う。補正項算出回路2581は、算出したデータDM0をセレクタ268に供給する。また、補正項算出回路2581は、セレクタ259,261,262,263,264による選択動作を制御するための制御信号SEL0を生成する。
【0358】
補正項算出回路2582は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2573から供給されるデータAM2と、加算器2574から供給されるデータAM3とを入力し、補正項の値を示すデータDM1を算出する。この際、補正項算出回路2582は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2582においては、加算器2573,2574から供給されるデータAM2,AM3のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM2,AM3の大小比較を高速に行う。補正項算出回路2582は、算出したデータDM1をセレクタ268に供給する。また、補正項算出回路2582は、セレクタ260,265,266による選択動作を制御するための制御信号SEL1を生成する。
【0359】
補正項算出回路2583は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2571から供給されるデータAM0と、加算器2573から供給されるデータAM2とを入力し、補正項の値を示すデータDM2を算出する。この際、補正項算出回路2583は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2583においては、加算器2571,2573から供給されるデータAM0,AM2のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM0,AM2の大小比較を高速に行う。補正項算出回路2583は、算出したデータDM2をセレクタ263に供給する。また、補正項算出回路2583は、最終的にセレクタ267,268による選択動作を制御するための制御信号SEL8となる制御信号SEL2を生成し、この制御信号SEL2をセレクタ261及び選択用制御信号生成回路270に供給する。
【0360】
補正項算出回路2584は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2572から供給されるデータAM1と、加算器2573から供給されるデータAM2とを入力し、補正項の値を示すデータDM3を算出する。この際、補正項算出回路2584は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2584においては、加算器2572,2573から供給されるデータAM1,AM2のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM1,AM2の大小比較を高速に行う。補正項算出回路2584は、算出したデータDM3をセレクタ263に供給する。また、補正項算出回路2584は、最終的にセレクタ267,268による選択動作を制御するための制御信号SEL8となる制御信号SEL3を生成し、この制御信号SEL3をセレクタ261及び選択用制御信号生成回路270に供給する。
【0361】
補正項算出回路2585は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2571から供給されるデータAM0と、加算器2574から供給されるデータAM3とを入力し、補正項の値を示すデータDM4を算出する。この際、補正項算出回路2585は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2585においては、加算器2571,2574から供給されるデータAM0,AM3のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM0,AM3の大小比較を高速に行う。補正項算出回路2585は、算出したデータDM4をセレクタ264に供給する。また、補正項算出回路2585は、最終的にセレクタ267,268による選択動作を制御するための制御信号SEL8となる制御信号SEL4を生成し、この制御信号SEL4をセレクタ262及び選択用制御信号生成回路270に供給する。
【0362】
補正項算出回路2586は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2572から供給されるデータAM1と、加算器2574から供給されるデータAM3とを入力し、補正項の値を示すデータDM5を算出する。この際、補正項算出回路2586は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2586においては、加算器2572,2574から供給されるデータAM1,AM3のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM1,AM3の大小比較を高速に行う。補正項算出回路2586は、算出したデータDM5をセレクタ264に供給する。また、補正項算出回路2586は、最終的にセレクタ267,268による選択動作を制御するための制御信号SEL8となる制御信号SEL5を生成し、この制御信号SEL5をセレクタ262及び選択用制御信号生成回路270に供給する。
【0363】
セレクタ259は、補正項算出回路2581から供給される制御信号SEL0に基づいて、データAM0,AM1のうち、値が小さいものを選択する。セレクタ259は、選択して得られたデータSAM0をセレクタ267に供給する。
【0364】
セレクタ260は、補正項算出回路2582から供給される制御信号SEL1に基づいて、データAM2,AM3のうち、値が小さいものを選択する。セレクタ260は、選択して得られたデータSAM1をセレクタ267に供給する。
【0365】
セレクタ261は、補正項算出回路2581から供給される制御信号SEL0に基づいて、制御信号SEL2,SEL3のうち、いずれか一方を選択する。具体的には、セレクタ261は、データAM1よりもデータAM0の方が値が大きい場合には、制御信号SEL3を選択する。セレクタ261は、選択して得られた制御信号SEL6をセレクタ265に供給する。
【0366】
セレクタ262は、補正項算出回路2581から供給される制御信号SEL0に基づいて、制御信号SEL4,SEL5のうち、いずれか一方を選択する。具体的には、セレクタ262は、データAM1よりもデータAM0の方が値が大きい場合には、制御信号SEL5を選択する。セレクタ262は、選択して得られた制御信号SEL7をセレクタ265に供給する。
【0367】
セレクタ263は、補正項算出回路2581から供給される制御信号SEL0に基づいて、データDM2,DM3のうち、いずれか一方を選択する。具体的には、セレクタ263は、データAM1よりもデータAM0の方が値が大きい場合には、データDM3を選択する。セレクタ263は、選択して得られたデータDS0をセレクタ266に供給する。
【0368】
セレクタ264は、補正項算出回路2581から供給される制御信号SEL0に基づいて、データDM4,DM5のうち、いずれか一方を選択する。具体的には、セレクタ264は、データAM1よりもデータAM0の方が値が大きい場合には、データDM5を選択する。セレクタ264は、選択して得られたデータDS1をセレクタ266に供給する。
【0369】
セレクタ265は、補正項算出回路2582から供給される制御信号SEL1に基づいて、制御信号SEL6,SEL7のうち、いずれか一方を選択する。具体的には、セレクタ265は、データAM3よりもデータAM2の方が値が大きい場合には、制御信号SEL7を選択する。セレクタ265は、選択して得られた制御信号SEL8をセレクタ267,268における選択用の制御信号として供給する。
【0370】
セレクタ266は、補正項算出回路2582から供給される制御信号SEL1に基づいて、データDS0,DS1のうち、いずれか一方を選択する。具体的には、セレクタ266は、データAM3よりもデータAM2の方が値が大きい場合には、データDS1を選択する。セレクタ266は、選択して得られたデータDS2をセレクタ269に供給する。
【0371】
セレクタ267は、制御信号SEL8に基づいて、データSAM0,SAM1のうち、いずれか一方を選択する。具体的には、セレクタ267は、制御信号SEL8が制御信号SEL7であった場合には、データSAM1を選択する。セレクタ267は、選択して得られたデータSAM2を加算器271に供給する。
【0372】
セレクタ268は、制御信号SEL8に基づいて、データDM0,DM1のうち、いずれか一方を選択する。具体的には、セレクタ268は、制御信号SEL8が制御信号SEL7であった場合には、データDM1を選択する。セレクタ268は、選択して得られたデータDS3をセレクタ269に供給する。
【0373】
セレクタ269は、選択用制御信号生成回路270から供給される制御信号SEL9に基づいて、データDS2,DS3のうち、いずれか一方を選択する。セレクタ269は、選択して得られたデータRDMを加算器271に供給する。
【0374】
選択用制御信号生成回路270は、制御信号SEL2,SEL3,SEL4,SEL5に基づいて、セレクタ269による選択動作を制御するための制御信号SEL9を生成する。具体的には、選択用制御信号生成回路270は、制御信号SEL2,SEL3,SEL4,SEL5の論理積と、制御信号SEL2,SEL3,SEL4,SEL5の論理積の否定との論理和をとることによって、制御信号SEL9を生成する。
【0375】
加算器271は、セレクタ267から供給されるデータSAM2と、セレクタ269から供給されるデータRDMとを加算し、対数尤度Iαを算出する。加算器271は、算出した対数尤度Iαを対数尤度CMとしてIα正規化回路272に供給する。
【0376】
Iα正規化回路272は、上述したIα正規化回路250と同様に、加算器271から供給される対数尤度CMの分布の偏りを是正するための正規化を行う。また、Iα正規化回路272は、終結情報TALDを用いて、終結処理も行う。Iα正規化回路272は、正規化後の対数尤度Iαを、必要なダイナミックレンジに応じてクリッピングを行い、対数尤度AL00として、所定のlog−sum演算回路2561,・・・,2568に供給する。このとき、対数尤度AL00は、図示しないレジスタにより1時刻分の遅延がなされた後、所定のlog−sum演算回路2561,・・・,2568に供給される。
【0377】
このようなlog−sum演算回路2561は、対数尤度AL00を求めて出力するとともに、データAM0,AM1,AM2,AM3を束ねてデータAG00として出力する。すなわち、log−sum演算回路2561は、求めた対数尤度AL00を、次時刻における対数尤度Iαの算出に用いるために、所定のlog−sum演算回路2561,・・・,2568に供給するとともに、対数尤度Iαの算出過程において求めた対数尤度Iαと対数尤度Iγとの和Iα+Iγを示すデータAG00を出力する。
【0378】
この際、log−sum演算回路2561は、各ステートに到達した4本のパス、又は、符号によっては8本のパスを束ねて得られる4組のパスに対応する尤度を示すデータAM0,AM1,AM2,AM3の中から選択した2つのパスに対応するデータの組み合わせの全てについて尤度の大小を比較することによって、これらのデータAM0,AM1,AM2,AM3のうち、尤度の高い少なくとも2つ以上のパスに対応するデータを求め、これらのパスに対応するデータの中から、最も尤度の高いパスである最尤パスに対応するデータを選択する。より具体的には、log−sum演算回路2561は、データAM0,AM1,AM2,AM3について、いわば勝ち抜き戦に喩えられる動作を行うことによって、データAM0の値、データAM1の値、データAM2の値及びデータAM3の値の大小を比較し、最尤パスに対応するデータを選択する。
【0379】
また、log−sum演算回路2568は、log−sum演算回路2561と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGAのうちの対数尤度DGA28,DGA29,DGA30,DGA31と、1時刻前に算出された対数尤度ALのうち、符号に応じて該当するものを対数尤度A0,A1,A2,A3として入力し、これらの対数尤度DGA28,DGA29,DGA30,DGA31,A0,A1,A2,A3を用いて、対数尤度Iαを算出し、対数尤度AL07として、所定のlog−sum演算回路2561,・・・,2568に供給するとともに、対数尤度Iαと対数尤度Iγとの和Iα+Iγを示すデータAG07を出力する。
【0380】
このような加算比較選択回路242は、トレリス上の各ステートから次時刻におけるステートへと4本、又は、符号によっては8本のパスが到達するような符号における対数尤度Iαを算出する。加算比較選択回路242は、上述した加算比較選択回路241と同様に、算出した対数尤度Iαを出力するのではなく、対数尤度Iαと対数尤度Iγとの和Iα+Iγを出力する。すなわち、加算比較選択回路242は、log−sum演算回路2561,・・・,2568のそれぞれにより求められたデータAG00,・・・,AG07を束ね、データAGFとしてセレクタ244に供給する。また、加算比較選択回路242は、log−sum演算回路2561,・・・,2568のそれぞれにより求められた対数尤度AL00,・・・,AL07を束ね、対数尤度ALとしてIα+Iγ算出回路243に供給する。なお、加算比較選択回路242は、本来は、トレリス上の各ステートから次時刻におけるステートへと4本のパスが到達するような符号における対数尤度Iαを求めるために設けられるものであるが、上述したように、符号によっては8本のパスが到達するような符号における対数尤度Iαを求めることができる。これについては、“5−5−3”及び“5−5−5”に詳述する。
【0381】
Iα+Iγ算出回路243は、後述するように、例えば先に図17に示した畳み込み符号化器による符号のように、トレリス上にパラレルパスが存在する符号を復号するために設けられるものであり、対数尤度Iαと対数尤度Iγとの和を算出する。具体的には、Iα+Iγ算出回路243は、図37に示すように、3つのセレクタ273,274,275と、ここでは4つのIα+Iγ算出セル回路2761,2762,2763,2764とを有する。
【0382】
セレクタ273は、メモリ数情報MNに基づいて、加算比較選択回路242から供給される対数尤度ALのうち、符号に応じて該当する所定の対数尤度AL00,AL01のうち、いずれか一方を選択する。セレクタ273は、選択して得られた対数尤度AL01SをIα+Iγ算出セル回路2761,2762,2763,2764に供給する。
【0383】
セレクタ274は、メモリ数情報MNに基づいて、加算比較選択回路242から供給される対数尤度ALのうち、符号に応じて該当する所定の対数尤度AL01,AL02のうち、いずれか一方を選択する。セレクタ274は、選択して得られた対数尤度AL02SをIα+Iγ算出セル回路2761,2762,2763,2764に供給する。
【0384】
セレクタ275は、メモリ数情報MNに基づいて、加算比較選択回路242から供給される対数尤度ALのうち、符号に応じて該当する所定の対数尤度AL01,AL03のうち、いずれか一方を選択する。セレクタ275は、選択して得られた対数尤度AL03SをIα+Iγ算出セル回路2761,2762,2763,2764に供給する。
【0385】
Iα+Iγ算出セル回路2761は、8個の加算器2771,2772,2773,2774,2775,2776,2777,2778を有する。
【0386】
加算器2771は、Iγ分配回路157から供給される対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB00と、加算比較選択回路242から供給される対数尤度ALのうち、符号に応じて該当する所定の対数尤度AL00とを加算する。加算器2771は、加算して得られたデータをデータAM0として出力する。
【0387】
加算器2772は、Iγ分配回路157から供給される対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB01と、加算比較選択回路242から供給される対数尤度ALのうち、符号に応じて該当する所定の対数尤度AL00とを加算する。加算器2772は、加算して得られたデータをデータAM1として出力する。
【0388】
加算器2773は、Iγ分配回路157から供給される対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB02と、セレクタ273から供給される対数尤度AL01Sとを加算する。加算器2773は、加算して得られたデータをデータAM2として出力する。
【0389】
加算器2774は、Iγ分配回路157から供給される対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB03と、セレクタ273から供給される対数尤度AL01Sとを加算する。加算器2774は、加算して得られたデータをデータAM3として出力する。
【0390】
加算器2775は、Iγ分配回路157から供給される対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB04と、セレクタ274から供給される対数尤度AL02Sとを加算する。加算器2775は、加算して得られたデータをデータAM4として出力する。
【0391】
加算器2776は、Iγ分配回路157から供給される対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB05と、セレクタ274から供給される対数尤度AL02Sとを加算する。加算器2776は、加算して得られたデータをデータAM5として出力する。
【0392】
加算器2777は、Iγ分配回路157から供給される対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB06と、セレクタ275から供給される対数尤度AL03Sとを加算する。加算器2777は、加算して得られたデータをデータAM6として出力する。
【0393】
加算器2778は、Iγ分配回路157から供給される対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB07と、セレクタ275から供給される対数尤度AL03Sとを加算する。加算器2778は、加算して得られたデータをデータAM7として出力する。
【0394】
このようなIα+Iγ算出セル回路2761は、Iγ分配回路157によりパラレルパスを束ねない状態で得られる対数尤度Iγを示す対数尤度DGABと、加算比較選択回路242により算出される対数尤度ALとを加算することによって、パラレルパスを束ねた場合に対数軟出力Iλを求める際に用いる対数尤度Iαと対数尤度Iγとの和を算出する。Iα+Iγ算出セル回路2761は、算出したデータAM0,AM1,AM2,AM3,AM4,AM5,AM6,AM7をデータAG00として出力する。
【0395】
また、Iα+Iγ算出セル回路2762は、Iα+Iγ算出セル回路2761と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB08,DGAB09,DGAB10,DGAB11,DGAB12,DGAB13,DGAB14,DGAB15と、対数尤度ALのうち、符号に応じて該当する所定の対数尤度AL00と、対数尤度AL01S,AL02S,AL03Sとを用いて、パラレルパスを束ねた場合に対数軟出力Iλを求める際に用いる対数尤度Iαと対数尤度Iγとの和を算出する。Iα+Iγ算出セル回路2762は、算出したデータをデータAG01として出力する。
【0396】
さらに、Iα+Iγ算出セル回路2763は、Iα+Iγ算出セル回路2761と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB16,DGAB17,DGAB18,DGAB19,DGAB20,DGAB21,DGAB22,DGAB23と、対数尤度ALのうち、符号に応じて該当する所定の対数尤度AL00と、対数尤度AL01S,AL02S,AL03Sとを用いて、パラレルパスを束ねた場合に対数軟出力Iλを求める際に用いる対数尤度Iαと対数尤度Iγとの和を算出する。Iα+Iγ算出セル回路2763は、算出したデータをデータAG02として出力する。
【0397】
さらにまた、Iα+Iγ算出セル回路2764は、Iα+Iγ算出セル回路2761と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGABのうち、符号に応じて該当する所定の対数尤度DGAB24,DGAB25,DGAB26,DGAB27,DGAB28,DGAB29,DGAB30,DGAB31と、対数尤度ALのうち、符号に応じて該当する所定の対数尤度AL00と、対数尤度AL01S,AL02S,AL03Sとを用いて、パラレルパスを束ねた場合に対数軟出力Iλを求める際に用いる対数尤度Iαと対数尤度Iγとの和を算出する。Iα+Iγ算出セル回路2764は、算出したデータをデータAG03として出力する。
【0398】
このようなIα+Iγ算出回路243は、対数尤度Iαと対数尤度Iγとの和を算出し、算出したデータAG00,AG01,AG02,AG03を束ね、データAGEとしてセレクタ244に供給する。
【0399】
セレクタ244は、入力ビット数情報INに基づいて、加算比較選択回路241から供給される対数尤度Iαと対数尤度Iγとの和を示すデータAGTと、加算比較選択回路242から供給される対数尤度Iαと対数尤度Iγとの和を示すデータAGFと、Iα+Iγ算出回路243から供給される対数尤度Iαと対数尤度Iγとの和を示すデータAGEとのうち、いずれか一のデータを選択する。具体的には、セレクタ244は、符号化装置1における要素符号化器による符号が、トレリス上にパラレルパスが存在せず且つ各ステートから次時刻におけるステートへと2本のパスが到達するような符号であった場合には、データAGTを選択し、符号化装置1における要素符号化器による符号が、トレリス上にパラレルパスが存在せず且つ各ステートから次時刻におけるステートへと4本のパスが到達するような符号であった場合には、データAGFを選択し、符号化装置1における要素符号化器による符号が、最大で32本の枝を有するトレリスで表され且つ最大で4ステートを有する符号、より具体的には、4ステートに対して各ステートに8本のパスが到達するようなパラレルパスがトレリス上に存在する符号であった場合には、データAGEを選択する。すなわち、ここでは、セレクタ244による選択動作を制御するための制御信号として、入力ビット数情報INを用いているが、実際には、符号構成の示す制御信号がセレクタ244に入力される。
【0400】
このようなIα算出回路158は、対数尤度Iαを算出し、この算出した対数尤度Iαをそのまま出力するのではなく、対数軟出力Iλの算出に用いる対数尤度Iαと対数尤度Iγとの和を、データAGとして出力する。このデータAGは、所定の遅延が施された後、データAGDとして軟出力算出回路161に供給される。
【0401】
Iβ算出回路159は、Iγ分配回路157から供給される対数尤度DGB0,DGB1を用いて、対数尤度Iβを算出する。具体的には、Iβ算出回路159は、“2.”の冒頭に記載した表記に基づくと、対数尤度Iγを用いて、次式(52)に示す演算を行い、各時刻tにおける2系統の対数尤度Iβを並列的に算出する。なお、次式(52)における演算子“#”は、上述したように、log−sum演算を示すものであり、入力“0”でステートm’からステートmへと遷移するときにおける対数尤度と、入力“1”でステートm’’からステートmへと遷移するときにおける対数尤度とのlog−sum演算を示すものである。より具体的には、Iβ算出回路159は、定数sgnが“+1”の場合には、次式(53)に示す演算を行うことによって、一方、定数sgnが“−1”の場合には、次式(54)に示す演算を行うことによって、各時刻tにおける対数尤度Iβを算出する。すなわち、Iβ算出回路159は、対数尤度Iγに基づいて、受信値yt毎に、打ち切りステートから時系列の逆順に各ステートに至る確率βを対数表記した対数尤度Iβ又は確率βを対数表記して正負識別符号を反転した対数尤度Iβを算出する。
【0402】
【数52】
【0403】
【数53】
【0404】
【数54】
【0405】
このとき、Iβ算出回路159は、制御回路60から供給される生成行列情報CGと、符号情報生成回路151から供給される入力ビット数情報IN、型情報WM及びメモリ数情報MNと、受信データ及び遅延用記憶回路155から供給される終結情報TB0D,TB1Dとに基づいて、対数尤度Iβを算出する。Iβ算出回路159は、算出した2系統の対数尤度Iβを、対数尤度B0,B1としてIβ記憶回路160に供給する。
【0406】
具体的には、Iβ算出回路159は、例えば図38に示すように、制御信号を生成する制御信号生成回路280と、2系統の対数尤度Iβのうちの一方の対数尤度Iβ0を算出するためのIβ0用加算比較選択回路281と、対数尤度Iβ1を算出するためのIβ1用加算比較選択回路282とを有するものとして実現することができる。
【0407】
制御信号生成回路280は、生成行列情報CG、入力ビット数情報IN、型情報WM及びメモリ数情報MNを用いて、トレリス上の各ステートから次時刻におけるステートへと4本のパスが到達するような符号における遷移先のステートを算出し、制御信号NSTとしてIβ0用加算比較選択回路281及びIβ1用加算比較選択回路282に供給する。
【0408】
Iβ0用加算比較選択回路281は、対数尤度Iβ0を算出するために設けられるものである。Iβ0用加算比較選択回路281は、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号に対して、加算比較選択処理及びlog−sum補正により補正項を追加する処理を行う加算比較選択回路283と、トレリス上の各ステートから次時刻におけるステートへと4本、又は、符号によっては8本のパスが到達するような符号に対して、加算比較選択処理及びlog−sum補正により補正項を追加する処理を行う加算比較選択回路284と、2対1の選択を行うセレクタ285とを有する。
【0409】
加算比較選択回路283は、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号に対して、加算比較選択処理及びlog−sum補正により補正項を追加する処理を行うことによって、log−sum演算を行う。
【0410】
具体的には、加算比較選択回路283は、図39に示すように、上述した加算比較選択回路241と同様に、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号のうち、復号の対象とする符号のステート数のうちの最大値の数のlog−sum演算回路286nを有する。ここでは、加算比較選択回路283は、最大で16ステートを有する符号の復号を行うものとし、16個のlog−sum演算回路2861,2862,2863,・・・,28616を有するものとする。
【0411】
これらのlog−sum演算回路2861,2862,2863,・・・,28616には、それぞれ、トレリス上の遷移に基づいて、トレリス上の出力パターンに対応する枝の対数尤度Iγと、各ステートにおける1時刻前の対数尤度Iβ0が供給される。すなわち、log−sum演算回路2861,2862,2863,・・・,28616には、それぞれ、対数尤度DGB0のうち、トレリス上の出力パターンに対応する枝の対数尤度Iγに相当するものと、算出した1時刻前の対数尤度BTTのうち、各ステートにおける対数尤度Iβ0に相当するものとが供給される。そして、log−sum演算回路2861,2862,2863,・・・,28616は、それぞれ、次時刻の各ステートにおける対数尤度Iβを対数尤度BTTとして求める。各log−sum演算回路2861,2862,2863,・・・,28616に対する対数尤度BTTの分配は、符号構成に応じて異なり、ここではメモリ数情報MNに基づいて、図示しないセレクタ等により決定される。この対数尤度BTTの分配については、さらに後述する。
【0412】
具体的には、log−sum演算回路2861は、3つの加算器2871,2872,290と、log−sum補正における補正項の値を算出する補正項算出回路288と、セレクタ289と、Iβ0正規化回路291とを有する。
【0413】
加算器2871は、対数尤度DGB0のうちの対数尤度DGB00を入力するとともに、1時刻前に算出された対数尤度BTTのうち、符号に応じて該当するものを対数尤度B0として入力し、これらの対数尤度DGB00,B0を加算する。加算器2871は、加算して得られた対数尤度Iβと対数尤度Iγとの和を示すデータAM0を補正項算出回路288及びセレクタ289に供給する。
【0414】
加算器2872は、対数尤度DGB0のうちの対数尤度DGB01を入力するとともに、1時刻前に算出された対数尤度BTTのうち、符号に応じて該当するものを対数尤度B1として入力し、これらの対数尤度DGB01,B1を加算する。加算器2872は、加算して得られたIβ0+Iγを示すデータAM1を補正項算出回路288及びセレクタ289に供給する。
【0415】
補正項算出回路288は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2871から供給されるデータAM0と、加算器2872から供給されるデータAM1とを入力し、補正項の値を示すデータDMを算出する。この際、補正項算出回路288は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路288においては、加算器2871,2872から供給されるデータAM0,AM1のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM0,AM1の大小比較を高速に行う。補正項算出回路288は、算出したデータDMを加算器290に供給する。また、補正項算出回路288は、セレクタ289による選択動作を制御するための制御信号SELを生成する。
【0416】
セレクタ289は、補正項算出回路288から供給される制御信号SELに基づいて、データAM0,AM1のうち、値が小さいものを選択する。セレクタ289は、選択して得られたデータSAMを加算器290に供給する。
【0417】
加算器290は、セレクタ289から供給されるデータSAMと、補正項算出回路288から供給されるデータDMとを加算し、対数尤度Iβ0を算出する。加算器290は、算出した対数尤度Iβ0を対数尤度CMとしてIβ0正規化回路291に供給する。
【0418】
Iβ0正規化回路291は、上述したIα正規化回路250と同様に、加算器290から供給される対数尤度CMの分布の偏りを是正するための正規化を行う。また、Iβ0正規化回路291は、終結情報TB0Dを用いて、終結処理も行う。Iβ0正規化回路291は、正規化後の対数尤度Iβ0を、必要なダイナミックレンジに応じてクリッピングを行い、対数尤度BT00として、所定のlog−sum演算回路2861,2862,2863,・・・,28616に供給する。このとき、対数尤度BT00は、図示しないレジスタにより1時刻分の遅延がなされた後、所定のlog−sum演算回路2861,2862,2863,・・・,28616に供給される。
【0419】
このようなlog−sum演算回路2861は、対数尤度BT00を求めて出力する。すなわち、log−sum演算回路2861は、求めた対数尤度BT00を、次時刻における対数尤度Iβ0の算出に用いるために、所定のlog−sum演算回路2861,2862,2863,・・・,28616に供給するとともに、外部に出力する。
【0420】
log−sum演算回路2862は、log−sum演算回路2861と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGB0のうちの対数尤度DGB02,DGB03と、1時刻前に算出された対数尤度BTTのうち、符号に応じて該当するものを対数尤度B0,B1として入力し、これらの対数尤度DGB02,DGB03,B0,B1を用いて、対数尤度Iβ0を算出し、対数尤度BT01として、所定のlog−sum演算回路2861,2862,2863,・・・,28616に供給するとともに、外部に出力する。
【0421】
また、log−sum演算回路2863も、log−sum演算回路2861と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGB0のうちの対数尤度DGB04,DGB05と、1時刻前に算出された対数尤度BTTのうち、符号に応じて該当するものを対数尤度B0,B1として入力し、これらの対数尤度DGB04,DGB05,B0,B1を用いて、対数尤度Iβ0を算出し、対数尤度BT02として、所定のlog−sum演算回路2861,2862,2863,・・・,28616に供給するとともに、外部に出力する。
【0422】
さらに、log−sum演算回路28616も、log−sum演算回路2861と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGB0のうちの対数尤度DGB30,DGB31と、1時刻前に算出された対数尤度BTTのうち、符号に応じて該当するものを対数尤度B0,B1として入力し、これらの対数尤度DGB30,DGB31,B0,B1を用いて、対数尤度Iβ0を算出し、対数尤度BT15として、所定のlog−sum演算回路2861,2862,2863,・・・,28616に供給するとともに、外部に出力する。
【0423】
このような加算比較選択回路283は、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号における対数尤度Iβ0を算出する。加算比較選択回路283は、log−sum演算回路2861,2862,2863,・・・,28616のそれぞれにより求められたデータBT00,BT01,BT02,・・・,BT15を束ね、対数尤度BTTとしてセレクタ285に供給する。
【0424】
加算比較選択回路284は、トレリス上の各ステートから次時刻におけるステートへと4本、又は、符号によっては8本のパスが到達するような符号に対して、加算比較選択処理及びlog−sum補正により補正項を追加する処理を行うことによって、log−sum演算を行う。
【0425】
具体的には、加算比較選択回路284は、図40に示すように、上述した加算比較選択回路242と同様に、トレリス上の各ステートから次時刻におけるステートへと4本、又は、符号によっては8本のパスが到達するような符号のうち、復号の対象とする符号のステート数のうちの最大値の数のlog−sum演算回路292nを有する。ここでは、加算比較選択回路284は、最大で8ステートを有する符号の復号を行うものとし、8個のlog−sum演算回路2921,・・・,2928を有するものとする。
【0426】
これらのlog−sum演算回路2921,・・・,2928には、それぞれ、上述した加算比較選択回路283におけるlog−sum演算回路2861,2862,2863,・・・,28616と同様に、トレリス上の遷移に基づいて、トレリス上の出力パターンに対応する枝の対数尤度Iγと、各ステートにおける1時刻前の対数尤度Iβ0が供給される。すなわち、log−sum演算回路2921,・・・,2928には、それぞれ、対数尤度DGB0のうち、トレリス上の出力パターンに対応する枝の対数尤度Iγに相当するものと、算出した1時刻前の対数尤度BTFのうち、各ステートにおける対数尤度Iβ0に相当するものとが供給される。そして、log−sum演算回路2921,・・・,2928は、それぞれ、次時刻の各ステートにおける対数尤度Iβ0を対数尤度BTFとして求める。各log−sum演算回路2921,・・・,2928に対する対数尤度BTFの分配は、符号構成に応じて異なり、ここでは制御信号NSTに基づいて、図示しないセレクタ等により決定される。この対数尤度BTFの分配については、さらに後述する。
【0427】
具体的には、log−sum演算回路2921は、5つの加算器2931,2932,2933,2934,307と、log−sum補正における補正項の値を算出する6個の補正項算出回路2941,2942,2943,2944,2945,2946と、11個のセレクタ295,296,297,298,299,300,301,302,303,304,305と、セレクタ305による選択動作を制御するための制御信号を生成する選択用制御信号生成回路306と、Iβ0正規化回路308とを有する。
【0428】
加算器2931は、対数尤度DGB0のうちの対数尤度DGB00を入力するとともに、1時刻前に算出された対数尤度BTFのうち、符号に応じて該当するものを対数尤度B0として入力し、これらの対数尤度DGB00,B0を加算する。加算器2931は、加算して得られた対数尤度Iβ0と対数尤度Iγとの和を示すデータAM0を補正項算出回路2941,2943,2945及びセレクタ295に供給する。
【0429】
加算器2932は、対数尤度DGB0のうちの対数尤度DGB01を入力するとともに、1時刻前に算出された対数尤度BTFのうち、符号に応じて該当するものを対数尤度B1として入力し、これらの対数尤度DGB01,B1を加算する。加算器2932は、加算して得られたIβ0+Iγを示すデータAM1を補正項算出回路2941,2944,2946及びセレクタ295に供給する。
【0430】
加算器2933は、対数尤度DGB0のうちの対数尤度DGB02を入力するとともに、1時刻前に算出された対数尤度BTFのうち、符号に応じて該当するものを対数尤度B2として入力し、これらの対数尤度DGB02,B2を加算する。加算器2933は、加算して得られたIβ0+Iγを示すデータAM2を補正項算出回路2942,2943,2944及びセレクタ296に供給する。
【0431】
加算器2934は、対数尤度DGB0のうちの対数尤度DGB03を入力するとともに、1時刻前に算出された対数尤度BTFのうち、符号に応じて該当するものを対数尤度B3として入力し、これらの対数尤度DGB03,B3を加算する。加算器2934は、加算して得られたIβ0+Iγを示すデータAM3を補正項算出回路2942,2945,2946及びセレクタ296に供給する。
【0432】
補正項算出回路2941は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2931から供給されるデータAM0と、加算器2932から供給されるデータAM1とを入力し、補正項の値を示すデータDM0を算出する。この際、補正項算出回路2941は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2941においては、加算器2931,2932から供給されるデータAM0,AM1のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM0,AM1の大小比較を高速に行う。補正項算出回路2941は、算出したデータDM0をセレクタ304に供給する。また、補正項算出回路2941は、セレクタ295,297,298,299,300による選択動作を制御するための制御信号SEL0を生成する。
【0433】
補正項算出回路2942は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2933から供給されるデータAM2と、加算器2934から供給されるデータAM3とを入力し、補正項の値を示すデータDM1を算出する。この際、補正項算出回路2942は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2942においては、加算器2933,2934から供給されるデータAM2,AM3のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM2,AM3の大小比較を高速に行う。補正項算出回路2942は、算出したデータDM1をセレクタ304に供給する。また、補正項算出回路2942は、セレクタ296,301,302による選択動作を制御するための制御信号SEL1を生成する。
【0434】
補正項算出回路2943は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2931から供給されるデータAM0と、加算器2933から供給されるデータAM2とを入力し、補正項の値を示すデータDM2を算出する。この際、補正項算出回路2943は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2943においては、加算器2931,2933から供給されるデータAM0,AM2のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM0,AM2の大小比較を高速に行う。補正項算出回路2943は、算出したデータDM2をセレクタ299に供給する。また、補正項算出回路2943は、最終的にセレクタ303,304による選択動作を制御するための制御信号SEL8となる制御信号SEL2を生成し、この制御信号SEL2をセレクタ297及び選択用制御信号生成回路306に供給する。
【0435】
補正項算出回路2944は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2932から供給されるデータAM1と、加算器2933から供給されるデータAM2とを入力し、補正項の値を示すデータDM3を算出する。この際、補正項算出回路2944は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2944においては、加算器2932,2933から供給されるデータAM1,AM2のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM1,AM2の大小比較を高速に行う。補正項算出回路2944は、算出したデータDM3をセレクタ299に供給する。また、補正項算出回路2944は、最終的にセレクタ303,304による選択動作を制御するための制御信号SEL8となる制御信号SEL3を生成し、この制御信号SEL3をセレクタ297及び選択用制御信号生成回路306に供給する。
【0436】
補正項算出回路2945は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2931から供給されるデータAM0と、加算器2934から供給されるデータAM3とを入力し、補正項の値を示すデータDM4を算出する。この際、補正項算出回路2945は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2945においては、加算器2931,2934から供給されるデータAM0,AM3のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM0,AM3の大小比較を高速に行う。補正項算出回路2945は、算出したデータDM4をセレクタ300に供給する。また、補正項算出回路2945は、最終的にセレクタ303,304による選択動作を制御するための制御信号SEL8となる制御信号SEL4を生成し、この制御信号SEL4をセレクタ298及び選択用制御信号生成回路306に供給する。
【0437】
補正項算出回路2946は、先に図35に示した補正項算出回路247と同様の構成からなるため、ここでは詳細を省略するが、加算器2932から供給されるデータAM1と、加算器2934から供給されるデータAM3とを入力し、補正項の値を示すデータDM5を算出する。この際、補正項算出回路2946は、補正項算出回路247と同様に、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、複数の補正項の値を算出し、その中から適切なものを選択する。また、補正項算出回路2946においては、加算器2932,2934から供給されるデータAM1,AM3のうちの下位ビットの最上位ビットに“1”又は“0”が付されたデータ間の差分をとり、データAM1,AM3の大小比較を高速に行う。補正項算出回路2946は、算出したデータDM5をセレクタ300に供給する。また、補正項算出回路2946は、最終的にセレクタ303,304による選択動作を制御するための制御信号SEL8となる制御信号SEL5を生成し、この制御信号SEL5をセレクタ298及び選択用制御信号生成回路306に供給する。
【0438】
セレクタ295は、補正項算出回路2941から供給される制御信号SEL0に基づいて、データAM0,AM1のうち、値が小さいものを選択する。セレクタ295は、選択して得られたデータSAM0をセレクタ303に供給する。
【0439】
セレクタ296は、補正項算出回路2942から供給される制御信号SEL1に基づいて、データAM2,AM3のうち、値が小さいものを選択する。セレクタ296は、選択して得られたデータSAM1をセレクタ303に供給する。
【0440】
セレクタ297は、補正項算出回路2941から供給される制御信号SEL0に基づいて、制御信号SEL2,SEL3のうち、いずれか一方を選択する。具体的には、セレクタ297は、データAM1よりもデータAM0の方が値が大きい場合には、制御信号SEL3を選択する。セレクタ297は、選択して得られた制御信号SEL6をセレクタ301に供給する。
【0441】
セレクタ298は、補正項算出回路2941から供給される制御信号SEL0に基づいて、制御信号SEL4,SEL5のうち、いずれか一方を選択する。具体的には、セレクタ298は、データAM1よりもデータAM0の方が値が大きい場合には、制御信号SEL5を選択する。セレクタ298は、選択して得られた制御信号SEL7をセレクタ301に供給する。
【0442】
セレクタ299は、補正項算出回路2941から供給される制御信号SEL0に基づいて、データDM2,DM3のうち、いずれか一方を選択する。具体的には、セレクタ299は、データAM1よりもデータAM0の方が値が大きい場合には、データDM3を選択する。セレクタ299は、選択して得られたデータDS0をセレクタ302に供給する。
【0443】
セレクタ300は、補正項算出回路2941から供給される制御信号SEL0に基づいて、データDM4,DM5のうち、いずれか一方を選択する。具体的には、セレクタ300は、データAM1よりもデータAM0の方が値が大きい場合には、データDM5を選択する。セレクタ300は、選択して得られたデータDS1をセレクタ302に供給する。
【0444】
セレクタ301は、補正項算出回路2942から供給される制御信号SEL1に基づいて、制御信号SEL6,SEL7のうち、いずれか一方を選択する。具体的には、セレクタ301は、データAM3よりもデータAM2の方が値が大きい場合には、制御信号SEL7を選択する。セレクタ301は、選択して得られた制御信号SEL8をセレクタ303,304における選択用の制御信号として供給する。
【0445】
セレクタ302は、補正項算出回路2942から供給される制御信号SEL1に基づいて、データDS0,DS1のうち、いずれか一方を選択する。具体的には、セレクタ302は、データAM3よりもデータAM2の方が値が大きい場合には、データDS1を選択する。セレクタ302は、選択して得られたデータDS2をセレクタ305に供給する。
【0446】
セレクタ303は、制御信号SEL8に基づいて、データSAM0,SAM1のうち、いずれか一方を選択する。具体的には、セレクタ303は、制御信号SEL8が制御信号SEL7であった場合には、データSAM1を選択する。セレクタ303は、選択して得られたデータSAM2を加算器307に供給する。
【0447】
セレクタ304は、制御信号SEL8に基づいて、データDM0,DM1のうち、いずれか一方を選択する。具体的には、セレクタ304は、制御信号SEL8が制御信号SEL7であった場合には、データDM1を選択する。セレクタ304は、選択して得られたデータDS3をセレクタ305に供給する。
【0448】
セレクタ305は、選択用制御信号生成回路306から供給される制御信号SEL9に基づいて、データDS2,DS3のうち、いずれか一方を選択する。セレクタ305は、選択して得られたデータRDMを加算器307に供給する。
【0449】
選択用制御信号生成回路306は、制御信号SEL2,SEL3,SEL4,SEL5に基づいて、セレクタ305による選択動作を制御するための制御信号SEL9を生成する。具体的には、選択用制御信号生成回路306は、制御信号SEL2,SEL3,SEL4,SEL5の論理積と、制御信号SEL2,SEL3,SEL4,SEL5の論理積の否定との論理和をとることによって、制御信号SEL9を生成する。
【0450】
加算器307は、セレクタ303から供給されるデータSAM2と、セレクタ305から供給されるデータRDMとを加算し、対数尤度Iβ0を算出する。加算器307は、算出した対数尤度Iβ0を対数尤度CMとしてIβ0正規化回路308に供給する。
【0451】
Iβ0正規化回路308は、上述したIβ0正規化回路291と同様に、加算器307から供給される対数尤度CMの分布の偏りを是正するための正規化を行う。また、Iβ0正規化回路308は、終結情報TB0Dを用いて、終結処理も行う。Iβ0正規化回路308は、正規化後の対数尤度Iβ0を、必要なダイナミックレンジに応じてクリッピングを行い、対数尤度BT00として、所定のlog−sum演算回路2921,・・・,2928に供給する。このとき、対数尤度BT00は、図示しないレジスタにより1時刻分の遅延がなされた後、所定のlog−sum演算回路2921,・・・,2928に供給される。
【0452】
このようなlog−sum演算回路2921は、対数尤度BT00を求めて出力する。すなわち、log−sum演算回路2921は、求めた対数尤度BT00を、次時刻における対数尤度Iβ0の算出に用いるために、所定のlog−sum演算回路2021,・・・,2928に供給するとともに、外部に出力する。
【0453】
この際、log−sum演算回路2921は、各ステートに到達した4本のパス、又は、符号によっては8本のパスを束ねて得られる4組のパスに対応する尤度を示すデータAM0,AM1,AM2,AM3の中から選択した2つのパスに対応するデータの組み合わせの全てについて尤度の大小を比較することによって、これらのデータAM0,AM1,AM2,AM3のうち、尤度の高い少なくとも2つ以上のパスに対応するデータを求め、これらのパスに対応するデータの中から、最も尤度の高いパスである最尤パスに対応するデータを選択する。より具体的には、log−sum演算回路2921は、データAM0,AM1,AM2,AM3について、いわば勝ち抜き戦に喩えられる動作を行うことによって、データAM0の値、データAM1の値、データAM2の値及びデータAM3の値の大小を比較し、最尤パスに対応するデータを選択する。
【0454】
また、log−sum演算回路2928は、log−sum演算回路2921と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGB0のうちの対数尤度DGB28,DGB29,DGB30,DGB31と、1時刻前に算出された対数尤度BTFのうち、符号に応じて該当するものを対数尤度B0,B1,B2,B3として入力し、これらの対数尤度DGB28,DGB29,DGB30,DGB31,B0,B1,B2,B3を用いて、対数尤度Iβ0を算出し、対数尤度BT07として、所定のlog−sum演算回路2921,・・・,2928に供給するとともに、外部に出力する。
【0455】
このような加算比較選択回路284は、トレリス上の各ステートから次時刻におけるステートへと4本、又は、符号によっては8本のパスが到達するような符号における対数尤度Iβ0を算出する。加算比較選択回路284は、log−sum演算回路2921,・・・,2928のそれぞれにより求められたデータBT00,・・・,BT07を束ね、データBTFとしてセレクタ285に供給する。なお、加算比較選択回路284は、上述した加算比較選択回路242と同様に、本来は、トレリス上の各ステートから次時刻におけるステートへと4本のパスが到達するような符号における対数尤度Iβ0を求めるために設けられるものであるが、上述したように、符号によっては8本のパスが到達するような符号における対数尤度Iβ0を求めることができる。これについては、“5−5−3”及び“5−5−5”に詳述する。
【0456】
セレクタ285は、入力ビット数情報INに基づいて、加算比較選択回路283から供給される対数尤度Iβ0を示す対数尤度BTTと、加算比較選択回路284から供給される対数尤度Iβ0を示すデータBTFとのうち、いずれか一方を選択する。具体的には、セレクタ285は、符号化装置1における要素符号化器による符号が、トレリス上にパラレルパスが存在せず且つ各ステートから次時刻におけるステートへと2本のパスが到達するような符号であった場合には、対数尤度BTTを選択し、符号化装置1における要素符号化器による符号が、トレリス上にパラレルパスが存在せず且つ各ステートから次時刻におけるステートへと4本のパスが到達するような符号であった場合には、対数尤度BTFを選択する。すなわち、ここでは、セレクタ285による選択動作を制御するための制御信号として、入力ビット数情報INを用いているが、実際には、符号構成の示す制御信号がセレクタ285に入力される。
【0457】
このようなIβ0用加算比較選択回路281は、対数尤度Iβ0を算出し、この算出した対数尤度Iβ0を、対数尤度B0として出力する。この対数尤度B0は、Iβ記憶回路160に供給される。
【0458】
一方、Iβ1用加算比較選択回路282は、対数尤度Iβ1を算出するために設けられるものである。Iβ1用加算比較選択回路282は、Iβ0用加算比較選択回路281と同様の構成からなるため、詳細な説明は省略するが、対数尤度DGB0及び終結情報TB0Dの代わりに対数尤度DGB1及び終結情報TB1Dを入力して対数尤度Iβ1を算出し、この算出した対数尤度Iβ1を、対数尤度B1として出力する。この対数尤度B1は、Iβ記憶回路160に供給される。
【0459】
このようなIβ算出回路159は、2系統の対数尤度Iβ0,Iβ1を並列的に算出し、これらの算出した対数尤度Iβ0,Iβ1を、それぞれ、対数尤度B0,B1としてIβ記憶回路160に供給する。
【0460】
Iβ記憶回路160は、図示しないが、例えば、複数バンクのRAMと、制御回路と、選択回路とを有する。Iβ記憶回路160は、Iβ算出回路159から供給される対数尤度B0,B1を記憶する。そして、Iβ記憶回路160は、内部の制御回路による制御の下に、記憶した対数尤度B0,B1のうち、所定の情報を選択回路により選択し、対数軟出力Iλを算出するために用いる対数尤度BTとして、軟出力算出回路161に供給する。なお、要素復号器50は、上述したように、スライディングウィンドウ処理を行う際のIβ記憶回路160におけるメモリマネジメントの手法として、国際公開番号WO99/62183号公報に記載されているものを採用しており、上述した受信データ及び遅延用記憶回路155に対するメモリマネジメントを行うとともに、Iβ記憶回路160に対するメモリマネジメントを行うことによって、最終的に対数軟出力Iλを本来の時系列順に求めることができる。
【0461】
軟出力算出回路161は、Iα算出回路158から供給されるデータAGDと、Iβ記憶回路160から供給される対数尤度BTとを用いて、対数軟出力Iλを算出する。具体的には、軟出力算出回路161は、“2.”の冒頭に記載した表記に基づくと、対数尤度Iγ、対数尤度Iα及び対数尤度Iβを用いて、次式(55)に示す演算を行い、各時刻tにおける対数軟出力Iλを算出する。なお、次式(55)における演算子“#Σ”は、上述した演算子“#”で表されるlog−sum演算の累積加算演算を示すものである。
【0462】
【数55】
【0463】
また、軟出力算出回路161は、シンボル単位又はビット単位で対数軟出力Iλを算出することもできる。軟出力算出回路161は、外部から供給される出力データ選択制御信号CITMと、制御回路60から供給される事前確率情報形式情報CAPPと、符号情報生成回路151から供給される入力ビット数情報IN、メモリ数情報MN及び枝入出力情報BIOとに基づいて、情報シンボル又は情報ビットに対する事後確率情報に対応する対数軟出力Iλ、又は、符号シンボル又は符号ビットに対する事後確率情報に対応する対数軟出力Iλを算出する。軟出力算出回路161は、シンボル単位で算出した対数軟出力Iλ又はビット単位で算出した対数軟出力Iλを、それぞれ、対数軟出力SLM,BLMとして、外部情報算出回路163、振幅調整及びクリップ回路164、及び、硬判定回路165に供給する。
【0464】
具体的には、軟出力算出回路161は、例えば図41に示すように、対数尤度Iαと対数尤度Iγと対数尤度Iβとの和を算出するIα+Iγ+Iβ算出回路310と、イネーブル信号を生成するイネーブル信号生成回路311と、例えば6個のlog−sum演算回路3121,3122,3123,3124,3125,3126と、対数軟出力Iλを算出するIλ算出回路313とを有するものとして実現することができる。
【0465】
Iα+Iγ+Iβ算出回路310は、対数尤度Iβを分配するIβ分配回路314と、復号の対象とする符号のステート数のうちの最大値、ここでは32個の加算器3151,3152,3153,3154,3155,3156,・・・,31531,31532とを有する。
【0466】
Iβ分配回路314は、Iβ記憶回路160から供給される対数尤度BTを符号構成に応じて分配する。すなわち、Iβ分配回路314は、符号構成に応じたトレリスに対応するように、対数尤度BTを分配する。このとき、Iβ分配回路314は、符号情報生成回路151から供給される入力ビット数情報INに基づいて、対数尤度BTを分配する。Iβ分配回路314は、分配して得られた対数尤度Iβを加算器3151,3152,3153,3154,3155,3156,・・・,31531,31532に供給する。すなわち、Iβ分配回路314は、対数軟出力Iλの算出に用いる対数尤度Iβを対数尤度BTDとして加算器3151,3152,3153,3154,3155,3156,・・・,31531,31532に供給する。
【0467】
加算器3151は、Iα算出回路158から供給される対数尤度Iαと対数尤度Iγとの和を示すデータAGDのうちのデータAG00と、Iβ分配回路314から供給される対数尤度BTDのうちの対数尤度BTD00とを加算する。加算器3151は、加算して得られた対数尤度Iαと対数尤度Iγと対数尤度Iβとの和をデータAGB00として出力する。
【0468】
加算器3152は、Iα算出回路158から供給されるデータAGDのうちのデータAG01と、Iβ分配回路314から供給される対数尤度BTDのうちの対数尤度BTD00とを加算する。加算器3152は、加算して得られた対数尤度Iαと対数尤度Iγと対数尤度Iβとの和をデータAGB01として出力する。
【0469】
加算器3153は、Iα算出回路158から供給されるデータAGDのうちのデータAG02と、Iβ分配回路314から供給される対数尤度BTDのうちの対数尤度BTD01とを加算する。加算器3153は、加算して得られた対数尤度Iαと対数尤度Iγと対数尤度Iβとの和をデータAGB02として出力する。
【0470】
加算器3154は、Iα算出回路158から供給されるデータAGDのうちのデータAG03と、Iβ分配回路314から供給される対数尤度BTDのうちの対数尤度BTD01とを加算する。加算器3154は、加算して得られた対数尤度Iαと対数尤度Iγと対数尤度Iβとの和をデータAGB03として出力する。
【0471】
加算器3155は、Iα算出回路158から供給されるデータAGDのうちのデータAG04と、Iβ分配回路314から供給される対数尤度BTDのうちの対数尤度BTD02とを加算する。加算器3155は、加算して得られた対数尤度Iαと対数尤度Iγと対数尤度Iβとの和をデータAGB04として出力する。
【0472】
加算器3156は、Iα算出回路158から供給されるデータAGDのうちのデータAG05と、Iβ分配回路314から供給される対数尤度BTDのうちの対数尤度BTD02とを加算する。加算器3156は、加算して得られた対数尤度Iαと対数尤度Iγと対数尤度Iβとの和をデータAGB05として出力する。
【0473】
加算器31531は、Iα算出回路158から供給されるデータAGDのうちのデータAG30と、Iβ分配回路314から供給される対数尤度BTDのうちの対数尤度BTD15とを加算する。加算器31531は、加算して得られた対数尤度Iαと対数尤度Iγと対数尤度Iβとの和をデータAGB30として出力する。
【0474】
加算器31532は、Iα算出回路158から供給されるデータAGDのうちのデータAG31と、Iβ分配回路314から供給される対数尤度BTDのうちの対数尤度BTD15とを加算する。加算器31532は、加算して得られた対数尤度Iαと対数尤度Iγと対数尤度Iβとの和をデータAGB31として出力する。
【0475】
このようなIα+Iγ+Iβ算出回路310は、対数尤度Iαと対数尤度Iγと対数尤度Iβとの和を算出し、算出したデータAGB00,AGB01,AGB02,AGB03,AGB04,AGB05,・・・,AGB30,AGB31を束ね、データAGBとしてlog−sum演算回路3121,3122,3123,3124,3125,3126に供給する。
【0476】
イネーブル信号生成回路311は、セレクタ3231,3232,3233,3234による選択動作を制御するための制御信号を生成する選択用制御信号生成回路316と、シンボル該当枝選出回路319及びビット該当枝選出回路320,321,322により選出されるべき枝を選択するための有効枝選択回路317と、対数軟出力Iλの算出時に参照すべき枝入出力情報BIOを選択する出力データ選択回路318と、シンボル単位で対数軟出力Iλを算出する際に当該シンボルに該当する枝を選出するシンボル該当枝選出回路319と、ビット単位で対数軟出力Iλを算出する際に当該ビットに該当する枝を選出するビット該当枝選出回路320,321,322と、セレクタ3231,3232,3233,3234とを有する。
【0477】
選択用制御信号生成回路316は、外部から供給される出力データ選択制御信号CITMと、制御回路60から供給される事前確率情報形式情報CAPPとに基づいて、セレクタ3231,3232,3233,3234による選択動作を制御するための制御信号APを生成する。
【0478】
有効枝選択回路317は、符号情報生成回路151から供給される入力ビット数情報IN及びメモリ数情報MNに基づいて、シンボル該当枝選出回路319及びビット該当枝選出回路320,321,322のそれぞれに入力される枝入出力情報BIOが有効であるか否かを示す制御信号M1,M2,M3を生成する。すなわち、有効枝選択回路317は、シンボル該当枝選出回路319及びビット該当枝選出回路320,321,322のそれぞれにより選出されるべき枝を選択するための制御信号M1,M2,M3を生成する。有効枝選択回路317は、生成した制御信号M1,M2をビット該当枝選出回路320,321,322に供給するとともに、制御信号M3をシンボル該当枝選出回路319及びビット該当枝選出回路320,321,322に供給する。
【0479】
出力データ選択回路318は、外部から供給される出力データ選択制御信号CITMと、符号情報生成回路151から供給される入力ビット数情報INとに基づいて、符号情報生成回路151から供給される枝入出力情報BIOの中から、符号構成に応じた枝に対応するものを選択する。出力データ選択回路318は、選択した枝入出力情報BIO0をビット該当枝選出回路320に供給するとともに、選択した枝入出力情報BIO1をビット該当枝選出回路321に供給するとともに、選択した枝入出力情報BIO2をビット該当枝選出回路322に供給する。
【0480】
シンボル該当枝選出回路319は、シンボル単位で対数軟出力Iλを算出するために設けられるものである。シンボル該当枝選出回路319は、符号情報生成回路151から供給される枝入出力情報BIOを用いて、当該シンボルに該当する枝を選出する。このとき、シンボル該当枝選出回路319は、有効枝選択回路317から供給される制御信号M3に基づいて枝を選出する。シンボル該当枝選出回路319は、選出した枝に対応する入力が“0”であるか“1”であるかを示すイネーブル信号SEN0,SEN1,SEN2,SEN3を生成し、イネーブル信号SEN0をセレクタ3231に供給するとともに、イネーブル信号SEN1をセレクタ3232に供給するとともに、イネーブル信号SEN2をセレクタ3233に供給するとともに、イネーブル信号SEN3をセレクタ3234に供給する。
【0481】
ビット該当枝選出回路320は、ビット単位で対数軟出力Iλを算出するために設けられるものである。ビット該当枝選出回路320は、出力データ選択回路318から供給される枝入出力情報BIO0を用いて、当該ビットに該当する枝を選出する。このとき、ビット該当枝選出回路320は、有効枝選択回路317から供給される制御信号M1,M2,M3に基づいて枝を選出する。ビット該当枝選出回路320は、選出した枝に対応する入力が“0”であるか“1”であるかを示すイネーブル信号EN00,EN01を生成し、イネーブル信号EN00をセレクタ3231に供給するとともに、イネーブル信号EN01をセレクタ3232に供給する。
【0482】
ビット該当枝選出回路321は、ビット該当枝選出回路320と同様に、ビット単位で対数軟出力Iλを算出するために設けられるものである。ビット該当枝選出回路321は、出力データ選択回路318から供給される枝入出力情報BIO1を用いて、当該ビットに該当する枝を選出する。このとき、ビット該当枝選出回路321は、有効枝選択回路317から供給される制御信号M1,M2,M3に基づいて枝を選出する。ビット該当枝選出回路321は、選出した枝に対応する入力が“0”であるか“1”であるかを示すイネーブル信号EN10,EN11を生成し、イネーブル信号EN10をセレクタ3233に供給するとともに、イネーブル信号EN11をセレクタ3234に供給する。
【0483】
ビット該当枝選出回路322は、ビット該当枝選出回路320と同様に、ビット単位で対数軟出力Iλを算出するために設けられるものである。ビット該当枝選出回路322は、出力データ選択回路318から供給される枝入出力情報BIO2を用いて、当該ビットに該当する枝を選出する。このとき、ビット該当枝選出回路322は、有効枝選択回路317から供給される制御信号M1,M2,M3に基づいて枝を選出する。ビット該当枝選出回路322は、選出した枝に対応する入力が“0”であるか“1”であるかを示すイネーブル信号EN20,EN21を生成し、イネーブル信号EN20をlog−sum演算回路3125に供給するとともに、イネーブル信号EN21をlog−sum演算回路3126に供給する。
【0484】
セレクタ3231は、選択用制御信号生成回路316から供給される制御信号APに基づいて、シンボル該当枝選出回路319から供給されるイネーブル信号SEN0と、ビット該当枝選出回路320から供給されるイネーブル信号EN00とのうち、いずれか一方を選択する。具体的には、セレクタ3231は、制御信号APが、情報シンボル又は情報ビットに対する情報を出力する旨を出力データ選択制御信号CITMが示し、且つ、シンボル単位である旨を事前確率情報形式情報CAPPが示すものであった場合には、シンボル該当枝選出回路319から供給されるイネーブル信号SEN0を選択する。セレクタ3231は、選択したイネーブル信号ENS0をlog−sum演算回路3121に供給する。
【0485】
セレクタ3232は、選択用制御信号生成回路316から供給される制御信号APに基づいて、シンボル該当枝選出回路319から供給されるイネーブル信号SEN1と、ビット該当枝選出回路320から供給されるイネーブル信号EN01とのうち、いずれか一方を選択する。具体的には、セレクタ3232は、制御信号APが、情報シンボル又は情報ビットに対する情報を出力する旨を出力データ選択制御信号CITMが示し、且つ、シンボル単位である旨を事前確率情報形式情報CAPPが示すものであった場合には、シンボル該当枝選出回路319から供給されるイネーブル信号SEN1を選択する。セレクタ3232は、選択したイネーブル信号ENS1をlog−sum演算回路3122に供給する。
【0486】
セレクタ3233は、選択用制御信号生成回路316から供給される制御信号APに基づいて、シンボル該当枝選出回路319から供給されるイネーブル信号SEN2と、ビット該当枝選出回路321から供給されるイネーブル信号EN10とのうち、いずれか一方を選択する。具体的には、セレクタ3233は、制御信号APが、情報シンボル又は情報ビットに対する情報を出力する旨を出力データ選択制御信号CITMが示し、且つ、シンボル単位である旨を事前確率情報形式情報CAPPが示すものであった場合には、シンボル該当枝選出回路319から供給されるイネーブル信号SEN2を選択する。セレクタ3233は、選択したイネーブル信号ENS2をlog−sum演算回路3123に供給する。
【0487】
セレクタ3234は、選択用制御信号生成回路316から供給される制御信号APに基づいて、シンボル該当枝選出回路319から供給されるイネーブル信号SEN3と、ビット該当枝選出回路321から供給されるイネーブル信号EN11とのうち、いずれか一方を選択する。具体的には、セレクタ3234は、制御信号APが、情報シンボル又は情報ビットに対する情報を出力する旨を出力データ選択制御信号CITMが示し、且つ、シンボル単位である旨を事前確率情報形式情報CAPPが示すものであった場合には、シンボル該当枝選出回路319から供給されるイネーブル信号SEN3を選択する。セレクタ3234は、選択したイネーブル信号ENS3をlog−sum演算回路3124に供給する。
【0488】
このようなイネーブル信号生成回路311は、出力データ選択制御信号CITM、事前確率情報形式情報CAPP、メモリ数情報MN及び枝入出力情報BIOを用いて、選出した枝に対応するイネーブル信号ENS0,ENS1,ENS2,ENS3,EN20,EN21を生成し、log−sum演算回路3121,3122,3123,3124,3125,3126に供給する。
【0489】
log−sum演算回路3121は、図42に示すように、復号の対象とする符号のステート数のうちの最大値をMとすると、M×2−1で表される数のlog−sum演算セル回路325nを有する。ここでは、log−sum演算回路3121は、最大で16ステートを有する符号の復号を行うものとし、31個のlog−sum演算セル回路3251,・・・,32531を有するものとする。
【0490】
log−sum演算セル回路3251は、2つの差分器3261,3262と、6個のセレクタ327,328,329,332,336,338と、セレクタ327,328,329による選択動作を制御するための制御信号を生成する選択用制御信号生成回路330と、セレクタ332による選択動作を制御するための制御信号を生成する選択用制御信号生成回路331と、ANDゲート333と、ORゲート334と、log−sum補正における補正項の値をテーブルとして記憶するルックアップテーブル335と、加算器337とを有する。
【0491】
差分器3261は、Iα+Iγ+Iβ算出回路310から供給されるデータAGBのうち、符号に応じて該当する所定のデータAGB000,AGB001の差分をとる。厳密には、差分器3261は、データAGB000,AGB001が、それぞれ、例えば13ビットからなるものとすると、データAGB000の下位6ビットのデータの最上位ビットに“1”を付したものと、データAGB001の下位6ビットのデータの最上位ビットに“0”を付したものとの差分をとる。差分器3261は、算出した差分値DA1をセレクタ327及び選択用制御信号生成回路330に供給する。
【0492】
差分器3262は、Iα+Iγ+Iβ算出回路310から供給されるデータAGBのうち、符号に応じて該当する所定のデータAGB001,AGB000の差分をとる。厳密には、差分器3262は、データAGB000,AGB001が、それぞれ、例えば13ビットからなるものとすると、データAGB001の下位6ビットのデータの最上位ビットに“1”を付したものと、データAGB000の下位6ビットのデータの最上位ビットに“0”を付したものとの差分をとる。差分器3262は、算出した差分値DA0をセレクタ328及び選択用制御信号生成回路330に供給する。
【0493】
セレクタ327は、選択用制御信号生成回路330から供給される制御信号SL1に基づいて、差分器3261から供給される差分値DA1と、所定の値N1を有するデータとのうち、いずれか一方を選択する。具体的には、差分値DA1に対する補正項の値は、所定の値に漸近する性質を有していることから、セレクタ327は、差分値DA1の値が所定の値N1を超過している場合には、所定の値N1を有するデータを選択する。セレクタ327は、選択して得られたデータSDA1をセレクタ329に供給する。
【0494】
セレクタ328は、選択用制御信号生成回路330から供給される制御信号SL1に基づいて、差分器3262から供給される差分値DA0と、所定の値N1を有するデータとのうち、いずれか一方を選択する。具体的には、差分値DA0に対する補正項の値は、所定の値に漸近する性質を有していることから、セレクタ328は、差分値DA0の値が所定の値N1を超過している場合には、所定の値N1を有するデータを選択する。セレクタ328は、選択して得られたデータSDA0をセレクタ329に供給する。
【0495】
セレクタ329は、選択用制御信号生成回路330から供給される制御信号SL2に基づいて、セレクタ327から供給されるデータSDA1と、セレクタ328から供給されるデータSDA0とのうち、いずれか一方を選択する。具体的には、セレクタ329は、データAGB000の値がデータAGB001の値よりも大きい場合には、セレクタ327から供給されるデータSDA1を選択する。セレクタ329は、選択して得られたデータDMをルックアップテーブル335に供給する。
【0496】
選択用制御信号生成回路330は、データAGB00,AGB01と、差分値DA1,DA0とに基づいて、セレクタ327,328による選択動作を制御するための制御信号SL1を生成するとともに、セレクタ329による選択動作を制御するための制御信号SL2を生成する。選択用制御信号生成回路330は、生成した制御信号SL2を選択用制御信号生成回路331にも供給する。この際、選択用制御信号生成回路330は、上述した選択用制御信号生成回路232と同様に、データAGB00,AGB01に基づいて、メトリックの上位ビットと下位ビットとを分割して、選択用の判定文を示す制御信号SL1,SL2を生成するが、これについては後述する。
【0497】
選択用制御信号生成回路331は、イネーブル信号生成回路311から供給されるイネーブル信号ENS0のうちのイネーブル信号EN000,EN001と、制御信号SL2とに基づいて、セレクタ332による選択動作を制御するための制御信号SELを生成する。
【0498】
セレクタ332は、選択用制御信号生成回路331から供給される制御信号SELに基づいて、データAGB000,AGB001のうち、いずれか一方を選択する。セレクタ332は、選択して得られたデータDAGを加算器337に供給する。
【0499】
ANDゲート333は、イネーブル信号EN000,EN001の論理積をとる。ANDゲート333は、得られた論理積ENAを選択用の制御信号としてセレクタ336に供給する。
【0500】
ORゲート334は、イネーブル信号EN000,EN001の論理和をとる。ORゲート334は、得られた論理和ENを選択用の制御信号としてセレクタ338に供給するとともに、イネーブル信号EN100としてlog−sum演算セル回路32517に供給する。
【0501】
ルックアップテーブル335は、log−sum補正における補正項の値をテーブルとして記憶する。ルックアップテーブル335は、セレクタ329から供給されるデータDMの値に対応する補正項の値をテーブルから読み出し、データRDMとしてセレクタ336に供給する。
【0502】
セレクタ336は、ANDゲート333から供給される論理積ENAに基づいて、ルックアップテーブル335から供給されるデータRDMと、所定の値N2を有するデータとのうち、いずれか一方を選択する。具体的には、セレクタ336は、論理積ENAが“1”であった場合には、データRDMを選択する。セレクタ336は、選択して得られたデータSDMを加算器337に供給する。なお、所定の値N2は、後述するデータCAGの正負識別符号を統一するように加算するオフセット値である。すなわち、データAGB000,AGB001のうちのいずれか一方であるデータDAGは、正負を跨いだ値をとることが考えられるが、正負両方の値を表現することは、回路規模の増大を招く。そこで、log−sum演算セル回路3251においては、データDAGの正負識別符号を統一するように、後述する加算器337により加算すべき所定の値N2を導入している。
【0503】
加算器337は、セレクタ332から供給されるデータDAGと、セレクタ336から供給されるデータSDMとを加算する。加算器337は、算出したデータCAGをセレクタ338に供給する。
【0504】
セレクタ338は、ORゲート334から供給される論理和ENに基づいて、加算器337から供給されるデータCAGと、所定の値N3を有するデータとのうち、いずれか一方を選択する。具体的には、セレクタ338は、論理和ENが“1”であった場合には、データCAGを選択する。セレクタ338は、選択して得られたデータAGLをlog−sum演算セル回路32517に供給する。
【0505】
このようなlog−sum演算回路3251は、Iα+Iγ+Iβ算出回路310から供給されるデータAGB000及びデータAGB001、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN000及びイネーブル信号EN001を用いて、後述するように、いわば勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、対数軟出力Iλを算出する際に行われるlog−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3251は、算出したデータAGLをデータAGB100として、勝ち抜き戦における第2回戦に喩えられる動作を行うlog−sum演算セル回路32517に供給するとともに、イネーブル信号EN100をlog−sum演算セル回路32517に供給する。
【0506】
log−sum演算回路3252は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB002及びデータAGB003、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN002及びイネーブル信号EN003を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3252は、算出したデータAGLをデータAGB101として、log−sum演算セル回路32517に供給するとともに、イネーブル信号EN101をlog−sum演算セル回路32517に供給する。
【0507】
log−sum演算回路3253は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB004及びデータAGB005、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN004及びイネーブル信号EN005を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3253は、算出したデータAGLをデータAGB102として、勝ち抜き戦における第2回戦に喩えられる動作を行うlog−sum演算セル回路32518に供給するとともに、イネーブル信号EN102をlog−sum演算セル回路32518に供給する。
【0508】
log−sum演算回路3254は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB006及びデータAGB007、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN006及びイネーブル信号EN007を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3254は、算出したデータAGLをデータAGB103として、log−sum演算セル回路32518に供給するとともに、イネーブル信号EN103をlog−sum演算セル回路32518に供給する。
【0509】
log−sum演算回路3255は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB008及びデータAGB009、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN008及びイネーブル信号EN009を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3255は、算出したデータAGLをデータAGB104として、勝ち抜き戦における第2回戦に喩えられる動作を行うlog−sum演算セル回路32519に供給するとともに、イネーブル信号EN104をlog−sum演算セル回路32519に供給する。
【0510】
log−sum演算回路3256は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB010及びデータAGB011、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN010及びイネーブル信号EN011を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3256は、算出したデータAGLをデータAGB105として、log−sum演算セル回路32519に供給するとともに、イネーブル信号EN105をlog−sum演算セル回路32519に供給する。
【0511】
log−sum演算回路3257は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB012及びデータAGB013、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN012及びイネーブル信号EN013を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3257は、算出したデータAGLをデータAGB106として、勝ち抜き戦における第2回戦に喩えられる動作を行うlog−sum演算セル回路32520に供給するとともに、イネーブル信号EN106をlog−sum演算セル回路32520に供給する。
【0512】
log−sum演算回路3258は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB014及びデータAGB015、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN014及びイネーブル信号EN015を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3258は、算出したデータAGLをデータAGB107として、log−sum演算セル回路32520に供給するとともに、イネーブル信号EN107をlog−sum演算セル回路32520に供給する。
【0513】
log−sum演算回路3259は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB016及びデータAGB017、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN016及びイネーブル信号EN017を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路3259は、算出したデータAGLをデータAGB108として、勝ち抜き戦における第2回戦に喩えられる動作を行うlog−sum演算セル回路32521に供給するとともに、イネーブル信号EN108をlog−sum演算セル回路32521に供給する。
【0514】
log−sum演算回路32510は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB018及びデータAGB019、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN018及びイネーブル信号EN019を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32510は、算出したデータAGLをデータAGB109として、log−sum演算セル回路32521に供給するとともに、イネーブル信号EN109をlog−sum演算セル回路32521に供給する。
【0515】
log−sum演算回路32511は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB020及びデータAGB021、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN020及びイネーブル信号EN021を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32511は、算出したデータAGLをデータAGB110として、勝ち抜き戦における第2回戦に喩えられる動作を行うlog−sum演算セル回路32522に供給するとともに、イネーブル信号EN110をlog−sum演算セル回路32522に供給する。
【0516】
log−sum演算回路32512は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB022及びデータAGB023、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN022及びイネーブル信号EN023を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32512は、算出したデータAGLをデータAGB111として、log−sum演算セル回路32522に供給するとともに、イネーブル信号EN111をlog−sum演算セル回路32522に供給する。
【0517】
log−sum演算回路32513は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB024及びデータAGB025、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN024及びイネーブル信号EN025を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32513は、算出したデータAGLをデータAGB112として、勝ち抜き戦における第2回戦に喩えられる動作を行うlog−sum演算セル回路32523に供給するとともに、イネーブル信号EN112をlog−sum演算セル回路32523に供給する。
【0518】
log−sum演算回路32514は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB026及びデータAGB027、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN026及びイネーブル信号EN027を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32514は、算出したデータAGLをデータAGB113として、log−sum演算セル回路32523に供給するとともに、イネーブル信号EN113をlog−sum演算セル回路32523に供給する。
【0519】
log−sum演算回路32515は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB028及びデータAGB029、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN028及びイネーブル信号EN029を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32515は、算出したデータAGLをデータAGB114として、勝ち抜き戦における第2回戦に喩えられる動作を行うlog−sum演算セル回路32524に供給するとともに、イネーブル信号EN114をlog−sum演算セル回路32524に供給する。
【0520】
log−sum演算回路32516は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、Iα+Iγ+Iβ算出回路310から供給されるデータAGB030及びデータAGB031、並びに、イネーブル信号生成回路311から供給されるイネーブル信号EN030及びイネーブル信号EN031を用いて、勝ち抜き戦における第1回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32516は、算出したデータAGLをデータAGB115として、log−sum演算セル回路32524に供給するとともに、イネーブル信号EN115をlog−sum演算セル回路32524に供給する。
【0521】
log−sum演算回路32517は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路3251から供給されるデータAGB100及びイネーブル信号EN100、並びに、log−sum演算セル回路3252から供給されるデータAGB101及びイネーブル信号EN101を用いて、勝ち抜き戦における第2回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32517は、算出したデータAGLをデータAGB200として、勝ち抜き戦における第3回戦に喩えられる動作を行うlog−sum演算セル回路32525に供給するとともに、イネーブル信号EN200をlog−sum演算セル回路32525に供給する。
【0522】
log−sum演算回路32518は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路3253から供給されるデータAGB102及びイネーブル信号EN102、並びに、log−sum演算セル回路3254から供給されるデータAGB103及びイネーブル信号EN103を用いて、勝ち抜き戦における第2回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32518は、算出したデータAGLをデータAGB201として、log−sum演算セル回路32525に供給するとともに、イネーブル信号EN201をlog−sum演算セル回路32525に供給する。
【0523】
log−sum演算回路32519は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路3255から供給されるデータAGB104及びイネーブル信号EN104、並びに、log−sum演算セル回路3256から供給されるデータAGB105及びイネーブル信号EN105を用いて、勝ち抜き戦における第2回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32519は、算出したデータAGLをデータAGB202として、勝ち抜き戦における第3回戦に喩えられる動作を行うlog−sum演算セル回路32526に供給するとともに、イネーブル信号EN202をlog−sum演算セル回路32526に供給する。
【0524】
log−sum演算回路32520は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路3257から供給されるデータAGB106及びイネーブル信号EN106、並びに、log−sum演算セル回路3258から供給されるデータAGB107及びイネーブル信号EN107を用いて、勝ち抜き戦における第2回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32520は、算出したデータAGLをデータAGB203として、log−sum演算セル回路32526に供給するとともに、イネーブル信号EN203をlog−sum演算セル回路32526に供給する。
【0525】
log−sum演算回路32521は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路3259から供給されるデータAGB108及びイネーブル信号EN108、並びに、log−sum演算セル回路32510から供給されるデータAGB109及びイネーブル信号EN109を用いて、勝ち抜き戦における第2回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32521は、算出したデータAGLをデータAGB204として、勝ち抜き戦における第3回戦に喩えられる動作を行うlog−sum演算セル回路32527に供給するとともに、イネーブル信号EN204をlog−sum演算セル回路32527に供給する。
【0526】
log−sum演算回路32522は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32511から供給されるデータAGB110及びイネーブル信号EN110、並びに、log−sum演算セル回路32512から供給されるデータAGB111及びイネーブル信号EN111を用いて、勝ち抜き戦における第2回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32522は、算出したデータAGLをデータAGB205として、log−sum演算セル回路32527に供給するとともに、イネーブル信号EN205をlog−sum演算セル回路32527に供給する。
【0527】
log−sum演算回路32523は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32513から供給されるデータAGB112及びイネーブル信号EN112、並びに、log−sum演算セル回路32514から供給されるデータAGB113及びイネーブル信号EN113を用いて、勝ち抜き戦における第2回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32523は、算出したデータAGLをデータAGB206として、勝ち抜き戦における第3回戦に喩えられる動作を行うlog−sum演算セル回路32528に供給するとともに、イネーブル信号EN206をlog−sum演算セル回路32528に供給する。
【0528】
log−sum演算回路32524は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32515から供給されるデータAGB114及びイネーブル信号EN114、並びに、log−sum演算セル回路32516から供給されるデータAGB115及びイネーブル信号EN115を用いて、勝ち抜き戦における第2回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32524は、算出したデータAGLをデータAGB207として、log−sum演算セル回路32528に供給するとともに、イネーブル信号EN207をlog−sum演算セル回路32528に供給する。
【0529】
log−sum演算回路32525は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32517から供給されるデータAGB200及びイネーブル信号EN200、並びに、log−sum演算セル回路32518から供給されるデータAGB201及びイネーブル信号EN201を用いて、勝ち抜き戦における第3回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32525は、算出したデータAGLをデータAGB300として、勝ち抜き戦における第4回戦に喩えられる動作を行うlog−sum演算セル回路32529に供給するとともに、イネーブル信号EN300をlog−sum演算セル回路32529に供給する。
【0530】
log−sum演算回路32526は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32519から供給されるデータAGB202及びイネーブル信号EN202、並びに、log−sum演算セル回路32520から供給されるデータAGB203及びイネーブル信号EN203を用いて、勝ち抜き戦における第3回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32526は、算出したデータAGLをデータAGB301として、log−sum演算セル回路32529に供給するとともに、イネーブル信号EN301をlog−sum演算セル回路32529に供給する。
【0531】
log−sum演算回路32527は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32521から供給されるデータAGB204及びイネーブル信号EN204、並びに、log−sum演算セル回路32522から供給されるデータAGB205及びイネーブル信号EN205を用いて、勝ち抜き戦における第3回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32527は、算出したデータAGLをデータAGB302として、勝ち抜き戦における第4回戦に喩えられる動作を行うlog−sum演算セル回路32530に供給するとともに、イネーブル信号EN302をlog−sum演算セル回路32530に供給する。
【0532】
log−sum演算回路32528は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32523から供給されるデータAGB206及びイネーブル信号EN206、並びに、log−sum演算セル回路32524から供給されるデータAGB207及びイネーブル信号EN207を用いて、勝ち抜き戦における第3回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32528は、算出したデータAGLをデータAGB303として、log−sum演算セル回路32530に供給するとともに、イネーブル信号EN303をlog−sum演算セル回路32530に供給する。
【0533】
log−sum演算回路32529は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32525から供給されるデータAGB300及びイネーブル信号EN300、並びに、log−sum演算セル回路32526から供給されるデータAGB301及びイネーブル信号EN301を用いて、勝ち抜き戦における第4回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32529は、算出したデータAGLをデータAGB400として、勝ち抜き戦における第5回戦、ここでは決勝戦に喩えられる動作を行うlog−sum演算セル回路32531に供給するとともに、イネーブル信号EN400をlog−sum演算セル回路32531に供給する。
【0534】
log−sum演算回路32530は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32527から供給されるデータAGB302及びイネーブル信号EN302、並びに、log−sum演算セル回路32528から供給されるデータAGB303及びイネーブル信号EN303を用いて、勝ち抜き戦における第4回戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32530は、算出したデータAGLをデータAGB401として、log−sum演算セル回路32531に供給するとともに、イネーブル信号EN401をlog−sum演算セル回路32531に供給する。
【0535】
log−sum演算回路32531は、log−sum演算回路3251と同様の構成からなるため、詳細な説明は省略するが、log−sum演算セル回路32529から供給されるデータAGB400及びイネーブル信号EN400、並びに、log−sum演算セル回路32530から供給されるデータAGB401及びイネーブル信号EN401を用いて、勝ち抜き戦における決勝戦に喩えられる動作を行うことによって、log−sum演算の累積加算演算における一のlog−sum演算を行う。log−sum演算回路32531は、算出したイネーブル信号EN500を出力することはないが、算出したデータAGLをデータAGB500として出力する。なお、データAGB500は、データL00としてIλ算出回路313に供給される。
【0536】
このようなlog−sum演算回路3121は、データAGBとイネーブル信号ENS0とを用いて、トレリス上の各枝に対応するイネーブル信号に基づいた勝ち抜き戦に喩えられる動作を行うことによって、例えばトレリス上の枝の入力が“0”であるlog−sum演算の累積加算演算を行い、データL00を算出する。
【0537】
log−sum演算回路3122は、log−sum演算回路3121と同様の構成からなるため、詳細な説明は省略するが、データAGBとイネーブル信号ENS1とを用いて、log−sum演算回路3121と同様に、トレリス上の各枝に対応するイネーブル信号に基づいた勝ち抜き戦に喩えられる動作を行うことによって、例えばトレリス上の枝の入力が“1”であるlog−sum演算の累積加算演算を行い、データL01を算出する。log−sum演算回路3122は、算出したデータL01をIλ算出回路313に供給する。
【0538】
また、log−sum演算回路3123も、log−sum演算回路3121と同様の構成からなるため、詳細な説明は省略するが、データAGBとイネーブル信号ENS2とを用いて、log−sum演算回路3121と同様に、トレリス上の各枝に対応するイネーブル信号に基づいた勝ち抜き戦に喩えられる動作を行うことによって、例えばトレリス上の枝の入力が“0”であるlog−sum演算の累積加算演算を行い、データL10を算出する。log−sum演算回路3123は、算出したデータL10をIλ算出回路313に供給する。
【0539】
さらに、log−sum演算回路3124も、log−sum演算回路3121と同様の構成からなるため、詳細な説明は省略するが、データAGBとイネーブル信号ENS3とを用いて、log−sum演算回路3121と同様に、トレリス上の各枝に対応するイネーブル信号に基づいた勝ち抜き戦に喩えられる動作を行うことによって、例えばトレリス上の枝の入力が“1”であるlog−sum演算の累積加算演算を行い、データL11を算出する。log−sum演算回路3124は、算出したデータL11をIλ算出回路313に供給する。
【0540】
さらにまた、log−sum演算回路3125も、log−sum演算回路3121と同様の構成からなるため、詳細な説明は省略するが、データAGBとイネーブル信号ENS20とを用いて、log−sum演算回路3121と同様に、トレリス上の各枝に対応するイネーブル信号に基づいた勝ち抜き戦に喩えられる動作を行うことによって、例えばトレリス上の枝の入力が“0”であるlog−sum演算の累積加算演算を行い、データL20を算出する。log−sum演算回路3125は、算出したデータL20をIλ算出回路313に供給する。
【0541】
また、log−sum演算回路3126も、log−sum演算回路3121と同様の構成からなるため、詳細な説明は省略するが、データAGBとイネーブル信号ENS21とを用いて、log−sum演算回路3121と同様に、トレリス上の各枝に対応するイネーブル信号に基づいた勝ち抜き戦に喩えられる動作を行うことによって、例えばトレリス上の枝の入力が“1”であるlog−sum演算の累積加算演算を行い、データL21を算出する。log−sum演算回路3126は、算出したデータL21をIλ算出回路313に供給する。
【0542】
Iλ算出回路313は、3つの差分器3241,3242,3243を有する。
【0543】
差分器3241は、log−sum演算回路3121から供給されるデータL00と、log−sum演算回路3122から供給されるデータL01との差分をとる。差分器3241により算出されたデータLM0は、例えば2の補数(2's complement)表記変換等が施される。
【0544】
差分器3242は、log−sum演算回路3123から供給されるデータL10と、log−sum演算回路3124から供給されるデータL11との差分をとる。差分器3242により算出されたデータLM1は、例えば2の補数表記変換等が施される。
【0545】
差分器3243は、log−sum演算回路3124から供給されるデータL20と、log−sum演算回路3126から供給されるデータL21との差分をとる。差分器3243により算出されたデータLM2は、例えば2の補数表記変換等が施される。
【0546】
このようなIλ算出回路313は、log−sum演算回路3121,3122,3123,3124のそれぞれから供給され、いわゆるストレートバイナリ(straight binary)表記とされるデータL00,L01,L10,L11を束ね、シンボル単位で算出した対数軟出力SLMとして出力する。また、Iλ算出回路313は、差分器3241,3242,3243のそれぞれにより算出した2の補数表記とされるデータLM0,LM1,LM2を束ね、ビット単位で算出した対数軟出力BLMとして出力する。
【0547】
以上のように構成される軟出力算出回路161は、イネーブル信号を用いた勝ち抜き戦に喩えられる動作を行うことによって、トレリス上の各枝の入力に応じたlog−sum演算の累積加算演算を実現し、シンボル単位又はビット単位で対数軟出力Iλを算出することができ、それぞれ、対数軟出力SLM,BLMとして出力する。これらの対数軟出力SLM,BLMは、外部情報算出回路163、振幅調整及びクリップ回路164、及び、硬判定回路165に供給される。
【0548】
受信値又は事前確率情報分離回路162は、受信データ及び遅延用記憶回路155から出力され、所定の遅延が施された遅延受信データDADから、受信値又は事前確率情報を分離して取り出すものである。受信値又は事前確率情報分離回路162は、制御回路60から供給される受信値形式情報CRTYと、符号情報生成回路151から供給される入力ビット数情報INとに基づいて、入力した遅延受信データDADを分離する。
【0549】
具体的には、受信値又は事前確率情報分離回路162は、例えば図43に示すように、4つのセレクタ341,342,343,344を有するものとして実現することができる。
【0550】
セレクタ341は、入力ビット数情報INに基づいて、遅延受信データDADのうちの遅延受信データDAD3,DAD4のうち、いずれか一方を選択する。具体的には、セレクタ341は、要素符号化器に対する入力ビット数が“1”であった場合には、遅延受信データDAD4を選択する。セレクタ341は、選択したデータを遅延受信データDASとして出力する。
【0551】
セレクタ342は、受信値形式情報CRTYに基づいて、遅延受信データDADのうちの遅延受信データDAD0と、セレクタ341から供給される遅延受信データDASとのうち、いずれか一方を選択する。具体的には、セレクタ342は、受信値形式情報CRTYが外部情報を示すものであった場合には、遅延受信データDAD0を選択する。セレクタ342は、選択したデータを遅延受信データPD0として出力する。
【0552】
セレクタ343は、受信値形式情報CRTYに基づいて、遅延受信データDADのうちの遅延受信データDAD1,DAD4のうち、いずれか一方を選択する。具体的には、セレクタ343は、受信値形式情報CRTYが外部情報を示すものであった場合には、遅延受信データDAD1を選択する。セレクタ343は、選択したデータを遅延受信データPD1として出力する。
【0553】
セレクタ344は、受信値形式情報CRTYに基づいて、遅延受信データDADのうちの遅延受信データDAD2,DAD5のうち、いずれか一方を選択する。具体的には、セレクタ344は、受信値形式情報CRTYが外部情報を示すものであった場合には、遅延受信データDAD2を選択する。セレクタ344は、選択したデータを遅延受信データPD2として出力する。
【0554】
このような受信値又は事前確率情報分離回路162は、入力した遅延受信データDADのうち、遅延受信データDAD0,DAD1,DAD2,DAD3を束ね、いわゆるオフセットバイナリ(offset binary)表記とされる遅延受信値DRCとして出力するとともに、遅延受信データDAS,DAD4,DAD5を束ね、遅延事前確率情報DAPとして出力するとともに、遅延受信データPD0,PD1,PD2を束ね、遅延外部情報DEXとして出力する。遅延受信値DRCは、外部情報算出回路163及び硬判定回路165に供給され、遅延事前確率情報DAPは、外部情報算出回路163に供給され、遅延外部情報DEXは、そのまま、遅延外部情報SDEXとしてセレクタ1202に供給される。
【0555】
外部情報算出回路163は、軟出力算出回路161から供給される対数軟出力SLM又は対数軟出力BLMと、受信値又は事前確率情報分離回路162から供給される遅延受信値DRC又は遅延事前確率情報DAPとを用いて、外部情報OEを算出する。
【0556】
具体的には、外部情報算出回路163は、例えば図44に示すように、情報ビットに対する外部情報を算出する情報ビット外部情報算出回路350と、情報シンボルに対する外部情報を算出する情報シンボル外部情報算出回路351と、符号に対する外部情報を算出する符号外部情報算出回路352と、2つのセレクタ353,354とを有するものとして実現することができる。
【0557】
情報ビット外部情報算出回路350は、例えば3つの外部情報算出セル回路3551,3552,3553を有する。これらの外部情報算出セル回路3551,3552,3553は、それぞれ、実質的には、対数軟出力BLMと遅延事前確率情報DAPとの差分をとる図示しない差分器から構成される。
【0558】
外部情報算出セル回路3551は、対数軟出力BLMのうちの対数軟出力BLM0と、遅延事前確率情報DAPのうちの遅延事前確率情報DAP0との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施し、さらにオフセットバイナリ表記変換等を施した後、外部情報EX0として出力する。
【0559】
外部情報算出セル回路3552は、対数軟出力BLMのうちの対数軟出力BLM1と、遅延事前確率情報DAPのうちの遅延事前確率情報DAP1との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施し、さらにオフセットバイナリ表記変換等を施した後、外部情報EX1として出力する。
【0560】
外部情報算出セル回路3553は、対数軟出力BLMのうちの対数軟出力BLM2と、遅延事前確率情報DAPのうちの遅延事前確率情報DAP2との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施し、さらにオフセットバイナリ表記変換等を施した後、外部情報EX2として出力する。
【0561】
このような情報ビット外部情報算出回路350は、例えば3系統の外部情報EX0,EX1,EX2をビット単位で算出し、これらの外部情報EX0,EX1,EX2を束ねて外部情報EXBとしてセレクタ353に供給する。
【0562】
情報シンボル外部情報算出回路351は、例えば4つの外部情報算出セル回路3561,3562,3563,3564と、正規化回路357とを有する。これらの各部のうち、外部情報算出セル回路3561,3562,3563,3564は、それぞれ、外部情報算出セル回路3551,3552,3553と同様に、実質的には、対数軟出力SLMと遅延事前確率情報DAPとの差分をとる図示しない差分器から構成される。
【0563】
外部情報算出セル回路3561は、対数軟出力SLMのうちの対数軟出力SLM0と、所定の値Mを有するデータとの差分を算出し、この差分値に対して、振幅調整及びクリッピングを施した後、外部情報ED0として正規化回路357に供給する。
【0564】
外部情報算出セル回路3562は、対数軟出力SLMのうちの対数軟出力SLM1と、遅延事前確率情報DAPのうちの遅延事前確率情報DAP0との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施した後、外部情報ED1として正規化回路357に供給する。
【0565】
外部情報算出セル回路3563は、対数軟出力SLMのうちの対数軟出力SLM2と、遅延事前確率情報DAPのうちの遅延事前確率情報DAP1との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施した後、外部情報ED2として正規化回路357に供給する。
【0566】
外部情報算出セル回路3564は、対数軟出力SLMのうちの対数軟出力SLM3と、遅延事前確率情報DAPのうちの遅延事前確率情報DAP2との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施した後、外部情報ED3として正規化回路357に供給する。
【0567】
正規化回路357は、後述するように、外部情報算出セル回路3561,3562,3563,3564により算出された外部情報ED0,ED1,ED2,ED3の分布の偏りを是正し且つ情報量を削減するための正規化を行う。具体的には、正規化回路357は、外部情報算出セル回路3561,3562,3563,3564により算出された外部情報ED0,ED1,ED2,ED3のうち、最大値を有するものを、例えば“0”といった所定の値に合わせるように、外部情報ED0,ED1,ED2,ED3のそれぞれに対して所定の値を加算した後、必要なダイナミックレンジに応じてクリッピングを行い、さらに、ある1つのシンボルに対する外部情報の値を、他の全てのシンボルに対する外部情報の値から差分するような正規化を行う。正規化回路357は、正規化後の外部情報を外部情報EX0,EX1,EX2として出力する。
【0568】
このような情報シンボル外部情報算出回路351は、例えば3系統の外部情報EX0,EX1,EX2をシンボル単位で算出し、これらの外部情報EX0,EX1,EX2を束ねて外部情報EXSとしてセレクタ353に供給する。
【0569】
符号外部情報算出回路352は、例えば3つの外部情報算出セル回路3581,3582,3583を有する。これらの外部情報算出セル回路3581,3582,3583は、それぞれ、外部情報算出セル回路3551,3552,3553と同様に、実質的には、対数軟出力BLMと遅延受信値DRCとの差分をとる図示しない差分器から構成される。
【0570】
外部情報算出セル回路3581は、対数軟出力BLMのうちの対数軟出力BLM0と、遅延受信値DRCのうちの遅延受信値APS0との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施し、さらにオフセットバイナリ表記変換等を施した後、外部情報EX0として出力する。
【0571】
外部情報算出セル回路3582は、対数軟出力BLMのうちの対数軟出力BLM1と、遅延受信値DRCのうちの遅延受信値APS1との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施し、さらにオフセットバイナリ表記変換等を施した後、外部情報EX1として出力する。
【0572】
外部情報算出セル回路3583は、対数軟出力BLMのうちの対数軟出力BLM2と、遅延受信値DRCのうちの遅延受信値APS2との差分を算出し、この差分値に対して、振幅調整及びクリッピングを施し、オフセットバイナリ表記変換等を施した後、外部情報EX2として出力する。
【0573】
このような符号外部情報算出回路352は、例えば3系統の外部情報EX0,EX1,EX2を算出し、これらの外部情報EX0,EX1,EX2を束ねて外部情報EXCとしてセレクタ354に供給する。
【0574】
セレクタ353は、事前確率情報形式情報CAPPに基づいて、情報ビット外部情報算出回路350から供給される外部情報EXBと、情報シンボル外部情報算出回路351から供給される外部情報EXSとのうち、いずれか一方を選択する。具体的には、セレクタ353は、事前確率情報形式情報CAPPがシンボル単位であることを示すものであった場合には、外部情報EXSを選択する。セレクタ353は、選択して得られた外部情報ESをセレクタ354に供給する。
【0575】
セレクタ354は、出力データ選択制御信号CITMに基づいて、セレクタ353から供給される外部情報ESと、符号外部情報算出回路352から供給される外部情報EXCとのうち、いずれか一方を選択する。具体的には、セレクタ354は、出力データ選択制御信号CITMが符号に対する情報を出力する旨を示すものであった場合には、外部情報EXCを選択する。セレクタ354は、選択して得られた外部情報OEを外部に出力する。
【0576】
このような外部情報算出回路163は、入力した対数軟出力SLM又は対数軟出力BLMと、遅延受信値DCR又は遅延事前確率情報DAPとを用いて、外部情報OEを算出し、この外部情報OEを、そのまま、外部情報SOEとしてセレクタ1201に供給する。
【0577】
振幅調整及びクリップ回路164は、図示しないが、シンボル単位の対数軟出力SLMの振幅を調整するとともに所定のダイナミックレンジにクリップする回路と、ビット単位の対数軟出力BLMの振幅を調整するとともに所定のダイナミックレンジにクリップする回路とを有する。このとき、振幅調整及びクリップ回路164は、外部から供給される出力データ選択制御信号CITMと、制御回路60から供給される事前確率情報形式情報CAPPとに基づいて、対数軟出力SLM,BLMのそれぞれの振幅を調整するとともに所定のダイナミックレンジにクリップしたデータのうち、いずれか一方を、振幅調整後の対数軟出力OLとして出力する。この対数軟出力OLは、そのまま、軟出力SOLとしてセレクタ1201に供給される。
【0578】
硬判定回路165は、復号値である対数軟出力SLM,BLMを硬判定するとともに、遅延受信値DRCを硬判定する。このとき、硬判定回路165は、外部から供給される出力データ選択制御信号CITMと、制御回路60から供給される受信値形式情報CRTY、事前確率情報形式情報CAPP及び信号点配置情報CSIGとに基づいて、対数軟出力SLM,BLM及び遅延受信値DRCを硬判定する。なお、ここでは、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合には、この符号化装置1は、8PSK変調方式による変調を行うものとし、信号点配置情報CSIGは、8系統の信号点配置情報CSIG0,CSIG1,CSIG2,CSIG3,CSIG4,CSIG5,CSIG6,CSIG7からなるものとする。
【0579】
具体的には、硬判定回路165は、例えば図45に示すように、インバータ360と、値が最小であるシンボルを算出する最小シンボル算出回路361と、後述するセレクタ369による選択動作を制御するための制御信号を生成する選択用制御信号生成回路368と、セレクタ369,371と、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合におけるI/Q値のデマッピングを行うI/Qデマップ回路370とを有するものとして実現することができる。
【0580】
インバータ360は、軟出力算出回路161から供給され、2の補数表記とされる対数軟出力BLMのうち、所定のビット群を反転し、復号ビット硬判定情報BHDとして出力する。
【0581】
最小シンボル算出回路361は、例えば、3つの比較回路362,364,366と、3つのセレクタ363,365,367とを有するものとして実現することができる。
【0582】
比較回路362は、軟出力算出回路161から供給され、ストレートバイナリ表記とされる対数軟出力SLMのうち、対数軟出力SLM0,SLM1の大小関係を比較する。比較回路362は、求めた大小関係を示す制御信号SL0をセレクタ367に供給するとともに、選択用の制御信号としてセレクタ363に供給する。
【0583】
セレクタ363は、比較回路362から供給される制御信号SL0に基づいて、対数軟出力SLM0,SLM1のうち、値が小さいものを選択する。セレクタ363は、選択して得られたデータSSL0を比較回路366に供給する。
【0584】
比較回路364は、軟出力算出回路161から供給される対数軟出力SLMのうち、対数軟出力SLM2,SLM3の大小関係を比較する。比較回路364は、求めた大小関係を示す制御信号SL1をセレクタ367に供給するとともに、選択用の制御信号としてセレクタ365に供給する。
【0585】
セレクタ365は、比較回路364から供給される制御信号SL1に基づいて、対数軟出力SLM2,SLM3のうち、値が小さいものを選択する。セレクタ365は、選択して得られたデータSSL1を比較回路366に供給する。
【0586】
比較回路366は、セレクタ363から供給されるデータSSL0と、セレクタ365から供給されるデータSSL1との大小関係を比較する。比較回路366は、求めた大小関係を示す制御信号SEL1を選択用の制御信号としてセレクタ367に供給する。
【0587】
セレクタ367は、比較回路366から供給される制御信号SEL1に基づいて、比較回路362から供給される制御信号SL0と、比較回路364から供給される制御信号SL1とのうち、いずれか一方を選択する。具体的には、セレクタ367は、データSSL0の値がデータSSL1の値よりも大きい場合には、制御信号SL1を選択する。セレクタ367は、選択して得られたデータを制御信号SEL0として出力する。
【0588】
このような最小シンボル算出回路361は、シンボル単位の対数軟出力SLMのうち、値が最小であるものを算出し、制御信号SEL0,SEL1を束ねた復号シンボル硬判定情報SHDとして、セレクタ369に供給する。
【0589】
選択用制御信号生成回路368は、外部から供給される出力データ選択制御信号CITMと、制御回路60から供給される事前確率情報形式情報CAPPとに基づいて、セレクタ369による選択動作を制御するための制御信号AISを生成する。
【0590】
セレクタ369は、選択用制御信号生成回路368から供給される制御信号AISに基づいて、インバータ360から供給される復号ビット硬判定情報BHDと、最小シンボル算出回路361から供給される復号シンボル硬判定情報SHDとのうち、いずれか一方を選択する。具体的には、セレクタ369は、制御信号AISが、情報シンボル又は情報ビットに対する情報を出力する旨を出力データ選択制御信号CITMが示し、且つ、シンボル単位である旨を事前確率情報形式情報CAPPが示すものであった場合には、復号シンボル硬判定情報SHDを選択する。セレクタ369は、選択したデータを復号値硬判定情報DHD1として出力する。
【0591】
硬判定回路165は、これらの各部によって、復号ビット硬判定情報BHDと復号シンボル硬判定情報SHDとを求め、セレクタ369により選択された復号値硬判定情報DHD1を、復号値硬判定情報DHDとして出力する。この復号値硬判定情報DHDは、そのまま、復号値硬判定情報SDHとして外部に出力される。
【0592】
なお、硬判定回路165は、復号ビット硬判定情報BHDを求めるにあたって、インバータ360を用いているが、これは、データの表記法に起因するものである。すなわち、復号ビット硬判定情報BHDは、上述したように、2の補数表記とされる対数軟出力BLMを前提に求められるものである。そのため、硬判定回路165は、インバータ360によって、対数軟出力BLMのうち、所定のビット群、具体的には最上位ビットを反転して得られた反転ビットを用いて判定することによって、ビット単位で算出した対数軟出力BLMを硬判定することができる。
【0593】
また、硬判定回路165において、I/Qデマップ回路370は、例えば、デマッピング用のテーブルを記憶するルックアップテーブル372と、7個のセレクタ373,374,375,376,377,379,380と、セレクタ379,380による選択動作を制御するための制御信号を生成する選択用制御信号生成回路378とを有するものとして実現することができる。
【0594】
ルックアップテーブル372は、受信値のデマッピング用のテーブルを記憶する。具体的には、ルックアップテーブル372は、後述するように、I/Q平面におけるI軸に対する境界値をテーブルとして記憶する。ルックアップテーブル372は、オフセットバイナリ表記とされる遅延受信値DRCのうち、同相成分に対応する遅延受信値IRの値と、直交成分に対応する遅延受信値QRの値との組み合わせに対応する境界値をテーブルから読み出し、例えば4系統の境界値データBDR0,BDR1,BDR2,BDR3として選択用制御信号生成回路378に供給する。
【0595】
セレクタ373は、遅延受信値QRに基づいて、信号点配置情報CSIG2,CSIG6のうち、いずれか一方を選択する。具体的には、セレクタ373は、遅延受信値QRが正値を示すものであった場合には、信号点配置情報CSIG2を選択する。セレクタ373は、選択したデータを信号点配置情報SSSS0としてセレクタ380に供給する。
【0596】
セレクタ374は、遅延受信値QRに基づいて、信号点配置情報CSIG3,CSIG5のうち、いずれか一方を選択する。具体的には、セレクタ374は、遅延受信値QRが正値を示すものであった場合には、信号点配置情報CSIG3を選択する。セレクタ374は、選択したデータを信号点配置情報SS0としてセレクタ376に供給する。
【0597】
セレクタ375は、遅延受信値QRに基づいて、信号点配置情報CSIG1,CSIG7のうち、いずれか一方を選択する。具体的には、セレクタ375は、遅延受信値QRが正値を示すものであった場合には、信号点配置情報CSIG1を選択する。セレクタ375は、選択したデータを信号点配置情報SS1としてセレクタ376に供給する。
【0598】
セレクタ376は、遅延受信値IRに基づいて、セレクタ374から供給される信号点配置情報SS0と、セレクタ375から供給される信号点配置情報SS1とのうち、いずれか一方を選択する。具体的には、セレクタ376は、遅延受信値IRが正値を示すものであった場合には、信号点配置情報SS1を選択する。セレクタ376は、選択したデータを信号点配置情報SSS0としてセレクタ379に供給する。
【0599】
セレクタ377は、遅延受信値IRに基づいて、所定の値Mを有するデータと、信号点配置情報CSIG4とのうち、いずれか一方を選択する。具体的には、セレクタ377は、遅延受信値IRが正値を示すものであった場合には、所定の値Mを有するデータを選択する。セレクタ377は、選択したデータを信号点配置情報SSS1としてセレクタ379に供給する。
【0600】
選択用制御信号生成回路378は、遅延受信値QRと、ルックアップテーブル372から供給される境界値データBDR0,BDR1,BDR2,BDR3とに基づいて、セレクタ379による選択動作を制御するための制御信号SEL5を生成するとともに、セレクタ380による選択動作を制御するための制御信号SEL6を生成する。
【0601】
セレクタ379は、選択用制御信号生成回路378から供給される制御信号SEL5に基づいて、信号点配置情報SSS0,SSS1のうち、いずれか一方を選択する。セレクタ379は、選択したデータを信号点配置情報SSSS1としてセレクタ380に供給する。
【0602】
セレクタ380は、選択用制御信号生成回路378から供給される制御信号SEL6に基づいて、信号点配置情報SSSS0,SSSS1のうち、いずれか一方を選択する。セレクタ380は、選択したデータを受信値硬判定情報IRHとしてセレクタ371に供給する。
【0603】
このようなI/Qデマップ回路370は、符号化装置1がTTCMやSCTCMによる符号化を行うものであった場合における受信値硬判定情報IRHを求める。
【0604】
さらに、硬判定回路165において、セレクタ371は、遅延受信値DCRのうちの所定のビット群からなり、オフセットバイナリ表記の硬判定結果を示す受信値硬判定情報BRHと、I/Qデマップ回路370から供給される受信値硬判定情報IRHとのうち、いずれか一方を選択する。具体的には、セレクタ371は、符号化装置1がTTCMやSCTCMによる符号化を行うものであることを受信値形式情報CRTYが示すものであった場合には、受信値硬判定情報IRHを選択する。セレクタ371は、選択したデータを受信値硬判定情報RHDとして出力する。この受信値硬判定情報RHDは、そのまま、受信値硬判定情報SRHとして外部に出力される。
【0605】
なお、硬判定回路165は、受信値硬判定情報BRHを求めるにあたって、上述した復号ビット硬判定情報BHDを求める場合のようにビット反転処理を行わないが、これは、データの表記法に起因するものである。すなわち、受信値硬判定情報BRHは、上述したように、オフセットバイナリ表記とされる遅延受信値DRCを前提に求められるものである。そのため、硬判定回路165は、遅延受信値DRCのうちの所定のビット群、具体的には最上位ビットを用いて判定することによって、遅延受信値DRCを硬判定することができる。
【0606】
このような硬判定回路165は、復号値である対数軟出力SLM,BLMを硬判定して復号値硬判定情報SDHを求めるとともに、遅延受信値DRCを硬判定して受信値硬判定情報SRHを求める。これらの復号値硬判定情報SDH及び受信値硬判定情報SRHは、それぞれ、復号値硬判定情報DHD及び受信値硬判定情報RHDとして外部に出力され、必要に応じてモニタされる。
【0607】
以上説明した軟出力復号回路90は、軟入力の復号受信値TSRを入力すると、Iγ算出回路156及びIγ分配回路157によって、受信値を受信する毎に、対数尤度Iγを算出し、Iα算出回路158によって、対数尤度Iαを算出した後、全ての受信値を受信すると、Iβ算出回路159によって、全ての時刻における各ステートについて、対数尤度Iβを算出する。そして、要素復号器50は、軟出力算出回路161によって、算出した対数尤度Iα,Iβ及びIγを用いて、各時刻における対数軟出力Iλを算出し、この対数軟出力Iλを外部に出力するか、若しくは、外部情報算出回路163に供給する。また、要素復号器50は、外部情報算出回路163によって、各時刻における外部情報を算出する。このように、要素復号器50は、復号受信値TSRと外部情報又はインターリーブデータTEXTとを用いて、Log−BCJRアルゴリズムを適用した軟出力復号を行うことができる。特に、軟出力復号回路90は、PCCC、SCCC、TTCM又はSCTCMにおける要素符号化器の符号構成に拘泥せず、任意の符号に対する軟出力復号を行うことができる。
【0608】
なお、軟出力復号回路90に関する各種特徴については、後述する“5.”においてさらに説明する。
【0609】
2−3 インターリーバの詳細
つぎに、インターリーバ100について詳述する。具体的な構成の説明に先立って、インターリーバ100の基本的な設計概念について説明する。
【0610】
インターリーバ100は、後述するように、インターリーブ処理及びデインターリーブ処理を行うとともに、入力した受信値を遅延させることもできる。そのため、インターリーバ100は、入力した受信値を遅延させるためのRAMと、入力したデータにインターリーブを施すためのRAMとを備えるものとする。なお、これらのRAMは、後述するように、実際には、共用されるものであって、施すべきインターリーブの種類を含む符号構成を示すモードに応じて切り替えられて使用されるものである。
【0611】
遅延用のRAMは、例えば図46に示すように、インターリーバ100が有する後述する制御回路からは、バンクA,Bからなるデュアルポートの1つのRAMに見えるように構成される。ここで、制御回路は、このRAMに対するデータの書き込みに用いる書き込みアドレスと、データの読み出しに用いる読み出しアドレスとによって、同時に偶数アドレス又は奇数アドレスにアクセスすることはできないものとする。インターリーバ100においては、この遅延用のRAMを用いて偶数長遅延させる場合には、例えば、0,1,2,3,4,・・・,DL−2,DL−1,0,1,2,・・・といった書き込みアドレスに基づいて、RAMにおける各アドレスにデータが記憶される。そして、インターリーバ100においては、例えば、1,2,3,4,5,・・・,DL−1,0,1,2,3,・・・といった読み出しアドレスに基づいて、RAMにおける各アドレスからデータが読み出される。また、インターリーバ100は、奇数長遅延させる場合には、偶数長遅延させた出力をレジスタ等に保持させることにより実現する。実際には、遅延用のRAMは、例えば図47に示すように、バンクA,Bのそれぞれの上位アドレス及び下位アドレス用の複数個のRAMから構成される。そのため、インターリーバ100においては、例えば図48に示すように、制御回路により発生したアドレスを適切に変換して各RAMに与える必要がある。なお、図47において、アドレスの最上位ビットを反転させているのは、後述するように、複数のシンボルを入出力する際に、アドレスの指定を簡易にするためである。
【0612】
一方、インターリーブ用のRAMは、例えば図49に示すように、制御回路からは、バンクA,Bからなる2つのRAMに見えるように構成される。インターリーバ100は、上述したように、インターリーブ処理とデインターリーブ処理とを切り替えることができる。そこで、インターリーバ100においては、インターリーブ処理を行う場合には、通常、例えば0,1,2,3,・・・といったようにカウントアップ、又は、・・・,3,2,1,0といったようにカウントダウンしていくことにより発生されるシーケンシャルな書き込みアドレスに基づいて、書き込み用のバンクAとしてのRAMにおける各アドレスにデータが記憶される。そして、インターリーバ100においては、ランダムな読み出しアドレスに基づいて、読み出し用のバンクBとしてのRAMにおける各アドレスからデータが読み出される。一方、インターリーバ100においては、デインターリーブ処理を行う場合には、インターリーブ処理とは逆に、ランダムな書き込みアドレスに基づいて、書き込み用のバンクAとしてのRAMにおける各アドレスにデータが記憶されるとともに、シーケンシャルな読み出しアドレスに基づいて、読み出し用のバンクBとしてのRAMにおける各アドレスからデータが読み出される。インターリーバ100においては、例えば図50に示すように、シーケンシャルな書き込みアドレスとランダムな読み出しアドレスとに基づいて、バンクA,Bのそれぞれに用いるアドレスに変換し、各RAMに与えることになる。
【0613】
つぎに、インターリーバ100から見たアドレス用記憶回路110に対する入出力について説明する。
【0614】
アドレス用記憶回路110は、基本的に、インターリーバ100から供給されるシーケンシャルなアドレスデータIAAに基づいて、例えば3系統のランダムなアドレスデータである読み出しアドレスデータADA0,ADA1,ADA2を出力するものとする。このように、インターリーバ100に対して、アドレス用記憶回路110から複数系統の読み出しアドレスデータADAが与えられることによって、インターリーバ100は、最大で3シンボルのデータに対する複数種類のインターリーブを行うことができる。
【0615】
例えば、インターリーバ100は、図51(A)に示すように、1シンボルの入力データに対して、ランダムなインターリーブを施す場合には、アドレス用記憶回路110からの3系統の読み出しアドレスデータADA0,ADA1,ADA2のうち、読み出しアドレスデータADA0を用いて、インターリーブを行う。なお、以下の説明では、ランダムなインターリーブをランダムインターリーブと称するものとする。
【0616】
また、インターリーバ100は、同図(B)に示すように、2シンボルの入力データに対して、ランダムインターリーブを施す場合には、アドレス用記憶回路110からの3系統の読み出しアドレスデータADA0,ADA1,ADA2のうち、読み出しアドレスデータADA0,ADA1を用いて、インターリーブを行う。
【0617】
さらに、インターリーバ100は、同図(C)に示すように、2シンボルの入力データに対して、互いに異なるアドレスに基づいて個別的にインターリーブを施す場合には、アドレス用記憶回路110からの3系統の読み出しアドレスデータADA0,ADA1,ADA2のうち、読み出しアドレスデータADA0,ADA1を用いて、インターリーブを行う。なお、以下の説明では、このようなインターリーブをインライン(inline)インターリーブと称するものとする。
【0618】
さらにまた、インターリーバ100は、同図(D)に示すように、2シンボルの入力データに対して、各ビットの組み合わせを保持するように、すなわち、各シンボルに対して同一のアドレスに基づいたインターリーブを施す場合には、アドレス用記憶回路110からの3系統の読み出しアドレスデータADA0,ADA1,ADA2のうち、読み出しアドレスデータADA0,ADA1を用いて、インターリーブを行う。なお、以下の説明では、このようなインターリーブをペアワイズ(pair wise)インターリーブと称するものとする。
【0619】
また、インターリーバ100は、同図(E)に示すように、3シンボルの入力データに対して、ランダムインターリーブを施す場合には、アドレス用記憶回路110からの3系統の読み出しアドレスデータADA0,ADA1,ADA2の全てを用いて、インターリーブを行う。
【0620】
さらに、インターリーバ100は、同図(F)に示すように、3シンボルの入力データに対して、インラインインターリーブを施す場合には、アドレス用記憶回路110からの3系統の読み出しアドレスデータADA0,ADA1,ADA2の全てを用いて、インターリーブを行う。
【0621】
さらにまた、インターリーバ100は、同図(G)に示すように、3シンボルの入力データに対して、ペアワイズインターリーブを施す場合には、アドレス用記憶回路110からの3系統の読み出しアドレスデータADA0,ADA1,ADA2の全てを用いて、インターリーブを行う。
【0622】
このように、インターリーバ100は、アドレス用記憶回路110から与えられる複数系統の読み出しアドレスデータADAを用いて、複数種類のインターリーブを行うことができる。なお、複数種類のインターリーブとは、当該インターリーブと逆の置換を行う複数種類のデインターリーブを含むことは勿論である。インターリーバ100は、複数個のRAMを有し、インターリーブの種別に応じて、使用するRAMを適切に選択して切り替えることによって、複数種類のインターリーブを実現する。
【0623】
なお、複数のRAMの具体的な利用方法については後述する。
【0624】
さて、このようなインターリーブ処理又はデインターリーブ処理を行うことが可能であるインターリーバ100は、例えば図52に示すように構成される。インターリーバ100は、アドレス発生等の各種処理を行う制御回路400と、遅延アドレスを発生する遅延アドレス発生回路401と、奇数長遅延を補償するための奇数長遅延補償回路402と、入力したアドレスデータをインターリーブ用のアドレスデータに変換するインターリーブアドレス変換回路403と、入力したアドレスデータを遅延用のアドレスデータに変換する遅延アドレス変換回路404と、後述する記憶回路4071,4072,・・・,40716に分配するアドレスデータを選択するアドレス選択回路405と、記憶回路4071,4072,・・・,40716に分配するデータを選択する入力データ選択回路406と、例えば16個の記憶回路4071,4072,・・・,40716と、出力するデータを選択する出力データ選択回路408とを有する。
【0625】
制御回路400は、後述する記憶回路4071,4072,・・・,40716に対するデータの書き込み及び/または読み出しを制御するものであって、セレクタ1205から供給されるインターリーブ開始位置信号TISを入力すると、インターリーブ又はデインターリーブの際に用いる書き込みアドレスと読み出しアドレスとを発生する。このとき、制御回路400は、外部から供給されるインターリーブモード信号CDINと、制御回路60から供給されるインターリーブ長情報CINL及びインターリーブ長だけ遅延すべき旨を示す動作モード情報CBFとに基づいて、書き込みアドレスと読み出しアドレスとを発生する。制御回路400は、発生したシーケンシャルなアドレスデータである書き込みアドレスデータIWAをインターリーブアドレス変換回路403に供給する。また、制御回路400は、発生したシーケンシャルなアドレスデータIAAをアドレス用記憶回路110に供給するとともに、インターリーブ長遅延読み出しアドレスデータIRAとしてインターリーブアドレス変換回路403に供給する。
【0626】
さらに、制御回路400は、後述するように、制御回路60から供給される終結位置情報CNFTと、終結期間情報CNFLと、終結ステート情報CNFDと、パンクチャ周期情報CNELと、パンクチャパターン情報CNEPとを入力すると、インターリーブ長情報CINLに基づいて、インターリーバ無出力位置情報CNOと、遅延インターリーブ開始位置信号CDSとを生成するとともに、終結時刻情報CGTと、終結ステート情報CGSと、消去位置情報CGEとを生成する。制御回路400は、インターリーブ長分の時間の経過後に、生成したこれらの情報を、それぞれ、インターリーバ無出力位置情報INO、遅延インターリーブ開始位置信号IDS、終結時刻情報IGTと、終結ステート情報IGSと、消去位置情報IGEとして、フレームの先頭に同期させてセレクタ12010に供給する。また、制御回路400は、生成したインターリーバ無出力位置情報CNOをアドレス選択回路405にも供給する。
【0627】
なお、後述するが、制御回路400により発生されたシーケンシャルなアドレスデータである書き込みアドレスデータIWAは、インターリーブモード信号CDINが、当該インターリーバ100がインターリーブ処理を行う旨を指示するものであった場合には、記憶回路4071,4072,・・・,40716に対するデータの書き込みに用いるアドレスデータとなるが、インターリーブモード信号CDINが、当該インターリーバ100がデインターリーブ処理を行う旨を指示するものであった場合には、記憶回路4071,4072,・・・,40716からのデータの読み出しに用いるアドレスデータとなる。同様に、制御回路400により発生されたシーケンシャルなアドレスデータIAAは、インターリーブモード信号CDINが、当該インターリーバ100がインターリーブ処理を行う旨を指示するものであった場合には、記憶回路4071,4072,・・・,40716からのデータの読み出しに用いるランダムなアドレスデータをアドレス用記憶回路110から読み出すためのものとなるが、インターリーブモード信号CDINが、当該インターリーバ100がデインターリーブ処理を行う旨を指示するものであった場合には、記憶回路4071,4072,・・・,40716に対するデータの書き込みに用いるランダムなアドレスデータをアドレス用記憶回路110から読み出すためのものとなる。
【0628】
また、制御回路400は、書き込みアドレスと読み出しアドレスとを発生する際には、図示しないカウンタによりカウントアップしていくことによって、シーケンシャルなアドレスデータを発生するが、書き込みアドレス用のカウンタと、読み出しアドレス用のカウンタとは、後述するが、個別に設けられるものである。
【0629】
遅延アドレス発生回路401は、制御回路60から供給されるインターリーブ長情報CINLに基づいて、遅延用のアドレスデータを発生する。遅延アドレス発生回路401は、発生した書き込み用のアドレスデータである遅延用書き込みアドレスデータDWAと、読み出し用のアドレスデータである遅延用読み出しアドレスデータDRAとを遅延アドレス変換回路404に供給する。
【0630】
奇数長遅延補償回路402は、奇数長遅延を補償するために設けられるものである。すなわち、インターリーバ100は、上述したように、遅延を行う際には2バンクのRAMを用いて構成される。そして、インターリーバ100は、後述するように、各バンクの間で1タイムスロット毎にデータの書き込み及び読み出しを切り替えることから、遅延長、すなわち、インターリーブ長の半分のタイムスロット分のワード数のRAMを2バンク用いることによって、データの遅延を実現することができる。しかしながら、インターリーバ100は、この場合には、遅延長が偶数長に限定されることになる。そこで、奇数長遅延補償回路402は、奇数長遅延に対応するために設けられるものであって、制御回路60から供給されるインターリーブ長情報CINLに基づいて、偶数長遅延を行う場合には、データTDIに対して、RAMによる遅延のみを行い、奇数長遅延を行う場合には、データTDIに対して、RAMによる遅延長−1分の遅延と、レジスタによる1タイムスロット分の遅延を行うように、遅延の対象とするデータであるデータTDIを選択する。
【0631】
具体的には、奇数長遅延補償回路402は、データTDIが6系統のデータTDI0,TDI1,TDI2,TDI3,TDI4,TDI5からなるものとすると、例えば図53に示すように、6個のレジスタ4101,4102,4103,4104,4105,4106と、6個のセレクタ4111,4112,4113,4114,4115,4116とを有するものとして実現することができる。
【0632】
レジスタ4101は、データTDI0を入力すると、このデータTDI0を1タイムスロット分だけ保持する。レジスタ4101は、保持したデータDDD0をセレクタ4111に供給する。
【0633】
レジスタ4102は、データTDI1を入力すると、このデータTDI1を1タイムスロット分だけ保持する。レジスタ4102は、保持したデータDDD1をセレクタ4112に供給する。
【0634】
レジスタ4103は、データTDI2を入力すると、このデータTDI2を1タイムスロット分だけ保持する。レジスタ4103は、保持したデータDDD2をセレクタ4113に供給する。
【0635】
レジスタ4104は、データTDI3を入力すると、このデータTDI3を1タイムスロット分だけ保持する。レジスタ4104は、保持したデータDDD3をセレクタ4114に供給する。
【0636】
レジスタ4105は、データTDI4を入力すると、このデータTDI4を1タイムスロット分だけ保持する。レジスタ4105は、保持したデータDDD4をセレクタ4115に供給する。
【0637】
レジスタ4106は、データTDI5を入力すると、このデータTDI5を1タイムスロット分だけ保持する。レジスタ4106は、保持したデータDDD5をセレクタ4116に供給する。
【0638】
セレクタ4111は、インターリーブ長情報CINLに基づいて、レジスタ4101から供給されるデータDDD0と、データTDI0とのうち、いずれか一方を選択する。具体的には、セレクタ4111は、インターリーブ長が偶数長であった場合には、データTDI0を選択する。セレクタ4111は、選択したデータDS0を、データD0として入力データ選択回路406に供給する。なお、このセレクタ4111に入力されるインターリーブ長情報CINLは、実際には、当該インターリーブ長情報CINLを表すビット列の最下位ビットで足りることはいうまでもない。
【0639】
セレクタ4112は、インターリーブ長情報CINLに基づいて、レジスタ4102から供給されるデータDDD1と、データTDI1とのうち、いずれか一方を選択する。具体的には、セレクタ4112は、インターリーブ長が偶数長であった場合には、データTDI1を選択する。セレクタ4112は、選択したデータDS1を、データD1として入力データ選択回路406に供給する。なお、このセレクタ4112に入力されるインターリーブ長情報CINLは、実際には、当該インターリーブ長情報CINLを表すビット列の最下位ビットで足りることはいうまでもない。
【0640】
セレクタ4113は、インターリーブ長情報CINLに基づいて、レジスタ4103から供給されるデータDDD2と、データTDI2とのうち、いずれか一方を選択する。具体的には、セレクタ4113は、インターリーブ長が偶数長であった場合には、データTDI2を選択する。セレクタ4113は、選択したデータDS2を、データD2として入力データ選択回路406に供給する。なお、このセレクタ4113に入力されるインターリーブ長情報CINLは、実際には、当該インターリーブ長情報CINLを表すビット列の最下位ビットで足りることはいうまでもない。
【0641】
セレクタ4114は、インターリーブ長情報CINLに基づいて、レジスタ4104から供給されるデータDDD3と、データTDI3とのうち、いずれか一方を選択する。具体的には、セレクタ4114は、インターリーブ長が偶数長であった場合には、データTDI3を選択する。セレクタ4114は、選択したデータDS3を、データD3として入力データ選択回路406に供給する。なお、このセレクタ4114に入力されるインターリーブ長情報CINLは、実際には、当該インターリーブ長情報CINLを表すビット列の最下位ビットで足りることはいうまでもない。
【0642】
セレクタ4115は、インターリーブ長情報CINLに基づいて、レジスタ4105から供給されるデータDDD4と、データTDI4とのうち、いずれか一方を選択する。具体的には、セレクタ4115は、インターリーブ長が偶数長であった場合には、データTDI4を選択する。セレクタ4115は、選択したデータDS4を、データD4として入力データ選択回路406に供給する。なお、このセレクタ4115に入力されるインターリーブ長情報CINLは、実際には、当該インターリーブ長情報CINLを表すビット列の最下位ビットで足りることはいうまでもない。
【0643】
セレクタ4116は、インターリーブ長情報CINLに基づいて、レジスタ4106から供給されるデータDDD5と、データTDI5とのうち、いずれか一方を選択する。具体的には、セレクタ4116は、インターリーブ長が偶数長であった場合には、データTDI5を選択する。セレクタ4116は、選択したデータDS5を、データD5として入力データ選択回路406に供給する。なお、このセレクタ4116に入力されるインターリーブ長情報CINLは、実際には、当該インターリーブ長情報CINLを表すビット列の最下位ビットで足りることはいうまでもない。
【0644】
このような奇数長遅延補償回路402は、データTDIを入力すると、偶数長遅延の場合には、データTDIをレジスタを通さないで出力し、奇数長遅延の場合には、データTDIをレジスタにより1タイムスロットだけ保持してから出力する。
【0645】
インターリーブアドレス変換回路403は、外部から供給されるインターリーブモード信号CDINと、制御回路60から供給されるインターリーバタイプ情報CINT及びインターリーブ長だけ遅延すべき旨を示す動作モード情報CBFとに基づいて、制御回路400から供給されるシーケンシャルなアドレスデータである書き込みアドレスデータIWA及びインターリーブ長遅延読み出しアドレスデータIRAと、アドレス用記憶回路110から供給されるランダムなアドレスデータである読み出しアドレスデータADAとのうち、所望のアドレスデータを選択し、インターリーブ用のアドレスデータに変換する。インターリーブアドレス変換回路403は、変換して得られた例えば6系統のアドレスデータAA0,BA0,AA1,BA1,AA2,BA2をアドレス選択回路405に供給する。また、インターリーブアドレス変換回路403は、入力した情報に基づいて、出力データ選択回路408における選択動作を指示するための例えば4系統の制御信号IOBS,IOBP0,IOBP1,IOBP2を生成し、これらの制御信号を出力データ選択回路408に供給する。
【0646】
遅延アドレス変換回路404は、遅延アドレス発生回路401から供給される遅延用書き込みアドレスデータDWAと、遅延用読み出しアドレスデータDRAとのうち、所望のアドレスデータを選択し、遅延用のアドレスデータに変換する。遅延アドレス変換回路404は、変換して得られた例えば2系統のアドレスデータDAA,DBAをアドレス選択回路405に供給する。また、遅延アドレス変換回路404は、入力した情報に基づいて、出力データ選択回路408における選択動作を指示するための例えば2系統の制御信号DOBS,DOBPを生成し、これらの制御信号を出力データ選択回路408に供給する。
【0647】
アドレス選択回路405は、制御回路60から供給されるインターリーバタイプ情報CINTと、制御回路400から供給されるインターリーバ無出力位置情報CNOとに基づいて、インターリーブアドレス変換回路403から供給されるアドレスデータAA0,BA0,AA1,BA1,AA2,BA2と、遅延アドレス変換回路404から供給されるアドレスデータDAA,DBAとのうち、記憶回路4071,4072,・・・,40716に分配するアドレスデータを選択する。アドレス選択回路405は、選択したアドレスデータAR00,AR01,・・・,AR15を、それぞれ、記憶回路4071,4072,・・・,40716に供給する。
【0648】
また、アドレス選択回路405には、インターリーバタイプ情報CINTと、インターリーバ無出力位置情報CNOとの他に、図示しないが、制御回路400により生成され且つインターリーブアドレス変換回路405を経て入力される制御信号であって、インターリーブ又はデインターリーブを行う際における記憶回路4071,4072,・・・,40716に対する書き込み許可信号や書き込み用のバンクを示す信号と、遅延アドレス変換回路404により生成される制御信号であって、遅延を行う際における記憶回路4071,4072,・・・,40716に対する書き込み許可信号や書き込み用のバンクを示す信号とが入力される。アドレス選択回路405は、これらの情報に基づいて、記憶回路4071,4072,・・・,40716に対する書き込み許可信号XWEと、記憶回路4071,4072,・・・,40716に対するクロック信号を阻止するためのクロック阻止(clock inhibit)信号IHと、記憶回路4071,4072,・・・,40716に対するデータの書き込みをいわゆるパーシャルライト(partial write)として行わせるためのパーシャルライト制御信号PWとを生成する。アドレス選択回路405は、これらの書き込み許可信号XWE、クロック阻止信号IH及びパーシャルライト制御信号PWを、記憶回路4071,4072,・・・,40716に供給する。
【0649】
入力データ選択回路406には、セレクタ1204から供給される例えば3系統のデータTII0,TII1,TII2がデータI0,I1,I2として入力されるとともに、奇数長遅延補償回路402から供給されるデータD0,D1,D2,D3,D4,D5が入力される。入力データ選択回路406は、外部から供給されるインターリーブモード信号CDINと、制御回路60から供給されるインターリーバタイプ情報CINT及びインターリーバ入出力置換情報CIPTとに基づいて、データI0,I1,I2,D0,D1,D2,D3,D4,D5のうち、記憶回路4071,4072,・・・,40716に分配するデータを選択する。特に、入力データ選択回路406は、入力したデータにインターリーブ又はデインターリーブを施す場合には、データI0,I1,I2を入力し、これらのデータI0,I1,I2のうち、記憶回路4071,4072,・・・,40716に分配するデータを選択する。また、入力データ選択回路406は、入力したデータを遅延させる場合には、遅延用のデータD0,D1,D2,D3,D4,D5を入力し、これらのデータD0,D1,D2,D3,D4,D5のうち、記憶回路4071,4072,・・・,40716に分配するデータを選択する。入力データ選択回路406は、選択したデータIR00,IR01,・・・,IR15を、それぞれ、記憶回路4071,4072,・・・,40716に供給する。
【0650】
なお、この入力データ選択回路406は、後述するように、複数シンボルに対してインターリーブを施す場合に、各シンボル間で相互に置換する機能を有する。すなわち、入力データ選択回路406は、インターリーバ入出力置換情報CIPTに基づいて、入力したデータI0,I1,I2について、各シンボルの順序を入れ替える機能を有する。
【0651】
記憶回路4071,4072,・・・,40716は、それぞれ、パーシャルライト機能を有するRAMの他、複数のセレクタ等を有する。記憶回路4071,4072,・・・,40716は、それぞれ、アドレス選択回路405から供給されるアドレスデータAR00,AR01,・・・,AR15により指定されたアドレスに対して、入力データ選択回路406から供給されるデータIR00,IR01,・・・,IR15を書き込み、記憶する。そして、記憶回路4071,4072,・・・,40716は、それぞれ、アドレス選択回路405から供給されるアドレスデータAR00,AR01,・・・,AR15により指定されたアドレスから、記憶しているデータを読み出し、データOR00,OR01,・・・,OR15として出力データ選択回路408に供給する。このとき、記憶回路4071,4072,・・・,40716は、それぞれ、アドレス選択回路405から供給される書き込み許可信号XWEに基づいて、データの書き込みを開始する。また、記憶回路4071,4072,・・・,40716は、それぞれ、クロック阻止信号IHに基づいて、書き込み及び/又は読み出しを含む一切の動作を停止することもできる。
【0652】
さらに、記憶回路4071,4072,・・・,40716は、それぞれ、パーシャルライト制御信号PWに基づいて、パーシャルライト機能によるデータの書き込みを行うこともできる。すなわち、通常のRAMにおいては、その書き込み動作は、あるアドレスが指定された場合に、このアドレスに対応するビット数分のメモリセルが選択され、これらの全てのメモリセルに情報を一度に書き込むことにより行われる。一方、パーシャルライトのRAMにおいては、その書き込み動作は、選択された全てのメモリセルに情報を一度に書き込むものではなく、アドレスにより選択されたメモリセルのうち、任意のビットのメモリセルにのみ書き込むことにより行われる。記憶回路4071,4072,・・・,40716は、それぞれ、このようなパーシャルライト機能を有するRAMを有しており、パーシャルライト制御信号PWに基づいて、指定アドレスの一部分への情報の書き込みを行うこともできる。
【0653】
インターリーバ100は、これらの記憶回路4071,4072,・・・,40716に対するデータの書き込み及び/又は読み出しを制御することによって、インターリーブ処理及びデインターリーブ処理、並びに、受信値の遅延処理を実現することができる。
【0654】
具体的には、記憶回路4071,4072,・・・,40716は、それぞれ、例えば図54に示すように、インバータ420と、5つのセレクタ421,422,423,425,426と、パーシャルライト機能付きのRAM424とを有するものとして実現することができる。なお、同図においては、記憶回路407と総称する。また、同図においては、アドレス選択回路405から供給されるアドレスデータAR00,AR01,・・・,AR15をアドレスデータARと総称するとともに、入力データ選択回路406から供給されるデータIR00,IR01,・・・,IR15をデータIRと総称するものとし、さらに、出力データ選択回路408に供給するデータOR00,OR01,・・・,OR15をデータORと総称するものとする。
【0655】
インバータ420は、アドレスデータARの最上位ビットを入力し、この最上位ビットを反転する。インバータ420は、反転して得られた反転ビットIARをセレクタ421に供給する。
【0656】
セレクタ421は、アドレス選択回路405から供給されるパーシャルライト制御信号PWに基づいて、インバータ420から供給される反転ビットIARと、値が“0”であるビットとのうち、いずれか一方を選択し、1ビットのデータHPWとして出力する。具体的には、セレクタ421は、パーシャルライト制御信号PWが、パーシャルライト機能によるデータの書き込みを指示するものであった場合には、反転ビットIARを選択する。このセレクタ421により選択されたデータHPWは、例えば8ビットにパラレル変換され、データVIHとしてRAM424に供給される。
【0657】
セレクタ422は、アドレス選択回路405から供給されるパーシャルライト制御信号PWに基づいて、アドレスデータARの最上位ビットと、値が“0”であるビットとのうち、いずれか一方を選択し、1ビットのデータLPWとして出力する。具体的には、セレクタ422は、パーシャルライト制御信号PWが、パーシャルライト機能によるデータの書き込みを指示するものであった場合には、アドレスデータARの最上位ビットを選択する。このセレクタ422により選択されたデータLPWは、例えば8ビットにパラレル変換され、データVILとしてRAM424に供給される。
【0658】
セレクタ423には、データIRが上位ビットと下位ビットとに分割されて入力される。例えば、セレクタ423には、データIRが16ビットからなる場合には、上位8ビットのデータIR[15:8]と、下位8ビットのデータIR[7:0]が入力される。セレクタ423は、アドレス選択回路405から供給されるパーシャルライト制御信号PWに基づいて、データIRの上位ビットと下位ビットとのうち、いずれか一方を選択する。具体的には、セレクタ423は、パーシャルライト制御信号PWが、パーシャルライト機能によるデータの書き込みを指示するものであった場合には、データIRの下位ビットを選択する。このセレクタ423により選択されたデータIR1は、データIRの下位ビットのデータIR0と束ねられ、データI(={IR1,IR0})としてRAM424に供給される。
【0659】
RAM424は、簡潔に言えば、アドレスデータARに基づいて、データIRの書き込み及びデータORの読み出しを行うものであるが、上述したように、パーシャルライト機能を有することから、単純に、アドレスデータAR及びデータIRを入力し、データORを出力する構成とはなっていない。
【0660】
RAM424には、アドレス選択回路405から供給される書き込み許可信号XWE及びクロック阻止信号IHが供給される。RAM424は、書き込み許可信号XWEが入力されると、データの書き込みが可能な状態となる。RAM424には、アドレスデータARの最上位ビットを除いたデータであるアドレスデータIAと、データVIH,VILとに基づいて、データI(={IR1,IR0})が書き込まれる。また、RAM424からは、アドレスデータIAと、データVIH,VILとに基づいて、データOH,OLが読み出される。これらのデータOH,OLは、ともに、セレクタ425,426に供給される。また、RAM424は、クロック阻止信号IHが入力されると、書き込み及び/又は読み出しを含む一切の動作を停止する。
【0661】
なお、RAM424に対して入出力される各データの詳細については後述するものとする。
【0662】
セレクタ425は、セレクタ422から供給されたデータLPWに所定の遅延が施されたデータLPDに基づいて、RAM424から供給されるデータOH,OLのうち、いずれか一方を選択し、データSOHとして出力する。具体的には、セレクタ425は、データLPDが“0”であった場合には、データOHを選択し、データLPDが“1”であった場合には、データOLを選択する。すなわち、セレクタ425は、パーシャルライト機能によるデータの書き込み及び読み出しを考慮し、アドレス方向で、上位ビットのデータ又は下位ビットのデータのうちのいずれを出力すべきかを決定するために設けられるものである。
【0663】
セレクタ426は、セレクタ422から供給されたデータLPWに所定の遅延が施されたデータLPDに基づいて、RAM424から供給されるデータOH,OLのうち、いずれか一方を選択し、データSOLとして出力する。具体的には、セレクタ426は、データLPDが“0”であった場合には、データOLを選択し、データLPDが“1”であった場合には、データOHを選択する。すなわち、セレクタ426は、セレクタ425と同様に、パーシャルライト機能によるデータの書き込み及び読み出しを考慮し、アドレス方向で、上位ビットのデータ又は下位ビットのデータのうちのいずれを出力すべきかを決定するために設けられるものである。
【0664】
なお、セレクタ425により選択されたデータSOHと、セレクタ426により選択されたデータSOLとは、データOR(={SOH,SOL})として、出力データ選択回路408に供給される。
【0665】
このような記憶回路4071,4072,・・・,40716は、それぞれ、アドレスデータAR00,AR01,・・・,AR15に基づいて、データIR00,IR01,・・・,IR15の書き込み、及び、データOR00,OR01,・・・,OR15の読み出しを行う。
【0666】
なお、記憶回路4071,4072,・・・,40716は、それぞれ、上述したように、パーシャルライト機能によるデータの書き込みを可能とするが、これについては後述する。
【0667】
出力データ選択回路408は、外部から供給されるインターリーブモード信号CDINと、制御回路60から供給されるインターリーバタイプ情報CINT及びインターリーバ入出力置換情報CIPTと、インターリーブアドレス変換回路403から供給される制御信号IOBS,IOBP0,IOBP1,IOBP2と、遅延アドレス変換回路404から供給される制御信号DOBS,DOBPとに基づいて、記憶回路4071,4072,・・・,40716のそれぞれから供給されるデータOR00,OR01,・・・,OR15のうち、出力すべきデータを選択する。出力データ選択回路408は、入力したデータにインターリーブ又はデインターリーブを施した場合には、選択したデータを、例えば3系統のインターリーバ出力データIIO0,IIO1,IIO2として、それぞれ、セレクタ1207に供給する。また、出力データ選択回路408は、入力したデータを遅延させた場合には、選択したデータを、例えば6系統のインターリーブ長遅延受信値IDO0,IDO1,IDO2,IDO3,IDO4,IDO5として、それぞれ、セレクタ1206に供給する。
【0668】
なお、この出力データ選択回路408は、後述するように、複数シンボルに対してデインターリーブを施す場合に、各シンボル間で相互に置換する機能を有する。すなわち、出力データ選択回路408は、インターリーバ入出力置換情報CIPTに基づいて、出力するインターリーバ出力データIIO0,IIO1,IIO2について、各シンボルの順序を入れ替える機能を有する。
【0669】
以上説明したインターリーバ100は、インターリーブ処理を行う場合には、制御回路400により発生したシーケンシャルなアドレスデータである書き込みアドレスデータIWAを用いて、アドレス選択回路405によって、適切な記憶回路4071,4072,・・・,40716にアドレスを分配するとともに、入力データ選択回路406によって、データI0,I1,I2を適切な記憶回路4071,4072,・・・,40716にアドレスを分配し、これらの記憶回路4071,4072,・・・,40716にデータを書き込む。一方、インターリーバ100は、制御回路400により発生したシーケンシャルなアドレスデータIAAに基づいてアドレス用記憶回路110から読み出されたランダムなアドレスデータである読み出しアドレスデータADAを用いて、アドレス選択回路405によって、適切な記憶回路4071,4072,・・・,40716にアドレスを分配し、記憶回路4071,4072,・・・,40716に記憶されているデータを読み出す。そして、インターリーバ100は、出力データ選択回路408によって、適切な記憶回路4071,4072,・・・,40716から出力されるデータを選択し、インターリーバ出力データIIO0,IIO1,IIO2として出力する。このようにすることによって、インターリーバ100は、インターリーブ処理を行うことができる。
【0670】
また、インターリーバ100は、デインターリーブ処理を行う場合には、制御回路400により発生したシーケンシャルなアドレスデータIAAに基づいてアドレス用記憶回路110から読み出されたランダムなアドレスデータである読み出しアドレスデータADAを用いて、アドレス選択回路405によって、適切な記憶回路4071,4072,・・・,40716にアドレスを分配するとともに、入力データ選択回路406によって、データI0,I1,I2を適切な記憶回路4071,4072,・・・,40716にアドレスを分配し、これらの記憶回路4071,4072,・・・,40716にデータを書き込む。一方、インターリーバ100は、制御回路400により発生したシーケンシャルなアドレスデータである書き込みアドレスデータIWAを用いて、アドレス選択回路405によって、適切な記憶回路4071,4072,・・・,40716にアドレスを分配し、記憶回路4071,4072,・・・,40716に記憶されているデータを読み出す。そして、インターリーバ100は、出力データ選択回路408によって、適切な記憶回路4071,4072,・・・,40716から出力されるデータを選択し、インターリーバ出力データIIO0,IIO1,IIO2として出力する。このようにすることによって、インターリーバ100は、デインターリーブ処理を行うことができる。
【0671】
さらに、インターリーバ100は、入力したデータを遅延させる場合には、制御回路400により発生した書き込みアドレスデータIWAを用いて、アドレス選択回路405によって、適切な記憶回路4071,4072,・・・,40716にアドレスを分配するとともに、入力データ選択回路406によって、データD0,D1,D2,D3,D4,D5を適切な記憶回路4071,4072,・・・,40716にアドレスを分配し、これらの記憶回路4071,4072,・・・,40716にデータを書き込む。一方、インターリーバ100は、制御回路400により発生したシーケンシャルなアドレスデータであるインターリーブ長遅延読み出しアドレスデータIRAを用いて、アドレス選択回路405によって、適切な記憶回路4071,4072,・・・,40716にアドレスを分配し、記憶回路4071,4072,・・・,40716に記憶されているデータを読み出す。そして、インターリーバ100は、出力データ選択回路408によって、適切な記憶回路4071,4072,・・・,40716から出力されるデータを選択し、インターリーブ長遅延受信値IDO0,IDO1,IDO2,IDO3,IDO4,IDO5として出力する。このようにすることによって、インターリーバ100は、入力したデータを遅延させることができる。
【0672】
つぎに、インターリーバ100におけるRAMの利用方法の具体例について説明する。
【0673】
要素復号器50は、データ用のRAMとして、インターリーバ100における記憶回路4071,4072,・・・,40716のそれぞれが有する16個のRAMを備え、アドレス用のRAMとして、アドレス用記憶回路110が有する複数のRAMを備える。ここでは、記憶回路4071,4072,・・・,40716のそれぞれが有する16個のRAMは、16ビット×4096ワードの記憶容量を有するものとし、アドレス用記憶回路110は、14ビット×4096ワードの記憶容量を有する6個のRAMを備えるものとする。また、記憶回路4071,4072,・・・,40716におけるRAMを、それぞれ、RAMD01,D02,・・・,D16と称するとともに、アドレス用記憶回路110におけるRAMを、RAMAと称するものとする。
【0674】
まず、1シンボルの入力データに対して、ランダムインターリーブを施す例について説明する。ここでは、符号化装置1が、符号化率が“1/6以上”のPCCCを行うものであり、入力されるデータの容量が“16キロワード以下”であるものとする。
【0675】
この場合、インターリーバ100は、1シンボルのデータについてインターリーブを施すとともに、6シンボルのデータについて遅延を施す必要がある。そこで、インターリーバ100は、例えば図55(A)に示すように、16個のRAMD01,D02,・・・,D16のうち、12個のRAMD01,D02,D03,D04,D05,D06,D07,D08,D09,D10,D11,D12を遅延に用いるとともに、同図(B)に示すように、残りの4つのRAMD13,D14,D15,D16をインターリーブに用いる。また、アドレス用のRAMとしては、同図(C)に示すように、6個のRAMAのうち、任意の4つのRAMAを用いればよい。したがって、インターリーバ100及びアドレス用記憶回路110は、同図(D)に示すように、2つのRAMAを用いないことになる。
【0676】
より具体的には、インターリーバ100は、同図(A)及び同図(B)に示すように、RAMD01,D02,D05,D06,D09,D10,D13,D14を、上述したバンクA(A0,A1)として用い、RAMD03,D04,D07,D08,D11,D12,D15,D16を、上述したバンクB(B0,B1)として用いる。すなわち、インターリーバ100は、RAMD01,D02,D05,D06,D09,D10,D13,D14に対してデータを書き込んでいる場合には、RAMD03,D04,D07,D08,D11,D12,D15,D16からデータを読み出し、RAMD03,D04,D07,D08,D11,D12,D15,D16に対してデータを書き込んでいる場合には、RAMD01,D02,D05,D06,D09,D10,D13,D14からデータを読み出す。
【0677】
RAMD01,D02には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR00,AR01に基づいて、入力データ選択回路406からデータIR00,IR01として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD01には、データD0,D1のうち、0乃至4キロワード分のデータが書き込まれ、RAMD02には、4乃至8キロワード分のデータが書き込まれる。また、RAMD05,D06には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR04,AR05に基づいて、入力データ選択回路406からデータIR04,IR05として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD05には、データD2,D3のうち、0乃至4キロワード分のデータが書き込まれ、RAMD06には、4乃至8キロワード分のデータが書き込まれる。さらに、RAMD09,D10には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR08,AR09に基づいて、入力データ選択回路406からデータIR08,IR09として、遅延用のデータD4,D5が供給され、書き込まれる。このとき、RAMD09には、データD4,D5のうち、0乃至4キロワード分のデータが書き込まれ、RAMD10には、4乃至8キロワード分のデータが書き込まれる。
【0678】
これと同時に、RAMD03,D04,D07,D08,D11,D12からは、それぞれ、記憶しているデータが、データOR02,OR03,OR06,OR07,OR10,OR11として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0679】
同様に、RAMD03,D04には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR02,AR03に基づいて、入力データ選択回路406からデータIR02,IR03として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD03には、データD0,D1のうち、0乃至4キロワード分のデータが書き込まれ、RAMD04には、4乃至8キロワード分のデータが書き込まれる。また、RAMD07,D08には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR06,AR07に基づいて、入力データ選択回路406からデータIR06,IR07として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD07には、データD2,D3のうち、0乃至4キロワード分のデータが書き込まれ、RAMD08には、4乃至8キロワード分のデータが書き込まれる。さらに、RAMD11,D12には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR10,AR11に基づいて、入力データ選択回路406からデータIR10,IR11として、遅延用のデータD4,D5が供給され、書き込まれる。このとき、RAMD11には、データD4,D5のうち、0乃至4キロワード分のデータが書き込まれ、RAMD12には、4乃至8キロワード分のデータが書き込まれる。
【0680】
これと同時に、RAMD01,D02,D05,D06,D09,D10からは、それぞれ、記憶しているデータが、データOR00,OR01,OR04,OR05,OR08,OR09として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0681】
また、RAMD13,D14,D15,D16は、それぞれ、パーシャルライト制御信号PWに基づいて、パーシャルライトのRAMとして機能し、擬似的に8ビット×8192ワードの記憶容量を有するRAMとして作用する。
【0682】
RAMD13,D14には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR12,AR13に基づいて、入力データ選択回路406からデータIR12,IR13として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD13には、データI0のうち、0乃至8キロワード分のデータが書き込まれ、RAMD14には、8乃至16キロワード分のデータが書き込まれる。
【0683】
これと同時に、RAMD15,D16からは、それぞれ、記憶しているデータが、データOR14,OR15として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0684】
同様に、RAMD15,D16には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR14,AR15に基づいて、入力データ選択回路406からデータIR15,IR16として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD15には、データI0のうち、0乃至8キロワード分のデータが書き込まれ、RAMD16には、8乃至16キロワード分のデータが書き込まれる。
【0685】
これと同時に、RAMD13,D14からは、それぞれ、記憶しているデータが、データOR12,OR13として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0686】
このようにすることによって、インターリーバ100は、符号化装置1によって、符号化率が“1/6以上”のPCCCが行われ、データの容量が“16キロワード以下”である1シンボルの入力データに対して、ランダムインターリーブ及び遅延を施すことができる。
【0687】
つぎに、2シンボルの入力データに対して、ランダムインターリーブを施す例について説明する。ここでは、符号化装置1が、符号化率が“1/3以上”のSCCCを行うものであり、入力されるデータの容量が“8キロワード以下”であるものとする。
【0688】
この場合、インターリーバ100は、2シンボルのデータについてインターリーブを施すとともに、6シンボルのデータについて遅延を施す必要がある。そこで、インターリーバ100は、例えば図56(A)に示すように、16個のRAMD01,D02,・・・,D16のうち、6個のRAMD01,D02,D03,D04,D05,D07を遅延に用いるとともに、同図(B)に示すように、8個のRAMD09,D10,D11,D12,D13,D14,D15,D16をインターリーブに用いる。また、アドレス用のRAMとしては、同図(C)に示すように、6個のRAMAのうち、任意の4つのRAMAを用いればよい。したがって、インターリーバ100及びアドレス用記憶回路110は、同図(D)に示すように、2つのRAMD06,D08と、2つのRAMAとを用いないことになる。
【0689】
より具体的には、インターリーバ100は、同図(A)及び同図(B)に示すように、RAMD01,D02,D05,D09,D10,D13,D14を、上述したバンクA(A0)として用い、RAMD03,D04,D07,D11,D12,D15,D16を、上述したバンクB(B0)として用いる。すなわち、インターリーバ100は、RAMD01,D02,D05,D09,D10,D13,D14に対してデータを書き込んでいる場合には、RAMD03,D04,D07,D11,D12,D15,D16からデータを読み出し、RAMD03,D04,D07,D11,D12,D15,D16に対してデータを書き込んでいる場合には、RAMD01,D02,D05,D09,D10,D13,D14からデータを読み出す。
【0690】
RAMD01には、アドレス選択回路405から供給されるアドレスデータAR00に基づいて、入力データ選択回路406からデータIR00として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD01には、0乃至4キロワード分のデータD0,D1が書き込まれる。また、RAMD05には、アドレス選択回路405から供給されるアドレスデータAR04に基づいて、入力データ選択回路406からデータIR04として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD05には、0乃至4キロワード分のデータD2,D3が書き込まれる。さらに、RAMD02には、アドレス選択回路405から供給されるアドレスデータAR01に基づいて、入力データ選択回路406からデータIR01として、遅延用のデータD4,D5が供給され、書き込まれる。このとき、RAMD02には、0乃至4キロワード分のデータD4,D5が書き込まれる。
【0691】
これと同時に、RAMD03,D04,D07からは、それぞれ、記憶しているデータが、データOR02,OR03,OR06として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0692】
同様に、RAMD03には、アドレス選択回路405から供給されるアドレスデータAR02に基づいて、入力データ選択回路406からデータIR02として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD03には、0乃至4キロワード分のデータD0,D1が書き込まれる。また、RAMD07には、アドレス選択回路405から供給されるアドレスデータAR06に基づいて、入力データ選択回路406からデータIR06として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD07には、0乃至4キロワード分のデータD2,D3が書き込まれる。さらに、RAMD04には、アドレス選択回路405から供給されるアドレスデータAR03に基づいて、入力データ選択回路406からデータIR03として、遅延用のデータD4,D5が供給され、書き込まれる。このとき、RAMD04には、0乃至4キロワード分のデータD4,D5が書き込まれる。
【0693】
これと同時に、RAMD01,D02,D05からは、それぞれ、記憶しているデータが、データOR00,OR01,OR04として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0694】
また、RAMD09,D10,D11,D12,D13,D14,D15,D16は、それぞれ、パーシャルライト制御信号PWに基づいて、パーシャルライトのRAMとして機能し、擬似的に8ビット×8192ワードの記憶容量を有するRAMとして作用する。
【0695】
RAMD13には、アドレス選択回路405から供給されるアドレスデータAR12に基づいて、入力データ選択回路406からデータIR12として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD13には、0乃至8キロワード分のデータI0が書き込まれる。また、RAMD14にも、RAMD13と同様に、アドレス選択回路405から供給されるアドレスデータAR13に基づいて、入力データ選択回路406からデータIR13として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD14には、0乃至8キロワード分のデータI0が書き込まれる。さらに、RAMD09には、アドレス選択回路405から供給されるアドレスデータAR08に基づいて、入力データ選択回路406からデータIR08として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD09には、0乃至8キロワード分のデータI1が書き込まれる。また、RAMD10にも、RAMD09と同様に、アドレス選択回路405から供給されるアドレスデータAR09に基づいて、入力データ選択回路406からデータIR09として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD10には、0乃至8キロワード分のデータI1が書き込まれる。
【0696】
これと同時に、RAMD11,D15からは、それぞれ、記憶しているデータが、データOR10,OR14として読み出され、2シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。また、RAMD12,D16からは、それぞれ、記憶しているデータが、データOR11,OR15として読み出され、2シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0697】
同様に、RAMD15には、アドレス選択回路405から供給されるアドレスデータAR14に基づいて、入力データ選択回路406からデータIR14として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD15には、0乃至8キロワード分のデータI0が書き込まれる。また、RAMD16にも、RAMD15と同様に、アドレス選択回路405から供給されるアドレスデータAR15に基づいて、入力データ選択回路406からデータIR15として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD16には、0乃至8キロワード分のデータI0が書き込まれる。さらに、RAMD11には、アドレス選択回路405から供給されるアドレスデータAR10に基づいて、入力データ選択回路406からデータIR10として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD11には、0乃至8キロワード分のデータI1が書き込まれる。また、RAMD12にも、RAMD11と同様に、アドレス選択回路405から供給されるアドレスデータAR11に基づいて、入力データ選択回路406からデータIR11として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD12には、0乃至8キロワード分のデータI1が書き込まれる。
【0698】
これと同時に、RAMD09,D13からは、それぞれ、記憶しているデータが、データOR08,OR12として読み出され、2シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。また、RAMD10,D14からは、それぞれ、記憶しているデータが、データOR09,OR13として読み出され、2シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0699】
このようにすることによって、インターリーバ100は、符号化装置1によって、符号化率が“1/3以上”のSCCCが行われ、データの容量が“8キロワード以下”である2シンボルの入力データに対して、ランダムインターリーブ及び遅延を施すことができる。
【0700】
つぎに、2シンボルの入力データに対して、インラインインターリーブを施す例について説明する。ここでは、符号化装置1が、パンクチャされたSCCCを行うものであり、入力されるデータの容量が“12キロワード以下”であるものとする。
【0701】
この場合、インターリーバ100は、2シンボルのデータについてインターリーブを施すとともに、4シンボルのデータについて遅延を施す必要がある。そこで、インターリーバ100は、例えば図57(A)に示すように、16個のRAMD01,D02,・・・,D16のうち、8個のRAMD01,D02,D03,D04,D05,D06,D07,D08を遅延に用いるとともに、同図(B)に示すように、8個のRAMD09,D10,D11,D12,D13,D14,D15,D16をインターリーブに用いる。また、アドレス用のRAMとしては、同図(C)に示すように、6個のRAMAの全てを用いることになる。
【0702】
より具体的には、インターリーバ100は、同図(A)及び同図(B)に示すように、RAMD01,D02,D05,D06,D09,D10,D13,D14を、上述したバンクA(A0,A1)として用い、RAMD03,D04,D07,D08,D11,D12,D15,D16を、上述したバンクB(B0,B1)として用いる。すなわち、インターリーバ100は、RAMD01,D02,D05,D06,D09,D10,D13,D14に対してデータを書き込んでいる場合には、RAMD03,D04,D07,D08,D11,D12,D15,D16からデータを読み出し、RAMD03,D04,D07,D08,D11,D12,D15,D16に対してデータを書き込んでいる場合には、RAMD01,D02,D05,D06,D09,D10,D13,D14からデータを読み出す。
【0703】
RAMD01,D02には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR00,AR01に基づいて、入力データ選択回路406からデータIR00,IR01として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD02は、同図(A)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータD0,D1を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD01には、データD0,D1のうち、0乃至4キロワード分のデータが書き込まれ、RAMD02には、4乃至6キロワード分のデータが書き込まれる。また、RAMD05,D06には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR04,AR05に基づいて、入力データ選択回路406からデータIR04,IR05として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD06は、同図(A)中斜線部に示すように、RAMD02と同様に、ワード方向に半分の記憶領域にのみデータD2,D3を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD05には、データD2,D3のうち、0乃至4キロワード分のデータが書き込まれ、RAMD06には、4乃至6キロワード分のデータが書き込まれる。
【0704】
これと同時に、RAMD03,D04,D07,D08からは、それぞれ、記憶しているデータが、データOR02,OR03,OR06,OR07として読み出され、出力データ選択回路408に供給される。このとき、RAMD04,D08は、それぞれ、同図(A)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0705】
同様に、RAMD03,D04には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR02,AR03に基づいて、入力データ選択回路406からデータIR02,IR03として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD04は、同図(A)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータD0,D1を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD03には、データD0,D1のうち、0乃至4キロワード分のデータが書き込まれ、RAMD04には、4乃至6キロワード分のデータが書き込まれる。また、RAMD07,D08には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR06,AR07に基づいて、入力データ選択回路406からデータIR06,IR07として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD08は、同図(A)中斜線部に示すように、RAMD04と同様に、ワード方向に半分の記憶領域にのみデータD2,D3を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD07には、データD2,D3のうち、0乃至4キロワード分のデータが書き込まれ、RAMD08には、4乃至6キロワード分のデータが書き込まれる。
【0706】
これと同時に、RAMD01,D02,D05,D06からは、それぞれ、記憶しているデータが、データOR00,OR01,OR04,OR05として読み出され、出力データ選択回路408に供給される。このとき、RAMD02,D06は、それぞれ、同図(A)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0707】
また、RAMD09,D10,D11,D12,D13,D14,D15,D16は、それぞれ、パーシャルライト制御信号PWに基づいて、パーシャルライトのRAMとして機能し、擬似的に8ビット×8192ワードの記憶容量を有するRAMとして作用する。
【0708】
RAMD13,D14には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR12,AR13に基づいて、入力データ選択回路406からデータIR12,IR13として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD14は、同図(B)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータI0を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD13には、データI0のうち、0乃至8キロワード分のデータが書き込まれ、RAMD14には、8乃至12キロワード分のデータが書き込まれる。また、RAMD09,D10には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR08,AR09に基づいて、入力データ選択回路406からデータIR08,IR09として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD10は、同図(B)中斜線部に示すように、RAMD14と同様に、ワード方向に半分の記憶領域にのみデータI1を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD09には、データI1のうち、0乃至8キロワード分のデータが書き込まれ、RAMD10には、8乃至12キロワード分のデータが書き込まれる。
【0709】
これと同時に、RAMD15,D16からは、それぞれ、記憶しているデータが、データOR14,OR15として読み出され、2シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD16は、同図(B)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない。また、RAMD11,D12からは、それぞれ、記憶しているデータが、データOR10,OR11として読み出され、2シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD12は、同図(B)中斜線部に示すように、RAMD16と同様に、ワード方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0710】
同様に、RAMD15,D16には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR14,AR15に基づいて、入力データ選択回路406からデータIR14,IR15として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD16は、同図(B)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータI0を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD15には、データI0のうち、0乃至8キロワード分のデータが書き込まれ、RAMD16には、8乃至12キロワード分のデータが書き込まれる。また、RAMD11,D12には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR10,AR11に基づいて、入力データ選択回路406からデータIR10,IR11として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD12は、同図(B)中斜線部に示すように、RAMD16と同様に、ワード方向に半分の記憶領域にのみデータI1を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD11には、データI1のうち、0乃至8キロワード分のデータが書き込まれ、RAMD12には、8乃至12キロワード分のデータが書き込まれる。
【0711】
これと同時に、RAMD13,D14からは、それぞれ、記憶しているデータが、データOR12,OR13として読み出され、2シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD14は、同図(B)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない。また、RAMD09,D10からは、それぞれ、記憶しているデータが、データOR08,OR09として読み出され、2シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD10は、同図(B)中斜線部に示すように、RAMD14と同様に、ワード方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0712】
このようにすることによって、インターリーバ100は、符号化装置1によって、パンクチャされたSCCCが行われ、データの容量が“12キロワード以下”である2シンボルの入力データに対して、インラインインターリーブ及び遅延を施すことができる。
【0713】
つぎに、2シンボルの入力データに対して、ペアワイズインターリーブを施す例について説明する。ここでは、符号化装置1がSCCCを行うものであるものとする。
【0714】
この場合、インターリーバ100は、2シンボルのデータについてインターリーブを施すとともに、4シンボルのデータについて遅延を施す必要がある。そこで、インターリーバ100は、例えば図58(A)に示すように、16個のRAMD01,D02,・・・,D16のうち、8個のRAMD01,D02,D03,D04,D05,D06,D07D08を遅延に用いるとともに、同図(B)に示すように、8個のRAMD09,D10,D11,D12,D13,D14,D15,D16をインターリーブに用いる。また、アドレス用のRAMとしては、同図(C)に示すように、6個のRAMAのうち、任意の4つのRAMAを用いればよい。したがって、インターリーバ100及びアドレス用記憶回路110は、同図(D)に示すように、2つのRAMAを用いないことになる。
【0715】
より具体的には、インターリーバ100は、同図(A)及び同図(B)に示すように、RAMD01,D02,D05,D06,D09,D10,D13,D14を、上述したバンクA(A0,A1)として用い、RAMD03,D04,D07,D08,D11,D12,D15,D16を、上述したバンクB(B0,B1)として用いる。すなわち、インターリーバ100は、RAMD01,D02,D05,D06,D09,D10,D13,D14に対してデータを書き込んでいる場合には、RAMD03,D04,D07,D08,D11,D12,D15,D16からデータを読み出し、RAMD03,D04,D07,D08,D11,D12,D15,D16に対してデータを書き込んでいる場合には、RAMD01,D02,D05,D06,D09,D10,D13,D14からデータを読み出す。このとき、RAMD13,D14と、RAMD09,D10とは、同一のアドレスに基づいて動作し、RAMD15,D16と、RAMD11,D12とは、同一のアドレスに基づいて動作する。
【0716】
RAMD01,D02には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR00,AR01に基づいて、入力データ選択回路406からデータIR00,IR01として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD01には、データD0,D1のうち、0乃至4キロワード分のデータが書き込まれ、RAMD02には、4乃至8キロワード分のデータが書き込まれる。また、RAMD05,D06には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR04,AR05に基づいて、入力データ選択回路406からデータIR04,IR05として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD05には、データD2,D3のうち、0乃至4キロワード分のデータが書き込まれ、RAMD06には、4乃至8キロワード分のデータが書き込まれる。
【0717】
これと同時に、RAMD03,D04,D07,D08からは、それぞれ、記憶しているデータが、データOR02,OR03,OR06,OR07として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0718】
同様に、RAMD03,D04には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR02,AR03に基づいて、入力データ選択回路406からデータIR02,IR03として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD03には、データD0,D1のうち、0乃至4キロワード分のデータが書き込まれ、RAMD04には、4乃至8キロワード分のデータが書き込まれる。また、RAMD07,D08には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR06,AR07に基づいて、入力データ選択回路406からデータIR06,IR07として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD07には、データD2,D3のうち、0乃至4キロワード分のデータが書き込まれ、RAMD08には、4乃至8キロワード分のデータが書き込まれる。
【0719】
これと同時に、RAMD01,D02,D05,D06からは、それぞれ、記憶しているデータが、データOR00,OR01,OR04,OR05として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0720】
また、RAMD09,D10,D11,D12,D13,D14,D15,D16は、それぞれ、パーシャルライト制御信号PWに基づいて、パーシャルライトのRAMとして機能し、擬似的に8ビット×8192ワードの記憶容量を有するRAMとして作用する。
【0721】
RAMD13,D14には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR12,AR13に基づいて、入力データ選択回路406からデータIR12,IR13として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD13には、データI0のうち、0乃至8キロワード分のデータが書き込まれ、RAMD14には、8乃至16キロワード分のデータが書き込まれる。また、RAMD09,D10には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR08,AR09に基づいて、入力データ選択回路406からデータIR08,IR09として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD09には、データI1のうち、0乃至8キロワード分のデータが書き込まれ、RAMD10には、8乃至16キロワード分のデータが書き込まれる。
【0722】
これと同時に、RAMD15,D16からは、それぞれ、記憶しているデータが、データOR14,OR15として読み出され、2シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。また、RAMD11,D12からは、それぞれ、記憶しているデータが、データOR10,OR11として読み出され、2シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0723】
同様に、RAMD15,D16には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR14,AR15に基づいて、入力データ選択回路406からデータIR14,IR15として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD15には、データI0のうち、0乃至8キロワード分のデータが書き込まれ、RAMD16には、8乃至16キロワード分のデータが書き込まれる。また、RAMD11,D12には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR10,AR11に基づいて、入力データ選択回路406からデータIR10,IR11として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD11には、データI1のうち、0乃至8キロワード分のデータが書き込まれ、RAMD12には、8乃至16キロワード分のデータが書き込まれる。
【0724】
これと同時に、RAMD13,D14からは、それぞれ、記憶しているデータが、データOR12,OR13として読み出され、2シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。また、RAMD09,D10からは、それぞれ、記憶しているデータが、データOR08,OR09として読み出され、2シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0725】
このようにすることによって、インターリーバ100は、符号化装置1によりSCCCが行われた2シンボルの入力データに対して、ペアワイズインターリーブ及び遅延を施すことができる。
【0726】
つぎに、3シンボルの入力データに対して、ランダムインターリーブを施す例について説明する。ここでは、符号化装置1が、符号化率が“1/3以上”のSCCCを行うものであり、入力されるデータの容量が“4キロワード以下”であるものとする。
【0727】
この場合、インターリーバ100は、3シンボルのデータについてインターリーブを施すとともに、4シンボルのデータについて遅延を施す必要がある。そこで、インターリーバ100は、例えば図59(A)に示すように、16個のRAMD01,D02,・・・,D16のうち、4つのRAMD01,D03,D05,D07を遅延に用いるとともに、同図(B)に示すように、12個のRAMD02,D04,D06,D08,D09,D10,D11,D12,D13,D14,D15,D16をインターリーブに用いる。また、アドレス用のRAMとしては、同図(C)に示すように、6個のRAMAのうち、任意の3つのRAMAを用いればよい。したがって、インターリーバ100及びアドレス用記憶回路110は、同図(D)に示すように、3つのRAMAを用いないことになる。
【0728】
より具体的には、インターリーバ100は、同図(A)及び同図(B)に示すように、RAMD01,D02,D05,D06,D09,D10,D13,D14を、上述したバンクA(A0)として用い、RAMD03,D04,D07,D08,D11,D12,D15,D16を、上述したバンクB(B0)として用いる。すなわち、インターリーバ100は、RAMD01,D02,D05,D06,D09,D10,D13,D14に対してデータを書き込んでいる場合には、RAMD03,D04,D07,D08,D11,D12,D15,D16からデータを読み出し、RAMD03,D04,D07,D08,D11,D12,D15,D16に対してデータを書き込んでいる場合には、RAMD01,D02,D05,D06,D09,D10,D13,D14からデータを読み出す。
【0729】
RAMD01には、アドレス選択回路405から供給されるアドレスデータAR00に基づいて、入力データ選択回路406からデータIR00として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD01は、同図(A)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータD0,D1を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD01には、0乃至2キロワード分のデータD0,D1が書き込まれる。また、RAMD05には、アドレス選択回路405から供給されるアドレスデータAR04に基づいて、入力データ選択回路406からデータIR04として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD05は、同図(A)中斜線部に示すように、RAMD01と同様に、ワード方向に半分の記憶領域にのみデータD2,D3を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD05には、0乃至2キロワード分のデータD2,D3が書き込まれる。
【0730】
これと同時に、RAMD03,D07からは、それぞれ、記憶しているデータが、データOR02,OR06として読み出され、出力データ選択回路408に供給される。このとき、RAMD03,D07は、それぞれ、同図(A)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0731】
同様に、RAMD03には、アドレス選択回路405から供給されるアドレスデータAR02に基づいて、入力データ選択回路406からデータIR02として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD03は、同図(A)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータD2,D3を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD03には、0乃至2キロワード分のデータD0,D1が書き込まれる。また、RAMD07には、アドレス選択回路405から供給されるアドレスデータAR06に基づいて、入力データ選択回路406からデータIR06として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD07は、同図(A)中斜線部に示すように、RAMD03と同様に、ワード方向に半分の記憶領域にのみデータD2,D3を記憶し、残りの記憶領域には、データを記憶することはない。すなわち、RAMD07には、0乃至2キロワード分のデータD2,D3が書き込まれる。
【0732】
これと同時に、RAMD01,D05からは、それぞれ、記憶しているデータが、データOR00,OR04として読み出され、出力データ選択回路408に供給される。このとき、RAMD01,D05は、それぞれ、同図(A)中斜線部に示すように、ワード方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0733】
また、RAMD02,D04,D06,D08,D09,D10,D11,D12,D13,D14,D15,D16は、それぞれ、パーシャルライトのRAMとして機能せず、通常の記憶容量を有するRAMとして作用する。
【0734】
RAMD13には、アドレス選択回路405から供給されるアドレスデータAR12に基づいて、入力データ選択回路406からデータIR12として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD13は、同図(B)中斜線部に示すように、ビット方向に半分の記憶領域にのみデータI0を記憶し、残りの記憶領域には、データを記憶しない、若しくは、同じデータI0を記憶する。また、RAMD09には、アドレス選択回路405から供給されるアドレスデータAR08に基づいて、入力データ選択回路406からデータIR08として、インターリーブ用のデータI1,I2が供給され、書き込まれる。さらに、RAMD14には、アドレス選択回路405から供給されるアドレスデータAR13に基づいて、入力データ選択回路406からデータIR13として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD14は、同図(B)中斜線部に示すように、RAMD13と同様に、ビット方向に半分の記憶領域にのみデータI0を記憶し、残りの記憶領域には、データを記憶しない、若しくは、同じデータI0を記憶する。また、RAMD10には、アドレス選択回路405から供給されるアドレスデータAR09に基づいて、入力データ選択回路406からデータIR09として、インターリーブ用のデータI1,I2が供給され、書き込まれる。さらにまた、RAMD06には、アドレス選択回路405から供給されるアドレスデータAR05に基づいて、入力データ選択回路406からデータIR05として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD06は、同図(B)中斜線部に示すように、RAMD13と同様に、ビット方向に半分の記憶領域にのみデータI0を記憶し、残りの記憶領域には、データを記憶しない、若しくは、同じデータI0を記憶する。また、RAMD02には、アドレス選択回路405から供給されるアドレスデータAR01に基づいて、入力データ選択回路406からデータIR01として、インターリーブ用のデータI1,I2が供給され、書き込まれる。
【0735】
これと同時に、RAMD11,D15からは、それぞれ、記憶しているデータが、データOR10,OR14として読み出され、3シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD15は、同図(B)中斜線部に示すように、ビット方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない、若しくは、同じデータが記憶されている。また、RAMD11からは、2系統のデータが出力されるが、これらのデータは、図示しないセレクタにより一方が選択され、出力データ選択回路408に供給される。さらに、RAMD12,D16からは、それぞれ、記憶しているデータが、データOR11,OR15として読み出され、3シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD16は、同図(B)中斜線部に示すように、RAMD15と同様に、ビット方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない、若しくは、同じデータが記憶されている。また、RAMD12からは、2系統のデータが出力されるが、これらのデータは、図示しないセレクタにより一方が選択され、出力データ選択回路408に供給される。さらにまた、RAMD04,D08からは、それぞれ、記憶しているデータが、データOR03,OR07として読み出され、3シンボルのデータのうち、さらに他の1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD08は、同図(B)中斜線部に示すように、RAMD15と同様に、ビット方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない、若しくは、同じデータが記憶されている。また、RAMD04からは、2系統のデータが出力されるが、これらのデータは、図示しないセレクタにより一方が選択され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0736】
同様に、RAMD15には、アドレス選択回路405から供給されるアドレスデータAR14に基づいて、入力データ選択回路406からデータIR14として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD15は、同図(B)中斜線部に示すように、ビット方向に半分の記憶領域にのみデータI0を記憶し、残りの記憶領域には、データを記憶しない、若しくは、同じデータI0を記憶する。また、RAMD11には、アドレス選択回路405から供給されるアドレスデータAR10に基づいて、入力データ選択回路406からデータIR10として、インターリーブ用のデータI1,I2が供給され、書き込まれる。さらに、RAMD16には、アドレス選択回路405から供給されるアドレスデータAR15に基づいて、入力データ選択回路406からデータIR15として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD16は、同図(B)中斜線部に示すように、RAMD15と同様に、ビット方向に半分の記憶領域にのみデータI0を記憶し、残りの記憶領域には、データを記憶しない、若しくは、同じデータI0を記憶する。また、RAMD12には、アドレス選択回路405から供給されるアドレスデータAR11に基づいて、入力データ選択回路406からデータIR11として、インターリーブ用のデータI1,I2が供給され、書き込まれる。さらにまた、RAMD08には、アドレス選択回路405から供給されるアドレスデータAR07に基づいて、入力データ選択回路406からデータIR07として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD08は、同図(B)中斜線部に示すように、RAMD15と同様に、ビット方向に半分の記憶領域にのみデータI0を記憶し、残りの記憶領域には、データを記憶しない、若しくは、同じデータI0を記憶する。また、RAMD04には、アドレス選択回路405から供給されるアドレスデータAR03に基づいて、入力データ選択回路406からデータIR03として、インターリーブ用のデータI1,I2が供給され、書き込まれる。
【0737】
これと同時に、RAMD11,D15からは、それぞれ、記憶しているデータが、データOR10,OR14として読み出され、3シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD15は、同図(B)中斜線部に示すように、ビット方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない、若しくは、同じデータが記憶されている。また、RAMD11からは、2系統のデータが出力されるが、これらのデータは、図示しないセレクタにより一方が選択され、出力データ選択回路408に供給される。さらに、RAMD12,D16からは、それぞれ、記憶しているデータが、データOR11,OR15として読み出され、3シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD16は、同図(B)中斜線部に示すように、RAMD15と同様に、ビット方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない、若しくは、同じデータが記憶されている。また、RAMD12からは、2系統のデータが出力されるが、これらのデータは、図示しないセレクタにより一方が選択され、出力データ選択回路408に供給される。さらにまた、RAMD04,D08からは、それぞれ、記憶しているデータが、データOR03,OR07として読み出され、3シンボルのデータのうち、さらに他の1系統のシンボルデータとして、出力データ選択回路408に供給される。このとき、RAMD08は、同図(B)中斜線部に示すように、RAMD15と同様に、ビット方向に半分の記憶領域にのみデータを記憶しており、残りの記憶領域には、データが記憶されていない、若しくは、同じデータが記憶されている。また、RAMD04からは、2系統のデータが出力されるが、これらのデータは、図示しないセレクタにより一方が選択され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0738】
このようにすることによって、インターリーバ100は、符号化装置1によって、符号化率が“1/3以上”のSCCCが行われ、データの容量が“4キロワード以下”である3シンボルの入力データに対して、ランダムインターリーブ及び遅延を施すことができる。
【0739】
つぎに、3シンボルの入力データに対して、インラインインターリーブを施す例について説明する。ここでは、符号化装置1が、符号化率が“2/3”のSCTCMを行うものであり、入力されるデータの容量が“16キロワード以下”であるものとする。
【0740】
この場合、インターリーバ100は、3シンボルのデータについてインターリーブを施すとともに、6シンボルのデータについて遅延を施す必要がある。そこで、インターリーバ100は、例えば図60(A)に示すように、16個のRAMD01,D02,・・・,D16のうち、6個のRAMD01,D02,D03,D04,D05,D07を遅延に用いるとともに、同図(B)に示すように、6個のRAMD09,D11,D13,D14,D15,D16をインターリーブに用いる。また、アドレス用のRAMとしては、同図(C)に示すように、6個のRAMAの全てを用いることになる。ただし、これらの6個のRAMAは、それぞれ、同図(C)中斜線部に示すように、ビット方向に14ビットの記憶領域を有するうち、13ビット分の記憶領域のみを用いる。したがって、インターリーバ100及びアドレス用記憶回路110は、同図(D)に示すように、4つのRAMD06,D08,D10,D12を用いないことになる。
【0741】
より具体的には、インターリーバ100は、同図(A)及び同図(B)に示すように、RAMD01,D02,D05,D09,D13,D14を、上述したバンクA(A0)として用い、RAMD03,D04,D07,D11,D15,D16を、上述したバンクB(B0)として用いる。すなわち、インターリーバ100は、RAMD01,D02,D05,D09,D13,D14に対してデータを書き込んでいる場合には、RAMD03,D04,D07,D11,D15,D16からデータを読み出し、RAMD03,D04,D07,D11,D15,D16に対してデータを書き込んでいる場合には、RAMD01,D02,D05,D09,D13,D14からデータを読み出す。
【0742】
RAMD01には、アドレス選択回路405から供給されるアドレスデータAR00に基づいて、入力データ選択回路406からデータIR00として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD01には、0乃至4キロワード分のデータD0,D1が書き込まれる。また、RAMD05には、アドレス選択回路405から供給されるアドレスデータAR04に基づいて、入力データ選択回路406からデータIR04として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD05には、0乃至4キロワード分のデータD2,D3が書き込まれる。さらに、RAMD02には、アドレス選択回路405から供給されるアドレスデータAR01に基づいて、入力データ選択回路406からデータIR01として、遅延用のデータD4,D5が供給され、書き込まれる。このとき、RAMD02には、0乃至4キロワード分のデータD4,D5が書き込まれる。
【0743】
これと同時に、RAMD03,D04,D07からは、それぞれ、記憶しているデータが、データOR02,OR03,OR06として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0744】
同様に、RAMD03には、アドレス選択回路405から供給されるアドレスデータAR02に基づいて、入力データ選択回路406からデータIR02として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD03には、0乃至4キロワード分のデータD0,D1が書き込まれる。また、RAMD07には、アドレス選択回路405から供給されるアドレスデータAR06に基づいて、入力データ選択回路406からデータIR06として、遅延用のデータD2,D3が供給され、書き込まれる。このとき、RAMD07には、0乃至4キロワード分のデータD2,D3が書き込まれる。さらに、RAMD04には、アドレス選択回路405から供給されるアドレスデータAR03に基づいて、入力データ選択回路406からデータIR03として、遅延用のデータD4,D5が供給され、書き込まれる。このとき、RAMD04には、0乃至4キロワード分のデータD4,D5が書き込まれる。
【0745】
これと同時に、RAMD01,D02,D05からは、それぞれ、記憶しているデータが、データOR00,OR01,OR04として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0746】
また、RAMD09,D11,D13,D14,D15,D16は、それぞれ、パーシャルライト制御信号PWに基づいて、パーシャルライトのRAMとして機能し、擬似的に8ビット×8192ワードの記憶容量を有するRAMとして作用する。
【0747】
RAMD13には、アドレス選択回路405から供給されるアドレスデータAR12に基づいて、入力データ選択回路406からデータIR12として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD13には、0乃至8キロワード分のデータI0が書き込まれる。また、RAMD09には、アドレス選択回路405から供給されるアドレスデータAR08に基づいて、入力データ選択回路406からデータIR08として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD09には、0乃至8キロワード分のデータI1が書き込まれる。さらに、RAMD14には、アドレス選択回路405から供給されるアドレスデータAR13に基づいて、入力データ選択回路406からデータIR13として、インターリーブ用のデータI2が供給され、書き込まれる。このとき、RAMD14には、0乃至8キロワード分のデータI2が書き込まれる。
【0748】
これと同時に、RAMD15からは、記憶しているデータが、データOR14として読み出され、3シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。また、RAMD11からは、記憶しているデータが、データOR10として読み出され、3シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。さらに、RAMD16からは、記憶しているデータが、データOR15として読み出され、3シンボルのデータのうち、さらに他の1系統のシンボルデータとして、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0749】
同様に、RAMD15には、アドレス選択回路405から供給されるアドレスデータAR14に基づいて、入力データ選択回路406からデータIR14として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD15には、0乃至8キロワード分のデータI0が書き込まれる。また、RAMD11には、アドレス選択回路405から供給されるアドレスデータAR10に基づいて、入力データ選択回路406からデータIR10として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD11には、0乃至8キロワード分のデータI1が書き込まれる。さらに、RAMD16には、アドレス選択回路405から供給されるアドレスデータAR15に基づいて、入力データ選択回路406からデータIR15として、インターリーブ用のデータI2が供給され、書き込まれる。このとき、RAMD16には、0乃至8キロワード分のデータI2が書き込まれる。
【0750】
これと同時に、RAMD13からは、記憶しているデータが、データOR12として読み出され、3シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。また、RAMD09からは、記憶しているデータが、データOR08として読み出され、3シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。さらに、RAMD14からは、記憶しているデータが、データOR13として読み出され、3シンボルのデータのうち、さらに他の1系統のシンボルデータとして、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0751】
このようにすることによって、インターリーバ100は、符号化装置1によって、符号化率が“2/3”のSCTCMが行われ、データの容量が“16キロワード以下”である3シンボルの入力データに対して、インラインインターリーブ及び遅延を施すことができる。
【0752】
つぎに、3シンボルの入力データに対して、ペアワイズインターリーブを施す例について説明する。ここでは、符号化装置1がTTCMを行うものであり、入力されるデータの容量が“32キロワード以下”であるものとする。
【0753】
この場合、インターリーバ100は、3シンボルのデータについてインターリーブを施すとともに、2シンボルのデータについて遅延を施す必要がある。そこで、インターリーバ100は、例えば図61(A)に示すように、16個のRAMD01,D02,・・・,D16のうち、4つのRAMD01,D02,D03,D04を遅延に用いるとともに、同図(B)に示すように、12個のRAMD05,D06,D07,D08,D09,D10,D11,D12,D13,D14,D15,D16をインターリーブに用いる。また、アドレス用のRAMとしては、同図(C)に示すように、6個のRAMAのうち、任意の4つのRAMAを用いればよい。したがって、インターリーバ100及びアドレス用記憶回路110は、同図(D)に示すように、2つのRAMAを用いないことになる。
【0754】
より具体的には、インターリーバ100は、同図(A)及び同図(B)に示すように、RAMD01,D02,D05,D06,D09,D10,D13,D14を、上述したバンクA(A0,A1)として用い、RAMD03,D04,D07,D08,D11,D12,D15,D16を、上述したバンクB(B0,B1)として用いる。すなわち、インターリーバ100は、RAMD01,D02,D05,D06,D09,D10,D13,D14に対してデータを書き込んでいる場合には、RAMD03,D04,D07,D08,D11,D12,D15,D16からデータを読み出し、RAMD03,D04,D07,D08,D11,D12,D15,D16に対してデータを書き込んでいる場合には、RAMD01,D02,D05,D06,D09,D10,D13,D14からデータを読み出す。このとき、RAMD13,D14と、RAMD09,D10と、RAMD05,D06とは、同一のアドレスに基づいて動作し、RAMD15,D16と、RAMD11,D12と、RAMD07,D08とは、同一のアドレスに基づいて動作する。
【0755】
RAMD01,D02には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR00,AR01に基づいて、入力データ選択回路406からデータIR00,IR01として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD01には、データD0,D1のうち、0乃至4キロワード分のデータが書き込まれ、RAMD02には、4乃至8キロワード分のデータが書き込まれる。
【0756】
これと同時に、RAMD03,D04からは、それぞれ、記憶しているデータが、データOR02,OR03として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0757】
同様に、RAMD03,D04には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR02,AR03に基づいて、入力データ選択回路406からデータIR02,IR03として、遅延用のデータD0,D1が供給され、書き込まれる。このとき、RAMD03には、データD0,D1のうち、0乃至4キロワード分のデータが書き込まれ、RAMD04には、4乃至8キロワード分のデータが書き込まれる。
【0758】
これと同時に、RAMD01,D02からは、それぞれ、記憶しているデータが、データOR00,OR01として読み出され、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0759】
また、RAMD05,D06,D07,D08,D09,D10,D11,D12,D13,D14,D15,D16は、それぞれ、パーシャルライト制御信号PWに基づいて、パーシャルライトのRAMとして機能し、擬似的に8ビット×8192ワードの記憶容量を有するRAMとして作用する。
【0760】
RAMD13,D14には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR12,AR13に基づいて、入力データ選択回路406からデータIR12,IR13として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD13には、データI0のうち、0乃至8キロワード分のデータが書き込まれ、RAMD14には、8乃至16キロワード分のデータが書き込まれる。また、RAMD09,D10には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR08,AR09に基づいて、入力データ選択回路406からデータIR08,IR09として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD09には、データI1のうち、0乃至8キロワード分のデータが書き込まれ、RAMD10には、8乃至16キロワード分のデータが書き込まれる。さらに、RAMD05,D06には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR04,AR05に基づいて、入力データ選択回路406からデータIR04,IR05として、インターリーブ用のデータI2が供給され、書き込まれる。このとき、RAMD05には、データI2のうち、0乃至8キロワード分のデータが書き込まれ、RAMD06には、8乃至16キロワード分のデータが書き込まれる。
【0761】
これと同時に、RAMD15,D16からは、それぞれ、記憶しているデータが、データOR14,OR15として読み出され、3シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。また、RAMD11,D12からは、それぞれ、記憶しているデータが、データOR10,OR11として読み出され、3シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。さらに、RAMD07,D08からは、それぞれ、記憶しているデータが、データOR06,OR07として読み出され、3シンボルのデータのうち、さらに他の1系統のシンボルデータとして、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0762】
同様に、RAMD15,D16には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR14,AR15に基づいて、入力データ選択回路406からデータIR14,IR15として、インターリーブ用のデータI0が供給され、書き込まれる。このとき、RAMD15には、データI0のうち、0乃至8キロワード分のデータが書き込まれ、RAMD16には、8乃至16キロワード分のデータが書き込まれる。また、RAMD11,D12には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR10,AR11に基づいて、入力データ選択回路406からデータIR10,IR11として、インターリーブ用のデータI1が供給され、書き込まれる。このとき、RAMD11には、データI1のうち、0乃至8キロワード分のデータが書き込まれ、RAMD12には、8乃至16キロワード分のデータが書き込まれる。さらに、RAMD07,D08には、それぞれ、アドレス選択回路405から供給されるアドレスデータAR06,AR07に基づいて、入力データ選択回路406からデータIR06,IR07として、インターリーブ用のデータI2が供給され、書き込まれる。このとき、RAMD07には、データI2のうち、0乃至8キロワード分のデータが書き込まれ、RAMD08には、8乃至16キロワード分のデータが書き込まれる。
【0763】
これと同時に、RAMD13,D14からは、それぞれ、記憶しているデータが、データOR12,OR13として読み出され、3シンボルのデータのうち、1系統のシンボルデータとして、出力データ選択回路408に供給される。また、RAMD09,D10からは、それぞれ、記憶しているデータが、データOR08,OR09として読み出され、3シンボルのデータのうち、他の1系統のシンボルデータとして、出力データ選択回路408に供給される。さらに、RAMD05,D06からは、それぞれ、記憶しているデータが、データOR04,OR05として読み出され、3シンボルのデータのうち、さらに他の1系統のシンボルデータとして、出力データ選択回路408に供給される。なお、データの読み出しは、データの書き込み時と同様に、アドレス選択回路405から供給されるアドレスデータに基づいて行われる。
【0764】
このようにすることによって、インターリーバ100は、符号化装置1によって、TTCMが行われ、データの容量が“32キロワード以下”である3シンボルの入力データに対して、ペアワイズインターリーブ及び遅延を施すことができる。
【0765】
以上のように、インターリーバ100は、遅延用のRAMとインターリーブ用のRAMとを共用し、施すべきインターリーブの種類を含む符号構成を示すモードに応じて、使用するRAMを切り替え、適切なRAMに対するデータの書き込み及び/又は読み出しを行うことによって、複数種類のインターリーブ処理及び遅延処理を行うことができ、各種符号の復号に利用することができる。
【0766】
なお、インターリーバ100に関する各種特徴については、後述する“6.”においてさらに説明する。
【0767】
3. 要素復号器を連接して構成される復号装置
つぎに、上述した要素復号器50を連接することにより繰り返し復号を行うことができる復号装置3について説明する。
【0768】
上述したように、復号装置3は、要素復号器50を複数連接することにより構成され、符号化装置1によるPCCC、SCCC、TTCM及びSCTCMによる符号に対して、繰り返し復号を行うことができる。
【0769】
復号装置3は、図62に示すように、要素符号の数と少なくとも繰り返し復号の繰り返し回数Nとの積、例えば、2×N個の要素復号器5011,5012,・・・,50N1,50N2とを備える。この復号装置3は、無記憶通信路2上で発生したノイズの影響により軟入力とされる受信値から繰り返し復号により復号データDECを求めることによって、符号化装置1における入力データを推定するものである。この復号装置3において、連続する2つの要素復号器5011,5012や、要素復号器50N1,50N2は、それぞれ、当該復号装置3が先に図3又は図5に示した復号装置3’,3’’を構成する場合には、1回分の繰り返し復号を実現するものである。すなわち、符号化装置1が先に図2に示した符号化装置1’である場合には、要素復号器5011,5012,・・・,50M1,50M2のうち、要素復号器50i1で表されるものは、畳み込み符号化器12に対応して備えられ、且つ、繰り返し回数i回目の復号処理を行うものを示し、要素復号器50i2で表されるものは、畳み込み符号化器14に対応して備えられ、且つ、繰り返し回数i回目の復号処理を行うものを示している。また、符号化装置1が先に図4に示した符号化装置1’’である場合には、要素復号器5011,5012,・・・,50M1,50M2のうち、要素復号器50i1で表されるものは、内符号の符号化を行う畳み込み符号化器33に対応して備えられ、且つ、繰り返し回数i回目の復号処理を行うものを示し、要素復号器50i2で表されるものは、外符号の符号化を行う畳み込み符号化器31に対応して備えられ、且つ、繰り返し回数i回目の復号処理を行うものを示している。
【0770】
具体的には、要素復号器5011には、受信値Rと、事前確率情報としての外部情報又はインターリーブデータEXTとが入力されるとともに、消去情報ERS、事前確率情報消去情報EAP、終結時刻情報TNP、終結ステート情報TNS、及び、インターリーブ開始位置信号ILSが入力される。また、要素復号器5011には、出力データ選択制御信号ITM及びインターリーブモード信号DINが入力される。
【0771】
要素復号器5011は、上述した処理を行うことにより得られた遅延受信値RNと軟出力INTとを出力するとともに、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、次段終結時刻情報TNPN、次段終結ステート情報TNSN、及び、次段インターリーブ開始位置信号ILSNを出力する。このとき、要素復号器5011は、復号装置3が先に図3に示した復号装置3’であった場合には、インターリーブモード信号DINに基づいて、インターリーバ100を、インターリーブ処理を行うものとして機能させる。また、要素復号器5011は、復号装置3が先に図5に示した復号装置3’’であった場合には、インターリーブモード信号DINに基づいて、インターリーバ100を、デインターリーブ処理を行うものとして機能させる。さらに、要素復号器5011は、出力データ選択制御信号ITMに基づいて、軟出力復号回路90から出力される対数軟出力Iλである軟出力SOL又は外部情報SOEのうちの一方を選択することで、最終的に軟出力INTとして出力されるデータを決定することができる。ここでは、軟出力INTは、外部情報であるものとする。さらにまた、要素復号器5011は、必要に応じて、復号値硬判定情報DHD及び受信値硬判定情報RHDを出力することもできる。
【0772】
また、要素復号器5012には、前段の要素復号器5011から出力された遅延受信値RN、軟出力INT、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、次段終結時刻情報TNPN、次段終結ステート情報TNSN、及び、次段インターリーブ開始位置信号ILSNが、それぞれ、受信値R、外部情報又はインターリーブデータEXT、消去情報ERS、事前確率情報消去情報EAP、終結時刻情報TNP、終結ステート情報TNS、及び、インターリーブ開始位置信号ILSとして入力される。また、要素復号器5012には、出力データ選択制御信号ITM及びインターリーブモード信号DINが入力される。
【0773】
要素復号器5012は、要素復号器5011と同様に、上述した処理を行うことにより得られた遅延受信値RNと軟出力INTとを出力するとともに、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、次段終結時刻情報TNPN、次段終結ステート情報TNSN、及び、次段インターリーブ開始位置信号ILSNを出力する。このとき、要素復号器5012は、復号装置3が先に図3に示した復号装置3’であった場合には、インターリーブモード信号DINに基づいて、インターリーバ100を、デインターリーブ処理を行うものとして機能させる。また、要素復号器5012は、復号装置3が先に図5に示した復号装置3’’であった場合には、インターリーブモード信号DINに基づいて、インターリーバ100を、インターリーブ処理を行うものとして機能させる。さらに、要素復号器5012は、出力データ選択制御信号ITMに基づいて、軟出力復号回路90から出力される対数軟出力Iλである軟出力SOL又は外部情報SOEのうちの一方を選択することで、最終的に軟出力INTとして出力されるデータを決定することができる。ここでは、軟出力INTは、外部情報であるものとする。さらにまた、要素復号器5012は、必要に応じて、復号値硬判定情報DHD及び受信値硬判定情報RHDを出力することもできる。
【0774】
このような要素復号器5012は、遅延受信値RN、軟出力INT、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、次段終結時刻情報TNPN、次段終結ステート情報TNSN、及び、次段インターリーブ開始位置信号ILSNを、それぞれ、図示しない次段の要素復号器5021に出力する。
【0775】
さらに、要素復号器50N1には、図示しない前段の要素復号器50N-12から出力された遅延受信値RN、軟出力INT、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、次段終結時刻情報TNPN、次段終結ステート情報TNSN、及び、次段インターリーブ開始位置信号ILSNが、それぞれ、受信値R、外部情報又はインターリーブデータEXT、消去情報ERS、事前確率情報消去情報EAP、終結時刻情報TNP、終結ステート情報TNS、及び、インターリーブ開始位置信号ILSとして入力される。また、要素復号器50N1には、出力データ選択制御信号ITM及びインターリーブモード信号DINが入力される。
【0776】
要素復号器50N1は、要素復号器5011と同様に、上述した処理を行うことにより得られた遅延受信値RNと軟出力INTとを出力するとともに、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、次段終結時刻情報TNPN、次段終結ステート情報TNSN、及び、次段インターリーブ開始位置信号ILSNを出力する。このとき、要素復号器50N1は、復号装置3が先に図3に示した復号装置3’であった場合には、インターリーブモード信号DINに基づいて、インターリーバ100を、インターリーブ処理を行うものとして機能させる。また、要素復号器50N1は、復号装置3が先に図5に示した復号装置3’’であった場合には、インターリーブモード信号DINに基づいて、インターリーバ100を、デインターリーブ処理を行うものとして機能させる。さらに、要素復号器50N1は、出力データ選択制御信号ITMに基づいて、軟出力復号回路90から出力される対数軟出力Iλである軟出力SOL又は外部情報SOEのうちの一方を選択することで、最終的に軟出力INTとして出力されるデータを決定することができる。ここでは、軟出力INTは、外部情報であるものとする。さらにまた、要素復号器50N1は、必要に応じて、復号値硬判定情報DHD及び受信値硬判定情報RHDを出力することもできる。
【0777】
そして、最終段の要素復号器50N2には、前段の要素復号器50N1から出力された遅延受信値RN、軟出力INT、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、次段終結時刻情報TNPN、次段終結ステート情報TNSN、及び、次段インターリーブ開始位置信号ILSNが、それぞれ、受信値R、外部情報又はインターリーブデータEXT、消去情報ERS、事前確率情報消去情報EAP、終結時刻情報TNP、終結ステート情報TNS、及び、インターリーブ開始位置信号ILSとして入力される。また、要素復号器50N2には、出力データ選択制御信号ITM及びインターリーブモード信号DINが入力される。
【0778】
要素復号器50N2は、上述した処理を行うことにより得られた軟出力INTを出力するとともに、必要に応じて、復号値硬判定情報DHD及び受信値硬判定情報RHDを出力する。このとき、要素復号器50N2は、復号装置3が先に図3に示した復号装置3’であった場合には、インターリーブモード信号DINに基づいて、インターリーバ100を、デインターリーブ処理を行うものとして機能させる。また、要素復号器50N2は、復号装置3が先に図5に示した復号装置3’’であった場合には、インターリーブモード信号DINに基づいて、インターリーバ100を、インターリーブ処理を行うものとして機能させる。さらに、要素復号器50N2は、出力データ選択制御信号ITMに基づいて、軟出力INTと出力すべきデータとして対数軟出力Iλを選択し、この対数軟出力Iλを、最終結果である復号データDECとして出力する。なお、要素復号器50N2は、必要に応じて、遅延受信値RNと軟出力INT、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、次段終結時刻情報TNPN、次段終結ステート情報TNSN、及び、次段インターリーブ開始位置信号ILSNを出力することもできる。
【0779】
このような復号装置3は、符号化装置1における各要素符号化器に対応する要素復号器50i1,50i2を備えることによって、復号複雑度が高い符号を複雑度の小さい要素に分解し、要素復号器50i1,50i2の間の相互作用により特性を逐次的に向上させることができる。復号装置3は、受信値を受信すると、2×N個の要素復号器5011,5012,・・・,50N1,50N2によって、繰り返し回数が最大でNの繰り返し復号を行い、復号データDECを出力する。
【0780】
なお、復号装置3は、2×N個の要素復号器5011,5012,・・・,50N1,50N2を連接することによって、最大で繰り返し回数がNの繰り返し復号を行うことができるが、要素復号器5011,5012,・・・,50N1,50N2に備わる遅延機能を用いることによって、後述するように、繰り返し回数がN以下の繰り返し復号を行うこともできる。
【0781】
また、TTCM方式及びSCTCM方式による符号の復号を行う復号装置は、上述した復号装置3と同様の構成で実現することができ、受信値として、同相成分及び直交成分のシンボルを直接入力することになる。
【0782】
4. 要素復号器の全体に関する特徴
つぎに、要素復号器50に関する特徴毎の説明を行う。以下の特徴は、要素復号器50の機能として備えられるものであるが、特徴の概念を明確化するために、適宜簡略化した図面を用いて説明する。
【0783】
4−1 符号尤度の切り替え機能
上述した受信値及び事前確率情報選択回路154に関する特徴である。受信値及び事前確率情報選択回路154は、上述したように、任意の符号の復号を行うために設けられるものである。
【0784】
例えば、符号化装置1がPCCC又はTTCMによる符号化を行うものであった場合には、先に図3に示したように、軟出力復号を行うために入力されるべき情報は、受信値と、前段のインターリーバ又はデインターリーバから供給される外部情報となる。また、例えば、符号化装置1がSCCC又はSCTCMによる符号化を行うものであった場合には、先に図5に示したように、内符号の軟出力復号を行うために入力されるべき情報は、受信値と、前段のインターリーバから供給される外部情報となり、外符号の軟出力復号を行うために入力されるべき情報は、デインターリーバから供給される外部情報と、値が“0”である事前確率情報となる。さらに、符号化装置1がパンクチャを行うものであった場合には、その旨を示す情報を事前確率情報として入力する必要がある。このように、要素復号器50は、任意の符号の復号を行うためには、各符号に応じて、軟出力復号を行うために必要な情報を選択する必要がある。
【0785】
そこで、要素復号器50は、受信値及び事前確率情報選択回路154を備えることによって、入力される受信値と事前確率情報とのうち、軟出力復号を行うために入力されるべき情報を符号に応じて適切に選択する。このようにすることによって、要素復号器50は、PCCC、SCCC、TTCM又はSCTCMといった任意の符号を復号することが可能な汎用性のある構造となる。
【0786】
すなわち、復号装置3は、PCCC、SCCC、TTCM又はSCTCMといった任意の符号を、同一配線のLSIからなる要素復号器50を複数連接するだけで繰り返し復号することが可能となる。そのため、復号装置3は、例えば実験を行う場合等にも、ユーザに高い利便を提供することができる。
【0787】
なお、要素復号器50は、受信値及び事前確率情報選択回路154を、必ずしも軟出力復号回路90の内部又は前段に備える必要はない。すなわち、要素復号器50は、前段の要素復号器からの情報の中から、軟出力復号に必要な情報を選択する構成とする必要はない。例えば、要素復号器50は、セレクタ1208,1209,12010の後段に受信値及び事前確率情報選択回路154を設け、遅延受信値TRNと軟出力TINTとを符号尤度として切り替えることによって、次段の要素復号器において軟出力復号を行うために必要な情報を選択するようにしてもよい。
【0788】
図28を用いて説明した受信値及び事前確率情報選択回路154の場合には、復号装置3を構成する隣接する2つの要素復号器50A,50Bは、簡略化すると例えば図63に示す構成として表すことができる。すなわち、要素復号器50Bは、前段の要素復号器50Aから出力された遅延受信値RNを受信値Rとして入力するとともに、軟出力INTを外部情報又はインターリーブデータEXTとして入力し、受信値TRを、遅延するための信号線と復号受信値TSRとするための信号線とを備えるものとして表される。この場合、要素復号器50Bに備えられる受信値及び事前確率情報選択回路154は、実質的には、復号受信値TSRと外部情報又はインターリーブデータTEXTとを選択的に出力するセレクタ501と、外部情報又はインターリーブデータTEXTと値が“0”である事前確率情報とを選択的に出力するセレクタ502とを有するものとして表される。
【0789】
これに対して、セレクタ1208,1209,12010の後段に受信値及び事前確率情報選択回路154を設ける場合には、復号装置3を構成する隣接する2つの要素復号器50C,50Dは、簡略化すると例えば図64に示す構成として表すことができる。すなわち、要素復号器50Cに備えられる受信値及び事前確率情報選択回路154は、実質的には、遅延受信値TRNと軟出力TINTとを選択的に出力するセレクタ503と、軟出力TINTと値が“0”である事前確率情報とを選択的に出力するセレクタ504とを有するものとして表される。この場合、要素復号器50Dは、前段の要素復号器50Cにおけるセレクタ503から出力された遅延受信値RNを受信値Rとして入力するとともに、セレクタ504から出力された軟出力INTを外部情報又はインターリーブデータEXTとして入力し、さらに、遅延受信値TRNを入力することになる。この場合、受信値及び事前確率情報選択回路154は、セレクタ503,504とともに、インターリーバ100の内部に備えられてもよい。
【0790】
このように、要素復号器50は、受信値及び事前確率情報選択回路154を設ける位置について限定されるものではない。ただし、図64に示すように、前段の要素復号器によって、次段の要素復号器における軟出力復号に必要な情報を選択する構成は、2つの要素復号器の間で遅延させた受信値を別途入出力する必要があることから、ピン数を多く要することになる。
【0791】
4−2 受信値の遅延機能
上述した受信データ及び遅延用記憶回路155及びインターリーバ100に関する特徴である。
【0792】
例えば、符号化装置1がPCCC又はTTCMによる符号化を行うものであった場合には、先に図3に示したように、軟出力復号を行うために必要な情報として、受信値が入力される必要がある。また、例えば、符号化装置1がSCCC又はSCTCMによる符号化を行うものであった場合には、先に図5に示したように、内符号の軟出力復号を行うために必要な情報として、受信値が入力される必要がある。
【0793】
そこで、要素復号器50は、上述したように、受信データ及び遅延用記憶回路155を備えることによって、復号の対象とする復号受信値TSR以外の受信値を含めた全ての受信値TRを記憶し、少なくとも軟出力復号回路90が要する処理時間と同時間だけ遅延させるとともに、インターリーバ100によって、受信値TR又は遅延受信値SDRのうちのいずれか一方であるデータTDIを、少なくとも当該インターリーバ100が要する処理時間と同時間だけ遅延させる、すなわち、インターリーブ長分だけ遅延させる。
【0794】
このようにすることによって、復号装置3は、外部にRAMやFIFO(First In First Out)等の遅延用の回路を備える必要がないことから、回路規模を削減することができ、PCCC、SCCC、TTCM又はSCTCMといった任意の符号を、同一配線のLSIからなる要素復号器50を複数連接するだけで繰り返し復号することが可能となる。
【0795】
なお、要素復号器50は、軟出力復号回路90が要する処理時間と同時間だけ受信値を遅延させるために、受信データ及び遅延用記憶回路155を用いる必要はなく、遅延用の回路を別途備えるようにしてもよい。この場合、要素復号器50は、遅延用の回路を軟出力復号回路90に内部に備える必要もない。
【0796】
すなわち、復号装置3を構成する隣接する2つの要素復号器50E,50Fは、簡略化すると例えば図65に示すように、軟出力復号回路90と、インターリーバ100との他に、受信値を遅延させる遅延回路510を備えるものとして表される。勿論、この遅延回路510は、軟出力復号回路90が要する処理時間と同時間だけ遅延させる記憶回路と、インターリーバ100が要する処理時間と同時間だけ遅延させる記憶回路とに分離されていてもよい。このように、要素復号器50は、全ての受信値を遅延させるための遅延線を備えるものであればよい。
【0797】
勿論、要素復号器50は、実際には、インターリーバ100が要する処理時間と同時間の遅延を実現するために、インターリーブ100を用いて後述する手法を採用しているが、これについては後述する。
【0798】
4−3 復号受信値選択機能
上述した復号受信値選択回路70に関する特徴である。復号受信値選択回路70は、上述したように、任意の符号の復号を行うために設けられるものである。
【0799】
軟出力復号を行うために必要とされる受信値は、符号により異なる。そこで、要素復号器50は、復号受信値選択回路70を備えることによって、全ての受信値TRの中から、復号の対象とする受信値TSRを符号に応じて適切に選択する。換言すれば、復号装置3を構成する隣接する2つの要素復号器50G,50Hは、簡略化すると例えば図66に示すように、軟出力復号回路90と、インターリーバ100と、受信値を遅延させる遅延回路510との他に、全ての受信値を遅延させるための遅延線から、所定の信号線を選択的に取り出す復号受信値選択回路70を備えるものとして表される。
【0800】
このように、遅延回路510に入力される受信値の中から、所定の受信値を選択的に取り出すことによって、復号装置3は、PCCC、SCCC、TTCM又はSCTCMといった任意の符号を、同一配線のLSIからなる要素復号器50を複数連接するだけで繰り返し復号することが可能となる。
【0801】
4−4 復号用の記憶回路と遅延用の記憶回路の共用
上述した受信データ及び遅延用記憶回路155に関する特徴である。
【0802】
受信データ及び遅延用記憶回路155は、上述したように、復号に用いる受信データである選択受信値及び事前確率情報RAPと、遅延用のデータである受信値TRとを、ともに記憶する。すなわち、受信データ及び遅延用記憶回路155は、選択受信値及び事前確率情報RAPと受信値TRとを、ともに記憶することができる容量のRAMを有しており、図示しない制御回路による制御の下に、各情報の書き込み及び/又は読み出しを選択的に行う。このとき、受信データ及び遅延用記憶回路155は、Iα算出回路158にて用いる受信データDAと、受信値TRとを、同一のワードに書き込み、受信データDAが読み出されるタイミングに合わせて、記憶している受信値TRを遅延受信値PDRとして出力する。
【0803】
このように、復号装置3は、記憶する対象の用途が異なる記憶回路の共用を図ることで、回路規模を削減することができ、PCCC、SCCC、TTCM又はSCTCMといった任意の符号を、同一配線のLSIからなる要素復号器50を複数連接するだけで繰り返し復号することが可能となる。
【0804】
4−5 フレーム先頭情報の遅延機能
上述した受信データ及び遅延用記憶回路155に関する特徴である。
【0805】
エッジ検出回路80により検出したフレームの先頭を示すエッジ信号TEILSは、インターリーブの開始位置を示すものである。そのため、インターリーバ100は、軟出力復号回路90による軟出力復号の結果得られる情報が入力されるのと同期して、エッジ信号TEILSに相当する信号が入力される必要がある。そのため、エッジ信号TEILSは、軟出力復号回路90が要する処理時間と同時間だけ遅延される必要がある。
【0806】
そこで、要素復号器50は、上述したように、受信データ及び遅延用記憶回路155を備えることによって、軟出力復号回路90に対して、復号する情報のフレーム先頭にエッジ信号TEILSを同期させて入力し、軟出力復号回路90が要する処理時間と同時間だけ遅延させる。このとき、受信データ及び遅延用記憶回路155は、Iα算出回路158にて用いる受信データDAと、エッジ信号TEILSとを、同一のワードに書き込み、受信データDAが読み出されるタイミングに合わせて、記憶しているエッジ信号TEILSを遅延エッジ信号PDILとして出力する。
【0807】
このようにすることによって、復号装置3は、外部にエッジ信号を遅延させるための遅延用の回路を備える必要がなく、さらに、遅延用の回路と受信データの記憶用の回路とを共用できることから、回路規模の削減と利便の向上を図ることができ、PCCC、SCCC、TTCM又はSCTCMといった任意の符号を、同一配線のLSIからなる要素復号器50を複数連接するだけで繰り返し復号することが可能となる。
【0808】
なお、要素復号器50は、エッジ信号を遅延させるために、受信データ及び遅延用記憶回路155を用いる必要はなく、遅延用の回路を軟出力復号回路90の内部に別途備えるようにしてもよい。すなわち、要素復号器50は、エッジ信号を遅延させるための遅延線を備えるものであればよい。
【0809】
また、要素復号器50は、復号する情報のフレーム長が軟出力復号回路90が要する処理時間よりも大きい場合には、復号遅延を計数する図示しないカウンタに基づいて、エッジ信号を遅延又は生成してインターリーバ100に出力するようにしてもよい。
【0810】
4−6 軟出力復号回路又はインターリーバ単体動作機能
上述したセレクタ1204,1207に関する特徴であり、付随的に、上述したセレクタ1203,1205,1206にも関する特徴である。
【0811】
要素復号器50は、符号化装置1による符号を繰り返し復号する際の要素符号化器に対応するものであることは上述した通りであるが、このような用途以外にも、軟出力復号回路90又はインターリーバ100の機能のみを果たすような動作モードを切り替える機能を有する。すなわち、要素復号器50は、上述したように、制御回路60により動作モード情報CBFを生成し、この動作モード情報CBFに基づいて、セレクタ1203,1204,1205,1206,1207による選択動作を行わせることによって、軟出力復号回路90及びインターリーバ100が、それぞれ、通常の軟出力復号処理及びインターリーブ処理を行うモードと、軟出力復号回路90のみが通常の軟出力復号処理を行うモードと、インターリーバ100のみが通常のインターリーブ処理を行うモードとを実現する。
【0812】
具体的には、セレクタ1203は、上述したように、動作モード情報CBFに基づいて、受信値TRと、軟出力復号回路90から供給される遅延受信値SDRとのうち、いずれか一方を選択する。すなわち、要素復号器50は、このセレクタ1203によって、インターリーバ100に入力される受信値として、軟出力復号回路90による軟出力復号処理又は軟出力復号回路90が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定することができる。
【0813】
また、セレクタ1204は、上述したように、動作モード情報CBFに基づいて、外部情報又はインターリーブデータTEXTと、セレクタ1202から供給されるデータTDLXとのうち、いずれか一方を選択する。すなわち、要素復号器50は、このセレクタ1204によって、インターリーバ100に入力される外部情報又は軟出力として、軟出力復号回路90による軟出力復号処理又は軟出力復号回路90が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定することができる。
【0814】
さらに、セレクタ1205は、上述したように、動作モード情報CBFに基づいて、エッジ検出回路80から供給されるエッジ信号TEILSと、軟出力復号回路90から供給される遅延エッジ信号SDILSとのうち、いずれか一方を選択する。すなわち、要素復号器50は、このセレクタ1205によって、インターリーバ100に入力されるエッジ信号として、軟出力復号回路90による軟出力復号処理又は軟出力復号回路90が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定することができる。
【0815】
さらにまた、セレクタ1206は、上述したように、動作モード情報CBFに基づいて、軟出力復号回路90から供給される遅延受信値SDRと、インターリーバ100から供給されるインターリーブ長遅延受信値IDOとのうち、いずれか一方を選択する。すなわち、要素復号器50は、このセレクタ1206によって、出力すべき受信値として、インターリーバ100によるインターリーブ処理又はインターリーバ100が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定することができる。
【0816】
また、セレクタ1207は、上述したように、動作モード情報CBFに基づいて、インターリーバ100から供給されるインターリーバ出力データIIOと、セレクタ1202から供給されるデータTDLXとのうち、いずれか一方を選択する。すなわち、要素復号器50は、このセレクタ1207によって、出力すべき外部情報又は軟出力として、インターリーバ100によるインターリーブ処理又はインターリーバ100が要する処理時間と同時間の遅延を行ったものを用いるか否かを決定することができる。
【0817】
このようにすることによって、要素復号器50は、例えば、軟出力復号処理のみが必要とされるモードの場合には、軟出力復号回路90のみを動作させることができ、一方、インターリーブ処理のみが必要とされるモードの場合には、インターリーバ100のみを動作させることができる。
【0818】
また、要素復号器50は、インターリーバ100のみが通常のインターリーブ処理を行うモードの場合には、符号化装置として用いることもできる。これは、符号化装置における要素符号化器は、通常、遅延素子と組み合わせ回路とからなり、いわゆるFPGA等により容易に実現することができるためである。したがって、要素復号器50は、例えば、先に図2に示した符号化装置1’を実現する場合には、例えば制御回路60等により畳み込み符号化器12,14を実現することができる。また、要素復号器50は、上述したように、インターリーバ100が遅延回路としての機能を併有することから、符号化装置1’におけるインターリーバ13と遅延器11の機能をインターリーバ100により実現することができる。同様に、要素復号器50は、先に図4に示した符号化装置1’’のようなSCCCによる符号化を行う符号化装置も容易に実現することができる。
【0819】
このように、要素復号器50は、動作モードを切り替えることができ、繰り返し復号以外にも、豊富な利用用途と優れた利便を提供することができる。
【0820】
なお、要素復号器50は、セレクタ1203,1204,1205,1206,1207のみで動作モードを切り替えるのではなく、他のセレクタを用いるといったように、別の構成で多種の動作モードを実現するようにしてもよい。
【0821】
4−7 遅延モード切り替え機能
上述したセレクタ1202及びインターリーバ100に関する特徴である。
【0822】
繰り返し復号は、先に図3又は図5に示したように、符号化装置1における要素符号化器の数と同数の要素復号器の組み合わせをもって、1回の復号となる。すなわち、繰り返し復号は、少なくとも2つ以上の要素復号器を1組とし、1回の復号を行う。そして、繰り返し復号は、繰り返し回数を複数とすることで、最終的な復号結果を得る。
【0823】
ここで、各種符号に応じた最適な繰り返し回数を決定するには、通常、繰り返し回数を変更した実験を行う必要がある。この場合、繰り返し回数に応じた数の要素復号器を連接することにより複数の復号装置を構成すれば実験を行うこともできる。また、任意の繰り返し回数の繰り返し復号を行うことが可能な数の要素復号器を連接して1つの復号装置を構成し、この繰り返し回数以下の所望の繰り返し回数に対応する要素復号器からタップを引き出すことによっても、実験を行うことは可能である。
【0824】
しかしながら、前者のような実験を行うには、膨大な数の復号装置を構成する必要があり、多大な労力を要することが考えられる。また、後者のような実験を行う場合にも、復号装置の回路規模が増大する他、繰り返し回数に応じて復号遅延が変化することから、繰り返し回数の変化による復号結果の比較を行うには望ましくない。
【0825】
そこで、要素復号器50は、上述したように、制御回路60により動作モード情報CBFを生成し、この動作モード情報CBFに基づいて、セレクタ1202による選択動作を行わせるとともに、インターリーバ100によるアドレス制御を行わせることによって、入力したデータを、少なくとも軟出力復号回路90が要する処理時間と同時間の遅延、少なくともインターリーバ100が要する処理時間と同時間の遅延、又は、少なくとも軟出力復号回路90及びインターリーバ100が要する処理時間と同時間の遅延をさせる複数の遅延モードを実現する。
【0826】
具体的には、セレクタ1202は、上述したように、動作モード情報CBFが、少なくとも軟出力復号回路90が要する処理時間と同時間の遅延、少なくともインターリーバ100が要する処理時間と同時間の遅延、又は、少なくとも軟出力復号回路90及びインターリーバ100が要する処理時間と同時間の遅延、のいずれかを行うべき遅延モードを示すものであった場合には、遅延外部情報SDEXを選択して出力し、動作モード情報CBFが、少なくとも軟出力復号回路90及び/又はインターリーバ100による遅延を行わず、軟出力復号回路90及び/又はインターリーバ100による処理を行う通常モードを示すものであった場合には、データTLX、すなわち、軟出力復号回路90による復号結果を選択して出力する。さらに換言すれば、要素復号器50は、このセレクタ1202によって、外部情報又は軟出力に対して、少なくとも軟出力復号回路90及び/又はインターリーバ100が要する処理時間と同時間の遅延を行うか否かを決定することができる。
【0827】
また、インターリーバ100は、上述したように、遅延モードを示す動作モード情報CBFを入力すると、アドレス制御を行うことによって、見かけ上、遅延回路として機能することができる。これについては、後述する。
【0828】
このようにすることによって、復号装置3としては、考えられる繰り返し回数の繰り返し復号を行うことが可能な数の要素復号器を連接して構成すれば、任意の繰り返し回数の繰り返し復号を行うことが可能となる。例えば、符号化装置1が先に図2又は図4に示した符号化装置1’,1’’であって、200個の要素復号器を連接して復号装置3を構成した場合、この復号装置3は、繰り返し回数が最高で100回の繰り返し復号を行うことができる。この復号装置3において、繰り返し回数が20回の繰り返し復号を行う場合には、先頭から40個目の要素復号器は、通常の軟出力復号処理及びインターリーブ処理を行い、残りの160個の要素復号器は、少なくとも軟出力復号回路90及びインターリーバ100が要する処理時間と同時間の遅延を行う遅延モードの動作を行えばよい。
【0829】
このように、復号装置3は、複数の遅延モードを有し、これらの遅延モードを切り替えて用いることによって、同一配線のLSIからなる要素復号器50を複数連接するだけで、全体の復号遅延を変化させることなく、繰り返し回数を変更した繰り返し復号を行うことが可能となり、PCCC、SCCC、TTCM又はSCTCMといった任意の符号を、所望の繰り返し回数で繰り返し復号することが可能となる。
【0830】
なお、要素復号器50は、セレクタ1202のみで遅延モードを切り替えるのではなく、例えば“4−6”に示したように、軟出力復号回路90又はインターリーバ100を単体動作させるために、動作モード情報CBFにより選択動作を行うセレクタ1204,1207、さらには付随的に、セレクタ1203,1205,1206といった複数のセレクタを利用することで、多種の遅延モードを実現するようにしてもよい。
【0831】
4−8 次段情報生成機能
上述した制御回路60及びインターリーバ100における制御回路400に関する特徴である。
【0832】
複数の要素復号器を連接して復号装置3を構成した場合、各要素復号器には、符号に関する各種情報が与えられる必要がある。この各種情報としては、終結情報としての終結時刻及び終結ステート、消去情報としてのパンクチャパターン、及び、フレームの先頭情報がある。これらの情報を各要素復号器に対して与えるためには、外部の制御回路等により必要な情報を生成することが考えられるが、部品点数の増加や基板面積の増大を招くことになる。
【0833】
そこで、要素復号器50は、フレームの先頭情報及びインターリーブ長といった情報を把握することができるインターリーバ100を利用することによって、次段の要素復号器に必要な情報を生成して出力する。すなわち、要素復号器50は、上述したように、制御回路60によって、静的な情報である終結位置情報CNFTと、終結期間情報CNFLと、終結ステート情報CNFDと、パンクチャ周期情報CNELと、パンクチャパターン情報CNEPとを生成する。そして、要素復号器50は、制御回路60により生成されるこれらの終結位置情報CNFTと、終結期間情報CNFLと、終結ステート情報CNFDと、パンクチャ周期情報CNELと、パンクチャパターン情報CNEPとがインターリーバ100に対して入力されると、インターリーバ100における制御回路400によって、これらの情報に基づいて、終結時刻情報IGTと、終結ステート情報IGSと、消去位置情報IGEと、インターリーバ無出力位置情報INOとを生成する。そして、インターリーバ100は、制御回路400による制御の下に、制御回路60から情報が入力されてからインターリーブ長分の時間の経過後に、生成した終結時刻情報IGT、終結ステート情報IGS、消去位置情報IGE、インターリーバ無出力位置情報INOを出力する。また、インターリーバ100は、セレクタ1205から供給されるインターリーブ開始位置信号TISを、インターリーブ長分、すなわち、インターリーバ100が要する処理時間と同時間だけ遅延させて遅延インターリーブ開始位置信号IDSを生成して出力する。
【0834】
このようにすることによって、要素復号器50は、生成した終結時刻情報IGT、終結ステート情報IGS、消去位置情報IGE、インターリーバ無出力位置情報INO、及び、遅延インターリーブ開始位置信号IDSを、フレームの先頭に同期させて出力することが容易に可能となる。
【0835】
このように、復号装置3は、各種情報を生成するための制御回路を外部に備える必要がなく、部品点数の削減を図ることができ、PCCC、SCCC、TTCM又はSCTCMといった任意の符号を、同一配線のLSIからなる要素復号器50を複数連接するだけで繰り返し復号することができる。
【0836】
なお、要素復号器50は、インターリーバ100における制御回路400によって、各種情報を生成してフレームの先頭に同期させて出力するのではなく、インターリーブ開始位置信号TILSに同期させて各種情報を生成するようにしてもよい。すなわち、復号装置3は、次段の要素復号器に必要な情報を前段の要素復号器において生成するのではなく、各要素復号器が終結情報及び消去情報といった各種情報を生成する制御回路を備え、入力されたデータのフレームの先頭に同期させて、これらの情報を生成するようにしてもよい。
【0837】
4−9 システム検証機能
上述したセレクタ1208,1209,12010及び信号線130に関する特徴である。
【0838】
要素復号器50は、例えば数百本といった膨大な数のピンを備えるものである。そのため、要素復号器50を複数連接して復号装置3を構成した場合には、例えばはんだ不良等に起因した導通不良の状態が起こりやすい。
【0839】
そこで、要素復号器50は、外部から入力される受信値TR、外部情報又はインターリーブデータTEXT、消去情報TERS、事前確率情報消去情報TEAP、終結時刻情報TTNP、終結ステート情報TTNS、及び、インターリーブ開始位置信号TILSのそれぞれを伝送するための信号線を束ね外部へと通じる信号線130を備え、この信号線130によりスルー信号を伝送することによって、導通検査といったシステムの検証を行う。
【0840】
このとき、要素復号器50は、制御回路60により検証モード情報CTHRを生成し、この検証モード情報CTHRに基づいて、セレクタ1208,1209,12010による選択動作を行わせることによって、システムの検証を行うための検証モードへの切り替えを行う。
【0841】
具体的には、セレクタ1208は、上述したように、検証モード情報CTHRが検証モードを示すものであった場合には、信号線130により伝送されてくるスルー信号を選択し、遅延受信値RNとして、次段の要素復号器において受信値Rが入力される端子に出力する。
【0842】
また、セレクタ1209は、上述したように、検証モード情報CTHRが検証モードを示すものであった場合には、信号線130により伝送されてくるスルー信号を選択し、軟出力INTとして、次段の要素復号器において外部情報又はインターリーブデータEXTが入力される端子に出力する。
【0843】
さらに、セレクタ12010は、上述したように、検証モード情報CTHRが検証モードを示すものであった場合には、信号線130により伝送されてくるスルー信号を選択し、次段終結時刻情報TNPN、次段終結ステート情報TNSN、次段消去位置情報ERSN、次段事前確率情報消去情報EAPN、及び、次段インターリーブ開始位置信号ILSNとして、次段の要素復号器において終結時刻情報TNP、終結ステート情報TNS、消去情報TERS、事前確率情報消去情報TEAP、及び、インターリーブ開始位置信号ILSが入力される端子にそれぞれ出力する。
【0844】
このように、復号装置3は、外部からの入力信号をそのまま外部に出力する機能を有し、検証モードの際にスルー信号を入出力することによって、導通不良箇所を容易に判別することができ、ピン数が多い要素復号器を複数連接した場合であっても、容易にシステムの検証を行うことができ、優れた利便を提供することができる。
【0845】
5. 軟出力復号回路に関する特徴
つぎに、軟出力復号回路90に関する特徴毎の説明を行う。以下の特徴は、軟出力復号回路90の機能として備えられるものであるが、特徴の概念を明確化するために、適宜簡略化した図面を用いて説明する。
【0846】
5−1 符号情報の持たせ方
上述した符号情報生成回路151に関する特徴である。要素復号器50は、例えば先に図14乃至図17に示した畳み込み符号化器といった任意の要素符号化器による符号を、符号に依らず同一の構成で軟出力復号することができるものである。この目的を達成するために、要素復号器50は、以下に示す4つの特徴を有する。
【0847】
5−1−1 トレリス上の全枝の入出力パターンの算出
例えば、先に図14に示した畳み込み符号化器におけるトレリスは、一例を図19に示したように、各ステートから次時刻におけるステートへと2本のパスが到達する構造であり、全32本の枝を有する構造を有するものとなる。また、先に図15に示した畳み込み符号化器におけるトレリスは、一例を図21に示したように、各ステートから次時刻におけるステートへと4本のパスが到達する構造であり、全32本の枝を有するものとなる。さらに、先に図16に示した畳み込み符号化器におけるトレリスは、一例を図23に示したように、各ステートから次時刻におけるステートへと4本のパスが到達する構造であり、全32本の枝を有するものとなる。さらにまた、先に図17に示した畳み込み符号化器におけるトレリスは、一例を図25に示したように、各ステートから次時刻におけるステートへと4組のパラレルパスが到達する構造であり、全32本の枝を有するものとなる。また、これらの畳み込み符号化器は、結線の仕方によりメモリ数が可変となるが、32本以下の枝を有するトレリスとなる。
【0848】
そこで、軟出力復号回路90は、トレリス上の枝の本数が所定の値以下となることに着目し、符号構成を考慮せず、トレリス上の枝を主体に考慮することによって、全ての枝の入出力パターンを算出し、この情報を対数尤度Iγ及び対数軟出力Iλの算出の際に用いる。具体的には、軟出力復号回路90は、符号情報生成回路151によって、トレリス上の全ての枝の入出力パターンを算出し、この情報を枝入出力情報BIOとして、Iγ分配回路157及び軟出力算出回路161に供給する。
【0849】
なお、枝入出力情報BIOは、対数尤度Iαを算出するために、遷移元のステートから遷移先のステートへと、時間軸に沿って算出される情報である。すなわち、枝入出力情報BIOは、遷移先のステートから見て入力される枝を基準とした情報である。一方、軟出力復号回路90においては、対数尤度Iβを算出するために、遷移先のステートから遷移元のステートへと、時間軸とは逆順に沿って算出される枝入出力情報を算出する必要があるが、これは、Iγ分配回路157における枝入出力情報算出回路223によって、枝入出力情報BIとして算出される。すなわち、枝入出力情報BIは、遷移元のステートから見て出力していく枝を基準とした情報である。
【0850】
このようにすることによって、要素復号器50は、所定の本数以下の枝を有する任意のトレリス符号の復号を、同一の構成で行うことができる。すなわち、通常、各符号構成に応じた固有のトレリスに基づいた復号を行う必要があるところを、要素復号器50は、トレリス上の枝に着目することによって、符号構成に依らず、任意の符号の復号を行うことができる。このとき、要素復号器50は、要素符号化器が非線形符号であった場合にも、復号することができる。
【0851】
なお、ここでは、32本以下の枝を有するトレリス構造となる符号の復号を行う場合について説明したが、要素復号器50は、この枝の本数に限定されるものでないことはいうまでもない。
【0852】
以下、ここで示した手法における枝の番号付けとして、3つの具体例を示す。
【0853】
5−1−2 遷移元のステートと遷移先のステートとの間での番号付け
ボーゼンクラフト型の畳み込み符号化器においては、遅延素子に対して時系列にデータが保持されることから、遷移先のステートが限定される。具体的に説明するために、先に図18に示した畳み込み符号化器を用いると、遷移元のステートが“0000”であった場合には、シフトレジスタ2013、シフトレジスタ2012及びシフトレジスタ2011の内容が、次時刻ではシフトレジスタ2014、シフトレジスタ2013及びシフトレジスタ2012の内容にそのまま移行するため、遷移先のステートは、“0000”、“0001”に限定される。このように、ボーゼンクラフト型の畳み込み符号化器においては、メモリ数が決定された時点で遷移先のステートが決定される。そのため、ボーゼンクラフト型の畳み込み符号化器においては、符号構成に依らず、任意のステートと任意のステートとを結ぶ枝の有無を容易に求めることができる。
【0854】
そこで、軟出力復号回路90は、符号情報生成回路151によって、遷移元のステートと遷移先のステートとを結ぶ枝に対して一意に番号付けを行う。すなわち、軟出力復号回路90は、ボーゼンクラフト型の畳み込み符号の復号を行う場合には、トレリスの一意性を利用した枝の番号付けを行う。そして、軟出力復号回路90は、番号付けされた枝毎の入出力パターンを算出し、この情報を時間軸に沿って求められる枝入出力情報BIOとして、Iγ分配回路157及び軟出力算出回路161に供給する。また、軟出力復号回路90は、Iγ分配回路157における枝入出力情報算出回路223によって、少なくともメモリ数情報MN及び枝入出力情報BIOに基づいて、時間軸とは逆順に沿って求められる枝入出力情報BIを算出し、Iβ0用Iγ分配回路2241及びIβ1用Iγ分配回路2242に供給する。
【0855】
具体的には、軟出力復号回路90は、先に図14に示した符号化率が“1/n”で表されるボーゼンクラフト型の畳み込み符号化器の復号を行う場合には、符号情報生成回路151によって、例えば図67に示すように、メモリ数に応じて各枝に対して一意に番号付けを行い、時間軸に沿った枝入出力情報BIOを算出する。すなわち、軟出力復号回路90は、符号情報生成回路151によって、メモリ数が“4”の畳み込み符号化器の復号を行う場合には、同図(A)に示すように番号付けを行い、メモリ数が“3”の畳み込み符号化器の復号を行う場合には、同図(B)に示すように番号付けを行い、メモリ数が“2”の畳み込み符号化器の復号を行う場合には、同図(C)に示すように番号付けを行い、メモリ数が“1”の畳み込み符号化器の復号を行う場合には、同図(D)に示すように番号付けを行う。同図においては、例えば、ステート番号が“0”のステートへと入力される2本の各枝に“0”,“1”の番号を付し、ステート番号が“1”のステートへと入力される2本の各枝に“2”,“3”の番号を付している。
【0856】
一方、軟出力復号回路90は、枝入出力情報算出回路223によって、例えば図68に示すように、メモリ数に応じて各枝に対して一意に番号付けを行い、時間軸とは逆順に沿った枝入出力情報BIを算出する。すなわち、軟出力復号回路90は、枝入出力情報算出回路223によって、メモリ数が“4”の畳み込み符号化器の復号を行う場合には、同図(A)に示すように番号付けを行い、メモリ数が“3”の畳み込み符号化器の復号を行う場合には、同図(B)に示すように番号付けを行い、メモリ数が“2”の畳み込み符号化器の復号を行う場合には、同図(C)に示すように番号付けを行い、メモリ数が“1”の畳み込み符号化器の復号を行う場合には、同図(D)に示すように番号付けを行う。同図においては、例えば、ステート番号が“0”のステートから出力していく2本の各枝に“0”,“1”の番号を付し、ステート番号が“1”のステートから出力していく2本の各枝に“2”,“3”の番号を付している。
【0857】
また、軟出力復号回路90は、先に図15に示した符号化率が“2/3”で表されるボーゼンクラフト型の畳み込み符号化器の復号を行う場合には、符号情報生成回路151によって、例えば図69に示すように、メモリ数に応じて各枝に対して一意に番号付けを行い、時間軸に沿った枝入出力情報BIOを算出する。すなわち、軟出力復号回路90は、符号情報生成回路151によって、メモリ数が“3”の畳み込み符号化器の復号を行う場合には、同図(A)に示すように番号付けを行い、メモリ数が“2”の畳み込み符号化器の復号を行う場合には、同図(B)に示すように番号付けを行う。同図においては、例えば、ステート番号が“0”のステートへと入力される4本の各枝に“0”,“1”,“2”,“3”の番号を付し、ステート番号が“1”のステートへと入力される4本の各枝に“4”,“5”,“6”,“7”の番号を付している。
【0858】
一方、軟出力復号回路90は、枝入出力情報算出回路223によって、例えば図70に示すように、メモリ数に応じて各枝に対して一意に番号付けを行い、時間軸とは逆順に沿った枝入出力情報BIを算出する。すなわち、軟出力復号回路90は、枝入出力情報算出回路223によって、メモリ数が“3”の畳み込み符号化器の復号を行う場合には、同図(A)に示すように番号付けを行い、メモリ数が“2”の畳み込み符号化器の復号を行う場合には、同図(B)に示すように番号付けを行う。同図においては、例えば、ステート番号が“0”のステートから出力していく4本の各枝に“0”,“1”,“2”,“3”の番号を付し、ステート番号が“1”のステートから出力していく4本の各枝に“4”,“5”,“6”,“7”の番号を付している。
【0859】
このようにすることによって、軟出力復号回路90は、符号構成に依らず、枝番号から、遷移元のステートと遷移先のステートとを一意に把握することができる。したがって、例えば、あるステートの時にある入力がされたときの枝に対する番号付けといった、符号に依存した番号付けを行った場合には、遷移元のステートと遷移先のステートとは、一意に定まる必然性はないが、軟出力復号回路90は、トレリスの一意性を利用して、ステートに依存した枝の番号付けを行うことによって、枝番号と入出力パターンとの関係が一意に定まることから、簡易な制御で復号を行うことができる。
【0860】
なお、この手法による枝の番号付けの具体例としては、図67乃至図70に示すものが挙げられるが、遷移元のステートと遷移先のステートとを結ぶ枝に対して一意に番号付けがされていれば、具体的な番号は同図に示したものに限定されることはない。
【0861】
5−1−3 時間軸に沿った番号付け及び時間軸とは逆順に沿った番号付け
例えばマッシィ型といったボーゼンクラフト型の畳み込み符号化器以外のものにおいては、ボーゼンクラフト型の畳み込み符号化器のように、遅延素子に対して時系列にデータが保持されないことから、遷移先のステートが限定されることはない。具体的に説明するために、先に図22に示した畳み込み符号化器を用いると、遷移元のステートが“000”であった場合には、次時刻におけるシフトレジスタ2053の内容は、前時刻におけるシフトレジスタ2052の内容がそのまま移行したものではなく、また、次時刻におけるシフトレジスタ2052の内容は、前時刻におけるシフトレジスタ2051の内容がそのまま移行したものではない。そのため、遷移先のステートは、メモリ数毎には限定されず、符号構成に応じて多様となる。
【0862】
そこで、軟出力復号回路90は、符号情報生成回路151によって、遷移先のステートから見て入力される枝を基準とした番号付けを行うとともに、番号付けされた枝毎の入出力パターンを算出し、この情報を、時間軸に沿って求められる枝入出力情報BIOとして、Iγ分配回路157及び軟出力算出回路161に供給する。そして、軟出力復号回路90は、Iα算出回路158における制御信号生成回路240によって、符号構成に基づいて遷移元のステートを別途算出し、制御信号PSTとして加算比較選択回路242に供給する。また、軟出力復号回路90は、Iγ分配回路157における枝入出力情報算出回路223によって、少なくとも各時刻における出力に影響を与える生成行列情報CGに基づいて、遷移元のステートから見て出力していく枝を基準とした番号付けを行うとともに、番号付けされた枝毎の入出力パターンを算出し、この情報を、時間軸とは逆順に沿って求められる枝入出力情報BIとして、Iβ0用Iγ分配回路2241及びIβ1用Iγ分配回路2242に供給する。そして、軟出力復号回路90は、Iβ算出回路159における制御信号生成回路280によって、符号構成に基づいて遷移先のステートを別途算出し、制御信号NSTとしてIβ0用加算比較選択回路281及びIβ1用加算比較選択回路282に供給する。
【0863】
具体的には、軟出力復号回路90は、先に図16に示した符号化率が“2/3”で表されるマッシィ型の畳み込み符号化器の復号を行う場合には、符号情報生成回路151によって、例えば図71に示すように、メモリ数に応じて各枝に対する番号付けを行い、時間軸に沿った枝入出力情報BIOを算出する。すなわち、軟出力復号回路90は、符号情報生成回路151によって、メモリ数が“3”の畳み込み符号化器の復号を行う場合には、同図(A)に示すように番号付けを行い、メモリ数が“2”の畳み込み符号化器の復号を行う場合には、同図(B)に示すように番号付けを行う。同図においては、例えば、ステート番号が“0”のステートへと入力される4本の各枝に“0”,“1”,“2”,“3”の番号を付し、ステート番号が“1”のステートへと入力される4本の各枝に“4”,“5”,“6”,“7”の番号を付している。なお、ここでは、各ステートに入力される4本の枝に対する番号付けの手法の具体例については詳述しないが、軟出力復号回路90は、例えば、入力パターンの情報と、必要に応じて遷移元のステートの情報とを用いて、各枝に対する固有の番号付けを行うことができる。
【0864】
一方、軟出力復号回路90は、枝入出力情報算出回路223によって、例えば図72に示すように、メモリ数に応じて各枝に対する番号付けを行い、時間軸とは逆順に沿った枝入出力情報BIを算出する。すなわち、軟出力復号回路90は、枝入出力情報算出回路223によって、メモリ数が“3”の畳み込み符号化器の復号を行う場合には、同図(A)に示すように番号付けを行い、メモリ数が“2”の畳み込み符号化器の復号を行う場合には、同図(B)に示すように番号付けを行う。同図においては、例えば、ステート番号が“0”のステートから出力していく4本の各枝に“0”,“1”,“2”,“3”の番号を付し、ステート番号が“1”のステートから出力していく4本の各枝に“4”,“5”,“6”,“7”の番号を付している。なお、ここでは、各ステートに入力される4本の枝に対する番号付けの手法の具体例については詳述しないが、軟出力復号回路90は、例えば入力パターンの情報のみを用いて、各枝に対する固有の番号付けを行うことができる。
【0865】
このように、軟出力復号回路90は、各ステート毎に、時間軸に沿った番号付けと、時間軸とは逆順に沿った番号付けとを分けて行い、入出力パターンを算出するとともに、符号構成に基づいて遷移元のステート及び遷移先のステートを算出する。このようにすることによって、軟出力復号回路90は、要素符号のパラメータによりトレリスの形状が変化するマッシィ型の畳み込み符号であっても、復号することが可能となる。
【0866】
なお、この手法による枝の番号付けの具体例としては、図71及び図72に示すものが挙げられるが、具体的な番号は同図に示したものに限定されることはない。また、ここでは、マッシィ型の畳み込み符号化器の復号を行う場合について説明したが、この手法は、マッシィ型の畳み込み符号以外の非線形符号を含む任意の符号に適用できるものである。勿論、この手法は、ボーゼンクラフト型の畳み込み符号にも適用できるものである。
【0867】
5−1−4 トレリス全体の一意性に基づく番号付け
符号における入力ビット数がメモリ数以下の場合には、トレリス上における各ステートから次時刻における全てのステートへとパスが到達するトレリス構造となる場合がある。すなわち、トレリスが、各ステートから次時刻における全てのステートへとパスが到達する構造を有する場合には、符号構成に依らず、一意に遷移元のステート番号と遷移先のステート番号とを把握することができる。
【0868】
そこで、軟出力復号回路90は、符号情報生成回路151によって、トレリス全体の構造の一意性に基づいて、当該トレリス全体を考慮した全ての枝に対する番号付けを行う。そして、軟出力復号回路90は、番号付けされた枝毎の入出力パターンを算出し、この情報を時間軸に沿って求められる枝入出力情報BIOとして、Iγ分配回路157及び軟出力算出回路161に供給する。また、軟出力復号回路90は、Iγ分配回路157における枝入出力情報算出回路223によって、少なくともメモリ数情報MN及び枝入出力情報BIOに基づいて、時間軸とは逆順に沿って求められる枝入出力情報BIを算出し、Iβ0用Iγ分配回路2241及びIβ1用Iγ分配回路2242に供給する。
【0869】
具体的には、軟出力復号回路90は、先に図17に示した符号化率が“3/3”で表されるマッシィ型の畳み込み符号化器の復号を行う場合には、符号情報生成回路151によって、例えば図73に示すように、メモリ数に応じて各枝に対して一意に番号付けを行い、時間軸に沿った枝入出力情報BIOを算出する。すなわち、軟出力復号回路90は、符号情報生成回路151によって、メモリ数が“2”の畳み込み符号化器の復号を行う場合には、同図(A)に示すように番号付けを行い、メモリ数が“1”の畳み込み符号化器の復号を行う場合には、同図(B)に示すように番号付けを行う。同図(A)においては、例えば、ステート番号が“0”のステートへと入力される8本の各枝を2本ずつ束ねて得られる4組の各枝に“0,1”,“2,3”,“4,5”,“6,7”の番号を付し、ステート番号が“1”のステートへと入力される8本の各枝を2本ずつ束ねて得られる4組の各枝に“8,9”,“10,11”,“12,13”,“14,15”の番号を付している。なお、ここでは、各ステートに入力される複数組の枝に対する番号付けの手法、及び、1組の枝における各パラレルパスに対する番号付けの手法の具体例については詳述しないが、軟出力復号回路90は、例えば、生成行列情報CGに基づく場合分けを行い、各場合において、入力パターンの情報と遷移元のステートの情報とを用いることによって、各枝に対する固有の番号付けを行うことができる。
【0870】
一方、軟出力復号回路90は、枝入出力情報算出回路223によって、例えば図74に示すように、メモリ数に応じて各枝に対して一意に番号付けを行い、時間軸とは逆順に沿った枝入出力情報BIを算出する。すなわち、軟出力復号回路90は、枝入出力情報算出回路223によって、メモリ数が“2”の畳み込み符号化器の復号を行う場合には、同図(A)に示すように番号付けを行い、メモリ数が“1”の畳み込み符号化器の復号を行う場合には、同図(B)に示すように番号付けを行う。同図(A)においては、例えば、ステート番号が“0”のステートから出力していく8本の各枝を2本ずつ束ねて得られる4組の各枝に“0,1”,“2,3”,“4,5”,“6,7”の番号を付し、ステート番号が“1”のステートから出力していく8本の各枝を2本ずつ束ねて得られる4組の各枝に“8,9”,“10,11”,“12,13”,“14,15”の番号を付している。なお、ここでは、各ステートに入力される複数組の枝に対する番号付けの手法、及び、1組の枝における各パラレルパスに対する番号付けの手法の具体例については詳述しないが、軟出力復号回路90は、例えば、生成行列情報CGに基づく場合分けを行い、各場合において、入力パターンの情報と遷移元のステートの情報とを用いることによって、各枝に対する固有の番号付けを行うことができる。
【0871】
このように、軟出力復号回路90は、トレリスが、各ステートから次時刻における全てのステートへとパスが到達するトレリス構造を有する場合には、当該トレリス全体の構造の一意性に基づいて、全ての枝に対する番号付けを行うことによって、符号構成に依らず、枝番号から、遷移元のステートと遷移先のステートとを一意に把握することができる。したがって、軟出力復号回路90は、一意に遷移元のステート番号と遷移先のステート番号とを把握でき、簡易な制御で復号を行うことができる。
【0872】
なお、この手法による枝の番号付けの具体例としては、図73及び図74に示すものが挙げられるが、遷移元のステートと遷移先のステートとを結ぶ枝に対して一意に番号付けがされていれば、具体的な番号は同図に示したものに限定されることはない。
【0873】
5−2 終結情報の入力方法
上述した終結情報生成回路153に関する特徴である。PCCC、SCCC、TTCM及びSCTCMによる符号を繰り返し復号する場合には、終結処理が必須となる。そこで、要素復号器50は、以下に示す2つの手法により終結情報を生成する。
【0874】
5−2−1 入力ビット数分の情報の終結期間分の入力
上述したように、ボーゼンクラフト型の畳み込み符号化器においては、遷移先のステートが限定される。そこで、軟出力復号回路90は、上述したように、ボーゼンクラフト型の畳み込み符号を終結する場合には、終結情報として、畳み込み符号化器に対する入力ビット数分の情報を終結期間分だけ入力することによって、終結ステートを明示する。
【0875】
具体的には、入力ビット数が“1”であり、メモリ数が“2”のボーゼンクラフト型の畳み込み符号化器による符号を“00”で表されるステートへ終結する場合には、軟出力復号回路90は、終結情報生成回路153によって、例えば図75に示すように、入力ビット数分である1ビットの“0”を終結ステート情報TSMとして1タイムスロットで生成し、メモリ数分である2タイムスロット分だけ終結ステート情報TSMを生成することによって、“00”という終結ステートを明示することができる。
【0876】
このようにすることによって、要素復号器50は、符号化率がk/nで表される任意のボーゼンクラフト型の畳み込み符号の終結処理を行うことができる。要素復号器50は、終結情報を入力するためのピンを最小限に抑えた構成とすることができ、例えば終結パターンが長くなり連続した終結処理が必要な場合にも、終結情報を適切に生成することができ、終結情報の入力の不整合を回避することができる。
【0877】
5−2−2 終結ステートを示す情報の1タイムスロットでの入力
上述したように、例えばマッシィ型の畳み込み符号化器といったボーゼンクラフト型の畳み込み符号化器以外の要素符号化器においては、ボーゼンクラフト型の畳み込み符号化器のように、遷移先のステートが限定されることはない。そのため、ボーゼンクラフト型の畳み込み符号以外の符号を終結する場合には、終結情報として、入力ビット数分の情報を終結期間分だけ入力することはできない。
【0878】
そこで、軟出力復号回路90は、上述したように、終結情報として、終結ステートを示す情報を1タイムスロットで入力することによって、終結ステートを明示する。
【0879】
具体的には、入力ビット数が“1”であり、メモリ数が“2”のマッシィ型の畳み込み符号化器による符号を“00”で表されるステートへ終結する場合には、軟出力復号回路90は、終結情報生成回路153によって、例えば図76に示すように、終結ステートを示す2ビットの“00”を終結ステート情報TSMとして1タイムスロットで生成することによって、“00”という終結ステートを明示することができる。
【0880】
このようにすることによって、要素復号器50は、符号構成に応じてトレリスの構造が変化するマッシィ型の畳み込み符号を含むいかなるトレリス符号であっても終結処理を行うことができる。勿論、要素復号器50は、この手法を用いて、ボーゼンクラフト型の畳み込み符号の終結処理を行うこともできる。また、この手法は、例えばいわゆるビタビ復号といった軟出力復号以外の復号にも適用可能なものである。
【0881】
5−3 消去位置の処理
上述した受信値及び事前確率情報選択回路154に関する特徴である。
【0882】
軟出力復号においては、通常、少なくとも対数尤度Iγの算出時まで、パンクチャ等により符号出力が存在しない位置を示す情報を別途保持しておく必要があり、この情報を保持する記憶回路を備える等の対処が必要であった。
【0883】
そこで、軟出力復号回路90は、上述したように、受信値及び事前確率情報選択回路154によって、内部消去情報生成回路152から供給される内部消去位置情報IERSに基づいて、符号出力が存在しない位置を尤度が“0”のシンボルに置き換える。すなわち、軟出力復号回路90は、符号出力が存在しない位置に相当するビットが“0”であるか“1”であるかの確率が“1/2”であるものとすることによって、復号動作に影響を与えることなく、消去されていることに等価な状況を生成する。
【0884】
このようにすることによって、要素復号器50は、符号出力が存在しない位置を示す情報を保持する記憶回路を別途備える必要がないことから、回路規模の削減を図ることができる。
【0885】
5−4 対数尤度Iγの算出及び分配
上述したIγ算出回路156及びIγ分配回路157に関する特徴である。上述したように、要素復号器50は、例えば先に図14乃至図17に示した畳み込み符号化器といった任意の要素符号化器による符号を、符号に依らず同一の構成で軟出力復号することができるものである。この目的を達成するために、要素復号器50は、対数尤度Iγの算出及び分配に関し、以下に示す4つの特徴を有する。
【0886】
5−4−1 全入出力パターン分の対数尤度Iγの算出・分配
軟出力復号回路90は、任意の符号の復号を実現するために、Iγ算出回路156によって、あり得る全ての入出力パターン分の対数尤度Iγを算出し、Iγ分配回路157によって、符号構成に応じて決定される入出力パターンに応じて分配する。
【0887】
ここで、先に図14乃至図17に示した畳み込み符号化器を復号する場合について考える。これらの各畳み込み符号化器におけるトレリスは、32本以下の枝を有する構造となり、多くとも32通りの入出力パターンを有するものとなる。そこで、軟出力復号回路90は、図77に概略を示すように、Iγ算出回路156における情報・符号Iγ算出回路221によって、32通りの入出力パターンの全てを算出する。なお、同図において、“Iγ(00/000)”は、要素符号化器における入力データ/出力データが“00/000”である枝に対応する対数尤度Iγを示している。そして、軟出力復号回路90は、符号構成に応じて決定される入出力パターンに応じて、上述したIγ分配回路157におけるIα用Iγ分配回路2243、Iβ0用Iγ分配回路2241又はIβ1用Iγ分配回路2242のそれぞれに相当する32個のセレクタ5201,5202,・・・,52032のそれぞれによって、32通りの対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)の中から一の対数尤度Iγを選択し、選択されて得られた32通りの対数尤度Iγに対して所定の処理を施した後、各枝番号0,1,・・・,31に相当する対数尤度Iγ(0),Iγ(1),・・・,Iγ(31)として分配して出力する。
【0888】
このようにすることによって、要素復号器50は、所定の本数以下の枝を有する任意のトレリス符号の復号を、同一の構成で行うことができる。特に、この手法は、入出力パターンが少なく、トレリス上の枝の本数が多い場合には有効なものとなる。
【0889】
5−4−2 少なくとも一部の入出力パターン分の対数尤度Iγの算出・分配ところで、“5−4−1”に示した手法の場合、Iγ分配回路157におけるIα用Iγ分配回路2243、Iβ0用Iγ分配回路2241又はIβ1用Iγ分配回路2242は、32通りの信号から一の信号を選択する、すなわち、32対1の選択を行うセレクタを少なくとも32個有することになり、回路規模が膨大なものとなる可能性がある。
【0890】
そこで、軟出力復号回路90は、Iγ算出回路156によって、32通りの入出力パターンの全てを算出するのではなく、少なくとも一部の入出力パターン分の対数尤度Iγを算出し、Iγ分配回路157によって、所望の対数尤度Iγを選択した後、選択した各対数尤度Iγを加算する。
【0891】
具体的に説明するために、ここでも、先に図14乃至図17に示した畳み込み符号化器を復号する場合について考える。この場合、図14に示した畳み込み符号化器は、多くとも16通りの入出力パターンを有し、図15に示した畳み込み符号化器は、多くとも32通りの入出力パターンを有し、図16に示した畳み込み符号化器は、多くとも8通りの入出力パターンを有し、図17に示した畳み込み符号化器は、多くとも16通りの入出力パターンを有する。ここで、最も入出力パターンが多い図15に示した畳み込み符号化器は、多くとも4通りの入力パターンと、多くとも8通りの出力パターンを有する。そこで、軟出力復号回路90は、図78に概略を示すように、Iγ算出回路156における情報・符号Iγ算出回路221によって、4通りの入力パターンと、8通りの出力パターンとに応じた対数尤度Iγを算出する。そして、軟出力復号回路90は、符号構成に応じて決定される入出力パターンに応じて、Iγ分配回路157におけるセレクタ5301によって、4通りの入力パターンに対応する4つの対数尤度Iγの中から一の対数尤度Iγを選択するとともに、Iγ分配回路157におけるセレクタ5302によって、8通りの入力パターンに対応する8個の対数尤度Iγの中から一の対数尤度Iγを選択し、Iγ分配回路157における加算器531によって、選択されて得られた2つの対数尤度Iγを加算し、所定の処理を施した後、枝番号に相当する対数尤度Iγとして分配して出力する。Iγ分配回路157は、このような2つのセレクタ5301,5302と、加算器531とを有する回路を多くとも32個有することによって、上述したIα用Iγ分配回路2243、Iβ0用Iγ分配回路2241又はIβ1用Iγ分配回路2242のそれぞれを構成する。
【0892】
このようにすることによって、要素復号器50は、32対1の選択を行うセレクタといった回路規模が膨大なセレクタを備える必要がなく、4対1の選択及び8対1の選択を行うセレクタといった回路規模が少ないセレクタと加算器とを備えればよく、少ない回路規模で、所定の本数以下の枝を有する任意のトレリス符号の復号を、同一の構成で行うことができる。特に、この手法は、トレリス上の枝の本数に対して入出力パターンが多い場合には有効なものとなる。また、この手法は、例えば、符号化装置1がTTCM又はSCTCMによる符号化を行うものであった場合や、符号化装置1における入力データ及び出力データをシンボル単位で復号する場合等、入力ビット及び出力ビットをビット単位で分離することができない場合には、極めて有効なものとなる。
【0893】
5−4−3 全入出力パターン分の対数尤度Iγに対する1時刻毎の正規化
Log−BCJRアルゴリズムにおいては、一般に、対数尤度同士の差分値のみが結果に影響し、対数尤度の値が大きいものほど重要度が高い。
【0894】
しかしながら、対数尤度Iγは、算出される過程において、時刻の経過とともに値の分布に偏りを生じ、一定時間の経過後には、対数尤度Iγを算出する系が表現可能な値の範囲を超過してしまうことがある。
【0895】
例えば、対数尤度Iγをハードウェアのように正値のみを扱う系により算出する場合には、対数尤度Iγの値は、徐々に増大していき、一定時間の経過後には、ハードウェアが表現可能な値の範囲を超過してしまう。また、対数尤度Iγを浮動小数点演算を行う系のように負値のみを扱う系により算出する場合を考えると、この場合には、対数尤度Iγの値は、徐々に減少していき、一定時間の経過後には、ソフトウェアとして表現可能な値の範囲を超過してしまう。このように、対数尤度Iγが表現可能な値の範囲を超過してしまい、当該表現可能な値の範囲を超過した対数尤度Iγは、クリップされることになる。
【0896】
そこで、軟出力復号回路90は、対数尤度Iγがクリップされ、適切な対数尤度同士の差分を表現することが困難となることを回避するために、対数尤度Iγの分布の偏りを是正するための正規化を行う。
【0897】
具体的には、軟出力復号回路90は、“5−4−1”に示した手法によりあり得る全ての入出力パターン分の対数尤度Iγを算出する場合には、以下のような正規化を行う。すなわち、軟出力復号回路90は、Iγ算出回路156におけるIγ正規化回路222によって、情報・符号Iγ算出回路221により算出された複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のうち、確率γが最大値を有するものに対応する対数尤度Iγを、とり得る確率の最大値に対応する対数尤度に合わせるように、各対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)に対して所定の演算を施す。
【0898】
具体的には、軟出力復号回路90は、要素復号器50が対数尤度を負値として扱う場合、すなわち、上述した定数sgnが“+1”の場合には、図79に概略を示すように、Iγ算出回路156におけるIγ正規化回路222によって、情報・符号Iγ算出回路221により算出された複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のうち、最大値を有するものを、要素復号器50が表現可能な最大値に合わせるように、複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のそれぞれに対して所定の値を加算する。
【0899】
例えば、Iγ正規化回路222は、ある時刻に算出された複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)が、それぞれ、図80(A)に示す分布を呈しているものとしたとき、同図(B)に示すように、これらの対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のうち、最大値であるプロット×で示す対数尤度Iγ(11/111)を“0”とするように、複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のそれぞれに対して所定の値を加算する。
【0900】
また、軟出力復号回路90は、要素復号器50が対数尤度を正値として扱う場合、すなわち、上述した定数sgnが“−1”の場合には、Iγ算出回路156におけるIγ正規化回路222によって、情報・符号Iγ算出回路221により算出された複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のうち、最小値を有するものを、要素復号器50が表現可能な最小値に合わせるように、複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のそれぞれから所定の値を減算する。
【0901】
例えば、Iγ正規化回路222は、ある時刻に算出された複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)が、それぞれ、図81(A)に示す分布を呈しているものとしたとき、同図(B)に示すように、これらの対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のうち、最小値であるプロット○で示す対数尤度Iγ(00/000)を“0”とするように、複数の対数尤度Iγ(00/000),Iγ(01/000),・・・,Iγ(11/111)のそれぞれから所定の値を減算する。
【0902】
軟出力復号回路90は、Iγ正規化回路222によって、このような正規化を行った後、必要なダイナミックレンジに応じてクリッピングを行い、対数尤度GA,GB0,GB1としてIγ分配回路157に供給する。
【0903】
要素復号器50は、Iγ正規化回路222によって、1時刻毎にこのような正規化を行うことで、Iγ算出回路156からIγ分配回路157へと供給される対数尤度GA,GB0,GB1のビット数を削減することができる。また、要素復号器50は、値が大きく重要度の高い対数尤度がクリップされる事態を招くことがなく、適切な対数尤度同士の差分を表現することが可能となり、高精度の復号を行うことができる。
【0904】
なお、要素復号器50は、Iγ正規化回路222を必ずしもIγ算出回路156の内部に備える必要はない。例えば、要素復号器50は、Iγ分配回路157の後段にIγ正規化回路222を設けるようにしてもよい。勿論、この手法は、任意の符号の復号を実現する場合のみならず、固定符号を復号する場合にも有効なものである。
【0905】
5−4−4 少なくとも一部の入出力パターン分の対数尤度Iγに対する正規化
軟出力復号回路90は、“5−4−2”に示した手法により少なくとも一部の入出力パターン分の対数尤度Iγを算出する場合には、以下のような正規化を行う。すなわち、軟出力復号回路90は、Iγ算出回路156におけるIγ正規化回路222によって、情報・符号Iγ算出回路221により算出された入力パターンに応じた複数の対数尤度Iγのうち、確率γが最大値を有するものに対応する対数尤度Iγを、とり得る確率の最大値に対応する対数尤度に合わせるように、各対数尤度Iγに対して所定の演算を施す。
【0906】
具体的には、軟出力復号回路90は、要素復号器50が対数尤度を負値として扱う場合、すなわち、上述した定数sgnが“+1”の場合には、図82に概略を示すように、Iγ算出回路156におけるIγ正規化回路222によって、情報・符号Iγ算出回路221により算出された入力パターンに応じた複数の対数尤度Iγのうち、最大値を有するものを、要素復号器50が表現可能な最大値に合わせるように、複数の対数尤度Iγのそれぞれに対して所定の値を加算するとともに、情報・符号Iγ算出回路221により算出された出力パターンに応じた複数の対数尤度Iγのうち、最大値を有するものを、要素復号器50が表現可能な最大値に合わせるように、複数の対数尤度Iγのそれぞれに対して所定の値を加算し、正規化を行う。
【0907】
また、軟出力復号回路90は、要素復号器50が対数尤度を正値として扱う場合、すなわち、上述した定数sgnが“−1”の場合には、Iγ算出回路156におけるIγ正規化回路222によって、情報・符号Iγ算出回路221により算出された入力パターンに応じた複数の対数尤度Iγのうち、最小値を有するものを、要素復号器50が表現可能な最小値に合わせるように、複数の対数尤度Iγのそれぞれに対して所定の値を加算するとともに、情報・符号Iγ算出回路221により算出された出力パターンに応じた複数の対数尤度Iγのうち、最小値を有するものを、要素復号器50が表現可能な最小値に合わせるように、複数の対数尤度Iγのそれぞれに対して所定の値を加算し、正規化を行う。
【0908】
すなわち、軟出力復号回路90は、入力パターンに応じた対数尤度Iγと、出力パターンに応じた対数尤度Iγとに対して、それぞれ、正規化を行う。
【0909】
軟出力復号回路90は、Iγ正規化回路222によって、このような正規化を行った後、必要なダイナミックレンジに応じてクリッピングを行い、対数尤度GA,GB0,GB1としてIγ分配回路157に供給する。
【0910】
要素復号器50は、Iγ正規化回路222によって、1時刻毎にこのような正規化を行うことで、最大値又は最小値を有する対数尤度Iγを探索する規模を小さくすることができ、処理の高速化及び回路規模の削減を図ることができる。そして、要素復号器50は、Iγ算出回路156からIγ分配回路157へと供給される対数尤度GA,GB0,GB1のビット数を削減することができ、値が大きく重要度の高い対数尤度がクリップされる事態を招くことがなく、適切な対数尤度同士の差分を表現することが可能となり、高精度の復号を行うことができる。
【0911】
ただし、この場合、符号構成によっては、最終的な対数尤度Iγの最大値又は最小値が、要素復号器50が表現可能な最大値又は最小値に一致するとは限らないが、全ての入出力パターンが現れる場合には、“5−4−3”に示した手法による正規化と同等になることから、性能が劣化することはない。
【0912】
なお、要素復号器50は、この場合においても、Iγ正規化回路222を必ずしもIγ算出回路156の内部に備える必要はない。
【0913】
5−5 対数尤度Iα,Iβの算出
上述したIα算出回路158及びIβ算出回路159に関する特徴である。また、特徴によっては、Iγ分配回路157に関するものもある。要素復号器50は、対数尤度Iα,Iβを算出するにあたって、以下に示す9つの特徴を有する。
【0914】
5−5−1 対数尤度Iαと対数尤度Iγとの和の算出
軟出力復号において、対数軟出力Iλを算出する際には、上式(55)に示したように、対数尤度Iαと対数尤度Iγとの和を予め求める必要がある。すなわち、軟出力復号においては、通常、対数軟出力Iλを算出するために、対数尤度Iαと対数尤度Iγとの和を算出する回路を別途備える必要がある。そのため、対数軟出力Iλを算出する回路の規模が増大する虞がある。
【0915】
そこで、軟出力復号回路90は、対数尤度Iαを算出する過程で求められる対数尤度Iαと対数尤度Iγとの和Iα+Iγを、対数軟出力Iλの算出に流用する。具体的には、軟出力復号回路90は、上述したように、Iα算出回路158によって、算出した対数尤度Iαをそのまま出力するのではなく、算出した対数尤度Iαと対数尤度Iγとの和を出力する。すなわち、Iα算出回路158は、加算比較選択回路241,242により対数尤度Iαを算出する過程で求められる対数尤度Iαと対数尤度Iγとの和Iα+Iγを出力する。
【0916】
このようにすることによって、要素復号器50は、対数軟出力Iλを算出するために必要となる対数尤度Iαと対数尤度Iγとの和を算出する回路を備える必要がなくなり、回路規模の削減を図ることができる。
【0917】
5−5−2 パラレルパスに対する前処理
例えば先に図17に示した畳み込み符号化器による符号のように、トレリス上にパラレルパスが存在する符号を復号したい場合がある。ここで、図17に示した畳み込み符号化器の場合を例とすると、トレリスは、先に図25に一例を示したように、各ステートから次時刻におけるステートへと2本1組のパラレルパスが4組到達する構造となる。すなわち、この場合のトレリスは、各ステートに8本のパスが到達する構造となる。
【0918】
ここで、パラレルパスは、遷移元のステートが同一であり且つ遷移先のステートが同一であることに着目する。すなわち、パラレルパスは、1本のパスとして擬制できることに着目する。この点に着目することによって、軟出力復号回路90は、トレリス上にパラレルパスが存在する符号を復号する場合には、対数尤度Iα,Iβを算出する前に、予めパラレルパスに対応する対数尤度Iγに対してlog−sum演算を行う。具体的には、軟出力復号回路90は、上述したIγ分配回路157におけるIβ0用パラレルパス処理回路2251、Iβ1用パラレルパス処理回路2252及びIα用パラレルパス処理回路2253を備え、パラレルパスに対応する対数尤度Iγに対してlog−sum演算を行い、パラレルパスを束ねる。
【0919】
このようにすることによって、要素復号器50は、Iα算出回路158及びIβ算出回路159の処理の負担を軽減することができ、性能を劣化することなく処理の高速化を図ることができる。
【0920】
なお、要素復号器50は、Iγ分配回路157にパラレルパスを束ねる機能を持たせているが、この構成に限定される必要はない。すなわち、要素復号器50としては、対数尤度Iα,Iβの算出前に、パラレルパスに対応する対数尤度Iγを束ねればよい。また、ここでは、2本のパラレルパスを1組に束ねるものとして説明しているが、例えば4本といった任意の数のパラレルパスを1組に束ねるようにしてもよい。
【0921】
5−5−3 加算比較選択回路の共用
要素復号器50は、任意の符号の復号を可能とするものであるが、入力ビット数をkとしたとき、各符号を復号するためには、対数尤度Iα,Iβを算出するために加算比較選択処理及びlog−sum補正により補正項を追加する処理を行う加算比較選択回路として、各ステートに2k本のパスが到達するトレリスに対応するものを個別に備える必要がある。このような加算比較選択回路は、一般に、要素符号化器に対する入力ビット数kが大きい符号に対応するものほど、回路規模が増大し、処理の負担が大きくなる。
【0922】
ここで、先に図14乃至図17に示した4種類の畳み込み符号化器による符号を復号する場合を考える。この場合、図14に示した畳み込み符号化器による符号に対応する加算比較選択処理回路としては、各ステートから次時刻におけるステートへと21=2本のパスが到達する構造を有するトレリスに対応するものが必要となる。また、図15及び図16に示した畳み込み符号化器による符号に対応する加算比較選択処理回路としては、各ステートから次時刻におけるステートへと22=4本のパスが到達する構造を有するトレリスに対応するものが必要となる。さらに、図17に示した畳み込み符号化器による符号に対応する加算比較選択処理回路としては、各ステートから次時刻におけるステートへと23=8本のパスが到達する構造を有するトレリスに対応するものが必要となる。
【0923】
ところで、図17に示した畳み込み符号化器による符号は、トレリス上にパラレルパスが存在するものである。このとき、“5−5−2”に示した手法によりパラレルパスを束ねた場合には、この符号のトレリスは、畳み込み符号化器におけるメモリ数ν=2を用いて、各ステートから次時刻におけるステートへと2ν=22=4本のパスが到達する構造を有するものと擬制することができる。
【0924】
そこで、軟出力復号回路90は、要素符号化器に対する入力ビット数がk=3である符号に対応する加算比較選択回路を備えず、要素符号化器に対する入力ビット数がk=2=νである符号に対応する加算比較選択回路と共用する。
【0925】
具体的には、軟出力復号回路90は、Iα算出回路158における加算比較選択回路として、要素符号化器に対する入力ビット数がk=1,2である符号に対応する加算比較選択回路241,242のみを備えるとともに、Iβ算出回路159における加算比較選択回路としても、要素符号化器に対する入力ビット数がk=1,2である符号に対応する加算比較選択回路283,284のみを備え、要素符号化器に対する入力ビット数がk=3である符号に対する処理を、加算比較選択回路242,284により行う。すなわち、軟出力復号回路90は、要素符号化器に対する入力ビット数がk=3であり且つメモリ数がν=2<kである符号であって、トレリス上にパラレルパスが存在する符号に対応する加算比較選択回路の代わりに、要素符号化器に対する入力ビット数がk=2=νである符号に対応する加算比較選択回路を共用する。
【0926】
このようにすることによって、要素復号器50は、要素符号化器に対する入力ビット数がk=3である符号に対応する加算比較選択回路を備える必要がなく、回路規模の削減を図ることができる。
【0927】
なお、ここでは、要素符号化器に対する入力ビット数がk=3である符号に対応する加算比較選択回路を、要素符号化器に対する入力ビット数がk=2である符号に対応する加算比較選択回路と共用する例について説明したが、要素復号器50としては、符号構成によっては、例えば、要素符号化器に対する入力ビット数がk=2である符号に対応する加算比較選択回路を、要素符号化器に対する入力ビット数がk=1である符号に対応する加算比較選択回路と共用するといったように、要素符号化器に対する入力ビット数が小さい符号に対応する加算比較選択回路と共用することもできる。例えば、要素符号化器に対する入力ビット数がk=3であり、各ステートから任意のステートに対して4本1組のパラレルパスが2組到達しているような符号において、これらの4本のパラレルパスを1組に束ねた場合には、要素符号化器に対する入力ビット数がk=1である符号に対応する加算比較選択回路と共用することができる。すなわち、要素復号器50は、要素符号化器に対する入力ビット数がk1であり且つメモリ数がν<k1である符号であって、トレリス上にパラレルパスが存在する符号に対応する加算比較選択回路を、要素符号化器に対する入力ビット数がk2<k1であり且つメモリ数がνである符号に対応する加算比較選択回路と共用することができるものである。
【0928】
5−5−4 対数軟出力Iλの算出用の対数尤度Iγの出力
さて、“5−5−2”に示した手法によりパラレルパスを束ねた場合には、Iα算出回路158及びIβ算出回路159における加算比較選択回路の処理が簡易なものとなり、処理の高速化の面で有効であることは、上述した通りであるが、最終的に必要な結果である対数軟出力Iλを算出するためには、各パラレルパスに対応する個別のメトリックが必要となる。すなわち、軟出力復号においては、対数軟出力Iλを算出する際には、パラレルパスを束ねた場合の対数尤度Iγを、そのまま用いることはできない。
【0929】
そこで、軟出力復号回路90は、トレリス上にパラレルパスが存在する符号を復号する場合であって、パラレルパスを束ねた場合には、対数軟出力Iλを算出するために用いる対数尤度Iγを別途出力する。具体的には、軟出力復号回路90は、Iγ分配回路157におけるIα用Iγ分配回路2243により分配して得られた対数尤度PGAを、Iα用パラレルパス処理回路2253に供給するとともに、対数尤度DGABとして別途出力する。
【0930】
このようにすることによって、要素復号器50は、復号結果に影響を与えることなく、パラレルパスを束ねることが可能となり、結果として、Iα算出回路158及びIβ算出回路159の処理の負担を軽減し、性能を劣化することなく処理の高速化を図ることが可能となる。すなわち、要素復号器50は、パラレルパスを束ねる際には、必然的に、対数軟出力Iλを算出するために用いる対数尤度Iγを別途出力することになる。
【0931】
5−5−5 パラレルパスに対する対数尤度Iαと対数尤度Iγとの和の算出“5−5−1”に示したように、対数軟出力Iλを算出するために、対数尤度Iαを算出する過程で求められる対数尤度Iαと対数尤度Iγとの和Iα+Iγを出力することは、回路規模の削減の面から有効であるが、トレリス上にパラレルパスが存在する符号を復号するにあたっては、“5−5−1”に示した手法により求めた対数尤度Iαと対数尤度Iγとの和Iα+Iγを、そのまま出力することはできない。
【0932】
そこで、軟出力復号回路90は、トレリス上にパラレルパスが存在する符号を復号する場合であって、パラレルパスを束ねた場合には、対数尤度Iαを算出するための加算比較選択回路とは別に、対数尤度Iαと対数尤度Iγとの和Iα+Iγを算出する回路を備え、この算出結果を対数軟出力Iλの算出に用いる。具体的には、軟出力復号回路90は、Iα算出回路158におけるIα+Iγ算出回路243を備え、このIα+Iγ算出回路243によって、加算比較選択回路242により算出される対数尤度Iαと、Iγ分配回路157によりパラレルパスを束ねない状態で得られる対数尤度Iγとを加算し、この和を対数軟出力Iλの算出に用いる。
【0933】
このようにすることによって、要素復号器50は、復号結果に影響を与えることなく、パラレルパスを束ねることが可能となり、結果として、Iα算出回路158及びIβ算出回路159の処理の負担を軽減し、性能を劣化することなく処理の高速化を図ることが可能となる。すなわち、要素復号器50は、パラレルパスを束ねる際には、必然的に、対数軟出力Iλを算出するために用いる対数尤度Iαと対数尤度Iγとの和を別途算出することになる。
【0934】
5−5−6 符号構成に応じた対数尤度の選択
先に“5−1−2”に示したように、ボーゼンクラフト型の畳み込み符号化器においては、遅延素子に対して時系列にデータが保持されることから、遷移先のステートが限定され、トレリスに一意性が存在する。
【0935】
そこで、軟出力復号回路90は、ボーゼンクラフト型の畳み込み符号を復号する場合には、トレリスの一意性を利用して、畳み込み符号化器のメモリ数が可変となる場合にも容易に復号できる機能を備える。具体的には、軟出力復号回路90は、先に示した図34、図36、図39及び図40には図示していないが、Iα算出回路158における加算比較選択回路241,242と、Iβ算出回路159における加算比較選択回路283,284との内部に、処理を行う対数尤度Iα,Iβを選択するセレクタを備える。
【0936】
例えば、先に図14に示した畳み込み符号化器のように、メモリ数が“1”、“2”、“3”、“4”の間で可変となる畳み込み符号化器におけるトレリスの一例を、メモリ数に応じてそれぞれ、図83(A)、(B)、(C)、(D)に示す。すなわち、同図(A)に示すトレリスは、メモリ数が“1”の場合の一例であり、同図(B)に示すトレリスは、メモリ数が“2”の場合の一例であり、同図(C)に示すトレリスは、メモリ数が“3”の場合の一例であり、同図(D)に示したトレリスは、メモリ数が“4”の場合の一例である。
【0937】
これらの4つのトレリスにおいてステート番号が“0”のステートを合わせ、各トレリスを重ねると、図84に示すようになる。同図において、実線で示す枝は、図83(A)に示したトレリス上の枝であり、破線で示す枝は、図83(B)に示したトレリス上の枝であり、一点鎖線で示す枝は、図83(C)に示したトレリス上の枝であり、二点鎖線で示す枝は、図83(D)に示したトレリス上の枝である。
【0938】
図84からわかるように、ステート番号が“0”、“1”のステートに到達する枝は、4通りの枝が重なったものと、4通りの枝が互いに異なるステートから到達するものとがある。したがって、畳み込み符号化器のメモリ数を可変にした場合には、メモリ数に応じて、互いに異なるステートから到達する4本の枝のうちの1本を選択すればよい。
【0939】
また、ステート番号が“2”、“3”のステートに到達する枝は、3通りの枝が重なったものと、3通りの枝が互いに異なるステートから到達するものとがある。したがって、畳み込み符号化器のメモリ数を可変にした場合には、メモリ数に応じて、互いに異なるステートから到達する3本の枝のうちの1本を選択すればよい。
【0940】
さらに、ステート番号が“4”、“5”、“6”、“7”のステートに到達する枝は、2通りの枝が重なったものと、2通りの枝が互いに異なるステートから到達するものとがある。したがって、畳み込み符号化器のメモリ数を可変にした場合には、メモリ数に応じて、互いに異なるステートから到達する2本の枝のうちの1本を選択すればよい。
【0941】
また、ステート番号が“8”以降のステートに到達する枝は、図83(D)に示した畳み込み符号化器によるもののみであることから、枝の選択動作を行う必要はない。
【0942】
これらのことを考慮すると、上述した16個のlog−sum演算回路245nを有する加算比較選択回路241としては、例えば図85に概略を示すように、4つのセレクタ5401,5402,5403,5404を有し、次時刻における対数尤度ALを算出する際に、前時刻において算出した対数尤度ALを選択すればよいことになる。
【0943】
すなわち、加算比較選択回路241は、セレクタ5401によって、メモリ数情報MNに基づいて、前時刻において算出された対数尤度ALのうち、遷移元のステート番号が“1”であるステートに対応する対数尤度AL01、遷移元のステート番号が“2”であるステートに対応する対数尤度AL02、遷移元のステート番号が“4”であるステートに対応する対数尤度AL04、遷移元のステート番号が“8”であるステートに対応する対数尤度AL08のうちの一の対数尤度を選択する。セレクタ5401は、例えば、要素符号化器がメモリ数が“1”のものであった場合には、対数尤度AL01を選択し、要素符号化器がメモリ数が“2”のものであった場合には、対数尤度AL02を選択し、要素符号化器がメモリ数が“3”のものであった場合には、対数尤度AL04を選択し、要素符号化器がメモリ数が“4”のものであった場合には、対数尤度AL08を選択する。log−sum演算回路2451,2452には、対数尤度AL00が対数尤度A0として供給されるとともに、セレクタ5401により選択された対数尤度が対数尤度A1として供給される。
【0944】
また、加算比較選択回路241は、セレクタ5402によって、メモリ数情報MNに基づいて、前時刻において算出された対数尤度ALのうち、遷移元のステート番号が“3”であるステートに対応する対数尤度AL03、遷移元のステート番号が“5”であるステートに対応する対数尤度AL05、遷移元のステート番号が“9”であるステートに対応する対数尤度AL09のうちの一の対数尤度を選択する。セレクタ5402は、例えば、要素符号化器がメモリ数が“2”のものであった場合には、対数尤度AL03を選択し、要素符号化器がメモリ数が“3”のものであった場合には、対数尤度AL05を選択し、要素符号化器がメモリ数が“4”のものであった場合には、対数尤度AL09を選択する。log−sum演算回路2453,2454には、対数尤度AL01が対数尤度A0として供給されるとともに、セレクタ5402により選択された対数尤度が対数尤度A1として供給される。
【0945】
さらに、加算比較選択回路241は、セレクタ5403によって、メモリ数情報MNに基づいて、前時刻において算出された対数尤度ALのうち、遷移元のステート番号が“6”であるステートに対応する対数尤度AL06、遷移元のステート番号が“10”であるステートに対応する対数尤度AL10のうちの一の対数尤度を選択する。セレクタ5403は、例えば、要素符号化器がメモリ数が“3”のものであった場合には、AL06を選択し、要素符号化器がメモリ数が“4”のものであった場合には、AL10を選択する。log−sum演算回路2455,2456には、対数尤度AL02が対数尤度A0として供給されるとともに、セレクタ5403により選択された対数尤度が対数尤度A1として供給される。
【0946】
さらにまた、加算比較選択回路241は、セレクタ5404によって、メモリ数情報MNに基づいて、前時刻において算出された対数尤度ALのうち、遷移元のステート番号が“7”であるステートに対応する対数尤度AL07、遷移元のステート番号が“11”であるステートに対応する対数尤度AL11のうちの一の対数尤度を選択する。セレクタ5404は、例えば、要素符号化器がメモリ数が“3”のものであった場合には、AL07を選択し、要素符号化器がメモリ数が“4”のものであった場合には、AL11を選択する。log−sum演算回路2457,2458には、対数尤度AL03が対数尤度A0として供給されるとともに、セレクタ5404により選択された対数尤度が対数尤度A1として供給される。
【0947】
このように、軟出力復号回路90は、加算比較選択回路内にセレクタを備えることによって、メモリ数が可変となるボーゼンクラフト型の畳み込み符号を復号することができる。すなわち、軟出力復号回路90は、ボーゼンクラフト型の畳み込み符号のトレリスの一意性を利用することによって、メモリ数に応じた符号のトレリスを効率よく重ねることができることから、メモリ数が可変となる符号の復号を可能とする要素復号器50を容易に実現することができる。
【0948】
なお、ここでは、Iα算出回路158における加算比較選択回路241を例にあげて説明したが、要素復号器50は、加算比較選択回路242や、Iβ算出回路159における加算比較選択回路283,284においても、同様の機能を備えるものである。
【0949】
また、上述した例では、最大で4対1の選択を行うセレクタを備えるものとして説明したが、トレリスの重ね方には任意性があり、この重ね方によっては、セレクタの規模を小さくすることも可能である。
【0950】
5−5−7 対数尤度Iα,Iβに対する正規化
対数尤度Iα,Iβは、上述した対数尤度Iγと同様に、算出される過程において、時刻の経過とともに値の分布に偏りを生じ、一定時間の経過後には、対数尤度Iα,Iβを算出する系が表現可能な値の範囲を超過してしまうことがある。
【0951】
そこで、軟出力復号回路90は、対数尤度Iα,Iβの分布の偏りを是正するための正規化を行う。
【0952】
この正規化の第1の方法としては、“5−4−3”に示した対数尤度Iγに対する正規化方法と同様に、要素復号器50が対数尤度を負値として扱う場合、すなわち、上述した定数sgnが“+1”の場合には、Iα算出回路158におけるIα正規化回路250,272及びIβ算出回路159におけるIβ0正規化回路291,308等によって、1時刻毎に、算出された複数の対数尤度Iα,Iβのうち、最大値を有するものを、要素復号器50が表現可能な最大値に合わせるように、複数の対数尤度Iα,Iβのそれぞれに対して所定の値を加算するものが考えられる。また、正規化の第1の方法としては、要素復号器50が対数尤度を正値として扱う場合、すなわち、上述した定数sgnが“−1”の場合には、Iα算出回路158におけるIα正規化回路250,272及びIβ算出回路159におけるIβ0正規化回路291,308等によって、1時刻毎に、算出された複数の対数尤度Iα,Iβのうち、最小値を有するものを、要素復号器50が表現可能な最小値に合わせるように、複数の対数尤度Iα,Iβのそれぞれから所定の値を減算するものが考えられる。
【0953】
この第1の方法による正規化を行うIα算出回路158におけるlog−sum演算回路245n,256nと、Iβ算出回路159におけるlog−sum演算回路286n,292nとは、図86に概略を示すlog−sum演算回路550のように表すことができる。すなわち、log−sum演算回路550は、対数尤度Iγと1時刻前に算出された対数尤度Iα,Iβとを、加算器551により加算し、得られたデータから補正項算出回路552により補正項の値を算出する。そして、log−sum演算回路550は、加算器533によって、加算器551からのデータと補正項算出回路552からのデータとを加算し、正規化回路554によって、加算器553からのデータに基づく判定情報JDに基づいて、上述した正規化を行う。正規化されたデータは、レジスタ555により1時刻分だけ遅延され、対数尤度Iα,Iβとして、加算器551に供給されるとともに、外部に出力される。
【0954】
ここで、対数尤度Iαの正規化を行う場合について説明するために、1時刻前に算出された対数尤度Iαと対数尤度Iγのダイナミックレンジを、それぞれ、a,gと表すものとすると、正規化回路554は、図87に示すような正規化を行うことになる。なお、ここでは、要素復号器50が表現可能な最大値又は最小値を“0”とする。
【0955】
このとき、加算器551により算出された対数尤度Iαと対数尤度Iγとの和Iα+Iγのダイナミックレンジは、同図に示すように、a+gで表される。このときの対数尤度Iαと対数尤度Iγとの和Iα+Iγの最大値又は最小値をM1と表す。続いて、補正項算出回路552及び加算器553による処理を経て得られたlog−sum演算後のデータのダイナミックレンジは、log−sum演算によるダイナミックレンジは増加しないことから、a+gで表される。このときのデータの最大値又は最小値をM2と表す。
【0956】
正規化回路554は、log−sum演算後のデータの最大値又は最小値M2を“0”とするような正規化を行うとともに、ダイナミックレンジがa以上の値をクリップする。このとき、正規化回路554は、判定情報JDに基づいて、log−sum演算後のデータに対して加算又は減算すべき値を求め、正規化を行う。また、正規化回路554は、対数尤度Iβに対しても同様の正規化を行う。
【0957】
軟出力復号回路90は、このような正規化を1時刻毎に行うことによって、値が大きく重要度の高い対数尤度がクリップされる事態を招くことがなく、適切な対数尤度同士の差分を表現することが可能となり、高精度の復号を行うことができる。特に、軟出力復号回路90は、値が最大又は最小の対数尤度を“0”とする正規化を行う場合には、対数尤度が負値又は正値のみをとることから、正方向又は負方向の表現を必要とせず、必要なダイナミックレンジを最小限に抑えることができ、回路規模の削減を図ることができる。
【0958】
また、軟出力復号回路90は、他の正規化方法を用いることもできる。すなわち、軟出力復号回路90は、第2の方法として、Iα算出回路158におけるIα正規化回路250,272及びIβ算出回路159におけるIβ0正規化回路291,308等によって、算出された複数の対数尤度Iα,Iβのうち、確率が最大のメトリックに対応する対数尤度Iα,Iβが所定の値を超過したときに、複数の対数尤度Iα,Iβのそれぞれに対して、当該所定の値を用いた演算を行う。
【0959】
具体的には、軟出力復号回路90は、要素復号器50が対数尤度を負値として扱う場合、すなわち、上述した定数sgnが“+1”の場合には、Iα算出回路158におけるIα正規化回路250,272及びIβ算出回路159におけるIβ0正規化回路291,308等によって、算出された複数の対数尤度Iα,Iβのうち、最大値を有するものが所定の値を超過したときに、複数の対数尤度Iα,Iβのそれぞれに対して所定の値を加算し、要素復号器50が対数尤度を正値として扱う場合、すなわち、上述した定数sgnが“−1”の場合には、Iα算出回路158におけるIα正規化回路250,272及びIβ算出回路159におけるIβ0正規化回路291,308等によって、算出された複数の対数尤度Iα,Iβのうち、最小値を有するものが所定の値を超過したときに、複数の対数尤度Iα,Iβのそれぞれから所定の値を減算する。
【0960】
特に、軟出力復号回路90は、所定の値として、ダイナミックレンジの1/2を採用することによって、正規化処理が非常に簡易なものとなる。
【0961】
これについて、先に図86に示したlog−sum演算回路550を用いて説明する。ここで、対数尤度Iγのダイナミックレンジをgと表し、1時刻前に算出された対数尤度Iαのダイナミックレンジがaで表され、且つ、この対数尤度Iαのダイナミックレンジをx>aだけ確保してあるものとし、確率が最大のメトリックに対応する最大値又は最小値を有する対数尤度Iαの値をz<x/2と表すものとすると、正規化回路554は、図88に示すような正規化を行うことになる。
【0962】
このとき、加算器551により算出された対数尤度Iαと対数尤度Iγとの和Iα+Iγのダイナミックレンジは、上述したように、x+gで表される。また、このときの対数尤度Iαと対数尤度Iγとの和Iα+Iγの最大値又は最小値は、z+gとxとのうちの値が小さい方であるmin(z+g,x)で表される。続いて、補正項算出回路552及び加算器553による処理を経て得られたlog−sum演算後のデータのダイナミックレンジは、log−sum演算によるダイナミックレンジは増加しないことから、x+gで表される。このときのデータの最大値又は最小値は、最大で補正項の最大値であるlog2(2の自然対数値)だけ変化することから、min(z+g,x)+log2で表される。
【0963】
正規化回路554は、min(z+g,x)+log2の値が、対数尤度Iαのダイナミックレンジxの1/2であるx/2を超過したと判定した場合には、log−sum演算後のデータから、x/2だけ減算して正規化を行うとともに、ダイナミックレンジがx以上の値をクリップする。このときのデータの最大値又は最小値は、min(z+g,x)+log2−x/2で表される。正規化回路554は、対数尤度Iβに対しても同様の正規化を行う。
【0964】
ここで、log−sum演算後のデータから対数尤度Iαのダイナミックレンジの1/2の値を減算するということは、log−sum演算後のデータの最上位ビットを反転することに他ならない。すなわち、正規化回路554は、最上位ビットが“1”となったlog−sum演算後のデータに対して、最上位ビットを反転して“0”とするような処理を行うことによって、正規化を行うことができる。
【0965】
このように、軟出力復号回路90は、算出された複数の対数尤度Iα,Iβのうち、確率が最大のメトリックに対応する対数尤度Iα,Iβが所定の値を超過したと判定したときに、複数の対数尤度Iα,Iβのそれぞれに対して、当該所定の値を用いた演算を行い、正規化を行うこともできる。この場合、軟出力復号回路90は、所定の値として、対数尤度Iα,Iβのダイナミックレンジの1/2の値とすることによって、最上位ビットを反転するだけでよく、簡易な回路構成の下に正規化を行うことができる。
【0966】
さらに、軟出力復号回路90は、さらに他の正規化方法を用いることもできる。すなわち、軟出力復号回路90は、第3の方法として、Iα算出回路158におけるIα正規化回路250,272及びIβ算出回路159におけるIβ0正規化回路291,308等によって、算出された複数の対数尤度Iα,Iβのうち、確率が最大のメトリックに対応する対数尤度Iα,Iβが所定の値を超過したときに、次のタイムスロットにおいて、上述した第2の方法と同様に、複数の対数尤度Iα,Iβのそれぞれに対して、当該所定の値を用いた加算又は減算を行う。
【0967】
この第3の方法による正規化を行うIα算出回路158におけるlog−sum演算回路245n,256nと、Iβ算出回路159におけるlog−sum演算回路286n,292nとは、図89に概略を示すlog−sum演算回路560のように表すことができる。すなわち、log−sum演算回路560は、対数尤度Iγと1時刻前に算出された対数尤度Iα,Iβとを、加算器561により加算し、得られたデータから補正項算出回路562により補正項の値を算出し、加算器563によって、加算器561からのデータと補正項算出回路562からのデータとを加算する。そして、log−sum演算回路560は、正規化回路564によって、レジスタ565からのデータに基づく判定情報JDに基づいて、上述した正規化を行う。正規化されたデータは、レジスタ565により1時刻分だけ遅延され、対数尤度Iα,Iβとして、加算器561に供給されるとともに、外部に出力される。すなわち、log−sum演算回路560は、レジスタ565から読み出されたデータが所定の値を超過したと判定されると、次のタイムスロットにおいて、正規化回路564による正規化を行う。
【0968】
ここで、対数尤度Iγのダイナミックレンジをgと表し、1時刻前に算出された対数尤度Iαのダイナミックレンジがaで表され、且つ、この対数尤度Iαのダイナミックレンジをx>aだけ確保してあるものとし、確率が最大のメトリックに対応する最大値又は最小値を有する対数尤度Iαの値をz<x/2と表すものとすると、正規化回路564は、図90に示すような正規化を行うことになる。
【0969】
このとき、加算器561により算出された対数尤度Iαと対数尤度Iγとの和Iα+Iγのダイナミックレンジは、上述したように、x+gで表される。また、このときの対数尤度Iαと対数尤度Iγとの和Iα+Iγの最大値又は最小値も、上述したように、min(z+g,x)で表される。続いて、補正項算出回路562及び加算器563による処理を経て得られたlog−sum演算後のデータのダイナミックレンジは、log−sum演算によるダイナミックレンジは増加しないことから、x+gで表される。このときのデータの最大値又は最小値は、最大で補正項の最大値であるlog2だけ変化することから、min(z+g,x)+log2で表される。
【0970】
正規化回路564は、min(z+g,x)+log2の値が、所定の値、例えば対数尤度Iαのダイナミックレンジxの1/2であるx/2を超過したと判定した場合には、次のタイムスロットにおけるlog−sum演算後のデータから、x/2だけ減算して正規化を行う。このときのデータの最大値又は最小値は、min(z+g,x)+log2で表される。正規化回路564は、対数尤度Iβに対しても同様の正規化を行う。
【0971】
軟出力復号回路90は、このような正規化を行うことによって、正規化するか否かの判定をlog−sum演算の直後に行う必要がなく、正規化処理の高速化を図ることができる。
【0972】
5−5−8 log−sum補正における補正項の算出
log−sum補正における補正項を算出する際には、通常、入力した2つのデータの差分値の大小を比較することで当該差分値の絶対値を算出し、この絶対値に対応する補正項の値を算出する。すなわち、log−sum演算を行うlog−sum演算回路570は、図91に概略を示すように、差分器5711によって、入力したデータAM0とデータAM1との差分値を算出するとともに、差分器5712によって、データAM1とデータAM0との差分値を算出し、これと同時に、比較回路572によって、データAM0とデータAM1との大小を比較し、この比較結果に基づいて、セレクタ573によって、差分器5711,5712からの2つのデータのうち、いずれか一方を選択し、この選択されたデータに対応する補正項の値をルックアップテーブル574から読み出す。そして、log−sum演算回路570は、加算器575によって、補正項の値を示すデータDMと、データAM0とデータAM1とのうちのいずれか一方であるデータSAMとを加算する。
【0973】
ここで、log−sum演算回路570においては、比較回路572によるデータAM0とデータAM1との大小比較が、通常、他の各部の処理に比較して時間を要すことから、結果的に、データSAMを求めるのに比較してデータDMを求めるのに時間を要し、大きな遅延を招くことがある。
【0974】
そこで、軟出力復号回路90は、先に図35に示したように、入力した2つのデータの差分値の絶対値を算出してから補正項の値を求めるのではなく、2つの差分値に対応する複数の補正項の値を算出し、その中から適切なものを選択する。すなわち、軟出力復号回路90は、入力した2つのデータの差分値の大小比較と、補正項の値の算出とを並列的に行う。
【0975】
このようなlog−sum演算を行うlog−sum演算回路580は、図92に概略を示すように、差分器5811によって、入力したデータAM0とデータAM1との差分値を算出するとともに、差分器5812によって、データAM1とデータAM0との差分値を算出し、差分器5811からのデータに対応する補正項の値をルックアップテーブル5821から読み出すとともに、差分器5812からのデータに対応する補正項の値をルックアップテーブル5822から読み出す。これと同時に、log−sum演算回路580は、上述したIα算出回路158における選択用制御信号生成回路253に対応する比較回路583によって、データAM0とデータAM1との大小を比較し、この比較結果に基づいて、セレクタ584によって、ルックアップテーブル5821,5822からの2つのデータのうち、いずれか一方を選択し、加算器585によって、この選択されたデータDMと、データAM0とデータAM1とのうちのいずれか一方であるデータSAMとを加算する。
【0976】
このように、軟出力復号回路90は、2つの差分値に対応する複数の補正項の値を算出し、その中から適切なものを選択することによって、対数尤度Iα,Iβを高速に求めることが可能となる。
【0977】
5−5−9 log−sum演算における選択用の制御信号の生成
log−sum補正における補正項を算出する際には、上述したIα算出回路158における選択用制御信号生成回路253のように、2つのデータの大小を比較する判定文を作成して選択用の制御信号を生成する必要がある。具体的には、選択用制御信号生成回路253により作成される制御信号SELの判定文は、次式(56)に示すように、データAM0,AM1の大小関係を示すものとなる。
【0978】
【数56】
【0979】
また、log−sum補正における補正項は、上述したように、所定の値に漸近する性質を有していることから、変数となる2つのデータの差分値の絶対値は、所定の値にクリップされるべきである。具体的には、選択用制御信号生成回路253により作成される制御信号SLの判定文は、次式(57)に示すように、データAM0,AM1の差分値の絶対値と、所定の値との大小関係を示すものとなる。
【0980】
【数57】
【0981】
ここで、データAM0,AM1が、それぞれ、12ビットからなるものとすると、選択用制御信号生成回路253は、少なくとも12ビットの比較回路を有することになり、回路規模の増大を招くとともに、処理の遅延を招く。
【0982】
そこで、選択用制御信号生成回路253は、少なくともデータAM0,AM1に基づいて、メトリックの上位ビットと下位ビットとを分割して、選択用の判定文を作成することによって、制御信号SEL,SLを生成する。すなわち、選択用制御信号生成回路253は、データAM0,AM1のそれぞれを上位ビットと下位ビットとに分割し、データAM0,AM1の大小を比較する判定文を作成する。
【0983】
まず、上式(56)に示した判定文からなる制御信号SELを生成することを考える。
【0984】
補正項算出回路247は、データAM0,AM1が例えば12ビットからなるものとすると、データAM0の下位6ビットのデータの最上位ビットに“1”を付したものと、データAM1の下位6ビットのデータの最上位ビットに“0”を付したものとの差分をとる。これと同時に、補正項算出回路247は、データAM0の下位6ビットのデータの最上位ビットに“0”を付したものと、データAM1の下位6ビットのデータの最上位ビットに“1”を付したものとの差分をとる。選択用制御信号生成回路253は、データAM0,AM1の他に、これらの差分値DA1,DA0を用いて、次式(58)に示すような判定文を作成し、制御信号SELを生成する。
【0985】
【数58】
【0986】
まず、補正項算出回路247は、選択用制御信号生成回路253によって、データAM0,AM1の上位6ビットAM0[11:6],AM1[11:6]の大小比較を行うことによって、データAM0,AM1の大小関係を判別する。すなわち、データAM0,AM1の上位6ビットAM0[11:6],AM1[11:6]の大小関係は、そのまま、データAM0,AM1の大小関係を表すものに他ならない。そのため、選択用制御信号生成回路253は、(AM0[11:6]>AM1[11:6])という判定文を作成する。
【0987】
また、補正項算出回路247は、差分値DA1を求めることによって、データAM0,AM1の下位6ビットの大小関係を求めることができる。すなわち、差分値DA1の最上位ビットが“1”であることは、データAM0の下位6ビットの方がデータAM1の下位6ビットよりも大きいことに他ならない。この条件の下で、AM1≦AM0が成立する場合を考えると、データAM0の上位6ビットの方がデータAM1の上位6ビットよりも大きい場合と、データAM0の上位6ビットとデータAM1の上位6ビットとが等しい場合とがある。そのため、選択用制御信号生成回路253は、((AM0[11:6]==AM1[11:6])&DA1[6]==1)という判定文を作成する。
【0988】
したがって、選択用制御信号生成回路253は、上式(58)に示した判定文を作成することによって、上式(56)に示した判定文を実現することができる。すなわち、選択用制御信号生成回路253は、6ビットの比較回路とイコール(=)判定回路とを有するのみで実現することができ、回路規模の削減を図ることができ、処理の高速化も図ることができる。
【0989】
つぎに、上式(57)に示した判定文からなる制御信号SLを生成することを考える。
【0990】
補正項算出回路247は、データAM0,AM1が例えば12ビットからなるものとすると、上述したように、データAM0の下位6ビットのデータの最上位ビットに“1”を付したものと、データAM1の下位6ビットのデータの最上位ビットに“0”を付したものとの差分をとる。これと同時に、補正項算出回路247は、データAM0の下位6ビットのデータの最上位ビットに“0”を付したものと、データAM1の下位6ビットのデータの最上位ビットに“1”を付したものとの差分をとる。選択用制御信号生成回路253は、データAM0,AM1の他に、これらの差分値DA1,DA0を用いて、次式(59)に示すような判定文を作成し、制御信号SLを生成する。
【0991】
【数59】
【0992】
まず、補正項算出回路247は、選択用制御信号生成回路253によって、データAM0,AM1の上位6ビットAM0[11:6],AM1[11:6]が等しいか否かを判定する。すなわち、データAM0,AM1の上位6ビットAM0[11:6],AM1[11:6]が等しい場合には、データAM0,AM1の差分値の絶対値は、所定の値未満、ここでは64未満となる。そのため、選択用制御信号生成回路253は、(AM0[11:6]==AM1[11:6])という判定文を作成する。
【0993】
また、データAM0の上位6ビットAM0[11:6]が、データAM1の上位6ビットAM1[11:6]よりも“1”だけ大きく、且つ、データAM0の下位6ビットAM0[5:0]が、データAM1の下位6ビットAM1[5:0]よりも小さい場合にも、データAM0,AM1の差分値の絶対値は、所定の値未満、ここでは64未満となる。ここで、データAM0の下位6ビットAM0[5:0]が、データAM1の下位6ビットAM1[5:0]よりも小さい場合とは、上述したことを考慮すると、差分値DA1の最上位ビットDA1[6]が“0”である場合である。そのため、選択用制御信号生成回路253は、(({1’b0,AM0[11:6]}=={1’b0,AM1[11:6]}+7’d1)&DA1[6]==0)という判定文を作成する。
【0994】
同様に、データAM1の上位6ビットAM1[11:6]が、データAM0の上位6ビットAM0[11:6]よりも“1”だけ大きく、且つ、データAM1の下位6ビットAM1[5:0]が、データAM0の下位6ビットAM0[5:0]よりも小さい場合にも、データAM0,AM1の差分値の絶対値は、所定の値未満、ここでは64未満となる。そのため、選択用制御信号生成回路253は、(({1’b0,AM1[11:6]}=={1’b0,AM0[11:6]}+7’d1)&DA0[6]==0)という判定文を作成する。
【0995】
したがって、選択用制御信号生成回路253は、上式(59)に示した判定文を作成することによって、上式(57)に示した判定文を実現することができる。すなわち、選択用制御信号生成回路253は、イコール(=)判定回路を有するのみで実現することができ、回路規模の削減を図ることができ、処理の高速化も図ることができる。
【0996】
このように、軟出力復号回路90は、log−sum補正における補正項を算出する際に、2つのデータの大小を比較するとともに、変数となる2つのデータの差分値の絶対値はを所定の値にクリップするための選択用の制御信号を生成する選択用制御信号生成回路の回路規模を削減することができ、処理の高速化を図ることもできる。
【0997】
なお、ここでは、選択用制御信号生成回路253について説明したが、Iγ分配回路157における選択用制御信号生成回路232や軟出力算出回路161における選択用制御信号生成回路330についても、同様の手法により制御信号を生成することができる。
【0998】
5−6 対数軟出力Iλの算出
上述した軟出力算出回路161に関する特徴である。要素復号器50は、対数軟出力Iλを算出するにあたって、以下に示す2つの特徴を有する。
【0999】
5−6−1 イネーブル信号を用いたlog−sum演算の累積加算演算
対数軟出力Iλを算出する際には、トレリス上の各枝の入力に応じたlog−sum演算の累積加算演算を行い、入力が“0”の枝に応じたlog−sum演算の累積加算演算結果と、入力が“1”の枝に応じたlog−sum演算の累積加算演算結果との差分をとる必要がある。
【1000】
そこで、軟出力復号回路90においては、任意の符号の復号を可能とするために、トレリス上の各枝に対応する対数尤度Iαと対数尤度Iγと対数尤度Iβとの和を算出するとともに、各枝の入力を示すイネーブル信号を生成し、このイネーブル信号に基づいて、勝ち抜き戦に喩えられる動作を行うことによって、対数軟出力Iλの算出を実現する。
【1001】
ここで、上述した軟出力算出回路161におけるlog−sum演算回路3121が、入力が“0”の枝に応じたlog−sum演算の累積加算演算を行うものとする。log−sum演算回路3121におけるlog−sum演算セル回路3251,・・・,32531は、それぞれ、入力した32系統のデータAGBのうち、2系統のデータAGBを入力するとともに、これらの2系統のデータAGBのそれぞれに対応する2系統のイネーブル信号ENを入力する。
【1002】
例えば、log−sum演算セル回路3251に入力された2系統のイネーブル信号EN000,EN001の両者が、入力が“0”であることを示すものであった場合には、log−sum演算セル回路3251は、2系統のデータAGB000,AGB001を用いたlog−sum演算を行い、この結果をデータAGB100として出力する。また、log−sum演算セル回路3251に入力された2系統のイネーブル信号EN000,EN001のうち、イネーブル信号EN000のみが、入力が“0”であることを示すものであった場合には、log−sum演算セル回路3251は、2系統のデータAGB000,AGB001のうち、データAGB000に対して所定のオフセット値N2を加算し、データAGB100として出力する。同様に、log−sum演算セル回路3251に入力された2系統のイネーブル信号EN000,EN001のうち、イネーブル信号EN001のみが、入力が“0”であることを示すものであった場合には、log−sum演算セル回路3251は、データAGB001に対して所定のオフセット値N2を加算し、データAGB100として出力する。さらに、log−sum演算セル回路3251に入力された2系統のイネーブル信号EN000,EN001の両者が、入力が“1”であることを示すものであった場合には、log−sum演算セル回路3251は、2系統のデータAGB000,AGB001を用いたlog−sum演算結果又はデータAGB000,AGB001自身を出力することはなく、所定の値を有するデータをデータAGB100として出力する。また、log−sum演算セル回路3252,・・・,32531も、log−sum演算セル回路3251と同様の処理を行い、選択的にデータAGBを出力する。
【1003】
このようにすることによって、log−sum演算回路3121は、入力が“0”の枝に応じたデータAGBのみを用いたlog−sum演算の累積加算演算を行うことができる。
【1004】
同様に、log−sum演算回路3122,・・・,3126は、入力が“0”又は“1”の枝に応じたデータAGBのみを用いたlog−sum演算の累積加算演算を行う。
【1005】
このようにすることによって、軟出力復号回路90は、所定の本数以下の枝を有する任意のトレリス符号に対して、対数軟出力Iλを算出することができる。
【1006】
なお、ここでは、32本以下の枝を有するトレリス構造となる符号の復号を行う場合について説明したが、軟出力復号回路90は、この枝の本数に限定されるものでないことはいうまでもない。
【1007】
5−6−2 イネーブル信号を用いないlog−sum演算の累積加算演算
ところで、“5−6−1”に示した手法の場合、各log−sum演算回路3121,・・・,3126は、それぞれ、32系統のデータAGBのうち、入力が“0”又は“1”である16系統のデータAGBを選択し、これらの16系統のデータAGBを用いたlog−sum演算の累積加算演算を行うことに他ならない。そのため、各log−sum演算回路3121,・・・,3126においては、実際には、31個のlog−sum演算セル回路のうち、約半数のものしか動作しないことになり、効率を低くする虞がある。
【1008】
そこで、軟出力復号回路90は、“5−6−1”に示した手法以外にも、次のような手法により対数軟出力Iλを算出することができる。
【1009】
すなわち、図93に概略を示すように、軟出力算出回路161’は、予め選択回路590によって、32系統のデータAGBの中から、トレリス上の各枝の入出力パターンに応じて該当する枝を選択しておき、8個のlog−sum演算回路5911,・・・5918のそれぞれによって、選択された16系統のデータAGBを用いたlog−sum演算を行う。また、軟出力算出回路161’は、図示しないが、4つのlog−sum演算回路のそれぞれによって、8個のlog−sum演算回路5911,・・・5918のそれぞれから出力された8系統のデータAGBを用いたlog−sum演算を行い、さらに、2つのlog−sum演算回路のそれぞれによって、4つのlog−sum演算回路のそれぞれから出力された4系統のデータAGBを用いたlog−sum演算を行う。そして、軟出力算出回路161’は、log−sum演算回路59115によって、2つのlog−sum演算回路のそれぞれから出力された2系統のデータAGBを用いたlog−sum演算を行う。
【1010】
軟出力算出回路161’は、このような処理を、入力が“0”又は“1”の場合のそれぞれについて行う。
【1011】
このように、軟出力算出回路161’は、予め選択回路590によって、32系統のデータAGBの中から、トレリス上の各枝の入出力パターンに応じて該当する枝を選択しておき、15個のlog−sum演算回路5911,・・・59115によって、勝ち抜き戦に喩えられる動作を行い、log−sum演算の累積加算演算を実現することができる。
【1012】
このような手法によっても、軟出力復号回路90は、所定の本数以下の枝を有する任意のトレリス符号に対して、対数軟出力Iλを算出することができる。
【1013】
なお、ここでも、32本以下の枝を有するトレリス構造となる符号の復号を行う場合について説明したが、軟出力復号回路90は、この枝の本数に限定されるものでないことはいうまでもない。
【1014】
5−7 外部情報に対する正規化
上述した外部情報算出回路163に関する特徴である。
【1015】
軟出力復号回路90は、上述したように、外部情報算出回路163によって、シンボル単位の外部情報とビット単位の外部情報とを算出することができる。ここで、シンボル単位の外部情報を算出する際には、例えば2ビット1シンボルとすると、4つの外部情報が算出されることになる。
【1016】
そこで、軟出力復号回路90は、シンボル単位の外部情報の分布の偏りを是正し且つ情報量を削減するための正規化を行い、全てのシンボルに対する外部情報を次段における事前確率情報として出力するのではなく、“シンボルの数−1”の数の外部情報を出力する。
【1017】
具体的には、軟出力復号回路90は、図94(A)に示すように、例えば4つのシンボル“00”,“01”,“10”,“11”のそれぞれに対応する外部情報ED0,ED1,ED2,ED3を算出したものとすると、同図(B)に示すように、外部情報算出回路163における正規化回路357によって、4つの外部情報ED0,ED1,ED2,ED3のうち、最大値を有する外部情報ED1を、例えば“0”といった所定の値に合わせるように、外部情報ED0,ED1,ED2,ED3のそれぞれに対して所定の値を加算し、外部情報EA0,EA1,EA2,EA3を求める。軟出力復号回路90は、このような正規化を行うことによって、外部情報の分布の偏りを是正することができる。
【1018】
続いて、軟出力復号回路90は、同図(C)に示すように、正規化回路357によって、正規化後の4つの外部情報EA0,EA1,EA2,EA3に対して、必要なダイナミックレンジに応じてクリッピングを行い、外部情報EN0,EN1,EN2,EN3を求める。軟出力復号回路90は、このようなクリッピングを行うことによって、値が大きく重要度の高い外部情報間の値の差を保持することができる。
【1019】
そして、軟出力復号回路90は、同図(D)に示すように、正規化回路357によって、例えば、クリップ後の4つの外部情報EN0,EN1,EN2,EN3のうち、“00”のシンボルに対する外部情報EN0の値を、他の全てのシンボル“01”,“10”,“11”のそれぞれに対する外部情報EN1,EN2,EN3の値から差分する。軟出力復号回路90は、このような正規化を行うことによって、4つの外部情報を出力するのではなく、3つの外部情報の比を外部情報EX0,EX1,EX2として出力することができる。
【1020】
このようにすることによって、軟出力復号回路90は、1シンボル分の外部情報を出力する必要がなく、外部入出力ピン数の削減を図ることができる。また、軟出力復号回路90は、同図(D)に示した正規化を行う前に、同図(C)に示したクリッピングを行うことによって、尤度の高いシンボルに対する外部情報間の値の差を保持することができ、高精度の復号を行うことができる。
【1021】
なお、ここでは、4つのシンボルに対する外部情報を算出し、正規化する場合について説明したが、軟出力復号回路90としては、4つ以外の数のシンボルに対する外部情報の正規化を行うこともできる。
【1022】
5−8 受信値の硬判定
上述した硬判定回路165に関する特徴である。
【1023】
受信値を硬判定する場合には、通常、I/Q平面上の受信値の正接(tangent)を求めることが行われる。しかしながら、この方法の場合には、例えば、同相成分及び直交成分が、それぞれ、8ビットで表現されているものとすると、8ビットのデータ同士の除算が必要となり、回路規模の増大とともに、処理の遅延を招く。
【1024】
これに代替する方法としては、例えば、同相成分及び直交成分が、それぞれ、8ビットで表現されているものとすると、合計16ビット=65536通りの場合分けを行い、各場合における硬判定値を表引きすることが考えられる。しかしながら、この方法の場合にも、膨大な処理時間を要することから現実的ではない。
【1025】
また、他の方法としては、I/Q平面上の受信値の角度を硬判定の領域の境界と比較するため、受信値の除算を行い、境界の角度の正接と比較することが考えられる。しかしながら、この方法の場合にも、8ビットのデータ同士の除算が必要となるとともに、領域の境界が一般には無理数で与えられるものであることから、精度の検討がさらに必要となる。
【1026】
そこで、軟出力復号回路90は、受信値の同相成分又は直交成分のいずれかの値に対する境界値を表引きにより求め、他成分の値に応じて硬判定値を求める。
【1027】
具体的には、軟出力復号回路90は、符号化装置1が8PSK変調方式による変調を行うものであった場合には、図95に示すように、I/Q平面を8つの信号点に応じた8つの領域に区分けするために、I軸又はQ軸のいずれかに対する4つの境界線(境界値データ)BDR0,BDR1,BDR2,BDR3を設け、これらの境界値データBDR0,BDR1,BDR2,BDR3を、上述した硬判定回路165におけるルックアップテーブル372にテーブルとして記憶する。なお、同図においては、同相成分及び直交成分は、それぞれ、5ビットで表現されているものとし、各ドットが各ビットを表しているものとする。また、領域0,1,2,3,4,5,6,7にマッピングされている信号点の値は、それぞれ、上述した信号点配置情報CSIG0,CSIG1,CSIG2,CSIG3,CSIG4,CSIG5,CSIG6,CSIG7で表される。
【1028】
軟出力復号回路90は、上述したように、硬判定回路165によって、I軸又はQ軸のいずれかに対する4つの境界値データBDR0,BDR1,BDR2,BDR3と、他方の成分の値とを比較し、受信値の信号点がどの領域に属するかを判定し、硬判定値を求める。
【1029】
このようにすることによって、軟出力復号回路90は、ルックアップテーブル372に記憶されるテーブルの容量を小さくすることができ、精度の検討も不要であることから、回路規模を削減するとともに、処理の高速化を図ることができる。
【1030】
なお、ここでは、8PSK変調方式による信号点をデマッピングする場合について説明したが、この手法は、いかなるPSK変調方式による信号点のデマッピングにも適用できるものである。
【1031】
6. インターリーバに関する特徴
つぎに、インターリーバ100に関する特徴毎の説明を行う。以下の特徴は、インターリーバ100の機能として備えられるものであるが、特徴の概念を明確化するために、適宜簡略化した図面を用いて説明する。
【1032】
6−1 複数種類のインターリーブ機能
上述した記憶回路4071,4072,・・・,40716に対するデータの書き込み及び/又は読み出しの制御に関する特徴である。
【1033】
インターリーバ100は、上述したように、施すべきインターリーブの種類を含む符号構成を示すモードに応じて、複数の記憶回路4071,4072,・・・,40716の中から、データの書き込み及び/又は読み出しを行うべき適切なものを選択し、使用する記憶回路を切り替え、複数種類のインターリーブを実現する。
【1034】
具体的には、インターリーバ100は、制御回路400によって、書き込みアドレスと読み出しアドレスとを発生すると、アドレス選択回路405によって、インターリーバタイプ情報CINT及びインターリーバ無出力位置情報CNOに基づいて、アドレスデータAA0,BA0,AA1,BA1,AA2,BA2とのうち、記憶回路4071,4072,・・・,40716に分配するアドレスデータを選択する。また、インターリーバ100は、入力データ選択回路406によって、インターリーブモード信号CDIN、インターリーバタイプ情報CINT及びインターリーバ入出力置換情報CIPTに基づいて、インターリーブ用のデータI0,I1,I2、及び、遅延用のデータD0,D1,D2,D3,D4,D5のうち、記憶回路4071,4072,・・・,40716に分配するデータを選択する。
【1035】
この具体例としては、先に図55乃至図61に示したものが考えられる。すなわち、インターリーバ100は、制御回路400によって、施すべきインターリーブの種類に拘泥せずにアドレスを発生した後、アドレス選択回路405及び入力データ選択回路406によって、施すべきインターリーブの種類を含む符号構成を示すモードに応じて、記憶回路4071,4072,・・・,40716に対してアドレス及びデータを分配し、データを記憶回路4071,4072,・・・,40716に記憶させる。
【1036】
そして、インターリーバ100は、記憶回路4071,4072,・・・,40716から読み出したデータを出力データ選択回路408に供給し、この出力データ選択回路408によって、インターリーブモード信号CDIN、インターリーバタイプ情報CINT、インターリーバ入出力置換情報CIPT、制御信号IOBS,IOBP0,IOBP1,IOBP2,DOBS,DOBPに基づいて、データOR00,OR01,・・・,OR15のうち、出力すべきデータを選択し、インターリーバ出力データIIO及びインターリーブ長遅延受信値IDOとして出力する。
【1037】
このように、インターリーバ100は、施すべきインターリーブの種類を含む符号構成を示すモードに応じて、使用する記憶回路を切り替え、アドレス及びデータを分配することによって、複数種類のインターリーブを実現することができ、汎用性のあるものである。そのため、要素復号器50は、種々の符号に適応的に対応した復号を行うことが可能となる。
【1038】
6−2 インターリーブ用の記憶回路と遅延用の記憶回路の共用
“6−1”に示した機能に関連する特徴であり、記憶回路4071,4072,・・・,40716に対するデータの書き込み及び/又は読み出しの制御に関する特徴である。
【1039】
繰り返し復号においては、受信値に対して、インターリーバが要する処理時間と同時間だけ、すなわち、インターリーブ長分の時間だけ遅延させる必要がある。ここで、複数種類の符号の復号を行う場合には、符号構成に応じて、遅延すべきシンボル数が変化するとともに、インターリーブ処理に要する記憶回路(RAM)の数も変化する。
【1040】
そこで、インターリーバ100は、上述したように、インターリーブ用の記憶回路と遅延用の記憶回路とを共用し、符号構成に応じて、複数の記憶回路4071,4072,・・・,40716の中から、使用する記憶回路を切り替え、インターリーブ処理に使用しない記憶回路を遅延処理に使用し、遅延処理に使用しない記憶回路をインターリーブ処理に使用する。
【1041】
この具体例としては、先に図55乃至図61に示したものが考えられる。すなわち、インターリーバ100は、アドレス選択回路405及び入力データ選択回路406によって、符号構成に応じたインターリーブ処理及び遅延処理をともに考慮して、記憶回路4071,4072,・・・,40716に対するアドレスデータ及びデータの分配を行い、出力データ選択回路408によって、所望のデータを出力する。
【1042】
このようにすることによって、インターリーバ100は、インターリーブ用の記憶回路と遅延用の記憶回路とを個別に備える必要がなく、最低限数の記憶回路を備えればよく、回路規模の削減を図ることができる。
【1043】
6−3 クロック阻止信号による記憶回路の動作制御
上述したように、インターリーバ100は、少なくともRAMを有する複数の記憶回路4071,4072,・・・,40716を備え、これらの記憶回路4071,4072,・・・,40716を用いて、インターリーブ処理及び遅延処理を行う。この場合、記憶回路4071,4072,・・・,40716は、それぞれ、通常、クロック信号が入力される度に、データの書き込み及び/又は読み出しといった動作を行う。
【1044】
このようなインターリーバ100においては、実際には、不使用の記憶回路が存在する場合がある。具体的には、先に図56に示した例では、記憶回路4076,4078におけるRAMD06,D08が不使用のRAMとして存在し、先に図60に示した例では、記憶回路4076,4078,40710,40712におけるRAMD06,D08,D10,D12が不使用のRAMとして存在する。
【1045】
そこで、インターリーバ100は、アドレス選択回路405によって、入力されたクロック信号を阻止するためのクロック阻止信号IHを発生し、このクロック阻止信号IHを不使用の記憶回路に与えることによって、当該不使用の記憶回路における書き込み及び/又は読み出しを含む一切の動作を停止させる。
【1046】
より具体的には、インターリーバ100においては、複数の記憶回路4071,4072,・・・,40716のうち、使用する記憶回路を、アドレス方向で分割して決定する。そして、インターリーバ100は、アドレス選択回路405によって、書き込みアドレス及び/又は読み出しアドレスに該当しない記憶回路に対するクロック阻止信号IHを発生し、このクロック阻止信号IHを当該記憶回路に与える。
【1047】
このように、インターリーバ100は、使用する記憶回路をアドレス方向で分割し、クロック阻止信号IHをアクティブにする機構を設けることによって、不使用の記憶回路の動作を停止させることができる。したがって、要素復号器50は、全ての記憶回路4071,4072,・・・,40716を全てのクロック信号に応じて動作せる必要がなく、記憶回路の動作率を下げることができ、結果として、消費電力を下げることができる。
【1048】
6−4 デインターリーブ機能
上述したように、インターリーバ100は、インターリーブ処理とデインターリーブ処理との両者を行うことができる。
【1049】
ところで、一般には、インターリーブ処理を行う際には、シーケンシャルなアドレスデータを用いて、記憶回路に対するデータの書き込みを行い、ランダムなアドレスデータを用いて、記憶回路からのデータの読み出しを行う。一方、デインターリーブ処理を行う際には、読み出し用のアドレスデータを生成するために、インターリーブ処理で用いたアドレスデータを逆変換する必要がある。そのため、繰り返し復号を行う場合には、デインターリーブ処理で用いたアドレスデータをインターリーブ処理に用いるための変換用のアドレスデータと、インターリーブ処理で用いたアドレスデータをデインターリーブ処理に用いるための逆変換用のアドレスデータとの、2通りのアドレスデータを個別に保持する必要があり、回路規模を圧迫する虞がある。
【1050】
そこで、インターリーバ100は、デインターリーブ処理を行う際には、インターリーブ処理に用いる読み出し用のアドレスデータを、書き込み用のアドレスデータとして用い、シーケンシャルなアドレスデータを用いて読み出すことによって、インターリーブ処理とデインターリーブ処理との間で同一のアドレスデータを共用する。
【1051】
具体的には、インターリーバ100は、上述したように、インターリーブ処理を行う場合には、制御回路400によりシーケンシャルなアドレスデータである書き込みアドレスデータIWAを発生し、この書き込みアドレスデータIWAを用いて、記憶回路4071,4072,・・・,40716に対するデータの書き込みを行うとともに、制御回路400によりシーケンシャルなアドレスデータIAAを発生し、このアドレスデータIAAに基づいて、ランダムなアドレスデータである読み出しアドレスデータADAをアドレス用記憶回路110から読み出し、この読み出しアドレスデータADAを用いて、記憶回路4071,4072,・・・,40716からのデータの読み出しを行う。
【1052】
一方、インターリーバ100は、上述したように、デインターリーブ処理を行う場合には、制御回路400によりシーケンシャルなアドレスデータIAAを発生し、このアドレスデータIAAに基づいて、ランダムなアドレスデータである読み出しアドレスデータADAをアドレス用記憶回路110から読み出し、この読み出しアドレスデータADAを用いて、記憶回路4071,4072,・・・,40716に対するデータの書き込みを行うとともに、制御回路400によりシーケンシャルなアドレスデータである書き込みアドレスデータIWAを発生し、この書き込みアドレスデータIWAを用いて、記憶回路4071,4072,・・・,40716からのデータの読み出しを行う。
【1053】
このように、インターリーバ100は、インターリーブ処理とデインターリーブ処理との間で同一のアドレスデータを共用し、このアドレスデータを、インターリーブ処理とデインターリーブ処理とに応じて切り替える。換言すれば、インターリーバ100は、制御回路400によって、インターリーブ処理に用いる読み出し用のアドレスデータを、デインターリーブ処理に用いる書き込み用のアドレスデータとして用いるように切り替えるとともに、デインターリーブ処理に用いる読み出し用のアドレスデータを、インターリーブ処理に用いる書き込み用のアドレスデータとして用いるように切り替える。
【1054】
このようなアドレスデータの切り替えを行う制御回路400は、簡略化すると例えば図96に示す構成として表すことができる。すなわち、制御回路400は、書き込み用のアドレスデータを発生する書き込みアドレス発生回路601と、読み出し用のアドレスデータを発生する読み出しアドレス発生回路602と、2つのセレクタ6031,6032とを有するものとして表される。
【1055】
制御回路400は、書き込みアドレス発生回路601によって、書き込み用のシーケンシャルなアドレスデータを発生し、セレクタ6031,6032に供給するとともに、読み出しアドレス発生回路602によって、読み出し用のシーケンシャルなアドレスデータを発生し、セレクタ6031,6032に供給する。そして、セレクタ6031,6032は、インターリーブモード信号CDINに基づいて、書き込みアドレス発生回路601から供給されるアドレスデータと、読み出しアドレス発生回路602から供給されるアドレスデータとのうち、一方を選択する。
【1056】
具体的には、セレクタ6031は、インターリーブモード信号CDINが、当該インターリーバ100がインターリーブ処理を行う旨を指示するものであった場合には、書き込みアドレス発生回路601から供給されるアドレスデータを選択し、書き込みアドレスデータIWAとして、インターリーブアドレス変換回路403に供給する。また、セレクタ6032は、インターリーブモード信号CDINが、当該インターリーバ100がインターリーブ処理を行う旨を指示するものであった場合には、読み出しアドレス発生回路602から供給されるアドレスデータを選択し、アドレスデータIAAとして、アドレス用記憶回路110及びインターリーブアドレス変換回路403に供給する。
【1057】
一方、セレクタ6031は、インターリーブモード信号CDINが、当該インターリーバ100がデインターリーブ処理を行う旨を指示するものであった場合には、読み出しアドレス発生回路602から供給されるアドレスデータを選択し、書き込みアドレスデータIWAとして、インターリーブアドレス変換回路403に供給する。また、セレクタ6032は、インターリーブモード信号CDINが、当該インターリーバ100がデインターリーブ処理を行う旨を指示するものであった場合には、書き込みアドレス発生回路601から供給されるアドレスデータを選択し、アドレスデータIAAとして、アドレス用記憶回路110及びインターリーブアドレス変換回路403に供給する。
【1058】
このように、インターリーバ100は、インターリーブ処理とデインターリーブ処理との間で共用するアドレスデータを、制御回路400により切り替えることによって、回路の簡略化及び規模削減を図ることができる。
【1059】
6−5 書き込みアドレス及び読み出しアドレスの発生
書き込みアドレスと読み出しアドレスとを発生する際には、通常、カウンタによりカウントアップしていくことによって、シーケンシャルなアドレスデータを発生する。ここで、書き込みアドレス用のカウンタと読み出しアドレス用のカウンタとを共用した場合には、記憶回路に対する次のフレームの書き込みを開始するまでは、記憶回路からのデータの読み出しを開始することができない。
【1060】
すなわち、インターリーバは、書き込みアドレス用のカウンタと読み出しアドレス用のカウンタとを共用した場合には、図97に示すように、Aで示すインターリーブ開始位置信号が入力されると、バンクAの記憶回路に対するデータの書き込みが行われる。続いて、インターリーバは、Bで示す次のインターリーブ開始位置信号が入力されると、バンクAの記憶回路に記憶されているデータの読み出しが行われるとともに、バンクBの記憶回路に対するデータの書き込みが行われる。同様に、インターリーバは、Cで示す次のインターリーブ開始位置信号が入力されると、バンクBの記憶回路に記憶されているデータの読み出しが行われるとともに、バンクAの記憶回路に対するデータの書き込みが行われる。
【1061】
このように、インターリーバは、書き込みアドレス用のカウンタと読み出しアドレス用のカウンタとを共用した場合には、記憶回路に対する次のフレームの書き込みの開始と同時に、記憶回路からのデータの読み出しを開始する。
【1062】
ここで、一般には、外部から入力されるフレームの入力タイミングは変化し、フレームが一定間隔でインターリーバに入力されるとは限らない。すなわち、インターリーバは、通常、次のフレームが入力されるタイミングを把握することなく、動作する必要がある。
【1063】
このような状況の下で繰り返し復号を行うことを考慮した場合には、外部情報にインターリーブを施すとともに、受信値を遅延させる必要があるが、インターリーバにおいては、受信値の入力タイミングがフレーム毎に異なることから、遅延量の差異が生じることがある。すなわち、インターリーバにおいては、同図において、A,Bで示す2つのインターリーブ開始位置信号間の時間と、B,Cで示す2つのインターリーブ開始位置信号間の時間とが異なることによって、受信値の遅延量が異なることがある。この場合、インターリーバにおいては、遅延させる受信値の入力タイミングを合わせることが困難であることから、繰り返し復号を実現するために複雑な処理を要することになる。
【1064】
そこで、インターリーバ100は、書き込みアドレス用のカウンタと読み出しアドレス用のカウンタとを個別に設けることによって、記憶回路に対するデータの書き込みが終了した後、直ちにデータの読み出しを開始する構成とする。
【1065】
具体的には、インターリーバ100は、図98に示すように、Aで示すインターリーブ開始位置信号TISが入力されると、制御回路400によって、書き込みアドレス用のカウンタをカウントアップし、バンクAの記憶回路に対するデータの書き込みを行うと、直ちに読み出しアドレス用のカウンタをカウントアップし、記憶したデータの読み出しを行う。続いて、インターリーバ100は、Bで示す次のインターリーブ開始位置信号TISが入力されると、制御回路400によって、書き込みアドレス用のカウンタをカウントアップし、バンクAの記憶回路に対するデータの書き込みを行うと、直ちに読み出しアドレス用のカウンタをカウントアップし、記憶したデータの読み出しを行う。同様に、インターリーバ100は、Cで示す次のインターリーブ開始位置信号TISが入力されると、書き込みアドレス用のカウンタをカウントアップし、バンクAの記憶回路に対するデータの書き込みを行うと、直ちに読み出しアドレス用のカウンタをカウントアップし、記憶したデータの読み出しを行う。
【1066】
このように、インターリーバ100は、書き込みアドレス用のカウンタと読み出しアドレス用のカウンタとを個別に設けることによって、記憶回路に対するデータの書き込みが終了すると、直ちにデータの読み出しを開始することができる。すなわち、インターリーバ100は、A,Bで示す2つのインターリーブ開始位置信号TISの間の時間と、B,Cで示す2つのインターリーブ開始位置信号TISの間の時間とが異なる場合であっても、遅延量を常にインターリーブ長分に固定することができ、遅延させる受信値の入力タイミングを合わせることが容易となる。
【1067】
6−6 インターリーブ長分の遅延機能
“6−5”に示したように、書き込みアドレス用のカウンタと読み出しアドレス用のカウンタとを個別に設けた場合には、インターリーバ100は、受信値を遅延させる際に、記憶回路からのデータの読み出し順序を、記憶回路に対するデータの書き込み順序と同一にする。すなわち、インターリーバ100は、受信値を遅延させる際には、読み出しアドレスを、書き込みアドレスと同一にする。
【1068】
このようにすることによって、インターリーバ100は、インターリーブ長分の遅延を実現することができる。特に、インターリーバ100は、読み出しアドレス用のカウンタと、書き込みアドレス用のカウンタとを、ともにカウントアップし、シーケンシャルなアドレスデータを発生することによって、容易にインターリーブ長分の遅延を実現することができる。
【1069】
インターリーバ100は、このような容易な手法を採用することで、例えば、繰り返し回数を変更した実験を行う場合には、要素復号器を複数連接するだけで、全体の復号遅延を変化させることなく、繰り返し回数を変更した繰り返し復号を行うことが可能となる。
【1070】
6−7 アドレス空間の利用方法
複数シンボルを入力し、複数シンボルを出力するインターリーブを行う際のアドレスの表現手法に関する特徴である。
【1071】
通常、記憶回路におけるRAMに対しては、連続的なアドレスを割り当て、この連続的なアドレス空間を用いてデータの書き込みを行う。ここで、複数シンボルを入力し、複数シンボルを出力するインターリーブを行う際に、複数の記憶回路におけるRAMに対して、連続的なアドレスを割り当てることを考える。
【1072】
例えば、入力シンボルとして3シンボルのデータを入力し、出力シンボルとして3シンボルのデータを出力するようなインターリーブを行う場合であって、9個の記憶回路のRAM0,RAM1,RAM2,RAM3,RAM4,RAM5,RAM6,RAM7,RAM8を用いてインターリーブを行う場合には、図99に示すように、RAM0,RAM3,RAM6に対しては、0シンボル目のデータI0(=I0[0],I0[1],I0[2],・・・,I0[31])が、各タイムスロット毎にワード方向に順次書き込まれ、RAM1,RAM4,RAM7に対しては、1シンボル目のデータI1(=I1[0],I1[1],I1[2],・・・,I1[31])が、各タイムスロット毎にワード方向に順次書き込まれ、RAM2,RAM5,RAM8に対しては、2シンボル目のデータI2(=I2[0],I2[1],I2[2],・・・,I2[31])が、各タイムスロット毎にワード方向に順次書き込まれる。そして、RAM0,RAM1,RAM2からは、1系統のインターリーバ出力データIIO0が読み出され、RAM3,RAM4,RAM5からは、他の1系統のインターリーバ出力データIIO1が読み出され、RAM6,RAM7,RAM8からは、さらに他の1系統のインターリーバ出力データIIO2が読み出される。
【1073】
このとき、図100に示すように、データを書き込む際には、RAM0,RAM3,RAM6に対して、それぞれ、例えば0乃至31までの連続的なアドレスが割り当てられるものとすると、RAM1,RAM4,RAM7には、それぞれ、32乃至63までの連続的なアドレスが割り当てられ、さらに、RAM2,RAM5,RAM8には、それぞれ、64乃至95までの連続的なアドレスが割り当てられる。
【1074】
これは、インターリーブ長を可変にする場合等において各RAMの全ての記憶領域にデータが記憶されない場合であっても、同様である。
【1075】
例えば、RAM0,RAM1,RAM2,RAM3,RAM4,RAM5,RAM6,RAM7,RAM8は、それぞれ、同図に示した例では、32タイムスロット分のインターリーブ長のインターリーブを行うことができるが、インターリーブ長を10タイムスロット分とした場合には、例えば図101に示すように、RAM0,RAM3,RAM6に対しては、それぞれ、32タイムスロット分の全記憶領域のうち、0シンボル目のデータI0(=I0[0],I0[1],I0[2],・・・,I0[9])が、各タイムスロット毎にワード方向に順次書き込まれ、残りの記憶領域にはデータが書き込まれない。また、RAM1,RAM4,RAM7に対しては、それぞれ、32タイムスロット分の全記憶領域のうち、1シンボル目のデータI1(=I1[0],I1[1],I1[2],・・・,I1[9])が、各タイムスロット毎にワード方向に順次書き込まれ、残りの記憶領域にはデータが書き込まれない。さらに、RAM2,RAM5,RAM8に対しては、それぞれ、32タイムスロット分の全記憶領域のうち、2シンボル目のデータI2(=I2[0],I2[1],I2[2],・・・,I2[31])が、各タイムスロット毎にワード方向に順次書き込まれ、残りの記憶領域にはデータが書き込まれない。
【1076】
このとき、図102に示すように、データを書き込む際には、RAM0,RAM3,RAM6に対して、それぞれ、例えば0乃至9までの連続的なアドレスが割り当てられ、RAM1,RAM4,RAM7には、それぞれ、10乃至19までの連続的なアドレスが割り当てられ、さらに、RAM2,RAM5,RAM8には、それぞれ、20乃至29までの連続的なアドレスが割り当てられるといったように、物理的に異なる複数のRAMにわたって連続的なアドレスが割り当てられる。
【1077】
しかしながら、このようなアドレス空間を用いて、RAMに対するデータの書き込みを行った場合には、データを読み出す際に、タイムスロットと入力シンボルとの組み合わせを示すアドレスへの変換を行う必要がある。例えば、同図に示すRAM0,RAM1,RAM2の中から、“12”のアドレス空間に記憶されているデータを読み出す際には、“12”というアドレスを示す情報から、“1シンボル目の2タイムスロット”という情報への変換が必要となる。
【1078】
そのため、各RAMに対して連続的なアドレスを割り当ててデータの書き込みを行う場合には、データの読み出しの際にアドレスの変換を行うための変換回路を設ける必要がある。特に、シンボル数が2のべき乗でない場合には、アドレスの変換作業は複雑なものとなる。
【1079】
そこで、インターリーバ100は、置換先のアドレスを、入力シンボルの情報と、各シンボル毎のタイムスロットの情報との組み合わせで与える。
【1080】
具体的には、インターリーバ100は、上述したように、例えば、入力シンボルとして3シンボルのデータを入力し、出力シンボルとして3シンボルのデータを出力するようなインターリーブを行う場合であって、9個の記憶回路のRAM0,RAM1,RAM2,RAM3,RAM4,RAM5,RAM6,RAM7,RAM8を用いて32タイムスロット分のインターリーブ長のインターリーブを行う場合には、制御回路400によって、例えば図103に示すように、データを書き込む際に、RAM0,RAM3,RAM6に対して、それぞれ、0−0,0−1,0−2,・・・,0−31といったように、各タイムスロットを示す情報と0シンボル目であることを示す情報との組み合わせを、アドレスとして与える。また、インターリーバ100は、RAM1,RAM4,RAM7に対して、それぞれ、1−0,1−1,1−2,・・・,1−31といったように、各タイムスロットを示す情報と1シンボル目であることを示す情報との組み合わせを、アドレスとして与える。さらに、インターリーバ100は、RAM2,RAM5,RAM8に対して、それぞれ、2−0,2−1,2−2,・・・,2−31といったように、各タイムスロットを示す情報と2シンボル目であることを示す情報との組み合わせを、アドレスとして与える。
【1081】
実際には、同図に示すアドレスの割り当ては、図100に示したアドレスの割り当てと等価なものである。例えば同図に示すRAM0,RAM1,RAM2の中から、“34”のアドレス空間に記憶されているデータを読み出す場合を考える。この場合、“34”というアドレスを示す情報は、7桁で2進数表記すると、“0100010”と表される。ここで、上位2ビット“01”は、1シンボル目であることを示し、下位5ビット“00010”は、2タイムスロット目であることを示すことがわかる。すなわち、図103に示したアドレスの割り当ては、図100に示したアドレスの割り当てと実質的には等価であり、データを読み出す際のアドレスの変換作業は不要となる。
【1082】
また、インターリーバ100は、例えばインターリーブ長を10タイムスロット分としたインターリーブを行う場合には、例えば図104に示すように、データを書き込む際に、RAM0,RAM3,RAM6に対して、それぞれ、0−0,0−1,0−2,・・・,0−9といったように、各タイムスロットを示す情報と0シンボル目であることを示す情報との組み合わせを、アドレスとして与える。また、インターリーバ100は、RAM1,RAM4,RAM7に対して、それぞれ、1−0,1−1,1−2,・・・,1−9といったように、各タイムスロットを示す情報と1シンボル目であることを示す情報との組み合わせを、アドレスとして与える。さらに、インターリーバ100は、RAM2,RAM5,RAM8に対して、それぞれ、2−0,2−1,2−2,・・・,2−9といったように、各タイムスロットを示す情報と2シンボル目であることを示す情報との組み合わせを、アドレスとして与える。
【1083】
同図に示すアドレスの割り当ては、図103に示したアドレスの割り当てと実質的は同一なものであることがわかる。そのため、インターリーバ100は、インターリーブ長を可変にする場合等において各RAMの全ての記憶領域にデータが記憶されない場合であっても、データを読み出す際のアドレスの変換作業を不要とすることができる。
【1084】
このように、インターリーバ100は、常に置換先のアドレスを、入力シンボルの情報と、各シンボル毎のタイムスロットの情報との組み合わせで与えることによって、複数シンボルを入力し、複数シンボルを出力するインターリーブを行う場合であって、インターリーブ長を可変にする場合であっても、データを読み出す際に、アドレスの変換作業を行う必要がないことから、特別なアドレスの変換回路を設ける必要がなく、回路規模の削減を図ることができる。
【1085】
なお、インターリーバ100は、図103及び図104に示したアドレスの割り当てに限らず、タイムスロットと入力シンボルとを識別可能な組み合わせであれば、いかなるものであってもよい。
【1086】
6−8 パーシャルライト機能によるデータの書き込み及び読み出し
上述した記憶回路4071,4072,・・・,40716に関する特徴である。
【1087】
上述したように、記憶回路407は、パーシャルライト制御信号PWに基づいて、パーシャルライト機能を有する。例えば、記憶回路407は、通常時には、図105(A)に示すように、(ビット数B)×(ワード数W)の記憶容量を有するRAM424に対してBビットのデータが入出力されるが、パーシャルライトのRAMとして作用させる場合には、同図(B)に示すように、(ビット数B/2)×(ワード数2W)の記憶容量を有するRAM424に対してB/2ビットのデータが入出力されるようなものとして擬似的に構成することができる。
【1088】
これは、通常、ビット数及びワード数のともに制限があるRAMをインターリーバに用いる場合には、インターリーブ長がRAMのワード数に応じて制限されるためである。換言すれば、インターリーバ100は、記憶回路407におけるRAM424を、パーシャルライトのRAMとして作用させることによって、RAM424における通常のワード数よりも長いインターリーブ長のインターリーブ処理をも実現することができる。
【1089】
このとき、インターリーバ100には、例えば16ビットといったRAMがパーシャルライト機能時ではない通常時におけるビット数のデータが入力されることから、パーシャルライト機能時には、入力される16ビットのデータのうち、所望の8ビットのデータ毎に切り替えてRAM424に与える必要がある。
【1090】
そこで、インターリーバ100においては、記憶回路407に対して入力されるデータを上位ビットと下位ビットとに分割して2シンボルのデータとし、パーシャルライト機能時には、これらの2シンボルのデータのうち、常に同一のデータを選択するとともに、読み出されたデータのうち、アドレスに該当するものが、常に出力するデータの同じ位置となるように、データを選択する。
【1091】
具体的には、記憶回路407は、パーシャルライト機能時には、以下のようにしてデータの書き込み及び読み出しを行う。
【1092】
すなわち、記憶回路407は、セレクタ421,422のそれぞれによって、アドレスデータARの最上位ビットの反転ビットIARと、アドレスデータARの最上位ビットとを選択する。これにより、例えば、アドレスデータARの最上位ビットが“0”であった場合には、データVIHは、8ビットデータ“11111111”となり、データVILは、8ビットデータ“00000000”となる。同様に、アドレスデータARの最上位ビットが“1”であった場合には、データVIHは、8ビットデータ“00000000”となり、データVILは、8ビットデータ“11111111”となる。
【1093】
ここで、データVIHは、RAM424の記憶領域におけるビット方向の上位アドレスに対するデータの書き込みを行うか否かを示すものであり、データVILは、RAM424の記憶領域におけるビット方向の下位アドレスに対するデータの書き込みを行うか否かを示すものである。記憶回路407は、これらのデータVIH,VILの各ビットが“0”のアドレスに対してデータを書き込むものとする。
【1094】
これと同時に、記憶回路407は、セレクタ423によって、データIRの下位8ビットのデータIR[7:0]を常に選択する。これにより、データIは、データIR[7:0]が反復されたもの、すなわち、I={IR1,IR0}={IR[7:0],IR[7:0]}となる。
【1095】
そして、記憶回路407は、アドレスデータARの最上位ビットを除いたデータであるアドレスデータIAと、データVIH,VILとに基づいて、RAM424に対して、所定のワードにおける上位アドレス又は下位アドレスのいずれか一方に、データIR[7:0]を書き込む。すなわち、記憶回路407は、アドレスデータARの最上位ビットが“0”であった場合には、RAM424に対して、所定のワードにおける下位アドレスにデータIR[7:0]を書き込み、アドレスデータARの最上位ビットが“1”であった場合には、RAM424に対して、所定のワードにおける上位アドレスにデータIR[7:0]を書き込む。
【1096】
このように、記憶回路407は、パーシャルライト機能時には、RAM424に対して、データIRの下位8ビットのデータIR[7:0]のみを書き込む。
【1097】
そして、記憶回路407は、アドレスデータARの最上位ビットを除いたデータであるアドレスデータIAと、データVIH,VILとに基づいて、RAM424から、上位アドレスに記憶されているデータをデータOHとして読み出すとともに、下位アドレスに記憶されているデータをデータOLとして読み出し、セレクタ425,426により選択させることによって、データORを出力する。
【1098】
このとき、データORは、常に、RAM424から読み出されたデータOH,OLのうち、アドレスに該当するものが、出力するデータの同じ位置となるように構成される。すなわち、データORは、データLPDが“0”であった場合には、該当するアドレスがRAM424における下位アドレスであることから、当該下位アドレスから読み出されたデータOLを下位ビットとし、上位アドレスから読み出されたデータOHを上位ビットとし、OR={SOH,SOL}={OH,OL}となる。同様に、データORは、データLPDが“1”であった場合には、該当するアドレスがRAM424における上位アドレスであることから、当該上位アドレスから読み出されたデータOHを下位ビットとし、下位アドレスから読み出されたデータOLを上位ビットとし、OR={SOH,SOL}={OL,OH}となる。
【1099】
このように、記憶回路407は、パーシャルライト機能時には、常に、入力されたデータIRを上位ビットと下位ビットとに分割して得られた下位ビットのデータIR0をRAM424に書き込むとともに、常に、RAM424から読み出されたデータのうち、アドレスに該当するものを、出力するデータの下位ビットとする。
【1100】
一方、パーシャルライト機能時ではなく、通常時には、記憶回路407は、以下のようにしてデータの書き込み及び読み出しを行う。
【1101】
すなわち、記憶回路407は、セレクタ421,422のそれぞれによって、値が“0”であるビットを選択する。これにより、例えば、データVIH,VILは、常に8ビットデータ“00000000”となる。
【1102】
これと同時に、記憶回路407は、セレクタ423によって、データIRの上位8ビットのデータIR[15:8]を常に選択する。これにより、データIは、I={IR1,IR0}={IR[15:8],IR[7:0]}となり、データIRそのものとなる。
【1103】
そして、記憶回路407は、データVIH,VILが、ともに、“00000000”であることから、アドレスデータARの最上位ビットを除いたデータであるアドレスデータIAと、データVIH,VILとに基づいて、RAM424に対して、所定のワードにおける上位アドレス及び下位アドレスの両者に、データIを書き込む。すなわち、記憶回路407は、RAM424に対して、所定のワードにおける上位アドレスにデータIR[15:8]を書き込み、下位アドレスにデータIR[7:0]を書き込む。
【1104】
このように、記憶回路407は、通常時には、RAM424に対して、データIRそのものを書き込む。
【1105】
そして、記憶回路407は、アドレスデータARの最上位ビットを除いたデータであるアドレスデータIAと、データVIH,VILとに基づいて、RAM424から、上位アドレスに記憶されているデータをデータOHとして読み出すとともに、下位アドレスに記憶されているデータをデータOLとして読み出し、セレクタ425,426により選択させることによって、データORを出力する。このとき、データORは、データLPDが“0”であることから、常に、RAM424における下位アドレスから読み出されたデータOLを下位ビットとし、上位アドレスから読み出されたデータOHを上位ビットとし、OR={SOH,SOL}={OH,OL}となる。すなわち、データORは、RAM424における所定のワードから読み出されたデータそのものとなる。
【1106】
このように、記憶回路407は、通常時には、データIRをRAM424に対して書き込み、データORとして出力する。
【1107】
このようにすることによって、インターリーバ100は、入出力される複数ビットのデータのうち、上位ビットのデータ又は下位ビットのデータのみを把握すればよく、どのビットのデータが書き込み及び読み出しに寄与しているのかを意識する必要がない。そのため、インターリーバ100は、通常時には、(ビット数B)×(ワード数W)の記憶容量を有するRAMを、パーシャルライトのRAMとして作用させ、半数ビット×2倍長ワードのRAMとして用いることが容易となる。
【1108】
なお、ここでは、パーシャルライト機能時には、RAM424の記憶容量が、通常時に比べ、半数ビット×2倍長ワードとなるものとして説明したが、この手法は、この記憶容量に限定されるものではない。この手法は、パーシャルライト機能時におけるRAM424の記憶容量が、通常時に比べ、例えば、1/3数ビット×3倍長ワード、1/4数ビット×4倍長ワード、1ビット×ビット数倍長ワードとなる場合といったように、任意の記憶容量に応用可能である。
【1109】
すなわち、インターリーバとしては、記憶回路に対して入力されるデータを少なくとも上位ビットと下位ビットとに分割して少なくとも2シンボルのデータとし、パーシャルライト機能時には、これらの少なくとも2シンボルのデータのうち、常に同一のデータを選択するとともに、読み出されたデータのうち、アドレスに該当するものが、常に出力するデータの同じ位置となるように、データを選択するようにすればよい。
【1110】
6−9 偶数長遅延及び奇数長遅延への対応
上述した奇数長遅延補償回路402及び記憶回路4071,4072,・・・,40716に関する特徴である。
【1111】
符号長可変の繰り返し復号を行う場合には、可変長の遅延を行う必要がある。インターリーバ100は、2バンクのRAMを用いて、1タイムスロットでデータの書き込み及び読み出しを切り替えることによって、遅延長、すなわち、インターリーブ長の半分のタイムスロット分のワード数のRAMを用いれば、インターリーブ長の遅延を実現することができる。
【1112】
この動作を簡略化して説明するために、3タイムスロット分のワード数のRAMを2バンク用いて6タイムスロット分のインターリーブ長の遅延を実現する例について図106を用いて示す。ここでは、バンクA,BのRAMには、それぞれ、便宜上0,1,2のアドレスが割り当てられているものとする。また、バンクAのRAMには、アドレス0,1,2の各記憶領域に対して、データA,C,Eが予め記憶されており、バンクBのRAMには、アドレス1,2の各記憶領域に対して、データB,Dが予め記憶されているとともに、アドレス0の記憶領域には、データが記憶されていないものとする。さらに、同図中においては、データの書き込みを“W”で表し、データの読み出しを“R”で表すものとする。
【1113】
まず、インターリーバ100は、0タイムスロット目では、バンクAのRAMにおけるアドレス0の記憶領域から、データAを読み出すとともに、バンクBのRAMにおけるアドレス0の記憶領域に対して、データFを書き込む。
【1114】
続いて、インターリーバ100は、1タイムスロット目では、バンクAのRAMにおけるアドレス0の記憶領域、すなわち、0タイムスロット目でデータAが読み出された記憶領域に対して、データGを書き込むとともに、バンクBのRAMにおけるアドレス1の記憶領域から、データBを読み出す。
【1115】
続いて、インターリーバ100は、2タイムスロット目では、バンクAのRAMにおけるアドレス1の記憶領域から、データCを読み出すとともに、バンクBのRAMにおけるアドレス1の記憶領域、すなわち、1タイムスロット目でデータFが読み出された記憶領域に対して、データHを書き込む。
【1116】
続いて、インターリーバ100は、3タイムスロット目では、バンクAのRAMにおけるアドレス1の記憶領域、すなわち、2タイムスロット目でデータCが読み出された記憶領域に対して、データIを書き込むとともに、バンクBのRAMにおけるアドレス2の記憶領域から、データDを読み出す。
【1117】
続いて、インターリーバ100は、4タイムスロット目では、バンクAのRAMにおけるアドレス2の記憶領域から、データEを読み出すとともに、バンクBのRAMにおけるアドレス2の記憶領域、すなわち、3タイムスロット目でデータDが読み出された記憶領域に対して、データJを書き込む。
【1118】
続いて、インターリーバ100は、5タイムスロット目では、バンクAのRAMにおけるアドレス2の記憶領域、すなわち、4タイムスロット目でデータEが読み出された記憶領域に対して、データKを書き込むとともに、バンクBのRAMにおけるアドレス0の記憶領域から、データFを読み出す。
【1119】
そして、インターリーバ100は、6タイムスロット目では、バンクAのRAMにおけるアドレス0の記憶領域から、データGを読み出すとともに、バンクBのRAMにおけるアドレス0の記憶領域、すなわち、5タイムスロット目でデータFが読み出された記憶領域に対して、データLを書き込む。
【1120】
インターリーバ100は、このように2バンクのRAMを用いて、1タイムスロットでデータの書き込み及び読み出しを切り替える。このような動作によるデータの書き込み及び読み出しのタイミングチャートは、図107に示すようになる。すなわち、バンクBに書き込まれたデータFは、インターリーブ長分の時間の経過後に読み出され、同様に、バンクAに書き込まれたデータGも、インターリーブ長分の時間の経過後に読み出されることになる。
【1121】
このように、インターリーバ100は、一方のバンクにデータを書き込むとき、他方のバンクからデータを読み出す動作を、1タイムスロット毎に切り替えることによって、インターリーブ長の半分のタイムスロット分のワード数のRAMを2バンク用い、インターリーブ長の遅延を実現することができる。
【1122】
ところで、この手法による遅延処理の場合、RAMの記憶容量が少なくて済むことから、回路規模の削減を図ることができるものの、遅延長は偶数長に限られる。
【1123】
そこで、インターリーバ100は、偶数長遅延のときには、上述した動作を行うことによりRAMのみで遅延長分の遅延を行い、奇数長遅延のときには、上述した動作を行い遅延長−1分の遅延を行うとともに、レジスタを用いて1タイムスロット分の遅延を行うように、切り替える機能を備えることによって、偶数長遅延及び奇数長遅延の両方に対応する。
【1124】
具体的には、インターリーバ100は、上述したように、奇数長遅延補償回路402によって、制御回路60から供給されるインターリーブ長情報CINLに基づいて、偶数長遅延を行う場合には、データTDIに対して、RAMによる遅延のみを行い、奇数長遅延を行う場合には、データTDIに対して、RAMによる遅延長−1分の遅延と、レジスタによる1タイムスロット分の遅延を行うように、遅延の対象とするデータであるデータTDIを選択する。
【1125】
このようにすることによって、インターリーバ100は、少ない回路規模の下に、偶数長遅延及び奇数長遅延の両方に対応することができる。
【1126】
6−10 入出力順序入れ替え機能
上述した入力データ選択回路406及び出力データ選択回路408に関する特徴である。
【1127】
軟出力復号回路90は、上述したように、任意の符号の復号を可能とするものであるが、任意の符号の復号を行うために、符号に応じた入出力パターンを予め求めておく必要がある。そのため、軟出力復号回路90は、実際には、全ての符号の復号を1つの回路で行うのは非常に困難であり、任意に想定された符号を対象とした復号を行うのが現実的である。
【1128】
このように、軟出力復号回路90に限らず、復号対象となる符号に限定がある軟出力復号回路は、一般に、複数シンボルを入力し、複数シンボルを出力する任意の符号の軟出力復号を行う際、当該任意の符号に対して、入力シンボル間の順序及び/又は出力シンボル間の順序のみが異なる符号を復号することができない場合がある。
【1129】
例えば、要素復号器50を連接して復号装置3を構成し、SCCCによる符号化を行う符号化装置による符号を復号する場合において、当該符号化装置が、外符号の符号化を行う畳み込み符号化器として、軟出力復号回路90が復号可能な任意の畳み込み符号化器を備え、インターリーバとして、インラインインターリーブを行うものを備え、さらに、内符号の符号化を行う畳み込み符号化器として、軟出力復号回路90が復号可能な先に図24に示した畳み込み符号化器を備えるものとする。この場合、復号装置3は、符号化装置による符号を復号することが可能であることはいうまでもない。
【1130】
ところで、符号化装置における内符号の符号化を行う畳み込み符号化器として図108に示すものを用い、軟出力復号回路90が当該畳み込み符号を復号対象としていない場合には、復号装置3は、この符号化装置による符号を復号することが不可能となる。
【1131】
ここで、同図に示す畳み込み符号化器は、入力データi0,i1,i2を、それぞれ、0,1,2シンボル目とすると、図24に示した畳み込み符号化器と比べ、1シンボル目の入力データi1と、2シンボル目の入力データi2とを入れ替えたものであることがわかる。すなわち、図108に示す畳み込み符号化器を備える符号化装置は、図109に示すように、外符号の符号化を行う畳み込み符号化器から出力される3ビットの符号化データがインターリーバに入力される際に、1シンボル目の符号化データと、2シンボル目の符号化データとを入れ替え、内符号の符号化を行う畳み込み符号化器として、図24に示した畳み込み符号化器を用いた符号化装置と等価なものであることがわかる。
【1132】
このように、復号装置3は、軟出力復号回路90が復号対象としていない符号を要素符号とする符号化装置に対しては、当該要素符号が、入力シンボル間の順序及び/又は出力シンボル間の順序のみが異なるものであっても、復号することが不可能となる。
【1133】
換言すれば、符号化側としては、例えばインラインインターリーブやペアワイズインターリーブといった各シンボル毎に個別的にインターリーブを施す場合には、入出力のシンボルの位置が一意に決定されるが、入出力のシンボルの位置を変化させた符号化を行うことによって、幅広い符号化を行うといった要求があることは否めない。特に、マッシィ型の符号を要素符号として用いている符号化装置の場合、組織成分の出力位置を入れ替えることによって、多様な符号化を行うことができる。そのため、復号装置としては、このような符号の復号にも対応する必要がある。
【1134】
そこで、インターリーバ100は、複数シンボルを入力し、複数シンボルを出力するインターリーブを行う際、入力シンボル間の順序及び/又は出力シンボル間の順序を入れ替える機能を有することによって、同一アドレスに基づいた複数通りのインターリーブを実現する。
【1135】
具体的には、インターリーバ100は、インターリーブ処理を行う場合には、入力データ選択回路406によって、インターリーバ入出力置換情報CIPTに基づいて、各シンボル間の入力順序を相互に置換し、各シンボルの入力位置と出力位置とを切り替える。
【1136】
また、インターリーバ100は、デインターリーブ処理を行う場合には、出力データ選択回路408によって、インターリーバ入出力置換情報CIPTに基づいて、各シンボル間の出力順序を相互に置換し、各シンボルの入力位置と出力位置とを切り替える。
【1137】
換言すれば、復号装置3がSCCCによる符号の復号を行うものとすると、当該復号装置3を構成する隣接する2つの要素復号器50I,50Jは、簡略化すると例えば図110に示す構成として表すことができる。ここでは、入力シンボル間の順序及び/又は出力シンボル間の順序を入れ替える機能を有する回路を、シンボル入れ替え回路と称するものとする。
【1138】
すなわち、要素復号器50Iは、軟出力復号回路90から出力されたデータがインターリーバ100に入力されると、インターリーバ100によって、デインターリーブ処理を行う。このとき、要素復号器50Iは、インターリーバ100における記憶回路407を経ることによりデインターリーブ処理が施された複数シンボルからなるデータORが出力データ選択回路408に相当するシンボル入れ替え回路610に入力されると、このシンボル入れ替え回路610によって、出力すべきインターリーバ出力データIIOを選択した後、複数シンボルからなるこれらのインターリーバ出力データIIOについて、符号構成に応じて、各シンボル間の入力順序を相互に置換し、すなわち、各シンボルの順序を入れ替え、次段の要素復号器50Jに供給する。
【1139】
一方、要素復号器50Jは、要素復号器50Iから供給され、軟出力復号回路90により軟出力復号処理が施されたデータがインターリーバ100に入力されると、インターリーバ100によって、インターリーブ処理を行う。このとき、要素復号器50Jは、インターリーバ100における入力データ選択回路406に相当するシンボル入れ替え回路611によって、軟出力復号回路90から供給されて各種処理が施された複数シンボルからなるデータIについて、符号構成に応じて、各シンボルの順序を入れ替え、データIRとして記憶回路407に供給する。このようにしてインターリーブが施されたデータは、図示しない次段の要素復号器に供給される。
【1140】
このようにすることによって、インターリーバ100は、入力シンボル間の順序及び/又は出力シンボル間の順序を入れ替え、同一アドレスに基づいた複数通りのインターリーブを実現することができる。特に、インターリーバ100は、通常のインラインインターリーバやペアワイズインターリーバのように、入出力されるシンボル数が同じであり且つ入力位置と出力位置とが1対1に決められているインターリーブを行う場合には、入力シンボルの位置と出力シンボルの位置との接続を切り替えることが可能となる。
【1141】
そのため、要素復号器50は、復号対象となる符号に限定がある汎用の軟出力復号回路を備えた場合であっても、当該軟出力復号回路が復号可能な符号に対して、入力シンボル間の順序及び/又は出力シンボル間の順序のみが異なる符号を復号することができる。また、要素復号器50は、軟出力復号回路90が復号対象とする符号の数を限定できることから、回路の簡略化及び規模削減を図ることができる。
【1142】
なお、ここでは、各シンボルの順序を入れ替える機能をインターリーバ100に設けた例について説明したが、必ずしもインターリーバ100の機能として設ける必要はなく、例えば軟出力復号回路90の機能として設けるようにしてもよい。
【1143】
各シンボルの順序を入れ替える機能を軟出力復号回路90の機能として設ける場合、復号装置3がSCCCによる符号の復号を行うものとすると、当該復号装置3を構成する隣接する2つの要素復号器50K,50Lは、簡略化すると例えば図111に示す構成として表すことができる。
【1144】
すなわち、要素復号器50Kは、軟出力復号回路90及びインターリーバ100によって、通常の軟出力復号処理及びデインターリーブ処理を行い、得られたデータを次段の要素復号器50Lに供給する。
【1145】
一方、要素復号器50Lは、要素復号器50Kから供給された複数シンボルからなるデータ、すなわち、外部情報又はインターリーブデータTEXT等の軟出力復号処理に必要な情報が軟出力復号回路90に入力されると、これらの情報について、シンボル入れ替え回路612によって、符号構成に応じて、各シンボルの順序を入れ替える。さらに、要素復号器50Lは、軟出力復号回路90と同様の各種処理を経て、外部情報算出回路163により算出された複数シンボルからなる外部情報SOEについて、シンボル入れ替え回路613によって、符号構成に応じて、各シンボルの順序を入れ替え、各種処理を施した後、データTIIとしてインターリーバ100に供給する。そして、要素復号器50Lは、入力されたデータTIIに対してインターリーブ処理を施し、図示しない次段の要素復号器に供給する。
【1146】
このようにすることによって、軟出力復号回路90は、入力シンボル間の順序及び/又は出力シンボル間の順序のみが異なる符号の復号が可能となる。そのため、要素復号器50は、軟出力復号回路90が復号対象とする符号の数を限定できることから、回路の簡略化及び規模削減を図ることができる。特に、要素復号器50は、マッシィ型の符号を繰り返し復号する場合には、組織成分の出力位置を入れ替えた符号を復号することができる。
【1147】
なお、図111に示した要素復号器50Lにおいて、シンボル入れ替え回路613を軟出力復号回路90が有するものとして説明したが、このシンボル入れ替え回路613をインターリーバ100が有してもよい。すなわち、要素復号器50は、デインターリーブ処理を行うインターリーバ100の後段、及び、インターリーブ処理を行うインターリーバ100の前段に、符号構成に応じたシンボル入れ替え回路を備えるものであればよい。勿論、復号装置3がPCCCによる符号の復号を行うものである場合であっても、要素復号器50は、デインターリーブ処理を行うインターリーバ100の後段、及び、インターリーブ処理を行うインターリーバ100の前段に、符号構成に応じたシンボル入れ替え回路を備える構成とすればよい。
【1148】
7. まとめ
以上説明したように、符号化装置1と復号装置3とを用いて構成されるデータ送受信システムにおいて、復号装置3を構成する要素復号器50は、軟出力復号回路90における軟出力算出回路161’によって、トレリス上の各枝に対応する対数尤度Iαと対数尤度Iγと対数尤度Iβとの和を算出するとともに、各枝の入出力パターンに応じて該当する枝を選択しておき、選択した枝を用いた勝ち抜き戦に喩えられる動作を行うことによって、所定の本数以下の枝を有する任意のトレリス符号に対して、対数軟出力Iλを算出することができる。
【1149】
すなわち、これらの符号化装置1と復号装置3とを用いて構成されるデータ送受信システムは、単純な構成で任意の符号の復号を実現するものであり、ユーザに高い利便を提供することができるものである。
【1150】
なお、本発明は、上述した実施の形態に限定されるものではなく、例えば、上述した実施の形態では、要素復号器50が、軟出力復号回路90及びインターリーバ100等をLSIとして集積させて構成されるものとして説明したが、軟出力復号回路90のみをLSI等の単一モジュールとして構成し、この軟出力復号回路90を複数連接するとともに、インターリーバ100を含む他の各部を外付けの機器として設けることによって、復号装置3として構成してもよい。同様に、本発明は、インターリーバ100のみをLSI等の単一モジュールとして構成し、このインターリーバ100を複数連接するとともに、軟出力復号回路90を含む他の各部を外付けの機器として設けることによって、復号装置3として構成してもよい。すなわち、本発明は、少なくとも軟出力復号回路90又はインターリーバ100がLSI等の単一モジュールとして構成されていれば、繰り返し復号に適用できるものである。
【1151】
また、上述した実施の形態では、軟出力復号回路90による補正項の算出の際には、補正項の値をROM等から構成されるルックアップテーブルから読み出すものとして説明したが、本発明は、ROMの代わりに、例えばRAM等の各種メモリであってもよく、また、例えばいわゆる線形近似回路等を設けることによって、補正項の値を算出する場合にも適用可能である。
【1152】
さらに、上述した実施の形態では、インターリーバ100に対して入出力されるシンボル数を最大で3シンボルであるものとして説明したが、本発明は、3シンボル以上の任意の数のシンボルを入出力する場合にも適用することができる。
【1153】
さらにまた、上述した実施の形態では、インターリーバ100が16個の記憶回路4071,4072,・・・,40716を有するものとして説明したが、本発明は、符号構成に応じた任意の数の記憶回路を有する場合にも適用できることは勿論である。
【1154】
また、上述した実施の形態では、インターリーバ100が対応可能なインターリーブの種類として、ランダムインターリーブ、インラインインターリーブ及びペアワイズインターリーブについて説明したが、本発明は、これらのインターリーブの種類に限定されるものではなく、他の種類のインターリーブにも適用可能である。
【1155】
さらに、上述した実施の形態では、復号装置として、Log−BCJRアルゴリズムに基づくMAP復号を行うものとして説明したが、本発明は、Max−Log−BCJRアルゴリズムに基づくMAP復号を行う復号装置であっても適用可能である。
【1156】
さらにまた、上述した実施の形態では、符号化装置及び復号装置をデータ送受信システムにおける送信装置及び受信装置に適用して説明したが、本発明は、例えばフロッピーディスク、CD−ROM又はMO(Magneto Optical)といった磁気、光又は光磁気ディスク等の記録媒体に対する記録及び/又は再生を行う記録及び/又は再生装置に適用することもできる。この場合、符号化装置により符号化されたデータは、無記憶通信路に等価とされる記録媒体に記録され、復号装置により復号されて再生される。
【1157】
以上のように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【1158】
【発明の効果】
以上詳細に説明したように、本発明にかかる軟出力復号装置は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて復号を行う軟出力復号装置であって、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを備え、軟出力算出手段は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出するとともに、各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行う。
【1159】
したがって、本発明にかかる軟出力復号装置は、軟出力算出手段によって、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出することによって、単純な構成で、所定の本数以下の枝を有する任意のトレリス符号の復号を行うことができる。
【1160】
また、本発明にかかる軟出力復号方法は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて復号を行う軟出力復号方法であって、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを備え、軟出力算出工程では、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和が算出されるとともに、各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算が行われる。
【1161】
したがって、本発明にかかる軟出力復号方法は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出することによって、単純な構成で、所定の本数以下の枝を有する任意のトレリス符号の復号を行うことを可能とする。
【1162】
さらに、本発明にかかる復号装置は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて、複数の要素符号をインターリーバを介して連接して生成された符号を繰り返し復号するための、要素符号に対応する復号装置であって、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを少なくとも有し、受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号手段と、この軟出力復号手段により生成された外部情報を入力し、インターリーバと同一の置換位置情報に基づいて、外部情報の順序を置換して並べ替える、又は、インターリーバにより並べ替えられた情報の配列を元に戻すように、外部情報の順序を置換して並べ替えるインターリーブ手段とを備え、軟出力算出手段は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出するとともに、各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行う。
【1163】
したがって、本発明にかかる復号装置は、軟出力算出手段によって、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する軟出力復号を行うことによって、単純な構成で、所定の本数以下の枝を有する任意のトレリス符号の復号を行うことができる。
【1164】
さらにまた、本発明にかかる復号方法は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて、複数の要素符号を第1のインターリーブ工程を介して連接して生成された符号を繰り返し復号するための、要素符号に対応する復号方法であって、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを少なくとも有し、受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号工程と、この軟出力復号工程にて生成された外部情報を入力し、第1のインターリーブ工程と同一の置換位置情報に基づいて、外部情報の順序を置換して並べ替える、又は、第1のインターリーブ工程にて並べ替えられた情報の配列を元に戻すように、外部情報の順序を置換して並べ替える第2のインターリーブ工程とを備え、軟出力算出工程では、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和が算出されるとともに、各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算が行われる。
【1165】
したがって、本発明にかかる復号方法は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する軟出力復号を行うことによって、単純な構成で、所定の本数以下の枝を有する任意のトレリス符号の復号を行うことを可能とする。
【1166】
また、本発明にかかる復号装置は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて、複数の要素符号をインターリーバを介して連接して生成された符号を繰り返し復号する復号装置であって、当該復号装置は、連接された複数の要素復号器からなり、これらの要素復号器は、それぞれ、受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号手段と、この軟出力復号手段により生成された外部情報を入力し、インターリーバと同一の置換位置情報に基づいて、外部情報の順序を置換して並べ替える、又は、インターリーバにより並べ替えられた情報の配列を元に戻すように、外部情報の順序を置換して並べ替えるインターリーブ手段とを備え、軟出力復号手段は、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを有し、軟出力算出手段は、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出するとともに、各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行う。
【1167】
したがって、本発明にかかる復号装置は、繰り返し復号を行う際に、軟出力算出手段によって、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する軟出力復号を行うことによって、単純な構成で、所定の本数以下の枝を有する任意のトレリス符号の復号を行うことができる。
【1168】
さらに、本発明にかかる復号方法は、軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、この対数尤度を用いて、複数の要素符号を第1のインターリーブ工程を介して連接して生成された符号を繰り返し復号する復号方法であって、当該復号方法は、複数の要素復号工程が連続して行われるものであり、これらの要素復号工程は、それぞれ、受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号工程と、この軟出力復号工程にて生成された外部情報を入力し、第1のインターリーブ工程と同一の置換位置情報に基づいて、外部情報の順序を置換して並べ替える、又は、第1のインターリーブ工程にて並べ替えられた情報の配列を元に戻すように、外部情報の順序を置換して並べ替える第2のインターリーブ工程とを備え、軟出力復号工程は、受信値毎に、符号の出力パターンと受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、第1の対数尤度に基づいて、受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、第1の対数尤度に基づいて、受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、第1の対数尤度と、第2の対数尤度と、第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを有し、要素復号工程が複数回連続して行われる際に、軟出力算出工程では、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和が算出されるとともに、各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算が行われる。
【1169】
したがって、本発明にかかる復号方法は、繰り返し復号を行う際に、符号のトレリス上の各枝に対応する第1の対数尤度と第2の対数尤度と第3の対数尤度との和を算出し、各枝の入出力パターンに応じて選択した該当する枝の入力に対応した確率の和演算に相当する対数尤度の演算の累積加算演算を行い、適切な対数軟出力を算出する軟出力復号を行うことによって、単純な構成で、所定の本数以下の枝を有する任意のトレリス符号の復号を行うことを可能とする。
【図面の簡単な説明】
【図1】本発明の実施の形態として示すデータ送受信システムを適用する通信モデルの構成を説明するブロック図である。
【図2】同データ送受信システムにおける符号化装置の一例の構成を説明するブロック図であって、PCCCによる符号化を行う符号化装置の構成を説明するブロック図である。
【図3】同データ送受信システムにおける復号装置の一例の構成を説明するブロック図であって、図2に示す符号化装置による符号の復号を行う復号装置の構成を説明するブロック図である。
【図4】同データ送受信システムにおける符号化装置の一例の構成を説明するブロック図であって、SCCCによる符号化を行う符号化装置の構成を説明するブロック図である。
【図5】同データ送受信システムにおける復号装置の一例の構成を説明するブロック図であって、図4に示す符号化装置による符号の復号を行う復号装置の構成を説明するブロック図である。
【図6】要素復号器の概略構成を説明するブロック図である。
【図7】同要素復号器の左半分部分の詳細構成を説明するブロック図である。
【図8】同要素復号器の右半分部分の詳細構成を説明するブロック図である。
【図9】同要素復号器が備える復号受信値選択回路の構成を説明するブロック図である。
【図10】同要素復号器が備えるエッジ検出回路の構成を説明するブロック図である。
【図11】同要素復号器が備える軟出力復号回路の概略構成を説明するブロック図である。
【図12】同軟出力復号回路の左半分部分の詳細構成を説明するブロック図である。
【図13】同軟出力復号回路の右半分部分の詳細構成を説明するブロック図である。
【図14】ボーゼンクラフト型の畳み込み符号化器の一構成例を説明するブロック図である。
【図15】ボーゼンクラフト型の畳み込み符号化器の他の一構成例を説明するブロック図である。
【図16】マッシィ型の畳み込み符号化器の一構成例を説明するブロック図である。
【図17】マッシィ型の畳み込み符号化器の他の一構成例を説明するブロック図である。
【図18】図14に示す畳み込み符号化器の具体的構成例を説明するブロック図である。
【図19】図18に示す畳み込み符号化器におけるトレリスを説明する図である。
【図20】図15に示す畳み込み符号化器の具体的構成例を説明するブロック図である。
【図21】図20に示す畳み込み符号化器におけるトレリスを説明する図である。
【図22】図16に示す畳み込み符号化器の具体的構成例を説明するブロック図である。
【図23】図22に示す畳み込み符号化器におけるトレリスを説明する図である。
【図24】図17に示す畳み込み符号化器の具体的構成例を説明するブロック図である。
【図25】図24に示す畳み込み符号化器におけるトレリスを説明する図である。
【図26】同軟出力復号回路が有する内部消去情報生成回路の構成を説明するブロック図である。
【図27】同軟出力復号回路が有する終結情報生成回路の構成を説明するブロック図である。
【図28】同軟出力復号回路が有する受信値及び事前確率情報選択回路の構成を説明するブロック図である。
【図29】同軟出力復号回路が有するIγ算出回路の構成を説明するブロック図である。
【図30】同軟出力復号回路が有するIγ分配回路の構成を説明するブロック図である。
【図31】同Iγ分配回路が有するIβ0用パラレルパス処理回路の構成を説明するブロック図である。
【図32】同Iβ0用パラレルパス処理回路が有するパラレルパス用log−sum演算回路の構成を説明するブロック図である。
【図33】同軟出力復号回路が有するIα算出回路の構成を説明するブロック図である。
【図34】同Iα算出回路が有する加算比較選択回路の構成を説明するブロック図であって、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号に対して処理を行う加算比較選択回路の構成を説明するブロック図である。
【図35】同加算比較選択回路が有する補正項算出回路の構成を説明するブロック図である。
【図36】同Iα算出回路が有する加算比較選択回路の構成を説明するブロック図であって、トレリス上の各ステートから次時刻におけるステートへと4本のパスが到達するような符号に対して処理を行う加算比較選択回路の構成を説明するブロック図である。
【図37】同Iα算出回路が有するIα+Iγ算出回路の構成を説明するブロック図である。
【図38】同軟出力復号回路が有するIβ算出回路の構成を説明するブロック図である。
【図39】同Iβ算出回路が有する加算比較選択回路の構成を説明するブロック図であって、トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号に対して処理を行う加算比較選択回路の構成を説明するブロック図である。
【図40】同Iβ算出回路が有する加算比較選択回路の構成を説明するブロック図であって、トレリス上の各ステートから次時刻におけるステートへと4本のパスが到達するような符号に対して処理を行う加算比較選択回路の構成を説明するブロック図である。
【図41】同軟出力復号回路が有する軟出力算出回路の構成を説明するブロック図である。
【図42】同軟出力算出回路が有するlog−sum演算回路の構成を説明するブロック図である。
【図43】同軟出力復号回路が有する受信値又は事前確率情報分離回路の構成を説明するブロック図である。
【図44】同軟出力復号回路が有する外部情報算出回路の構成を説明するブロック図である。
【図45】同軟出力復号回路が有する硬判定回路の構成を説明するブロック図である。
【図46】同要素復号器が備えるインターリーバにおける遅延用のRAMの概念を説明するためのブロック図である。
【図47】遅延用のRAMの概念を説明するためのブロック図であって、複数個のRAMから構成されていることを説明するためのブロック図である。
【図48】遅延用のRAMの概念を説明するためのブロック図であって、同インターリーバが有する制御回路により生成したアドレスを適切に変換して各RAMに与える様子を説明するためのブロック図である。
【図49】同インターリーバにおけるインターリーブ用のRAMの概念を説明するためのブロック図である。
【図50】インターリーブ用のRAMの概念を説明するためのブロック図であって、シーケンシャルな書き込みアドレスとランダムな読み出しアドレスとに基づいて、バンクA,Bのそれぞれに用いるアドレスに変換し、各RAMに与える様子を説明するためのブロック図である。
【図51】同インターリーバが行うインターリーブの種類を説明するための図であって、(A)は、1シンボルの入力データに対するランダムインターリーブを示し、(B)は、2シンボルの入力データに対するランダムインターリーブを示し、(C)は、2シンボルの入力データに対するインラインインターリーブを示し、(D)は、2シンボルの入力データに対するペアワイズインターリーブを示し、(E)は、3シンボルの入力データに対するランダムインターリーブを示し、(F)は、3シンボルの入力データに対するインラインインターリーブを示し、(G)は、3シンボルの入力データに対するペアワイズインターリーブを示す図である。
【図52】同インターリーバの構成を説明するブロック図である。
【図53】同インターリーバが有する奇数長遅延補償回路の構成を説明するブロック図である。
【図54】同インターリーバが有する記憶回路の構成を説明するブロック図である。
【図55】同インターリーバにおけるRAMの利用方法を説明するための図であって、1シンボルの入力データに対して、ランダムインターリーブを施す場合において、(A)は、遅延用のRAMを示し、(B)は、インターリーブ用のRAMを示し、(C)は、アドレス用のRAMを示し、(D)は、使用しないRAMを示す図である。
【図56】同インターリーバにおけるRAMの利用方法を説明するための図であって、2シンボルの入力データに対して、ランダムインターリーブを施す場合において、(A)は、遅延用のRAMを示し、(B)は、インターリーブ用のRAMを示し、(C)は、アドレス用のRAMを示し、(D)は、使用しないRAMを示す図である。
【図57】同インターリーバにおけるRAMの利用方法を説明するための図であって、2シンボルの入力データに対して、インラインインターリーブを施す場合において、(A)は、遅延用のRAMを示し、(B)は、インターリーブ用のRAMを示し、(C)は、アドレス用のRAMを示す図である。
【図58】同インターリーバにおけるRAMの利用方法を説明するための図であって、2シンボルの入力データに対して、ペアワイズインターリーブを施す場合において、(A)は、遅延用のRAMを示し、(B)は、インターリーブ用のRAMを示し、(C)は、アドレス用のRAMを示し、(D)は、使用しないRAMを示す図である。
【図59】同インターリーバにおけるRAMの利用方法を説明するための図であって、3シンボルの入力データに対して、ランダムインターリーブを施す場合において、(A)は、遅延用のRAMを示し、(B)は、インターリーブ用のRAMを示し、(C)は、アドレス用のRAMを示し、(D)は、使用しないRAMを示す図である。
【図60】同インターリーバにおけるRAMの利用方法を説明するための図であって、3シンボルの入力データに対して、インラインインターリーブを施す場合において、(A)は、遅延用のRAMを示し、(B)は、インターリーブ用のRAMを示し、(C)は、アドレス用のRAMを示し、(D)は、使用しないRAMを示す図である。
【図61】同インターリーバにおけるRAMの利用方法を説明するための図であって、3シンボルの入力データに対して、ペアワイズインターリーブを施す場合において、(A)は、遅延用のRAMを示し、(B)は、インターリーブ用のRAMを示し、(C)は、アドレス用のRAMを示し、(D)は、使用しないRAMを示す図である。
【図62】同要素復号器を連接して構成される復号装置の構成を説明するブロック図である。
【図63】同復号装置を構成する隣接する2つの要素復号器の簡略化した構成を説明するブロック図であって、前段の要素復号器からの情報の中から、軟出力復号に必要な情報を選択する構成について説明するブロック図である。
【図64】同復号装置を構成する隣接する2つの要素復号器の簡略化した構成を説明するブロック図であって、前段の要素復号器によって、次段の要素復号器における軟出力復号に必要な情報を選択する構成について説明するブロック図である。
【図65】同復号装置を構成する隣接する2つの要素復号器の簡略化した構成を説明するブロック図であって、受信値を遅延させる遅延回路を備える構成について説明するブロック図である。
【図66】同復号装置を構成する隣接する2つの要素復号器の簡略化した構成を説明するブロック図であって、復号の対象とする受信値を選択する復号受信値選択回路を備える構成について説明するブロック図である。
【図67】図14に示す畳み込み符号化器におけるトレリスを説明する図であり、遷移先のステートから見て入力される枝を基準とした場合の番号付けを説明する図であって、(A)は、メモリ数が4の場合における番号付けを示し、(B)は、メモリ数が3の場合における番号付けを示し、(C)は、メモリ数が2の場合における番号付けを示し、(D)は、メモリ数が1の場合における番号付けを示す図である。
【図68】図14に示す畳み込み符号化器におけるトレリスを説明する図であり、遷移元のステートから見て出力していく枝を基準とした場合の番号付けを説明する図であって、(A)は、メモリ数が4の場合における番号付けを示し、(B)は、メモリ数が3の場合における番号付けを示し、(C)は、メモリ数が2の場合における番号付けを示し、(D)は、メモリ数が1の場合における番号付けを示す図である。
【図69】図15に示す畳み込み符号化器におけるトレリスを説明する図であり、遷移先のステートから見て入力される枝を基準とした場合の番号付けを説明する図であって、(A)は、メモリ数が3の場合における番号付けを示し、(B)は、メモリ数が2の場合における番号付けを示す図である。
【図70】図15に示す畳み込み符号化器におけるトレリスを説明する図であり、遷移元のステートから見て出力していく枝を基準とした場合の番号付けを説明する図であって、(A)は、メモリ数が3の場合における番号付けを示し、(B)は、メモリ数が2の場合における番号付けを示す図である。
【図71】図16に示す畳み込み符号化器におけるトレリスを説明する図であり、遷移先のステートから見て入力される枝を基準とした場合の番号付けを説明する図であって、(A)は、メモリ数が3の場合における番号付けを示し、(B)は、メモリ数が2の場合における番号付けを示す図である。
【図72】図16に示す畳み込み符号化器におけるトレリスを説明する図であり、遷移元のステートから見て出力していく枝を基準とした場合の番号付けを説明する図であって、(A)は、メモリ数が3の場合における番号付けを示し、(B)は、メモリ数が2の場合における番号付けを示す図である。
【図73】図17に示す畳み込み符号化器におけるトレリスを説明する図であり、遷移先のステートから見て入力される枝を基準とした場合の番号付けを説明する図であって、(A)は、メモリ数が2の場合における番号付けを示し、(B)は、メモリ数が1の場合における番号付けを示す図である。
【図74】図17に示す畳み込み符号化器におけるトレリスを説明する図であり、遷移元のステートから見て出力していく枝を基準とした場合の番号付けを説明する図であって、(A)は、メモリ数が2の場合における番号付けを示し、(B)は、メモリ数が1の場合における番号付けを示す図である。
【図75】終結情報の生成動作を説明するためのトレリスを示す図であって、入力ビット数分の終結情報を終結期間分だけ入力する動作を説明するための図である。
【図76】終結情報の生成動作を説明するためのトレリスを示す図であって、終結情報を1タイムスロットで入力する動作を説明するための図である。
【図77】同Iγ算出回路及び同Iγ分配回路の概略構成を説明するブロック図であって、全ての入出力パターン分の対数尤度Iγを算出し、符号構成に応じて決定される入出力パターンに応じて分配する構成について説明するブロック図である。
【図78】同Iγ算出回路及び同Iγ分配回路の概略構成を説明するブロック図であって、少なくとも一部の入出力パターン分の対数尤度Iγを算出し、所望の対数尤度Iγを選択して加算する構成について説明するブロック図である。
【図79】同Iγ算出回路及び同Iγ分配回路の概略構成を説明するブロック図であって、全ての入出力パターン分の対数尤度Iγを算出する場合において、対数尤度Iγに対して1時刻毎の正規化を行う構成について説明するブロック図である。
【図80】同要素復号器が対数尤度を負値として扱う場合における対数尤度Iγに対する正規化を説明するための図であって、(A)は、正規化前の対数尤度Iγの分布例を示し、(B)は、正規化後の対数尤度Iγの分布例を示す図である。
【図81】同要素復号器が対数尤度を正値として扱う場合における対数尤度Iγに対する正規化を説明するための図であって、(A)は、正規化前の対数尤度Iγの分布例を示し、(B)は、正規化後の対数尤度Iγの分布例を示す図である。
【図82】同Iγ算出回路及び同Iγ分配回路の概略構成を説明するブロック図であって、少なくとも一部の入出力パターン分の対数尤度Iγを算出する場合において、対数尤度Iγに対して1時刻毎の正規化を行う構成について説明するブロック図である。
【図83】畳み込み符号化器におけるトレリスの一例を説明する図であって、(A)は、メモリ数が“1”の場合の一例を示し、(B)は、メモリ数が“2”の場合の一例を示し、(C)は、メモリ数が“3”の場合の一例を示し、(D)は、メモリ数が“4”の場合の一例を示す図である。
【図84】図83に示す4つのトレリスを重ねた様子を説明する図である。
【図85】トレリス上の各ステートから次時刻におけるステートへと2本のパスが到達するような符号に対して処理を行う同Iα算出回路における加算比較選択回路の構成を説明するブロック図であって、対数尤度Iαを選択するセレクタを備える構成について説明するブロック図である。
【図86】同Iα算出回路及び同Iβ算出回路におけるlog−sum演算回路の概略構成を説明するブロック図であって、第1の方法による正規化を行うlog−sum演算回路の構成を説明するブロック図である。
【図87】第1の方法による正規化を説明するための図であって、正規化前後におけるダイナミックレンジの例を示す図である。
【図88】第2の方法による正規化を説明するための図であって、正規化前後におけるダイナミックレンジの例を示す図である。
【図89】同Iα算出回路及び同Iβ算出回路におけるlog−sum演算回路の概略構成を説明するブロック図であって、第3の方法による正規化を行うlog−sum演算回路の構成を説明するブロック図である。
【図90】第3の方法による正規化を説明するための図であって、正規化前後におけるダイナミックレンジの例を示す図である。
【図91】log−sum演算回路の概略構成を説明するブロック図であって、通常のlog−sum演算を行うlog−sum演算回路の構成を説明するブロック図である。
【図92】log−sum演算回路の概略構成を説明するブロック図であって、差分値に対応する複数の補正項の値を算出し、その中から適切なものを選択するlog−sum演算を行うlog−sum演算回路の構成を説明するブロック図である。
【図93】イネーブル信号を用いないlog−sum演算の累積加算演算を行う軟出力算出回路の概略構成を説明するブロック図である。
【図94】シンボル単位の外部情報に対する正規化を説明するための図であって、(A)は、正規化前の外部情報の分布例を示し、(B)は、最大値を有する外部情報を所定の値に合わせる正規化後の外部情報の分布例を示し、(C)は、クリップ後の外部情報の分布例を示し、(D)は、1つのシンボルに対する外部情報の値を、他のシンボルに対する外部情報の値から差分する正規化後の外部情報の分布例を示す図である。
【図95】8PSK変調方式による信号点配置を説明する図であって、I/Q平面上に境界線を設けた様子を示す図である。
【図96】同インターリーバが有する制御回路の簡略化した構成を説明するブロック図である。
【図97】書き込みアドレス用のカウンタと読み出しアドレス用のカウンタとを共用した場合におけるデータの書き込みと読み出しのタイミングを説明する図である。
【図98】書き込みアドレス用のカウンタと読み出しアドレス用のカウンタとを個別に設けた場合におけるデータの書き込みと読み出しのタイミングを説明する図である。
【図99】同インターリーバにおけるRAMに対するデータの書き込みと読み出しの様子を説明するための図である。
【図100】同インターリーバにおけるRAMに対して連続的なアドレスを割り当てる様子を説明するための図である。
【図101】同インターリーバにおけるRAMに対するデータの書き込みと読み出しの様子を説明するための図であって、各RAMの全ての記憶領域にデータが記憶されない場合におけるデータの書き込みと読み出しの様子を説明するための図である。
【図102】同インターリーバにおけるRAMに対して連続的なアドレスを割り当てる様子を説明するための図であって、物理的に異なる複数のRAMにわたって連続的なアドレスが割り当てられる様子を説明するための図である。
【図103】同インターリーバにおけるRAMに対してアドレスを割り当てる様子を説明するための図であって、置換先のアドレスをタイムスロットと入力シンボルとの組み合わせで与える様子を説明するための図である。
【図104】同インターリーバにおけるRAMに対してアドレスを割り当てる様子を説明するための図であって、各RAMの全ての記憶領域にデータが記憶されない場合において、置換先のアドレスをタイムスロットと入力シンボルとの組み合わせで与える様子を説明するための図である。
【図105】同インターリーバにおけるRAMの記憶容量を説明するための図であって、(A)は、通常時におけるRAMの記憶容量を示し、(B)は、パーシャルライトのRAMとして作用させる場合におけるRAMの擬似的な記憶容量を示す図である。
【図106】同インターリーバにおけるRAMに対するデータの書き込みと読み出しの様子を説明するための図であって、3タイムスロット分のワード数のRAMを2バンク用いて6タイムスロット分のインターリーブ長の遅延を実現する例について説明するための図である。
【図107】図106に示す動作によるデータの書き込みと読み出しのタイミングを説明するチャート図である。
【図108】畳み込み符号化器の一構成例を説明するブロック図である。
【図109】符号化装置の一構成例を説明するブロック図であって、インターリーバに対する入力シンボル間の順序を入れ替える様子を説明するためのブロック図である。
【図110】同復号装置を構成する隣接する2つの要素復号器の簡略化した構成を説明するブロック図であって、インターリーバがシンボル入れ替え回路を有する構成について説明するブロック図である。
【図111】同復号装置を構成する隣接する2つの要素復号器の簡略化した構成を説明するブロック図であって、軟出力復号回路がシンボル入れ替え回路を有する構成について説明するブロック図である。
【図112】通信モデルの構成を説明するブロック図である。
【図113】従来の符号化装置におけるトレリスを説明する図であって、確率α,β及びγの内容を説明するための図である。
【図114】従来の復号装置において、BCJRアルゴリズムを適用して軟出力復号を行う際の一連の工程を説明するフローチャートである。
【図115】従来の復号装置において、Max−Log−BCJRアルゴリズムを適用して軟出力復号を行う際の一連の工程を説明するフローチャートである。
【符号の説明】
1 符号化装置、 3 復号装置、 50 要素復号器、 60,400 制御回路、 70 復号受信値選択回路、 80 エッジ検出回路、 90 軟出力復号回路、 100 インターリーバ、 110 アドレス用記憶回路、 120,411,421,422,423,425,426,501,502,503,504,520,530,540,603 セレクタ、 130 信号線、 151 符号情報生成回路、 152 内部消去情報生成回路、 153 終結情報生成回路、 154 受信値及び事前確率情報選択回路、 155 受信データ及び遅延用記憶回路、 156 Iγ算出回路、 157 Iγ分配回路、 158 Iα算出回路、 159 Iβ算出回路、 160 Iβ記憶回路、 161 軟出力算出回路、 162 受信値又は事前確率情報分離回路、163 外部情報算出回路、 164 振幅調整及びクリップ回路、 165硬判定回路、 222 Iγ正規化回路、 223 枝入出力情報算出回路、2251 Iβ0用パラレルパス処理回路、 2252 Iβ1用パラレルパス処理回路、 2253 Iα用パラレルパス処理回路、 232,253,330 選択用制御信号生成回路、 252,372,582 ルックアップテーブル、 240,280 制御信号生成回路、 241,242,283,284加算比較選択回路、 243 Iα+Iγ算出回路、 245,256,286,292,312,550,560,580,591 log−sum演算回路、 247,258,288,294 補正項算出回路、 250,272 Iα正規化回路、 281 Iβ0用加算比較選択回路、 282 Iβ1用加算比較選択回路、 291,308 Iβ0正規化回路、 310 Iα+Iγ+Iβ算出回路、 311 イネーブル信号生成回路、 313 Iλ算出回路、 350 情報ビット外部情報算出回路、 351 情報シンボル外部情報算出回路、 352 符号外部情報算出回路、 357,554,564 正規化回路、 361 最小シンボル算出回路、 370 I/Qデマップ回路、 401 遅延アドレス発生回路、 402 奇数長遅延補償回路、 403 インターリーブアドレス変換回路、 404 遅延アドレス変換回路、 405 アドレス選択回路、 406 入力データ選択回路、 407 記憶回路、 408 出力データ選択回路、 410,565 レジスタ、 421 インバータ、 424 RAM、 510 遅延回路、 531 加算器、 590 選択回路、 601 書き込みアドレス発生回路、 602 読み出しアドレス発生回路、 610,611,612,613 シンボル入れ替え回路
Claims (31)
- 軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、上記対数尤度を用いて復号を行う軟出力復号装置であって、
上記受信値毎に、符号の出力パターンと上記受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、
上記第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、
上記第1の対数尤度に基づいて、上記受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、
上記第1の対数尤度に基づいて、上記受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、
上記第1の対数尤度と、上記第2の対数尤度と、上記第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを備え、
上記軟出力算出手段は、符号のトレリス上の各枝に対応する上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和を算出するとともに、上記各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した上記確率の和演算に相当する上記対数尤度の演算の累積加算演算を行うこと
を特徴とする軟出力復号装置。 - 上記確率の和演算に相当する上記対数尤度の演算は、上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和のうちの最大値と、上記和に対応する補正項との和を求めるものであること
を特徴とする請求項1記載の軟出力復号装置。 - 上記軟出力算出手段から供給された上記対数軟出力と、事前確率情報とを用いて、外部情報を算出する外部情報算出手段を備えること
を特徴とする請求項1記載の軟出力復号装置。 - 半導体基板に集積させて構成されていること
を特徴とする請求項1記載の軟出力復号装置。 - 畳み込み符号の復号を行うこと
を特徴とする請求項1記載の軟出力復号装置。 - Log−BCJRアルゴリズムに基づく最大事後確率復号を行うこと
を特徴とする請求項1記載の軟出力復号装置。 - 軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、上記対数尤度を用いて復号を行う軟出力復号方法であって、
上記受信値毎に、符号の出力パターンと上記受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、
上記第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、
上記第1の対数尤度に基づいて、上記受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、
上記第1の対数尤度に基づいて、上記受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、
上記第1の対数尤度と、上記第2の対数尤度と、上記第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを備え、
上記軟出力算出工程では、符号のトレリス上の各枝に対応する上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和が算出されるとともに、上記各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した上記確率の和演算に相当する上記対数尤度の演算の累積加算演算が行われること
を特徴とする軟出力復号方法。 - 上記確率の和演算に相当する上記対数尤度の演算は、上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和のうちの最大値と、上記和に対応する補正項との和を求めるものであること
を特徴とする請求項7記載の軟出力復号方法。 - 上記軟出力算出工程にて算出された上記対数軟出力と、事前確率情報とを用いて、外部情報を算出する外部情報算出工程を備えること
を特徴とする請求項7記載の軟出力復号方法。 - 軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、上記対数尤度を用いて、複数の要素符号をインターリーバを介して連接して生成された符号を繰り返し復号するための、上記要素符号に対応する復号装置であって、
上記受信値毎に、符号の出力パターンと上記受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、上記第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、上記第1の対数尤度に基づいて、上記受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、上記第1の対数尤度に基づいて、上記受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、上記第1の対数尤度と、上記第2の対数尤度と、上記第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを少なくとも有し、上記受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号手段と、
上記軟出力復号手段により生成された上記外部情報を入力し、上記インターリーバと同一の置換位置情報に基づいて、上記外部情報の順序を置換して並べ替える、又は、上記インターリーバにより並べ替えられた情報の配列を元に戻すように、上記外部情報の順序を置換して並べ替えるインターリーブ手段とを備え、
上記軟出力算出手段は、符号のトレリス上の各枝に対応する上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和を算出するとともに、上記各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した上記確率の和演算に相当する上記対数尤度の演算の累積加算演算を行うこと
を特徴とする復号装置。 - 上記確率の和演算に相当する上記対数尤度の演算は、上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和のうちの最大値と、上記和に対応する補正項との和を求めるものであること
を特徴とする請求項10記載の復号装置。 - 上記軟出力復号手段は、上記軟出力算出手段から供給された上記対数軟出力と、事前確率情報とを用いて、外部情報を算出する外部情報算出手段を有すること
を特徴とする請求項10記載の復号装置。 - 半導体基板に集積させて構成されていること
を特徴とする請求項10記載の復号装置。 - 並列連接符号化、縦列連接符号化、並列連接符号化変調又は縦列連接符号化変調がなされた符号を繰り返し復号するためのものであること
を特徴とする請求項10記載の復号装置。 - 上記要素符号は、畳み込み符号であること
を特徴とする請求項14記載の復号装置。 - 上記軟出力復号手段は、Log−BCJRアルゴリズムに基づく最大事後確率復号を行うこと
を特徴とする請求項10記載の復号装置。 - 軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、上記対数尤度を用いて、複数の要素符号を第1のインターリーブ工程を介して連接して生成された符号を繰り返し復号するための、上記要素符号に対応する復号方法であって、
上記受信値毎に、符号の出力パターンと上記受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、上記第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、上記第1の対数尤度に基づいて、上記受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、上記第1の対数尤度に基づいて、上記受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、上記第1の対数尤度と、上記第2の対数尤度と、上記第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを少なくとも有し、上記受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号工程と、
上記軟出力復号工程にて生成された上記外部情報を入力し、上記第1のインターリーブ工程と同一の置換位置情報に基づいて、上記外部情報の順序を置換して並べ替える、又は、上記第1のインターリーブ工程にて並べ替えられた情報の配列を元に戻すように、上記外部情報の順序を置換して並べ替える第2のインターリーブ工程とを備え、
上記軟出力算出工程では、符号のトレリス上の各枝に対応する上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和が算出されるとともに、上記各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した上記確率の和演算に相当する上記対数尤度の演算の累積加算演算が行われること
を特徴とする復号方法。 - 上記確率の和演算に相当する上記対数尤度の演算は、上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和のうちの最大値と、上記和に対応する補正項との和を求めるものであること
を特徴とする請求項17記載の復号方法。 - 上記軟出力復号工程は、上記軟出力算出工程にて算出された上記対数軟出力と、事前確率情報とを用いて、外部情報を算出する外部情報算出工程を有すること
を特徴とする請求項17記載の復号方法。 - 軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、上記対数尤度を用いて、複数の要素符号をインターリーバを介して連接して生成された符号を繰り返し復号する復号装置であって、
当該復号装置は、連接された複数の要素復号器からなり、
上記要素復号器は、それぞれ、
上記受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号手段と、
上記軟出力復号手段により生成された上記外部情報を入力し、上記インターリーバと同一の置換位置情報に基づいて、上記外部情報の順序を置換して並べ替える、又は、上記インターリーバにより並べ替えられた情報の配列を元に戻すように、上記外部情報の順序を置換して並べ替えるインターリーブ手段とを備え、
上記軟出力復号手段は、
上記受信値毎に、符号の出力パターンと上記受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出手段と、
上記第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配手段と、
上記第1の対数尤度に基づいて、上記受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出手段と、
上記第1の対数尤度に基づいて、上記受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出手段と、
上記第1の対数尤度と、上記第2の対数尤度と、上記第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出手段とを有し、
上記軟出力算出手段は、符号のトレリス上の各枝に対応する上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和を算出するとともに、上記各枝の入出力パターンに応じて該当する枝を選択し、選択した枝の入力に対応した上記確率の和演算に相当する上記対数尤度の演算の累積加算演算を行うこと
を特徴とする復号装置。 - 上記確率の和演算に相当する上記対数尤度の演算は、上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和のうちの最大値と、上記和に対応する補正項との和を求めるものであること
を特徴とする請求項20記載の復号装置。 - 上記軟出力復号手段は、上記軟出力算出手段から供給された上記対数軟出力と、事前確率情報とを用いて、外部情報を算出する外部情報算出手段を有すること
を特徴とする請求項20記載の復号装置。 - 上記要素復号器は、上記要素符号の数と上記繰り返し復号の繰り返し回数との積で表される数だけ連接されること
を特徴とする請求項20記載の復号装置。 - 上記要素復号器は、半導体基板に集積させて構成されていること
を特徴とする請求項20記載の復号装置。 - 並列連接符号化、縦列連接符号化、並列連接符号化変調又は縦列連接符号化変調がなされた符号を繰り返し復号すること
を特徴とする請求項20記載の復号装置。 - 上記要素符号は、畳み込み符号であること
を特徴とする請求項25記載の復号装置。 - 上記軟出力復号手段は、Log−BCJRアルゴリズムに基づく最大事後確率復号を行うこと
を特徴とする請求項20記載の復号装置。 - 軟入力とされる受信値に基づいて任意のステートを通過する確率を対数表記した対数尤度を求め、上記対数尤度を用いて、複数の要素符号を第1のインターリーブ工程を介して連接して生成された符号を繰り返し復号する復号方法であって、
当該復号方法は、複数の要素復号工程が連続して行われるものであり、
上記要素復号工程は、それぞれ、
上記受信値及び事前確率情報を入力して軟出力復号を行い、各時刻における軟出力を対数表記した対数軟出力及び/又は外部情報を生成する軟出力復号工程と、
上記軟出力復号工程にて生成された上記外部情報を入力し、上記第1のインターリーブ工程と同一の置換位置情報に基づいて、上記外部情報の順序を置換して並べ替える、又は、上記第1のインターリーブ工程にて並べ替えられた情報の配列を元に戻すように、上記外部情報の順序を置換して並べ替える第2のインターリーブ工程とを備え、
上記軟出力復号工程は、
上記受信値毎に、符号の出力パターンと上記受信値により決定される第1の確率を対数表記した第1の対数尤度を算出する第1の確率算出工程と、
上記第1の対数尤度を、符号構成に応じたトレリス上の枝に対応するように分配する第1の確率分配工程と、
上記第1の対数尤度に基づいて、上記受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を対数表記した第2の対数尤度を算出する第2の確率算出工程と、
上記第1の対数尤度に基づいて、上記受信値毎に、打ち切りステートから時系列の逆順に各ステートに至る第3の確率を対数表記した第3の対数尤度を算出する第3の確率算出工程と、
上記第1の対数尤度と、上記第2の対数尤度と、上記第3の対数尤度とを用いて、各時刻における軟出力を対数表記した対数軟出力を算出する軟出力算出工程とを有し、
上記要素復号工程が複数回連続して行われる際に、上記軟出力算出工程では、符号のトレリス上の各枝に対応する上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和が算出されるとともに、上記各枝の入出力パターンに応じて該当する枝が選択され、選択された枝の入力に対応した上記確率の和演算に相当する上記対数尤度の演算の累積加算演算が行われること
を特徴とする復号方法。 - 上記確率の和演算に相当する上記対数尤度の演算は、上記第1の対数尤度と上記第2の対数尤度と上記第3の対数尤度との和のうちの最大値と、上記和に対応する補正項との和を求めるものであること
を特徴とする請求項28記載の復号方法。 - 上記軟出力復号工程は、上記軟出力算出工程にて算出された上記対数軟出力と、事前確率情報とを用いて、外部情報を算出する外部情報算出工程を有すること
を特徴とする請求項28記載の復号方法。 - 上記要素復号工程は、上記要素符号の数と上記繰り返し復号の繰り返し回数との積で表される数だけ行われること
を特徴とする請求項28記載の復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000263129A JP4380041B2 (ja) | 2000-08-31 | 2000-08-31 | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000263129A JP4380041B2 (ja) | 2000-08-31 | 2000-08-31 | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002076942A JP2002076942A (ja) | 2002-03-15 |
JP4380041B2 true JP4380041B2 (ja) | 2009-12-09 |
Family
ID=18750717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000263129A Expired - Fee Related JP4380041B2 (ja) | 2000-08-31 | 2000-08-31 | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4380041B2 (ja) |
-
2000
- 2000-08-31 JP JP2000263129A patent/JP4380041B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002076942A (ja) | 2002-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002076915A (ja) | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 | |
JP2002076933A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
US8196006B2 (en) | Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder | |
Prescher et al. | A parametrizable low-power high-throughput turbo-decoder | |
JP2002076925A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP4380041B2 (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP4543522B2 (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP4427883B2 (ja) | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 | |
KR100416569B1 (ko) | 터보 치환기 및 이를 이용한 터보 복호기 | |
KR100355452B1 (ko) | 엠에이피 방식을 사용한 터보 복호기 | |
JP2002076940A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002076917A (ja) | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 | |
JP2002076912A (ja) | 復号装置及び復号方法 | |
JP2002076935A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002076934A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002076914A (ja) | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 | |
JP2002076944A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002077282A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002076911A (ja) | 復号装置及び復号方法 | |
JP2002076919A (ja) | インターリーブ装置及びインターリーブ方法、軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002076930A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002076937A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002076916A (ja) | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 | |
JP2002076941A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 | |
JP2002076929A (ja) | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090824 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090901 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090914 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |