JPH06197026A - データ消失訂正方法とその回路 - Google Patents

データ消失訂正方法とその回路

Info

Publication number
JPH06197026A
JPH06197026A JP5081246A JP8124693A JPH06197026A JP H06197026 A JPH06197026 A JP H06197026A JP 5081246 A JP5081246 A JP 5081246A JP 8124693 A JP8124693 A JP 8124693A JP H06197026 A JPH06197026 A JP H06197026A
Authority
JP
Japan
Prior art keywords
polynomial
erasure
coefficient
register
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5081246A
Other languages
English (en)
Other versions
JP3239522B2 (ja
Inventor
Masayuki Hattori
雅之 服部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP08124693A priority Critical patent/JP3239522B2/ja
Priority to US08/145,201 priority patent/US5566190A/en
Priority to AT99124096T priority patent/ATE239327T1/de
Priority to DE69330775T priority patent/DE69330775T2/de
Priority to EP93117511A priority patent/EP0595326B1/en
Priority to EP99124097A priority patent/EP0989679A1/en
Priority to AT93117511T priority patent/ATE205980T1/de
Priority to EP99124098A priority patent/EP0989680A1/en
Priority to EP99124096A priority patent/EP0991196B1/en
Priority to DE69332937T priority patent/DE69332937T2/de
Publication of JPH06197026A publication Critical patent/JPH06197026A/ja
Application granted granted Critical
Publication of JP3239522B2 publication Critical patent/JP3239522B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Electronic Switches (AREA)
  • Studio Circuits (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Dc Digital Transmission (AREA)

Abstract

(57)【要約】 【目的】 リード・ソロモン符号を用いたデータ消失訂
正を、簡単な回路構成で正確に迅速に行う。 【構成】 データ消訂正回路は、ユークリッド互助法に
基づく割り算を行う1つの割り算ユニットDIVと、4
t(tは誤り訂正可能なシンボル数、2tはパリティシ
ンボル数)個の演算ユニットPEおよび(8t+2)個
の並列に設けられたレジスタA、Bを有する乗算ユニッ
トMLTを有する。この回路において、第1段階として
エラーフラグから消失位置Uを算出し、受信コードから
シンドロームSを算出した後、第2段階としてε(εは
消失シンボル数)ステップ内に消失位置多項式uと修正
シンドロームTを同時的に算出し、第3段階として(2
t−ε)ステップ内に誤り評価多項式ω、誤り位置多項
式σとその修正誤り位置多項式σを算出し、第4段階と
してこれらの積多項式U・Xを算出し、第5段階として
エラー位置を算出する。つまり、このデータ消失訂正回
路においては、2ステップ的に総合的な誤り位置多項式
と誤り評価多項式を算出する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ消失訂正方法とそ
の回路に関するものであり、特に、リードソロモン符号
などを用いて符号化したデータのデータ消失訂正方法と
そのデータ消失訂正回路に関する。
【0002】
【従来の技術】誤り訂正技術は各種ディジタルシステム
のデータ信頼性向上の重要な要素技術であり種々の誤り
訂正符号が提案されている。その中でBCH符号は実用
上極めて重要な符号であり、主に衛星通信・磁気記録・
光磁気記録等の分野で使用されている。
【0003】BCH符号の中でもリードソロモン( Ree
d-Solomon )符号に代表される非二元BCH符号を用い
ると、復号化する際に誤りの位置が既知の場合には、よ
り多くの誤りを訂正することが可能であることが知られ
ている。これを消失訂正と呼ぶ。これらの符号を用いて
通常の誤り訂正を行うような復号化システムをLSI等
で装置化する場合には、復号化におけるシンドローム多
項式から誤り位置多項式を求める手法がもっとも重要に
なる。この解法としてユークリッドの互除法の過程を用
いる手法が有力であり、具体的な構成方法が、たとえ
ば、(1)Howard M. Shao et.al. "A VLSI Design of
a Pipeline Reed-Solomon Decoder" IEEE Trans. on Co
mputers Vol.C-34 May 1985 、(2)本願発明者による
特開平3−195216号公報、本願発明者による特開
平3−195217号公報、本願発明者による特願平3
−254183号などに記載されている。
【0004】
【発明が解決しようとする課題】しかし、消失訂正を行
なう場合には通常訂正の場合と比べて演算量自体は変わ
らないが、演算過程が複雑になり演算途中で記憶すべき
数値が多くなるため回路構成が難しくなる。過去に消失
訂正回路の構成法が論じられており(たとえば、「岩村
・今井・土肥 "シストリックアレーによる小型回路構成
法とそのリードソロモン符号化・復号器への応用"信学
誌 A Vol. J72-A No.3 pp.577-584 1989年 3月」)、消
失訂正を用いた光ディスク用 LSI開発も行なわれている
が(たとえば、「吉田・山岸・井上・石田・田中 "光デ
ィスク用誤り訂正 LSI" 信学誌 A Vol. J73-A No.2 pp.
261-268 1990年 2月」)、処理速度・回路規模等の点で
課題を残している。なお、これらの詳細を具体的に後述
する。
【0005】本発明はかかる状況に鑑み、消失訂正の復
号化器を構成する際に問題となるこれら多項式の計算過
程を単純化して、演算途中で保持すべき多項式係数が不
要となるような演算方法を提供する。また、この演算方
法を実現するシステムとその演算器の構成を提供するこ
とを目的とする。
【0006】ところで、誤り訂正復号器の用途として
は、異なるパリティシンボル数・符号長の複数の符号を
一つの復号器で訂正を実行する必要があることが多い。
しかし、通常の誤り訂正符号を用いたシステムでは符号
化器の構成上の都合から、各符号シンボルが逆転された
順に入力される。従って消失訂正を行う場合には、逆順
に入力するシンボルに付加された消失フラグ等の付加情
報から正順に数えた消失位置を求める方法が課題とな
る。そこで本発明はさらに、異なるパリティシンボル数
・符号長の複数の符号を1つの複号器で訂正可能なデー
タ消失訂正方法と、この方法を実施する簡単な回路構成
の回路を提供することを目的とする。
【0007】
【課題を解決するための手段】上記問題を解決する本発
明のデータ消失訂正方法は、所定の符号化方式によって
符号化された符号を用いてデータの消失データの訂正を
行うデータ消失訂正方法であって、符号全体の誤りを消
失位置及びその消失位置の消失パターン、ならびに、消
失シンボル以外の誤り位置およびその誤り位置の消失パ
ターンで表すとき、受信信号rとパリテイ検査行列Hと
の積として、(2t−1)次のシンドローム多項式S
(X)およびその係数Siを計算するステツプと、少な
くともエラーフラグにより既知である消失位置Ui およ
び上記シンドローム多項式の係数Si とにより、消失位
置多項式u(X)の係数ui および修正シンドローム多
項式T(X)の係数Ti を同時に計算するステツプと、
上記消失位置多項式u(X)の係数ui および上記修正
シンドローム多項式T(X)の係数Ti とより、誤り位
置多項式σ(X)と消失位置多項式u(X)との積多項
式の係数σiを導出するステツプと、上記積多項式と上
記シンドローム多項式S(X)とより求まる総合的な誤
り位置多項式ω(X)と上記積多項式とより、受信信号
を訂正するステツプとを有する。
【0008】また、本発明のデータ消失訂正回路は、所
定の符号化方式で符号化されたデータの消失訂正を行う
データ消失訂正回路であって、1つの割り算ユニット
と、該割り算ユニットに作動的に接続される複数の演算
ユニットとを有し、消失位置の記憶領域として複数のレ
ジスタを持ち、この中に格納された消失位置を1ステッ
プに1個づつシフトすることにより、(乗算係数とな
る)消失位置を第1の切替器Sを経由して各演算ユニッ
トに供給することを特徴とする。
【0009】上記符号化方式は、好適には、二元BCH
符号であり、特に好ましくは、リードソロモン符号であ
る。
【0010】本発明はさらにパリティシンボル数・符号
長が異なる複数の符号を1つの符号で訂正可能とするた
め、逆順に入力する符号をそのまま数えることにより得
られる逆順消失位置と、全ての符号語が入力された際に
得られる情報との割り算により正順の消失位置を得る方
法を提供する。
【0011】本発明はまた、ユークリッド互除法におけ
る割り算を消失訂正に必要な多項式演算を行う際に使用
されていない割算器を利用して実行することにより、実
質的な回路規模の増大無しに可変符号長の複号が可能な
復号器を提供する。
【0012】
【作用】本発明における構成法は、4t個の演算器と
(8t+2)個の記憶素子(レジスタ)を用いて全部で
わずか2tステップ的な演算で総合的な誤り位置多項式
と誤り評価多項式を得ることができる。したがって、回
路規模の単純化(削減)・高速動作が可能になる。
【0013】パリティシンボル数・符号長が異なる複数
の符号を1つの符号でデータ消失訂正可能とすることは
実用上便利である。パリティシンボル数・符号長が固定
の場合は、通常、符号長が判っているから、LSB(Le
ast Significant Bit)からMSB(Most Significant B
it) に向けてデータ消失訂正を行うことが喪失訂正を行
い易く回路構成も簡単になる。しかしながら、符号長が
異なる複数の符号を1つの符号器で消失訂正を行う場
合、符号長が不明であるから、到来する(入力される)
データをMSBからLSBに向けて消失訂正を行うよう
になる。
【0014】
【実施例】本発明の好適な実施例を詳述する前に、デー
タ消失訂正方法についての基本的事項、および、背景技
術を述べる。 1.1 消失訂正の説明 消失訂正について述べる。たとえば、リードソロモン符
号のような非二元BCH符号を用いた場合には、付加す
る冗長度、即ち、パリティシンボル数を2t(tは正の
整数 )とした場合に、tシンボルの誤り訂正が可能であ
る事が知られている。この2t個のパリティシンボルが
付加された場合において、何らかの情報から一部又は全
部の誤りシンボルの位置が予め判明している場合が想定
される。実は、このような場合にはtシンボル以上の誤
りが訂正できることが知られており、消失訂正と呼ばれ
ている。
【0015】1.2 消失訂正の原理の説明 次に消失訂正の原理について説明する。ガロア体GF
(2m )上で定義される有限体を用いて2t個のパリテ
ィシンボルが付加された符号長nのリードソロモン符号
を例として消失訂正を考える。この場合、通常の誤り訂
正では、tシンボル誤り訂正が可能である。誤り位置お
よび消失位置を、符号の先頭を0番目と数えてj番目に
あるときにαj で表すとする。符号全体にε個の消失シ
ンボルが存在し、消失位置以外にν個の誤りシンボルが
存在すると仮定する。尚、消失位置はフラグ等の情報で
指示されるものとする。符号全体の誤りは、消失位置U
i ( 0≦i≦ε)およびその消失位置の消失パターンV
i ( 0≦i≦ε)と、消失シンボル以外の誤り位置Xi
( 0≦i≦ν)およびその誤り位置の消失パターンYi
( 0≦i≦ν)で記述できる。つまり、全部でε組の
(Ui,i )とν組の(Xi,i )とで記述されること
になる。この時、εとνとの間に式 (1)が成立する時に
は全ての消失シンボルと消失以外の誤りシンボルを訂正
することができる(たとえば、「吉田・山岸・井上・石
田・田中 "光ディスク用誤り訂正 LSI" 信学誌 A Vol.
J73-A No.2 pp.261-268 1990年 2月」)。
【0016】
【数1】
【0017】尚、ε=0となる消失シンボルが無い場合
には通常訂正と同じになるから、ここではε>0の場合
を想定する。
【0018】式 (1)から、予めε個の消失位置がエラー
フラグなどにより既知の場合には、消失以外の誤りシン
ボルは最大で、下記式で表される個数まで訂正できるこ
とになる。
【0019】
【数2】
【0020】従って、消失訂正の場合消失シンボルと消
失以外の誤りシンボルが合計で
【0021】
【数3】
【0022】個まで訂正できることになる。
【0023】次に、消失位置Ui ( 1≦i≦ε)を用い
て、消失位置多項式と呼ばれる多項式u(X)を定義す
る。消失位置多項式u(X)は、消失位置Ui を用いて
X=Ui -1( 1≦i≦ε)で0になるε次の多項式とし
て式 (2)で定義される。
【0024】
【数4】
【0025】u(X)の係数をui ( 0≦i≦ε)とし
て式 (3)のように表す。
【数5】
【0026】消失位置多項式u(X)と同様に、消失シ
ンボル以外の誤り位置Xi ( 1≦i≦ν)を用いて、誤
り位置多項式と呼ばれる多項式σ(X)を定義する。誤
り位置多項式σ(X)は、誤り位置Xi を用いてX=X
i -1( 1≦i≦ν)で0になるν次の多項式として式
(4)で定義される。
【0027】
【数6】
【0028】誤り位置多項式σ(X)の係数をσi ( 0
≦i≦ν)として式 (5) のように表す。
【0029】
【数7】
【0030】一方、受信信号rとパリティ検査行列Hと
の積として2t個の要素を持つベクトルが得られる。こ
のベクトルの各要素をSj ( 1≦j≦2t)で表し、シ
ンドロームと呼ぶ。シンドロームSj は式 (6)で与えら
れる。
【0031】
【数8】
【0032】受信信号rを送信信号pと誤り信号eとの
和として式 (8)の様に表す。
【0033】
【数9】
【0034】送信信号pとパリティ検査行列Hとの積は
0であるから、下記式で表される。
【0035】
【数10】
【0036】誤り信号eは消失シンボル(Ui ,Vi
( 1≦i≦ε)及び誤りシンボル(Xi ,Yi )( 1≦
i≦ν)に対応する位置のみ値を持つベクトルであるか
らシンドロームSj はこれらを用いて式 (10) で表され
る。
【0037】
【数11】
【0038】次に、2t個のシンドロームSj を係数に
持つ(2t−1)多項式としてシンドローム多項式S
(X)を定義する。
【0039】
【数12】
【0040】式 (10) を式 (11) に代入すると次式が得
られる。
【0041】
【数13】
【0042】このシンドローム多項式S(X)と消失位
置多項式u(X)との積多項式のX2tに対する剰余とな
る(2t−1)次の多項式を修正シンドローム多項式T
(X)として定義する。修正シンドローム多項式T
(X)の0次から(2t−1)次迄の係数を修正シンド
ローム多項式と呼びT1,2,…,T2tと書くことにす
る。
【0043】
【数14】
【0044】消失位置多項式u(X)とシンドローム多
項式S(X)の係数は各々式 (3)と式 (11) で表される
から、修正シンドローム多項式T(X)の係数は式 (1
5) で表される。
【0045】
【数15】
【0046】式 (15) を式 (10) に代入して
【0047】
【数16】
【0048】ここで、消失位置多項式u(X)はUi -1
( 1≦i≦ε)を根とする多項式であるから、式 (3)に
おいてX=Ui -1( 1≦i≦ε)を代入すると0にな
る。
【0049】
【数17】
【0050】式 (17) を式 (16) に代入すると第2項が
0になり次式を得る。
【0051】
【数18】
【0052】式 (18) の第2項は消失位置多項式u
(X)にX=Xi -1を代入したものにほかならない。従
って、式 (19) を得る。
【0053】
【数19】
【0054】更に、
【0055】
【数20】
【0056】とおくと、式 (19) から式 (21) を得る。
【0057】
【数21】
【0058】従って、修正シンドローム多項式T(X)
は次式で表される。
【0059】
【数22】
【0060】ここで修正シンドロームTi を通常のシン
ドロームSi と考えて式 (20) で定義したEi を誤りパ
ターンYi と見なすと、消失訂正の場合においても修正
シンドロームをシンドロームの代わりに用いれば通常訂
正の場合と全く同様に扱えることを式 (21) は示してい
る。
【0061】従って、修正シンドロームTi を係数に持
つ修正シンドローム多項式T(X)とX2tのユークリッ
ド互除法により誤り位置多項式σ(X)を求めることが
可能になる。通常訂正の場合と同様に、誤り位置多項式
σ(X)と修正シンドローム多項式T(X)との積のX
2tに対する剰余として誤り評価多項式ω(X)を式 (2
3) で定義する。
【0062】
【数23】
【0063】式 (23) に式 (2) 及び式 (22) を代入す
る。
【0064】
【数24】
【0065】ここで、第2項は明らかに次数が2t以上
の多項式であるから、必要なのは第1項のみになる。
【0066】
【数25】
【0067】誤り評価多項式ω(X)が求められると、
通常訂正の場合と同様に誤りパターンを Forney のアル
ゴリズムにより求めることができる。先ず、式 (4)から
σ(X)の一階微分σ′(X)を求めると次式が得られ
る。
【0068】
【数26】
【0069】式 (26) にX=Xj -1を代入すると式 (2
7) を得る。
【0070】
【数27】
【0071】一方、式 (25) のω(X)にX=Xj -1
を代入すると式 (28) が得られる。
【0072】
【数28】
【0073】式 (27) と式 (28) から式 (29) が得られ
る。
【0074】
【数29】
【0075】誤りパターンEj は式 (20) で定義されて
いるから、式 (29) は次のように書き換えることができ
る。
【0076】
【数30】
【0077】従って、誤りパターンYj は次のように求
められる。
【0078】
【数31】
【0079】ここで、全ての誤り位置Xi ( 1≦i≦
ν)が既知になっていると考えればσ(X)とu(X)
を入れ替えても全く同様の議論が成立する。従って、消
失パターンも誤りパターンと同様に次式で求めることが
できる。
【0080】
【数32】
【0081】1.3 消失訂正の手順 消失訂正の過程を順に説明する。前節で述べた消失訂正
の原理から次に示すアルゴリズムで消失訂正を行うこと
ができる。 〔消失訂正アルゴリズム〕ステップ1:シンドロームの
計算 受信信号rとパリティ検査行列Hとの積として2t個の
シンドロームSj ( 1≦j≦2t)を求める。
【0082】
【数33】
【0083】求められたシンドロームSj を係数に持つ
(2t−1)次の多項式をシンドローム多項式S(X)
と呼び、次式で定義する。
【0084】
【数34】
【0085】ステップ2:消失位置多項式の係数計算 エラーフラグ等の情報により既知のε個の消失位置Ui
( 1≦i≦ε)からε次の消失位置多項式u(X)を定
義し、その係数Ui ( 0≦i≦ε)を求める。
【0086】
【数35】
【0087】ステップ3:修正シンドローム多項式の係
数計算 消失位置多項式u(X)とシンドローム多項式S(X)
の積のX2tに対する剰余として修正シンドローム多項式
T(X)を求める。
【0088】
【数36】
【0089】修正シンドローム多項式T(X)の0次か
ら(2t−1)次迄の係数Ti ( 1≦i≦2t)は次式
で得られる。
【0090】
【数37】
【0091】ステップ4:誤り位置多項式の導出 修正シンドローム多項式T(X)から誤り位置多項式σ
(X)及び誤り評価多項式ω(X)を求める。この過程
を実現する様々な手法が提案されているが、ユークリッ
ド互除法による解法が最も有力である。詳細については
後述する。
【0092】ステップ5:誤り位置の検出 誤り位置多項式σ(X)の解である誤り位置Xi を全数
探査により探す。ステップ4で得られた誤り位置多項式
σ(X)の係数を用いて、σ(X)に有限体GF
(2m )に含まれる全ての要素αi ( 0≦i≦n−1)
を代入してσ(X-1)=0となる位置が誤り位置Xi (
1≦i≦ν)であることが判る。通常、この代入過程は
Chien search と呼ばれる手法を用いて行われる。
【0093】ステップ6:誤りパターン・消失パターン
の計算 誤り位置多項式σ(X)、誤り評価多項式ω(X)及び
全ての誤り位置Xi (1≦i≦ν)が求められると、誤
りパターンYi ( 1≦i≦ν)及びVi ( 1≦i≦ε)
は次式で求められる ( Forney algorithm ) 。
【0094】
【数38】
【0095】
【数39】
【0096】ステップ7:訂正の実行 求められた誤り位置とパターン(Xi,i )( 1≦i≦
ν)及び消失位置とパターン(Ui,i )( 1≦i≦
ε)を用いて受信信号に対して訂正を行う。以上で、
「消失訂正アルゴリズム」の処理が終了する。
【0097】1.4 誤り位置多項式導出方法 ここでは、前節で述べた消失訂正の手順で問題となるス
テップ4の修正シンドローム多項式T(X)から誤り位
置多項式σ(X)及び誤り評価多項式ω(X)を求める
過程について説明する。消失訂正における誤り位置多項
式の導出過程は、通常訂正における誤り位置多項式の導
出過程と停止条件以外は同一である。通常の誤り訂正に
おける誤り位置多項式の導出過程については、すでに本
願発明者が提案している(たとえば、特願平3−254
183号)。一般にユークリッドの互除法とは2つの多
項式の最大公約多項式 ( GreatestCommon Devisor、以
下 GCD )を求めるアルゴリズムとして知られている。こ
の演算過程を用いて修正シンドローム多項式T(X)か
ら誤り位置多項式σ(X)を求めることができる。
【0098】〔ユークリッド互除法を用いた解法〕今、
-1(X)=X2t,r0 (X)=T(X)とおく。ま
た、多項式f(x)の次数をdeg(f(x))と表すとす
る。T(X)次数は(2t−1)次であるから、deg(r
0 (X))<deg(r-1(X))である。このr
-1(X), r0 ( X)を用いて多項式qi ( X)を商と
する割算を繰り返し行なってゆく。これはユークリッド
の互除法と同じ演算である。この演算を繰り返すと順に
次式が得られる。
【0099】
【数40】
【0100】但し、通常の GCDを求める演算では多項式
が割り切れるまで演算を続けるのに対して、誤り位置多
項式を求める過程では次式の条件を満たしたら停止す
る。
【0101】
【数41】
【0102】この時に、rj (X)は、割算の過程で得
られたr1(X),r2(X),…,rj-1(X)の式に下か
ら順次代入計算することにより、最初に定義されたr-1
( X)=X2t, r0(X)=T(X)を用いて次式のよう
に表現することが出来る。
【0103】
【数42】
【0104】この時に得られるrj ( X), A(X)が
各々ω(X),σ(X)になる。以上で、「ユークリッ
ド互除法を用いた解法」の説明を終了する。
【0105】この手順を効率良くハードウェアやソフト
ウェア等で具体的に実現するためには、割り算を如何に
効率良く実行してqj ( X),rj ( X)を求めるかが
問題となる。それと共に、得られたr1(X),r
2(X),…,rj ( X), から、逆順代入計算してσ
(X)を求める手順を如何に効率良く実現するかも大き
な課題である。また、ユークリッドの互除法の過程では
1回の割り算の結果として剰余多項式の次数が2次以上
低下する場合があることに注意する必要がある。ユーク
リッド互除法を実現するハードウェアやソフトウェア等
ではこのような場合にも破綻無く動作する構成でなくて
はならない。
【0106】通常訂正におけるユークリッド互除法に関
する事項は、本願発明者が、種々提案している(たとえ
ば、特開平3−195,216号公報、特開平3−19
5,217号公報、特願平3−254,183号な
ど)。これらの提案と同様に、実は上述したユークリッ
ド互除法を用いた解法は、次数が1次づつ減少してゆく
解法に書き直すことにより、次に示す系統的なアルゴリ
ズムを用いて実現できる。これは、文献:「Howard M.
Shao et.al. "A VLSIDesign of a Pipeline Reed-Solom
on Decoder" IEEE Trans. on Computers Vol.C-34 May
1985 」に提示されているアルゴリズムを本願発明者が
改訂したものである。
【0107】〔改訂版ユークリッド互除法〕初期設定
【0108】
【数43】
【0109】繰り返し演算 第i回目の繰り返しにおいてRi-1(X),Qi-1(X)の
最上位係数を各々ai-1 ,bi-1 としてli-1 を次式で
定義する。
【0110】
【数44】
【0111】(1)li-1 ≧0の場合(ノーマルモー
ド)
【0112】
【数45】
【0113】(2)li-1 <0,ai-1 ≠0の場合(ク
ロスモード)
【0114】
【数46】
【0115】(3)li-1 <0,ai-1 =0の場合(シ
フトモード)
【0116】
【数47】
【0117】結果 i=(2t−ε)回の繰り返し演算でσ(X),ω
(X)が次式のように得られる。
【0118】
【数48】
【0119】以上で、「改訂版ユークリッド互除法」の
説明を終了する。
【0120】このアルゴリズムにおける停止条件は、演
算ステップを必ず(2t−ε)回行うように設定されて
いることに注意されたい。消失シンボルの数εと消失以
外の誤りシンボルの数νが訂正可能な条件(2ν+ε)
≦2t(ν,ε≧0)を満たしている場合には、この
(2t−ε)回の繰り返し演算の結果正しい誤り位置多
項式と誤り評価多項式の係数が得られる。最終的に得ら
れるdR(2t-ε) はω(X)の次数を示しσ(X)の次
数は〔dR(2t-ε) −ε+1〕次となる。dR(2t-ε)
は最終的にはdR(2t-ε) (X)つまりω(X)の次数
を表している。また、通常の演算が行われるノーマルモ
ード及びクロスモードの演算の場合にも、演算の途中過
程におけるdRi,dQi は各々Ri ( X),Qi ( X)
の次数数を表しているが、Ri ( X)の最上位係数が0
になるシフトモードの時には次数を表さないことに注意
する必要がある。これは、ユークリッドの互除法の過程
で1回の割り算で剰余多項式の次数が2次以上低下する
場合でも、本アルゴリズムではdRi が1しか減らない
ことに起因する。
【0121】1.5 消失訂正の例 ここでは、前節までで述べた消失訂正を誤り位置多項式
を求めるまで過程の中で最も重要なステップ2〜ステッ
プ4までの具体的な例を説明する。この例は、規約多項
式g(X)=X4 +X+1を用いて定義される有限体G
F(24)を用いて2t=4パリティが付加された符号を
用いている。通常訂正の場合には最大2シンボル誤り訂
正が可能であるが、消失訂正の場合には(ε+2ν)≦
2tを満たす範囲で訂正が可能である。ここでは、ε=
2,ν=1の例を説明する。2個の消失位置は、
【0122】
【数49】
【0123】今、シンドローム多項式S(X)が、
【0124】
【数50】
【0125】と求められたとする。このシンドローム多
項式S(X)から改訂ユークリッドの互除法 (2)を用い
て誤り位置多項式σ(X)を導出すると次のようにな
る。ステップ2:消失位置多項式係数の計算 消失位置Ui から消失位置多項式u(X)の係数を求め
る。
【0126】
【数51】
【0127】ステップ3:修正シンドローム多項式の係
数計算 修正シンドローム多項式T(X)との係数を求める。
【0128】
【数52】
【0129】ステップ4:誤り位置多項式の導出 ステップ3で求められたT(X)を用いて、T(X)と
2tとの間で改訂版ユークリッド互除法の演算を行う。
但し、剰余多項式ri ( X)の次数が
【0130】
【数53】
【0131】如何になったら停止する。
【0132】
【数54】
【0133】この結果、剰余多項式r1 ( X)の次数が
2次となったので停止する。この時σ(X),ω(X)
は、
【0134】
【数55】
【0135】と書き直せることから次式のように得られ
る。
【0136】
【数56】
【0137】
【数57】
【0138】1.6 従来のユークリッド互除アルゴリ
ズムのハードウェア化 Shaoらによりユークリッドの互除法のアルゴリズムをシ
ストリックアレイアーキテクチャを用いてハードウェア
で実現する例が文献:「Howard M. Shao et.al. "A VLS
I Design of a Pipeline Reed-Solomon Decoder" IEEE
Trans. on Computers Vol.C-34 May 1985 」に示されて
いる(構成方法A)が、この構成方法では各演算ユニッ
トに2つの有限体乗算器が必要で、その上各演算ユニッ
ト毎に制御用回路が必要になる欠点がある。この改良方
法として、本願発明者は、特開平3−195216号公
報、特開平3−195217号公報に2つの方法(構成
方法B)を提案した。構成方法Bでは、構成方法Aで示
されている演算ユニット中の2つの有限体乗算器を1つ
の有限体乗算器と1つの有限体割算器に置き換える。次
に、縦続接続されている複数の演算ユニット中の有限体
割算器を1つの有限体割算器で共有することにより回路
規模の削減を実現している。
【0139】更に、構成方法Bとは全く異なる構成で実
現する構成方法として、本願発明者は、制御用回路や付
加回路が構成中ただ1つで済む構成方法(構成方法C)
を提案した(たとえば、特願平3−254183号)。
構成方法Cは、従来の手法と異なり、割算をすべきデー
タが常に同じ場所から取り出せるため、割算器を共有す
るための回路やその制御回路が不要になる。更に、多項
式の次数から動作を判定する回路や制御回路がただ1つ
で実現されるため回路規模が削減される。ここで、改訂
ユークリッドの互除法の1回の繰り返し演算において、
1個の演算ユニットがただ1回の演算を行なう場合につ
いて考えてみる。つまり、時分割多重等の多重化を行な
って1個の演算ユニットで2回以上の演算を行なわせる
場合を除いて本質的に必要な演算ユニットの数を考え
る。すると、構成方法A ,B ,Cでは、必要な乗算ユニ
ットの数は、各々、8t,4t,(4t−1)個であ
る。ここでtは訂正可能なシンボル数であり、2tはパ
リティシンボル数である。構成方法B ,Cは構成方法A
に比べて演算ユニットの数が約半分で済んでいる。これ
は乗算器2つを用いる代わりに割算器1個と乗算器1個
を使用した構成に改め、各演算ユニットで必要な割算器
を共有してただ1つ使用することにより、各演算ユニッ
トに必要な乗算器を1つに減らしているためである。
【0140】しかし、改訂ユークリッドの互除法のアル
ゴリズム自体で必要な各ステップにおける全乗算回数は
常に2t回以下であるのに対し、この3つの構成法は2
倍以上の演算ユニット数を必要としており極めて無駄な
構成であるといえる。また、各多項式係数を記憶するた
めの記憶用レジスタの個数についても本来必要な(4t
+3)個に比べて2倍以上の記憶領域を必要としてい
る。
【0141】そこで本願発明者は、改訂ユークリッド互
除法のアルゴリズムにおいてレジスタの格納方法と演算
器の構成方法に2つの画期的な工夫を施すことにより、
改訂ユークリッド互除法における1回の繰り返し当たり
最小の演算回数2tより1つ多いだけの(2t+1)個
の演算ユニット数で、かつ、最小の記憶領域である(4
t+3)個のレジスタ数でアルゴリズムを実現する構成
方法(構成法D)をさらに提案した。この構成方法Dに
より、従来提案されている構成方法A ,B ,Cより遥か
に少ない演算ユニット数によりユークリッドの互除アル
ゴリズムが実現できる事になった。
【0142】しかし、最も高速処理が要求される連続的
に入力するデータに対する処理を行う場合においても、
シンドロームから誤り位置多項式を求めるプロセスは、
1符号長のデータが入力する時間中に処理を行えば良い
ことになる。通常、符号長nは、2tに対して十分に大
きい。従って、符号長nが十分に長い仕様の誤り訂正シ
ステムに対して構成方法Dの回路をそのまま使用する
と、(n−2t)クロックサイクルの間は、ユークリッ
ドの互除法を行う回路が遊んでしまうことになり冗長な
回路構成になる。また、連続的に入力しないデータに対
する処理に対しては、ある定められた時間内に終了すれ
ば良いにも拘らず、構成方法Dのような回路構成で2t
クロックサイクルで答を得る必要がなく極めて無駄であ
る。
【0143】本願発明者は、更にこれを解決する構成方
法を提案した(構成方法E)。構成方法Eでは改訂ユー
クリッド互除法の構成方法Dで実現した場合に必要な1
ステップ当たり(2t+1)回の演算を演算ユニット時
分割多重化して使用することにより、(2t+1)個よ
り少ない演算ユニット数で構成する方法を与えている。
構成方法Eを用いることにより、1ステップ当たりの演
算回数が(2t+1)回のままで、構成する誤り訂正シ
ステムが要求する速度・スループット等の仕様に応じて
自由に多重度を設定することが可能になる。従って、設
計仕様を満たし、かつ、演算ユニット数が最小の回路構
成を系統的に得ることができる。
【0144】1.7 消失訂正に必要な演算回数 消失訂正に必要な演算回数について述べる。消失訂正の
手順の節で述べたように消失訂正アルゴリズムの各ステ
ップ中で演算回数が問題となるのはステップ2〜ステッ
プ4までの3つの過程である。これらの過程で必要な演
算回数を各々簡単にまとめておく。
【0145】2.1 消失位置多項式の係数計算に必要
な演算回数(ステップ2) 今、消失位置Ui ( 1≦i≦ε)が既知であるとする
と、消失位置からε次の消失位置多項式u(X)の係数
i ( 0≦i≦ε,u0 =1)を求める過程は式(2)を
式 (3)に展開することにより実現される。
【0146】
【数58】
【0147】この演算を逐次的に実行するにはu(k) (
X)なる多項式を準備して
【0148】
【数59】
【0149】なる初期設定後に
【0150】
【数60】
【0151】なる繰り返しをi=εまで実行することに
より次式でu(X)が得られる。
【0152】
【数61】
【0153】この繰り返し演算と同時に、同じ逐次演算
を式 (16) に示すように初期値を1からS(X)に変更
して演算を行うとT(X)を求めることができる。式
(34)からu(1) (X)を求める乗算・加算は各々0回、
(2) (X)に対して1回となり、第i回目の繰り返し
に対して、(i−1)回の乗算・加算が必要になる。従
って、合計ε個の消失シンボルに対して演算を行う場合
の合計演算回数Nu (ε)は次式で得られる。
【0154】
【数62】
【0155】従って、Nu (ε)はε=2tの時に最大
となり、最大値は次式で得られる。
【0156】
【数63】
【0157】2.2 修正シンドローム多項式の係数計
算に必要な演算回数(ステップ3) 消失位置多項式u(X)とシンドローム多項式S(X)
の積多項式X2tに対する剰余である修正シンドローム多
項式T(X)を求める。必要な修正シンドローム多項式
の係数Ti (1≦i≦2t)は下位の2t個のみ必要
で、係数は2つの多項式の単なる乗算により式 (15) で
得られる。
【0158】
【数64】
【0159】実際の演算は次式のように表される。
【0160】
【数65】
【0161】必要な係数は2t個であるが、S(X)は
(2t−1)次であるのに対してu(X)は高々ε次で
あることに注意すると、実際に行われる乗算・加算の回
数は式 (38) の右辺の第(ε+1)項までで良いことに
なる。u(X)の最下位係数はu0 =1であることに注
意すると実際に必要な乗算・加算の回数は各々ε=0の
時0回、ε=1の時(2t−1)回、ε=2の時{(2
t−1)+(2t−2)}回という具合になる。
【0162】一般に、ε個の消失シンボルが存在すると
きの修正シンドローム多項式T(X)を求めるための乗
算・加算の回数NT ( ε)は次式で与えられる。
【0163】
【数66】
【0164】NT (ε)はNu (ε)と同様にε=2t
の時に最大となり最大値は式 (40)で表される。
【0165】
【数67】
【0166】2.3 誤り位置多項式の導出に必要な係
数計算(ステップ4) 修正シンドローム多項式T(X)から誤り位置多項式σ
(X)及び誤り評価多項式ω(X)を求める過程は、通
常訂正の場合とほぼ同様のユークリッド互除法によるア
ルゴリズムを用いることができる。本願発明者による特
願平3−254183号明細書で述べたように「改訂版
ユークリッド互除法」における1回の繰り返しに必要な
演算回数は、除算が1回、乗算・加算は各々2t回であ
る。従って、通常訂正の場合には合計2t回の繰り返し
が行われるため合計で2t回の除算と4t2 回の乗算・
加算が必要であった。消失訂正の場合には、停止条件が
『2t−ε回の繰り返しの後停止する。』となっている
ため繰り返し回数が変わる以外は通常訂正の場合と同じ
演算量が必要である。従って、合計の除算回数NσDiv
(ε) 及び乗算・加算の回数Nσ(ε)は各々式 (41)
、式 (42) で表される。
【0167】
【数68】
【0168】
【数69】
【0169】演算回数はε=0の時に最大となり最大値
は式 (43) 及び式 (44) で表される。
【0170】
【数70】
【0171】
【数71】
【0172】2.4 合計の演算回数 2.3項で述べたように、消失訂正を実現するアルゴリ
ズムの各段階における演算回数は、消失シンボル数εの
関数となることが判る。εが増加するとNu (ε),N
T (ε)が増加するがNσ(ε)が減少する。 3つの演
算過程で必要な乗算・加算の回数の合計は、式 (45) で
表される。
【0173】
【数72】
【0174】この結果から、実は消失訂正の合計の乗算
・加算の回数は通常訂正の場合と同様に最大でも4t2
であることが判る。
【0175】3.1 消失訂正を実現する上での問題点 既に説明したように、消失訂正で必要な演算回数自体は
通常訂正の場合と同様に高々4t2 回である。通常訂正
の場合には、シンドロームSi から直接誤り位置多項式
σ(X)を求めることができるので、ユークリッド互除
法のアルゴリズムを如何に効率良く実現するかが主な課
題であった。これに対して消失訂正の場合には、
【0176】
【数73】
【0177】という手順を経て初めて誤り位置多項式σ
(X)の係数が求められ、訂正が行われる。この過程を
最小の演算ユニット数で効率良く実現するハードウェア
構成法が大きな課題になってくる。
【0178】既に通常訂正を実現するハードウェア構成
法については様々な構成法が提案されている(たとえ
ば、Howard M. Shao et.al. "A VLSI Design of a Pipe
line Reed-SolomonDeco der" IEEE Trans. on Computer
s Vol.C-34 May 1985 、本願発明者による特開平3−1
95216号公報、本願発明者による特開平3−195
217号公報、本願発明者による特願平3−25418
3号など)が、消失訂正に関するハードウェア構成法は
余り論じられていない。僅かに、「岩村・今井・土肥 "
シストリックアレーによる小型回路構成法とそのリード
ソロモン符号化・復号器への応用" 信学誌 A Vol. J72-
A No.3 pp.577-584 1989年 3月」において同一の処理単
位を用いて消失訂正に必要な全ての演算を実現する試み
が論じられているが、冗長で実現性に乏しい。また、光
ディスク用の誤り訂正LSIとして消失訂正回路が実現
されているが(たとえば、「吉田・山岸・井上・石田・
田中"光ディスク用誤り訂正 LSI" 信学誌 A Vol. J73-A
No.2 pp.261-268 1990年 2月」)、構成自体が実時間
処理を目的としていない。
【0179】以上述べた消失訂正の手順における問題点
を整理する。 (問題点1)消失位置多項式の計算法 通常の場合、消失位置に関する情報はエラーフラグなど
によって受信信号と共に与えられる。符号長が既知の場
合にはエラーフラグから消失位置Ui は容易に求められ
る。しかし、既知のUi から式 (2)を展開して消失位置
多項式u(X)の係数ui ( 0≦i≦ε)を求めるには
有限体上の乗加算演算が必要になる。消失位置の数は最
大2tであるから、この最大2t次になる多項式の根か
ら係数を求める演算を如何に効率良く行うかが問題とな
る。
【0180】(問題点2)修正シンドローム多項式の計
算法 消失訂正では、ユークリッド互除法の演算を行う前に修
正シンドローム多項式T(X)の係数を求める必要があ
る。この演算はシンドローム多項式S(X)と消失位置
多項式u(X)の積多項式の(2t−1)次までの係数
を計算することにより得られるが、如何に効率良く求め
るかが問題となる。
【0181】(問題点 3)消失位置と消失位置多項式係
数の記憶法 消失パターンVi を計算するためには、消失位置Ui
U′(X),σ(X),ω(X)に代入した数値が必要
である。この代入は、ユークリッド互除法によりσ
(X),ω(X)が求められた後、初めて行うことがで
きる。これらの多項式係数が求められるまでの間、消失
位置Ui と消失位置多項式u(X)の係数ui を記憶し
ておく手段を提供する必要がある。
【0182】(問題点 4)誤りパターンの計算法 消失以外の誤りパターンが式 (31) で算出されるのに対
して消失パターンは式 (32) で算出される。この2式が
異なるため誤り位置と消失位置とで訂正処理が異なるこ
とになるため、効率良く実現する方法が課題となる。
【0183】以下、本発明の第1実施例を述べる。本発
明は上述した従来の消失訂正の手順を改良し、ユークリ
ッド互除法を行う演算ユニットを用いて消失多項式u
(X)及び修正シンドローム多項式T(X)を得ること
ができる効率の良い消失訂正回路の構成法を提供する。
【0184】4-1.u(X),T(X)の計算法の改良 u(X),T(X)の係数計算を通常の、Ui 、u
(X)、T(X)の順に行う場合の計算手順については
既に述べた。しかし、この手順で訂正を行う場合、消失
位置Ui と消失位置多項式の係数ui を保持するための
機構(回路)が必要になる。そこで、本発明において
は、先ず最初に修正シンドローム多項式T(X)を消失
位置多項式σ(X)と同時に求めるように変更する。既
に述べたように、消失位置多項式u(X)の係数を逐次
的に求める過程は、次に示すu(k) (X)なる多項式を
準備し、式 (33) の初期設定後、式 (34) で与えられる
漸化式をi=εまで繰り返すことにより実現される。
【0185】
【数74】
【0186】既に述べたように、u(X)を求める式
(34) の1回の繰り返しで必要な乗加算は、u
(0) (X)に対して0回でu(X)の次数が増加するに
従って1回づつ増加するので合計で〔ε(ε−1)/
2〕回必要になる。このu(X)を求める繰り返し演算
と同時に、同じ逐次演算を式 (46) に示すように初期値
を1からS(X)に変更して演算を行うとT(X)を求
めることができる。
【0187】
【数75】
【0188】S(X)は最初から(2t−1)次の多項
式で式 (47) の繰り返しで求められるT(X)も(2t
−1)次であるから、式 (47) の1回の繰り返しで(2
t−1)回の乗加算が行われることになる。従って、T
(X)を求めるための乗加算回数T ( ε)(アンダー
ラインはTにハットが付くことを示す、以下、同様)は
次式で表される。
【0189】
【数76】
【0190】式 (49) と式 (39) との比較から明らかな
ように、この計算方法を用いるとS(X)からT(X)
の順に計算する場合に比べて演算回数が増加するが、u
(X)とT(X)を求める計算を同時に計算することが
できる。
【0191】4-2. ユークリッド互除法の改良 誤り位置多項式σ(X)と消失位置多項式u(X)の積
多項式σ(X)(アンダーラインはσにハットが付くこ
とを示す、以下、同様)を式 (50) で定義する。
【0192】
【数77】
【0193】σ(X)は符号中に含まれる誤りの発生し
ている全ての位置で0となる(ε+ν)次の総合的な誤
り位置多項式となる。式 (50) と式 (23) から次式が得
られる。
【0194】
【数78】
【0195】σ(X)を用いると、消失パターンVi
誤りパターンYi は式 (52) および式 (53) で表され
る。
【0196】
【数79】
【0197】
【数80】
【0198】これは、式 (50) の両辺を 1 階微分し
て、式 (52) 及び式 (53) に代入すれば、消失位置に対
してu(Ui -1)=0,誤り位置に対してσ(Xi -1
=0となることから式 (11) 及び式 (12) に一致するた
め明らかであろう。式 (52) と式 (53) は同一の式であ
るから、σ(X)を何等かの方法で求めることができれ
ば、総合的な誤り位置多項式としてσ(X)を用いるこ
とにより、全ての誤りパターンと消失パターンは同一の
式で計算することができる。次に、σ(X)を求める方
法が問題となる。単純に式 (19) を用いてσ(X)とu
(X)が求められた後に、更に2つの多項式の乗算を行
ってσ(X)を得るのは手順が増えるだけで計算が繁雑
になる。
【0199】しかし、σ(X)とω(X)だけを用いて
訂正を行う場合には、消失訂正手順のステップ6におい
てu(X),σ(X)が不要になる。従って、σ(X)
を求めずに直接σ(X)を求めることができれば良いこ
とになる。そこで、消失訂正手順のステップ4のユーク
リッド互除法を改良して直接σ(X)を得る方法が必要
になる。実は、ユークリッド互除法のアルゴリズムにお
けるλ0(X)の初期値設定を式 (54) のように変更すれ
ばステップ4のアルゴリズムを全く変更することなくu
(X),T(X)から直接σ(X)を求めることができ
る。
【0200】
【数81】
【0201】但し、このような初期値設定にした場合に
は、改訂版ユークリッド互除法の演算ステップにおける
各多項式の次数を示す変数dRi,dQi,dλi,dμi
間に成り立つ関係は式 (55) で表される。
【0202】
【数82】
【0203】式 (55) から明らかなように、通常訂正の
場合には改訂版ユークリッド互除法の1ステップ当たり
の乗加算回数が2t回で2t回の繰り返しを行ったのに
対して、消失訂正のために初期値を変更した改訂版ユー
クリッド互除法では1ステップ当たり(2t+ε)回の
乗加算が(2t−ε)ステップ繰り返されることにな
る。従って、消失訂正の場合1ステップ当たりの最大で
4t回の乗加算を行うことのできる演算器の構成が必要
になる。
【0204】図1は上述した通常の消失訂正手順におけ
る、各多項式の係数と消失位置のデータフローである。
図2に本発明の各多項式の係数と消失位置のデータフロ
ーを示す。図1の図解からから明らかなように、通常の
手順ではステップ6の処理を行う際に、消失位置Ui
失位置多項式u(X)の係数が必要になるため、ステッ
プ2の処理までに消失位置と係数をステップ6まで保持
する機構が必要になる。更に、誤りパターンと消失パタ
ーンの計算が異なる式で定義されているためステップ6
の処理が複雑になる。それに対して、図2に示す本発明
における計算法による場合には、
【0205】
【数83】
【0206】という手順を取ることになる。この手順で
は、最初のεステップの演算でu(X),T(X)が同
時に求められ、次の(2t−ε)ステップの演算でω
(X),σ(X)が求められる。この手順では、誤りパ
ターンを求める際に消失位置多項式の係数や消失位置を
使用しないためユークリッド互除法の演算中に係数など
を保持する回路機構が不要になり手順が簡単になってい
る。
【0207】4-3. 提案する消失訂正回路の構成法 本実施例は、従来の消失訂正アルゴリズムにおける計算
手順を上述したように変更して、消失訂正特有の繁雑な
多項式係数の処理や保持機構を簡略化することができる
構成法を提供する。
【0208】まず、本構成法の原理を説明する。本構成
法は、既知のUi から式 (34) 及び式 (47) で示される
εステップの1次多項式の乗算の繰り返しを同時に実行
してu(X),T(X)を求め、次に、初期値をλ
0(X)=u(X)に置き換えてステップ4のユークリッ
ド互除法のアルゴリズムを(2t−ε)ステップ繰り返
すことによりω(X),σ(X)を得るものである。最
初のεステップでは、T(X)とu(X)の計算を1次
多項式の乗算を繰り返して同時に行なうため、最大で各
々の多項式に対して1ステップ当たり2t回の乗加算を
行う演算能力と各々2t個の係数を格納する領域が必要
になる。次の(2t−ε)ステップのユークリッドの互
除法ではλ0(X)の初期値の次数が0次からε次まで増
えるためλi ( X)に対しても最大(2t−1)の多項
式に対する乗加算を行う演算能力が必要になり、係数の
記憶領域も各々の多項式に対してほぼ2t次分の領域が
必要である。これらは、構成法D,Eで通常訂正を実現
した場合の約2倍である。
【0209】つまり、本構成法は、消失訂正において本
来必要な全部で4t2 回の乗加算を、(8t+2)個の
レジスタを用いて、1ステップ当たり4t回の乗加算を
2tステップ繰り返すことにより実現する。従って、演
算回数は約2倍程度まで増加するが、それを補って余り
ある数々の利点がある。
【0210】図3〜図5は本発明の構成方法の概念的な
構成図である。本構成は、割り算ユニットDIVと乗算
加算演算ユニットMLTとの2種のブロックから成る。
割り算ユニットDIVは構成中ただ1つ存在する。割り
算ユニットDIV内の除算ユニット148(G)はユー
クリッド互除法における2多項式の最上位係数間でE/
Fなる除算を行う。この割算の結果は、切替器148
(S)で消失位置の記憶レジスタUD1 〜UD2 からな
るレジスタ部132の保持データと切り替えられて乗算
ユニットMLT内の各演算ユニット(Processing Eleme
nt) PEに供給される。切替器144(R)はユークリ
ッド互除法の演算のための初期化を行う切替器である。
レジスタ122(DR)、124(DQ)は、改訂版ユ
ークリッド互除法の演算を行う際にレジスタ134(A
0 )、136(B0 )に格納されている多項式Ri (
X),Qi ( X)の最上位係数の次数dRi,dQi を格
納する。実際に演算が行われる時には、Ri ( X),Q
i ( X)の次数を表すことになる。割り算ユニットDI
V内の制御信号発生部 (CNT)120は、レジスタ1
22(DR)、124(DQ)の比較結果と、ゼロ検出
器138(D)におけるレジスタ134(A0 )の0検
出結果、および、現在の演算ステップ数など情報から乗
算加算演算ユニットMLT内の各演算ユニットPEで行
うべき演算の動作を判定し、各演算ユニットPEを独立
に制御する。
【0211】乗算加算演算ユニットMLTは、最初のε
ステップの演算においても次の(2t−ε)ステップの
演算においても、本構成では2t個のパリティが付加さ
れたシステムに対して4t個の演算ユニットが必要であ
る。但し、これは演算器を多重化して使用せず、1ステ
ップの繰り返しに対して各演算ユニットが 1回の乗加算
しか行わない場合を想定している。乗算加算演算ユニッ
トMLTは、演算ユニットPE#1〜PE#4tを有す
る。図6に示すように、各演算ユニットPE(100)
は通常、乗算器104(L)、加算器103(K)、切
替器101、102(N)、および切替器105(P)
で構成され、特に、リードソロモン符号を用いた場合に
は有限体上の演算を行う。演算ユニットPEは、
【0212】
【数84】
【0213】なる4種類の演算が行えるような構成であ
れば良い。
【0214】演算ユニットPEの構成法自体は上記4種
類の演算を行うことができる構成であればどのような構
成でも良い。図3〜図5とは異なる構成法で実現した場
合には演算ユニットPEの構成は変わる。図3〜図5中
のレジスタの内、図中の左側にあるレジスタ群A0,1,
, 4tをA側のレジスタと呼び、右側のレジスタ群B
0,1,, 4tをB側のレジスタと呼ぶことにする。
【0215】割り算ユニットDIVと乗算加算演算ユニ
ットMLTを合わせるとA側のレジスタは、全部で(4
t+1)個、B側のレジスタは全部で(4t+1)個の
合計(8t+2)個が設けられている。演算ユニットP
Eは4t個設けられている。尚、乗算加算演算ユニット
MLTの最終段のA側レジスタの入力は切替器119
(J)により0又は1が入力される。また、動作中は最
後段の演算ユニットPE#4tは実際には演算を行わな
い。従って、若干の制御の変更でレジスタA4tおよび演
算ユニットPE#4は削減され、更に回路が簡略化が可
能である。しかし、本構成の原理説明の為にそれらの回
路も設けている。
【0216】4-4. 提案する消失訂正回路の動作例 次に、演算を行なう各多項式の係数の格納方法、初期値
設定及び演算方法について説明する。手順は消失シンボ
ルが存在する場合(ε>0)と消失シンボルが存在しな
い場合(ε=0)とで動作が異なる。後者の場合には、
通常の誤り訂正の場合と同じ動作を、本願発明者が先に
提案した方法(たとえば、特願平3年254183号に
記載の動作例)に基づいて行う。
【0217】動作1:消失シンボルが存在する場合(ε
>0) 消失シンボルが存在する場合には、先ず最初のεステッ
プでu(X),T(X)の計算を同時に行い、この結果
求められたu(X),T(X)を初期値として、次の
(2t−ε)ステップで初期値を変更した改訂版ユーク
リッドの互除法の演算を行う。本構成では、これら2つ
の独立した演算を連続的に行うことができる。最初のε
ステップの演算は、式 (34) 及び式 (47) に従って行わ
れる。式 (34) 及び式 (47) の漸化式で与えられる演算
は式 (56) 及び式 (57) のように書き直すことができ
る。
【0218】
【数85】
【0219】
【数86】
【0220】これは、u(i-1) (X),T(i-1) (X)
に対して、その多項式自体と係数を上位に1次分シフト
した多項式に消失位置Ui を乗じた多項式を加算するこ
とを意味している。
【0221】そこで、図3〜図6に示した概念構成図に
おいて、u(i) ( X)とT(i) ( X)の係数はA側のレ
ジスタに格納し、B側のレジスタにはA側のレジスタに
格納されている係数を1次分下位にシフトした係数を格
納することにする。最終的に必要なT(X)は(2t−
1)次の多項式であるから、演算途中において保持すべ
きT(i) ( X)の係数も、(2t−1)次分の係数で良
いことになる。従って、T(i) ( X)の各係数は最上位
の2t−1次の係数から順に降冪の順にレジスタA0,
1,, 2t-1に格納される。A側のレジスタにはT(i)
( X)に続いてu(i) ( X)の係数がレジスタA2tから
レジスタA4t迄に同じく降冪の順に格納される。u(i)
( X)の最大次数は2t次であるから係数の数は(2t
+1)個となり、レジスタA2tからレジスタA4tまでの
(2t+1)個のレジスタにT(X)に対して降冪の順
に格納する。
【0222】一方、B側のレジスタ群はA側のレジスタ
に格納されている係数を1次分下位にシフトして格納す
る。即ち、レジスタA0 に格納されている係数は、レジ
スタB1 にも格納され、以下、レジスタAi に格納され
ている全ての係数がレジスタBi+1 に格納される。尚、
レジスタB0 には0を入れることにする。
【0223】まず初期値設定を述べる。T(0) ( X)=
S(X)であるから、レジスタA0 にS2tが初期値とし
て格納され以下S2t-1がレジスタA2t-1に格納される
迄、全てのシンドロームが格納される。一方、u(0) (
X)=1であるから、実際の初期設定としては、レジス
タA2tからレジスタA4t-1でのレジスタには全て0に初
期値設定を行い、レジスタA4tのみ1を初期設定値とし
て与える。B側のレジスタ群にはA側のレジスタ群の係
数を1次分下位にシフトして格納することにする。尚、
細かな初期設定用の回路は本質的でないため省いてあ
る。
【0224】つぎに動作を述べる。上で述べたような係
数格納方法および初期値設定の後、最初のεステップの
演算でT(i) ( X)及びu(i) ( X)の多項式演算を行
う。今、レジスタにT(i-1) ( X)と u(i-1) ( X)
の係数が格納されているとする。最初のεステップの多
項式演算では、切替器148(S)は接点位置一2側に
切り替えられ1ステップに1つづつの消失位置Ui がレ
ジスタUD1 から供給される。各演算ユニットの切替器
Nは接点位置1−1′側に、切替器105(P)は接点
位置1側に切り替えられる。以上の設定から、各演算ユ
ニットPEでは、
【0225】
【数87】
【0226】なる演算を行うことになる。従って、第j
番目のレジスタに格納されている係数に対して、
【0227】
【数88】
【0228】なる演算が行われることになる。実際には
レジスタBj にはレジスタAj-1 と同じ値が入っている
から、
【0229】
【数89】
【0230】なる演算が行われることになる。この出力
がレジスタAj-1 とレジスタBj の2つのレジスタに同
時に格納される。この演算の結果、T(i) (X)とu(i)
(X)の係数が、A側のレジスタに格納され、B側にもそ
の1次下位にシフトされた係数が格納されることにな
る。これで1ステップの多項式演算が終了する。
【0231】この繰り返しをε回繰り返した後には、A
側レジスタ群には
【0232】
【数90】
【0233】が得られることになる。つまり、レジスタ
0 にT2tが格納され、以下レジスタA2t-1までA側の
レジスタには修正シンドローム多項式T(X)の係数が
降冪の順に格納される。また、消失位置多項式u(X)
の係数は、レジスタA2tに2t次の係数が格納され、以
下レジスタA4tに0次の係数が格納されるまで(2t+
1)個の係数が降冪の順に格納される。以上述べた最初
のεステップの多項式演算が終わると、次にこの格納さ
れた係数を初期値として改訂版ユークリッド互除法の繰
り返しを行うことになる。この演算は、本願発明者の特
願平3年254183号、「ユークリッドの互除回路」
において提案した演算と基本的には同じ方法で行う。
【0234】本構成ではA側のレジスタ群には改訂版ユ
ークリッド互除法の演算におけるRi (X),λ
i (X)の係数を格納し、B側のレジスタ群にはQ
i (X),μi(X)の係数を降冪の順に格納する。こ
の時、Ri (X),Qi (X)の係数はdRi 次の係数
が最上位にくるように格納される。このユークリッド互
除法の演算における初期設定は、A側のレジスタ群に降
冪の順にRi (X)の初期値R0 (X)=T(X)の係
数を格納する。レジスタA0 にT2tを格納し、以下2t
個の係数をレジスタA2t-1まで格納する。R0(X)に続
いてA側のレジスタには、λi (X)の係数を格納す
る。通常訂正の場合には、特願平3年254183号
(「ユークリッドの互除回路」)において提案したよう
にλi (X)の初期値λ0(X)=1であるから、レジス
タA2tからレジスタA4t-1までの初期値を0とし、レジ
スタA4tのみ1とすれば良かった。
【0235】変更した消失訂正アルゴリズムにおいて
は、λ0(X)=u(X)であるから、レジスタA2tから
レジスタA4tまでの初期値をu(X)の係数に置き換え
れば良いことになる。レジスタA2tにはu(X)の2t
次の係数が格納され、以下レジスタA4tにu(X)の0
次の係数である1が格納されるまで、降冪の順にu
(X)の係数を格納する。一方、B側のレジスタの初期
設定は、A側のレジスタ群と同様に降冪の順にQ
i (X)の初期値Q0(X)=X2tの係数を格納する。こ
れは、レジスタB0 に1を格納し、それ以外のレジスタ
1からレジスタ2tの係数を0とすれば実現できる。Q
0(X)に続いてB側のレジスタには、μi (X)の係数
を格納する。μ0(X)=0であるから、B側のレジスタ
はB0 を1とし、それ以外のレジスタを全て0とするこ
とでよいことになる。
【0236】以上述べたことから、実は最初のεステッ
プの演算を終えた後に、A側のレジスタに残った係数を
そのまま用いて、ユークリッド互除法の演算を続けるこ
とができることが判る。しかし、第εステップ目の多項
式演算をそのまま行うとB側のレジスタ群にはA側のレ
ジスタに格納されている係数が1次分シフトされて格納
されてしまうことになる。そこで、多項式演算の最後に
なるεステップ目の繰り返しの時には、同時に次の改訂
ユークリッド互除法の演算を行う為のQ0(X)μ0(X)
の初期値であるX2t,0の係数をB側のレジスタに用意
する動作を行う必要がある。これはεステップ目の繰り
返しの演算において、B側のレジスタには演算結果のT
(X)の係数を格納せず、B0 =1とし、B1 以降のレ
ジスタを全て0に初期化することで実現できる。
【0237】実際には、切替器105(P)を接点3側
に切り替えることにより演算ユニットPEに対して、
【0238】
【数91】
【0239】なる演算を行わせることにより簡単に実現
できる。この時、切替器144(R)を接点2側に切り
替えてレジスタB0 には1を格納し、dRi,dQi を格
納するためのレジスタ122、124(DR,DQ)も
同時に各々(2t−1)、2tで初期化する。このよう
に第εステップで改訂版ユークリッド互除法のための初
期値が設定された後に、改訂版ユークリッド互除法の演
算が1ステップずつ(2t−ε)ステップにわたって順
に行なわれる。
【0240】ユークリッド互除法の演算を行う第iステ
ップの演算の動作を説明する。消失シンボルの数εが2
t個ある場合は、2t回の多項式演算だけでω(X),
σ(X)が求められることになるからこれ以上のユーク
リッド互除法の演算は不要になる。そこで、ここでは1
個以上2t個未満の消失シンボルがある場合を想定す
る。このような場合には少なくとも1回のユークリッド
互除法が多項式演算後に行われることになる。先ず、0
検出器138(D)でRi-1(X)のdRi-1 次係数が0
か否かを検出する。この結果とレジスタDRi-1,DQ
i-1 の大小関係とから動作モードが決定される。
【0241】DRi-1 <DQi-1 で、かつ、A0 ≠0の
状態が知らされた場合にはクロスモード、その他の場合
にはノーマルモードとなる。これは、前述の本出願人に
よる出願の明細書で述べたように改訂版ユークリッド互
除法におけるシフトモードは実は割算器146(G)か
らの商が0の場合のノーマルモードとして扱うことが出
来るためである。モードが決定すると、割り算ユニット
DIV内の2つの切換器140:142(C)と12
6:128(H)が動作モードに応じてクロス(1−
1′)接点またはノーマル(2−2′)接点に切り替わ
る。レジスタA0 の値、即ち、Ri-1(X)のdRi-1
の係数とレジスタB0 の値、即ち、Qi-1(X)のdQ
i-1 次の係数が切換器140:142(C)を通って割
算器146(G)に入力される。この割算器では、図中
のデータE,Fの入力に対してE/Fの割算を行い、そ
の結果を切替器148(S)に出力する。ユークリッド
互除法の演算中は切替器Sは割算器G側の接点1が選択
される。
【0242】一方、乗算加算演算ユニットMLT内のの
各演算ユニットPEでは割り算ユニットDIVで判定さ
れた動作モードに応じて演算が行なわれる。ユークリッ
ド互除法の演算中は、切替器105(P)は接点2側が
選択される。クロスモードの場合には、切替器101:
102(N)はクロス側接点(1−1′)が選択され、
図6に示す演算ユニットPEにおいて割算器146
(G)の出力をSで表すと
【0243】
【数92】
【0244】なる演算が行われる。一方のノーマルモー
ドの場合には、演算ユニットPE内の切替器101:1
02(N)はノーマル側接点(2−2′)が選択され、
【0245】
【数93】 なる演算が行われる。
【0246】各々の演算ユニットPEで演算された係数
はレジスタに格納され1ステップの演算が終了する。第
j番のレジスタにおいて係数の格納は、A側のレジスタ
には第(j+1)番目の演算ユニットPE#j+1のの
X′出力を格納し、B側のレジスタは第j番目の演算ユ
ニットPE#jの出力を格納する。即ち、次式のように
表される。
【0247】
【数94】
【0248】この手順を(2t−ε)回繰り返すことに
より、
【0249】
【数95】
【0250】として求めることが出来る。多項式の次数
は各々dRi,dRi +1である。ω(X)の係数はdR
i,次の係数がレジスタA0 に格納され以下降冪の順に下
位係数が格納される。σ(X)の係数も同様にレジスタ
2tに(dRi +1)次の係数が格納され、以下降冪の
順に下位係数が格納される。
【0251】消失訂正を行う場合の動作例を具体例を参
照して述べる。この例は、規約多項式g(X)=X4
X+1を用いて定義される有限体GF(24 )を用いて
2t=4パリティが付加された符号を用いている。通常
訂正の場合には最大シンボル誤り訂正が可能であるが、
消失訂正の場合には(ε+2ν≦2t)を満たす範囲で
訂正が可能である。ここでは、ε=2,ν=1の例を説
明する。2個の消失位置は、
【0252】
【数96】
【0253】今、シンドローム多項式S(X)が、
【0254】
【数97】
【0255】と求められたとする。このシンドローム多
項式S(X)から改訂版ユークリッド互除法を用いて誤
り位置多項式σ(X)を導出すると次のようになる。
【0256】ステップ 1 : 多項式演算 消失位置Ui から消失位置多項式u(X)と修正シンド
ローム多項式T(X)との係数を求める。初期設定を
【0257】
【数98】
【0258】として、次の演算を行う。
【0259】
【数99】
【0260】
【数100】
【0261】ステップ 2 : 多項式演算
【0262】
【数101】
【0263】
【数102】
【0264】ステップ 3 : ユークリッドの互除法・ク
ロスモード演算 ステップ 1 , 2 で求められたT(X),u(X)を用
いて改訂版ユークリッド互除法の演算を行う。初期値設
定を次のように行う。
【0265】
【数103】
【0266】繰り返しの演算は演算モードの判定の後、
次のように行われる。
【0267】
【数104】
【0268】
【数105】
【0269】
【数106】
【0270】
【数107】
【0271】
【数108】
【0272】
【数109】
【0273】
【数110】
【0274】ステップ 4 : ユークリッドの互除法・ノ
ーマルモード演算
【0275】
【数111】
【0276】
【数112】
【0277】
【数113】
【0278】
【数114】
【0279】
【数115】
【0280】
【数116】
【0281】
【数117】
【0282】以上、4ステップの繰り返し演算で、σ
(X) ,ω(X)は、次式のように求められる。
【0283】
【数118】
【0284】
【数119】
【0285】以上述べた4ステップの演算で求めるσ
(X)とω(X)が求められる。この演算過程を順に図
7〜図16に示す。第1ステップの動作状態を示す、図
7および図8において、レジスタは既に初期設定されて
いる。この例では、ε=2であるから多項式演算用の初
期化がされている。レジスタUDi には消失位置U1
α0,U2 =α1 が順に格納されている。レジスタA0
3 にはT(0) ( X)の係数であるシンドロームS1
4が格納されており、B側のレジスタ群にはこれら係
数を1次下位にシフトして格納されている。A4 〜A7
及びB5 〜B8 は全て0でA8 に1が格納されている。
【0286】図7、図8に示す第 1ステップの動作は、
切替器Nがクロス側接点1−1′に切り替えられる。レ
ジスタUDから供給される消失位置U1 =α+0を用いて
【0287】
【数120】
【0288】の演算が行われる。右辺第2項目でXが掛
けられているため、T(0) (X)のX3 の項の係数は計
算する必要がない。従って、実際に演算されるのは、
【0289】
【数121】
【0290】の4個の演算が演算ユニットPE#1〜P
E#4で行われ、結果がレジスタA0 〜A3 とレジスタ
1 〜B4 に同時に格納される。u(1) (X)に関する
演算も同様である。
【0291】
【数122】
【0292】の演算に対して、u(0) (X)=1である
から
【0293】
【数123】
【0294】の演算が演算ユニットPE#8において行
われ、レジスタA7 とレジスタB8に同時に格納され
る。多項式演算時には最終段の演算ユニットPE内の切
替器119(J)から1がレジスタA8 に供給される。
【0295】第1ステップの演算が終了した時に図9、
図10に示すように係数が格納される。図9および図1
0に示す第2ステップも第1ステップと同様に多項式演
算が行われるが、ε=2であるから多項式演算の最終ス
テップとなるため同時にB側のレジスタをユークリッド
互除法の演算用に初期化する。第2ステップが終了した
時点で多項式演算が終了し、T(X),u(X)が求め
られる。
【0296】図11、図12では第2ステップ終了時点
の係数が各レジスタに格納されている。レジスタA0
3 にはR0(X)=T(X)の係数が格納されレジスタ
4〜A8 にはλ0(X)=u(X)の係数が格納されて
いる。一方、B側のレジスタはQ0(X)=X2t, μ
0(X)=0となるよう初期化されている。割り算ユニッ
トDIV内のレジスタ122(DR)、124(DQ)
にはdR0 およびdQ0 の値を格納する。改訂版ユーク
リッド互除法のアルゴリズムにおいて実際に演算が行わ
れる演算ステップではdR0,dQ0 は各々R0(X),
0(X)の次数を表している。ユークリッド互除法の演算
の初期化の際には、レジスタDR、DQの初期値は(2
t−1)、2tとする。
【0297】図11および図12に示した第3ステップ
の演算は、通常訂正の場合の改訂版ユークリッド互除法
の演算と同一である。レジスタ122(DR)の値(d
0)が3でレジスタ124(DQ)の値(dQ0) が4
であるからDR<DQの条件を満たしており、また、R
0(X)のdR0 次の係数がα9 と零でないから、動作モ
ードがクロスモードになる。そこで、切替器140:1
42(C)、126:128(H)、101:102
(N)がクロス側接点2−2′に切替えられ、割り算ユ
ニットDIV内の割算器146(G)において1/α9
なる演算が行なわれ、割算結果α6 が切替器148
(S)を経由して各演算ユニットPEに対して出力され
る。
【0298】乗算加算演算ユニットMLTではクロスモ
ードの演算が行われる。R1 (X)を求めるための演算
【0299】
【数124】
【0300】で表される。これら3つの係数は次に示す
演算が演算ユニットPE#1〜PE#3において行われ
ることにより実現される。
【0301】
【数125】
【0302】同様に、λ1(X)を求めるための
【0303】
【数126】
【0304】なる計算は、演算ユニットPE#6〜PE
#8で次に示す3つの係数演算が行われることにより実
現される。
【0305】
【数127】
【0306】この演算されたR1(X), λ1(X)の係数
は図13、図14に示すようにA側のレジスタに格納さ
れ、B側のレジスタ群にはQ1(X)=R0(X)及びμ
1(X)=λ0(X)の係数が格納される。
【0307】続いて、図13、図14に示す第4ステッ
プの演算では、レジスタDRの値(dR1)が3でレジス
タDQの値(dRi ) が3であるからDR≧DQとな
り、ノーマルモードの演算を行う。そこで、切替器C、
H、Nがノーマル側接点1−1′に切替えられ割り算ユ
ニットDIV内の割算器Gにおいてα13/α9 なる演算
が行なわれ、割算結果α4 が切替器Sを経由して各演算
ユニットPEに対して出力される。乗算加算演算ユニッ
トMLTはノーマルモードの演算を行う。R2 ( X)を
求めるための計算は
【0308】
【数128】
【0309】である。これらの係数を求めるために演算
ユニットPE#1〜PE#3において、次に示す3つの
係数演算が行われることになる。
【0310】
【数129】
【0311】同様に、λ1(X)は
【0312】
【数130】
【0313】なる演算で求められるため、次に示す4つ
の係数演算が演算ユニットPE#5〜PE#8で行われ
ることにより実現されている。
【0314】
【数131】
【0315】4ステップの演算が終了した時点でレジス
タに格納されている係数は図15、図16に示すように
なる。ω(X)の係数α9,0,α3 がレジスタA0 〜A
2 に求められ、σ(X)の係数α7 ,α0 ,α14,α4
がレジスタA4 〜A7 に求められている事が判る。
【0316】動作2 消失シンボルが存在しない場合
(ε=0) 既に述べたように消失シンボルが存在しない場合には本
願発明者による特願平3−254183号の明細書で述
べた通常の誤り訂正の場合と同様の動作を行う。初期設
定を説明する。レジスタA0 〜A2t-1に順にR0(X)=
S(X)の係数が降冪の順に代入される。同様に、レジ
スタB0 〜B2tに順にQ0(X)=X2tの上位の係数から
降冪の順に代入される。つまり最上位のレジスタA0
1で残りの全てのレジスタが0となる。λ0(X)=1の
係数を格納するレジスタA2t〜A4tは、最下位レジスタ
4tが1でその他は全て0とする。また、μ0(X)=0
の係数を格納するレジスタB2t+1〜B4tは、全て0とす
る。割り算ユニットDIV内のレジスタDR,DQは、
各々dRi,dQi が格納される。初期値は、各々2t−
1,2tである。B側レジスタの最下位レジスタの入力
側の切替器119(J)はユークリッド互除法の演算中
は 1側が選択され常に入力端子には常に0が入力され
る。尚、初期値を設定する回路は構成図の他に別途必要
である。しかし、これは本質的なものではなく簡単な回
路であるのでここでは省略する。
【0317】次に動作を説明する。レジスタに格納され
ているRi ( X)のdRi 次の係数は0検出器Dで0検
出が行なわれる。改訂版ユークリッド互除法に従って、
レジスタの値を比較しDR<DQでかつ0検出器138
(D)からレジスタA0 ≠0の状態が知らされた場合に
は切替器C、H、Nを接点1−1′のクロス側に切り替
えてクロスモードの演算を行う。この条件が満たされな
い場合には、接点2−2′のノーマル側に切り替えてノ
ーマルモードの演算を行う。割り算ユニットDIVでは
切替器Cが切替えられた後に、Ri-1(X)のdRi-1
の係数とQi-1(X)のdQi-1 次の係数が切換器Cを通
って割算器Gに入力される。割算器Gでは、図中のE、
Fの入力に対してE/Fの割算を行いその結果を切替器
Sを通して各演算ユニットPEに対して供給する。この
割算器Gの結果を用いて各演算ユニットPEで演算が行
なわれる。この手順によると、多項式Ri (X)は、d
i 次の係数から0次の係数がレジスタRR2t-1からレ
ジスタRR0 まで上位の係数から順に格納される。ま
た、多項式Qi (X)も同様に、dQi 次の係数から0
次の係数がレジスタRQ2tからレジスタRQ0 まで順に
格納される。λi (X),μi (X)の各多項式につい
ても同様に各係数がレジスタに格納される。以上述べた
手順により、改訂ユークリッドの互除法 (2)の1ステッ
プの演算が行われる。従って、この手順を2t回繰り返
すことにより構成方法Bと同様にσ(X),ω(X)が
求められる。
【0318】例題を用いて消失シンボルが無い場合の動
作を説明する。この例は、規約多項式g(X)=X4
X+1を用いて定義される有限体GF(24 ) を用いて
t=2のシンボル誤り訂正を行なったもので、本願発明
者による特願平3−254183号の明細書に開示した
例と同一である。今、シンドローム多項式S(X)が、
【0319】
【数132】 と求められている。このシンドローム多項式S(X)か
ら改訂版ユークリッドの互除法を用いて誤り位置多項式
σ(X)を導出すると次のようになる。
【0320】初期設定
【0321】
【数133】
【0322】ステップ 1 dR0 −dQ0 =3−4=−1<0,R0(X)のdR0
次の係数α8 ≠0、ゆえに、クロスモード
【0323】
【数134】
【0324】
【数135】
【0325】
【数136】
【0326】
【数137】
【0327】
【数138】
【0328】ステップ2 dR1 −dQ1 =3−3=0≧0、ゆえに、ノーマルモ
ード
【0329】
【数139】
【0330】
【数140】
【0331】
【数141】
【0332】
【数142】
【0333】
【数143】
【0334】ステップ3 dR2 −dQ2 =2−3=−1<0,R2(X)のdR2
次の係数α6 ≠0、ゆえに、クロスモード
【0335】
【数144】
【0336】
【数145】
【0337】
【数146】
【0338】
【数147】
【0339】
【数148】
【0340】ステップ4 dR3 −dQ3 =2−2=0≧0、ゆえに、ノーマルモ
ード
【0341】
【数149】
【0342】
【数150】
【0343】
【数151】
【0344】
【数152】
【0345】
【数153】
【0346】以上述べた4ステップの演算は図17〜図
26に示される。図17、図18に示すレジスタは全て
初期設定が行なわれている。dR0 =3,dQ0 =4,
0(X)のdR0 次の係数がα8 とクロスする条件が満
たされているので全ての切替器はクロス側に切替えられ
ている。割算器Gでは、1/α8 なる演算が行なわれ割
算結果のα7 が各演算ユニットの入力される。各々の演
算ユニットPEで行なわれた演算結果は次のステップで
レジスタに格納され、図19、図20に示す結果とな
る。結局、図10以降の図面において、第1、3ステッ
プがクロスモード第2、4ステップがノーマルモードで
演算が行なわれ最終的に図25、図26においてω
(X)がレジスタA0 に最上位のdR4 =1次の係数が
格納され、下位の係数が降冪の順に格納される。σ
(X)も同様にA4 に(dR4 +1)次の係数が格納さ
れ、下位の係数が降冪の順に格納されていることが判
る。既に述べたように, このσ(X)は消失シンボルが
存在する場合のσ(X)と同様に扱われる。
【0347】以上の動作をまとめて述べる。以上述べた
演算処理をまとめると次表のように表される。ここで
は、消失シンボルが存在する場合の特殊な例として説明
したε=0の場合を分けておく。
【0348】
【表1】
【0349】
【表2】
【0350】
【表3】
【0351】以上述べたように何れの場合においても合
計2tステップの演算を繰り返した結果としてω
(X),σ(X)を得ることが出来る。
【0352】次に、図3〜図5に示す構成例における各
演算処理での切替器の動作をまとめておく。尚、本構成
例は一例に過ぎず他にも様々な構成例が考えられる。
【0353】
【表4】
【0354】この例では、各レジスタ群に対して初期値
となるシンドロームSi と消失位置Ui およびユークリ
ッド互除法の演算を行う際のレジスタDR,DQの初期
値である(2t−1)と2t等の値をレジスタに格納す
るための回路が省略されている。シンドロームSi を初
期化する回路としては、全てのレジスタに対して一斉に
係数を格納する方法や最後尾のレジスタから徐々に係数
を格納する方法など様々な方法が考えられる。前者の場
合では、各レジスタに入力用切替器を付加する必要があ
るが全てのレジスタを一斉に初期化できる。しかし、こ
れらの回路は極めて簡単な回路で構成可能であり、演算
の本質でないためここでは省略している。
【0355】例えば、全てのレジスタに対してシンドロ
ームSi を一斉に格納する方法の例としては、図27〜
図29に示す構成法が考えられる。この構成法では多項
式演算の初期化を行う動作モード (PI) では切替器Q
を接点1側に切替器Pを接点1側に切り替えることによ
りレジスタAj とレジスタBj+1 に同一の係数を初期値
として格納することが出来る。一方、ユークリッド互除
法の演算を行う場合の初期化動作モード (EI) では、
切替器Qを接点1側に切替器Pを3側に切り替えること
により、A側のレジスタにシンドロームを格納しB側の
レジスタに0を格納することが出来る。
【0356】本構成法では、消失訂正に伴って必要にな
る消失位置多項式u(X)及び修正シンドローム多項式
T(X)の多項式演算1ステップ当り4t回の乗加算で
εステップで同時に行う。次にλ0(X)の初期値をu
(X)に変更した改定ユークリッド互除法の演算を(2
t−ε)ステップ行うことにより、誤り位置多項式σ
(X)と消失位置多項式u(X)の積多項式となる総合
的な誤り位置多項式σ(X)を直接求めている。演算方
法を変更した結果として、演算過程は図2に示されるよ
うに簡略化される。即ちu(X),T(X)を最初のε
ステップの演算で同時に求め、次の(2t−ε)ステッ
プでσ(X)とω(X)が求められている。このように
図1に示された従来の演算過程に比べて、図2に示され
る演算過程は初期の演算過程で得られるUi やu(X)
の係数を後続の演算過程で使用することなく演算ができ
ることが判る。この最初の多項式演算と続く改定ユーク
リッド互除法の演算は途切れなく連続して実行できるた
め、消失シンボルの数に拘らず常に全部で2tステップ
の演算でσ(X)とω(X)を求めることが出来る。ま
た消失シンボルが無く通常訂正を行う場合のσ(X)
は、消失訂正を行う場合のσ(X)と全く同様に扱うこ
とができる。
【0357】本構成においては、消失シンボルの有無に
より2種類の動作を行うが、何れの場合にも得られるd
2t次の多項式ω(X)は最上位係数がA0 に格納され
以下順に降冪の順に係数が格納されて格納される。ま
た、ε>0なる消失シンボルが存在する場合に得られる
σ(X)とε=0の消失シンボルが存在しない場合に得
られるσ(X)は共に(dR2t+1)次の多項式となり
最上位係数から順にA2t〜A4tに降冪の順に係数が格納
されて得られる。また、消失訂正において誤りパターン
を計算する際には、σ(X)とω(X)を用いて訂正を
行うことにより消失位置Ui と誤り位置Xi に対する誤
りパターンの算出式として共通の式を用いることが出来
るようになる。また、ω(X),σ(X)の係数は、各
々レジスタA0 及びA2tに最上位係数が格納されること
等から、誤りパターン計算が極めて容易になる特徴があ
る。
【0358】このように、本構成では消失訂正の演算を
1ステップ当たり4t回の乗加算を2tステップ繰り返
すことにより実現できることになる。本構成法で必要な
乗加算回数は、本来消失訂正において必要な演算回数よ
り多いが、演算の過程が単純化されると共に消失位置U
i や消失位置多項式u(X)の係数等を格納するための
領域が不用になる等の多くの特徴がある。
【0359】以上述べた特徴から、本構成法を用いれば
より少ない回路規模で消失訂正を実現する復号器が構成
できる。また、演算器そのものの構成が簡単であるため
高速動作が可能になる。更に、演算が連続的に行えるこ
とから演算に必要なスループットタイムが少なくでき
る。尚、本構成においては最終段の演算器は実際には演
算を行っていないため、図3〜図5中の演算ユニットP
E#4tとレジスタA4tは簡単な制御回路の変更により
簡略化することが出来ることを付け加えておく。
【0360】本発明のデータ消失訂正方法の第2実施例
を述べる。第1実施例としての構成法Fでは、消失訂正
の復号化器を構成する際に問題となるこれら多項式の計
算過程を単純化して、演算途中で保持すべき多項式係数
が不要となるような演算方法である。また、この演算方
法を実現するシステム例として図3〜図5に示すような
システム構成とその演算器の構成例として図6に示す演
算器構成を述べた。
【0361】構成法Fでは、4t個の演算器と(8t+
2)個の記憶素子(レジスタ)を用いて全部で僅か2t
ステップの連続的な演算で総合的な誤り位置多項式と誤
り評価多項式を得ることができる。従って、回路規模の
削減・高速動作が可能になる。構成法Fでは、消失訂正
に伴って必要になる消失位置多項式u(X)及び修正シ
ンドローム多項式T(X)の多項式演算1ステップ当た
り4t回の乗加算でεステップで同時に行う。次にλ0
(X)の初期値をu(X)に変更した改訂ユークリッド
互除法の演算を(2t−ε)ステップ行うことにより、
誤り位置多項式σ(X)と消失位置多項式u(X)の積
多項式となる総合的な誤り位置多項式σ(X)を直接求
めている。
【0362】演算方法を変更した結果として、演算過程
は図2に示されるように簡略化される。即ちu(X),
T(X)を最初のεステップの演算で同時に求め、次の
(2t−ε)ステップでσ(X)とω(X)が求められ
ている。このように図1に示された従来の演算過程に比
べて、図2に示される演算過程は初期の演算過程で得ら
れるUi やu(X)の係数を後続の演算過程で使用する
ことなく演算ができる。この最初の多項式演算と続く改
訂ユークリッド互除法の演算は途切れなく連続して実行
できるため、消失シンボルの数に拘らず常に全部で2t
ステップの演算でσ(X)とω(X)を求めることが出
来る。また消失シンボルが無く通常訂正を行う場合のσ
(X)は、消失訂正を行う場合のσ(X)は全く同等に
扱うことができる。
【0363】本構成法においては、消失シンボルの有無
により2種類の動作を行うが、何れの場合にも得られる
dR2t次の多項式ω(X)は最上位係数がA0 に格納さ
れ以下順に降冪の順に係数が格納されて格納される。ま
た、ε>0なる消失シンボルが存在する場合に得られる
σ(X)とε=0の消失シンボルが存在しない場合に得
られるσ(X)は共に(dR2t+1)次の多項式となり
最上位係数から順に図3〜図5に示すレジスタA2t〜A
4tに降冪の順に係数が格納されて得られる。また、消失
訂正において誤りパターンを計算する際には、σ(X)
とω(X)を用いて訂正を行うことにより消失位置Ui
と誤り位置Xi に対する誤りパターンの算出式として共
通の式を用いることが出来るようになる。また、ω
(X),σ(X)の係数は、各々レジスタA0 及びA2t
に最上位係数が格納されること等から、誤りパターン計
算が極めて容易になる特徴がある。このように、構成法
Fでは消失訂正の演算を1ステップ当たり4t回の乗加
算を2tステップ繰り返すことにより実現できることに
なる。本構成法で必要な乗加算回数は、本来消失訂正に
おいて必要な演算回数より多いが、演算の過程が単純化
されると共に消失位置Ui や消失位置多項式u(X)の
係数等を格納するための領域が不要になる等の多くの特
徴がある。
【0364】以上述べたような特徴から、本構成法を用
いればより少ない回路規模で消失訂正を実現する復号器
が構成できる。また、演算器そのものの構成が簡単であ
るため高速動作が可能になる。更に、演算が連続的に行
えることから演算に必要なスループットタイムが少なく
できる。しかしながら、構成法Fにおいては図3〜図5
に示す例におけるレジスタUD1 〜UD2tという消失位
置を格納するためのレジスタが別途必要になり回路規模
を増大させる欠点があった。
【0365】第2実施例は上記第1実施例の消失訂正回
路の構成法Fを改良して、消失位置多項式u(X)と修
正シンドローム多項式T(X)の係数計算を行う時に必
要となる消失位置を格納するための領域として、消失位
置多項式u(X)の係数を格納するレジスタを使用する
ことにより、構成法Fで必要であった消失位置格納用の
レジスタUD1 〜UD2tを省略できる構成を提供する。
【0366】5.1 消失位置多項式u(X)の計算手
順の考察 第1実施例で示した消失訂正回路の構成法Fでは、消失
位置多項式u(X)及び修正シンドローム多項式T
(X)の係数を逐次的に求める過程は、次に示すような
(k) (X)及びT(k) (X)なる多項式を準備し、上
記式 (33) 及び式 (46) の初期設定後、式 (34) 及び式
(47) で与えられる漸化式をi=εまで繰り返すことに
より実現されている。T(X)を求める演算の初期値T
(0) (X)となるシンドローム多項式S(X)は最初か
ら(2t−1)次の多項式である。最終的に求められる
T(X)はX2tに対する剰余多項式で良いことから、式
(47) の繰り返しの途中で必要な多項式T(i) (X)の
記憶すべき係数は(2t−1)次分の係数で良いことに
なる。また、式 (47) から明らかにT(i) (X)の最下
位の係数に対する演算が必要ないことから、式 (47) で
示される1回繰り返し演算においては、常に(2t−
1)個の係数に対する(2t−1)回の乗加算が行われ
ることになる。
【0367】一方、式 (33) に示されるように消失位置
多項式u(X)を求めるための初期値u(0) (X)は0
次の多項式であり、式 (34) の第i回目の繰り返しで得
られるu(i) (X)がi次の多項式となる。T
(i) (X)に対する繰り返し演算の場合と同様に、u
(i) (X)の最下位の係数に対する演算が必要ない。従
って、式 (34) で示される第i回目の演算においては、
高々i個の係数に対するi回の乗加算が行われれば良い
ことになる。また、u(i) (X)を格納するレジスタの
数は、式 (34) で示される第i回目の演算により得られ
るu(i) (X)の次数はi次であるから、高々(i+
1)個の係数格納領域があれば良い。
【0368】構成法Fでは、修正シンドローム多項式T
(X)の計算と消失位置多項式u(X)の計算とは同時
に行われる。第i回目の繰り返しを行う際には、u(i)
(X)及びT(i) (X)を計算するために式 (34) 及び
式 (47) の演算に消失位置Ui は使用されるが、使用さ
れるのはε回の繰り返し中でこのただ1回である。従っ
て、今U1,2,, Uεの順に演算されるとすれば、演
算が進につれてU1 から順に消失位置の情報が不用にな
るため1ステップの演算が終了する毎に演算が終了した
消失位置を順次捨てて良いことになる。実際、図3〜図
5の構成法Fではレジスタに格納された消失位置は、多
項式乗算の過程で1ステップ当たり1個づつシフトされ
て切替器Sを通して全演算ユニットに供給されている
が、一度計算された消失位置は記憶されていないことが
判る。以上述べたように、多項式u(i) (X)は最大で
2t次の多項式となるため(2t+1)個の係数を格納
できるレジスタが必要であるが、u(i) (X)の次数は
演算が進につれ増加するが、逆に記憶すべき消失位置U
i は演算が進につれ減少する。従って、消失位置多項式
を求める多項式u(i) (X)と消失位置Ui とは記憶領
域を兼用できる可能性がある。
【0369】5.2 提案する消失訂正回路の構成法 第2実施例では第1実施例として示した構成法Fに対し
て、回路構造と演算器の構成法を改良することにより、
消失位置多項式を求める多項式u(i) (X)と消失位置
i の記憶領域を兼用する構成法を提案する。本構成法
によれば、図3〜図5の構成法Fにおいて必要であった
消失位置記憶用レジスタUDi が不要になる。
【0370】第2実施例の構成方法の概念的な構成図を
図27〜図29に示す。本構成法の基本構造は、図3〜
図5に示した構成法Fの構造に基づいている。構成法F
では消失位置の記憶領域としてレジスタUD1 〜UD2t
を持ち、この中に格納された消失位置Ui を1ステップ
に1個づつシフトすることにより、乗算係数となる消失
位置を切替器Sを経由して各演算ユニットに供給してい
た。これに対して本構成では、構成法Fからこの消失位
置記憶用のレジスタを削除しその代わりに消失位置多項
式u(X)計算用の多項式u(i) (X)の2t次〜1次
までの係数を格納するためのレジスタA2t〜A4t-1を消
失位置格納用のレジスタとして兼用する。
【0371】構成法Fでは消失シンボルの有無により次
の2つに演算の過程を分けて考えた。ε=0の場合
【0372】
【表5】
【0373】
【表6】
【0374】尚、ε=2tの場合は、消失シンボルが存
在する場合においてユークリッド互除法の演算が1回も
実行されない特殊な場合と考えられるので、この表では
まとめてある。
【0375】第2実施例として提案する本構成法の動作
においても、ユークリッド互除法演算用初期化 (EI)
・ユークリッド互除演算 (EC, EN )・多項式演算用
初期化 (PI) の 4つの動作モードは構成法Fと全く同
一の処理を行う。一方、レジスタA2t〜A4t-1が消失位
置の記憶領域を兼ねているため、消失シンボルが存在す
るε>0の場合における最初のεステップで行われる多
項式演算を実行する過程 (PM,PE) の動作が異なる
ことになる。これに伴って、演算ユニットでは構成法F
必要であった式 (66) 〜式 (69) で示される4種類の演
算に加えて式 (70) 〜式 (72) で示される3種類の演算
が必要になる。
【0376】
【数154】
【0377】従って演算ユニットの構成に関しては、こ
の7種類の演算が可能な構成が必要になるが、これは例
えば図27〜図29、図30〜図31の構成において用
いられている図32に示されるような簡単な演算ユニッ
トPEの構成で実現可能である。図32の演算ユニット
PEは、3つの切替器101:102(N)、105
(P):107(T)を次表に示されように切り換える
ことにより、上で述べたステップ 1) 〜 7) の演算を実
現できる。
【0378】
【表7】
【0379】尚、図29〜図32では図32に示すよう
な乗算器104(L)、加算器103(K)、上記切替
器N, P, Tから成る演算器の構成により実現されてい
るが、演算器の構成法自体は上の7種類の演算を行うこ
とができる構成であればどのような構成でも良い。
【0380】図29〜図31の構成図を簡単に説明す
る。割り算ユニットDIVは構成中ただ1つ存在する。
図中のGは除算ユニットであり、ユークリッド互除法に
おける2多項式の最上位係数間でE/Fなる除算が行わ
れる。この割算の結果は、切替器Sで多項式演算時に消
失位置を記憶しているレジスタA2tから供給される値と
切り替えられて、各演算ユニットPE#1〜PE#2t
に供給される。切替器Rはユークリッド互除法の演算の
ための初期化を行う切替器である。割り算ユニットDI
VにおけるレジスタDR,DQは、改訂版ユークリッド
互除法の演算を行う際にレジスタA0,0 に格納されて
いる多項式Ri (X), i (X)の最上位係数の次数
dRi,dQi を格納する。実際に演算が行われる時に
は、Ri (X), i (X)の次数を表すことになる。
割り算ユニットDIVの制御信号発生部 ( controller
) 120は、レジスタDR,DQの比較結果と、レジ
スタA0 の0検出結果及び現在の演算ステップ数等の情
報から各演算ユニットで行うべき演算の動作を判定し、
乗算加算演算ユニットMLTの各演算ユニットPEを独
立に制御する。
【0381】乗算加算演算ユニットMLTは最初のεス
テップの演算においても次の(2t−ε)ステップの演
算においても、本構成では2t個のパリティが付加され
たシステムに対して4t個の演算ユニットが必要であ
る。但し、これは演算器を多重化して使用せず、1ステ
ップの繰り返しに対して各演算ユニットが1回の乗加算
しか行わない場合を想定している。図29〜図31中の
レジスタの内、図中の左側にあるレジスタ群A0,1,
,4tをA側のレジスタと呼び、右側のレジスタ群B0,
1,, 4tをB側のレジスタと呼ぶことにする。割り
算ユニットDIVと乗算加算演算ユニットMLTを合わ
せるとA側のレジスタは、全部で(4t+1)個、B側
のレジスタは全部で(4t+1)個の合計(8t+2)
個が使用されている。同時に演算ユニットの数が4t個
使用されている。演算中においては、各レジスタに種々
の多項式の係数が格納される。重要な係数の格納法につ
いては次節で消失シンボルが存在する場合と存在しない
場合とに分けて説明する。
【0382】なお、乗算加算演算ユニットMLTの最後
段のA側レジスタの入力は切替え器119(J)により
0又は 1が入力されるため、動作中は最後段の演算ユニ
ットPE#4tは実際には演算を行わないことになる。
また演算ユニットPE#2tもレジスタA2tから供給さ
れる係数は常に0であるから実際には演算を行っていな
い。従って、若干の制御の変更でレジスタA4tおよび演
算ユニットPE#2t、演算ユニットPE#4tは削減
でき、更に回路が簡略化が可能である。しかし、本構成
の原理説明の為に入れてある。
【0383】5.3 提案する消失訂正回路の動作例 次に、演算を行なう各多項式の係数の格納方法、初期値
設定及び演算方法について説明する。手順は消失シンボ
ルが存在する場合(ε>0)と消失シンボルが存在しな
い場合(ε=0)とで動作が異なるが、後者の場合に
は、既に報告した構成法Fの場合と同じ動作を行うので
ここでは詳細の説明を省略する。なお、消失シンボルが
存在するとき、式34、式47は下記式に書き直すこと
ができる。
【0384】
【数155】
【0385】
【数156】
【0386】図29〜図31の概念構成図においても構
成法Fの場合と同様に、u(i) (X)とT(i) (X)の
係数はA側のレジスタに格納し、B側のレジスタにはA
側のレジスタに格納されている係数を1次分下位にシフ
トした係数を格納することにする。最終的に必要なT
(X)は(2t−1)次の多項式であるから、演算途中
において保持すべきT(i) (X)の係数も、2t−1次
分の係数で良いことになる。従って、T(i) (X)の各
係数は最上位の2t−1次の係数から順に降冪の順にレ
ジスタA0,1,, 2t-1に格納される。A側のレジス
タにはT(i) (X)に続いてu(i) (X)の係数がレジ
スタA2tからレジスタA4t迄に同じく降冪の順に格納さ
れる。u(i) (X)の最大次数は2t次であるから係数
の数は最大で(2t+1)個となり、レジスタA2tから
レジスタA4t迄の(2t+1)個のレジスタに降冪の順
に格納する。
【0387】確かに、最終的に求められる消失位置多項
式u(X)はε次であるから最大2t次の多項式とな
り、u(X)を格納するためのレジスタは最大(2t+
1)個必要である。しかし、消失位置多項式u(X)を
求める過程において格納すべき多項式u(i) (X)の次
数は第iステップの演算後にi次となるため高々(i+
1)個の係数を格納するレジスタがあれば良い。そこ
で、多項式演算時には初期値としてε個 (最大2t個 )
の消失位置U1 〜UεをレジスタA2t〜A4t-1までの2
t個のレジスタに格納しておく。そして、1回の多項式
演算毎にレジスタA2tから順次シフトされて出力され、
切替器Sを通して各演算ユニットに供給される。
【0388】今、第iステップの多項式演算を考える。
第iステップの多項式演算ではi−1次の多項式u
(i-1) (X)に対して1次多項式1−XUi を乗算する
演算が行われる。多項式u(i-1) (X)のi個の係数は
レジスタA4t-i+1〜A4tまでのi個のレジスタに格納さ
れている。この時、A2t〜A4t-1までの(2t−i+
1)個のレジスタには消失位置Ui 〜U2tが格納されて
いる。U1 〜Ui-1 までの(i−1)個の消失位置は既
に実行された(i−1)回の演算が終了した時点で不用
となるため格納される必要がない。一方、B側のレジス
タ群はA側のレジスタに格納されている係数を1次分下
位にシフトして格納する。即ち、レジスタA0 に格納さ
れている係数は、レジスタB1 にも格納され、以下、A
i に格納されている全ての係数がBi+1 に格納される。
尚、B0 は0を入れることにする。尚、第iステップの
演算において消失位置が格納されているレジスタA2t
4t-iに対応するB側のレジスタB2t+1〜B4t-i+1には
便宜的に0を入れておくことにする。
【0389】初期値設定を説明する。T(0) (X)=S
(X)であるから、S2tがレジスタA0 に初期値として
格納され以下S1 がレジスタA2t-1に格納される迄、全
てのシンドロームが格納される。また、u(0) (X)=
1であるから、レジスタA4tに1を初期設定値として与
える。更に、最大2t個の消失位置U1 〜U2tは初期設
定値としてレジスタA2t〜A4t-1に格納される。消失シ
ンボルの数εが2tよりも少ない場合には何が格納され
ても良いが便宜的に0を格納するものとする。一方、B
側のレジスタ群にはA側のレジスタ群の係数を1次分下
位にシフトして格納することにする。消失位置に対応す
るレジスタB2t+1〜B4t-i+1には0を格納する。尚、細
かな初期設定用の回路は本質的でないため省いてある。
【0390】動作を説明する。上で述べたような係数格
納方法及び初期値設定の後、最初のεステップの演算で
レジスタA2t〜A4t-1に格納されている消失位置U1
2tを用いてT(i) (X)及びu(i) (X)の多項式演
算を行う。今、第iステップ (i≦ε ) における多項
式演算を考える。レジスタA0 〜A2t-1にはT
(i-1) (X)の係数が格納されている。また、レジスタ
4t-i+1〜A4tにはu(i-1) (X)の係数が格納されて
いる。各多項式の係数に対する最初の第εステップまで
の多項式演算では、(2t−1)次の多項式T
(i-1) (X)及び(i−1)次の多項式u(i-1) (X)
に対して1次多項式1−XUi を乗算する演算が行われ
る。従って、これら多項式の係数が格納されているレジ
スタに対しては構成法Fと同様の演算が行われる。即
ち、切替器Sは2側に切り替えられ1ステップに1つづ
つの消失位置Ui がレジスタA2tから順次供給される。
多項式を格納しているレジスタに対する演算を行うPE
#1〜PE#2t及びPE#4t−i+1〜PE#4t
の各演算ユニットでは、切替器Nは 1-1' 側に、切替器
Pは1側に、切替器Tは1側に切り替えられる。以上の
設定から、各演算ユニットでは
【0391】
【数157】
【0392】なる演算を行うことになる。ここで
【0393】
【数158】
【0394】なる消失位置が供給されており、第j番目
のレジスタに格納されている係数に対して、
【0395】
【数159】
【0396】なる演算が行われることになる。実際には
レジスタBj にはレジスタAj-1 と同じ値が入っている
から、
【0397】
【数160】
【0398】なる演算が行われることになる。この出力
がレジスタAj-1 とレジスタBj の 2つのレジスタに同
時に格納される。この演算の結果、T(i) (X)とu
(i) (X)の係数が、A側のレジスタに格納され、B側
にもその1次下位にシフトされた係数が格納されること
になる。但し、構成法Fでは最初のεステップの多項式
演算時にはレジスタA2tには0が格納されていたのに対
して、本構成法では消失位置が格納されている。このた
め、演算ユニットPE#2tにおける演算を通常通り行
うことが不可能になる。そこで、多項式演算時の演算ユ
ニットPE#2tにおける処理を次のように変更する。
【0399】
【数161】
【0400】この変更により、演算ユニットPE#2t
はレジスタA2tから0が供給されたのと同じ動作を行う
ことになる。一方、消失位置を格納しているレジスタA
2t〜A4t-iに対しては演算の必要がなく、単に格納され
ている係数をレジスタ番号の小さいレジスタにシフトし
て次の演算ステップにおいてレジスタA2tからUi+1
出力されるようにする。従って、演算ユニットPE#2
t+1〜演算ユニットPE#4t−iの消失位置を格納
しているレジスタに対する処理を
【0401】
【数162】
【0402】とすればよいことになる。尚、多項式演算
時には最終段の切替器119(J)からは1が供給され
る。
【0403】以上述べたように、最初のεステップの多
項式演算においては、演算ユニットPE#2t+1〜演
算ユニットPE#4t−iにおいて演算ステップ数に応
じた処理を行うことにより消失位置記憶用レジスタを消
失位置多項式を求めるための多項式u(i) (X)の係数
記憶領域と兼用することができる。この繰り返しをε回
繰り返した後には、A側レジスタ群にはT( ε
) (X),u( ε) (X)が得られることになる。つま
り、レジスタA0 にT2tが格納され、以下レジスタA
2t-1までA側のレジスタには修正シンドローム多項式T
(X)の係数が降冪の順に格納される。また、消失位置
多項式u(X)の係数は、レジスタA2tに2t次の係数
が格納され、以下レジスタA4tに0次の係数が格納され
るまで(2t+1)個の係数が降冪の順に格納される。
この時点で、最初に記憶されていた全ての消失位置は後
段で使用することがないため全て捨てられている。この
ように最初のεステップの多項式演算が終わると、各レ
ジスタに格納されている係数は構成法Fの場合と全く同
じになる。そこで、次にこの格納された係数を初期値と
して改訂版ユークリッド互除法の繰り返しを行うことに
なるが、以降の処理は構成法Fと同一である。
【0404】本実施例の構成においてもA側のレジスタ
群には「改訂版ユークリッド互除法」の演算におけるR
i (X),λi (X)の係数を格納し、B側のレジスタ
群にはQi (X),μi (X)の係数を降冪の順に格納
する。この時、Ri (X),Qi (X)の係数はdRi
次の係数が最上位にくるように格納される。このユーク
リッド互除法の演算における初期設定は、A側のレジス
タ群に降冪の順にRi (X)の初期値R0 (X)=T
(X)の係数を格納する。レジスタA0 にT2tを格納
し、以下2t個の係数をレジスタA2t-1まで格納する。
0 (X)に続いてA側のレジスタには、λi (X)の
係数を格納する。R0 (X)に続いてA側のレジスタに
は、λi (X)の係数を格納する。λ0 (X)=u
(X)であるから、レジスタA2tからA4tまでの初期値
をu(X)の係数に置き換えれば良いことになる。レジ
スタA2tにはu(X)の2t次の係数が格納され、以下
レジスタA4tにu(X)の0次の係数である1が格納さ
れるまで、降冪の順にu(X)の係数を格納する。
【0405】一方、B側のレジスタの初期設定は、A側
のレジスタ群と同様に降冪の順にQi (X)の初期値Q
0 (X)=X2tの係数を格納する。これは、レジスタB
0 に1を格納し、それ以外のレジスタ1からレジスタ2
tの係数を0とすれば実現できる。Q0 (X)に続いて
B側のレジスタには、μi (X)の係数を格納する。μ
0 (X)=0であるから、B側のレジスタはB0 を1と
し、それ以外のレジスタを全て0とすることでよいこと
になる。以上述べたことから、最初のεステップの演算
を終えた後に、A側のレジスタに残った係数をそのまま
用いてユークリッド互除法の演算を続けるためには、構
成方法Fと同様に本構成法においても多項式演算の最後
になるεステップ目の繰り返しの時に、同時に次の改訂
ユークリッド互除法の演算を行う為のQ0 (X)μ
0 (X)の初期値であるX2t,0の係数をB側のレジス
タに用意する動作を行う必要がある。
【0406】これはεステップ目の繰り返しの演算にお
いて、B側のレジスタには演算結果のT(X)の係数を
格納せず、B0 =1とし、B1 以降のレジスタを全て0
に初期化することで実現できる。例えば、図6の演算器
構成においては、多項式演算モードにおいてB側のレジ
スタの入力信号の切替器である切替器Pを3側に切り替
えることにより簡単に実現できる。このとき、演算ユニ
ット演算ユニットPE#1〜PE#2t−1、および、
演算ユニットPE#4t−i+1〜PE#4tに対し
て、
【0407】
【数163】
【0408】演算ユニットPE#2tに対しては、
【0409】
【数164】
【0410】演算ユニットPE#2t+1〜PE#4t
−iに対しては、
【0411】
【数165】
【0412】なる演算が各々を行われることになる。こ
の時、切替器Rを2側に切り替えてレジスタB0 には 1
を格納し、dRi,dQi を格納するためのレジスタであ
るDR,DQも同時に各々(2t−1),2tで初期化
する。
【0413】このように第εステップで改訂版ユークリ
ッド互除法のための初期値が設定された後に、改訂版ユ
ークリッド互除法の演算が1ステップずつ(2t−ε)
ステップに渡って順に行なわる。この過程は構成法Fと
同一であるが繰り返し述べる。ユークリッド互除法の演
算を行う第i(ε<i≦2t)ステップの演算の動作を
説明する。消失シンボルの数εが2t個ある場合は、2
t回の多項式演算だけでω(X),σ(X)が求められ
ることになるからこれ以上のユークリッド互除法の演算
は不用になる。そこで、ここでは1個以上2t個未満の
消失シンボルがある場合を想定する。このような場合に
は少なくとも1回のユークリッド互除法が多項式演算後
に行われることになる。
【0414】先ず、0検出器DでRi-1 (X)のdR
i-1 次係数が0か否かが検出される。この結果とレジス
タDRi-1 ,DQi-1 の大小関係とから動作モードが決
定される。DRi-1 <DQi-1 で、かつ、A0 ≠0の状
態が知らされた場合にはクロスモード、その他の場合に
はノーマルモードとなる。これは、本願発明者による特
願平3−254183号の明細書で述べたように改訂版
ユークリッド互除法におけるシフトモードは実は割算器
Gからの商が0の場合のノーマルモードとして扱うこと
が出来るためである。モードが決定すると、割り算ユニ
ットDIVにある2つの切換器C及びHが動作モードに
応じてクロス接点(1−1′)またはノーマル接点(2
−2′)に切り替わる。
【0415】レジスタA0 の値、即ち、Ri-1 (X)の
dRi-1 次の係数とレジスタB0 の値、即ち、Q
i-1 (X)のdQi-1 次の係数が切換器Cを通って割算
器Gに入力される。割算器Dでは、図中のE,Fの入力
に対してE/Fの割算を行い、その結果Sを出力する。
ユークリッド互除法の演算中は切替器Sは割算器側接点
1が選択される。
【0416】一方、乗算加算演算ユニットMLTの各演
算ユニットPEでは割り算ユニットDIVで判定された
動作モードに応じて演算が行なわれる。ユークリッド互
除法の演算中は、切替器Pは2側、切替器Tは1側が選
択される。クロスモードの場合には、切替器Nはクロス
側接点(1−1′)が選択され、図32に示す演算ユニ
ットPEにおいて割算器の出力をZで表すと
【0417】
【数166】
【0418】なる演算が行われる。一方のノーマルモー
ドの場合には、切替器Nはノーマル側接点(2−2′)
が選択され、
【0419】
【数167】
【0420】なる演算が行われる。各々の演算ユニット
で演算された係数はレジスタに格納され1ステップの演
算が終了する。第j番のレジスタにおいて係数の格納
は、A側のレジスタには第(j+1)演算ユニットの
X′出力を格納し、B側のレジスタは第j演算ユニット
のY′出力を格納する。即ち、次式のように表される。
【0421】
【数168】
【0422】この手順を(2t−ε)回繰り返すことに
より、
【0423】
【数169】
【0424】として求めることが出来る。多項式の次数
は各々dRi , (dRi +1)である。ω(X)の係数
はdRi 次の係数がレジスタA0 に格納され以下降冪の
順に下位係数が格納される。σ(X)の係数も同様にレ
ジスタA2tに(dRi +1)次の係数が格納され、以下
降冪の順に下位係数が格納される。
【0425】消失訂正を行う場合の動作例を例題を用い
て説明する。この例は、規約多項式g(X)=X4 +X
+1を用いて定義される有限体GF(24 )を用いて2
t=4パリティが付加された符号を用いている。通常訂
正の場合には最大2シンボル誤り訂正が可能であるが、
消失訂正の場合には(ε+2ν)≦2tを満たす範囲で
訂正が可能である。ここでは、構成法Fで示した例と同
じε=2,ν=1の例を説明する。2個の消失位置は、
【0426】
【数170】
【0427】今、シンドローム多項式S(X)が、
【0428】
【数171】
【0429】と求められたとする。このシンドローム多
項式S(X)から改訂版ユークリッド互除法を用いて誤
り位置多項式σ(X)を導出すると次のようになる。
【0430】ステップ 1 : 多項式演算 消失位置Ui から消失位置多項式u(X)と修正シンド
ローム多項式T(X)との係数を求める。初期設定を
【0431】
【数172】
【0432】として、次の演算を行う。
【0433】
【数173】
【0434】
【数174】
【0435】ステップ 2 : 多項式演算
【0436】
【数175】
【0437】
【数176】
【0438】ステップ 3 : ユークリッドの互除法・ク
ロスモード演算 ステップ 1 , 2 で求められたT(X),u(X)を用
いて改訂版ユークリッド互除法の演算を行う。初期値設
定を次のように行う。
【0439】
【数177】
【0440】繰り返しの演算は演算モードの判定の後、
次のように行われる。
【0441】
【数178】
【0442】ステップ 4 : ユークリッドの互除法・ノ
ーマルモード演算
【0443】
【数179】
【0444】以上、4ステップの繰り返し演算で、σ
(X),ω(X)は、次式のように求められる。
【0445】
【数180】
【0446】
【数181】
【0447】以上述べた4ステップの演算で求めるσ
(X)とω(X)が求められる。この演算過程を提案す
る構成法で実現した場合の演算過程を順に図33〜図4
2に示す。図33、図34におけるレジスタは既に初期
設定されている。この例では、ε=2であるから多項式
演算用の初期化がされている。レジスタA4 〜A5 は消
失位置U1 =α0 , U2 =α1 が順に格納されている。
レジスタA0 〜A3 にはT(0) ( X)の係数であるシン
ドロームS1 〜S4 が格納されており、A8 にはu(0)
( X)の係数である1が格納されている。B側のレジス
タ群にはT(0) ( X)の係数を1次下位にシフトしてレ
ジスタB1 〜B2tに格納されている。レジスタA6 〜A
7 には本来U3 ,U4 が格納されるがここではε=2な
ので0が格納される。レジスタB5 〜B8 は全て0が格
納される。
【0448】図33、図34で示される第1ステップの
動作では、演算ユニットPE#1〜PE#3においては
切替器Nがクロス側接点1−1′に切り替えられる。レ
ジスタA4 から供給される消失位置U1 =α+0を用いて
【0449】
【数182】
【0450】の演算が行われる。右辺第2項目でXが掛
けられているため、T(0) (X)のX3 の項の係数は計
算する必要がない。従って、実際に演算されるのは、
【0451】
【数183】
【0452】の3個の演算が演算ユニットPE#1〜P
E#3で行われ、結果がレジスタA0 〜A2 とレジスタ
1 〜B3 に同時に格納される。演算ユニットPE#4
においても
【0453】
【数184】
【0454】なる演算が行われる。ところが、レジスタ
4 からは消失位置が出力されているため演算ユニット
PE#1〜PE#3と同一の演算を行うことができな
い。しかし、これは単にレジスタB4 の内容をレジスタ
3 とレジスタB4 に格納するだけであるから演算ユニ
ットPE#4では
【0455】
【数185】
【0456】なる演算を行えば良いことになり、図32
に示す演算ユニットの構成では切替器Nを接点1−1′
側、切替器Pを接点1側のままで切替器Sを接点2側に
すれば実現できる。
【0457】u(1) (X)に関する演算も同様である。
【0458】
【数186】
【0459】の演算に対して、u(0) (X)=1である
から
【0460】
【数187】 の演算がPE#8において行われ、A7 とA8 に同時に
格納される。多項式演算時には切替器Jから1がA8
供給される。しかし、レジスタA5 〜A7 には消失位置
が格納されているためPE#5〜PE#7では同一の演
算を行ってはならない。演算ユニットPE#5〜PE#
7では単に消失位置を上位のレジスタにシフトする
【0461】
【数188】
【0462】なる動作を行えば良い。図32の演算器構
成では、切替器Nを接点2−2′側、切替器Pを接点3
側、切替器Tを接点2側に切り替えることにより実現さ
れている。
【0463】第1ステップの演算が終了した時に、図3
5、図36に示すように係数が格納される。次に演算さ
れるべき消失位置U2 がレジスタA4 に格納されている
ことに注意されたい。第2ステップも第1ステップと同
様に多項式演算が行われるが、ε=2であるから多項式
演算の最終ステップとなるため同時にB側のレジスタを
ユークリッド互除法の演算用に初期化する。第2ステッ
プ目の演算において、T(1) (X)に対してはPE#1
〜PE#4で第1ステップと同様の演算が行われる。こ
れに対して、u(1) (X)に対する演算はu(1) (X)
が 1次の多項式であることから係数はA7 とA8 の2つ
のレジスタにのみ格納されているため、PE#7〜PE
#8では第1ステップと同じ演算が行われる。演算ユニ
ットPE#5〜PE#6では第1ステップと同様にシフ
トの動作を行っている。但し、何れの演算においてもB
側レジスタを初期化するため切替器Pは3側が選択され
る。
【0464】第2ステップが終了した時点で多項式演算
が終了し、T(X),u(X)が求められる。図37、
図38では第2ステップ終了時点の係数が各レジスタに
格納されている。レジスタA0 〜A3 のレジスタにはR
0 (X)=T(X)の係数が格納されレジスタA4 〜A
8 にはλ0 (X)=u(X)の係数が格納されている。
一方、B側のレジスタはQ0 (X)=X2t0 (X)
=0となるよう初期化されている。レジスタDR及びD
QにはdR0 及びdQ0 の値を格納する。改訂版ユーク
リッド互除法のアルゴリズムにおいて実際に演算が行わ
れる演算ステップではdR0 ,dQ0 は各々R
0 (X),Q0 (X)の次数を表している。ユークリッ
ド互除法の演算の初期化の際には、DR,DQの初期値
を(2t−1),2tとする。これ以降の演算ステップ
で行われるユークリッド互除法の演算においては切替器
Tは常に 1側、切替器119(J)は常に1側を選択す
る。
【0465】図37、図38において行われる第3ステ
ップの演算は、通常訂正の場合の改訂版ユークリッド互
除法の演算と同一である。図9においてレジスタDRの
値(dR0 )が3でレジスタDQの値(dQ0 )が4で
あるからDR<DQの条件を満たしており、また、R0
(X)のdR0 次の係数がα9 と非零であるため、動作
モードがクロスモードになる。そこで、切替器C ,H ,
N がクロス側接点2−2′に切替えられ割算器Gにお
いて1/α9 なる演算が行なわれ、割算結果α6 が切替
器Sを経由して各演算ユニットに対して出力される。一
方の乗算加算演算ユニットMLTではクロスモードの演
算が行われる。R1(X)を求めるための演算は
【0466】
【数189】
【0467】で表される。これら3つの係数は次に示す
演算が演算ユニットPE#1〜PE#3の各演算ユニッ
トにおいて行われることにより実現される。
【0468】
【数190】
【0469】同様に、λ1 (X)を求めるための
【0470】
【数191】
【0471】なる計算は、演算ユニットPE#6〜PE
#8で次に示す3つの係数演算が行われることにより実
現される。
【0472】
【数192】 この演算されたR1 (X), λ1 (X)の係数は図5
0、図51に示すようにA側のレジスタに格納され、B
側のレジスタ群にはQ1 (X)=R0 (X)及びμ
1 (X)=λ0 (X)の係数が格納される。
【0473】続いて図39、図40で行われる第4ステ
ップの演算では、レジスタDRの値(dR1 )が3でレ
ジスタDQの値(dQ1 )が3であるからDR≧DQと
なり、ノーマルモードの演算を行う。そこで、切替器
C,H,Nがノーマル側1−1′に切替えられ割算器G
においてα13/α9 なる演算が行なわれ、割算結果α4
が切替器Sを経由して各演算ユニットに対して出力され
る。一方の乗算加算演算ユニットMLTはノーマルモー
ドの演算を行う。R2 ( X)を求めるための計算は
【0474】
【数193】
【0475】である。これらの係数を求めるためにPE
#1 〜PE#3 の各演算ユニットにおいて、次に示す3
つの係数演算が行われることになる。
【0476】
【数194】
【0477】同様に、λ1 (X)は
【0478】
【数195】
【0479】なる演算で求められるため、次に示す4つ
の係数演算が演算ユニットPE#5〜PE#8で行われ
ることにより実現されている。
【0480】
【数196】
【0481】4ステップの演算が終了した時点でレジス
タに格納されている係数は、図41、図42に示すよう
になる。ω(X)の係数α9 ,0,α3 がレジスタA0
〜A 2 に求められ、σ(X)の係数α7 ,α0 ,α14
α4 がレジスタA4 〜A7 に求められている事が判る。
【0482】動作2:消失シンボルが存在しない場合 既に述べたように消失シンボルが存在しない場合の動作
は、構成法Fの場合と同一である。これは、切替器Tを
常に1側を選択して構成法Fと同一の演算を行うことに
より実現できる。全く同一なので説明は省略する。
【0483】以上述べた演算処理をまとめると次表のよ
うに表される。
【0484】
【表8】
【0485】
【表9】
【0486】このように提案する本構成法の動作におい
ても、ユークリッド互除法演算用初期化 (EI)・ユー
クリッド互除演算 (EC,EN )・多項式演算用初期化
(PI) の4つの動作モードは構成法Fと全く同一の処
理を行うが、多項式演算 (PM,PE )の場合の動作モ
ードでは演算ステップ数に応じて各演算ユニットで行わ
れる演算が変化する。尚、ε=2tの場合は、消失シン
ボルが存在する場合においてユークリッド互除法の演算
が1回も実行されない特殊な場合と考えられるので、こ
の表ではまとめてある。従って演算ユニットの構成に関
しては、この7種類の演算が可能な構成が必要になる
が、これは例えば図29、図30の構成において用いら
れている図32に示されるような簡単な演算ユニットの
構成で実現可能である。図32の演算ユニットにおいて
は、3つの切替器N,P,Tを次表に示すように切り替
えることにより上で述べたステップ 1) 〜 7) の演算を
実現できる。
【0487】図32に示す演算器の構成を用いて、図2
9、図30のような構成で本案を実現した場合、演算ユ
ニットでは下記式で示される7種類の演算が必要にな
る。
【0488】
【数197】
【0489】図32の構成による演算ユニットでは各々
の式で表される演算は前述の表に示すような切替器の操
作により簡単に実現される。各演算ステップにおける演
算を次表に示しておく、このように多項式演算が行われ
るPMおよびPEの動作においては演算ステップ数iに
よって演算ユニットPE#2t+1〜PE#4t−1の
演算ユニットの動作が変化することに注意されたい。
【0490】
【表10】
【0491】また、PEモードの動作はPMモードの動
作において単にB側のレジスタ群に格納される値がユー
クリッド互除法の初期値となる0になっているだけであ
る。
【0492】
【表11】
【0493】なお、図29〜図31、図32に示す本構
成例は一例に過ぎず他にも様々な構成例が考えられる。
また、それにつれて演算器の構成法も大きく異なる。例
えば、レジスタA2tと演算ユニットPE#2tとの間は
本質的に接続されている必要がなく、分離することも可
能である。この場合、演算ユニットPE#2tのA側の
入力は 0でよく、また演算ユニットPE#2tの演算器
だけを特別に扱う必要がなくなる利点がある。従って、
この構成では多項式演算時においても演算ユニットPE
#1〜PE#2tは同一の処理でよい。
【0494】また、演算ユニットPEの構成も、図32
以外にも様々な構成が考えられるが、基本的には、図2
9〜図31の構成では式 (85) 〜式 (91) で示される7
種類の演算が実現されればどのような構成でも良い。ま
た、上記変形形態で述べた構成では更に式 (62) 及び式
(64) で示される演算は不要になる。上の表から判るよ
うに、実際に全ての演算ユニットにおいて全種類の演算
が可能な構成である必要がない。例えば、演算ユニット
PE#1〜PE#2t−1は図6の演算器構成で良いこ
とになる。同様に演算ユニットPE#2t+1〜PE#
4t−1では演算 5) 及び演算 7) は不要じなる。この
ように演算の種類を減らすことにより更に演算器の構成
が簡略化できる。
【0495】更に、既に述べたように演算ユニットPE
#2tと演算ユニットPE#4tでは実際には乗算の演
算が行われないため演算器自体を簡単な制御回路で置き
換えることにより更に簡略化することができる。ところ
で、図29〜図31においては、各レジスタ群に対して
初期値となるシンドロームSi と消失位置Ui 及びユー
クリッド互除法の演算を行う際のDR,DQの初期値で
ある(2t−1)と2t等の値をレジスタに格納するた
めの回路が省略されている。シンドロームSi を初期化
する回路としては、全てのレジスタに対して一斉に係数
を格納する方法や最後尾のレジスタから徐々に係数を格
納する方法など様々な方法が考えられる。前者の場合で
は、各レジスタに入力用切替器を付加する必要があるが
全てのレジスタを一斉に初期化できる。しかし、これら
の回路は極めて簡単な回路で構成可能であり、演算の本
質でないためここでは省略している。
【0496】第2実施例によれば、第1実施例より、消
失訂正をより効率良く行うためのデータ消失訂正方法と
データ消失訂正回路が提供できる。本構成法は、基本的
には構成法Fと同一の動作を行うが、構成法Fにおいて
冗長であった消失位置記憶用領域と消失位置多項式u
(X)を算出するための多項式の係数格納用領域とを兼
用することにより、記憶領域の低減を可能にしている。
例えば、図29〜図31に示すような提案する構成法で
は、図3〜図5に示される構成図におけるレジスタUD
1 〜UD2tが削除され、レジスタA2t〜A4t-1が兼用さ
れている。このように記憶領域を兼用することにより、
演算ユニットの構成に若干の変更を加えれば良く、各演
算ユニットにおける動作も多項式演算時に変更を加える
だけで良い。以上述べた特徴から、本構成法を用いれば
構成法Fの高速動作性を保ったまま、より少ない回路規
模で消失訂正を実現する復号器が構成できる。勿論、演
算が連続的に行える特徴もそのまま保持される。
【0497】本発明の第3実施例について述べる。上述
した実施例は、図43に図解したように、固定長コード
(符号)の場合のデータ消失訂正について述べた。固定
長コードの場合には、そのコード長は判っているから、
LSB(Least Significant Bit)、つまりα0 側からM
SB(MostSignificant Bit) に向けてデータ消失訂正
処理を行う。これに対して、第3実施例は、図44に示
したように、可変長コード、換言すれば、種々のシンボ
ル長のコードのデータ消失訂正を行う。可変長コードの
場合、到来するコード長が不明であるから、MSDから
LSDに向けてデータ消失訂正を行うこととなる。した
がって、第3実施例においては、固定長コードの場合の
消失位置Ui に対して順序が逆の逆順消失位置U′i
とり扱うこととなる。また第3実施例は、逆順消失位置
U′i の処理を行う場合に好適な回路構成をその動作に
ついて述べる。以下、構成法Fとの関係において第3実
施例を述べる。
【0498】構成法Fでは、消失訂正の復号化器を構成
する際に問題となるこれら多項式の計算過程を単純化し
て、演算途中で保持すべき多項式係数が不用となるよう
な演算方法を提案している。また、この演算方法を実現
するシステム例として図3〜図5に示すような構成法と
その演算器の構成例として図4に示すような演算器構成
を提案している。構成法Fでは、4t個の演算器と(8
t+2)個の記憶素子(レジスタ)を用いて全部で僅か
2tステップの連続的な演算で総合的な誤り位置多項式
と誤り評価多項式を得ることができる。従って、回路規
模の削減・高速動作が可能になる。
【0499】構成法Fでは、消失訂正に伴って必要にな
る消失位置多項式u(X)及び修正シンドローム多項式
T(X)の多項式演算 1ステップ当たり4t回の乗加算
でεステップで同時に行う。次にλ0 (X)の初期値を
u(X)に変更した改訂ユークリッド互除法の演算を
(2t−ε)ステップ行うことにより、誤り位置多項式
σ(X)と消失位置多項式u(X)の積多項式となる総
合的な誤り位置多項式σ(X)を直接求めている。演算
方法を変更した結果として、演算過程は図2に示される
ように簡略化される。即ちu(X),T(X)を最初の
εステップの演算で同時に求め、次の(2t−ε)ステ
ップでσ(X)とω(X)が求められている。このよう
に図1に示された従来の演算過程に比べて、図2に示さ
れる演算過程は初期の演算過程で得られるUi やu
(X)の係数を後続の演算過程で使用することなく演算
ができる。この最初の多項式演算と続く改訂ユークリッ
ド互除法の演算は途切れなく連続して実行できるため、
消失シンボルの数に拘らず常に全部で2tステップの演
算でσ(X)とω(X)を求めることが出来る。また消
失シンボルが無く通常訂正を行う場合のσ(X)は、消
失訂正を行う場合のσ(X)は全く同等に扱うことがで
きる。
【0500】本構成法においては、消失シンボルの有無
により2種類の動作を行うが、何れの場合にも得られる
dRp (p=2t)次の多項式ω(X)は最上位係数が
0に格納され以下順に降冪の順に係数が格納されて格
納される。また、ε>0なる消失シンボルが存在する場
合に得られるσ(X)とε=0の消失シンボルが存在し
ない場合に得られるσ(X)は共にdRp +1次の多項
式となり最上位係数から順に図3〜図5に示すレジスタ
p 〜A2pに降冪の順に係数が格納されて得られる。ま
た、消失訂正において誤りパターンを計算する際には、
σ(X)とω(X)を用いて訂正を行うことにより消失
位置Ui と誤り位置Xi に対する誤りパターンの算出式
として共通の式を用いることが出来るようになる。ま
た、ω(X),σ(X)の係数は、各々レジスタA0
びAp に最上位係数が格納されること等から、誤りパタ
ーン計算が極めて容易になる特徴がある。
【0501】このように、構成法Fでは消失訂正の演算
を 1ステップ当たり4t回の乗加算を2tステップ繰り
返すことにより実現できることになる。本構成法で必要
な乗加算回数は、本来消失訂正において必要な演算回数
より多いが、演算の過程が単純化されると共に消失位置
i や消失位置多項式u(X)の係数等を格納するため
の領域が不用になる等の多くの特徴がある画期的なもの
と言える。以上述べたような特徴から、本構成法を用い
ればより少ない回路規模で消失訂正を実現する復号器が
構成できる。また、演算器そのものの構成が簡単である
ため高速動作が可能になる。更に、演算が連続的に行え
ることから演算に必要なスループットタイムが少なくで
きる。
【0502】しかしながら、構成法Fにおいては図3〜
図5の例におけるレジスタUD1 〜UDp という消失位
置を格納するためのレジスタが別途必要になり回路規模
を増大させる欠点があった。
【0503】また、当然ながら、構成法Fの消失訂正回
路において入力となる消失位置U1〜Up は前節で述べ
た通りαn-1 の位置に対応するシンボルから逆順に入力
するシンボル系列に対して、符号の先頭をα0 と数えた
消失位置を必要とする。しかしながら、構成法Fは符号
長が符号毎に変化する場合における消失位置Ui の抽出
法を与えていない。
【0504】符号長nの誤り訂正においては、誤り位置
及び消失位置に関しては通常の場合、符号の先頭を
α0 、符号の最後尾をαn-1 と考える。通常、情報シン
ボルに対して付加される符号中の2t個のパリティシン
ボルはα0 〜α2t-1に対応する位置に存在する。従って
通常の符号化器(パリティ発生器)においては、(n−
2t)個の情報シンボルはαn-1 の位置から逆順にα2t
の位置まで入力されこれらの情報シンボルに対する演算
結果としてパリティシンボルがα2t-1〜α0 の位置に対
応する順に出力される。このように、通常のパリティ発
生回路では符号中の各シンボルがαn-1 の位置のシンボ
ルから逆順で出力されるため、受信側の誤り訂正回路で
はこの逆順で入力される符号をそのまま処理できること
が望ましい。これが不可能な場合には、逆順で入力する
シンボル系列及び消失フラグをメモリ等の記憶素子を用
いて反転する操作が前処理として必要になり回路規模が
増大することになる。
【0505】通常の消失訂正の場合、消失位置はデータ
と共に入力する1ビットの信号である消失フラグにより
与えられる。消失訂正では消失位置の情報として符号中
の位置を示すUi が必要であり、この消失位置Ui を消
失フラグから求める必要がある。但し、この消失位置も
先頭をαn-1 として数える必要がある。例として図44
で示すように符号の先頭と末尾がスタート及びエンドの
信号で示されるとする。図44のように符号長が固定で
予め決まっている場合には、符号の先頭は常に既知のα
n-1 であるから例えば図45〜図46に示すような回路
を用いてαn-1 からαn-2 ,αn-3 ,…,α0 の順にカ
ウントし、消失フラグで示される位置を抜き出すことで
簡単に消失位置Ui を得ることが出来る。
【0506】図47に、図45に示した逆順消失位置
U′i データを保持し、順次シフトする回路(U′i
レジスタ)の単位回路構成を示す。U′i レジスタ用回
路200は、加算器201、データ保持レジスタ20
2、乗算器203およびANDゲート204で構成され
る。スタート信号が加算器201に印加されると、乗算
器203の出力データαn- 1 が加算され、データ保持レ
ジスタ202に加算結果が保持される。保持された加算
結果とデータα-1が乗算器203で乗算が行われ、加算
器201に印加される。一方、加算器201における加
算結果は、ANDデート204に印加され消去信号でゲ
ートされてUi として出力される。
【0507】しかし図48に示すような異なる符号長の
符号が入力する符号長が可変の消失訂正システムにおい
ては、符号の最後尾を示すエンドの信号が入力するまで
符号長を知ることが出来ない。従って、何等かの方法で
符号長が既知で無い限り直接消失位置Ui を算出するこ
とが出来ないことになる。図48の例では最初の符号の
符号長n1 がn1 =8、次の符号の符号長n2 がn2
15である。この例では何れの符号においても、符号の
先頭から数えて3つめのシンボルが消失シンボルである
が最初の符号ではこの位置がα5 であるのに対して、次
の符号ではα12となり異なっていることが判る。
【0508】これを解決する方法としては、符号毎に符
号長を外部から入力する方法が考えられる。しかし、使
用方法によっては符号長をエンド信号が来るまで知るこ
とが出来ない場合があるため、スタート信号からエンド
信号までの間をカウントする必要が生じる。この為に
は、データ及び消失信号をカウントが終了するまで遅延
する必要が生じるため余計な記憶機構が必要になる。以
上述べたことから、余分な機構を追加することなく効率
良く符号毎に符号長を可変にできる消失訂正回路が望ま
れる。
【0509】第3実施例では、消失訂正回路の構成法F
を改良して、規模を増大することなく符号毎に符号長を
可変に出来る消失訂正回路の構成法を提案する。本構成
法は、構成自体は構成法Fとほぼ同一であるが、構成法
Fにおける最初のεステップの多項式演算の方法を改良
することにより可変符号長に容易に対応できる。
【0510】前章で述べたように、通常のパリティ発生
器から出力されるシンボルの順序は、αn-1 の位置に対
応するシンボルからαn-2 ,αn-3 ,…α1 ,α0 の順
に逆順に出力される。従って、受信側の消失訂正回路で
はこの逆順で入力するシンボル系列に対してそのまま訂
正できることが回路規模の観点から望ましい。しかし、
符号長が可変の場合には1符号中の全てのシンボルが受
信されるまで符号長nが判らないため最初のシンボルに
対応する位置αn-1 を特定することができない。一方、
1符号中の全てのシンボル系列の入力が完了した時点で
は、その入力されたシンボル数(符号長)nが判るため
αn-1 を容易に計算することができる。
【0511】そこで、本構成法では、消失訂正のために
記憶する消失位置を正しい順序で数えられた消失位置U
i ではなく、入力するシンボル系列の先頭をα0 と数え
た逆順で数えた消失位置U′i を記憶する。この逆順消
失位置U′i と1符号の入力完了時に得られるαn-1
(以降APNと記す )から式(92)を用いて本来の消失位
置Ui を得るものである。
【0512】
【数198】
【0513】この様子を図44を用いて説明する。図4
4における1符号目は符号長n1 =8の符号であり、こ
れに続いて符号長n2 =15の2符号目が入力してい
る。入力データは位置αn-1 から入力しているため1符
号目ではα7 ,α6 ,α5 ,…,α1 ,α0 の順になっ
ている。2符号目も同様にα14からα0 の順に入力され
る。図44の消去信号が消失位置を示すとすると1符号
目の消失位置はα5 とα2 の2つであり、2符号目の消
失位置はα12,α7 とα3 の3つである。しかしなが
ら、符号長n1 ,n2 は共にデータの入力が始まる時点
では判らず、符号の終了を示すエンド信号が来て初めて
符号長が決定する。従って、符号長が変化する場合には
αn-1 が最初から判っていない限りUi を直接求めるこ
とができない。
【0514】そこで、便宜的に符号の先頭を常にα0
数えて逆順の消失位置U′i を使うことにする。U′i
は符号の先頭を常にα0 と数えるのだから消去信号から
直接求めることができる。即ち、スタート信号が入力し
た時点で位置α0 を認識できるからである。この順で数
える逆順消失位置U′i は、1符号目ではα2 ,α5
なり、2符号目ではα2 ,α7 ,α11となる。以降はエ
ンド信号が入力するまでα+1を乗じて行けばAPN( A
PN=αn-1 ) を簡単に求めることができる。すると本
来の正順消失位置Ui は式 (92) を用いて簡単な割算で
得ることができる。例えば1符号目では次式のように求
めることができる。
【0515】
【数199】
【0516】2符号目も同様に次式のように求められ
る。
【0517】
【数200】
【0518】このようにε個の逆順消失位置U′i から
本来の消失位置Ui を求める演算ではε回の割算が必要
になる。
【0519】構成法Fでは、消失訂正に必要なシンドロ
ーム多項式S(X)と消失位置Uiとから消失位置多項
式u(X)と修正シンドローム多項式T(X)を求める
演算を最初のεステップで実行し、総合的な誤り位置多
項式σ(X)と誤り評価多項式ω(X)とをユークリッ
ド互除法の演算により求める演算を(2t−ε)ステッ
プで実行する。ここで構成法Fにおける最初のεステッ
プに注目すると、このεステップの間の消失位置多項式
u(X)及び修正シンドローム多項式T(X)を求める
多項式演算では割算ユニットが使用されていないことが
判る。
【0520】そこで本構成法では、逆順消失位置U′i
から正順消失位置Ui を求めるε回の割算を、構成法F
における最初のεステップの演算で使用されていない割
算器を利用して1ステップに1個の消失位置の計算を行
ってUi を求め、これを用いて多項式演算を行うことを
提案する。この改良により、可変符号長の消失訂正にお
いて消失シンボルが存在するε>0の場合に問題とな
る、消失位置Ui を求める方法は、逆順で数えられた消
失位置U′i とαn-1 (APN) との割算を行うことに
より求められることになる。この割算は、構成法Fにお
いて最初のεステップで使用されていない割算器を用い
て行われるため、回路規模を全く増加することなく符号
長が可変の消失訂正を実現できることになる。
【0521】提案する構成方法の概念的な構成図を図4
5、図46に示す。本構成法の基本構造は、構成法Fの
構成法に基づいている。具体的には図43に示される構
造例と図4に示される演算器構成例を改良している。構
成法Fでは消失位置の記憶領域としてレジスタUD1
UDp を持ち、この中には正順に数えられた消失位置U
i を格納して1ステップに1個づつシフトして直接ML
Tの演算ユニットに供給することにより演算を行ってい
た。
【0522】図45、図46の構成図中で構成法Fと異
なる部分を中心に簡単に説明する。本構成例は、図43
に示す構成法Fの構成例に基づいて、切替器C及び消失
位置記憶用レジスタUD1 の出力に変更を加えたもので
ある。DIVは構成中ただ1つ存在する。図中のGは除
算ユニットであり、ユークリッド互除法における2多項
式の最上位係数間でE/Fなる除算が行われる。この割
算の結果は各演算ユニットPE#1〜PE#pに供給さ
れる。切替器Rはユークリッド互除法の演算のための初
期化を行う切替器である。DIVにおけるレジスタD
R,DQは、改訂版ユークリッド互除法の演算を行う際
にレジスタA0 ,B0 に格納されている多項式R
i (X),Qi (X)の最上位係数の次数dRi ,dQ
i を格納する。実際に演算が行われる時には、R
i(X),Qi (X)の次数を表すことになる。DIV
の制御信号発生部Iは、レジスタDR,DQの比較結果
と、レジスタA0 の0検出結果及び現在の演算ステップ
数等の情報から各演算ユニットで行うべき演算の動作を
判定し、MLTの各演算ユニットを独立に制御する。切
替器C,H,N,P,R,Jは制御信号発生部Iからの
制御信号により切り替えられる。
【0523】一方のMLTは乗加算演算用ユニットであ
る。最初のεステップの演算においても次の(2t−
ε)ステップの演算においても、本構成では2t個のパ
リティが付加されたシステムに対して4t個の演算ユニ
ットが必要である。但し、これは演算器を多重化して使
用せず、1ステップの繰り返しに対して各演算ユニット
が1回の乗加算しか行わない場合を想定している。
【0524】図45,図46中のレジスタの内、図中の
左側にあるレジスタ群A0 ,A1 ,…,A2pをA側のレ
ジスタと呼び、右側のレジスタ群B0 ,B1 ,…,B2p
をB側のレジスタと呼ぶことにする。DIV,MLTを
合わせるとA側のレジスタは、全部で(4t+1)個、
B側のレジスタは全部で(4t+1)個の合計(8t+
2)個が使用されている。同時に演算ユニットの数が4
t個使用されている。演算中においては、各レジスタに
種々の多項式の係数が格納される。重要な係数の格納法
については構成法Fと同一である。
【0525】提案する構成法では、消失位置記憶用のレ
ジスタUD1 〜UDp に逆順に数えた消失位置U′1
U′p を格納しておき、構成法Fにおいて最初のεステ
ップの多項式演算時に使用されない割算器を用いてα
n-1 (APNと記す )との割算を行い正順に数えたUi
を求め、これを用いて多項式演算を行う。
【0526】提案する構成法に基づく図45,図46に
示す構成例においては、消失位置記憶用レジスタUD1
の出力は切替器Cを通して割算器GのF側に入力され
る。また、APNも切替器Cを通して割算器GのE側に
入力される。最初のεステップの多項式演算時には、切
替器Cを 3-3' 側に切り替えることにより割算器Gで式
(93)に示す演算が行われることになる。
【0527】
【数201】
【0528】この割算の結果として得られる正順に数え
た消失位置Ui が各演算ユニットに供給され、最初のε
ステップの多項式演算を正しく行うことが可能になる。
【0529】本構成法では構成法Fと全く同様に、消失
シンボルの有無により次の2つに演算の過程に分けて考
えることができる。
【0530】
【表12】
【0531】
【表13】
【0532】尚、ε=pの場合は、消失シンボルが存在
する場合においてユークリッド互除法の演算が1回も実
行されない特殊な場合と考えられるので、この表ではま
とめてある。提案する本構成法の動作は、多項式乗算を
行うε>0の場合のPM及びPEモードの時に、逆順に
数えた消失位置U′i から割算を行って、正順に数えた
消失位置Ui を計算しながら多項式演算を行うことのみ
が構成法Fの動作と異なる。それ以外の動作は構成法F
と全く同一である。各演算ユニットにおいて必要な演算
は、構成法Fと同一であるから構成法Fの演算器構成と
同様の議論が成立する。ここでは、構成法Fの例で用い
た図6に示す演算器構成例を用いて説明する。
【0533】図6の演算ユニット構成例は構成法Fにお
いて必要であった演算器構成と同様式 (58) 〜式 (61)
で示される 4種類の演算が必要になる。
【0534】
【数202】
【0535】従って演算ユニットの構成に関しては、構
成法Fと同様この4種類の演算が可能な構成であればよ
い。図6の演算ユニットにおいては、2つの切替器N,
Pを次表に示すように切り替えることにより上で述べた
1)〜4)の演算を実現できる。
【0536】
【表14】
【0537】尚、MLTの最後段のA側レジスタの入力
は切替え器Jにより0又は1が入力されるため、動作中
は最後段のPE#2pは実際には演算を行わないことに
なる。またPE#pもレジスタAp から供給される係数
は常に0であるから実際には演算を行っていない。従っ
て、若干の制御の変更でレジスタA2p及び演算ユニット
PE#p及びPE#2pは削減され、更に回路が簡略化
が可能である。しかし、本構成の原理説明の為に入れて
ある。
【0538】提案する消失訂正回路の動作 次に、演算を行なう各多項式の係数の格納方法、初期値
設定及び演算方法について説明する。手順は消失シンボ
ルが存在する場合(ε>0)と消失シンボルが存在しな
い場合(ε=0)とで動作が異なるが、後者の場合に
は、既に報告した構成法Fの場合と同じ動作を行うので
ここでは詳細の説明を省略する。
【0539】動作1)消失シンボルが存在する場合(ε
>0) 消失シンボルが存在する場合においても基本的な動作は
構成法Fと同一である。即ち、先ず最初のεステップで
u(X),T(X)の計算を同時に行い、この結果求め
られたu(X),T(X)を初期値として、次の(2t
−ε)ステップで初期値を変更した改訂版ユークリッド
の互除法の演算を行う。構成法Fで述べたように、これ
ら2つの独立した演算を連続的に行うことができる。最
初のεステップの演算は、式 (34) 及び式 (47) に従っ
て行われる。式 (34) 及び式 (47) の漸化式で与えられ
る演算は式 (56) 及び式 (57) のように書き直すことが
できる。
【0540】
【数203】
【0541】次に上の演算を実現する係数格納法に付い
て述べるが、これは全く構成法Fと同様であるが簡単に
述べておく。式 (56) 及び式 (57) は、u
(i-1) (X),T(i-1) (X)に対して、その多項式自
体と係数を上位に1次分シフトした多項式に消失位置U
i を乗じた多項式を加算することを意味している。そこ
で、図45〜図46の概念構成図においても構成法Fの
場合と同様に、u(i) (X)とT(i) (X)の係数はA
側のレジスタに格納し、B側のレジスタにはA側のレジ
スタに格納されている係数を1次分下位にシフトした係
数を格納することにする。最終的に必要なT(X)は
(2t−1)次の多項式であるから、演算途中において
保持すべきT(i) (X)の係数も、(2t−1)次分の
係数で良いことになる。従って、T(i) (X)の各係数
は最上位の(2t−1)次の係数から順に降冪の順にレ
ジスタA0 ,A1 ,…,Ap-1 に格納される。
【0542】A側のレジスタにはT(i) (X)に続いて
(i) (X)の係数がレジスタApからレジスタA2p
に同じく降冪の順に格納される。u(i) (X)の最大次
数は2t次であるから係数の数は(2t+1)個とな
り、レジスタAp からレジスタA2p迄の(2t+1)個
のレジスタにT(X)に対して降冪の順に格納する。一
方、B側のレジスタ群はA側のレジスタに格納されてい
る係数を1次分下位にシフトして格納する。即ち、レジ
スタA0 に格納されている係数は、レジスタB1 にも格
納され、以下、Ai に格納されている全ての係数がB
i+1 に格納される。尚、B0 は0を入れることにする。
【0543】次に初期値設定を説明する。 T(0) (X)=S(X)であるから、レジスタA0 にS
2tが初期値として格納され以下S2t-1がレジスタA2t-1
に格納される迄、全てのシンドロームが格納される。 u(0) (X)=1であるから、実際の初期設定として
は、Ap からA4t-1迄のレジスタは全て0に初期値設定
を行い、レジスタA4tのみ1を初期設定値として与え
る。B側のレジスタ群にはA側のレジスタ群の係数を1
次分下位にシフトして格納することにする。尚、細かな
初期設定用の回路は本質的でないため省いてある。一
方、消失位置記憶用の2t個のレジスタUD1 〜UD2t
には逆順に数えられたε個の消失位置U′1 〜U′εが
最大2t個まで格納される。格納された逆順消失位置は
レジスタUD1 から切替器Cを経て割算器に供給され
る。また、図45〜図46のAPNの入力には符号長n
を間接的に表すαn-1 を入力する。
【0544】動作を説明する。上で述べたような係数と
逆順消失位置の格納及び初期値設定の後、最初のεステ
ップの演算でT(i) (X)及びu(i) (X)の多項式演
算を行う。今、レジスタにT(i-1) (X)とu
(i-1) (X)の係数が格納されているとする。最初のε
ステップの多項式演算では、切替器Cは 3-3' 側に切り
替えられ、割算器GのE側の入力にはAPN(αn-1 )
が入力される。また、割算器のF側の入力には消失位置
記憶用レジスタUD1 から逆順に数えられた消失位置
U′i が切替器Cを経由して供給される。割算器Gにお
いては
【0545】
【数204】
【0546】なる演算が1ステップに1個の消失位置に
対して行われ、出力として得られる正順に数えた消失位
置Ui が各演算ユニットに供給される。各演算ユニット
の切替器Nは1−1′側に、切替器Pは1側に切り替え
られる。以上の設定から、各演算ユニットでは
【0547】
【数205】
【0548】なる演算を行うことになる。従って、第j
番目のレジスタに格納されている係数に対して、
【0549】
【数206】
【0550】なる演算が行われることになる。実際には
レジスタBj にはレジスタAj-1 と同じ値が入っている
から、
【0551】
【数207】
【0552】なる演算が行われることになる。この出力
がレジスタAj-1 とレジスタBj の2つのレジスタに同
時に格納される。この演算の結果、T(i) (X)とu
(i) (X)の係数が、A側のレジスタに格納され、B側
にもその1次下位にシフトされた係数が格納されること
になる。これで 1ステップの多項式演算が終了する。
【0553】この繰り返しをε回繰り返された後には、
A側レジスタ群にはT( ε )(X),u( ε )(X)が
得られることになる。つまり、レジスタA0 にT2tが格
納され、以下レジスタA2t-1までA側のレジスタには修
正シンドローム多項式T(X)の係数が降冪の順に格納
される。また、消失位置多項式u(X)の係数は、レジ
スタA2tに2t次の係数が格納され、以下レジスタA4t
に0次の係数が格納されるまで(2t+1)個の係数が
降冪の順に格納される。このように本構成法では逆順に
数えられた消失位置U′i とAPNからでも消失訂正の
ための多項式演算を行うことができる。
【0554】以上述べた最初のεステップの多項式演算
が終わると、次にこの格納された係数を初期値として改
訂版ユークリッド互除法の繰り返しを行うことになる。
この演算は、構成方法Fの中で述べた演算と基本的には
同じ方法で行う。本構成ではA側のレジスタ群には改訂
版ユークリッド互除法の演算におけるRi (X),λi
(X)の係数を格納し、B側のレジスタ群にはQ
i (X),μi (X)の係数を降冪の順に格納する。こ
の時、Ri (X),Qi (X)の係数はdRi 次の係数
が最上位にくるように格納される。このユークリッド互
除法の演算における初期設定は、A側のレジスタ群に降
冪の順にRi (X)の初期値R0 (X)=T(X)の係
数を格納する。レジスタA0 にT2tを格納し、以下2t
個の係数をレジスタA2t-1まで格納する。R0 (X)に
続いてA側のレジスタには、λi (X)の係数を格納す
る。
【0555】通常訂正の場合には、上述したようにλi
(X)の初期値λ0 (X)であるから、レジスタA2t
らレジスタA4t-1までの初期値を0とし、レジスタA4t
のみ1とすれば良かった。変更した消失訂正アルゴリズ
ムにおいては、λ0 (X)=u(X)であるから、レジ
スタA2tからA4tまでの初期値をu(X)の係数に置き
換えれば良いことになる。レジスタA2tにはu(X)の
2t次の係数が格納され、以下レジスタA4tにu(X)
の0次の係数である1が格納されるまで、降冪の順にu
(X)の係数を格納する。一方、B側のレジスタの初期
設定は、A側のレジスタ群と同様に降冪の順にQ
i (X)の初期値Q0 (X)=X2tの係数を格納する。
これは、レジスタB0 に1を格納し、それ以外のレジス
タ1からレジスタpの係数を0とすれば実現できる。Q
0 (X)に続いてB側のレジスタには、μi (X)の係
数を格納する。μ0 (X)=0であるから、B側のレジ
スタはB0 を1とし、それ以外のレジスタを全て0とす
ることでよいことになる。以上述べたことから、実は最
初のεステップの演算を終えた後に、A側のレジスタに
残った係数をそのまま用いて、ユークリッド互除法の演
算を続けることができることが判る。しかし、第εステ
ップ目の多項式演算をそのまま行うとB側のレジスタ群
にはA側のレジスタに格納されている係数が1次分シフ
トされて格納されてしまうことになる。
【0556】そこで、多項式演算の最後になるεステッ
プ目の繰り返しの時には、同時に次の改訂ユークリッド
互除法の演算を行う為のQ0 (X)μ0 (X)の初期値
であるX2t,0の係数をB側のレジスタに用意する動作
を行う必要がある。これはεステップ目の繰り返しの演
算において、B側のレジスタには演算結果のT(X)の
係数を格納せず、B0 =1とし、B1 以降のレジスタを
全て0に初期化することで実現できる。実際には、切替
器Pを3側に切り替えることにより演算ユニットに対し
て、
【0557】
【数208】
【0558】なる演算を行わせることにより簡単に実現
できる。この時、切替器Rを2側に切り替えてB0 には
1を格納し、dRi ,dQi を格納するためのレジスタ
であるDR,DQも同時に各々(2t−1),2tで初
期化する。このように第εステップで改訂版ユークリッ
ド互除法のための初期値が設定された後に、改訂版ユー
クリッド互除法の演算が1ステップずつ(2t−ε)ス
テップに渡って順に行なわれる。
【0559】ユークリッド互除法の演算を行う第iステ
ップの演算の動作を説明する。消失シンボルの数εが2
t個ある場合は、2t回の多項式演算だけでω(X),
σ(X)が求められることになるからこれ以上のユーク
リッド互除法の演算は不用になる。そこで、ここでは1
個以上p個未満の消失シンボルがある場合を想定する。
このような場合には少なくとも1回のユークリッド互除
法が多項式演算後に行われることになる。先ず、0検出
器DでRi-1 (X)のdRi-1 次係数が0か否かが検出
される。この結果とレジスタDRi-1 ,DQi-1 の大小
関係とから動作モードが決定される。DRi-1 <DQ
i-1 で、かつ、A0 ≠0の状態が知らされた場合にはク
ロスモード、その他の場合にはノーマルモードとなる。
これは、従来技術として述べたように改訂版ユークリッ
ド互除法におけるシフトモードは実は割算器Gからの商
が0の場合のノーマルモードとして扱うことが出来るた
めである。モードが決定すると、DIVにある2つの切
換器C及びHが動作モードに応じてクロス(1−1′)
またはノーマル(2−2′)に切り替わる。
【0560】レジスタA0 の値、即ち、Ri-1 (X)の
dRi-1 次の係数とレジスタB0 の値、即ち、Q
i-1 (X)のdQi-1 次の係数が切換器Cを通って割算
器Gに入力される。割算器Dでは、図中のE,Fの入力
に対してE/Fの割算を行い、その結果をMLTの各演
算ユニットに供給する。一方、MLTの各演算ユニット
ではDIVで判定された動作モードに応じて演算が行な
われる。ユークリッド互除法の演算中は、切替器Pは2
側が選択される。クロスモードの場合には、切替器Nは
クロス側(1−1′)が選択され、図6に示す演算器
(Processing Element) において割算器の出力をZで表
すと
【0561】
【数209】
【0562】なる演算が行われる。一方のノーマルモー
ドの場合には、切替器Nはノーマル側(2−2′)が選
択され、式(59)の
【0563】
【数210】
【0564】なる演算が行われる。各々の演算ユニット
で演算された係数はレジスタに格納され1ステップの演
算が終了する。第j番のレジスタにおいて係数の格納
は、A側のレジスタには第j+1演算ユニットのX′出
力を格納し、B側のレジスタは第j演算ユニットのY′
出力を格納する。即ち、次式のように表される。
【0565】
【数211】
【0566】この手順を(2t−ε)回繰り返すことに
より、
【0567】
【数212】
【0568】として求めることが出来る。多項式の次数
は各々dRi ,(dRi +1)である。ω(X)の係数
はdRi 次の係数がレジスタA0 に格納され以下降冪の
順に下位係数が格納される。σ(X)の係数も同様にレ
ジスタA2tにdRi +1次の係数が格納され、以下降冪
の順に下位係数が格納される。
【0569】消失訂正を行う場合の動作例を例題を用い
て説明する。この例は、規約多項式g(X)=X4 +X
+1を用いて定義される有限体GF(24 )を用いて2
t=4パリティが付加された符号を用いている。通常訂
正の場合には最大2シンボル誤り訂正が可能であるが、
消失訂正の場合にはε+2ν≦2tを満たす範囲で訂正
が可能である。また、符号長nをn=15として、ε=
2,ν=1の例を説明する。2個の本来の消失位置は、
【0570】
【数213】
【0571】であるが、実際に復号器に入力される系列
はαn-1 ,αn-2 ,…,α1 ,α0 の順で入力されるた
め先頭をα+0と数える逆順消失位置は、
【0572】
【数214】
【0573】となる。これが、U′2 ,U′1 の順で入
力することになる。今、シンドローム多項式S(X)
が、
【0574】
【数215】
【0575】と求められたとする。このシンドローム多
項式S(X)から改訂版ユークリッド互除法を用いて誤
り位置多項式σ(X)を導出すると次のようになる。
【0576】[ ステップ1:多項式演算 ]消失位置Ui
から消失位置多項式u(X)と修正シンドローム多項式
T(X)との係数を求める。初期設定を
【0577】
【数216】
【0578】として、次の演算を行う。
【0579】
【数217】
【0580】[ ステップ2:多項式演算 ]
【0581】
【数218】
【0582】[ ステップ3:ユークリッドの互除法・ク
ロスモード演算 ]ステップ1,2で求められたT
(X),u(X)を用いて改訂版ユークリッド互除法の
演算を行う。初期値設定を次のように行う。
【0583】
【数219】
【0584】繰り返しの演算は演算モードの判定の後、
次のように行われる。
【0585】
【数220】
【0586】[ ステップ4:ユークリッドの互除法・ノ
ーマルモード演算 ]
【0587】
【数221】
【0588】以上、4ステップの繰り返し演算で、σ
(X),ω(X)は、次式ように求められる。
【0589】
【数222】
【0590】以上述べた4ステップの演算で求めるσ
(X)とω(X)が求められる。この演算過程を提案す
る構成法で実現した場合の演算過程を順に図50〜図9
に示す。
【0591】図50,図51のレジスタは既に初期設定
されている。この例では、ε=2であるから多項式演算
用の初期化がされている。レジスタUDi には逆順に数
えられた消失位置U′1 =α+13 ,U′2 =α+14 が順
に格納されている。レジスタA0 〜A3 にはT
(0) (X)の係数であるシンドロームS1 〜S4 が格納
されており、B側のレジスタ群にはこれら係数を1次下
位にシフトして格納されている。A4 〜A7 及びB5
8 は全て0でA8 に1が格納されている。図50,図
51で示される第1ステップの動作は、切替器Cを3−
3′側、切替器Nがクロス側1−1′に切り替えられ
る。レジスタUDから供給される逆順消失位置U′1
α+13 とAPN=αn-1 との割り算が割算器Gを用いて
行われ、結果として得られる正順消失位置U1 =α+1
用いて
【0592】
【数223】
【0593】の演算が行われる。右辺第2項目でXが掛
けられているため、T(0) (X)のX3 の項の係数は計
算する必要がない。従って、実際に演算されるのは、
【0594】
【数224】
【0595】の4個の演算がPE#1からPE#4で行
われ、結果がA0 〜A3 とB1 〜B4に同時に格納され
る。u(1) (X)に関する演算も同様である。
【0596】
【数225】
【0597】の演算に対して、u(0) (X)=1である
から
【0598】
【数226】
【0599】の演算がPE#8において行われ、A7
8 に同時に格納される。多項式演算時には切替器Jか
ら1がA8 に供給される。
【0600】第1ステップの演算が終了した時に図5
2,図53に示すように係数が格納される。第2ステッ
プも第1ステップと同様に多項式演算が行われるが、ε
=2であるから多項式演算の最終ステップとなるため同
時にB側のレジスタをユークリッド互除法の演算用に初
期化する。
【0601】第2ステップが終了した時点で多項式演算
が終了し、T(X),u(X)が求められる。図54,
図55では第2ステップ終了時点の係数が各レジスタに
格納されている。A0 〜A3 のレジスタにはR0 (X)
=T(X)の係数が格納されA4 〜A8 のレジスタには
λ0 (X)=u(X)の係数が格納されている。一方、
B側のレジスタはQ0 (X)=Xp ,μ0 (X)=0と
なるよう初期化されている。レジスタDR及びDQには
dR0 及びdQ0 の値を格納する。改訂版ユークリッド
互除法のアルゴリズムにおいて実際に演算が行われる演
算ステップではdR0 ,dQ0 は各々R0 (X),Q0
(X)の次数を表している。ユークリッド互除法の演算
の初期化の際には、DR,DQの初期値は(2t−
1),2tとする。図54,図55において行われる第
3ステップの演算は、通常訂正の場合の改訂版ユークリ
ッド互除法の演算と同一である。図54,図55におい
てレジスタDRの値(dR0 )が3でレジスタDQの値
(dQ0 )が4であるからDR<DQの条件を満たして
おり、また、R0 (X)のdR0 次の係数がα9 と零で
ないため、動作モードがクロスモードになる。そこで、
切替器C,H,Nがクロス側2−2′に切替えられ割算
器Gにおいて1/α9 なる演算が行なわれ、割算結果α
6 が切替器Sを経由して各演算ユニットに対して出力さ
れる。
【0602】一方のMLTではクロスモードの演算が行
われる。R1 (X)を求めるための演算は
【0603】
【数227】
【0604】で表される。これら3つの係数は次に示す
演算がPE#1〜PE#3の各演算ユニットにおいて行
われることにより実現される。
【0605】
【数228】
【0606】同様に、λ1 (X)を求めるための
【0607】
【数229】
【0608】なる計算は、PE#6〜PE#8で次に示
す3つの係数演算が行われることにより実現される。
【0609】
【数230】
【0610】この演算されたR1 (X),λ1 (X)の
係数は図56,図57に示すようにA側のレジスタに格
納され、B側のレジスタ群にはQ1 (X)=R0 (X)
及びμ1 (X)=λ0 (X)の係数が格納される。
【0611】続いて図56,図57で行われる第4ステ
ップの演算では、レジスタDRの値(dR1 )が3でレ
ジスタDQの値(dQ1 )が3であるからDR≧DQと
なり、ノーマルモードの演算を行う。そこで、切替器
C,H,Nがノーマル側1−1′に切替えられ割算器G
においてα13/α9 なる演算が行なわれ、割算結果α4
が切替器Sを経由して各演算ユニットに対して出力され
る。一方のMLTはノーマルモードの演算を行う。R2
(X)を求めるための計算は
【0612】
【数231】
【0613】である。これらの係数を求めるためにPE
#1〜PE#3の各演算ユニットにおいて、次に示す3
つの係数演算が行われることになる。
【0614】
【数232】
【0615】同様に、λ1 (X)は
【0616】
【数233】
【0617】なる演算で求められるため、次に示す4つ
の係数演算がPE#5〜PE#8で行われることにより
実現されている。
【0618】
【数234】
【0619】4ステップの演算が終了した時点でレジス
タに格納されている係数は図58,図59に示すように
なる。図58,図59においてω(X)の係数α9
0,α3 がレジスタA0 〜A2 に求められ、σ(X)
係数α7 ,α0 ,α14,α4 がレジスタA4 〜A7 に求
められている事が判る。
【0620】動作 2) 消失シンボルが存在しない場合
(ε=0) 既に述べたように消失シンボルが存在しない場合の動作
は、構成法Fの場合と同一である。全く同一なので説明
は省略する。
【0621】動作のまとめ以上述べた様に、本構成法は
構成法Fに対して割算器Gの入力として符号長に依存す
るAPN=αn-1 と逆順消失位置U′i を入力出来るよ
うに切替器Cに変更を加えるだけで構成可能である。
【0622】従って構成法Fと同様に本構成法の動作に
おいても、ユークリッド互除法演算用初期化 (EI) ・
ユークリッド互除演算 (EC,EN)・多項式演算用初
期化(PI) の4つの動作モードは構成法Fと全く同一
の処理を行うが、多項式演算(PM,PE )の場合の動
作モードでは演算ステップ数に応じて各演算ユニットで
行われる演算が変化する。
【0623】
【表15】
【0624】
【表16】
【0625】尚、ε=pの場合は、消失シンボルが存在
する場合においてユークリッド互除法の演算が1回も実
行されない特殊な場合と考えられるので、この表ではま
とめてある。本構成例に基づく切替器の動作をまとめて
おく。
【0626】
【表17】
【0627】尚、図6及び図45,図46で示される本
構成例は一例に過ぎず他にも様々な構成例が考えられ
る。また、それにつれて演算器の構成法も大きく異なる
事を付け加えておく。
【0628】消失訂正においては消失シンボルの符号中
の位置を有限体で表すUi を求める必要がある。消失位
置は符号の先頭から順に数えるが、通常は符号化器の構
成上の都合から符号の末尾のシンボルから入力すること
になる。従って、符号長が変化する場合には、有限体で
表される正順に数えた消失位置を如何に求めるかが問題
となる。第3実施例では、予め逆順で数えた消失位置と
符号長から判るAPN=αn-1の値を格納しておき、構
成法Fを改良して、多項式演算時に使用されていない割
算器を用いて正順の消失位置を求めながら演算する方法
を提案している。本構成法は、構成方法 Fに対して若干
の修正を加えるだけで、入力する符号の符号長が符号毎
に変化する場合においても、容易に消失訂正を実現する
ことが出来る。本構成法は、基本的には構成法Fと同一
の動作を行うが、構成法Fにおいて冗長であった消失位
置記憶用領域と消失位置多項式u(X)を算出するため
の多項式の係数格納用領域とを兼用することにより、記
憶領域の低減を可能にしている。以上述べた特徴から、
本構成法を用いれば構成法Fの高速動作性を保ったま
ま、符号長が変化する符号に対しても冗長な回路無しに
消失訂正を実現する復号器が構成できる。勿論、演算が
連続的に行える特徴もそのまま保持される。
【0629】以上、特に、好適実施例として、リードソ
ロモン符号を例示して本発明のデータ消失訂正方法とデ
ータ消失訂正回路の実施例を述べたが、本発明のデータ
消失訂正方法とその回路は、リードソロモン符号に限定
されず、ユークリッドの互除法を用いて消失訂正を行う
その他の種々のシステムに適用できる。
【0630】
【発明の効果】本発明によれば、高速に処理可能なデー
タ消失訂正方法とその回路が提供される。また本発明に
よれば、データ消失訂正回路を簡単な回路構成にするこ
とができる。本発明によれば、消失訂正に必要な消失位
置多項式u(X)と修正シンドローム多項式T(X)の
計算を同時に行うことにより、効率のよいデータ消失訂
正方法とその回路が提供される。また本発明によれば、
最初のεステップで消失訂正に必要な多項式演算を行う
際の、消失位置記憶用領域と消失位置多項式u(X)を
算出するための多項式の係数格納用領域とを兼用するこ
とにより記憶領域が低減する。
【0631】本発明によれば、可変長のコードに対し
て、逆順消失位置U′i と入力完了時に得られるデータ
αn-1 (APN)を用いて、効率よく消失訂正を行うこ
とが可能な消失訂正方法とその回路が提供できる。また
本発明によれば、最初のεステップで使用されていない
割算器を用いてU′i /APNの割り算を行うことによ
り、回路構成を複雑にしないで、可変長コードの消失訂
正を行う回路が提供される。
【図面の簡単な説明】
【図1】従来のデータ消失訂正方法の手順を示す図であ
る。
【図2】本発明の実施例のデータ消失訂正方法の手順を
示す図である。
【図3】本発明のデータ消失訂正回路の第1実施例とし
ての基本回路構成を示す第1の部分図である。
【図4】本発明のデータ消失訂正回路の第1実施例とし
ての基本回路構成を示す第2の部分図である。
【図5】本発明のデータ消失訂正回路の第1実施例とし
ての基本回路構成を示す第3の部分図である。
【図6】図3〜図5に示した演算ユニットの詳細回路図
である。
【図7】本発明の実施例のデータ消失訂正回路における
第1動作例における第1ステップの動作形態を図解する
第1の部分図である。
【図8】本発明の実施例のデータ消失訂正回路における
第1動作例における第1ステップの動作形態を図解する
第2の部分図である。
【図9】本発明の実施例のデータ消失訂正回路における
第1動作例における第2ステップの動作形態を図解する
第1の部分図である。
【図10】本発明の実施例のデータ消失訂正回路におけ
る第1動作例における第2ステップの動作形態を図解す
る第2の部分図である。
【図11】本発明の実施例のデータ消失訂正回路におけ
る第1動作例における第3ステップの動作形態を図解す
る第1の部分図である。
【図12】本発明の実施例のデータ消失訂正回路におけ
る第1動作例における第3ステップの動作形態を図解す
る第2の部分図である。
【図13】本発明の実施例のデータ消失訂正回路におけ
る第1動作例における第4ステップの動作形態を図解す
る第1の部分図である。
【図14】本発明の実施例のデータ消失訂正回路におけ
る第1動作例における第4ステップの動作形態を図解す
る第2の部分図である。
【図15】本発明の実施例のデータ消失訂正回路におけ
る第1動作例における最終ステップの動作形態を図解す
る第1の部分図である。
【図16】本発明の実施例のデータ消失訂正回路におけ
る第1動作例における最終ステップの動作形態を図解す
る第2の部分図である。
【図17】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における第1ステップの動作形態を図解す
る第1の部分図である。
【図18】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における第1ステップの動作形態を図解す
る第2の部分図である。
【図19】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における第2ステップの動作形態を図解す
る第1の部分図である。
【図20】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における第2ステップの動作形態を図解す
る第2の部分図である。
【図21】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における第3ステップの動作形態を図解す
る第1の部分図である。
【図22】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における第3ステップの動作形態を図解す
る第2の部分図である。
【図23】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における第4ステップの動作形態を図解す
る第1の部分図である。
【図24】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における第4ステップの動作形態を図解す
る第2の部分図である。
【図25】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における最終ステップの動作形態を図解す
る第1の部分図である。
【図26】本発明の実施例のデータ消失訂正回路におけ
る第2動作例における最終ステップの動作形態を図解す
る第2の部分図である。
【図27】本発明のデータ消失訂正回路の第2実施例と
しての基本回路構成を示す第1の部分図である。
【図28】本発明のデータ消失訂正回路の第2実施例と
しての基本回路構成を示す第2の部分図である。
【図29】本発明のデータ消失訂正回路の第2実施例と
しての基本回路構成を示す第3の部分図である。
【図30】図27〜図29に示したデータ消失訂正回路
の全体回路構成の第1の部分図である。
【図31】図27〜図29に示したデータ消失訂正回路
の全体回路構成の第2の部分図である。
【図32】図30、図31に示した演算ユニットの詳細
回路図である。
【図33】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における第1ステップの動作形態を図解す
る第1の部分図である。
【図34】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における第1ステップの動作形態を図解す
る第2の部分図である。
【図35】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における第2ステップの動作形態を図解す
る第1の部分図である。
【図36】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における第2ステップの動作形態を図解す
る第2の部分図である。
【図37】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における第3ステップの動作形態を図解す
る第1の部分図である。
【図38】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における第3ステップの動作形態を図解す
る第2の部分図である。
【図39】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における第4ステップの動作形態を図解す
る第1の部分図である。
【図40】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における第4ステップの動作形態を図解す
る第2の部分図である。
【図41】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における最終ステップの動作形態を図解す
る第1の部分図である。
【図42】本発明の実施例のデータ消失訂正回路におけ
る第3動作例における最終ステップの動作形態を図解す
る第2の部分図である。
【図43】固定長コード(符号)の処理形態図である。
【図44】可変長コード(符号)の処理形態図である。
【図45】本発明の第3実施例の可変長コードのデータ
消失訂正回路の第1の部分図である。
【図46】本発明の第3実施例の可変長コードのデータ
消失訂正回路の第2の部分図である。
【図47】図45に示した消失位置記憶レジスタの単位
回路図である。
【図48】可変長コードのデータ消失訂正回の全体構成
図である。
【図49】第3実施例のデータ消失訂正回路における初
期設定状態を示す図である。
【図50】第3実施例のデータ消失訂正回路の第1ステ
ップ動作の第1の部分図である。
【図51】第3実施例のデータ消失訂正回路の第1ステ
ップ動作の第2の部分図である。
【図52】第3実施例のデータ消失訂正回路の第2ステ
ップ動作の第1の部分図である。
【図53】第3実施例のデータ消失訂正回路の第2ステ
ップ動作の第2の部分図である。
【図54】第3実施例のデータ消失訂正回路の第3ステ
ップ動作の第1の部分図である。
【図55】第3実施例のデータ消失訂正回路の第3ステ
ップ動作の第2の部分図である。
【図56】第3実施例のデータ消失訂正回路の第4ステ
ップ動作の第1の部分図である。
【図57】第3実施例のデータ消失訂正回路の第4ステ
ップ動作の第2の部分図である。
【図58】第3実施例のデータ消失訂正回路の最終ステ
ップ動作の第1の部分図である。
【図59】第3実施例のデータ消失訂正回路の最終ステ
ップ動作の第2の部分図である。
【符号の説明】
MLT・・乗算加算演算ユニット 100(PE)・・演算ユニット 101:102(N)・・切替器 103(K)・・加算器 104(L)・・乗算器 105(P)・・切替器 110・・A側レジスタ 112・・B側レジスタ 119(J)・・切替器 DIV・・割り算ユニット 120・・・制御信号発生切替器 122(DR)・・レジスタ 124(DQ)・・レジスタ 126:128(H)・・切替器 130・・−1設定器 132・・レジスタユニット 134・・A側レジスタ 136・・B側レジスタ 138・・0検出器 140:142(C)・・切替器 144(R)・・切替器 146(G)・・割り算器 148(S)・・切替器

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】所定の符号化方式によって符号化された符
    号を用いてデータの消失データの訂正を行うデータ消失
    訂正方法であって、 符号全体の誤りを消失位置及びその消失位置の消失パタ
    ーン、ならびに、消失シンボル以外の誤り位置およびそ
    の誤り位置の消失パターンで表すとき、 受信信号rとパリテイ検査行列Hとの積として、(2t
    −1)次のシンドローム多項式S(X)およびその係数
    Siを計算するステツプと、 少なくともエラーフラグにより既知である消失位置Ui
    および上記シンドローム多項式の係数Si とにより、消
    失位置多項式u(X)の係数ui および修正シンドロー
    ム多項式T(X)の係数Ti を同時に計算するステツプ
    と、 上記消失位置多項式u(X)の係数ui および上記修正
    シンドローム多項式T(X)の係数Ti とより、誤り位
    置多項式σ(X)と消失位置多項式u(X)との積多項
    式の係数σiを導出するステツプと、 上記積多項式と上記シンドローム多項式S(X)とより
    求まる総合的な誤り位置多項式ω(X)と上記積多項式
    とより、受信信号を訂正するステツプとを有するデータ
    消失訂正方法。
  2. 【請求項2】請求項1記載のデータ消失訂正方法におい
    て、 消失位置多項式u(X)の係数ui および修正シンドロ
    ーム多項式T(X)の係数Ti を同時に計算するステツ
    プは、下記式で規定される演算を行うとともに、 u(0) (X) =1 u(i) (X) =u(i-1) (X) (1−XUi ) u(X) =u(X) ・exp(ε) 演算式:u(0) (X) =1初期値を1からシンドロー
    ム多項式S(X)とすることを特徴とする、データ消失
    訂正方法。
  3. 【請求項3】請求項1記載のデータ消失訂正方法におい
    て、 上記修正シンドローム多項式S(X)から誤り位置多項
    式σ(X)および誤り評価多項式ω(X)を導出をする
    ステツプは、 (1)受信信号rからシンドローム多項式S(X)に係
    数Si (1≦i≦2t)を算出し、 (2)消失位置Ui (1≦i≦ε)と係数Si (1≦i
    ≦2t) から、消失位置多項式u(X)の係数ui (0 ≦
    i≦ε,u0 =1)および修正シンドローム多項式T
    (X)の係数Ti (1≦i≦2t) を算出し、 (3)算出した、消失位置多項式u(X)の係数u
    i (0 ≦i≦ε,u0 =1)および修正シンドローム多
    項式T(X)の係数Ti (1≦i≦2t) から、修正誤り
    位置多項式σ(X)の係数ρi (1≦i≦ν)を算出
    し、 (4)算出した修正誤り位置多項式σ(X)、および、
    誤り評価多項式ω(X) を用いて消失訂正を行うデー
    タ消失訂正方法。
  4. 【請求項4】前記所定の符号化はリードソロモン符号化
    を含む、請求項1〜3いずれか記載のデータ消失訂正方
    法。
  5. 【請求項5】所定の符号化方式で符号化されたデータの
    消失訂正を行うデータ消失訂正回路であって、 1つの割り算ユニットと、 該割り算ユニットに作動的に接続される複数の演算ユニ
    ットとを有し、 消失位置の記憶領域として複数のレジスタを持ち、この
    中に格納された消失位置を1ステップに1個づつシフト
    することにより、(乗算係数となる)消失位置を第1の
    切替器Sを経由して各演算ユニットに供給することを特
    徴とするデータ消失訂正回路。
  6. 【請求項6】請求項5記載のデータ消失訂正回路におい
    て、パリテイ・シンボル数が2t(tは正の整数) であ
    り、訂正可能なシンボル数をtとするとき、 4t個の演算ユニットと、(8t+2)個のデータ記憶
    回路を用いて、全部で2tステップの連続的な演算で上
    記総合的な誤り位置多項式と上記誤り評価多項式を得る
    ことを特徴とするデータ消失訂正回路。
  7. 【請求項7】請求項6記載のデータ消失訂正回路におい
    て、 上記割り算ユニットは、ユークリッド互除法における2
    つの多項式の最上位係数間で所定の除算を行う除算器を
    有し、 上記割算ユニツトの出力は第1の切替器Sで消失位置の
    記憶レジスタの出力と切り替えられて複数の演算ユニッ
    トの各々へ供給されるデータ消失訂正回路。
  8. 【請求項8】請求項7記載のデータ消失訂正回路におい
    て、 上記割り算ユニットはさらに、ユークリッド互除法の演
    算のための初期化を行うための第2の切替器Rを有する
    データ消失訂正回路。
  9. 【請求項9】請求項7記載のデータ消失訂正回路におい
    て、 上記割り算ユニットに並列に設けられたレジスタDR,
    DQは、ユークリッド互除法の演算を行う際にレジスタ
    に格納されている多項式の最上位係数の次数データを格
    納することを特徴とする、データ消失訂正回路。
  10. 【請求項10】請求項7記載のデータ消失訂正回路にお
    いて、 上記割り算ユニットは制御信号発生部を有し、該制御信
    号発生部は前記割り算ユニット内のレジスタDR, DQ
    の比較結果と、レジスタの0値検出結果および現在の演
    算ステップ数等の情報から各演算ユニットで行うべき演
    算の動作を判定し、上記演算ユニットを独立に制御する
    データ消失訂正回路。
  11. 【請求項11】請求項7記載のデータ消失訂正回路にお
    いて、 上記演算ユニットは乗算加算演算ユニットであり、最初
    のステップの演算においても次のステップの演算におい
    ても、2t個のパリティが付加されたシンボルに対して
    4t個の演算ユニットよりなることを特徴とするデータ
    消失訂正回路。
  12. 【請求項12】請求項11記載のデータ消失訂正回路に
    おいて、 上記乗算加算演算ユニットは複数の演算ユニットを含
    み、上記演算ユニットは、乗算器・加算器・切替器を含
    んで構成され、特に有限体上の演算を行うことを特徴と
    するデータ消失訂正回路。
  13. 【請求項13】請求項12記載のデータ消失訂正回路に
    おいて、 上記演算ユニットは、4t個の演算ユニツトであること
    を特徴とするデータ消失訂正回路。
  14. 【請求項14】前記所定の符号化はリードソロモン符号
    化を含む、請求項5〜13いずれか記載のデータ消失訂
    正回路。
  15. 【請求項15】所定の符号化方式で符号化されたデータ
    の消失訂正を行うデータ消失訂正回路であって、 4t個(tは整数)の演算器と、(8t+2)個のデー
    タ保持回路を有し、 2ステップ的演算を行って総合的な誤り位置多項式と誤
    り評価多項式を算出してデータ消失訂正を行うことを特
    徴とするデータ消失訂正回路。
  16. 【請求項16】前記所定の符号化は非二元BCH符号化
    を含む請求項15記載のデータ消失訂正回路。
  17. 【請求項17】前記符号化された符号は可変長の符号で
    あり、 前記消失位置Ui を逆順の消失位置U′i とし、 入力完了時のデータAPNを前記逆順の消失位置U′i
    を除算して前記消失位置Ui を算出する、 請求項1〜4いずれか記載のデータ消失訂正方法。
  18. 【請求項18】前記消失位置を逆順の消失位置として1
    ステップに1個づつシフトし、 入力完了時のデータで該シフトしたデータを除算して正
    順の消失位置に変換する回路を有する、請求項5〜16
    いずれか記載のデータ消失訂正回路。
  19. 【請求項19】前記逆順の消失位置を前記入力完了時の
    データの除算を、前記除算器の不動作時にこの除算器を
    用いて行う、請求項18記載のデータ消失訂正回路。
  20. 【請求項20】n個の受信符号からシンドロームS
    (X)を算出する手段、 該シンドロームS(X)を修正して修正シンドロームT
    (X)を算出する手段、 入力された消失フラグからべき乗係数α0 〜αn-1 を算
    出する手段、 該べき乗係数を拡張して消失位置多項式u(X)を算出
    する手段、 該消失位置多項式u(X)と前記修正シンドロームT
    (X)をユークリッド互除法にもとづく演算を行ない、
    消失エラーおよび消失位置を算出する手段を有する、デ
    ータ消失訂正回路。
  21. 【請求項21】前記修正シンドロームの算出および前記
    消失位置多項式の算出をεステップで行ない(但し、ε
    は消失シンボル数)、 前記ユークリッド互除法にもとづく演算をその後の(2
    t−ε)ステップで行う(但し、2tはパリティシンボ
    ル数)請求項20記載のデータ消失訂正回路。
  22. 【請求項22】入力された消去フラグを逆順にした逆順
    消失位置多項式を算出し、入力完了時のデータで該逆順
    消失位置多項式を除いて正順の消失位置多項式を算出す
    る手段をさらに有する、請求項21記載のデータ消失訂
    正回路。
JP08124693A 1992-10-30 1993-03-16 データ消失訂正方法とその回路 Expired - Lifetime JP3239522B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP08124693A JP3239522B2 (ja) 1992-10-30 1993-03-16 データ消失訂正方法とその回路
US08/145,201 US5566190A (en) 1992-10-30 1993-10-27 Apparatus and methods for correcting lost data
DE69330775T DE69330775T2 (de) 1992-10-30 1993-10-28 Reed-Solomon Fehlerkorrektur mit Euclidschem Algorithmus
EP93117511A EP0595326B1 (en) 1992-10-30 1993-10-28 Reed-Solomon decoding with Euclid algorithm
EP99124097A EP0989679A1 (en) 1992-10-30 1993-10-28 Method of correcting lost data and circuit thereof
AT93117511T ATE205980T1 (de) 1992-10-30 1993-10-28 Reed-solomon fehlerkorrektur mit euclidschem algorithmus
AT99124096T ATE239327T1 (de) 1992-10-30 1993-10-28 Korrekturverfahren für verlorengegangene daten und schaltung dafür
EP99124098A EP0989680A1 (en) 1992-10-30 1993-10-28 Method of correcting lost data and circuit thereof
EP99124096A EP0991196B1 (en) 1992-10-30 1993-10-28 Method of correcting lost data and circuit thereof
DE69332937T DE69332937T2 (de) 1992-10-30 1993-10-28 Korrekturverfahren für verlorengegangene Daten und Schaltung dafür

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP31563592 1992-10-30
JP4-315635 1992-10-30
JP08124693A JP3239522B2 (ja) 1992-10-30 1993-03-16 データ消失訂正方法とその回路

Publications (2)

Publication Number Publication Date
JPH06197026A true JPH06197026A (ja) 1994-07-15
JP3239522B2 JP3239522B2 (ja) 2001-12-17

Family

ID=26422281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08124693A Expired - Lifetime JP3239522B2 (ja) 1992-10-30 1993-03-16 データ消失訂正方法とその回路

Country Status (5)

Country Link
US (1) US5566190A (ja)
EP (4) EP0595326B1 (ja)
JP (1) JP3239522B2 (ja)
AT (2) ATE239327T1 (ja)
DE (2) DE69332937T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019176147A1 (ja) * 2018-03-16 2019-09-19 株式会社日立国際電気 無線通信システム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137916A (en) * 1997-11-17 2000-10-24 Sony Electronics, Inc. Method and system for improved digital video data processing using 8-point discrete cosine transforms
US6215909B1 (en) 1997-11-17 2001-04-10 Sony Electronics, Inc. Method and system for improved digital video data processing using 4-point discrete cosine transforms
US6671319B1 (en) 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
US6483876B1 (en) 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
US6690728B1 (en) 1999-12-28 2004-02-10 Sony Corporation Methods and apparatus for motion estimation in compressed domain
GB2391769B (en) * 2002-07-31 2005-07-06 Hewlett Packard Co Reed-Solomon decoder and decoding method for errors and erasures decoding
JP3843952B2 (ja) * 2003-02-27 2006-11-08 ソニー株式会社 復号装置、誤り位置多項式計算方法、プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4665523A (en) * 1984-02-15 1987-05-12 Stanford University Method and means for error detection and correction in high speed data transmission codes
US4649541A (en) * 1984-11-21 1987-03-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reed-Solomon decoder
JPS63316524A (ja) * 1987-06-18 1988-12-23 Sony Corp リ−ド・ソロモン符号の復号方法
JPS63316525A (ja) * 1987-06-18 1988-12-23 Sony Corp ユ−クリッド互除演算回路
US4868828A (en) * 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
US4873688A (en) * 1987-10-05 1989-10-10 Idaho Research Foundation High-speed real-time Reed-Solomon decoder
US5170399A (en) * 1989-08-30 1992-12-08 Idaho Research Foundation, Inc. Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
JPH0427217A (ja) * 1990-05-22 1992-01-30 Toshiba Corp 誤り位置及び誤り数値計算回路
US5323402A (en) * 1991-02-14 1994-06-21 The Mitre Corporation Programmable systolic BCH decoder
DE4105860C2 (de) * 1991-02-25 1995-04-20 Broadcast Television Syst Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019176147A1 (ja) * 2018-03-16 2019-09-19 株式会社日立国際電気 無線通信システム
JPWO2019176147A1 (ja) * 2018-03-16 2021-03-11 株式会社日立国際電気 無線通信システム

Also Published As

Publication number Publication date
DE69330775D1 (de) 2001-10-25
EP0989680A1 (en) 2000-03-29
EP0595326B1 (en) 2001-09-19
EP0991196B1 (en) 2003-05-02
ATE239327T1 (de) 2003-05-15
US5566190A (en) 1996-10-15
EP0991196A1 (en) 2000-04-05
DE69330775T2 (de) 2002-02-21
EP0989679A1 (en) 2000-03-29
EP0595326A2 (en) 1994-05-04
JP3239522B2 (ja) 2001-12-17
DE69332937D1 (de) 2003-06-05
EP0595326A3 (en) 1995-10-04
DE69332937T2 (de) 2004-03-11
ATE205980T1 (de) 2001-10-15

Similar Documents

Publication Publication Date Title
KR101616478B1 (ko) 프로그램가능한 프로세서 상에서의 임의의 갈루아 필드 산술연산의 구현
US4873688A (en) High-speed real-time Reed-Solomon decoder
EP0620654B1 (en) Circuit for performing the Euclidian algorithm in decoding of arithmetical codes
US6571368B1 (en) Systolic Reed-Solomon decoder
US6119262A (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
JP3238128B2 (ja) リードソロモン符号化装置および方法
JPH09507117A (ja) リードソロモン復号化器
US5535225A (en) Time domain algebraic encoder/decoder
US7870468B1 (en) Reed-solomon decoder using a configurable arithmetic processor
JPH0827732B2 (ja) 線形代数コード復号のためのキー方程式を解く方法
US5805617A (en) Apparatus for computing error correction syndromes
US8261176B2 (en) Polynomial division
US7089276B2 (en) Modular Galois-field subfield-power integrated inverter-multiplier circuit for Galois-field division over GF(256)
JP3239522B2 (ja) データ消失訂正方法とその回路
US6263471B1 (en) Method and apparatus for decoding an error correction code
US6662336B1 (en) Error correction method and apparatus
KR20190003315A (ko) 일반화된 텐서곱(gtp) 코드의 효율적인 인코딩 방법 및 그 장치
Zhang VLSI architectures for Reed–Solomon codes: Classic, nested, coupled, and beyond
JP4045872B2 (ja) 符号化方法および符号化装置
EP0806839A1 (en) Device and method for error correcting coding, and device and method for error correcting decoding
Zhang et al. Systematically re-encoded algebraic soft-decision Reed–Solomon decoder
JP3233502B2 (ja) 復号化装置
US6704901B1 (en) Runtime programmable Reed-Solomon decoder
JP3850512B2 (ja) リードソロモン復号装置
KR0167390B1 (ko) 복호화 장치

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091012

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091012

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111012

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111012

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20131012

Year of fee payment: 12