JPH07273671A - データ復号方法 - Google Patents
データ復号方法Info
- Publication number
- JPH07273671A JPH07273671A JP7074727A JP7472795A JPH07273671A JP H07273671 A JPH07273671 A JP H07273671A JP 7074727 A JP7074727 A JP 7074727A JP 7472795 A JP7472795 A JP 7472795A JP H07273671 A JPH07273671 A JP H07273671A
- Authority
- JP
- Japan
- Prior art keywords
- code
- metric
- path metric
- processing element
- slot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000004364 calculation method Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 200
- 230000001174 ascending effect Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 25
- 230000004083 survival effect Effects 0.000 abstract description 3
- 238000003860 storage Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 30
- 230000008707 rearrangement Effects 0.000 description 28
- 230000007704 transition Effects 0.000 description 21
- 238000007476 Maximum Likelihood Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000006854 communication Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 241000256844 Apis mellifera Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011065 in-situ storage Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6325—Error control coding in combination with demodulation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3961—Arrangements of methods for branch or transition metric calculation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/47—Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Dc Digital Transmission (AREA)
Abstract
(57)【要約】
【目的】 高レートトレリス符号の面積効率の良い復号
を実現する。 【構成】 各処理要素に符号状態を割り当てる。次に、
符号化データごとに異なる計算済みパスメトリックおよ
びブランチメトリックを用いて処理要素内での新たなパ
スメトリックの計算をスケジューリングする。また、一
部の計算済みパスメトリックが順次アクセスされるよう
に各処理要素から計算済みパスメトリックへのアクセス
をスケジューリングする。以上のスケジューリングに従
って計算したパスメトリックの生き残りシーケンスを使
用して符号化前のデータを評価する。また、パスメトリ
ックは、後の計算におけるアクセスを容易にするため
に、計算後に再配列される。その方法は、パスメトリッ
クに対応するデータ点をいくつかのスロットに分割し、
正しくないスロット位置を占めるデータ点を別のスロッ
ト位置に移動するようにデータ点を置換することにより
行われる。
を実現する。 【構成】 各処理要素に符号状態を割り当てる。次に、
符号化データごとに異なる計算済みパスメトリックおよ
びブランチメトリックを用いて処理要素内での新たなパ
スメトリックの計算をスケジューリングする。また、一
部の計算済みパスメトリックが順次アクセスされるよう
に各処理要素から計算済みパスメトリックへのアクセス
をスケジューリングする。以上のスケジューリングに従
って計算したパスメトリックの生き残りシーケンスを使
用して符号化前のデータを評価する。また、パスメトリ
ックは、後の計算におけるアクセスを容易にするため
に、計算後に再配列される。その方法は、パスメトリッ
クに対応するデータ点をいくつかのスロットに分割し、
正しくないスロット位置を占めるデータ点を別のスロッ
ト位置に移動するようにデータ点を置換することにより
行われる。
Description
【0001】
【産業上の利用分野】本発明は、符号化データの復号に
おける改良に関し、特に、レートk/n畳込み符号など
の高いレートのトレリス符号を用いて符号化されたデー
タの復号における改良に関する。
おける改良に関し、特に、レート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)
トレリス符号を2n+1点信号セットにマッピングしたも
のは、符号化しない2n点信号セットと比べて大幅な符
号化利得を得ることができる。与えられたアプリケーシ
ョンで達成される符号化利得の量はいくつかの要因、例
えば、符号レートおよび符号の状態数などに依存する。
一般に、符号レートは、符号ビットの各シーケンスを生
成するために使用される非符号化データビットの数の関
数であり、符号の状態数は例えば符号器メモリ内の記憶
要素の数の関数である。
は、トレリス符号などのデータ符号化技術を用いてデー
タストリームを符号化するのが好ましいことが多い。例
えば、ディジタル通信システムでは、変調データのトレ
リス符号化は、符号化したデータの適当なマッピングと
組み合わせれば、伝送信号パワーまたは帯域幅を増大さ
せずに、受信される信号の信号対雑音比を改善すること
ができる。(ジー.ウンガーベック(G. Ungerboeck)、
「マルチレベル/位相信号によるチャネル符号化(Chann
el Coding with Multilevel/Phase Signals)」、IEEE T
ransactions on Information Theory、第IT−28巻
第55〜67ページ(1982年1月)参照。)データ
符号化に帰することができる信号対雑音比の改善を符号
化利得といい、これは帯域幅効率を増大させる。上記の
ウンガーベックの論文によれば、レートn/(n+1)
トレリス符号を2n+1点信号セットにマッピングしたも
のは、符号化しない2n点信号セットと比べて大幅な符
号化利得を得ることができる。与えられたアプリケーシ
ョンで達成される符号化利得の量はいくつかの要因、例
えば、符号レートおよび符号の状態数などに依存する。
一般に、符号レートは、符号ビットの各シーケンスを生
成するために使用される非符号化データビットの数の関
数であり、符号の状態数は例えば符号器メモリ内の記憶
要素の数の関数である。
【0003】レートk/n畳込み符号は高レートトレリ
ス符号の一種である。レートk/n畳込み符号において
は、k個の非符号化データビットからなるグループ(デ
ータシンボルともいう)が、n個の符号ビットを用いて
符号化される。これをまとめて符号シンボルという。レ
ートk/n符号器は、シフトレジスタとして作用する符
号器メモリを含む。トレリス符号は、状態遷移をトレリ
スの形に図式化することが可能な符号の一般的なクラス
であるが、その状態遷移は必ずしもシフトレジスタのよ
うな特性を示す必要はない。低レート符号としてはレー
ト1/n畳込み符号がある。これは、各1ビットデータ
シンボルがnビット符号シンボルを使用して符号化され
る。高レートおよび低レートのいずれの符号の場合も、
符号化されたデータは、周知のビタビ最尤アルゴリズム
を実装したハードウェアを使用して復号されることが多
い。このアルゴリズムは、例えば、ジー.ディ.フォー
ニー、ジュニア(G. D. Forney, Jr.)、「ビタビアルゴ
リズム(The Viterbi Algorithm)」、Proceedings of th
e IEEE、第268〜278ページ(1973年3月)に
記載されている。ビタビアルゴリズムは、有限状態マル
コフ過程の状態シーケンスを評価する問題の再帰的解法
である。畳込み符号を使用してデータを符号化する過程
のようなマルコフ過程では、時刻t+1に与えられた状
態xt+1にある確率は、時刻tにおける状態xt(先行状
態ということにする)のみに依存する。ビタビアルゴリ
ズムは、与えられた符号化データのセットに対して、可
能な状態遷移のトレリスを通る最尤パスを見つけるとい
う意味で、最適な復号を行う。
ス符号の一種である。レートk/n畳込み符号において
は、k個の非符号化データビットからなるグループ(デ
ータシンボルともいう)が、n個の符号ビットを用いて
符号化される。これをまとめて符号シンボルという。レ
ートk/n符号器は、シフトレジスタとして作用する符
号器メモリを含む。トレリス符号は、状態遷移をトレリ
スの形に図式化することが可能な符号の一般的なクラス
であるが、その状態遷移は必ずしもシフトレジスタのよ
うな特性を示す必要はない。低レート符号としてはレー
ト1/n畳込み符号がある。これは、各1ビットデータ
シンボルがnビット符号シンボルを使用して符号化され
る。高レートおよび低レートのいずれの符号の場合も、
符号化されたデータは、周知のビタビ最尤アルゴリズム
を実装したハードウェアを使用して復号されることが多
い。このアルゴリズムは、例えば、ジー.ディ.フォー
ニー、ジュニア(G. D. Forney, Jr.)、「ビタビアルゴ
リズム(The Viterbi Algorithm)」、Proceedings of th
e IEEE、第268〜278ページ(1973年3月)に
記載されている。ビタビアルゴリズムは、有限状態マル
コフ過程の状態シーケンスを評価する問題の再帰的解法
である。畳込み符号を使用してデータを符号化する過程
のようなマルコフ過程では、時刻t+1に与えられた状
態xt+1にある確率は、時刻tにおける状態xt(先行状
態ということにする)のみに依存する。ビタビアルゴリ
ズムは、与えられた符号化データのセットに対して、可
能な状態遷移のトレリスを通る最尤パスを見つけるとい
う意味で、最適な復号を行う。
【0004】与えられた処理速度でビタビ復号アルゴリ
ズムを実装するのに要する回路面積を最小にすることを
企図した、いくつかの面積効率の良い復号器設計が、低
レート符号に対して開発されている。(例えば、ピー.
ジー.グラク(P. G. 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月)、および、エイチ
−ディ.リン(H-D. Lin)他、「畳込み符号に対する折返
しビタビ復号器(Folded Viterbi Decoders for Convolu
tional Codes)」、IEEE VLSI Signal Processing、第I
V巻、IEEE Press(1990年)参照。)しかし、高レ
ート符号は一般に、例えばビタビアルゴリズムを用いて
最大の符号化利得を与えるためにはずっと複雑なハード
ウェアのセットを必要とする。その結果、レートk/n
畳込み符号などの高レートトレリス符号に対して現在利
用可能な復号器は一般に、復号器の複雑さおよびコスト
を縮小するために、次善の復号を利用している。次善の
復号アルゴリズムの例は、例えば、アール.イー.ブラ
フット(R. E. Blahut)、「誤り制御符号の理論と実際(T
heory and Practice of Error Control Codes)」、Addi
son-Wesley,Reading、米国マサチューセッツ州(198
4年)の第382〜388ページに記載されている。残
念ながら、次善の復号アルゴリズムを使用することによ
り復号器ハードウェアの複雑さを縮小することは通常、
符号化利得を犠牲にしてしまう。
ズムを実装するのに要する回路面積を最小にすることを
企図した、いくつかの面積効率の良い復号器設計が、低
レート符号に対して開発されている。(例えば、ピー.
ジー.グラク(P. G. 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月)、および、エイチ
−ディ.リン(H-D. Lin)他、「畳込み符号に対する折返
しビタビ復号器(Folded Viterbi Decoders for Convolu
tional Codes)」、IEEE VLSI Signal Processing、第I
V巻、IEEE Press(1990年)参照。)しかし、高レ
ート符号は一般に、例えばビタビアルゴリズムを用いて
最大の符号化利得を与えるためにはずっと複雑なハード
ウェアのセットを必要とする。その結果、レートk/n
畳込み符号などの高レートトレリス符号に対して現在利
用可能な復号器は一般に、復号器の複雑さおよびコスト
を縮小するために、次善の復号を利用している。次善の
復号アルゴリズムの例は、例えば、アール.イー.ブラ
フット(R. E. Blahut)、「誤り制御符号の理論と実際(T
heory and Practice of Error Control Codes)」、Addi
son-Wesley,Reading、米国マサチューセッツ州(198
4年)の第382〜388ページに記載されている。残
念ながら、次善の復号アルゴリズムを使用することによ
り復号器ハードウェアの複雑さを縮小することは通常、
符号化利得を犠牲にしてしまう。
【0005】過度にハードウェアが複雑になる1つの理
由として、最適高レートビタビ復号器は一般に、先行状
態の可能なシーケンスの尤度を測るパスメトリックを並
列にアクセスし更新する処理要素を利用することがあ
る。その後、更新したパスメトリックを比較して、与え
られた符号化データのセットに対応する最尤状態シーケ
ンスを選択する。一般に、レートk/n復号器における
各処理要素は2k個の並列メトリック入力を必要とす
る。さらに、復号器処理要素の総数は一般に、所望され
る符号化利得の関数として増大するため、高レート符号
の復号器は非常に多数の処理要素を含むことが多い。そ
の結果、レートk/n復号器は一般に、レート1/n復
号器よりも、多くの相互接続を含み、ずっと大きい回路
面積を占めることになる。しかし、低レート符号に対し
て開発されている面積効率の良い技術は、一般に、多数
の並列入力処理要素の使用に伴って増大する回路面積の
問題を軽減しない。従って、現状では、費用効率の良い
方法で高レート符号の利点を達成するのは困難である。
由として、最適高レートビタビ復号器は一般に、先行状
態の可能なシーケンスの尤度を測るパスメトリックを並
列にアクセスし更新する処理要素を利用することがあ
る。その後、更新したパスメトリックを比較して、与え
られた符号化データのセットに対応する最尤状態シーケ
ンスを選択する。一般に、レートk/n復号器における
各処理要素は2k個の並列メトリック入力を必要とす
る。さらに、復号器処理要素の総数は一般に、所望され
る符号化利得の関数として増大するため、高レート符号
の復号器は非常に多数の処理要素を含むことが多い。そ
の結果、レートk/n復号器は一般に、レート1/n復
号器よりも、多くの相互接続を含み、ずっと大きい回路
面積を占めることになる。しかし、低レート符号に対し
て開発されている面積効率の良い技術は、一般に、多数
の並列入力処理要素の使用に伴って増大する回路面積の
問題を軽減しない。従って、現状では、費用効率の良い
方法で高レート符号の利点を達成するのは困難である。
【0006】
【発明が解決しようとする課題】上記のことから明らか
なように、高レートトレリス符号に対して、面積効率を
改良した復号器が必要とされている。この改良した復号
器は、次善の復号アルゴリズムに頼らずに、ハードウェ
アの複雑さを縮小すべきである。
なように、高レートトレリス符号に対して、面積効率を
改良した復号器が必要とされている。この改良した復号
器は、次善の復号アルゴリズムに頼らずに、ハードウェ
アの複雑さを縮小すべきである。
【0007】
【課題を解決するための手段】本発明は、レートk/n
畳込み符号のような高レートトレリス符号を使用して符
号化されたデータを復号する方法および装置を実現する
ものである。本発明の第1の特徴によれば、符号化され
たデータのストリームを復号する方法は、複数の復号器
処理要素のそれぞれに符号状態を割り当てるステップ
と、符号化されたデータごとに異なる計算済みのパスメ
トリックおよびブランチメトリックを使用して処理要素
内での複数の新たなパスメトリックの計算をスケジュー
リングするステップと、新たなパスメトリックを計算す
るために、計算済みパスメトリックの適当なセット内の
各計算済みパスメトリックが、与えられた処理要素によ
って順次アクセスされるように、各処理要素から計算済
みパスメトリックの当該適当なセットへのアクセスをス
ケジューリングするステップと、以上のスケジューリン
グステップに従って計算したパスメトリックの生き残り
シーケンスを使用して符号化前のデータを評価するステ
ップとからなる。本発明は特に、ビタビ最尤復号アルゴ
リズムとともに用いるのに適しているが、他の復号アル
ゴリズムとともに使用することも可能である。
畳込み符号のような高レートトレリス符号を使用して符
号化されたデータを復号する方法および装置を実現する
ものである。本発明の第1の特徴によれば、符号化され
たデータのストリームを復号する方法は、複数の復号器
処理要素のそれぞれに符号状態を割り当てるステップ
と、符号化されたデータごとに異なる計算済みのパスメ
トリックおよびブランチメトリックを使用して処理要素
内での複数の新たなパスメトリックの計算をスケジュー
リングするステップと、新たなパスメトリックを計算す
るために、計算済みパスメトリックの適当なセット内の
各計算済みパスメトリックが、与えられた処理要素によ
って順次アクセスされるように、各処理要素から計算済
みパスメトリックの当該適当なセットへのアクセスをス
ケジューリングするステップと、以上のスケジューリン
グステップに従って計算したパスメトリックの生き残り
シーケンスを使用して符号化前のデータを評価するステ
ップとからなる。本発明は特に、ビタビ最尤復号アルゴ
リズムとともに用いるのに適しているが、他の復号アル
ゴリズムとともに使用することも可能である。
【0008】本発明の第2の特徴によれば、2i個の処
理要素のそれぞれに符号状態を割り当てる方法は、符号
状態のグループを、その2進表示におけるi個のビット
の共通セットに基づいて分割し、各処理要素に、iビッ
トの共通セットを有する符号状態の分割されたグループ
を割り当てることによって行われる。本発明の一実施例
では、iビットのセットは、符号状態の2進表示のi個
の上位ビットのセットを表す。
理要素のそれぞれに符号状態を割り当てる方法は、符号
状態のグループを、その2進表示におけるi個のビット
の共通セットに基づいて分割し、各処理要素に、iビッ
トの共通セットを有する符号状態の分割されたグループ
を割り当てることによって行われる。本発明の一実施例
では、iビットのセットは、符号状態の2進表示のi個
の上位ビットのセットを表す。
【0009】本発明の第3の特徴によれば、パスメトリ
ック計算およびアクセススケジュールは、各処理要素が
計算済みパスメトリックの適当なセットに順次アクセス
をするために、2i個の処理要素のそれぞれによるメト
リックの計算およびメトリックへのアクセスを、i個の
復号器クロックサイクルだけずらす。
ック計算およびアクセススケジュールは、各処理要素が
計算済みパスメトリックの適当なセットに順次アクセス
をするために、2i個の処理要素のそれぞれによるメト
リックの計算およびメトリックへのアクセスを、i個の
復号器クロックサイクルだけずらす。
【0010】本発明の第4の特徴によれば、パスメトリ
ックは、後の計算におけるアクセスを容易にするため
に、計算後に再配列される。実施例のメトリック再配列
方法は、パスメトリックに対応するデータ点をいくつか
のスロットに分割するステップ(各スロット内のスロッ
ト位置の数をスロットサイズという)と、正しくないス
ロット位置を占めるデータ点を別のスロット位置に移動
するようにデータ点を置換するステップと、データ点を
いくつかのスロットに分割するステップと、置換するス
テップとを、所望のデータ点の配列が得られるまで繰り
返すステップとからなる。この方法の一実施例では、あ
るスロット内の正しくない位置のデータ点は、他のスロ
ット内の別々の位置に直接移動される。別の実施例で
は、データ点はまずあるスロット内のスロット境界付近
に収集された後、他のスロット内の別々の位置へ境界を
横切って移動される。
ックは、後の計算におけるアクセスを容易にするため
に、計算後に再配列される。実施例のメトリック再配列
方法は、パスメトリックに対応するデータ点をいくつか
のスロットに分割するステップ(各スロット内のスロッ
ト位置の数をスロットサイズという)と、正しくないス
ロット位置を占めるデータ点を別のスロット位置に移動
するようにデータ点を置換するステップと、データ点を
いくつかのスロットに分割するステップと、置換するス
テップとを、所望のデータ点の配列が得られるまで繰り
返すステップとからなる。この方法の一実施例では、あ
るスロット内の正しくない位置のデータ点は、他のスロ
ット内の別々の位置に直接移動される。別の実施例で
は、データ点はまずあるスロット内のスロット境界付近
に収集された後、他のスロット内の別々の位置へ境界を
横切って移動される。
【0011】本発明の特徴的な効果として、高レートト
レリス符号の最尤復号が実現される。従って、与えられ
た符号化方式によって、大幅に符号化利得が改善され、
その結果、多くの高レート復号器で現在利用されている
次善の復号に比べて帯域幅効率が改善される。
レリス符号の最尤復号が実現される。従って、与えられ
た符号化方式によって、大幅に符号化利得が改善され、
その結果、多くの高レート復号器で現在利用されている
次善の復号に比べて帯域幅効率が改善される。
【0012】本発明のもう1つの特徴的な効果として、
復号器の複雑さが大幅に縮小され、その結果、復号器を
実装するのに必要な回路面積が大幅に減少する。従っ
て、本発明は、実用的かつ費用効率の良い方法で、高レ
ート符号による帯域幅効率の利点を達成することができ
る。
復号器の複雑さが大幅に縮小され、その結果、復号器を
実装するのに必要な回路面積が大幅に減少する。従っ
て、本発明は、実用的かつ費用効率の良い方法で、高レ
ート符号による帯域幅効率の利点を達成することができ
る。
【0013】
【実施例】本発明は、例えばレートk/n畳込み符号の
ような高いレートのトレリス符号を用いて符号化された
データを復号する方法および装置を提供する。ここで、
「トレリス符号」という用語は、トレリス線図の形でモ
デル化されるような状態遷移を有する任意の種類の符号
を指す。畳込み符号はトレリス符号の一種である。「高
レート(高いレート)」という用語は、レート1/nよ
り大きい符号レートを指す。「面積効率の良い復号器」
という用語は、与えられた処理速度において、従来の復
号器と比べて、占有する回路面積が小さい復号器の実装
を指す。以下の説明では、2進ストリングを表すのに括
弧の対を使用する。例えば、符号状態「7」は(001
11)と書き、処理要素「2」を処理要素(10)と書
く。同様に、(abc)という形の表現では、変数a、
bおよびcが2進値のみをとることを意味する。
ような高いレートのトレリス符号を用いて符号化された
データを復号する方法および装置を提供する。ここで、
「トレリス符号」という用語は、トレリス線図の形でモ
デル化されるような状態遷移を有する任意の種類の符号
を指す。畳込み符号はトレリス符号の一種である。「高
レート(高いレート)」という用語は、レート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型フリップフロップである。符号器メモ
リの内容は、以下で詳細に説明するように、符号器の状
態を決定する。
ットの各グループ(すなわちデータシンボル)が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は、ともに、2k
を基数とするシフトレジスタとして作用し、任意の与え
られた時刻に2k個の非符号化データビットを含む。こ
れに対して、レート1/n符号器の符号器記憶要素は2
進シフトレジスタとして作用する。上記のように、この
シフトレジスタのような挙動は、より一般的なクラスの
トレリス符号から畳込み符号を区別するものである。
を通る非符号化データをクロックするために、共通の符
号器クロック信号を使用する。符号器クロック信号周期
は、符号器シンボルレートの逆数であり、符号器状態
は、符号器クロック信号の各サイクル中に2個の新しい
入力b0、b1を使用して更新される。符号化出力c
0、c1およびc2は、記憶要素12、14、16から
クロック出力されたデータの論理関数であり、従って、
符号化状態を反映する。符号化ロジック18内で実行さ
れる論理関数のタイプは一般に符号器ごとに異なる。符
号器10の記憶要素12、14、16は、ともに、2k
を基数とするシフトレジスタとして作用し、任意の与え
られた時刻に2k個の非符号化データビットを含む。こ
れに対して、レート1/n符号器の符号器記憶要素は2
進シフトレジスタとして作用する。上記のように、この
シフトレジスタのような挙動は、より一般的なクラスの
トレリス符号から畳込み符号を区別するものである。
【0017】図1の(a)の実線で示された記憶要素1
2、14、16は、8状態レート2/3符号器を実装す
るために必要な要素に対応する。8個の状態は、(m2
m1m 0)の形のすべての可能なシーケンスによって2進
形式で表現される。ただし、m0、m1、およびm2はそ
れぞれ記憶要素12、14および16の2進値の内容で
ある。一般に、符号器状態の数は2jである。ただし、
jは符号器メモリ内の記憶要素の数に対応する。符号器
10では実線の3個の記憶要素12、14、16がある
ため、符号器10の実線バージョンは8個の可能な符号
状態を有する。さらに、符号器10の破線で示された記
憶要素20、22を含めることによって、記憶要素の総
数jは5になり、その場合、符号器10は32状態レー
ト2/3符号器として作用する。32個の状態は、(m
4m3m2m1m0)の形のすべての可能な2進シーケンス
によって表現される。ただし、m3およびm4はそれぞれ
追加した記憶要素20および22の内容である。
2、14、16は、8状態レート2/3符号器を実装す
るために必要な要素に対応する。8個の状態は、(m2
m1m 0)の形のすべての可能なシーケンスによって2進
形式で表現される。ただし、m0、m1、およびm2はそ
れぞれ記憶要素12、14および16の2進値の内容で
ある。一般に、符号器状態の数は2jである。ただし、
jは符号器メモリ内の記憶要素の数に対応する。符号器
10では実線の3個の記憶要素12、14、16がある
ため、符号器10の実線バージョンは8個の可能な符号
状態を有する。さらに、符号器10の破線で示された記
憶要素20、22を含めることによって、記憶要素の総
数jは5になり、その場合、符号器10は32状態レー
ト2/3符号器として作用する。32個の状態は、(m
4m3m2m1m0)の形のすべての可能な2進シーケンス
によって表現される。ただし、m3およびm4はそれぞれ
追加した記憶要素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つに遷移
することが可能であることを示している。
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における
過程の状態にのみ依存するというマルコフ過程畳込み符
号化をモデル化しているという事実によるものである。
トレリス内の状態の総数は、入力データシーケンスの長
さに対応するが、これは多くのアプリケーションでは無
限である。注意すべき点であるが、トレリス線図は動的
タイプのものも可能である。この場合のトレリス符号で
は、異なるステージは異なるセットの可能な状態遷移を
有する。一般に、静的トレリスは、各ステージに2j個
のノードを含み、各ノードはマルコフ過程の2j個の可
能な各状態に対応する。ただし、jは符号器メモリ内の
記憶要素の数である。レートk/n符号に対するトレリ
スは、各ノードからの2k個のブランチを有する。これ
は、対応する状態からの可能な遷移を示す。これに対し
て、レート1/n符号は、各ノードからのブランチが2
個だけのトレリスを有する。従って理解されるように、
トレリスの複雑さは、符号状態の数および符号レートの
関数である。トレリスが複雑になると、対応する復号プ
ロセスを実装する回路のハードウェアの複雑さが増大す
ることになる。
り、後のステージも時間の関数として同じものが反復す
るため、過程を完全に図示するには最初の2個のステー
ジのみを示せばよい。これは、トレリス線図30が、与
えられた時刻t+1における状態が前の時刻tにおける
過程の状態にのみ依存するというマルコフ過程畳込み符
号化をモデル化しているという事実によるものである。
トレリス内の状態の総数は、入力データシーケンスの長
さに対応するが、これは多くのアプリケーションでは無
限である。注意すべき点であるが、トレリス線図は動的
タイプのものも可能である。この場合のトレリス符号で
は、異なるステージは異なるセットの可能な状態遷移を
有する。一般に、静的トレリスは、各ステージに2j個
のノードを含み、各ノードはマルコフ過程の2j個の可
能な各状態に対応する。ただし、jは符号器メモリ内の
記憶要素の数である。レートk/n符号に対するトレリ
スは、各ノードからの2k個のブランチを有する。これ
は、対応する状態からの可能な遷移を示す。これに対し
て、レート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つが他の状態より尤度が高くなるように変化する。各
符号状態および可能な各符号シンボルごとに異なるブラ
ンチメトリックのセットがある。これらのブランチメト
リックの値は、事前に計算して例えばブランチメトリッ
クテーブルに記憶しておくことが可能である(詳細は後
述)。
使用して復号される。上記のビタビアルゴリズムは、特
に、通信チャネルを通じて伝送される符号化データに一
般的に生じるような、記憶のない雑音の存在下での復号
に適した最尤復号アルゴリズムである。ビタビアルゴリ
ズムは、最初は、畳込み符号化されたデータを検出する
技術として開発されたものであるが、その後に、より一
般的に、重みつきグラフを通る最短パスを見つける問題
に対する動的計画法の解を表すことが示されている。ビ
タビアルゴリズムは、符号器のトレリス線図を使用し
て、対応する符号化動作を再構成することによって、符
号シンボルのストリームを復号する。ステージ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におけ
る与えられたノードへの最も尤度の高い遷移に対応す
る。この和が、そのノードに対する新たなパスメトリッ
クとして選択される。このように、受信した符号語ごと
に新たなパスメトリックを計算する過程は一般に、計算
済みパスメトリックのセットにブランチメトリックを加
算し、更新したパスメトリックを比較し、最尤状態遷移
に対応する更新パスメトリックを新たなパスメトリック
として選択することを含む。このパスメトリック計算は
一般に復号器処理要素で実行される。
ジtの可能な各先行状態に対する計算済みパスメトリッ
クからなる適当なパスメトリックのセットにブランチメ
トリックを加算した後、各入力ブランチに対するその結
果の和を比較する。最小の和は、ステージt+1におけ
る与えられたノードへの最も尤度の高い遷移に対応す
る。この和が、そのノードに対する新たなパスメトリッ
クとして選択される。このように、受信した符号語ごと
に新たなパスメトリックを計算する過程は一般に、計算
済みパスメトリックのセットにブランチメトリックを加
算し、更新したパスメトリックを比較し、最尤状態遷移
に対応する更新パスメトリックを新たなパスメトリック
として選択することを含む。このパスメトリック計算は
一般に復号器処理要素で実行される。
【0023】与えられたノードにおいて計算された新た
なパスメトリックを生じる、トレリスを通る最尤状態遷
移に対応する符号化データシンボルのシーケンスを、生
き残りシーケンスという。生き残りシーケンスは、与え
られた符号シンボルのシーケンスに対してトレリスを通
る最尤パスをたどるので、受信符号シンボルに対応する
非符号化データシンボルのシーケンスを評価するために
使用することができる。トレリスの与えられたステージ
におけるノードごとに、新たなパスメトリックとそれに
対応する生き残りシーケンスの両方を計算し記憶する。
現符号シンボルに対して計算した新たなパスメトリック
は、そのシーケンス中の次の符号シンボルに対する新た
なパスメトリックを計算する際に計算済みパスメトリッ
クつぃてしようするまで一時的に記憶するだけでよい。
生き残りシーケンスを記憶するためのメモリは、いくつ
かの既知の技術のうちの任意のものを用いて実装可能で
ある。そのような技術のうちの1つに、メモリトレース
バックがあり、例えば、アール.サイファ(R. Cyphe
r)、シー.ビー.シュン(C. B. 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日)、に記載されている。
なパスメトリックを生じる、トレリスを通る最尤状態遷
移に対応する符号化データシンボルのシーケンスを、生
き残りシーケンスという。生き残りシーケンスは、与え
られた符号シンボルのシーケンスに対してトレリスを通
る最尤パスをたどるので、受信符号シンボルに対応する
非符号化データシンボルのシーケンスを評価するために
使用することができる。トレリスの与えられたステージ
におけるノードごとに、新たなパスメトリックとそれに
対応する生き残りシーケンスの両方を計算し記憶する。
現符号シンボルに対して計算した新たなパスメトリック
は、そのシーケンス中の次の符号シンボルに対する新た
なパスメトリックを計算する際に計算済みパスメトリッ
クつぃてしようするまで一時的に記憶するだけでよい。
生き残りシーケンスを記憶するためのメモリは、いくつ
かの既知の技術のうちの任意のものを用いて実装可能で
ある。そのような技術のうちの1つに、メモリトレース
バックがあり、例えば、アール.サイファ(R. Cyphe
r)、シー.ビー.シュン(C. B. 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と仮定することに
よって初期化される。ビタビアルゴリズムに関してさら
に詳細には、例えば、ジー.ディ.フォーニーの前掲論
文、および、ピー.ジー.グラク(P. G. 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月)、に記載されている。
ジへと進行し、受信符号シンボルに対してパスメトリッ
クを計算していくにつれて、前のステージのノードに対
する生き残りシーケンスは最尤パスに収束していく。生
き残りシーケンスは、復号過程が進行するとともに無限
に長くのびることになるため、シーケンスは、最も前に
評価したデータシンボルを取り出して復号器出力として
使用するために、定期的に打ち切られる。アルゴリズム
は、ステージt+1の各ノードに対する新たなパスメト
リックが、そのノードの可能な各先行状態に対する計算
済みパスメトリックと、受信符号化データシンボルに対
応するブランチメトリックのセットとに基づいて計算さ
れ記憶されるという意味で、再帰的に動作する。アルゴ
リズムは、例えば、図1の(b)のトレリスのステージ
0のノード32のような、トレリスの初期ステージの各
ノードに対してパスメトリック値を0と仮定することに
よって初期化される。ビタビアルゴリズムに関してさら
に詳細には、例えば、ジー.ディ.フォーニーの前掲論
文、および、ピー.ジー.グラク(P. G. 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ビタビ復号器における代表的な復号器
処理要素は、与えられたトレリスノードとその2k個の
可能な先行ノードとの間の最尤パスを決定するために2
k個の異なるパスメトリックにアクセスし、それらを更
新し、比較し、それらからの選択を行わなければならな
い。各パスメトリックのアクセス、更新および比較に1
単位のコストを仮定すると、レートk/n符号の場合の
各復号器処理要素は、レート1/n符号の場合の対応す
る処理要素よりも約0.6×2k倍高価になる。全体の
復号器のコストおよび複雑さを比較するためには、各処
理要素の追加コストを、復号器内の処理要素の総数倍し
なければならない。処理要素の数は一般に符号状態の
数、従って、所望される符号化利得の関数であるため、
復号器のコストおよび複雑さは、高い符号化利得のアプ
リケーションでは大幅に増大する。
ために使用するハードウェアの複雑さは、符号状態の数
および符号状態間の可能な遷移の数の関数である。例え
ば、レートk/nビタビ復号器における代表的な復号器
処理要素は、与えられたトレリスノードとその2k個の
可能な先行ノードとの間の最尤パスを決定するために2
k個の異なるパスメトリックにアクセスし、それらを更
新し、比較し、それらからの選択を行わなければならな
い。各パスメトリックのアクセス、更新および比較に1
単位のコストを仮定すると、レートk/n符号の場合の
各復号器処理要素は、レート1/n符号の場合の対応す
る処理要素よりも約0.6×2k倍高価になる。全体の
復号器のコストおよび複雑さを比較するためには、各処
理要素の追加コストを、復号器内の処理要素の総数倍し
なければならない。処理要素の数は一般に符号状態の
数、従って、所望される符号化利得の関数であるため、
復号器のコストおよび複雑さは、高い符号化利得のアプ
リケーションでは大幅に増大する。
【0026】処理要素の時分割を利用することによっ
て、符号状態の数を減少させることなく、処理要素の総
数を縮小することができる。しかし、時分割は一般的に
復号器全体の処理速度を減少させる。このようにして一
般に、復号器の設計は、少数の時分割処理要素を使用し
た低速処理と、例えば符号状態ごとに別々の処理要素を
使用した高速並列処理との間の速度−複雑さトレードオ
フを示す。時分割の程度は、通常、折返し係数Fによっ
て指定される。これは、処理要素の数に対する符号状態
の数の比である。折返し係数は、与えられた処理要素に
対して時分割方式でパスメトリックを計算することが必
要な、受信符号シンボルあたりの状態数を示す。例え
ば、4個の処理要素を使用する512状態の符号に対す
る復号器ではFは128である。512個の処理要素が
512状態符号に使用される場合は、折返しすなわち時
分割はなく、Fは1となる。後者の場合、復号器は状態
並列復号器であるという。
て、符号状態の数を減少させることなく、処理要素の総
数を縮小することができる。しかし、時分割は一般的に
復号器全体の処理速度を減少させる。このようにして一
般に、復号器の設計は、少数の時分割処理要素を使用し
た低速処理と、例えば符号状態ごとに別々の処理要素を
使用した高速並列処理との間の速度−複雑さトレードオ
フを示す。時分割の程度は、通常、折返し係数Fによっ
て指定される。これは、処理要素の数に対する符号状態
の数の比である。折返し係数は、与えられた処理要素に
対して時分割方式でパスメトリックを計算することが必
要な、受信符号シンボルあたりの状態数を示す。例え
ば、4個の処理要素を使用する512状態の符号に対す
る復号器ではFは128である。512個の処理要素が
512状態符号に使用される場合は、折返しすなわち時
分割はなく、Fは1となる。後者の場合、復号器は状態
並列復号器であるという。
【0027】折返し係数は、もう1つの重要な復号器の
パラメータに関係している。このパラメータは通常、パ
イプライン深度と呼ばれるものである。ビタビ復号に必
要な計算の多くはパイプライン化される。すなわち、別
個の関数演算の中間結果を一時的に記憶するためにラッ
チなどの記憶要素を使用して実行される。例えば、パイ
プライン化された処理要素は、パスメトリック計算に関
係する加算、比較および選択演算の中間結果を一時的に
記憶するためのラッチの直列配置を含む。パイプライン
深度とは、処理要素パイプライン中の記憶要素の数のこ
とをいう。復号器ハードウェアが100%利用されるよ
うな理想的復号器では、処理要素パイプライン深度は折
返し係数Fに等しい。しかし、多くの実際の復号器で
は、パイプラインを通じてのデータ処理のフローにおけ
る遅延やギャップによるハードウェアの非効率を補償す
るために、パイプライン深度はFより大きく設計され
る。従って、パイプラインクロックレートは一般に、符
号シンボルレートのF倍より大きく動作するように設計
される。ここで符号シンボルレートは、nビット符号シ
ンボルが符号器で発生されるレートに対応する。
パラメータに関係している。このパラメータは通常、パ
イプライン深度と呼ばれるものである。ビタビ復号に必
要な計算の多くはパイプライン化される。すなわち、別
個の関数演算の中間結果を一時的に記憶するためにラッ
チなどの記憶要素を使用して実行される。例えば、パイ
プライン化された処理要素は、パスメトリック計算に関
係する加算、比較および選択演算の中間結果を一時的に
記憶するためのラッチの直列配置を含む。パイプライン
深度とは、処理要素パイプライン中の記憶要素の数のこ
とをいう。復号器ハードウェアが100%利用されるよ
うな理想的復号器では、処理要素パイプライン深度は折
返し係数Fに等しい。しかし、多くの実際の復号器で
は、パイプラインを通じてのデータ処理のフローにおけ
る遅延やギャップによるハードウェアの非効率を補償す
るために、パイプライン深度はFより大きく設計され
る。従って、パイプラインクロックレートは一般に、符
号シンボルレートのF倍より大きく動作するように設計
される。ここで符号シンボルレートは、nビット符号シ
ンボルが符号器で発生されるレートに対応する。
【0028】従来技術による面積効率の良い復号器の設
計は一般に3つの基本的ステップを含む。第1に、各符
号状態を、復号器処理要素のうちの1つにマッピングす
る(すなわち、割り当てる)。第2に、各処理要素およ
びそれに割り当てられた符号状態に対するパスメトリッ
ク計算をスケジューリングする。最後に、符号状態マッ
ピングおよび計算スケジュールを実装するために適当な
回路構造を定義する。最初の2つのステップは、処理要
素ごとに、いずれのパスメトリックをどのような順序で
アクセスし更新するかを指定する。この情報と、符号ト
レリス構造に定義された状態遷移とに基づいて、処理要
素間に必要な通信を分析し、ハードウェア効率を決定す
ることができる。符号状態が少数である簡単な符号で
は、最も面積効率の良いマッピングおよびスケジューリ
ングを見つけるために全数探索を実行することも可能で
ある。しかし、このようなアプローチは複雑な符号に対
しては一般に実際的ではないため、他のタイプの復号器
設計技術が開発されている。
計は一般に3つの基本的ステップを含む。第1に、各符
号状態を、復号器処理要素のうちの1つにマッピングす
る(すなわち、割り当てる)。第2に、各処理要素およ
びそれに割り当てられた符号状態に対するパスメトリッ
ク計算をスケジューリングする。最後に、符号状態マッ
ピングおよび計算スケジュールを実装するために適当な
回路構造を定義する。最初の2つのステップは、処理要
素ごとに、いずれのパスメトリックをどのような順序で
アクセスし更新するかを指定する。この情報と、符号ト
レリス構造に定義された状態遷移とに基づいて、処理要
素間に必要な通信を分析し、ハードウェア効率を決定す
ることができる。符号状態が少数である簡単な符号で
は、最も面積効率の良いマッピングおよびスケジューリ
ングを見つけるために全数探索を実行することも可能で
ある。しかし、このようなアプローチは複雑な符号に対
しては一般に実際的ではないため、他のタイプの復号器
設計技術が開発されている。
【0029】レート1/n符号に対して開発された従来
技術の例としては、例えば、その場スケジューリング、
メトリック再配列、およびカスケードマッピングがあ
る。レート1/n符号に対するその場スケジューリング
は、例えば、エイチ−ディ.リン(H-D. 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月)、および、エイ
チ−ディ.リン(H-D. Lin)、シー.ビー.シュン(C. B.
Shung)、「ビタビアルゴリズムに対する一般的その場
スケジューリング(General In-Place Scheduling for t
he Viterbi Algorithm)」、Proceedings of ICASSP-91,
Toronto, Canada(1991年5月14〜17日)、に
記載されている。レート1/n符号に対するメトリック
再配列は、例えば、シー.ビー.シュン(C. B. Shung)
ほか、「ビタビアルゴリズムのための面積効率の良いア
ーキテクチャ(Area-Efficient Architectures for the
Viterbi Algorithm)」、Proceedings of GlobeCom 199
0、IEEE Press、第1787〜1793ページ、に記載
されている。レート1/n符号に対するカスケードマッ
ピングは、例えば、ピー.ジー.グラク(P. G. 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畳込み符
号に対するその場スケジューリングは、エイチ−ディ.
リンとシー.ビー.シュンの前掲論文に記載されてい
る。上記のように、これらの従来技術のいずれも、高レ
ート符号に対する十分に良い面積効率を実現していな
い。
技術の例としては、例えば、その場スケジューリング、
メトリック再配列、およびカスケードマッピングがあ
る。レート1/n符号に対するその場スケジューリング
は、例えば、エイチ−ディ.リン(H-D. 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月)、および、エイ
チ−ディ.リン(H-D. Lin)、シー.ビー.シュン(C. B.
Shung)、「ビタビアルゴリズムに対する一般的その場
スケジューリング(General In-Place Scheduling for t
he Viterbi Algorithm)」、Proceedings of ICASSP-91,
Toronto, Canada(1991年5月14〜17日)、に
記載されている。レート1/n符号に対するメトリック
再配列は、例えば、シー.ビー.シュン(C. B. Shung)
ほか、「ビタビアルゴリズムのための面積効率の良いア
ーキテクチャ(Area-Efficient Architectures for the
Viterbi Algorithm)」、Proceedings of GlobeCom 199
0、IEEE Press、第1787〜1793ページ、に記載
されている。レート1/n符号に対するカスケードマッ
ピングは、例えば、ピー.ジー.グラク(P. G. 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】本発明の一実施例では、2i個のパイプラ
イン化した処理要素を使用して2j状態レートk/n畳
込み符号に対する面積効率の良いビタビ復号器を構成す
る(ただし0<i<j)という復号器設計技術を提供す
る。得られる復号器の複雑さは非常に小さいため、従来
技術を使用して開発された復号器に比べて面積効率が改
善される。
イン化した処理要素を使用して2j状態レートk/n畳
込み符号に対する面積効率の良いビタビ復号器を構成す
る(ただし0<i<j)という復号器設計技術を提供す
る。得られる復号器の複雑さは非常に小さいため、従来
技術を使用して開発された復号器に比べて面積効率が改
善される。
【0031】本発明の1つの特徴には、符号状態を復号
器処理要素に割り当てるステップが含まれる。各処理要
素は、それに割り当てられた符号状態に対する新たなパ
スメトリックを計算する。一実施例では、この割当てス
テップには、分割(詳細は後述)に基づく最上位ビット
(MSB)が関係する。これにより一般に処理要素間の
一様な通信が得られる。既に図1の(a)に関して述べ
たように、2j状態レートk/n畳込み符号の符号器メ
モリは、基数2kのシフトレジスタとして作用する。一
般性を失うことなく、以下の説明では、符号器メモリ内
の記憶要素は、長い方の符号器記憶要素の列中の左端の
記憶要素が符号の最下位ビット(LSB)に割り当てら
れるように配置されると仮定する。例えば、図1の
(a)の符号器10では、LSBm0は記憶要素12に
割り当てられる。図1の(a)に示されているように、
基数2kのシフトレジスタの内容は、jビットの2進ス
トリング(mj-1...m1m0)として書くことができる。
ここで、ビットは、MSBmj- 1がレジスタ内の最も古
いビットであり、LSBm0がレジスタ内の最も新しい
ビットであるように順序づけられる。2進ストリングの
ビットは、図1の(a)のラベルm4、m3、m2、m1お
よびm0によって識別され、符号器状態の2進表示に対
応する。符号器へのkビット入力が(bk-1...b1b0)
によって与えられる場合、符号器の次状態は(mj-k-1
mj-k-2...m1m0bk-1...b1b0)によって与えられ
る。例えば、符号器10の32状態レート2/3バージ
ョンの符号器メモリ内容が(abcde)によって与え
られ、(fg)の入力(b1b0)を受信した場合、符号
器の次状態は(cdefg)である。処理要素への符号
状態の割当ては、復号器内の処理要素網に対する配置も
定義する。
器処理要素に割り当てるステップが含まれる。各処理要
素は、それに割り当てられた符号状態に対する新たなパ
スメトリックを計算する。一実施例では、この割当てス
テップには、分割(詳細は後述)に基づく最上位ビット
(MSB)が関係する。これにより一般に処理要素間の
一様な通信が得られる。既に図1の(a)に関して述べ
たように、2j状態レートk/n畳込み符号の符号器メ
モリは、基数2kのシフトレジスタとして作用する。一
般性を失うことなく、以下の説明では、符号器メモリ内
の記憶要素は、長い方の符号器記憶要素の列中の左端の
記憶要素が符号の最下位ビット(LSB)に割り当てら
れるように配置されると仮定する。例えば、図1の
(a)の符号器10では、LSBm0は記憶要素12に
割り当てられる。図1の(a)に示されているように、
基数2kのシフトレジスタの内容は、jビットの2進ス
トリング(mj-1...m1m0)として書くことができる。
ここで、ビットは、MSBmj- 1がレジスタ内の最も古
いビットであり、LSBm0がレジスタ内の最も新しい
ビットであるように順序づけられる。2進ストリングの
ビットは、図1の(a)のラベルm4、m3、m2、m1お
よびm0によって識別され、符号器状態の2進表示に対
応する。符号器へのkビット入力が(bk-1...b1b0)
によって与えられる場合、符号器の次状態は(mj-k-1
mj-k-2...m1m0bk-1...b1b0)によって与えられ
る。例えば、符号器10の32状態レート2/3バージ
ョンの符号器メモリ内容が(abcde)によって与え
られ、(fg)の入力(b1b0)を受信した場合、符号
器の次状態は(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とした復号器である。
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に接続される。
処理要素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】一般に、2j状態レートk/n符号に対し
て、本発明による、2i個(ただしi≧k)の処理要素
を有する面積効率の良い復号器は、2i状態レートk/
n符号に対する状態並列復号器に対応する配置を有す
る。i<kの場合、復号器の配置は、2i個の処理要素
の完全相互接続網のものに対応する。従って、本発明の
復号器は、異なる数の符号状態を有する他のレートk/
n符号に対しても利用可能である。
て、本発明による、2i個(ただしi≧k)の処理要素
を有する面積効率の良い復号器は、2i状態レートk/
n符号に対する状態並列復号器に対応する配置を有す
る。i<kの場合、復号器の配置は、2i個の処理要素
の完全相互接続網のものに対応する。従って、本発明の
復号器は、異なる数の符号状態を有する他のレートk/
n符号に対しても利用可能である。
【0035】上記のように、本発明による、符号状態の
復号器処理要素への割当ては、例えば、符号状態のMS
B分割に基づく。MSB分割では、2i個の処理要素は
2j状態レート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を処理
し、などとなる。
復号器処理要素への割当ては、例えば、符号状態のMS
B分割に基づく。MSB分割では、2i個の処理要素は
2j状態レート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)のす
べての値に対して得られる。より一般的にいえば、2i
個の処理要素を使用して2j状態レートk/n畳込み符
号を復号する場合、状態(mj-1...m1m0)の先行状態
は、z0,z1,...,zk-1のすべての可能な値に対して
(zk-1...z1z0mj-1...m1m0)となる。処理要素通
信パターンはiおよびkの相対的な値に依存する。i<
kの場合、PE(di-1...d1d0)は2i個の処理要素
のそれぞれからの2k-1個のパスメトリックにアクセス
する。i≧kの場合、PE(di-1...d1d0)は、
z0,z1,...,zk-1のすべての可能な値に対して2i
個の処理要素PE(zk-1...z1z0di-1...dk+1dk)
のそれぞれからの1個のパスメトリックにアクセスす
る。いずれの場合にも、各処理要素に対する通信パター
ンは、特定のPE(di-1...d1d0)に割り当てられる
符号状態の特定のグループとは独立である。
ての下では、処理要素間の通信はほとんど一様である。
例えば、図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)のす
べての値に対して得られる。より一般的にいえば、2i
個の処理要素を使用して2j状態レートk/n畳込み符
号を復号する場合、状態(mj-1...m1m0)の先行状態
は、z0,z1,...,zk-1のすべての可能な値に対して
(zk-1...z1z0mj-1...m1m0)となる。処理要素通
信パターンはiおよびkの相対的な値に依存する。i<
kの場合、PE(di-1...d1d0)は2i個の処理要素
のそれぞれからの2k-1個のパスメトリックにアクセス
する。i≧kの場合、PE(di-1...d1d0)は、
z0,z1,...,zk-1のすべての可能な値に対して2i
個の処理要素PE(zk-1...z1z0di-1...dk+1dk)
のそれぞれからの1個のパスメトリックにアクセスす
る。いずれの場合にも、各処理要素に対する通信パター
ンは、特定のPE(di-1...d1d0)に割り当てられる
符号状態の特定のグループとは独立である。
【0037】本発明のもう1つの特徴には、符号器内の
各処理要素に対するパスメトリックのアクセスおよび計
算のスケジュールを決定することが含まれる。上記のよ
うに、2jの符号状態は、例えばi個のMSBの共通セ
ットに基づいて、分割され復号器処理要素に割り当てら
れる。2i個の処理要素はそれぞれ、時分割方式でF個
の状態に対するパスメトリックを計算するために使用さ
れる。ただしFは折返し係数であり、2j-1に等しい。
特に、PE(di-1...d1d0)は、z0,z1,...,z
k-1のすべての可能な値に対して符号状態(di-1...d1
d0zj-i-1...z1z0)に対するパスメトリックを計算
する。1つの可能なパスメトリック計算スケジュール
は、符号状態の昇順に従うことである。次の表1に、3
2状態レート2/3符号および4個の処理要素復号器に
対して、昇順符号状態に基づいた、パスメトリック計算
スケジュールの例を示す。
各処理要素に対するパスメトリックのアクセスおよび計
算のスケジュールを決定することが含まれる。上記のよ
うに、2jの符号状態は、例えばi個のMSBの共通セ
ットに基づいて、分割され復号器処理要素に割り当てら
れる。2i個の処理要素はそれぞれ、時分割方式でF個
の状態に対するパスメトリックを計算するために使用さ
れる。ただしFは折返し係数であり、2j-1に等しい。
特に、PE(di-1...d1d0)は、z0,z1,...,z
k-1のすべての可能な値に対して符号状態(di-1...d1
d0zj-i-1...z1z0)に対するパスメトリックを計算
する。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が示されている。
るクロックサイクルを表す。各処理要素は、各復号器ク
ロックサイクル中に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は、受信符号シンボルごとに反復されるの
で、符号シンボル周期ともいう。
トリックを計算するため、各処理要素は、その処理要素
に割り当てられた計算済みパスメトリックを含む、計算
済みパスメトリックの適当なセットにアクセスしなけれ
ばならない。計算済みパスメトリックとは、復号器で受
信した符号シンボルのストリーム中で前の符号シンボル
に対して計算されたパスメトリックである。このよう
に、現符号シンボルに対して計算される新たなパスメト
リックは、ストリーム中の次の符号シンボルに対する計
算済みパスメトリックとして使用される。上記のよう
に、状態(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]のすべてを計算し送
信するために利用可能である。
は、パスメトリック計算スケジュールとパスメトリック
アクセススケジュールの間には不一致がある。表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)復号器ク
ロックサイクルだけずらすことによって実現される。従
って、2i個の処理要素を有する復号器では、各処理要
素の計算およびアクセスのスケジュールはi個の復号器
クロックサイクルだけずらされる。32状態レート2/
3復号器に対する時間オフセット設定の例をそれぞれ表
3および表4のメトリックの計算およびアクセスのスケ
ジュールに示す。この例では、PE(00)のスケジュ
ールは不変であり、PE(01)、PE(10)および
PE(11)のスケジュールはそれぞれ1、2および3
個の復号器クロックサイクルだけずらされる。
昇順に基づくメトリック計算スケジューリングに固有の
潜在的なタイミング制限を軽減する。この実施例では、
各処理要素に対するメトリックの計算およびアクセスの
スケジュールは時間的にずらされる(オフセットされ
る)。その時間オフセットは、例えば、PE(ab)の
計算およびアクセスのスケジュールを(ab)復号器ク
ロックサイクルだけずらすことによって実現される。従
って、2i個の処理要素を有する復号器では、各処理要
素の計算およびアクセスのスケジュールは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に対して同時に計算される。同
様に、復号器内の各処理要素は、そのセット内の計算済
みパスメトリックに順にアクセスする。本発明のこの順
アクセス実施例で使用するのに適した処理要素設計の例
については後述する。上記の復号器クロックサイクルオ
フセットおよび同時メトリック計算の利点は、処理要素
間の通信のバースト性をなめらかにすることにつながる
ため、ハードウェア効率を改善することである。
よびアクセスのスケジュールは、各処理要素に対して、
計算済みメトリックの適当なセットへの順アクセスを提
供しており、これによって、表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のスケジ
ュールに基づいても構成することができる。例えば、本
発明のパイプライン化した処理要素およびメトリック再
配列技術(いずれも詳細は後述)は、復号器クロックサ
イクルをずらさずに、計算済みパスメトリックへの順ア
クセスを提供する。このような実施例は、他の処理要素
でパスメトリックを計算しながら、与えられた処理要素
のパイプラインに計算済みまたは部分的に計算済みのパ
スメトリックを一時的に記憶することによって、復号器
のタイミングを改善する。
的なタイミング制限は表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メモリアレイに行の順序
で記憶した後、列の順序で読み出すことによって所望の
シーケンスでメトリックにアクセスする。
アクセススケジュールを実装するためのメトリック再配
列技術が含まれる。表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畳込み符号では、所
望のメトリック再配列は代表的には2p個のメトリック
の2qウェイ交錯によるものである。ただしpおよびq
はアプリケーションに依存する。i≧kの復号器では、
p=j−iであり、q=kである。i<kの復号器で
は、時分割の結果として、メトリック再配列は一般に追
加の分割および反復を含む。上記の例における4×2メ
モリアレイのような転置メモリなどのメモリまたはレジ
スタに基づく技術は、2qウェイ交錯を実現するために
使用可能である。他の交錯技術には、シフト交換ユニッ
ト(SEU)と呼ばれる超大規模集積(VLSI)構造
の使用がある。SEUは一般的に、いくつかのパイプラ
イン化されたラッチを有し、パイプラインデータの固定
サイズ置換を実装する(詳細は図11について後述)。
SEUの詳細は、例えば、上記のシー.ビー.シュンほ
かによる論文に記載されている。本発明のアクセススケ
ジュールを提供するためにメトリックを再配列するに
は、他の交錯技術を使用することも可能である。
望のメトリック再配列は代表的には2p個のメトリック
の2qウェイ交錯によるものである。ただしpおよびq
はアプリケーションに依存する。i≧kの復号器では、
p=j−iであり、q=kである。i<kの復号器で
は、時分割の結果として、メトリック再配列は一般に追
加の分割および反復を含む。上記の例における4×2メ
モリアレイのような転置メモリなどのメモリまたはレジ
スタに基づく技術は、2qウェイ交錯を実現するために
使用可能である。他の交錯技術には、シフト交換ユニッ
ト(SEU)と呼ばれる超大規模集積(VLSI)構造
の使用がある。SEUは一般的に、いくつかのパイプラ
イン化されたラッチを有し、パイプラインデータの固定
サイズ置換を実装する(詳細は図11について後述)。
SEUの詳細は、例えば、上記のシー.ビー.シュンほ
かによる論文に記載されている。本発明のアクセススケ
ジュールを提供するためにメトリックを再配列するに
は、他の交錯技術を使用することも可能である。
【0050】これから、SEUなどの回路構造を使用し
てデータ点の2qウェイ交錯を実装するのに適した、本
発明によるメトリック再配列技術について説明する。例
示的な再配列技術について説明するために、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)、および復号器内のその他の処理要素
によってアクセスされる。
てデータ点の2qウェイ交錯を実装するのに適した、本
発明によるメトリック再配列技術について説明する。例
示的な再配列技術について説明するために、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スロット
内のあるスロット位置に記憶されるデータ点は、与えら
れたステップサイズの置換をデータ点に適用することに
よって、他のスロット内の異なるスロット位置に移動さ
れる。移動されるデータ点は、現在のスロット内で正し
くないスロット位置を占めるものであることもあり、ま
た、各データ点に対する現在のスロット位置を所望のス
ロット位置と比較することによって識別されるものであ
ることもある。置換ステップサイズは、与えられたデー
タ点が移動の結果としてシフトされるスロット位置の総
数である。最後に、データ点をスロットに分割するステ
ップおよび置換を適用するステップは、データ点の所望
の順列が得られるまで、異なるスロットサイズを用いて
再帰的に反復される。スロットサイズは一般に再配列ス
テップの反復とともに減少する。また、ステップサイズ
は一般に新たなスロットサイズとともに変化し、データ
点配列における所望の置換を提供するために、与えられ
たスロットサイズに対していくつかの異なるステップサ
イズを使用することも可能である。
ク再配列技術の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を使用してこの技術をハードウェア実
装する際には長い配線長が必要となるため、好ましくな
いことがある。
再配列を示す。再配列プロセスの各ステップに示されて
いるデータ点のセットは、例えば、与えられた符号シン
ボルに対して復号器処理要素によって計算されたパスメ
トリックのセットを表す。データ点の列は、例えば、一
時記憶要素のグループに記憶される。破線が、データ点
のセットを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までに、
すべてのデータ点は所望のスロット位置に入り、この収
集移動再配列プロセスは完了する。この再配列技術は、
高レートビタビ復号器で計算されたパスメトリックの再
配列に特に適しているが、複数のデータ点を交錯するこ
とを含む他のアプリケーションにも有用であることが理
解されるべきである。
イズの制限を解決するもう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畳込み符号の場合に
は、例えば、エイチ−ディ.リン(H-D. 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にデータ点を通すことにより異
なるスロットサイズを使用して反復される。
メトリック再配列は、例えば、固定ステップ置換を行う
いくつかのSEUを縦続することによって実装される。
このような実装は、レート1/n畳込み符号の場合に
は、例えば、エイチ−ディ.リン(H-D. 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で
ある。
ラッチの数は、置換ステップサイズに対応する。従っ
て、ハードウェアの複雑さは、置換ステップサイズの最
小和を与える再配列方法を選択することによって縮小さ
れる。図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個を、パスメトリック
計算および分配のパイプライン化のために残すことがで
きる。
技術の転置メモリ法よりも効率的である。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は、再
配列したメトリックを適当な処理要素に分配する。
テクチャは、図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畳込み符号では、並列アクセス処理要素は、
2k個の並列メトリック入力と、2k個の加算器と、2k
−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は、既に詳細に説明
したように、一般に高レート符号に対する面積効率の良
い復号器アーキテクチャを提供することができない。
般に並列に計算済みパスメトリックにアクセスしそれを
更新した後、更新したメトリックのうち最小のものを現
在のトレリスノードの新しいパスメトリックとして選択
する。図8に、並列メトリックアクセスを使用する従来
の処理要素105を示す。処理要素105は、レートk
/n畳込み符号の復号器で使用可能である。一般に、レ
ートk/n畳込み符号では、並列アクセス処理要素は、
2k個の並列メトリック入力と、2k個の加算器と、2k
−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に対する新たなパス
メトリックはすべて完全に計算される。
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個だけのメトリック入力と、
2k個の加算器と、2k個の比較/選択ユニットを使用す
る。さらに、一度に1個の計算済みパスメトリックへの
順アクセスを使用して4個のメトリックを計算するた
め、一部計算パスメトリックの記憶のために2k個のラ
ッチを使用する。SEU156への新たなパスメトリッ
クΓH、ΓG、ΓFおよびΓEのロードは、さらに適当な初
期順序にメトリックを配列することによって、符号構造
に依存して、あるアプリケーションではメトリック再配
列を容易にするために使用することができる。
クはΓH、ΓG、ΓFおよびΓEとラベルされ、表3および
表4のPE0の例では状態0、1、2、および3に対す
る新たなパスメトリックに対応する。これらの新たなパ
スメトリックが計算されている間、入力パスメトリック
ΓAは、復号器クロックサイクルt0、t1、t2およ
びt3にわたって、符号状態0、8、16および24に
対する計算済みパスメトリックを表す。完全に計算され
ると、これらの新たなパスメトリックはそれぞれ、いく
つかのSEU156を含むメトリック再配列手段にロー
ドされ、そこでメトリック再配列が上記のようにして実
行される。メトリック再配列手段は、処理要素135に
よって計算されたメトリックが復号器内の他の処理要素
によって正しくアクセスされることを保証する。順アク
セス処理要素135は、1個だけのメトリック入力と、
2k個の加算器と、2k個の比較/選択ユニットを使用す
る。さらに、一度に1個の計算済みパスメトリックへの
順アクセスを使用して4個のメトリックを計算するた
め、一部計算パスメトリックの記憶のために2k個のラ
ッチを使用する。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の後に配置することが可能である。
素のもう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復号器に対する従来の処理要素の複雑さのオーダー
である。
ると、少なくとも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の
固定ステップ置換を行うことになる。
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月)、に記載されているデー
タフォーマット変換器がある。
ライン化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畳込み符号の場合の本発明の説明であるが、トレリス
型の状態遷移を有する他のタイプの符号も使用可能であ
ることは理解されるべきである。説明した構成にはさま
ざまな変形が可能である。例えば、符号状態を処理要素
に割り当てるのに別の方式を使用すること、パスメトリ
ックの計算およびアクセスのスケジュールに別の時間オ
フセット量を適用すること、他のメトリック再配列方式
を使用すること、復号器処理要素の構造および相互接続
を変更することが可能である。さらに、ここで開示した
メトリック再配列方式は、交錯符号化において使用する
のに好適であり、処理要素の構造は、他の復号アプリケ
ーションでも使用可能である。
n畳込み符号の場合の本発明の説明であるが、トレリス
型の状態遷移を有する他のタイプの符号も使用可能であ
ることは理解されるべきである。説明した構成にはさま
ざまな変形が可能である。例えば、符号状態を処理要素
に割り当てるのに別の方式を使用すること、パスメトリ
ックの計算およびアクセスのスケジュールに別の時間オ
フセット量を適用すること、他のメトリック再配列方式
を使用すること、復号器処理要素の構造および相互接続
を変更することが可能である。さらに、ここで開示した
メトリック再配列方式は、交錯符号化において使用する
のに好適であり、処理要素の構造は、他の復号アプリケ
ーションでも使用可能である。
【0066】
【発明の効果】以上述べたごとく、本発明によれば、高
レートトレリス符号の最尤復号が実現される。従って、
与えられた符号化方式によって、大幅に符号化利得が改
善され、その結果、多くの高レート復号器で現在利用さ
れている次善の復号に比べて帯域幅効率が改善される。
本発明のもう1つの特徴的な効果として、復号器の複雑
さが大幅に縮小され、その結果、復号器を実装するのに
必要な回路面積が大幅に減少する。従って、本発明は、
実用的かつ費用効率の良い方法で、高レート符号による
帯域幅効率の利点を達成することができる。
レートトレリス符号の最尤復号が実現される。従って、
与えられた符号化方式によって、大幅に符号化利得が改
善され、その結果、多くの高レート復号器で現在利用さ
れている次善の復号に比べて帯域幅効率が改善される。
本発明のもう1つの特徴的な効果として、復号器の複雑
さが大幅に縮小され、その結果、復号器を実装するのに
必要な回路面積が大幅に減少する。従って、本発明は、
実用的かつ費用効率の良い方法で、高レート符号による
帯域幅効率の利点を達成することができる。
【図1】(a)は、従来技術による通常のレートk/n
畳込み符号器のブロック図である。(b)は、(a)の
従来技術の畳込み符号器に対応するトレリス線図であ
る。
畳込み符号器のブロック図である。(b)は、(a)の
従来技術の畳込み符号器に対応するトレリス線図であ
る。
【図2】折返し係数2の、本発明による32状態レート
2/3復号器の例のブロック図である。
2/3復号器の例のブロック図である。
【図3】図2の復号器に対応するトレリス線図である。
【図4】(a)は、折返し係数4の、本発明による32
状態レート2/3復号器の例のブロック図である。
(b)は、(a)の復号器に対応するトレリス線図であ
る。
状態レート2/3復号器の例のブロック図である。
(b)は、(a)の復号器に対応するトレリス線図であ
る。
【図5】(a)は、折返し係数16の、本発明による3
2状態レート2/3復号器の例のブロック図である。
(b)は、(a)の復号器に対応するトレリス線図であ
る。
2状態レート2/3復号器の例のブロック図である。
(b)は、(a)の復号器に対応するトレリス線図であ
る。
【図6】本発明による直接移動法を用いた16個のデー
タ点の4ウェイ交錯のための再配列ステップのセットの
例の図である。
タ点の4ウェイ交錯のための再配列ステップのセットの
例の図である。
【図7】本発明による収集移動法を用いた16個のデー
タ点の4ウェイ交錯のための再配列ステップのセットの
例の図である。
タ点の4ウェイ交錯のための再配列ステップのセットの
例の図である。
【図8】従来技術による通常の並列アクセス復号器処理
要素のブロック図である。
要素のブロック図である。
【図9】図2〜図5の復号器で使用するのに適した、本
発明による直列アクセス処理要素の実施例のブロック図
である。
発明による直列アクセス処理要素の実施例のブロック図
である。
【図10】図2〜図5の復号器で使用するのに適した、
本発明による直列アクセス処理要素のもう1つの実施例
のブロック図である。
本発明による直列アクセス処理要素のもう1つの実施例
のブロック図である。
【図11】図9および図10の処理要素で使用するのに
適した、ステップサイズ2の置換を行うシフト交換ユニ
ット(SEU)の例の図である。
適した、ステップサイズ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 パイプライン出力
Claims (20)
- 【請求項1】 高レートトレリス符号を使用して符号化
された符号シンボルのストリームを復号する方法におい
て、 複数の処理要素を有する復号器を設けるステップと、 各処理要素が割り当てられた符号状態に対する新たなパ
スメトリックを計算するように、前記高レートトレリス
符号の少なくとも1つの相異なる符号状態を各処理要素
に割り当てるステップと、 現在の符号シンボルとともに変化するブランチメトリッ
クを使用して、先行する符号シンボルに対して計算され
た計算済みパスメトリックの更新に基づいて各処理要素
内で現在の符号シンボルに対して行われる新たなパスメ
トリックの計算をスケジューリングするステップと、 与えられた処理要素がセット内の各計算済みパスメトリ
ックに順次アクセスするように処理要素に割り当てられ
た前記符号状態の先行符号状態に対する計算済みパスメ
トリックを含むセットのうちの1つへの各処理要素のア
クセスをスケジューリングするステップと、 先行する符号シンボルに対して計算される新たなパスメ
トリックが現在の符号シンボルに対する新たなパスメト
リックを計算する際に計算済みパスメトリックとして用
いられるように、前記計算をスケジューリングするステ
ップおよび前記アクセスをスケジューリングするステッ
プにおいてそれぞれ決定された計算スケジュールおよび
アクセススケジュールを使用して、前記復号器において
各符号シンボルが受信されるごとに、各符号状態に対す
る新たなパスメトリックを計算するステップと、 前記パスメトリックの生き残りシーケンスを使用して、
前記符号シンボルに対応する非符号化データシンボルを
評価するステップとからなることを特徴とするデータ復
号方法。 - 【請求項2】 後のパスメトリック計算のためのアクセ
スのスケジューリングを容易にするために、新たなパス
メトリックを再配列するステップをさらに有することを
特徴とする請求項1の方法。 - 【請求項3】 前記復号器は2i個の処理要素を有し、
前記割り当てるステップは、2進表示でiビットの共通
セットを有する符号状態のグループを各処理要素に割り
当てるステップを含むことを特徴とする請求項1の方
法。 - 【請求項4】 前記高レートトレリス符号がレートk/
n畳込み符号であることを特徴とする請求項1の方法。 - 【請求項5】 前記復号器は2i個の処理要素を有し、
前記計算をスケジューリングするステップおよび前記ア
クセスをスケジューリングするステップは、各処理要素
が前記計算済みパスメトリックのセットに順次アクセス
するために、2i個の処理要素のそれぞれによるパスメ
トリックの計算およびパスメトリックへのアクセスをi
個の復号器クロックサイクルだけずらすステップを含む
ことを特徴とする請求項1の方法。 - 【請求項6】 前記計算をスケジューリングするステッ
プは、前記符号状態の昇順に新たなパスメトリックの計
算をスケジューリングするステップを含むことを特徴と
する請求項1の方法。 - 【請求項7】 前記再配列するステップは、 パスメトリックに対応するデータ点のセットを、各スロ
ット内のスロット位置の数に対応するスロットサイズを
それぞれ有するいくつかのスロットに分割するステップ
と、 正しくないスロット位置を示すデータ点が別のスロット
位置に移動するようにデータ点を置換するステップと、 異なるスロットサイズを使用して、データ点の所望の順
列が得られるまで、前記分割するステップおよび前記置
換するステップを反復するステップとをさらに有するこ
とを特徴とする請求項2の方法。 - 【請求項8】 前記置換するステップは、あるスロット
内の正しくないスロット位置を占めるデータ点を、別の
スロット内の別のスロット位置へ直接移動するステップ
を含むことを特徴とする請求項7の方法。 - 【請求項9】 前記置換するステップは、 正しくないスロット位置のデータ点を、2つのスロット
を分ける境界付近の一時的スロット位置のデータ点と交
換することによって、正しくないスロット位置を占める
データ点を2つのスロットを分ける境界付近の一時的ス
ロット位置に収集するステップと、 一方のスロット内の一時的スロット位置のデータ点を、
他方のスロット内の別のスロット位置に移動するステッ
プとを含むことを特徴とする請求項7の方法。 - 【請求項10】 高レートトレリス符号を使用して符号
化された符号シンボルのストリームを復号する装置にお
いて、 符号シンボルとともに変化するブランチメトリックを使
用して計算済みパスメトリックを更新することによっ
て、割り当てられた各符号状態に対して新たなパスメト
リックを計算するように、少なくとも1つの符号状態が
それぞれ割り当てられた複数の処理要素と、 処理要素に割り当てられた前記符号状態の先行符号状態
に対する計算済みパスメトリックを含むセットに各処理
要素が順次アクセスするように、パスメトリックの計算
およびアクセスのスケジュールに従って、各処理要素の
出力を他の処理要素に分配する複数のパスメトリック分
配ノードとからなることを特徴とするデータ復号装置。 - 【請求項11】 前記複数の処理要素は2i個の処理要
素を含み、2進表示でiビットの共通セットを有する符
号状態のグループが2i個の処理要素のそれぞれに割り
当てられることを特徴とする請求項10の装置。 - 【請求項12】 前記符号がレートk/n畳込み符号で
あることを特徴とする請求項10の装置。 - 【請求項13】 前記複数の処理要素は2i個の処理要
素を含み、その2i個の処理要素のそれぞれによるパス
メトリックの計算および計算済みパスメトリックへのア
クセスを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の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US208542 | 1994-03-09 | ||
| US08/208,542 US5530707A (en) | 1994-03-09 | 1994-03-09 | Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07273671A true JPH07273671A (ja) | 1995-10-20 |
Family
ID=22774972
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7074727A Pending JPH07273671A (ja) | 1994-03-09 | 1995-03-08 | データ復号方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US5530707A (ja) |
| EP (1) | EP0674396A3 (ja) |
| JP (1) | JPH07273671A (ja) |
| CA (1) | CA2141014A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020522924A (ja) * | 2017-06-08 | 2020-07-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | アナログ信号から生成されるシーケンスに対応するシンボル値を検出する方法、及びシーケンス検出器 |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5530707A (en) * | 1994-03-09 | 1996-06-25 | At&T Corp. | Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes |
| JPH08278957A (ja) * | 1995-04-04 | 1996-10-22 | Fujitsu Ltd | 実行不可能解及び無限解の解析支援装置 |
| FR2738427B1 (fr) * | 1995-08-31 | 1997-11-21 | Sgs Thomson Microelectronics | Decodeur convolutif utilisant l'algorithme de viterbi |
| KR100195745B1 (ko) * | 1996-08-23 | 1999-06-15 | 전주범 | 비터비 복호화기의 가산 비교 선택 장치 |
| EP0851591B1 (en) * | 1996-12-24 | 2001-09-12 | Matsushita Electric Industrial Co., Ltd. | Data processor and data processing method |
| FI102335B1 (fi) | 1997-02-28 | 1998-11-13 | Nokia Telecommunications Oy | Vastaanottomenetelmä ja vastaanotin |
| US5938790A (en) * | 1997-03-04 | 1999-08-17 | Silicon Systems Research Ltd. | Sequence error event detection and correction using fixed block digital sum codes |
| EP0901234A3 (en) * | 1997-09-08 | 2004-06-16 | Lucent Technologies Inc. | Viterbi compare-select operation for two-bit traceback coding |
| US6094739A (en) * | 1997-09-24 | 2000-07-25 | Lucent Technologies, Inc. | Trellis decoder for real-time video rate decoding and de-interleaving |
| WO1999023760A1 (en) * | 1997-11-03 | 1999-05-14 | Harris Corporation | Receiver for a reconfigurable radio system and method therefor |
| US6256764B1 (en) * | 1997-11-26 | 2001-07-03 | Nortel Networks Limited | Method and system for decoding tailbiting convolution codes |
| US6381728B1 (en) * | 1998-08-14 | 2002-04-30 | Qualcomm Incorporated | Partitioned interleaver memory for map decoder |
| WO2000024173A2 (en) | 1998-10-16 | 2000-04-27 | Analog Devices, Inc. | Apparatus and method for determining the closest coset points in a trellis decoder |
| US6680986B1 (en) * | 1999-11-22 | 2004-01-20 | Intelsat Global Service Corporation | Method for implementing shared channel decoder for onboard processing satellites |
| JP3515720B2 (ja) * | 1999-11-22 | 2004-04-05 | 松下電器産業株式会社 | ビタビ復号器 |
| US7116710B1 (en) | 2000-05-18 | 2006-10-03 | California Institute Of Technology | Serial concatenation of interleaved convolutional codes forming turbo-like codes |
| KR100340222B1 (ko) * | 2000-05-22 | 2002-06-12 | 주민 | 다수준 격자부호변조방식의 복호화방법 및 장치 |
| US6944607B1 (en) * | 2000-10-04 | 2005-09-13 | Hewlett-Packard Development Compnay, L.P. | Aggregated clustering method and system |
| KR100605359B1 (ko) * | 2000-11-01 | 2006-07-28 | 삼성전자주식회사 | 광디스크용 고배속 비터비 검출기 |
| EP1220455A1 (en) * | 2000-12-29 | 2002-07-03 | Motorola, Inc. | Viterbi decoder, method and unit therefor |
| US7522678B2 (en) * | 2002-04-18 | 2009-04-21 | Infineon Technologies Ag | Method and apparatus for a data-dependent noise predictive viterbi |
| EP1413937A1 (en) * | 2002-10-21 | 2004-04-28 | ABB Schweiz AG | Finite state machine display for operator guidance |
| US7213196B2 (en) * | 2003-02-04 | 2007-05-01 | International Business Machines Corporation | Method and system for indexing a decoder |
| US20080109709A1 (en) * | 2003-08-19 | 2008-05-08 | Chao Cheng | Hardware-Efficient, Low-Latency Architectures for High Throughput Viterbi Decoders |
| US7308640B2 (en) * | 2003-08-19 | 2007-12-11 | Leanics Corporation | Low-latency architectures for high-throughput Viterbi decoders |
| GB0414793D0 (en) * | 2004-07-01 | 2004-08-04 | Ttp Communications Ltd | Determining characteristics of communications signals |
| US7603613B2 (en) * | 2005-02-17 | 2009-10-13 | Samsung Electronics Co., Ltd. | Viterbi decoder architecture for use in software-defined radio systems |
| US20070011557A1 (en) * | 2005-07-07 | 2007-01-11 | Highdimension Ltd. | Inter-sequence permutation turbo code system and operation methods thereof |
| US7797615B2 (en) * | 2005-07-07 | 2010-09-14 | Acer Incorporated | Utilizing variable-length inputs in an inter-sequence permutation turbo code system |
| US7856579B2 (en) * | 2006-04-28 | 2010-12-21 | Industrial Technology Research Institute | Network for permutation or de-permutation utilized by channel coding algorithm |
| US7698624B2 (en) * | 2006-03-31 | 2010-04-13 | Trellisware Technologies, Inc. | Scheduling pipelined state update for high-speed trellis processing |
| US20070266303A1 (en) * | 2006-04-27 | 2007-11-15 | Qualcomm Incorporated | Viterbi decoding apparatus and techniques |
| KR20080012434A (ko) * | 2006-08-03 | 2008-02-12 | 삼성전자주식회사 | 입력 메시지의 특성을 고려한 복호 장치 및 방법 |
| WO2011121578A2 (en) * | 2010-04-01 | 2011-10-06 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for signaling control information in a mobile communication network |
| CN106294285B (zh) | 2015-06-09 | 2018-11-30 | 华邦电子股份有限公司 | 数据分配装置、信号处理装置及其数据分配方法 |
| US10243591B2 (en) * | 2016-08-30 | 2019-03-26 | International Business Machines Corporation | Sequence detectors |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4730322A (en) * | 1985-09-27 | 1988-03-08 | California Institute Of Technology | Method and apparatus for implementing a maximum-likelihood decoder in a hypercube network |
| US5068859A (en) * | 1989-06-19 | 1991-11-26 | California Institute Of Technology | Large constraint length high speed viterbi decoder based on a modular hierarchial decomposition of the deBruijn graph |
| US5216694A (en) * | 1991-09-12 | 1993-06-01 | At&T Bell Laboratories | Trellis coding for fractional bits |
| US5530707A (en) * | 1994-03-09 | 1996-06-25 | At&T Corp. | Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes |
-
1994
- 1994-03-09 US US08/208,542 patent/US5530707A/en not_active Expired - Fee Related
-
1995
- 1995-01-24 CA CA002141014A patent/CA2141014A1/en not_active Abandoned
- 1995-02-28 EP EP95301277A patent/EP0674396A3/en not_active Withdrawn
- 1995-03-08 JP JP7074727A patent/JPH07273671A/ja active Pending
-
1996
- 1996-01-31 US US08/594,980 patent/US5935270A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020522924A (ja) * | 2017-06-08 | 2020-07-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | アナログ信号から生成されるシーケンスに対応するシンボル値を検出する方法、及びシーケンス検出器 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5935270A (en) | 1999-08-10 |
| CA2141014A1 (en) | 1995-09-10 |
| EP0674396A3 (en) | 1996-04-10 |
| EP0674396A2 (en) | 1995-09-27 |
| US5530707A (en) | 1996-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07273671A (ja) | データ復号方法 | |
| JP3677257B2 (ja) | 畳込み復号装置 | |
| US4606027A (en) | Error correction apparatus using a Viterbi decoder | |
| US6088404A (en) | Method and apparatus for decoding trellis code data | |
| JP3280183B2 (ja) | 通信システムおよび情報処理方法 | |
| US5537424A (en) | Matched spectral null codes with partitioned systolic trellis structures | |
| Lin et al. | Algorithms and architectures for concurrent Viterbi decoding | |
| US5901182A (en) | Metric sifting in breadth-first decoding of convolutional coded data | |
| KR19980015791A (ko) | 비터비 복호화기의 가산 비교 선택 장치 | |
| US5878092A (en) | Trace-back method and apparatus for use in a viterbi decoder | |
| US5548600A (en) | Method and means for generating and detecting spectrally constrained coded partial response waveforms using a time varying trellis modified by selective output state splitting | |
| US6272661B1 (en) | Minimum memory implementation of high speed viterbi decoder | |
| JP3837023B2 (ja) | ターボ符号のためのハイブリッドインタリーバー | |
| US20040243916A1 (en) | Method and apparatus for decoding multi-level trellis coded modulation | |
| US7308640B2 (en) | Low-latency architectures for high-throughput Viterbi decoders | |
| Kong et al. | Low-latency architectures for high-throughput rate Viterbi decoders | |
| US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
| Lin et al. | Parallel Viterbi decoding methods for uncontrollable and controllable sources | |
| US7020831B2 (en) | Pipelined add-compare-select circuits and methods, and applications thereof | |
| KR0169680B1 (ko) | 비터비 복호기 | |
| Arun et al. | Design and VLSI architecture of nonpolynomial based low probability of error (Pb) Viterbi decoder | |
| Meier | A Viterbi decoder architecture based on parallel processing elements | |
| KR0169678B1 (ko) | 비터비 복호기 | |
| KR0169679B1 (ko) | 비터비 복호기 | |
| Lee et al. | The radix-2/sup k/Viterbi decoding with transpose path metric processor |