説明

少なくとも2つの並列編集方法及び改良された置換方法を備えたコーディング方法及び装置、並びに対応するディコーディング方法及び装置

【課題】 より優れた置換特性を有する、並列連結のコーディング方法(またはターボコード)を提供する。
【解決手段】 本発明は、ディジタルのソースデータをコーディングする方法及び装置に関する。本発明は、それぞれがソースデータ(15)のセット全体を含む少なくとも2つの基本的なコーディングステップ(11,12)を使用し、基本的なコーディングステップ(11,23)の間のソースデータの組込み順序を変更する置換ステップ(13)を備えている。本発明は、ソースデータ(15)が、それぞれが2以上のnのバイナリのソース素子を含むソースのコードワードの中で編成され、置換ステップ(13)が、少なくともいくつかのソースのコードワードの内容を可逆的に変更して、変更されたコードワードを出力するステップ(132)と、変更された又はソースのコードワードの順序を置換するステップ(131)とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特に回路上に過渡現象が存在する中で、送信又は放送される1つ以上のソースデータの順序に属するディジタルデータをコーディングする分野、及びこのように送信されたコード化されたデータをディコーディングする分野である。より詳細には、本発明は、特に「ターボコード(turbo codes)」(登録商標)として周知のコーディング方法の改良に関し、特に、これにより実行される置換動作の改良に関する。
【背景技術】
【0002】
この種のコーディングの一般的な原理は、特に、特許文献1と、C. Berrou 及び A. Glavieuxによる「Near Optimum Error Correcting Coding and Decoding: Turbo Codes」という題名の文献(IEEE Transactions on Communications、第44巻、No.10、ページ1261−1270、1996年10月)との中で紹介されている。
【0003】
この技術によれば、少なくとも2つの基本的なエンコーダの使用に基づく、「並列連結(parallel concatenation)」によるコーディングの実現が提案されている。ディコーディングする場合、これにより、2つの別個のエンコーダからの2つの冗長的な符号を持つことが可能になる。2つの基本的なエンコーダの間で、これらの基本的なエンコーダの各々が同じディジタルのソースデータを供給されるが、順序が変化して受け取られるように、置換手段が実行される。
【0004】
ブロックコーディング(block coding)(製品コード)についてのこの種の技術の改良は、特許文献2と、O. Aitsab 及び R. Pyndiahによる文献「Performance of Reed Solomon block turbo code」(IEEE Globecom '96 Conference、第1/3巻、121〜125頁、ロンドン、1996年11月)との中で説明されている。
【0005】
並列連結の畳み込み「ターボコード(turbo codes)」の性能は、比較的大きな範囲まで、実行された置換機能に依存する。実際には、この機能の最適化されない選択によって、特にエラー率曲線が10−5及び10−6以下の勾配変化の発生を含む、「ターボコード」の劣化をもたらすことがあると思われる。
【0006】
この現象は、検討中の「ターボコード」の効率が高ければ高いほど、そしてコード化する情報ブロックが短ければ短いほど、なお一層強調される。
【0007】
引用される種々のドキュメントの中で、「ターボコード」を優れた性能で構築することができる置換機能が提案されている。
【0008】
特許文献1では、基本的な畳み込みコードはバイナリであり、このため、置換はバイナリ素子上に直接発生する。より一般的には、バイナリの畳み込みコードを実行する並列連結の「ターボコード」の中で置換機能を実行することについての多くの解決策は、第三世代の携帯電話(UMTS)の一環として提案されている。
【0009】
特許文献2と、C. Berrou 及び M. Jezequelによる文献「Non-binary convolutional codes for turbo coding」(Electronics Letters、第35巻、no.1、39〜40頁、1999年1月)とにおいても、「ターボコード」を構築するために非バイナリの畳み込みコードを使用することを提案している。この場合、置換機能がこのためバイナリワード(ビットセット、例えば、ペア又はより一般的にはn−ペア)に適用される。
【0010】
一般的に言うと、置換機能は、もちろん、強いランダム効果を作り出すために、情報源からの要素の良好な分散及び種々の並列のエンコーダへの供給を提供できることが必要である。このため、複合エンコーダの距離特性を最適化する必要があり、特にその最短距離を最大にする必要がある。
【特許文献1】フランス国特許第9 105 280号明細書
【特許文献2】フランス国特許第9 313 858号明細書
【発明の開示】
【発明が解決しようとする課題】
【0011】
従って、本発明の目的は、特に、非バイナリの畳み込みコードから構築され、周知の「ターボコード」よりも優れた置換特性を有する、並列連結のコーディング方法(「ターボコード」)を提供することである。
【0012】
特に、本発明の目的は、複合エンコーダの距離特性を最適にする(「ターボコード」)、すなわち、特にその最小距離を最大にする、並列連結のコーディング方法を提供することである。
【0013】
本発明の別の目的は、もちろん、分散効果を変更せずに、種々の基本的なエンコーダに取り込まれるデータ上に強いランダム効果を作り出すコーディング方法を提供することである。
【0014】
また、本発明の目的は、例えば、集積回路のように安価であり、実際的に容易に実行できるコーディング方法を提供することである。
【0015】
本発明のさらに別の目的は、極めて大きな数のアプリケーションの種類に対して容易に実行できるコーディング方法を提供することである。
【課題を解決するための手段】
【0016】
これらの目的、及び、この後よりはっきりと明白になる他の目的は、本発明に基づいて、少なくとも2つの基本的なコーディングステップを並列に実行する、ディジタルのソースデータのコーディング方法によって実現される。これらのコーディングステップのそれぞれは、全てのソースデータを考慮し、これらの基本的なコーディングステップ間のこれらのソースデータを考慮する順序を変更する置換ステップを含んでいる。ここで、このソースデータは、それぞれがnのバイナリのソース素子からなるソースのコードワードの中で編成される。nは、2以上の数である。本発明によれば、この置換ステップは、以下のステップ、すなわち、
少なくともいくつかのこれらのソースのコードワードの内容を可逆的に変更して、変更されたコードワードを出力するステップと、
これらのソースのコード又は変更されたコードワードの順序を置換するステップと
を備えている。
【0017】
言い換えると、本発明は置換ステップの間に、2つのレベルで効力を発することを提案する(「置換」という視覚的な用語は本願では維持されるが、後で明らかになるように、いくつかのバイナリ素子の値を変更することができるため、「シャフリング(shuffling)」又は「処理」という用語を都合よく使用することができる)。実際、一方では、コードワードの順序(又はnの倍数)、及び他方においては、後者の内容(ワード間の変更)が影響を受ける。
【0018】
ワードの置換は、ワードをそのように処理する前又は後で都合よく実行することができることに注意されたい。
【0019】
好適な実施形態によれば、このコードワードの順序を置換するステップは、N個の連続したコードワードのブロックに加えられた一様な置換を実行する。
【0020】
この技術は実行することが極めて容易であり、ほぼ最適な効率を達成することができる。
【0021】
0からN−1までの順序で入力され、J=P.iからの順序で再読されるN個のコードワードを含むメモリを用いて、この技術を都合よく実行することができる。ここで、iは0からN−1まで変化し、P及びNは互いに素数である。
【0022】
好ましくは、この場合、Pは、√Nに近い値である。
【0023】
本発明の好ましい仕方によれば、この内容変更は、いくつかのコードワードのみに適用される。例えば、この内容変更は、1つおきのコードワードに適用される。
【0024】
好都合なことに、この内容変更は、検討中のコードワード内のバイナリ素子の順序の置換を含んでいる。
【0025】
別の好適な態様によれば、この内容変更は、検討中のコードワードのバイナリソースの素子の少なくとも1つを、少なくとも2つのバイナリソースの素子の組み合わせと置き換えるステップを含んでいる。
【0026】
これらのコードワードは、特に、ペアとすることができる。しかしながら、それらは、もちろん、より一般的には、nの値を問わず、2以上のnの倍数とすることができる。
【0027】
ペアの場合には、組み合わせは、以下の変更されたペアである、
−(a,b)
−(b,a)
−(a+b,b)
−(b,a+b)
−(a,a+b)
−(a+b,a)
の少なくとも1つのソースのペア{a,b}と関連付けることができる。
【0028】
本発明の実施形態によれば、これらの基本的なコーディングステップの少なくとも1つは、系統的で帰納的な畳み込みコードを実行して、n+mのバイナリ出力をnのバイナリ入力に関連付けるn/(n+m)を必然的に生ずる。ここで、n>2、かつ、m>1である。
【0029】
好ましくは、この方法は、n+m+mのバイナリ出力を、以下を含むnのバイナリ入力のコードワード、すなわち、
nのバイナリ入力と、
第1の基本的なコーディングステップによって供給されたmのバイナリ出力と、
第2の基本的なコーディングステップによって供給されたmのバイナリ出力と
に関連付ける。
【0030】
本発明は、スタンピングステップを提供することができる。
【0031】
もちろん、本発明は、対応するコーディング装置とも関連がある。そのような装置は、以下の手段を含む置換手段、すなわち、
少なくともいくつかのこれらのソースのコードワードの内容を可逆的に変更して、変更されたコードワードを提供する手段と、
これらのソース又は変更されたコードワードの順序を置換する手段と
によって実現される。
【0032】
本発明はさらに、前述した仕方に基づいてコード化されたデータを発行又は送信する装置に関する。
【0033】
本発明の別の態様によれば、本発明は対応するディコーディング方法及び装置に関する。コーディングとは対称的に、このディコーディング方法は、以下のステップ、すなわち、
受信されたコードワードの少なくともいくつかの内容を、コーディングの間に実行された変更とは反対に変更するステップと、
受信されたコードワードの順序を、初期の順序に戻すために置換するステップと
を含む。
【発明の効果】
【0034】
本発明の他の特徴及び利点は、本発明の好ましい実施形態の以下の説明を読むことにより、より明白になるであろう。この説明は、例証となるがこれに限定されない実施例、及び、本発明によるエンコーダの一般的な着想を図示している唯一の添付した図面によって与えられる。
【発明を実施するための最良の形態】
【0035】
本発明は、これにより、基本的なコードの並列連結するエンコーダに対して新規な置換機能を提供する。この置換機能は、n−2及びn−1でn/(n+m)を必然的に生じる、非バイナリの系統的、帰納的で基本的な畳み込みコードに関連して、理論的な限界に近い性能を結果として生ずる。この性能は、「ターボコード」に対して考慮された効率及びコード化する情報ブロックの長さによらない。
【0036】
本発明の範囲の中で、検討中の基本的なコードは必然的に非バイナリである、すなわち、それらのコードはn−2のバイナリの入力及びm−1でn+mのバイナリの出力を有していることを想起されたい。
【0037】
本発明によるサンプルのコーディング装置が、図1に示されている。対応するコーディング方法を、直接それから引き出すことができる。
【0038】
この実施例では、2つの基本的なコードC及びC、11及び12、の並列連結から組み立てられたコードを検討する。これらの2つの基本的なコードは、置換機能13によって分離され、同一、畳み込み、帰納的、系統的、非バイナリで2/3を生じる(n=2のバイナリ入力であり、そのコードワードはペアである)。
【0039】
さらに、コード化すべきデータのブロックは、pのバイナリのデータから構成すると仮定する。ここでpは偶数であるか又は、同様に、N=p/2のバイナリのペアである。
【0040】
複合のエンコーダがスタンプされない場合は、そのコーディングの効率は1/2に等しくなる。もちろん、スタンピング14を従来通りに実行することができる。
【0041】
前述したように、本発明によれば、置換機能13は、次の2つの動作、すなわち、
コードワードの順序を置換する動作131(実施例ではペアであるが、より一般的には、nの任意の倍数)と、
データブロックの少なくともいくつかを処理する動作132と
に基づいている。
【0042】
情報源15からのNのペアは基本的なエンコーダCに供給され、次ぎに置換13の後で、エンコーダCに供給される。
【0043】
置換機能は、情報源15からのペアの(より一般的にはnの倍数の)良好な分散を提供し、また強力なランダム効果を作り出すことを可能にする必要がある。達成すべき目的の1つは、実際は、複合エンコーダの距離特性を最適にすること、また特に、その最小距離を最大にすることである。
【0044】
分散の基準については、置換13の後で、情報源15の出力において隣接するペア(より一般的にはnの倍数)を、できるだけ多く分離する必要がある。この目的は、ペアのレベルにおいて(より一般的には、nの倍数のレベルにおいて)一様な置換131を用いることによって、ほぼ最適に達成することができる。
【0045】
この一様な置換131は、Nのバイナリのペア(より一般的には、nの倍数)をNの位置(位置0〜N−1)のメモリ1311内に一様に書き込み、また引き続いて、アドレスjにおいてこれらのNのペアを次のルールである、
j=pi mod N i=0,1 ... (N−1) (1)
を用いて読み出すこと(1312)によって実現することができる。
【0046】
一度また一度だけメモリ1311のNの位置を通り抜けるためには、P及びNは互いに2つの素数であることが必要である(すなわち、それらは、1以外の公約数を持たないことが必要である)。さらに、情報源15の出力において隣接するペア(より一般的には、nの倍数)の間に最適な間隔を提供するためには、パラメータPは、√Nに近いことが好ましい。
【0047】
この見地を例証するために、例えば、コード化すべきN=9のバイナリのペアのブロックを考える。Pを4に設定する(4は、√9=3に近い)。次の表が得られる。
【0048】
【表1】

【0049】
このため、エンコーダCによってコード化すべきNのペアは、アドレス0,4,8,3,7,2,6,1,5においてそれぞれ読み取られる。
【0050】
このランダム効果を作り出すために、分散効果を変更することなく、(少なくとも)いくつかのペア(より一般的には、nの倍数)のバイナリデータは、処理動作132又は適当な変更を受ける。
【0051】
簡単で極めて効果的な処理動作132は、ペア内のバイナリデータを、例えば、次のルール、すなわち、{ak,bk}を、メモリ内の位置k,k=0,1,...(N−1)に記憶されたバイナリのペアとするというルールに基づいて、それを基本的なエンコーダCに渡す前に、定期的に置換する動作を構成する。変数iの奇数の値に対して、ルール(1)に基づいてアドレスjで読み込まれたペアのバイナリデータは、エンコーダCに渡される前に置換される。
【0052】
前述の実施例に戻って参照すると、エンコーダCによってコード化すべきN=9のペアは、以下の順序、
{a0,b0},{b4,a4},{a8,b8},{b3,a3},{a7,b7},{b2,a2},{a6,b6},{b1,a1},{a5,b5}
によって表される。
【0053】
置換を受けたペアは、太字でプリントされている。
【0054】
もちろん、ペアのバイナリデータを置換する動作以外の動作は、例えば、次のような、
{ak,bk}−{ak+bk,bk}又は{ak,bk}−{bk,ak+bk}mod2
又は
{ak,bk}−{ak,ak+bk}又は{ak,bk}−{ak+bk,ak}mod2
が可能である。
【0055】
もちろん、各ペアのバイナリデータ上で実行された動作を逆にすることができる。実際に、例えば、{ak+bk,bk}を知れば、素子{ak+bk}及び{bk}を加算することによって、akを得ることができる。
【0056】
場合によっては、いくつかの動作をまとめる、及び/又は、代わりに使用することができる。
【0057】
図1に示した実施例では、データブロックの処理132は、これらの同じブロックの置換131の後で実行される。しかしながら、これらの動作の順序を逆にすることができることは明白である。まず始めにコードワード(nの倍数)に対して処理動作を実行してから、その置換を行うことが可能である。
【0058】
このため、この置換方法により、n−2及びn−1でn/(n+m)を必然的に生じる、系統的で帰納的な畳み込みコードの並列連結から「ターボコード」を構築することが可能になる。
【0059】
これらの「ターボコード」の距離及び特に最小距離の特性は、周知の畳み込み「ターボコード」の特性よりも優れている。「ターボコード」のコーディング効率が高くなればなるほど、またコード化すべきバイナリデータのブロックが短ければそれだけ、この結果は一層明白になる。
【0060】
このため、この置換機能は、データが短いフレーム内で構造化される(例えば、ATM)送信用コーディングに対して、畳み込みブロックの「ターボコード」を構築するように特に設計されている。
【0061】
ディコーディングは、以下のような、コーディングの間に実行された動作の逆の動作、すなわち、
最初のコードワードを復元するために(送信チャネルによる混信を除く)、受信されたコードワードの内容を変更する動作(逆の変更)と、
受信されたコードワードの順序を、初期の順序に戻すために置換する動作と
を実行する。
【0062】
完全なコーディングの一般的な着想は、好ましくは、前述したフランス特許国第9 105 280号明細書において説明されたものと同様である。しかしながら、基本的なデコーダによって交換された基本的な情報(外部情報と呼ぶ)は、もちろん、もはやバイナリ値ではなくコードワード又はnの倍数である。
【0063】
外部情報は、このため、nの倍数に対して可能な2nの場合に対応する、2n値によって実行される。このためペアについては、前述したように、基本的なデコーダは一度に4つのデータを交換する。
【図面の簡単な説明】
【0064】
【図1】本発明の好ましい実施態様を示す概念図である。
【符号の説明】
【0065】
131 置換ブロック
132 変更ブロック

【特許請求の範囲】
【請求項1】
それぞれがソースデータ(25)の全てを考慮に入れる少なくとも2つの基本的なコーディングステップ(11,12)を並列に実行し、該基本的なコーディングステップ(11,12)間の前記ソースデータを考慮する順序を変更する置換ステップ(13)を備える前記ディジタルのソースデータをコーディングする方法であって、
前記ソースデータ(15)が、それぞれが2以上のnのバイナリのソース素子を含むソースのコードワードの中で編成されており、前記置換ステップ(13)が、
少なくともいくつかの前記ソースのコードワードの内容を可逆的に変更して、変更されたコードワードを出力するステップ(132)と、
前記ソース又は変更されたコードワードの順序を置換するステップ(131)と
を備えるコーディング方法。
【請求項2】
前記コードワードの順序を置換する前記ステップ(131)が、Nの連続的なコードワードのブロックに適用された一様な置換を実行するものである、請求項1に記載のコーディング方法。
【請求項3】
前記一様な置換が、0からN−1までの順序で入力され、iが0からN−1まで変化するJ=P.iからの順序で再び読み取られるNのコードワードを含むメモリ(1311)を使用するものであり、P及びNは互いに素数である、請求項2に記載のコーディング方法。
【請求項4】
Pが、√Nに近いものである請求項3に記載のコーディング方法。
【請求項5】
前記内容の変更(132)が、前記コードワードのいくつかにのみ適用されるものである、請求項1から4のいずれかに記載のコーディング方法。
【請求項6】
前記内容の変更(132)が、1つおきのコードワードに適用されるものである、請求項5に記載のコーディング方法。
【請求項7】
前記内容の変更(132)が、検討されるコードワード内のバイナリ素子の順序を置換する動作を含むものである、請求項1から6のいずれかに記載のコーディング方法。
【請求項8】
前記内容の変更(132)が、前記検討されるコードワードの前記バイナリのソース素子の少なくとも1つを、前記バイナリのソース素子の少なくとも2つの組み合わせと交換する動作を含むものである、請求項1から7のいずれかに記載のコーディング方法。
【請求項9】
前記コードワードがバイナリ素子のペアである、請求項1から8のいずれかに記載のコーディング方法。
【請求項10】
前記内容を変更するステップ(132)が、以下の変更されたペアである、
(a,b)
(b,a)
(a+b,b)
(b,a+b)
(a,a+b)
(a+b,a)
の少なくとも1つのソースのペア{a,b}と関連付けるものである、請求項9に記載のコーディング方法。
【請求項11】
前記基本的なコーディングステップ(13,12)の少なくとも1つが、系統的で帰納的な畳み込みコードを実行して、n>2、かつ、m>1であり、n+mのバイナリ出力をnのバイナリ入力に関連付けるn/(n+m)を必然的に生ずるものである、請求項1から10のいずれかに記載のコーディング方法。
【請求項12】
前記コーディング方法が、n+m+mのバイナリ出力を、
前記nのバイナリ入力と、
第1の基本的なコーディングステップによって供給されたmのバイナリ出力と、
第2の基本的なコーディングステップによって供給されたmのバイナリ出力と
を含むnのバイナリ入力のコードワードに関連付けるものである、請求項1から11のいずれかに記載のコーディング方法。
【請求項13】
前記コーディング方法がスタンピングステップ(14)を実行するものである、請求項1から請求項12のいずれかに記載のコーディング方法。
【請求項14】
それぞれがソースデータ(15)の全てを考慮に入れる少なくとも2つの基本的なエンコーダ(11,12)と、前記ソースデータの検討の順序を前記各基本的なエンコーダによって変更する置換手段(13)とを備えるディジタルソースをコーディングする装置であって、前記ソースデータが、それぞれが2以上のnのバイナリのソース素子からなるソースのコードワードの中で編成され、前記置換手段(13)が、
少なくともいくつかの前記ソースのコードワードの内容を可逆的に変更して、変更されたコードワードを出力する手段(132)と、
前記ソース又は変更されたコードワードの順序を置換する手段(131)と
を備えてなる、ディジタルソースをコーディングする装置。
【請求項15】
受信されたコードワードの少なくともいくつかの内容を、コーディングの間に実行された変更とは反対に変更するステップと、
前記受信されたコードワードの順序を、初期の順序に戻すために置換するステップと
を備える置換ステップを含む、請求項1から13のいずれかのコーディング方法に基づいてコード化されたディジタルデータをディコーディングする方法。
【請求項16】
受信されたコードワードの少なくともいくつかの内容を、コーディングの間に実行された変更とは反対に変更する手段と、
前記受信されたコードワードの順序を、初期の順序に戻すために置換する手段と
を備える置換手段を含む、請求項1から13のいずれかのコーディング方法に基づいてコード化されたディジタルデータをディコーディングする装置。
【請求項17】
請求項1から13のいずれかのコーディング方法に基づいてコード化された、又は請求項15のディコーディング方法に基づいてデコードされたディジタルデータを送信、及び/又は、受信する装置。

【図1】
image rotate


【公開番号】特開2007−318772(P2007−318772A)
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2007−164028(P2007−164028)
【出願日】平成19年6月21日(2007.6.21)
【分割の表示】特願2001−510997(P2001−510997)の分割
【原出願日】平成12年7月19日(2000.7.19)
【出願人】(591034154)フランス テレコム (290)
【出願人】(502069363)
【Fターム(参考)】