JP3250735B2 - 多目的誤り訂正システム - Google Patents

多目的誤り訂正システム

Info

Publication number
JP3250735B2
JP3250735B2 JP51040596A JP51040596A JP3250735B2 JP 3250735 B2 JP3250735 B2 JP 3250735B2 JP 51040596 A JP51040596 A JP 51040596A JP 51040596 A JP51040596 A JP 51040596A JP 3250735 B2 JP3250735 B2 JP 3250735B2
Authority
JP
Japan
Prior art keywords
pointer
codeword
bit
register
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP51040596A
Other languages
English (en)
Other versions
JPH10500270A (ja
Inventor
クリストファー ピー. ズーク,
Original Assignee
シーラス ロジック, インコーポレイテッド
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 シーラス ロジック, インコーポレイテッド filed Critical シーラス ロジック, インコーポレイテッド
Publication of JPH10500270A publication Critical patent/JPH10500270A/ja
Application granted granted Critical
Publication of JP3250735B2 publication Critical patent/JP3250735B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1813Pulse code modulation systems for audio signals by adding special bits or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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
    • 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
    • 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
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】 本願は、Chris Zookにより1993年11月4日に出願さ
れ、“FINITE FEILD INVERSION"と題された米国特許出
願第08/147,758号の一部継続出願であり、以下の同時に
出願された特許出願、すなわち、Chris Zookにより1994
年9月16日に出願され、“MULTIPURPOSE ERROR CORRECT
ION CALCULATION CIRCUIT"と題された米国特許出願第08
/306,918号およびChris Zookにより1994年9月16日に出
願され、“CRC/EDC CHECKER SYSTEM"と題された米国特
許出願第08/306,917号に関連している。本願では、上記
特許出願のすべてが参考として援用される。
背景 1.発明の分野 本発明は、コンピュータデータあるいはディジタルオ
ーディオデータのいずれかを処理することができる、コ
ンパクトディスクドライブ用の誤り訂正システムを含む
がそれには限定されない、誤り訂正システムに関する。
2.関連する技術および他の考察 コンパクトディスク(CD)は、当初、音声記録および
再生に用いられていた。音声上の目的でCDドライブによ
りCDを操作することはランダムアクセスを伴うものでは
ないので、(例えば、ディスク上の異なる音声作品の)
サーチは、どのような場合でも比較的低速でおこなわれ
る。また、人間の耳は、再生された音声を連続的に、か
つ本質的にリアルタイムで処理し、受け取るので、音声
上の目的では、CDドライブには、すべての誤りを訂正す
る必要はない。たとえ、音声記録時に訂正不可能な誤り
が生じたとしても、そのような誤りを訂正する試みとし
て、CD上で誤りが存在している箇所のバックアップをと
り、それを再びリードすることは実用的ではない。そう
ではなく、訂正不可能な誤りは、どのようなものでも、
空白にされたり、および/またはその他の時間近似信号
により推定された(例えば平均のとられた)信号に置換
されるのが典型的である。
CD上の記録は、本質的にスパイラルなパスでおこなわ
れる。このパスは、ある程度、半径の異なる複数のトラ
ックを有するものとして概念づけられている。音声用で
は、CDは、複数のフレームを含むようにフォーマットさ
れる。それぞれのフレームは、2352の8ビットバイトの
ディジタルオーディオデータを有している。
音声用では、CDは、その上に記録されたワーク(例え
ば、歌)についてのディジタルオーディオデータのみな
らず、サブコードも含んでいるようにフォーマットされ
る。これらのサブコードは、一定の間隔でCD上のオーデ
ィオデータ間に分散される。分散されたサブコードは、
いくつかのパックにグループ分けするためにアセンブル
される。図8Aに示されているように、それぞれのサブコ
ードパックは、24の6ビットバイトを有している。よっ
て、各サブコードバイトのフィールド長(6ビット)
は、データバイトのフィールド長(8ビット)とは異な
る。
図8Aに示されているように、1個のサブコードパック
は、「Q」部と「P」部とに分割されるように概念づけ
られる。各サブコードパックの「Q」部は、最初の4つ
の6ビットシンボル(例えば、バイト0〜3)からな
り、各サブコードの「P」部は、残りのシンボル(例え
ば、バイト4〜23)からなる。本発明を理解するために
は必要ではないが、サブコードは、トラックが切り替え
られる時には、(そのトラックがオーディオデータであ
ろうとなかろうと)、ワークの始端からの時間の長さな
どの表示を与えるものとして用いられることも、ついで
なので言及しておく。ある種のアプリケーションでは、
音声出力(例えば、カラオケ)に付随する視覚的表示情
報としてのグラフィックス情報が、そのようなサブコー
ド内に格納されうる。
当初は音声上の目的に用いられたものではあったが、
最近数年間では、CDは、コンピュータデータの記録にも
用いられてきている。コンピュータデータの見地からす
ると、CDは、複数の2352の8ビットバイトを含むように
フォーマットされる。CD上に記録されるコンピュータデ
ータには、サブコードは用いられない。
CDが再生される時、フレーム(音声用)またはセクタ
(コンピュータデータ用)の関連部分は、バッファ(例
えばRAM)内にロードされる。バッファは、それぞれの
フレーム/セクタについて2064バイトのデータを保持す
る。
すべてのCDデータは、CIRC ECCによって最も低いレベ
ルで保護される。コンピュータデータの記録/再生に関
して、ある種のCDシステムは、レイヤードECCと呼ばれ
る誤り訂正能力をさらに提供する。誤り訂正をおこなう
ことを目的として、それぞれのフレーム/セクタは、バ
ッファに格納されている時には、2つのブロックまたは
インタリーブを含んでいるものとして概念づけられる。
図8Bは、フレーム/セクタに対する偶数ブロック/イン
タリーブと、奇数ブロック/インタリーブとの両方を示
している。フレーム/セクタのこれら2つのブロック
は、積コードのスキームを用いる誤り訂正コードにより
処理される。それぞれのブロックにおいて、1カラムの
バイトは、1個のコードワードを含んでいる。例えば、
偶数ブロックでは、バイト0000、0043、0086、…0989
は、カラムコードワードCWeven0のデータ部を含んでお
り、バイト0001、0044、0087、…0990は、カラムコード
ワードCWeven1のデータ部を含んでいる。以下も同様で
ある。バイト1032および1075は、カラムコードワードCW
even0のECC部を含んでおり、バイト1033および1076は、
カラムコードワードCWeven1のECC部を含んでいる。以下
も同様である。奇数のブロックについても、同様のコー
ドワードCWodd0、CWodd1等が存在している。よって、そ
れぞれのブロックには、43個のカラムコードワードがあ
ることになる。それぞれのブロックの最後の2バイト
(例えば、バイト1030even、1030odd、1031even、1031
odd)は、CRC/EDC情報を含んでいるので、EDCブロック
あるいはCRCブロックとして知られている。ある種のフ
ォーマットでは、CRCバイトは、必ずしもブロックのデ
ータ部の最後のバイトではない。例えば、図2のブロッ
クを完全には満たしていないデータフォーマットでは、
データの末尾に続いてCRCバイトを配置し、それらのブ
ロックが満たされるまで、そのCRCバイトに続けて0の
バイトを埋め込むこともできる。
また、それぞれのブロックにおいて、バイトの対角線
は、対角線コードワードを含んでいる。例えば、図8Bの
偶数ブロックを参照すると、第1の対角線コードワード
は、バイト0000、0044、0088、…1056、1100、0026、…
0686、0730、1118、1144を含んでいる。よって、それぞ
れのブロックには、42個のカラムコードワードと、26個
の対角線コードワードとがあることになる。
図8Bに図示されているものは、バッファにおけるデー
タがコードワード順に格納されるわけではないという事
実を不明瞭にすべきではない。例えば、バッファにおけ
るセクタは、以下の順で格納されているバイトを有して
いる。偶数ブロックのバイト0000(すなわち、バイト00
00even)、奇数ブロックからのバイト0000(すなわち、
バイト0000odd)、バイト0001even、バイト0001odd、お
よび以下、バイト1031even、1031oddまで同様に続くバ
イトである。
コンピュータデータが、CDから、誤り訂正能力を有す
るシステムによって受け取られた時、CIRC ECCは、レイ
ヤードECCにより用いられることになる誤りポインタを
生成しうる。このようなCDドライブ用の誤り訂正システ
ムでは、それぞれのコードワードにつき最大2つのポイ
ンタが与えられる。それぞれのポインタは、通常、1ビ
ットの情報である。典型的には、セクタに対するポイン
タ情報は、バッファ中で、それに対応づけられたセクタ
の前または後に格納される。そのようにして、ポインタ
は、どのコードワードのどのバイトを指しているかが判
断されうる。
よって、コンピュータデータの用途では、CDシステム
用のバッファは、複数のセクタを格納してきており、ポ
インタ情報も、それぞれのセクタについてその中に格納
されてきた。同様に、音声上の用途でも、CDシステムの
バッファは、複数のサブコードパックと共に、複数のフ
レームをその中に格納してきた。
要旨 誤り訂正システムは、2つのモードで動作する。すな
わち、(1)ポインタを有するコンピュータデータを訂
正するための2フェーズ式モード、および(2)オーデ
ィオディジタルデータと共に含まれるサブコードパック
を訂正するためのサブコードモードである。ポインタを
含むコンピュータデータを訂正するための2フェーズ式
モードのあいだ、発生器、計算器および訂正器はそれぞ
れ、2つのフェーズのあいだに動作される。第1フェー
ズ(PTR_TIMEとして知られている)のあいだ、 (a)発生器は、最も最近のコードワードCWnに対する
何らかの1ビットのバッファで得られたポインタを用い
て、最も最近のコードワードに対する1つまたは2つの
マルチビットのバッファで得られたポインタ(αL0
P0、αL1=P1)を発生し、 (b)計算器は、以前のコードワードCWn-1に対して発
生器により発生されたシンドローム(S0、S1)を用い
て、以前のコードワードに対する1つまたは2つの誤り
パターン(E0、E1)を発生し、また (c)訂正部は、以前のコードワードCWn-1に対するポ
インタ値(αL0=P0、αL1=P1)を計算ユニットのため
に保持する。
第2フェーズ(DATA_TIMEとして示される)のあい
だ、 (a)発生器は、最も最近のコードワードCWnに対する
シンドローム(S0、S1)を発生し、 (b)計算器は、最も最近のコードワードCWnに対して
供給された何らかのマルチビットのバッファで得られた
ポインタ(つまり、P0、P1)に対して数学的演算をおこ
ない、また (c)訂正ユニットは、以前のコードワードCWn-1を訂
正する。
これら2つのフェーズのそれぞれにおいて、発生部、
計算部および訂正部は、全システムが次のフェーズに進
むことができるまで、最後に完了すべきセクションを待
つ。
よって本システムは、3つの同時のステージ/動作を
必要とする従来のパイプライン技法とは異なり、それぞ
れのステージ/動作は、異なる入力を用いており、一般
に入力をあるステージから次のステージへと渡す。本シ
ステムの構成セクションは、それぞれ、2つの異なる動
作を時間分割方式で取り扱う。さらにそれぞれのセクシ
ョンは、動作のフェーズに依存して、2つの機能をおこ
なう。動作のあるフェーズが終わると、それぞれのセク
ションは、情報を他のセクションに渡すが、その後、次
のフェーズにおいては同じ動作を繰り返さない。そうで
はなく、以上に要約し、以下に詳述するように、後続す
るフェーズのあいだ、それぞれのセクションは、異なる
動作を実行する。
サブコードモードでは、この誤り訂正システムは、サ
ブコードパックを用いて訂正をおこなうと試みる。サブ
コードを訂正するとき、このシステムは、まずパックに
対するシンドロームを発生する。具体的には、パックの
第1部分つまり「Q」部分にわたってシンドロームS0
よびS1を発生し、パックの第2部分つまり「P」部分に
わたってシンドロームS0およびS1を発生し、かつ、全パ
ックにわたってシンドロームS2およびS3を発生する。シ
ンドロームの発生の後、システムコントローラはシンド
ロームを解析し、その解析に基づいて、異なる訂正戦略
を適用する。第1のケースでは、誤りは、パックのP部
分には起こるが、パックのQ部分には起こらないので、
二重誤り検出戦略[DED]が実行される。第2のケース
では、誤りは、パックのP部分およびQ部分の両方に起
こるので、パックの両部分、および、それに引き続いて
訂正されたコードワードにわたって再び発生された、さ
らなるチェックとしてのシンドロームを対象として、単
一誤り検出戦略[SED]が実行される。第3のケースで
は、誤りは、パックのQ部分には起こるが、パックのP
部分には起こらないので、四重誤り検出戦略[QD]が実
行される。
コンピュータデータおよびサブコードのフィールド長
が異なることを考慮に入れれば、このシンドローム発生
器は、異なるフィードバックパス(例えば、フィードバ
ック乗算器)を選択するように、選択的に構成可能であ
るという利点を有する。
図面の簡単な説明 本発明の上記目的、特徴および利点、ならびにその他
の目的、特徴および利点は、添付の図面に図示されてい
る好ましい実施形態の、以下に述べるより詳細な説明か
ら明らかになるであろう。なお、全図面を通して、参照
番号は同一の部分を指すものとする。また、図面は必ず
しも実際の縮尺に則ったものではなく、本発明の原理を
図示するために強調されていることもある。
図1は、本発明のある実施形態によるCD ROM誤り訂正
システムの模式的ブロック図である。
図2は、図1のCD ROM誤り訂正システム用の発生器部
分の模式的ブロック図である。
図2Aは、図2の発生器回路の一部の回路インプリメン
テーションを示す模式的ブロック図である。
図3は、図3Aと図3Bとの間の関係を示す模式的ブロッ
ク図であり、図3Aおよび図3Bは、図1のCD ROM誤り訂正
システム用の計算部を包括的に図示する模式的ブロック
図である。
図4は、図3Bの計算部に含まれるたたみ込み回路の模
式図である。
図5は、図3Aおよび図3Bの計算部に含まれる基底変換
回路の模式図である。
図6は、図1のCD ROM誤り訂正システム用の訂正器部
の模式的ブロック図である。
図7は、図1のCD ROM誤り訂正システム用のEDCチェ
ッカ部の模式図である。
図8Aは、従来のサブコードパックのフォーマットを図
示している。
図8Bは、バッファに格納されているコードワードの2
つのブロックに分けられ、インタリーブされた概念づけ
を図示している。
図9は、図1のCD ROM誤り訂正システムの2フェーズ
方式(ポインタを含むコンピュータデータ)操作を示す
チャートである。
図10は、ポインタの処理に伴うステップを概略的に図
示するフローチャートである。
図11は、値をα基底表現からβ基底表現に変換する際
に本発明の計算回路により実行されるステップを図示す
るフローチャートである。
図12は、バッファポインタ処理のケース2に関連して
本発明の計算回路により実行される各ステップを図示す
るフローチャートである。
図13は、誤りパターン発生の第1のケースに伴う基本
的ステップを図示するフローチャートである。
図14は、誤りパターン発生の第2のケースに伴う基本
的ステップを図示するフローチャートである。
図15は、サブコードを処理する時に図1のCD ROM誤り
訂正システムにより実行されるステップを図示するフロ
ーチャートであり、図15と、図15A、図15Bおよび図15C
との間の関係もさらに示している。
図15Aは、サブコード用のDOUBLE ERROR DETECTINO
(二重誤り検出、DED)演算に伴うステップを示すフロ
ーチャートである。
図15Bは、サブコード用のSINGLE ERROR DETECTION
(単一誤り検出、SED)演算に伴うステップを示すフロ
ーチャートである。
図15Cは、QUADRUPLE ERASURE COREECTION(四重消去
訂正)演算に伴うステップを示すフローチャートであ
る。
図面の詳細な説明 図1は、システムコントローラ10を介してバッファ
(破線15によって概略的に示される)と通信するCD ROM
誤り訂正システムを示す。バッファは、CD ROMシステム
が現在、コンピュータデータを処理するために動作して
いるのか、あるいはディジタルオーディオデータを処理
するために動作しているのかによって、その中に複数の
セクタまたは複数のフレームのいずれかを格納してい
る。コンピュータデータを処理するときには、バッファ
は、上述したように、その中にポインタビットも格納し
ている。ディジタルオーディオデータを処理するときに
は、バッファは、その中に分散されたサブコードをも
ち、このサブコードは、図8Aに示し、上述したようにサ
ブコードパックをつくりだす。インタリーブの枝法は、
特にここに示されている誤り訂正スキームにおいて実現
され、その結果データの1セクタは、図8Bに示されるよ
うに、コードワードの2つのブロック、例えば偶数ブロ
ックと奇数ブロックとを含むものとして概念化される。
データのバイトは、バッファとコントローラ10との間を
データバスBDを介して転送され、制御情報を含むその他
の情報は、制御バスBBUS上でやりとりされる。
図1のCD ROM誤り訂正システムは、さらに発生器、つ
まり発生部20、計算器、つまり計算部30、訂正器、つま
り訂正部60、およびEDCチェッカ部70を含む。図1のCD
ROM誤り訂正システムの動作の全体は、コントローラ10
により、例えばバスCBUS上に運ばれる制御信号およびそ
の他の信号を用いることによって管理される。これらの
制御信号およびその他の信号は、システムの構成部分に
ついてより具体的に示された他の図面に示されている。
構成:発生器 発生器20は、SYNGENとしても知られており、図2によ
り詳細に示されている。以下でわかるように、コンピュ
ータデータ/ポインタモードのあいだは、発生器20は、
DATA_TIMEフェーズのあいだにコードワード用のシンド
ロームを発生し、PTR_TIMEフェーズのあいだにmビット
の誤りポインタ値を発生する。サブコードモードのあい
だは、発生器20は、サブコード用のシンドロームを発生
する。
発生器20は、それ自身の部分のコントローラ、すなわ
ち、基本的にはCBUSの中に含まれて導線でそれが結ばれ
ているシステムコントローラ10の管理下で動作する、発
生器コントローラ200を有する。発生器20は、さらに、
ゲートチップ202、2つの加算器204、具体的には加算器
204(0)および204(1)、2つの直接のレジスタ20
6、具体的にはレジスタ206(0)および206(1)、2
つの最終的なレジスタ208、具体的にはレジスタ208
(0)および208(1)、ならびに2つの万能フィード
バック回路210、具体的にはフィードバック回路210
(0)および210(1)を含む。加えて、発生器20は、
2つのORゲート212、具体的にはORゲート212(0)およ
び212(1)を含む。
バッファからのデータは、システムコントローラ10か
ら発生器20へとパラレルバスGDAT上を伝送され、ゲート
202にそのピンDIにおいて与えられる。図示されている
システムのインタリーブされた動作を考えれば、2バイ
トのデータは、それぞれの伝送のあいだに連続的に発生
器20に与えられる。具体的には、それぞれの伝送ごと
に、まず偶数インタリーブからの1バイトのデータがゲ
ート202に与えられた後、奇数インタリーブからの1バ
イトのデータが続く。図2に示されるように、発生器20
は、実際には2つのサブ発生器、つまり、加算器204
(0)、レジスタ206(0)、レジスタ208(0)、およ
びフィードバック回路210(0)を備えているS0シンド
ロームサブ発生器と、加算器204(1)、レジスタ206
(1)、レジスタ208(1)、およびフィードバック回
路210(1)を備えているS1シンドロームサブ発生器と
を備えている。コンピュータデータ/ポインタモードの
あいだ、例えばゲート202は、偶数インタリーブからの
バイトを偶数サブ発生器へと、奇数インタリーブからの
バイトを奇数サブ発生器へと向ける。
それぞれのサブ発生器は、図2Aにおいて機能的に交互
に表される。イネーブルライン214上に与えられた信号
は、ゲート202が加算器204に1バイトを与えられるよう
にする。与えられたバイトは、フィードバック回路210
を通してゲートされた信号と加えられる。加算の結果
は、まず直後のレジスタ206に格納され、それから最終
的なレジスタ208にシフトされる。よって最終的なレジ
スタ208の内容は、フィードバック回路210を介して加算
器204へとフィードバックされうる。
図2Aは、発生器20、特にフィードバック回路210の選
択的な構成可能性を示す。例えば、フィードバック回路
210は、3つの交互のフィードバックライン、具体的に
はフィードバックライン216、218および220を含むもの
して示されている。フィードバックライン216および218
は、それらに設けられている乗算器226および228を有し
ており、いっぽうフィードバックライン220は、乗算器
を有しない。乗算器226は、例示的にアルファsc(サブ
コードが処理されているときに用いられる)として示さ
れているフィードバック値によって乗算をおこない、乗
算器228は、例示的にアルファ(サブコードが処理され
ていないときに用いられる)として示されているフィー
ドバック値によって乗算をおこなう。乗算器226および2
28の出力端子は、乗算器選択スイッチ(マルチプレク
サ)230のそれぞれの交互の入力端子に接続されてい
る。乗算器選択スイッチ230の出力端子は、乗算イネー
ブルスイッチ(乗算器)240の第1入力端子に接続され
ており、スイッチ240の第2入力端子は、フィードバッ
クライン220に接続されている。最終的なレジスタ208中
に格納されている値がフィードバック乗算器によって乗
算されるときには、スイッチ240に与えられた信号ENA_M
ULは、スイッチ230に与えられた信号ENA_SCに応じて、
それを通して、ライン216上のフィードバック信号(乗
算器226によって乗算された)か、またはライン218上の
フィードバック信号(乗算器228によって乗算された)
かをゲートする。
後でわかるように、シンドロームを発生するために発
生器20が用いられるとき(動作のDATA_TIMEフェーズの
あいだ)、レジスタ208(0)は、偶数インタリーブか
らのコードワードに対して発生された第1シンドローム
(S0)を格納するために用いられ、レジスタ206(0)
は、奇数インタリーブからのコードワードに対して発生
された第1シンドローム(S0)を格納するために用いら
れ、レジスタ208(1)は、偶数インタリーブからのコ
ードワードに対する第2シンドローム(S1)を格納する
ために用いられ、レジスタ206(1)は、奇数インタリ
ーブからのコードワードに対する第2シンドローム(S
1)を格納するために用いられる。ポインタを発生する
ために発生器20が用いられるとき(動作のPTR_TIMEフェ
ーズのあいだ)、偶数インタリーブコードワードについ
ての第1ポインタは、レジスタ208(0)に格納され、
偶数インタリーブコードワードについての第2ポインタ
は、レジスタ208(1)に格納され、奇数インタリーブ
コードワードについての第1ポインタは、レジスタ206
(0)に格納され、奇数インタリーブコードワードにつ
いての第2ポインタは、レジスタ206(1)に格納され
うる。サブコードについてのシンドロームを発生するた
めに発生器20が用いられるとき、サブコードシンドロー
ムS0、S1、S2およびS3は、それぞれレジスタ208
(0)、208(1)、206(0)および206(1)に格納
される。
発生器のレジスタ208(0)および208(1)に格納さ
れる値は、計算部30に転送可能である。レジスタ208
(0)および208(1)からの転送は、それぞれバスS
0、S1上において起こり[図2に示すように]、これら
はそれぞれバスS01、S11ともラベルが付けられている
[図1に示すように]。
構成:計算器 計算器30は、前/後処理サブセクション(図3Aに示さ
れる)および実行サブセクション(図3Bに示される)を
ともに含む。前/後処理サブセクションと、実行サブセ
クションとが組み合わされて、加算、乗算、逆演算、基
底変換および内積形成を含む数多くのシリアル演算をお
こなう多目的計算回路を構成する。
計算器30の前処理サブセクションは、図3Aの上半分に
示され、一方、後処理サブセクションは、図3Aの下半分
に示されている。前処理サブセクションは、2つのマル
チビット記憶レジスタ300、具体的には第1マルチビッ
ト記憶レジスタ300(0)と、第2マルチビット記憶レ
ジスタ300(1)とを含む。それぞれの記憶レジスタ300
には、中間記憶レジスタ302が関連づけられている。す
なわち、記憶レジスタ300(0)は、中間レジスタ302
(0)から入力を受け取るように接続されており、記憶
レジスタ300(1)は、中間レジスタ302(1)から入力
を受け取るように接続されている。それぞれの中間レジ
スタ302へのデータのエントリは、スイッチ(例えばマ
ルチプレクサ)304によって制御されている。マルチプ
レクサ304(0)は、レジスタ208(0)(図3Aにおいて
S0として、また図1においてS01として示されるバス上
に与えられる)からの出力、またはレジスタ300(0)
の出力端子からの出力のいずれかを選択するように用い
られる。同様に、マルチプレクサ304(1)は、レジス
タ208(1)(図3AにおいてS1として、また図1におい
てS11として示されるバス上に与えられる)からの出
力、またはレジスタ300(1)の出力端子からの出力の
いずれかを選択するように用いられる。発生器20から計
算器30へのデータの転送、およびマルチプレクサ304、
中間レジスタ302を通しての記憶レジスタ300へのデータ
の転送は、パラレルにおこなわれる。
記憶レジスタ300(0)および300(1)、ならびに第
2マルチビット記憶レジスタは、8ビットシリアルシフ
トレジスタである。図5について後述されるように、基
底変換演算において特にユニークは役割をはたす記憶レ
ジスタ300(1)は、双方向のシフトレジスタである。
レジスタ300における値は、パラレルに読み出されてそ
れぞれの乗算器304に与えられるか、または後述するよ
うにシリアルに図3Bの実行サブセクションへとシフトア
ウトされる。
計算器30の前処理サブセクションはさらに、図3Aに示
されているように、レジスタフィーディングスイッチ、
つまりマルチプレクサ310(0)および310(1)を備え
ており、これらは、交互の値をそれぞれレジスタ300
(0)および300(1)へシリアルにフィーディングす
ることを可能にする(例えば中間レジスタ302からの値
以外の値)。
加えて、計算器30の前処理サブセクションは、和回路
320を含む。和回路は、複数のANDゲートおよびXORゲー
ト、具体的にはANDゲート322、324および326、ならびに
XORゲート328および330を含む。ANDゲート322が制御信
号SO_TO_SUMを受け取るとき、ゲート322は、シリアルに
レジスタ300(0)からのビットをXORゲート330の第1
端子に通す。対応する制御信号に応じて、内積値IP(図
3Bの実行サブセクションにおいて説明される)またはレ
ジスタ300(1)のシリアルに与えられる内容がXORゲー
ト330の第2端子に与えられる。XORゲート330は、それ
に与えられた2つの値を加えて、シリアル和S_SUMをつ
くる。この点で、シリアル値IPおよびそれに関連づけら
れた制御信号(IP_TO−SUM)は、ANDゲート324に与えら
れ、いっぽうレジスタ300(1)からのシリアル値およ
びそれに関連づけられた制御信号(S1_TO_SUM)は、AND
ゲート326に与えられる。ANDゲート324(IP値)、326
(レジスタ300(1)の内容)によって通された値はど
れでも、シリアル和S_SUMをつくるために、XORゲート32
8を介して和をとる目的でXORゲート320に与えられる。
上述のようにレジスタ300(0)は、レジスタフィー
ディングマルチプレクサ310(0)にシリアルに与えら
れる値によって潜在的にフィードされる。特に2つのフ
ィーディング値は、レジスタ300(0)それ自身の内容
(S0(0))およびいま説明したシリアル和S_SUMであ
る。同様にレジスタ300(1)は、レジスタフィーディ
ングマルチプレクサ310(1)にシリアルに与えられる
値によって潜在的にフィードされる。レジスタ300
(1)についての2つのフィーディング値は、XORゲー
ト328の出力(これはシリアル値IPまたはレジスタ300
(1)それ自身のシリアルの内容のいずれかでありう
る)またはレジスタR1のシリアルに出力された内容(後
で図3Bの実行サブセクションにおいて説明される)を含
む。
計算器30の前処理サブセクションは、またサブコード
収容部350を含む。サブコード部350は、最終的にシステ
ムコントローラ10から受け取られるサブコードを示す信
号(すなわちENA_SUB)を反転して計算器30の実行サブ
セクションに与えられる信号ENA_L_ECCをつくるインバ
ータ352を含む。サブコード部350は、サブコードが処理
されるときには、レジスタ300(1)からのビット5
を、またそうでないときにはレジスタ300(1)からの
ビット7を出力ラインS1_ALPHAへとシリアルにゲートす
る長さ選択スイッチつまりマルチプレクサ354をさらに
含む。出力ラインS1_ALPHAは、以下で説明される計算器
30の実行サブセクションに与えられる。
計算器30の後処理サブセクションは、比較回路360を
含む。パラレル信号転送をともなって動作する比較回路
360は、2つの8ビット加算器、具体的には加算器362お
よび364、ORゲート372および374、およびインバータ380
を含む。加算器362は、レジスタ300(1)の内容および
図3Bの実行回路からの値(具体的にはレジスタの第3バ
ンクからの値)を加える。加算器364は、加算器362の出
力を図3Bの実行回路からの他の値(具体的にはレジスタ
の第1バンクからの値)に加える。加算器362の出力端
子は、ORゲート372に接続されており、それによりORゲ
ート372が、加算器362への2つの入力値が等しいかどう
かを示すものを(信号SEDBとして)出力する。同様に加
算器364の出力端子は、ORゲート374に接続されており、
これは加算器364への2つの入力値が等しいときに反転
された信号ROOTを出力する。
計算器30の実行サブセクションは、図3Bに概略的に示
されており、その一部は、図4にさらに詳細に示されて
いる。図3Bは、第1シリアルレジスタ400、第2シリア
ルレジスタ401、および第3シリアルレジスタ402を示
す。図3Bはまた、内積回路404、ゲート回路426、および
加算器回路428も示す。レジスタ400、401、402、内積回
路404、ゲート回路426、および加算器回路428は、組み
合わせられると、Berlekamp−Massey型のたたみ込み回
路を構成するが、バイト指向よりというはむしろビット
指向である。特に、内積回路400は、第1レジスタ400の
内容および第2レジスタ401の内容について、シリアル
内積値(IP)を発生する。加算器回路428は、例えば内
積回路404によって発生された内積および第3レジスタ4
01の内容を用いて、第2レジスタ401の内容をアップデ
ートする。
図3Bのたたみ込み回路の詳細は、図4および1993年11
月4日に出願された「有限フィールドインバータ(“FI
NITE FIELD INVERTER")」と題され、ここでも参考とし
て援用されるZookの米国特許出願第08/147,758号を参照
すれば理解されるものである。例えば、図3Bは、第1レ
ジスタ400がレジスタ4000〜4007のバンクであり、第2
レジスタ401がレジスタ4010〜4017のバンクであり、第
3レジスタ402がレジスタ4020〜4027のバンクであるこ
とを示している。ここで用いられるように、「レジスタ
のバンク」という語は、ビットがシリアルにシフトされ
てたたみ込み演算に利用されうる記憶デバイスをどれで
もさす。
図4は、第1レジスタ4000〜4007のバンク、第2レジ
スタ4010〜4017のバンク、第3または中間レジスタ4021
〜4027のバンクを含むビット指向のたたみ込み回路の詳
細を示す。図4の回路のバイナリ指向を考えれば、レジ
スタ400、401および402は、それぞれ(1ビットの)フ
リップフロップであり、したがってここではフリップフ
ロップとも呼ばれる。フリップフロップ400の出力ピン
は、その内容が右にシフトされるように接続されている
(例えばフリップフロップ4007からの出力がフリップフ
ロップ4006に、フリップフロップ4006からの出力がフリ
ッフプロップ4005に、など)。従来のBerlekamp−Masse
y回路と同様に、フリップフロップ400および401の対に
なったもの(同じ数字の添字)の出力ピンは、ともにAN
Dがとられる(ANDゲート420において)。ANDゲート420
の出力ピンからの出力は、加算器4220〜4226(GF(2)
ではXORゲートである)によってともに加えられること
によって、現在の不一致dn(加算器4220から出力され
る)に類似する項をつくる。
図4のたたみ込み回路は、複数のANDゲート4260〜426
6をさらに含んでおり、それぞれのANDゲート426は、そ
の出力ピンが関連する加算器428の第1入力に接続され
ている(例えばANDゲート4260の出力ピンは、加算器428
0の第1入力ピンに接続されており、ANDゲート4261の出
力ピンは、加算器4281の第1入力ピンに接続されてい
る、など)。それぞれのANDゲート426の第2入力ピン
は、現在の不一致dn(すなわち内積値IP)を加算器4220
から受け取るように接続されている。それぞれの加算器
428の第2入力ピンは、その対応する(同じ添字が付け
られた)フリップフロップ401の出力ピンに接続されて
いる。それぞれの加算器428の出力ピンは、上述のよう
に、対応する(同じ添字が付けられた)3入力MUX424の
第3入力ピンに接続されている。それぞれのANDゲート4
26の第2入力ピンは、左隣の中間フリップフロップ402
の出力ピンに接続されている。
3入力のMUX430が、それぞれの中間フリップフロップ
402について設けられている。MUX4301〜4306は、初期化
値「0」を受け取るように接続された第1入力ピンを有
し、MUX4307は、それぞれ初期化値「1」および「0」
を受け取るように接続された第1および第2入力ピンを
有する。MUX4301〜4306の第2入力ピンは、左隣の中間
レジスタ402(1ずつデクリメントされた添字をもつレ
ジスタ402)からの出力を受け取るように接続されてい
る。MUX4301〜4307の第3入力ピンは、同じ添字の付け
られたAフリップフロップ401からの出力を受け取るよ
うに接続されている。
それぞれのAフリップフロップ401は、右隣のフリッ
プフロップ401に(上述のように適切なMUX424の第2入
力ピンを介して)、ANDゲート420に(不一致dnを発生す
るのに用いるために)、かつ同じ添字が付けられた中間
フリップフロップ402に(同じ添字が付けられたMUX430
を介して)接続された出力ピンを有する。
よって図4のたたみ込み回路は、Bレジスタ(フリッ
プフロップ)400のバンクB400、Aレジスタ(フリップ
フロップ)401のバンクB401、および中間レジスタ(フ
リップフロップ)402のバンクB402を含む。ここで用い
られるように、フリップフロップは1ビットのレジスタ
ではあるが、1ビットの容量より大きい容量をもつレジ
スタも本発明の他の局面が実現される限り利用されうる
ことに注意されたい。もしバンクB400およびB401のフリ
ップフロップの個数が「m」(図示されている実施の形
態ではm=8)であるなら、バンクB402のフリップフロ
ップの個数はm−1である。
図4に示される回路について、αは、t=0をつく
るために選択され、これにより図4の回路によっておこ
なわれる逆転動作のためのα-t乗算器が1による乗算に
なる(これにより図4のα-t乗算器の説明を不要にす
る)。
図3Bに示されるように、レジスタ400、401および402
はそれぞれ、シリアル入力端子を有している。これによ
りマルチビット値は、シリアルにそこにロードされう
る。さらにそれぞれレジスタ400、401、402には、その
シリアル入力端子を接続するためのローディングスイッ
チ(例えば1つ以上のマルチプレクサ)が関連づけられ
ている。それによって、複数のシリアルマルチビット値
の選択された1つがそこにロードされうる。具体的に
は、第1レジスタ400は、第1レジスタローディングス
イッチ440を有し、第2レジスタ401は、第2レジスタロ
ーディングスイッチ441を有し、第3レジスタ402は、第
3レジスタローディングスイッチ442を有する。より詳
細には、ローディングスイッチ440は、マルチプレクサ4
40Aおよび440Bを備えており、ローディングスイッチ441
は、マルチプレクサであり、ローディングスイッチ442
は、マルチプレクサ443、444、XORゲート445、およびAN
Dゲート446を備えている。以下により詳細に説明するよ
うに、それぞれのローディングスイッチは、選択的に選
択可能な入力ラインのセットに説明されている。
第1レジスタ400および第3レジスタ402はともに、そ
れぞれのローディングスイッチ440および442の選択に応
じてオプションとして利用される関連づけられたフィー
ドバック回路をもつ。具体的には、第1レジスタ400
は、フィードバック回路450を有し、第3レジスタ402
は、フィードバック回路452を有する。それぞれのフィ
ードバック回路450、452は、それぞれのレジスタ400、4
02の内容をフィードバック乗算器によって乗算するため
に、それぞれに関連づけられたレジスタ400、402におけ
る選択されたビットに接続されている。
後で説明されるように、フィードバック回路450、452
についてのフィードバック乗算器の値は、選択的に変更
可能である。具体的にはフィードバック乗算器の値は、
フィードバック乗算器が接続されているレジスタの選択
を変えることによって、選択的に変更可能である。例え
ば、フィードバック乗算器の値は、関連づけられたレジ
スタ400、402に導入されている値のフィールド長に応じ
て(6ビットのサブコードバイトまたは8ビットのバイ
トのどちらが処理されているかに応じて)選択的に変更
可能である。
フィードバック回路450は、XORゲート460、XORゲート
470、ANDゲート480、XORゲート490、およびANDゲート49
4を備えている。XORゲート460は、レジスタ400のビット
2および3に接続された入力端子を有し、XORゲート470
は、レジスタ400のビット0および4に接続された入力
端子を有する。これらの接続は、本実施の形態で利用さ
れる特定のフィールド生成多項式に応じている。異なる
フィールド生成多項式を利用すれば、異なる乗算器を伴
うので、XORゲート460および470について異なる接続を
伴うことは理解されたい。XORゲート470の出力は、もし
信号ENA_L_ECCがハイなら(ENA_L_ECCは、前処理サブセ
クション[図3Aを参照]のサブコード収容部350から生
じ、サブコードが処理されていないときにはハイであ
る)ANDゲート480の入力端子に与えられ、さらにXORゲ
ート490に与えられる。そうでなければ、XORゲート460
の出力だけがXORゲート490に通され、フィードバック乗
算器として用いられる。フィードバックされた乗算され
た値は、XORゲート490からMUX440Aの複数の入力端子の
1つに与えられる。
なお、基底変換に関連して、ついでにより詳細に言え
ば、XORゲート490が、どのフィードバック信号が選択さ
れ(4ビット[ECC]接続からか、または2ビット[サ
ブコード]接続からのどちらかから生じる)でも、それ
をレジスタ300(1)から得られた値と加える加算器と
してふるまうことには、注意されたい。レジスタ300
(1)から得られた値は、サブコードが処理されている
ときは、6ビット値であり(MUX354および信号S1_ALPHA
として転送される)、そうでなければ8ビット値であ
る。
同様に、フィードバック回路452は、XORゲート462、X
ORゲート472、ANDゲート482、およびXORゲート492を備
えている。XORゲート462は、レジスタ402のビット2お
よび3に接続された入力端子を有し、XORゲート472は、
レジスタ402のビット0および4に接続された入力端子
を有する。フィードバック回路450に関連して上述した
ように、これらの接続は本実施の形態における特定のフ
ィールド生成多項式に対応しており、異なるフィールド
生成多項式が利用されれば、異なる乗算器を伴うので、
XORゲート462および472についても異なる接続を伴うこ
とは理解されたい。XORゲート472の出力は、ANDゲート4
82の入力端子に与えられており、さらにもし信号ENA_L_
ECCが上で説明したようにハイであるなら、XORゲート49
2に与えられる。そうでなければ、フィードバック乗算
器として用いるために、XORゲート462の出力だけがXOR
ゲート492に通される。フィードバックされて乗算され
た値は、XORゲート492からMUX443の複数の入力端子の1
つに与えられる。
フィードバック回路450からの出力は、第1レジスタ
ローディングスイッチ440に与えられた選択可能な入力
の1つにすぎない。他の選択可能なシリアル入力は、定
数値(ラインR1_CONST_IN上に与えられる)、和回路320
(図3A参照)によって出力されたS_SUM値、および訂正
部60から得られたP_SUM値を含む。同様に、第3レジス
タローディングスイッチ442は、フィードバック回路452
によってつくられた信号、定数値(ラインR3_CONST_IN
上をMUX444および443を介して与えられる)、内積値IP
(XORゲート445、MUX444、およびMUX443を介して与えら
れる)、およびレジスタ402それ自身の内容(ラインR3
(0)上を、ANDゲート446、XORゲート445、ならびにMU
X444および443を介して与えられる)を含む、複数の交
互のシリアル入力を受け取るように接続される。
第2レジスタローディングスイッチ441は、それが選
択する複数の交互のシリアル入力を受け取るようにも接
続されている。具体的にはローディングスイッチ441
は、定数値(ラインR2_CONST_IN上に与えられる)、記
憶レジスタ300(0)または300(1)の内容[図3A参
照]、または訂正部60から得られた値P_SUMの間で選択
する。よって第2バンクローディングスイッチ441が第
2バンクシリアル入力ラインのセットを備えている。複
数の入力ラインに接続されており、ラインの1つは、第
1マルチビット記憶レジスタ300(0)に接続されてお
り、ラインの第2は、第2記憶レジスタ300(1)に接
続されていることがわかる。
図3Aに戻ると、第2マルチビット記憶レジスタ300
(1)は、選択的に接続されて、そこに第1レジスタ40
0(ラインR1(0)を介してMUX310(1)に接続され
る)からの値をロードすることがこんどは理解されるだ
ろう。さらに和回路320の入力端子は、第1記憶レジス
タ300(0)に[ラインS0(0)を介して]、第2記憶
レジスタ300(1)に[ラインS1(0)を介して]、か
つ内積回路404に[ラインIPを介して]接続されること
がわかる。さらに和回路320の出力端子は、第1記憶レ
ジスタ300(0)[MUX310(0)を介して]および第2
記憶レジスタ300(1)[MUX310(1)を介して]のそ
れぞれに選択的に接続される。
構成:基底変換器 図5は、計算器30に組み込まれる基底変換器回路をよ
り簡単で、かつ分離されたかたちで示す。具体的には、
基底変換器は、上述の双方向性シフトレジスタ300
(1)、第1レジスタ400、加算器(XORゲート490)、
フィードバック回路(加算器496を含むように概略的に
示される)、および変換制御ANDゲート498を含む。図5
において、フィードバック加算器496は、フィードバッ
ク乗算器(図3BにおけるXORゲート460および470のよう
な)を表す。変換制御ANDゲート498は、それに与えられ
る信号CONVERTがハイのときに、基底変換を許す。
よって、図5の回路は、入力基底表現からのmビット
入力値を出力基底表現に変換する双方向変換ユニットを
形成する。入力基底表現および出力基底表現の一方は、
アルファ基底表現であり、入力基底表現および出力基底
表現の他方は、ベータ基底表現である。β基底表現の体
の要素αは、そこの最高位ビットが1であり、その残
りのビットがゼロである(すなわち1000 0000)である
ように選択される。
図5の変換ユニットにおいて、双方向シフトレジスタ
300(1)は、入力基底表現における入力値を格納し、
入力基底表現に応じて予め選択されたビット順で入力値
をシリアルに出力する入力レジスタとして機能する。レ
ジスタ400は、変換メモリとしてはたらき、複数のビッ
トを格納する複数のビット位置を備えている。フィード
バック乗算器496は、変換メモリ(すなわちレジスタ40
0)の中の現在の値をフィードバック定数により乗算す
ることによって、フィードバックファクタを生成する。
加算器490は、m回の加算演算のそれぞれのあいだ、
(1)入力レジスタ[300(1)]から出力されたとき
の入力値、および(2)フィードバックファクタの対応
するビットを加える。加算器490は、変換メモリ(レジ
スタ400)の最高位ビット位置にロードされる和をつく
る。この和は、残りの加算演算のあいだに、変換メモリ
を通してシリアルにシフトされる。
図5の変換ユニットは、それにより変換メモリ(すな
わちレジスタ400)内におけるm個の加算演算の終わり
において、mビット入力値の出力基底表現を与える。入
力基底表現がアルファ基底表現であるとき、入力値は、
(レジスタ300(1)から)その最高位ビットからその
最低位ビットまで出力される。入力基底表現がベータ基
底表現であるとき、入力値は、(レジスタ300(1)か
ら)その最高位ビットからその最低位ビットまで出力さ
れる。
出力基底がアルファ基底であるとき、アルファ基底表
現は、ビットの逆転された順でレジスタ400に設けられ
る。しかしビットは、シリアルにレジスタ400の内容を
入力レジスタ[レジスタ300(1)]の中に戻すように
シフトすることによって、入力レジスタがロウからハイ
へとシフトされる間に、非逆の順で容易に再配置されう
る。
図5の基底変換器の動作は、例えば動作:誤差パター
ン生成と題された説明で以下に示される。
構成:訂正器 図6は、ここで適切である、図1のCD ROM誤り訂正シ
ステムの訂正部60の局面を示す。訂正器60は、2セット
の誤りパターン、例えば偶数インタリーブコードワード
についての1セットの誤りパターンおよび奇数インタリ
ーブコードワードについての1セットの誤りパターンを
格納する、誤り読み出しレジスタ610(0)および610
(1)と、誤り中間レジスタ620(0)および620(1)
とを含む。ここで用いられるように、誤りパターンのそ
れぞれのセットは、表記E0、E1によって表現される。誤
り読み出しレジスタ610(0)および610(1)は、誤り
中間レジスタ620(0)および620(1)によってそれぞ
れフィードされる。誤り中間レジスタ620(0)および6
20(1)のフィーディングは、スイッチつまりマルチプ
レクサ630(0)および630(1)によってそれぞれ制御
され、これらはその中で、計算器30から受け取られたパ
ラレルデータか、それぞれの誤り読み出しレジスタ610
(0)および610(1)のパラレルの内容のどちらかを
ゲートする。
図6に示されるように、計算器30から得られたパラレ
ルデータは、バスDIN上に与えられ、より具体的には計
算器30の記憶レジスタ300(0)および300(1)から得
られる(図6のバスDINは、また、図3AにおけるバスS0
またはS1のどちらかから与えられる信号を表し、バスS0
およびS1は、図1に示されるバスS02およびS12と同じで
ある)。レジスタ610の内容をレジスタ620に与えるため
のMUX630の使用は、格納および読み出し目的のために貴
重な誤り値の循環を可能にする。
誤り読み出しレジスタ610(0)および610(1)の出
力端子は、誤り読み出しスイッチつまりMUX635のそれぞ
れの入力端子に接続されている。MUX635は、EDCチェッ
カ70およびコントローラ10への印加のために、バスERR
(図6および図1参照)上の誤りパターンE0およびE1
選択された1つを出力する。
訂正器60は、また、2セットのポインタ、例えば偶数
インタリーブコードワードについての1セットのポイン
タと奇数インタリーブコードワードについての1セット
のポインタとを格納するポインタ読み出しレジスタ640
(0)および640(1)と、ポインタ中間レジスタ650
(0)および650(1)とを含む。ここで用いられるよ
うに、ポインタのそれぞれのセットは、P0、P1またはα
L0、αL1という表記によって表現される。誤りレジスタ
と同様に、ポインタ読み出しレジスタ640(0)および6
40(1)は、ポインタ中間レジスタ650(0)および650
(1)によってそれぞれフィードされる。ポインタ中間
レジスタ650(0)および650(1)のフィーディング
は、スイッチまたはマルチプレクサ660(0)および660
(1)によってそれぞれ制御され、これらはその中で計
算器30から受け取られたパラレルデータ、またはそれぞ
れのポインタ読み出しレジスタ640(0)、640(1)の
パラレルの内容のどちらかをゲートする。計算器30から
受け取られたデータは、誤りパターンについて上述のよ
うな方法でバスDIN上に与えられる。
訂正器60は、また、信号P1_TO_SUMによって制御さ
れ、レジスタ640(0)および640(1)からのポインタ
値をシリアルに加えるポインタ和回路670を含む。ポイ
ンタ和回路は、ANDゲート672およびXORゲート674を含
む。
構成:EDCチェッカ EDC/CRCチェッカ70は、訂正器60からのラインERR
(0)上のシリアルの誤りパターンおよびラインGDAT
(0)上のシリアルバッファデータを受け取るように接
続されており、これは図1に概略的に示され、図7によ
り詳細に示されている。システムコントローラ10は、コ
ントロールバスCBUSを用いるEDC/CRCチェッカ70の動作
を管理する。
ここで参考として援用される1994年9月16日に出願さ
れたChris Zookによる「CRC/EDCチェッカシステム」と
題された米国特許出願第08/306,917号に記載されている
ように、システムコントローラ10によるEDC/CRCチェッ
カ70の管理は、訂正器60と協調して、バイトが訂正され
ているバッファの同じパスのあいだに訂正の正確さのED
C/CRCベリファイをおこなうように効果的に動作する。
動作:コンピュータデータ/ポインタモード:概観 図1の誤り訂正システムは、2つのモードで動作す
る。すなわち(1)ポインタをもつコンピュータデータ
を訂正する2相モード、および(2)オーディオディジ
タルデータとともに含まれるサブコードパックを訂正す
るサブコードモード(図8Aを参照)である。ポインタを
もつコンピュータデータを訂正する2相モードのあい
だ、発生器20、計算器30、および訂正器60は、2つの位
相のあいだにそれぞれ動作される。これは図9において
模式的に示されている。具体的には第1フェーズ(ポイ
ンタタイム、つまりPTR_TIMEとして知られる)のあいだ
に、 (a)発生器20は、最も最近のコードワードCWnについ
ての1ビットのバッファで得られたポインタを用いて、
最も最近のコードワードについての1つまたは2つのマ
ルチビットのバッファで得られたポインタ(αL0=P0
αL1=P1)を生成する。
(b)計算器部30は、発生器(20)によって発生された
以前のコードワードCWn-1についてのシンドローム(S0,
S1)を用いて、以前のコードワードについての1つまた
は2つの誤りパターン(E0、E1)を発生する。および (c)訂正部60は、計算ユニット30のための以前のコー
ドワードCWn-1についてのポインタ値(αL0=P0、αL1
=P1)を保持する。
第2フェーズのあいだに(図9においてデータタイム
つまりDATA_TIMEとして示される)、 (a)発生器20は、最も最近のコードワードCWnについ
てのシンドローム(S0,S1)を発生する。
(b)計算部30は、最も最近のコードワードCWnについ
てのマルチビットのバッファで得られたポインタ(すな
わち、)に関して数学的な演算をおこなう。および (c)訂正ユニット60は、以前のコードワードCWn-1
訂正する。
2つのフェーズのそれぞれにおいて、発生部20、計算
部30、および訂正部60は、全システムが次のフェーズに
進むことができるまで、終了するための最後のセクショ
ンを待つ。
ここで最も最近のコードワードまたは以前のコードワ
ードが参照されるとき、図1のシステムのコンテストに
おいては、そのような参照はそれぞれ、実際には、2つ
のコードワード(例えば2つの最も最近のコードワード
および2つの以前のコードワード)に対しておこなわれ
ることは理解すべきである。なぜなら図1に示されたシ
ステムは、偶数インタリーブコードワードおよび奇数イ
ンタリーブコードワードの両方からのバイトを本質的に
同時に扱うからである。しかし本発明の原理は、インタ
リーブされたシステムに限定されず、ここで説明される
2位相動作は、発生部20、計算部30、および訂正システ
ム60のそれぞれに少なくとも類似するセクションが単一
のコードワードに対して動作する、非インタリーブされ
たシステムについても同様に適用可能である。
よって本システムは、3つの同時のステージ/動作を
必要とする従来のパイプライン技法とは異なり、それぞ
れのステージ/動作は、異なる入力を用いており、一般
に入力をあるステージから次のステージへと渡す。本シ
ステムのセクション20、30および60は、それぞれ、2つ
の異なる動作を時間分割方式で取り扱う。さらにそれぞ
れのセクション20、30および60は、動作のフェーズに依
存して、2つの機能をおこなう。動作のあるフェーズが
終わると、それぞれのセクション20、30、60は、情報を
他のセクションに渡すが、その後次のフェーズにおいて
は、同じ動作を繰り返さない。そうではなく、以上に要
約し、以下に詳述するように、後続するフェーズのあい
だ、それぞれのセクション20、30、60は、異なる動作を
実行する。
動作:ポインタ発生 (コンピュータデータ/ポインタモード) 上述のように、ここで示される本発明のシステムのコ
ンピュータデータ/ポインタモードにおいておこなわれ
る動作は、偶数インタリーブコードワードおよび奇数イ
ンタリーブコードワードの両方を伴う。ここに例示され
ている偶数インタリーブコードワードを奇数インタリー
ブコードワードと対にした処理を考えると、以下の説明
では、コードワードに対する包括的な言及は、偶数イン
タリーブコードワードにも、奇数インタリーブコードワ
ードにも当てはまるものである。さらに、以下のさまざ
まな局面において説明されるように、偶数インタリーブ
コードワードについて発生された値は、いつでも1つ以
上の第1レジスタ内に格納されうるし、そのときには、
奇数インタリーブコードワードについて発生された値
は、1つ以上の第2レジスタ内に格納されうる。
コンピュータデータ/ポインタモードがあるとき、新
しいコードワード、すなわち最も最近のコードワードCW
nが処理されるように実行されているとすると、コード
ワードCWnについてPTR_TIMEにおいて取られた第1アク
ションは、2つのポインタと同じだけ多いそれぞれのも
のについてのα表現におけるバッファポインタ情報の
1バイトを発生するためのものである。バッファがその
中に、それぞれのコードワードのそれぞれのバイトにつ
いての、バッファポインタビット位置を格納しているこ
とは、当業者にはわかるだろう。もし1つのバイトにつ
いてのビット位置が設定されれば、設定されたビット位
置に対応するコードワードバイトについて、バッファポ
インタが起こるか、または存在するといわれる。
ここで用いられるように、「バッファ」ポインタとい
う語は、前述のようにバッファから得られたポインタを
表すために採用されている。ここで「ポインタ」という
ときは、そうではなく「システム」ポインタであると明
示されない限り、バッファポインタを意味すると解され
る。システムポインタの発生および利用は、以下におい
て、動作:ポインタ処理に関連して説明される。
システムコントローラ10の管理の下で、発生器20は、
それぞれポインタについてのα表現におけるポインタ
情報の1バイトを、PTR_TIMEとして知られるステージの
あいだに発生する。この点で、コードワードについての
ポインタビットが、バッファにおいてクロックと同期し
てシーケンシャルにアクセスされるあいだ、第1セット
ポインタビットに遭遇するときに、ポインタ信号がシス
テムコントローラ10に与えられる。システムコントロー
ラ10は、バッファにおけるビットのクロックによる同期
づけをコードワードバイト位置と関連づけ、それに応じ
て第1ポインタについてポインタ信号が発生されるコー
ドワードバイト位置を明示する。
ポインタ信号を受け取ると、システムコントローラ10
は、バスGDAT上にビット0をセットする。このビット
は、ゲート202および発生器コントローラ200に与えられ
る。ポインタ初期化値(すなわち1)は、レジスタ206
(0)にロードされる。発生器コントローラ200は、ま
た、信号を万能フィードバック回路210(0)に与え
て、それのための乗算定数を構成する(図2Aを参照)。
具体的には、8ビットのポインタバイトがつくられてい
るので、システムコントローラ10は、信号ENA_SCをMUX2
30に与え、発生器コントローラ200は、信号ENA_MULをMU
X240に与えることによって、乗算器228の乗算器定数α
がフィードバック回路210(0)において動作可能であ
るようにする。それからバッファにおけるポインタビッ
トを通じてのクロック同期が続くあいだ、それぞれのク
ロックについてコードワードの最後のクロックまで、展
開しているポインタバイトは、レジスタ208(0)にシ
フトされ、乗算器定数によって乗算され、レジスタ206
(0)において格納され、最終的にはフォーマットα
をもつポインタバイトになる。第1ポインタバイトは、
表記としてここでは、αL0またはP0とよばれる。例えば
もし第1ポインタビットがコードワードの20番目のバイ
トについてセットされたなら、第1ポインタバイトは、
αになるだろう(コードワードの24バイトデータ部
分、およびコードワードにおける2つのECCバイトの最
後にまで、コードワードの合計26バイトについて、残っ
ている4つの後続するクロック/バイトがある)。
もし、そのコードワードに対するバッファで第2ポイ
ンタビットに遭遇すれば、ビットGDAT(0)が再びセッ
トされ、発生器コントローラ200およびゲート202に与え
られ、発生器コントローラ200によって第2ポインタに
対応するものとして認識される。この点に関して、発生
器コントローラ200は、あるコードワードについて遭遇
したポインタビットの数をカウントし、それを表示する
信号PCNTを出力する。発生器コントローラ200は、第2
ポインタに遭遇したことを認識し、信号ENA_P1をセット
することによってゲート202にそのように通知する。ゲ
ート202は、ポインタ初期化値をレジスタ206(1)へと
ロードし、かつ、第1ポインタについて先ほど説明した
のと同様の動作を[レジスタ206(1)、208(1)、フ
ィードバック回路210(1)および加算器204(1)に対
してパラレルに]おこなうことによってこれに応答す
る。第2ポインタは、(例えば、バイト22に対する)コ
ードワードを通してのクロック同期の最後の点で遭遇す
ることになる。その結果、第2ポインタバイトに対する
乗算は、対応する後のステージで始まることになる。第
2ポインタバイトは、表記としてここでは、αL1または
P1とよばれる。第2ポインタビットがコードワードのバ
イト22で起こるこの例では、第2ポインタバイトは、α
となる。
ポインタバイトを(2ポインタコードワードに対する
P0として、またはP0およびP1の両方として)発生した
後、これらのポインタバイトは、対応するレジスタ208
(0)、208(1)から計算部30へとパラレルにロード
される。その結果、これらのバイトはそれぞれ、レジス
タ300(0)、300(1)に存在して、後続するフェーズ
(DATA_TIME)のあいだ計算部30により用いられること
になる。ポインタバイトの発生に関する以上の説明は、
あるインタリーブからの最も最近のコードワードに関連
していた。しかし、それぞれのPTR_TIMEフェーズのあい
だ、上述したポインタバイト発生操作は、まず偶数イン
タリーブコードワードについておこなわれた後、奇数イ
ンタリーブコードワードについておこなわれることは理
解されたい。発生の後、奇数インタリーブコードワード
に対するポインタバイトも、計算部に、具体的にはレジ
スタ302(0)および302(1)へとロードされる。
最も最近の偶数インタリーブコードワードおよび最も
最近の奇数インタリーブコードワードに対するポインタ
バイトが共に計算部にロードされた後、ポインタバイト
の処理は、直後のフェーズ(DATA_TIME)のあいだは計
算部30によりおこなわれる。この点については、後述す
る「動作:ポインタ処理」と副題のつけられた議論を参
照のこと。
もしあるコードワードに対するポインタの個数が2を
超えているのなら、信号PCNTとして与えられるこのよう
な値は、そのコードワードが訂正不能であることを示
す。
動作:シンドローム発生 (コンピュータデータ/ポインタモード) 発生器20が、フェーズPTR_TIMEのあいだに最も最近の
コードワードCWnについて1つ以上のポインタバイトを
発生し終えた後、発生器20は、次のフェーズ(DATA_TIM
E)の開始を待つ。DATA_TIMEのあいだ、発生器20は、1
コードワードにつき2つのシンドローム(ここでは、表
記してS0およびS1と表される)を、例えば最も最近のコ
ードワードCWnに対して発生する。
シンドロームを発生するために、フィードバック回路
210(0)は、非乗算フィードバックライン220を用いて
シンドロームS0を発生するように構成される。フィード
バック回路210(1)は、8ビット乗算器228による乗算
を(ポインタについて既に述べたのとほぼ同様に)実現
することによってシンドロームS1を発生するように構成
される。
まず、偶数インタリーブからの最も最近のコードワー
ドの第1バイトが、レジスタ206(0)およびレジスタ2
06(1)の両方へとゲートされた後、対応するレジスタ
208(0)、208(1)へとシフトされる。次に、奇数イ
ンタリーブからの最も最近のコードワードの第1バイト
が、レジスタ206(0)およびレジスタ206(1)の両方
へとゲートされる。この後、偶数インタリーブからの最
も最近のコードワードの第2バイトを、その偶数インタ
リーブから、偶数インタリーブコードワードに対する加
算器204(0)、204(1)へとゲートすることが続く。
加算器204(0)は、第2バイトを第1バイトへと加算
し、加算器204(1)は、第2バイトを第1バイトのα
倍だけ加算する。加算器204(0)および204(1)から
の和は、それぞれレジスタ206(0)、206(1)へとロ
ードされる。そして、奇数インタリーブからの最も最近
のコードワードの第2バイトが、加算器204(0)、204
(1)へとゲートされる。この奇数インタリーブコード
ワードについて、加算器204(0)は、第2バイトを第
1バイトへと加算し、加算器204(1)は、第2バイト
を第1バイトのα倍だけ加算する。処理中の偶数インタ
リーブシンドロームは、レジスタ208(0)、208(1)
へとシフトされ、奇数インタリーブコードワードに対す
る加算器204(0)および204(1)からの和は、それぞ
れレジスタ206(0)、206(1)へとロードされる。
以上のステップは、それぞれのコードワードの残りの
部分についても、例えば、(それがカラムコードワード
であるか、あるいは対角線コードワードであるかによっ
て)最も最近のコードワードCWnの26バイトまたは45バ
イトのすべてについても、反復される。コードワードバ
イトが処理される順番は、図8Bに1本のカラムにより図
示されている。すなわち、偶数インタリーブの第1カラ
ムコードワードについては、バイト0000が最初に処理さ
れ、その後バイト0043、バイト0086が続き、バイト1075
まで続く。
1対の最も最近のコードワードCWnについてのシンド
ローム発生が終了すると、偶数インタリーブコードワー
ドに対するシンドロームS0はレジスタ208(0)に格納
され、偶数インタリーブコードワードに対するシンドロ
ームS1はレジスタ208(1)に格納され、奇数インタリ
ーブコードワードに対するシンドロームS0はレジスタ20
6(0)に格納され、奇数インタリーブコードワードに
対するシンドロームS1はレジスタ206(1)に格納され
る。後述するように(動作:誤りパターン発生を参照の
こと)、これらのシンドローム値は、直後のフェーズ
(PTR_TIME)のあいだに計算部30により利用され、誤り
パターンを発生する。
動作:ポインタ処理 (コンピュータデータ/ポインタモード) 既に述べたように(動作:ポインタ発生を参照のこ
と)、フェーズPTR_TIMEのあいだ、発生部20は、偶数イ
ンタリーブコードワードおよび奇数インタリーブコード
ワードの両方について2つのものポインタバイト(P0
P1、エイリアスαL0、αL1)を発生している。後続する
フェーズDATA_TIMEのはじめに、ポインタバイトは次の
ように格納されている。奇数インタリーブコードワード
用のP0およびP1は、それぞれレジスタ300(0)および3
00(1)へと、偶数インタリーブコードワード用のP0
よびP1は、それぞれレジスタ302(0)および302(1)
へと格納されている。
DATA_TIMEのあいだ、計算部20は、奇数インタリーブ
コードワードおよび偶数インタリーブコードワードの両
方に対するポインタP0およびP1を処理する。処理が最初
におこなわれる奇数インタリーブコードワードについて
は、DATA_TIMEのあいだに計算器30によりおこなわれる
処理は、奇数コードワードポインタP0、P1の(β基底表
現への)基底変換である。次に処理される偶数インタリ
ーブコードワードについては、DATA_TIMEのあいだに計
算器30によりおこなわれる処理は、偶数コードワードポ
インタP0、P1のβ基底表現への変換のみならず、(2つ
のポインタが存在する時には)、以下に述べる手法によ
り基底変換されたポインタを用いた和の逆数の形成をも
伴う。
それぞれのコードワードについて、計算部30による処
理は、2つのケースのいずれか1つでおこなわれる。第
1のケースは、1コードワードに対してせいぜい1つの
バッファポインタしか発生されなかった時に実現され
る。第2のケースは、1コードワードに対して2つのバ
ッファポインタが発生された時に実現される。
ケース1のバッファポインタ処理の場合、計算部30
は、(もし存在するのなら)あるポインタP0をα基底表
現からβ基底表現へと変換する。ケース2のバッファポ
インタ処理の場合、計算部30は、ポインタP0およびポイ
ンタP1をα基底表現からβ基底表現へと変換し、β基底
表現を用いて、以下の式(以下では、「2つのポインタ
の和の逆数」として知られる)を計算する。
この式はまた、 とも表される。計算部30は、フェーズDATA_TIMEにおい
て偶数インタリーブコードワードについての2つのポイ
ンタの和の逆数を形成する。もし奇数インタリーブコー
ドワードについての2つのポインタの和の逆数を形成す
る必要があるのなら、そのようなポインタの和の逆数
は、直後のフェーズであるPOINTER_TIMEのあいだに形成
される。
ポインタの処理は、図10に図示されている。図10のス
テップ1002からステップ1016は、フェーズDATA_TIMEの
あいだに計算部30により実行される。ステップ1020から
ステップ1024は、直後のPOINTER_TIMEフェーズの間に実
行される。
ステップ1002で、計算部30は、奇数インタリーブコー
ドワードに対するP0、P1をβ表現に変換する。次に、ス
テップ1004で、奇数インタリーブされたコードワードに
対するβ変換されたポインタP0、P1は、レジスタ302
(0)、302(1)に移され、一時的に格納される。ス
テップ1006では、本質的に同時に、偶数インタリーブコ
ードワードに対する変換されていないポインタP0、P
1が、基底変換を予想して、レジスタ302(0)、302
(1)からレジスタ300(0)、300(1)へと移され
る。偶数コードワードのポインタP0、P1に対するβ基底
への変換は、ステップ1008でおこなわれる。ステップ10
10では、偶数コードワードに対する和の逆数がレジスタ
401で形成される。この逆数は、次のフェーズまでそこ
にとどまる。
ステップ1014では、すべてのポインタが訂正部60に移
され、一時的に格納される。この点について、ステップ
1012で、偶数コードワードに対するポインタP0、P1は、
レジスタ300(0)、300(1)からポインタレジスタ64
0(0)、640(1)へとそれぞれ移される。また、奇数
コードワードに対するポインタP0、P1は、レジスタ302
(0)、302(1)からポインタレジスタ650(0)、65
0(1)へとそれぞれ移される。ポインタの訂正部60へ
のパラレル/シリアルシフトをおこなうのと並行して、
発生器20により発生されたシンドロームは、レジスタ30
0、302へとシフトされる(ステップ1016により反映され
ている)。
POINTER_TIMEのあいだ、偶数インタリーブコードワー
ドに対する誤り値の処理(ステップ1018により図示され
ている)の後、ステップ1020で、訂正部60は、奇数コー
ドワードに対するポインタP0、P1を、その値をそれぞれ
レジスタ640(0)、640(1)から和回路670へとシリ
アルに出力することによって、加算する。和回路670に
よりつくられた和(P_SUM上のシリアルビット)は、MUX
441を介してレジスタ401へとロードされる(ステップ10
22)。ステップ1024では、計算部30は、奇数コードワー
ドの和P0+P1の逆数をレジスタ401で形成する。その
後、ステップ1026に示されているように、計算部30は、
奇数インタリーブコードワードに対する誤り値を処理す
る。
計算部30によりおこなわれる基底変換、加算、および
逆転演算は、計算部30の多目的性を例示している。これ
らの演算は、以下により詳細に説明される。
ポインタP0、P1のβ基底表現への変換に伴うステップ
は、図11に図示されている。ポインタP0は、レジスタ30
0(0)に存在している。ステップ1102において、ポイ
ンタP0は(MUX441を介してラインS0(0)上で)レジス
タ401へとロードされる。ステップ1104では、(ラインR
1_CONST_IN上の)定数「1」が、(MUX440を介して)レ
ジスタ400へとロードされる。ビット指向のたたみ込み
演算がおこなわれ(ステップ1106)、レジスタ400およ
び401の内積のビットが信号IPとしてシリアルに出力さ
れる。ビット指向のたたみ込みのあいだ、αフィードバ
ックが、加算器490とフィードバック回路450とを介して
レジスタ400に与えられる。信号IPとしてシリアルに出
力された値は、β基底表現におけるポインタP0である。
ステップ1108では、β基底表現におけるポインタP0は、
ANDゲート324、XORゲート328、XORゲート330およびMUX3
10(0)を介してレジスタ300(0)へとルーティング
することによって、レジスタ300(0)へとロードし戻
される。
もしポインタP1が存在するのなら、図11の残りのステ
ップが実行される。この点について、ポインタP1は、レ
ジスタ300(1)に存在している。ステップ1112におい
て、ポインタP1は(MUX441を介してラインS1(0)上
で)レジスタ401へとロードされる。ステップ1104と同
様に、(ラインR1_CONST_IN上の)定義「1」が、(MUX
440を介して)レジスタ400へとロードされる。ビット指
向のたたみ込み演算がおこなわれ(ステップ1114)、レ
ジスタ400および401の内積のビットが信号IPとしてシリ
アルに出力される。ビット指向のたたみ込みのあいだ、
αフィードバックが、加算器490とフィードバック回路4
50とを介してレジスタ400に与えられる。信号IPとして
シリアルに出力された値は、β基底表現におけるポイン
タP1である。ステップ1116では、β基底表現におけるポ
インタP1は、ANDゲート324、XORゲート328、およびMUX3
10(1)を介してレジスタ300(1)へとルーティング
することによって、レジスタ300(1)へとロードし戻
される。
ケース2は、ケース1におけるポインタP0およびP1
β基底表現への変換を含んでいる。ケース2において、
ポインタP0およびP1のα基底表現からβ基底表現への変
換に後続する、加算および逆転計算に伴うステップは、
図12に示されている。ポインタP0およびP1は、それぞれ
レジスタ300(0)および300(1)にあることを想起さ
れたい。
ステップ1202では、ポインタP0は、ANDゲート322を通
してXORゲート330へとレジスタ300(0)からシリアル
にシフトアウトされ、ポインタP1は、ANDゲート326およ
びXORゲート328を通してXORゲート330へとレジスタ300
(1)からシリアルにシフトアウトされる。ステップ12
04では、P0およびP1は、XORゲート330により加算され、
その和がシリアル信号S_SUMとして現れる。
そして、P0+P1の和に対して逆転演算がなされる。ス
テップ1208では、P0+P1の和が、レジスタ400へとロー
ドされる。ステップ1210では、ビット指向のたたみ込み
がレジスタ400および401を用いておこなわれる。このビ
ット指向のたたみ込みの間、αフィードバックが、加算
器490およびフィードバック回路450を介してレジスタ40
0に与えられる。ここで援用されている、Chris Zookに
より1993年11月4日に出願され、“FINITE FEILD INVER
SION"と題された米国特許出願第08/147,758号から理解
されるように、このたたみ込みは、レジスタ401におけ
るmビット値に対応する電気信号を発生し、格納する。
レジスタ401における値は、第1基底表現であり、レジ
スタ400(β基底表現の和P0+P1を含む)と、αkB(こ
こで、Bはレジスタ401における値である)との内積
が、k<m−1であるとき0に等しくなるようにするた
たみ込みにより発生される。よって、このたたみ込みに
より、P0+P1の和の逆数がレジスタ401に生じる。ここ
で、生じた逆数(P0+P1-1は、α基底表現である。こ
こでも、逆転演算については、図4に示されている回路
において、図4の回路によりおこなわれる逆転演算のた
めの乗数α-tが1による乗算であるように、t=0とす
るようにαが選択されることには注意されたい。
DATA_TIMEが完了すると、(もし発生することが必要
であるのなら)偶数インタリーブコードワードに対する
2つのポインタの和の逆数は、レジスタ401に存在し、
偶数インタリーブコードワードおよび奇数インタリーブ
コードワードに対するシンドロームは、それぞれレジス
タ300、302に格納され、偶数コードワードに対するポイ
ンタはレジスタ640に格納されるいっぽうで、奇数コー
ドワードに対するポインタは、レジスタ642に格納され
る。
動作:誤りパターン発生 (コンピュータデータ/ポインタモード) 上述したように、シンドロームS0およびS1は、フェー
ズDATA_TIMEのあいだに、偶数インタリーブコードワー
ドおよび奇数インタリーブコードワードの両方に対して
発生器20により発生された。コードワードに対するシン
ドロームの発生のすぐ後に続くPTR_TIMEフェーズにおい
て、計算部30は、コードワードに対して、2つのもの誤
りパターン(E0、E1)を発生する。PTR_TIMEフェーズに
おいて、計算部30は、まず偶数インタリーブコードワー
ドに対する誤りパターンを発生した後、奇数インタリー
ブコードワードに対する誤りパターンを発生する。
コードワードに対する誤りパターンの発生は、2つの
ケースのいずれか1つでおこなわれる。誤りパターン発
生の第1のケースは、コードワードが2つ未満のポイン
タを有している時におこなわれる。誤りパターン発生の
第2のケースは、コードワードが2つのポインタを有し
ているときにおこなわれる。誤りパターン発生の第1の
ケースは、図13に図示されており、誤りパターン発生の
第2のケースは、図14に図示されている。
第1のケースでは、もし1コードワードにつき単一の
誤りポインタ(P0)があるのなら、そのコードワードに
対する唯一の誤りパターンは、S0となる。すなわち、コ
ードワードに対する誤りパターンE0は、S0である。つま
り、E0=S0(ここで、S0は、そのコードワードに対する
第1シンドロームである)。しかし、この単一の誤りの
ケースでは、計算部30は、その誤りに対してそれ自身の
システムポインタ(バッファポインタと対立する)を発
生した後、システムポインタおよびバッファポインタが
共に、確実にコードワードの同一のバイトを指すように
する。
第1ケースの誤りパターン発生シナリオは、以下の関
係を考慮して動作する。
もし上の関係が有効であるのなら、単一の誤りの存在
が確認される。
上述の点について、図2のステップ1302では、計算部
30は、システムポインタを計算しようとつとめる。ステ
ップ1302に伴う詳細は、いくつかのサブステップを含ん
でいる。サブステップ1302−2では、S0は、(以上の議
論から理解される手法で)β基底表現に変換され、レジ
スタ402に移される。同様に、サブステップ1302−4に
おいて、S1は、β基底表現に変換され、レジスタ300
(1)に移される。次に、サブステップ1302−6におい
て、定数α-1がレジスタ400へと(MUX440を介して)ロ
ードされ、定数αが(MUX441を介して)レジスタ401
へとロードされる。ステップ1302−8では、ビット指向
のたたみ込みが、フィードバックによりクロック同期の
とられたレジスタ400および402を用いておこなわれる。
ステップ1302−8に関連して、MUX440および443は、そ
れぞれのフィードバック回路450、452からのフィードバ
ック加算を可能にするように動作される。たたみ込みの
あいだ、値S0αがレジスタ402に保持される。たたみ
込みがおこなわれると、サブステップ1302−10により示
されているように、レジスタ402の内容(値S0α
は、比較回路350の加算器362により(レジスタ300
(1)に含まれている)S1に加えられる。値S0αとS1
とが(ORゲート372により検出されたときに)等しいの
なら、信号SEDBがターンオフする。もし信号SEDBがター
ンオフしないのなら(サブステップ1302−12で判定され
る)、そのコードワードは、訂正不可能であると判定さ
れる(サブステップ1302−14)。もし信号SEDBがターン
オフすれば、そのとき、レジスタ400における値は、コ
ードワードに対して計算されたシステムポインタとなる
(サブステップ1302−16)。
ステップ1302でシステムポインタを計算した後、ステ
ップ1304では、計算回路30は、システムポインタがバッ
ファにより供給されたポインタと同じであるかどうか確
かめる。この比較を実行するために、サブステップ1304
−2において、システムポインタは、レジスタ400から
レジスタ402へと移される。サブステップ1304−4で
は、バッファポインタがレジスタ400へと移される。シ
ステムポインタは(サマー362を介してルーティングさ
れ)、サマー364(図3Aを参照のこと)によりバッファ
ポインタへと加算される(サブステップ1304−6)。比
較回路360により発生された出力信号ROOTは、もしこれ
らのポインタ値が等しければターンオンする。もしROOT
がハイにならないのなら(サブステップ1304−8)、コ
ードワードは訂正不可能である(サブステップ1304−1
0)。ROOTがハイになるとき、バッファポインタが確認
される(サブステップ1304−12)。
バッファポインタがステップ1304で正しいと確認され
ると、ステップ1306では、バッファポインタは、訂正部
60のP0ポインタレジスタへと移し戻される。ただ1つの
誤りしかないので、その移動の直前に、レジスタ400に
おけるバッファポインタ値は、フィードバック(α
とクロック同期がとられる。その結果、バッファポイン
タは、オフセットバッファポインタとなる(例えば、α
L+8)。P1ポインタは、訂正部60において、このコード
ワードについてゼロに設定される(ステップ1308)。第
1ケースの誤りパターン発生の最後に、誤りパターンS0
=E0がレジスタ300内に(α基底表現で)残る。
第2ケースの誤りパターン発生のあいだ、2つの誤り
値(E0、E1)が計算部30により計算される。これら2つ
の誤り値は、以下のように計算される。
よって、E1の決定は、E0の決定に先立たねばならな
い。
図14は、第2ケースの誤りパターン発生に伴う基本的
なステップを図示している。ステップ1402では、シンド
ロームS1(α基底表現)は、本質的には、図5の変換回
路を用いてβ基底表現へと変換される。変換は、(S
1が、最高位ビットから始めて、最低位ビットへと続く
よう、シリアルに読み出されるようにする)信号S1_L2H
をイネーブルし、かつフィードバック回路450からのフ
ィードバックのクロック同期をとることによって実現さ
れる。その結果、S1は(逆転されたビット順で読み出さ
れて)フィードバック信号へとビット加算される。それ
により、レジスタ400にS1のβ基底表現が生じる。
基底変換が完了すると、β変換されたS1値は、レジス
タ300(1)に再び移される。バッファポインタP0
(αL0のかたちで)訂正部60からレジスタ400へと移さ
れ、S0はレジスタ401へと移される。また、同時に、レ
ジスタ401の以前の内容[すなわち、(P0+P1-1
は、訂正ユニット60へと一時的に移される。ステップ14
04では、係数S0αL0が、レジスタ400とフィードバック
とのクロック同期をとることにより得られる。それによ
って、ラインIP上に内積信号の所望のシーケンスを得
る。項S1+S0αL0は、ステップ1406で、和回路320を用
いてラインIP上のシリアルシーケンスをレジスタ300
(1)の内容(S1)に加算することによって得られる。
レジスタ300(1)の内容[S1+S0αL0]は、それから
レジスタ400へと移される。そして、ステップ1408で
は、E1に対する積が、係数 (ポインタレジスタP0(つまりレジスタ640(0))か
ら得られ、レジスタ401へと移される)を、レジスタ400
に格納されている係数S1+S0αL0により乗算することに
よって形成される。この乗算は、レジスタ400がフィー
ドバック回路450を介してフィードバックとクロック同
期が取られている時、ビット指向のたたみ込みのあいだ
におこなわれる。信号IPとして発生された内積のシーケ
ンスは、レジスタ300(1)に与えられ、E1となる。
ステップ1410、ステップ1412およびステップ1414は、
E0を得るために実行される。ステップ1410では、E1は、
本質的には図5の基底変換回路を用いて、β基底表現か
らα基底表現へと変換しなおされる。このような変換
は、E1をレジスタ300(1)から(ANDゲート482を介し
て)レジスタ400へと移すことと、フィードバック回路4
50からのビット加算のクロックに同期されたフィードバ
ックとによりおこなわれる。そして、E1(今ではレジス
タ400におけるビット逆転されたα基底表現である)
は、レジスタ300(1)へと移される。S0(依然として
α基底である)は、レジスタ300(0)にとどまってお
り、一方レジスタ300(1)は、ローからハイへとシフ
トする。ステップ1412では、和S0+E1=E0が和回路320
により得られ、レジスタ300(0)へと戻される。そし
て、誤りパターン値E0およびE1が共に計算された後、ス
テップ1414では、コードワードに対する誤りパターン
E0、E1は、訂正部60の誤りレジスタへと移される。
動作:訂正 (コンピュータデータ/ポインタモード) 一対(偶数インタリーブおよび奇数インタリーブ)の
コードワードを訂正するとき、訂正部60は、そのポイン
タレジスタ640、650内にベリファイされたポインタP0
P1を格納しており、その誤りレジスタ610、620内に誤り
パターンE0、E1を格納している。訂正部60は、フェーズ
DATA_TIMEのあいだ、訂正を目的としてバッファにおい
て処理されているブロックにアクセスする。ブロックに
おけるそれぞれのコードワードは、連続するクロックサ
イクルのあいだにアクセスされる。コードワードに対す
るポインタが、(図6のラインLOC_E上に出力されたと
きに)コードワードの現在クロック同期のとられている
バイトに対応しているのなら、MUX635を介してバスERR
上に与えられた対応する誤りパターン(E0またはE1
が、バッファにおける誤りのあるバイトを訂正するため
に用いられる。この訂正処理と同時に、EDCチェッカシ
ステム70が、バッファのブロックに対してCRC検査をお
こなっている(動作:EDC検査を参照のこと)。
動作:概観 (サブコードをともなうオーディオ) 動作のサブコードモードは、図15に図示されている基
本的ステップにより要約される。サブコードモードで
は、図1の誤り訂正システムは、ディジタルオーディオ
データ内に分散された(図8Aに図示されている)サブコ
ードパックを用いて訂正をおこなおうと試みる。
ステップ1510Aおよびステップ1510Bは、パックに対す
るシンドロームの発生を伴う。ステップ1510Aのあい
だ、最初の4バイト(パックの「Q」部分)が、シンド
ロームS0、S1をQ部分にわたって発生するために用いら
れ、シンドロームS2、S3を全パックにわたって発生し始
めるのに用いられる。ステップ1510Bの間、パックの残
りのバイト(例えば、パックの「P」部分)は、全パッ
クにわたるS2、S3の発生を完了し、かつパックの「P」
部分にわたってシンドロームS0、S1を発生するために用
いられる。図8Aを参照すれば理解できるように、ここで
例示されている実施形態においては、パックの第1の部
分、すなわち「Q」部分は、最初の4つの6ビット−バ
イト(例えば、シンボル0〜3)を構成しており、一
方、パックの第2の部分、つまり「P」部分は、残りの
20の6ビットバイト(例えば、シンボル4〜23)を構成
している。一般に、パックの第1の部分、すなわち
「Q」部分が、特にパック識別情報のために用いられる
とき、パックの第2の部分すなわち「P」部分は、特に
ディジタルデータを含んでいる。
シンドローム(つまり、パックの「Q」部分にわたる
S0およびS1、パックの「P」部分にわたるシンドローム
S0およびS1、ならびに全パックにわたるシンドロームS2
およびS3)の発生の後、システムコントローラ10は、シ
ンドロームを解析する(ステップ1520を参照のこと)。
ステップ1520の解析により可能な4つのケースが展開さ
れ、それらのケースのうちの3つに対して異なる訂正戦
略が適用される。第1のケースでは、誤りは、パックの
P部分には起こるが、パックのQ部分には起こらない。
これにより、システムコントローラ10は二重誤り検出戦
略[DED]を実行するように促される(図15のステップ1
530により図示されている)。第2のケースでは、誤り
は、パックのP部分およびQ部分の両方に起こる。これ
により、システムコントローラ10は、パックの両部分に
わたって単一誤り検出戦略[SED]を実行し(図15のス
テップ1540により図示されている)、その後、訂正され
たコードワードにわたってシンドロームを再び発生する
ように促される(図15のステップ1541により図示されて
いる)。第3のケースでは、誤りは、パックのQ部分に
は起こるが、パックのP部分には起こらない。これによ
り、システムコントローラ10は四重誤り検出戦略[QD]
を実行するように促される(図15のステップ1550により
図示されている)。第4のケースでは、すべてのシンド
ロームはゼロである(このことは、パックには誤りが存
在しないことを示している)。
動作:シンドローム発生 (サブコードを含むオーディオ) 図15に示されているように、サブコード用のシンドロ
ーム発生は、2つの別々の発生ステージを伴う(ステッ
プ1510Aおよび1510Bにより図示されている)。ステップ
1510Aでは、最初の4バイト(例えば、パックの「Q」
部分)が、Q部分にわたってシンドロームS0、S1を発生
し、かつ、全パックにわたってシンドロームS2、S3を発
生し始めるのに用いられる。ステップ1510Bでは、パッ
クの残りのバイト(例えば、パックの「P」部分)が、
全パックにわたってS2、S3の発生を完了し、かつパック
の「P」部分にわたってシンドロームS0、S1を発生する
ために用いられる。
サブコードシンドローム発生のあいだ、サブコードパ
ックのそれぞれのバイト(図8Aを参照のこと)は、発生
器20と2度クロック同期がとられる。すなわち、一度は
サブコードシンドロームS0、S1を発生するためであり、
一度はシンドロームS2、S3を発生するためである。よっ
て、サブコード用のシンドロームを発生するとき、レジ
スタ206、208は、コンピュータデータ用のシンドローム
発生の場合のように異なるインタリーブには用いられ
ず、サブコード用の異なるシンドローム用に用いられ
る。
表1は、サブコードシンドローム発生のためのレジス
タ206、208のシフトと、フィードバック乗算演算とを記
載している。
表1の第1行は、第1データバイトがどのようにレジ
スタにロードされるかを示している。ここで、それぞれ
のレジスタにおける第1データバイトは、そこから発生
されるシンドロームを指すためにS0、S1、S2およびS3
ラベルが付けられている。表1の第1行に続いて、表1
の次の6つの行に対応する6つのステップが実行され
る。表1の第5行および第6行は、2クロックサイクル
で第2データバイトを加算することを示している。すな
わち、まず、行5においてシンドロームS0、S1に加算
し、そして(レジスタ値をシフトした後に)行6におい
てシンドロームS2およびS3へと加算する。行7は、さら
なるデータバイトの図示されていない加算に備えて、シ
ンドロームをさらにシフトすることを示している。さら
なるデータバイトを加算する以前に、表1の行7におけ
る式は、各シンドロームについて更新された値(例え
ば、S1α+D)になるが、それは、次のデータバイトの
加算以前にS1になることは理解されたい。
表1の行7の後、表1について図示されているのと同
様に、さらなるデータバイトが加算される。つまり、サ
ブコードデータバイトのそれぞれについて、表1の行2
〜行7により反映されている6つのステップが実行され
る。ここで、6つのクロックのうち2つだけが、次のデ
ータバイトの導入には実際に伴うことになる。
表1の6つのステップについては、レジスタ206の内
容は、常にレジスタ208へとシフトされることには留意
されたい。レジスタ206には、常に、レジスタ208の内容
×「1」または「α」がフィードされる。乗算が×
「1」でおこなわれるか、×「α」でおこなわれるか
は、MUX230、240の設定次第である(図2Aを参照のこ
と)。
表1の6つのステップが4回実行された後(つまり、
最初の4データバイトが発生器20において加算された
後)、レジスタ208(0)は、パックのQ部分にわたっ
て発生されたサブコードシンドロームS0を含んでおり、
レジスタ208(1)は、パックのQ部分にわたって計算
されたサブコードシンドロームS1を含んでいる。この時
点において、パックのQ部分にわたるサブコードシンド
ロームS0、S1は、計算部30へとロードされる。それによ
って、図15のステップ1510Aを完了する。
パックのQ部分にわたってシンドロームS0、S1をオフ
ロード(off−loading)した後、レジスタ206、208の内
容は、再び切り替えられ(すなわち、表1の最終行と同
様)、パックの第5のバイトおよび残りのバイトについ
て、6つのステップが反復される。しかし、パックのP
部分にわたってシンドロームS0、S1を発生するために、
パックのQ部分にわたってシンドロームS0、S1を含んで
いるレジスタはクリアされる。その結果、パックの第5
のバイトがそこにロード可能となる。
よって、サブコードパックの24バイトのすべてが発生
器20内へとエンターされ、表1の各ステップがそれぞれ
のバイトについて実行された後、レジスタ208(0)お
よび208(1)は、最終的には、パックのQ部分にわた
って発生されたサブコードシンドロームS0、S1をそれぞ
れ含むことになり、レジスタ206(0)および206(1)
は、最終的には、全パックにわたって発生されたサブコ
ードシンドロームS2、S3をそれぞれ含むことになる。こ
れにより、図15のステップ1510Bを完了する。
動作:二重誤り検出 (サブコードを含むオーディオ) 図15Aは、図15のステップ1530において実行されるサ
ブステップを示している(すなわち、サブコードシンド
ロームの評価が、誤りはサブコードパックのP部分にの
み存在しており、サブコードパックのQ部分にはないこ
とを示している場合)。よって、図15Aは、サブコード
用の本発明による二重誤り検出(DED)プロージャに含
まれるサブステップを示している。
サブステップ1530−2において、誤りロケータ多項式
が、計算部30によるサブステップ1530−4でのルートサ
ーチに利用可能な形式で発生される。一般に、誤りロケ
ータ多項式は、サブコード方程式1の形式に合う。
しかしルートサーチは通常、逆方向におこなわれるの
で、サブコード方程式1はα-n(ここで、nは19であ
る)で乗算されねばならず、従来は、ルートサーチに利
用可能なサブコード方程式2を生じるために、Δにより
乗算可能であった。
サブコード方程式2の誤りロケータ多項式は、図15A
のサブステップ1530−2−2から1530−2−8に関して
図示されている手法で発生される。サブコード方程式2
の誤りロケータ多項式は、シンドロームS0(Pにわた
る)と、S1(Pにわたる)と、図15のステップ1510Aお
よび1510Bで発生されたS2およびS3とを用いて発生され
る。まず、サブステップ1530−2−2において、項σ2'
α-nが、サブコード方程式3を用いて発生される。
次に、サブステップ1530−2−4において、項σ2α
-2nが、サブコード方程式3により得られた値にα-n
乗算することによって発生される。サブステップ1530−
2−6において、項σα-nが、サブコード方程式4を
用いて得られる。
σα-n=S0S3α-n+S1S2α-n 最後に、ステップ1530−2−8において、項Δが、サ
ブコード方程式5を用いて得られる。
ステップ1530−4では、計算部30は、値σα-2n
レジスタ400へとロードし、値Δをレジスタ300(1)へ
とロードし、値σα-nをレジスタ402へとロードし、
かつ図3Aの和回路を用いてこれら3つのレジスタの内容
の和をとることによって、ルートサーチをおこなう。ル
ートサーチが反復されるたびに、レジスタ400は、フィ
ードバックと(項α-2nに対して)2度クロック同期が
とられ、レジスタ402は、フィードバックと(項α-n
対して)1度クロック同期がとられる。
ルートの位置が特定されると、形式αの誤りロケー
タバイトが、発生部20により発生されねばならない。こ
の点については、ルートの位置が特定されたとき、GDAT
のビット0がセットされる(サブステップ1530−6によ
り示されている)。発生部20による誤りロケータバイト
の発生は、ポインタを含むコンピュータデータを用いて
おこなわれる形式αによる誤りポインタバイトの類似
する発生(既に述べた)を参照すれば、理解できる。
サブステップ1530−8および1530−12では、サブステ
ップ1530−4のたたみ込みのあいだに検出されたルート
の個数および位置について判定がなされる。これらの判
定は、検出されたルートを有する誤りに対して、(おこ
なうとすれば)どのようなタイプの訂正をおこなうかを
支配する。
例えば、もしサブステップ1530−8でルートは、最初
の3つの位置のうちの3つで検出されたと判定されれ
ば、サブステップ1530−10では、計算部30は、単一誤り
訂正プロシージャをおこなう。サブステップ1530−10で
おこなわれる単一誤り訂正プロシージャは、上述したポ
インタを含むコンピュータデータに用いられるプロシー
ジャと本質的には同じである(例えば、上述の「動作:
ポインタ処理」[ケース1]および「動作:誤りパター
ン発生」[ケース1]と題された議論を参照のこと)。
サブステップ1530−10でのポインタ処理および誤りパタ
ーン発生では、サブコードシンドロームS0およびS1
(ともにパックのP部分にわたって)用いられる。誤り
パターン発生の結果、訂正部60は、誤りポインタと、サ
ブコードパックのP部分における単一の誤りを含むバイ
トを訂正するための誤りパターンとを用いる。
もしサブステップ1530−12では、サブコードパックに
は2つ未満のルートしかないと判定されれば、このパッ
クは、訂正不可能であると判定される。
サブコードパックについて2つのルートが存在してる
と判定されるとき、計算部30は、これら2つの誤りを訂
正するために、二重消去訂正プロシージャ(サブステッ
プ1530−14により図示されている)をおこなう。サブス
テップ1530−14でおこなわれる二重消去訂正プロシージ
ャは、上述したポインタを含むコンピュータデータに用
いられるプロシージャと本質的には同じである(例え
ば、上述の「動作:ポインタ処理」[ケース2]および
「動作:誤りパターン発生」[ケース2]と題された議
論を参照のこと)。サブステップ1530−14でのポインタ
処理および誤りパターン発生では、サブコードシンドロ
ームS0およびS1が(ともにパックのP部分にわたって)
用いられる。誤りパターン発生の結果、訂正部60は、誤
りポインタと、サブコードパックのP部分における2つ
の誤りを含むバイトを訂正するための誤りパターンとを
用いる。
なお、各計算ステップについては、ここでは詳細に述
べなかったが、計算部60は、サブステップ1530−4のル
ートサーチに用いられるσα-2n、Δおよびσα-n
の評価をおこなうことは理解されたい。
動作:単一誤り検出 (サブコードを含むオーディオ) 図15のステップ1520で、誤りがサブコードパックのQ
部分およびP部分の両方に存在している(図8Aを参照の
こと)と判定されるとき、単一誤り検出演算が、サブコ
ードパックの両部分に対して別個におこなわれる(ステ
ップ1540)。
ステップ1540の単一誤り検出(SED)演算は、図15Bに
より詳細に示されている。第1のサブステップ(サブス
テップ1540−2)として、誤り検出/訂正が、パックの
Q部分に対しておこなわれる。サブステップ1540−2で
は、コンピュータデータのケース1について上述したの
と同様の誤りポインタ処理および誤りパターン発生をお
こなうために、パックのQ部分にわたって発生されたサ
ブコードシンドローム値S0、S1が用いられる。この点に
ついては、例えば、上述の「動作:ポインタ処理」[ケ
ース1]および「動作:誤りパターン発生」[ケース
1]と題された議論を参照のこと。サブステップ1540−
2に関して、訂正部60は、誤りポインタと、サブコード
パックのQ部分における誤りを含むバイトを訂正するよ
うに発生された誤りパターンとを用いる。
第2に、サブステップ1540−4において、誤り検出/
訂正が、パックのP部分に対しておこなわれる。サブス
テップ1540−4では、コンピュータデータのケース1に
ついて上述したのと同様の誤りポインタ処理および誤り
パターン発生をおこなうために、パックのQ部分にわた
って発生されたサブコードシンドローム値S0、S1が用い
られる。この点については、例えば、上述の「動作:ポ
インタ処理」[ケース1]および「動作:誤りパターン
発生」[ケース1]と題された議論をここでも参照のこ
と。サブステップ1540−2に関して、訂正部60は、誤り
ポインタと、サブコードパックのP部分における誤りを
含むバイトを訂正するように発生された誤りパターンと
を用いる。
図15のステップ1541に示されているように、それぞれ
サブステップ1540−2および1540−4においてサブコー
ドパックのQ部分およびP部分の訂正を試みた後、すべ
てのサブコードシンドロームが、上述したのと同様に再
び発生される(例えば、「動作:シンドローム発生(サ
ブコードを含むオーディオ)」を参照のこと)。もし再
び発生されたシンドロームがすべてゼロであるのなら、
このサブコードパックは、訂正可能であると考えられ
る。
動作:四重消去訂正 (サブコードを含むオーディオ) 図15のステップ1520で、誤りは、サブコードパックの
Q部分にだけ存在する(図8Aを参照のこと)、例えばパ
ックのP部分にわたるS0、S1がゼロである、と判定され
たとき、ステップ1550の四重消去訂正が、サブコードパ
ックのQ部分に対しておこなわれる。
サブステップ1550−2では、4つの誤りパターンE0
E1、E2およびE3が、サブステップ1550−4で計算され
る。それぞれの誤りパターンは、以下の方程式を用いて
発生される。
Ek=S0ak0+S1ak1+S2ak2+S3ak3 ここで、ak0、ak1、ak2およびak3のログ値は、表2に
従って選択される。
サブステップ1550−2で4つの誤りパターンE0、E1
E2およびE3を計算した後、(サブステップ1550−4で)
これらの誤りパターンの少なくとも1つがゼロであるこ
とを確かめるためにチェックがなされる。これは、誤っ
た訂正の可能性を低くするためのものである。もしこれ
らの誤りパターンのどれもゼロではないのなら、そのサ
ブコードパックは、訂正不可能であると考えられる。こ
れらの誤りパターンは、訂正部60により、サブコードパ
ックのQ部分における3つ以下の誤りを含むバイトを訂
正するために用いられる。
以上に本発明を、その好ましい実施態様に言及しなが
ら具体的に示し、説明してきたが、その形式および詳細
については、本発明の精神および範囲から離れることな
く、さまざまな改変がその中になされうることは、当業
者には理解できるであろう。
独占所有権、すなわち特権を請求する本発明の実施形
態は、以下のように規定される。
フロントページの続き (56)参考文献 特開 昭62−253228(JP,A) 特開 平4−222029(JP,A) 特開 昭63−268037(JP,A) 特表 平10−508441(JP,A) 欧州特許781472(EP,B1) 欧州特許781470(EP,B1) (58)調査した分野(Int.Cl.7,DB名) H03M 13/00 G06F 11/10 330 G11B 20/00

Claims (78)

    (57)【特許請求の範囲】
  1. 【請求項1】コードワードのかたちのデータと、そのよ
    うなデータに対して発生された何らかのポインタとを得
    るバッファと共に用いられ、該バッファからの該ポイン
    タが、1ビットのバッファで得られたポインタである、
    誤り訂正装置であって、 該コードワードに対するシンドロームを発生し、かつ該
    コードワードに対する何らかの1ビットのバッファで得
    られたポインタを用いることによって、マルチビットの
    バッファで得られたポインタを発生する、発生器と、 あるコードワードに対して該発生器により発生された該
    シンドロームを用いることによって、該コードワードに
    対する誤りパターンを発生する、計算ユニットと、 該計算ユニットにより発生された該誤りパターンを用い
    ることによって、該誤りパターンが発生された対象であ
    る該コードワードを訂正する、訂正ユニットと、を備え
    ている、誤り訂正装置。
  2. 【請求項2】前記バッファが、コンパクトディスクから
    コードワードのかたちのデータを得る、請求項1に記載
    の装置。
  3. 【請求項3】1コードワードにつき2つの、1ビットの
    バッファで得られたポインタが、前記バッファに設けら
    れる時、前記発生器は、2つの、対応するマルチビット
    のバッファで得られたポインタを発生し、前記計算ユニ
    ットは、1コードワードに対する該2つの、マルチビッ
    トのバッファで得られたポインタを用いることによっ
    て、該コードワードに対する中間ポインタ表現を形成
    し、かつ、該計算ユニットは、該発生器により1コード
    ワードについて発生された前記シンドロームと、該中間
    ポインタ表現と、の両方を用いることによって、該コー
    ドワードに対する2つの誤りパターンを発生させる、請
    求項1に記載の装置。
  4. 【請求項4】1コードワードにつき1つの、1ビットの
    バッファで得られたポインタが、前記バッファに設けら
    れる時、前記計算ユニットが、前記発生器により発生さ
    れた前記シンドロームを用いることによって、該コード
    ワードに対する独立して導き出されたポインタを発生す
    る、請求項1に記載の装置。
  5. 【請求項5】前記計算ユニットが、前記発生器により発
    生されたシンドロームを前記コードワードに対する単一
    の誤りパターンとして用いる、請求項4に記載の装置。
  6. 【請求項6】前記計算ユニットが、前記コードワードに
    対する前記独立して導き出されたポインタを、該コード
    ワードに対する前記マルチビットのバッファで得られた
    ポインタと比較し、かつ、該比較に基づいてポインタ比
    較信号を出力する、請求項1に記載の装置。
  7. 【請求項7】もし前記コードワードに対する前記独立し
    て導き出されたポインタが、該コードワードに対する前
    記マルチビットのバッファで得られたポインタに等しく
    ないのなら、前記ポインタ比較信号が、訂正不可能なコ
    ードワードを示す、請求項6に記載の装置。
  8. 【請求項8】前記発生器により発生された前記マルチビ
    ットのバッファで得られたポインタが、αのフォーマ
    ットのものである、請求項1に記載の装置。
  9. 【請求項9】前記発生器および前記計算ユニットがそれ
    ぞれ2つのフェーズのあいだに動作され、第1のフェー
    ズのあいだに、 該発生器は、最も最近のコードワードに対する何らかの
    1ビットのバッファで得られたポインタを用いることに
    よって、該最も最近のコードワードに対するマルチビッ
    トのバッファで得られたポインタを発生し、一方 該計算ユニットは、以前のコードワードに対して該発生
    器により発生された前記シンドロームを用いることによ
    って、該以前のコードワードに対する誤りパターンを発
    生し、 第2のフェーズのあいだに、 該発生器は、該最も最近のコードワードに対するシンド
    ロームを発生し、一方 該計算ユニットは、該最も最近のコードワードに対する
    何らかのマルチビットのバッファで得られたポインタに
    ついて数学的演算をおこなう、請求項1に記載の装置。
  10. 【請求項10】1コードワードにつき1つの、1ビット
    のバッファで得られたポインタが、前記バッファに設け
    られる時、前記マルチビットのバッファで得られたポイ
    ンタに対しておこなわれる前記数学的演算が、該マルチ
    ビットのバッファで得られたポインタの、α基底表現か
    らβ基底表現への変換である、請求項9に記載の装置。
  11. 【請求項11】前記第2のフェーズのあいだ、前記計算
    ユニットが、前記発生器により発生された前記シンドロ
    ームを用いることによって、前記コードワードに対する
    独立して導き出されたポインタを発生する、請求項9に
    記載の装置。
  12. 【請求項12】前記第1のフェーズのあいだ、前記計算
    ユニットが、前記以前のコードワードに対する前記独立
    して導き出されたポインタを、該以前のコードワードに
    対する前記マルチビットのバッファで得られたポインタ
    と比較し、かつ、該比較に基づいてポインタ比較信号を
    出力する、請求項11に記載の装置。
  13. 【請求項13】もし前記以前のコードワードに対する前
    記独立して導き出されたポインタが、該以前のコードワ
    ードに対する前記マルチビットのバッファで得られたポ
    インタに等しくないのなら、前記ポインタ比較信号が、
    訂正不可能なコードワードを示す、請求項12に記載の装
    置。
  14. 【請求項14】1コードワードにつき2つの、1ビット
    のバッファで得られたポインタが、前記バッファに設け
    られる時、前記マルチビットのバッファで得られたポイ
    ンタに対しておこなわれる前記数学的演算が、該2つ
    の、マルチビットのバッファに得られたポインタの、α
    基底表現からβ基底表現への変換と、該2つの、マルチ
    ビットのバッファに得られたポインタの該β基底表現の
    和の逆数を形成することとである、請求項9に記載の装
    置。
  15. 【請求項15】前記訂正ユニットが2つのフェーズのあ
    いだに動作され、前記第1のフェーズのあいだは、該訂
    正ユニットが、前記最も最近のコードワードに対する何
    らかのマルチビットのバッファで得られたポインタを格
    納し、かつ前記第2のフェーズのあいだは、該訂正ユニ
    ットが、前記計算ユニットにより発生された前記誤りパ
    ターンを用いることによって、前記以前のコードワード
    を訂正する、請求項9に記載の装置。
  16. 【請求項16】前記バッファが、第1ブロックと第2ブ
    ロックとを含む2つのインタリーブされたブロックを有
    するものと概念づけられ、該バッファからコードワード
    がペアをなして得られ、該コードワードのペアがそれぞ
    れ、該第1ブロックから得られた第1ブロックの最も最
    近のコードワードと、該第2ブロックから得られた第2
    ブロックの最も最近のコードワードと、を含んでいる、
    装置において、 前記第1のフェーズのあいだは、 前記発生器は、該第1ブロックの最も最近のコードワー
    ドおよび該第2ブロックの最も最近のコードワードの両
    方に対する何らかのマルチビットのバッファで得られた
    ポインタを発生し、一方 該計算ユニットは、該第1ブロックから以前のコードワ
    ードに対する誤りパターンを発生した後、該第2ブロッ
    クから以前のコードワードに対する誤りパターンを発生
    し、該第1ブロックからの該以前のコードワードは、該
    第2ブロックからの該以前のコードワードとペアにされ
    ており、 第2のフェーズのあいだは、 該発生器は、該第1ブロックの最も最近のコードワード
    および該第2ブロックの最も最近のコードワードに対す
    るシンドロームを発生し、一方 該計算ユニットは、該第1ブロックからの該以前のコー
    ドワード、および、該第2ブロヅクからの該以前のコー
    ドワードに対する何らかのマルチビットのバッファで得
    られたポインタについて数学的演算をおこなう、請求項
    9に記載の装置。
  17. 【請求項17】コードワードのかたちのデータと、その
    ようなデータに対して発生された何らかのポインタとを
    得るバッファと共に用いられ、該バッファからの該ポイ
    ンタが、1ビットのバッファで得られたポインタであ
    る、誤り訂正方法であって、 (1)最も最近のコードワードに対する何らかの1ビッ
    トのバッファで得られたポインタを用いることによっ
    て、該最も最近のコードワードに対するマルチビットの
    バッファで得られたポインタを発生するステップと、 (2)以前のコードワードに対して発生されたシンドロ
    ームを用いることによって、該以前のコードワードに対
    する誤りパターンを発生するステップと、 (3)該最も最近のコードワードに対するシンドローム
    を発生するステップと、 (4)該最も最近のコードワードに対する何らかのマル
    チビットのバッファで得られたポインタに対して数学的
    演算をおこなうステップと、 を含んでいる、方法。
  18. 【請求項18】前記バッファが、コンパクトディスクか
    らコードワードのかたちのデータを得る、請求項17に記
    載の方法。
  19. 【請求項19】前記シンドロームを発生し、かつマルチ
    ビットのバッファで得られたポインタを発生するために
    シンドローム発生器を用いるステップをさらに含んでい
    る、請求項17に記載の方法。
  20. 【請求項20】前記ステップ(1)および(2)が動作
    の第1フェーズのあいだに本質的に同時に実行され、前
    記ステップ(3)および(4)が動作の第2フェーズの
    あいだに本質的に同時に実行される、請求項17に記載の
    方法。
  21. 【請求項21】前記ステップ(1)および(2)のあい
    だ、前記最も最近のコードワードに対する何らかのマル
    チビットのバッファで得られたポインタが、訂正ユニッ
    トに格納され、いっぽう、前記ステップ(3)および
    (4)のあいだ、該訂正ユニットが、前記計算ユニット
    により発生された前記誤りパターンを用いることによっ
    て、前記以前のコードワードを訂正する、請求項17に記
    載の方法。
  22. 【請求項22】2つの誤りを含む1コードワードにつき
    2つの、1ビットのバッファで得られたポインタが、前
    記バッファに設けられる時、前記ステップ(1)のあい
    だに、2つの、対応するマルチビットのバッファで得ら
    れたポインタが、該2つの誤りを含むコードワードに対
    して発生され、前記ステップ(4)において、該2つの
    誤りを含むコードワードに対する該2つの、マルチビッ
    トのバッファで得られたポインタが用いられることによ
    って、該2つの誤りを含むコードワードに対する中間ポ
    インタ表現を形成し、かつ前記ステップ(2)におい
    て、前記シンドロームおよび該中間ポインタ表現の両方
    が用いられることによって、該2つの誤りを含むコード
    ワードに対する2つの誤りパターンを発生する、請求項
    17に記載の方法。
  23. 【請求項23】2つ未満の誤りを含むコードワードにつ
    き1つの、1ビットのバッファで得られたポインタが、
    前記バッファに設けられるとき、前記シンドロームが用
    いられることによって、該2つ未満の誤りを含むコード
    ワードに対する独立して導き出されたポインタを発生す
    る、請求項17に記載の方法。
  24. 【請求項24】前記独立して導き出されたポインタが、
    前記ステップ(2)のあいだに発生される、請求項23に
    記載の方法。
  25. 【請求項25】前記2つ未満の誤りを含むコードワード
    に対する前記独立して導き出されたポインタと、該2つ
    未満の誤りを含むコードワードに対する前記マルチビッ
    トのバッファで得られたポインタとを比較することと、 該比較に基づいてポインタ比較信号を出力することと、 をさらに含んでいる、請求項23に記載の方法。
  26. 【請求項26】もし前記2つ未満の誤りを含むコードワ
    ードに対する前記独立して導き出されたポインタが、該
    2つ未満の誤りを含むコードワードに対する前記マルチ
    ビットのバッファで得られたポインタに等しくないのな
    ら、前記ポインタ比較信号が、訂正不可能なコードワー
    ドを示す、請求項25に記載の方法。
  27. 【請求項27】シンドロームが、前記コードワードに対
    する単一の誤りパターンとして用いられる、請求項23に
    記載の方法。
  28. 【請求項28】2つ未満の誤りを含むコードワードにつ
    き1つの、1ビットのバッファで得られたポインタが、
    前記バッファに設けられる時、前記マルチビットのバッ
    ファで得られたポインタに対しておこなわれる前記数学
    的演算が、該マルチビットのバッファで得られたポイン
    タの、α基底表現からβ基底表現への変換である、請求
    項17に記載の方法。
  29. 【請求項29】2つの誤りを含むコードワードにつき2
    つの、1ビットのバッファで得られたポインタが、前記
    バッファに設けられる時、前記マルチビットのバッファ
    で得られたポインタに対しておこなわれる前記数学的演
    算が、 該2つの、マルチビットのバッファで得られたポインタ
    の、α基底表現からβ基底表現への変換と、 該2つの、マルチビットのバッファで得られたポインタ
    の該β基底表現の和の逆数を形成することと、 を含んでいる、請求項17に記載の方法。
  30. 【請求項30】前記バッファが、第1ブロックと第2ブ
    ロックとを含む2つのインタリーブされたブロックを有
    するものと概念づけられ、該バッファからコードワード
    がペアをなして得られ、該コードワードのペアがそれぞ
    れ、該第1ブロックから得られた第1ブロックの最も最
    近のコードワードと、該第2ブロックから得られた第2
    ブロックの最も最近のコードワードと、を含んでいる、
    方法において、 前記ステップ(1)のあいだは、何らかのマルチビット
    のバッファで得られたポインタが、該第1ブロックの最
    も最近のコードワードおよび該第2ブロックの最も最近
    のコードワードの両方に対して発生され、一方 前記ステップ(2)のあいだは、まずある誤りパターン
    が、該第1ブロックから以前のコードワードに対して発
    生された後、ある誤りパターンが、該第2ブロックから
    以前のコードワードに対して発生され、該第1ブロック
    からの該以前のコードワードは、該第2ブロックからの
    該以前のコードワードとペアにされており、 前記ステップ(3)のあいだは、シンドロームが、該第
    1ブロックの最も最近のコードワードおよび該第2ブロ
    ックの最も最近のコードワードに対して発生され、かつ 前記ステップ(4)のあいだは、数学的演算が、該第1
    ブロックからの該以前のコードワード、および、該第2
    ブロックからの該以前のコードワードに対する何らかの
    マルチビットのバッファで得られたポインタについてお
    こなわれる、請求項17に記載の方法。
  31. 【請求項31】前記ステップ(1)および(2)が動作
    の第1フェーズのあいだに本質的に同時に実行され、前
    記ステップ(3)および(4)が動作の第2フェーズの
    あいだに本質的に同時に実行される、請求項30に記載の
    方法。
  32. 【請求項32】2つの誤りを含むコードワードにつき2
    つの、1ビットのバッファで得られたポインタが、前記
    バッファに設けられる時、前記ステップ(1)のあいだ
    に、2つの、対応するマルチビットのバッファで得られ
    たポインタが、該2つの誤りを含むコードワードに対し
    て発生され、前記ステップ(4)において、該2つの誤
    りを含むコードワードに対する該2つの、マルチビット
    のバッファで得られたポインタが用いられることによっ
    て、該2つの誤りを含むコードワードに対する中間ポイ
    ンタ表現を形成し、かつ前記ステップ(2)において、
    前記シンドロームおよび該中間ポインタ表現の両方が用
    いられることによって、該2つの誤りを含むコードワー
    ドに対する2つの誤りパターンを発生する、請求項30に
    記載の方法。
  33. 【請求項33】2つ未満の誤りを含むコードワードにつ
    き1つの、1ビットのバッファで得られたポインタが前
    記バッファに設けられるとき、前記シンドロームが用い
    られることによって、該2つ未満の誤りを含むコードワ
    ードに対する独立して導き出されたポインタを発生す
    る、請求項30に記載の方法。
  34. 【請求項34】前記独立して導き出されたポインタが、
    前記ステップ(2)のあいだに発生される、請求項33に
    記載の方法。
  35. 【請求項35】前記2つ未満の誤りを含むコードワード
    に対する前記独立して導き出されたポインタと、該2つ
    未満の誤りを含むコードワードに対する前記マルチビッ
    トのバッファで得られたポインタとを比較することと、 該比較に基づいてポインタ比較信号を出力することと、 をさらに含んでいる、請求項34に記載の方法。
  36. 【請求項36】もし前記2つ未満の誤りを含むコードワ
    ードに対する前記独立して導き出されたポインタが、該
    2つ未満の誤りを含むコードワードに対する前記マルチ
    ビットのバッファで得られたポインタに等しくないのな
    ら、前記ポインタ比較信号が、訂正不可能なコードワー
    ドを示す、請求項35に記載の方法。
  37. 【請求項37】2つ未満の誤りを含むコードワードにつ
    き1つの、1ビットのバツファで得られたポインタが、
    前記バッファに設けられる時、前記マルチビットのバッ
    ファで得られたポインタに対しておこなわれる前記数学
    的演算が、該マルチビットのバッファで得られたポイン
    タの、α基底表現からβ基底表現への変換である、請求
    項30に記載の方法。
  38. 【請求項38】2つの誤りを含むコードワードにつき2
    つの、1ビットのバッファで得られたポインタが、前記
    バッファに設けられる時、前記マルチビットのバッファ
    で得られたポインタに対しておこなわれる前記数学的演
    算が、 該2つの、マルチビットのバッファで得られたポインタ
    の、α基底表現からβ基底表現への変換と、 該2つの、マルチビットのバッファで得られたポインタ
    の該β基底表現の和の逆数を形成することと、 含んでいる、請求項30に記載の方法。
  39. 【請求項39】前記バッファが、コンパクトディスクか
    らコードワードのかたちのデータを得る、請求項30に記
    載の方法。
  40. 【請求項40】サブコードパックに対して誤り訂正をお
    こなう方法であって、 該パックの第1部分にわたって第1セットのシンドロー
    ムを発生することと、 該パックの第2部分にわたって第2セットのシンドロー
    ムを発生することと、 該パックの全体にわたって第3セットのシンドロームを
    発生することと、 該第1、該第2および該第3セットのシンドロームを解
    析することと、 該解析に基づいて、複数の誤り訂正戦略のうちの1つを
    該パックについて選択することと、 を含む方法。
  41. 【請求項41】前記第1セットのシンドロームが、前記
    パックのQ部分にわたって発生され、前記第2セットの
    シンドロームが、該パックのP部分にわたって発生され
    る、請求項40に記載の方法。
  42. 【請求項42】前記第1セットのシンドロームが、前記
    パックのパック識別情報を含んでいる部分にわたって発
    生され、前記第2セットのシンドロームが、該パックの
    ディジタルデータを含んでいる部分にわたって発生され
    る、請求項40に記載の方法。
  43. 【請求項43】前記解析が、誤りは前記パックの前記第
    2部分には存在しうるが、該パックの前記第1部分には
    ないことを示すとき、第1戦略が選択される、請求項40
    に記載の方法。
  44. 【請求項44】前記第1戦略が、前記パックの前記第2
    部分の二重誤り訂正を伴う、請求項43に記載の方法。
  45. 【請求項45】前記パックの前記第2部分の前記二重誤
    り訂正が、 誤りロケータ多項式を用いてルートサーチをおこなうこ
    とと、 該ルートサーチのあいだに位置が特定されたルートを用
    いることによって、ポインタを発生することと、 前記シンドロームを用いることによって、該ポインタに
    より示された、該パックの該第2部分におけるバイトに
    対して誤りパターンを発生することと、 を伴う、請求項44に記載の方法。
  46. 【請求項46】前記解析が、誤りは前記パックの前記第
    1部分および該パックの前記第2部分の両方に存在しう
    ることを示すとき、第2戦略が選択される、請求項40に
    記載の方法。
  47. 【請求項47】前記第2戦略が、前記パックの前記第1
    部分および該パックの前記第2部分のそれぞれにおける
    単一誤り訂正を伴う、請求項46に記載の方法。
  48. 【請求項48】前記第2戦略が、前記パックの前記第1
    部分のみにわたって発生された前記シンドロームを用い
    ることによって、該パックの該第1部分におけるバイト
    に対する誤りパターンを発生することと、該パックの前
    記第2部分のみにわたって発生された前記シンドローム
    を用いることによって、該パックの該第2部分における
    バイトに対する誤りパターンを発生することと、を伴
    う、請求項47に記載の方法。
  49. 【請求項49】前記解析が、誤りは前記パックの前記第
    1部分のみに存在しうることを示すとき、第3戦略が選
    択される、請求項40に記載の方法。
  50. 【請求項50】前記第3戦略が、前記パックの前記第1
    部分における3バイトの訂正を伴う、請求項49に記載の
    方法。
  51. 【請求項51】前記シンドロームの線形結合を用いて、
    複数の誤りパターンが計算される、請求項49に記載の方
    法。
  52. 【請求項52】単一ビットの入力値を受け取り、該単一
    ビット値を用いることによって、データの誤り訂正に用
    いられるマルチビット出力値を発生する発生器であっ
    て、異なるフィールド長を有するマルチビット値を発生
    するように選択的に構成可能である、発生器。
  53. 【請求項53】前記発生器が、シンドローム発生器であ
    る、請求項52に記載の装置。
  54. 【請求項54】前記発生器が、コンピュータデータ用の
    シンドロームおよびディジタルオーディオサブコード用
    のシンドロームの両方を発生する、請求項52に記載の装
    置。
  55. 【請求項55】前記発生器が、8ビット出力値および6
    ビット出力値の両方を発生する、請求項52に記載の装
    置。
  56. 【請求項56】誤り訂正に用いられる出力値を発生する
    発生器であって、 入力値を受け取るように接続された第1入力端子を有す
    る第1加算器と、 出力値をその中に蓄積する第1のレジスタペアであっ
    て、該第1のレジスタペアの第1レジスタが、 該第1加算器の出力端子に接続された入力端子、および 該第1のレジスタペアの第2レジスタの入力端子に接続
    された出力端子を有している、第1のレジスタペアと、 第1フィードバック回路であって、該第1のレジスタペ
    アの該第2レジスタの出力端子に接続された入力端子、
    および該第1加算器の第2の入力端子に接続された出力
    端子を有する、第1フィードバック回路と、 を備えている発生器において、 該第1フィードバック回路が、複数のフィードバック定
    数の中から選択された1つが、該回路により利用される
    ように選択的に構成可能である、発生器。
  57. 【請求項57】前記第1フィードバック回路が、異なる
    フィールド長に対するフィードバック定数の間で選択す
    るように構成可能である、請求項56に記載の装置。
  58. 【請求項58】前記第1フィードバック回路が、複数の
    対応するフィードバック定数乗算器をその上に含む複数
    のフィードバックラインを有しており、該第1フィード
    バック回路が、該複数のフィードバックラインの間で選
    択するためのスイッチをさらに備えている、請求項57に
    記載の装置。
  59. 【請求項59】第1フィードバック定数が、8ビットバ
    イトフィールド長に対応しており、第2フィードバック
    定数が、6ビットバイトフィールド長に対応している、
    請求項57に記載の装置。
  60. 【請求項60】前記発生器がシンドローム発生器であ
    り、該発生器が、前記第1フィードバック定数を用いる
    ことによりコンピュータデータに対するシンドロームを
    発生し、かつ該発生器が、前記第2フィードバック定数
    を用いることによりサブコードに対するシンドロームを
    発生する、請求項59に記載の装置。
  61. 【請求項61】入力値を受け取るように接続された第1
    入力端子を有する第2加算器と、 出力値をその中に蓄積する第2のレジスタペアであっ
    て、該第2のレジスタペアの第1レジスタが、 該加算器の出力端子に接続された入力端子、および 該第2のレジスタペアの第2レジスタの入力端子に接続
    された出力端子を有している、第2のレジスタペアと、 第2フィードバック回路であって、該第2のレジスタペ
    アの該第2レジスタの出力端子に接続された入力端子、
    および該加算器の第2の入力端子に接続された出力端子
    を有する、第2フィードバック回路と、 をさらに備えている装置において、 該第1第2回路が、複数のフィードバック定数のうちの
    選択された1つが、該回路により利用されるように選択
    的に構成可能である、請求項56に記載の装置。
  62. 【請求項62】同一の入力値を、前記第1加算器と、前
    記第2加算器とに与えるスイッチング手段をさらに備え
    ている、請求項61に記載の装置。
  63. 【請求項63】コンピュータデータあるいはバッファ内
    に格納されたサブコードを訂正するように動作可能であ
    る、コンパクトディスクドライブ用の誤り訂正システム
    であって、 コンピュータデータあるいはディジタルオーディオサブ
    コードのいずれが訂正されているかを示すモード信号を
    出力するコントローラと、 該コントローラにより出力された該信号に応じて、コン
    ピュータデータシンドロームおよびサブコードシンドロ
    ームの一方を発生するシンドローム発生器と、 該コントローラの制御の下に、該シンドローム発生器に
    より発生されたシンドロームを用いることによって誤り
    パターンを発生する、誤りパターン発生器と、を備えて
    いる誤り訂正システムにおいて、 該モード信号と、該シンドローム発生器により発生され
    た該シンドロームとに応じて、該コントローラが、該誤
    りパターン発生器による誤りパターン発生を制御するた
    めに、複数の誤りパターン発生プロシージャの中から選
    択する、誤り訂正システム。
  64. 【請求項64】前記モード信号が、コンピュータデータ
    が訂正されていることを示すとき、前記誤りパターン発
    生器が前記シンドロームを用いることによって、システ
    ムポインタビットを発生し、かつ、該シンドロームが、
    該システムポインタビットを用いて、マルチビットのシ
    ステムポインタ値を発生する、請求項63に記載の装置。
  65. 【請求項65】前記誤りパターン発生器が、前記マルチ
    ビットのシステムポインタ値をバッファに供給されたポ
    インタ値とさらに比較する、請求項64に記載の装置。
  66. 【請求項66】前記モード信号が、コンピュータデータ
    が訂正されていることを示すとき、前記コントローラ
    が、該訂正されているデータに対して前記バッファ内に
    格納されたバッファに供給されたポインタの個数に応じ
    て、誤りパターン発生プロシージャを選択する、請求項
    63に記載の装置。
  67. 【請求項67】前記モード信号が、コンピュータデータ
    が訂正されていること、およびバッファに供給されたポ
    インタが1つしかないことを示すとき、前記誤りパター
    ン発生器が、前記シンドロームを用いることによってシ
    ステムポインタを発生する、請求項66に記載の装置。
  68. 【請求項68】前記モード信号が、サブコードデータが
    訂正されていることを示すとき、前記シンドローム発生
    器が、サブコードパックの第1部分にわたって第1セッ
    トのシンドロームを発生し、該パックの第2部分にわた
    って第2セットのシンドロームを発生し、かつ全パック
    にわたって第3セットのシンドロームを発生する、請求
    項63に記載の装置。
  69. 【請求項69】前記第1セットのシンドロームが、前記
    パックのパック識別情報を含む部分にわたって発生さ
    れ、前記第2セットのシンドロームが、該パックのディ
    ジタルデータを含む部分にわたって発生される、請求項
    68に記載の装置。
  70. 【請求項70】前記モード信号が、サブコードデータが
    訂正されていることを示すとき、前記シンドロームが、
    誤りは前記パックの前記第2部分には存在しうるが、該
    パックの前記第1部分にはないことを示すのなら、前記
    コントローラは、第1のサブコード誤りパターン発生戦
    略を選択し、該シンドロームが、誤りは該パックの該第
    1部分および該パックの該第2部分の両方に存在しうる
    ことを示すのなら、第2の誤りパターン発生戦略を選択
    し、かつ該シンドロームが、誤りは該パックの該第1部
    分にのみ存在しうることを示すのなら、第3の誤りパタ
    ーン発生戦略を選択する、請求項68に記載の装置。
  71. 【請求項71】複数の1ビット入力値を受け取り、該複
    数の1ビット値を用いて、データの誤り訂正用のマルチ
    ビット出力値を発生する計算器であって、 該複数の1ビット入力値をシリアルに受け取るマルチビ
    ットレジスタと、 該レジスタの少なくとも2組のビットのうちの選択され
    た一方をその入力として受け取るように接続されるフィ
    ードバック回路であって、該2組のビットのうちの一方
    を選択する処理は、選択されたフィールドジェネレータ
    多項式に従って行われるフィードバック回路とを備え、 該フィードバック回路は、該レジスタから受け取った該
    入力に対して乗算を行い、該乗算の積を該レジスタに付
    与する機能を有し、これにより、該計算器は、異なるフ
    ィールド長を有する複数のマルチビット値を発生するよ
    うに選択的に構成可能である、計算器。
  72. 【請求項72】前記計算器は、ポインタに対する基底変
    換を行う、請求項71に記載の装置。
  73. 【請求項73】前記計算器は、コンピュータデータおよ
    びデジタルオーディオサブコードの両方について、ポイ
    ンタに対する基底変換を行う、請求項71に記載の装置。
  74. 【請求項74】前記計算器は、8ビット出力値および6
    ビット出力値の両方を発生する、請求項71に記載の装
    置。
  75. 【請求項75】第1のフィールドが有限フィールドGF
    (2^m)であり、第2のフィールドが有限フィールドGF
    (2^n)であり、mはnと等しくない、請求項71に記載
    の装置。
  76. 【請求項76】前記マルチビットレジスタが第1のシリ
    アルレジスタであり、 第2のシリアルレジスタと、 該第1のシリアルレジスタの内容および該第2のシリア
    ルレジスタの内容に対するシリアル内積値を発生する内
    積回路と、 該シリアル内積を用いて該第2のシリアルレジスタの内
    容を更新する加算器と、 をさらに備えた、請求項71に記載の装置。
  77. 【請求項77】前記フィードバック回路が、 前記レジスタのビットの少なくとも2組のうちの第1の
    組に接続される第1のXORゲートと、 該レジスタのビットの該少なくとも2組のうちの第2の
    組に接続される第2のXORゲートと、 該第2のXORゲートの出力端子およびフィールド長選択
    信号に接続されるイネーブルゲートと、 該第1のXORゲートの出力端子および該イネーブルゲー
    トの出力端子に接続される第3のXORゲートであって、
    該第3のXORゲートの出力端子は該レジスタに接続され
    る、第3のXORゲートと、 を備えている、請求項71に記載の装置。
  78. 【請求項78】誤り訂正用の出力値を発生する発生器で
    あって、該発生器は、入力値を受け取るように接続され
    る第1の入力端子を有する第1の加算器と、第1のレジ
    スタ対であって、該第1のレジスタ対の中の複数の出力
    値を累積し、 該第1のレジスタ対の第1のレジスタは、 該第1の加算器の出力端子に接続される入力端子と、 該第1のレジスタ対の第2のレジスタの入力端子に接続
    される出力端子と、を有する、 第1のレジスタ対と、 第1のフィードバック回路であって、該第1のレジスタ
    対の該第2のレジスタの出力端子に接続される入力端子
    と、該第1の加算器の第2の入力端子に接続される出力
    端子とを有する第1のフィードバック回路と、 を備え、 該第1のフィードバック回路は、複数のフィードバック
    定数のうちの選択された一方がそれによって利用される
    ように選択的に構成可能である、発生器。
JP51040596A 1994-09-16 1995-09-15 多目的誤り訂正システム Expired - Fee Related JP3250735B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US307,259 1994-09-16
US08/307,259 US5592404A (en) 1993-11-04 1994-09-16 Versatile error correction system
PCT/US1995/011987 WO1996008873A1 (en) 1994-09-16 1995-09-15 Versatile error correction system

Publications (2)

Publication Number Publication Date
JPH10500270A JPH10500270A (ja) 1998-01-06
JP3250735B2 true JP3250735B2 (ja) 2002-01-28

Family

ID=23188931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51040596A Expired - Fee Related JP3250735B2 (ja) 1994-09-16 1995-09-15 多目的誤り訂正システム

Country Status (7)

Country Link
US (1) US5592404A (ja)
EP (3) EP0973267A3 (ja)
JP (1) JP3250735B2 (ja)
KR (1) KR100295478B1 (ja)
CN (1) CN1099110C (ja)
DE (1) DE69516882T2 (ja)
WO (1) WO1996008873A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592498A (en) * 1994-09-16 1997-01-07 Cirrus Logic, Inc. CRC/EDC checker system
US5727003A (en) * 1995-07-03 1998-03-10 Cirrus Logic, Inc. Method and apparatus for flash burst error correction
FR2743908B1 (fr) * 1996-01-18 1998-02-27 Sgs Thomson Microelectronics Procede de production d'un parametre de correction d'erreur associe a la mise en oeuvre d'operation modulaire selon la methode de montgomery
FR2751810B1 (fr) * 1996-07-23 1998-10-23 Sgs Thomson Microelectronics Systeme de correction d'erreurs dans des trames de donnees ayant des codes de parite horizontaux et verticaux
US6092231A (en) * 1998-06-12 2000-07-18 Qlogic Corporation Circuit and method for rapid checking of error correction codes using cyclic redundancy check
EP1131893B1 (en) * 1998-11-09 2004-08-04 Broadcom Corporation Forward error corrector
US6260053B1 (en) 1998-12-09 2001-07-10 Cirrus Logic, Inc. Efficient and scalable FIR filter architecture for decimation
US6147631A (en) * 1998-12-09 2000-11-14 Cirrus Logic, Inc. Input sampling structure for delta-sigma modulator
US6662336B1 (en) 1999-07-06 2003-12-09 Cirrus Logic, Inc. Error correction method and apparatus
US6446233B1 (en) 1999-09-10 2002-09-03 Lsi Logic Corporation Forward error correction apparatus and methods
KR100499878B1 (ko) * 2001-09-29 2005-07-07 주식회사 씨엔에스 디브이디 램에서의 피아이디에 대한 에러 정정 회로
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7007114B1 (en) 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7457903B2 (en) 2003-03-10 2008-11-25 Marvell International Ltd. Interrupt controller for processing fast and regular interrupts
US7099963B2 (en) * 2003-03-10 2006-08-29 Qlogic Corporation Method and system for monitoring embedded disk controller components
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
ATE421143T1 (de) * 2003-05-30 2009-01-15 Ibm Datenspeichersysteme
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7757009B2 (en) 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US20070128459A1 (en) * 2005-12-07 2007-06-07 Kurian Joseph V Poly(trimethylene terephthalate)/poly(alpha-hydroxy acid) films
US7743311B2 (en) * 2006-01-26 2010-06-22 Hitachi Global Storage Technologies Netherlands, B.V. Combined encoder/syndrome generator with reduced delay
EP2096884A1 (en) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telecommunications network and method for time-based network access
US8543888B2 (en) * 2009-06-09 2013-09-24 Microchip Technology Incorporated Programmable cyclic redundancy check CRC unit
US8139304B2 (en) * 2010-08-03 2012-03-20 International Business Machines Corporation Tape layout design for reliable ECC decoding
US11383494B2 (en) 2016-07-01 2022-07-12 General Electric Company Ceramic matrix composite articles having different localized properties and methods for forming same
US9853810B1 (en) * 2016-09-30 2017-12-26 International Business Machines Corporation Message padding for bit-oriented and bit-reversed input messages

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US28923A (en) * 1860-06-26 Henry o
US4077028A (en) * 1976-06-14 1978-02-28 Ncr Corporation Error checking and correcting device
DE3336747C2 (de) * 1983-10-08 1985-11-28 Deutsche Thomson-Brandt Gmbh, 7730 Villingen-Schwenningen Verfahren zur Auswertung eines aus mehreren Codeelementen bestehenden Steuercodewortes
CN1004309B (zh) * 1985-04-01 1989-05-24 索尼公司 用于记录和/或重现数字数据的系统
JPS62281626A (ja) * 1986-05-30 1987-12-07 Nippon Telegr & Teleph Corp <Ntt> デジタルデ−タ伝送方式
US5218691A (en) * 1988-07-26 1993-06-08 Disk Emulation Systems, Inc. Disk emulation system
US5027357A (en) * 1988-10-14 1991-06-25 Advanced Micro Devices, Inc. ECC/CRC error detection and correction system
US5157669A (en) * 1988-10-14 1992-10-20 Advanced Micro Devices, Inc. Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors
US5084878A (en) * 1988-10-24 1992-01-28 Hitachi, Ltd. Fault tolerant system employing majority voting
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5010554A (en) * 1989-05-12 1991-04-23 At&T Bell Laboratories Error correction method and apparatus
US5185711A (en) * 1989-12-08 1993-02-09 Sony Corporation Apparatus for dividing elements of a finite galois field and decoding error correction codes
US5440570A (en) * 1990-03-27 1995-08-08 National Science Council Real-time binary BCH decoder
JPH04222029A (ja) * 1990-12-21 1992-08-12 Sony Corp エラー訂正方法
KR930010355B1 (ko) * 1991-07-09 1993-10-16 삼성전자 주식회사 데이타 오류정정 디코딩방법 및 그 장치
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
US5404361A (en) * 1992-07-27 1995-04-04 Storage Technology Corporation Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem
JPH0696531A (ja) * 1992-09-11 1994-04-08 Pioneer Electron Corp サブコードq補間装置
JPH06203487A (ja) * 1992-12-28 1994-07-22 Fujitsu Ltd 誤り訂正方法及び装置
KR0141240B1 (ko) * 1993-06-28 1998-07-15 김광호 에러정정용 메모리장치

Also Published As

Publication number Publication date
EP0974968A2 (en) 2000-01-26
DE69516882T2 (de) 2000-11-16
KR100295478B1 (ko) 2001-09-17
WO1996008873A1 (en) 1996-03-21
JPH10500270A (ja) 1998-01-06
CN1158676A (zh) 1997-09-03
DE69516882D1 (de) 2000-06-15
EP0973267A3 (en) 2003-10-15
EP0973267A2 (en) 2000-01-19
CN1099110C (zh) 2003-01-15
KR970706655A (ko) 1997-11-03
US5592404A (en) 1997-01-07
EP0781470A1 (en) 1997-07-02
EP0974968A3 (en) 2003-12-03
EP0781470B1 (en) 2000-05-10

Similar Documents

Publication Publication Date Title
JP3250735B2 (ja) 多目的誤り訂正システム
EP0167627A1 (en) Method and apparatus for decoding error correction code
JP3250736B2 (ja) 多目的誤り訂正計算回路
JP3245119B2 (ja) 新たな多項式配列構造を採用したリード−ソロモン復号器とその復号方法
JP3281387B2 (ja) Crc/edcチェッカシステム
EP0905911A2 (en) Data error correcting method and apparatus
JP3345385B2 (ja) チェンサーチ装置
GB2042228A (en) Data correcting system
JP2001127645A (ja) 誤り訂正方法および誤り訂正装置
US6453441B1 (en) Error correcting device and optical disk reader comprising same
US5471486A (en) Methods and devices for encoding data symbols in accordance with a BCH code to obtain a code word in which parity symbols are located in the middle of the code word
JPH11328880A (ja) 誤り訂正装置及び光ディスク読取装置
EP0595326B1 (en) Reed-Solomon decoding with Euclid algorithm
US6564352B1 (en) Error detection circuit applicable to a disk reproduction apparatus
JPH0147943B2 (ja)
EP0584864B1 (en) A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes
JP2001044853A (ja) チェンサーチ回路、誤り訂正装置及びディスクドライブ装置
JP2963018B2 (ja) リード・ソロモン誤り訂正符号復号化回路
JP2553565B2 (ja) ガロア体演算装置
US6131179A (en) Reed-Solomon decoding device
JP3310186B2 (ja) リード・ソロモン符号の復号回路
JP3418718B2 (ja) 磁気テープ装置の制御装置及びその再同期信号検出方法
JP4595238B2 (ja) 消失のみ訂正方法、消失のみ訂正方法のプログラム、消失のみ訂正方法のプログラムを記録した記録媒体及び消失訂正専用回路
JP3135552B2 (ja) リードソロモン符号の誤り検出及び訂正装置
KR100215807B1 (ko) 디지탈 신호의 에러 정정 장치 및 방법

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees