JP3898129B2 - 連接符号を復号するための高速のモジュール、デバイス及び方法 - Google Patents

連接符号を復号するための高速のモジュール、デバイス及び方法 Download PDF

Info

Publication number
JP3898129B2
JP3898129B2 JP2002541794A JP2002541794A JP3898129B2 JP 3898129 B2 JP3898129 B2 JP 3898129B2 JP 2002541794 A JP2002541794 A JP 2002541794A JP 2002541794 A JP2002541794 A JP 2002541794A JP 3898129 B2 JP3898129 B2 JP 3898129B2
Authority
JP
Japan
Prior art keywords
decoding
data
code
codes
memory
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.)
Expired - Lifetime
Application number
JP2002541794A
Other languages
English (en)
Other versions
JP2004523936A (ja
Inventor
アッド,パトリック
ピンディア,ラメシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of JP2004523936A publication Critical patent/JP2004523936A/ja
Application granted granted Critical
Publication of JP3898129B2 publication Critical patent/JP3898129B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、伝送されるソースデータの1つ以上のシーケンス(系列)に属するデジタルデータを特に様々な発生源からのノイズが存在する中で符号化(encode)し、そしてそうして伝送された符号化データを復号(dedcode)する技術に関する。
より具体的には、本発明は、特に「ターボ符号(turbo-codes)」(登録商標)として知られる符号を復号する技術の改良、とりわけ連接符号(concatenated codes)を繰り返して復号(iterative decoding)する操作の改良に関する。
情報(データ,画像,音声など)の伝送は、デジタル伝送技術にますます依存している。ソース符号化(source encoding)においてデジタルビットレートを減らし、同時にハイクォリティを維持するために多大な努力が払われてきた。当然ながらこれらの技術には、伝送に関係した擾乱(disturbance)に対してビットの保護の改良が要求される。これらの伝送システムにおいては強力な誤り訂正符号を使用することが不可欠となっている。「ターボ符号(turbo-codes)」技術が提案されたのは、特にこの目的のためである。
「ターボ符号」の一般原理は、具体的には、「少なくとも2つの並列的なシステマチックな畳み込み符号化操作を用いる誤り訂正符号化の方法(原題;Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques paralleles(英訳;Method of error correction encoding with at least two parallel systematic convolutive encoding operation))」と題された仏国特許第91 05280号と、1993年5月に開催された通信に関するIEEE国際会議ICC’93の会議録巻2/3の1064乃至1071ページに掲載されたC. Berrou、A. Glavleux及びP. Thitlmajsbimaによって著された「シャノン限界にせまる誤り訂正符号化及び復号化:ターボ符号(Near Shannon limit error-correcting coding and decoding: Turbo-Codes)」に記述されている。従来技術に関してはC Berrou及びA. Glavieuxによって著された「最適に近い誤り訂正符号化及び復号化:ターボ符号(Near Optimum Error Correcting Coding and Decoding: Turbo-Codes)」(1996年10月発行の通信に関するIEEEトランザクション(IEEE Transactions on Communications)第44巻第10号1261乃至1271ページ)に詳しい。
この技術は、少なくとも2つの要素復号器(elementary decoder)の使用に基づく「並列連接」符号化("parallel concatenation" encoding)の導入を提案している。これによれば2つの別個の符号器から来る有効な2つの冗長シンボル(redundancy symbol)が作られる。この2つの要素符号器の間には、これらの要素符号器のそれぞれに同じデータであるが各回異なる順序で採取されたソースデジタルデータが供給されるように置換手段(permutation means)が導入される。
このタイプの技術を補完する技術が「ブロック・ターボ符号(block turbo-codes)」又はBTCとして知られる符号(codes)を得るために使用される。この補完技術はブロック符号化(連接符号(concatenated codes))用に設計される。この改良技術は、R. Pyndiab,A. Glavieux,A. Picart,及びS. Jacqによって著された「積符号の最適に近い復号(Near optimum decoding of product code)」(1998年8月発行の通信に関するIEEEトランザクション(IEEE Transactions on Communications)第46巻第8号1003乃至1010ページ)と、「連接ブロック符号を適用して情報ビットを伝送するための方法(原題;Procede pour transmettre des bits d'information en appliquant des codes en blocs concatenes(英訳;Method for the Transmission of Information Bits by the Application of Concatenated Block Codes))」と題された仏国特許第93 13858号、並びに、0. Aitsab及びR. Pyndiakによる「リード・ソロモン・ブロック・ターボ符号の性能(Performance of Reed Solomon Black Turbo-Code)」)(1996年11月にロンドンで開催されたIEEE Globecom'96 Confcrenceの会議録巻1/3の121乃至125ページ)に記述されている。
この技術は、特に、P. Eliasによって導入された積符号(product codes)の使用に基づいており、彼によって著された1954年9月発行の情報理論に関するIREトランザクション(IRE Transaction on Information Theory)(巻IT4の29乃至27ページ)の論文「誤りの無い符号化(Error-Free Coding)」に記述されている。積符号はブロック符号の直列連接(serial concatenation of block codes)に基づく。積符号は、基本的なブロック符号復号器が入力側でビットを受取りそれを出力側に与えるハード入力・ハード出力アルゴリズム(hard-input and hard-output algorithms)に従って長く復号されてきた。
ブロック「ターボ符号」(block "turbo-codes")を復号するために、基本的なブロック符号復号器が入力側でその尤度(likelihood)に応じて加重されたビットを受取りこれらのビットを出力側に与えるソフト入力・ソフト出力復号手段(soft-input and soft-output decoding means)が考案されている。
ブロック「ターボ符号」は、データ符号化がサイズの小さなブロック(例えば100ビットより小さなブロック)に適用されるとき、或いは符号効率(すなわち、有用なデータビットの数を符号化した後のデータビットの数で割ったもの、例えば0.95)が高く、かつ、要求されるエラーレートが低いときに、特に興味を引く。実際、一般的に或る与えられた信号対ノイズ比の関数として残差エラーレート(residual error rate)を使って測定される符号のパーフォーマンスレベルは、ブロック「ターボ符号」の場合には非常に高い符号の最小ハミング距離(9,16,24,36又はそれ以上)に応じて変化する。
「ターボ復号(turbo-decoding)」の異なる技術は、非常に大きな信頼性を必要とするデジタル通信にとってますます有用になっている。更に、伝送レートは、ますます高くなっている。光ファイバ上の伝送路を使用することにより、特にギガビットないしはさらにはテラビットの範囲にあるビットレートを実現することが可能となる。
従来技術には、
・モジュラー構造(modular structure)と、
・フォン・ノイマン構造(Von Neumann structure)と、
に基づく2つの異なったタイプの、ブロック「ターボ符号」のための周知タイプの復号器アーキテクチャが存在している。
モジュラー構造では、モジュール又は要素復号器(elementary decoders)がカスケードにされ(cascaded)、これらのモジュールは、それぞれハーフ・イタレーション(half-iteration)を担う。この処理は、加重入力・加重出力復号アルゴリズム(weighted-input and weighted-output algorithms)によく適している。というのは、これらのアルゴリズムは順々に古典的に実行され、埋め込むのが単純であるからである。
この従来技術の主な欠点は、データ処理に大きなレイテンシー(latency)が持ち込まれてしまうということである。ここで、レイテンシーとは、入力側に存在する1個のデータが次に出力側に置かれる前に復号器から出てくるサンプルの数である。このレイテンシーは、モジュール数とともに増大する。更に、回路の必要スペース(space requirements)はそれ自体比較的大きく、モジュール数とともに増大する。回路についてのこのレイテンシーと必要スペースといったパラメータはイタレーション数(繰り返し数;the number of iteration)及び/又は符号長が増大するときに重大な欠陥を構成する。
フォン・ノイマン構造では、回路は、全てのイタレーションに単一の記憶ユニット(storage unit)と単一の処理ユニット(processing unit)を使用して数回のイタレーションを実行する。要素復号器モジュールは、それ自身に折り返し戻される(ループバックされる)。このアーキテクチャのおかげで必要なメモリ数が減少する。記憶回路の表面積のゲイン(gain)は、その記憶域表面(storage surface)がイタレーション数とは無関係なために相当なものとなる。それでもなお、この構造の主な欠点は、データスループットレート(data throughput rate)が減少してしまうということである。
本発明は、様々な側面から特に従来技術のこれらの欠点を克服するよう設計される。
より具体的には、本発明の目的は、エラーレートの点で高いパーフォーマンスを実現すると同時に処理操作(要素復号)とメモリに必要な回路の表面積を抑えるのに適合した復号モジュール,方法,及びデバイスを提供することにある。
本発明のもう一つの目的は、或る与えられた動作クロック周波数に対して高いスループットレートを処理することが可能な復号モジュール,方法,及びデバイスを提供することにある。
本発明の更にもう一つの目的は、この種の復号モジュール,方法,及びデバイスにおける復号レイテンシー(decoding latency)を減らすことにある。
これらの目的並びに以下現れる目的は、復号されるデータサンプルを記憶する記憶手段を導入するタイプの、少なくとも2つの要素符号(elementary code)に対応する連接符号(concatenated code)を復号するためのモジュールによって達せられる。本発明によれば、このモジュールは、前記要素符号のうちの少なくとも1つのための少なくとも2つの要素復号器を具備し、前記要素符号の1つに関連した前記要素符号器は、前記記憶手段に含まれる個別の符号語(コードワード)を並列に同時処理することを特徴とする。
つまり、本発明はモジュールにおいて記憶手段数を倍にすることなく復号器数を倍にする、復号に対する全く新規かつ革新的なアプローチに基づく。このことは、復号回路の最大スペースを占有する(例えば、メモリは回路の全表面積の80%を占める)のはメモリであるが、しかしスループットレートを増大させるために当業者が必然的にメモリと復号器の数を倍にする従来技術に対して、有利なポイントとなる。
本発明は、繰り返し復号器(iterative decoders)、特に「ターボ復号器(turbo-decoders)」に有利に適用することができる。本発明は、フォン・ノイマン構造(受信用及び/又はデータ処理用のメモリは処理ユニットと共に数回のイタレーションに使用され、このため回路の表面積の点では経済的であるが、しかし或る与えられた動作速度を得るために復号速度が制限される)や、モジュラー構造(受信用及び/又はデータ処理用のメモリは処理ユニットと共に単一のハーフ・イタレーション(half-iteration)に使用され、このため復号速度のゲインは得られるが、実質的な復号レイテンシーは維持される)といった、異なった構造の復号器に適用可能である。
一般的に、本発明は、復号速度におけるゲイン(これは具体的には本発明がフォン・ノイマン構造に適用される場合で、速度はフォン・ノイマン構造の主たる問題である)及び/又は復号レイテンシーのゲイン(これは具体的には本発明がモジュラー構造に適用される場合)が、比較的小さな回路表面積を同時に維持しながら得られるという価値がある。
このことから、本発明は、高いデータ伝送速度を得るために使用することができる。
有利な特徴として、復号されるべき前記データを記憶する前記記憶手段は、それぞれが要素符号語を含むn1行と、それぞれが要素符号語を含むn2列とから成る行列の形式に編成され、その場合において前記復号モジュールは、それぞれが前記行列の行(及び列それぞれ)の1つから供給されるn1個(及びそれぞれn2個)の要素復号器を具備する。
言い換えると、本発明は、直列連接符号(serial concatenated codes)に適用可能である。
本発明の特別な特徴として、前記記憶手段は、それぞれが要素符号語を含むk1行を含むn1行と、それぞれが要素符号語を含むk2列を含むn2列とから成る行列の形式に編成され、その場合において前記復号モジュールは、それぞれが前記行列の行(及び、列それぞれ)の1つから供給されるk1個(及び、それぞれk2個)の要素復号器を具備する。
このことから、本発明は、並列連接符号(parallel concatenated codes)に有利に適用することができる。
本発明は、使用される符号に対応する行列の行(及び、列それぞれ)の並列復号を実行して、それと同時に、データ受信用メモリ及びデータ処理用メモリに必要な回路表面積と比較して要素復号器は一般的には小さな回路表面積(或いは一般的にトランジスタ数)を必要とするので、全体的に回路表面積を比較的小さく維持しながら、復号速度を改善又はレイテンシーを減少させることもできる。
本発明の好ましい特徴の1つとして、前記記憶手段は少なくとも2つの要素符号語に同時にアクセスすることができるように編成される。
つまり、少なくとも2つの符号語に対応するデータは要素復号操作中に並列処理することができ、速度のゲイン及び/又はレイテンシーの減少が可能となる。
有利には、前記記憶手段は、シングルポートRAM型である。
従って、本発明は、2つの別個のアドレスに記憶されたデータへのアクセスへの備えがない現行メモリを使用することが可能となり、マルチポート・メモリを(その使用が禁止されていなくとも)使用する必要がない。
前記記憶手段は、好ましくは、コンパートメントに編成され、各コンパートメントは、単一のアドレスを有しかつそれぞれ要素符号の少なくとも2個の要素データを含む。
こうして、本発明は、少なくとも2つの要素復号器によって同時に使用されることがある少なくとも2個の要素データ(一般には加重されていても加重されていなくともよいバイナリ・データ)を含む単一のメモリ・コンパートメントへのアクセスを可能とする。これにより、内容が独立したデータへの同時アクセスが実現され、その結果、全体的な復号速度が比較的高い状態で記憶回路の動作周波数(つまり消費)が抑えられる。
有利な特徴として、前記復号モジュールは、m個の要素符号語(elementary code words)並びにl個の要素符号語への同時アクセスを可能とし、m>1及び/又はl>1によって少なくとも2つの要素復号器に同時に供給することが可能となる。
従って、本発明によれば、要素符号へ再分割して、それと同時に各要素符号に付随する要素復号器を提供することによって、最大の利点を引き出すことが可能である。本発明は、こうして復号の速度及び/又はレイテンシーを最適化する。
本発明の特別な特徴として、前記同時にアクセス可能な符号語は、n1行n2列の最初の行列の、
それぞれが要素符号語を含む隣り合う行及び/又は隣り合う列に対応する。
特定の態様では、前記要素符号は、同一のC符号(Cコード)である。
本発明は、要素符号が同一のときには復号速度及び/又はレイテンシーを最適化する。
有利には、前記復号モジュールは、少なくとも2つの要素復号操作を実行するよう設計される。
第1の態様では、前記連接符号は、直列連接符号(serial concatenated code)である。
第2の態様では、前記連接符号は、並列連接符号(parallel concatenated code)である。
このように、本発明は、これら2つの主なタイプの連接符号に適用することができる。
本発明は、連接符号を復号するためのデバイスであって、上述した種類のそれぞれが要素復号操作を実行する少なくとも2つのモジュールが導入された復号デバイスにも関係している。
本発明は、2つの要素符号に対応する連接符号を復号するための方法であって、同一の記憶手段により供給される前記要素符号を少なくとも1つ要素復号するための少なくとも2つの同時段階を具備する方法にも関係している。
有利な特徴として、前記復号方法は、前記記憶手段が前記要素復号段階の少なくとも2つを同時に実行するために該記憶手段のアドレスへ唯一回アクセスすることによって少なくとも2つの要素符号語にアクセスするように編成されるという点で、注目に値する。
特定の態様として、前記復号方法は、繰り返し的である。
好ましくは、処理済みデータの少なくとも一部は、加重される。
こうして、本発明は、「ターボ符号」の文脈において有利に使用され、復号した後に残るエラーレートの点で高い性能が実現される。
上述した復号デバイスと復号方法の利点は、復号モジュールの利点と同じであり、そのためそのことについては以下において詳細には述べない。
本発明の他の特徴と利点は、以下シンプルで非限定的なものとして添付図面を参照しながら述べられる好ましい実施の態様からより明らかとなる。
本発明の一般原理は、連接符号の復号操作において使用されるメモリの或る特定のアーキテクチャと、特にこれらの符号の復号法に基づく。
まず最初に、直列連接符号(serial concatenated code)は、一般的には、図1にあるような2次元のバイナリ・行列[C]の形で表現することができることに注意する。この行列[C]は、n1行(row)n2列(column)を含んでいる。また、
・バイナリ情報サンプルは、k1行k2列の部分行列10,[M],によって表される。
・行列[M]のk1行の各行は、要素符号(elementary code)C2(n2、k2、δ2)(冗長部分(redundancy)は、行冗長部分行列(row redundancy sub-matrix)11によって表される。)によって符号化される。
・行列[M]と行冗長部分行列のn2列の各列は、要素符号C1(n1、k1、δ1)(バイナリ情報サンプルに対応する冗長部分は、列冗長部分行列(column redundancy sub-matrix)12によって表される。また部分行列11の行冗長部分に対応する冗長部分は、冗長部分の冗長部分行列(redundancy of redundancy sub-matrix)13によって表される。)によって符号化される。
符号C1が線形の場合、C1によって構築される(n1−k1)行は、符号C2の語(words)であり、従って最初のk1行として復号されてよい。直列連接符号は、行に沿ったC2のn1個の符号語と列に沿ったC1のn2個の符号語によって特徴付けられる。符号C1及びC2は、ブロック符号又は線形ブロック符号として使用される畳み込み要素符号から得られてよい。
連接符号は、まず最初に行に沿った要素符号をそれぞれ復号し、次に、列に沿った要素符号をそれぞれ復号することによって繰り返し復号される。
本発明によれば、復号ビットレートを改善すべく、要素復号器は、
・n1行を復号するために(符号C2のm1(2≦m1≦n1)個の要素復号器が使用される)、及び/又は、
・n2列を復号するために(符号C1のm2(2≦m2≦n2)個の要素復号器が使用される)、
並列にされる。
各要素復号器は、受信及び/又は処理用のメモリから来る入力データを持ち、受信及び/又は処理用のメモリに保存される出力データを与える。回路クロック速度を合理的であり続けるよう維持しながら復号スループットレートをさらに改善するために、復号器の入力側又は出力側の数個のデータが単一のメモリ・コンパートメントに集められる。こうして、例えば4個の要素データ(それぞれの要素データは加重されてもされなくてもよい1個のバイナリ・データに対応する)を単一のメモリ・コンパートメントに一緒にグルーピングして、復号器の入力側(及び出力側それぞれ)又はメモリの出力側(及び入力側それぞれ)でこれらのデータをデマルチプレクシング(及びそれぞれマルチプレクシング)することによって、メモリの入力と出力におけるデータ・ビットレートは或る与えられた回路クロック速度で4倍になり、その結果、復号速度が全体的に増大しかつ/又はレイテンシーが減少する。
本発明は、並列連接符号(parallel concatenated codes)にも同じ方法で適用することができる。並列連接符号は、一般的に、図1にあるような2次元のバイナリ行列[C]の形で表現することができる。この行列[C]は、n1行n2列を含んでいる。また、
・バイナリ情報サンプルは、k1行k2列の部分行列10,[M],によって表される。
・行列[M]のk1行の各行は、要素符号(elementary code)C2(n2、k2、δ2)(リダンダンシーは、行リダンダンシー部分行列11によって表される。)によって符号化される。
・行列[M]のk2列の各列は、要素符号C1(n1、k1、δ1)(バイナリ情報サンプルに対応するリダンダンシーは列リダンダンシー部分行列12によって表される。並列連接符号の場合には冗長部分の冗長部分は存在しない。)によって符号化される。
図1の行列Cに対応する符号の「ターボ復号(turbo-decoding)」では、図2の繰り返し処理に従って、行列Cの全ての行、次いで全ての列で加重入力・加重出力復号(weighted-input and weighted output decoding)が実行される。
処理されるデータの受信21の後、所定数(Nb#iter#Max)から成る以下の操作が実行される。
・列の復号22(1ハーフ・イタレーション(one half -iteration))、
・行列の再構築23、
・行の復号24(1ハーフ・イタレーション)、
・行列の再構築25。
従って、これらの操作は、各イタレーション毎に増加(ステップ26参照)するイタレーション数iが(Nb#Iter#Max)未満である限り繰り返される(ステップ27参照)。但し、数iは予めゼロに初期化されているものとする(ステップ28参照)。
次いで、復号されたデータDkが処理される(ステップ29参照)。
一般に、1ハーフ・イタレーション22,25から別の1ハーフ・イタレーションまでに交換される情報は図3で定義される。
kは、伝送路から受信した情報に対応し、R’kは1つ前のハーフ・イタレーションから来る情報に対応し、そしてR’k +は次のハーフ・イタレーションで送られる情報に対応する。従って、各ハーフ・イタレーションの出力は、Rkと、フィードバック又は収束係数alphaが掛けられた(31)外部情報(extrinsic information)Wkとの和に等しい。この外部情報は、復号器32の寄与に対応する。その外部情報は、復号器の加重出力Fkとこの同じ復号器の加重入力Dkとの間の差33をとって得られる。
タイムリミット34,35は、復号器32のレイテンシーを相殺するよう設計される。
以下において、加重入力・加重出力復号器(weighted-input and weighted-output decoder)は、入力としてRk及びR’k(qビットでサンプルされる)を持ち、出力側にて或る決まったレイテンシーL(復号アルゴリズムを実行するために必要な遅延時間)でR’k +及びRk +(qビットでサンプルされる)を配信するブロックであると考えられるものとする。それは処理ユニット(PU(Processing Unit))30と称される。
復号器32は、図2に示されたオペレーション29の間に送り出される復号されたデータ要素に対応する、《ターボ復号(turbo-decoding)》操作の最後のハーフ・イタレーションの間に使用されるバイナリ判定(binary decision)Dkをさらに与える。
図3のブロック図の別の細分を議論する場合、R’kは、処理ユニット40の入出力になる外部情報Wkによって置き換えられることがある。復号器32の入力としてなお使用されるR’kは、そのときは内部変数である。この変形態様は、図4に示されている。
既に言及したように、《ターボ復号(turbo-decoding)》アルゴリズムの関数解析(functional analysis)が積符号の《ターボ復号器》回路に対する2つの可能なアーキテクチャ(1つのアーキテクチャはモジュラー型、もう1のアーキテクチャはフォン・ノイマン型マシンとして知られるマシンと関連する)を識別するために使用された。以下、これら2つの構造をやや詳しく説明する。
(a) モジュラー構造
アリゴリズムの操作スキームから、モジュラー構造は、《ターボ復号器》において各部分回路が復号ハーフ・イタレーション(すなわち、データ・行列[R]と[W]又は[R’]の行と列の復号)を実行することがイメージされてよい。[R]及び[W](又は、選ばれた処理ユニット30又は40のブロック図に応じて[R’])を記憶することが必要である。
完全な回路は、図5に示されているように同一のモジュールをカスケードにすることによって構築される。例えば4回のイタレーションでは、回路に8個のモジュール又は要素復号器が使用される。
モジュラー構造では、データは(サンプルからサンプルへ)順次に処理される。この処理は、加重入力・加重出力復号アルゴリズムに、これらのアルゴリズムの多くの機能が古典的に実行されかつ埋込が容易である限り、うまく適している。
各モジュールは、(n12+L)個のサンプルのレイテンシーを導入する。このレイテンシーは、入力側にある1個のデータが次に出力に置かれる前に復号器から出てくるサンプルの数である。この表現では、n12個の最初のサンプルはデータ・行列の中身に対応し、次のL個のサンプルは、この行列の行(又は列)の復号特有のものに対応する。
(b)フォン・ノイマン構造
第2のアーキテクチャは、フォン・ノイマン型シーケンシャルマシン(Von Neumann sequential machine)に例えることができる。それは、数回のイタレーションを実行するために、1つの同じ処理ユニットを使用する。先ほどの解決策と比較して、これは《ターボ復号器》の必要スペースを減らすことに主眼を置くものである。それはさらに、回路によって導入される全体のレイテンシーを実行されるイタレーション数とは無関係に最大で2n12個のサンプル(行列の中身を満たすのにn12個、復号の追加サンプルがn12個)に制限するという利点を有する。
各サンプルは、順次処理され、そして実行すべきハーフ・イタレーション数をデータスループットレートに掛け合わせた数の逆数を超えない時間内に復号されなければならない。つまり、4回のイタレーションでは、データスループットレートは、データ処理レートよりも少なくとも8倍小さいことがあり得る。このことは、モジュラー型アーキテクチャとフォン・ノイマン型アーキテクチャとの間で、最大データスループットレートが、使用されるハーフ・イタレーション数に少なくとも等しい因子で割り算されることを意味する。レイテンシーはフォン・ノイマン構造ではより小さい(他方の(n12+L)・itに対して最大で2n12個のサンプル、itはハーフ・イタレーション数である)が、データスループットレートは、同じデータ処理速度に対してはより低い。
回路に取り入れることができるイタレーションの最大数は達成すべきビットレートと使用される技術に許される最大の動作周波数によって制限される。
これら2つの構造に関してメモリの特徴を説明する。いずれの場合も、回路の必要スペースは基本的に使用されるメモリのサイズと数によって決まる。選ばれた一般的アーキテクチャとは無関係に、進行中のハーフ・イタレーション(ハーフ・イタレーションはデータ・行列の行又は列の復号に対応する)の存続期間全体の間に行列[R]及び[W](又は[R’])を記憶することが実際には不可欠である。行においてデータを処理し、次に列においてデータを処理するには、データを受信するための第1のメモリと、データを処理するための第2のメモリを用意することが必要である。これら2つのメモリは、書き込み読出しモードで交互に働き、オートマトン(自動装置;auomaton)がシーケンシング(順序)を管理する。各メモリは行列に編成され、符号長n12の符号とqビット上でのデータの数量化に対して、それぞれq・n12ビットのメモリ・アレイによって形成される。
(a) モジュラー構造
モジュラー構造の場合、ハーフ・イタレーション関する回路の一般的編成は図5及び図6に示されている通りである。
図5に示されたモジュール50は、処理ユニット40(図4に示されたもの)と以下の4個のメモリを含んでいる。
・データ[R]を含む記憶メモリ51、
・データ[R]を含む処理メモリ52、
・データ[W](又は、処理ユニットに応じて[R’])を含む記憶メモリ53、
・データ[W](又は[R’])を含む処理メモリ54。
記憶モジュール(storage module)50に到達するqビット上に符号化されたデータ[R]571(及び[W]572それぞれ)は、書き込みモードで働く受信メモリ51(及び53それぞれ)の行に沿って配置され、その際、メモリ51(及びそれぞれ)の入力側にある論理スイッチ551(及び553それぞれ)(例えば、書き込み動作中にメモリ51(及び53それぞれ)の選択を可能にするアドレス指定ビットの形で導入される)は閉じており、メモリ52(及び54それぞれ)の入力側にあるスイッチ561は開いている。最初のモジュールの入力側のデータ[R]は、伝送路から直接入ってくるが、その後のモジュールのそれぞれのデータ[R]は、1つ前のモジュール出力[R]591から来る。最初のモジュールの入力側のデータ[W]はゼロであるが、その次のモジュールのそれぞれのデータ[W]は、1つ前のモジュールの出力[W]592から来る。
同時に、先に受信された行列のデータは、その役割において読み出しモードで働く処理メモリ52,54の列に沿ってピックアップされる。その際、メモリ52(及び54それぞれ)の出力側にある論理スイッチ562(及び554それぞれ)(例えば、読み出し動作中にメモリ52(及び54それぞれ)の選択を可能にするアドレス指定ビットの形で導入される)は閉じており、メモリ51(及び53それぞれ)の出力側にあるスイッチ562(及び564それぞれ)は開いている。
受信メモリが一杯になると、処理メモリは、次の符号語に対応するデータを記憶するために書き込みモードに入る(言い換えると、メモリ51,52(及び53,54それぞれ)の役割が交換され、論理スイッチ551,552,551,562(及び553,554,563,564それぞれ)が「ポジション・チェンジする」)。2つのモジュール(1つは符号化された行列(encoded matrix)の列の復号用、もう1つは行の復号用)をカスケードにすることによって、完全なイタレーションが実行される。
使用されるメモリ51,52,53,54は、古典的で行アドレス指定可能(row-addressable)かつ列アドレス指定可能(column-addressable)なシングルポートRAM(Random Access Memories)から難なく設計することができる。他のアプローチ(例えばシフト・レジスタを使用)も考えられるが、より多くのスペースを占めることになるであろう。
図5に示されているようなデータバスで交換されるデータは、qビット上で符号化されるが、図6に示された変形態様ではデータは2qビット上で符号化され、そこでは、各データは、1個のデータ[R]に対応するqビットと、1個のデータ[W](又は[R’])に対応するqビットとを含んでいる。
図6に示されたモジュール60によれば、復号ハーフ・イタレーション(decoding half-iteration)を実行することが可能となり、処理ユニット40(図4に示されたもの)と次の2つのメモリとを含む。1つ目のメモリは、
・データ[R]及び[W](又は、処理ユニットが図3に示されたようなユニット30である場合には[R’])を含む記憶又は受信メモリ62、
2つ目のメモリは、
・データ[R]及び[W](又は[R’])を含む処理メモリ63、
である。
復号モジュールに到達する2qビット上で符号化されたデータ61は、書き込みモードで働いている受信メモリ62の行に沿って順番に配置される。同時に、より以前に受信された行列のデータは、それ自体は読み出しモードで働く処理メモリ62の列に沿ってピックアップされる。受信メモリ62が一杯になると、処理メモリは、次の符号語に対応するデータを記憶するために書き込みモードに入る。2つのモジュール(1つは符号化された行列(encoded matrix)の列の復号用、もう1つは行の復号用)をカスケードにすることによって、完全なイタレーションが実行される。
使用されるメモリ62,63は、古典的で行アドレス指定可能かつ列アドレス指定可能なシングルポートRAM(Random Access Memories)から難なく設計することができる。他のアプローチ(例えばシフト・レジスタを使用)も考えられるが、より多くのスペースを占めることになるであろう。
実際的見地から、このモジュラー型アプローチは、高い動作周波数を可能にした利用法が非常に融通性があるという利点を有する。それと交換条件に、数個のモジュールをカスケード接続することによってレイテンシーと回路が占めるスペース量が増大する。イタレーション数及び/又は符号長が増大すると、これらのパラメータはすぐに重大な欠陥となる。
(b) フォン・ノイマン構造として知られる構造
今度の回路は、図7に示された4つの記憶ユニット70,71,72,73を使用して数回のイテレーションを実行する。復号モジュールは、それ自身に折り返し戻される(ループバックされる)。このアーキテクチャでは、回路は全体で、実行されるイタレーション数とは無関係に4つのメモリ70,71,72,73だけを具備する。しかしながら、これらのメモリ70,71,72,73は、行にも列にも読み出しと書き込みきるようになっているべきである。
メモリ70,71,72,73は、アドレスで識別されるデータを読み出したり又は書き込みしたりすることが可能な古典的なシングルポートRAMである。各サンプルは、直接的にアクセスされるので、行列は、行又は列のいずれかに沿って復号が可能である。メモリは、モジュラー型の解決策に選ばれたものと類似する。しかしながら、回路は全体でメモリを4つだけ備えるので、表面積におけるゲイン(gain)は注目に値する(4回のイタレーションで80%)。しかしながら、回路の同じ動作速度に対して表面積のこうした減少が実現されるもののデータスループットレート(これはit/2イタレーションに対して少なくともitで割り算される:このレイテンシーの計算では、各要素復号を考慮に入れることが実際には必要である)が損なわれることに注意しなければならない。qビット上で符号化されたデータ[R]76(及び[W]75それぞれ)は、書き込みモードで働く受信メモリ70(及び72それぞれ)の行に沿って順番に配置され、論理ルータ771(及び781それぞれ)は、そのデータをメモリ70(及び72それぞれ)にルート付けする(例えば、書き込み動作の間にメモリ70(及び72それぞれ)の選択を可能にするアドレス指定ビットの形で導入される)。入力側のデータ[R]76は、直接的に伝送路から来る。最初のハーフ・イタレーションの入力側データ[W]は、ゼロであるが、次の各ハーフ・イタレーションのデータ[W]は、1つ前のハーフ・イタレーションの出力[W]75から来る。
同時に、以前に受信されたデータ[R]は、その役割において読み出しモードで働く処理メモリ71の列に沿ってピックアップされる。メモリ71と70の出力側にある論理ルータ772(例えば、アドレス指定ビットの形で導入される)は、読み出し動作中にメモリ71の選択を可能とする。同時に、1つ前のハーフ・イタレーションから来るデータ[W](或いは最初のハーフ・イタレーションの場合はゼロ)は、その役割において読み出しモードで働く処理メモリ73の列に沿ってピックアップされる。メモリ72,73の出力側にある論理ルータ782は、読み出し動作中にメモリ72の選択を可能とする。
データ[W]の受信メモリが一杯になると(すなわち、データが継続的に伝送されると想定される場合、ブロックのターボ復号の各操作の終了時に)、処理メモリと受信メモリ[W]の役割が交換される。つまり、データ[W]の処理メモリは、書き込みモードに入り、受信メモリとなる(言い換えると、論理ルータ781,782は、次の符号語に対応するデータを記憶するために「ポジション・チェンジする」)。また、データ[W]の受信メモリは、読み出しモードに入り、処理メモリとなる。
データ[R]の受信メモリが一杯になると(すなわち、データが継続的に伝送されると想定される場合には、ブロックのターボ復号の各操作の終了時に)、処理メモリと受信メモリ[R]の役割が交換される。つまり、データ[R]の処理メモリは、書き込みモードに入り、受信メモリとなる(言い換えると、論理ルータ771,772は、次の符号語に対応するデータを記憶するために「ポジション・チェンジする」)。また、データ[R]の受信メモリは、読み出しモードに入り、処理メモリとなる。1つの変形態様として、データがパケット(又はバースト)モードで伝送される場合で、かつ、各パケットがたった1回だけ復号される場合において、復号は新しいパケットの到着前に完了されるが、フォン・ノイマン構造ではデータ[R]にそれぞれ処理メモリと受信メモリの2つを備える必要はなく、ただ1つのメモリで十分である。
使用されるメモリ70,71,72,73は、古典的で行アドレス指定可能かつ列アドレス指定可能なシングルポートRAM(Random Access Memories)から難なく設計することができる。他のアプローチ(例えばシフト・レジスタを使用)も考えられるが、より多くのスペースを占めることになるであろう。
図7に示されているように、データバス上で交換されるデータは、qビット上で符号化されることに注意したい。
図5、図6及び図7に示された実施態様の或る変形態様として、図3に示された処理ユニット30が処理ユニット40と置き換わる。その際、メモリにおいて[W]タイプのデータは、データ[R’]で置き換えられる。
従来技術によれば、高スループットレート型アーキテクチャでは、図6又は図7に示されたモジュール数は2倍になる。
そこで、本発明は、連接符号の「ターボ復号器」の高スループットレート型アーキテクチャに特に適した新規なアプローチを提案する。
連接符号(concatenated codes)は、最初の行列Cの行(又は列)全てで符号語(code words)を有するという特徴を備える。
本発明によれば、復号は、図8に示された原理に従って並列化される。そこで使用されるモジュール80は、ハーフ・イタレーションを実行するためのものであり、モジュール80をカスケードにしてモジュラー型ターボ復号構造(modular turbo-decoding structure)を形成することができる。行列81(データ[R]及び[W](又は、処理ユニットのタイプに応じて[R’])を含む2qビットのサンプルn12個の処理メモリ・アレイ)は、複数の要素復号器(又は、図3と図4に示されたような処理ユニット30又は40)821乃至82mを供給する。
実際には、符号C1(又はC2)の要素復号器の数は、m個の要素復号器821乃至82mの倍になる。従って、最大数のn1(又はn2)個の符号語を処理することが可能であるが、読み出し又は書き込みメモリのアクセス動作が異なる瞬間に起こるという条件の下でのことである(「マルチポート」RAMを使用しない限り行列の数個のメモリ・セルに同時にアクセスすることは不可能である)。この条件が満足されていれば、比Fthroughput rate/FPUmax(Fthroughput rateは、ターボ復号器の出力側における有効なスループットレート、FPUmaxは処理ユニットの動作速度を表す)に関してファクタn2(又はn1)を得ることは可能である。というのは、或る与えられた時点でn2(又はn1)個のサンプルが処理されることがあるからである。
行列83(2qビットのサンプルn12個の受信メモリ・アレイ)は、1つ前のモジュール80の複数の要素復号器821乃至82mから供給される。
第1のモジュールでは、データ[R]は、伝送路から直接来るが、データ[W](又は、或る変形態様として、本発明は、最初のモジュールの要素復号器の入力側のデータ[R]に対応するハーフ・バス(half-bus)のみを使用する)は、ゼロである。
各ハーフ・イタレーション毎に、メモリ81,83のそれぞれの役割が交換され、これらのメモリは、処理メモリと記憶メモリに交互になる。
データは、受信メモリの列に沿って書き込まれるが、それらのデータは、処理メモリ・アレイにおいては行に沿って読み出されることに注意する。このためインタリービング手段(interleaving means)及びデインタリービング手段(de-interleaving means)が有利に得られる。この手段は、モジュールをカスケードにすることによって実現が容易であり(ターボ符号器(turbo-coder)のインタリーバ(interleaver)が均等な場合には、データは、行毎に書き込まれ、列毎に読み出される)、その場合は、モジュールの要素復号器の出力は、次のモジュールの受信メモリ・アレイに接続される。
このアーキテクチャの主な欠点は、m個の要素復号器が並列に存在すればメモリ81と83は周波数mFPUmaxで動作しなければならないということである。
モジュラー構造の第1の変形態様によれば、行列81は、qビットのn12個のサンプルの2つの処理メモリ・アレイに分割され、これら2つのメモリ・アレイは、それぞれデータ[R]又は[W](又は、処理ユニットのタイプに応じて[R’])を含んでいる。更に、行列83は、それ自体、それぞれデータ[R]又は[W]を含むqビットのn12個のサンプルの2つの受信メモリ・アレイに分割される。
或る変形態様として、《ターボ復号器(turbo-decoder)》は、フォン・ノイマン構造に従って構築される。この変形態様によれば、処理メモリ・アレイは、データ[R]に関連する処理メモリ・アレイ(データが連続的に伝送されることが想定される場合)とデータ[W](又は、処理ユニットの態様に応じて[R’])に関連する処理メモリ・アレイとに分割される。同様に、処理メモリ・アレイは、データ[R]に関連する受信メモリ・アレイとデータ[W]に関連する受信メモリ・アレイとに分割される。まさに図7の構造のように、データ[R]の処理メモリ及び受信メモリの役割は、各ハーフ・イタレーション毎に交換され、データ[W]の処理メモリ及び受信メモリの役割は、ブロック・ターボ復号操作毎に交換される。しかしながら、本発明によれば、フォン・ノイマン構造においてデータ[R]及び[W]の処理メモリは、m個の要素復号器に供給すること、そしてこれらの要素復号器の出力[W]は、データ[W]の受信メモリに折り返し戻される(ループバックされる)ことに注意する。この代替態様によれば、データがパケット(又はバースト)モードで伝送され、そしてそれぞれのパケットがたった一回の操作で復号されなければならず、その復号は、新たなパケットの到着前に完了される場合においては、データ[R]用に2つの処理メモリ及び記憶メモリをそれぞれ備える必要はなく、たった1つのメモリで十分である。
本発明の有利な特徴として、図10に示された原理に従って数個のデータを同じアドレスに記憶する際に、メモリの動作速度を同じに維持し、スループットレートを増大させることが可能である。しかしながら、行でも列でもこのデータを使用することが可能である必要がある。その結果、このアドレスは行と列両方で読み出す(又は書き込む)際にデータが隣り合うように編成される。
図9を参照して、最初の行列90の2つの隣り合う行iとi+1と2つの隣り合う列jとj+1を議論しよう。
図10において、4つのサンプル(i,j)、(i,j+1)、(i+1,j)、(i+1,j+1)は、新行列100の語(a word)105を構成する。この行列は、4倍少ないアドレス(I,J)と4倍多い語(word)とを有する。n1及びn2が偶パリティ値であれば、
1≦I≦n1/2の場合には、i=2*I−1
である、
同様に、
1≦J≦n2/2の場合には、j=2*J−1
である。
行の復号には、サンプル(i,j),(i,j+1)101が処理ユニット(processing unit)PU1に割り当てられ、(i+1,j),(i+1,j+1)102が処理ユニットPU2に割り当てられる。列の復号には、(i,j),(i+1,j)103が処理ユニットPU1に割り当てれ、(i,j+1),(i+1,j+1)104が処理ユニットPU2に割り当てられる。処理ユニットがこれらのサンプルのペアを入力側(RAMの読み出し)と出力側(RAMの書き込み)とで同じ期間1/FPUmax内に処理することが可能な場合には、この行列の処理時間は、最初の行列の場合よりも4倍大きくなる(図10)。
この図10は、もちろん、メモリの4つの部分への「再分割(subdivision)」の一例だけを示したものである。
この点を一般化すると、新行列100の語105が行のm個のサンプルと列のl個のサンプルを含む場合には、「行」復号のm個の処理ユニットと「列」復号のl個の処理ユニットのみでこの行列の処理時間はm・l倍速くなる。
符号C1と符号C2とが同一であれば、図11から分かるように、《行用》PUと《列用》PUも同一である。その場合、m=lでm個の処理ユニット1121乃至112m(図3又は図4に示された処理ユニット30又は40といったもの)が必要である。デマルチプレクサ(demultiplexer)114は、行列111(2q・m2ビットの語n12/m2個を持つ処理メモリ・アレイ)のデータを、それぞれが同時に2q・mビットのサンプルを受信するm個の要素処理ユニット(PU)1121乃至112mに配信する。
マルチプレクサ(multiplexer)115には、要素復号器1121乃至112mによって2q・mビットのサンプルが供給される。マルチプレクサ115は次に2q・m2ビットのサンプルを次のハーフ・イタレーションに対応するモジュールの受信メモリ・アレイ13に供給する。
この編成のデータ・行列は特別なメモリ・アーキテクチャも高速度も必要としない。更に、PUの計算量(complexity)が以前のPUのそれのm倍未満のままである場合には、全体の計算量はm2倍高い速度に対してはより小さい)(この結果は、図8に提示されたPUをm2個使用することにより得ることができている)。
このメモリは、最初の行列Cよりm2倍少ない語(words)を有する。同じ技術では、アクセス時間は、それ故により短いものとなる。
従って、本発明は、高いスループットレートで働く連接符号を復号するためのアーキテクチャを提案する。これらの符号は、畳み込み符号(convolutive codes)から又は線形ブロック符号(linear block codes)から得られてよい。本発明は、基本的には、復号速度を加速させるためにメモリCの最初の編成を修正する。時間1/FPUmaxの期間中に、m個のサンプルがm個の要素復号器のそれぞれで処理される。これによって、スループットでm2のゲインが得られる。これらm個のサンプルの処理によって要素復号器の表面積がそれほど増加しない場合には、表面積のゲインは、この解決策をm2個の復号器を必要とするものと比較すると、mに近い。
1つの変形態様として、デマルチプレクサ(demultiplexer)114は、メモリ・アレイ111から受信される2q・m2ビットのサンプルをそれぞれ逆多重化(demultiplex)して、それらのサンプルを順番に並べて2qビットのサンプルm個から成るm個のシーケンスを得る。これらのシーケンスはそれぞれ要素処理ユニット1121乃至112mに1つずつ配信される。次に、処理ユニット1121乃至112mは、それぞれマルチプレクサ115に2qビットのサンプルから成るシーケンスを供給する。マルチプレクサは、処理ユニット1121乃至112mから同時に来るm個のシーケンスを処理して次のハーフ・イタレーションに対応するモジュールの受信メモリ・アレイ113に2q・m2ビットのサンプルを供給する。この変形態様は、各モジュール毎にただ1つの処理メモリ・アレイが存在しており、従来技術において得られる復号速度よりm倍高い復号速度を等しいクロック速度で実現する。
図11を参照して説明された実施態様によれば、メモリ・アレイ111,113には2q・m2ビット上で符号化されたデータが含まれており、受信メモリ及び処理メモリの語数は、より小さく、これらのメモリへのアクセス時間は小さくなる。
当然ながら、本発明は、ここに説明された例示的な実施態様には限定されない。
特に、当業者であれば使用されるメモリのタイプのどんな変形も考えることができる。これらは、例えば、シングルポートRAM又はマルチポートRAMであってもよい。
更に、本発明は、データがパケット(又はバースト)モードで又は連続的に伝送される場合にもうまく同等に適用することができる。
更に、本発明は、畳み込み符号(convolutive code)又はブロック符号(block code)のタイプである場合がある直列又は並列の連接符号にも関係する。
本発明は、2つの連接符号によって形成された符号に関係するが、3つ以上の連接符号によって形成された符号にも関係する。
一般に、本発明は、情報シーケンス(置換されようがなかろうが)に作用する要素符号によって形成され、要素符号語の少なくとも1つが少なくとも2つの符号語で構成される、全ての「ターボ符号」にもそれらがブロック・ターボ符号であろうがなかろうが関係する。
本発明の特定の実施態様での、積符号語(product code word)又はブロック「ターボ符号」(block "turbo-code")を表す行列の構造を示した図である。 それ自体周知のブロック「ターボ符号(turbo-code)」の復号手順を示したブロック図である。 それ自体周知の「ターボ復号(turbo-decoding)」のハーフ・イタレーション(half-iterations)を実行する処理ユニットのブロック図である。 それ自体周知の「ターボ復号」のハーフ・イタレーションを実行する処理ユニットのブロック図である。 従来技術での、モジュラー構造のターボ復号器モジュールのブロック図である。 従来技術での、モジュラー構造のターボ復号器モジュールのそのメモリの構造が示されたブロック図である。 従来技術での、フォン・ノイマン構造のターボ復号器モジュールのそのメモリの構造が明示されたブロック図である。 本発明の第1の特定の実施態様での、復号器を並列にして高いスループットレートを実現するようにした復号器のブロック図である。 本発明の第2の特定の実施態様での、メモリ・コンパートメントを図式的に示した図である。 本発明の或る特定の実施態様の一変形態様での、メモリ・コンパートメントを処理ユニットを配置させた上で図式的に示した図である。 本発明の或る特定の実施態様の一代替態様での、ターボ復号器のブロック図である。

Claims (15)

  1. 復号されるべきデータサンプルを記憶するための記憶手段を実装するタイプの、少なくとも2つの要素符号に対応する連接符号を復号するための復号モジュールであって、
    前記要素符号のうちの少なくとも1つのための少なくとも2つの要素復号器(821〜82m,1121〜112m)を具備し、
    前記要素符号の1つに関連した前記要素符号器(821〜82m,1121〜112m)は、前記記憶手段(81,83,90,111,113)に含まれる個別の符号語を並列に同時処理し、
    前記記憶手段(81,83,90,111,113)は、それぞれが単一のアドレスを含み、かつ、それぞれが要素符号語に対応する少なくとも2個の要素データ(101,102,103,104)を含むコンパートメント(105)に編成されること、
    を特徴とする復号モジュール。
  2. 復号されるべき前記データを記憶する前記記憶手段は、それぞれが前記要素符号の符号語を含むn1行と、それぞれが前記要素符号の符号語を含むn2列とから成る行列(10)の形式に編成され、
    それぞれが前記行列(10)の行(及び列それぞれ)の1つから供給されるn1個(及びそれぞれn2個)の要素復号器(821〜82m,1121〜112m)を具備すること、
    を特徴とする請求項1に記載の復号モジュール。
  3. 前記データを記憶する前記記憶手段は、それぞれが前記要素符号の符号語を含むk1行を含むn1行と、それぞれが前記要素符号の符号語を含むk2列を含むn2列とから成る行列(10)の形式に編成され、
    それぞれが前記行列(10)の行(及び列それぞれ)の1つから供給されるk1個(及びそれぞれk2個)の要素復号器(821乃至82m 、1121乃至112m)を具備すること、
    を特徴とする請求項1に記載の復号モジュール。
  4. 前記記憶手段(81,83,90,111,113)は、少なくとも2つの要素符号語に同時にアクセスすることができるように編成されることを特徴とする請求項1乃至3の何れか1項に記載の復号モジュール。
  5. 前記記憶手段(81,83,90,111,113)は、シングルポートRAM型であることを特徴とする請求項4に記載の復号モジュール。
  6. 前記記憶手段(81,83,90,111,113)の各前記コンパートメント(105)は、それぞれ、
    ・請求項2及び3の何れかに記載された前記行に沿ったm(1より大きな整数)個の要素復号器、及び/又は、
    ・請求項2及び3の何れかに記載された前記列に沿ったl(1より大きな整数)個の要素復号器、
    にm・l個の要素データ(101,102,103,104)を同時供給することができるようにする単一のアドレスを含むことを特徴とする請求項4又は5に記載の復号モジュール。
  7. 前記同時にアクセス可能な符号語は、n1行n2列の最初の行列(10)の、それぞれが要素符号語を含む隣合う行及び/又は隣合う列に対応することを特徴とする請求項4乃至6の何れか1項に記載の復号モジュール。
  8. 前記要素符号は、同一のC符号であることを特徴とする請求項1乃至7の何れか1項に記載の復号モジュール。
  9. 少なくとも2回の要素復号操作を実行することを特徴とする請求項1乃至8の何れか1項に記載の復号モジュール。
  10. 前記連接符号は、直列連接符号であることを特徴とする請求項1乃至9の何れか1項に記載の復号モジュール。
  11. 前記連接符号は、並列連接符号であることを特徴とする請求項1乃至10の何れか1項に記載の復号モジュール。
  12. 連接符号を復号するための復号デバイスであって、請求項1乃至11の何れか1項に記載された少なくとも2つのモジュールがカスケードに取り付けられ、かつ、少なくとも2つのモジュールのそれぞれが要素復号操作を実行するように構成したことを特徴とする復号デバイス。
  13. 2つの要素符号に対応する連接符号を復号するための方法であって、同一の記憶手段(81,83,90,111,113)により供給される、前記要素符号の少なくとも1つを要素復号するための少なくとも2つの同時進行のステップを含み、
    前記記憶手段(81,83,90,111,113)は、前記少なくとも2つの要素復号ステップを同時に実行するために、前記記憶手段(81,83,90,111,113)のアドレスへ単一回のアクセスを行うことによって少なくとも2つの要素符号語にアクセスするように編成されることを特徴とする復号方法。
  14. 繰り返し復号が実行されることを特徴とする請求項13に記載の復号方法。
  15. 処理済みデータの少なくとも一部が重み付けされることを特徴とする請求項13又は14に記載の復号方法。
JP2002541794A 2000-11-10 2001-11-09 連接符号を復号するための高速のモジュール、デバイス及び方法 Expired - Lifetime JP3898129B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0014521A FR2816773B1 (fr) 2000-11-10 2000-11-10 Module, dispositif et procede de decodage a haut debit, d'un code concatene
PCT/FR2001/003509 WO2002039587A2 (fr) 2000-11-10 2001-11-09 Module, dispositif et procede de decodage a haut debit, d'un code concatene

Publications (2)

Publication Number Publication Date
JP2004523936A JP2004523936A (ja) 2004-08-05
JP3898129B2 true JP3898129B2 (ja) 2007-03-28

Family

ID=8856342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002541794A Expired - Lifetime JP3898129B2 (ja) 2000-11-10 2001-11-09 連接符号を復号するための高速のモジュール、デバイス及び方法

Country Status (10)

Country Link
US (1) US7219291B2 (ja)
EP (1) EP1332557B1 (ja)
JP (1) JP3898129B2 (ja)
KR (1) KR100822463B1 (ja)
CN (1) CN1320771C (ja)
DE (1) DE60108892T2 (ja)
ES (1) ES2236354T3 (ja)
FR (1) FR2816773B1 (ja)
HK (1) HK1061937A1 (ja)
WO (1) WO2002039587A2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9100457B2 (en) 2001-03-28 2015-08-04 Qualcomm Incorporated Method and apparatus for transmission framing in a wireless communication system
US7352868B2 (en) 2001-10-09 2008-04-01 Philip Hawkes Method and apparatus for security in a data processing system
US7649829B2 (en) 2001-10-12 2010-01-19 Qualcomm Incorporated Method and system for reduction of decoding complexity in a communication system
US7587659B2 (en) 2002-05-31 2009-09-08 Broadcom Corporation Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders
US7409628B2 (en) * 2002-08-15 2008-08-05 Broadcom Corporation Efficient design to implement LDPC (Low Density Parity Check) decoder
US7395487B2 (en) 2002-08-15 2008-07-01 Broadcom Corporation Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder
US7599655B2 (en) 2003-01-02 2009-10-06 Qualcomm Incorporated Method and apparatus for broadcast services in a communication system
FR2853164A1 (fr) * 2003-03-31 2004-10-01 France Telecom Procede de codage correcteur d'erreur utilisant au moins deux fois un meme code elementaire, procede de codage, dispositifs de codage et de decodage correspondants
US8718279B2 (en) 2003-07-08 2014-05-06 Qualcomm Incorporated Apparatus and method for a secure broadcast system
US8724803B2 (en) 2003-09-02 2014-05-13 Qualcomm Incorporated Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system
US20050180332A1 (en) * 2004-02-13 2005-08-18 Broadcom Corporation Low latency interleaving and deinterleaving
CN1822509B (zh) * 2004-10-04 2011-06-08 美国博通公司 低密度奇偶校验解码器及其解码方法
KR100594043B1 (ko) * 2004-11-08 2006-06-30 삼성전자주식회사 고속 터보 디코더에서 병행방식의 디 래이트 매칭을수행하는 입력 버퍼 장치
US20070194945A1 (en) * 2004-12-07 2007-08-23 Paul Atkinson Mobile Device for Selectively Activating a Target and Method of Using Same
FR2888062A1 (fr) * 2005-07-04 2007-01-05 Groupe Ecoles Telecomm Codeur et turbo decodeur de code produit
US20070266293A1 (en) * 2006-05-10 2007-11-15 Samsung Electronics Co., Ltd. Apparatus and method for high speed data transceiving, and apparatus and method for error-correction processing for the same
US8719670B1 (en) * 2008-05-07 2014-05-06 Sk Hynix Memory Solutions Inc. Coding architecture for multi-level NAND flash memory with stuck cells
FR2955001A1 (fr) * 2010-01-06 2011-07-08 St Microelectronics Grenoble 2 Procede et dispositif d'entrelacement en ligne et en colonne pour blocs de taille variable
US20110202819A1 (en) * 2010-02-12 2011-08-18 Yuan Lin Configurable Error Correction Encoding and Decoding
US9065483B2 (en) * 2013-01-21 2015-06-23 Micron Technology, Inc. Determining soft data using a classification code
KR102147514B1 (ko) 2013-11-27 2020-08-25 씨이비티 주식회사 피에조를 이용한 마이크로 스테이지
US9837245B2 (en) 2015-03-13 2017-12-05 Cebt Co., Ltd. Micro stage for particle beam column using piezo elements as actuator

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5857781B2 (ja) * 1978-01-17 1983-12-21 三菱電機株式会社 符号化復号化方式
US4453251A (en) * 1981-10-13 1984-06-05 Burroughs Corporation Error-correcting memory with low storage overhead and fast correction mechanism
US4547882A (en) * 1983-03-01 1985-10-15 The Board Of Trustees Of The Leland Stanford Jr. University Error detecting and correcting memories
US5559506A (en) * 1994-05-04 1996-09-24 Motorola, Inc. Method and apparatus for encoding and decoding a digital radio signal
FR2753025B1 (fr) * 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
FR2778040B1 (fr) * 1998-04-28 2000-05-26 Alsthom Cge Alcatel Procede et dispositif de codage correcteur d'erreur pour des transmissions de donnees numeriques a debit eleve, et procede et dispositif de decodage correspondant
US6252917B1 (en) * 1998-07-17 2001-06-26 Nortel Networks Limited Statistically multiplexed turbo code decoder
US6434203B1 (en) * 1999-02-26 2002-08-13 Qualcomm, Incorporated Memory architecture for map decoder
ATE270795T1 (de) * 1998-09-28 2004-07-15 Comtech Telecomm Corp Turbo produktkode decodierer
US6292918B1 (en) * 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
US6304995B1 (en) * 1999-01-26 2001-10-16 Trw Inc. Pipelined architecture to decode parallel and serial concatenated codes
US6598204B1 (en) * 1999-02-18 2003-07-22 Imec Vzw System and method of turbo decoding
US6678843B2 (en) * 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
US6754290B1 (en) * 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
US6715120B1 (en) * 1999-04-30 2004-03-30 General Electric Company Turbo decoder with modified input for increased code word length and data rate
JP3549788B2 (ja) * 1999-11-05 2004-08-04 三菱電機株式会社 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム
US6775800B2 (en) * 2000-01-03 2004-08-10 Icoding Technology, Inc. System and method for high speed processing of turbo codes
AU3689001A (en) * 2000-02-10 2001-08-20 Hughes Electronics Corporation A system and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system

Also Published As

Publication number Publication date
US7219291B2 (en) 2007-05-15
KR20030063376A (ko) 2003-07-28
ES2236354T3 (es) 2005-07-16
FR2816773B1 (fr) 2004-11-26
DE60108892D1 (de) 2005-03-17
CN1320771C (zh) 2007-06-06
EP1332557A2 (fr) 2003-08-06
JP2004523936A (ja) 2004-08-05
US20040054954A1 (en) 2004-03-18
CN1479975A (zh) 2004-03-03
HK1061937A1 (en) 2004-10-08
WO2002039587A2 (fr) 2002-05-16
FR2816773A1 (fr) 2002-05-17
DE60108892T2 (de) 2006-04-06
EP1332557B1 (fr) 2005-02-09
WO2002039587A3 (fr) 2002-07-25
KR100822463B1 (ko) 2008-04-16

Similar Documents

Publication Publication Date Title
JP3898129B2 (ja) 連接符号を復号するための高速のモジュール、デバイス及び方法
JP3791013B2 (ja) データ・ブロックの畳み込み符号化方法及び装置及び対応する復号方法及び装置
US6678843B2 (en) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
JP3634004B2 (ja) 低減メモリ要件およびアドレス生成器を有する畳込みインタリーバ
US6304995B1 (en) Pipelined architecture to decode parallel and serial concatenated codes
US7139862B2 (en) Interleaving method and apparatus with parallel access in linear and interleaved order
JP2001057521A (ja) 通信システムのためのレートマッチングおよびチャネル・インターリービング
US7246298B2 (en) Unified viterbi/turbo decoder for mobile communication systems
Dobkin et al. Parallel interleaver design and VLSI architecture for low-latency MAP turbo decoders
US20030061003A1 (en) Soft-output decoder
US8024636B2 (en) Serially concatenated convolutional code decoder with a constrained permutation table
US6944727B2 (en) Interleaving apparatus and interleaving method, encoding apparatus and encoding method, and decoding apparatus and decoding method
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
KR100453605B1 (ko) 터보 코드용 하이브리드 인터리버
WO2007082626A2 (en) Method and apparatus for error correction decoding
Dobkin et al. Parallel VLSI architecture and parallel interleaver design for low-latency MAP turbo decoders
US10270473B2 (en) Turbo decoders with stored column indexes for interleaver address generation and out-of-bounds detection and associated methods
US7904784B2 (en) Serial concatenated convolutional code decoder
KR20030047100A (ko) 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법
EP1267511B1 (en) A method and apparatus for interleaving, deinterleaving
US9037952B2 (en) Memory architecture for layered low-density parity-check decoder
WO2011048997A1 (ja) 軟出力復号器
WO2002089331A2 (en) Area efficient parallel turbo decoding
Martina et al. VLSI architectures for WiMAX channel decoders
JP2003198385A (ja) インターリーブ装置及びインターリーブ方法、符号化装置及び符号化方法、並びに復号装置及び復号方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061027

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061220

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3898129

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110105

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term