JP4124893B2 - インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム - Google Patents

インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム Download PDF

Info

Publication number
JP4124893B2
JP4124893B2 JP00024199A JP24199A JP4124893B2 JP 4124893 B2 JP4124893 B2 JP 4124893B2 JP 00024199 A JP00024199 A JP 00024199A JP 24199 A JP24199 A JP 24199A JP 4124893 B2 JP4124893 B2 JP 4124893B2
Authority
JP
Japan
Prior art keywords
polynomial
sequence
replacement
permutation
binary data
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 - Fee Related
Application number
JP00024199A
Other languages
English (en)
Other versions
JPH11298339A (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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from FR9716669A external-priority patent/FR2773287A1/fr
Priority claimed from FR9814084A external-priority patent/FR2785742A1/fr
Application filed by Canon Inc filed Critical Canon Inc
Publication of JPH11298339A publication Critical patent/JPH11298339A/ja
Application granted granted Critical
Publication of JP4124893B2 publication Critical patent/JP4124893B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • 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/2993Implementing the return to a predetermined state, i.e. trellis termination
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、インターレーサ、符号化装置、置換(permutation)方法、符号化法方、復号化装置、そして、それらを実現する方法及びシステムに関する。
【0002】
【従来の技術】
本発明は、また、物理量を表すデータの符号化に、データを物理量を変調することのできるデータ形式で符号化に、データ変調信号の復号化に、物理量を表すデータの復号化に適用する。これらのデータは例えば、画像、音、コンピュータデータ、電気的量や記憶データを表すことができる。
【0003】
本発明は、畳み込み符号(convolutional codes)の技術分野にその適応分野を見出す。後者が繰り返し復号化を実現するのに用いられるときは、その符号化器が置換装置を含むときにこの符号は大いに改良される。この場合に、その符号は通常ターボ符号(turbocodes)と呼ばれ、その対応する繰り返し符号化器はターボ符号化器(turbocoders)と呼ばれる。
【0004】
この主題について、基準書として役立つ文献は、ICC 93(1993年)会議報告と共に発刊された「Near Shannon limit error-correcting coding and decoding: turbocodes」(C. BERROU, A. GLAVIEUX and P. THITIMAJSHIMA著、1064〜1070)、または、「Near Optimum error-correcting coding and decoding: turbocodes」(C. BERROU, and A. GLAVIEUX著、IEEE Transaction on Communication, Vol. COM-44, 1261-1271頁、1996年10月)がある。
【0005】
しかしながら、置換装置の定式化は完全にマスタしたとはとても言い難い。一般的に、この装置は、次々と行が書き込まれ次々と列が読み取られるような正方形または矩形のマトリクスを用いる。このような行列は通常非常に大型であり、例えば、256×256の大きさとなる。
【0006】
"TDA Progress Report"(1995年8月15日の第42122号)と共に、文献「非一様置換と一様置換とを用いたターボ符号用の重み分布」("Weight distributions for turbo-codes using random and nonrandom permutations")(ジェット推進研究所発行)における他の方法によると、 DOLINARと DIVSALARの両氏は、0からk-1までのk個の情報位置を番号付けすることにより、位置iに置かれた二値情報を位置e i + f(ここで、eとfは「よく選択」された値)に移動させる置換法を考察している。
【0007】
この文献で、両氏は、kが2の羃乗であるような例のみを説明し、更に、そのターボ符号化器(3, 1)により生成された符号化シーケンスを生成するのに用いられる置換装置の選択と初等畳込符号化装置(elementary convolutional coders)(2,1)の選択とによる相互的な影響について考察していない。
【0008】
対応するターボ符号を評価することは、同符号を異なる値のS/N比を有する伝送チャンネル上で使用することをシミュレートし、上記二値値についての所定の値の誤差確率が得られるような、S/N 比の最小値を計測する工程からなる。
【0009】
しかしながら、計測ツールとしてシミュレーションを用いることはいくつかの問題に至る。
【0010】
例えば、上述のk= 65536 (= 256×256)を有する置換装置が選ばれ、誤差確率を10-5に等しくなるように選んで、この装置を用いてターボ符号の能力をシュミレーションする。結果として、256×256のブロック当たりの上記二値値についての誤差平均値は1に近くなるようになる。しかし、二値情報項目の各々が同じ誤差確率を有するか否かは判らない。この誤差確率は、当該置換装置における「不運」(unlucky)な位置を有する二値値についてかなり高いものとなり、この確率は、より「幸運」(lucky)な位置に対してずっと小さなものとなる。
【0011】
【発明が解決しようとする問題点】
この問題を解消する可能性ある方法は、置換装置と2つの畳込符号化器とを調和的且つ連合的に設計して、復号化後の上記二値値上における、その置換装置内の二値情報の位置の関数としての誤差レートの合理的な非均一性を保証することである。
【0012】
もう1つの問題は、そのような置換装置を特定するための代数的ツールが無いことに関連する。全ての置換装置の集合を表す性能を有するような置換装置を選択するための手段を持つことは役立つものとなろう。
【0013】
本発明は、主に、
【0014】
Figure 0004124893
【0015】
で表される二値シンボルシーケンス(以下、「情報シーケンス」と呼ぶ)であって、3つ組の二値シーケンス、
{v} = ({a}, {b}, {c})
により表される情報の伝送に関わるものである。ここで、上記{a}, {b}, {c}の各々は、それ自体でシーケンス{u}を表す。
本明細書の後半では、シーケンス{u}を表現するために、
【0016】
Figure 0004124893
【0017】
という形式が、以下の対応する多項式形式
u(x) = uox0 + u1x1 +_+ uk-1xk-1
とは無関係に用いられる。
【0018】
これを実現するのに、いくつかの疑問が呈せられている。
【0019】
I/ どのようにしてg(x), h1(x)やh2(x) を選択すればよいのか?
【0020】
Il/ シーケンス{a*}を生成するシーケンス{a}の各項の順列をどのように選択するのか?提案されてきている、3例のインターレーサの例、シーケンス{a*}を形成するためのシーケンス{a}の項を置き換える演算器のインタレーサを以下に説明する。
【0021】
A) 第1の例では、{a}の各項を矩形テーブル状に配置した後に、連続的に行毎に左から右に向かって、シーケンス{a*}が各項を連続する列毎にこのテーブル内に取り込み、そして、各列について、最上行から最下降列まで。たとえば、6つの項からなるシーケンスであって、2行×3列のテーブルを用いるときは、インタレーサはシーケンス{a} = (a0, a1,, a2, a3, a4, a5)をシーケンス{a*} = (a0, a3, a1, a4, a2, a5)に変換する。
【0022】
B) 第2の例では、シーケンス{a*}の第i項a*i (i = 0, 1, 2, ...)を、シーケンス{a}の項ajとなるように選択する。ここで、s,tを整数とするとj=s.i + tであるjはシーケンス{a}の項の数でモジュロ計算される。例えば、シーケンス{a}の項の数が6で、s = 5,t = 3とすると、このインターレーサはシーケンス{a} = (a0, a1,, a2, a3, a4, a5)を{a*} = (a3, a2, a1, a0, a5, a4)に変換する。
【0023】
C) 第3の例では、置き換えはランダムに選択される。
【0024】
III/ b(x)を定義する除算が余りを持たないのをいかにして防ぐのか?
【0025】
IV/ c(x)を定義する除算が余りを持つのをいかにして防ぐのか?
【0026】
このうちの最後の2つの質問に答えることは、ターボコードに関する文献でしばしばいわれている問題、即ち、{b}と{c}を定義する初等畳込符号化装置(elementary convolutional coders)の「零回帰状態」("return to the zero state")についての問題に答えることに等しい。ターボ符号化器は、初等回帰符号化器(elementary recursive coders)を2つ有し、そのうちの第2のものはシーケンス{a}の置換{a*}を用いるので、情報シーケンスu(x)を表すa(x)とa*(x)の多項式は共にg(x)で割り切れることが保証されることが望ましい。a(x)についてこの可除性を保証することは単純である、何故ならu(x)からa(x)を構成することで十分であり、その一方で、u(x)をg(x)の次数に等しい数の穴埋めシンボルで補充するものであり、その唯一の機能はa(x)からb(x)を生成するのに役立つ除算で剰余がでないようにすることである。
【0027】
他方、a*(x)のg(x)による可除性と、かように特定されたターボ符号に対して良好なエラー訂正性能とを保証するような、a(x)からa*(x)を求める置換を選択することは、困難である。
【0028】
この問題は、u(x)を構成する異なるビットを復号化した後の誤差確率の不均衡を大きくする。
【0029】
雑誌"Electronics Letters"のVol. 31の第1号(5 January 1995, Messrs. BARBULESCU and PIETROBON著)に見える論文では、インターレーサを、シーケンス{a}の各項を、多項式g(x)の次数に1だけ増やした数に等しい数のシーケンスを順に且つ循環的に並べることにより、描くことができること、そして、そのような場合には、上記のように形成されたシーケンスの各々の内部置換がシーケンスb(x)を定義する除算による剰余と、シーケンスc(x)を定義する除算による剰余とを等しくさせる元となると開示している。
【0030】
しかし、その論文で述べられていることとは反対に、上記見解は多項式g(x)が
【0031】
Figure 0004124893
【0032】
の形式の時だけ正しい。
C. BERROU, S. EVANOとG. BATTAIL共著の論文"Turbo-block-codes"(本論文はInstitute of Technology of Lund (Sweden) (Department of Applied Electronics)によって開催されたセミナー "Turbo Coding"の報告と共に1996年8月に発行された)は、シーケンス{u}の各項を、正の最低次数がxn - 1(これはg(x)によって割り切れる)というタイプの多項式の次数N0の倍数に等しい数の列において巡回的に並べることにより、上記のように形成した上記列の各々の内的置換がシーケンス{b}を規定する除算の剰余とシーケンス{c}を規定する除算剰余との和がそれらのシーケンスの連鎖が{g}により割り切れるように零となることを意味する。
それ故に、この文献は、前述のものと同じように、インターレーサの選択肢を、シーケンス{a}の各項のサブ集合に内部置換することにより、それらに独立して働く特定の形態に限定することとなる。しかしながら、a(x)とa*(x)とが各々g(x)により割り切れることを保証するものではない。唯一保証されることは、2つのシーケンスの{a}と{a*}の端と端をつないでできた連鎖({a}, {a*})を表す多項式のg(x)で割り切れることである。
復号化器の性能にロスの可能性がでてくる、何故なら、復号化器は、符号化器が{b}の演算を終え{c}の演算を開始することをマークする時点で有する状態を知らされないからである。
【0033】
上記論文のどれもインターレーサの効果的な選択を提案していない。
【0034】
本発明は、上記従来技術の欠点を、シーケンス{c}の最後で零への回帰をシーケンス{b}が零に回帰する時に保証するインターレーサのファミリーを提案すると共に、上記の論文などに提案されたインターレーサよりも広い選択肢の幅を提案するものである。
【0035】
【課題を解決するための手段】
本発明の目的を達成するために、例えば、本発明の符号化方法は以下の構成を備える。
即ち、2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく符号化方法であって、
K×M1個の置換シーケンスaij *, (i = 1,... ,K; j = 1, ... ,M1)を生成する第1の生成工程と、
多項式表記がΣfij(x) cij(x) (j=1, ... ,M1)に等しいM1個の冗長シーケンスを生成する第2の生成工程とを有し、
前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
前記置換シーケンスaij *の各々は、対応するシーケンスaiを置換することによって得られ、該置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであり、
前記置換シーケンスaij *は、多項式表記aij *(x)が多項式の積cij(x)gij(x)で表わすことができ、少なくとも1つの置換シーケンスaij *は対応するシーケンスaiとは異なるものであり、
前記多項式fij(x)の各々の次数は、同一のインデックスiとjを有するgij(x)の次数以下であることを特徴とする。
【0049】
上記において、シーケンス{a}の二値データがN0列×M行のテーブル内に分類されるという表記では、上記全ての置換から取り出した連続した置換が導入されてきた。この全ての置換とは、長さN0で生成多項式g(x)を有する二値巡回符号の自己同型写像(上記テーブルのN0列の少なくとも2つの列の互いの置換)や、同じ列内のデータにのみ働く置換であってそのデータの少なくとも2つを互いに置き換えるものである。
【0050】
発明者たちは、これらの連続置換の全てが、そしてこれらだけが、g(x)による除算がゼロ剰余となるような多項式a(x)に対して、置換された多項式a*(x)が同じ性質を有することを保証するものであることを見出した。
【0051】
gijの選択を支配する条件の研究として、F.J. MACWILLIAMSとMr N.J.A. SLOANEとの共著の "The theory of error-correcting codes" (North-Holland in 1977発行、その7版は1992年に発行)を参照するとよい。
【0052】
本発明でなされている全ての選択は、上記2つの文献に開示されているインターレーサを含むものである。かくして、信号/ノイズの比率の関数としてのエラー率で表された性能は、ターボ符号化器やターボ逆符号化器の構成を複雑化することなく改良される。
【0053】
本発明の目的を達成するために、例えば、本発明の符号化装置は以下の構成を備える。
即ち、2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく符号化装置であって、
K×M1個の置換シーケンスaij *, (i = 1,... ,K; j = 1, ... ,M1)を生成する第1の生成手段と、
多項式表記がΣfij(x) cij(x) (j=1, ... ,M1)に等しいM1個の冗長シーケンスを生成する第2の生成手段とを有し、
前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
前記置換シーケンスaij *の各々は、対応するシーケンスaiを置換することによって得られ、該置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであり、
前記置換シーケンスaij *は、多項式表記aij *(x)が多項式の積cij(x)gij(x)で表わすことができ、少なくとも1つの置換シーケンスaij *は対応するシーケンスaiとは異なるものであり、
前記多項式fij(x)の各々の次数は、同一のインデックスiとjを有するgij(x)の次数以下であることを特徴とする。
【0054】
本発明の目的を達成するために、例えば、本発明の復号化方法は以下の構成を備える。
即ち、2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく復号化方法であって、
除数多項式gij(x)を用いてK個のシンボルシーケンスの並列ターボ復号化を行う復号化工程と、
前記シーケンスaiの各々について、M1個の置換操作を行う置換工程とを有し、
前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
前記M1個の置換操作は、少なくとも2つは同一ではなく、各置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであることを特徴とする。
【0055】
本発明の目的を達成するために、例えば、本発明の置換方法は以下の構成を備える。
即ち、2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく置換方法であって、
K×M1個の置換シーケンスaij *, (i = 1,... ,K; j = 1, ... ,M1)を生成する第1の生成工程と、
多項式表記がΣfij(x) cij(x) (j=1, ... ,M1)に等しいM1個の冗長シーケンスを生成する第2の生成工程とを有し、
前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
前記置換シーケンスaij *の各々は、対応するシーケンスaiを置換することによって得られ、該置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであり、
前記置換シーケンスaij *は、多項式表記aij *(x)が多項式の積cij(x)gij(x)で表わすことができ、少なくとも1つの置換シーケンスaij *は対応するシーケンスaiとは異なるものであり、
前記多項式fij(x)の各々の次数は、同一のインデックスiとjを有するgij(x)の次数以下であることを特徴とする。
【0056】
本発明の目的を達成するために、例えば、本発明の置換方法は以下の構成を備える。
即ち、物理量を表す二値データからなり、除数多項式g(x)により割り切れる多項式a(x)により表現されるシーケンス{a}を、前記多項式g(x)により割り切れる多項式a*(x)により表現される置換シーケンス{a*}に置換する置換方法であって、
ある置換集合の少なくとも1つの置換処理を実行する置換工程を有し、
前記置換集合は、前記シーケンス{a}の二値データがN0列M行のテーブル内に配列されるように表現すると、長さN0で生成多項式g(x)を有するような二値巡回符号の自己同型写像において、前記テーブルのN0個の列の少なくとも2列を互いに置き換える置換処理と、1つの同じ列内の少なくとも2つのデータ項目を互いに置き換える置換処理とを含むことを特徴とする。
【0057】
本発明の目的を達成するために、例えば、本発明の復号化装置は以下の構成を備える。
即ち、2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく復号化装置であって、
除数多項式gij(x)を用いてK個のシンボルシーケンスの並列ターボ復号化を行う復号化手段と、
前記シーケンスaiの各々について、M1個の置換操作を行う置換手段とを有し、
前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
前記M1個の置換操作は、少なくとも2つは同一ではなく、各置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであることを特徴とする。
【0058】
本発明の目的を達成するために、例えば、本発明のインターレーサは以下の構成を備える。
即ち、2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づくインターレーサであって、
K×M1個の置換シーケンスaij *, (i = 1,... ,K; j = 1, ... ,M1)を生成する第1の生成手段と、
多項式表記がΣfij(x) cij(x) (j=1, ... ,M1)に等しいM1個の冗長シーケンスを生成する第2の生成手段とを有し、
前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
前記置換シーケンスaij *の各々は、対応するシーケンスaiを置換することによって得られ、該置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであり、
前記置換シーケンスaij *は、多項式表記aij *(x)が多項式の積cij(x)gij(x)で表わすことができ、少なくとも1つの置換シーケンスaij *は対応するシーケンスaiとは異なるものであり、
前記多項式fij(x)の各々の次数は、同一のインデックスiとjを有するgij(x)の次数以下であることを特徴とする。
【0059】
本発明の目的を達成するために、例えば、本発明のインターレーサは以下の構成を備える。
即ち、物理量を表す二値データからなり、除数多項式g(x)により割り切れる多項式a(x)により表現されるシーケンス{a}を、前記多項式g(x)により割り切れる多項式a*(x)により表現される置換シーケンス{a*}に置換するインターレーサであって、
ある置換集合の少なくとも1つの置換処理を実行する置換手段を有し、
前記置換集合は、前記シーケンス{a}の二値データがN0列M行のテーブル内に配列されるように表現すると、長さN0で生成多項式g(x)を有するような二値巡回符号の自己同型写像において、前記テーブルのN0個の列の少なくとも2列を互いに置き換える置換処理と、1つの同じ列内の少なくとも2つのデータ項目を互いに置き換える置換処理とを含むことを特徴とする。
【0166】
【発明を実施するための形態】
以下の説明では、上記第1の制御シーケンスは、本発明の範囲は一般的なケースにまで拡張するものの、インタレースしていない情報シーケンスから常に得ることができる。
【0167】
本発明の実施形態の以下の説明は2つに分割される。1つは単一シーケンスのシンボルが符号化される場合であり、2番目は2つのシーケンスのシンボルが同時に符号化される場合である。
【0168】
〈第1実施形態〉
続く説明では、用語「データ」とは、情報を表すシンボルと付加的もしくは冗長なシンボルの双方に与えられるものである。
【0169】
特定の実施形態の説明を行う前に、本実施形態の数学的な基礎を以下に与える。
【0170】
本発明では、g(x), h1(x) やh2(x)は前もって定められており、除算形式b(x) = a(x).h1(x)/g(x)とc(x) = a*(x).h2(x)/g(x)とでそれぞれ定義されたシーケンスbcとは余りを有さないことが好ましいとされている。
【0171】
この目的に対して、
【0172】
Figure 0004124893
【0173】
をm次の多項式とすると、g(x)がxN0 - 1を除するような最小値N0を求めることができる。このような数が存在することが知られ、例えば、
g(x) = 1 +x +x3, N0= 7
【0174】
である。
任意の数Mを選び、M・N0に等しい長さのシーケンス{a}を選ぶ。この長さは、M・N0−{g(x)の次数}に等しいようなシーケンス{a}に組み込まれたシーケンス{u}の長さを決定する
【0175】
かくして、上記シーケンス{a}を形成する目的で、送信すべきk個の二値データにより形成されたシーケンス{u}に併置されて、多項式g(x)の次数に等しい付加的な複数の二値データがあり、この付加されたデータはa(x)のg(x)による除算において剰余が発生しないことを保証するものである。
【0176】
この実施形態で行われる除算は、a(x)の昇順の冪級数の係数に対するモジュロ2演算である。
【0177】
例示として、シーケンス{u}がシーケンス(1, 0, 0, 1, 0, 0)であり、シーケンス{g}がシーケンス(1, 1, 0, 1)であるならば、上記除算は下記のように記述される。
【0178】
【表1】
Figure 0004124893
かくして、シーケンス{u}= (1, 0, 0, 1, 0, 0)を、上記付加により形成されたシーケンス{a}= (1, 0, 0, 1, 0, 0, 0, 0, 1)(このシーケンスの第1の二値データは全てシーケンス{u}の二値データでである)で取り替えることにより、多項式a(x)がシーケンス{g} = (1, 1, 0, 1)に結びつけられた多項式g(x)により割り切れるか否か、結果的には、a(x)・h1(x)がg(x)により割り切れるか否かが、シーケンス{h1}が多項式h1(x)(この多項式はシーケンス{b}の定義を b(x) = a(x).h1(x)/g(x)により与える)に関連づけられようと関連づけられまいとに関わらず、保証される。
【0179】
シーケンスa*(x)(これは、置換後の、シーケンス{a}と同じ二値データを有するが異なる順序で並んでいる)を決定するために、その表現が次のように与えられるような1つのインターレーサが選択される。即ち、シーケンス{a}の二値データはN0列M行のテーブル内に配置されることとして、これらのデータに対して、ある置換集合の少なくとも1つの置換が行われる。この置換集合は、一方で、生成多項式g(x)(このg(x)は前記テーブルのN0列の少なくとも2つを互いに交換する)を有する、長さN0の二値巡回符号の自己同型写像 (automorphisms)を含み、他方で、全く同一列内のデータにのみ作用し前記のデータ項目のうちの少なくとも2つを互いに交換する置換と、この集合内の1つ以上のみの置換とを含む。
【0180】
これは、このように表現された置換のみが、g(x)による除算が剰余を生まないようないかなる多項式a(x)について、その置換された多項式a(x)が剰余を生まないようなg(x)による除算を有することを保証することを、本発明の発明者が発見したからである。
【0181】
引き続き、N0 = 7でg(x) = 1 + x + x3であるような例に対して次のようなものがあり得る。即ち:
【0182】
第1列の二値データの置換と、
【0183】
第3列の二値データの置換と、
【0184】
第2列の第4列による置換、第4列の第2列による置換、第5列の第6列による置換、第6列の第5列による置換。
【0185】
自己同型写像に関して、長さN0で生成多項式g(x)を有する二値巡回符号(即ち、g(x)の全ての倍数のモジュロ(xN0-1)演算)に名前Cgを与えるとすると、この符号の座標値の、あるワードから他のワードへと変換する置換が考慮される。このような性質を有する上記の座標置換集合はグループ構造を有し、Cg自己同型写像グループと呼ばれる。
【0186】
更なる情報として、"The theory of error-correcting codes"(F.J. MACWILLIAMS、N. J. A. SLOANE共著、North-Holland 1977年発行)を参照するとよい。
【0187】
これら全ての置換の中で、発明者は次のような置換を選択した。即ち、かかる置換とは、小さなファミリだけを有し、その構成要素の全てが最も効率的な置換を選択するようにテスト可能なものからなるという特徴を有する。
【0188】
上述したように、Mを奇数となるように選択し、 g(x)についても対応する数N0もまた奇数となるように選ぶ。2の冪級数をモジュロM・N0で記述すると、モジュロM・N0の所謂2の循環(cycle)が得られる。この循環では、いずれかの項eを選ぶと、次の置換が行われる。即ち、多項式{a}は循環後に多項式a*(x)を与える。ここで、 a*(x)はa*(x) = a(xe)と定義され、かくして、もし{a}=(a1, a2, ..., aM N0-1)ならば、 a*の最初の二値データ項は、fをeの逆数のモジュロM・N0とすると、a0となり、第2項はaf、第3項はa2fとなる。
【0189】
例えば、 g(x) = 1 + x + x3ムを、それ故にN0=7として、繰り返し、M=5と選ぶことにより、 M・N0 = 35が得られる。それで、この2の循環は[1, 2, 4, 8, 16, 32, 29, 23, 11, 22, 9, 18]と書くことができる。
【0190】
例えば、 e = 28 = 11とすると、fは16に等しくなり、シーケンスa*は二値データa0, a16, a32, a13, a29, a10等で始まる。
【0191】
上述した a*(x) = a(xe)(ここで、eはモジュロM・N0の2の循環内にあり、a(xe)はモジュロxM N0-lに取られる)によって表すことのできる置換は、小さなファミリーを形成する。そのファミリーの全てのメンバーは、テストされて、最も効率的となるものが選ばれる。
【0192】
この選択論理は以下のようである。先ず次数mのg(x)が選ばれる。この選択により、N0が、g(x)が xM N0-1を割り切ることができるように、最小の整数値とされるように決定される。次に、h1(x)とh2(x)とが任意の次数のものとして、好ましくは大きくともg(x)の次数mに等しいものとして選ばれる。何故なら、これら3つの多項式 g(x), h1(x), h2(x)の最高次数は復号化器の複雑さを決定する要素となるからである。それから、奇数Mが選択されて、モジュロM・N0の2の循環が計算される。この2の循環内の1つの要素eは、a(x)から、a*(x) = a(xe) modulo xM N0-1-1を特定するように選ばれる。そして、このようにして定義されたインターレーサに関連づけられたターボ符号に対して色々なテスト操作がなされる。
【0193】
例えば、 g(x) = 1 + x + x3とする。この仮定は N0 = 7を前提とする。また、h1(x) = 1 + x + x2 + x3,h2(x) = 1 + x2 + x3,M = 21とすると、これからM・N0 =147 が導かれ、モジュロ147の2の循環、即ち、{1, 2, 4, 8, 32, 64, 128, 109, 71, 142, 137, 127, 107, 67, 134, 121, 95, 43, 86, 25, 50, 100, 53, 106, 65, 130, 113, 79, 11, 22, 44, 88, 29, 58, 116, 85, 23, 46, 92, 37, 74}を計算することが可能となる。
【0194】
重みがそれぞれ2, 3, 4, 5に等しいg(x)により割り切り可能な夫々の多項式a(x)を順次テストすることにより、e = 25という選択が「見込みがある」("promising")と結論できる。何故なら、重み2の多項式a(x)は重み26以上の符号化シーケンス{v}= ({a}, {b}, {c})に対応し、重み3の多項式a(x)は重み24以上の符号化シーケンス{v}= ({a}, {b}, {c})に対応し、重み4の多項式a(x)は重み26以上の符号化シーケンス{v}= ({a}, {b}, {c})に対応し、重み5の多項式a(x)は重み30以上の符号化シーケンス{v}= ({a}, {b}, {c})に対応するからである。
【0195】
このことは、最小距離が24に等しいことを示しているように見える。この値は、上述のg(x),h1(x),h2(x)でもってN0 = 7,M = 21に対して本会時の方法に従えって得られる最良値である。
【0196】
もう1つの可能性ある選択は、N0 = 15を前提とするg(x) = 1 + x + x4である。そこで、h1(x) = 1 + x + x + x4,h2(x) = 1 + x3 + x4 、そしてM = 27を選ぶとする。これにより M・N0 = 405が導かれ、モジュロ405の2の循環、即ち、{1, 2, 4, 8,16, ..., 304, 203}(但し108個からなる)を得ることが可能となる。
【0197】
何度も除去することにより、e = 151,e = 362,e = 233が特に見込みがあると結論づけることができる。
【0198】
特に、発明者は、e = 151に対して、g(x)で割り切れて、2, 3, 4, 5, 6, 7に夫々等しい重みを持つ多項式a(x)をテストした。
【0199】
a(x)の重みをW(a(x))とすると、W({v})の対応する最小重みは次の表2に示される。
【0200】
【表2】
Figure 0004124893
e = 362に対しては、同様にしてa(x)の重みをW(a(x))とすると、W({v})の対応する最小重みは次の表3に示される。
【0201】
【表3】
Figure 0004124893
本発明によれば、1において合同でなく(non-congruent )、modulo N0であるような数eを特に使うことができる。
【0202】
以下添付の図1乃至図3を参照しつつ本発明の好適な実施例を説明する。
【0203】
第1図は、ネットワークステーションもしくはコンピュータ符号化ステーション101の構成を示すブロック図である。本ステーションは、処理ボード(以下、カードと呼ぶ)101からなる、キーボード111とスクリーン109と外部情報源110と無線送信機106と共通に接続された入出力ポート103とを有する。
【0204】
処理カード101はアドレス/データバス102に一緒に接続された、 中央処理ユニット100、 RAM104、 ROM105、 入出力ポート103とを有する。
【0205】
第1図に示された各要素はマイクロコンピュータ及び通信システム、更に一般的には情報処理システムの当業者によってよく知られたものである。これらの共通の要素はそれ故にここでは説明を省略する。しかしながら、次のことがいえる。即ち、
【0206】
情報源110は、例えば、インタフェース周辺装置、センサ、復調装置、外部メモリ若しくは他の情報処理システム(不図示)であって、特に、二進データからなるシーケンスの形態を有する音声、サービスメッセージ、またはマルチメディアデータを表す信号シーケンスを供給するのに適合化されたものである。 また、無線送信機106は、ケーブル無しチャネル上のパケット通信プロトコルを実装し、そのようなチャネル上にこれらパケットを送出する。
【0207】
本明細書で用いられる用語「レジスタ」は、メモリ104,105の各々において、低容量のメモリ領域(2,3の二進データ)と大容量のメモリ領域(プログラム全体を記憶できる程度の)の双方を意味する。
【0208】
RAM104は、メモリレジスタ内に、データ、変数、中間的な処理結果を記憶するもので、本明細書では、格納されるデータの名前と同じ名前を有するものとする。このRAM194は、特に、以下のものを格納する。即ち、
【0209】
レジスタ「主データ」("primary-data"):ここには、バス102に到着した順序で情報源101からの二進データが格納される。
【0210】
レジスタ「置換データ」("permuted-data"):ここには、バス102に到着した順序で、図2に関連して説明されるような置換二進データが格納される。
【0211】
レジスタ「N。データ」("N。-data"):ここは、レジスタ「二進データ」("binary data")内の二進データの数に対応する整数値を格納する。
【0212】
レジスタ「中間剰余」("intermediate-remainder") :ここには、除算による中間的な余りを次々と格納する。
【0213】
レジスタ「最終剰余」("final-remainder") :ここには、二進の補数データが格納される。
【0214】
レジスタ「{a}, {b}, {c}」:ここには、中央処理装置100により決定された順序に従って、二次シーケンスの二進値が格納される。
【0215】
ROM105は、便宜上、格納するデータと同じ名前を有するレジスタ内にデータを格納するように適合されたもので、それらのレジスタは次のものを格納する。
【0216】
レジスタ"program"内の中央処理ユニット100用の処理プログラム、
【0217】
レジスタ"{g}」内のシーケンス{g}、
【0218】
レジスタ"{h1}」内のシーケンス{g}、
【0219】
レジスタ"{h2}」内のシーケンス{h2}、
【0220】
レジスタ"N0」内のシーケンスN0、
【0221】
レジスタ"M」内の値M。そして、
【0222】
レジスタ""interlacer"(インターレーサ)内のそのインターレーサを定義するテーブル。
【0223】
中央処理ユニット100は、図2に示されたフローチャートの制御手順を実行する。
【0224】
図1に示された符号化器の動作を説明する図2において、中央処理ユニット100は、ステップ300では、RAM104の上記レジスタを初期化するの初期化動作(N0データ="0")を行い、ステップ301では、送信すべき二進データの受信を待ち、そのデータを受信し、RAM104内の"primary_data"に格納し、カウンタ"No_data"をインクリメントする。
【0225】
次に、ステップ302では、ユニット100は、レジスタ"No_data"に格納された整数値が、積M・N0に等しいか否かを決定する。この積M・N0からg(x)の次数が減算される。MおよびN0そしてg(x)の次数mはROM105内に格納されている数値である。
【0226】
テスト302工程での結果がNOであるならば、ステップ301が繰り返される。テスト302の結果がYESならば、ステップ303で、前記二進データシーケンス(レジスタ"primary_data"領域に格納されているに関連づけられた多項式{u}の多項式g(x)による除算が実行される。この除算は、u(x)の最後の項(最高次の項)に至るまで、レジスタ"intermediate_remainder"を用いて行われる。この除算による剰余はメモリの"final_remainder"に格納される。この除算の結果は、レジスタ"final_remainder"に格納される。
【0227】
次に、ステップ304の処理では、レジスタ"final_remainder"内に格納された二進データがシーケンス{u}の最後で並べられてシーケンス{a}を形成する。例外として、多項式の最低次数に対応する二進データ項目は更に必ず"0"に等しい。このシーケンス{a}の二進データはレジスタ"{a}, {b}, {c}"に格納される。
【0228】
次に、ステップ305の処理では、ステップ303で行われた除算が終了されると共に、付加的データがステップ304の処理で付加される。そして、シーケンス{b}が終了してレジスタ{a}{b}{c}に格納される。
【0229】
それから、処理306において、シーケンス{a}の二進データがレジスタ"{a}, {b}, {c}"から次々と読み出される。その順序はROM105に格納されているテーブル"interlacer"によって記述されているものである。このよ、見出しから次々に得られるデータはメモリのレジスタ"permuted_data"(ROM104の)に格納される。
【0230】
次に、ステップ307の処理では、レジスタ"permuted_data"に格納されていた置換二値データに関連づけられた多項式a*(x)の多項式g(x)による除算が行われる。この除算はレジスタ"intermediate_remainder"を用いて行われる。この除算の結果はメモリのレジスタ"{a}, {b}, {c}"に格納されて、それはシーケンス{c}の二値データに一致する。
【0231】
ステップ308の処理において、シーケンス{b}と{c}とが、そのシーケンス{b}と{c}とに関連づけられたレジスタ"{a}, {b}, {c}"(RAM104に格納されている)に格納された多項式b(x)とc(x)と、多項式h1(x)と h2(x)との夫々の積を取ることによって決定される。
【0232】
本発明によると、メモリ要素が、h1(x)とh2(x)との積を行う前にg(x)による除算を行うことにより節約される。
【0233】
ステップ309の処理において、シーケンス{a},{b},{c}が、送信機106を用いて送出される。次に、メモリ104の前記レジスタが再度初期化されて、特に、カウンタ"No_data"が"0"にリセットされて、ステップ301が繰り返される。
【0234】
ここで、変形例として、ステップ309において、シーケンス{a}が全体として送出されるものの、1つの復習号のみ、例えばシーケンス{b}と{c}の各々の1つのデータ項目のみが送られるものが提案されてもよい。この変形例は、当業者ではpuncturingとして知られている。
【0235】
復号化については、多項式g(x), h1(x), h2(x)と、シーケンス{a}から置換されたシーケンス{a*}を供給するインターレーサとを知ることにより、当業者は何の困難もなく、復号化処理や誤差の補正に適合化された複合器を設計することは容易である。これは、上記のように考察されたインターレーサと、場合によっては対応する逆インターレーサ(deinterlacer)を用いることによって3つ組の({a}, {b}, {c})に影響する。
【0236】
この目的のために、当業者は以下のものを参照する。即ち、
【0237】
文献"Optimal decoding of linear codes for minimizing symbol error rate"(L.R. BAHL, J. COCKE, F. JELINEKとJ. RAVIVとの共著、IEEE 情報理論論文集、1974年3月)
【0238】
文献"Iterative decoding of binary block and convolutional codes"(J. HAGENAUER, E. OFFER とL. PAPKE共著、IEEE 情報理論論文集、1996年3月)
【0239】
文献"A viterbi algorithm with soft decision outputs and its applications"(J. HAGENAUER とP. HOEHERの共著、IEEE GLOBECOM会議報告、pages 1680-1686, in November 1989)
【0240】
論文"Iterative (turbo)decoding of systematic convolutional codes with the MAP and SOVA algorithms"(J. HAGENAUER, P. ROBERTSON とL. PAPKEの共著、定期刊行物Informationstechnische Gesellschaft (ITG) Fachbericht, pages 21 - 29, 1994年10月)、
【0241】
文献"Turbo-block-codes"と、Lund Technology Instituteの応用電子工学科 (Sweden)によって開催されたセミナーの論文"Turbo Coding"(C. BERROU, S EVAN0とG. BATTAILの共著、1996年8月)。
【0242】
図3は、使用すべきインターレーサを特定するためのeの値を決定する制御手順を示す。これらのステップは図1に示した符号化装置によって実行されるものであって、この場合には、レジスタ「N0」や「M」そして「インターレーサ」などはROM105よりも寧ろRAM104に内蔵されている。そして、"d", "dmax", "e","j"という4つのレジスタがRAM104に付加されている。
【0243】
ステップ501では、{g}に対応する次数mの所定の多項式を、
【0244】
Figure 0004124893
【0245】
と表すと、そのg(x)が多項式 xN0 - 1を割り切れるようにする最小の厳密な正の整数N0を求めることができる。このような数値が存在することが知られている。例えば、g(x) = 1 + x + x3に対してN0 = 7が存在する。この目的において、多項式xi - 1をg(x)で割ることが、g(x)の次数mに等しいiの値から始めて、1ステップだけ連続的にiを増加させて、除算の剰余がモジュロ2でゼロとなるまで行う。剰余がゼロの時に、iの値はレジスタN0に置かれる。この除算は昇順でxi-1の冪級数の係数にモジュロ2で行われることは思い出されるであろう。
それから、奇数Mをそれから選択して、積M・N0が、同じフレームで送られる二進データuiの数よりも小さくならないように選ばれ、操作502の間はg(x)の次数mに付加され、 M・N0に等しいシーケンス{a}の長さが、シーケンス{a}の組込まれるシーケンス{u}の長さ(即ち、いわば、その数の二進値の数である)を、M・N0引くg(x)の次数mに等しくなるように、決定するに等しい。
【0246】
それから、操作503乃至509の間は、中央処理装置100はeに関連づけられた本インターレーサが考慮に入れられ冪か否かを決定する、そのことはシーケンス{v} = ({a}, {b}, {c}) 低い重みを有するような低重みのシーケンス{a}が存在しない。
【0247】
実施形態では、{a*}の決定は{a} = (a0, a1, ... )を{a*} = (a0, af, a2f, ...)で置き換えられる工程を含むことになろう、ここで、fの倍数がモジュロM・N0で計算される。fがモジュロM・N0で1以外の2のべき乗であるときは、本置換はまさに前述したものとなる。それは、実際、二進データをテーブルの各列内のみでの置換と、続いての、fがモジュロN0で1以外の2のべき乗であるときは、その列の少なくとも2つ同士の置換によって表現される。後者の置換は長さN0の二進巡回符号の、そして発生多項式g(x)との自己同型化写像である。fが1に等しくモジュロN0であるときは、列に関連するこの置換は自明(trivial)または同一化置換である。即ち、当該テーブル内の列の位置を保持する。
【0248】
この目的のために、本発明の特定の実施形態では、操作503の間には、中央処理装置100は、モジュロM・N0の2の連続のべき乗を決定して、モジュロM・N0の2の巡回cycleと呼ばれるものを得る。この巡回は2のべき乗の1つがモジュロM・N0で1に等しくなった時点で終わる。この巡回の工数jはレジスタjに記憶される。
【0249】
それから、操作504の間に、レジスタ"l"と"dmax"に記憶された中間値lとdmaxが夫々"1"と"0"とに初期化される。
【0250】
次に、操作505の間に、 レジスタ"l"の値は1だけ増加されて、前記2のモジュロM・N0の循環のI番目の値が取られる。
【0251】
それから、操作506の間に、この値が1のモジュロM・N0に等しくないならば、シーケンス{v} = ({a}, {b}, {c}) の重みが、低重みのシーケンス{a}に対して、置換がa*(x) = a(xe)により定義されて決定される。もし{a}=(a0, a1, a2, ..., aM N0-1)であるならば、前述したように、a*の最初の二進値はa0であり、第2の値はafであり、第3の値はa2f, ...、_というようにして、インデックスがM・N0で計算される。
【0252】
この目的のために、2つのシーケンス間の距離はこれらシーケンスの一致する二進値の差分により構成されたシーケンスの重み(いわば、ゼロでない二進値の数)であるので、この処理はゼロシーケンスを有するシーケンスの差分の解析に限られ、多項式a(x)は昇順の重みにより列挙され、全く同じ三組({a}, {b}, {c})内のシーケンスの重みの和が計測され、与えられたeに対する最も小さな重みを探索し、そして、一度これら全ての最小の重みが2の巡回中のeについて、最高の重みに対応するeの値について決定される。
【0253】
テスト507において、その距離はそれからRAM104のレジスタ"d"に格納される。次に、テスト507の間に、レジスタ"d"に格納された値がレジスタ"dmax"に格納された値よりも大きいならば操作508において、レジスタ"dmax"の値は、値dを取るように変形され、考慮されている巡回ののl番目の要素の値はレジスタ"e"のメモリに格納される。
【0254】
操作508に続いて、或いはテスト507の結果が否定的ならば、lの値がjよりも小さい限りは、テスト509とそ宇佐505が繰り返される。
【0255】
テーブル"インターレーサ"は次のように形成される。
【0256】
a*(x) = a(xe)とされ、もし{a}=(a0, a1, a2, ..., aM N0-1)ならば、a*の最初の二進のデータ項目a0であり、2番目はafであり、三番目はa2fであり、 ...前述したように、インデックスがモジュロM・N0で計算される。
【0257】
変形例として、不図示ではあるが、三組({a}, {b}, {c})が次のように計算される。
【0258】
・a(x)とb(x) = a(x).h1(x)/g(x)とが上述のように定義され、
【0259】
・与えられた多項式g2(x)が、g2(x)がxN2— 1を割り切れるような最小の整数N2が、g(x)がxN0— 1を割り切れるような最小の整数N0に等しくなるように選ばれ、置換Pが、長さN0で生成多項式g(x)を有するような二進巡回符号中の符号語を長さN2で生成多項式g2(x)を有するような符号語に変換するようなものである。そのような置換は、Cgに等しい巡回符号を生成する多項式g2(x)についてのみ存在すると言うことを明記すべきである。この証明は当業者に良く知られており、上述のF.J. MACWILLIAMS and Mr N.J.A. SLOANE共著の文献の234頁を参照すべきである。。
【0260】
・本発明によると、シーケンス{a}(この{a}は多項式g(x)で割り切れるような多項式a(x)に関連づけられたものである)から、シーケンス{a**}(これは多項式g2(x)により割り切れる多項式a**(x)に関連づけられている)を生成するものであるこの置換は、a(x)から、上述したようなg(x)により割り切れる第1のシーケンスa*(x)(このシーケンスは将に今導入されM行N0列のテーブル(このテーブルはとりわけ{a}と次の{a*}を含みこれらの列を互いに置換させて{a**}を生成するものである)の列に作用する置換Pを伴うようなものである)を生成するようないかなる置換によっても生成される
【0261】
本発明の範囲は上述の実施形態に限定されるものではなく、当業者にとって自明な範囲の変形や改良を含むものである。
【0262】
特に、1つ以上のインタレーサを付加することにより1/4若しくは以下のスループットについての下りは、各インタレーサに関して、上述の原理を適用することによって実現される。これらの場合、パンクチュアリング(puncturing )符号のスループットを上げるために用いることができる。パンクチュアリングはチェックシンボルのみを送信することによって実現されることを留意すべきである。
【0263】
更に、本発明の目的である装置は、算術演算を実施するために、多項式乗算、多項式除算、インタレース関数、基本復号化関数、プロセッサを含まない専用回路等(にもかかわらず、かかるプロセッサは、これらのデバイスの動作を制御するのに用いることができる)を組み込むことにより効果的に実現される。これら専用回路は実際に、より高い情報の流量に到達するのに可能となる。
【0264】
本発明の第1実施形態によれば、パンクチュアリング無しでも、1/3に近いスループットに到達することを留意すべきである。何故なら、符号化すべきコードがn-mシンボルのシーケンスについてはn個のチェックシンボルからなる2つのシーケンスが存在するからである。
【0265】
	〈第2実施形態〉
本発明の第2実施形態では、1/3以上のスループットが考慮され、パンクチュアリング無しで得られる。符号化すべきn-m個のシンボルからなる2シーケンスについて、n個のチェックシンボル2つのシーケンスが例えば供給され、いわば、スループットは1/2に近づく。
【0266】
第2実施形態の説明を始める前に、本実施形態の数学的な基礎を以下に与える。.
【0267】
第1実施形態を導入するために、スループットが1・3に近いターボ符号化器と共に使われる1クラスの代数的インタレーサが提示された。これらのインターレーサの主な特徴は、情報多項式の与えられた多項式g(x)(この多項式は部分的には当該符号化器を特徴づける)による可除性を保存することである。結果として、符号化情報ビットあたりのエラーの確率はその情報シーケンス内におけるビット位置からよく独立している。他の特徴は、これらのインターレーサの代数的記述がそれらの列挙(enumeration)並びに個々の評価を可能にすることである。更に、この小さなセットのインターレーサは全インターレーサの性能を代表する。
【0268】
しかしながら、いろいろな状況下では、例えば、無線通信では、更によいスループットが必要である。
【0269】
第2実施例は特に、パンクチュアリング法を用いることなく、スループットが1/2以上もしくはそれに近いものに関するものである。
【0270】
IIa - "x to xe"タイプのインターレーサを有する高スループットのターボ符号化器
【0271】
次のシステマティックな畳込(convolutional)符号化器 K x (K+2)を以下に説明する。
【0272】
Figure 0004124893
【0273】
ここでは、hi, fiとgは遅延演算を表す中間xの二進係数を有する多項式である。
従来では、通信情報は、二進係数aijを有するK個のタプル{a} = (a1,_, aK)の多項式
【0274】
Figure 0004124893
【0275】
によって表される。情報は{v} = {a}Gで符号化される、ここで、{v}は(K+2)個のタプル個の不確定性(indeterminate)xのシーケンス:
Figure 0004124893
【0276】
である。
ここでは、「多項式」よりもむしろ「シーケンス」と記述されている点に留意されるべきである。なぜならば、上記和は必ずしもgの倍数である必要はなく、もしそうでないならば、gによる除算はシーケンスを不定で最終的には周期的なものとしてしまうからである。
【0277】
このタイプの符号化器の性能を改良するために、{v}の最後の成分
【0278】
Figure 0004124893
【0279】
は、
Figure 0004124893
【0280】
によって置き換えてもよい。ここで、ai * はシーケンスaiからその係数の置換によって得られたシーケンスを表す。各シーケンスaiをシーケンスai * に変換することを「インターレーシングする」("interlacing")と呼ぶ(例えば、C. BERROU and A. GLAVIEUX共著の"Near Optimum error-correcting coding and decoding : turbo-codes"(IEEE発行のTransactions on Communication, Volume COM-44, pages 1261 to 1271, in October 1996という論文を参照のこと)。
第4図は、この動作を実行する符号化器の構成を示す。同図では、入力におけるK個のシーケンスのシンボルについて、符号化器は出力に対して:
【0281】
・これらのKシーケンスの同一なシンボルと、
・情報シーケンスaiに関連づけられた多項式と所定の多項式hiとの積の和をとり、更に、この和を所定の多項式gにより除することによって形成されたチェックシンボルシーケンスと(符号化器401)と、
・まず、各情報シーケンスaiをインターレーサIi(インターレーサ402乃至405)によりインターレーシングしてシーケンスai*を供給し、それから、前記シーケンスai*に関連づけられた多項式と所定の多項式fiとの積の和をとり、そして、この和を所定の多項式gにより除することにより形成されたチェックシンボルシーケンスと(符号化器406)。
第1図のインターレーサIi(402 to 406)は、既に、各シーケンスai * はiと異なるjを有するシーケンスajのシンボルを含むことができるという第5図のインターレーサ201の制限となっている。
【0282】
本発明の一般的な性質によれば、各シーケンス{ai}の二進データがN0列×M行のテーブルに分類されるというような表記では、各インターレーサIiは:
【0283】
・長さN0で生成多項式g(x)(このg(x)は前記テーブルのN0個の列の少なくとも2つを互いに置換する)を有する二進循環符号の自己同型写像と、同じ列のみのデータに互いに働き、前記データの少なくとも2つを互いに置換する置換を含む置換集合中の少なくとも1つの置換を有し、
・前記集合外には置換は存在しないものである。
本発明の特定の特徴によれば、スループットK/(K+2)の符号化器(ここで、Kは任意の正の整数)に対して、K=1に関する前記第1実施形態に関連して説明されたタイプ"x to xe"のインターレーシングが適用される。
【0284】
K ≧ 2 (第2実施形態)のケースについて以下に説明する。
【0285】
多項式g(x)を、
【0286】
g(x) = 1 + g1x + g2x2 + _ + gm-1 xm-1 + xm
とする。
【0287】
N0を、g(x)がxN0 + 1を割り切れるような最小の整数とする。
【0288】
nをN0の奇数の倍数に等しい(n = M・N0)ものとする。
【0289】
すると、g(x)は多項式xn + 1の除数である。例えば、g(x) = 1 + x + x4であって、nは値15, 45, 75, _ , 225, _ , 405, _ の中から選ばれるとする。この可除性についての詳細な議論はW.W. PETERSON and E.J. WELDON共著の"Error-correcting codes"(MIT Press発行, Cambridge, Massachussets, 1972)に述べられている。_
【0290】
この情報は{u} = ({u1}, _ , {uK})によって表される。ここで、K個の要素{ui}の各々は、形式的な次数n-m-1であって二進係数を有する多項式{ui(x)}によって表される。各多項式{ui(x)}に対して、mビットの末項(termination)
【0291】
Figure 0004124893
【0292】
が付加されて、この付加により、多項式
Figure 0004124893
【0293】
がg(x)で割り切れるものとなる。
結果のK個のタプル{a} = ({a1}, _ , {aK})はそれで符号化されて、2つのチェックシーケンスを生成する。
【0294】
最初のシーケンスは、
【0295】
Figure 0004124893
【0296】
によって与えられ、それは多項式となる。何故なら、多項式がK個の多項式aiを割り切るからである。第2のシーケンスは
Figure 0004124893
【0297】
によって与えられ、ai(x)ai *(x)にインターレーシングすることは、
ai *(x) = ai(xe) modulo xn + 1 (2)
によって与えられる。ここで、eは、モジュロnがとられた2の冪乗(e=2l)に等しい。このタイプの"x to xe"型置換はK = 1に関する前記第1の部分に提示されてものであり、aiがgで割り切れるときにai * のgによる可除性を保証する。
K = 2に関して、2,3の例をあげる。
【0298】
(1)で説明された形式の2 x 4ターボ符号化器で、
【0299】
g(x) = 1 + x + x3;
【0300】
h1(x) = f2(x) = 1 + x2 + x3;
【0301】
h2(x) = f1(x) = 1 + x + x2 + x3
【0302】
n = 147
【0303】
のものが考慮される。
nを147として、各々が2の冪乗でモジュロ147の残余(residue)である42個のeがあるとする。eのこれらの各々の値に対して、対応するターボ符号が付加されたホワイトガウスノイズチャネル(当業者には、"Additive White Gaussian Noise"を意味する頭字語で"AWGN"として知られている)に対してビットEb当たりのエネルギとHz当たりのノイズの比N( 同じくノイズスペクトル密度)を異ならせてシュミレーションされた。
【0304】
信号/ノイズ比の関数としてのビット当たりのエラー率("BER")のカーブの対応値が、n=147, K=2, n=147, K=2 で値が異なる3つの値のe(e = 67 = 214, e = 32 = 25 , e = 71 = 29)に対して第6図に描かれている。最初の2つの値は42個の取り得る値の中で"good"であることを示しており、最後のeは2または3個の"less good"(良くはない)(例えば1, 2, 4, 109, 142 and 50)を示している。
【0305】
iをi = 1または2とし、nについてはより高い値として同じg(x), hi(x), fi(x)を用い同じシュミレーションを行うことができる。n = 413のケースとn = 917のケースが、モジュロnで多数の異なる2の冪乗の値を提供するものであるという理由で選択された。n = 413に対しては、174個のそのような異なる値が存在し、n = 917については390個のそのような異なる値が存在する。
【0306】
発明者たちは、eの値を適正にとれば、本発明の実施化に際して誤差カーブ上には、復号化でのビット当たりの誤差確率10-5であるようなレベルがないことが観測された。モジュロxn+1でai*(x) = ai(xe)を生成するためには、ai(x)多項式のインターレーシングが、eを異なる値とするが常に2のi乗の形態(e = 2l)としてiの各値に対して実行することができる。好ましくは、iの全ての値に対して同じインターレーサが用いられ、これにより、k個タプルシンボルの同一性が保たれる。
【0307】
IIb: K ≧ 2であるターボ符号化器の仕様
【0308】
次の3 x 5のターボ符号化器が一例として考慮される:
【0309】
Figure 0004124893
【0310】
ここで、gは二進値係数を有し自乗多項式では割り切れないようなこれ以上単純化できない(irreducible)多項式である。上記マトリクスGは3つ組情報{u} = ({u1}, {u2}, {u3})を:
Figure 0004124893
【0311】
のように符号化する。ここで、第1実施形態と同じように、aiはuiから得られ、ai *はaiから得られる。
そのような1つの符号の最小距離に影響する要素は、5個タプルのvの零でない成分の最小数である。
【0312】
そのターボ符号のいかなる5個タプルv = (v1, _ , v5)も少なくとも3つの零でないシーケンスviを含むことを保証することができる。
【0313】
これを明らかにするために、ai * をあからさまにai(xe)(約されたモジュロxn + 1)と記し、モジュロnのeの逆数が"d"と表されて、即ち、ed = 1 (n)となり、ここで、"(n)"はモジュロnを意味する。
【0314】
それから、モジュロ(xn+1)の式Σai(xe)fi(x) = 0は、モジュロ(xn+1)のΣai(x)fi(xd) = 0に同一であることを注意する。
【0315】
この結果は、eとdとがnと互いに素であり、そのために、n-1次以下のb(x)の各々に対して、モジュロ(xn+1)計算されたb(xe) とb(xd)が、単純に、b(x)の係数の置換により得られるという事実、そして、もしモジュロ(xn+1)の多項式a(xe)が[a(x)]P
(e)と記されると、これが
【0316】
[a(x)f(x)]P
(e) = [a(x)]P
(e) [f(x)]P
(e) modulo (xn+1)
を与えるという事実から得られることである。.
Gにより生成された符号内のいかなる零でないvが、次の2つの条件を満たす場合には、常に少なくとも3つの零でない成分を含むということは、"MDS"("Maximum Distance Separable(分離可能な最大距離)"を意味する)として知られている。
【0317】
その2条件とは:
【0318】
・多項式hiとfjのどれもモジュロxN0 + 1で零でないこと、ただしN0はg(x)がxN0 + 1を割り切れるような最小の整数で、多項式g(x)がいかなる自乗の多項式によっても割り切れないことからN0は奇数である、そして、
・異なるiとjについて次の形式の2×2の
Figure 0004124893
【0319】
のマトリクスがモジュロxN0 + 1で零である行列式を有すること。いる符号理論から帰結される。
同様な性質が、大きさ(dimension)が Kで長さがN1で、複数のM1 = N1 - K > 2という冗長性を有するターボ符号化器のいかなるものに対しても成り立つ。後者の例では、符号化器は、
【0320】
Figure 0004124893
【0321】
と類似する。そして、いかなる情報シーケンス{u} = ({u}1, _, {u}K)も、まず{a} = ({a1}, _, {a}K)として、符号化され、次に、
Figure 0004124893
として符号化される。
【0322】
djをモジュロnのejの逆数、即ちdjej = 1(n)とする。Gにより得られた符号内の零でないvの各々は、1 ≦ r ≦ N1-Kであるような整数rに対して、その最後のN1-K列から抽出されたところのGのサブマトリクス(r x r)の各々がモジュロxN0+1の零でない行列式を有するならば、少なくともN1-K+1個の零でない要素を有する。ただし、hi,j(x)はhi,j(xdj)によって置き換えられる。
【0323】
ここで、冗長なターボ符号N1 - K > 2の復号化は既に考察されていたということに注意すべきである。例えば、D. DIVSALAR and F.POLLARA共著の"Multiple Turbocodes for Deep Space Communications"(TDA Progress Report 42-121, of
15 May 1995)を参照することができる。
【0324】
大きさがKで長さがN1で、タイプが"x to xe"のインターレーサを有するような良好なターボ符号を得るための良い候補を得る方法を以下に論じる。
【0325】
N1-Kである場合をまず考察する。
【0326】
N0 = 2m-1 ≧ N1であるようなm ≧ 2の次数mの、GF(2)について既約(irreducible)である多項式g(x)が選ばれることになり、そして、GF(2m)は、多項式のモジュロg(x)の余りの集合としてとられる。nもまたN0の奇数の倍数として選ばれる。そこで、2行N1列のマトリクスΓ
【0327】
Figure 0004124893
【0328】
を考察する。ここで、αi(i =1, _, N1)は、GF(2m)の異なる零でない要素であり、rとsはモジュロN0鋸となる整数である。s = r +1という選択は例えば常に良い選択となる。これはマトリクスΓの元ではあらゆるものが非特異的であることを意味する。Γ(1,2)を上記Γの最初の2列からなる副行列とし、[Γ(1,2)]-1Γを:
Figure 0004124893
【0329】
と書き記し、ここで、ΛはGF(2m)の2 x Kのマトリクスである。モジュロnの2のe乗の選ばれた値に対して、Λの第2列の各要素がそのe乗により置き換えられ、このマトリクスの転置行列はΔと表記される。Δの要素は不定数xのm-1次の多項式として解釈され、g(x)によってあるいは他の除数多項式xN0+1により割り切られ、結果のマトリクスをP(x)と呼ぶ。
最後に、大きさK x (K + 2)のマトリクスGが定義される:
【0330】
G = [IK P(x)]
【0331】
ここで、IKは大きさKの識別マトリクスである。
eの各値に対して、この符号化器Gはターボ符号化器として使うことができる。シュミレーションによれば、eの最適な値を選択することができる。
【0332】
N1 - K > 2の場合も同様に取り扱うことができる。この場合には、M1 = N1 - Kとして、マトリクスΓはタイプM1 x N1の:
【0333】
Figure 0004124893
【0334】
と構成することができる。Γ(1,M1)を、Γの第1のM列からなる副マトリクスとすると、[Γ(1,M1)]-1Γは [IM1Λ]Γとして書かれ、または、IM1は大きM1の識別マトリクスであり、Λは大きさM1 x KのGF(2m)上の副マトリクスである。 選ばれたet = 2itの各値に対して、tをt = 2, _, M1とすると、Λのt番目のラインはそのet乗によって置き換えられる。
このマトリクスの転置マトリクスはΔと表記され、Δの要素は不定数xのm-1次の多項式であると考えられ、それらはg(x)で割り切れ、大きさK x (N - K)の結果としてのマトリクスはP(x)と記される。
(M1-1)個のタプル(e2, _, eM1)の異なる値に対して得られた符号化器G = [IK P(x)]はシュミレーションにより解析され、最良のものが選ばれる。
【0335】
IIc :第2実施形態の実施化
【0336】
第2実施形態の説明を、K = M1 = 2について、第7図と第8図を用いて説明する。
【0337】
第7図は、ネットワークのステーションまたはコンピュータ符号化ステーションの構成を示すブロック図である。このステーションは、処理カード701の入出力ポート703に接続されたとこれおの、キーボード711,スクリーン709,外部情報源710,通信送信機706とを有する。
【0338】
処理カード701は、共にアドレス/データバス702に接続された:
【0339】
・中央処理装置700、
【0340】
・RAM 704、
【0341】
・ROM 705、
【0342】
・入出力ポート703
【0343】
とを有している。
第7図に示されたこれらの要素はの各々は、マイコンや通信システム、更に一般的には情報処理システムについての当業者には良く知られている。それ故これらの要素の説明はここでは行わない。しかしながら次の点を考慮すべきである:
【0344】
・情報源710は例えばインタフェース周辺装置、センサ、デモジュレータ、外部メモリや他の情報処理システム(不図示)であり、そして、好ましくは、二進データのシーケンスであるところの、音声、サービスメッセージ、マルティメディアデータを供給するのに適合化されている。
【0345】
・無線送信機706は無線チャネル上でパケット通信プロトコルを実現して、そのようなチャネル上でパケットを送出するように適合化されている。
【0346】
明細書中で用いられる「レジスタ」という言葉は、メモリ704,705の各々において、低容量メモリ領域(2,3個の二進データ)と大容量のメモリ領域(全プログラムをきおくすることができる)の双方を意味する。.
【0347】
RAM704は、データや変数や中間データを格納するもので、それらは、明細書において、格納されるデータと同じ名前を有している。RAM704は:
【0348】
・レジスタ"primary_data"。そこには、バス702上で到着した順序で、情報源710からの二進データが格納される。これらは、2つのシーケンスの形式で、{u1}, {u2}が次に2つのシーケンス{a1}と {a2}を形成するために補充されるように格納される。
【0349】
・レジスタ"No_data"。これはレジスタ"binary_data"内のn-mの二進データの数に対応する整数を格納する。
【0350】
・レジスタ"permuted_data"。ここには、第8図の関連して説明したように、バス702上への送信順に従って置換された二進データが2つのシーケンス{a*1}と{a*2}の形式で格納される。
【0351】
・レジスタ"intermediate_remainder"。ここには、除算の中間的な余りが順に格納される。シーケンス{ui}から対応するシーケンス{ai}を構成するのに使われるレジスタである。
【0352】
・レジスタ"final_remainder" 。ここには、補数の二進データが2つにシーケンスの形式で格納される。
【0353】
・レジスタ"{a1}, {b1}, {c1}" と "{a2}, {b2}, {c2}"。ここには、制御由仁と00による決定順序に従って、シーケンスとなった二進データが格納される。
【0354】
ROM705は、格納すべき情報と同じ名前を便宜上有するレジスタ内に以下の情報を格納する:
【0355】
・レジスタ"program"に格納されたCPU700のオペレーティングプログラム、
【0356】
・レジスタ"{g}"内のシーケンス{g}、
【0357】
・レジスタ"degree"内にはg(x)の次数m、
【0358】
・レジスタ"{h}"内にはシーケンス{h} = {h1} = {f2}、
【0359】
・レジスタ"{f}"内のシーケンス{f} = {f1} = {h2}、
【0360】
・レジスタ"N0"内の値N0、
【0361】
・レジスタ"N1"内の値N1、
【0362】
・レジスタ"M1"内の値 M1、
【0363】
・レジスタ"M"内の値M、
【0364】
・レジスタ"interlacer1"内において、シーケンスa1に作用する引用例を規定するテーブル、そして、
【0365】
・レジスタ"interlacer2"内において、シーケンスa2に作用する引用例を規定するテーブル。
【0366】
ここで考察されているインターレーサは、夫々、上述の"x to xe1"と"x to xe2"というタイプのものである。
【0367】
CPU700は第8図の制御手順を実行するように適合化されている。
【0368】
第7図に示された符号化器の機能を表す第8図において、RAM704の各種レジスタを初期化(No_data = "0")する初期化処理800の後のステップ801において、CPU700は送信すべき二進データ項目の到着を待ち、到着したならばそれを受け取って、RAM704内"primary_data"におき、カウンタ"No_data"をカウントアップする。
【0369】
ここでは、2つのシーケンス{u}1と{u}2,を構成するために、CPU700は、情報源710からの主データprimary dataでもって、まずシーケンス{u}1 を構成し、それから、シーケンス{u}2を構成することに着目すべきである。
【0370】
次にテスト802において、CPU700は、レジスタ"No_data"に格納された整数が、積M・N0からg(x)の次数mを差し引いたものに等しいか否かを判断する。ここで、M, N0並びにg(x)の次数mはRAM705に格納される値である。
【0371】
テスト802の結果がNOであるならば、操作801が繰り返される。テスト802の結果がYESとなったとき、ステップ803で、レジスタ"primary_data"に格納されていた二進データシーケンス{u1} ,{u2}に関連づけられた多項式u1(x) とu2(x)とを、多項式g(x)で除することが、レジスタ"intermediate_remainder"を用いて、u1(x)と u2(x)の最後の項(最高次数の項)にまで、実行される。これら除算の余りは、レジスタ"final_remainder"に格納される。これらの除算の結果は、シーケンスの最初の要素、{b1} = {a1}/gと{b2} = {a2}/gとを供給する。
【0372】
次にステップ804で、レジスタ"final_remainder"に格納された二進データは夫々シーケンス{u}1 と{u}2 とに併置されてシーケンス{a1}と{a2}とを形成する。シーケンス{a1}と{a2}の二進データはメモリのレジスタ"{a1}, {b1}, {c1}"と"{a2}, {b2}, {c2}"とに格納される。
【0373】
次に、ステップ805で、ステップ803で行われた除算が継続されて、ステップ804で加算された加算データをもって、シーケンス{b1}と{b2}とがレジスタ"{a1}, {b1}, {c1}"と "{a2}, {b2}, {c2}"とに格納される。
【0374】
それから、ステップ806で:
【0375】
・シーケンス{a1}の二進データが、RAM705の"interlacer1"テーブルにより記述された順序に従って夫々連続的にレジスタ"{a1}, {b1}, {c1}"に読み込まれ、
【0376】
・シーケンス{a2}の二進データが、RAM705の"interlacer2"テーブルにより記述された順序に従って夫々連続的にレジスタ"{as}, {bs}, {cs}"に読み込まれる。
【0377】
これらの読取から連続的に得られたデータは夫々RAM704のレジスタ"permuted_data"のメモリに格納される。
【0378】
次に、ステップ807で、夫々がレジスタ"permuted_data"に格納されていた置換二進データシーケンスと関連づけられた多項式a1*(x)とa2*(x)をg(x)で除することが、レジスタ"intermediate_remainder"を用いて行われる。この除算の結果はレジスタ"{a1}, {b1}, {c1}" と"{a2}, {b2}, {c2}"に格納され、シーケンス{c1},{c2}の二進データに対応する。
【0379】
ステップ808で、所謂"check"もしくは "redundant" な2つのシーケンスが決定される。即ち、
【0380】
・シーケンス{b}sが、RAM704のレジスタ"{a1}, {b1}, {c1}"と"{a2}, {b2}, {c2}"に格納されたシーケンス{b1}と{b2}とに関連づけられた多項式と、多項式h(x)とf(x)との夫々の積を取ることにより決定される。
【0381】
・シーケンス{c}s が、RAM704のレジスタ"{a1}, {b1}, {c1}"と"{a2}, {b2}, {c2}"に格納されたシーケンス{c1}と{c2}とに関連づけられた多項式と、多項式f(x)とh(x)との夫々の積を取ることにより決定される。
【0382】
本発明に拠れば、メモリ要素がg(x)による除算をh(x)またはf(x)による乗算に先立って行うことにより節約される。
【0383】
ステップ809で、シーケンス{a1}, {a2}, {bs}と{cs}とが送信器706を用いて送られる。次に、メモリ704のレジスタがもう一度初期化される。特に、カウンタNo_dataは"0"にセットされて、ステップ801が再開される。
【0384】
ここで、変形例として、ステップ809で、シーケンス{a1}と{a2}とが全体として送られるが、一部だけが、例えば、{bs}と{cs}の内の1つのデータが送られてもよいことに注意すべきである。この変形例は当業者ではパンクチュアリング(puncturing)と呼ばれている。
【0385】
復号化に関して、多項式g(x), h(x), f(x)と、シーケンス{a1}と{a2}から夫々置換された{a*1}と{a*2}を生成するインターレーサG1とG2を知って、当業者は技術的障害もなく、復号化器をいかに製造するか、そして、4つ組の({a1}, {a2}, {bs}, {cs})に影響するその復号化とエラー訂正とに適合化させる方法を知る。エラー訂正は上記のインターレーサを、可能であるならば対応する逆インターレーサを用いる。
【0386】
第9図によれば、第4図乃至第8図に図示された復号化装置から送られたシーケンスを復号化するべく適合化された復号化装置は以下のものを具備する:
【0387】
・復号化器901。この復号化器901は符号化器401に対応し、送信シーケンスの期待値{v1}~{vK+1}を、K個の外部情報シーケンス{w'''1} ~ {w'''K}(後述)と共に受け取り、順序が後のK個の期待値シーケンス{w1} ~ {wK}を供給する。
【0388】
・K個のインターレーサ902。このK個のインターレーサ902はインターレーサ402乃至405に同一であり、夫々、{w1}乃至{wK}を受け取り、夫々{w'1}乃至{w'K}としてインターレースする。
【0389】
・第2の復号化器903。復号化器903は、シーケンス{w'1}乃至{w'K}と共にシーケンス{vK+2}を受信する符号化器406に対応し、K個の順序が後の期待値シーケンス{w'1}乃至{w'K}と期待値シーケンス{a'}とを供給する。
【0390】
・K個の逆インターレーサ904。これらはインターレーサ402乃至405の逆動作を行うものであり、シーケンス{w''1}乃至{w''K}を受けて、シーケンス{w'''1}乃至{w'''K}を供給する。
【0391】
所定回数の繰り返しに続いて、期待値シーケンス{a'}が考慮される(文献"Near Shannon limit error-correcting coding and decoding : turbocodes"を参照のこと)。
【0392】
本発明によれば、インターレーサとその各々を復号化するのに用いられる逆インターレーサとは、符号化するのに用いられるインターレーサ、好ましくは"x to xe"タイプのインターレーサと同じ特性を有する。好ましくは、復号化に関する符号化について、jの同じ値について、指数eijは等しい。また、好ましくは、復号化に関する符号化について、指数eij は全て2の冪乗である。
【0393】
さらに、復号化器901,903を初期化するに際して、符号化器401,406が初期状態と最終のゼロ状態とを有することが考慮される。
【0394】
復号化に関して、読者は以下の文献を参照することができる:
【0395】
・L.R. BAHL, J. COCKE, F. JELINEKとJ. RAVIV 共著の"Optimal decoding of linear codes for minimizing symbol error rate"(IEEE Transactions on Information Theory, in March 1974発行)の文献。
【0396】
・J. HAGENAUER, E. OFFERとL. PAPKE共著の"Iterative decoding of binary block and convolutional codes" (IEEE Transactions on Information Theory, in March 1996発行)の文献。
【0397】
・J. HAGENAUERとP. HOEHER共著の"A Viterbi algorithm with soft decision outputs and its applications" (IEEE GLOBECOM, pages 1680-1686, in November 1989発行)の文献。
【0398】
・J. HAGENAUER, P. ROBERTSONとL. PAPKE共著の"Iterative (turbo)decoding of systematic convolutional codes with the MAP and SOVA algorithms" (Informationstechnische Gesellschaft (ITG) Fachbericht, pages 21 - 29, October 1994発行)の文献。
【0399】
・C. BERROU, S. EVANOとG. BATTAIL共著の"Turbo-block-codes"とpublished with the reports of the seminar "Turbo Coding" organised by the Institute of Technology of Lund (Sweden) (Department of Applied Electronics) in August 1996発行)の文献。
【図面の簡単な説明】
本発明は添付の図面を参照することによりよく理解することができる。その図面とは:
【図1】 第1実施形態による符号化器を具備する電子装置の構成を示す図。
【図2】 第1図示の第1実施形態による符号化器の動作を示すフローチャート。
【図3】 第1図示の装置に用いられるインターレーサの決定手順を説明するフローチャート。
【図4】 本発明の第2実施形態に係る符号化器の構成を示す図。
【図5】 符号化対象のいくつかのシンボルシーケンスに作用するインターレーサの一般形態を示す図。
【図6】 第2実施形態による方法及び装置の特定の例による性能カーブを示すグラフ図。
【図7】 第2実施形態の符号化器を有する電子装置の構成を示す図。
【図8】 第2実施形態に係る第7図に示された符号化器の動作手順を示すフローチャート。
【図9】 本発明が関連する復号化器の構成を示す図。

Claims (19)

  1. 2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく符号化方法であって、
    K×M1個の置換シーケンスaij *, (i = 1,... ,K; j = 1, ... ,M1)を生成する第1の生成工程と、
    多項式表記がΣfij(x) cij(x) (j=1, ... ,M1)に等しいM1個の冗長シーケンスを生成する第2の生成工程とを有し、
    前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
    前記置換シーケンスaij *の各々は、対応するシーケンスaiを置換することによって得られ、該置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
    前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであり、
    前記置換シーケンスaij *は、多項式表記aij *(x)が多項式の積cij(x)gij(x)で表わすことができ、少なくとも1つの置換シーケンスaij *は対応するシーケンスaiとは異なるものであり、
    前記多項式fij(x)の各々の次数は、同一のインデックスiとjを有するgij(x)の次数以下であることを特徴とする符号化方法。
  2. 前記置換シーケンスaij *はモジュロ (xn+1)のaij *(x)=ai *(xeij)に等しい多項式表現を有し、ここで、nは前記整数Mと前記整数N0との積であり、eijはnと素である素数であり、cijはaij *(x)をgij(x)で除したときの商であり、多項式gij(x)は、モジュロ(xN0−1)多項式gi(xeij)を含む長さN0の最小の巡回符号の生成多項式であることを特徴とする請求項1に記載の符号化方法。
  3. 前記第1の生成工程において、前記指数eijの全ての値は前記インデックスjと同じ値を有することを特徴とする請求項1に記載の符号化方法。
  4. 前記第1の生成工程において、前記指数eijの全ての値は2の冪数に等しいことを特徴とする請求項2または3に記載の符号化方法。
  5. シーケンス{ai}を送出し、その一方他のシーケンスのデータのサブセットを送出することを特徴とする請求項1乃至4のいずれかに記載の符号化方法。
  6. 2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく符号化装置であって、
    K×M1個の置換シーケンスaij *, (i = 1,... ,K; j = 1, ... ,M1)を生成する第1の生成手段と、
    多項式表記がΣfij(x) cij(x) (j=1, ... ,M1)に等しいM1個の冗長シーケンスを生成する第2の生成手段とを有し、
    前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
    前記置換シーケンスaij *の各々は、対応するシーケンスaiを置換することによって得られ、該置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
    前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであり、
    前記置換シーケンスaij *は、多項式表記aij *(x)が多項式の積cij(x)gij(x)で表わすことができ、少なくとも1つの置換シーケンスaij *は対応するシーケンスaiとは異なるものであり、
    前記多項式fij(x)の各々の次数は、同一のインデックスiとjを有するgij(x)の次数以下であることを特徴とする符号化装置。
  7. 2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく復号化方法であって、
    除数多項式gij(x)を用いてK個のシンボルシーケンスの並列ターボ復号化を行う復号化工程と、
    前記シーケンスaiの各々について、M1個の置換操作を行う置換工程とを有し、
    前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
    前記M1個の置換操作は、少なくとも2つは同一ではなく、各置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
    前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであることを特徴とする復号化方法。
  8. 前記並列ターボ復号化の操作は、K×M1個の置換シーケンスaij *, (i = 1, ... ,K; j = 1, ... ,M1)を生成するという置換操作を有し、各シーケンスaij *はモジュロ (xn+1)のaij *(x)=ai *(xeij)に等しい多項式表現を有し、ここで、nは前記整数Mと前記整数N0との積であり、eijはnと素である素数であり、cijはaij *(x)をgij(x)で除したときの商であり、多項式gij(x)は、モジュロ(xN0−1)多項式gi(xeij)を含む長さN0の最小の巡回符号の生成多項式であり、少なくとも1つの置換シーケンスaij *は対応するaiとは異なることを特徴とする請求項7に記載の復号化方法。
  9. 前記置換操作において、前記指数eijの全ての値は前記インデックスjと同じ値を有することを特徴とする請求項8に記載の復号化方法。
  10. 前記置換操作において、前記指数eijの全ての値は2の冪数に等しいことを特徴とする請求項8または9に記載の復号化方法。
  11. シーケンス{ai}を送出し、その一方他のシーケンスのデータのサブセットを送出することを特徴とする請求項7乃至10のいずれかに記載の復号化方法。
  12. 2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく置換方法であって、
    K×M1個の置換シーケンスaij *, (i = 1,... ,K; j = 1, ... ,M1)を生成する第1の生成工程と、
    多項式表記がΣfij(x) cij(x) (j=1, ... ,M1)に等しいM1個の冗長シーケンスを生成する第2の生成工程とを有し、
    前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
    前記置換シーケンスaij *の各々は、対応するシーケンスaiを置換することによって得られ、該置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
    前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであり、
    前記置換シーケンスaij *は、多項式表記aij *(x)が多項式の積cij(x)gij(x)で表わすことができ、少なくとも1つの置換シーケンスaij *は対応するシーケンスaiとは異なるものであり、
    前記多項式fij(x)の各々の次数は、同一のインデックスiとjを有するgij(x)の次数以下であることを特徴とする置換方法。
  13. 物理量を表す二値データからなり、除数多項式g(x)により割り切れる多項式a(x)により表現されるシーケンス{a}を、前記多項式g(x)により割り切れる多項式a*(x)により表現される置換シーケンス{a*}に置換する置換方法であって、
    ある置換集合の少なくとも1つの置換処理を実行する置換工程を有し、
    前記置換集合は、前記シーケンス{a}の二値データがN0列M行のテーブル内に配列されるように表現すると、長さN0で生成多項式g(x)を有するような二値巡回符号の自己同型写像において、前記テーブルのN0個の列の少なくとも2列を互いに置き換える置換処理と、1つの同じ列内の少なくとも2つのデータ項目を互いに置き換える置換処理とを含むことを特徴とする置換方法。
  14. 前記シーケンス{a}が、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを有することを特徴とする請求項13に記載の置換方法。
  15. 前記置換工程が、前記置換処理により得られたシーケンスに対応する多項式を、前記生成多項式で割り切れる多項式に変換するように、前記テーブルの列を更に置き換えることを特徴とする請求項13に記載の置換方法。
  16. 前記置換処理は、eがモジュロM・N0の2の冪乗であり、Mが奇数の場合に、
    a*(x) = a(xe), modulo xM N0−1
    により実行されることを特徴とする請求項13乃至15のいずれかに記載の置換方法。
  17. 2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づく復号化装置であって、
    除数多項式gij(x)を用いてK個のシンボルシーケンスの並列ターボ復号化を行う復号化手段と、
    前記シーケンスaiの各々について、M1個の置換操作を行う置換手段とを有し、
    前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
    前記M1個の置換操作は、少なくとも2つは同一ではなく、各置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
    前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであることを特徴とする復号化装置。
  18. 2以上の整数M1と、物理量を表す二値データからなるK(Kは1以上)個のシーケンスai (i=1, ... ,K)とに基づくインターレーサであって、
    K×M1個の置換シーケンスaij *, (i = 1,... ,K; j = 1, ... ,M1)を生成する第1の生成手段と、
    多項式表記がΣfij(x) cij(x) (j=1, ... ,M1)に等しいM1個の冗長シーケンスを生成する第2の生成手段とを有し、
    前記シーケンスaiの各々は、多項式xN0−1が多項式gi(x)の各々によって割り切れるような最小の整数N0と整数Mとの積に等しい個数の二値データを含み、多項式表記ai(x)が多項式gi(x)で割り切れるものであり、
    前記置換シーケンスaij *の各々は、対応するシーケンスaiを置換することによって得られ、該置換は、各シーケンスaiの二値データをN0列M行のテーブルに行毎に書き込んだ表現における任意回数の基本置換の結果であり、
    前記基本置換の各々は、前記テーブルのN0個の列に作用して、gi(x)を生成多項式とする長さN0の巡回符号を、gij(x)を生成多項式とする同等な巡回符号に変換する置換か、あるいは、前記テーブルのある列内のシンボルの置換かのいずれかであり、
    前記置換シーケンスaij *は、多項式表記aij *(x)が多項式の積cij(x)gij(x)で表わすことができ、少なくとも1つの置換シーケンスaij *は対応するシーケンスaiとは異なるものであり、
    前記多項式fij(x)の各々の次数は、同一のインデックスiとjを有するgij(x)の次数以下であることを特徴とするインターレーサ。
  19. 物理量を表す二値データからなり、除数多項式g(x)により割り切れる多項式a(x)により表現されるシーケンス{a}を、前記多項式g(x)により割り切れる多項式a*(x)により表現される置換シーケンス{a*}に置換するインターレーサであって、
    ある置換集合の少なくとも1つの置換処理を実行する置換手段を有し、
    前記置換集合は、前記シーケンス{a}の二値データがN0列M行のテーブル内に配列されるように表現すると、長さN0で生成多項式g(x)を有するような二値巡回符号の自己同型写像において、前記テーブルのN0個の列の少なくとも2列を互いに置き換える置換処理と、1つの同じ列内の少なくとも2つのデータ項目を互いに置き換える置換処理とを含むことを特徴とするインターレーサ。
JP00024199A 1997-12-30 1999-01-04 インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム Expired - Fee Related JP4124893B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR9716669A FR2773287A1 (fr) 1997-12-30 1997-12-30 Entrelaceur, dispositif de codage, procede de permutation, procede de codage, dispositif et procede de decodage et systemes les mettant en oeuvre
FR9716669 1997-12-30
FR9814084A FR2785742A1 (fr) 1998-11-09 1998-11-09 Entrelaceur, dispositif de codage, procede de permutation, procede de codage, dispositif et procede de decodage et systemes les mettant en oeuvre
FR9814084 1998-11-09

Publications (2)

Publication Number Publication Date
JPH11298339A JPH11298339A (ja) 1999-10-29
JP4124893B2 true JP4124893B2 (ja) 2008-07-23

Family

ID=26234037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00024199A Expired - Fee Related JP4124893B2 (ja) 1997-12-30 1999-01-04 インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム

Country Status (6)

Country Link
US (1) US6370670B1 (ja)
EP (1) EP0928071B8 (ja)
JP (1) JP4124893B2 (ja)
KR (1) KR100341266B1 (ja)
CN (1) CN1213541C (ja)
DE (1) DE69837077T2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6427214B1 (en) * 1998-09-29 2002-07-30 Nortel Networks Limited Interleaver using co-set partitioning
FR2785743A1 (fr) 1998-11-09 2000-05-12 Canon Kk Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable
FR2785741B1 (fr) 1998-11-09 2001-01-26 Canon Kk Dispositif et procede de codage et d'entrelacement pour des turbocodes series ou hybrides
US6625234B1 (en) 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
DE69943198D1 (de) * 1998-12-30 2011-03-31 Canon Kk Kodierungsvorrichtung und Verfahren, Dekodierungsvorrichtung und Verfahren und dazugehörige Systeme
FR2790621B1 (fr) * 1999-03-05 2001-12-21 Canon Kk Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
US6536001B1 (en) * 1999-03-11 2003-03-18 Globespanvirata, Inc. Circuit and method for convolutional interleaving using a single modulo operation
FR2792476B1 (fr) 1999-04-13 2001-06-08 Canon Kk Procede de type arq pour procede de transmission utilisant des turbo-codes, et dispositif associe
DE60045630D1 (de) * 1999-11-04 2011-03-31 Canon Kk Verschachtelungsverfahren für Datenturbokodierung
FR2800950A1 (fr) * 1999-11-04 2001-05-11 Canon Kk Procede d'entrelacement pour turbo-codage convolutif de donnees
FR2805103A1 (fr) * 2000-02-10 2001-08-17 Canon Kk Procede de permutation pour turbo-codage convolutif de donnees
FR2801446B1 (fr) * 1999-11-18 2002-04-19 Canon Kk Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
FR2802735B1 (fr) 1999-12-20 2002-03-29 Canon Kk Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
FR2804806B1 (fr) * 2000-02-08 2002-05-03 Canon Kk Procede et dispositif d'entrelacement, procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
FR2807895B1 (fr) 2000-04-18 2002-06-07 Canon Kk Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
FR2813723B1 (fr) * 2000-09-04 2002-11-08 Canon Kk Procedes de turbocodage circulaire de haut rendement, et systemes pour leur mise en oeuvre
FR2815199B1 (fr) 2000-10-10 2003-01-17 Canon Kk Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
FR2819955B1 (fr) * 2001-01-23 2003-05-16 Canon Kk Procedes de turbocodage et turbodecodage (4,2), et systemes pour leur mise en oeuvre
JP4507443B2 (ja) * 2001-04-19 2010-07-21 日本電気株式会社 インターリーブ方法及びインターリーブ装置
FR2829329B1 (fr) * 2001-09-05 2003-11-28 Canon Kk Procedes de turbocodage a entrelaceurs verrous, et systemes pour leur mise en oeuvre
FR2860360B1 (fr) * 2003-09-29 2005-12-09 Canon Kk Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon
US7240236B2 (en) * 2004-03-23 2007-07-03 Archivas, Inc. Fixed content distributed data storage using permutation ring encoding
US8478865B2 (en) * 2007-10-09 2013-07-02 Cleversafe, Inc. Systems, methods, and apparatus for matching a connection request with a network interface adapted for use with a dispersed data storage network
CN107039043B (zh) * 2017-06-08 2018-08-03 腾讯科技(深圳)有限公司 信号处理的方法及装置、多人会话的方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1500132A (en) * 1974-03-07 1978-02-08 Standard Telephones Cables Ltd Multi-level data scramblers and descramblers
US4488302A (en) * 1983-02-11 1984-12-11 At&T Bell Laboratories Burst error correction using cyclic block codes
US4567594A (en) * 1983-06-07 1986-01-28 Burroughs Corporation Reed-Solomon error detecting and correcting system employing pipelined processors
US4907233A (en) * 1988-05-18 1990-03-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration VLSI single-chip (255,223) Reed-Solomon encoder with interleaver
US5438590A (en) * 1993-05-24 1995-08-01 Comstream Corporation Transmitting and receiving apparatus and method including punctured convolutional encoding and decoding
US5844989A (en) * 1995-06-05 1998-12-01 Matsushita Electric Industrial Co., Ltd. Data scrambling method, data scrambling apparatus, data descrambling method, and data descrambling apparatus
US5966447A (en) * 1996-06-04 1999-10-12 Matsushita Electric Industrial Co., Ltd. Data scrambling method, data scrambling apparatus, data descrambling method, and data descrambling apparatus
US6151296A (en) * 1997-06-19 2000-11-21 Qualcomm Incorporated Bit interleaving for orthogonal frequency division multiplexing in the transmission of digital signals
US6034996A (en) * 1997-06-19 2000-03-07 Globespan, Inc. System and method for concatenating reed-solomon and trellis codes

Also Published As

Publication number Publication date
EP0928071B8 (en) 2007-04-25
JPH11298339A (ja) 1999-10-29
DE69837077T2 (de) 2007-06-21
DE69837077D1 (de) 2007-03-29
KR100341266B1 (ko) 2002-09-18
EP0928071A1 (en) 1999-07-07
KR19990063573A (ko) 1999-07-26
CN1213541C (zh) 2005-08-03
CN1232323A (zh) 1999-10-20
US6370670B1 (en) 2002-04-09
EP0928071B1 (en) 2007-02-14

Similar Documents

Publication Publication Date Title
JP4124893B2 (ja) インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム
JP4553330B2 (ja) 符号化装置及び方法、復号装置及び方法、情報処理装置及び方法、並びに記憶媒体
Rankin et al. Single parity check product codes
RU2313177C2 (ru) Турбодекодер, использующий линейные конгруэнтные последовательности
US6578170B1 (en) Coding device and method, decoding device and method and systems using them
CN107017892B (zh) 一种校验级联极化码编码方法及系统
US6543021B1 (en) Method and device for coding and transmission using a sub-code of a product code
US6625762B1 (en) Interleaving device and method for turbocoding and turbodecoding
JP2000508849A (ja) データ・ブロックの畳み込み符号化方法及び装置及び対応する復号方法及び装置
US6560362B1 (en) Encoding and interleaving device and method for serial or hybrid turbocodes
CN101904102A (zh) 用于剪除式交织器和解交织器的有效地址生成
Wachter-Zeh et al. Decoding interleaved Reed–Solomon codes beyond their joint error-correcting capability
JP4497706B2 (ja) データのターボコーディングのためのインターリーブ方法
CN112468161B (zh) 一种rs高速编码电路
US6638318B1 (en) Method and device for coding sequences of data, and associated decoding method and device
CN108476027B (zh) 窗口交织的turbo(wi-turbo)码
Urman et al. Efficient maximum likelihood decoding of polar codes over the binary erasure channel
Bohulu et al. Interleaver design for Turbo codes based on complete knowledge of low-weight codewords of RSC codes
Barbier et al. Overview of turbo-code reconstruction techniques
Lakshmi et al. Area efficient implementation of short length QC-LDPC codes for Ultra-Reliable Low-Latency Communication (URLLC) application
Trifina et al. Permutation Polynomial Interleavers for Turbo Codes
JP2018006987A (ja) 符号化装置、符号化方法およびプログラム。
Trofimov et al. A memory-efficient optimal APP symbol-decoding algorithm for linear block codes
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
KR101353094B1 (ko) 오류정정부호에 대한 인터리빙 방법 및 이를 이용한 정보 송수신 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051228

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20051228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20051228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080424

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: 20080428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080507

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees