(57)【要約】  既存のＥＣＣ（Error  Correction  Code）ブロックフォーマットと互換性を有するエクストラパリティＥＣＣブロックを利用し、再生されるデータの信頼性を向上させることができるデータエンコーディング及びデコーディングの方法並びにその装置、記録媒体、記録媒体駆動システム、及びエクストラパリティＥＣＣブロック生成方法に係り、該データエンコーディング方法は、ユーザデータに対してＮ個のエラー訂正コードブロックを生成する段階と、Ｎ個のエラー訂正コードブロックに対する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含み、再生されるデータに対するエラー訂正失敗率を最小化して再生されるデータの信頼性を向上させることができる。
2009532818.tif 000002
【特許請求の範囲】
【請求項１】
データエンコーディング方法において、
ユーザデータに対してＮ個のエラー訂正コードブロック（ＥＣＣ）を生成する段階と、
前記生成されたＮ個のエラー訂正コードブロックに対する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことを特徴とするデータエンコーディング方法。
【請求項２】
前記少なくとも１つのエクストラパリティエラー訂正コードブロック生成段階は、
前記生成されたＮ個のエラー訂正コードブロックのうち、エラー訂正コードブロックのデータからＮ個のエクストラデータブロックを生成する段階と、
前記生成されたＮ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、
前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項１に記載のデータエンコーディング方法。
【請求項３】
前記エクストラパリティ情報は、Ｎ対のエクストラパリティ情報を含むことを特徴とする請求項２に記載のデータエンコーディング方法。
【請求項４】
前記Ｎ個のエクストラデータブロック生成段階は、
前記生成されたＮ個のエラー訂正ブロックのうち、隣接したエラー訂正ブロックのユーザデータブロックに対するブロックインターリービングを行う段階を含むことを特徴とする請求項２に記載のデータエンコーディング方法。
【請求項５】
前記ユーザデータブロックに対するブロックインターリービング遂行段階は、少なくとも１行単位で前記ブロックインターリービングを行うことを特徴とする請求項４に記載のデータエンコーディング方法。
【請求項６】
前記生成されたＮ個のエクストラエラー訂正コードブロック、前記生成された少なくとも１つのエクストラパリティエラー訂正コードブロックは、前記Ｎ個のエラー訂正コードブロックと同じブロックフォーマットを有することを特徴とする請求項２に記載のデータエンコーディング方法。
【請求項７】
前記少なくとも１つのエクストラパリティエラー訂正コードブロック生成段階は、
前記生成されたＮ個のエラー訂正コードブロックのユーザデータブロックからＮ個のエクストラデータブロックを生成する段階と、
前記生成されたＮ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、
前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックを生成する段階と、
前記Ｎ／２個の第１エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくとも１つの第２エクストラパリティエラー訂正コードブロックを生成する段階とを含み、
前記少なくとも１つの第２エクストラパリティエラー訂正コードブロックは、前記少なくとも１つのエクストラパリティエラー訂正コードブロックであることを特徴とする請求項１に記載のデータエンコーディング方法。
【請求項８】
前記エクストラパリティ情報は、Ｎ対のエクストラパリティ情報を含むことを特徴とする請求項７に記載のデータエンコーディング方法。
【請求項９】
前記Ｎ個のエクストラデータブロックを生成する段階は、
前記生成されたＮ個のエラー訂正ブロックのうち、隣接したエラー訂正ブロックの前記ユーザデータブロックに対するブロックインターリービングを行う段階を含むことを特徴とする請求項７に記載のデータエンコーディング方法。
【請求項１０】
前記ユーザデータブロックに対するブロックインターリービングを行う段階は、少なくとも１行単位で前記ブロックインターリービングを行うことを特徴とする請求項９に記載のデータエンコーディング方法。
【請求項１１】
前記少なくとも１つの第２エクストラパリティエラー訂正コードブロック生成段階は、
前記少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれた前記エクストラパリティ情報に対するブロックインターリービングを行う段階を含むことを特徴とする請求項７に記載のデータエンコーディング方法。
【請求項１２】
前記生成されたＮ個のエクストラエラー訂正コードブロック、前記生成された少なくとも１つのエクストラパリティエラー訂正コードブロックは、前記Ｎ個のエラー訂正コードブロックと同じブロックフォーマットを有することを特徴とする請求項７に記載のデータエンコーディング方法。
【請求項１３】
前記Ｎ個のエクストラデータブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックの一部データからＮ個のエクストラデータブロックを生成する段階を含むことを特徴とする請求項２に記載のデータエンコーディング方法。
【請求項１４】
前記少なくとも１つのエクストラパリティエラー訂正コードブロック生成段階は、
前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報をインターリービングし、エクストラパリティデータブロックを生成する段階と、
前記エクストラパリティデータブロックにパリティ情報を付加し、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項２に記載のデータエンコーディング方法。
【請求項１５】
前記インターリービングは、一定長を有するデータＭ個当たり１つのデータを抽出するように、前記エクストラパリティ情報に対して行われることを特徴とし、前記Ｍは、２より大きいか、あるいはそれと同じ整数であることを特徴とする請求項１４に記載のデータエンコーディング方法。
【請求項１６】
前記生成された少なくとも１つのエクストラパリティエラー訂正コードブロックは、前記Ｎ個のエラー訂正コードブロックと同じブロックフォーマットを有することを特徴とする請求項１４に記載のデータエンコーディング方法。
【請求項１７】
前記一部データは、前記エラー訂正コードブロックのＰＩ（Parity  Inner）及び／またはＰＯ（Parity  Outer）パリティを除外したＮ個のエラー訂正コードブロックに含まれたデータであることを特徴とする請求項１３に記載のデータエンコーディング方法。
【請求項１８】
前記Ｎ個のエクストラデータブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックの全体データからＮ個のエクストラデータブロックを生成する段階を含むことを特徴とする請求項２に記載のデータエンコーディング方法。
【請求項１９】
前記少なくとも１つの第２エクストラパリティエラー訂正コードブロック生成段階は、
前記生成された少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティ情報をインターリービングし、エクストラパリティデータブロックを生成する段階と、
前記エクストラパリティデータブロックにパリティ情報を付加し、前記少なくとも１つの第２エクストラパリティエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項７に記載のデータエンコーディング方法。
【請求項２０】
前記少なくとも１つの第２エクストラパリティエラー訂正コードブロックは、前記Ｎ個のエラー訂正コードブロックと同じブロックフォーマットを有することを特徴とする請求項１９に記載のデータエンコーディング方法。
【請求項２１】
前記一定長は、同期信号を付与する単位に該当するエラー訂正コードブロック内のデータ数×Ｋであることを特徴とし、前記Ｋは、１より大きいか、あるいはそれと同じ整数であることを特徴とする請求項１５に記載のデータエンコーディング方法。
【請求項２２】
前記Ｎ個のエクストラデータブロックは、事前定義の値を有するパッディングデータをそれぞれ含むことを特徴とする請求項２に記載のデータエンコーディング方法。
【請求項２３】
前記エクストラパリティデータブロックは、事前定義の値を有するパッディングデータを含むことを特徴とする請求項１４に記載のデータエンコーディング方法。
【請求項２４】
前記Ｎ個のエクストラデータブロックは、事前定義の値を有するパッディングデータをそれぞれ含むことを特徴とする請求項７に記載のデータエンコーディング方法。
【請求項２５】
前記エクストラパリティデータブロックは、事前定義の値を有するパッディングデータを含むことを特徴とする請求項１９に記載のデータエンコーディング方法。
【請求項２６】
エクストラパリティエラー訂正コードブロック生成方法において、
Ｎ個のエラー訂正コードブロックからＮ個のエクストラデータブロックを生成する段階と、
前記生成されたＮ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、
前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、前記Ｎ個のエラー訂正コードブロックに対応する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことを特徴とするエクストラパリティエラー訂正コードブロック生成方法。
【請求項２７】
前記Ｎ個のエクストラデータブロック生成段階は、前記Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックのユーザデータブロックに対するブロックインターリービングを行う段階を含むことを特徴とする請求項２６に記載のエクストラパリティエラー訂正コードブロック生成方法。
【請求項２８】
前記少なくとも１つのエクストラパリティエラー訂正コードブロック生成段階は、
前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックを生成する段階と、
前記生成されたＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくとも１つの第２エクストラパリティエラー訂正コードブロックを生成する段階とを含み、
前記少なくとも１つの第２エクストラパリティエラー訂正コードブロックは、前記少なくとも１つのエクストラパリティエラー訂正コードブロックであることを特徴とする請求項２７に記載のエクストラパリティエラー訂正コードブロック生成方法。
【請求項２９】
前記少なくとも１つの第２エクストラパリティエラー訂正コードブロック生成段階は、
前記少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれた前記エクストラパリティ情報に対してブロックインターリービングを行う段階を含むことを特徴とする請求項２８に記載のエクストラパリティエラー訂正コードブロック生成方法。
【請求項３０】
前記生成されたＮ個のエクストラデータブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックの一部または全体データから、前記Ｎ個のエクストラデータブロックを生成する段階を含むことを特徴とする請求項２６に記載のエクストラパリティエラー訂正コードブロック生成方法。
【請求項３１】
前記少なくとも１つのエクストラパリティエラー訂正コードブロック生成段階は、
前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報をインターリービングし、エクストラパリティデータブロックを生成する段階と、
前記生成されたエクストラパリティデータブロックにパリティ情報を付加し、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階を含むことを特徴とする請求項２６に記載のエクストラパリティエラー訂正コードブロック生成方法。
【請求項３２】
データエンコーディング装置は、
ユーザデータに対してＮ個のエラー訂正コードブロックを生成するエラー訂正コードブロック生成ユニットと、
前記生成されたＮ個のエラー訂正コードブロックに対する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するエクストラパリティエラー訂正コードブロック生成ユニットとを備えることを特徴とするデータエンコーディング装置。
【請求項３３】
前記エクストラパリティエラー訂正コードブロック生成ユニットは、
前記生成されたＮ個のエラー訂正コードブロックのうち、エラー訂正コードブロックのデータからＮ個のエクストラデータブロックを生成するエクストラデータブロック生成部と、
前記生成されたＮ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成部と、
前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれた前記エクストラパリティ情報を基に、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するエクストラパリティエラー訂正コードブロック生成部とを備えることを特徴とする請求項３２に記載のデータエンコーディング装置。
【請求項３４】
前記エクストラパリティエラー訂正コードブロック生成ユニットは、
前記生成されたＮ個のエラー訂正コードブロックのユーザデータブロックからＮ個のエクストラデータブロックを生成するエクストラデータブロック生成部と、
前記生成されたＮ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成部と、
前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックを生成する第１エクストラパリティエラー訂正コードブロック生成部と、
前記生成されたＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくとも１つの第２エクストラパリティエラー訂正コードブロックを前記少なくとも１つのエクストラパリティエラー訂正コードブロックとして生成する第２エクストラパリティエラー訂正コードブロック生成部とを備えることを特徴とする請求項３２に記載のデータエンコーディング装置。
【請求項３５】
前記第２エクストラパリティエラー訂正コードブロック生成部は、前記少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティ情報に対してブロックインターリービングを行い、前記少なくとも１つの第２エクストラパリティエラー訂正コードブロックを生成することを特徴とする請求項３４に記載のデータエンコーディング装置。
【請求項３６】
前記エクストラデータブロック生成部は、前記生成されたＮ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックのユーザデータブロックに対するブロックインターリービングを行い、前記Ｎ個のエクストラデータブロックを生成することを特徴とする請求項３４に記載のデータエンコーディング装置。
【請求項３７】
前記エクストラデータブロック生成部は、前記生成されたＮ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックのユーザデータブロックに対するブロックインターリービングを行い、前記Ｎ個のエクストラデータブロックを生成することを特徴とする請求項３３に記載のデータエンコーディング装置。
【請求項３８】
前記エクストラデータブロック生成部は、少なくとも１行単位で前記ブロックインターリービングを行うことを特徴とすることを特徴とする請求項３７に記載のデータエンコーディング装置。
【請求項３９】
前記エクストラデータブロック生成部は、少なくとも１行単位で前記ブロックインターリービングを行うことを特徴とすることを特徴とする請求項３６に記載のデータエンコーディング装置。
【請求項４０】
前記生成されたＮ個のエクストラエラー訂正コードブロックと前記生成された少なくとも１つのエクストラパリティエラー訂正コードブロックは、前記Ｎ個のエラー訂正コードブロックと同じブロックフォーマットを有することを特徴とする請求項３３に記載のデータエンコーディング装置。
【請求項４１】
前記エクストラデータブロック生成部は、前記Ｎ個のエラー訂正コードブロックの一部データを基に、前記Ｎ個のエクストラデータブロックを生成することを特徴とする請求項３３に記載のデータエンコーディング装置。
【請求項４２】
前記エクストラパリティエラー訂正コードブロック生成ユニットは、
前記Ｎ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくとも１つのエクストラパリティデータブロックを生成するエクストラパリティデータブロック生成部をさらに備え、
前記生成されたエクストラパリティデータブロック生成部は、前記生成されたエクストラパリティデータブロックにパリティ情報を付加し、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成することを特徴とする請求項３３に記載のデータエンコーディング装置。
【請求項４３】
前記エクストラデータブロック生成部は、前記Ｎ個のエラー訂正コードブロックの全体データを基に、前記Ｎ個のエクストラデータブロックを生成することを特徴とする請求項３３に記載のデータエンコーディング装置。
【請求項４４】
前記エクストラパリティデータブロック生成部は、前記Ｎ個のエクストラエラー訂正コードブロックに含まれた前記エクストラパリティ情報をインターリービングし、前記少なくとも１つのエクストラパリティデータブロックを生成することを特徴とする請求項４２に記載のデータエンコーディング装置。
【請求項４５】
前記生成されたＮ個のエクストラエラー訂正コードブロック及び前記生成された少なくとも１つのエクストラパリティエラー訂正コードブロックは、前記Ｎ個のエラー訂正コードブロックと同じブロックフォーマットを有することを特徴とする請求項３４に記載のデータエンコーディング装置。
【請求項４６】
データをエンコーディングするためのシステムにおいて、
ユーザデータに対してＮ個のエラー訂正コードブロックを生成し、前記Ｎ個のエラー訂正コードブロックに対する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するデータエンコーディングユニットと、
前記データエンコーディングユニットで生成された前記Ｎ個のエラー訂正コードブロックと前記少なくとも１つのエクストラパリティエラー訂正コードブロックとを保存する記録媒体とを備えることを特徴とするデータエンコーディングシステム。
【請求項４７】
データデコーディング方法において、
少なくとも１つのエクストラパリティエラー訂正コードブロックに含まれたエクストラパリティデータブロックとＮ個のエラー訂正コードブロックのユーザデータブロックとを利用し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、
前記生成されたＮ個のエクストラエラー訂正コードブロックをエラー訂正する段階と、
前記エラー訂正された前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれているＮ個のエクストラデータブロック中のエクストラデータブロックを基に、Ｎ個のエラー訂正コードブロック中のエラー訂正コードブロックのユーザデータブロックをアップデートする段階とを含むことを特徴とするデータデコーディング方法。
【請求項４８】
前記Ｎ個のエクストラエラー訂正コードブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロック間のユーザデータブロックをブロックインターリービングし、Ｎ個のエクストラデータブロックを生成する段階と、
前記Ｎ個のエクストラデータブロックと前記エクストラパリティデータブロックとから、Ｎ個のエクストラエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項４７に記載のデータデコーディング方法。
【請求項４９】
前記アップデートされたユーザデータブロックを有するエラー訂正コードブロックは、前記ユーザデータブロックアップデート以前のエラーを有することを特徴とする請求項４７に記載のデータデコーディング方法。
【請求項５０】
前記Ｎ個のエクストラエラー訂正コードブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックのうち、一部または全体データを基に、Ｎ個のエクストラデータブロックを生成する段階と、
前記Ｎ個のエクストラデータブロックと前記エクストラパリティデータブロックとから、前記Ｎ個のエクストラエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項４７に記載のデータデコーディング方法。
【請求項５１】
前記Ｎ個のエクストラエラー訂正コードブロック生成段階は、前記エクストラパリティデータブロックをデインターリービングし、前記Ｎ個のエクストラエラー訂正コードブロックを生成することを特徴とする請求項４７に記載のデータデコーディング方法。
【請求項５２】
データデコーディング装置において、
エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティデータブロックとＮ個のエラー訂正コードブロックそれぞれのユーザデータブロックとを使用し、Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成ユニットと、
前記生成されたＮ個のエクストラエラー訂正コードブロックに対してエラー訂正を行うエラー訂正ユニットと、
前記エラー訂正された前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれているＮ個のエクストラデータブロックのうちエクストラデータブロックを基に、前記Ｎ個のエラー訂正コードブロックのうちエラー訂正コードブロックのユーザデータブロックをアップデートするアップデートユニットとを備えることを特徴とするデータデコーディング装置。
【請求項５３】
前記エクストラエラー訂正コードブロック生成ユニットは、
前記Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックのユーザデータブロックをブロックインターリービングし、前記Ｎ個のエクストラデータブロックを生成するエクストラデータブロック生成部と、
前記生成されたＮ個のエクストラデータブロックに前記エクストラパリティデータブロックに含まれたエクストラパリティ情報を付加し、前記Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成部とを備えることを特徴とする請求項５２に記載のデータデコーディング装置。
【請求項５４】
前記エクストラエラー訂正コードブロック生成ユニットは、
前記Ｎ個のエラー訂正コードブロックのデータ一部または全体から前記Ｎ個のエクストラデータブロックを生成するエクストラデータブロック生成部と、
前記生成されたＮ個のエクストラデータブロックに前記エクストラパリティデータブロックに含まれたエクストラパリティ情報を付加し、前記Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成部とを備えることを特徴とする請求項５２に記載のデータデコーディング装置。
【請求項５５】
前記アップデートされたユーザデータブロックを有するエラー訂正コードブロックは、前記アップデートユニットが前記ユーザデータブロックをアップデートする前のエラーを有することを特徴とする請求項５２に記載のデータデコーディング装置。
【請求項５６】
Ｎ個のエラー訂正コードブロックと前記Ｎ個のエラー訂正コードブロックに対応する少なくとも１つのエクストラパリティエラー訂正コードブロックとを保存する記録媒体を駆動するシステムにおいて、
前記記録媒体から読み取られたＮ個のエラー訂正コードブロックと少なくとも１つのエクストラパリティエラー訂正コードブロックとを基に、Ｎ個のエラー訂正コードブロックのうち、エラー訂正コードブロックを復元するエラー訂正コードブロック復元ユニットと、
前記記録媒体と前記エラー訂正コードブロック復元ユニットとのうち一つから伝送されるエラー訂正コードブロックのエラー訂正を行うエラー訂正コードブロックエラー訂正ユニットとを備えることを特徴とする記録媒体駆動システム。
【請求項５７】
前記エラー訂正コードブロック復元ユニットは、
前記Ｎ個のエラー訂正コードブロックのユーザデータブロックと前記少なくとも１つのエクストラパリティエラー訂正コードブロックのエクストラパリティデータブロックとを基に、Ｎ個のエクストラエラー訂正コードブロックを生成し、
前記生成されたＮ個のエクストラエラー訂正コードブロックのエクストラデータブロックを基に、前記エラー訂正コードブロックのユーザデータブロックをアップデートし、前記エラー訂正コードブロックを復元することを特徴とする請求項５６に記載の記録媒体駆動システム。
【請求項５８】
前記エラー訂正コードブロック復元ユニットは、前記エラー訂正コードブロックエラー訂正ユニット及び／または前記記録媒体から伝送されるエラーを有するエラー訂正コードブロックを復元することを特徴とする請求項５６に記載の記録媒体駆動システム。
【請求項５９】
コンピュータで読み取り可能な記録媒体において、
Ｎ個のエラー訂正コードブロックと、
保存されたデータのデータデコーディングのエラー訂正期間の間、前記Ｎ個のエラー訂正コードブロックを復元するための少なくとも１つのエクストラパリティエラー訂正コードブロックを有することを特徴とする記録媒体。
【請求項６０】
データエンコーディング及びデコーディング方法において、
ユーザデータに対するＮ個のエラー訂正コードブロックを生成する段階と、
前記生成されたＮ個のエラー訂正コードブロックに対するエクストラパリティエラー訂正コードブロックを生成する段階と、
記録媒体上に、前記生成されたＮ個のエラー訂正コードブロックとエクストラパリティエラー訂正コードブロックとを保存する段階と、
前記エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティデータブロックと前記Ｎ個のエラー訂正コードブロックのユーザデータブロックとを使用し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、
前記生成されたＮ個のエクストラエラー訂正コードブロックに対してエラー訂正を行う段階と、
エラー訂正された前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたＮ個のエクストラデータブロックでのエクストラデータブロックを基に、前記Ｎ個のエラー訂正コードブロックでのエラー訂正コードブロックのユーザデータブロックをアップデートする段階とを含むことを特徴とするデータエンコーディング及びデコーディング方法。
【請求項６１】
前記エクストラパリティエラー訂正コードブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックからＮ個のエンコーディングされたエクストラデータブロックを生成する段階と、
前記生成されたＮ個のエンコーディングエクストラデータブロックにエクストラパリティ情報を加算し、Ｎ個のエンコーディングエクストラエラー訂正コードブロックを生成する段階と、
前記生成されたＮ個のエンコーディングエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、前記Ｎ個のエラー訂正コードブロックに対応する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項６０に記載のデータエンコーディング及びデコーディング方法。
【請求項６２】
前記Ｎ個のエンコーディングエクストラデータブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックのユーザデータブロックに対してブロックインターリービングを行う段階を含むことを特徴とする請求項６１に記載のデータエンコーディング及びデコーディング方法。
【請求項６３】
前記少なくとも１つのエクストラパリティエラー訂正コードブロック生成段階は、
前記生成されたＮ個のエンコーディングエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックを生成する段階と、
前記生成された少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれた前記エクストラパリティ情報を基に、少なくとも１つの第２エクストラパリティエラー訂正コードブロックを生成する段階とを含み、
前記生成された少なくとも１つの第２エクストラパリティエラー訂正コードブロックは、少なくとも１つのエクストラパリティエラー訂正コードブロックであることを特徴とする請求項６１に記載のデータエンコーディング及びデコーディング方法。
【請求項６４】
前記少なくとも１つの第２エクストラパリティエラー訂正コードブロック生成段階は、
前記少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれるエクストラパリティ情報に対するブロックインターリービングを行う段階を含むことを特徴とする請求項６３に記載のデータエンコーディング及びデコーディング方法。
【請求項６５】
前記Ｎ個のエンコーディングエクストラデータブロック生成段階は、前記Ｎ個のエラー訂正コードブロックの一部データまたは全データから、前記Ｎ個のエンコーディングエクストラデータブロックを生成する段階を含むことを特徴とする請求項６１に記載のデータエンコーディング及びデコーディング方法。
【請求項６６】
前記少なくとも１つのエクストラパリティエラー訂正コードブロック生成段階は、
前記生成されたＮ個のエンコーディングエクストラエラー訂正コードブロックに含まれた前記エクストラパリティ情報をインターリービングし、前記エクストラパリティデータブロックを生成する段階と、
前記生成されたエクストラパリティデータブロックにパリティ情報を加算し、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項６１に記載のデータエンコーディング及びデコーディング方法。
【請求項６７】
前記Ｎ個のエクストラエラー訂正コードブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックのユーザデータブロックに対してブロックインターリービングを行い、前記Ｎ個のエクストラデータブロックを生成する段階と、
前記Ｎ個のエクストラデータブロックと前記エクストラパリティデータブロックとから、前記Ｎ個のエクストラエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項６０に記載のデータエンコーディング及びデコーディング方法。
【請求項６８】
前記ユーザデータブロックアップデート段階は、
エラーを有するエラー訂正コードブロックの前記ユーザデータブロックをアップデートする段階を含むことを特徴とする請求項６０に記載のデータエンコーディング及びデコーディング方法。
【請求項６９】
前記Ｎ個のエクストラエラー訂正コードブロック生成段階は、
前記Ｎ個のエラー訂正コードブロックの一部データまたは全データを基に、前記Ｎ個のエクストラデータブロックを生成する段階と、
前記Ｎ個のエクストラデータブロック及び前記エクストラパリティデータブロックから、前記Ｎ個のエクストラエラー訂正コードブロックを生成する段階とを含むことを特徴とする請求項６０に記載のデータエンコーディング及びデコーディング方法。
【請求項７０】
前記Ｎ個のエクストラエラー訂正コードブロック生成段階は、
前記エクストラパリティデータブロックをデインターリービングし、前記Ｎ個のエクストラエラー訂正コードブロックを生成する段階を含むことを特徴とする請求項６０に記載のデータエンコーディング及びデコーディング方法。
【請求項７１】
データエンコーディング及びデコーディング装置において、
ユーザデータに対するＮ個のエラー訂正コードブロックを生成するエラー訂正コードブロック生成ユニットと、
前記生成されたＮ個のエラー訂正コードブロックに対して少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するエクストラパリティエラー訂正コードブロック生成ユニットと、
前記エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティデータブロックと前記Ｎ個のエラー訂正コードブロックのユーザデータブロックとを使用し、Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成ユニットと、
前記生成されたＮ個のエクストラエラー訂正コードブロックに対するエラー訂正を行うエラー訂正ユニットと、
エラー訂正された前記生成されたＮ個のエクストラエラー訂正コードブロックに含まれたＮ個のエクストラデータブロックでのエクストラデータブロックを基に、前記Ｎ個のエラー訂正コードブロックでのエラー訂正コードブロックのユーザデータブロックをアップデートするアップデートユニットとを備えるデータエンコーディング及びデコーディング装置。
【請求項７２】
前記エクストラパリティエラー訂正コードブロック生成ユニットは、
前記生成されたＮ個のエラー訂正コードブロックのうち、エラー訂正コードブロックのデータからＮ個のエンコーディングエクストラデータブロックを生成するエクストラデータブロック生成部と、
前記生成されたＮ個のエンコーディングエクストラデータブロックにエクストラパリティ情報を加算し、Ｎ個のエンコーディングエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成部と、
前記生成されたＮ個のエンコーディングエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するエクストラパリティエラー訂正コードブロック生成部とを備えることを特徴とする請求項７１に記載のデータエンコーディング及びデコーディング装置。
【請求項７３】
前記エクストラパリティエラー訂正コードブロック生成ユニットは、
前記生成されたＮ個のエラー訂正コードブロックのユーザデータブロックからＮ個のエンコーディングデータブロックを生成するエクストラデータブロック生成部と、
前記生成されたＮ個のエンコーディングデータブロックにエクストラパリティ情報を加算し、Ｎ個のエンコーディングエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成部と、
前記生成されたＮ個のエンコーディングエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックを生成する第１エクストラパリティエラー訂正コードブロック生成部と、
前記生成された少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくとも１つの第２エクストラパリティエラー訂正コードブロックを、少なくとも１つのエクストラパリティエラー訂正コードブロックから生成する第２エクストラパリティエラー訂正コードブロック生成部とを備えることを特徴とする請求項７１に記載のデータエンコーディング及びデコーディング装置。
【請求項７４】
前記第２エクストラパリティエラー訂正コードブロック生成部は、前記少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティ情報に対してブロックインターリービングを行い、前記少なくとも１つの第２エクストラパリティエラー訂正コードブロックを生成することを特徴とする請求項７３に記載のデータエンコーディング及びデコーディング装置。
【請求項７５】
前記エクストラデータブロック生成部は、前記生成されたＮ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックのユーザデータブロックに対してブロックインターリービングを行い、前記Ｎ個のエンコーディングエクストラデータブロックを生成することを特徴とする請求項７３に記載のデータエンコーディング及びデコーディング装置。
【請求項７６】
前記エクストラデータブロック生成部は、前記生成されたＮ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックのユーザデータブロックに対してブロックインターリービングを行い、前記Ｎ個のエンコーディングエクストラデータブロックを生成することを特徴とする請求項７２に記載のデータエンコーディング及びデコーディング装置。
【請求項７７】
前記エクストラパリティエラー訂正コードブロック生成ユニットは、
前記Ｎ個のエンコーディングエクストラエラー訂正コードブロックに含まれた前記エクストラパリティ情報を基に、前記少なくとも１つのエクストラパリティデータブロックを生成し、前記エクストラパリティエラー訂正コードブロック生成部が前記生成されたエクストラパリティデータブロックにパリティ情報を加算し、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するエクストラパリティデータブロック生成部をさらに備えることを特徴とする請求項７２に記載のデータエンコーディング及びデコーディング装置。
【請求項７８】
前記エクストラパリティデータブロック生成部は、前記Ｎ個のエンコーディングエクストラエラー訂正コードブロックに含まれた前記エクストラパリティ情報をインターリービングし、前記少なくとも１つのエクストラパリティデータブロックを生成することを特徴とする請求項７７に記載のデータエンコーディング及びデコーディング装置。
【請求項７９】
前記エクストラエラー訂正コードブロック生成ユニットは、
前記Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロックの前記ユーザデータブロックに対してブロックインターリービングを行い、前記Ｎ個のエクストラデータブロックを生成するエクストラデータブロック生成部と、
前記エクストラパリティデータブロックに含まれたエクストラパリティ情報を前記生成されたＮ個のエクストラデータブロックに加算し、前記Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成部とを備えることを特徴とする請求項７１に記載のデータエンコーディング及びデコーディング装置。
【請求項８０】
前記エクストラエラー訂正コードブロック生成ユニットは、
前記Ｎ個のエラー訂正コードブロックの一部データまたは全データから、前記Ｎ個のエクストラデータブロックを生成するエクストラデータブロック生成部と、
前記エクストラパリティデータブロックに含まれたエクストラパリティ情報を前記生成されたＮ個のエクストラデータブロックに加算し、前記Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成部とを備えることを特徴とする請求項７１に記載のデータエンコーディング及びデコーディング装置。
【請求項８１】
前記アップデートユニットがアップデートした前記ユーザデータブロックを有する前記エラー訂正コードブロックは、前記アップデートユニットが前記ユーザデータブロックをアップデートする前にエラーを有することを特徴とする請求項７１に記載のデータエンコーディング及びデコーディング装置。
【請求項８２】
コンピュータにより具現された請求項１に記載の方法でもってエンコーディングされることを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項８３】
コンピュータにより具現された請求項２６に記載の方法でもってエンコーディングされるコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データエンコーディング及びデコーディングに係り、特に、エラー訂正コードブロック（ＥＣＣ）基盤のデータエンコーディング及びデコーディングの方法並びに装置、その方法を具現するためのプログラムが記録された記録媒体、記録媒体駆動システムに関す。
【背景技術】
【０００２】
ハードディスク、ＤＶＤ（Digital  Versatile  Disc）、ＨＤ−ＤＶＤ（High  Definition−ＤＶＤ）、ブルーレイ（Blu-ray）ディスクのような記録媒体の駆動システムは、データデコーディング時に、記録媒体上のスクラッチや指紋のようなバーストエラー（burst  error）、ホコリのようなランダムエラー（random  error）に対するＥＣＣ（Error  Correction  Code）ブロック基盤のエラー訂正を行う。
【０００３】
しかし、既存の記録媒体駆動システムでのＥＣＣブロック基盤のエラー訂正は、記録媒体のタイプによってエラー訂正能が定まっている。例えば、情報記録媒体がＤＶＤである場合に、ＥＣＣブロックの約１６行（rows）（１６×１８２＋１０byte）、情報記録媒体がＨＤ−ＤＶＤである場合に、ＥＣＣブロックの約３２行（３２×１８２＋１０byte）、情報記録媒体がブルーレイディスクである場合に、ＥＣＣブロックの６４行（１５５×６４byte）に該当する長さのエラーを訂正できる。エラー訂正が可能な物理的な長さは、情報記録媒体の記録密度によって変わりうる。例えば、ＤＶＤの場合に約６ｍｍ、ＨＤ−ＤＶＤの場合に約６．４ｍｍ、ブルーレイディスクの場合に約９ｍｍの物理的な長さに該当するエラーを訂正できる。
【０００４】
しかし、記録媒体を使用する回数が増えるほど、記録パワーや再生パワーの影響、及び記録媒体の管理条件によるホコリ、スクラッチ及び指紋などによって、記録媒体に記録されたデータは損傷しうる。従って、記録媒体の使用回数が増えるほど、データデコーディング時に、既存の規格化されたＥＣＣブロック基盤のエラー訂正は、失敗する確率が高まる。特に、記録媒体の表面にスクラッチのような物理的な傷は、記録媒体に記録されたデータに致命的な損傷を与えるので、既存の規格化されたＥＣＣブロック基盤のエラー訂正の失敗確率を高める。ＥＣＣブロック基盤のエラー訂正が失敗すれば、記録媒体駆動システムで再生されるデータの信頼性は低下する。
【０００５】
ＥＣＣブロック基盤のデータ通信システムでも、伝送速度のような条件によって、データに含まれたエラーの長さがＥＣＣブロックでエラーを訂正できる長さを超えうる。もしデータに含まれたエラーの長さがＥＣＣブロックでエラーを訂正できる長さを超えれば、データデコーディング時にＥＣＣブロック基盤エラー訂正が失敗し、伝送されるデータは損失し、データ通信システムで再生されるデータの信頼性は低下する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述の問題点を解決するために、本発明は、既存のＥＣＣブロックフォーマットと互換性を有するエクストラパリティＥＣＣブロックを利用し、再生されるデータの信頼性を向上させることができるデータのエンコーディング及びデコーディングの方法並びに装置とその方法を具現するためのプログラムが記録された記録媒体とを提供するところにその目的がある。
【０００７】
本発明の目的は、既存のＥＣＣブロックフォーマットと互換性を有するエクストラパリティＥＣＣブロックを利用し、再生されるデータの信頼性を向上させることができる記録媒体駆動システムを提供するところにある。
【０００８】
本発明の目的は、再生されるデータの信頼性を向上させるために、データエンコーディング時に、既存のＥＣＣブロックフォーマットと互換性を有するエクストラパリティＥＣＣブロックを生成する方法を提供するところにある。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、本発明による方法は、データエンコーディング方法において、ユーザデータに対してＮ個のエラー訂正コードブロックを生成する段階と、前記Ｎ個のエラー訂正コードブロックに対する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むデータエンコーディング方法を提供する。
【００１０】
前記エクストラパリティエラー訂正コードブロック生成段階は、前記Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロック間のユーザデータブロックをブロックインターリービングし、Ｎ個のエクストラデータブロックを生成する段階と、前記Ｎ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、前記Ｎ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことが望ましい。
【００１１】
前記エクストラパリティエラー訂正コードブロック生成段階は、前記Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロック間のユーザデータブロックをブロックインターリービングし、Ｎ個のエクストラデータブロックを生成する段階と、前記Ｎ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、前記Ｎ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、少なくともＮ／２個の第１エクストラパリティエラー訂正コードブロックを生成する段階と、前記Ｎ／２個の第１エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティ情報をブロックインターリービングし、少なくとも１つの第２エクストラパリティエラー訂正コードブロックを生成する段階とを含み、前記少なくとも１つの第２エクストラパリティエラー訂正コードブロックは、前記少なくとも１つのエクストラパリティエラー訂正コードブロックであることを特徴とすることが望ましい。
【００１２】
前記エクストラパリティエラー訂正コードブロック生成段階は、前記Ｎ個のエラー訂正コードブロックの一部データを基に、Ｎ個のエクストラデータブロックを生成する段階と、前記Ｎ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、前記Ｎ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことが望ましい。
【００１３】
前記少なくとも１つのエクストラパリティエラー訂正コードブロック生成段階は、前記Ｎ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報をインターリービングし、エクストラパリティデータブロックを生成する段階と、前記エクストラパリティデータブロックにパリティ情報を付加し、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことが望ましい。
【００１４】
前記エクストラパリティエラー訂正コードブロック生成段階は、前記Ｎ個のエラー訂正コードブロックの全体データを基に、Ｎ個のエクストラデータブロックを生成する段階と、前記Ｎ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、前記Ｎ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、前記少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むことが望ましい。
【００１５】
前記目的を達成するために本発明による方法は、Ｎ個のエラー訂正コードブロックを利用し、Ｎ個のエクストラデータブロックを生成する段階と、前記Ｎ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、前記Ｎ個のエクストラエラー訂正コードブロックに含まれたエクストラパリティ情報を基に、前記Ｎ個のエラー訂正コードブロックに対応する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成する段階とを含むエクストラパリティエラー訂正コードブロック生成方法を提供する。
【００１６】
前記目的を達成するために本発明による装置は、データエンコーディング装置において、ユーザデータに対してＮ個のエラー訂正コードブロックを生成するエラー訂正コードブロック生成ユニットと、前記Ｎ個のエラー訂正コードブロックに対する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するエクストラパリティエラー訂正コードブロック生成ユニットとを備えるデータエンコーディング装置を提供する。
【００１７】
前記目的を達成するために本発明によるシステムは、記録媒体駆動システムにおいて、ユーザデータに対してＮ個のエラー訂正コードブロックを生成し、前記Ｎ個のエラー訂正コードブロックに対する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するデータエンコーディングユニットと、前記データエンコーディングユニットで生成された前記Ｎ個のエラー訂正コードブロックと前記少なくとも１つのエクストラパリティエラー訂正コードブロックとを保存する記録媒体とを備える記録媒体駆動システムを提供する。
【００１８】
前記目的を達成するために本発明による方法は、データデコーディング方法において、エクストラパリティエラー訂正コードブロックに含まれたエクストラパリティデータブロックとＮ個のエラー訂正コードブロックのユーザデータブロックとを利用し、Ｎ個のエクストラエラー訂正コードブロックを生成する段階と、前記Ｎ個のエクストラエラー訂正コードブロックをエラー訂正する段階と、前記エラー訂正されたＮ個のエクストラエラー訂正コードブロックに含まれているエクストラデータブロックを基に、エラー訂正コードブロックのユーザデータブロックをアップデートする段階と、前記ユーザデータブロックがアップデートされたエラー訂正コードブロックをエラー訂正する段階とを含むデータデコーディング方法を提供する。
【００１９】
前記目的を達成するために本発明による装置は、データデコーディング装置において、エクストラパリティエラー訂正コードブロックのエクストラパリティデータブロックとＮ個のエラー訂正コードブロックそれぞれのユーザデータブロックとを基に、Ｎ個のエクストラエラー訂正コードブロックを生成するエクストラエラー訂正コードブロック生成ユニットと、前記Ｎ個のエクストラエラー訂正コードブロックをエラー訂正するエラー訂正ユニットと、前記エラー訂正されたＮ個のエクストラエラー訂正コードブロックに含まれているエクストラデータブロックを基に、エラー訂正コードブロックのユーザデータブロックをアップデートするアップデートユニットとを備えるデータデコーディング装置を提供する。
【００２０】
前記目的を達成するために本発明によるシステムは、記録媒体駆動システムにおいて、Ｎ個のエラー訂正コードブロックと前記Ｎ個のエラー訂正コードブロックに対応する少なくとも１つのエクストラパリティエラー訂正コードブロックとを保存する記録媒体と、前記記録媒体から読み取られたエラー訂正コードブロックとエクストラパリティエラー訂正コードブロックとを基に、エラー訂正コードブロックを復元するエラー訂正コードブロック復元ユニットと、前記記録媒体と前記エラー訂正コードブロック復元ユニットとのうち一つから伝送されるエラー訂正コードブロックを訂正するエラー訂正コードブロック訂正ユニットとを備える記録媒体駆動システムを提供する。
【００２１】
前記目的を達成するために本発明による記録媒体は、コンピュータで読み取り可能な記録媒体において、Ｎ個のエラー訂正コードブロックと、前記Ｎ個のエラー訂正コードブロックを復元するための少なくとも１つのエクストラパリティエラー訂正コードブロックとを有する記録媒体を提供する。
【００２２】
前記目的を達成するために本発明による記録媒体は、データエンコーディング方法を行うプログラムが記録されたコンピュータで読み取り可能な記録媒体において、ユーザデータに対してＮ個のエラー訂正コードブロックを生成するコードと、前記Ｎ個のエラー訂正コードブロックに対する少なくとも１つのエクストラパリティエラー訂正コードブロックを生成するコードとを含む記録媒体を提供する。
【００２３】
前記目的を達成するために本発明による記録媒体は、データデコーディング方法を行うプログラムが記録されたコンピュータで読み取り可能な記録媒体において、エクストラパリティエラー訂正コードブロックのエクストラパリティデータブロックとＮ個のエラー訂正コードブロックそれぞれのユーザデータブロックとを基に、Ｎ個のエクストラエラー訂正コードブロックを生成するコードと、前記Ｎ個のエクストラエラー訂正コードブロックをエラー訂正するコードと、前記エラー訂正されたＮ個のエクストラエラー訂正コードブロックに含まれているエクストラデータブロックを基に、エラー訂正コードブロックのユーザデータブロックをアップデートするコードと、前記ユーザデータブロックがアップデートされたエラー訂正コードブロックをエラー訂正するコードとを含む記録媒体を提供する。
【００２４】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は、以下の記載から当業者ならば明確に分かるであろう。
【発明の効果】
【００２５】
本発明によれば、データエンコーディング時に、既存の規格化されたＥＣＣブロックと前記ＥＣＣブロックのフォーマットと互換性を有するエクストラパリティＥＣＣブロックとを生成し、データデコーディング時に、エクストラパリティＥＣＣブロックを利用し、エラー訂正が失敗したＥＣＣブロックのユーザデータブロックを復元してエラー訂正を行うことによって、ＥＣＣブロックを基にエラー訂正を行う記録媒体駆動システムやデータ通信システムにおいて再生されるデータに対するエラー訂正失敗率を最小化し、再生されるデータの信頼性を向上させることができる。
【００２６】
例えば、ＤＶＤＲＳＰＣ（Reed  Solomon  Product  Code）の場合に訂正可能なバーストエラーの長さが約１６行であるが、本発明を適用する場合に、約２倍に達する３２行のエラーが発生しても、該当するＥＣＣブロックに含まれるユーザデータブロックを復元してエラー訂正を行うことによって、記録媒体駆動システムで再生されるデータに対するエラー訂正失敗率を最小化し、再生されるデータの信頼性を向上させることができる。
【００２７】
本願発明によるデータエンコーディング及びデコーディングの方法と、エクストラパリティＥＣＣブロック生成方法を行うためのプログラムは、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存されるあらゆる種類の保存装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ（Read-Only  Memory）、ＲＡＭ（Random-Access  Memory）、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットを介した伝送）の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードとして保存されて実行されうる。
【発明を実施するための最良の形態】
【００２８】
以下、添付図面を参照しつつ、本発明による実施例について詳細に説明する。
【００２９】
図１は、本発明の一実施形態によるデータエンコーディング装置の概略的な機能ブロック図である。図１を参照するに、データエンコーディング装置は、エラー訂正コード（ＥＣＣ：Error  Correction  Code）ブロック生成ユニット１００及びエクストラパリティ（extra  parity）ＥＣＣブロック生成ユニット１１０を備える。
【００３０】
ＥＣＣブロック生成ユニット１００は、ユーザデータに対してＮ個のＥＣＣブロックを生成する。すなわち、３２キロバイト（ＫＢ：Kilo  Bytes）のＮ個のＥＣＣブロックを生成する場合に、ＥＣＣブロック生成ユニット１００は、３２ＫＢのＥＣＣブロックにアドレスのような付加情報を追加し、ＥＤＣ（Error  Detection  Code）を付加した後、ユーザデータをスクランブリング（scrambling）し、エラー訂正のためのパリティ（parity）を付加したＮ個のＥＣＣブロックを生成する。ユーザデータは、データエンコーディング装置が記録媒体駆動システム（図示せず）に適用される場合に、ホスト（図示せず）から受信されるデータであって、前記データエンコーディング装置がデータ通信システムに適用される場合に、ネットワークまたは有線通信及び／または無線通信システムを介して受信されるデータでありうる。
【００３１】
エクストラパリティＥＣＣブロック生成ユニット１１０は、生成されたＮ個のＥＣＣブロックに対するエクストラパリティ情報を含む少なくとも１つのエクストラパリティＥＣＣブロックを生成する。
【００３２】
すなわち、エクストラパリティＥＣＣブロック生成ユニット１１０は、本発明の一実施形態によって、図２に図示されているように構成されうる。図２は、図１に図示されたエクストラパリティＥＣＣブロック生成ユニット１１０の一実施形態である。図２を参照するに、エクストラパリティＥＣＣ生成ユニット１１０は、エクストラデータブロック生成部２０１、エクストラＥＣＣブロック生成部２０２、及びエクストラパリティＥＣＣブロック生成部２０３を備える。
【００３３】
エクストラデータブロック生成部２０１は、生成されたＮ個のＥＣＣブロックのうち、隣接したＥＣＣブロックのユーザデータブロックをブロックインターリービング（block  interleaving）し、Ｎ個のエクストラデータブロック（extra  data  block）を生成する。図３を参照しつつ、エクストラデータブロック生成部２０１の動作についてさらに詳細に説明すれば、次の通りである。図３は、本発明の一実施形態によって、図２基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図である。図３のプロセス１  ３００でのＮ個のＥＣＣブロック（ＥＣＣブロック＃１〜＃Ｎ）に対して、プロセス２  ３１０で、エクストラデータブロック生成部２０１は、隣接したＥＣＣブロック間のユーザデータブロック３０１，３０２，３０３，３０４をブロックインターリービングする。
【００３４】
例えば、ＥＣＣブロック＃１とＥＣＣブロック＃２とに含まれたユーザデータブロック３０１，３０２をブロックインターリービングする。ブロックインターリービングは、少なくとも１行（row）単位で行われる。従って、図３に図示されたｍ行（rows）でｍは、０より大きい整数である。ブロックインターリービングによって、Ｎ個のエクストラデータブロック３１１，３１２，３１３，３１４，…が生成される。生成されたＮ個のエクストラデータブロック３１１，３１２，３１３，３１４，…は、エクストラＥＣＣブロック生成部２０２に伝送される。
【００３５】
プロセス３  ３２０で、エクストラＥＣＣブロック生成部２０２は、図３の前記Ｎ個のエクストラデータブロック３１１，３１２，３１３，３１４，…に、エクストラパリティ情報（EXTRA  PARITY（ＰＩ１，ＰＯ１）〜（ＰＩＮ、ＰＯＮ））をそれぞれ付加し、Ｎ個のエクストラＥＣＣブロック３２１，３２２，３２３，３２４，…を生成する。
【００３６】
エクストラパリティＥＣＣブロック生成部２０３は、前記Ｎ個のエクストラＥＣＣブロック３２１，３２２，３２３，３２４，…に含まれた前記エクストラパリティ情報（EXTRA  PARITY（ＰＩ１，ＰＯ１）〜（ＰＩＮ、ＰＯＮ））を基に、少なくとも１つのエクストラパリティＥＣＣブロック３３２を生成する。
【００３７】
図３を参照するに、エクストラパリティＥＣＣブロック生成部２０３は、プロセス４  ３３０で、Ｎ個のエクストラＥＣＣブロック３２１，３２２，３２３，３２４，…に含まれたエクストラパリティ情報（EXTRA  PARITY（ＰＩ１，ＰＯ１）〜（ＰＩＮ、ＰＯＮ））とパッディングデータ（padding  data）とを基に、エクストラパリティデータブロック３３１を生成し、プロセス５  ３４０で、生成されたエクストラパリティデータブロック３３１、パリティ情報ＰＩ，ＰＯを利用し、エクストラパリティＥＣＣブロック３３２を生成する。パッディングデータが追加されたのは、エクストラパリティＥＣＣブロック３３２のフォーマットが既存の規格化されたＥＣＣブロックフォーマットと同じブロックフォーマットを有するようにするためである。エクストラパリティＥＣＣブロック３３２は、Ｎ個のＥＣＣブロックに対するエクストラパリティＥＣＣブロックである。
【００３８】
図４は、本発明の他の実施例による図２基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図である。図４を参照するに、プロセス１  ４００から分かるように、Ｎ個のＥＣＣブロック（ＥＣＣブロック＃１〜＃Ｎ）に対して、プロセス２  ４１０で、エクストラデータブロック生成部２０１は、隣接したＥＣＣブロック間のユーザデータブロック４０１，４０２，４０３，４０４をブロックインターリービングする。
【００３９】
例えば、ＥＣＣブロック＃１とＥＣＣブロック＃２とに含まれたユーザデータブロック４０１，４０２をブロックインターリービングする。ブロックインターリービングは、少なくとも１行単位で行われる。従って、図４に図示されたｍ行でｍは、０より大きい整数である。ブロックインターリービングによって、Ｎ個のエクストラデータブロック４１１，４１２，４１３，４１４，…が生成される。生成されたＮ個のエクストラデータブロック４１１，４１２，４１３，４１４，…は、エクストラＥＣＣブロック生成部２０２に伝送される。
【００４０】
プロセス３  ４２０で、エクストラＥＣＣブロック生成部２０２は、図４の前記Ｎ個のエクストラデータブロック４１１〜４１１＋（Ｎ−１）にエクストラパリティ情報（EXTRA  PARITY  １〜Ｎ）をそれぞれ付加し、Ｎ個のエクストラＥＣＣブロック４２１〜４２１＋（Ｎ−１）を生成する。
【００４１】
エクストラパリティＥＣＣブロック生成部２０３は、前記Ｎ個のエクストラＥＣＣブロック４２１〜４２１＋（Ｎ−１）に含まれた前記エクストラパリティ情報（EXTRA  PARITY  １〜Ｎ）を基に、Ｎ個のＥＣＣブロックに対する少なくとも１つのエクストラパリティＥＣＣブロック４３２を生成する。
【００４２】
図４を参照するに、エクストラパリティＥＣＣブロック生成部２０３は、プロセス４  ４３０で、Ｎ個のエクストラＥＣＣブロック４２１〜４２１＋（Ｎ−１）に含まれたエクストラパリティ情報（EXTRA  PARITY  １〜Ｎ）とパッディングデータとを基に、エクストラパリティデータブロック４３１を生成し、プロセス５  ４４０で、生成されたエクストラパリティデータブロック４３１とパリティ情報ＰＩ１，ＰＯ１とを利用し、エクストラパリティＥＣＣブロック４３２を生成する。パッディングデータが追加されたのは、エクストラパリティＥＣＣブロック４３２のフォーマットが既存のＥＣＣブロックフォーマットと同じブロックフォーマットを有するようにするためである。エクストラパリティＥＣＣブロック４３２は、Ｎ個のＥＣＣブロックに対するエクストラパリティＥＣＣブロックである。
【００４３】
図５は、本発明の他の実施例によるエクストラパリティＥＣＣブロック生成ユニット１１０のブロックダイアグラムである。図５を参照するに、エクストラパリティＥＣＣブロック生成ユニット１１０は、エクストラデータブロック生成部５０１、エクストラＥＣＣブロック生成部５０２、第１エクストラパリティＥＣＣブロック生成部５０３、及び第２エクストラパリティＥＣＣブロック生成部５０４を備える。
【００４４】
エクストラデータブロック生成部５０１は、Ｎ個のエラー訂正コードブロックのうち、隣接したエラー訂正コードブロック間のユーザデータブロックをブロックインターリービングし、Ｎ個のエクストラデータブロックを生成する。エクストラデータブロック生成過程は、図２のエクストラデータブロック生成部２０１で説明した通りである。
【００４５】
エクストラＥＣＣブロック生成部５０２は、エクストラパリティ情報と生成されたＮ個のエクストラデータブロックとを基に、Ｎ個のエクストラＥＣＣブロックを生成する。Ｎ個のエクストラＥＣＣブロック生成過程は、図２のエクストラＥＣＣブロック生成部２０２で説明した通りである。
【００４６】
第１エクストラパリティＥＣＣブロック生成部５０３は、生成されたＮ個のエクストラＥＣＣブロック６２１〜６２１＋（Ｎ−１）に含まれたエクストラパリティ情報を基に、少なくともＮ／２個の第１エクストラパリティＥＣＣブロック６４１〜６４１＋（Ｎ／２−１）を生成する。図６を参照しつつさらに詳細に説明すれば、次の通りである。図６は、本発明の実施例による図５に図示された実施例基盤のエクストラパリティＥＣＣブロック生成プロセスの一例である。
【００４７】
図６のプロセス４  ６３０で、第１エクストラパリティＥＣＣブロック生成部５０３は、エクストラＥＣＣブロックに含まれたエクストラパリティ情報（EXTRA  PARITY）ＰＩ１，ＰＯ１〜ＰＩＮ，ＰＯＮ）とパッディングデータとを基に、第１エクストラパリティＥＣＣブロック用Ｎ／２個のエクストラパリティデータブロック６３１〜６３１＋（Ｎ／２−１）を生成する。プロセス５  ６４０で、第１エクストラパリティＥＣＣブロック生成部５０３は、インナーエクストラパリティ情報（INNER  EXTRA  ＰＩ１，ＰＯ１，ＰＩ２，ＰＯ２，…）を利用し、Ｎ／２個の第１エクストラパリティＥＣＣブロック６４１〜６４１＋（Ｎ／２−１）を生成する。
【００４８】
図６のプロセス６  ６５０で、第２エクストラパリティＥＣＣブロック生成部５０４は、Ｎ／２個の第１エクストラパリティＥＣＣブロック６４１〜６４１＋（Ｎ／２−１）に含まれたエクストラパリティ情報をブロックインターリービングし、少なくとも１つの第２エクストラパリティＥＣＣブロック６６１用エクストラパリティデータブロック６５１を生成する。このとき、エクストラパリティデータブロック６５１は、パッディングデータを含むことができる。パッディングデータが含まれるのは、第２エクストラパリティＥＣＣブロックのフォーマットが既存の規格化されたＥＣＣブロックのフォーマットと同じブロックフォーマットを有するようにするためである。
【００４９】
その次に、第２エクストラパリティＥＣＣブロック生成部５０４は、生成されたエクストラパリティデータブロック６５１にパリティ情報ＰＩ，ＰＯを付加し、第２エクストラパリティＥＣＣブロック６６１を生成する。生成された第２エクストラパリティＥＣＣブロック６６１は、Ｎ個のＥＣＣブロックに対するエクストラパリティＥＣＣブロックである。
【００５０】
図７は、本発明の他の実施例による図５を基盤にしたエクストラパリティＥＣＣブロックが生成されるプロセスについて説明する図である。図７で、図４に開示されたエクストラパリティＥＣＣブロック生成プロセスは、図６に開示された２段階のエクストラパリティＥＣＣブロック生成プロセスを結合した例である。
【００５１】
従って、プロセス１  ７００、プロセス２  ７１０、プロセス３  ７２０は、図４のプロセス１  ４００、プロセス２  ４１０及びプロセス３  ４２０と同じである。図７のプロセス４  ７３０で、第１エクストラパリティＥＣＣブロック生成部５０３は、各エクストラＥＣＣブロック７２１〜７２１＋（Ｎ−１）に含まれたエクストラパリティ情報（EXTRA  PARITY  １〜Ｎ）とパッディングデータとを利用し、Ｎ／２個のエクストラパリティデータブロック７３１〜７３１＋（Ｎ／２−１）を生成する。その次のプロセス５  ７４０で、第１エクストラパリティＥＣＣブロック生成部５０３は、Ｎ／２パリティ情報（PARITY）とＮ／２個のエクストラパリティデータブロック７３１〜７３２＋（Ｎ／２−１）とを利用し、Ｎ／２個の第１エクストラパリティＥＣＣブロック７４１〜７４１＋（Ｎ／２−１）を生成する。
【００５２】
次にプロセス６  ７５０で、第２エクストラパリティＥＣＣブロック生成部５０４は、Ｎ／２個のエクストラパリティデータブロック７３１〜７３１＋（Ｎ／２−１）に含まれるエクストラパリティ情報をブロックインターリービングし、第２エクストラパリティデータブロック７５１を生成する。このとき、第２エクストラパリティデータブロック７５１は、パッディングデータを含むことができる。パッディングデータを含む理由は、前述の通りの理由である。第２エクストラパリティＥＣＣブロック生成部５０４は、生成された第２エクストラデータブロック７５１にパリティ情報（PARITY）を含んだ第２エクストラパリティＥＣＣブロック７６１を生成する。このとき、生成された第２エクストラパリティＥＣＣブロック７６１は、図６で言及した通り、Ｎ個のＥＣＣブロックに対するエクストラパリティＥＣＣブロックである。
【００５３】
図３及び図６でのエクストラパリティは、Ｎ対のエクストラパリティから構成され、Ｎ個のＥＣＣブロックのフォーマットがＲＳＰＣ（Reed  Solomon  Product  Code）フォーマットであるから、ＲＳＰＣフォーマットによって、エクストラＥＣＣブロック及びエクストラパリティＥＣＣブロックを生成した例である。図４及び図７は、Ｎ個のＥＣＣブロックのフォーマットがＢＤ  ＥＣＣフォーマットであるから、ＢＤ  ＥＣＣフォーマットによって、エクストラＥＣＣブロック及びエクストラパリティＥＣＣブロックを生成した例である。パッディングデータは、事前に設定された値を利用し、他の付加情報に代替されうる。他の付加情報は、エクストラＥＣＣブロック及びエクストラパリティＥＣＣブロックのフォーマットがＮ個のＥＣＣブロックのフォーマットと同じブロックフォーマットを有する条件を満足しうる任意の情報である。
【００５４】
図８は、本発明のさらに他の実施例による図１に図示されたエクストラパリティＥＣＣブロック生成ユニット１１０のブロックダイアグラムである。図８を参照するに、エクストラパリティＥＣＣブロック生成ユニット１１０は、エクストラデータブロック生成部８０１、エクストラＥＣＣブロック生成部８０２、エクストラパリティデータブロック生成部８０３、及びエクストラパリティＥＣＣブロック生成部８０４を備える。
【００５５】
エクストラデータブロック生成部８０１は、ＥＣＣブロック生成ユニット１００から提供になるＮ個のＥＣＣブロックの一部データを基に、Ｎ個のエクストラデータブロックを生成する。図９を参照しつつ、エクストラデータブロック生成部８０１の動作についてさらに詳細に説明すれば、次の通りである。
【００５６】
図９は、本発明の一実施形態による図８の実施例基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図であり、ＥＣＣブロックがＲＳＰＣフォーマットである場合である。図９のプロセス１  ９００から分かるように、Ｎ個のＥＣＣブロック（ＥＣＣブロック＃１〜ＥＣＣブロック＃Ｎ）に対して、エクストラデータブロック生成部８０１は、Ｎ個のＥＣＣブロックの一部データを基に、Ｎ個のエクストラデータブロックを生成する。一部データは、図９に図示されているように、各ＥＣＣブロックのＰＩ（Parity  Inner）及びＰＯ（Parity  Outer）のパリティを除外したブロックに含まれたデータ（ユーザデータ＃１〜＃Ｎ）、または図９には図示されてはいないが、ＰＯパリティを除外したブロックに含まれたデータでありうる。
【００５７】
すなわち、エクストラデータブロック生成部８０１は、図９のように、１８２列（colums）×２０８行によって構成されたＥＣＣブロックのＰＩ及びＰＯパリティを除外した１７２列×１９２行を一部データとし、偶数番号の行（０，２，４，…，１９０）９６行（１７２列×９６行）をエクストラデータブロックとして生成できる。または、エクストラデータブロック生成部８０１は、１８２列×２０８行によって構成されたＥＣＣブロックのＰＯパリティを除外した１８２列×１９２行を一部データとして、偶数番号の行（０，２，４，…１，１９０）９６行（１８２列×９６行）をエクストラデータブロックとして生成できる。前記エクストラデータブロックは、前記一部データのうち、奇数番の行を基に決定されたり、または一部データに含まれたデータのうち、行単位に３の倍数または４の倍数のように、Ｉ倍数を基に決定されたり、または複数の行（またはコードワード）単位で決定されうる。前記Ｉは、２以上の整数である。
【００５８】
エクストラデータブロック生成部８０１で、１７２列×９６行によって構成されたＮ個のエクストラデータブロックが生成されれば、エクストラＥＣＣブロック生成部８０２は、図９のプロセス２  ９１０のように、Ｎ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラＥＣＣブロックを生成する。すなわち、エクストラデータブロック生成部８０１は、１７２列×９６行によって構成されたエクストラデータブロックに１０バイトのＰＩ、１６バイトのＰＯを付加し、１８２列×１１２行によって構成されたエクストラＥＣＣブロックを生成する。また、エクストラデータブロック生成部８０１で、１８２列×９６行によって構成されたＮ個のエクストラデータブロックが生成されれば、エクストラＥＣＣブロック生成部８０２は、１６バイトのＰＯを付加し、１８２列×１１２行によって構成されたＮ個のエクストラＥＣＣブロックを生成できる。
【００５９】
前述のようにエクストラＥＣＣブロックを生成するとき、エクストラＥＣＣブロック生成部８０２は、生成されるエクストラＥＣＣブロックのフォーマットがＥＣＣブロックのフォーマットと同じブロックフォーマットを有するように、図９に図示されているように、エクストラデータブロックにパッディングデータ（padding  data）を付加できる。パッディングデータは、事前定義の値を有する。
【００６０】
エクストラパリティデータブロック生成部８０３は、エクストラＥＣＣブロック生成部８０２から生成されたＮ個のエクストラＥＣＣブロックに含まれたエクストラパリティ情報を基に、エクストラパリティデータブロックを生成する。図９は、Ｎ個のエクストラＥＣＣブロックに含まれたエクストラパリティＰＯ１〜ＰＯＮを、プロセス３  ９３０でインターリービングし、エクストラパリティデータブロックを生成した場合である。このとき、生成されたエクストラパリティデータブロックのフォーマットがＥＣＣブロックのユーザデータブロックと同じフォーマットを有するように、エクストラパリティデータブロック生成部８０３は、前記インターリービングによって得られたデータに、パッディングデータを付加できる。パッディングデータは、事前定義の値を有する。
【００６１】
前記インターリービングは、データデコーディングパフォーマンスに影響を及ぼすので、Ｎ個のエクストラＥＣＣブロックのエクストラパリティ情報が等しく分散されるように行われる。すなわち、前記インターリービングは、エクストラパリティ情報に対して一定長を有するデータＭ個当たり１つのデータを抽出するように行われ、Ｍは、２より大きいか、あるいはそれと同じ整数である。前記一定長は、同期信号を付与する単位に該当するＥＣＣブロック内のデータ数×Ｋであり、前記Ｋは、１より大きいか、あるいはそれと同じ整数である。すなわち、ｒ列×ｓバイトによって構成されたエクストラパリティ情報で、ｓバイトをｐ列で割り、（ｒ×ｐ）列×ｓ／ｐバイトによって構成された単位によってインターリービングが行われる。例えば、ｒ＝１８２であり、ｓ＝１６であるＤＶＤの場合に、ｐは２と設定され、ｒ＝３８４であり、ｓ＝３２であるＢＤ（Blu-ray  Disc）の場合に、ｐ＝２と設定されうる。
【００６２】
そして、前記インターリービングによって、（ｒ×ｐ）列×ｓ／ｐバイトによって構成されたエクストラパリティＮ対から（ｒ×ｐ／ｋ）列×１バイトを交互に抽出する一定長を有する単位を基にしたインターリービングをさらに行うことができる。
【００６３】
すなわち、エクストラパリティデータブロック生成部８０３は、Ｎ個のエクストラＥＣＣブロックに含まれたエクストラパリティ情報に対して、少なくとも１行単位、または複数の行単位、または１８２列×１６バイトを９１列×１６バイトにように分けてインターリービングを行い、図９のプロセス４  ９３０に図示されているように、Ｎ×１６×１８２バイトのエクストラパリティデータブロックを生成する。
【００６４】
エクストラパリティデータブロック生成部８０３でエクストラパリティデータブロックが生成されれば、エクストラパリティＥＣＣブロック生成部８０４は、図９のプロセス４  ９３０に図示されているように、エクストラパリティデータブロックにパリティ情報ＰＯ，ＰＩを付加し、Ｎ個のＥＣＣブロックに対する少なくとも１つのエクストラパリティＥＣＣブロックを生成する。
【００６５】
また、図８に図示されたエクストラパリティＥＣＣブロック生成ユニット１１０は、図１０に図示されているように、Ｎ個のＥＣＣブロックに対する少なくとも１つのエクストラパリティＥＣＣブロックを生成するように動作できる。図１０は、本発明の他の実施例によって、図８基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図であり、ＥＣＣブロックがＢＤ  ＥＣＣブロックフォーマットを有する場合である。
【００６６】
すなわち、図８のエクストラデータブロック生成部８０１は、図１０のプロセス１  １０１０のように、Ｎ個のＥＣＣブロックの全体データを基に、Ｎ個のエクストラデータブロックを生成する。エクストラデータブロック生成部８０１は、３０４列×２４８行によって構成されたＥＣＣブロックを基に、偶数番号の行（０，２，４，…，２４６）１２４行で構成された３０４列×１２４行をエクストラデータブロックとして生成する。
【００６７】
プロセス２  １０２０でエクストラＥＣＣブロック生成部８０２は、エクストラデータブロックにエクストラパリティを付加し、Ｎ個のエクストラＥＣＣブロックを生成する。すなわち、エクストラＥＣＣブロック生成部８０２は、３０４列×１２４行によって構成されたエクストラデータブロックに３２バイトのパリティを付加し、３０４列×１５６行によって構成されたエクストラＥＣＣブロックをＮ個生成する。
【００６８】
エクストラパリティデータブロック生成部８０３は、前記生成されたＮ個のエクストラＥＣＣブロックに含まれたエクストラパリティ情報を基に、エクストラパリティデータブロックを生成する。すなわち、エクストラパリティデータブロック生成部８０３は、図１０のプロセス３  １０３０で、Ｎ個のエクストラＥＣＣブロックに含まれたエクストラパリティ情報をインターリービングし、前記エクストラパリティデータブロックを生成する。前記インターリービングは、前述の図９を参照にして説明したところと同じ方式で行える。
【００６９】
図１０のプロセス４  １０４０でエクストラパリティＥＣＣブロック生成部８０４は、エクストラパリティデータブロックにパリティ情報（PARITY）を付加し、エクストラパリティＥＣＣブロックを生成する。このとき、生成されるエクストラパリティＥＣＣブロックのフォーマットは、ＥＣＣブロックのフォーマットと同じフォーマットを有するように、図１０に図示されているように、パッディングデータが付加されうる。
【００７０】
図１１は、本発明の一実施例によるデータエンコーディング方法のフローチャートである。図１１を参照するに、前記方法は、まず、ユーザデータに対してＮ個のＥＣＣブロックを生成する（１１０１）。Ｎ個のＥＣＣブロックを生成する方法は、図１で説明した通りである。Ｎ個のＥＣＣブロックに対する少なくとも１つのエクストラパリティＥＣＣブロックを生成する（１１０２）。図１２を参照しつつ、エクストラパリティＥＣＣブロック生成方法について説明すれば、次の通りである。
【００７１】
図１２は、図１１に図示されたエクストラパリティＥＣＣブロック生成段階（１１０２）の詳細フローチャートである。図１２を参照するに、生成されたＮ個のＥＣＣブロックのうち、隣接したＥＣＣブロックのユーザデータブロックをブロックインターリービングし、Ｎ個のエクストラデータブロックを生成する（１２０１）。隣接したＥＣＣブロックは、図３、図４、図６、及び図７に図示されているように、最も隣接したＥＣＣブロックである。ブロックインターリービングは、少なくとも１行単位で行われうる。
【００７２】
前記方法は、エクストラパリティ情報と生成されたＮ個のエクストラデータブロックとを基に、Ｎ個のエクストラＥＣＣブロックを生成する（１２０２）。前記エクストラパリティ情報は、Ｎ対のエクストラパリティ情報によって構成されうる。
【００７３】
生成されたＮ個のエクストラＥＣＣブロックに含まれた前記エクストラパリティ情報を基に、前記少なくとも１つのエクストラパリティＥＣＣブロックを生成する（１２０３）。Ｎ個のエクストラＥＣＣブロック、エクストラパリティＥＣＣブロックは、前記ＥＣＣブロックと同じブロックフォーマットを有する。
【００７４】
一方、図１２の動作フローチャートは、図９及び図１０に図示されているような方式で、Ｎ個のＥＣＣブロックに対する少なくとも１つのエクストラパリティＥＣＣブロックを生成できる。すなわち、第１２０１段階で、Ｎ個のＥＣＣブロックの一部または全体データを基に、図８で説明したように、Ｎ個のエクストラデータブロックを生成する。第１２０２段階で、Ｎ個のエクストラデータブロックにエクストラパリティ情報をそれぞれ付加し、Ｎ個のエクストラＥＣＣブロックを生成する。第１２０３段階で、Ｎ個のエクストラＥＣＣブロックに含まれたエクストラパリティ情報をインターリービングし、エクストラパリティデータブロックを生成し、生成されたエクストラパリティデータブロックにパリティ情報を付加し、少なくとも１つのエクストラパリティＥＣＣブロックを生成する。
【００７５】
図１３は、本発明の他の実施例によって、図１１に図示されたエクストラパリティＥＣＣブロック生成段階の詳細動作フローチャートの他の例である。図１３を参照するに、生成されたＮ個のＥＣＣブロックのうち、隣接したＥＣＣブロック間のユーザデータブロックをブロックインターリービングし、Ｎ個のエクストラデータブロックを生成する（１３０１）。エクストラパリティ情報と生成されたＮ個のエクストラデータブロックとを基に、Ｎ個のエクストラＥＣＣブロックを生成する（１３０２）。
【００７６】
生成されたＮ個のエクストラＥＣＣブロックに含まれたエクストラパリティ情報を基に、少なくともＮ／２個の第１エクストラパリティＥＣＣブロックを生成する（１３０３）。
【００７７】
Ｎ／２個の第１エクストラパリティＥＣＣブロックに含まれたエクストラパリティ情報をブロックインターリービングし、少なくとも１つの第２エクストラパリティＥＣＣブロックを生成する（１３０４）。
【００７８】
生成された第２エクストラパリティＥＣＣブロックを少なくとも１つのエクストラパリティＥＣＣブロックとして生成する（１３０５）。
【００７９】
図１４は、本発明の他の実施例による記録媒体駆動システムの機能ブロック図である。図１４を参照するに、前記記録媒体駆動システムは、図１に図示されているように構成されたデータエンコーディングユニット１４０１、及び記録媒体１４０２を備える。
【００８０】
データエンコーディングユニット１４０１は、ユーザデータに対してＮ個のＥＣＣブロックを生成し、Ｎ個のＥＣＣブロックに対する少なくとも１つのエクストラパリティＥＣＣブロックを生成する。
【００８１】
記録媒体１４０２は、データエンコーディングユニット１４０１から生成されたＮ個のＥＣＣブロックとエクストラパリティＥＣＣブロックとを保存する。記録媒体１４０２は、例えば、ハードディスク、ＤＶＤ（Digital  Versatile  Disc）、ＨＤ−ＤＶＤ（High  Definition−ＤＶＤ）、ブルーレイ（Blu-ray）ディスクのような記録媒体から構成される。他類型の記録媒体が使われることもある。
【００８２】
もし図１４の記録媒体駆動システムがホスト（図示せず）と連結されたディスクドライブであるならば、記録媒体駆動システムは、ホスト（図示せず）からのデータ記録要求によって駆動され、記録媒体１４０２にＮ個のＥＣＣブロックとエクストラパリティＥＣＣブロックとを記録できる。このとき、記録媒体駆動システムは、自主的にエクストラパリティＥＣＣブロックを生成することができるが、ホスト（図示せず）と連動し、ホスト（図示せず）によってエクストラパリティＥＣＣブロックを生成し、これを受信して記録媒体１４０２に記録させるように変更できる。
【００８３】
図１５は、本発明の一実施例によるデータデコーディング装置の機能ブロック図である。図１５を参照するに、データデコーディング装置は、エクストラＥＣＣブロック生成ユニット１５０１、エラー訂正ユニット１５０２、及びアップデートユニット１５０３を備える。
【００８４】
エクストラＥＣＣブロック生成ユニット１５０１は、エクストラパリティＥＣＣブロックでエクストラパリティデータブロックを検出する。検出方式は、前述のエクストラパリティデータブロックにパリティ情報を付加するときに保存された情報を利用する。例えば、エクストラパリティデータブロックにパリティ情報を付加するとき、利用された位置情報が検出のために使われうる。
【００８５】
エクストラＥＣＣブロック生成ユニット１５０１は、検出されたエクストラパリティデータブロックとＮ個のＥＣＣブロックそれぞれのユーザデータブロックとを基に、Ｎ個のエクストラＥＣＣブロックを生成する。Ｎ個のエクストラＥＣＣブロック生成は、図３、図４、図６、図７、図９、及び図１０に図示されているような方式の逆に行われる。特に、図９及び１０のような場合に、検出されたエクストラパリティデータブロックをデインターリービングし、Ｎ個のエクストラＥＣＣブロックを構成するエクストラパリティ情報を検出できる。
【００８６】
エラー訂正ユニット１５０２は、Ｎ個のエクストラＥＣＣブロックをエラー訂正する。
【００８７】
アップデートユニット１５０３は、エラー訂正されたＮ個のエクストラＥＣＣブロックに含まれているエクストラデータブロックを基に、エラー訂正が失敗したＥＣＣブロックに含まれるユーザデータブロックをアップデートする。
【００８８】
図１６は、図１５に図示されたエクストラＥＣＣブロック生成ユニット１５０１の詳細機能ブロック図の一例である。図１６を参照するに、エクストラＥＣＣブロック生成ユニット１５０１は、エクストラデータブロック生成部１６０１及びエクストラＥＣＣブロック生成部１６０２を備える。
【００８９】
エクストラデータブロック生成部１６０１は、Ｎ個のＥＣＣブロックのユーザデータブロックを基に、隣接したＥＣＣブロック間のユーザデータブロックをブロックインターリービングし、Ｎ個のエクストラデータブロックを生成する。しかし、エクストラデータブロック生成部１６０１は、Ｎ個のＥＣＣブロックの一部データまたは全体データを基に、Ｎ個のエクストラデータブロックを生成するように具現できる。
【００９０】
エクストラＥＣＣブロック生成部１６０２は、Ｎ個のエクストラデータブロックにエクストラパリティ情報を付加し、前記Ｎ個のエクストラＥＣＣブロックを生成する。
【００９１】
図１７は、本発明の他の実施例によるデータデコーディング装置の機能ブロック図である。図１７を参照するに、データデコーディング装置は、エクストラパリティデータブロック検出ユニット１７０１、エクストラＥＣＣブロック生成ユニット１７０２、エラー訂正ユニット１７０３及びアップデートユニット１７０４を備える。
【００９２】
エクストラパリティデータブロック検出ユニット１７０１は、入力されたエクストラパリティＥＣＣブロックからエクストラパリティデータブロックを検出する。検出方式は、図１５のエクストラＥＣＣブロック生成ユニット１５０１で説明した通りである。
【００９３】
エクストラＥＣＣブロック生成ユニット１７０２も、１５で説明した通りに検出されたエクストラパリティデートブロックと、Ｎ個のＥＣＣブロックのユーザデータ、または一部データまたは全体データとを基に、Ｎ個のエクストラＥＣＣブロックを生成する。
【００９４】
エラー訂正ユニット１７０３及びアップデートユニット１７０４は、図１５のエラー訂正ユニット１５０２及びアップデートユニット１５０３と同一の構成及び動作である。
【００９５】
図１５及び図１７に図示されたデータデコーディング装置が記録媒体駆動システムに適用される場合に、エクストラパリティＥＣＣブロックとＮ個のＥＣＣブロックは、記録媒体から読み込んだ情報であり、アップデートされたＥＣＣブロックは、再生されるデータである。図１５及び図１７に図示されたデータデコーディング装置がネットワークまたは有無線通信に適用される場合にも、エクストラパリティＥＣＣブロックとＮ個のＥＣＣブロックは、受信機側から伝送されるデータであり、アップデートされたＥＣＣブロックは、再生されるデータである。
【００９６】
図１８は、本発明の一実施例によるデータデコーディング方法のフローチャートである。図１８を参照するに、前記方法は、まずエクストラパリティＥＣＣブロックからエクストラパリティデータブロックを検出する（１８０１）。
【００９７】
Ｎ個のＥＣＣブロックそれぞれのユーザデータブロックと前記エクストラパリティデータブロックとを基に、Ｎ個のエクストラＥＣＣブロックを生成する（１８０２）。このとき、図９または図１０のようにエクストラパリティデータブロックが生成された場合に、検出されたエクストラパリティデータブロックは、デインターリービングされてＮ個のエクストラＥＣＣブロックにエクストラパリティ情報として付加される。
【００９８】
その次に、Ｎ個のエクストラＥＣＣブロックをエラー訂正する（１８０３）。前記エラー訂正されたＮ個のエクストラＥＣＣブロックに含まれているエクストラデータブロックを基に、エラー訂正が失敗したＥＣＣブロックのユーザデータブロックをアップデートする（１８０４）。
【００９９】
ユーザデータブロックがアップデートされたＥＣＣブロックをさらにエラー訂正する（１８０５）。
【０１００】
図１９は、図１８に図示されたエクストラＥＣＣブロック生成段階の詳細フローチャートである。図１９を参照するに、まず、Ｎ個のＥＣＣブロックのうち、隣接したＥＣＣブロック間のユーザデータブロックをブロックインターリービングし、Ｎ個のエクストラデータブロックを生成する（１９０１）。Ｎ個のエクストラデータブロックと前記エクストラパリティデータブロックとを基に、前記Ｎ個のエクストラＥＣＣブロックを生成する（１９０２）。
【０１０１】
図２０は、本発明の他の実施例による記録媒体駆動システムの機能ブロック図である。図２０を参照するに、記録媒体駆動システムは、記録媒体２００１、ＥＣＣブロック復元ユニット２００２及びＥＣＣブロックエラー訂正ユニット２００３を備える。
【０１０２】
記録媒体２００１は、少なくともＮ個のＥＣＣブロックと、Ｎ個のＥＣＣブロックに対応する少なくとも１つのエクストラパリティＥＣＣブロックとを保存する。記録媒体２００１は、図１４の記録媒体１４０２と同じ記録媒体でありうる。
【０１０３】
ＥＣＣブロック復元ユニット２００２は、記録媒体２００１から読み取られたＮ個のＥＣＣブロックと、それに対応する少なくとも１つのエクストラパリティＥＣＣブロックとを基に、エラー訂正が失敗したＥＣＣブロックを復元する。ＥＣＣブロックの復元は、前述のデータデコーディング方法で、エクストラパリティＥＣＣブロックからエクストラパリティデータブロックを検出する過程から、ＥＣＣブロックのユーザデータブロックがアップデートされる過程までと同一に行われる。従って、ＥＣＣブロック復元ユニット２００２は、図１５または図１７のように構成されうる。
【０１０４】
エラー訂正が失敗したＥＣＣブロック復元時に、記録媒体２００１で、該当するＥＣＣブロックと該当するエクストラパリティデータブロックを含んだエクストラパリティＥＣＣブロックとの位置についての情報は、記録時に使われた情報を使用する。すなわち、図１４でのような記録媒体駆動システムで、ＥＣＣブロックとエクストラパリティＥＣＣブロックとを記録媒体１４０２に記録するとき、ＰＳＮ何番地からＰＳＮ何番地まで記録されたＥＣＣブロックに対するエクストラパリティＥＣＣブロックは、ＰＳＮ何番地からＰＳＮ何番地まで記録される。従って、ＥＣＣブロックの復元時に、記録媒体２００１からエラー訂正が失敗したＥＣＣに相応するエクストラパリティＥＣＣブロックを読むことができる。
【０１０５】
ＥＣＣブロックエラー訂正ユニット２００３は、記録媒体２００１から読み取られたＥＣＣブロックとＥＣＣブロック復元ユニット２００２から伝送されるＥＣＣブロックとのうち、１つのＥＣＣブロックをエラー訂正する。すなわち、ＥＣＣブロックエラー訂正ユニット２００３は、記録媒体２００１から伝送されるＥＣＣブロックを訂正してエラーが訂正されたデータを出力する。このとき、ＥＣＣブロックのエラー訂正が失敗すれば、ＥＣＣブロックエラー訂正ユニット２００３は、ＥＣＣブロック復元ユニット２００２に該当するＥＣＣブロックに対する復元を要求する。これにより、ＥＣＣブロック復元ユニット２００２は駆動し、該当するＥＣＣブロック、それに隣接したＥＣＣブロック及びエクストラパリティＥＣＣブロックを利用し、該当するＥＣＣブロックのユーザデータブロックをアップデートし、エラー訂正が失敗したＥＣＣブロックを復元する。
【０１０６】
図２０に図示されたＥＣＣブロック復元ユニット２００２とＥＣＣブロックエラー訂正ユニット２００３は、データデコーディングユニット２００４として定義されうる。データデコーディングユニット２００４は、本発明によるデータデコーディング装置を含む。
【０１０７】
以上、本発明についてその望ましい実施形態を中心に説明した。本発明が属する技術分野で当業者は、本発明が本発明の本質的な特性から外れない範囲で変形された形態に具現可能であるということを理解できるであろう。従って、開示された実施形態は、限定的な観点ではなくして説明的な観点から考慮されねばならない。本発明の範囲は、前述の説明ではなくして特許請求の範囲に示されており、それと同等な範囲内にあるあらゆる差異点は、本発明に含まれるものと解釈されるのである。
【図面の簡単な説明】
【０１０８】
【図１】本発明の一実施形態によるデータエンコーディング装置の概略的な機能ブロック図である。
【図２】本発明の一実施形態による図１に図示されたエクストラパリティＥＣＣブロック生成ユニットのブロックダイアグラムである。
【図３】本発明の一実施形態による図２基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図である。
【図４】本発明の一実施形態による図２基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図である。
【図５】本発明の一実施形態による図１に図示されたエクストラパリティＥＣＣブロック生成ユニットのブロックダイアグラムである。
【図６】本発明の一実施形態による図５基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図である。
【図７】本発明の他の実施例による図５基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図である。
【図８】本発明の他の実施例による図１に図示されたエクストラパリティＥＣＣブロック生成ユニットのブロックダイアグラムである。
【図９】本発明の一実施形態による図８基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図である。
【図１０】本発明の他の実施例による図８基盤のエクストラパリティＥＣＣブロック生成プロセスについて説明する図である。
【図１１】本発明の他の実施例によるデータエンコーディング方法のフローチャートである。
【図１２】本発明の一実施形態による図１１に図示されたエクストラパリティＥＣＣブロックを生成する動作の詳細フローチャートである。
【図１３】本発明の他の実施例による図１１に図示されたエクストラパリティＥＣＣブロックを生成する動作の詳細動作フローチャートの他例である。
【図１４】本発明の一実施例による記録媒体駆動システムの機能ブロック図である。
【図１５】本発明の一実施例によるデータデコーディング装置の機能ブロック図である。
【図１６】図１５に図示されたエクストラＥＣＣブロック生成ユニットの詳細機能ブロック図の一例である。
【図１７】本発明の他の実施例によるデータデコーディング装置の機能ブロック図である。
【図１８】本発明の一実施例によるデータデコーディング方法のフローチャートである。
【図１９】図１８に図示されたエクストラＥＣＣブロック生成段階の詳細フローチャートである。
【図２０】本発明の他の実施例による記録媒体駆動システムの機能ブロック図である。
【図１】
2009532818.tif 000003
【図２】
2009532818.tif 000004
【図３】
2009532818.tif 000005
【図４】
2009532818.tif 000006
【図５】
2009532818.tif 000007
【図６】
2009532818.tif 000008
【図７】
2009532818.tif 000009
【図８】
2009532818.tif 000010
【図９】
2009532818.tif 000011
【図１０】
2009532818.tif 000012
【図１１】
2009532818.tif 000013
【図１２】
2009532818.tif 000014
【図１３】
2009532818.tif 000015
【図１４】
2009532818.tif 000016
【図１５】
2009532818.tif 000017
【図１６】
2009532818.tif 000018
【図１７】
2009532818.tif 000019
【図１８】
2009532818.tif 000020
【図１９】
2009532818.tif 000021
【図２０】
2009532818.tif 000022
2009532818.tif 000023
2009532818.tif 000024
2009532818.tif 000025
2009532818.tif 000026
2009532818.tif 000027
2009532818.tif 000028
2009532818.tif 000029
2009532818.tif 000030
2009532818.tif 000031
2009532818.tif 000032
2009532818.tif 000033
2009532818.tif 000034
2009532818.tif 000035
2009532818.tif 000036
2009532818.tif 000037
2009532818.tif 000038
2009532818.tif 000039
2009532818.tif 000040
【国際調査報告】
2009532818.tif 000041
2009532818.tif 000042