(57)【特許請求の範囲】
【請求項１】
与えられた多次元配列を生成する最小多項式系を求める多項式系導出装置において、
求める最小多項式系となる第１の多項式系を記憶するための第１多項式記憶手段と、
当該第１の多項式系と異なる第２の多項式系を記憶するための第２多項式記憶手段と、
前記第１の多項式系に対する第１の補助多項式系を記憶するための第１補助多項式記憶手段と、
前記第２の多項式系に対する第２の補助多項式系を記憶するための第２補助多項式記憶手段と、
注目点の座標を記憶する注目点記憶手段と、
前記第１の多項式記憶手段の初期値として前記多次元配列に対応する多項式を設定し、前記注目点記憶手段の初期値として原点を設定し、前記第２の多項式記憶手段、並びに前記第１及び第２の補助多項式記憶手段の初期値を設定する設定手段と、
前記第２多項式記憶手段に記憶された各多項式の最高次数の係数が０か否かを判別する判別手段と、
該判別手段により最高次数の係数が０でない多項式があると判別された場合に、当該係数が０でない最高次数を与える２変数の次数の組と、前記注目点記憶手段に記憶された現在の注目点の座標とに基づいて定義点を更新する定義点更新手段と、
該定義点更新手段により更新された定義点に応じて新たな第１及び第２の多項式を生成し、前記第２多項式記憶手段に記憶された第２の多項式系から最高次の係数が０でない全ての多項式を削除するとともに、前記新たな第２の多項式を追加し、前記第１多項式記憶手段に記憶された第１の多項式系から、当該削除された第２の多項式に対応する多項式を削除するとともに、前記新たな第１の多項式を追加する多項式系更新手段と、
前記定義点が変化した場合に、前記第１補助多項式記憶手段に記憶された第１の補助多項式系及び前記第１多項式記憶手段から削除された多項式の中から新たな第１の補助多項式系を選択し、前記第２補助多項式記憶手段に記憶された第２の補助多項式系及び前記第２多項式記憶手段から削除された多項式の中から新たな第１の補助多項式系を選択する補助多項式系更新手段と、
前記判別手段による判別を前記原点より所定の順序における終了点までの各点を注目点として順次実行することで、前記第１多項式記憶手段に最終的に得られる第１の多項式系として、前記最小多項式系を得るように制御する制御手段とを有することを特徴とする多項式系導出装置。
【請求項２】
前記多項式更新手段は、前記第１の多項式系の更新動作と前記第２の多項式系の更新動作とを独立の回路により並列に実行することを特徴とする請求項１に記載の多項式系導出装置。
【請求項３】
前記多項式更新手段は、前記第１の多項式系の更新動作と前記第２の多項式系の更新動作とを共通の回路により実行すること特徴とする請求項１に記載の多項式系導出装置。
【請求項４】
前記多項式更新手段が、ｂｎ（ｉ）、ｂｍ（ｊ）を前記第２多項式系に属する多項式とし、ｄｉ、ｄｊを、それぞれ当該多項式ｂｎ（ｉ），ｂｍ（ｊ）の最高または最低次の係数として、演算
ｂｑ（ｋ）＝ｚｒｓ・ｂｎ（ｉ）−（ｄｉ／ｄｊ）・ｚｒｔ・ｂｍ（ｊ）を行うことを特徴とする請求項１に記載の多項式系導出装置。
【請求項５】
前記多項式更新手段が、ｂｎ（ｉ）、ｂｍ（ｊ）を前記第２多項式系に属する多項式とし、ｄｉ、ｄｊを、それぞれ当該多項式ｂｎ（ｉ），ｂｍ（ｊ）の最高または最低次の係数として、演算
ｂｑ（ｋ）＝ｄｊ・ｚｒｓ・ｂｎ（ｉ）−ｄｉ・ｚｒｔ・ｂｍ（ｊ）を行うことを特徴とする請求項１に記載の多項式系導出装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ディジタル通信系及びディジタル記憶系において通信路または記憶媒体で受けた誤りを、誤り訂正符号を用いて受信側で自動的に訂正する誤り訂正に関し、特に誤り訂正符号として代数幾何符号を用いる場合の復号において、与えられた多次元配列を生成する最小多項式系を求める多項式系導出装置及びその方法に関する。
【０００２】
【従来の技術】
従来、ディジタル通信系及びディジタル記憶系において通信路または記憶媒体で受けた誤りを、受信側で自動的に訂正する誤り訂正符号として、リード・ソロモン（ＲＳ）符号やＢＣＨ符号がよく知られ、コンパクト・ディスクや衛星通信等において実際に装置化され使用されている（参考文献[1] 参照）。
【０００３】
しかし、最近は、代数曲線論を駆使した代数幾何符号（参考文献[1]-[4] 参照）と呼ばれる符号の研究が盛んに行われている。代数幾何符号は、前述のＲＳ符号やＢＣＨ符号をその１クラスとして含む非常に適用範囲の広い符号系であり、従来の符号よりもよい性質を持つ新符号が存在することが徐々に明らかになってきている（参考文献[5][6]参照）。
【０００４】
このように優れた符号が発見される中で、恒に問題となっていたのは復号法の問題であり、その効率的な復号アルゴリズムの開発が急がれたが、１９８９年にJustesenらのグループが一般化Peterson algorithm（参考文献[7] 参照）を提案するまで、長い間有効な復号アルゴリズムは全く得られなかった。また、Justesenらは、与えられた有限の大きさを持つ２次元配列を生成する、記憶素子数最小の２次元線形帰還シフトレジスタを求める効率的なアルゴリズムとして、阪田によって提案された阪田アルゴリズム（参考文献[8] 参照）を、彼らの一般化 Peterson algorithm に応用することで、少ない計算量で高速に誤り位置関数を導出できることを示した。
【０００５】
しかし、一般化Peterson algorithmは、その訂正能力に制約があったために、Skorobogatovらはより高い訂正能力を保証する Modified decoding algorithm（参考文献[9] 参照）を提案した。また、阪田アルゴリズムには Modified decoding algorithmに対しては直接関係のない無駄な演算が多く存在したために、神谷らは、阪田アルゴリズムを Modified decoding algorithmに沿った形（参考文献[11][12]参照）に修正したアルゴリズムを１９９２年に提案した。
【０００６】
一方、従来用いられているＲＳ符号やＢＣＨ符号の復号法として、Peterson法と、バーレカンプ・マッセイ（ＢＭ）法及びユークリッド（Ｅｕ）法がよく知られている。前述の一般化 Peterson algorithm はＲＳ符号の復号に用いられるPeterson法の拡張になっている。また阪田アルゴリズムは２次元ＢＭ法とも呼ばれ、ＲＳ符号の復号に用いられるＢＭ法（以後、１次元ＢＭ法と呼ぶ）の拡張になっていることが知られている。
【０００７】
【発明が解決しようとしている課題】
しかしながら、ＲＳ符号の復号に用いられるＥｕ法（以後、１次元Ｅｕ法と呼ぶ）の拡張に相当するアルゴリズムは、これまでに考えられていなかった。
【０００８】
また、阪田は、２次元ＢＭ法の拡張として多次元ＢＭ法（参考文献[13]参照）も提案したが、それに対応する多次元Ｅｕ法もまた、考案されていなかった。
【０００９】
そこで、本発明では、１次元Ｅｕ法の拡張に相当する２次元Ｅｕ法を提案し、更に、この２次元Ｅｕ法を拡張して、多次元ＢＭ法に対応する多次元Ｅｕ法を提案することを目的とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、本発明では、与えられた多次元配列を生成する最小多項式系を求める多項式系導出装置に、求める最小多項式系となる第１の多項式系を記憶するための第１多項式記憶手段と、当該第１の多項式系と異なる第２の多項式系を記憶するための第２多項式記憶手段と、前記第１の多項式系に対する第１の補助多項式系を記憶するための第１補助多項式記憶手段と、前記第２の多項式系に対する第２の補助多項式系を記憶するための第２補助多項式記憶手段と、注目点の座標を記憶する注目点記憶手段と、前記第１の多項式記憶手段の初期値として前記多次元配列に対応する多項式を設定し、前記注目点記憶手段の初期値として原点を設定し、前記第２の多項式記憶手段、並びに前記第１及び第２の補助多項式記憶手段の初期値を設定する設定手段と、前記第２多項式記憶手段に記憶された各多項式の最高次数の係数が０か否かを判別する判別手段と、該判別手段により最高次数の係数が０でない多項式があると判別された場合に、当該係数が０でない最高次数を与える２変数の次数の組と、前記注目点記憶手段に記憶された現在の注目点の座標とに基づいて定義点を更新する定義点更新手段と、該定義点更新手段により更新された定義点に応じて新たな第１及び第２の多項式を生成し、前記第２多項式記憶手段に記憶された第２の多項式系から最高次の係数が０でない全ての多項式を削除するとともに、前記新たな第２の多項式を追加し、前記第１多項式記憶手段に記憶された第１の多項式系から、当該削除された第２の多項式に対応する多項式を削除するとともに、前記新たな第１の多項式を追加する多項式系更新手段と、前記定義点が変化した場合に、前記第１補助多項式記憶手段に記憶された第１の補助多項式系及び前記第１多項式記憶手段から削除された多項式の中から新たな第１の補助多項式系を選択し、前記第２補助多項式記憶手段に記憶された第２の補助多項式系及び前記第２多項式記憶手段から削除された多項式の中から新たな第１の補助多項式系を選択する補助多項式系更新手段と、前記判別手段による判別を前記原点より所定の順序における終了点までの各点を注目点として順次実行することで、前記第１多項式記憶手段に最終的に得られる第１の多項式系として、前記最小多項式系を得るように制御する制御手段とを具える。
【００１２】
［参考文献］
[1] 今井：“符号理論”，電子情報通信学会
[2]V.D.Goppa: “Codes on algebraic curves ”, Soviet Math.Dokl., 24,   pp.170-172, 1981.
[3]V.D.Goppa: “Algebraico-geometric codes”, Math. U.S.S.R. Izvestiya,    vol.21, no.1, pp.75-91, 1983.
[4]V.D.Goppa: “Geometry and Codes”, Kluwer Academic Publishers, 1988.
[5]M.A.Tsfasman and S.G.Vladut: “Algebraic-geometric codes ”, Kluwer   Academic Publishers, 1991.
[6] 三浦：“ある平面曲線上の代数曲線符号”, Preprint.
[7]J.Justesen, K.J.Larsen, E.Jensen, A.Havemose and T.Hoholdt:“Construction and decoding of a class of algebraic geometry codes”,    IEEE Trans.Inform.Theory, vol.35, no.4, pp.811-821, July 1989.
[8] 阪田：“与えられた２次元配列を生成する２次元線形帰還シフトレジスタの合成”，信学論（Ａ），vol.J-70A, pp.903-910, 1987.
[9]A.N.Skorobogatov and S.G.Vladut: “On the decoding of algebraic   geometric codes”, IEEE Trans.Inform.Theory, vol.36, no.5, pp.1051-10    60, Sep. 1990.
[10]三浦：“代数曲線符号の一般的な復号法(1),(2) ”，信学技法，vol.IT89,     no.452, IT89-91,92, pp.61-70, pp.71-80, 1990.
[11]神谷，三浦：“ある種の代数曲線符号に関する Modified decoding
algorithmへの Sakata algorithm の応用について”，信学技法， vol.IT9    1, no.435,  IT91-96, pp.47-54, 1992.
[12]神谷，三浦：“ある種の代数曲線符号に関する再帰的な復号アルゴリズム”，
信学技法， vol.IT91, no.505, IT91-116, pp.89-96, 1992.
[13]S.Sakata: “Extension of the Berlekamp-Massey algorithm to N    dimensions”,Information and Computation, vol.84, pp.207-239, 1990
【００１３】
【実施例】
［説明の概要］
以下では、まず１次元Ｅｕ法の拡張に相当する２次元Ｅｕ法を提案する。
【００１４】
そして、この２次元Ｅｕ法が、２次元ＢＭ法である阪田アルゴリズムやその修正アルゴリズムである神谷アルゴリズムと等価な結果を出力することを示す。更に、２次元Ｅｕ法を拡張し、多次元ＢＭ法に対応する多次元Ｅｕ法を提案する。そして、本発明による多次元Ｅｕ法が、装置化や高速化において、従来の多次元ＢＭ法と異なる効果をもつアルゴリズムであることも示し、その違いを明らかにする。
【００１５】
従来知られた多次元ＢＭ法のアルゴリズムは、図２に示す構造を持つ。一方、本発明による多次元Ｅｕ法のアルゴリズムは、図３に示す構造を持つ。多次元ＢＭ法と多次元Ｅｕ法の違いは、前者がステップＳ２２においてｄfn(i) を直接計算し、ステップＳ２５においてその値を用いて多項式系Ｆを更新するのに対し、後者では、ｄfn(i) を直接計算せず、新たに導入した多項式系Ｂに属する多項式の最高次係数ｄi を用いて、ステップＳ３４において多項式系Ｂを更新し、ステップＳ３５において多項式系Ｆを更新する点である。
【００１６】
上記従来の多次元ＢＭ法が、与えられた多次元配列ｕを生成する最小多項式系Ｆを導くことは、前記文献[8] ，[13]に証明されている。よって、ここでは本発明による多次元Ｅｕ法が、多次元ＢＭ法と同じ多項式系Ｆを導くことを以下に示す定理１〜定理３により証明することによって、図３の多次元Ｅｕ法から得られる多項式系Ｆも、与えられた多次元配列ｕを生成する最小多項式系であることを示す。以下、従来知られた２次元ＢＭ法及び多次元ＢＭ法を例にとり、本発明による多次元Ｅｕ法を具体的に説明する。
【００１７】
［実施例１］
まず、以下の準備（用語の説明）の後に、阪田アルゴリズムを示す。このアルゴリズムが、与えられた有限２次元配列ｕを生成する、記憶素子数最小の２次元線形帰還シフトレジスタを合成する多項式系Ｆを導出することの証明は、前記文献[8] になされているので省略する。
【００１８】
準備１（詳細は文献[8] 参考）：
Σ：あらゆる非負整数ｎ1 ，ｎ2 の対ｎ＝（ｎ1 ，ｎ2 ）の集合。
【００１９】
ｎ：点と呼ばれ、Ｘ−Ｙ平面上の座標（ｎ1 ，ｎ2 ）を持つ点と同一視される。
【００２０】
＜T ：全順序と呼ばれ、Σ上の点ｎの大小関係を定める。ここでは、点ｎ＝（ｎ1 ，ｎ2 ）に対し、＜T に関する次の点を以下のように定める。
【００２１】
0003740175.tif 000002
＜p ：半順序と呼ばれ、次のように定義される。
【００２２】
ｍ1 ≦ｎ1 ，ｍ2 ≦ｎ2 のとき、かつそのときに限ってｍ≦p ｎ。
【００２３】
ｍ＜p ｎはｍ≦p ｎかつｍ≠ｎを意味する。
【００２４】
Σtp：＝｛ｍ∈Σ｜ｔ≦p ｍ，ｍ＜T ｐ｝
ｕ：ｕは大きさｑの有限部分２次元配列であり、Σ0qから体Ｋへの写像として定義される。
【００２５】
Ｆ：体Ｋ上の２変数多項式を
【００２６】
【外１】
0003740175.tif 000003
【００２７】
とする。
【００２８】
ただし、ｚm ＝ｘm1・ ｙm2，Γf ＝｛ｍ∈Σ｜ｆm ≠０｝，
ｓ＝ＬＰ（ｆ) ＝max ｛ｍ｜ｍ∈Γf ｝
多項式の組をＦ＝｛ｆ(0),…, ｆ(l-1) ｝と表す。
【００２９】
ｄfn(i) ：Σ上の点ｎから体Ｋへの写像をｕn とすると、ＬＰ( ｆ(i))＝ｓ(i) なる多項式ｆ(i) に対し、
【００３０】
【外２】
0003740175.tif 000004
【００３１】
とする。
【００３２】
Ｖ（ｕ) ：ｐ≦T ｑに対するｕn の集合をｕp ＝｛ｕn ｜ｎ∈Σ0p｝とするとき、ｕp に対してｄfn(i) ＝０（０≦ｎ＜ｐ）であれば、ｆ[ ｕp]＝０と表す。このとき、Ｖ( ｕp)＝｛ｆは多項式｜ｆ[ ｕp]＝０｝とする。
【００３３】
定義点：多項式の組Ｆが与えられた２次元配列を生成することができる極小な多項式系であるとき、ＬＰ( ｆ(i))＝ｓ(i) を定義点と呼ぶ。ただし、極小な多項式系とは次の条件を満たすものである。
【００３４】
ｉ）Ｆ⊆Ｖ( ｕp)
ii）１≦ｉ，ｊ≦ｌかつｉ≠ｊかつＬＰ( ｆ(i))≧p ＬＰ( ｆ(j))となるｉ，ｊは存在しない。
【００３５】
iii)ｇ∈Ｖ( ｕ) かつＬＰ( ｇ) ∈△Fとなる多項式ｇは存在しない。
【００３６】
ただし、
【００３７】
【外３】
0003740175.tif 000005
【００３８】
△：上の条件を満たすときの△F。次のようにして求められる。
【００３９】
△＝∪△q-s。，  q,s ∈Σ0p
ただし、ｄfq≠０かつＬＰ( ｆ) ＝ｓとなるｆ∈Ｖ( ｕq)が存在するとき
△q-s ＝｛ｍ∈Σ｜ｍ≦p ｑ−ｓ｝、そうでなければ△q-s ＝¢。
【００４０】
ｈ1 ：型＜ｉ，ｊ＞のｈ1 を次のように定義する。
【００４１】
ｈ1 ＝ｚr-s(i)・ ｆ(i) −( ｄi/ｄj)・ ｚr-n+m-t(j)・ ｇ(j)
ただし、ｒ＝（ｒ1 ，ｒ2 ），ｒ1 ＝max ｛ｓ1(i)，ｎ1 −ｓ1(j)＋１｝，
ｒ2 ＝max ｛ｓ2(i)，ｎ2 −ｓ2(j+1)＋１｝，ｔ(j) ＝ＬＰ(g(j))，
f(i)∈Ｖ( ｕn)，g(j)∈Ｖ( ｕm)，ｄi ＝ｄfn(i) ，ｄj ＝ｄgm(j) 。
Ｇ：Ｆの補助多項式系と呼ばれ、Ｇ＝｛ｇ(0),…, ｇ(l-2) ｝なる多項式の組。
【００４２】
補題１：▲１▼で定まる型のｊは、ＬＰ( ｆ(j))＝ｓ(j) かつｐ−ｓ(i) ≦p （ｓ1(j)−１，ｓ2(j+1)−１）となるｊである。
【００４３】
補題２：▲２▼で定まる型のｋは、ＬＰ( ｆ(k))＜p ｔとなるｋである。
【００４４】
阪田アルゴリズム
１）ｎ＝（０，０），Ｆ＝｛１｝，Ｇ＝¢
２）Ｆの全ての多項式に対してｄfn(i) を計算する。
【００４５】
３）もしｄfn(i) ≠０  となるｆ(i) があれば、新しい△と定義点ｔを定める。４）そのあらゆる定義点ｔにおいて以下の手続きを実行する。
【００４６】
▲１▼ｔ＝（ｓ1(i)，ｓ2(i)）→補題１の多項式ｈ1 を作る。
【００４７】
▲２▼ｔ＝（ｎ1 −ｓ1(i)＋１，ｎ2 −ｓ2(i+1)＋１）→補題２の型＜ｋ, ｉ＞のｈ1 を作る。
【００４８】
▲３▼ｔ＝（ｎ1 −ｓ1(i)＋１，ｓ2(j)）, １≦ｉ≦ｌ- １→型＜ｊ, ｉ＞のｈ1 を作る。
【００４９】
▲４▼ｔ＝（ｓ1(i)，ｎ2 −ｓ2(j)＋１）, ２≦ｊ≦ｌ→型＜ｉ, ｊ- １＞のｈ1 を作る。
【００５０】
▲５▼ｔ＝（ｎ1 ＋１，ｓ2(j)）→ｈ1 ＝ｘn1-s1(j)+1・ ｆ(j)
▲６▼ｔ＝（ｓ1(i)，ｎ2 ＋１）→ｈ1 ＝ｙn2-s2(i)+1・ ｆ(i)
Ｆからｄfn(i) ≠０の全ての多項式を除去し、新しく求めたｈ1 を全てＦに挿入する。
【００５１】
５）△が変化した場合、新しいＦの補助多項式系Ｇの多項式を旧のＧと除去したＦの多項式の中から選び出す。
【００５２】
６）ｎ＝ｎ＋１；ｎ＝ｐならば終了；さもなければ２）へ
以下に、阪田アルゴリズムと同じ出力を導出する、本発明による新しいアルゴリズムを示す。
【００５３】
アルゴリズム１
１）ｎ＝（０，０），Ｆ＝｛１｝，Ｇ＝¢，Ａ＝｛ｘ-1｝，Ｂ＝｛ｕ｝
２）Ｂの全ての多項式の最高次係数が０でなければ、新しい△と定義点ｔを定める。
【００５４】
３）そのあらゆる定義点ｔにおいて以下の手続きを実行する。
【００５５】
▲１▼ｔ＝（ｓ1(i)，ｓ2(i)）→補題１の型をもつ多項式ｈ2 を作る。
【００５６】
▲２▼ｔ＝（ｎ1 −ｓ1(i)＋１，ｎ2 −ｓ2(i+1)＋１）→補題２の型＜ｋ, ｉ＞のｈ2 を作る。
【００５７】
▲３▼ｔ＝（ｎ1 −ｓ1(i)＋１，ｓ2(j)）, １≦ｉ≦ｌ- １→型＜ｊ, ｉ＞のｈ2 を作る。
【００５８】
▲４▼ｔ＝（ｓ1(i)，ｎ2 −ｓ2(j)＋１）, ２≦ｊ≦ｌ→型＜ｉ, ｊ- １＞のｈ2 を作る。
【００５９】
▲５▼ｔ＝（ｎ1 ＋１，ｓ2(j)）→ｈ2 ＝ｘ-(n1-s1(j)+1)・ｂ(j)
▲６▼ｔ＝（ｓ1(i)，ｎ2 ＋１）→ｈ2 ＝ｙn2-s2(i)+1・ ｂ(i)
Ｂから最高次係数が０でない全ての多項式を除去し、新しく求めたｈ2 を全てＢに挿入する。
【００６０】
４）３）で決定された型の多項式ｈ1 を作る。また、ＦからＢの除去した多項式に対応する多項式を除去し、新しく求めたｈ1 をＦに挿入する。
【００６１】
５）△が変化した場合、新しいＦの補助多項式系Ｇの多項式を旧のＧと除去したＦの多項式の中から選び出す。また、新しいＢの補助多項式系Ａの多項式を旧のＡと除去したＢの多項式の中から選び出す。
【００６２】
６）ｎ＝ｎ＋１；ｎ＝ｐならば終了；さもなければ２）へ
ただし、
Ａ，Ｂ：Ａ＝｛ａ(0),…, ａ(l-2) ｝，Ｂ＝｛ｂ(0),…, ｂ(l-1) ｝となる多項式の組。
【００６３】
ｈ2 ：型＜ｉ，ｊ＞のｈ2 を次のように定義する。
【００６４】
ｈ2 ＝ｚr-s(i)・ ｂ(i) −( ｄi/ｄj)・ ｚr-n+m-t(j)・ ａ(j)
アルゴリズム１と阪田アルゴリズムの大きな違いは、阪田アルゴリズムがｄfn(i) を直接計算し、それが全て０であるかどうかを検査するのに対し、アルゴリズム１はｄfn(i) を直接計算せず、Ｂに属す多項式ｂ(i) の最高次係数が０であるかどうかを検査することであり、そのためにアルゴリズム１は阪田アルゴリズムにない多項式の組Ａ，Ｂを導入している。
【００６５】
アルゴリズム１によって得られるＦと阪田アルゴリズムによって得られるＦが同じ多項式系であることは次のようにして証明できる。
【００６６】
定理１
式（１）のように定義したｕn （ｎ∈Σ0p）を係数とする多項式ｕとＬＰ( ) ＝ｓである多項式ｆの積多項式をｂとするとき、多項式ｂのｚv-n+s 次の係数ｂv-n+s は式（２）のようになる。ただし、ｖは任意の整数。
【００６７】
0003740175.tif 000006
証明：
式（１）から
【００６８】
【外４】
0003740175.tif 000007
【００６９】
である。
【００７０】
よって、多項式ｂのｚv-n+s の係数ｂv-n+s はｖ−ｉ＋ｍ＝ｖ−ｎ＋ｓよりｉ＝ｍ＋ｎ−ｓとなるので、式（２）のようになる。
【００７１】
（証明終了）
この定理からｆ(i) ∈Ｆに対応するｂ(i) ＝ｆ(i)・ｕのｚv-n+s の係数は阪田アルゴリズムのｄfn(i) となっていることがわかる。
【００７２】
また、Ｖ( ｕn)である多項式ｆ(i) をｆn(i)と表すと次の定理が成り立つ。
【００７３】
定理２：
式（３），（４）によって更新される多項式をｌq(k)，ｃq(k)とする（ｑ＞T ｎ＞T ｍ）。また、多項式ｗq(k)を式（５）のように定義すると、ｗq(k)は式（６）によって更新できる。ただし、ｒｓ，ｒｔは任意の整数。また、ｌn(i)，ｌm(j)及びｃn(i)，ｃm(j)の初期値は任意の多項式。
【００７４】
ｌq(k)＝ｚrs・ ｌn(i)−( ｄi ／ｄj)・ ｚrt・ ｌm(j)            （３）
ｃq(k)＝ｚrs・ ｃn(i)−( ｄi ／ｄj)・ ｚrt・ ｃm(j)            （４）
ｗq(k)＝ｌq(k)・ ｅ−ｃq(k)・ ｄ    （ｄ，ｅは任意の多項式）  （５）
ｗq(k)＝ｚrs・ ｗn(i)−( ｄi ／ｄj)・ ｚrt・ ｗm(j)            （６）
証明：
式（６）は任意のｑ及びｋに対して成り立つので、次が成り立つ。
【００７５】
ｗn(i)＝ｌn(i)・ ｅ−ｃn(i)・ ｄ
ｗm(j)＝ｌm(j)・ ｅ−ｃm(j)・ ｄ
従って、次が言える。
【００７６】
0003740175.tif 000008
（証明終了）
阪田アルゴリズムにおいて、Ｖ( ｕq)となるｆ(k) ＝ｆq(k)∈Ｆはｈ1 によって更新され、ｇ(j) はＶ( ｕm)となるｆ(j) ＝ｆm(j)であるので、ｈ1 は式（３）の形式で表現できる。
【００７７】
また、次の定理が成立する。
【００７８】
定理３：
式（５）において、ｌq(k)＝ｆq(k)，ｅ＝ｕ，ｄ＝ｚv・ｘ、及びｃ-1(j) ＝１，ｃ0(i)＝０とすると、deg ｗq(k)≦ｖにおいてｗq(k)＝ｂq(k)である。このとき、ｂq(k)はｖ−ｑ＋ｓ(k) 次の多項式である。
【００７９】
証明：
ｌq(k)＝ｆq(k)，ｅ＝ｕより、式（５）はｗq(k)＝ｂq(k)−ｃq(k)・ ｄとなる。また、deg ｃ-1(j) ≦０，deg ｃ0(i)≦０であれば式（４）よりｃq(k)は正の次数の多項式であり、ｄ＝ｚv・ｘであるのでdeg ｃq(k)・ ｄ＞ｖである。よって、deg ｗq(k)≦ｖにおいてｗq(k)＝ｂq(k)である。
【００８０】
また、定義からｂq(k)＝ｕ・ ｆq(k)の最高次数はｖ＋ｓ(k) であるが、このときのｆq(k)はｆq(k)∈Ｖ（ｕq ）であるのでｄfi(k) ＝０(i=0, …,q-1) である。定理１からｄfi(k) はｂq(k)のｚv-i+s(k)の係数であるので、ｂq(k)のｖ−ｉ＋ｓ(k) 次(i=0, …,q-1) の係数は０になり、ｂq(k)の最高次数はｖ−ｑ＋ｓ(k) になる。
【００８１】
（証明終了）
従って、ｂq(k)＝ｗq(k)は式（６）によって更新できる。即ち、ｂq(k)はｈ2 によって更新できる。この場合、定理１，定理３からｄi ，ｄj は各々多項式ｂn(i)，ｂm(k)のｚv-n+s(i)，ｚv-m+s(j)の係数、即ち、最高次係数である。
【００８２】
以上から、アルゴリズム１によって得られるＦと阪田アルゴリズムによって得られるＦが同じ多項式系であることが証明された。阪田アルゴリズムによって得られる多項式系Ｆは与えられた２次元配列ｕを生成する最小多項式系であることが文献[8] によって証明されているので、アルゴリズム１から得られる多項式系Ｆも与えられた２次元配列ｕを生成する最小多項式系であることがいえる。
【００８３】
よって、このアルゴリズムは例えば図１のような装置によって実現できる。まず、アルゴリズム１の１）で設定されている初期値及びその更新値を記憶するメモリと、そこに格納されたＢの多項式の最高次係数が０であるかどうかを判断し、０であれば６）を実行し、０でなければ新しい定義点を計算し型を判断する２）を実行する制御回路１１と、その型に従って３），４）に示されたｈ2 ，ｈ1 の演算を行う処理回路１２によって実現できる。また、制御回路１１は定義点が更新されていればメモリ１３中のＡ，Ｇの多項式を５）に示されるように新しく選択・更新する。
【００８４】
ただし、制御回路１１と処理回路１２は、各種制御手順及び前記アルゴリズムに対応するプログラムをＣＰＵに実行させることによりソフトウェア的に実現することもできるので、分離してある必要はない。また、制御・処理において必要な演算は簡単な整数の乗除算と加減算であるので、特殊な回路・処理は必要としない。また、制御における型の判定及び手順の流れは、予めプログラミングしておいたりＲＯＭに焼き付けておいて、必要なときに検索（テーブル・ルックアップ）すれば簡単である。
【００８５】
また、ｈ1 とｈ2 は同時に実行することができるので処理回路をｈ1 とｈ2 独立に持つこともできる。また、ｈ1 とｈ2 は同様の処理であるので１つの回路によって実行することしてもよい。また、効果の所で後述するように本アルゴリズムの特徴は並列処理のしやすさであるので、処理回路は１つである必要はない。以上から、アルゴリズム１を実行する回路は簡単に実現することができることがわかる。
【００８６】
［実施例２］
次に神谷らに示された Modified decoding algorithm  に適したアルゴリズムと等価なアルゴリズムを考える。まず、以下の準備の後に、神谷らによって示されたアルゴリズムを示す。ただし、以下の準備において述べられていない部分は実施例１の場合と同じである。
【００８７】
準備２（詳細は文献[12]参照）：
＜T ：ここでは全順序は次のように定める。
【００８８】
Ｑ（ｉ）＝ａ・ ｉ1 ＋ｂ・ ｉ2   （ａ，ｂは互いに素な自然数，ｉ＝（ｉ1 ，ｉ2 ））
Ｑ（ｍ）＜Ｑ（ｎ）が満たされるか、
Ｑ（ｍ）＝Ｑ（ｎ）かつｍ2 ≦ｎ2 の時に限って、
ｍ≦T ｎとし、この全順序＜T に関してｍの次の点をｍ＋１と表す。
【００８９】
Σtp(n) ：＝｛ｍ∈Σ｜ｍ2 ≦ｎ，ｔ≦p ｍ，ｍ＜T ｐ｝
ｕ  ：ｕは大きさｑの有限部分２次元配列であり、Σ0q(2・(a-1)) から体Ｋへの写像として定義される。
【００９０】
Ｆ  ：体Ｋ上の２変数多項式を
【００９１】
【外５】
0003740175.tif 000009
【００９２】
とする。
【００９３】
ただし、ｚm ＝ｘm1・ ｙm2，Γf ＝｛ｍ∈Σ(a-1) ｜ｆm ≠０｝，
ｓ＝ＬＰ( ｆ) ＝max ｛ｍ｜ｍ∈Γf ｝
多項式の組をＦ＝｛ｆ(0),…, ｆ(a-1) ｝と表す。
【００９４】
Ｖ( ｕ) ：Ｑ( ｐ) ＜ｑに対するｕn の集合をｕp ＝｛ｕn ｜ｎ∈Σ0p(2・(a-1)) ｝とするとき、ｕp に対してｄfn(i) ＝０（ｎ∈Σsp(a-1+s2)）であれば、ｆ[ ｕp]＝０と表す。このとき、Ｖ( ｕp)＝｛ｆは多項式｜ｆ[ ｕp]＝０｝とする。
【００９５】
△  ：△は次のようにして求められる。
【００９６】
△＝∪△q-s
q,s∈Σ0p(2・(a-1))
ただし、ｄfq≠０かつＬＰ( ｆ) ＝ｓとなるｆ∈Ｖ( ｕq)が存在するとき△q-s ＝｛ｍ∈Σ(a-1) ｜ｍ1 ≦ｑ1 −ｓ1 ，ｍ2 ＝ｑ2 −ｓ2 ｝、
そうでなければ△q-s ＝¢。
【００９７】
ｈ3     ：型＜ｉ，ｊ＞のｈ3 を次のように定義する。
【００９８】
ｈ3 ＝ｘr1-s1(i)・ ｆ(i) −( ｄi/ｄj)・ ｘr1-n1+m1-t1(j)・ ｇ(j)
Ｇ：Ｆの補助多項式系と呼ばれ、Ｇ＝｛ｇ(0),…, ｇ(a-1) ｝なる多項式の組。神谷アルゴリズム
１）ｎ＝（０，０），Ｆ＝｛１，ｙ，ｙ2 ，…，ｙa-1 ｝，Ｇ＝¢
２）Ｆの全ての多項式に対してｄfn(i) を計算する。
【００９９】
３）もしｄfn(i) ≠０  となるｆ(i) があれば、新しい△と定義点ｔを定める。４）そのあらゆる定義点ｔにおいて以下の手続きを実行する。
【０１００】
ｔ＝（ｓ1(i)，ｓ2(i)）→型＜ｉ，ｎ2 −ｉ＞のｈ3 を作る。
【０１０１】
ｔ＝（ｎ1 −ｓ1(i)＋１，ｎ2 −ｓ2(i)）→型＜ｎ2 −ｉ，ｉ＞のｈ3 を作る。
【０１０２】
ｔ＝（ｎ1 ＋１，ｎ2 −ｓ2(i)）→ｈ3 ＝ｘn1-s1(n2-i)+1・ｆ(n2-i)
Ｆからｄfn(i) ≠０の全ての多項式を除去し、新しく求めたｈ3 を全てＦに挿入する。
【０１０３】
５）△が変化した場合、新しいＦの補助多項式系Ｇの多項式を旧のＧと除去したＦの多項式の中から選び出す。
【０１０４】
６）ｎ＝ｎ＋１；ｎ＝ｐならば終了；さもなければ２）へ
神谷アルゴリズムと等価なアルゴリズムを以下に示す。
【０１０５】
アルゴリズム２
１）ｎ＝（０，０），Ｆ＝｛１，ｙ，…，ｙa-1 ｝，Ｇ＝¢，
Ａ＝｛ｘ-1｝，Ｂ＝｛ｕ｝
２）Ｂの全ての多項式の最高次係数が０でなければ、新しい△と定義点ｔを定める。
【０１０６】
３）そのあらゆる定義点ｔにおいて以下の手続きを実行する。
【０１０７】
▲１▼ｔ＝（ｓ1(i)，ｓ2(i)）→型＜ｉ，ｎ2 −ｉ＞のｈ4 を作る。
【０１０８】
▲２▼ｔ＝（ｎ1 −ｓ1(i)＋１，ｎ2 −ｓ2(i)）→型＜ｎ2 −ｉ，ｉ＞のｈ4 を作る。
【０１０９】
▲３▼ｔ＝（ｎ1 ＋１，ｎ2 −ｓ2(i)）→ｈ4 ＝ｘs1(n2-i)-n1-1・ｆ(n2-i)
Ｂから最高次係数が０でない全ての多項式を除去し、新しく求めたｈ4 を全てＢに挿入する。
【０１１０】
４）３）で決定された型の多項式ｈ3 を作る。また、ＦからＢの除去した多項式に対応する多項式を除去し、新しく求めたｈ3 をＦに挿入する。
【０１１１】
５）△が変化した場合、新しいＦの補助多項式系Ｇの多項式を旧のＧと除去したＦの多項式の中から選び出す。また、新しいＢの補助多項式系Ａの多項式を旧のＡと除去したＢの多項式の中から選び出す。
【０１１２】
６）ｎ＝ｎ＋１；ｎ＝ｐならば終了；さもなければ２）へ
ただし、
ｈ4     ：型＜ｉ，ｊ＞のｈ4 を次のように定義する。
【０１１３】
ｈ4 ＝ｘr1-s1(i)・ ｂ(i) −( ｄi/ｄj)・ ｘr1-n1+m1-t1(j)・ ａ(j)アルゴリズム２と神谷アルゴリズムの違いも、アルゴリズム１と阪田アルゴリズムの違いと同様にｄfn(i) を直接計算するか、Ｂに属す多項式ｂ(i) の最高次係数とするかである。従って、アルゴリズム１と阪田アルゴリズムの間で成り立った関係が、アルゴリズム２と神谷アルゴリズムの間で成立すればアルゴリズム２によって得られるＦと神谷アルゴリズムによって得られるＦが同じ多項式系であることが証明できる。よって、次のようになる。
【０１１４】
定理１のｆ(i) ∈Ｆを神谷アルゴリズムのｆ(i) とすれば、それに対応する多項式ｂ(i) ＝ｆ(i)・ｕのｚv-n+s の係数は神谷アルゴリズムのｄfn(i) となっていることがいえる。よって、定理１はこの実施例においても成立する。
【０１１５】
定理２は一般的に成立する。
【０１１６】
定理３のｆq(k)は神谷アルゴリズムのｆ(i) であるので、定理３も同様に成立する。
【０１１７】
従って、阪田アルゴリズムの場合と同様にｗq(k)＝ｂq(k)であることがいえるので、ｂq(k)はｈ4 によって更新できる。この場合も、定理１からｄi ，ｄj は各々多項式ｂn(i)，ｂm(k)の最高次数の係数である。
【０１１８】
以上から、アルゴリズム２によって得られるＦと神谷アルゴリズムによって得られるＦが同じ多項式系であることが証明された。
【０１１９】
よって、アルゴリズム２も図１のような装置によって実現できる。ただし、制御及び処理はアルゴリズム１と異なる。（処理はｈ3 ，ｈ4 の演算を行い、制御は型の判定が簡単化されている。また、メモリ部もＡ，Ｂ，Ｆ，Ｇの初期値も１）に示された多項式が設定される。）また、アルゴリズム２も並列処理に適しているので、処理回路は１つである必要はない。以上から、アルゴリズム２を実行する回路も簡単に実現することができることがわかる。
【０１２０】
［実施例３］
多次元配列を生成する記憶素子数最小の多次元シフトレジスタを合成する多項式系Ｆを導出するアルゴリズムもまた、阪田によって示されている[13]。このアルゴリズムは多次元ＢＭ法と呼ばれており、ここでは、多次元ＢＭ法に対応する新しいアルゴリズムを考える。
【０１２１】
詳細なアルゴリズムは煩雑であるので、ＢＭ法と呼ばれるアルゴリズムの特徴を図で示す。１次元のＢＭ法を含め、その拡張である阪田によって提案されたアルゴリズム（多次元ＢＭ法）は図２のような構成を持っている。それに対応するアルゴリズムは図３のようになる。図２と図３の違いも前述の２つの実施例と同様に、ｄfn(i) を直接計算するか、Ｂに属す多項式ｂ(i) の最高次係数とするかである。従って、定理１〜３が多次元配列においても成立すれば、図２の多次元ＢＭ法によって得られるＦと図３のアルゴリズムによって得られるＦが同じ多項式系であることが証明できる。
【０１２２】
前述の実施例において点はｎ＝（ｎ1 ，ｎ2 ）となる２次元空間上で定義され、配列及び多項式の各係数はその点における写像である。これをＮ次元空間に拡張した場合、点はｎ＝（ｎ1 ，ｎ2 ，…，ｎN ）と定義され、配列及び多項式もその点における写像になり、その関係は次元を問わず同じである。従って、Ｎ次元空間においても定理１〜３は同様に成り立つことは明らかである。
【０１２３】
従って、図３のアルゴリズムから生成されるＦは図２のアルゴリズムから生成されるＦと同じであることがいえる。よって、図３のアルゴリズムも図１のような装置によって簡単に実現できる。
【０１２４】
ただし、図３のアルゴリズムは１次元の場合、前述のＲＳ符号やＢＣＨ符号の復号において用いられるＥｕ法と呼ばれるアルゴリズムになる。また、効果の所で述べるように図３のアルゴリズムは１次元Ｅｕ法の特徴を失うことなく、多次元へとＥｕ法を拡張している。従って、アルゴリズム１，２を含む図３の構成を持つアルゴリズムを多次元ＢＭ法に対応して多次元Ｅｕ法と呼ぶことにする。
【０１２５】
［その他の実施例］
前述したように１次元のＢＭ法や１次元のＥｕ法はＲＳ符号やＢＣＨ符号においてよく用いられているので、種々の変形アルゴリズムが提案されている。よく知られた１次元Ｅｕ法の変形アルゴリズムとして連分数法(L.R.Welch and R.A.Scholtz: “Continued fractions and Berlekamp's algorithm,”IEEE Trans.Inf.Theory, IT-25,pp.19-27, Jan.1979)がある。これは、式（６）の演算を最後まで行わず、最終結果に関係のない演算を省いた手法である。しかし、式（６）の形式の演算によってＢを更新しｄfn(i) を直接計算しないという点では同じであるので、本方式は連分数法を含む種々のアルゴリズムの変形に対しても有効であることは明かである。
【０１２６】
また、本方式はアルゴリズム１，２の例からもわかるように型の分類の方法に依存しない。従って、本方式は多次元配列に対してＢＭ法のように直接ｄfn(i) を計算せず、式（６）の形式の演算によってＢを更新し、ｄfn(i) をＢの多項式の最高次係数として演算する手法に対して全て有効である。
【０１２７】
また、点や各パラメータ（ｒｓ，ｒｔ等）は整数とし、ｆn(i)及びｂn(i)は多項式としているが、点や各パラメータを任意の複素数、多項式を有理関数等に拡張しても本方式が有効であることは明かである。
【０１２８】
また、多項式ｕやｆの次数を逆（双対多項式）にすれば、多項式ｂ＝ｆ・ ｕも次数が逆になりｄi を多項式ｂの最低次係数とすることもできる。
【０１２９】
また、定理３においてｄ＝ｚv・ｘとしているが、ｄ＝ｚv+1 またはｄ＝０としてもｗq(k)＝ｂq(k)となり図３の構造を持つアルゴリズムの結果は変わらないことは明かである。
【０１３０】
また、以上の実施例ではＢの更新のために次の式（７）のような演算を用いているが、式（８）のような演算によっても定数項の違いを除いて同じ結果が得られる。ただし、ａn(j)＝ｂm(j)。
【０１３１】
ｂn+1(k)＝ｚrs・ ｂn(i)−( ｄi ／ｄj)・ ｚrt・ ａn(j)          （７）
ｂn+1(k)＝ｄj・ｚrs・ ｂn(i)−ｄi・ｚrt・ ａn(j)                （８）
以上からわかるように、Ｅｕ法とＢＭ法の違いを次のように表せる。
【０１３２】
ＢＭ法：ｄfn(i) を直接計算して、その値を用いてfn+1(k) を求める。
【０１３３】
Ｅｕ法：ｄfn(i) を直接計算せず、多項式ｂn(i)とｂn(j)の最高次の係数ｄi,ｄj を用いて式（７）のようにｂn+1(k)を求める。また、同じｄi,ｄj を用いてfn+1(k) を計算する。ただし、ａn(j)＝ｂm(j)。
【０１３４】
ｂn+1(k)＝ｚrs・ｂn(i)−（ｄi ／ｄj ）・ｚrt・ａn(j)        （７）
この違いから次のような相違点がＢＭ法とＥｕ法の装置化及び高速化に対して生じる。
【０１３５】
ＢＭ法：  ＢＭ法はｆn(i)とｆn+1(k)を並列に計算することは困難である。なぜならば、ｆn+1(k)を計算するためにはｄfn(i) ＝ｄi が必要であり、ｄfn(i) はｆn(i)の全ての係数を用いて計算される。従って、ｄfn(i) が得られるのはｆn(i)の計算が終わった後であるので、ｆn+1(k)の計算はｆn(i)の計算が終わった後でしか始まらない。従って、図４(a) に示すようにＢＭ法では点ｎとｎ＋１における多項式ｆn(i)とｆn+1(k)は逐次的に計算される。さらに、ＢＭ法はｆn(i)とｆn+1(k)及びｄfn(i) の演算を１クロックで計算したとしても、それらが並列に実行されないため図４(b) に示すように２ｐクロック程度の計算時間が必要である。これは、１次元ＢＭ法から図２に示される多次元ＢＭ法に対して共通する特徴である。
【０１３６】
Ｅｕ法：  Ｅｕ法はｆn(i)とｆn+1(k)を並列に計算することができる。なぜならば、Ｅｕ法においてｄi はｂn(i)∈Ｂの最高次係数となっており、Ｂに属す多項式は式（７）によってＢに属す多項式のみによって計算される。ｂn(i)とａn(j)を用いて式（７）が最高次数から下位次数の方へ順次計算されているとすると、出力ｂn+1(k)は最高次係数から下位次係数の方へ順次得られる。よって、点ｎ＋２における多項式ｂn+2(k)はｂn+1(i)の最高次係数が得られた時点から計算を始めることができる（ａn+1(j)は既に得られている多項式である。）。これは点ｎ＋１とｎ＋２における多項式が並列に計算できることを示しているが、点ｎとｎ＋１においても同様であることは明かである。従って、Ｂの更新のための演算は各点において並列に実行することができる。また、ｆn+2(k)とｆn+1(k)の計算もｂn+1(i)とｂn(i)の最高次係数がわかった時点で始めることができるので、図５の(a) に示すようにｆn+1(k)の演算も各点において並列に実行できる。よって、Ｅｕ法は式（７）の演算を行う処理回路を複数用意すれば、その数に比例した高速化が容易に行える。これは、よく知られた１次元Ｅｕ法から図３の多次元Ｅｕ法に対して共通の特徴であり、上記のＢＭ法にはない特徴である。また、ｂn(i)，ｂn+1(k)及びｆn(i)，ｆn+1(k)の演算を１クロックで計算した場合、図５の(b) に示すようにｐクロック程度の計算時間で良く、ＢＭ法より高速な演算が行える（ただし、図５は点ｎにおけるｄi をｄn と表す。）。
【０１３７】
一般的に、高速なアルゴリズムとは計算量の少ないアルゴリズムを指す場合が多い。しかし、高速化を実現する場合、アルゴリズムの計算量を減少させるアプローチとアルゴリズムの並列度を高めるアプローチが考えられる。それは並列処理によって複数の処理を同時に実行すれば処理時間が短縮できるためである。最近はＶＬＳＩ技術の進歩により大規模な並列処理チップを容易に実現することができる。よって、並列度の高いアルゴリズムの方が高速処理向きである場合も多い。
【０１３８】
【発明の効果】
以上説明したように、本発明によるＥｕ法は、ＢＭ法よりも並列度が高く、高速処理に向いていると言える。また、ＢＭ法が多項式ｆn(i)とスカラ量ｄfn(i) という２種類の演算を必要とするのに対して、Ｅｕ法はｆn(i)，ｂn(i)に対して式（７）に示される同一形式の演算のみでよいので、処理回路をユニット化しやすくより並列処理に向いていると言える。
【０１３９】
従って、並列処理を用いて装置化する場合、本発明によれば、簡単に高速な処理装置を構成できるという効果がある。
【図面の簡単な説明】
【図１】本発明による多次元配列生成回路である。
【図２】従来のＢＭ法による多次元配列生成アルゴリズムである。
【図３】本発明によるＥｕ法による多次元配列生成アルゴリズムである。
【図４】従来のＢＭ法の動作説明図である。
【図５】本発明によるＥｕ法の動作説明図である。
【符号の説明】
１１  制御回路
１２  処理回路
１３  メモリ
【図１】
0003740175.tif 000010
【図２】
0003740175.tif 000011
【図３】
0003740175.tif 000012
【図４】
0003740175.tif 000013
【図５】
0003740175.tif 000014