説明

エラー訂正装置、エラー訂正装置のメモリの制御方法および光ディスク記録再生装置

【課題】エラー訂正時に使用されるメモリ容量の増大を低減させる。
【解決手段】エラー訂正装置(35)は、メモリ(351)と、エラー訂正部(357)とを有する。メモリは、格納済みの第1ブロックデータが有する複数のフレームデータを行方向に順次読み出し、読み出しに連動して読み出し後の空き領域に第2ブロックデータが有する複数のフレームデータを行方向に順次格納する第1動作と、第1動作で格納した第2ブロックデータが有する複数のフレームデータを列方向に順次読み出し、読み出しに連動して読み出し後の空き領域に第1ブロックデータが有する複数のフレームデータを前記列方向に順次格納する第2動作とを交互に行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データのエラー訂正を行うエラー訂正装置、エラー訂正装置のメモリの制御方法およびエラー訂正装置を有する光ディスク記録再生装置に関するものである。
【背景技術】
【0002】
例えば、ブルーレイディスク(Blu-ray Disc:登録商標、「BD」という)に代表されるように、25GB(「B」は「バイト」を示す)を越える大容量のデータを記録可能な光ディスク、および、その記録再生装置が市場に流通している。
【0003】
特に、BDには大容量のデータが高密度に記録されるため、バーストエラー等が発生しやすい。このため、BDでは、エラー訂正符号(ECC:Error Correcting Code)として、LDC(Long Distance Code)およびBIS(Burst Indicator Subcode)が使用される。これらの符号により、より強力なエラー訂正が可能となる(特許文献1参照)。
【0004】
ところで、エラー訂正時には、エラー訂正すべきデータがメモリに一旦格納(書き込み)され、エラー訂正後に、エラー訂正されたデータがメモリに再び格納される。このとき、LDCブロックデータに対しては、同じ記憶容量を持つ2個のメモリを使用し、2個のメモリを互いに切り替えながら、エラー訂正を行うのが一般的である(特許文献2,3参照)。
【0005】
基本的に、一方のメモリが、1個のLDCブロックデータを格納している間に、他方のメモリは、格納済みのLDCブロックデータを読み出す。なお、BISブロックデータは、そのデータ量がLDCブロックデータ量よりも小さいため、上記2個のメモリとは異なる1個のメモリに格納される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−12202号公報
【特許文献2】特開2006−190346号公報
【特許文献3】特開2007−59001号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
テレビジョン放送やデジタルビデオカメラ等の高画質化に伴い、光ディスクの記録容量の向上が望まれている。こうした要望に併せて、BDの物理的規格、ファイル規格およびアプリケーション規格が改良されており、1個のLDCブロックデータ量は、このような規格が世代を追うごとに増大する。したがって、エラー訂正時に使用されるメモリ容量も増大する。
【0008】
近年、コストの観点から、低メモリ容量のメモリを使用してエラー訂正が可能な、エラー訂正装置、エラー訂正装置のメモリの制御方法および光ディスク記録再生装置の開発が望まれている。
【0009】
本発明は、低メモリ容量のメモリを使用してエラー訂正が可能な、エラー訂正装置、エラー訂正装置のメモリの制御方法および光ディスク記録再生装置を提供することにある。
【課題を解決するための手段】
【0010】
本発明のエラー訂正装置は、所定長のデータを一単位とするフレームデータを複数有する第1ブロックデータの格納領域の少なくとも一部を使用しながら時間差をおいて第2ブロックデータを格納するメモリと、前記メモリから読み出しされた前記第1ブロックデータと前記第2ブロックデータとにエラー訂正を各々施すエラー訂正部とを有し、前記メモリは、格納済みの前記第1ブロックデータが有する複数のフレームデータを行方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第2ブロックデータが有する複数のフレームデータを前記行方向に順次格納する第1動作と、前記第1動作で格納した前記第2ブロックデータが有する前記複数のフレームデータを列方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第1ブロックデータが有する前記複数のフレームデータを前記列方向に順次格納する第2動作とを交互に行う。
【0011】
本発明のエラー訂正装置のメモリの制御方法は、所定長のデータを一単位とするフレームデータを複数有する第1ブロックデータの格納領域の少なくとも一部を使用しながら時間差をおいて第2ブロックデータを格納するメモリを有し、前記メモリから読み出しされた前記第1ブロックデータと前記第2ブロックデータとにエラー訂正を各々施すエラー訂正装置のメモリの制御方法であり、格納済みの前記第1ブロックデータが有する複数のフレームデータを行方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第2ブロックデータが有する複数のフレームデータを前記行方向に順次格納する工程と、格納済みの前記第2ブロックデータが有する前記複数のフレームデータを列方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第1ブロックデータが有する前記複数のフレームデータを前記列方向に順次格納する工程とを有する。
【0012】
本発明の光ディスク記録再生装置は、定め規定された波長の光を用いて、光ディスクにデータを記録し、前記光ディスクからデータを読み出す光ピックアップ部と、前記光ディスクに記録すべきデータと、前記光ピックアップ部によって読み出しされた再生すべきデータとにエラー訂正を各々施すエラー訂正装置と、前記エラー訂正装置によってエラー訂正された前記記録すべきデータを符号化する記録系と、前記エラー訂正装置による前記エラー訂正前に前記再生すべきデータを復号化する再生系とを有し、前記エラー訂正装置は、所定長のデータを一単位とするフレームデータを複数有する第1ブロックデータの格納領域の少なくとも一部を使用しながら時間差をおいて第2ブロックデータを格納するメモリと、前記メモリから読み出しされた前記第1ブロックデータと前記第2ブロックデータとにエラー訂正を各々施すエラー訂正部とを有し、前記メモリは、格納済みの前記第1ブロックデータが有する複数のフレームデータを行方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第2ブロックデータが有する複数のフレームデータを前記行方向に順次格納する第1動作と、前記第1動作で格納した前記第2ブロックデータが有する前記複数のフレームデータを列方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第1ブロックデータが有する前記複数のフレームデータを前記列方向に順次格納する第2動作とを交互に行う。
【0013】
本発明のエラー訂正装置によれば、メモリは、格納済みの第1ブロックデータが有する複数のフレームデータを行方向に順次読み出し、読み出しに連動して読み出し後の空き領域に第2ブロックデータが有する複数のフレームデータを行方向に順次格納する第1動作と、第1動作で格納した第2ブロックデータが有する複数のフレームデータを列方向に順次読み出し、読み出しに連動して読み出し後の空き領域に第1ブロックデータが有する前記複数のフレームデータを列方向に順次格納する第2動作とを交互に行う。
一方、エラー訂正部は、メモリから読み出しされた第1ブロックデータと第2ブロックデータとにエラー訂正を各々施す。
【発明の効果】
【0014】
本発明によれば、低メモリ容量のメモリを使用してエラー訂正を行うことができる。
【図面の簡単な説明】
【0015】
【図1】図1は、本発明の実施形態に係る光ディスク記録再生装置の構成例を示すブロック図である。
【図2】図2は、LDCブロックデータの構造を示す模式図である。
【図3】図3は、BISブロックデータの構造を示す模式図である。
【図4】図4は、ECCブロックデータの構造を示す模式図である。
【図5】図5は、図4に図示するフレームデータを示す模式図である。
【図6】図6は、本発明の実施形態に係るエラー訂正回路の構成例を示すブロック図である。
【図7】図7は、フレームデータの一例を示す模式図である。
【図8】図8(A)〜(C)は、本発明の実施形態に係る内部フレームデータおよびエラー訂正データの定義を示す図である。
【図9】図9は、本発明の実施形態に係るデータメモリにおける格納領域の構成例を示す模式図である。
【図10】図10は、図9に図示する第1格納領域ARE1を示すための模式図である。
【図11】図11(A)、(B)は、図10に図示する第1格納領域ARE1にLDCブロックデータが格納された場合を示す模式図である。
【図12】図12は、図9に図示する第2格納領域ARE2を示すための模式図である。
【図13】図13(A)、(B)は、図12に図示する第2格納領域ARE2にフレームデータfrmが列方向に格納された場合を示す模式図である。
【図14】図14は、本発明の実施形態に係るポインタメモリの格納領域を示す模式図である。
【図15】本発明の実施形態に係るエラー訂正のタイミングチャートである。
【図16】図16(A)〜(D)は、本発明の実施形態に係るデータメモリの制御方法を説明するための模式図である。
【図17】図17(E)〜(H)は、図16(D)に続く模式図である。
【図18】図18(I)〜(L)は、図17(H)に続く模式図である。
【図19】図19(M)〜(P)は、図18(L)に続く模式図である。
【図20】図20は、本発明の実施形態に係るデータメモリに対する内部フレームデータの格納およびエラー訂正データの読み出しを説明するためのフローチャートである。
【図21】図21は、一般的なエラー訂正装置のメモリの構成例を示す模式図である。
【図22】図22(A)は、本発明の実施形態に係るデータメモリの一状態を示す模式図である。図22(B)は、本発明の実施形態に係るポインタメモリの一状態を示す模式図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面に関連付けて説明する。なお、説明は以下の順序で行う。
1.光ディスク記録再生装置1の構成例
2.エラー訂正回路35の構成例
3.エラー訂正回路35の動作例
【0017】
本発明の実施形態を説明する前に、本発明の構成要素と本実施形態の構成要素との対応関係を述べる。
本発明のエラー訂正装置は、エラー訂正回路35に対応する。本発明のメモリは、データメモリ351に対応する。
本発明のポインタ保持部は、ポインタメモリ354に対応する。本発明のポインタ発生部は、第1アドレス回路352に対応する。本発明のアドレス指定部は、第2アドレス回路353および第4アドレス回路356に対応する。本発明のメモリアドレス指定部は、第1アドレス回路352および第3アドレス回路355に対応する。
本発明の第1ブロックデータは、例えば、k(=1,2,…)番目のLDCブロックデータに対応する。本発明の第2ブロックデータは、例えば、(k+1)番目のLDCブロックデータに対応する。
【0018】
〈1.実施形態〉
[1.光ディスク記録再生装置1の構成例]
先ず、本発明の実施形態に係る光ディスク記録再生装置の全体構造について説明する。
図1は、本発明の実施形態に係る光ディスク記録再生装置の構成例を示すブロック図である。図1には、光ディスク記録再生装置の主要部のみが概略的に図示されている。
【0019】
光ディスク記録再生装置1は、光ピックアップ部(PICUP)2、信号処理部(SPRO)3、および、メモリ4を有する。本実施形態では、光ディスク記録再生装置1が、後述するホスト機器5を有するものとしてもよい。
上記の信号処理部3は、DSP回路(DSP:Digital Signal Processing)31、ウォブル回路(WOB)32、サーボ回路(SVO)33、復調回路(DCD)34、エラー訂正回路(ECC)35、変調回路(DEC)36、ライトストラテジ回路(WSTR)37およびホストI/F回路(I/F)38を有する。
【0020】
以下の説明では、光ディスクDの一例にBDを挙げ、光ディスク記録再生装置1の一例にBDの記録再生装置を挙げる。この例では、光ディスク記録再生装置1は、BD規格で定められた映像データおよび音声データを取り扱うことができる。
映像データのコーディックには、例えば、MPEG(Moving Picture Experts Group)−2、MPEG−4 AVC(MPEG-4 Part 10 Advanced Video Coding)/H.264が対応している。音声データのコーディックには、例えば、LPCM(Linear Pulse Code Modulation)、Dolby Digital(登録商標)が対応している。光ディスク記録再生装置1は、著作権を保護するためのAACS(Advanced Access Content System)にも対応している。
【0021】
光ディスク記録再生装置1の主な機能について説明する。第1に、光ディスク記録再生装置1は、記録媒体としての光ディスクDにデータ(「ユーザーデータ」ともいう)を記録(「書き込み」ともいう)する機能を有する。第2に、光ディスク記録再生装置1は、光ディスクDからデータを読み出して、これを再生する機能を有する。第3に、光ディスク記録再生装置1は、エラー訂正回路35を用いて、データのエラー訂正を行う機能を有する。
エラー訂正では、後述する、エラー訂正符号化(「ECC符号化」という)およびエラー訂正復号化(「ECC復号化」という)が行われる。なお、光ディスク記録再生装置1では、データが64kB単位で処理される。
【0022】
[1.1.光ディスクD]
光ディスクDは、ROM(Read Only Memory)型、追記(Recordable)型および書き換え(Rewritable)型のいずれかに対応している。
【0023】
ROM型光ディスクDには、予めデータが記録されている。その基板上には、複数のピット(pit、不図示)が形成されている。これらのピットは、映像データおよび音声データとしての役割を果たす。円周方向の最小ピット長は、0.149μmであり、トラックピッチは、0.32μmである。
これに対し、追記型光ディスクDは、レーザ光Lの照射によって結晶相−アモルファス相間で生じる相変化の利用により、イングルーブ(in-groove)またはオングルーブ(on-groove)でデータの書き込みが可能である。その基盤上には、らせん状の連続したグルーブ(groove、不図示)が形成されている。グルーブは、光ディスクD上のトラック位置を識別するためのアドレスを記録するため、ウォブル(wobble)変調されている。ウォブル変調は、MSK(Minimum Shift Keying)変調とSTW(Saw Tooth Wobble)変調とを組み合わせたものである。
書き換え型光ディスクDは、基本的に、追記型光ディスクDと同様の構成を有するが、データの書き込みおよび消去が複数回可能である。
【0024】
光ディスクDは、モーター等を有する駆動部(不図示)の駆動制御により、トラッキングやフォーカスが制御されながら、線速度一定(CLV:Constant Linear Velocity)または角速度一定(CAV:Constant Angular Velocity)で回転する。
光ディスク記録再生装置1では、どの型の光ディスクDを使用してもよいが、説明の簡略化のため、追記型または書き換え型光ディスクDが使用されるものと仮定する。
【0025】
[1.2.光ピックアップ部2]
再生時に、光ピックアップ部2は、光ディスクDに記録されたデータを光信号として読み出し、これをアナログデータとしての電気信号に変換する機能を有する。
詳細には、光ピックアップ部2は、光ディスクDに対向した位置に配置され、光ディスクDの半径方向に移動可能である。光ピックアップ部2は、サーボ回路33から入力されたサーボ信号S4により、フォーカス制御およびトラッキング制御を行いながら、波長405nm程度のレーザ光Lを光ディスクDの記録面に照射し、データを読み出す。このとき、光ピックアップ部2は、フォトダイオードIC(「PDIC」という、不図示)に入射した光(反射光)の強度の変化を電気信号として読み取る。そして、光ピックアップ部2は、この電気信号をRF信号(再生信号)S1としてDSP回路31に出力する。
一方で、光ピックアップ部2は、ウォブルによって生成される信号をPDICを用いて検出し、これをウォブル信号S2としてウォブル回路32に出力する。
更に、光ピックアップ部2は、トラッキングエラー信号およびフォーカスエラー信号をPDICを用いて検出し、これらをエラー信号S3としてサーボ回路33に出力する。
【0026】
記録時に、光ピックアップ部2は、信号処理部3から入力された電気信号を光信号に変換し、これをデータとして光ディスクDに記録する機能を有する。
詳細には、光ピックアップ部2は、ライトストラテジ回路37から入力されたライトストラテジ信号S5により、レーザ光Lの照射強度の制御、レーザ光Lのパルス波形の制御等を行いながら、レーザ光Lを光信号として光ディスクDの記録面に照射する。再生時と同様に、光ピックアップ部2は、上記のサーボ信号S4により、フォーカス制御およびトラッキング制御も行う。このとき、光ピックアップ部2は、ユーザーデータに定められた光ディスクD上のアドレスへ、光ヘッドを移動させる。これにより、光ディスクD上の指定されたアドレスに複数のマーク(ピット)が形成され、ユーザーデータの書き込みが行われる。
【0027】
信号処理部3は、主に、駆動制御系、再生系および記録系を有する。ここでは、信号処理部3の概要をこれらの系ごとに説明する。
【0028】
[1.3.駆動制御系]
駆動制御系は、ウォブル回路32およびサーボ回路33で構成されている。実質的には、駆動制御系にライトストラテジ回路37が含まれるものと見なすこともできる。
ウォブル回路32は、光ピックアップ部2から入力されたウォブル信号S2をA/D(Analogue/Digital)変換する。このウォブル信号S2は、ウォブル変調されているため、ウォブル回路32は、この信号をMSKとSTWと用いて復調する。そして、ウォブル回路32は、復調したウォブル信号S2を基に、光ディスクD上のアドレスに関するアドレスデータS6を生成し、これをDSP回路31に出力する。
更に、ウォブル回路32は、ウォブル信号S2を基に、PLL(Phase Locked Loop、不図示)回路等を用いてクロック信号S7を生成し、これをサーボ回路33に出力する。クロック信号S7は、ウォブル信号S2が基準クロック信号に同期して、光ディスクDを線速度一定または角速度一定で回転させるための信号である。
【0029】
サーボ回路33は、基本的には、光ピックアップ部2の駆動制御および光ディスクDの回転制御を行う。
詳細には、サーボ回路33は、エラー信号S3およびクロック信号S7を基にサーボ信号S4を生成し、これを光ピックアップ部2に出力する。サーボ信号S4は、フォーカス制御およびトラッキング制御を行うための信号である。
この他、サーボ回路33は、例えば、ホスト機器5からの制御命令に基づいて、光ディスクDを回転させるモータ(不図示)に、その回転の開始あるいはその回転の停止を指示する信号を出力する。
【0030】
[1.4.再生系]
再生系は、DSP回路31、復調回路34およびエラー訂正回路35で構成されている。
DSP回路31は、光ピックアップ部2から入力されたRF信号S1を増幅し、これをA/D変換する。そして、DSP回路31は、デジタル化したRF信号S1に、例えば、PRML(Partial Response Maximum Likelihood)のイコライジング処理を施して、「0」または「1」の2値で表現される2値データ(「データビット列」ともいう)を生成する。更に、DSP回路31は、この2値データにウォブル回路32から入力されたアドレスデータS6を付加し、これを新たな2値データS8として復調回路34に出力する。
【0031】
復調回路34は、例えば、ビタビアルゴリズム(viterbi algorithm)を用いて、DSP回路31から入力された2値データS8をビタビ復号し、これを再生データS9としてエラー訂正回路35に出力する。なお、この再生データS9は、映像データおよび音声データとしての2値データと、ウォブル回路32によるアドレスデータとを含む2値データである。
【0032】
エラー訂正回路35は、再生時に、復調回路34から入力された再生データS9をECC復号化する。このとき、エラー訂正回路35は、再生データS9に付加されているパリティを用いた論理演算と、デインターリーブ処理とを行い、再生データS9に含まれるエラーを訂正する。その後、エラー訂正回路35は、エラー訂正された再生データS9をホストI/F回路38に出力する。なお、エラー訂正回路35が、エラー訂正された再生データS9をメモリ4に出力してもよい。
【0033】
[1.5.記録系]
記録系は、エラー訂正回路35、変調回路36およびライトストラテジ回路37で構成されている。
エラー訂正回路35は、記録時に、光ディスクDに記録すべき元のデータ(「ユーザーデータ」ともいう)がホストI/F回路38またはメモリ4から入力されると、このデータのECC符号化と、インターリーブ処理とを行う。その後、エラー訂正回路35は、ECC符号化したデータを記録データS10として変調回路36に出力する。
【0034】
変調回路36は、例えば、エラー訂正回路35から入力された記録データS10を1−7PP(Parity preserve/Prohibit repeated minimum transition length)変調し、これを変調信号S11としてライトストラテジ回路37に出力する。
【0035】
ライトストラテジ回路37は、変調回路36から入力された変調信号S11を光ディスクDにデータとして記録するため、レーザ光Lの変調波形を調整する。
具体的には、ライトストラテジ回路37は、記録補償として、レーザ光Lの照射強度、レーザ光Lのパルス波形のデータを変調信号S11に基づいて生成し、これをライトストラテジ信号S5として光ピックアップ部2に出力する。
【0036】
メモリ4は、信号処理部3の信号処理にて使用されるデータ等、種々のデータを格納可能である。メモリ4、エラー訂正回路35およびホストI/F回路38間のデータの授受は、内部バスBUSを用いて行われる。
【0037】
ホスト機器5は、例えば、パーソナルコンピュータ(Personal Computer:「PC」という)やデジタルビデオカメラである。
例えば、PCがホストI/F回路38に接続された場合には、PCから信号処理部3に制御命令が与えられ、PCにてエラー訂正された再生データS9に画像処理あるいは音声処理が施される。例えば、デジタルビデオカメラがホストI/F回路38に接続された場合も、PCの場合と同様である。
【0038】
[LDCブロックデータ]
記録系では、ユーザーデータにパリティを付加するECC符号化がエラー訂正回路35によって行われる。このとき、LDCブロックデータおよびBISブロックデータが作成され、両者を基にECCブロックデータが作成される。
先ず、LDCブロックデータを図2に関連づけて説明し、BISブロックデータを図3に関連づけて説明する。その後、ECCブロックデータを図4に関連づけて説明する。
【0039】
図2は、LDCブロックデータの構造を示す模式図である。詳細には、2048Bを1セクタ(sector)とする(ユーザー)データに、4BのEDC(Error Detection Code)が付加される。即ち、2052BのEDC付加データが作成される。1セクタに対するEDCの付加は、32セクタ(=64kB)分行われる。この32セクタのデータを「LDCデータ」という。
そして、EDCが付加された32セクタ分のデータを符号化(「LDC符号化」という)することにより、図2に図示する1個のLDCブロックデータが作成される。図2に図示すように、LDCブロックデータは、248B×304列(=65664B)のブロックで構成されており、216Bのデータごとに32Bのパリティ(LDC)が付加されている。
【0040】
適宜、この216Bのデータを「データ符号」と呼び、32Bのパリティを「パリティ符号」と呼ぶ。パリティが付加された248Bのデータを「符号語」と呼ぶ。符号語の最小単位、即ち、1バイトを「符号(シンボル)」とも呼ぶ。BISブロックデータおよびECCブロックデータもこれと同様に、前述の表現が用いられる。
【0041】
なお、LDC符号化の場合には、RS(248,216,33)のリードソロモン(Reed Solomon)符号が使用される。LDC符号化では、符号語は248Bであり、データ符号は216Bであり、最小符号間距離は33である。
なお、光ディスクDへのデータの記録方向は、図2の矢印AXに示す方向である。エラー訂正方向、換言すれば、エラー訂正回路35内部のメモリ(図6に示すデータメモリ351)へのデータの格納(読み出し)方向は、図2の矢印AYに示す方向である。
【0042】
[BISブロックデータ]
図3は、BISブロックデータの構造を示す模式図である。詳細には、制御データにアドレスデータが付加され、30Bのデータ符号が作成される。このアドレスデータは、例えば、ウォブルがないROM型光ディスクを使用する場合に、制御データに付加されるものである。そして、30B×24(=720B)のデータ(「BISデータ」という)を符号化(「BIS符号化」という)することにより、図3に図示する1個のBISブロックデータが作成される。
図3に図示するように、BISブロックデータは、62B×24(=1488B)のブロックで構成されており、30Bのデータ符号ごとに32Bのパリティ(BIS)が付加されている。
なお、BIS符号化の場合には、RS(62,30,33)のリードソロモン符号が使用される。BIS符号化では、符号語は62Bであり、データ符号は30Bであり、最小符号間距離は33である。
【0043】
[ECCブロックデータ]
図4は、ECCブロックデータの構造を示す模式図である。LDCブロックデータおよびBISブロックデータは、各々インターリーブされ、図4に図示する1個のECCブロックデータが作成される。ECCブロックデータは、155B×496フレームで構成されている。
フレームシンクは、各フレームデータの先頭を表す同期データである。フレームシンクに含まれるシンクIDの組み合わせとBISデータに含まれるAUN(Address Unit Number)よりECCブロックデータ内のフレーム番号を検出できる。
ここで、フレーム番号lのフレームデータを「フレームデータF(l)」と表す。ただし、l=1〜496である。
フレームデータF(1)〜(432)は、LDCデータおよびBISデータを含む行である。フレームデータF(433)〜(496)は、LDCおよびBISブロックデータのパリティである。
【0044】
図5は、図4に図示するフレームデータを示す模式図である。図5に図示するように、例えば、フレームデータF(1)は、フレームシンクの後に、LDCデータ、BISデータ、LDCデータ、BISデータ、LDCデータ、BISデータ、LDCデータが順に並んでいる。即ち、38BのLDCデータ4個と1BのBISデータ3個とによって、155Bの物理クラスタが構成される。
【0045】
なお、図2〜図4に図示する各ブロックデータは、メモリに格納される際のイメージを表したものである。各ブロックデータの作成は、例えば、メモリ4を用いて行われる。不図示ではあるが、エラー訂正回路35内部のメモリを用いて各ブロックデータを作成してもよい。ユーザーデータを基にECCブロックデータが作成され、これが図1に図示する記録データS10となる。最終的に、ユーザーデータは、ライトストラテジ信号S5として光ディスクDに記録される。
【0046】
[2.エラー訂正回路35の構成]
一方、再生系では、光ディスクDから読み出したECCブロックデータが図1に図示する再生データS9としてエラー訂正回路35に入力される。すると、エラー訂正回路35は、LDCブロックデータおよびBISブロックデータを抽出し、両者をデインターリーブしながら、データメモリ351に格納する。その後、エラー訂正回路35は、両者のパリティを用いて、ユーザーデータのエラー訂正を行う。
【0047】
以下、再生系のエラー訂正回路35の構成を図6に関連づけて説明する。ただし、以下の説明では、LDCブロックデータおよびBISブロックデータの抽出が完了しているものと仮定する。
【0048】
図6は、本発明の実施形態に係るエラー訂正回路の構成例を示すブロック図である。実線の矢印は、データバスおよびデータの流れを表す。破線の矢印は、アドレスバスおよびアドレスの流れを表す。ただし、図6には、再生系におけるLDCブロックデータの処理系のみが図示されている。
【0049】
エラー訂正回路35の概要について述べる。図6に図示するように、エラー訂正回路35は、データメモリ(DATAMEM)351、第1アドレス回路(ADDGEN1)352、第2アドレス回路(ADDGEN2)353、ポインタメモリ(POINTMEM)354、第3アドレス回路(ADDGEN3)355、第4アドレス回路(ADDGEN4)356およびエラー訂正部(ECC)357を有する。
【0050】
エラー訂正回路35は、再生データS9としてのECCブロックデータからLDCブロックデータを抽出した後、これをデータメモリ351に一旦格納(「バッファリング」ともいう)してから、エラー訂正部357にて、データのエラー訂正を行う。ここで言うデータは、LDCデータ(図2参照)およびBISデータ(図3参照)を指す。なお、エラー訂正回路35は、抽出したBISブロックデータも一旦バッファリングするが、BISブロックデータは、不図示のメモリに格納される。
【0051】
ところで、「フレーム(データ)」とは、一般に、複数のビットデータの集合を一塊とするブロックを指す。取り分けECCブロックデータにおいては、「フレーム(データ)」とは、図4および図5に図示するように、シンクロデータ、4個のLDCデータおよび3個のBISデータで構成されたデータを指す。
【0052】
本実施形態では、所定長のビットデータの集合を下記のように定義する。詳細には、エラー訂正回路35がデインターリーブを行う際に、BD規格で定められたレコーディングフレーム(Recoding frame)が作成される。なお、1個のレコーディングフレームは、155Bであり、1RUB(Recording Unit Block:記録ユニットブロック)分のレコーディングフレームでLDCブロックデータおよびBISブロックデータを有するECCブロックデータが構成される。そして、このレコーディングフレームからLDCブロックデータが抽出され、図7に図示する152Bのブロックが496個作成される。ここでは、152Bのブロックも「フレームデータ」と呼び、これをフレームデータframe(i)のようにも記述する。ただし、i=0,1,…,495である。
【0053】
図8(A)〜(C)は、本発明の実施形態に係る内部フレームデータおよびエラー訂正データの定義を示す図である。496個のフレームデータframeは、図8(A)に図示するように配列される。具体的には、各行には、偶数番目(i=0,2,…)と奇数番目(i=1,3,…)とのフレームデータframeが2個配列され、248×304Bのブロックデータが作成される。このブロックデータも単に「LDCブロックデータ」と呼ぶ。
【0054】
本実施形態では、図8(B)に図示するように、各行の偶数番目と奇数番目とのフレームデータframeが1個のデータとして取り扱われる。このフレームデータframe2個分のデータを「内部フレームデータ」と呼び、適宜、これを「内部フレームデータfrm(n)」のようにも表記する。ただし、n=1,2,…,nmax(=248)である。
図8(B)に図示するLDCブロックデータは、データメモリ351に格納されるが、217〜248行目の内部フレームデータfrm(217)〜(248)はパリティに相当する。このため、このLDCブロックデータを読み出す際には、図8(C)に図示するように、1列の248Bのデータが一塊として列方向に読み出しされる。
このため、図8(C)に図示する各列248Bのデータを「エラー訂正データ」と呼び、適宜、「エラー訂正データECC(n)」のように表記する。この場合、n=1,2,…,nmax(=304)である。
内部フレームデータとエラー訂正データとを区別する必要が無い場合には、両者を単にフレームデータとも呼ぶ。
【0055】
データメモリ351は、メモリのアクセス速度を考慮し、望ましくはSRAM(Static RAM)である。その記憶容量は、1個のLDCブロックデータと、これを構成する所定数のフレームデータを記憶可能な容量である。換言すれば、データメモリ351は、1個のLDCブロックデータを格納する主格納領域と、所定数の符号語を格納する冗長格納領域とを有する。
【0056】
データメモリ351は、バッファリングの際、1個のLDCブロックデータを一度に格納するのではなく、フレームデータframe(図7参照)が2個分の内部フレームデータ単位で格納する。データメモリ351は、再生データS9としてのECCブロックデータから抽出されたエラー訂正すべきLDCブロックデータと、エラー訂正部357によってエラー訂正されたフレームデータとを格納する。
データメモリ351は、エラー訂正すべきLDCブロックデータを格納した場合には、これを読み出してエラー訂正部357に出力し、エラー訂正されたLDCブロックデータを格納した場合には、これをメモリ4へ出力する。
【0057】
ただし、データメモリ351は、1個のメモリで効率よくLDCブロックデータのバッファリングを行うべく、格納済みのLDCブロックデータの格納領域の少なくとも一部を使用しながら、次に入力されてくるLDCブロックデータを格納していく。
【0058】
第1アドレス回路352は、内部フレームデータまたはエラー訂正されたLDCブロックデータを格納すべきデータメモリ351のアドレスを指定し、これをアドレスデータAD1としてデータメモリ351に出力する。上記アドレスを指定する際には、第1アドレス回路352は、各内部フレームデータが、データメモリ351の行方向または列方向に連続して格納されるように、アドレス番号を1から順にインクリメントする。
更に、第2アドレス回路353は、フレーム番号nを用いてアドレスを指定し、第1アドレス回路352で生成した内部フレームデータのアドレスを示すポインタPをポインタメモリ354の指定アドレスに格納する。
【0059】
なお、ポインタPは、データメモリ351における内部フレームデータfrm(n)またはエラー訂正データECC(n)の格納場所を示すデータである。詳細については後述するが、内部フレームデータfrm(n)またはエラー訂正データECC(n)がデータメモリ351に格納される度に、ポインタPもポインタメモリ354に格納される。これにより、どの内部フレームデータを何処のアドレスに格納したかということを把握することができる。これは、バーストエラー等が発生しても、データメモリ351に対する内部フレームデータfrm(n)の格納およびエラー訂正データECC(n)の読み出しを的確に行うためである。
【0060】
第2アドレス回路353は、ポインタPを格納すべきポインタメモリ354のアドレスを指定し、これをアドレスデータPAD1としてポインタメモリ354に出力する。
フレーム番号nは、内部フレームデータfrm(n)に対応し、復調回路34でのシンクの検出とアドレスの検出とを行った際に取得される。フレーム番号nは、この番号の内部フレームデータfrm(n)がデータメモリ351に入力されるときに、この入力に連動してポインタメモリ354に入力される。
【0061】
ポインタメモリ354は、第2アドレス回路353から入力されたアドレスデータPAD1に従って、指定アドレスにポインタPを格納(保持)する。そして、ポインタメモリ354は、第4アドレス回路356から入力されたアドレスデータPAD2に従って、指定アドレスからポインタPを読み出す。
ポインタメモリ354には、例えば、SRAMが使用される。その記憶容量は、データメモリ351に格納される内部フレームデータ分のポインタPを格納可能な容量で十分であり、データメモリ351の記憶容量よりも遙かに小さい。
【0062】
第3アドレス回路355は、データメモリ351から読み出すべきアドレスを指定し、これをアドレスデータAD2としてデータメモリ351に出力する。このアドレスも、例えば、アドレス番号1から順にインクリメントして指定される。
更に、第3アドレス回路355は、第4アドレス回路356によって指定されたポインタメモリ354のアドレスからポインタPを読み出す。そして、第3アドレス回路355は、ポインタPに従ってエラー訂正データECC(n)をデータメモリ351から読み出す。
【0063】
第4アドレス回路356は、ポインタメモリ354のアドレスを指定し、これをアドレスデータPAD2としてポインタメモリ354に出力する。
【0064】
エラー訂正部357は、データメモリ351からLDCブロックデータを構成するエラー訂正データECC(n)を順次読み出し、これらのエラー訂正を行う。
詳細には、エラー訂正部357は、BISブロックデータをLDCブロックデータよりも先にエラー訂正し、ECCブロックデータ内でのエラー箇所を推定する。そして、エラー訂正部357は、エラー箇所のエラー値を基に、入力されたエラー訂正データECC(nのエラー訂正を行う。なお、BISブロックデータに対するエラー訂正方向は、図3に示す矢印AYの方向である。
エラー訂正後、エラー訂正部357は、エラー訂正を行ったエラー訂正データを再びデータメモリ351に格納する。なお、エラーのないエラー訂正データは、メモリ4に格納される。
【0065】
[2.1データメモリ351におけるメモリ領域の構造例]
データメモリ351におけるメモリ領域の構成例を図9に関連づけて説明する。図9は、本発明の実施形態に係るデータメモリにおける格納領域(メモリセルアレイ)の構成例を示す模式図である。
図9に図示するように、データメモリ351は、304×248BのLDCブロックデータを格納するに当たり、これのデータ容量よりも大きい、Xmax(列)×Ymax(行)バイトの記憶容量を持つ。
説明の容易化のため、本実施形態では、Xmax=Ymax=306Bであるものと仮定する。実際には、例えば、Xmax=Ymax=320B、即ち、320×320Bの記憶容量を持つメモリが好適に使用される。これは、先に述べた冗長格納領域を設けるためである。なお、LDCブロックデータの構造に併せて、X=304Bであり、Y=248Bである。
【0066】
maxおよびYmaxは、好適に選択可能であるが、1個のLDCブロックデータを格納可能な値、即ち、{Xmax、Ymax>X}かつ{Xmax、Ymax>Y}の関係を満たす値である。ただし、XmaxおよびYmaxは、データメモリ351の記憶容量が(304×248B)×2以下となる値である。
それは、その記憶容量が(304×248B)×2以上の場合、換言すれば、LDCブロックデータ2個分のデータ容量を越えたメモリを使用した場合、本実施形態が一般的なエラー訂正装置と同様のものとなるためである。
【0067】
データメモリ351は、第1格納領域ARE1と第2格納領域ARE2とを有する。第1格納領域ARE1は、図中の点ABCDで囲まれる領域であり、その大きさ(記憶容量)は、X(列)×Y(行)バイトである。第2格納領域ARE2は、図中の点EFGHで囲まれる領域であり、その大きさは、Y(列)×X(行)バイトである。
両者とも、その記憶容量は同一であり、例えば、304個のエラー訂正データを格納可能である。両者は、図中の点BIGJで囲まれる領域にて重なっており、この領域を「共有格納領域SARE」ともいう。
【0068】
図10は、図9に図示する第1格納領域ARE1を示すための模式図である。第1格納領域ARE1が主格納領域に相当する。図10に図示する第2格納領域ARE2に、1個のLDCブロックデータが格納された場合、点AJGICDで囲まれるL字型の領域が冗長格納領域に相当する。この場合の、冗長格納領域を斜線で図示する。冗長格納領域の記憶容量は、この領域に相当する記憶容量を持つが、実際に使用されるは、((Ymax−X)×X)Bである。1個の内部フレームデータが304Bであるならば、この冗長格納領域には、およそ2個の内部フレームデータを格納することができる。この冗長格納領域を使用することにより、納済みのLDCブロックデータを読み出しながら、他のLDCブロックデータを格納することができる。
【0069】
本実施形態では、1個のLDCブロックデータと所定数のフレームデータ(例えば、2個の内部フレームデータ)とをデータメモリ351に格納可能であればよい。したがって、第1格納領域ARE1に1個のLDCブロックデータが格納された場合、データメモリ351の格納領域のうち第1格納領域ARE1以外の格納領域を冗長格納領域と見なすこともできる。
【0070】
第1格納領域ARE1におけるLDCブロックデータの格納状態の一例を示す。図11(A),(B)は、図10に図示する第2格納領域ARE2にLDCブロックデータが格納された場合を示す模式図である。
図11(A)に図示するように、データメモリ351の格納領域において、1行からYmax行までのYアドレスにアドレス番号B、B、…、B、…、B、…、BYmaxが各々割り当てられている。
内部フレームデータfrmを第1格納領域ARE1に格納する場合には、このブロックデータを構成するnmax(=248)個の内部フレームデータfrmがB行から順に行方向に格納される。その結果、内部フレームデータfrm(1)〜(nmax)が、B〜B行に各々格納される。
詳細については後述するが、エラー訂正データを読み出す場合には、図11(B)に図示するように、1列のデータを一単位とするnmax(=304)個のエラー訂正データECC(1)〜(nmax)が列方向に順次読み出しされる。
【0071】
図12は、図9に図示する第2格納領域ARE2を示すための模式図である。第2格納領域ARE2が主格納領域に相当する。図12に示す第1格納領域ARE1に、k番目のLDCブロックデータが格納された場合、点EFIBJHで囲まれるL字型の領域が冗長格納領域に相当する。図10と同じく冗長格納領域を斜線で図示する。冗長格納領域の記憶容量は、この領域に相当する記憶容量を持つが、実際に使用されるのは、((Xmax−Y)×Y)Bである。1個の内部フレームデータが304Bであるならば、この冗長格納領域には、およそ2個のフレームデータを格納することができる。この冗長格納領域を使用することにより、納済みのLDCブロックデータを読み出しながら、他のLDCブロックデータを格納することができる。
【0072】
上述したように、1個のLDCブロックデータと所定数のフレームデータ(例えば、2個の内部フレームデータ)とをデータメモリ351に格納可能であればよい。したがって、第2格納領域ARE2に1個のLDCブロックデータが格納された場合、データメモリ351の格納領域のうち第2格納領域ARE2以外の格納領域を冗長格納領域と見なすこともできる。
【0073】
第2格納領域ARE2におけるLDCブロックデータの格納状態の一例を示す。図13(A)、(B)は、図12に図示する第2格納領域ARE2にLDCブロックデータが格納された場合を示す模式図である。
図13(A)に図示するように、データメモリ351の格納領域において、1列からXmax列までのXアドレスにアドレス番号A、A、…、A、…、A、…、AXmaxが各々割り当てられている。なお、これらのアドレス番号は、内部フレームデータfrm(1)が格納されているアドレス番号がAとなるように割り当てられているが、実際には、原点(例えば点D、図12参照)から行方向に割り当てられている。
内部フレームデータfrm(n)を第2格納領域ARE2に格納する場合には、このブロックデータを構成するnmax(=248)個の内部フレームデータfrm(n)がA列から順に、列方向に格納される。その結果、1個のLDCブロックデータを構成する内部フレームデータfrm(1)〜(nmax)が、A〜A列に各々格納される。
詳細については後述するが、図13(B)に図示するように、LDCブロックデータをエラー訂正部357に出力すべく、これを読み出す場合には、1行のデータを一単位とするnmax(=304)個のエラー訂正データECC(1)〜(nmax)が行方向に順次読み出しされる。
【0074】
[3.エラー訂正回路35の動作例]
先ず、LDCブロックデータの格納および読み出しに係るエラー訂正回路35の基本的な動作を図11(A)および図13(B)に関連づけて説明する。説明を明確にするため、図11(A)に図示する第1格納領域ARE1のみを用いて、LDCブロックデータの格納を行うものと仮定する。同様に、図13(A)に図示する第2格納領域ARE2のみを用いて、LDCブロックデータの読み出しを行うものと仮定する。
【0075】
[3.1.LDCブロックデータの格納方法]
LDCブロックデータの格納方法を以下に述べる。ただし、このLDCブロックデータは、図11(A)に図示する内部フレームデータであるものと仮定し、これをエラー訂正部357に入力する前に格納する場合を例に挙げる。
【0076】
ステップJ1:
先ず、内部フレームデータfrm(1)をB行に格納する。詳細には、第1アドレス回路352は、アドレス番号Bを指定し、これをアドレスデータAD1としてデータメモリ351に出力する(J11)。すると、データメモリ351は、アドレスデータD1を受け、内部フレームデータfrm(1)をB行に格納する(J12)。
一方で、第2アドレス回路353は、フレーム番号1が入力されると、ポインタメモリ354のアドレス番号Cを指定し、これをアドレスデータPAD1としてポインタメモリ354に出力する(J13)。このとき、第1アドレス回路352は、アドレス番号Bを示すポインタPをポインタメモリ354のアドレス番号Cに格納する(J14)。
【0077】
ステップJ2:
次に、内部フレームデータfrm(2)をB行に格納する。この場合も、ステップJ1と同様に、アドレス番号Bを指定することにより、内部フレームデータfrm(2)を格納する。
以下、ステップJ1、J2と同様にして、内部フレームデータfrm(3)〜(nmax)をB行からB行まで順に格納する。
【0078】
ここで、ポインタメモリ354へのポインタPの格納方法について説明する。図14は、本発明の実施形態に係るポインタメモリの格納領域を示す模式図である。
図14に図示するように、ポインタメモリ354は、内部フレームデータ分のポインタPを格納可能な容量、本実施形態の場合、少なくともXmax(=Ymax)Bの記憶容量を有する。この格納領域には、例えば、C、C、…、C、…、Cnmax、…、CYmax(CXmax)のアドレス番号が割り当てられている。
このアドレス番号は、第2アドレス回路353によって、CからCnmaxまたはCYmax(CXmax)まで順にインクリメントされる。そして、ポインタP、P、…、P、…、PnmaxまたはPYmax(PXmax)がアドレス番号順に格納される。
【0079】
[3.2.LDCブロックデータの読み出し方法]
LDCブロックデータの読み出し方法を以下に述べる。説明の簡略化のため、このLDCブロックデータは、図13(A)に図示するLDCブロックデータであるものと仮定し、内部フレームデータfrm(1)〜(nmax)を単純に列方向に読み出すものとする。実際には、第2格納領域ARE2に格納されたLDCブロックデータは、エラー訂正データECCとして行方向に読み出される。
【0080】
ステップR1:
先ず、内部フレームデータfrm(1)をA列から読み出す。詳細には、第3アドレス回路355は、アドレス番号Aを指定し、これをアドレスデータAD2としてデータメモリ351に出力する(R11)。
一方で、第4アドレス回路356は、ポインタメモリ354のアドレス番号Cを指定し、これをアドレスデータPAD2としてポインタメモリ354に出力する(R12)。
すると、第3アドレス回路355は、第4アドレス回路356によって指定されたポインタメモリ354のアドレス番号CからポインタPを読み出す(R13)。そして、第3アドレス回路355は、ポインタPに従って内部フレームデータfrm(1)をデータメモリ351から読み出す(R14)。
【0081】
ステップR2:
次に、内部フレームデータfrmをA列から読み出す。この場合も、ステップR1と同様に、アドレス番号Aを指定することにより、内部フレームデータfrm(2)を読み出す。
以下、同様にして、内部フレームデータfrm(3)〜(nmax)をA3列からアドレス順に読み出す。
【0082】
[3.3.エラー訂正(ECC復号化)のタイミング]
図15は、本発明の実施形態に係るエラー訂正のタイミングチャートである。図15には、k〜(k+2)番目のECCブロックデータにおけるエラー訂正のタイミングが時系列に図示されている。k番目のECCブロックデータからは、k番目のLDCブロックデータおよびBISブロックデータが作成される。
【0083】
ここでは、エラー訂正回路35に入力された(k+1)番目のECCブロックデータに着目して説明する。このECCブロックデータから得られた(k+1)番目のLDCブロックデータは、エラー訂正部357にてエラー訂正を行うべく、データメモリ351に格納される。
ところで、図15に図示するように、(k+1)番目のLDCブロックデータをデータメモリ351に格納する期間(時刻t1〜t3)において、時刻t1に開始されるBIS訂正処理に続いて、時刻t2に開始されるLDC訂正処理が行われる。ここで言う、BIS訂正処理では、k番目のBISブロックデータのエラー訂正が行われる。また、LDC訂正処理では、k番目のLDCブロックデータのエラー訂正が行われる。
【0084】
BIS訂正処理の期間(時刻t1〜t2)には、エラー訂正部357がBISブロックデータに対する処理を実行中なので、LDC訂正処理を同時に行うことができない。このため、データメモリ351には、既にエラー訂正すべきk番目のLDCブロックデータが格納済みであるが、これをエラー訂正部357に出力することができない。
ところが、データメモリ351には、冗長格納領域が設けられているため、BIS訂正処理の期間であっても、LDCブロックデータを構成するフレームデータ、具体的には、内部フレームデータをこの冗長格納領域に格納することができる。無論、冗長格納領域には、その記憶容量に見合うデータ量の内部フレームデータのみが格納される。
【0085】
BIS訂正処理の終了後、時刻t2においてLDC訂正処理が開始されると、データメモリ351は、格納済みのk番目のLDCブロックデータ、具体的には、エラー訂正データを読み出し、これをエラー訂正部357に出力する。この読み出しと共に、データメモリ351は、次々に入力される内部フレームデータをエラー訂正データの読み出し後に生じた空き領域に次々と格納していく。エラー訂正後のエラー訂正データは、データメモリ351に格納された後、メモリ4へ出力される。一方、エラーが無いエラー訂正データは、それにエラーが無いことが確認された後、メモリ4へ出力される。
【0086】
ただし、データメモリ351に対するエラー訂正データの読み出しと、内部フレームデータの格納とは排他的に行われるため、データメモリ351へのアクセスは断続的に行われる。
読み出しに当っては、(k+2)番目のECCブロックデータがエラー訂正回路35に入力されるまでに、データメモリ351に格納済みのLDCブロックデータ(エラー訂正データ)の読み出しを完了させる必要がある。それには、データメモリ351から読み出すべきデータ量を調整すればよく、データメモリ351のデータバス幅あるいはその動作周波数を調整すればよい。
【0087】
[3.4.データメモリ351の制御方法]
図15に図示するエラー訂正のタイミングを踏まえて、データメモリ351の制御方法を以下の図に関連づけて説明する。
図16(A)〜(D)は、本発明の実施形態に係るデータメモリの制御方法を説明するための模式図である。図17(E)〜(H)は、図16(D)に続く模式図である。図18(I)〜(L)は、図17(H)に続く模式図である。図18(I)〜(L)は、図17(H)に続く模式図である。図19(M)〜(P)は、図18(L)に続く模式図である。なお、図中の斜線部分は冗長格納領域を示す。
【0088】
[第1動作]
説明にあたって、図16(A)に図示する初期状態を仮定する。詳細には、第2格納領域ARE2に、k番目のLDCブロックデータが格納されているものと仮定する。この仮定の下では、このLDCブロックデータは、エラー訂正前のデータであり、第2格納領域ARE2に内部フレームデータfrm(1)〜(nmax=248)が列方向に各々格納されている(図13(A)参照)。以下、説明を明確にするため、一旦読み出しされたエラー訂正データECC(n)は、エラーが無いため、メモリ4に格納されるものと仮定する。また、冗長格納領域には、2個の内部フレームデータを格納するものと仮定する。
【0089】
(k−1)番目のBISブロックデータに対するBIS訂正処理後、第2格納領域ARE2に格納されたLDCブロックデータの読み出しを行うが、エラー訂正の際には、パリティが付加されたLDCデータをデータメモリ351から行方向に読み出す必要がある。そのため、この領域に格納されたデータは、図16(B)に図示するように、行方向のエラー訂正データECC(1)〜(nmax=304)として取り扱われる。
【0090】
ステップST1:
第2格納領域ARE2に、k番目のLDCブロックデータが格納された時点で、換言すれば、248個のk番目の内部フレームデータ(1)〜(nmax=248)が揃った時点で、BISブロックデータのエラー訂正が開始される(時刻t1:図15参照)。先に述べたように、(k−1)番目のBISブロックデータのエラー訂正中には、(k−1)番目のLDCブロックデータのエラー訂正を行うことができない(図15参照)。
しかしながら、BIS訂正処理の期間であっても、(k+1)番目のLDCブロックデータを構成する内部フレームデータfrm(1)が、データメモリ351に入力されてくる。なお、(k+1)番目のLDCブロックデータも、エラー訂正前のデータである。そのため、内部フレームデータfrm(1)をデータメモリ351に格納する必要がある。
【0091】
第1格納領域ARE1の一部と第2格納領域ARE2の一部とが重複していることから、データメモリ351に2個のLDCブロックデータを同時に格納することはできない。しかしながら、空きの冗長格納領域が存在するため、この冗長格納領域に、(k+1)番目のLDCブロックデータを構成する一部の内部フレームデータを格納することは可能である。具体的には、行方向としては、B行、B行に空き領域が存在するので、この2行に2個の内部フレームデータを格納することができる。
そこで、図16(C)に図示するように、内部フレームデータfrm(1)を第1格納領域ARE1のB行に格納する。このときも、先に述べたステップJ11と同様にして、内部フレームデータfrm(1)を格納すればよい。
【0092】
ステップST2:
内部フレームデータfrm(1)の格納終了後、(k−1)番目のBISブロックデータのエラー訂正中であっても、(k+1)番目のLDCブロックデータを構成する内部フレームデータfrm(2)がデータメモリ351に入力されてくる。
まだ冗長格納領域には空き領域が存在するため、図16(D)に図示するように、内部フレームデータfrm(2)を第1格納領域ARE1のB行に格納する。
【0093】
ステップST3:
BIS訂正処理後、データメモリ351への新たな内部フレームデータfrmの入力が停止しているときに、第2格納領域ARE2に格納されているk番目のLDCブロックデータの読み出しを開始する。先ず、図17(E)に図示するように、第2格納領域の先頭行、即ち、B行のエラー訂正データECC(1)を読み出す。先に述べたステップR11と同様にして、エラー訂正データECC(1)を読み出せばよい。
【0094】
ステップST4:
エラー訂正データECC(1)の読み出し終了後、(k+1)番目のLDCブロックデータを構成する内部フレームデータfrm(3)がデータメモリ351に入力されてくるまでは、k番目のLDCブロックデータの読み出しを続行する。即ち、図17(F)に図示するように、B行のエラー訂正データECC(2)を読み出す。
【0095】
ステップST5:
エラー訂正データECC(2)の読み出し中に、(k+1)番目のLDCブロックデータを構成する内部フレームデータfrm(3)がデータメモリ351に入力されてきたら、図17(G)に図示するように、エラー訂正データECC(2)の読み出しを一旦停止する。そして、B行に内部フレームデータfrm(3)を格納する。このように、内部フレームデータの格納を優先させる。
【0096】
ステップST6:
内部フレームデータfrm(3)の格納終了後、エラー訂正データECC(2)の読み出しを再開する。この読み出し後の状態を図17(H)に図示する。
【0097】
その後、ステップST4からステップST6の動作を繰り返し、第2格納領域ARE2に格納されている残りのエラー訂正データECC(3)〜(nmax=304)を読み出すと共に、第1格納領域ARE1に残りの内部フレームデータfrm(4)〜(nmax=248)を格納する。この段階の状態を図18(I)に図示する。
【0098】
以上、ステップST1〜ST6の動作を換言すれば、データメモリ351は、格納済みのk番目のエラー訂正されたLDCブロックデータが有するエラー訂正データECC(1)〜(nmax=304)を行方向に順次読み出す。これに連動し、データメモリ351は、読み出し後の空き領域に、(k+1)番目のLDCブロックデータが有する内部フレームデータfrm(1)〜(nmax=304)を行方向に順次格納する。ここで、ステップST1〜ST6の動作を「第1動作」という。
【0099】
[第2動作]
エラー訂正回路35に入力されたフレーム番号nを用いれば、図18(I)に図示するように、第1格納領域ARE1に、(k+1)番目のLDCブロックデータの格納が完了したことを知ることができる。即ち、第1動作の完了を把握することができる。エラー訂正回路35が第1動作の完了を把握した後、データメモリ351は、このLDCブロックデータを読み出ししながら、新たな(k+2)番目のLDCブロックデータを格納していく。
【0100】
ところで、第1格納領域ARE1のLDCブロックデータをエラー訂正するためには、LDCデータにパリティが付加された状態でデータを読み出す必要がある。図20(I)を参照すれば、パリティは、下位のフレーム番号217〜248をもつ内部フレームデータに相当する。
そこで、このLDCブロックデータを読み出す場合には、データがエラー訂正データECC(1)〜nmax(=304)として、列方向に読み出しされる。このため、図18(J)に図示するように、列方向にフレーム番号が割り当てられる。
【0101】
ステップST7:
図18(J)に図示する状態では、第2格納領域ARE2の冗長格納領域にしか空き領域が存在しない。ただし、この状態で内部フレームデータfrmを列方向に格納可能なのは、A列、A列の空き領域だけである。
そこで、図18(K)に図示するように、内部フレームデータfrm(1)を第2格納領域ARE2のA列に格納する。
【0102】
ステップST8:
内部フレームデータfrm(1)の格納終了後、k番目のBISブロックデータのエラー訂正中であっても、(k+2)番目のLDCブロックデータを構成する内部フレームデータfrm(2)がデータメモリ351に入力されてくる。
まだ冗長格納領域には空き領域が存在するため、図18(L)に図示するように、内部フレームデータfrm(2)を第2格納領域ARE2のA行に格納する。
【0103】
ステップST9:
BIS訂正処理後、データメモリ351への新たな内部フレームデータfrmの入力が停止しているときに、第2格納領域ARE2に格納されている(k+1)番目のLDCブロックデータの読み出しを開始する。先ず、図19(M)に図示するように、第1格納領域の先頭行、即ち、A行のエラー訂正データECC(1)を読み出す。
【0104】
ステップST10:
エラー訂正データECC(1)の読み出し終了後、(k+2)番目のLDCブロックデータを構成する内部フレームデータfrm(3)がデータメモリ351に入力されてくるまでは、(k+1)番目のLDCブロックデータの読み出しを続行する。即ち、図19(N)に図示するように、A行のエラー訂正データECC(2)を読み出す。
【0105】
ステップST11:
エラー訂正データECC(2)の読み出し中に、(k+2)番目のLDCブロックデータを構成する内部フレームデータfrm(3)がデータメモリ351に入力されてきたら、図19(O)に図示するように、エラー訂正データECC(2)の読み出しを一旦停止する。そして、A行に内部フレームデータfrm(3)を格納する。この場合も、内部フレームデータの格納を優先させる。
【0106】
ステップST12:
内部フレームデータfrm(3)の格納終了後、エラー訂正データECC(2)の読み出しを再開する。この読み出し後の状態を図19(P)に図示する。
【0107】
その後、ステップST10からステップST12の動作を繰り返し、第1格納領域ARE1に格納されている残りのエラー訂正データECC(3)〜(nmax=304)を読み出すと共に、第2格納領域ARE2に残りの内部フレームデータfrm(4)〜(nmax=248)を格納する。この段階の状態を図19(P)に図示する。
【0108】
以上、ステップST7〜ST12の動作を換言すれば、データメモリ351は、第1動作で格納した(k+1)番目のLDCブロックデータが有する内部フレームデータfrm(1)〜(nmax)を列方向に順次読み出す。これに連動し、データメモリ351は、読み出し後の空き領域に、(k+2)番目のLDCブロックデータが有するエラー訂正データECC(1)〜(nmax)を列方向に順次格納する。ここで、ステップST7〜ST12の動作を「第2動作」という。
【0109】
以後、第1動作と第2動作とを交互に繰り返すことにより、データメモリ351は、LDCブロックデータの格納および読み出しを行う。
【0110】
上述したように、第1動作および第2動作では、データメモリ351に対する内部フレームデータの格納およびエラー訂正データの読み出しが行われる。以下、図20を参照しながら、どのような場合に内部フレームデータの格納を行い、どのような場合にエラー訂正データの読み出しを行うかということについて説明する。
【0111】
図20は、本発明の実施形態に係るデータメモリに対する内部フレームデータの格納およびエラー訂正データの読み出しを説明するためのフローチャートである。この説明では、図16および図17に図示する第1動作を例に挙げる。無論、第2動作であっても、以下の動作と同様である。なお、説明を容易にするために、内部フレームデータの格納場所および読み出すべきエラー訂正データは任意であるものとする。
【0112】
ステップST21:
先ず、図16(B)に図示する第2格納領域ARE2に、k番目のLDCブロックデータが格納されたものと仮定する。
【0113】
ステップST22:
(k+1)番目のLDCブロックデータを構成する1個の内部フレームデータの格納準備が完了したか否かを判断する。ここで言う格納準備とは、第1格納領域ARE1に内部フレームデータを格納する空き領域がある場合に、この空き領域に内部フレームデータを格納できる状態を言う。
なお、この判断は、エラー訂正回路35が行う。なお、以下のステップST24、ST25、ST26およびST28における各判断も、エラー訂正回路35が行う。
格納準備が完了した場合には(YES)、ステップST23に進む。格納準備が未完了である場合には(NO)、ステップST25に進む。
【0114】
ステップST23:
格納準備が完了したならば、1個の内部フレームデータを冗長格納領域あるいは第1格納領域ARE1の空き領域に格納する。
【0115】
ステップST24:
内部フレームデータを格納することで、第1格納領域ARE1に(k+1)番目のLDCブロックデータ1個分の内部フレームデータが格納されたか否かを判断する。
第1格納領域ARE1に304個の内部フレームデータが格納された場合には(YES)、第1動作が終了する。そうでない場合には(NO)、ステップST22に戻る。
【0116】
ステップST25:
BIS訂正処理が終了したか否かを判断する。BIS訂正処理が終了した場合には(YES)、ステップST26に進む。BIS訂正処理が継続中である場合には(NO)、ステップST24に進む。
ステップST26:
LDC訂正処理が終了したか否かを判断する。LDC訂正処理が終了した場合には(YES)、ステップST27に進む。LDC訂正処理が継続中である場合には(NO)、ステップST24に進む。
【0117】
ステップST27:
第2格納領域ARE2に格納されている1個のエラー訂正データを読み出す。
ステップST28:
ステップST22と同様の動作を行う。
【0118】
以上の動作を要約すれば、内部フレームデータの格納準備ができ次第、第1格納領域ARE1の空き領域に内部フレームデータを順次格納する。
上記格納準備ができていない場合には、BIS訂正処理後に行われるLDC訂正処理の終了後、第1格納領域ARE1にLDCブロックデータ1個分の内部フレームデータが格納されるまで、第2格納領域ARE2に格納されているエラー訂正データを順次読み出す。
【0119】
[3.4.ポインタメモリ354]
ところで、光ディスクD表面の傷や指紋等を起因とするバーストエラーにより、光ディスクDから読み出したデータの一部が破損している場合がある。この場合、LDCブロックデータを構成する内部フレームデータの一部が欠如することとなる。ここで、一般的なエラー訂正装置における内部フレームデータの格納方法を図21に関連づけて説明する。
【0120】
図21は、一般的なエラー訂正装置のメモリの構成例を示す模式図である。図21には、例えば、一般的なエラー訂正装置が有する2個のメモリのうち、一方のメモリが図示されている。このメモリは、1個のLDCブロックデータを格納可能な記憶容量を有する。例えば、LDCブロックデータを構成する内部フレームデータfrm(1)〜(nmax)をこのメモリの行方向に格納するものと仮定する。
【0121】
一般的には、先ず、内部フレームデータfrm(1)がB行に格納される。次に、内部フレームデータfrm(2)がB行に格納される。この段階で、例えば、光ディスクDの読み取り時にエラーが発生し、内部フレームデータfrm(3)を得ることができなかったものと仮定する。
本来ならば、内部フレームデータfrm(3)がB行に格納されるが、このデータが欠如しているため、次の内部フレームデータfrm(4)がB行に格納される。図21には、欠如した内部フレームデータfrm(3)が破線で図示されている。欠落した内部フレームデータが1個の場合、このメモリには、(nmax−1)個の内部フレームデータが格納される。
このように、一般的なエラー訂正装置のメモリは、欠落した内部フレームデータを格納すべきアドレスを飛ばしながら、内部フレームデータを格納することができる。LDCブロックデータの読み出しにおいても、空のアドレス番号を飛ばして、内部フレームデータを順に読み出すことができる。
【0122】
一方、本実施形態のエラー訂正回路35では、データメモリ351が、空き領域を作りながら、内部フレームデータを格納し、これを読み出す。仮に、データメモリ351が一般的なエラー訂正装置のように、欠落した内部フレームデータを格納すべきアドレスを飛ばしながらこれを格納するものとする。この場合、空き領域が不足し、正常に第1動作および第2動作を実行することが困難となる。
そこで、ポインタメモリ354、第2アドレス回路353および第4アドレス回路356が設けられている。ポインタメモリ354がポインタを格納するため、先に述べたとおり、何のフレームデータを何処のアドレスに格納したかということを把握することができる。
【0123】
[格納時]
以下、バーストエラー等によりデータの一部が破損した場合のエラー訂正部357の動作を図22(A)、(B)に関連づけて説明する。
図22(A)は、本発明の実施形態に係るデータメモリの一状態を示す模式図である。図22(B)は、本発明の実施形態に係るポインタメモリの一状態を示す模式図である。
【0124】
始めに、LCDブロックデータをデータメモリ351に格納する場合を説明する。この説明では、図22(A)に図示するデータメモリ351の第1格納領域ARE1に、k番目のエラーすべきLDCブロックデータを構成する内部フレームデータfrm(1)〜(nmax)が行方向に各々格納されるが、内部フレームデータfrm(3)のみが欠落していると仮定する。
【0125】
データメモリ351が内部フレームデータfrm(1)をB行に格納すると、図22(B)に図示するポインタメモリ354は、内部フレームデータfrm(1)の格納場所を示すポインタPをアドレス番号Cに格納する。
そして、データメモリ351が内部フレームデータfrm(2)をB行に格納すると、ポインタメモリ354は、内部フレームデータfrm(2)の格納場所を示すポインタPをアドレス番号Cに格納する。
【0126】
本来であれば、データメモリ351は、内部フレームデータfrm(3)をB行に格納するが、これが欠落しているため、次の内部フレームデータfrm(4)をB行に格納する。換言すれば、データメモリ351は、空きの行を作ることなく、内部フレームデータを格納する。
このとき、第2アドレス回路353は、フレーム番号3が入力されないため、次のフレーム番号4が入力されても、ポインタメモリ354のアドレス番号Cを指定するのではなく、アドレス番号Cを指定する。そして、第1アドレス回路352は、内部フレームデータfrm(4)の格納場所を示すポインタPをポインタメモリ354のアドレス番号Cに格納する。このため、アドレス番号Cは空白となる。
このように、内部フレームデータが欠落している場合であっても、第2アドレス回路353は、アドレス番号Cのインクリメントを続行する。
【0127】
そして、データメモリ351は、内部フレームデータfrm(5)をB行に格納する。その後、データメモリ351が最後の内部フレームデータfrm(nmax)を(BYmax−1)行に格納すると、ポインタメモリ354は、内部フレームデータfrm(nmax)の格納場所を示すポインタPnmax−1をアドレス番号Cnmaxに格納する。
【0128】
[読み出し時]
次に、LCDブロックデータをデータメモリ351から読み出す場合を説明する。ただし、説明の簡単化のため、内部フレームデータをエラー訂正データとして行方向に読み出すものと仮定する。
ポインタメモリ354がアドレス番号CからポインタPを読み出すと、データメモリ351は、このポインタPを参照してエラー訂正データECC(1)をB行から読み出す。
そして、ポインタメモリ354がアドレス番号CからポインタPを読み出すと、データメモリ351は、このポインタPを参照してエラー訂正データECC(2)をB行から読み出す。
次に、ポインタメモリ354は、アドレス番号CからポインタXを読み出す。アドレス番号Cには、ポインタが格納されていなかったため、不定値Xが読み出される。すると、データメモリ351は、このポインタXを参照してエラー訂正データECC(3)を不定行から読み出す。このとき読み出されたデータは、間違っているデータであるが、誤り訂正時に訂正される。
次に、ポインタメモリ354は、次のアドレス番号CからポインタPを読み出す。すると、データメモリ351は、このポインタPを参照してエラー訂正データ(4)をB行から読み出す。
その後、ポインタメモリ354がアドレス番号CnmaxからポインタPnmax−1を読み出すと、データメモリ351は、このポインタPnmax−1を参照してエラー訂正データECC(nmax−1)をBYmax行から読み出す。
【0129】
以上、本実施形態によれば、データメモリ351は、主格納領域と冗長格納領域とを有し、第1動作と第2動作とを交互に行いながら、LDCブロックデータの格納および読み出しを行う。
したがって、一般的なエラー訂正装置が使用するメモリの個数よりも少ない個数のメモリ、延いては低メモリ容量のメモリを使用してエラー訂正が可能である。
【0130】
本実施形態では、データメモリ351を用いてエラー訂正を行ったが、メモリ4を用いてエラー訂正を行ってもよい。この場合、データメモリ351と同様の構成を持つメモリ4を用いればよい。
本発明は、BDだけでなく、例えば、MD(Mini Disc;登録商標)、CD(Compact Disc)、DVD(Digital Versatile Disc)にも適用することができる。
【符号の説明】
【0131】
1…光ディスク記録再生装置、2…光ピックアップ部、3…信号処理部、4…メモリ、5…ホスト機器、31…DSP回路、32…ウォブル回路、33…サーボ回路、34…復調回路、35…エラー訂正回路、36…変調回路、37…ライトストラテジ回路、38…ホストI/F回路、351…データメモリ、352…第1アドレス回路、353…第2アドレス回路、354…ポインタメモリ、355…第3アドレス回路、356…第4アドレス回路、357…エラー訂正部

【特許請求の範囲】
【請求項1】
所定長のデータを一単位とするフレームデータを複数有する第1ブロックデータの格納領域の少なくとも一部を使用しながら時間差をおいて第2ブロックデータを格納するメモリと、
前記メモリから読み出しされた前記第1ブロックデータと前記第2ブロックデータとにエラー訂正を各々施すエラー訂正部と
を有し、
前記メモリは、
格納済みの前記第1ブロックデータが有する複数のフレームデータを行方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第2ブロックデータが有する複数のフレームデータを前記行方向に順次格納する第1動作と、
前記第1動作で格納した前記第2ブロックデータが有する前記複数のフレームデータを列方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第1ブロックデータが有する前記複数のフレームデータを前記列方向に順次格納する第2動作とを交互に行う
エラー訂正装置。
【請求項2】
前記メモリは、
前記第1ブロックデータまたは前記第2ブロックデータを格納する主格納領域と、
前記第1ブロックデータが前記主格納領域に格納されている場合には、前記第2ブロックデータが有する所定数のフレームデータを格納し、前記第2ブロックデータが前記主格納領域に格納されている場合には、前記第1ブロックデータが有する所定数のフレームデータを格納する冗長格納領域と
を有する
請求項1記載のエラー訂正装置。
【請求項3】
前記メモリは、
前記第1動作時に、前記第2ブロックデータが有する前記所定数のフレームデータを前記冗長格納領域に格納した後、前記第2ブロックデータが有する残りのフレームデータを前記主格納領域に格納し、
前記第2動作時に、前記第1ブロックデータが有する前記所定数のフレームデータを前記冗長格納領域に格納した後、前記第1ブロックデータが有する残りのフレームデータを前記主格納領域に格納する
請求項2記載のエラー訂正装置。
【請求項4】
前記メモリに格納されたフレームデータごとのアドレスを示すポインタを保持するポインタ保持部を有する
請求項3記載のエラー訂正装置。
【請求項5】
前記メモリにフレームデータが格納される度に、前記ポインタを発生させるポインタ発生部を有し、
前記ポインタ保持部は、
前記ポインタ発生部が前記ポインタを発生させる度に、前記発生したポインタを前記ポインタ保持部のアドレス順に保持する
請求項4記載のエラー訂正装置。
【請求項6】
前記ポインタ保持部のアドレスを指定するアドレス指定部を有し、
前記アドレス指定部は、
前記メモリが複数のフレームデータを格納するときに、フレームデータが欠落している場合であっても、前記ポインタ保持部のアドレスのインクリメントを続行する
請求項5記載のエラー訂正装置。
【請求項7】
前記ポインタ保持部が保持している前記ポインタを取得して、読み出すべきフレームデータが格納された前記メモリのアドレスを指定するメモリアドレス指定部を有する
請求項5記載のエラー訂正装置。
【請求項8】
前記メモリが複数のフレームデータを格納するときに、前記複数のフレームデータが前記メモリの行方向または列方向に連続して格納されるように、前記メモリのアドレスをアドレス順に指定するメモリアドレス指定部を有する
請求項1記載のエラー訂正装置。
【請求項9】
所定長のデータを一単位とするフレームデータを複数有する第1ブロックデータの格納領域の少なくとも一部を使用しながら時間差をおいて第2ブロックデータを格納するメモリを有し、前記メモリから読み出しされた前記第1ブロックデータと前記第2ブロックデータとにエラー訂正を各々施すエラー訂正装置のメモリの制御方法であり、
格納済みの前記第1ブロックデータが有する複数のフレームデータを行方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第2ブロックデータが有する複数のフレームデータを前記行方向に順次格納する工程と、
格納済みの前記第2ブロックデータが有する前記複数のフレームデータを列方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第1ブロックデータが有する前記複数のフレームデータを前記列方向に順次格納する工程と
を有する
エラー訂正装置のメモリの制御方法。
【請求項10】
定め規定された波長の光を用いて、光ディスクにデータを記録し、前記光ディスクからデータを読み出す光ピックアップ部と、
前記光ディスクに記録すべきデータと、前記光ピックアップ部によって読み出しされた再生すべきデータとにエラー訂正を各々施すエラー訂正装置と、
前記エラー訂正装置によってエラー訂正された前記記録すべきデータを符号化する記録系と、
前記エラー訂正装置による前記エラー訂正前に前記再生すべきデータを復号化する再生系と
を有し、
前記エラー訂正装置は、
所定長のデータを一単位とするフレームデータを複数有する第1ブロックデータの格納領域の少なくとも一部を使用しながら時間差をおいて第2ブロックデータを格納するメモリと、
前記メモリから読み出しされた前記第1ブロックデータと前記第2ブロックデータとにエラー訂正を各々施すエラー訂正部と
を有し、
前記メモリは、
格納済みの前記第1ブロックデータが有する複数のフレームデータを行方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第2ブロックデータが有する複数のフレームデータを前記行方向に順次格納する第1動作と、
前記第1動作で格納した前記第2ブロックデータが有する前記複数のフレームデータを列方向に順次読み出し、前記読み出しに連動して前記読み出し後の空き領域に前記第1ブロックデータが有する前記複数のフレームデータを前記列方向に順次格納する第2動作とを交互に行う
光ディスク記録再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2011−28795(P2011−28795A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2009−171467(P2009−171467)
【出願日】平成21年7月22日(2009.7.22)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】