(57)【要約】本発明は、ＤＶＤにおける積コード又はＤＶＲにおけるピケットコードのようなエラー訂正コードに追加のエラー訂正レイヤを埋め込む方法に関するもので、情報が上記コードのコードワードに符号化され、複数のコードワードがコードブロックの列に配列されるような方法に関するものである。互換性を失うことなく容易に実施化することができるような、エラー訂正能力を改善する追加のエラー訂正レイヤを設けるために、所定の加算規則に従って行シンボルを一緒に加算することにより上記コードブロックの各行の長さを減少させて結果として減少されたコードブロックを得るステップと、該減少されたコードブロックの上記の短縮された行を、水平エラー訂正コードを用い符号化して水平パリティを得るステップと、該水平パリティを前記エラー訂正コードに追加のレイヤとして埋め込むステップとを有するような方法が提案されている。
2005522137.tif 000002
【特許請求の範囲】
【請求項１】
エラー訂正コードに追加のエラー訂正レイヤを埋め込む方法であって、情報が前記コードのコードワードに符号化され、複数のコードワードがコードブロックの列に配列されるような方法において、該方法が、
−  前記コードブロックの各行の長さを、所定の加算規則に従って行シンボルを一緒に加算することにより減少させて、減少されたコードブロックを得るステップと、
−  前記減少されたコードブロックの短縮された前記行を水平エラー訂正コードを使用して符号化して、水平パリティを得るステップと、
−  前記水平パリティを前記エラー訂正コードに追加のレイヤとして埋め込むステップと、
を有することを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記コードブロックはロング・ディスタンス・コード（ＬＤＣ）コードワードを有するＬＤＣブロックであり、前記ＬＤＣコードワードは、特にはＧＦ（２８）上のリードソロモンコードワードであって、前記ＬＤＣブロックの列に配列されていることを特徴とする方法。
【請求項３】
請求項２に記載の方法において、
−  前記ＬＤＣブロックの各ＬＤＣコードワードの長さを減少させて、第１中間ブロックを得るステップと、
−  前記第１中間ブロックの各行を、所定値を持つ所定数のシンボルにより延長して、後の過程でコードブロックとして使用される第２中間ブロックを得るステップと、
を有するような初期ステップを更に有していることを特徴とする方法。
【請求項４】
請求項３に記載の方法において、前記各ＬＤＣコードワードの長さが各ＬＤＣコードワードの所定の位置において所定数のシンボルを無効にすることにより減少されることを特徴とする方法。
【請求項５】
請求項３に記載の方法において、前記各ＬＤＣコードワードの長さがＬＤＣコードワードの所定数のシンボルを選択し、該ＬＤＣコードワードに関して所定数のパリティシンボルを決定することにより減少されることを特徴とする方法。
【請求項６】
請求項３に記載の方法において、前記第１中間ブロックの行が、各行にシンボル値ゼロを持つ所定数のシンボルを追加することにより延長されることを特徴とする方法。
【請求項７】
請求項１に記載の方法において、前記コードブロックの各行の長さが、各行の(m+(j+i mod k))番目のシンボルを同じ行のｊ番目のシンボルに加算することにより減少され、ここで、ｉは行番号であり、ｊは列番号であり、ｍは２で除算された列の最大数であることを特徴とする方法。
【請求項８】
請求項１に記載の方法において、前記コードブロックは該コードブロックの列に配列された積コードワードを有する積コードの２つのブロックを有し、前記積コードは特にはＤＶＤ積コードであり、前記積コードワードは特にはＧＦ（２８）上のコードワードのような前記ＤＶＤ積コードの積コードワードであることを特徴とする方法。
【請求項９】
請求項１に記載の方法において、前記水平パリティが追加のエラー訂正コードにより、特にはＧＦ（２８）上のリードソロモンコードワードを有するバースト・インジケータ・サブコード（ＢＩＳ）により又はＧＦ（２８）上のリードソロモンコードワードを有する追加のパリティコードにより符号化されることを特徴とする方法。
【請求項１０】
請求項１に記載の方法により追加のエラー訂正レイヤが埋め込まれたエラー訂正コードを復号する方法であって、前記エラー訂正コードには水平パリティが追加のレイヤとして埋め込まれ、前記コードの複数のコードワードがコードブロックの列に配列されているような方法において、該方法が、
−  前記エラー訂正コードから前記水平パリティを抽出するステップと、
−  前記コードブロックの各行の長さを、請求項１に記載の符号化する方法の間に使用される前記所定の加算規則によるのと同一の方法で行シンボルを一緒に加算することにより減少させて、減少されたコードブロックを得るステップと、
−  前記減少されたコードブロックの短縮された行を前記水平パリティを使用して復号するステップと、
を有していることを特徴とする方法。
【請求項１１】
請求項１０に記載の方法において、入力されたデータストリームを復号して前記コードブロックを得るステップと、該得られたコードブロックにおけるエラー及び消去を、前記得られたコードブロックの行シンボルを前記減少されたコードブロックの行シンボルから前記所定の加算規則とは逆の所定の減算規則に従って減算することにより訂正するステップとを更に有していることを特徴とする方法。
【請求項１２】
エラー訂正コードに追加のエラー訂正レイヤを埋め込む装置であって、情報が前記コードのコードワードに符号化され、複数のコードワードがコードブロックの列に配列されるような装置において、
−  前記コードブロックの各行の長さを、所定の加算規則に従って行シンボルを一緒に加算することにより減少させて、減少されたコードブロックを得る手段と、
−  前記減少されたコードブロックの短縮された前記行を水平エラー訂正コードを使用して符号化して、水平パリティを得る手段と、
−  前記水平パリティを前記エラー訂正コードに追加のレイヤとして埋め込む手段と、
を有することを特徴とする装置。
【請求項１３】
請求項１に記載の方法により追加のエラー訂正レイヤが埋め込まれたエラー訂正コードを復号する装置であって、前記エラー訂正コードには水平パリティが追加のレイヤとして埋め込まれ、前記コードの複数のコードワードがコードブロックの列に配列されているような装置において、
−  前記エラー訂正コードから前記水平パリティを抽出する手段と、
−  前記コードブロックの各行の長さを、請求項１に記載の符号化する方法の間に使用される前記所定の加算規則によるのと同一の方法で行シンボルを一緒に加算することにより減少させて、減少されたコードブロックを得る手段と、
−  前記減少されたコードブロックの短縮された行を、前記水平パリティを使用して復号する手段と、
を有していることを特徴とする装置。
【請求項１４】
請求項１に記載の方法により追加のエラー訂正レイヤが埋め込まれたエラー訂正コードのコードワードの形態でデータを記憶する記憶媒体であって、前記エラー訂正コードには水平パリティが追加のレイヤとして埋め込まれ、前記コードの複数のコードワードがコードブロックの列に配列されているような記憶媒体。
【請求項１５】
請求項１に記載の方法により追加のエラー訂正レイヤが埋め込まれたエラー訂正コードのコードワードの形態でデータを有する信号であって、前記エラー訂正コードには水平パリティが追加のレイヤとして埋め込まれ、前記コードの複数のコードワードがコードブロックの列に配列されているような信号。
【請求項１６】
コンピュータ上で実行された場合に該コンピュータに請求項１又は請求項１０に記載の方法の前記ステップを実行させるようなプログラムコード手段を有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エラー訂正コードに追加のエラー訂正レイヤを埋め込む方法であって、情報が上記コードのコードワードへと符号化され、複数のコードワードがコードブロックの列に配列されるような方法に関する。更に、本発明は、このようなエラー訂正コードを復号する方法、対応する装置、このようなコードのコードワードを記憶する記憶媒体、このようなコードワードを有する信号、及びこのような方法を実施するコンピュータプログラムにも関する。
【背景技術】
【０００２】
マルチワード情報をワード毎にインターリーブすることにより符号化する方法は、国際特許出願公開第WO00/07300号に開示されている。該文献には、２つのタイプのコードワード、即ちＬＤＣ（ロング・ディスタンス・コード）コードワード及びＢＩＳ（バースト・インジケータ・サブコード）コードワードからなる、所謂、ピケットコード（picket code）が記載されており、該コードはＤＶＲ（デジタルビデオ記録）用にデータ（特に、ビデオデータ）を光記録担体上に記憶するために使用されることを意図している。ＢＩＳコードワードは大きなエラー訂正能力を提供する。最悪の場合の状況下でさえも、斯かるコードワードが正しく復号され得ないことは殆どありそうにない。ＢＩＳ列の復号の後、エラーのバーストを認識することができる。消去戦略（erasure strategy）を適用した後、エラー訂正能力の劣るＬＤＣコードワードも正しく復号することができる。
【０００３】
例えばＤＶＤにおける積コード等の既存のエラー訂正コードと比較して、ピケットコードは（複数の）バーストエラーを訂正する能力を改善する。しかしながら、ピケットコードはランダムエラーを訂正する能力は小さい。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従って、本発明の目的は、エラー訂正能力を改善する、特にはランダムエラーを訂正するための対策であって、現行のエラー訂正コード体系との互換性を失うことなく容易に実施することができるような対策を提供することにある。斯かる対策は、如何なるエラー訂正コードにも、特にＤＶＲに使用されるピケットコード及びＤＶＤに使用される積コードに適用することができなければならない。
【課題を解決するための手段】
【０００５】
この目的は、請求項１に記載の方法であって、
−  所定の加算規則に従って行シンボルを一緒に加算することにより前記コードブロックの各行の長さを減少させ、結果として減少されたコードブロックを得るステップと、
−  該減少されたコードブロックの上記短縮された行を、水平エラー訂正コードを用い符号化して水平パリティを得るステップと、
−  これら水平パリティを前記エラー訂正コードに追加のレイヤとして埋め込むステップと、
を有するような方法により達成される。
【０００６】
本発明は、列に配列されたコードワードのコードブロックに対して水平パリティを発生するという広い思想に基づくものである。上記コードブロックのフィールドのサイズを減少させるために（例えば、該コードブロックの各行の長さを減少させるために）、該コードブロックの各行内の行シンボルが、所定の加算規則に従って加算される。上記の発生された水平パリティは、次いで、前記コードに追加のエラー訂正レイヤとして埋め込むことができる。この追加のレイヤは、復号の間において消去、バーストエラー及び復号不良（decoding failure）を訂正するために使用することができる。当該コードブロックの行の長さの減少は、より小さなフィールドに対してエラー訂正コードを使用することを可能にし、これにより冗長性の全体としての量を減少させる。上記の得られた水平パリティは余分に保護されているので、本発明によれば復号不良及び訂正誤り（miscorrection）を訂正するための高レベルのエラー訂正能力を達成することができる。
【０００７】
また、本発明は、上述した符号化方法により追加のエラー訂正レイヤが埋め込まれたエラー訂正コードを復号する方法であって、該方法が、
−  前記エラー訂正コードから前記水平パリティを抽出するステップと、
−  請求項１による符号化方法の間に使用された前記所定の加算規則によるのと同一の方法で行シンボルを一緒に加算することにより前記コードブロックの各行の長さを減少させ、結果として減少されたコードブロックを得るステップと、
−  前記減少されたコードブロックの短縮された行を、前記水平パリティを使用して復号するステップと、
を有するような方法にも関するものである。
【０００８】
更に、本発明は、請求項１２及び１３に記載の対応する装置、追加のエラー訂正レイヤが埋め込まれたエラー訂正コードのコードワードの形態でデータを記憶する、特にはＣＤ、ＤＶＤ又はＤＶＲディスク等の光記録担体のような記憶媒体、請求項１５に記載のコードワードの形態のデータを有する信号、及び当該プログラムがコンピュータ上で実行された場合に請求項１若しくは１０の方法のステップをコンピュータに実施させるようなプログラムコード手段を有するコンピュータプログラムにも関するものである。本発明の好ましい実施例は、従属請求項に記載されている。
【０００９】
有利には、本発明は特にＤＶＲに使用されるようなピケットコードを使用する方法に適用され、その場合において、前記コードブロックは当該ＬＤＣブロックの列に配列されたＬＤＣコードワード（特には、ＧＦ（２８）上の［248,216,33］リードソロモンコードワード）を有するようなＬＤＣブロックであり、特にはＧＦ（２８）上の［62,30,33］リードソロモンコードのようなＢＩＳコードワードが更に使用される。好ましくは、得られる水平パリティは追加のエラー訂正コードにより符号化される。即ち、ピケットコードを使用する場合、上記水平パリティは好ましくはＢＩＳコードワードで符号化され書き込まれる。
【００１０】
本発明をＬＤＣ及びＢＩＳコードワードを有するピケットコードに適用する場合、得られる第１中間ブロックが所定値を持つ所定数のシンボルを追加することにより水平方向に拡大されて第２中間ブロックを得る前に、好ましくは、上記ＬＤＣコードワードは先ず長さが減少される。次いで、該第２中間ブロックは、前述したように長さを減少させるために前記所定の加算規則が適用されるようなコードブロックとして使用される。当該ＬＤＣブロックのＬＤＣコードワードの長さを減少させる好ましい方法は、請求項４及び５に記載されている。簡略化のために、前記第１中間ブロックは、所要の計算の数を僅かに低減させるために、シンボル値ゼロを有する所定数のシンボルを各行に追加することにより拡大される。
当該コードブロックの各行の長さを減少させるべく行シンボルを一緒に加算するために使用される前記所定の加算規則の好ましい実施例は、請求項７に記載されている。規定された該加算規則は、第１部分のシンボルと、第２部分の同一の行内の及び第１又は第２部分内の同一の列からのシンボルとを加算する前の、当該コードブロックの第２水平部分における各行の異なるシンボル数だけの循環（rotation）に対応する。これは、最終的に得られる水平パリティの改善されたエラー訂正能力につながる。
【００１１】
本発明は、コードブロックが特にはＤＶＤ積コードのような積コードの２つのブロックを有するような積コードに有利に適用することができる。好ましい実施例においては、ＧＦ（２８）上の[182,172,11]コードのようなＤＶＤ積コードワードを有するような２つのＤＶＤコードブロックが結合されて、請求項１に記載の埋め込み方法に使用されるコードブロックを形成する。このようなアプリケーションにおいては、得られる水平パリティは、好ましくは、例えばＧＦ（２８）上のデータを含むような［192,182,11］リードソロモンコードワードのみを有する追加のパリティコードにより符号化され、得られたパリティはＤＶＤ積コードワードと一緒に記憶される。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を、図面を参照して更に詳細に説明する。
【００１３】
図１は、国際特許出願公開第WO00/07300号に記載されているような符号化方法の概念図を示している。ホスト又はアプリケーションであり得るソースから入力されたユーザデータは、図１のブロック２００に示すように、各々が２０４８＋４バイトからなるデータフレームに先ず分割される。これらフレームのうちの３２が次の符号化ステップに関して考慮される。ブロック２０２においては、データブロックが形成され、各々、２１６行の３０４列に配列される。ブロック２０４においては、３２行パリティを追加することによりロングディスタンスコード（ＬＤＣ）ブロックが形成される。ブロック２０６においては、ＥＣＣクラスタが１５２列及び４９６行に従って配列される。これは、包括的コードフォーマットＮＴＴである物理クラスタブロック２１８におけるＥＣＣとラベルの付された４つのセクションを充填するように配置される。
【００１４】
記録システムにより追加されるアドレス及び制御データも、順次のステップにおいて変換される。先ず、ブロック２０８において論理アドレス及び制御データが３２ｘ１８バイトに配列される。上記論理アドレスは機能の使用に関するもので、ユーザプログラムのレンダリングの持続期間に関する側面を示すことができる。また、物理アドレスはブロック２１０において１６ｘ９バイトに配列される。該物理アドレスは、光ディスク等の記録担体上の物理的距離に関係する。繰り返される再番号付け及びインターリーブにより、物理アドレスと論理アドレスとの間の関係は壊れている。プログラム内の互いに近接して続く項目は、互いにかなりの物理的距離だけ離され得、その逆ともなる。また、マッピングは一様には進行しない。ブロック２１２において、上記アドレスは２４列ｘ３０行のアクセスブロックに組み合わされる。ブロック２１４において、３２行のパリティが追加される。ブロック２１６においては、これらが３列及び４９６行のバーストインジケータサブコード（ＢＩＳ）クラスタに配列される。これらは、ブロック２１８において３つのＢＩＳ列を充填する。また、シンク（sync）ビットグループの列が追加され、かくして、１５５列ｘ４９６行の物理クラスタが形成される。これらは一緒に、図示のように４９６の記録フレームにグループ化された１６の物理セクタを形成する。
【００１５】
ＬＤＣコードワード及びＢＩＳコードワードを有する前述したエラー訂正コードは、通常、ピケットコードと呼ばれ、ＤＶＲ技術で使用されている。該コードに関する更なる詳細、特に該コードの符号化及び復号装置、コードフォーマット、インターリーブ及びマッピング方法並びにフレームフォーマットに関しては、国際特許出願公開第WO00/07300号を参照されたい（該文献は、参照により本明細書に組み込まれるものとする）。
【００１６】
本発明により符号化する装置、特に２つのレイヤとしてＬＤＣレイヤ及びＢＩＳレイヤを有するような図１に示すピケットコードに第３のエラー訂正レイヤを埋め込む装置のブロック図が図２に示されている。対応する符号化方法のステップを示す対応するフローチャートが図３に示されている。図４は、上記ステップの当該コードに対する影響を示している。これらの図を用いて、ピケットコードへの追加のエラー訂正レイヤの埋め込みを説明する。
【００１７】
第１ステップＳ１１において、例えば伝送チャンネル、アプリケーション又は記憶媒体等の情報源１０から到来するユーザデータは、ガロアフィールドＧＦ（２８）上の［248,216,33］リードソロモンコードワードであるような３０４のＬＤＣコードワードに符号化される。この符号化はＬＤＣエンコーダ１１により実行され、結果としてユーザデータサブブロックＬ１とパリティデータサブブロックＬ２とを有するＬＤＣブロックＬが得られる。ＬＤＣコードワードｃは、各々、２１６のユーザデータシンボルと３２のパリティシンボルとを有し、上記ＬＤＣブロックＬの列に配列される。
【００１８】
次のステップＳ１２において、各ＬＤＣコードワードｃに対して、２１６のコードワードシンボル（例えば、ユーザデータサブブロックＬ１の２１６のユーザデータシンボル）が、ユニット１２により[217,216,2]のコードワードに符号化される。これを達成するため、ＬＤＣコードワードｃの各々は３１の位置において無効にする（puncture）ことができ、ＧＦ（２８）上の３０４の［217,216,2］ＲＳコードワードを残存させる。他の例として、ＬＤＣコードワードｃの各々に関して２１６のコードワードシンボルをとることができ、これら２１６のシンボルに対して全体のパリティシンボルを計算することができる。このように、３０４の[217,216,2]コードワードｒｊを有する第１の中間コードブロックＩ１が形成され、ここで0<=j<=216である。この第１中間コードブロックＩ１は２１７の行ri=(r0i, …r303i)を有し、ここで0<=i<=216である。これらの行は、２ｘ２１７−３０４＝１３０のゼロを追加することにより、即ちゼロのブロックＩ２を追加することにより拡張され、結果として、４３４列及び２１７行のコードシンボルrjiを有する第２中間コードブロックＩが得られ、ここで、0<=i<=216及び0<=j<=433である。この第３中間コードブロックＩは、各々が２１７行及び２１７列を持つ２つの半部Ｕ１及びＵ２に分割される。
【００１９】
次に、これら２つのコードブロックＵ１及びＵ２は、第２コードブロックＵ２の行シンボルを第１コードブロックＵ１のシンボルに該第１コードブロックＵ１の各行シンボルに対する所定の加算規則に従って加算することにより、減少されたコードブロックＶ１に変換される。特定の例として、第２中間コードブロックＩ２の各行ｒｉは、ユニット１３において：
vij=rij+ri217+(j+imod217)
のように、前記の減少されたコードブロックＶ１の一層短い長さのコードベクトルｖｉに変換され、ここで0<=i,j<=216である（ステップ１３）。
【００２０】
該新コードベクトルｖｉは第３レイヤＥＣＣエンコーダ１４によって水平方向にＧＦ（２８）上の[219,217,3]ＲＳコードにより体系的に符号化され、水平パリティＶ２を得る（ステップＳ１４）。このようにして、２１９シンボルからなる２１７の水平[219,217,3]ＲＳコードワードｈを有するコードブロックＶが得られる。このように、２１７のベクトルｖｉの符号化は２１７ｘ２＝４３４のパリティシンボルを生じ、これらパリティシンボルは第３レイヤＥＣＣパリティ抽出器１５により抽出される（ステップＳ１５）。これらの水平パリティは、ＢＩＳ情報源１８からのＢＩＳ情報と一緒にＢＩＳエンコーダ１６により[62,30,33]ＲＳコードを用いてＢＩＳコードワードで符号化され書き込まれる（ステップＳ１６）。これは、ピケットコードの現在のフォーマットではＢＩＳコードワードにおける５７６バイトは規定されておらず、これらのうちの４３４バイトが上記水平パリティを埋め込むのに使用される故に、可能となる。現在のフォーマットの残部は、同一のままである。即ち、第３レイヤは、これらの４３４の余分な水平パリティバイトのみからなる。インターリーブされたデータストリームが更なる処理のために変調器１９に出力される前に、上記ＢＩＳコードワードはインターリーバ１７において最終的に国際特許出願公開第WO00/07300号に記載されているようにＬＤＣコードワードにインターリーブされる（ステップＳ１７）。本発明により提案されている第３レイヤは既知のエラー訂正符号化及び復号方法と互換性があるので、ＤＶＲプレーヤは上記第３レイヤの復号を必ずしも実施する必要はない。
【００２１】
第１及び第２コードブロックＵ１及びＵ２のコード要素を加算する上述した加算規則並びにゼロを持つ複数のシンボルを追加することによる第１中間コードブロックＩ１の拡張は、単なる例に過ぎない。当該規則が予め規定されたものであり、且つ、最終的に得られるコードを復号するデコーダにとり既知のものであれば、別の加算規則も同様に使用することができる。上記第１中間コードブロックの拡張に関しても同様である。値１を有するシンボルを使用する拡張、又は予め決められたシンボルのシーケンスを使用する拡張も、同様に使用することができる。例えば、中間コードブロックＩ１の各行を延長するために２ｘ２５３−３０４＝２０２のゼロを使用することも同様に可能であり、２１７の[255,253,3]ＲＳコードワードとなる。
【００２２】
以下、上述した第３エラー訂正レイヤを有する拡張されたピケットコードの復号を図５及び図６を参照して詳細に説明するが、これらの図は本発明による復号装置のブロック図（図５）及び本発明による復号方法を示すフローチャート（図６）を図示している。ピケットコードは、ＢＩＳコードワードを復号し、消去戦略（erasure strategy）を適用し、且つ、ＬＤＣコードワードを復号することにより復号される。以下においては、本発明によりピケットコードに埋め込まれた第３レイヤが、如何にしてＬＤＣコードワードの１つ又は２つの復号不良（decoding failure）に対して及びＬＤＣコードワードの１つの訂正誤り（miscorrection）に対して保護を行うかを説明する。
【００２３】
先ず、ＢＩＳコードワード及びＬＤＣコードワードを有する復調器２０から入力されたデータストリームから、BIS/LDCスプリッタ２１によりＢＩＳコードワードが抽出され、これらＢＩＳコードワードは最初にＢＩＳデコーダ２２により復号される（ステップＳ２１）。ここでは、エラーのみの復号（errors-only decoding）が適用される。ＢＩＳコードワードは非常に高いエラー訂正能力で保護されているので、全てのＢＩＳコードワードは正しく復号されると仮定される。このようにして、図４に示すコードブロックＶの２１７の［219,217,3］ＲＳコードワードの各々の２つのパリティが分かる。更に、これはバーストエラーについての知識も提供する。何故なら、これらは隣接するＢＩＳバイトに影響を与え、この認識が、バーストエラーが疑われる場所のＬＤＣバイトの消去につながるからである。即ち、ユニット２３において消去（erasure）が宣言される（ステップＳ２２）。ここで、ＬＤＣコードワードはＬＤＣデコーダ２４により訂正される（ステップＳ２３）。しかしながら、ハミング距離３３は充分ではないであろう。何故なら、エラー値を計算するためには、各消去の訂正のために１つの冗長バイトが必要であり、エラーロケーション及びエラー値を計算するためには、各残存エラーに対して２つの冗長バイトが必要であるからである。バーストエラーの認識無しでは、各バーストエラーバイトを訂正するために２バイトが必要となることに注意すべきである。認識されている場合は、認識されたバーストエラーバイトを訂正するために、１バイトが必要とされるのみである。
【００２４】
２つの崩れたＬＤＣコードワードに関して復号が失敗した、即ち２つの復号不良（decoding failure）が存在すると仮定する。ａ及びｂを対応する列インデックスとする。行ｉを考察すると、ｖjiは、{j,217+(j+imod217)}∩{a,b}=φならば、上述したように計算することができる。ｉが与えられると、組{j,217+(j+imod217)}はインデックス{0, …, 433}の組を分割するので、２つの座標ｖjiを除く全てを再生することができる。これは、対応する[219, 217, 3]ＲＳコードワードに最大で２つの消去を残存させる。これらは、復号されたＢＩＳコードワードから第３ＥＣＣパリティ抽出器２５により抽出することが可能な余分なパリティチェック情報を使用することにより訂正することができる。
【００２５】
全て0<=i,j<=216に対するvji の知識を用いると共に、前述したように、これらの定義を用いることにより、{j, 217+(j+i mod 217)} ≠ {a, b}ならば、コードシンボルrjiを再生することができる。全ての組{j, 217+(j+i mod 217)}は互いに等しくない。このように、最大で１つの行ｒｉにおいて、２つの未知の座標が残存する。これらの対応する列は、[217,216,2]コードワードである。素直な消去訂正処理により、該２つの残存する未知のものは再生することができる。もし必要なら、全てのＬＤＣコードワードを完全に再生することができる。これが、当該第３レイヤの復号処理を完成させる。
【００２６】
一般的に、コントローラ２７は消去及びデコーダ不良のロケーションに依存して第３レイヤＥＣＣデコーダ２８を制御し、該デコーダは訂正されたバイト及びデコーダ不良のロケーションを返送する。第３レイヤの復号処理を可能にするために、減少されたコードブロックＶ１は、ユニット２６により、符号化処理の間において使用された加算規則に基づいて再生される。更に、ユニット２９が、逆の“加算操作（adding trick）”を適用してコードブロックＵ１及びＵ２の行を再生するように設けられている。最後に、エラーのロケーションに基づいて、ＬＤＣデコーダ３０が、消去のみの復号処理により第１中間コードブロックＩ１の無効化されたＬＤＣコードワードを復号する。結果としてのデータストリームは、更なる処理のために変調器３１に出力される。
【００２７】
当該復号処理のために、多くの場合が区別されるべきである。第１に、デコーダ不良の数が２つの場合を区別するために使用される（ステップＳ２４）。１つのみの復号不良しか存在しない場合（ステップＳ２７）は、[217,216,2]コード構造により与えられるパリティチェックは使用される必要はない。実際に、[219,217,3]ＲＳコードにおける２つのパリティチェックの一方が、全体のパリティチェックとなる。コードベクトルを計算するための前述した式と一緒に、これは、各ｉに対してΣjrjiなる形態のパリティが利用可能であることを意味する。即ち、行ｒｉの全体のパリティが利用可能である。従って、復号不良により１つの列が消去された場合は、この全体のパリティを用いて、この列を即座に再生することができる。
【００２８】
[219,217,3]ＲＳコードワードの他のパリティは、１つの復号不良が１つの訂正誤り（miscorrection）と一緒に検出されるように、余分なチェックとして使用されねばならない。ａを当該復号不良に対応する列のインデックスとし、ｂを当該訂正誤りに対応する列のインデックスであるとする。また、Ｅをｂ番目の列におけるエラーロケーションの組とする。組{j,217+(j+i mod 217)}, 0<=j<=216の何れもが{a, b}に等しくない場合、ベクトルvi, ｉ∈Ｅは１つの消去と１つのエラーとを含む。全ての組{j, 217+(j+i mod 217)}は互いに等しくない。従って、Ｅにおける最大で１つのインデックスｉに対して、ベクトルｖｉは１つの消去を１つのエラーと一緒には含まない。後述するように、列ｂは少なくとも２つのエラーを含む、即ち｜Ｅ｜＞＝２である。このように、１つの消去と１つの復号不良とを含む少なくとも１つの行ｖｉが存在する。これは、[219,217,3]ＲＳコード構造を使用することにより検出されるであろう。
【００２９】
ＬＤＣコードワードの１つの訂正誤りが存在し、復号不良が存在しない場合（Ｓ２５）、再生されるベクトルｖｉは最大で１つのエラーを含み、該エラーはＢＩＳ列のパリティを用いることにより訂正することができる。ベクトルｖｉ（少なくとも２つのエラーが存在する）におけるエラーの位置を比較することにより、何のＬＤＣコードワードが誤って訂正されたかを以下のようにして見つけることができる。行ｒｉにより形成される第２中間コードブロックＩ２の列ｂが、該誤って訂正されたＬＤＣコードワードに対応すると仮定する。この列は[217,216,2]におけるコードワードであり、従って少なくとも２つのエラーを含む。Ｅをｂ番目の列におけるエラーロケーションの組であるとする。
−  b<=216の場合：これはｉ∈Ｅに対する全てのベクトルvibが正しくなく、[219, 217, 3]コード構造を使用することにより訂正されるであろうことを意味する。如何なる他のコードベクトルvjiも訂正されないであろう。訂正されたコードベクトルは全て共通の下側インデックスｊ＝ｂを共有する。これはｂを明らかにし、ｉ∈Ｅに対して、rib= vib + ri217+(b+imod217)を再生することができる。
−  b>216の場合：ここでは、ｉ∈Ｅに対して全てのコードベクトルvib-i mod 217 = rib-i mod 217 + ri217+bが正しくない。これらのvib-i mod 217に対して、上側インデックス足す下側インデックスはb mod 217に等しい。言い換えると、これらは対角線上にある。従って、これらの訂正の後に、ｂは、何の対角線が当該エラーを含むかをチェックすることにより明らかとされる。従って、前の場合と同様に全てのコードシンボルrjiを再生することができる。
【００３０】
両者の場合を区別するためには、エラーがライン上にあるか対角線上にあるかを区別することができる必要がある。これは、少なくとも２つのエラーが存在する故に可能である。
【００３１】
完全さのために、３つの復号不良の検出（Ｓ２６）が即座に可能である。更に、vjiにおけるエラーは１つのライン上でも又は１つの対角線上でもあり得ないので、２つの訂正誤り（Ｓ２８）も検出することができる。
【００３２】
復号戦略は、ＬＤＣコードワードの訂正誤りが生じないと仮定することにより簡略化することができる。また、１つの復号不良の訂正は２つの復号不良の訂正よりも大幅に簡単であるので、本発明による第３レイヤの全エラー訂正能力は利用しないという代償において、１つの復号不良の訂正のみを実施化するように選択することもできる。２ｘ２１６の消去されたＬＤＣバイトを訂正するためには、少なくとも４３２の冗長パリティチェックバイトが必要である。本発明による方法は４３４の冗長バイトを使用し、従って殆ど最適である。
【００３３】
このように、本発明によれば、ＤＶＤに使用されているように、積コード構造を導入することが意図されている。符号化処理の間に得られる余分な水平パリティは、ＢＩＳ列に記憶される。これらは、復号の間においてＢＩＳ復号の後にエラー無しで得ることができる。何故なら、ＢＩＳ列は非常に良好に保護されているからである。しかしながら、問題は何の種の積構造が許容されるか及び何の種の保護が必要とされるかである。
【００３４】
エラーのみの体制においては、バーストの認識の後に過度に多くのエラーを伴う１つのＬＤＣコードワードが存在する。消去の数の１倍足すエラーの数の２倍は、３２バイトの冗長性を超える。２つの斯様なＬＤＣコードワード（それ以上は可能ではない。何故なら、ＢＩＳ列では５７６バイトのみが利用可能であるからである。それ以下ではＤＶＤ積コードより悪くなる）を訂正することができるように、余分な積構造を追加することが目論まれる。ＬＤＣコードワードがバーストの認識の後に過度に多くのエラーを有する場合、訂正誤りの確率は極めて小さく、代わりに、該ＬＤＣコードワードを訂正することができないことを検出するであろう。斯様な検出されたＬＤＣコードワードにおいては２１６データバイトしか訂正する必要がない。３０４のＬＤＣコードワードが存在する。これらは、行列において列としてとられるべきである。各行が距離３を有するように２つの余分な列を追加すれば、問題は解決される。何故なら、前記２つの復号不可能なＬＤＣコードワードを検出することができ、これらを消去すると共に、これらを訂正するために２つのパリティ列を使用することができるからである。
【００３５】
しかしながら、これは容易ではない。行コードワードには、長さ３０６、ディメンション（データバイト数＝ＬＤＣデータ列の数）３０４、距離３を持たせたい。また、８ビットシンボルであるバイトも使用したい。このようなＲＳコードは存在しない。少なくとも３なる最小距離を持つバイト上での非拡張ＲＳコードに対して、最大長は２８−１である。２つのＬＤＣコードワードを訂正するための積コードにおいて必要とされる余分なバイトの最小数は、少なくとも２１６＊２＝４３２バイト（２１６行が存在し、１バイト消去を訂正するために１バイトが必要とされる）である。
【００３６】
本発明による復号処理が何故動作するかの他の説明を、異なるケースを使用して以下に説明する。これらケースは：
Ａ）第１行列（Ｕ１）において２１７バイトの２つのＬＤＣバイトが消去される；
Ｂ）同じことが第２行列（Ｕ２）で起きる；
Ｃ）第１行列で２１７バイトの１つの列が消去され、第２行列で１つのものが消去される；
Ｄ）第１行列で２１７バイトの１つの列がエラーとなる（ＬＤＣコードワードが誤って訂正され、２１７バイトの消去されたＬＤＣ列となるような過度に多くのエラーの存在を検出することができなかったという、ありそうにない状況において）；
Ｅ）第２行列で２１７バイトの１つの列がエラーとなる；
である。
【００３７】
Ａ）：Ｕ１における２つの消去された列は、Ｖにおける２つの消去された列となる。Ｖの全ての他のバイトは、訂正されたＬＤＣコードワードからのデータバイトにより計算することができる。何のＬＤＣコードワードも誤って訂正されていない場合（ケースＡである）、Ｖの全ての他のバイトは正しい値を持つ。ＢＩＳ領域に記憶された２つのパリティ列も同様にエラー無しである（前述したように）。従って、Ｖの各行における２つの消去を訂正することができる。何故なら、パリティを備える行上のＲＳコードワードは距離３を有しているからである。行列Ｕ２’（Ｕ２から、前記加算演算を適用する前に各行のシンボルを水平方向に或る数のロケーションだけシフトすることにより導出される）は既知であるから、これを訂正されたＶから減算してＵ１を得ることができる。このように、全てのＬＤＣデータバイトは訂正される。ＬＤＣコードワードも誤って訂正されていた場合は、問題となる。即ち、Ｖの全ての行を訂正することができないことを検出するか、又は誤った訂正を行うかの何れかである。
【００３８】
Ｂ）：Ｕ２における２つの消去された列は、Ｕ２’における、従ってＶにおける２つの消去された対角線となる。ケースＡにおけるように、Ｖ内で行当たり２つの消去を有する。Ｖを訂正することができ、既知のＵ１を減算して、Ｕ２’を得る。行列Ｕ２’の行をシフトして、Ｕ２を得る。従って、全てのＬＤＣデータバイトが訂正される。
【００３９】
Ｃ）：Ｕ１における１つの消去された列は、Ｖにおける１つの消去された列となる。Ｕ２における１つの消去された列は、Ｕ２’における、従ってＶにおける１つの消去された対角線となる。従って、Ｖにおいて、１つの消去された列及び１つの消去された対角線を有する。余分な注意が必要となる。即ち、上記の消去された列と消去された対角線とは正確に１つの位置で重なり合う。このことは、Ｖの全行が、１つの消去を持つ１つの行を除いて、２つの消去を有することを意味する。ケースＡ及びＢにおけるように、Ｖを訂正することができる。しかし、どのようにしてＵ１及びＵ２’を見つけるのであろうか？Ｕ１において或る位置が消去され、Ｕ２’では消去されていない場合、Ｕ２’における該位置の値は、Ｖにおける該位置の値から減算されて、Ｕ１における消去された位置の値を得ることができる。同様にして、Ｕ１においては消去されていないＵ２’における消去された位置を再生することができる。１つの問題がある。即ち、Ｕ１及びＵ２’には両行列において消去されている正確に１つの位置が存在する。この位置は、行列Ｕ１及びＵ２’において消去されたままである。従って、行列Ｕ１及び行列Ｕ２（該行列の行をシフトした後）は、Ｕ１における単一の消去及びＵ２における単一の消去を除いて再生することができる。Ｕ１ではＬＤＣコードワードの最初の２１７バイトから来る２１７行を有するから、Ｕ１における各列は最小距離２を持つＲＳコードワードである。これは、上記単一の消去を訂正するには充分である。同様に、Ｕ２における単一の消去を訂正することができる。
【００４０】
Ｄ）及びＥ）：ＬＤＣコードワードに誤った訂正があれば、少なくとも３３（＝最小距離）バイトがエラーである。２１７バイトのみを維持し、３１バイトを破棄すれば、少なくとも２つのエラーが残ることが確かに分かる。Ｄ及びＥのケースにおいては、１つの誤って訂正されたＬＤＣコードワードを有する。これは、Ｕ１の列における少なくとも２つのエラーか、又はＵ２の列における少なくとも２つのエラーとなるかの何れかである。両方のケースにおいて、これは、全てがＶにおける別個の行内の少なくとも２つのエラーとなる。これらは訂正することができる。何故なら、ＢＩＳ領域に記憶されたパリティと共に、パリティを備える行当たり距離３を有するからである。これは、行当たり１つのエラーを訂正することができることを意味する。一旦Ｖが訂正されたら、Ｕ１における又はＵ２における何の列が誤って訂正されたかの問題が残る。
【００４１】
Ｄ）：エラーはＵ１の列におけるものであるので、これらはＶの列に現れる。少なくとも２つのエラーが存在するので、列に向いているかを認識することができる。もしそうなら、Ｕ２’が分かり、これが訂正されたＶから減算されて、Ｕ１を得る。ここでも全てのエラーが訂正される。即ち、Ｕ１及びＵ２は共に再生される。
【００４２】
Ｅ）：エラーはＵ２の列におけるものであるので、これらはＵ２’の対角線において、従ってＶの対角線においても現れる。少なくとも２つのエラーが存在するので、これらが対角線（列と比較して）に向いているかを認識することができる。もしそうなら，Ｕ１が分かり、これが訂正されたＶから減算されて、Ｕ２を得る。ここでも、全エラーが訂正される。
【００４３】
何らかのピケットコードが使用され得る、より一般的な状況では、ＧＦ（ｑ）上のｍの[n,k,d]ＲＳコードワード、即ちＬＤＣコードワードを有する。ｍ個のコードワードに対してｋ個の個ワード位置がＧＦ（ｑ）上の[k+p, k, p+1]ＲＳコードワードに符号化される。これらは、行列{Rij} 0<=i<=k+p-1,0<=j<=m-1の列を形成する。0<=i<=k+p-1の各々に対して、数{0,…, m-1}の組が、非空の組Si,w, 0<=w<siに分割される。0<=i<=k+p-1及び 0<=w<=si-1に関して、Vi,w = Σj∈Si,w Ri,wが計算される。各iに対して、{Vi,w}0<=w<=si-1がpiのパリティシンボルを計算することにより距離Ｄのコードワードに体系的に符号化される。Σ0<=i<=k+p-1pi パリティシンボルがＢＩＳ列に記憶される。
【００４４】
組Si,wが以下の制約を満足すると仮定される。全ての0<=j<=m-1に対して、及びｊを含まず且つD-1の要素を有する全ての組Ｆに対して、
#{i:Si,w∩ F≠φ， j∈Si,w となるようなwに対して}<=pi. 
【００４５】
この場合、ＬＤＣコードワードのD-1の復号不良まで訂正することができる。復号不良と誤った訂正の組み合わせも訂正することができる。上述した方法が使用される。即ち、Ｖi,wが前の段落における式により計算される。もし可能なら、未知のＶi,wがpiパリティを用いて消去訂正により再生され、Ｖi,wに関する前記式を使用することにより復号不良に対応する列内の最大でｐ個のエントリを除いて行列Ｒの全てのエントリが再生され、最後に、これら列内の冗長情報が用いられて、行列Ｒを、もし必要なら、全ＬＤＣコードワードを完全に再生する。
【００４６】
本発明は、積コードにも適用することができる。ＤＶＤにおいては、行列Ｄを水平及び垂直方向に拡張するために使用されている。パリティ上のパリティは大きな積距離を保証する。実際には、書き込み方向に向けられた行が復号される。過度に多くのランダムエラー又はバーストエラーにより影響を受けた場合、復号不良が現れる。垂直方向冗長度が、なされた誤った訂正及び復号不良から回復させる。
【００４７】
前述したピケットコードの拡張において、前記行列Ｒが行列Ｄの役割を果たす。ここでも、一種の積コードが形成される。しかしながら、パリティ上のパリティは必要ではない。何故なら、水平パリティはＢＩＳコードワードによる高度の保護のために、駄目にならないと仮定されるからである。この場合、列は復号不良又は誤った訂正により影響を受ける可能性がある。前述した“加算操作”は、ＲＳコードの長さがフィールドのサイズにより制限される故に導入される。以下、この“加算操作”を、積コード全般の代替を提供するために如何にして使用することができるかを図７及び８を参照して説明する。
【００４８】
第１の素直な拡張は、第３レイヤの余分な水平パリティを表す列を、これら列をエラー無しで回復することができない大きな確率が存在する場合に、コードワードに符号化することにより大きな最小距離を保証することである。一例として、列及び行の役割を入れ替えた後に、“加算操作”がＤＶＤブロックＤ１及びＤ２に適用され、ここで、各ＤＶＤブロックＤ１及びＤ２は図８に示すように１７２ｘ１９２の行列である。これら２つのＤＶＤブロックＤ１及びＤ２をユニット４２により結合する前又は後で、全ての列がＤＶＤエンコーダ４１によりＧＦ（２８）上の２ｘ１９２の[182,172,11]ＲＳコードワードに符号化され、結果として、１８２ｘ（２ｘ１９２）行列である結合されたＤＶＤブロックＤ３が得られる。これにより、符号化されるべきデータが情報源４０から得られる。この結合されたＤＶＤブロックＤ３は前述したように分割される。即ち、ユニット４３において、0<=i<=181及び0<=j<=191に関して、
Vij = rij + ri192+(j+imod192)
が計算される。得られた行列Ｖ１は、次いで、第３レイヤＥＣＣエンコーダ４４により水平方向に符号化され、結果としてＧＦ（２８）上の１８２の[208,192,17]ＲＳコードワードが得られ、行列Ｖとなる。これらパリティＶ２は、１８２バイトの１６列を形成する。これらはパリティ抽出器４５により抽出され、その後に、パリティエンコーダ４６によりＧＦ（２８）上の１６の[192,182,11]ＲＳコードワードに符号化され、パリティ上パリティのブロックＶ３となる。拡張された行列Ｄ３は、これらの１６のコードワードと共に、更なる処理（例えば、ディスク上への書き込み）のために出力ユニット４７により変調器４８に出力される。２つのＤＶＤブロックが既知の方法によりインターリーブされていた場合は、９６６４（＝２ｘ（１９２ｘ１０＋１８２ｘ１６））個のパリティシンボルが必要であろう。本発明による上記“加算操作”を使用することにより、６９１２（＝２ｘ１９２ｘ１０＋１９２ｘ１６）個のパリティシンボルしか必要とされない。
【００４９】
復号処理の間において、全列が最初に復号され、これは復号不良及び誤訂正につながり得る。前述したように、可能な限り行列Ｖを再生することにより消去を残存させて継続される。ここで、行列Ｖにおける消去及びエラーを訂正するために水平コード構造が使用される。次いで、行列Ｄ３が、誤訂正された列を認識しながら、可能な限り再生されねばならない。垂直パリティが、行列Ｄ３を如何に完全に再生するかを示すであろう。
【００５０】
２つのインターリーブされたＤＶＤブロックの性能と、該提案された方法の性能とが比較される必要がある。垂直方向においては、両方法とも等しく強い。水平方向においては、当該提案された方法によれば、行当たり１６より多いパリティが必要とされ得る。しかしながら、１４の余分なパリティ（１６から３０のパリティに増加させる）でさえも、冗長の量を節約することができる。このように、該提案された方法はエラー訂正能力を改善する非常に有効なツールとなる。
【図面の簡単な説明】
【００５１】
【図１】図１は、ピケットコードの符号化処理の概念図である。
【図２】図２は、本発明による符号化装置のブロック図である。
【図３】図３は、本発明による符号化方法のフローチャートである。
【図４】図４は、上記符号化方法の符号化ステップを示す。
【図５】図５は、本発明による復号装置のブロック図である。
【図６ａ】図６ａは、本発明による復号方法のフローチャートである。
【図６ｂ】図６ｂも、本発明による復号方法のフローチャートである。
【図７】図７は、本発明による符号化装置の他の実施例のブロック図である。
【図８】図８は、積コードへの本発明の適用例を示す。
【図１】
2005522137.tif 000003
【図２】
2005522137.tif 000004
【図３】
2005522137.tif 000005
【図４】
2005522137.tif 000006
【図５】
2005522137.tif 000007
【図６ａ】
2005522137.tif 000008
【図６ｂ】
2005522137.tif 000009
【図７】
2005522137.tif 000010
【図８】
2005522137.tif 000011
【国際調査報告】
2005522137.tif 000012