【手続補正書】
【提出日】平成19年12月11日(2007.12.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】発明の詳細な説明
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロスインターリーブドリードソロモンコード（ＣＩＲＣ）の復号方法を使用して、データのストリーム内の誤りを訂正する方法及び装置に関する。
【０００２】
【従来の技術】
オーディオ記録及び再生システムは他の形式の通信システムと同様に品質の向上の要求がある。
【０００３】
記録媒体の問題は、媒体の欠陥であり、その領域内では不適切なディジタルデータが記録され又は、信頼性をもって再生できない。この結果、再生データにはディジタルデータの伝送と同様に誤りが発生する。ディジタルデータの記録中、再生中及び、伝送中には、有限の確率でディジタルデータ中に誤りが発生する。データは典型的には、バイナリユニットで構成され、（８のような）バイナリユニットのグループは、データバイトを構成し、そして、バイトのグループ（例えば、２）はデータワードを構成する。更にデータは、（３２又は、２８バイトブロックのような）データのブロックに構成される。
【０００４】
２つの異なる形式の誤りがある。第１の形式はバイナリビットの２つの可能な値のうちの１つの反対の値への置換であり、単一ビット誤りである。そのような誤りは通常はランダムに発生する。第２の形式の誤りは、エラービットの連続シーケンスである。そのような誤りはバースト誤りと呼ばれるこれらのバースト誤りの長さとそれらの発生頻度もランダムである。
【０００５】
コンパクトオーディオディスクで典型的に使用されている１つの誤り訂正コードはいわゆるＣＩＲＣ訂正コードである。ＣＩＲＣはクロスインターリーブドリードソロモンコードの略である。ＣＩＲＣは２ステップの処理を使用する。第１の符号化器を通ると、データ多項式を表す２４の連続するデータバイトが生成多項式により除算される。この処理では、４つのパリティバイトが付加される。結果は、２４データバイトと４パリティのブロック（Ｃ２コード）となる。この連続するバイトのシーケンスは、他の符号化データバイト間でインターリーブされ又は分散される。
【０００６】
インターリーブされたデータは、第２の符号化器を通る。第２の符号化器は、インターリーブによりデータバイトが異なるシーケンスで提示されることを除けば、第１の符号化器と同じであり、データバイトとパリティバイトが共に符号化され、２８バイトのブロック（２８データバイト足す４パリティバイト）が２４バイトの代わりに符号化され、そして、更に４パリティバイトが付加される。第２の符号化処理の結果は２４データバイトと８パリティバイトからなる３２バイトブロック（Ｃ１コード）である。
【０００７】
ＣＩＲＣ訂正コードの場合には、（２８，４）リードソロモンコードの符号化処理は、２４データシンボル（バイト）に対して行われ、各シンボルは８ビットよりなる。典型的なオーディオアプリケーションでは、各オーディオサンプルは１６ビットを有し、そして、各８ビットの２シンボルから構成される。このように、各８ビットシンボルは、ステレオオーディオデータの２チャネルのうちの１つのオーディオサンプルの上位又は下位側のいずれかである。
【０００８】
符号化されたデータは、光学的に記録されそして、読み出される。符号化されたデータが読み出された後には、記録、読出し又は、伝送の問題により、単一ビット又は、バースト誤りがあり得る。
【０００９】
従来の誤り訂正方法は、ＣＩＲＣの復号での使用が既知である。そのような方法の例は、ＵＳ−Ａ−４５４６４７４、ＵＳ−Ａ−４４７６５６２及び、ＵＳ−Ａ−４４９７０５８に開示されている。ＣＩＲＣ誤りの復号の従来の方法に従って、いわゆる消失訂正方法に基づき行われる。消失訂正方法では、誤りシンボルのロケーションがポインタ情報により示される。誤り訂正は、誤りシンボルに行われる。上述のＣ１とＣ２コードでは、検出と２誤りまでの訂正が可能である。しかし誤りロケーションが既知の場合には、４消失訂正まで可能である。従って、誤り訂正能力を上げるために、誤り訂正に対して消失訂正方法の実行が好ましい。さらに、消失訂正方法はバースト誤りを訂正するのに特に効果がある。
【００１０】
ＣＩＲＣ誤りの復号に使用される従来の方法に従って、Ｃ１復号器で２誤りまでの訂正が行われる。もし３つ以上の誤りが発生したなら、訂正できず、Ｃ１ポインタ情報は次の段階のＣ２復号器に送られ、Ｃ１ポインタ情報を使用してＣ２復号器で誤り訂正が実行される。
【００１１】
復号においてＣＩＲＣ訂正の複合的な使用は、誤り訂正システムの訂正能力を向上する。しかし、従来の復号方法（ＣＩＲＣ復号器）は、ＣＩＲＣコードのブロックの複合的な処理ができない。この問題を解決するために、複合的な処理を可能とする更なる手段又は装置を伴なう従来のＣＩＲＣ復号器が提供され又は、従来のＣＩＲＣ復号器が複合的な処理に使用できるようになされる。
【００１２】
ＣＩＲＣコードの複合的な処理のための１つの方法（従来のＣＩＲＣ復号器）は、ＵＳ−Ａ４８５２０９９に記載されている。既知の方法は、誤り訂正システムの訂正能力を向上するために消失訂正方法を使用する。Ｃ１復号とＣ２復号を特定の順序で２回行うことが提案されている。例えば、その順序はＣ１復号、続いてＣ２復号、続いてＣ１復号、そして、続いてＣ２復号である。
【００１３】
この例に従って、Ｃ１コードワードは実際に（３２，２８）リードソロモンコードの復号が行われるＣ１復号器に供給される。２誤りまでの誤り訂正が行われる。Ｃ１復号器により３又はそれ以上の誤りが検出されたときには、Ｃ１コードワード内の全シンボルにＣ１ポインタが設定される。そして、Ｃ１復号器により訂正されたデータと誤りポインタは更に，デインターリーブ処理で処理される。デインターリーバの出力は、Ｃ２復号器に供給される。４消失までの消失訂正は、Ｃ１ポインタ情報を使用してＣ２復号器内で行われる。Ｃ２復号器内での消失訂正の完了で、Ｃ１ポインタはクリアされ、第２のＣ２復号サイクルには、ポインタ情報は転送されない。
【００１４】
第２のサイクルでは、Ｃ２復号器からのデータは、インターリーバへ供給され、再生されたときであろうのと同じ配置にデータを戻す。その後、第２の復号サイクル内の処理は、第１の復号サイクル内の処理に対応する。この復号法を使用して、ＣＩＲＣコードの複合的処理画行われるが、しかし、更なるハードウェア（インターリーブブロック）が必要である。
【００１５】
ＣＩＲＣの複合的処理を使用するＣＩＲＣ復号で使用される他の方法は、ＵＳ−Ａ−４６３７０２１に開示されている。誤り検出と訂正はＣ１復号器とＣ２復号器でディジタルデータバイトの処理を行うことにより達成される。データが処理されるレートを最大にするために、復号器Ｃ１とＣ２は、システムメモリに蓄積されたデータに対して、Ｃ１復号器はＣ２復号器の前にデータに動作して、実際に同時に動作する。ＣＩＲＣ訂正コードの開示された復号方法に従って、第１段階でＣ１復号で２重誤り訂正までの誤り処理が行われ、そして、次の段階で、Ｃ１復号器から得られたＣ１ポインタ情報を参照することにより、Ｃ２復号で２重誤り訂正までの誤り処理が行われる。この場合、Ｃ１ポインタ情報は誤り訂正システムの誤り訂正能力を増加するのに使用されない。Ｃ１ポインタ情報は復号処理の品質をチェックするのに使用される。
【００１６】
ＵＳ−Ａ−４６３７０２１に従った方法では、以下のシーケンスで、データバイトがシステムメモリからＣ１とＣ２復号器により読み出される。第１のＣ１復号器は、Ｃ１ブロックのデータバイト（３２バイト）を処理する。最初のＣ２処理は、既にＣ１復号器により処理されたＣ２ブロックのデータバイト（２８バイと）を処理する。これで最初のパスは終了する。第２のＣ１復号器は最初のパスで処理されたデータバイトを処理し、第２のＣ２復号器は最初のパスで処理され且つ第２のＣ１復号器により処理されたデータバイトを処理する。これで第２のパスは終了する。復号器サイクルは、第１のパスと第２のパスの両方の実行を含む。各復号器サイクルの最後で、アドレスカウンタが増加され、復号器サイクルが繰り返される。入力バッファ内のデータ（Ｃ１ブロック）が準備完了するとすぐに、新たなデータがメモリロケーションに書きこまれる。このように、動作中は、有効なデータが処理されるまで、４つの復号器のメモリを通しての読出しは進行する。
【００１７】
ＣＩＲＣの復号に使用するためのＵＳ−Ａ−４６３７０２１に従った方法では、デインターリーバの実行とデータを制御する特別の方法を使用して実行される。デインターリーバブロックはシステムメモリ（２５６ｘ３２バイト）内に設けられており、Ｃ１メモリブロック（１２８ｘ３２バイト）とＣ２メモリブロック（１２８ｘ３２バイト）よりなる。Ｃ１メモリブロックはロー１１２から２３９のアドレスを含む。Ｃ２メモリブロックはロー２４０から２５５のアドレスを含み、そして、ロー０から１１１を含む。システムメモリは循環的である。最も低い番号のシステムメモリアドレスは最も高い番号の次である。これを図７に示す。
【００１８】
既知の方法に従って、第１のＣ１復号器は、３２バイトのＣ１メモリブロックを処理する。Ｃ１復号器は最初にアドレス１１２でＣ１メモリブロックを読むように配置される。各連続する復号器サイクル（Ｃ１とＣ２復号器両方による２パスの実行）で、Ｃ１復号器は次の連続する上のアドレスでＣ１メモリブロックを読むように配置される。このように、第２のサイクルに対しては、Ｃ１メモリブロックは位置１１３に配置される。
【００１９】
第１のＣ２デコーダは２８データバイトのＣ２メモリブロックを処理する。Ｃ２復号器は最初にアドレス０でＣ２メモリブロックを読むように配置される。Ｃ２メモリブロックを構成するそれらのバイトは、システムメモリの対角線に沿って配置される（図７）。Ｃ２メモリブロックを構成するそれらのバイトは、連続する復号サイクルに変換される。
【００２０】
第２のＣ１パスの最初では、Ｃ１復号器は最初にシステムメモリのアドレス２４０でＣ１メモリブロックを読むように配置される。第２のパスの最初で、Ｃ２デコーダは最初にシステムメモリのアドレス１１３でＣ２メモリブロックを読むように配置される。４復号パスの実行（１つの復号器サイクル）は、システムメモリを通して連続して進む。未処理のデータがまだメモリ内にある場合には、復号サイクルは連続する。システムメモリ内の全データが訂正されると、誤り訂正システムの動作は完了する。
【００２１】
【発明が解決しようとする課題】
上述のＣＩＲＣ訂正コードを復号する方法は以下の欠点がある。
【００２２】
ａ）システムメモリ内のデータは２５６サイクル（各復号サイクルで４復号パス）中に処理される。システムメモリ内の全データが処理訂正されたときには誤り訂正システムの動作は完了する。入力バッファに十分なデータがある場合には、システムメモリ処理内に割り込みが発生する。割り込みは、システムメモリ処理（２５６サイクル）中に何回も発生し得る。従って、システムメモリ内のデータは、２回処理できない（最初のＣ１、Ｃ２パスと第２のＣ１、Ｃ２パス）。
【００２３】
ｂ）２つの復号器（Ｃ１復号器とＣ２復号器）は、システムメモリに蓄積されたデータに同時に使用されねばならない。従って追加のハードウェアが必要である。
【００２４】
ｃ）リードソロモンコードの消失訂正方法が上述の方法と共に使用できない。
【００２５】
【課題を解決するための手段】
本発明の目的は、ハードウェアを減少する一方データストリーム内の誤りを効率的に訂正するクロスインターリーブドリードソロモンコード（ＣＩＲＣ）を復号するのに使用する方法及び装置を開示することである。
【００２６】
本発明の他の目的は、いわゆる消失訂正方法を使用して、データストリーム内の誤りを訂正するクロスインターリーブドリードソロモンコード（ＣＩＲＣ）を復号するのに使用する方法及び装置を提供することである。
【００２７】
本発明の特徴に従って、幾つかのロケーションＮｉｊ（ｉ＝０，．．．，２１７，ｊ＝０，．．．，３１）と共に、メモリ内にＣ１コードワードＣ１＿ＣＤＷｋ（ｋ＝０，．．．，１０８）及びＣ２コードワードＣ２＿ＣＤＷｍ（ｍ＝０，．．．，１０８）として蓄積されたデータ内の誤りを訂正するクロスインターリーブドリードソロモンコード（ＣＩＲＣ）を復号する処理内で使用する誤り訂正方法であって、前記ロケーションＮｉｊの各々は前記データのデータバイトを含み、
ａ１）ここで、ｋ＝０，．．．，１０８、ｊ＝０，．．．，３１、ｉ＝ｋ＋１０９、及び、Ｃ１＿ＣＤＷｋｊは前記Ｃ１コードワードＣ１＿ＣＤＷｋの位置ｊのデータバイトであり、Ｃ１＿ＣＤＷｋｊ＝Ｎｉｊに基づき復号手段を使用して、前記ロケーションＮｉｊからの前記Ｃ１コードワードＣ１＿ＣＤＷｋを読出し且つ復号するステップと、
ａ２）少なくとも前記Ｃ１コードワードＣ１＿ＣＤＷｋを部分的に訂正するステップと、
ｂ１）ここで、ｍ＝０，．．．，１０８、ｊ＝０，．．．，２８、ｉ＝ｍ＋４＊ｊ、及び、Ｃ２＿ＣＤＷｍｊは前記Ｃ２コードワードＣ２＿ＣＤＷｍの位置ｊのデータバイトであり、Ｃ２＿ＣＤＷｍｊ＝Ｎｉｊに基づき復号手段を使用して、前記ロケーションＮｉｊからの前記Ｃ２コードワードＣ２＿ＣＤＷｍを読出し且つ復号するステップと、
ｂ２）少なくとも前記Ｃ２コードワードＣ２＿ＣＤＷｍを部分的に訂正するステップとを有する方法が提供される。
【００２８】
この方法は、新しい方法での、Ｃ１とＣ２のコードワードの読出しと復号を提供する。これは、新たな方法は、どのデータワードがＣ１とＣ２復号に使用されるかを定義し、且つ処理順序のための特定の規則を含むことを意味する。デインターリーバ実行のためのシステムメモリは、従来のメモリと比較して小さいサイズであることができる。更に、本発明に従った方法を実行するために、単一のＣＩＲＣ復号器のみを使用すれば良い。
【００２９】
Ｃ１コード内の大きなバースト誤りの訂正を、低入力誤り率に対して非常に効率的に実行できる。
【００３０】
本発明の他の特徴に従って、上述の誤り訂正方法を実行する新たな装置が請求項１３に記載されている。
【００３１】
独立請求項に従った本発明の優位な特徴は、関連する独立請求項に記載されている。
【００３２】
【発明の実施の形態】
１．システム要素
図２は本発明に従ったＣＩＲＣ復号器のブロック図である。
【００３３】
取得部分からのデータストリームは入力論理１内で蓄積される。入力論理１は、１０９のＣ１コードワード（３２バイト）をバッファに蓄積できる。十分なデータが入力バッファにある場合には、データブロック（１０９ｘ３２）はシステムメモリ２、好ましくはＲＡＭへ書き込まれる。システムメモリ２では、でーを蓄積するのに２つのメモリブロックＢ１，Ｂ２が形成される。
【００３４】
”１シンボルの遅延”要素３は従来のＣＩＲＣ復号器から知られるデータ遅延のために使用される。
【００３５】
読出し、書きこみ又は、誤り訂正動作が行われるシステムメモリ２の中のアドレッシングとメモリロケーションの決定のための手段は、タイミング及び制御要素４に含まれる。
【００３６】
より理解するために、システムメモリ２内のデータバイトは図３に示される２次元デカルト座標系要素であると考える。この仮定は、システムメモリ２の実際のハードウェア実行と独立している。
【００３７】
各垂直又は、ｉ軸位置は３２バイトのＣ１コードワード（図３）を有する。各水へ又は、ｊ軸は各ｊ軸位置で８ビットバイトを表す。バイトは左から右へ移動する各ｊ位置内で順次番号が振られる。それは、システム的なリードソロモン（ＲＳ）コードに従っている。パリティバイトは位置２８から３１である。
【００３８】
図２に従って、従来のＲＳ復号器５は、システムメモリ２とタイミング及び制御要素４に接続されている。従来のＲＳ復号器５ではＲＳコードのいわゆる消失訂正方法が実行される。ＲＳ復号器５は、４消失又は、２誤り又は、２＊ｔ＋Ｅ＜ｄに従った組合せを訂正できる。ここでｔはコード内の誤りの数、Ｅは消失数、及び、ｄはＲＳコードのハミング距離である。コンパクトオーディオディスクアプリケーションではｄ＝４である。
【００３９】
システムメモリ２内のアドレッシングと位置の決定と、読出し、書きこみ、及び、訂正動作中のデータバイトの転送の制御はタイミング及び制御要素４を使用して行われる。
【００４０】
２シンボルの遅延は”２シンボル遅延”要素６内で行われる。１つのＣ２コードワードは、ＣＩＲＣ復号器の第２の復号器サイクル後に訂正され、出力バッファ７に書きこまれる。
【００４１】
２．本発明に従った誤り訂正方法の詳細な動作
図４を参照すると、ＣＩＲＣ訂正コードの複合的な処理のための新たな復号方法の動作を詳細に説明する。十分なデータが入力バッファにある場合には、データブロック（１０９ｘ３２）は、ステップ４１０と４２０で、システムメモリ２のｉ−位置１０９，１１０，．．．，２１７へ書きこまれる。
【００４２】
Ｂ１メモリブロックのカウンタパスは最初に１に初期化される（図４の４３０）。そして、ステップ４４０で、条件Ｃｏｕｎｔ＿ｐｓ＝２−？が分析される。結果がＮＯであるならステップ４５０へ進み、。ステップ４５０では、この時点で、Ｃ１レベルであるＲＳ復号器５は、ｉ−位置１０９で、Ｃ１コードワード（３２バイト、ｊ−位置に沿ってｊ＝０，１，．．．，３１）を読み出すために配置される。各連続するＣ１復号器サイクルで、ＲＳ復号器５は前に配置されそして、連続する次の値のｉ−位置でＣ１コードワードを読む。このように、第２のＣ１復号器サイクル中に、ＲＳ復号器５はｉ−位置１１０に配置される。同様に、全てのｊ−位置（ｊ＝０，１，．．．，３１）に対してｉ−位置２１７が読み出されるまでアドレッシングは続く。
【００４３】
各Ｃ１復号器サイクルでＲＳ復号器５は、２誤りまでを訂正しようと試みる。３つ又はそれ以上の誤りがある場合には、訂正されず、Ｃ１コードワードの未訂正のデータバイトの全てに消失フラグが割り当てられる。消失フラグはシステムメモリ２内の更なるメモリブロック（図示していない）に蓄積される。
【００４４】
一般的に、ＲＳ復号器５（Ｃ１レベル）は連続して１０９の復号と訂正サイクルを行う（図４の４５０）。そして、Ｂ１メモリブロック（図３）は完全に処理される、即ち、Ｃ１復号の最初のパスは終了する。その後、この時点でＣ２レベルのＲＳ復号器５は、ｉ−位置０（図４の４６０）で、Ｃ２コードワード（２８バイト）を読み出す位置にある。Ｃ２コードワードはＢ１とＢ２メモリブロックの対角線に沿って読み出される。読出し動作のＣ２コードワード（Ｃ２−ＣＷ）のアドレッシングは、以下のアルゴリズムにより行われる。
【００４５】
【数１】
2001244823.tif 000001
ここで、[ｉ]  [ｊ]はシステムメモリ２内のロケーションである。
【００４６】
各Ｃ２復号器サイクルでは、ＲＳ復号器５は４消失又は、２誤り又は、以下の条件２＊ｔ＋Ｅ＜ｄに基づき誤り又は、消失の組合せを訂正しようと試みる。ここでｔはコード内の誤りの数、Ｅは消失数、及び、ｄはＲＳコードのハミング距離である。
【００４７】
Ｃ１復号サイクルで割り当てられた消失情報（Ｃ１ポインタ情報）は、Ｃ２復号と訂正動作で使用される。ステップ４６０で、未訂正Ｃ２コードワードはマークされない、即ち、消失フラグは割り当てられない。
【００４８】
全体的に、ＲＳ復号器５は（Ｃ２レベルで）、連続して１０９のＣ２復号及び、訂正サイクルを行う（図４のステップ４６０）。１０９のＣ２コードワードが処理されそして、第１のＣ２復号は完了する。１０９のＣ２復号と訂正サイクルの後に、カウンターの内容Ｃｏｕｎｔ＿ｐｓ（カウンターパス；図４の４７０）は増加され２となる。
【００４９】
ステップ４４０中に再び、条件Ｃｏｕｎｔ＿ｐｓ＝２−？が分析される。結果がＹＥＳであるなら、ステップ４８０が行われそして、Ｂ１メモリブロック内の全データバイトの消失フラグがクリアされる。そして、ＲＳ復号器５は（Ｃ１レベルで）、再び、ステップ４９０中に、ｉ−位置１０９で、Ｃ１コードワードを読み出すために配置される。各連続するＣ１復号器サイクルでは、ＲＳ復号器５は前に配置され、そして、次の連続する高いｉ−位置で、Ｃ１コードワードは読みだされる。このように、第２のＣ１復号器サイクル中に、ＲＳ復号器５は、ｉ−位置１１０に配置される。同様に、アドレッシングはｉ−位置２１７まで続く。各Ｃ１復号器サイクルで、ＲＳ復号器５は２つまでの誤りを訂正しようと試みる。３つ又はそれ以上の誤りがある場合には、訂正されず、Ｃ１コードワードの未訂正のデータバイトの全てに消失フラグが割り当てられる。
【００５０】
一般的に、ＲＳ復号器５（Ｃ１レベル）は連続して１０９の復号と訂正サイクルを行う（図４の４９０）。そして、Ｂ１メモリブロック（図３）は完全に処理される、即ち、第２のＣ１復号のパスは終了する。その後、（Ｃ２レベルで）ＲＳ復号器５は、ｉ−位置０で、Ｃ２コードワード（２８バイト）を読み出すために再び配置される。ステップ５００で、Ｃ２コードワードはＢ１とＢ２メモリブロックの対角線に沿って読み出される。読出し動作のＣ２コードワード（Ｃ２−ＣＷ）のアドレッシングは、前述のアルゴリズム（１）により行われる。
【００５１】
ＲＳ復号器５は再び、各Ｃ２復号器サイクルにより、４消失又は、２誤り又は、誤り又は消失の組合せを訂正しようと試みる。ＲＳ復号器５が現在のＣ２コードワードを訂正できない場合には、データバイトにフラグが付される。その後、処理されたＣ２コードワードは出力バッファ７へ書きこまれる（図２）。
【００５２】
ＲＳ復号器（Ｃ２レベル）は、連続して、１０９のＣ２復号と訂正サイクルを行う。１０９のＣ２コードワードが処理された後、Ｃ２復号の第２のパスは完了する。そして、消失情報を伴なうＢ１メモリブロックは、システムメモリ２のＢ２メモリブロックへ移動される（図４のステップ５１０）。タイミング及び制御要素４で、信号ＤＯＮＥが発生される。この信号は、システムメモリ２内の全てのデータバイトが丁度２回処理されたという情報を与える。そしてステップ４１０は再び実行される。
【００５３】
３．バースト誤り訂正
以下に本発明に従った方法を使用するバースト誤り訂正を説明する。
【００５４】
Ａ）高入力誤り率でのＣ１コードワードの訂正（Ｃ１コードワードは完全に又は、ほぼ完全に壊れている）
本発明に従ったＣＩＲＣ訂正コードの訂正方法の詳細な動作は、バースト誤りと関連して説明される。（前の段階で）Ｂ２メモリブロックは既に訂正されかつＢ２メモリブロックには、誤りがないと仮定する。Ｂ１メモリブロックが入力論理１から（により）入力される。ｉ−位置１３０，．．．，１４０に、バースト誤りがある（１１の破壊されたＣ１コードワード、図５参照）。
【００５５】
ＲＳ復号器５（Ｃ１レベル）は開始し、Ｂ１メモリブロック内の１０９のＣ１コードワードを連続して復号しかつ訂正することを試みる。ｉ−位置１３０，．．．，１４０でコードワードは、訂正不能でありそしてそれゆえ、フラグが付される（各Ｃ１コードワード内の各バイトに消失フラグが割り当てられる）。
【００５６】
そして、ＲＳ復号器５（Ｃ２レベル）は、開始しそして、Ｂ１とＢ２メモリブロック内の１０９のＣ１コードワードを連続して復号しかつ訂正することを試みる。その動作中に、ＲＳ復号器５（Ｃ２レベル）は、メモリセクタ２Ｂ１と１Ｂ２（図５参照）からバイトを読まなければならない。ＲＳ復号器５の第１パスの完了後（１０９のＣ１パスと１０９のＣ２パス）、メモリセクタ２Ｂ１のｉ−位置（１３０−１４０）でフラグが付されたバイトは訂正され、一方、メモリセクタ１Ｂ１のｉ−位置（１３０−１４０）でフラグが付されたバイトは訂正されずに残る。
【００５７】
ＲＳ復号器５の第２のパスは、Ｂ１メモリブロック内の１０９のＣ１コードワードを復号し連続して訂正しようと試みる。位置１３０，．．．，１４０でコードワードは、再びフラグを付されるがしかし、実際には、この時点で誤りはメモリセクタ１Ｂ１内にのみ存在する。そして、ＲＳ復号器５（Ｃ２レベル）は開始し、Ｂ１とＢ２メモリブロック内の１０９のＣ２コードワードを連続して復号しかつ訂正することを試みる。
【００５８】
次の段階で、消失情報を伴なう訂正されたＢ１メモリブロックは、システムメモリのＢ２メモリブロックにコピーされる（図６参照）。その後、新たなデータブロックが入力論理１からＢ１メモリブロックへロードされ、そして、ＣＩＲＣ復号器が再度開始する。残りの誤りは、（消失情報を伴なうバイト）メモリセクタ１Ｂ２内に存在する。ＲＳ復号器５（Ｃ１レベル）は開始し、そして、Ｂ１メモリブロック内の１０９のＣ１コードワードを連続して復号しかつ訂正することを試みる。
【００５９】
そして、ＲＳ復号器５（Ｃ２レベル）は、開始し、Ｂ１とＢ２メモリブロック内の１０９のＣ２コードワードを連続して復号しかつ訂正することを試みる。この段階では、誤りはメモリセクタ１Ｂ２内にのみある誤り（ｉ−位置２１，．．．，３１に残る誤り）は、訂正される。
【００６０】
本発明に従った方法を実行するＣＩＲＣ復号器は、１４の壊れたＣ１コードワード（限界）を高入力誤り率で訂正可能である。
【００６１】
Ｂ）低入力誤り率を伴なうＣ１コードワードバーストの訂正（各Ｃ１コードワードは３から６の誤りを有する）
本発明に従った方法を実行するＣＩＲＣ復号器は、破壊されたＣ１コードワードが低入力誤り率を有する場合には、非常に効率的に動作する。以下にこれを説明する。
【００６２】
Ｃ２コードワード誤り訂正（ＣＩＲＣ復号器の第１のパス）では、ＲＳ復号器５（Ｃ２レベル）は消失のどのようなランダムの組み合わせ（４消失まで）も訂正できる、即ち、ＣＩＲＣ復号器の第２のパス中は、ＲＳ復号器５（Ｃ１レベル）は、ＣＩＲＣ復号器（Ｃ１レベル）の第１のパス中で訂正されなかったどのようなＣ１コードワードも訂正することができる。従って、ＣＩＲＣ復号器の第２のパス中に、ＣＩＲＣ復号器（Ｃ２レベル）の第１のパス中で訂正されなかったどのようなＣ２コードワードも訂正できる。
【００６３】
これは，図７を参照して示すことができる。図７では、それぞれ、従来のＣＩＲＣ復号器と本発明に従った方法を実行するＣＩＲＣ復号器の、２つのＣＩＲＣ復号器の誤り訂正結果が表示されている。従来のＣＩＲＣ復号器の結果は、破線で示されている。本発明に従った方法を実行するＣＩＲＣ復号器の結果は、実線で示されている。
【００６４】
結果は、以下の組合せの誤りに対して示されている。
１．各Ｃ１コードワード内に３つの誤り（ランダム誤り）を有する、２０のＣ１コードワードのバースト誤り。
２．各Ｃ１コードワード内に４つの誤りを有する、２０のＣ１コードワードのバースト誤り。
３．各Ｃ１コードワード内に５つの誤りを有する、２０のＣ１コードワードのバースト誤り。
４．各Ｃ１コードワード内に６つの誤りを有する、２０のＣ１コードワードのバースト誤り。
５．各Ｃ１コードワード内に３つの誤りを有する、３０のＣ１コードワードのバースト誤り。
６．各Ｃ１コードワード内に４つの誤りを有する、３０のＣ１コードワードのバースト誤り。
７．各Ｃ１コードワード内に５つの誤りを有する、３０のＣ１コードワードのバースト誤り。
８．各Ｃ１コードワード内に６つの誤りを有する、３０のＣ１コードワードのバースト誤り。
９．各Ｃ１コードワード内に３つの誤りを有する、４０のＣ１コードワードのバースト誤り。
１０．各Ｃ１コードワード内に４つの誤りを有する、４０のＣ１コードワードのバースト誤り。
１１．各Ｃ１コードワード内に５つの誤りを有する、４０のＣ１コードワードのバースト誤り。
１２．各Ｃ１コードワード内に６つの誤りを有する、４０のＣ１コードワードのバースト誤り。
【００６５】
各Ｃ１コードワード内に異なる数の誤りを有する、２０のＣ１コードワードのバースト誤りの訂正結果を、図７に示す（円）。本発明に従った方法を実行するＣＩＲＣ復号器は、各コードワード内に３又は４つの誤りを有する２０のＣ１コードワードのバースト誤り訂正できる。Ｃ１コードワード内に５又は６つの誤りが発生した場合には、本発明に従った方法を実行するＣＩＲＣ復号器は、２０のＣ１コードワードのバースト誤りを訂正できない。しかし、本発明に従った方法を実行するオーディオデータＣＩＲＣ復号器の出力消失率は非常に低い。
【００６６】
本発明に従った方法を実行するＣＩＲＣ復号器に関しては、従来のＣＩＲＣ復号器と比較して、３０のＣ１コードワードのバースト誤りの訂正に関して、誤り訂正のより良好な性能が得られる。本発明に従った方法を実行するＣＩＲＣ復号器は、各コードワード内に３つの誤りを有する、３０のＣ１コードワードのバースト誤りを訂正できる。本発明に従った方法を実行するＣＩＲＣ復号器内のオーディオデータの出力消失率はも低い（結果は四角により示されている）。本発明に従った方法を実行するＣＩＲＣ復号器の優位点は、更なる増大する入力誤り率で減少することである。
【００６７】
従来のＣＩＲＣ復号器と本発明に従った方法を実行するＣＩＲＣ復号器の両方に対する制限は、バースト誤り１４Ｃ１（完全に壊れた）コードワードである。この場合、従来のＣＩＲＣ復号器と本発明に従った方法を実行するＣＩＲＣ復号器に対する誤り訂正能力は異ならない。
【００６８】
【発明の効果】
本発明により、ハードウェアを減少する一方データストリーム内の誤りを効率的に訂正するクロスインターリーブドリードソロモンコード（ＣＩＲＣ）を復号するのに使用する方法及び装置をを提供できる。
【図面の簡単な説明】
【図１】
従来の誤り訂正方法と共に使用されるシステムメモの例を示す図である。
【図２】
本発明に従った方法を実行するのに好適なＣＩＲＣ復号器のブロック図である。
【図３】
本発明に従ったメモリブロックＢ１とＢ２を伴なうメモリブロックの概略を示す図である。
【図４】
本発明に従った方法のフローチャートを示す図である。
【図５】
メモリセクタを伴なう図３のメモリブロックを示す図である。
【図６】
メモリブロックＢ２へ移動されたメモリブロックを伴なう図５のメモリブロックを示す図である。
【図７】
それぞれ、従来の誤り訂正方法と本発明に従った誤り訂正方法の比較結果を示す図である。
【符号の説明】
１  入力論理
２  システムメモリ
３  １シンボル遅延
４  タイミング及び制御要素
５  ＲＳ復号器
６  ２シンボル遅延
７  出力バッファ