(57)【要約】    【課題】      ターボ復号での復号能力を向上させるとともに、ターボ復号の繰り返し行う回数を最適化して、処理時間を削減することができるようにすること。    【解決手段】  ２つのターボ復号器１０１Ａ、１０１Ｂは、並行して入力データ（コードブロック＃１、＃２）に対して誤り訂正復号を繰り返し行う。その復号結果は、メモリ１０３に格納される。誤り検出器１０５は、メモリ１０３に格納される復号結果に含まれる誤り検出符号に基づき復号結果に残存する誤り有無を検出する。繰り返し制御回路１０６は、誤りがないと判断されるまで２つのターボ復号器１０１Ａ、１０１Ｂに継続して繰り返し復号処理を行わせる。  【選択図】      図１
2005295192.tif 000002
【特許請求の範囲】
【請求項１】
情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号装置であって、
復号のデータ単位であるコードブロックのｎ（ｎ≧２）個の少なくともいずれか一つのコードブロックに誤り検出符号が含まれる場合において、前記ｎ個のコードブロックそれぞれの繰り返し復号処理を並列に行うｎ個のターボ復号手段と、
前記ｎ個のターボ復号手段における誤り訂正復号の復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤りの有無を検出する検出手段と、
前記検出手段の誤り検出結果に応じて前記ｎ個のターボ復号手段に繰り返し復号処理を継続して行わせるか停止させるかの制御を行う繰り返し制御手段と、を具備することを特徴とするターボ復号装置。
【請求項２】
前記ｎ個のターボ復号手段の復号結果を格納するメモリと、前記メモリに格納された復号結果を前記検出手段に与えて誤り検出を行わせる制御手段と、を具備することを特徴とする請求項１に記載のターボ復号装置。
【請求項３】
情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号装置であって、
復号のデータ単位であるコードブロックの２個の少なくとも一つのコードブロックに誤り検出符号が含まれる場合において、前記２個のコードブロックそれぞれの繰り返し復号処理を並列に行う２個のターボ復号手段と、
前記２個のターボ復号手段の一方における誤り訂正復号の復号結果を格納するメモリと、
前記２個のターボ復号手段の他方における誤り訂正復号の復号結果と前記メモリから出力される復号結果とのいずれか一方の復号結果を選択する選択手段と、
前記選択手段が出力する復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する検出手段と、
前記検出手段の誤り検出結果に応じて前記２個のターボ復号手段に繰り返し復号処理を継続して行わせるか停止させるかの制御を行う繰り返し制御手段と、
前記２個のターボ復号手段の他方が繰り返し復号処理を行っている期間では前記選択手段に前記２個のターボ復号手段の他方における誤り訂正復号の復号結果を選択させ、その後、前記選択手段に前記メモリから出力される復号結果を選択させる制御手段と、を具備することを特徴とするターボ復号装置。
【請求項４】
情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号のデータ単位であるコードブロックのｎ（ｎ≧２）個の少なくともいずれか一つのコードブロックに誤り検出符号が含まれる場合において、
前記ｎ個のコードブロックそれぞれの繰り返し復号処理を並列に行う工程と、
前記ｎ個のコードブロックそれぞれの繰り返し復号処理の復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する工程と、
前記誤り検出結果に応じて前記ｎ個のコードブロックそれぞれの繰り返し復号処理を継続して行わせるか停止させるかの制御を行う工程と、を含むことを特徴とするターボ復号方法。
【請求項５】
前記ｎ個のコードブロックそれぞれの繰り返し復号処理の復号結果を一旦メモリに格納し、その後、前記メモリに格納された復号結果について前記誤り検出を行わせる工程を含むことを特徴とする請求項４に記載のターボ復号方法。
【請求項６】
情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号のデータ単位であるコードブロックの２個の少なくとも一つのコードブロックに誤り検出符号が含まれる場合において、
前記２個のコードブロックそれぞれの繰り返し復号処理を並列に行う工程と、
前記２個のコードブロックの一方について繰り返し復号処理を行っている期間ではその復号結果についての誤り検出を並行して行うとともに、前記２個のコードブロックの他方における誤り訂正復号の復号結果をメモリに格納し、前記２個のコードブロックの一方についての繰り返し復号処理が終了したとき、前記メモリに格納された復号結果について誤り検出を行う工程と、
前記２個のコードブロックにおける誤り訂正復号の復号結果についての前記誤り検出の結果に応じて当該２個のコードブロックそれぞれの繰り返し復号処理を継続して行わせるか停止させるかの制御を行う工程と、を含むことを特徴とするターボ復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターボ符号を復号するターボ復号装置及びターボ復号方法に関する。
【背景技術】
【０００２】
ターボ符号は、情報ビットに誤り検出符号化及び誤り訂正符号化を施して得られた符号化系列であり、復号処理を繰り返し行うことで高い誤り訂正能力が得られる強力な誤り訂正符号である。この明細書では移動通信への適用を念頭において説明するが、その優れた特徴から、移動通信だけでなく、衛星通信や磁気記録、光通信など様々な分野での応用が検討されている。
【０００３】
ところで、ターボ復号においては、高い誤り訂正能力を実現するためには相当数の繰り返しが必要となるために、処理時間が増加するという問題がある。この問題に対して、ターボ復号処理の繰り返し回数を最適化する技術が例えば特許文献１に開示されている。以下、図５を参照して、その概要を説明する。
【０００４】
図５は、従来のターボ復号装置の構成例を示すブロック図である。図５に示す従来のターボ復号装置は、受信データについてターボ復号を行うターボ復号器５０１と、ターボ復号器５０１から出力された軟値を“０”または“１”の硬値に変換する硬判定器５０２と、硬判定器５０２にて判定された硬値を格納するデータバッファ５０３と、ターボ復号器５０１における復号処理の繰り返し回数をカウントし所定の最大繰り返し回数に到達するとそれを示す制御信号もしくはトリガ信号を出力する反復カウンタ５０４と、データバッファ５０３に格納された復号情報ビットに誤りが存在するか否かをデータフレーム単位で調べ、誤りを検出した場合に制御信号をターボ復号器５０１にフィードバックするＣＲＣ（Cyclic Redundancy Check）検査器５０５と、反復カウンタ５０４が出力する制御信号もしくはトリガ信号を受けて、データバッファ５０３に格納されたＣＲＣ検査器５０５による検査が終了したデータフレームから、そのデータフレームに付加されているＣＲＣビットを取り除いてデータを抽出し出力するデータ抽出器５０６とを備えている。
【０００５】
ターボ復号器５０１には、トリガ回路または制御回路が設けられている。このトリガ回路または制御回路は、ＣＲＣ検査器５０５から出力された制御信号に応じてターボ復号器５０１自体を制御し、更なる復号処理を実行させるように動作する。
【０００６】
また、ターボ復号器５０１は、繰り返し処理される復号処理において、ターボ復号器５０１での１回の復号処理の完了を示す信号を反復カウンタ５０４に供給するようになっている。反復カウンタ５０４は、この完了信号に基づいてターボ復号器５０１で処理された復号処理の繰り返し回数をカウントする。そして、反復カウンタ５０４は、ターボ復号器５０１に新たなコードブロックが受信され、処理されたコードブロックがターボ復号器５０１から出力されたときにカウント値をリセットするようになっている。
【０００７】
なお、コードブロックとは、情報ビットに誤り検出符号化及び誤り訂正符号化を施して得られた符号化系列にターボ復号を行う際のデータ単位である。処理されたコードブロックがターボ復号器５０１から出力されるのは、ＣＲＣ検査器５０５によって誤りが検出されなかった場合か、ターボ復号器５０１による復号処理が所定回数繰り返された場合のいずれかである。
【０００８】
このように、従来のターボ復号装置では、復号処理が繰り返されるたびに復号された情報ビットを検査し、検査の結果に基づいて更なる復号処理を実行するか否かを決定する構成であるので、誤り訂正能力を低下させることなく処理時間を削減することができる。
【特許文献１】特開２０００−１８３７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記した従来のターボ復号装置にて実施される繰り返し制御方法では、コードブロック間の境界にＣＲＣビットが位置しない場合やコードブロックにＣＲＣビットが含まれないような場合には、最適な繰り返し制御を行うことができないという問題がある。以下、図６（ａ）〜（ｃ）を参照して具体的に説明する。
【００１０】
図６（ａ）〜（ｃ）は、ターボ復号装置に入力されるデータの構成例を示している。図６（ａ）〜（ｃ）では入力データから２つのコードブロック＃１、＃２が形成される場合が示されている。なお、図６（ａ）〜（ｃ）において、トランスポートブロックとは、送信側で送りたい情報ビットであり、送信側でＣＲＣビットを付加するデータ単位である。
【００１１】
図６（ａ）ではターボ復号装置への入力データが「トランスポートブロック＃１、ＣＲＣビット＃１、トランスポートブロック＃２、ＣＲＣビット＃２、トランスポートブロック＃３、ＣＲＣビット＃３、トランスポートブロック＃４、ＣＲＣビット＃４」の構成である場合が示されている。この場合には、コードブロック＃１が「トランスポートブロック＃１、ＣＲＣビット＃１、トランスポートブロック＃２、ＣＲＣビット＃２」の構成となり、コードブロック＃２が「トランスポートブロック＃３、ＣＲＣビット＃３、トランスポートブロック＃４、ＣＲＣビット＃４」の構成となるので、各コードブロックは境界にＣＲＣビットが位置するように形成される。
【００１２】
ターボ復号装置への入力データが図６（ａ）に示すようなデータである場合は、コードブロック間の境界にＣＲＣビットが位置するので、上記した従来のターボ復号装置では、コードブロック＃１のデータをターボ復号する場合、１回の復号処理が終了するたびに、ＣＲＣビット＃１、ＣＲＣビット＃２を用いて、復号した情報ビットであるトランスポートブロック＃１、トランスポートブロック＃２に誤りが存在するか否かを検出し、誤りがなければ復号処理を終了し、誤りが検出されれば復号処理を繰り返すことができる。
【００１３】
図６（ｂ）では、ターボ復号装置への入力データが「トランスポートブロック＃１、ＣＲＣビット＃１、トランスポートブロック＃２、ＣＲＣビット＃２、トランスポートブロック＃３、ＣＲＣビット＃３」の構成である場合が示されている。この場合は、コードブロック＃１は「トランスポートブロック＃１、ＣＲＣビット＃１、トランスポートブロック＃２の大部分」の構成となり、コードブロック＃２は「トランスポートブロック＃２の残り部分、ＣＲＣビット＃２、トランスポートブロック＃３、ＣＲＣビット＃３」の構成となるので、各コードブロックは境界にＣＲＣビットが位置しない構成となる。
【００１４】
このように、ターボ復号装置への入力データが図６（ｂ）に示すようなデータである場合は、コードブロック間の境界にＣＲＣビットが位置しないので、上記した従来のターボ復号装置では、１回の復号処理が終了するたびにＣＲＣビット＃１を用いて誤り検出を行っても、トランスポートブロック＃２の情報ビットに誤りが存在しているか否かは検出できない。そのため、コードブロック＃１の復号において、ある繰り返し回数の復号処理を行った時点で誤りが検出されなければ、コードブロック＃１の復号処理を終了し、次にコードブロック＃２に対して復号処理を行うこととなる。しかし、コードブロック＃１の復号処理においてトランスポートブロック＃２の誤りが全て訂正されていない場合は、コードブロック＃２の復号処理を繰り返し行ってもその誤りは訂正されないことになり、結果として信号品質を低下させてしまうことが起こる。
【００１５】
図６（ｃ）では、ターボ復号装置への入力データが「トランスポートブロック＃１、ＣＲＣビット＃１」の構成である場合が示されている。この場合には、コードブロック＃１は「トランスポートブロック＃１の半分強」の構成となり、コードブロック＃２は「トランスポートブロック＃１の残り半分、ＣＲＣビット＃１」の構成となるので、ＣＲＣビットが含まれないコードブロックが形成されることになる。
【００１６】
このように、ターボ復号装置への入力データが図６（ｃ）に示すようなデータである場合は、コードブロック＃１にはＣＲＣビットが存在しないので、上記した従来のターボ復号装置では、誤り検出を行うことができず、誤り検出による繰り返し制御を行うことができない。そのため、従来のターボ復号装置では、所定の回数繰り返し復号処理を行うことになり、誤りが十分に訂正されているにもかかわらず余分な復号処理を行うことで処理時間が増大するという問題がある。
【００１７】
本発明は、かかる点に鑑みてなされたものであり、ターボ復号での復号能力を向上させるとともに、ターボ復号の繰り返し行う回数を最適化し、処理時間を削減することができるターボ復号装置及びターボ復号方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
かかる課題を解決するために、本発明のターボ復号装置は、情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号装置であって、復号のデータ単位であるコードブロックのｎ（ｎ≧２）個の少なくともいずれか一つのコードブロックに誤り検出符号が含まれる場合において、前記ｎ個のコードブロックそれぞれの繰り返し復号処理を並列に行うｎ個のターボ復号手段と、前記ｎ個のターボ復号手段における誤り訂正復号の復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する検出手段と、前記検出手段の誤り検出結果に応じて前記ｎ個のターボ復号手段に繰り返し復号処理を継続して行わせるか停止させるかの制御を行う繰り返し制御手段と、を具備する構成を採る。
【００１９】
この構成によれば、コードブロック間に跨っているトランスポートブロックも同時に復号処理が行えるので、コードブロック間の境界に誤り検出符号が位置していない場合でもコードブロック間に跨っているトランスポートブロックに対する訂正能力を向上させることができ、信号品質を向上させることができる。また、ｎ個のコードブロックのいずれか一つには誤り検出符号が存在するので、誤り検出符号を含まないコードブロックが存在しても、誤り検出を用いた繰り返し制御を行うことができる。したがって、復号処理の繰り返し回数を最適化することができ、信号品質を劣化させることなく、処理時間を削減することができる。
【００２０】
本発明のターボ復号装置は、上記の発明において、前記ｎ個のターボ復号手段の復号結果を格納するメモリと、前記メモリに格納された復号結果を前記検出手段に与えて誤り検出を行わせる制御手段と、を具備する構成を採る。
【００２１】
この構成によれば、ｎ個のコードブロックについての繰り返し復号処理を安定的に行うことができる。
【００２２】
本発明のターボ復号装置は、情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号手段であって、復号のデータ単位であるコードブロックの２個の少なくとも一つのコードブロックに誤り検出符号が含まれる場合において、前記２個のコードブロックそれぞれの繰り返し復号処理を並列に行う２個のターボ復号手段と、前記２個のターボ復号手段の一方における誤り訂正復号の復号結果を格納するメモリと、前記２個のターボ復号手段の他方における誤り訂正復号の復号結果と前記メモリから出力される復号結果とのいずれか一方の復号結果を選択する選択手段と、前記選択手段が出力する復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する検出手段と、前記検出手段の誤り検出結果に応じて前記２個のターボ復号手段に繰り返し復号処理を継続して行わせるか停止させるかの制御を行う繰り返し制御手段と、前記２個のターボ復号手段の他方が繰り返し復号処理を行っている期間では前記選択手段に前記２個のターボ復号手段の他方における誤り訂正復号の復号結果を選択させ、その後、前記選択手段に前記メモリから出力される復号結果を選択させる制御手段と、を具備する構成を採る。
【００２３】
この構成によれば、２個のコードブロックについて繰り返し復号処理を行い、その復号結果をメモリに格納し、格納した復号結果について誤り検出を行って２個のコードブロックについて繰り返し復号処理を継続するか停止するかを制御する場合に比べて処理時間を削減することができる。
【００２４】
本発明のターボ復号方法は、情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号のデータ単位であるコードブロックのｎ（ｎ≧２）個の少なくともいずれか一つのコードブロックに誤り検出符号が含まれる場合において、前記ｎ個のコードブロックそれぞれの繰り返し復号処理を並列に行う工程と、前記ｎ個のコードブロックそれぞれの繰り返し復号処理の復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する工程と、前記誤り検出結果に応じて前記ｎ個のコードブロックそれぞれの繰り返し復号処理を継続して行わせるか停止させるかの制御を行う工程と、を含むようにした。
【００２５】
この方法によれば、コードブロック間に跨っているトランスポートブロックも同時に復号処理が行えるので、コードブロック間の境界に誤り検出符号が位置していない場合でもコードブロック間に跨っているトランスポートブロックに対する訂正能力を向上させることができ、信号品質を向上させることができる。また、ｎ個のコードブロックのいずれか一つには誤り検出符号が存在するので、誤り検出符号を含まないコードブロックが存在しても、誤り検出を用いた繰り返し制御を行うことができる。したがって、復号処理の繰り返し回数を最適化することができ、信号品質を劣化させることなく、処理時間を削減することができる。
【００２６】
本発明のターボ復号方法は、上記の発明において、前記ｎ個のコードブロックそれぞれの繰り返し復号処理の復号結果を一旦メモリに格納し、その後、前記メモリに格納された復号結果について前記誤り検出を行わせる工程を含むようにした。
【００２７】
この方法によれば、ｎ個のコードブロックについての繰り返し復号処理を安定的に行うことができる。
【００２８】
本発明のターボ復号方法は、情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号のデータ単位であるコードブロックの２個の少なくとも一つのコードブロックに誤り検出符号が含まれる場合において、前記２個のコードブロックそれぞれの繰り返し復号処理を並列に行う工程と、前記２個のコードブロックの一方について繰り返し復号処理を行っている期間ではその復号結果についての誤り検出を並行して行うとともに、前記２個のコードブロックの他方における誤り訂正復号の復号結果をメモリに格納し、前記２個のコードブロックの一方についての繰り返し復号処理が終了したとき、前記メモリに格納された復号結果について誤り検出を行う工程と、前記２個のコードブロックにおける誤り訂正復号の復号結果についての前記誤り検出の結果に応じて当該２個のコードブロックそれぞれの繰り返し復号処理を継続して行わせるか停止させるかの制御を行う工程と、を含むようにした。
【００２９】
この方法によれば、２個のコードブロックについて繰り返し復号処理を行い、その復号結果をメモリに格納し、格納した復号結果について誤り検出を行って２個のコードブロックについて繰り返し復号処理を継続するか停止するかを制御する場合に比べて処理時間を削減することができ、またメモリの容量を削減することができる。
【発明の効果】
【００３０】
本発明によれば、ターボ復号での復号能力を向上させるとともに、ターボ復号の繰り返し行う回数を最適化し、処理時間を削減することができる。
【発明を実施するための最良の形態】
【００３１】
本発明の骨子は、ターボ復号器を複数個並列に設け、それぞれのコードブロックを同時に復号処理できるようにし、コードブロックの境界にＣＲＣビットが位置しない場合でもコードブロック間を跨っているトランスポートブロックに対する訂正能力を向上させ、また、ＣＲＣビットが存在しないコードブロックが含まれる場合でもＣＲＣビットが存在するコードブロックにおける誤り検出を利用して復号処理の繰り返し回数の最適化が行えるようにすることである。
【００３２】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００３３】
（実施の形態１）
図１は、本発明の実施の形態１に係るターボ復号装置の構成を示すブロック図である。この実施の形態１では、入力データが、図６（ａ）〜（ｃ）に示したように２つのコードブロックに区切られるとして、２つのターボ復号器を並列に設けた場合の構成例が示されている。
【００３４】
即ち、図１に示すターボ復号装置は、コードブロック＃１となる入力データについてターボ復号を行うターボ復号器１０１Ａと、コードブロック＃２となる入力データについてターボ復号を行うターボ復号器１０１Ｂと、ターボ復号器１０１Ａから出力された軟値を“０”または“１”の硬値に変換する硬判定器１０２Ａと、ターボ復号器１０１Ｂから出力された軟値を“０”または“１”の硬値に変換する硬判定器１０２Ｂと、復号された情報ビットを格納するメモリ１０３と、硬判定器１０２Ａ、１０２Ｂが出力する硬値をメモリ１０３に格納する際にメモリ１０３へのアクセス制御を行うメモリ制御回路１０４と、メモリ１０３に格納されている復号情報ビットについてＣＲＣを用いた誤り検出を行う誤り検出器１０５と、誤り検出器１０５の検出結果に基づきターボ復号器１０１Ａ、１０１Ｂに繰り返し復号処理を継続して行わせるか否かを制御する繰り返し制御回路１０６と、ターボ復号器１０１Ａ、１０１Ｂ、メモリ制御回路１０４及び誤り検出器１０５を制御する制御回路１０７と、を備えている。
【００３５】
次に、図１と図２を参照して、以上のように構成されるターボ復号装置の動作について説明する。なお、図２は、図１に示すターボ復号装置の動作を説明するフローチャートである。図２において、受信データが入力されると（ステップＳＴ２０１）、ターボ復号装置が起動され（ステップＳＴ２０２）、ターボ復号器１０１Ａ、１０１Ｂが並列に復号処理を開始する（ステップＳＴ２０３）。
【００３６】
なお、ターボ復号器１０１Ａ、１０１Ｂにおける復号アルゴリズムとしては、SOVA（Soft Output Viterbi Algorithm：軟出力ビタビ復号アルゴリズム）やMAP（Maximum Ａ Posteriori Probability decoding：最大事後確率復号）アルゴリズムなどが用いられる。
【００３７】
ターボ復号器１０１Ａ、１０１Ｂが復号処理を行いながら順次出力する軟値が硬判定器１０２Ａ、１０２Ｂにて硬値に変換され、それぞれメモリ制御回路１０４に入力する。並行して制御回路１０７は、入力データのデータ長から制御信号を生成し、メモリ制御回路１０４に与える。メモリ制御回路１０４は、メモリ１０３への書き込みタイミングを制御しながら硬判定器１０２Ａ、１０２Ｂが出力するそれぞれの硬値を制御回路１０７からの制御信号に基づき生成したメモリ１０３の所定のアドレスに書き込む（ステップＳＴ２０４）。
【００３８】
制御回路１０７は、内部に持っているカウンタによってターボ復号器１０１Ａ、１０１Ｂが復号処理を終了したか否かを判定し（ステップＳＴ２０５）、復号処理が終了していない場合は（ステップＳＴ２０５：ＮＯ）、ステップＳＴ２０４に戻り、メモリ１０３にコードブロック＃１、コードブロック＃２を復号して得られた硬値の書き込みを続行する制御を行う。
【００３９】
制御回路１０７は、ターボ復号器１０１Ａ、１０１Ｂが復号処理を終了すると（ステップＳＴ２０５：ＹＥＳ）、メモリ１０３にコードブロック＃１とコードブロック＃２を復号して得られた硬値が全て格納されたと認識し、誤り検出器１０５を起動する（ステップＳＴ２０６）。同時に、メモリ制御回路１０４が制御回路１０７から出力される制御信号よってメモリ１０３の読み出しアドレスを生成し、読み出しを行い、誤り検出器１０５に入力させる。
【００４０】
これによって、誤り検出器１０５は、メモリ１０３に格納されたコードブロック＃１、コードブロック＃２を復号して得られた硬値に対して誤り検出を行う。誤り検出器１０５は、誤り検出処理を終了すると（ステップＳＴ２０７：ＹＥＳ）、誤りが検出されたか否かを示す信号を繰り返し制御回路１０６に出力する。
【００４１】
繰り返し制御回路１０６は、誤り検出器１０５にて誤りが検出されないか否かを監視し（ステップＳＴ２０８）、誤りが検出された場合には（ステップＳＴ２０８：ＮＯ）、２つのターボ復号器１０１Ａ、１０１Ｂを起動して復号処理を再開するように制御する（ステップＳＴ２０９）。その結果、復号処理（ステップＳＴ２０４〜ＳＴ２０８）が再度繰り返される。
【００４２】
繰り返し制御回路１０６は、コードブロック＃１、コードブロック＃２に含まれる全てのトランスポートブロックに対して誤りが検出されなければ（ステップＳＴ２０８：ＹＥＳ）、ターボ復号装置１０１Ａ、１０１Ｂの処理を停止する（ステップＳＴ２１０）。その時点でメモリ１０３に格納されている硬値が最終的な復号結果となる。
【００４３】
このように、実施の形態１によれば、２つのターボ復号器によってコードブロックをそれぞれ復号処理する構成としたので、ターボ復号装置への入力データにおいて、図６（ｂ）に示したように、コードブロック間の境界にＣＲＣビットが位置しない場合でも、コードブロック間に跨るトランスポートブロックに対する訂正能力を向上させることができ、信号品質を向上させることができる。
【００４４】
また、ターボ復号装置への入力データにおいて、図６（ｃ）に示したように、ＣＲＣビットを含まないコードブロックが存在する場合でも、ＣＲＣビットが存在するコードブロックを利用した誤り検出を用いて繰り返し制御を行うことができるので、復号処理の繰り返し回数を最適化することができ、信号品質を劣化させることなく処理時間を削減することができる。この点に関し図３（ａ）、（ｂ）を参照して、具体的に説明する。
【００４５】
図３（ａ）：従来のターボ復号装置では、コードブロックにＣＲＣビットが含まれない場合は、誤り検出を用いて復号処理の繰り返し制御を行うことができないので、ＣＲＣビットが含まれないコードブロック＃１については、所定の最大繰り返し回数であるｎ回繰り返し復号処理を行う必要があった。
【００４６】
図３（ｂ）：本実施の形態１に係るターボ復号装置では、ターボ復号器１０１Ａに入力されるデータのＣＲＣビットがターボ復号器１０１Ｂの入力データに含まれる（図６（ｃ）参照）。したがって、ＣＲＣビットの含まれないコードブロック＃１の処理も、誤りが検出されなかった時点で復号処理を終了することができ、復号処理の繰り返し回数が最適化できるので、処理時間を削減することが可能となる。
【００４７】
なお、コードブロック間の境界にＣＲＣビットが位置する図６（ａ）に示すような入力データの場合には、ターボ復号器１０１Ａとターボ復号器１０１Ｂとを用いて並列に処理を行ってもよいし、ターボ復号器１０１Ａもしくはターボ復号器１０１Ｂだけを用いて、それぞれのコードブロックについて順次復号処理を行ってもよい。
【００４８】
ここで、本実施の形態１では、コードブロックが２つ区切りでＣＲＣビットが少なくともいずれか一方のコードブロックに存在する入力データを想定したので、ターボ復号器を２つ持つ構成としたが、コードブロックがｎ個区切りでＣＲＣビットがいずれかのコードブロックに存在する入力データの場合には、ターボ復号器をｎ個持つ構成とすれば、同様の繰り返し制御を行うことが可能である。
【００４９】
（実施の形態２）
図４は、本発明の実施の形態２に係るターボ復号装置の構成を示すブロック図である。なお、図４では、図１に示した構成と同一ないしは同等である構成には同一の符号が付されている。ここでは、実施の形態２に関わる部分を中心に説明する。
【００５０】
図４に示すように、実施の形態２に係るターボ復号装置では、図１に示した構成において、メモリ制御回路１０４に代えてメモリ制御回路４０１が設けられ、誤り検出器１０５に代えて誤り検出器４０２が設けられ、制御回路１０７に代えて制御回路４０３が設けられ、メモリ１０３と誤り検出器４０２との間にセレクタ４０４が追加されている。
【００５１】
硬判定器１０２Ａの出力は、メモリ制御回路４０１に入力するとともに、セレクタ４０４の一方の入力となっている。セレクタ４０４の他方の入力は、メモリ１０３から読み出された硬値（硬判定器１０２Ｂの出力）である。
【００５２】
つまり、メモリ制御回路４０１は、硬判定器１０２Ａ、硬判定器１０２Ｂの出力をメモリ１０３に書き込む制御と読み出してセレクタ４０４に与える制御とを行う。誤り検出器４０２は、セレクタ４０４が出力する硬値について誤り検出を行う。制御回路４０３は、ターボ復号器１０１Ａ、１０１Ｂ、メモリ制御回路４０１及び誤り検出器４０２の制御に加えて、セレクタ４０４の制御も行うようになっている。
【００５３】
次に、以上のように構成される実施の形態２に係るターボ復号装置の動作について説明する。図４において、ターボ復号器１０１Ａとターボ復号器１０１Ｂは、実施の形態１と同様に並行して復号処理を開始する。
【００５４】
硬判定器１０２Ａが出力するコードブロック＃１に対する硬値は、メモリ制御回路４０１を介してメモリ１０３に格納されるとともに、セレクタ４０４に与えられる。一方、硬判定器１０２Ｂが出力するコードブロック＃２に対する硬値は、メモリ制御回路４０１を介してメモリ１０３に格納される。
【００５５】
セレクタ４０４は、制御回路４０３から出力される選択信号によって、ターボ復号器１０１Ａが復号処理を行っている間は硬判定器１０２Ａが出力する硬値を選択し、ターボ復号器１０１Ａが復号処理を終了すると、メモリ１０３から読み出した硬値を選択するよう制御される。
【００５６】
つまり、硬判定器１０２Ａが出力する硬値はメモリ１０３にバッファリングされるとともに、順次セレクタ４０４を介して誤り検出器４０２に入力され、誤り検出処理が行われる。そして、入力データが図３（ｂ）、（ｃ）に示すようなデータである場合は、コードブロック＃１を復号して得られた硬値だけでは誤り検出処理を完了できないので、制御回路４０３は、誤り検出処理の途中で誤り検出器４０２の処理を中断させる。誤り検出器４０２は、演算できるところまで誤り検出演算を行うことになる。
【００５７】
次いで、制御回路４０３は、ターボ復号器１０１Ａが復号出力するコードブロック＃１に対する硬値の誤り検出処理が終了し、かつターボ復号器１０１Ｂが復号処理を終了し、メモリ１０３にコードブロック＃２に対する硬値が全て格納されると、誤り検出器４０２を起動し、コードブロック＃１の最終トランスポートブロックの誤り検出処理を途中まで行っていた状態から引き続いて、コードブロック＃２の硬値に対する誤り検出処理を再開する。誤り検出器４０２は、誤り検出処理が終了すると、誤りが検出されたか否かを示す信号を繰り返し制御回路１０６に出力する。
【００５８】
繰り返し制御回路１０６は、コードブロック＃１、コードブロック＃２に含まれる全てのトランスポートブロックに対して誤りが検出されなければ、ターボ復号器１０１Ａ、１０１Ｂの処理を停止する。その時点でメモリ１０３に格納されている硬値が最終的な復号結果となる。
【００５９】
また、繰り返し制御回路１０６は、誤りが検出された場合には、ターボ復号器１０１Ａ、１０１Ｂに対して引き続き復号処理を行うように制御し、繰り返し復号処理が引き続いて行われる。これによって、コードブロック＃１、コードブロック＃２に含まれる全てのトランスポートブロックに対して誤りが検出されなければ、同様にターボ復号器１０１Ａ、１０１Ｂの処理を停止する。
【００６０】
なお、ターボ復号器１０１Ｂの復号処理が完了しておらず、メモリ１０３にコードブロック＃２の硬値が全て格納されていなくても、コードブロック＃１に対する硬値の誤り検出処理が完了していれば、制御回路４０３は、誤り検出器４０２、メモリ制御回路４０１の動作タイミングを制御し、コードブロック＃２に対する硬値の誤り検出処理を行うようにしてもよい。
【００６１】
また、コードブロック＃１の復号処理と並列にコードブロック＃１の誤り検出を行い、コードブロック＃１に対する誤り検出の処理終了後、コードブロック＃２に対する硬値を用いて引き続きコードブロック＃２に対する誤り検出を行う場合を示したが、逆にコードブロック＃２の復号処理と並行してコードブロック＃２の誤り検出を行い、コードブロック＃２に対する誤り検出の処理終了後、コードブロック＃１に対する硬値を用いて引き続きコードブロック＃１に対する誤り検出を行うように構成することもできる。
【００６２】
このように、実施の形態２によれば、コードブロック＃１（またはコードブロック＃２）を復号して得られた硬値に対する誤り検出を、メモリに一度格納してから行うのではなく、ターボ復号器１０１Ａ（またはターボ復号器１０１Ｂ）の復号処理と並行して行う構成としたので、実施の形態１の効果に加えて、次の効果が得られる。
【００６３】
即ち、コードブロック＃１（またはコードブロック＃２）の復号処理と並行してコードブロック＃１（またはコードブロック＃２）に対する硬値の誤り検出処理を行っているので、実施の形態１に比べて更に処理時間が削減できる。
【産業上の利用可能性】
【００６４】
本発明は、コードブロック間の境界にＣＲＣビットが位置しない場合やＣＲＣビットが存在しないコードブロックが含まれる場合に、適当な繰り返し回数の復号処理を行って所望の信号品質を確保しつつ処理時間を削減するターボ復号装置として好適である。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施の形態１に係るターボ復号装置の構成を示すブロック図
【図２】図１に示すターボ復号装置の動作を説明するフローチャート
【図３】（ａ）は、図５に示す従来のターボ復号装置にて得られる処理時間を説明する図、（ｂ）は、図１に示すターボ復号装置にて得られる処理時間削減効果を説明する図
【図４】本発明の実施の形態２に係るターボ復号装置の構成を示すブロック図
【図５】従来のターボ復号装置の構成例を示すブロック図
【図６】（ａ）は、ターボ復号装置に入力されるデータの構成例（その１）、（ｂ）は、ターボ復号装置に入力されるデータの構成例（その２）、（ｃ）は、ターボ復号装置に入力されるデータの構成例（その３）
【符号の説明】
【００６６】
１０１Ａ、１０１Ｂ  ターボ復号器
１０２Ａ、１０２Ｂ  硬判定器
１０３  メモリ
１０４、４０１  メモリ制御回路
１０５、４０２  誤り検出器
１０６  繰り返し制御回路
１０７、４０３  制御回路
４０４  セレクタ
【図１】
2005295192.tif 000003
【図２】
2005295192.tif 000004
【図３】
2005295192.tif 000005
【図４】
2005295192.tif 000006
【図５】
2005295192.tif 000007
【図６】
2005295192.tif 000008