JP2004087018A - Error correcting method and error correcting device - Google Patents
Error correcting method and error correcting device Download PDFInfo
- Publication number
- JP2004087018A JP2004087018A JP2002248174A JP2002248174A JP2004087018A JP 2004087018 A JP2004087018 A JP 2004087018A JP 2002248174 A JP2002248174 A JP 2002248174A JP 2002248174 A JP2002248174 A JP 2002248174A JP 2004087018 A JP2004087018 A JP 2004087018A
- Authority
- JP
- Japan
- Prior art keywords
- error
- correction
- sequence
- data
- error flag
- 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.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、光ディスク記録再生装置に用いられ、特に積符号ブロック化された記録再生データに対して各系列のエラー訂正を順次行う、エラー訂正方法およびエラー訂正装置に関する。
【0002】
【従来の技術】
通信、コンピュータ、放送、映像メディアなどのデジタル化された各分野においては、データの信頼性の向上、さらには記録システムにおける高記録密度化のために一般にエラー訂正符号が用いられている。特に最近では、データ処理能力の向上に伴い高度な訂正能力を有するエラー訂正符号が用いられるようになってきており、高画質な映像を提供するDVD記録再生装置においてもリードソロモン(以下RS)積符号と呼ばれるエラー訂正符号ブロックを用いることで転送中に付加されたエラー訂正を行っている。積符号は縦横の異なる方向のエラー訂正符号を組み合わせたもので、図6に示したように情報シンボルの横方向に対して付加された内符号のPIパリティと、情報シンボルおよびPIパリティの縦方向に対して付加された外符号のPOパリティから構成されている。
【0003】
PO方向の誤り訂正符号は符号長208バイト、情報長192バイト、最小距離17のRS符号であり、PI方向の誤り訂正符号は符号長182バイト、情報長172バイト、最小距離11のRS符号である。
【0004】
RS積符号を用いた光ディスクにおける従来のエラー訂正方法の具体的な手順は、次のとおりである。
まず、DVDなどから読み出して信号処理を施された再生データは、図6に示すエラー訂正符号(ECC)ブロックに変換されて図7に示す訂正用のバッファRAM11に格納される。このバッファRAM11には一般的に大容量/低コストのダイナミックランダムアクセスメモリ(D−RAM)が用いられる。
【0005】
次に、事前に決められた第1の系列、一般にはPI系列について、データ列がバッファRAM11より読み出され、エラー訂正回路15に入りシンドローム計算される。このシンドローム計算結果がゼロかゼロではないかによってエラーの有無が判断され、エラーがあった時は、そのエラーが訂正可能であればエラー訂正回路15が検出したエラーパターンとエラーロケーションからバッファRAM11上にあるデータに対して訂正実行がなされ、そのエラーが訂正不能であれば訂正実行はされずにエラーフラグが付加される。
【0006】
第1の系列のすべてのデータ列について前記処理が行われ、前記処理が終了してもエラーがなくならないときには、第1の系列から第2の系列、一般にはPO系列に訂正方向が変更される。
【0007】
そして第1の系列と同様にバッファRAM11から第2の系列のデータ列が順次読み出され、シンドローム計算、訂正実行またはエラーフラグの付加という一連の処理が行われていく。
【0008】
ただし、第2の系列からは、第1の系列で訂正不能なデータ列に対して付加されたエラーフラグを基に消失訂正を行うことが可能となり、エラーフラグを用いない通常の訂正(以下ワード訂正)かエラーフラグを用いる消失訂正かの訂正モードの選択を、この訂正方向変更時にエラーフラグ数から判断して決定し、どちらか一方の訂正モードを用いて訂正処理が行われる。
【0009】
ただし、ここで言うエラーフラグはエラーの有無を示す「0」あるいは「1」のデータであるので、消失訂正を行う場合にはエラーフラグ「1」の列アドレスをガロア体のエラーアドレスに変換してから用いる必要がある。
【0010】
また、消失訂正はワード訂正よりも訂正能力を高めることができ、PI系列では最小距離11であるのでワード訂正では最大5個までしかエラー訂正が出来ないが、消失訂正では最大10個のエラーフラグを利用することで最大10個までのエラー訂正を行うことができる。同様にPO系列では最小距離17であるのでワード訂正では最大8個までしかエラー訂正が出来ないが、消失訂正では最大16個のエラーフラグを利用することで最大16個までのエラー訂正を行うことができる。ただし、消失訂正は誤訂正率もワード訂正より高くなってしまうという欠点もある。第2の系列の全てのデータ列に対しても第1の系列と同様の処理が行われ、この処理が終了しても、エラーがなくならないときには再度、第2の系列から第1の系列に訂正方向が変更され、ワード訂正または消失訂正を用いてエラー訂正処理が行われる。
【0011】
以下、これが繰り返され、全てのエラーを訂正し終わった、あるいは予め設定しておいた繰り返し回数または制限時間をオーバーしたらエラー訂正処理は終了され、バッファRAM11に格納されたデータは順次ホスト側に出力される。
【0012】
このように従来の処理手順では、エラーの有無の判断はバッファRAMからデータが読み出されてから判断され、また事前に決められた系列の順番に従ってエラー訂正処理が繰り返され、ワード訂正か消失訂正かの訂正モードの選択についてもこの事前に決められた系列の順番変更時に決定される。
【0013】
しかしながら、上記した従来技術においてはエラーフラグと呼ばれるエラー箇所の存在を示すフラグは、訂正を行ってきた訂正系列に関しては順次明らかになっていくものの、他方の系列のエラーフラグの状況は、もう一度その系列のデータ列をバッファRAMから読み込んでシンドローム計算してみるまで分からない。このため、たとえエラーのないデータ列に対しても無駄なバッファRAMへのアクセスおよびシンドロームの計算を行う必要があった。また他方の系列のエラーフラグの状況がわからないため、訂正方向の決定は事前に決められた順番で行われ、なおかつワード訂正か消失訂正かの選択も訂正方向変更時点で明らかになっている片方の系列のエラーフラグ数によってしか判断できなかった。このため処理手順の効率化としてはまだまだ改善の余地があり、また訂正能力の向上、あるいは誤訂正防止に関しても従来技術は有効な方法であるとは言えない。
【0014】
【発明が解決しようとする課題】
上記した従来のエラー訂正は、ブロック内のエラーの分布が不明であり、エラーの有無に拘わらずエラー訂正処理手順に添って実行していたために、エラー訂正処理に時間がかかり過ぎていた。
【0015】
この発明の目的は、バッファRAMへのアクセスを減らして全体の処理速度を向上させる一方、効率の良い手順でエラー訂正処理を行う高速なエラー訂正装置およびエラー訂正方法を提供することにある。
【0016】
【課題を解決するための手段】
上記した課題を解決するために、この発明では、縦および横方向系列の1データ列毎にエラーフラグ生成用データを作成して保存しておき、訂正処理する毎に前記縦横のエラーフラグ生成用データを更新していくことによって、常に積符号ブロック内のエラー分布が把握でき、エラーのないデータ列に対するバッファRAMへのアクセスを停止することが可能となり、全体としてエラー訂正処理速度を向上させることが可能となる。
【0017】
また、縦および横方向系列の1データ列毎にエラーフラグ生成用データを作成して保存しておき、訂正処理する毎に前記エラーフラグ生成用データを更新していくことによって常に積符号ブロック内のエラー分布が把握でき、より処理時間のかからない、あるいは訂正能力の高い、あるいは誤訂正の少ない訂正方向および訂正モードを随時判断・変更することが可能となる。
【0018】
【発明の実施の形態】
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。図1は、この発明の一実施の形態に係るエラー訂正装置の概略ブロック図であり、図2はこの発明のエラー訂正について説明するための説明図である。
図1において、DVDなどから読み出して信号処理された再生データは、訂正用バッファRAM11に格納するとともに、エラーフラグ生成用データ作成回路12に入力する。エラーフラグ生成用データ作成回路12は入力された再生データから予め決められた計算式の元に、POおよびPI系列の各データ列毎にエラーフラグ生成用データを作成し、専用RAM13に格納する。
【0019】
ここで、エラーフラグ生成用データとは、そのデータ列の中にエラーがあるかないかを示すエラーフラグを生成するためのデータであり、このエラーフラグ生成用データがゼロでない場合は、そのデータ列にエラーが有ることを示しており、エラーフラグ「1」を立てる。また、ゼロであればそのデータ列にはエラーがないことを示しているので、エラーフラグ「0」を立てる。このエラーフラグ生成用データは、例えばシンドローム値を用いればよい。
【0020】
また、図2に示すように、データ量がPO系列の1データ列で16バイト、PI系列の1データ列で10バイトと多いので、シンドローム値の一部、具体的にはシンドローム3バイト分〜5バイト分程度でよい。また信号処理側からのエラー検出情報などを基に作成しても構わない。これによりエラーフラグ生成用データとしてシンドローム値の一部を用いることにより、シンドローム全部と比較して保存用のRAMの容量を減少させることが可能となる。
【0021】
訂正方向/訂正モード判断部14は、エラーフラグ生成用データから生成されたエラーフラグの数をPI/PO系列ごとに集計し、その数によって処理時間のかからない、あるいは訂正能力の高い訂正方向および訂正モードを判断・決定し、その決定内容をエラー訂正回路15に送信する。
【0022】
ここで、処理時間の高速化を目的とした上記判断方法の具体例について説明する。
図2において、PI系列のエラーフラグ数をEi、PO系列のエラーフラグ数をEoとすると、Ei≦16の場合は、訂正系列をPO系列とし、訂正モードは消失訂正とする。Ei>16且つEo>10の場合は、エラーフラグを利用した消失訂正が行えないと判断して訂正モードはワード訂正とし、訂正系列は符号長の長いPO系列とする。また、Ei>16且つEo≦10の場合は、訂正系列をPI系列とし、訂正モードは消失訂正とする。
【0023】
エラー訂正回路15は決定訂正系列の中のエラーフラグの示すデータ列をバッファRAM11から読み出し、決定訂正モードによって訂正処理を行う。そしてそのエラーが訂正不能の場合はエラーフラグを「1」のまま保持させ、そのエラーが訂正可能であれば、検出したエラーロケーションとエラーパターンからバッファRAM11上のデータを訂正実行するとともに、エラーロケーションとエラーパターンをエラーフラグ生成用データ更新回路16に送信する。
【0024】
エラーフラグ生成用データ更新回路16は、訂正実行が行われたデータ列のエラーフラグ生成用データを専用RAM13より読み出してくるとともに、そのデータを0にセットし、更にエラーフラグを「1」から「0」に更新し、決定訂正系列のエラーフラグ集計結果をデクリメントする。
【0025】
加えて、訂正実行したエラーロケーションに関連する他方の系列のエラーフラグ生成用データに対してもエラー訂正回路15から送信されたエラーロケーションとエラーパターンを基に更新作業を行い、更新作業の結果、エラーフラグ生成用データが0になったらエラーフラグを「1」から「0」に更新し、他方系列のエラーフラグ集計結果をデクリメントする。
【0026】
そして訂正方向/訂正モード判断部14は1データ列訂正処理に付随した更新作業の結果、PI系列およびPO系列のエラーフラグの集計結果が変化していれば、集計結果に基づいて訂正方向および訂正モードを判断し、同様の処理を繰り返し行っていく。
【0027】
ここで、図3を用いながら訂正系列のエラーパターンとエラーロケーションから他方の系列のエラーフラグ生成用データを更新する具体的な方法について説明する。
仮に訂正系列をPO系列とし、そのN列目を訂正処理する場合において、M1、M2、M3行目にE1,E2,E3と言うエラーパターンが検出されたとすると、例えばエラーフラグ生成用データの一部としてシンドロームの1次項をS1として用いたなら、訂正データ列Nの181の補数を指数ベクトル変換し、これにエラーパターンE1を乗じたものE1×α181 − Nを、エラーロケーションM1で示されたエラーフラグ生成用データと排他的論理和をとればよい。エラーロケーションM2,M3に関しても同様な計算を行う。
【0028】
この実施の形態によれば、縦および横方向系列の1データ列毎にエラーフラグ生成用データを作成して保存しておき、訂正処理する毎に前記縦横のエラーフラグ生成用データを更新していくことによって、常に積符号ブロック内のエラー分布が把握でき、エラーのないデータ列に対するバッファRAMへのアクセスを停止することが可能となり、全体としてエラー訂正処理速度を向上させることが可能となる。
【0029】
なお、終了条件は全てのエラーフラグが「0」になったときであるが、訂正系列と他方系列のエラーフラグの状況が常にわかるために、訂正系列のエラーフラグが全て「0」であったとしても、誤訂正を考慮して他方の系列に関してもう一度シンドローム計算する無駄な作業を省くことも可能となる。
【0030】
この発明は上記した実施の形態に限定されるものではない。たとえば、変更単位は特に1データ列単位でなくてもよく、訂正方向/訂正モード判断部14の応答速度あるいはバッファRAMへのアクセスデータ単位などを考えると、2データ列単位、3データ列単位、・・・としても構わない。この場合、縦および横方向系列の1データ列毎にエラーフラグ生成用データを作成して保存しておき、訂正処理する毎に前記エラーフラグ生成用データを更新していくことによって常に積符号ブロック内のエラー分布が把握でき、より処理時間のかからない、あるいは訂正能力の高い、あるいは誤訂正の少ない訂正方向および訂正モードを随時判断・変更することが可能となる。
【0031】
また、1系列単位で変更する場合に上記実施の形態を適用し、縦横のエラーフラグの集計結果から訂正方向と訂正モードを判断していく場合は、図5のようなフローとなり、もっとも最適な順番変更と訂正モードによってエラー訂正処理が行われることになる。
【0032】
また、再生データのエラー率が悪い場合などには誤訂正防止を主眼においた判断基準の方が適当である。この場合の判断基準はワード訂正の優先度を高めて、誤訂正率の高い消失訂正をなるべく使わないようにすればよい。例えばワード訂正で訂正可能なデータ列から訂正処理を行っていき、他方のエラーフラグ生成用データの更新の結果、新たにワード訂正できるデータ列が発生した場合にはさらにそのデータ列でのワード訂正での処理を継続させ、最後に消失訂正を行う。消失訂正を行う場合においても、エラーフラグ数を制限するなどして誤訂正率を下げる判断をするのも有効である。
【0033】
さらに、消失訂正のエラーフラグ数の設定変更に関しては高速処理にならない場合がある。例えば決定訂正系列をエラーフラグ数Nの消失訂正でエラー訂正処理していたとし、同訂正系列の最終データ列でエラーフラグ数がN−1に減った場合を考える。この場合、エラー訂正回路15のアルゴリズムにもよるが、エラーフラグ数をNからN−1に変更せずに、Nのままで消失訂正したほうが高速である。訂正方向/訂正モード判断部14は残りデータ列数とエラーフラグ減少数およびエラー訂正回路15のサイクル数などの関係から高速処理な訂正モードを判断する。
【0034】
また、高速処理よりも誤訂正防止を主眼とする判断基準の場合は、エラーフラグ数を減少させることにより誤訂正率を下げることができる。この場合はエラーフラグ数をNからN−1に減少させた方が有効である。
【0035】
さらに、DVDのように再生データがインタリーブ処理されている場合にはPO系列のエラーフラグ生成用データ作成回路の回路規模が大きくなる。回路規模を小さくする場合には、再生データを一旦デインタリーブした状態でバッファRAM11に格納し、その後もう一度読み出してエラーフラグ生成用データを作成しても構わない。この場合はバッファRAM11に対し、182バイト×208のアクセスが必要となる。
【0036】
またさらに、列アドレスからガロア体のエラーアドレスを生成して保存し、これを実施の形態1のエラーフラグの代わりとして使用すると、エラーアドレス変換の時間が短縮でき、さらに高速化できる。
【0037】
【発明の効果】
以上説明したように、この発明によれば、バッファRAMへのアクセスを減らして、クリティカルパスの発生を回避するとともに、エラー訂正計算の効率化により、処理速度の向上を図ることが可能となる。
【図面の簡単な説明】
【図1】この発明の一実施の形態について説明するための構成図。
【図2】この発明のエラー訂正について説明するための説明図。
【図3】この発明の訂正系列のエラーパターンとエラーロケーションから他方系列のエラーフラグ生成用データの更新について説明するための説明図。
【図4】この発明のエラー訂正の処理について説明するためのフローチャート。
【図5】この発明の1系列単位における訂正方向/訂正モードの判断処理について説明するためのフローチャート。
【図6】従来のリードソロモン積符号によるエラー訂正について説明するための説明図。
【図7】従来のエラー訂正回路の概念について説明するための構成図。
【符号の説明】
11…バッファRAM
12…エラーフラグ生成用データ作成回路
13…専用RAM
14…訂正方向/訂正モード判断部
15…エラー訂正回路
16…エラーフラグ生成用データ更新回路[0001]
TECHNICAL FIELD OF THE INVENTION
BACKGROUND OF THE
[0002]
[Prior art]
In digital fields such as communication, computers, broadcasting, and video media, error correction codes are generally used for improving the reliability of data and increasing the recording density of a recording system. In particular, recently, with the improvement in data processing capability, an error correction code having a high correction capability has been used, and even in a DVD recording / reproducing apparatus that provides high-quality video, a Reed-Solomon (hereinafter, RS) product is used. Error correction added during transfer is performed by using an error correction code block called a code. The product code is a combination of error correction codes in different vertical and horizontal directions. As shown in FIG. 6, the PI parity of the inner code added to the horizontal direction of the information symbol and the vertical direction of the information symbol and PI parity are added. Is composed of the PO parity of the outer code added to.
[0003]
The error correction code in the PO direction is an RS code having a code length of 208 bytes, an information length of 192 bytes, and a minimum distance of 17. The error correction code in the PI direction is an RS code having a code length of 182 bytes, an information length of 172 bytes, and a minimum distance of 11. is there.
[0004]
The specific procedure of the conventional error correction method for the optical disc using the RS product code is as follows.
First, reproduced data read from a DVD or the like and subjected to signal processing is converted into an error correction code (ECC) block shown in FIG. 6 and stored in the
[0005]
Next, a data sequence is read out from the
[0006]
When the above processing is performed on all the data strings of the first stream and the error does not disappear even after the processing is completed, the correction direction is changed from the first stream to the second stream, generally the PO stream. .
[0007]
Then, similarly to the first stream, the data stream of the second stream is sequentially read from the
[0008]
However, from the second stream, it is possible to perform erasure correction based on the error flag added to the data string that cannot be corrected in the first stream, and the normal correction (hereinafter, word correction) without using the error flag can be performed. Correction mode or erasure correction using an error flag is selected based on the number of error flags when the correction direction is changed, and a correction process is performed using one of the correction modes.
[0009]
However, since the error flag referred to here is data of "0" or "1" indicating the presence or absence of an error, when performing erasure correction, the column address of the error flag "1" is converted into a Galois field error address. Must be used afterwards.
[0010]
In addition, erasure correction can improve the correction ability more than word correction. Since the PI sequence has a minimum distance of 11, only up to 5 error corrections can be performed in word correction, but up to 10 error flags can be corrected in erasure correction. , It is possible to perform a maximum of 10 error corrections. Similarly, since the PO series has a minimum distance of 17, only up to 8 errors can be corrected in word correction, but up to 16 errors can be corrected in erasure correction by using up to 16 error flags. Can be. However, erasure correction also has the disadvantage that the error correction rate is higher than word correction. The same processing as that of the first series is performed on all the data strings of the second series. Even if this processing is completed, if the error does not disappear, the second series is again changed to the first series. The correction direction is changed, and error correction processing is performed using word correction or erasure correction.
[0011]
Thereafter, this process is repeated, and when all errors have been corrected, or when the number of times of repetition or the time limit exceeds a preset time, the error correction process is completed, and the data stored in the
[0012]
As described above, in the conventional processing procedure, the presence / absence of an error is determined after the data is read from the buffer RAM, and the error correction processing is repeated in accordance with a predetermined sequence order, and the word correction or the erasure correction is performed. The selection of the correction mode is also determined when the order of the predetermined sequence is changed.
[0013]
However, in the above-described related art, a flag indicating the presence of an error point, called an error flag, is sequentially clarified with respect to a corrected sequence that has been corrected, but the status of the error flag of the other sequence is once again determined. It is not clear until the data string of the series is read from the buffer RAM and the syndrome is calculated. For this reason, it is necessary to perform useless access to the buffer RAM and calculation of syndrome even for a data string having no error. In addition, since the status of the error flag of the other series is not known, the correction direction is determined in a predetermined order, and the selection of the word correction or the erasure correction is made clear at the time of changing the correction direction. It could only be determined by the number of error flags in the series. For this reason, there is still room for improvement in the efficiency of the processing procedure, and the prior art cannot be said to be an effective method for improving the correction capability or preventing erroneous correction.
[0014]
[Problems to be solved by the invention]
In the above-described conventional error correction, the error distribution in the block is unknown, and the error correction process is performed in accordance with the error correction processing procedure regardless of the presence / absence of the error.
[0015]
SUMMARY OF THE INVENTION An object of the present invention is to provide a high-speed error correction device and an error correction method that perform error correction processing in an efficient procedure while improving the overall processing speed by reducing access to a buffer RAM.
[0016]
[Means for Solving the Problems]
In order to solve the above-described problem, according to the present invention, error flag generation data is created and stored for each data string in the vertical and horizontal directions, and each time a correction process is performed, the error flag generation data for the vertical and horizontal errors is generated. By updating the data, the error distribution in the product code block can always be grasped, and access to the buffer RAM for error-free data strings can be stopped, thereby improving the error correction processing speed as a whole. Becomes possible.
[0017]
Also, error flag generation data is created and stored for each data sequence of the vertical and horizontal series, and the error flag generation data is updated each time correction processing is performed, so that the product code block is always updated. Can be grasped, and the correction direction and correction mode that require less processing time, have higher correction capability, or reduce erroneous correction can be determined and changed as needed.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a schematic block diagram of an error correction device according to an embodiment of the present invention, and FIG. 2 is an explanatory diagram for describing error correction of the present invention.
In FIG. 1, reproduction data read from a DVD or the like and subjected to signal processing is stored in a
[0019]
Here, the error flag generation data is data for generating an error flag indicating whether or not there is an error in the data string. If the error flag generation data is not zero, the data string is used. , An error flag “1” is set. If it is zero, it indicates that there is no error in the data string, and an error flag “0” is set. The error flag generation data may use, for example, a syndrome value.
[0020]
Further, as shown in FIG. 2, since the data amount is as large as 16 bytes for one data sequence of the PO sequence and 10 bytes for one data sequence of the PI sequence, a part of the syndrome value, specifically, for three bytes of the syndrome, It may be about 5 bytes. Alternatively, it may be created based on error detection information from the signal processing side. Thus, by using a part of the syndrome value as the data for generating the error flag, it is possible to reduce the capacity of the storage RAM as compared with the entire syndrome.
[0021]
The correction direction / correction
[0022]
Here, a specific example of the above determination method for the purpose of shortening the processing time will be described.
In FIG. 2, when the number of error flags of the PI sequence is Ei and the number of error flags of the PO sequence is Eo, when Ei ≦ 16, the correction sequence is the PO sequence and the correction mode is erasure correction. In the case of Ei> 16 and Eo> 10, it is determined that erasure correction using the error flag cannot be performed, so that the correction mode is word correction, and the correction sequence is a PO sequence having a long code length. When Ei> 16 and Eo ≦ 10, the correction sequence is a PI sequence, and the correction mode is erasure correction.
[0023]
The
[0024]
The error flag generation
[0025]
In addition, an update operation is performed on the other series of error flag generation data related to the corrected error location based on the error location and the error pattern transmitted from the
[0026]
The correction direction / correction
[0027]
Here, a specific method of updating the error flag generation data of the other sequence from the error pattern and the error location of the correction sequence will be described with reference to FIG.
If the correction sequence is a PO sequence and the N-th column is subjected to correction processing, if error patterns E1, E2, and E3 are detected in rows M1, M2, and M3, for example, one of the error flag generation data If using the first-order term of the syndrome as S1 as part, 181 of the complement of the corrected data string N to the exponent vector conversion, this E1 × alpha 181 multiplied by the error pattern E1 - the N, indicated by the error location M1 An exclusive OR operation with the error flag generation data may be performed. Similar calculations are performed for the error locations M2 and M3.
[0028]
According to this embodiment, error flag generation data is created and stored for each data row in the vertical and horizontal directions, and the vertical and horizontal error flag generation data is updated each time correction processing is performed. By doing so, the error distribution in the product code block can always be grasped, access to the buffer RAM for an error-free data string can be stopped, and the overall error correction processing speed can be improved.
[0029]
Note that the termination condition is when all the error flags have become “0”. However, since the statuses of the error flags of the correction sequence and the other sequence are always known, the error flags of the correction sequence are all “0”. However, it is also possible to omit useless work of again performing syndrome calculation on the other stream in consideration of erroneous correction.
[0030]
The present invention is not limited to the above embodiment. For example, the change unit does not have to be one data string unit, and considering the response speed of the correction direction / correction
[0031]
The above-described embodiment is applied to the case where the change is performed on a line-by-line basis, and when the correction direction and the correction mode are determined from the total result of the vertical and horizontal error flags, the flow is as shown in FIG. Error correction processing is performed by the order change and the correction mode.
[0032]
Further, when the error rate of the reproduced data is low, a judgment criterion focusing on prevention of erroneous correction is more appropriate. The criterion in this case is to raise the priority of word correction so that erasure correction with a high error correction rate is not used as much as possible. For example, correction processing is performed from a data string that can be corrected by word correction, and when a data string that can be corrected in a new word is generated as a result of updating the data for generating the other error flag, the word correction is further performed on the data string. And the erasure correction is finally performed. Also in the case of performing erasure correction, it is effective to determine the error correction rate by limiting the number of error flags or the like.
[0033]
Further, high-speed processing may not be performed for setting change of the number of error flags for erasure correction. For example, it is assumed that the determined and corrected sequence has been subjected to error correction processing by erasure correction with the number N of error flags, and the number of error flags has been reduced to N-1 in the final data sequence of the corrected sequence. In this case, although it depends on the algorithm of the
[0034]
In the case of a criterion whose main purpose is to prevent erroneous correction rather than high-speed processing, the erroneous correction rate can be reduced by reducing the number of error flags. In this case, it is more effective to reduce the number of error flags from N to N-1.
[0035]
Further, when the reproduction data is interleaved as in a DVD, the circuit scale of the PO series error flag generation data generation circuit becomes large. When the circuit size is reduced, the reproduced data may be temporarily stored in the
[0036]
Further, when a Galois field error address is generated and stored from the column address, and is used instead of the error flag of the first embodiment, the time for error address conversion can be reduced, and the speed can be further increased.
[0037]
【The invention's effect】
As described above, according to the present invention, it is possible to reduce the access to the buffer RAM to avoid the occurrence of the critical path, and to improve the processing speed by increasing the efficiency of the error correction calculation.
[Brief description of the drawings]
FIG. 1 is a configuration diagram for describing an embodiment of the present invention.
FIG. 2 is an explanatory diagram for explaining error correction according to the present invention;
FIG. 3 is an explanatory diagram for describing updating of error flag generation data of the other sequence from the error pattern and error location of the correction sequence according to the present invention.
FIG. 4 is a flowchart for explaining an error correction process according to the present invention;
FIG. 5 is a flowchart for explaining a correction direction / correction mode determination process in units of one series according to the present invention.
FIG. 6 is an explanatory diagram for explaining error correction using a conventional Reed-Solomon product code.
FIG. 7 is a configuration diagram for explaining the concept of a conventional error correction circuit.
[Explanation of symbols]
11 ... Buffer RAM
12 ... Error flag generation
14 correction direction / correction
Claims (5)
縦方向系列または横方向系列の少なくとも1データ列を訂正処理する毎に、訂正系列および訂正系列とは異なる方向系列の、予め決められた計算方法に基づいて計算しておいたエラーフラグ生成用データを更新していき、前記エラーフラグ生成用データより生成された縦横のエラーフラグの指示のあるデータ列に対してエラー訂正処理することを特徴とするエラー訂正方法。In an error correction method for recording information reproduced from a medium on which information is recorded in a buffer memory, and correcting an information error recorded in the memory using a Reed-Solomon product code,
Every time at least one data sequence of the vertical sequence or the horizontal sequence is corrected, error flag generation data calculated based on a predetermined calculation method of a correction sequence and a direction sequence different from the correction sequence. And performing an error correction process on a data string instructed by the vertical and horizontal error flags generated from the error flag generation data.
縦方向系列または横方向系列の少なくとも1データ列を訂正処理する毎に、訂正系列および訂正系列とは異なる方向の系列の、予め決められた計算方法のもとに計算しておいたエラーフラグ生成用データを更新していき、前記エラーフラグ生成用データより生成された縦横のエラーフラグの集計結果によって、訂正方向および訂正モードの判断を行い、前記判断に基づき、前記訂正方向および訂正モードを随時変更していくことを特徴とするエラー訂正方法。In an error correction method for recording information reproduced from a medium on which information is recorded in a buffer memory, and correcting an information error recorded in the memory using a Reed-Solomon product code,
Each time at least one data sequence of a vertical sequence or a horizontal sequence is corrected, an error flag is generated for a corrected sequence and a sequence in a direction different from the corrected sequence, which is calculated based on a predetermined calculation method. The correction data is updated, the correction direction and the correction mode are determined based on the total result of the vertical and horizontal error flags generated from the error flag generation data, and the correction direction and the correction mode are changed as needed based on the determination. An error correction method characterized by changing.
縦および横方向系列の1データ列毎にエラーフラグ生成用データを計算する計算手段と、
前記計算されたエラーフラグ生成用データを記憶するエラーフラグ生成用データ記憶手段と、
前記記憶されたエラーフラグ生成用データからエラーフラグを生成するエラーフラグ生成手段と、
少なくとも1データ列を訂正処理する毎に、訂正系列および訂正系列とは異なる方向の系列の前記エラーフラグ生成用データを更新する更新手段と、
前記エラーフラグの指示のあるデータ列に対してエラー訂正処理する手段とを具備することを特徴とするエラー訂正装置。In an error correction device that records information reproduced from a medium on which information is recorded in a buffer memory, and corrects an information error recorded in the memory using a Reed-Solomon product code,
Calculating means for calculating data for generating an error flag for each data row of the vertical and horizontal series;
Error flag generation data storage means for storing the calculated error flag generation data,
Error flag generation means for generating an error flag from the stored error flag generation data,
Updating means for updating, each time at least one data sequence is corrected, said error flag generation data of a correction sequence and a sequence in a direction different from the correction sequence;
Means for performing an error correction process on the data string instructed by the error flag.
前記エラーフラグ生成用データから生成された前記エラーフラグの数を縦および横方向系列毎に集計する集計手段と、
前記集計された集計結果より、訂正方向および訂正モードを判断する判断手段と、
前記判断に基づき、前記訂正方向および訂正モードを随時変更してエラー訂正処理する手段とを具備することを特徴とする記載のエラー訂正装置。5. The counting means according to claim 4, further comprising: counting the number of the error flags generated from the error flag generation data for each of vertical and horizontal series.
Judgment means for judging the correction direction and the correction mode from the totaled result,
An error correction device for changing the correction direction and the correction mode as needed based on the determination and performing error correction processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002248174A JP2004087018A (en) | 2002-08-28 | 2002-08-28 | Error correcting method and error correcting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002248174A JP2004087018A (en) | 2002-08-28 | 2002-08-28 | Error correcting method and error correcting device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004087018A true JP2004087018A (en) | 2004-03-18 |
Family
ID=32055613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002248174A Pending JP2004087018A (en) | 2002-08-28 | 2002-08-28 | Error correcting method and error correcting device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004087018A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006079810A (en) * | 2004-09-08 | 2006-03-23 | Fujitsu Ltd | Method and device for correcting errors in read data |
JP2016527832A (en) * | 2013-08-07 | 2016-09-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | System, method, and computer program for combined error and erasure decoding for product codes |
-
2002
- 2002-08-28 JP JP2002248174A patent/JP2004087018A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006079810A (en) * | 2004-09-08 | 2006-03-23 | Fujitsu Ltd | Method and device for correcting errors in read data |
JP2016527832A (en) * | 2013-08-07 | 2016-09-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | System, method, and computer program for combined error and erasure decoding for product codes |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4881232A (en) | Method and apparatus for error correction | |
US6192499B1 (en) | Device and method for extending error correction beyond one sector time | |
US7530009B2 (en) | Data storage method and data storage device | |
US5428630A (en) | System and method for verifying the integrity of data written to a memory | |
JP4102546B2 (en) | Simultaneous row / column syndrome generator for product codes | |
JP4709485B2 (en) | On-drive integrated sector format RAID error correction code system and method | |
US6363511B1 (en) | Device and method for decoding data streams from storage media | |
US20040257900A1 (en) | Data recording method, recording medium and reproduction apparatus | |
JPH11249920A (en) | Ecc system using data buffer for storage of code word data and syndrome buffer for storage of error syndrome | |
JPH0697542B2 (en) | Interleave circuit | |
US6415411B1 (en) | Error correcting decoder | |
JP2004087018A (en) | Error correcting method and error correcting device | |
CN100399462C (en) | Optical disk data read out method with error treatment | |
JP4095587B2 (en) | Data processing apparatus and data processing method | |
US7213190B2 (en) | Data processing apparatus and method | |
WO2008050957A1 (en) | Error correction method and apparatus for optical information storage medium recording/reproducing apparatus | |
KR100691065B1 (en) | Method and apparatus for generating error correction codes for data recorded on high density optical medium and correcting error using the codes | |
JP3519684B2 (en) | Data processing device using error correction code | |
JP3279501B2 (en) | Error correction and error detection method for mass storage controller | |
JP2547006B2 (en) | How to prevent erroneous correction | |
JP3245577B2 (en) | Error correction device | |
JPH07112160B2 (en) | Decoding method of error correction code | |
JP2000101447A (en) | Device and method of error correction | |
JP2002152055A (en) | Error correction method and error correction circuit for product code | |
JPS63298776A (en) | Error correction processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050218 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050415 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070119 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070525 |