JP3653315B2 - Error correction method and error correction apparatus - Google Patents
Error correction method and error correction apparatus Download PDFInfo
- Publication number
- JP3653315B2 JP3653315B2 JP26561795A JP26561795A JP3653315B2 JP 3653315 B2 JP3653315 B2 JP 3653315B2 JP 26561795 A JP26561795 A JP 26561795A JP 26561795 A JP26561795 A JP 26561795A JP 3653315 B2 JP3653315 B2 JP 3653315B2
- Authority
- JP
- Japan
- Prior art keywords
- error correction
- check word
- error
- symbol
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、例えば記録媒体より再生したり、或いは所定の伝送系により伝送されたオーディオデータなどのデジタルデータを、このデータに付与されたエラー訂正符号に基づいてエラー訂正する場合に適用して好適なエラー訂正方法及びエラー訂正装置に関する。
【0002】
【従来の技術】
従来、光ディスク又は光磁気ディスクを記録媒体としてデジタルオーディオデータなどのデジタルデータを記録する場合に、その記録データにエラー訂正符号を付加して記録するようにしてある。そして、これらの記録媒体の記録データを再生する際には、再生データに含まれるエラー訂正符号を使用して、再生データのエラーを訂正することが行われている。
【0003】
図7及び図8は従来のエラー訂正処理の一例を示す図で、図7はエラー訂正符号の生成処理を示し、図8はエラー訂正符号を使用した復号処理を示す。この図7及び図8に示す処理は、ACIRC(Advanced Cross Interleave Reed-Solomon Code )方式と称されるエラー訂正方式が適用される処理を示す。このACIRC方式は、コンパクトディスク(CD)と称される光ディスクに適用されたCIRC方式を改良したエラー訂正方式で、例えばミニディスク(MD)と称される光磁気ディスク又は光ディスクへのオーディオデータなどの記録に適用された方式である。
【0004】
まず、図7はエラー訂正符号の生成処理について説明すると、例えば入力データとして左右(L,R)2チャンネルのデジタルオーディオデータが、各チャンネル6サンプル分つまり16ビット×2×6で192ビット分(24バイト)が1つの単位となって入力される。この入力データ列は、1サンプルが2ワードで、1ワードが16ビットであるとすると、各ワードが上位シンボルAと下位シンボルBの2シンボル(1シンボルは8ビット)に分けられ、24シンボルに変換される。
【0005】
そして、この24シンボルのデータを偶数シンボル遅延回路11に供給し、偶数番目のシンボル(即ち下位シンボルB)だけを1シンボル遅延させる処理を行う。そして、この1シンボルおきに1シンボル遅延された各シンボルのデータを、スクランブル用遅延回路12に供給する。このスクランブル用遅延回路12では、入力データに互いに異なる遅延量を与えるスクランブルがかけられ、連続するシンボルを4フレームずつ離して遅延させる。但し、12シンボル目のデータと13シンボル目のデータとの間は、20フレーム間隔を開けておく。なお、図中のDは4を示し、最大で27×4フレーム(即ち108フレーム)にわたるスクランブルが掛けられることを示す(以下、本明細書中に示すDは全て同じ意味)。
【0006】
そして、このスクランブルされた各シンボルのデータをC2パリティ生成回路13に供給する。このC2パリティ生成回路13では、誤り訂正符号C2のエンコードが行われ、ここではm=8,n=28,k=24,d=5のリード・ソロモン符号のパリティQを生成させる。ここで、mは1シンボルのビット数、nはパリティ生成後の全シンボル数、kは入力データのシンボル数、dは符号の最小距離である。
【0007】
そして、このC2パリティ生成回路13で生成された4シンボルのパリティQと、このC2パリティ生成回路13に供給された24シンボルのデータとの合計28シンボルのデータを、インターリーブ用遅延回路14に供給する。このインターリーブ用遅延回路14では、連続するシンボルを4フレームずつ離して遅延させる。但し、スクランブル用遅延回路12で遅延させる間隔を離した方向とは逆方向に離し(即ちスクランブル用遅延回路12では最初のシンボルのデータを最大の108フレーム遅延させたのに対し、インターリーブ用遅延回路14では最後のシンボルのデータを最大の108フレーム遅延させる)、スクランブル用遅延回路12で108フレームにわたってスクランブルされたデータ配列を、ほぼ元に戻す処理が行われる。なお、4シンボルのパリティQは、12シンボル目のデータと13シンボル目のデータとの間に配置して、この4シンボルのパリティQについても、連続するシンボルを4フレームずつ離させる。
【0008】
そして、このインターリーブされた各シンボルのデータをC1パリティ生成回路15に供給する。このC1パリティ生成回路15では、誤り訂正符号C1のエンコードが行われ、ここではm=8,n=32,k=28,d=5のリード・ソロモン符号のパリティPを生成させる。
【0009】
そして、インターリーブ用遅延回路14が出力する28シンボルのデータと、C1パリティ生成回路15が出力する4シンボルのパリティPとを、奇数シンボル遅延回路16に供給し、奇数番目のシンボルだけを1シンボル遅延させて、エラー訂正符号が付加されたデータ列を得る。
【0010】
ここで、この奇数シンボル遅延回路16から並列的に出力される32シンボルのデータが、1フレームのデータとして送出される。なお、パリティP,Qのシンボルについては、インバータゲート17により反転させて出力させる。このインバータゲート17による反転処理は、何らかの誤動作などでデータ及びパリティが全て“0”データとなった場合でも、誤りが検出できるようにするためである。
【0011】
そして、例えばこのデータを光磁気ディスクなどの記録媒体に記録する際には、1フレームを構成する各シンボルの8ビットデータを、EFM(Eight to Fourteen Modulation:8・14変換)と称される8ビットのデータを14ビットのデータに変換する変調を行い、この変調されたデータを、記録媒体に記録させる。なお、実際には各フレームのデータに、同期データやサブコードなどを付加して記録する。
【0012】
次に、このようにして記録媒体に記録されたデータを再生する際には、再生されたデータをEFM用復調回路に供給して、14ビットのデータを8ビットに変換し、この8ビットずつのデータを、32シンボル単位で図8に示す復号化回路に供給する。この復号化回路は、まず32シンボルのデータを偶数シンボル遅延回路21に供給し、偶数番目のシンボルだけを1シンボル遅延させる処理を行う。そして、この1シンボルおきに1シンボル遅延された32シンボルのデータを、C1エラー訂正回路23に供給する。但し、32シンボルのデータの内、4シンボルのパリティQ及び4シンボルのパリティPについては、それぞれインバータゲート22により反転させてから、C1エラー訂正回路23に供給する。
【0013】
このC1エラー訂正回路23では、パリティPを使用したロケーション方程式による演算でエラー訂正処理を行う。ここでは、2シンボル誤りまで訂正を行う。但し、2シンボル誤り訂正の場合および訂正不可能の場合には、復号後の各シンボルに誤りフラグ(以下ポインタと称する)を立てる。
【0014】
そして、C1エラー訂正回路23が出力する復号後の各シンボルのデータを、デ・インターリーブ用遅延回路24に供給し、連続するシンボルを4フレームずつ離して遅延させる。ここでの遅延量を変化させる方向としては、図7に示す符号化回路内のインターリーブ用遅延回路14での遅延で生じたインターリーブを元に戻す処理(即ちデ・インターリーブ処理)が行われる方向としてある。
【0015】
そして、デ・インターリーブ用遅延回路24でデ・インターリーブされた各シンボルのデータを、C2エラー訂正回路26に供給する。このC2エラー訂正回路26では、パリティQを使用したロケーション方程式による演算でエラー訂正処理を行う。ここでの訂正処理としては、各シンボルに付与されたポインタの状態(数,位置)を考慮して行う。
【0016】
即ち、C1エラー訂正回路23が出力するポインタのデータを、遅延回路25を介してC2エラー訂正回路26に供給し、このポインタを使用したイレージャ訂正処理を行う。ここで、遅延回路25での遅延処理としては、C1エラー訂正回路23が出力する1ビットのポインタのデータを、0フレーム(即ち遅延無しの状態)から4フレーム間隔で108フレームまで28段階に順に遅延させて28ビットのデータとし、この遅延されたポインタのデータを順にC2エラー訂正回路26に供給する。従って、C2エラー訂正回路26側から見ると、4フレーム間隔で108フレーム前までのC1エラー訂正回路23でのポインタ発生状態が判ることになる。なお、このポインタの情報を考慮したC2エラー訂正回路26での訂正処理については、フローチャート(図9)に基づいた説明で後述する。
【0017】
そして、このC2エラー訂正回路26で訂正処理されて復号された各シンボルのデータを、デ・スクランブル用遅延回路27に供給し、連続するシンボルを4フレームずつ離して遅延させる。ここでの遅延量を変化させる方向としては、図7に示す符号化回路内のスクランブル用遅延回路12での遅延で生じたスクランブルを元に戻す処理(即ちデ・スクランブル処理)が行われる方向としてある。
【0018】
そして、デ・スクランブル用遅延回路27でデ・スクランブルされた各シンボルのデータを、奇数シンボル遅延回路28に供給し、奇数番目のシンボルだけを1シンボル遅延させる。そして、この奇数シンボル遅延回路28が出力する各シンボルのデータを、復号された左右2チャンネルのデジタルオーディオデータとして出力する。
【0019】
次に、この復号化回路でのC1エラー訂正回路23及びC2エラー訂正回路26での訂正処理を、図9のフローチャートに基づいて説明する。
【0020】
まず、C1エラー訂正回路23で訂正処理を行う(ステップ101)。ここでは、パリティPを使用したロケーション方程式による演算を行う(ステップ102)。この演算の結果として、エラー無し(ステップ103),1シンボルエラー有り(ステップ104),2シンボルエラー有り(ステップ105),その他の状態(ステップ106)の4状態の判別を行う。
【0021】
この4状態の判別に基づいた処理としては、エラー無しのときポインタをクリアし(ステップ107)、1シンボルエラー有りのとき該当する1シンボルを訂正する(ステップ108)と共に、その後ポインタをクリアする(ステップ107)。また、2シンボルエラー有りのとき該当する2シンボルを訂正する(ステップ109)と共に、その後ポインタをセットする(ステップ110)。さらに、その他の状態のときにも、ポインタをセットする(ステップ110)。ここまでで、C1エラー訂正回路23での訂正処理を終了する(ステップ111)。
【0022】
次に、C2エラー訂正回路26で訂正処理を行う(ステップ121)。ここでは、パリティQを使用したロケーション方程式による演算を行う(ステップ122)。なお、以下の説明でi,jはそれぞれエラーロケーションを示し、i<jの関係にある。また、Npは立てられたポインタの数を示し、Pi,Pjはそれぞれポインタi,jを示す。
【0023】
そしてステップ122での演算の結果として、エラー無し(ステップ123),1シンボルエラー有り(ステップ124),2シンボルエラー有り(ステップ125),3シンボル以上のエラー有り(ステップ126)の4状態の判別を行う。
【0024】
そして、ステップ123でエラー無しと判別したときには、全ポインタをクリアする(ステップ131)。また、ステップ124で1シンボルエラー有りを判別したときには、このエラー有りのシンボルSiのエラーロケーションiの値を判断し、iが27を越えるとき(ステップ132),iが27以下のとき(ステップ133)の2状態の判別を行う。
【0025】
そして、ステップ132でiが27を越えると判断したときには、そのときの立てられたポインタの数Npについて、Npが5以上のとき(ステップ134),Npが4のとき(ステップ135),Npが0〜3のとき(ステップ136)の3状態の判別を行う。
【0026】
そして、ステップ134でポインタの数Npが5以上であると判断したとき、ポインタをコピーする(ステップ157)。また、ステップ135でポインタの数Npが4であると判断したとき、4シンボルのイレージャ訂正を行う(ステップ160)。また、ステップ136でポインタの数Npが0〜3であると判断したとき、全ポインタをセットする(ステップ159)。
【0027】
そして、ステップ133でiが27以下であると判断したときには、1シンボル訂正を行う(ステップ137)。
【0028】
そして、ステップ125で2シンボルエラー有りを判別したときには、このエラー有りのシンボルSi,Sjの内のシンボルSjのエラーロケーションjの値を判断し、jが27を越えるとき(ステップ138),jが27以下のとき(ステップ139)の2状態の判別を行う。
【0029】
そして、ステップ138でjが27を越えると判断したときには、そのときの立てられたポインタの数Npについて、Npが0〜2のとき(ステップ140),Npが5以上のとき(ステップ141),Npが3のとき(ステップ142),Npが4のとき(ステップ143)の4状態の判別を行う。
【0030】
そして、ステップ140でポインタの数Npが0〜2を判別したときには、全ポインタをセットする(ステップ159)。また、ステップ141でポインタの数Npが5以上を判別したときには、ポインタをコピーする(ステップ157)。また、ステップ142でポインタの数Npが3であると判別したときには、3シンボルのイレージャ訂正を行う(ステップ146)。さらに、ステップ143でポインタの数Npが4であると判別したときには、4シンボルのイレージャ訂正を行う(ステップ160)。
【0031】
また、ステップ139でエラーロケーションjが27以下であると判別したときには、そのときの立てられたポインタの数Npについて、Npが5以下のとき(ステップ144),Npが5を越えるとき(ステップ145)の2状態の判別を行う。
【0032】
そして、ステップ144でポインタの数Npが5以下であると判別したときには、エラー有りのシンボルSi,SjのポインタPi,Pjの値を判別し、Pi=Pj=0のとき(ステップ147),Pi=Pj=1のとき(ステップ148),Pi+Pj=1のとき(ステップ149)の3状態の判別を行う。
【0033】
そして、ステップ147でPi=Pj=0であると判別したときには、そのときの立てられたポインタの数Npについて、Npが1〜5のとき(ステップ150),Npが0のとき(ステップ151)の2状態の判別を行う。
【0034】
そして、ステップ150でNpが1〜5であると判別したときには、そのときの立てられたポインタの数Npについて、Npが0〜2のとき(ステップ140),Npが5以上のとき(ステップ141),Npが3のとき(ステップ142),Npが4のとき(ステップ143)の4状態の判別を行い、その判別した状態に基づいた上述した処理(ステップ159の全ポインタセット,ステップ157のポインタコピー,ステップ146の3シンボルイレージャ訂正又はステップ160の4シンボルイレージャ訂正)を行う。また、ステップ151でNpが0のときには、2シンボル訂正を行う(ステップ156)。
【0035】
そして、ステップ148でPi=Pj=1であると判別したときには、2シンボル訂正を行う(ステップ156)。
【0036】
そして、ステップ149でPi+Pj=1であると判別したときには、そのときの立てられたポインタの数Npについて、Npが1のとき(ステップ152),Npが2又は3のとき(ステップ153),Npが4のとき(ステップ154),Npが5のとき(ステップ155)の4状態の判別を行う。
【0037】
そして、ステップ152でポインタの数Npが1であると判別したときには、2シンボル訂正を行う(ステップ156)。また、ステップ153でポインタの数Npが2又は3であると判別したときには、全ポインタをセットする(ステップ159)。また、ステップ154でポインタの数Npが4であると判別したときには、4シンボルイレージャ訂正を行う(ステップ160)。さらに、ステップ155でポインタの数Npが5であると判別したときには、ポインタコピーを行う(ステップ157)。
【0038】
ここまでの処理を行うことで、C2エラー訂正が終了し、C1エラー訂正とC2エラー訂正とが行われたことになる(ステップ161)。このようにしてC1エラー訂正が行われた後に、そのポインタ情報を利用してC2エラー訂正を行うことで、効率良くエラー訂正が行われ、高いエラー訂正能力が得られる。
【0039】
【発明が解決しようとする課題】
ところで、このACIRC方式の場合には、多くのフレーム数にわたってスクランブルされているので、エラーの発生状態によっては、複数のフレームにわたる長い区間で最終的にエラー訂正不能となってしまう場合がある。
【0040】
即ち、例えば図10に示すように、或る区間xでバーストエラー(即ち区間x内でエラーが連続する状態)が発生すると、C1エラー訂正回路23では、図10に実線の矢印でデータ処理を行う方向を示すように、記録媒体からのデータの読出し方向と一致した方向に対してエラー処理が行われる。従って、C1エラー訂正回路23でのエラー訂正が不可能な範囲は、図10にC1として示す波形の立ち上がった範囲となり、バーストエラーの範囲xと一致し、バーストエラーがあってもエラー訂正が不可能な範囲が広がることはない。
【0041】
これに対し、C2エラー訂正回路26では、図10に破線の矢印でデータ処理を行う方向を示すように、108フレームにわたってインターリーブされたデータに対して処理される。このため、C2エラー訂正回路26でのエラー訂正が不可能な範囲は、図10にC2として示す波形の立ち上がった範囲となり、バーストエラーの範囲xの前後に大きく広がって、最大でインターリーブされた期間である108フレームにわたってエラー訂正が不可能になるおそれがある。
更にエラー訂正後のデータを読み出した時点ではエラー訂正が不可能なデータが108×2フレームに渡ってばらまかれる。
【0042】
このような状態になると、元のデータのダメージよりずっと広い範囲に対して訂正不能となってしまう。このようにエラー訂正できない範囲が広がるのは、好ましくない。
【0043】
本発明はかかる点に鑑み、エラー訂正能力を高めることができるエラー訂正方法及びエラー訂正装置を提供することを目的とする。
【0044】
【課題を解決するための手段】
この問題点を解決するために本発明は、第1のチェックワード,第2のチェックワードの順で訂正符号が生成されて付与されたデータのエラー訂正方法において、最終段の訂正処理として、第2のチェックワードによる第2のデータ系列に対するエラー訂正を行うようにしたものである。
【0045】
かかる方法によると、最終的なエラー訂正の方向を、第2のデータ系列の配列の方向とすることができる。
【0046】
【発明の実施の形態】
以下、本発明の第1の実施例を図1〜図3を参照して説明する。
【0047】
本例においては、ACIRC方式と称されるエラー訂正方式の復号化回路に適用したもので、従来例として図7に示した符号化回路にてエラー訂正符号が符号化されたデータの復号を行うものである。
【0048】
まず、記録媒体から再生された(又は何らかの伝送路により伝送された)デジタルオーディオデータを、EFM用復調回路などの処理の復調回路に供給して、8ビットずつのデータとし、この8ビットずつのデータを、32シンボル単位で図1に示す復号化回路に供給する。この場合、1サンプルのデジタルオーディオデータは16ビットで構成され、この1サンプル16ビットのデータは、上位8ビットのシンボルAと、下位8ビットのシンボルBとで構成され、32シンボルの内の24シンボルがオーディオデータで、残りの8シンボルがC1パリティ生成回路で生成されたパリティP(4シンボル)とC2パリティ成分回路で生成されたパリティQ(4シンボル)である。
【0049】
図1の復号化回路の構成について説明すると、まず32シンボルのデータを偶数シンボル遅延回路31に供給し、偶数番目のシンボルだけを1シンボル遅延させる処理を行う。そして、この1シンボルおきに1シンボル遅延された32シンボルのデータの内、4シンボルのパリティQ及び4シンボルのパリティPを、それぞれインバータゲート32により反転させる。
【0050】
そして、偶数シンボル遅延回路31の出力(データのシンボル)及びインバータゲート32の出力(パリティのシンボル)を、デ・スクランブル用遅延回路33に供給する。但し、Pパリティについては、遅延回路33には供給しない。この遅延回路33は、連続するシンボルを4フレームずつ離して遅延させる。即ち、隣接するシンボル毎に4フレームずつ(図中のDは4)遅延量を変化させて、最小で遅延無しの状態から、最大で27×Dフレーム=108フレーム遅延までの状態を設定させて、デ・スクランブル処理が行われる。ここでの処理としては、最初のシンボルのデータに最大の遅延量を設定し、最後のシンボルのデータを遅延無しとするように遅延量を変化させる。
【0051】
そして、遅延回路33でデ・スクランブルされたデータ及びQパリティのシンボルを、C2エラー訂正回路34に供給する。このC2エラー訂正回路34では、パリティQを使用したロケーション方程式による演算でエラー訂正処理を行う。ここでのエラー訂正処理としては、2シンボルエラーまでの訂正を行う。そして、2シンボルのエラー訂正をした場合、及び2シンボルを越えるエラーがあって訂正ができなかった場合には、該当するシンボルにポインタを立てる。
【0052】
そして、C2エラー訂正回路34が出力するデータを、デ・インターリーブ用遅延回路35に供給する。この場合、本例においては、C2エラー訂正回路34に供給された4シンボルのパリティQについても、そのまま出力させてデ・インターリーブ用遅延回路35に供給する。また、インバータゲート32で反転された4シンボルのパリティPも、デ・インターリーブ用遅延回路35に供給する。
【0053】
このデ・インターリーブ用遅延回路35では、供給される32シンボルの内の24シンボルのデータと4シンボルのパリティQに対して、それぞれ異なる遅延量を与えるデ・インターリーブ処理を行う。即ち、隣接するシンボル毎に4フレームずつ遅延量を変化させて、最小で遅延無しの状態から、最大で27×Dフレーム=108フレーム遅延までの状態を設定させて、デ・インターリーブ処理が行われる。ここでの処理としては、デ・スクランブル用遅延回路35で遅延量を変化させた方向とは逆、即ち最初のシンボルのデータを遅延無しとし、最後のシンボルのデータに最大の遅延量を設定とする。また、このデ・スクランブル用遅延回路35では、4シンボルのパリティPに対しても、それぞれ108フレームずつ遅延させる。
【0054】
そして、このデ・インターリーブ用遅延回路35でデ・インターリーブされた各シンボルのデータを、C1エラー訂正回路37に供給する。このC1エラー訂正回路37では、パリティPを使用したロケーション方程式による演算でエラー訂正処理を行う。ここでの訂正処理としては、各シンボルに付与されたポインタの状態(数,位置)を考慮して行う。
【0055】
即ち、C2エラー訂正回路34が出力するポインタのデータを、遅延回路36を介してC1エラー訂正回路37に供給し、このポインタを使用した訂正処理を行う。ここで、遅延回路36での遅延処理としては、C2エラー訂正回路34が出力する1ビットのポインタのデータを、0フレーム(即ち遅延無しの状態)から4フレーム間隔で108フレームまで28段階に順に遅延させて28ビットのデータとし、この遅延されたポインタのデータを順にC1エラー訂正回路37に供給する。従って、C1エラー訂正回路37側から見ると、4フレーム間隔で108フレーム前までのC2エラー訂正回路34でのポインタ発生状態が判ることになる。なお、このポインタの情報を考慮したC1エラー訂正回路37での訂正処理については、フローチャート(図2)に基づいた説明で後述する。
【0056】
そして、このC1エラー訂正回路37で訂正処理されて復号された各シンボルのデータを、奇数シンボル遅延回路38に供給し、奇数番目のシンボルだけを1シンボル遅延させる。そして、この奇数シンボル遅延回路38が出力する各シンボルのデータを、復号された左右2チャンネルのデジタルオーディオデータとして出力する。
【0057】
次に、本例の復号化回路でのC2エラー訂正回路34及びC1エラー訂正回路37での訂正処理を、図2のフローチャートに基づいて説明する。
【0058】
まず、C2エラー訂正回路34で訂正処理を行う(ステップ201)。ここでは、パリティQを使用したロケーション方程式による演算を行う(ステップ202)。この演算の結果として、エラー無し(ステップ203),1シンボルエラー有り(ステップ204),2シンボルエラー有り(ステップ205),その他の状態(ステップ206)の4状態の判別を行う。
【0059】
この4状態の判別に基づいた処理としては、エラー無しのときポインタをクリアし(ステップ207)、1シンボルエラー有りのとき該当する1シンボルを訂正する(ステップ208)と共に、その後ポインタをクリアする(ステップ207)。また、2シンボルエラー有りのとき該当する2シンボルを訂正する(ステップ209)と共に、その後ポインタをセットする(ステップ210)。さらに、その他の状態のときにも、ポインタをセットする(ステップ210)。ここまでで、C2エラー訂正回路34での訂正処理を終了する(ステップ211)。
【0060】
次に、C1エラー訂正回路37で訂正処理を行う(ステップ221)。ここでは、パリティPを使用したロケーション方程式による演算を行う(ステップ222)。なお、以下の説明でi,jはそれぞれエラーロケーションを示し、i<jの関係にある。また、Npは立てられたポインタの数を示し、Pi,Pjはそれぞれポインタi,jを示す。
【0061】
そしてステップ222での演算の結果として、エラー無し(ステップ223),1シンボルエラー有り(ステップ224),2シンボルエラー有り(ステップ225),3シンボル以上のエラー有り(ステップ226)の4状態の判別を行う。
【0062】
そして、ステップ223でエラー無しと判別したときには、全ポインタをクリアする(ステップ231)。また、ステップ224で1シンボルエラー有りを判別したときには、このエラー有りのシンボルSiのエラーロケーションiの値を判断し、iが31を越えるとき(ステップ232),iが31以下のとき(ステップ233)の2状態の判別を行う。
【0063】
そして、ステップ232でiが31を越えると判断したときには、そのときの立てられたポインタの数Npについて、Npが4以上のとき(ステップ234),Npが0〜3のとき(ステップ235)の2状態の判別を行う。
【0064】
そして、ステップ234でポインタの数Npが4以上であると判断したとき、ポインタをコピーする(ステップ257)。また、ステップ235でポインタの数Npが0〜3であると判断したとき、全ポインタをセットする(ステップ258)。
【0065】
そして、ステップ233でiが31以下であると判断したときには、1シンボル訂正を行う(ステップ236)。
【0066】
そして、ステップ225で2シンボルエラー有りを判別したときには、このエラー有りのシンボルSi,Sjの内のシンボルSjのエラーロケーションjの値を判断し、jが31を越えるとき(ステップ237),jが31以下のとき(ステップ238)の2状態の判別を行う。
【0067】
そして、ステップ237でjが31を越えると判断したときには、そのときの立てられたポインタの数Npについて、Npが0〜2のとき(ステップ239),Npが3以上のとき(ステップ240)の2状態の判別を行う。
【0068】
そして、ステップ239でポインタの数Npが0〜2を判別したときには、全ポインタをセットする(ステップ258)。また、ステップ240でポインタの数Npが3以上を判別したときには、ポインタをコピーする(ステップ257)。
【0069】
また、ステップ238でエラーロケーションjが31以下であると判別したときには、そのときに立てられたポインタの数Npについて、Npが5以下のとき(ステップ241),Npが5を越えるとき(ステップ242)の2状態の判別を行う。
【0070】
そして、ステップ241でポインタの数Npが5以下であると判別したときには、シンボルSi,Sjのエラーロケーションi,jの値を判断し、iが27を越えるとき(ステップ243),iが27以下且つjが27を越えるとき(ステップ244),jが27以下のとき(ステップ245)の3状態の判別を行う。そして、ステップ243でiが27を越えると判別したときには、そのときに立てられたポインタの数Npについて、Npが1〜5のとき(ステップ251),Npが0のとき(ステップ252)の2状態の判別を行い、ステップ251でNpが1〜5のときには、既に述べたステップ239,240の判別処理に移る。また、ステップ252でNpが0のときには、2シンボル訂正を行う(ステップ156)。
【0071】
そして、ステップ244でiが27以下且つjが27を越えると判別したときには、ポインタPiが0のとき(ステップ246),ポインタPiが1のとき(ステップ247)の2状態の判別を行う。そして、ステップ246でポインタPiが0であると判別したときには、既に述べたステップ251,252の判別処理に移る。また、ステップ247でポインタPiが1であると判別したときには、2シンボル訂正を行う(ステップ256)。
【0072】
そして、ステップ245でjが27以下であると判別したときには、エラー有りのシンボルSi,SjのポインタPi,Pjの値を判別し、Pi=Pj=0のとき(ステップ246),Pi=Pj=1のとき(ステップ249),Pi+Pj=1のとき(ステップ250)の3状態の判別を行う。
【0073】
そして、ステップ248でPi=Pj=0であると判別したときには、既に述べたステップ251,252の判別処理に移る。また、ステップ249でPi=Pj=1であると判別したときには、2シンボル訂正を行う(ステップ256)。さらに、ステップ250でPi+Pj=1であると判別したときには、そのときに立てられたポインタの数Npについて、Npが1のとき(ステップ253),Npが2又は3のとき(ステップ254),Npが4又は5のとき(ステップ255)の3状態の判別を行い、ステップ253でNpが1のとき2シンボル訂正を行い(ステップ256)、ステップ254でNpが2又は3のとき全ポインタのセットを行い(ステップ258)、ステップ255でNpが4又は5のとき全ポインタのコピーを行う(ステップ257)。
【0074】
ここまでの処理を行うことで、C1エラー訂正が終了し、C2エラー訂正,C1エラー訂正の順序で両エラー訂正が行われたことになる(ステップ259)。このようにしてC2エラー訂正が行われた後に、そのポインタ情報を利用してC1エラー訂正を行うことで、従来と同様に2種類のエラー訂正符号による効率の良いエラー訂正ができる。そして本例においては、C2エラー訂正を最初に行ってから、最後にC1エラー訂正を行うようにしたので、エラー訂正不能なバーストエラーが発生した場合に、その影響の広がりを抑えることができる。
【0075】
即ち、本例の場合には、C1エラー訂正回路37で訂正処理されたデータが、奇数シンボルの遅延だけが行われて出力され、最終的にエラー訂正されてから出力されるまでの間に、大幅にシンボル配列を変えるデ・スクランブル処理などの処理が必要なく、データの出力される方向と最終的にエラー訂正される方向とが一致し、エラー訂正不能なバーストエラーが発生した場合であっても、エラー訂正不能な範囲が広がることがない。
【0076】
なお、本例の回路の場合には、シンボルデータの遅延用に使用する記憶素子の容量としては、従来の回路とほぼ同じで、本例の構成としたことによる回路規模の増大はない。
【0077】
図3は、ACIRC方式の符号化がなされた再生データに、所定区間のバーストエラーがあった場合のエラーフラグ(訂正不能であることを示すフラグ)の発生状態を示す図で、例えば図3のAに区間aのバーストエラーがあったとする。このとき、第1の実施例の復号化回路(即ちC2訂正の後にC1訂正をする回路)による処理では、図3のBに示すように、バーストエラーの区間aから処理に要する時間だけ遅れたタイミングにエラーフラグが発生するが、このエラーフラグが発生する期間の長さ自体は、バーストエラーの区間aとほぼ同じに抑えることができる。これに対し、C1訂正後にC2訂正を行う従来の復号化回路による処理では、図3のCに示すように、非常に長い期間(例えば約108×2=216フレーム)に連続してエラーフラグが発生してしまう。
【0078】
次に、本発明の第2の実施例を図4〜図6を参照して説明する。
【0079】
本例においても、ACIRC方式と称されるエラー訂正方式の復号化回路に適用したもので、従来例として図7に示した符号化回路にてエラー訂正符号が符号化されたデータの復号を行うもので、この例では従来と同様にC1エラー訂正,C2エラー訂正の順序でエラー訂正をした後、再度C1エラー訂正を行うようにしたものである。
【0080】
まず、記録媒体から再生された(又は何らかの伝送路により伝送された)デジタルオーディオデータを、EFM用復調回路などの処理の復調回路に供給して、8ビットずつのデータとし、この8ビットずつのデータを、32シンボル単位で図4に示す復号化回路に供給する。この場合、1サンプルのデジタルオーディオデータは16ビットで構成され、この1サンプル16ビットのデータは、上位8ビットのシンボルAと、下位8ビットのシンボルBとで構成され、32シンボルの内の24シンボルがオーディオデータで、残りの8シンボルがC1パリティ生成回路で生成されたパリティP(4シンボル)とC2パリティ成分回路で生成されたパリティQ(4シンボル)である。
【0081】
図4の復号化回路の構成について説明すると、まず32シンボルのデータを偶数シンボル遅延回路41に供給し、偶数番目のシンボルだけを1シンボル遅延させる処理を行う。そして、この1シンボルおきに1シンボル遅延された32シンボルのデータの内、4シンボルのパリティQ及び4シンボルのパリティPを、それぞれインバータゲート42により反転させる。
【0082】
そして、偶数シンボル遅延回路41が出力する24のデータ及びインバータゲート42が出力する4シンボルのパリティQと4シンボルのパリティPを、第1のC1エラー訂正回路43に供給する。
【0083】
この第1のC1エラー訂正回路43では、パリティPを使用したロケーション方程式による演算でエラー訂正処理を行う。ここでは、2シンボル誤りまで訂正を行う。但し、2シンボル誤り訂正の場合および訂正不可能の場合には、復号後の各シンボルに誤りフラグ(以下ポインタと称する)を立てる。
【0084】
そして、第1のC1エラー訂正回路43が出力する復号後の各シンボルのデータを、デ・インターリーブ用遅延回路44に供給し、連続するシンボルを4フレームずつ離して遅延させる。ここでの遅延量を変化させる方向としては、符号化回路内でのインターリーブ処理を元に戻す処理(即ちデ・インターリーブ処理)が行われる方向としてある。
【0085】
そして、デ・インターリーブ用遅延回路44でデ・インターリーブされた各シンボルのデータを、C2エラー訂正回路45に供給する。このC2エラー訂正回路45では、パリティQを使用したロケーション方程式による演算でエラー訂正処理を行う。ここでの訂正処理としては、各シンボルに付与されたポインタの状態(数,位置)を考慮して行う。
【0086】
即ち、第1のC1エラー訂正回路43が出力するポインタのデータを、遅延回路46を介してC2エラー訂正回路45に供給し、このポインタを使用したイレージャ訂正処理を行う。ここで、遅延回路46での遅延処理としては、第1のC1エラー訂正回路43が出力する1ビットのポインタのデータを、0フレーム(即ち遅延無しの状態)から4フレーム間隔で108フレームまで28段階に順に遅延させて28ビットのデータとし、この遅延されたポインタのデータを順にC2エラー訂正回路45に供給する。従って、C2エラー訂正回路45側から見ると、4フレーム間隔で108フレーム前までの第1のC1エラー訂正回路43でのポインタ発生状態が判ることになる。
【0087】
そして、このC2エラー訂正回路45で訂正処理されて復号された各シンボルのデータを、デ・スクランブル用遅延回路47に供給し、連続するシンボルを4フレームずつ離して遅延させる。ここでの遅延量を変化させる方向としては、符号化回路内でのスクランブル処理を元に戻す処理(即ちデ・スクランブル処理)が行われる方向としてある。また本例においては、C2エラー訂正回路45に供給された4シンボルのパリティQと、第1のC1エラー訂正回路43に供給された4シンボルのパリティPについても、デ・スクランブル用遅延回路47に供給して遅延処理するようにしてある。但し、パリティQについては、12シンボル目のデータと13シンボル目のデータとの間に配置して、データのシンボルと連続して4フレームずつ離して遅延させる処理が行われ、パリティPについては、4シンボル全て108フレーム遅延させる処理が行われる。
【0088】
そして、デ・スクランブル用遅延回路47でデ・スクランブルされた各シンボルのデータを、第2のC1エラー訂正回路48に供給する。この第2のC1エラー訂正回路48では、パリティPを使用したロケーション方程式による演算でエラー訂正処理を行う。ここでの訂正処理としては、各シンボルに付与されたポインタの状態(数,位置)を考慮して行う。
【0089】
即ち、第1のC1エラー訂正回路43が出力するポインタのデータを、遅延回路49を介して第2のC1エラー訂正回路48に供給すると共に、C2エラー訂正回路45が出力するポインタのデータを、遅延回路50を介してC2エラー訂正回路48に供給し、それぞれのポインタを使用したイレージャ訂正処理を行う。ここで、遅延回路49でのC1訂正によるポインタの遅延処理としては、第1のC1エラー訂正回路43から第2のC1エラー訂正回路48までの信号のシンボルデータの遅延量に相当する108フレーム期間遅延させる回路で、第1のC1エラー訂正回路43が出力する1ビットのポインタのデータが108フレーム遅延されて供給される。また、遅延回路25でのC2訂正によるポインタの遅延処理としては、C2エラー訂正回路45が出力する1ビットのポインタのデータを、0フレーム(即ち遅延無しの状態)から4フレーム間隔で108フレームまで28段階に順に遅延させて28ビットのデータとし、この遅延されたポインタのデータを順にC1エラー訂正回路48に供給する。なお、このポインタの情報を考慮した第2のC1エラー訂正回路48での訂正処理については、フローチャート(図5)に基づいた説明で後述する。
【0090】
そして、この第2のC1エラー訂正回路48で訂正処理されて復号された各シンボルのデータを、奇数シンボル遅延回路51に供給し、奇数番目のシンボルだけを1シンボル遅延させる。そして、この奇数シンボル遅延回路51が出力する各シンボルのデータを、復号された左右2チャンネルのデジタルオーディオデータとして出力する。
【0091】
次に、本例の復号化回路内の第2のC1エラー訂正回路48でのエラー訂正処理を、図5のフローチャートに基づいて説明する。なお、本例の第1のC1エラー訂正回路43での訂正処理と、C2エラー訂正回路45での訂正処理については、従来例で図9にフローチャートに示した処理と同じである。そして、この図9のフローチャートのステップ161の次に、図5のフローチャートのステップ301の処理が行われる。即ち、図9のフローチャートに示すC1エラー訂正及びC2エラー訂正が行われた後に、図5のステップ301に移って、第2のエラー訂正回路48でのエラー訂正処理が開始される。このときには、まずパリティPを使用したロケーション方程式による演算を行う(ステップ302)。なお、以下の説明でi,jはそれぞれエラーロケーションを示し、i<jの関係にある。また、Npは立てられたポインタの数を示し、Pi,Pjはそれぞれポインタi,jを示す。
【0092】
そしてステップ302での演算の結果として、エラー無し(ステップ303),1シンボルエラー有り(ステップ304),2シンボルエラー有り(ステップ305),3シンボル以上のエラー有り(ステップ306)の4状態の判別を行う。
【0093】
そして、ステップ303でエラー無しと判別したときには、全ポインタをクリアする(ステップ307)。また、ステップ304で1シンボルエラー有りを判別したときには、このエラー有りのシンボルSiのエラーロケーションiの値を判断し、iが31を越えるとき(ステップ308),iが31以下のとき(ステップ309)の2状態の判別を行う。
【0094】
そして、ステップ308でiが31を越えると判断したときには、そのときの立てられたポインタの数Npについて、Npが5以上のとき(ステップ310),Npが4のとき(ステップ311),Npが0〜3のとき(ステップ312)の3状態の判別を行う。
【0095】
そして、ステップ310でポインタの数Npが5以上であると判断したとき、ポインタをコピーする(ステップ332)。また、ステップ311でポインタの数Npが4であると判断したとき、4シンボルのイレージャ訂正を行う(ステップ335)。さらに、ステップ312でポインタの数Npが0〜3であると判断したとき、全ポインタをセットする(ステップ335)。
【0096】
そして、ステップ309でiが31以下であると判断したときには、1シンボル訂正を行う(ステップ313)。
【0097】
そして、ステップ305で2シンボルエラー有りを判別したときには、このエラー有りのシンボルSi,Sjの内のシンボルSjのエラーロケーションjの値を判断し、jが31を越えるとき(ステップ314),jが31以下のとき(ステップ315)の2状態の判別を行う。
【0098】
そして、ステップ314でjが31を越えると判断したときには、そのときの立てられたポインタの数Npについて、Npが0〜2のとき(ステップ316),Npが5以上のとき(ステップ317),Npが3のとき(ステップ318),Npが4のとき(ステップ319)の4状態の判別を行う。
【0099】
そして、ステップ316でポインタの数Npが0〜2を判別したときには、全ポインタをセットする(ステップ334)。また、ステップ317でポインタの数Npが5以上を判別したときには、ポインタをコピーする(ステップ332)。また、ステップ318でポインタの数Npが3であると判別したときには、3シンボルのイレージャ訂正を行う(ステップ332)。さらに、ステップ319でポインタの数Npが4であると判別したときには、4シンボルのイレージャ訂正を行う(ステップ335)。
【0100】
また、ステップ315でエラーロケーションjが31以下であると判別したときには、そのときの立てられたポインタの数Npについて、Npが5以下のとき(ステップ320),Npが5を越えるとき(ステップ321)の2状態の判別を行う。
【0101】
そして、ステップ320でポインタの数Npが5以下であると判別したときには、エラー有りのシンボルSi,SjのポインタPi,Pjの値を判別し、Pi=Pj=0のとき(ステップ323),Pi=Pj=1のとき(ステップ324),Pi+Pj=1のとき(ステップ325)の3状態の判別を行う。
【0102】
そして、ステップ323でPi=Pj=0であると判別したときには、そのときの立てられたポインタの数Npについて、Npが1〜5のとき(ステップ326),Npが0のとき(ステップ327)の2状態の判別を行う。
【0103】
そして、ステップ326でNpが1〜5であると判別したときには、そのときの立てられたポインタの数Npについて、Npが0〜2のとき(ステップ316),Npが5以上のとき(ステップ317),Npが3のとき(ステップ318),Npが4のとき(ステップ319)の4状態の判別を行い、その判別した状態に基づいた上述した処理(ステップ334の全ポインタセット,ステップ332のポインタコピー,ステップ322の3シンボルイレージャ訂正又はステップ335の4シンボルイレージャ訂正)を行う。また、ステップ327でNpが0のときには、2シンボル訂正を行う(ステップ333)。
【0104】
そして、ステップ324でPi=Pj=1であると判別したときには、2シンボル訂正を行う(ステップ333)。
【0105】
そして、ステップ325でPi+Pj=1であると判別したときには、そのときの立てられたポインタの数Npについて、Npが1のとき(ステップ328),Npが2又は3のとき(ステップ329),Npが4のとき(ステップ330),Npが5のとき(ステップ331)の4状態の判別を行う。
【0106】
そして、ステップ328でポインタの数Npが1であると判別したときには、2シンボル訂正を行う(ステップ333)。また、ステップ329でポインタの数Npが2又は3であると判別したときには、全ポインタをセットする(ステップ334)。また、ステップ330でポインタの数Npが4であると判別したときには、4シンボルイレージャ訂正を行う(ステップ335)。さらに、ステップ331でポインタの数Npが5であると判別したときには、ポインタコピーを行う(ステップ332)。
【0107】
ここまでの処理を行うことで、1回目のC1エラー訂正,C2エラー訂正,2回目のC1エラー訂正の順序でエラー訂正されたことになる(ステップ336)。このようにしてC1エラー訂正とC2エラー訂正が行われた後に、再度C1エラー訂正を行うことで、最終的に出力されるデータが、C1エラー訂正されたデータとなり、最終的にエラー訂正される方向とデータが出力される方向とが一致し、エラー訂正不能なバーストエラーが発生した場合であっても、エラー訂正不能な範囲が広がることがなく、バーストエラーによるデータのエラー範囲を適切に反映したエラー訂正結果が得られるようになる。
【0108】
また本例においては、1回目のC1エラー訂正とC2エラー訂正との結果に基づいたイレージャ訂正が2回目のC1エラー訂正で行え、第1の実施例の場合に比べエラー訂正能力を向上させることができる。
【0109】
なお、この第2の実施例の場合には、エラー訂正回路としては、C1エラー訂正回路が2組必要になるが、シンボルデータの遅延用に使用する記憶素子の容量としては、従来の回路とほぼ同じである。
【0110】
また、この第2の実施例では、2回目のC1エラー訂正でイレージャ訂正を行うようにしたが、第2のC1エラー訂正回路48ではイレージャ訂正をしないでエラー訂正を行うようにしても良い。図6のフローチャートは、この場合の例を示す図で、図5のフローチャートと同様に第2のC1エラー訂正回路48での処理だけを示す。
【0111】
このイレージャ訂正をしない例を、図6のフローチャートに基づいて説明すると、図9のフローチャートに示すC1エラー訂正及びC2エラー訂正が行われた後に、図6のステップ401に移って、第2のエラー訂正回路48でのエラー訂正処理が開始される。このときには、まずパリティPを使用したロケーション方程式による演算を行う(ステップ402)。
【0112】
そしてステップ402での演算の結果として、エラー無し(ステップ403),1シンボルエラー有り(ステップ404),2シンボルエラー有り(ステップ405),3シンボル以上のエラー有り(ステップ406)の4状態の判別を行う。
【0113】
そして、ステップ403でエラー無しと判別したときには、全ポインタをクリアする(ステップ407)。また、ステップ404で1シンボルエラー有りを判別したときには、このエラー有りのシンボルSiのエラーロケーションiの値を判断し、iが31を越えるとき(ステップ408),iが31以下のとき(ステップ409)の2状態の判別を行う。
【0114】
そして、ステップ408でiが31を越えると判断したときには、そのときの立てられたポインタの数Npについて、Npが4以上のとき(ステップ410),Npが0〜3のとき(ステップ411)の2状態の判別を行う。
【0115】
そして、ステップ410でポインタの数Npが4以上であると判断したとき、ポインタをコピーする(ステップ427)。また、ステップ411でポインタの数Npが0〜3であると判断したとき、全ポインタをセットする(ステップ429)。
【0116】
そして、ステップ409でiが31以下であると判断したときには、1シンボル訂正を行う(ステップ412)。
【0117】
そして、ステップ405で2シンボルエラー有りを判別したときには、このエラー有りのシンボルSi,Sjの内のシンボルSjのエラーロケーションjの値を判断し、jが31を越えるとき(ステップ413),jが31以下のとき(ステップ414)の2状態の判別を行う。
【0118】
そして、ステップ413でjが31を越えると判断したときには、そのときの立てられたポインタの数Npについて、Npが0〜2のとき(ステップ415),Npが3以上のとき(ステップ416)の2状態の判別を行う。
【0119】
そして、ステップ415でポインタの数Npが0〜2を判別したときには、全ポインタをセットする(ステップ429)。また、ステップ416でポインタの数Npが3以上を判別したときには、ポインタをコピーする(ステップ427)。
【0120】
また、ステップ414でエラーロケーションjが31以下であると判別したときには、そのときの立てられたポインタの数Npについて、Npが5以下のとき(ステップ417),Npが5を越えるとき(ステップ418)の2状態の判別を行う。
【0121】
そして、ステップ417でポインタの数Npが5以下であると判別したときには、エラー有りのシンボルSi,SjのポインタPi,Pjの値を判別し、Pi=Pj=0のとき(ステップ419),Pi=Pj=1のとき(ステップ420),Pi+Pj=1のとき(ステップ421)の3状態の判別を行う。
【0122】
そして、ステップ419でPi=Pj=0であると判別したときには、そのときの立てられたポインタの数Npについて、Npが1〜5のとき(ステップ422),Npが0のとき(ステップ423)の2状態の判別を行う。
【0123】
そして、ステップ422でNpが1〜5であると判別したときには、そのときの立てられたポインタの数Npについて、Npが0〜2のとき(ステップ415),Npが3以上のとき(ステップ416)の2状態の判別を行い、その判別した状態に基づいた上述した処理(ステップ429の全ポインタセット又はステップ427のポインタコピー)を行う。また、ステップ423でNpが0のときには、2シンボル訂正を行う(ステップ428)。
【0124】
そして、ステップ420でPi=Pj=1であると判別したときには、2シンボル訂正を行う(ステップ428)。
【0125】
そして、ステップ421でPi+Pj=1であると判別したときには、そのときの立てられたポインタの数Npについて、Npが1のとき(ステップ424),Npが2又は3のとき(ステップ425),Npが4又は5のとき(ステップ426)の4状態の判別を行う。
【0126】
そして、ステップ424でポインタの数Npが1であると判別したときには、2シンボル訂正を行う(ステップ428)。また、ステップ425でポインタの数Npが2又は3であると判別したときには、全ポインタをセットする(ステップ429)。また、ステップ426でポインタの数Npが4又は5であると判別したときには、ポインタコピーを行う(ステップ427)。
【0127】
ここまでの処理を行うことで、1回目のC1エラー訂正,C2エラー訂正,2回目のC1エラー訂正の順序でエラー訂正されたことになる(ステップ430)。このように2回目のC1エラー訂正でイレージャ訂正を行わない場合でも、1回ずつC1エラー訂正とC2エラー訂正を行う場合に比べて、エラー訂正能力を向上させることができる。
【0128】
なお、上述した各実施例では、ACIRC方式で符号化されたデジタルオーディオデータのエラー訂正に適用した例としたが、2系列のエラー訂正符号に基づいてエラー訂正を行う他の方式のエラー訂正方法にも適用できることは勿論である。また、デジタルオーディオデータ以外の各種デジタルデータのエラー訂正にも適用できるものである。
【0129】
【発明の効果】
第1のチェックワード(上述した実施例ではC2エラー訂正用のパリティQ),第2のチェックワード(上述した実施例ではC1エラー訂正用のパリティP)の順で訂正符号が生成されて付与されたデータをエラー訂正する場合に、本来は第2のチェックワード,第1のチェックワードの順でエラー訂正するように設定されたものを、本発明においては、最終的なエラー訂正を第2のデータ系列の配列による第2のチェックワードに基づいたエラー訂正としたので、そのデータ配列によってはバーストエラーの影響を最小限に抑えたエラー訂正ができる効果を有する。例えば、ACIRC方式と称されるエラー訂正方式の場合には、最終的なエラー訂正の方向がデータの読出し方向と同一になり、バーストエラーによるデータのエラー範囲を適切に反映したエラー訂正結果が得られる効果を有する。
【0130】
この場合、第1のチェックワードに基づいたエラー訂正処理をした後、第2のチェックワードに基づいたエラー訂正処理をすることで、従来と比べて訂正処理をする順序を変えるだけの簡単な構成で、良好なエラー訂正が可能になる。
【0131】
また、第2のチェックワードに基づいたエラー訂正処理,第1のチェックワードに基づいたエラー訂正処理の順で処理した後、更に第2のチェックワードに基づいたエラー訂正処理をすることで、エラー訂正能力を効果的に高めることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例による訂正方法を適用した復号回路の構成図である。
【図2】第1の実施例による訂正処理を示すフローチャートである。
【図3】第1の実施例によるエラーフラグの発生状態を従来と比較した波形図である。
【図4】本発明の第2の実施例による訂正方法を適用した復号回路の構成図である。
【図5】第2の実施例による訂正処理(イレージャ訂正有りの場合)を示すフローチャートである。
【図6】第2の実施例による訂正処理(イレージャ訂正無しの場合)を示すフローチャートである。
【図7】エラー訂正符号の符号化処理の一例を示す構成図である。
【図8】図7の構成で符号化されたデータを復号する従来の復号回路の構成図である。
【図9】図8の例の回路による訂正処理を示すフローチャートである。
【図10】従来のバーストエラーの発生状態の一例を示すタイミング図である。
【符号の説明】
31 偶数シンボル遅延回路
32 インバータゲート
33 デ・スクランブル用遅延回路
34 C2エラー訂正回路
35 デ・インターリーブ用遅延回路
36 ポインタ用遅延回路
37 C1エラー訂正回路
38 奇数シンボル遅延回路
41 偶数シンボル遅延回路
42 インバータゲート
43 第1のC1エラー訂正回路
44 デ・スクランブル用遅延回路
45 C2エラー訂正回路
46 ポインタ用遅延回路
47 デ・インターリーブ用遅延回路
48 第2のC1エラー訂正回路
49,50 ポインタ用遅延回路
51 奇数シンボル遅延回路[0001]
BACKGROUND OF THE INVENTION
The present invention is suitable for application when, for example, digital data such as audio data reproduced from a recording medium or transmitted by a predetermined transmission system is error-corrected based on an error correction code added to the data. Error correction method And error correction device About.
[0002]
[Prior art]
Conventionally, when digital data such as digital audio data is recorded using an optical disk or a magneto-optical disk as a recording medium, an error correction code is added to the recorded data for recording. When reproducing the recording data of these recording media, an error in the reproduction data is corrected using an error correction code included in the reproduction data.
[0003]
7 and 8 are diagrams showing an example of a conventional error correction process. FIG. 7 shows an error correction code generation process, and FIG. 8 shows a decoding process using the error correction code. The process shown in FIGS. 7 and 8 is a process to which an error correction method called an ACIRC (Advanced Cross Interleave Reed-Solomon Code) method is applied. The ACIRC method is an error correction method improved from the CIRC method applied to an optical disk called a compact disk (CD). For example, audio data to a magneto-optical disk or an optical disk called a mini disk (MD) is used. This is a method applied to recording.
[0004]
First, FIG. 7 explains the error correction code generation process. For example, left and right (L, R) 2-channel digital audio data is input as 6 samples for each channel, that is, 16 bits × 2 × 6 for 192 bits ( 24 bytes) is input as one unit. In this input data string, if one sample is 2 words and 1 word is 16 bits, each word is divided into 2 symbols (1 symbol is 8 bits) of an upper symbol A and a lower symbol B. Converted.
[0005]
Then, the 24 symbol data is supplied to the even
[0006]
Then, the scrambled data of each symbol is supplied to the C2
[0007]
Then, a total of 28 symbols of data of the 4-symbol parity Q generated by the C2
[0008]
Then, the data of each interleaved symbol is supplied to the C1
[0009]
Then, the 28-symbol data output from the interleaving
[0010]
Here, 32-symbol data output in parallel from the odd
[0011]
For example, when this data is recorded on a recording medium such as a magneto-optical disk, 8-bit data of each symbol constituting one frame is referred to as EFM (Eight to Fourteen Modulation: 8 · 14 conversion). Modulation is performed to convert the bit data into 14-bit data, and the modulated data is recorded on the recording medium. Actually, the data of each frame is recorded with the synchronization data and the subcode added thereto.
[0012]
Next, when reproducing the data recorded on the recording medium in this way, the reproduced data is supplied to the EFM demodulating circuit, and the 14-bit data is converted into 8 bits. Is supplied to the decoding circuit shown in FIG. 8 in units of 32 symbols. This decoding circuit first supplies 32-symbol data to the even-numbered
[0013]
In the C1 error correction circuit 23, error correction processing is performed by calculation based on a location equation using the parity P. Here, correction is performed up to two symbol errors. However, in the case of two-symbol error correction and inability to correct, an error flag (hereinafter referred to as a pointer) is set for each symbol after decoding.
[0014]
Then, the decoded symbol data output from the C1 error correction circuit 23 is supplied to the
[0015]
Then, the data of each symbol deinterleaved by the
[0016]
That is, the pointer data output from the C1 error correction circuit 23 is supplied to the C2
[0017]
Then, the data of each symbol corrected and decoded by the C2
[0018]
Then, the data of each symbol descrambled by the
[0019]
Next, correction processing by the C1 error correction circuit 23 and the C2
[0020]
First, correction processing is performed by the C1 error correction circuit 23 (step 101). Here, an operation is performed by a location equation using the parity P (step 102). As a result of this calculation, four states are determined: no error (step 103), 1 symbol error (step 104), 2 symbol error (step 105), and other states (step 106).
[0021]
As processing based on the determination of the four states, the pointer is cleared when there is no error (step 107), and when there is a one-symbol error, the corresponding one symbol is corrected (step 108), and then the pointer is cleared (step 108). Step 107). When there is a two-symbol error, the corresponding two symbols are corrected (step 109), and then the pointer is set (step 110). Furthermore, the pointer is set also in other states (step 110). Thus far, the correction process in the C1 error correction circuit 23 is completed (step 111).
[0022]
Next, correction processing is performed by the C2 error correction circuit 26 (step 121). Here, an operation is performed using a location equation using the parity Q (step 122). In the following description, i and j indicate error locations, respectively, and i <j. Np indicates the number of raised pointers, and Pi and Pj indicate pointers i and j, respectively.
[0023]
As a result of the calculation at step 122, determination is made of four states: no error (step 123), one symbol error (step 124), two symbol errors (step 125), and three symbols or more errors (step 126). I do.
[0024]
If it is determined in step 123 that there is no error, all pointers are cleared (step 131). If it is determined in
[0025]
When it is determined in
[0026]
When it is determined in
[0027]
When it is determined in step 133 that i is 27 or less, one symbol correction is performed (step 137).
[0028]
When it is determined in
[0029]
When it is determined in
[0030]
When it is determined in
[0031]
If it is determined in step 139 that the error location j is 27 or less, the number of pointers Np set at that time is Np is 5 or less (step 144), or Np exceeds 5 (step 145). The two states are determined.
[0032]
When it is determined in
[0033]
When it is determined in step 147 that Pi = Pj = 0, with respect to the number of pointers Np set at that time, Np is 1 to 5 (step 150), and Np is 0 (step 151). The two states are discriminated.
[0034]
When it is determined in
[0035]
When it is determined in step 148 that Pi = Pj = 1, two symbol correction is performed (step 156).
[0036]
When it is determined in step 149 that Pi + Pj = 1, with respect to the number Np of the pointers set at that time, when Np is 1 (step 152), when Np is 2 or 3 (step 153),
[0037]
When it is determined in
[0038]
By performing the processing so far, the C2 error correction is completed, and the C1 error correction and the C2 error correction are performed (step 161). After C1 error correction is performed in this way, error correction is performed efficiently by performing C2 error correction using the pointer information, and high error correction capability is obtained.
[0039]
[Problems to be solved by the invention]
By the way, in the case of the ACIRC method, since it is scrambled over a large number of frames, there may be a case where error correction cannot be performed finally in a long section extending over a plurality of frames depending on an error occurrence state.
[0040]
That is, for example, as shown in FIG. 10, when a burst error occurs in a certain section x (that is, a state in which errors continue in the section x), the C1 error correction circuit 23 performs data processing with a solid line arrow in FIG. As shown, the error processing is performed in the direction that coincides with the direction of reading data from the recording medium. Therefore, the range in which error correction by the C1 error correction circuit 23 is impossible is the range where the waveform shown as C1 in FIG. 10 rises, matches the burst error range x, and error correction is not possible even if there is a burst error. The range that is possible never expands.
[0041]
On the other hand, the C2
Further, when data after error correction is read, data that cannot be error-corrected is spread over 108 × 2 frames.
[0042]
In such a state, it becomes impossible to correct a much wider range than the damage of the original data. It is not preferable that the range in which error correction cannot be performed in this way is widened.
[0043]
In view of the above, the present invention provides an error correction method capable of improving error correction capability. And error correction device The purpose is to provide.
[0044]
[Means for Solving the Problems]
In order to solve this problem, according to the present invention, in the error correction method for data provided with correction codes generated in the order of the first check word and the second check word, In this example, error correction is performed on the second data series using two check words.
[0045]
According to this method, the final error correction direction can be the direction of the arrangement of the second data series.
[0046]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS.
[0047]
In this example, the present invention is applied to a decoding circuit of an error correction method called an ACIRC method. As a conventional example, data encoded with an error correction code is decoded by the encoding circuit shown in FIG. Is.
[0048]
First, digital audio data reproduced from a recording medium (or transmitted through some transmission path) is supplied to a demodulation circuit for processing such as an EFM demodulation circuit to obtain 8-bit data. Data is supplied to the decoding circuit shown in FIG. 1 in units of 32 symbols. In this case, one sample of digital audio data is composed of 16 bits, and this one sample of 16 bits of data is composed of upper 8 bits of symbol A and lower 8 bits of symbol B, and 24 of 32 symbols. The symbols are audio data, and the remaining 8 symbols are the parity P (4 symbols) generated by the C1 parity generation circuit and the parity Q (4 symbols) generated by the C2 parity component circuit.
[0049]
The configuration of the decoding circuit of FIG. 1 will be described. First, 32 symbols of data are supplied to the even-numbered
[0050]
The output of the even symbol delay circuit 31 (data symbol) and the output of the inverter gate 32 (parity symbol) are supplied to the
[0051]
Then, the data descrambled by the
[0052]
Then, the data output from the C2
[0053]
The
[0054]
Then, the data of each symbol deinterleaved by the
[0055]
That is, the pointer data output from the C2
[0056]
Then, the data of each symbol corrected and decoded by the C1
[0057]
Next, correction processing in the C2
[0058]
First, correction processing is performed by the C2 error correction circuit 34 (step 201). Here, an operation is performed by a location equation using the parity Q (step 202). As a result of this calculation, four states are determined: no error (step 203), 1 symbol error (step 204), 2 symbol error (step 205), and other states (step 206).
[0059]
As processing based on the discrimination of the four states, the pointer is cleared when there is no error (step 207), and when there is one symbol error, the corresponding one symbol is corrected (step 208), and then the pointer is cleared (step 207). Step 207). When there is a two-symbol error, the corresponding two symbols are corrected (step 209), and then a pointer is set (step 210). Further, the pointer is set also in other states (step 210). Up to this point, the correction process in the C2
[0060]
Next, correction processing is performed by the C1 error correction circuit 37 (step 221). Here, an operation is performed using a location equation using the parity P (step 222). In the following description, i and j indicate error locations, respectively, and i <j. Np indicates the number of raised pointers, and Pi and Pj indicate pointers i and j, respectively.
[0061]
Then, as a result of the calculation at step 222, discrimination of four states of no error (step 223), 1 symbol error (step 224), 2 symbol error (step 225), 3 symbols or more error (step 226). I do.
[0062]
If it is determined in step 223 that there is no error, all pointers are cleared (step 231). When it is determined in
[0063]
When it is determined in
[0064]
When it is determined in
[0065]
When it is determined in
[0066]
When it is determined in
[0067]
When it is determined in step 237 that j exceeds 31, when the number Np of the pointers set at that time is Np from 0 to 2 (step 239), when Np is 3 or more (step 240). Two states are discriminated.
[0068]
When it is determined in step 239 that the number of pointers Np is 0 to 2, all pointers are set (step 258). If it is determined in
[0069]
If it is determined in
[0070]
When it is determined in
[0071]
When it is determined in step 244 that i is 27 or less and j exceeds 27, two states are determined when the pointer Pi is 0 (step 246) and when the pointer Pi is 1 (step 247). When it is determined in step 246 that the pointer Pi is 0, the process proceeds to the determination processing in
[0072]
When it is determined in step 245 that j is 27 or less, the values of the pointers Pi and Pj of the erroneous symbols Si and Sj are determined. When Pi = Pj = 0 (step 246), Pi = Pj = The three states are discriminated when 1 (step 249) and when Pi + Pj = 1 (step 250).
[0073]
When it is determined in
[0074]
By performing the processing so far, C1 error correction is completed, and both error corrections are performed in the order of C2 error correction and C1 error correction (step 259). After C2 error correction is performed in this way, efficient error correction using two types of error correction codes can be performed as in the conventional case by performing C1 error correction using the pointer information. In this example, the C2 error correction is performed first and then the C1 error correction is performed last. Therefore, when a burst error that cannot be corrected occurs, the spread of the influence can be suppressed.
[0075]
That is, in the case of this example, the data corrected by the C1
[0076]
In the case of the circuit of this example, the capacity of the storage element used for delaying the symbol data is almost the same as that of the conventional circuit, and the circuit scale does not increase due to the configuration of this example.
[0077]
FIG. 3 is a diagram showing an occurrence state of an error flag (a flag indicating that correction is not possible) when there is a burst error in a predetermined section in the reproduction data that has been encoded according to the ACIRC system. Assume that A has a burst error in section a. At this time, in the processing by the decoding circuit of the first embodiment (that is, the circuit that performs C1 correction after C2 correction), as shown in FIG. Although an error flag is generated at the timing, the length of the period during which the error flag is generated can be suppressed to be substantially the same as the burst error section a. On the other hand, in the processing by the conventional decoding circuit that performs C2 correction after C1 correction, as shown in C of FIG. 3, the error flag is continuously displayed for a very long period (for example, about 108 × 2 = 216 frames). Will occur.
[0078]
Next, a second embodiment of the present invention will be described with reference to FIGS.
[0079]
This example is also applied to a decoding circuit of an error correction method called an ACIRC method. As a conventional example, data encoded with an error correction code is decoded by the encoding circuit shown in FIG. Therefore, in this example, error correction is performed in the order of C1 error correction and C2 error correction as in the conventional case, and then C1 error correction is performed again.
[0080]
First, digital audio data reproduced from a recording medium (or transmitted through some transmission path) is supplied to a demodulation circuit for processing such as an EFM demodulation circuit to obtain 8-bit data. Data is supplied to the decoding circuit shown in FIG. 4 in units of 32 symbols. In this case, one sample of digital audio data is composed of 16 bits, and this one sample of 16 bits of data is composed of upper 8 bits of symbol A and lower 8 bits of symbol B, and 24 of 32 symbols. The symbols are audio data, and the remaining 8 symbols are the parity P (4 symbols) generated by the C1 parity generation circuit and the parity Q (4 symbols) generated by the C2 parity component circuit.
[0081]
The configuration of the decoding circuit of FIG. 4 will be described. First, 32 symbols of data are supplied to the even-numbered symbol delay circuit 41, and processing for delaying only even-numbered symbols by one symbol is performed. Of the 32 symbols of data delayed by one symbol every other symbol, the parity Q of 4 symbols and the parity P of 4 symbols are inverted by the inverter gate 42, respectively.
[0082]
Then, the 24 data output from the even symbol delay circuit 41 and the 4-symbol parity Q and 4-symbol parity P output from the inverter gate 42 are supplied to the first C1 error correction circuit 43.
[0083]
In the first C1 error correction circuit 43, error correction processing is performed by calculation based on a location equation using the parity P. Here, correction is performed up to two symbol errors. However, in the case of two-symbol error correction and inability to correct, an error flag (hereinafter referred to as a pointer) is set for each symbol after decoding.
[0084]
Then, the decoded symbol data output from the first C1 error correction circuit 43 is supplied to the deinterleaving delay circuit 44, and successive symbols are delayed by four frames. Here, the direction in which the delay amount is changed is a direction in which processing for returning the interleaving processing in the encoding circuit (ie, de-interleaving processing) is performed.
[0085]
Then, the data of each symbol deinterleaved by the deinterleave delay circuit 44 is supplied to the C2 error correction circuit 45. In the C2 error correction circuit 45, error correction processing is performed by calculation based on a location equation using the parity Q. The correction processing here is performed in consideration of the state (number and position) of pointers assigned to each symbol.
[0086]
That is, the pointer data output from the first C1 error correction circuit 43 is supplied to the C2 error correction circuit 45 via the delay circuit 46, and erasure correction processing using this pointer is performed. Here, as delay processing in the delay circuit 46, the data of the 1-bit pointer output from the first C1 error correction circuit 43 is changed from 0 frame (that is, no delay state) to 108 frames at intervals of 4 frames. The data is sequentially delayed to 28-bit data, and the delayed pointer data is supplied to the C2 error correction circuit 45 in sequence. Accordingly, when viewed from the C2 error correction circuit 45 side, the pointer generation state in the first C1 error correction circuit 43 up to 108 frames before at an interval of 4 frames can be known.
[0087]
Then, the data of each symbol corrected and decoded by the C2 error correction circuit 45 is supplied to the
[0088]
Then, the data of each symbol descrambled by the
[0089]
That is, the pointer data output from the first C1 error correction circuit 43 is supplied to the second C1
[0090]
Then, the data of each symbol corrected and decoded by the second C1
[0091]
Next, error correction processing in the second C1
[0092]
As a result of the calculation in
[0093]
If it is determined in
[0094]
When it is determined in step 308 that i exceeds 31, when the number of pointers Np set at that time is Np is 5 or more (step 310), Np is 4 (step 311), and Np is When 0-3 (step 312), the three states are determined.
[0095]
When it is determined in
[0096]
When it is determined in step 309 that i is 31 or less, one symbol correction is performed (step 313).
[0097]
When it is determined in
[0098]
When it is determined in
[0099]
When it is determined in
[0100]
If it is determined in
[0101]
When it is determined in
[0102]
If it is determined in
[0103]
When it is determined in
[0104]
When it is determined in
[0105]
When it is determined in
[0106]
When it is determined in
[0107]
By performing the processing so far, the error correction is performed in the order of the first C1 error correction, the C2 error correction, and the second C1 error correction (step 336). After the C1 error correction and the C2 error correction are performed in this way, the C1 error correction is performed again, so that the finally output data becomes the C1 error corrected data and is finally error corrected. Even when a burst error that cannot be corrected by an error occurs when the direction of the data matches the direction in which the data is output, the error uncorrectable range does not expand, and the error range of the data due to the burst error is appropriately reflected. Error correction results can be obtained.
[0108]
In this example, the erasure correction based on the results of the first C1 error correction and the C2 error correction can be performed by the second C1 error correction, and the error correction capability is improved as compared with the case of the first embodiment. Can do.
[0109]
In the case of the second embodiment, two sets of C1 error correction circuits are required as the error correction circuit, but the capacity of the storage element used for delaying the symbol data is the same as that of the conventional circuit. It is almost the same.
[0110]
In the second embodiment, erasure correction is performed by the second C1 error correction. However, the second C1
[0111]
An example in which the erasure correction is not performed will be described based on the flowchart of FIG. 6. After the C1 error correction and the C2 error correction shown in the flowchart of FIG. 9 are performed, the process proceeds to step 401 in FIG. Error correction processing in the
[0112]
Then, as a result of the calculation in
[0113]
If it is determined in
[0114]
When it is determined in step 408 that i exceeds 31, when Np is 4 or more (step 410) and Np is 0 to 3 (step 411), the number of pointers Np set at that time is np. Two states are discriminated.
[0115]
When it is determined in
[0116]
When it is determined in step 409 that i is 31 or less, one symbol correction is performed (step 412).
[0117]
When it is determined in
[0118]
When it is determined in step 413 that j exceeds 31, when the number Np of the pointers set at that time is Np from 0 to 2 (step 415), Np is 3 or more (step 416). Two states are discriminated.
[0119]
When it is determined in step 415 that the number of pointers Np is 0 to 2, all pointers are set (step 429). When the number of pointers Np is determined to be 3 or more at
[0120]
If it is determined in
[0121]
When it is determined in step 417 that the number of pointers Np is 5 or less, the values of pointers Pi and Pj of symbols Si and Sj with errors are determined. When Pi = Pj = 0 (step 419), Pi is determined. The three states are discriminated when = Pj = 1 (step 420) and Pi + Pj = 1 (step 421).
[0122]
When it is determined in
[0123]
When it is determined in step 422 that Np is 1 to 5, when Np is 0 to 2 (step 415) and Np is 3 or more (step 416), the number Np of the pointers set at that time is determined. ), And the above-described processing based on the determined state (set all pointers in
[0124]
When it is determined in
[0125]
When it is determined in
[0126]
If it is determined in
[0127]
By performing the processing so far, the error correction is performed in the order of the first C1 error correction, the C2 error correction, and the second C1 error correction (step 430). Thus, even when erasure correction is not performed in the second C1 error correction, the error correction capability can be improved as compared with the case where C1 error correction and C2 error correction are performed once.
[0128]
In each of the above-described embodiments, the example is applied to error correction of digital audio data encoded by the ACIRC method. However, other methods of error correction that perform error correction based on two series of error correction codes. Of course, the present invention can also be applied. The present invention can also be applied to error correction of various digital data other than digital audio data.
[0129]
【The invention's effect】
Correction codes are generated and assigned in the order of the first check word (parity Q for C2 error correction in the embodiment described above) and the second check word (parity P for C1 error correction in the embodiment described above). In the present invention, when the error correction is performed on the data that has been originally set to correct the error in the order of the second check word and the first check word, in the present invention, the final error correction is performed by the second check word. Since the error correction based on the second check word based on the arrangement of the data series is performed, there is an effect that the error correction can be performed with the influence of the burst error minimized depending on the data arrangement. For example, in the case of an error correction method called the ACIRC method, the final error correction direction is the same as the data reading direction, and an error correction result appropriately reflecting the error range of data due to a burst error is obtained. Has the effect.
[0130]
In this case, after performing the error correction process based on the first check word and then performing the error correction process based on the second check word, a simple configuration that only changes the order in which the correction process is performed as compared with the prior art. Thus, good error correction becomes possible.
[0131]
In addition, after processing in the order of error correction processing based on the second check word and error correction processing based on the first check word, error correction processing based on the second check word is further performed, so that error The correction ability can be effectively increased.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a decoding circuit to which a correction method according to a first embodiment of the present invention is applied.
FIG. 2 is a flowchart showing a correction process according to the first embodiment.
FIG. 3 is a waveform diagram comparing the state of error flag generation according to the first embodiment with that of the prior art.
FIG. 4 is a configuration diagram of a decoding circuit to which a correction method according to a second embodiment of the present invention is applied.
FIG. 5 is a flowchart showing correction processing (when erasure correction is performed) according to the second embodiment;
FIG. 6 is a flowchart showing correction processing (in the case of no erasure correction) according to the second embodiment.
FIG. 7 is a configuration diagram illustrating an example of an encoding process of an error correction code.
FIG. 8 is a configuration diagram of a conventional decoding circuit that decodes data encoded with the configuration of FIG. 7;
FIG. 9 is a flowchart showing correction processing by the circuit of the example of FIG.
FIG. 10 is a timing chart showing an example of a conventional burst error occurrence state.
[Explanation of symbols]
31 Even symbol delay circuit
32 Inverter gate
33 Descramble delay circuit
34 C2 error correction circuit
35 De-interleaving delay circuit
36 Delay circuit for pointer
37 C1 error correction circuit
38 Odd symbol delay circuit
41 Even symbol delay circuit
42 Inverter gate
43 First C1 error correction circuit
44 Delay circuit for descrambling
45 C2 error correction circuit
46 Delay circuit for pointer
47 Delay circuit for de-interleaving
48 Second C1 error correction circuit
49, 50 Pointer delay circuit
51 Odd symbol delay circuit
Claims (6)
上記各ワードと上記第1のチェックワードに対して各々異なる時間遅延を施し、記録媒体からのデータの読出し方向に対して傾斜した方向にデ・スクランブル処理を施す第1のデ・スクランブル処理工程と、
上記第1のデ・スクランブル処理が施された上記各ワードに対して上記第1のチェックワードを用いてロケーション方程式を演算する第1の演算工程と、
上記第1の演算工程にて演算した演算結果に応じてエラーの有無及びエラーシンボルの数を判別する第1の判別工程と、
上記第1の判別工程の判別結果に応じてエラー訂正及び/又はポインタ設定を行う第1の制御工程と、
上記第1の制御工程の後の上記第1のチェックワードと各ワードと第2のチェックワードに対して時間遅延を施し、記録媒体からのデータの読出し方向に対して同一方向にデ・スクランブル処理を施す第2のデ・スクランブル処理工程と、
上記第2のデ・スクランブル処理が施された上記各ワードに対して上記第2のチェックワードを用いたロケーション方程式を演算する第2の演算工程と、
上記第2の演算工程にて演算した演算結果に応じてエラーシンボルの数及びエラーロケーションを判別する第2の判別工程と、
上記第2の判別工程の判別結果に応じてエラー訂正又はポインタ設定を行う第2の制御工程とから成ることを特徴とするエラー訂正方法。The input data string is divided into symbols each having a predetermined number of words, and a first check word is generated for the first data series arranged in a direction inclined with respect to the reading direction from the recording medium for each symbol. Then, a second check word for the second data series arranged in the same direction as the reading direction from the recording medium is generated with respect to each symbol and the first check word, and each symbol and the first check word are generated. An error correction method for decoding an input data string composed of the check word and the second check word is as follows:
A first de-scramble processing step of applying a different time delay to each of the words and the first check word, and performing a descrambling process in a direction inclined with respect to a reading direction of data from the recording medium; ,
A first calculation step of calculating a location equation using the first check word for each of the words subjected to the first descrambling process;
A first determination step of determining the presence or absence of an error and the number of error symbols according to the calculation result calculated in the first calculation step;
A first control step of performing error correction and / or pointer setting according to the determination result of the first determination step;
After the first control step, the first check word, each word, and the second check word are time-delayed and descrambled in the same direction as the data reading direction from the recording medium. A second de-scramble processing step,
A second calculation step of calculating a location equation using the second check word for each word subjected to the second descrambling process;
A second determination step of determining the number of error symbols and the error location according to the calculation result calculated in the second calculation step;
An error correction method comprising: a second control step that performs error correction or pointer setting according to the determination result of the second determination step.
上記各ワードと上記第1のチェックワードに対して上記第2のチェックワードを用いてロケーション方程式を演算する第1の演算工程と、
上記第1の演算工程にて演算した演算結果に応じてエラーの有無及びエラーシンボルの数を判別する第1の判別工程と、
上記第1の判別工程の判別結果に応じてエラー訂正及び/又はポインタ設定を行う第1の制御工程と、
上記第1の制御工程後の各ワード及び第1のチェックワードと上記第2のチェックワードに対して時間遅延を施し、記録媒体からのデータの読出し方向に対して傾斜した方向にデ・スクランブル処理を施す第1のデ・スクランブル処理工程と、
上記第1のデ・スクランブル処理が施された上記各ワードに対して上記第1のチェックワードを用いてロケーション方程式を演算する第2の演算工程と、
上記第2の演算工程にて演算した演算結果に応じてエラーの有無及びエラーシンボルの数を判別する第2の判別工程と、
上記第2の判別工程の判別結果に応じてエラー訂正及び/又はポインタ設定を行う第2の制御工程と、
上記第2の制御工程後の上記第1のチェックワードと各ワードに対して各々異なる時間遅延を施し、記録媒体からのデータの読出し方向に対して同一方向にデ・スクランブル処理を施す第2のデ・スクランブル処理工程と、
上記第2のデ・スクランブル処理が施された上記各ワードに対して上記第2のチェックワードを用いたロケーション方程式を演算する第3の演算工程と、
上記第3の演算工程にて演算した演算結果に応じてエラーシンボルの数及びエラーロケーションを判別する第3の判別工程と、
上記第3の判別工程の判別結果に応じてエラー訂正又はポインタ設定を行う第3の制御工程とから成ることを特徴とするエラー訂正方法。The input data string is divided into symbols each having a predetermined number of words, and a first check word is generated for the first data series arranged in a direction inclined with respect to the reading direction from the recording medium for each symbol. Then, a second check word for the second data series arranged in the same direction as the reading direction from the recording medium is generated with respect to each symbol and the first check word, and each symbol and the first check word are generated. An error correction method for decoding an input data string composed of the check word and the second check word is as follows:
A first calculation step of calculating a location equation using the second check word for each of the words and the first check word;
A first determination step of determining the presence or absence of an error and the number of error symbols according to the calculation result calculated in the first calculation step;
A first control step of performing error correction and / or pointer setting according to the determination result of the first determination step;
Each word after the first control step, the first check word, and the second check word are time-delayed and descrambled in a direction inclined with respect to the data reading direction from the recording medium. A first de-scramble processing step,
A second calculation step of calculating a location equation using the first check word for each of the words subjected to the first descrambling process;
A second determination step of determining the presence or absence of an error and the number of error symbols according to the calculation result calculated in the second calculation step;
A second control step of performing error correction and / or pointer setting according to the determination result of the second determination step;
A second time delay is applied to each of the first check word and each word after the second control step, and a descrambling process is performed in the same direction as the data reading direction from the recording medium. A descrambling process;
A third calculation step of calculating a location equation using the second check word for each of the words subjected to the second descrambling process;
A third determination step of determining the number of error symbols and the error location according to the calculation result calculated in the third calculation step;
An error correction method comprising: a third control step of performing error correction or pointer setting according to the determination result of the third determination step.
上記各ワードと上記第1のチェックワードに対して各々異なる時間遅延を施し、記録媒体からのデータの読出し方向に対して傾斜した方向にデ・スクランブル処理を施す第1のデ・スクランブル処理手段と、
上記第1のデ・スクランブル処理が施された上記各ワードに対して上記第1のチェックワードを用いてロケーション方程式を演算する第1の演算手段と、
上記第1の演算手段にて演算した演算結果に応じてエラーの有無及びエラーシンボルの数を判別する第1の判別手段と、
上記第1の判別手段の判別結果に応じてエラー訂正及び/又はポインタ設定を行う第1の制御手段と、
上記第1の制御手段から出力される上記第1のチェックワードと各ワードと、上記第2のチェックワードの各々に対して時間遅延を施し、記録媒体からのデータの読出し方向に対して同一方向にデ・スクランブル処理を施す第2のデ・スクランブル手段と、
上記第2のデ・スクランブル処理が施された上記各ワードに対して上記第2のチェックワードを用いたロケーション方程式を演算する第2の演算手段と、
上記第2の演算手段にて演算した演算結果に応じてエラーシンボルの数及びエラーロケーションを判別する第2の判別手段と、
上記第2の判別手段の判別結果に応じてエラー訂正又はポインタ設定を行う第2の制御手段とから成ることを特徴とするエラー訂正装置。The input data string is divided into symbols each having a predetermined number of words, and a first check word is generated for the first data series arranged in a direction inclined with respect to the reading direction from the recording medium for each symbol. Then, a second check word for the second data series arranged in the same direction as the reading direction from the recording medium is generated with respect to each symbol and the first check word, and each symbol and the first check word are generated. An error correction device that decodes an input data string composed of the check word and the second check word,
First de-scramble processing means for applying a different time delay to each of the words and the first check word, and performing a descrambling process in a direction inclined with respect to a reading direction of data from the recording medium; ,
First computing means for computing a location equation using the first check word for each of the words subjected to the first descrambling process;
First determination means for determining the presence or absence of an error and the number of error symbols according to the calculation result calculated by the first calculation means;
First control means for performing error correction and / or pointer setting according to the determination result of the first determination means;
A time delay is applied to each of the first check word, each word, and each second check word output from the first control means, and the same direction as the data reading direction from the recording medium. A second descrambling means for applying a descrambling process to
Second computing means for computing a location equation using the second check word for each word subjected to the second descrambling process;
Second discriminating means for discriminating the number of error symbols and the error location according to the computation result computed by the second computing means;
An error correction apparatus comprising: a second control unit that performs error correction or pointer setting according to a determination result of the second determination unit.
上記各ワードと上記第1のチェックワードに対して上記第2のチェックワードを用いてロケーション方程式を演算する第1の演算手段と、
上記第1の演算手段にて演算した演算結果に応じてエラーの有無及びエラーシンボルの数を判別する第1の判別手段と、
上記第1の判別手段の判別結果に応じてエラー訂正及び/又はポインタ設定を行う第1の制御手段と、
上記第1の制御手段から出力される各ワード及び第1のチェックワードと、上記第2のチェックワードの各々に対して時間遅延を施し、記録媒体からのデータの読出し方向に対して傾斜した方向にデ・スクランブル処理を施す第1のデ・スクランブル処理手段と、
上記第1のデ・スクランブル処理が施された上記各ワードに対して上記第1のチェックワードを用いてロケーション方程式を演算する第2の演算手段と、
上記第2の演算手段にて演算した演算結果に応じてエラーの有無及びエラーシンボルの数を判別する第2の判別手段と、
上記第2の判別手段の判別結果に応じてエラー訂正及び/又はポインタ設定を行う第2の制御手段と、
上記第2の制御手段から出力される上記第1のチェックワードと各ワードに対して各々異なる時間遅延を施し、記録媒体からのデータの読出し方向に対して同一方向にデ・スクランブル処理を施す第2のデ・スクランブル処理手段と、
上記第2のデ・スクランブル処理が施された上記各ワードに対して上記第2のチェックワードを用いたロケーション方程式を演算する第3の演算手段と、
上記第3の演算手段にて演算した演算結果に応じてエラーシンボルの数及びエラーロケーションを判別する第3の判別手段と、
上記第3の判別手段の判別結果に応じてエラー訂正又はポインタ設定を行う第3の制御手段とから成ることを特徴とするエラー訂正装置。The input data string is divided into symbols each having a predetermined number of words, and a first check word is generated for the first data series arranged in a direction inclined with respect to the reading direction from the recording medium for each symbol. Then, a second check word for the second data series arranged in the same direction as the reading direction from the recording medium is generated with respect to each symbol and the first check word, and each symbol and the first check word are generated. An error correction device that decodes an input data string composed of the check word and the second check word,
First computing means for computing a location equation for each word and the first check word using the second check word;
First determination means for determining the presence or absence of an error and the number of error symbols according to the calculation result calculated by the first calculation means;
First control means for performing error correction and / or pointer setting according to the determination result of the first determination means;
A direction inclined with respect to the reading direction of data from the recording medium by applying a time delay to each of the first check word and the first check word output from the first control means and the second check word. First descramble processing means for performing descrambling processing on
Second computing means for computing a location equation using the first check word for each of the words subjected to the first descrambling process;
Second discriminating means for discriminating the presence or absence of an error and the number of error symbols according to the computation result computed by the second computation means;
Second control means for performing error correction and / or pointer setting according to the determination result of the second determination means;
The first check word output from the second control means and each word are subjected to different time delays, and descramble processing is performed in the same direction with respect to the reading direction of data from the recording medium. Two descrambling means;
Third computing means for computing a location equation using the second check word for each word subjected to the second descrambling process;
Third discriminating means for discriminating the number of error symbols and the error location according to the computation result computed by the third computing means;
An error correction apparatus comprising: third control means for performing error correction or pointer setting according to the determination result of the third determination means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26561795A JP3653315B2 (en) | 1995-10-13 | 1995-10-13 | Error correction method and error correction apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26561795A JP3653315B2 (en) | 1995-10-13 | 1995-10-13 | Error correction method and error correction apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09107294A JPH09107294A (en) | 1997-04-22 |
JP3653315B2 true JP3653315B2 (en) | 2005-05-25 |
Family
ID=17419629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26561795A Expired - Fee Related JP3653315B2 (en) | 1995-10-13 | 1995-10-13 | Error correction method and error correction apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3653315B2 (en) |
-
1995
- 1995-10-13 JP JP26561795A patent/JP3653315B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09107294A (en) | 1997-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0156440B1 (en) | An information transmission method with error correction for user words, an error correcting decoding method for such user words, an apparatus for information transmission for use with the method, a device for information decoding for use with the method and an apparatus for use with such device | |
KR100480183B1 (en) | A method for recording (transmitting) / reproducing (receiving) data and an apparatus therefor, and a data recording medium | |
JPH0697542B2 (en) | Interleave circuit | |
US20040257900A1 (en) | Data recording method, recording medium and reproduction apparatus | |
KR19990044116A (en) | Bit interleaved 16/17 ratio modulation code with 3-way byte interleaved ECC | |
JPH0351140B2 (en) | ||
KR100384087B1 (en) | Digital signal encoding method and apparatus, digital signal recording medium and digital signal decoding method and apparatus | |
JPS6342888B2 (en) | ||
JP2000165259A (en) | Data decoding processor and its method | |
JPH0471367B2 (en) | ||
US20020049954A1 (en) | Data synchronization detection method, information recording method, and information reproduction method | |
JPH0634313B2 (en) | Error correction method | |
JP3653315B2 (en) | Error correction method and error correction apparatus | |
JP4140344B2 (en) | Decoding device and computer program | |
JP4135497B2 (en) | Data reproduction method and data reproduction apparatus | |
US20040199855A1 (en) | Copy-protected digital audio compact disc, and method and system for producing same | |
JP2001244823A (en) | Device for error correction in process for decoding cross- interleaved reed-solomon code | |
KR930010355B1 (en) | Data error correcting & decoding method and apparatus | |
JP2664267B2 (en) | Code error correction device | |
JP3259359B2 (en) | Data reproducing apparatus and method | |
KR100207628B1 (en) | Error controlling method and apparatus in a digital signal processing system | |
KR19990049147A (en) | Error correction method | |
JPS6342343B2 (en) | ||
JPS63259876A (en) | Error correcting system | |
JPH07211014A (en) | Error correction code-coding method, error correction code-decoding method, error correction code-coding apparatus, error correction code-decoding apparatus, digital signal-coding method, digital signal-decoding method, digital signal-coding apparatus, digital signal-decoding apparatus and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050228 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080304 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090304 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |