JPH1055630A - 復号化装置および復号化方法 - Google Patents
復号化装置および復号化方法Info
- Publication number
- JPH1055630A JPH1055630A JP8213492A JP21349296A JPH1055630A JP H1055630 A JPH1055630 A JP H1055630A JP 8213492 A JP8213492 A JP 8213492A JP 21349296 A JP21349296 A JP 21349296A JP H1055630 A JPH1055630 A JP H1055630A
- Authority
- JP
- Japan
- Prior art keywords
- flag
- data
- correction
- error
- circuit
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1876—Interpolating methods
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Error Detection And Correction (AREA)
Abstract
の生成方法を変更できるようにする。 【解決手段】 ECCブロックにおける行方向の第1回
目の訂正結果に対応し、行単位でエラーの有無を表すP
I1フラグ、行方向の第2回目の訂正結果に対応し、行
単位でエラーの有無を表すPI2フラグ、列方向の訂正
結果に対応し、列単位でエラーの有無を表すPOフラグ
を、ECC処理を実行中に生成する。処理が終了した際
に、これらのフラグを参照して、補間フラグの生成処理
を行う。
Description
復号化方法に関し、特に、復号化するデータの行方向と
列方向に対してそれぞれエラー訂正処理が実行され、そ
の結果に基づいて行単位および列単位でエラーフラグを
生成する復号化装置および復号化方法に関する。
て、光ビームにより読み出された情報は、光ディスクの
傷などに起因する読みとりエラーを含むため、エラー訂
正が施される。
成例を示す図である。この図において、光ディスク1に
は、画像や音声などのデータが可変レートで記録されて
いる。ピックアップ2は、光ディスク1に記録されてい
る情報をレーザビームにより読み出す。ピックアップ2
が出力する再生信号は、復調回路3により復調され、セ
クタ検出回路4に供給される。セクタ検出回路4は、再
生信号をもとにセクタを検出する。ECC(Error Corr
ection Code)回路5は、セクタ検出回路4から入力さ
れた再生信号に対してエラー検出およびエラー訂正を施
す。
のセクタに割り当てられたセクタ番号が正常に検出され
なかった場合、トラックジャンプ判定回路18にセクタ
番号異常信号が出力される。ECC回路5は、訂正不能
のデータが生じた場合に、トラックジャンプ判定回路1
8に対して訂正不能エラー発生信号を出力する。エラー
訂正されたデータは、ECC回路5からリングバッファ
メモリ7に送出されて記憶される。
クタ検出回路4の出力から、各セクタ毎のアドレスを読
みとり、そのアドレスに対応するリングバッファメモリ
7上の書き込みアドレス(書き込みポインタWP)を指
定する。また、リングバッファ制御回路6は、後段の多
重化データ分離回路8からのコードリクエスト信号に応
じて、リングバッファメモリ7に書き込まれたデータの
読み出しアドレス(読み出しポインタRP)を指定し、
その読み出しポインタRPからデータを読み出して、多
重化データ分離回路8に供給する。
9は、リングバッファメモリ7から供給されたデータか
らパックヘッダとパケットヘッダを分離して分離回路制
御回路11に供給する。分離回路制御回路11は、ヘッ
ダ分離回路9から供給されたパケットヘッダのストリー
ムID(Stream Identifier)情報に従い、スイッチン
グ回路10の入力端子Gと出力端子(被切替端子)H
1,H2を順次サイクリックに切り替えることにより、
時分割多重化されたビデオコードデータとオーディオコ
ードデータを正しく分離し、対応するコードバッファ1
3または15に供給する。
ドバッファの残量に応じて、多重化データ分離回路8に
対してコードリクエストを発生する。また、ビデオコー
ドバッファ13は、受け取ったデータを記憶すると共
に、ビデオデコーダ14からのコードリクエストの入力
を受け、内部データを出力する。ビデオデコーダ14
は、供給されたデータをデコードしてビデオ信号を再生
し、出力端子91から出力する。
コードバッファの残量に応じて、多重化データ分離回路
8に対してコードリクエストを供給し、その結果供給さ
れたデータを記憶する。また、このオーディオコードバ
ッファ15は、オーディオデコーダ16からのコードリ
クエストを受け、内部のデータを出力する。オーディオ
デコーダ16は、供給されたデータをデコードしてオー
ディオ信号を再生し、出力端子92から出力する。
ータは、後段の回路(出力端子により近い回路)からの
転送要求に応じて前段の回路から適宜供給される。例え
ば、ビデオデコーダ14は、ビデオコードバッファ13
に対してデータの転送要求を行い、多重化データ分離回
路8は、リングバッファ制御回路6に対してデータの転
送要求を行う。そして、データは、リングバッファメモ
リ7からビデオデコーダ14へと、転送要求が伝達され
るのとは逆の方向に伝達されていくことになる。
説明する。この例においては、1クラスタ(32kバイ
ト)を1単位として、データが記録されている。このク
ラスタの構成を以下に詳述する。
のデータが、1セクタ分のデータとして抽出され、これ
に図34に示すように、16バイトのオーバーヘッドが
付加される。このオーバーヘッドには、セクタアドレス
と、エラー検出のためのエラー検出符号(EDC(Erro
r Detection Code))などが含まれている。
バイトの1セクタ分のデータが、図35に示すように、
12×172(=2064)バイトのデータとされる。
そして、この1セクタ分のデータが16個集められ、1
92(=12×16)×172バイトのデータとされ
る。この192×172バイトのデータに対して、16
バイトの外符号(PO)が、縦方向に各バイト毎にパリ
ティとして付加される。また、208(=192+1
6)×172バイトのデータとPOパリティに対して、
10バイトの内符号(PI)が、横方向に各バイト毎に
パリティとして付加される。
+16)×182(=172+10)バイトにブロック
化されたデータのうち、16×182バイトの外符号
(PO)の行は、16個の1×182バイトの行に区分
され、図36に示すように、12×182バイトの番号
0乃至番号15の16個のセクタデータの下に1行ずつ
挿入されて、インターリーブされる。そして、13(=
12+1)×182バイトのデータが1セクタのデータ
とされる。
トのデータは、図37に示すように、縦方向に2分割さ
れ、1フレームを91バイトのデータで構成して、20
8×2フレームのデータとされる。91バイトのフレー
ムデータの先頭には、さらに2バイトのフレーム同期信
号(FS)が付加される。その結果、図37に示すよう
に、1フレームのデータは合計93バイトのデータとな
り、合計208×(93×2)バイトのブロックのデー
タとなる。これが、1クラスタ(1ECCブロック)分
のデータとなる。そのオーバーヘッド部分を除いた実デ
ータ部の大きさは32kバイト(=2048×16/1
024kバイト)となる。
ECCブロック)が16セクタより構成され、1セクタ
が24フレームにより構成される。このようなデータが
光ディスク1にクラスタ単位で記録されていることにな
る。
エラー訂正が実行され、エラーデータを補間するための
補間フラグが生成される場合の動作について説明する。
セクタデータのエラー判定方法の処理を説明するフロー
チャートである。この処理は、ECC回路5により、内
符号PIを用いて図35の行方向(横方向)に第1回目
の訂正を行い(以下、PI1訂正という)、次に外符号
POを用いて列方向(縦方向)の訂正を行い(以下、P
O訂正という)、さらに、内符号PIを用いて行方向に
第2回目の訂正が行われた(以下、PI2訂正という)
場合に実行される。
I2訂正の結果、対象とするECCブロックにおいて、
訂正不能のエラーが存在するか否かが判定される。訂正
不能のエラーが存在しない(NO)と判定した場合は、
ステップS4に進み、また、訂正不能のエラーが存在す
る(YES)と判定した場合は、ステップS2に進む。
ド(再び再生)するか否かが判定される。すなわち、
(1)訂正不能のエラーが存在するECCブロックを光
ディスク1から再度読み込むか、または、(2)そのE
CCブロックのデータに補間フラグを付加して出力する
のいずれにするのかが判定される。光ディスク1を再リ
ードする(1)と判定された場合は、ステップS3に進
み、光ディスク1を再リードし、ステップS1の処理に
戻る。また、そのECCブロックのデータを使用しない
(2)と判定された場合は、そのブロックの全てのデー
タに対して補間フラグ(補間が必要であることを示すフ
ラグ)が付加され、ステップS4に進む。
チェック(図34で説明した各セクタ毎に挿入されてい
るエラー検出符号によるエラーの有無のチェック)の結
果が正常であるか否かが判定される。すなわち、各セク
タにエラーが含まれているか否かが検出される。セクタ
のEDCチェックの結果が正常である(エラーがない)
(YES)と判定された場合は、ステップS7に進み、
データをそのまま出力する。また、セクタのEDCチェ
ックの結果が正常ではない(エラーがある)(NO)と
判定された場合は、ステップS5に進む。
ドするか否かが判定される。すなわち、(1)エラーを
含むセクタを光ディスク1から再度リードするか、また
は、(2)エラーを含むセクタのデータに補間フラグを
付加して出力するの何れかを選択する。光ディスク1の
再リードを行う(1)と選択された場合、ステップS6
に進み、エラーを生じたセクタを光ディスク1から再度
読み出した後、ステップS1に戻る。また、エラーを含
むセクタのデータを補間フラグを付加して出力する
(2)と選択された場合は、そのセクタの全てのデータ
に対して補間フラグが付加され、ステップS7に進む。
ステップS7では、処理されたデータ(いまの場合、補
間フラグが付加されているデータ)が出力され、処理を
終了する。
した従来の例において、ECC回路5により訂正不可能
なデータが検出された場合は、補間フラグがそのECC
ブロックのすべてのデータに対して付加されることにな
る。このとき、ECCブロックを構成する各データは8
ビット(1バイト)であり、また、補間フラグは1ビッ
トとされている。従って、補間フラグが付加されたデー
タのビット長は9ビットとなり、このような9ビットの
データを記憶するためには、データを9ビット単位で記
憶するメモリが必要となるが、そのようなメモリはあま
り一般的ではなく、また高価であるため、装置の製造コ
ストが高くなるという課題があった。
ータを1処理単位としてECC復号化が行われた場合、
補間フラグの生成方法はこの処理単位に対しては同一の
方法とされる。従って、処理単位(1ECCブロック)
より小さい単位で補間フラグの生成方法を変更すること
はできないという課題があった。例えば、1セクタ単位
で補間フラグの生成方法を変更することはできないとい
う課題があった。
れたものであり、復号化装置のコストを削減すると共
に、補間フラグの生成方法をセクタ単位で自由に変更
し、もって、よりきめのこまかい単位でデータを有効に
利用することを可能とする。
データに対しては、エラーの検出確率を向上させると共
に、エラーが生じていないセクタのデータの使用を可能
とする。
装置は、復号化の対象となるデータを記憶する記憶手段
と、記憶手段に記憶されたデータの行方向と列方向に対
してそれぞれエラー訂正処理を行うエラー訂正手段と、
記憶手段に記憶されたデータの行方向に対してエラー訂
正手段がエラー訂正を実行した結果に応じて、行単位で
エラーの有無を表す第1のフラグを生成する第1のフラ
グ生成手段と、記憶手段に記憶されたデータの列方向に
対してエラー訂正手段がエラー訂正を実行した結果に応
じて、列単位でエラーの有無を表す第2のフラグを生成
する第2のフラグ生成手段とを備えることを特徴とす
る。
対象となるデータを記憶する記憶ステップと、記憶ステ
ップで記憶されたデータの行方向と列方向に対してそれ
ぞれエラー訂正処理を行うエラー訂正ステップと、記憶
ステップで記憶されたデータの行方向に対してエラー訂
正ステップがエラー訂正を実行した結果に応じて、行単
位でエラーの有無を表す第1のフラグを生成する第1の
フラグ生成ステップと、記憶ステップで記憶されたデー
タの列方向に対してエラー訂正ステップがエラー訂正を
実行した結果に応じて、列単位でエラーの有無を表す第
2のフラグを生成する第2のフラグ生成ステップとを備
えることを特徴とする。
復号化の対象となるデータを記憶手段が記憶し、記憶手
段に記憶されたデータの行方向と列方向に対してそれぞ
れエラー訂正手段がエラー訂正処理を行い、記憶手段に
記憶されたデータの行方向に対してエラー訂正手段がエ
ラー訂正を実行した結果に応じて、行単位でエラーの有
無を表す第1のフラグを第1のフラグ生成手段が生成
し、記憶手段に記憶されたデータの列方向に対してエラ
ー訂正手段がエラー訂正を実行した結果に応じて第2の
フラグ生成手段が、列単位でエラーの有無を表す第2の
フラグを生成する。
復号化の対象となるデータを記憶ステップが記憶し、記
憶ステップで記憶されたデータの行方向と列方向に対し
てそれぞれエラー訂正ステップがエラー訂正処理を行
い、記憶ステップで記憶されたデータの行方向に対して
エラー訂正ステップがエラー訂正を実行した結果に応じ
て、行単位でエラーの有無を表す第1のフラグを第1の
フラグ生成ステップが生成し、記憶ステップで記憶され
たデータの列方向に対してエラー訂正ステップがエラー
訂正を実行した結果に応じて、列単位でエラーの有無を
表す第2のフラグ生成ステップが第2のフラグを生成す
る。
て用いられるエラーフラグと補間フラグを説明する図で
ある。従来の例では、ECC処理により得られた、エラ
ーデータの補間の必要性を示す補間フラグは、PI2訂
正の結果、または、セクタのEDCチェックの結果に対
応して、直ちに生成されていた。本実施例では、行方向
の第1回目のエラー訂正処理であるPI1訂正の結果に
対応して、PI1フラグ(208ビットのエラーフラ
グ)が生成され、列方向のエラー訂正処理であるPO訂
正の結果に対応して、POフラグ(172ビットのエラ
ーフラグ)が生成され、さらに、行方向の第2回目のエ
ラー訂正処理であるPI2訂正の結果に対応して、PI
2フラグ(208ビットのエラーフラグ)が生成され
る。そして、これらのエラーフラグ(PI1フラグ、P
I2フラグ、およびPOフラグ)の状態に応じて、EC
Cブロックのメインデータ(パリティを除く、192×
172バイトのデータ)に対応する192×172ビッ
トの補間フラグをさらに生成するようになされている。
成は、図33に示す従来例における場合と同様であるの
で、その説明は省略する。
F処理回路30、EFM+復調回路31)、セクタ検出
回路4(SBCD回路34、RAMコントローラ35、
RAM37)、およびECC回路5(RAMコントロー
ラ35、ECC制御回路36、RAM37、ECCコア
回路38、OCTL回路39)、並びにその周辺の回路
の詳細な構成の一例を示す図である。
33に示すピックアップ2からのRF信号の入力を受
け、この信号を2値化した後、EFM+復調回路31に
出力する。EFM+復調回路31は、入力された信号に
対してEFM+復調を施すと共に、同期パターンの検出
を行う。CLV制御回路32は、EFM+復調回路31
が出力する同期パターンに基づき、ドライブインタフェ
ース(以下、ドライブIFと略記する)33を制御す
る。SBCD(サブコード)回路34はEFM+復調回
路31の出力からセクタの検出を行う。RAMコントロ
ーラ35は、RAM37の読み書きを制御する。
バッファメモリ7(記憶手段、記憶ステップ)とは異な
る符号が付してあり、別の構成としているが、これらを
同一の構成としてもよい。
ー訂正処理などを実行する際に、データ等を一時的に格
納するようになされている。ECCコア回路38(第1
のフラグ生成手段、第1のフラグ生成ステップ、第2の
フラグ生成手段、第2のフラグ生成ステップ)は、リー
ドソロモン符号(PIとPO)を用いて、後述するEC
A,ECD,SFLGなどを生成し、ECC制御回路3
6に出力する。ECC制御回路36は、ECCコア回路
38から供給されるECA,ECD,SFLGなどを用
いて、実際にエラー訂正を行う。OCTL回路39は、
デスクランブル処理、EDCチェック、または、出力デ
ータの制御等を行う。また、ホストCPU40は、装置
の各部の制御を行うようになされている。
明する。
回路30において2値化信号に変換される。そして、2
値化された信号から、EFM+復調回路31により同期
パターンが検出される。そして、CLV制御回路32に
おいて、この同期パターンに基づき、ラフサーボがかけ
られ、その結果、データ中のシンクコード(Sync Cod
e)(図3におけるSY0乃至SY7)がさらに検出さ
れ、ドライブインタフェース33を介して光ディスク1
の回転に対して、PLL(Phase Locked Loop)による
位相サーボがかけられる。
例を示す。この図に示すように、物理セクタは、横方向
に2つのシンクフレーム(Sync frame)、縦
方向に13個のシンクフレーム、合計で26個のシンク
フレームにより構成されている。各シンクフレームは3
2チャンネルビット(変調される前のデータビットで表
現すると16ビット(=2バイト))のシンクコード
(SY0乃至SY7)と、1456チャンネルビット
(変調される前のデータビットで表現すると728ビッ
ト(=91バイト))のデータ部から構成される。先頭
のシンクフレームのデータ部には、ID情報(セクタ番
号)とIEC(IDのECC)情報の他、メインデータ
(main data)が格納されている。
は、データ中には表れないユニークなパターンとして、
その下位22ビットが、“0001000000000
000010001”のように設定されている。
は、メインデータが記録され、左側の最後のシンクフレ
ームのデータ部には、PO情報(パリティ)が記録され
ている。図中右側のシンクフレームには、メインデータ
とPI情報が記録され、右側のシンクフレームの最後か
ら2番目のシンクフレームには、EDC情報とPI情報
(パリティ)が記録され、最後のシンクフレームには、
PO情報とPI情報が記録されている。
ックは、図37に示すように構成されており、そして、
図36に示すように、各セクタにPO情報がインタリー
ブされている。
タの詳細は、図4に示されている。同図に示すように、
ID(セクタ番号)(4バイト)、IEC(IDに対す
るECC(2バイト))、RSV(保留領域)(6バイ
ト)、メインデータおよび、EDC(4バイト)により
1セクタのデータが構成されている。なお、メインデー
タにはスクランブル処理が施されている。
クタ分集められ、図35に示すように、16バイトのP
O符号と10バイトのPI符号とが付加される。さら
に、PO符号を含む16行が1データセクタ毎に配置さ
れるようにインターリーブされる。そして、得られたデ
ータは、図37に示すように、シンクコードSYx(x
=0,1,2,・・・,7)が付加され、EFM+変調
される。これによりECCブロック内の物理セクタは、
図3に示すように、13×2シンクフレームにより構成
される。1ECCブロックは16セクタにより構成され
るので、物理セクタアドレスの下位4ビットは0000
乃至1111のいずれかとなる。その結果、ECCブロ
ックの先頭のセクタの物理アドレスは下位4ビットが0
000となる。
処理は、物理セクタアドレスの下位4ビット乃至7ビッ
トにより指定される値を初期値として生成されたスクラ
ンブルデータと、メインデータとの間で排他的論理和を
演算することにより実行される。
に各種の記号が用いられているので、ここで、それらを
まとめて説明する。
の出力イネーブル信号である。
復調処理が施されたデータは、RAMコントローラ35
の制御の下、図5に示すように、RAM37に格納され
る。この図5は、1ECCブロックについて示してい
る。RAM37に格納されているデータを読み出す場
合、RAMコントローラ35は、図5に示す行および列
の値を指定することにより、所望のデータを取得するこ
とができる。すなわち、図5において、第M行目の第N
バイト目にあるデータxは、2値(M,N)を指定する
ことによりRAM37から読み出すことができる。
各PI行に対応して、最上行から16個のPI行に対応
して記憶される。PI1フラグとPI2フラグは、20
8行の各PI行に対応するように記憶される。また、P
Oフラグは、上から順番に、172PI行に対応するよ
うに記憶される。
フラグは、バイト単位でまとめられ、26バイト×22
バイト(実質的には21.5バイト)の補間フラグが、
ECCブロックのバイト単位のメインデータと異なる領
域に記憶される。すなわち、1バイトのメインデータに
対して、1ビットの補間フラグが対応するのであるが、
これらは、独立に(9ビットのデータとしてまとめられ
ることなく)記憶される。
するのに必要以上に大きな容量のメモリが必要になるこ
とを防止している。
クタの先頭が、SBCD回路34において、シンクコー
ドの種類と連続性に基づき認識されると、EFM+復調
回路31により復調されたデータは、先頭データから順
にRAM37に格納される。図6は、このとき関係する
回路の主要部分の信号のタイミングを示している。
に示すように、シンクのロック状態を検出している。最
初にステップS1において、図3に示すシンクコード
(SY0乃至SY7)を各シンクフレームにおいて検出
することができたか否かを判定する。シンクコードを検
出することができた場合においては、ステップS2に進
み、変数SClockを1だけインクリメントするとと
もに、変数SCunlockを0にセットする。この変
数SClockは、シンクコードが連続して検出された
ときの回数を表し、変数SCunlockは、シンクが
連続して検出されなかったときの回数を表す。
ockが3に等しいか否かを判定する。すなわち、シン
クが連続して3回検出されたか否かを判定する。変数S
Clockが3より小さい場合においては、ステップS
1に戻り、それ以降の処理を繰り返し実行する。ステッ
プS3において、変数SClockが3に等しいと判定
された場合、ロック状態になったものとして、ステップ
S4において、SYLK信号をHに設定する。そして、
ステップS5において、さらに連続して3回シンクが検
出されたか否かを判定するために、変数SClockを
2に設定し、ステップS1に戻り、それ以降の処理を繰
り返し実行する。
ンクコードが検出されなかったと判定された場合、ステ
ップS6に進み、変数SCunlockを1だけインク
リメントするとともに、変数SClockを0に設定す
る。ステップS7においては、変数SCunlockが
3に等しいか否かを判定する。すなわち、シンクコード
が3回連続して検出されなかったか否かを判定する。連
続して検出されなかった回数が2以下である場合には、
ステップS1に戻り、それ以降の処理を繰り返し実行す
る。連続して3回シンクが検出されなかった場合におい
ては、ステップS8に進み、SYLK信号をLに設定す
る。そして、ステップS9に進み、変数SCunloc
kを2に設定して、次のシンクコードの発生タイミング
においても、シンクコードが検出されなかったとき、S
YLK信号をLに設定したままとすることができるよう
に、変数SCunlockを2に設定し、ステップS1
に戻る。
は、シンクコードを検出し、ロック状態になっているか
否かを常に監視している。
それぞれ3回としたが、基準となる連続検出回数NLOCK
と、不連続の検出回数NUNLOCKは、それぞれ任意の値と
することが可能である。
して、SYLK信号がHになったとき、すなわち、ロッ
ク状態になったとき、図8のフローチャートに示す処理
を実行する。すなわち、ステップS21において、各セ
クタの先頭に配置されているシンクコードSY0が検出
されたか否かを判定する。シンクコードSY0が検出さ
れた場合においては、ステップS22に進み、セクタの
先頭であることを表すSCSY信号を所定時間Hに設定
する。次にステップS23に進み、SYLK信号がLに
変化したか否かを判定し、Lでなければ(Hのままであ
れば)ステップS21に戻り、同様の処理を繰り返し実
行する。ステップS21において、シンクコードSY0
が検出されていないと判定された場合においては、ステ
ップS22の処理はスキップされる。
は、各セクタの先頭において、図6(a)に示すSCS
Y信号を発生する。
K信号がHになったとき、図9のフローチャートに示す
処理を実行する。最初に、ステップS31において、メ
インフレーム(以下、図3の横方向の2個のシンクフレ
ームを、まとめて1個のメインフレームと称する)のシ
ンクコード(以下、図3のシンクコードのうち、左側に
示すシンクコードをメインフレームシンクと称する)を
検出したか否かを判定する。メインフレームシンクを検
出した場合においては、ステップS32に進み、EFM
+復調回路31は図6(b)に示すmain−FMSY
信号を発生する。ステップS31において、メインフレ
ームシンクが検出されていないと判定された場合におい
ては、ステップS32の処理はスキップされる。
がLに変化したか否かが判定され、変化していない場合
(Hのままである場合)、ステップS31に戻り、それ
以降の処理を繰り返し実行する。SYLK信号がLに変
化した場合においては、main−FMSY信号の生成
処理は中止される。
は、メインフレームシンクの周期(図3における水平方
向の2つのシンクフレームの周期)毎に、main−F
MSY信号を発生する。
回路31よりSCSY信号が入力されたとき、図6
(d)に示すように、MWEN信号をHに設定し、RA
M37に対する、いま検出されているセクタのデータの
書き込み処理を開始させる。すなわち、このときRAM
コントローラ35は、図6(e)に示すように、内蔵す
るEFM+W Frameカウンタ(図示せず)で図3
に示すメインフレームをカウントする。このカウント値
は、図3に示すメインフレームの上から順番の番号を表
すことになる。
(f)に示すように、内蔵するPI1Frameカウン
タ(図示せず)により、RAM37に伝送するメインフ
レームの番号を管理する。
ム(番号0のメインフレーム(図3における最上行のメ
インフレーム))のデータがRAM37に書き込まれた
とき、ECC制御回路36は、RAMコントローラ35
の制御の下に、そのメインフレームのデータの供給を受
ける。そして、このデータを、ECCコア回路38に転
送し、誤り訂正処理を実行させる。すなわち、PI1処
理を実行させる。PI1訂正後のデータは、再びRAM
37に書き戻される。
正の実行の後、RAM37に記憶されている番号0のメ
インフレームのデータの中から、IDとIECデータ
(SUB)を読み出し、図6(c)の番号0で示すSU
B信号のタイミングにおいて、この番号0のメインフレ
ームのIDとIECデータをデータバスを介してSBC
D回路34に転送させる。図3に示すように、IDとI
ECデータは、各セクタの先頭にのみ配置されているた
め、この転送処理は、番号0のメインフレームにおいて
のみ実行される。SBCD回路34においては、このよ
うにして、物理セクタのアドレス(ID)が検出され
る。
の下位4ビットにより、ECCブロックの先頭セクタが
検出される。
ock−topを検出する場合のタイミング図を示して
おり、また、図11はblock−top検出以降の処
理を示しており、これらの図の動作については後述す
る。
なタイミングを示すタイミング図である。同図(a)に
示すように、RAMコントローラ35は、SBCD回路
34に対して、RAM37からIDとIECデータが読
み出されるタイミングを表すHDEN信号を出力する。
このとき、RAM37から、SBCD回路34に対し
て、第7ビットから第0ビットまでの合計8ビットのリ
ードデータRDT(図12(C))として、IDデータ
(4バイト)とIECデータ(2バイト)が、11.2
896MHzの周波数のクロックC11M(図12
(f))に同期して転送される。このIDデータとIE
Cデータは、PI1訂正の結果、訂正不能の状態(この
場合、SFLG信号はHとなる)にはなっていないこと
が、ECCコア回路38からECC制御回路36に供給
されているSFLG信号(=1)により表されている。
SBCD回路34は、ID(セクタアドレス)の供給を
受けると、そのID(セクタ)に対応するセクタ情報S
Iを、ホストCPU40からの指令(補間フラグの生成
モード、スタートセクタ、エンドセクタなどの指令)に
対応して生成する。例えば、ホストCPU40から出力
が指定されたIDのセクタには、セクタ情報のビット5
に1を設定し、ビット4に0を設定する。
している。同図に示すように、セクタ情報の各ビット
は、以下に示す情報を有している。
ードの設定(1:補間フラグ生成モード) ビット6:ECCブロックの先頭セクタ(物理セクタア
ドレスの下位4ビットが0である場合に1とされる)
(1:先頭セクタ) ビット5:スタートセクタ(物理セクタアドレスがホス
トCPU40で指定されたスタートセクタアドレスと一
致した場合は1とされる)(1:スタートセクタ) ビット4:エンドセクタ(物理セクタアドレスがホスト
CPU40で指定されたエンドセクタアドレスと一致し
た場合に1とされる)(1:エンドセクタ) ビット3:デスクランブル初期化アドレスのビット3
(物理セクタアドレスの第7ビット) ビット2:デスクランブル初期化アドレスのビット2
(物理セクタアドレスの第6ビット) ビット1:デスクランブル初期化アドレスのビット1
(物理セクタアドレスの第5ビット) ビット0:デスクランブル初期化アドレスのビット0
(物理セクタアドレスの第4ビット)
用いて、図14乃至図16を参照して後述するようにチ
ェック処理が行われた後、図12(d)に示すXHWE
信号が、ECC制御回路36でLにされる。このとき、
SBCD回路34からRAM37に、8ビットのライト
データWDTとしてセクタ情報SIが転送され、書き込
まれる。16セクタ分のセクタ情報は、図5に示すよう
に、上方の16個のPI行に対応するように格納され
る。従って、所定のPI行の行数を指定することによ
り、対応するセクタ情報を得ることができる。
を参照して、SBCD回路34におけるIDとIECの
チェック処理について説明する。
ートに示す処理により、IECが正常である(IDにエ
ラーがない)セクタがN個(この実施例の場合、3個)
以上連続しているか否かを判定する。
て、いま、取り込んだIECが正常であるか否かを判定
する。IECが正常である場合においては、ステップS
42に進み、正常であるIECのセクタの数を表す変数
SAlockを1だけインクリメントする。そして、正常で
ないIECを有する(IDにエラーがある)セクタの連
続回数を表す変数SAunlockを0に設定する。
lockが3に等しいか否かを判定する。ステップS42で
インクリメントした変数SAlockが3に等しくないと判
定された場合、ステップS41に戻り、それ以降の処理
を繰り返し実行する。ステップS43において、変数S
Alockが3に等しいと判定された場合、すなわち、正常
なIECを有するセクタが3回連続して再生されたと
き、ステップS44に進み、フラグIECOKをHに設
定する。ステップS45においては、さらに次のIEC
が連続して正常である回数を検出するために、変数SA
lockを2に設定し、ステップS41に戻り、それ以降の
処理を繰り返し実行する。
ないと判定された場合、ステップS46に進み、変数S
Aunlockを1だけインクリメントするとともに、変数S
Alo ckを0に設定する。そして、ステップS47におい
て、変数SAunlockが3に等しいか否かを判定し、等し
くない場合においては、ステップS41に戻り、それ以
降の処理を繰り返し実行する。
が3に等しいと判定された場合、すなわち、IECが正
常でないセクタが3回連続して検出されたとき、ステッ
プS48に進み、フラグIECOKをLに設定する。次
に、ステップS49において、次のIECが正常でない
場合に、その連続の回数が3回であることを連続して検
出することができるようにするために、変数SAunlock
を2に設定し、ステップS41に戻り、それ以降の処理
を繰り返し実行する。
IECが連続して3回以上正常である場合においては、
フラグIECOKをHに設定し、3回以上連続して正常
でない場合においては、フラグIECOKをLに設定す
る。
処理により、ID(アドレス)の連続性を判定する。す
なわち、1つのECCブロック内の各セクタのIDは、
順次1ずつインクリメントするように規定されている。
そこで、この連続性を次のようにして判定する。
(セクタアドレス)が検出されたか否かを判定する。I
Dが検出された場合、ステップS62に進み、そのID
を次のIDと比較することができるように記憶する。そ
して、ステップS63においては、今回検出したID
が、前回検出し、ステップS62において記憶したID
より1だけ大きいか否かを判定する。今回のIDが前回
のIDより1だけ大きい場合には、ステップS64に進
み、正しいIDが連続して検出されたことを示す変数N
Sを1だけインクリメントする。また、IDが検出され
なかったり、連続していない回数を表す変数NNSを0に
設定する。
Sが3と等しいか否かを判定し、等しくなければ(3回
連続して1ずつインクリメントしたIDが検出されてい
なければ)、ステップS61に戻り、それ以降の処理を
繰り返し実行する。変数NSが3に等しいと判定された
場合、ステップS66に進み、IDが連続して正しい状
態であることを表すフラグASをHに設定する。そし
て、ステップS67において、次のIDを検出したと
き、再び連続して3回正しいIDが検出されたことを検
出することができるように、変数NSを2に設定し、ス
テップS61に戻り、それ以降の処理を繰り返し実行す
る。
なかったり、ステップS63において、今回検出したI
Dが前回検出したIDより1だけ大きい値になっていな
いと判定された場合(不連続であると判定された場
合)、ステップS68に進み、フラグSALKがHであ
るか否かを判定する。このフラグSALKは、図16を
参照して後述するが、IECが3回以上連続して正常で
あり、かつ、IDが3回以上連続性が保持されていると
き、Hに設定されている。
がHに設定されていると判定された場合、ステップS6
9に進み、IDを補間する処理を実行する。すなわち、
いま、IDが検出されなかったか、あるいは、IDが連
続していなかった場合であるので、前回のIDに1を加
算したIDを生成し、これを検出されたIDに代えて使
用するようにする。フラグSALKがLに設定されてい
る場合においては、このような補間処理は行われず、ス
テップS69の処理はスキップされる。
を1だけインクリメントするとともに、変数NSを0に
設定する。そして、ステップS71において、変数NNS
が3と等しいか否かが判定され、等しくないと判定され
た場合においては、ステップS61に戻り、それ以降の
処理を繰り返し実行する。これに対して、NNSが3に等
しいと判定された場合、ステップS72に進み、フラグ
ASをLに設定する。そして、ステップS73におい
て、次のIDが検出されなかった場合、連続して3回検
出されなかったことを続けて検出することができるよう
にするために、変数NNSを2に設定し、ステップS61
に戻り、それ以降の処理を繰り返し実行する。
IDの連続性が確保されているとき、フラグASをHに
設定し、確保されていないとき、Lに設定する。
成した2つのフラグIECOKとASを用いて、フラグ
SALKを生成する。
ては、フラグIECOKがHであるか否かが判定され、
Hであると判定された場合、ステップS82に進み、フ
ラグASがHであるか否かが判定される。ステップS8
2において、フラグASがHであると判定された場合、
ステップS83に進み、フラグSALKをHに設定す
る。
フラグIECOKがLであると判定された場合、あるい
は、ステップS82において、フラグASがLであると
判定された場合、ステップS84に進み、フラグSAL
KをLに設定する。
いては、IECが3回以上連続して正常であり、かつ、
IDが連続して3回以上1ずつインクリメントしている
場合には、フラグSALKがHに設定され、IECが連
続して3回以上正常でなかったり、あるいはIDが連続
して3回以上不連続である場合には、フラグSALKが
Lに設定される。
に、先に述べたIDデータを参照して、レーザビームが
現在照射されている位置(光ディスク1上のアクセス位
置)を検出する。
lockまたはSAunlockの条件に加えることも可能であ
る。さらに、SAlockまたはSAunlockの回数は、前述
のように3回と設定されているが、ホストCPU40に
より異なる値に設定することも可能である。
(このとき、SAUL=Hとなる)で、SYLK=L
(このときSYUL=Hとなる)となると、RAM37
に対するEFM+復調回路31からのEFM+復調デー
タの書き込みとECCの制御が、いずれもリセットされ
る。その後、unlock状態が解除され(SAUL=
Lとされ)、SYLK=Hとなると、RAM37に対し
てEFM+復調データの書き込みが再開される。
により強制的に実行することも可能である。例えば、ト
ラック間のジャンプ実行後にホストCPU40によりu
nlock状態にすることで、ECC制御をリセットす
ることもできる。
CPU40により実行するか、ホストCPU40の介入
なしに自動的に実行するかの何れかを選択することがで
きる。
り、さらに、セクタ情報のビット6が1の状態(セクタ
の先頭)である場合、SBCD回路34はSYLK=L
となるまで(ロックがはずれるまで)、図10に示すよ
うに、block−topをHの状態とする。bloc
k−top=Lである場合は、SCSYとmain−F
MSYが共にHの状態の場合(セクタの先頭)になった
とき、EFM+W frameの値は、12の次には0
に設定される。すなわち、この場合、EFM+Wfra
meの値は各メインフレーム毎に、0乃至12の値を繰
り返す。
あれば、図11に示すように、EFM+W Frame
の値は、その値が13以上となった場合でも引き続きイ
ンクリメントされる。その結果、図5に示すように各E
CCブロックの各メインフレームのデータがRAM37
の異なるアドレスに順次格納されることになる。
AM37への書き込みが行われると共に、PI1訂正が
実行される。そして、1ECCブロックのデータ(20
8行のデータ)に対するPI1訂正が終了すると、次
に、PO列方向のECC処理(PO訂正)が実行され
る。
は、PO行のインターリーブ(図36)を解除する必要
がある。従って、例えば、図5に示す第Nバイト目の列
を読み出す場合、先ず、インターリーブされたPO行を
スキップしながら、図の上から下方向に第Nバイト目の
列のデータを読み出した後、再度、同じ第Nバイト目の
列のPO行の符号だけを読み出し、ECCコア回路38
に供給する。
を終了すると(図5の右端のPI列(10列)を除く1
72列全ての処理が終了すると)、次に、PI2訂正を
実行する。なお、PI行方向のECC処理を2回実行す
るのは、エラーの訂正能力を向上させるためである。
基づいて生成されたエラーフラグ(PI1フラグ)に応
じてイレージャ訂正が実行される。さらに、PI2訂正
においても、PO訂正の結果に応じて生成されたエラー
フラグ(POフラグ)を利用してイレージャ訂正が実行
される。このようなイレージャ訂正を行うのは、前述の
場合と同様に、エラーの訂正能力を向上させるためであ
る。
ータは、RAM37からOCTL回路39に転送され、
メインデータに対するデスクランブル処理が、図13に
示したセクタ情報のビット3乃至ビット0を用いて、各
セクタ単位で実行される。また、このとき、OCTL回
路39でEDCに関する演算も行われる。そして、その
演算結果や、メインデータに付加されているエラーフラ
グの有無により、対象となるセクタにエラーが存在する
か否かが判定される。ホストCPU40は、その判定結
果に基づいて、光ディスク1から再度データを読み出す
か否かを判定する。その結果、光ディスク1から再度デ
ータを読み出すと判定した場合は、光ディスク1に対す
るアクセスが再度実行される。また、データの読み出し
を再度行わないと判定した場合は、エラーを含むセクタ
のデータが多重化データ分離回路8に出力される。
モン符号エラー訂正用LSIにより構成され、符号長、
パリティ数、および訂正モード(通常訂正のみ、また
は、通常訂正およびイレージャ訂正の2つのモード)な
どをプログラムすることが可能とされている。また、E
CCコア回路38は、多符号連続符号化されたデータ
(符号長が異なる複数の符号系列)もリアルタイムでデ
コードすることが可能である。なお、リードソロモン符
号エラー訂正用LSIとしては、例えば、SONY(商
標)のCXD307−111Gがあり、このLSIを使
用して形成されたASIC(Application Specialized
Integrated Circuit)をECCコアと呼ぶ。なお、図2
に示すECCコア回路38には、このECCコアが使用
されている。
る信号のタイミングを示している。この図において、E
STT(図17(a))は、符号(PI行またはPO
行)の先頭を示すコントロール信号であり、また、EC
DE(図17(b))は、符号(PI行またはPO行)
の最後を示すコントロール信号である。ECYE(図1
7(c))は、符号(PI行またはPO行)サイクルの
最後を示すコントロール信号である。これらはいずれ
も、RAMコントローラ35からECC制御回路36を
介してECCコア回路38に供給される。ECCコア回
路38は、RAM37から供給されるデータを、これら
のコントロール信号から識別する。
からECDEまでの間に、182個のECCKで転送さ
れる。PO符号も、ESTTからECDEまでの間に、
208個のECCKで転送される。
長が異なる場合、符号サイクル長をPI行の符号または
PO列の符号のうち、符号長の長い方(この実施例の場
合、PO列の符号の208)に合わせることにより、訂
正すべきデータ(EDT)およびイレージャ訂正のため
のエラーフラグ(PI1フラグ、PI2フラグ、POフ
ラグ)を、図17に示すように、いずれの符号系列であ
ったとしても、同様のタイミングで入力することができ
る。また、符号長およびパリティ数等のパラメータとし
ては任意の値を設定可能である。すなわち、設定を変更
する際は、ESTT=Hとなるタイミングで、ECCコ
ア回路38に新たな設定データを供給すると、ECCコ
ア回路38は供給されたデータに基づき、内部設定を自
動的に変更する。
に、477ECCKのサイクルで出力される。 throughput=2×NCYC+3×PCYC+13 =2×208+3×16+13=477(ECCK)
O列の符号のうちで長い方の符号長を示し、また、PC
YCは長い方のパリティ数を示している。図17に示す
ように、OSTT(図17(d))は、ESTT(図1
7(a))のタイミングから、データ出力サイクルの時
間だけ遅延して(訂正結果出力のタイミングで)ECC
コア回路38からECC制御回路36に出力されるもの
であり、この実施例では、OSTTはESTTに対して
477ECCKだけ遅延されている。
ラーが訂正可能であれば、ECCコア回路38はECC
制御回路36に対して、OSTT(図18(e))=H
のタイミングでO.CODEERR(図18(g))=
Lを出力し、その後、ECOR(図18(f))=Hの
位置に、エラーパターンを表す8ビットのデータ(誤っ
たデータと排他的論理和をとったとき正しいデータが得
られるデータ)ECD[7:0](図18(h))と、
エラーポジション(エラーのある位置(アドレス)を示
す8ビットのデータ)ECA[7:0](図18
(i))が出力される。
エラーフラグEFLG(図18(c))を入力したポジ
ションに対応するデータのエラーポジションECA
[7:0]データは必ず出力されるが、その位置のデー
タが正しい場合には、エラーパターンはEDC[7:
0]=00(H)となる。
のタイミングチャートは図示していないが、OSTT
(図18(e))がHの状態になると同時に、O.CO
DEERR(図18(g))=Hとなり、その後、EC
OR(図18(f))はHの状態にはならない。また、
ECOD(図18(g))の出力は、OSTT(図18
(e))が再度Hの状態になるまでラッチされ、ECO
R(図18(f))、ECD[7:0](図18
(h))およびECA[7:0](図18(i))は、
OSTT(図18(e))が次にHの状態になるまで出
力され続ける。
のタイミング図を示している。ここで、図19(b)に
示す、PI1−R、PO−R、または、PI2−Rは、
それぞれ、PI1、PO、またはPI2の各系列の、エ
ラーが訂正されるデータEDT[7:0]とEFLG
(図18(c))がRAM37からECC制御回路36
を介してECCコア回路38に転送されるタイミングを
示している。
回路31からRAM37に対して1PI行のデータEF
M+W(182バイトのデータ)を書き込むために、M
WRQ信号が182回供給され、これによりRAM37
に1PI行分のEFM+復調データが書き込まれる。そ
して、この1PI行分のデータの書き込みが行われる間
に、既にRAM37に書き込みが完了しているECCブ
ロックのデータが読み出され、ECC制御回路36を介
してECCコア回路38に転送される。すなわち、1P
I行分のデータをRAM37にゆっくり書き込む間に、
既に書き込みが完了している他のPI行またはPO列の
データの読み出しが、3回迅速に行われる。さらに、セ
クタの先頭のPI行のデータを転送する場合において
は、サブコードデータ(IDとIEC)の読み出しも行
われる。これらの書き込みと読み出しは、一方が行われ
ているとき、他方は中止されている。
う場合においては、1PI行分のデータの書き込みが行
われる期間に、1PI行分のデータの読み出しが行われ
る。すなわち、RAM37から1PI行分のデータが読
み出され、ECC制御回路36を介してECCコア回路
38に転送される。なお、図19(b)においては、こ
のPI1訂正のための読み出しデータPI1−Rの読み
出しに、208個のECCKを用いるようにしている
が、このECCKの数は、最長のデータ長であるPO列
の長さに合わせてあるためであり、PI行のデータを転
送する場合には、実質的には、このうちの182個のE
CCKのみが実際のデータ転送に利用され、残りのEC
CKは、データ転送には実際には用いられない。
PO系列のデータPO−RまたはPI2系列の読み出し
データPI2−Rを転送することはできない。そこで、
この場合においては、次の2×208ECCKのタイミ
ングにおいては、特にデータは転送されない。そして、
その次にサブコードデータ(SUB)が存在する場合に
おいては、これが転送される。
I1−Rのみが転送される。以下、同様にして、合計2
08PI行分のデータ転送が完了した後、次の182M
WRQの期間においては、最初にPI1−Rが転送さ
れ、次にPO−Rが2回転送される(2列分のPOデー
タが転送される)。ただし、このタイミングにおける
(PO−Rと同じ182MWRQの期間で転送される)
PI1−Rは、次のECCブロックのPI行のデータと
なる。
において行われ、合計172列のPOデータが転送され
たとき、次に、PI2系列のデータPI2−Rが転送さ
れる。このデータPI2−Rは、図19(b)に示すデ
ータPO−Rの転送タイミングと同一のタイミングで転
送される。このタイミングにおけるデータPI1−R
は、次のECCブロックのデータのものとなる。
タ転送期間においてのみ、RAMコントローラ35から
ECCコア回路38に出力される。また、上述したよう
に、転送したデータの訂正結果は、その入力から、47
7クロック(ECCK)後に出力されることになる。従
って、ある系列のデータにエラーが含まれているか否か
の判定の結果(図19(c))は、その系列から2つ後
の系列のデータが転送される際に出力されることになる
(図19(b))。この出力は、後述するERR FI
FO回路36b(図20)に格納される。
制御回路36にエラー訂正すべきデータが入力される
と、ECC制御回路36は、その例えば1PI行分のデ
ータのPI1訂正を行い、477ECCK後に訂正結果
を出力する(図19(c))。この訂正結果は、後述す
るECC制御回路36のバッファとしてのERR FI
FO36bに転送され、一時的に格納される。そして、
このデータは、さらにERR FIFO36bから読み
出され、エラー訂正が完了したデータとして、再びRA
M37に転送され、図19(d)に示すように、データ
PI1−Wとして書き込まれる。同様に、PO訂正ある
いはPI2訂正が完了したデータは、それぞれデータP
O−WまたはPI2−Wとして、RAM37に書き込ま
れる。
ラー訂正の完了したデータは、さらに図19(e)に示
すように、182SDCKの周期で各PI行毎に読み出
され、OCTL回路39から出力される。
の信号の流れを示すブロック図である。なお、この図に
おいて、図2に対応する部分には、同一の符号が付して
あるで、その説明は適宜省略する。
は、ERR COUNT36a、ERR FIFO36
b、FLAG RAM36c、およびEX−OR(排他
的論理和)回路36dにより構成されている。
データは、RAMコントローラ35の制御の下、RAM
37に書き込まれる。各セクタの先頭に記憶されている
SUBデータ(IDとIEC)は、RAM37から読み
出され、SBCD回路34に転送される。SBCD回路
34は、図13に示すようなセクタ情報SIを生成す
る。このセクタ情報SIは、SBCD回路34から転送
され、RAM37に書き込まれる。
(記憶手段)に書き込まれている1PI行分のデータを
8ビット毎のエラー訂正データEDTとして、ECC制
御回路36(エラー訂正手段)を介してECCコア回路
38に供給する(図20においては、便宜上、EDTデ
ータがECCコア回路38に直接供給されるように示さ
れている)。ECCコア回路38は、1PI行分のデー
タが供給されたとき、PI符号を用いて、8ビットのエ
ラー訂正データECD(図18(h))と、8ビットの
エラー訂正アドレスECA(図18(i))を生成す
る。このエラー訂正データECDとエラー訂正アドレス
ECAは、ECCコア回路38からECC制御回路36
のERR FIFO(First In First
Out)36bに転送され書き込まれる。
Mコントローラ35は、RAM37から、そのPI行の
データEDTを読み出し、EX−OR回路36dに供給
する。このEX−OR回路36dには、ERR FIF
O36bからエラー訂正データECDとエラー訂正アド
レスECAが供給される。EX−OR回路36dは、エ
ラー訂正アドレスECAで指定されるビットにおいて、
エラー訂正データECDとRAMコントローラ35より
読み出されたデータEDTとの排他的論理和を演算する
ことによりエラー訂正を行う。このエラー訂正の行われ
たデータは、EX−OR回路36dから、RAMコント
ローラ35を介してRAM37に、再び書き戻される。
CAから、図21に示すような8ビットデータにより構
成されるエラー訂正結果ERを生成し、ECC制御回路
36のERR COUNT36aに供給し記憶させる。
そして、この1バイトのエラー訂正結果ERは、RAM
コントローラ35を介して、RAM37に、そのPI行
に対応して図5に示すように書き込まれる。
8ビットデータの各ビットには、以下のような情報が格
納されている。 ビット7:訂正不能(0:訂正可能 / 1:訂正不
能)(その系列のエラー訂正が不可能である場合に1と
される) ビット6:PO(0:PI / 1:PO)(その系列
がPIまたはPOのいずれであるかを判別するための情
報ビット) ビット5:PI2(0:PI1 / 1:PI2)(そ
の系列がPI1、またはPI2のいずれであるかを判別
するための情報ビット) ビット4:訂正数 (エラー訂正数の第5ビット(MS
B)の値) ビット3:訂正数 (4ビットのエラー訂正数の第4ビ
ットの値) ビット2:訂正数 (4ビットのエラー訂正数の第3ビ
ットの値) ビット1:訂正数 (4ビットのエラー訂正数の第2ビ
ットの値) ビット0:訂正数 (4ビットのエラー訂正数の第1ビ
ット(LSB)の値)
たか否かの判定結果を示すエラーフラグ(PI1フラ
グ)(エラー訂正結果ERのビット7)は、エラー訂正
結果ERの一部としてERR COUNT36aに格納
される他、FLAG RAM36c(フラグ記憶手段)
にも格納される。
08個のPI行について行われる。
37から最初のPO列の208バイトのデータを読み出
し、ECC制御回路36を介して、EDTとして、EC
Cコア回路38に供給する。このECCコア回路38に
はまた、FLAG RAM36cに書き込まれているP
I1フラグが読み出され、供給される。ECCコア回路
38は、パリティPOとPI1フラグを利用して、通常
の訂正またはイレージャ訂正のためのECDとECAを
生成する。このECDとECAは、ECCコア回路38
からECC制御回路36のERR FIFO36bに供
給され、記憶される。また、ECCコア回路38が、E
CDとECAに基づき生成した、そのPO列のエラー訂
正結果ERが、ERR COUNT36aに転送され、
記憶される。そして、そのうちのエラー訂正結果ERの
ビット7に対応するPOフラグは、FLAG RAM3
6cにも書き込まれる。
のデータEDTは、EX−OR回路36dに供給され
る。EX−OR回路36dにはまた、ERR FIFO
36bからECDとECAが供給される。EX−OR回
路36dは、ECAにより指定されるアドレスのビット
に対応して、ECDとEDTとの排他的論理和を演算
し、エラー訂正を行う。エラー訂正されたデータは、R
AM37に書き戻される。
は、ERR COUNT36aから読み出され、RAM
37に書き込まれる。PO列のエラー訂正結果ERは、
図5に示すように、上から順番に、172行のPI行に
対応する位置に順番に書き込まれる。
いて行われる。
PI1訂正とPO訂正が行われた後、最初の1PI行分
のデータが、RAM37からEDTとして読み出され、
ECCコア回路38に供給される。ECCコア回路38
にはまた、FLAG RAM36cに書き込まれたPO
フラグが読み出され供給される。ECCコア回路38
は、このPOフラグとパリティPIを用いて、ECDと
ECAと生成し、これをECC制御回路36のERR
FIFO36bに供給する。
たECDとECAは、EX−OR回路36dに供給さ
れ、RAM37から読み出されたPI行のデータと排他
的論理和演算が行われ、エラー訂正が実行される。エラ
ー訂正が完了したデータは、EX−OR回路36dか
ら、RAMコントローラ35を介してRAM37に書き
戻される。
Aから、エラー訂正結果ERを生成し、ECC制御回路
36のERR COUNT36aに供給し記憶させる。
このうちのビット7に対応するPI2フラグは、FLA
G RAM36cにも書き込まれる。
PI2行のエラー訂正結果ERは、ERR COUNT
36aから読み出され、RAM37に書き込まれる。こ
のPI2行のエラー訂正結果ERは、図5に示すよう
に、ECCブロックの208行の各PI行に対応する位
置に書き込まれる。
I行すべてについて行われる。
バスアービトレーション(調停)の様子を示すタイミン
グ図である。この図において、EFMREQ(図22
(a))は、EFM+復調回路31がEFM+復調デー
タのRAM37への書き込みを要求する際に、RAMコ
ントローラ35に対して出力する信号である。OUTR
EQ(図22(b))は、OCTL回路39が、ECC
処理が施されたデータのRAM37からの読み出しを要
求する際に、RAMコントローラ35に出力する信号で
ある。また、ECCREQ(図22(c))は、ECC
制御回路36がECCコア回路38に対してデータを転
送し、エラー訂正をさせるためにRAM37にアクセス
したり、エラー訂正が施されたデータを得るためにRA
M37にアクセスしたり、または、SBCD回路34に
対してSUB転送(IDとIECの転送)を行うために
RAM37にアクセスする場合に、ECC制御回路36
からRAMコントローラ35に出力される信号である。
信号に対して優先順位(Priority Level)を予め設定し
ており、これらの要求が同時になされた場合には、その
優先順位に従って、RAM37のアクセス権を認めるA
CK(認可)信号を順次出力する。EFMACK(図2
2(d))、OUTACK(図22(e))、ECCA
CK(図22(f))は、それぞれ、EFMREQ、O
UTREQ、または、ECCREQに対する認可信号で
ある。この実施例において、前述の優先順位は、OUT
REQ、EFMREQ、ECCREQの順とされてい
る。従って、図22に示すように、RAMコントローラ
35は、この順位に従って、REQ信号に対するACK
信号を出力している。これらの信号は、システムクロッ
クとしてのC11M(図22(g))に同期して授受さ
れる。
7のアクセス権は、所定のサイクル毎にEFMREQ、
ECCREQ、OUTREQの何れか1つに対応して与
えられる。しかし、このサイクルは、RAM37の構
成、種類、または、アクセスのスピードに対応して変更
することも可能である。
してPI1訂正、PI2訂正、およびPO訂正を実行す
る場合に、RAM37がアクセスされる回数を示してい
る。この図に示すように、PI1訂正、PO訂正および
PI2訂正を実行した場合に必要となるRAM37のア
クセスの回数は、1ECCブロックあたり214716
回であり、1メインフレームの平均は1033回とな
る。例えば、EFM+復調データの書き込み動作時にお
けるRAM37のアクセス回数は、1メインフレームあ
たり182回であり、ECCの実行サイクル長は208
バイト(208メインフレーム)とされているので、3
7856(=182×208)回が1ブロックあたりに
必要なアクセス回数となる。このようにして各動作につ
いて必要なアクセス回数を算出し、これらの合計をとっ
たものが前述の値となる。
9を介してエラー訂正結果ERのデータを出力するタイ
ミングを示すタイミング図である。この図は、図19
(e)の182SDCKの期間に先行する部分を、時間
軸を拡大して示している。この図において、SDCK
(図24(a))はERのデータをストリームデータと
して出力する場合のクロック信号を示す。SINF(図
24(b))はセクタ情報ストローブ信号であり、セク
タの先頭においてSINF=Hとなると共に、転送され
るデータがセクタ情報(SI)であることを示す。ES
TB(図24(c))は、エラー訂正結果ストローブ信
号であり、ESTB=Hとなることによりエラー訂正結
果ERが転送されることを示す。なお、各PI行におい
てエラー訂正結果ERは、PI1訂正、PO訂正、およ
びPI2訂正のそれぞれに対して1バイトずつ割り当て
られているので、合計で3バイトとされる。これらのデ
ータは図5に格納されている順序で出力されるので、エ
ラー訂正結果ERのビット5,6(図21)を調べるこ
とにより、どの系列の結果(データ)であるのかを判定
することができる。また、PO訂正の結果が出力されな
いPI行では、PO訂正の結果を出力するタイミングで
ESTB=Lとされる。
[7:0](図24(e))がメインデータであるとき
にDSTB=Hとされるデータストローブ信号である。
SINF、ESTB、またはDSTBの3つの信号は、
OCTL回路39により生成される。なお、図24
(e)に示すように、セクタ情報SIとエラー訂正結果
ERは、182SDCKによりPI行方向のデータを送
出する直前に出力される。
は、メインデータに対するエラーフラグであり、図20
のFLAG RAM36cに格納されているPIとPO
の訂正不能フラグに基づき、エラーのあるメインデータ
に対して補間フラグが付加されて、出力されることにな
る。
セクタのデータが、出力されるべきデータであるか否か
を、SBCD回路34が生成したセクタ情報のビット
4,5(図13)より判定する。セクタ情報のビット
4,5は、図13に示すように、エンドセクタとスター
トセクタとをそれぞれ示している。従って、OCTL回
路39は、ビット4=0かつビット5=1であるセクタ
のデータを、出力が指定された(出力されるべき)セク
タのデータとして、出力する。
ンデータのエラーフラグの有無やEDCの結果などが、
ホストCPU40により予め設定された条件を満足する
か否かも判定し、満足する場合、デコードデータを出力
する。もし、設定された出力条件が満たされない場合に
は、デコードデータの出力を停止し、ホストCPU40
に異常を知らせる。
定される。 (1)出力を指定されたセクタのデータである。 (2)EDC結果からエラーが検出されない。 (3)メインデータにエラーフラグが全く付加されてい
ない。 出力条件がこのように設定された場合、これらの条件を
全て満足するデータが最終的に出力される。また、以上
の条件に拘らず、ホストCPU40により強制的に出力
を禁止することができる。
はないことは勿論である。
の結果に対応してそれぞれ生成されたPI1フラグ、P
I2フラグ、またはPOフラグは、ECC制御回路36
のFLAG RAM36cに格納される。
タを、8ビット幅で構成されているRAM37の所定の
領域に格納し、読み出す部分のECC制御回路36の内
部の構成を示すブロック図である。
蔵されている1−8変換回路50は、FLAG RAM
36cより読み出された各行または各列毎に1ビットの
PIフラグまたはPOフラグ(図21のビット7)を8
ビットのパラレルデータに変換する。RAM37は、8
ビットに変換されたデータを格納する。ECC制御回路
36に内蔵されているフリップフロップ52−1乃至5
2−26は、FIFO方式によりデータを格納するよう
になされている。8−1変換回路53は、8ビットデー
タを1ビットのデータに変換する。また、WE発生回路
56は、フリップフロップ52−1乃至52−26に対
するデータの書き込み動作の制御を行う。また、OE発
生回路55は、同じくフリップフロップ52−1乃至5
2−26からデータを読み出す際の制御を行う。
る。
ビットのPIフラグ(PI1フラグまたはPI2フラ
グ)またはPOフラグは、1−8変換回路50により8
ビットのパラレルデータに変換される。すなわち、各E
CCブロックの先頭のPI行より、8行毎にデータがま
とめられ、バイトデータに変換される。そして、このバ
イトデータは、各ECCブロックのデータと共にアクセ
スできるように、RAM37へ格納される。
行であり、各PI行のPIフラグは、1ビットであるの
で、26(=208/8)バイトの格納領域が必要とな
り、また、PO列は1ECCブロックあたり、172列
であるので、POフラグの格納のためには、約22(≒
21.5=172/8)バイトの格納領域が必要とな
る。
ット単位のデータは、RAMコントローラ35により読
み出され、WE発生回路56の制御に従って、8ビット
単位でフリップフロップ52−1乃至52−26に記憶
される。8−1変換回路53は、OE発生回路55の制
御に応じてフリップフロップ52−1乃至52−26か
ら出力される8ビット単位のデータを、1ビット単位の
データに変換する。そして、得られた1ビット単位のデ
ータは、転送するデータの各系列のPI行(またはPO
列)の番号に対応させてECCコア回路38のエラーフ
ラグの入力端子であるEFLG端子に供給される。
の処理が行われるときに実行されるが、PO訂正とPI
2訂正は、ECCブロック単位で順次実行されることか
ら、図25の回路は、PO訂正とPI2訂正で共通に使
用することが可能である。但し、OE発生回路55によ
るフリップフロップ52−1乃至52−26からのデー
タの読みだしのタイミングと、8−1変換回路53から
のデータの読み出しのタイミングについては、PI2訂
正とPO訂正のそれぞれの場合で変更が必要である。
グ(OUTF)を生成し、読み出す部分の回路の構成の
一例を示すブロック図である。この図に示すように、補
間フラグ読み出し回路は、FIFO方式でRAM37か
らの8ビット単位のデータを格納するフリップフロップ
71−1乃至71−22、フリップフロップ71−1乃
至71−22より出力された8ビット単位のデータを1
ビット単位のデータに変換する8−1変換回路72、O
UTF(補間フラグ)を発生するOUTF発生回路(補
間フラグ生成手段)73、フリップフロップ71−1乃
至71−22にデータを書き込む際の制御を行うWE発
生回路75、および、フリップフロップ71−1乃至7
1−22からデータを読み出す際の制御を行うOE発生
回路74により構成されている。
る。
た8ビット単位のPOフラグのデータは、WE発生回路
75の制御のもとに、フリップフロップ71−1乃至7
1−22に供給され、8ビット単位で書き込まれる。そ
して、このPOフラグのデータは、OE発生回路74の
制御のもと読み出され、8−1変換回路72により、8
ビット単位のデータから1ビット単位のデータに変換さ
れる。
ト単位のPI2訂正のエラー訂正結果ERと、8ビット
単位のセクタ情報SIも、OUTF発生回路73に供給
される。OUTF発生回路73は、8−1変換回路72
より供給されたPOフラグと、PI2訂正のエラー訂正
結果ERのうち、PI2フラグ(ビット7)とエラー訂
正数(ビット4乃至ビット0)、並びにセクタ情報SI
の補間フラグ生成モード(ビット7)に対応して、補間
フラグ(OUTF)を生成する。この補間フラグの生成
処理の詳細については、図31と図32のフローチャー
トを参照して後述する。
おいて、エラーフラグは、RAM37以外の記憶装置に
記憶させるようにしてもよい。また、これらの実施例で
は、FIFO方式の記憶装置(フリップフロップ52−
1乃至52−26またはフリップフロップ71−1乃至
71−22)を用いたが、FIFO方式以外の記憶装置
を用いることも可能である。さらに、RAM37が1ビ
ット幅である場合は、1−8変換回路50、および8−
1変換回路53,72を省略することも可能である。
設定方法、および、データが訂正不能であるか否かの判
定方法について説明する。
(エラー訂正モード)について説明する。ECCコア回
路38は、図27に示すように、動作モードに関する入
力端子としてEUP,EFLG,P,PCYC,X,
Y,Tの各端子を有し、動作モードに関する出力端子と
してO.YOVER,O.CODEERRの各端子を有
している。
は、そのEUP端子に印加される信号により変更するこ
とができる。つまり、EUP端子に印可される信号がL
の状態である場合には、シンドローム訂正(通常の訂
正)のみが実行され、また、EUP端子に印可される信
号がHの状態である場合には、先ず、イレージャ訂正が
実行され、訂正能力に余裕がある場合には、通常訂正が
続いて実行される。
R端子の出力は、そのEFLG端子に入力されるエラー
フラグの数が、予め設定されている所定の値を越えた場
合にHの状態となり、エラー訂正が不能の状態を示す。
なお、EUP端子がHの状態(イレージャ訂正+通常訂
正モードが選択された状態)である場合に、O.YOV
ER端子がHの状態になると、エラー訂正が不能とはさ
れずに、通常の訂正が実行される。これは、エラー以外
の原因でフラグが立ったデータを、通常訂正モードでエ
ラー訂正できるようにするためである。
うに、エラーの数に応じて、ECCコア回路38のEF
LG端子(図25、図27)に対して出力するEFLG
信号(エラーフラグに対応する信号)の状態を切り換え
る。
で、ECDが全て0である場合のデータは正しいデータ
であるとみなし、訂正を実行しない。従って、データの
訂正数は、エラー位置ECAまたはエラーパターンEC
Dの出力数より空フラグのECDの数を減じた値とな
る。
正が生じた場合には、ECCコア回路38は、O.CO
DEERR=H、O.YOVER=Lを出力する。従っ
て、これらの信号を参照することにより誤訂正の発生を
検出することができる。
ャ訂正を実行する場合、POフラグの入力数が7であれ
ば、O.CODEERR=H、O.YOVER=Lとな
る。この場合、フラグが付加されていないデータエラー
が1個以上存在することになる。
訂正不能のエラーがある場合、PO訂正において誤訂正
が生じたことになる。そこでこの場合、POフラグが立
っていないところにエラーが生じているので、OUTF
=1とする。
O.YOVERの信号レベル(論理)は、flagとし
てRAM37に記録され、ECC制御回路36による補
間フラグの生成時に使用される。例えば、PI1訂正、
PO訂正、およびPI2訂正の3つの訂正を実行する場
合、PI2訂正のエラー訂正結果ERの訂正数(図21
のビット4乃至ビット0)を以下のようにして設定する
ことにより、誤訂正を判別することができる。
O.YOVER=“L”の場合は、訂正結果の訂正数=
実際のエラー訂正数(訂正が実行された場合) (B) O.CODEERR=“H”,O.YOVER
=“H”の場合は、訂正結果の訂正数=0(訂正が不能
であった場合) (C) O.CODEERR=“H”,O.YOVER
=“L”の場合は、訂正結果の訂正数=1F(H)(誤
訂正があった場合) なお、このIF(H)の設定は、実際にはあり得ない訂
正数として、5ビットで表現できる最大の値を設定する
ことを意味する。
コア回路38の出力からECC制御回路36が行うエラ
ーフラグの生成方法の例について詳述する。
(ECCコア回路38の端子に印加される信号)等の意
味を以下に示す。
値を設定する端子(訂正能力の設定を行う端子)
を示す信号の出力端子(L:訂正可能なエラーを含む
か、またはエラーを含まない H:訂正不能) O.YOVER:対象とする系列のERROR信号(フ
ラグの入力数)の合計が、訂正能力の設定値を越えた場
合にHとなる端子。
より、エラーの訂正を実行する場合 ×:O.CODEERRとO.YOVER出力の状態に
より、エラーの訂正を実行しない場合
実行されないので、その系列のエラーフラグ=Hとされ
る。
は、PI1訂正を行うとき、ECCコア回路38の端子
EFLGに入力されるフラグ入力ERRORをLとす
る。このとき、通常訂正が行われる。また、PO訂正を
行う場合においては、ECC制御回路36は、ECCコ
ア回路38のEFLG端子に対する入力ERRORをP
O flagとする。このとき、イレージャ訂正が行わ
れる。従って、図28におけるPI flagは、ER
ROR=Lのとき、PI1フラグとなり、ERROR=
PO flagのとき、POフラグとなる。
X,Y,Tの各パラメータに対して、図28に示すよう
な設定を行い、ECCコア回路38のO.CODEER
R端子とO.YOVER端子から、それぞれLが出力さ
れたとき、エラー訂正処理を実行し、PIフラグまたは
POフラグとして、Lを設定する。
ERR端子からHが出力され、O.YOVER端子から
Lが出力されたときは、エラー訂正を実行せず、PIフ
ラグまたはPOフラグをHとする。さらに、O.COD
EERR端子からHが出力され、O.YOVER端子か
らHが出力されたときは、エラー訂正を行わず、PIフ
ラグまたはPOフラグをHとする。前者の場合は、誤訂
正があったことを意味し、後者の場合は、エラー訂正が
不能であったことを意味する。
Y,T=10は、訂正能力としては10まで設定できる
が、エラーが多いときなどは、誤訂正のおそれがあるの
で、より小さい値8に設定してもよい。
ジャ訂正)を行う場合においては、図29に示すよう
に、ECCコア回路38のEFLG端子に対する入力E
RRORをPI1 flagとする。そして、そのO.
CODEERR端子と、O.YOVER端子の出力が、
それぞれL,Lであるとき、ECC制御回路36は、エ
ラー訂正を実行し、POフラグをLとする。また、EC
Cコア回路38の2つの出力が、H,L(誤訂正があっ
た場合)またはH,H(訂正不能である場合)であると
き、ECC制御回路36はエラー訂正を実行せず、PO
フラグをHとする。
説明する。図30は、補間フラグを生成する第1の方法
について示している。この方法においては、3つの方法
のいずれか2つのうちの一方が選択できるようになされ
ている。
ラグとPI2フラグの論理積を補間フラグとする方法、
POフラグとPI2フラグの論理和を補間フラグとする
方法、さらにPI2訂正により誤訂正がなければPOフ
ラグとPI2フラグの論理積を補間フラグとし、PI2
訂正において誤訂正があった場合には、POフラグとP
I2フラグの論理和を補間フラグとする方法のうちのい
ずれか2つの方法が先ず選択される。
を、それぞれを図13に示すセクタ情報SIのビット7
の補間フラグ生成モード設定ビットの1または0に、対
応させる。これにより、セクタ情報SIのビット7に対
応するモードで補間フラグが生成されることになる。
論理積または論理和を用いて、補間フラグを生成するこ
とにより、EDCチェックの結果、エラーの存在が発見
されたセクタのデータであっても、実際には誤っていな
いデータは、補間せずに、そのまま利用することが可能
となる。
ット7により、モードを選択するようにしたが、ホスト
CPU40により、モードを強制的に変更することも可
能である。
ついて、図31と図32のフローチャートを参照して説
明する。
(第2のフラグ生成手段)において、ECC制御回路3
6は、PO訂正の結果、エラーの訂正が不能である1バ
イトのデータに対しては、そのデータに対応する1ビッ
トのPOフラグを1にし、それ以外のデータに対して
は、POフラグを0にして、そのフラグをRAM37に
格納させる。次に、ステップS22(第1のフラグ生成
手段)において、ECC制御回路36は、PI2訂正の
結果、エラーの訂正が不能であるデータに対応するPI
2フラグを1とし、その他のデータに対するPOフラグ
を0にして、RAM37に格納させる。
において誤訂正が生じたか否かの検出結果がRAM37
に格納される。すなわち、図28に示したように、PI
2訂正(イレージャ訂正)で、誤訂正が生じた場合は、
O.CODEERR=“H”、かつ、O.YOVER=
“L”となるので、ECC制御回路36は、ECCコア
回路38のこれらの端子の状態を読み込み、RAM37
に格納させる。
9はセクタのEDCのチェックを実行する。その結果、
セクタデータにエラーが無い(YES)と判定された場
合は、ステップS25に進む。ステップS25において
は、そのセクタの補間フラグを0にする。補間フラグ
は、予め0に設定しておき、エラーが存在したときだけ
1に設定する場合には、このステップにおいては特別な
処理を行わないで済む。
フラグとともに出力される。
メインデータに対して、1ビットの補間フラグが対応し
て出力される。1つのECCブロックにおけるメインデ
ータは、192×172バイト存在するため、補間フラ
グは、192×172ビット存在することになる。
をチェックした結果、そのセクタにはエラーが存在する
(NO)と判定された場合においては、ステップS27
に進む。ステップS27においては、ホストCPU40
が、光ディスク1を再度読み出すのか(1)、またはエ
ラーデータに補間フラグを付加して出力するのか(2)
を選択する。光ディスク1を再び再生することが選択さ
れた場合、ステップS28に進み、ホストCPU40
は、光ディスク1から、再びそのセクタを含むデータを
再生させる。そして、再生された結果得られたデータに
ついて、ステップS21以降の処理が実行される。
補間フラグを付加して出力することが選択された場合に
おいては、ステップS29に進む。ステップS29にお
いては、そのセクタのメインデータ(12×172バイ
トのデータ)のすべてに対応するPOフラグとPI2フ
ラグの論理積を演算し、その論理積がすべて0であるか
否かを判定する。
データのPOフラグとPI2フラグの論理積が0である
と判定された場合、いまステップS24において、その
セクタのEDCをチェックした結果、このセクタのデー
タにはエラーが存在すると判定されているのであるか
ら、エラーが存在するにも拘らず、エラーの存在を表す
フラグが設定されていない状態であることになる。すな
わち、この場合、PI1訂正、PO訂正、またはPI2
訂正において、誤訂正が行われたことになる。そこで、
この場合においては、ステップS30(補間フラグ生成
手段)に進み、そのセクタのすべてのPI行(12PI
行)の補間フラグを1に設定する。すなわち、12×1
72ビットの補間フラグをすべて1に設定する。
を補間フラグとともに、OCTL回路39から出力す
る。
データのPOフラグとPI2フラグの論理積が0ではな
いと判定された場合(少なくとも1つのメインデータに
ついてのPOフラグとPI2フラグの論理積が1である
と判定された場合)、ステップS31に進み、PI2訂
正の訂正数が1Fであるか否かを判定する。すなわち、
図25と図27を参照して上述したように、ECCコア
回路38の出力が、O.CODEERR=H、且つ、
O.YOVER=Lの場合は、誤訂正があった場合であ
るので、エラー訂正結果ERの訂正数(図21のビット
4乃至ビット0)に、実際の訂正能力以上の所定の値
(いまの場合1F)が設定されている。PI2訂正にお
いて、誤訂正が行われた場合においては、このPI2訂
正の訂正数が1Fに設定されていることになる。ステッ
プS31において、最初のPI行のPI2訂正の訂正数
が1Fに設定されていると判定された場合(PI2訂正
において誤訂正がなされたと判定された場合)、ステッ
プS32(補間フラグ生成手段)に進み、PI2訂正の
訂正数が1Fと設定されているそのPI行の補間フラグ
(1×172ビットの補間フラグ)に1を設定する。
クの結果、エラーが存在すると判定されたセクタの12
PI行のすべてについて、処理が終了したか否かが判定
される。すべてのPI行についての処理が終了していな
い場合、ステップS34に進み、次のPI行が選択され
る。そして、さらにステップS31に戻り、新たに選択
したPI行について、同様の処理が実行される。
べてのPI行(12PI行)についての処理が終了した
と判定された場合、ステップS26に戻り、メインデー
タを補間フラグとともに出力する処理が実行される。
正数が1Fではないと判定された場合、エラーは存在す
るが、誤訂正は存在しないということになる。すなわ
ち、この場合においては、フラグに信頼性が存在するこ
とになるので、ステップS35に進み、そのPI行のメ
インデータの補間フラグに、POフラグとPI2フラグ
の論理積を設定する処理が実行される。
のPI行の補間フラグがすべて1に設定されるのである
が、ステップS35(補間フラグ生成手段)の処理にお
いては、POフラグとPI2フラグに信頼性が存在する
ため、その論理積が補間フラグとして利用される。補間
フラグとともに出力されたメインデータは、後段の回路
において、補間フラグに1が設定されている場合におい
ては、補間処理が実行されるのであるが、ステップS3
5の処理のように、補間フラグを設定すれば、実際にエ
ラーの存在するデータだけを補間し、エラーの存在しな
いデータは、そのまま用いることが可能となる。この
点、従来、EDCチェックの結果、エラーが存在すると
判定された場合、そのセクタに属するすべてのメインデ
ータについて、その補間フラグを1に設定する処理が行
われる(従って、そのセクタのすべてのメインデータに
対して補間処理が行われる)のと大きく異なっている。
3に進み、そのセクタのすべてのPI行についての処理
が終了したか否かが判定され、処理が終了していないP
I行が存在する場合においては、ステップS34におい
て、新たなPI行が選択され、ステップS31におい
て、その新たなPI行についての処理が同様に実行され
る。
に基づいて生成されたエラーフラグによりイレージャ訂
正を実行することで、エラーの訂正能力を高めることが
できる。また、各系列のエラーフラグに基づき、デコー
ドデータ1バイト毎にエラーフラグを付けて後段のデコ
ーダ14,16(図33)に転送することにより、エラ
ーデータの補間処理が可能となる。
を補間することが適当でないデータの場合は、誤訂正が
生ずる確率が低くなるようにエラー訂正モードを設定
し、また、オーディオデータや映像データのように、補
間が可能なデータに対しては、訂正不可能となる確率を
下げるとともに、エラー検出もれ確率を抑制するように
エラー訂正モードを設定することができる。それによ
り、それぞれのセクタに記録されているデータの性質に
合ったエラー訂正をセクタ単位で実行することが可能と
なる。
39において、デスクランブル処理、EDCチェック、
出力条件判断を行うようにしたが、OCTL回路39の
後段に、さらに別の回路を設け、後段の多重化データ分
離回路8からの転送要求に従って出力条件が充足されて
いる訂正後のデータを出力させる制御を行わせるように
することもできる。
実行する前に、セクタ情報のビット4,5(図13)を
参照して、出力が要求されているセクタのデータに対し
てのみPI2訂正を実行することもできる。すなわち、
ビット4,5を参照して、出力が要求されていないデー
タは、リングバッファ制御回路6のリードポインタによ
り、それらのデータをスキップするようにすればよい。
37)からOCTL回路39にデータを転送する際に
も、OCTL回路39から出力を要求されているデータ
だけを、上述のように、リードポインタを用いて選択す
ることができる。
訂正処理(PO訂正)と、行方向に2回の訂正処理(P
I1訂正およびPI2訂正)を行うようにしたが、本発
明は、このような場合のみに限定されるものではなく、
各方向に、それ以上の回数の訂正を行う場合にも適用可
能であることは言うまでもない。
項8に記載の復号化方法によれば、復号化の対象となる
データを記憶し、行方向と列方向に対してそれぞれエラ
ー訂正処理を行い、行方向に対するエラー訂正の結果に
応じて第1のフラグを生成し、列方向に対してエラー訂
正を実行した結果に応じて第2のフラグを生成するよう
にしたので、補間フラグを直ちに生成する必要がなくな
り、エラー訂正の処理単位より小さい単位で、補間フラ
グの生成方法を変更することが可能となる。
ることが可能となり、補間フラグを記憶するメモリの容
量を低減することが可能となり、低コスト化を図ること
ができる。
示す図である。
ロック図である。
ある。
である。
AM37における格納方法の例を示す図である。
を説明するタイミング図である。
フローチャートである。
説明するフローチャートである。
補間処理を説明するフローチャートである。
ある。
グ図である。
のタイミング図である。
図である。
するフローチャートである。
明するフローチャートである。
明するフローチャートである。
信号のタイミング図である。
信号のタイミング図である。
ングを示すタイミング図である。
図である。
を示す図である。
ションを示すタイミング図である。
7をアクセスする回数を示す図である。
るタイミングを示すタイミング図である。
構成例を示すブロック図である。
の回路の構成例を示すブロック図である。
説明する図である。
を説明するフローチャートである。
ある。
である。
ある。
説明する図である。
図である。
説明するフローチャートである。
路, 34 SBCD回路, 35 RAMコントロー
ラ, 36 ECC制御回路, 37 RAM,39
OCTL回路, 38 ECCコア回路, 40 ホス
トCPU, 73 OUTF発生回路
Claims (8)
- 【請求項1】 符号化された情報を復号化し、もとの情
報を得る復号化装置において、 復号化の対象となるデータを記憶する記憶手段と、 前記記憶手段に記憶された前記データの行方向と列方向
に対してそれぞれエラー訂正処理を行うエラー訂正手段
と、 前記記憶手段に記憶された前記データの行方向に対して
前記エラー訂正手段がエラー訂正を実行した結果に応じ
て、行単位でエラーの有無を表す第1のフラグを生成す
る第1のフラグ生成手段と、 前記記憶手段に記憶された前記データの列方向に対して
前記エラー訂正手段がエラー訂正を実行した結果に応じ
て、列単位でエラーの有無を表す第2のフラグを生成す
る第2のフラグ生成手段とを備えることを特徴とする復
号化装置。 - 【請求項2】 前記第1のフラグ生成手段は、前記記憶
手段に記憶された前記データの行方向と列方向のエラー
訂正の後、さらに行方向に対して第2回目のエラー訂正
を前記エラー訂正手段が実行したとき、第2回目の行方
向のエラー訂正結果に対応して、前記第1のフラグを生
成することを特徴とする請求項1に記載の復号化装置。 - 【請求項3】 前記第1のフラグと第2のフラグに応じ
て補間フラグを生成する補間フラグ生成手段をさらに備
えることを特徴とする請求項1に記載の復号化装置。 - 【請求項4】 前記補間フラグ生成手段は、前記補間フ
ラグの生成方法を所定のデータ単位で変更することを特
徴とする請求項3に記載の復号化装置。 - 【請求項5】 前記補間フラグ生成手段は、前記第1の
フラグと前記第2のフラグの間の論理積または論理和に
対応して、前記補間フラグを生成することを特徴とする
請求項3に記載の復号化装置。 - 【請求項6】 前記補間フラグ生成手段は、前記エラー
訂正手段による誤訂正の有無に応じて前記補間フラグを
生成することを特徴とする請求項3に記載の復号化装
置。 - 【請求項7】 前記第1のフラグと第2のフラグを記憶
するフラグ記憶手段をさらに備えることを特徴とする請
求項1に記載の復号化装置。 - 【請求項8】 符号化された情報を復号化し、もとの情
報を得る復号化方法において、 復号化の対象となるデータを記憶する記憶ステップと、 前記記憶ステップで記憶された前記データの行方向と列
方向に対してそれぞれエラー訂正処理を行うエラー訂正
ステップと、 前記記憶ステップで記憶された前記データの行方向に対
して前記エラー訂正ステップがエラー訂正を実行した結
果に応じて、行単位でエラーの有無を表す第1のフラグ
を生成する第1のフラグ生成ステップと、 前記記憶ステップで記憶された前記データの列方向に対
して前記エラー訂正ステップがエラー訂正を実行した結
果に応じて、列単位でエラーの有無を表す第2のフラグ
を生成する第2のフラグ生成ステップとを備えることを
特徴とする復号化方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21349296A JP3562544B2 (ja) | 1996-08-13 | 1996-08-13 | 復号化装置および復号化方法 |
| US08/901,290 US5886654A (en) | 1996-08-13 | 1997-07-31 | Apparatus and method for decoding data using flags to indicate decoding errors in data rows and columns |
| EP97305878A EP0825603A3 (en) | 1996-08-13 | 1997-08-04 | Apparatus and method for decoding data |
| CN97118563A CN1127086C (zh) | 1996-08-13 | 1997-08-13 | 用数据行和列译码错误标记来对数据译码的设备和方法 |
| KR1019970038619A KR19980018647A (ko) | 1996-08-13 | 1997-08-13 | 데이터 행과 열에서 복호화 에러를 나타내는 플래그를 이용해 데이터를 복호화하는 장치 및 방법 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21349296A JP3562544B2 (ja) | 1996-08-13 | 1996-08-13 | 復号化装置および復号化方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1055630A true JPH1055630A (ja) | 1998-02-24 |
| JP3562544B2 JP3562544B2 (ja) | 2004-09-08 |
Family
ID=16640104
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21349296A Expired - Fee Related JP3562544B2 (ja) | 1996-08-13 | 1996-08-13 | 復号化装置および復号化方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5886654A (ja) |
| EP (1) | EP0825603A3 (ja) |
| JP (1) | JP3562544B2 (ja) |
| KR (1) | KR19980018647A (ja) |
| CN (1) | CN1127086C (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000040079A (ja) * | 1998-07-24 | 2000-02-08 | Fujitsu Ltd | 並列データ分析装置 |
| KR100335438B1 (ko) * | 1999-03-22 | 2002-05-04 | 윤종용 | 고밀도 디스크를 위한 에러 정정 코드 블록 구조와 그 에러 정정방법 |
| US6415411B1 (en) | 1998-12-28 | 2002-07-02 | Nec Corporation | Error correcting decoder |
| CN100383886C (zh) * | 1998-02-25 | 2008-04-23 | 松下电器产业株式会社 | 纠错装置和纠错方法 |
| US9166624B2 (en) | 2010-05-11 | 2015-10-20 | Osaka University | Error-correcting code processing method and device |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100244190B1 (ko) * | 1997-08-29 | 2000-02-01 | 구자홍 | 동기신호 검출회로 |
| JP3945602B2 (ja) * | 1998-04-14 | 2007-07-18 | 富士通株式会社 | 訂正検査方法及び訂正検査装置 |
| KR100620184B1 (ko) * | 1999-02-04 | 2006-09-01 | 엘지전자 주식회사 | 재생데이터의 오류정정방법 |
| EP1223578A3 (en) * | 2000-12-12 | 2008-07-16 | Kabushiki Kaisha Toshiba | Data processing method using error-correcting code and an apparatus using the same method |
| KR100856399B1 (ko) * | 2002-01-23 | 2008-09-04 | 삼성전자주식회사 | 디코딩 방법 및 그 장치 |
| US7177658B2 (en) | 2002-05-06 | 2007-02-13 | Qualcomm, Incorporated | Multi-media broadcast and multicast service (MBMS) in a wireless communications system |
| JP2006517048A (ja) * | 2003-01-21 | 2006-07-13 | エルジー エレクトロニクス インコーポレーテッド | エラー訂正ブロックをエンコーディング及びデコーディングする方法 |
| JP2004253099A (ja) | 2003-02-21 | 2004-09-09 | Toshiba Corp | シンクフレーム構造、情報記憶媒体、情報記録方法、情報再生方法、および情報再生装置 |
| US8804761B2 (en) * | 2003-08-21 | 2014-08-12 | Qualcomm Incorporated | Methods for seamless delivery of broadcast and multicast content across cell borders and/or between different transmission schemes and related apparatus |
| US8694869B2 (en) * | 2003-08-21 | 2014-04-08 | QUALCIMM Incorporated | Methods for forward error correction coding above a radio link control layer and related apparatus |
| US7318187B2 (en) * | 2003-08-21 | 2008-01-08 | Qualcomm Incorporated | Outer coding methods for broadcast/multicast content and related apparatus |
| CN100359587C (zh) * | 2003-12-10 | 2008-01-02 | 联发科技股份有限公司 | 用于单晶片电子电路的影音编解码方法 |
| JP2006004560A (ja) * | 2004-06-18 | 2006-01-05 | Elpida Memory Inc | 半導体記憶装置及びその誤り訂正方法 |
| CN100524234C (zh) * | 2004-11-30 | 2009-08-05 | 威盛电子股份有限公司 | 进行误差检查的方法及相关装置 |
| US20100169742A1 (en) * | 2008-12-29 | 2010-07-01 | Texas Instruments Incorporated | Flash memory soft error recovery |
| CN101667837B (zh) * | 2009-08-21 | 2013-04-10 | 苏州国芯科技有限公司 | 一种基于理德-所罗门码的ecc控制器 |
| GB201122022D0 (en) * | 2011-12-20 | 2012-02-01 | Imagination Tech Ltd | Method and apparatus for compressing and decompressing data |
| US10114696B2 (en) * | 2016-07-14 | 2018-10-30 | International Business Machines Corporation | Tracking data access in a dispersed storage network |
| US11057060B1 (en) * | 2020-03-23 | 2021-07-06 | Sage Microelectronics Corporation | Method and apparatus for matrix flipping error correction |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3486471T2 (de) * | 1983-12-20 | 1999-09-02 | Sony Corp. | Verfahren und Vorrichtung zur Dekodierung eines Fehler-Korrektur-Code |
| EP0156440B1 (en) * | 1984-03-24 | 1990-01-24 | Koninklijke Philips Electronics N.V. | An information transmission method with error correction for user words, an error correcting decoding method for such user words, an apparatus for information transmission for use with the method, a device for information decoding for use with the method and an apparatus for use with such device |
| JP2970994B2 (ja) * | 1994-05-25 | 1999-11-02 | 三洋電機株式会社 | 誤り訂正復号回路 |
-
1996
- 1996-08-13 JP JP21349296A patent/JP3562544B2/ja not_active Expired - Fee Related
-
1997
- 1997-07-31 US US08/901,290 patent/US5886654A/en not_active Expired - Fee Related
- 1997-08-04 EP EP97305878A patent/EP0825603A3/en not_active Withdrawn
- 1997-08-13 KR KR1019970038619A patent/KR19980018647A/ko not_active Ceased
- 1997-08-13 CN CN97118563A patent/CN1127086C/zh not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100383886C (zh) * | 1998-02-25 | 2008-04-23 | 松下电器产业株式会社 | 纠错装置和纠错方法 |
| JP2000040079A (ja) * | 1998-07-24 | 2000-02-08 | Fujitsu Ltd | 並列データ分析装置 |
| US6415411B1 (en) | 1998-12-28 | 2002-07-02 | Nec Corporation | Error correcting decoder |
| KR100335438B1 (ko) * | 1999-03-22 | 2002-05-04 | 윤종용 | 고밀도 디스크를 위한 에러 정정 코드 블록 구조와 그 에러 정정방법 |
| US9166624B2 (en) | 2010-05-11 | 2015-10-20 | Osaka University | Error-correcting code processing method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1127086C (zh) | 2003-11-05 |
| US5886654A (en) | 1999-03-23 |
| JP3562544B2 (ja) | 2004-09-08 |
| EP0825603A2 (en) | 1998-02-25 |
| KR19980018647A (ko) | 1998-06-05 |
| EP0825603A3 (en) | 1999-03-17 |
| CN1175771A (zh) | 1998-03-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3562544B2 (ja) | 復号化装置および復号化方法 | |
| JP3305966B2 (ja) | データ復号装置及びその方法並びにデータ再生装置 | |
| US20040257900A1 (en) | Data recording method, recording medium and reproduction apparatus | |
| TW318240B (ja) | ||
| US7370262B2 (en) | Apparatus and method generating error flag for error correction | |
| JPS62217468A (ja) | デイジタル情報の記録/再生方法及び装置 | |
| JPH07254239A (ja) | 記録媒体およびその記録装置ならびに再生装置 | |
| US7007222B2 (en) | Apparatus for accessing data stored on an optical disc | |
| JP2005322394A (ja) | デジタルデータの符号化装置とdvdへの記録装置及びその方法 | |
| JP4140344B2 (ja) | 復号化装置及びコンピュータプログラム | |
| US6804182B2 (en) | Optical disc reproducing apparatus and semiconductor integrated circuit and therefor | |
| JPS6123597B2 (ja) | ||
| JP3564910B2 (ja) | データ再生装置及びデータ再生方法 | |
| JPH11297000A (ja) | データ生成方法及びデータ生成装置 | |
| JPH09265730A (ja) | データ再生装置、再生方法 | |
| JP3759992B2 (ja) | 記録情報再生装置 | |
| JP3259359B2 (ja) | データ再生装置及び方法 | |
| US6687871B2 (en) | Digital signal processing apparatus for reproducing optical disc data and optical disc player having the same | |
| US7564752B2 (en) | Disc signal evaluation apparatus and disc signal evaluation method | |
| JPS63157374A (ja) | 符号誤り訂正方法 | |
| JP3740256B2 (ja) | 誤り訂正符号復号化装置及び誤り訂正符号復号化方法 | |
| JP2000057712A (ja) | データ再生装置およびこれを具備した電子機器 | |
| JPH10320933A (ja) | 光ディスク再生信号処理回路 | |
| JP4504591B2 (ja) | 光ディスク記録方法及び記録再生装置 | |
| JPH038176A (ja) | デジタルデータ記録用ベリファイ方法および装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031226 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040127 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040329 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040414 |
|
| 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: 20040512 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040525 |
|
| LAPS | Cancellation because of no payment of annual fees |