JP2004071041A - Device and method for information processing, program, and recording medium - Google Patents

Device and method for information processing, program, and recording medium Download PDF

Info

Publication number
JP2004071041A
JP2004071041A JP2002228136A JP2002228136A JP2004071041A JP 2004071041 A JP2004071041 A JP 2004071041A JP 2002228136 A JP2002228136 A JP 2002228136A JP 2002228136 A JP2002228136 A JP 2002228136A JP 2004071041 A JP2004071041 A JP 2004071041A
Authority
JP
Japan
Prior art keywords
error
data
outer code
sync
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002228136A
Other languages
Japanese (ja)
Other versions
JP4078918B2 (en
Inventor
Yoshitoshi Matsuki
松木 俊寿
Toshinori Kozai
香西 俊範
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002228136A priority Critical patent/JP4078918B2/en
Publication of JP2004071041A publication Critical patent/JP2004071041A/en
Application granted granted Critical
Publication of JP4078918B2 publication Critical patent/JP4078918B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enable decoding processing by switching between quenching correction, mixture correction, and non-correction by using an error detection result when the error is detected by identification data, and by using the parity effectively. <P>SOLUTION: A position of a detected sync error is stored, a C1 error position indicating the position of the error, which cannot be corrected by C1 decoding, is stored, and the position of over write protect (OWP) error is stored. Then, In S31 of the decoding processing of a C2 code, it is decided whether or not the sum of the number of sync errors, the number of OWP errors and the number of C1 errors is below the number of parities of C2 decoding C2tmax. If the sum is below C2tmax, quenching correction processing is executed in S32. When it is decided in S34 that the sum of the number of sync errors and the number of OWP errors is below the number of parities C2tmax, mixture correction processing is performed in S35; otherwise, the C2 decoding process is completed by way of S37. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、記録時に正常に記録できなかった場合に起こるデータ誤りを訂正するための情報処理装置および方法、プログラム並びに記録媒体に関する。
【0002】
【従来の技術】
通信などにより転送されるデータの転送系路上や記録媒体上で生じたエラーを訂正する、エラー訂正技術が一般に普及しつつある。しかしながら、従来の誤り訂正装置では、再生されたデータのエラーは考慮されていたが、記録時に正常にデータ記録が行えなかった場合のデータ誤りに対しては考慮されていなかった。例えば回転ドラムに取り付けられた磁気記録ヘッドによりディジタルデータを記録する場合、磁気記録ヘッドの瞬間的な目詰まり、磁気テープ上のごみ、磁気テープの折り目等の影響により、磁気記録ヘッドが磁気テープ上を走査したにもかかわらず記録データが正常に磁気テープに記録されない場合がある。回転ヘッド型VTRに限らず、ディスク記録再生装置においても、指紋、ゴミ等の存在によって同様の問題が生じる可能性がある。
【0003】
このような状態を記録瞬時クロッグと呼ぶが、この状態の磁気テープを再生した場合、一般にはエラーが多く正常なデータを再生できないか、または恰もエラーが無いが、記録されていた前後のデータとは関連のない、過去に記録されていたデータ(以下、適宜下地データと称する)が再生されることがある。後者の場合、一般的にシンクブロック単位で付加された誤り訂正内符号の内符号パリティで誤り検出を行うのは困難である。誤り訂正外符号の外符号パリティが付加されているなら、誤り訂正外符号を解くことにより誤りシンクブロックであったことが検出される可能性がある。
【0004】
内符号および外符号は、積符号における誤り訂正符号を意味している。すなわち、誤り訂正の対象となるデータの2次元配列の垂直方向に整列する所定数のシンボル例えばバイトに対して外符号(以下、適宜C2符号と称する)の符号化がなされ、外符号パリティ(以下、適宜C2パリティと称する)が生成される。2次元配列の水平方向に整列する所定数のC2パリティまたはデータに対して内符号(以下、適宜C1符号と称する)の符号化がなされ、内符号パリティ(以下、適宜C1パリティと称する)が生成される。水平方向に整列するC2パリティまたはデータとC1パリティとが同じシンクブロックに含まれるようになされる。磁気テープには、シンクブロックの連続するデータが記録される。
【0005】
積符号では、各シンボルがC2符号およびC1符号で二重に符号化されている。したがって、C1符号の復号処理によって誤りを検出できなくても、C2符号で誤りを検出し、検出された誤りが訂正可能な範囲であれば、C2符号で誤り訂正される。しかしながら、C2符号で誤りを検出・訂正するということは、C2パリティを瞬時クロッグが発生したシンクブロックの検出のために消費していることになり、その他のランダムエラーに対する訂正能力の低下につながる。
【0006】
このような記録瞬時クロッグの対策として、下地が既に記録されているテープに対して、新たに上書き記録を行う場合に、下地と明らかに異なる識別用データ(以下、適宜OWP(Over Write Protect)と称する)を記録する方法がある。例えば1バイト長のOWPを使用し、記録を行う毎にOWPの値をランダムに変化させるようになされる。OWPは、各シンクブロックに挿入される。
【0007】
再生時に、下地部分のOWPなのか上書き記録されたOWPなのかを判断するために、上書き記録開始直後の数トラックに通常記録トラックとは異なり、有効データ部にもOWPを入れたシンクブロックを多数記録しておき、再生時にこのシンクブロックを取得することにより、このトラック以降のOWPの値が何であるかを判断させる方法がある。この方法は、上書き記録されたトラック以降のOWPの正しい値を取得できる確率が極めて高い反面、本来ビデオデータ等を記録できた有効データ部にOWPを記録するので、実質的な記録容量が減少してしまう問題がある。
【0008】
一方、上書き記録開始トラックから、OWPを新たな値に変更したシンクブロックを記録する方法もある。この方法は、実質的な記録容量の減少を防止できるが、再生時にOWPの変化が起きたシンクブロックが取得されると、これまで取得されていたシンクブロックを書き込んでいるメモリ領域とは異なるメモリ領域に書き込みを行う等、下地シンクブロックと上書きシンクブロックとの混在をメモリ上で避けなくてはならない。然も、OWPの変化が記録瞬時クロッグのためなのか、本当に上書きが開始されているのかをこの時点では判断できないため、OWPが変化するたびに新しいメモリ領域を確保していく必要があり、余分なメモリを必要とする。
【0009】
本願出願人は、記録容量の減少を防止でき、余分なメモリを必要とせず、瞬時クロッグの検出のためにパリティを消費しないですみ、OWPの多数決を良好に行うことができる装置および方法を案出している。すなわち、この改良された方法においては、OWPは、C1符号が完結するシンクブロック内に1データずつ存在し、C2符号が完結する複数トラック単位内では同一値を取り、C2符号が完結する複数トラック単位でのみ値が変更できるという条件で記録される。複数トラック単位の中でサンプリングされた所定数のOWPが多数決処理され、多数派が正しいOWPとされる。正しいOWPに対して、各シンクブロックのOWPが一致しているか、異なっているかが検出される。
【0010】
【発明が解決しようとする課題】
このとき、記録瞬時クロッグによってOWPが変化してしまったか、若しくは再生時に読み込む際にOWPデータに誤り、ランダムエラーが混入したかのどちらかの理由によって、多数決処理で取得されたOWPと異なっているOWPのシンクブロックが存在する。記録瞬時クロッグによって誤りが混入した場合には、そのOWPを含む誤り訂正C1符号が完結するシンクブロック内のデータはすべて誤りである可能性がある。一方、再生時に読み込んだ際に誤りが混入した場合には、そのOWPのみが誤りである可能性がある。したがって、誤りを完全に訂正するためには、正しいOWPと異なるOWPを含むC1符号が完結するシンクブロックの全てのデータが誤っているとして、訂正処理をすることが望ましい。
【0011】
また、従来の誤り訂正方法では誤りがすべて訂正できた場合でも、エラーフラグの状態によって誤り訂正の終了条件を定めていたために、余分な訂正処理を行っていた。
【0012】
したがって、この発明の目的は、記録時に正常に記録できなかったために起こるデータ誤りを、識別データ(OWP)の多数決処理の結果に基づいて訂正することができ、また、再生時の誤り訂正処理を短縮化することができる情報処理装置および方法、プログラム並びに記録媒体を提供することにある。
【0013】
【課題を解決するための手段】
上述した課題を解決するために、請求項1の発明は、記録データの2次元配列の第1の方向に対して内符号の符号化がなされ、第2の方向に対して外符号の符号化がなされ、符号化データに対して、シンクデータが付加されてシンクブロックが構成され、シンクブロック構成のデータが記録媒体に記録され、シンクブロックが記録毎に値が変更される識別用データを含み、且つ外符号が完結する範囲では、識別用データが同一の値を持つようになされたディジタルデータが再生され、再生されたディジタルデータの誤りを訂正する情報処理装置において、
シンクブロックの検出を行うシンクブロック検出手段と、
シンクブロック検出手段によって検出されないシンクブロックの第2の方向の位置を記憶する第1の誤り位置記憶手段と、
内符号の復号処理を行う第1の内符号復号手段と、
第2の方向の誤りの位置を記憶する第2の誤り位置記憶手段と、
第1の内符号復号手段の出力が記憶されるメモリと、
メモリに記憶されたデータ内で、外符号が完結する範囲において所定数の識別用データに対して多数決処理を行い、多数側の識別用データの値を本来記録されていた識別用データと判定し、多数側の識別用データとインターリーブが完結する範囲に含まれる各シンクブロックの識別用データとの一致検出を行い、不一致のシンクブロックをエラーシンクブロックと判定する多数決処理手段と、
多数決処理手段で検出されたエラーシンクブロックの第2の方向の位置を記憶する第3の誤り位置記憶手段と、
第1、第2および第3の誤り位置記憶手段に記憶されている誤り位置を参照して、メモリに記憶されたデータを使用して外符号の復号処理を行う外符号復号手段と、
、外符号の復号処理がなされてメモリに記憶されたデータを使用して内符号の復号処理を行い、復号処理に応じて第2の誤り位置記憶手段の内容を変更する第2の内符号復号手段とを備え、
外符号復号手段は、第1、第2および第3の誤り位置記憶手段に記憶されている誤り数の合計が外符号のパリティ数以下の場合には、消失訂正を行い、
第1、第2および第3の誤り位置記憶手段に記憶されている誤り数の合計が外符号復号手段のパリティ数より大の場合で、第1および第3の誤り位置記憶手段に記憶されている誤り数の合計が外符号のパリティ数以下の場合には、混合訂正を行い、
第1および第3の誤り位置記憶手段に記憶されている誤り数の合計が外符号復号手段のパリティ数より大きい場合には、訂正を行わないようようにした情報処理装置である。
【0014】
請求項5の発明は、外符号復号ステップでは、第1、第2および第3の誤り位置記憶ステップで記憶した誤り数の合計が外符号のパリティ数以下の場合には、消失訂正を行い、
第1、第2および第3の誤り位置記憶ステップで記憶した誤り数の合計が外符号復号ステップのパリティ数より大の場合で、第1および第3の誤り位置記憶ステップで記憶した誤り数の合計が外符号のパリティ数以下の場合には、混合訂正を行い、
第1および第3の誤り位置記憶ステップで記憶した誤り数の合計が外符号復号ステップのパリティ数より大きい場合には、訂正を行わないようようにした情報処理方法である。
【0015】
この発明では、シンクエラーの検出、第1回目の内符号の復号処理、多数決処理によるOWPエラーの検出、外符号の復号処理を順に行う場合、外符号の復号処理がシンクエラー、内符号エラーおよびOWPエラーのエラー数を参照して消失訂正処理、混合訂正処理、訂正処理をしないことの何れかを選択する。それによって、複数のパリティを有効に使用して誤りを訂正することができる。また、エラーが多すぎて復号処理をしなかったことを復号処理の終了の条件とするので、復号にかかる時間を短縮化することができる。
【0016】
【発明の実施の形態】
以下、この発明の一実施形態について図面を参照して説明する。図1は、この発明にかかわる記録再生装置の一実施形態の構成を示す図である。入力データは、磁気テープ、光ディスク等の記録媒体から再生されたデータである。または、通信系において、受信されたデータである。一実施形態は、回転ヘッドによって磁気テープにデータを記録する回転ヘッド型ディジタルVTRに対してこの発明を適用した例である。
【0017】
図2は、この発明の一実施形態におけるシンクブロックのデータフォーマットを示す。1シンクブロック長が111バイトであり、シンクブロックの先頭にはシンク先頭を示す2バイトからなるシンクワードが位置する。続いてシンクブロックが記録されているトラックナンバーまたはトラックナンバーを1ビットLSB側へシフトしたトラックペアナンバーを含む1バイトが位置する。さらに、磁気テープの下地のデータが再生されたことを識別するためのデータOWP(1バイト)が位置する。その後に、映像データ、音声データ、補助データ、サーチデータ、またはC2パリティからなる96バイトの主データが位置する。トラックペアナンバーを含むバイトから主データまでの99バイトに対するC1パリティ(10バイト)が付加される。
【0018】
一実施形態においては、回転ドラムに180°の対向間隔で、互いにアジマスが異なる一対の磁気記録ヘッドが取付けられている。回転ドラムの周面に斜めに磁気テープが巻き付けられた状態で走行する。回転ドラムが半回転する間で、一方のヘッドが磁気テープと接して斜めのトラックとしてデータを記録する。データは、例えばMPEG(Moving Picture Experts Group)のデータである。1フレーム分のMPEGデータが所定の数のトラックとして記録される。トラックペアナンバーは、一対の磁気記録ヘッドによって形成される2本のトラック毎に付加されている。
【0019】
また、上述のシンクブロックは、1トラック内に連続的に配置され記録されている。1トラック内には、例えば磁気記録ヘッドがテープ上を走査する順に0番〜140番までのシンクブロックナンバーが付けられた141個のシンクブロックのデータが記録される。シンクブロックナンバーが0番〜17番までの18個のシンクブロックは、主データ部にC2パリティが入っており、シンクブロックナンバーが18番以降の各シンクブロックの主データ部には映像データ等が入っている。
【0020】
一実施形態では、積符号が誤り訂正符号として使用されている。図3は、積符号の構成を示す。主データの垂直方向(第2の方向)に整列する123バイトに対してリードソロモン符号等のC2符号の符号化がなされ、18バイトのC2パリティが形成される。したがって、垂直方向に123+18=141シンクブロック分のデータが並ぶ。次に、後述するトラックインターリーブの処理を行って、各シンクブロックの主データ(96バイト)またはシンクワード以外のトラックペアナンバー、シンクブロックナンバー、OWPおよび主データ(1+1+1+96=99バイト)に対してリードソロモン符号等のC1符号の符号化がなされ、10バイトのC1パリティが形成される。そして、シンクワードが付加されてシンクブロックのデータが構成される。
【0021】
このように、123シンクブロック分の主データ部に対して18シンクブロック分のC2パリティが付加される。この141シンクブロックの配列を面と呼ぶと、図4に示すように、16トラックに渡り16面分のシンクブロックがインターリーブして配置されている。この処理をトラックインターリーブと称する。図4において、記録順に上から下へシンクブロックナンバーが(0〜140)と増加し、トラックの順にトラックナンバーが(0〜15)と増加する。図4中で1つの矩形の領域がシンクブロックを表しており、領域の中に面番号(0〜15)が記入されている。
【0022】
再生時には、各トラックから再生された各シンクブロックに対してリアルタイムでC1符号の復号処理を行う。そして、図4に示す16トラック分の再生データをメモリに蓄積し、同一の面番号が付されているシンクブロックを集めて1つの面を構成する。例えば「0」の面番号が付加されている141個のシンクブロックが集められる。構成された面毎にC2符号の復号処理がなされる。トラックインターリーブによって、瞬時クロッグに代表されるバースト的エラーが発生した場合に、複数のエラーシンクブロックが16個の面に平均的に分散できる。それによって、C2符号の訂正能力を充分に発揮させることができる。
【0023】
この発明の一実施形態では、OWPは、C2符号のトラックインターリーブが完結する16トラック内では、同じ値とされ、この16トラック周期でのみOWPの値が変更可能とされる。OWPは、磁気テープ上で繋ぎ撮りを行う際は、繋ぎ撮り位置よりも前に記録されていたOWP識別用データとは異なる値を繋ぎ撮り開始後のOWP識別用データとして用いる。この一実施形態では、OWPが1バイトであるので、とりうる値としては、256通りである。繋ぎ撮り等で記録の度にOWPが変化される。OWPの変化は、不規則なものとされる。
【0024】
図1に戻ると、磁気テープから読み出されたデータは、シンクエラー検出部1に入力される。このシンクエラー検出部1は入力された信号がシンクブロックとして検出できないときに、シンクエラーフラグを生成する。例えばシンクワードを検出できない場合には、シンクエラーとされる。シンクエラーフラグがシンクエラーフラグメモリ7に書き込まれる。この場合、そのシンクブロックがECCメモリ10上に記録されるべき位置の情報を有するシンクエラーフラグが生成される。例えば記録されるべき位置に対応したシンクエラーフラグメモリ7の位置にシンクエラーフラグが記憶される。シンクエラー検出部1を介された入力データがC1復号器2に出力される。
【0025】
C1復号器2は、シンクブロック毎にC1符号のエラー訂正を行う。C1復号器2の出力データがECCメモリ10に記録される。C1復号器2は、通常訂正処理を行った後、処理後のデータを再生データとしてECCメモリ10に記憶させると共に、通常訂正により訂正できなかった位置を示すフラグをC1エラーフラグメモリ6に記憶させる。C1エラーフラグは、そのシンクブロックがECCメモリ10上に記録されるべき位置の情報を有する。例えば記録されるべき位置に対応したC1エラーフラグメモリ6の位置にC1エラーフラグが記憶される。
【0026】
ECCメモリ10は、図5に示すように水平方向(C1方向)と垂直方向(C2方向)に対して2次元的に入力されたデータを記憶する。C2符号の組み合わせが完結する複数トラック分のシンクブロックが全てECCメモリ10に記録される。このとき、再生データは、シンクブロック単位で、ECCメモリ10上に垂直方向に配列され、1行ずつ書き込まれる。
【0027】
なお、図5は、図3と対応するもので、例えば図3中のシンクワードを除くデータの2次元配列が図5の配列と対応する。したがって、1シンクブロックのシンクワード以外のデータが積符号で符号化されている。再生データが連続的に到来するので、ECCメモリ10は、トラックインターリーブが完結する16面分のデータを蓄積できる容量を有するメモリバンクを2個以上有している。
【0028】
ECCメモリ10に対してアクセス可能なように、C1復号器3、C2復号器4、OWP多数決処理部5が接続されている。上述したように16トラックにわたって同一のOWP値を記録しても、再生時に発生するエラーまたは記録瞬時クロッグにより、以前にテープに記録されていたシンクブロックが混在している可能性があるため、本来のOWP値が入ったシンクブロックであるかどうかを直ぐに判断することはできない。そのため、OWP多数決処理部5は、ある程度シンクブロックをECCメモリ10に蓄積し、蓄積したシンクブロックの中でOWPの多数決を行い、多数のOWP値を正しいOWP値と判定する。
【0029】
そして、再び各シンクブロックのOWPと正しいと判定されたOWPとが比較される。その結果に応じてOWPエラーフラグが生成され、OWPエラーフラグメモリ9に記憶される。すなわち、OWPが少ないほうに属するシンクブロックに対してECCメモリ10上での記録位置に相当する個所のOWPエラーフラグがエラー有りにセットされる。
【0030】
C2復号器4は、シンクエラーフラグメモリ7に記憶されたシンクエラー数とOWPエラーフラグメモリ9に記憶されたOWPエラー数とC1エラーフラグメモリ6に記憶されたC1エラー数に基づいて、通常訂正、消失訂正、または、混合訂正を使い分けてC2復号を行う。C2復号器9は、ECCメモリ10に記憶された再生データの配列において、垂直方向に配列された列毎に含まれているエラー訂正処理を実行する。復号結果をECCメモリ10に記憶し、訂正できなかったエラーの位置を示すフラグがC2エラーフラグメモリ8に記憶される。
【0031】
誤り訂正には、通常訂正と消失訂正の2種類がある。通常訂正とは、誤りの位置と、誤りの値とを求めて誤りを訂正する処理である。消失訂正とは、誤りの位置が予め分かっている状態で、誤りの値だけを訂正する処理である。さらに、混合訂正とは、通常訂正と消失訂正とを組み合わせて訂正を行う処理である。
【0032】
例えばリードソロモン符号の場合、4個のパリティを有する場合では、4個のシンドロームS0,S1,S2,S3が再生データを演算することで求められる。誤りが無い場合では、全てのシンドロームの値が0となる。1シンボル誤りの場合では、シンドロームS0が誤りの値と等しくなる。2シンボル誤りの場合では、4個のシンドロームから2個の誤りシンボルの位置を求め、2個の誤りの値を求めることによって、2個の誤りを訂正することができる。これが通常訂正である。さらに、4個までの誤りは、その位置が求まっていれば、4個のシンドロームを演算することによって、各位置の誤りの値が求められ、誤りを訂正することができる。これが消失訂正である。
【0033】
このように、1個の消失訂正を行うときは、予め誤りの位置が分かっているので、パリティは、誤りの値を特定するために1だけ消費される。また、1個の通常訂正を行うときは、誤りの位置と誤りの値とを特定するために、2個のパリティが消費される。例えばパリティ数t=2の場合では、通常訂正のみで訂正可能なシンボル数が1(t/2=2/2)シンボルとなる。また、パリティ数t=2の場合では、消失訂正のみで訂正可能なシンボル数が2シンボル(=t)となる。さらに、混合訂正可能な条件は、パリティ数t、通常訂正数iおよび消失訂正数eの場合に、2i+e≦tの式を満たすことである。
【0034】
C1復号器3は、C1復号器2と同様に、シンクエラーフラグメモリ7に記憶されたフラグとOWPエラーフラグメモリ9に記憶されたフラグとC2エラーフラグメモリ8に記憶されたフラグ数に基づいて、ECCメモリ10に記憶された再生データのエラー訂正処理を1行ずつ実行する。C1復号器3の復号結果のデータがECCメモリ10に記憶されると共に、訂正できなかったフラグがC1エラーフラグメモリ6に記憶される。一実施形態では、最大で、C1復号とC2復号とをそれぞれ2回ずつ繰り返すようになされている。すなわち、C1復号器2によるC1復号、C2復号器4によるC2復号、C1復号器3による復号、C2復号器4による復号を行うようにされている。
【0035】
ECCメモリ10から読み出されたデータが信号生成部11に供給される。信号生成部11は、ECCメモリ10に記憶されているエラー訂正後の画像データを読み出し、C1エラーフラグメモリ6、および、C2エラーフラグメモリ8に記憶されたエラーの情報を読み出した画像データに対して付加して出力する。
【0036】
上述したように、エラーフラグとして、C1エラーフラグ、C2エラーフラグ、シンクエラーフラグおよびOWPエラーフラグの4種類のエラーフラグが用意されている。エラーフラグは、全て1ビットであり、エラーがあると判定された場合には、フラグが立っており(値が”1”)、エラーがないと判定された場合には、フラグが立っていない(値が”0”)。これらのエラーフラグが全て”0” の場合は、シンクワードが取得され、シンクブロック内にエラーが存在しないことを示している。
【0037】
C1エラーフラグは、「シンクブロックは取得されたが、C1復号によりエラーになった」ことを示すフラグと定義される。C2エラーフラグは、「C2復号によりエラーになった」ことを示すフラグと定義される。シンクエラーフラグは、「シンクブロック自体が未取得であるため、メモリ上には過去のデータが残っている可能性がある」ことを示すフラグと定義される。OWPエラーフラグは、「シンクブロックは取得されたが、OWP代表値との比較により不一致になった」ことを示すフラグと定義される。
【0038】
4種類のフラグのうち、シンクエラーフラグまたはOWPエラーフラグが立っているシンクブロックは、ランダムエラーのようにシンクブロックの一部分がコード化けを起こしているのではなく、シンクブロック全体が本来のデータと全く異なったデータになっている可能性が高い。そのため、このようなデータは、C2符号を解く際に、消失エラーとして扱うことが望ましい。消失エラーとしてC2復号器4にあらかじめエラーの位置情報を教えることで余分なパリティを使わずにエラー訂正が可能となる。
【0039】
上述したエラーフラグにおいては、シンクエラーであり且つOWPエラーであるというように、エラーが重なる場合がありうる。それぞれのエラーフラグ数を個別に数えて各エラーフラグ数としてしまうと、実際のエラーの起こっている数よりもエラーフラグの合計数のほうが多くなってしまうため、適切に訂正できない、また無駄にパリティを消費するということが起こる。そこで、各エラーフラグの合計数の求め方として以下のような2つの方法が考えられる。
【0040】
第1の方法は、まず、シンクエラーフラグが立っているシンクは、OWPエラーフラグ、C1エラーフラグの状態にかかわらずシンクエラーとして扱う。次に、シンクエラーフラグが立っていないシンクのうち、OWPエラーフラグが立っているシンクをC1エラーフラグの状態にかかわらず、OWPエラーとして扱う。最後に、シンクエラー、OWPエラーは発生していないが、C1エラーが発生しているものをC1エラーとして扱う。
【0041】
第2の方法は、シンクエラーが立っているシンクはそのほかのエラーフラグの状態によらずに、シンクエラーとして扱う。次に、シンクエラーが立っていないシンクに関して、C1エラーフラグの立っているシンクをOWPエラーフラグの状態によらず、C1エラーとして扱う。最後にシンクエラー、C1エラーは発生していないが、OWPエラーが発生しているシンクをOWPエラーとして扱う。
【0042】
上述した第1および第2の方法の違いはエラーフラグの優先順位の取り扱いが異なる。第1の方法でのエラーフラグの優先順位は優先度の高い順にシンクエラーフラグ、OWPエラーフラグ、C1エラーフラグとなっているのに対して、第2の方法ではシンクエラーフラグ、C1エラーフラグ、OWPエラーフラグとなっている。シンクエラーフラグの優先順位が最も高いのはシンクデータを取得できなかったシンクでは、そのデータに含まれるデータすべてが信頼できないためである。
【0043】
次の優先順位としてOWPエラーフラグとC1エラーフラグの2種類があるのは、記録時にシンクデータのうち一部のデータは記録できたが、大半のデータは下地が残ってしまったためOWPデータも下地が残り、結果としてC1エラーが発生したシンクデータが多いか、それとも、OWPデータの読み出し時に誤りが発生して、その結果C1エラーが発生しているデータが多いのかによる。前者の誤りが多い場合には、OWPエラーフラグの優先度のほうがC1エラーフラグよりも高くなるが、後者の誤りが多い場合にはC1エラーフラグの優先度のほうがOWPエラーフラグよりも高くなる。
【0044】
このどちらの優先度を使用するかは記録時に発生するエラー数と再生時に発生するエラー数のどちらが多いかによることになり、それはシステムに依存する。そのため、実際に誤り訂正を行ってみるなどしてどちらの優先度を使用するかを決定される。
【0045】
図5には、ECCメモリ10と関連して、C1エラーフラグメモリ6、シンクエラーフラグメモリ7、OWPエラーフラグメモリ9およびC2エラーフラグメモリ8のそれぞれに記憶されるエラーフラグが示されている。これらのエラーフラグメモリとECCメモリ10との位置関係が対応している。
【0046】
ECCメモリ10では、シンクブロック単位で、図中垂直方向に1行ずつ、上から順に入力データが記憶される。このとき、シンクブロック単位でシンクワードが検出できない等の読出しエラーが発生すると、シンクエラーフラグメモリ7において、そのシンクブロックが記憶される位置(全てエラーとなった行の位置)のシンクエラーフラグがセットされる。図5の例では、垂直方向の位置Yの1行分のシンクブロックが読み出せなかったことを示すシンクエラーフラグがセットされることになる。
【0047】
C2復号器4は、ECCメモリ10の1列ずつを図に向かって左端の列から右側の列へ順にエラー訂正処理を実行する際、シンクエラーフラグを参照することによってエラー位置を特定でき、そのエラー位置のエラーの消失訂正を実行することができる。
【0048】
また、C1復号器2および3により復号処理された後、エラーが訂正できなかった行については、同様に、その行の位置を示すフラグが、C1エラーフラグメモリ6に記憶される。従って、Y行目の位置で訂正できなかったエラーが発生した場合、C1エラーフラグメモリ6には、その位置のC1エラーフラグがエラー有りにセットされる。
【0049】
OWP多数決処理部によりOWP値の多数決をとった後、多数決をとった値と異なるOWP値を示している行については、そのシンクブロックを記録した際に正常に記録されなかったものとして、OWPエラーフラグメモリ9には、その位置のOWPエラーフラグがエラー有りにセットされる。
【0050】
さらに、C2復号器4により、垂直方向に1列ずつ復号される際、エラー訂正できなかった列の位置を示すフラグがC2エラーフラグメモリ8に記憶される。例えば、図5に示すように、C2エラーフラグメモリ8に記憶されるC2エラーフラグの中で、列Xの位置にC2エラーが生じている場合では、Xの位置のC2エラーフラグがエラー有りにセットされる。
【0051】
次に、図6のフローチャートを参照して、エラー訂正装置の復号処理について説明する。
【0052】
ステップS1において、シンクエラー検出部1は、シンクエラーを検出してシンクエラーフラグメモリ7に記憶させる。ステップS2において、C1復号器2は、第1回目のC1復号処理を実行する。訂正できるエラーが訂正され、訂正できなかったエラーの位置を示すC1エラーフラグをC1エラーフラグメモリ6に記憶する。
【0053】
ここで、図7のフローチャートを参照して、C1復号器2(第1回目のC1復号)の処理について説明する。ステップS11において、C1復号器2は、通常訂正処理を実行する。C1復号器2では、ステップS12において、訂正できなかったエラーデータの位置を示すC1エラーフラグをC1エラーフラグメモリ6に記憶する。
【0054】
ここで、図6のフローチャートの説明に戻ると、ステップS3において、OWP多数決処理部5は、OWPの多数決処理を実行する。
【0055】
ここで、図8のフローチャートを参照して、OWP多数決処理部11の処理について説明する。
【0056】
ステップS21において、ECCメモリ10から各シンクブロックに記録されているOWP値の読み込みを行う。全てのシンクブロックのOWP値を使用すると、処理が面倒となるので、実際には、適切にサンプリングされた所定数のシンクブロックのOWP値が読み込まれる。その読み込んだ値を用いて、OWPの多数決処理を行う。
【0057】
次に、ステップS21で行った多数決の結果に基づいて、ステップS22でそのエラー訂正ブロックに対するOWPの代表値を決定する。次に、ステップS23で代表値となるOWPと異なるOWP値を持つシンクブロックに対してOWPエラーフラグをセットし、OWPエラーフラグメモリ9にエラーフラグを記憶する。
【0058】
ここで、図6のフローチャートの説明に戻ると、ステップS4において、C2復号器4がC2符号の復号処理を実行する。
【0059】
ここで、図9のフローチャートを参照して、C2復号器4の復号処理について説明する。C2復号器4においてなされる第1回目の復号処理と第2回目になされる復号処理とは、共に図9のフローチャートに示される順序で処理を行う。
【0060】
ステップS31において、シンクエラーフラグメモリ7に記録されたエラー数と、OWPエラーフラグメモリ9に記録されたエラー数と、C1エラーフラグメモリ6に記録されたエラー数の和がC2復号のパリティ数C2tmax以下であるか否かを判定する。すなわち、ステップS31は、C2復号器4が1列に含まれるエラー数の合計から消失訂正が可能であるか否かを判定する処理である。消失訂正可能と判定されると、処理がステップS32に進む。
【0061】
ステップS32において、C2復号器4は、シンクエラーフラグメモリ7とOWPエラーフラグメモリ9、およびC1エラーフラグメモリ8を参照して、エラーの発生している位置を確認して、消失訂正処理を実行する。ステップS33において、C2復号器4は、各列について訂正できたエラーのエラーフラグをクリアし、訂正結果に応じたエラーフラグを付加する。
【0062】
ステップS31において、シンクエラーフラグ7に記録されたエラー数と、OWPエラーフラグ9に記録されたエラー数と、C1エラーフラグメモリ6に記録されたエラー数の和がC2復号器4のパリティ数以下ではないと判定されると、処理は、ステップS34に進む。
【0063】
ステップS34において、C2復号器4は、シンクエラー数とOWPエラー数の和がパリティ数C2tmax以下であるか否かを判定する。パリティ数C2tmax以下であると判定されると、処理がステップS35に進む。
【0064】
ステップS35において、C2復号器4は、ECCメモリ10上に記憶された画像データを列毎に、混合訂正処理を施す。すなわち、通常訂正と消失訂正とを組み合わせて訂正を行う。ステップS36において、C2復号器4は、各列についてエラーを検出し、訂正できなかったエラー位置を検出して、C2エラーフラグメモリ8にエラーフラグをセットする。
【0065】
ステップS34において、シンクエラー数とOWPエラー数の和がパリティ数C2tmax以下でないと判定されると、ステップS37を経てC2復号処理が終了する。ステップS37において、復号処理が行われないと判断され、復号処理が行われなかったことが記憶される。すなわち、誤りが多すぎて訂正不能なために、C2復号処理がされない。
【0066】
ここで、図6のフローチャートの説明に戻る。
【0067】
ステップS5において、ステップS4でC2復号処理を行わなかったか、若しくは、全ての誤りが訂正されているか否かを判定する。全てのエラーが訂正されていれば、それ以上の復号処理が不要であるので、処理がステップS9に進む。また、誤りが多すぎてC2復号処理がされなかった場合は、その以上の処理を行うことが無意味であるので、やはり処理がステップS9に進む。ステップS9おいて、信号生成部11がECCメモリ10より復号訂正された画像データを読出すと共に、C1エラーフラグメモリ6およびC2エラーフラグメモリ8に記憶されているエラーフラグ情報を読み出し、画像データに付加して出力する。
【0068】
ステップS5において、C2復号処理を行ったが、全てのエラーは訂正できなかったと判定されると、処理がステップS6に進む。ステップS6において、C1復号器3が復号処理を実行する。
【0069】
ここで、図10のフローチャートを参照して、C1復号器3の復号処理(2回目のC1復号処理)について説明する。
【0070】
ステップS41において、C1復号器3は、C2エラーフラグメモリ8のエラー数がC1復号器3のパリティ数C1tmax以下であるか否かを判定する。エラー数がC1復号器3のパリティ数C1tmax以下であると判定されると、処理がステップS42に進む。
【0071】
ステップS42において、C1復号器3は、C2エラーフラグメモリ8に記憶されているC2エラーフラグを参照してエラー位置を確認し、消失訂正を実行する。そして、ステップS43において、C1エラーフラグメモリ8の訂正された位置のC1エラーフラグをクリアする。
【0072】
ステップS41において、C2エラーフラグメモリ8に記憶されているC2エラーフラグの合計数がC1符号のパリティ数C1tmax以下ではないと判定されると、処理がステップS44に進む。
【0073】
ステップS44において、C1復号器3は、シンクエラーフラグメモリ7、OWPエラーフラグメモリ9、C1エラーフラグメモリ6にそれぞれ記憶されているエラーフラグを参照して、シンクエラーフラグ若しくはOWPエラーフラグが付された行に対しては訂正処理を実行せず、それ以外の行に対して、通常訂正を実行する。シンクエラーフラグまたはOWPエラーフラグが立っている行は、下地のデータが残っている可能性がある行のために、C1復号を行った場合に図6のステップS4のC2復号でデータの一部が正しいデータに訂正されたにもかかわらず、下地データに付加されているパリティを使って訂正処理が行われることにより、再び下地データに復号されてしまうことを防止する目的で、C1復号処理を行わない。ステップS45において、C1復号器3は、C1エラーフラグメモリ6に処理後のエラーフラグを記録する。
【0074】
上述したこの発明の一実施形態についてより具体的に説明する。例えば、図11に示すように、8×8のデータ(シンボル)を記憶するECCメモリ10を仮定する。1 個のデータ(シンボル)は、図中の矩形領域(枡目)の1個分である。1個のデータ(シンボル)は、例えば1バイトである。再生されたシンクブロックが上から下に順にECCメモリ10に記録される。なお、図11においては、黒い矩形領域がエラーデータを示し、白い矩形領域がエラーの無いデータを示し、斜線の矩形領域がOWPが異なるデータを示している。また、以下の説明においても同様とする。
【0075】
また、8×8の矩形領域で示すECCメモリ10の右側には、シンクエラーフラグメモリ7が示され、さらに右側にはOWPエラーフラグメモリ9が示され、さらに右側にはC1エラーフラグメモリ6が示され、また、ECCメモリ10の下段にはC2エラーフラグメモリ8が示されている。
【0076】
さらに、C1復号器2、3のパリティ数C1tmax=2とし、C2復号器4のパリティ数C2tmax=3とする。すなわち、C1復号器2、3は、通常訂正の場合、1個のエラーを訂正することができ、消失訂正の場合、2個のエラーを訂正することができる能力を有する。また、C2復号器4は、通常訂正の場合、1個のエラーを訂正することができ、消失訂正の場合、3個のエラーを訂正することができる能力を有する。さらに、C2復号器4は、混合訂正では、1個のシンボルを通常訂正でき、1個のシンボルを消失訂正できる。
【0077】
シンクブロック検出部1は、シンクデータが入力されたときにシンクワードが検出できなかったとき、シンクエラーを検出しエラーが生じたことを示すシンクエラーフラグを記録する.シンクエラーが発生したときには、そのシンクデータに含まれるデータはすべて誤りであると考えられる。図11(A)の場合、上から第2行目は1行分のデータにエラーが生じている。これはこのシンクデータが入力されたときに、シンクワードが検出されなかったため、シンクエラーを検出し、シンクエラーフラグメモリ7の第2段目に対応する位置に記録し、第2行目のデータはすべてエラーであることを示している.このエラーが生じたことを示すシンクエラーフラグを、入力された画像信号をC1復号器2に出力する。
【0078】
次に、C1復号器2は、第1回目の復号処理(ステップS2)を実行する。図7中のステップS11において、C1復号器2は、通常訂正処理を実行する。図11(A)の例では、第1、3、7および8行目には、各行に1個のエラーが発生している(第1行目は左から第4列目、第3行目は左から第6列目、第7行目は左から第3列目、第8行目は左から第2列目)。C1復号器2は、パリティ数C1tmax=2までの消失訂正処理を実行することができ、通常訂正処理により、1個のエラーについては通常訂正することができる。したがって、通常訂正によって、図11(B)で示すように、第1、3、7および8行目のエラーは訂正されることになる。
【0079】
しかしながら、図11(A)で示すように第5行目には、4個のエラーが発生しており、このためC1復号器2では、エラーを訂正することができないので、図11(B)で示すように、第5行目の4個のエラーはそのまま残された状態となる。第4行目に関してはOWPが異なるデータであるが、シンクブロックだけを見ればエラーが存在しないために、この段階では、この行に関しての誤り訂正処理が行われない。
【0080】
C1復号器2は、ステップS11の処理で訂正することができなかったエラーが第5行目に残されているので、図11(B)に示すように、C1エラーフラグメモリ6の第5行目にエラーフラグを付加する(図7中、ステップS12)。
【0081】
次に、図6のステップS3において、OWP多数決処理部5は、OWPの多数決処理(図8のフローチャート参照)を実行する。
【0082】
図11の例では、第4行目のOWPが他のシンクブロックのOWPと異なっているので、図11(C)に示すように、第4行目のOWPエラーフラグメモリ9のエラーフラグをセットする。
【0083】
次に、C2復号器4が復号処理を実行する(図6中のステップS4)。このC2復号器4の復号処理は、図9のフローチャートにしたがって行われる。図11(C)の例では、シンクエラーフラグメモリ7には1個のエラーがあり、OWPエラーフラグメモリ9には1個のエラーがあり、C1エラーフラグメモリ6には、1 個のエラーがあるので、その合計は3となる。これは、C2符号のパリティ数C2tmax=3以下であるので、図9のステップS31からステップS32へ処理が進む。
【0084】
ステップS32において、C2復号器4は、シンクエラーフラグメモリ7とOWPエラーフラグメモリ9、およびC1エラーフラグメモリ8を参照して、エラーの発生している位置を確認して、消失訂正処理を実行する。すなわち、図11(C)の例では、シンクエラーフラグメモリ7には、その第2行目にエラーが発生しており、OWPエラーフラグメモリ9には4行目にエラーが発生しており、C1エラーフラグメモリ6には、その第5行目にエラーが発生しているので、各列のエラー数は、左から第1、5、7、8列目では3個であり、第2、3、4、6列目では2個であるので、どの列もC2復号器4により消失訂正を実行することができる。その結果として、図11(D)で示すように、エラーは全て訂正される。この場合では、C2エラーフラグは付加されない。
【0085】
そして、図6中のステップS5において、ステップS4でC2復号処理を行っていないか、若しくは全てのエラーが訂正できたか否かを判断する。図11(D)の場合には、C2復号処理が行われているが、全てのエラーが訂正されたのでステップS9に進む。
【0086】
ステップS9において、信号生成部11は、ECCメモリ10より復号訂正された画像データを読出すと共に、C1エラーフラグメモリ6およびC2エラーフラグメモリ9に記憶されたエラー情報を読み出し、出力する。
【0087】
上述したように、図11の例では、消失訂正処理のみが施されることにより全てのエラーが訂正される。
【0088】
次に、図12(A)で示すような画像データが入力される場合の訂正処理について説明する。
【0089】
ステップS1において、シンクブロック検出部1は、シンクエラー検出処理を実行し、シンクエラーを検出して、シンクエラーフラグをシンクエラーフラグメモリ7に記憶させる。図12(A)の場合、シンクエラーは存在しないため、シンクエラーフラグは付加されずに、入力された画像信号がC1復号器2に出力される。
【0090】
C1復号器の第1回目の復号処理(図7のフローチャート参照)が実行される。すなわち、C1復号器2が通常訂正処理を実行する。図12(A)の例では、第1、3、6および8行目には、各行に1個のエラーが発生している。C1復号器2は、パリティ数C1tmax=2までの誤りを消失訂正処理で訂正することができ、1個の誤りを通常訂正処理で訂正することができるので、図12(B)で示すように、第1、3、7および8行目のエラーは訂正されることになる。しかしながら、図12(A)で示すように第4、5、および7行目には、それぞれ、2個、3個、4個のエラーが発生しており、このためC1復号器2では、図12(B)で示すように、エラーを訂正することができない。
【0091】
C1復号器2は、ステップS11の処理で訂正することができなかった行に相当する個所にC1エラーフラグを付加する(ステップS12)。図12の例では、図12(B)に示すように、C1エラーフラグメモリ6の第4、5、および7行目にエラーフラグがセットされる。
【0092】
図6のステップS3において、OWP多数決処理部11は、OWPの多数決処理を実行する。図12の例では、第2行目のOWPが他のシンクブロックのOWPと異なっているので図12(C)で示すように第2行目のOWPエラーフラグメモリ9にエラーフラグを付加する。
【0093】
次に、図6のステップS4において、C2復号器4は、復号処理(図9のフローチャート参照)を実行する。シンクエラーフラグメモリ7に記録されたエラー数と、OWPエラーフラグ9に記録されたエラー数と、C1エラーフラグメモリ6に記録されたエラー数の和がC2復号器のパリティ数C2tmax=3以下であるか否かを判定する。
【0094】
図12(C)の例では、シンクエラーフラグメモリ7のシンクエラーフラグが全てエラー無しであり、OWPエラーフラグメモリ9には1個のエラーがあり、C1エラーフラグメモリ6には、3個のエラーがあるので、その合計は4となる。したがって、C2復号器のパリティ数C2tmax=3以下ではないので、その処理は、ステップS34に進む。
【0095】
ステップS34において、C2復号器4は、シンクエラー数とOWPエラー数の和がパリティ数C2tmax=3以下であるか否かを判定する。図12(C)の場合、シンクエラー数が0であり、OWPエラー数が1であることから、和が1となりパリティ数C2tmax=3以下であると判定され、その処理は、ステップS35に進む。
【0096】
ステップS35において、C2復号器4は、ECCメモリ10上に記憶された画像データの列毎に、混合訂正処理を施す。図12(C)の場合、OWPエラーフラグメモリ9により上から第2行目のデータは位置が定まったエラーであるので、消失訂正によりC2パリティの1個を使用して訂正することができる。
【0097】
さらに、左から第2、7、および8列目では、エラーの位置は、特定されていない(図中ECCメモリ10上のエラーの位置は、便宜的に示しているものであり、実際には、シンクエラーフラグが記録された位置以外では、エラー位置を検出することはできない)。そのため、左から第2列目の上から7行目、左から7列目の上から7行目および左から8列目の上から5行目に存在するエラーは、2個のC2パリティを使用して通常訂正によって訂正することが可能となる。また、左から第1列目と第5列目は、エラー訂正が不能となるので、図12(D)で示すように、第1列目と第5列目以外のデータは、訂正されることになる。
【0098】
C2復号器4は、各列についてエラーを検出し、エラーフラグを付加する処理を実行する。図12(D)の場合、C2復号器4は、左から第1列目と、左から第5列目は、エラーが訂正できなかったので、そのエラー位置を検出して、C2エラーフラグメモリ8のエラーフラグをセットする。
【0099】
次に、C2復号処理を行っていないか、若しくは全てのエラーが訂正できたか否かが判定される(ステップS5)。図12(D)の場合、C2復号処理を行ったが、全てのエラーは訂正できなかったので、その処理は、C1復号器3の復号処理(ステップS6)に進む。
【0100】
図10中のステップS41において、C1復号器3は、C2エラーフラグメモリ8のエラー数が、C1復号器のパリティ数C1tmax=2以下であるか否かを判定する。図12(D)の場合、C2エラーフラグメモリ8には、第1列目と第5列目にエラーが存在するので、C2エラーフラグメモリ8のエラー数は合計で2となり、C1復号器のパリティ数C1tmax=2以下であると判定され、その処理は、ステップS42に進む。
【0101】
ステップS42において、C1復号器3は、C2エラーフラグメモリ8を参照してエラー位置を確認し、消失訂正を実行する。図12(D)の場合、C2エラーフラグメモリ8には、左から第1列目と第5列目に、上から第2、4、5、および7行目にそれぞれエラーが存在するので、図12(E)に示すように、消失訂正処理によりエラーが訂正される。
【0102】
ステップS43において、C1復号器3は、C1エラーフラグメモリ6に現在のエラーフラグを記録する。図12(E)の場合、エラーが存在しないので、図12(E)に示すように、C1エラーフラグメモリ8には、エラーが記録されないことになる。
【0103】
そして、図6中のステップS7において、ステップS6でC1復号処理を行っていないか、若しくは全てのエラーが訂正できたか否かを判断する。図12(E)の場合には、C1復号処理が行われているが、全てのエラーが訂正されたのでステップS9に進む。
【0104】
ステップS9において、信号生成部11は、ECCメモリ10より復号訂正された画像データを読出すと共に、C1エラーフラグメモリ6およびC2エラーフラグメモリ9に記憶されたエラー情報を読み出し、出力する。
【0105】
このように、図12の例の場合、実質的には、混合訂正処理が施されることにより全てのエラーが訂正される。
【0106】
次に、図13に示すような画像データが入力される場合の訂正処理について、説明する。
【0107】
ステップS1において、シンクエラーが検出され、シンクエラーフラグメモリ7にシンクエラーフラグが記憶される。図13(A)の場合、上から第3、4、および7行目のデータが入力されたときに、シンクデータの検出が行えなかった。このため、シンクブロック検出部1は、シンクエラーを検出して、エラーが生じたことを示すフラグを、シンクエラーフラグメモリの第3、4、および7行目に記録し、入力された画像データをC1復号器2に出力する。
【0108】
ステップS2において、C1復号器2による第1回目の復号処理(図7のフローチャート参照)が実行される。図13(A)の場合、第1、8行目には、各行に1個のエラーが発生している。C1復号器2は、パリティ数C1tmax=2までの消失訂正処理を実行することができ、通常訂正処理において、1個のエラーについては訂正することができる。したがって、図13(B)で示すように、第1、8行目のエラーは訂正されることになる。しかしながら、図13(A)で示すように第5行目には3個のエラーが発生しており、このためC1復号器2では、第5行目のエラーを訂正することができない。
【0109】
ステップS12において、C1復号器2は、ステップS11の処理で訂正することができなかった第5行目にエラーに対応して、図13(B)で示すように、C1エラーフラグメモリ6の第5行目のエラーフラグをセットする。
【0110】
次に、ステップS3において、OWP多数決処理部5は、OWPの多数決処理を実行する。図13では第2行目のOWPが他のシンクブロックのOWPと異なっているので、図13(C)で示すようにOWPエラーフラグメモリ9の第2行目のOWPエラーフラグをセットする。
【0111】
そして、ステップS4において、C2復号器4が復号処理(図9のフローチャート参照)を実行する。ステップS31において、シンクエラーフラグ7に記録されたエラー数と、OWPエラーフラグメモリ9に記録されたエラー数と、C1エラーフラグメモリ6に記録されたエラー数の和がC2復号器4のパリティ数C2tmax=3以下であるか否かが判定される。
【0112】
図13(C)の例では、シンクエラーフラグメモリ7には3個のエラーがあり、OWPエラーフラグメモリ9には1個のエラーがあり、C1エラーフラグメモリ6には、1個のエラーがあるので、その合計は5となるので、ステップS31において、C2復号器のパリティ数C2tmax=3以下ではないので、その処理は、ステップS34に進む。
【0113】
ステップS34において、C2復号器4は、シンクエラー数とOWPエラー数の和がパリティ数C2tmax=3以下であるか否かを判定する。図13(C)の場合、シンクエラー数が3であり、OWPエラー数が1であるから合計は4となり、パリティ数C2tmax=3以下ではないと判定され、その処理は、ステップS37に進む。
【0114】
ステップS37において、訂正処理は行われないと判断され、C2復号処理が行われなかったことが記憶される。図6のステップS5において、ステップS4でC2復号処理を行わなかったか、若しくは全てのエラーが訂正できたか否かを判断する。図13(D)の場合、ステップS4でC2復号処理が行われなかったので、その処理は、ステップS9に進む。
【0115】
ステップS9において、信号生成部11は、ECCメモリ10より復号訂正された画像データを読出すと共に、C1エラーフラグメモリ6およびC2エラーフラグメモリ8に記憶されたエラー情報を読み出し、出力する。
【0116】
このように、図13の例の場合、C1復号器2およびC2復号器4に対して、訂正可能なエラー数よりも多くのエラーが存在するため、実質的には、ほとんど訂正処理が行われずにデータが出力されることになる。1回目のC1復号処理およびOWP多数決処理の後で、1回目のC2復号処理がされなかったことで、復号処理が終了するので、訂正不可能であるにもかかわらず、復号処理を行うことを防止でき、復号処理を迅速とできる。
【0117】
次に、図14(A)で示すようなデータに対する訂正処理について説明する。ステップS1において、シンクエラー検出処理が実行され、検出されたシンクエラーと対応するシンクエラーフラグがシンクエラーフラグメモリ7に記憶される。図14(A)の例では、シンクエラーは存在していないため、シンクエラーフラグに対する記録は行われない。
【0118】
ステップS2において、C1復号器の復号処理(図7のフローチャート参照)が実行される。ステップS11において、C1復号器2は、通常訂正処理を実行する。図14(A)の例では、第1、4、8行目には、各行に1個のエラーが発生している。C1復号器2は、パリティ数C1tmax=2までの消失訂正処理を実行することができ、通常訂正処理において、1個のエラーについては訂正することができる。したがって、図14(B)で示すように、第1、4、8行目のエラーが訂正されることになる。しかしながら、図14(A)で示すように第5行目には4個のエラーが、第6、7行目には、2個のエラーが発生しており、これらのエラーをC1復号器2が訂正することができない。
【0119】
ステップS12において、C1復号器2は、ステップS11の処理で訂正することができなかった第5、6、7行目にエラーが生じているので、図14(B)に示すように、C1エラーフラグメモリ6の第5、6、7行目のエラーフラグをセットする。
【0120】
そして、OWP多数決処理部11によるOWPの多数決処理(ステップS3)が実行される。図8のフローチャート中のステップS21において、ECCメモリ10から各シンクブロックに記録されているOWP値の読み込みを行う。その読み込んだ値を用いて、OWPの多数決処理を行う。
【0121】
次に、ステップS21で行った多数決の結果、ステップS22でそのブロックに対するOWPの代表値を決定する。次に、ステップS22で選択された代表値となるOWPと異なるOWP値を持つシンクブロックに対してOWPエラーフラグをセットする。図14では第2行目のOWPが他のシンクブロックのOWPと異なっているので、図14(C)で示すようにOWPエラーフラグメモリ9の第2行目のエラーフラグがセットされる。
【0122】
次に、C2復号器4は、復号処理(図6のステップS4)を実行する。ステップS31において、C2復号器4は、シンクエラーフラグ7に記録されたエラー数と、OWPエラーフラグ9に記録されたエラー数と、C1エラーフラグメモリ6に記録されたエラー数の和がC2復号器のパリティ数C2tmax=3以下であるか否かを判定する。図14(C)の例では、シンクエラーフラグメモリ7にはエラーはなく、OWPエラーフラグメモリ9には1個のエラーフラグが付加されており、C1エラーフラグメモリ6には、3個のエラーフラグが付加されているので、その合計は4となる。したがって、エラーフラグの和がC2tmaxより大きいと、ステップS31において判定され、その処理は、ステップS34に進む。
【0123】
ステップS34において、C2復号器4は、シンクエラー数とOWPエラー数の和がパリティ数C2tmax=3以下であるか否かを判定する。図14(C)の場合、シンクエラー数は0であり、OWPエラー数が1であることから、和は1とになり、パリティ数C2tmax=3以下であると判定され、その処理は、ステップS35に進む。
【0124】
ステップS35において、C2復号器4は、シンクエラーフラグメモリ7とOWPエラーフラグメモリ6を参照して、エラーの発生している位置を確認して、混合訂正処理を実行する。すなわち、図14(C)の場合、OWPエラーフラグメモリ9により上から第2行目のデータは位置が定まったエラーであるので、消失訂正によりC2パリティを1個分使用して訂正することができる。
【0125】
さらに、左から第1、2、3、4、および5列目では、エラーの位置は、特定されていない(図中ECCメモリ10上のエラーの位置は、便宜的に示しているものであり、実際には、シンクエラーフラグが記録された位置以外では、エラー位置を検出することはできない)ため、左から第4列目の上から5行目および左から5列目の上から6行目に存在するエラーは、通常訂正処理で訂正することが可能となる。また、左から第1列目、第2列目と第3列目は、エラー訂正が不能である。結局、図14(D)で示すように、第1列目、第2列目と第3列目以外のデータは、訂正されることになる。
【0126】
ステップS36において、C2復号器4は、各列についてエラーを検出し、エラーフラグを付加する処理を実行する。図14(D)の場合、C2復号器4は、左から第1列目、第2列目と第3列目は、エラーが訂正できなかったので、C2エラーフラグメモリ8のエラー位置のエラーフラグがセットされる。
【0127】
図6のステップS5において、ステップS4においてC2復号処理が行われなかったか、若しくは全てのエラーが訂正されたか否かを判定する。今の場合、図14(D)で示すようにC2復号処理は行われたが、全てのエラーを訂正できなかったので、処理がステップS6に進む。
【0128】
ステップS6において、C1復号器3が第2回目の復号処理(図10のフローチャート参照)を実行する。ステップS41において、C1復号器3は、C2エラーフラグメモリ8のエラー数が、C1復号器のパリティ数C1tmax=2以下であるか否かを判定する。図14(D)の場合、C2エラーフラグメモリ8には、第1乃至3列目にエラーが存在するので、C2エラーフラグメモリ8のエラー数は合計で3となり、C1復号器のパリティ数C1tmax=2以下ではないと判定され、その処理は、ステップS44に進む。
【0129】
ステップS44において、C1復号器3は、シンクエラーフラグメモリ7、OWPエラーフラグメモリ9とC1エラーフラグメモリ6を参照してシンクエラーフラグ若しくはOWPエラーフラグが付された行に対しては訂正処理を実行せず、それ以外の行に対して、通常訂正を実行する。図14(D)の場合、シンクエラーフラグメモリ7にはエラーは存在せず、OWPエラーフラグメモリ9には、上から第2行目にOWPエラーフラグが付されているので、訂正処理を実行しない。また、C1エラーフラグメモリ6には、上から第5乃至7行目に、それぞれ3個、1個、2個のエラーが存在するので、通常訂正を実行する。この場合、C1復号器3のパリティ数C1tmax=2以上であるので、訂正処理を正しくできるのは、第6行目のみであるので、図14(E)に示すように、第2、5、7行目に訂正できないエラーが残ることになる。
【0130】
ステップS45において、C1復号器3は、C1エラーフラグメモリ6に現在のエラーフラグを記録する。図14(E)の場合、エラー訂正ができなかった、上から第5、7行目の位置のエラーフラグがクリアされないで残る。
【0131】
次に、図6のステップS7において、ステップS6においてC1復号処理が行われなかったか、若しくは全てのエラーが訂正されたか否かを判定する。今の場合、図14(E)で示すようにC1復号処理は行われたが、全てのエラーを訂正できなかったので、その処理は、ステップS8に進む。
【0132】
ステップS8において、C2復号器4が復号処理(図9のフローチャート参照)を実行する。ステップS31において、シンクエラーフラグ7に記録されたエラー数と、OWPエラーフラグ9に記録されたエラー数と、C1エラーフラグメモリ6に記録されたエラー数の和がC2復号器4のパリティ数C2tmax=3以下であるか否かを判定する。図14(E)の場合、シンクエラーフラグメモリ7にはエラーがなく、OWPエラーフラグメモリ9には1個のエラーがあり、C1エラーフラグメモリ6には2個のエラーがあるので、その合計は3となるので、ステップS31において、パリティ数C2tmax=3以下と判定され、その処理は、ステップS32に進む。
【0133】
ステップS32において、C2復号器4は、シンクエラーフラグメモリ7とOWPエラーフラグメモリ9およびC1エラーフラグメモリ6を参照して、C2エラーフラグメモリ8を参照し、エラーの発生している位置を確認して、消失訂正処理を実行する。図14(E)の場合、左から第1乃至3列目には、それぞれ3個、2個、3個のエラーフラグが付されているので、図14(F)で示すように、その全てが消失訂正処理により訂正される。
【0134】
ステップS33において、C2復号器4は、各列についてエラーを検出し、エラーフラグを付加する処理を実行する。ただし、図14(F)の場合、エラーが全て訂正されているので、C2エラーフラグメモリ8に付加されていたフラグが消去され、その処理は終了する。
【0135】
図6のステップS9において、信号生成部11は、ECCメモリ10より復号訂正された画像データを読出すと共に、C1エラーフラグメモリ6およびC2エラーフラグメモリ8に記憶されたエラー情報を読み出し、出力する。
【0136】
このように、図14の例のような場合、最初のC1復号器2の復号処理で、通常訂正処理が行われ、最初のC2復号器4の復号処理では、混合訂正が行われ、2回目のC1復号器3の復号処理では、通常訂正が行われ、2回目のC2復号器4の復号処理では、消失訂正が行われ、結果として、全てのエラーが訂正される。
【0137】
以上のように、C1復号器2、C2復号器4、C1復号器3およびC2復号器4の順序で復号処理が実行されて、シンクエラーフラグメモリ7、OWPエラーフラグメモリ9、C1エラーフラグメモリ6および、C2エラーフラグメモリ8のそれぞれに付加されたエラーフラグに対応して、通常訂正、消失訂正および混合訂正が使い分けられて復号処理が実行される。
【0138】
この発明は、上述したこの発明の一実施形態に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、以上の説明においては、ECCメモリ10は、8×8のデータ構成となる例について説明してきたが、当然のことながら、それ以外の数の構成となる2次元のデータを扱えるメモリであってもよい。また、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0139】
この発明による復号処理は、ハードウエアとソフトウェアの何れによっても実現することができる。復号処理をソフトウェアによって実現する場合では、復号処理(図6参照)のプログラムがコンピュータにインストールされることで、情報処理装置を実現することができる。
【0140】
この発明は、上述したこの発明の一実施形態に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、この発明は、磁気テープ以外の記録媒体例えば光ディスクを使用してディジタルデータを記録再生する場合にも適用することができる。また、ディジタルデータを伝送媒体を介して通信する場合に対してもこの発明を適用することができる。
【0141】
【発明の効果】
この発明によれば、記録時、若しくは送信データ生成時に発生した誤りに対して識別データ(OWP)を用いることにより、消失訂正、通常訂正、または混合訂正のいずれかの訂正方法で誤りを訂正することができる。この発明によれば、訂正できる誤りを多くすることが可能となる。また、この発明によれば、エラーが全て訂正されたか、またはエラーが多すぎて復号処理がされなかったことを検出し、その結果、誤り訂正を終了することにより、誤り訂正の処理時間を短くすることができる。
【図面の簡単な説明】
【図1】この発明の一実施形態の構成を示すブロック図である。
【図2】この発明の一実施形態におけるシンクブロックのデータ構成を示す略線図である。
【図3】この発明の一実施形態におけるトラック内データ構成を示す略線図である。
【図4】16面の誤り訂正外符号を使ったトラック間インターリーブパターンの一例を示す略線図である。
【図5】この発明の一実施形態におけるECCメモリの構成を示す略線図である。
【図6】この発明の一実施形態の復号処理の全体的流れを示すフローチャートである。
【図7】復号処理中の1回目のC1復号処理の流れを示すフローチャートである。
【図8】復号処理中のOWP多数決処理の流れを示すフローチャートである。
【図9】復号処理中のC2復号処理の流れを示すフローチャートである。
【図10】復号処理中の2回目のC1復号処理の流れを示すフローチャートである。
【図11】この発明の一実施形態による復号処理の第1の例を示す略線図である。
【図12】この発明の一実施形態による復号処理の第2の例を示す略線図である。
【図13】この発明の一実施形態による復号処理の第3の例を示す略線図である。
【図14】この発明の一実施形態による復号処理の第4の例を示す略線図である。
【符号の説明】
1・・・シンクエラー検出部、2,3・・・C1復号器、4・・・C2復号器、5・・・OWP多数決処理部、6・・・C1エラーフラグメモリ、7・・・シンクエラーフラグメモリ、8・・・C2エラーフラグメモリ、9・・・OWPエラーフラグメモリ、10・・・ECCメモリ、11・・・信号生成部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing apparatus and method, a program, and a recording medium for correcting a data error that occurs when recording cannot be performed normally during recording.
[0002]
[Prior art]
2. Description of the Related Art An error correction technique for correcting an error generated on a transfer path of data transferred by communication or on a recording medium is becoming popular. However, in the conventional error correction device, an error of reproduced data is considered, but a data error when data cannot be normally recorded during recording is not considered. For example, when digital data is recorded by a magnetic recording head mounted on a rotating drum, the magnetic recording head may be caught on the magnetic tape due to the instantaneous clogging of the magnetic recording head, debris on the magnetic tape, and folds of the magnetic tape. In some cases, recording data is not normally recorded on the magnetic tape despite scanning of. Not only in the rotary head type VTR but also in a disk recording / reproducing apparatus, the same problem may occur due to the presence of fingerprints, dust, and the like.
[0003]
Such a state is called instantaneous recording clog, and when reproducing a magnetic tape in this state, generally, there are many errors and normal data cannot be reproduced, or there is no error, but the data before and after the recorded data In some cases, unrelated data recorded in the past (hereinafter, appropriately referred to as background data) may be reproduced. In the latter case, it is generally difficult to perform error detection using the inner code parity of the error correction inner code added in sync block units. If the outer code parity of the outer code for error correction is added, there is a possibility that the error sync block is detected by solving the outer code for error correction.
[0004]
The inner code and the outer code mean an error correction code in the product code. In other words, a predetermined number of symbols, for example, bytes, which are aligned in the vertical direction of the two-dimensional array of data to be error-corrected, are encoded with an outer code (hereinafter, appropriately referred to as C2 code), and an outer code parity (hereinafter, referred to as C2 code). , Where appropriate referred to as C2 parity). A predetermined number of C2 parities or data arranged in the horizontal direction of the two-dimensional array are encoded with an inner code (hereinafter, appropriately referred to as C1 code), and an inner code parity (hereinafter, appropriately referred to as C1 parity) is generated. Is done. C2 parity or data and C1 parity aligned horizontally are included in the same sync block. Continuous data of the sync block is recorded on the magnetic tape.
[0005]
In the product code, each symbol is doubly encoded with a C2 code and a C1 code. Therefore, even if an error cannot be detected by the decoding process of the C1 code, the error is detected by the C2 code, and the error is corrected by the C2 code if the detected error is within a correctable range. However, detecting and correcting an error with the C2 code means that the C2 parity is consumed for detecting a sync block in which an instantaneous clog has occurred, which leads to a decrease in the ability to correct other random errors.
[0006]
As a countermeasure against such a recording instantaneous clog, when newly performing overwrite recording on a tape on which a base has already been recorded, identification data (hereinafter referred to as OWP (Over Write Protect) as appropriate, which is clearly different from the base). Is recorded. For example, an OWP having a length of 1 byte is used, and the value of the OWP is randomly changed every time recording is performed. OWP is inserted into each sync block.
[0007]
At the time of reproduction, in order to determine whether the OWP is the OWP of the base portion or the OWP recorded by overwriting, several tracks immediately after the start of overwriting recording are different from the normal recording track, and there are many sync blocks with OWP in the valid data section. There is a method of recording and acquiring this sync block at the time of reproduction, thereby making it possible to determine what the value of the OWP after this track is. This method has a very high probability that a correct value of OWP after the overwritten track can be obtained. On the other hand, the OWP is recorded in an effective data portion where video data or the like can be originally recorded. There is a problem.
[0008]
On the other hand, there is a method of recording a sync block in which OWP is changed to a new value from the overwrite recording start track. Although this method can prevent a substantial decrease in recording capacity, when a sync block in which an OWP has changed during reproduction is acquired, a memory area different from the memory area in which the previously acquired sync block is written is used. It is necessary to avoid mixing of the base sync block and the overwrite sync block in the memory, for example, by writing to the area. Of course, it is not possible at this point to determine whether the change in OWP is due to the recording instantaneous clog or whether the overwriting has actually started, so it is necessary to secure a new memory area every time the OWP changes. Requires a lot of memory.
[0009]
The present applicant has proposed a device and a method that can prevent a decrease in recording capacity, do not require extra memory, do not consume parity for detecting an instantaneous clog, and can perform a majority decision of OWP satisfactorily. Is out. That is, in this improved method, the OWP exists one data at a time in the sync block where the C1 code is completed, takes the same value in a plurality of track units where the C2 code is completed, and takes the same value in a plurality of track units where the C2 code is completed. It is recorded under the condition that the value can be changed only in units. A predetermined number of OWPs sampled in units of a plurality of tracks are subjected to majority processing, and the majority is determined to be correct OWP. Whether the OWP of each sync block matches or is different from the correct OWP is detected.
[0010]
[Problems to be solved by the invention]
At this time, the OWP is different from the OWP obtained in the majority decision process because the OWP has changed due to the recording instantaneous clog, or an OWP data error or a random error has occurred during reading at the time of reading. There is an OWP sync block. When an error is mixed by the recording instantaneous clog, all data in the sync block where the error correction C1 code including the OWP is completed may be erroneous. On the other hand, if an error is mixed in when reading at the time of reproduction, there is a possibility that only the OWP is an error. Therefore, in order to completely correct the error, it is desirable to perform the correction process on the assumption that all the data of the sync block in which the C1 code including the OWP different from the correct OWP is completed is erroneous.
[0011]
Further, even if all errors can be corrected by the conventional error correction method, extra error correction processing is performed because the error correction end condition is determined by the state of the error flag.
[0012]
Therefore, it is an object of the present invention to correct a data error caused by a failure in normal recording at the time of recording based on the result of majority processing of identification data (OWP). An object of the present invention is to provide an information processing apparatus and method, a program, and a recording medium that can be shortened.
[0013]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, according to the invention of claim 1, an inner code is encoded in a first direction of a two-dimensional array of recording data, and an outer code is encoded in a second direction. The sync data is added to the encoded data to form a sync block, the sync block configuration data is recorded on the recording medium, and the sync block includes identification data whose value is changed every recording. And, in the range in which the outer code is completed, digital data in which the identification data has the same value is reproduced, and in an information processing apparatus for correcting an error in the reproduced digital data,
Sync block detecting means for detecting a sync block;
First error position storage means for storing a position in the second direction of a sync block not detected by the sync block detection means;
First inner code decoding means for performing decoding processing of the inner code;
Second error position storage means for storing the position of the error in the second direction;
A memory in which an output of the first inner code decoding means is stored;
In the data stored in the memory, majority processing is performed on a predetermined number of identification data in a range where the outer code is completed, and the value of the identification data on the majority side is determined as the originally recorded identification data. Majority processing means for detecting coincidence between the identification data on the majority side and the identification data of each sync block included in the range where the interleaving is completed, and determining a mismatched sync block as an error sync block;
Third error position storage means for storing the position in the second direction of the error sync block detected by the majority processing means;
Outer code decoding means for performing an outer code decoding process using the data stored in the memory with reference to the error position stored in the first, second, and third error position storage means;
A second inner code decoding for performing an inner code decoding process using data that has been subjected to an outer code decoding process and stored in a memory, and changes the content of a second error position storage unit according to the decoding process. Means,
The outer code decoding means performs erasure correction when the total number of errors stored in the first, second, and third error position storage means is equal to or less than the number of parities of the outer code,
When the sum of the number of errors stored in the first, second and third error position storage means is larger than the number of parities of the outer code decoding means, the error is stored in the first and third error position storage means. If the total number of errors is equal to or less than the parity number of the outer code,
The information processing apparatus is configured not to perform correction when the total number of errors stored in the first and third error position storage units is larger than the number of parities of the outer code decoding unit.
[0014]
According to a fifth aspect of the present invention, in the outer code decoding step, when the total number of errors stored in the first, second, and third error position storage steps is equal to or less than the number of parities of the outer code, erasure correction is performed;
When the total number of errors stored in the first, second, and third error position storage steps is larger than the parity number in the outer code decoding step, the error number stored in the first and third error position storage steps is calculated. If the sum is less than or equal to the number of parities of the outer code, perform mixed correction,
This is an information processing method in which when the total number of errors stored in the first and third error position storing steps is larger than the number of parities in the outer code decoding step, no correction is performed.
[0015]
According to the present invention, when a sync error detection, a first inner code decoding process, an OWP error detection by majority decision process, and an outer code decoding process are sequentially performed, the outer code decoding process includes a sync error, an inner code error, With reference to the number of OWP errors, one of erasure correction processing, mixed correction processing, and no correction processing is selected. Thereby, an error can be corrected by effectively using a plurality of parities. In addition, since the decoding process is terminated when there are too many errors, the decoding process can be completed in a shorter time.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a configuration of an embodiment of a recording / reproducing apparatus according to the present invention. The input data is data reproduced from a recording medium such as a magnetic tape and an optical disk. Alternatively, it is data received in a communication system. One embodiment is an example in which the present invention is applied to a rotary head type digital VTR that records data on a magnetic tape by a rotary head.
[0017]
FIG. 2 shows a data format of a sync block according to an embodiment of the present invention. One sync block length is 111 bytes, and a sync word consisting of 2 bytes indicating the sync head is located at the head of the sync block. Subsequently, one byte including the track number in which the sync block is recorded or the track pair number obtained by shifting the track number toward the LSB side by one bit is located. Further, data OWP (1 byte) for identifying that the data on the base of the magnetic tape has been reproduced is located. Thereafter, 96 bytes of main data including video data, audio data, auxiliary data, search data, or C2 parity are located. C1 parity (10 bytes) is added to 99 bytes from the byte including the track pair number to the main data.
[0018]
In one embodiment, a pair of magnetic recording heads having different azimuths are attached to the rotating drum at 180 ° facing intervals. It travels with a magnetic tape wound obliquely around the peripheral surface of the rotating drum. While the rotating drum makes a half turn, one head contacts the magnetic tape and records data as an oblique track. The data is, for example, MPEG (Moving Picture Experts Group) data. One frame of MPEG data is recorded as a predetermined number of tracks. The track pair number is added to every two tracks formed by a pair of magnetic recording heads.
[0019]
The above-mentioned sync blocks are continuously arranged and recorded in one track. In one track, for example, data of 141 sync blocks to which sync block numbers from 0 to 140 are assigned in the order in which the magnetic recording head scans on the tape is recorded. The 18 sync blocks with sync block numbers 0 to 17 have a C2 parity in the main data portion, and the main data portion of each sync block with a sync block number of 18 or later contains video data and the like. Is in.
[0020]
In one embodiment, a product code is used as the error correction code. FIG. 3 shows the configuration of the product code. C2 code such as Reed-Solomon code is encoded on 123 bytes aligned in the vertical direction (second direction) of the main data, and an 18-byte C2 parity is formed. Therefore, data for 123 + 18 = 141 sync blocks are arranged in the vertical direction. Next, a track interleave process described later is performed to read the main data (96 bytes) of each sync block or the track pair number, sync block number, OWP and main data (1 + 1 + 1 + 96 = 99 bytes) other than the sync word. The C1 code such as the Solomon code is encoded, and a 10-byte C1 parity is formed. Then, a sync word is added to form sync block data.
[0021]
Thus, C2 parity for 18 sync blocks is added to the main data portion for 123 sync blocks. When the arrangement of the 141 sync blocks is called a surface, as shown in FIG. 4, sync blocks for 16 surfaces are arranged in an interleaved manner over 16 tracks. This process is called track interleaving. In FIG. 4, the sync block number increases from top to bottom in the recording order (0 to 140), and the track number increases to (0 to 15) in the order of the tracks. In FIG. 4, one rectangular area represents a sync block, and surface numbers (0 to 15) are written in the area.
[0022]
At the time of reproduction, decoding processing of the C1 code is performed on each sync block reproduced from each track in real time. Then, the reproduction data for 16 tracks shown in FIG. 4 is stored in the memory, and sync blocks having the same surface number are collected to form one surface. For example, 141 sync blocks to which the surface number “0” is added are collected. A decoding process of the C2 code is performed for each configured surface. When a burst error represented by an instantaneous clog occurs due to track interleaving, a plurality of error sync blocks can be distributed on 16 planes on average. Thereby, the correction capability of the C2 code can be sufficiently exhibited.
[0023]
In one embodiment of the present invention, the OWP has the same value in 16 tracks where the track interleaving of the C2 code is completed, and the OWP value can be changed only in the 16 track period. The OWP uses a value different from the OWP identification data recorded before the splicing position as the OWP identification data after the splicing is started when the splicing is performed on the magnetic tape. In this embodiment, since the OWP is one byte, there are 256 possible values. The OWP is changed every time recording is performed in a splicing mode or the like. OWP changes are irregular.
[0024]
Returning to FIG. 1, the data read from the magnetic tape is input to the sync error detection unit 1. The sync error detection unit 1 generates a sync error flag when an input signal cannot be detected as a sync block. For example, if a sync word cannot be detected, a sync error is determined. The sync error flag is written to the sync error flag memory 7. In this case, a sync error flag having information on the position where the sync block should be recorded on the ECC memory 10 is generated. For example, a sync error flag is stored in a position of the sync error flag memory 7 corresponding to a position to be recorded. The input data that has passed through the sync error detection unit 1 is output to the C1 decoder 2.
[0025]
The C1 decoder 2 performs error correction of the C1 code for each sync block. Output data of the C1 decoder 2 is recorded in the ECC memory 10. After performing the normal correction process, the C1 decoder 2 stores the processed data in the ECC memory 10 as reproduced data, and stores a flag indicating a position that could not be corrected by the normal correction in the C1 error flag memory 6. . The C1 error flag has information on a position where the sync block is to be recorded on the ECC memory 10. For example, the C1 error flag is stored in the position of the C1 error flag memory 6 corresponding to the position to be recorded.
[0026]
The ECC memory 10 stores data input two-dimensionally in the horizontal direction (C1 direction) and the vertical direction (C2 direction) as shown in FIG. All the sync blocks for a plurality of tracks in which the combination of the C2 codes is completed are all recorded in the ECC memory 10. At this time, the reproduction data is vertically arranged on the ECC memory 10 in units of sync blocks, and is written line by line.
[0027]
FIG. 5 corresponds to FIG. 3. For example, a two-dimensional array of data excluding the sync word in FIG. 3 corresponds to the array in FIG. Therefore, data other than the sync word of one sync block is encoded by the product code. Since the reproduction data continuously arrives, the ECC memory 10 has two or more memory banks having a capacity capable of storing data for 16 surfaces on which track interleaving is completed.
[0028]
The C1 decoder 3, the C2 decoder 4, and the OWP majority processing unit 5 are connected so that the ECC memory 10 can be accessed. As described above, even if the same OWP value is recorded over 16 tracks, sync blocks previously recorded on the tape may be mixed due to errors occurring during reproduction or recording instantaneous clogs. It cannot be immediately determined whether or not a sync block contains the OWP value of. Therefore, the OWP majority decision processing unit 5 accumulates a certain number of sync blocks in the ECC memory 10, performs a majority decision of OWP in the accumulated sync blocks, and determines a large number of OWP values as correct OWP values.
[0029]
Then, the OWP of each sync block is compared again with the OWP determined to be correct. An OWP error flag is generated according to the result, and is stored in the OWP error flag memory 9. In other words, the OWP error flag corresponding to the recording position on the ECC memory 10 for the sync block belonging to the one with the smaller OWP is set to "error".
[0030]
The C2 decoder 4 performs normal correction based on the number of sync errors stored in the sync error flag memory 7, the number of OWP errors stored in the OWP error flag memory 9, and the number of C1 errors stored in the C1 error flag memory 6. , Erasure correction, or mixed correction, and performs C2 decoding. The C2 decoder 9 executes an error correction process included in each of the columns arranged in the vertical direction in the arrangement of the reproduction data stored in the ECC memory 10. The decoding result is stored in the ECC memory 10, and a flag indicating the position of the error that could not be corrected is stored in the C2 error flag memory 8.
[0031]
There are two types of error correction: normal correction and erasure correction. The normal correction is a process of correcting an error by obtaining an error position and an error value. Erasure correction is a process of correcting only the value of an error while the position of the error is known in advance. Further, the mixed correction is a process of performing correction by combining normal correction and erasure correction.
[0032]
For example, in the case of a Reed-Solomon code, when there are four parities, four syndromes S0, S1, S2, and S3 are obtained by calculating reproduced data. When there is no error, the values of all the syndromes become zero. In the case of one symbol error, the syndrome S0 is equal to the error value. In the case of a two-symbol error, the two errors can be corrected by determining the positions of two error symbols from the four syndromes and determining the values of the two errors. This is usually a correction. Furthermore, if the positions of up to four errors have been determined, the values of the errors at each position can be determined by calculating the four syndromes, and the errors can be corrected. This is erasure correction.
[0033]
As described above, when one erasure correction is performed, since the position of the error is known in advance, the parity is consumed by 1 in order to specify the value of the error. Further, when performing one normal correction, two parities are consumed in order to identify the position of the error and the value of the error. For example, when the number of parities t = 2, the number of symbols that can be corrected only by normal correction is 1 (t / 2 = 2/2). Further, when the number of parities t = 2, the number of symbols that can be corrected only by erasure correction is 2 symbols (= t). Furthermore, the condition under which the mixed correction is possible is that, when the number of parities t, the number of normal corrections i and the number of erasure corrections e are satisfied, the expression 2i + e ≦ t is satisfied.
[0034]
Similarly to the C1 decoder 2, the C1 decoder 3 is based on the flag stored in the sync error flag memory 7, the flag stored in the OWP error flag memory 9, and the number of flags stored in the C2 error flag memory 8. , An error correction process of the reproduction data stored in the ECC memory 10 is executed line by line. The data of the decoding result of the C1 decoder 3 is stored in the ECC memory 10 and the uncorrectable flag is stored in the C1 error flag memory 6. In one embodiment, the C1 decoding and the C2 decoding are each repeated twice at the maximum. That is, C1 decoding by the C1 decoder 2, C2 decoding by the C2 decoder 4, decoding by the C1 decoder 3, and decoding by the C2 decoder 4 are performed.
[0035]
Data read from the ECC memory 10 is supplied to the signal generator 11. The signal generation unit 11 reads out the error-corrected image data stored in the ECC memory 10, and reads the error information stored in the C1 error flag memory 6 and the error information stored in the C2 error flag memory 8. Output.
[0036]
As described above, four types of error flags, ie, a C1 error flag, a C2 error flag, a sync error flag, and an OWP error flag, are prepared. The error flags are all 1-bit. When the error is determined to be present, the flag is set (the value is “1”), and when it is determined that there is no error, the flag is not set. (Value is "0"). When all of these error flags are "0", a sync word is acquired, indicating that no error exists in the sync block.
[0037]
The C1 error flag is defined as a flag indicating that “a sync block has been acquired, but an error has occurred due to C1 decoding”. The C2 error flag is defined as a flag indicating that “an error has occurred due to C2 decoding”. The sync error flag is defined as a flag indicating that "since the sync block itself has not been acquired, there is a possibility that past data may remain in the memory". The OWP error flag is defined as a flag indicating that “a sync block has been acquired, but has become inconsistent by comparison with the OWP representative value”.
[0038]
Among the four types of flags, the sync block in which the sync error flag or the OWP error flag is set does not have a part of the sync block garbled as in the case of a random error. It is highly likely that the data is completely different. Therefore, it is desirable to treat such data as an erasure error when solving the C2 code. By informing the C2 decoder 4 of the position information of the error in advance as the erasure error, the error can be corrected without using extra parity.
[0039]
In the above-described error flags, errors may overlap, such as a sync error and an OWP error. If the number of error flags is counted individually and used as the number of error flags, the total number of error flags will be larger than the number of actual errors occurring. It happens to consume. Therefore, the following two methods can be considered as a method of obtaining the total number of each error flag.
[0040]
In the first method, a sync with a sync error flag set is treated as a sync error regardless of the state of the OWP error flag and the C1 error flag. Next, among the sinks for which the sync error flag is not set, the sinks for which the OWP error flag is set are treated as OWP errors regardless of the state of the C1 error flag. Finally, an error in which a sync error and an OWP error have not occurred but a C1 error has occurred is treated as a C1 error.
[0041]
In the second method, a sink in which a sync error has occurred is treated as a sync error regardless of the state of other error flags. Next, regarding the sink where no sync error has occurred, the sink where the C1 error flag is set is treated as a C1 error regardless of the state of the OWP error flag. Finally, a sync in which an OWP error has occurred but no sync error or C1 error has occurred is treated as an OWP error.
[0042]
The difference between the first and second methods described above is in the handling of the priority of the error flag. The priority order of the error flags in the first method is a sync error flag, an OWP error flag, and a C1 error flag in descending order of priority, whereas the second method is a sync error flag, a C1 error flag, It is an OWP error flag. The reason why the priority of the sync error flag is the highest is that all the data included in the sync for which the sync data could not be obtained cannot be trusted.
[0043]
There are two types of priorities, the OWP error flag and the C1 error flag, because some of the sync data could be recorded at the time of recording, but most of the data has the underlayer remaining, so the OWP data also has the underlayer. This depends on whether there is a large amount of sync data in which a C1 error has occurred as a result, or whether there is a lot of data in which an error has occurred at the time of reading the OWP data and a C1 error has occurred as a result. When the former error is large, the priority of the OWP error flag is higher than that of the C1 error flag, but when the latter error is large, the priority of the C1 error flag is higher than that of the OWP error flag.
[0044]
Which of these priorities is used depends on whether the number of errors occurring during recording or the number of errors occurring during reproduction is greater, and it depends on the system. Therefore, it is determined which priority is to be used by actually performing error correction or the like.
[0045]
FIG. 5 shows error flags stored in the C1 error flag memory 6, the sync error flag memory 7, the OWP error flag memory 9 and the C2 error flag memory 8, respectively, in relation to the ECC memory 10. The positional relationship between these error flag memories and the ECC memory 10 corresponds.
[0046]
In the ECC memory 10, input data is stored in a unit of a sync block, one row at a time in the vertical direction in FIG. At this time, if a read error such as a failure to detect a sync word in sync block units occurs, the sync error flag of the position where the sync block is stored (the position of the line in which all errors occur) is stored in the sync error flag memory 7. Set. In the example of FIG. 5, a sync error flag indicating that the sync block for one row at the position Y in the vertical direction could not be read is set.
[0047]
The C2 decoder 4 can specify an error position by referring to a sync error flag when performing error correction processing for each column of the ECC memory 10 in order from the leftmost column to the rightmost column as viewed in the drawing. The erasure correction of the error at the error position can be executed.
[0048]
Also, for a row for which an error could not be corrected after being decoded by the C1 decoders 2 and 3, a flag indicating the position of the row is similarly stored in the C1 error flag memory 6. Therefore, when an error that cannot be corrected occurs at the position of the Y-th row, the C1 error flag at that position is set in the C1 error flag memory 6 as having an error.
[0049]
After the majority of the OWP value is determined by the OWP majority processing unit, a row indicating an OWP value different from the value obtained by the majority decision is regarded as not correctly recorded when the sync block is recorded, and an OWP error is determined. The OWP error flag at that position is set in the flag memory 9 to indicate that there is an error.
[0050]
Furthermore, when the C2 decoder 4 decodes one column at a time in the vertical direction, a flag indicating the position of the column for which error correction was not possible is stored in the C2 error flag memory 8. For example, as shown in FIG. 5, when a C2 error has occurred at the position of column X among the C2 error flags stored in the C2 error flag memory 8, the C2 error flag at the position of X is determined to have an error. Set.
[0051]
Next, a decoding process of the error correction device will be described with reference to a flowchart of FIG.
[0052]
In step S1, the sync error detection unit 1 detects a sync error and stores the sync error in the sync error flag memory 7. In step S2, the C1 decoder 2 executes a first C1 decoding process. The correctable error is corrected, and a C1 error flag indicating the position of the uncorrectable error is stored in the C1 error flag memory 6.
[0053]
Here, the processing of the C1 decoder 2 (first C1 decoding) will be described with reference to the flowchart of FIG. In step S11, the C1 decoder 2 performs a normal correction process. In step S12, the C1 decoder 2 stores the C1 error flag indicating the position of the error data that could not be corrected in the C1 error flag memory 6.
[0054]
Here, returning to the description of the flowchart of FIG. 6, in step S3, the OWP majority decision processing unit 5 executes OWP majority decision processing.
[0055]
Here, the processing of the OWP majority decision processing unit 11 will be described with reference to the flowchart of FIG.
[0056]
In step S21, the OWP value recorded in each sync block is read from the ECC memory 10. If the OWP values of all the sync blocks are used, the processing becomes troublesome. Therefore, actually, the OWP values of a predetermined number of appropriately sampled sync blocks are read. The OWP majority decision process is performed using the read values.
[0057]
Next, a representative value of OWP for the error correction block is determined in step S22 based on the result of the majority decision performed in step S21. Next, in step S23, an OWP error flag is set for a sync block having an OWP value different from the representative OWP, and the error flag is stored in the OWP error flag memory 9.
[0058]
Here, returning to the description of the flowchart in FIG. 6, in step S4, the C2 decoder 4 executes a decoding process of the C2 code.
[0059]
Here, the decoding process of the C2 decoder 4 will be described with reference to the flowchart of FIG. The first decoding process and the second decoding process performed by the C2 decoder 4 are both performed in the order shown in the flowchart of FIG.
[0060]
In step S31, the sum of the number of errors recorded in the sync error flag memory 7, the number of errors recorded in the OWP error flag memory 9, and the number of errors recorded in the C1 error flag memory 6 is the parity number C2tmax for C2 decoding. It is determined whether or not: That is, step S31 is a process in which the C2 decoder 4 determines whether or not erasure correction is possible based on the total number of errors included in one column. If it is determined that erasure correction is possible, the process proceeds to step S32.
[0061]
In step S32, the C2 decoder 4 refers to the sync error flag memory 7, the OWP error flag memory 9, and the C1 error flag memory 8 to confirm the position where the error has occurred, and executes the erasure correction process. I do. In step S33, the C2 decoder 4 clears the error flag of the error corrected for each column and adds an error flag according to the correction result.
[0062]
In step S31, the sum of the number of errors recorded in the sync error flag 7, the number of errors recorded in the OWP error flag 9, and the number of errors recorded in the C1 error flag memory 6 is equal to or smaller than the parity number of the C2 decoder 4. If not, the process proceeds to step S34.
[0063]
In step S34, the C2 decoder 4 determines whether the sum of the number of sync errors and the number of OWP errors is equal to or less than the number of parity C2tmax. If it is determined that the parity number is equal to or smaller than C2tmax, the process proceeds to step S35.
[0064]
In step S35, the C2 decoder 4 performs a mixed correction process on the image data stored in the ECC memory 10 for each column. That is, correction is performed by combining normal correction and erasure correction. In step S36, the C2 decoder 4 detects an error for each column, detects an error position that could not be corrected, and sets an error flag in the C2 error flag memory 8.
[0065]
If it is determined in step S34 that the sum of the number of sync errors and the number of OWP errors is not less than the number of parities C2tmax, the C2 decoding process ends via step S37. In step S37, it is determined that the decoding process is not performed, and the fact that the decoding process is not performed is stored. That is, since there are too many errors that cannot be corrected, the C2 decoding process is not performed.
[0066]
Here, the description returns to the flowchart of FIG.
[0067]
In step S5, it is determined whether the C2 decoding process has not been performed in step S4 or whether all errors have been corrected. If all errors have been corrected, no further decoding processing is necessary, and the process proceeds to step S9. If the C2 decoding process is not performed due to too many errors, it is meaningless to perform the further process, and the process also proceeds to step S9. In step S9, the signal generation unit 11 reads out the decoded and corrected image data from the ECC memory 10, and also reads out the error flag information stored in the C1 error flag memory 6 and the C2 error flag memory 8 to obtain the image data. Add and output.
[0068]
If it is determined in step S5 that the C2 decoding process has been performed, but all errors have not been corrected, the process proceeds to step S6. In step S6, the C1 decoder 3 performs a decoding process.
[0069]
Here, the decoding process of the C1 decoder 3 (second C1 decoding process) will be described with reference to the flowchart of FIG.
[0070]
In step S41, the C1 decoder 3 determines whether the number of errors in the C2 error flag memory 8 is equal to or less than the number of parity C1tmax of the C1 decoder 3. If it is determined that the number of errors is equal to or smaller than the number of parity C1tmax of the C1 decoder 3, the process proceeds to step S42.
[0071]
In step S42, the C1 decoder 3 checks the error position with reference to the C2 error flag stored in the C2 error flag memory 8, and executes erasure correction. Then, in step S43, the C1 error flag at the corrected position in the C1 error flag memory 8 is cleared.
[0072]
If it is determined in step S41 that the total number of C2 error flags stored in the C2 error flag memory 8 is not less than or equal to the parity number C1tmax of the C1 code, the process proceeds to step S44.
[0073]
In step S44, the C1 decoder 3 refers to the error flags stored in the sync error flag memory 7, the OWP error flag memory 9, and the C1 error flag memory 6, and attaches a sync error flag or an OWP error flag. The correction processing is not performed on the row that has been changed, and the normal correction is performed on the other rows. The row in which the sync error flag or the OWP error flag is set is a part of the data in the C2 decoding in step S4 in FIG. Although the data is corrected to correct data, the C1 decoding process is performed for the purpose of preventing the data from being decoded into the base data again by performing the correction process using the parity added to the base data. Not performed. In step S45, the C1 decoder 3 records the processed error flag in the C1 error flag memory 6.
[0074]
The above-described embodiment of the present invention will be described more specifically. For example, assume that an ECC memory 10 stores 8 × 8 data (symbols) as shown in FIG. One piece of data (symbol) corresponds to one rectangular area (mesh) in the figure. One piece of data (symbol) is, for example, one byte. The reproduced sync blocks are recorded in the ECC memory 10 in order from top to bottom. In FIG. 11, a black rectangular area indicates error data, a white rectangular area indicates error-free data, and a hatched rectangular area indicates data having different OWPs. The same applies to the following description.
[0075]
A sync error flag memory 7 is shown on the right side of the ECC memory 10 represented by an 8 × 8 rectangular area, an OWP error flag memory 9 is shown on the right side, and a C1 error flag memory 6 is shown on the right side. In addition, a C2 error flag memory 8 is shown below the ECC memory 10.
[0076]
Further, the number of parities C1tmax of the C1 decoders 2 and 3 is set to 2, and the number of parities C2tmax of the C2 decoder 4 is set to 3. That is, the C1 decoders 2 and 3 have the ability to correct one error in the case of normal correction and the ability to correct two errors in the case of erasure correction. In addition, the C2 decoder 4 has a capability of correcting one error in the case of normal correction and a capability of correcting three errors in the case of erasure correction. Further, the C2 decoder 4 can normally correct one symbol and can perform erasure correction of one symbol in the mixed correction.
[0077]
When a sync word cannot be detected when sync data is input, the sync block detecting unit 1 detects a sync error and records a sync error flag indicating that an error has occurred. When a sync error occurs, it is considered that all data included in the sync data is erroneous. In the case of FIG. 11A, the second row from the top has an error in the data of one row. This is because when a sync word is not detected when this sync data is input, a sync error is detected and recorded in a position corresponding to the second row of the sync error flag memory 7, and the data in the second row is read. Indicates that all are errors. The input image signal is output to the C1 decoder 2 as a sync error flag indicating that this error has occurred.
[0078]
Next, the C1 decoder 2 executes a first decoding process (step S2). In step S11 in FIG. 7, the C1 decoder 2 performs a normal correction process. In the example of FIG. 11A, one error has occurred in each of the first, third, seventh, and eighth rows (the first row is the fourth column from the left, the third row is the third row). Is the sixth column from the left, the seventh row is the third column from the left, and the eighth row is the second column from the left). The C1 decoder 2 can execute the erasure correction processing up to the parity number C1tmax = 2, and can normally correct one error by the normal correction processing. Therefore, as shown in FIG. 11B, the errors in the first, third, seventh and eighth rows are corrected by the normal correction.
[0079]
However, as shown in FIG. 11A, four errors have occurred in the fifth row, and the C1 decoder 2 cannot correct the errors. As shown by, the four errors in the fifth row are left as they are. Although the fourth row has different OWP data, there is no error if only the sync block is viewed, so that at this stage, the error correction processing is not performed on this row.
[0080]
Since the error that could not be corrected in the process of step S11 is left in the fifth row, the C1 decoder 2 stores the error in the fifth row of the C1 error flag memory 6 as shown in FIG. An error flag is added to the eyes (step S12 in FIG. 7).
[0081]
Next, in step S3 in FIG. 6, the OWP majority decision processing unit 5 executes OWP majority decision processing (see the flowchart in FIG. 8).
[0082]
In the example of FIG. 11, since the OWP of the fourth row is different from the OWP of the other sync blocks, the error flag of the OWP error flag memory 9 of the fourth row is set as shown in FIG. I do.
[0083]
Next, the C2 decoder 4 executes a decoding process (step S4 in FIG. 6). The decoding process of the C2 decoder 4 is performed according to the flowchart of FIG. In the example of FIG. 11C, the sync error flag memory 7 has one error, the OWP error flag memory 9 has one error, and the C1 error flag memory 6 has one error. Therefore, the total is three. Since this is equal to or less than the parity number C2tmax = 3 of the C2 code, the process proceeds from step S31 to step S32 in FIG.
[0084]
In step S32, the C2 decoder 4 refers to the sync error flag memory 7, the OWP error flag memory 9, and the C1 error flag memory 8 to confirm the position where the error has occurred, and executes the erasure correction process. I do. That is, in the example of FIG. 11C, an error has occurred in the second line of the sync error flag memory 7, and an error has occurred in the fourth line of the OWP error flag memory 9. In the C1 error flag memory 6, since an error has occurred in the fifth row, the number of errors in each column is three in the first, fifth, seventh and eighth columns from the left, and Since there are two in the third, fourth, and sixth columns, erasure correction can be performed by the C2 decoder 4 for any column. As a result, all errors are corrected as shown in FIG. In this case, no C2 error flag is added.
[0085]
Then, in step S5 in FIG. 6, it is determined whether the C2 decoding process has not been performed in step S4 or whether all errors have been corrected. In the case of FIG. 11D, although the C2 decoding process has been performed, all errors have been corrected, so the process proceeds to step S9.
[0086]
In step S9, the signal generation unit 11 reads out the decoded image data from the ECC memory 10 and reads out and outputs the error information stored in the C1 error flag memory 6 and the C2 error flag memory 9.
[0087]
As described above, in the example of FIG. 11, all errors are corrected by performing only the erasure correction processing.
[0088]
Next, a correction process when image data as shown in FIG. 12A is input will be described.
[0089]
In step S1, the sync block detection unit 1 executes a sync error detection process, detects a sync error, and stores a sync error flag in the sync error flag memory 7. In the case of FIG. 12A, since no sync error exists, the input image signal is output to the C1 decoder 2 without adding a sync error flag.
[0090]
The first decoding process (see the flowchart in FIG. 7) of the C1 decoder is executed. That is, the C1 decoder 2 performs a normal correction process. In the example of FIG. 12A, one error has occurred in each of the first, third, sixth, and eighth rows. Since the C1 decoder 2 can correct an error up to the parity number C1tmax = 2 by the erasure correction process and can correct one error by the normal correction process, as shown in FIG. , The first, third, seventh and eighth rows will be corrected. However, as shown in FIG. 12A, the second, third, and fourth errors occur in the fourth, fifth, and seventh rows, respectively. As shown in FIG. 12B, the error cannot be corrected.
[0091]
The C1 decoder 2 adds a C1 error flag to a location corresponding to a row that could not be corrected in the process of step S11 (step S12). In the example of FIG. 12, as shown in FIG. 12B, an error flag is set in the fourth, fifth, and seventh rows of the C1 error flag memory 6.
[0092]
In step S3 in FIG. 6, the OWP majority decision processing unit 11 executes an OWP majority decision process. In the example of FIG. 12, since the OWP of the second row is different from the OWP of the other sync blocks, an error flag is added to the OWP error flag memory 9 of the second row as shown in FIG.
[0093]
Next, in step S4 of FIG. 6, the C2 decoder 4 executes a decoding process (see the flowchart of FIG. 9). The sum of the number of errors recorded in the sync error flag memory 7, the number of errors recorded in the OWP error flag 9, and the number of errors recorded in the C1 error flag memory 6 is equal to or less than the parity number C2tmax = 3 of the C2 decoder. It is determined whether or not there is.
[0094]
In the example of FIG. 12C, the sync error flags in the sync error flag memory 7 are all error-free, the OWP error flag memory 9 has one error, and the C1 error flag memory 6 has three errors. Since there are errors, the sum is four. Therefore, the number of parities of the C2 decoder is not smaller than C2tmax = 3, and the process proceeds to step S34.
[0095]
In step S34, the C2 decoder 4 determines whether or not the sum of the number of sync errors and the number of OWP errors is equal to or less than the number of parity C2tmax = 3. In the case of FIG. 12C, since the number of sync errors is 0 and the number of OWP errors is 1, the sum is 1 and it is determined that the number of parity is C2tmax = 3 or less, and the process proceeds to step S35. .
[0096]
In step S35, the C2 decoder 4 performs a mixed correction process for each column of the image data stored in the ECC memory 10. In the case of FIG. 12C, since the data in the second row from the top is an error whose position is determined by the OWP error flag memory 9, it can be corrected by erasure correction using one C2 parity.
[0097]
Further, in the second, seventh, and eighth columns from the left, the position of the error is not specified (the position of the error on the ECC memory 10 in the figure is shown for the sake of convenience; However, an error position cannot be detected at a position other than the position where the sync error flag is recorded.) Therefore, an error that exists in the seventh row from the top of the second column from the left, the seventh row from the top of the seventh column, and the fifth row from the top of the eighth column from the left indicates two C2 parities. It can be used and corrected by normal correction. In addition, since the first column and the fifth column from the left cannot perform error correction, data other than the first column and the fifth column are corrected as shown in FIG. Will be.
[0098]
The C2 decoder 4 performs a process of detecting an error for each column and adding an error flag. In the case of FIG. 12D, the C2 decoder 4 detects the error position in the first column from the left and the fifth column from the left since the error could not be corrected, and detects the error position. 8 is set.
[0099]
Next, it is determined whether the C2 decoding process has not been performed or whether all errors have been corrected (step S5). In the case of FIG. 12D, the C2 decoding process was performed, but all errors could not be corrected, so the process proceeds to the decoding process of the C1 decoder 3 (step S6).
[0100]
In step S41 in FIG. 10, the C1 decoder 3 determines whether or not the number of errors in the C2 error flag memory 8 is equal to or less than the number of parity C1tmax = 2 of the C1 decoder. In the case of FIG. 12 (D), since errors exist in the first and fifth columns in the C2 error flag memory 8, the number of errors in the C2 error flag memory 8 becomes 2 in total, and It is determined that the number of parities C1tmax = 2 or less, and the process proceeds to step S42.
[0101]
In step S42, the C1 decoder 3 refers to the C2 error flag memory 8 to confirm an error position, and performs erasure correction. In the case of FIG. 12 (D), the C2 error flag memory 8 has errors in the first and fifth columns from the left and the second, fourth, fifth and seventh rows from the top, respectively. As shown in FIG. 12E, the error is corrected by the erasure correction processing.
[0102]
In step S43, the C1 decoder 3 records the current error flag in the C1 error flag memory 6. In the case of FIG. 12 (E), since no error exists, no error is recorded in the C1 error flag memory 8 as shown in FIG. 12 (E).
[0103]
Then, in step S7 in FIG. 6, it is determined whether the C1 decoding process has not been performed in step S6 or whether all errors have been corrected. In the case of FIG. 12E, although the C1 decoding process has been performed, all errors have been corrected, so the process proceeds to step S9.
[0104]
In step S9, the signal generation unit 11 reads out the decoded image data from the ECC memory 10 and reads out and outputs the error information stored in the C1 error flag memory 6 and the C2 error flag memory 9.
[0105]
Thus, in the case of the example of FIG. 12, virtually all errors are corrected by performing the mixed correction processing.
[0106]
Next, a correction process when image data as shown in FIG. 13 is input will be described.
[0107]
In step S1, a sync error is detected, and a sync error flag is stored in the sync error flag memory 7. In the case of FIG. 13A, when data in the third, fourth, and seventh rows from the top is input, sync data cannot be detected. For this reason, the sync block detecting unit 1 detects a sync error, records a flag indicating that an error has occurred in the third, fourth, and seventh rows of the sync error flag memory, and outputs the input image data. To the C1 decoder 2.
[0108]
In step S2, the first decoding process (see the flowchart in FIG. 7) by the C1 decoder 2 is executed. In the case of FIG. 13A, one error has occurred in each of the first and eighth rows. The C1 decoder 2 can execute the erasure correction processing up to the parity number C1tmax = 2, and can correct one error in the normal correction processing. Therefore, as shown in FIG. 13B, the errors in the first and eighth rows are corrected. However, as shown in FIG. 13A, three errors have occurred in the fifth row, so that the C1 decoder 2 cannot correct the errors in the fifth row.
[0109]
In step S12, the C1 decoder 2 responds to the error in the fifth row that could not be corrected by the processing in step S11, as shown in FIG. Set the error flag on the fifth line.
[0110]
Next, in step S3, the OWP majority decision processing section 5 executes OWP majority decision processing. In FIG. 13, since the OWP of the second row is different from the OWP of the other sync blocks, the OWP error flag of the second row of the OWP error flag memory 9 is set as shown in FIG.
[0111]
Then, in step S4, the C2 decoder 4 executes a decoding process (see the flowchart of FIG. 9). In step S31, the sum of the number of errors recorded in the sync error flag 7, the number of errors recorded in the OWP error flag memory 9, and the number of errors recorded in the C1 error flag memory 6 is the parity number of the C2 decoder 4. It is determined whether or not C2tmax = 3 or less.
[0112]
In the example of FIG. 13C, the sync error flag memory 7 has three errors, the OWP error flag memory 9 has one error, and the C1 error flag memory 6 has one error. Since the sum is 5, the sum is 5, and in step S31, the number of parities of the C2 decoder is not equal to or less than C2tmax = 3, and the process proceeds to step S34.
[0113]
In step S34, the C2 decoder 4 determines whether or not the sum of the number of sync errors and the number of OWP errors is equal to or less than the number of parity C2tmax = 3. In the case of FIG. 13C, since the number of sync errors is 3 and the number of OWP errors is 1, the total is 4, and it is determined that the number of parities is not less than C2tmax = 3, and the process proceeds to step S37.
[0114]
In step S37, it is determined that the correction process is not performed, and the fact that the C2 decoding process is not performed is stored. In step S5 in FIG. 6, it is determined whether the C2 decoding process has not been performed in step S4 or whether all errors have been corrected. In the case of FIG. 13D, since the C2 decoding process has not been performed in step S4, the process proceeds to step S9.
[0115]
In step S9, the signal generating unit 11 reads out the decoded image data from the ECC memory 10, and reads out and outputs the error information stored in the C1 error flag memory 6 and the C2 error flag memory 8.
[0116]
As described above, in the case of the example of FIG. 13, since there are more errors than the number of correctable errors in the C1 decoder 2 and the C2 decoder 4, substantially no correction processing is performed. Will be output. After the first C1 decoding process and the OWP majority decision process, the decoding process is terminated because the first C2 decoding process is not performed. Can be prevented, and the decoding process can be performed quickly.
[0117]
Next, a correction process for data as shown in FIG. In step S1, a sync error detection process is executed, and a sync error flag corresponding to the detected sync error is stored in the sync error flag memory 7. In the example of FIG. 14A, since no sync error exists, recording is not performed on the sync error flag.
[0118]
In step S2, the decoding process of the C1 decoder (see the flowchart of FIG. 7) is performed. In step S11, the C1 decoder 2 performs a normal correction process. In the example of FIG. 14A, one error has occurred in each of the first, fourth, and eighth rows. The C1 decoder 2 can execute the erasure correction processing up to the parity number C1tmax = 2, and can correct one error in the normal correction processing. Therefore, as shown in FIG. 14B, the errors in the first, fourth, and eighth rows are corrected. However, as shown in FIG. 14A, four errors occur on the fifth line, and two errors occur on the sixth and seventh lines. Cannot be corrected.
[0119]
In step S12, the C1 decoder 2 has an error in the fifth, sixth, and seventh rows that could not be corrected by the processing in step S11, and therefore, as shown in FIG. The error flags in the fifth, sixth, and seventh rows of the flag memory 6 are set.
[0120]
Then, the OWP majority decision processing section 11 executes the OWP majority decision process (step S3). In step S21 in the flowchart of FIG. 8, the OWP value recorded in each sync block is read from the ECC memory 10. The OWP majority decision process is performed using the read values.
[0121]
Next, as a result of the majority decision performed in step S21, a representative value of OWP for the block is determined in step S22. Next, an OWP error flag is set for a sync block having an OWP value different from the representative value OWP selected in step S22. In FIG. 14, since the OWP of the second row is different from the OWP of the other sync blocks, the error flag of the second row of the OWP error flag memory 9 is set as shown in FIG.
[0122]
Next, the C2 decoder 4 executes a decoding process (Step S4 in FIG. 6). In step S31, the C2 decoder 4 determines whether the sum of the number of errors recorded in the sync error flag 7, the number of errors recorded in the OWP error flag 9, and the number of errors recorded in the C1 error flag memory 6 is C2 decoding. It is determined whether or not the parity number C2tmax of the device is 3 or less. In the example of FIG. 14 (C), there is no error in the sync error flag memory 7, one error flag is added to the OWP error flag memory 9, and three errors are stored in the C1 error flag memory 6. Since the flag is added, the total is four. Therefore, if the sum of the error flags is larger than C2tmax, it is determined in step S31, and the process proceeds to step S34.
[0123]
In step S34, the C2 decoder 4 determines whether or not the sum of the number of sync errors and the number of OWP errors is equal to or less than the number of parity C2tmax = 3. In the case of FIG. 14C, since the number of sync errors is 0 and the number of OWP errors is 1, the sum is 1, and it is determined that the number of parities is C2tmax = 3 or less. Proceed to S35.
[0124]
In step S35, the C2 decoder 4 refers to the sync error flag memory 7 and the OWP error flag memory 6 to check the position where the error has occurred, and executes the mixed correction processing. That is, in the case of FIG. 14C, since the data in the second row from the top is an error whose position is determined by the OWP error flag memory 9, it can be corrected by using one C2 parity by erasure correction. it can.
[0125]
Further, in the first, second, third, fourth and fifth columns from the left, the position of the error is not specified (the position of the error on the ECC memory 10 in the figure is shown for convenience). Actually, the error position cannot be detected except at the position where the sync error flag is recorded.) Therefore, the fifth row from the top of the fourth column from the left and the sixth row from the top of the fifth column from the left. Errors present in the eyes can be corrected by a normal correction process. Further, the first column, the second column, and the third column from the left cannot perform error correction. As a result, as shown in FIG. 14D, data other than the first column, the second column, and the third column are corrected.
[0126]
In step S36, the C2 decoder 4 executes a process of detecting an error for each column and adding an error flag. In the case of FIG. 14D, the first column, the second column, and the third column from the left of the C2 decoder 4 cannot correct the error. The flag is set.
[0127]
In step S5 in FIG. 6, it is determined whether the C2 decoding process has not been performed in step S4 or whether all errors have been corrected. In this case, although the C2 decoding process has been performed as shown in FIG. 14 (D), but all the errors could not be corrected, the process proceeds to step S6.
[0128]
In step S6, the C1 decoder 3 executes a second decoding process (see the flowchart in FIG. 10). In step S41, the C1 decoder 3 determines whether or not the number of errors in the C2 error flag memory 8 is equal to or less than the number of parity C1tmax = 2 of the C1 decoder. In the case of FIG. 14 (D), since errors exist in the first to third columns in the C2 error flag memory 8, the number of errors in the C2 error flag memory 8 becomes 3 in total, and the number of parity C1tmax of the C1 decoder. = 2 or less, and the process proceeds to step S44.
[0129]
In step S44, the C1 decoder 3 refers to the sync error flag memory 7, the OWP error flag memory 9 and the C1 error flag memory 6 to correct the row to which the sync error flag or the OWP error flag is added. Do not execute, but perform normal correction on the other lines. In the case of FIG. 14D, no error exists in the sync error flag memory 7, and the OWP error flag memory 9 has an OWP error flag in the second line from the top, so that the correction processing is executed. do not do. Also, since the C1 error flag memory 6 has three, one, and two errors in the fifth through seventh rows from the top, respectively, normal correction is performed. In this case, since the number of parities C1tmax of the C1 decoder 3 is equal to or greater than 2, only the sixth row can correct the correction processing. Therefore, as shown in FIG. An uncorrectable error remains in the seventh line.
[0130]
In step S45, the C1 decoder 3 records the current error flag in the C1 error flag memory 6. In the case of FIG. 14E, the error flags at the fifth and seventh rows from the top, which could not be corrected, remain without being cleared.
[0131]
Next, in step S7 of FIG. 6, it is determined whether the C1 decoding process has not been performed in step S6 or whether all errors have been corrected. In this case, the C1 decoding process is performed as shown in FIG. 14E, but all errors cannot be corrected, so the process proceeds to step S8.
[0132]
In step S8, the C2 decoder 4 performs a decoding process (see the flowchart in FIG. 9). In step S31, the sum of the number of errors recorded in the sync error flag 7, the number of errors recorded in the OWP error flag 9, and the number of errors recorded in the C1 error flag memory 6 is the parity number C2tmax of the C2 decoder 4. = 3 or less. In the case of FIG. 14 (E), there is no error in the sync error flag memory 7, there is one error in the OWP error flag memory 9, and there are two errors in the C1 error flag memory 6. Is 3, so in step S31, it is determined that the number of parities C2tmax is 3 or less, and the process proceeds to step S32.
[0133]
In step S32, the C2 decoder 4 refers to the sync error flag memory 7, the OWP error flag memory 9 and the C1 error flag memory 6, refers to the C2 error flag memory 8, and confirms the position where the error has occurred. Then, the erasure correction processing is performed. In the case of FIG. 14E, three, two, and three error flags are attached to the first to third columns from the left, respectively, and as shown in FIG. Is corrected by the erasure correction processing.
[0134]
In step S33, the C2 decoder 4 executes a process of detecting an error for each column and adding an error flag. However, in the case of FIG. 14 (F), since all the errors have been corrected, the flag added to the C2 error flag memory 8 is deleted, and the processing ends.
[0135]
In step S9 in FIG. 6, the signal generation unit 11 reads out the decoded image data from the ECC memory 10, and reads out and outputs the error information stored in the C1 error flag memory 6 and the C2 error flag memory 8. .
[0136]
As described above, in the case of the example in FIG. 14, the normal correction processing is performed in the first decoding processing of the C1 decoder 2, the mixed correction is performed in the first decoding processing of the C2 decoder 4, and the second correction processing is performed. In the decoding process of the C1 decoder 3, the normal correction is performed, and in the second decoding process of the C2 decoder 4, the erasure correction is performed, and as a result, all errors are corrected.
[0137]
As described above, the decoding process is executed in the order of the C1 decoder 2, the C2 decoder 4, the C1 decoder 3, and the C2 decoder 4, and the sync error flag memory 7, the OWP error flag memory 9, the C1 error flag memory 6 and the error flag added to the C2 error flag memory 8, the decoding process is executed by using the normal correction, the erasure correction and the mixed correction properly.
[0138]
The present invention is not limited to the embodiment of the present invention described above, and various modifications and applications are possible without departing from the gist of the present invention. For example, in the above description, an example in which the ECC memory 10 has an 8 × 8 data configuration has been described. However, it is needless to say that the ECC memory 10 is a memory that can handle two-dimensional data having other numbers of configurations. You may. Further, the steps of describing the program recorded on the recording medium may be performed in parallel or individually, even if not necessarily performed in chronological order in the described order. This includes the following processing.
[0139]
The decryption processing according to the present invention can be realized by either hardware or software. When the decoding process is realized by software, an information processing apparatus can be realized by installing a program for the decoding process (see FIG. 6) on a computer.
[0140]
The present invention is not limited to the embodiment of the present invention described above, and various modifications and applications are possible without departing from the gist of the present invention. For example, the present invention can be applied to a case where digital data is recorded and reproduced using a recording medium other than a magnetic tape, for example, an optical disk. The present invention is also applicable to a case where digital data is communicated via a transmission medium.
[0141]
【The invention's effect】
According to the present invention, an error is corrected by any one of the erasure correction, the normal correction, and the mixed correction by using the identification data (OWP) for an error generated at the time of recording or generation of transmission data. be able to. According to the present invention, it is possible to increase the number of errors that can be corrected. Further, according to the present invention, it is detected that all errors have been corrected or that there are too many errors and decoding processing has not been performed, and as a result, error correction is completed, thereby shortening the error correction processing time. can do.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.
FIG. 2 is a schematic diagram illustrating a data configuration of a sync block according to an embodiment of the present invention.
FIG. 3 is a schematic diagram illustrating a data configuration within a track according to an embodiment of the present invention.
FIG. 4 is a schematic diagram illustrating an example of an inter-track interleave pattern using 16 error-correcting outer codes.
FIG. 5 is a schematic diagram illustrating a configuration of an ECC memory according to an embodiment of the present invention.
FIG. 6 is a flowchart showing an overall flow of a decoding process according to an embodiment of the present invention.
FIG. 7 is a flowchart illustrating a flow of a first C1 decoding process during the decoding process.
FIG. 8 is a flowchart showing the flow of OWP majority decision processing during decoding processing.
FIG. 9 is a flowchart illustrating a flow of a C2 decoding process during the decoding process.
FIG. 10 is a flowchart showing a flow of a second C1 decoding process during the decoding process.
FIG. 11 is a schematic diagram illustrating a first example of a decoding process according to an embodiment of the present invention;
FIG. 12 is a schematic diagram illustrating a second example of a decoding process according to an embodiment of the present invention.
FIG. 13 is a schematic diagram illustrating a third example of the decoding process according to the embodiment of the present invention;
FIG. 14 is a schematic diagram illustrating a fourth example of the decoding process according to the embodiment of the present invention;
[Explanation of symbols]
Reference Signs List 1 ... Sync error detection unit, 2, 3 ... C1 decoder, 4 ... C2 decoder, 5 ... OWP majority processing unit, 6 ... C1 error flag memory, 7 ... Sync Error flag memory, 8 ... C2 error flag memory, 9 ... OWP error flag memory, 10 ... ECC memory, 11 ... Signal generation unit

Claims (10)

記録データの2次元配列の第1の方向に対して内符号の符号化がなされ、第2の方向に対して外符号の符号化がなされ、符号化データに対して、シンクデータが付加されてシンクブロックが構成され、シンクブロック構成のデータが記録媒体に記録され、シンクブロックが記録毎に値が変更される識別用データを含み、且つ上記外符号が完結する範囲では、識別用データが同一の値を持つようになされたディジタルデータが再生され、再生されたディジタルデータの誤りを訂正する情報処理装置において、
上記シンクブロックの検出を行うシンクブロック検出手段と、
上記シンクブロック検出手段によって検出されないシンクブロックの第2の方向の位置を記憶する第1の誤り位置記憶手段と、
上記内符号の復号処理を行う第1の内符号復号手段と、
上記第2の方向の誤りの位置を記憶する第2の誤り位置記憶手段と、
上記第1の内符号復号手段の出力が記憶されるメモリと、
上記メモリに記憶されたデータ内で、外符号が完結する範囲において所定数の上記識別用データに対して多数決処理を行い、多数側の上記識別用データの値を本来記録されていた識別用データと判定し、上記多数側の識別用データと上記インターリーブが完結する範囲に含まれる各シンクブロックの上記識別用データとの一致検出を行い、不一致のシンクブロックをエラーシンクブロックと判定する多数決処理手段と、
上記多数決処理手段で検出された上記エラーシンクブロックの上記第2の方向の位置を記憶する第3の誤り位置記憶手段と、
上記第1、第2および第3の誤り位置記憶手段に記憶されている誤り位置を参照して、上記メモリに記憶されたデータを使用して外符号の復号処理を行う外符号復号手段と、
、上記外符号の復号処理がなされて上記メモリに記憶されたデータを使用して内符号の復号処理を行い、復号処理に応じて上記第2の誤り位置記憶手段の内容を変更する第2の内符号復号手段とを備え、
上記外符号復号手段は、上記第1、第2および第3の誤り位置記憶手段に記憶されている誤り数の合計が上記外符号のパリティ数以下の場合には、消失訂正を行い、
上記第1、第2および第3の誤り位置記憶手段に記憶されている誤り数の合計が上記外符号復号手段のパリティ数より大の場合で、上記第1および第3の誤り位置記憶手段に記憶されている誤り数の合計が上記外符号のパリティ数以下の場合には、混合訂正を行い、
上記第1および第3の誤り位置記憶手段に記憶されている誤り数の合計が上記外符号復号手段のパリティ数より大きい場合には、訂正を行わないようようにした情報処理装置。
An inner code is encoded in a first direction of a two-dimensional array of recording data, an outer code is encoded in a second direction, and sync data is added to the encoded data. A sync block is configured, data of the sync block configuration is recorded on the recording medium, and the sync block includes identification data whose value is changed every recording, and the identification data is the same in a range where the outer code is completed. Digital data reproduced so as to have a value of, and an information processing apparatus for correcting an error of the reproduced digital data,
Sync block detecting means for detecting the sync block,
First error position storage means for storing a position in a second direction of a sync block not detected by the sync block detection means;
First inner code decoding means for performing the decoding process of the inner code,
Second error position storage means for storing the position of the error in the second direction;
A memory in which an output of the first inner code decoding means is stored;
In the data stored in the memory, a majority process is performed on a predetermined number of the identification data within a range in which the outer code is completed, and the value of the identification data on the majority side is originally stored in the identification data. Majority processing means for detecting coincidence between the identification data on the majority side and the identification data of each sync block included in the range where the interleaving is completed, and determining a mismatched sync block as an error sync block. When,
Third error position storage means for storing a position in the second direction of the error sync block detected by the majority processing means;
Outer code decoding means for performing an outer code decoding process using the data stored in the memory with reference to the error position stored in the first, second and third error position storage means;
A decoding process of the inner code is performed using the data stored in the memory after the decoding process of the outer code is performed, and the content of the second error position storage unit is changed according to the decoding process. And inner code decoding means,
The outer code decoding means performs erasure correction when the total number of errors stored in the first, second, and third error position storage means is equal to or less than the number of parities of the outer code,
When the total number of errors stored in the first, second and third error position storage means is larger than the parity number of the outer code decoding means, the first and third error position storage means If the total number of stored errors is equal to or less than the number of parities of the outer code, perform mixed correction,
An information processing apparatus wherein, when the total number of errors stored in the first and third error position storage means is larger than the number of parities of the outer code decoding means, no correction is performed.
請求項1において、
上記外符号復号手段が復号処理を行わなかったことを記憶し、
上記外符号復号手段が復号処理を行わなかった場合または全ての誤りが訂正された場合には、上記第2の内符号復号手段の復号処理を行わないで、復号処理を終了するようにした情報処理装置。
In claim 1,
Storing that the outer code decoding means did not perform the decoding process,
Information that terminates the decoding process without performing the decoding process of the second inner code decoding unit when the outer code decoding unit does not perform the decoding process or when all errors are corrected. Processing equipment.
請求項1において、
さらに、上記第2の内符号復号手段による復号処理後のデータを上記外符号復号手段によって再度復号するようにした情報処理装置。
In claim 1,
Further, an information processing apparatus wherein the data after the decoding processing by the second inner code decoding means is decoded again by the outer code decoding means.
請求項3において、
上記第2の内符号復号手段が復号処理を行わなかったことを記憶し、
上記第2の内符号復号手段が復号処理を行わなかった場合または全ての誤りが訂正された場合には、上記外符号復号手段の復号処理を行わないで、復号処理を終了するようにした情報処理装置。
In claim 3,
Storing that the second inner code decoding means did not perform the decoding process;
Information that terminates the decoding process without performing the decoding process of the outer code decoding unit when the second inner code decoding unit does not perform the decoding process or when all errors are corrected. Processing equipment.
記録データの2次元配列の第1の方向に対して内符号の符号化がなされ、第2の方向に対して外符号の符号化がなされ、符号化データに対して、シンクデータが付加されてシンクブロックが構成され、シンクブロック構成のデータが記録媒体に記録され、シンクブロックが記録毎に値が変更される識別用データを含み、且つ上記外符号が完結する範囲では、識別用データが同一の値を持つようになされたディジタルデータが再生され、再生されたディジタルデータの誤りを訂正する情報処理方法において、
上記シンクブロックの検出を行うシンクブロック検出ステップと、
上記シンクブロック検出ステップによって検出されないシンクブロックの第2の方向の位置を記憶する第1の誤り位置記憶ステップと、
上記内符号の復号処理を行う第1の内符号復号ステップと、
上記第2の方向の誤りの位置を記憶する第2の誤り位置記憶ステップと、
上記第1の内符号復号ステップの出力を記憶し、記憶されたデータ内で、外符号が完結する範囲において所定数の上記識別用データに対して多数決処理を行い、多数側の上記識別用データの値を本来記録されていた識別用データと判定し、上記多数側の識別用データと上記インターリーブが完結する範囲に含まれる各シンクブロックの上記識別用データとの一致検出を行い、不一致のシンクブロックをエラーシンクブロックと判定する多数決処理ステップと、
上記多数決処理ステップで検出された上記エラーシンクブロックの上記第2の方向の位置を記憶する第3の誤り位置記憶ステップと、
上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り位置を参照して、上記記憶されたデータを使用して外符号の復号処理を行う外符号復号ステップと、
、上記外符号の復号処理がなされて上記記憶されたデータを使用して内符号の復号処理を行い、復号処理に応じて上記第2の誤り位置記憶ステップの内容を変更する第2の内符号復号ステップとを備え、
上記外符号復号ステップでは、上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号のパリティ数以下の場合には、消失訂正を行い、
上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号復号ステップのパリティ数より大の場合で、上記第1および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号のパリティ数以下の場合には、混合訂正を行い、
上記第1および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号復号ステップのパリティ数より大きい場合には、訂正を行わないようようにした情報処理方法。
An inner code is encoded in a first direction of a two-dimensional array of recording data, an outer code is encoded in a second direction, and sync data is added to the encoded data. A sync block is configured, data of the sync block configuration is recorded on the recording medium, and the sync block includes identification data whose value is changed every recording, and the identification data is the same in a range where the outer code is completed. In the information processing method of reproducing digital data having a value of
A sync block detecting step of detecting the sync block;
A first error position storing step of storing a position in a second direction of a sync block not detected by the sync block detecting step;
A first inner code decoding step of performing the inner code decoding process;
A second error position storing step of storing the position of the error in the second direction;
The output of the first inner code decoding step is stored, and a majority process is performed on a predetermined number of the identification data within a range where the outer code is completed in the stored data. Is determined as the originally recorded identification data, the identification data of the majority side and the identification data of each sync block included in the range where the interleaving is completed are detected, and the mismatched sync is detected. A majority processing step of determining the block as an error sync block;
A third error position storing step of storing the position of the error sync block detected in the majority processing step in the second direction;
An outer code decoding step of performing an outer code decoding process using the stored data with reference to the error positions stored in the first, second and third error position storage steps;
A second inner code for performing a decoding process for the outer code and performing a decoding process for the inner code using the stored data, and changing the content of the second error position storage step according to the decoding process. Decoding step,
In the outer code decoding step, erasure correction is performed when the total number of errors stored in the first, second, and third error position storage steps is equal to or less than the parity number of the outer code.
When the total number of errors stored in the first, second, and third error position storage steps is larger than the number of parities in the outer code decoding step, the error number is stored in the first and third error position storage steps. If the total number of errors is equal to or less than the parity number of the outer code, perform mixed correction,
An information processing method in which when the total number of errors stored in the first and third error position storing steps is larger than the number of parities in the outer code decoding step, no correction is performed.
請求項5において、
上記外符号復号ステップの処理を行わなかったことを記憶し、
上記外符号復号ステップの処理を行わなかった場合または全ての誤りが訂正された場合には、上記第2の内符号復号ステップの復号処理を行わないで、復号処理を終了するようにした情報処理方法。
In claim 5,
It stores that the process of the outer code decoding step was not performed,
When the processing of the outer code decoding step is not performed or when all errors are corrected, the decoding processing is terminated without performing the decoding processing of the second inner code decoding step. Method.
請求項5において、
さらに、上記第2の内符号復号ステップによる復号処理後のデータを上記外符号復号ステップによって再度復号するようにした情報処理方法。
In claim 5,
Further, an information processing method wherein the data after the decoding process in the second inner code decoding step is decoded again in the outer code decoding step.
請求項7において、
上記第2の内符号復号ステップが訂正を行わなかったことを記憶し、
上記第2の内符号復号ステップが訂正を行わなかった場合または全ての誤りが訂正された場合には、上記外符号復号ステップの復号処理を行わないで、復号処理を終了するようにした情報処理方法。
In claim 7,
Storing that the second inner code decoding step did not perform correction;
When the second inner code decoding step does not perform correction or when all errors are corrected, the information processing apparatus terminates the decoding processing without performing the decoding processing in the outer code decoding step. Method.
記録データの2次元配列の第1の方向に対して内符号の符号化がなされ、第2の方向に対して外符号の符号化がなされ、符号化データに対して、シンクデータが付加されてシンクブロックが構成され、シンクブロック構成のデータが記録媒体に記録され、シンクブロックが記録毎に値が変更される識別用データを含み、且つ上記外符号が完結する範囲では、識別用データが同一の値を持つようになされたディジタルデータが再生され、再生されたディジタルデータの誤りを訂正する処理をコンピュータに実行させるためのプログラムにおいて、
上記シンクブロックの検出を行うシンクブロック検出ステップと、
上記シンクブロック検出ステップによって検出されないシンクブロックの第2の方向の位置を記憶する第1の誤り位置記憶ステップと、
上記内符号の復号処理を行う第1の内符号復号ステップと、
上記第2の方向の誤りの位置を記憶する第2の誤り位置記憶ステップと、
上記第1の内符号復号ステップの出力を記憶し、記憶されたデータ内で、外符号が完結する範囲において所定数の上記識別用データに対して多数決処理を行い、多数側の上記識別用データの値を本来記録されていた識別用データと判定し、上記多数側の識別用データと上記インターリーブが完結する範囲に含まれる各シンクブロックの上記識別用データとの一致検出を行い、不一致のシンクブロックをエラーシンクブロックと判定する多数決処理ステップと、
上記多数決処理ステップで検出された上記エラーシンクブロックの上記第2の方向の位置を記憶する第3の誤り位置記憶ステップと、
上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り位置を参照して、上記記憶されたデータを使用して外符号の復号処理を行う外符号復号ステップと、
、上記外符号の復号処理がなされて上記記憶されたデータを使用して内符号の復号処理を行い、復号処理に応じて上記第2の誤り位置記憶ステップの内容を変更する第2の内符号復号ステップとを備え、
上記外符号復号ステップでは、上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号のパリティ数以下の場合には、消失訂正を行い、
上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号復号ステップのパリティ数より大の場合で、上記第1および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号のパリティ数以下の場合には、混合訂正を行い、
上記第1および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号復号ステップのパリティ数より大きい場合には、訂正を行わないようようにしたプログラム。
An inner code is encoded in a first direction of a two-dimensional array of recording data, an outer code is encoded in a second direction, and sync data is added to the encoded data. A sync block is configured, data of the sync block configuration is recorded on the recording medium, and the sync block includes identification data whose value is changed every recording, and the identification data is the same in a range where the outer code is completed. Digital data reproduced so as to have a value of, and a program for causing a computer to execute a process of correcting an error of the reproduced digital data,
A sync block detecting step of detecting the sync block;
A first error position storing step of storing a position in a second direction of a sync block not detected by the sync block detecting step;
A first inner code decoding step of performing the inner code decoding process;
A second error position storing step of storing the position of the error in the second direction;
The output of the first inner code decoding step is stored, and a majority process is performed on a predetermined number of the identification data within a range where the outer code is completed in the stored data. Is determined as the originally recorded identification data, the identification data of the majority side and the identification data of each sync block included in the range where the interleaving is completed are detected, and the mismatched sync is detected. A majority processing step of determining the block as an error sync block;
A third error position storing step of storing the position of the error sync block detected in the majority processing step in the second direction;
An outer code decoding step of performing an outer code decoding process using the stored data with reference to the error positions stored in the first, second and third error position storage steps;
A second inner code for performing a decoding process for the outer code and performing a decoding process for the inner code using the stored data, and changing the content of the second error position storage step according to the decoding process. Decoding step,
In the outer code decoding step, erasure correction is performed when the total number of errors stored in the first, second, and third error position storage steps is equal to or less than the parity number of the outer code.
When the total number of errors stored in the first, second, and third error position storage steps is larger than the number of parities in the outer code decoding step, the error number is stored in the first and third error position storage steps. If the total number of errors is equal to or less than the parity number of the outer code, perform mixed correction,
A program for performing no correction when the total number of errors stored in the first and third error position storage steps is larger than the number of parities in the outer code decoding step.
記録データの2次元配列の第1の方向に対して内符号の符号化がなされ、第2の方向に対して外符号の符号化がなされ、符号化データに対して、シンクデータが付加されてシンクブロックが構成され、シンクブロック構成のデータが記録媒体に記録され、シンクブロックが記録毎に値が変更される識別用データを含み、且つ上記外符号が完結する範囲では、識別用データが同一の値を持つようになされたディジタルデータが再生され、再生されたディジタルデータの誤りを訂正する処理をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
上記シンクブロックの検出を行うシンクブロック検出ステップと、
上記シンクブロック検出ステップによって検出されないシンクブロックの第2の方向の位置を記憶する第1の誤り位置記憶ステップと、
上記内符号の復号処理を行う第1の内符号復号ステップと、
上記第2の方向の誤りの位置を記憶する第2の誤り位置記憶ステップと、
上記第1の内符号復号ステップの出力を記憶し、記憶されたデータ内で、外符号が完結する範囲において所定数の上記識別用データに対して多数決処理を行い、多数側の上記識別用データの値を本来記録されていた識別用データと判定し、上記多数側の識別用データと上記インターリーブが完結する範囲に含まれる各シンクブロックの上記識別用データとの一致検出を行い、不一致のシンクブロックをエラーシンクブロックと判定する多数決処理ステップと、
上記多数決処理ステップで検出された上記エラーシンクブロックの上記第2の方向の位置を記憶する第3の誤り位置記憶ステップと、
上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り位置を参照して、上記記憶されたデータを使用して外符号の復号処理を行う外符号復号ステップと、
、上記外符号の復号処理がなされて上記記憶されたデータを使用して内符号の復号処理を行い、復号処理に応じて上記第2の誤り位置記憶ステップの内容を変更する第2の内符号復号ステップとを備え、
上記外符号復号ステップでは、上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号のパリティ数以下の場合には、消失訂正を行い、
上記第1、第2および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号復号ステップのパリティ数より大の場合で、上記第1および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号のパリティ数以下の場合には、混合訂正を行い、
上記第1および第3の誤り位置記憶ステップで記憶した誤り数の合計が上記外符号復号ステップのパリティ数より大きい場合には、訂正を行わないようようにしたプログラムを記録したコンピュータ読み取り可能な記録媒体。
An inner code is encoded in a first direction of a two-dimensional array of recording data, an outer code is encoded in a second direction, and sync data is added to the encoded data. A sync block is configured, data of the sync block configuration is recorded on the recording medium, and the sync block includes identification data whose value is changed every recording, and the identification data is the same in a range where the outer code is completed. Digital data made to have the value of is reproduced, in a computer-readable recording medium recording a program for causing a computer to execute a process of correcting an error in the reproduced digital data,
A sync block detecting step of detecting the sync block;
A first error position storing step of storing a position in a second direction of a sync block not detected by the sync block detecting step;
A first inner code decoding step of performing the inner code decoding process;
A second error position storing step of storing the position of the error in the second direction;
The output of the first inner code decoding step is stored, and a majority process is performed on a predetermined number of the identification data within a range where the outer code is completed in the stored data. Is determined as the originally recorded identification data, the identification data of the majority side and the identification data of each sync block included in the range where the interleaving is completed are detected, and the mismatched sync is detected. A majority processing step of determining the block as an error sync block;
A third error position storing step of storing the position of the error sync block detected in the majority processing step in the second direction;
An outer code decoding step of performing an outer code decoding process using the stored data with reference to the error positions stored in the first, second and third error position storage steps;
A second inner code for performing a decoding process for the outer code and performing a decoding process for the inner code using the stored data, and changing the content of the second error position storage step according to the decoding process. Decoding step,
In the outer code decoding step, erasure correction is performed when the total number of errors stored in the first, second, and third error position storage steps is equal to or less than the parity number of the outer code.
When the total number of errors stored in the first, second, and third error position storage steps is larger than the number of parities in the outer code decoding step, the error number is stored in the first and third error position storage steps. If the total number of errors is equal to or less than the parity number of the outer code, perform mixed correction,
When the total number of errors stored in the first and third error position storage steps is larger than the parity number in the outer code decoding step, a computer-readable recording in which a program for preventing correction is recorded. Medium.
JP2002228136A 2002-08-06 2002-08-06 Information processing apparatus and method, program, and recording medium Expired - Fee Related JP4078918B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002228136A JP4078918B2 (en) 2002-08-06 2002-08-06 Information processing apparatus and method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002228136A JP4078918B2 (en) 2002-08-06 2002-08-06 Information processing apparatus and method, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2004071041A true JP2004071041A (en) 2004-03-04
JP4078918B2 JP4078918B2 (en) 2008-04-23

Family

ID=32014899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002228136A Expired - Fee Related JP4078918B2 (en) 2002-08-06 2002-08-06 Information processing apparatus and method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP4078918B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4939409B2 (en) * 2005-06-10 2012-05-23 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus, method, and program for correcting error

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4939409B2 (en) * 2005-06-10 2012-05-23 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus, method, and program for correcting error

Also Published As

Publication number Publication date
JP4078918B2 (en) 2008-04-23

Similar Documents

Publication Publication Date Title
US6640326B1 (en) Data set recovery by codeword overlay
JP4709485B2 (en) On-drive integrated sector format RAID error correction code system and method
US5757824A (en) Code error correction apparatus
JP4141963B2 (en) Method and apparatus for embedding an additional error correction layer in an error correction code
KR100250590B1 (en) Encoding/decoding circuit and digital video system
JP3502559B2 (en) Erasure correction method and erasure correction circuit
US7549103B2 (en) Data encoding method for error correction
JP4140344B2 (en) Decoding device and computer program
JP4078918B2 (en) Information processing apparatus and method, program, and recording medium
KR100196927B1 (en) Error correction method of digital video recording/reproducing apparatus
US20050050425A1 (en) Error correction method and apparatus for interleaved data
JP4112520B2 (en) Correction code generation apparatus, correction code generation method, error correction apparatus, and error correction method
JP2664267B2 (en) Code error correction device
JP2004146014A (en) Data coding/decoding method and apparatus
JP4147851B2 (en) Data reproducing apparatus and method
US20040139379A1 (en) Data processing apparatus and method
JP2004152337A (en) Recording and reproducing device, computer program and transmitting and receiving system
JP3619151B2 (en) Data processing method using error correction code and apparatus using the method
JP3210002B2 (en) Error correction device
JP3519684B2 (en) Data processing device using error correction code
JP2006164503A (en) Device and method for deciding defective area on optical medium
JP2006191378A (en) Error correction apparatus, reproducing apparatus and reproducing method
JP2004288310A (en) Digital data recording and reproducing device and digital data reproducing method
JPH0756735B2 (en) Decoding method of error correction code
JP2008130159A (en) Error correction apparatus and recording/reproducing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070718

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: 20080115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080128

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees