JP3306413B2 - 誤り訂正装置および誤り訂正方法 - Google Patents

誤り訂正装置および誤り訂正方法

Info

Publication number
JP3306413B2
JP3306413B2 JP2000207160A JP2000207160A JP3306413B2 JP 3306413 B2 JP3306413 B2 JP 3306413B2 JP 2000207160 A JP2000207160 A JP 2000207160A JP 2000207160 A JP2000207160 A JP 2000207160A JP 3306413 B2 JP3306413 B2 JP 3306413B2
Authority
JP
Japan
Prior art keywords
error
data
error correction
check
processing
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.)
Expired - Fee Related
Application number
JP2000207160A
Other languages
English (en)
Other versions
JP2001292066A (ja
Inventor
達史 大山
宏樹 永井
英樹 山内
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2000207160A priority Critical patent/JP3306413B2/ja
Priority to KR1020010004290A priority patent/KR100685360B1/ko
Priority to US09/772,072 priority patent/US6772385B2/en
Priority to CNB011119756A priority patent/CN1199177C/zh
Priority to CNB2005100095619A priority patent/CN100380507C/zh
Publication of JP2001292066A publication Critical patent/JP2001292066A/ja
Application granted granted Critical
Publication of JP3306413B2 publication Critical patent/JP3306413B2/ja
Priority to US10/845,091 priority patent/US7181483B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ転送システ
ムのための誤り訂正装置および誤り訂正方法に関し、特
に積符号などの多次元符号の誤り訂正と検査を高速に処
理するための装置および方法に関する。
【0002】
【従来の技術】大量の情報量を有する映像情報等の記録
再生や伝送がデジタル信号として行なわれるようになる
に伴い、記録された情報あるいは伝送される情報に対す
る信頼性を高めるために誤り訂正および誤り検査の重要
度が増大する。とくに、リアルタイムでの記録や再生が
必要となる場合、このような大量の情報に対する誤り訂
正や検査を行なうためには、高速な処理が必要になる。
【0003】従来のデータ転送システム、たとえば記録
再生可能な光磁気ディスク装置は、受信したデータに積
符号からなる誤り訂正符号を付加して、記憶媒体にデー
タの格納を行なう。
【0004】その後、格納されたデータは必要に応じて
誤り訂正装置へ呼出され、誤りの訂正がなされた後、誤
り検査符号(以下、EDCとよぶ)で誤り検査がなさ
れ、誤りがないことが確認された後、外部に出力され
る。
【0005】また、再生専用光ディスク装置においても
同様に、格納されたデータは必要に応じて誤り訂正装置
へ呼出され、誤り訂正がなされた後、誤り検査符号で誤
り検査がなされ、誤りがないことが確認された後、外部
に出力される。
【0006】従来の誤り訂正方法において、たとえば、
DVD(Digital Video Disc)においては、ディスクか
ら読出されたデータは、一旦、たとえばSDRAM(Sy
nchronous Dynamic Random Access Memory)等の外部半
導体記憶素子のバッファに格納される。その後、誤り訂
正装置によりデータが呼出され、誤りが訂正される。
【0007】たとえば、DVDでは、データを長方形に
並べ、縦方向(PO)と横方向(PI)の2方向の誤り
訂正符号を付加した積符号が用いられる。
【0008】図17は、従来のDVDの誤り訂正積記号
のフォーマットである。2次元に配列された172バイ
ト(Byte)×192行(row)の情報データに、
横方向の10バイト(Byte)のパリティPI(誤り
訂正内符号)と、縦方向の16バイト(Byte)のパ
リティPO(誤り訂正外符号)が付加されたデータを1
ブロックとしている。また、図17において、横方向を
PI方向とも呼び、縦方向をPO方向とも呼ぶことにす
る。
【0009】図18は、図17に示したDVDの誤り訂
正積符号(誤り訂正内符号および誤り訂正外符号)と誤
り検査符号(EDC)との関連を示す図である。
【0010】上記1ブロックは、16個のセクタに分か
れ、1つのセクタは、172Byte×12行のデータ
配列で構成され、これらのデータ配列は、その末尾に4
ByteのEDCを含んでいる。
【0011】図19は、誤り検査符号を含む1セクタの
データ配列を示す図であり、先頭ビットから降順に番号
を割り振ったものである。
【0012】1セクタ分のデータは、ビットデータb1
6511からビットデータb0に至るデータとして配列
されており、ビットデータb31−b0がEDCに対応
している。
【0013】図20は、以上のような構成を有するDV
Dデータに対する誤り訂正および誤り検査を行なう第1
の従来例の構成を説明するための概略ブロック図であ
る。
【0014】図20を参照して、復号を行なう基本的な
パターンは、たとえば以下のような手順による。
【0015】1)データバス21を介して入力信号がデ
ータバッファ(SDRAM)24に格納され、データバ
ッファ24からPI方向誤り訂正回路20がPI方向の
データを読込みシンドロームを計算する。
【0016】2)上記PI方向のシンドロームの値より
PI方向誤り訂正回路20が、誤り量および誤り位置を
検出し、データバッファ24に格納されているデータに
対して誤り訂正を行なう。
【0017】3)次に、データバッファ24からPO方
向誤り訂正回路22がPO方向のデータを読込みシンド
ロームを計算する。
【0018】4)上記PO方向のシンドロームの値によ
りPO方向誤り訂正回路22が誤り量および誤り位置を
算出し、データバッファ24に格納されているデータに
対して誤り訂正を行なう。
【0019】以上の処理を繰返すことにより、誤りを訂
正する。 5)これらの誤り訂正が終了後、誤り検査回路23が、
データバッファ24よりデータを読取り、誤り検査符号
を用いて誤りがないことを確認する。
【0020】
【発明が解決しようとする課題】以上のような処理を行
なった場合に問題となるのは、誤り訂正後、再度データ
バッファ(SDRAM)24にアクセスを行ない、誤り
検査を行なうため、誤り訂正、誤り検査の作業に多くの
時間が必要となることである。
【0021】たとえば、図20に示す構造において、デ
ータバッファ24から読出したデータを用いて誤り訂正
を行なった後に初めて、データバッファ24からデータ
を誤り検査回路23に読込むため、比較的時間を要する
データバッファ24からのデータの読み書きの回数が多
くなり、それだけ処理に時間が必要となる。
【0022】この問題を解決するため、たとえば、特開
平11−55129号公報に開示された方法がある。
【0023】図21は、特開平11−55129号公報
に開示された誤り訂正および誤り検査を行なう第2の従
来例の構成を説明するための概略ブロック図である。
【0024】図21に示した誤り訂正および誤り検査装
置の構造では、誤り訂正回路のためのデータバスと誤り
検査回路のためのデータバスが併用される構造を取る。
【0025】また、図22、図23、図24、図25
は、それぞれ、図21に示した誤り訂正および誤り検査
装置の処理の略図を示す第1〜第4の概念図である。
【0026】図22、図23では、説明の簡単のために
誤り検査を行なうためのデータを10列×4行=40個
と省略してある。
【0027】図21に示した誤り訂正および誤り検査装
置を用いた誤り検査は、2段階に分かれて実行される。
【0028】第1段階では、たとえばPI方向の誤り訂
正処理のために、バッファ34からデータが読込まれ、
図22に示すようなデータ配列の順序にしたがって、D
ATAシンドローム生成回路36へ転送し、DATAシ
ンドロームを算出する。
【0029】算出されたDATAシンドロームは、記憶
素子32に格納される。一方、第1段階では、DATA
シンドロームの算出とは別に、PI方向の誤り訂正回路
30によって検知された誤り量を用いて、図22に示す
ようなデータ配列の順序に従って、ERRORシンドロ
ームを算出する。
【0030】第2段階では、さらに、PO方向の誤り訂
正回路32によって検査された誤り量を用いて、図23
に示すデータ配列の順序に従って、ERRORシンドロ
ームの続きを算出する。
【0031】最後に、図24に示すように、この2つの
シンドローム、つまり、DATAシンドロームとERR
ORシンドロームとの排他的論理和を排他的論理和演算
器35が演算して、最終的な検査シンドロームを算出す
る。この検査シンドロームに基づいて、判定回路31が
誤り検出の結果を判定する。
【0032】したがって、検査シンドロームを生成する
ために、再度データバッファ34からデータを読込むこ
とを必要としないために、高速に、かつ誤り訂正と誤り
検査の処理を並行に行なうことができる。
【0033】さらに、たとえば、PO方向の誤り訂正回
路32において、誤り訂正シンドロームを計算した際
に、たとえば、第3列(COL3)の符号語に誤りがな
いとき、次に行なう誤り量と誤り位置の検出作業を省略
する処理に対応して、図25に示すように、ERROR
シンドローム計算時においても、誤りがない符号語につ
いてはオフセット値を用いて演算の高速化が行なわれ
る。
【0034】しかし、このオフセット計算のために、E
RRORシンドローム生成回路38においては、縦方向
へ1行ずつ演算を行なう場合と、ある列から隣の列に処
理を移行する場合と、ある列から1列とばした列に処理
を移行する場合にそれぞれ対応して、3種以上のシンド
ロームに関する演算パスを有する演算処理回路が必要で
あり、回路規模が増大するという問題があった。
【0035】この発明は、上記のような問題点を解決す
るためになされたものであって、その目的は、回路規模
を増大させることなく、記憶素子へのアクセス時間を短
縮し、誤り停止処理と並行して誤り検査処理を行なうこ
とにより、誤り検査処理に対する時間を短縮することが
可能な誤り訂正装置を提供することである。
【0036】
【課題を解決するための手段】請求項1記載の誤り訂正
装置は、データブロックの第1の方向および第2の方向
の誤り訂正が可能な積符号を有する誤り訂正符号を含む
被訂正データに対する誤り訂正処理を行なう誤り訂正演
算手段を備え、データブロックは、第1の方向および第
2の方向に整列する複数のサブブロックに分割されてお
り、誤り訂正演算手段は、積符号の第1の方向について
誤り量を検出する第1の誤り訂正手段と、第2の方向を
訂正する第2の誤り訂正手段と、被訂正データを格納す
ることが可能な第1の記憶素子と、第1の方向について
の誤り量と、第1の記憶素子に格納されたデータとを用
いて第1の誤り訂正結果を算出する第1の論理演算手段
とを含み、誤り訂正演算手段による訂正が誤訂正でない
ことを確認するために、誤り検査符号による誤り検査を
行なう誤り検査手段をさらに備え、誤り検査符号は、デ
ータブロックの第1の方向のデータに誤り検査符号を連
続的に設けたものであって、誤り検査手段は第1の誤
訂正結果に基づいて、第1の方向に並ぶ複数のサブブ
ロックに対し、第1の関数を含む第1の演算を用いた第
1の漸化式に従う処理により、第1の方向の誤り訂正後
の誤り検査に対応する第1の誤り検査結果を生成する
1方向誤り検査手段と、第2の方向の誤り訂正時に検出
された誤り量を用いて、第2の方向に並ぶ複数のサブブ
ロックの列に対し、第2の関数を含む第2の演算を用い
た第2の漸化式に従う処理を行い、さらに、サブブロッ
クの列ごとの第2の漸化式に従う処理結果に対し、第1
の漸化式に従う処理を行うことにより、第2の誤り検査
結果を算出し、第1および第2の誤り検査結果の論理演
算を行なうことで、第2の方向の誤り訂正後の誤り検査
を行なう第2方向誤り検査手段とを含む。
【0037】請求項2記載の誤り訂正装置は、請求項1
記載の誤り訂正装置の構成に加えて、被訂正データを受
けて一時的に格納するための第2の記憶素子をさらに備
え、第1の記憶素子は、第2の記憶素子から読込んだ符
号語を格納する。
【0038】請求項3記載の誤り訂正装置は、請求項1
または2記載の誤り訂正装置の構成に加えて、第2方向
誤り検査手段は、第2の方向の誤り訂正時に検出された
誤り量を用いて、第2の方向に並ぶ複数のサブブロック
の列に対し、第2の関数を含む第2の演算を用いた第2
の漸化式に従う処理を行う部分検査結果を算出する部分
誤り検査手段と、サブブロックの列ごとの第2の漸化式
に従う処理結果に対し、第1の漸化式に従う処理を行う
ことにより、第2の誤り検査結果を算出する集計誤り検
査手段を有する。
【0039】請求項4記載の誤り訂正装置は、請求項3
記載の誤り訂正装置の構成に加えて、少なくとも第2の
誤り訂正手段と第1方向誤り検査手段とが並列的に動作
する。
【0040】請求項5記載の誤り訂正装置は、請求項3
記載の誤り訂正装置の構成に加えて、第2方向誤り検査
手段は、第1方向誤り検査手段の検査結果を受けて格納
する第3の記憶素子と、第3の記憶素子に格納された第
1方向誤り検査手段の検査結果と集計誤り検査手段の検
査結果とを受けて、第2の方向の誤り訂正後の誤り検査
を行なうための第2の論理演算手段とをさらに含む。
【0041】請求項6記載の誤り訂正装置は、請求項1
〜5のいずれか1項に記載の誤り訂正装置の構成に加え
て、第2方向誤り検査手段は、第1および第2の誤り検
査結果の排他的論理和演算を行なうことで、第2の方向
の誤り訂正後の誤り検査を行なう。
【0042】請求項7記載の誤り訂正方法は、第1の方
向および第2の方向に整列する複数のサブブロックに分
割されたデータブロックの第1の方向および第2の方向
の誤り訂正が可能な積符号を有する誤り訂正符号を含む
被訂正データを受けて、第1の方向について誤り量を求
める処理を行なうステップと、誤り訂正前の被訂正デー
タと、第1の方向について検出された誤り量とを順次用
いて第1の誤り訂正結果を算出するステップと、被訂正
データを受けて、第2の方向について誤り訂正処理を行
なうステップと、第1の誤り訂正結果に基づいて、第1
の方向に並ぶ複数のサブブロックに対し、第1の関数を
含む第1の演算を用いた第1の漸化式に従う処理によ
り、第1の方向の誤り訂正後の誤り検査に対応する第1
の誤り検査結果を生成するステップと、第2の方向の誤
り訂正時に検出された誤り量を用いて、第2の方向に並
ぶ複数のサブブロックの列に対し、第2の関数を含む第
2の演算を用いた第2の漸化式に従う処理を行い、さら
に、サブブロックの列ごとの第2の漸化式に従う処理結
果に対し、第1の漸化式に従う処理を行うことにより、
第2の誤り検査結果を算出し、第1および第2の誤り検
査結果の論理演算を行なうことで、第2の方向の誤り訂
正後の誤り検査を行なうステップとを備える。
【0043】請求項8記載の誤り訂正方法は、請求項7
記載の誤り訂正方法の構成に加えて、第2の方向の誤り
訂正後の誤り検査を行なうステップは、第2の方向の誤
り訂正時に検出された誤り量を用いて、第2の方向に並
ぶ複数のサブブロックの列に対し、第2の関数を含む第
2の演算を用いた第2の漸化式に従う処理を行い、部分
検査結果を算出するステップと、算出された複数の部分
検査結果に対し、第1の漸化式に従う処理を行うことに
より、第2の検査結果を算出するステップとを含む。
【0044】請求項9記載の誤り訂正方法は、請求項7
または8記載の誤り訂正方法の構成に加えて、第2の方
向の誤り訂正後の誤り検査を行なうステップにおいて
は、第1および第2の誤り検査結果の排他的論理和演算
を行なうことで、第2の方向の誤り訂正後の誤り検査を
行なう。
【0045】請求項10記載の誤り訂正装置は、請求項
1または2記載の誤り訂正装置の構成に加えて、第2方
向誤り検査手段は、第2の方向の誤り訂正時に検出され
た誤り量を用いて、予め設定された誤り量と部分検査結
果との対応を示す演算テーブルに基づいて、第2の方向
に並ぶ複数のサブブロックの列に対し、第2の関数を含
む第2の演算を用いた第2の漸化式に従う処理を行い、
複数のサブブロックの列ごとに部分検査結果を出力する
部分誤り検査手段と、算出された複数の部分検査結果を
第1の方向に集計することにより、第2の検査結果を算
出する集計誤り検査手段を有する。
【0046】請求項11記載の誤り訂正装置は、請求項
10記載の誤り訂正装置の構成に加えて、部分誤り検査
手段は、第2の方向の誤り訂正時に検出された誤り量に
対応する誤りデータを複数のステップにわたって順次受
け、部分誤り検査手段は、前ステップにおいて与えられ
た誤りデータに基づく部分検査データと現在ステップに
おいて与えられた誤りデータとの排他的論理和演算結果
を出力する排他的論理和演算手段と、排他的論理和演算
手段の出力を受けて、予め設定された誤りデータと部分
検査データとの対応を示す演算テーブルに基づいて、部
分検査データを出力する表演算手段と、表演算手段から
出力され部分検査データを受けて保持し、現在ステップ
において、前ステップにおける部分検査データを排他的
論理和演算手段に与えるデータ保持手段とを含み、表演
算手段は、最後のステップにおいて与えられた誤りデー
タに基づいて、データブロックの第2の方向に並ぶデー
タごとに部分検査結果を出力する。
【0047】請求項12記載の誤り訂正装置は、請求項
11記載の誤り訂正装置の構成に加えて、表演算手段
は、排他的論理和演算手段の出力を受けて、所定数のグ
ループに分割するデータ分割手段と、データ分割手段の
出力をそれぞれ受けて、予め設定された誤りデータと部
分検査データとの対応を示す演算テーブルに基づいて、
部分検査データを出力する複数のサブ表演算手段と、複
数のサブ表演算手段からの出力を受けて、部分検査デー
タを出力する部分検査演算手段とを含む。
【0048】
【発明の実施の形態】[実施の形態1] [ディスク再生装置1000の構成]図1は、この発明
に係る誤り訂正および並行検査装置を備えたディスク再
生装置1000の構成を示す概略ブロック図である。
【0049】図1を参照して、ドライブ駆動回路149
により駆動されるドライブ141でディスクから読取ら
れたデータは、制御回路144中の信号読取回路142
で復調される。サーボ回路143は、信号読取回路14
2に読み取られる信号に基づいて、ドライブ駆動回路1
49を制御する。
【0050】ディスクからのデータは、信号読取回路1
42で復調された後、復号回路147中のデータバッフ
ァ14に転送される。転送されたデータは、誤り訂正回
路145で誤りが訂正された後、誤り検査回路146で
誤りがないことを確認した後、デスクランブル処理が施
され、インターフェース148を介して情報データがホ
ストPCへ転送される。
【0051】なお、以下の説明では、DVDを例にとっ
て、これに記録されたデータに対応する積符号の誤り訂
正および並行検査装置ならびに方法について説明する
が、本発明はこのような場合に限定されることなく、図
18に示したように、1ブロックのデータに対して誤り
訂正積符号が配置され、かつこの1ブロック中のセクタ
ごとに所定の誤り検査符号が配置されるデータに対する
積符号の誤り訂正および並行検査装置ならびに方法に適
用可能なものである。
【0052】[積符号の誤り訂正および並行検査装置の
構成]図2は、図1に示した復号回路147の構成を説
明するための概略ブロック図である。また、図3は、復
号回路中の排他的論理和回路9の動作を説明するための
概念図である。
【0053】以下、この図2を用いて、復号回路147
の構成および動作の説明を行なう。復号回路147の処
理の第1ステップでは、信号読取回路142からの入力
データがデータバス13を介して、データバッファ14
に転送される。ここでは、たとえばSDRAMをデータ
バッファ14として使用するものとする。
【0054】処理の第2ステップでは、データバッファ
14より読取られたデータは、第1の方向(PI方向)
の誤り訂正回路10に転送される。さらに、並行して、
たとえばデータブロックに対して少なくとも1行分のデ
ータが記憶素子11に保存される。
【0055】第3のステップでは、記憶素子11からP
I方向の誤り検査回路3へ排他的論理和回路9を介して
データ配列が転送される。このデータのうち、PI方向
誤り訂正回路10で誤りが検出されたものに関しては、
PI方向誤り訂正回路10より誤り量を出力し、これら
の排他的論理和が図3に示すように、排他的論理和回路
9で計算され、誤りが訂正されたデータ配列がPI方向
の誤り検査回路3に転送される。
【0056】第4のステップでは、PI方向誤り検査回
路3から算出された検査結果データが、PI方向判定回
路1に転送される。
【0057】ここでいう検査結果とは、後に詳しく説明
するように、たとえば{I(x)mod g(x)}E
xor EDC等の計算結果である。
【0058】PI方向誤り検査回路3で算出された検査
結果データは、記憶素子2によって保持され、後に述べ
るPO方向の誤り検査結果の判定に用いられる。
【0059】第5のステップでは、データバッファ14
からPOの誤り訂正回路12にデータ配列が送り込ま
れ、PO方向の誤り訂正が行なわれる。
【0060】この実施の形態では、誤り訂正の処理速度
を高めるために、PI方向の誤り訂正回路10とPO方
向の誤り訂正回路12を個別に配備した構成となってい
る。
【0061】このとき、誤りが検出されたものに関して
は、PO方向誤り訂正回路12より誤り量を出力し、誤
りのないデータに関しては誤り量を0としたデータ配列
が、PO方向の誤り訂正回路12から、PO方向の部分
誤り検査回路8に転送される。
【0062】部分誤り検査回路8では、後に詳しく説明
するように、列ごとの検査結果を計算し、レジスタ7に
その結果を保持する。
【0063】なお、第3のステップのPI方向の誤り訂
正が終了した時点で、データバス13を介してデータバ
ッファ14へPO方向誤り訂正回路12からアクセスが
可能となるので、以上説明した第5のステップは、第3
のステップのPI方向の誤り訂正が終了した時点で開始
してもよい。
【0064】第6のステップでは、PO方向の部分誤り
検査回路8により計算された結果をレジスタ7より呼出
し、PO方向の誤り検査の行方向についての集計をPO
方向集計誤り検査回路6にて行なう。
【0065】これらの回路により高速に計算された結果
と記憶素子2に保持されたPI方向の誤り検査結果の排
他的論理和を排他的論理和回路5で演算して、その結果
をPO方向誤り判定回路4に転送することで判定を行な
う。
【0066】第7ステップでは、以上説明したように積
符号により誤り訂正され、検査の結果誤りのないことが
示されたデータバッファ14上の情報データをホストの
要求に従って、ホストPCに転送する。
【0067】これらのPI方向およびPO方向の誤り検
査は、それぞれPI方向およびPO方向の誤り訂正と、
ほぼ並行して実行されるため、処理速度は非常に高速
で、かつPI方向およびPO方向のどちらの誤り訂正実
行後でも検査が並行して終了しているため、PI方向お
よびPO方向のいずれかの誤り訂正実行後において、検
査結果に異常がないことが判明すれば、直ちに情報デー
タのホストへの転送が可能となる。
【0068】ただし、以上の説明では、PI系列の誤り
訂正とPO系列の誤り訂正を1回ずつ行なう構成につい
て説明したが、本発明はこのような構成には限定され
ず、これらPI系列の誤り訂正とPO系列の誤り訂正を
2回以上繰返して行なう訂正装置に関しても、適用する
ことは可能である。
【0069】[誤り計算方法の詳細]次に、本発明の誤
り計算の計算方法の詳細を説明する。
【0070】図13に示した単位セクタは、16512
個の1ビットのデータから形成され、これらのデータを
用いてi番目のセクタのEDCであるEDCiは以下の
式で表わされる。
【0071】以下で、bjは図13に示した1ビットの
データである。
【0072】
【数1】
【0073】すなわち、データによって計算される多項
式I(x)を多項式g(x)で割り算を行なったときの
余り(検査シンドローム)がEDCi(x)に等しけれ
ば誤りがないことを示すものである。
【0074】図4は、図18に示したデータ構成のうち
パリティーチェックデータを除いた16個のセクタにつ
いて、誤り検査の処理におけるデータ処理単位の配列を
示す概念図である。
【0075】図4においては、各セクタにおいて、デー
タを処理する単位が4バイト(Byte)であることに応じ
て、このような4バイトごとのデータを、iをセクタ番
号、jを列番号、kを行番号として、データdata_
ijkで表す。ここで、i,j,kはそれぞれ正の整数
であり、0≦i≦15、0≦j≦42、0≦k≦11で
ある。
【0076】図5および図6は、以下に説明する誤り訂
正および誤り検査の処理において処理されるデータ配列
の順序を示す第1および第2の概念図である。
【0077】上述したように図5および6に示すとお
り、誤り検査を行なうための1つのセクタ内のデータ処
理単位の個数は43×12=516個であり、各データ
処理単位data_ijkは32ビット(8ビット×
4)の値である。
【0078】このような符号により、基本的にたとえば
DVDのフォーマットでの検証が可能である。以下、図
5および6に示すようなデータ構造についての誤り訂正
を説明する。
【0079】各データ処理単位data_ijkに対応
する多項式を、I(i,j,k)で表わしたとき、i番
目のセクタに対するEDCiは、以下の式で定義するこ
とにより計算される。
【0080】
【数2】
【0081】ここで、bijkmは、図13に示したデ
ータ配列において、データ処理単位data_ijkに
対応するビットデータのうち、下位から第mビット目の
1ビットのデータを示す。
【0082】したがって、{I(x)mod g
(x)}Exor I(i,42,11)が0であれ
ば、この第i番目のセクタに誤りがないことを示してい
る。ここで、記号Exorは、2つの多項式の同じ次数
同士の係数の排他的論理和演算を実行し、その結果を係
数とする多項式を作る演算であるものとする。
【0083】ここで、上記計算を以下の多項式Yに対す
る関数fpiを用いて変形することを行なう。
【0084】
【数3】
【0085】このような関数fpiを用いると、上記計
算は以下の繰返し計算として実行することが可能であ
る。
【0086】
【数4】
【0087】したがって、F(i,42,11)が0で
あれば、この第i番目のセクタに誤りがないことを示し
ている。
【0088】ここで、この演算fpiは、図5の矢印1
個分の演算に相当する。これらの演算は、たとえば、テ
ーブル化することにより高速に実行することができる。
【0089】さらに、第i番目のセクタについての上記
式(8)による計算は下記の多項式Yに対する関数fp
oを用いることにより変形することができる。
【0090】
【数5】
【0091】たとえば、以下のような2種類の繰返し計
算に変形することが可能となる。 i) 1種類目の計算:
【0092】
【数6】
【0093】ii) 2種類目の計算:
【0094】
【数7】
【0095】ここで、1種類目の計算は、図2に示した
PO方向部分誤り検査回路8の行なう処理に対応し、2
種類目の計算は、PO方向集計誤り検査回路6の行なう
処理に対応している。
【0096】これは、図6に示すところの列データのみ
を使って、PO方向部分誤り検査回路8が部分シンドロ
ームを計算し、その後、PO方向部分誤り検査回路8か
らの結果に基づいて、PO方向集計誤り検査回路6が集
計演算することにより、誤り検査をすることが可能であ
ることを示す。
【0097】また、この演算には、2種類の計算fpi
とfpoだけを用いることで回路が構成できる。
【0098】したがって、図6において、この演算fp
iは、PI方向の矢印演算を示し、fpoはPO方向の
矢印の演算を示す。
【0099】また、ある列jの誤りがない場合、G
(i,j,11)は計算をする必要がなく、値は0とな
るので、図19のように3種類のシンドローム演算に対
応した余分な回路を必要とせず、非常に簡単で高速な計
算をすることが可能となる。
【0100】[誤り訂正および誤り検査の処理フロー]
図7は、以上説明した誤り訂正および誤り検査の処理フ
ローを説明するためのフローチャートである。
【0101】図7を参照して、まず、誤り訂正および誤
り検査の処理が開始されると(ステップS100)、制
御変数CNTの値が0に初期化される(ステップS10
2)。
【0102】つづいて、変数CNTの値が1だけインク
リメントされ(ステップS104)、データバッファ1
4からデータがPI方向誤り訂正回路10に与えられ
(ステップS106)、算出されたシンドロームに基づ
いて、PI方向の誤り訂正処理が行なわれる(ステップ
S108)。
【0103】PI方向の誤り訂正が終了すると、引き続
いて、PI方向誤り検査回路3において、PI方向の誤
り検査が実行される(ステップS110)。
【0104】PI方向の誤り検査の結果、全セクタにつ
いて、PI方向についての誤り検査の結果EDCPIi
(i=0〜15)が0であるかが判断される(ステップ
S112)。全セクタについて、PI方向についての誤
り検査の結果EDCPIiが0であれば、誤りはすべて
訂正されているものとして、処理が終了する(ステップ
S122)。
【0105】一方、1つのセクタについてでもPI方向
についての誤り検査の結果EDCPIiが0でない場合
は、PO方向誤り訂正回路12にデータバッファ14か
らデータが与えられる(ステップS114)。
【0106】PO方向の誤り訂正処理が行なわれ(ステ
ップS116)、PO方向の誤り訂正が終了すると、引
き続いて、PO方向部分誤り検査回路8およびPO方向
集計誤り検査回路6において、PO方向の誤り検査が実
行される(ステップS118)。
【0107】PO方向の誤り検査の結果、全セクタにつ
いて、PO方向についての誤り検査の結果EDCPOi
(i=0〜15)が0であるか、および制御変数CNT
の値が2であるかが判断される(ステップS120)。
全セクタについて、PO方向についての誤り検査の結果
EDCPIiが0であれば、誤りはすべて訂正されてい
るものとして、また変数CNT=2の場合は必要回数分
の処理が終了したものとして処理が終了する(ステップ
S122)。
【0108】一方、全セクタについて、PO方向につい
ての誤り検査の結果EDCPIiが0でなく、かつ、変
数CNT=2でない場合は、処理はステップS104に
復帰する(ステップS120)。
【0109】なお、以上の説明では、PI方向の誤り検
査が終了した後に、PO方向の誤り訂正処理を行なうこ
ととしたが、PI方向の誤り訂正が終了した後に、並行
してPO方向の誤り訂正処理を行なうこととしてもよ
い。
【0110】また、誤り訂正と誤り検査は、2回通り行
なうこととしたが、システムの動作条件等により、この
回数は1回でも、あるいは、3回以上でも構わない。
【0111】図8は、図7に示したステップS110の
PI方向誤り検査処理を説明するためのフローチャート
である。
【0112】まず、PI方向誤り検査処理が開始すると
(ステップS200)、つづいて、セクタ番号を示すセ
クタ番号変数i(i:正の整数)の値が0に初期化され
る(ステップS202)。
【0113】つづいて、16セクタ分のEDC検査を行
なう処理ループLB201〜LE201に処理が移行す
る。つまり、処理ループLB201からLE201まで
の処理が、16セクタ分について行なわれるまで繰り返
される(ループLB201〜LE201)。
【0114】まず、i番目のセクタに対応するセクタE
DC値変数EDCPIiの値を0に初期化し、行番号変
数kの値も0に初期化する(ステップS204)。ここ
で、セクタEDC値変数EDCPIiは、式(8)に示
した計算を行なうための変数である。
【0115】つづいて、各セクタ内のEDC検査を行な
う処理ループLB202〜LE202に処理が移行す
る。つまり、処理ループLB202からLE202まで
の処理が、セクタ内のすべてのデータについて行なわれ
るまで繰り返される(ループLB202〜LE20
2)。
【0116】まず、列番号変数jの値が0に初期化され
る(ステップS206)。つぎに、各セクタ内の行ごと
の処理を行なう処理ループLB203〜LE203に処
理が移行する。つまり、処理ループLB203からLE
203までの処理が、1つのデータ処理単位の行に含ま
れるすべてのデータ処理単位の列について行なわれるま
で繰り返される(ループLB203〜LE203)。
【0117】処理ループLB203〜LE203におい
ては、PI方向誤り検査回路3は、PI方向に4バイト
ごとのデータを読取り、変数data_ijkに代入す
る(ステップS208)。
【0118】次に、上記式(8)に基づいて、 EDCPIi =fpi{EDCPi}Exor data_ijk …(12) の演算を行なう。
【0119】つぎに、変数jの値が1だけインクリメン
トされて、処理がデータ処理単位の次の列に移行する
(ステップS212)。
【0120】1つのデータ処理単位の行に含まれるすべ
てのデータ処理単位の列について、ステップS208〜
S212の処理を繰り返す(ループLB203〜LE2
03)。
【0121】つぎに、変数kの値が1だけインクリメン
トされて、処理がデータ処理単位の次の行に移行する
(ステップS214)。
【0122】セクタ内のデータに対する処理が終了する
まで、ステップS206〜S214の処理を繰り返す
(ループLB202〜LE202)。
【0123】1つのセクタの処理が終了すると、変数i
の値が1だけインクリメントされて、次のセクタに処理
が移行して(ステップS216)、再び、処理はステッ
プS202に復帰する。全セクタの処理が終了するま
で、ステップS202からステップS216までの処理
が繰り返される(ループLB201〜LE201)。
【0124】全セクタに対する処理が終了すると、PI
方向誤り検査処理が終了する(ステップS218)。
【0125】図9および図10は、図7に示したPO方
向誤り検査処理のステップS118を説明するための第
1および第2のフローチャートである。
【0126】まず、PO方向誤り検査処理が開始すると
(ステップS300)、列番号変数jの値が0に初期化
される(ステップS302)。
【0127】つづいて、すべての列に対応する部分誤り
検査を行なう処理ループLB301〜LE301に処理
が移行する。つまり、処理ループLB301からLE3
01までの処理が、すべての列について行なわれるまで
繰り返される(ループLB301〜LE301)。
【0128】まず、セクタ番号変数iの値が0に初期化
される(ステップS304)。つぎに、各列に対応する
部分誤り検査を行なう処理ループLB302〜LE30
2に処理が移行する。
【0129】まず、列毎のセクタEDC値を表すセクタ
EDC値変数EDCPOijの値と、行番号変数kの値
を0に初期化する(ステップS306)。ここで、セク
タEDC値変数EDCPOijは、式(10)で示した
1種類目の計算を行なうための変数である。ただし、以
下に説明するように、図9に示した処理では、式(1
0)に示したデータを用いて処理をそのまま行なうので
はなく、誤り量だけを用いて処理を単純化している。
【0130】すなわち、つづいて、セクタ毎の部分誤り
検査を行なう処理ループLB303〜LE303に処理
が移行する。(ループLB303〜LE303)。
【0131】処理ループLB303〜LE303におい
ては、PO方向部分誤り検査回路8は、誤りが検出され
ている位置にはその誤り量を、それ以外の位置には0を
配したデータを、PO方向に4バイトごと読取り、変数
data_ijkに代入する(ステップS308)。な
お、検査する列に誤りが検出されない場合は処理ループ
LB302〜LE302を省略することが可能である。
【0132】次に、上記式(10)に基づいて、 EDCPOij =fpo{EDCPOij}Exor data_ijk …(13) の演算を行なう。
【0133】行番号変数kの値を1だけインクリメント
し、処理が次の行に移行する(ステップS312)。
【0134】i番目のセクタのj番目の列内のデータに
対する処理が終了するまで、ステップS308〜S31
2を繰り返す(ループLB303〜LE303)。
【0135】i番目のセクタのj番目の列の処理が終了
すると、変数iの値が1だけインクリメントされ、次の
セクタに処理が移行して(ステップS314)、再び、
処理はステップS306に復帰する。15番目のセクタ
のj番目の列に対する処理が終了するまで、ステップS
306からステップS314までの処理が繰り返される
(ループLB302〜LE302)。
【0136】すべてのセクタのj番目の列に対する処理
が終了すると、変数jの値が1だけインクリメントさ
れ、次の列に処理が移行して(ステップS316)、再
び、処理はステップS304に復帰する。42番目の列
に対する処理が終了するまで、ステップS304からス
テップS316までの処理が繰り返される(ループLB
301〜LE301)。
【0137】図10を参照して、ループLB301〜L
E301の処理が終了すると続いて、変数i値が0にリ
セットされる(ステップS320)。
【0138】つづいて、集計誤り検査を行なう処理ルー
プLB304〜LE304に処理が移行する。つまり、
処理ループLB304からLE304までの処理が、す
べてのセクタについて行なわれるまで繰り返される(ル
ープLB304〜LE304)。
【0139】つぎに、i番目のセクタに対応するEDC
値変数EDCPOiの値と変数jの値が0に初期化され
る(ステップS322)。
【0140】つづいて、各セクタに対応する集計誤り検
査を行なう処理ループLB305〜LE305に処理が
移行する。
【0141】処理ループLB305〜LE305におい
ては、PO方向集計誤り検査回路6は、PI方向に、上
記式(11)に基づいて、 EDCPOi =fpi{EDCPOi}Exor EDCPOij …(14) の演算および代入処理を行なう(ステップS324)。
【0142】次に、変数jの値を1だけインクリメント
し、処理は次の列に移行する(ステップS326)。
【0143】処理中のセクタのすべての列に対する処理
が終了するまで、ステップS324〜S326を繰り返
す(ループLB305〜LE305)。
【0144】i番目のセクタのすべての列についての処
理が終了すると、つづいて、排他的論理和演算器5によ
り EDCPOi=EDCPIi Exor EDCPOi という演算処理が行なわれる(ステップS328)。こ
れにより、i番目のセクタについて誤りが存在するか否
かの判定が、PO方向判定回路4により行なわれる。
【0145】制御変数iの値が1だけインクリメントさ
れ(ステップS330)、次のセクタに処理が移動し
て、再び、処理はステップS322に復帰する。最後セ
クタの処理が終了するまで、ステップS322からステ
ップS330までの処理が繰り返される(ループLB3
04〜LE304)。
【0146】ループLB304〜LE304の処理が終
了すると、誤り訂正、検査の処理は終了し、次の処理
(図7の処理ステップS120)に移行する(ステップ
S320)。
【0147】[実施の形態2]実施の形態1で説明した
とおり、誤り検査の対象となる単位セクタは、図19に
示した16512個のデータ(bi)から形成され、こ
れらのデータを用いてi番目のセクタに対するEDCi
は、式(1)〜(3)により表される。
【0148】実施の形態1においては、式(1)で表さ
れるこのEDCi(x)を計算するにあたり、式(9)
で定義される関数fpoより演算を単純化することによ
り、図2に示すPO方向部分誤り検査回路8が、図9の
ステップS310において説明したように、式(13)
により表される演算を行なう構成となっていた。
【0149】以下では、説明の簡単のために、関数fp
oより行なわれる処理を以下の式(15)により表す。
【0150】
【数8】
【0151】ここで、g(x)は32次の多項式であ
る。したがって、式(15)を実行するためには33ビ
ットの演算器を用いることで実行することが可能であ
る。しかしながら、実施の形態2においては、より演算
速度を向上させるために、232通りの数値に対する演算
結果の表を予め準備しておき、この表に基づいて式(1
5)に対応する演算処理を行なう構成とする。
【0152】なお式(10)に示されているとおり、J
k(x)としては、たとえば、式(6)で表される式が
代入される。
【0153】図11は、このような構成での演算を実現
するPO方向部分誤り検査回路8の構成を説明するため
の概略ブロック図である。
【0154】図11を参照して、PO方向部分誤り検査
回路8は、PO方向誤り訂正回路12の出力を受ける排
他的論理和演算回路82と、排他的論理和演算回路82
の出力を受けて、上述したような32ビットデータに対
する232通りの演算結果に対応する表に基づいて、式
(15)で表される演算結果を出力する表変換回路84
と、表変換回路84の出力を受けて一時保持するための
レジスタ回路86とを含む。
【0155】排他的論理和演算回路82は、PO方向誤
り訂正回路12から与えられるI(i,j,k)(k=
1〜11)を順次受け、レジスタ86に保持された1ス
テップ前の表変換回路84の出力との排他的論理和演算
結果を再び表変換回路84に与える。
【0156】すなわち、排他的論理和演算回路82、表
変換回路84およびレジスタ86からなる処理ループに
より式(10)に相当する演算を行なうことが可能であ
る。
【0157】図12および図13は、図11に示したP
O方向部分誤り検査回路8と、レジスタ7およびPO方
向集計誤り検査回路6の行なう動作を説明するためのフ
ローチャートであり、実施の形態1の図9および図10
と対比される図である。
【0158】図12および図13に示した処理が、図9
に示した処理と異なる点は、ステップS310′におい
て、PO方向誤り訂正回路12から与えられるデータd
ata_ijkと、レジスタ回路86に保持されたデー
タ等を排他的論理和演算回路82が排他的論理和演算し
た結果に対して、表変換回路84が変換処理を行なうこ
とで、変数EDCPOijの値を更新して、レジスタ8
6に再び与える処理を行なう構成となっている点であ
る。
【0159】その他の点は、図9および図10に示した
処理と同様であるので、同一部分には同一符号を付して
その説明は繰返さない。
【0160】以上のような構成により、PO方向部分誤
り検査回路8は、予め設けられている表(テーブル)に
基づいて変数EDCPOijの値を更新する処理を行な
うので、演算処理が高速化され、誤り訂正時間が短縮さ
れるという効果がある。
【0161】[実施の形態3]実施の形態2において
は、PO方向部分誤り検査回路8の行なう処理、すなわ
ち式(15)で表される処理を、予め計算した結果に基
づいて生成された表により演算処理する表変換回路84
により演算処理する構成について説明した。
【0162】実施の形態3においては、式(15)で表
される演算処理を、さらにより高速に行なうための構成
について説明する。
【0163】なお、実施の形態3の復号回路の構成も、
図2に示した復号回路147の構成と基本的に同様であ
る。以下に説明するように、PO方向部分誤り検査回路
8の構成が異なる。
【0164】すなわち、式(15)において、式Jk
(x)は、以下の式(16)のように分解することがで
きる。
【0165】
【数9】
【0166】すなわち、Jk(x)は7次の式Jk−i
(x)を用いて4分割することが可能である。
【0167】この式(16)を用いると、式(15)
は、以下の式(17)のように変形することができる。
【0168】
【数10】
【0169】したがって、式(17)の各項に対応し
て、後に説明するように28通りの表を予め備えこの表
に基づいてPO方向部分誤り検査の演算処理を行なう表
変換回路が4個と、これら4個の表変換回路からの出力
に対して排他的論理和演算を行なうための排他的論理和
演算器を3個設けることで、演算処理を行なうことが可
能となる。
【0170】図14は、このような構成を有するPO方
向部分誤り検査回路8の構成を説明するための概略ブロ
ック図である。
【0171】図14を参照して、実施の形態3のPO方
向部分誤り検査回路8は、PO方向誤り訂正回路12か
らのデータdata_ijkを受ける排他的論理和演算
回路802と、排他的論理和演算回路802の出力を受
けて8ビットごとのデータに分割するためのデータ分割
回路804と、データ分割回路804から出力される8
ビットごとのデータをそれぞれ受けて、式(17)の各
項に対応する演算を予め計算された28通りの表に基づ
いて、それぞれ計算するための表変換回路810、81
2、814および816と、表変換回路810および8
12の出力を受けて、排他的論理和演算結果を出力する
ための排他的論理和演算回路820と、表変換回路81
4および816の出力を受けて、排他的論理和演算結果
を出力する排他的論理和演算回路822と、排他的論理
和演算回路820および822の出力を受けて、排他的
論理和演算結果を、図2に示すレジスタ7に対して出力
するための排他的論理和演算回路824と、排他的論理
和演算回路824の出力を受けて、一時格納するための
レジスタ826とを含む。
【0172】排他的論理和演算回路802は、PO方向
誤り訂正回路12からのデータdata_ijkとレジ
スタ826からの出力とを受けて、排他的論理和演算処
理を行ない、その結果をデータ分割回路804に与え
る。
【0173】図15および図16は、図14に示した実
施の形態3のPO方向部分誤り検査回路8と、図2に示
したレジスタ7およびPO方向集計誤り検査回路6が行
なう処理を説明するためのフローチャートである。
【0174】図15および図16を参照して、まず、P
O方向誤り検査処理が開始されると(ステップS40
0)、列番号変数jの値が0に初期化される(ステップ
S402)。
【0175】続いて、すべての列に対する部分誤り検査
を行なう処理ループLB401〜LE401に処理が移
行する。つまり、処理ループLB401〜LE401ま
での処理が、すべての列について行なわれるまで繰返さ
れる(ループLB401〜LE401)。
【0176】まず、セクタ番号変数iの値が0に初期化
される(ステップS404)。次に、各列に対応する部
分誤り検査を行なうための処理ループLB402〜LE
402に処理が移行する。
【0177】まず、列ごとのセクタEDC値を表すセク
タEGC値変数EDCPOijの値と、行番号変数kの
値を0に初期化する(ステップS406)。ここで、セ
クタEDC値変数EDCPOijは、式(17)で表し
た計算を行なうための変数である。ただし、図9に示し
た処理と同様に、式(17)で処理されるのは、誤り行
に対応するデータだけである。
【0178】続いて、セクタごとの部分誤り検査を行な
う処理ループLB403〜LE403に処理が移行する
(ループLB403〜LE403)。
【0179】処理ループLB403〜LE403におい
ては、PO方向部分誤り検査回路8は、誤りが検出され
ている位置にはその誤り量を、それ以外の位置には0を
配したデータを、PO方向ごとに4バイトごと読取り、
データ分割回路804は、このデータを先頭から1バイ
トずつに分割する。以下、この分割された1バイトずつ
のデータを変数H1〜H4と表す(ステップS40
8)。この処理に対応して、表変換回路810〜816
に、それぞれ変数H1〜H4に対応する値が与えられ
る。
【0180】表変換回路810は、変数H1に対応する
データをデータ分割回路804から受取り、先頭から1
バイトがこの変数H1の値に等しく、残り3バイトのビ
ットデータがすべて0に対応する4バイトの値に変換し
て、これを対応するテーブル(演算表)に従って変換し
出力する。この表変換回路810の出力するデータを変
数HAと表す(ステップS410)。この処理に対応し
て、表変換回路810からの出力が排他的論理和演算回
路820に与えられる。
【0181】表変換回路812は、変数H2に対応する
データをデータ分割回路804から受取り、先頭から2
バイト目の1バイト分のデータがこの変数H2の値に等
しく、残り3バイトのビットデータがすべて0に対応す
る4バイトの値に変換して、これを対応するテーブル
(演算表)に従って変換し出力する。この表変換回路8
12の出力するデータを変数HBと表す(ステップS4
12)。この処理に対応して、表変換回路812からの
出力が排他的論理和演算回路820に与えられる。
【0182】表変換回路814は、変数H3に対応する
データをデータ分割回路804から受取り、先頭から3
バイト目の1バイト分のデータがこの変数H3の値に等
しく、残り3バイトのビットデータがすべて0に対応す
る4バイトの値に変換して、これを対応するテーブル
(演算表)に従って変換し出力する。この表変換回路8
14の出力するデータを変数HCと表す(ステップS4
14)。この処理に対応して、表変換回路814からの
出力が排他的論理和演算回路822に与えられる。
【0183】表変換回路816は、変数H4に対応する
データをデータ分割回路804から受取り、先頭から4
バイト目の1バイト分のデータがこの変数H4の値に等
しく、残り3バイトのビットデータがすべて0に対応す
る4バイトの値に変換して、これを対応するテーブル
(演算表)に従って変換し出力する。この表変換回路8
16の出力するデータを変数HDと表す(ステップS4
16)。この処理に対応して、表変換回路816からの
出力が排他的論理和演算回路822に与えられる。
【0184】続いて、セクタEDC値変数EDCPOi
jの値は、排他的論理和演算回路820、822および
824により、以下の式(18)による処理により演算
される(ステップS418)。
【0185】
【数11】
【0186】行番号変数kの値を1だけインクリメント
し、処理が次の行に移行する(ステップS420)。
【0187】i番目のセクタのj番目の列内のデータに
対する処理が終了するまで、ステップS408〜S41
2を繰返す(ループLB403〜LE403)。
【0188】図16を参照して、i番目のセクタのj番
目の列の処理が終了すると、変数iの値が1だけインク
リメントされ、次のセクタに処理が移行して(ステップ
S422)、再び、処理はステップS406に復帰す
る。15番目のセクタのj番目の列に対する処理が終了
するまで、ステップS406からステップS422まで
の処理が繰り返される(ループLB402〜LE40
2)。
【0189】すべてのセクタのj番目の列に対する処理
が終了すると、変数jの値が1だけインクリメントさ
れ、次の列に処理が移行して(ステップS424)、再
び、処理はステップS404に復帰する。42番目の列
に対する処理が終了するまで、ステップS404からス
テップS424までの処理が繰り返される(ループLB
401〜LE401)。
【0190】ループLB401〜LE401の処理が終
了すると続いて、変数i値が0にリセットされる(ステ
ップS430)。
【0191】つづいて、集計誤り検査を行なう処理ルー
プLB404〜LE404に処理が移行する。つまり、
処理ループLB404からLE404までの処理が、す
べてのセクタについて行なわれるまで繰り返される(ル
ープLB404〜LE404)。
【0192】つぎに、i番目のセクタに対応するEDC
値変数EDCPOiの値と変数jの値が0に初期化され
る(ステップS432)。
【0193】つづいて、各セクタに対応する集計誤り検
査を行なう処理ループLB405〜LE405に処理が
移行する。
【0194】処理ループLB405〜LE405におい
ては、PO方向集計誤り検査回路6は、PI方向に、上
記式(11)に基づいて、 EDCPOi =fpi{EDCPOi}Exor EDCPOij …(14) の演算および代入処理を行なう(ステップS434)。
【0195】次に、変数jの値を1だけインクリメント
し、処理は次の列に移行する(ステップS436)。
【0196】処理中のセクタのすべての列に対する処理
が終了するまで、ステップS434〜S436を繰り返
す(ループLB405〜LE405)。
【0197】i番目のセクタのすべての列についての処
理が終了すると、つづいて、排他的論理和演算器5によ
り EDCPOi=EDCPIi Exor EDCPOi という演算処理が行なわれる(ステップS438)。こ
れにより、i番目のセクタについて誤りが存在するか否
かの判定が、PO方向判定回路4により行なわれる。
【0198】制御変数iの値が1だけインクリメントさ
れ(ステップS440)、次のセクタに処理が移動し
て、再び、処理はステップS432に復帰する。最後セ
クタの処理が終了するまで、ステップS432からステ
ップS440までの処理が繰り返される(ループLB4
04〜LE404)。
【0199】ループLB404〜LE404の処理が終
了すると、誤り訂正、検査の処理は終了し、次の処理
(図7の処理ステップS120)に移行する(ステップ
S442)。
【0200】以上のような処理によっても、PO方向部
分誤り検査回路8の処理を行なうことができ、かつ、P
O方向部分誤り検査処理を8ビットごとに分割してテー
ブルを用い、かつ並列処理を行なうので、より高速に処
理を行なうことが可能となる。
【0201】なお、ここで、一般に、関数fpoは、元
のデータをnビット、データの分割数をmとすると(m
はnの約数)、表の大きさとして必要なのは2(n/m)
のデータに対応する大きさであり、表の数はm個だけ必
要となる。また、排他的論理和演算器の数は(m−1)
個となる。ただし、1個の演算機でnビットの演算がで
きるものとする。
【0202】したがって、このように分割した表に基づ
いて計算する表変換回路を用いることで、大幅に回路規
模を削減することができる。
【0203】さらに、この発明によれば、記憶素子およ
び回路規模を増加させることなく、記憶素子へのアクセ
ス時間を短縮し、誤り訂正処理と並行して誤り検査処理
を行なうことにより、誤り検査処理に要する時間を短縮
することが可能となる。
【0204】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【0205】
【発明の効果】この発明によれば、記憶素子および回路
規模を増加させることなく、記憶素子へのアクセス時間
を短縮し、誤り訂正処理と並行して誤り検査処理を行な
うことにより、誤り検査処理に要する時間を短縮するこ
とが可能となる。
【図面の簡単な説明】
【図1】 この発明に係る誤り訂正および並行検査装置
を備えたディスク再生装置1000の構成を示す概略ブ
ロック図である。
【図2】 図1に示した復号回路147の構成を説明す
るための概略ブロック図である。
【図3】 復号回路中の排他的論理和回路9の動作を説
明するための概念図である。
【図4】 誤り検査の処理におけるデータ処理単位の配
列を示す概念図である。
【図5】 誤り訂正および誤り検査の処理において処理
されるデータ配列の順序を示す第1の概念図である。
【図6】 誤り訂正および誤り検査の処理において処理
されるデータ配列の順序を示す第2の概念図である。
【図7】 誤り訂正および誤り検査の処理フローを説明
するためのフローチャートである。
【図8】 図7に示したステップS110のPI方向誤
り検査処理を説明するためのフローチャートである。
【図9】 図7に示したPO方向誤り検査処理を説明す
るための第1のフローチャートである。
【図10】 図7に示したPO方向誤り検査処理を説明
するための第2のフローチャートである。
【図11】 PO方向部分誤り検査回路8の構成を説明
するための概略ブロック図である。
【図12】 PO方向部分誤り検査回路8と、レジスタ
7およびPO方向集計誤り検査回路6の行なう動作を説
明するための第1のフローチャートである。
【図13】 PO方向部分誤り検査回路8と、レジスタ
7およびPO方向集計誤り検査回路6の行なう動作を説
明するための第2のフローチャートである。
【図14】 PO方向部分誤り検査回路8の構成を説明
するための概略ブロック図である。
【図15】 PO方向部分誤り検査回路8とレジスタ7
およびPO方向集計誤り検査回路6が行なう処理を説明
するための第1のフローチャートである。
【図16】 PO方向部分誤り検査回路8とレジスタ7
およびPO方向集計誤り検査回路6が行なう処理を説明
するための第2のフローチャートである。
【図17】 従来のDVDの誤り訂正積記号のフォーマ
ットである。
【図18】 図17に示したDVDの誤り訂正積符号と
誤り検査符号(EDC)との関連を示す図である。
【図19】 誤り検査符号を含む1セクタのデータ配列
を示す図であり、先頭ビットから降順に番号を割り振っ
たものである。
【図20】 DVDデータに対する誤り訂正および誤り
検査を行なう第1の従来例の構成を説明するための概略
ブロック図である。
【図21】 第2の従来例の構成を説明するための概略
ブロック図である。
【図22】 図21に示した誤り訂正および誤り検査装
置の処理の略図を示す第1の概念図である。
【図23】 図21に示した誤り訂正および誤り検査装
置の処理の略図を示す第2の概念図である。
【図24】 図21に示した誤り訂正および誤り検査装
置の処理の略図を示す第3の概念図である。
【図25】 図21に示した誤り訂正および誤り検査装
置の処理の略図を示す第4の概念図である。
【符号の説明】
1 PI方向判定回路、2 記憶素子、3 PI方向誤
り検査回路、4 PO方向判定回路、5,9 排他的論
理和回路、6 PO方向集計誤り検査回路、7レジス
タ、8 PO方向部分誤り検査回路、10 PI方向誤
り訂正回路、11 記憶素子、12 PO方向誤り訂正
回路、13 データバス、14 データバッファ、82
排他的論理和演算回路、84 表変換回路、86 レ
ジスタ、141 ドライブ、142 信号読取回路、1
43 サーボ回路、144 制御回路、145 誤り訂
正回路、146 誤り検査回路、147 復号回路、1
48 インターフェース回路、149 ドライブ駆動回
路、802,820,822,824 排他的論理和演
算回路、804 データ分割回路、810,812,8
14,816 表変換回路、826 レジスタ。
フロントページの続き (51)Int.Cl.7 識別記号 FI G11B 20/18 572 G11B 20/18 572C 572F (56)参考文献 特開2000−114983(JP,A) 特開2000−106530(JP,A) 特許2605270(JP,B2) 特許2605271(JP,B2) 特許2714129(JP,B2) (58)調査した分野(Int.Cl.7,DB名) H03M 13/29 G06F 11/10 330 G11B 20/00 H04L 1/00

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 データブロックの第1の方向および第2
    の方向の誤り訂正が可能な積符号を有する誤り訂正符号
    を含む被訂正データに対する誤り訂正処理を行なう誤り
    訂正演算手段を備え、前記データブロックは、前記第1の方向および前記第2
    の方向に整列する複数のサブブロックに分割されてお
    り、 前記誤り訂正演算手段は、 前記積符号の第1の方向について誤り量を検出する第1
    の誤り訂正手段と、 前記第2の方向を訂正する第2の誤り訂正手段と、 記被訂正データを格納することが可能な第1の記憶素
    子と、前記第1の方向についての誤り量と、前記第1の記憶素
    子に格納されたデータとを用いて第1の誤り訂正結果を
    算出する第1の論理演算手段とを含み、 前記誤り訂正演算手段による訂正が誤訂正でないことを
    確認するために、誤り検査符号による誤り検査を行なう
    誤り検査手段をさらに備え、 前記誤り検査符号は、前記データブロックの第1の方向
    のデータに誤り検査符号を連続的に設けたものであっ
    て、 前記誤り検査手段は 記第1の誤り訂正結果に基づいて、前記第1の方向に
    並ぶ複数の前記サブブロックに対し、第1の関数を含む
    第1の演算を用いた第1の漸化式に従う処理により、前
    第1の方向の誤り訂正後の誤り検査に対応する第1の
    誤り検査結果を生成する第1方向誤り検査手段と、 前記第2の方向の誤り訂正時に検出された誤り量を用い
    て、前記第2の方向に並ぶ複数の前記サブブロックの列
    に対し、第2の関数を含む第2の演算を用いた第2の漸
    化式に従う処理を行い、さらに、前記サブブロックの列
    ごとの前記第2の漸化式に従う処理結果に対し、前記第
    1の漸化式に従う処理を行うことにより、第2の誤り検
    査結果を算出し、前記第1および前記第2の誤り検査結
    果の論理演算を行なうことで、前記第2の方向の誤り訂
    正後の誤り検査を行なう第2方向誤り検査手段とを含
    む、誤り訂正装置。
  2. 【請求項2】 前記被訂正データを受けて一時的に格納
    するための第2の記憶素子をさらに備え、 前記第1の記憶素子は、前記第2の記憶素子から読込ん
    だ符号語を格納する、請求項1記載の誤り訂正装置。
  3. 【請求項3】 前記第2方向誤り検査手段は、 前記第2の方向の誤り訂正時に検出された誤り量を用い
    て、前記第2の方向に並ぶ複数の前記サブブロックの列
    に対し、第2の関数を含む第2の演算を用いた第2の漸
    化式に従う処理を行う部分検査結果を算出する部分誤り
    検査手段と、前記サブブロックの列ごとの前記第2の漸化式に従う処
    理結果に対し、前記第1の漸化式に従う処理を行うこと
    により、第2の誤り検査結果を算出する 集計誤り検査手
    段を有する、請求項1または2記載の誤り訂正装置。
  4. 【請求項4】 少なくとも前記第2の誤り訂正手段と第
    1方向誤り検査手段とが並列的に動作する、請求項3記
    載の誤り訂正装置。
  5. 【請求項5】 前記第2方向誤り検査手段は、 前記第1方向誤り検査手段の検査結果を受けて格納する
    第3の記憶素子と、 前記第3の記憶素子に格納された前記第1方向誤り検査
    手段の検査結果と前記集計誤り検査手段の検査結果とを
    受けて、前記第2の方向の誤り訂正後の誤り検査を行な
    うための第2の論理演算手段とをさらに含む、請求項3
    記載の誤り訂正装置。
  6. 【請求項6】 前記第2方向誤り検査手段は、前記第1
    および前記第2の誤り検査結果の排他的論理和演算を行
    なうことで、前記第2の方向の誤り訂正後の誤り検査を
    行なう、請求項1〜5のいずれか1項に記載の誤り訂正
    装置。
  7. 【請求項7】 第1の方向および第2の方向に整列する
    複数のサブブロックに分割されたデータブロックの前記
    第1の方向および前記第2の方向の誤り訂正が可能な積
    符号を有する誤り訂正符号を含む被訂正データを受け
    て、前記第1の方向について誤り量を求める処理を行な
    うステップと り訂正前の前記被訂正データと、前記第1の方向につ
    いて検出された誤り量とを順次用いて第1の誤り訂正
    果を算出するステップと、前記被訂正データを受けて、前記第2の方向について誤
    り訂正処理を行なうステップと、 前記第1の誤り訂正結果に基づいて、前記第1の方向に
    並ぶ複数の前記サブブロックに対し、第1の関数を含む
    第1の演算を用いた第1の漸化式に従う処理により、前
    第1の方向の誤り訂正後の誤り検査に対応する第1の
    誤り検査結果を生成するステップと、 前記第2の方向の誤り訂正時に検出された誤り量を用い
    て、前記第2の方向に並ぶ複数の前記サブブロックの列
    に対し、第2の関数を含む第2の演算を用いた第2の漸
    化式に従う処理を行い、さらに、前記サブブロックの列
    ごとの前記第2の漸化式に従う処理結果に対し、前記第
    1の漸化式に従う処理を行うことにより、第2の誤り検
    査結果を算出し、前記第1および前記第2の誤り検査結
    果の論理演算を行なうことで、前記第2の方向の誤り訂
    正後の誤り検査を行なうステップとを備える、誤り訂正
    方法。
  8. 【請求項8】 前記第2の方向の誤り訂正後の誤り検査
    を行なうステップは、 前記第2の方向の誤り訂正時に検出された誤り量を用い
    て、前記第2の方向に並ぶ複数の前記サブブロックの列
    に対し、第2の関数を含む第2の演算を用いた第2の漸
    化式に従う処理を行い、部分検査結果を算出するステッ
    プと、 算出された複数の前記部分検査結果に対し、前記第1の
    漸化式に従う処理を行うことにより、第2の検査結果を
    算出するステップとを含む、請求項7記載の誤り訂正方
    法。
  9. 【請求項9】 前記第2の方向の誤り訂正後の誤り検査
    を行なうステップにおいては、 前記第1および前記第2の誤り検査結果の排他的論理和
    演算を行なうことで、前記第2の方向の誤り訂正後の誤
    り検査を行なう、請求項7または8記載の誤り訂正方
    法。
  10. 【請求項10】 前記第2方向誤り検査手段は、 前記第2の方向の誤り訂正時に検出された誤り量を用い
    て、予め設定された前記誤り量と部分検査結果との対応
    を示す演算テーブルに基づいて、前記第2の方向に並ぶ
    複数の前記サブブロックの列に対し、第2の関数を含む
    第2の演算を用いた第2の漸化式に従う処理を行い、前
    記複数のサブブロックの列ごとに前記部分検査結果を出
    力する部分誤り検査手段と、 算出された複数の前記部分検査結果を第1の方向に集計
    することにより、第2の検査結果を算出する集計誤り検
    査手段を有する、請求項1または2記載の誤り訂正装
    置。
  11. 【請求項11】 前記部分誤り検査手段は、前記第2の
    方向の誤り訂正時に検出された誤り量に対応する誤りデ
    ータを複数のステップにわたって順次受け、 前記部分誤り検査手段は、 前ステップにおいて与えられた誤りデータに基づく部分
    検査データと現在ステップにおいて与えられた誤りデー
    タとの排他的論理和演算結果を出力する排他的論理和演
    算手段と、 前記排他的論理和演算手段の出力を受けて、予め設定さ
    れた前記誤りデータと部分検査データとの対応を示す演
    算テーブルに基づいて、前記部分検査データを出力する
    表演算手段と、 前記表演算手段から出力され前記部分検査データを受け
    て保持し、現在ステップにおいて、前ステップにおける
    前記部分検査データを前記排他的論理和演算手段に与え
    るデータ保持手段とを含み、 前記表演算手段は、最後のステップにおいて与えられた
    前記誤りデータに基づいて、前記データブロックの第2
    の方向に並ぶデータごとに前記部分検査結果を出力す
    る、請求項10記載の誤り訂正装置。
  12. 【請求項12】 前記表演算手段は、 前記排他的論理和演算手段の出力を受けて、所定数のグ
    ループに分割するデータ分割手段と、 前記データ分割手段の出力をそれぞれ受けて、予め設定
    された前記誤りデータと部分検査データとの対応を示す
    演算テーブルに基づいて、前記部分検査データを出力す
    る複数のサブ表演算手段と、 前記複数のサブ表演算手段からの出力を受けて、前記部
    分検査データを出力する部分検査演算手段とを含む、請
    求項11記載の誤り訂正装置。
JP2000207160A 2000-01-31 2000-07-07 誤り訂正装置および誤り訂正方法 Expired - Fee Related JP3306413B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2000207160A JP3306413B2 (ja) 2000-01-31 2000-07-07 誤り訂正装置および誤り訂正方法
KR1020010004290A KR100685360B1 (ko) 2000-01-31 2001-01-30 회로 규모를 억제하며 고속의 오류 정정을 행하는 것이 가능한 오류 정정 장치 및 복호 장치
US09/772,072 US6772385B2 (en) 2000-01-31 2001-01-30 Error-correcting device and decoder enabling fast error correction with reduced circuit scale
CNB011119756A CN1199177C (zh) 2000-01-31 2001-01-31 可抑制电路规模能进行高速纠错的纠错装置和解码装置
CNB2005100095619A CN100380507C (zh) 2000-01-31 2001-01-31 可抑制电路规模能进行高速纠错的纠错装置和解码装置
US10/845,091 US7181483B2 (en) 2000-01-31 2004-05-14 Error-correcting device and decoder enabling fast error correction with reduced circuit scale

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-22378 2000-01-31
JP2000022378 2000-01-31
JP2000207160A JP3306413B2 (ja) 2000-01-31 2000-07-07 誤り訂正装置および誤り訂正方法

Publications (2)

Publication Number Publication Date
JP2001292066A JP2001292066A (ja) 2001-10-19
JP3306413B2 true JP3306413B2 (ja) 2002-07-24

Family

ID=26584511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000207160A Expired - Fee Related JP3306413B2 (ja) 2000-01-31 2000-07-07 誤り訂正装置および誤り訂正方法

Country Status (1)

Country Link
JP (1) JP3306413B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030073532A (ko) * 2002-03-12 2003-09-19 주식회사 엘지이아이 이중 피오 신드롬 연산장치 및 방법
WO2005022755A1 (ja) * 2003-08-29 2005-03-10 Matsushita Electric Industrial Co., Ltd. 誤り検出装置、及び誤り検出方法
JP4643978B2 (ja) * 2004-12-01 2011-03-02 ルネサスエレクトロニクス株式会社 スクランブル回路、デ・スクランブル回路及び方法、並びにディスク装置
JP2006155835A (ja) 2004-12-01 2006-06-15 Nec Electronics Corp 誤り検出符号付加回路、誤り検出回路及び方法、並びにディスク装置
JP4571523B2 (ja) * 2005-03-04 2010-10-27 ルネサスエレクトロニクス株式会社 スクランブル回路、エンコード装置、エンコード方法及び記録装置
JP4620541B2 (ja) * 2005-08-04 2011-01-26 ルネサスエレクトロニクス株式会社 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置
WO2007088822A1 (ja) * 2006-01-31 2007-08-09 Matsushita Electric Industrial Co., Ltd. 情報記録再生方法
JP4930251B2 (ja) 2007-07-31 2012-05-16 富士通セミコンダクター株式会社 誤り訂正装置及びデスクランブル回路

Also Published As

Publication number Publication date
JP2001292066A (ja) 2001-10-19

Similar Documents

Publication Publication Date Title
US7278085B1 (en) Simple error-correction codes for data buffers
US5920578A (en) Method and apparatus for efficiently processing a multi-dimensional code
US6003151A (en) Error correction and detection system for mass storage controller
US6048090A (en) Error correction and concurrent verification of a product code
CA1204874A (en) Multibyte error correcting system involving a two- level code structure
JP3863252B2 (ja) 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法
JP3239863B2 (ja) データ復号処理装置および方法
JP3234130B2 (ja) 誤り訂正符号復号化方法およびこの方法を用いる回路
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JPH11249920A (ja) 符号語データを記憶するデータバッファを用いるeccシステムおよび誤りシンドロームを記憶するシンドロームバッファ
JPH0267825A (ja) 誤り訂正回路
US6725416B2 (en) Forward error correction apparatus and methods
JP3945602B2 (ja) 訂正検査方法及び訂正検査装置
US20100005364A1 (en) Encoding method, encoding apparatus, decoding method, and decoding apparatus using block code
JP3306413B2 (ja) 誤り訂正装置および誤り訂正方法
KR100738170B1 (ko) 오류 정정 장치
EP0905911A2 (en) Data error correcting method and apparatus
JP2004206798A (ja) 光ディスク装置のエンコードデータ符号回路
KR100361947B1 (ko) 디스크 재생 장치에 적용되는 에러 검출 회로
JP2000010807A (ja) ディジタルデータ再生装置
US7213190B2 (en) Data processing apparatus and method
US20050055622A1 (en) Device and method for generating error correction code
KR100397095B1 (ko) 에러 검출 장치 및 그 방법
JPH07226687A (ja) 誤り訂正処理装置
US20080104487A1 (en) Error detection apparatus and error detection method

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020416

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

Free format text: PAYMENT UNTIL: 20080510

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090510

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090510

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100510

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110510

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120510

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130510

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130510

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140510

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees