Data decoding method

申请号 JP7472795 申请日 1995-03-08 公开(公告)号 JPH07273671A 公开(公告)日 1995-10-20
申请人 At & T Corp; エイ・ティ・アンド・ティ・コーポレーション; 发明人 HOONGUUDAA RIN;
摘要 PURPOSE: To actualize the decoding of a high-rate trellis code with good area efficiency. CONSTITUTION: Code states are assigned to respective process elements 135. Then the calculation of new path metrics in a process element is scheduled by using calculated path metrics and branch metrics which are different by encoded data, Further, access to the calculated path metrics from respective process elements 135 is scheduled so that some of the calculated path metrics are accessed in order. A survival sequence of the path metrics calculated according to the alcove-mentioned scheduling is used to evaluate data before encoding. Further, the path metrics are rearrayed after calculation so as to facilitate access in subsequent calculation. This method divides data points corresponding to the path metrics into several slots and replaces the data points so that data points occupying incorrect slot positions to other slot positions.
权利要求 【特許請求の範囲】
  • 【請求項1】 高レートトレリス符号を使用して符号化された符号シンボルのストリームを復号する方法において、 複数の処理要素を有する復号器を設けるステップと、 各処理要素が割り当てられた符号状態に対する新たなパスメトリックを計算するように、前記高レートトレリス符号の少なくとも1つの相異なる符号状態を各処理要素に割り当てるステップと、 現在の符号シンボルとともに変化するブランチメトリックを使用して、先行する符号シンボルに対して計算された計算済みパスメトリックの更新に基づいて各処理要素内で現在の符号シンボルに対して行われる新たなパスメトリックの計算をスケジューリングするステップと、 与えられた処理要素がセット内の各計算済みパスメトリックに順次アクセスするように処理要素に割り当てられた前記符号状態の先行符号状態に対する計算済みパスメトリックを含むセットのうちの1つへの各処理要素のアクセスをスケジューリングするステップと、 先行する符号シンボルに対して計算される新たなパスメトリックが現在の符号シンボルに対する新たなパスメトリックを計算する際に計算済みパスメトリックとして用いられるように、前記計算をスケジューリングするステップおよび前記アクセスをスケジューリングするステップにおいてそれぞれ決定された計算スケジュールおよびアクセススケジュールを使用して、前記復号器において各符号シンボルが受信されるごとに、各符号状態に対する新たなパスメトリックを計算するステップと、 前記パスメトリックの生き残りシーケンスを使用して、
    前記符号シンボルに対応する非符号化データシンボルを評価するステップとからなることを特徴とするデータ復号方法。
  • 【請求項2】 後のパスメトリック計算のためのアクセスのスケジューリングを容易にするために、新たなパスメトリックを再配列するステップをさらに有することを特徴とする請求項1の方法。
  • 【請求項3】 前記復号器は2 i個の処理要素を有し、
    前記割り当てるステップは、2進表示でiビットの共通セットを有する符号状態のグループを各処理要素に割り当てるステップを含むことを特徴とする請求項1の方法。
  • 【請求項4】 前記高レートトレリス符号がレートk/
    n畳込み符号であることを特徴とする請求項1の方法。
  • 【請求項5】 前記復号器は2 i個の処理要素を有し、
    前記計算をスケジューリングするステップおよび前記アクセスをスケジューリングするステップは、各処理要素が前記計算済みパスメトリックのセットに順次アクセスするために、2 i個の処理要素のそれぞれによるパスメトリックの計算およびパスメトリックへのアクセスをi
    個の復号器クロックサイクルだけずらすステップを含むことを特徴とする請求項1の方法。
  • 【請求項6】 前記計算をスケジューリングするステップは、前記符号状態の昇順に新たなパスメトリックの計算をスケジューリングするステップを含むことを特徴とする請求項1の方法。
  • 【請求項7】 前記再配列するステップは、 パスメトリックに対応するデータ点のセットを、各スロット内のスロット位置の数に対応するスロットサイズをそれぞれ有するいくつかのスロットに分割するステップと、 正しくないスロット位置を示すデータ点が別のスロット位置に移動するようにデータ点を置換するステップと、 異なるスロットサイズを使用して、データ点の所望の順列が得られるまで、前記分割するステップおよび前記置換するステップを反復するステップとをさらに有することを特徴とする請求項2の方法。
  • 【請求項8】 前記置換するステップは、あるスロット内の正しくないスロット位置を占めるデータ点を、別のスロット内の別のスロット位置へ直接移動するステップを含むことを特徴とする請求項7の方法。
  • 【請求項9】 前記置換するステップは、 正しくないスロット位置のデータ点を、2つのスロットを分ける境界付近の一時的スロット位置のデータ点と交換することによって、正しくないスロット位置を占めるデータ点を2つのスロットを分ける境界付近の一時的スロット位置に収集するステップと、 一方のスロット内の一時的スロット位置のデータ点を、
    他方のスロット内の別のスロット位置に移動するステップとを含むことを特徴とする請求項7の方法。
  • 【請求項10】 高レートトレリス符号を使用して符号化された符号シンボルのストリームを復号する装置において、 符号シンボルとともに変化するブランチメトリックを使用して計算済みパスメトリックを更新することによって、割り当てられた各符号状態に対して新たなパスメトリックを計算するように、少なくとも1つの符号状態がそれぞれ割り当てられた複数の処理要素と、 処理要素に割り当てられた前記符号状態の先行符号状態に対する計算済みパスメトリックを含むセットに各処理要素が順次アクセスするように、パスメトリックの計算およびアクセスのスケジュールに従って、各処理要素の出力を他の処理要素に分配する複数のパスメトリック分配ノードとからなることを特徴とするデータ復号装置。
  • 【請求項11】 前記複数の処理要素は2 i個の処理要素を含み、2進表示でiビットの共通セットを有する符号状態のグループが2 i個の処理要素のそれぞれに割り当てられることを特徴とする請求項10の装置。
  • 【請求項12】 前記符号がレートk/n畳込み符号であることを特徴とする請求項10の装置。
  • 【請求項13】 前記複数の処理要素は2 i個の処理要素を含み、その2 i個の処理要素のそれぞれによるパスメトリックの計算および計算済みパスメトリックへのアクセスをi個の復号器クロックサイクルだけずらすことにより、各処理要素の順次アクセスを可能にしたことを特徴とする請求項10の装置。
  • 【請求項14】 前記処理要素は、 計算済みパスメトリックを当該処理要素に順に提供する直列メトリック入力と、 計算済みパスメトリックのうちの1つを複数のブランチメトリックのうちの1つに加算する複数の加算器と、 当該処理要素内に一部計算パスメトリックを記憶する複数のラッチと、 前記加算器のうちの少なくとも1つの出力と前記ラッチのうちの1つの出力を比較し、一方の出力を新たなパスメトリックとして選択する複数の比較/選択ユニットとを有することを特徴とする請求項10の装置。
  • 【請求項15】 前記処理要素は、当該処理要素内で計算した新たなパスメトリックを再配列するためにいくつかのシフト交換ユニットを有するメトリック再配列手段をさらに有することを特徴とする請求項14の装置。
  • 【請求項16】 前記処理要素は、 計算済みパスメトリックを当該処理要素に順に提供する直列メトリック入力と、 計算済みパスメトリックのうちの1つを前記ブランチメトリックのうちの1つに加算する1個の加算器と、 複数の復号器クロックサイクルの間、一部計算パスメトリックを一時的に記憶する、直列に配置された複数のラッチと、 前記ラッチに記憶されている値を使用して前記複数の復号器クロックサイクルにわたって新たなパスメトリックが計算されるように、前記ラッチの直列配置内に配置された比較器および選択器とを有することを特徴とする請求項10の装置。
  • 【請求項17】 前記処理要素は、当該処理要素内で計算したパスメトリックを再配列するためにいくつかのシフト交換ユニットを有するメトリック再配列手段をさらに有することを特徴とする請求項16の装置。
  • 【請求項18】 データ点のセットを再配列する方法において、 前記データ点のセットを、各スロット内のスロット位置の数に対応するスロットサイズをそれぞれ有するいくつかのスロットに分割するステップと、 正しくないスロット位置を示す少なくとも1つのデータ点が別のスロット位置に移動するようにデータ点を置換するステップと、 異なるスロットサイズを使用して、データ点の所望の順列が得られるまで、前記分割するステップおよび前記置換するステップを反復するステップとからなることを特徴とするデータ点再配列方法。
  • 【請求項19】 前記置換するステップは、あるスロット内の正しくないスロット位置を占めるデータ点を、別のスロット内の別のスロット位置へ直接移動するステップを含むことを特徴とする請求項18の方法。
  • 【請求項20】 前記置換するステップは、 正しくないスロット位置のデータ点を、2つのスロットを分ける境界付近の一時的スロット位置のデータ点と交換することによって、正しくないスロット位置を占めるデータ点を2つのスロットを分ける境界付近の一時的スロット位置に収集するステップと、 一方のスロット内の一時的スロット位置のデータ点を、
    他方のスロット内の別のスロット位置に移動するステップとを含むことを特徴とする請求項18の方法。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】本発明は、符号化データの復号における改良に関し、特に、レートk/n畳込み符号などの高いレートのトレリス符号を用いて符号化されたデータの復号における改良に関する。

    【0002】

    【従来の技術】多くのデータ処理アプリケーションでは、トレリス符号などのデータ符号化技術を用いてデータストリームを符号化するのが好ましいことが多い。 例えば、ディジタル通信システムでは、変調データのトレリス符号化は、符号化したデータの適当なマッピングと組み合わせれば、伝送信号パワーまたは帯域幅を増大させずに、受信される信号の信号対雑音比を改善することができる。 (ジー.ウンガーベック(G. Ungerboeck)、
    「マルチレベル/位相信号によるチャネル符号化(Chann
    el Coding with Multilevel/Phase Signals)」、IEEE T
    ransactions on Information Theory、第IT−28巻第55〜67ページ(1982年1月)参照。 )データ符号化に帰することができる信号対雑音比の改善を符号化利得といい、これは帯域幅効率を増大させる。 上記のウンガーベックの論文によれば、レートn/(n+1)
    トレリス符号を2 n+1点信号セットにマッピングしたものは、符号化しない2 n点信号セットと比べて大幅な符号化利得を得ることができる。 与えられたアプリケーションで達成される符号化利得の量はいくつかの要因、例えば、符号レートおよび符号の状態数などに依存する。
    一般に、符号レートは、符号ビットの各シーケンスを生成するために使用される非符号化データビットの数の関数であり、符号の状態数は例えば符号器メモリ内の記憶要素の数の関数である。

    【0003】レートk/n畳込み符号は高レートトレリス符号の一種である。 レートk/n畳込み符号においては、k個の非符号化データビットからなるグループ(データシンボルともいう)が、n個の符号ビットを用いて符号化される。 これをまとめて符号シンボルという。 レートk/n符号器は、シフトレジスタとして作用する符号器メモリを含む。 トレリス符号は、状態遷移をトレリスの形に図式化することが可能な符号の一般的なクラスであるが、その状態遷移は必ずしもシフトレジスタのような特性を示す必要はない。 低レート符号としてはレート1/n畳込み符号がある。 これは、各1ビットデータシンボルがnビット符号シンボルを使用して符号化される。 高レートおよび低レートのいずれの符号の場合も、
    符号化されたデータは、周知のビタビ最尤アルゴリズムを実装したハードウェアを使用して復号されることが多い。 このアルゴリズムは、例えば、ジー. ディ. フォーニー、ジュニア(GD Forney, Jr.)、「ビタビアルゴリズム(The Viterbi Algorithm)」、Proceedings of th
    e IEEE、第268〜278ページ(1973年3月)に記載されている。 ビタビアルゴリズムは、有限状態マルコフ過程の状態シーケンスを評価する問題の再帰的解法である。 畳込み符号を使用してデータを符号化する過程のようなマルコフ過程では、時刻t+1に与えられた状態x t+1にある確率は、時刻tにおける状態x t (先行状態ということにする)のみに依存する。 ビタビアルゴリズムは、与えられた符号化データのセットに対して、可能な状態遷移のトレリスを通る最尤パスを見つけるという意味で、最適な復号を行う。

    【0004】与えられた処理速度でビタビ復号アルゴリズムを実装するのに要する回路面積を最小にすることを企図した、いくつかの面積効率の良い復号器設計が、低レート符号に対して開発されている。 (例えば、ピー.
    ジー. グラク(PG Gulak)、ティ. カイラス(T. Kaila
    th)、「ビタビアルゴリズムのための局所連結VLSI
    アーキテクチャ(Locally Connected VLSI Architecture
    for the Viterbi Algorithm)」、IEEE Journal on Sel
    ected Areas in Communications、第6巻第3号第52
    7〜537ページ(1988年4月)、および、エイチ−ディ. リン(HD. Lin)他、「畳込み符号に対する折返しビタビ復号器(Folded Viterbi Decoders for Convolu
    tional Codes)」、IEEE VLSI Signal Processing、第I
    V巻、IEEE Press(1990年)参照。 )しかし、高レート符号は一般に、例えばビタビアルゴリズムを用いて最大の符号化利得を与えるためにはずっと複雑なハードウェアのセットを必要とする。 その結果、レートk/n
    畳込み符号などの高レートトレリス符号に対して現在利用可能な復号器は一般に、復号器の複雑さおよびコストを縮小するために、次善の復号を利用している。 次善の復号アルゴリズムの例は、例えば、アール. イー. ブラフット(RE Blahut)、「誤り制御符号の理論と実際(T
    heory and Practice of Error Control Codes)」、Addi
    son-Wesley,Reading、米国マサチューセッツ州(198
    4年)の第382〜388ページに記載されている。 残念ながら、次善の復号アルゴリズムを使用することにより復号器ハードウェアの複雑さを縮小することは通常、
    符号化利得を犠牲にしてしまう。

    【0005】過度にハードウェアが複雑になる1つの理由として、最適高レートビタビ復号器は一般に、先行状態の可能なシーケンスの尤度を測るパスメトリックを並列にアクセスし更新する処理要素を利用することがある。 その後、更新したパスメトリックを比較して、与えられた符号化データのセットに対応する最尤状態シーケンスを選択する。 一般に、レートk/n復号器における各処理要素は2 k個の並列メトリック入を必要とする。 さらに、復号器処理要素の総数は一般に、所望される符号化利得の関数として増大するため、高レート符号の復号器は非常に多数の処理要素を含むことが多い。 その結果、レートk/n復号器は一般に、レート1/n復号器よりも、多くの相互接続を含み、ずっと大きい回路面積を占めることになる。 しかし、低レート符号に対して開発されている面積効率の良い技術は、一般に、多数の並列入力処理要素の使用に伴って増大する回路面積の問題を軽減しない。 従って、現状では、費用効率の良い方法で高レート符号の利点を達成するのは困難である。

    【0006】

    【発明が解決しようとする課題】上記のことから明らかなように、高レートトレリス符号に対して、面積効率を改良した復号器が必要とされている。 この改良した復号器は、次善の復号アルゴリズムに頼らずに、ハードウェアの複雑さを縮小すべきである。

    【0007】

    【課題を解決するための手段】本発明は、レートk/n
    畳込み符号のような高レートトレリス符号を使用して符号化されたデータを復号する方法および装置を実現するものである。 本発明の第1の特徴によれば、符号化されたデータのストリームを復号する方法は、複数の復号器処理要素のそれぞれに符号状態を割り当てるステップと、符号化されたデータごとに異なる計算済みのパスメトリックおよびブランチメトリックを使用して処理要素内での複数の新たなパスメトリックの計算をスケジューリングするステップと、新たなパスメトリックを計算するために、計算済みパスメトリックの適当なセット内の各計算済みパスメトリックが、与えられた処理要素によって順次アクセスされるように、各処理要素から計算済みパスメトリックの当該適当なセットへのアクセスをスケジューリングするステップと、以上のスケジューリングステップに従って計算したパスメトリックの生き残りシーケンスを使用して符号化前のデータを評価するステップとからなる。 本発明は特に、ビタビ最尤復号アルゴリズムとともに用いるのに適しているが、他の復号アルゴリズムとともに使用することも可能である。

    【0008】本発明の第2の特徴によれば、2 i個の処理要素のそれぞれに符号状態を割り当てる方法は、符号状態のグループを、その2進表示におけるi個のビットの共通セットに基づいて分割し、各処理要素に、iビットの共通セットを有する符号状態の分割されたグループを割り当てることによって行われる。 本発明の一実施例では、iビットのセットは、符号状態の2進表示のi個の上位ビットのセットを表す。

    【0009】本発明の第3の特徴によれば、パスメトリック計算およびアクセススケジュールは、各処理要素が計算済みパスメトリックの適当なセットに順次アクセスをするために、2 i個の処理要素のそれぞれによるメトリックの計算およびメトリックへのアクセスを、i個の復号器クロックサイクルだけずらす。

    【0010】本発明の第4の特徴によれば、パスメトリックは、後の計算におけるアクセスを容易にするために、計算後に再配列される。 実施例のメトリック再配列方法は、パスメトリックに対応するデータ点をいくつかのスロットに分割するステップ(各スロット内のスロット位置の数をスロットサイズという)と、正しくないスロット位置を占めるデータ点を別のスロット位置に移動するようにデータ点を置換するステップと、データ点をいくつかのスロットに分割するステップと、置換するステップとを、所望のデータ点の配列が得られるまで繰り返すステップとからなる。 この方法の一実施例では、あるスロット内の正しくない位置のデータ点は、他のスロット内の別々の位置に直接移動される。 別の実施例では、データ点はまずあるスロット内のスロット境界付近に収集された後、他のスロット内の別々の位置へ境界を横切って移動される。

    【0011】本発明の特徴的な効果として、高レートトレリス符号の最尤復号が実現される。 従って、与えられた符号化方式によって、大幅に符号化利得が改善され、
    その結果、多くの高レート復号器で現在利用されている次善の復号に比べて帯域幅効率が改善される。

    【0012】本発明のもう1つの特徴的な効果として、
    復号器の複雑さが大幅に縮小され、その結果、復号器を実装するのに必要な回路面積が大幅に減少する。 従って、本発明は、実用的かつ費用効率の良い方法で、高レート符号による帯域幅効率の利点を達成することができる。

    【0013】

    【実施例】本発明は、例えばレートk/n畳込み符号のような高いレートのトレリス符号を用いて符号化されたデータを復号する方法および装置を提供する。 ここで、
    「トレリス符号」という用語は、トレリス線図の形でモデル化されるような状態遷移を有する任意の種類の符号を指す。 畳込み符号はトレリス符号の一種である。 「高レート(高いレート)」という用語は、レート1/nより大きい符号レートを指す。 「面積効率の良い復号器」
    という用語は、与えられた処理速度において、従来の復号器と比べて、占有する回路面積が小さい復号器の実装を指す。 以下の説明では、2進ストリングを表すのに括弧の対を使用する。 例えば、符号状態「7」は(001
    11)と書き、処理要素「2」を処理要素(10)と書く。 同様に、(abc)という形の表現では、変数a、
    bおよびcが2進値のみをとることを意味する。

    【0014】以下の説明は主にレートk/n畳込み符号のビタビ復号について行うが、これは単に例示のためであることは理解されるべきである。 本発明は、他の多くの高レートトレリス符号に容易に適用可能である。 ここで開示するデータ再配列技術は、例えば交錯符号のような非トレリス符号にも適用可能である。 さらに、本発明は、いくつもの異なる復号アルゴリズムのうちの任意のものを利用可能である。 さらに、本発明は、例えば、マルチレベル/位相信号の符号化変調の復号、シンボル間干渉のある通信チャネルでの最尤信号シーケンス評価、
    磁気記憶装置に対するディジタルシーケンス検出、光学的に走査した文字またはパターンの検出、および音声認識などを含む、多くの異なる復号アプリケーションにも効果がある。

    【0015】図1の(a)に、k個の非符号化データビットの各グループ(すなわちデータシンボル)がnビットの符号シンボルによって表現されるようにデータのストリームを符号化するのに適した、レートk/n畳込み符号器10の例を示す。 一実施例では、符号器10は、
    2個の非符号化データ入力b0、b1、記憶要素12、
    14、16、符号化ロジック18、ならびに3個の符号化データ出力c0、c1、およびc2を有する。 例示した符号器10は、2個の非符号化入力ビットの各グループに対して、3個の符号化出力ビット(まとめて符号シンボルという)を生成するので、レート2/3符号器という。 記憶要素12、14、16はまとめて符号器メモリという。 各記憶要素は一般に2進情報を1ビット記憶し、例えば、D型フリップフロップである。 符号器メモリの内容は、以下で詳細に説明するように、符号器の状態を決定する。

    【0016】符号器10の各記憶要素12、14、16
    を通る非符号化データをクロックするために、共通の符号器クロック信号を使用する。 符号器クロック信号周期は、符号器シンボルレートの逆数であり、符号器状態は、符号器クロック信号の各サイクル中に2個の新しい入力b0、b1を使用して更新される。 符号化出力c
    0、c1およびc2は、記憶要素12、14、16からクロック出力されたデータの論理関数であり、従って、
    符号化状態を反映する。 符号化ロジック18内で実行される論理関数のタイプは一般に符号器ごとに異なる。 符号器10の記憶要素12、14、16は、ともに、2 k
    を基数とするシフトレジスタとして作用し、任意の与えられた時刻に2 k個の非符号化データビットを含む。 これに対して、レート1/n符号器の符号器記憶要素は2
    進シフトレジスタとして作用する。 上記のように、このシフトレジスタのような挙動は、より一般的なクラスのトレリス符号から畳込み符号を区別するものである。

    【0017】図1の(a)の実線で示された記憶要素1
    2、14、16は、8状態レート2/3符号器を実装するために必要な要素に対応する。 8個の状態は、(m 2
    1 0 )の形のすべての可能なシーケンスによって2進形式で表現される。 ただし、m 0 、m 1 、およびm 2はそれぞれ記憶要素12、14および16の2進値の内容である。 一般に、符号器状態の数は2 jである。 ただし、
    jは符号器メモリ内の記憶要素の数に対応する。 符号器10では実線の3個の記憶要素12、14、16があるため、符号器10の実線バージョンは8個の可能な符号状態を有する。 さらに、符号器10の破線で示された記憶要素20、22を含めることによって、記憶要素の総数jは5になり、その場合、符号器10は32状態レート2/3符号器として作用する。 32個の状態は、(m
    43210 )の形のすべての可能な2進シーケンスによって表現される。 ただし、m 3およびm 4はそれぞれ追加した記憶要素20および22の内容である。

    【0018】図1の(b)に、図1の(a)の符号器1
    0の8状態3記憶要素バージョンに対応するトレリス線図30を示す。 一般に、トレリス線図は、有限状態機械における可能な状態遷移を時間の関数として重みつきグラフ表示したものである。 トレリス30は、ブランチ3
    6によって相互接続された複数のノード32、34を含む。 トレリスノード32、34は、符号化過程中の特定の時刻における可能な符号状態に対応し、ブランチ36
    は符号状態間の可能な遷移を示す。 第1列のノード32
    は、8状態符号化過程に対する8個の可能な初期状態を表し、状態の2進表現に従って0〜7とラベルされている。 符号化過程は、離散時間周期(ステージという)に分割される。 初期ステージは図1の(b)ではステージ0とラベルされている。 過程の各ステージは1符号化クロックサイクルに対応し、そのサイクル中に新しいデータ入力b0、b1を受信し、新しい符号化データ出力c
    0、c1、c2を生成する。 受信したデータ入力に基づいて、符号器状態は、トレリス線図30のステージ1でノード34によって表される次のステージのいくつかのノードのうちの1つに遷移する。 例えば、記憶要素1
    2、14、16がそれぞれ最初は2進値0を含む場合、
    符号器10は最初は状態(000)にある。 次の符号化クロックサイクルで受信する入力データビットb0、b
    1が(11)である場合、記憶要素12、14、16の内容はそれぞれ1、1および0となり、符号器は状態(011)に移る。 入力ビットb0、b1には4個の可能な組合せがあるため、符号化過程がステージ0の状態(000)から遷移することができるステージ1の状態には、4個の可能な状態(000)、(001)、(0
    10)および(011)がある。 各ブランチ36は、ステージ0の状態(000)からの可能な遷移のうちの1
    つを表す。 同様のブランチは、符号化過程におけるその他のすべての可能な状態遷移を示す。 理解されるように、ステージ0の状態(000)からは4個のブランチが出ており、これは、受信データに依存して、この過程がこの状態からステージ1の状態(000)、(00
    1)、(010)または(011)のうちの1つに遷移することが可能であることを示している。

    【0019】トレリス線図30は静的タイプのものであり、後のステージも時間の関数として同じものが反復するため、過程を完全に図示するには最初の2個のステージのみを示せばよい。 これは、トレリス線図30が、与えられた時刻t+1における状態が前の時刻tにおける過程の状態にのみ依存するというマルコフ過程畳込み符号化をモデル化しているという事実によるものである。
    トレリス内の状態の総数は、入力データシーケンスの長さに対応するが、これは多くのアプリケーションでは無限である。 注意すべき点であるが、トレリス線図は動的タイプのものも可能である。 この場合のトレリス符号では、異なるステージは異なるセットの可能な状態遷移を有する。 一般に、静的トレリスは、各ステージに2 j個のノードを含み、各ノードはマルコフ過程の2 j個の可能な各状態に対応する。 ただし、jは符号器メモリ内の記憶要素の数である。 レートk/n符号に対するトレリスは、各ノードからの2 k個のブランチを有する。 これは、対応する状態からの可能な遷移を示す。 これに対して、レート1/n符号は、各ノードからのブランチが2
    個だけのトレリスを有する。 従って理解されるように、
    トレリスの複雑さは、符号状態の数および符号レートの関数である。 トレリスが複雑になると、対応する復号プロセスを実装する回路のハードウェアの複雑さが増大することになる。

    【0020】符号器10からの符号化されたデータは、
    多くのアプリケーションのうちの任意のものにおいて使用可能である。 通常のアプリケーションはディジタルデータ伝送である。 この場合、符号化データは例えば、高周波キャリア信号を変調するために使用される。 受信機では、受信したキャリア信号を復調した後、復元した符号化データを復号する。

    【0021】符号化したデータは、復号アルゴリズムを使用して復号される。 上記のビタビアルゴリズムは、特に、通信チャネルを通じて伝送される符号化データに一般的に生じるような、記憶のない雑音の存在下での復号に適した最尤復号アルゴリズムである。 ビタビアルゴリズムは、最初は、畳込み符号化されたデータを検出する技術として開発されたものであるが、その後に、より一般的に、重みつきグラフを通る最短パスを見つける問題に対する動的計画法の解を表すことが示されている。 ビタビアルゴリズムは、符号器のトレリス線図を使用して、対応する符号化動作を再構成することによって、符号シンボルのストリームを復号する。 ステージt+1で受信した符号シンボルを現符号シンボルといい、ステージtで受信した符号シンボルを前符号シンボルということにする。 尤度の測度(パスメトリックという)は、トレリスにおける与えられたステージにおいてノードごとに計算される。 ステージt+1のノードのパスメトリックは、まず、ある重みつき値(ブランチメトリックという)を、ステージt内のすべての可能な先行状態に対する各計算済みパスメトリックに加算することによって、
    再帰的に計算される。 この操作を、与えられたノードに対してパスメトリックを更新するということが多い。 ブランチメトリックは、対応する状態遷移が起きた尤度を示し、従って、与えられたステージで受信された符号シンボルに依存して異なる。 例えば、非符号化データシンボル(b1 b0)が(11)であることに対応する符号シンボル(c2 c1 c0)を、図1の(b)のトレリス30のステージ1における状態(000)で受信したと仮定する。 トレリス30によれば、先行状態は(000)、(010)、(100)または(110)
    のいずれかである。 これらの4個の可能な遷移のそれぞれに対するブランチメトリックは一般に、現状態および現符号シンボルが与えられた場合に、先行状態のうちの1つが他の状態より尤度が高くなるように変化する。 各符号状態および可能な各符号シンボルごとに異なるブランチメトリックのセットがある。 これらのブランチメトリックの値は、事前に計算して例えばブランチメトリックテーブルに記憶しておくことが可能である(詳細は後述)。

    【0022】与えられたトレリス符号に対して、ステージtの可能な各先行状態に対する計算済みパスメトリックからなる適当なパスメトリックのセットにブランチメトリックを加算した後、各入力ブランチに対するその結果の和を比較する。 最小の和は、ステージt+1における与えられたノードへの最も尤度の高い遷移に対応する。 この和が、そのノードに対する新たなパスメトリックとして選択される。 このように、受信した符号語ごとに新たなパスメトリックを計算する過程は一般に、計算済みパスメトリックのセットにブランチメトリックを加算し、更新したパスメトリックを比較し、最尤状態遷移に対応する更新パスメトリックを新たなパスメトリックとして選択することを含む。 このパスメトリック計算は一般に復号器処理要素で実行される。

    【0023】与えられたノードにおいて計算された新たなパスメトリックを生じる、トレリスを通る最尤状態遷移に対応する符号化データシンボルのシーケンスを、生き残りシーケンスという。 生き残りシーケンスは、与えられた符号シンボルのシーケンスに対してトレリスを通る最尤パスをたどるので、受信符号シンボルに対応する非符号化データシンボルのシーケンスを評価するために使用することができる。 トレリスの与えられたステージにおけるノードごとに、新たなパスメトリックとそれに対応する生き残りシーケンスの両方を計算し記憶する。
    現符号シンボルに対して計算した新たなパスメトリックは、そのシーケンス中の次の符号シンボルに対する新たなパスメトリックを計算する際に計算済みパスメトリックつぃてしようするまで一時的に記憶するだけでよい。
    生き残りシーケンスを記憶するためのメモリは、いくつかの既知の技術のうちの任意のものを用いて実装可能である。 そのような技術のうちの1つに、メモリトレースバックがあり、例えば、アール. サイファ(R. Cyphe
    r)、シー. ビー. シュン(CB Shung)、「ビタビアルゴリズムにおける生き残りメモリ管理のための一般化されたトレースバック技術(Generalized Trace Back Tech
    niques for Survivor Memory Management in the Viter
    bi Algorithm)」、Proceedings of GlobeCom(1990
    年12月)IEEEPress、第1318〜1322ページ、
    および、オー. コリンズ(O. Collins)、エフ. ポララ
    (F. Pollara)、「トレースバックビタビ復号器におけるメモリ管理(Memory Management in Traceback Viterbi
    Decoders)」、TDA Progress Report42-99, Jet Propuls
    ion Laboratory、第98〜104ページ(1989年1
    1月15日)、に記載されている。

    【0024】ビタビアルゴリズムがステージからステージへと進行し、受信符号シンボルに対してパスメトリックを計算していくにつれて、前のステージのノードに対する生き残りシーケンスは最尤パスに収束していく。 生き残りシーケンスは、復号過程が進行するとともに無限に長くのびることになるため、シーケンスは、最も前に評価したデータシンボルを取り出して復号器出力として使用するために、定期的に打ち切られる。 アルゴリズムは、ステージt+1の各ノードに対する新たなパスメトリックが、そのノードの可能な各先行状態に対する計算済みパスメトリックと、受信符号化データシンボルに対応するブランチメトリックのセットとに基づいて計算され記憶されるという意味で、再帰的に動作する。 アルゴリズムは、例えば、図1の(b)のトレリスのステージ0のノード32のような、トレリスの初期ステージの各ノードに対してパスメトリック値を0と仮定することによって初期化される。 ビタビアルゴリズムに関してさらに詳細には、例えば、ジー. ディ. フォーニーの前掲論文、および、ピー. ジー. グラク(PG Gulak)、イー. シュウェディク(E. Shwedyk)、「ビタビ受信機のV
    LSI構造:第1部−総論と応用(VLSI Structures for
    Viterbi Receivers: Part I - General Theory and Ap
    plications)」、第SAC−4巻第1号第142〜15
    4ページ(1986年1月)、に記載されている。

    【0025】上記のビタビ復号アルゴリズムを実装するために使用するハードウェアの複雑さは、符号状態の数および符号状態間の可能な遷移の数の関数である。 例えば、レートk/nビタビ復号器における代表的な復号器処理要素は、与えられたトレリスノードとその2 k個の可能な先行ノードとの間の最尤パスを決定するために2
    k個の異なるパスメトリックにアクセスし、それらを更新し、比較し、それらからの選択を行わなければならない。 各パスメトリックのアクセス、更新および比較に1
    単位のコストを仮定すると、レートk/n符号の場合の各復号器処理要素は、レート1/n符号の場合の対応する処理要素よりも約0.6×2 k倍高価になる。 全体の復号器のコストおよび複雑さを比較するためには、各処理要素の追加コストを、復号器内の処理要素の総数倍しなければならない。 処理要素の数は一般に符号状態の数、従って、所望される符号化利得の関数であるため、
    復号器のコストおよび複雑さは、高い符号化利得のアプリケーションでは大幅に増大する。

    【0026】処理要素の時分割を利用することによって、符号状態の数を減少させることなく、処理要素の総数を縮小することができる。 しかし、時分割は一般的に復号器全体の処理速度を減少させる。 このようにして一般に、復号器の設計は、少数の時分割処理要素を使用した低速処理と、例えば符号状態ごとに別々の処理要素を使用した高速並列処理との間の速度−複雑さトレードオフを示す。 時分割の程度は、通常、折返し係数Fによって指定される。 これは、処理要素の数に対する符号状態の数の比である。 折返し係数は、与えられた処理要素に対して時分割方式でパスメトリックを計算することが必要な、受信符号シンボルあたりの状態数を示す。 例えば、4個の処理要素を使用する512状態の符号に対する復号器ではFは128である。 512個の処理要素が512状態符号に使用される場合は、折返しすなわち時分割はなく、Fは1となる。 後者の場合、復号器は状態並列復号器であるという。

    【0027】折返し係数は、もう1つの重要な復号器のパラメータに関係している。 このパラメータは通常、パイプライン深度と呼ばれるものである。 ビタビ復号に必要な計算の多くはパイプライン化される。 すなわち、別個の関数演算の中間結果を一時的に記憶するためにラッチなどの記憶要素を使用して実行される。 例えば、パイプライン化された処理要素は、パスメトリック計算に関係する加算、比較および選択演算の中間結果を一時的に記憶するためのラッチの直列配置を含む。 パイプライン深度とは、処理要素パイプライン中の記憶要素の数のことをいう。 復号器ハードウェアが100%利用されるような理想的復号器では、処理要素パイプライン深度は折返し係数Fに等しい。 しかし、多くの実際の復号器では、パイプラインを通じてのデータ処理のフローにおける遅延やギャップによるハードウェアの非効率を補償するために、パイプライン深度はFより大きく設計される。 従って、パイプラインクロックレートは一般に、符号シンボルレートのF倍より大きく動作するように設計される。 ここで符号シンボルレートは、nビット符号シンボルが符号器で発生されるレートに対応する。

    【0028】従来技術による面積効率の良い復号器の設計は一般に3つの基本的ステップを含む。 第1に、各符号状態を、復号器処理要素のうちの1つにマッピングする(すなわち、割り当てる)。 第2に、各処理要素およびそれに割り当てられた符号状態に対するパスメトリック計算をスケジューリングする。 最後に、符号状態マッピングおよび計算スケジュールを実装するために適当な回路構造を定義する。 最初の2つのステップは、処理要素ごとに、いずれのパスメトリックをどのような順序でアクセスし更新するかを指定する。 この情報と、符号トレリス構造に定義された状態遷移とに基づいて、処理要素間に必要な通信を分析し、ハードウェア効率を決定することができる。 符号状態が少数である簡単な符号では、最も面積効率の良いマッピングおよびスケジューリングを見つけるために全数探索を実行することも可能である。 しかし、このようなアプローチは複雑な符号に対しては一般に実際的ではないため、他のタイプの復号器設計技術が開発されている。

    【0029】レート1/n符号に対して開発された従来技術の例としては、例えば、その場スケジューリング、
    メトリック再配列、およびカスケードマッピングがある。 レート1/n符号に対するその場スケジューリングは、例えば、エイチ−ディ. リン(HD. Lin)ほか、「畳込み符号のための折返しビタビ復号器(Folded ViterbiD
    ecoders for Convolutional Codes)」、IEEE VLSI Sign
    al Processing、第IV巻、IEEE Press(1990
    年)、エム. ビヴァ(M. Biver)ほか、「ビタビ復号器におけるパスメトリックのその場更新(In-Place Updating
    of Path Metrics inViterbi Decoders)」、IEEE Journ
    al of Solid-State Circuits、第24巻第4号第115
    8〜1160ページ(1989年8月)、および、エイチ−ディ. リン(HD. Lin)、シー. ビー. シュン(CB
    Shung)、「ビタビアルゴリズムに対する一般的その場スケジューリング(General In-Place Scheduling for t
    he Viterbi Algorithm)」、Proceedings of ICASSP-91,
    Toronto, Canada(1991年5月14〜17日)、に記載されている。 レート1/n符号に対するメトリック再配列は、例えば、シー. ビー. シュン(CB Shung)
    ほか、「ビタビアルゴリズムのための面積効率の良いアーキテクチャ(Area-Efficient Architectures for the
    Viterbi Algorithm)」、Proceedings of GlobeCom 199
    0、IEEE Press、第1787〜1793ページ、に記載されている。 レート1/n符号に対するカスケードマッピングは、例えば、ピー. ジー. グラク(PG Gula
    k)、ティ. カイラス(T. Kailath)、「ビタビアルゴリズムのための局所連結VLSIアーキテクチャ(Locally C
    onnected VLSI Architecture for the Viterbi Algorit
    hm)」、IEEE Journal on Selected Areas in Communica
    tions、第6巻第3号第527〜537ページ(198
    8年4月)、に記載されている。 レートk/n畳込み符号に対するその場スケジューリングは、エイチ−ディ.
    リンとシー. ビー. シュンの前掲論文に記載されている。 上記のように、これらの従来技術のいずれも、高レート符号に対する十分に良い面積効率を実現していない。

    【0030】本発明の一実施例では、2 i個のパイプライン化した処理要素を使用して2 j状態レートk/n畳込み符号に対する面積効率の良いビタビ復号器を構成する(ただし0<i<j)という復号器設計技術を提供する。 得られる復号器の複雑さは非常に小さいため、従来技術を使用して開発された復号器に比べて面積効率が改善される。

    【0031】本発明の1つの特徴には、符号状態を復号器処理要素に割り当てるステップが含まれる。 各処理要素は、それに割り当てられた符号状態に対する新たなパスメトリックを計算する。 一実施例では、この割当てステップには、分割(詳細は後述)に基づく最上位ビット(MSB)が関係する。 これにより一般に処理要素間の一様な通信が得られる。 既に図1の(a)に関して述べたように、2 j状態レートk/n畳込み符号の符号器メモリは、基数2 kのシフトレジスタとして作用する。 一般性を失うことなく、以下の説明では、符号器メモリ内の記憶要素は、長い方の符号器記憶要素の列中の左端の記憶要素が符号の最下位ビット(LSB)に割り当てられるように配置されると仮定する。 例えば、図1の(a)の符号器10では、LSBm 0は記憶要素12に割り当てられる。 図1の(a)に示されているように、
    基数2 kのシフトレジスタの内容は、jビットの2進ストリング(m j-1 ...m 10 )として書くことができる。
    ここで、ビットは、MSBm j- 1がレジスタ内の最も古いビットであり、LSBm 0がレジスタ内の最も新しいビットであるように順序づけられる。 2進ストリングのビットは、図1の(a)のラベルm 4 、m 3 、m 2 、m 1およびm 0によって識別され、符号器状態の2進表示に対応する。 符号器へのkビット入力が(b k-1 ...b 10
    によって与えられる場合、符号器の次状態は(m jk-1
    jk-2 ...m 10k-1 ...b 10 )によって与えられる。 例えば、符号器10の32状態レート2/3バージョンの符号器メモリ内容が(abcde)によって与えられ、(fg)の入力(b 10 )を受信した場合、符号器の次状態は(cdefg)である。 処理要素への符号状態の割当ては、復号器内の処理要素網に対する配置も定義する。

    【0032】図2〜図5に、本発明によるいくつかの3
    2状態レート2/3復号器の例およびそれらに対応するトレリス線図を示す。 図2は、16個の処理要素42を含む復号器40を示す。 各処理要素42の出力は、相互接続ライン46を通じて16個のパスメトリック出力分配ノード44のうちの1つに接続される。 各分配ノード44はまた、4個の相異なる処理要素42の入力に接続される。 パスメトリック分配ノードは、パスメトリックの計算およびアクセスのスケジュール(後述)に従って、各処理要素からの出力を他の処理要素に分配する。
    図3の対応するトレリス線図50は16個のステージ0
    トレリスノード52を含み、このトレリスノード52はそれぞれブランチ56によって16個のステージ1トレリスノード54のうちの4つと相互接続されている。 図2の復号器40は、16個の処理要素を含むので、32
    状態符号に対して使用するときには折返し係数は2である。 従って、トレリス50内の各ノードは2個の異なる符号状態を表す。 注意すべき点であるが、符号器40
    は、より複雑さの少ない16状態レート3/2符号に対する状態並列復号器も表す。 上記のように、状態並列復号器とは、各符号状態が1個の処理要素に割り当てられ復号器折返し係数を1とした復号器である。

    【0033】図4の(a)に示した復号器60は8個の処理要素62を含み、各処理要素62の出力は、相互接続ライン66を通じて8個のパスメトリック分配ノードのうちの1つに接続される。 復号器60は、32状態符号に対して使用するときには折返し係数は4であり、従って、8状態レート2/3符号に対する状態並列復号器に対応する。 対応するトレリス線図70は8個のステージ0ノード72を含み、各ノード72はブランチ76を通じて4個のステージ1ノード74に接続される。 図5
    の(a)に示した復号器80は2個の処理要素82を含み、各処理要素82の出力は、相互接続ライン86を通じて2個のパスメトリック分配ノードのうちの1つに接続されるので、復号器80は、32状態符号に対して使用するときには折返し係数は16である。 従って、復号器80は完全に相互接続され、対応する2状態レート2
    /3符号はない。 完全相互接続復号器では、各処理要素は各パスメトリック分配ノードに接続される。 注意すべき点であるが、図5の(a)の復号器80は、各メトリック分配ノード84と処理要素82の間に二重ラインの対を含む。 復号器80における二重ラインの各対は、2
    つのメトリックが各分配ノードから各処理要素に分配されることを示す。 実際の復号器の実装では、単一の相互接続を使用して両方のメトリックを転送することも可能である。 対応するトレリス線図90は2個のステージ0
    ノード92を含み、各ノード92は二重ライン96の対を通じて2個のステージ1ノード94に接続される。

    【0034】一般に、2 j状態レートk/n符号に対して、本発明による、2 i個(ただしi≧k)の処理要素を有する面積効率の良い復号器は、2 i状態レートk/
    n符号に対する状態並列復号器に対応する配置を有する。 i<kの場合、復号器の配置は、2 i個の処理要素の完全相互接続網のものに対応する。 従って、本発明の復号器は、異なる数の符号状態を有する他のレートk/
    n符号に対しても利用可能である。

    【0035】上記のように、本発明による、符号状態の復号器処理要素への割当ては、例えば、符号状態のMS
    B分割に基づく。 MSB分割では、2 i個の処理要素は2 j状態レートk/n畳込み符号を復号するために使用され、i個のMSBの共通セットを有する符号状態のグループが同じ処理要素に割り当てられる。 例として、4
    個の処理要素(すなわちi=2)を有する復号器を使用して32状態レートk/n符号を復号すると仮定する。
    この場合、本発明による符号状態割当ては、与えられた状態の2個のMSBに基づくことになる。 従って、符号状態の2進表示は、4個のグループ、すなわち、(00
    xxx)、(01xxx)、(10xxx)および(1
    1xxx)、に分割される。 ただし、xは「ドントケア」値を表す。 すると、各グループの符号状態は、4個の復号器処理要素のうちの1つに割り当てられることになる。 注意すべき点であるが、符号状態の割当ては、i
    個のMSB以外のi個の共通セットに基づくことも可能である。 さらに、各グループは同数の符号状態を含む必要はないが、少なくとも1つの異なる符号状態が一般に各処理要素に割り当てられる。 簡単のため、以下の説明では、個々の処理要素は、それに割り当てられる状態のi個のMSBによって識別されるとする。 例えば、処理要素(00)、すなわちPE(00)は、符号状態0〜
    7を処理し、PE(01)は符号状態8〜15を処理し、などとなる。

    【0036】上記のような符号状態の処理要素への割当ての下では、処理要素間の通信はほとんど一様である。
    例えば、図1の(a)の符号器10の32状態レート2
    /3バージョンに対する4個の処理要素の復号器では、
    状態(abcde)の先行状態は状態(00abc)、
    (01abc)、(10abc)および(11abc)
    である。 状態(abcde)はPE(ab)によって計算され、その先行状態はそれぞれPE(00)、PE
    (01)、PE(10)およびPE(11)によって計算される。 こうしてPE(ab)は常に、割り当てられた状態に対するパスメトリックを計算する前に、復号器内の4個の処理要素のそれぞれによって生成されるパスメトリックにアクセスする。 4個の処理要素間の同様に一様な通信が、(cde)の値に関わらず(ab)のすべての値に対して得られる。 より一般的にいえば、2 i
    個の処理要素を使用して2 j状態レートk/n畳込み符号を復号する場合、状態(m j-1 ...m 10 )の先行状態は、z 0 ,z 1 ,...,z k-1のすべての可能な値に対して(z k-1 ...z 10j-1 ...m 10 )となる。 処理要素通信パターンはiおよびkの相対的な値に依存する。 i<
    kの場合、PE(d i-1 ...d 10 )は2 i個の処理要素のそれぞれからの2 k-1個のパスメトリックにアクセスする。 i≧kの場合、PE(d i-1 ...d 10 )は、
    0 ,z 1 ,...,z k-1のすべての可能な値に対して2 i
    個の処理要素PE(z k-1 ...z 10i-1 ...d k+1k
    のそれぞれからの1個のパスメトリックにアクセスする。 いずれの場合にも、各処理要素に対する通信パターンは、特定のPE(d i-1 ...d 10 )に割り当てられる符号状態の特定のグループとは独立である。

    【0037】本発明のもう1つの特徴には、符号器内の各処理要素に対するパスメトリックのアクセスおよび計算のスケジュールを決定することが含まれる。 上記のように、2 jの符号状態は、例えばi個のMSBの共通セットに基づいて、分割され復号器処理要素に割り当てられる。 2 i個の処理要素はそれぞれ、時分割方式でF個の状態に対するパスメトリックを計算するために使用される。 ただしFは折返し係数であり、2 j-1に等しい。
    特に、PE(d i-1 ...d 10 )は、z 0 ,z 1 ,...,z
    k-1のすべての可能な値に対して符号状態(d i-1 ...d 1
    0ji-1 ...z 10 )に対するパスメトリックを計算する。 1つの可能なパスメトリック計算スケジュールは、符号状態の昇順に従うことである。 次の表1に、3
    2状態レート2/3符号および4個の処理要素復号器に対して、昇順符号状態に基づいた、パスメトリック計算スケジュールの例を示す。

    【0038】

    【表1】

    【0039】表1では、時刻t0〜t7は復号器におけるクロックサイクルを表す。 各処理要素は、各復号器クロックサイクル中に1個の符号状態に対する新たなパスメトリックを計算する。 復号器クロックサイクルt0〜
    t7は、受信符号シンボルごとに繰り返す。 各行の番号は、与えられた復号器クロックサイクル中に特定の処理要素で新たなパスメトリックが計算される符号状態を表す。 例えば、PE(00)は、状態分割において符号状態(00xxx)に割り当てられており、8個の復号器クロックサイクルにわたって符号状態0、1、2、3、
    4、5、6および7に対する新たなパスメトリックを昇順に計算する。 この例の32状態4処理要素復号器に対する折返し係数Fは8である。 Fが8であり、従って各処理要素が受信符号シンボルごとに時分割方式で8個の異なる符号状態に対する新たなパスメトリックを計算するので、表1には8個の復号器クロックサイクルt0〜
    t7が示されている。

    【0040】表1で指定される符号状態に対するパスメトリックを計算するため、各処理要素は、その処理要素に割り当てられた計算済みパスメトリックを含む、計算済みパスメトリックの適当なセットにアクセスしなければならない。 計算済みパスメトリックとは、復号器で受信した符号シンボルのストリーム中で前の符号シンボルに対して計算されたパスメトリックである。 このように、現符号シンボルに対して計算される新たなパスメトリックは、ストリーム中の次の符号シンボルに対する計算済みパスメトリックとして使用される。 上記のように、状態(abcde)に対する新たなパスメトリックを計算するために、処理要素PE(ab)は先行状態(00abc)、(01abc)、(10abc)および(11abc)に付随するパスメトリックにアクセスする必要がある。 次の表2に、4個の処理要素を有する32状態レート2/3復号器の場合のアクセススケジュールの例を示す。 明確にするために、与えられた処理要素がアクセスする必要がある計算済みパスメトリックのセットは、以下の説明では各括弧で囲むことにする。 一般に、次の表2は、PE(ab)は、(cde)の昇順に、計算済みパスメトリック[(00abc),(01
    abc),(10abc),(11abc)]にアクセスすることを必要とすることを示している。 従って、P
    E(ab)は、復号器クロックサイクルt0〜t3中にパスメトリックのセット[(00ab0),(01ab
    0),(10ab0),(11ab0)]にアクセスし、復号器クロックサイクルt4〜t7中にパスメトリックのセット[(00ab1),(01ab1),(1
    0ab1),(11ab1)]にアクセスする。 例えば、PE(00)は、状態0、1、2および3に対するパスメトリックを計算するために、復号器クロックサイクルt0〜t3中に、パスメトリック[(0000
    0),(01000),(10000),(1100
    0)]、すなわち[0,8,16,24]にアクセスする。 状態0、8、16、および24は、32状態レート2/3トレリスにおいて状態0、1、2および3の先行状態である。 同様に、状態1、9、17および25は、
    状態4、5、6および7の先行状態である。 表2のアクセススケジュールは、表1においてパスメトリックが計算される32個の符号状態のそれぞれに対する先行状態の適当なセットを示す。 復号器クロックサイクルのセットt0〜t8は、受信符号シンボルごとに反復されるので、符号シンボル周期ともいう。

    【0041】

    【表2】

    【0042】注意すべき点であるが、表1および表2では、パスメトリック計算スケジュールとパスメトリックアクセススケジュールの間には不一致がある。 表2では、与えられた処理要素によってアクセスされる計算済みパスメトリックは、前符号シンボル周期における同じ復号器クロックサイクル中にそれぞれ計算された。 例えば、PE(11)は、現符号シンボル周期のクロックサイクルt0においてメトリック[6,14,22,3
    0]にアクセスするが、これらのメトリックはすべて、
    前符号シンボル周期のクロックサイクルt6中に計算されたものである。 その結果、符号状態値の昇順に基づくこの実施例では、前符号シンボルに対するパスメトリックを計算して適当な処理要素に送るにはクロックサイクルが少なすぎるため、次の符号シンボルに対する新たなパスメトリックを計算することができない可能性がある。 PE(11)の場合には、PE(11)は次の符号シンボル周期のクロックサイクルt0において状態24
    に対する新たなパスメトリックを計算するのに、2個のクロックサイクルt6およびt7のみが、4個のパスメトリック[6,14,22,30]のすべてを計算し送信するために利用可能である。

    【0043】本発明のもう1つの実施例は、符号状態の昇順に基づくメトリック計算スケジューリングに固有の潜在的なタイミング制限を軽減する。 この実施例では、
    各処理要素に対するメトリックの計算およびアクセスのスケジュールは時間的にずらされる(オフセットされる)。 その時間オフセットは、例えば、PE(ab)の計算およびアクセスのスケジュールを(ab)復号器クロックサイクルだけずらすことによって実現される。 従って、2 i個の処理要素を有する復号器では、各処理要素の計算およびアクセスのスケジュールはi個の復号器クロックサイクルだけずらされる。 32状態レート2/
    3復号器に対する時間オフセット設定の例をそれぞれ表3および表4のメトリックの計算およびアクセスのスケジュールに示す。 この例では、PE(00)のスケジュールは不変であり、PE(01)、PE(10)およびPE(11)のスケジュールはそれぞれ1、2および3
    個の復号器クロックサイクルだけずらされる。

    【0044】

    【表3】

    【0045】

    【表4】

    【0046】表3および表4のパスメトリックの計算およびアクセスのスケジュールは、各処理要素に対して、
    計算済みメトリックの適当なセットへの順アクセスを提供しており、これによって、表1および表に2の並列アクセススケジュールよりも改善されている。 表2におけるPE(00)の動作は並列パスメトリックアクセスの例を提供する。 例えば、表2は、PE(00)が、クロックサイクルt0、t1、t2およびt3中に状態0、
    1、2および3に対する新たなパスメトリックを計算するために、クロックサイクルt0から開始して並列にパスメトリック[0,8,16,24]にアクセスしなければならないことを示している。 この理由は、新たなパスメトリックを計算する第1の状態すなわち状態0が、
    状態0、8、16および24からの計算済みパスメトリックを必要とするためである。 これに対して、表4によれば、状態0、8、16、24に対する計算済みパスメトリックはクロックサイクルt0、t1、t2およびt
    3中に順次アクセスされるが、新たなパスメトリックは状態0、1、2および3に対して同時に計算される。 同様に、復号器内の各処理要素は、そのセット内の計算済みパスメトリックに順にアクセスする。 本発明のこの順アクセス実施例で使用するのに適した処理要素設計の例については後述する。 上記の復号器クロックサイクルオフセットおよび同時メトリック計算の利点は、処理要素間の通信のバースト性をなめらかにすることにつながるため、ハードウェア効率を改善することである。

    【0047】表1および表2のスケジュールに伴う潜在的なタイミング制限は表3および表4のスケジュールに示したタイミングオフセットを使用することによって軽減されるが、理解されるように、本発明による面積効率の良い高符号レート復号器は、表1および表2のスケジュールに基づいても構成することができる。 例えば、本発明のパイプライン化した処理要素およびメトリック再配列技術(いずれも詳細は後述)は、復号器クロックサイクルをずらさずに、計算済みパスメトリックへの順アクセスを提供する。 このような実施例は、他の処理要素でパスメトリックを計算しながら、与えられた処理要素のパイプラインに計算済みまたは部分的に計算済みのパスメトリックを一時的に記憶することによって、復号器のタイミングを改善する。

    【0048】本発明のもう1つの特徴には、メトリックアクセススケジュールを実装するためのメトリック再配列技術が含まれる。 表3および表4のスケジュールはメトリック再配列の概念を例示している。 例えば、PE
    (00)は、0、1、2、3、4、5、6、7の順序でパスメトリックを計算するが、これらのメトリックはP
    E(00)および他の3個の処理要素によって、0、
    2、4、6、1、3、5、7の順序でアクセスされる。
    このように、メトリックアクセスシーケンスはメトリック計算シーケンスの4ウェイ交錯である。 表3および表4の他の処理要素もまた、それらの計算スケジュールの4ウェイ交錯バージョンであるようなアクセススケジュールを示す。 ハードウェア効率をさらに改善するためには、新たなパスメトリックは、所望のアクセススケジュールに従って順にアクセスされるように、計算後に再配列することができる。 このように再配列は、後のパスメトリック計算に対するスケジューリングされたアクセスを容易にする。 表4の例では、計算されたメトリックは4ウェイ交錯によって再配列されるべきである。 4ウェイ交錯を実行するための従来技術の例では、計算したメトリックのシーケンスを4×2メモリアレイに行の順序で記憶した後、列の順序で読み出すことによって所望のシーケンスでメトリックにアクセスする。

    【0049】一般に、レートk/n畳込み符号では、所望のメトリック再配列は代表的には2 p個のメトリックの2 qウェイ交錯によるものである。 ただしpおよびq
    はアプリケーションに依存する。 i≧kの復号器では、
    p=j−iであり、q=kである。 i<kの復号器では、時分割の結果として、メトリック再配列は一般に追加の分割および反復を含む。 上記の例における4×2メモリアレイのような転置メモリなどのメモリまたはレジスタに基づく技術は、2 qウェイ交錯を実現するために使用可能である。 他の交錯技術には、シフト交換ユニット(SEU)と呼ばれる超大規模集積(VLSI)構造の使用がある。 SEUは一般的に、いくつかのパイプライン化されたラッチを有し、パイプラインデータの固定サイズ置換を実装する(詳細は図11について後述)。
    SEUの詳細は、例えば、上記のシー. ビー. シュンほかによる論文に記載されている。 本発明のアクセススケジュールを提供するためにメトリックを再配列するには、他の交錯技術を使用することも可能である。

    【0050】これから、SEUなどの回路構造を使用してデータ点の2 qウェイ交錯を実装するのに適した、本発明によるメトリック再配列技術について説明する。 例示的な再配列技術について説明するために、4個の処理要素を有する64状態レート2/3畳込み符号に対する復号器の例を用いる。 この例では、j=6、k=2およびi=2である。 状態(abcdef)に対するパスメトリックはPE(ab)によって(cdef)の昇順に計算され、状態(xxabcd)、すなわち、状態(a
    bcdef)の先行状態に対するパスメトリックは、時間オフセット(ab)で、(cdef)の昇順にアクセスされる。 時間オフセット(ab)の量は(ef)の昇順に同期するため、メトリックは(xxefcd)と同期してアクセスされる。 このようにして、理解されるように、パスメトリック計算とアクセスシーケンスを同期させるためには、PE(ab)は、計算するパスメトリックを、計算シーケンス(abcdef)からアクセスシーケンス(abefcd)に再配列すべきである。 これは、16個のデータ点の4ウェイ交錯と同等である。
    4ウェイメトリック交錯が必要であることはPE(0
    0)の作用において理解される。 PE(00)は、0、
    1、2、3、4、5、6、7、8、9、10、11、1
    2、13、14、15の順でメトリックを計算するが、
    これらのメトリックは、0、4、8、12、1、5、
    9、13、2、6、10、14、3、7、11、15の順でPE(00)、および復号器内のその他の処理要素によってアクセスされる。

    【0051】図6および図7に、本発明によるメトリック再配列技術の2つの例を示す。 メトリック再配列は、
    例示的な、4個の処理要素を有する64状態レート2/
    3復号器内のPE(00)によって計算される16個のパスメトリックの昇順シーケンスを使用して示される。
    一般的には、本発明の再配列技術は以下の3つのステップを含む。 第1に、与えられた処理要素によって計算されるパスメトリックのセット、あるいはさらに一般的には、再配列を必要とするデータ点の任意のセットを、少なくとも2つのグループに分割し、各グループが相異なるスロットに対応するようにする。 ここでスロットとは一般にデータ点のグループの順列をいう。 例えばスロットは、復号器処理要素内のラッチなどの一時記憶要素の順序グループを表す。 各スロットはいくつかのスロット位置を含み、各スロット位置は一般に、例えば単一のパスメトリックのような単一のデータ点によって占められる。 従って各スロット位置は復号器内の単一の一時記憶要素に対応する。 スロットサイズとは、与えられたスロット内のスロット位置の数をいう。 以下で説明する例は、再配列プロセス中の各ステップで同一のスロットサイズを有するスロットを使用するが、データ点は、与えられた再配列ステップでいくつかの異なるサイズのスロットに分割することも可能である。 第2に、1スロット内のあるスロット位置に記憶されるデータ点は、与えられたステップサイズの置換をデータ点に適用することによって、他のスロット内の異なるスロット位置に移動される。 移動されるデータ点は、現在のスロット内で正しくないスロット位置を占めるものであることもあり、また、各データ点に対する現在のスロット位置を所望のスロット位置と比較することによって識別されるものであることもある。 置換ステップサイズは、与えられたデータ点が移動の結果としてシフトされるスロット位置の総数である。 最後に、データ点をスロットに分割するステップおよび置換を適用するステップは、データ点の所望の順列が得られるまで、異なるスロットサイズを用いて再帰的に反復される。 スロットサイズは一般に再配列ステップの反復とともに減少する。 また、ステップサイズは一般に新たなスロットサイズとともに変化し、データ点配列における所望の置換を提供するために、与えられたスロットサイズに対していくつかの異なるステップサイズを使用することも可能である。

    【0052】図6は、本発明による直接移動メトリック再配列を示す。 再配列プロセスの各ステップに示されているデータ点のセットは、例えば、与えられた符号シンボルに対して復号器処理要素によって計算されたパスメトリックのセットを表す。 データ点の列は、例えば、一時記憶要素のグループに記憶される。 破線が、データ点のセットを2つのグループすなわちスロットに分割し、
    各スロットは8個のスロット位置を含む。 ステップ1
    で、現在のデータ点のスロット位置を所望のスロット位置と比較する。 第1および第2のスロットにおいてそれぞれ円および四によって示されるような正しくないスロット位置のいくつかのデータ点を、他のスロット内の異なるスロット位置に直接移動する。 ステップ1は、ステップサイズが6の固定ステップ置換を使用し、移動される各データ点はスロット位置6個分だけシフトされる。 この手続きは、図6のステップ2に示すように、より小さいスロットサイズを使用して反復される。 ステップ2では、データ点を含む記憶要素は、破線によって分割して示してあるように、4個のスロットに再分割される。 再び、第1および第3のスロットの円ならびに第2
    および第4のスロットの四角によって示される正しくないスロット位置のいくつかのデータ点を、他のスロットの異なる位置に直接移動する。 ステップ2では、ステップサイズが3の固定ステップ置換が使用される。 ステップ3に示されるように、ステップ2におけるデータ点の移動は各データ点を正しい位置に配置し、さらに分割および移動を行う必要はない。 こうして、図6のステップ1および2は16個のデータ点の4ウェイ交錯を実行した。 上記の例では、16個のデータ点は64状態復号器内のPE(00)によって計算されるパスメトリックであるが、このパスメトリックは、一時記憶要素からまたはメモリから単に順に読み出すことによって所望の順序でアクセスすることができるようになった。 上記の直接移動法では、置換ステップサイズは単調減少である。 しかし、データ点が多数の場合、ステップサイズすなわちデータ点が移動しなければならないスロット位置の数は、最初は非常に大きい。 大きい初期ステップサイズは、例えばSEUを使用してこの技術をハードウェア実装する際には長い配線長が必要となるため、好ましくないことがある。

    【0053】図7は、直接移動法の長い初期ステップサイズの制限を解決するもう1つのメトリック再配列技術(収集移動法と呼ぶ)の図である。 図7の例では、収集移動法は、図6のステップ1および2における長いほうの各移動を2つの短い移動に分割する。 短いほうの移動の第1のものは、ステップ1aに示したように、スロットサイズは8、ステップサイズは2を用いて、正しくないデータ点を2つの記憶スロットの隣接する端部に収集する。 例えば、ステップ1aにおけるパスメトリック2、3は、これらの正しくないパスメトリックを2つの記憶スロットの間の境界付近に収集するためにパスメトリック4、5と交換され、パスメトリック12、13
    は、パスメトリック10、11と交換される。 データ点が隣接するスロットの隣接する端部の境界付近に収集された後、ステップ1bに示したように、第2の短い移動が、正しくないデータ点を、スロット境界を越えて隣接するスロットの別の位置に移動させる。 その後このプロセスは、ステップ2aおよび2bに示したように、スロットサイズを4として反復される。 ステップ3までに、
    すべてのデータ点は所望のスロット位置に入り、この収集移動再配列プロセスは完了する。 この再配列技術は、
    高レートビタビ復号器で計算されたパスメトリックの再配列に特に適しているが、複数のデータ点を交錯することを含む他のアプリケーションにも有用であることが理解されるべきである。

    【0054】上記の直接移動法および収集移動法によるメトリック再配列は、例えば、固定ステップ置換を行ういくつかのSEUを縦続することによって実装される。
    このような実装は、レート1/n畳込み符号の場合には、例えば、エイチ−ディ. リン(HD. Lin)他、「畳込み符号に対する折返しビタビ復号器(Folded Viterbi De
    coders for Convolutional Codes)」、IEEE VLSI Signa
    l Processing、第IV巻、IEEE Press(1990年)、
    および、シー. ビー. シュンほかの前掲論文に記載されている。 各SEUは、与えられたステップサイズの固定ステップ置換を行う。 例えば、図6のメトリック再配列は、ステップサイズ6の固定ステップ置換を行うSEU
    と、ステップサイズ3の固定置換を行うもう1つのSE
    Uからなる2個のSEUを縦続することによって実装可能である。 縦続したSEUの出力は、図6のステップ3
    に示したような所望の順序のデータ点となる。 従って、
    注意すべき点であるが、各SEUは本来的に上記のデータ点をスロットに分割するステップと置換を行うステップとの両方を備えている。 スロットサイズは、SEUの置換ステップサイズに依存する。 スロットに分割するステップおよび置換を行うステップは、異なる置換ステップサイズを有するSEUにデータ点を通すことにより異なるスロットサイズを使用して反復される。

    【0055】一般に、SEUで使用されるパイプラインラッチの数は、置換ステップサイズに対応する。 従って、ハードウェアの複雑さは、置換ステップサイズの最小和を与える再配列方法を選択することによって縮小される。 図6および図7の64状態レート2/3復号器の例では、直接移動法によるステップサイズの和は6+3
    =9である一方で、収集移動法によるステップサイズの和も2+4+1+2=9となる。 しかし、理解されるべき点であるが、他の多くのアプリケーションでは、各方法におけるステップサイズ和は異なる。 例えば、8個のデータ点の4ウェイ交錯の場合、直接移動法を使用したときのステップサイズ和は3+1=4であるが、収集移動法を使用したときのステップサイズ和は1+2=3である。

    【0056】上記の再配列方法はいずれも、例えば従来技術の転置メモリ法よりも効率的である。 64状態レート2/3の例では、直接移動法および収集移動法のいずれも、ステップサイズ和は9であり、全部で9個のみのパイプラインラッチを有する縦続SEUを使用して16
    個のデータ点の4ウェイ交錯を実行することができる。
    これに対して、転置メモリ法は、例えば、4×4メモリアレイ、すなわち、全部で16個の記憶要素を必要とする。 さらに、本発明の再配列技術は、パスメトリック計算を中断せずに、64状態レート2/3の場合には9個の復号器クロックサイクル以内にパスメトリックを再配列することができ、シンボル周期中の全部で16個の復号器クロックサイクルのうちの7個を、パスメトリック計算および分配のパイプライン化のために残すことができる。

    【0057】要約すれば、面積効率の良い復号器アーキテクチャは、図2〜図5とともに上記で定義したとおりである。 本発明の面積効率の良い復号器は、処理要素を使用して、例えば、上記の表1および表3に示したような計算スケジュールに従ってメトリックを計算する。 また、処理要素は、例えば表2および表4に示したようなアクセススケジュールに従ってメトリックを再配列するSEUのようなメトリック再配列ハードウェアも含む。
    メトリック再配列は、図6および図7に示した再配列方式のうちの1つを使用して実現される。 図2、図4の(a)および図5の(a)のそれぞれの処理要素42、
    62および82は、メトリックの計算および再配列の両方の機能を行うように設計することが可能であり、対応するメトリック出力分配ノード44、64、84は、再配列したメトリックを適当な処理要素に分配する。

    【0058】上記のように、従来の復号器処理要素は一般に並列に計算済みパスメトリックにアクセスしそれを更新した後、更新したメトリックのうち最小のものを現在のトレリスノードの新しいパスメトリックとして選択する。 図8に、並列メトリックアクセスを使用する従来の処理要素105を示す。 処理要素105は、レートk
    /n畳込み符号の復号器で使用可能である。 一般に、レートk/n畳込み符号では、並列アクセス処理要素は、
    k個の並列メトリック入力と、2 k個の加算器と、2 k
    −1個の比較/選択ユニットを必要とする。 従って、処理要素105は、4個のメトリック入力(図8ではΓ A 、Γ B 、Γ CおよびΓ Dで示す)と、4個の加算器11
    2と、3個の比較/選択ユニット120を有する。 各比較/選択ユニット120は、比較器122および選択器124を有する。 選択器124は、例えば、2:1マルチプレクサである。 加算器112および比較/選択ユニット120は、まとめて、加算比較選択(ACS)ユニットと呼ばれることが多い。 各加算器112は入力として4個のパスメトリックのうちの1つを受信する。 例えば、処理要素105が表2のアクセススケジュールを有するPE(00)として使用される場合、Γ A 、Γ B 、Γ
    CおよびΓ Dはそれぞれ状態0、8、16および24に対する計算済みパスメトリックに対応する。 処理要素10
    5はまた、与えられた受信符号シンボルに対して、特定の状態遷移の尤度を示すブランチメトリックを含むブランチメトリックテーブル110も有する。 テーブル11
    0からのブランチメトリックは計算済みパスメトリックと加算器112で加算され、隣接する加算器の結果は比較/選択ユニット120で比較され、最小の和が新たなパスメトリックとして選択される。 このように、処理要素105の出力は、パスメトリックΓ A 、Γ B 、Γ CおよびΓ Dの先行状態を有する符号状態に対応して、新たなパスメトリックΓ Eとなる。 再び処理要素105を表2
    のPE(00)とすると、Γ A 、Γ B 、Γ CおよびΓ Dがそれぞれ状態0、8、16および24である場合、新たなパスメトリックΓ Eは状態0に対する新たなパスメトリックとなる。 従来の処理要素105は、既に詳細に説明したように、一般に高レート符号に対する面積効率の良い復号器アーキテクチャを提供することができない。

    【0059】図9に、本発明による順アクセス処理要素135を示す。 処理要素135は、ブランチメトリックテーブル140およびいくつかの加算器142を有する。 単一の計算済みパスメトリックΓ Aが、直列メトリック入力を通じて同時に各加算器142に供給され、テーブル140からの適当なブランチメトリックと加算される。 テーブル140は、適当なタイプのメモリを使用して実現され、他の実装での処理要素105の外部に記憶されることが可能である。 比較/選択ユニット150
    は、各加算器142の出力をラッチ146の内容と比較する。 ラッチ146は一部計算パスメトリックを記憶し、すべての可能な先行状態に対する計算済みパスメトリックは順に更新される。 ここで、一部計算パスメトリックとは、まだすべての可能な計算済みパスメトリックを更新し、比較し、選択していないようなパスメトリックをいう。 例えば、上記の表3および表4を参照すると、PE0は、復号器クロックサイクルt0、t1、t
    2およびt3にわたって状態0、1、2、および3に対するパスメトリックを同時に計算し、一方、状態0、
    8、16、および24に対する計算済みパスメトリックに順次アクセスする。 例えば復号器クロックサイクルt
    0中には、状態0に対する計算済みパスメトリックのみがアクセスされる。 ただ1つの計算済みパスメトリックのみがアクセスされるため、状態0に対する新たなパスメトリックを完全に計算することはできない。 従って、
    この一部計算メトリックは、次の復号器クロックサイクルt1(このt1中に状態8に対する計算済みパスメトリックがアクセスされる)までラッチ146に記憶される。 その後、ラッチ146に記憶された状態0に対する一部計算パスメトリックは、加算器142からの、状態8に対する計算済みパスメトリックと適当なブランチメトリックとの和とともに、比較/選択ユニット150で処理される。 その結果は再び、状態0に対する一部計算パスメトリックとしてラッチ146に記憶される。 復号器クロックサイクルt3の後、状態0、8、16および24に対する計算済みパスメトリックがすべてアクセスされると、状態0、1、2および3に対する新たなパスメトリックはすべて完全に計算される。

    【0060】処理要素135で計算されたパスメトリックはΓ H 、Γ G 、Γ FおよびΓ Eとラベルされ、表3および表4のPE0の例では状態0、1、2、および3に対する新たなパスメトリックに対応する。 これらの新たなパスメトリックが計算されている間、入力パスメトリックΓ Aは、復号器クロックサイクルt0、t1、t2およびt3にわたって、符号状態0、8、16および24に対する計算済みパスメトリックを表す。 完全に計算されると、これらの新たなパスメトリックはそれぞれ、いくつかのSEU156を含むメトリック再配列手段にロードされ、そこでメトリック再配列が上記のようにして実行される。 メトリック再配列手段は、処理要素135によって計算されたメトリックが復号器内の他の処理要素によって正しくアクセスされることを保証する。 順アクセス処理要素135は、1個だけのメトリック入力と、
    k個の加算器と、2 k個の比較/選択ユニットを使用する。 さらに、一度に1個の計算済みパスメトリックへの順アクセスを使用して4個のメトリックを計算するため、一部計算パスメトリックの記憶のために2 k個のラッチを使用する。 SEU156への新たなパスメトリックΓ H 、Γ G 、Γ FおよびΓ Eのロードは、さらに適当な初期順序にメトリックを配列することによって、符号構造に依存して、あるアプリケーションではメトリック再配列を容易にするために使用することができる。

    【0061】図10に、本発明による順アクセス処理要素のもう1つの実施例を示す。 処理要素160は、ブランチメトリックテーブル161と、計算済みパスメトリックΓ Aを処理要素160に順次提供する直列メトリック入力と、単一の加算器162を有する。 処理要素16
    0は、パイプライン化したラッチを使用して、図9の復号器実施例における複数の加算器と比較/選択ユニットの機能を結合する。 加算器162は、計算済みパスメトリックΓ Aをテーブル161からの適当なブランチメトリックに加算する。 パイプライン化された処理要素16
    0は、例えば一部計算メトリックΓ Eを記憶するパイプラインラッチ166と、比較器168と、比較器168
    の出力を記憶するパイプラインラッチ170と、新たなパスメトリックを計算する際にラッチ170の出力のうちの1つを選択する2:1選択器172を有する。 この実施例の処理要素160にはさらにパイプラインラッチの対174、176が含まれる。 ラッチ174、176
    もまた一部計算パスメトリックを記憶する。 これらは後でラッチ166にフィードバックされ、新たなパスメトリックを計算する際に使用される。 ラッチ166、17
    0、174および176の直列配置はともにいくつかの復号器クロックサイクルにわたって一部計算パスメトリックを記憶する。 例えば、処理要素160が表3および表4のPE0として使用される場合、クロックサイクルt0、t1、t2およびt3にわたって、Γ Aはそれぞれ状態0、8、16および24に対する計算済みパスメトリックを表す。 4個のラッチ166、170、174
    および176は、状態0、8、16および24に対する計算済みパスメトリックがすべてアクセスされるまで、
    4個の復号器クロックサイクルt0、t1、t2およびt3にわたって加算、比較および選択の演算結果を一時的に記憶する。 比較器168および選択器172はラッチの直列配置の内部に配置され、いくつかの復号器クロックサイクルにわたって、一時的に記憶されている値を使用して、新たなパスメトリックのセットを計算する。
    もちろん、処理要素160内のラッチの配置は例示のみのものであって、ラッチは、いくつかの別法のうちの任意のものによって配置可能である。 例えば、ラッチ17
    0および174はいずれも、比較器168の前または選択器172の後に配置することが可能である。

    【0062】新たなパスメトリックは、完全に計算されると、少なくとも1つのSEU178を含むメトリック再配列手段180に供給される。 メトリック再配列手段180は、与えられたアプリケーションの要求に応じて、他のタイプの記憶要素とともに、追加のSEUを含むことも可能である。 処理要素160は、図8に示した従来のレートk/n処理要素105よりもかなり複雑さが少ない。 実際、処理要素160の複雑さは、レート1
    /n復号器に対する従来の処理要素の複雑さのオーダーである。

    【0063】図11の(a)〜(c)に、図9および図10の処理要素で使用するのに適したSEUの例を示す。 図11の(a)は、パスメトリック入力201と、
    選択器202、204と、一対のパイプラインラッチ2
    06、208と、選択器202、204へのもう1つの入力を提供するパイプライン出力209を有するSEU
    200を示す。 各選択器202、204は、選択器に送られる外部制御信号に応じて、2つの入力のうちのいずれを出力へと通過させるかを選択するように設計される。 例えば、選択器202は、ライン201またはライン209のいずれかからのデータを出力へと通過させるように構成される。 この出力はラッチ206を駆動する。 これらの選択器は、選択器S1が上の入力を選択するように作用した場合に、対応する選択器S1´が下の入力を選択するように作用し、逆の場合も同様となるように、相補的に動作する。 実施例のSEU200への入力はメトリックのシーケンス[x,y,z]である。 ラッチ208はメトリックxを含み、ラッチ206はメトリックyを含み、メトリックzはSEU入力201にある。 選択器に適当な外部制御信号を加えることによって、実施例のSEU200は、例えば、メトリックの相対的な順序[x,y,z]を保存するか、または、その順序を[z,x,y]に変更するように作用する。 図1
    1の(b)に、選択器224がラッチ出力229を選択し、その結果、メトリックxがSEU220の出力に供給され、一方メトリックyはラッチ228にラッチされ、メトリックzはラッチ226にラッチされるというSEU220の状態を示す。 この場合、SEU220
    は、メトリックの順序を保存する状態にある。 図11の(c)には、選択器242がラッチ出力249を選択するというSEU240を示す。 その結果、メトリックz
    はライン241を通じて選択器244に送られ、そこからSEU240の出力に送られる。 同時に、メトリックxはラッチ246に記憶され、メトリックyはラッチ2
    48にシフトされる。 この場合、SEU240は、入力メトリックの順序を[x,y,z]から[z,x,y]
    に変換するように作用し、従って、ステップサイズ2の固定ステップ置換を行うことになる。

    【0064】メトリック再配列を実装するためのパイプライン化SEUの代替例には、例えばケー. パーリ(K.
    Parhi)、「寿命解析および前方−後方レジスタ配置を用いたDSPデータフォーマット変換器の組織的合成(Sys
    tematic Synthesis of DSP Data Format Converters Us
    ing Life-Time Analysis and Forward-Backward Regist
    er Allocation)」、IEEE Trans. on Circuits and Syst
    ems、第39巻第7号第423〜440ページ(199
    2年7月)、および、ケー. パーリ(K. Parhi)、「最小数のレジスタを用いたビデオデータフォーマット変換器
    (Video Data Format Converters Using Minimum Number
    of Registers)」、IEEE Trans. on Circuits and Syst
    ems for Video Technology、第2巻第2号第255〜2
    67ページ(1992年6月)、に記載されているデータフォーマット変換器がある。

    【0065】ここまでの詳細な説明は、主にレートk/
    n畳込み符号の場合の本発明の説明であるが、トレリス型の状態遷移を有する他のタイプの符号も使用可能であることは理解されるべきである。 説明した構成にはさまざまな変形が可能である。 例えば、符号状態を処理要素に割り当てるのに別の方式を使用すること、パスメトリックの計算およびアクセスのスケジュールに別の時間オフセット量を適用すること、他のメトリック再配列方式を使用すること、復号器処理要素の構造および相互接続を変更することが可能である。 さらに、ここで開示したメトリック再配列方式は、交錯符号化において使用するのに好適であり、処理要素の構造は、他の復号アプリケーションでも使用可能である。

    【0066】

    【発明の効果】以上述べたごとく、本発明によれば、高レートトレリス符号の最尤復号が実現される。 従って、
    与えられた符号化方式によって、大幅に符号化利得が改善され、その結果、多くの高レート復号器で現在利用されている次善の復号に比べて帯域幅効率が改善される。
    本発明のもう1つの特徴的な効果として、復号器の複雑さが大幅に縮小され、その結果、復号器を実装するのに必要な回路面積が大幅に減少する。 従って、本発明は、
    実用的かつ費用効率の良い方法で、高レート符号による帯域幅効率の利点を達成することができる。

    【図面の簡単な説明】

    【図1】(a)は、従来技術による通常のレートk/n
    畳込み符号器のブロック図である。 (b)は、(a)の従来技術の畳込み符号器に対応するトレリス線図である。

    【図2】折返し係数2の、本発明による32状態レート2/3復号器の例のブロック図である。

    【図3】図2の復号器に対応するトレリス線図である。

    【図4】(a)は、折返し係数4の、本発明による32
    状態レート2/3復号器の例のブロック図である。
    (b)は、(a)の復号器に対応するトレリス線図である。

    【図5】(a)は、折返し係数16の、本発明による3
    2状態レート2/3復号器の例のブロック図である。
    (b)は、(a)の復号器に対応するトレリス線図である。

    【図6】本発明による直接移動法を用いた16個のデータ点の4ウェイ交錯のための再配列ステップのセットの例の図である。

    【図7】本発明による収集移動法を用いた16個のデータ点の4ウェイ交錯のための再配列ステップのセットの例の図である。

    【図8】従来技術による通常の並列アクセス復号器処理要素のブロック図である。

    【図9】図2〜図5の復号器で使用するのに適した、本発明による直列アクセス処理要素の実施例のブロック図である。

    【図10】図2〜図5の復号器で使用するのに適した、
    本発明による直列アクセス処理要素のもう1つの実施例のブロック図である。

    【図11】図9および図10の処理要素で使用するのに適した、ステップサイズ2の置換を行うシフト交換ユニット(SEU)の例の図である。

    【符号の説明】

    10 レートk/n畳込み符号器 12 記憶要素 14 記憶要素 16 記憶要素 18 符号化ロジック 20 記憶要素 22 記憶要素 30 トレリス線図 32 ノード 34 ノード 40 復号器 42 処理要素 44 分配ノード 46 相互接続ライン 50 トレリス線図 52 ノード 54 ノード 56 ブランチ 60 復号器 62 処理要素 66 相互接続ライン 70 トレリス線図 72 ノード 74 ノード 76 ブランチ 80 復号器 82 処理要素 84 ノード 86 相互接続ライン 90 トレリス線図 92 ノード 94 ノード 96 二重ライン 105 処理要素 110 ブランチメトリックテーブル 112 加算器 120 比較/選択ユニット 122 比較器 124 選択器 135 処理要素 140 ブランチメトリックテーブル 142 加算器 146 ラッチ 150 比較/選択ユニット 154 メトリック再配列手段 156 SEU 160 処理要素 161 ブランチメトリックテーブル 162 加算器 166 ラッチ 168 比較器 170 ラッチ 172 選択器 176 SEU 180 メトリック再配列手段 200 SEU 201 パスメトリック入力 202 選択器 204 選択器 206 ラッチ 208 ラッチ 209 パイプライン出力 220 SEU 221 パスメトリック入力 222 選択器 224 選択器 226 ラッチ 228 ラッチ 229 パイプライン出力 240 SEU 241 パスメトリック入力 242 選択器 244 選択器 246 ラッチ 248 ラッチ 249 パイプライン出力

    QQ群二维码
    意见反馈