JP3891568B2 - 誤り訂正符号を復号化する方法及び装置 - Google Patents
誤り訂正符号を復号化する方法及び装置 Download PDFInfo
- Publication number
- JP3891568B2 JP3891568B2 JP2002568514A JP2002568514A JP3891568B2 JP 3891568 B2 JP3891568 B2 JP 3891568B2 JP 2002568514 A JP2002568514 A JP 2002568514A JP 2002568514 A JP2002568514 A JP 2002568514A JP 3891568 B2 JP3891568 B2 JP 3891568B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- codeword
- corrected
- error correction
- data symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012937 correction Methods 0.000 title claims description 89
- 238000000034 method Methods 0.000 title claims description 54
- 230000001934 delay Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000003111 delayed effect Effects 0.000 description 9
- 208000011580 syndromic disease Diseases 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 2
- 229920000776 Poly(Adenosine diphosphate-ribose) polymerase Polymers 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
- H03M13/293—Decoding strategies with erasure setting
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2921—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
- H03M13/2924—Cross interleaved Reed-Solomon codes [CIRC]
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
本発明は、リード・ソロモン・クロス・インターリーブ符号化(CIRC)方式の誤り訂正符号を復号化する方法及び装置に係り、特に、光記憶媒体から読み出されたデジタルデータのバーストエラーやランダムエラーに対する訂正性能が向上した復号化に関する。
【0002】
〔背景技術〕
例えば、(28,24)リード・ソロモン符号(C2符号)を含むCIRC符号の符号化処理は、24個のデータシンボルに対して実行される。各シンボルの語長は8ビットである。典型的なオーディオ応用において、各オーディオサンプルは16ビットにより表現される。このようなデジタルオーディオ信号をチャネル符号化するため上述のCIRC符号が使用される場合、各サンプルは2個の8ビットシンボルにより表現できる。各8ビットシンボルは、ステレオ・オーディオデータの2個のチャネルのうちの一方のチャネルのあるオーディオサンプルの8個の最上位ビットMSB若しくは8個の最下位ビットLSBのいずれかを表現する。第1の配置状態を有するこれらのデータシンボルは、インターリーブ操作によって第2の配置状態に変換される。次に、(32,28)リード・ソロモン符号(C1符号語)の更なる符号化処理は、第2の配置状態である28個のシンボルに対して行われる。
【0003】
図1には、このようなRS(リード・ソロモン)符号の従来のCIRC符号復号化のための回路が示されている。このようなCIRC復号器(デコーダ)における主要な処理ステップは、
ステージ1SYMDELにおいて、1個おきの入力データシンボルを1シンボルずつ遅延させ、一部の遅延したシンボルを反転するステップ(a)と、
ステージC1DECにおいて、RS符号C1(32,28,5)を復号化し、これにより、誤りを含むシンボルを訂正するステップ(b)と、
ステージUNEQDELにおいて、デインターリーブするステップ(c)と、
ステージC2DECにおいて、RS符号C2(28,24,5)を復号化し、これにより誤りを含むシンボルを訂正するステップ(d)と、
ステージ2SYMDELにおいて、一部のC2復号化データシンボルを2シンボルずつ遅延させるステップ(e)と、
を含む。
【0004】
入力データシンボルは、32個毎に、1フレームを形成し、回路1SYMDELに供給され、回路1SYMDELにおいて、偶数番目のシンボルだけが1データシンボル期間ずつ、すなわち、1フレームの分量だけ遅延させられる。回路1SYMDELから出力された32個のシンボルは、C1符号用復号器C1DECへ供給され、C1符号用復号器において、(32,28,5)リード・ソロモン符号(C1符号語)の実際の復号化が行われ、C1符号語内の最大で2個の間違ったシンボルが訂正される。C1復号器において3個以上のエラーが検出された場合、C1ポインタ(即ち、消去フラグ)は、現在のC1符号語内のすべてのデータシンボルに対してセットされる。
【0005】
データシンボル及び消去フラグは、長さが均一ではない遅延ラインを含むデインターリーブ用ステージUNEQDELにおいて更に処理される。デインターリーブ用ステージUNEQDELでは、C1復号器から生成された各データシンボルの消去フラグは、データのデインターリーブと同様にデインターリーブされる。C2復号器では、C1消去フラグを使用することにより、4個までのエラーが訂正される。4個までのエラーの訂正が実行された場合、C1消去フラグはクリアされる。5個以上のエラーが存在する場合、C1消去フラグがC2符号語にコピーされるか、若しくは、消去フラグは、C2符号語のすべてのシンボルに対しセットされる。CIRC復号化の最後のステージは2シンボル遅延ステージ2SYMDELである。
【0006】
従来の様々なCIRC符号復号化方法は、例えば、欧州特許出願第0497593号、米国特許出願第4476562号、米国特許出願第4497058号、米国特許出願第4546474号、米国特許出願第5276674号、及び、欧州特許出願第0156440号に記載されている。これらの従来の復号化方法において、エラー処理は、いわゆる消去訂正(erasure correction)方法に従って実行される。消去訂正方法では、エラー・シンボルの所在がポインタ情報によって指定され、必要な訂正がこのエラー・シンボルについて実行される。上記のC1符号語及びC2符号語の場合、最大で2個までのエラーの検出及び訂正を実行可能である。エラーの所在が既知であるならば、最大で4個までの消去若しくはエラーの訂正が実行され得る。したがって、誤り訂正能力を高めるため、エラーを復号化する際に消去訂正方法を実行することが好ましい。更に、消去訂正方法は、特に、バーストエラーを訂正する際に効果を奏することが判明した。
【0007】
図1に示されているような従来の復号化方法は、誤り訂正能力を改善するためにCIRC符号の処理ブロックを二重にすることができない。この付加的な機能を追加するためには、従来のCIRC復号器に付加的な回路を追加するか、従来のCIRC復号器を修正することができる。
【0008】
欧州特許出願第0278383号に記載された復号化方法は、従来の復号化方法、即ち、従来のCIRC復号器を使用するが、CIRC符号の二重処理を可能にする。二重処理では、C1復号化とC2復号化が特定の順序で2回実行される。C1符号語はC1復号器に供給され、C1復号器において(32,28)リード・ソロモン符号の実際の復号化が行われる。最大で2個までのエラーの訂正が可能である。C1復号器で3個以上のエラーが検出された場合、C1ポインタは、C1符号語のすべてのシンボルに対してセットされる。訂正されたデータ及びC1エラーポインタは、更に、デインターリーブ用ステージで処理される。デインターリーブ用ステージの出力はC2復号器に供給され、C2復号器において、最大で4個までの消去の消去訂正がC1ポインタを使用して実行される。C2復号器で消去訂正が終了したとき、C1ポインタ(1個若しくは複数)はクリアされ、ポインタ情報は2番目のC2復号化サイクルへ受け渡されない。2番目のサイクル中、C2復号器からのデータは、元の生成順でデータを返すインターリーバーへ供給される。次に、1番目の復号化サイクルを繰り返す2番目の復号化サイクルが始まる。したがって、CIRC符号の二重処理は、付加的なインターリーブ用ステージを用いて実現される。
【0009】
米国特許第4637021号には、CIRC符号の二重処理を実行するけれども、単一パス処理を行えない復号化方法が記載されている。誤り検出及び誤り訂正は、C1復号器及びC2復号器を使用して、データバイトのブロックを処理することにより実施される。データが処理される速度を最大限に高めるため、C1復号器とC2復号器は、システムメモリに保持されたデータを同時に操作し、C1復号器は、C2復号器よりも前に対応したデータを操作する。二重誤り訂正までのエラー処理は、1番目のC1復号化ステージで行われ、二重誤り訂正は、C1復号化ステージから得られたポインタ情報を参照することによりC2復号化ステージで行われる。C1ポインタ情報は、誤り訂正システムの誤り訂正能力を高めるためには使用されないが、復号化処理の品質を検査するために使用される。
【0010】
C1復号器及びC2復号器によってシステムメモリから読み出されたデータバイトのシーケンスは、次の通りである。1番目のC1復号器は、データシンボルバイト(32バイト)のC1ブロックを処理する。1番目のC2復号器は、C1復号器によって処理済のデータバイト(28バイト)のC2ブロックを処理する。1番目のパスはこれで終了する。2番目のC1復号器は、1番目のパスで処理済のデータバイトを処理し、2番目のC2復号器は、1番目のパスと2番目のC1復号器によって既に処理されたデータバイトを処理する。2番目のパスはここで終了する。復号器サイクルは、1番目のパスと2番目のパスの両方の実行を含む。復号器サイクルが終了する毎に、アドレスカウンタがインクリメントされ、更なる復号化サイクルが実行される。
【0011】
新しいデータは、入力バッファへ入力されたデータシンボル(C1ブロック)の準備ができると即座にシステムメモリへ書き込まれる。かくして、動作中に、4個の復号器の読み出しは、利用可能なすべてのデータが処理されるまで、システムメモリ内を進められる。
【0012】
デインターリーバの実現とデータ制御に関して、異なる方法を使用してもよい。デインターリーバ・ブロックは、メモリに導入される。デインターリーバ・ブロックは、256*32バイトを有し、C1とC2の二つのブロックにより構成され、C1ブロックは128*32バイトを有し、C2ブロックは128*32バイトを有する。C2ブロックは、行240から行255までと、行0から行111までにアドレス指定されている。メモリは循環的メモリである。1番目のC1復号器は、32データバイトのC1ブロックを処理し、アドレス112でC1ブロックを読み出すため、初期位置が決められる。後続の各復号器サイクルにおいて(即ち、C1復号器とC2復号器の両方による2回のパスの実行時に)、C1復号器は、次に高いアドレスのC1ブロックへ位置が合わせられ、C1ブロックを読み出す。このように、2番目のサイクルでは、C1ブロックは、メモリアドレス位置113に置かれる。1番目のC2復号器は、28データバイトのC2ブロックを処理し、メモリドレス0でC2ブロックを読み出すため、初期位置が決められる。C2ブロックを構成するバイトは、2次元メモリ空間内の対角線に沿って存在する。連続的な復号化サイクルにおいて、C2ブロックを構成するバイトは変更される。2番目のC1復号器は、メモリアドレス240でC1ブロックを読み出すように初期位置が定められ、2番目のC2復号器は、メモリアドレス113でC2ブロックを読み出すように初期位置が定められる。4回の復号化パスの実行によって、メモリ内を進みつづける。処理されていないデータがメモリに存在する限り、復号化サイクルが続けられる。メモリ内のすべてのデータが訂正された場合、誤り訂正システムの動作は終了する。
【0013】
〔発明の概要〕
しかし、米国特許出願第4637021号に記載された教示によるCIRC符号復号化には以下の(a)から(d)の欠点がある。
(a)1シンボル遅延動作及びフレームのパリティシンボルの反転は、付加的な回路を使用して実行される。
(b)2シンボル遅延動作は付加的な回路を使用して実行される。
(c)メモリは256個のバンクを要求し、各バンクは32バイトと関連した消去フラグとにより構成される。そのため、メモリ容量は、各ブロックが109個のバンクしか含まない2個のCIRCブロックのメモリ容量よりも非常に大きくなる。
(d)CIRC復号器の単一パス動作は実行不可能である。
【0014】
本発明が解決しようとする課題は、二重パス動作並びに単一パス動作を可能とし、不必要な付加的な回路を回避し、最小限のメモリ容量しか要求しないCIRC符号復号化を提供することである。この課題は、請求項1に記載された方法によって解決される。この方法を利用する装置は請求項6に記載されている。
【0015】
適切に遅延させられたC1符号語は、C1復号器に供給され、C1復号器では、(32,28)リード・ソロモン符号の実際の復号化が行われる。最大で2個までのエラーの訂正を行うことができる。C1復号器において3個以上のエラーが検出された場合、C1ポインタは、C1符号語のすべてのシンボルに対してセットされる。訂正されたデータ及びC1エラーポインタは、デインターリーブ用ステージで更に処理される。デインターリーブ用ステージの出力はC2復号器へ供給され、C2復号器では、C1ポインタを使用して、最大で4個までの消去の消去訂正が行われる。その後、必要に応じて、2番目の復号化サイクルが始まり、上記の1番目の復号化サイクルを繰り返す。これにより、例えば、メモリに保持されたままの4ビット若しくは語(或いは、対応した誤り訂正ビット)と共にメモリに保持されている1番目のパスのC2復号化の28個の予備訂正された出力語は、例えば、2回目のパスのC1復号化のための32個の入力データシンボルを形成する。このようにして、CIRC符号の二重処理が達成される。
【0016】
本発明によれば、CIRC符号復号化の1シンボル遅延動作及び2シンボル遅延動作、並びに、二重パスCIRC符号復号化及び単一パスCIRC符号復号化の利用可能性は、メモリの特別な制御と、アドレッシングによって達成される。付加的なハードウェアは不要であること、並びに、メモリを十分に削減できることが有利である。
【0017】
二重パス復号化に関して、メモリのすべてのデータバイトは、単一の復号器を用いて2回訂正される。デインターリーバの実装に関して、使用されるメモリのサイズは、上記の復号化方法の場合の256*32ではなく、218*32である(218は、上記の二重CIRCブロック長に対応する。)。本発明は、RS符号の消去訂正方法を使用する。間違いの多いC1符号語の大きいバーストエラーの訂正は、各C1符号語が最大で6個のランダムエラーを含むならば、入力誤り率が低い場合には非常に効率的である。
【0018】
原理的には、本発明の方法は、誤り訂正符号、例えば、CIRC符号を復号化するために好適である。本発明の方法は、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームをメモリの第1の部分に格納する手順と、
データシンボルの一部を1データシンボル期間だけ遅延させ、データシンボルがC1符号語を表現するように、データシンボルの上記現在のフレームを上記メモリの第2の部分に書き込む手順と、
上記メモリから上記C1符号語を読み出し、第1の誤り訂正を含むC1復号化を上記C1符号語に実行し、訂正されたC1符号語を上記メモリの上記第2の部分に書き込む手順と、
上記メモリから上記訂正されたC1符号語を読み出し、デインターリーブ処理と第2の誤り訂正又は消去訂正を含むC2復号化を上記訂正されたC1符号語に実行する手順と、
得られた訂正されたC2符号語を上記メモリの第3の部分に格納する手順と、
上記メモリの上記第3の部分から上記訂正されたC2符号語を読み出し、符号語データシンボルの一部を2データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを上記メモリの上記第3の部分に書き込む手順と、
上記メモリの上記第3の部分から現在フレームの訂正されたデータシンボルを出力する手順と、
を有する。或いは、本発明の方法は、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームをメモリの第1の部分に格納する手順と、
データシンボルの一部を1データシンボル期間だけ遅延させ、データシンボルがC1符号語を表現するように、データシンボルの上記現在のフレームを上記メモリの第2の部分に書き込む手順と、
上記メモリから上記C1符号語を読み出し、第1の予備誤り訂正を含む予備C1復号化を上記C1符号語に実行し、予備訂正されたC1符号語を上記メモリの上記第2の部分に書き込む手順と、
上記メモリから上記予備訂正されたC1符号語を読み出し、デインターリーブ処理と第2の予備誤り訂正又は予備消去訂正を含む予備C2復号化を上記予備訂正されたC1符号語に実行し、得られた予備訂正されたC2符号語を上記メモリの第2の部分に格納する手順と、
上記メモリから上記予備誤り訂正されたC2符号語を読み出し、第1の誤り訂正を含む更なるC1復号化を、上記予備誤り訂正されたC2符号語と、上記誤り訂正ビットのうちの要求されたビットに実行し、更なる訂正されたC1符号語を上記メモリの上記第2の部分に書き込む手順と、
上記メモリから上記更なる訂正されたC1符号語を読み出し、デインターリーブ処理と第2の誤り訂正又は消去訂正を含む更なるC2復号化を上記更なる訂正されたC1符号語に実行する手順と、
得られた更なる訂正されたC2符号語を上記メモリの第3の部分に格納する手順と、
上記メモリの上記第3の部分から上記訂正されたC2符号語を読み出し、符号語データシンボルの一部を2データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを上記メモリの上記第3の部分に書き込む手順と、
上記メモリの上記第3の部分から現在フレームの訂正されたデータシンボルを出力する手順と、
を有する。
【0019】
本発明の方法の有利な更なる実施形態は対応する従属請求項に記載されている。
【0020】
原理的に、誤り訂正符号、例えば、CIRC符号を復号化する本発明の装置は、
RS(リード・ソロモン)復号器と、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームが格納される第1の部分を有するメモリと、
データシンボルの一部を1データシンボル期間だけ遅延させ、データシンボルがC1符号語を表現するように、データシンボルの上記現在のフレームの上記メモリの第2の部分への書き込みを制御するコントローラと、
を具備し、
上記コントローラは、
上記メモリから上記C1符号語を読み出し、上記RS復号器で、第1の誤り訂正を含むC1復号化を上記C1符号語に実行し、訂正されたC1符号語を上記メモリの上記第2の部分に書き込むことと、
上記メモリから上記訂正されたC1符号語を読み出し、上記訂正されたC1符号語に、デインターリーブ処理を行い、上記RS復号器で、第2の誤り訂正又は消去訂正を含むC2復号化を行うことと、
得られた訂正されたC2符号語を上記メモリの第3の部分に格納することと、
上記メモリの上記第3の部分から上記訂正されたC2符号語を読み出し、符号語データシンボルの一部を2データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを上記メモリの上記第3の部分に書き込むことと、
を更に制御し、
上記メモリの上記第3の部分から現在のフレームの訂正されたデータシンボルを出力する手段が更に設けられている。
【0021】
或いは、本発明の装置は、
単一のRS(リード・ソロモン)復号器と、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームが格納される第1の部分を有するメモリと、
データシンボルの一部を1データシンボル期間だけ遅延させ、データシンボルがC1符号語を表現するように、データシンボルの上記現在のフレームの上記メモリの第2の部分への書き込みを制御するコントローラと、
を具備し、
上記コントローラは、
上記メモリから上記C1符号語を読み出し、上記RS符号器で第1の予備誤り訂正を含む予備C1復号化を上記C1符号語に実行し、予備訂正されたC1符号語を上記メモリの上記第2の部分に書き込むことと、
上記メモリから上記予備訂正されたC1符号語を読み出し、上記予備訂正されたC1符号語にデインターリーブ処理を行い、上記RS復号器で第2の予備誤り訂正又は予備消去訂正を含む予備C2復号化を実行し、得られた予備訂正されたC2符号語を上記メモリの第2の部分に格納することと、
上記メモリから上記予備誤り訂正されたC2符号語を読み出し、上記RS符号器で、第1の誤り訂正を含む更なるC1復号化を、上記予備誤り訂正されたC2符号語と、上記誤り訂正ビットのうちの要求されたビットに実行し、更なる訂正されたC1符号語を上記メモリの上記第2の部分に書き込むことと、
上記メモリから上記更なる訂正されたC1符号語を読み出し、上記更なる訂正されたC1符号語に、デインターリーブ処理を実行し、上記RS符号器で第2の誤り訂正又は消去訂正を含む更なるC2復号化を実行することと、
得られた更なる訂正されたC2符号語を上記メモリの第3の部分に格納することと、
上記メモリの上記第3の部分から上記訂正されたC2符号語を読み出し、符号語データシンボルの一部を2データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを上記メモリの上記第3の部分に書き込むことと、
を更に制御し、
上記メモリの上記第3の部分から現在フレームの訂正されたデータシンボルを出力する手段が更に設けられている。
【0022】
本発明の装置の有利な更なる実施形態は対応した従属請求項に記載されている。
【0023】
本発明の典型的な実施形態は添付図面を参照して説明される。
【0024】
〔典型的な実施形態〕
図2には、本発明のCIRC符号復号器の主要な構成要素が示されている。度図において、データライン若しくはデータバスはDで表され、アドレスライン又はアドレスバスはAで表されている。二重パス及び単一パス動作は、このアーキテクチャに導入されている。獲得ステージから到来するデータストリームacq_dは、32個のシンボルを格納することができる入力ロジック部inp_logに格納される。この入力ロジック部は、次フレーム開始信号nfxと、バイトクロックbcを受け取る。入力ロジック部のバッファで十分な量のデータが利用可能である場合、完全なフレームは、RAMメモリのM1部分に格納される。復号器は、従来のRS復号器REDECを含み、RS復号器には、上述の消去訂正方法が実現されている。RS復号器は、最大で4個の消去若しくは2個のエラーを訂正する能力を備え、或いは、RS復号器は、tが符号語に含まれるエラーの個数、Eが消去の個数、dがRS符号のハミング距離を表すとき、
2*t+E<d
という条件に従うエラーと消去の組合せを訂正する能力を備えている。例えば、オーディオ・コンパクト・ディスク応用の場合に、d=5である。
【0025】
メモリRAM内のロケーションを決定し、アドレス指定することにより、データ若しくはデータバイトのRAMとの間の転送と、1シンボル遅延動作及び2シンボル遅延動作と、デインターリーブ動作と、読み出し及び書き込み動作は、コントローラCONTRを使用して行われる。メモリRAMは、例えば、224バンクを収容し、各バンクは、32バイトと、それに関連した消去フラグとを含む。メモリには、M1部分とM2部分とM3部分の3部分があり、
M1部分(例えば、バンク218−220)は1シンボル遅延動作のため使用され、
M2部分(例えば、バンク0−217)はデインターリーブ動作のため使用され、
M3部分(例えば、バンク221−223)は2シンボル遅延動作のため使用される。
【0026】
RS復号器は、メモリRAMの対応した部分から要求されたデータを受信し、それぞれのデータをメモリRAMの対応した部分に送信する。上記の2シンボル遅延動作の後に、24個のデータバイト及びそれに関連した消去フラグが、メモリRAMのM3部分から出力ロジック部out_logへロードされ、出力ロジック部は、誤り訂正データaud_Dを出力し、場合によっては、フレーム開始情報fr_strt及びバイトクロックbcを出力する。
【0027】
図3に示されているように、ステップ31においてCIRC復号器における第1の動作は、コントローラCONTRの初期化と、二重パス動作若しくは単一パス動作用のメモリRAMの設定と、カウンタのリセットである。M2メモリのバンク0−217はCIRC復号器の二重パスのために使用され、バンク108−217はCIRC復号器の単一パス動作のために使用される。C1復号化の二つのパスと、C2復号化の二つのパスは、二重パスモードで実行され、C1復号化の一つのパスと、C2復号化の一つのパスは、単一パスモードで実行される。二重パスモードでは、c1_1復号化(”_1”は第1パスを表す。)の開始位置はバンク108にあり、c2_1復号化の開始位置はバンク0にあり、c1_2復号化(”_2”は第2パスを表す。)の開始位置はバンク217にあり、c2_2復号化の開始位置はバンク109にある。単一パスモードでは、c1_1復号化及びc2_1復号化の開始位置は、それぞれ、バンク108及びバンク0にある。
【0028】
入力ロジック部のバッファで十分な量のデータが利用可能である場合、フレームはM1メモリのバンク218に格納され、ステップ32及びステップ33に示されているように1シンボル遅延動作が実行される。
【0029】
上述のように入力ロジック部inp_logからの32シンボルのフレームは、図4に示されるように、M1メモリの対応したバンク(図4a及び4cのバンクアドレスbk_add_m1 288、図4bのバンクアドレス219、図4cのバンクアドレス220)に取り込まれる。矢印”wrt”は、バンクアドレス218から220の中からその時点でデータが書き込まれるべき一つのバンクアドレスを順番に指定する。
【0030】
図5は、メモリ部分M1に対するアドレス値bk_add_m1の計算と、メモリ部分M2に対する基本アドレス計算の説明図である。現在のM1バンク書き込みアドレスは、次の式:
bk_add_m1_w = ofst_m1 + count_m1_w
によって計算される。ここで、値count_m1_wは、書き込みアドレスカウンタcount_m1_wから得られ、書き込み用M1メモリバンクアドレスを定義し、ofst_m1は値が218の固定オフセットである。count_m1_w>2である場合、カウンタcount_m1_wは零にリセットされる。
【0031】
カウンタcount_bは3個の出力を有し(そのうちの1個は図5に示されていない。)、バンクのシンボルアドレスSYMADRBKを出力し、M1メモリの偶数シンボル又は奇数シンボルev/odを出力する。
【0032】
M1メモリのM1バンク読み出しアドレスは、偶数シンボル又は奇数シンボルev/odの値”0”又は”1”に依存し、以下の式:
bk_add_m1_r_0 = ofs_m1 + count_m1_r 偶数
bk_add_m1_r_1 = ofs_m1 + (count_m1_4 + 2) mod 3 奇数
にしたがって計算される。ここで、値count_m1は読み出しアドレスカウンタcount_m1_rから得られる。count_m1_r>2である場合、カウンタcount_m1_rは零にリセットされる。偶数又は奇数シンボルev/odが1である場合、即ち、奇数である場合、元のカウンタ値count_m1_rに値2が加算され、その結果は、ofst_m1へ加算される前にモジュロ3回路mod3へ渡される。
【0033】
M1メモリからのシンボルは、一時的レジスタTRに取り込まれる。このシンボルのあるバイトは、図1のC1復号器の入力と比較すると、カウンタcount_bの出力値SYMADRBKが12、13、14、15、28、29、30又は31の値を取る場合を除いて反転する。対応して適合させられたカウンタcount_bの値は、3状態データバスDBSを介して、M2メモリのバンクへ書き込まれる。遅延したシンボルは、M2メモリの対応したバンクに格納され、これにより、例えば、108は、M2メモリの開始位置である。
【0034】
M2バンク書き込みアドレスbkk_add_m2_wは、次の式:
bk_add_m2_w = (ofst_c1_1 + count_m2_w) mod 218/109
にしたがって計算される。ここで、ofst_c1_1は、後述のように変化するメモリのM2開始エリアに応じたオフセット値であり、count_m2_wはカウンタcount_m2_wの出力値であり、mod218/109は、二重パス動作の場合のmod218、又は、単一パス動作の場合のmod109を表し、対応したモジュロ回路の関数である。count_m2_w>mod(218/109−1)である場合、カウンタcount_m2_wは零にリセットされる。
【0035】
異なるアドレス値bk_add_m1、bk_add_m2_w及びSYMADRABKは、異なる時間期間にアドレスバスADRBSを介して出力される。アドレス値bk_add_m1およびSYMADRBKは、共通アドレス値の二つの部分を表現する。
【0036】
カウンタcount_m1_w、count_m1_r及びcount_m2_wは、次フレーム信号nxfによりクロックが供給される。カウンタcount_bは、バイトクロックbcによりクロックが供給され、0から31までをカウントする。M1メモリのデータフローは、3個のnxf信号の後に繰り返され、図4a及び4bは、M1部分に関して同じである。
【0037】
C1復号器の第1パス動作は、1シンボル遅延動作の後に行われる(図3のステップ34を参照。)。C1符号語は、M2メモリからRS復号器のシンドローム生成器へ読み出される。C1符号語の復号化及び訂正が行われ、訂正された符号語はM2メモリに格納される。
【0038】
読み出し及び書き込み動作中のC1バンクアドレスは、以下の式:
bk_add_c1_fp = (ofst_c1_1 + count_rsd) mod 218/109
によって計算される。ここで、ofst_c1_1は固定値108であり、(図5に示されていない)処理カウンタcount_rsdの出力値は、CIRC復号器における処理の数を定める。
【0039】
CIRC復号器の二重パス動作は、以下のステップ:
(a)c1_1復号化、訂正
(b)c2_1復号器のためのデインターリーブ
(c)c2_1復号化、訂正
(d)c1_2復号化、訂正
(e)c2_2復号器のためのデインターリーブ
(f)c2_2復号化、訂正
を含む。各ステップは、処理カウンタを進める。
【0040】
入力するCIRC符号化データの各データシンボルは2回ずつ処理される。
【0041】
CIRC復号器の単一パス動作は、以下のステップ:
(a)c1_1復号化、訂正
(b)c2_1復号器のためのデインターリーブ
(c)c2_1復号化、訂正
を含む。
【0042】
M2メモリのサイズは、218*32*9である。M2メモリは二つに分けられる。図6aは、メモリM2におけるc1_1復号器、c1_2復号器、c2_1復号器及びc2_2復号器の開始位置と、M2メモリの異なるバンクからのC2符号語の組立を説明する図である。垂直位置は、0から217まで動くメモリバンクアドレスbk_addを表現し、水平位置は、0から31まで動くシンボルアドレスsym_addを表現する。シンボルアドレス28乃至31から、C1符号語のパリティ部PARPが並べられる。上記の処理ステップのバンクアドレスオフセット値ofst_c1_1、ofst_c1_2、ofst_c2_1及びofst_c2_2は、108、217、0及び109であり、メモリにおける新しいフレームの開始位置を表現する。
【0043】
新しいデータはM1メモリからM2メモリのバンク108乃至217(部分1)へ取り込まれ、c1_1復号器及びc2_1復号器によって処理される。109個のバンクが既にc1_1復号器によって使用されていた場合、バンク0から始まる。c1_2復号器及びc2_2復号器は、M2メモリの部分2の旧いデータを処理する。或いは、開始位置108及び218と、0及び109を取り替えてもよい。即ち、4個の処理シーケンスは、他のメモリの半分で開始してもよい。
【0044】
第1パスでは、連続する復号器サイクル毎に、C1復号器からの訂正されたC1符号語は、同じバンクアドレスに書き込まれる。M1メモリからの次のC1符号語は、M2メモリの次の一つだけ大きいバンクアドレスに書き込まれる。例えば、
(a)M1メモリからのC1符号語をM2メモリのバンクアドレス番号108へ書き込み、
(b)M2メモリのバンクアドレス番号108からこのC1符号語を読み出し、C1復号器へロードし、
(c)C1復号器からの訂正されたC1符号語をM2メモリのバンクアドレス番号109へ書き込み、
(d)M1メモリからのC1符号語をM2メモリのバンクアドレス番号109へ書き込み、
(e)M2メモリのバンクアドレス番号109からこのC1符号語を読み出し、C1復号器へ取り込み、
(f)C1復号器からの訂正されたC1符号語をM2メモリのバンクアドレス番号109へ書き込み、
以下同様である。
【0045】
第2パスでは、連続的な復号器サイクルにおいて、C1復号器の入力は、次の一つだけ大きいメモリバンクアドレスから読み出される。訂正されたC1符号語は同じメモリバンクアドレスに取り込まれる。
【0046】
C2符号語のシンボルは、M2メモリ空間の対角線に沿って存在する。連続的な復号化サイクルにおいて、C2符号語を表現するデータシンボルが変更される。C2符号語を書き込むための初期データシンボルは、メモリバンクアドレス0、かつ、データシンボルアドレス0にある。
【0047】
第1パスの後、訂正されたC2符号語は同じ場所(メモリバンクアドレス、データシンボルアドレス)に取り込まれる。第2パスの後、訂正されたC2符号語はM3メモリへ取り込まれる。
【0048】
図7には、M2メモリ部分のためのアドレス値の計算が詳細に説明されている。有利的には、カウンタcount_bは、様々なカウント目的のため使用可能であり、現在バンクのシンボルアドレスを規定する。図2のコントローラCONTRから到来するカウントモード信号cnt_modは、RS復号器の現在パスを定め、カウンタcount_bの対応したカウントモードを定める。
(a)cnt_mod=00 C1復号器、第1パス
(b)cnt_mod=01 C2復号器、第1パス
(c)cnt_mod=10 C1復号器、第2パス
(d)cnt_mod=11 C2復号器、第2パス
【0049】
C1処理の間に、カウンタcount_bは零から32までを動き、C2処理の間に、カウンタcount_bは零から28までを動く。この時間期間中に、カウンタcount_bは、バイトクロックbcからクロックを供給されないが、シンボルアドレスの+1sym_addによって増加させられる。
【0050】
4入力を有するマルチプレクサmux4は、cnt_mode=00のとき、入力1のバンクアドレスbk_add_c1_fp(fpは第1パスを表す)を選択する。デインターリーブ処理されたC1符号語は、C2符号語に変換され、C2復号器の第1パスが実行される(図3のステップ35)。C2符号語は、RS復号器のシンドローム生成器に書き込まれる。C2符号語の復号化及び訂正が実行され、訂正された符号語はM2メモリに格納される。
【0051】
図6bは、M2メモリの異なるバンクからC2符号語を組み立てる処理の説明図である。1行目にはバンクアドレス番号が示され、2行目にはメモリバンク内の対応したシンボルアドレス番号が示されている。読み出し/書き込み動作中に要求される28個のバンクアドレスは、以下の式:
bk_add_c2_fp = (ofst_c2_1 + count_rsd + 4*count_b) mod 218/109
にしたがって計算される。式中、count_bは、現在のバンクアドレスにおけるシンボルアドレスを定める。
【0052】
マルチプレクサmux4は、cont_mode=01のとき、入力2のバンクアドレスbk_add_c2_fpを選択する。C1復号器又はC2復号器の第2パスは、オン又はオフに切り替えられているCIRC復号器(c2_1復号器、図3のステップ37)の二重パス動作モード依存して実行される。C1符号語は、M2メモリから読み出され、RS復号器のシンドローム生成器に取り込まれる。C1符号語の復号化及び訂正が実行され、訂正された符号語はM2メモリに格納される。読み出し/書き込み動作中のバンクアドレスは、以下の式:
bk_add_c1_sp = (ofst_c1_2 + count_rsd) mod 218/109
によって計算される。
【0053】
マルチプレクサmux4は、cnt_mode=10のとき、入力3のバンクアドレスbk_add_c1_sp(spは第2パスを表す)を選択する。デインターリーブ処理されたC1符号語は、C2符号語に変換され、C2復号器の第2パスが実行される(c2_1復号器、図3のステップ38)。C2符号語は、RS復号器のシンドローム生成器に書き込まれる。C2符号語の復号化及び訂正が実行され、訂正された符号語はM2メモリに格納される。読み出し/書き込み動作中に要求される28個のバンクアドレスは、以下の式:
bk_add_c2_sp = (ofst_c2_2 + count_rsd + 4*count_b) mod 218/109
によって計算される。
【0054】
マルチプレクサmux4は、cnt_mode=11のとき、入力4のバンクアドレスbk_add_c2_spを選択する。C2符号語は、CIRC復号器の二重パス又は単一パスに応じて、M3メモリに格納される。C記法の以下の規則は、M2メモリ及びM3メモリにおける読み出し/書き込みアドレッシングを記述する。
【0055】
カウンタcount_bを4倍する代わりに、現在値count_bは、乗算器を省くため4回累積される。
【0056】
カウンタcount_bは、次処理信号+1procによってクロックを供給される。単一パス動作の場合、カウンタは、count_rsd>mod 108である場合にリセットされ、一方、二重パス動作の場合、カウンタは、count_rsd>mod 217の場合にリセットされる。
【0057】
カウンタcount_bの第1の出力は、バンクのシンボルアドレスSYMADRBKを送出する。SYMADRBKは、マルチプレクサmux4の出力と共にアドレスバスADRBSを介して転送される。M2内のバンクアドレスを開始するこのカウンタの更なる出力信号bk_add_m2は、加算器で、この加算器の遅延出力信号と合成される。出力信号は、遅延させるために、一時的なレジスタTR1に中間的に格納される。加算器出力信号は、ANDゲートを通過し、count_rsdの出力信号を第2の入力信号として受け取る更なる加算器へ供給される。ANDゲートの第2の入力は、カウンタcount_rsdの値が01若しくは11である場合に論理値1を受け取り、それ以外の場合には、論理値0を受け取る。
【0058】
更なる加算器の出力信号は、モジュロステージmod218/109を通過し、4個の加算器の第1の入力へ供給される。これらの4個の加算器のうちの1番目の加算器は、その第2の入力で、オフセット値ofst_c1_1=108を受け取り、その出力信号をマルチプレクサmux4の入力1へ供給する。4個の加算器のうちの2番目、3番目及び4番目の加算器は、その第2の入力で、オフセット値ofst_c2_1=0、ofst_c1_2=217及びofst_c2_2=109をそれぞれ受け取り、その出力信号をマルチプレクサmux4の入力2、入力3及び入力4へ供給する。
【0059】
CIRC復号器の二重パス動作を実行する場合、2シンボル遅延動作(図3のステップ39)は、C2復号器の第2パス動作後に実行される。CIRC復号器の単一パス動作を実行する場合、2シンボル遅延動作(図3のステップ39)は、C2復号器の第1パス動作後に実行される。
【0060】
図8は、CIRC復号器の2シンボル遅延動作中のM3メモリ部分におけるデータフローの説明図であり、M3メモリは、bk_221と、bk_222と、bk_223の3個のバンクを含む。C2復号化と訂正の後、M2メモリからのデータm2memは、バンクbk_221に取り込まれる。2シンボル遅延処理は、二つのステップ、即ち、
(a)遅延データを読み出し、出力ロジック部out_logへ転送するステップと、
(b)M3メモリに上書きするステップと、
を含む。
【0061】
次の表1は、第1のステップ中にアドレスを生成するため使用され得る。
【0062】
【表1】
表1において、
(a)count_bは、カウンタのカウント値を表し、
(b)bankは、RAM内のバンクアドレスbkを表し、
(c)sym addは、バンク内のシンボルアドレスを表す。
【0063】
次の表2は、第2パス若しくは第2のステップ中に読み出し/書き込みアドレスを生成するため使用できる。bank_rは、読み出しのためのRAM内のバンクアドレスbkであり、bank_wは、書き込みのためのRAM内のバンクアドレスbkである。
【0064】
【表2】
バンクbk_232からの出力データOPLOGは、出力ロジック部out_logへ供給される。コントローラCONTRのカウンタは、図3のフローチャートのステップ39に続いて更新され、CIRC復号器は、入力ロジック部から到来する次のフレームを処理するための準備が整う。
【0065】
図9には、従来の二重パスCIRC復号器と本発明の二重パスCIRC復号器におけるフラグ付きバイト率FLGBR対入力誤り率IPERRの結果を表すグラフが示されている。従来のCIRC復号器の訂正結果CCIRCDECは、点線で示され、本発明のCIRC復号器の訂正結果NCIRCDECは、実線で示されている。各曲線は、4種類の入力誤り率測定から構築される。以下の誤り組合せが訂正用に入力された。
(a)各々が3個のエラーを含む20個のC1符号語cdwのバーストエラーbrst。このエラーパターン及び以下のエラーパターンにおいて、C1符号語のエラーはランダムエラーである。
(b)各々が4個のエラーを含む20個のC1符号語のバーストエラー
(c)各々が5個のエラーを含む20個のC1符号語のバーストエラー
(d)各々が6個のエラーを含む20個のC1符号語のバーストエラー
(e)各々が3個のエラーを含む30個のC1符号語のバーストエラー
(f)各々が4個のエラーを含む30個のC1符号語のバーストエラー
(g)各々が5個のエラーを含む30個のC1符号語のバーストエラー
(h)各々が6個のエラーを含む30個のC1符号語のバーストエラー
(i)各々が3個のエラーを含む40個のC1符号語のバーストエラー
(j)各々が4個のエラーを含む40個のC1符号語のバーストエラー
(k)各々が5個のエラーを含む40個のC1符号語のバーストエラー
(l)各々が6個のエラーを含む40個のC1符号語のバーストエラー
【0066】
本発明のCIRC復号器及び従来のCIRC復号器は、14個の完全に間違ったC1符号語のバーストエラーを訂正することが可能である。従来のCIRC復号器との比較から明らかであるように、本発明のCIRC復号器は、各符号語に3個若しくは4個のエラーを含む20個のC1符号語のバーストエラーを訂正することが可能である。各符号語が5個若しくは6個のエラーを有する場合、復号器は、バーストエラーを訂正し得ないが、オーディオデータのフラグ付きバイト率FLGBRは、従来のCIRC復号器よりも依然としてかなり低い。
【0067】
30個のC1符号語のバーストエラーの場合には、より優れた訂正性能が得られる。本発明のCIRC復号器は、各符号語が3個のエラーを含む30個のC1符号語のバーストエラーを訂正することが可能であり、フラグ付きバイト率FLGBRは、1符号語当たりのエラー個数が増加するほど低下する。
【0068】
本発明は、ビデオCD及びCD−ROMのようなその他のデジタル記憶媒体、並びに、CIRC符号に類似した符号の復号化に適用可能である。
【図面の簡単な説明】
【図1】 従来のCIRC符号復号器の機能ブロック図である。
【図2】 本発明による二重パス動作及び単一パス動作のためのCIRC符号復号器のブロック図である。
【図3】 二重パス動作及び単一パス動作のためのCIRC符号復号化処理のフローチャートである。
【図4】 図2に示されたRAMの一部であるM1メモリにおける1シンボル遅延のデータフロー説明図である。
【図5】 M1メモリのアドレス値を計算する回路の説明図である。
【図6】 図2に示されたRAMの一部であるメモリM2と、c2_1復号器及びc2_2復号器のスタート位置と、M2メモリの異なるバンクからのC2符号語の組立の説明図である。
【図7】 M2メモリのアドレス値を計算する回路の説明図である。
【図8】 CIRC符号復号化における2シンボル遅延動作中のM3メモリのデータフロー説明図である。
【図9】 従来のCIRC符号復号化と本発明のCIRC符号復号化の訂正結果の説明図である。
Claims (10)
- 誤り訂正符号、例えば、リード・ソロモン・クロス・インターリーブ符号を復号化する方法であって、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームをメモリの第1の部分に格納する手順と、
データシンボルの一部を1データシンボル期間だけ遅延させ、データシンボルがC1符号語を表現するように、データシンボルの該現在のフレームを該メモリの第2の部分に書き込む手順と、
該メモリから該C1符号語を読み出し、第1の誤り訂正を含むC1復号化を該C1符号語に実行し、訂正されたC1符号語を該メモリの該第2の部分に書き込む手順と、
該メモリから該訂正されたC1符号語を読み出し、デインターリーブ処理と第2の誤り訂正又は消去訂正を含むC2復号化を該訂正されたC1符号語に実行する手順と、
得られた訂正されたC2符号語を該メモリの第3の部分に格納する手順と、
該メモリの該第3の部分から該訂正されたC2符号語を読み出し、符号語データシンボルの一部を2データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを該メモリの該第3の部分に書き込む手順と、
該メモリの該第3の部分から現在フレームの訂正されたデータシンボルを出力する手順と、
を有することを特徴とする方法。 - 誤り訂正符号、例えば、リード・ソロモン・クロス・インターリーブ符号を復号化する方法であって、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームをメモリの第1の部分に格納する手順と、
データシンボルの一部を1データシンボル期間だけ遅延させ、データシンボルがC1符号語を表現するように、データシンボルの該現在のフレームを該メモリの第2の部分に書き込む手順と、
該メモリから該C1符号語を読み出し、第1の予備誤り訂正を含む予備C1復号化を該C1符号語に実行し、予備訂正されたC1符号語を該メモリの該第2の部分に書き込む手順と、
該メモリから該予備訂正されたC1符号語を読み出し、デインターリーブ処理と第2の予備誤り訂正又は予備消去訂正を含む予備C2復号化を該予備訂正されたC1符号語に実行し、得られた予備訂正されたC2符号語を該メモリの第2の部分に格納する手順と、
該メモリから該予備誤り訂正されたC2符号語を読み出し、第1の誤り訂正を含む更なるC1復号化を、該予備誤り訂正されたC2符号語と、該誤り訂正ビットのうちの要求されたビットに実行し、更なる訂正されたC1符号語を該メモリの該第2の部分に書き込む手順と、
該メモリから該更なる訂正されたC1符号語を読み出し、デインターリーブ処理と第2の誤り訂正又は消去訂正を含む更なるC2復号化を該更なる訂正されたC1符号語に実行する手順と、
得られた更なる訂正されたC2符号語を該メモリの第3の部分に格納する手順と、
該メモリの該第3の部分から該訂正されたC2符号語を読み出し、符号語データシンボルの一部を2データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを該メモリの該第3の部分に書き込む手順と、
該メモリの該第3の部分から現在フレームの訂正されたデータシンボルを出力する手順と、
を有することを特徴とする方法。 - 該メモリの該第1の部分は、第1の個数、例えば、3個のバンクにより構成され、データシンボルの連続的な各フレームが循環式にバンクへ書き込まれる、請求項1又は2記載の方法。
- 該メモリの該第2の部分は、該誤り訂正符号のブロックのバンクの個数の2倍である第2の個数のバンクにより構成され、
該メモリの第2の部分は該デインターリーブ処理のため使用される、
請求項1乃至3のうちいずれか一項記載の方法。 - 該メモリの該第3の部分は、第3の個数、例えば、3個のバンクにより構成される、請求項1乃至4のうちいずれか一項記載の方法。
- 誤り訂正符号、例えば、リード・ソロモン・クロス・インターリーブ符号を復号化する装置であって、
RS(リード・ソロモン)復号器と、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームが格納される第1の部分を有するメモリと、
データシンボルの一部を1データシンボル期間だけ遅延させ、データシンボルがC1符号語を表現するように、データシンボルの該現在のフレームの該メモリの第2の部分への書き込みを制御するコントローラと、
を具備し、
該コントローラは、
該メモリから該C1符号語を読み出し、該RS復号器で、第1の誤り訂正を含むC1復号化を該C1符号語に実行し、訂正されたC1符号語を該メモリの該第2の部分に書き込むことを制御し、
該メモリから該訂正されたC1符号語を読み出し、該訂正されたC1符号語に、デインターリーブ処理を行い、該RS復号器で、第2の誤り訂正又は消去訂正を含むC2復号化を行うことを制御し、
得られた訂正されたC2符号語を該メモリの第3の部分に格納することを制御し、
該メモリの該第3の部分から該訂正されたC2符号語を読み出し、符号語データシンボルの一部を2データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを該メモリの該第3の部分に書き込むことを制御し、
該メモリの該第3の部分から現在のフレームの訂正されたデータシンボルを出力する手段が更に設けられている、
装置。 - 誤り訂正符号、例えば、リード・ソロモン・クロス・インターリーブ符号を復号化する装置であって、
単一のRS(リード・ソロモン)復号器と、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームが格納される第1の部分を有するメモリと、
データシンボルの一部を1データシンボル期間だけ遅延させ、データシンボルがC1符号語を表現するように、データシンボルの該現在のフレームの該メモリの第2の部分への書き込みを制御するコントローラと、
を具備し、
該コントローラは、
該メモリから該C1符号語を読み出し、該RS符号器で第1の予備誤り訂正を含む予備C1復号化を該C1符号語に実行し、予備訂正されたC1符号語を該メモリの該第2の部分に書き込むことを制御し、
該メモリから該予備訂正されたC1符号語を読み出し、該予備訂正されたC1符号語にデインターリーブ処理を行い、該RS復号器で第2の予備誤り訂正又は予備消去訂正を含む予備C2復号化を実行し、得られた予備訂正されたC2符号語を該メモリの第2の部分に格納することを制御し、
該メモリから該予備誤り訂正されたC2符号語を読み出し、該RS符号器で、第1の誤り訂正を含む更なるC1復号化を、該予備誤り訂正されたC2符号語と、該誤り訂正ビットのうちの要求されたビットに実行し、更なる訂正されたC1符号語を該メモリの該第2の部分に書き込むことを制御し、
該メモリから該更なる訂正されたC1符号語を読み出し、該更なる訂正されたC1符号語に、デインターリーブ処理を実行し、該RS符号器で第2の誤り訂正又は消去訂正を含む更なるC2復号化を実行することを制御し、
得られた更なる訂正されたC2符号語を該メモリの第3の部分に格納することを制御し、
該メモリの該第3の部分から該訂正されたC2符号語を読み出し、符号語データシンボルの一部を2データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを該メモリの該第3の部分に書き込むことを制御し、
該メモリの該第3の部分から現在フレームの訂正されたデータシンボルを出力する手段が更に設けられている、
装置。 - 該メモリの該第1の部分は、第1の個数、例えば、3個のバンクにより構成され、データシンボルの連続的な各フレームが循環式にバンクへ書き込まれる、請求項6又は7記載の装置。
- 該メモリの該第2の部分は、該誤り訂正符号のブロックのバンクの個数の2倍である第2の個数のバンクにより構成され、
該メモリの第2の部分は該デインターリーブ処理のため使用される、
請求項6乃至8のうちいずれか一項記載の装置。 - 該メモリの該第3の部分は、第3の個数、例えば、3個のバンクにより構成される、請求項6乃至9のうちいずれか一項記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01103804A EP1233523A1 (en) | 2001-02-16 | 2001-02-16 | Method and apparatus for decoding error correction code |
PCT/EP2002/001105 WO2002069505A1 (en) | 2001-02-16 | 2002-02-04 | Method and apparatus for decoding error correction code |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004519174A JP2004519174A (ja) | 2004-06-24 |
JP2004519174A5 JP2004519174A5 (ja) | 2005-12-22 |
JP3891568B2 true JP3891568B2 (ja) | 2007-03-14 |
Family
ID=8176515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002568514A Expired - Fee Related JP3891568B2 (ja) | 2001-02-16 | 2002-02-04 | 誤り訂正符号を復号化する方法及び装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7139961B2 (ja) |
EP (2) | EP1233523A1 (ja) |
JP (1) | JP3891568B2 (ja) |
KR (1) | KR20030070135A (ja) |
CN (1) | CN1316751C (ja) |
MY (1) | MY130133A (ja) |
TW (1) | TWI266487B (ja) |
WO (1) | WO2002069505A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3960061B2 (ja) * | 2002-01-31 | 2007-08-15 | ソニー株式会社 | データ記録媒体、データ記録方法および装置、データ再生方法および装置、データ送信方法およびデータ受信方法 |
TWI254283B (en) * | 2003-06-03 | 2006-05-01 | Sunplus Technology Co Ltd | Error correction device of block code and method thereof |
EP1830471A1 (en) * | 2006-02-10 | 2007-09-05 | Deutsche Thomson-Brandt Gmbh | Apparatus and method for decoding data |
US7734984B2 (en) * | 2006-04-13 | 2010-06-08 | Trident Microsystems (Far East) Ltd. | Erasures assisted block code decoder and related method |
US8077520B1 (en) * | 2008-09-05 | 2011-12-13 | Marvell International Ltd. | Determining threshold voltage distribution in flash memory |
KR101037578B1 (ko) * | 2010-03-16 | 2011-05-27 | 주식회사 한빛구조엔지니어링 | 경간보강재를 이용한 띠장부재 및 이를 이용한 흙막이지지공법 |
CN102541675B (zh) * | 2010-12-23 | 2015-03-11 | 慧荣科技股份有限公司 | 提升错误更正能力的方法、记忆装置及其控制器 |
CN102034555B (zh) * | 2011-01-19 | 2012-09-19 | 哈尔滨工业大学 | 一种利用奇偶校验码进行故障在线纠错装置及方法 |
US8924815B2 (en) * | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US8910012B2 (en) * | 2012-10-16 | 2014-12-09 | International Business Machines Corporation | Block-interleaved and error correction code (ECC)-encoded sub data set (SDS) format |
JP2015222467A (ja) * | 2014-05-22 | 2015-12-10 | ルネサスエレクトロニクス株式会社 | マイクロコントローラ及びそれを用いた電子制御装置 |
US9772899B2 (en) * | 2015-05-04 | 2017-09-26 | Texas Instruments Incorporated | Error correction code management of write-once memory codes |
KR20180059151A (ko) * | 2016-11-25 | 2018-06-04 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 이를 포함하는 메모리 컨트롤러 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4637021A (en) * | 1983-09-28 | 1987-01-13 | Pioneer Electronic Corporation | Multiple pass error correction |
JPS63193723A (ja) * | 1987-02-06 | 1988-08-11 | Sony Corp | リ−ドソロモン符号の復号方法 |
US4845714A (en) * | 1987-06-08 | 1989-07-04 | Exabyte Corporation | Multiple pass error correction process and apparatus for product codes |
KR950009386B1 (ko) * | 1993-04-21 | 1995-08-21 | 삼성전자주식회사 | 어드레스 생성회로 |
BR9505853A (pt) * | 1994-03-01 | 1996-02-21 | Sony Corp | Processo e aparelho de codificação e de decodificação de sinal digital e meio de registro de sinal digital |
JP3305966B2 (ja) * | 1995-12-25 | 2002-07-24 | ソニー株式会社 | データ復号装置及びその方法並びにデータ再生装置 |
JP2002501655A (ja) * | 1998-03-18 | 2002-01-15 | エスティーマイクロエレクトロニクス エス.アール.エル. | Dvd又はcdサポートから読取ったデータのリード−ソロモンデコーディング |
US6701151B2 (en) * | 2001-03-27 | 2004-03-02 | Ericsson Inc. | Short access for realizing a signaling radio bearer in geran |
-
2001
- 2001-02-16 EP EP01103804A patent/EP1233523A1/en not_active Withdrawn
-
2002
- 2002-02-01 TW TW091101728A patent/TWI266487B/zh not_active IP Right Cessation
- 2002-02-04 US US10/468,322 patent/US7139961B2/en not_active Expired - Fee Related
- 2002-02-04 WO PCT/EP2002/001105 patent/WO2002069505A1/en active Application Filing
- 2002-02-04 CN CNB028048423A patent/CN1316751C/zh not_active Expired - Fee Related
- 2002-02-04 EP EP02718084A patent/EP1362426A1/en not_active Withdrawn
- 2002-02-04 KR KR10-2003-7009745A patent/KR20030070135A/ko active IP Right Grant
- 2002-02-04 JP JP2002568514A patent/JP3891568B2/ja not_active Expired - Fee Related
- 2002-02-15 MY MYPI20020520A patent/MY130133A/en unknown
Also Published As
Publication number | Publication date |
---|---|
CN1491486A (zh) | 2004-04-21 |
JP2004519174A (ja) | 2004-06-24 |
EP1233523A1 (en) | 2002-08-21 |
EP1362426A1 (en) | 2003-11-19 |
KR20030070135A (ko) | 2003-08-27 |
US7139961B2 (en) | 2006-11-21 |
CN1316751C (zh) | 2007-05-16 |
MY130133A (en) | 2007-06-29 |
WO2002069505A1 (en) | 2002-09-06 |
US20040088635A1 (en) | 2004-05-06 |
TWI266487B (en) | 2006-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100573356B1 (ko) | 코드워드데이터를저장하기위한데이터버퍼와에러신드롬을저장하기위한신드롬버퍼를사용하는ecc시스템 | |
JP3549788B2 (ja) | 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム | |
KR100562832B1 (ko) | 랜덤화된데이터내의에러를정정하기위한에러정정처리기및그방법 | |
JP2824474B2 (ja) | 誤り訂正方式及びこの誤り訂正方式を用いた復号器 | |
JP3891568B2 (ja) | 誤り訂正符号を復号化する方法及び装置 | |
US5872798A (en) | Error correctable data transmission method and device based on semi-cyclic codes | |
JPH0927753A (ja) | 暗黙のインタリーブ、システマティックなインタリーバおよびデインタリーバのファミリ | |
JP3645809B2 (ja) | 光ディスク記憶装置の符号化/復号化システム | |
JP2004080762A (ja) | クロスインターリーブリード−ソロモン符号訂正を行う方法及び装置 | |
KR100499467B1 (ko) | 블록 인터리빙 방법 및 그를 위한 장치 | |
JP3777246B2 (ja) | ディスク記憶装置内の誤りを訂正するためのシステムおよび誤り制御チップ、ならびに符号化および復号化の方法 | |
US6718505B1 (en) | Method and apparatus for error correction in a process of decoding cross-interleaved Reed-Solomon code (CIRC) | |
JPH09261081A (ja) | デパンクチャード回路 | |
JP3992443B2 (ja) | 符号化方法、復号方法、符号化回路、復号回路、記憶装置、記憶媒体、通信装置 | |
EP1111799B1 (en) | Error correction with a cross-interleaved Reed-Solomon code, particularly for CD-ROM | |
EP0698269A1 (en) | Error correctable data transmission method and device based on semi-cyclic codes | |
KR100200810B1 (ko) | 오류 정정부호화 방법 및 장치 | |
JPH05225717A (ja) | Datの誤謬訂正のためのアドレス発生回路 | |
EP1388946A1 (en) | Cross interleave reed-solomon code correction | |
EP1830471A1 (en) | Apparatus and method for decoding data | |
JPS61237523A (ja) | 誤り訂正方法 | |
JP2008072190A (ja) | データ伝送装置 | |
JPH08242178A (ja) | 誤り訂正方法 | |
JPH07202729A (ja) | 誤り訂正符号化方法、誤り訂正復号化方法、誤り訂正符号化装置及び誤り訂正復号化装置 | |
JPS6029074A (ja) | 誤り検出訂正符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041111 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061204 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131215 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |