(57)【要約】【課題】パリティの生成を高速化する。【解決手段】符号化装置であって、複数のフラグ及び初期アドレスを格納する情報保持部と、複数の第１のパリティを、前記初期アドレス及び前記複数のフラグから生成するデータ生成部と、ブロックに含まれるデータ単位の列と入力されたユーザー制御データとから、第２のパリティを前記ブロックに含まれるデータ単位の列毎に生成して出力するパリティ生成部とを有する。前記データ生成部は、前記ブロックに含まれるデータ単位の列の生成に必要な前記アドレス及び前記第１のパリティを前記初期アドレス及び前記複数のフラグに基づいて生成し、前記複数のフラグ、並びに生成された前記アドレス及び前記第１のパリティから必要な部分を選択して、前記ブロックに含まれるデータ単位の列として前記パリティ生成部に出力する。【選択図】図１
2010211862.tif 000002
【特許請求の範囲】
【請求項１】
複数のアドレス、前記複数のアドレスにそれぞれ対応する複数のフラグ、及び前記複数のアドレスにそれぞれ対応する複数の第１のパリティを含み、前記複数のアドレス、前記複数のフラグ、及び前記複数の第１のパリティが所定の規則に従ってインタリーブされたブロックと、前記ブロックに含まれるデータ単位の各列にそれぞれ対応する複数の第２のパリティとを生成する符号化装置であって、
前記複数のフラグ及び初期アドレスを格納する情報保持部と、
前記複数の第１のパリティを、前記初期アドレス及び前記複数のフラグから生成するデータ生成部と、
前記ブロックに含まれるデータ単位の列と入力されたユーザー制御データとから、前記第２のパリティを前記ブロックに含まれるデータ単位の列毎に生成して出力するパリティ生成部とを備え、
前記データ生成部は、前記ブロックに含まれるデータ単位の列の生成に必要な前記アドレス及び前記第１のパリティを前記初期アドレス及び前記複数のフラグに基づいて生成し、前記複数のフラグ、並びに生成された前記アドレス及び前記第１のパリティから必要な部分を選択して、前記ブロックに含まれるデータ単位の列として前記パリティ生成部に出力する
符号化装置。
【請求項２】
請求項１に記載の符号化装置において、
前記情報保持部は、前記複数のアドレスのうちの１つを前記初期アドレスとして格納する
符号化装置。
【請求項３】
請求項２に記載の符号化装置において、
前記初期アドレスは、前記複数のアドレスのうちの先頭アドレスである
符号化装置。
【請求項４】
請求項１に記載の符号化装置において、
前記複数のアドレスは、等間隔である
符号化装置。
【請求項５】
請求項４に記載の符号化装置において、
前記複数のアドレスはいずれも、最下位ビットがゼロであり、かつ、所定の数の上位ビットの値が同じである
符号化装置。
【請求項６】
請求項１に記載の符号化装置において、
前記データ生成部は、
カウンタと、
前記カウンタのカウント値に従って前記アドレスを生成するアドレス生成器と、
前記アドレス生成器で生成された前記アドレス、及び前記フラグに基づいて前記第１のパリティを生成するパリティ演算部と、
前記複数のフラグ、並びに生成された前記アドレス及び前記第１のパリティから必要な部分を選択して出力する選択部とを有する
符号化装置。
【請求項７】
請求項６に記載の符号化装置において、
前記パリティ演算部は、組合せ回路によって構成されている
符号化装置。
【請求項８】
請求項１に記載の符号化装置において、
前記パリティ生成部は、前記データ生成部で求められた前記アドレス及び前記第１のパリティを所定の式で除算し、剰余を求める剰余演算器を有する
符号化装置。
【請求項９】
請求項１に記載の符号化装置において、
前記第１のパリティを格納する記憶部を更に備える
符号化装置。
【請求項１０】
請求項１に記載の符号化装置において、
前記ユーザー制御データを格納する記憶部を更に備え、
前記パリティ生成部は、前記記憶部から読み出された前記ユーザー制御データを用いて前記第２のパリティを生成する
符号化装置。
【請求項１１】
請求項１に記載の符号化装置において、
入力されたユーザーデータを格納する記憶部を更に備え、
前記パリティ生成部は、前記記憶部から読み出された前記ユーザーデータを用いてＬＤＣ（Long Distance Code）パリティを生成し、前記記憶部に書き込む
符号化装置。
【請求項１２】
請求項１１に記載の符号化装置において、
前記記憶部から読み出された前記ユーザーデータを、前記情報保持部から出力された前記初期アドレスに従ってスクランブルするスクランブラを更に備え、
前記パリティ生成部は、前記スクランブラでスクランブルされた前記ユーザーデータを用いてＬＤＣパリティを生成する
符号化装置。
【請求項１３】
請求項１２に記載の符号化装置において、
前記記憶部に格納された前記ユーザーデータには、誤り検出符号が付加されている
符号化装置。
【請求項１４】
請求項１２に記載の符号化装置において、
前記記憶部から読み出された前記ユーザーデータ基づいて誤り検出符号を求める誤り検出符号生成器を更に備え、
前記スクランブラは、前記ユーザーデータの一部を前記誤り検出符号と入れ換える
符号化装置。
【請求項１５】
請求項１４に記載の符号化装置において、
前記誤り検出符号生成器は、前記求められた誤り検出符号を、前記記憶部に格納された前記ユーザーデータの一部に上書きする
符号化装置。
【請求項１６】
請求項１１に記載の符号化装置において、
前記記憶部は、ＳＤＲＡＭ（Synchronous Dynamic Random-Access Memory）である
符号化装置。
【請求項１７】
請求項１に記載の符号化装置において、
前記第１のパリティは、リードソロモン符号である
符号化装置。
【請求項１８】
請求項１に記載の符号化装置において、
前記所定の規則は、ブルーレイディスク規格に準拠している
符号化装置。
【請求項１９】
ユーザー制御データ及びユーザーデータを光ディスクに記録する光ディスク記録装置であって、
複数のアドレス、前記複数のアドレスにそれぞれ対応する複数のフラグ、及び前記複数のアドレスにそれぞれ対応する複数の第１のパリティを含み、前記複数のアドレス、前記複数のフラグ、及び前記複数の第１のパリティが所定の規則に従ってインタリーブされたブロックと、前記ブロックに含まれるデータ単位の各列にそれぞれ対応する複数の第２のパリティとを生成する符号化装置と、
前記ブロック、前記複数の第２のパリティ、前記ユーザー制御データ、前記ユーザーデータ、及び前記ユーザーデータに基づいて求められたＬＤＣパリティをインタリーブするインターリーバと、
前記インタリーブされたデータに従って変調信号を生成する変調装置と、
前記変調信号を前記光ディスクに記録する光ピックアップとを備え、
前記符号化装置は、
前記複数のフラグ及び初期アドレスを格納する情報保持部と、
前記複数の第１のパリティを、前記初期アドレス及び前記複数のフラグから生成するデータ生成部と、
前記ブロックに含まれるデータ単位の列と前記ユーザー制御データとから、前記第２のパリティを前記ブロックに含まれるデータ単位の列毎に生成して出力するパリティ生成部とを有し、
前記データ生成部は、前記ブロックに含まれるデータ単位の列の生成に必要な前記アドレス及び前記第１のパリティを前記初期アドレス及び前記複数のフラグに基づいて生成し、前記複数のフラグ、並びに生成された前記アドレス及び前記第１のパリティから必要な部分を選択して、前記ブロックに含まれるデータ単位の列として前記パリティ生成部に出力する
光ディスク記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスク等にデータを記録するために用いられる符号化装置及び光ディスク記録装置に関する。
【背景技術】
【０００２】
近年、ＨＤ（High Definition）映像の放送や、大型テレビが飛躍的に増加している。映像の品質や解像度が高くなるのに伴い、映像の記録媒体である光ディスクも大容量化されている。大容量ディスクとして、ブルーレイディスク（Blu-ray Disc、以下ではＢＤと称する）が知られている。ＢＤのフォーマット規格には、高密度に記録されたデータに対する誤り訂正能力を確保するため、ユーザーデータから求められるロングディスタンスコード（Long Distance Code、以下ではＬＤＣと称する）と、ユーザー制御データ、アドレス及びフラグから求められるバーストインジケータ（Burst Indicator Subcode、以下ではＢＩＳと称する）とが規定されている。
【０００３】
アドレス及びフラグからＡＵＮ（Address Unit Number）パリティが生成され、これらのアドレス、フラグ及びＡＵＮパリティはインタリーブされる。このインタリーブ後のデータからＢＩＳパリティが生成され、ＬＤＣとともにＢＩＳパリティが光ディスクに記録される。関連する技術が特許文献１に開示されている。
【特許文献１】特表２００７−５２９８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＢＩＳパリティがインタリーブ後のデータから生成されるので、１ブロックのＡＵＮパリティを全て生成しておく必要がある。例えば、記憶装置に格納しておいたアドレス等を読み出してＡＵＮパリティを生成し、これを記憶装置に書き込み、ＡＵＮパリティを記憶装置から読み出してインタリーブを行い、その結果を再び記憶装置に書き込む。更に、インタリーブ後のＡＵＮパリティ等を読み出してＢＩＳパリティを生成し、これを記憶装置に書き込む。
【０００５】
これによりＢＩＳパリティが生成されるが、ＡＵＮパリティの生成後でなければインタリーブを行うことができず、インタリーブ後でなければＢＩＳパリティを生成することができないので、ＢＩＳパリティの生成に要する時間が長くなる。また、記憶装置へのアクセスが多く、記憶装置の伝送帯域の多くが占有される。更に、処理の過程で生成されるＡＵＮパリティ等を格納する必要があるので、記憶装置に大きな容量が必要である。
【０００６】
本発明は、パリティの生成を高速化することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の実施形態による符号化装置は、複数のアドレス、前記複数のアドレスにそれぞれ対応する複数のフラグ、及び前記複数のアドレスにそれぞれ対応する複数の第１のパリティを含み、前記複数のアドレス、前記複数のフラグ、及び前記複数の第１のパリティが所定の規則に従ってインタリーブされたブロックと、前記ブロックに含まれるデータ単位の各列にそれぞれ対応する複数の第２のパリティとを生成する符号化装置であって、前記複数のフラグ及び初期アドレスを格納する情報保持部と、前記複数の第１のパリティを、前記初期アドレス及び前記複数のフラグから生成するデータ生成部と、前記ブロックに含まれるデータ単位の列と入力されたユーザー制御データとから、前記第２のパリティを前記ブロックに含まれるデータ単位の列毎に生成して出力するパリティ生成部とを有する。前記データ生成部は、前記ブロックに含まれるデータ単位の列の生成に必要な前記アドレス及び前記第１のパリティを前記初期アドレス及び前記複数のフラグに基づいて生成し、前記複数のフラグ、並びに生成された前記アドレス及び前記第１のパリティから必要な部分を選択して、前記ブロックに含まれるデータ単位の列として前記パリティ生成部に出力する。
【０００８】
これによると、データ生成部が、インタリーブ後のブロックに含まれるデータ単位の列の生成に必要なアドレス及び第１のパリティを初期アドレス及び複数のフラグに基づいて生成するので、インタリーブ前のブロックに含まれるデータを全て生成することなく、インタリーブ後のブロックに含まれるデータ単位の列に対応する第２のパリティを生成することができる。このため、第２のパリティの生成を高速化することができる。
【０００９】
本発明の実施形態による光ディスク記録装置は、ユーザー制御データ及びユーザーデータを光ディスクに記録する光ディスク記録装置であって、複数のアドレス、前記複数のアドレスにそれぞれ対応する複数のフラグ、及び前記複数のアドレスにそれぞれ対応する複数の第１のパリティを含み、前記複数のアドレス、前記複数のフラグ、及び前記複数の第１のパリティが所定の規則に従ってインタリーブされたブロックと、前記ブロックに含まれるデータ単位の各列にそれぞれ対応する複数の第２のパリティとを生成する符号化装置と、前記ブロック、前記複数の第２のパリティ、前記ユーザー制御データ、前記ユーザーデータ、及び前記ユーザーデータに基づいて求められたＬＤＣパリティをインタリーブするインターリーバと、前記インタリーブされたデータに従って変調信号を生成する変調装置と、前記変調信号を前記光ディスクに記録する光ピックアップとを有する。前記符号化装置は、前記複数のフラグ及び初期アドレスを格納する情報保持部と、前記複数の第１のパリティを、前記初期アドレス及び前記複数のフラグから生成するデータ生成部と、前記ブロックに含まれるデータ単位の列と前記ユーザー制御データとから、前記第２のパリティを前記ブロックに含まれるデータ単位の列毎に生成して出力するパリティ生成部とを有する。前記データ生成部は、前記ブロックに含まれるデータ単位の列の生成に必要な前記アドレス及び前記第１のパリティを前記初期アドレス及び前記複数のフラグに基づいて生成し、前記複数のフラグ、並びに生成された前記アドレス及び前記第１のパリティから必要な部分を選択して、前記ブロックに含まれるデータ単位の列として前記パリティ生成部に出力する。
【発明の効果】
【００１０】
本発明の実施形態によれば、インタリーブ前のブロックに含まれるデータを全て生成する必要がないので、パリティの生成を高速化することができる。記憶装置へのアクセスが減るので、記憶装置に必要な伝送帯域や容量を抑えることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しながら説明する。図面において同じ参照番号で示された構成要素は、同一の又は類似の構成要素である。
【００１２】
本明細書における各機能ブロックは、典型的にはハードウェアで実現され得る。例えば各機能ブロックは、ＩＣ（集積回路）の一部として半導体基板上に形成され得る。ここでＩＣは、ＬＳＩ（Large-Scale Integrated circuit）、ＡＳＩＣ（Application-Specific Integrated Circuit）、ゲートアレイ、ＦＰＧＡ（Field Programmable Gate Array）等を含む。代替としては各機能ブロックの一部又は全ては、ソフトウェアで実現され得る。例えばそのような機能ブロックは、プロセッサ上で実行されるプログラムによって実現され得る。換言すれば、本明細書で説明される各機能ブロックは、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよいし、ハードウェアとソフトウェアとの任意の組合せで実現され得る。
【００１３】
図１は、本発明の実施形態に係る光ディスク記録装置の構成例を示すブロック図である。図１の光ディスク記録装置は、符号化装置１００と、ホスト転送装置１０４と、インタリーバ１１２と、変調装置１１４と、光ピックアップ１１６とを有している。符号化装置１００は、記憶部１２０と、情報保持部１３２と、誤り検出符号生成器（ＥＤＣ生成器）１３４と、データスクランブラ１３６と、ＡＵＮデータ生成部１４０と、パリティ生成部１６０とを有している。
【００１４】
ホスト転送装置１０４は、ホスト装置１０２（例えばパーソナルコンピュータ）から出力されたユーザー制御データ及びユーザーデータを、ＡＴＡＰＩ（AT Attachment Packet Interface）、ＳＡＴＡ（Serial Advanced Technology Attachment）等の規格に適合したインタフェースを介して受け取り、受け取ったデータを記憶部１２０に転送する。ユーザー制御データには、著作権情報等が含まれている。記憶部１２０は、例えばＳＤＲＡＭ（Synchronous Dynamic Random-Access Memory）であって、ＡＵＮデータ保持エリア、ユーザー制御データ保持エリア、ＢＩＳパリティ保持エリア、ユーザーデータ保持エリア、及びＬＤＣパリティ保持エリアを有している。記憶部１２０は、ユーザー制御データをユーザー制御データ保持エリアに、ユーザーデータをユーザーデータ保持エリアに格納する。符号化装置１００は、ＡＵＮデータ（アドレス情報）を生成し、更にユーザー制御データに基づいてＢＩＳパリティを、ユーザーデータに基づいてＬＤＣパリティを生成し、記憶部１２０に出力する。
【００１５】
インタリーバ１１２は、ＢＩＳデータ（すなわち、ＡＵＮデータ及びユーザー制御データ）、ＢＩＳパリティ、ユーザーデータ、及びＬＤＣパリティを、記憶部１２０から読み出してインタリーブすることによってＢＤ用のデータストリームに変換し、変調装置１１４に出力する。変調装置１１４は、インタリーバ１１２から受け取ったデータストリームに従って変調信号を生成し、光ピックアップ１１６に出力する。光ピックアップ１１６は、変調信号に応じた光をＢＤ１１８に照射することにより、変調信号を光ディスクとしてのＢＤ１１８に記録する。
【００１６】
図２は、ＢＤに記録されるデータが生成されるまでの流れを概念的に示す説明図である。図３は、図２のユーザー制御データＢ２００を示す説明図である。まず、ユーザー制御データＢ２００に関する流れを説明する。アドレスユニット番号ＡＵＮ（ｘ，ｙ）、ユーザー制御データＵＣＤ（ｘ，ｙ）、及びＢＩＳパリティＢＰ（ｘ，ｙ）は、いずれも１つのデータ単位であって、１バイトのデータであるとする。
【００１７】
ユーザー制御データＢ２００は、ホスト転送装置１０４から入力され、記憶部１２０のユーザー制御データ保持エリアに格納される。図３のように、各１バイトのユーザー制御データＵＣＤ（０，０），ＵＣＤ（１，０），…，ＵＣＤ（１７，０）が１８バイトのユニットを構成し、同様に構成された３２個のユニットが１つのブロックを構成する。
【００１８】
図４は、図２のアドレスユニット番号（ＡＵＮ：Address Unit Number）Ａ２００を示す説明図である。図５は、図２のアクセスブロックＢ２０１を示す説明図である。４バイトのアドレス（ＡＵＮ（０，０）〜ＡＵＮ（３，０））、１バイトのフラグ（ＡＵＮ（４，０））、及び４バイトの第１のパリティとしてのＡＵＮパリティ（ＡＵＮ（５，０）〜ＡＵＮ（８，０））が９バイトのユニットを構成し、同様に構成された１６個のユニットが１つのブロックを構成する。フラグには制御情報が含まれている。ＡＵＮパリティは誤り訂正に用いられる。
【００１９】
ＡＵＮパリティは、各４バイトのアドレス（ＡＵＮ（０，０）〜ＡＵＮ（３，０）等）及びフラグ（ＡＵＮ（４，０）等）の５バイトから求められるリードソロモン符号（９，５，５）であり、ガロア体ＧＦ（２８）の原始多項式として、
ｐ（ｘ）＝ｘ８＋ｘ４＋ｘ３＋ｘ２＋１  …（式１）
が用いられる。ＡＵＮパリティの生成多項式は、
ｇ（ｘ）＝Π３ｉ＝０（ｘ−αｉ）    …（式２）
で表される。ＡＵＮパリティは、一般化して、
Σ８ｉ＝５ＡＵＮ（ｘ，Ｓ）ｘ（８−ｉ）＝Σ５ｉ＝０ＡＵＮ（ｘ，Ｓ）ｘ（８−ｉ）mod ｇ（ｘ）
…（式３）
と定義される。
【００２０】
図５は、図２のアクセスブロックＢ２０１を示す説明図である。ＢＩＳパリティを作成するためには、ユーザー制御データＢ２００及びアドレスユニットＡ２００がインタリーブされている必要がある。図５には、インタリーブされたユーザー制御データＢ２００及びアドレスユニットＡ２００が示されている。
【００２１】
図４のブロックにおけるアドレスユニット番号ＡＵＮ（ｘ，ｙ）は、図５における第ｒ行第ｃ列（ｒは０≦ｒ≦５、ｃは０≦ｃ≦２３を満たす整数）に配置されるように、例えば次式、
ｒ＝２×div（ｘ，３）＋div（ｙ，８）  …（式４）
ｃ＝３×mod（（div（ｘ，３）＋１６−ｙ），８）＋mod（（ｘ−div（ｘ，３）），３）  …（式５）
で表される規則に従ってインタリーブされる。この規則は、ＢＤ規格に準拠している。ここでは、上端の行を第０行、左端の列を第０列としている。図５の各列において、６バイトのアドレスユニット番号の下には２４バイトのユーザー制御データが配置される。
【００２２】
図６は、図２のＢＩＳブロックＢ２０２を示す説明図である。図６の各列において、６バイトのアドレスユニット番号及び２４バイトのユーザー制御データから第２のパリティとしての３２バイトのＢＩＳパリティ（例えば左端の列ではＢＰ（０，０），ＢＰ（１，０），…，ＢＰ（３１，０））が求められ、アドレスユニット番号及びユーザー制御データに付加される。ＢＩＳパリティの生成多項式は、
Ｇ（ｘ）＝Π３１ｉ＝０（ｘ−αｉ）  …（式６）
である。ＢＩＳブロックＢ２０２を並べ替えることにより、ＢＩＳクラスタＢ２０３が得られる。
【００２３】
次に、ユーザーデータＬ２００に関する流れを簡単に説明する。ユーザーデータＬ２００の各フレームに誤り検出符号（ＥＤＣ：Error Detection Code）が付加されたデータフレームＬ２０１が生成される。データフレームＬ２０１とアドレスユニット番号Ａ２００とに基づいて、スクランブルデータフレームＬ２０２が生成される。更に、スクランブルデータフレームＬ２０２からデータブロックＬ２０３、ＬＤＣブロックＬ２０４、ＬＤＣクラスタＬ２０５が順に生成される。ＬＤＣブロックＬ２０４には、データブロックＬ２０３に基づいて求められたＬＤＣパリティが含まれている。その後、インタリーバ１１２がＬＤＣクラスタＬ２０５とＢＩＳクラスタＢ２０３とをインタリーブしてコードＰＣ２００を生成する。このコードＰＣ２００がＢＤ１１８に記録される。
【００２４】
以下では、符号化装置１００について詳細に説明する。図４のようなアドレスユニット番号で構成されたブロックの各列において、第１〜第４行目のＡＵＮ（０，Ｓ）〜ＡＵＮ（３，Ｓ）（Ｓは０≦Ｓ≦１５を満たす整数）は、アドレスを示している。情報保持部１３２は、図４のブロックの先頭アドレス（ＡＵＮ（０，０），ＡＵＮ（１，０），ＡＵＮ（２，０），ＡＵＮ（３，０）で表されるアドレス）を初期アドレスとして格納し、各アドレスに対応するフラグＡＵＮ（４，０），ＡＵＮ（４，１），…，ＡＵＮ（４，１５）を格納する。図４のブロックは、インタリーブが行われる単位である。なお、フラグＡＵＮ（４，０），ＡＵＮ（４，１），…，ＡＵＮ（４，１５）が変化しない場合には、これらの値として定数を用いればよいので、情報保持部１３２はこれらのフラグを保持する必要はない。
【００２５】
図７は、図４のアドレスユニット番号のフィールドについての説明図である。ＡＵＮ（０，Ｓ），ＡＵＮ（１，Ｓ），ＡＵＮ（２，Ｓ），及びＡＵＮ（３，Ｓ）で表されるアドレスの上位２７ビットのフィールドＦＬ１は、１つのブロック内で一定である。フィールドＦＬ１より下位のフィールドＦＬ２は、図４の列毎に１ずつ増加する。最下位のフィールドＦＬ３は、値“０”に固定されている。つまり、先頭アドレスを基準にして、列毎にフィールドＦＬ２の値を１ずつ増加させれば、図４の１６アドレスを生成することができる。このため、情報保持部１３２は、図４の上から１〜４行目の全てを格納する必要はなく、アドレスとしては左端の列に記載された先頭アドレスＡＵＮ（０，０）〜ＡＵＮ（３，０）のみを格納すれば十分である。
【００２６】
先頭アドレスのフィールドＦＬ２が一定である場合には、情報保持部１３２は、先頭アドレスのフィールドＦＬ１のみを格納するようにしてもよい。情報保持部１３２は、先頭アドレスに代えて図４のブロックの１６アドレスのうちの１つを初期アドレスとして格納し、以後の処理で用いられるようにしてもよい。
【００２７】
生成多項式（式２）を展開すると、
ｇ（ｘ）＝ｘ４＋０ｘ０Ｆ・ｘ３＋０ｘ３６・ｘ２＋０ｘ７８・ｘ１＋０ｘ４０ｘ０
…（式７）
が得られる。この式の各項の係数は、８ビットの１６進数であり、かつ、ガロア体ＧＦ（２８）の要素である。演算は全てガロア体の規則に基づいて行う必要がある。
【００２８】
図８は、ＡＵＮパリティを示す説明図である。（式７）を用いると、（式３）の右辺の各項は図８のように表すことができる。すなわち、ＡＵＮパリティは、ＡＵＮ（０，Ｓ），ＡＵＮ（１，Ｓ），ＡＵＮ（２，Ｓ），ＡＵＮ（３，Ｓ），ＡＵＮ（４，Ｓ）を用いれば求めることができる。
【００２９】
図９は、図１のＡＵＮデータ生成部１４０の構成例を示すブロック図である。ＡＵＮデータ生成部１４０は、カウンタ１４２と、アドレス生成器としてのＡＵＮ３生成器１４３と、セレクタ１４４，１５２，１５３，１５４，１５５，１５６と、パリティ演算器１４５，１４６，１４７，１４８とを有している。パリティ演算器１４５〜１４８はパリティ演算部１４９を構成し、セレクタ１５２〜１５６は選択部１５０を構成している。ＡＵＮ（５，Ｓ），ＡＵＮ（６，Ｓ），ＡＵＮ（７，Ｓ），ＡＵＮ（８，Ｓ）を、それぞれＡＵＮ５，ＡＵＮ６，ＡＵＮ７，ＡＵＮ８と表記することとする。
【００３０】
カウンタ１４２は、１ずつカウントアップし、カウント値Ｘを出力する。カウント値Ｘは、図５の列の番号を示す。ここでは、カウンタ１４２は、０から２３まで順にカウントアップすることを繰り返すものとする。
【００３１】
ＡＵＮ３生成器１４３は、図５のブロックにおけるインタリーブ後のアドレスユニット番号ＡＵＮ（ｘ，ｙ）の列の生成に必要なアドレスを生成する。まず、ＡＵＮ３生成器１４３は、カウント値Ｘから次式の割り算で得られる商Ｑ、すなわち、
Ｑ＝（２３−Ｘ）÷３  …（式８）
を求める。ただし、Ｑは商の整数部分のみである。ＡＵＮ３生成器１４３は、更に次の演算、
Ｓ３＝（Ｑ＋２）mod ８  …（式９）
を行う。ＡＵＮ３生成器１４３は、ＡＵＮ（３，０）のフィールドＦＬ２（図７参照）をＳ３に置き換え、得られたＡＵＮ（３，Ｓ３）をセレクタ１５３に出力し、ＡＵＮ（３，０）のフィールドＦＬ２をＳ３＋８に置き換え、得られたＡＵＮ（３，Ｓ３＋８）をセレクタ１５４に出力する。ＡＵＮ３生成器１４３は、ＡＵＮ（３，Ｓ３）のフィールドＦＬ２の最上位ビットを１に置き換えてＡＵＮ（３，Ｓ３＋８）を求めてもよい。
【００３２】
また、ＡＵＮ３生成器１４３は、次の演算、
Ｓ５＝（Ｑ＋３）mod ８  …（式１０）
を行う。ＡＵＮ３生成器１４３は、ＡＵＮ（３，０）のフィールドＦＬ２をＳ５に置き換え、得られたＡＵＮ（３，Ｓ５）をパリティ演算器１４６〜１４８に出力し、ＡＵＮ（３，０）のフィールドＦＬ２をＳ５＋８に置き換え、得られたＡＵＮ（３，Ｓ５＋８）をパリティ演算器１４６〜１４８に出力する。ＡＵＮ３生成器１４３は、ＡＵＮ（３，Ｓ５）のフィールドＦＬ２の最上位ビットを１に置き換えてＡＵＮ（３，Ｓ５＋８）を求めてもよい。
【００３３】
セレクタ１４４は、カウント値Ｘに基づいてＡＵＮ３生成器１４３と同様にＳ３及びＳ５を求める。セレクタ１４４は、ＡＵＮ（４，Ｓ３）を選択してセレクタ１５３及びパリティ演算器１４５に出力し、ＡＵＮ（４，Ｓ３＋８）を選択してセレクタ１５４及びパリティ演算器１４５に出力する。また、セレクタ１４４は、ＡＵＮ（４，Ｓ５）及びＡＵＮ（４，Ｓ５＋８）を選択して、いずれもパリティ演算器１４６〜１４８に出力する。
【００３４】
パリティ演算部１４９は、求められたアドレスＡＵＮ（３，Ｓ３），ＡＵＮ（３，Ｓ３＋８），ＡＵＮ（３，Ｓ５）及びＡＵＮ（３，Ｓ５＋８）、並びにフラグＡＵＮ（４，Ｓ３），ＡＵＮ（４，Ｓ３＋８），ＡＵＮ（４，Ｓ５）及びＡＵＮ（４，Ｓ５＋８）に基づいて、図５のブロックにおけるインタリーブ後のアドレスユニット番号ＡＵＮ（ｘ，ｙ）の列の生成に必要なＡＵＮパリティを生成する。パリティ演算器１４５〜１４８は、例えば組合せ回路によって構成されている。
【００３５】
パリティ演算器１４５は、ＡＵＮ（０，０），ＡＵＮ（１，０）及びＡＵＮ（２，０）を用いて図８のＮ１の演算を行う。パリティ演算器１４５は、ＡＵＮ（３，Ｓ３）及びＡＵＮ（４，Ｓ３）を用いて図８のＮ２の演算を行い、Ｎ１の演算結果にＮ２の演算結果を加える。これにより、ＡＵＮ（５，Ｓ３）が生成される。また、パリティ演算器１４５は、ＡＵＮ（３，Ｓ３＋８）及びＡＵＮ（４，Ｓ３＋８）を用いて図８のＮ２の演算を行い、Ｎ１の演算結果にＮ２の新たな演算結果を加える。これにより、ＡＵＮ（５，Ｓ３＋８）が生成される。ＡＵＮ（５，Ｓ３）及びＡＵＮ（５，Ｓ３＋８）は、ＡＵＮパリティである。パリティ演算器１４５は、ＡＵＮ（５，Ｓ３）をセレクタ１５３に、ＡＵＮ（５，Ｓ３＋８）をセレクタ１５４に出力する。
【００３６】
パリティ演算器１４６は、ＡＵＮ（０，０），ＡＵＮ（１，０）及びＡＵＮ（２，０）を用いて図８のＮ３の演算を行う。パリティ演算器１４６は、ＡＵＮ（３，Ｓ５）及びＡＵＮ（４，Ｓ５）を用いて図８のＮ４の演算を行い、Ｎ３の演算結果にＮ４の演算結果を加える。これにより、ＡＵＮ（６，Ｓ５）が生成される。また、パリティ演算器１４６は、ＡＵＮ（３，Ｓ５＋８）及びＡＵＮ（４，Ｓ５＋８）を用いて図８のＮ４の演算を行い、Ｎ３の演算結果にＮ４の新たな演算結果を加える。これにより、ＡＵＮ（６，Ｓ５＋８）が生成される。ＡＵＮ（６，Ｓ５）及びＡＵＮ（６，Ｓ５＋８）は、ＡＵＮパリティである。パリティ演算器１４６は、ＡＵＮ（６，Ｓ５）をセレクタ１５５に、ＡＵＮ（６，Ｓ５＋８）をセレクタ１５６に出力する。
【００３７】
パリティ演算器１４７は、ＡＵＮ（０，０），ＡＵＮ（１，０）及びＡＵＮ（２，０）を用いて図８のＮ５の演算を行う。パリティ演算器１４７は、ＡＵＮ（３，Ｓ５）及びＡＵＮ（４，Ｓ５）を用いて図８のＮ６の演算を行い、Ｎ５の演算結果にＮ６の演算結果を加える。これにより、ＡＵＮ（７，Ｓ５）が生成される。また、パリティ演算器１４７は、ＡＵＮ（３，Ｓ５＋８）及びＡＵＮ（４，Ｓ５＋８）を用いて図８のＮ６の演算を行い、Ｎ５の演算結果にＮ６の新たな演算結果を加える。これにより、ＡＵＮ（７，Ｓ５＋８）が生成される。ＡＵＮ（７，Ｓ５）及びＡＵＮ（７，Ｓ５＋８）は、ＡＵＮパリティである。パリティ演算器１４７は、ＡＵＮ（７，Ｓ５）をセレクタ１５５に、ＡＵＮ（７，Ｓ５＋８）をセレクタ１５６に出力する。
【００３８】
パリティ演算器１４８は、ＡＵＮ（０，０），ＡＵＮ（１，０）及びＡＵＮ（２，０）を用いて図８のＮ７の演算を行う。パリティ演算器１４８は、ＡＵＮ（３，Ｓ５）及びＡＵＮ（４，Ｓ５）を用いて図８のＮ８の演算を行い、Ｎ７の演算結果にＮ８の演算結果を加える。これにより、ＡＵＮ（８，Ｓ５）が生成される。また、パリティ演算器１４８は、ＡＵＮ（３，Ｓ５＋８）及びＡＵＮ（４，Ｓ５＋８）を用いて図８のＮ８の演算を行い、Ｎ７の演算結果にＮ８の新たな演算結果を加える。これにより、ＡＵＮ（８，Ｓ５＋８）が生成される。ＡＵＮ（８，Ｓ５）及びＡＵＮ（８，Ｓ５＋８）は、ＡＵＮパリティである。パリティ演算器１４８は、ＡＵＮ（８，Ｓ５）をセレクタ１５５に、ＡＵＮ（８，Ｓ５＋８）をセレクタ１５６に出力する。
【００３９】
選択部１５０は、ＡＵＮ３生成器１４３で生成されたアドレス及びパリティ演算部１４９で生成されたＡＵＮパリティから必要な部分を選択して、図５のブロックに含まれるデータ単位の列としてパリティ生成部１６０に出力する。
【００４０】
セレクタ１５２は、カウント値Ｘを３で除算し、余りが０の場合にはＡＵＮ（０，０）を、余りが１の場合にはＡＵＮ（１，０）を、余りが２の場合にはＡＵＮ（２，０）を選択し、選択された値をデータＡＬ１及びＡＬ２としてパリティ生成部１６０に出力する。セレクタ１５３は、カウント値Ｘを３で除算し、余りが０の場合にはＡＵＮ（４，Ｓ３）を、余りが１の場合にはＡＵＮ（５，Ｓ３）を、余りが２の場合にはＡＵＮ（３，Ｓ３）を選択し、選択された値をデータＡＬ３としてパリティ生成部１６０に出力する。セレクタ１５４は、カウント値Ｘを３で除算し、余りが０の場合にはＡＵＮ（４，Ｓ３＋８）を、余りが１の場合にはＡＵＮ（５，Ｓ３＋８）を、余りが２の場合にはＡＵＮ（３，Ｓ３＋８）を選択し、選択された値をデータＡＬ４としてパリティ生成部１６０に出力する。
【００４１】
セレクタ１５５は、カウント値Ｘを３で除算し、余りが０の場合にはＡＵＮ（８，Ｓ５）を、余りが１の場合にはＡＵＮ（６，Ｓ５）を、余りが２の場合にはＡＵＮ（７，Ｓ５）を選択し、選択された値をデータＡＬ５としてパリティ生成部１６０に出力する。セレクタ１５６は、カウント値Ｘを３で除算し、余りが０の場合にはＡＵＮ（８，Ｓ５＋８）を、余りが１の場合にはＡＵＮ（６，Ｓ５＋８）を、余りが２の場合にはＡＵＮ（７，Ｓ５＋８）を選択し、選択された値をデータＡＬ６としてパリティ生成部１６０に出力する。記憶部１２０は、データＡＬ（ＡＬ１〜ＡＬ６）をＡＵＮデータ保持エリアに格納する。
【００４２】
データＡＬ１〜ＡＬ６は、それぞれ図５の第１行目〜第６行目のデータである。図９のＡＵＮデータ生成部１４０によると、例えばカウント値Ｘが０のときには図５の第１列のＡＵＮ（０，０），ＡＵＮ（０，８），ＡＵＮ（４，１），ＡＵＮ（４，９），ＡＵＮ（８，２），ＡＵＮ（８，１０）がデータＡＬ１〜ＡＬ６として得られ、カウント値Ｘが１のときには図５の第２列のＡＵＮ（１，０），ＡＵＮ（１，８），ＡＵＮ（５，１），ＡＵＮ（５，９），ＡＵＮ（６，２），ＡＵＮ（６，１０）がデータＡＬ１〜ＡＬ６として得られる。すなわち、図４の第１〜第５行目までのデータを全て用意する必要はなく、図４の先頭アドレスＡＵＮ（０，０），ＡＵＮ（１，０），ＡＵＮ（２，０），ＡＵＮ（３，０）及びフラグＡＵＮ（４，０），ＡＵＮ（４，１），…，ＡＵＮ（４，１５）のみに基づいて、図５の第１〜第６行目のＡＵＮを列毎に順に生成することができる。
【００４３】
パリティ生成部１６０は、図５の各列のデータを所定の式で除算し、剰余を求める剰余演算器を有している。図１０は、図１のパリティ生成部１６０が有する剰余演算器の構成例を示すブロック図である。この剰余演算器は、セレクタ１６２と、加算器１６４＿１〜１６４＿３２と、乗算器１６６＿１〜１６６＿３２と、レジスタ１６８＿１〜１６８＿３２とを有している。レジスタ１６８＿１〜１６８＿３２は、格納している値をクロックに同期して出力する。
【００４４】
セレクタ１６２は、図５の１列目のデータ、すなわち、ＡＵＮデータ生成部１４０から受け取った６バイトのデータＡＬ１〜ＡＬ６と、記憶部１２０から出力された２４バイトのユーザー制御データＵＣＤ（０，０），ＵＣＤ（１，０），…，ＵＣＤ（１７，０），ＵＣＤ（０，１），ＵＣＤ（１，１），…，ＵＣＤ（５，１）とを、１バイトずつ加算器１６４＿１に出力する。乗算器１６６＿１は、レジスタ１６８＿３２の出力と値“５８”とを乗算し、得られた積を加算器１６４＿１に出力する。加算器１６４＿１は、セレクタ１６２の出力と乗算器１６６＿１の出力とを加算し、得られた和をレジスタ１６８＿１に出力する。レジスタ１６８＿１は、この和を格納し、クロックに同期して加算器１６４＿２に出力する。加算器１６４＿２〜１６４＿３２、乗算器１６６＿２〜１６６＿３２と、レジスタ１６８＿２〜１６８＿３２も同様に動作する。
【００４５】
クロックパルスが３０回入力され、図５の１列目の３０バイトを出力すると、セレクタ１６２は、次に値“００”を選択して出力する。クロックパルスが３２回入力された後、レジスタ１６８＿１〜１６８＿３２の出力値として図６のＢＩＳパリティＢＰ（０，０），ＢＰ（１，０），…，ＢＰ（３１，０）が得られる。記憶部１２０は、パリティＢＰ（０，０）〜ＢＰ（３１，０）をＢＩＳパリティ保持エリアに格納する。
【００４６】
以下同様にして、パリティ生成部１６０は、図５の列毎に、６バイトのＡＵＮと２４バイトのＵＣＤとから図６の３２バイトのＢＩＳパリティＢＰを生成し、記憶部１２０に格納する。このように、図４の第１〜第５行目までのデータを全て用意する必要なく、パリティ生成部１６０は、図６のＢＩＳパリティＢＰを列毎に順に生成することができる。
【００４７】
ＡＵＮデータ生成部１４０が６バイトのデータＡＬ１〜ＡＬ６を並列にパリティ生成部１６０に出力する場合について説明したが、６バイト以外の幅のデータをパリティ生成部１６０に出力するようにしてもよい。
【００４８】
記憶部１２０のユーザーデータ保持エリアには、スクランブルされておらず、ＥＤＣも付与されていないユーザーデータが格納されているものとする。ユーザーデータに対するＥＤＣ生成、スクランブル、及びＬＤＣパリティの生成は、いずれも同じ列のユーザーデータを対象として行われる。このため、ユーザーデータを列毎に順に記憶部１２０から読み出すことにより、ＥＤＣ生成、スクランブル、及びＬＤＣパリティの生成を行うことができる。
【００４９】
ＥＤＣ生成器１３４は、ユーザーデータの列から誤り検出符号（ＥＤＣ）を生成してデータスクランブラ１３６に出力する。データスクランブラ１３６は、ユーザーデータの列をスクランブルし、かつその一部をＥＤＣと入れ換えて、パリティ生成部１６０に出力する。データスクランブルのシードデータとしては、情報保持部１３２に格納されているアドレスを用いることができる。ＥＤＣ生成器１３４は、求められたＥＤＣを、記憶部１２０に格納されたユーザーデータの一部に上書きしてもよい。
【００５０】
パリティ生成部１６０は、データスクランブラ１３６から出力されたデータからＬＤＣパリティを生成し、記憶部１２０に出力する。記憶部１２０は、ＬＤＣパリティ保持エリアにＬＤＣパリティを格納する。ユーザーデータに対するＬＤＣパリティも、ＢＩＳパリティと同様にリードソロモン符号であり、かつ３２バイトであるので、図１０の剰余演算器がＬＤＣパリティも生成することができる。
【００５１】
記憶部１２０に格納されているユーザーデータがスクランブルされていたり、ユーザーデータにＥＤＣが付与されていてもよい。このような場合であっても、情報保持部１３２に格納されているアドレスを用いたり、図１０の剰余演算器をＢＩＳパリティ及びＬＤＣパリティの双方の生成に用いることが可能である。
【００５２】
本発明の多くの特徴及び優位性は、記載された説明から明らかであり、よって添付の特許請求の範囲によって、本発明のそのような特徴及び優位性の全てをカバーすることが意図される。更に、多くの変更及び改変が当業者には容易に可能であるので、本発明は、図示され記載されたものと全く同じ構成及び動作に限定されるべきではない。したがって、全ての適切な改変物及び等価物は本発明の範囲に入るものとされる。
【産業上の利用可能性】
【００５３】
以上説明したように、本発明の実施形態によるとパリティの生成を高速化することができるので、本発明は符号化装置及び光ディスク記録装置等について有用である。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施形態に係る光ディスク記録装置の構成例を示すブロック図である。
【図２】ＢＤに記録されるデータが生成されるまでの流れを概念的に示す説明図である。
【図３】図２のユーザー制御データを示す説明図である。
【図４】図２のアドレスユニット番号を示す説明図である。
【図５】図２のアクセスブロックを示す説明図である。
【図６】図２のＢＩＳブロックを示す説明図である。
【図７】図４のアドレスユニット番号のフィールドについての説明図である。
【図８】ＡＵＮパリティを示す説明図である。
【図９】図１のＡＵＮデータ生成部の構成例を示すブロック図である。
【図１０】図１のパリティ生成部が有する剰余演算器の構成例を示すブロック図である。
【符号の説明】
【００５５】
１００  符号化装置
１１２  インタリーバ
１１４  変調装置
１１６  光ピックアップ
１２０  記憶部
１３２  情報保持部
１４０  ＡＵＮデータ生成部
１４３  ＡＵＮ３生成器（アドレス生成器）
１４９  パリティ演算部
１５０  選択部
１６０  パリティ生成部
【図１】
2010211862.tif 000003
【図２】
2010211862.tif 000004
【図３】
2010211862.tif 000005
【図４】
2010211862.tif 000006
【図５】
2010211862.tif 000007
【図６】
2010211862.tif 000008
【図７】
2010211862.tif 000009
【図８】
2010211862.tif 000010
【図９】
2010211862.tif 000011
【図１０】
2010211862.tif 000012