(57)【要約】【課題】誤り率特性の劣化を抑えた復号装置や復号方法を提供すること。また、メモリサイズの増大を抑えるようにした復号装置等を提供すること。更に、メモリに無駄を生じさせないようにした復号装置等を提供すること。近似による誤り率特性の劣化を抑えた復号装置等を提供すること。【解決手段】入力データに対して外部情報を生成する要素復号部を有する復号装置において、前記要素復号部から出力された外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得する仮数取得部と、前記指数、前記仮数を記憶する記憶部と、記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元する復元部とを備え、前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする。【選択図】図１
2008219082.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得する仮数取得部と、
前記指数、前記仮数を記憶する記憶部と、
前記記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
【請求項２】
前記復元部は前記指数に対応するビット位置に隣接したビット位置に前記仮数の情報をそのまま追加することで前記外部情報を復元することを特徴する請求項１記載の復号装置。
【請求項３】
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報の符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数より下位の桁のビットを取得し、前記取得した下位の桁のビットと前記符号ビットを除く前記外部情報とを加算する加算部と、
前記加算部からの加算値に対する前記指数を記憶する記憶部と、
前記記憶部に記憶された前記指数を読み出して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
【請求項４】
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得する仮数取得部と、
前記指数に対応する２進数値として表現できない他の２進数値に対してインデックスが割り当てられたテーブルから、前記指数と前記仮数との組に対応する前記インデックスを求めるテーブル参照部と、
求められた前記インデックスを記憶する記憶部と、
前記記憶部に記憶された前記インデックスに基づいて、前記テーブルを参照して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
【請求項５】
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部から出力される前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定し、
前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得し、
前記指数と前記仮数とを記憶部に記憶し、  
前記記憶部に保存された前記指数と前記仮数とを読み出して前記外部情報を復元し、
前記要素復号部は、前記復元された前記外部情報に基づいて繰り返しの復号を行うことを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、繰り返し復号により復号を行う復号装置、及び復号方法に関する。
【背景技術】
【０００２】
データ伝送における誤り訂正符号として、ターボ符号やＬＤＰＣ（Low density Parity Check）符号がある。例としてターボ符号について説明する。図１９はターボ符号化器２００の構成例（例えば、以下の非特許文献１）であり、図２０はターボ復号器４００の構成例（例えば、以下の非特許文献２）を示す図である。
【０００３】
ターボ符号化器２００は、図１９に示すように、第１及び第２の要素符号器２１０，２３０と、インターリーバ２２０とを備える。ターボ符号器２００には、情報ビットが入力され、第１の要素符号器２１０にて第１のパリティビットが生成される。また、入力された情報ビットは、インターリーバ２２０により置換され、その置換された情報ビットに対して第２の要素符号器２３０にて第２のパリティビットが生成される。更に、情報ビットを組織ビットとしてそのまま出力する。例えば、その後、この３つのビットをシリアルに結合して変調され、送信される。
【０００４】
また、ターボ復号器４００は、図２０に示すように第１及び第２の要素復号器４１０，４２０と、インターリーバ４１１及びデインターリーバ４２１とを備える。ターボ復号器４００には、復調された受信尤度データ（組織ビットに対応するｙｓ、２つのパリティビットそれぞれに対応するｙｐ１、ｙｐ２）が入力される。第１の要素復号器４１０には、組織ビットに対応する尤度ｙｓと第１のパリティビットに対応する尤度ｙｐ１、及び外部情報Ｌ’ｅ（２）が入力され、外部情報Ｌｅ（１）を出力する。その出力Ｌｅ（１）と、組織ビットに対応する尤度ｙｓとがインターリーバ４１１に入力され、ビットが置換されて夫々出力される。インターリーバ４１１があるのは、符号化の際にインターリーバ２２０により第２のパリティビットが置換されており、復号化の際にそれに合わせるためである。第２の要素復号器４２０には、ビットが置換された組織ビットに対応する尤度ｙｓと外部情報Ｌ’ｅ（１）、及び第２のパリティビットに対応する尤度ｙｐ２とが入力され、外部情報Ｌｅ（２）を出力する。外部情報Ｌｅ（２）は、デインターリーバ４２１により元の配列の尤度に置換されて外部情報Ｌ’ｅ（２）として出力される。これを繰り返すことで、デインターリーバ４２１から復号ビットｕｊが出力される。この繰り返しにより、復号ビットｕｊの誤り率特性が改善される。
【０００５】
図２１は、ターボ復号器４００の第１及び第２の要素復号器４１０，４２０とその周辺部の構成例を示す図である（例えば、以下の非特許文献３）。各要素復号器４１０，４２０は、ＭＡＰ演算部４１５と、２つの加算部４１６,４１７を備える。ＭＡＰ演算部４１５では、ＭＡＰ（Maximum a Posteriori：最大事後確率）演算により事後確率を生成する。回路規模を考慮して、実際の回路では確率からlogを取って求められる尤度を扱うｌｏｇ−ＭＡＰ演算を行うのが普通である。加算部４１７では、生成された事後尤度から事前（確率）尤度（ｙｓ＋Ｌ’ｅ）を減算し、外部情報（帰還尤度）を出力する。
【０００６】
一方、ＭＡＰ演算部４１５におけるｌｏｇ−ＭＡＰ演算は、一般に処理量が多いという問題がある。このため、従来では、ｌｏｇ−ＭＡＰ演算を近似した、Ｍａｘ−ｌｏｇ−ＭＡＰと呼ばれる演算手法がある。Ｍａｘ−ｌｏｇ−ＭＡＰ演算とは、主要な演算要素である「尤度の指数関数の和」の演算を、和の各項の最大値で近似する方法である。かかる演算手法は、ｌｏｇ−ＭＡＰ演算に対して大幅に処理量を少なくすることができるものの、誤り率特性が劣化するという問題があった。
【０００７】
そこで、従来では、図２１に示すように、ｌｏｇ−ＭＡＰ演算後の帰還尤度（外部情報）に対して、係数スケーリング部４３０により、「１」より小さい係数を乗算する（スケーリングする）手法がある（例えば、以下の特許文献３。以下、この手法を「係数スケーリング」）。これにより、誤り率特性が改善することが知られている。一般に、回路実装を考慮して、「０．７５」というスケーリング値が使用される。
【０００８】
また、ｌｏｇ−ＭＡＰ演算に対する誤り率特性を改善する方法として、「指数化」と呼ばれる手法もある（例えば、以下の非特許文献４，５）。図２２は、その構成例を示す図である。要素復号器４１０，４２０の出力側（ｌｏｇ−ＭＡＰ演算後の帰還尤度（外部情報））に、指数化部４４０と、メモリ保存部４４１と、復元部４４２とが設けられる。
【０００９】
図２３は指数化部４４０から復元部４４２において実行される処理の例を示す図であり、図２４は指数化部４４０から復元部４４２までの詳細な構成例を示す図である。この「指数化」は、１データあたりのビット数Ｎを小さくするために符号ビットと異なるビットが最初に出現するビットの位置（以下、「指数」）を求め、この指数をメモリ保存部４４１にてメモリに保存する。そして、復元部４４２はこれを読み出して復元する。
【００１０】
例えば、図２３に示すように、１０進数で「２０９」が外部情報（帰還尤度）として出力されたとき、指数化部４４０にて指数「８」を求める。そして、この値「８」がメモリ保存部４４１にてメモリに保存される。その後、復元部４４２は、メモリ保存部４４１から読み出された保存値から、外部情報（復元値）「００１０００００００」（１０進では「１２８」）を復元する。このとき、入力「２０９」に対して出力は「１２８」であり、入力に対して「０．６１２」倍の値が出力される。このように、「指数化」による演算は、１データあたりのビット数Ｎを小さくすることができる。
【非特許文献１】3GPP Technical Specification TS25.212
【非特許文献２】C. Berrou, A. Glavieux, and P. Thitimajshima, "Near Shannon limit error-correcting coding and decoding: Turbo-codes (1)," in proc. of the IEEE int. conf. on Communications(ICC'93),Geneva, 1993, pp.1064-1070.
【非特許文献３】J. Vogt and A. Finger, “Improving the max-log-MAP turbo decoder,” Electronics Letters 9th November 2000, Vol.36, No. 23, pp. 1937-1939.
【非特許文献４】J. Vogt, J. Ertel and A. Finger, “Reducing bit width of extrinsic memory in turbo decoder realisations,” Electronics Letters 28th November 2000, Vol.36, No. 20, pp. 1937-1939.
【非特許文献５】D. Garrett, B. Xu, and C. Nicol, “Energy Efficient Turbo Decoding for 3G Mobile,” in Int. Symp. on Low Power Electronics and Design, 2001 pp. 328-333.
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ＭＡＸ−ｌｏｇ−ＭＡＰ演算による帰還尤度（外部情報）に対して、「係数スケーリング」と「指数化」による演算では、以下のような問題がある。
【００１２】
「係数スケーリング」では一定の係数値を乗算しているため、１データあたりにおいて小さくさせる比率は一定であるが、「指数化」では帰還尤度の値によりその比率が異なる値を取り得る。このため、誤り率特性は「係数スケーリング」の方が良くなるものの、帰還尤度を保存するバッファサイズは「指数化」より大きくなってしまう。
【００１３】
また、「係数スケーリング」や「指数化」による係数値は符号化率や変調方式に依存する。例えば、符号化率＝１／３で、ＢＰＳＫやＱＰＳＫの変調方式による符号化が行われた場合に、「０．７５」の係数値による「係数スケーリング」や「指数化」を、そのまま他の符号化率（特に、０．８等の高符号化率）や変調方式（１６ＱＡＭ等）に適用すると、誤り率特性の劣化が生じる。
【００１４】
更に、「指数化」では、指数に情報が割り当てられず、メモリに無駄が生じる場合がある。例えば、１データあたりのビット数Ｎ（上述の例では「１０」）に対して、指数を保存するのに必要なビット数ｎは、ｎ＝［ｌｏｇ２（Ｎ）］（上述の例では、ｎ＝［２．３…］＝３）であり、正負それぞれにｋ＝２ｎ−ｍ個（上述の例では、ｋ＝６）の数値に情報が割り当てられない無駄が生じる。
【００１５】
更に、ターボ復号器４００への入力データである事前尤度のビット数が大きいとき、演算に必要な保存バッファのサイズが大きくなる、という問題もある。
【００１６】
更に、「指数化」による指数化の結果、外部情報の値を小さくすることができ誤り特性を改善させることができるものの、その値は近似値のため実際の値とはずれが生じ、平均的な数値レベルを変えたくない場合等、近似による特性劣化を引き起こしてしまう。
【００１７】
そこで、本発明は上記問題点に鑑みてなされたもので、その目的は、誤り率特性の劣化を抑制した復号装置や復号方法を提供することにある。好ましくは、その際にメモリサイズが増大することを回避する。
【００１８】
また、本発明の他の目的は、メモリに無駄を生じさせないようにした復号装置等を提供することにある。
【００１９】
更に、本発明の他の目的は、近似による誤り率特性の劣化を抑えた復号装置等を提供することにある。
【課題を解決するための手段】
【００２０】
上記目的を達成するために、本発明の一実施態様によれば、入力データに対して外部情報を生成する要素復号部を有する復号装置において、前記要素復号部から出力された外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、  前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得する仮数取得部と、前記指数、前記仮数を記憶する記憶部と、記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元する復元部とを備え、前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする。
【００２１】
また、上記目的を達成するために、本発明の他の実施態様によれば、入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、前記要素復号部から出力される前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定し、前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得し、前記指数と前記仮数とを記憶部に記憶し、前記記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元し、前記復元された前記外部情報に基づいて繰り返しの復号を行うことを特徴とする。
【発明の効果】
【００２２】
本発明によれば、誤り率特性の劣化を抑えた復号装置や復号方法を提供することができる。また、メモリサイズが増大してしまうことを抑えることができる。また、メモリにおいて無駄が生ずることを抑制した復号装置等を提供することができる。また、近似による誤り率特性の劣化を抑えた復号装置等を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して本発明を実施するための最良の形態を説明する。以下に示す実施例では、符号化及び復号化の例としてターボ符号を例にして説明する。
【実施例１】
【００２４】
図１９はターボ符号器の全体構成、図２０はターボ復号器の全体構成を夫々示す。さらに、図１はターボ復号器４００における要素復号器４１０，４２０とその周辺部の構成例を示す図である。ターボ符号器とターボ復号器の全体構成は従来技術で説明したため省略する。
【００２５】
図１に示すように、ターボ復号器４００は要素復号器４１０，４２０の出力段に外部情報処理部１０を備える。外部情報処理部１０は、外部情報（帰還尤度）に対して種々の演算処理を行い、演算後の外部情報を次段の要素復号器４２０，４１０に出力する。
【００２６】
図３は本実施例１における外部情報処理部１０の具体的構成例を示し、図２はその処理の例を説明するための図である。
【００２７】
図２を用いて本実施例１における処理の例を説明する。まず、外部情報の例として「２０９」（１０進表現）が入力される。入力された外部情報の符号ビット「０」はそのままメモリに保存される。そして、符号ビットの隣のビットから順に符号ビット「０」と異なるビット「１」が最初に出現するビット位置（以下、「指数」）が特定される。図２の例では、指数は「８」となる。この指数「８」を２進数で表現した値「１０００」がメモリに保存される。
【００２８】
更に、本実施例１では、指数のビット位置に隣接する２ビットの情報を仮数として、メモリに保存される。図２の例では、「１０」（２進数）が保存される。そして、復元するときは、指数部に対してこの仮数部の値を追加して復元する。図２の例では、指数部「１０００」に対して「８」ビット目に「１」をたて、更に、仮数部「１０」を７ビット目と６ビット目に追加する。
【００２９】
このように、復元された値は、１０進表現では「１９２」となり、入力に対する出力の比率は「０．９１９倍」となる。勿論、この比率は入力される外部情報の値により変化するものの、平均的には「０．７」よりやや大きな値となった。
【００３０】
例えば、比率が従来と比較して大きくなるため、その誤り率特性は改善され、符号化率が大きい場合（例えば、符号化率Ｒ＝１／３より大きい符号化率の場合）には本実施例１による手法は特に有効である。
【００３１】
図３は、本実施例１における外部情報処理部１０の具体的構成例を示す図である。外部情報処理部１０は、指数位置決定部１１と、仮数部取得部１２と、メモリ保存部１３と、復元部１４とを備える。
【００３２】
指数位置決定部１１は、符号ビットを除く外部情報に対して符号ビットと異なるビットが最初に出現する位置（指数）を決定する。決定した指数はメモリ保存部１３に出力され保存される。
【００３３】
仮数部取得部１２は、符号ビットを除く外部情報に対して、指数位置に隣接する２ビットの情報（仮数）を取得する。取得した情報は仮数としてメモリ保存部１３に出力されメモリに保存される。
【００３４】
メモリ保存部１３は、指数部と仮数部の情報、及び符号ビットをメモリに保存する。
【００３５】
復元部１４は、メモリ保存部１３から符号ビット、指数、仮数の値を夫々読み出して、外部情報を復元する。復元された外部情報は次の要素復号器４２０，４１０において事前尤度として入力される。
【００３６】
図４は、本実施例１における処理を示すフローチャートの例である。重複した説明になるため、簡単に説明する。
【００３７】
本処理が開始されると（Ｓ１０）、入力される外部情報の符号ビットがメモリ保存部１３に保存される（Ｓ１１）。この符号ビットの取得は例えば指数位置決定部１１で行われてもよい。
【００３８】
次いで、指数位置決定部１１において指数位置が特定され（Ｓ１２）、仮数部取得部１２において仮数部がｍビット（図２の例では、ｍ＝２）取得される（Ｓ１３）。
【００３９】
そして、メモリ保存部１３に指数部と仮数部の値が保存され（Ｓ１４）、メモリ保存までの処理が終了する（Ｓ１５）。
【００４０】
メモリ読出しの処理が開始されると（Ｓ２０）、復元部１４は符号ビットをメモリ保存部１３から読出し（Ｓ２１）、指数及び仮数の値も読出す（Ｓ２２）。
【００４１】
次いで、復元部１４は、指数をまず復元し（Ｓ２３）、仮数を指数に追加して復元し（Ｓ２４）、処理を終了する（Ｓ２５）。
【００４２】
本実施例１では、仮数部として取得するビット数は「２」として説明したが、勿論「１」ビットでも「３」ビット等でも同様に実施でき同様の作用効果を奏する。
【００４３】
このように、本実施例１では、入力される外部情報に対して指数のみならず仮数の情報をメモリに記憶し復元するようにしているため、従来の指数のみによる場合と比較して、メモリサイズをそれ程増やすことなく、誤り率特性を改善させることができる。
【実施例２】
【００４４】
次に実施例２について説明する。図５は、本実施例２における要素復号器４１０，４２０周辺の構成例を示す図である。それ以外の構成は、実施例１と同様である。
【００４５】
図５に示すように、要素復号器４１０，４２０からの出力（外部情報）に対して、係数スケーリング部１５と、指数化部１６と、メモリ保存部１７と、復元部１８とを備える。係数スケーリング部１５から復元部１８までが、図１の外部情報処理部１０に対応する。
【００４６】
係数スケーリング部１５は、ある一定の係数値（「１」より小さい値）を外部情報に乗算し、乗算した外部情報を出力する。
【００４７】
指数化部１６は乗算した外部情報から指数位置を特定し、その指数をメモリ保存部１７に出力する。
【００４８】
メモリ保存部１７は、指数の値と符号ビットとをメモリに保存する。符号ビットの取得は指数化部１６で行われる。
【００４９】
復元部１８は、メモリ保存部１７から符号ビットと、指数とを読み出して、外部情報を復元する。復元された外部情報は、次の要素復号器４２０，４１０に事前尤度として入力される。
【００５０】
このように本実施例２では、係数スケーリング１５の出力に対して、指数化部１６により指数化を施している。これにより、「係数スケーリング」による、メモリサイズを大きくしてしまうという問題点を、「指数化」によってメモリサイズを小さくできるため、改善させることができる。また、「指数化」による誤り率特性が劣化するという問題点を、「係数スケーリング」によりその劣化を改善させることもできる。
【００５１】
本実施例２では、指数化部１６において、実施例１による「仮数部」を更に追加した指数化の手法を用いても同様に実施でき同様の作用効果を奏する。
【実施例３】
【００５２】
次に実施例３について説明する。図６及び図７は、本実施例３における外部情報処理部１０の具体的構成例を示す図である。それ以外の構成は実施例１と同様である。
【００５３】
図６に示すように、外部情報処理部１０は、右シフト部２０と、メモリ保存部２１と、係数スケーリング部２２とを備える。
【００５４】
右シフト部２０は、Ｎビットの外部情報Ｌｅに対して、右側にｍビットのシフト演算を行い、メモリ保存部２１は（Ｎ−ｍ）ビットをメモリに保存する。
【００５５】
係数スケーリング部２２では、メモリ保存部２１により読み出された（Ｎ−ｍ）ビットの外部情報に対して係数値を乗算し、規定のスケール値の外部情報を出力する。
【００５６】
図７は、全体のスケール値が「０．７５」の場合の外部情報処理部１０の構成例を示す図である。外部情報処理部１０は、２ビット右シフト部２５と、メモリ保存部２６と、１ビット左シフト部２７、及び加算部２８とを備える。
【００５７】
２ビット右シフト部２５は、入力されたＮビットの外部情報Ｌｅに対して、２ビット右側にシフトさせることで、ビット数を（Ｎ−２）ビットに少なくさせる。Ｎビットの外部情報に対して２ビットシフトさせることで、外部情報Ｌｅの１／４（＝１／２２）倍の情報を得る。そして、これをメモリ保存部２６にてメモリに保存させることで、バッファサイズを小さくさせることができる。
【００５８】
そして、１ビット左シフト部２７により、保存された外部情報を読み出して、１ビット左側にシフト（２倍）させる。加算部２８では、この出力値とメモリ保存部２６からの外部情報とを加算する。この１ビット左シフト部２７（２倍）と加算部２８とにより、メモリに保存された外部情報に対して３倍の係数値を乗算することになる。従って、入力されたＮビットの外部情報Ｌｅに対して、（１／４）＊Ｌｅ＊３＝（３／４）＊Ｌｅと、「０．７５」倍と規定のスケール値を実現している。
【００５９】
このように、本実施例による「係数スケーリング」による手法では、入力されるＮビットの外部情報に対して、シフト回路と加算器とを組み合わせることで、「係数スケーリング」により誤り率特性の劣化を回避しつつ、メモリサイズを小さくすることができる。また、シフト回路と加算器により回路を構成できるため、実際のインプリメントも容易となる。
【００６０】
本実施例３では、図７に示すように「０．７５」倍の係数スケーリングを実現する場合で説明したが、勿論それ以外の係数値の回路も、シフト回路と加算回路の組み合わせにより容易に実現でき、その場合でも本実施例３と同様に実施可能で同様の作用効果を得る。
【実施例４】
【００６１】
次に、実施例４について説明する。本実施例４は、符号化率と変調方式とから最適な指数化方法を決定する例である。
【００６２】
図８は、本実施例４における受信機１００の構成例を示す図である。受信機１００は、例えば、３ＧＰＰ移動通信システムにおける受信機である。
【００６３】
受信機１００は、第１及び第２の復調部１０１，１０４と、フォーマット取得部１０２と、指数化方法決定部１０３と、通信路データ処理部１０５と、誤り訂正復号器１０６とを備える。
【００６４】
本受信機１００には、送信側から制御チャネルとデータチャネルとが入力される。第１の復調部１０１は制御チャネルを復調し、フォーマット取得部１０２は制御チャネルから符号化フォーマットを取得する。例えば、符号化率と変調方法の情報を取得する。指数化方法決定部１０３は、取得した符号化フォーマットから指数化方法を決定する。
【００６５】
例えば、指数化方法決定部１０３は、フォーマット取得部１０２により、符号化率Ｒ＝１／３、変調方式がＱＰＳＫを取得したとき、係数値「０．７５」に近い値となる従来の指数化方法や、後述する「最小誤差指数化法」による指数化方法を選択する。また、符号化率Ｒ＝４／５、変調方式が「１６ＱＡＭ」のとき、実施例１による指数化方法（指数部及び仮数部ともに１ビット）や、「最小誤差指数化法」による指数化方法を選択する。例えば、指数化方法決定部１０３のメモリにテーブルが用意され、符号化率と変調方式とにより、指数化方法を読み出して選択するようにしてもよい。選択された情報は誤り訂正復号器１０６に出力される。
【００６６】
第２の復調部１０４はデータチャネルを所定の復調方式（１６ＱＡＭやＱＰＳＫ等）で復調し、通信路データ処理部１０５は復調したデータを処理して誤り訂正復号器１０６に出力する。
【００６７】
誤り訂正復号器１０６は、図１９や図２０に示す要素復号器４１０，４２０等を有する図１８に示すターボ復号器４００や、図１に示す要素復号器４１０，４２０等を有するターボ復号器４００等を備える。誤り訂正復号器１０６では、選択された情報に基づいて、いずれかのターボ復号器４００が実行され復号される。
【００６８】
このように、本実施例４では、符号化率や変調方式に基づいて最適な誤り訂正復号の方式が選択することができる。
【実施例５】
【００６９】
次に実施例５について説明する。図９は本実施例５における処理の例を説明するための図であり、図１０は外部情報処理部１０（図１）の具体的構成例、図１１（Ａ）及び同図（Ｂ）はフローチャートの例を夫々示す図である。
【００７０】
まず、図９を用いて処理の例について説明する。以下、本実施例における指数化法を「最小誤差指数化法」と称する。
【００７１】
外部情報処理部１０には、外部情報の例として「２０９」（１０進数）が入力される。実施例１と同様に、まず指数の位置を求める。図９の例では「８」である。本実施例５では、従来一律に切り捨てていた指数の右側にある残りのビット（端数）に対して、「四捨五入」を行うことで、より精度の高い指数を得るようにしている。実施例１では、仮数としてメモリに保存し復元したが、本実施例５では「四捨五入」する。
【００７２】
この「四捨五入」を実現するために、まず、求めた指数に対してその１つ下の桁のビットを求める。すなわち、求めた指数ｍに対して、２（ｍ−２）を下位桁として求める。この下位桁は、１０進数でいう「０．５」に相当する。そして、この下位桁２（ｍ−２）と、符号ビットを除く外部情報とを加算する。図９の例では、２（８−２）＝２６（＝００１００００００）を「０１１０１０００１」に加算する。加算後の指数は「９」（１０進数）となる。そして、メモリ保存部３３はこの「９」に対応する値をメモリに保存し、復元部３４はこの値を読み出すことで復元する。このとき、実施例１と同様に仮数部をメモリ保存部３３にてメモリに保存して復元するようにしてもよい。近似の精度を更に改善させることができる。
【００７３】
復元値は、「２５６」（１０進数）で、その入力と出力の比率は「１．２２５」倍となる。実施例１と同様に符号化率の高いデータに対する復号で特に有効である。
【００７４】
図１０は、外部情報処理部１０の具体的構成例を示す図である。外部情報処理部１０は、指数位置決定部３０と、下位桁ビット取得部３１と、加算部３２と、メモリ保存部３３と、復元部３４とを備える。
【００７５】
指数位置決定部３０では、入力された外部情報の指数位置を決定し、その値を加算部３２に出力する。
【００７６】
下位桁ビット取得部３１は、指数位置の１つ下の桁を取得し、その桁の値を加算部３２に出力する。
【００７７】
加算部３２は、指数とその指数の１つ下の桁とを加算し、加算後の指数をメモリ保存部３３に出力する。
【００７８】
メモリ保存部３３は、加算後の指数と入力された外部情報の符号ビットとをメモリに記憶する。符号ビットは、指数位置決定部３０により取得されてもよい。
【００７９】
復元部３４では、メモリ保存部３３から符号ビットと指数位置とを読み出すことで、外部情報を復元する。復元された外部情報は、次の要素復号器４２０，４１０に出力される。
【００８０】
図１１（Ａ）及び同図（Ｂ）は、処理の動作を示すフローチャートの例である。簡単に説明すると、まず、本処理が開始されると（Ｓ３０）、外部情報に対して符号ビットが取得されメモリ保存部３３にてメモリに保存される（Ｓ３１）。
【００８１】
次いで、指数位置決定部３０において指数位置ｍが特定され（Ｓ３２）、加算部３２において、「２（ｍ−２）」が加算される（Ｓ３３）。
【００８２】
次いで、加算部３２において、加算後の（ｍ＋１）ビット目の値ｂを検査する（Ｓ３４）。すなわち、ビットｂが「１」のとき、「四捨五入」により１つ桁が繰り上がったため、指数位置を（ｍ＋１）とする（Ｓ３５で（ｂ＝１）、Ｓ３６）。
【００８３】
一方、ビットｂが「０」のとき（Ｓ３５で（ｂ＝０））、「四捨五入」による切り捨てと同様に桁上がりは発生せず、求めた指数位置はそのままｍとする。
【００８４】
そして、加算部３２は指数位置をメモリ保存部３３にてメモリに保存し（Ｓ３７）、メモリ保存までの処理は終了する（Ｓ３８）。
【００８５】
メモリ読み出しの処理が開始されると（Ｓ４０）、復元部３４において、メモリ保存部３３から符号ビットと指数部（もしあれば仮数部）の値とが読み出され（Ｓ４１，Ｓ４２）、外部情報が復元される（Ｓ４３）。そして、処理が終了する（Ｓ４４）。
【００８６】
このように本実施例５においても、メモリ保存部３３に保存されるのは指数のため、Ｎビットの外部情報そのものを記憶させる場合と比較して、ビット数を削減することができ、メモリ容量を少なくさせることができる。更に、本実施例５では、指数に対して「四捨五入」を行っているため、従来と比較してより精度の高い指数を求めることができる。
【実施例６】
【００８７】
次に、実施例６について説明する。図１２は本実施例６における処理を説明するための図であり、図１３は本実施例６における外部情報処理部１０の具体的構成例、図１４と図１５はテーブルの例、図１６（Ａ）及び同図（Ｂ）、図１７（Ａ）及び同図（Ｂ）は本実施例６におけるフローチャートの例を夫々示す図である。
【００８８】
まず、図１２を参照して本実施例６における処理について説明する。外部情報処理部１０に入力される外部情報の例として実施例１等と同様に「２０９」（１０進数）とする。まず、指数位置「８」を求める。
【００８９】
次に、指数位置の右隣のビット（７ビット目）の値を求める。図１２の例では「１」である。この指数位置とその隣のビットの各値の組「００１１００００００」についてテーブルを参照する。図１４に示すテーブルを参照することにより、指数「１４」を得る。この指数値を２進数として表わした値（「１１１０」）を、符号ビットとともにメモリに保存する。
【００９０】
そして復元するときに、再び指数「１４」となる値の組をテーブル参照部４３から読み出して、それを復元値（「００１１００００００」）とする。
【００９１】
上述した実施例５において、Ｎ（＝１０）ビットの外部情報に対してｎ（＝４）ビットをメモリ保存部３３に保存していた。メモリ保存部３３の容量は４ビットのため、１６個の値を保存できるものの、実際に使用した指数は「０」から「９」までの１０個の種類であり、「１０」から「１５」までの指数は保存されず、その分メモリ容量に無駄が生じていた。これは、従来の指数化の手法による場合も同様である。
【００９２】
一般には、元のデータのビット数が「Ｎ」のとき、指数を保存するビット数ｎは、ｎ＝［ｌｏｇ２（Ｎ）］であり、メモリに保存できる数値は、「０」から「２ｎ−１」（≧Ｎ−１）である。このため、（Ｎ−１）＜（２ｎ−１）のときの正負夫々に、ｋ＝２ｎ−Ｎ個の数値に情報が割り当てられないという無駄が生じる。実施例５では、Ｎ＝１０、ｎ＝４でｋ＝６個の数値が「空き」状態となる。
【００９３】
そこで、本実施例６では、指数部の隣のビットである仮数部において、「１」となる値を追加し、指数化では表現できないいくつかの数値を割り当てるようにしている。図１４に示すテーブル参照部４３は、指数が「１０」から「１５」において新たに数値が割り当てられている。
【００９４】
上述したように指数は、符号化ビットと異なるビットの値が最初に現れたビット位置である。図１４に示すテーブル４３１の例では、指数「４」は、４ビット目に初めて「１」が出現されるビット列であり、「００００００１０００」として表現される。指数に対して１ビットの仮数部とは、実施例１でも説明したように、指数位置の１つ下の桁のビットの値のことである。この仮数部を含む数値をテーブル４３１内に設けることで、実施例１と同様の１ビット仮数部を追加した方式と同等の構成を実現できる。指数「４」の一つ下の桁が「０」のとき、すなわち仮数部が「０」のとき（値は「００００００１０００」）、テーブル４３１を参照すると、そのまま指数「４」がメモリに記憶される。指数「４」の一つ下の桁が「１」のとき（値は「００００００１１００」）、すなわち仮数部が「１」のとき、テーブル４３１を参照すると、指数「１０」がメモリに記憶される。
【００９５】
図１２の例では、指数「１４」に対応する２進数値がメモリに記憶される。そして、再び復元部において、指数「１４」に対応する数値をテーブル参照部４３によりテーブル４３１から読み出して復元値「１９２」（１０進数）を得る。この場合、入力「２０９」に対する出力「１９２」の比率は「０．９１９」倍となり、実施例１と同様の高符号化率で有効となる復元値を得る。ビットを増加させずに、実施例１における１ビット追加した仮数部による手法と同等の回路を構成できる。
【００９６】
尚、実際にテーブル４３１としてＲＯＭ等に記憶させておくのは、テーブル４３１のうち指数「１０」から「１５」までである。それ以外の値は、指数の値そのものをメモリに保存し、読み出すだけで外部情報を復元できるからである。
【００９７】
本実施例６における外部情報処理部１０は、図１３に示すように、指数位置決定部４０と、スイッチ４１と、仮数部取得部４２と、テーブル参照部４３と、メモリ４４と、復元部４５とを備える。
【００９８】
指数位置決定部４０は外部情報の指数位置を決定する。スイッチ４１は、１ビット仮数部の値が「０」か「１」かにより、指数位置をメモリ４４に保存するか（仮数部の値が「０」のとき）、指数位置を仮数部取得部４２に出力するか（仮数部は「１」のとき）を切替えるスイッチである。
【００９９】
仮数部取得部４２は、入力された外部情報に対して１ビットだけ仮数部の値を取得する。
【０１００】
テーブル４３１は、図１４に示すテーブル４３１のうち指数「１０」から「１５」とその対応する数値が格納される。例えば、仮数部取得部４２により、取得した指数と仮数の値からテーブル４３１を参照して指数を得る。取得した指数は、メモリ４４に保存される。
【０１０１】
復元部４５は、メモリ４４から符号ビットと指数を読み出して外部情報を復元する。復元された外部情報は、次の要素復号器４２０，４１０に出力される。
【０１０２】
図１５は他の値が割り当てられたテーブル４３２の例である。テーブル４３２は、より大きな数値から順番に指数を割り当てるようにしている。桁の大きな数値から指数を割り当てる方が、桁の小さな数値から割り当てるよりも、復元される外部情報の誤差を小さくできるからである。
【０１０３】
例えば、「１」から「１０」に多くの値を割り当てるよりも、「１００」から「１０００」に多くの値を割り当てる方が復元値の平均誤差を小さくできる。この例の場合でも、外部情報処理部１０の構成は図１４の例と同様である。
【０１０４】
図１６（Ａ）及び同図（Ｂ）は、本実施例６におけるフローチャートの例である。但し、テーブル４３１（図１４）を用いた例である。
【０１０５】
メモリ保存の処理が開始されると（Ｓ５０）、指数位置決定部４０において符号ビットを取得し、メモリ４４に保存する（Ｓ５１）。
【０１０６】
次いで、指数位置決定部４０において指数位置ｍが特定される（Ｓ５２）。次いで、指数位置決定部４０において、指数位置ｍが（Ｎ−１−ｋ）（Ｎは入力される外部情報のビット数、ｋはテーブル４３２において新たに割り当てられた数値の数（図１４の例では「６」））より大きいか否かが判断される（Ｓ５３）。
【０１０７】
これは、入力された外部情報のビット数Ｎに対して、指数の値は「Ｎ−１」までの可能性があり、このうち、割り当てられたのはｋ個であるため、空き状態として割り当てられたのは、（Ｎ−１−ｋ）ビット目以上のビットである。図１４の例では、空き状態として、（１０−１−６）＝３ビット目以上のビットに対して数値が割り当てられている。この数値と指数ｍとを比較して、指数ｍの方が大きいと、テーブル４３２の指数「１０」以上を参照できる。つまり、本処理はテーブル４３２に記憶された指数「１０」以上の数値を参照するか否かを判断している。
【０１０８】
よって、指数ｍが値（Ｎ−１−ｋ）より大きいとき（Ｓ５３でＹ）、仮数部取得部４２で仮数部ビットｂを取得する（Ｓ５４）。そして、仮数部取得部４２において、取得した仮数部が「１」であれば（ｂ＝１）、テーブル４３２を参照してインデックス（テーブル４３１における「指数」の値）を取得し（Ｓ５６）、そのインデックスをメモリ４４に保存する。
【０１０９】
一方、仮数部が「０」であれば（Ｓ５５でｂ＝０）、そのまま指数ｍをインデックスとしてメモリ４４に保存する（Ｓ５７）。
【０１１０】
また、指数位置ｍが値（Ｎ−１−ｋ）より小さいとき（Ｓ５３でＮ）、取得した指数ｍをそのままインデックスとしてメモリ４４に保存する（Ｓ５９、Ｓ５７）。
【０１１１】
そして、一連のメモリ保存の処理が終了する（Ｓ５８）。
【０１１２】
メモリ読み出しの処理は、まず本処理が開始されると（Ｓ６０）、復元部４５において符号ビットをメモリ４４から読み出し（Ｓ６１）、次いで、インデックスｉをメモリ４４から読み出す。
【０１１３】
次いで、復元部４５はインデックスｉが（Ｎ−１）より大きいか否かを判断する（Ｓ６３）。つまり、図１４の例では指数が「９」より大きな値でテーブル４３２に値が格納されているため、テーブル４３２を参照する必要があるか否かを判断している。
【０１１４】
従って、インデックスｉが（Ｎ−１）より大きいとき（Ｓ６３でＹ）、復元部４５は図１４に示すテーブル４３１を参照し（Ｓ６４）、数値を復元し（Ｓ６５）、処理を終了させる（Ｓ６６）。
【０１１５】
一方、インデックスｉが（Ｎ−１）以下のとき（Ｓ６３でＮ）、復元部４５はテーブル４３１を参照する必要がなく、インデックスｉをそのまま指数として（Ｓ６７）、数値を復元する（Ｓ６５）。
【０１１６】
図１７（Ａ）及び同図（Ｂ）は図１５に示すテーブル４３２を用いた場合のフローチャートの例である。図１６（Ａ）と同様の処理は説明を省略する。
【０１１７】
指数位置ｍが特定されると（Ｓ７２）、指数位置決定部４０において指数位置ｍが値（ｍｉｎ＿ｍ）より大きいか否かを判断する（Ｓ７３）。
【０１１８】
ここで、値（ｍｉｎ＿ｍ）は、テーブル４３２のｉ＞（Ｎ−１）に含まれる指数の最小値を示す。図１５の例では、指数「１０」以上の数値「０１１０００００００」から「０１１１１０００００」までのうち、指数「１３」として割り当てられた数値「０００１１００００００」の指数位置「７」が指数の最小値（ｍｉｎ＿ｍ）となる。この最小値と取得した指数とを比較することで、図１５に示すテーブル４３２を参照するか否かを判断している。テーブル４３２は指数「１０」から「１５」までの値が格納されているのは、図１６（Ａ）の例と同様である。
【０１１９】
指数ｍが値（ｍｉｎ＿ｍ）より大きいとき（Ｓ７３でＹ）、テーブル参照部４３では値ｓに「０」を代入し、（ｍ−１−ｓ）位置の仮数部ビットｂを取得する（Ｓ７５）。値ｓは「０」のため、（ｍ−１）位置、すなわち指数ｍの右隣のビットの値を仮数部として取得している。
【０１２０】
次いで、取得した仮数部ｂが「１」であれば（Ｓ７６で（ｂ＝１））、再びテーブル４３２を参照して該当する数値があるか否かを確認すべく、値ｓを「１」インクリメントして（Ｓ７７）、再びＳ７５に移行する。
【０１２１】
一方、取得した仮数が「０」であれば（Ｓ７６でＮ）、テーブル４３２において参照すべき数値が特定されるため、テーブル参照部４３において、値ｓが「０」か否かを確認し「０」でないと（Ｓ７８でＮ）、テーブル４３２を参照してインデックス（指数の値）を特定する（Ｓ７９）。そして、テーブル参照部４３はインデックスをメモリ４４に保存し（Ｓ８０）、一連のメモリ保存処理が終了する（Ｓ８１）。
【０１２２】
一方、値ｓが「０」のとき（Ｓ７８でＹ）、テーブル４３２を参照する必要がなく、取得した指数をそのまま保存して復元できるため、取得した指数をインデックスとして（Ｓ８２）、そのインデックスをメモリ４４に保存する（Ｓ８０）。
【０１２３】
また、指数ｍが値（ｍｉｎ＿ｍ）以下のとき（Ｓ７３でＮ）、テーブル４３２には参照すべき数値は格納されていないため、取得した指数をインデックスとしてメモリ４４に保存する（Ｓ８２、Ｓ８０）。
【０１２４】
メモリ４４の読み出し処理では、メモリ４４から読み出したインデックスｉからテーブル４３２を参照すべきか否か判断し（Ｓ９３）、必要であれば（Ｓ９３でＹ）、テーブル４３２を参照して数値を復元し（Ｓ９４，Ｓ９５）、参照する必要がないとインデックスｉをそのまま指数ｍとして数値を復元する（Ｓ９７，Ｓ９５）。図１６（Ｂ）と略同様である。
【０１２５】
このように本実施例６では、４ビットメモリ４４に対して「０」から「９」までの指数値のみならず、空き状態の６個の数値に対して指数値（インデックス）を割り当てるようにしたため、メモリ４４の無駄を省くことができる。
【０１２６】
上述した例において、指数「１」ビットに対して、仮数「１」又は「２」ビットの例で説明したが、勿論、仮数部は「３」、「４」ビット等でもよい。
【実施例７】
【０１２７】
次に実施例７について説明する。図１８は、本実施例８におけるターボ復号器４００周辺の構成例を示す図である。ターボ復号器４００の構成は、実施例１と同様である。本実施例７では、ターボ復号器４００の前段に、各受信尤度データに対して指数化部４５１，４５３，４５５と、メモリ４５２，４５４，４５６を備える。指数化部４５１，４５３，４５５をターボ復号器４００の前段に設けることで、メモリ４５２，４５４，４５６の容量を削減することができる。
【０１２８】
指数化部４５１，４５３，４５５の指数化の手法は、実施例１に示す仮数部を追加する方法でもよいし、実施例５に示す「最小誤差指数化法」でも良いし、更に、実施例６による指数化の手法でもよい。いずれの場合も近似の精度を向上させることができる。勿論、従来の単純な指数化の手法を用いても、メモリ容量の削減という効果は得ることができる。
【実施例８】
【０１２９】
上述した実施例１〜７においては、ターボ符号とターボ復号を例にして説明した。勿論、それ以外にもＬＤＰＣ符号を復号化する復号器でも実施可能で同様の作用効果を奏する。ＬＤＰＣ符号により符号化は、２つの要素符号器２１０，２２０とインターリーバ２２０（図１９参照）を合わせた１個の符号器から構成され、復号器側はＭＡＰ復号器（Ｓｕｍ−Ｐｒｏｄｕｃｔ演算器）１つにより構成される。このＭＡＰ復号器の出力を外部尤度として次のＭＡＰ復号器に帰還させて同様に繰り返し復号による復号処理が行われる。
【０１３０】
また、実施例１〜７において、符号化は１ビットの組織ビット系列に対して２ビットのパリティビット系列により符号化される例について説明したが、勿論、それ以外のビット系列による場合でも全く同様に適用可能で同様の作用効果を得る。例えば、１ビットの組織ビットに対して、３ビットのパリティビットや１ビットのパリティビットでもよい。また、このような符号化データに対して、要素復号器４１０，４２０を３つ４つ、と追加するようにしても実施できる。更に、組織ビットがなくすべてパリティビットの符号化データに対しても全く同様に実施できる。
【０１３１】
尚、これら実施例におけるターボ復号器４００は、例えば移動通信システムにおける携帯電話やＰＤＡ等の情報携帯端末や無線基地局に適用して好適である。
【０１３２】
以上まとめると付記のようになる。
【０１３３】
（付記１）
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得する仮数取得部と、
前記指数、前記仮数を記憶する記憶部と、
前記記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
【０１３４】
（付記２）
前記復元部は前記指数に対応するビット位置に隣接したビット位置に前記仮数の情報をそのまま追加することで前記外部情報を復元することを特徴する付記１記載の復号装置。
【０１３５】
（付記３）
前記復元部は前記指数に対応するビット位置に前記符号ビットと異なる値を立て、前記仮数の情報を前記指数に対応するビット位置に隣接してそのまま追加することで前記外部情報を復元することを特徴とする付記１記載の復号装置。
【０１３６】
（付記４）
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報の符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数より下位の桁のビットを取得し、前記取得した下位の桁のビットと前記符号ビットを除く前記外部情報とを加算する加算部と、
前記加算部からの加算値に対する前記指数を記憶する記憶部と、
前記記憶部に記憶された前記指数を読み出して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
【０１３７】
（付記５）
前記復元部は、前記加算値に対する指数のビット位置に前記符号ビットと異なる値を立てることで前記外部情報を復元することを特徴とする付記４記載の復号装置。
【０１３８】
（付記６）
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部からの前記外部情報に対して係数値を乗算して出力する係数スケーリング部と、
前記係数スケーリング部から出力された外部情報に対して、前記外部情報のうち符号ビットを除いた情報から、前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数化部と、
前記指数を記憶する記憶部と、
前記記憶部に保存された前記指数を読み出して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰り返しの復号を行うことを特徴とする復号装置。
【０１３９】
（付記７）
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部からの前記外部情報に対して、ｍ（ｍは１以上の整数）ビット右シフトさせる右シフト部と、
右シフトされた前記外部情報をメモリに保存するメモリ保存部と、
前記メモリから読み出した前記外部情報に対して係数値を乗算する係数スケーリング部とを備え、
前記要素復号部は、前記係数スケーリング部からの前記外部情報に基づいて繰り返しの復号を行うことを特徴とする復号装置。
【０１４０】
（付記８）
前記係数スケーリング部は、前記メモリから読み出した前記外部情報に対して、ｎ（ｎは１以上の整数）ビット左シフトさせる左シフト部と、
前記メモリから読み出された前記外部情報と前記左シフト部からの外部情報とを加算する加算部とにより、前記係数値を乗算することを特徴とする付記７記載の復号装置。
【０１４１】
（付記９）
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得する仮数取得部と、
前記指数に対応する２進数値として表現できない他の２進数値に対してインデックスが割り当てられたテーブルから、前記指数と前記仮数との組に対応する前記インデックスを求めるテーブル参照部と、
求められた前記インデックスを記憶する記憶部と、
前記記憶部に記憶された前記インデックスに基づいて、前記テーブルを参照して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
【０１４２】
（付記１０）
前記テーブルは、前記他の２進数値にうち下位桁から順にインデックスが割り当てられることを特徴とする付記９記載の復号装置。
【０１４３】
（付記１１）
前記テーブルは、前記他の２進数値のうち上位桁に下位桁より多くのインデックスが割り当てられることを特徴とする付記９記載の復号装置。
【０１４４】
（付記１２）
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部の入力側に、前記各入力データを構成する各ビット系列に対して、符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を各々特定する指数化部と、
前記指数化部から出力される指数を各々メモリに保存するメモリ保存部とを夫々備え、
前記要素復号部は、前記メモリから読み出された前記入力データの前記各ビット系列に基づいて繰り返し復号を行うことを特徴とする復号装置。
【０１４５】
（付記１３）
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部から出力される前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値の最初のビット位置である指数を特定し、
前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得し、
前記指数と前記仮数とを記憶部に保存し、
前記記憶部に保存された前記指数と前記仮数とを読み出して前記外部情報を復元し、
前記要素復号部は、復元された前記外部情報に基づいて繰り返し復号を行うことを特徴とする復号装置。
【０１４６】
（付記１４）
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法おいて、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報の符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定し、
前記外部情報のうち前記指数より下位の桁のビットを取得し、前記取得した下位の桁のビットと前記符号ビットを除く前記外部情報とを加算し、
加算後の加算値に対する前記指数を記憶部に保存し、
前記記憶部に保存された前記指数を読み出して前記外部情報を復元し、
前記要素復号部は、復元された前記外部情報に基づいて繰り返し復号を行うことを特徴とする復号方法。
【０１４７】
（付記１５）
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部からの前記外部情報に対して係数値を乗算し、
前記乗算された外部情報に対して、前記外部情報のうち符号ビットを除いた情報から、前記符号ビットと異なる値が最初に出現するビット位置である指数を特定し、
前記指数を記憶部に保存し、
前記記憶部に保存された前記指数を読み出して、前記外部情報を復元し、
前記要素復号部は、復元された前記外部情報に基づいて繰り返しの復号を行うことを特徴とする復号方法。
【０１４８】
（付記１６）
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部からの前記外部情報に対して、ｍ（ｍは１以上の整数）ビット右シフトさせ、
前記ｍビット右シフトされた前記外部情報を記憶部に保存し、
前記記憶部から読み出した前記外部情報に対して係数値を乗算し、
前記要素復号部は乗算された前記外部情報に基づいて繰り返し復号を行うことを特徴とする復号方法。
【０１４９】
（付記１７）
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値の最初のビット位置である指数を特定し、
前記外部情報のうち前記指数に隣接した１又は複数ビットの情報を仮数として取得し、
前記指数に対応する２進数値として表現できない他の２進数値に対してインデックスが割り当てられたテーブルから、前記指数と前記仮数との組に対応する前記インデックスを取得し、
前記取得したインデックスを記憶部に保存し、
前記記憶部から読み出された前記インデックスから前記テーブルを参照して前記外部情報を復元し、
前記要素復号部は、復元された前記外部情報に基づいて繰り返し復号を行うことを特徴とする復号方法。
【０１５０】
（付記１８）
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記入力データに対する符号化率と変調方式に関するフォーマット情報を取得するフォーマット情報取得部と、
前記取得したフォーマット情報に基づいて誤り訂正復号の方式が選択され、選択された誤り訂正複号の方式により前記入力データに対する誤り訂正復号を行う誤り訂正復号部と
を備えることを特徴とする復号装置。
【図面の簡単な説明】
【０１５１】
【図１】図１は要素復号器とその周辺部の構成例を示す図である。
【図２】図２は処理の例を説明するための図である。
【図３】図３は外部情報処理部の構成例を示す図である。
【図４】図４（Ａ）はメモリ保存処理、同図（Ｂ）はメモリ読み出し処理の各フローチャートである。
【図５】図５は要素復号器とその周辺部の他の構成例を示す図である。
【図６】図６は外部情報処理部の他の構成例を示す図である。
【図７】図７は外部情報処理部の他の構成例を示す図である。
【図８】図８は受信機の構成例を示す図である。
【図９】図９は処理の例を説明するための図である。
【図１０】図１０は外部情報処理部の他の構成例を示す図である。
【図１１】図１１（Ａ）はメモリ保存処理、同図（Ｂ）はメモリ読み出し処理の各フローチャートである。
【図１２】図１２は処理の例を説明するための図である。
【図１３】図１３は外部情報処理部の他の構成例を示す図である。
【図１４】図１４はテーブルの例を示す図である。
【図１５】図１５はテーブルの例を示す図である。
【図１６】図１６（Ａ）はメモリ保存処理、同図（Ｂ）はメモリ読み出し処理の各フローチャートである。
【図１７】図１７（Ａ）はメモリ保存処理、同図（Ｂ）はメモリ読み出し処理の各フローチャートである。
【図１８】図１８はターボ復号器の周辺部の構成例を示す図である。
【図１９】図１９はターボ符号化器の構成例を示す図である。
【図２０】図２０はターボ復号器の構成例を示す図である。
【図２１】図２１は要素復号器とその周辺部の構成例を示す図である。
【図２２】図２２は要素復号器とその周辺部の構成例を示す図である。
【図２３】図２３は従来における処理の例を説明するための図である。
【図２４】図２４は要素復号器の周辺部の構成例を示す図である。
【符号の説明】
【０１５２】
１０  外部情報処理部、  １１  指数位置決定部、  １２  仮数部取得部、  １３  メモリ保存部、  １４  復元部、  １５  係数スケーリング部、  １６  指数化部、  １７  メモリ保存部、  １８  復元部、  ２０  右シフト部、  ２１  メモリ保存部、  ２２  係数スケーリング部、  ２５  ２ビット右シフト部、  ２６  メモリ保存部、  ２７  １ビット左シフト部、  ２８  加算部、  ３０  指数位置決定部、  ３１  下位桁ビット取得部、  ３２  加算部、  ３３  メモリ保存部、  ３４  復元部、  ４０  指数位置決定部、  ４１  スイッチ、  ４２  仮数部取得部、  ４３  テーブル参照部、  ４４  メモリ保存部、  ４５  復元部、  １００  受信機、  １０２  フォーマット取得部、  １０３  指数化方法決定部、  １０６  誤り訂正復号器、  ２００  ターボ符号化器、  ４００  ターボ復号器、  ４１０  第１の要素復号器、  ４２０  第２の要素復号器
【図１】
2008219082.tif 000003
【図２】
2008219082.tif 000004
【図３】
2008219082.tif 000005
【図４】
2008219082.tif 000006
【図５】
2008219082.tif 000007
【図６】
2008219082.tif 000008
【図７】
2008219082.tif 000009
【図８】
2008219082.tif 000010
【図９】
2008219082.tif 000011
【図１０】
2008219082.tif 000012
【図１１】
2008219082.tif 000013
【図１２】
2008219082.tif 000014
【図１３】
2008219082.tif 000015
【図１４】
2008219082.tif 000016
【図１５】
2008219082.tif 000017
【図１６】
2008219082.tif 000018
【図１７】
2008219082.tif 000019
【図１８】
2008219082.tif 000020
【図１９】
2008219082.tif 000021
【図２０】
2008219082.tif 000022
【図２１】
2008219082.tif 000023
【図２２】
2008219082.tif 000024
【図２３】
2008219082.tif 000025
【図２４】
2008219082.tif 000026