JP4155539B2 - 情報伝送方法および装置、記憶媒体 - Google Patents
情報伝送方法および装置、記憶媒体 Download PDFInfo
- Publication number
- JP4155539B2 JP4155539B2 JP20373499A JP20373499A JP4155539B2 JP 4155539 B2 JP4155539 B2 JP 4155539B2 JP 20373499 A JP20373499 A JP 20373499A JP 20373499 A JP20373499 A JP 20373499A JP 4155539 B2 JP4155539 B2 JP 4155539B2
- Authority
- JP
- Japan
- Prior art keywords
- integer
- symbol
- polynomial
- calculated
- code
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
- H03M13/2717—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions the interleaver involves 3 or more directions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
- H03M13/2721—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions the interleaver involves a diagonal direction, e.g. by using an interleaving matrix with read-out in a diagonal direction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
【発明の属する技術分野】
本発明は、積符号のサブコードを使用するコーディングおよび伝送のための方法および装置に関する。
【0002】
【従来の技術】
本発明の目的は、情報の伝送中、特に、無線伝送の状況内に現れるエラーを抑制することである。これは、伝送された信号、特に、電気的性質を有するものがノイズによって破壊されるからである。
【0003】
メッセージはディジタル・シーケンスであるものとして定義する。
【0004】
解決策の1つは、メッセージを冗長にすること、すなわち、メッセージに冗長性を追加することからなり、換言すれば、情報を表す記号に加え、情報を表す前記記号の関数である記号が伝送される。
【0005】
シーケンスをアルファベットで生成する装置はコーダという。
【0006】
コーダによって生成される1組のシーケンスはコードという。
【0007】
コードを指定するため、または情報の項目に付加すべき冗長性を計算する方法を指定するため、しばしば、行列を使用する。たとえば、長さn(この例では7とする)のワードv=(v0,...,v6)を形成するためにk個の2進情報記号(v0,v1,v2,v3)(2進情報記号の数はkで示し、この例では4になる)に冗長記号(v4,v5,v6)(冗長記号の数はこの例では3である)を付加する必要がある場合、たとえば以下のようなn列×n−k行(この例では3)の行列Hをアルファベット{0,1}で生成する。
【0008】
【数1】
【0009】
さらに、式v*Ht=0を満足するために、長さ7の2進ワードvを作成する。ただし、「*」は行列積を示し、Htは行列Hの転置行列を示し、加算はモジュロ2で行われ、ワードvは行列Hに対して直交するという。したがって、この例では、冗長記号v4、v5、v6は以下のように計算される。
【0010】
v4=v0+v1+v2
v5=v1+v2+v3
v6=v0+v1+v3
パラメータnはコード長と呼ばれ、パラメータkは必ずパラメータnより厳密に小さく、コード次元と呼ばれる。この方法で使用する行列Hは、パリティ制御行列またはパリティ行列と呼ばれる。
【0011】
このコーディング方法によって、あるエラーの訂正が可能になることは周知のことであり、ノイズのあるチャネル上で2進ワードvを送信後、2進ワードr=(r0,...,r6)を受信し、高々1つの指数iについて記号の1つriが記号viとは異なる場合、このエラーの訂正が可能になる(PetersonおよびWeldonの「Error−Correcting Codes」、MIT Pressを参照すること)。より一般的には、パラメータnがかなり大きい場合、パラメータn−kの値を大きくすることにより、より効率のよいコードを求めることができる。このようなコードにより、誤りを含んで受信した複数の記号を訂正することが可能になる。このようなコードの実施態様における選り抜きのツールは、線形コードと呼ばれ、受信したワードrに対応するシンドロームs=r*Htになる(上記で引用したPetersonおよびWeldonの参考文献と比較すること)。
【0012】
その実施態様の複雑さを「過度に」増大せずにエラー訂正を可能にするコーディングにより伝送パフォーマンスを改善することを目指して、積符号の考え方を頼りにしており、情報を構成するk*k個の記号を有する伝送すべきメッセージについて検討する。これらの記号はn*n次元の平方テーブルの左上に配置されるが、テーブルの最初のk行の最初のk桁はすでに充填されており、行内の桁は左からカウントし、テーブル内の行は上からカウントする。テーブルの各行の残りのn−k桁は問題の行の最初のk個の記号のみに依存する冗長記号で充填されるが、したがって、テーブルの最初のk行または換言すれば各列の最初のk桁はすでに完全に充填されており、列内の桁は上からカウントする。テーブルの各列の残りのn−k桁は問題の列の最初のk個の記号のみに依存する冗長記号で充填されるが、したがって、テーブルはすでに完全に充填されている。
【0013】
積符号の形で現れるメッセージをデコーディングするためには、行をデコーディングすることによって開始し、必要であれば訂正を行うことができる。次に、訂正したデータにより、列をデコーディングし、訂正を行う。したがって、この方法は反復することができる。
【0014】
ハード判断(硬判定)復調に基づくハードな反復デコーディング方法が、J.Lacanの論文「Diagonals of 2D-Abelian codes」proceedings of the 1998 Infomation Theory Workshop 発行の111〜112頁で考察されている。
【0015】
伝送パフォーマンスのもう1つの改良策は、いわゆるソフト判断(軟判定)復調方法を頼りにすることによって可能になる。この方法では、受信した記号は、rで示し、アルファベット{0,1}で送信した記号に対応するが、もはやこのアルファベット{0,1}の要素として解釈されない。記号rによって供給され、デコーダが使用可能な情報
【0016】
【数2】
(以下Tとする)は、式T=log[f(r)]で表し、ただし、logは厳密に1より大きいベースにおけるその引数の対数を示し、f(r)は1を送信したときにrに近い値を受信する尤度と0を送信したときにrに近い値を受信する尤度との割合である。この対数は、対数尤度比(l.l.r.)と呼ぶ。
【0017】
このようなソフト判断を行うことができる場合、積符号のデコーディングは特に効率がよいことが分かっている(この主題については、J.Hagenauer、E.Offer、およびL.Papkeの「Iterative decoding of binary block and convolutional codes」、IEEE Transactions on Theory、vol.42、429〜445ページ、1996年3月と、R.Pyndiah、A.Glavieux、A.Picart、およびS.Jacqの「Near optimum decoding of product codes」、Proceedings IEEE Globecom Conference、339〜343ページ、サンフランシスコ、1994年11月を参照すること)。これらの論文の根底にある理論上の考え方は、1963年にMIT Pressから発行されたR.G.Gallagerの「Low−densityparity−check codes」という書籍にさかのぼるが、上記の論文は、このような理論上の基礎を効率よく実現する方法をうまく明記している。
【0018】
実際には、アルファベット{0,1}の文字は2通りの電気信号によってチャネル上で伝送され、数値+1(文字0の場合)と−1(文字1の場合)によって識別される。このようにして選択された電気信号が「妥当」であり、チャネルに影響するノイズがAWGNという頭文字でよく知られる従来の加法性白色ガウス雑音(Additive White Gaussian Noise)とはあまり異ならない限り、このようなチャネルの状況は周知のものであり、一般に研究されている。
【0019】
上記の考え方の使用法を例示するため、この特定の単純な例について検討する。制御行列H=[111]は、アルファベット{0,1}でコード(n=3、k=2)を定義する。このコードの積符号の前述の構造をそれ自身に適用することにより、4つの2進記号v0,0、v0,1、v1,0、v1,1を使用して、この特定の3*3行列によって表される長さ9の2進ワードvを構築することができる。
【0020】
【数3】
【0021】
ただし、記号v2,0、v2,1、v2,2、v0,2、v1,2は、ワードvの3つの行と3つの列が行列Hに対して直交するように計算されている。
【0022】
行列Hがこのような記号vi,jに課すパリティ関係により、v1,1(たとえば)は以下の式を満足すると結論付けることができる。
【0023】
v1,1=v0,1+v1,2 (1)
v1,1=v0,1+v2,1 (2)
ただし、加算はモジュロ2で行われる。チャネル上で記号vi,jを伝送した後、それに対応する受信した記号ri,jについて、対数尤度比Ti,j=[log f(ri,j)]の計算を行うことができ、これらの値Ti,jの行列Tを構築することができる。
【0024】
【数4】
【0025】
上記の式(1)および(2)は、互いに独立した値Ti,jの3つの集合から記号v1,1(たとえば)を推定できることを表している。第1のこのような集合は集合{T1,1}であり、第2の集合は式(1)により集合{T1,0、T1,2}であり、第3の集合は式(2)により集合{T0,1、T2,1}である。より一般的には、どのような座標sおよびtの場合でも、記号vs,tを推定するためには値Ti,jの3つの集合が存在し、そのうちの第1の集合は単集合{Ts,t}であり、残りの2つの集合はそれぞれ2つの要素を含む。受信した記号ri,jと対応する値Ti,jのテーブルを基礎として伝送したワードvの記号vs,tを推定するためにこのような独立したTi,jの集合を使用することは、たとえば、J.Hagenauer他(上記の参考文献)を参照することによって理解することができる。ここでは、パラメータnを3以上にし、パラメータkを2以上にすることができる一般的な場合について検討する。しかし、記号vs,tのどのような座標対(s,t)の場合でも、値Ti,jの3つの集合、すなわち、集合{Ts,t}、集合{Ts,u、uがtとは異なる場合}、集合{Tu,t、uがsとは異なる場合}のみを考慮に入れることにする。
【0026】
この状況では、受信したワードrの反復訂正を次のように実行することができる。
【0027】
第1のステップでは、どのような座標対(s,t)についても、行列Tの要素Ts,tと集合{Ts,u、uがtとは異なる場合}について検討する。これにより、どのような座標対(s,t)についても、これらのデータから
【0028】
【数5】
(以下Jとする)s,tとして示す新しい対数尤度比を計算することが可能になる。
【0029】
第2のステップでは、どのような座標対(s,t)についても、行列Tの要素Ts,t、計算したばかりの要素Js,t、集合{Tu,t、uがsとは異なる場合}について検討する。Ks,t=Js,tを設定した後、どのような座標対(s,t)についても、同じくJs,tとして示す新しい対数尤度比を計算することができる。
【0030】
第3のステップでは、どのような座標対(s,t)についても、行列Tの要素Ts,t、計算したばかりの要素Js,t、集合{Ts,u、uがtとは異なる場合}について検討する。Ks,t=Js,tを設定した後、どのような座標対(s,t)についても、同じくJs,tとして示す新しい対数尤度比を計算することができる。
【0031】
次に、第2のステップと第3のステップを交互に実行することにより、手順を続行する。事前に選択したステップ数を実行すると、対数尤度比を含む3つの行列が使用可能になる。第1の行列は行列Tであり、第2の行列は座標位置(s,t)に要素Js,tを有する行列Jであり、第3の行列は座標位置(s,t)に要素Ks,tを有する行列Kである。
【0032】
行列
【0033】
【数6】
(以下Dとする)=T+J+Kを計算し、以下のものをデコーディングに使用する。すなわち、Di,jが正である場合は推定値vi,j=1を使用し、Di,jが負である場合は推定値vi,j=0を使用する。さらに、Di,jの絶対値は、この判断に対して与えることができる信頼度を表す。
【0034】
この主題については、上記のJ.Hagenauer他の参考文献を調べると有利だろう。
【0035】
既に示したように、積符号という状況は、特に反復訂正に適合するものである。このようなコードCのワードは、Nh列×Nv行の矩形テーブルによって容易に表され、各行(それぞれの各列)は長さNh(それぞれNv)のコードCh(それぞれCv)のワードである。したがって、長さNh *NvのコードCのワードは以下の行列によって表される。
【0036】
【数7】
ただし、各vi,jは伝送する予定の2進記号である。
【0037】
チャネルによってワードvを伝送した後、ワードrを受信する。
【0038】
【数8】
したがって、それにより、要素Ti,j=log[f(ri,j)]の行列Tを計算することができる。
【0039】
【発明が解決しようとする課題】
本発明の目的は、それに関してワードvの記号のうちのいずれか1つに関する情報を提供する4つ以上の独立した記号の集合を求めることが可能なコードを使用してコーディング方法を明示的に実現することにより、伝送効率、訂正効率、デコーディング効率を改善することにある。
【0040】
しかし、本発明で使用するコードは通常の積符号ではない。そのコードは、より正確には、このような通常の積符号に含まれるコードであり、すなわち、このような通常の積符号のサブコードである。伝送した各記号に関する4つ以上の独立した推定値を求めることが可能になるようなコードを求める試みを行う。行および列だけでなく、所与の傾斜の対角集合上にも冗長性が存在することが確実になるだろう。
【0041】
本発明はこれらのコードのターボデコーディング、すなわち、各ステップでソフト情報を用いる反復デコーディングに関する。
【0042】
【課題を解決するための手段】
このため、第1の態様によれば、本発明は、物理量を表し、第1の2進記号によって表される情報を伝送する方法であって、
−計算した2進記号と呼ばれる第2の2進記号を前記情報から計算する操作(301〜309)を含むコーディング操作であって、平方テーブル内に配置するために前記計算した2進記号が提供される操作と、
前記計算した2進記号を変調する操作と変調された記号を受信した記号と呼ばれる記号に復調する操作とを含む、前記計算した2進記号を転送する操作と、
前記受信した記号を訂正し、訂正した記号と呼ばれる2進記号を提供する操作と、
前記訂正した記号から情報をデコーディングする操作とを有し、
前記計算した2進記号ごとに、この計算した2進記号を含み、この計算した2進記号が得られなくてもそれぞれがそれ自体で前記計算した2進記号を再計算できるようにする、少なくとも3つの別個の対角集合がテーブル内に存在し、
前記変調操作は軟判定方法によって行なわれ、
前記訂正操作は前記別個の対角集合のそれぞれにつき反復して実行されることを特徴とする方法に関する。
【0043】
好ましい実施形態によれば、本発明はまた、上記で簡潔に示した方法に関し、計算操作が、
第1の2進記号を係数として表わす複数の2変量多項式を定義する操作と、
前記計算した2進記号を、前記定義した多項式のそれぞれと、2変量多項式の集合の基底をなす複数の所定の多項式の対応する1つとの積の総和として得られた多項式の係数の形で計算する操作とを有することを特徴とする。
【0044】
本発明の意味では、行列の行と列は特殊な対角集合である。このような方法により、計算した2進記号自体の他に、計算した2進記号に関する少なくとも3つの独立したデータ・ソースを用意することが可能になる。このコーディング方法により、コード化メッセージの冗長性が賢明な程度にしかも過度にならずに増大する。このため、コーディングおよびデコーディングの実施態様の冗長性または複雑さを過度に増大せずにエラー訂正を可能にすることにより、訂正パフォーマンスとデコーディング・パフォーマンス、したがって、伝送パフォーマンスが改善される。
【0045】
これは、J.Hagenauer他(上記の参考文献)に記載されているように、前述の量(J)s,tおよび(K)s,tが反復ごとに相関関係が強くなるからである。
【0046】
本発明によれば、記号vs,tのそれぞれを推定するために値Ti,jの4つ以上の互いに素の集合を用意することは、特にこの欠点を矯正するために価値があることである。
【0047】
これは、前述の第3のステップで、第1のステップですでに使用したステップ{Ts,u、uがtとは異なる場合}をもう一度使用したからである。値Ts,t、集合{Ts,u、uがtとは異なる場合}、集合{Tu,t、uがsとは異なる場合}に加え、他の集合が使用可能であり、これらの最初の3つとは互いに素であり、対内で互いに素であり、記号vs,tに関する情報を提供する場合、そのうちの第1のものがたとえば第3のステップで使用可能であり、第2のものが第4のステップで使用可能であり、以下同様になるだろう。したがって、どのような座標対(s,t)についても、値Ts,tの他に、値Ts,tを含まないがそれぞれがノイズがない場合に記号vs,tを正しく推定できるようにする値Ti,jのλ個のこのような互いに素の集合が使用可能である場合、このようなλ個の集合の1つをもう一度使用しなければならなくなる前に、上記に簡単に概説した反復訂正手順においてλ通りのステップを実行することができる。これらのステップのそれぞれでは、どのような座標sおよびどのような座標tについても、最後に計算した値Js,tだけでなく、最後のλ−1も格納することが必要になる。
【0048】
事前に選択したステップ数を実行すると、尤度比の対数を含むλ+1個の行列が使用可能になる。第1の行列は行列Tであり、残りのλ個の行列はアルゴリズムによって生成される最後のλ個の行列Jである。次に、これらのλ+1個の行列の合計として行列Dを計算し、それを上記のように使用する。
【0049】
ただし、記号rs,t自体の他に、各記号vs,tを推定するために値Ti,jの少なくとも3つの互いに素の集合が使用可能である場合、J.Hagenauer他の前述の論文の441ページの2列目に記載されている矩形エラー構成の周知の問題に対する解決策が改善されることも留意されたい。
【0050】
この伝送方法の好ましい実施の形態では、デコーディング操作は、
前記訂正した記号を表わす多項式と前記所定の多項式のそれぞれとを乗じて積多項式を計算する操作と、
前記積多項式の特定の係数に基づいて、前記定義した多項式の係数として第1の2進記号を推定する操作と、
前記推定した係数をデコードした情報として出力する操作とを有する。
【0051】
好ましい実施の形態では、伝送方法の計算操作中に、どのような情報についても計算した2進記号のテーブルがアーベル・コードのワードになるようなアーベル・コードが存在する。
【0052】
アーベル・コードを使用する利点は、このようなコードを効果的に指定するためにアーベル・コードの理論によって提供される効率のよい計算ツールおよびそれに対応するコーダが使用可能になることに由来する。この理論は、特にP.Delsarteの「Automorphisms of Abelian codes」、Philips Research Reports、vol.25、389〜403ページ、1970年およびH.Imaiの「A theoryof two−dimensional cyclic codes」、Information and Control、vol.34、1〜21ページ、1977年において研究されている。
【0053】
好ましい実施の形態では、伝送方法は、計算操作中に、零または無限あるいはnに対して素の整数である要素rについて、傾斜rの各対角集合がBCHコードのワードになるように、2以上の整数nが存在するようなものになっている。
【0054】
これは、所与の値の傾斜の場合に、この傾斜を有する各対角集合がBCHコードのワードになることを意味する。BCHコードは、特に前述のPetersonおよびWeldonの著作に定義されている。
【0055】
BCHコードになっている対角集合を使用する利点は2つの面を有する。一方では、これらのコードは巡回コードであり、前述のアーベル・コード構造に完全に適合し、もう一方では、これらのBCHコードは、最良かつ最も実用的な巡回コードのうちの1つとして知られている(この主題については、S.LinおよびD.Costelloの「Error Control Coding: Fundamental and Applications」という書籍、Prentice−Hall、1983年を参照すること)。
【0056】
有利なことに、伝送方法は、計算操作中に、零または無限あるいは整数nに対して素の整数である要素peについて、傾斜peの各対角集合がタイプ(n,k)のハミング・コードのワードになるように、2以上の整数m、2m−1に等しい整数n、n−mに等しい整数kが存在するように設計することができる。
【0057】
これは、所与の値の傾斜の場合に、この傾斜を有する各対角集合がタイプ(n,k)のハミング・コードのワードになることを意味する。
【0058】
ハミング・コードになっている対角集合を使用する利点は2つの面を有する。一方では、ハミング・コードの効率は比較的高く、このハミング・コードを使用する全体的なアーベル・コードの効率にとって有利な要素である。もう一方では、本発明の目的に適合するようなハミング・コードのコーディングは極めて単純に実行される(前述のHagenauer他の論文を参照のこと)。
【0059】
同様の理由から、有利なことに、伝送方法は、計算操作中に、pが零または無限あるいは整数nに対して素の整数であり、qが零または無限あるいは整数nに対して素の整数である2つの要素pおよびqについて、傾斜pの各対角集合および傾斜qの各対角集合がタイプ(n,k)の1つかつ同一のハミング・コードのワードになるように、2以上の整数m、2m−1に等しい整数n、n−mに等しい整数kが存在するようなものになっている。
【0060】
これは、少なくとも2つの別個の値の傾斜の場合に、この傾斜を有する2進記号のテーブルの対角集合がタイプ(n,k)のハミング・コードのワードになることを意味する。
【0061】
これにより、ハミング・コードの利点を有することが可能になる。
【0062】
有利なことに、上記で簡単に説明した伝送方法は、計算操作中に、零または無限あるいは整数nに対して素の整数である要素sについて、傾斜sの各対角集合がタイプ(n,n−1)のパリティ・コードのワードになるように、2以上の少なくとも1つの整数nが存在するようなものになっている。
【0063】
これは、1つまたは複数の値の傾斜の場合に、この傾斜を有する対角集合が、偶数個の1を含む長さnの2進ワードの集合として定義されるタイプ(n,n−1)のパリティ・コードになることを意味する。
【0064】
これにより、各記号vs,tのデコーディングに使用する値Ti,jの互いに素の集合の数を削減せずに全体的なアーベル・コードにおいて極めて高い効率を維持することが可能になる。
【0065】
また、本発明は、これまでに簡単に示したものなどの伝送方法を使用する装置にも関する。
【0066】
また、本発明は、簡単に前述した装置を含むことを特徴とする、ビデオカメラ、ファクシミリ・マシン、写真機、コンピュータにも関する。
【0067】
また、本発明は、
−コンピュータまたはマイクロプロセッサによって読取り可能であり、コンピュータ・プログラムの命令を格納する情報記憶媒体であって、それにより、簡単に前述したように本発明の方法の実現が可能になることを特徴とする情報記憶媒体と、
−コンピュータまたはマイクロプロセッサによって読取り可能であり、簡単に前述した方法を実現した結果得られるデータを格納する情報記憶媒体にも関する。
【0068】
また、本発明は、
−部分的または全体的に取外し可能であり、コンピュータまたはマイクロプロセッサによって読取り可能であり、コンピュータ・プログラムの命令を格納する情報記憶媒体であって、それにより、簡単に前述したように本発明の方法の実現が可能になることを特徴とする情報記憶媒体と、
−部分的または全体的に取外し可能であり、コンピュータまたはマイクロプロセッサによって読取り可能であり、簡単に前述した方法を実現した結果得られるデータを格納する情報記憶媒体にも関する。
【0069】
これらの装置、このビデオカメラ、このファクシミリ・マシン、この写真機、このコンピュータ、およびこれらの情報記憶媒体の好ましい特徴または特定の特徴ならびに利点は伝送方法のものと同一であるので、ここではこれらの利点について繰り返して説明しない。
【0070】
添付図面に関連して以下に示す説明を読めば、本発明をより適切に理解できるだろう。
【0071】
【発明の実施の形態】
図1に示すコーディング装置の説明を開始する前に、理論上の状況を説明することが重要である。
【0072】
2以上の2つの整数NvおよびNhについて検討する。
【0073】
xではせいぜいNv−1次でyではせいぜいNh−1次の2進係数を有する二変量多項式の集合をEという。
【0074】
以下の説明の全体において、集合Eの多項式の乗算は必ず多項式xNv+1およびyNh+1を法として行われ、結果として得られる係数はモジュロ2で計算される。
【0075】
vは、その値をアルファベット{0,1}から取り、Nv *Nh矩形行列によって式(1)のように表される、長さNv *Nhのワードとする。集合E内の多項式v(x,y)はそれに関連し、逆の場合も同様である。
【0076】
v(x,y)=Σi=0〜Nv−1,j=0〜Nh−1vi,jxiyj
以下の説明の全体において、Nv *Nh矩形行列vに関連する集合Eの多項式を示すために、表記法v(x,y)を使用する。
【0077】
モジュロNvで各行指数を1ずつ増分することからなる行列v上の巡回置換の結果として得られる行列は、多項式x*v(x,y)に関連する行列と同一である。
【0078】
同様に、モジュロNhで各列指数を1ずつ増分することからなる行列v上の巡回置換の結果として得られる行列は、多項式y*v(x,y)に関連する行列と同一である。
【0079】
集合Eの多項式g(x,y)およびその関連行列について検討する。すなわち、
v(x,y)=a(x,y)*g(x,y)
が成立するような集合Eの多項式a(x,y)が存在するように、多項式g(x,y)によって生成された集合Eの多項式v(x,y)の集合をイデアルと呼び、J(g(x,y))と示す。
【0080】
Jは集合Eのイデアルとし、イデアルJのどのような多項式v(x,y)についても、
v(x,y)=a(x,y)*g(x,y)
が成立するようなEの多項式a(x,y)が存在する場合、多項式g(x,y)はイデアルJの生成元であると言う。
【0081】
零多項式によって生成されるイデアルは自明なイデアルと呼ぶ。
【0082】
それが自明ではなく、それ自体および自明なイデアル以外のイデアルを一切含まない場合、そのイデアルは極小であると言う。
【0083】
集合Eの多項式g(x,y)は、
g(x,y)*g(x,y)=g(x,y)
が成立する場合、ベキ等であると言う。
【0084】
集合Eのいずれかのイデアルの基数が2の累乗であり、この2の累乗をイデアルの次元と呼ぶことは、立証することができる。
【0085】
整数NhおよびNvが奇数である場合、
*集合Eのどのようなイデアルもベキ等生成元を含むこと、
*どのような極小イデアルJも単一の非零ベキ等多項式g(x,y)を含み、この多項式g(x,y)がイデアルJの生成元であり、ベキ等最小多項式と呼ばれること、
*2つの異なる最小ベキ等多項式e1(x,y)およびe2(x,y)が必ず直交し、すなわち、両者が
e1(x,y)*e2(x,y)=0
の関係を満たすことを立証することができる。
【0086】
整数NhおよびNvが奇数である場合について検討する。集合Eのベキ等最小多項式の集合はM={e1(x,y)、0<=1<=L}と呼ばれ、集合Eのどのような多項式v(x,y)も以下の形で表されることを立証することができる。
【0087】
v(x,y)=Σl=0〜Lvl(x,y)*el(x,y)
ただし、多項式vl(x,y)*el(x,y)は多項式v(x,y)のみに依存する。集合Mは集合Eの基底を形成すると言われる。
【0088】
3次元以上のテーブルは同様に処理することができる。
【0089】
現在検討中であるNv=Nhの場合、NはN=Nv=Nhになるように設定される。アルファベット{0,1}によるタイプN*Nの行列vとNに対して素の整数の場合、傾斜aのi+1番目の対角集合は、0〜N−1の間の整数iについて、ベクトル(vi,0,vi+a,1,...,vi+(N−1)a,N−1)になるものとして定義される。ただし、第1の指数は行の要素の指数であり、第2の指数は行列vの列の要素の指数である。i+1番目の行は傾斜0のi+1番目の対角集合であると言われる。列は無限傾斜の対角集合であると言われる。
【0090】
次に、Nv=Nh=N=7である場合について検討する。この場合も、理論上の状況の表記法および規定を使用する。
【0091】
特に、このような表記法を使用すると、集合Eが次元49のイデアルであることが分かるだろう。
【0092】
【数9】
とし、以下の関数を導入するものとする。
【0093】
f(x)=1+x+x2+x4および
s(x)=1+x+x2+x3+x4+x5+x6
これにより、e1(x,y)=f(x)*s(y),y*e1(x,y)=e1(x,y),x*e1(x,y)がe1(x,y)とは異なることが分かる。
【0094】
イデアルJ(e1(x,y))の次元は3になり、以下のように定義された2〜16の間の指数lを有する多項式el(x,y)についても同様であることを立証することができる。
【0095】
e2(x,y)=f(x3)*s(y)
e3(x,y)=f(y)*s(x)
e4(x,y)=f(y3)*s(x)
e5(x,y)=f(x)*s(xy)
e6(x,y)=f(x)*s(x2y)
e7(x,y)=f(x)*s(x3y)
e8(x,y)=f(x)*s(x4y)
e9(x,y)=f(x)*s(x5y)
e10(x,y)=f(x)*s(x6y)
e11(x,y)=f(x3)*s(xy)
e12(x,y)=f(x3)*s(x2y)
e13(x,y)=f(x3)*s(x3y)
e14(x,y)=f(x3)*s(x4y)
e15(x,y)=f(x3)*s(x5y)
e16(x,y)=f(x3)*s(x6y)
ただし、e3(x,y)=e1(y,x)になり、これは対応する行列の転置によって行列として表されることに留意されたい。
【0096】
また、e0(x,y)=s(x)*s(y)であると定義する。e0(x,y)がベキ等であり、集合Eのどのような多項式a(x,y)についてもa(x,y)*e0(x,y)がe0(x,y)または零多項式のいずれかになることを確認することができる。
【0097】
集合M={el(x,y)、lは0〜16}を導入すると、これは集合Eのベキ等最小多項式の集合であることを立証することができる。理論部分で明記したように、これは集合Eの基底である。
【0098】
多項式e6(x,y)、e9(x,y)、e10(x,y)に関連する行列e6、e9、e10を以下のように指定する。
【0099】
【数10】
【0100】
次に、長さ49の2進コードのワードv(x,y)=Σl=0〜N−1vl(x,y)*el(x,y)の構成要素vl(x,y)*el(x,y)に対して所与の制限を課すことにより、このコードを指定する。
【0101】
この場合、行列GおよびHについて検討する。
【0102】
【数11】
【0103】
それがモジュロ2で取られた行列Gの行ベクトルの線形結合である場合に、集合{0,1}の要素の7項集合uがコードBに含まれるものとすることによって、コードBを定義する。これは、集合{0,1}の要素の7項集合uによって
u*Ht=0
であることを確認した場合にこの7項集合がコードBに含まれるものとすることと同等である。
【0104】
Bは、従来より(7,4)ハミング・コードと呼ばれている。
【0105】
B0として示す(7,6)パリティ・コードは、モジュロ2で取られた7項目集合の要素の合計が0になる場合に、集合{0,1}の要素の7項目集合がコードB0に含まれるものとすることによって定義する。
【0106】
aは7に対して素の整数とする。行列elの傾斜aのすべての対角集合がコードBのワード(それぞれB0)である場合、列または行の巡回置換によって行列elから得られるすべての行列についても同様であり、これらの行列のどのような線形結合についても同様であり、v(x,y)=a(x,y)*el(x,y)の形の多項式v(x,y)に関連するどのような行列についても同様であり、a(x,y)がEの任意の多項式であることは明らかである。
【0107】
以下の命題を立証することができる。すなわち、vとして示す行列に関連する多項式v(x,y)が基底M上のその因数分解において基底Mの多項式el(x,y)のみを使用し、それに対応する行列のすべての列がコードBに含まれる(それぞれB0)場合のみ、行列vのすべての列がコードBに含まれる(それぞれB0)。
【0108】
同様に、以下の命題を立証することができる。すなわち、vとして示す行列に関連する多項式v(x,y)が基底M上のその因数分解において行列Mの多項式のみを使用し、それに対応する行列のすべての行がコードBに含まれる(それぞれB0)場合のみ、行列vのすべての行がコードBに含まれる(それぞれB0)。
【0109】
aは7に対して素の整数とすると、以下の命題を立証することができる。すなわち、vとして示す行列に関連する多項式v(x,y)が基底M上のその因数分解においてMの多項式のみを使用し、それに対応する行列の傾斜aのすべての対角集合がコードBに含まれる(それぞれB0)場合のみ、行列vの傾斜がaのすべての対角集合がコードBに含まれる(それぞれB0)。
【0110】
7*7平方行列は、そのすべての列、そのすべての行、および傾斜1のそのすべての対角集合がコードBに含まれる場合にプロパティP1を確認すると言われる。
【0111】
基底Mの多項式に関連する行列を検査することにより、プロパティP1を確認する基底Mの4つの行列、すなわち、e0、e1、e3、e10が存在することが確証される。また、プロパティP1を確認する行列の集合が次元10のイデアルであることを立証することができる。行列e0は1つの次元単位に寄与し、行列e1、e3、e10はそれぞれ3つの次元単位に寄与する。
【0112】
7*7平方行列は、そのすべての列およびそのすべての行がコードBに含まれる場合、ならびに傾斜1のそのすべての対角集合がコードB0に含まれる場合にプロパティP2を確認すると言われる。
【0113】
基底Mの多項式に関連する行列を検査することにより、プロパティP2を確認する基底Mの5つの行列、すなわち、e1、e3、e7、e9、e10が存在することが確証される。また、プロパティP2を確認する行列の集合が次元15のイデアルであることを立証することができる。上記の行列はそれぞれ3つの次元単位に寄与する。
【0114】
7*7平方行列は、そのすべての行がコードBに含まれる場合、ならびにそのすべての列および傾斜1のそのすべての対角集合がコードB0に含まれる場合にプロパティP3を確認すると言われる。
【0115】
基底Mの多項式に関連する行列を検査することにより、プロパティP3を確認する基底Mの7つの行列、すなわち、e1、e2、e7、e9、e10、e12、e14が存在することが確証される。また、プロパティP3を確認する行列の集合が次元21のイデアルであることを立証することができる。上記の行列はそれぞれ3つの次元単位に寄与する。
【0116】
7*7平方行列は、そのすべての行、そのすべての列、および傾斜1のそのすべての対角集合がコードB0に含まれる場合にプロパティP4を確認すると言われる。
【0117】
基底Mの多項式に関連する行列を検査することにより、プロパティP4を確認する基底Mの10個の行列、すなわち、e6、e7、e8、e9、e10、e12、e13、e14、e15、e16が存在することが確証される。また、プロパティP4を確認する行列の集合が次元30のイデアルであることを立証することができる。上記の行列はそれぞれ3つの次元単位に寄与する。
【0118】
次に、特定の例を使用して、プロパティP1を確認するMの行列のイデアルを使用するコーディング、情報伝送、エラー訂正、デコーディングの方法について説明する。
【0119】
このイデアルが次元10のものであることは上記で示されている。したがって、伝送すべき2進シーケンスは、それぞれが10ビットの情報を含むブロックに分解される。このような10ビットの情報は、集合{0,1}の要素の10項目集合、すなわち、w=(a0,a1,a2,b0,b1,b2,c0,c1,c2,d0)によって表される。
【0120】
図1では、コーディング装置をブロック図形式で示し、全体的な参照番号10によって示す。これは、アドレス/データ・バス102によって相互接続された
中央演算処理装置106と、
ランダム・アクセス・メモリRAM104と、
読取り専用メモリROM105と、
コーディング装置が伝送しなければならない情報を2進データの形で受信するために使用する入力ポート103と、
2つのシーケンスを順に受信し、それぞれの異種同形要素から形成された対を変調器109に同時に伝送する出力ポート107とを有し、その変調器109は、このような対のシーケンスから、ここでは「64−QAM」という名前で知られる64状態アルファベットからなる伝送チャネルのアルファベットの記号のシーケンスを生成し、
さらに、バス102から独立して、
搬送周波数に応じて変調器109によって変調された信号の転置とその増幅を実行する極超短波インタフェース回路と、この転置増幅信号を同報通信する送信アンテナとを有する送信機110と、
出力ポート107に接続されたディスプレイ画面108と、
入力ポート103に接続され、順に使用したキーボード・キーを表すバイトを供給するキーボード101と、
入力ポート103に接続され、2進データの形の伝送すべきデータの入力111とを有する。
【0121】
図1に示す要素のそれぞれは、伝送システムおよびより一般的には情報処理システムの当業者にとって周知のものである。したがって、これらの要素についてはここで説明しない。
【0122】
但し、以下に使用する「レジスタ」という単語は、それぞれのメモリにおいて、小容量のメモリ領域(数個の2進データ項目のみを格納する)と、大容量のメモリ領域(プログラム全体を格納できる)の両方を示すことに留意されたい。
【0123】
ランダム・アクセス・メモリ104は、この説明の残りの部分において、そこに格納する値のデータと同じ名前を有するメモリ・レジスタにデータ、変数、中間処理結果を格納する。ランダム・アクセス・メモリ104は、特に
・レジスタ「a(z)」と、
・レジスタ「v1(x,y)」と、
・レジスタ「b(z)」と、
・レジスタ「v2(x,y)」と、
・レジスタ「c(z)」と、
・レジスタ「v3(x,y)」と、
・レジスタ「c(z)」と、
・レジスタ「v4(x,y)」と、
・レジスタ「v(x,y)」とを含む。
【0124】
ランダム・アクセス・メモリ104は、コンピュータまたはマイクロプロセッサによって読取り可能な情報記憶手段を構成する。これは、この方法を実現した結果得られるデータ、すなわち、コード化データを格納する。
【0125】
変形態様によれば、ランダム・アクセス・メモリ104は、部分的または全体的に取外し可能であり、たとえば、磁気テープまたはディスケットを含む。
【0126】
読取り専用メモリ105は、これ以降の説明において、そこに格納する値のデータと同じ名前を有するメモリ・レジスタにデータを格納する。読取り専用メモリは、特に
・「コーディング・プログラム」というレジスタ内の中央演算処理装置106のオペレーティング・プログラムと、
・多項式e0(x,y)、e1(x,y)、e3(x,y)、e10(x,y)とを含む。
【0127】
中央演算処理装置106は、図2に記載する流れ図を実現するように適合されている。この図2では、図示していない初期設定操作に続いて、操作300中に、図1に示す送信装置へのデータの入力が行われ、10項目集合wが入力111および入力ポート103を通過してランダム・アクセス・メモリ104にアクセスすることが分かるだろう。
【0128】
次に、コーディングが始まる。
【0129】
ただし、プロパティP1を確認する基底Mの要素は行列e0、e1、e3、e10であることを想起されたい。
【0130】
行列e1の場合、一方では、それが3つの次元単位に寄与することが指定されており、もう一方では、行列e1の傾斜1の対角集合が非定数であり、すなわち、行列e1の傾斜1の各対角集合が少なくとも1つの「0」と少なくとも1つの「1」を含む(他の傾斜でもこのプロパティを確認する)ことに留意されたい。
【0131】
操作301中に、中央装置106は、2進係数を備えた2次の変数として多項式a(z)=a0+a1 *z+a2 *z2の係数により、伝送すべき3ビットの情報を表す(多項式a(z)の次数は、e1が寄与し、そこから1を差し引く次元単位の数に対応する)。多項式a(z)は、ランダム・アクセス・メモリ104のレジスタ「a(z)」に格納される。次に、操作302中に、中央装置106はv1(x,y)=a(x*y)を定義する(行列e1の傾斜1の対角集合は定数ではないのでx1 *y1は多項式a(z)に入るように選択され、非定数であるというプロパティを確認する非無限傾斜mの対角集合が検討された場合、xm *y1が選択されたはずであり、非定数であるというプロパティを確認する無限傾斜mの対角集合が検討された場合、xが選択されたはずである)。多項式v1(x,y)はランダム・アクセス・メモリ104のレジスタ「v1(x,y)」に格納される。
【0132】
操作303中に、行列e3について同じように中央装置106は、2次の変数として多項式b(z)をb(z)=b0+b1 *z+b2 *z2として定義する(以前と同様、行列e3は3つの次元単位に寄与するからである)。多項式b(z)はランダム・アクセス・メモリ104のレジスタ「b(z)」に格納される。次に、操作304中に、中央装置106はv2(x,y)=b(x*y)を定義する(以前と同様、行列e3の傾斜1の対角集合は定数ではないからである)。多項式v2(x,y)はランダム・アクセス・メモリ104のレジスタ「v2(x,y)」に格納される。
【0133】
操作305中に、行列e10について同様に、2次の変数として多項式c(z)をc(z)=c0+c1 *z+c2 *z2として定義する(以前と同様、行列e10は3つの次元単位に寄与するからである)。多項式c(z)は、ランダム・アクセス・メモリ104のレジスタ「c(z)」に格納される。次に、操作306中に、中央装置106はv3(x,y)=c(y)を定義する(行列e10の傾斜0の対角集合は定数ではないのでx0*y1は多項式c(z)に入るように選択される)。多項式v3(x,y)はランダム・アクセス・メモリ104のレジスタ「v3(x,y)」に格納される。
【0134】
操作307中に、行列e0について同様に中央装置は、0次の変数として多項式d(z)をd(z)=d0として定義する(行列e0は1つの次元単位に寄与するからである)。d(z)はランダム・アクセス・メモリ104のレジスタ「d(z)」に格納される。次に、操作308中に、中央装置106はv4(x,y)=d0を定義する。多項式v4(x,y)はランダム・アクセス・メモリ104のレジスタ「v4(x,y)」に格納される。
【0135】
操作309中に、中央装置は以下のように多項式を計算する。
【0136】
v(x,y)=v1(x,y)*e1(x,y)+v2(x,y)*e3(x,y)+v3(x,y)*e10(x,y)+v4(x,y)*e0(x,y)多項式v(x,y)はランダム・アクセス・メモリ104のレジスタ「v(x,y)」に格納される。コーディングが実行されると、操作310中に受信機が把握している順序で多項式v(x,y)の記号vi,jが伝送される。
【0137】
次に、操作300を繰り返す。
【0138】
全体的な参照番号20によって図3に示す訂正デコーディング装置はブロック図形式で示されている。これは、アドレス/データ・バス202によって相互接続された
・中央演算処理装置206と、
・ランダム・アクセス・メモリRAM204と、
・読取り専用メモリROM205と、
・訂正デコーディング装置が処理、格納、または伝送しなければならない情報を受信するために使用する入力ポート203と、
・訂正デコーディング装置がデコードした2進情報記号のシーケンスを伝送できるようにする出力ポート207とを有し、
さらに、バス202から独立して、
・コーディング装置の送信アンテナ110によって送信された信号を表す信号を受信する受信アンテナと、受信した信号の自動利得制御およびベースバンドへの転置を実行する極超短波インタフェース回路とを有する受信機209と、
・入力ポート203に接続された復調器210であって、受信機209によって受信され、図1に示す装置による64状態直交振幅変調によって事前に変調された記号のシーケンスを表す記号の2つのシーケンスの形で復調を実行する復調器210と、
・出力ポート207に接続されたディスプレイ画面208と、
・入力ポート203に接続されたキーボード201とを有する。
【0139】
ただし、復調器210は、いわゆる「ハード」復調の場合の整数のシーケンスまたはいわゆる「ソフト」復調の場合のいずれかの小数のシーケンスを供給できることに留意されたい。したがって、ハード復調を行うかソフト復調を行うかに応じて、受信した記号のシーケンスは、伝送チャネル上で使用するアルファベットの数値として、または、たとえば、伝送した信号に関する確率性の値など、より多様な値を取ることができる数値としてそれぞれ推定される。
【0140】
図3に示す要素のそれぞれは、訂正および情報デコーディング・システムならびにより一般的には情報処理システムの当業者にとって周知のものである。したがって、これらの要素についてはここで説明しない。
【0141】
ランダム・アクセス・メモリ204は、これ以降の説明において、そこに格納する値のデータと同じ名前を有するメモリ・レジスタにデータ、変数、中間処理結果を格納する。ランダム・アクセス・メモリ204は、特に
・レジスタ「r(x,y)」と、
・レジスタ「
【0142】
【数12】
(以下u^とする)(x,y)」と、
・レジスタ「u^a(x,y)」と、
・レジスタ「u^b(x,y)」と、
・レジスタ「u^c(x,y)」と、
・レジスタ「u^d(x,y)」と、
・レジスタ「計算」であって、一連のデコードした2進データが格納され、その連続が出力ポート207上に置かれる予定であるレジスタとを含む。
【0143】
読取り専用メモリ205は、これ以降の説明において、そこに格納する値のデータと同じ名前を有するメモリ・レジスタにデータを格納する。読取り専用メモリ205は、特に
・「プログラム」というレジスタ内の中央演算処理装置206のオペレーティング・プログラムと、
−多項式e0(x,y)、e1(x,y)、e3(x,y)、e10(x,y)とを含む。
【0144】
読取り専用メモリ205は、コンピュータ又はマイクロプロセッサによって読取り可能な情報記憶媒体を構成する。これは、本発明の目的である訂正デコーディング方法の実現を可能にするコンピュータ・プログラムの命令を格納する。
【0145】
変形態様によれば、読取り専用メモリ205は、部分的又は全体的に取外し可能であり、例えば、磁気テープ、ディスケット、またはCD−ROMを含む。
【0146】
中央演算処理装置206は、図4に記載する流れ図を実現するように適合されている。図示していない初期設定操作中に、図3に示す受信装置が初期設定される。
【0147】
対応する受信信号の復調後、受信機では、ランダム・アクセス・メモリ204のレジスタ「r(x,y)」に格納された信号r(x,y)が使用可能になる。
【0131】
次に、特に加法性白色ガウス雑音を伴う理論上のチャネルに近いチャネルに適合され、本実施形態により実行されるエラー訂正およびデコーディングについて説明する。
【0148】
ここでも、長さ49次元10の同じ符号の利用を考える。
【0149】
各符号語は、2進数の7×7行列または多項式:
【0150】
【数13】
で表わされる。また
【0151】
【数14】
を49個の受信語の多項式表現とする。これは、送信語vijを表わす電気信号に対して雑音の作用を受けて得られた数である。
【0152】
今、考察している符号語の例では、全ての行、全ての列、傾斜1の全ての対角成分が、(7、4)ハミング符号の符号語である。r(x,y)を復号するには、まず、0≦i,j≦6に対して、Ti,j=log[f(ri,j)]を(i,j)成分とする7×7行列Tを構成し、以下の反復手順を適用する。
【0153】
ステップ1:Tの行を対象とする。インデックス(i,j)のあらゆるペアについて、対応する6個のTi,k,k≠jから、vi,j=1である確率とvi,j=0である確率との比率を計算する。1より大なる値を底とするこの比率の対数をJi,jで表わし、Ji,jを成分とする7×7行列をJで表わす。K1=Jと設定する。第1の復号ステップで生成されたこの行列K1は、第1のステップで得られた外部情報の行列である。
【0154】
ステップ2:行列T及びK1をステップ2に対する先験的情報として、これらの行列の列を対象とする。L=T+K1と設定する。
【0155】
インデックス(i,j)のあらゆるペアについて、6個の値Lk,j,k≠iから、vi,j=1である確率とvi,j=0である確率との比率を計算する。1より大なる値を底とするこの比率の対数をJi,jで表わし、Ji,jを成分とする7×7行列をJで表わす。K2=Jと設定する。第2の復号ステップで生成されたこの行列K2は、第2のステップで得られた外部情報の行列である。
【0156】
ステップ3:行列T及びK2をステップ3に対する先験的情報として、これらの行列の列を対象とする。L=T+K2と設定する。
【0157】
インデックス(i,j)のあらゆるペアについて、6個の値Li+k,j+k,k=1,・・・,6から、vi,j=1である確率とvi,j=0である確率との比率を計算する。1より大なる値を底とするこの比率の対数をJi,jで表わし、Ji,jを成分とする7×7行列をJで表わす。K3=Jと設定する。第3の復号ステップで生成されたこの行列K3は、第3のステップで得られた外部情報の行列である。
【0158】
より一般的には、m≧4なるステップmを説明できる。
【0159】
ステップm:行列T及びKm−1から、モジュロ3におけるmの剰余は、1、2、0のいずれかに等しいということより、L=T+Km−1の行、列、主対角成分のいずれかに基づいて行列Jを得る。最後にKm=Jと設定する。 事前に選択した回数のステップを実行した後、以下の計算を行なう。
【0160】
D=T+Ks+Ks−1+Ks−2
もしDi,j≧0ならば、vi,jは1であると推定され、Di,j<0ならば、vi,jは1であると推定される。
【0161】
次に、操作400中に、多項式u^(x,y)はランダム・アクセス・メモリ204のレジスタ「u^(x,y)」に格納される。これは、前述の多項式a(z)、b(z)、c(z)、d(z)によって表される伝送情報を回復するために多項式u^(x,y)のデコーディングを実行するということである。
【0162】
これらの多項式を推定するために、以下の手順を実行する。
【0163】
多項式u^(x,y)がそのコードに属さない場合、多項式u^(x,y)は除去される。というのは、この場合、エラー訂正は確かに有効ではなかったからである。 そうではない場合、以下の操作を実行する。
【0164】
操作401中に、u^a(x,y)=u^(x,y)*e1(x,y)が計算される。次に、多項式u^a(x,y)はランダム・アクセス・メモリ204のディレクトリ「u^a(x,y)」に格納される。次に、多項式u^a(x,y)において0〜6の間の整数指数iの場合の単項式x6yiの係数の値のいずれか1つをそれに割り当てることにより係数a2が推定され、実際にこれらの7つの係数は必ず等しくなる。同様に、多項式u^a(x,y)において0〜6の間の整数指数iの場合の単項式x5yiの係数の値のいずれか1つをそれに割り当てることにより係数a1が推定され、多項式u^a(x,y)において0〜6の間の整数指数iおよびjの場合にモジュロ2で取られた単項式x4yiおよびx6yiの係数の合計として得られる値のいずれか1つをそれに割り当てることにより係数a0が推定される。この指数a0、a1、a2はランダム・アクセス・メモリ204のレジスタ「計算」に格納される。
【0165】
操作402中に、u^b(x,y)=u^(x,y)*e3(x,y)が計算される。次に、多項式u^b(x,y)はランダム・アクセス・メモリ204のディレクトリ「u^b(x,y)」に格納される。次に、多項式u^b(x,y)において0〜6の間の整数指数iの場合の単項式y6xiの係数の値のいずれか1つをそれに割り当てることにより係数b2が推定され、実際にこれらの7つの係数は必ず等しくなる。同様に、多項式u^b(x,y)において0〜6の間の整数iの場合の単項式y5xiの係数の値のいずれか1つをそれに割り当てることにより係数b1が推定され、多項式u^b(x,y)において0〜6の間の整数指数iおよびjの場合にモジュロ2で取られた単項式y4xiおよびy6xiの係数の合計として得られる値のいずれか1つをそれに割り当てることにより指数b0が推定される。この指数b0、b1、b2はランダム・アクセス・メモリ204のレジスタ「計算」に格納される。
【0166】
操作403中に、u^c(x,y)=u^(x,y)*e10(x,y)が計算される。次に、多項式u^c(x,y)はランダム・アクセス・メモリ204のディレクトリ「u^c(x,y)」に格納される。次に、多項式u^c(x,y)において0〜6の間の整数iの場合にモジュロ(x7+1)で取られた単項式x6−iyiの係数の値のいずれか1つをそれに割り当てることにより指数c2が推定され、実際にこれらの7つの係数は必ず等しくなる。同様に、多項式u^c(x,y)において0〜6の間の整数iの場合にモジュロ(x7+1)で取られた単項式x5−iyiの係数の値のいずれか1つをそれに割り当てることにより指数c1が推定され、多項式u^c(x,y)において0〜6の間の整数iおよびjの場合にモジュロ(x7+1)で取られた単項式x4−iyiおよびx6−jyiの係数についてモジュロ2で取られた合計として得られる値のいずれか1つをそれに割り当てることにより指数c0が推定される。この指数c0、c1、c2はランダム・アクセス・メモリ204のレジスタ「計算」に格納される。
【0167】
操作404中に、u^d(x,y)=u^(x,y)*e0(x,y)が計算される。次に、u^d(x,y)はランダム・アクセス・メモリ204のディレクトリ「u^d(x,y)」に格納される。次に、多項式u^d(x,y)の係数の値のいずれか1つをそれに割り当てることにより係数d0が推定され、実際に多項式u^d(x,y)の49個の係数は必ず等しくなる。係数d0はランダム・アクセス・メモリ204のレジスタ「計算」に格納される。このようにしてデコーディングが実行されると、操作405中に要素a0、a1、a2、b0、b1、b2、c0、c1、c2、d0が画面208上に表示される。
【0168】
次に、操作400を繰り返す。
【0169】
上記の特定の例に関してデコーディング方法を完全に説明した。
【0170】
一般に、図4に関連して、デコーディングの場合に以下の手順を実行する。
【0171】
第1の変形態様によれば、まず、伝送品質基準は伝送したワードv(x,y)の訂正後のエラーの尤度の逆数であると想定する。
【0172】
この場合、他にいかなる予防措置も施さずに、以下のように多項式u^(x,y)を情報記号のシーケンスに変換することができる。コードを与えると、v(x,y)の因数分解で現れる可能性のある各最小ベキ等e(x,y)ごとに、xNV−1およびyNH−1を法としてv(x,y),u^(x,y)*e(x,y)が計算される(この場合、NH=NV=7)。
【0173】
コードの構造を考慮すると、この乗算の結果は多項式a(e)(x,y)*e(x,y)によって示され、多項式a(e)(x,y)は、適切に選択した指数iおよびjについてz=xiyjを設定することにより、低次の多項式a(e)(z)によって得られ(使用する例では次数が0または2になることが分かっている)、このような適切な選択は、0〜N−1の間の整数tについてxN−1およびyN−1を法としてxt*iyt*jの係数がe(x,y)においてすべて同一にはならないように選択された(i,j)の対である。可能な多項式a(e)(z)の数は少ないので、多項式a(e)(z)の識別は簡単である。たとえば、使用する例ではe(x,y)がベキ等e0(x,y)である場合にu^(x,y)*e(x,y)の任意のビットを取るかまたはe(x,y)がe0(x,y)とは異なる最小ベキ等である場合にu^(x,y)*e(x,y)の非同一記号の事前に選択された対角集合の3つの連続ビットを取ることにより、読取り専用メモリによって行うことができる。この場合も、多項式a(e)(z)の集合の係数によって伝送した情報が与えられる。
【0174】
第2の変形態様によれば、選択した品質基準は、推定した情報ビット当たりのエラーの尤度の基準であると想定する。この場合、コーダ・レベルで特定の予防措置を講じることが重要である。というのは、システマティック・コーダ、すなわち、情報記号を変更せずにコード化ワード内の所与の選択位置でその情報記号を再生するコーダを選択することが有利であるからである。この問題を解決する方法は、H.ImaiおよびS.Sakataによって研究されている(この主題については、1977年にInformation and Control、vol.34、1〜21ページに発表されたH.Imaiの「A theory of two dimensional cyclic codes」という論文または1981年にIEEE Transactions on Information Theory、vol 27、556〜565ページに発表されたS.Sakataの「On determining the independent point set for doubly periodic arrays and encoding two−dimensional cyclic codes and their duals」という論文を参照すること)。当然のことながら、システマティック・コーダを使用する場合、コーディング操作は、少なくとも理論上は少々複雑になる。これに対して、デコーディング操作は簡略化される。というのは、多項式u^(x,y)の係数からの情報記号の計算は単純な読取りによって行われ、したがって、前述の操作401〜404をもはや含まないからである。
【0175】
ここでは説明しない同様の実施の形態では、プロパティP2(それぞれ、プロパティP3またはプロパティP4)を確認する基底Mの行列のイデアルを使用する。プロパティP1を確認する基底Mの行列のイデアルを伴う実施の形態により、コーディングおよび伝送方法を理解することが可能になる。すなわち、この例では、49ビットのメッセージとともに10ビットの情報を伝送することができる。プロパティP2(それぞれ、プロパティP3またはプロパティP4)を確認する基底Mの行列のイデアルを取ることにより、効率は増大する。
【0176】
また、以下の実施の形態でも、効率を増大することが可能になる。したがって、同様に、Nv=Nh=N=31の場合について検討することができる。この場合も理論上の状況の表記法および規定を使用する。
【0177】
特に、このような表記法を適用すると、集合Eが次元31*31=961のイデアルであることが分かる。
【0178】
以下の関数
f(x)=1+(x5+x10+x20+x9+x18)+(x7+x14+x28+x25+x19)+(x11+x22+x13+x26+x21)および
s(x)=Σi=0〜30xiと、
以下の集合
Ma={1,3,5,7,11,15}および
Mb={0,1,2,3,...29,30}とを定義する。
【0179】
集合Maに属す要素aと集合Mbに属す要素bとを備えたタイプf(xa)*s(xby)の多項式を定義する。このタイプの多項式は186個存在する。
【0180】
集合Maに属す要素aを備えたタイプf(ya)*s(x)の多項式を定義する。このタイプの多項式は6個存在する。
【0181】
1〜192の間のlについてelによって示される、全部で192個の異なる多項式がすでに定義されている。
【0182】
上記の多項式とは別個の多項式e0(x,y)=s(x)*s(y)も定義する。0〜192の間の指数lの場合の193個の多項式elは集合Eのベキ等最小多項式である。理論部分で明記したように、これらは集合Eの基底を形成する。
【0183】
コードBは(31,26)ハミング・コードであるものとして定義され、コードB0は、モジュロ2で取られた集合{0,1}の31項目集合の要素の合計が0になる場合にその31項目集合がそのコードに含まれるものとして定義される。
【0184】
0になるかあるいは無限大または31に対して素の整数になる要素rが考慮され、31*31平方行列は、傾斜rのそのすべての対角集合がコードBに含まれる場合にプロパティPrを確認するものであると言われる。プロパティPrを確認する行列の集合がイデアルであり、このイデアルがCrとして示されることを立証することができる。
【0185】
行列の集合をざっと調べる単純なコンピュータ・プログラムを使用することにより、要素rが形式5*2tまたは11*2tである場合にイデアルCrの次元krが571になることを確認することができる。要素rが上記の形式ではない場合、イデアルCrの次元krはせいぜい566になる。
【0186】
要素rが形式5*2tまたは11*2tである場合、イデアルCrは115個の多項式によって生成される。すなわち、多項式e0(x,y)とそのうちの114個は、aが集合Maに属し、bが集合Mbに属すタイプf(xa)*s(xby)のものであるかまたはaが集合Maに属すタイプf(ya)*s(x)のものである。多項式e0(x,y)はイデアルCrの次元の1つの単位に寄与する。残りの114個の多項式はそれぞれイデアルCrの次元の5つの単位に寄与し、したがって、次元571=5*144+1が正しく回復される。
【0187】
r=5:k5が571になると解釈して、一例においてこれを説明する。以下の表Iは、前に導入したタイプの多項式を定義することを可能にする要素対a、bまたは単集合aを示し、多項式e0(x,y)以外の114個の別個の多項式を列挙するものである。
表1:
a=3かつbが{0,1,3,4,5,6,8,9,10,11,13,15,16,17,18,20,21,22,23,26,27,29}に属す;
a=5かつbが{1,2,3,4,5,6,7,8,9,10,12,14,15,17,19,20,23,24,25,28,29,30}に属す;
a=7かつbが{0,1,2,4,5,7,9,10,13,14,15,16,18,19,20,21,23,25,26,27,30}に属す;
a=11かつbが{0,1,2,3,4,6,7,8,11,12,13,16,17,19,21,22,24,26,27,28,29,30}に属す;
a=15かつbが{0,3,5,10,11,12,14,15,17,18,19,20,22,23,24,25,26,27,28,29,30}に属す;
aが{3,5,7,11,15}に属す
2つの別個の要素r1およびr2について検討する。すなわち、要素r1(それぞれ要素r2)は0または無限大になるかあるいは31に対して素の整数になり、傾斜r1またはr2のそのすべての対角集合がコードBに含まれる場合、31*31平方行列はプロパティPr1,r2を確認するものであると言われる。プロパティPr1,r2を確認する行列の集合がイデアルであり、このイデアルがCr1,r2として示されることを立証することができる。
【0188】
この場合も行列の集合をざっと調べる単純なコンピュータ・プログラムを使用することにより、以下の命題が確認される。すなわち、形式Cr1,r2のイデアルの次元がせいぜい486であり、次元486の形式Cr1,r2のイデアルが存在する。
【0189】
r1およびr2は上記のように定義された整数とし、イデアルCr1,r2が次元486のものになるようにする。このイデアルは97個の多項式によって生成される。すなわち、多項式e0(x,y)と、要素aが集合Maに属し、要素bが集合Mbに属すタイプf(xa)*s(xby)または要素aが集合Maに属すタイプf(ya)*s(x)の97個の別個の多項式である。多項式e0(x,y)はイデアルCr1,r2の次元の1つの次数に寄与する。残りの97個の多項式はそれぞれイデアルCr1,r2の次元の5つの単位に寄与し、したがって、次元486=5*97+1が正しく回復される。
【0190】
r1=5およびr2=10になると解釈して、一例においてこれを説明する。以下の表IIは、前に導入したタイプの多項式を定義することを可能にする要素対a、bまたは単集合aを示し、多項式e0(x,y)以外の97個の多項式を列挙するものである。
表2:
a=3かつbが{0,1,3,5,6,8,9,10,11,13,15,16,18,20,21,22,23,26,27}に属す;
a=5かつbが{2,3,4,6,7,8,9,10,12,14,15,17,19,20,24,25,28,29,30}に属す;
a=7かつbが{0,1,2,4,5,7,9,10,14,15,18,19,20,21,23,25,26,28,30}に属す;
a=11かつbが{0,1,2,3,4,6,7,8,11,12,13,16,17,21,22,24,26,27,29}に属す;
a=15かつbが{0,3,5,10,15,17,19,20,22,23,24,25,27,28,29,30}に属す;
aが{3,5,7,11,15}に属す
次に対内で別個の3つの要素r1、r2、r3について検討すると、r1(それぞれr2およびr3)は0または無限大になるかあるいは31に対して素の整数になる。傾斜r1またはr2またはr3のそのすべての対角集合がコードBに含まれる場合、31*31平方行列はプロパティPr1,r2,r3を確認するものであると言われる。プロパティPr1,r2,r3を確認する行列の集合がイデアルであり、このイデアルがCr1,r2,r3として示されることを立証することができる。
【0191】
この場合も行列の集合をざっと調べる単純なコンピュータ・プログラムを使用することにより、以下の命題が確認される。すなわち、形式Cr1,r2,r3のイデアルの次元がせいぜい411であり、次元411の形式Cr1,r2,r3のイデアルが存在する。
【0192】
r1、r2、r3は上記のように定義された整数とし、イデアルCr1,r2,r3が次元411のものになるようにする。このイデアルは82個の多項式によって生成される。すなわち、多項式e0(x,y)と、要素aが集合Maに属し、要素bが集合Mbに属すタイプf(xa)*s(xby)または要素aが集合Maに属すタイプf(ya)*s(x)の82個の別個の多項式である。多項式e0(x,y)はCr1,r2,r3の次元の1つの単位に寄与する。残りの82個の多項式はそれぞれCr1,r2,r3の次元の5つの単位に寄与し、したがって、次元411=5*82+1が正しく回復される。
【0193】
r1=1、r2=10、r3=21になると解釈して、一例においてこれを説明する。以下の表IIIは、前に導入したタイプの多項式を定義することを可能にする要素対a、bまたは単集合aを示し、多項式e0(x,y)以外の82個の多項式を列挙するものである。
表3:
a=3かつbが{0,1,2,3,5,6,10,11,12,13,16,21,22,23,27,30}に属す;
a=5かつbが{2,4,6,7,8,9,10,15,17,18,19,20,24,25,28,29,30}に属す;
a=7かつbが{0,1,5,8,9,10,11,15,19,20,21,23,26,28,29,30}に属す;
a=11かつbが{1,2,3,4,7,12,13,14,16,17,22,23,24,25,27,29}に属す;
a=15かつbが{0,7,10,13,15,19,20,21,24,27,28,30}に属す;
aが{3,5,7,11,15}に属す
次に対内で別個の4つの要素r1、r2、r3、r4について検討すると、r1(それぞれr2、r3、r4)は0または無限大になるかあるいは31に対して素の整数になる。傾斜r1またはr2またはr3またはr4のそのすべての対角集合がコードBに含まれる場合、31*31平方行列はプロパティPr1,r2,r3,r4を確認するものであると言われる。プロパティPr1,r2,r3,r4を確認する行列の集合がイデアルであり、このイデアルがCr1,r2,r3,r4として示されることを立証することができる。
【0194】
この場合も行列の集合をざっと調べる単純なコンピュータ・プログラムを使用することにより、以下の命題が確認される。すなわち、形式Cr1,r2,r3 ,r4のイデアルの次元がせいぜい346であり、次元346の形式Cr1,r2,r3,r4のイデアルが存在する。
【0195】
r1、r2、r3、r4は上記のように定義された整数とし、イデアルCr1,r2,r3,r4が次元346のものになるようにする。このイデアルは70個の多項式によって生成される。すなわち、多項式e0(x,y)と、要素aが集合Maに属し、要素bが集合Mbに属すタイプf(xa)*s(xby)または要素aが集合Maに属すタイプf(ya)*s(x)の69個の別個の多項式である。多項式e0(x,y)はCr1,r2,r3,r4の次元の1つの単位に寄与する。残りの69個の多項式はそれぞれCr1,r2,r3,r4の次元の5つの単位に寄与し、したがって、次元346=5*69+1が正しく回復される。
【0196】
r1=1、r2=5、r3=10、r4=18になると解釈して、一例においてこれを説明する。以下の表IVは、前に導入したタイプの多項式を定義することを可能にする要素対a、bまたは単集合aを示し、多項式e0(x,y)以外の69個の多項式を列挙するものである。
表4:
a=3かつbが{0,3,5,9,10,11,13,16,18,21,22,23,27}に属す;
a=5かつbが{2,3,4,6,7,10,15,17,19,20,24,25,28,30}に属す;
a=7かつbが{0,1,2,5,9,10,14,15,19,20,23,26,28}に属す;
a=11かつbが{0,1,2,3,4,8,12,13,16,17,22,24,26,29}に属す;
a=15かつbが{0,10,15,23,24,25,27,28,29,30}に属す;
aが{3,5,7,11,15}に属す
イデアルCr1(それぞれ、Cr1,r2、Cr1,r2,r3、またはCr1,r2,r3,r4)を使用すると、Nh=Nv=N=7の場合にプロパティP1を確認する基底Mの行列のイデアルを使用する実施の形態について説明したものと同様のコーディングおよび伝送方法が実現される。当然のことながら、このようなすべての実施の形態は、本発明によるコーディングおよび伝送方法の非制限的例示として示すものである。
【0197】
ただし、mが3以上の場合、Bhとして示され、hが1、2などになり、長さnが2m−1になり、次元kがn−mになるような複数の同等かつ巡回式のハミング・コードが存在することに留意されたい。そのそれぞれは、互いに異なる、いわゆるm次の原始生成元多項式に対応する(たとえば、W.W.Petersonの「Error correcting codes」という書籍、MITPress、1961年を参照のこと)。前述の構成では、Bとして示す同じハミング・コードがすべての傾斜riについて使用されていた。変形態様によれば、この制約は適用されず、様々な傾斜ri用として異なるハミング・コードBhが選択される。より一般的には、前述の方法はコードの構築に向いており、そのワードは、uが一定の整数になり、各整数iが1〜uの間である場合に、そのワードの傾斜riのすべての対角集合が長さNの巡回コードBiに含まれるように傾斜riが指定されるようなN*Nテーブルになる。
【0198】
前述の対応するデコーディングと合わせて用いられている限り、これらのすべてのコーディング・システムは本発明の一部を形成し、当業者であれば、それらを容易に実現することだろう。
【0199】
【発明の効果】
以上説明したように本発明によれば、伝送効率、訂正効率、及びでコーディング効率を高めて情報を伝送できるという効果がある。
【図面の簡単な説明】
【図1】本実施形態に係るコーディング装置を示す図である。
【図2】図1に示すコーディング装置の操作の流れ図である。
【図3】本実施の形態に係る訂正デコーディング装置を示す図である。
【図4】図3に示すデコーディング装置の操作の流れ図である。
Claims (24)
- 物理量を表し、第1の2進記号によって表される情報を伝送する方法であって、
計算した2進記号と呼ばれる第2の2進記号を前記情報から計算する操作(301〜309)を含むコーディング操作であって、平方テーブル内に配置するために前記計算した2進記号が提供される操作と、
前記計算した2進記号を変調する操作と変調された記号を受信した記号と呼ばれる記号に復調する操作とを含む、前記計算した2進記号を転送する操作と、
前記受信した記号を訂正し、訂正した記号と呼ばれる2進記号を提供する操作と、
前記訂正した記号から情報をデコーディングする操作とを有し、
前記計算した2進記号ごとに、この計算した2進記号を含み、この計算した2進記号が得られなくてもそれぞれがそれ自体で前記計算した2進記号を再計算できるようにする、少なくとも3つの別個の対角集合がテーブル内に存在し、
前記変調操作は軟判定方法によって行なわれ、
前記訂正操作は前記別個の対角集合のそれぞれにつき反復して実行されることを特徴とする方法。 - 計算操作が、
第1の2進記号を係数として表わす複数の2変量多項式を定義する操作(301〜308)と、
前記計算した2進記号を、前記定義した多項式のそれぞれと、2変量多項式の集合の基底をなす複数の所定の多項式の対応する1つとの積の総和として得られた多項式の係数の形で計算する操作(309)とを有することを特徴とする請求項1に記載の方法。 - デコーディング操作が、
前記訂正した記号を表わす多項式と前記所定の多項式のそれぞれとを乗じて積多項式を計算する操作(401〜404)と、
前記積多項式の特定の係数に基づいて、前記定義した多項式の係数として第1の2進記号を推定する操作と、
前記推定した係数をデコードした情報として出力する操作(405)とを有することを特徴とする請求項2に記載の方法。 - 訂正操作がそれぞれの対数尤度比を決定し、前記訂正した記号がそれぞれの対数尤度比の総和に基づいて推定されることを特徴とする請求項1乃至3のいずれか1項に記載の方法。
- 計算操作中に、どのような情報についても計算した2進記号のテーブルがアーベル・コードのワードになるようなアーベル・コードが存在することを特徴とする請求項1乃至4のいずれか1項に記載の方法。
- 計算操作中に、零または無限あるいはnに対して素の整数である要素rについて、傾斜rの各対角集合がBCHコードのワードになるように、2以上の整数nが存在することを特徴とする請求項1乃至5のいずれか1項に記載の方法。
- 計算操作中に、零または無限あるいは整数nに対して素の整数である要素peについて、傾斜peの各対角集合がタイプ(n,k)のハミング・コードのワードになるように、2以上の整数m、2m−1に等しい整数n、n−mに等しい整数kが存在することを特徴とする請求項1乃至6のいずれか1項に記載の方法。
- 計算操作中に、pが零または無限あるいは整数nに対して素の整数であり、qが零または無限あるいは整数nに対して素の整数である少なくとも2つの要素pおよびqについて、傾斜pの各対角集合および傾斜qの各対角集合がタイプ(n,k)の1つ、かつ同一のハミング・コードのワードになるように、2以上の整数m、2m−1に等しい整数n、n−mに等しい整数kが存在することを特徴とする請求項1乃至7のいずれか1項に記載の方法。
- 計算操作中に、零または無限あるいは整数nに対して素の整数である要素sについて、傾斜sの各対角集合がタイプ(n,n−1)のパリティ・コードのワードになるように、2以上の少なくとも1つの整数nが存在することを特徴とする請求項1乃至8のいずれか1項に記載の方法。
- 物理量を表し、第1の2進記号によって表される情報を伝送するための装置であって、
計算した2進記号と呼ばれる第2の2進記号を前記情報から計算する計算手段(104、105、106)を含むコーディング手段であって、平方テーブル内に配置するために前記計算した2進記号が提供される手段と、
前記計算した2進記号を変調する変調手段と変調された記号を受信した記号と呼ばれる記号に復調する手段とを含む、前記計算した2進記号を転送する手段と、
前記受信した記号を訂正し、訂正した記号と呼ばれる2進記号を提供する訂正手段と、
前記訂正した記号から情報をデコーディングする手段とを有し、
前記計算した2進記号ごとに、この計算した2進記号を含み、この計算した2進記号が得られなくてもそれぞれがそれ自体で前記計算した2進記号を再計算できるようにする、少なくとも3つの別個の対角集合がテーブル内に存在するように前記計算手段が適合されていて、
前記変調手段は、軟判定方法を実現するように適合されていて、
前記訂正手段は前記別個の対角集合のそれぞれにつき反復訂正方法を実現するように適合されていることを特徴とする装置。 - 前記計算手段が、
第1の2進記号を係数として表わす複数の2変量多項式を定義する手段と、
前記計算した2進記号を、前記定義した多項式のそれぞれと、2変量多項式の集合の基底をなす複数の所定の多項式の対応する1つとの積の総和として得られた多項式の係数の形で計算する手段とを有することを特徴とする請求項10に記載の装置。 - 前記デコーディング手段が、
前記訂正した記号を表わす多項式と前記所定の多項式のそれぞれとを乗じて積多項式を計算する手段と、
前記積多項式の特定の係数に基づいて、前記定義した多項式の係数として第1の2進記号を推定する手段と、
前記推定した係数をデコードした情報として出力する手段とを有することを特徴とする請求項11に記載の装置。 - 前記訂正手段が、それぞれの対数尤度比を決定し、前記訂正した記号をそれぞれの対数尤度比の総和に基づいて推定するように適合されていることを特徴とする請求項10乃至12のいずれか1項に記載の装置。
- どのような情報についても計算した2進記号のテーブルがアーベル・コードのワードになるようなアーベル・コードが存在することを特徴とする請求項10乃至13のいずれか1項に記載の装置。
- 零または無限あるいはnに対して素の整数である要素rについて、傾斜rの各対角集合がBCHコードのワードになるように、2以上の整数nが存在することを特徴とする請求項10乃至14のいずれか1項に記載の装置。
- 零または無限あるいは整数nに対して素の整数である要素peについて、傾斜peの各対角集合がタイプ(n,k)のハミング・コードのワードになるように、2以上の整数m、2m−1に等しい整数n、n−mに等しい整数kが存在することを特徴とする請求項10乃至15のいずれか1項に記載の装置。
- pが零または無限あるいは整数nに対して素の整数であり、qが零または無限あるいは整数nに対して素の整数である少なくとも2つの要素pおよびqについて、傾斜pの各対角集合および傾斜qの各対角集合がタイプ(n,k)の1つかつ同一のハミング・コードのワードになるように、2以上の整数m、2m−1に等しい整数n、n−mに等しい整数kが存在することを特徴とする請求項10乃至15のいずれか1項に記載の装置。
- 零または無限あるいは整数nに対して素の整数である要素sについて、傾斜sの各対角集合がタイプ(n,n−1)のパリティ・コードのワードになるように、2以上の整数nが存在することを特徴とする請求項10乃至17のいずれか1項に記載の装置。
- それが請求項10乃至18のいずれか1項に記載の装置を含むことを特徴とするビデオカメラ。
- それが請求項10乃至18のいずれか1項に記載の装置を含むことを特徴とするファクシミリ装置。
- それが請求項10乃至18のいずれか1項に記載の装置を含むことを特徴とする写真機。
- それが請求項10乃至18のいずれか1項に記載の装置を含むことを特徴とするコンピュータ。
- コンピュータ又はマイクロプロセッサにより読み取ることができる情報を格納し、コンピュータプログラムの命令を格納する記憶媒体であって、請求項1乃至請求項10のいずれかに1項に記載の方法の実現を可能にすることを特徴とする記憶媒体。
- 全体または一部が着脱自在であることを特徴とする請求項23に記載の記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9809100 | 1998-07-16 | ||
FR9809100 | 1998-07-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000101452A JP2000101452A (ja) | 2000-04-07 |
JP4155539B2 true JP4155539B2 (ja) | 2008-09-24 |
Family
ID=9528683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20373499A Expired - Fee Related JP4155539B2 (ja) | 1998-07-16 | 1999-07-16 | 情報伝送方法および装置、記憶媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6543021B1 (ja) |
EP (1) | EP0973268B1 (ja) |
JP (1) | JP4155539B2 (ja) |
DE (1) | DE69905987T2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2795255B1 (fr) * | 1999-06-18 | 2001-11-09 | Canon Kk | Procede et dispositif de pre-codage de donnees |
DE10012874A1 (de) | 2000-03-16 | 2001-09-27 | Infineon Technologies Ag | Turbo-Decodierer und Turbo-Decodierverfahren |
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 |
FR2837331B1 (fr) * | 2002-03-13 | 2004-06-18 | Canon Kk | Procede d'entrelacement d'une sequence binaire |
FR2845220B1 (fr) * | 2002-09-30 | 2004-12-17 | Canon Kk | Procedes et dispositifs pour le decodage des codes de geometrie algebrique a un point |
FR2849514A1 (fr) * | 2002-12-26 | 2004-07-02 | Canon Kk | Code de geometrie algebrique adapte aux erreurs en rafale |
KR100461544B1 (ko) * | 2003-02-27 | 2004-12-18 | 한국전자통신연구원 | 고차원의 곱부호를 이용한 레이트 호환가능 부호 구성 방법 |
FR2853976B1 (fr) * | 2003-04-16 | 2005-06-03 | Canon Kk | Codage d'informations par code de geometrie algebrique offrant deux options de decodage |
FR2858141A1 (fr) * | 2003-07-21 | 2005-01-28 | Canon Kk | Codage d'informations par codes de reed-solomon raccourcis |
FR2860360B1 (fr) * | 2003-09-29 | 2005-12-09 | Canon Kk | Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon |
FR2863794B1 (fr) * | 2003-12-16 | 2006-03-03 | Canon Kk | Procedes et dispositifs de localisation d'erreurs pour les codes de geometrie algebrique |
FR2865083B1 (fr) * | 2004-01-13 | 2006-04-07 | Canon Kk | Decodage pour code de geometrie algebrique associe a un produit fibre. |
FR2866998B1 (fr) * | 2004-02-27 | 2006-05-19 | Canon Kk | Decodage et correction d'erreurs pour codes de geometrie algebrique |
FR2867925B1 (fr) * | 2004-03-22 | 2006-05-19 | Canon Kk | Codage de canal adapte aux erreurs rafale |
FR2873518B1 (fr) * | 2004-07-22 | 2008-12-19 | Canon Kk | Procede de codage et de decodage d'une sequence de mots, signal, codeur, decodeur, programmes d'ordinateur et moyens de stockage correspondants |
FR2880218B1 (fr) * | 2004-12-23 | 2007-02-16 | Canon Kk | Procede de decodage pour codes de geometrie algebrique et dispositif associe |
US10148285B1 (en) | 2012-07-25 | 2018-12-04 | Erich Schmitt | Abstraction and de-abstraction of a digital data stream |
US9374252B2 (en) | 2014-07-23 | 2016-06-21 | Valens Semiconductor Ltd. | Generating parallel binary representation of HDBaseT physical modulation |
US10795858B1 (en) | 2014-02-18 | 2020-10-06 | Erich Schmitt | Universal abstraction and de-abstraction of a digital data stream |
US11611359B2 (en) | 2015-05-29 | 2023-03-21 | SK Hynix Inc. | Data storage device |
US11515897B2 (en) | 2015-05-29 | 2022-11-29 | SK Hynix Inc. | Data storage device |
US11177835B2 (en) | 2015-09-25 | 2021-11-16 | SK Hynix Inc. | Data storage device |
US10396827B2 (en) * | 2015-09-25 | 2019-08-27 | SK Hynix Inc. | Data storage device |
KR102285940B1 (ko) | 2015-05-29 | 2021-08-05 | 에스케이하이닉스 주식회사 | 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법 |
CN105812000B (zh) * | 2016-03-03 | 2019-07-02 | 西安电子科技大学 | 一种改进的bch软判决译码方法 |
CN113014267B (zh) * | 2019-12-18 | 2024-04-23 | 华为技术有限公司 | 译码方法、设备、可读存储介质、芯片及计算机程序产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435807A (en) * | 1980-06-26 | 1984-03-06 | Scott Edward W | Orchard error correction system |
US6161209A (en) * | 1997-03-28 | 2000-12-12 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre | Joint detector for multiple coded digital signals |
-
1999
- 1999-07-14 US US09/353,155 patent/US6543021B1/en not_active Expired - Fee Related
- 1999-07-15 EP EP99401775A patent/EP0973268B1/en not_active Expired - Lifetime
- 1999-07-15 DE DE69905987T patent/DE69905987T2/de not_active Expired - Lifetime
- 1999-07-16 JP JP20373499A patent/JP4155539B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6543021B1 (en) | 2003-04-01 |
DE69905987T2 (de) | 2003-12-04 |
DE69905987D1 (de) | 2003-04-24 |
EP0973268B1 (en) | 2003-03-19 |
JP2000101452A (ja) | 2000-04-07 |
EP0973268A1 (en) | 2000-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4155539B2 (ja) | 情報伝送方法および装置、記憶媒体 | |
Hou et al. | BASIC codes: Low-complexity regenerating codes for distributed storage systems | |
US7644335B2 (en) | In-place transformations with applications to encoding and decoding various classes of codes | |
Kabatiansky et al. | Error correcting coding and security for data networks: analysis of the superchannel concept | |
JP3451221B2 (ja) | 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体 | |
US6654926B1 (en) | Soft decision maximum likelihood encoder and decoder | |
US7219293B2 (en) | High performance CRC calculation method and system with a matrix transformation strategy | |
US7502988B2 (en) | Decoding and error correction for algebraic geometric codes | |
US20060192691A1 (en) | Decoding apparatus, decoding method and program | |
US20080082895A1 (en) | Method and system for generating low density parity check codes | |
CN107919874B (zh) | 校验子计算基本校验节点处理单元、方法及其计算机程序 | |
Gross et al. | Towards a VLSI architecture for interpolation-based soft-decision Reed-Solomon decoders | |
JP2000156646A (ja) | 符号化装置及び方法、復号装置及び方法、信号処理装置、デ―タ伝送装置、無線通信装置、ネットワ―クステ―ション、並びに情報処理装置及び方法 | |
Interlando et al. | On the decoding of Reed-Solomon and BCH codes over integer residue rings | |
US7461329B2 (en) | Channel encoding adapted to error bursts | |
CN1636324A (zh) | 纠错解码器的钱搜索单元 | |
US8359511B2 (en) | Method and system for constructing and decoding rateless codes with partial information | |
CN111164897B (zh) | 广义低密度奇偶校验码 | |
EP2309650B1 (en) | A systematic encoder with arbitrary parity positions | |
JP4282725B2 (ja) | 復号装置、及び復号方法 | |
US8132078B2 (en) | Decoding method for algebraic geometric codes and associated device | |
US20050188291A1 (en) | Error locating methods and devices for algebraic geometric codes | |
US6421807B1 (en) | Decoding apparatus, processing apparatus and methods therefor | |
US7398456B2 (en) | Information encoding by shortened Reed-Solomon codes | |
Hou et al. | New regenerating codes over binary cyclic codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060718 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060718 |
|
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: 20080704 |
|
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: 20080707 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
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: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130718 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |