(57)【要約】リード・ソロモン・クロス・インターリーブ符号（ＣＩＲＣ）復号化は、入力フレーム毎に、一つおきのデータシンボルの１シンボル遅延動作と、パリティシンボルの反転と、Ｃ１符号語復号化と、Ｃ２符号語復号化と、出力前の２シンボル遅延動作と、を含む。誤り訂正能力は、Ｃ１符号語復号化、デインターリーブ、及び、Ｃ２符号語復号化が２シンボル遅延動作及び出力の前に２回ずつ実行される場合（二重パス動作）、高められる。本発明は、二重パス動作と単一パス動作を可能にし、最小限の容量の単一メモリを使用し、特定の動作がメモリの三つの部分に割り当てられ、メモリは特別な方法で制御される。
2004519174.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号、例えば、リード・ソロモン・クロス・インターリーブ符号を復号化する方法であって、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームをメモリの第１の部分に格納する手順と、
データシンボルの一部を１データシンボル期間だけ遅延させ、データシンボルがＣ１符号語を表現するように、データシンボルの該現在のフレームを該メモリの第２の部分に書き込む手順と、
該メモリから該Ｃ１符号語を読み出し、第１の誤り訂正を含むＣ１復号化を該Ｃ１符号語に実行し、訂正されたＣ１符号語を該メモリの該第２の部分に書き込む手順と、
該メモリから該訂正されたＣ１符号語を読み出し、デインターリーブ処理と第２の誤り訂正又は消去訂正を含むＣ２復号化を該訂正されたＣ１符号語に実行する手順と、
得られた訂正されたＣ２符号語を該メモリの第３の部分に格納する手順と、
該メモリの該第３の部分から該訂正されたＣ２符号語を読み出し、符号語データシンボルの一部を２データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを該メモリの該第３の部分に書き込む手順と、
該メモリの該第３の部分から現在フレームの訂正されたデータシンボルを出力する手順と、
を有することを特徴とする方法。
【請求項２】
誤り訂正符号、例えば、リード・ソロモン・クロス・インターリーブ符号を復号化する方法であって、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームをメモリの第１の部分に格納する手順と、
データシンボルの一部を１データシンボル期間だけ遅延させ、データシンボルがＣ１符号語を表現するように、データシンボルの該現在のフレームを該メモリの第２の部分に書き込む手順と、
該メモリから該Ｃ１符号語を読み出し、第１の予備誤り訂正を含む予備Ｃ１復号化を該Ｃ１符号語に実行し、予備訂正されたＣ１符号語を該メモリの該第２の部分に書き込む手順と、
該メモリから該予備訂正されたＣ１符号語を読み出し、デインターリーブ処理と第２の予備誤り訂正又は予備消去訂正を含む予備Ｃ２復号化を該予備訂正されたＣ１符号語に実行し、得られた予備訂正されたＣ２符号語を該メモリの第２の部分に格納する手順と、
該メモリから該予備誤り訂正されたＣ２符号語を読み出し、第１の誤り訂正を含む更なるＣ１復号化を、該予備誤り訂正されたＣ２符号語と、該誤り訂正ビットのうちの要求されたビットに実行し、更なる訂正されたＣ１符号語を該メモリの該第２の部分に書き込む手順と、
該メモリから該更なる訂正されたＣ１符号語を読み出し、デインターリーブ処理と第２の誤り訂正又は消去訂正を含む更なるＣ２復号化を該更なる訂正されたＣ１符号語に実行する手順と、
得られた更なる訂正されたＣ２符号語を該メモリの第３の部分に格納する手順と、
該メモリの該第３の部分から該訂正されたＣ２符号語を読み出し、符号語データシンボルの一部を２データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを該メモリの該第３の部分に書き込む手順と、
該メモリの該第３の部分から現在フレームの訂正されたデータシンボルを出力する手順と、
を有することを特徴とする方法。
【請求項３】
該メモリの該第１の部分は、第１の個数、例えば、３個のバンクにより構成され、データシンボルの連続的な各フレームが循環式にバンクへ書き込まれる、請求項１又は２記載の方法。
【請求項４】
該メモリの該第２の部分は、該誤り訂正符号のブロックのバンクの個数の２倍である第２の個数のバンクにより構成され、
該メモリの第２の部分は該デインターリーブ処理のため使用される、
請求項１乃至３のうちいずれか一項記載の方法。
【請求項５】
該メモリの該第３の部分は、第３の個数、例えば、３個のバンクにより構成される、請求項１乃至４のうちいずれか一項記載の方法。
【請求項６】
誤り訂正符号、例えば、リード・ソロモン・クロス・インターリーブ符号を復号化する装置であって、
ＲＳ（リード・ソロモン）復号器と、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームが格納される第１の部分を有するメモリと、
データシンボルの一部を１データシンボル期間だけ遅延させ、データシンボルがＣ１符号語を表現するように、データシンボルの該現在のフレームの該メモリの第２の部分への書き込みを制御するコントローラと、
を具備し、
該コントローラは、
該メモリから該Ｃ１符号語を読み出し、該ＲＳ復号器で、第１の誤り訂正を含むＣ１復号化を該Ｃ１符号語に実行し、訂正されたＣ１符号語を該メモリの該第２の部分に書き込むことを制御し、
該メモリから該訂正されたＣ１符号語を読み出し、該訂正されたＣ１符号語に、デインターリーブ処理を行い、該ＲＳ復号器で、第２の誤り訂正又は消去訂正を含むＣ２復号化を行うことを制御し、
得られた訂正されたＣ２符号語を該メモリの第３の部分に格納することを制御し、
該メモリの該第３の部分から該訂正されたＣ２符号語を読み出し、符号語データシンボルの一部を２データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを該メモリの該第３の部分に書き込むことを制御し、
該メモリの該第３の部分から現在のフレームの訂正されたデータシンボルを出力する手段が更に設けられている、
装置。
【請求項７】
誤り訂正符号、例えば、リード・ソロモン・クロス・インターリーブ符号を復号化する装置であって、
単一のＲＳ（リード・ソロモン）復号器と、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームが格納される第１の部分を有するメモリと、
データシンボルの一部を１データシンボル期間だけ遅延させ、データシンボルがＣ１符号語を表現するように、データシンボルの該現在のフレームの該メモリの第２の部分への書き込みを制御するコントローラと、
を具備し、
該コントローラは、
該メモリから該Ｃ１符号語を読み出し、該ＲＳ符号器で第１の予備誤り訂正を含む予備Ｃ１復号化を該Ｃ１符号語に実行し、予備訂正されたＣ１符号語を該メモリの該第２の部分に書き込むことを制御し、
該メモリから該予備訂正されたＣ１符号語を読み出し、該予備訂正されたＣ１符号語にデインターリーブ処理を行い、該ＲＳ復号器で第２の予備誤り訂正又は予備消去訂正を含む予備Ｃ２復号化を実行し、得られた予備訂正されたＣ２符号語を該メモリの第２の部分に格納することを制御し、
該メモリから該予備誤り訂正されたＣ２符号語を読み出し、該ＲＳ符号器で、第１の誤り訂正を含む更なるＣ１復号化を、該予備誤り訂正されたＣ２符号語と、該誤り訂正ビットのうちの要求されたビットに実行し、更なる訂正されたＣ１符号語を該メモリの該第２の部分に書き込むことを制御し、
該メモリから該更なる訂正されたＣ１符号語を読み出し、該更なる訂正されたＣ１符号語に、デインターリーブ処理を実行し、該ＲＳ符号器で第２の誤り訂正又は消去訂正を含む更なるＣ２復号化を実行することを制御し、
得られた更なる訂正されたＣ２符号語を該メモリの第３の部分に格納することを制御し、
該メモリの該第３の部分から該訂正されたＣ２符号語を読み出し、符号語データシンボルの一部を２データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを該メモリの該第３の部分に書き込むことを制御し、
該メモリの該第３の部分から現在フレームの訂正されたデータシンボルを出力する手段が更に設けられている、
装置。
【請求項８】
該メモリの該第１の部分は、第１の個数、例えば、３個のバンクにより構成され、データシンボルの連続的な各フレームが循環式にバンクへ書き込まれる、請求項６又は７記載の装置。
【請求項９】
該メモリの該第２の部分は、該誤り訂正符号のブロックのバンクの個数の２倍である第２の個数のバンクにより構成され、
該メモリの第２の部分は該デインターリーブ処理のため使用される、
請求項６乃至８のうちいずれか一項記載の装置。
【請求項１０】
該メモリの該第３の部分は、第３の個数、例えば、３個のバンクにより構成される、請求項６乃至９のうちいずれか一項記載の装置。
【発明の詳細な説明】
【０００１】
本発明は、リード・ソロモン・クロス・インターリーブ符号化（ＣＩＲＣ）方式の誤り訂正符号を復号化する方法及び装置に係り、特に、光記憶媒体から読み出されたデジタルデータのバーストエラーやランダムエラーに対する訂正性能が向上した復号化に関する。
【０００２】
〔背景技術〕
例えば、（２８，２４）リード・ソロモン符号（Ｃ２符号）を含むＣＩＲＣ符号の符号化処理は、２４個のデータシンボルに対して実行される。各シンボルの語長は８ビットである。典型的なオーディオ応用において、各オーディオサンプルは１６ビットにより表現される。このようなデジタルオーディオ信号をチャネル符号化するため上述のＣＩＲＣ符号が使用される場合、各サンプルは２個の８ビットシンボルにより表現できる。各８ビットシンボルは、ステレオ・オーディオデータの２個のチャネルのうちの一方のチャネルのあるオーディオサンプルの８個の最上位ビットＭＳＢ若しくは８個の最下位ビットＬＳＢのいずれかを表現する。第１の配置状態を有するこれらのデータシンボルは、インターリーブ操作によって第２の配置状態に変換される。次に、（３２，２８）リード・ソロモン符号（Ｃ１符号語）の更なる符号化処理は、第２の配置状態である２８個のシンボルに対して行われる。
【０００３】
図１には、このようなＲＳ（リード・ソロモン）符号の従来のＣＩＲＣ符号復号化のための回路が示されている。このようなＣＩＲＣ復号器（デコーダ）における主要な処理ステップは、
ステージ１ＳＹＭＤＥＬにおいて、１個おきの入力データシンボルを１シンボルずつ遅延させ、一部の遅延したシンボルを反転するステップ（ａ）と、
ステージＣ１ＤＥＣにおいて、ＲＳ符号Ｃ１（３２，２８，５）を復号化し、これにより、誤りを含むシンボルを訂正するステップ（ｂ）と、
ステージＵＮＥＱＤＥＬにおいて、デインターリーブするステップ（ｃ）と、
ステージＣ２ＤＥＣにおいて、ＲＳ符号Ｃ２（２８，２４，５）を復号化し、これにより誤りを含むシンボルを訂正するステップ（ｄ）と、
ステージ２ＳＹＭＤＥＬにおいて、一部のＣ２復号化データシンボルを２シンボルずつ遅延させるステップ（ｅ）と、
を含む。
【０００４】
入力データシンボルは、３２個毎に、１フレームを形成し、回路１ＳＹＭＤＥＬに供給され、回路１ＳＹＭＤＥＬにおいて、偶数番目のシンボルだけが１データシンボル期間ずつ、すなわち、１フレームの分量だけ遅延させられる。回路１ＳＹＭＤＥＬから出力された３２個のシンボルは、Ｃ１符号用復号器Ｃ１ＤＥＣへ供給され、Ｃ１符号用復号器において、（３２，２８，５）リード・ソロモン符号（Ｃ１符号語）の実際の復号化が行われ、Ｃ１符号語内の最大で２個の間違ったシンボルが訂正される。Ｃ１復号器において３個以上のエラーが検出された場合、Ｃ１ポインタ（即ち、消去フラグ）は、現在のＣ１符号語内のすべてのデータシンボルに対してセットされる。
【０００５】
データシンボル及び消去フラグは、長さが均一ではない遅延ラインを含むデインターリーブ用ステージＵＮＥＱＤＥＬにおいて更に処理される。デインターリーブ用ステージＵＮＥＱＤＥＬでは、Ｃ１復号器から生成された各データシンボルの消去フラグは、データのデインターリーブと同様にデインターリーブされる。Ｃ２復号器では、Ｃ１消去フラグを使用することにより、４個までのエラーが訂正される。４個までのエラーの訂正が実行された場合、Ｃ１消去フラグはクリアされる。５個以上のエラーが存在する場合、Ｃ１消去フラグがＣ２符号語にコピーされるか、若しくは、消去フラグは、Ｃ２符号語のすべてのシンボルに対しセットされる。ＣＩＲＣ復号化の最後のステージは２シンボル遅延ステージ２ＳＹＭＤＥＬである。
【０００６】
従来の様々なＣＩＲＣ符号復号化方法は、例えば、欧州特許出願第０４９７５９３号、米国特許出願第４４７６５６２号、米国特許出願第４４９７０５８号、米国特許出願第４５４６４７４号、米国特許出願第５２７６６７４号、及び、欧州特許出願第０１５６４４０号に記載されている。これらの従来の復号化方法において、エラー処理は、いわゆる消去訂正（ｅｒａｓｕｒｅ ｃｏｒｒｅｃｔｉｏｎ）方法に従って実行される。消去訂正方法では、エラー・シンボルの所在がポインタ情報によって指定され、必要な訂正がこのエラー・シンボルについて実行される。上記のＣ１符号語及びＣ２符号語の場合、最大で２個までのエラーの検出及び訂正を実行可能である。エラーの所在が既知であるならば、最大で４個までの消去若しくはエラーの訂正が実行され得る。したがって、誤り訂正能力を高めるため、エラーを復号化する際に消去訂正方法を実行することが好ましい。更に、消去訂正方法は、特に、バーストエラーを訂正する際に効果を奏することが判明した。
【０００７】
図１に示されているような従来の復号化方法は、誤り訂正能力を改善するためにＣＩＲＣ符号の処理ブロックを二重にすることができない。この付加的な機能を追加するためには、従来のＣＩＲＣ復号器に付加的な回路を追加するか、従来のＣＩＲＣ復号器を修正することができる。
【０００８】
欧州特許出願第０２７８３８３号に記載された復号化方法は、従来の復号化方法、即ち、従来のＣＩＲＣ復号器を使用するが、ＣＩＲＣ符号の二重処理を可能にする。二重処理では、Ｃ１復号化とＣ２復号化が特定の順序で２回実行される。Ｃ１符号語はＣ１復号器に供給され、Ｃ１復号器において（３２，２８）リード・ソロモン符号の実際の復号化が行われる。最大で２個までのエラーの訂正が可能である。Ｃ１復号器で３個以上のエラーが検出された場合、Ｃ１ポインタは、Ｃ１符号語のすべてのシンボルに対してセットされる。訂正されたデータ及びＣ１エラーポインタは、更に、デインターリーブ用ステージで処理される。デインターリーブ用ステージの出力はＣ２復号器に供給され、Ｃ２復号器において、最大で４個までの消去の消去訂正がＣ１ポインタを使用して実行される。Ｃ２復号器で消去訂正が終了したとき、Ｃ１ポインタ（１個若しくは複数）はクリアされ、ポインタ情報は２番目のＣ２復号化サイクルへ受け渡されない。２番目のサイクル中、Ｃ２復号器からのデータは、元の生成順でデータを返すインターリーバーへ供給される。次に、１番目の復号化サイクルを繰り返す２番目の復号化サイクルが始まる。したがって、ＣＩＲＣ符号の二重処理は、付加的なインターリーブ用ステージを用いて実現される。
【０００９】
米国特許第４６３７０２１号には、ＣＩＲＣ符号の二重処理を実行するけれども、単一パス処理を行えない復号化方法が記載されている。誤り検出及び誤り訂正は、Ｃ１復号器及びＣ２復号器を使用して、データバイトのブロックを処理することにより実施される。データが処理される速度を最大限に高めるため、Ｃ１復号器とＣ２復号器は、システムメモリに保持されたデータを同時に操作し、Ｃ１復号器は、Ｃ２復号器よりも前に対応したデータを操作する。二重誤り訂正までのエラー処理は、１番目のＣ１復号化ステージで行われ、二重誤り訂正は、Ｃ１復号化ステージから得られたポインタ情報を参照することによりＣ２復号化ステージで行われる。Ｃ１ポインタ情報は、誤り訂正システムの誤り訂正能力を高めるためには使用されないが、復号化処理の品質を検査するために使用される。
【００１０】
Ｃ１復号器及びＣ２復号器によってシステムメモリから読み出されたデータバイトのシーケンスは、次の通りである。１番目のＣ１復号器は、データシンボルバイト（３２バイト）のＣ１ブロックを処理する。１番目のＣ２復号器は、Ｃ１復号器によって処理済のデータバイト（２８バイト）のＣ２ブロックを処理する。１番目のパスはこれで終了する。２番目のＣ１復号器は、１番目のパスで処理済のデータバイトを処理し、２番目のＣ２復号器は、１番目のパスと２番目のＣ１復号器によって既に処理されたデータバイトを処理する。２番目のパスはここで終了する。復号器サイクルは、１番目のパスと２番目のパスの両方の実行を含む。復号器サイクルが終了する毎に、アドレスカウンタがインクリメントされ、更なる復号化サイクルが実行される。
【００１１】
新しいデータは、入力バッファへ入力されたデータシンボル（Ｃ１ブロック）の準備ができると即座にシステムメモリへ書き込まれる。かくして、動作中に、４個の復号器の読み出しは、利用可能なすべてのデータが処理されるまで、システムメモリ内を進められる。
【００１２】
デインターリーバの実現とデータ制御に関して、異なる方法を使用してもよい。デインターリーバ・ブロックは、メモリに導入される。デインターリーバ・ブロックは、２５６＊３２バイトを有し、Ｃ１とＣ２の二つのブロックにより構成され、Ｃ１ブロックは１２８＊３２バイトを有し、Ｃ２ブロックは１２８＊３２バイトを有する。Ｃ２ブロックは、行２４０から行２５５までと、行０から行１１１までにアドレス指定されている。メモリは循環的メモリである。１番目のＣ１復号器は、３２データバイトのＣ１ブロックを処理し、アドレス１１２でＣ１ブロックを読み出すため、初期位置が決められる。後続の各復号器サイクルにおいて（即ち、Ｃ１復号器とＣ２復号器の両方による２回のパスの実行時に）、Ｃ１復号器は、次に高いアドレスのＣ１ブロックへ位置が合わせられ、Ｃ１ブロックを読み出す。このように、２番目のサイクルでは、Ｃ１ブロックは、メモリアドレス位置１１３に置かれる。１番目のＣ２復号器は、２８データバイトのＣ２ブロックを処理し、メモリドレス０でＣ２ブロックを読み出すため、初期位置が決められる。Ｃ２ブロックを構成するバイトは、２次元メモリ空間内の対角線に沿って存在する。連続的な復号化サイクルにおいて、Ｃ２ブロックを構成するバイトは変更される。２番目のＣ１復号器は、メモリアドレス２４０でＣ１ブロックを読み出すように初期位置が定められ、２番目のＣ２復号器は、メモリアドレス１１３でＣ２ブロックを読み出すように初期位置が定められる。４回の復号化パスの実行によって、メモリ内を進みつづける。処理されていないデータがメモリに存在する限り、復号化サイクルが続けられる。メモリ内のすべてのデータが訂正された場合、誤り訂正システムの動作は終了する。
【００１３】
〔発明の概要〕
しかし、米国特許出願第４６３７０２１号に記載された教示によるＣＩＲＣ符号復号化には以下の（ａ）から（ｄ）の欠点がある。
（ａ）１シンボル遅延動作及びフレームのパリティシンボルの反転は、付加的な回路を使用して実行される。
（ｂ）２シンボル遅延動作は付加的な回路を使用して実行される。
（ｃ）メモリは２５６個のバンクを要求し、各バンクは３２バイトと関連した消去フラグとにより構成される。そのため、メモリ容量は、各ブロックが１０９個のバンクしか含まない２個のＣＩＲＣブロックのメモリ容量よりも非常に大きくなる。
（ｄ）ＣＩＲＣ復号器の単一パス動作は実行不可能である。
【００１４】
本発明が解決しようとする課題は、二重パス動作並びに単一パス動作を可能とし、不必要な付加的な回路を回避し、最小限のメモリ容量しか要求しないＣＩＲＣ符号復号化を提供することである。この課題は、請求項１に記載された方法によって解決される。この方法を利用する装置は請求項６に記載されている。
【００１５】
適切に遅延させられたＣ１符号語は、Ｃ１復号器に供給され、Ｃ１復号器では、（３２，２８）リード・ソロモン符号の実際の復号化が行われる。最大で２個までのエラーの訂正を行うことができる。Ｃ１復号器において３個以上のエラーが検出された場合、Ｃ１ポインタは、Ｃ１符号語のすべてのシンボルに対してセットされる。訂正されたデータ及びＣ１エラーポインタは、デインターリーブ用ステージで更に処理される。デインターリーブ用ステージの出力はＣ２復号器へ供給され、Ｃ２復号器では、Ｃ１ポインタを使用して、最大で４個までの消去の消去訂正が行われる。その後、必要に応じて、２番目の復号化サイクルが始まり、上記の１番目の復号化サイクルを繰り返す。これにより、例えば、メモリに保持されたままの４ビット若しくは語（或いは、対応した誤り訂正ビット）と共にメモリに保持されている１番目のパスのＣ２復号化の２８個の予備訂正された出力語は、例えば、２回目のパスのＣ１復号化のための３２個の入力データシンボルを形成する。このようにして、ＣＩＲＣ符号の二重処理が達成される。
【００１６】
本発明によれば、ＣＩＲＣ符号復号化の１シンボル遅延動作及び２シンボル遅延動作、並びに、二重パスＣＩＲＣ符号復号化及び単一パスＣＩＲＣ符号復号化の利用可能性は、メモリの特別な制御と、アドレッシングによって達成される。付加的なハードウェアは不要であること、並びに、メモリを十分に削減できることが有利である。
【００１７】
二重パス復号化に関して、メモリのすべてのデータバイトは、単一の復号器を用いて２回訂正される。デインターリーバの実装に関して、使用されるメモリのサイズは、上記の復号化方法の場合の２５６＊３２ではなく、２１８＊３２である（２１８は、上記の二重ＣＩＲＣブロック長に対応する。）。本発明は、ＲＳ符号の消去訂正方法を使用する。間違いの多いＣ１符号語の大きいバーストエラーの訂正は、各Ｃ１符号語が最大で６個のランダムエラーを含むならば、入力誤り率が低い場合には非常に効率的である。
【００１８】
原理的には、本発明の方法は、誤り訂正符号、例えば、ＣＩＲＣ符号を復号化するために好適である。本発明の方法は、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームをメモリの第１の部分に格納する手順と、
データシンボルの一部を１データシンボル期間だけ遅延させ、データシンボルがＣ１符号語を表現するように、データシンボルの上記現在のフレームを上記メモリの第２の部分に書き込む手順と、
上記メモリから上記Ｃ１符号語を読み出し、第１の誤り訂正を含むＣ１復号化を上記Ｃ１符号語に実行し、訂正されたＣ１符号語を上記メモリの上記第２の部分に書き込む手順と、
上記メモリから上記訂正されたＣ１符号語を読み出し、デインターリーブ処理と第２の誤り訂正又は消去訂正を含むＣ２復号化を上記訂正されたＣ１符号語に実行する手順と、
得られた訂正されたＣ２符号語を上記メモリの第３の部分に格納する手順と、
上記メモリの上記第３の部分から上記訂正されたＣ２符号語を読み出し、符号語データシンボルの一部を２データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを上記メモリの上記第３の部分に書き込む手順と、
上記メモリの上記第３の部分から現在フレームの訂正されたデータシンボルを出力する手順と、
を有する。或いは、本発明の方法は、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームをメモリの第１の部分に格納する手順と、
データシンボルの一部を１データシンボル期間だけ遅延させ、データシンボルがＣ１符号語を表現するように、データシンボルの上記現在のフレームを上記メモリの第２の部分に書き込む手順と、
上記メモリから上記Ｃ１符号語を読み出し、第１の予備誤り訂正を含む予備Ｃ１復号化を上記Ｃ１符号語に実行し、予備訂正されたＣ１符号語を上記メモリの上記第２の部分に書き込む手順と、
上記メモリから上記予備訂正されたＣ１符号語を読み出し、デインターリーブ処理と第２の予備誤り訂正又は予備消去訂正を含む予備Ｃ２復号化を上記予備訂正されたＣ１符号語に実行し、得られた予備訂正されたＣ２符号語を上記メモリの第２の部分に格納する手順と、
上記メモリから上記予備誤り訂正されたＣ２符号語を読み出し、第１の誤り訂正を含む更なるＣ１復号化を、上記予備誤り訂正されたＣ２符号語と、上記誤り訂正ビットのうちの要求されたビットに実行し、更なる訂正されたＣ１符号語を上記メモリの上記第２の部分に書き込む手順と、
上記メモリから上記更なる訂正されたＣ１符号語を読み出し、デインターリーブ処理と第２の誤り訂正又は消去訂正を含む更なるＣ２復号化を上記更なる訂正されたＣ１符号語に実行する手順と、
得られた更なる訂正されたＣ２符号語を上記メモリの第３の部分に格納する手順と、
上記メモリの上記第３の部分から上記訂正されたＣ２符号語を読み出し、符号語データシンボルの一部を２データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを上記メモリの上記第３の部分に書き込む手順と、
上記メモリの上記第３の部分から現在フレームの訂正されたデータシンボルを出力する手順と、
を有する。
【００１９】
本発明の方法の有利な更なる実施形態は対応する従属請求項に記載されている。
【００２０】
原理的に、誤り訂正符号、例えば、ＣＩＲＣ符号を復号化する本発明の装置は、
ＲＳ（リード・ソロモン）復号器と、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームが格納される第１の部分を有するメモリと、
データシンボルの一部を１データシンボル期間だけ遅延させ、データシンボルがＣ１符号語を表現するように、データシンボルの上記現在のフレームの上記メモリの第２の部分への書き込みを制御するコントローラと、
を具備し、
上記コントローラは、
上記メモリから上記Ｃ１符号語を読み出し、上記ＲＳ復号器で、第１の誤り訂正を含むＣ１復号化を上記Ｃ１符号語に実行し、訂正されたＣ１符号語を上記メモリの上記第２の部分に書き込むことと、
上記メモリから上記訂正されたＣ１符号語を読み出し、上記訂正されたＣ１符号語に、デインターリーブ処理を行い、上記ＲＳ復号器で、第２の誤り訂正又は消去訂正を含むＣ２復号化を行うことと、
得られた訂正されたＣ２符号語を上記メモリの第３の部分に格納することと、
上記メモリの上記第３の部分から上記訂正されたＣ２符号語を読み出し、符号語データシンボルの一部を２データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを上記メモリの上記第３の部分に書き込むことと、
を更に制御し、
上記メモリの上記第３の部分から現在のフレームの訂正されたデータシンボルを出力する手段が更に設けられている。
【００２１】
或いは、本発明の装置は、
単一のＲＳ（リード・ソロモン）復号器と、
誤り訂正ビットを含む符号化されたデータシンボルの現在のフレームが格納される第１の部分を有するメモリと、
データシンボルの一部を１データシンボル期間だけ遅延させ、データシンボルがＣ１符号語を表現するように、データシンボルの上記現在のフレームの上記メモリの第２の部分への書き込みを制御するコントローラと、
を具備し、
上記コントローラは、
上記メモリから上記Ｃ１符号語を読み出し、上記ＲＳ符号器で第１の予備誤り訂正を含む予備Ｃ１復号化を上記Ｃ１符号語に実行し、予備訂正されたＣ１符号語を上記メモリの上記第２の部分に書き込むことと、
上記メモリから上記予備訂正されたＣ１符号語を読み出し、上記予備訂正されたＣ１符号語にデインターリーブ処理を行い、上記ＲＳ復号器で第２の予備誤り訂正又は予備消去訂正を含む予備Ｃ２復号化を実行し、得られた予備訂正されたＣ２符号語を上記メモリの第２の部分に格納することと、
上記メモリから上記予備誤り訂正されたＣ２符号語を読み出し、上記ＲＳ符号器で、第１の誤り訂正を含む更なるＣ１復号化を、上記予備誤り訂正されたＣ２符号語と、上記誤り訂正ビットのうちの要求されたビットに実行し、更なる訂正されたＣ１符号語を上記メモリの上記第２の部分に書き込むことと、
上記メモリから上記更なる訂正されたＣ１符号語を読み出し、上記更なる訂正されたＣ１符号語に、デインターリーブ処理を実行し、上記ＲＳ符号器で第２の誤り訂正又は消去訂正を含む更なるＣ２復号化を実行することと、
得られた更なる訂正されたＣ２符号語を上記メモリの第３の部分に格納することと、
上記メモリの上記第３の部分から上記訂正されたＣ２符号語を読み出し、符号語データシンボルの一部を２データシンボル期間だけ遅延させ、得られた訂正されたデータシンボルを上記メモリの上記第３の部分に書き込むことと、
を更に制御し、
上記メモリの上記第３の部分から現在フレームの訂正されたデータシンボルを出力する手段が更に設けられている。
【００２２】
本発明の装置の有利な更なる実施形態は対応した従属請求項に記載されている。
【００２３】
本発明の典型的な実施形態は添付図面を参照して説明される。
【００２４】
〔典型的な実施形態〕
図２には、本発明のＣＩＲＣ符号復号器の主要な構成要素が示されている。度図において、データライン若しくはデータバスはＤで表され、アドレスライン又はアドレスバスはＡで表されている。二重パス及び単一パス動作は、このアーキテクチャに導入されている。獲得ステージから到来するデータストリームａｃｑ＿ｄは、３２個のシンボルを格納することができる入力ロジック部ｉｎｐ＿ｌｏｇに格納される。この入力ロジック部は、次フレーム開始信号ｎｆｘと、バイトクロックｂｃを受け取る。入力ロジック部のバッファで十分な量のデータが利用可能である場合、完全なフレームは、ＲＡＭメモリのＭ１部分に格納される。復号器は、従来のＲＳ復号器ＲＥＤＥＣを含み、ＲＳ復号器には、上述の消去訂正方法が実現されている。ＲＳ復号器は、最大で４個の消去若しくは２個のエラーを訂正する能力を備え、或いは、ＲＳ復号器は、ｔが符号語に含まれるエラーの個数、Ｅが消去の個数、ｄがＲＳ符号のハミング距離を表すとき、
２＊ｔ＋Ｅ＜ｄ
という条件に従うエラーと消去の組合せを訂正する能力を備えている。例えば、オーディオ・コンパクト・ディスク応用の場合に、ｄ＝５である。
【００２５】
メモリＲＡＭ内のロケーションを決定し、アドレス指定することにより、データ若しくはデータバイトのＲＡＭとの間の転送と、１シンボル遅延動作及び２シンボル遅延動作と、デインターリーブ動作と、読み出し及び書き込み動作は、コントローラＣＯＮＴＲを使用して行われる。メモリＲＡＭは、例えば、２２４バンクを収容し、各バンクは、３２バイトと、それに関連した消去フラグとを含む。メモリには、Ｍ１部分とＭ２部分とＭ３部分の３部分があり、
Ｍ１部分（例えば、バンク２１８−２２０）は１シンボル遅延動作のため使用され、
Ｍ２部分（例えば、バンク０−２１７）はデインターリーブ動作のため使用され、
Ｍ３部分（例えば、バンク２２１−２２３）は２シンボル遅延動作のため使用される。
【００２６】
ＲＳ復号器は、メモリＲＡＭの対応した部分から要求されたデータを受信し、それぞれのデータをメモリＲＡＭの対応した部分に送信する。上記の２シンボル遅延動作の後に、２４個のデータバイト及びそれに関連した消去フラグが、メモリＲＡＭのＭ３部分から出力ロジック部ｏｕｔ＿ｌｏｇへロードされ、出力ロジック部は、誤り訂正データａｕｄ＿Ｄを出力し、場合によっては、フレーム開始情報ｆｒ＿ｓｔｒｔ及びバイトクロックｂｃを出力する。
【００２７】
図３に示されているように、ステップ３１においてＣＩＲＣ復号器における第１の動作は、コントローラＣＯＮＴＲの初期化と、二重パス動作若しくは単一パス動作用のメモリＲＡＭの設定と、カウンタのリセットである。Ｍ２メモリのバンク０−２１７はＣＩＲＣ復号器の二重パスのために使用され、バンク１０８−２１７はＣＩＲＣ復号器の単一パス動作のために使用される。Ｃ１復号化の二つのパスと、Ｃ２復号化の二つのパスは、二重パスモードで実行され、Ｃ１復号化の一つのパスと、Ｃ２復号化の一つのパスは、単一パスモードで実行される。二重パスモードでは、ｃ１＿１復号化（”＿１”は第１パスを表す。）の開始位置はバンク１０８にあり、ｃ２＿１復号化の開始位置はバンク０にあり、ｃ１＿２復号化（”＿２”は第２パスを表す。）の開始位置はバンク２１７にあり、ｃ２＿２復号化の開始位置はバンク１０９にある。単一パスモードでは、ｃ１＿１復号化及びｃ２＿１復号化の開始位置は、それぞれ、バンク１０８及びバンク０にある。
【００２８】
入力ロジック部のバッファで十分な量のデータが利用可能である場合、フレームはＭ１メモリのバンク２１８に格納され、ステップ３２及びステップ３３に示されているように１シンボル遅延動作が実行される。
【００２９】
上述のように入力ロジック部ｉｎｐ＿ｌｏｇからの３２シンボルのフレームは、図４に示されるように、Ｍ１メモリの対応したバンク（図４ａ及び４ｃのバンクアドレスｂｋ＿ａｄｄ＿ｍ１  ２８８、図４ｂのバンクアドレス２１９、図４ｃのバンクアドレス２２０）に取り込まれる。矢印”ｗｒｔ”は、バンクアドレス２１８から２２０の中からその時点でデータが書き込まれるべき一つのバンクアドレスを順番に指定する。
【００３０】
図５は、メモリ部分Ｍ１に対するアドレス値ｂｋ＿ａｄｄ＿ｍ１の計算と、メモリ部分Ｍ２に対する基本アドレス計算の説明図である。現在のＭ１バンク書き込みアドレスは、次の式：
ｂｋ＿ａｄｄ＿ｍ１＿ｗ ＝ ｏｆｓｔ＿ｍ１ ＋ ｃｏｕｎｔ＿ｍ１＿ｗ
によって計算される。ここで、値ｃｏｕｎｔ＿ｍ１＿ｗは、書き込みアドレスカウンタｃｏｕｎｔ＿ｍ１＿ｗから得られ、書き込み用Ｍ１メモリバンクアドレスを定義し、ｏｆｓｔ＿ｍ１は値が２１８の固定オフセットである。ｃｏｕｎｔ＿ｍ１＿ｗ＞２である場合、カウンタｃｏｕｎｔ＿ｍ１＿ｗは零にリセットされる。
【００３１】
カウンタｃｏｕｎｔ＿ｂは３個の出力を有し（そのうちの１個は図５に示されていない。）、バンクのシンボルアドレスＳＹＭＡＤＲＢＫを出力し、Ｍ１メモリの偶数シンボル又は奇数シンボルｅｖ／ｏｄを出力する。
【００３２】
Ｍ１メモリのＭ１バンク読み出しアドレスは、偶数シンボル又は奇数シンボルｅｖ／ｏｄの値”０”又は”１”に依存し、以下の式：
2004519174.tif 000003
にしたがって計算される。ここで、値ｃｏｕｎｔ＿ｍ１は読み出しアドレスカウンタｃｏｕｎｔ＿ｍ１＿ｒから得られる。ｃｏｕｎｔ＿ｍ１＿ｒ＞２である場合、カウンタｃｏｕｎｔ＿ｍ１＿ｒは零にリセットされる。偶数又は奇数シンボルｅｖ／ｏｄが１である場合、即ち、奇数である場合、元のカウンタ値ｃｏｕｎｔ＿ｍ１＿ｒに値２が加算され、その結果は、ｏｆｓｔ＿ｍ１へ加算される前にモジュロ３回路ｍｏｄ３へ渡される。
【００３３】
Ｍ１メモリからのシンボルは、一時的レジスタＴＲに取り込まれる。このシンボルのあるバイトは、図１のＣ１復号器の入力と比較すると、カウンタｃｏｕｎｔ＿ｂの出力値ＳＹＭＡＤＲＢＫが１２、１３、１４、１５、２８、２９、３０又は３１の値を取る場合を除いて反転する。対応して適合させられたカウンタｃｏｕｎｔ＿ｂの値は、３状態データバスＤＢＳを介して、Ｍ２メモリのバンクへ書き込まれる。遅延したシンボルは、Ｍ２メモリの対応したバンクに格納され、これにより、例えば、１０８は、Ｍ２メモリの開始位置である。
【００３４】
Ｍ２バンク書き込みアドレスｂｋｋ＿ａｄｄ＿ｍ２＿ｗは、次の式：
ｂｋ＿ａｄｄ＿ｍ２＿ｗ ＝ （ｏｆｓｔ＿ｃ１＿１ ＋ ｃｏｕｎｔ＿ｍ２＿ｗ） ｍｏｄ ２１８／１０９
にしたがって計算される。ここで、ｏｆｓｔ＿ｃ１＿１は、後述のように変化するメモリのＭ２開始エリアに応じたオフセット値であり、ｃｏｕｎｔ＿ｍ２＿ｗはカウンタｃｏｕｎｔ＿ｍ２＿ｗの出力値であり、ｍｏｄ２１８／１０９は、二重パス動作の場合のｍｏｄ２１８、又は、単一パス動作の場合のｍｏｄ１０９を表し、対応したモジュロ回路の関数である。ｃｏｕｎｔ＿ｍ２＿ｗ＞ｍｏｄ（２１８／１０９−１）である場合、カウンタｃｏｕｎｔ＿ｍ２＿ｗは零にリセットされる。
【００３５】
異なるアドレス値ｂｋ＿ａｄｄ＿ｍ１、ｂｋ＿ａｄｄ＿ｍ２＿ｗ及びＳＹＭＡＤＲＡＢＫは、異なる時間期間にアドレスバスＡＤＲＢＳを介して出力される。アドレス値ｂｋ＿ａｄｄ＿ｍ１およびＳＹＭＡＤＲＢＫは、共通アドレス値の二つの部分を表現する。
【００３６】
カウンタｃｏｕｎｔ＿ｍ１＿ｗ、ｃｏｕｎｔ＿ｍ１＿ｒ及びｃｏｕｎｔ＿ｍ２＿ｗは、次フレーム信号ｎｘｆによりクロックが供給される。カウンタｃｏｕｎｔ＿ｂは、バイトクロックｂｃによりクロックが供給され、０から３１までをカウントする。Ｍ１メモリのデータフローは、３個のｎｘｆ信号の後に繰り返され、図４ａ及び４ｂは、Ｍ１部分に関して同じである。
【００３７】
Ｃ１復号器の第１パス動作は、１シンボル遅延動作の後に行われる（図３のステップ３４を参照。）。Ｃ１符号語は、Ｍ２メモリからＲＳ復号器のシンドローム生成器へ読み出される。Ｃ１符号語の復号化及び訂正が行われ、訂正された符号語はＭ２メモリに格納される。
【００３８】
読み出し及び書き込み動作中のＣ１バンクアドレスは、以下の式：
ｂｋ＿ａｄｄ＿ｃ１＿ｆｐ ＝ （ｏｆｓｔ＿ｃ１＿１ ＋ ｃｏｕｎｔ＿ｒｓｄ） ｍｏｄ ２１８／１０９
によって計算される。ここで、ｏｆｓｔ＿ｃ１＿１は固定値１０８であり、（図５に示されていない）処理カウンタｃｏｕｎｔ＿ｒｓｄの出力値は、ＣＩＲＣ復号器における処理の数を定める。
【００３９】
ＣＩＲＣ復号器の二重パス動作は、以下のステップ：
（ａ）ｃ１＿１復号化、訂正
（ｂ）ｃ２＿１復号器のためのデインターリーブ
（ｃ）ｃ２＿１復号化、訂正
（ｄ）ｃ１＿２復号化、訂正
（ｅ）ｃ２＿２復号器のためのデインターリーブ
（ｆ）ｃ２＿２復号化、訂正
を含む。各ステップは、処理カウンタを進める。
【００４０】
入力するＣＩＲＣ符号化データの各データシンボルは２回ずつ処理される。
【００４１】
ＣＩＲＣ復号器の単一パス動作は、以下のステップ：
（ａ）ｃ１＿１復号化、訂正
（ｂ）ｃ２＿１復号器のためのデインターリーブ
（ｃ）ｃ２＿１復号化、訂正
を含む。
【００４２】
Ｍ２メモリのサイズは、２１８＊３２＊９である。Ｍ２メモリは二つに分けられる。図６ａは、メモリＭ２におけるｃ１＿１復号器、ｃ１＿２復号器、ｃ２＿１復号器及びｃ２＿２復号器の開始位置と、Ｍ２メモリの異なるバンクからのＣ２符号語の組立を説明する図である。垂直位置は、０から２１７まで動くメモリバンクアドレスｂｋ＿ａｄｄを表現し、水平位置は、０から３１まで動くシンボルアドレスｓｙｍ＿ａｄｄを表現する。シンボルアドレス２８乃至３１から、Ｃ１符号語のパリティ部ＰＡＲＰが並べられる。上記の処理ステップのバンクアドレスオフセット値ｏｆｓｔ＿ｃ１＿１、ｏｆｓｔ＿ｃ１＿２、ｏｆｓｔ＿ｃ２＿１及びｏｆｓｔ＿ｃ２＿２は、１０８、２１７、０及び１０９であり、メモリにおける新しいフレームの開始位置を表現する。
【００４３】
新しいデータはＭ１メモリからＭ２メモリのバンク１０８乃至２１７（部分１）へ取り込まれ、ｃ１＿１復号器及びｃ２＿１復号器によって処理される。１０９個のバンクが既にｃ１＿１復号器によって使用されていた場合、バンク０から始まる。ｃ１＿２復号器及びｃ２＿２復号器は、Ｍ２メモリの部分２の旧いデータを処理する。或いは、開始位置１０８及び２１８と、０及び１０９を取り替えてもよい。即ち、４個の処理シーケンスは、他のメモリの半分で開始してもよい。
【００４４】
第１パスでは、連続する復号器サイクル毎に、Ｃ１復号器からの訂正されたＣ１符号語は、同じバンクアドレスに書き込まれる。Ｍ１メモリからの次のＣ１符号語は、Ｍ２メモリの次の一つだけ大きいバンクアドレスに書き込まれる。例えば、
（ａ）Ｍ１メモリからのＣ１符号語をＭ２メモリのバンクアドレス番号１０８へ書き込み、
（ｂ）Ｍ２メモリのバンクアドレス番号１０８からこのＣ１符号語を読み出し、Ｃ１復号器へロードし、
（ｃ）Ｃ１復号器からの訂正されたＣ１符号語をＭ２メモリのバンクアドレス番号１０９へ書き込み、
（ｄ）Ｍ１メモリからのＣ１符号語をＭ２メモリのバンクアドレス番号１０９へ書き込み、
（ｅ）Ｍ２メモリのバンクアドレス番号１０９からこのＣ１符号語を読み出し、Ｃ１復号器へ取り込み、
（ｆ）Ｃ１復号器からの訂正されたＣ１符号語をＭ２メモリのバンクアドレス番号１０９へ書き込み、
以下同様である。
【００４５】
第２パスでは、連続的な復号器サイクルにおいて、Ｃ１復号器の入力は、次の一つだけ大きいメモリバンクアドレスから読み出される。訂正されたＣ１符号語は同じメモリバンクアドレスに取り込まれる。
【００４６】
Ｃ２符号語のシンボルは、Ｍ２メモリ空間の対角線に沿って存在する。連続的な復号化サイクルにおいて、Ｃ２符号語を表現するデータシンボルが変更される。Ｃ２符号語を書き込むための初期データシンボルは、メモリバンクアドレス０、かつ、データシンボルアドレス０にある。
【００４７】
第１パスの後、訂正されたＣ２符号語は同じ場所（メモリバンクアドレス、データシンボルアドレス）に取り込まれる。第２パスの後、訂正されたＣ２符号語はＭ３メモリへ取り込まれる。
【００４８】
図７には、Ｍ２メモリ部分のためのアドレス値の計算が詳細に説明されている。有利的には、カウンタｃｏｕｎｔ＿ｂは、様々なカウント目的のため使用可能であり、現在バンクのシンボルアドレスを規定する。図２のコントローラＣＯＮＴＲから到来するカウントモード信号ｃｎｔ＿ｍｏｄは、ＲＳ復号器の現在パスを定め、カウンタｃｏｕｎｔ＿ｂの対応したカウントモードを定める。
（ａ）ｃｎｔ＿ｍｏｄ＝００  Ｃ１復号器、第１パス
（ｂ）ｃｎｔ＿ｍｏｄ＝０１  Ｃ２復号器、第１パス
（ｃ）ｃｎｔ＿ｍｏｄ＝１０  Ｃ１復号器、第２パス
（ｄ）ｃｎｔ＿ｍｏｄ＝１１  Ｃ２復号器、第２パス
【００４９】
Ｃ１処理の間に、カウンタｃｏｕｎｔ＿ｂは零から３２までを動き、Ｃ２処理の間に、カウンタｃｏｕｎｔ＿ｂは零から２８までを動く。この時間期間中に、カウンタｃｏｕｎｔ＿ｂは、バイトクロックｂｃからクロックを供給されないが、シンボルアドレスの＋１ｓｙｍ＿ａｄｄによって増加させられる。
【００５０】
４入力を有するマルチプレクサｍｕｘ４は、ｃｎｔ＿ｍｏｄｅ＝００のとき、入力１のバンクアドレスｂｋ＿ａｄｄ＿ｃ１＿ｆｐ（ｆｐは第１パスを表す）を選択する。デインターリーブ処理されたＣ１符号語は、Ｃ２符号語に変換され、Ｃ２復号器の第１パスが実行される（図３のステップ３５）。Ｃ２符号語は、ＲＳ復号器のシンドローム生成器に書き込まれる。Ｃ２符号語の復号化及び訂正が実行され、訂正された符号語はＭ２メモリに格納される。
【００５１】
図６ｂは、Ｍ２メモリの異なるバンクからＣ２符号語を組み立てる処理の説明図である。１行目にはバンクアドレス番号が示され、２行目にはメモリバンク内の対応したシンボルアドレス番号が示されている。読み出し／書き込み動作中に要求される２８個のバンクアドレスは、以下の式：
ｂｋ＿ａｄｄ＿ｃ２＿ｆｐ ＝ （ｏｆｓｔ＿ｃ２＿１ ＋ ｃｏｕｎｔ＿ｒｓｄ ＋ ４＊ｃｏｕｎｔ＿ｂ） ｍｏｄ ２１８／１０９
にしたがって計算される。式中、ｃｏｕｎｔ＿ｂは、現在のバンクアドレスにおけるシンボルアドレスを定める。
【００５２】
マルチプレクサｍｕｘ４は、ｃｏｎｔ＿ｍｏｄｅ＝０１のとき、入力２のバンクアドレスｂｋ＿ａｄｄ＿ｃ２＿ｆｐを選択する。Ｃ１復号器又はＣ２復号器の第２パスは、オン又はオフに切り替えられているＣＩＲＣ復号器（ｃ２＿１復号器、図３のステップ３７）の二重パス動作モード依存して実行される。Ｃ１符号語は、Ｍ２メモリから読み出され、ＲＳ復号器のシンドローム生成器に取り込まれる。Ｃ１符号語の復号化及び訂正が実行され、訂正された符号語はＭ２メモリに格納される。読み出し／書き込み動作中のバンクアドレスは、以下の式：
ｂｋ＿ａｄｄ＿ｃ１＿ｓｐ ＝ （ｏｆｓｔ＿ｃ１＿２ ＋ ｃｏｕｎｔ＿ｒｓｄ） ｍｏｄ ２１８／１０９
によって計算される。
【００５３】
マルチプレクサｍｕｘ４は、ｃｎｔ＿ｍｏｄｅ＝１０のとき、入力３のバンクアドレスｂｋ＿ａｄｄ＿ｃ１＿ｓｐ（ｓｐは第２パスを表す）を選択する。デインターリーブ処理されたＣ１符号語は、Ｃ２符号語に変換され、Ｃ２復号器の第２パスが実行される（ｃ２＿１復号器、図３のステップ３８）。Ｃ２符号語は、ＲＳ復号器のシンドローム生成器に書き込まれる。Ｃ２符号語の復号化及び訂正が実行され、訂正された符号語はＭ２メモリに格納される。読み出し／書き込み動作中に要求される２８個のバンクアドレスは、以下の式：
ｂｋ＿ａｄｄ＿ｃ２＿ｓｐ ＝ （ｏｆｓｔ＿ｃ２＿２ ＋ ｃｏｕｎｔ＿ｒｓｄ ＋ ４＊ｃｏｕｎｔ＿ｂ） ｍｏｄ ２１８／１０９
によって計算される。
【００５４】
マルチプレクサｍｕｘ４は、ｃｎｔ＿ｍｏｄｅ＝１１のとき、入力４のバンクアドレスｂｋ＿ａｄｄ＿ｃ２＿ｓｐを選択する。Ｃ２符号語は、ＣＩＲＣ復号器の二重パス又は単一パスに応じて、Ｍ３メモリに格納される。Ｃ記法の以下の規則は、Ｍ２メモリ及びＭ３メモリにおける読み出し／書き込みアドレッシングを記述する。
2004519174.tif 000004
【００５５】
カウンタｃｏｕｎｔ＿ｂを４倍する代わりに、現在値ｃｏｕｎｔ＿ｂは、乗算器を省くため４回累積される。
【００５６】
カウンタｃｏｕｎｔ＿ｂは、次処理信号＋１ｐｒｏｃによってクロックを供給される。単一パス動作の場合、カウンタは、ｃｏｕｎｔ＿ｒｓｄ＞ｍｏｄ  １０８である場合にリセットされ、一方、二重パス動作の場合、カウンタは、ｃｏｕｎｔ＿ｒｓｄ＞ｍｏｄ  ２１７の場合にリセットされる。
【００５７】
カウンタｃｏｕｎｔ＿ｂの第１の出力は、バンクのシンボルアドレスＳＹＭＡＤＲＢＫを送出する。ＳＹＭＡＤＲＢＫは、マルチプレクサｍｕｘ４の出力と共にアドレスバスＡＤＲＢＳを介して転送される。Ｍ２内のバンクアドレスを開始するこのカウンタの更なる出力信号ｂｋ＿ａｄｄ＿ｍ２は、加算器で、この加算器の遅延出力信号と合成される。出力信号は、遅延させるために、一時的なレジスタＴＲ１に中間的に格納される。加算器出力信号は、ＡＮＤゲートを通過し、ｃｏｕｎｔ＿ｒｓｄの出力信号を第２の入力信号として受け取る更なる加算器へ供給される。ＡＮＤゲートの第２の入力は、カウンタｃｏｕｎｔ＿ｒｓｄの値が０１若しくは１１である場合に論理値１を受け取り、それ以外の場合には、論理値０を受け取る。
【００５８】
更なる加算器の出力信号は、モジュロステージｍｏｄ２１８／１０９を通過し、４個の加算器の第１の入力へ供給される。これらの４個の加算器のうちの１番目の加算器は、その第２の入力で、オフセット値ｏｆｓｔ＿ｃ１＿１＝１０８を受け取り、その出力信号をマルチプレクサｍｕｘ４の入力１へ供給する。４個の加算器のうちの２番目、３番目及び４番目の加算器は、その第２の入力で、オフセット値ｏｆｓｔ＿ｃ２＿１＝０、ｏｆｓｔ＿ｃ１＿２＝２１７及びｏｆｓｔ＿ｃ２＿２＝１０９をそれぞれ受け取り、その出力信号をマルチプレクサｍｕｘ４の入力２、入力３及び入力４へ供給する。
【００５９】
ＣＩＲＣ復号器の二重パス動作を実行する場合、２シンボル遅延動作（図３のステップ３９）は、Ｃ２復号器の第２パス動作後に実行される。ＣＩＲＣ復号器の単一パス動作を実行する場合、２シンボル遅延動作（図３のステップ３９）は、Ｃ２復号器の第１パス動作後に実行される。
【００６０】
図８は、ＣＩＲＣ復号器の２シンボル遅延動作中のＭ３メモリ部分におけるデータフローの説明図であり、Ｍ３メモリは、ｂｋ＿２２１と、ｂｋ＿２２２と、ｂｋ＿２２３の３個のバンクを含む。Ｃ２復号化と訂正の後、Ｍ２メモリからのデータｍ２ｍｅｍは、バンクｂｋ＿２２１に取り込まれる。２シンボル遅延処理は、二つのステップ、即ち、
（ａ）遅延データを読み出し、出力ロジック部ｏｕｔ＿ｌｏｇへ転送するステップと、
（ｂ）Ｍ３メモリに上書きするステップと、
を含む。
【００６１】
次の表１は、第１のステップ中にアドレスを生成するため使用され得る。
【００６２】
【表１】
2004519174.tif 000005
表１において、
（ａ）ｃｏｕｎｔ＿ｂは、カウンタのカウント値を表し、
（ｂ）ｂａｎｋは、ＲＡＭ内のバンクアドレスｂｋを表し、
（ｃ）ｓｙｍ  ａｄｄは、バンク内のシンボルアドレスを表す。
【００６３】
次の表２は、第２パス若しくは第２のステップ中に読み出し／書き込みアドレスを生成するため使用できる。ｂａｎｋ＿ｒは、読み出しのためのＲＡＭ内のバンクアドレスｂｋであり、ｂａｎｋ＿ｗは、書き込みのためのＲＡＭ内のバンクアドレスｂｋである。
【００６４】
【表２】
2004519174.tif 000006
バンクｂｋ＿２３２からの出力データＯＰＬＯＧは、出力ロジック部ｏｕｔ＿ｌｏｇへ供給される。コントローラＣＯＮＴＲのカウンタは、図３のフローチャートのステップ３９に続いて更新され、ＣＩＲＣ復号器は、入力ロジック部から到来する次のフレームを処理するための準備が整う。
【００６５】
図９には、従来の二重パスＣＩＲＣ復号器と本発明の二重パスＣＩＲＣ復号器におけるフラグ付きバイト率ＦＬＧＢＲ対入力誤り率ＩＰＥＲＲの結果を表すグラフが示されている。従来のＣＩＲＣ復号器の訂正結果ＣＣＩＲＣＤＥＣは、実線で示され、本発明のＣＩＲＣ復号器の訂正結果ＮＣＩＲＣＤＥＣは、点線で示されている。各曲線は、４種類の入力誤り率測定から構築される。以下の誤り組合せが訂正用に入力された。
（ａ）各々が３個のエラーを含む２０個のＣ１符号語ｃｄｗのバーストエラーｂｒｓｔ。このエラーパターン及び以下のエラーパターンにおいて、Ｃ１符号語のエラーはランダムエラーである。
（ｂ）各々が４個のエラーを含む２０個のＣ１符号語のバーストエラー
（ｃ）各々が５個のエラーを含む２０個のＣ１符号語のバーストエラー
（ｄ）各々が６個のエラーを含む２０個のＣ１符号語のバーストエラー
（ｅ）各々が３個のエラーを含む３０個のＣ１符号語のバーストエラー
（ｆ）各々が４個のエラーを含む３０個のＣ１符号語のバーストエラー
（ｇ）各々が５個のエラーを含む３０個のＣ１符号語のバーストエラー
（ｈ）各々が６個のエラーを含む３０個のＣ１符号語のバーストエラー
（ｉ）各々が３個のエラーを含む４０個のＣ１符号語のバーストエラー
（ｊ）各々が４個のエラーを含む４０個のＣ１符号語のバーストエラー
（ｋ）各々が５個のエラーを含む４０個のＣ１符号語のバーストエラー
（ｌ）各々が６個のエラーを含む４０個のＣ１符号語のバーストエラー
【００６６】
本発明のＣＩＲＣ復号器及び従来のＣＩＲＣ復号器は、１４個の完全に間違ったＣ１符号語のバーストエラーを訂正することが可能である。従来のＣＩＲＣ復号器との比較から明らかであるように、本発明のＣＩＲＣ復号器は、各符号語に３個若しくは４個のエラーを含む２０個のＣ１符号語のバーストエラーを訂正することが可能である。各符号語が５個若しくは６個のエラーを有する場合、復号器は、バーストエラーを訂正し得ないが、オーディオデータのフラグ付きバイト率ＦＬＧＢＲは、従来のＣＩＲＣ復号器よりも依然としてかなり低い。
【００６７】
３０個のＣ１符号語のバーストエラーの場合には、より優れた訂正性能が得られる。本発明のＣＩＲＣ復号器は、各符号語が３個のエラーを含む３０個のＣ１符号語のバーストエラーを訂正することが可能であり、フラグ付きバイト率ＦＬＧＢＲは、１符号語当たりのエラー個数が増加するほど低下する。
【００６８】
本発明は、ビデオＣＤ及びＣＤ−ＲＯＭのようなその他のデジタル記憶媒体、並びに、ＣＩＲＣ符号に類似した符号の復号化に適用可能である。
【図面の簡単な説明】
【図１】
従来のＣＩＲＣ符号復号器の機能ブロック図である。
【図２】
本発明による二重パス動作及び単一パス動作のためのＣＩＲＣ符号復号器のブロック図である。
【図３】
二重パス動作及び単一パス動作のためのＣＩＲＣ符号復号化処理のフローチャートである。
【図４】
図２に示されたＲＡＭの一部であるＭ１メモリにおける１シンボル遅延のデータフロー説明図である。
【図５】
Ｍ１メモリのアドレス値を計算する回路の説明図である。
【図６】
図２に示されたＲＡＭの一部であるメモリＭ２と、ｃ２＿１復号器及びｃ２＿２復号器のスタート位置と、Ｍ２メモリの異なるバンクからのＣ２符号語の組立の説明図である。
【図７】
Ｍ２メモリのアドレス値を計算する回路の説明図である。
【図８】
ＣＩＲＣ符号復号化における２シンボル遅延動作中のＭ３メモリのデータフロー説明図である。
【図９】
従来のＣＩＲＣ符号復号化と本発明のＣＩＲＣ符号復号化の訂正結果の説明図である。
【図１】
2004519174.tif 000007
【図２】
2004519174.tif 000008
【図３】
2004519174.tif 000009
【図９】
2004519174.tif 000010
【国際公開パンフレット】
2004519174.tif 000011
2004519174.tif 000012
2004519174.tif 000013
2004519174.tif 000014
2004519174.tif 000015
2004519174.tif 000016
2004519174.tif 000017
2004519174.tif 000018
2004519174.tif 000019
2004519174.tif 000020
2004519174.tif 000021
2004519174.tif 000022
2004519174.tif 000023
2004519174.tif 000024
2004519174.tif 000025
2004519174.tif 000026
2004519174.tif 000027
2004519174.tif 000028
2004519174.tif 000029
2004519174.tif 000030
2004519174.tif 000031
2004519174.tif 000032
2004519174.tif 000033
2004519174.tif 000034
2004519174.tif 000035
2004519174.tif 000036
2004519174.tif 000037
2004519174.tif 000038
2004519174.tif 000039
2004519174.tif 000040
2004519174.tif 000041
2004519174.tif 000042
2004519174.tif 000043
2004519174.tif 000044
2004519174.tif 000045
2004519174.tif 000046
2004519174.tif 000047
2004519174.tif 000048
2004519174.tif 000049
2004519174.tif 000050
【国際調査報告】
2004519174.tif 000051
2004519174.tif 000052
2004519174.tif 000053