(57)【特許請求の範囲】
【請求項１】
物理量を表し、第１の２進記号によって表される情報を伝送する方法であって、
計算した２進記号と呼ばれる第２の２進記号を前記情報から計算する操作（３０１〜３０９）を含むコーディング操作であって、平方テーブル内に配置するために前記計算した２進記号が提供される操作と、
前記計算した２進記号を変調する操作と変調された記号を受信した記号と呼ばれる記号に復調する操作とを含む、前記計算した２進記号を転送する操作と、
前記受信した記号を訂正し、訂正した記号と呼ばれる２進記号を提供する操作と、
前記訂正した記号から情報をデコーディングする操作とを有し、
前記計算した２進記号ごとに、この計算した２進記号を含み、この計算した２進記号が得られなくてもそれぞれがそれ自体で前記計算した２進記号を再計算できるようにする、少なくとも３つの別個の対角集合がテーブル内に存在し、
前記変調操作は軟判定方法によって行なわれ、
前記訂正操作は前記別個の対角集合のそれぞれにつき反復して実行されることを特徴とする方法。
【請求項２】
計算操作が、
第１の２進記号を係数として表わす複数の２変量多項式を定義する操作（３０１〜３０８）と、
前記計算した２進記号を、前記定義した多項式のそれぞれと、２変量多項式の集合の基底をなす複数の所定の多項式の対応する１つとの積の総和として得られた多項式の係数の形で計算する操作（３０９）とを有することを特徴とする請求項１に記載の方法。
【請求項３】
デコーディング操作が、
前記訂正した記号を表わす多項式と前記所定の多項式のそれぞれとを乗じて積多項式を計算する操作（４０１〜４０４）と、
前記積多項式の特定の係数に基づいて、前記定義した多項式の係数として第１の２進記号を推定する操作と、
前記推定した係数をデコードした情報として出力する操作（４０５）とを有することを特徴とする請求項２に記載の方法。
【請求項４】
訂正操作がそれぞれの対数尤度比を決定し、前記訂正した記号がそれぞれの対数尤度比の総和に基づいて推定されることを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
計算操作中に、どのような情報についても計算した２進記号のテーブルがアーベル・コードのワードになるようなアーベル・コードが存在することを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
計算操作中に、零または無限あるいはｎに対して素の整数である要素ｒについて、傾斜ｒの各対角集合がＢＣＨコードのワードになるように、２以上の整数ｎが存在することを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
計算操作中に、零または無限あるいは整数ｎに対して素の整数である要素ｐｅについて、傾斜ｐｅの各対角集合がタイプ（ｎ，ｋ）のハミング・コードのワードになるように、２以上の整数ｍ、２ｍ−１に等しい整数ｎ、ｎ−ｍに等しい整数ｋが存在することを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
計算操作中に、ｐが零または無限あるいは整数ｎに対して素の整数であり、ｑが零または無限あるいは整数ｎに対して素の整数である少なくとも２つの要素ｐおよびｑについて、傾斜ｐの各対角集合および傾斜ｑの各対角集合がタイプ（ｎ，ｋ）の１つ、かつ同一のハミング・コードのワードになるように、２以上の整数ｍ、２ｍ−１に等しい整数ｎ、ｎ−ｍに等しい整数ｋが存在することを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
計算操作中に、零または無限あるいは整数ｎに対して素の整数である要素ｓについて、傾斜ｓの各対角集合がタイプ（ｎ，ｎ−１）のパリティ・コードのワードになるように、２以上の少なくとも１つの整数ｎが存在することを特徴とする請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
物理量を表し、第１の２進記号によって表される情報を伝送するための装置であって、
計算した２進記号と呼ばれる第２の２進記号を前記情報から計算する計算手段（１０４、１０５、１０６）を含むコーディング手段であって、平方テーブル内に配置するために前記計算した２進記号が提供される手段と、
前記計算した２進記号を変調する変調手段と変調された記号を受信した記号と呼ばれる記号に復調する手段とを含む、前記計算した２進記号を転送する手段と、
前記受信した記号を訂正し、訂正した記号と呼ばれる２進記号を提供する訂正手段と、
前記訂正した記号から情報をデコーディングする手段とを有し、
前記計算した２進記号ごとに、この計算した２進記号を含み、この計算した２進記号が得られなくてもそれぞれがそれ自体で前記計算した２進記号を再計算できるようにする、少なくとも３つの別個の対角集合がテーブル内に存在するように前記計算手段が適合されていて、
前記変調手段は、軟判定方法を実現するように適合されていて、
前記訂正手段は前記別個の対角集合のそれぞれにつき反復訂正方法を実現するように適合されていることを特徴とする装置。
【請求項１１】
前記計算手段が、
第１の２進記号を係数として表わす複数の２変量多項式を定義する手段と、
前記計算した２進記号を、前記定義した多項式のそれぞれと、２変量多項式の集合の基底をなす複数の所定の多項式の対応する１つとの積の総和として得られた多項式の係数の形で計算する手段とを有することを特徴とする請求項１０に記載の装置。
【請求項１２】
前記デコーディング手段が、
前記訂正した記号を表わす多項式と前記所定の多項式のそれぞれとを乗じて積多項式を計算する手段と、
前記積多項式の特定の係数に基づいて、前記定義した多項式の係数として第１の２進記号を推定する手段と、
前記推定した係数をデコードした情報として出力する手段とを有することを特徴とする請求項１１に記載の装置。
【請求項１３】
前記訂正手段が、それぞれの対数尤度比を決定し、前記訂正した記号をそれぞれの対数尤度比の総和に基づいて推定するように適合されていることを特徴とする請求項１０乃至１２のいずれか１項に記載の装置。
【請求項１４】
どのような情報についても計算した２進記号のテーブルがアーベル・コードのワードになるようなアーベル・コードが存在することを特徴とする請求項１０乃至１３のいずれか１項に記載の装置。
【請求項１５】
零または無限あるいはｎに対して素の整数である要素ｒについて、傾斜ｒの各対角集合がＢＣＨコードのワードになるように、２以上の整数ｎが存在することを特徴とする請求項１０乃至１４のいずれか１項に記載の装置。
【請求項１６】
零または無限あるいは整数ｎに対して素の整数である要素ｐｅについて、傾斜ｐｅの各対角集合がタイプ（ｎ，ｋ）のハミング・コードのワードになるように、２以上の整数ｍ、２ｍ−１に等しい整数ｎ、ｎ−ｍに等しい整数ｋが存在することを特徴とする請求項１０乃至１５のいずれか１項に記載の装置。
【請求項１７】
ｐが零または無限あるいは整数ｎに対して素の整数であり、ｑが零または無限あるいは整数ｎに対して素の整数である少なくとも２つの要素ｐおよびｑについて、傾斜ｐの各対角集合および傾斜ｑの各対角集合がタイプ（ｎ，ｋ）の１つかつ同一のハミング・コードのワードになるように、２以上の整数ｍ、２ｍ−１に等しい整数ｎ、ｎ−ｍに等しい整数ｋが存在することを特徴とする請求項１０乃至１５のいずれか１項に記載の装置。
【請求項１８】
零または無限あるいは整数ｎに対して素の整数である要素ｓについて、傾斜ｓの各対角集合がタイプ（ｎ，ｎ−１）のパリティ・コードのワードになるように、２以上の整数ｎが存在することを特徴とする請求項１０乃至１７のいずれか１項に記載の装置。
【請求項１９】
それが請求項１０乃至１８のいずれか１項に記載の装置を含むことを特徴とするビデオカメラ。
【請求項２０】
それが請求項１０乃至１８のいずれか１項に記載の装置を含むことを特徴とするファクシミリ装置。
【請求項２１】
それが請求項１０乃至１８のいずれか１項に記載の装置を含むことを特徴とする写真機。
【請求項２２】
それが請求項１０乃至１８のいずれか１項に記載の装置を含むことを特徴とするコンピュータ。
【請求項２３】
コンピュータ又はマイクロプロセッサにより読み取ることができる情報を格納し、コンピュータプログラムの命令を格納する記憶媒体であって、請求項１乃至請求項１０のいずれかに１項に記載の方法の実現を可能にすることを特徴とする記憶媒体。
【請求項２４】
全体または一部が着脱自在であることを特徴とする請求項２３に記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、積符号のサブコードを使用するコーディングおよび伝送のための方法および装置に関する。
【０００２】
【従来の技術】
本発明の目的は、情報の伝送中、特に、無線伝送の状況内に現れるエラーを抑制することである。これは、伝送された信号、特に、電気的性質を有するものがノイズによって破壊されるからである。
【０００３】
メッセージはディジタル・シーケンスであるものとして定義する。
【０００４】
解決策の１つは、メッセージを冗長にすること、すなわち、メッセージに冗長性を追加することからなり、換言すれば、情報を表す記号に加え、情報を表す前記記号の関数である記号が伝送される。
【０００５】
シーケンスをアルファベットで生成する装置はコーダという。
【０００６】
コーダによって生成される１組のシーケンスはコードという。
【０００７】
コードを指定するため、または情報の項目に付加すべき冗長性を計算する方法を指定するため、しばしば、行列を使用する。たとえば、長さｎ（この例では７とする）のワードｖ＝（ｖ０，．．．，ｖ６）を形成するためにｋ個の２進情報記号（ｖ０，ｖ１，ｖ２，ｖ３）（２進情報記号の数はｋで示し、この例では４になる）に冗長記号（ｖ４，ｖ５，ｖ６）（冗長記号の数はこの例では３である）を付加する必要がある場合、たとえば以下のようなｎ列×ｎ−ｋ行（この例では３）の行列Ｈをアルファベット｛０，１｝で生成する。
【０００８】
【数１】
0004155539.tif 000002
【０００９】
さらに、式ｖ＊Ｈｔ＝０を満足するために、長さ７の２進ワードｖを作成する。ただし、「＊」は行列積を示し、Ｈｔは行列Ｈの転置行列を示し、加算はモジュロ２で行われ、ワードｖは行列Ｈに対して直交するという。したがって、この例では、冗長記号ｖ４、ｖ５、ｖ６は以下のように計算される。
【００１０】
ｖ４＝ｖ０＋ｖ１＋ｖ２
ｖ５＝ｖ１＋ｖ２＋ｖ３
ｖ６＝ｖ０＋ｖ１＋ｖ３
パラメータｎはコード長と呼ばれ、パラメータｋは必ずパラメータｎより厳密に小さく、コード次元と呼ばれる。この方法で使用する行列Ｈは、パリティ制御行列またはパリティ行列と呼ばれる。
【００１１】
このコーディング方法によって、あるエラーの訂正が可能になることは周知のことであり、ノイズのあるチャネル上で２進ワードｖを送信後、２進ワードｒ＝（ｒ０，．．．，ｒ６）を受信し、高々１つの指数ｉについて記号の１つｒｉが記号ｖｉとは異なる場合、このエラーの訂正が可能になる（ＰｅｔｅｒｓｏｎおよびＷｅｌｄｏｎの「Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅｓ」、ＭＩＴ  Ｐｒｅｓｓを参照すること）。より一般的には、パラメータｎがかなり大きい場合、パラメータｎ−ｋの値を大きくすることにより、より効率のよいコードを求めることができる。このようなコードにより、誤りを含んで受信した複数の記号を訂正することが可能になる。このようなコードの実施態様における選り抜きのツールは、線形コードと呼ばれ、受信したワードｒに対応するシンドロームｓ＝ｒ＊Ｈｔになる（上記で引用したＰｅｔｅｒｓｏｎおよびＷｅｌｄｏｎの参考文献と比較すること）。
【００１２】
その実施態様の複雑さを「過度に」増大せずにエラー訂正を可能にするコーディングにより伝送パフォーマンスを改善することを目指して、積符号の考え方を頼りにしており、情報を構成するｋ＊ｋ個の記号を有する伝送すべきメッセージについて検討する。これらの記号はｎ＊ｎ次元の平方テーブルの左上に配置されるが、テーブルの最初のｋ行の最初のｋ桁はすでに充填されており、行内の桁は左からカウントし、テーブル内の行は上からカウントする。テーブルの各行の残りのｎ−ｋ桁は問題の行の最初のｋ個の記号のみに依存する冗長記号で充填されるが、したがって、テーブルの最初のｋ行または換言すれば各列の最初のｋ桁はすでに完全に充填されており、列内の桁は上からカウントする。テーブルの各列の残りのｎ−ｋ桁は問題の列の最初のｋ個の記号のみに依存する冗長記号で充填されるが、したがって、テーブルはすでに完全に充填されている。
【００１３】
積符号の形で現れるメッセージをデコーディングするためには、行をデコーディングすることによって開始し、必要であれば訂正を行うことができる。次に、訂正したデータにより、列をデコーディングし、訂正を行う。したがって、この方法は反復することができる。
【００１４】
ハード判断（硬判定）復調に基づくハードな反復デコーディング方法が、J.Lacanの論文「Diagonals of 2D-Abelian codes」proceedings of the 1998 Infomation Theory Workshop 発行の１１１〜１１２頁で考察されている。
【００１５】
伝送パフォーマンスのもう１つの改良策は、いわゆるソフト判断（軟判定）復調方法を頼りにすることによって可能になる。この方法では、受信した記号は、ｒで示し、アルファベット｛０，１｝で送信した記号に対応するが、もはやこのアルファベット｛０，１｝の要素として解釈されない。記号ｒによって供給され、デコーダが使用可能な情報
【００１６】
【数２】
0004155539.tif 000003
（以下Ｔとする）は、式Ｔ＝ｌｏｇ［ｆ（ｒ）］で表し、ただし、ｌｏｇは厳密に１より大きいベースにおけるその引数の対数を示し、ｆ（ｒ）は１を送信したときにｒに近い値を受信する尤度と０を送信したときにｒに近い値を受信する尤度との割合である。この対数は、対数尤度比（ｌ．ｌ．ｒ．）と呼ぶ。
【００１７】
このようなソフト判断を行うことができる場合、積符号のデコーディングは特に効率がよいことが分かっている（この主題については、Ｊ．Ｈａｇｅｎａｕｅｒ、Ｅ．Ｏｆｆｅｒ、およびＬ．Ｐａｐｋｅの「Ｉｔｅｒａｔｉｖｅ  ｄｅｃｏｄｉｎｇ  ｏｆ  ｂｉｎａｒｙ  ｂｌｏｃｋ  ａｎｄ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｃｏｄｅｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｔｈｅｏｒｙ、ｖｏｌ．４２、４２９〜４４５ページ、１９９６年３月と、Ｒ．Ｐｙｎｄｉａｈ、Ａ．Ｇｌａｖｉｅｕｘ、Ａ．Ｐｉｃａｒｔ、およびＳ．Ｊａｃｑの「Ｎｅａｒ  ｏｐｔｉｍｕｍ  ｄｅｃｏｄｉｎｇ  ｏｆ  ｐｒｏｄｕｃｔ  ｃｏｄｅｓ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ＩＥＥＥ  Ｇｌｏｂｅｃｏｍ  Ｃｏｎｆｅｒｅｎｃｅ、３３９〜３４３ページ、サンフランシスコ、１９９４年１１月を参照すること）。これらの論文の根底にある理論上の考え方は、１９６３年にＭＩＴ  Ｐｒｅｓｓから発行されたＲ．Ｇ．Ｇａｌｌａｇｅｒの「Ｌｏｗ−ｄｅｎｓｉｔｙｐａｒｉｔｙ−ｃｈｅｃｋ  ｃｏｄｅｓ」という書籍にさかのぼるが、上記の論文は、このような理論上の基礎を効率よく実現する方法をうまく明記している。
【００１８】
実際には、アルファベット｛０，１｝の文字は２通りの電気信号によってチャネル上で伝送され、数値＋１（文字０の場合）と−１（文字１の場合）によって識別される。このようにして選択された電気信号が「妥当」であり、チャネルに影響するノイズがＡＷＧＮという頭文字でよく知られる従来の加法性白色ガウス雑音（Additive White Gaussian Noise）とはあまり異ならない限り、このようなチャネルの状況は周知のものであり、一般に研究されている。
【００１９】
上記の考え方の使用法を例示するため、この特定の単純な例について検討する。制御行列Ｈ＝［１１１］は、アルファベット｛０，１｝でコード（ｎ＝３、ｋ＝２）を定義する。このコードの積符号の前述の構造をそれ自身に適用することにより、４つの２進記号ｖ０，０、ｖ０，１、ｖ１，０、ｖ１，１を使用して、この特定の３＊３行列によって表される長さ９の２進ワードｖを構築することができる。
【００２０】
【数３】
0004155539.tif 000004
【００２１】
ただし、記号ｖ２，０、ｖ２，１、ｖ２，２、ｖ０，２、ｖ１，２は、ワードｖの３つの行と３つの列が行列Ｈに対して直交するように計算されている。
【００２２】
行列Ｈがこのような記号ｖｉ，ｊに課すパリティ関係により、ｖ１，１（たとえば）は以下の式を満足すると結論付けることができる。
【００２３】
ｖ１，１＝ｖ０，１＋ｖ１，２  （１）
ｖ１，１＝ｖ０，１＋ｖ２，１  （２）
ただし、加算はモジュロ２で行われる。チャネル上で記号ｖｉ，ｊを伝送した後、それに対応する受信した記号ｒｉ，ｊについて、対数尤度比Ｔｉ，ｊ＝［ｌｏｇ  ｆ（ｒｉ，ｊ）］の計算を行うことができ、これらの値Ｔｉ，ｊの行列Ｔを構築することができる。
【００２４】
【数４】
0004155539.tif 000005
【００２５】
上記の式（１）および（２）は、互いに独立した値Ｔｉ，ｊの３つの集合から記号ｖ１，１（たとえば）を推定できることを表している。第１のこのような集合は集合｛Ｔ１，１｝であり、第２の集合は式（１）により集合｛Ｔ１，０、Ｔ１，２｝であり、第３の集合は式（２）により集合｛Ｔ０，１、Ｔ２，１｝である。より一般的には、どのような座標ｓおよびｔの場合でも、記号ｖｓ，ｔを推定するためには値Ｔｉ，ｊの３つの集合が存在し、そのうちの第１の集合は単集合｛Ｔｓ，ｔ｝であり、残りの２つの集合はそれぞれ２つの要素を含む。受信した記号ｒｉ，ｊと対応する値Ｔｉ，ｊのテーブルを基礎として伝送したワードｖの記号ｖｓ，ｔを推定するためにこのような独立したＴｉ，ｊの集合を使用することは、たとえば、Ｊ．Ｈａｇｅｎａｕｅｒ他（上記の参考文献）を参照することによって理解することができる。ここでは、パラメータｎを３以上にし、パラメータｋを２以上にすることができる一般的な場合について検討する。しかし、記号ｖｓ，ｔのどのような座標対（ｓ，ｔ）の場合でも、値Ｔｉ，ｊの３つの集合、すなわち、集合｛Ｔｓ，ｔ｝、集合｛Ｔｓ，ｕ、ｕがｔとは異なる場合｝、集合｛Ｔｕ，ｔ、ｕがｓとは異なる場合｝のみを考慮に入れることにする。
【００２６】
この状況では、受信したワードｒの反復訂正を次のように実行することができる。
【００２７】
第１のステップでは、どのような座標対（ｓ，ｔ）についても、行列Ｔの要素Ｔｓ，ｔと集合｛Ｔｓ，ｕ、ｕがｔとは異なる場合｝について検討する。これにより、どのような座標対（ｓ，ｔ）についても、これらのデータから
【００２８】
【数５】
0004155539.tif 000006
（以下Ｊとする）ｓ，ｔとして示す新しい対数尤度比を計算することが可能になる。
【００２９】
第２のステップでは、どのような座標対（ｓ，ｔ）についても、行列Ｔの要素Ｔｓ，ｔ、計算したばかりの要素Ｊｓ，ｔ、集合｛Ｔｕ，ｔ、ｕがｓとは異なる場合｝について検討する。Ｋｓ，ｔ＝Ｊｓ，ｔを設定した後、どのような座標対（ｓ，ｔ）についても、同じくＪｓ，ｔとして示す新しい対数尤度比を計算することができる。
【００３０】
第３のステップでは、どのような座標対（ｓ，ｔ）についても、行列Ｔの要素Ｔｓ，ｔ、計算したばかりの要素Ｊｓ，ｔ、集合｛Ｔｓ，ｕ、ｕがｔとは異なる場合｝について検討する。Ｋｓ，ｔ＝Ｊｓ，ｔを設定した後、どのような座標対（ｓ，ｔ）についても、同じくＪｓ，ｔとして示す新しい対数尤度比を計算することができる。
【００３１】
次に、第２のステップと第３のステップを交互に実行することにより、手順を続行する。事前に選択したステップ数を実行すると、対数尤度比を含む３つの行列が使用可能になる。第１の行列は行列Ｔであり、第２の行列は座標位置（ｓ，ｔ）に要素Ｊｓ，ｔを有する行列Ｊであり、第３の行列は座標位置（ｓ，ｔ）に要素Ｋｓ，ｔを有する行列Ｋである。
【００３２】
行列
【００３３】
【数６】
0004155539.tif 000007
（以下Ｄとする）＝Ｔ＋Ｊ＋Ｋを計算し、以下のものをデコーディングに使用する。すなわち、Ｄｉ，ｊが正である場合は推定値ｖｉ，ｊ＝１を使用し、Ｄｉ，ｊが負である場合は推定値ｖｉ，ｊ＝０を使用する。さらに、Ｄｉ，ｊの絶対値は、この判断に対して与えることができる信頼度を表す。
【００３４】
この主題については、上記のＪ．Ｈａｇｅｎａｕｅｒ他の参考文献を調べると有利だろう。
【００３５】
既に示したように、積符号という状況は、特に反復訂正に適合するものである。このようなコードＣのワードは、Ｎｈ列×Ｎｖ行の矩形テーブルによって容易に表され、各行（それぞれの各列）は長さＮｈ（それぞれＮｖ）のコードＣｈ（それぞれＣｖ）のワードである。したがって、長さＮｈ＊ＮｖのコードＣのワードは以下の行列によって表される。
【００３６】
【数７】
0004155539.tif 000008
ただし、各ｖｉ，ｊは伝送する予定の２進記号である。
【００３７】
チャネルによってワードｖを伝送した後、ワードｒを受信する。
【００３８】
【数８】
0004155539.tif 000009
したがって、それにより、要素Ｔｉ，ｊ＝ｌｏｇ［ｆ（ｒｉ，ｊ）］の行列Ｔを計算することができる。
【００３９】
【発明が解決しようとする課題】
本発明の目的は、それに関してワードｖの記号のうちのいずれか１つに関する情報を提供する４つ以上の独立した記号の集合を求めることが可能なコードを使用してコーディング方法を明示的に実現することにより、伝送効率、訂正効率、デコーディング効率を改善することにある。
【００４０】
しかし、本発明で使用するコードは通常の積符号ではない。そのコードは、より正確には、このような通常の積符号に含まれるコードであり、すなわち、このような通常の積符号のサブコードである。伝送した各記号に関する４つ以上の独立した推定値を求めることが可能になるようなコードを求める試みを行う。行および列だけでなく、所与の傾斜の対角集合上にも冗長性が存在することが確実になるだろう。
【００４１】
本発明はこれらのコードのターボデコーディング、すなわち、各ステップでソフト情報を用いる反復デコーディングに関する。
【００４２】
【課題を解決するための手段】
このため、第１の態様によれば、本発明は、物理量を表し、第１の２進記号によって表される情報を伝送する方法であって、
−計算した２進記号と呼ばれる第２の２進記号を前記情報から計算する操作（３０１〜３０９）を含むコーディング操作であって、平方テーブル内に配置するために前記計算した２進記号が提供される操作と、
前記計算した２進記号を変調する操作と変調された記号を受信した記号と呼ばれる記号に復調する操作とを含む、前記計算した２進記号を転送する操作と、
前記受信した記号を訂正し、訂正した記号と呼ばれる２進記号を提供する操作と、
前記訂正した記号から情報をデコーディングする操作とを有し、
前記計算した２進記号ごとに、この計算した２進記号を含み、この計算した２進記号が得られなくてもそれぞれがそれ自体で前記計算した２進記号を再計算できるようにする、少なくとも３つの別個の対角集合がテーブル内に存在し、
前記変調操作は軟判定方法によって行なわれ、
前記訂正操作は前記別個の対角集合のそれぞれにつき反復して実行されることを特徴とする方法に関する。
【００４３】
好ましい実施形態によれば、本発明はまた、上記で簡潔に示した方法に関し、計算操作が、
第１の２進記号を係数として表わす複数の２変量多項式を定義する操作と、
前記計算した２進記号を、前記定義した多項式のそれぞれと、２変量多項式の集合の基底をなす複数の所定の多項式の対応する１つとの積の総和として得られた多項式の係数の形で計算する操作とを有することを特徴とする。
【００４４】
本発明の意味では、行列の行と列は特殊な対角集合である。このような方法により、計算した２進記号自体の他に、計算した２進記号に関する少なくとも３つの独立したデータ・ソースを用意することが可能になる。このコーディング方法により、コード化メッセージの冗長性が賢明な程度にしかも過度にならずに増大する。このため、コーディングおよびデコーディングの実施態様の冗長性または複雑さを過度に増大せずにエラー訂正を可能にすることにより、訂正パフォーマンスとデコーディング・パフォーマンス、したがって、伝送パフォーマンスが改善される。
【００４５】
これは、Ｊ．Ｈａｇｅｎａｕｅｒ他（上記の参考文献）に記載されているように、前述の量（Ｊ）ｓ，ｔおよび（Ｋ）ｓ，ｔが反復ごとに相関関係が強くなるからである。
【００４６】
本発明によれば、記号ｖｓ，ｔのそれぞれを推定するために値Ｔｉ，ｊの４つ以上の互いに素の集合を用意することは、特にこの欠点を矯正するために価値があることである。
【００４７】
これは、前述の第３のステップで、第１のステップですでに使用したステップ｛Ｔｓ，ｕ、ｕがｔとは異なる場合｝をもう一度使用したからである。値Ｔｓ，ｔ、集合｛Ｔｓ，ｕ、ｕがｔとは異なる場合｝、集合｛Ｔｕ，ｔ、ｕがｓとは異なる場合｝に加え、他の集合が使用可能であり、これらの最初の３つとは互いに素であり、対内で互いに素であり、記号ｖｓ，ｔに関する情報を提供する場合、そのうちの第１のものがたとえば第３のステップで使用可能であり、第２のものが第４のステップで使用可能であり、以下同様になるだろう。したがって、どのような座標対（ｓ，ｔ）についても、値Ｔｓ，ｔの他に、値Ｔｓ，ｔを含まないがそれぞれがノイズがない場合に記号ｖｓ，ｔを正しく推定できるようにする値Ｔｉ，ｊのλ個のこのような互いに素の集合が使用可能である場合、このようなλ個の集合の１つをもう一度使用しなければならなくなる前に、上記に簡単に概説した反復訂正手順においてλ通りのステップを実行することができる。これらのステップのそれぞれでは、どのような座標ｓおよびどのような座標ｔについても、最後に計算した値Ｊｓ，ｔだけでなく、最後のλ−１も格納することが必要になる。
【００４８】
事前に選択したステップ数を実行すると、尤度比の対数を含むλ＋１個の行列が使用可能になる。第１の行列は行列Ｔであり、残りのλ個の行列はアルゴリズムによって生成される最後のλ個の行列Ｊである。次に、これらのλ＋１個の行列の合計として行列Ｄを計算し、それを上記のように使用する。
【００４９】
ただし、記号ｒｓ，ｔ自体の他に、各記号ｖｓ，ｔを推定するために値Ｔｉ，ｊの少なくとも３つの互いに素の集合が使用可能である場合、Ｊ．Ｈａｇｅｎａｕｅｒ他の前述の論文の４４１ページの２列目に記載されている矩形エラー構成の周知の問題に対する解決策が改善されることも留意されたい。
【００５０】
この伝送方法の好ましい実施の形態では、デコーディング操作は、
前記訂正した記号を表わす多項式と前記所定の多項式のそれぞれとを乗じて積多項式を計算する操作と、
前記積多項式の特定の係数に基づいて、前記定義した多項式の係数として第１の２進記号を推定する操作と、
前記推定した係数をデコードした情報として出力する操作とを有する。
【００５１】
好ましい実施の形態では、伝送方法の計算操作中に、どのような情報についても計算した２進記号のテーブルがアーベル・コードのワードになるようなアーベル・コードが存在する。
【００５２】
アーベル・コードを使用する利点は、このようなコードを効果的に指定するためにアーベル・コードの理論によって提供される効率のよい計算ツールおよびそれに対応するコーダが使用可能になることに由来する。この理論は、特にＰ．Ｄｅｌｓａｒｔｅの「Ａｕｔｏｍｏｒｐｈｉｓｍｓ  ｏｆ  Ａｂｅｌｉａｎ  ｃｏｄｅｓ」、Ｐｈｉｌｉｐｓ  Ｒｅｓｅａｒｃｈ  Ｒｅｐｏｒｔｓ、ｖｏｌ．２５、３８９〜４０３ページ、１９７０年およびＨ．Ｉｍａｉの「Ａ  ｔｈｅｏｒｙｏｆ  ｔｗｏ−ｄｉｍｅｎｓｉｏｎａｌ  ｃｙｃｌｉｃ  ｃｏｄｅｓ」、Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｎｔｒｏｌ、ｖｏｌ．３４、１〜２１ページ、１９７７年において研究されている。
【００５３】
好ましい実施の形態では、伝送方法は、計算操作中に、零または無限あるいはｎに対して素の整数である要素ｒについて、傾斜ｒの各対角集合がＢＣＨコードのワードになるように、２以上の整数ｎが存在するようなものになっている。
【００５４】
これは、所与の値の傾斜の場合に、この傾斜を有する各対角集合がＢＣＨコードのワードになることを意味する。ＢＣＨコードは、特に前述のＰｅｔｅｒｓｏｎおよびＷｅｌｄｏｎの著作に定義されている。
【００５５】
ＢＣＨコードになっている対角集合を使用する利点は２つの面を有する。一方では、これらのコードは巡回コードであり、前述のアーベル・コード構造に完全に適合し、もう一方では、これらのＢＣＨコードは、最良かつ最も実用的な巡回コードのうちの１つとして知られている（この主題については、Ｓ．ＬｉｎおよびＤ．Ｃｏｓｔｅｌｌｏの「Ｅｒｒｏｒ  Ｃｏｎｔｒｏｌ  Ｃｏｄｉｎｇ：  Ｆｕｎｄａｍｅｎｔａｌ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ」という書籍、Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ、１９８３年を参照すること）。
【００５６】
有利なことに、伝送方法は、計算操作中に、零または無限あるいは整数ｎに対して素の整数である要素ｐｅについて、傾斜ｐｅの各対角集合がタイプ（ｎ，ｋ）のハミング・コードのワードになるように、２以上の整数ｍ、２ｍ−１に等しい整数ｎ、ｎ−ｍに等しい整数ｋが存在するように設計することができる。
【００５７】
これは、所与の値の傾斜の場合に、この傾斜を有する各対角集合がタイプ（ｎ，ｋ）のハミング・コードのワードになることを意味する。
【００５８】
ハミング・コードになっている対角集合を使用する利点は２つの面を有する。一方では、ハミング・コードの効率は比較的高く、このハミング・コードを使用する全体的なアーベル・コードの効率にとって有利な要素である。もう一方では、本発明の目的に適合するようなハミング・コードのコーディングは極めて単純に実行される（前述のＨａｇｅｎａｕｅｒ他の論文を参照のこと）。
【００５９】
同様の理由から、有利なことに、伝送方法は、計算操作中に、ｐが零または無限あるいは整数ｎに対して素の整数であり、ｑが零または無限あるいは整数ｎに対して素の整数である２つの要素ｐおよびｑについて、傾斜ｐの各対角集合および傾斜ｑの各対角集合がタイプ（ｎ，ｋ）の１つかつ同一のハミング・コードのワードになるように、２以上の整数ｍ、２ｍ−１に等しい整数ｎ、ｎ−ｍに等しい整数ｋが存在するようなものになっている。
【００６０】
これは、少なくとも２つの別個の値の傾斜の場合に、この傾斜を有する２進記号のテーブルの対角集合がタイプ（ｎ，ｋ）のハミング・コードのワードになることを意味する。
【００６１】
これにより、ハミング・コードの利点を有することが可能になる。
【００６２】
有利なことに、上記で簡単に説明した伝送方法は、計算操作中に、零または無限あるいは整数ｎに対して素の整数である要素ｓについて、傾斜ｓの各対角集合がタイプ（ｎ，ｎ−１）のパリティ・コードのワードになるように、２以上の少なくとも１つの整数ｎが存在するようなものになっている。
【００６３】
これは、１つまたは複数の値の傾斜の場合に、この傾斜を有する対角集合が、偶数個の１を含む長さｎの２進ワードの集合として定義されるタイプ（ｎ，ｎ−１）のパリティ・コードになることを意味する。
【００６４】
これにより、各記号ｖｓ，ｔのデコーディングに使用する値Ｔｉ，ｊの互いに素の集合の数を削減せずに全体的なアーベル・コードにおいて極めて高い効率を維持することが可能になる。
【００６５】
また、本発明は、これまでに簡単に示したものなどの伝送方法を使用する装置にも関する。
【００６６】
また、本発明は、簡単に前述した装置を含むことを特徴とする、ビデオカメラ、ファクシミリ・マシン、写真機、コンピュータにも関する。
【００６７】
また、本発明は、
−コンピュータまたはマイクロプロセッサによって読取り可能であり、コンピュータ・プログラムの命令を格納する情報記憶媒体であって、それにより、簡単に前述したように本発明の方法の実現が可能になることを特徴とする情報記憶媒体と、
−コンピュータまたはマイクロプロセッサによって読取り可能であり、簡単に前述した方法を実現した結果得られるデータを格納する情報記憶媒体にも関する。
【００６８】
また、本発明は、
−部分的または全体的に取外し可能であり、コンピュータまたはマイクロプロセッサによって読取り可能であり、コンピュータ・プログラムの命令を格納する情報記憶媒体であって、それにより、簡単に前述したように本発明の方法の実現が可能になることを特徴とする情報記憶媒体と、
−部分的または全体的に取外し可能であり、コンピュータまたはマイクロプロセッサによって読取り可能であり、簡単に前述した方法を実現した結果得られるデータを格納する情報記憶媒体にも関する。
【００６９】
これらの装置、このビデオカメラ、このファクシミリ・マシン、この写真機、このコンピュータ、およびこれらの情報記憶媒体の好ましい特徴または特定の特徴ならびに利点は伝送方法のものと同一であるので、ここではこれらの利点について繰り返して説明しない。
【００７０】
添付図面に関連して以下に示す説明を読めば、本発明をより適切に理解できるだろう。
【００７１】
【発明の実施の形態】
図１に示すコーディング装置の説明を開始する前に、理論上の状況を説明することが重要である。
【００７２】
２以上の２つの整数ＮｖおよびＮｈについて検討する。
【００７３】
ｘではせいぜいＮｖ−１次でｙではせいぜいＮｈ−１次の２進係数を有する二変量多項式の集合をＥという。
【００７４】
以下の説明の全体において、集合Ｅの多項式の乗算は必ず多項式ｘＮｖ＋１およびｙＮｈ＋１を法として行われ、結果として得られる係数はモジュロ２で計算される。
【００７５】
ｖは、その値をアルファベット｛０，１｝から取り、Ｎｖ＊Ｎｈ矩形行列によって式（１）のように表される、長さＮｖ＊Ｎｈのワードとする。集合Ｅ内の多項式ｖ（ｘ，ｙ）はそれに関連し、逆の場合も同様である。
【００７６】
ｖ（ｘ，ｙ）＝Σｉ＝０〜Ｎｖ−１，ｊ＝０〜Ｎｈ−１ｖｉ，ｊｘｉｙｊ
以下の説明の全体において、Ｎｖ＊Ｎｈ矩形行列ｖに関連する集合Ｅの多項式を示すために、表記法ｖ（ｘ，ｙ）を使用する。
【００７７】
モジュロＮｖで各行指数を１ずつ増分することからなる行列ｖ上の巡回置換の結果として得られる行列は、多項式ｘ＊ｖ（ｘ，ｙ）に関連する行列と同一である。
【００７８】
同様に、モジュロＮｈで各列指数を１ずつ増分することからなる行列ｖ上の巡回置換の結果として得られる行列は、多項式ｙ＊ｖ（ｘ，ｙ）に関連する行列と同一である。
【００７９】
集合Ｅの多項式ｇ（ｘ，ｙ）およびその関連行列について検討する。すなわち、
ｖ（ｘ，ｙ）＝ａ（ｘ，ｙ）＊ｇ（ｘ，ｙ）
が成立するような集合Ｅの多項式ａ（ｘ，ｙ）が存在するように、多項式ｇ（ｘ，ｙ）によって生成された集合Ｅの多項式ｖ（ｘ，ｙ）の集合をイデアルと呼び、Ｊ（ｇ（ｘ，ｙ））と示す。
【００８０】
Ｊは集合Ｅのイデアルとし、イデアルＪのどのような多項式ｖ（ｘ，ｙ）についても、
ｖ（ｘ，ｙ）＝ａ（ｘ，ｙ）＊ｇ（ｘ，ｙ）
が成立するようなＥの多項式ａ（ｘ，ｙ）が存在する場合、多項式ｇ（ｘ，ｙ）はイデアルＪの生成元であると言う。
【００８１】
零多項式によって生成されるイデアルは自明なイデアルと呼ぶ。
【００８２】
それが自明ではなく、それ自体および自明なイデアル以外のイデアルを一切含まない場合、そのイデアルは極小であると言う。
【００８３】
集合Ｅの多項式ｇ（ｘ，ｙ）は、
ｇ（ｘ，ｙ）＊ｇ（ｘ，ｙ）＝ｇ（ｘ，ｙ）
が成立する場合、ベキ等であると言う。
【００８４】
集合Ｅのいずれかのイデアルの基数が２の累乗であり、この２の累乗をイデアルの次元と呼ぶことは、立証することができる。
【００８５】
整数ＮｈおよびＮｖが奇数である場合、
＊集合Ｅのどのようなイデアルもベキ等生成元を含むこと、
＊どのような極小イデアルＪも単一の非零ベキ等多項式ｇ（ｘ，ｙ）を含み、この多項式ｇ（ｘ，ｙ）がイデアルＪの生成元であり、ベキ等最小多項式と呼ばれること、
＊２つの異なる最小ベキ等多項式ｅ１（ｘ，ｙ）およびｅ２（ｘ，ｙ）が必ず直交し、すなわち、両者が
ｅ１（ｘ，ｙ）＊ｅ２（ｘ，ｙ）＝０
の関係を満たすことを立証することができる。
【００８６】
整数ＮｈおよびＮｖが奇数である場合について検討する。集合Ｅのベキ等最小多項式の集合はＭ＝｛ｅ１（ｘ，ｙ）、０＜＝１＜＝Ｌ｝と呼ばれ、集合Ｅのどのような多項式ｖ（ｘ，ｙ）も以下の形で表されることを立証することができる。
【００８７】
ｖ（ｘ，ｙ）＝Σｌ＝０〜Ｌｖｌ（ｘ，ｙ）＊ｅｌ（ｘ，ｙ）
ただし、多項式ｖｌ（ｘ，ｙ）＊ｅｌ（ｘ，ｙ）は多項式ｖ（ｘ，ｙ）のみに依存する。集合Ｍは集合Ｅの基底を形成すると言われる。
【００８８】
３次元以上のテーブルは同様に処理することができる。
【００８９】
現在検討中であるＮｖ＝Ｎｈの場合、ＮはＮ＝Ｎｖ＝Ｎｈになるように設定される。アルファベット｛０，１｝によるタイプＮ＊Ｎの行列ｖとＮに対して素の整数の場合、傾斜ａのｉ＋１番目の対角集合は、０〜Ｎ−１の間の整数ｉについて、ベクトル（ｖｉ，０，ｖｉ＋ａ，１，．．．，ｖｉ＋（Ｎ−１）ａ，Ｎ−１）になるものとして定義される。ただし、第１の指数は行の要素の指数であり、第２の指数は行列ｖの列の要素の指数である。ｉ＋１番目の行は傾斜０のｉ＋１番目の対角集合であると言われる。列は無限傾斜の対角集合であると言われる。
【００９０】
次に、Ｎｖ＝Ｎｈ＝Ｎ＝７である場合について検討する。この場合も、理論上の状況の表記法および規定を使用する。
【００９１】
特に、このような表記法を使用すると、集合Ｅが次元４９のイデアルであることが分かるだろう。
【００９２】
【数９】
0004155539.tif 000010
とし、以下の関数を導入するものとする。
【００９３】
ｆ（ｘ）＝１＋ｘ＋ｘ２＋ｘ４および
ｓ（ｘ）＝１＋ｘ＋ｘ２＋ｘ３＋ｘ４＋ｘ５＋ｘ６
これにより、ｅ１（ｘ，ｙ）＝ｆ（ｘ）＊ｓ（ｙ），ｙ＊ｅ１（ｘ，ｙ）＝ｅ１（ｘ，ｙ），ｘ＊ｅ１（ｘ，ｙ）がｅ１（ｘ，ｙ）とは異なることが分かる。
【００９４】
イデアルＪ（ｅ１（ｘ，ｙ））の次元は３になり、以下のように定義された２〜１６の間の指数ｌを有する多項式ｅｌ（ｘ，ｙ）についても同様であることを立証することができる。
【００９５】
ｅ２（ｘ，ｙ）＝ｆ（ｘ３）＊ｓ（ｙ）
ｅ３（ｘ，ｙ）＝ｆ（ｙ）＊ｓ（ｘ）
ｅ４（ｘ，ｙ）＝ｆ（ｙ３）＊ｓ（ｘ）
ｅ５（ｘ，ｙ）＝ｆ（ｘ）＊ｓ（ｘｙ）
ｅ６（ｘ，ｙ）＝ｆ（ｘ）＊ｓ（ｘ２ｙ）
ｅ７（ｘ，ｙ）＝ｆ（ｘ）＊ｓ（ｘ３ｙ）
ｅ８（ｘ，ｙ）＝ｆ（ｘ）＊ｓ（ｘ４ｙ）
ｅ９（ｘ，ｙ）＝ｆ（ｘ）＊ｓ（ｘ５ｙ）
ｅ１０（ｘ，ｙ）＝ｆ（ｘ）＊ｓ（ｘ６ｙ）
ｅ１１（ｘ，ｙ）＝ｆ（ｘ３）＊ｓ（ｘｙ）
ｅ１２（ｘ，ｙ）＝ｆ（ｘ３）＊ｓ（ｘ２ｙ）
ｅ１３（ｘ，ｙ）＝ｆ（ｘ３）＊ｓ（ｘ３ｙ）
ｅ１４（ｘ，ｙ）＝ｆ（ｘ３）＊ｓ（ｘ４ｙ）
ｅ１５（ｘ，ｙ）＝ｆ（ｘ３）＊ｓ（ｘ５ｙ）
ｅ１６（ｘ，ｙ）＝ｆ（ｘ３）＊ｓ（ｘ６ｙ）
ただし、ｅ３（ｘ，ｙ）＝ｅ１（ｙ，ｘ）になり、これは対応する行列の転置によって行列として表されることに留意されたい。
【００９６】
また、ｅ０（ｘ，ｙ）＝ｓ（ｘ）＊ｓ（ｙ）であると定義する。ｅ０（ｘ，ｙ）がベキ等であり、集合Ｅのどのような多項式ａ（ｘ，ｙ）についてもａ（ｘ，ｙ）＊ｅ０（ｘ，ｙ）がｅ０（ｘ，ｙ）または零多項式のいずれかになることを確認することができる。
【００９７】
集合Ｍ＝｛ｅｌ（ｘ，ｙ）、ｌは０〜１６｝を導入すると、これは集合Ｅのベキ等最小多項式の集合であることを立証することができる。理論部分で明記したように、これは集合Ｅの基底である。
【００９８】
多項式ｅ６（ｘ，ｙ）、ｅ９（ｘ，ｙ）、ｅ１０（ｘ，ｙ）に関連する行列ｅ６、ｅ９、ｅ１０を以下のように指定する。
【００９９】
【数１０】
0004155539.tif 000011
【０１００】
次に、長さ４９の２進コードのワードｖ（ｘ，ｙ）＝Σｌ＝０〜Ｎ−１ｖｌ（ｘ，ｙ）＊ｅｌ（ｘ，ｙ）の構成要素ｖｌ（ｘ，ｙ）＊ｅｌ（ｘ，ｙ）に対して所与の制限を課すことにより、このコードを指定する。
【０１０１】
この場合、行列ＧおよびＨについて検討する。
【０１０２】
【数１１】
0004155539.tif 000012
【０１０３】
それがモジュロ２で取られた行列Ｇの行ベクトルの線形結合である場合に、集合｛０，１｝の要素の７項集合ｕがコードＢに含まれるものとすることによって、コードＢを定義する。これは、集合｛０，１｝の要素の７項集合ｕによって
ｕ＊Ｈｔ＝０
であることを確認した場合にこの７項集合がコードＢに含まれるものとすることと同等である。
【０１０４】
Ｂは、従来より（７，４）ハミング・コードと呼ばれている。
【０１０５】
Ｂ０として示す（７，６）パリティ・コードは、モジュロ２で取られた７項目集合の要素の合計が０になる場合に、集合｛０，１｝の要素の７項目集合がコードＢ０に含まれるものとすることによって定義する。
【０１０６】
ａは７に対して素の整数とする。行列ｅｌの傾斜ａのすべての対角集合がコードＢのワード（それぞれＢ０）である場合、列または行の巡回置換によって行列ｅｌから得られるすべての行列についても同様であり、これらの行列のどのような線形結合についても同様であり、ｖ（ｘ，ｙ）＝ａ（ｘ，ｙ）＊ｅｌ（ｘ，ｙ）の形の多項式ｖ（ｘ，ｙ）に関連するどのような行列についても同様であり、ａ（ｘ，ｙ）がＥの任意の多項式であることは明らかである。
【０１０７】
以下の命題を立証することができる。すなわち、ｖとして示す行列に関連する多項式ｖ（ｘ，ｙ）が基底Ｍ上のその因数分解において基底Ｍの多項式ｅｌ（ｘ，ｙ）のみを使用し、それに対応する行列のすべての列がコードＢに含まれる（それぞれＢ０）場合のみ、行列ｖのすべての列がコードＢに含まれる（それぞれＢ０）。
【０１０８】
同様に、以下の命題を立証することができる。すなわち、ｖとして示す行列に関連する多項式ｖ（ｘ，ｙ）が基底Ｍ上のその因数分解において行列Ｍの多項式のみを使用し、それに対応する行列のすべての行がコードＢに含まれる（それぞれＢ０）場合のみ、行列ｖのすべての行がコードＢに含まれる（それぞれＢ０）。
【０１０９】
ａは７に対して素の整数とすると、以下の命題を立証することができる。すなわち、ｖとして示す行列に関連する多項式ｖ（ｘ，ｙ）が基底Ｍ上のその因数分解においてＭの多項式のみを使用し、それに対応する行列の傾斜ａのすべての対角集合がコードＢに含まれる（それぞれＢ０）場合のみ、行列ｖの傾斜がａのすべての対角集合がコードＢに含まれる（それぞれＢ０）。
【０１１０】
７＊７平方行列は、そのすべての列、そのすべての行、および傾斜１のそのすべての対角集合がコードＢに含まれる場合にプロパティＰ１を確認すると言われる。
【０１１１】
基底Ｍの多項式に関連する行列を検査することにより、プロパティＰ１を確認する基底Ｍの４つの行列、すなわち、ｅ０、ｅ１、ｅ３、ｅ１０が存在することが確証される。また、プロパティＰ１を確認する行列の集合が次元１０のイデアルであることを立証することができる。行列ｅ０は１つの次元単位に寄与し、行列ｅ１、ｅ３、ｅ１０はそれぞれ３つの次元単位に寄与する。
【０１１２】
７＊７平方行列は、そのすべての列およびそのすべての行がコードＢに含まれる場合、ならびに傾斜１のそのすべての対角集合がコードＢ０に含まれる場合にプロパティＰ２を確認すると言われる。
【０１１３】
基底Ｍの多項式に関連する行列を検査することにより、プロパティＰ２を確認する基底Ｍの５つの行列、すなわち、ｅ１、ｅ３、ｅ７、ｅ９、ｅ１０が存在することが確証される。また、プロパティＰ２を確認する行列の集合が次元１５のイデアルであることを立証することができる。上記の行列はそれぞれ３つの次元単位に寄与する。
【０１１４】
７＊７平方行列は、そのすべての行がコードＢに含まれる場合、ならびにそのすべての列および傾斜１のそのすべての対角集合がコードＢ０に含まれる場合にプロパティＰ３を確認すると言われる。
【０１１５】
基底Ｍの多項式に関連する行列を検査することにより、プロパティＰ３を確認する基底Ｍの７つの行列、すなわち、ｅ１、ｅ２、ｅ７、ｅ９、ｅ１０、ｅ１２、ｅ１４が存在することが確証される。また、プロパティＰ３を確認する行列の集合が次元２１のイデアルであることを立証することができる。上記の行列はそれぞれ３つの次元単位に寄与する。
【０１１６】
７＊７平方行列は、そのすべての行、そのすべての列、および傾斜１のそのすべての対角集合がコードＢ０に含まれる場合にプロパティＰ４を確認すると言われる。
【０１１７】
基底Ｍの多項式に関連する行列を検査することにより、プロパティＰ４を確認する基底Ｍの１０個の行列、すなわち、ｅ６、ｅ７、ｅ８、ｅ９、ｅ１０、ｅ１２、ｅ１３、ｅ１４、ｅ１５、ｅ１６が存在することが確証される。また、プロパティＰ４を確認する行列の集合が次元３０のイデアルであることを立証することができる。上記の行列はそれぞれ３つの次元単位に寄与する。
【０１１８】
次に、特定の例を使用して、プロパティＰ１を確認するＭの行列のイデアルを使用するコーディング、情報伝送、エラー訂正、デコーディングの方法について説明する。
【０１１９】
このイデアルが次元１０のものであることは上記で示されている。したがって、伝送すべき２進シーケンスは、それぞれが１０ビットの情報を含むブロックに分解される。このような１０ビットの情報は、集合｛０，１｝の要素の１０項目集合、すなわち、ｗ＝（ａ０，ａ１，ａ２，ｂ０，ｂ１，ｂ２，ｃ０，ｃ１，ｃ２，ｄ０）によって表される。
【０１２０】
図１では、コーディング装置をブロック図形式で示し、全体的な参照番号１０によって示す。これは、アドレス／データ・バス１０２によって相互接続された
中央演算処理装置１０６と、
ランダム・アクセス・メモリＲＡＭ１０４と、
読取り専用メモリＲＯＭ１０５と、
コーディング装置が伝送しなければならない情報を２進データの形で受信するために使用する入力ポート１０３と、
２つのシーケンスを順に受信し、それぞれの異種同形要素から形成された対を変調器１０９に同時に伝送する出力ポート１０７とを有し、その変調器１０９は、このような対のシーケンスから、ここでは「６４−ＱＡＭ」という名前で知られる６４状態アルファベットからなる伝送チャネルのアルファベットの記号のシーケンスを生成し、
さらに、バス１０２から独立して、
搬送周波数に応じて変調器１０９によって変調された信号の転置とその増幅を実行する極超短波インタフェース回路と、この転置増幅信号を同報通信する送信アンテナとを有する送信機１１０と、
出力ポート１０７に接続されたディスプレイ画面１０８と、
入力ポート１０３に接続され、順に使用したキーボード・キーを表すバイトを供給するキーボード１０１と、
入力ポート１０３に接続され、２進データの形の伝送すべきデータの入力１１１とを有する。
【０１２１】
図１に示す要素のそれぞれは、伝送システムおよびより一般的には情報処理システムの当業者にとって周知のものである。したがって、これらの要素についてはここで説明しない。
【０１２２】
但し、以下に使用する「レジスタ」という単語は、それぞれのメモリにおいて、小容量のメモリ領域（数個の２進データ項目のみを格納する）と、大容量のメモリ領域（プログラム全体を格納できる）の両方を示すことに留意されたい。
【０１２３】
ランダム・アクセス・メモリ１０４は、この説明の残りの部分において、そこに格納する値のデータと同じ名前を有するメモリ・レジスタにデータ、変数、中間処理結果を格納する。ランダム・アクセス・メモリ１０４は、特に
・レジスタ「ａ（ｚ）」と、
・レジスタ「ｖ１（ｘ，ｙ）」と、
・レジスタ「ｂ（ｚ）」と、
・レジスタ「ｖ２（ｘ，ｙ）」と、
・レジスタ「ｃ（ｚ）」と、
・レジスタ「ｖ３（ｘ，ｙ）」と、
・レジスタ「ｃ（ｚ）」と、
・レジスタ「ｖ４（ｘ，ｙ）」と、
・レジスタ「ｖ（ｘ，ｙ）」とを含む。
【０１２４】
ランダム・アクセス・メモリ１０４は、コンピュータまたはマイクロプロセッサによって読取り可能な情報記憶手段を構成する。これは、この方法を実現した結果得られるデータ、すなわち、コード化データを格納する。
【０１２５】
変形態様によれば、ランダム・アクセス・メモリ１０４は、部分的または全体的に取外し可能であり、たとえば、磁気テープまたはディスケットを含む。
【０１２６】
読取り専用メモリ１０５は、これ以降の説明において、そこに格納する値のデータと同じ名前を有するメモリ・レジスタにデータを格納する。読取り専用メモリは、特に
・「コーディング・プログラム」というレジスタ内の中央演算処理装置１０６のオペレーティング・プログラムと、
・多項式ｅ０（ｘ，ｙ）、ｅ１（ｘ，ｙ）、ｅ３（ｘ，ｙ）、ｅ１０（ｘ，ｙ）とを含む。
【０１２７】
中央演算処理装置１０６は、図２に記載する流れ図を実現するように適合されている。この図２では、図示していない初期設定操作に続いて、操作３００中に、図１に示す送信装置へのデータの入力が行われ、１０項目集合ｗが入力１１１および入力ポート１０３を通過してランダム・アクセス・メモリ１０４にアクセスすることが分かるだろう。
【０１２８】
次に、コーディングが始まる。
【０１２９】
ただし、プロパティＰ１を確認する基底Ｍの要素は行列ｅ０、ｅ１、ｅ３、ｅ１０であることを想起されたい。
【０１３０】
行列ｅ１の場合、一方では、それが３つの次元単位に寄与することが指定されており、もう一方では、行列ｅ１の傾斜１の対角集合が非定数であり、すなわち、行列ｅ１の傾斜１の各対角集合が少なくとも１つの「０」と少なくとも１つの「１」を含む（他の傾斜でもこのプロパティを確認する）ことに留意されたい。
【０１３１】
操作３０１中に、中央装置１０６は、２進係数を備えた２次の変数として多項式ａ（ｚ）＝ａ０＋ａ１＊ｚ＋ａ２＊ｚ２の係数により、伝送すべき３ビットの情報を表す（多項式ａ（ｚ）の次数は、ｅ１が寄与し、そこから１を差し引く次元単位の数に対応する）。多項式ａ（ｚ）は、ランダム・アクセス・メモリ１０４のレジスタ「ａ（ｚ）」に格納される。次に、操作３０２中に、中央装置１０６はｖ１（ｘ，ｙ）＝ａ（ｘ＊ｙ）を定義する（行列ｅ１の傾斜１の対角集合は定数ではないのでｘ１  ＊ｙ１は多項式ａ（ｚ）に入るように選択され、非定数であるというプロパティを確認する非無限傾斜ｍの対角集合が検討された場合、ｘｍ  ＊ｙ１が選択されたはずであり、非定数であるというプロパティを確認する無限傾斜ｍの対角集合が検討された場合、ｘが選択されたはずである）。多項式ｖ１（ｘ，ｙ）はランダム・アクセス・メモリ１０４のレジスタ「ｖ１（ｘ，ｙ）」に格納される。
【０１３２】
操作３０３中に、行列ｅ３について同じように中央装置１０６は、２次の変数として多項式ｂ（ｚ）をｂ（ｚ）＝ｂ０＋ｂ１＊ｚ＋ｂ２＊ｚ２として定義する（以前と同様、行列ｅ３は３つの次元単位に寄与するからである）。多項式ｂ（ｚ）はランダム・アクセス・メモリ１０４のレジスタ「ｂ（ｚ）」に格納される。次に、操作３０４中に、中央装置１０６はｖ２（ｘ，ｙ）＝ｂ（ｘ＊ｙ）を定義する（以前と同様、行列ｅ３の傾斜１の対角集合は定数ではないからである）。多項式ｖ２（ｘ，ｙ）はランダム・アクセス・メモリ１０４のレジスタ「ｖ２（ｘ，ｙ）」に格納される。
【０１３３】
操作３０５中に、行列ｅ１０について同様に、２次の変数として多項式ｃ（ｚ）をｃ（ｚ）＝ｃ０＋ｃ１＊ｚ＋ｃ２＊ｚ２として定義する（以前と同様、行列ｅ１０は３つの次元単位に寄与するからである）。多項式ｃ（ｚ）は、ランダム・アクセス・メモリ１０４のレジスタ「ｃ（ｚ）」に格納される。次に、操作３０６中に、中央装置１０６はｖ３（ｘ，ｙ）＝ｃ（ｙ）を定義する（行列ｅ１０の傾斜０の対角集合は定数ではないのでｘ０＊ｙ１は多項式ｃ（ｚ）に入るように選択される）。多項式ｖ３（ｘ，ｙ）はランダム・アクセス・メモリ１０４のレジスタ「ｖ３（ｘ，ｙ）」に格納される。
【０１３４】
操作３０７中に、行列ｅ０について同様に中央装置は、０次の変数として多項式ｄ（ｚ）をｄ（ｚ）＝ｄ０として定義する（行列ｅ０は１つの次元単位に寄与するからである）。ｄ（ｚ）はランダム・アクセス・メモリ１０４のレジスタ「ｄ（ｚ）」に格納される。次に、操作３０８中に、中央装置１０６はｖ４（ｘ，ｙ）＝ｄ０を定義する。多項式ｖ４（ｘ，ｙ）はランダム・アクセス・メモリ１０４のレジスタ「ｖ４（ｘ，ｙ）」に格納される。
【０１３５】
操作３０９中に、中央装置は以下のように多項式を計算する。
【０１３６】
ｖ（ｘ，ｙ）＝ｖ１（ｘ，ｙ）＊ｅ１（ｘ，ｙ）＋ｖ２（ｘ，ｙ）＊ｅ３（ｘ，ｙ）＋ｖ３（ｘ，ｙ）＊ｅ１０（ｘ，ｙ）＋ｖ４（ｘ，ｙ）＊ｅ０（ｘ，ｙ）多項式ｖ（ｘ，ｙ）はランダム・アクセス・メモリ１０４のレジスタ「ｖ（ｘ，ｙ）」に格納される。コーディングが実行されると、操作３１０中に受信機が把握している順序で多項式ｖ（ｘ，ｙ）の記号ｖｉ，ｊが伝送される。
【０１３７】
次に、操作３００を繰り返す。
【０１３８】
全体的な参照番号２０によって図３に示す訂正デコーディング装置はブロック図形式で示されている。これは、アドレス／データ・バス２０２によって相互接続された
・中央演算処理装置２０６と、
・ランダム・アクセス・メモリＲＡＭ２０４と、
・読取り専用メモリＲＯＭ２０５と、
・訂正デコーディング装置が処理、格納、または伝送しなければならない情報を受信するために使用する入力ポート２０３と、
・訂正デコーディング装置がデコードした２進情報記号のシーケンスを伝送できるようにする出力ポート２０７とを有し、
さらに、バス２０２から独立して、
・コーディング装置の送信アンテナ１１０によって送信された信号を表す信号を受信する受信アンテナと、受信した信号の自動利得制御およびベースバンドへの転置を実行する極超短波インタフェース回路とを有する受信機２０９と、
・入力ポート２０３に接続された復調器２１０であって、受信機２０９によって受信され、図１に示す装置による６４状態直交振幅変調によって事前に変調された記号のシーケンスを表す記号の２つのシーケンスの形で復調を実行する復調器２１０と、
・出力ポート２０７に接続されたディスプレイ画面２０８と、
・入力ポート２０３に接続されたキーボード２０１とを有する。
【０１３９】
ただし、復調器２１０は、いわゆる「ハード」復調の場合の整数のシーケンスまたはいわゆる「ソフト」復調の場合のいずれかの小数のシーケンスを供給できることに留意されたい。したがって、ハード復調を行うかソフト復調を行うかに応じて、受信した記号のシーケンスは、伝送チャネル上で使用するアルファベットの数値として、または、たとえば、伝送した信号に関する確率性の値など、より多様な値を取ることができる数値としてそれぞれ推定される。
【０１４０】
図３に示す要素のそれぞれは、訂正および情報デコーディング・システムならびにより一般的には情報処理システムの当業者にとって周知のものである。したがって、これらの要素についてはここで説明しない。
【０１４１】
ランダム・アクセス・メモリ２０４は、これ以降の説明において、そこに格納する値のデータと同じ名前を有するメモリ・レジスタにデータ、変数、中間処理結果を格納する。ランダム・アクセス・メモリ２０４は、特に
・レジスタ「ｒ（ｘ，ｙ）」と、
・レジスタ「
【０１４２】
【数１２】
0004155539.tif 000013
（以下ｕ＾とする）（ｘ，ｙ）」と、
・レジスタ「ｕ＾ａ（ｘ，ｙ）」と、
・レジスタ「ｕ＾ｂ（ｘ，ｙ）」と、
・レジスタ「ｕ＾ｃ（ｘ，ｙ）」と、
・レジスタ「ｕ＾ｄ（ｘ，ｙ）」と、
・レジスタ「計算」であって、一連のデコードした２進データが格納され、その連続が出力ポート２０７上に置かれる予定であるレジスタとを含む。
【０１４３】
読取り専用メモリ２０５は、これ以降の説明において、そこに格納する値のデータと同じ名前を有するメモリ・レジスタにデータを格納する。読取り専用メモリ２０５は、特に
・「プログラム」というレジスタ内の中央演算処理装置２０６のオペレーティング・プログラムと、
−多項式ｅ０（ｘ，ｙ）、ｅ１（ｘ，ｙ）、ｅ３（ｘ，ｙ）、ｅ１０（ｘ，ｙ）とを含む。
【０１４４】
読取り専用メモリ２０５は、コンピュータ又はマイクロプロセッサによって読取り可能な情報記憶媒体を構成する。これは、本発明の目的である訂正デコーディング方法の実現を可能にするコンピュータ・プログラムの命令を格納する。
【０１４５】
変形態様によれば、読取り専用メモリ２０５は、部分的又は全体的に取外し可能であり、例えば、磁気テープ、ディスケット、またはＣＤ−ＲＯＭを含む。
【０１４６】
中央演算処理装置２０６は、図４に記載する流れ図を実現するように適合されている。図示していない初期設定操作中に、図３に示す受信装置が初期設定される。
【０１４７】
対応する受信信号の復調後、受信機では、ランダム・アクセス・メモリ２０４のレジスタ「ｒ（ｘ，ｙ）」に格納された信号ｒ（ｘ，ｙ）が使用可能になる。
【０１３１】
次に、特に加法性白色ガウス雑音を伴う理論上のチャネルに近いチャネルに適合され、本実施形態により実行されるエラー訂正およびデコーディングについて説明する。
【０１４８】
ここでも、長さ４９次元１０の同じ符号の利用を考える。
【０１４９】
各符号語は、２進数の７×７行列または多項式：
【０１５０】
【数１３】
0004155539.tif 000014
で表わされる。また
【０１５１】
【数１４】
0004155539.tif 000015
を４９個の受信語の多項式表現とする。これは、送信語ｖijを表わす電気信号に対して雑音の作用を受けて得られた数である。
【０１５２】
今、考察している符号語の例では、全ての行、全ての列、傾斜１の全ての対角成分が、（７、４）ハミング符号の符号語である。ｒ（ｘ，ｙ）を復号するには、まず、０≦i,j≦６に対して、Ｔi,j＝log[f(ri,j)]を（i,j）成分とする７×７行列Ｔを構成し、以下の反復手順を適用する。
【０１５３】
ステップ１：Ｔの行を対象とする。インデックス（i,j）のあらゆるペアについて、対応する６個のＴi,k，k≠jから、ｖi,j＝１である確率とｖi,j＝０である確率との比率を計算する。１より大なる値を底とするこの比率の対数をＪi,jで表わし、Ｊi,jを成分とする７×７行列をＪで表わす。Ｋ１＝Ｊと設定する。第１の復号ステップで生成されたこの行列Ｋ１は、第１のステップで得られた外部情報の行列である。
【０１５４】
ステップ２：行列Ｔ及びＫ１をステップ２に対する先験的情報として、これらの行列の列を対象とする。Ｌ＝Ｔ＋Ｋ１と設定する。
【０１５５】
インデックス（i,j）のあらゆるペアについて、６個の値Ｌk,j，k≠iから、ｖi,j＝１である確率とｖi,j＝０である確率との比率を計算する。１より大なる値を底とするこの比率の対数をＪi,jで表わし、Ｊi,jを成分とする７×７行列をＪで表わす。Ｋ２＝Ｊと設定する。第２の復号ステップで生成されたこの行列Ｋ２は、第２のステップで得られた外部情報の行列である。
【０１５６】
ステップ３：行列Ｔ及びＫ２をステップ３に対する先験的情報として、これらの行列の列を対象とする。Ｌ＝Ｔ＋Ｋ２と設定する。
【０１５７】
インデックス（i,j）のあらゆるペアについて、６個の値Ｌi+k,j+k，k＝１,・・・,６から、ｖi,j＝１である確率とｖi,j＝０である確率との比率を計算する。１より大なる値を底とするこの比率の対数をＪi,jで表わし、Ｊi,jを成分とする７×７行列をＪで表わす。Ｋ３＝Ｊと設定する。第３の復号ステップで生成されたこの行列Ｋ３は、第３のステップで得られた外部情報の行列である。
【０１５８】
より一般的には、ｍ≧４なるステップｍを説明できる。
【０１５９】
ステップｍ：行列Ｔ及びＫｍ−１から、モジュロ３におけるｍの剰余は、１、２、０のいずれかに等しいということより、Ｌ＝Ｔ＋Ｋｍ−１の行、列、主対角成分のいずれかに基づいて行列Ｊを得る。最後にＫｍ＝Ｊと設定する。  事前に選択した回数のステップを実行した後、以下の計算を行なう。
【０１６０】
Ｄ＝Ｔ＋Ｋｓ＋Ｋｓ−１＋Ｋｓ−２
もしＤi,j≧０ならば、ｖi,jは１であると推定され、Ｄi,j<０ならば、ｖi,jは１であると推定される。
【０１６１】
次に、操作４００中に、多項式ｕ＾（ｘ，ｙ）はランダム・アクセス・メモリ２０４のレジスタ「ｕ＾（ｘ，ｙ）」に格納される。これは、前述の多項式ａ（ｚ）、ｂ（ｚ）、ｃ（ｚ）、ｄ（ｚ）によって表される伝送情報を回復するために多項式ｕ＾（ｘ，ｙ）のデコーディングを実行するということである。
【０１６２】
これらの多項式を推定するために、以下の手順を実行する。
【０１６３】
多項式ｕ＾（ｘ，ｙ）がそのコードに属さない場合、多項式ｕ＾（ｘ，ｙ）は除去される。というのは、この場合、エラー訂正は確かに有効ではなかったからである。  そうではない場合、以下の操作を実行する。
【０１６４】
操作４０１中に、ｕ＾ａ（ｘ，ｙ）＝ｕ＾（ｘ，ｙ）＊ｅ１（ｘ，ｙ）が計算される。次に、多項式ｕ＾ａ（ｘ，ｙ）はランダム・アクセス・メモリ２０４のディレクトリ「ｕ＾ａ（ｘ，ｙ）」に格納される。次に、多項式ｕ＾ａ（ｘ，ｙ）において０〜６の間の整数指数ｉの場合の単項式ｘ６ｙｉの係数の値のいずれか１つをそれに割り当てることにより係数ａ２が推定され、実際にこれらの７つの係数は必ず等しくなる。同様に、多項式ｕ＾ａ（ｘ，ｙ）において０〜６の間の整数指数ｉの場合の単項式ｘ５ｙｉの係数の値のいずれか１つをそれに割り当てることにより係数ａ１が推定され、多項式ｕ＾ａ（ｘ，ｙ）において０〜６の間の整数指数ｉおよびｊの場合にモジュロ２で取られた単項式ｘ４ｙｉおよびｘ６ｙｉの係数の合計として得られる値のいずれか１つをそれに割り当てることにより係数ａ０が推定される。この指数ａ０、ａ１、ａ２はランダム・アクセス・メモリ２０４のレジスタ「計算」に格納される。
【０１６５】
操作４０２中に、ｕ＾ｂ（ｘ，ｙ）＝ｕ＾（ｘ，ｙ）＊ｅ３（ｘ，ｙ）が計算される。次に、多項式ｕ＾ｂ（ｘ，ｙ）はランダム・アクセス・メモリ２０４のディレクトリ「ｕ＾ｂ（ｘ，ｙ）」に格納される。次に、多項式ｕ＾ｂ（ｘ，ｙ）において０〜６の間の整数指数ｉの場合の単項式ｙ６ｘｉの係数の値のいずれか１つをそれに割り当てることにより係数ｂ２が推定され、実際にこれらの７つの係数は必ず等しくなる。同様に、多項式ｕ＾ｂ（ｘ，ｙ）において０〜６の間の整数ｉの場合の単項式ｙ５ｘｉの係数の値のいずれか１つをそれに割り当てることにより係数ｂ１が推定され、多項式ｕ＾ｂ（ｘ，ｙ）において０〜６の間の整数指数ｉおよびｊの場合にモジュロ２で取られた単項式ｙ４ｘｉおよびｙ６ｘｉの係数の合計として得られる値のいずれか１つをそれに割り当てることにより指数ｂ０が推定される。この指数ｂ０、ｂ１、ｂ２はランダム・アクセス・メモリ２０４のレジスタ「計算」に格納される。
【０１６６】
操作４０３中に、ｕ＾ｃ（ｘ，ｙ）＝ｕ＾（ｘ，ｙ）＊ｅ１０（ｘ，ｙ）が計算される。次に、多項式ｕ＾ｃ（ｘ，ｙ）はランダム・アクセス・メモリ２０４のディレクトリ「ｕ＾ｃ（ｘ，ｙ）」に格納される。次に、多項式ｕ＾ｃ（ｘ，ｙ）において０〜６の間の整数ｉの場合にモジュロ（ｘ７＋１）で取られた単項式ｘ６−ｉｙｉの係数の値のいずれか１つをそれに割り当てることにより指数ｃ２が推定され、実際にこれらの７つの係数は必ず等しくなる。同様に、多項式ｕ＾ｃ（ｘ，ｙ）において０〜６の間の整数ｉの場合にモジュロ（ｘ７＋１）で取られた単項式ｘ５−ｉｙｉの係数の値のいずれか１つをそれに割り当てることにより指数ｃ１が推定され、多項式ｕ＾ｃ（ｘ，ｙ）において０〜６の間の整数ｉおよびｊの場合にモジュロ（ｘ７＋１）で取られた単項式ｘ４−ｉｙｉおよびｘ６−ｊｙｉの係数についてモジュロ２で取られた合計として得られる値のいずれか１つをそれに割り当てることにより指数ｃ０が推定される。この指数ｃ０、ｃ１、ｃ２はランダム・アクセス・メモリ２０４のレジスタ「計算」に格納される。
【０１６７】
操作４０４中に、ｕ＾ｄ（ｘ，ｙ）＝ｕ＾（ｘ，ｙ）＊ｅ０（ｘ，ｙ）が計算される。次に、ｕ＾ｄ（ｘ，ｙ）はランダム・アクセス・メモリ２０４のディレクトリ「ｕ＾ｄ（ｘ，ｙ）」に格納される。次に、多項式ｕ＾ｄ（ｘ，ｙ）の係数の値のいずれか１つをそれに割り当てることにより係数ｄ０が推定され、実際に多項式ｕ＾ｄ（ｘ，ｙ）の４９個の係数は必ず等しくなる。係数ｄ０はランダム・アクセス・メモリ２０４のレジスタ「計算」に格納される。このようにしてデコーディングが実行されると、操作４０５中に要素ａ０、ａ１、ａ２、ｂ０、ｂ１、ｂ２、ｃ０、ｃ１、ｃ２、ｄ０が画面２０８上に表示される。
【０１６８】
次に、操作４００を繰り返す。
【０１６９】
上記の特定の例に関してデコーディング方法を完全に説明した。
【０１７０】
一般に、図４に関連して、デコーディングの場合に以下の手順を実行する。
【０１７１】
第１の変形態様によれば、まず、伝送品質基準は伝送したワードｖ（ｘ，ｙ）の訂正後のエラーの尤度の逆数であると想定する。
【０１７２】
この場合、他にいかなる予防措置も施さずに、以下のように多項式ｕ＾（ｘ，ｙ）を情報記号のシーケンスに変換することができる。コードを与えると、ｖ（ｘ，ｙ）の因数分解で現れる可能性のある各最小ベキ等ｅ（ｘ，ｙ）ごとに、ｘＮＶ−１およびｙＮＨ−１を法としてｖ（ｘ，ｙ），ｕ＾（ｘ，ｙ）＊ｅ（ｘ，ｙ）が計算される（この場合、ＮＨ＝ＮＶ＝７）。
【０１７３】
コードの構造を考慮すると、この乗算の結果は多項式ａ（ｅ）（ｘ，ｙ）＊ｅ（ｘ，ｙ）によって示され、多項式ａ（ｅ）（ｘ，ｙ）は、適切に選択した指数ｉおよびｊについてｚ＝ｘｉｙｊを設定することにより、低次の多項式ａ（ｅ）（ｚ）によって得られ（使用する例では次数が０または２になることが分かっている）、このような適切な選択は、０〜Ｎ−１の間の整数ｔについてｘＮ−１およびｙＮ−１を法としてｘｔ＊ｉｙｔ＊ｊの係数がｅ（ｘ，ｙ）においてすべて同一にはならないように選択された（ｉ，ｊ）の対である。可能な多項式ａ（ｅ）（ｚ）の数は少ないので、多項式ａ（ｅ）（ｚ）の識別は簡単である。たとえば、使用する例ではｅ（ｘ，ｙ）がベキ等ｅ０（ｘ，ｙ）である場合にｕ＾（ｘ，ｙ）＊ｅ（ｘ，ｙ）の任意のビットを取るかまたはｅ（ｘ，ｙ）がｅ０（ｘ，ｙ）とは異なる最小ベキ等である場合にｕ＾（ｘ，ｙ）＊ｅ（ｘ，ｙ）の非同一記号の事前に選択された対角集合の３つの連続ビットを取ることにより、読取り専用メモリによって行うことができる。この場合も、多項式ａ（ｅ）（ｚ）の集合の係数によって伝送した情報が与えられる。
【０１７４】
第２の変形態様によれば、選択した品質基準は、推定した情報ビット当たりのエラーの尤度の基準であると想定する。この場合、コーダ・レベルで特定の予防措置を講じることが重要である。というのは、システマティック・コーダ、すなわち、情報記号を変更せずにコード化ワード内の所与の選択位置でその情報記号を再生するコーダを選択することが有利であるからである。この問題を解決する方法は、Ｈ．ＩｍａｉおよびＳ．Ｓａｋａｔａによって研究されている（この主題については、１９７７年にＩｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｎｔｒｏｌ、ｖｏｌ．３４、１〜２１ページに発表されたＨ．Ｉｍａｉの「Ａ  ｔｈｅｏｒｙ  ｏｆ  ｔｗｏ  ｄｉｍｅｎｓｉｏｎａｌ  ｃｙｃｌｉｃ  ｃｏｄｅｓ」という論文または１９８１年にＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ、ｖｏｌ  ２７、５５６〜５６５ページに発表されたＳ．Ｓａｋａｔａの「Ｏｎ  ｄｅｔｅｒｍｉｎｉｎｇ  ｔｈｅ  ｉｎｄｅｐｅｎｄｅｎｔ  ｐｏｉｎｔ  ｓｅｔ  ｆｏｒ  ｄｏｕｂｌｙ  ｐｅｒｉｏｄｉｃ  ａｒｒａｙｓ  ａｎｄ  ｅｎｃｏｄｉｎｇ  ｔｗｏ−ｄｉｍｅｎｓｉｏｎａｌ  ｃｙｃｌｉｃ  ｃｏｄｅｓ  ａｎｄ  ｔｈｅｉｒ  ｄｕａｌｓ」という論文を参照すること）。当然のことながら、システマティック・コーダを使用する場合、コーディング操作は、少なくとも理論上は少々複雑になる。これに対して、デコーディング操作は簡略化される。というのは、多項式ｕ＾（ｘ，ｙ）の係数からの情報記号の計算は単純な読取りによって行われ、したがって、前述の操作４０１〜４０４をもはや含まないからである。
【０１７５】
ここでは説明しない同様の実施の形態では、プロパティＰ２（それぞれ、プロパティＰ３またはプロパティＰ４）を確認する基底Ｍの行列のイデアルを使用する。プロパティＰ１を確認する基底Ｍの行列のイデアルを伴う実施の形態により、コーディングおよび伝送方法を理解することが可能になる。すなわち、この例では、４９ビットのメッセージとともに１０ビットの情報を伝送することができる。プロパティＰ２（それぞれ、プロパティＰ３またはプロパティＰ４）を確認する基底Ｍの行列のイデアルを取ることにより、効率は増大する。
【０１７６】
また、以下の実施の形態でも、効率を増大することが可能になる。したがって、同様に、Ｎｖ＝Ｎｈ＝Ｎ＝３１の場合について検討することができる。この場合も理論上の状況の表記法および規定を使用する。
【０１７７】
特に、このような表記法を適用すると、集合Ｅが次元３１＊３１＝９６１のイデアルであることが分かる。
【０１７８】
以下の関数
ｆ（ｘ）＝１＋（ｘ５＋ｘ１０＋ｘ２０＋ｘ９＋ｘ１８）＋（ｘ７＋ｘ１４＋ｘ２８＋ｘ２５＋ｘ１９）＋（ｘ１１＋ｘ２２＋ｘ１３＋ｘ２６＋ｘ２１）および
ｓ（ｘ）＝Σｉ＝０〜３０ｘｉと、
以下の集合
Ｍａ＝｛１，３，５，７，１１，１５｝および
Ｍｂ＝｛０，１，２，３，．．．２９，３０｝とを定義する。
【０１７９】
集合Ｍａに属す要素ａと集合Ｍｂに属す要素ｂとを備えたタイプｆ（ｘａ）＊ｓ（ｘｂｙ）の多項式を定義する。このタイプの多項式は１８６個存在する。
【０１８０】
集合Ｍａに属す要素ａを備えたタイプｆ（ｙａ）＊ｓ（ｘ）の多項式を定義する。このタイプの多項式は６個存在する。
【０１８１】
１〜１９２の間のｌについてｅｌによって示される、全部で１９２個の異なる多項式がすでに定義されている。
【０１８２】
上記の多項式とは別個の多項式ｅ０（ｘ，ｙ）＝ｓ（ｘ）＊ｓ（ｙ）も定義する。０〜１９２の間の指数ｌの場合の１９３個の多項式ｅｌは集合Ｅのベキ等最小多項式である。理論部分で明記したように、これらは集合Ｅの基底を形成する。
【０１８３】
コードＢは（３１，２６）ハミング・コードであるものとして定義され、コードＢ０は、モジュロ２で取られた集合｛０，１｝の３１項目集合の要素の合計が０になる場合にその３１項目集合がそのコードに含まれるものとして定義される。
【０１８４】
０になるかあるいは無限大または３１に対して素の整数になる要素ｒが考慮され、３１＊３１平方行列は、傾斜ｒのそのすべての対角集合がコードＢに含まれる場合にプロパティＰｒを確認するものであると言われる。プロパティＰｒを確認する行列の集合がイデアルであり、このイデアルがＣｒとして示されることを立証することができる。
【０１８５】
行列の集合をざっと調べる単純なコンピュータ・プログラムを使用することにより、要素ｒが形式５＊２ｔまたは１１＊２ｔである場合にイデアルＣｒの次元ｋｒが５７１になることを確認することができる。要素ｒが上記の形式ではない場合、イデアルＣｒの次元ｋｒはせいぜい５６６になる。
【０１８６】
要素ｒが形式５＊２ｔまたは１１＊２ｔである場合、イデアルＣｒは１１５個の多項式によって生成される。すなわち、多項式ｅ０（ｘ，ｙ）とそのうちの１１４個は、ａが集合Ｍａに属し、ｂが集合Ｍｂに属すタイプｆ（ｘａ）＊ｓ（ｘｂｙ）のものであるかまたはａが集合Ｍａに属すタイプｆ（ｙａ）＊ｓ（ｘ）のものである。多項式ｅ０（ｘ，ｙ）はイデアルＣｒの次元の１つの単位に寄与する。残りの１１４個の多項式はそれぞれイデアルＣｒの次元の５つの単位に寄与し、したがって、次元５７１＝５＊１４４＋１が正しく回復される。
【０１８７】
ｒ＝５：ｋ５が５７１になると解釈して、一例においてこれを説明する。以下の表Ｉは、前に導入したタイプの多項式を定義することを可能にする要素対ａ、ｂまたは単集合ａを示し、多項式ｅ０（ｘ，ｙ）以外の１１４個の別個の多項式を列挙するものである。
表１：
ａ＝３かつｂが｛０，１，３，４，５，６，８，９，１０，１１，１３，１５，１６，１７，１８，２０，２１，２２，２３，２６，２７，２９｝に属す；
ａ＝５かつｂが｛１，２，３，４，５，６，７，８，９，１０，１２，１４，１５，１７，１９，２０，２３，２４，２５，２８，２９，３０｝に属す；
ａ＝７かつｂが｛０，１，２，４，５，７，９，１０，１３，１４，１５，１６，１８，１９，２０，２１，２３，２５，２６，２７，３０｝に属す；
ａ＝１１かつｂが｛０，１，２，３，４，６，７，８，１１，１２，１３，１６，１７，１９，２１，２２，２４，２６，２７，２８，２９，３０｝に属す；
ａ＝１５かつｂが｛０，３，５，１０，１１，１２，１４，１５，１７，１８，１９，２０，２２，２３，２４，２５，２６，２７，２８，２９，３０｝に属す；
ａが｛３，５，７，１１，１５｝に属す
２つの別個の要素ｒ１およびｒ２について検討する。すなわち、要素ｒ１（それぞれ要素ｒ２）は０または無限大になるかあるいは３１に対して素の整数になり、傾斜ｒ１またはｒ２のそのすべての対角集合がコードＢに含まれる場合、３１＊３１平方行列はプロパティＰｒ１，ｒ２を確認するものであると言われる。プロパティＰｒ１，ｒ２を確認する行列の集合がイデアルであり、このイデアルがＣｒ１，ｒ２として示されることを立証することができる。
【０１８８】
この場合も行列の集合をざっと調べる単純なコンピュータ・プログラムを使用することにより、以下の命題が確認される。すなわち、形式Ｃｒ１，ｒ２のイデアルの次元がせいぜい４８６であり、次元４８６の形式Ｃｒ１，ｒ２のイデアルが存在する。
【０１８９】
ｒ１およびｒ２は上記のように定義された整数とし、イデアルＣｒ１，ｒ２が次元４８６のものになるようにする。このイデアルは９７個の多項式によって生成される。すなわち、多項式ｅ０（ｘ，ｙ）と、要素ａが集合Ｍａに属し、要素ｂが集合Ｍｂに属すタイプｆ（ｘａ）＊ｓ（ｘｂｙ）または要素ａが集合Ｍａに属すタイプｆ（ｙａ）＊ｓ（ｘ）の９７個の別個の多項式である。多項式ｅ０（ｘ，ｙ）はイデアルＣｒ１，ｒ２の次元の１つの次数に寄与する。残りの９７個の多項式はそれぞれイデアルＣｒ１，ｒ２の次元の５つの単位に寄与し、したがって、次元４８６＝５＊９７＋１が正しく回復される。
【０１９０】
ｒ１＝５およびｒ２＝１０になると解釈して、一例においてこれを説明する。以下の表ＩＩは、前に導入したタイプの多項式を定義することを可能にする要素対ａ、ｂまたは単集合ａを示し、多項式ｅ０（ｘ，ｙ）以外の９７個の多項式を列挙するものである。
表２：
ａ＝３かつｂが｛０，１，３，５，６，８，９，１０，１１，１３，１５，１６，１８，２０，２１，２２，２３，２６，２７｝に属す；
ａ＝５かつｂが｛２，３，４，６，７，８，９，１０，１２，１４，１５，１７，１９，２０，２４，２５，２８，２９，３０｝に属す；
ａ＝７かつｂが｛０，１，２，４，５，７，９，１０，１４，１５，１８，１９，２０，２１，２３，２５，２６，２８，３０｝に属す；
ａ＝１１かつｂが｛０，１，２，３，４，６，７，８，１１，１２，１３，１６，１７，２１，２２，２４，２６，２７，２９｝に属す；
ａ＝１５かつｂが｛０，３，５，１０，１５，１７，１９，２０，２２，２３，２４，２５，２７，２８，２９，３０｝に属す；
ａが｛３，５，７，１１，１５｝に属す
次に対内で別個の３つの要素ｒ１、ｒ２、ｒ３について検討すると、ｒ１（それぞれｒ２およびｒ３）は０または無限大になるかあるいは３１に対して素の整数になる。傾斜ｒ１またはｒ２またはｒ３のそのすべての対角集合がコードＢに含まれる場合、３１＊３１平方行列はプロパティＰｒ１，ｒ２，ｒ３を確認するものであると言われる。プロパティＰｒ１，ｒ２，ｒ３を確認する行列の集合がイデアルであり、このイデアルがＣｒ１，ｒ２，ｒ３として示されることを立証することができる。
【０１９１】
この場合も行列の集合をざっと調べる単純なコンピュータ・プログラムを使用することにより、以下の命題が確認される。すなわち、形式Ｃｒ１，ｒ２，ｒ３のイデアルの次元がせいぜい４１１であり、次元４１１の形式Ｃｒ１，ｒ２，ｒ３のイデアルが存在する。
【０１９２】
ｒ１、ｒ２、ｒ３は上記のように定義された整数とし、イデアルＣｒ１，ｒ２，ｒ３が次元４１１のものになるようにする。このイデアルは８２個の多項式によって生成される。すなわち、多項式ｅ０（ｘ，ｙ）と、要素ａが集合Ｍａに属し、要素ｂが集合Ｍｂに属すタイプｆ（ｘａ）＊ｓ（ｘｂｙ）または要素ａが集合Ｍａに属すタイプｆ（ｙａ）＊ｓ（ｘ）の８２個の別個の多項式である。多項式ｅ０（ｘ，ｙ）はＣｒ１，ｒ２，ｒ３の次元の１つの単位に寄与する。残りの８２個の多項式はそれぞれＣｒ１，ｒ２，ｒ３の次元の５つの単位に寄与し、したがって、次元４１１＝５＊８２＋１が正しく回復される。
【０１９３】
ｒ１＝１、ｒ２＝１０、ｒ３＝２１になると解釈して、一例においてこれを説明する。以下の表ＩＩＩは、前に導入したタイプの多項式を定義することを可能にする要素対ａ、ｂまたは単集合ａを示し、多項式ｅ０（ｘ，ｙ）以外の８２個の多項式を列挙するものである。
表３：
ａ＝３かつｂが｛０，１，２，３，５，６，１０，１１，１２，１３，１６，２１，２２，２３，２７，３０｝に属す；
ａ＝５かつｂが｛２，４，６，７，８，９，１０，１５，１７，１８，１９，２０，２４，２５，２８，２９，３０｝に属す；
ａ＝７かつｂが｛０，１，５，８，９，１０，１１，１５，１９，２０，２１，２３，２６，２８，２９，３０｝に属す；
ａ＝１１かつｂが｛１，２，３，４，７，１２，１３，１４，１６，１７，２２，２３，２４，２５，２７，２９｝に属す；
ａ＝１５かつｂが｛０，７，１０，１３，１５，１９，２０，２１，２４，２７，２８，３０｝に属す；
ａが｛３，５，７，１１，１５｝に属す
次に対内で別個の４つの要素ｒ１、ｒ２、ｒ３、ｒ４について検討すると、ｒ１（それぞれｒ２、ｒ３、ｒ４）は０または無限大になるかあるいは３１に対して素の整数になる。傾斜ｒ１またはｒ２またはｒ３またはｒ４のそのすべての対角集合がコードＢに含まれる場合、３１＊３１平方行列はプロパティＰｒ１，ｒ２，ｒ３，ｒ４を確認するものであると言われる。プロパティＰｒ１，ｒ２，ｒ３，ｒ４を確認する行列の集合がイデアルであり、このイデアルがＣｒ１，ｒ２，ｒ３，ｒ４として示されることを立証することができる。
【０１９４】
この場合も行列の集合をざっと調べる単純なコンピュータ・プログラムを使用することにより、以下の命題が確認される。すなわち、形式Ｃｒ１，ｒ２，ｒ３，ｒ４のイデアルの次元がせいぜい３４６であり、次元３４６の形式Ｃｒ１，ｒ２，ｒ３，ｒ４のイデアルが存在する。
【０１９５】
ｒ１、ｒ２、ｒ３、ｒ４は上記のように定義された整数とし、イデアルＣｒ１，ｒ２，ｒ３，ｒ４が次元３４６のものになるようにする。このイデアルは７０個の多項式によって生成される。すなわち、多項式ｅ０（ｘ，ｙ）と、要素ａが集合Ｍａに属し、要素ｂが集合Ｍｂに属すタイプｆ（ｘａ）＊ｓ（ｘｂｙ）または要素ａが集合Ｍａに属すタイプｆ（ｙａ）＊ｓ（ｘ）の６９個の別個の多項式である。多項式ｅ０（ｘ，ｙ）はＣｒ１，ｒ２，ｒ３，ｒ４の次元の１つの単位に寄与する。残りの６９個の多項式はそれぞれＣｒ１，ｒ２，ｒ３，ｒ４の次元の５つの単位に寄与し、したがって、次元３４６＝５＊６９＋１が正しく回復される。
【０１９６】
ｒ１＝１、ｒ２＝５、ｒ３＝１０、ｒ４＝１８になると解釈して、一例においてこれを説明する。以下の表ＩＶは、前に導入したタイプの多項式を定義することを可能にする要素対ａ、ｂまたは単集合ａを示し、多項式ｅ０（ｘ，ｙ）以外の６９個の多項式を列挙するものである。
表４：
ａ＝３かつｂが｛０，３，５，９，１０，１１，１３，１６，１８，２１，２２，２３，２７｝に属す；
ａ＝５かつｂが｛２，３，４，６，７，１０，１５，１７，１９，２０，２４，２５，２８，３０｝に属す；
ａ＝７かつｂが｛０，１，２，５，９，１０，１４，１５，１９，２０，２３，２６，２８｝に属す；
ａ＝１１かつｂが｛０，１，２，３，４，８，１２，１３，１６，１７，２２，２４，２６，２９｝に属す；
ａ＝１５かつｂが｛０，１０，１５，２３，２４，２５，２７，２８，２９，３０｝に属す；
ａが｛３，５，７，１１，１５｝に属す
イデアルＣｒ１（それぞれ、Ｃｒ１，ｒ２、Ｃｒ１，ｒ２，ｒ３、またはＣｒ１，ｒ２，ｒ３，ｒ４）を使用すると、Ｎｈ＝Ｎｖ＝Ｎ＝７の場合にプロパティＰ１を確認する基底Ｍの行列のイデアルを使用する実施の形態について説明したものと同様のコーディングおよび伝送方法が実現される。当然のことながら、このようなすべての実施の形態は、本発明によるコーディングおよび伝送方法の非制限的例示として示すものである。
【０１９７】
ただし、ｍが３以上の場合、Ｂｈとして示され、ｈが１、２などになり、長さｎが２ｍ−１になり、次元ｋがｎ−ｍになるような複数の同等かつ巡回式のハミング・コードが存在することに留意されたい。そのそれぞれは、互いに異なる、いわゆるｍ次の原始生成元多項式に対応する（たとえば、Ｗ．Ｗ．Ｐｅｔｅｒｓｏｎの「Ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｎｇ  ｃｏｄｅｓ」という書籍、ＭＩＴＰｒｅｓｓ、１９６１年を参照のこと）。前述の構成では、Ｂとして示す同じハミング・コードがすべての傾斜ｒｉについて使用されていた。変形態様によれば、この制約は適用されず、様々な傾斜ｒｉ用として異なるハミング・コードＢｈが選択される。より一般的には、前述の方法はコードの構築に向いており、そのワードは、ｕが一定の整数になり、各整数ｉが１〜ｕの間である場合に、そのワードの傾斜ｒｉのすべての対角集合が長さＮの巡回コードＢｉに含まれるように傾斜ｒｉが指定されるようなＮ＊Ｎテーブルになる。
【０１９８】
前述の対応するデコーディングと合わせて用いられている限り、これらのすべてのコーディング・システムは本発明の一部を形成し、当業者であれば、それらを容易に実現することだろう。
【０１９９】
【発明の効果】
以上説明したように本発明によれば、伝送効率、訂正効率、及びでコーディング効率を高めて情報を伝送できるという効果がある。
【図面の簡単な説明】
【図１】本実施形態に係るコーディング装置を示す図である。
【図２】図１に示すコーディング装置の操作の流れ図である。
【図３】本実施の形態に係る訂正デコーディング装置を示す図である。
【図４】図３に示すデコーディング装置の操作の流れ図である。
【図１】
0004155539.tif 000016
【図２】
0004155539.tif 000017
【図３】
0004155539.tif 000018
【図４】
0004155539.tif 000019