(57)【要約】      （修正有）【課題】ＳＤＲＡＭ等を使用しつつ大量データに対するランダムアクセス発生による転送レートの低下を抑制し、高倍速記録を可能とする。【解決手段】ＳＤＲＡＭからなるデータ・バッファ１１から読み出されるユーザ・データ方向Ｑの順のユーザ・データに対してＥＤＣ生成、スクランブル、ＥＣＣ生成処理をし、その演算結果を保持するバッファ１４、１７、１９と、データ・バッファ１１からバースト転送によりユーザ・データを繰り返し読み出し、レコーディング・フレーム方向Ｐの順で出力する置き換えバッファ２１と、上記演算結果に基づき、置き換えバッファ２１から方向Ｐの順で出力されるデータに対しスクランブル処理しスクランブル済データを出力するスクランブル回路２２とを有する。置き換えバッファ２１は、ＳＲＡＭからなり、方向Ｐの順序でユーザ・データを出力可能な最小容量以上であってデータ・バッファ１１の記憶容量未満の記憶容量を有する。【選択図】図１
2006244631.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ・データに対し所定の演算を施し演算済データとして出力するエンコード装置であって、
第１の順序で入力されるユーザ・データを格納するデータ・バッファと、
前記第１の順序のユーザ・データに対して所定の演算を施した第１の順序演算結果を保持する演算値保持部と、
前記データ・バッファからの前記ユーザ・データを含む格納データを前記第１の順序とは異なる第２の順序の第２順序データとして出力する置き換えバッファと、
前記演算値保持部に保持された前記第１の順序演算結果に基づき、前記第２順序データに所定の演算を施し、前記第２の順序の前記演算済データを出力する第２の順序演算部とを有するエンコード装置。
【請求項２】
前記データ・バッファは、リフレッシュ動作が必要であって、ランダムアクセス及びバースト転送が可能なメモリから構成され、
前記置き換えバッファは、リフレッシュ動作が不要であって、ランダムアクセス可能なメモリから構成され、前記第２順序データを出力可能な最小記憶容量以上であって前記データ・バッファの記憶容量未満の記憶容量を有する
ことを特徴とする請求項１記載のエンコード装置。
【請求項３】
前記データ・バッファから前記第１の順序で読み出されたユーザ・データに対し、所定の演算を施す第１の順序演算部を有し、
前記演算値保持部は、前記第１の順序演算部の演算結果を前記第１の順序演算結果として保持する
ことを特徴とする請求項１記載のエンコード装置。
【請求項４】
前記第１の順序演算部は、前記データ・バッファから読み出された前記第１の順序のユーザ・データに誤り検出符号を付加した誤り検出符号付きデータを出力する誤り検出符号演算回路と、
前記誤り検出符号付きデータと当該誤り検出符号付きデータに対応するスクランブル値とからスクランブル済データを生成するスクランブル回路と、
前記スクランブル済データから誤り訂正符号を生成する誤り訂正符号生成回路とを有する
ことを特徴とする請求項３記載のエンコーダ装置。
【請求項５】
前記演算値保持部は、前記誤り検出符号演算回路にて演算された誤り検出符号を保持する誤り検出符号保持部と、前記スクランブル回路のスクランブル処理に使用された演算値を保持するスクランブル演算値保持部とを有する
ことを特徴とする請求項４記載のエンコーダ装置。
【請求項６】
前記演算値保持部は、前記誤り訂正符号を保持する誤り訂正符号保持部を有する
ことを特徴とする請求項４記載のエンコーダ装置。
【請求項７】
前記誤り検出符号保持部は、前記データ・バッファに形成される
ことを特徴とする請求項５記載のエンコーダ装置。
【請求項８】
前記誤り訂正符号保持部は、前記データ・バッファに形成される
ことを特徴とする請求項６記載のエンコーダ装置。
【請求項９】
前記データ・バッファはＳＤＲＡＭであり、置き換えバッファはＳＲＡＭ又はレジスタである
ことを特徴とする請求項１項記載のエンコーダ装置。
【請求項１０】
前記置き換えバッファは、前記ユーザ・データに対し前記誤り検出符号を付加した誤り検出符号付きデータを、前記第２順序データとして出力する
ことを特徴とする請求項４記載のエンコーダ装置。
【請求項１１】
前記第１の順序はユーザ・データの並び順であり、前記第２の順序は、ディスクに対するデータ記録順である
ことを特徴とする請求項１記載のエンコード装置。
【請求項１２】
前記ユーザ・データは、Ｍ行×Ｌ列（Ｍ、Ｌは整数）からなるブロック毎に処理されるものであって、
前記ブロックは、ディスクに記録するための最小記録単位に含まれるユーザ・データを含み、複数のセクタからなり、
前記第１の順序及び第２の順序は、前記ブロックのそれぞれ列方向及び行方向である
ことを特徴とする請求項１項記載のエンコード装置。
【請求項１３】
前記ユーザ・データは、Ｍ行×Ｌ列（Ｍ、Ｌは整数）からなるブロック毎に処理されるものであって、前記データ・バッファからバースト転送により前記置き換えバッファに転送されるものであって、
前記データ・バッファは、（Ｍ×Ｌ）バイトの記憶領域を２以上有し、
前記置き換えバッファは、前記データ・バッファの１回のバースト転送サイズをｍ（ｍ＜Ｍの整数）バイトとすると、（ｍ×Ｌ）バイトの記憶領域を２以上有する
ことを特徴とする請求項１記載のエンコード装置。
【請求項１４】
前記ユーザ・データは、Ｍ行×Ｌ列（Ｍ、Ｌは整数）からなるブロック毎に処理されるものであって、前記データ・バッファからバースト転送により前記置き換えバッファに転送されるものであって、
前記データ・バッファは、（Ｍ×Ｌ）バイトの記憶領域を２以上有し、
前記置き換えバッファは、前記データ・バッファの１回のバースト転送サイズをｍ（ｍ＜Ｍの整数）バイトとすると、（ｍ×Ｌ）バイトの記憶領域を２以上有する
ことを特徴とする請求項１０記載のエンコード装置。
【請求項１５】
前記セクタは、Ｎ（Ｎは０以上の整数）バイトのセクタサイズ調整バイトを含む
ことを特徴とする請求項１２記載のエンコード装置。
【請求項１６】
前記セクタは、Ｎ（Ｎは０以上の整数）バイトのセクタサイズ調整バイトを含み、
前記ブロックは、前記データ・バッファにおいては前記セクタ調整バイトを除いたセクタとされ、前記置き換えバッファにおいては前記セクタ調整バイトを含むセクタとされる
ことを特徴とする請求項１２記載のエンコード装置。
【請求項１７】
前記データ・バッファは、前記第１の順序のｍバイトのユーザ・データをバースト転送可能であって、
前記ｍバイトのユーザ・データを前記データ・バッファから読み出すための先頭アドレスを指定し前記置き換えバッファへ当該ｍバイトのユーザ・データを転送する制御部を有する
ことを特徴とする請求項１２記載のエンコード装置。
【請求項１８】
前記制御部は、前記データ・バッファにおけるアドレスを前記置き換えバッファにおけるアドレスに変換するか、又は前記置き換えバッファにおけるアドレスを前記データ・バッファにおけるアドレスに変換するアドレス計算部を有し、前記データ・バッファのユーザ・データを前記置き換えバッファに転送する
ことを特徴とする請求項１７記載のエンコード装置。
【請求項１９】
前記制御部は、前記データ・バッファの前記ユーザ・データを前記ｍバイトずつ読み出すための先頭アドレスを指定するアドレス計算部と、ｍバイトずつ読み出した前記ユーザ・データに対し前記誤り検出符号を付加して誤り検出符号付きデータとし前記置き換えバッファへ供給する統合部とを有し、
前記アドレス計算部は、前記データ・バッファにおける前記セクタの境界を検出するセクタ境界検出部と、前記セクタ境界検出結果に基づき前記先頭アドレスを順次算出して出力するアドレス更新部とを有する
ことを特徴とする請求項１７記載のエンコード装置。
【請求項２０】
前記アドレス計算部は、前記データ・バッファにおける前記セクタの境界を検出するセクタ境界検出部と、前記セクタ境界検出結果に基づき前記先頭アドレスを順次更新して出力するアドレス更新部と、前記（ｍ×Ｌ）バイトの記憶領域に格納される転送ブロックの最初にバースト転送する先頭アドレスから、次の転送ブロックの最初にバースト転送する先頭アドレスを演算して保持する次転送ブロック先頭アドレス保存部とを有し、
前記転送ブロックの１バースト転送中又は転送終了後に前記アドレス更新部の出力を前記セクタ境界検出結果に基づき順次更新して前記先頭アドレスとして出力し、前記転送ブロックのバースト転送終了の際には前記次転送ブロック先頭アドレス保存部から前記次先頭アドレスを読み出し出力する
ことを特徴とする請求項１８記載のエンコード装置。
【請求項２１】
前記セクタは、前記データ・バッファにおいては前記ユーザ・データのみからなり、前記置き換えバッファにおいては前記ユーザ・データに対し誤り検出符号を付加した誤り検出符号付きデータからなる
ことをと特徴とする請求項１９記載のエンコード装置。
【請求項２２】
前記第２の順序演算部は、前記第１の順序でスクランブル値を求める第１の順序用シフト・レジスタと、前記スクランブル演算値保持部の出力値からスクランブル値を得て当該スクランブル値と前記第２順序データとから前記演算済データを算出する論理回路とを有し、
前記スクランブル演算値保持部は、前記第１の順序用シフト・レジスタが演算に使用する値を前記第１の順序演算結果として保持するものであって、当該第１の順序演算結果を前記第１の順序用シフト・レジスタにより順次更新して出力する動作を繰り返す
ことを特徴とする請求項５記載のエンコード装置。
【請求項２３】
前記ユーザ・データは、ディスクに記録するための最小記録単位を構成するブロック毎に処理されるものであって、前記第１の順序及び第２の順序は、前記ブロックのそれぞれ列方向及び行方向であり、
前記ブロックは複数のセクタからなり、前記セクタは、２つで一のエリアを構成し、前記各エリアは同一の前記スクランブル値を使用してスクランブルされるものであって、
前記スクランブル演算値保持部は、前記エリアに含まれる一の行方向における前記スクランブル回路の演算結果を前記第１の順序演算結果として保持する
ことを特徴とする請求項２２記載のエンコード装置。
【請求項２４】
ユーザ・データに対し所定の演算を施し演算済データとして出力するためのエンコード方法であって、
第１の順序のユーザ・データに対し、所定の演算を施し演算結果を保存する第１の処理と、前記第１の順序のユーザ・データと前記演算結果とから、前記第１の順序とは異なる第２の順序で前記ユーザ・データに所定の演算を施し前記演算済データに変換する第２の処理とを並列して実行する
ことを特徴とするエンコード方法。
【請求項２５】
ユーザ・データに対し所定の演算を施し演算済データとして出力するためのエンコード方法であって、
前記第１の処理では、前記第１の順序のユーザ・データを格納したデータ・バッファから読み出したユーザ・データに対し、誤り検出符号生成処理及びスクランブル処理を施し、その演算過程で得られる誤り検出符号及びスクランブル処理演算値を保持し、
前記第２の処理では、前記データ・バッファから読み出したユーザ・データに前記誤り検出符号を付加し、置き換えバッファに転送し、前記置き換えバッファから前記第２の順序で読み出し前記スクランブル処理演算値に基づきスクランブル処理して前記演算済データを生成する
ことを特徴とする請求項２４記載のエンコード方法。
【請求項２６】
前記第１の処理及び前記第２の処理は、ディスクに対する最小記録単位に含まれるユーザ・データから構成されるブロック毎に行われるものであって、
前記ｔ番目のブロックに対して前記第１の処理を実行している間、（ｔ−１）番目のブロックに対して前記第２の処理を実行する
ことを特徴とする請求項２５記載のエンコード方法。
【請求項２７】
ユーザ・データに対し所定の演算を施し演算済データに変換して出力するエンコード回路と、前記演算済データを変調する変調回路と、変調された変調データを記録するディスクとを有する記録装置であって、
前記エンコード回路は、
第１の順序で入力されるユーザ・データを格納するデータ・バッファと、
前記第１の順序のユーザ・データに対して所定の演算を施した第１の順序演算結果を保持する演算値保持部と、
前記データ・バッファから前記ユーザ・データを読み出し、前記第１の順序とは異なる第２の順序とした第２順序データを出力する置き換えバッファと、
前記演算値保持部に保持された前記第１の順序演算結果に基づき、前記第２順序データに所定の演算を施し、前記第２の順序の前記演算済データを出力する第２の順序演算部とを有する
ことを特徴とする記録装置。
【請求項２８】
ユーザ・データに対し誤り検出符号を付加した誤り検出符号付加データのスクランブル処理をするスクランブル回路であって、
第１の順序でスクランブル値を算出する第１の順序用演算器を使用して前記第１の順序とは異なる第２の順序の変換スクランブル値を出力する変換部と、
前記第２の順序で入力される誤り検出符号付加データと、前記変換スクランブル値とからスクランブル済データを算出する演算部とを有するスクランブル回路。
【請求項２９】
前記誤り検出符号付加データは、Ｍ行×Ｌ列からなるブロック毎に処理されるものであって、
前記第１の順序及び前記第２の順序は、前記ブロックのそれぞれ列方向及び行方向である
ことを特徴とする請求項２８記載のスクランブル回路。
【請求項３０】
前記変換部は、
前記ブロックの一の行の前記誤り検出符号付加データを前記第１の順序にスクランブルするスクランブル値を得るためのスクランブル演算値を初期値として保持するスクランブル保持部を有し、
前記スクランブル保持部は、その保持値を前記第１の順序用演算器により更新し、当該更新した保持値を前記変換スクランブル値として順次出力する
ことを特徴とする請求項２９記載のスクランブル回路。
【請求項３１】
前記ブロックは、ディスクに対する最小記録単位に含まれるユーザ・データ及びこれに付加される誤り検出符号からなるものであって、複数のセクタから構成される
ことを特徴とする請求項３０記載のエンコード装置。
【請求項３２】
前記第１の順序はユーザ・データの並び順であり、前記第２の順序は、ディスクに対するデータ記録方向である
ことを特徴とする請求項３１記載のエンコード装置。
【請求項３３】
前記セクタは２つで一のエリアを構成し、
前記各エリアは同一の前記スクランブル値を使用してスクランブルされるものであって、
前記スクランブル保持部は、前記エリアにおける一の行の前記誤り検出符号付加データをスクランブルするためのスクランブル演算値を前記初期値として保持する
ことを特徴とする請求項３２記載のエンコード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスクにデータを記録する際の記録速度の向上を図った記録装置、並びに記録装置に適用されるエンコード装置及びエンコード方法、エンコード装置に好適に使用可能なスクランブル回路に関する。
【背景技術】
【０００２】
ＣＤ、ＣＤ−Ｒ／ＲＷ、ＣＤ−ＲＯＭなどのいわゆる第１世代の光ディスク、ＤＶＤ（Digital Versatile Disc）などのいわゆる第２世代光ディスクに次いで、光源波長を４０５ｎｍ（青紫色）に短波長化したいわゆる第３世代光ディスクと呼ばれるブルーレイディスクが開発されている。ブルーレイディスクは、光源波長の短波長化の他、対物レンズの開口数ＮＡ（numerical aperture）を０．８５に高め、ビーム・スポット面積をＤＶＤに比して１／５程度に縮めることで、ＤＶＤの約５倍の面記録密度で記録マークを読み書き可能となっている。さらに、ディスク基板上に相変化記録層を設け、この上に０．１ｍｍの透明なカバー層で覆うことでディスクとレーザ光の光軸との相対的な傾きによる収差を低減する構造が取られている。
【０００３】
ブルーレイディスクのデータ構成は規格により以下のように定められている。図２０は、ブルーレイディスクのデータ構成を説明する図である。ブルーレイ規格においては、ディスク３０１には、記録データがＲＵＢ（Recording Unit Block）３０２と呼ばれる単位を１記録単位として記録される（以下クラスタともいう）。ＲＵＢ３０２は、ランイン（Run-in）３０３、ランアウト（Run-out）３０５と呼ばれるデータ上書きのためのバッファ領域、ギャップ領域と、これらの領域間に配置されるフィジカルクラスタ（Physical Cluster）３０４とからなる。ランイン３０３は２７６０ｃｂｓ（channel bits）、ランアウト３０５は１１０４ｃｂｓからなり、フィジカルクラスタ３０４は１９３２ｃｂｓ×４９６ｆｒａｍｅｓ＝９５８２７２ｃｂｓからなる。ランイン３０３及びランアウト３０５を合わせると２フレーム（後述するレコーディング・フレーム（Recording Frame））分のチャネルビット長となる。フィジカルクラスタ３０４は、ユーザ・データ、及びディスクのアドレス情報などを含むＢＩＳ（Burst indicator subcode）からなる。
【０００４】
フィジカルクラスタ３０４は、４９６のレコーディング・フレーム３０６から構成される。各レコーディング・レーム３０６の先頭にはシンク領域（frame sync）が配置される。こうして、フィジカルクラスタ３０４を構成する４９６のレコーディング・フレームと、ランイン３０３及びランアウト３０５の２フレームとを合わせた４９８フレームから１ＲＵＢ３０２が構成される。
【０００５】
レコーディング・フレーム３０６は１９３２チャネルビットで構成され、１７ＰＰ（Parity Preserve/Prohibit RMTR）変調されている。これを復調した復調後のデータから、ＤＳＶ（Digital Sum Value）制御（dc-control）ビットが削除されて、ＥＣＣクラスタが得られる。
【０００６】
図２１は、ＥＣＣクラスタのフォーマットを示す模式図である。ＥＣＣクラスタ４０１には、４９６フレームからなり、ユーザ・データ４０２、ＥＣＣパリティ４０４とＢＩＳ４０３とが含まれる。ユーザ・データ４０２、ＥＣＣパリティ４０４を抜き出したものが、ＬＤＣ（long distance code）クラスタであり、４９６フレームのうち６４フレームがＥＣＣパリティ４０４である。また、ＢＩＳ４０３を抜き出したものがＢＩＳクラスタとなる。
【０００７】
ＢＩＳクラスタは、ディスクのアドレス情報を含む。ＢＩＳクラスタのアドレス情報（９ｂｙｔｅ）は、ＥＣＣクラスタの４９６フレームが１６分割され、３１フレーム毎のアドレスユニット（Address Unit）とされた当該アドレス・ユニット毎に割り当てられる。ＢＩＳとしては３フレームで９ｂｙｔｅｓ（１フレーム当たり３ｂｙｔｅｓ）揃うが、アドレスは最初の４ｂｙｔｅｓに含まれる。したがって、各アドレス・ユニットの最初の２フレームを取得することで、各アドレス・ユニットのアドレス情報（アドレス・ユニット・ナンバ）を得ることができる。ＢＩＳクラスタは、デ・インタリーブされることでＢＩＳブロックと呼ばれるフォーマットとなる。また、ＬＤＣクラスタもデ・インタリーブされることで、ＬＤＣブロックと呼ばれるフォーマットとなる。
【０００８】
図２２はＬＤＣブロック５０１を示す模式図である。このＬＤＣブロックは、図２１に示すＥＣＣクラスタからユーザ・データ４０２、ＥＣＣパリティ４０４部分を抜き出し、横方向（１フレーム）１５２ｂｙｔｅ、縦方向４９６フレームとなったデータについてデ・インタリーブされたものである。デ・インタリーブは、２段階で行なわれる。先ず、２フレーム毎に、シフト量を３バイトずつ増加させて紙面右方向にローテーションする。次に偶数フレームの各バイトを奇数フレームの各バイト間に挿入する。これにより、横方向（１フレーム）が２倍の３０４ｂｙｔｅ、縦方向が半分の２４８フレームからなるデータとすることで完了する。
【０００９】
図２２において、ＬＤＣブロック５０１のうちＥＣＣパリティ５０３を除いた部分がデータ・ブロック（data block）５０２とよばれ、１データ・ブロックは、３２セクタ（Ｓｅｃ０〜Ｓｅｃ３１）で構成される。１セクタは２０４８ｂｙｔｅｓのユーザ・データ５０４と４ｂｙｔｅｓのＥＤＣ（error detecting code）５０５の２０５２ｂｙｔｅｓからなる。記録を行うデータの並び順方向をレコーディング・フレーム方向Ｐとし、ユーザ・データとしての並び順方向をユーザ・データ方向Ｑとすると、レコーディング・フレーム方向Ｐは紙面横方向（行方向）、ユーザ・データ方向Ｑは紙面縦方向（列方向）となり、データの記録方向とユーザ・データの並び順は、異なる方向となっている。
【００１０】
１セクタは、ユーザ・データ方向Ｑに、２１６ｂｙｔｅｓのユーザ・データが折り返して配置される。すなわち、ユーザ・データ５０４は１列（２１６ｂｙｔｅｓ）毎にレコーディング・フレーム方向Ｐに順に配列される構造となっている。よって、２０５２ｂｙｔｅｓの１セクタＳｅｃは、ユーザ・データ方向Ｑに９列と１／２列となる。４ｂｙｔｅｓのＥＤＣ５０５は各セクタＳｅｃにおいて２０４８ｂｙｔｅｓのユーザ・データ５０４の最後に配置されるため、最初のセクタのセクタ番号を０（Ｓｅｃ０）とすると、偶数番号セクタのＥＤＣ５０５は、２４８フレームの途中の位置に存在することとなる。
【００１１】
図２３は、ユーザ・データとアドレス情報とからＲＵＢを生成するまでの各データのエンコード順序を示す図である。ＬＤＣクラスタとＢＩＳクラスタとは別々に生成される。ＬＤＣクラスタＤ６は以下のように生成される。すなわち、ユーザ・データＤ１にＥＤＣが付加されて（ステップＳＰ１）データ・フレームＤ２とされる。ＥＤＣ付加処理は、セクタＳｅｃ毎に行われ、１セクタ分のデータをユーザ・データ方向Ｑに所定の演算を施すことでＥＤＣが付加された状態のセクタＳｅｃを得ることができる。
【００１２】
ＥＤＣが付加されたＥＤＣ付加データ（Data Frame）Ｄ２にスクランブル処理を施して（ステップＳＰ２）スクランブル済データ（Scrambled Data Frame）Ｄ３とする。スクランブル処理は、ＥＤＣが付加された１セクタ、２０５２ｂｙｔｅｓのデータを、ユーザ・データ方向Ｑの順に所定の演算を施すことで行なわれる。そして、このスクランブル済データＤ３を行列再配置し（ステップＳＰ３）データ・ブロックＤ４とする（ステップＳＰ４）。次に、データ・ブロックＤ４に対し、ＥＣＣパリティを付加して（ステップＳＰ４）ＬＤＣブロックＤ５を生成し、これに上述のインタリーブを施して（ステップＳＰ５）ＬＤＣクラスタＤ６を得る。
【００１３】
一方、ＢＩＳクラスタＤ１１の生成においては、先ず、ユーザ・コントロール・データＤ８をインタリーブし（ステップＳＰ６）、アドレス・ユニット・ナンバＤ７にＥＣＣを付加してインタリーブし（ステップＳＰ７）、これらのデータからアクセス・ブロック（Access Block）Ｄ９を生成する。このアクセス・ブロックＤ９にＢＩＳ  ＥＣＣを付加して（ステップＳＰ８）ＢＩＳブロックＤ１０を生成し、これにインタリーブを施して（ステップＳＰ９）ＢＩＳクラスタＤ１１を得る。
【００１４】
そして、ＬＤＣクラスタＤ６及びＢＩＳクラスタＤ１１を結合して（ステップＳＰ１０）ＥＣＣクラスタＤ１２とし、このＥＣＣクラスタＤ１２に同期信号（frame sync）及びＤＳＶ制御ビットを付加して（ステップＳＰ１１）フィジカルクラスタＤ１３を生成する。このフィジカルクラスタＤ１３に対し、ランイン及びランアウトを付加し、更に１７ＰＰ変調を施す（ステップＳＰ１２）ことで、４９５のレコーディング・フレームＤ１４３とその前後にランインＤ１４１及びランアウトＤ１４２が配置されたＲＵＢＤ１４を生成する。
【００１５】
図２４は、ステップＳＰ２のスクランブル処理を行うスクランブル回路を示す模式図である。図２４に示すＰＳ０〜ＰＳ３１の３２ビットは、物理セクターナンバ（Physical Sector Number）である。物理セクターナンバは、データ２ＫＢのセクタに対する物理アドレスで、４バイト（３２ビット）となる。１ＲＵＢを構成する１クラスタ６４ＫＢ単位で記録再生する場合、１クラスタには３２個の物理セクターナンバが割り当てられることになる。３２ビットの物理セクターナンバのうち、ＰＳ５〜ＰＳ１９の１５ビットがクラスタナンバ（ＲＵＢ単位のクラスタアドレスＣＮ）である。
スクランブル回路６０１は、下記の多項式に基づく１６ｂｉｔｓのシフト・レジスタ６０２及びＸＯＲ回路６０３〜６０５からなる。
Φ（ｘ）＝Ｘ１６＋Ｘ１５＋Ｘ１３＋Ｘ４＋１
【００１６】
Ｓ０〜Ｓ１５はシフト・レジスタ６０２に保持されるデータ（以下、１６ｂｉｔｓシフト・レジスタ値という。）を示す。シフト・レジスタ６０２は、シフトクロックＣＫｓの１クロック毎に、データＳｊの値をＳ（ｊ＋１）にシフトする（ｊ＝０〜１４）。スクランブルの方法は、スクランブルを行うデータブロック（ＲＵＢ）の先頭で、パラレルロード信号ＰＬに基づいて、シフト・レジスタ６０２に対してデータＳ０〜Ｓ１５がロードされる。この場合、データＳ０〜Ｓ１４として、物理セクターナンバにおけるＰＳ５〜ＰＳ１９の値がスクランブル初期値としてセクタ毎にロードされプリセットされる。なお、このようにプリセットされる物理セクターナンバは、クラスタの最初の物理セクターナンバである。データＳ１５のスクランブル初期値としては、固定値「１」がロードされる。
【００１７】
このようにシフト・レジスタ６０２のデータＳ０〜Ｓ１５として、物理セクターナンバの内のクラスタナンバがスクランブル初期値としてプリセットされるが、その際の最初の下位８ｂｉｔｓＳ０〜Ｓ７が、最初のスクランブリングバイト（以下、スクランブル値という）となる。
【００１８】
シフト・レジスタ６０２は、ユーザ・データ方向Ｑに１ｂｙｔｅ入力（Ｄｋ）するタイミングに同期して、スクランブル初期値からシフトクロックにより８ビットシフトさせた１６ｂｉｔｓシフト・レジスタ値の下位８ｂｉｔｓをスクランブル値（Ｓｋ）として出力する。ユーザ・データをスクランブルしたスクランブル後のデータ（スクランブル済データ）Ｄ'ｋは、下記に示すように、入力データＤｋとＤｋ入力タイミングで出力されるスクランブル値Ｓｋとの排他的論理和として求められる。
Ｄ'ｋ＝Ｄｋ  ｘｏｒ  Ｓｋ（ｋ＝０，１，・・・，２０５１）
ただし、ｘｏｒは排他的論理和を示す。
【００１９】
ここで、スクランブル処理においては、シフト・レジスタ６０２から得られるスクランブル値Ｓｋと、図２２に示すセクタＳｅｃを構成する２０５２ｂｙｔｅｓのユーザ・データ方向Ｑの順のデータＤｋとからスクランブル済データＤ'ｋが求められる。
【００２０】
このようにフォーマットされたブルーレイディスクの再生装置が特許文献１に開示されている。図２５は、特許文献１に記載の従来の再生装置を示すブロック図である。ディスク７０１は、記録及び再生動作時においてスピンドルモータ７５２によって一定線速度（ＣＬＶ）で回転駆動される。そして光学ピックアップ（光学ヘッド）７５１によってディスク７０１へのデータの記録又はディスク７０１からのデータの再生が行われる。
【００２１】
ピックアップ７５１は、レーザ光源となるレーザダイオード、反射光を検出するためのフォトディテクタ、及びレーザ光の出力端となる対物レンズを有し、レーザ光を対物レンズを介してディスク記録面に照射し、その反射光をフォトディテクタに導く光学系（図示せず）が形成される。このピックアップ７５１は、スレッド機構７５３によりディスク半径方向に移動可能とされる。レーザダイオードは、波長４０５ｎｍのいわゆる青色レーザを出力する。また光学系によるＮＡは０．８５であり、レーザドライバ７６３からのドライブ信号（ドライブ電流）によってレーザ発光駆動される。ディスク７０１からの反射光情報はフォトディテクタによって検出され、受光光量に応じた電気信号とされてマトリクス回路７５４に供給される。
【００２２】
マトリクス回路７５４には、フォトディテクタとしての複数の受光素子からの出力電流に対応して電流電圧変換回路及びマトリクス演算／増幅回路等を備え、マトリクス演算処理により必要な信号を生成する。例えば再生データに相当する高周波信号（再生データ信号）、サーボ制御のためのフォーカスエラー信号、トラッキングエラー信号、及びグルーブのウォブリングに係る信号としてプッシュプル信号等を生成する。
【００２３】
マトリクス回路７５４から出力される再生データ信号はリード／ライタ回路（ＲＷ回路）７５５へ、フォーカスエラー信号及びトラッキングエラー信号はサーボ回路７６１へ、ウォブリンググルーブの検出情報であるプッシュプル信号はウォブル回路７５８へ、それぞれ供給される。
【００２４】
ディスク７０１がリライタブルディスクの場合において、グルーブのウォブリングに係る信号としてマトリクス回路７５４から出力されるプッシュプル信号は、ウォブル回路７５８において処理される。ＡＤＩＰ情報としてのプッシュプル信号は、ウォブル回路７５８においてＭＳＫ復調、ＨＭＷ復調され、ＡＤＩＰアドレスを構成するデータストリームに復調されてアドレスデコーダ７５９に供給される。アドレスデコーダ７５９は、ウォブル回路７５８から供給されるウォブル信号を用いたＰＬＬ処理でクロックを生成し、例えば記録時のエンコードクロックとして各部に供給する。
【００２５】
ここで、記録時においては、ＡＶシステム７２０から記録データが転送され、ＥＣＣ／スクランブル回路７５７におけるメモリに送られてバッファリングされる。この場合ＥＣＣ／スクランブル回路７５７は、バファリングされた記録データのエンコード処理として、エラー訂正コード付加やスクランブル処理、サブコード等の付加を行う。ＥＣＣエンコード処理及びＥＣＣデコード処理は、ＲＳ（２４８，２１６，３３）、符号長２４８、データ２１６、ディスタンス３３のＲＳ（reed solomon）コードを用いたＥＣＣフォーマットに対応する処理となる。またＥＣＣエンコード及びスクランブル処理されたデータは、変復調回路７５６においてＲＬＬ（１−７）ＰＰ方式の変調が施され、リーダ／ライタ回路７５５に供給される。記録時においてこれらのエンコード処理のための基準クロックとなるエンコードクロックは上述のウォブル信号から生成したクロックを用いる。
【００２６】
エンコード処理により生成された記録データは、リーダ／ライタ回路７５５で記録補償処理として、記録層の特性、レーザ光のスポット形状、記録線速度等に対する最適記録パワーの微調整やレーザドライブパルス波形の調整などが行われた後、レーザドライブパルスとしてレーザドライバ７６３に送られる。レーザドライバ７６３では供給されたレーザドライブパルスをピックアップ７５１内のレーザダイオードに与え、レーザ発光駆動を行う。これによりディスク７０１に記録データに応じたピット（フェイズチェンジマーク）が形成されることになる。
【００２７】
スピンドルサーボ回路７６２はスピンドルモータ７０２をＣＬＶ回転させる制御を行う。スピンドルサーボ回路７６２は、ウォブル信号に対するＰＬＬ処理で生成されるクロックを、現在のスピンドルモータ７５２の回転速度情報として獲得し、これを所定のＣＬＶ基準速度情報と比較することで、スピンドルエラー信号を生成する。
【００２８】
以上のようなサーボ系及び記録再生系の各種動作はマイクロコンピュータによって形成されたシステムコントローラ７６０により制御される。システムコントローラ７６０は、ＡＶシステム７２０からのコマンドに応じて各種処理を実行する。例えばＡＶシステム７２０から書込命令（ライトコマンド）が出されると、システムコントローラ７６０は、まず書き込むべきアドレスにピックアップ７５１を移動させる。そしてＥＣＣ／スクランブル回路７５７、変復調回路７５６により、ＡＶシステム７２０から転送されてきたデータ（例えばＭＰＥＧ２などの各種方式のビデオデータや、オーディオデータ等）について上述したようにエンコード処理を実行させる。そして上記のようにリーダ／ライタ回路７５５からのレーザドライブパルスがレーザドライバ７６３に供給されることで、記録が実行される。なお、これらのデータの記録時や再生時には、システムコントローラ２６０は、アドレスデコーダ７５９によって検出されるＡＤＩＰアドレス、或いはＢＩＳに含まれるアドレスを用いてアクセスや記録再生動作の制御を行う。
【００２９】
この特許文献１に記載の技術においては、ブルーレイディスクのリンキングデータ（ランイン及びランアウト）をメインデータ（ユーザ・データ）と同様の方法でスクランブルすることで、ＲＡＭ互換に優れ、トラッキングサーボにも有利となるＲＯＭ媒体等の提供を図ったものである。
【特許文献１】特開２００４−１９２７４９号公報
【非特許文献１】「次世代光ディスク  解体新書」，日経エレクトリニクス  ブックス，２００３年１０月７日
【発明の開示】
【発明が解決しようとする課題】
【００３０】
ところで、図２２に示したように、各セクタにおいて付加されるＥＤＣ５０５は、セクタ毎にユーザ・データ方向Ｑの順に所定の演算を施すことで得られるものである。また、図２４に示すスクランブル回路６０１においては、ＥＤＣが付加された一のセクタの２０５２ｂｙｔｅｓ毎に、各データのユーザ・データ方向Ｑの順に対してのスクランブル値Ｓｋを出力するものであり、スクランブル処理に際してもユーザ・データ方向Ｑの順にスクランブル済データが得られることとなる。
【００３１】
一方で、ディスクに対するデータの記録方向は、レコーディング・フレーム方向Ｐであり、この方向Ｐの順にデータを変調する必要がある。すなわち、少なくとも変調前までには、データの並び順をユーザ・データ方向Ｑからレコーディング・フレーム方向Ｐの順に並び替えて出力することが必要となる。
【００３２】
これに対し、上述したＥＤＣ５０５は、ユーザ・データの最後に付加される構成を有し、偶数セクタにおいては、ＥＤＣ５０５は、ユーザ・データ方向Ｑの途中に配置される構成を有する。よって、ＥＤＣ付加データを例えばレコーディング・フレーム方向Ｐにデータを転送しようとすると、偶数番号セクタにおいては、全てのデータが揃わないうちにＥＤＣを転送しなければならないことになるが、ＥＤＣ５０５は、１セクタのユーザ・データに対して所定の演算を行なって得るものであるため、ユーザ・データが全て揃わない状態でＥＤＣ５０５を求めることは通常は不可能である。また、スクランブル処理においても、上述のようにセクタ毎のＥＤＣ付加データのユーザ・データ方向Ｑの順にスクランブル値が算出されるため、レコーディング・フレーム方向Ｐの順にスクランブル済データを獲得しようとすると、すなわち、レコーディング・フレームＰの順にスクランブル処理を行う場合、２１６ｂｙｔｅｓに１ｂｙｔｅ（２１６回に１回）の割合でユーザ・データをスクランブル回路１０１に入力することとなる。なお、奇数番セクタにおいては、最初の折り返しは、１０８ｂｙｔｅとなる。
【００３３】
従って、ＥＤＣ付加処理、スクランブル処理、ＥＣＣ付加処理などのエンコードを予め行っておき、その後、レコーディング・フレーム方向にデータを転送する必要がある。ここで、ＥＤＣ付加処理、スクランブル処理、ＥＣＣ付加処理などのエンコード処理を施したユーザ・データがアドレスの小さい方からデータ・バッファ内にバッファされているとすると、レコーディング・フレーム方向にデータを転送しようとすると例えば２１６ｂｙｔｅｓとびのアドレスへのアクセスが必要となる。よって、ランダムアクセスが可能なデータ・バッファが必要となる。しかしながら、データ・バッファとして、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）等のランダムアクセスを高速に行うことに不向きな記憶装置で構成した場合、ランダムアクセスを高速にすることができず、高倍速記録の障害となる。
【００３４】
上述のように、ブルーレイディスクにおいては、ＥＤＣを生成する際の順序及びスクランブル処理する順序であるユーザ・データ方向Ｑとは異なるレコーディング・フレーム方向Ｐへのデータ転送が必要である。すなわち、少なくとも、記録単位の１ＲＵＢのユーザ・データについて、ＥＤＣの付加及びスクランブルを行い（パスＳ１）、その後、ユーザ・データ方向Ｑのデータをレコーディング・フレーム方向Ｐで読み出す処理（パスＳ２）を必要とする。このように２パスでエンコードすることが必須である構成上、データ・バッファはＥＤＣ、ＥＣＣを含んで最小２クラスタ（１クラスタは７５３９１ｂｙｔｅｓ）以上の容量が必要となる。一般的にこのようなデータ・バッファはメモリで構成されるが、ＤＲＡＭで構成した場合、ランダムアクセスにより高倍速記録に追従できるデータ転送レートを確保することができず、高倍速記録を実行することができない。また、ＳＤＲＡＭ等をユーザデータ・バッファとして用いた場合、バースト転送等を使用することで、連続したアドレスであればある程度のデータを高速転送することが可能であると考えられるが上述の通り、レコーディング・フレーム方向Ｐのデータ転送には高速ランダムアクセスが必要なため、高倍速記録が困難である。
【００３５】
一方、データ・バッファをＳＲＡＭなどのランダムアクセスを高速に行えるような記憶装置で構成すれば、ランダムアクセスを実行しても高い転送レートでのデータ供給が可能であるものの、コストが大幅に増大することとなり現実的でない。
【課題を解決するための手段】
【００３６】
上述した課題を解決するために、本発明にかかるエンコーダ装置は、ユーザ・データに対し所定の演算を施し演算済データとして出力するエンコード装置であって、第１の順序で入力されるユーザ・データを格納するデータ・バッファと、前記第１の順序のユーザ・データに対して所定の演算を施した第１の順序演算結果を保持する演算値保持部と、前記データ・バッファからの前記ユーザ・データを格納し、前記ユーザ・データを含む格納データを前記第１の順序とは異なる第２の順序の第２順序データとして出力する置き換えバッファと、前記演算値保持部に保持された前記第１の順序演算結果に基づき、前記第２順序データに所定の演算を施し、前記第２の順序の前記演算済データを出力する第２の順序演算部とを有するものである。
【００３７】
本発明によれば、前記置き換えバッファにより、ユーザ・データを含む格納データを第２順序データとし、前記演算値保持部に保持された第１の順序演算結果を利用することで第２の順序で演算済みデータを出力することができる。
【００３８】
本発明にかかるエンコード方法は、ユーザ・データに対し所定の演算を施し演算済データとして出力するためのエンコード方法であって、第１の順序のユーザ・データに対し、所定の演算を施し演算結果を保存する第１の処理と、前記第１の順序のユーザ・データと前記演算結果とから、前記第１の順序とは異なる第２の順序で前記ユーザ・データに所定の演算を施し前記演算済データに変換する第２の処理とを並列して実行するものである。
【００３９】
本発明においては、演算結果を得るための第１の処理と、第１の処理にて得られた演算結果を利用してユーザ・データを演算済データに変換するための第２の処理とを並列して実行することにより、第１の順序で入力されるユーザ・データを第１の順序とは異なる第２の順序に変換し、演算済データとして出力することができる。
【００４０】
本発明にかかるスクランブル回路は、ユーザ・データに対し誤り検出符号を付加した誤り検出符号付加データのスクランブル処理をするスクランブル回路であって、第１の順序でスクランブル値を算出する第１の順序用演算器を使用して前記第１の順序とは異なる第２の順序の変換スクランブル値を出力する変換部と、前記第２の順序で入力される誤り検出符号付加データと、前記変換スクランブル値とからスクランブル済データを算出する演算部とを有するものである。
【００４１】
本発明によれば、第１の順序でスクランブルを行う第１の順序用演算器により演算される第１の順序のスクランブル値を第２の順序に変換して利用することで、第２の順序で入力される誤り検出符号付加データに対して第１の順序用演算器を利用しつつスクランブル処理をすることができる。
【発明の効果】
【００４２】
本発明によれば、大量データに対するランダムアクセスの発生による転送レートの低下を抑制し、高倍速記録を可能とするに適したスクランブル処理、エンコード処理が可能となる。
【発明を実施するための最良の形態】
【００４３】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、光ディスクにおける高倍速記録を可能とするエンコード装置及び記録装置に適用したものである。なお、以下の説明においては、光ディスクの一例として、ブルーレイディスクを例にとり、必要に応じてブルーレイ規格の物理仕様に準じたエンコード処理を実行するものとして説明するが、本発明にかかるエンコード装置及び記録装置は、ブルーレイディスクに限らず、他のディスクのエンコード装置及び記録装置に適用することも可能である。
【００４４】
また、特にユーザ・データのエンコード処理、ブルーレイディスクにおいては、上述したユーザ・データから少なくともスクランブル済データを生成するまでの間における処理に特徴を有する記録装置として説明するが、例えば再生装置と組み合わせて記録再生装置とすることもでき、また本実施の形態においてエンコード装置に適用するスクランブル回路は、本実施の形態にかかるエンコード装置に限らず、他の構成のエンコード装置、又はブルーレイディスク等の再生装置におけるデ・スクランブル回路に適用することも可能である。
【００４５】
実施の形態１． 
（１）エンコード装置の概略 
図１は、本発明の実施の形態１にかかるディスクエンコード装置及びこれを有する記録システムを示す模式図である。図１に示すように、本記録システム１は、記録装置３と、記録装置３に対しユーザ・データを転送するホスト２とから構成される。ホスト２は、例えばＡＶ（audio- visual）システム又はパーソナル・コンピュータ（ＰＣ）等であって、記録装置３に対し、ユーザ・データの記録を指示したり、ディスクに記録されているデータの読み出し指示をするものである。
【００４６】
記録装置３は、ユーザ・データをエンコードするエンコード装置１０と、エンコードしたユーザ・データに対し必要に応じてその他の付加情報を統合する統合部１０１と、統合部１０１にて統合されたデータの変調をする変調部１０２と、変調データに基づき記録動作を制御するディスクコントローラ１０３と、ディスク１０４とを有する。統合部で統合されるその他の付加データは、ブルーレイディスクであればアドレス情報（ＢＩＳ）等である。
【００４７】
エンコード装置１０は、ホスト２から転送されるユーザ・データにＥＤＣ付加、スクランブル処理、ＥＣＣ付加等の変調前の処理がなされたデータを演算済データとして出力する。ブルーレイディスクであれば、エンコード装置１０は、スクランブル処理後のスクランブル済データ（図２１のＤ３参照）及びＥＣＣを統合部１０１に出力する。統合部１０１は、スクランブル済みデータＤ３に対し行列再配置をし、ＥＣＣを付加してインタリーブをしてＥＣＣクラスタ（図２１のＤ６参照）とする。
【００４８】
また、図示しないＢＩＳを生成する他のエンコード装置（ＢＩＳ用エンコード装置）において、ユーザ・コントロール・データ及びアドレス・ユニット・ナンバ（図２１のＤ７、Ｄ８参照）からアクセス・ブロック（図２１のＤ９参照）を生成し、またＢＩＳＥＣＣを生成する（図２１のＤ１０参照）。そして、当該ＢＩＳ用エンコード装置からアクセス・ブロック及びＢＩＳＥＣＣが統合部１０１へ供給され、ＢＩＳブロック（図２１のＤ１０参照）を生成し、更にこれをインタリーブしてＢＩＳクラスタ（図２１のＤ１１参照）とする。そして、ＬＤＣクラスタとＢＩＳクラスタとを結合してＥＣＣクラスタ（図２１のＤ１２参照）とし、フレームシンク、ＤＳＶ制御ビットを付加してフィジカルクラスタ（図２１のＤ１３参照）として変調部１０２へ供給する。
【００４９】
変調部１０２は、レコーディング・フレームを１７ＰＰ変調すると共にランイン及びランアウトを付加して、レコーディングユニットブロックＲＵＢ（図２１のＤ１４参照）を生成し、ディスクコントローラ１０３へ供給する。ディスクコントローラ１０３は、このＲＵＢを１記録単位としてディスク１０４へデータの記録を実行する。
【００５０】
エンコード装置１０は、ホスト１から転送されるユーザ・データをバッファリングするデータ・バッファ１１、及びこのデータ・バッファ１１からのデータの読み出しを制御するバッファ・コントローラ１２を有する。また、バッファ・コントローラ１２から読み出されたユーザ・データからＥＤＣを生成するＥＤＣ生成部１３、及びＥＤＣ生成部１３にて生成されたＥＤＣを一時保持するＥＤＣバッファ１４を有する。さらに、データ・バッファ１１からのユーザ・データとＥＤＣバッファ１４に保持されているＥＤＣとを統合する統合部１５、ＥＤＣが付加されたデータ（以下、ＥＤＣ付加データという）をスクランブル処理するスクランブル回路１６、及びスクランブル回路１６により生成されたスクランブル値を保持するスクランブル・バッファ１７を有する。さらにまた、スクランブル回路１６にてスクランブルされたデータ（以下、スクランブル済データという）からＥＣＣを生成するＥＣＣ生成部１８、及びＥＣＣ生成部１８により生成されたＥＣＣを一時保持するＥＣＣバッファ１９を有する。
【００５１】
また、バッファ・コントローラ１２によりデータ・バッファ１１から読み出されたユーザ・データに対しＥＤＣバッファ１４に保持されているＥＤＣを所定のタイミングで読み出し付加してＥＤＣ付加データとする統合部２０、統合部２０により統合されたＥＤＣ付加データを一時記憶する置き換えバッファ２１、及び置き換えバッファ２１により置き換えられたＥＤＣ付加データに対し、スクランブル・バッファ１７に保持されているスクランブル中間値を使用してスクランブル処理を施したスクランブル済データを生成するスクランブル回路２２を有する。そして、ＥＣＣバッファ１９からのＥＣＣとスクランブル回路２２からのスクランブル済データとが上述の統合部１０１に供給さる。
【００５２】
ここで、本実施の形態においては、ＥＤＣ生成部１３、統合部１５、スクランブル回路１６及びＥＣＣ生成部１８から第１の順序演算部が構成され、ユーザ・データ方向におけるデータ処理を行う。また、ＥＤＣバッファ１４、スクランブル・バッファ１７及びＥＣＣバッファ１９から演算値保持部が構成される。なお、後述するように、ＥＤＣバッファ１４、ＥＣＣバッファ１９のいずれか一方又は両方をデータ・バッファ１１内に設けることも可能である。更に、スクランブル回路２２は、第２の順序演算部として第１の順序演算部による演算結果を利用してディスクのデータ記録方向であるレコーディング・フレーム方向Ｐの順にデータ処理を行う回路である。更に、バッファ・コントローラ１２及び統合部２０は、バースト転送における先頭アドレスを指定したり、ＥＤＣバッファ１４からのＥＤＣ読み出しタイミングを制御する制御部として機能する。
【００５３】
また、本実施の形態にかかるエンコード装置１０におけるデータ・バッファ１１は、ＳＤＲＡＭ等、リフレッシュ動作が必要であって、ランダムアクセス及びバースト転送が可能なメモリから構成される。以下の説明においては、ＳＤＲＡＭとして説明する。ＳＤＲＡＭは、連続したアドレスに限り、ランダムアクセスに比べ高速にアクセス可能なＤＲＡＭであり、バースト転送機能を利用すれば高速データ転送が可能となり、ＳＲＡＭ等の高速ランダムアクセス可能なメモリに比してコストを低減することができる。
【００５４】
また、置き換えバッファ２１は、リフレッシュ動作が不要であって、ランダムアクセス可能なメモリから構成される。以下の説明においてはＳＲＡＭとして説明するが、高速にランダムアクセス可能であれば、ＳＲＡＭに限らない。この置き換えバッファ２１は、ユーザ・データ方向Ｑのデータをレコーディング・フレーム方向Ｐのデータに置き換えるために設けるものであり、レコーディング・フレーム方向Ｐの順にＥＤＣ付加データを高速転送可能である。ここで、ブルーレイディスクであれば、１記録単位を処理単位としてエンコードされ、エンコード処理は上述のように、ユーザ・データ方向ＱにＥＤＣ付加、スクランブル及びＥＣＣ付加処理（パスＳ１）の後、一旦、１記録単位を並び換えてレコーディング・フレーム方向Ｐの順にデータ転送する（パスＳ２）ことが必要になり、ＳＲＡＭ等の高速ランダムアクセス可能な高価なメモリが１記録単位分、実際にパスＳ１及びパスＳ２の処理を同時並列して行うため、２記録単位以上の記憶容量を有する。これに対し、本実施の形態においては、データ・バッファ１１からユーザ・データ方向のバーストサイズのデータを、レコーディング・フレーム方向にデータが揃うようバースト転送を繰り返す手法により、置き換えバッファ２１の記憶容量を１記録単位未満とするものである。
【００５５】
このため、後述するスクランブル中間値によってレコーディング・フレーム毎のスクランブルを併用する。これらのことから、レコーディング・フレーム毎のアクセス及びスクランブルを高速に実行することができ、ＤＲＡＭを使用して低コストでかつ高倍速記録が可能なデータのエンコードを実現するものである。
【００５６】
（２）エンコード方法の概略 
先ず、本発明の理解を容易とするため、ＳＤＲＡＭを使用する場合の問題点について、ディスクのフォーマット及び本発明の概要と共に説明しておく。以下の説明においては、ユーザ・データ方向Ｐの順のアドレスが小さい順を先頭とし、ユーザ・データの先頭データからＳＤＲＡＭ等のデータ・バッファ１１に一時保持されるものとして説明する。
【００５７】
ブルーレイディスクのように、ＥＤＣ、スクランブル処理、ＥＣＣなどのエンコード処理の順序と、ディスクに記録する記録順序とが異なる場合、先ず、ＥＤＣ付加処理、スクランブル処理、ＥＣＣ付加処理などの処理を実行し、その後、これらの処理が完了したデータをレコーディング・フレーム方向に転送する必要がある。このように２回に分けたエンコード手法を、本明細書においては２パス構成のエンコードということとする。そして、ＥＤＣ、ＥＣＣなどの付加データを生成するエンコード処理をパスＳ１、実際のレコーディング・フレーム方向のデータ転送処理をパスＳ２ということとする。このため、ブルーレイディスクに対する記録データのエンコード処理をする場合、ユーザ・データを変調前のデータとするまでのエンコード処理は、ユーザ・データ方向Ｑの順にＥＤＣ及びＥＣＣを生成する第１の工程（パスＳ１）と、レコーディング・フレーム方向Ｐにユーザ・データ等を転送する第２の工程（パスＳ２）とが必要となる。
【００５８】
図２は、ブルーレイディスクにおけるデータ・ブロックのバイト単位のデータの並び順を説明する図である。データ・ブロックＤ４は、３２個のセクタにより構成される。１つのセクタは、２０４８ｂｙｔｅｓのユーザ・データに４ｂｙｔｅｓのＥＤＣが付加された２０５２バイトのデータからなる。図３は、２つのセクタＳｅｃ０、Ｓｅｃ１を拡大して示す図である。図中に示す数値は、バイト単位のユーザ・データ方向Ｑの順を示す。データ・ブロックＤ４は、３０４列２１６行からなる。ここで、Ｃ＝列番号（０≦Ｃ≦３０３）、Ｒ＝行番号（０≦Ｒ≦２１５）とする。
【００５９】
各セクタは、２１６バイトを列方向に並べ折り返して次の列に並べるため、例えばセクタＳｅｃ０においては、Ｃ＝９列目は１９４４〜２０５１番目のバイトデータとなり、Ｒ＝１０７行目までとなる。Ｒ＝１０８〜２１５行目は次のセクタＳｅｃ１の０から１０７番目のバイトデータが配置される。このように、データ・ブロックＤ４は、偶数番目のセクタ（偶数セクタ）と奇数番目のセクタ（奇数セクタ）とを１つの単位（以下、アリアともいう）、すなわち、１９列からなる２つのセクタ（エリア）毎に同じ順序で繰り返し配置されている。
【００６０】
セクタＳｅｃ０〜セクタＳｅｃ３１は、図２及び図３に示すユーザ・データ方向Ｑの順序にてユーザ・データに対し所定の演算を施すことでＥＤＣが付加され、スクランブルされた後、変調等が施されてディスクに記録されるが、この記録の際には、データ・ブロックは、図２中に矢印で示すレコーディング・フレーム方向Ｐの順に記録されることとなり、ユーザ・データ方向Ｑの列方向とは直交する方向となる。
【００６１】
このように、ユーザ・データ方向Ｑは、ブルーレイディスクにおける誤り検出符号付加の際の処理順序及びスクランブル処理の際の処理順序の方向となる。なお、再生処理の際には、同じく、ユーザ・データ方向Ｑの順にデ・スクランブル処理され、ＥＤＣ検出処理がなされる。レコーディング・フレーム方向Ｐは、ブルーレイディスクにおけるデータの記録順序の方向となる。また、再生処理の際には、このレコーディング・フレーム方向Ｐの順でディスク１０４からデータが読み出される。
【００６２】
ＥＤＣ生成部１３は、ユーザ・データ方向Ｑに２０４８ｂｙｔｅｓのユーザ・データと４ｂｙｔｅｓの０データを入力することで、４ｙｔｅｓのＥＤＣを生成するシフト・レジスタからなる。また、その後にスクランブル回路１６に行われるスクランブル処理としては、ＥＤＣが付加されたＥＤＣ付加データからなる各セクタを同じくユーザ・データ方向Ｑに所定の演算を施すことでスクランブル済データを得ることができる。
【００６３】
このように、ブルーレイディスクにおいては、ディスクに対する記録・再生する順序と、ＥＤＣ付加、スクランブル処理等の順序とは異なる順序となり、１記録単位であるＲＵＢに含まれる１データ・ブロックについて、一旦、ユーザ・データ方向Ｑの順にＥＤＣ付加、スクランブル等の処理を行った後、再度レコーディング・フレーム方向Ｐの順に変調・記録又は読み出し・復調処理する必要がある。
【００６４】
図４及び図５は、以上のような処理を実行することができる記録システムの一例（以下、参照例１、２という）を示す模式図である。図６は、図４及び図５と比較した場合の本実施の形態にかかる記録システムを示す模式図である。なお、図６に示す本実施の形態にかかる光ディスクシステム１は、図１に示すそれを一部省略したものである。
【００６５】
通常、このようなフォーマットを有するブルーレイ規格を代表するデータのエンコード装置は、例えば図４に示す参照例１のように構成することができる。すなわち、図４に示すように、ホスト２から送られるユーザ・データ方向Ｑのユーザ・データを１ＲＵＢ単位でデータ・バッファ（以下、ＳＤＲＡＭという）２１１に記憶する。そして、セクタ毎に読み出し、ＥＤＣ生成部２１３にてＥＤＣを付加し、これをスクランブル回路２１６にてスクランブル処理し、最後にＥＣＣ生成部２１８にてＥＣＣを生成して付加し、これを再度データ・バッファ（ＳＤＲＡＭ）２１１に書き戻す。ＥＤＣ付加工程、スクランブル処理工程、ＥＣＣ処理工程においては、全てユーザ・データ方向Ｑにデータが入力されて処理されるため、連続して処理が可能である。
【００６６】
一方、ディスク１０４に記録するのはこのユーザ・データ方向Ｑの順とは異なるレコーディング・フレーム方向Ｐの順となる。したがって、少なくとも変調前までにおいて、レコーディング・フレーム方向Ｐの順に並び替えが必要となる。しかしながら、例えば、スクランブル回路２１６においては、１ｂｙｔｅ毎、ユーザ・データ方向Ｑの順でスクランブル処理が行われるため、ユーザ・データ方向Ｑの順の先頭バイトをｂｙｔｅ０とすると、レコーディング・フレーム方向Ｐの順に処理する場合、ユーザ・データ方向Ｑのバイト列を、ｂｙｔｅ０→ｂｙｔｅ２１６→ｂｙｔｅ４３２と２１６ｂｙｔｅ飛びに必要となってしまう。なお、図２に示すように、１セクタはｂｙｔｅ０〜ｂｙｔｅ２０５１とすると、２１６ｂｙｔｅで折り返すため奇数セクタの先頭列はｂｙｔｅ１０８となる。
【００６７】
すなわち、例えば統合部１０１にレコーディング・フレーム方向Ｐの順に、スクランブル済データを転送しようとすると、ｂｙｔｅ０の次に必要なｂｙｔｅ２１６のデータは、ユーザ・データ方向Ｑの１列分の処理後にしか得られない。よって、ユーザ・データ方向Ｑの順に処理したデータを１ＲＵＢに相当する分、ＳＤＡＲＭ２１１に書き戻し、これをレコーディング・フレーム方向Ｐの順に並び替えた状態で読み出すこととなり、ＳＤＲＡＭ２１１に対してランダムアクセスが必要となる。
【００６８】
以上の理由からＥＣＣ生成部２１８にて処理されたデータは、随時ＳＤＲＡＭ２１１に書き戻される。そして、改めてこれをレコーディング・フレーム方向Ｐの順で読み出し、統合部１０１に転送するためには、１ＲＵＢに相当するデータのスクランブル処理後のデータを書き戻す工程（パスＳ１）の後に、ＳＤＲＭ２１１からレコーディング・方向Ｐに読み出す工程（パスＳ２）が必要となる。ただし、ユーザ・データ方向Ｑの順に書き戻されたデータをレコーディング・フレーム方向Ｐの順に読み出す処理はランダムアクセスとなる。しかしながら、ＳＤＲＡＭ２１１は高速にランダムアクセスすることが不可能である。例えばパスＳ１とパスＳ２の処理をパラレルに処理したとしても、ＥＣＣ付加後のデータをレコーディング・フレーム方向Ｐに転送する処理速度をこのままでは高速化することができない。
【００６９】
このように、データ・バッファをＳＤＲＡＭ２１１とした場合には、レコーディング・フレーム方向のデータ転送速度が間に合わず、高倍速記録を実行することが不可能である。これを解決する方法としては、図５に示すように、データ・バッファをＤＲＡＭではなく、高速にランダムアクセスすることができるＳＲＡＭ等の一時記憶装置２４１（以下、ＳＲＡＭという）とて設けることが考えられる。しかしながら、ＳＲＡＭ２４１は、パスＳ１の工程に使用するための記憶領域と、パスＳ２の工程に使用するための記憶領域とが必要となり、２記録単位に相当するデータを格納する記憶領域が必要である。なお、実際にはホスト２からユーザ・データを転送するための記憶領域も必要になるため、少なくとも３記録単位の記憶領域を確保する必要がある。このような大きな記憶領域をＳＲＡＭで用意することはコストが極めて増大してしまう。
【００７０】
以上のことから、本実施の形態においては、高速ランダムアクセス可能な高価なメモリをできるだけ小さいものとし、コストの増大を抑えつつ、高速データ転送を可能にする光ディスクシステムを提供するものである。このため、ホスト２からのユーザ・データを一時記憶するメモリとしては図６に示すように、図４と同じくＳＤＲＡＭ等からなるデータ・バッファ１１を使用する。ここで、データ・バッファ１１は、高速ランダムアクセスはできないものの、連続したアドレスであればある程度のデータを一括転送するバースト転送機能を有している。バースト転送等を用いて連続的にデータ取得を行うと、大幅に転送レートが向上するのは既知の事実であるが、図４で説明したように、高速にランダムアクセスするには不向きである。
【００７１】
これに対し、本実施の形態にかかる記録装置３は、データ・バッファ１１にＳＤＲＡＭ等を使用しながらも、比較的小規模な回路の追加（破線部３０）によって、高倍速のエンコードに対応することを可能とする。
【００７２】
その詳細は後述するが、レコーディング・フレーム方向Ｐのデータを先頭（２１６ｂｙｔｅｓ又は２１２＋Ｎｂｙｔｅｓ飛び）としたデータを、データ・バッファ１１からのバースト転送を繰り返すことで得る。そして、このバースト転送で得たデータを高速にランダムアクセス可能な一時記憶装置であるＳＲＡＭ等よりなる置き換えバッファ２１に格納し、レコーディング・フレーム方向Ｐにデータを取り出すことで並び替えを行う。そして、並び替えが終了したデータに対し、２１６ｂｙｔｅｓ（１０８ｂｙｔｅｓ）毎のスクランブル中間値によって、レコーディング・フレーム毎のスクランブルを可能とする。このことにより、レコーディング・フレーム方向Ｐの高速データ転送を可能とし、よって高倍速記録に対応可能なシステムを提供する。なお、ブルーレイディスクにおいては、１セクタのユーザ・データは２０４８ｂｙｔｅｓであり、Ｎはデータ・バッファ１１に置かれたセクタ毎のデータの間に挿入するデータ数を示す。本実施の形態においては、説明の簡単のため、Ｎ＝０として説明を行う。
【００７３】
（３）エンコード装置の動作 
次に、本実施の形態にかかる記録装置３の動作の概略について説明する。図７は、パスＳ１及びパスＳ２におけるデータ処理タイミングを示す図である。図７に示すように、ディスク１０４には、記録単位である１ＲＵＢ毎にデータが記録される。ここで、ｔ番目のＲＵＢに含まれるユーザ・データの処理をパスＳ１において処理しているとき、（ｔ−１）番目のＲＵＢに含まれるユーザ・データの処理がパスＳ２により処理される。すなわち、パスＳ２の処理は、パスＳ１の処理結果に基づき実行されるもので、このように記録装置３は、ｔ及び（ｔ−１）番目のＲＵＢに含まれるユーザ・データの処理を並列して実行することでＲＵＢに含まれるユーザ・データをパイプライン的にエンコード処理する。この際、パスＳ１においては、ユーザ・データがユーザ・データ方向Ｑに転送され、パスＳ２においては、スクランブル済となったユーザ・データがレコーディング・フレーム方向Ｐに出力される。
【００７４】
パスＳ１では、先ずＥＤＣ生成部１３でのＥＤＣを生成しＥＤＣバッファ１４にＥＤＣを保存し、次にスクランブル回路１６でスクランブル処理しスクランブル・バッファ１７にスクランブル中間値を保存し、最後にＥＣＣ生成部１８でＥＣＣを生成し、ＥＣＣバッファ１９にＥＣＣを保存する。処理としてはこれらが順次行なわれるが、各回路における出力データが順次、次の処理回路へ入力されるため、各回路におけるパスＳ１での処理は並行処理となる。また、パスＳ２では、データ・バッファ１１からバッファ・コントローラ１２及び統合部２０を介してユーザ・データにＥＤＣを付加したＥＤＣ付加データを、置き換えバッファ２１に書き込みした後、次にレコーディング・フレーム方向Ｐの順で読み出しスクランブル回路２２におけるレコーディングフレームデータ毎のスクランブル処理を実行する。こうしてスクランブル済データとされた後、レコーディング・フレーム方向Ｐの順に統合部１０１に供給され、統合部１０１にてＥＣＣの付加及びインタリーブを行って変調前の処理を行う。パスＳ２においても、処理としては以上が順次行われるが、パスＳ１と同様各回路において並列処理がなされる。
【００７５】
したがって、ディスク１０４に記録する（ｔ−１）番目のＲＵＢのパスＳ２の処理時には、ｔ番目のＲＵＢのパスＳ１の処理が行われることなり、パスＳ２の（ｔ−１）番目のＲＵＢの処理の開始前にパスＳ１の（ｔ−１）番目のＲＵＢの処理が終了している。すなわち、図７に示すように、パスＳ１は、少なくともパスＳ２より１ＲＵＢ先のデータの処理を実行することなる。
【００７６】
次に、記録装置３における動作について更に詳細に説明する。最初に、ホスト２は、記録装置３に対し、ディスク１０４へのユーザ・データの記録を指示すると共に、（ｔ−１）番目及びｔ番目のＲＵＢに対応するユーザ・データを転送する（Ｓ０）。この際、記録装置３は、パスＳ１及びパスＳ２の処理を同時並行して実行する。ここで、データ・バッファ１１は、２ＲＵＢに含まれるユーザ・データを処理することが可能な記憶領域を有し、例えば１ＲＵＢに含まれるユーザ・データを記憶可能な記憶領域を２以上有する。例えばこれを記憶領域１１ａ、１１ｂ（図示せず）とすると、一方の記憶領域１１ａにｔ番目のＲＵＢに対応するユーザ・データを格納し、データ・バッファ１１は、この記憶領域１１ａからバースト転送により高速にユーザ・データをＥＤＣ生成部１３へ供給する。また、他方の記憶領域１１ｂには、（ｔ−１）番目のＲＵＢに対応するユーザ・データが格納されており、当該（ｔ−１）番目のＲＵＢに対応するユーザ・データを使用して後述するパスＳ２の処理が実行される。
【００７７】
（３−１）パスＳ１の動作 
先ず、パスＳ１について説明する。なお、図１において（Ｓ０）、（Ｓ１−１）、（Ｓ２−１）等の符号は、ブロック間のデータ処理順序を示す。例えば、（Ｓ１−１）は、パスＳ１の１番目の処理、（Ｓ２−１）はパスＳ２の１番目の処理の順序を示す。ホスト２からユーザ・データ方向Ｑの順に転送されたユーザ・データは、ユーザ・データ方向Ｑの順にデータ・バッファ１１の例えば一方の記憶領域１１ａに一時保存されている。データ・バッファ１１は上述したようにＳＤＲＡＭ等から構成され、記憶順序、すなわちユーザ・データ方向Ｑの順に連続したデータのバースト転送が可能な一時記憶装置である。バースト転送を開始するアドレス（先頭アドレス）は、ランダムに指定することができる。
【００７８】
バッファ・コントローラ１２は、このデータ・バッファ１１よりバースト転送等にてユーザ・データ方向Ｑの順のユーザ・データを取得し、ＥＤＣ生成部１３へ供給する（Ｓ１−１）と共に統合部１５へ供給する（Ｓ１−２）。ＥＤＣ生成部１３は、所定の演算を施す演算器（図示せず）を有する。ブルーレイ規格におけるＥＤＣは、ユーザ・データ方向Ｑの順に所定の演算を施すことで求めることができ、演算部としては、例えば図８に示すような３２ｂｉｔｓシフト・レジスタをＥＤＣ演算用シフト・レジスタとして構成することができる。なお、パスＳ１の処理は、一のＲＵＢに含まれるユーザ・データ単位（データ・ブロック単位）で行なわれるが、ＥＤＣ生成部１３、スクランブル回路１６、ＥＣＣバッファ１９等の各回路は、同時並列的に演算処理を実行する。
【００７９】
この演算シフト・レジスタは、ユーザ・データ方向Ｑの順に、１セクタ分の２０４８バイトのユーザ・データに４ｂｙｔｅｓの０データを付加した２０５２ｂｙｔｅｓをユーザ・データ方向Ｑの順序に入力すると、４ｂｙｔｅｓのＥＤＣが生成される。こうしてＥＤＣの生成は１セクタ単位で行われる。
【００８０】
ここで、ユーザ・データに対してＥＤＣを付加する処理を、ＥＤＣ演算器を使用せずにパスＳ２においても実行するため、本実施の形態におけるＥＤＣ生成部１３は、ＥＤＣ演算器により演算されたデータ・フレームＤ２から４ｂｙｔｅｓのＥＤＣを取り出し、ＥＤＣバッファ１４に保存する（Ｓ１−３）。このように、予めＥＤＣを演算して求めておけば、パスＳ２においては、ＥＤＣ付加の際に１セクタ単位で処理する必要がない。
【００８１】
ＥＤＣ生成部１３は、１ＲＵＢに含まれる３２セクタ分のＥＤＣをセクタ毎に順次演算し、ＥＤＣバッファ１４に順次格納していく。したがって、ＥＤＣバッファ１４は、３２セクタ分のＥＤＣを格納する領域を有する。また、パスＳ１実行中には、後述のパスＳ２が同時並列して実行され、この際に（ｔ−１）番目のＲＵＢに含まれる３２セクタ分のＥＤＣを使用する。このため、（ｔ−１）番目のＲＵＢに含まれる３２セクタ分のＥＤＣを記憶し出力するための領域を更に有する。よって、ＥＤＣバッファ１４は、４ｂｙｔｅｓ×３２（セクタ）×２パス分の計２５６ｂｙｔｅｓ以上の記憶容量を有する、例えばＳＲＡＭ又はＳＤＲＡＭ等ランダムアクセス可能な一時記憶装置により構成される。ＥＤＣバッファ１４は、このＥＤＣを統合部１５へ供給する（Ｓ１−４）。
【００８２】
統合部１５は、データ・バッファ１１から転送されるユーザ・データ方向Ｑの順のユーザ・データＤ１と上述のようにして生成されたＥＤＣとを統合し、ＥＤＣが付加されたＥＤＣ付加データを生成してスクランブル回路１６に出力する（Ｓ１−５）。
【００８３】
スクランブル回路１６は、セクタ毎に、クラスタの先頭セクタのアドレス値で初期化されたスクランブル初期値を８ビットシフトし、その下位８ｂｉｔｓをスクランブル値として出力するスクランブル用シフト・レジスタと、このスクランブル値とユーザ・データ方向Ｑの順に入力されるＥＤＣ付加データとの排他的論理和を求める論理回路とを有する。スクランブル用シフト・レジスタは、スクランブル回路１６にデータ・フレームＤ２が１バイトずつ入力されるタイミングで８ｂｉｔｓシフトしてスクランブル値を出力する。このスクランブル用シフト・レジスタは、上記初期値を順次シフトして所定の演算を施す図２２示すシフト・レジスタとすることができる。
【００８４】
このように構成されるスクランブル回路１６は、統合部１５を介してユーザ・データ方向Ｑの順に１バイトずつ順にＥＤＣ付加データが入力され、この入力データＤｋの入力タイミングで、スクランブル用シフト・レジスタからスクランブル値Ｓｋが出力され、これらの排他的論理和を求めたスクランブル済データＤｋ'を出力する。こうしてユーザ・データ方向Ｑの順にスクランブル処理がなされ、スクランブル済データとされる。この際、スクランブル回路１６は、スクランブル値を求めたスクランブル用シフト・レジスタの保持値（１６ｂｉｔｓ）を、スクランブル中間値として保持する。この１６ｂｉｔｓのスクランブル中間値は、パスＳ２において、ユーザ・データ方向Ｑではなく、レコーディング・フレーム方向のスクランブル値を算出するために使用される。
【００８５】
ただし、全てのＥＤＣ付きユーザ・データに対応するスクランブル中間値を保持すると保持するデータ記憶量が多くなってしまう。上述のように、各セクタは、偶数セクタと奇数セクタとがセットになった１のエリアにおいては、全く同一のアドレスを有することとなる。また、１エリアにおいてＥＤＣ付加データをユーザ・データ方向にみたとき、各レコーディング・フレーム方向（行方向）Ｐのデータに対するスクランブル値は、上記スクランブル用シフト・レジスタを８ｂｉｔｓ（１回分）シフトしたのみで得られることがわかる。
【００８６】
すなわち、ブルーレイ規格においては、図２及び図３に示すように１クラスタ中のスクランブル値は、セクタに拘わらず、セクタに含まれるデータｂｙｔｅ０〜ｂｙｔｅ２０５１に対して同様の値が設定される。よって、レコーディング・フレーム方向Ｐ（レコーディング・フレームにおいて）２０ｂｙｔｅｓ目（２０列目）のスクランブル値は０ｂｙｔｅ目（１列目）のスクランブル値と同様の値となる。すなわち、セクタを構成するユーザ・データ及びＥＤＣに対し０から２０５１の順序を付した場合、１９列からなる２つのセクタ（エリア）毎に各データ順序が揃うこととなる。また、ユーザ・データ方向Ｑで見た場合、各データ順序は連続しているので、スクランブル値は１バイト分（８ビット分）をシフトさせたのみの値となる。したがって、１９列のうちの１行分のスクランブル中間値（１６ビットシフトレジスタ値×１９（列））から全てのスクランブル値を容易に求めることができる。
【００８７】
以上のような規則性がある場合には、後述するスクランブル回路２２により本来の演算処理順序とは異なる順序に変換してもスクランブル処理することができる。本実施の形態においては、スクランブル中間値として保持するデータ量を、１エリアにおける１行分であるわずか１９ワード分（１６ｂｉｔｓ×１９）とする。そして、これらに基づきレコーディング・フレーム方向Ｐのスクランブル値を算出し、レコーディング・フレーム方向Ｐでのスクランブルを後述するスクランブル回路２２において実現する。このため保持すべきスクランブル中間値は、データ・ブロックの１行分をスクランブルするために必要なスクランブル中間値（３０４個）の１／１６のデータ量とすることができる。
【００８８】
なお、スクランブル中間値は、スクランブル回路１６によってスクランブル処理する途中で得られる値であるため、本実施の形態においては、スクランブル回路１６からスクランブル中間値を得るものとして説明するが、予め演算したスクランブル中間値を保持するようにしてもよい。
【００８９】
本実施の形態においては、パスＳ１で処理される１ＲＵＢに含まれるＥＤＣ付きユーザ・データ（ＥＤＣ付加データ）の最初の２つのセクタ（セクタＳｅｃ０及びセクタＳｅｃ１）をスクランブル処理した際において使用した、１６ビット・シフト・レジスタの値（１６ビット）をスクランブル・バッファ１７に保持するスクランブル中間値とすることとする。スクランブル中間値は、スクランブル回路１６のスクランブル処理の際に、順次スクランブル・バッファ１７へ送られ記憶される（Ｓ１−６）。
【００９０】
また、パスＳ１実行中には、（ｔ−１）番目のＲＵＢに含まれる３２セクタ分のデータをスクランブル処理する後述のパスＳ２を同時並列して実行するために、（ｔ−１）番目のＲＵＢに含まれる３２セクタ分のスクランブル中間値を保持しておく記憶領域を有する。よってスクランブル・バッファ１７は、３８バイト（１６ｂｉｔｓ×１９）×２（パス）＝７６ｂｙｔｅｓ以上の記憶容量を有する、ＳＲＡＭなどのランダムアクセス可能な一時記憶装置から構成される。スクランブル処理についての詳細は後述する。
【００９１】
一方で、ユーザ・データ方向Ｑの順にスクランブル処理され得られたスクランブル済データは、同じ処理順序のまま、すなわちユーザ・データ方向Ｑの順にＥＣＣ生成部１８へ供給される（Ｓ１−７）。ＥＣＣ生成部１８は、１列分のデータ２１６ｂｙｔｅｓが供給されると、これに所定の演算を施し、３２ｂｙｔｅｓのＥＣＣパリティを生成し、このＥＣＣパリティを順次ＥＣＣバッファ１９へ供給する。このＥＣＣバッファ１９においても、パスＳ１においてｔ番目のＲＵＢに含まれるユーザ・データに付加するＥＣＣパリティ（図３参照）を演算して書き込むための領域と、パスＳ２において（ｔ−１）番目のＲＵＢに含まれるユーザ・データに付加するＥＣＣパリティを読み出し統合部１０１へ転送するための領域とが必要となる。よって、９７２８ｂｙｔｅｓ（３２×３０４ｂｙｔｅｓ）×２（パス）以上の記憶容量を有するＳＲＡＭ又はＳＤＲＡＭ等のランダムアクセス可能な一時記憶装置から構成される。なお、ＥＣＣ生成部１８にてＥＣＣパリティを生成し、順次統合部１０１へ供給するようにしてもよい。この場合は、統合部１０１にＥＣＣパリティ用のバッファを設ければよい。
【００９２】
（３−２）パスＳ２の動作 
次に、パスＳ２について説明する。このパスＳ２の処理は、パスＳ１においてｔ番目のＲＵＢの演算を実行中、上記と同様の工程を経て予め得られているＥＤＣバッファ１４、スクランブル・バッファ１７及びＥＣＣバッファ１９の値を利用し、（ｔ−１）番目のＲＵＢに相当するユーザ・データの演算を行なうものであって、ユーザ・データ方向Ｑの順序にバースト転送データサイズｍでデータ・バッファ１１からバースト転送されるユーザ・データを、レコーディング・フレーム方向Ｐの順に演算するものである。
【００９３】
先ず、バッファ・コントローラ１２よりデータ・バッファ１１からバースト転送にてユーザ・データを読み出す。繰り返しのバースト転送により読み出されたユーザ・データは、統合部２０が所定のタイミングでＥＤＣバッファ１４からＥＤＣを読み出しこれをユーザ・データに付加し、置き換えバッファ２１に供給する。
【００９４】
ここで、バッファ・コントローラ１２は、データ・バッファ１１からユーザ・データ方向Ｑに１バースト転送サイズのｍｂｙｔｅｓのユーザ・データを繰り返し読み出し、レコーディング・フレーム方向Ｐの順にＥＤＣ付加データが配列するよう順次転送していく。すなわち、ユーザ・データ方向Ｑの２１６ｂｙｔｅｓのうちバースト転送サイズｍｂｙｔｅｓを、レコーディング・フレーム方向Ｐのバイト（３０４ｂｙｔｅｓ）分、すなわち３０４回繰り返してバースト転送することで１ＲＵＢ（データ・ブロック）に含まれるユーザ・データのレコーディング・フレーム方向Ｐのデータが、ユーザ・データ方向Ｑにｍｂｙｔｅｓ揃うこととなる。
【００９５】
この置き換えバッファ２１はＳＲＡＭ、レジスタ等の高速にランダムアクセス可能な一時記憶装置からなる。ここで、レコーディング・フレーム方向Ｐの方向に、レコーディング・フレーム分のデータが揃うまでデータ・バッファ１１からのバースト転送は繰り替えされる。この書き込みの間に、置き換えバッファ２１に格納されたユーザ・データを今度はレコーディング・フレーム方向Ｐの順に高速に読み出すことが必要となる。よって、置き換えバッファ２１においても、書き込み用と読み出し用とで、少なくともバースト転送サイズｍ×レコーディング・フレーム（３０４ｂｙｔｅｓ）×２（書き込み用、読み出し用）のデータを記憶できる領域を有する。
【００９６】
スクランブル回路２２は、スクランブル回路１６と同様のスクランブル用シフト・レジスタを有する。このスクランブル用シフト・レジスタにより、スクランブル・バッファ１７に保持されたスクランブル中間値を適宜更新してレコーディング・フレーム方向Ｐの順に入力されるＥＤＣ付加データに対応するスクランブル値を得ることができる。そして、得られたスクランブル値と入力されるＥＤＣ付加データとの排他的論理和を求めてスクランブル済データを出力する。
【００９７】
スクランブル・バッファ１７がエリア０の１行目のスクランブル中間値を保持している場合には、これを順次スクランブル回路２２に供給するのみでレコーディング・フレーム方向Ｐのスクランブル値は求まる。このスクランブル中間値をそれぞれ上記スクランブル用シフト・レジスタに入力し、８ｂｉｔｓシフトさせると次の行に対応するスクランブル中間値を得ることができる。こうしてスクランブル・バッファ１７に保持されていたスクランブル中間値は、１レコーディング・フレームの処理毎に更新されることで、全てのデータに対するスクランブル中間値を出力することができる。生成されたスクランブル済データは、レコーディング・フレーム方向Ｐの順に統合部１０１に供給される。
【００９８】
統合部１０１は、レコーディング・フレーム方向Ｐの順に入力されるスクランブル済データにＥＣＣバッファ１９から受け取ったＥＣＣを付加し、ＢＩＳを挿入しＥＣＣクラスタ、フィジカルクラスタを生成し、１７ＰＰ変調部１０２へこれを転送する。
【００９９】
本実施の形態においては、パスＳ１においてユーザ・データ方向Ｑの順に入力されたユーザ・データに基づき算出されたＥＤＣ及びスクランブル中間値を使用し、パスＳ２において、ユーザ・データにＥＤＣを付加し、スクランブルしたスクランブル済データとし、これをレコーディング・フレーム方向Ｐの順に出力することができる。そして、このパスＳ２において予め演算したＥＤＣ及びスクランブル中間値を使用することでｍ×３０４ｂｙｔｅｓ×２という小さいメモリ容量の置き換えバッファ２１のみでスクランブル済データを、レコーディング・フレーム方向Ｐに出力することができる。
【０１００】
（４−１）置き換えバッファの動作 
次に、パスＳ２の各動作について詳細に説明する。先ず、置き換えバッファ２１に転送されるユーザ・データについて詳細に説明する。ブルーレイディスクでは、ユーザ・データ方向Ｑのデータは１列が２１６ｂｙｔｅｓである。ここでは、これを９分割した例えば２４ｂｙｔｅｓ毎にバースト転送する場合（バースト転送サイズｍ＝２４ｂｙｔｅｓ）について説明する。
【０１０１】
ＳＤＲＡＭは、バースト転送をクロックに同期して高速に行えるようにしたＤＲＡＭであり、例えば、ＳＤＲＡＭのメモリセルを独立して動作可能な４つのブロック（バンク）構成とし、８回連続のバースト転送を使用すれば、３２ｂｙｔｅｓのバースト転送が可能となる。ＳＤＲＡＭは、最初のバースト転送すべきアドレスを指定してやれば所定のデータをバースト転送により高速にデータの転送可能である。
【０１０２】
図９は、ＳＤＲＡＭ１１から置き換えバッファ２１に転送されるデータを説明する図である。図１０（ａ）及び図１０（ｂ）は、図９に示すそれぞれ領域Ａ、Ｂを拡大して示す図である。また、図１１は、置き換えバッファ２１を示す模式図である。図１０に示すように、バッファ・コントローラ１２は、データ・バッファ１１からの１回のバースト転送によりｍｂｙｔｅｓのデータを置き換えバッファ２１へ転送する処理を、レコーディング・フレーム方向Ｐの順に３０４ｂｙｔｅｓ分、すなわち３０４回繰り返し実行する。これにより、図９に示すデータ・ブロックＤ４のうち影を付けて示すデータが転送されることとなる。以下、このｍフレームからなるデータ群を転送ブロックＤ４ａ、Ｄ４ｂ、Ｄ４ｃ、・・・Ｄ４ｉという。置き換えバッファ２１は高速ランダムアクセス可能なＳＲＡＭ、レジスタ等で構成され、図１１に示すように、この転送ブロックＤ４ａを格納可能な記憶領域を２以上有する。一方の記憶領域にバースト転送によりＥＤＣ付加データを書き込み中に、他方の記録領域から、既にバースト転送済みのＥＤＣ付加データを読み出し、スクランブル回路２２に送るためである。なお、３０４回のバースト転送により転送されたデータは、置き換えバッファ２１の例えばアドレス順に格納されるが、ランダムアクセス可能であるので、図９に示す如く、レコーディング・フレーム方向Ｐの順にフレーム毎の３０４ｂｙｔｅｓのデータを高速読み出し可能である。
【０１０３】
ここで、図１０（ａ）、図１０（ｂ）に領域Ａ、領域Ｂを拡大して示すように、レコーディング・フレーム方向Ｐのデータは、ユーザ・データ方向Ｑの並びでみると２１６ｂｙｔｅｓ飛びのデータとなるが、上述したように、ブルーレイ規格においては、１セクタは２０４８ｂｙｔｅｓのユーザ・データ＋４ｂｙｅｔｓのＥＤＣからなり、データ・バッファ１１から転送されてくるデータは、ユーザ・データのみであるため、１セクタ分が２０４８ｂｙｔｅｓである。このため偶数セクタに隣接する、奇数セクタの最初の列バイト（以下、奇数先頭列という）は、２１６ｂｙｔｅｓ飛びではなく、２１２ｂｙｔｅｓ飛びのデータとなる。この奇数先頭列とは、セクタＳｅｃ１におけるレコーディング・フレームＰの順では９列目又は１０列目であり、ユーザ・データ方向Ｑの順にｂｙｔｅ０〜ｂｙｔｅ１０７までは１０列目、ｂｙｔｅ１０８〜ｂｙｔｅ２１５までは９列目を示す。したがって、レコーディング・フレーム方向Ｐにデータを読み出す際に奇数先頭列に該当するデータを読み出す場合には、２１６ｂｙｔｅｓ飛びではなく２１２ｂｙｔｅｓ飛びとなる。
【０１０４】
ここで、本実施の形態においては、ユーザ・データにはＥＤＣが付加されていない状態として説明しているが、ホスト２からユーザ・データを転送する際、又はデータ・バッファ１１にユーザ・データを格納する際等において、例えばユーザ・データに予め４ｂｙｔｅｓのデータをＥＤＣの替わりに予め付加したものとしてもよい。この場合は統合部２０にて当該データと、ＥＤＣバッファ１４から読み出した本来のＥＤＣとを置き換えて、置き換えバッファ２１に転送するようにしてもよい。この場合には、データ・バッファ１１におけるアドレスも２０５２ｂｙｔｅｓを１単位とすることができ、ＥＤＣ付加後の置き換えバッファ２１におけるセクタ単位と同一となり、単にユーザ・データ２０４８に＋４とするアドレス計算をするのみでよい。更に、１セクタを（２０４８＋Ｎ）ｂｙｔｅｓとし、＋Ｎバイトのセクタサイズ調整バイトを含むものとして取り扱えば、セクタのデータ単位が異なる他のフォーマットにおいても同様に利用することができる。
【０１０５】
例えば、ブルーレイディスクにおいては、３２のセクタから１記録単位のＲＵＢを構成する。このセクタは、上述のように２０４８ｂｙｔｅｓに４ｂｙｔｅｓのＥＤＣコードが付加され、２０５２ｂｙｔｅｓで構成される。ここで、２０４８バイトのユーザ・データに付加されるデータ量Ｎ（以下、セクタサイズ調整バイトともいう。Ｎ：ｂｙｔｅ）を調整可能することで、他のフォーマットを有するディスクに対するバッファ・コントロールとしても適用することができる。例えばＮ＝１６ｂｙｔｅｓとすれば、ＥＤＣ等を含めた１セクタのデータサイズが２０６４ｂｙｔｅｓであるＤＶＤ等に適用することができる。セクタサイズ調整バイトＮ及びこれを有する場合のアドレス計算についての詳細は後述する。
【０１０６】
図５に示す参照例のように、レコーディング・フレーム方向Ｐの順に高速データ転送を実行する場合、通常の構成では、１ＲＵＢに対応するデータ（以下、データ・ブロックともいう）を格納する記憶領域、すなわち２１６×３０４ｂｙｔｅｓ分の記憶領域が必要である。これに対し、図９に示すように、本実施の形態においては、例えば２１６ｂｙｔｅｓを９分割した２４ｂｙｔｅｓをバースト単位とする場合は、２４×３０４ｂｙｔｅｓ（ｍ×３０４ｂｙｔｅｓ）と極めて小さいＳＲＡＭのみで実現することができる。
【０１０７】
置き換えバッファ２１は、図１１に示すように、１ＲＵＢの処理に使用するため、バースト転送サイズｍ×１レコーディング・フレーム分（３０４ｂｙｔｅｓ）らなる記憶領域２１ａを２以上有する。すなわち、置き換えバッファ２１の記憶領域２１ａは、１ＲＵＢ分を処理するために必要な記憶容量より小さいものとなっている。そして、上述したように、パスＳ２において、１ＲＵＢに相当するユーザ・データの処理を実行するため、一の記憶領域２１ａに書き込み中に、他の記憶領域から書き込まれたユーザ・データを読み出しスクランブル処理するため、記憶領域として例えば記憶領域２１ａの他に、記憶領域２１ａ同一サイズの記憶領域２１ｂを有する。なお、記憶領域２１ａ、２１ｂの２面以上としてもよいことは勿論である。置き換えバッファ２１におけるデータの並びは、上述したように、ユーザ・データ方向Ｑ及びこれと同一方向のバースト転送方向Ｑ'と、レコーディング・フレーム方向Ｐとは直交した方向となる。
【０１０８】
置き換えバッファ２１が記録領域を２面（記憶領域２１ａ、２１ｂ）有する場合であって、一方の記憶領域２１ａを書き込み用、他方の記憶領域２１ｂを読み出し用として使用している場合、書き込み用記憶領域２１ａに１転送ブロックのＥＤＣ付加データの転送が終了し、かつ他方の記憶領域２１ｂからスクランブル回路２２への出力が完了した時点で、記憶領域２１ａ、２１ｂを切り替える。切り替え後は、書き込み用記憶領域となった記憶領域２１ｂに１転送ブロックのＥＤＣ付加データを書き込み、読み出し用記憶領域となった記憶領域２１ａからＥＤＣ付加データをスクランブル回路２２へ読み出す処理を実行する。こうして、置き換えバッファ２１は、一の転送ブロックの書き込み及び読み出しを終了する毎に書き込み用、読み出し用の記録領域を切り替える。ここで、書き込みよう記憶領域にＥＤＣ付加データ（転送ブロック）を書き込む際には、ユーザ・バッファ１１からユーザ・データがバースト転送される。
【０１０９】
（４−２）先頭アドレス制御方法 
このバースト転送する際のデータ・バッファ１１の先頭アドレスは、上述のように、２１６ｂｙｔｅｓ又は２１２ｂｙｔｅｓ飛びとなるため、バッファ・コントローラ１２は、データ・バッファ１１におけるバースト転送する際の最初のアドレスを計算して指定する必要がある。次に、バッファ・コントローラがデータ・バッファ１１からバースト転送を行う場合の先頭アドレスを計算処理方法について詳細に説明する。データ・バッファ１１において指定するバースト転送の最初のアドレス（以下、先頭アドレスという）は、バッファ・コントローラ１２が前回の先頭アドレス等に基づき演算により求めてもよく、置き換えバッファ２１の情報に基づき先頭アドレスを演算し、バッファ・コントローラ１２を制御してもよく、先頭アドレス演算用回路をバッファ・コントローラ１２及び置き換えバッファ２１の外部に設けるようにしてもよい。ここでは、置き換えバッファ２１の情報に基づき先頭アドレスを演算してバッファ・コントローラ１２を制御する場合について説明する。
【０１１０】
置き換えバッファ２１には、例えば図９に示す転送ブロックＤ４ａを一方の記憶領域２１ａに転送し終わると、他方の記憶領域２１ｂに転送ブロックＤ４ｂのバースト転送を開始する。この転送ブロックＤ４ｂのバースト転送の間に、転送ブロックＤ４ａのスクランブル処理がスクランブル回路２２で実行される。上述のように、本実施の形態においては、データ・バッファ１１におけるユーザ・データは２０４８ｂｙｔｅｓをセクタとして書き込まれており、置き換えバッファ２１にはこれに４ｂｙｔｅｓのＥＤＣを付加した２０５２ｂｙｔｅｓをセクタとして書き込む。よって、セクタ境界での次バースト転送先頭アドレスは単純に＋２１６ｂｙｔｅｓとならない。そこで本実施の形態においては、バッファ・コントローラ１２が、置き換えバッファ２１の記憶領域に、例えば転送ブロックＤ４ｂが転送されるようにするため、データ・バッファ１１におけるユーザ・データの先頭アドレスを指定する。このため、エンコード装置１０は、バッファ・コントローラ１２に対し先頭アドレスを供給する先頭アドレス計算回路を有している。
【０１１１】
図１２（ａ）は、置き換えバッファ２１に格納されているユーザ・データのアドレスを示す模式図、図１２（ｂ）は、先頭アドレスを演算するバースト転送先頭アドレス計算回路４０を示すブロック図である。なお、本実施の形態においては、先頭アドレス計算回路４０は置き換えバッファ２１内に配置するものとするが、置き換えバッファ２１の外部に設けてもよいことは勿論である。
【０１１２】
図１２（ｂ）に示すように、先頭アドレス計算回路４０は、行カウンタ４１及びｉカウンタ４２の２つのカウンタを有する。行カウンタ４１は、データ・ブロックにおけるユーザ・データ方向Ｑの行番号Ｒ（図２参照）をカウントするカウンタであり、１セクタは、２１６ｂｙｔｅｓで折り返されているため、データ・ブロックは２１６行からなる。よって、行カウンタ４１は０〜２１５までのカウントをする。ここで、１回のバースト転送ではｍ行１列のデータが転送され、１つの転送ブロックの転送終了するまでこれは３０４回繰り返される。よってこの行カウンタ４１は、例えば、ｍ＝２４とすると、０〜２３を３０４回カウントし、３０５回目から、すなわち２番目の転送ブロックの転送が開始されると２４〜４７までをカウントする、という動作を繰り返す。
【０１１３】
またｉカウンタ４２は、１エリアにおけるレコーディング・フレーム方向Ｐのデータをカウントするカウンタであり、上述のように１エリアは２セクタからなり、２セクタは１９列のバイト列から構成される。よってｉカウンタ４２は、０〜１８までのカウントをする。ここで、１つの転送ブロックは１６エリアから構成されるため、１つの転送ブロックのデータ転送が終了する間にｉカウンタ４２は、０〜１８のカウントを１６回繰り返す。また、上述のように、１回のデータ転送によりｍ行１列のデータが転送されるため、例えば、ｍバイト毎にカウンタがインクリメントされる構成とすることができる。すなわち、行カウンタ４１、ｉカウンタ４２によって、入力されるデータがいずれの行、列に該当するデータであるかを判別できる構成となっている。
【０１１４】
更に、先頭アドレス計算回路４０は、比較器４３〜４６を有する。比較器４３は、ｉカウント値が１８であるか否かを判定する。比較器４４は、行カウント値が１０８未満（Ｒ０〜Ｒ１０７）であるか否かを判定する。比較器４５は、ｉカウント値が８であるか否かを判定する。比較器４６は、ｉカウント値が９であるか否かを判定する。
【０１１５】
また、先頭アドレス計算回路４０は、論理回路５１〜５３を有する。論理回路５１は、比較器４４の反転出力及び比較器４５の論理積を求めるＡＮＤ回路であり、論理回路５２は、比較器４４及び比較器４６の論理積を求めるＡＮＤ回路である。そして、論理回路５３は、比較器４３、論理回路５１、５２の出力の論理和を求めるＯＲ回路である。すなわち、論理回路５３は、ｉカウント値が１８である場合、行カウント値が１０８より小さくかつｉカウント値が９である場合、及び行カウント値が１０８以上でありかつｉカウント値が８である場合にのみ例えば「１」を出力する。以上のカウンタ４１、４２、比較器４３〜４６、論理回路５１〜５３からセクタ境界検出部４０ａが構成され、これにより入力データのセクタ境界を検出することができる。
【０１１６】
更に、先頭アドレス計算回路４０は、論理回路５３の出力が「１」の場合は、２１２＋Ｎを出力し、論理回路５３の出力が「０」の場合に２１６を出力する選択器５４を有する。また、先に出力した先頭アドレスと選択器５４との出力を加算する加算器５５と、加算器５５の出力を先頭アドレスとして出力するアドレス出力部５６と、アドレス出力部５６のアドレスにバースト転送サイズｍを加算する加算器５７と、加算器５７の加算結果を保存するアドレス保存部５８とを有する。アドレス出力部５６からの出力は、先頭アドレスとしてバッファ・コントローラ１２に送られると共に、加算器５５に送られる。また、転送ブロックの最初のバースト転送時のみ、当該先頭アドレスが加算器５７にも出力される。
【０１１７】
以上の選択器５４、加算器５５、及びアドレス出力部５６からアドレス更新部４０ｂが構成され、加算器５７及びアドレス保存部５８から次転送ブロック先頭アドレス保持部４０ｃが構成される。バッファ・コントローラ１２は、一のバースト転送を行う毎に、アドレス更新部４０ｂが出力する先頭アドレスを受け取ってデータ・バッファ１１における先頭アドレスを指定する。また、次転送ブロック先頭アドレス保持部４０ｃは、現在転送中の転送ブロックの最初のバースト転送における先頭アドレスにバースト転送サイズｍを加算した値を、次の転送ブロックにおける最初のバースト転送用の先頭アドレスとして保持する。
【０１１８】
図１３は、データ・バッファ１１、置き換えバッファ２１のアドレスを説明するための図である。上述したように、ブルーレイ規格であれば、ユーザ・データは２０４８ｂｙｔｅｓで１セクタを構成するため、データ・バッファ１１に記憶されるユーザ・データは、各セクタ毎に、アドレス[００００]〜[２０４７]が繰り返し付加されることとなる。一方、置き換えバッファ２１における各セクタは、４ｂｙｔｅｓのＥＤＣを付加したＥＤＣ付加データとなっており、各セクタ毎にアドレス[００００]〜[２０５１]が繰り返し付加されることとなる。よって、セクタ境界においてＥＤＣ付加分の４ｂｙｔｅｓのずれが生じるため、置き換えバッファ２１又はデータ・バッファ１１におけるアドレス情報を利用して、先頭アドレス計算回路４０によりデータ・バッファ１１にて指定する先頭アドレスを計算する。
【０１１９】
なお、本実施の形態においては、バースト転送先頭アドレス計算回路４０は置き換えバッファ２１のパラメータを使用して先頭アドレスを算出するものとして説明したが、バッファ・コントローラ１２内の転送に必要なパラメータから先頭アドレスを演算するようにしてもよい。この場合は、バッファ・コントローラ１２の内部又は外部に先頭アドレス計算回路４０を設けることができる。
【０１２０】
次に、この先頭アドレス計算回路４０の動作について説明する。図１４は、アドレス計算回路の計算方法を示すフローチャートである。なお、本実施の形態においては、例えば、データが置き換えバッファ２１に入力される期間をＴとすると、常に期間Ｔ毎にステップＳＰ２１からの処理が繰り返し実行されるものとして説明する。以下の説明においては、置き換えバッファ２１における１セクタ（０〜２０５１番目までのデータ）のユーザ・データ方向の並び順（アドレス）を[＊＊＊＊]のように示すこととする。また、本実施の形態においては、データ・バッファ１１からのバースト転送サイズｍ＝２４として説明するが、バースト転送サイズは、２４バイトに限るものではない。
【０１２１】
先ず、データ・ブロックの最初の転送ブロックの転送時か否かが判断される（ステップＳＰ２１）。データ・ブロックの最初の転送ブロック（先頭転送ブロックＤ４ａ）を転送する場合（先頭転送ブロック初期化時）には、行カウンタ４１の行カウント値を０とし（ステップＳＰ２２）、ｉカウンタ４２のｉカウント値を０とする（ステップＳＰ２３）。なお、置き換えバッファの一方の記憶領域に一の転送ブロックが転送される間、他方の記憶領域に既に転送済みの転送ブロックを使用し、スクランブル回路２２にてスクランブル処理が実行される。記録装置３は図示せぬカウンタ等を含む制御部においてこのタイミングを検出し、バースト転送先頭アドレス計算回路４０及びスクランブル回路２２にこれを供給する。この先頭転送ブロック初期化時に、先頭転送ブロックの最初のバースト転送用先頭アドレス（＝[００００]）を、バッファ・コントローラ１２から初期値としてロードする（ステップＳ２４）。アドレス出力部５６はこの初期値アドレス[００００]を加算器５７に出力する。加算器５７は、アドレス出力部５６から出力されたアドレス[００００]にバースト転送サイズｍ＝２４を加算してアドレス[００２４]をアドレス保存部５８に出力する（ステップＳＰ２５）。ここで、アドレス保存部５８に保存されるアドレス値は、次の転送ブロックにおける１列目（ｉ＝０）の先頭アドレスである。
【０１２２】
一方、アドレス出力部５６は受け取ったバースト転送用先頭アドレス（＝[００００]）をバッファ・コントローラ１２に送る。先頭転送ブロック初期化時ではない場合（ステップＳＰ２１：ＮＯ）、３０４回目のバースト転送終了か否かが判断され、３０４回目のバースト転送終了ではない場合（ステップＳＰ２７：ＮＯ）、更に１〜３０３回目のバースト転送終了か否かが判断され（ステップＳＰ２８）、１〜３０３回目のバースト転送終了タイミングの場合（ステップＳＰ２９：ＹＥＳ）にはステップＳＰ３０〜ステップＳＰ３５を実行する。
【０１２３】
この場合、先ず、セクタ境界検出部４０ａの行カウンタ４１、ｉカウンタ４２は、現在のタイミングが下記の条件１〜３に該当するか否かを、比較器４３〜４６及び論理回路５１、５２により判定する。判定する。
条件１．ｉカウント値＝１８
条件２．行カウント値＜１０８、かつｉカウント値＝９
条件３．行カウント値≧１０８、かつｉカウント値＝８
【０１２４】
なお、この判定は、本実施の形態においては、上述のステップＳＰ２８において１〜３０３回目の各バースト転送が終了したタイミングを検出すると行われるものとする。すなわち、このセクタ境界検出部４０ａは、アドレス出力部５６がバッファ・コントローラ１２に先頭アドレスを出力し、この先頭アドレスに基づきデータ・バッファ１１からｍバイトのデータがバースト転送された後、当該先頭アドレスが上記３つの条件に該当するか否かが判定される。
【０１２５】
これらの条件はいずれもセクタ境界を検出するための条件であり、図１３に影を付して示す領域に対する先頭アドレスを算出する場合を示す。セクタ境界ＢＳ（エリア境界ＢＡを含む）のみ２１６ｂｙｔｅｓ飛びではなく２１２ｂｙｔｅｓ飛びとなるためである。ここで、この先頭アドレス計算回路４０は、ｉカウンタと行カウンタから１列次の列の先頭アドレスを出力アドレスとして算出するため入力と出力とではｉの位置が１列ずれる構成となる。このため、セクタ境界ＢＳ（エリア境界ＢＡを含む）は、ｉ＝０、９、１０に存在するがｉ＝１８、８、９を検出する構成になっている。すなわち、条件１は、セクタ境界のうちエリア境界ＢＡを検出するための条件であり、条件２、３は、エリア内におけるセクタ境界（偶数セクタと奇数セクタとの境界）ＢＳを検出するための条件を示す。なお、回路構成はこれに限らず、データ・バッファ１１と置き換えバッファ２１とのアドレスがずれる位置（セクタ境界）を検出し、補正することができる回路であればよい。こうして論理回路５３における判定結果が選択器５４へ出力される。
【０１２６】
具体的には、ｉカウンタ４２によるｉカウント値＝１８ではなく（ステップＳＰ３０：ＮＯ）、行カウンタ４１の行カウント値が１０８未満ではなく（ステップＳＰ３１：Ｎｏ）かつｉカウント値＝８ではない場合（ステップＳＰ３２：ＮＯ）及び、ｉカウント値＝１８ではなく（ステップＳＰ３０：ＮＯ）、行カウント値が１０８未満であり、かつｉカウント値＝９ではない場合（ステップＳＰ３３：ＮＯ）には、上記条件のいずれにも該当しないと判断し、論理回路５３は「０」を出力する。
【０１２７】
一方、ｉカウント値＝１８である場合（ステップＳＰ３０：ＹＥＳ）、ｉカウント値＝１８ではなく（ステップＳＰ３０：ＮＯ）、行カウント値が１０８以上であって（ステップＳ３１：ＮＯ）かつｉカウント値＝８である場合（ステップＳＰ３２：ＹＥＳ）、及びｉカウント値＝１８ではなく（ステップＳＰ３０：ＮＯ）、行カウント値が１０８未満であって（ステップＳ３１：ＹＥＳ）かつｉカウント値＝９である場合（ステップＳＰ３３：ＹＥＳ）は、論理回路５３は「１」を出力する。
【０１２８】
このように論理回路５３において、上記条件１〜３のいずれかに該当する場合は「１」、該当しない場合には「０」が出力され、選択器５４に入力される。こうして上記条件１〜３により入力〜論理回路５３において、入力されるアドレス情報がセクタ境界のアドレスを示すものか否かを判別する。
【０１２９】
選択器５４は、「１」が入力された場合、すなわち、条件１〜３のいずれかに該当した場合には、アドレスの更新を＋２１２＋Ｎとする。Ｎは、上述したように、１セクタを（２０４８＋）Ｎバイトとし、セクタサイズを調整する可変の値である。ブルーレイディスクにおいては、１セクタに含まれるユーザ・データは２０４８ｂｙｔｅｓであり、本実施の形態においては、データ・バッファ１１には、２０４８バイト毎にデータを格納するためＮ＝０である。一方、「０」が入力された場合、すなわちいずれの条件にも該当しない場合には、＋２１６を出力する。
【０１３０】
加算器５５は、選択器５４からの出力（選択値（２１２＋Ｎ）ｏｒ２１６）を受け取り、アドレス出力部５６が保持している値、すなわち前回のアドレス出力部５６からの出力値と加算してアドレス出力部５６へ出力する（ステップＳＰ３４、３５）。アドレス出力部５６は、これをバッファ・コントローラ１２に出力する（ステップＳＰ２６）。一方、ステップＳＰ２８において、１〜３０３回目のバースト転送終了ではないと判定された場合、すなわち、現在のタイミングがバースト転送中であると判定された場合処理を終了する。一方、ステップＳＰ２７において３０４回目のバースト転送終了と判断された場合（ステップＳＰ２７：ＹＥＳ）、アドレス出力部５６は、アドレス保存部５８に保存されているバースト先頭アドレスを読み出す（ステップＳ２９）。アドレス出力部５６は、上述と同様、アドレス保存部５８から読み出したバースト先頭アドレスを加算器５７に出力し、加算器５７は当該バースト先頭アドレスにバースト転送サイズｍ＝２４を加算した加算済アドレスを生成し、これをアドレス保存部５８に保存する（ステップＳＰ２５）。同時にアドレス出力部５６は、アドレス保存部５８から読み出したバースト転送アドレスをバッファ・コントローラ１２に出力する。
【０１３１】
このように、アドレス出力部５６は、一のデータ・ブロックの先頭転送ブロックの最初のバースト転送時には、バッファ・コントローラ１２から先頭アドレスをロードし、バッファ・コントローラ１２に出力する。また、上記先頭転送ブロック以外の転送ブロックの最初のバースト転送時には、その直前の転送ブロックの３０４回目のバースト転送終了時にアドレス保存部５８からバースト転送アドレスを読み出し、バッファ・コントローラ１２に出力する。これら以外のバースト転送終了時には、選択器５４にて出力される２１２＋Ｎ又は２１６を直前のバースト先頭アドレスに加算しバッファ・コントローラ１２に出力する処理を、１クラスタ（１データ・ブロック）の処理が終了するまで繰り返すと再びステップＳＰ２１にて初期化時と判断される。なお、本実施の形態においては、アドレス出力部５６は、１バースト転送終了後にバッファ・コントローラ１２から読み出したアドレス、アドレス保存部５８から読み出したアドレス又は選択器５４、加算器５５にて更新した先頭アドレスを出力するものとして説明したが、１バースト転送中にアドレスを計算するようにしてもよい。
【０１３２】
具体的に説明する。１データ・ブロックの処理、すなわち先頭転送ブロックの書込みが開始される先頭転送ブロック初期化のタイミングで先ず、アドレス出力部５６にはバッファ・コントローラ１２から初期値（初期バースト転送先頭アドレス）としてアドレス[００００]が供給される。アドレス出力部５６はこれを最初の列（ｉ＝０）のバースト先頭アドレスとしてバッファ・コントローラ１２に供給すると共に加算器５７に出力する。加算器５７は、これにバースト転送サイズ＝２４を加算し、アドレス保存部５８は、このアドレス[００２４]を保存する。
【０１３３】
セクタ境界検出部４０ａは、１回目のバースト転送終了時にアドレス出力部５６が出力したアドレスがセクタ境界であるか否かを判定する。上記アドレス[００００]はセクタ境界ではないため、論理回路５３から「０」が出力され、これにより、選択器５４が２１６を出力する。加算器５５は、初期値[００００]に２１６を加算し、アドレス出力部５６に[０２１６]を出力する。アドレス出力部５６は、この先頭アドレス[０２１６]を次の列（ｉ＝１）の先頭アドレスとしてバッファ・コントローラ１２に供給する。バッファ・コントローラ１２は、この受け取ったアドレス[０２１６]をデータ・バッファ１１のバースト転送先頭アドレスとし、バースト転送を実行する。以降、アドレス計算回路４０は、この動作を繰り返す。なお、アドレス出力部５６は、ｉ＝０のバースト転送中又はバースト転送後に、ｉ＝１の先頭アドレスを算出してバッファ・コントローラ１２に供給する。
【０１３４】
そして、アドレス出力部５６が初期値アドレス[００００]、アドレス[０２１６]、・・・[１７２８]を順次出力し、次に[１９４４]を置き換えバッファ２１に出力し、１０回目のバースト転送が終了した後、セクタ境界検出部４０ａは、このアドレス[１９４４]が上記３つの条件のうち、条件２に当てはまると判定する。これにより、論理回路５３が「１」を出力する。すると選択回路５４は２１２を出力し、加算器５５は、２０４７→０となり、[０１０８]を出力する。このように、セクタ境界検出部４０ａによりセクタ境界ＢＳを検出することでセクタ境界ＢＳにおいても正しいアドレスの先頭アドレスを出力することができる。ここで、データ・バッファ１１は、２０４８バイトからなる各セクタＳｅｃのうち、いずれのセクタＳｅｃからデータを読み出すかを示すポインタを有し、上記の場合、ポインタが次のセクタＳｅｃ１を示すよう、例えばバッファ・コントローラ１２から指示されることで、当該次のセクタＳｅｃ１の先頭アドレス[０１０８]からのデータを読み出す。
【０１３５】
また、先頭転送ブロックを転送するための先頭アドレスを最終エリアのｉ＝１８まで出力し、先頭転送ブロックの最後（＝３０４回目）のバースト転送中又は転送後、すなわちアドレス出力部５６が先頭アドレス[１８３６]を出力した後、アドレス出力部５６は、アドレス保存部５８に保存されている次の転送ブロックの先頭アドレスを読み出す。置き換えバッファ２１は、データ・バッファ１１から送られてくる最終バースト転送データを全て受け取り、第２の順序演算部へのデータ出力面のデータ全てを出力し終わった時点で記憶領域を切り替える。
【０１３６】
ここで、一の記憶領域２１ａへの書込み中には、上述したように、他の記憶領域２１ｂには既にバースト転送済みの転送ブロックが順次レコーディング・フレーム方向Ｐの順に読み出され、スクランブル回路２２に順次供給される。
【０１３７】
また、データ・バッファ１１からバースト転送されるデータは、ホスト２から転送されたユーザ・データであり、ＥＤＣが付加されていない。したがって、置き換えバッファ２１に入力する前にＥＤＣを付加する必要がある。
【０１３８】
ブルーレイ規格においては、偶数セクタにおいて最終データの次に付加されるＥＤＣがユーザ・データ方向Ｑにおいて１０４〜１０７行目、すなわち、ユーザ・データ方向Ｑの順でデータを並べた際の途中に配置されることとなる（図２参照）。よって、レコーディング・フレーム方向Ｐの順に行方向に読み出した場合、１０４行目以降のデータ転送は、ＥＤＣが必要となる。一方で、ＥＤＣは、セクタ毎のユーザ・データを全て入力して得られるものであるため、上述したように、ＥＤＣを求めつつレコーディング・フレーム方向Ｐに読み出すことは不可能である。
【０１３９】
これに対し、本実施の形態においては、（ｔ−１）番目のＲＵＢに含まれるユーザ・データの処理中には、既にパスＳ１において、（ｔ−１）番目における当該ユーザ・データに対するＥＤＣが演算され、ＥＤＣバッファ１４に格納されている。よって、図９、図１０（ｂ）に示すように、例えばバースト転送サイズｍ＝２４である場合には、４番目の転送ブロックをバースト転送する場合であって、偶数セクタを転送する際、及び９番目の転送ブロックをバースト転送する場合であって奇数セクタを転送する際にはＥＤＣを付加する必要がある。そこで、統合部２０は、この４番目の転送ブロックを転送する際には、ｉ＝９かつ行番号Ｒ＝１０４〜１０７の位置に、９番目の転送ブロックを転送する際には、ｉ＝１８かつＲ＝２１２〜２１５の位置に、パスＳ１にて予め算出して保持しておいたＥＤＣをＥＤＣバッファ１７から読み出し、付加して置き換えバッファ２１に格納する。統合部２０のＥＤＣ付加タイミングは統合部２０が行ってもよく、バッファ・コントローラ１２により制御してもよい。
【０１４０】
（４−３）スクランブル方法 
次に、置き換えバッファ２１にバースト転送された転送ブロックをレコーディング・フレーム方向Ｐの順に読み出しスクランブル処理する。次に、パスＳ２におけるスクランブル処理について説明する。
【０１４１】
スクランブル回路２２は、クランブル中間値を使用してレコーディング・フレーム方向Ｐの順にスクランブル処理を実行する。ここで、スクランブル処理は、レコーディング・フレーム毎に実行する。図１５は、スクランブル回路２２の詳細及びその周辺回路を示すブロック図である。予め、パスＳ１でスクランブル・バッファ１７の一方の記憶領域には、上述のように、１記録単位ＲＵＢに含まれるデータをスクランブル処理するために必要なスクランブル中間値（１６ｂｉｔｓ×１９）が格納されている。なお、他方の記憶領域は、パスＳ１においてスクランブル処理中のスクランブル中間値を随時退避するために使用されている。スクランブル中間値は、この一方の記憶領域（以下、スクランブル・バッファ１７ａという）からスクランブル回路２２に供給され、スクランブル回路２２において各ユーザ・データに対応するスクランブル中間値に演算しなおされ、そこから下位８ｂｉｔｓがスクランブル値として取り出され、ユーザ・データと排他的論理和を取ることでスクランブル済データを生成する。
【０１４２】
このため、スクランブル回路２２には、スクランブル・バッファ１７ａに保存されている１９個のスクランブル中間値Ｓ（ｉ）が供給される。このスクランブル中間値は、スクランブル・バッファ１７が、パスＳ１においてスクランブル回路１６がスクランブル処理する際に、生成し、使用した値から、スクランブル中間値の初期値１６ｂｉｔｓ及び以後１０８ｂｙｔｅｓ毎のスクランブル中間値Ｓ（ｉ）を保存したものである。なお、本実施の形態においては、スクランブル回路１６の演算結果を利用してスクランブル中間値及び初期値を退避させることで得るものとするが、これらの値を予め記憶しておいてもよい。
【０１４３】
スクランブル・バッファ１７ａは、１６ｂｉｔｓのスクランブル中間値を１９個保存する１９個の保存部scramble_value[０]〜scramble_value[１８]を有する。スクランブル回路１６からスクランブル・バッファ１７ａへの具体的な退避の順番は、scramble_value[０]にスクランブル中間値の初期値、scramble_value[１０]に１０８ｂｙｔｅｓ後のスクランブル中間値、scramble_value [１]に２１６（＝１０８×２）ｂｙｔｅｓ後のスクランブル中間値、scramble_value [１１]に３２４（＝１０８×３）ｂｙｔｅｓ後のスクランブル中間値、scramble_value[２]に、・・・と同様に退避されている。
【０１４４】
なお、以下の説明においては、アドレス[＊＊＊＊]に対応するスクランブル中間値をＳ[００００]、データをＤ[００００]のように示すこととする。すなわち、セクタの先頭データＤ[００００]に対応するスクランブル中間値をＳ[００００]、次（ユーザ・データ方向Ｑの順）のデータＤ[０００１]に対応するスクランブル中間値をＳ[０００１]のように示す。１セクタのデータに対しスクランブル処理するためには、Ｓ[００００]〜Ｓ[２０５１]のスクランブル中間値が必要となる。なお、Ｓ[００００]は、スクランブル用シフト・レジスタに入力される初期値である。各スクランブル中間値の下位８ｂｉｔｓと、ＥＤＣが付加されたデータＤ[００００]〜Ｄ[２０５１]とが排他的論理和されスクランブル済データに変換される。
【０１４５】
スクランブル回路２２は、これらのスクランブル中間値及びレコーディング・フレーム方向Ｐの順にＥＤＣ付加データが入力され、スクランブル処理する。このため、スクランブル中間値が入力され、これをシフトしてユーザ・データ方向Ｑの順で次のＥＤＣ付加データに対するスクランブル中間値を演算するシフト・レジスタ３１を有する。シフト・レジスタ３１は、スクランブル・バッファ１７の各保存部scramble_value[０]〜scramble_value[１８]と共通に接続され、後述する所定のタイミングで各保存部scramble_value[０]〜scramble_value[１８]に退避されているスクランブル中間値を順次更新し、各保存部scramble_value[０]〜scramble_value[１８]に当該更新値を書き戻す。
【０１４６】
スクランブル回路２２は、更に、行カウンタ３２と、行カウンタ値が１０８か否かを判定する比較器３３と、行カウント値が１０８以外である場合は、シフト・レジスタ３１の演算結果を保存部scramble_value[９]に選択入力し、行カウント値が１０８である場合にはＳ（００００）＿ｔｍｐに保持しておいたＳ[００００]を保存部scramble_value[９]に選択入力する選択器３４とを有する。更に、ｉカウンタ３５と、ｉカウンタ３５のタイミングで、保存部scramble_value[０]〜[１８]に退避されているｉカウント値に対応する値を選択し、その下位８ビットを取り出し、スクランブル値として出力するスクランブル値出力部３６と、スクランブル値出力部３６から出力されるスクランブル値と、置き換えバッファ２１から読み出されるＥＤＣ付データとの排他的論理和をとるＸＯＲ回路３７とを有する。こうしてＸＯＲ回路３７にて、レコーディング・フレーム方向Ｐの順にスクランブル処理されたスクランブル済データがスクランブル回路２２から出力される。
【０１４７】
このスクランブル回路２２においては、１ＲＵＢに相当するＥＤＣ付加データが入力される際の最初に行カウンタ３２、ｉカウンタ３５の初期値を０とする。行カウンタ３２は上述の行カウンタ４１と同じく、０〜２１５（Ｒ０〜Ｒ２１５）をカウントし、ｉカウンタ３５は上述のｉカウンタ４２と同じく、０〜１８をカウントする。
【０１４８】
スクランブル・バッファ１７ａは、置き換えバッファ２１からのＥＤＣ付加データ入力タイミングで、順次、各保存部scramble_value[０]〜scramble_value[１８]に退避されている値を出力する。各保存部scramble_value[０]〜scramble_value[１８]は、１フレーム分のＥＤＣ付加データが入力終了するまで（１行分のデータ入力終了まで）、すなわち１６回繰り返し、現在保存されているスクランブル中間値を順次出力する。
【０１４９】
シフト・レジスタ３１は、１レコーディング・フレーム分のＥＤＣ付加データの入力が終了した時点で、各保存部scramble_value[０]〜scramble_value[１８]から出力されるスクランブル中間値からユーザ・データ方向Ｑの順で次のＥＤＣ付加データに対応するスクランブル中間値を演算して出力する。以下、これを更新スクランブル中間値という。この更新スクランブル中間値は、当該更新スクランブル中間値の基礎となるスクランブル中間値を出力した保存部scramble_valueに退避される。すなわち、各保存部scramble_value[０]〜scramble_value[１８]は、退避しているスクランブル中間値を出力し、更新スクランブル中間値を保存する。これにより、各保存部scramble_value[０]〜scramble_value[１８]の最初のスクランブル中間値、すなわちスクランブル回路１６から取得したスクランブル中間値がＳ[００００]、Ｓ[０２１６]、・・・、Ｓ[１８３６]であった場合（Ｒ＝０の場合）、更新後には、各保存部scramble_value[０]〜scramble_value[１８]には、Ｓ（０）、Ｓ（１）、・・・、Ｓ（１８）＝Ｓ[０００１]、Ｓ[０２１７]、・・・、Ｓ[１８３７]が退避されていることとなる。各保存部scramble_value[０]〜scramble_value[１８]は、これらの更新スクランブル中間値をＲ＝１の間、すなわち１６回繰り返し、順次出力する。以上の動作をＲ＝２１５まで繰り返す。最終のレコーディング・フレームのスクランブル処理しているときには、Ｓ（０）、Ｓ（１）、・・・、Ｓ（１８）＝Ｓ[０２１５]、Ｓ[０４３１]、・・・、Ｓ[１９４３]に更新され、これが順次出力されることｔなる。
【０１５０】
シフト・レジスタ３１は、例えば上述の図２３に示す１６ｂｉｔｓシフト・レジスタであり、例えばＤ[０００１]に対応するスクランブル中間値が入力されると、８ｂｉｔｓシフトすることでＤ[０００２]に対応するスクランブル中間値を更新スクランブル中間値として出力するものである。すなわち、このシフト・レジスタ３１は、通常のユーザ・データ方向Ｑの順でスクランブル中間値を演算するシフト・レジスタである。ただし、本実施の形態においては、入力が、ＥＤＣ付加データＤ[００００]に対応するスクランブル中間値の初期値Ｓ[００００]、Ｄ[０２１６]に対応するスクランブル中間値[０２１６]、Ｄ[０４３２]に対応するスクランブル中間値Ｓ[０４３２]、のようにレコーディング・フレーム方向Ｐの順であり、これらを更新し保存部scramble_valueに再び退避可能な構成となっている。すなわち、行カウント値が更新されるタイミング、すなわち一の行のレコーディング・フレームのスクランブル処理の終了後、次の行のレコーディング・フレームのスクランブル処理を開始する前に、Ｓ[００００]を更新したＳ[０００１]を保存部scramble_value[０]に退避し、Ｓ[０２１６]を更新したＳ[０２１７]を保存部scramble_value[１]に退避し、というように順次各保存部scramble_value[０]〜scramble_value[１８]に退避されているスクランブル中間値を更新する。スクランブル・バッファ１７ｂはそれらを順次出力するため、スクランブル出力部３６においては、Ｓ[００００]→Ｓ[０２１６]→Ｓ[０４３２]→・・・の順にスクランブル中間値を選択し、レコーディング・フレーム方向Ｐの順にスクランブル値を出力することができる。
【０１５１】
ここで、上述したように、偶数セクタと奇数セクタとが共存する列（ｉ＝９）は、Ｒ０〜Ｒ１０７が偶数セクタ、Ｒ１０８〜Ｒ２１５が奇数セクタとなっている。よって、スクランブル値は、Ｒ１０８〜Ｒ２１５においては、Ｓ[００００]〜Ｓ[０１０７]となる。このため、ｉ＝９の列に対応するスクランブル中間値を順次更新して保存する保存部scramble_value[９]の値を、Ｒ１０８のときにＳ[００００]にリセットする必要がある。よって、行カウンタ３２により行Ｒをカウントし、比較器１０８にてＲ１０８を検出し、Ｒ１０８が検出された場合、すなわち比較器３３の出力が「１」のとき、選択器３４によって、シフト・レジスタ３１が演算したスクランブル値ではなく、スクランブル中間値の初期値Ｓ[００００]を選択出力する。こうして、保存部scramble_value[９]には、Ｒ１０８以降、Ｒ２１５までＳ[００００]→Ｓ[０００１]→・・・→Ｓ[０２１４]→Ｓ[０２１５]とスクランブル中間値が更新された値が順次退避されていくことなる。
【０１５２】
こうして、一旦パスＳ２における処理が終了すると、スクランブル・バッファ１７ａはリセットされる。このパスＳ２の処理中に、パスＳ１によって求められてスクランブル・バッファ１７の他方の記憶領域には新たなスクランブル中間値が保持されている。1クラスタ分のデータの処理を終了すると、スクランブル回路２２が新たなデータ・ブロックの処理を始める際には、このスクランブル・バッファ１７の他方の領域に退避されたスクランブル中間値を再び使用してスクランブル処理を実行する。
【０１５３】
図１６は、スクランブル回路２２の動作を示すフローチャートである。なお、本実施の形態においては、例えば、データがスクランブル回路２２に入力される各タイミングにおいて、ステップＳＰ４１からの処理が繰り返し実行されるものとして説明する。図１６に示すように、先ず、先頭転送ブロック初期化時（ステップＳＰ４１：ＹＥＳ）には、スクランブル回路２２は、Ｓ（００００）＿ｔｍｐからＳ[００００]を読み出し（ステップＳＰ４２）、ｉカウンタ３５のｉカウント値を０とし（ステップＳＰ４３）、行カウンタ３２の行カウント値を０とする（ステップＳ４４）。
【０１５４】
スクランブル値出力部３６には、ｉカウンタ３５が示すスクランブル中間値Ｓ（ｉ）がスクランブル・バッファ１７ａから供給される（ステップＳＰ４５）。スクランブル値出力部はスクランブル中間値Ｓ（ｉ）の下位８ビットを抜き出したスクランブル値を出力し、ＸＯＲ回路３７に入力される。次いで、レコーディング・フレーム方向ＰのＥＤＣ付加データとＸＯＲ演算され、スクランブル済データとして統合部１０１に出力される。
【０１５５】
そして、処理セクタが、最終エリア、すなわちセクタＳｅｃ３０又はＳｅｃ３１であるか否かが判断され（ステップＳＰ４７）、セクタＳｅｃ０〜Ｓｅｃ２９である場合には、ｉカウント値＝１８か否かが判断され（ステップＳＰ４８）、ｉカウント値が１８の場合にはｉカウント値を０にリセットし（ステップＳＰ４９）、１８未満である場合はｉカウント値をインクリメントする（ステップＳＰ５０）。
【０１５６】
一方、処理セクタがセクタＳｅｃ３０又はＳｅｃ３１である場合（ステップＳＰ４７：ＹＥＳ）、行カウンタ３２の行カウント値＝１０７であるか否かが判断される（ステップＳＰ５１）。行カウント値＝１０７ではない場合（ステップＳ５１：ＮＯ）、及び行カウント値＝１０７であってもｉカウント値＝９以外の場合（ステップＳＰ５２：ＮＯ）には、ｉ番目のスクランブル中間値scramble_value[ｉ]をシフト・レジスタ３１にて更新し、スクランブル中間値scramble_value[ｉ]を、更新した更新スクランブル中間値に置き換える（ステップＳＰ５３）。一方、行カウント値＝１０７であってかつｉカウント値＝９である場合（ステップＳＰ５１：ＹＥＳ、ステップＳＰ５２：ＹＥＳ）、Ｓ（００００）＿ｔｍｐからＳ[００００]を読み出しスクランブル中間値scramble_value[９]へ代入する。
【０１５７】
そして、ｉカウント値が１８の場合はｉカウンタ３５のカウント値を０にリセットして行カウンタ３２のカウント値をインクリメントし（ステップＳＰ５５、５６、５７）、ｉカウント値が１８未満である場合にはｉカウント値をインクリメントする（ステップＳＰ５８）。これを１クラスタ分、本実施の形態においては、バースト転送サイズ＝２４バイトであるので、置き換えバッファ２１の一面分のデータ×９面分の処理が終了するまで繰り返す。
【０１５８】
本実施の形態においては、バースト転送等１回の転送サイズｍ×３０４ｂｙｔｅｓ×２面（書き込み用及び読み出し用）の記憶容量を有する置き換えバッファ２１、ＥＣＣパリティを一時保持するＥＣＣバッファ（９７２８ｂｙｔｅｓ×２面）、ＥＤＣコードを一時保持するＥＤＣバッファ（４ｂｙｔｅｓ×３２×２面）、スクランブル・バッファ（３８ｂｙｔｅｓ×２面）を設ける。
【０１５９】
そして、パスＳ１、すなわちユーザ・データ方向Ｑでのエンコードで得られるＥＤＣ、スクランブル中間値、及びＥＣＣを予め一時保持しておく。そして、パスＳ２において、データ・バッファ１１からユーザ・データを繰り返しバースト転送することで置き換えバッファ２１に対する高速データ転送を可能とする。また、置き換えバッファ２１をリフレッシュ動作が不要であってランダムアクセスが可能なメモリから構成することで、データ・バッファ１１からバースト転送により得た連続したデータをレコーディング・フレーム方向Ｐの順に高速置き換えが可能となる。この場合、置き換えバッファ２１は、データ・バッファ１１の記憶容量未満の大きさ、例えばレコーディング・フレーム方向Ｐで読み出すための最小容量としても、パスＳ１にて演算し保持されているＥＤＣ、スクランブル中間値、及びＥＣＣを使用して演算結果を使用することで、レコーディング・フレーム方向Ｐの順に置き換えられたデータに対しスクランブル処理を実行することができる。
【０１６０】
このことにより、従来では、ＳＲＡＭなどの高速にランダムアクセス可能な一時記憶装置をユーザデータ・バッファ１１として使用しない限り高倍速記録でのエンコード処理を実現できなかったのに対し、本実施の形態においては、ユーザデータ・バッファ１１として高速ランダムアクセスには不向きなＳＤＲＡＭ等を用いながらも、比較的小規模な回路の追加によって低コストでかつ高倍速記録が可能なエンコード処理が可能となる。
【０１６１】
実施の形態２． 
次に、実施の形態２にかかるエンコード装置について説明する。図１７は、本実施の形態にかかる光ディスク記録システムを示すブロック図である。なお、図１７に示す本実施の形態及び後述する変形例において、図１に示す実施の形態１にかかる光ディスクシステムと同一の構成要素には同一の符号を付してその詳細な説明は省略する。
【０１６２】
図１７に示すように、本実施の形態にかかる光ディスクシステム１は、エンコード装置７０において、ＥＤＣバッファ及びＥＣＣバッファを有していない点が実施の形態１とは異なる。このように、パスＳ１において演算されたえＥＤＣ、ＥＣＣは、個別にバッファを設けず、データ・バッファ１１に書き戻すようにしてもよい。すなわち、ＥＤＣバッファ、ＥＣＣバッファは、高速にランダムアクセスすることを要しないため、ＳＤＲＡＭ等から構成することができ、同じくＳＤＲＡＭ等から構成されるデータ・バッファ１１内に記憶量領域を確保するようにしてもよい。
【０１６３】
この場合、データ・バッファ１１には、ユーザ・データ記憶領域と、ＥＤＣ記憶領域と、ＥＣＣ記憶領域を有することとなる。ここで、上述したように、ＥＤＣは、ユーザ・データの各セクタの最後に付加されるデータである。そこで、予め、データ・バッファ１１にユーザ・データを格納する際に、このＥＤＣのデータ領域を各セクタ間に設けるようにしてもよい。すなわち、実施の形態１においては、データ・バッファ１１と置き換えバッファ２１とでセクタサイズが異なることで先頭アドレスを演算する回路を設けるものとして説明したが、このように、セクタ間にＥＤＣを書き戻す空き領域を設けておき、ここにＥＤＣを書き込むことで、データ・バッファ１１にはＥＤＣ付加データが格納されることなり、置き換えバッファ２１におけるアドレスと一致する。
【０１６４】
これにより、実施の形態１においては、セクタ境界で＋２１２とし、それ以外で＋２１６としてアドレスを換算しなおす先頭アドレス計算回路を設ける構成としていたが、本実施の形態においては、常に＋２１６とすればよいため先頭アドレス計算回路が不要となる。更に、ＥＤＣをデータ・バッファ１１に書き戻すことでユーザ・データにＥＤＣを付加する統合部２０も不要となり、エンコード装置を小型化、低コスト化することができる。
【０１６５】
また、ユーザ・データのセクタ間に可変の空き領域（Ｎｂｙｔｅｓ）を設けることで、Ｎ＝４とすればブルーレイディスクに対応し、例えばＮ＝１６とすれば、ＤＶＤ−ＲＯＭの１セクタ（ＩＤ、ＩＥＤ、ＣＰＲ＿ＭＡＩ、Ｍａｉｎ Ｄａｔａ、ＥＤＣ）のデータサイズ（２０６４ｂｙｔｅｓ）に一致することとなり、ブルーレイディスクとＤＶＤ、すなわち異なるフォーマット構成を有する２以上のディスクのアドレス管理を共有化することができる。
【０１６６】
図１８及び図１９は、実施の形態２の変形例及び他の変形例を示すブロック図である。図１８に示すように、ＥＤＣのみをデータ・バッファ８１に書き戻す構成のエンコーダ装置８０としてもよい。また、図１９に示すように、ＥＣＣのみをデータ・バッファ９１に書き戻すエンコーダ装置９０としてもよい。なお、ＥＣＣバッファ１９は上述したように、統合部１０１内に設けるようにしてもよい。
【０１６７】
以上の説明した実施の形態１、実施の形態２及びその変形例と、上述の参照例１，２との比較結果を下記表に示す。
【表１】
2006244631.tif 000003
【０１６８】
表１に示すように参照例１と比較すると、ＥＤＣ、ＥＣＣを記憶するＳＤＲＡＭ等の記憶領域、レコーディング・フレーム方向Ｐに高速データ転送するための小規模な置き換えバッファ、レコーディング・フレーム方向Ｐの順にスクランブル処理するためのスクランブル中間値を保持するスクランブル・バッファ及びスクランブル回路が追加となるものの、高倍速記録を可能とする。
【０１６９】
また、参照例２と比較すると同じく追加の回路が必要になるものの、データ・バッファ１１をＳＲＡＭ等の高速ランダムアクセス可能な高価なメモリとする必要がなく、高倍速のエンコード処理が可能でかつ低コスト化が可能なエンコード装置、記録装置、記録システムを提供することができる。
【０１７０】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【０１７１】
【図１】本発明の実施の形態１にかかるディスクエンコード装置及びこれを有する記録システムを示す模式図である。
【図２】ブルーレイディスクにおけるデータ・ブロックのバイト単位のデータの並び順を説明する図である。
【図３】図２に示す３２セクタのうち最初の２つのセクタＳｅｃ０、Ｓｅｃ１を拡大して示す図である。
【図４】参照例１にかかる記録システムを示す模式図である。
【図５】参照例２にかかる記録システムを示す模式図である。
【図６】４及び図５と比較して実施の形態１にかかる記録システムを図４及び図５と比較して示す模式図である。
【図７】本発明の実施の形態１におけるパスＳ１及びパスＳ２におけるデータ処理タイミングを示す図である。
【図８】ＥＤＣを演算するシフト・レジスタの一例を示す図である。
【図９】データ・バッファから置き換えバッファに転送されるデータを説明する図である。
【図１０】（ａ）及び（ｂ）は、図９に示すそれぞれ領域Ａ、Ｂを拡大して示す図である。
【図１１】本発明の実施の形態１における置き換えバッファを示す模式図である。
【図１２】（ａ）は、本実施の形態１における置き換えバッファに格納されているユーザ・データのアドレスを示す模式図、（ｂ）は、本発明の実施の形態１におけるバースト転送先頭アドレス計算回路を示すブロック図である。
【図１３】本発明の実施の形態１におけるデータ・バッファ、置き換えバッファのアドレスを説明するための図である。
【図１４】本発明の実施の形態１におけるアドレス計算回路の計算方法を示すフローチャートである。
【図１５】本発明の実施の形態１におけるスクランブル回路２２の詳細及びその周辺回路を示すブロック図である。
【図１６】本発明の実施の形態１におけるレコーディング・フレーム方向Ｐの順のスクランブル処理方法を示すフローチャートである。
【図１７】本発明の実施の形態２にかかる光ディスク記録システムを示すブロック図である。
【図１８】本発明の実施の形態２の変形例にかかる光ディスク記録システムを示すブロック図である。
【図１９】本発明の実施の形態２の他の変形例にかかる光ディスク記録システムを示すブロック図である。
【図２０】ブルーレイディスクのデータ構成を説明する図である。
【図２１】ＥＣＣクラスタのフォーマットを示す模式図である。
【図２２】ＬＤＣブロックを示す模式図である。
【図２３】ユーザ・データとアドレス情報とからＲＵＢを生成するまでの各データのエンコード順序を示す図である。
【図２４】スクランブル処理を行うスクランブル回路を示す模式図である。
【図２５】特許文献１に記載の従来の再生装置を示すブロック図である。
【符号の説明】
【０１７２】
１  光ディスクシステム、
３  記録装置、
２  ホスト、
１０，７０，８０  エンコード装置、
１１，７１，８１  データ・バッファ、
１１ａ，１１ｂ  記憶領域、
１２  バッファ・コントローラ、
１３  ＥＤＣ生成部、
１４  ＥＤＣバッファ、
１５  統合部、
１６  スクランブル回路、
１７，１７ａ  スクランブル・バッファ、
１８  ＥＣＣ生成部、
１９  ＥＣＣバッファ、
２０  統合部、
２１  置き換えバッファ、
２１ａ，２１ｂ  記憶領域、
２２  スクランブル回路、
３１  シフト・レジスタ、
３２，４２  行カウンタ、
３３  比較器、
３４  選択器、
３５，４３  ｉカウンタ、
３６  スクランブル値出力部、
３７  ＸＯＲ回路、
４０  アドレス計算回路、
４１  エリアカウンタ、
４５〜４９  比較器、
５０〜５３  論理回路、
５４  選択器、
５５  加算器、
５６  アドレス出力部、
５７  加算器、
５８  アドレス保存部、
【図１】
2006244631.tif 000004
【図２】
2006244631.tif 000005
【図３】
2006244631.tif 000006
【図４】
2006244631.tif 000007
【図５】
2006244631.tif 000008
【図６】
2006244631.tif 000009
【図７】
2006244631.tif 000010
【図８】
2006244631.tif 000011
【図９】
2006244631.tif 000012
【図１０】
2006244631.tif 000013
【図１１】
2006244631.tif 000014
【図１２】
2006244631.tif 000015
【図１３】
2006244631.tif 000016
【図１４】
2006244631.tif 000017
【図１５】
2006244631.tif 000018
【図１６】
2006244631.tif 000019
【図１７】
2006244631.tif 000020
【図１８】
2006244631.tif 000021
【図１９】
2006244631.tif 000022
【図２０】
2006244631.tif 000023
【図２１】
2006244631.tif 000024
【図２２】
2006244631.tif 000025
【図２３】
2006244631.tif 000026
【図２４】
2006244631.tif 000027
【図２５】
2006244631.tif 000028