(57)【特許請求の範囲】
【請求項１】
データバッファに記憶されるＣＤ／ＤＶＤデータの符号化／復号化を行い、Ｃ１アドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記Ｃ１アドレスマッパーと、Ｃ２アドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記Ｃ２アドレスマッパーと、ＣＤ  Ｐ／Ｑアドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記ＣＤ  Ｐ／Ｑアドレスマッパーと、ＤＶＤ内部／外部アドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記ＤＶＤ内部／外部アドレスマッパーと、前記Ｃ１アドレスマッパー、前記Ｃ２アドレスマッパー、前記ＣＤ  Ｐ／Ｑアドレスマッパー、前記ＤＶＤ内部／外部アドレスマッパー、前記ＤＶＤ内部／外部アドレスマッパーのうちのいずれかと選択的に接続することができる共有ＲＳエンコーダ／デコーダと、からなる光ディスク記憶装置の符号化／復号化システムであって、前記共有ＲＳエンコーダ／デコーダは、前記符号化／復号化システムが符号化を行っているときにＲＳコードの生成多項式を用い、ＲＳコードの前記生成多項式は、２Ｔ個のシンボルからなるパリティ・コードを含むＮ個のシンボルからなる第１コードワードを生成するのに用いられ、Ｎ及び２Ｔの値は前記選ばれたアドレスマッパーに関連し、前記生成多項式は以下の式Ｇ（ｘ）で表され、Ｇ（ｘ）＝Пｋ＝０〜（２Ｔ−１）（ｘ＋αｋ）
そのうち、αは有限体ＧＦ（２８）の要素であるとともに、以下の式Ｐ（ｘ）で表される原始多項式：Ｐ（ｘ）＝ｘ８＋ｘ４＋ｘ３＋ｘ２＋１の根であり、
前記共用ＲＳエンコーダ／デコーダは、前記生成多項式を用いて前記パリティ・コードを生成するとともに、前記符号化／復号化システムが符号化を行っているとき前記第１コードワードを出力し、あるいは前記符号化／復号化システムが復号化を行っているとき前記シンドローム値Ｓｋ(ｋ＝０〜１５、ｋは正の整数）を出力するＥＣＣ／シンドローム値ジェネレータと、前記エラー消去位置多項式及び前記エラー消去評価多項式を生成するエラー消去位置／評価多項式ジェネレータと、前記ＥＣＣ／シンドローム値ジェネレータと接続して消去位置多項式及びForney's変形シンドローム値多項式を生成し、前記エラー消去位置／評価多項式ジェネレータが必要とする初期値を生成するForneyシンドローム値ジェネレータと、前記エラー消去位置多項式の根を得てエラー位置及びエラー値を求めるChien検索ユニットと、共用ＲＳエンコーダ／デコーダの出力として、前記ＥＣＣ／シンドローム値ジェネレータの出力又は前記Chien検索ユニットの出力のいずれかを選ぶ第１スイッチと、前記エラー消去位置／評価多項式ジェネレータの入力として、前記ＥＣＣ／シンドローム値ジェネレータの入力又は前記Forneyシンドローム値ジェネレータの入力のいずれかを選ぶ第２スイッチと、からなる符号化／復号化システム。
【請求項２】
前記共用ＲＳエンコーダ／デコーダは、前記共用ＲＳエンコーダ／デコーダの入力端末に接続し、入力データを反転するとともに反転した前記入力データを出力するインバータと、前記ＲＳエンコーダ／デコーダの前記入力端末を前記ＥＣＣ／シンドローム値ジェネレータに接続すること、あるいは反転した前記入力データを前記ＥＣＣ／シンドローム値ジェネレータに送ることのいずれかを選ぶ第３スイッチと、をさらに含む、請求項１に記載の符号化／復号化システム。
【請求項３】
前記Ｃ１アドレスマッパー又は前記Ｃ２アドレスマッパーが前記データバッファにアクセスして符号化するときインターリーブが行われ、前記Ｃ１アドレスマッパー又は前記Ｃ２アドレスマッパーが前記データバッファにアクセスして復号化するときデインターリーブが行われる、請求項１に記載の符号化／復号化システム。
【請求項４】
前記符号化／復号化システムは、ＢＣＡ  ＥＣＣアドレスマッパーのアクセス順序によって前記データバッファにアクセスする前記ＢＣＡＥＣＣアドレスマッパーをさらに含む、請求項１に記載の符号化／復号化システム。
【請求項５】
前記共有ＲＳエンコーダ／デコーダが、前記Ｃ１アドレスマッパー、前記Ｃ２アドレスマッパー、又は前記ＢＣＡ  ＥＣＣアドレスマッパーからの出力を処理するときＴ＝２であり、前記共有ＲＳエンコーダ／デコーダが前記ＣＤ  Ｐ／Ｑアドレスマッパーからの出力を処理するときＴ＝１であり、前記共有ＲＳエンコーダ／デコーダが前記ＤＶＤ内部／外部アドレスマッパーからの出力を処理するとき、外部符号化／復号化を行う場合Ｔ＝８であり、内部符号化／復号化を行う場合Ｔ＝５である、請求項４に記載の符号化／復号化システム。
【請求項６】
データバッファに記憶されるＣＤ／ＤＶＤデータの符号化／復号化を行い、Ｃ１アドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記Ｃ１アドレスマッパーと、Ｃ２アドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記Ｃ２アドレスマッパーと、ＣＤ  Ｐ／Ｑアドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記ＣＤ  Ｐ／Ｑアドレスマッパーと、ＤＶＤ内部／外部アドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記ＤＶＤ内部／外部アドレスマッパーと、前記Ｃ１アドレスマッパー、前記Ｃ２アドレスマッパー、前記ＣＤ  Ｐ／Ｑアドレスマッパー、前記ＤＶＤ内部／外部アドレスマッパー、前記ＤＶＤ内部／外部アドレスマッパーのうちのいずれかと選択的に接続することができる共有ＲＳエンコーダ／デコーダと、からなる光ディスク記憶装置の符号化／復号化システムであって、前記共有ＲＳエンコーダ／デコーダは、前記生成多項式を用いてパリティ・コードを生成するとともに、前記符号化／復号化システムが符号化を行っているとき第１コードワードを出力し、あるいは前記符号化／復号化システムが復号化を行っているとき前記シンドローム値Ｓｋ(ｋ＝０〜１５、ｋは正の整数）を出力するＥＣＣ／シンドローム値ジェネレータと、エラー消去位置多項式及びエラー消去評価多項式を生成するエラー消去位置／評価多項式ジェネレータと、前記ＥＣＣ／シンドローム値ジェネレータと接続して消去位置多項式及びForney's変形シンドローム値多項式を生成し、前記エラー消去位置／評価多項式ジェネレータが必要とする初期値を生成するForneyシンドローム値ジェネレータと、前記エラー消去位置多項式の根を得てエラー位置及びエラー値を求めるChien検索ユニットと、前記共用ＲＳエンコーダ／デコーダの出力端末間に接続され、前記符号化／復号化システムが符号化を行っているとき前記ＥＣＣ／シンドローム値ジェネレータに切換え、前記符号化／復号化システムが復号化を行っているときChienスイッチユニットに切換える第１スイッチと、前記エラー消去位置／評価多項式ジェネレータ間に接続され、消去が存在するとき前記Forneyシンドローム値ジェネレータに切換え、そうでないとき前記ＣＲＣ／シンドローム値ジェネレータに切換える第２スイッチと、からなり、前記生成多項式は以下の式Ｇ（ｘ）で表され、Ｇ（ｘ）＝Пｋ＝０〜（２Ｔ−１）（ｘ＋αｋ）
前記シンドローム値は以下の式により得られ、Ｓｋ＝Σi＝０〜Ｎ−１（ｒiαiｋ），ｋ＝０〜２Ｔ−１そのうち、ｒi（i＝０〜Ｎ−１）は前記コードワードの前記Ｎ個のシンボルを表しており、αは有限体ＧＦ（２８）の要素であるとともに、以下の式Ｐ（ｘ）で表される原始多項式：Ｐ（ｘ）＝ｘ８＋ｘ４＋ｘ３＋ｘ２＋１の根であることを特徴とする符号化／復号化システム。
【請求項７】
前記共用ＲＳエンコーダ／デコーダは、前記共用ＲＳエンコーダ／デコーダの入力端末に接続され、入力データを反転するとともに反転された前記入力データを出力するインバータと、前記共用ＲＳエンコーダ／デコーダの前記入力端末を前記ＥＣＣ／シンドローム値ジェネレータに接続すること、あるいは反転された前記入力データを前記ＥＣＣ／シンドローム値ジェネレータに送ることのいずれかを選ぶ第３スイッチと、をさらに含む、請求項６に記載の符号化／復号化システム。
【請求項８】
前記Ｃ１アドレスマッパー又は前記Ｃ２アドレスマッパーが前記データバッファにアクセスして符号化するときにインターリーブが行われ、前記Ｃ１アドレスマッパー又は前記Ｃ２アドレスマッパーが前記データバッファにアクセスして復号化するときにデインターリーブが行われる、請求項７に記載の符合化／復号化システム。
【請求項９】
前記符合化／復号化システムは、ＢＣＡ  ＥＣＣアドレスマッパーに記憶されるアクセス順序によって前記データバッファにアクセスする前記ＢＣＡ  ＥＣＣアドレスマッパーをさらに含む、請求項７に記載の符号化／復号化システム。
【請求項１０】
前記共用ＲＳエンコーダ／デコーダが前記Ｃ１アドレスマッパー、前記Ｃ２アドレスマッパー、又は前記ＢＣＡ  ＥＣＣアドレスマッパーからの出力を処理するとき、Ｔ＝２であり、前記共有ＲＳエンコーダ／デコーダが前記ＣＤ  Ｐ／Ｑアドレスマッパーからの出力を処理するときＴ＝１であり、前記共有ＲＳエンコーダ／デコーダが前記ＤＶＤ内部／外部アドレスマッパーからの出力を処理するとき、外部符号化／復号化を行う場合Ｔ＝８であり、内部符号化／復号化を行う場合Ｔ＝５である、請求項７に記載の符号化／復号化システム。
【請求項１１】
Ｃ１アドレスマッパー、Ｃ２アドレスマッパー、ＣＤ Ｐ／Ｑアドレスマッパー、ＤＶＤ内部／外部アドレスマッパーのいずれかと選択的に接続することができる共用ＲＳエンコーダ／デコーダであり、前記共用ＲＳエンコーダ／デコーダが符号化を行っているとき、ＲＳコードの生成多項式を用いて２Ｔ個のシンボルからなるパリティ・コードを生成するとともに、Ｎ個のシンボルからなるコードワードを出力し（２Ｔ及びＮの値は前記選ばれたアドレスマッパーに関連する）、あるいは前記符号化／復号化システムが復号化を行っているとき、複数のシンドローム値Ｓｋ(ｋ＝０〜１５、ｋは正の整数）を生成するとともに、ｋが≧２Ｔである場合、シンドローム値Ｓｋを０に設定するＥＣＣ／シンドローム値ジェネレータと、前記エラー消去位置多項式及び前記エラー消去評価多項式を生成するエラー消去位置／評価多項式ジェネレータと、前記ＥＣＣ／シンドローム値ジェネレータと接続して消去位置多項式及びForney's変形シンドローム値多項式を生成し、前記エラー消去位置／評価多項式ジェネレータが必要とする初期値を生成するForneyシンドローム値ジェネレータと、前記エラー消去位置多項式の根を得てエラー位置及びエラー値を求めるChien検索ユニットと、前記共用ＲＳエンコーダ／デコーダの出力端末間に接続され、前記共用ＲＳエンコーダ／デコーダが符号化を行っているとき前記ＥＣＣ／シンドローム値ジェネレータに切換え、前記符号化／復号化システムが復号化を行っているときChienスイッチユニットに切換える第１スイッチと、前記エラー消去位置／評価多項式ジェネレータ間に接続され、消去が存在するとき前記Forneyシンドローム値ジェネレータに切換え、そうでないとき前記ＣＲＣ／シンドローム値ジェネレータに切換える第２スイッチと、からなり、前記生成多項式は以下の式Ｇ（ｘ）で表され、Ｇ（ｘ）＝Пｋ＝０〜（２Ｔ−１）（ｘ＋αｋ）
前記シンドローム値は以下の式により得られ、Ｓｋ＝Σi＝０〜Ｎ−１（ｒiαiｋ），ｋ＝０〜２Ｔ−１そのうち、ｒi（i＝０〜Ｎ−１）は前記コードワードの前記Ｎ個のシンボルを表しており、αは有限体ＧＦ（２８）の要素であるとともに、以下の式Ｐ（ｘ）で表される原始多項式：Ｐ（ｘ）＝ｘ８＋ｘ４＋ｘ３＋ｘ２＋１の根であることを特徴とする、共有ＲＳエンコーダ／デコーダ。
【請求項１２】
前記共用ＲＳエンコーダ／デコーダの入力端末に接続され、入力データを反転するとともに反転された前記入力データを出力するインバータと、前記共用ＲＳエンコーダ／デコーダの前記入力端末を前記ＥＣＣ／シンドローム値ジェネレータに接続すること、あるいは反転された前記入力データを前記ＥＣＣ／シンドローム値ジェネレータに送ることのいずれかを選ぶ第３スイッチと、をさらに含む、請求項１１に記載の共用ＲＳエンコーダ／デコーダ。
【請求項１３】
ＢＣＡ  ＥＣＣアドレスマッパーに選択的に接続することがさらに可能である、請求項１１に記載の共用ＲＳエンコーダ／デコーダ。
【請求項１４】
前記Ｃ１アドレスマッパー、前記Ｃ２アドレスマッパー、又は前記ＢＣＡ  ＥＣＣアドレスマッパーからの出力を処理するとき、Ｔ＝２であり、前記ＣＤ  Ｐ／Ｑアドレスマッパーからの出力を処理するときＴ＝１であり、前記ＤＶＤ内部／外部アドレスマッパーからの出力を処理するとき、外部符号化／復号化を行う場合Ｔ＝８であり、内部符号化／復号化を行う場合Ｔ＝５である、請求項１１に記載の共用ＲＳエンコーダ／デコーダ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、光ディスク記憶装置の符号化／復号化システム、特に、ＣＤ／ＤＶＤデュアルシステムの光ディスク記憶装置の符号化／復号化システムに関するものである。
【０００２】
【従来の技術】
ＣＤ／ＤＶＤデュアルシステムの光ディスク記憶装置は、ＣＤ又はＤＶＤいずれかのデータの符号化／復号化が可能である。ＣＤ／ＤＶＤデュアルシステムの光記憶装置の符号化／復号化システムのハードウエアをより効果的に設計することが可能であれば、ハードウエア設計がよりコンパクトになり、それによってハードウエアに必要な空間も減少する。より効果的にハードウエアを設計するために、光ディスク記憶装置の符号化／復号化について、以下の理論がまず討論される。
【０００３】
ユーザデータを確実且つ効率的に符号化／復号化するためには、ディスク記憶システムでＥＣＣ（error correcting code）を用いる必要がある。ＥＣＣには多様なものがあるが、ディスク記憶システムにおいて最も一般的に用いられるのはリードソロモン（RS）コードである。
【０００４】
入力データストリームは、ＲＳコードにより一連のシンボルとして処理され、全ての記号は有限体ＧＦ（２Ｗ）の要素である（Ｗはシンボル１個当たりのビット数を示す）。ＲＳコードは（Ｎ，Ｋ）ブロックコードである。そのうち、Ｋ個のメッセージシンボルの入力データブロックを符号化することにより、Ｎ個のシンボル、又は長さがＮであるコードワードの出力データブロックを生じる。さらに、Ｎ個のシンボルからなるコードワードは２Ｔ＝Ｎ−Ｋ個のシンボルからなるパリティ・コードで構成されている。
【０００５】
Ｋ個のメッセージシンボルの入力データブロックの各シンボルは、多項式Ｉ（ｘ）の係数と関連している。同様に、２Ｔ個のパリティ・シンボル（parity symbol）の各シンボルは多項式Ｒ（ｘ）の係数と、１個のコードワードのＮ個のシンボルは多項式Ｃ（ｘ）の係数とそれぞれ関連している。多項式Ｒ（ｘ）は以下の式で表される。
【０００６】
Ｒ（ｘ）＝（Ｉ（ｘ）・ｘｍ）ＭＯＤ（Ｇ（ｘ））
そのうち、Ｇ（ｘ）は次数ｍの生成多項式（generator polynomial）であり、ｍ＝２Ｔである。Ｇ（ｘ）は以下の式で表される。
【０００７】
Ｇ（ｘ）＝Пｋ＝０〜（２Ｔ−１）（ｘ＋αｋ）
そして、コードワード多項式は以下の式で得られる。
【０００８】
Ｃ（ｘ）＝（Ｉ（ｘ）・Ｘｍ）＋Ｒ（ｘ）
以上の演算はＲＳデコーダによって行われ、その結果、コードワード多項式Ｃ（ｘ）に対応するコードワードを得る。一方、ＲＳデコーダは、ノイズのある通信チャネルを通じて送信されたコードワードを受信する。受信されたコードワードはランダムな誤りシンボルを有している。受信したコードワードにより生じる誤りシンボルを訂正するため、ＲＳデコーダは、（i）シンドローム値Ｓiを計算する工程と、（ii）シンドローム値を用いてエラー位置多項式（error locator polynomial）の係数を計算する工程と、（iii）エラー位置多項式の根を計算する工程と、（iv）エラー位置多項式の根とシンドローム値とを用いてエラー値を計算する工程と、からなる復号化を行う。
【０００９】
図１は、ＣＤ／ＤＶＤ記憶装置における符号化／復号化システムの従来の構造を示している。データをディスク記憶媒体に書き込む間、まず、ホストから受信した入力データがバス１０１を通じてデータバッファ１０２に記憶される。それから、ＣＲＣ（cyclic redundancy check）ジェネレータ及び訂正バリデータ１０４がデータバッファ１０２に記憶されたデータを読み込んでＣＲＣシンボルを生成する。ＣＲＣシンボルを含む入力データは再度データバッファ１０２に記憶される。ＣＲＣシンボルを含む入力データはデータバッファ１０２から読み込まれ、ランダマイザ／デランダマイザ（randomizer/derandomizer）１０６によりランダム化される。それから、ランダム化されたデータはデータバッファ１０２へ記憶される。異なった光記憶媒体によって、書き込み操作も異なった方法で行われる。
【００１０】
光記憶媒体１０８がＣＤである場合、データバッファ１０２に記憶されたデータはＣＤ Ｐ／Ｑエンコーダ／デコーダ１１０、Ｃ２エンコーダ／デコーダ１１２、インターリーバ／デインターリーバ１１４、及びＣ１エンコーダ／デコーダ１１６により処理される。そして、処理されたデータはＣＤに書き込まれる。さらに、符号化の間、ＳＲＡＭ（static random access memory）１１８はバス１１７を通じて処理データを記憶するのに用いられる。
【００１１】
光記憶媒体１０８がＤＶＤである場合、データバッファ１０２に記憶されたデータはＤＶＤ内部／外部 エンコーダ／デコーダ１２０により処理される。処理後、符号化されたデータはＤＶＤに書き込まれる。また、あるＤＶＤには、書き込み処理の完了後、記録情報を任意に記憶するＢＣＡ（burst cutting area）が含まれている。光記憶媒体１０８がＢＣＡを有するＤＶＤである場合、ＢＣＡ ＥＣＣエンコーダ／デコーダ１２２は記録情報の処理に用いることができる。それから、符号化した記録情報に付加された符号化データはＤＶＤに書き込まれる。
【００１２】
データをディスク記憶媒体に書き込む過程において、ＣＤ Ｐ／Ｑエンコーダ／デコーダ１１０、Ｃ２エンコーダ／デコーダ１１２、インターリーバ／デインターリーバ１１４、Ｃ１エンコーダ／デコーダ１１６、ＤＶＤ内部／外部 エンコーダ／デコーダ１２０、及びＢＣＡ ＥＣＣエンコーダ／デコーダ１２２は、それぞれ異なった形で生成多項式を用いる。さらに、それぞれの多項式に伴って、符号化の計算に含まれるシンボルの長さも異なっている。
【００１３】
ＣＤ／ＤＶＤに記憶されているデータの読み込み中に、書き込みが反転して行われるが、説明の便宜上、ここでは述べない。
【００１４】
図１で示されるＣＤ／ＤＶＤ記憶装置のエラー訂正システムの従来の構造には以下の欠点があった。
【００１５】
（１）ＣＤデータフォーマット中のデータを処理するのに、エラー訂正システムを構成する場合、ＤＶＤ内部／外部 エンコーダ／デコーダ１２０及びＢＣＡ ＥＣＣエンコーダ／デコーダがアイドル状態となる。一方、ＤＶＤデータフォーマット中のデータを処理するのにシステムを構成する場合、ＣＤ Ｐ／Ｑエンコーダ／デコーダ１１０、Ｃ２エンコーダ／デコーダ１１２、インターリーバ／デインターリーバ１１４、及びＣ１エンコーダ／デコーダ１１６がアイドル状態となる。したがって、ＣＤ／ＤＶＤ中のデータを処理するためのシステム構成がどんなものであろうとも、一部の回路がアイドル状態となるため、システム構成を効率的に使用することができない。
【００１６】
（２）ＣＤデータフォーマット中のデータを処理するのに、エラー訂正システムを構成する場合、インターリーバ／デインターリーバ１１４は、インターリーブ又はデインターリーブするために、データバッファ１０２へのアクセス時間をさらに必要とする。このため、特にブロックの大きい音声／画像データが記憶システムから読み取られるようなマルチメディアへの応用において、記憶システムのレイテンシ（latency）が増加することになる。したがって、システムの使用は音声／画像の再生又は記録の品質に影響する。
【００１７】
【発明が解決しようとする課題】
以上により、本発明は、共用（shareble）リードソロモンエンコーダ／デコーダを用いる光記憶装置の符号化／復号化システムを提供することを目的とする。本発明によれば、符号化／復号化システムのハードウエアのコストを低くすることができ、ハードウエアの構成部品を効率的に使用することができる。また、本発明は、インターリーブ／デインターリーブを、Ｃ１符合化／復号化又はＣ２符号化／復号化と一体化することにより、レイテンシを減少させる。
【００１８】
【課題を解決するための手段】
本発明の目的によると、データバッファに記憶されているＣＤ／ＤＶＤデータの符号化／復号化を行う光ディスク記憶装置の符号化／復号化システムを提供する。符号化／復号化システムは、Ｃ１アドレスマッパー、Ｃ２アドレスマッパー、ＣＤ Ｐ／Ｑアドレスマッパー、ＤＶＤ内部／外部アドレスマッパー、及び共用ＲＳエンコーダ／デコーダからなる。
【００１９】
Ｃ１アドレスマッパーは、Ｃ１アドレスマッパーに記憶されているアクセス順序によってデータバッファにアクセスするのに用いられる。Ｃ２アドレスマッパーは、Ｃ２アドレスマッパーに記憶されているアクセス順序によってデータバッファにアクセスするのに用いられる。ＣＤ Ｐ／Ｑアドレスマッパーは、ＣＤ Ｐ／Ｑアドレスマッパーに記憶されているアクセス順序によってデータバッファにアクセスするのに用いられる。ＤＶＤ内部／外部アドレスマッパーは、ＤＶＤ内部／外部アドレスマッパーに記憶されているるアクセス順序によってデータバッファにアクセスするのに用いられる。共用ＲＳエンコーダ／デコーダは、Ｃ１アドレスマッパー、Ｃ２アドレスマッパー、ＣＤ Ｐ／Ｑアドレスマッパー、又はＤＶＤ内部／外部アドレスマッパーのいずれかと選択的に接続することが可能である。
【００２０】
符号化／復号化システムが符合化を行っているとき、共用ＲＳエンコーダ／デコーダはＲＳコードの生成多項式を用いて２Ｔ個のシンボルからなるパリティ・コードを含むＮ個のシンボルからなる第１コードワードを生成する。Ｎ及び２Ｔの値は選ばれたアドレスマッパーと関連している。
【００２１】
符号化／復号化システムが復号化を行っているとき、共用ＲＳエンコーダ／デコーダは、複数のシンドローム値Ｓｋ（ｋ＝０〜１５、ｋは正の整数である）、エラー消去位置多項式（error-erasure locator polynomial）、エラー消去評価多項式（error-erasure evaluator polynomial）を生成し、エラー値を得てエラーの訂正を完了する。さらに、ｋ≧２Ｔである場合、シンドローム値Ｓｋは０に設定される。
【００２２】
データを符号化するときの生成多項式Ｇ（ｘ）は、以下の式で表される。
【００２３】
Ｇ（ｘ）＝Пｋ＝０〜（２Ｔ−１）（ｘ＋αｋ）
データを復号化するときのシンドローム値は、以下の式より得られる。
【００２４】
Ｓｋ＝Σi＝０〜Ｎ−１（ｒiαiｋ），ｋ＝０〜２Ｔ−１
そのうち、ｒi（i＝０〜Ｎ−１）はコードワードのＮ個のシンボルを表している。
【００２５】
符号化、復号化の両方を行う場合、αは有限体ＧＦ（２８）の要素であり、以下の式で表される原始多項式Ｐ（ｘ）の根である。
【００２６】
Ｐ（ｘ）＝ｘ８＋ｘ４＋ｘ３＋ｘ２＋１
【発明の実施の形態】
上述した本発明の目的、特徴、及び長所をより一層明瞭にするため、以下に本発明の好ましい実施の形態を挙げ、図を参照にしながらさらに詳しく説明する。
【００２７】
図２Ａ及び２ＢはＣＩＲＣ（cross interleave Reed-Solomon code）の符号化及び復号化を示している。一般にＣＩＲＣはＣＤに用いられ、２個のＲＳコード（Ｃ１コード及びＣ２コード）を含んでいる。図２Ａでは、ＣＩＲＣの符号化が示されている。まず、２４個のメッセージシンボルからなるデータブロックが遅延ユニット２０２に入力される。遅延ユニット２０２はデータブロックの一部分にシンボル２個の遅延を導入する。データブロックに遅延を導入した後、Ｃ２エンコーダ２０４は、この遅延データブロックを処理してＣ２を符号化し、４個のシンボルからなるパリティ・コードを生成し、２４個のメッセージシンボルと４個のシンボルからなるＰパリティ・コードとからなる２８個のシンボルのコードワードを出力する。
【００２８】
続いて、インターリーバ２０６は２８個のシンボルを受信してインターリーブする（２８個のシンボルはそれぞれ異なる遅延時間で遅延する）。インターリーブした２８個のシンボルはＣ１エンコーダ２０８に入力される。Ｃ１エンコーダ２０８は４個のシンボルからなるＱパリティ・コードを生成して３２個のシンボルからなるデータブロックを得る。最後に、遅延ユニット２１０はこれら３２個のシンボルを受信し、このシンボルの一部にシンボル１個の遅延を導入して、３２個のシンボルからなるコードワードを得る。
【００２９】
図２Ｂは、ＣＩＲＣの復号化を示すブロック図である。先ず、遅延ユニット２１２は３２個のシンボルからなるコードワードを受信し、シンボル１個の遅延をこのコードワードに導入する。次に、遅延したコードワードをＣ１デコーダ２１４に入力する。Ｃ１デコーダ２１４によりＣ１を復号化する間、遅延した３２個のシンボルのコードワードのうち、４個のシンボルからなるＱパリティ・コードが、３２個のシンボルのコードワードのエラー訂正に用いられる。４個のシンボルのＱパリティ・コードは２８個のシンボルのうち２個の誤りシンボルを訂正することが可能である。誤りシンボルが２個以上あるためこれらを完全に訂正できない場合、Ｃ１デコーダ２１４は、２８個のシンボルのコードワードがＣ１の復号化の後にも誤りシンボルを含むことを示す消去フラグＥＦ１を出力する。
【００３０】
次に、Ｃ１が復号化した２８個のシンボルからなるコードワードは、デインターリーバ２１６に出力される。そのうち、デインターリーバ２１６は異なる数のシンボルの遅延をコードワードに導入する。それから、デインターリーブされたコードワードはＣ２デコーダ２１８に入力される。Ｃ２デコーダは、４個のシンボルからなるＰパリティ・コードによって、受信したコードワードを検査するとともに、Ｃ２が復号化するコードワードの２４個のシンボルにおいて生じる誤りシンボルを訂正する。４個のシンボルからなるＰパリティ・コードは２８個のシンボルのうち生じる誤りシンボルを４個まで訂正することができる。誤りシンボルが４個以上あるためこれらを完全に訂正できない場合、Ｃ２デコーダ２１８は、２４個のシンボルのコードワードがＣ２の復号化の後にも誤りシンボルを含むことを示す消去フラグＥＦ２を出力する。そして、Ｃ２が復号化した２４個のシンボルのコードワードは、遅延ユニット２２０に入力される。遅延ユニット２２０はシンボル２個の遅延をコードワードのシンボルの一部に導入して２４個のシンボルからなるコードワードを得る。復号化の間、消去フラグＥＦ１は遅延ユニット２２２により処理された後、消去フラグＥＦ２とともに論理演算ユニット２２４に入力され、２８個のシンボルからなるコードワードが復号化後も誤りシンボルを含むことを示すアンレライアブルデータフラグ
（unreliable data flag：ＵＤＦ）を得る。
【００３１】
Ｃ１の復号化の間、Ｃ１デコーダ２１４は、４個のシンボルからなるパリティ・コードを含む３２個のシンボルのコードワードを受信する。一方、Ｃ１の符号化の間、Ｃ１エンコーダ２０８は、２８個のシンボルのコードワードを受信し、４個のシンボルからなるパリティ・コードを生成する。このため、Ｃ１エンコーダ／デコーダにより処理されたコードワードの長さは、３２個のシンボルと定義される（そのうち、各シンボルは８ビットである）。したがって、Ｃ１エンコーダ／デコーダで用いられる生成多項式は以下の式で表される。
【００３２】
ＧＣ１（ｘ）＝Πｋ＝０〜３（ｘ＋αｋ）
Ｃ２の復号化の間、Ｃ２デコーダ２１８は、４個のシンボルからなるパリティ・コードを含む２８個のシンボルのコードワードを受信する。一方、Ｃ２の符号化の間、Ｃ２エンコーダ２０４は、２４個のシンボルのコードワードを受信し、４個のシンボルからなるパリティ・コードを生成する。このため、Ｃ２エンコーダ／デコーダにより処理されたコードワードの長さは、２８個のシンボルと定義される（そのうち、各シンボルは８ビットである）。したがって、Ｃ２エンコーダ／デコーダで用いられる生成多項式は以下の式で表される。
【００３３】
ＧＣ２（ｘ）＝Πｋ＝０〜３（ｘ＋αｋ）
一方、従来のＣＤのＰ／Ｑエンコーダ／デコーダ１１０のうちＰコードエンコーダ／デコーダによって処理されるコードワードの長さは、２６個のシンボルである。したがって、生成多項式は以下の式で表される。
【００３４】
ＧＰ（ｘ）＝Πｋ＝０〜１（ｘ＋αｋ）
さらに、従来のＣＤのＰ／Ｑエンコーダ／デコーダ１１０のうちＱコードエンコーダ／デコーダによって処理されるコードワードの長さは、４５個のシンボルである。したがって、生成多項式は以下の式で表される。
【００３５】
ＧＱ（ｘ）＝Πｋ＝０〜１（ｘ＋αｋ）
図３は、ＤＶＤのＥＣＣブロックデータフォーマットを示している。ＤＶＤデータフォーマットのうち、２次元生成コード（two-dimensional product code）はエラー許容度を高めるのに用いられる。図３から分かるように、ＥＣＣブロックは、Ｂ０，０〜Ｂ２０７，１７１で示されるデータ要素のような１９２行×１７２列のデータ要素を含んでいる。次に、図３で示されるように、Ｂ１９２，０〜Ｂ２０７，１７１で示されるデータ要素のような１９２行×１７２列のデータにより、１６行の外部コードパリティ（outer-code parity, PO）が行方向に生成される。それから、Ｂ０，１７２〜Ｂ２０７，１８１で示されるような１６行のＰＯを含む１９２行×１７２列のデータ要素が１０列の内部コードパリティ（inner-code parity,PI）の生成に用いられる。
【００３６】
ｊ行目のＰＯの要素、すなわちＢｉｊ（ｉ＝１９２〜２０７）より、以下の多項式Ｒ１ｊ（ｘ）が得られる。
【００３７】
Ｒ１j（ｘ）＝Σi＝１９２〜２０７（Ｂi，ｊ・ｘ２０７−i）
そのうち、ｊ列目のＰＯの要素、すなわちＢiｊ（i＝１９２〜２０７）が、以下の式より得られる。
【００３８】
Ｒ１ｊ（ｘ）＝（I１ｊ（ｘ）・ｘ１６）ＭＯＤ（ＧＰＯ（ｘ））
I１ｊ（ｘ）＝Σi＝０〜１９１（Ｂi，ｊ・ｘ１９１−i）
ＧＰＯ（ｘ）＝Πｋ＝０〜１５（ｘ＋αｋ）
同様に、ｉ行目のＰＩの要素、すなわちＢiｊ（ｊ＝１７２〜１８１）が、以下の多項式Ｒ２i（ｘ）が得られる。
【００３９】
Ｒ２i（ｘ）＝Σｊ＝１７２〜１８１（Ｂi，ｊ・ｘ１８１−ｊ）
そのうち、ｉ行目のＰＩの要素、すなわちＢｉｊ（ｊ＝１７２〜１８１）が、以下の式より得られる。
【００４０】
Ｒ２i（ｘ）＝（I２i（ｘ）・ｘ１６）ＭＯＤ（ＧＰI（ｘ））
I２i（ｘ）＝Σｊ＝０〜１７１（Ｂi，ｊ・ｘ１９１−ｊ）
ＧＰI（ｘ）＝Πｋ＝０〜９（ｘ＋αｋ）
ＤＶＤへのデータの書き込みを行った後、記録情報を表すために符号化／復号化システムがＢＣＡコードを用いた場合、この符号化／復号化システムはＢＣＡＥＣＣエンコーダ／デコーダをさらに含む。ＢＣＡ ＥＣＣの符号化／復号化の間、ＢＣＡ ＥＣＣエンコーダ／デコーダは１６個のシンボルからなるコードワードを処理し、その工程において以下の式で表される生成多項式を用いる。
【００４１】
ＧＢＣＡ（ｘ）＝Πｋ＝０〜３（ｘ＋αｋ）
そのうち、αは有限体ＧＦ（２８）の要素であり、以下の式で表される原始多項式の原始根である。
【００４２】
Ｐ（ｘ）＝ｘ８＋ｘ４＋ｘ３＋ｘ２＋１
以下、上述した各符号化／復号化における生成多項式についての要約を述べる。
【００４３】
（１）Ｃ１エンコーダ／デコーダは３２個のシンボルからなるコードワードを処理し、その工程において以下の式で表される生成多項式ＧＣ１（ｘ）を用いる。
【００４４】
ＧＣ１（ｘ）＝Πｋ＝０〜３（ｘ＋αｋ）
（２）Ｃ２エンコーダ／デコーダは２８個のシンボルからなるコードワードを処理し、その工程において以下の式で表される生成多項式ＧＣ２（ｘ）を用いる。
【００４５】
ＧＣ２（ｘ）＝Πｋ＝０〜３（ｘ＋αｋ）
（３）ＣＤ Ｐエンコーダ／デコーダは２６個のシンボルからなるコードワードを処理し、その工程において以下の式で表される生成多項式ＧＰ（ｘ）を用いる。
【００４６】
ＧＰ（ｘ）＝Πｋ＝０〜１（ｘ＋αｋ）
（４）ＣＤ Ｑエンコーダ／デコーダは４５個のシンボルからなるコードワードを処理し、その工程において以下の式で表される生成多項式ＧＱ（ｘ）を用いる。
【００４７】
ＧＱ（ｘ）＝Πｋ＝０〜１（ｘ＋αｋ）
（５）ＤＶＤ外部エンコーダ／デコーダは２０８個のシンボルからなるコードワードを処理し、その工程において以下の式で表される生成多項式ＧＰＯ（ｘ）を用いる。
【００４８】
ＧＰＯ（ｘ）＝Πｋ＝０〜１５（ｘ＋αｋ）
（６）ＤＶＤ内部エンコーダ／デコーダは１８２個のシンボルからなるコードワードを処理し、その工程において以下の式で表される生成多項式ＧＰI（ｘ）を用いる。
【００４９】
ＧＰI（ｘ）＝Πｋ＝０〜９（ｘ＋αｋ）
（７）ＢＣＡ ＥＣＣエンコーダ／デコーダは１６個のシンボルこらなるコードワードを処理し、その工程において以下の式で表される生成多項式ＧＢＣＡ（ｘ）を用いる。
【００５０】
ＧＢＣＡ（ｘ）＝Πｋ＝０〜３（ｘ＋αｋ）
したがって、Ｃ１エンコーダ／デコーダ、Ｃ２エンコーダ／デコーダ、ＣＤ Ｐエンコーダ／デコーダ、ＣＤ Ｑエンコーダ／デコーダ、ＤＶＤ外部エンコーダ／デコーダ、ＤＶＤ内部エンコーダ／デコーダ、及びＢＣＡ ＥＣＣエンコーダ／デコーダはそれぞれ異なる長さのコードワードを処理し、生成多項式はそれぞれ以下に示す生成多項式の一般式で表される。
【００５１】
Ｇ（ｘ）＝Πｋ＝０〜（２Ｔ−１）（ｘ＋αｋ）             （＊）
上記の一般式がＣ１エンコーダ／デコーダ、Ｃ２エンコーダ／デコーダ、又はＢＣＡ ＥＣＣエンコーダ／デコーダで用いられる場合、Ｔ＝２であり、ＣＤ Ｐ／Ｑコードエンコーダ／デコーダに用いられる場合、Ｔ＝１であり、ＤＶＤ外部エンコーダ／デコーダ又はＤＶＤ内部エンコーダ／デコーダに用いられる場合、Ｔ＝８又は５である。
【００５２】
また、αは有限体ＧＦ（２８）の要素であり、以下の式で表される原始多項式の原始根である。
【００５３】
Ｐ（ｘ）＝ｘ８＋ｘ４＋ｘ３＋ｘ２＋１
ＣＤデータフォーマット中のデータを処理するために符号化／復号化システムを構成する場合、Ｃ１エンコーダ／デコーダ、Ｃ２エンコーダ／デコーダ、又はＣＤ Ｐ／Ｑエンコーダ／デコーダに用いられるそれぞれの生成多項式におけるαは、有限体ＧＦ（２８）の要素である。ＤＶＤデータフォーマット中のデータを処理するために符号化／復号化システムを構成する場合、ＤＶＤ内部／外部 エンコーダ／デコーダ、及びＢＣＡ ＥＣＣエンコーダ／デコーダに用いられるそれぞれの生成多項式におけるαもまた、有限体ＧＦ（２８）の要素である。したがって、符号化／復号化システムがＣＤモードからＤＶＤモードへ、あるいはＤＶＤモードからＣＤモードへ切換えられるとき、ＲＳコードのいかなるフィールドの転換も必要としない。
【００５４】
したがって、上述したＲＳエンコーダ／デコーダは１つのＲＳエンコーダ／デコーダに一体化することができる。異なる符号化又は復号化処理を行う場合、コードワードの長さ及びＴの値は一体化したＲＳエンコーダ／デコーダにおいて対応する値に変わる。さらに、異なるＴの値は、各復号化処理において計算されるシンドローム値の数に関連している。
【００５５】
図１で示されるＣＤ／ＤＶＤの符号化／復号化システムにおいて、コードワードの長さ及びデータバッファ１０２へのアクセス順序は各ＲＳエンコーダ／デコーダによって異なる。一つのＲＳエンコーダ／デコーダにつき、データバッファ１０２へのアクセス順序はアドレスマッパーに記憶されうる。例えば、アクセス順序を指定するマッパーテーブルはアドレスマッパーで用いられる。一方、図１の各ＲＳエンコーダ／デコーダで用いられる生成多項式は、生成多項式の一般式の一例であるため、符号化／復号化工程は、異なる符号化／復号化工程に対応して変わる２Ｔの値を備えた共用ＲＳエンコーダ／デコーダにより行われる。したがって、図１で示される特定のＲＳエンコーダ／デコーダは、アドレスマッパー及び共用ＲＳエンコーダ／デコーダの組合せに代替することが可能である。
【００５６】
図４は、本発明の好ましい具体例による光ディスク記憶装置内のエンコーダ／デコーダを示している。図４において、Ｃ１アドレスマッパー４０２及び共用ＲＳエンコーダ／デコーダ４０４、Ｃ２アドレスマッパー１０６及び共用ＲＳエンコーダ／デコーダ４０４、ＣＤ Ｐ／Ｑアドレスマッパー４０８及び共用ＲＳエンコーダ／デコーダ４０４、ＢＣＡ ＥＣＣアドレスマッパー４１０及び共用ＲＳエンコーダ／デコーダ４０４、ＤＶＤ内部／外部アドレスマッパー４１２及び共用ＲＳエンコーダ／デコーダ４０４は、図１におけるＣ１エンコーダ／デコーダ１１６、Ｃ２エンコーダ／デコーダ１１２、ＣＤ Ｐ／Ｑエンコーダ／デコーダ１１０、ＢＣＡ ＥＣＣエンコーダ／デコーダ１２２、ＤＶＤ内部／外部エンコーダ／デコーダ１２０にそれぞれ代替している。
【００５７】
また、上述したアドレスマッパーは、アドレスマッパーに記憶されたアクセス順序によって、対応するデータバッファにアクセスするのに用いられる。さらに詳しく言えば、Ｃ１アドレスマッパー４０２は、Ｃ１アドレスマッパー４０２に記憶されたアクセス順序によって、データバッファ４１４にアクセスする。Ｃ２アドレスマッパー４０６は、Ｃ２アドレスパマッパー４０６に記憶されたアクセス順序によって、データバッファ４１４にアクセスする。ＣＤ Ｐ／Ｑアドレスマッパー４０８は、ＣＤ Ｐ／Ｑアドレスマッパー４０８に記憶されたアクセス順序によって、データバッファ４１４にアクセスする。ＢＣＡ ＥＣＣアドレスマッパー４１０はＢＣＡ ＥＣＣアドレスマッパー４１０に記憶されたアクセス順序によって、データバッファ４１４にアクセスする。最後に、ＤＣＤ内部／外部アドレスマッパー４１２はＤＣＤ内部／外部アドレスマッパー４１２に記憶されたアクセス順序によって、データバッファ４１４にアクセスする。
【００５８】
さらに、共用ＲＳエンコーダ／デコーダ４０４は、Ｃ１アドレスマッパー４０２、Ｃ２アドレスマッパー４０６、ＣＤ Ｐ／Ｑアドレスマッパー４０８、ＢＣＡ ＥＣＣアドレスマッパー４１０、又はＤＶＤ内部／外部アドレスマッパー４１２のうちいずれかと選択的に接続することができる。
【００５９】
図４の符号化／復号化システムがデータの符合化を行う場合、共用ＲＳエンコーダ／デコーダ４０４はＲＳコードの生成多項式を用いて２Ｔ個のシンボルからなるパリティ・コードを生成し、Ｎ個のシンボルからなるコードワードを出力する。そのうち、２Ｔ及びＮの値は、共用ＲＳエンコーダ／デコーダ４０４に接続する選ばれたアドレスマッパーに関連している。図４の符号化／復号化システムがデータの復号化を行う場合、誤りデータを訂正するため、共用ＲＳエンコーダ／デコーダ４０４は複数のシンドローム値Ｓｋ（ｋ＝０〜１５、ｋは正の整数である）、エラー消去位置多項式、エラー消去評価多項式を生成してエラー値を得る。さらに、ｋが２Ｔ以下でない場合、Ｓｋは０の値を取る。
【００６０】
さらに、インターリーバ／デインターリーバ１１４の作動はメモリに対する特定のアクセス順序とみなされるため、インターリーブ／デインターリーブの動作もアドレスマッパーにより行われる。図４において、インターリーブ／デインターリーブを行うアドレスマッパーは、Ｃ１アドレスマッパー４０２又はＣ２アドレスマッパー４０６に組み合わせることができる。したがって、Ｃ１アドレスマッパー４０２又はＣ２アドレスマッパー４０６がデータバッファ４１４にアクセスする間、インターリーブ／デインターリーブの動作が行われる。このため、データバッファ４１４へのアクセス時間は減少し、ＣＩＲＣ符号化／復号化工程のレイテンシも減少する。
【００６１】
図４において、符号化／復号化システムは、図１で示される従来のシステム同様、バス１０１、１１７、ＣＲＣジェネレータ、訂正バリデータ１０４、ランダマイザ／デランダマイザ１０６、光記憶媒体１０８、及びＳＲＡＭ（static random access memory）１１８を用いる。したがって、説明の便宜上、ここではこれらに対応する動作については述べない。
【００６２】
図５は、図４の共用ＲＳエンコーダ／デコーダの構造を示している。図５では、スイッチ５０２を用いることにより、Ｃ１アドレスマッパー４０２、Ｃ２アドレスマッパー４０６、ＣＤ Ｐ／Ｑアドレスマッパー４０８、ＢＣＡ ＥＣＣアドレスマッパー４１０、又はＤＶＤ内部／外部アドレスマッパー４１２のうちいずれかの出力が、共用ＲＳエンコーダ／デコーダ４０４の入力として選ばれる。共用ＲＳエンコーダ／デコーダ４０４がデータを符号化する場合、受信データはＥＣＣ／シンドローム値ジェネレータ５０４に転送される。ＥＣＣ／シンドローム値ジェネレータ５０４は生成多項式を用いてパリティ・コードを生成し、パリティ・コードを含むコードワードを出力する。
【００６３】
共用ＲＳエンコーダ／デコーダ４０４は、ＥＣＣ／シンドローム値ジェネレータ５０４へデータを直接送ること、あるいはＥＣＣ／シンドローム値ジェネレータ５０４へデータを送る前にデータを反転することを選ぶ、スイッチ５０６及びインバータ５０８をさらに含む。
【００６４】
図４の符号化／復号化システムがデータの符号化を行う場合、スイッチ５１８及び５０７によって、ＥＣＣ／シンドローム値ジェネレータ５０４によって生成されたコードワードは、Ｃ１アドレスマッパー４０２、Ｃ２アドレスマッパー４０６、ＣＤ Ｐ／Ｑアドレスマッパー４０８、ＢＣＡ ＥＣＣアドレスマッパー４１０、又はＤＶＤ内部／外部アドレスマッパー４１２のうちいずれかに送られる。スイッチ５０２及び５０７は同一のアドレスマッパーを選ぶのに用いられる。また、生成多項式、及びＥＣＣ／シンドローム値ジェネレータ５０４で処理されたコードワードの長さは、選ばれたアドレスマッパーに対応している。
【００６５】
言い換えれば、ＥＣＣ／シンドローム値ジェネレータ５０４は以下の式で表わされる生成多項式を用いる。
【００６６】
Ｇ（ｘ）＝Πｋ＝０〜（２Ｔ−１）（ｘ＋αｋ）              （＊）
ＥＣＣ／シンドローム値ジェネレータ５０４がＣ１アドレスマッパー４０２、Ｃ２アドレスマッパー４０６、又はＢＣＡ ＥＣＣアドレスマッパーより送られたデータを処理するとき、Ｔは２に設定される。ＥＣＣ／シンドローム値ジェネレータ５０４がＣＤ Ｐ／Ｑアドレスマッパー４０８より送られたデータを処理するとき、Ｔは１に設定される。ＥＣＣ／シンドローム値ジェネレータ５０４がＤＶＤ内部／外部アドレスマッパー４１２より送られたデータを処理するとき、Ｔは５（ＤＶＤ内部符号化／復号化の場合）又は８（ＤＶＤ外部符号化／復号化の場合）にそれぞれ設定される。
【００６７】
データを復号化する場合、共用ＲＳエンコーダ／デコーダには受信データの処理について２つのアプローチがある。１つは、まず、受信データをＥＣＣ／シンドローム値ジェネレータ５０４に送り、それからForneyシンドローム値ジェネレータ５１０、エラー消去位置／評価多項式ジェネレータ５１２、及びChien検索ユニット５１４を用いて、得た結果を出力することである。もう１つは、受信データをＥＣＣ／シンドローム値ジェネレータ５０４へ送り、それからエラー消去位置／評価多項式ジェネレータ５１２及びChien検索ユニット５１４を用いて所望のデータを得ることである。受信データの処理において、共用ＲＳエンコーダ／デコーダはスイッチ５１６を用いて２つのアプローチのうち一方を選ぶ。
【００６８】
共用ＲＳエンコーダ／デコーダが行う復号化は以下の工程を含む。そのうち、各コードワードの長さは、２Ｔ個のシンボルからなるパリティ・コードを含むＮ個のシンボルであり、Ｎ及び２Ｔの値は選ばれたアドレスマッパーに関連している。
【００６９】
（ａ）１個のコードワードを受信した後、生成多項式の２Ｔ個の根に対応する２Ｔ個のシンドローム値Ｓ０、Ｓ１、…、Ｓｉ、…、及びＳ２Ｔ−１を計算する。２Ｔ個のシンドローム値は以下の式で表される。
【００７０】
Ｓｋ＝Σｉ＝０〜Ｎ−１（ｒｉｘｉ）｜ｘ＝αk＝Σｉ＝０〜Ｎ−１（ｒｉαｉｋ）
（ｋ＝０〜２Ｔ−１）
そのうち、ｒｉ（ｉ＝０〜Ｎ−１）はコードワードのＮ個のシンボルを表している。シンドローム値多項式Ｓ（ｘ）は以下の式で表される。
【００７１】
Ｓ（ｘ）＝Σｉ＝０〜２Ｔ−１（Ｓｉｘｉ）
（ｂ）ｅ個の既知の消去位置によって以下の式で表される消去位置多項式Λ（ｘ）を計算し、
Λ（ｘ）＝Πｋ＝０〜ｅ（ｘ＋αｊｋ）
以下の式で表されるForney's変形（modified）シンドローム値多項式Ｔ（ｘ）を計算する。
【００７２】
Ｔ（ｘ）＝Ｓ（ｘ）Λ（ｘ）ｍｏｄ（ｘ２Ｔ）              （＊＊）
多項式Ｔ（ｘ）を用いることにより、工程（ｃ）を行うのに用いる初期値を得る。
【００７３】
（ｃ）ユークリッドアルゴリズムにより、エラー消去位置多項式σ（ｘ）及びエラー消去評価多項式ω（ｘ）を得る。
【００７４】
ｄｅｇ（Λ（ｘ））＞ｄｅｇ（Ｔ（ｘ））であるとき、誤りシンボルがないためユークリッドアルゴリズムを行う必要がないことを示している。
【００７５】
ユークリッドアルゴリズムを始めるとき、４つの多項式、つまりμｉ（ｘ）、λｉ（ｘ）、Ｒｉ（ｘ）、及びＱｉ（ｘ）が計算に導入され、対応する初期多項式は以下のように定義される。
【００７６】
μ０（χ）＝Λ（χ）    Ｒ０（χ）＝χ２Ｔ
λ０（χ）＝０          Ｑ（χ）＝Ｔ（χ）
次に、以下の回帰多項式（recursive equation）によって多項式μi（ｘ）、λi
（ｘ）、Ｒi（ｘ）、及びＱi（ｘ）を計算する。まず、i＝１であり、回帰多項式を１回計算するごとに、iの値は１増加する。
【００７７】
【数１】
0003645809.tif 000002
上述の回帰多項式において、aｉ−１及びbｉ−１はそれぞれＲｉ（ｘ）及びＱｉ（ｘ）の最大指数（maximal exponent）の係数である。
【００７８】
また、ｌｉ−１＝ｄｅｇ（Ｒｉ−１（ｘ））−ｄｅｇ（Ｑｉ−１（ｘ））であって、ｌｉ−１＜０であるときσｉ−１＝０であり、そうでなければ、σｉ−１＝１である。
【００７９】
ｄｅｇ（λｉ（ｘ））＞ｄｅｇ（Ｒｉ（ｘ））であるとき、エラー消去位置多項式をσ（ｘ）＝λｉ（ｘ）と、エラー消去評価多項式をω（ｘ）＝Ｒｉ（ｘ）と設定。
【００８０】
（ｄ）Chien検索技術（Chien search technique）により、エラー消去位置多項式Ｕ（ｘ）の根を求める。エラー位置が求められると、エラー位置に対応するエラー値を計算することができる。
【００８１】
（ｆ）最後に、対応するエラー値を用いて求められたエラー位置により、エラー値をコードワードに加えて、誤りシンボルで代替することによりエラー訂正が完了する。
【００８２】
上述の復号化工程において、αは有限体ＧＦ（２８）の要素であり、以下の式で表される原始多項式の根である。
【００８３】
Ｐ（ｘ）＝ｘ８＋ｘ４＋ｘ３＋ｘ２＋１
また、ＥＣＣ／シンドローム値ジェネレータ５０４は、工程（ａ）を行うのに用いられ、シンドローム値Ｓ０、Ｓ１、…、Ｓ１５を出力する（いくつかのシンドローム値は０に設定される）。Forneyシンドローム値ジェネレータ５１０は工程（ｂ）を行うのに用いられ、消去位置多項式及びForney's変形シンドローム値多項式を生成する。エラー消去位置／評価多項式ジェネレータ５１２は工程（ｃ）を行うのに用いられ、工程（ｂ）で得た初期値により、エラー消去位置多項式及びエラー消去評価多項式を生成する。Chien検索ユニット５１４は工程（ｄ）及び（ｆ）を行うのに用いられ、エラー消去位置多項式の根及びエラー値を得て、誤りシンボルをエラー値に代替することによりエラー訂正を完了する。
【００８４】
式（＊）からシンドローム値を計算する場合、所望のシンドローム値の数は２Ｔであり、その最大値は１６である。ＤＶＤの外部復号化を行うときに１６個のシンドローム値を計算する状況が発生する。したがって、ＥＣＣ／シンドローム値ジェネレータ５０４は１６個のシンドローム値Ｓ０、Ｓ１、…、Ｓ１５を生成できるように設定される。復号化工程において１６個以下のシンドローム値を計算する必要がある場合、シンドローム値Ｓｋ（ｋ＝０〜１５）の設定において、シンドローム値Ｓｋ（ｋは２Ｔ以上）は０に設定される。例えば、Ｃ１復号化工程では、シンドローム値Ｓ０〜Ｓ３を計算するだけで良いため、シンドローム値Ｓ４〜Ｓ１５は全て０に設定される。
【００８５】
図２Ｂで示される復号化工程において消去フラグを生成したとき、消去が存在することを示している。消去とエラーとの違いは、エラーは位置及び値が共に未知である一方、消去は位置が既知で値が未知であることである。
【００８６】
したがって、消去が存在するとき、Forneyシンドローム値ジェネレータ５１０は消去位置多項式を得て初期値を生成する。それから、初期値がエラー消去位置／評価多項式ジェネレータ５１２へ入力される。消去が存在しない場合、Forneyシンドローム値ジェネレータ５１０は用いられない。このため、ＥＣＣ／シンドローム値ジェネレータ５０４がシンドローム値の計算を完了すると、シンドローム値はスイッチ５１６によりエラー消去位置／評価多項式ジェネレータ５１２へ送られる。この状況においては、スイッチ５１６を用いることによりForney'sシンドローム値ジェネレータ５１０を用いる必要がないため、Forneyシンドローム値ジェネレータ５１０での計算に費やす時間が減少し、それに伴ってレイテンシも減少する。
【００８７】
ここで注意すべきことは、エラー消去位置多項式及びエラー消去評価多項式の計算には、ベーレカンプ（Berlekamp）アルゴリズム（当該技術における復号化に用いられるアルゴリズムとして広く知られている。説明の便宜上、ここでは述べない）など、ユークリッドアルゴリズム以外のアルゴリズムも用いられうることである。また、符号化／復号化の速度を増加させるため、２個以上の共用ＲＳエンコーダ／デコーダを用いることができる。
【００８８】
以上を要約すると、（１）２Ｔの値が変化するときの、シンドローム値Ｓｋ（ｋ＝０〜１５）の設定について、シンドローム値Ｓｋは、ｋ＞２Ｔのとき０に設定される。（２）Forney's変形シンドローム値多項式Ｔ（ｘ）＝Ｓ（ｘ）Λ（ｘ）ｍｏｄ（ｘ２Ｔ）の計算結果は、２Ｔの値と関連している。（３）ユークリッドアルゴリズムによりエラー消去位置多項式及びエラー消去評価多項式を得るとき、初期値は２Ｔの値と関連している。
【００８９】
ユークリッドアルゴリズムの代わりにベーレカンプアルゴリズムを用いることによりエラー消去位置多項式及びエラー消去評価多項式を得るとき、回帰演算の時間は、初期値と同様、２Ｔの値と関連している。
【００９０】
一方、コードワードの長さが変化するとき、シンドローム値Ｓｋ＝Σｉ＝０〜Ｎ−１（ｒｉｘｉ）の計算におけるＮの値も変化する。また、Chien検索技術は、コードワードの長さの変化に伴って調整する必要がある。
【００９１】
【発明の効果】
以上により、光記憶装置の符号化／復号化システムは、共用ＲＳエンコーダ／デコーダを用いるだけで、ハードウエアのコストを減少できるとともに、ハードウエアを効率的に使用することができる。また、本発明によれば、インターリーブ／デインターリーブはＣ１符号化／復号化又はＣ２符号化／復号化の工程と結合することにより、符号化／復号化システムのレイテンシを減少することができる。
【００９２】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図面の簡単な説明】
【図１】ＣＤ／ＤＶＤ記憶装置における従来の符号化／復号化システムを示す。
【図２Ａ】ＣＩＲＣの符号化又は復号化工程を示すブロック図である。
【図２Ｂ】ＣＩＲＣの符号化又は復号化工程を示すブロック図である。
【図３】ＤＶＤエラー訂正コードのブロックデータフォーマットを示す。
【図４】本発明の好ましい具体例による光記憶装置における符号化／復号化システムを示す。
【図５】図４のＲＳエンコーダ／デコーダの詳細ブロック図である。
【符号の説明】
１０１、１１７    バス
１０２、４１４    データバッファ
１０４    ＣＲＣジェネレータ及び訂正バリデータ
１０６    ランダマイザ／デランダマイザ
１０８    光記憶媒体
１１０    ＣＤ Ｐ／Ｑエンコーダ／デコーダ
１１２    Ｃ２エンコーダ／デコーダ
１１４    インターリーバ／デインターリーバ
１１６    Ｃ１エンコーダ／デコーダ
１１８    ＳＲＡＭ
１２０    ＤＶＤ内部／外部エンコーダ／デコーダ
１２２    ＢＣＡ ＥＣＣエンコーダデコーダ
２０２、２１０、２１２、２２０、２２２    遅延ユニット
２０４    Ｃ２エンコーダ
２０６    インターリーバ
２１８    Ｃ２デコーダ
２２４    論理演算ユニット
４０２    Ｃ１アドレスマッパー
４０４    共用ＲＳエンコーダ／デコーダ
４０６    Ｃ２アドレスマッパー
４０８    ＣＤ Ｐ／Ｑアドレスマッパー
４１０    ＢＣＡ ＥＣＣアドレスマッパー
４１２    ＤＶＤ内部／外部アドレスマッパー
５０２、５０６、５０７、５１６、５１８    スイッチ
５０４    ＥＣＣ／シンドローム値ジェネレータ
５０８    インバータ
５１０    Forneyシンドローム値ジェネレータ
５１２    エラー消去位置／評価多項式ジェネレータ
５１４    Chien検索ユニット
【図１】
0003645809.tif 000003
【図２Ａ】
0003645809.tif 000004
【図２Ｂ】
0003645809.tif 000005
【図３】
0003645809.tif 000006
【図４】
0003645809.tif 000007
【図５】
0003645809.tif 000008