(57)【特許請求の範囲】
【請求項１】
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号装置であって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号手段を含み、
前記復号手段は、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最初のサブコードブロックから最後のサブコードブロックまで順番に復号処理を行うスライディングターボ復号手段を有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のバックワード方向のパスメトリックを、このバックワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とするターボ復号装置。
【請求項２】
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号装置であって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号手段を含み、
前記復号手段は、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最後のサブコードブロックから最初のサブコードブロックまで逆の順番で復号処理を行うスライディングターボ復号手段を有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のフォワード方向のパスメトリックを、このフォワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とするターボ復号装置。
【請求項３】
前記復号手段は、
前記受信データの繰り返し復号をなす手段と、前記繰り返し復号の最後の復号時における前記外部情報を記憶する記憶手段とを有し、
前記記憶手段の記憶情報を前記再送時のパスメトリック算出のための初期値として使用することを特徴とする請求項１または２記載のターボ復号装置。
【請求項４】
前記復号手段は、
前記サブコードブロックの各々の繰り返し復号をなす手段と、前記繰り返し復号の最後の復号時における前記パスメトリックを記憶する記憶手段とを有し、
前記記憶手段の記憶情報を前記再送時のパスメトリック算出のための初期値として使用することを特徴とする請求項１〜３いずれか記載のターボ復号装置。
【請求項５】
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号方法であって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号ステップを含み、
前記復号ステップは、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最初のサブコードブロックから最後のサブコードブロックまで順番に復号処理を行うスライディングターボ復号ステップを有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のバックワード方向のパスメトリックを、このバックワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とするターボ復号方法。
【請求項６】
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号方法であって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号ステップを含み、
前記復号ステップは、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最後のサブコードブロックから最初のサブコードブロックまで逆の順番で復号処理を行うスライディングターボ復号ステップを有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のフォワード方向のパスメトリックを、このフォワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とするターボ復号方法。
【請求項７】
前記復号ステップは、
前記受信データの繰り返し復号をなすステップと、前記繰り返し復号の最後の復号時における前記外部情報を記憶手段に記憶するステップとを含み、
前記記憶手段の記憶情報を前記再送時のパスメトリック算出のための初期値として使用することを特徴とする請求項５または６記載のターボ復号方法。
【請求項８】
前記復号ステップは、
前記サブコードブロックの各々の繰り返し復号をなすステップと、前記繰り返し復号の最後の復号時における前記パスメトリックを記憶手段に記憶するステップとを有し、
前記記憶手段の記憶情報を前記再送時のパスメトリック算出のための初期値として使用することを特徴とする請求項５〜７いずれか記載のターボ復号方法。
【請求項９】
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号方法をコンピュータにより実行させるためのプログラムであって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号処理を含み、
前記復号処理は、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最初のサブコードブロックから最後のサブコードブロックまで順番に復号処理を行うスライディングターボ復号処理を有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のバックワード方向のパスメトリックを、このバックワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とするプログラム。
【請求項１０】
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号方法をコンピュータにより実行させるためのプログラムであって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号処理を含み、
前記復号処理は、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最後のサブコードブロックから最初のサブコードブロックまで逆の順番で復号処理を行うスライディングターボ復号処理を有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のフォワード方向のパスメトリックを、このフォワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はターボ復号装置及びその方法並びにプログラムに関し、特に通信システムや情報処理システムの分野において使用される高性能及び高信頼性のターボ符号を復号化するターボ復号方式の改良に関するものである。
【背景技術】
【０００２】
信頼度が低い時間的に変化する回線状態を有する通信システムにおいて良く利用される技術として、パケット再送制御を用いた自動再送要求（ＡＲＱ：Automatic Repeat Request）方式と誤り訂正復号（ＦＥＣ：Forward Error Correction）方式とを組み合わせたハイブリッドＡＲＱ（ＨＡＲＱ）と称される技術がある（特許文献１参照）。
【０００３】
このＨＡＲＱ技術における再送のための機能ブロック図を図５に示している。図５において、周知の巡回冗長検査（ＣＲＣ：Cyclic Redundancy Check ）符号を用いてＣＲＣチェック部３４においてパケット内に誤りが検出されると、通信システムの受信機での誤りを含むパケットを正しく復号する確率を向上させるために、当該パケットの再送要求を、送信機に対して行う。この再送要求に応答して、送信機からパケットが再送されることになる。
【０００４】
受信機において、この再送パケットは復調器３１により復調され、ＨＡＲＱ合成器３２より、この再送パケットの内容と再送前の受信パケットの内容とが合成される。そして、ＨＡＲＱ合成器３２の出力が誤り訂正復号器３３において、誤り訂正復号処理が行われることになる。このように、ＨＡＲＱ方式では、前回の受信情報を廃棄せずに、ＨＡＲＱ合成器３２において再利用することにより、受信機の誤り訂正能力を向上させるようにしたものである。
【０００５】
上記の誤り訂正復号器３３のために使用される符号化方式として、ターボ符号による方式があり、これは、C.Berrouらによりシャノン限界に近い誤り訂正符号として提案されたもので、移動体通信システム、情報記録システム、ディジタル放送システム等を含む広範囲の通信分野や情報処理分野において用いられる高性能、高信頼性の符号化方式である。
【０００６】
ここで、まず、一般的なターボ符号器とターボ復号器について説明する。図６及び図７は公知のターボ符号器及びターボ復号器の構成を示すブロック図である。図６は符号化率＝１／３のターボ符号器の概略ブロック図を示しており、要素符号器Ｅ11及びＥ22と、インタリーバＥ21とを備えている。被符号化ビット（Information Bit to be encoded ）系列Ｅ01は分岐されて組織ビット（Systematic bit）系列Ｅ02として送出されると共に、要素符号器Ｅ11とインタリーバＥ21とに入力される。
【０００７】
要素符号器Ｅ11は、誤り訂正符号により被符号化ビット系列Ｅ01を符号化して、冗長ビット系列（Parity Bit）Ｅ12を出力する。インタリーバＥ21は、一般的に被符号化ビット系列Ｅ01を一度メモリに書き込み、これを異なる順序で読み出すことにより、データの順序を交錯して要素符号器Ｅ22に送出する。要素符号器Ｅ22は、インタリーブされた被符号化ビット系列を要素符号により符号化して冗長ビット系列Ｅ23を送出する。要素符号器Ｅ11，Ｅ22には、再帰的組織畳み込み符号器（ＲＳＣ:Recursive Systematic Convolutional Encoder ）が通常用いられる。
【０００８】
図７に示すターボ復号器は、要素復号器（Decoder ）Ｄ04，Ｄ16と、インタリーバＤ12と、デインタリーバＤ23と、硬判定出力ブロックＤ25とを備える。要素復号器Ｄ04には、組織ビット系列Ｅ02に対応する組織情報系列（Systematic Information）Ｄ01と、冗長ビット系列Ｅ12に対応する冗長情報系列（Parity Information）Ｄ02、及び外部情報（Extrinsic Information ）Ｄ03が入力される。そして、出力された外部情報Ｄ11は次の要素復号器Ｄ16に利用される。
【０００９】
更に、得られた外部情報Ｄ11と組織情報系列Ｄ01は、インタリーバＤ12を介して、冗長ビット系列Ｅ23に対応する冗長情報系列（Parity Information）Ｄ14と共に、要素復号器Ｄ16に入力される。そして、要素復号器Ｄ16にて得られた軟出力情報（Soft Output Information ）Ｄ21と外部情報Ｄ22とはデインタリーバＤ23に送出される。
【００１０】
デインタリーバＤ23は、インタリーバＤ12によるデータの入れ替え順番とは逆の順番に出力する。すなわち、インタリーブされた軟出力情報Ｄ21及び外部情報Ｄ22の各々をインタリーブ前の順序に戻し、軟出力情報Ｄ24及び外部情報Ｄ03として出力する。さらに、硬判定＆出力ブロックＤ25は、軟出力情報Ｄ24を硬判定して最終復号結果を出力する。外部情報Ｄ03は、次の復号処理のために、要素復号器Ｄ04にフィードバックされる。
【００１１】
以上のように、図７に示すターボ復号器では、二つの要素復号器の外部情報Ｄ03及びＤ15を更新しながら復号処理が繰り返し行なわれ、複数回のループの後、軟出力情報Ｄ24が硬判定される。
【００１２】
ターボ復号の要素復号器に適用される軟出力復号アルゴリズムとしては、最大事後確率復号法（以下、Maximum A Posteriori Probability：ＭＡＰと呼ぶ）を用いる方法が現在のところ最良であると言われているが、装置規模や処理量が格段に大きくなるので、実装に際しては送られてきたデータが‘１’か‘０’かを尤度の最大値に基づいて決定することで、処理を簡略化したMax-Log-MAP （Max Logarithmic Maximum A Posteriori）を使用した方式が一般的に広く用いられている。
【００１３】
ＭＡＰアルゴリズムは、トレリス線図を利用した最尤復号法アルゴリズムである。図８（ａ）はある要素符号器の構成の例であり、レジスタの数が３の場合を示している。トレリス線図とは、図８（ｂ）に示すように、この要素符号器に対して、ある値を入力した時の出力値と、レジスタ状態の関係を表したものである。
【００１４】
ＭＡＰアルゴリズムは大きく分けて次の３種類の処理から構成される。
（ａ）フォワード処理：トレリス線図の先頭から各時点の各状態へ到達する確率（フォワードパスメトリック）を算出する。
（ｂ）バックワード処理：トレリス線図の終端から各時点の各状態へ到達する確率（バックワードパスメトリック）を算出する。
（ｃ）軟出力生成処理および外部値計算：（ａ），（ｂ）の処理結果を用いて各時点における組織ビットの軟出力値を算出する。そして、この軟出力値を用いて、外部値計算を行う。
【００１５】
トレリス線図において、時点ｔ、状態ｓにおけるフォワード処理及びバックワード処理の各々で算出されるフォワードパスメトリック及びバックワードパスメトリックをそれぞれＡｌｐｈａ（ｔ，ｓ），Ｂｅｔａ（ｔ，ｓ）と表す。また、状態ｓから状態ｓ’への時点ｔにおける遷移の確率をＧａｍｍａ（ｔ，ｓ，ｓ’）と表す（ここで、Ｇａｍｍａはブランチメトリックと呼ばれる）。Ｇａｍｍａ（ｔ，ｓ，ｓ’）は、受信値（組織情報系列、冗長情報系列、外部情報）から求める確率である。
【００１６】
上述したフォワード処理、バックワード処理、軟出力生成処理及び外部値計算の各々は、次のように実行される。
（ａ）フォワード処理：
Ａｌｐｈａ（ｔ，ｓ）＝Ｍａｘ｛Ａｌｐｈａ（ｔ−１，ｓ’）
＋Ｇａｍｍａ（ｔ，ｓ’，ｓ）｝
なお、ここで、最大値を求める処理Ｍａｘはすべての状態ｓ’についてとることを意味する。
【００１７】
図９（ａ）に示すように、時点ｔのある状態Ｓｔａｔｅ（Ｓ３）に対するＡｌｐｈａ（ｔ，Ｓ３）は、次のように計算される。２つの前段Ｓｔａｔｅの持つパスメトリックＡｌｐｈａ（ｔ−１，Ｓ１），Ａｌｐｈａ（ｔ−１，Ｓ２）の各々に、それぞれのブランチメトリックＧａｍｍａ（ｔ，Ｓ１，Ｓ３），Ｇａｍｍａ（ｔ，Ｓ２，Ｓ３）を加算し、値の大きいほうがそのＳｔａｔｅのＡｌｐｈａ値となる（Ａｌｐｈａ  ＡＣＳ（Add-Compare-Select）演算と呼ぶ）。この処理を、全時間遷移ｔの全Ｓｔａｔｅに対して行い、全ＳｔａｔｅのＡｌｐｈａ値を保持しておく。
【００１８】
なお、Ａｌｐｈａ算出の初回では、前段のＡｌｐｈａ値が存在しないので、初期値の設定が必要となる。ここで、必ずトレリス線図中のＳｔａｔｅ＃０から遷移が開始されるため、Ａｌｐｈａの初期値としては、Ｓｔａｔｅ＃０のＡｌｐｈａが０、それ以外のＳｔａｔｅは−ＭＡＸ値（最小値）と規定する。
【００１９】
（ｂ）バックワード処理：
Ｂｅｔａ（ｔ，ｓ）＝Ｍａｘ｛Ｂｅｔａ（ｔ＋１，ｓ’）
＋Ｇａｍｍａ（ｔ＋１，ｓ，ｓ’）｝
【００２０】
図９（ｂ）に示すように、時点ｔのあるＳｔａｔｅ（Ｓ４）に対するＢｅｔａ（ｔ，Ｓ４）は、次のように計算される。２つの後段Ｓｔａｔｅの持つパスメトリックＢｅｔａ（ｔ＋１，Ｓ５），Ｂｅｔａ（ｔ＋１，Ｓ６）に、それぞれのブランチメトリックＧａｍｍａ（ｔ＋１，Ｓ４，Ｓ５），Ｇａｍｍａ（ｔ＋１，Ｓ４，Ｓ６）を加算し、値の大きいほうがそのＳｔａｔｅのＢｅｔａ値となる（Ｂｅｔａ  ＡＣＳ演算と呼ぶ）。
【００２１】
この処理を、全時間遷移ｔの全Ｓｔａｔｅに対して、Ａｌｐｈａとは逆方向から（トレリス最終Ｓｔａｔｅ側から）Ｂｅｔａ算出処理を行う。なお、Ｂｅｔａ算出の初回では、後段のＢｅｔａ値が存在しないので、初期値の設定が必要となる。ここで、トレリス線図の最終端において、Ｂｅｔａの初期値としては、Ｓｔａｔｅ＃０のＢｅｔａが０、それ以外のＳｔａｔｅは−ＭＡＸ値（最小値）と規定する。
【００２２】
（ｃ）軟出力生成処理及び外部値計算：
すでに算出しておいたＡｌｐｈａ（ｔ−１，ｓ’）の値とＢｅｔａ（ｔ，ｓ）およびＧａｍｍａ（ｔ，ｓ’，ｓ）を加算して、時点ｔにおける全パスメトリック値を求める。そして、‘デコード結果が０となるパスの最大パスメトリック’と‘デコード結果が１となるパスの最大パスメトリック’の差分が、時点ｔの軟出力値となる。
【００２３】
図１０を例として説明すると、時点ｔ＝５のすべての（ｓ，ｓ’）の組合せに対して、Ａｌｐｈａ（４，ｓ’），Ｂｅｔａ（５，ｓ）及びＧａｍｍａ（５，ｓ’，ｓ）を加算する。そのうち、デコード結果が０となるパスの最大パスメトリックＬ０（ｔ）を求める。この例では、
Ｌ０（ｔ＝５）＝Ａｌｐｈａ（ｔ＝４，ｓｔａｔｅ＃７）
＋Ｂｅｔａ（ｔ＝５，ｓｔａｔｅ＃６）
＋Ｇａｍｍａ（ｔ＝５，ｓｔｓｔｅ＃７，ｓｔａｔｅ＃６）
となっている。
【００２４】
一方、デコード結果が１となるパスの最大パスメトリックＬ１（ｔ）も求める。この例では、
Ｌ１（ｔ＝５）＝Ａｌｐｈａ（ｔ＝４，ｓｔａｔｅ＃４）
＋Ｂｅｔａ（ｔ＝５，ｓｔａｔｅ＃０）
＋Ｇａｍｍａ（ｔ＝５，ｓｔｓｔｅ＃４，ｓｔａｔｅ＃０）
となっている。そして、ｔ＝５の軟出力値は、
Ｌ（ｔ＝５）＝Ｌ０（ｔ＝５）−Ｌ１（ｔ＝５）
と計算される。
【００２５】
また、Ｍａｘ−Ｌｏｇ−ＭＡＰアルゴリズムでは，上で求めた軟出力値（事後値）から通信路値（受信値から求める値）と事前値（前段の復号器から与えられる外部情報）を減算した値が外部情報となる。
【００２６】
以上のように、理想Ｍａｘ−Ｌｏｇ−ＭＡＰアルゴリズムでは、Ａｌｐｈａ，Ｂｅｔａの演算を一度に全復号対象データに対して行う。しかし、データ伝送ではデータ長の増大に伴って、Ｍａｘ−Ｌｏｇ−ＭＡＰ復号に膨大なメモリ領域が必要となる。特に、トレリス全体のパスメトリック情報を記憶するためのメモリ領域が必要となる。また、復号長の増加により、復号処理遅延も増えるため、実際のリアルタイムシステムに適用することが困難である。
【００２７】
そこで、スライディングウィンドウと呼ばれている方式が広く使用されている（非特許文献１参照）。この方法では、ウィンドウサイズ分のトレリス内の尤度情報のみ記憶しておき、このウィンドウ位置を復号長に達するまでシフトしていくことで、メモリの大幅な節約を図ることができる。
【００２８】
【特許文献１】特開２００４−２５３３５４号公報
【非特許文献１】A.J. Viterbi, “An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes,” IEEE J. Select. Areas Commun., Vol.16, pp.260-264, Feb. 1998.
【発明の開示】
【発明が解決しようとする課題】
【００２９】
スライディングウィンドウ方式ではない一般のターボ復号方式では、初回復号処理（１ｓｔ  ｉｔｅｒａｔｉｏｎ，Ｄｅｃｏｄｅｒ＃１）において、Ａｌｐｈａ，Ｂｅｔａを算出するためには、外部値の初期値の設定が必要であるが、通常は、これらの値は全て０とされる。但し、ＨＡＲＱ再送制御の場合には、ＨＡＲＱ再送前のターボ外部情報が一定の信頼度を有しているので、再利用できれば、より良い復号性能が得られることになる。また、復号結果が所定の条件を満たす場合には、繰り返し復号をその時点で中止させて硬判定を行い復号結果を出力するという、復号回数制御処理がある場合には、ターボ復号処理の収束は早いと考えられる。
【００３０】
一方、スライディングウィンドウターボ復号方式は、ウィンドウ順に処理するものであるから、初回復号処理において、ウィンドウ毎に分割されたサブウィンドウの各々のＢｅｔａの初期値が不安定であり、よって強制設定されることにより復号の収束が遅くなり、またウィンドウ分割によって、この分割節目点（サブウィンドウ毎の分割点）での復号誤りの集中が発生するという問題がある。従って、有効なスライディングウィンドウ復号を実現するために、復号処理の初期化の改良方法が課題となっており、上述したＨＡＲＱ方式におけるターボ復号においても同様である。
【００３１】
そこで、本発明は、ＨＡＲＱ再送時におけるターボ復号性能の向上を図り、かつターボ復号回数の減少化を図って電力消費の削減を可能としたターボ復号装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００３２】
本発明によるターボ復号装置は、
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号装置であって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号手段を含み、
前記復号手段は、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最初のサブコードブロックから最後のサブコードブロックまで順番に復号処理を行うスライディングターボ復号手段を有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のバックワード方向のパスメトリックを、このバックワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とする。
本発明による他のターボ復号装置は、
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号装置であって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号手段を含み、
前記復号手段は、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最後のサブコードブロックから最初のサブコードブロックまで逆の順番で復号処理を行うスライディングターボ復号手段を有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のフォワード方向のパスメトリックを、このフォワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とする。
【００３３】
本発明によるターボ復号方法は、
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号方法であって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号ステップを含み、
前記復号ステップは、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最初のサブコードブロックから最後のサブコードブロックまで順番に復号処理を行うスライディングターボ復号ステップを有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のバックワード方向のパスメトリックを、このバックワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とする。
本発明による他のターボ復号方法は、
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号方法であって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号ステップを含み、
前記復号ステップは、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最後のサブコードブロックから最初のサブコードブロックまで逆の順番で復号処理を行うスライディングターボ復号ステップを有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のフォワード方向のパスメトリックを、このフォワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とする。
【００３４】
本発明によるプログラムは、
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号方法をコンピュータにより実行させるためのプログラムであって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号処理を含み、
前記復号処理は、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最初のサブコードブロックから最後のサブコードブロックまで順番に復号処理を行うスライディングターボ復号処理を有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のバックワード方向のパスメトリックを、このバックワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とする。
本発明による他のプログラムは、
ターボ符号化された受信データの自動再送要求を送信側に対してなすようにした受信装置におけるターボ復号方法をコンピュータにより実行させるためのプログラムであって、
前記受信データの再送時に、再送前のターボ復号により得られた外部情報を、パスメトリック算出のための初期値として使用する復号処理を含み、
前記復号処理は、
前記受信データであるターボ符号化コードブロックを複数のサブコードブロックに分割して、最後のサブコードブロックから最初のサブコードブロックまで逆の順番で復号処理を行うスライディングターボ復号処理を有し、
前記再送前のターボ復号における前記サブコードブロックの各節目のフォワード方向のパスメトリックを、このフォワード方向のパスメトリック算出のための初期値として使用するようにしたことを特徴とする。
【発明の効果】
【００３５】
本発明によれば、ＨＡＲＱ再送時に、再送前のターボ外部情報（外部値）を廃棄せずに、初期情報（外部値初期値）として再利用することにより、復号性能の向上を可能とすると共に、反復復号の回数を減少することができ、よって消費電力の削減が可能となるという効果がある。
【発明を実施するための最良の形態】
【００３６】
以下に、図面を用いて本発明の実施の形態について説明する。図１は本発明の一実施の形態のブロック図であり、スライディングウィンドウターボ方式ではない、一般のターボ復号装置に、本発明を適用した場合のものである。
【００３７】
ここで、ターボ復号とは、繰り返し復号を意味するものであり、１回の復号処理には、図７に示したように２つの要素復号器Ｄ０４，Ｄ１６を用いた要素復号処理（Ｄｅｃｏｄｅｒ＃１，＃２）があり、要素復号器で得られた外部情報（Extrinsic Information ）はインタリーバＤ１２またはデインタリーバＤ２３を介して次の要素復号器に渡されるのであるが、実際には、これらを１つの処理回路で実現しており、図１はその回路ブロックを示すものである。
【００３８】
図１を参照すると、図５にて説明したＨＡＲＱ処理のためのＨＡＲＱ処理部１１の出力であるＨＡＲＱ処理後のデータは、ターボ入力ＲＡＭ１２に格納される。ターボ復号処理のときに、このＲＡＭ１２からのデータと、１つ前の要素復号器にて得られた外部情報とを用いて、Ａｌｐｈａ計算部１３、Ｂｅｔａ計算部１４において、Ａｌｐｈａ計算（フォワード処理）、Ｂｅｔａ計算（バックワード処理）がそれぞれ行われる。但し、ＨＡＲＱ再送の場合には、第１回ターボ復号（Ｄｅｃｏｄｅｒ＃１）が始まると、ＨＡＲＱ再送前に、メモリ１９に保存されていたターボ復号の最終回の外部情報が、外部値初期値としてＡｌｐｈａ計算部１３、Ｂｅｔａ計算部１４で用いられる。そのために、外部値計算部１７とメモリ１９との切り替えがスイッチ２０により行われるようになっている。
【００３９】
そして、得られたＡｌｐｈａ値、Ｂｅｔａ値を用いて、ＬＬＲ計算部１５において、ＬＬＲ（最大対数尤度比、すなわち軟出力値）計算が行われる。このＬＬＲ計算結果は外部値計算部１７へ入力されて、外部情報の計算が行われる。この計算結果である外部情報は、ＨＡＲＱ処理による再送時における外部値初期値として用いるために、メモリ１９へ格納され、またスイッチ２０及びインタリーバ／デインタリーバ２１を介して次の要素復号器の外部情報として用いられる。
【００４０】
更に、より復号効率を高めるために、復号回数制御部１８によって復号回数の制御が行われる。すなわち、軟出力値がある所定条件を満たす時点で、繰り返し復号を中止し、硬判定部１６にて硬判定を行うよう制御している。この硬判定結果が復号結果として出力されることになる。
【００４１】
図２は図１の実施の形態の動作を示すフローチャートである。図２を参照すると、先ず、ＨＡＲＱ処理部１１におけるＨＡＲＱ処理後のデータはターボ復号器へ入力される（ステップＳ１）が、このデータがＨＡＲＱによる再送データではない場合には（ステップＳ２でＮｏ）、第１回のターボ復号の要素復号器（図７のＤ０４に相当：Ｄｅｃｏｄｅｒ＃１）で用いられる外部値初期値は全て０とされる（ステップＳ３）。
【００４２】
データがＨＡＲＱ再送の場合には（ステップＳ２でＹｅｓ）、第１回のターボ復号の要素復号器（Ｄｅｃｏｄｅｒ＃１）で用いる外部値初期値は、メモリ１９に保存されているＨＡＲＱ再送前のターボ復号の最終外部情報とされる（ステップＳ４）。そして、Ａｌｐｈａ、Ｂｅｔａ計算が行われ（ステップＳ５）、ＬＬＲ（軟出値）が計算される（ステップＳ６）。
【００４３】
仮に、今の要素復号処理がＤｅｃｏｄｅｒ＃１の場合（ステップＳ７でＮｏ）、外部値計算が行われ（ステップＳ８）、この計算結果である外部値（外部情報）は、次段のＤｅｃｏｄｅｒ＃２の外部値初期値として使用されることになる。今の要素復号処理がＤｅｃｏｄｅｒ＃２の場合（ステップＳ７でＹｅｓ）、復号回数制御処理、すなわち軟出力が所定条件を満たすかどうか判定を行って（ステップＳ９）、満たさなければ（ステップＳ１０でＮｏ）、そのときの外部情報は、次回（ターボ繰り返し復号回数の次の回）の要素復号器１へ引渡される（ステップＳ８）。
【００４４】
軟出力が所定条件を満たせば（ステップＳ１０でＹｅｓ）、復号停止となり、得られた外部情報はメモリ１９に保存される（ステップＳ１１）。保存された外部情報は、更にＨＡＲＱ再送が必要な場合に外部値初期値として用いられることになる。最後に、得られた軟出力により硬判定が行われてターボ復号の最終結果が出力されるのである（ステップＳ１２）。
【００４５】
図３は本発明の他の実施の形態のブロック図であり、スライディングウィンドウターボ方式の復号装置に本発明を適用した場合のものである。図１と同等部分は同一符号により示している。スライディングウィンドウターボ復号においては、前述した如く、１つのターボコードブロックは、複数の等長（等サイズ）のサブウィンドウ（サブコードブロック）に分割され、１つのコードブロックは、順番にサブコードブロック毎（サブウィンドウ単位）に要素復号処理を受けるようになっている。
【００４６】
従って、図１と相違する点は、図１のＡｌｐｈａ計算部１３が、図３では、サブウィンドウのＡｌｐｈａ計算部１３ａとなり、図１のＢｅｔａ計算部１４が、図３では、サブウィンドウのＢｅｔａ計算部１４ａとなっている。また、サブウィンドウ計算部１４ａのＢｅｔａ計算結果を格納するメモリ２２と、このメモリ２２の出力をサブウィンドウのＢｅｔａ計算部１４ａへ初期値として供給するスイッチ２３とが追加されている。他の構成は、図１のそれと同等である。
【００４７】
図３において、ＨＡＲＱ処理後のデータは全てターボ入力ＲＡＭ１２に格納され、１つのサブウィンドウ単位で、Ａｌｐｈａ及びＢｅｔａがそれぞれ計算される。但し、コードブロックをサブコードブロックであるサブウィンドウに分割処理しているために、第１回ターボ復号（Ｄｅｃｏｄｅｒ＃１，＃２）のときに、中間の各々のサブウィンドウのＢｅｔａ初期値（各サブウィンドウの最後のＢｅｔａ値）は不定であるために、ＨＡＲＱ再送前に、要素復号レトリスの同等位置のＢｅｔａ値を、メモリ２２から読み出して、これら中間の各サブウィンドウのＢｅｔａ初期値として用いられる。
【００４８】
なお、外部値初期値、ＬＬＲ計算、復号回数制御、硬判定などの処理は図１の例と同じである。復号回数制御部１８において、復号終了と判断されると、全コードブロック外部情報及びコードブロック分割による各サブコードブロックの節目のＢｅｔａ値は、それぞれメモリ１９及び２２に格納され、更に再送が必要な場合に、ターボ復号の初期値として再利用される。
【００４９】
図４は図３に示した本発明の他の実施の形態の動作を説明するための図であり、ＨＡＲＱ再送の場合を含むスライディングウィンドウターボ復号処理の動作である。各サブウィンドウのＨＡＲＱ再送時には、第１回ターボ復号の要素復号１（Ｄｅｃｏｄｅｒ＃１）において、当該サブウィンドウに対するＨＡＲＱ再送前の外部情報及び節目的のＢｅｔａ情報が、それぞれメモリ１９，２２から読み出され、初期値として要素復号処理に使用される。
【００５０】
また、第１回ターボ復号の要素復号２（Ｄｅｃｏｄｅｒ＃２）において、当該サブウィンドウに対するＨＡＲＱ再送前のターボ節目点のＢｅｔａ情報がメモリ２２から読み出されて、サブウィンドウのＢｅｔａ初期値として用いられる。ターボ復号の繰り返し回数が２以上（２回復号以降）の場合（Ｎとする）には、サブウィンドウのＡｌｐｈａとＢｅｔａの初期値は、次のようになる。
【００５１】
（１）最初のサブウィンドウ＃１（図４の１〜Ｗ）について：
Ａｌｐｈａは、理想Ｍａｘ−Ｌｏｇ−ＭＡＰアルゴリズムの設定と同じであり、Ｂｅｔａは、前回（Ｎ−１）繰り返しターボ復号における次のサブウィンドウ（図４のＷ＋１〜２Ｗ）の先頭のＢｅｔａ値である。
【００５２】
（２）最初＃１と最後＃Ｘのサブウィンドウを除く中間サブウィンドウ＃ｉ（１＜ｉ＜Ｘ）について：
Ａｌｐｈａは、前回（Ｎ−１）繰り返しターボ復号における＃（ｉ−１）のサブウィンドウの最終Ａｌｐｈａ値であり、Ｂｅｔａは、前回（Ｎ−１）繰り返しターボ復号における＃（ｉ＋１）のサブウィンドウの先頭のＢｅｔａ値である。
【００５３】
（３）最後のサブウィンドウ＃Ｘについて：
Ａｌｐｈａは、前回（Ｎ−１）繰り返しターボ復号における＃（Ｘ−１）のサブウィンドウの最終Ａｌｐｈａ値であり、Ｂｅｔａは、理想Ｍａｘ−Ｌｏｇ−ＭＡＰアルゴリズムの設定と同じである。
【００５４】
また、第１回ターボ復号の要素復号１（Ｄｅｃｏｄｅｒ＃１）以外の外部値初期値は、Ｄｅｃｏｄｅｒ＃１と＃２との間でインタリーバ／デインタリーバを介して情報を引き渡すことにより設定される。
【００５５】
上記の図３，４に示した例では、スライディングウィンドウターボ復号において、サブウィンドウを＃１から＃Ｘまで、この順番に処理する例であるが、サブウィンドウを＃Ｘから＃１まで、この順番に（逆の順番に）行う場合もあり、その場合には、各サブウィンドウの節目（各サブウィンドウの最初）のＡｌｐｈａ初期値は、メモリ２２から再送前の節目のＡｌｐｈａ値を読み出すことが必要になり、図３，４において、ＡｌｐｈａとＢｅｔａとが全て逆になるものである。
【００５６】
上記の各実施の形態の動作は、その動作手順を予めプログラムとしてＲＯＭなどの記録媒体に記録しておき、これをコンピュータにより読み取らせて実行するよう構成できることは明らかである。
【００５７】
以上説明したように、本発明によれば、ＨＡＲＱ再送の場合、再送前のターボ外部情報を廃棄せず、初期情報として再利用でき、復号性能を上がることができる。また、ターボ復号の回数制御処理を利用する場合、反復復号の復号回数を減少でき、節電の効果もある。更に、コードブロックの分割によるスライディングウィンドウターボの第１回復号において、Ｂｅｔａの初期値が未定であるため、再送前のＢｅｔａ  Ｍｅｔｒｉｃ情報を用いて、復号性能の改善ができることになる。
【００５８】
ここで簡単に説明すると、Ｂｅｔａ値はコードブロックの最後から最初までの方向（バックワード方向）で計算されるために、コードブロック順番（最初のサブウィンドウから最後のサブウィンドウまで）で復号を行う時に、隣のサブウィンドウ（一つ後ろ）からＢｅｔａ値が引き渡されることができない。事前初期化処理を行わない場合、初回の復号処理にてその初期値をある固定値（例えば、０）と仮定するため、この初期値設定に基づいて、算出された尤度情報（ＬＬＲ）を理想的なＭａｘ−Ｌｏｇ−ＭＡＰアルゴリズムの結果と異なる。
【００５９】
つまり、尤度情報が不正確になるため、繰返し復号器の性能も悪くなる。本発明では、再送前の各サブウィンドウの節目のＢｅｔａ情報を初期値として再利用することにより、スライディングウィンドウターボ復号性能を改善できることになる。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施の形態を示すブロック図である。
【図２】図１の実施の形態の動作を示すフローチャートである。
【図３】本発明の他の実施の形態を示すブロック図である。
【図４】図３の実施の形態の動作を示すタイミングチャートである。
【図５】ＨＡＲＱによる再送制御の機能ブロック図である。
【図６】ターボ符号器の機能ブロック図である。
【図７】ターボ復号器の機能ブロック図である。
【図８】（ａ）は要素符号器の構成の例であり、レジスタの数が３の場合を示す図、（ｂ）はこの要素符号器に対してある値を入力した時の出力値とレジスタ状態の関係を表したトレリス線図である。
【図９】（ａ）はＡｌｐｈａのＡＣＳ演算例、（ｂ）はＢｅｔａのＡＣＳ演算例を示す図である。
【図１０】軟出力値の計算例を示す図である。
【符号の説明】
【００６１】
１１  ＨＡＲＱ処理部
１２  ターボ入力ＲＡＭ
１３  Ａｌｐｈａ計算部
１４  Ｂｅｔａ計算部
１５  ＬＬＲ計算部
１６  硬判定部
１７  外部値計算部
１８  復号回数制御部
１９，２２  メモリ
２０，２３  スイッチ
２１  インタリーバ／デインタリーバ
【図１】
0004591291.tif 000002
【図２】
0004591291.tif 000003
【図３】
0004591291.tif 000004
【図４】
0004591291.tif 000005
【図５】
0004591291.tif 000006
【図６】
0004591291.tif 000007
【図７】
0004591291.tif 000008
【図８】
0004591291.tif 000009
【図９】
0004591291.tif 000010
【図１０】
0004591291.tif 000011