JP3653315B2 - Error correction method and error correction apparatus - Google Patents

Error correction method and error correction apparatus Download PDF

Info

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
Application number
JP26561795A
Other languages
Japanese (ja)
Other versions
JPH09107294A (en
Inventor
裕司 荒瀧
雅人 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP26561795A priority Critical patent/JP3653315B2/en
Publication of JPH09107294A publication Critical patent/JPH09107294A/en
Application granted granted Critical
Publication of JP3653315B2 publication Critical patent/JP3653315B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 symbol delay circuit 11, and only the even-numbered symbol (that is, the lower symbol B) is delayed by one symbol. Then, the data of each symbol delayed by one symbol every other symbol is supplied to the scramble delay circuit 12. In the scramble delay circuit 12, the input data is scrambled to give different delay amounts, and delays successive symbols by four frames apart. However, there is a 20 frame interval between the 12th symbol data and the 13th symbol data. Note that D in the figure indicates 4 and indicates that scrambling over a maximum of 27 × 4 frames (that is, 108 frames) is performed (hereinafter, D in this specification has the same meaning).
[0006]
Then, the scrambled data of each symbol is supplied to the C2 parity generation circuit 13. The C2 parity generation circuit 13 encodes the error correction code C2, and generates a parity Q of the Reed-Solomon code with m = 8, n = 28, k = 24, and d = 5. Here, m is the number of bits of one symbol, n is the number of all symbols after parity generation, k is the number of symbols of input data, and d is the minimum distance of the code.
[0007]
Then, a total of 28 symbols of data of the 4-symbol parity Q generated by the C2 parity generation circuit 13 and the 24-symbol data supplied to the C2 parity generation circuit 13 are supplied to the interleaving delay circuit 14. . The interleaving delay circuit 14 delays consecutive symbols by separating them by four frames. However, the delay in the scramble delay circuit 12 is separated in the opposite direction (that is, in the scramble delay circuit 12, the first symbol data is delayed by a maximum of 108 frames, whereas the interleave delay circuit 12 14, the data of the last symbol is delayed by a maximum of 108 frames), and the data array scrambled for 108 frames by the scramble delay circuit 12 is almost restored. The parity Q of 4 symbols is arranged between the data of the 12th symbol and the data of the 13th symbol, and for the parity Q of 4 symbols, consecutive symbols are separated by 4 frames.
[0008]
Then, the data of each interleaved symbol is supplied to the C1 parity generation circuit 15. The C1 parity generation circuit 15 encodes the error correction code C1 and generates a parity P of a Reed-Solomon code with m = 8, n = 32, k = 28, and d = 5.
[0009]
Then, the 28-symbol data output from the interleaving delay circuit 14 and the 4-symbol parity P output from the C1 parity generation circuit 15 are supplied to the odd-symbol delay circuit 16, and only the odd-numbered symbols are delayed by one symbol. Thus, a data string to which an error correction code is added is obtained.
[0010]
Here, 32-symbol data output in parallel from the odd symbol delay circuit 16 is transmitted as data of one frame. The symbols of parity P and Q are inverted by the inverter gate 17 and output. The inversion processing by the inverter gate 17 is for making it possible to detect an error even when data and parity are all “0” data due to some malfunction or the like.
[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 symbol delay circuit 21 and performs a process of delaying only even-numbered symbols by one symbol. Then, the data of 32 symbols delayed by one symbol every other symbol is supplied to the C1 error correction circuit 23. However, of the 32 symbol data, the parity Q of 4 symbols and the parity P of 4 symbols are respectively inverted by the inverter gate 22 and then supplied to the C1 error correction circuit 23.
[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 deinterleave delay circuit 24, and the consecutive symbols are delayed by four frames. The direction in which the delay amount is changed here is a direction in which processing for returning the interleaving caused by the delay in the interleaving delay circuit 14 in the encoding circuit shown in FIG. 7 (ie, de-interleaving processing) is performed. is there.
[0015]
Then, the data of each symbol deinterleaved by the deinterleave delay circuit 24 is supplied to the C2 error correction circuit 26. In the C2 error correction circuit 26, 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.
[0016]
That is, the pointer data output from the C1 error correction circuit 23 is supplied to the C2 error correction circuit 26 via the delay circuit 25, and erasure correction processing using this pointer is performed. Here, as delay processing in the delay circuit 25, the 1-bit pointer data output from the C1 error correction circuit 23 is sequentially changed from 0 frame (that is, no delay state) to 108 frames at intervals of 4 frames in 28 steps. The data is delayed to 28-bit data, and the delayed pointer data is supplied to the C2 error correction circuit 26 in order. Therefore, when viewed from the C2 error correction circuit 26 side, the pointer generation state in the C1 error correction circuit 23 up to 108 frames before at intervals of 4 frames can be known. The correction processing in the C2 error correction circuit 26 taking into account the pointer information will be described later in the description based on the flowchart (FIG. 9).
[0017]
Then, the data of each symbol corrected and decoded by the C2 error correction circuit 26 is supplied to a descrambling delay circuit 27, and consecutive symbols are delayed by four frames. The direction in which the delay amount is changed here is the direction in which the process of returning the scramble caused by the delay in the scramble delay circuit 12 in the encoding circuit shown in FIG. 7 (ie, the descrambling process) is performed. is there.
[0018]
Then, the data of each symbol descrambled by the descrambling delay circuit 27 is supplied to the odd symbol delay circuit 28, and only the odd symbol is delayed by one symbol. The data of each symbol output from the odd symbol delay circuit 28 is output as decoded left and right two-channel digital audio data.
[0019]
Next, correction processing by the C1 error correction circuit 23 and the C2 error correction circuit 26 in this decoding circuit will be described based on the flowchart of FIG.
[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 step 124 that there is an error in one symbol, the error location i value of the symbol Si having the error is determined. When i exceeds 27 (step 132), i is equal to or less than 27 (step 133). The two states are determined.
[0025]
When it is determined in step 132 that i exceeds 27, when Np is 5 or more (step 134), Np is 4 (step 135), and Np is When the number is 0 to 3 (step 136), the three states are determined.
[0026]
When it is determined in step 134 that the number of pointers Np is 5 or more, the pointers are copied (step 157). If it is determined in step 135 that the number of pointers Np is 4, erasure correction of 4 symbols is performed (step 160). When it is determined in step 136 that the number of pointers Np is 0 to 3, all pointers are set (step 159).
[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 step 125 that there is a two-symbol error, the value of the error location j of the symbol Sj out of the symbols Si and Sj with this error is determined. When j exceeds 27 (step 138), j is When the number is 27 or less (step 139), the two states are determined.
[0029]
When it is determined in step 138 that j exceeds 27, when Np is 0 to 2 (step 140) and Np is 5 or more (step 141) with respect to the number Np of the pointers set at that time, The four states are discriminated when Np is 3 (step 142) and when Np is 4 (step 143).
[0030]
When it is determined in step 140 that the number of pointers Np is 0 to 2, all pointers are set (step 159). If it is determined in step 141 that the number of pointers Np is 5 or more, the pointers are copied (step 157). If it is determined in step 142 that the number of pointers Np is 3, erasure correction of 3 symbols is performed (step 146). Further, when it is determined in step 143 that the number Np of pointers is 4, erasure correction of 4 symbols is performed (step 160).
[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 step 144 that the number of pointers Np is 5 or less, the values of the pointers Pi and Pj of the symbols Si and Sj with errors are determined. When Pi = Pj = 0 (step 147), Pi is determined. The three states are discriminated when = Pj = 1 (step 148) and Pi + Pj = 1 (step 149).
[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 step 150 that Np is 1 to 5, when Np is 0 to 2 (step 140) and Np is 5 or more (step 141), the number Np of the pointers set at that time is determined. ), Np is 3 (step 142), and when Np is 4 (step 143), the four states are determined, and the above-described processing based on the determined state (all pointer sets in step 159, step 157 Pointer copy, 3-symbol erasure correction in step 146 or 4-symbol erasure correction in step 160) is performed. If Np is 0 in step 151, two symbol correction is performed (step 156).
[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), Np 4 is discriminated (step 154) and Np is 5 (step 155).
[0037]
When it is determined in step 152 that the number of pointers Np is 1, two symbol correction is performed (step 156). If it is determined in step 153 that the number of pointers Np is 2 or 3, all pointers are set (step 159). If it is determined in step 154 that the number of pointers Np is 4, 4-symbol erasure correction is performed (step 160). Further, when it is determined in step 155 that the number of pointers Np is 5, pointer copy is performed (step 157).
[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 error correction circuit 26 processes the data interleaved over 108 frames, as shown in FIG. For this reason, the range in which the error correction cannot be performed by the C2 error correction circuit 26 is a range in which the waveform shown as C2 in FIG. 10 rises, and widens before and after the burst error range x, and is the maximum interleaved period. There is a possibility that error correction becomes impossible over 108 frames.
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 symbol delay circuit 31, and only even-numbered symbols are delayed by one symbol. Of the 32 symbol 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 32, respectively.
[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 descrambling delay circuit 33. However, the P parity is not supplied to the delay circuit 33. The delay circuit 33 delays consecutive symbols by separating them by 4 frames. That is, by changing the delay amount by 4 frames for each adjacent symbol (D in the figure is 4), a state from a minimum no delay state to a maximum 27 × D frame = 108 frame delays is set. De-scramble processing is performed. In this processing, the maximum delay amount is set for the first symbol data, and the delay amount is changed so that the last symbol data has no delay.
[0051]
Then, the data descrambled by the delay circuit 33 and the Q parity symbol are supplied to the C2 error correction circuit 34. In the C2 error correction circuit 34, error correction processing is performed by calculation based on a location equation using the parity Q. As the error correction processing here, correction up to two symbol errors is performed. When error correction of 2 symbols is performed and when there is an error exceeding 2 symbols and correction cannot be performed, a pointer is set to the corresponding symbol.
[0052]
Then, the data output from the C2 error correction circuit 34 is supplied to the deinterleave delay circuit 35. In this case, in this example, the 4-symbol parity Q supplied to the C2 error correction circuit 34 is also output as it is and supplied to the deinterleaving delay circuit 35. The 4-symbol parity P inverted by the inverter gate 32 is also supplied to the deinterleave delay circuit 35.
[0053]
The de-interleaving delay circuit 35 performs de-interleaving processing that gives different delay amounts to the 24 symbols of the 32 symbols supplied and the parity Q of 4 symbols. That is, de-interleave processing is performed by changing the delay amount by 4 frames for each adjacent symbol and setting a state from a minimum no delay state to a maximum 27 × D frame = 108 frame delay state. . The processing here is opposite to the direction in which the delay amount is changed by the descrambling delay circuit 35, that is, the first symbol data is set to have no delay, and the maximum delay amount is set to the last symbol data. To do. Further, the descrambling delay circuit 35 delays 108 frames each for the parity P of 4 symbols.
[0054]
Then, the data of each symbol deinterleaved by the deinterleaving delay circuit 35 is supplied to the C1 error correction circuit 37. In the C1 error correction circuit 37, error correction processing is performed by calculation based on a location equation using the parity P. The correction processing here is performed in consideration of the state (number and position) of pointers assigned to each symbol.
[0055]
That is, the pointer data output from the C2 error correction circuit 34 is supplied to the C1 error correction circuit 37 via the delay circuit 36, and correction processing using this pointer is performed. Here, as delay processing in the delay circuit 36, the 1-bit pointer data output from the C2 error correction circuit 34 is sequentially changed from 0 frame (that is, no delay state) to 108 frames at intervals of 4 frames in 28 steps. The data is delayed to 28-bit data, and the delayed pointer data is supplied to the C1 error correction circuit 37 in order. Accordingly, when viewed from the C1 error correction circuit 37 side, the pointer generation state in the C2 error correction circuit 34 up to 108 frames before at an interval of 4 frames can be known. The correction processing in the C1 error correction circuit 37 in consideration of the pointer information will be described later in the description based on the flowchart (FIG. 2).
[0056]
Then, the data of each symbol corrected and decoded by the C1 error correction circuit 37 is supplied to the odd symbol delay circuit 38, and only the odd symbol is delayed by one symbol. The data of each symbol output by the odd symbol delay circuit 38 is output as decoded left and right channel digital audio data.
[0057]
Next, correction processing in the C2 error correction circuit 34 and the C1 error correction circuit 37 in the decoding circuit of this example will be described based on the flowchart of FIG.
[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 error correction circuit 34 is completed (step 211).
[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 step 224 that there is a one symbol error, the value of the error location i of the symbol Si having the error is determined. When i exceeds 31 (step 232), i is equal to or less than 31 (step 233). The two states are determined.
[0063]
When it is determined in step 232 that i exceeds 31, when the number Np of the pointers set at that time is Np is 4 or more (step 234), or when Np is 0 to 3 (step 235). Two states are discriminated.
[0064]
When it is determined in step 234 that the number of pointers Np is 4 or more, the pointer is copied (step 257). When it is determined in step 235 that the number of pointers Np is 0 to 3, all pointers are set (step 258).
[0065]
When it is determined in step 233 that i is 31 or less, one symbol correction is performed (step 236).
[0066]
When it is determined in step 225 that there is a two-symbol error, the error location j of the symbol Sj out of the symbols Si and Sj having the error is determined. When j exceeds 31 (step 237), j When the number is 31 or less (step 238), the two states are discriminated.
[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 step 240 that the number of pointers Np is 3 or more, the pointer is copied (step 257).
[0069]
If it is determined in step 238 that the error location j is 31 or less, the number Np of pointers set at that time is Np is 5 or less (step 241), or Np exceeds 5 (step 242). The two states are determined.
[0070]
When it is determined in step 241 that the number of pointers Np is 5 or less, the values of error locations i and j of symbols Si and Sj are determined. When i exceeds 27 (step 243), i is 27 or less. The three states are discriminated when j exceeds 27 (step 244) and when j is 27 or less (step 245). When it is determined in step 243 that i exceeds 27, the number of pointers Np set at that time is 2 when Np is 1 to 5 (step 251) and when Np is 0 (step 252). The state is determined, and when Np is 1 to 5 in step 251, the process proceeds to the determination processing in steps 239 and 240 already described. When Np is 0 in step 252, two symbol correction is performed (step 156).
[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 steps 251 and 252 already described. If it is determined in step 247 that the pointer Pi is 1, two symbol correction is performed (step 256).
[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 step 248 that Pi = Pj = 0, the process proceeds to the determination processing in steps 251 and 252 already described. If it is determined in step 249 that Pi = Pj = 1, two-symbol correction is performed (step 256). Further, when it is determined in step 250 that Pi + Pj = 1, for the number Np of pointers set at that time, when Np is 1 (step 253), when Np is 2 or 3 (step 254), Np 3 is discriminated when 4 is 5 or 5 (step 255), 2 symbols are corrected when Np is 1 at step 253 (step 256), and all pointers are set when Np is 2 or 3 at step 254 (Step 258). When Np is 4 or 5 in step 255, all pointers are copied (step 257).
[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 error correction circuit 37 is output after being delayed only for odd symbols, and finally after error correction is performed, This is a case where there is no need for processing such as descrambling that significantly changes the symbol arrangement, and the data output direction matches the error correction direction, resulting in an uncorrectable burst error. However, the range in which errors cannot be corrected does not spread.
[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 descrambling delay circuit 47, and the consecutive symbols are delayed by 4 frames. The direction in which the delay amount is changed here is a direction in which processing for returning the scramble processing in the encoding circuit (ie, descramble processing) is performed. In this example, the 4-symbol parity Q supplied to the C2 error correction circuit 45 and the 4-symbol parity P supplied to the first C1 error correction circuit 43 are also transmitted to the descrambling delay circuit 47. It is supplied and delayed. However, with respect to the parity Q, processing is performed between the data of the 12th symbol and the data of the 13th symbol, and delayed by 4 frames continuously from the data symbol. Processing for delaying all four symbols by 108 frames is performed.
[0088]
Then, the data of each symbol descrambled by the descrambling delay circuit 47 is supplied to the second C1 error correction circuit 48. In the second C1 error correction circuit 48, error correction processing is performed by calculation based on a location equation using the parity P. The correction processing here is performed in consideration of the state (number and position) of pointers assigned to each symbol.
[0089]
That is, the pointer data output from the first C1 error correction circuit 43 is supplied to the second C1 error correction circuit 48 via the delay circuit 49, and the pointer data output from the C2 error correction circuit 45 is The data is supplied to the C2 error correction circuit 48 via the delay circuit 50, and erasure correction processing using each pointer is performed. Here, as delay processing of the pointer by C1 correction in the delay circuit 49, 108 frame periods corresponding to the delay amount of the symbol data of the signal from the first C1 error correction circuit 43 to the second C1 error correction circuit 48 In the delay circuit, the 1-bit pointer data output from the first C1 error correction circuit 43 is supplied after being delayed by 108 frames. As a pointer delay process by C2 correction in the delay circuit 25, 1-bit pointer data output from the C2 error correction circuit 45 is changed from 0 frame (that is, no delay state) to 108 frames at intervals of 4 frames. The data is sequentially delayed in 28 steps to be 28-bit data, and the delayed pointer data is supplied to the C1 error correction circuit 48 in sequence. The correction processing in the second C1 error correction circuit 48 taking into account the pointer information will be described later in the description based on the flowchart (FIG. 5).
[0090]
Then, the data of each symbol corrected and decoded by the second C1 error correction circuit 48 is supplied to the odd symbol delay circuit 51, and only the odd symbol is delayed by one symbol. The data of each symbol output from the odd symbol delay circuit 51 is output as decoded left and right channel digital audio data.
[0091]
Next, error correction processing in the second C1 error correction circuit 48 in the decoding circuit of this example will be described based on the flowchart of FIG. The correction processing in the first C1 error correction circuit 43 and the correction processing in the C2 error correction circuit 45 of this example are the same as the processing shown in the flowchart of FIG. 9 in the conventional example. Then, after step 161 of the flowchart of FIG. 9, the process of step 301 of the flowchart of FIG. 5 is performed. That is, after the C1 error correction and the C2 error correction shown in the flowchart of FIG. 9 are performed, the process proceeds to step 301 in FIG. 5 and the error correction processing in the second error correction circuit 48 is started. At this time, first, an operation is performed by a location equation using the parity P (step 302). 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.
[0092]
As a result of the calculation in step 302, four states are discriminated: no error (step 303), 1 symbol error (step 304), 2 symbol error (step 305), and 3 symbols or more error (step 306). I do.
[0093]
If it is determined in step 303 that there is no error, all pointers are cleared (step 307). Further, when it is determined in step 304 that there is a one symbol error, the value of error location i of the symbol Si having the error is determined. When i exceeds 31 (step 308), i is equal to or less than 31 (step 309). The two states are determined.
[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 step 310 that the number of pointers Np is 5 or more, the pointers are copied (step 332). When it is determined in step 311 that the number of pointers Np is 4, four symbols are erased (step 335). Further, when it is determined in step 312 that the number of pointers Np is 0 to 3, all pointers are set (step 335).
[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 step 305 that there is a two-symbol error, the error location j of the symbol Sj out of the symbols Si and Sj having the error is determined. When j exceeds 31 (step 314), j is When the number is 31 or less (step 315), the two states are determined.
[0098]
When it is determined in step 314 that j exceeds 31, when Np is 0 to 2 (step 316) and Np is 5 or more (step 317), the number Np of pointers set at that time is determined. The four states are discriminated when Np is 3 (step 318) and when Np is 4 (step 319).
[0099]
When it is determined in step 316 that the number of pointers Np is 0 to 2, all pointers are set (step 334). If it is determined in step 317 that the number of pointers Np is 5 or more, the pointer is copied (step 332). If it is determined in step 318 that the number of pointers Np is 3, erasure correction of 3 symbols is performed (step 332). Further, when it is determined in step 319 that the number of pointers Np is 4, four symbol erasure correction is performed (step 335).
[0100]
If it is determined in step 315 that the error location j is 31 or less, the number Np of the pointers set at that time is Np is 5 or less (step 320), and Np is more than 5 (step 321). The two states are determined.
[0101]
When it is determined in step 320 that the number of pointers Np is 5 or less, the values of pointers Pi and Pj of the erroneous symbols Si and Sj are determined. When Pi = Pj = 0 (step 323), Pi is determined. The three states are discriminated when = Pj = 1 (step 324) and Pi + Pj = 1 (step 325).
[0102]
If it is determined in step 323 that Pi = Pj = 0, the number Np of the pointers set at that time is 1 to 5 (step 326), and Np is 0 (step 327). The two states are discriminated.
[0103]
When it is determined in step 326 that Np is 1 to 5, when Np is 0 to 2 (step 316) and Np is 5 or more (step 317) with respect to the number Np of pointers set at that time. ), When Np is 3 (step 318), when Np is 4 (step 319), the four states are determined, and the above-described processing based on the determined state (all pointer sets in step 334, step 332) Pointer copy, 3-symbol erasure correction in step 322 or 4-symbol erasure correction in step 335) is performed. If Np is 0 in step 327, two symbol correction is performed (step 333).
[0104]
When it is determined in step 324 that Pi = Pj = 1, two symbol correction is performed (step 333).
[0105]
When it is determined in step 325 that Pi + Pj = 1, regarding the number of pointers Np set at that time, when Np is 1 (step 328), when Np is 2 or 3 (step 329), Np 4 is discriminated (step 330), and Np is 5 (step 331).
[0106]
When it is determined in step 328 that the number of pointers Np is 1, two symbol correction is performed (step 333). If it is determined in step 329 that the number of pointers Np is 2 or 3, all pointers are set (step 334). If it is determined in step 330 that the number of pointers Np is 4, 4-symbol erasure correction is performed (step 335). Further, when it is determined in step 331 that the number of pointers Np is 5, pointer copy is performed (step 332).
[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 error correction circuit 48 may perform error correction without erasure correction. The flowchart in FIG. 6 shows an example of this case, and only the processing in the second C1 error correction circuit 48 is shown as in the flowchart in FIG.
[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 correction circuit 48 is started. At this time, first, an operation is performed by a location equation using the parity P (step 402).
[0112]
Then, as a result of the calculation in step 402, discrimination of four states, that is, no error (step 403), 1 symbol error (step 404), 2 symbol error (step 405), and 3 or more errors (step 406). I do.
[0113]
If it is determined in step 403 that there is no error, all pointers are cleared (step 407). Further, when it is determined in step 404 that there is an error of one symbol, the value of error location i of the symbol Si having this error is determined. When i exceeds 31 (step 408), i is not more than 31 (step 409). The two states are determined.
[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 step 410 that the number of pointers Np is 4 or more, the pointers are copied (step 427). When it is determined in step 411 that the number of pointers Np is 0 to 3, all pointers are set (step 429).
[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 step 405 that there is a two-symbol error, the error location j of the symbol Sj out of the erroneous symbols Si and Sj is determined. When j exceeds 31 (step 413), When the number is 31 or less (step 414), the two states are determined.
[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 step 416, the pointer is copied (step 427).
[0120]
If it is determined in step 414 that the error location j is 31 or less, the number Np of the pointers set at that time is Np is 5 or less (step 417), or Np exceeds 5 (step 418). The two states are determined.
[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 step 419 that Pi = Pj = 0, the number of pointers Np set at that time is 1 to 5 (step 422), and Np is 0 (step 423). The two states are discriminated.
[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 step 429 or pointer copy in step 427) is performed. If Np is 0 in step 423, two symbol correction is performed (step 428).
[0124]
When it is determined in step 420 that Pi = Pj = 1, two symbol correction is performed (step 428).
[0125]
When it is determined in step 421 that Pi + Pj = 1, with respect to the number of pointers Np set at that time, when Np is 1 (step 424), when Np is 2 or 3 (step 425), Np When 4 is 5 or 5 (step 426), the four states are discriminated.
[0126]
If it is determined in step 424 that the number of pointers Np is 1, two symbol correction is performed (step 428). If it is determined in step 425 that the number of pointers Np is 2 or 3, all pointers are set (step 429). If it is determined in step 426 that the number of pointers Np is 4 or 5, pointer copy is performed (step 427).
[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のチェックワードに対して記録媒体からの読出方向と同一方向に配列された第2のデータ系列に対する第2のチェックワードを生成し、上記各シンボルと上記第1のチェックワードと上記第2のチェックワードから構成される入力データ列を復号化するエラー訂正方法は、
上記各ワードと上記第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のデータ系列に対する第1のチェックワードを生成し、上記各シンボルと上記第1のチェックワードに対して記録媒体からの読出方向と同一方向に配列された第2のデータ系列に対する第2のチェックワードを生成し、上記各シンボルと上記第1のチェックワードと上記第2のチェックワードから構成される入力データ列を復号化するエラー訂正方法は、
上記各ワードと上記第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.
上記第3の制御工程は更に消失訂正を行うことを特徴とする請求項2記載のエラー訂正方法。3. The error correction method according to claim 2, wherein the third control step further performs erasure correction. 入力データ列が所定のワード数から成るシンボルに分割され、上記各シンボルに対して記録媒体からの読出方向に対して傾斜した方向に配列された第1のデータ系列に対する第1のチェックワードを生成し、上記各シンボルと上記第1のチェックワードに対して記録媒体からの読出方向と同一方向に配列された第2のデータ系列に対する第2のチェックワードを生成し、上記各シンボルと上記第1のチェックワードと上記第2のチェックワードから構成される入力データ列を復号化するエラー訂正装置は、
上記各ワードと上記第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のデータ系列に対する第1のチェックワードを生成し、上記各シンボルと上記第1のチェックワードに対して記録媒体からの読出方向と同一方向に配列された第2のデータ系列に対する第2のチェックワードを生成し、上記各シンボルと上記第1のチェックワードと上記第2のチェックワードから構成される入力データ列を復号化するエラー訂正装置は、
上記各ワードと上記第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.
上記第3の制御手段は更に消失訂正を行うことを特徴とする請求項5記載のエラー訂正装置。6. The error correction apparatus according to claim 5, wherein the third control means further performs erasure correction.
JP26561795A 1995-10-13 1995-10-13 Error correction method and error correction apparatus Expired - Fee Related JP3653315B2 (en)

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)

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 &amp; 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