JP3773740B2 - Decoding device - Google Patents

Decoding device Download PDF

Info

Publication number
JP3773740B2
JP3773740B2 JP2000042867A JP2000042867A JP3773740B2 JP 3773740 B2 JP3773740 B2 JP 3773740B2 JP 2000042867 A JP2000042867 A JP 2000042867A JP 2000042867 A JP2000042867 A JP 2000042867A JP 3773740 B2 JP3773740 B2 JP 3773740B2
Authority
JP
Japan
Prior art keywords
error correction
data
storage element
descrambling
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000042867A
Other languages
Japanese (ja)
Other versions
JP2001237715A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2000042867A priority Critical patent/JP3773740B2/en
Priority to US09/772,072 priority patent/US6772385B2/en
Priority to KR1020010004290A priority patent/KR100685360B1/en
Priority to CNB2005100095619A priority patent/CN100380507C/en
Priority to CNB011119756A priority patent/CN1199177C/en
Publication of JP2001237715A publication Critical patent/JP2001237715A/en
Priority to US10/845,091 priority patent/US7181483B2/en
Application granted granted Critical
Publication of JP3773740B2 publication Critical patent/JP3773740B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送システムにおけるデスクランブル処理および誤り訂正処理のための復号装置および復号方法に関し、特に、積符号などの多次元の誤り訂正符号を含むデータのデスクランブル処理を処理するための復号装置および復号方法に関する。
【0002】
【従来の技術】
大量の情報量を有する映像情報等の記録再生や伝送がデジタル信号として行なわれるようになるのに伴い、記録された情報あるいは伝送される情報に対する信頼性を高めるために誤り訂正および誤り検査の重要度が増大する。特に、リアルタイムでの記録や再生が必要となる場合、このような大量の情報に対する誤り訂正や検査を行なうためには、高速な処理が必要となる。
【0003】
従来のデータ伝送システム、たとえば記録再生可能な光磁気ディスク装置は、受信したデータに積符号からなる誤り訂正符号を付加して、記録媒体にデータの格納を行なう。ここで、記録媒体に格納されるデータは、予めスクランブルされ、誤り訂正符号化されたものである。その後、格納されたデータは、必要に応じて誤り訂正装置へ呼出され、誤りの訂正がなされた後、デスクランブル処理され、外部に出力される。
【0004】
また、再生専用光ディスク装置においても同様に、格納されたデータは必要に応じて誤り訂正装置へ呼出され、誤り訂正がなされた後、デスクランブル処理され、外部に出力される。
【0005】
従来の誤り訂正システムにおいて、たとえば、DVD(Digital Video Disc)においては、ディスクから呼出されたデータは、一旦たとえば、SDRAM(Synchronous Dynamic Random Access Memory)等の外部半導体記憶素子のバッファに保存される。その後、誤り訂正装置によりデータが読み出され、誤りが訂正される。ここで、たとえば、DVDでは、データを長方形に並べ、縦方向(以下、PO方向とも呼ぶ)と横方向(以下、PI方向とも呼ぶ)の2方向の誤り訂正符号を付加した積符号が用いられる。
【0006】
図12は、上述したような誤り訂正計算を実現するための従来の誤り訂正装置2000の構成を示す概略ブロック図である。
【0007】
図12を参照して、誤り訂正装置2000においては、外部メモリ21に読込まれたデータは、まず誤り訂正回路22により、誤りの訂正が行なわれる。
【0008】
誤りの訂正回路22は、外部メモリ21からデータを読込み、誤りを訂正した後、外部メモリ21に再び誤り訂正後のデータを書込む。
【0009】
続いて、すべての誤りが訂正された後、次にデスクランブル回路23において、デスクランブル演算がなされる。
【0010】
デスクランブル回路23は、外部メモリ21からデータを読取り、デスクランブル変換をした後、再びデスクランブル後のデータを外部メモリ21に書込む。
【0011】
すなわち、復号を行なう基本的な処理パターンは、以下のような手順によることになる。
【0012】
1.外部メモリ(たとえば、SDRAM)21からPI方向のデータを読込みシンドロームを計算する。
【0013】
2.シンドロームの値より誤り量および誤り位置を算出し、外部メモリ21上で誤りを訂正する。
【0014】
3.次に、外部メモリ21からPO方向のデータを読込みシンドロームを計算する。
【0015】
4.シンドロームの値より誤り量および誤り位置を算出し、外部メモリ21上に記憶されたデータについて誤りを訂正する。
【0016】
これらの処理を繰返すことにより、誤りを訂正する。
5.これらの誤り訂正が終了後、再び、外部メモリ21よりデータ(D′k:データDkがスクランブル処理されたデータをD′kで表す)を読取り、デスクランブル処理回路23で下記に示す式に基づきデスクランブル処理を行なう。
【0017】
k=D′k Exor Sk(k=0〜2047) …(1)
ここで、S0は予め用意されたテーブルにより初期値として与えられる。さらに、次式により与えられるデータSkを用いて、データD′kがデスクランブル処理されることになる。
【0018】

Figure 0003773740
ここで、式(2)において、“7′d0”は、データ“0”が7個並ぶことを意味し、式(2)は、この7個の“0”と、初期値として与えられるS0とをつなげて、第14ビット〜第0ビットまでの、15ビットのデータをT0とすることを意味する。
【0019】
また、式(3)は、第nステップ目で生成されるデータTn[14:0]のうちの第13ビット〜第0ビットまでのデータTn[13:0]と、データTn[14:0]のうちの第14ビットのデータTn[14]と第10ビットのデータTn[10]との排他的論理和演算結果とを並べることで、第(n+1)ステップ目において、第14ビット〜第0ビットまでの15ビットからなるデータTn+1[14:0]を生成することを意味する。
【0020】
さらに式(4)は、このようにして生成されるデータTn[14:0]のうち、8の倍数のステップで形成されるデータT8k[14:0]の第7ビット〜第0ビットまでのデータが、データSkに相当することを示す。
【0021】
【発明が解決しようとする課題】
ただし、図12に示したような回路構成では、外部メモリへのアクセス量が膨大となるため時間がかかり、誤り訂正およびデスクランブル処理を高速化することが困難であった。
【0022】
つぎに、このような問題点を解決するための従来技術についてさらに説明する。
【0023】
図13は、このような従来技術として、特開平10−126279号公報に開示された誤り訂正装置3000の構成を示す概略ブロック図である。
【0024】
図13を参照して、まず、外部メモリ31に読込まれたデータは、まず誤り訂正計算の一部であるシンドローム演算回路32において、シンドローム計算が行なわれる。
【0025】
そのとき、読込まれたデータは、同時にデスクランブル回路33に送り込まれ、デスクランブル処理が行なわれる。デスクランブル処理が終了したデータは、外部メモリ31に書込まれる。
【0026】
その後、シンドローム計算によって得られたシンドロームは、誤り量計算部34に送込まれ、誤り位置および誤り量が算出される。誤り量計算部34は、この誤り位置に対応したデータを、外部メモリ31から読込み、誤りを訂正した後、再び外部メモリ31に書込む。
【0027】
このような方法では、外部メモリへのアクセス量は2/3程度の減少されることになるが、まだ十分な減少量ではない。
【0028】
また、積符号特有の繰返し処理への配慮はなされておらず、実際のDVD等への誤り訂正/デスクランブル処理を効果的に行なうことは困難である。
【0029】
すなわち、積符号では誤り訂正を、各方向(PO方向およびPI方向)について、繰返して複数回実行するのが一般的である。ここで、誤り訂正を行なうためのシンドローム計算は、デスクランブル前のデータを用いて計算するため、図13に示したようにデスクランブル処理を行なってしまうと、繰り返して次の誤り訂正をするためには、外部メモリ31中に格納されているデータに対して再スクランブルを行なうことが必要となり、演算量、回路規模も結果として増大してしまうことになる。
【0030】
本発明は、上記のような問題点を解決するためになされたものであって、その目的は、積符号の誤り訂正およびデスクランブルを高速に処理することが可能な復号装置を提供することである。
【0031】
【課題を解決するための手段】
この発明の主たる局面に従うと、誤り訂正用積符号を含むデータの復号装置であって、復号装置の動作を制御するための制御手段と、転送されてきたデータを一時的に蓄えるための第1の記憶素子と、第1の記憶素子から読込んだデータに対する第1の方向の誤り訂正処理を行なう第1の誤り訂正手段と、データに対するデスクランブル処理を行なうデスクランブル手段と、第1の方向の誤り訂正処理結果を受けて、第2の方向に誤り訂正処理を行なうための第2の誤り訂正手段とを備え、制御手段は、i)第1の記憶素子から読込んだデータに対する第1の方向の誤り訂正処理を行なった後、デスクランブル手段に、第1の方向の誤り訂正後のデータに対するデスクランブル処理を行わせ、ii)デスクランブル処理後のデータを第1の記憶素子に書き戻し、iii)デスクランブル処理と並行して、第2の誤り訂正手段に、第1の記憶素子に格納されるデータに対する誤り訂正を行なわせて、第1の記憶素子に書き戻す。
【0034】
この発明のさらに他の局面に従うと、誤り訂正用積符号を含むデータに対して第1の方向の誤り訂正と第2の方向の誤り訂正を繰返し行なう復号装置であって、復号装置の動作を制御するための制御手段と、転送されてきたデータを一時的に蓄えるための第1の記憶素子と、第1の記憶素子から読込んだデータに対する第1の方向の誤り訂正処理を行なう第1の誤り訂正手段と、データに対するデスクランブル処理を行なった結果を第1の記憶素子に書き戻すデスクランブル手段と、第1の方向の誤り訂正処理結果を受けて、第2の方向に誤り訂正処理を行なうための第2の誤り訂正手段と、第1の誤り訂正手段からのデータを受けて、最後に行なう第1の方向の誤り訂正が行なわれた場合、デスクランブル手段にデータを与え、最後に行なう第1の方向の誤り訂正が行なわれていない場合、第1の記憶素子にデータを書き戻すための分岐手段とを備え、制御手段は、i)第1の記憶素子から読込んだデータに対する第1の方向の誤り訂正処理を行なった後、分岐手段に第1の誤り訂正処理データを与え、ii)最後に行なう第1の方向の誤り訂正が行なわれた場合、デスクランブル手段に、第1の方向の誤り訂正後のデータに対するデスクランブル処理を行わせ、デスクランブル処理後のデータを第1の記憶素子に書き戻し、デスクランブル処理と並行して、第2の誤り訂正手段に、第1の記憶素子に格納されるデータに対する誤り訂正を行なわせて、第1の記憶素子に書き戻し、iii)最後に行なう第1の方向の誤り訂正が行なわれていない場合、第1の方向の誤り訂正後のデータを第1の記憶素子に書き戻すとともに、第2の誤り訂正手段に、第1の記憶素子に格納されるデータに対する誤り訂正を行なわせて、第1の記憶素子に書き戻す。
【0035】
好ましくは、制御手段は、デスクランブル処理と並行して、第2の誤り訂正手段に、第1の記憶素子に格納されるデータに対する誤り訂正を行なわせる際に、第1の記憶素子に格納されるデータのうち、第2の誤り訂正処理において得られた誤り位置に相当するデータに対する誤り訂正を行なわせる。
【0036】
好ましくは、第2の誤り訂正手段は、第1の方向の誤り訂正処理結果を受けて、一時的に格納するための第2の記憶素子と、第1の誤り訂正手段から順次転送される第1の方向の誤り訂正後のデータと第2の記憶素子に格納されたデータとに基づいて、第2の方向に対する誤り訂正のためのシンドロームを計算し、第2の記憶素子に計算結果を上書きするシンドローム計算手段とを含む。
【0037】
【発明の実施の形態】
[実施の形態1]
以下、この発明の実施の形態1の誤り訂正およびデスクランブル回路について、図面を参照して説明する。
【0038】
図1は、この発明に係る誤り訂正およびデスクランブル回路を備えたディスク再生装置1000の構成を示す概略ブロック図である。
【0039】
図1を参照して、ドライブ駆動回路149により駆動されるドライブ141でディスクから読取られたデータは、制御回路144中の信号読取回路142で復調される。サーボ回路143は、信号読取回路142に読み取られる信号に基づいて、ドライブ駆動回路149を制御する。
【0040】
ディスクからのデータは、信号読取回路142で復調された後、復号回路1100中のデータバッファ11に転送される。転送されたデータは、誤り訂正回路12で誤りが訂正され、デスクランブル回路13でデスクランブル処理が施され、インターフェース148を介して情報データがホストPCへ転送される。
【0041】
なお、以下の説明では、DVDを例にとって、これに記録されたデータに対応する積符号の誤り訂正および並行検査装置ならびに方法について説明するが、本発明はこのような場合に限定されることなく、1ブロックのデータに対して誤り訂正積符号が配置される積符号の誤り訂正装置ならびに誤り訂正方法に適用可能なものである。
【0042】
図2は、図1に示したDVDにおける誤り訂正積符号のフォーマットを示す概念図である。二次元に配列された172×192バイトの情報データに横方向の10バイトのパリティPIと、縦方向の16バイトのパリティPOが付加したデータを1ブロックとしている。
【0043】
図3は、図1に示した復号回路1100の構成を説明するためのブロック図である。復号回路1100の動作は、復号処理コントローラ10により制御される。
【0044】
以下、この図3を用いて復号回路1100の構成および動作について説明を行なう。
【0045】
第1のステップでは、入力データがバッファメモリ11に転送される。ここでは、たとえば、SDRAMをデータバッファメモリ11として使用する。
【0046】
第2ステップでは、誤り訂正回路12が、誤り訂正のための単位となるデータ、たとえば1符号語分のデータをバッファメモリ11から読込み、誤り訂正処理を行なう。ここで、誤り訂正回路12は、訂正前の1符号語分のデータを一時保存するための記憶素子121と誤り訂正演算部122とを備えており、誤り訂正演算部122で得られた訂正量で、この記憶素子121に一時保存されたデータを訂正する。
【0047】
第3ステップでは、このようにして得られ、かつ一時保存されていた訂正後のデータをデスクランブル回路13に送り、デスクランブル処理を行なう。
【0048】
図4は、デスクランブル回路13の構成を説明するための概略ブロック図である。デスクランブル回路13に入力されたデータは、デスクランブルパターン発生器51より得られる値と排他的論理和演算回路52で排他的論理和が演算され、出力されることになる。ここで、デスクランブルパターン発生器51には、DVD上に予め格納されていたデータに基づいて、初期値S0が与えられる。
【0049】
再び、図3の復号回路1100の動作についての説明にもどって、第4ステップでは、デスクランブル処理後のデータをバッファメモリ11に書込む。
【0050】
このような回路構成を取ることにより、データバッファメモリ11へのアクセスを1/2程度まで減少させることが可能となる。したがって、積符号の誤り訂正およびデスクランブルを高速に処理することが可能である。
【0051】
[実施の形態2]
図5は、本発明の実施の形態2の積符号の誤り訂正およびデスクランブル回路を備える復号回路1200の構成を説明するための概略ブロック図である。
【0052】
復号回路1200の動作は、復号処理コントローラ10により制御されている。
【0053】
実施の形態2においては、積符号の処理における誤り訂正の特徴を考慮したものであり、以下に説明するように、図2に示したようなDVDの積符号を用いた誤り訂正およびデスクランブル処理等において、より高速な処理を可能とする。
【0054】
実施の形態2の復号回路1200における積符号の誤り訂正処理は、たとえば積符号の内符号(PI)を実行した後、外符号(PO)を実行する場合に適用される。
【0055】
図6は、図5に示した実施の形態2の復号回路1200の動作を説明するためのフローチャートである。
【0056】
以下、図5および図6を参照して、実施の形態2の復号回路1200の構成および動作を説明する。
【0057】
処理が開始されると、まず、第1ステップでは、入力データがバッファメモリ11に転送される(ステップS102)。ここでは、たとえばデータバッファメモリ11としてSDRAMが使用されている。
【0058】
第2のステップでは、バッファメモリ11より誤り訂正を行なうのに必要な、たとえば1符号語分のデータを読取り、データ用記憶素子41に一時保存する(ステップS104)。
【0059】
つづいて、第3ステップでは、一時保存されているデータをデータ用記憶素子41から読取り、第1のシンドローム計算回路42においてシンドロームの計算がなされる(ステップS106)。
【0060】
第4ステップでは、計算されたシンドロームの値は、第1の誤り量計算回路に送られ、誤り量が計算される(ステップS108)。
【0061】
ここで誤りが存在しない場合は、演算上は誤り量が“0”として取扱うものとする。
【0062】
第5ステップでは、こうして計算された誤り量とデータ用記憶素子41に一時保管されていたデータを排他的論理和演算回路47において排他的論理和演算を行なうことにより、誤り訂正がなされた全てのデータが得られる(ステップS110)。
【0063】
第6ステップでは、このようにして得られた訂正済みデータはデスクランブル回路13に送られる(ステップS112)。
【0064】
ここで、デスクランブル回路13の構成は、実施の形態1と同様である。
第7ステップでは、デスクランブル回路13において、デスクランブル処理がなされたデータが、バッファメモリ11に書き戻される(ステップS114)。
【0065】
一方、第8ステップでは、第6ステップにおいてデスクランブル回路13に送られるデータは、並行して第2のシンドローム計算回路45に送られる。さらに、シンドローム用記憶素子44でシンドロームの計算途中の値を保存することにより、シンドローム計算が第2のシンドローム計算回路45にて行なわれる(ステップS116)。
【0066】
第9ステップでは、このようにして計算されたシンドロームの値は、第2の誤り量計算回路46に送込まれ、誤り量の計算が行なわれる(ステップS118)。
【0067】
第10のステップでは、第7ステップでデスクランブル処理が行なわれたバッファメモリ内のデータを、第2の誤り検出された位置においてのみ読込み、排他的論理和演算回路48において排他的論理和が取られ、バッファメモリ11に書き戻される(ステップS120)。
【0068】
なお、以上の処理のうち、第3ステップ(ステップS106)において、第1のシンドローム計算回路42においてシンドロームの計算がなされる処理と、第8のステップ(ステップS116)において、シンドローム用記憶素子44を用いて第2のシンドローム計算回路45により行なわれる処理をさらに詳しく説明すると以下のようである。
【0069】
すなわち、まず、図7は、図2に示した1ブロック分のデータ中のデータ配列を示す概念図である。すなわち、列方向にはROW0〜ROW207までの208バイトのデータが配列されており、行方向にはCOL0〜COL181までの182バイトのデータが配列されている。
【0070】
つぎに、図8は、第1のシンドローム計算回路42の構成を示すブロック図を示している。
【0071】
周知のように、誤りを含んでいる符号列の受信多項式y(x)を、以下の式(5)のように表わした場合、シンドロームは式(6)で与えられる。
【0072】
y(x)=ym-1m-1+ym-2m-2+…+y1x+y0 … (5)
【0073】
【数1】
Figure 0003773740
【0074】
但し、mは原始多項式の項数であり、図7に示す積符号ブロックでは、PI系列のライン符号に対して誤り訂正を行なう場合、m=182となり、PO系列のライン符号に対して誤り訂正を行なう場合、m=208となる。
【0075】
さらに、tは訂正可能な誤り数であり、αは原始多項式の根である。
このシンドロームの計算式を回路で実現したのが第1のシンドローム計算回路42である。但し、この場合単純な和演算ではなく排他的論理和演算を行なう。
【0076】
第1のシンドローム計算回路42は、排他的論理和回路412anとレジスタ412bnと乗算器412cnとからなる回路をn個備えている。
【0077】
たとえば、図2のようなDVDのフォーマットでは、10バイトのパリティPIを付加することが取り決められているため、n=10(0〜9)であり、式(6)におけるjに相当する。
【0078】
図9は、シンドローム用記憶素子44と第2のシンドローム計算回路45の構成を示すブロック図を示している。シンドローム用記憶素子44は、記憶素子413bm(m=0〜15)を備え、第2のシンドローム計算回路45は、排他的論理和演算回路413am(m=0〜15)と、乗算器413cm(m=0〜15)とを備える。
【0079】
第2のシンドローム計算回路45は、数式(6)のシンドローム計算を実現する上では、第1のシンドローム計算回路42と同じであるが、排他的論理和回路413amと記憶素子413bmと乗算器413cmとからなる回路をm個備えている。たとえば、図2のようなDVDフォーマットでは、16バイトのパリティPOを付加することが取り決められているため、m=16(0〜15)である。記憶素子13bmは、シンドロームの計算途中経過の値を逐次記憶するためのもので、特に限定されないが、たとえばSRAM(Static Random Access Memory)からなる。
【0080】
以上のような構成に基づき、シンドローム演算動作を、図5の矢印に示すステップに従って説明する。
【0081】
コントローラ10からデコード命令が復号回路1200に与えられると、復号回路1200が、積符号ブロック化された1ブロック分のデータに対して誤り訂正処理およびデスクランブル処理を開始する。
【0082】
まず、バッファメモリ11からデータ用記憶素子41に、図7におけるROW0のPI系列ラインデータが転送され、さらに第1のシンドローム計算回路42により、PI系列のラインの符号に対するシンドローム計算が行なわれ、第1の誤り量計算回路43および排他的論理和演算回路47により誤り訂正演算が実行される。
【0083】
すなわち、バッファメモリ11から、図7に示す積符号ブロックPI系列のライン毎にデータyi(i=181〜0)が順次排他的論理和回路412an(n=0〜9)に入力され、その演算結果が一旦レジスタ412bn(n=0〜9)に蓄積される。そして、レジスタ412bnで蓄積されたデータに対し、乗算器412cn(n=0〜9)によりαn(n=0〜9)が乗算され、その結果と次のデータy(i−1)とが排他的論理和回路412anで演算される。これを繰返すことによりシンドロームが計算される。
【0084】
シンドロームを計算した後は、第1の誤り量計算回路43および排他的論理和演算回路47により誤り訂正演算が行なわれ、これらPI系列のラインに対する誤り訂正演算が終了する。
【0085】
次に、排他的論理和演算回路47から、ライン毎に訂正されたデータは、デスクランブル回路13に転送されるともに、第2のシンドローム計算回路45に転送されて、PO方向についての誤り訂正が実行される。
【0086】
排他的論理和演算回路47からの訂正済みデータは、デスクランブル回路13においてデスクランブル処理を施された後、バッファメモリ11に転送されるとともに、第2のシンドローム計算回路13に転送される。
【0087】
ここでは、排他的論理和演算回路47から、訂正後のPI系列のラインデータyi(i=181〜10)が順次排他的論理和回路413an(n=0〜15)に入力され、その演算結果が記憶素子413bn(n=0〜15)に蓄積される。
【0088】
ただし、ROW0のPI系列ラインデータについては、それ以前に記憶素子413bn(n=0〜15)に蓄積されたデータが存在しないので、そのままの値が記憶素子413bnに蓄積されることになる。すなわち、この時点では、図7におけるROW0のPI系列ラインデータが第2のシンドローム計算回路45に入力され、172バイトのデータが記憶素子413bnに記憶される。
【0089】
次に、バッファメモリ11からROW1のPI系列ラインデータが転送され、第1のシンドローム計算回路42、第1の誤り量計算回路43および排他的論理和演算回路47により、PI系列のラインの符号に対する誤り訂正演算が実行され、訂正済みのROW1のデータが、デスクランブル回路13によりデスクランブルされ、バッファメモリ11に転送されて、バッファメモリ11上で誤りが訂正される。
【0090】
一方、排他的論理和演算回路47からの訂正済みデータが、デスクランブル回路13に転送されるのと同時に、第2のシンドローム計算回路45に転送される。ここで、図9に示す第2のシンドローム計算回路45は、まず、ROW1のPI系列ラインデータにおけるy(181)が入力されると、記憶素子413bnに記憶されているy(181)(ROW0のPI系列データ)を生み出して乗算器413cn(n=0〜15)に転送し、乗算器413bnにより、αn(n=0〜15)を乗算して、その結果と上記ROW1のPI系列ラインデータにおけるy(181)とを排他的論理和回路413anで演算し、その値を記憶素子413bnに記憶されているy(181)に上書きする。
【0091】
以下は、同様に、ROW1のPI系列ラインデータy(i)が入力される毎に、記憶素子413bnから対応するデータを読出して排他的論理和回路413anで演算し、その値を記憶素子413bnに記憶されているy(i)に上書きする。
【0092】
このように、記憶素子413bnにおいては、新しいデータを順次上書きするだけなので、172バイト(=182バイト−10バイト)×m(=16)のデータを記憶するだけの極めて少ない記憶容量を備えるだけでよい。
【0093】
以上の動作を図7におけるROW207まで繰返し行なうことにより、積符号ブロックにおけるPI系列の全ラインの符号に対する誤り訂正演算が終了するとともに、PO系列の全ラインの符号に対するシンドローム計算が終了することになる。
【0094】
その後は、第2の誤り量計算回路46において、誤り量の計算がなされ、排他的論理和演算回路48においてバッファメモリ11中のデータとの排他的論理和演算が行なわれることによりPO方向の誤り訂正がなされる。
【0095】
以上説明したような復号回路1200の構成にあっては、したがって、以下のとおりの作用効果を奏することができる。
【0096】
(1) 記憶素子413bnは、シンドロームの計算途中経過を記憶するものであり、新たなデータが入力される毎に順次上書きするように構成しているので、極めて少ない記憶容量を備えるだけでよく、回路面積および消費電力の増加を抑制することができる。
【0097】
(2) 排他的論理和演算回路47からの訂正済みデータを、デスクランブル回路13に転送するのと同時に、第2のシンドローム計算回路45に転送するよう構成したので、バッファメモリ11へのアクセス回数が減少しその分誤り訂正処理の高速化を実現することができる。
【0098】
[実施の形態3]
図10は、本発明の実施の形態3の復号回路1300の構成を説明するための概略ブロック図である。
【0099】
実施の形態3の復号回路1300の構成は、基本的に実施の形態2の復号回路1200の構成と同様であるが、図10に示すように、排他的論理和演算回路47の出力を受けてデスクランブル処理を行なうかどうかと、第2のシンドローム計算を行なうかどうかの2つの分岐処理を行なうための分岐回路50が設けられる構成となっている点で異なる。その他の点は、実施の形態2の復号回路1200の構成と同様であるので、同一部分には同一符号を付してその説明は繰り返さない。
【0100】
図11は、本発明の実施の形態3の復号回路1300の動作を説明するためのフローチャートである。
【0101】
実施の形態3の説明においては、積符号の内符号(PI)、外符号(PO)、内符号(PI)の順に誤り訂正が行なわれるものとする。
【0102】
この場合、上記実施の形態2において1回目の内符号の処理を行なう場合、デスクランブル処理を行なわずにデータをバッファメモリ11に書き戻し、2回目の内符号の処理のときにデスクランブル処理を行なうことにより、回路規模を増大させることなく高速な処理が実現できることになる。
【0103】
図10を参照して、まず処理が開始されると(ステップS400)、入力データをバッファメモリ11に転送する(ステップS402)。
【0104】
続いて、第1の方向の誤り訂正処理が行なわれ(ステップS404)、次に、分岐回路50において、第2の方向の誤り訂正を行なうかと最後の第1の方向の誤り訂正であるかの判断が行なわれる(ステップS406、ステップS408)。
【0105】
第2の方向の誤り訂正を行うと判断した場合は、第2の方向の誤り訂正処理が行なわれ(ステップS410)、続いて、第1の訂正処理後のバッファメモリのデータと誤り量を用いて誤り訂正が実行される(ステップS412)。
【0106】
一方、最後の第1の方向の誤り訂正であるかいなかの判断において(ステップS408)、最後の第1の方向の誤り訂正でない場合は、バッファメモリ11にメモリデータが書込まれ(ステップS414)、処理はステップS402に復帰する。
【0107】
一方、最後の第1の方向の誤り訂正である場合(ステップS408)、デスクランブル処理が実行され(ステップS416)、バッファメモリ11にデータの書込が行なわれ(ステップS418)、処理が終了する(ステップS420)。
【0108】
なお、積符号の処理順序として、内符号(PI)、外符号(PO)、内符号(PI)、外符号(PO)というように4回の訂正処理が行なわれる場合にも、同様に適用することが可能である。この場合は、上述したのと同様に、1回目の内符号の処理をする場合は、デスクランブル処理を行なわずにデータをバッファメモリに書き戻し、2回目の内符号の処理のときにデスクランブル処理を行なうことにより、回路規模を増大させることなく、高速な処理を実現することが可能となる。
【0109】
さらに、内符号または外符号についての訂正処理回数が増加しても、同様に処理することが可能である。
【0110】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0111】
【発明の効果】
以上説明したように本発明は、データバッファから読込まれた誤り訂正後のデータを用い、デスクランブル処理を行なうため、バッファメモリに対するアクセスを1/2程度の減少させることができ、データの高速処理に対応することができる。
【0112】
また、さらに、積符号処理時には、デスクランブル処理前のデータで外符号のシンドロームを計算し、デスクランブル後のデータで誤り訂正を実行することにより、バッファメモリへのアクセスを最小限に抑えて処理を行なう構成となっているため、効果的に高速処理を行なうことが可能である。
【図面の簡単な説明】
【図1】 誤り訂正およびデスクランブル回路を備えたディスク再生装置1000の構成を示す概略ブロック図である。
【図2】 DVDにおける誤り訂正積符号のフォーマットを示す概念図である。
【図3】 復号回路1100の構成を説明するためのブロック図である。
【図4】 デスクランブル回路13の構成を説明するための概略ブロック図である。
【図5】 実施の形態2の積符号の誤り訂正およびデスクランブル回路を備える復号回路1200の構成を説明するための概略ブロック図である。
【図6】 実施の形態2の復号回路1200の動作を説明するためのフローチャートである。
【図7】 図2に示した1ブロック分のデータ中のデータ配列を示す概念図である。
【図8】 第1のシンドローム計算回路42の構成を示すブロック図を示している。
【図9】 シンドローム用記憶素子44と第2のシンドローム計算回路45の構成を示すブロック図を示している。
【図10】 本発明の実施の形態3の復号回路1300の構成を説明するための概略ブロック図である。
【図11】 本発明の実施の形態3の復号回路1300の動作を説明するためのフローチャートである。
【図12】 従来の誤り訂正装置2000の構成を示す概略ブロック図である。
【図13】 従来の誤り訂正装置3000の構成を示す概略ブロック図である。
【符号の説明】
11 バッファメモリ、12 誤り訂正回路、13 デスクランブル回路、41 データ用記憶素子、42 第1のシンドローム計算回路、43 第1の誤り量計算回路、44 シンドローム用記憶素子、45 第2のシンドローム計算回路、46 第2の誤り量計算回路、47 第1の誤り訂正用演算回路、48 第2の誤り訂正用演算回路、1000 ディスク再生装置、1100,1200,1300 復号回路。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a decoding apparatus and decoding method for descrambling processing and error correction processing in a data transfer system, and in particular, decoding for processing data descrambling processing including a multidimensional error correction code such as a product code. The present invention relates to an apparatus and a decoding method.
[0002]
[Prior art]
The importance of error correction and error inspection is important in order to increase the reliability of recorded information or transmitted information as video information having a large amount of information is recorded and reproduced and transmitted as digital signals. The degree increases. In particular, when real-time recording or reproduction is required, high-speed processing is required to perform error correction and inspection on such a large amount of information.
[0003]
A conventional data transmission system, for example, a recordable / reproducible magneto-optical disk apparatus, adds an error correction code composed of a product code to received data and stores the data in a recording medium. Here, the data stored in the recording medium is previously scrambled and error correction encoded. Thereafter, the stored data is called to an error correction device as necessary, and after error correction is performed, descrambling is performed and the data is output to the outside.
[0004]
Similarly, in the read-only optical disk device, the stored data is called to an error correction device as necessary, and after error correction is performed, descrambling is performed and the data is output to the outside.
[0005]
In a conventional error correction system, for example, in a DVD (Digital Video Disc), data called from the disk is temporarily stored in a buffer of an external semiconductor memory element such as an SDRAM (Synchronous Dynamic Random Access Memory). Thereafter, the data is read out by the error correction device, and the error is corrected. Here, for example, in DVD, a product code in which data is arranged in a rectangle and error correction codes in two directions in the vertical direction (hereinafter also referred to as PO direction) and in the horizontal direction (hereinafter also referred to as PI direction) is added is used. .
[0006]
FIG. 12 is a schematic block diagram showing a configuration of a conventional error correction apparatus 2000 for realizing the error correction calculation as described above.
[0007]
Referring to FIG. 12, in error correction apparatus 2000, data read into external memory 21 is first corrected for errors by error correction circuit 22.
[0008]
The error correction circuit 22 reads data from the external memory 21, corrects the error, and then writes the error-corrected data to the external memory 21 again.
[0009]
Subsequently, after all errors are corrected, the descrambling circuit 23 performs descrambling calculation.
[0010]
The descrambling circuit 23 reads data from the external memory 21, performs descrambling conversion, and then writes the descrambled data to the external memory 21 again.
[0011]
That is, the basic processing pattern for decoding is based on the following procedure.
[0012]
1. The data in the PI direction is read from the external memory (for example, SDRAM) 21 and the syndrome is calculated.
[0013]
2. The error amount and error position are calculated from the syndrome value, and the error is corrected on the external memory 21.
[0014]
3. Next, the data in the PO direction is read from the external memory 21 and the syndrome is calculated.
[0015]
4). The error amount and error position are calculated from the syndrome value, and the error is corrected for the data stored on the external memory 21.
[0016]
The error is corrected by repeating these processes.
5). After these error corrections are completed, the data (D 'k: Data DkScrambled data is represented by D′ k), and the descrambling circuit 23 performs descrambling based on the following formula.
[0017]
Dk= D 'k  Exor Sk(K = 0-2047) (1)
Here, S0 is given as an initial value by a table prepared in advance. Further, the data D′ k is descrambled using the data Sk given by the following equation.
[0018]
Figure 0003773740
Here, in Expression (2), “7′d0” means that seven pieces of data “0” are arranged, and Expression (2) indicates that these seven “0” and S0 given as an initial value. To connect 15-bit data from the 14th bit to the 0th bit to T0Means that
[0019]
Further, the expression (3) is expressed as data T generated at the nth step.nThe data T from the 13th bit to the 0th bit of [14: 0]n[13: 0] and data Tn14th bit data T of [14: 0]n[14] and 10th bit data TnBy arranging the exclusive OR operation result with [10], in the (n + 1) th step, data T consisting of 15 bits from the 14th bit to the 0th bitn + 1[14: 0] is generated.
[0020]
Further, the expression (4) is obtained by the data T generated in this way.nData [T] formed in steps of multiples of 8 out of [14: 0]8kThe data from bit 7 to bit 0 of [14: 0] is data SkIt corresponds to.
[0021]
[Problems to be solved by the invention]
However, in the circuit configuration as shown in FIG. 12, the amount of access to the external memory becomes enormous and it takes time, and it is difficult to speed up error correction and descrambling processing.
[0022]
Next, the prior art for solving such problems will be further described.
[0023]
FIG. 13 is a schematic block diagram showing a configuration of an error correction apparatus 3000 disclosed in Japanese Patent Laid-Open No. 10-126279 as such a conventional technique.
[0024]
Referring to FIG. 13, first, data read into external memory 31 is first subjected to syndrome calculation in syndrome calculation circuit 32 which is part of error correction calculation.
[0025]
At that time, the read data is simultaneously sent to the descrambling circuit 33, and descrambling processing is performed. Data for which the descrambling process has been completed is written to the external memory 31.
[0026]
Thereafter, the syndrome obtained by the syndrome calculation is sent to the error amount calculation unit 34, and the error position and the error amount are calculated. The error amount calculation unit 34 reads data corresponding to the error position from the external memory 31, corrects the error, and then writes the data to the external memory 31 again.
[0027]
In such a method, the access amount to the external memory is reduced by about 2/3, but it is not yet a sufficient reduction amount.
[0028]
In addition, no consideration is given to the repetition processing unique to the product code, and it is difficult to effectively perform error correction / descrambling processing on an actual DVD or the like.
[0029]
That is, in the product code, error correction is generally performed repeatedly in each direction (PO direction and PI direction) a plurality of times. Here, since syndrome calculation for error correction is performed using data before descrambling, if the descrambling process is performed as shown in FIG. 13, the next error correction is repeated. Therefore, it is necessary to re-scramble the data stored in the external memory 31, resulting in an increase in the amount of computation and the circuit scale.
[0030]
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a decoding apparatus capable of processing error correction and descrambling of product codes at high speed. is there.
[0031]
[Means for Solving the Problems]
  According to the main aspects of this invention,An apparatus for decoding data including an error correction product code, comprising: control means for controlling the operation of the decoding apparatus; a first storage element for temporarily storing transferred data; In response to the first error correction means for performing error correction processing in the first direction for the data read from the storage element, descrambling means for performing descrambling processing for the data, and the error correction processing result in the first direction And a second error correction means for performing error correction processing in the second direction, and the control means performs i) error correction processing in the first direction for the data read from the first storage element. After that, the descrambling means performs descrambling processing on the error-corrected data in the first direction, ii) writing the descrambled data back to the first storage element, and iii) descrambling. In parallel with rumble processing, the second error correction means, and to perform error correction for the data stored in the first storage element, written back to the first memory element.
[0034]
  According to yet another aspect of the inventionA decoding apparatus that repeatedly performs error correction in a first direction and error correction in a second direction on data including an error correction product code, the control means for controlling the operation of the decoding apparatus, and transfer A first storage element for temporarily storing the received data, a first error correction means for performing error correction processing in a first direction on the data read from the first storage element, and a data storage unit A descrambling means for writing back the result of the scramble process to the first storage element, and a second error correction for receiving the error correction process result in the first direction and performing the error correction process in the second direction When the error correction in the first direction performed last is received in response to the data from the first error correction means and the first error correction means, the data is supplied to the descrambling means and the error correction in the first direction performed last Is done If there is not, branching means for writing data back to the first storage element is provided, and the control means performs i) error correction processing in the first direction for the data read from the first storage element. The first error correction processing data is given to the branching means, and ii) when the error correction in the first direction to be performed last is performed, the descrambling means sends the descramble to the data after the error correction in the first direction. Processing, writing back the descrambled data to the first storage element, and in parallel with the descrambling process, the second error correction means causes the second error correction means to correct the data stored in the first storage element. And write back to the first memory element, and iii) if error correction in the first direction performed last is not performed, the data after error correction in the first direction is stored in the first memory element. Write back Both the second error correction means, and to perform error correction for the data stored in the first storage element, written back to the first memory element.
[0035]
  PreferablyThe control unit causes the second error correction unit to perform error correction on the data stored in the first storage element in parallel with the descrambling process, and stores data stored in the first storage element. Of these, error correction is performed on data corresponding to the error position obtained in the second error correction processing.
[0036]
  PreferablyThe second error correction means receives the error correction processing result in the first direction, the second storage element for temporary storage, and the first error correction means sequentially transferred from the first error correction means A syndrome for calculating a syndrome for error correction in the second direction based on data after error correction in the direction and data stored in the second storage element, and overwriting the calculation result in the second storage element And calculating means.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
[Embodiment 1]
The error correction and descrambling circuit according to the first embodiment of the present invention will be described below with reference to the drawings.
[0038]
FIG. 1 is a schematic block diagram showing the configuration of a disk reproducing apparatus 1000 having an error correction and descrambling circuit according to the present invention.
[0039]
Referring to FIG. 1, data read from the disk by drive 141 driven by drive drive circuit 149 is demodulated by signal reading circuit 142 in control circuit 144. The servo circuit 143 controls the drive driving circuit 149 based on the signal read by the signal reading circuit 142.
[0040]
Data from the disk is demodulated by the signal reading circuit 142 and then transferred to the data buffer 11 in the decoding circuit 1100. The transferred data is corrected for errors by the error correction circuit 12, descrambled by the descrambling circuit 13, and information data is transferred to the host PC via the interface 148.
[0041]
In the following description, an example of a product code error correction and parallel check apparatus and method corresponding to data recorded on a DVD will be described as an example. However, the present invention is not limited to such a case. The present invention is applicable to a product code error correction apparatus and an error correction method in which an error correction product code is arranged for one block of data.
[0042]
FIG. 2 is a conceptual diagram showing a format of an error correction product code in the DVD shown in FIG. Data obtained by adding a 10-byte parity PI in the horizontal direction and a 16-byte parity PO in the vertical direction to information data of 172 × 192 bytes arranged two-dimensionally is taken as one block.
[0043]
FIG. 3 is a block diagram for explaining a configuration of decoding circuit 1100 shown in FIG. The operation of the decoding circuit 1100 is controlled by the decoding processing controller 10.
[0044]
Hereinafter, the configuration and operation of the decoding circuit 1100 will be described with reference to FIG.
[0045]
In the first step, the input data is transferred to the buffer memory 11. Here, for example, SDRAM is used as the data buffer memory 11.
[0046]
In the second step, the error correction circuit 12 reads data serving as a unit for error correction, for example, data for one code word from the buffer memory 11 and performs error correction processing. Here, the error correction circuit 12 includes a storage element 121 for temporarily storing data for one codeword before correction and an error correction calculation unit 122, and the correction amount obtained by the error correction calculation unit 122. Thus, the data temporarily stored in the storage element 121 is corrected.
[0047]
In the third step, the corrected data obtained in this way and temporarily stored is sent to the descrambling circuit 13 for descrambling.
[0048]
FIG. 4 is a schematic block diagram for explaining the configuration of the descrambling circuit 13. The data input to the descrambling circuit 13 is subjected to exclusive OR operation with the value obtained from the descrambling pattern generator 51 by the exclusive OR operation circuit 52 and output. Here, the descrambling pattern generator 51 has an initial value S based on the data stored in advance on the DVD.0Is given.
[0049]
Returning to the description of the operation of the decoding circuit 1100 of FIG. 3 again, in the fourth step, the descrambled data is written into the buffer memory 11.
[0050]
By adopting such a circuit configuration, it becomes possible to reduce the access to the data buffer memory 11 to about ½. Therefore, error correction and descrambling of product codes can be processed at high speed.
[0051]
[Embodiment 2]
FIG. 5 is a schematic block diagram for explaining a configuration of decoding circuit 1200 including the error correction and descrambling circuit of the product code according to the second embodiment of the present invention.
[0052]
The operation of the decoding circuit 1200 is controlled by the decoding processing controller 10.
[0053]
In the second embodiment, the feature of error correction in product code processing is taken into account, and as will be described below, error correction and descrambling processing using a DVD product code as shown in FIG. For example, it is possible to perform faster processing.
[0054]
The error correction processing of the product code in the decoding circuit 1200 according to the second embodiment is applied, for example, when executing the outer code (PO) after executing the inner code (PI) of the product code.
[0055]
FIG. 6 is a flowchart for explaining the operation of decoding circuit 1200 of the second embodiment shown in FIG.
[0056]
Hereinafter, the configuration and operation of the decoding circuit 1200 according to the second embodiment will be described with reference to FIGS. 5 and 6.
[0057]
When the process is started, first, in the first step, input data is transferred to the buffer memory 11 (step S102). Here, for example, an SDRAM is used as the data buffer memory 11.
[0058]
In the second step, for example, one code word of data necessary for error correction is read from the buffer memory 11 and temporarily stored in the data storage element 41 (step S104).
[0059]
Subsequently, in the third step, the temporarily stored data is read from the data storage element 41, and the first syndrome calculation circuit 42 calculates the syndrome (step S106).
[0060]
In the fourth step, the calculated syndrome value is sent to the first error amount calculation circuit, and the error amount is calculated (step S108).
[0061]
Here, when there is no error, it is assumed that the error amount is “0” in the calculation.
[0062]
In the fifth step, the error amount calculated in this way and the data temporarily stored in the data storage element 41 are subjected to an exclusive OR operation in the exclusive OR operation circuit 47, whereby all of the errors that have been subjected to error correction are performed. Data is obtained (step S110).
[0063]
In the sixth step, the corrected data obtained in this way is sent to the descrambling circuit 13 (step S112).
[0064]
Here, the configuration of the descrambling circuit 13 is the same as that of the first embodiment.
In the seventh step, the descrambled data is written back to the buffer memory 11 in the descrambling circuit 13 (step S114).
[0065]
On the other hand, in the eighth step, the data sent to the descrambling circuit 13 in the sixth step is sent to the second syndrome calculation circuit 45 in parallel. Furthermore, the syndrome calculation is performed in the second syndrome calculation circuit 45 by storing the value during the calculation of the syndrome in the syndrome storage element 44 (step S116).
[0066]
In the ninth step, the syndrome value calculated in this way is sent to the second error amount calculation circuit 46, and the error amount is calculated (step S118).
[0067]
In the tenth step, the data in the buffer memory that has been descrambled in the seventh step is read only at the position where the second error is detected, and the exclusive OR operation circuit 48 takes the exclusive OR. Is written back to the buffer memory 11 (step S120).
[0068]
Of the above processing, the syndrome is calculated in the first syndrome calculation circuit 42 in the third step (step S106), and the syndrome storage element 44 is set in the eighth step (step S116). The processing performed by the second syndrome calculation circuit 45 will be described in further detail as follows.
[0069]
That is, first, FIG. 7 is a conceptual diagram showing a data array in one block of data shown in FIG. That is, 208 bytes of data from ROW0 to ROW207 are arranged in the column direction, and 182 bytes of data from COL0 to COL181 are arranged in the row direction.
[0070]
Next, FIG. 8 is a block diagram showing the configuration of the first syndrome calculation circuit 42.
[0071]
As is well known, when a reception polynomial y (x) of a code string including an error is expressed as the following equation (5), the syndrome is given by equation (6).
[0072]
y (x) = ym-1xm-1+ Ym-2xm-2+ ... + y1x + y0  (5)
[0073]
[Expression 1]
Figure 0003773740
[0074]
However, m is the number of terms of the primitive polynomial. In the product code block shown in FIG. 7, when error correction is performed on the PI sequence line code, m = 182, and error correction is performed on the PO sequence line code. When m is performed, m = 208.
[0075]
Furthermore, t is the number of errors that can be corrected, and α is the root of the primitive polynomial.
The first syndrome calculation circuit 42 realizes this syndrome calculation formula by a circuit. However, in this case, an exclusive OR operation is performed instead of a simple sum operation.
[0076]
The first syndrome calculation circuit 42 includes n circuits including an exclusive OR circuit 412an, a register 412bn, and a multiplier 412cn.
[0077]
For example, in the DVD format as shown in FIG. 2, since it is agreed to add a 10-byte parity PI, n = 10 (0 to 9), which corresponds to j in equation (6).
[0078]
FIG. 9 is a block diagram showing the configuration of the syndrome storage element 44 and the second syndrome calculation circuit 45. The syndrome storage element 44 includes a storage element 413bm (m = 0 to 15), and the second syndrome calculation circuit 45 includes an exclusive OR operation circuit 413am (m = 0 to 15) and a multiplier 413cm (m = 0 to 15).
[0079]
The second syndrome calculation circuit 45 is the same as the first syndrome calculation circuit 42 in realizing the syndrome calculation of Expression (6), but the exclusive OR circuit 413am, the storage element 413bm, the multiplier 413cm, M circuits are provided. For example, in the DVD format as shown in FIG. 2, since it is agreed to add a parity PO of 16 bytes, m = 16 (0 to 15). The storage element 13bm is used for sequentially storing values during the calculation of the syndrome, and is not particularly limited. For example, the storage element 13bm is formed of an SRAM (Static Random Access Memory).
[0080]
Based on the above configuration, the syndrome calculation operation will be described according to the steps indicated by the arrows in FIG.
[0081]
When a decoding instruction is given from the controller 10 to the decoding circuit 1200, the decoding circuit 1200 starts error correction processing and descrambling processing on the data for one block that has been converted into product code blocks.
[0082]
First, the PI series line data of ROW 0 in FIG. 7 is transferred from the buffer memory 11 to the data storage element 41, and the syndrome calculation for the code of the PI series line is performed by the first syndrome calculation circuit 42. The error correction operation is executed by the error amount calculation circuit 43 and the exclusive OR operation circuit 47 of 1.
[0083]
That is, data yi (i = 181 to 0) is sequentially input to the exclusive OR circuit 412an (n = 0 to 9) for each line of the product code block PI series shown in FIG. The result is temporarily stored in the register 412bn (n = 0 to 9). Then, the data accumulated in the register 412bn is multiplied by α by the multiplier 412cn (n = 0 to 9).n(N = 0 to 9) is multiplied, and the result and the next data y (i−1) are calculated by the exclusive OR circuit 412an. By repeating this, the syndrome is calculated.
[0084]
After calculating the syndrome, an error correction operation is performed by the first error amount calculation circuit 43 and the exclusive OR operation circuit 47, and the error correction operation for these PI series lines is completed.
[0085]
Next, the corrected data for each line is transferred from the exclusive OR operation circuit 47 to the descrambling circuit 13 and also to the second syndrome calculation circuit 45 to correct the error in the PO direction. Executed.
[0086]
The corrected data from the exclusive OR circuit 47 is descrambled in the descramble circuit 13 and then transferred to the buffer memory 11 and also transferred to the second syndrome calculation circuit 13.
[0087]
Here, the corrected PI series line data yi (i = 181 to 10) is sequentially input from the exclusive OR circuit 47 to the exclusive OR circuit 413an (n = 0 to 15), and the calculation result is obtained. Is stored in the memory element 413bn (n = 0 to 15).
[0088]
However, for the PI series line data of ROW0, since there is no data stored in the storage element 413bn (n = 0 to 15) before that, the value as it is is stored in the storage element 413bn. That is, at this time, the PI series line data of ROW0 in FIG. 7 is input to the second syndrome calculation circuit 45, and 172 bytes of data is stored in the storage element 413bn.
[0089]
Next, the PI series line data of ROW 1 is transferred from the buffer memory 11, and the first syndrome calculation circuit 42, the first error amount calculation circuit 43, and the exclusive OR operation circuit 47 apply the PI series line data to the code. An error correction operation is executed, and the corrected data of ROW1 is descrambled by the descrambling circuit 13, transferred to the buffer memory 11, and the error is corrected on the buffer memory 11.
[0090]
On the other hand, the corrected data from the exclusive OR operation circuit 47 is transferred to the second syndrome calculation circuit 45 at the same time as being transferred to the descrambling circuit 13. Here, when y (181) in the PI series line data of ROW1 is input to the second syndrome calculation circuit 45 shown in FIG. 9, y (181) (ROW0 of ROW0) stored in the storage element 413bn is input. PI series data) is generated and transferred to the multiplier 413cn (n = 0 to 15), and the multiplier 413bnn(N = 0 to 15) is multiplied, and the result and y (181) in the PI series line data of ROW1 are calculated by the exclusive OR circuit 413an, and the value is stored in the storage element 413bn. Overwrite y (181).
[0091]
Similarly, every time PI series line data y (i) of ROW1 is input, the corresponding data is read from the storage element 413bn and calculated by the exclusive OR circuit 413an, and the value is stored in the storage element 413bn. Overwrite the stored y (i).
[0092]
As described above, since the storage element 413bn only overwrites new data sequentially, it has only a very small storage capacity for storing 172 bytes (= 182 bytes-10 bytes) × m (= 16). Good.
[0093]
By repeating the above operations up to ROW 207 in FIG. 7, the error correction calculation for the codes of all the lines of the PI sequence in the product code block is completed, and the syndrome calculation for the codes of all the lines of the PO sequence is completed. .
[0094]
  After that, the second error amount calculation circuit46The error amount is calculated, and the exclusive OR operation circuit 48 performs exclusive OR operation with the data in the buffer memory 11 to correct the error in the PO direction.
[0095]
Therefore, with the configuration of the decoding circuit 1200 as described above, the following operational effects can be achieved.
[0096]
(1) The storage element 413bn stores the progress of the calculation of the syndrome, and is configured to be overwritten sequentially each time new data is input. An increase in circuit area and power consumption can be suppressed.
[0097]
(2) Since the corrected data from the exclusive OR operation circuit 47 is transferred to the second syndrome calculation circuit 45 at the same time as being transferred to the descrambling circuit 13, the number of accesses to the buffer memory 11 And the speed of error correction processing can be increased accordingly.
[0098]
[Embodiment 3]
FIG. 10 is a schematic block diagram for explaining the configuration of the decoding circuit 1300 according to the third embodiment of the present invention.
[0099]
  The configuration of the decoding circuit 1300 of the third embodiment is basically the same as the configuration of the decoding circuit 1200 of the second embodiment.10As shown in FIG. 5, a branch circuit 50 is provided for performing two branch processes: whether to perform descrambling processing upon receipt of the output of the exclusive OR operation circuit 47 and whether to perform second syndrome calculation. It differs in that it is structured. Since the other points are the same as the configuration of decoding circuit 1200 of the second embodiment, the same parts are denoted by the same reference numerals and description thereof is not repeated.
[0100]
FIG. 11 is a flowchart for explaining the operation of the decoding circuit 1300 according to the third embodiment of the present invention.
[0101]
In the description of the third embodiment, it is assumed that error correction is performed in the order of the inner code (PI), outer code (PO), and inner code (PI) of the product code.
[0102]
In this case, when the first inner code process is performed in the second embodiment, the data is written back to the buffer memory 11 without performing the descrambling process, and the descrambling process is performed during the second inner code process. By doing so, high-speed processing can be realized without increasing the circuit scale.
[0103]
Referring to FIG. 10, when processing is started (step S400), input data is transferred to buffer memory 11 (step S402).
[0104]
Subsequently, error correction processing in the first direction is performed (step S404). Next, in the branch circuit 50, whether error correction in the second direction or error correction in the last first direction is performed. A determination is made (steps S406 and S408).
[0105]
If it is determined that error correction in the second direction is to be performed, error correction processing in the second direction is performed (step S410), and then the buffer memory data and error amount after the first correction processing are used. Then, error correction is executed (step S412).
[0106]
On the other hand, in determining whether the error correction is in the last first direction (step S408), if the error correction is not in the last first direction, the memory data is written in the buffer memory 11 (step S414). The processing returns to step S402.
[0107]
On the other hand, if it is the last error correction in the first direction (step S408), the descrambling process is executed (step S416), the data is written in the buffer memory 11 (step S418), and the process ends. (Step S420).
[0108]
The same applies to the case where the correction process is performed four times, such as inner code (PI), outer code (PO), inner code (PI), and outer code (PO), as the processing order of the product code. Is possible. In this case, as described above, when the first inner code is processed, the data is written back to the buffer memory without performing the descrambling process, and the descrambling is performed at the second inner code processing. By performing the processing, it is possible to realize high-speed processing without increasing the circuit scale.
[0109]
Furthermore, even if the number of correction processes for the inner code or the outer code increases, the same processing can be performed.
[0110]
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
[0111]
【The invention's effect】
As described above, the present invention uses the error-corrected data read from the data buffer and performs descrambling processing, so that access to the buffer memory can be reduced by about ½, and high-speed data processing It can correspond to.
[0112]
In addition, during product code processing, the outer code syndrome is calculated from the data before descrambling, and error correction is performed on the data after descrambling, thereby minimizing access to the buffer memory. Therefore, high-speed processing can be effectively performed.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram showing a configuration of a disc reproducing apparatus 1000 having an error correction and descrambling circuit.
FIG. 2 is a conceptual diagram showing a format of an error correction product code in a DVD.
3 is a block diagram for explaining the configuration of a decoding circuit 1100. FIG.
FIG. 4 is a schematic block diagram for explaining a configuration of a descrambling circuit 13;
5 is a schematic block diagram for explaining a configuration of a decoding circuit 1200 including an error correction and descrambling circuit for a product code according to Embodiment 2. FIG.
FIG. 6 is a flowchart for explaining the operation of the decoding circuit 1200 according to the second embodiment;
7 is a conceptual diagram showing a data arrangement in one block of data shown in FIG.
8 is a block diagram showing a configuration of the first syndrome calculation circuit 42. FIG.
FIG. 9 is a block diagram showing a configuration of a syndrome storage element 44 and a second syndrome calculation circuit 45;
FIG. 10 is a schematic block diagram for explaining a configuration of a decoding circuit 1300 according to the third embodiment of the present invention.
FIG. 11 is a flowchart for explaining an operation of a decoding circuit 1300 according to the third embodiment of the present invention.
12 is a schematic block diagram showing a configuration of a conventional error correction apparatus 2000. FIG.
13 is a schematic block diagram showing a configuration of a conventional error correction apparatus 3000. FIG.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 11 Buffer memory, 12 Error correction circuit, 13 Descramble circuit, 41 Data storage element, 42 1st syndrome calculation circuit, 43 1st error amount calculation circuit, 44 Syndrome storage element, 45 2nd syndrome calculation circuit , 46 second error amount calculation circuit, 47 first error correction arithmetic circuit, 48 second error correction arithmetic circuit, 1000 disk reproducing device, 1100, 1200, 1300 decoding circuit.

Claims (4)

誤り訂正用積符号を含むデータの復号装置であって、
前記復号装置の動作を制御するための制御手段と、
転送されてきたデータを一時的に蓄えるための第1の記憶素子と、
前記第1の記憶素子から読込んだデータに対する第1の方向の誤り訂正処理を行なう第1の誤り訂正手段と、
前記データに対するデスクランブル処理を行なうデスクランブル手段と、
前記第1の方向の誤り訂正処理結果を受けて、前記第2の方向に誤り訂正処理を行なうための第2の誤り訂正手段とを備え、
前記制御手段は、
i)前記第1の記憶素子から読込んだデータに対する第1の方向の誤り訂正処理を行なった後、前記デスクランブル手段に、第1の方向の誤り訂正後のデータに対するデスクランブル処理を行わせ、
ii)前記デスクランブル処理後のデータを前記第1の記憶素子に書き戻し、
iii)前記デスクランブル処理と並行して、前記第2の誤り訂正手段に、前記第1の記憶素子に格納されるデータに対する誤り訂正を行なわせて、前記第1の記憶素子に書き戻す、復号装置。
A data decoding device including a product code for error correction,
Control means for controlling the operation of the decoding device;
A first storage element for temporarily storing transferred data;
First error correction means for performing error correction processing in a first direction for data read from the first storage element;
Descrambling means for performing descrambling processing on the data;
Second error correction means for receiving an error correction processing result in the first direction and performing error correction processing in the second direction;
The control means includes
i) After performing error correction processing in the first direction on the data read from the first storage element, the descrambling means performs descrambling processing on the data after error correction in the first direction. ,
ii) writing back the descrambled data to the first storage element;
iii) In parallel with the descrambling process, the second error correction unit performs error correction on the data stored in the first storage element and writes back to the first storage element. apparatus.
誤り訂正用積符号を含むデータに対して第1の方向の誤り訂正と第2の方向の誤り訂正を繰返し行なう復号装置であって、
前記復号装置の動作を制御するための制御手段と、
転送されてきたデータを一時的に蓄えるための第1の記憶素子と、
前記第1の記憶素子から読込んだデータに対する前記第1の方向の誤り訂正処理を行なう第1の誤り訂正手段と、
前記データに対するデスクランブル処理を行なった結果を前記第1の記憶素子に書き戻すデスクランブル手段と、
前記第1の方向の誤り訂正処理結果を受けて、前記第2の方向に誤り訂正処理を行なうための第2の誤り訂正手段と、
前記第1の誤り訂正手段からのデータを受けて、最後に行なう第1の方向の誤り訂正が行なわれた場合、前記デスクランブル手段に前記データを与え、最後に行なう第1の方向の誤り訂正が行なわれていない場合、前記第1の記憶素子に前記データを書き戻すための分岐手段とを備え、
前記制御手段は、
i)前記第1の記憶素子から読込んだデータに対する第1の方向の誤り訂正処理を行なった後、前記分岐手段に前記第1の誤り訂正処理データを与え、
ii)最後に行なう第1の方向の誤り訂正が行なわれた場合、前記デスクランブル手段に、第1の方向の誤り訂正後のデータに対するデスクランブル処理を行わせ、前記デスクランブル処理後のデータを前記第1の記憶素子に書き戻し、前記デスクランブル処理と並行して、前記第2の誤り訂正手段に、前記第1の記憶素子に格納されるデータに対する誤り訂正を行なわせて、前記第1の記憶素子に書き戻し、
iii)最後に行なう第1の方向の誤り訂正が行なわれていない場合、第1の方向の誤り訂正後のデータを前記第1の記憶素子に書き戻すとともに、前記第2の誤り訂正手段に、前記第1の記憶素子に格納されるデータに対する誤り訂正を行なわせて、前記第1の記憶素子に書き戻す、復号装置。
A decoding device that repeatedly performs error correction in a first direction and error correction in a second direction on data including a product code for error correction,
Control means for controlling the operation of the decoding device;
A first storage element for temporarily storing transferred data;
First error correction means for performing error correction processing in the first direction on data read from the first storage element;
Descrambling means for writing back the result of descrambling the data to the first storage element;
Second error correction means for receiving an error correction processing result in the first direction and performing error correction processing in the second direction;
When the last error correction in the first direction is performed after receiving the data from the first error correction means, the data is given to the descrambling means and the error correction in the first direction is performed last. Branching means for writing the data back to the first storage element,
The control means includes
i) after performing error correction processing in the first direction on the data read from the first storage element, giving the first error correction processing data to the branching means;
ii) When error correction in the first direction performed last is performed, the descrambling unit performs descrambling processing on the data after error correction in the first direction, and the data after the descrambling processing is performed. Write back to the first storage element, and in parallel with the descrambling process, cause the second error correction means to perform error correction on the data stored in the first storage element, and Write back to the storage element
iii) When error correction in the first direction performed last is not performed, the data after error correction in the first direction is written back to the first storage element, and the second error correction means A decoding apparatus that performs error correction on data stored in the first storage element and writes the data back to the first storage element.
前記制御手段は、
前記デスクランブル処理と並行して、前記第2の誤り訂正手段に、前記第1の記憶素子に格納されるデータに対する誤り訂正を行なわせる際に、前記第1の記憶素子に格納されるデータのうち、前記第2の誤り訂正処理において得られた誤り位置に相当するデータに対する誤り訂正を行なわせる、請求項1または2記載の復号装置。
The control means includes
In parallel with the descrambling process, when the second error correction means performs error correction on the data stored in the first storage element, the data stored in the first storage element 3. The decoding device according to claim 1 , wherein error correction is performed on data corresponding to an error position obtained in the second error correction processing.
前記第2の誤り訂正手段は、
前記第1の方向の誤り訂正処理結果を受けて、一時的に格納するための第2の記憶素子と、
前記第1の誤り訂正手段から順次転送される前記第1の方向の誤り訂正後のデータと前記第2の記憶素子に格納されたデータとに基づいて、前記第2の方向に対する誤り訂正のためのシンドロームを計算し、前記第2の記憶素子に計算結果を上書きするシンドローム計算手段とを含む、請求項1または2記載の復号装置。
The second error correction means includes
Receiving a result of the error correction process in the first direction and temporarily storing the second storage element;
For error correction in the second direction based on the data after error correction in the first direction sequentially transferred from the first error correction means and the data stored in the second storage element The decoding apparatus according to claim 1 , further comprising: a syndrome calculation unit that calculates a syndrome of the second memory element and overwrites the calculation result in the second storage element.
JP2000042867A 2000-01-31 2000-02-21 Decoding device Expired - Fee Related JP3773740B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2000042867A JP3773740B2 (en) 2000-02-21 2000-02-21 Decoding device
US09/772,072 US6772385B2 (en) 2000-01-31 2001-01-30 Error-correcting device and decoder enabling fast error correction with reduced circuit scale
KR1020010004290A KR100685360B1 (en) 2000-01-31 2001-01-30 Error-correcting device and decoder enabling fast error correction with reduced circuit scale
CNB2005100095619A CN100380507C (en) 2000-01-31 2001-01-31 Error-correcting device and decoder enabling fast error correction with reduced circuit scale
CNB011119756A CN1199177C (en) 2000-01-31 2001-01-31 Error correcting system capable of inhibiting scale of circuit and high-speed correcting error and decoding device
US10/845,091 US7181483B2 (en) 2000-01-31 2004-05-14 Error-correcting device and decoder enabling fast error correction with reduced circuit scale

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000042867A JP3773740B2 (en) 2000-02-21 2000-02-21 Decoding device

Publications (2)

Publication Number Publication Date
JP2001237715A JP2001237715A (en) 2001-08-31
JP3773740B2 true JP3773740B2 (en) 2006-05-10

Family

ID=18565880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000042867A Expired - Fee Related JP3773740B2 (en) 2000-01-31 2000-02-21 Decoding device

Country Status (1)

Country Link
JP (1) JP3773740B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338141A (en) * 2002-05-17 2003-11-28 Sanyo Electric Co Ltd Data reproduction controller
JP2004022130A (en) 2002-06-19 2004-01-22 Sanyo Electric Co Ltd Coding error correcting device

Also Published As

Publication number Publication date
JP2001237715A (en) 2001-08-31

Similar Documents

Publication Publication Date Title
KR100517482B1 (en) Concurrent row/column syndrome generator for a product code
KR100415136B1 (en) Meth0d and apparatus for c0rrecting data errors
JP2605271B2 (en) Error correction and checking device
US5546409A (en) Error correction encoding and decoding system
US6357030B1 (en) ECC block format for storage device
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JP2000165259A (en) Data decoding processor and its method
US6167548A (en) Data error correcting method and apparatus
EP0929037A1 (en) Data transfer device and data transfer method
KR100738170B1 (en) Error correction device
US8181075B2 (en) Error correction device and recording and reproducing device
US7475324B2 (en) Encoding apparatus for storing data to disk
JP3773740B2 (en) Decoding device
JP3306413B2 (en) Error correction device and error correction method
KR100361947B1 (en) Error detection circuit applied to disk reproducing apparatus
JP3869598B2 (en) Digital data encoding processing circuit, encoding processing method, and digital data recording apparatus including encoding processing circuit
JP2605270B2 (en) Error correction and checking device
JP2009048713A (en) Descramble circuit and error detection code calculating circuit
KR100215807B1 (en) Error correcting apparatus and method for digital signal
JP3609714B2 (en) Error correction device
JP3342422B2 (en) Error correction method and device
JPH10154941A (en) Error correction circuit
JPH0824269B2 (en) Error correction method
JP2005332544A (en) Data encoding circuit, data encoding method, and data recording apparatus
JP2008010064A (en) Data coding circuit, data recorder, and pi/po arithmetic processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060215

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

Free format text: PAYMENT UNTIL: 20090224

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees