(57)【要約】【課題】本発明は、クロスインターリーブリード−ソロモン符号訂正のための改善された方法及を提供することを目的とする。【解決手段】本発明は、第１のＣ１符号語を、第１のメモリ手段からＣ１復号器手段へ入力するステップと、第２のＣ１符号語を、Ｃ１復号器手段から第２のメモリ手段へ出力するステップと、第２のメモリ手段内に第１のＣ２符号語を発生するために、第２のＣ１符号語をデインターリーブするステップと、を有する、クロスインターリーブリード−ソロモン符号訂正を行う方法に関連する。【選択図】　図２
2004080762.tif 000002
【特許請求の範囲】
【請求項１】
−　第１のＣ１符号語を、第１のメモリ手段からＣ１復号器手段へ入力するステップと、
−　第２のＣ１符号語を、Ｃ１復号器手段から第２のメモリ手段へ出力するステップと、
−　第２のメモリ手段内に第１のＣ２符号語を発生するために、第２のＣ１符号語をデインターリーブするステップと、
を有する、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項２】
第１のＣ１符号語が訂正可能である場合には、第２のＣ１符号語は訂正された第１のＣ１符号語であり、そして、第１のＣ１符号語が訂正可能でない場合には、第２のＣ１符号語は第１のＣ１符号語のコピーである、請求項１に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項３】
第１のＣ１符号語が訂正可能でない場合には、第２のＣ１符号語の各シンボルに対して消失フラグが設定される、請求項２に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項４】
更に、
−　第１のＣ２符号語を、第２のメモリ手段からＣ２復号器手段へ入力するステップと、
−　第２のＣ２符号語を、Ｃ２復号器手段から第２のメモリ手段へ出力するステップと、
を有する、請求項１乃至３のうちいずれか一項に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項５】
第１のＣ２符号語が訂正可能である場合には、第２のＣ２符号語は訂正された第１のＣ２符号語であり、そして、第１のＣ２符号語が訂正可能でない場合には、第２のＣ２符号語は第１のＣ２符号語のコピーである、請求項４に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項６】
更に、
第１のＣ２符号語が訂正可能でない場合には、第２のＣ２符号語の各シンボルに対して消失フラグを設定することを含む、請求項５に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項７】
更に、
−　第２のＣ１符号語を、第２のメモリ手段からＣ１復号器手段へ入力するステップと、
−　第３のＣ１符号語を、Ｃ１復号器手段から第３のメモリ手段へ出力するステップと、
−　第３のメモリ手段内に第３のＣ２符号語を発生するために、第３のＣ１符号語をデインターリーブするステップと、
を有する、請求項１乃至６のうちいずれか一項に記載のクロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項８】
第２のＣ１符号語が訂正可能である場合には、第３のＣ１符号語は訂正された第２のＣ１符号語であり、そして、第２のＣ１符号語が訂正可能でない場合には、第３のＣ１符号語は第２のＣ１符号語のコピーである、請求項７に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項９】
更に、
第２のＣ１符号語が訂正可能でない場合には、第３のＣ１符号語の各シンボルに対して消失フラグを設定することを含む、請求項８に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項１０】
更に、
−　第３のＣ２符号語を、第３のメモリ手段からＣ２復号器へ入力するステップと、
−　第４のＣ２符号語を、Ｃ２復号器手段から第４のメモリ手段へ出力するステップと、
を有する、請求項７乃至９のうちいずれか一項に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項１１】
第３のＣ２符号語が訂正可能である場合には、第４のＣ２符号語は訂正された第３のＣ２符号語であり、そして、第３のＣ２符号語が訂正可能でない場合には、第４のＣ２符号語は第３のＣ２符号語のコピーである、請求項１０に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項１２】
更に、
第３のＣ２符号語が訂正可能でない場合には、第４のＣ２符号語の各シンボルに対して消失フラグを設定することを含む、請求項１１に記載の、クロスインターリーブリード−ソロモン符号訂正を行う方法。
【請求項１３】
請求項１乃至１２のうちいずれか一項に記載のクロスインターリーブリード−ソロモン符号訂正を行う方法を実行するプログラム手段を有するコンピュータプログラムプロダクト。
【請求項１４】
請求項１乃至１２のうちいずれか一項に記載のクロスインターリーブリード−ソロモン符号訂正を行う方法に従った、クロスインターリーブリード−ソロモン符号訂正を行う手段を有する、リード−ソロモン復号器。
【請求項１５】
請求項１４に記載のリード−ソロモン復号器を有する、例えば、ＣＤ又はＤＶＤ再生装置又は記録装置の、オーディオ又はビデオ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、リード−ソロモン符号を使用してディジタルデータに誤り訂正を実行する方法及び装置に関連し、特に、クロスインターリーブリード−ソロモン符号訂正に関連する。
【０００２】
【従来の技術】
コンパクトオーディオディスクに典型的に使用されている１つの誤り訂正符号は、いわゆるＣＩＲＣ訂正符号である。ＣＩＲＣはクロスインターリーブリード−ソロモン符号の頭文字である。ＣＩＲＣ訂正符号の場合には、（２８，２４）リード−ソロモン符号（Ｃ２符号）の符号化処理は、各シンボルが８ビットよりなる２４データシンボルに対して実行される。そのような典型的なオーディオアプリケーションでは、各オーディオサンプルは１６ビットであり、これは各８ビットの２つのシンボルより構成される。従って、各８−ビットのシンボルは、ステレオオーディオデータの２つのチャネルの１つのオーディオサンプルの上位又は下位側のいずれかである。
【０００３】
これらのデータシンボルは、第１の状態の配置であり、次に、データは、第１の配置状態から第２の配置状態へ、インターリーブ動作により再配置される。（３２，２８）リード−ソロモン符号（Ｃ１符号）の符号化処理は、第２の配置状態である２８シンボルに対して実行される。ＣＩＲＣ訂正符号を復号するときには、最初にＣ１復号が行われ、そして、デインターリーブが実行され、そして、その後に、Ｃ２復号が実行される。
【０００４】
ＣＩＲＣ訂正符号を復号する種々の方法が既に知られており、そのような方法の例は、例えば、特許文献１、特許文献２、及び、特許文献３に開示されている。他方では、リード−ソロモン符号を復号する種々の方法が既に知られており、そのような方法の例は、特許文献４に開示されている。
【０００５】
ＣＩＲＣ訂正符号の従来の復号方法に従って、第１段階で２重誤り訂正まで且つそれを含む誤り処理がＣ１復号で実行され、そして、Ｃ１復号から得られたポインタ情報を参照して次の段階で、２重誤り訂正がＣ２復号で実行される。
【０００６】
提案されている誤り訂正符号を復号する１つの方法は、いわゆる消失訂正法であり、そこでは、誤りシンボルの位置がポインタ情報により示されそして、この誤りシンボルに必要な訂正が行われる。上述のＣ１とＣ２符号の場合には、２重誤り（２シンボル）まで及びそれを含む検出と訂正は、それぞれ実行されうる。しかしながら、誤り位置が既に知られている場合には、４重誤り（４シンボル）まで及びそれを含む誤り訂正が実行されることが可能である。
【０００７】
従って、誤り訂正能力を上げるために、誤りを復号する消失訂正法を実行することが好ましかった。更に、消失訂正法は、バースト誤りを訂正するのに特に効果的であることがわかった。他方では、消失訂正動作を適切に実行するために、誤り位置がポインタ情報から予備的に知られていなければならず、そして、さらにポインタ情報の信頼性が比較的高くなければならない。
【０００８】
ＣＩＲＣ訂正符号の従来の符号化方法に従って、２重誤りまで及びそれを含む誤り訂正がＣ１復号器で実行される。そのような場合には、訂正できない、３重誤りの発生のおそれがあるので、Ｃ１ポインタは次の段階のＣ２復号器へ送られ、それにより、誤り訂正がＣ１ポインタを使用してＣ２復号器で実行される。
【０００９】
特に、従来のＣＩＲＣ訂正符号の場合には、Ｃ１符号の系列（Ｃ１系列）が、交互に２つの隣接するフレーム（１フレーム：３２シンボル）に含まれる、３２シンボルにより構成される。Ｃ２符号の系列（Ｃ２系列）は、１０８の連続するフレームの予め定められたものに含まれる２８シンボルより構成される。Ｃ１系列のインターリーブ長は、Ｃ２系列のインターリーブ長よりも短いので、キューやリビューのような早送り再生動作が行われる時には、幾つかのフレームが落とされそして、フレームの連続性が失われるという問題が発生する。即ち、Ｃ１ポインタが、不連続の点の前後の１フレームで誤りの存在を示すのに使用されるが、しかし、Ｃ１ポインタは、他のフレーム内の誤りの不存在を示すだけである。他方では、Ｃ２系列のインターリーブ長は１０８フレームを有し、そして、これらの１０８フレームは不連続の点を含みうる。従って、これも正しいＣ２系列ではない。前述のＣ１ポインタを使用して、不正確なＣ２系列に対して消失訂正を実行すると、誤り訂正が不正確となる。
【００１０】
消失訂正法により最大の誤り訂正能力が得られる、ＣＩＲＣ訂正符号の誤り訂正を実行するときに、不完全な又は不正確な誤り訂正のこの問題を解決するために、特定の順序でＣ１復号とＣ２復号が２回実行される誤り訂正法が、提案されている（そのようなＣ１復号とＣ２復号の２回の実行は、特許文献５に示されている）。その順序は、例えば、Ｃ１復号、それに続きＣ２復号、それに続きＣ１復号、そして、それに続きＣ２復号である。最初のＣ２復号では、前の段階でのＣ１復号により得られたＣ１ポインタを使用して消失訂正が実行され、そして、この消失訂正で発生し得る誤りのある訂正は、第２のＣ１復号とＣ２復号により防止され、これらは、ＣＩＲＣ訂正符号を復号する従来の方法に似ている。
【００１１】
特許文献６は、リード−ソロモン符号を使用する誤り訂正法を示す。誤り訂正は、シンドロームの乗算の結果と誤り位置を使用して実行され、他のシンドロームは、それにより新たなシンドロームを形成するために加えられる。この手順を繰返し実行することにより、幾つかの算術動作により誤りベクトルが得られ、それにより、いわゆる消失訂正技術により誤り訂正を実行する。そして、第１の計算された誤りベクトルを使用して他の誤りベクトルを計算することにより、算術動作の回数が減少されうる。
【００１２】
図１は、リード−ソロモン（ＲＳ）符号の、従来のクロスインターリーブリード−ソロモン符号（ＣＩＲＣ）復号を示すブロック図である。ＣＩＲＣ復号器の主なタスクは、
１．１シンボルだけ入力データを遅延させる；
２．Ｃ１符号（３２，２８）を復号しそして、誤りのあるシンボルを訂正する；
３．デインターリーブする；
４．Ｃ２符号（２８，２４）を復号しそして、誤りのあるシンボルを訂正する；
５．２シンボルの遅延を行う；
ことを実行することである。
【００１３】
１フレームを構成する３２シンボルの入力データは、時間遅延回路（１シンボルの遅延）に供給され、そこで、１フレームだけ、偶数番号のシンボルのみが、遅延される。時間遅延回路から出力される３２シンボルは、Ｃ１復号器に供給され、ここで、（３２，２８）リード−ソロモン符号（Ｃ１符号語）の実際の復号が実行される。Ｃ１符号語内の２誤りシンボルまでの誤り訂正が、Ｃ１復号器内で実行される。Ｃ１復号器内で３又はそれ以上の誤りが検出されるときには、Ｃ１ポインタ（消失フラグ）が、Ｃ１符号語の全シンボルに設定される。データと消失フラグは、更に、デインターリーブ回路（等しくない長さの遅延線）で処理される。デインターリーブ回路の出力は、Ｃ２復号器に供給される。デインターリーブ回路では、Ｃ１復号器から発生された各シンボルの消失フラグが、データのデインターリーブと同様な方法でデインターリーブされる。４誤りまでの消失訂正は、Ｃ１消失フラグを使用して、Ｃ２復号器内で実行される。Ｃ２復号器により、４誤りシンボルまでの訂正が可能な場合には、Ｃ１消失フラグはクリアされる。可能でない場合には、Ｃ２符号語内のＣ１消失フラグはコピーされるか又は、Ｃ２符号語の全シンボルへ消失フラグが設定されるかのいずれかである。ＣＩＲＣ復号の最後の段階は、２シンボル遅延である。これは、２シンボル遅延回路により実行される。ＣＩＲＣ訂正符号を２回使用することは、誤り訂正システムの訂正能力の増加を導く。
【００１４】
【特許文献１】
米国特許番号ＵＳ−Ａ−４，５４６，４７４号
【特許文献２】
米国特許番号ＵＳ−Ａ−４，４７６，５６２号
【特許文献３】
米国特許番号ＵＳ−Ａ−４，４９７，０５８号
【特許文献４】
米国特許番号ＵＳ−Ａ−４，４７６，５６２号
【特許文献５】
米国特許番号ＵＳ−Ａ−４，６３７，０２１号
【特許文献６】
ＥＰ−Ａ−０，２７８，３８３
【発明が解決しようとする課題】
しかしながら、図１に示されたような形式の従来のＣＩＲＣ復号器の共通の欠点は、ＣＩＲＣ符号のブロックの２回の処理ができないことである。
【００１５】
従って、本発明の目的は、ＣＩＲＣ訂正のための改善された方法及び、ＣＩＲＣ訂正のための、改善されたコンピュータプログラム及びリード−ソロモン復号器を提供することである。
【００１６】
【課題を解決するための手段】
本発明は、請求項１に従った、ＣＩＲＣ訂正の改善された方法を提供する。更に、本発明は、更なる独立請求項に従った、改善されたコンピュータプログラム及びリード−ソロモン復号器を提供する。本発明の好ましい実施例は、独立請求項に記載されている。
【００１７】
本発明は、ＣＩＲＣ復号器の単一パス及び２回のパスの動作を可能とする。１シンボル遅延動作、２シンボル遅延動作及び、ＣＩＲＣ訂正符号の２回の又は単一の復号は、４つの別々のメモリを使用することにより、そして、各メモリの特別の制御及びアドレッシングにより、達成される。
【００１８】
本発明は、ＣＩＲＣ符号のブロックを２回の処理することを可能とすることに、特に優位である。
【００１９】
【発明の実施の形態】
本発明の例示的な実施例を、添付の図面を参照して説明する。
【００２０】
図２は、ＣＩＲＣ復号器のブロック図を示す。この復号器は、Ｃ１符号語（ＣＷ）を格納するメモリＭ１を有する。更に、Ｃ１復号器、メモリＭ２，ａと関連するデインターリーバＤ１、メモリＭ２，ｂと関連するデインターリーバＤ２，Ｃ２復号器及び、メモリＭ３がある。
【００２１】
第１のパスの最初では、Ｃ１ＣＷはメモリＭ１に格納される。そこから、Ｃ１ＣＷはＣ１復号器に入力される。Ｃ１復号器は、他のＣ１ＣＷを、Ｍ２，ａに出力する。Ｃ１復号器から出力されたＣ１ＣＷは、メモリＭ１のＣ１ＣＷが訂正可能でない場合には、メモリＭ１のＣ１ＣＷのコピーである。この場合には、Ｃ１ＣＷ内の全シンボルについて、消失フラグ設定される。メモリＭ１のＣ１ＣＷが訂正可能な場合には、Ｃ１復号器から出力されたＣ１ＣＷは、メモリＭ１の訂正されたＣ１ＣＷである。デインターリーブ動作は、デインターリーバＤ１により実行される。この結果、Ｃ２ＣＷは、メモリＭ２，ａに格納される。メモリＭ２，ａのＣ２ＣＷは、Ｃ２復号器へ入力される。Ｃ２復号器はＣ２ＣＷをメモリＭ２，ａへ書き戻す。このＣ２ＣＷは、元のＣ２ＣＷが訂正可能でない場合には元のＣ２ＣＷのコピーであり、又は、訂正されたＣ２ＣＷであるかのいずれかである。Ｃ２ＣＷが訂正可能でない場合には、再び消失フラグが設定される。
【００２２】
図３は、第２のパスを示す。Ｍ２，ａのＣ１ＣＷは、Ｃ１復号器は入力される。Ｃ１復号器はＣ１ＣＷをメモリＭ２，ｂへ出力する。メモリＭ２，ｂのＣ１ＣＷは、メモリＭ２，ａのＣ１ＣＷが訂正可能でない場合にはメモリＭ２，ａのＣ１ＣＷのコピーであり、又は、メモリＭ２，ａの訂正されたＣ１ＣＷであるかのいずれかである。メモリＭ２，ａのＣ１ＣＷが訂正可能でない場合には、Ｃ１復号器から出力されそしてメモリＭ２，ｂに格納される符号語Ｃ１ＣＷに、消失フラグが、設定される。デインターリーバＤ２が開始する。この結果、符号語Ｃ２ＣＷがメモリＭ２，ｂに供給される。これは、Ｃ２復号器に入力される。Ｃ２復号器は、符号語Ｃ２ＣＷをメモリＭ３に出力する。Ｃ２復号器により出力されるＣ２ＣＷは、メモリＭ２，ｂのＣ２ＣＷが訂正可能でない場合にはメモリＭ２，ｂのＣ２ＣＷのコピーであり又は、訂正されたメモリＭ２，ｂのＣ２ＣＷであるかのいずれかである。メモリＭ２，ｂのＣ２ＣＷが訂正可能でない場合には、消失フラグが設定される。
【００２３】
以下に更に詳細な実施例を説明する。
【００２４】
システム構成要素
図４は、ＣＩＲＣ復号器の主な構成要素を示すＣＩＲＣ復号器のブロック図を示す（２回の及び単一のパスのＣＩＲＣ復号器がこの構成で実行される）。取得部からのデータストリームは、入力論理１に入力される。入力論理は、３２シンボルを格納できる。入力論理のバッファに十分なデータが利用できる場合には、フレームがＭ１メモリに格納される。Ｍ１メモリは、ＣＩＲＣ復号器の１シンボル遅延タスクのために使用される。ＭＵＸ１マルチプレクサ３は、ＣＩＲＣ復号器のパスに依存して、Ｍ１メモリからＣ１復号器へ又はＭ２，ａメモリからＣ１復号器へのいずれかからのデータを多重するのに使用される。
【００２５】
ブロック４は、従来のＲＳ復号器である。このブロックでは、いわゆるＲＳ符号の消失訂正法が実行される。ＲＳ復号器４は、４消失又は２誤り又は、次の条件：２＊ｔ＋Ｅ＜ｄの下での誤りと消失の組合せを訂正でき、ここで、ｔ−は符号語内の誤りの数、Ｅ−は消失数、ｄ−はＲＳ符号のハミングの距離（コンパクトオーディオディスク応用についてはｄ＝５）である。フラグプロセッサブロックＮ０．１（ブロック５）は、Ｃ１復号器の誤り状態を発生しそして、出力消失フラグを定義する。デマルチプレクサ（ＤＥＭＵＸ１）６は、Ｃ１復号器の出力を、Ｍ２，ａメモリへ又は、レジスタ（ｂｕｆ＿ｒｅｇ）８への何れかへ、分離するために使用される。デマルチプレクサ６の出力は、ＣＩＲＣ復号器のパスに依存する。Ｍ２，ａメモリ７は、ＣＩＲＣ復号器の第１のパス中に、デインターリーブしそしてＣ１符号語をＣ２符号語に集めるために使用される。レジスタ８は、訂正されたＣ１符号語を記憶するために使用される。Ｍ２，ｂメモリ９は、ＣＩＲＣ復号器の第２のパス中に、デインターリーブしそしてＣ１符号語をＣ２符号語に集めるために使用される。ＣＩＲＣ復号器のコントローラ１０は、以下のタスク中にメモリ管理を実行する。
ａ）１シンボル遅延タスク；
ｂ）Ｃ１復号器タスク；
ｃ）デインターリーブ及びＣ２復号器タスク；
ｄ）２シンボル遅延タスク。
【００２６】
マルチプレクサ１１（ＭＵＸ２）は、ＣＩＲＣ復号器のパスに依存して、データを、Ｍ２，ａメモリからＣ２復号器へ又は、Ｍ２，ｂメモリからＣ２復号器へのいずれかへ、多重するのに使用される。ブロック１２は、従来のＲＳ復号器を示す。この復号器は、ＲＳ復号器４と同じ性能を有する。フラグプロセッサブロックＮ０．２（ブロック１３）は、Ｃ２復号器の誤り状態を発生しそして、出力消失フラグを定義する。Ｍ３メモリ１４は、ＣＩＲＣ復号器の２シンボル遅延タスクのために使用される。出力論理１５は、Ｍ３メモリから２４シンボルを格納するのに使用される。
【００２７】
ＣＩＲＣ復号器内のデータの制御
ＣＩＲＣ訂正符号の２回の及び単一の処理のＣＩＲＣ復号器の動作が、図５のフロー図に示されている。ｎｘｔ＿ｆｒａｍｅ信号が活性化されている場合には（ステップ２）、フレームが入力論理から対応するＭ１メモリのバンクへロードされ、そして、１シンボル遅延タスクが実行される（ステップ３）。ステップ４中に、データは、Ｍ１メモリ（図４参照）からＭＵＸ１マルチプレクサを通してＣ１復号器へ転送される。同時に、シンドロームが計算される。３２シンボルを転送した後に、復号処理Ｃ１が開始される。デインターリーブタスク（ステップ５）が、Ｍ２，ａメモリ内で実行される。２８シンボルのＣ２符号語は、Ｍ２，ａメモリからＭＵＸ２マルチプレクサを通してＣ２復号器へ転送される。同時に、シンドロームが計算される。２８シンボルを転送した後に、復号処理Ｃ２が開始される。Ｃ１、Ｃ２処理の開始後に、コントローラは、イーブンの−Ｃ１処理の準備完了を待つ（ステップ６）。Ｃ１処理が準備完了の場合には、Ｃ１復号器からのＣ１符号語はＭ２，ａメモリへ書きこまれる（ステップ７）。コントローラは、イーブンの−Ｃ２処理の準備完了を待つ（ステップ７）。データフローの次のステップは、ＣＩＲＣ復号器の単一の又は２回のパスの動作に依存する（ステップ９）。ＣＩＲＣ復号器が、単一のパスを実行し、そして、Ｃ２処理が準備完了している場合には、Ｃ２復号器からの訂正されたＣ２符号語は、Ｍ３メモリへ書きこまれる。そして、２シンボルの遅延タスクが、Ｍ３メモリへ実行される。その後に、対応するデータ項目が、出力論理へロードされる（ステップ１６）。ＣＩＲＣ復号器が、２回のパスを実行しそしてＣ２処理の準備が完了している場合には、Ｃ２復号器からの訂正されたＣ２符号語がＭ２，ａメモリに書き込まれ（ステップ１０）、そして、ＣＩＲＣ復号器の第２のパスが開始される。Ｃ１符号語はＭ２，ａメモリからＭＵＸ１マルチプレクサを通してＣ１復号器へ転送される。同時にシンドロームが計算される。復号処理Ｃ１は、３２シンボルの転送後に開始される（ステップ１１）。デインターリーバータスク（ステップ１２）は、Ｍ２，ｂメモリ内で実行される。２８シンボルのＣ２符号語が、Ｍ２，ｂメモリからＭＵＸ２マルチプレクサを通してＣ２復号器へ転送される。同時に、シンドロームが計算される。復号処理Ｃ２は、２８シンボルの転送後に開始される。
【００２８】
Ｃ１、Ｃ２処理の開始後に、コントローラは、イーブンの−Ｃ１処理の準備完了を待つ（ステップ１３）。Ｃ１処理が準備完了の場合には、Ｃ１復号器からの訂正されたＣ１符号語は、ｂｕｆ＿ｒｅｇに書きこまれる（ステップ１４）。Ｃ２処理が準備完了である場合には、Ｃ２復号器からの訂正されたＣ２符号語が、Ｍ３メモリに書きこまれる（ステップ１６）。そして、２シンボル遅延タスクが、Ｍ３メモリに実行される。その後に、対応するデータ項目が、出力論理へロードされる（ステップ１６）。ステップ１８中に、カウンタが更新される。ステップ１８に続き、ＥＣＣブロックが、入力論理からの新たなフレームを処理する準備が完了している。
【００２９】
ＣＩＲＣ復号器内のデータのアドレッシング
１シンボル遅延、デインターリービング及び、２シンボル遅延動作中は、異なるメモリ内のアドレッシングと位置の決定及び、読み出し及び書きこみ動作での転送されたデータバイトの制御は、コントローラ１０を使用して実行される。
【００３０】
１シンボル遅延タスク
Ｍ１メモリは、ＣＩＲＣ復号器の１シンボル遅延タスクを実行するのに使用され、そして、アドレス０，１及び、２を有する３バンクを有する。各バンクは３２シンボルより構成される。各シンボルは、９バイトを含む。ＭＳビットは”消失フラグ”であり、（７：０）ビットは、データである。消失ビットは、シンボルが壊れていることを示す。十分なデータが入力論理内のバッファ内で有効である場合には、１フレームがＭ１メモリの対応するバンクに格納され、そして、１シンボル遅延動作が実行される。図６は、Ｍ１メモリ内のデータフローを示す。Ｍ１メモリは、循環の性質を有する。Ｍ１メモリ内のデータフローは、３ｎｅｘｔ＿ｆｒａｍｅ信号後に繰返される、即ち、図６ａと図６ｄは同一である。
【００３１】
図７は、Ｍ１メモリ内のアドレス計算を示す。入力論理からのフレームは、Ｍ１メモリの対応するバンクへロードされる。バンクアドレスは、次の式に従って、計算される：
ｂａｎｋ＿ａｄｄ＿ｍ１＿ｗ＝ｃｏｕｎｔ＿ｍ１＿ｗ、
ここで、ｃｏｕｎｔ＿ｍ１＿ｗカウンタは、書きこみ動作中のＭ１メモリ内のバンクアドレスを定義する。３２シンボルが、バンクの対応するシンボルアドレスにロードされる。ｃｏｕｎｔ＿ｂ＿ｍ１カウンタは、バンクへのシンボルアドレスを定義する。メモリＭ１を読み出すためのバンクアドレスは偶数又は奇数シンボルに依存する。
【００３２】
バンクアドレスは次の式に従って、計算される：
ｂａｎｋ＿ａｄｄ＿０＿ｍ１＿ｒ＝ｃｏｕｎｔ＿ｍ１＿ｒ、　　／／偶数
ｂａｎｋ＿ａｄｄ＿１＿ｍ１＿ｒ＝（ｃｏｕｎｔ＿ｍ１＿ｒ＋２）％３）／／奇数。
【００３３】
バンクアドレスは、ｃｏｕｎｔ＿ｍ１＿ｒカウンタとｍｏｄ３回路を定義する。Ｍ１メモリからのシンボルは、ＴＲ一時レジスタへロードされる（図７参照）。バイトが反転されるかどうかは、ｃｏｕｎｔ＿ｂ＿ｍ１カウンタのカウンタ状態に依存する（ｃｏｕｎｔ＿ｂ＿ｍ１＝１２，１３，１４，１５，２８，２９，３０，３１の場合には、反転される）。消失ビットは反転されない。遅延されたシンボルは、第１のパス中に、Ｃ１復号器のシンドローム発生器に転送される。
【００３４】
ＣＩＲＣ復号器の第１のパス中のデインターリーバタスク
Ｍ２，ａメモリは、デインターリービングと、Ｃ１符号語をＣ２符号語に集めるために使用されそして、１１０バンクを有する。各バンクは３２シンボルを有する。各シンボルは、９ビットを含む。デインターリーバのタスクは、Ｃ１符号語をデインターリーブし、そして、デインターリーブされたＣ１符号語をＣ２符号語に集めることである。デインターリーバタスクは、Ｍ２，ａメモリの対応するアドレスにより、ＣＩＲＣ復号器の第１のパス中にＭ２，ａメモリ内で実行される。デインターリーバタスクは、Ｃ１復号、訂正及び、Ｃ１訂正された符号語をメモリＭ２，ａへ格納の後に実行される。Ｍ２，ａメモリは、循環の性質を有する。
【００３５】
図８と９Ａ及び９Ｂは、Ｍ２，ａメモリを示す。良い理解のために、Ｍ２，ａメモリを２次元のデカルト座標系の要素として記載できる（図９Ａ及び９Ｂ）。垂直Ｙ軸の位置の各々は、３２シンボルのデータ（Ｃ１符号語）を含む。各水平Ｘ軸は、各Ｙ軸位置でシンボル（９ビット）を表す。シンボルは、各Ｙ軸位置内で、左から右に移動して、順次に番号が付されている。
【００３６】
Ｃ２符号語を含むシンボルは、Ｍ２，ａメモリ空間内の対角線上に沿って配置される。１，２，３，４，５４及び、１０８復号器サイクル内のＣ２符号語のシンボルが、図９Ａ及び９Ｂに示されている。
【００３７】
連続する復号サイクルでは、Ｃ２符号語を含むシンボルは変更される。Ｃ２符号語を書きこむために最初に配置されたシンボルは、Ｙ位置０及びＸ位置０に配置される（図８）。Ｃ２符号語内のシンボルのアドレスを計算する一般的な式は、
ａｄｄ＿ｃ２＝（ｃｏｕｎｔ＿ｒｓｄ＋４＊Ｉ）％ｍｏｄ１１０、
であり、ここで、ｃｏｕｎｔ＿ｒｓｄは、復号器サイクル（０，．．．，１０９）のカウンタであり、これは、Ｙ位置（バンクメモリ）を定義し、そして、Ｉは０から２７の値を有する。
【００３８】
ＣＩＲＣ復号器の第２のパス中のデインターリーバタスク
ＣＩＲＣ復号器の第２のパス中のデインターリーバタスクは、Ｍ２，ｂメモリ内で実行される。それは、等しくない長さの遅延線を有する典型的なデインターリーバである（図１参照）。デインターリーバタスクは、Ｃ１復号、訂正及び、Ｃ１訂正された符号語をｂｕｆ＿ｒｅｇレジスタへ格納の後に実行される。
【００３９】
読み出し＋書きこみ動作中のＭ２，ａメモリ内のデータのアドレッシング
Ｃ１及びＣ２復号器は、ＣＩＲＣ復号器内のデータについて、同時に動作している。Ｃ１復号器は、Ｃ２復号器の前のデータに動作する。Ｃ１復号器の出力（第１パス）は、最初に、Ｙ位置１０９にＣ１符号語を書き込むように位置を定められる（図８）。各連続する復号器サイクルで、Ｃ１復号器の出力は、次の連続するより高い値のＹ位置（１０９，０，１，．．．，０）で訂正されたＣ１符号語に位置を定められそして訂正されたＣ１符号語を書き込む。Ｃ１復号器の入力（第２パス）は最初に、Ｙ位置０でＣ１符号語を書き込みように配置される（図８）。各連続する復号器サイクルで、Ｃ１復号器の入力は、次の連続するより高い値のＹ位置（０，１，２，．．．）でＣ１符号語に位置を定められそして、Ｃ１符号語を読み出す。Ｃ２符号語を書き込むために最初に配置されたシンボルは、Ｙ位置０で且つＸ位置０である（図８）。
【００４０】
ＣＩＲＣ復号器の２回のパスについてのＭ２，ａメモリのデータ処理（図５と図８参照）は、以下のステップを含む：
１）デインターリービング、Ｍ２，ａからのＣ２符号語をＣ２復号器へ読みこむ；
２）Ｃ１復号器からの訂正されたＣ２符号語をＭ２，ａメモリへ書き込む；
３）Ｃ２復号器からの訂正されたＣ２符号語をＭ２，ａメモリへ書き込む；
４）Ｍ２，ａメモリからＣ１復号器へＣ１符号語を読み出す。
【００４１】
ＣＩＲＣ復号器の単一のパスについてのＭ２，ａメモリのデータ処理（図５と図８参照）は、以下のステップを含む：
１）デインターリービング、Ｍ２，ａからのＣ２符号語をＣ２復号器へ読みこむ；
２）Ｃ１復号器からの訂正されたＣ１符号語をＭ２，ａメモリへ書き込む。
【００４２】
図１０（アドレス発生器）は、対応するステップ中の、Ｍ２，ａメモリのアドレス（ａｄｄ＿ｍ２）の計算を示す。ｃｏｕｎｔ＿ｒｓｄカウンタは、復号器サイクルを定義し、そして、書き込み及び読み出し動作中のＭ２，ａメモリの異なるバンクアドレスを計算する基本カウンタである。ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ１カウンタは、バンク内のシンボルアドレスを定義する（カウンタは３１までカウントアップする）。ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ２カウンタは、バンク内のシンボルアドレスを定義する（カウンタは２７までカウントアップする）。＋１ｓｙｍ＿ａｄｄで、ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ１カウンタとｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ２カウンタはカウントアップする。サブブロック１は、ＣＩＲＣ復号器の２回のパスの第１ステップ中に、アドレスを計算する。Ｍ２，ａメモリのバンクアドレスを計算する式は、
ｂａｎｋ＿ａｄｄ＝（ｃｏｕｎｔ＿ｒｓｄ＋４＊ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ２）％ｍｏｄ１１０、
であり、ここで、ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ２カウンタはバンク内のシンボルのアドレスを定義する。シンボルは、これらのアドレスに従って、Ｍ２，ａメモリからＣ２復号器へ、読みこまれる。サブブロック２は、２回のパスの第２ステップ中にアドレスを計算する。Ｍ２，ａメモリのバンクアドレスの計算のための式は、
ｂａｎｋ＿ａｄｄ＝（ｃｏｕｎｔ＿ｒｓｄ＋１０９）％ｍｏｄ１１０、
であり、ここで、ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ１カウンタはバンク内のシンボルのアドレスを定義する。訂正されたＣ１符号語のシンボルは、これらのアドレスに従って、Ｃ１復号器からＭ２，ａメモリへ書き込まれる。サブブロック３は、２回のパスの第３ステップ中にアドレスを計算する。Ｍ２，ａメモリのバンクアドレスの計算のための式は、
ｂａｎｋ＿ａｄｄ＝（ｃｏｕｎｔ＿ｒｓｄ＋４＊ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ２）％ｍｏｄ１１０、
であり、ここで、ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ２カウンタはバンク内のシンボルのアドレスを定義する。訂正されたＣ２符号語のシンボルは、これらのアドレスに従って、Ｃ２復号器からＭ２，ａメモリへ書き込まれる。サブブロック４は２回のパスの第４ステップ中にアドレスを計算する。Ｍ２，ａメモリのバンクアドレスの計算のための式は、
ｂａｎｋ＿ａｄｄ＝（ｃｏｕｎｔ＿ｒｓｄ＋１０９）％ｍｏｄ１１０、
であり、ここで、ｃｏｕｎｔ＿ｂ＿ｍ２＿ｃ１カウンタはバンク内のシンボルのアドレスを定義する。シンボルは、これらのアドレスに従って、Ｍ２，ａメモリからＣ１復号器へ読み出される。
【００４３】
ＣＩＲＣ復号器の第２のパス中のデインターリーバタスク
使用されるべきこのタスクのために、従来のデインターリーバは、図１を参照して、等しくない長さの遅延線を有する。このデインターリーバは、Ｍ２，ｂメモリ内で実行される。
【００４４】
２シンボル遅延タスク
Ｍ３メモリは、ＣＩＲＣ復号器内の２シンボル遅延タスクのために使用され、そして、アドレス０，１，２の３つのバンクを有する。ｂａｎｋ０は、２８シンボルよりなり、ｂａｎｋ１とｂａｎｋ２は、各々が２４シンボルよりなる。Ｃ２復号と訂正後のデータは、ｂａｎｋ０へロードされる。２シンボル遅延タスクは、２つのステップ：
１）遅延されたデータを出力論理に読みこむ；
２）Ｍ３メモリを上書きする、
を有する。
【００４５】
以下の表１は、第１ステップ中にアドレスを発生するために使用される。
【００４６】
【表１】
2004080762.tif 000003
ここで、ｃｏｕｎｔ＿ｂは、バイトカウンタであり、ｂａｎｋは、Ｍ３内のバンクアドレスであり、そして、ｓｙｍ＿ａｄｄは、ｂａｎｋ内のシンボルアドレスである。
【００４７】
以下の表２は、第２ステップ中にアドレスを発生するために使用される（読み出し／書き込み）。
【００４８】
【表２】
2004080762.tif 000004
ＣＩＲＣ復号器のシミュレーション結果（２回のパス）
図１１は、異なるバースト誤りの訂正の結果を示す。従来のＣＩＲＣ復号器の訂正結果が、破線で示されており、本発明のＣＩＲＣ復号器の結果が実線で示されている。以下の誤りの組合せが、訂正の入力であった：
１）各符号語内に３つの誤り（ランダム誤り）を有する２０のＣ１符号語のバースト誤り；
２）各符号語内に４つの誤りを有する２０のＣ１符号語のバースト誤り；
３）各符号語内に５つの誤りを有する２０のＣ１符号語のバースト誤り；
４）各符号語内に６つの誤りを有する２０のＣ１符号語のバースト誤り；
５）各符号語内に３つの誤りを有する３０のＣ１符号語のバースト誤り；
６）各符号語内に４つの誤りを有する３０のＣ１符号語のバースト誤り；
７）各符号語内に５つの誤りを有する３０のＣ１符号語のバースト誤り；
８）各符号語内に６つの誤りを有する３０のＣ１符号語のバースト誤り；
９）各符号語内に３つの誤りを有する４０のＣ１符号語のバースト誤り；
１０）各符号語内に４つの誤りを有する４０のＣ１符号語のバースト誤り；
１１）各符号語内に５つの誤りを有する４０のＣ１符号語のバースト誤り；
１２）各符号語内に５つの誤りを有する４０のＣ１符号語のバースト誤り。
【００４９】
本発明のＣＩＲＣ復号器と従来のＣＩＲＣ復号器の両方は、１４の完全に壊れたＣ１符号語のバースト誤りを訂正できる。従来のＣＩＲＣ復号器と比較して、優位に本発明のＣＩＲＣ復号器は、各符号語内に３又は４の誤りを有する２０のＣ１符号語のバースト誤りを訂正できることは、明らかである。各符号語が５又は６の誤りを有する場合には、復号器は、バースト誤りを訂正できないが、しかし、オーディオデータのフラグの付されたバイトレートは、従来のＣＩＲＣ復号器よりも、まだ著しく低い。’３０のＣ１符号語’のバースト誤りでも、より良い訂正能力が、得られる。本発明のＣＩＲＣ復号器は、各符号語内に３つの誤りを有する３０のＣ１符号語のバースト誤りを訂正でき、そして、フラグの付されるバイトレートは、符号語当りのより高い誤り数に対しても、より低い。
【００５０】
４つの別のメモリの別々の制御とアドレッシングは、本発明のＣＩＲＣ復号器の速度を大きく増加させることに、注意する。
【００５１】
読み出し及び書き込み動作中のＭ１、Ｍ２，ａメモリ及び、Ｍ２，ａ、Ｍ２，ｂメモリの並列の制御とアドレッシングも、本発明のＣＩＲＣ復号器の速度を大きく増加させる。
【００５２】
上述のＣＩＲＣ復号器と比較して、より小さなサイズのメモリが、デイインターリーバの実行に使用される。
【００５３】
デインターリーバタスクは、第１のパス中にＭ２，ａメモリ内で実行される。
【００５４】
Ｍ２，ａメモリのサイズは、１１０ｘ３２ｘ９である。デインターリーバタスクは、第２のパス中に、Ｍ２，ｂメモリ内で実行される。Ｍ２，ｂメモリのサイズは、１４０４ｘ９（従来のデインターリーバ）である。サイズ２５６ｘ３２ｘ９を有するメモリは、上述のＣＩＲＣ復号器内の両方のデインターリーバについて使用される。
【００５５】
２シンボル遅延タスクは、Ｍ３メモリ内で実行される。Ｍ３メモリは、調査テーブルとして動作し、これも、ＣＩＲＣ復号器の動作速度を増加させる。
【００５６】
本発明のＣＩＲＣ復号器では、ＣＩＲＣ復号器の単一のパスのモードを実行することが可能である。
【００５７】
本発明の復号方法は、いわゆるＲＳ符号の消失訂正法を使用することに適する。Ｃ１の壊れた符号語の大きなバースト誤りの訂正は、低入力誤り率により非常に効率的である（各Ｃ１符号語は多くても６までのランダム誤りを含む）。
【００５８】
【発明の効果】
上述のように、本発明により、ＣＩＲＣ訂正のための改善された方法を提供できる。
【図面の簡単な説明】
【図１】従来技術のＣＩＲＣ復号器のブロック図である。
【図２】本発明の実施例に従った、ＣＩＲＣ復号器の第１のパスを示すブロック図である。
【図３】図２の復号器の第２のパス示すブロック図である。
【図４】ＣＩＲＣ復号器の代わりの実施例を示すブロック図である。
【図５】ＣＩＲＣ訂正符号の２回の及び単一の処理のためのＣＩＲＣ復号器の動作のフローチャート示す図である。
【図６】Ｍ１メモリ内のデータフローを示す機構を示す図である。
【図７】Ｍ１メモリ内のアドレス計算を示すブロック図である。
【図８】メモリＭ２の動作を示す図である。
【図９Ａ】更に、メモリＭ２の動作を示す図である。
【図９Ｂ】更に、メモリＭ２の動作を示す図である。
【図１０】Ｍ２メモリのアドレスの計算を示すブロック図である。
【図１１】異なるバースト誤りの訂正結果を示す特徴線を示す図である。
【符号の説明】
Ｄ１　デインターリーバ
Ｄ２　デインターリーバ
Ｍ１　メモリ
Ｍ２，ａ　メモリ
Ｍ２，ｂ　メモリ
Ｍ３　メモリ
１　入力論理
３　マルチプレクサ
４　ＲＳ復号器
６　デマルチプレクサ
７　Ｍ２，ａメモリ
９　Ｍ２，ｂメモリ
１０　コントローラ
１１　マルチプレクサ
１４　Ｍ３メモリ
【図１】
2004080762.tif 000005
【図２】
2004080762.tif 000006
【図３】
2004080762.tif 000007
【図４】
2004080762.tif 000008
【図５】
2004080762.tif 000009
【図６】
2004080762.tif 000010
【図７】
2004080762.tif 000011
【図８】
2004080762.tif 000012
【図９Ａ】
2004080762.tif 000013
【図９Ｂ】
2004080762.tif 000014
【図１０】
2004080762.tif 000015
【図１１】
2004080762.tif 000016