JP2007042234A - 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置 - Google Patents

誤り検出符号算出回路、誤り検出符号算出方法及び記録装置 Download PDF

Info

Publication number
JP2007042234A
JP2007042234A JP2005226705A JP2005226705A JP2007042234A JP 2007042234 A JP2007042234 A JP 2007042234A JP 2005226705 A JP2005226705 A JP 2005226705A JP 2005226705 A JP2005226705 A JP 2005226705A JP 2007042234 A JP2007042234 A JP 2007042234A
Authority
JP
Japan
Prior art keywords
data
error detection
user data
order
detection code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005226705A
Other languages
English (en)
Other versions
JP4620541B2 (ja
Inventor
Takeo Ariyama
剛生 有山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2005226705A priority Critical patent/JP4620541B2/ja
Priority to DE602006001270T priority patent/DE602006001270D1/de
Priority to EP06015074A priority patent/EP1750264B1/en
Priority to US11/495,715 priority patent/US7640483B2/en
Priority to CNB2006101084599A priority patent/CN100570730C/zh
Publication of JP2007042234A publication Critical patent/JP2007042234A/ja
Application granted granted Critical
Publication of JP4620541B2 publication Critical patent/JP4620541B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/17Burst error correction, e.g. error trapping, Fire codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1267Address data
    • G11B2020/1271Address data the address data being stored in a subcode, e.g. in the Q channel of a CD
    • G11B2020/1272Burst indicator subcode [BIS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】
ユーザ・データの誤りを検出する誤り検出符号を算出する際のデータ・バッファへのアクセス量を低減する。
【解決手段】
記録装置1は、ユーザ・データにEDCを付加して符号化方向Qとは異なる順序でスクランブル回路へ転送する。処理データは、方向Qの順では最後に付加される構成となるが、前記異なる順序では途中で挿入される構成となる。このためEDC付きデータを前記異なる順序で転送する場合には、先ず、EDC生成部31が偶数セクタの後半部分の期待値からEDC中間値を算出し、次にEDC生成部34が前記異なる順序のユーザ・データを受け取り、偶数セクタの前半部分及び奇数セクタの期待値とEDC中間値とからEDCを算出する。期待値は、EDC付きデータの同一ビット数であって、方向Qの順を対応づけたとき対応するビットのみを1、他を0とした符号列の誤り検出値である。
【選択図】 図4

Description

本発明は、光ディスクにデータを記録する際の記録速度の向上を図った誤り検出算出回路、誤り検出算出方法及び記録装置に関する。
CD、CD−R/RW、CD−ROMなどのいわゆる第1世代の光ディスク、DVD(Digital Versatile Disc)などのいわゆる第2世代光ディスクに次いで、光源波長を405nm(青紫色)に短波長化したいわゆる第3世代光ディスクと呼ばれるブルーレイディスクが開発されている。ブルーレイディスクは、光源波長の短波長化の他、対物レンズの開口数NA(numerical aperture)を0.85に高め、ビーム・スポット面積をDVDに比して1/5程度に縮めることで、DVDの約5倍の面記録密度で記録マークを読み書き可能となっている。さらに、ディスク基板上に相変化記録層を設け、この上に0.1mmの透明なカバー層で覆うことでディスクとレーザ光の光軸との相対的な傾きによる収差を低減する構造が取られている。
ブルーレイディスクのデータ構成は規格により以下のように定められている。図29は、ブルーレイディスクのデータ構成を説明する図である。ブルーレイ規格においては、ディスク301には、記録データがRUB(Recording Unit Block)302と呼ばれる単位を1記録単位として記録される(以下クラスタともいう)。RUB302は、ランイン(Run-in)303、ランアウト(Run-out)305と呼ばれるデータ上書きのためのバッファ領域、ギャップ領域と、これらの領域間に配置されるフィジカルクラスタ(Physical Cluster)304とからなる。ランイン303は2760cbs(channel bits)、ランアウト305は1104cbsからなり、フィジカルクラスタ304は1932cbs×496frames=958272cbsからなる。ランイン303及びランアウト305を合わせると2フレーム(後述するレコーディング・フレーム(Recording Frame))分のチャネルビット長となる。フィジカルクラスタ304は、ユーザ・データ、及びディスクのアドレス情報などを含むBIS(Burst indicator subcode)からなる。
フィジカルクラスタ304は、496のレコーディング・フレーム306から構成される。各レコーディング・レーム306の先頭にはシンク領域(frame sync)が配置される。こうして、フィジカルクラスタ304を構成する496のレコーディング・フレームと、ランイン303及びランアウト305の2フレームとを合わせた498フレームから1RUB302が構成される。
レコーディング・フレーム306は1932チャネルビットで構成され、1−7PP(Parity Preserve/Prohibit RMTR)変調されている。これを復調した復調後のデータから、DSV(Digital Sum Value)制御(dc-control)ビットが削除されて、ECCクラスタが得られる。
図30は、ECCクラスタのフォーマットを示す模式図である。ECCクラスタ401には、496フレームからなり、ユーザ・データ402、ECCパリティ404とBIS403とが含まれる。ユーザ・データ402、ECCパリティ404を抜き出したものが、LDC(long distance code)クラスタであり、496フレームのうち64フレームがECCパリティ404である。また、BIS403を抜き出したものがBISクラスタとなる。
BISクラスタは、ディスクのアドレス情報を含む。BISクラスタのアドレス情報(9byte)は、ECCクラスタの496フレームが16分割され、31フレーム毎のアドレスユニット(Address Unit)とされた当該アドレス・ユニット毎に割り当てられる。BISとしては3フレームで9bytes(1フレーム当たり3bytes)揃うが、アドレスは最初の4bytesに含まれる。したがって、各アドレス・ユニットの最初の2フレームを取得することで、各アドレス・ユニットのアドレス情報(アドレス・ユニット・ナンバ)を得ることができる。BISクラスタは、デ・インタリーブされることでBISブロックと呼ばれるフォーマットとなる。また、LDCクラスタもデ・インタリーブされることで、LDCブロックと呼ばれるフォーマットとなる。
図31はLDCブロック501を示す模式図である。このLDCブロックは、図30に示すECCクラスタからユーザ・データ402、ECCパリティ404部分を抜き出し、横方向(1フレーム)152byte、縦方向496フレームとなったデータについてデ・インタリーブされたものである。デ・インタリーブは、2段階で行なわれる。先ず、2フレーム毎に、シフト量を3バイトずつ増加させて紙面右方向にローテーションする。次に偶数フレームの各バイトを奇数フレームの各バイト間に挿入する。これにより、横方向(1フレーム)が2倍の304byte、縦方向が半分の248バイトからなるデータとすることで完了する。
図31において、LDCブロック501のうちECCパリティ503を除いた部分がデータ・ブロック(data block)502とよばれ、1データ・ブロックは、32セクタ(Sec0〜Sec31)で構成される。1セクタは2048bytesのユーザ・データ504と4bytesのEDC(error detecting code)505の2052bytesからなる。記録を行うデータの並び順方向をレコーディング・フレーム方向Pとし、ユーザ・データとしての並び順方向をユーザ・データ方向Qとすると、レコーディング・フレーム方向Pは紙面横方向(行方向)、ユーザ・データ方向Qは紙面縦方向(列方向)となり、データの記録方向とユーザ・データの並び順は、異なる方向となっている。
1セクタは、ユーザ・データ方向Qに、216bytesのユーザ・データが折り返して配置される。すなわち、ユーザ・データ504は1列(216bytes)毎にレコーディング・フレーム方向Pに順に配列される構造となっている。よって、2052bytesの1セクタSecは、ユーザ・データ方向Qに9列と1/2列から構成される。4bytesのEDC505は各セクタSecにおいて2048bytesのユーザ・データ504の最後に配置されるため、最初のセクタのセクタ番号を0(Sec0)とすると、偶数番号セクタのEDC505は、248バイトの途中の位置に存在することとなる。
図32は、ユーザ・データとアドレス情報とからRUBを生成するまでの各データのエンコード順序を示す図である。LDCクラスタとBISクラスタとは別々に生成される。LDCクラスタは以下のように生成される。すなわち、ユーザ・データB1にEDCが付加されて(C1)データ・フレームB2とされる。EDC付加処理は、セクタSec毎に行われ、1セクタ分のデータをユーザ・データ方向Qに所定の演算を施すことでEDCが付加された状態のセクタSecを得ることができる。
EDCが付加されたEDC付加データ(Data Frame)B2にスクランブル処理を施して(C2)スクランブル済データ(Scrambled Data Frame)B3とする。スクランブル処理は、EDCが付加された1セクタ、2052bytesのデータを、ユーザ・データ方向Qの順に所定の演算を施すことで行なわれる。そして、このスクランブル済データB3を行列再配置し(C3)データ・ブロックB4とする(C4)。次に、データ・ブロックB4に対し、ECCパリティを付加して(C4)LDCブロックB5を生成し、これにインタリーブを施して(C5)LDCクラスタB6を得る。
一方、BISクラスタの生成においては、先ず、ユーザ・コントロール・データB8をインタリーブし(C6)、アドレス・ユニット・ナンバB7にECCを付加してインタリーブし(C7)、これらのデータからアクセス・ブロック(Access Block)B9を生成する。このアクセス・ブロックB9にBIS ECCを付加して(C8)BISブロックB10を生成し、これにインタリーブを施して(C9)BISクラスタB11を得る。
そして、LDCクラスタB6及びBISクラスタB11を結合して(C10)ECCクラスタB12とし、このECCクラスタB12に同期信号(frame sync)及びDSV制御ビットを付加して(C11)フィジカルクラスタB13を生成する。このフィジカルクラスタB13に対し、ランイン及びランアウトを付加し、更に1−7PP変調を施す(C12)ことで、495のレコーディング・フレームB14とその前後にランインB14及びランアウトB14が配置されたRUB(B14)を生成する。
このようにフォーマットされたブルーレイディスクの再生装置が特許文献1に開示されている。図33は、特許文献1に記載の従来の再生装置を示すブロック図である。ディスク701は、記録及び再生動作時においてスピンドルモータ752によって一定線速度(CLV)で回転駆動される。そして光学ピックアップ(光学ヘッド)751によってディスク701へのデータの記録又はディスク701からのデータの再生が行われる。
ピックアップ751は、レーザ光源となるレーザダイオード、反射光を検出するためのフォトディテクタ、及びレーザ光の出力端となる対物レンズを有し、レーザ光を対物レンズを介してディスク記録面に照射し、その反射光をフォトディテクタに導く光学系(図示せず)が形成される。このピックアップ751は、スレッド機構753によりディスク半径方向に移動可能とされる。レーザダイオードは、波長405nmのいわゆる青色レーザを出力する。また光学系によるNAは0.85であり、レーザドライバ763からのドライブ信号(ドライブ電流)によってレーザ発光駆動される。ディスク701からの反射光情報はフォトディテクタによって検出され、受光光量に応じた電気信号とされてマトリクス回路754に供給される。
マトリクス回路754には、フォトディテクタとしての複数の受光素子からの出力電流に対応して電流電圧変換回路及びマトリクス演算/増幅回路等を備え、マトリクス演算処理により必要な信号を生成する。例えば再生データに相当する高周波信号(再生データ信号)、サーボ制御のためのフォーカスエラー信号、トラッキングエラー信号、及びグルーブのウォブリングに係る信号としてプッシュプル信号等を生成する。
マトリクス回路754から出力される再生データ信号はリード/ライタ回路(RW回路)755へ、フォーカスエラー信号及びトラッキングエラー信号はサーボ回路761へ、ウォブリンググルーブの検出情報であるプッシュプル信号はウォブル回路758へ、それぞれ供給される。
ディスク701がリライタブルディスクの場合において、グルーブのウォブリングに係る信号としてマトリクス回路754から出力されるプッシュプル信号は、ウォブル回路758において処理される。ADIP情報としてのプッシュプル信号は、ウォブル回路758においてMSK復調、HMW復調され、ADIPアドレスを構成するデータストリームに復調されてアドレスデコーダ759に供給される。アドレスデコーダ759は、ウォブル回路758から供給されるウォブル信号をPLL回路に入力してクロックを生成し、例えば記録時のエンコードクロックとして各部に供給する。
ここで、記録時においては、AVシステム720から記録データが転送され、ECC/スクランブル回路757のメモリに送られてバッファリングされる。この場合ECC/スクランブル回路757は、バファリングされた記録データのエンコード処理として、エラー訂正コード付加やスクランブル処理、サブコード等の付加を行う。ECCエンコード処理及びECCデコード処理は、RS(248,216,33)、符号長248、データ216、ディスタンス33のRS(reed solomon)コードを用いたECCフォーマットに対応する処理となる。またECCエンコード及びスクランブル処理されたデータは、変復調回路756においてRLL(1−7)PP方式の変調が施され、リーダ/ライタ回路755に供給される。記録時においてこれらのエンコード処理のための基準クロックとなるエンコードクロックは上述のウォブル信号から生成したクロックを用いる。
エンコード処理により生成された記録データは、リーダ/ライタ回路755で記録調整処理として、記録層の特性、レーザ光のスポット形状、記録線速度等に対する最適記録パワーの微調整やレーザドライブパルス波形の調整などが行われた後、レーザドライブパルスとしてレーザドライバ763に送られる。レーザドライバ763では供給されたレーザドライブパルスをピックアップ751内のレーザダイオードに供給し、レーザ発光駆動を行う。これによりディスク701に記録データに応じたピット(フェイズチェンジマーク)が形成されることになる。
スピンドルサーボ回路762はスピンドルモータ752をCLV回転させる制御を行う。スピンドルサーボ回路762は、ウォブル信号に対するPLL処理で生成されるクロックを、現在のスピンドルモータ752の回転速度情報として獲得し、これを所定のCLV基準速度情報と比較することで、スピンドルエラー信号を生成する。
以上のようなサーボ系及び記録再生系の各種動作はマイクロコンピュータによって形成されたシステムコントローラ760により制御される。システムコントローラ760は、AVシステム720からのコマンドに応じて各種処理を実行する。例えばAVシステム720から書込命令(ライトコマンド)が出されると、システムコントローラ760は、まず書き込むべきアドレスにピックアップ751を移動させる。そしてECC/スクランブル回路757、変復調回路756により、AVシステム720から転送されてきたデータ(例えばMPEG2などの各種方式のビデオデータや、オーディオデータ等)について上述したようにエンコード処理を実行させる。そして上記のようにリーダ/ライタ回路755からのレーザドライブパルスがレーザドライバ763に供給されることで、記録が実行される。なお、これらのデータの記録時や再生時には、システムコントローラ260は、アドレスデコーダ759によって検出されるADIPアドレス、或いはBISに含まれるアドレスを用いてアクセスや記録再生動作の制御を行う。
この特許文献1に記載の技術においては、ブルーレイディスクのリンキングデータ(ランイン及びランアウト)をメインデータ(ユーザ・データ)と同様の方法でスクランブルすることで、RAM互換に優れ、トラッキングサーボにも有利となるROM媒体等の提供を図ったものである。
特開2004−192749号公報 「次世代光ディスク 解体新書」,日経エレクトリニクス ブックス,2003年10月7日
ところで、上述のようなフォーマットを有するブルーレイディスクにおいては、データの記録方向はレコーディング・フレーム方向Pであり、この方向Pの順にデータを変調する必要がある。すなわち、少なくとも変調前までには、データの並び順をユーザ・データ方向Qからレコーディング・フレーム方向Pの順に並び替えて出力することが必要となる。
しかしながら、上述したEDC505は、図31に示すように、各セクタの最後に付加される構成を有する。したがって、偶数セクタにおいては、EDC505は、ユーザ・データ方向Qにおいて、216バイトからなる1列の途中に配置される構成を有する。よって、EDC付加データを例えばレコーディング・フレーム方向Pにデータを転送しようとすると、偶数セクタにおいては、全てのユーザ・データの転送が終了する前にEDCを転送しなければならないことになる。すなわち、EDC505が配置される行以降の例えばD431、D107などユーザ・データが転送される前にEDC505を付加しなくてはならないが、EDC505は、1セクタの全ユーザ・データに対して所定の演算を行なって得るものであるため、セクタにおけるユーザ・データが全て揃わない状態でEDC505を求めることは通常は不可能である。
したがって、一旦ユーザ・データ方向Qの順のデータを全部読み出し予めEDCを求めておく処理が必要になるが、このような方法では記録順序に出力する際に再度ユーザ・データを読み出す必要があり、高倍速記録が困難になるという問題点がある。
すなわち、データ・バッファに対して、EDCの演算のためと、記録順序に並び変えるための少なくとも2回のアクセスが必要となり、誤り検出符号生成のために発生するデータ・バッファへのアクセスがデータ・バッファに対するメモリ・アクセスのスループットを下げてしまうこととなる。
本発明にかかる誤り符号算出回路は、第1の順序を有するユーザ・データ符号列の誤りを検出する誤り検出符号を算出する誤り検出符号算出回路であって、ユーザ・データ符号列を含むセクタを2以上有するデータ群を処理単位とし、前記データ群は、前記第1の順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の最後に付加されるものであって、前記第1の順序とは異なる順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の読み出し途中に付加される構成を有する演算対象セクタを含み、前記演算対象セクタの一部のユーザ・データから誤り検出符号中間値を算出する第1の演算部と、前記演算対象セクタから前記一部を除いた残りのユーザ・データ及び前記誤り検出符号中間値に基づき誤り検出符号を算出する第2の演算部とを有し、前記第2の演算部は、前記第1の順序とは異なる順序で前記演算対象セクタに含まれるユーザ・データ符号列を読み出した際に付加するための前記誤り検出符号を算出するものである。
エンコードするデータが、第1の順序とは異なる順序で読み出された場合には誤り検出符号(EDC)がその途中に挿入される構成の演算対象セクタを有する場合、異なる順序でデータ群にEDCを付加して転送する場合には、演算対象セクタについては、ユーザ・データ符号列全部を転送する前に誤り検出符号の算出を終了する必要がある。よって、ユーザ・データ符号列の全部から誤り検出符号を予め算出しておき、前記異なる順序でユーザ・データを転送する際に予め算出しておいた誤り検出符号を付加することが考えられる。これに対し、本発明においては、第1の演算部及び第2の演算部が演算対象セクタのそれぞれ一部と残部についての演算を実行する。第2の演算部において異なる順序で読み出す際に誤り検出符号の一部の演算を行なうようにしたので、第1の演算部において符号列全体についての演算をする必要がなくなり、これにより符号列の一部へのアクセスのみとなり、データ・バッファへのアクセス量を削減することができる。
本発明によれば、ユーザ・データの誤りを検出する誤り検出符号を算出する際のデータ・バッファへのアクセス量を低減することができる誤り検出符号算出回路、誤り検出符号算出方法及び記録装置を提供することができる。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、光ディスクにおける高倍速記録を可能とするエンコード装置及び記録装置に適用したものである。なお、以下の説明においては、光ディスクの一例として、ブルーレイディスクを例にとり、必要に応じてブルーレイ規格の物理仕様に準じたエンコード処理を実行するものとして説明するが、本発明にかかるエンコード装置及び記録装置は、ブルーレイディスクに限らず、エンコード順序と記録順序とが異なるような他のディスクの記録装置等に適用することが可能である。
図1は、ブルーレイディスクにおけるデータ・ブロックのバイト単位のデータの並び順を説明する図である。また、図2は、2つのセクタSec0、Sec1を拡大して示す図である。図中に示す数値は、バイト単位のユーザ・データ方向Qの順を示す。データ・ブロック41は、304列216行からなる。データ・ブロック41は、32個のセクタにより構成される。1つのセクタは、2048bytesのユーザ・データに4bytesのEDCが付加された2052バイトのデータからなる。
各セクタは、列方向に216バイトのデータが折り返し304列並べられたブロックデータとなっている。Row(0≦Row≦215)を行番号、Column(0≦Column≦303)を列番号とすると、例えばセクタSec0においては、Column=9は、Q=1944〜2051のバイトデータとなり、Row=107までとなる。Row=108〜215は次のセクタSec1のQ=0〜107のバイトデータが配置される。このように、データ・ブロック41は、偶数番目のセクタ(偶数セクタ)と奇数番目のセクタ(奇数セクタ)とを1つの単位(以下、エリアともいう)、すなわち、19列からなる2つのセクタからなるエリア毎に同じ順序で繰り返し配置されている。
セクタSec0〜セクタSec31は、図1及び図2に示すユーザ・データ方向Qの順序に所定の演算を施すことでEDCが付加され、スクランブルされた後、変調等が施されてディスクに記録されるが、この記録の際には、データ・ブロックは、図1中に矢印で示すレコーディング・フレーム方向Pの順に記録されることとなり、ユーザ・データ方向Qの列方向とは直交する方向となる。ユーザ・データ方向Qは、ブルーレイディスクにおける誤り検出符号付加の際の処理順序及びスクランブル処理の際のエンコード処理順序の方向となっている。なお、後述するように、ユーザ・データとEDCとを別々にスクランブルしてから統合するようにすることも可能である。
上述したように、ブルーレイディスクでは、レコーディング・フレーム方向Pの順にデータが記録されるため、変調前までにエンコードの処理順序のユーザ・データ方向Qの順のデータをレコーディング・フレーム方向Pの順に並び変える必要がある。そこで、エンコードをレコーディング・フレーム方向Pの順に実行しようとすると、図1に示すように、EDCは偶数セクタにおいては、全セクタのユーザ・データを読み出す前にEDCを付加する構成となっており、EDCはセクタの全ユーザ・データから算出されるものであるためEDCを算出することができず、よってEDCを付加したデータを生成することができない。
したがってこのブルーレイディスクのように、ユーザ・データの並び順(通常の符号化順序)であるユーザ・データ方向Qと、ディスクのデータ記録順序であるレコーディング・フレーム方向Pとが異なる場合には、通常であれば、予めEDC等の演算をし、EDCを付加してからデータを並べ直し記録する必要がある。このような場合、通常はEDC付加後のデータを一旦データ・バッファに格納することでデータの並び替えを可能とするが、高速動作を可能とするためには、このデータ・バッファを高価なSRAMにて構成する必要があり、現実的ではなかった。
これに対し、本願発明者等は先に出願した特願2005−060364号(以下、参照例という。)において、1回のバースト転送等の転送サイズm×304bytes×2面(書き込み用及び読み出し用)の記憶容量を有する置き換えバッファ、ECCパリティを一時保持するECCバッファ(9728bytes×2面)、EDCコードを一時保持するEDCバッファ(4bytes×32×2面)、スクランブル・バッファ(38bytes×2面)を設け、ユーザ・データ方向Qでのエンコードで得られるEDC、スクランブル中間値、及びECCを予め一時保持しておく処理(パスS1')と、データ・バッファからユーザ・データを繰り返しバースト転送しながらユーザ・データにEDCを付加してスクランブルする処理(パスS2')とにより置き換えバッファに対する高速データ転送を可能とする発明を開示している。
上記参照例においては、置き換えバッファをリフレッシュ動作が不要であってランダムアクセスが可能なメモリから構成することで、データ・バッファからバースト転送により得た連続したデータをレコーディング・フレーム方向Pの順に高速置き換えが可能となる。この場合、置き換えバッファは、データ・バッファの記憶容量より小さい容量としても、パスS1'にて演算し保持されているEDC、スクランブル中間値、及びECCを使用して演算結果を使用することで、レコーディング・フレーム方向Pの順に置き換えられたデータに対しスクランブル処理を実行することができる。
そして、このことにより、従来では、高価なSRAMなどの高速にランダムアクセス可能な一時記憶装置をデータ・バッファとして使用しない限り高倍速記録でのエンコード処理を実現できなかったのに対し、上記発明においては、データ・バッファとして高速ランダムアクセスには不向きな安価なSDRAM等を用いながらも、比較的小規模な回路の追加によって低コストでかつ高倍速記録が可能なエンコード処理を可能とするものである。
ここで、データ・バッファには、1クラスタのエンコードに対して、符号化のため及び並び替えのために2クラスタのデータを読み込む必要がある。レコーディング・フレーム方向Pにて記録するためには、EDCエンコードのためだけに予めユーザ・データ方向Qに1クラスタ分のデータ(2048byte×32セクタ)を読み込む必要があり、データ・バッファに対する絶対アクセスの増加により消費電力が増大する。
高倍速エンコード実現のためには、高周波数動作クロックで駆動するコスト高のデータ・バッファが必要となり、更に電力消費量が増大する。そこで、本発明の実施の形態においては、第1の順序としてのユーザ・データ方向Qの順で読み出した場合にはEDCがセクタの最後に付加され、ユーザ・データ方向Qとは異なる例えばレコーディング・フレーム方向Pの順序で読み出した場合にはセクタの読み出し途中にEDCが付加される構成を有する演算対象セクタとしての偶数セクタについては、その一部としての後半部分から後述するEDC中間値を算出する第1の演算部と、前記一部を除いた残部及びEDC中間値とからEDCを算出する第2の演算部とを設け、2つの演算部によりEDCを算出するようにして、データ・バッファへのデータアクセス量を低減させる。このことにより、エンコードスペックの更なる向上を可能とすると共に低消費電力化及び低コスト化を図る。
なお、実施の形態においては、特にユーザ・データのエンコード処理、ブルーレイディスクにおいては、上述したユーザ・データから少なくともEDCを生成して付加するまでの処理に特徴を有する記録装置として説明するが、例えば再生装置と組み合わせて記録再生装置とすることもできる。
先ず、本願発明の理解を容易とするため、上記参照例に記載の誤り検出符号算出方法について説明しておく。図3は、参照例に記載の記録装置のうち、誤り検出符号を算出する部分のみを抽出して示す図である。
この参照例においては、誤り符号をブルーレイ規格に沿った方法にて算出する工程(パス1')と、誤り符号を付加して出力する工程(パス2')とを有する。パス2'では、バースト転送サイズmのユーザ・データ方向Qのデータを、レコーディング・フレーム方向Pに順次バースト転送し、パス1'にて予め算出したEDCを付加して出力する。
すなわち、図3に示すように、参照例においては、ユーザ・データを格納するデータ・バッファ11と、バッファ・コントローラ12と、EDC生成部13と、EDCバッファ14と、統合部15とを有する。なお、以下の説明においては、ユーザ・データ方向Qの順のアドレスが小さい順を先頭とし、ユーザ・データの先頭データからデータ・バッファ11に一時保持されるものとして説明する。データ・バッファ11は、ホストから送られるユーザ・データを保存するメモリであって、例えばバースト転送可能なSDRAM等から構成される。バッファ・コントローラ12は、パス1'にて使用するユーザ・データを読み出すチャンネルCH1と、パス2'にて使用するユーザ・データを読み出すチャンネルCH2とを有する。
データ・バッファ11からチャンネルCH1によりユーザ・データ方向Qの順に読み出されたユーザ・データは、EDC生成部13に送られる。EDC生成部13は、ユーザ・データ方向Qに2048bytesのユーザ・データ及び4bytesの0データ(1セクタに相当するデータ)を入力することで、4ytesのEDCを生成するシフト・レジスタからなる。生成されたEDCは、EDCバッファ14に格納される。
パス2'においては、データ・バッファ11からユーザ・データ方向Qの順に読み出されたユーザ・データは、チャンネルCH2によりユーザ・データ方向Qの順のバースト転送サイズのデータがレコーディング・フレーム方向Pの順に、統合部15に順次転送される。すなわち、32セクタからなるユーザ・データ(データ・ブロック41)は、ユーザ・データ方向Qの順のバースト転送サイズでレコーディング・フレーム方向に304回転送することを繰り返すことで転送される。本実施の形態においては、ユーザ・データ方向Qの順のバースト転送サイズm×304バイトを転送ブロックという。データ・ブロック41は、バースト転送サイズm=6とすると、転送ブロックを36回繰り返すことで転送が終了する。
統合部15は、転送ブロックを転送する際に、所定のタイミングでEDCバッファ14からEDCを読み出してバースト転送されるユーザ・データに付加することでEDC付きデータを出力する。
なお、このEDC付きデータは、その後スクランブルされ、記録データとして出力される。その詳細は上記参照例に記載されているが、簡単には、転送ブロック以上の記憶容量を有するバッファ(置き換えバッファ)にEDC付きデータを保持し、それをレコーディング・フレーム方向に読み出し出力する。そして、レコーディング・フレーム方向のEDC付きデータをスクランブルして記録データとして出力する。このスクランブルの際には、パス1'にEDCと共に求めておいたスクランブル中間値を使用する。
パス1'においては、統合部15を介してEDC付加データをユーザ・データ方向Qの順に1バイトずつスクランブル回路に入力され、この入力データDkの入力タイミングで、スクランブル用シフト・レジスタからスクランブル値Skを出力し、入力データDkとの排他的論理和を求めるとスクランブル済データDk'が得られる。このパス1'において、スクランブル回路がスクランブル値を求めたスクランブル用シフト・レジスタの保持値(16bits)を、スクランブル・バッファにスクランブル中間値として保持しておく。この16bitsのスクランブル中間値によりパスS2において、ユーザ・データ方向Qではなく、レコーディング・フレーム方向のスクランブル値を算出することができ、スクランブル処理を実行することができる。
また、参照例においては、スクランブル中間値を求めた後、そのデータからECCを算出する。すなわち、パス1'において、EDC及びスクランブル中間値の他、ECCを算出し、パス2'にて使用する。なお、後述するように、統合部15から出力されるEDC付きデータをスクランブルしてから置き換えバッファに格納し、レコーディング・フレーム方向Pの順で記録データとして出力するようにしてもよい。
以上のように構成された参照例においては、パス1'においてEDCを算出する際及びパス2'においてEDC付きデータを出力する際のいずれにおいても、バッファ・コントローラ12は、データ・バッファ11から1クラスタ(データ・ブロック)分のユーザ・データ、すなわち2048byte×32セクタ分のユーザ・データを読み出す必要がある。結果、パス1'、パス2'において合計2データ・ブロックのユーザ・データを読み出す必要がある。そこで、以下の実施の形態においては、参照例のように2工程とした場合であっても、合計のユーザ・データの読み出し量を低減し、データ・バッファへのアクセス量を減らす。具体的には、最初の工程にて使用するユーザ・データを約1/4とし、その約1/4のユーザ・データに基づきEDC中間値を算出し、次の工程において残りのユーザ・データ(約3/4)及び前記EDC中間値に基づきEDCを算出する。このことにより、最初の工程におけるデータ・バッファへのアクセス量を約1/4に低減するものである。このようにデータ・バッファへのデータアクセス量を低減することで、エンコードスペックの更なる向上、低消費電力化及び低コスト化を図る。
実施の形態1.
図4は、本発明の実施の形態1にかかる記録装置を示す模式図である。図4に示すように、本記録装置1は、データ・バッファ2と、バッファ・コントローラ3と、エンコード回路4とを有する。データ・バッファ2は、ホスト(不図示)から転送されるユーザ・データをバッファリングする。ホストは、例えばAV(audio- visual)システム又はパーソナル・コンピュータ(PC)等であって、記録装置1に対し、ユーザ・データの記録を指示したり、ディスクに記録されているデータの読み出し指示をするものである。
バッファ・コントローラ3は、データ・バッファ2からのユーザ・データの読み出しを制御するもので、必要なユーザ・データを適宜読み出しエンコード回路4に転送する。ここで、本実施の形態における記録装置は、EDCを求めるため、偶数セクタの後半部分のみ、すなわちデータ・ブロック全体でみた場合、約1/4のユーザ・データからEDC中間値を算出する処理(以下、パス1という。)と、残りの約3/4のユーザ・データ及びEDC中間値からEDCを算出する処理(以下、パス2という。)を並列して実行する。このため、バッファ・コントローラ3は、データ・バッファ2からパス1の処理に使用するためのユーザ・データを読み出し出力するチャンネルCH1と、パス2の処理に使用するためのユーザ・データを読み出し出力するチャンネルCH2を有する。
エンコード回路4は、ユーザ・データにEDCを付加し、EDCが付加されたユーザ・データをスクランブルする。そして、スクランブルしたスクランブル済データ(以下、記録データという。)と、この記録データから得られるECCとを出力する。ECC及び記録データは、BISコードと統合され、更に1−7PP変調が施され、その後ディスクに記録される。
このエンコード回路4は、上記パス1の処理を実行するための、第1の演算部としてのEDC生成部31と、EDCテーブル32及びEDCバッファ33とを有する。また、パス2において、EDCを算出するために、第2の演算部としてのEDC生成部34を有する。パス1の処理においては、EDC生成部31はEDCテーブル32及びEDCバッファ33を参照して演算を行なう。ここで、EDC生成部31がパス1において演算した結果が後述するEDC中間値となる。このEDC中間値はEDCバッファ33に書き戻される。パス2の処理においては、EDC生成部34はEDCテーブル32及びEDCバッファ33を参照し、EDCを算出して、EDCバッファ33に書き戻す。
エンコード回路4は、更に、チャンネルCH2から読み出されるユーザ・データにEDCバッファ33に格納されたEDCを付加して出力する統合部35を有する。また、統合部35から出力されるEDC付きデータをスクランブルするスクランブル回路36及びスクランブル回路36がスクランブル処理の際に必要なスクランブル値を算出するスクランブル値生成部37を有する。更に、スクランブル回路36にてスクランブルされたスクランブル済データをレコーディング・フレーム方向Pの順に並び変えるための置き換えバッファ38を有する。これら統合部35、スクランブル回路36、スクランブル値生成部37、及び置き換えバッファ38から、ユーザ・データ及びEDCに基づき記録データを算出して出力するスクランブル処理部が構成される。
また、スクランブル済データからECCを生成するECC生成部39及びECC生成部39により生成されたECCをバッファリングするECCバッファ40を有する。置き換えバッファ38からレコーディング・フレーム方向Pの順で読み出されたデータは、記録データとして出力される。また、ECCバッファ40のデータは、ECCパリティとして出力される。 この記録データとECCパリティは、図示せぬ統合部に出力され、記録データに対し行列再配置をし、ECCを付加してインタリーブをしてECCクラスタ(図32のD12参照)とする。
また、図示しないBISを生成する他のエンコード装置(BIS用エンコード装置)において、ユーザ・コントロール・データ及びアドレス・ユニット・ナンバ(図32のD7、D8参照)からアクセス・ブロック(図32のD9参照)を生成し、またBISECCを生成する(図32のD10参照)。そして、当該BIS用エンコード装置からのアクセス・ブロック及びBISECCも上記統合部へ供給され、BISブロック(図32のD10参照)を生成し、更にこれをインタリーブしてBISクラスタ(図32のD11参照)とする。そして、LDCクラスタとBISクラスタとが結合されたECCクラスタ(図32のD12参照)が生成され、フレームシンク、DSV制御ビットを付加したフィジカルクラスタ(図32のD13参照)とされる。そして、レコーディング・フレームを1−7PP変調すると共にランイン及びランアウトが付加されてレコーディングユニットブロックRUB(図32のD14参照)が生成され、ディスクコントローラを介してRUBを1記録単位としてディスクへのデータ記録が実行される。
次に、本実施の形態について更に詳細に説明する。上述したように、本実施の形態においては、ユーザ・データを1セクタ読み出しEDCを算出するのではなく、パス1において、約1/4のユーザ・データのEDC中間値を求め、パス2において残りユーザ・データに基づきEDC中間値を補正してEDCを算出することでパス1におけるデータ・バッファ2へのアクセス量を約1/4まで減らすものである。
図5は、本実施の形態において、パス1、2に使用されるユーザ・データを説明するための図である。エンコード回路4の処理単位であるデータ・ブロック41は、第1の順序としてのユーザ・データ方向Qの順に読み出した場合には、EDCがセクタの最後に付加され、ユーザ・データ方向Qとは異なる順序で読み出した場合、一のセクタの読み出し途中で付加される構成を有する演算対象セクタとしての偶数セクタを有する。本実施の形態においては、パス1では第1の順序としてユーザ・データ方向Qにデータ・ブロックを読み出す。一方、パス2においては、上記異なる順序として、ユーザ・データ方向Qの順のバースト転送サイズmのユーザ・データをレコーディング・フレーム方向Pの順に読み出す。この場合、偶数セクタは、図5に示すように、セクタを全部転送する前にEDCを付加する符号列(演算対象セクタ)となる。そこで、パス1においては、パス2においてこの演算対象セクタである偶数セクタの一部、すなわちEDCを付加するタイミング以降に読み出すこととなってしまう偶数セクタの後半部分の演算を実行することでEDC中間値を求める。パス2においては、偶数セクタの残り及び奇数セクタの全部の演算を実行することで、EDCを算出する。奇数セクタは、ユーザ・データ方向Qの順に読み出した場合であっても、上記異なる順序としてユーザ・データ方向Qの順のバースト転送サイズmのユーザ・データをレコーディング・フレーム方向Pの順に読み出した場合であっても、いずれにおいてもEDCはセクタの最後に付加される構成を有する符号列(非演算対象セクタ)であるため、パス1で予めEDC中間値を求める必要はない。
なお、本実施の形態においては、ユーザ・データを6バイト毎にバースト転送する場合について説明しているが、上記異なる順序として、例えば1バイト毎にレコーディング・フレーム方向Pの順に転送するようにしてもよい。その場合、本実施の形態においては、EDCは4バイトであるため、偶数セクタのEDCは、行番号Row=104〜107、列番号Column=9の位置となる。よって、パス2において行番号Row=104、列番号Column=9におけるEDCの先頭バイトを算出するまでに、当該偶数セクタの全ユーザ・データについて後述する演算(期待値との排他的論理和)が終了している必要がある。このため、パス1において行番号Row=105〜215、列番号Column=0〜8のユーザ・データについての処理を行えばよい。バースト転送サイズが4バイト未満である場合、バースト転送サイズが4バイト以上であっても、2つの転送ブロックにまたがって転送されるような場合も同様である。すなわち、行番号Row=104、列番号Column=9、又は行番号Row=212、列番号Column=18に配置されるEDCの先頭バイトを演算するまでにセクタ内のユーザ・データ全ての期待値の排他的論理和が終了するようパス1の処理を実行しておく。なお、バースト転送するための、データ・バッファ2における先頭アドレスを算出して指定する方法等については後述する。
バッファ・コントローラ3のチャンネルCH1は、パス1において、図5に示すように、データ・ブロック41に含まれる偶数セクタの行番号Row=108〜215までのデータを、演算対象セクタの一部としてユーザ・データ方向Pの順に読み出し、EDC生成部31に出力する。すなわち、列番号Columun=0、行番号Row=108〜215のユーザ・データを転送したら、次に列番号Columun=1の行番号Row=108〜215を転送する。これを列番号Columun=8まで繰り返す。チャンネルCH1は、偶数セクタのユーザ・データのみを転送するため、列番号Columun=8のデータを転送し終えたらセクタ1を飛ばし、セクタ2、すなわち列番号Columun=19〜27までの行番号Row=108〜215のユーザ・データを転送する。これを繰り返し、最後の偶数セクタであるセクタ30まで転送する。EDC生成部31は、この偶数セクタの後半部分の演算処理のみを実行する。
一方、パス2においては、バッファ・コントローラ3のチャンネルCH2は、データ・ブロック41の全部を読み出し出力するが、チャンネルCH1と読み出し順が異なる。すなわち、チャンネルCH2は、パス2において、バースト転送サイズmのデータをバースト転送する。本実施の形態においては、バースト転送サイズm=6として説明するが、6バイトより大きくても小さくてもよい。また、EDC以上の大きさとすることが好ましい。
先ず、ユーザ・データ方向Q(列方向)に6バイトのデータを、レコーディング・フレーム方向P(行方向)に1データ・ブロック分、すなわち304回繰り返し転送する。本実施の形態においては、このユーザ・データ方向Qの順に6バイト×レコーディング・フレーム方向Pの順に304回の転送で得られるデータを転送ブロックCということとする。図6は、データ・ブロック41における転送ブロックを示す図である。6バイト毎のバースト転送を行なうと、データ・ブロック41を転送するには、36の転送ブロックを転送することとなる。チャンネルCH2は、6バイト毎のユーザ・データをバースト転送により統合部35に供給すると共にEDC生成部34にも供給する。EDC生成部34は、供給されるユーザ・データのうち、上記パス1でEDC生成部31が演算処理した偶数セクタの後半部分のデータを除いた残り、すなわち偶数セクタの前半部分及び奇数セクタ全部のデータについての演算を実行する。
次に、本実施の形態にかかる記録装置1の動作の概略について説明する。図7は、パスS1及びパスS2におけるデータ処理タイミングを示す図である。図7に示すように、ディスク104には、記録単位である1RUB毎にデータが記録される。ここで、t番目のRUBに含まれるユーザ・データの処理をパスS1において処理しているとき、(t−1)番目のRUBに含まれるユーザ・データ(データ・ブロック)の処理がパスS2により処理される。すなわち、パスS2の処理は、パスS1の処理結果に基づき実行されるため、記録装置1はt及び(t−1)番目のRUBに含まれるユーザ・データの処理を並列して実行することでRUBに含まれるユーザ・データをパイプライン的にエンコード処理する。この際、パスS1においては、ユーザ・データがユーザ・データ方向Qに転送され、パスS2においては、スクランブル済となったユーザ・データが記録データとしてレコーディング・フレーム方向Pに出力される。
ディスクに記録する(t−1)番目のRUBに含まれるユーザ・データのパスS2の処理時には、t番目のRUBに含まれるユーザ・データのパスS1の処理が行われることなり、パスS2の(t−1)番目のRUBに含まれるユーザ・データの処理の開始前にパスS1の(t−1)番目のRUBに含まれるユーザ・データの処理が終了している。すなわち、図7に示すように、パスS1は、少なくともパスS2より1RUB先のデータの処理を実行することなる。
次に、パス1、パス2のEDC算出について説明する。パス1及びパス2の演算においては、いずれもユーザ・データのユーザ・データ方向Qの順に対応する所定の値を使用してEDC中間値又はEDCを算出する。先ず、その演算方法の原理について説明する。
ブルーレイディスクにおいては、2048バイト(16384ビット)のユーザ・データに対し4バイト(32ビット)の誤り検出符号を付加する。32ビットの誤り検出符号は、2048バイトのユーザ・データに4バイトの0データを付加した符号列D(x)を下記の生成多項式で除算することで求めることができる。
G(x)=X32+X31+X+1
2048バイトのユーザ・データをI(x)とすると、これに付加される誤り検出符号EDC(x)は下記で表される。
EDC(x)=Σb・X=I(x)modG(x)(Σ:t=31〜0)
ただし、I(x)=Σb・X(Σ:t=16415〜32)
この結果、誤り検出符号EDC(x)を付加した符号列D(x)は、下記で表現することができる。
D(x)=I(x)+EDC(x)
ここで、+は排他的論理和を示す。
上記の誤り検出符号EDC(x)は、符号列I(x)を図8に示す32ビットシフト・レジスタに入力することで得ることができる。符号列D(x)の全符号を入力し終えた後の32ビットシフト・レジスタ値が誤り検出符号EDC(x)(=0)となる。なお、本実施の形態においては、ユーザ・データ方向Qのビット順序をqとし、q=b00000,b00001,・・・,b16415、t=16415−qと表すこととする。
ここで、誤り検出符号E(x)は、入力される符号列D(x)において、符号が「1」であるビットに対応するXmodG(x)の排他的論理和を求めることで算出することができる。XmodG(x)は、k=16416ビットの符号列D(x)の(16415−q)(=t)次以外を0にした符号列d(x)をG(x)で除算した余剰を示す。
図9は、上記概念を説明するための図である。kビットの符号列D(x)の各ビットが全て「1」の符号列{111・・・1}を基礎の符号列D'(x)とする。この符号列D'(x)を図8に示すシフト・レジスタ50に入力して得られる32ビットシフト・レジスタ値は、符号列D'(x)の誤り検出符号E'(x)となる。本実施の形態においては、k=2052×8=16416ビットの符号列D'(x)である。
まず、基礎の符号列D'(x)を図9に示すようなk個の符号列(以下、この符号列を期待値算出用符号列という。)d(x)とする。すなわち、各期待値算出用符号列d(x)16415〜0は、それぞれqに対応するビットのみが「1」、その他の全ビットが0である符号列である。具体的には、q=b00000には、最上位ビットのみが「1」の符号列d(x)16415={100・・・0}が対応し、q=b00001には、2ビット目のみが「1」の符号列d(x)16414={010・・・0}が対応する。同様に、q=b16415には、最下位のビットのみが「1」の符号列d(x)={000・・・1}が対応する。これら各期待値算出用符号列d(x)をシフト・レジスタ50に入力すると32ビットシフト・レジスタ値XmodG(x)を得ることができる。
すなわち、期待値算出用符号列d(x)をG(x)で除算した余剰、すなわち誤り検出値がXmodG(x)となる。この余剰XmodG(x)を本明細書においては期待値ということとする。この期待値XmodG(x)は、元の符号列D(x)のビット順序qに対応するビットデータのみが誤った場合のシンドローム値を示す。
ここで、符号列D'(x)をシフト・レジスタ50に入力して得られる32ビットシフト・レジスタ値(誤り検出符号E'(x))は、各期待値算出用符号列d(x)をシフト・レジスタ50に入力して得られる32ビットシフト・レジスタ値(期待値XmodG(x)=R)の全てを排他的論理和したものとなる。
すなわち、誤り検出符号E(x)は、符号列D(x)のうち、符号が「1」のビット順qに対応する期待値XmodG(x)の全ての排他的論理和として求めることができる。よって、符号列と同一ビット数のビットデータからなり、符号列と同一のビット順を対応付けたとき、各ビット順序に対応するビットのみが「1」、その他のビットが全て「0」とされた期待値算出用符号列d(x)を用意し、その期待値算出用符号列d(x)をシフト・レジスタ50に入力して得られる上記期待値(シンドローム値)を、符号列D(x)の各ビット数に対応する数、本実施の形態においては、k=16416個の期待値を保持又は算出することができれば、これを使用して入力される符号列D(x)の各ビットのうち符号が「1」のビットの期待値全ての排他的論理和(=EDC)を求めることができる。よって、シフト・レジスタ50に符号列D(x)を入力する必要がない。すなわち符号列の各ビットに対応する期待値さえ分かれば、符号列D(x)の誤り検出符号E(x)は、ユーザ・データ方向Qと異なる順序で演算しても算出することができる。
データは、データ・ブロック単位で処理されるが、データ・ブロック41はセクタ(符号列D(x))を32個配置したものであり、誤り検出値E(x)は、符号列D(x)毎に算出されるため、一のデータ・ブロック41から32の誤り検出値E(x)が求められる。
上記期待値について具体的に説明する。図8に示すように、例えば、シフト・レジスタ50に入力する符号列D(x)=Xとし、Xは、ユーザ・データ方向Qの順において109番目のバイト(Q=D00108)の最上位ビット(q=b00864)に入力するデータのみが「1」、その他は全て「0」であるとする。すなわち、符号列Xは、16416ビットのうち、15552次のデータのみが「1」(B00864=1)で、その他の値は全て「0」であるとする。
この場合、符号列Xを32ビットシフト・レジスタ50に入力した結果は、シフト・レジスタ50の値を「00000001h」に初期化し、これを15552回シフトした値を求めることで得られる。
EDCを算出するためには、符号列を構成するビットデータが「1」であるもののXmodG(x)の排他的論理和のみを演算すればよく、XmodG(x)の排他的論理和を演算することができれば、符号列D(x)の32ビットシフト・レジスタ値である誤り検出値E(x)を求めることができる。
図10は、期待値生成方法を示すフローチャートである。図10に示すように、シフト・レジスタ50を初期化(=0)とし(ステップS1)する。そして、16415ビットからなる期待値算出用符号列d(x)を用意し、これをシフト・レジスタ50に入力する。シフト・レジスタ50のローテーションを16416ビット分繰り返し(ステップS3、4)、その32ビットのレジスタ値が目的の期待値(32ビット)となる(ステップS5)。
ところで、本実施の形態においては、各ビットデータに対応する期待値を全て保持するのではなく、保存するデータ量をできるだけ少なくするため、セクタ0、1からなるエリアArea0におけるRow=0に対応する合計19個の期待値のみを保持する。ブルーレイディスクにおいては、ユーザ・データ方向Qの順で見たとき、データ・ブロックは、セクタ0、1からなる1組のデータセット(19列からなるデータセット)が16並んだ規則性を有する構成となっている。すなわち全てのエリアがユーザ・データ方向Qの同一ビット順序を有する。また、パス1においてはRow=108からの演算となるが、Row=108の期待値は、Row=0の期待値についてColum+10とした値となるため、全ての期待値を保持せずともRow=0における19個の期待値から全ての期待値を演算により求めることができるからである。よって、Row=0のMSBのみを「1」、他を「0」とした19個の期待値算出用符号列から上述のようにして期待値を求める。本実施の形態においては、この19の期待値を初期期待値ということとする。また、偶数セクタ及び奇数セクタからなるエリア内の列番号をM(0≦M≦18)とする。
図11は、パス1における処理を説明するための図である。パス1においては、EDC生成部31は、行番号Row=0における最上位ビット(MSB)に対応する19個の期待値(初期期待値)のみを参照する。よって、EDCテーブル32は、行番号Row=0、列番号M=0〜18における最上位ビット=b00000,・・・,b14688に対応する期待値(初期期待値)を読み込む。なお、初期期待値は、図示せぬメモリ等に予め格納されているものとする。各列方向(ユーザ・データ方向Q)の期待値は、これらの初期期待値を後述するシフト・レジスタ(ローテーション回路)に入力して1回シフトするのみで求めることができる。
EDC生成部31は、行番号Row=108〜215の期待値を生成する。行番号Row=108の各列番号Mに対応する期待値は、行番号Row=0の期待値の各列番号M+10の期待値に対応する。よって、EDC生成部31は、先ずEDCテーブル32を参照して入力されるユーザ・データの列番号M+10に対応する初期期待値を読み出す。そして、入力されるユーザ・データの各ビットの順序qに対応する期待値となるよう、後述する期待値生成部により初期期待値をシフト演算する。得られた期待値とユーザ・データとの排他的論理和を求めることで、例えばセクタ0であれば、行番号Row=108〜215であって、列番号M=0〜8(影を付して示すデータ群42)の全ての排他的論理和をEDC中間値として求める。
図12は、このEDC生成部31の詳細の一例を示す図である。EDC生成部31は、入力されるユーザ・データの一のエリア内における列番号Mをカウントする列カウンタ61と、列カウンタ61のカウント値に応じてEDCテーブル32におけるいずれかの初期期待値を選択して読み出す選択部62を有する。さらに、初期期待値を入力されるユーザ・データのビット順序qに対応した期待値とするためのEDC期待値生成部63と、ユーザ・データが「1」であるとき当該ユーザ・データとこのユーザ・データのビット順qに対応する期待値を出力する選択部64と、排他的論理和を算出するXOR回路65とを有する。さらにまた、ユーザ・データのセクタをカウントするセクタカウンタ67と、セクタカウンタ67のカウント値に応じて、各セクタ毎のXOR回路65の演算結果をEDCバッファ33に転送する選択部68とを有する。
図13は、EDC期待値生成部63の一例を示す図である。また図14は、EDCテーブルと初期期待値との関係を示す模式図である。EDC期待値生成部63は、図13に示すように、32ビットのシフト・レジスタがローテーションされる構成を有する。選択部62によりバッファ・コントローラ3のチャンネルCH1から供給されるユーザ・データに対応する列番号Mの32ビットの初期期待値が入力されると、これをユーザ・データ方向Qのビット順序qに対応する期待値となるよう順次シフトさせ、ローテーションさせる。
ここで、初期期待値は、行番号Row=0の最上位ビットに対応する期待値であり、行番号Row=108の最上位ビットに対応する初期期待値は、行番号Row=0の列番号Mに+10したものとなる。よって、EDC期待値生成部63には、選択部62から列カウンタ61のカウント値に+10した列番号Mに対応する初期期待値が読み出されて供給される。
EDC中間値は、ユーザ・データが「1」のビットに対応する期待値の排他的論理和として得られるものであり、選択部64は、チャンネルCH1から入力されるユーザ・データが「1」の場合にのみ、EDC期待値生成部63が生成した、そのユーザ・データのビット順qに対応する期待値を出力し、ユーザ・データが「0」の場合は、「000h」を選択して出力する。
EDCバッファ33は、パス1においてはEDC生成部31が逐次更新する演算結果を格納する。よって、パス1の処理が終了した際には、EDC中間値が保存される。なお、EDCバッファ33は、パス2においては、EDC生成部34が逐次更新する演算結果を格納することで最終的にEDCを格納する。このEDCバッファ33は、各セクタ毎に上記演算結果を格納する格納領域を有する。データ・ブロック41は32セクタからなり、各演算結果は32ビットであるため、32ビットの格納領域を32セクタ分有する。なお、パス1におけるEDCバッファ33の奇数セクタに対応する各格納領域に保存される値は0である。
選択部68は、セクタカウンタ67にて選択されるセクタに対応する値をEDCバッファ33から読み出しXOR回路65に送る。XOR回路65は選択部64の出力と選択部68からの選択値との排他的論理和を求め、その結果を再び選択部68へ送る。選択部68はこれをEDCバッファ33の対応するセクタの保存領域に書き戻す。
これにより、EDCバッファ33には、セクタ0のユーザ・データが入力し終わった時点で、図11に影を付して示すセクタ0の後半部分の領域(行番号Row=108〜215、列番号M=0〜8)の各ユーザ・データと対応する期待値との排他的論理和を順次排他的論理和したEDC中間値が格納されることになる。
次に、パス2の処理について説明する。図15は、パス2における処理を説明するための図である。図15に示すように、パス2においては、バッファ・コントローラ3のチャンネルCH2は、行番号Row=0〜107、列番号M=0〜18のユーザ・データ及び行番号Row=108〜215、列番号M=9〜18のユーザ・データ、すなわちパス1にて処理されなかったユーザ・データをEDC生成部34に順次供給する。
ここで、チャンネルCH2は、上述したように、ユーザ・データ方向Qのバースト転送サイズmバイト×レコーディング・フレーム方向Pの304バイトの転送ブロックを順次供給する。なお、統合部35には32セクタ分のユーザ・データが転送されるが、EDC生成部34においては、演算に必要なデータのみ、すなわち転送ブロックが偶数セクタ(列番号M=0〜9)の場合は行番号Row=0〜107まで、奇数セクタ(行番号Row=9〜18)の場合は全てのユーザ・データを供給したり、又はデータ・ブロックの全てのユーザ・データを供給して必要なユーザ・データのみを選択して演算するようにしてもよい。
EDC生成部34も基本的にはEDC生成部31と同様の構成を有する。図16は、EDC生成部34の詳細の一例を示す図である。図16に示すように、EDC生成部34は、入力されるユーザ・データの一のエリアにおける列番号Mをカウントする列カウンタ71と、列カウンタ71のカウント値に応じてEDCテーブル32におけるいずれかの初期期待値を選択して読み出す選択部72を有する。さらに、初期期待値を入力されるユーザ・データのビット順序qに対応した期待値とするためのEDC期待値生成部73と、ユーザ・データが「1」であるとき当該ユーザ・データとこのユーザ・データのビット順qに対応する期待値を出力する選択部74と、排他的論理和を算出するXOR回路75とを有する。さらにまた、ユーザ・データのセクタをカウントするセクタカウンタ77と、セクタカウンタ77のカウント値に応じて、各セクタ毎のXOR回路75の演算結果をEDCバッファ33に転送する選択部78とを有する。
ここで、EDC生成部34又は記録装置1は、ユーザ・データの行番号Rowをカウントするカウンタ(以下、ベース行カウンタという)と、バースト転送サイズmにおける行番号をカウントするカウンタ(以下、バースト転送行カウンタ)とを有している。以下では、ベース行カウンタがカウントする行番号(カウント値)をRow(0≦Row≦215)、バースト転送行カウンタがカウントする行番号(カウント値)をN(0≦N≦m−1)ということとする。また、各カウンタのカウント値に応じてユーザ・データ方向Qの順で2049番目のデータの入力タイミングを検出するEDCフラグ、2049〜2052番目の4バイトの入力タイミングを検出するEDCエリアフラグを有している(いずれも図示せず)。
パス2においては、一の転送ブロックが転送終了すると、最終転送ブロックまで転送ブロックが順次転送される。例えば最初の転送ブロックの次に転送される転送ブロックにおけるユーザ・データは、行番号Row=N+1行目から開始される。よって、次の転送ブロックが転送されてくるときにはEDCテーブル32には、行番号Row=N+1行目の最上位ビットに対応する期待値が格納されている必要がある。このため、転送ブロックの最終エリアにおいて各列における最終ビットに対応する期待値を生成した時点でこれをEDCテーブル32に順次上書きしていく。これにより、一の転送ブロックの演算が終了した時点でEDCテーブル32には、次の転送ブロックの先頭行の最上位ビットに対応する期待値が格納されることとなる。入力されるユーザ・データの列番号に対応した値を選択部72が期待値生成部73に供給することで、次の転送ブロックにおける期待値の生成を可能にする。
そして、パス1の処理においてEDCバッファ33に保存されているEDC中間値と、上述のようにして生成された期待値のうち選択部74が選択出力した値とをXOR回路75が順次XORし、これをEDCバッファ33に書き戻す。各セクタにおける全ユーザ・データについてのXORが完了した時点で各セクタに対応するEDCが算出されることとなる。よって、先ず偶数セクタのEDCが算出され、次に奇数セクタのEDCが算出されることとなる。ここで、EDCは、EDCフラグが1になるタイミングで算出される。本実施の形態においては、バースト転送サイズm=6であるので、2047〜2052バイト目に入力されるユーザ・データについて、2048バイト目まではデータが1であれば上述のようにXOR回路7にてEDCバッファ33に格納されている値を更新する。そして、EDCエリアフラグが1の間、すなわちユーザ・データ方向Qの順で2049〜2052番目のデータが入力されるタイミングでは2049〜2052バイト目までのユーザ・データは使用せず、4バイトの0データを入力データとして同様に演算を施す。この間は、いずれも0データであるので選択部74は、XOR回路75に0000hを選択出力するのみでEDCバッファ33の値は更新されない。よって2049バイト目のデータが入力されると期待値生成部73はその値を順次ローテーションさせるのみとなり、EDCバッファ33に格納されている該当するセクタのデータがそのままEDCとして統合部35に出力される。
ここで2049バイト目のデータは、データ・ブロックにおけるEDCの先頭データの配列位置に相当するデータである。すなわち、図4に示す統合部35は、2048バイトのユーザ・データが転送されるとチャネルCH2の転送順序に応じてEDCを付加する。よって、EDC先頭データを付加するタイミングでEDCを求めておく、すなわち、EDC先頭データに該当する2049バイト目のデータ入力時には、2048バイトのユーザ・データ全てについて、各ビットが1の場合の期待値の排他的論理和=EDCを求めておき、EDCを出力可能にしておくことが必要である。
次に、パス1及びパス2におけるEDC生成処理について詳細に説明する。先ず、パス1の処理について図11、図12及び図17を参照して説明する。図17は、パス1のEDC生成処理を示すフローチャートである。上述したようにEDCバッファ33は、各セクタ毎に演算結果を保持する。以下の説明においては各セクタ毎の演算結果をEDC Value[0〜31]として説明する。
先ず、EDCバッファ33のEDC Value[0〜31]、各カウンタ、EDCテーブル32を初期化する。すなわち、EDCバッファ33のEDC Value[0〜31]を全て0にする(ステップS11)。また、セクタカウンタ67、列カウンタ61のカウント値を0とする(ステップS12、13)。更に、EDCテーブル32のテーブル値を初期期待値(図17の※1参照)にセットする。なお、※1は、EDCテーブル32の19の各保存領域にセットされる初期期待値を示す。以下では、EDCテーブル32に保存される19の期待値をそれぞれEDC Table[M]で示す。Mは一のエリア内の列番号を示し0〜18の値を有する。※1に示すように、例えばEDC Table[0]には、D0000バイトのMSBのみを1とし、他を0とした16416ビット(1セクタ)の符号列を図8に示すEDCジェネレータであるシフト・レジスタ50に入力して得られた32ビットの値(=期待値)=0x8af08bedをセットする。
次に、選択部62は、EDC Table[M+10]の値を読み出す(ステップS15)。上述したように、本実施の形態においては、行番号Row=0の最上位ビットにおける19個の期待値を初期期待値として使用し、この19個の初期期待値から全ての期待値を生成する。
列カウンタ61のカウント値Mは、最初はM=0であるので、EDC Table[10]の値を読み出すこととなる。次にチャンネルCH1からのユーザ・データを取得する(ステップS16)。1セクタ2052バイト(4バイトの0データを含む)をユーザ・データ方向にD0000〜D2051とすると、ステップS16においては、D0108+216×N(N=0〜8)を先頭とするユーザ・データ方向108バイトのデータを順次取得する。
ここで、取得データは本実施の形態においては、1バイト(8ビット)毎を格納し、以下の方法にて処理される。先ず、取得データのMSBが「1」であれば、選択部64は、期待値生成部63により生成された期待値をXOR回路65に出力する。選択部68はEDC Value[0〜31]のうち対応する処理中のセクタの値を読み出し、XOR回路65に出力する。XOR回路65は、これらの排他的論理和を求め、それを選択部68に出力し、選択部68は、これをEDCバッファ33の対応するセクタの格納領域に書き戻す(ステップS18)。そして、EDC期待値生成部63に格納されているデータをローテーションし(ステップS19)、8ビットのデータをシフトし(ステップS20)、ステップS17以下の処理を8回、すなわち8ビット分繰り返す(ステップS21)。すなわち、ステップS20で1ビットシフトし、MSBの位置に格納されるビットについて、同様に当該ビットが1であるか否かを判断し、1であれば期待値と排他的論理和を求めてEDC Value[0〜31]に書き戻す。
以上の処理をAバイト分、本実施の形態においては、バースト転送サイズm=6バイト分繰り返し(ステップS22)、108バイト分、すなわち1列目の処理が終了したら列カウンタ61のカウント値M=8か否かを判断し(ステップS23)、8でなければカウンタ値をインクリメントし(ステップS24)、8であれば、すなわちセクタ境界である場合にはカウンタ値をリセットし(ステップS25)、セクタカウンタ67のカウント値Sectorを+2とする。ステップS23にてNoである場合、9列分の処理が終了していないため、ステップS27にてすなわち一のセクタの処理が完了してないと判断され(ステップS27:No)、ステップS15からの処理を繰り返す。すなわち、列カウンタ61のカウント値M+10の初期期待値を期待値生成部63に読み出し、データを1ビット取得する毎にシフト・レジスタをローテーションしてユーザ・データに対応する期待値を生成し、ユーザ・データが「1」の場合にのみEDC Value[0〜31]の対応セクタの値を読み出し排他的論理和を求め書き戻す。
一方、ステップS23でYesの場合、9列分の処理が終了しており(ステップS27:Yes)、次の偶数セクタがあればその処理を実行する(ステップS28:No)。最終セクタの処理が終了していれば、すなわちセクタカウンタ67のカウント値が32であれば処理を終了する。これにより、1データ・ブロックにおけるパス1の処理が終了する。
次に、パス2のEDC生成処理について、図15、図16、及び図18乃至図26を参照して詳細に説明する。図18は、パス2のEDC生成処理を示すブローチャートであり、図20、図21、図22及び23、並びに図25は、それぞれ図18に示すステップS31、S35、S41、及びS42の処理の詳細を示すフローチャートである。また、図19は、EDCフラグ及びEDCエリアフラグを説明する図、図24は、EDCテーブルの更新方法を説明する図、そして、図26は、セクタカウンタの更新方法を説明する図である。
先ず、各カウンタ、EDCテーブルの値などを初期化する(ステップS31)。次にユーザ・データを取得する(ステップS32)。パス2におけるデータの取得は、データ・バッファ2のチャンネルCH2からバースト転送されるデータである。
データを取得したら、EDCの先頭となるデータであるか否かを判定する。EDCを算出するためには、2048バイトのユーザ・データに4バイトの0データが付加されるため、2048バイトの次のデータをEDCの先頭データとして検出する。すなわち、図15に示すデータ・ブロックにおいて、偶数セクタにおいては行番号Row=104、列番号M=9の配置に相当するデータの入力をEDCの先頭として検出し、奇数セクタにおいては、行番号Row=212、列番号M=18の配置に相当するデータの入力をEDCの先頭として検出する。この検出は、EDCの先頭であるか否かを示すEDCフラグが1か否かにより検出することができる(ステップS33)。
EDCフラグが1であればEDCの先頭と判断し、取得したデータを00hに置き換える(ステップS36)。これにより、入力される8ビットのデータは全て0として選択部74により0000hが選択出力される。XOR回路75により8ビット分の処理が終了すると、これをEDCのバイト分、すなわち合計4回繰り返し(ステップS37〜S40)次にステップS41に進む。また、EDCフラグが1ではなく、かつEDCエリアグラフが1の場合(ステップS34:No)も次のステップS41に進む。なお、入力される8ビットのデータは全て0の場合、EDC生成部34ではEDCバッファ33の値を更新しないため、実際には2048バイト目のユーザ・データのEDC演算が終了した時点でEDCバッファ33に格納されているデータがEDCである。また、EDCフラグ及びEDCエリアフラグについての詳細は後述する。
一方、EDCフラグが0であってかつEDCエリア内であるか否かを示すEDCエリアフラグが0である場合には、ステップS35に進む。ステップS35においては、パス1で処理されていないユーザ・データ(以下対象データともいう。)についてパス1と同様にユーザ・データが1である場合の期待値とEDCバッファに保持されている演算結果との排他的論理和を順次求める。先ず、対象データの8ビット分(=1バイト分)の演算を実行してステップS41に進む(ステップS35)。
ステップS41においては、各カウンタ及びEDCテーブル32を更新し(ステップS41)、必要に応じてセクタカウンタ77を更新する(ステップS42)。そして、以上の処理を、バースト転送サイズのmバイト分、本実施の形態においては、6バイト分繰り返す(ステップS43)。この6バイトの処理は、ユーザ・データ方向Qの処理である。バースト転送サイズm分、本実施の形態においては、6バイトの処理が終了したら、304列分の処理を行う(ステップS44)。すなわち、ユーザ・データ方向Qの6バイトのデータを、レコーディング・フレーム方向Pの順に304回取得し、これを216/m回、本実施の形態においては36回繰り返す(ステップS39)ことで、1データ・ブロックの処理が終了する。だだし、バースト転送サイズmにより216が割り切れない場合には小数点以下を繰り上げた回数だけ繰り返し実施する。例えばm=16の場合、216/16=13.5となり商が整数にならないが、この場合は、ステップS46において小数点を繰り上げた回数=14回分実施したか否かが判断される。この時点でEDCバッファ33には、32セクタの各EDCが格納されることとなる。
次に、これらの処理について更に詳細に説明する。ステップS31の初期化処理は、図20に示すように、セクタカウンタ77、ベース行カウンタ(不図示)、バースト転送行カウンタ(不図示)列カウンタ71、エリアカウンタ(不図示)の各カウント値を0にリセットし(ステップS51〜S55)、EDCテーブル32に行番号Row=0の最上位ビットの期待値からなる初期期待値を読み込む(ステップS56)。更に、EDCフラグ及びEDCエリアフラグを0とする。
上述したようにベース行カウンタは、1データ・ブロックにおける全行を連続してカウントするカウンタであり、そのカウント値は行番号Row=0〜215に対応する。また、バースト転送行カウンタは、1回のバースト転送により転送されるデータの行番号N=0〜5をカウントするカウンタである。バースト転送行カウンタは、バースト転送サイズをカウントするために使用し、ベース行カウンタによりデータ・ブロック全体の行をカウントすることができる。また、エリアカウンタは、偶数セクタ及び奇数セクタからなる組を一のエリアとしてカウントするカウンタである。セクタSec0、1がエリアArea0となり、最後の2つのセクタSec30、31がエリアArea15となる。よって、エリアカウンタは、0〜15をカウントする。これらのカウント値により、読み出す初期期待値を適切に選択することができ、また、EDCテーブル32への期待値書き戻し、再設定などのタイミングを制御することができる。
次に、EDCフラグ及びEDCエリアフラグについて説明する。EDCを演算する際には、2048バイトに4バイトの0データを付加した2052バイトからなる符号列に対し、所定の演算を施すことでEDCを得る。すなわち、当該符号列を図8に示すシフト・レジスタ50に順次入力して得られる32ビットのシフト・レジスタ値としてEDCを得る。本実施の形態においても、2048バイトのユーザ・データに4バイトの0データを付加した2052バイトについて期待値の排他的論理和を求めることでEDCを演算する。
ここで、ユーザ・データ方向Qの順で2048バイト目以降に4バイトの0データが付加される。よって、EDCの先頭データであるEDC0に相当する2049バイト目を検出し、2049〜2052バイトの4バイトについては、取得データを00hに置き換えて処理を行う必要がある。このため、EDC生成部34は、データを取得する毎に、次に取得するデータがユーザ・データ方向Qの順で2049バイト目のデータとなるか否かを判断する。
そこで、本実施の形態においては、この2049バイト目のデータであるか否かを検出するEDCフラグを設ける。すなわちEDCフラグは、EDCが付加された場合のEDCの先頭データとなるデータを検出するためのフラグである。以下の説明においては、図19に示すように、EDCとなる先頭データから4バイト目までのデータをEDC0〜EDC3ということとする。EDC0〜EDC3は、データ・ブロックにおいては2049〜2052バイト目に配列される。
EDCフラグは、入力されるデータが、各セクタにおいてユーザ・データ方向Qの順で2049番目に入力されるデータであるときのみ1となる。EDCの算出には2048バイトに4バイトの0データを付加した2052バイトの符号列の各バイトについて、期待値の排他的論理和を求めるため、EDCが配置される予定の4バイト部分(EDCエリア)は、入力にかかわらず4バイト分0データとして処理する。このため、EDCフラグでEDC先頭を検出し、ユーザ・データ方向Qの順で2049〜2052バイト目のEDCエリア内のデータが入力されることもEDCエリアフラグにより合わせて検出する。EDCフラグは、偶数セクタにおいては列番号=9、行番号=104とき、奇数セクタにおいては、列番号=18、行番号212のときのみ1となる。また、EDCエリアフラグは、偶数セクタにおいては列番号=9、行番号=104〜107とき、奇数セクタにおいては、列番号=18、行番号212〜215のときのみ1となる。これらのフラグは、ベース行カウンタ、バースト転送行カウンタ、列カウンタなどのカウント値に基づき設定される。
その後、期待値生成部73にEDCテーブルから対応する列番号(列カウンタのカウント値)Mの初期期待値を読み出す(ステップS59)。例えば、パス2の最初のデータ処理時においては、セクタSec0の列番号=0、行番号=0のユーザ・データから入力されるため、EDCtable[0]の値を読み出す。
次に、ステップS35の詳細について説明する。ステップS35においては、ベース行カウンタのカウント値Row+行カウント値Nが108以上であって、列番号(列カウンタ71の列カウント値)M=0〜8の場合、すなわちパス1において処理済みのユーザ・データが入力される場合は、そのまま次のステップS41へ進む(ステップS61)。ステップS62以降の処理は、ユーザ・データが、Row+N=0〜107の場合及び行カウント値Row+N=108〜215であって0≦列カウント値M≦8の場合に実行される。
すなわち、先ず図21に示すように、上述の実行条件に該当するか否かが判断され(ステップS61)、実行条件に該当する場合、すなわち取得したデータが対象データである場合には、取得データの各ビットについて「1」であるか否かが判定され(ステップS62)、「1」である場合には、選択部78により、EDC Value[Sector]が読み出されてXOR回路75に供給される。また、選択部74によりその期待値が選択出力され、XOR回路75に供給される。XOR回路75は、これらの排他的論理和を求め、選択部78に出力し、選択部78により再びEDC Value[Sector]に書き戻される(ステップS63)。そして、8ビット分の処理が終了するまで、期待値生成部73の各データのローテーションを行って期待値を生成(ローテーション)しながら1ビットずつデータを取得(ステップS63〜S66)してEDCバッファ33に格納されているEDC中間値又は演算結果を更新(補正)する。このステップS34においても、上述したように取得データ1バイトを例えばローテーション可能なレジスタ等に保持し、MSB位置に格納されるビットについてステップS63〜の処理を実行し、1ビットずつ8ビット分の処理を実行する。
次に、図22及び図23を参照して、ステップS41の詳細について説明する。本ステップでは各カウンタの制御及びEDCテーブル32の書き戻し・再セットを行なう。図22に示すように、現在の処理が最終エリアArea15であり、バースト転送における行番号をカウントするバースト転送行カウンタのカウンタ値Nがm−1か否かを判断する(ステップS81)。本実施の形態においては、m=6であるため、N=5か否かが判断される。すなわち、最終エリアArea15の一の列における最終バイトの処理が終了したか否かを判断し、本例においては、最終エリアArea15の6バイト目の処理が終了したと判断された場合には、現在の期待値(EDCTmp:図24参照)をEDCテーブル32の対応する列の領域EDCtable[M]に書き戻す。
ここで、先頭のArea0からArea15までの処理においては、各エリア内の列を処理する毎にEDCテーブル32から期待値を読み出す。すなわち、Area0〜Area15において、同一転送ブロックの処理においては、同一のEDCテーブルの値を使用する。例えばパス2の最初の処理においては、このEDCテーブル32は、初期期待値が格納され、最終エリアArea15においてもこの初期期待値を順次読み出す。一方で、最終エリアArea15の演算が終了すると、次の転送ブロックの処理が開始され、再び最初のエリアArea0からの処理が実行される。ここで、次の転送ブロックの処理においては、初期期待値ではなく、当該転送ブロックの最初の行における最上位ビットに対応した19の期待値が必要となる。よって前の転送ブロックにおける最終エリアArea15を処理する際には、前の転送ブロックにおける最終行の最下位ビットの期待値をローテーションし、先頭エリアの先頭バイトのMSBに対応する期待値とし、次の転送ブロックにおける期待値生成に使用するためにEDCテーブル32に書き戻す必要がある。
上述したように最終エリアArea15も先頭エリアArea0と同一のEDCテーブル32の値を使用するため、最終エリアArea15の各列の処理が終了するまでは対応する列のEDCテーブルを書き換えることはできない。そこで、先ず最終エリアArea15であるか否かを判断する(ステップS81)。最終エリアArea15でない場合はステップS83に進む。最終エリアArea15の最終バイトである場合には、期待値生成部73が保持している値は転送ブロックの最終行=6バイト目のLSBに対応する期待値(図24のEDCTmp1)を上述のステップS64にてローテーションした値(図24のEDCTmp2)である。すなわち、先頭エリアのバースト転送の先頭バイトのMSBに対応する期待値となっている。この値をEDCテーブル32に書き戻す。
次に、バースト転送行カウンタのカウンタ値Nをインクリメント(ステップS83)する。次に、行カウント値N=m、本実施の形態においては、m=6であるか否かを判断し(ステップS84)、m=6であれば行カウント値をリセットする(ステップS85)。そして、列カウント値Mをインクリメントし(ステップS86)、列カウント値M=19であるか否か、すなわちインクリメントした結果エリアの先頭行となったか否かを判断する(ステップS87)。列カウント値M=19の場合は、列カウント値Mをリセットし、エリアカウンタのエリアカウント値Areaをインクリメントし(ステップS89)、現在のエリアが転送ブロックの先頭エリアであるエリアArea16=Area=0(図6参照)であるか否かを判定する(ステップS90)。エリアカウント値Areaが16の場合はこれをリセットし(ステップS91)、セクタカウンタも同じくリセットする(ステップS82)。そして、ベース行カウンタのカウント値にmを加算する(ステップS93)。
以上のようにしてEDCテーブル32に期待値を書き戻し、各カウンタのリセット処理等を行った後、期待値生成部がEDCテーブル32から値を読み出す。先ず、バースト行カウント値N=0であるかを判断し(ステップS95)、N=0であれば、EDCテーブル32の現在の列カウント値Mに応じた値を読み出し、期待値生成部にセットする(ステップS95)。また、Row+バースト転送行カウント値N=108でかつM≧9であるか否かを判定する(ステップS96)。行番号Row=108の境界においては、図4に示すように、偶数セクタの先頭バイトを含む。すなわち、行番号Row=108は奇数セクタと偶数セクタと境界であるため、ステップS82により書き戻して使用していた期待値を一旦初期期待値にリセットする処理が必要となる。よって、行カウント値=108の境界が検出された場合は、EDCテーブル32を※1のように初期期待値にセットし、列カウント値(M−9)の値EDCtable[M−9]を読み出す(ステップS97)。
そして、以降のステップS98〜S105によりEDCフラグ及びEDCエリアフラグをセットする。先ず、ステップS98では、次に取得されるユーザ・データが偶数セクタのEDCの先頭位置に配されるか否かが判断される。このため、偶数セクタにおいては、10列目の105行目のバイトがEDCの先頭データEDC0となるため、列カウント値M=9かつRow+N=104であるか否かが判断される(ステップS98)。ここでEDCの先頭と判断された場合にはEDCフラグ=1に設定する(ステップS100)。一方、偶数セクタのEDCの先頭ではない場合、奇数セクタの先頭か否かが判断される。奇数セクタにおいては、19列目の213行目のバイトがEDCの先頭となるため、列カウント値M=18かつRow+N=212であるか否かが判断される(ステップS99)。EDCの先頭と判断された場合は上述のステップS100に進みEDCフラグ=1とする。一方、偶数セクタ、奇数セクタのいずれのEDCの先頭にも該当しない場合には、EDCフラグ=0とする(ステップS101)。
次に、EDC先頭となる2049バイト目以降2052バイト目までは上述のステップS37〜S40に示すように、00hで置き換えたバイトデータに対し演算を実行する。よって、2049バイト目であるEDC先頭を検出してから2052バイト目まで(EDCエリア)のデータについては、EDC生成部34は通常の処理を行わず上記ステップS37〜S40の処理を実行する。このため、EDCエリアを検出し、EDCエリアのユーザ・データが入力される間はそれらのユーザ・データをマスクする必要がある。
そこで、偶数セクタの2049〜2052番目に入力されるバイト(EDCエリア内のデータ)に相当するか否かを判断するため、列番号M=9かつRow+M=104〜107であるか否かを判断する(ステップS102)。該当しない場合には、奇数セクタの2049〜2052番目に入力されるバイト(EDCエリア内のデータ)に相当するか否かを判断するため、列番号M=18かつRow+M=212〜215であるか否かを判断する(ステップS103)。ステップS102、又はS103においてEDCエリア内のデータと判断された場合はEDCエリアフラグ=1に設定し(ステップS104)、一方、EDCエリア内ではないと判断された場合にはEDCエリアフラグ=0に設定する(ステップS105)。以上の処理が終了したらステップS42へ進みむ。
なお、例えばバースト転送サイズm=2の場合、52回目までのバースト転送により列方向では106バイトのデータ転送が完了し、次の53回目のバースト転送にて108バイト目までのデータ転送が完了する。この場合、2回のバースト転送に亘ってEDCを転送する必要があるが、このような場合には、52回目において2049バイト目又は2050バイト目、すなわちEDCの先頭バイト又はEDC1の入力タイミングにて4バイトのEDCの演算が終了していることが必要である。上記の場合、偶数セクタにおいては、2049バイト目のデータを処理する時点で、行番号Row=106、107に位置するユーザ・データの期待値演算処理が終了している必要がある。よって、この場合には、パス1においては、偶数セクタの行番号Row=106〜215までのユーザ・データからEDC中間値を求めておくものとする。
このように2つの転送ブロックにまたがってEDCが配置される場合においては、最初の転送ブロックの最後のEDC演算までに4バイトのEDC全てを求めておく。そして、この場合、最初のEDC0の演算タイミングまでに2048バイトのユーザ・データについての期待値演算は終了しておく必要があり、バースト転送サイズに応じてパス1においてEDC中間値を求めるユーザ・データを適宜調整する。
次にステップS42の処理について説明する。本ステップではセクタ境界を判定し、セクタカウンタを更新する処理を実行する。図25は、ステップS42の詳細を示すフローチャート、図26は、ステップS42の処理を説明する図である。図25に示すように、先ず、行カウント値Row+N<108か否かを判定する(ステップS111)。行カウント値Row+N<108である場合であって、列カウント値M=10であるか否か、すなわち次に転送されるユーザ・データが奇数セクタ領域におけるユーザ・データであるか否かを判断する(ステップS111、図26参照)。また、Row+N<108、且つ列カウント値M=10でない場合であっても、Row+N≧108、且つ列カウント値M=9であれば、次に転送されるユーザ・データは奇数セクタ領域のデータとなる。すなわち、Row+N<108、且つ列カウント値M=10の場合、及びRow+N≧108、且つ列カウント値M=9の場合には、セクタカウンタをエリアカウンタのエリアカウント値Area×2+1にセットする(ステップS113、図26参照)。
一方、エリアカウント値Areaが0ではなく、かつ列カウント値M=0の場合(ステップS114、図26参照)には、次に転送されるユーザ・データは偶数セクタのデータであると判断され、セクタカウント値は、エリアカウント値Area×2にセットされる(ステップS115)。これら以外の場合には、セクタカウンタは更新されず、次のステップS43の処理に進む。
以上の処理により、パス1にて偶数セクタの後半部分のユーザ・データより算出されたEDC中間値をパス2において残りのユーザ・データに基づき補正し、また奇数セクタにおいては全ユーザ・データに基づきEDCを算出する。このようにパス2においてEDC演算の一部又は全部を行なうことによりパス1においてデータ・バッファへのアクセス量を約1/4程度に減らすことができる。すなわち、パス1においては、パス2においてユーザ・データ方向Qとは異なる順序ユーザ・データを転送する際にEDCを付加するまでに入力することができない部分のユーザ・データ(偶数セクタの後半部分)の演算のみを行なうようにすることで、パス1におけるデータ・バッファ2へのアクセス量を低減することができる。
図27は、本実施の形態における効果を説明する図である。図3に示す方法においては、パス1においてEDCを演算しておき、パス2でそれを使用してEDC付きデータを出力することとしているため、チャンネルCH1がデータ・バッファから読み出すべきユーザ・データは、1データ・ブロック分、すなわち2048バイト×32セクタ分となる。これに対し、本実施の形態においては、パス1においては、偶数セクタの行番号Row=108以降のユーザ・データのみの処理を行うため、データ・バッファ2から読み出すべきユーザ・データは972×16セクタ分とすることができる。
ここで、図27に示すように、本実施の形態にかかる記録装置1においては、図3に示す記録装置に対して、EDC生成部34及びEDCテーブル32を追加する構成となっている。しかしながら、EDC生成部31とEDC生成部34とが合わせて1データ・ブロック分の処理を行ってEDCを演算するため、消費電力が追加されるのはEDCテーブル32に使用される消費電力のみとみることができる。ここで、EDCテーブル32においては、1データ・ブロック分のデータ処理が行われるので、EDC演算部分では2048×32byte(65536byte)分の消費電力増加となるものの、パス1のデータ転送量は図3に示す1データ・ブロックを処理する場合に比べて約1/4であるため、データ・バッファ及びバッファ・コントローラ3の分として、データ・バッファ周りでは、99968byte((2048×32−972×16)×2)分の消費電力を低減させることができ、結果的に消費電力が削減される。これは、高倍速になるに従い、データ・バッファ、バッファ・コントローラの動作クロックを上げていくに従い、顕著となる。
このことにより、エンコードのボトルネックとなり得るデータバッファアクセスを低減することで、高倍速エンコードを実現し、消費電力を抑えるという優れた効果を奏する。すなわち、一定時間内にデータ・バッファにアクセスできるデータ数は固定であり、その時間は倍速が上がると共に短くなっていくため、高倍速エンコードの際にデータバッファアクセスがボトルネックとなる。よって、データアクセス絶対数を減らすことでより高倍速エンコードを可能とし、データアクセス差分の消費電力を削減することができる。また、アクセス絶対数が少ないことにより、図3に示す方法に比べ、より高いエンコード倍速でも動作クロックが低くコストが安いデータ・バッファを使用することができる。更に同倍速エンコードを実現するためのデータ・バッファやバッファ・コントローラの動作クロック自体を下げることが可能で、追加回路に掛かる電力を差し引いても、消費電力を削減することができる。
次に、以上のようにして生成されたEDCを付加したEDC付きデータから記録データを出力するまでの動作の一例について説明しておく。EDC中間値からEDCを算出し、記録データを出力するまでの処理は、上述のパス2の処理として各回路によって実行される。図4に戻って、チャンネルCH2よりバースト転送されるユーザ・データは、EDC生成部34のみならず、統合部35にも供給される。
ここで、データ・バッファ2は、SDRAM等、リフレッシュ動作が必要であって、ランダムアクセス及びバースト転送が可能なメモリから構成される。以下の説明においては、SDRAMとして説明する。SDRAMは、連続したアドレスに限り、ランダムアクセスに比べ高速にアクセス可能なDRAMであり、バースト転送機能を利用すれば高速データ転送が可能となり、SRAM等の高速ランダムアクセス可能なメモリに比してコストを低減することができる。
バッファ・コントローラ3のチャンネルCH2は、データ・バッファ2からユーザ・データ方向Qに1バースト転送サイズ=mバイトのユーザ・データを繰り返し読み出し、レコーディング・フレーム方向Pの順にEDC付加データが配列するよう順次転送していく。すなわち、ユーザ・データ方向Qの216bytesのうちバースト転送サイズmbytesを、レコーディング・フレーム方向Pのバイト(304bytes、304インターリーブ)分、すなわち304回繰り返してバースト転送することで1RUBに含まれるユーザ・データ(データ・ブロック41)のレコーディング・フレーム方向Pのデータが、ユーザ・データ方向Qにmバイト揃うこととなる。これをスクランブルした後、高速にランダムアクセス可能なSRAM等からなる置き換えバッファ38に格納することでレコーディング・フレーム方向Pの順に記録データを出力することができる。
ここで、チャンネルCH2又は統合部35は、バースト転送における先頭アドレスを指定したり、EDCバッファ33からのEDC読み出しタイミングを制御する機能を有する。
スクランブル回路36は、ユーザ・データとユーザ・データのユーザ・データ方向Qの順序に対応するスクランブル値との排他的論理和をスクランブル済データとして算出する。すなわち、データをスクランブルする場合には、下記式に示すように、8ビットの入力データDと、スクランブラで生成した8ビットのスクランブル・データ(スクランブル値)Sとのmod2加算(=排他的論理和)を行なうことでスクランブル済データDSを得ることができる。
DS=S+D
ここで、「+」は排他的論理和を示す。
ブルーレイディスクにおけるスクランブラは、所定の演算を施す16ビットのシフト・レジスタに初期値を設定し、これを順次シフトさせる毎にユーザ・データ方向Qの順でスクランブル値を生成する。ため、本実施の形態のように、6バイト毎のデータをレコーディング・フレーム方向Pの順に入力すると、6バイト分のスクランブル値を得た後、次の列に対応するスクランブル値を得るために210回シフトしなければならず時間がかかる。そこで、このような順序で入力されるユーザ・データに対しても、スクランブル値を算出することができるスクランブル値生成部を有し、当該入力データに対応するスクランブル値をスクランブル回路36に供給するスクランブル値生成部37を有する。
置き換えバッファ38は、リフレッシュ動作が不要であって、高速にランダムアクセス可能なSRAM等のメモリから構成される。以下の説明においてはSRAMとして説明するが、高速にランダムアクセス可能であれば、SRAMに限らない。この置き換えバッファ38は、スクランブルされたデータをレコーディング・フレーム方向Pのデータに置き換えるために設けるものであり、レコーディング・フレーム方向Pの順にスクランブル済データを高速転送可能である。ここで、置き換えバッファ38は、上述の転送ブロック以上のデータを格納可能な領域を2以上有し、一方の領域に転送ブロックの書き込みをしている間に他方の転送ブロックから記録データを出力するものであるが、データ・バッファ2と比べるとその容量を格段に小さくすることができ、データ・バッファ2をSRAMで構成する場合と比べると、同等の高速転送を可能としつつ、低コスト化を図ることができる。
次に、パスS2の各動作について詳細に説明する。先ず、置き換えバッファ38に転送されるユーザ・データについて詳細に説明する。ブルーレイディスクでは、ユーザ・データ方向Qのデータは1列が216bytesである。本実施の形態においては、上述のようにこれを36分割した6bytes毎にバースト転送する(バースト転送サイズm=6bytes)。
SDRAMは、バースト転送をクロックに同期して高速に行えるようにしたDRAMであり、例えば、SDRAMのメモリセルを独立して動作可能な4つのブロック(バンク)構成とし、8回連続のバースト転送を使用すれば、32bytesのバースト転送が可能となる。SDRAMは、最初のバースト転送すべきアドレスを指定してやれば所定のデータをバースト転送により高速にデータの転送可能である。
レコーディング・フレーム方向Pのデータは、ユーザ・データ方向Qの並びでみると216bytes飛びのデータとなるが、上述したように、ブルーレイディスクでは、1セクタは2048bytesのユーザ・データ+4byetsのEDCからなり、データ・バッファ2から転送されてくるデータは、EDCが付加される前のデータであり、例えば1セクタ分が2048bytesである。このため偶数セクタに隣接する、奇数セクタの最初の列バイト(以下、奇数セクタ先頭列という)は、216bytes飛びではなく、212bytes飛びのデータとなる。この奇数セクタ先頭列とは、セクタSec1におけるレコーディング・フレームPの順では9列目又は10列目であり、ユーザ・データ方向Qの順、すなわち行番号Row=0〜107までは10列目、行番号Row108〜215までは9列目を示す。したがって、レコーディング・フレーム方向Pにデータを読み出す際に奇数セクタ先頭列に該当するデータを読み出す場合には、216bytes飛びではなく212bytes飛びとなる。このように、バースト転送する際のデータ・バッファ2の先頭アドレスは、セクタ境界以外は216bytes飛び、セクタ境界では212bytes飛びとなるため、バッファ・コントローラ3は、行カウンタ、エリア内の列番号をカウントする列カウンタなどを利用してセクタ境界を検出し、データ・バッファ2におけるバースト転送する際の最初のアドレス(先頭アドレス)をバースト転送サイズmに基づき適宜計算して指定する。すなわち、セクタ境界を検出したときのみ+212とし、それ以外の場合は先頭アドレスに順次216を加算することで、先頭アドレスを適切に指定することができる。
また、ブルーレイディスクにおいては、偶数セクタにおいて最終データの次に付加されるEDCがユーザ・データ方向Q、すなわち行番号Row=104〜107、すなわち、ユーザ・データ方向Qの順でデータを並べた際の一の列の途中に配置されることとなる。よって、統合部35は、このアドレスを含むユーザ・データを転送する際に、EDCバッファ33から上述のようにして得られたEDCを読み出し付加してスクランブル回路36に出力する。
スクランブル値生成部37は、バースト転送される6バイトのデータについては、ユーザ・データ方向Qの順であるため、通常のスクランブラを使用してスクランブル値を生成すればよいが、1バースト分の転送データを処理した後は次の列のユーザ・データがバースト転送される。このため、通常のスクランブラを使用すると、最大で210クロック分待たないとスクランブル値を得ることができない。一方で、ブルーレイディスクのデータは、図2に示すように、レコーディング・フレーム方向においては、216又は108バイト飛びとなっている。よって、1回のシフト動作でユーザ・データ方向Qの順に1バイトシフトさせて得られる通常のスクランブラの他に、1回のシフト動作によって216、108回シフトした値を得ることができるシフト・レジスタを設け、バースト転送毎に各シフト・レジスタを切り替え制御する。これにより、チャンネルCH2から転送されるユーザ・データのユーザ・データ方向Qの順に対応したスクランブル値をスクランブル回路36に供給することができる。
置き換えバッファ38は、バースト転送サイズm×1レコーディング・フレーム分(304bytes)らなる記憶領域を2以上有する。そして、上述したように、パスS2において、1RUBに相当するユーザ・データ(データ・ブロック)の処理を実行するため、一方の記憶領域に転送ブロックを書き込む間に、他方の記憶領域に既に書き込まれている転送ブロックを読み出す。なお、記憶領域は2面以上としてもよいことは勿論である。
このような動作により、記録装置1は、ユーザ・データを記録データとして出力する処理において、ユーザ・データ方向Qの順にEDC付加及びスクランブルを行ない、一旦これらの処理が終了したデータをデータ・バッファに書き戻し、その後レコーディング・フレーム方向Pの順に改めて読み出しする必要がなくなる。よって、データ・バッファ2をSRAM等の高速にランダムアクセス可能な高価なメモリとすることなく、記録データの高速転送が可能となる。また、上述したように、パス1におけるデータ・バッファ2へのアクセス量を低減するため、エンコード速度の向上を図り、電力消費量を低減することができる光記録ディスクエンコード装置又は記録装置を提供することができる。
実施の形態2.
次に、本発明の実施の形態2について説明する。図28は、本発明の実施の形態2にかかる記録装置を示す図である。なお、図28に示す本実施の形態2において、図4に示す実施の形態1と同一構成要素には同一の符号を付しその詳細な説明は省略する。本実施の形態にかかる記録装置81は、図4に示すエンコード回路4の代わりにエンコード回路84を有する。エンコード回路84は、図4に示すエンコード回路4と同様にパス1において偶数セクタの一部のEDC演算を先に行なっておき、パス2においてEDCを算出する。ここで、上述の実施の形態1にかかるエンコード回路4のスクランブル処理部は、ユーザ・データにEDCを付加してからスクランブル処理するものであったが、本実施の形態におけるエンコード回路84のスクランブル処理部は、ユーザ・データとEDCを別々にスクランブルし、スクランブルしたユーザ・データにスクランブルしたEDCを付加するものである。
このため、パス2において、チャネルCH2からのユーザ・データは、EDC生成部34に供給されると共にスクランブル回路96に供給される。スクランブル回路96は、スクランブル値生成部97からユーザ・データに対応するスクランブル値を受け取りスクランブル処理し、スクランブル処理したユーザ・データ(スクランブル済ユーザ・データ)を置き換えバッファ38に供給する。スクランブル済ユーザ・データは、ECC生成部39にも供給される。
一方、EDC生成部34にて上述のように生成されたEDCは、本実施の形態において新たに設けられたスクランブル回路98に供給される。スクランブル回路98は、EDCのスクランブル処理を実行する。スクランブル回路98は、EDCに対応するスクランブル値をスクランブル値生成部97から受け取り、EDCをスクランブルして統合部95及びECC生成部39に供給する。
スクランブルされたユーザ・データを受け取った上述の置き換えバッファ98は、これを統合部95に供給する。統合部95は、エンコード回路95の統合部35と異なり、スクランブル済みのユーザ・データを置き換えバッファ96から受け取り、スクランブル済みのEDCをスクランブル回路98から受け取り、これらを統合して記録データとして出力する。
また、ECC生成部39は、スクランブル済のユーザ・データをスクランブル回路96から受け取ると共にEDC付加の適切なタイミングにてスクランブルされたEDCをスクランブル回路98から受け取り、32セクタ分のECCを生成する。このECCは、ECCバッファ40を介して出力される。
本実施の形態においても、上述の実施の形態1にかかるエンコード回路4と同様に、パス1において、偶数セクタの後半部分のユーザ・データのみを受け取りEDC中間値を生成しておき、パス2において、偶数セクタにおいては、EDC中間値を使用してEDCを生成する。また、奇数セクタにおいては、ユーザ・データ及び期待値からEDCを直接算出する。これにより、パス1において、上述の参照例と比べるとデータ・バッファ3から読み出すユーザ・データを約1/4に減少させることができ、データ・バッファ3へのアクセス量を低減することができるという実施の形態1と同様の効果を奏する。
更に、エンコード回路4においては、EDCを付加したデータをスクランブルしていたのに対し、EDCを付加する前にスクランブル処理し、スクランブル済のユーザ・データにスクランブル済のEDCを付加する。このことにより、EDCを算出して付加するまでのタイミングに自由度を持たせることができる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
また、上述の変形例にて説明したように、EDC付加タイミングは、スクランブル処理の前であっても後であってもよく、EDCを付加するための各回路構成、例えば統合部、スクランブル回路、スクランブル値生成部、置き換えバッファなどへのデータ供給順序、タイミング等は、上記に限らず種々の変更が可能である。
ブルーレイディスクにおけるデータ・ブロックのデータの並び順を説明する図である。 セクタS0、S1からなるエリアを拡大して示す図である。 特願2005−060364号に記載の記録装置のうち、誤り検出符号を算出する部分のみを抽出して示す図である。 本発明の実施の形態1にかかるディスクエンコード装置示す模式図である。 本発明の実施の形態において、パス1、2に使用されるユーザ・データを説明するための図である。 データ・ブロックにおける転送ブロックを示す図である。 パスS1及びパスS2におけるデータ処理タイミングを示す図である。 本発明の実施の形態にかかる記録装置がEDC算出の際に使用する期待値を説明するための図である。 EDC算出の概念を説明するための図である。 期待値生成方法を示すフローチャートである。 本発明の実施の形態にかかる記録装置のパス1における処理を説明するための図である。 本発明の実施の形態にかかる記録装置においてパス1の処理を実行するEDC生成部の詳細の一例を示す図である。 同EDC生成部におけるEDC期待値生成部の一例を示す図である。 同EDC生成部が参照するEDCテーブルと初期期待値との関係を示す模式図である。 本発明の実施の形態にかかる記録装置のパス2における処理を説明するための図である。 本発明の実施の形態にかかる記録装置においてパス2の処理を実行するEDC生成部の詳細の一例を示す図である。 パス1のEDC生成処理方法を示すフローチャートである。 パス2のEDC生成処理方法を示すフローチャートである。 EDCフラグ及びEDCエリアフラグを説明するための図である。 図18に示すステップS31の詳細を示すフローチャートである。 図18に示すステップS35の詳細を示すフローチャートである。 図18に示すステップS41の詳細を示すフローチャートである。 同じく、図18に示すステップS41の詳細を示すフローチャートである。 EDCテーブルの更新方法を説明する図である。 図18に示すステップS42の詳細を示すフローチャートである。 セクタカウンタの更新方法を説明する図である。 本発明の実施の形態における効果を説明するための図である。 本発明の実施の形態2にかかるディスクエンコード装置示す模式図である。 ブルーレイディスクのデータ構成を説明する図である。 ECCクラスタのフォーマットを示す模式図である。 LDCブロックを示す模式図である。 ユーザ・データとアドレス情報とからRUBを生成するまでの各データのエンコード順序を示す図である。 特許文献1に記載の従来の再生装置を示すブロック図である。
符号の説明
1 記録装置
2,11 データ・バッファ
3,12 バッファ・コントローラ
4,84 エンコード回路
13 EDC生成部
14,33 EDCバッファ
15,35,95 統合部
21,38,98 置き換えバッファ
22,36,96,98 スクランブル回路
31,34 EDC生成部
32 EDCテーブル
37,97 スクランブル値生成部
39 ECC生成部
40 ECCバッファ
41 データ・ブロック
50 シフト・レジスタ
61 列カウンタ
62,64,68,72,74,78 選択部
63,73 期待値生成部
65,75 XOR回路
67,77 セクタカウンタ
71 列カウンタ

Claims (27)

  1. 第1の順序を有するユーザ・データ符号列の誤りを検出する誤り検出符号を算出する誤り検出符号算出回路であって、
    ユーザ・データ符号列を含むセクタを2以上有するデータ群を処理単位とし、
    前記データ群は、前記第1の順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の最後に付加されるものであって、前記第1の順序とは異なる順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の読み出し途中に付加される構成を有する演算対象セクタを含み、
    前記演算対象セクタの一部のユーザ・データから誤り検出符号中間値を算出する第1の演算部と、
    前記演算対象セクタから前記一部を除いた残りのユーザ・データ及び前記誤り検出符号中間値に基づき誤り検出符号を算出する第2の演算部とを有し、
    前記第2の演算部は、前記第1の順序とは異なる順序で前記演算対象セクタに含まれるユーザ・データ符号列を読み出した際に付加するための前記誤り検出符号を算出する誤り検出符号算出回路。
  2. 前記第2の演算部は、前記第1の順序とは異なる順序で入力される前記残りのユーザ・データに基づき前記誤り検出符号中間値を更新して前記誤り検出符号を算出する
    ことを特徴とする請求項1記載の誤り検出符号算出回路。
  3. 前記演算対象セクタの前記残りのユーザ・データは、前記データ群を前記異なる順序で読み出した場合の前記演算対象セクタに含まれるユーザ・データ符号列のうち、その先頭から前記誤り検出符号が付加される直前までのユーザ・データを有する
    ことを特徴とする請求項1項記載の誤り検出符号算出回路。
  4. 前記演算対象セクタの一部のユーザ・データは、前記演算対象セクタに含まれるユーザ・データ符号列のうち、前記データ群を前記異なる順序で読み出した場合の前記誤り検出符号が付加される以降のユーザ・データを有する
    ことを特徴とする請求項3項記載の誤り検出符号算出回路。
  5. 前記データ群は、K行×L列(K、Lは整数)からなるブロックからなり、
    前記ブロックは、ディスクに記録するための最小記録単位に含まれるユーザ・データを含み、
    前記第1の順序は前記ブロックの列方向に対応したユーザ・データの符号化順序であって、
    前記ブロックの行方向と前記ユーザ・データの記録順序とが対応するものである
    ことを特徴とする請求項1項記載の誤り検出符号算出回路。
  6. 前記データ群は、前記ブロックにおいて一の列の途中に前記誤り検出符号が挿入される前記演算対象セクタを有する
    ことを特徴とする請求項5項記載の誤り検出符号算出回路。
  7. 前記演算対象セクタの一部は、前記ブロックにおいて一の列の途中に前記誤り検出符号が挿入される前記演算対象セクタにおける前記誤り検出符号の最終のバイトが挿入される行以降のユーザ・データを有する
    ことを特徴とする請求項6項記載の誤り検出符号算出回路。
  8. 前記第2の演算部は、前記異なる順序としてmバイトの前記第1の順序のユーザ・データを前記行方向にL回繰り返し受け取り、これをK/m(ただし、K/mの小数点以下は繰り上げ)回繰り返すことで前記データ群を受け取る
    ことを特徴とする請求項5項記載の誤り検出符号算出回路。
  9. ユーザ・データ符号列は、データ・バッファからバースト転送されるものであって、
    前記mバイトはバースト転送サイズであり、
    前記誤り検出符号は、前記mバイト以下からなる
    ことを特徴とする請求項8項記載の誤り検出符号算出回路。
  10. 前記誤り検出符号は、前記第1の順序のユーザ・データ符号列に前記誤り検出符号と同一バイトの0データを付加したkバイトのセクタに所定の演算を施すことで得られるものであって、
    前記第1の演算部は、前記第1の順序を対応づけたkバイトの符号列において、入力されるユーザ・データの前記第1の順序に対応するビットのみを1、他を0として前記所定の演算を施した結果を期待値として算出し、入力されるユーザ・データが1の場合の当該期待値の排他的論理和を順次求めることで前記誤り検出符号中間値を算出し、
    前記第2の演算部は、入力されるユーザ・データの前記期待値を算出し、前記誤り検出符号中間値と入力されるユーザ・データが1の場合の当該期待値の排他的論理和を順次求めることで前記誤り検出符号を算出する
    ことを特徴とする請求項5項記載の誤り検出符号算出回路。
  11. 前記第1の演算部は、前記演算対象セクタの一部のユーザ・データを前記データ群を前記第1の順序で受け取り、
    前記第2の演算部は、前記データ群を前記異なる順序で受け取る
    ことを特徴とする請求項10記載の誤り検出符号算出回路。
  12. 前記第2の演算部は、前記ユーザ・データ符号列の第1の順序の最後に前記誤り検出符号と同一バイトの0データを付加したデータについて前記異なる順序で演算を行なうものであって、当該0データの最終バイトの演算タイミング以前に全ての前記誤り検出符号を算出する
    ことを特徴とする請求項10記載の誤り検出符号算出回路。
  13. 前記第1及び第2の演算部は、前記ユーザ・データ符号列内の特定ビットに対応する期待値である初期期待値を参照し、当該初期期待値に基づき前記期待値を算出する
    ことを特徴とする請求項10項記載の誤り検出符号算出回路。
  14. 前記第1及び第2の演算部は、前記ブロックにおける一の行に対応する期待値である初期期待値を参照し、当該初期期待値に基づき前記期待値を算出する
    ことを特徴とする請求項10項記載の誤り検出符号算出回路。
  15. 前記ブロックは、2つのセクタの組からなる複数のエリアからなり、
    前記初期期待値は、一のエリアにおける一の行の期待値である
    ことを特徴とする請求項14項記載の誤り検出符号算出回路。
  16. 前記初期期待値を保持する期待値テーブルと、
    前記誤り検出符号を保持するバッファとを有し、
    前記第1の演算部及び第2の演算部は、前記期待値テーブルを参照して前記期待値を生成し、前記排他的論理和を求めて前記バッファにそれぞれ前記誤り符号中間値及び前記誤り検出符号を格納する
    ことを特徴とする請求項15項記載の誤り検出符号算出回路。
  17. 前記エリアに含まれるセクタの一方が前記演算対象セクタである
    ことを特徴とする請求項16項記載の誤り検出符号算出回路。
  18. 前記第2の演算部は、前記データ群のうち前記第1の順序とは異なる順序で読み出した場合にも前記誤り検出符号が最後に付加される構成を有する非演算対象セクタについては、入力されるユーザ・データの前記期待値を算出し、入力されるユーザ・データが1の場合の当該期待値の排他的論理和を順次求めることで前記誤り検出符号を算出する
    ことを特徴とする請求項10項記載の誤り検出符号算出回路。
  19. 前記第2の演算部は、前記ユーザ・データ符号列の第1の順序の最後に前記誤り検出符号と同一バイトの0データを付加したデータについて前記異なる順序で演算を行なうものであって、当該0データの最終バイトの演算タイミング以前に全ての前記誤り検出符号を算出する
    ことを特徴とする請求項18記載の誤り検出符号算出回路。
  20. 前記異なる順序は、前記ブロックの行方向に対応する順序である
    ことを特徴とする請求項1項記載の誤り検出符号算出回路。
  21. 前記第1の演算部がt番目のデータ群を処理している間、前記第2の演算部は、(t−1)番目のデータ群を処理する
    ことを特徴とする請求項1記載の誤り検出回路。
  22. 第1の順序を有するユーザ・データ符号列の誤りを検出する誤り検出符号を算出する誤り検出符号算出方法であって、
    ユーザ・データ符号列を含むセクタを2以上有するデータ群を処理単位とし、
    前記データ群は、前記第1の順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の最後に付加されるものであって、前記第1の順序とは異なる順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の読み出し途中に付加される構成を有する演算対象セクタを含み、
    第1の演算部により、前記演算対象セクタの一部から誤り検出符号中間値を算出し、
    第2の演算部により、前記演算対象セクタから前記一部を除いた残部及び前記誤り検出符号中間値に基づき、前記第1の順序とは異なる順序で前記演算対象セクタに含まれるユーザ・データ符号列を読み出した際に付加するための前記誤り検出符号を算出する誤り検出符号算出方法。
  23. 2以上の第1の順序を有するユーザ・データ符号列を含むデータ群を処理単位とし、前記データ群を前記第1の順序とは異なる第2の順序でディスクに記録する記録装置であって、
    ユーザ・データ符号列を含むセクタを2以上有するデータ群を処理単位とし、
    前記データ群は、前記第1の順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の最後に付加されるものであって、前記第1の順序とは異なる順序で読み出した場合には前記誤り検出符号が前記ユーザ・データ符号列の読み出し途中に付加される構成を有する演算対象セクタを含み、
    前記ユーザ・データ符号列の誤りを検出する誤り検出符号を算出する誤り検出符号算出回路と、
    前記誤り検出符号算出回路が算出した誤り検出符号及びユーザ・データ符号列に基づきスクランブル処理された前記データ群を記録データとして出力するスクランブル処理部とを有し、
    前記誤り検出回路は、
    前記演算対象セクタの一部のユーザ・データから誤り検出符号中間値を算出する第1の演算部と、
    前記演算対象セクタから前記一部を除いた残りのユーザ・データ及び前記誤り検出符号中間値から誤り検出符号を算出する第2の演算部とを有し、
    前記第2の演算部は、前記第1の順序とは異なる順序で前記演算対象セクタに含まれるユーザ・データ符号列を読み出した際に付加するための前記誤り検出符号を算出する記録装置。
  24. 前記スクランブル処理部は、
    前記誤り検出符号算出回路にて算出された誤り検出符号を前記ユーザ・データ符号列に付加する統合部と、
    前記統合にて統合された誤り検出符号付きデータをスクランブル処理するスクランブル回路と
    を有することを特徴とする請求項23記載の記録装置。
  25. 前記データ群は、K行×L列(K、Lは整数)からなるブロックからなり、
    前記第1の順序は、前記ブロックの列方向に対応したユーザ・データの符号化順序であり、
    前記記録データは、前記第1の順序とは異なる第2の順序を有し、
    前記スクランブル回路にてスクランブル処理されたスクランブル済みデータを前記第2の順序で出力するための置き換えバッファを更に有する
    ことを特徴とする請求項24記載の記録装置。
  26. 前記スクランブル処理部は、
    前記ユーザ・データ符号列をスクランブル処理する第1のスクランブル回路と、
    前記誤り検出符号をスクランブル処理する第2のスクランブル回路と、
    前記第1のスクランブル回路にてスクランブル処理されたユーザ・データ符号列に前記第2のスクランブル回路にてスクランブル処理された誤り検出符号を付加する統合部と
    を有することを特徴とする請求項23記載の記録装置。
  27. 前記データ群は、K行×L列(K、Lは整数)からなるブロックからなり、
    前記第1の順序は、前記ブロックの列方向に対応したユーザ・データの符号化順序であり、
    前記記録データは、前記第1の順序とは異なる第2の順序を有し、
    前記第1のスクランブル回路にてスクランブル処理されたユーザ・データ符号列を前記第2の順序で出力するための置き換えバッファを有し、
    前記統合部は、前記置き換えバッファからスクランブル処理したデータを前記第2の順序で受け取り、前記第2のスクランブル回路から、前記第2の順序で受け取ったスクランブル処理したユーザ・データ符号列にスクランブル処理した誤り検出符号を付加して前記記録データを出力する
    ことを特徴とする請求項26記載の記録装置。
JP2005226705A 2005-08-04 2005-08-04 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置 Active JP4620541B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005226705A JP4620541B2 (ja) 2005-08-04 2005-08-04 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置
DE602006001270T DE602006001270D1 (de) 2005-08-04 2006-07-19 Schaltung und Verfahren zur Berechnung eines Fehlererkennungscodes und Aufzeichnungsvorrichtung
EP06015074A EP1750264B1 (en) 2005-08-04 2006-07-19 Error detecting code calculation circuit, error detecting code calculation method, and recording apparatus
US11/495,715 US7640483B2 (en) 2005-08-04 2006-07-31 Error detecting code calculation circuit, error detecting code calculation method, and recording apparatus
CNB2006101084599A CN100570730C (zh) 2005-08-04 2006-08-04 误差检测码计算电路、误差检测码计算方法以及记录设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005226705A JP4620541B2 (ja) 2005-08-04 2005-08-04 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置

Publications (2)

Publication Number Publication Date
JP2007042234A true JP2007042234A (ja) 2007-02-15
JP4620541B2 JP4620541B2 (ja) 2011-01-26

Family

ID=37398691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005226705A Active JP4620541B2 (ja) 2005-08-04 2005-08-04 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置

Country Status (5)

Country Link
US (1) US7640483B2 (ja)
EP (1) EP1750264B1 (ja)
JP (1) JP4620541B2 (ja)
CN (1) CN100570730C (ja)
DE (1) DE602006001270D1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211862A (ja) * 2009-03-10 2010-09-24 Panasonic Corp 符号化装置及び光ディスク記録装置
JP2011118968A (ja) * 2009-12-01 2011-06-16 Renesas Electronics Corp 記録装置及び記録方法
JP2012094245A (ja) * 2011-12-26 2012-05-17 Fujitsu Semiconductor Ltd 誤り訂正装置
CN102483945A (zh) * 2009-07-09 2012-05-30 三星电子株式会社 信息编码方法、信息解码方法、记录/再现设备和信息存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI332650B (en) * 2007-01-31 2010-11-01 Realtek Semiconductor Corp Error detection code generating circuit and encoding circuit utilizing which and the method of which
JP4930251B2 (ja) * 2007-07-31 2012-05-16 富士通セミコンダクター株式会社 誤り訂正装置及びデスクランブル回路
JP2009048713A (ja) * 2007-08-21 2009-03-05 Toshiba Microelectronics Corp デスクランブル回路及びエラー検出コード計算回路
JP2009104757A (ja) * 2007-10-02 2009-05-14 Panasonic Corp 半導体記憶装置
US10236045B2 (en) 2012-09-21 2019-03-19 Samsung Electronics Co., Ltd. Semiconductor memory device having detection clock patterns phase-inverted from each other and detection clock generating method thereof
KR20180082927A (ko) 2017-01-11 2018-07-19 에스케이하이닉스 주식회사 메모리장치의 에러정정장치 및 에러정정방법과, 에러정정장치를 포함하는 메모리 컨트롤러

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149017A (ja) * 1994-11-16 1996-06-07 Matsushita Electric Ind Co Ltd Crc符号生成方法
JP2000305798A (ja) * 1999-04-26 2000-11-02 Matsushita Electric Ind Co Ltd エラー検出コード発生方法および装置
JP2001292066A (ja) * 2000-01-31 2001-10-19 Sanyo Electric Co Ltd 誤り訂正装置および誤り訂正方法
JP2003242720A (ja) * 2001-12-14 2003-08-29 Hitachi Ltd ディジタルデータ記録再生方法
JP2006155835A (ja) * 2004-12-01 2006-06-15 Nec Electronics Corp 誤り検出符号付加回路、誤り検出回路及び方法、並びにディスク装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878057A (en) * 1995-10-06 1999-03-02 Tektronix, Inc. Highly parallel cyclic redundancy code generator
TW508907B (en) * 1999-09-27 2002-11-01 Texas Instruments Inc Method and apparatus for efficient calculation of cyclic redundancy check
US6530060B1 (en) * 2000-02-08 2003-03-04 Cirrus Logic, Inc. Sampled amplitude read channel employing a post processor with a boundary error compensator which compensates for boundary error events in a split-field data sector
US6601216B1 (en) * 2000-03-31 2003-07-29 Microsoft Corporation Differential cyclic redundancy check
JP2001285076A (ja) * 2000-03-31 2001-10-12 Ando Electric Co Ltd Crc符号演算回路、及びcrc符号演算方法
US7065702B2 (en) * 2001-04-12 2006-06-20 Siliquent Technologies Ltd. Out-of-order calculation of error detection codes
JP4337341B2 (ja) 2002-12-13 2009-09-30 ソニー株式会社 再生専用記録媒体、再生装置、再生方法、ディスク製造方法
US7426682B2 (en) * 2003-03-11 2008-09-16 Via Technologies, Inc. Method of generating error detection codes
JP4367627B2 (ja) 2003-07-29 2009-11-18 日本ゼオン株式会社 エチニル置換された環状フルオロオレフィン化合物及びその製造方法
KR20060125692A (ko) * 2003-08-29 2006-12-06 마츠시타 덴끼 산교 가부시키가이샤 오류 검출 장치, 및 오류 검출 방법
US7418645B2 (en) * 2003-09-24 2008-08-26 Hitachi Global Storage Technologies Netherlands B.V. Error correction/detection code adjustment for known data pattern substitution
JP4571523B2 (ja) 2005-03-04 2010-10-27 ルネサスエレクトロニクス株式会社 スクランブル回路、エンコード装置、エンコード方法及び記録装置
KR100688574B1 (ko) * 2005-09-16 2007-03-02 삼성전자주식회사 광디스크의 데이터 처리장치 및 처리방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149017A (ja) * 1994-11-16 1996-06-07 Matsushita Electric Ind Co Ltd Crc符号生成方法
JP2000305798A (ja) * 1999-04-26 2000-11-02 Matsushita Electric Ind Co Ltd エラー検出コード発生方法および装置
JP2001292066A (ja) * 2000-01-31 2001-10-19 Sanyo Electric Co Ltd 誤り訂正装置および誤り訂正方法
JP2003242720A (ja) * 2001-12-14 2003-08-29 Hitachi Ltd ディジタルデータ記録再生方法
JP2006155835A (ja) * 2004-12-01 2006-06-15 Nec Electronics Corp 誤り検出符号付加回路、誤り検出回路及び方法、並びにディスク装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211862A (ja) * 2009-03-10 2010-09-24 Panasonic Corp 符号化装置及び光ディスク記録装置
CN102483945A (zh) * 2009-07-09 2012-05-30 三星电子株式会社 信息编码方法、信息解码方法、记录/再现设备和信息存储介质
JP2012533138A (ja) * 2009-07-09 2012-12-20 サムスン エレクトロニクス カンパニー リミテッド 情報符号化方法、情報復号化方法、記録/再生装置及び情報記録媒体
JP2011118968A (ja) * 2009-12-01 2011-06-16 Renesas Electronics Corp 記録装置及び記録方法
US8397135B2 (en) 2009-12-01 2013-03-12 Renesas Electronics Corporation Recording apparatus and recording method
JP2012094245A (ja) * 2011-12-26 2012-05-17 Fujitsu Semiconductor Ltd 誤り訂正装置

Also Published As

Publication number Publication date
EP1750264A3 (en) 2007-02-28
EP1750264B1 (en) 2008-05-21
CN1909100A (zh) 2007-02-07
DE602006001270D1 (de) 2008-07-03
US7640483B2 (en) 2009-12-29
CN100570730C (zh) 2009-12-16
JP4620541B2 (ja) 2011-01-26
EP1750264A2 (en) 2007-02-07
US20070043999A1 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
JP4620541B2 (ja) 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置
US6357030B1 (en) ECC block format for storage device
US7836375B2 (en) Scrambler circuit, encoding device, encoding method and recording apparatus
JP2004348824A (ja) Eccエンコード方法、eccエンコード装置
KR100654110B1 (ko) 에러검출코드 추가 회로, 에러 검출 회로 및 방법, 및디스크 장치
KR100654111B1 (ko) 스크램블러, 디스크램블러 및 방법, 및 디스크 장치
JP2002319242A (ja) 記録方法、記録装置、伝送装置、再生方法、再生装置、受信装置、記録媒体及び伝送媒体
JP2002170333A (ja) 情報記録方法、情報記録装置、情報再生方法及び情報再生装置
JP2006209928A (ja) 光ディスク製造方法及び装置、光ディスク、並びに、光ディスク再生方法及び装置
US7475324B2 (en) Encoding apparatus for storing data to disk
US20040163026A1 (en) Optical recording method
JP4066289B2 (ja) 情報記録方法
KR100784740B1 (ko) 에러 검출 코드 산출 회로, 에러 검출 코드 산출 방법, 및 레코딩 장치
JP3969399B2 (ja) 記録方法及び記録装置
US7334180B2 (en) Optical encoding method
JP3384402B2 (ja) 情報再生方法及び情報再生装置
JP2005056464A (ja) 記録媒体、記録装置及び再生装置、記録方法及び再生方法、並びに、記録処理プログラム及び再生処理プログラム
JP3384325B2 (ja) 情報記録方法及び再生方法
JP2002222524A (ja) 光ディスク装置および光ディスク装置用データランダム化方法
JP2004281043A (ja) 情報信号処理方法
US20110022929A1 (en) Error correcting apparatus, method of controlling memory of error correcting apparatus, and optical disc recording/reproducing apparatus
KR20030073532A (ko) 이중 피오 신드롬 연산장치 및 방법
JP2005056465A (ja) 記録媒体、記録装置、記録方法、および、記録プログラム
JP2008010064A (ja) データ符号化回路、データ記録装置およびpi/po演算処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101026

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101028

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4620541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350