Movatterモバイル変換


[0]ホーム

URL:


JP2004348824A - ECC encoding method and ECC encoding device - Google Patents

ECC encoding method and ECC encoding device
Download PDF

Info

Publication number
JP2004348824A
JP2004348824AJP2003143157AJP2003143157AJP2004348824AJP 2004348824 AJP2004348824 AJP 2004348824AJP 2003143157 AJP2003143157 AJP 2003143157AJP 2003143157 AJP2003143157 AJP 2003143157AJP 2004348824 AJP2004348824 AJP 2004348824A
Authority
JP
Japan
Prior art keywords
parity
data
syndrome
circuit
calculation
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.)
Abandoned
Application number
JP2003143157A
Other languages
Japanese (ja)
Other versions
JP2004348824A5 (en
Inventor
Koreyasu Tatezawa
之康 立澤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba CorpfiledCriticalToshiba Corp
Priority to JP2003143157ApriorityCriticalpatent/JP2004348824A/en
Publication of JP2004348824ApublicationCriticalpatent/JP2004348824A/en
Publication of JP2004348824A5publicationCriticalpatent/JP2004348824A5/ja
Abandonedlegal-statusCriticalCurrent

Links

Images

Landscapes

Abstract

Translated fromJapanese

【課題】ディジタルデータのエラーを訂正するためのECCを記録ディジタルデータに付加するECCエンコード方法および装置において、ECC生成・付加を高速に行なうこと。
【解決手段】横縦のブロック構造のデータについて横方向1行の第1のパリティを第1の計算回路で計算して横方向に付加し、これを各行についてそれぞれ行なう第1のステップと、第1のステップがなされる間に、第1のパリティが付加されたデータについて縦方向1列の第2のパリティを第2の計算回路で計算し、これを各列についてそれぞれ行なう第2のステップとを具備する。
【選択図】 図1
An ECC encoding method and apparatus for adding an ECC for correcting an error in digital data to recorded digital data, in which ECC generation and addition are performed at high speed.
A first step of calculating a first parity of one row in a horizontal direction with respect to data having a horizontal and vertical block structure by a first calculation circuit and adding the same in a horizontal direction, and performing the first step for each row. While the first step is performed, the second parity of one column in the vertical direction is calculated by the second calculation circuit for the data to which the first parity is added, and the second step is performed for each column. Is provided.
[Selection diagram] Fig. 1

Description

Translated fromJapanese

【0001】
【発明の属する技術分野】
本発明は、ディジタルデータのエラーを訂正するためのエラー訂正符号(ECC:error correction code)を記録ディジタルデータに付加するECCエンコード方法および装置に係り、特に、ECC付加を高速に行なうのに適するECCエンコード方法および装置に関する。
【0002】
【従来の技術】
通信、コンピュータ、放送、映像メディアなどのディジタル化された各分野においては、データの信頼性の向上、さらには記録システムにおける高記録密度化のために一般にエラー訂正符号が用いられている。特に最近では、データ処理能力の向上に伴い高度な訂正能力を有するエラー訂正符号が用いられるようになってきている。
【0003】
高画質な映像を提供するDVD(digital versatile disc)再生装置においても、訂正能力の高いリードソロモン(RS)積符号と呼ばれるエラー訂正符号が用いられ、伝送系で発生したエラーが訂正できるようになっている。積符号は、縦横の異なる方向のエラー訂正符号を組み合わせたもので、情報データのブロックの横方向に対して付加された内符号のPI(parity inner)パリティと、情報データおよびPIパリティからなるブロックの縦方向に対して付加された外符号のPO(parity outer)パリティとからなる。このように構成された情報データ、PIパリティ、POパリティからなるブロックがECCブロックである。
【0004】
このようなECCブロックを利用して行われるDVD再生時のエラー訂正処理の構成および手順例としては、下記特許文献1に記載の方法がある。また、最近普及の目覚しい記録型DVD装置で必要となるECCエンコード処理、つまり情報データに対してPIおよびPOパリティを生成し付加するパリティ生成処理方法の例としては、下記特許文献2に記載のものがある。
【0005】
【特許文献1】
特開2002−74861号公報
【特許文献2】
特開2001−319431号公報
【0006】
【発明が解決しようとする課題】
上記のような記録型DVD装置は、AV(audio visual)用途を中心に普及し始めている。特に最近ではアクセス性に富み大容量なHDD(hard disc drive)と、保存・リムーバブル用途に特化した記録型DVDとの組み合わせによるハイブリッド型DVDレコーダーが人気を集めている。
【0007】
DVDはCD(compact disc)と比較して記憶容量が大きいことが特長の一つであるが、一方で、大容量であるためデータを等倍速(例えば映像でいえば通常の再生での速度)で記録する場合には、その書き込み処理に膨大な時間が必要となる。つまり、上記DVDレコーダーにおいて、HDDに記録された映像データのDVDへのダビングに、ユーザは長時間待たされることになる。
【0008】
このため、記録型DVD装置においても、現在主流の記録型CD装置のように、高速にディスク上へのデータ記録を行う「高倍速記録」対応が望まれている。こうした「高倍速記録」を装置側で対応するためには、書き込み処理時に行われるECCエンコード処理を高速処理化させる必要があり、例えば、特に高速化のボトルネックとなっているECC用データバッファ(一般的にはD−RAM(dynamic − random access memory )が用いられている)へのアクセス回数をいかに低減させるかが問題となる。
【0009】
本発明は、上記の状況を考慮してなされたもので、ディジタルデータのエラーを訂正するためのECCを記録ディジタルデータに付加するECCエンコード方法および装置において、ECC生成・付加を高速に行なうことが可能なECCエンコード方法および装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記の課題を解決するため、本発明に係るECCエンコード方法は、横縦のブロック構造のデータについて横方向1行の第1のパリティを第1の計算回路で計算して横方向に付加し、これを各行についてそれぞれ行なう第1のステップと、前記第1のステップがなされる間に、前記第1のパリティが付加されたデータについて縦方向1列の第2のパリティを第2の計算回路で計算し、これを各列についてそれぞれ行なう第2のステップとを具備することを特徴とする。
【0011】
また、本発明に係る別のECCエンコード方法は、横縦のブロック構造のデータについて横方向1行の第1のパリティを第1の計算回路で計算して横方向に付加し、これを各行についてそれぞれ行なう第1のステップと、前記第1のステップがなされる間に、前記第1のパリティが付加されたデータについて縦方向1列のシンドロームを第2の計算回路で計算し、これを各列についてそれぞれ行なう第2のステップと、前記計算されたシンドロームから縦方向の第2のパリティを生成する第3のステップとを具備することを特徴とする。
【0012】
すなわち、いずれの方法も、横方向の第1のパリティの発生・付加と、縦方向の第2のパリティの発生・付加のための処理とが並行的になされる。よって、第1のパリティを付加してデータを一旦メモリに格納する、格納されたデータにアクセスして第2のパリティの発生・付加を行なう、という時間的に縦続の2段階の処理が必要ない。時間的に縦続の処理に要するメモリアクセスは処理速度を低下させる大きな原因になる。したがって、本発明によれば、ECC生成・付加を高速に行なうことが可能になる。
【0013】
なお、後者の方法では、第2のパリティを計算するのにシンドロームを計算し計算で得られたシンドロームからこれを生成するようにしている。シンドローム計算は再生回路(ECCデコード回路)で必須であり、記録再生を要する装置では回路の兼用化によりその規模を削減する効果が得られ整合性がよい。
【0014】
また、本発明に係るECCエンコード装置は、横縦のブロック構造のデータについて横方向1行の第1のパリティを計算して横方向に付加し、これを各行についてそれぞれ行なう第1のパリティ生成回路と、前記第1のパリティの計算を前記各行についてそれぞれ行なう間に、前記第1のパリティが付加されたデータについて縦方向1列の第2のパリティを計算し、これを各列についてそれぞれ行なう第2のパリティ生成回路とを具備することを特徴とする。
【0015】
また、本発明に係る別のECCエンコード装置は、横縦のブロック構造のデータについて横方向1行の第1のパリティを計算して横方向に付加し、これを各行についてそれぞれ行なうパリティ生成回路と、前記第1のパリティの計算を前記各行についてそれぞれ行なう間に、前記第1のパリティが付加されたデータについて縦方向1列のシンドロームを計算し、これを各列についてそれぞれ行なうシンドローム生成回路と、前記計算されたシンドロームから縦方向の第2のパリティを生成する回路とを具備することを特徴とする。
【0016】
これらの装置は、上記の各方法を実行するためのハードウエア構成を備えたものである。
【0017】
【発明の実施の形態】
本発明に係るECCエンコード方法の実施態様として、前記第2のステップは、前記第1のパリティが付加された前記データの横方向のアドレスごとに対応を有するメモリをバッファとして用い該バッファと前記第2の計算回路との間で途中結果を往復しながら行なうようにすると都合がよい。これは、第2の計算回路では縦方向のデータでパリティ計算(またはシンドローム計算)を行なうためである。すなわち、縦方向のデータは飛び飛びにしか得られないので、横方向のアドレスで管理されたメモリをバッファとして用いそれとのデータ出し入れで所定の計算を行なう。
【0018】
また、実施態様として、前記第1のパリティが付加された前記データをメモリに順次格納するステップをさらに具備するようにしてもよい。メモリに一時格納するものである。
【0019】
また、ここで、実施態様として、前記第2のステップで計算された第2のパリティを、前記メモリに格納された前記データに対してインターリーブするように前記メモリに格納するステップをさらに具備するようにしてもよい。一時格納のメモリを第2のパリティのインターリーブ処理に利用するものである。
【0020】
または、実施態様として、前記メモリに格納された前記第1のパリティが付加された前記データを該メモリから読み出しながら前記計算された第2のパリティをインターリーブするステップをさらに具備するようにしてもよい。一時格納のメモリからデータを順次出力するのと並行して第2のパリティのインターリーブを行なうものである。これによれば、メモリへのアクセスが増加せず高速化に一層都合がよい。
【0021】
また、実施態様として、前記第1のステップは、前記横縦のブロック構造のデータについて横方向1行のシンドロームを生成し、該生成されたシンドロームから横方向の前記第1のパリティを計算して横方向に付加し、これを各行についてそれぞれ行なうようにしてもよい。これは、第1のパリティの生成に、シンドロームの計算を利用するものである。
【0022】
また、本発明に係るECCエンコード装置の実施態様として、前記第1のパリティが付加された前記データの横方向のアドレスごとに対応を有するメモリをさらに具備し、前記第2のパリティ生成回路は、前記メモリをバッファとして用い該バッファとの間で途中結果を往復しながら前記第2のパリティの計算を行なうようにすると都合がよい。
【0023】
また、実施態様として、前記第1のパリティが付加されたデータを格納するメモリをさらに具備するようにしてもよい。
【0024】
また、ここで、実施態様として、前記メモリに格納された前記データを該メモリから読み出しながら前記計算された第2のパリティをインターリーブするためのセレクタをさらに具備するようにしてもよい。
【0025】
また、実施態様として、前記第1のパリティが付加された前記データの横方向のアドレスごとに対応を有するメモリをさらに具備し、前記シンドローム生成回路は、前記メモリをバッファとして用い該バッファとの間で途中結果を往復しながら前記シンドロームの計算を行なうようにすると都合がよい。
【0026】
また、実施態様として、前記パリティ生成回路は、前記横縦のブロック構造のデータについて横方向1行のシンドロームを生成し、該生成されたシンドロームから横方向の前記第1のパリティを計算して横方向に付加し、これを各行についてそれぞれ行なうようにしてもよい。
【0027】
以上のECCエンコード装置としての実施態様は、上記ECCエンコード方法としての実施態様を実現するためのハードウエアを備えたものである。
【0028】
以上を踏まえ、以下では本発明の実施形態を図面を参照しながら説明する。図1は、本発明の一実施形態に係るECCエンコード装置を記録型DVD装置に適用した場合の記録系構成を示すブロック図である。図1に示すように、この記録型DVD装置は、記録系構成として、ホスト201、(ID+IED+RSV)付加回路・スクランブル回路・EDC付加回路202、PIパリティ生成回路203、POパリティ生成回路204、POパリティ用バッファ205、RAM制御部206、RAM207、変調回路208、記録補償回路209、ピックアップヘッド(PUH)210、POパリティインターリーブ用セレクタ211、記録対応ディスク212を有する。
【0029】
ホスト201は、記録すべきユーザデータをバイト幅(8ビット幅)で(ID+IED+RSV)付加回路・スクランブル回路・EDC付加回路202に供給するものである。ここで、IDはidentification data、IEDはID error detection code、RSVはreserved、EDCはerror detection codeである。
【0030】
(ID+IED+RSV)付加回路・スクランブル回路・EDC付加回路202は、供給されたユーザデータのあるまとまりの先頭にID、IED、RSVを付加し、そのまとまりのユーザデータに対してはスクランブル処理を行ない、さらにその後尾にEDCを付加するものである。この一連の処理がされたデータは、IDからEDCまでで2064バイト(172バイト×12行 :セクタと呼ばれる。後述する図4参照)になり、行に沿って順にPIパリティ生成回路203に供給される。
【0031】
PIパリティ生成回路203は、供給されるデータの172バイトごとに10バイトの第1のパリティとしてのPIパリティを所定の手順により生成し付加するものである。10バイトのPIパリティの付加されたデータ(182バイト)はRAM制御部206を介してRAM207に格納される。RAM207へのこのような格納が192回(12行×16回)繰り返されると、ひとつの単位(POパリティなしのECCブロック)となる。RAM207は、したがって、少なくとも34944バイト(182バイト(182列)×192行)の容量がある(後述する図6参照)。
【0032】
10バイトのPIパリティの付加されたデータは、POパリティ生成回路204にも供給される。POパリティ生成回路204は、PIパリティ生成回路203の出力のRAM207への格納と並行して、所定の手順により第2のパリティとしてのPOパリティを生成するものである。並行してPOパリティを生成するので、RAM207に34944バイトのデータ格納が完了した時点で、これらのデータに付加すべきPOパリティも生成される。POパリティは、34944バイト(182×192)の縦方向192バイトに対して16バイトずつ生成され、上記ひとつの単位に対応して16行×182=2912バイトのデータサイズとなる。
【0033】
POパリティ用バッファ205は、POパリティ生成回路204がPOパリティを生成するために必要なバッファとして機能するメモリである。その容量はちょうど上記の16行×182=2912バイトである。すなわち、POパリティ生成回路204は、POパリティ用バッファ205をワークエリアとして用い、PIパリティ生成回路203の出力のRAM207への34944バイトのデータ格納が完了した時点で格納されたデータが、POパリティとなるようにデータを出し入れしながら計算を行なう。生成されたPOパリティは、その後POパリティ用バッファ205からPOパリティインターリーブ用セレクタ211に導かれる。
【0034】
RAM制御部206は、RAM207へのデータ書き込み、読み出しのアドレス制御を行ない、所定のアドレスに所定のデータを書き込み、所定のデータを所定のアドレスから読み出すものである。書き込みは、PIパリティ生成回路203からメモリとしてのRAM207へなされ、読み出しは、RAM207からPOパリティインターリーブ用セレクタ211に対してなされる。RAM207は、上記のように基本的に34944バイト(182バイト×192行)のデータを格納するものである。
【0035】
POパリティインターリーブ用セレクタ211は、POパリティ用バッファ205からおよびRAM制御部206を介してRAM207から接続され、RAM207に格納された横方向182バイトの12行ごとにPOパリティの1行分を付加して(インターリーブして)出力するものである。POパリティのこのようなインターリーブは規格として定められている。POパリティの付加されたデータは変調回路208に供給される。
【0036】
変調回路208は、供給されたデータに対して、DVD記録の規格として定められている8/16変換(8ビットから16ビットへの変換)を行ないさらにバイナリデータ(1ビット幅)として出力するものである。出力されたデータは記録補償回路209に供給される。記録補償回路209は、記録対応ディスク212への記録再生で生じる物理的な伝送特性を補償するため、供給されたバイナリデータ信号に記録補償処理を行なう。記録補償されたバイナリデータ信号はPUH210に供給される。
【0037】
PUH210は、供給されたバイナリデータ信号に従ってレーザドライバを駆動し、レーザ光により記録対応ディスク212にその信号を記録する。記録対応ディスク212は、PUH210によりバイナリデータが書き込まれるリムーバブルなメディアである。
【0038】
図2は、図1に示す記録系構成によりなされる処理手順を機能的に説明する機能ブロック図である。図3は、ひとつのECCブロックの構成を示す図である。図4は、図3に示すECCブロックにおけるPIおよびPOパリティを除いた部分(横縦のブロック構造の情報データ部分)を構成する単位であるセクタ(16セクタで図3に示す情報データになる)の内部構成を示す図である。
【0039】
また、図5は、図1中に示すPIパリティ生成回路203の具体的な構成例を示す図である。図6は、図1中に示すRAM207に格納されるデータの構成を示す図である。図7は、図1中に示すPOパリティ生成回路204の構成および動作をやや詳細に説明するブロック図である。図8は、図7に示すPOパリティ生成回路などの動作フローを示す流れ図である。
【0040】
以下、図1とともに、図2ないし図8をも必要に応じて参照し、本実施形態に係るECCエンコード装置の動作説明を行なう。
【0041】
図1において、ホスト201から転送されてきたユーザデータは、まず(ID+IED+RSV)付加回路・スクランブル回路・EDC付加回路202に入力される。上記回路202は、ユーザデータ2048バイト単位で動作し、図4に示される2064バイトのデータであるセクタデータ構成に、ユーザデータを変換して出力する。ただし、スクランブル処理だけはユーザデータに相当する図示のメインデータのみに施される。上記回路202では、図2に示す処理手順300から304まで処理されることになる。
【0042】
一方、上記回路202の出力データ単位は、動作データ単位2064バイトではなくその1/12であり、図4に示すセクタの1行分に相当する172バイト単位である。この172バイトのデータがPIパリティ生成回路203に順次転送される。PIパリティ生成回路203では、この172バイトのデータからPI方向のパリティデータ10バイトを計算して末尾に付加し、182バイトの符号語を生成する。
【0043】
ここでPIパリティの生成方法について説明する。DVD規格におけるガロア体による原始多項式は以下の式で定義されている。
P(x)=x+x+x+x+1
また、PIパリティの生成多項式は以下のような式となる。

Figure 2004348824
これはα〜αまでの連続する10個の成分が根となる符号系列を生成するための式である。PIパリティを付加するには、この生成多項式で172バイトからなる情報多項式を割り、その余りを情報多項式に付加すればよい。
【0044】
このような付加処理を回路的に行なうには、図5に示すような構成を有するPIパリティ生成回路(第1の計算回路)を用いることができる。このPIパリティ生成回路は、シフトレジスタによる除算回路を表しており、図中のDがシフトレジスタ54、…57を、×αがガロア体の乗算回路51、…53(ガロア乗算器)を、それぞれを示している。符号58、59、60等は排他的論理和を求める演算回路(排他的論理和ゲート)である。なお、図5に示す構成による各部の演算やレジスト操作は、8ビット(1バイト)をひとつのデータ単位として行なう。
【0045】
動作としては、まず、SWaを閉じてSWbを1側に倒し、入力端子から情報データH(x=0〜171)を順にシフトレジスタ54、…57に入力していく。また、同時に出力端子(SWbの共通端側)から入力データをそのまま出力させていく。172バイト全てのデータを入力および出力し終えたら、SWaを開放してSWbを2側に倒し、シフトレジスタ54、…57内に生成されたパリティデータ10バイトをさらに出力端子より順次出力していく。これによりパリティ付データI(0〜181)が生成される。
【0046】
182バイトの出力データは、RAM制御部206を通過してRAM207に順次格納されていき、この動作を192回繰り返すことによって図6に示すようなPOパリティなしのECCブロック(182バイト×192行)が生成される。なお、メモリとしてのRAM207には大容量で安価なD−RAMを用いるのが通常は得策である。
【0047】
また一方、この182バイト×192行の出力データはRAM207への格納と並行してPOパリティ生成回路204にも転送されており、POパリティ生成回路204では、PO系列の182列におけるパリティ計算をリアルタイムで行なっている。ここでPOパリティの生成方法について説明する。
【0048】
POパリティの生成多項式はPIと同様に以下のような式で表すことができる。
Figure 2004348824
【0049】
これは、α〜α15までの連続する16個の成分が根となる符号系列を生成するための式であることを表している。POパリティ計算の原理自体はPIパリティの場合とほぼ同様であるが、POパリティ生成回路204の構成は、PIパリティ生成回路203と同様とするわけにはいかない。これは、PI系列がECCブロックの行方向、つまりデータストリーム方向の系列であり、10バイトのPIパリティ生成のために必要な情報データ172バイトが連続で転送されるのに対し、PO系列はECCブロックの列方向の系列であるので必要な情報データが連続では転送されないためである。
【0050】
すなわち、PIパリティ生成回路203は連続する172バイトからPIパリティを計算すればよいのに対し、POパリティ16バイトを生成するために必要な情報データ192バイトは、受信データ182バイトごとに1バイトしか得られない。さらに、他の181バイトは各々異なったPO列の情報データである。そこで、POパリティ生成回路204は、入力データJ(182バイト×192行)を用いて182列分のPOパリティ計算を、入力1バイトごとに随時切り替えながら計算するように構成する。
【0051】
ここで、POパリティ生成回路204の構成および動作について図7、図8を参照して説明する。図7は、図1中に示すPOパリティ生成回路204の構成および動作をやや詳細に説明するブロック図である。図8は、図7に示すPOパリティ生成回路などの動作フローを示す流れ図である。図7において、図1中に示した構成要素と同一のものには同一符号を付してある。
【0052】
入力データJ(182バイト×192行)は、1バイト単位でPOパリティ生成コントローラ701とPOパリティ計算回路702(第2の計算回路)に転送される。POパリティ生成コントローラ701は、182バイトカウンタを有し、入力された情報データがどのPO列であるか認識してPOパリティ計算回路702とPOパリティ用バッファ205の入出力とをコントロールしている。ここでPOパリティ用バッファ205の入出力のコントロールは、インターフェース703を介してなされる。
【0053】
POパリティ計算回路702は、内部にD〜D15の16個のレジスタとガロア乗算器とを有し、図7中のPOパリティ計算回路702下に示した表のように除算計算を行なっている(図8のステップ801)。この除算計算は、図5に示したPIパリティ回路と同様の構成原理によるものである。図7中の表において、Daが計算後のDの値である(n=0〜15)。
【0054】
計算すべきPO列は1バイトごとに切り替わるため、上記16個のレジスタの内部データも1バイトごとにPOパリティ用バッファ205に退避させる必要がある(ステップ804)。そして、182バイト後に同一PO列の情報データが転送されてきたら、上記バッファ205より途中結果を読み出し(ステップ802)、内部のレジスタD〜D15へデータを移行させ、再度POパリティ計算を行う(ステップ803)。この動作を192回繰り返すことで(ステップ805のY)、PO系列の1列のPOパリティ計算が完成する。
【0055】
さらに同様の計算を残り181のPO列に対しても連続で行なっており、入力データJ(182バイト×192行)が全て入力された時点で、全てのPO列におけるPOパリティ計算が終了し、パリティデータはPOパリティ用バッファ205に格納された状態となる。これと同時にJのRAM207への格納も終了している。すなわち、この時点で、図3に示すECCブロックのうち情報データおよびPIパリティの部分がRAM207に格納され、POパリティの部分がPOパリティ用バッファ205に格納された状態となる。
【0056】
なお、図3に示すECCブロックはDVD規格であり、そのPO方向の誤り訂正符号は、符号長208バイト、情報長192バイト、最小距離17であり、PI方向の誤り訂正符号は、符号長182バイト、情報長172バイト、最小距離11である。
【0057】
続いて、ECCエンコード処理が終了したECCブロックデータに対してPOパリティインターリーブ用セレクタ211によりインターリーブ処理を施し、これを変調回路208に転送する。インターリーブ処理は、PIパリティ付セクタデータ2184バイト(182バイト×12行)ごとにPOパリティ部のPI方向データ182バイトを付加していく処理で、16セクタ分行なう。この実施形態においては、RAM制御部206からの出力であるPIパリティ付セクタデータ2184バイトと、POパリティ用バッファ205からの出力182バイトをインターリーブ用セレクタ211で16セクタごとに切り替えて行なう。
【0058】
以上の処理で、図2における処理手順306までが終了する。すなわち、上記16セクタに対応して16の記録フレームが生成される。
【0059】
なお、インターリーブ処理の別の形態として、POパリティ用バッファ205内に完成されたPOパリティデータを一度RAM制御部206を介してRAM207内へインターリーブ処理を施すように格納してもよい。この場合には、RAM207の容量は、POパリティデータをも格納できるような大きさにしておく。これにより、RAM207に格納されたデータは、POパリティインターリーブ用セレクタ211を介することなく変調回路208へ出力することができる。ただし、上記セレクタ211を用いる場合よりもRAM207へのアクセス回数は増える。
【0060】
インターリーブの後、図2における処理手順307までの処理として、変調回路208において、転送されたデータに対して同期コード(ECCブロックひとつを26の同期フレームにする)を付加し、DVDの変調規則である8/16変調処理を行い、記録補償回路209へ転送する。記録補償回路209では、変調回路208からのバイナリ変調データ信号に記録補償を施す。PUH210では、記録補償されたバイナリ変調データ信号に基づきレーザードライバを駆動させ、記録対応ディスク212上に記録マークを形成していく。
【0061】
以上のように、本実施形態におけるECCエンコード装置では、PIパリティ生成計算およびPOパリティ生成計算を、ECC用データのRAM207へのデータ格納処理と並行して行なうことで、パリティ計算のためのRAM207からの情報データ読み出し/書き込み処理が全く省かれる。これにより、高倍速化を容易に可能とするECCエンコード処理が実現できる。
【0062】
次に、本発明の別の実施形態に係るECCエンコード装置について図9を参照して説明する。図9は、本発明の別の実施形態に係るECCエンコード装置を記録型DVD装置に適用した場合の記録系構成を示すブロック図である。図9において、すでに説明した構成要素と同一のものには同一符号を付してある。以下ではその部分の重複を避けて説明する。
【0063】
この実施形態では、PIパリティの生成と並行するPOパリティの生成に少なくとも「POシンドローム生成回路」および「ECCデコード回路」を用いる。これらの回路自体は、入出力される信号という観点では、DVD装置の再生回路で一般的に用いられているものと同一の機能である。さらに、「POシンドローム生成回路」を「POシンドローム用バッファ」と組み合わせることにより、RAM207へのデータ格納と並行して「POシンドローム生成回路」を動作させ、パリティ計算のためのRAM207へアクセスを省略できるようにしたものである。
【0064】
図9に示すように、この記録型DVD装置は、すでに説明した構成要素のほか、POシンドローム生成回路904、POシンドローム用バッファ905、ECCデコード回路906を有し、これらが図1に示した実施形態のPOパリティ生成回路204およびPOパリティ用バッファ205の代わりに設けられる。
【0065】
POシンドローム生成回路904は、PIパリティ生成回路203の出力のRAM207への格納と並行して、所定の手順によりPOシンドロームを生成するものである。並行してPOシンドロームを生成するので、RAM207に34944バイト(182バイト×192行)のデータ格納が完了した時点で、POシンドロームが生成される。POシンドロームは、34944バイトの縦方向192バイト(仮想的に加えた適当な16バイトを含めて208バイト)に対して16バイトずつ生成され、ひとつのECCブロックについて16行×182=2912バイトのデータサイズになる。
【0066】
POシンドローム用バッファ905は、RAM207へのデータ格納と並行して、POシンドローム生成回路904がPOシンドロームを上記のように生成するために必要なバッファとして機能するメモリである。そのサイズはちょうど上記の16行×182=2912バイトである。すなわち、POシンドローム生成回路204は、POシンドローム用バッファ905をワークエリアとして用い、PIパリティ生成回路203の出力のRAM207への34944バイトのデータ格納が完了した時点で格納されたデータが、POシンドロームとなるようにデータを出し入れしながら計算を行なう。
【0067】
ECCデコード回路906は、POシンドローム用バッファ905に格納されたPOシンドロームに基づきイレージャ訂正を行なうものである。このイレージャ訂正により、POシンドロームの生成時に適当に加えたデータの領域にPOパリティ(16行×182=2912バイト)が生成される。生成されたPOパリティは、POシンドローム用バッファ905に上書き格納される。上書き格納されたPOパリティは、その後POシンドローム用バッファ905からPOパリティインターリーブ用セレクタ211に導かれる。
【0068】
図10は、図9中に示すPOシンドローム生成回路904の構成および動作をやや詳細に説明するブロック図である。図11は、図10中に示すPOシンドローム計算回路1002の具体的な構成例を示す図である。図12は、図10に示すPOシンドローム生成回路などの動作フローを示す流れ図である。
【0069】
以下、図9とともに、図10ないし図12をも必要に応じて参照し、本実施形態に係るECCエンコード装置の動作説明を行なう。
【0070】
図9において、PIパリティ生成回路203の182バイト×192行の出力データはRAM207への格納と並行してPOシンドローム生成回路904にも転送されており、POシンドローム生成回路904では、PO系列の182列におけるシンドローム計算を1バイトごとに切り替えてリアルタイムで行なっている。PO系列の1データ列におけるシンドロームS〜S15は以下に示す式で計算することができる。ただし、I(x=0〜207)はここではPO系列の符号データ列208バイトを表す。
=I+I+…+I206+I207
=Iα207+Iα206+…+I206α+I207



15=Iα15×207+Iα15×206+…+I206α15+I207
【0071】
また、これらの計算式でもわかるようにシンドロームを計算するためには208バイトの符号データ列が必要であり、入力されてくる192バイトでは16バイト分足りない。不足分の16バイトのデータは後のECCデコード処理によって訂正されると結果としてPOパリティになるので当初は任意のデータで構わない。ここでは、これを0データで埋めることにより計算処理の効率的を図る。
【0072】
不足分の16バイトを0データとして処理するためのPOシンドローム計算回路1002(第2の計算回路:図10を参照)を図11を用いて説明する。図11において、破線で囲まれた部分は、シンドロームを生成するため再生回路で通常用いられている周知の部分である。
【0073】
すなわち、フリップフロップ(レジスタD 、x=0〜15)112〜118それぞれの出力をガロア乗算器115〜119に導き(ただしフリップフロップ112についてはガロア乗算器は「1」に相当)、ガロア乗算器115〜119等の出力を排他的論理和ゲート111〜117の一方の入力とする。排他的論理和ゲート111〜117の他方の入力側には入力データIが共通に入力され、排他的論理和ゲート111〜117の出力がフリップフロップ(レジスタD)112〜118それぞれの入力とされる。なお、図11に示す構成による各部の演算や動作は、8ビット(1バイト)をデータ単位として行なう。
【0074】
図11中、破線で囲まれた、フリップフロップ(レジスタD)112〜118とガロア乗算器115〜119と排他的論理和ゲート111〜117とからそれぞれがなる各回路に192バイトの入力データを順次入力すると、フリップフロップ(レジスタD)112〜118にはこの192バイトによるシンドローム計算途中結果が以下の式Sa〜S15aのように生成される。
a=I+I+…+I190+I191
a=Iα191+Iα190+…+I190α+I191



15a=Iα15×191+Iα15×190+…+I190α15+I191
【0075】
この式と上述のシンドローム計算式とを比較し、さらにI192〜I207が0とすると、シンドローム計算を成立させるためには各々のシンドローム計算途中結果に対してα16×m(m=0〜15:シンドローム番号)を乗じればよいことがわかる。このため、図11に示す回路(POシンドローム計算回路1002)においては、192クロック経過後にSW0〜SW15を閉じることで、シンドローム計算を完了させるようガロア乗算器116、…、120が置かれる仕組みとなっている。
【0076】
このような演算を行うPOシンドローム計算回路1002であるが、先に説明した実施形態と同じようにPOシンドローム生成回路904全体としてはPO182列のシンドローム計算を1バイトごとに切り替えて演算していかなければならない。このため、レジスタD〜D15の内容をPOシンドローム用バッファ905に退避させながら実施する。
【0077】
図10は、図9中に示すPOシンドローム生成回路904の構成および動作をやや詳細に説明するブロック図である。図10中には、POシンドローム生成回路904に対応する部分のほかに、POシンドローム用バッファ905、ECCデコード回路906も示している。
【0078】
入力データJ(182バイト×192行)が1バイト単位でPOシンドローム生成コントローラ1001とPOシンドローム計算回路1002に転送される(図12のステップ1201)。POシンドローム生成コントローラ1001は182バイトカウンタを有し、入力された情報データがどのPO列であるか認識してPOシンドローム計算回路1002とPOシンドローム用バッファ905の入出力をコントロールしている。ここでPOシンドローム用バッファ905の入出力のコントロールは、インターフェース1003を介してなされる。
【0079】
また、計算すべきPO列は1バイトごとに切り替わるため、16個のレジスタD(x=0〜15)の内部データも1バイトごとにPOシンドローム用バッファ905に退避させる必要がある(ステップ1204)。そして、182バイト後に同一PO列の情報データが転送されてきたら、上記バッファ905より途中結果を読み出し(ステップ1202)、内部のレジスタD(x=0〜15)へデータを移行させ、再度POシンドローム計算を行う(ステップ1203)。この動作を192回繰り返し、最後に前述した図11のSW0〜SW15を閉じることにより、PO系列の1列のPOシンドローム計算が完成する(ステップ1205のY)。
【0080】
さらに、同様の計算を残りの181のPO列に対しても連続で行なっており、入力データJ(182バイト×192行)が全て入力された時点で、全てのPO列におけるPOシンドローム計算が終了し、シンドロームデータはPOシンドローム用バッファ905に格納された状態となる。これと同時にJのRAM207への格納も終了している。
【0081】
続いて、作成されたPOシンドロームをバッファ905から読み出してECCデコード回路906に転送し(ステップ1206)、ECCデコード回路906によるエラー訂正処理を行なう(ステップ1207)。言い換えると上記処理(POシンドローム計算回路1002での処理)では0データとして埋めた16バイトを、生成すべきPOパリティ16バイトに変換する。なお、ECCデコード回路906は、周知のようにシンドローム修正回路、ユークリッド計算回路、チェーンサーチ回路などを有するものである。
【0082】
上記エラー訂正処理については、通常、PO系列の訂正能力が8バイトまでであり、8バイトを超えるエラーは訂正することはできないが、エラーの位置情報(イレージャポインタ)を用いれば16バイトまでのエラー訂正処理が可能である。これを消失訂正(イレージャ訂正)と一般的にはいう。この実施形態においては、生成すべきPOパリティの位置が符号列の末尾16バイトと確定しているため、エラー位置からイレージャポインタを生成しておけば訂正処理、つまりPOパリティ生成が可能である。
【0083】
より具体的には、POシンドローム用バッファ905より、所望のシンドロームデータをECCデコードコントローラ1004によって選択して、ECCデコード回路906へ送る。そして、ECCデコード回路906ではイレージャポインタによりシンドローム修正処理を行った後、チェーンサーチ処理によりエラー位置におけるエラーパターン(つまりはPOパリティ)を算出する。
【0084】
次に、ECCデコードコントローラ1004は、算出したPOパリティを、エラー位置に基づいてPOシンドローム用バッファ905上の呼び出してきたシンドローム領域に上書きしていく(ステップ1208)。この処理を全PO系列において実行することによりPOシンドローム用バッファ905には全PO系列のパリティデータが完成する。POシンドローム用バッファ905内に完成されたPOパリティデータは、先の実施形態におけるPOパリティ用バッファ205内に完成されるPOパリティデータと同様にその後の処理に用いられる。
【0085】
なお、ここでの説明では、生成されたPOパリティをシンドローム用バッファ905に書き込む場合について述べたが、RAM制御部206を介してRAM207を書き込んでも構わない。この場合には、RAM207の容量は、POパリティデータをも格納できるような大きさにしておく。RAMへの書き込みの際、POパリティのインターリーブ処理を施すように格納してもよい。
【0086】
以上説明のようにこの実施形態におけるECCエンコード装置では、PIパリティ生成計算とPOシンドローム計算を、ECC用データRAM207へのデータ格納処理と並行して行い、さらにPOパリティ生成のためのECCデコード処理に関してもRAM207へのアクセスが省かれる。これにより、高倍速化を容易に可能とするECCエンコード処理が実現できる。
【0087】
また、POシンドローム回路904やECCデコード回路906、POシンドローム用バッファ905は、再生系の回路として用いることもできる。したがって、記録再生系全体として回路規模を削減するのにも効果がある。
【0088】
また、上記実施形態では、POパリティの方を、シンドローム生成回路を用いてECCデコード回路により生成したが、PIパリティに関しても同様にシンドローム生成回路およびECCデコード回路を用いて生成することができる。この場合には別途PIシンドローム用バッファを設け、また、PIパリティ部のシンドローム計算およびECCデコード回路によるPIパリティ計算の処理手順が追加される。このため処理速度では上記各実施形態に劣るものの、再生系回路との更なる兼用を行なうことで回路規模の削減を図ることができる。
【0089】
【発明の効果】
以上詳述したように、本発明によれば、横方向の第1のパリティの発生・付加と、縦方向の第2のパリティの発生・付加のための処理とが並行的になされる。よって、第1のパリティを付加してデータを一旦メモリに格納する、格納されたデータにアクセスして第2のパリティの発生・付加を行なう、という2段階の処理の必要がないので、ECC生成・付加を高速に行なうことが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るECCエンコード装置を記録型DVD装置に適用した場合の記録系構成を示すブロック図。
【図2】図1に示す記録系構成によりなされる処理手順を機能的に説明する機能ブロック図。
【図3】ひとつのECCブロックの構成を示す図。
【図4】図3に示すECCブロックにおけるPIおよびPOパリティを除いた部分(情報データ部分)を構成する単位であるセクタ(16セクタで図3に示す情報データになる)の内部構成を示す図。
【図5】図1中に示すPIパリティ生成回路203の具体的な構成例を示す図。
【図6】図1中に示すRAM207に格納されるデータの構成を示す図。
【図7】図1中に示すPOパリティ生成回路204の構成および動作をやや詳細に説明するブロック図。
【図8】図7に示すPOパリティ生成回路などの動作フローを示す流れ図。
【図9】本発明の別の実施形態に係るECCエンコード装置を記録型DVD装置に適用した場合の記録系構成を示すブロック図。
【図10】図9中に示すPOシンドローム生成回路904の構成および動作をやや詳細に説明するブロック図。
【図11】図10中に示すPOシンドローム計算回路1002の具体的な構成例を示す図。
【図12】図10に示すPOシンドローム生成回路などの動作フローを示す流れ図。
【符号の説明】
51、52、53…ガロア乗算器 54、55、56、57…シフトレジスタ58、59、60…排他的論理和ゲート 111、113、117…排他的論理和ゲート 112、114、118…レジスタ 115、119…ガロア乗算器 116、120…ガロア乗算器 201…ホスト 202…(IE+IED+RSV)付加回路・スクランブル回路・EDC付加回路 203…PIパリティ生成回路 204…POパリティ生成回路 205…POパリティ用バッファ206…RAM制御部 207…RAM 208…変調回路 209…記録補償回路 210…ピックアップヘッド 211…POパリティインターリーブ用セレクタ 212…記録対応ディスク 701…POパリティ生成コントローラ702…POパリティ計算回路 703…インターフェース 904…POシンドローム生成回路 905…POシンドローム用バッファ 906…ECCデコード回路 1001…POシンドローム生成コントローラ 1002…POシンドローム計算回路 1003…インターフェース 1004…ECCデコードコントローラ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an ECC encoding method and apparatus for adding an error correction code (ECC) for correcting errors in digital data to recorded digital data, and more particularly to an ECC encoding method suitable for performing high-speed ECC addition. The present invention relates to an encoding method and apparatus.
[0002]
[Prior art]
2. Description of the Related Art In digital fields such as communication, computers, broadcasting, and video media, error correction codes are generally used for improving data reliability and increasing recording density in a recording system. In particular, recently, an error correction code having a high correction capability has been used with an improvement in data processing capability.
[0003]
Even in a DVD (digital versatile disc) reproducing apparatus that provides high-quality video, an error correction code called a Reed-Solomon (RS) product code having a high correction capability is used, and an error generated in a transmission system can be corrected. ing. The product code is a combination of error correction codes in different vertical and horizontal directions, and is a block composed of a PI (parity inner) parity of an inner code added in the horizontal direction of a block of information data, and information data and PI parity. And a PO (parity outer) parity of an outer code added in the vertical direction of the data. The block composed of the information data, the PI parity, and the PO parity thus configured is an ECC block.
[0004]
As a configuration and an example of an error correction process at the time of reproducing a DVD performed using such an ECC block, there is a method described inPatent Document 1 below. An example of an ECC encoding process required in a remarkable recording type DVD device that has recently become widespread, that is, a parity generation processing method of generating and adding a PI and a PO parity to information data is described inPatent Document 2 below. There is.
[0005]
[Patent Document 1]
JP-A-2002-74861
[Patent Document 2]
JP 2001-319431 A
[0006]
[Problems to be solved by the invention]
The recordable DVD devices as described above have begun to spread mainly for AV (audio visual) applications. In particular, recently, a hybrid DVD recorder, which is a combination of a hard disk drive (HDD) with high accessibility and a large capacity, and a recordable DVD specialized for storage / removable use, has been gaining popularity.
[0007]
One of the features of the DVD is that it has a large storage capacity as compared with a CD (compact disc), but on the other hand, because of its large capacity, the data can be read at the same speed (for example, in the case of video, the speed of normal reproduction). In the case of recording by using, an enormous amount of time is required for the writing process. That is, in the DVD recorder, the user waits a long time for dubbing the video data recorded on the HDD to the DVD.
[0008]
For this reason, there is a demand for a recordable DVD device that is compatible with "high-speed recording" for recording data on a disk at a high speed, like a record-type CD device that is currently mainstream. In order to cope with such “high-speed recording” on the device side, it is necessary to speed up the ECC encoding process performed at the time of the writing process. For example, an ECC data buffer (which is a bottleneck in speeding up) is required. A problem is how to reduce the number of accesses to a D-RAM (dynamic-random access memory) in general.
[0009]
SUMMARY OF THE INVENTION The present invention has been made in consideration of the above situation, and an ECC encoding method and apparatus for adding an ECC for correcting an error in digital data to recorded digital data, in which ECC generation and addition are performed at high speed. It is an object to provide a possible ECC encoding method and device.
[0010]
[Means for Solving the Problems]
In order to solve the above problem, an ECC encoding method according to the present invention calculates a first parity of one row in a horizontal direction with respect to data having a horizontal and vertical block structure by a first calculation circuit and adds the first parity in a horizontal direction, A first step of performing this for each row, and during the first step, the second parity of one column in the vertical direction for the data to which the first parity is added is calculated by a second calculation circuit. And a second step of calculating and performing this for each column.
[0011]
In another ECC encoding method according to the present invention, a first parity of one row in a horizontal direction is calculated by a first calculation circuit for data having a horizontal and a vertical block structure, and the first parity is added in a horizontal direction. A first step to be performed, respectively, and while the first step is performed, a syndrome in one column in the vertical direction is calculated by the second calculation circuit for the data to which the first parity is added, and this is calculated by each column. , And a third step of generating a second vertical parity from the calculated syndrome.
[0012]
That is, in each method, the process for generating and adding the first parity in the horizontal direction and the process for generating and adding the second parity in the vertical direction are performed in parallel. Therefore, there is no need for a temporally cascaded two-stage process of adding the first parity and temporarily storing the data in the memory, and accessing the stored data to generate and add the second parity. . Memory access required for cascaded processing in terms of time is a major cause of lowering processing speed. Therefore, according to the present invention, it is possible to generate and add ECC at high speed.
[0013]
In the latter method, a syndrome is calculated to calculate the second parity, and the second parity is generated from the syndrome obtained by the calculation. Syndrome calculation is indispensable in a reproducing circuit (ECC decoding circuit), and in an apparatus requiring recording and reproducing, the effect of reducing the scale is obtained by using the circuit in common, and the consistency is good.
[0014]
Further, the ECC encoding device according to the present invention calculates a first parity in one row in the horizontal direction for data having a horizontal and vertical block structure, adds the first parity in the horizontal direction, and performs the first parity generation circuit for each row. And while calculating the first parity for each row, calculate a second parity in one column in the vertical direction for the data to which the first parity is added, and perform the calculation for each column. And two parity generating circuits.
[0015]
Further, another ECC encoding apparatus according to the present invention calculates a first parity of one row in the horizontal direction for data having a horizontal and vertical block structure, adds the first parity in the horizontal direction, and performs a parity generation circuit for each of the rows. A syndrome generation circuit that calculates a vertical column of syndromes for the data to which the first parity is added while performing the calculation of the first parity for each of the rows, A circuit for generating a second parity in the vertical direction from the calculated syndrome.
[0016]
These devices are provided with a hardware configuration for executing each of the above methods.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
As an embodiment of the ECC encoding method according to the present invention, in the second step, a memory having a correspondence for each horizontal address of the data to which the first parity is added is used as a buffer, and the buffer and the second memory are used. It is convenient to carry out the results while going back and forth between the two calculation circuits. This is because the second calculation circuit performs parity calculation (or syndrome calculation) on data in the vertical direction. That is, since the data in the vertical direction can be obtained only in a discrete manner, a predetermined calculation is performed by using a memory managed by the addresses in the horizontal direction as a buffer and putting data in and out of the buffer.
[0018]
Further, as an embodiment, the method may further include a step of sequentially storing the data to which the first parity is added in a memory. It is temporarily stored in the memory.
[0019]
Here, as an embodiment, the method may further include a step of storing the second parity calculated in the second step in the memory so as to interleave the data stored in the memory. It may be. The temporary storage memory is used for the second parity interleave processing.
[0020]
Alternatively, as an embodiment, the method may further include a step of interleaving the calculated second parity while reading the data to which the first parity is added, stored in the memory, from the memory. . The second parity interleaving is performed in parallel with the sequential output of data from the temporarily stored memory. According to this, access to the memory does not increase, which is more convenient for speeding up.
[0021]
Further, as an embodiment, the first step is to generate a syndrome of one row in the horizontal direction with respect to the data of the horizontal and vertical block structure, and calculate the first parity in the horizontal direction from the generated syndrome. It may be added in the horizontal direction, and this may be performed for each row. This utilizes the calculation of the syndrome to generate the first parity.
[0022]
Further, as an embodiment of the ECC encoding apparatus according to the present invention, the ECC encoding apparatus further includes a memory having a correspondence for each horizontal address of the data to which the first parity is added, and the second parity generation circuit includes: It is convenient to use the memory as a buffer and calculate the second parity while reciprocating the intermediate result with the buffer.
[0023]
Further, as an embodiment, a memory for storing data to which the first parity is added may be further provided.
[0024]
Here, as an embodiment, a selector for interleaving the calculated second parity while reading the data stored in the memory from the memory may be further provided.
[0025]
Further, as an embodiment, the information processing apparatus further includes a memory having a correspondence for each horizontal address of the data to which the first parity is added, wherein the syndrome generation circuit uses the memory as a buffer and communicates with the buffer. It is convenient to calculate the syndrome while reciprocating the intermediate result.
[0026]
Further, as an embodiment, the parity generation circuit generates a syndrome of one row in the horizontal direction with respect to the data of the horizontal and vertical block structure, calculates the first parity in the horizontal direction from the generated syndrome, and calculates the horizontal parity. Alternatively, this may be performed for each row.
[0027]
The embodiment as the ECC encoding apparatus described above includes hardware for realizing the embodiment as the ECC encoding method.
[0028]
Based on the above, embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a recording system configuration when an ECC encoding device according to an embodiment of the present invention is applied to a recordable DVD device. As shown in FIG. 1, this recording type DVD device has ahost system 201, an (ID + IED + RSV) addition circuit / scramble circuit /EDC addition circuit 202, a PIparity generation circuit 203, a POparity generation circuit 204, and a PO parity. It has abuffer 205, aRAM control unit 206, aRAM 207, amodulation circuit 208, arecording compensation circuit 209, a pickup head (PUH) 210, a PO parity interleaveselector 211, and a recordingcompatible disk 212.
[0029]
Thehost 201 supplies user data to be recorded to the (ID + IED + RSV) addition circuit / scramble circuit /EDC addition circuit 202 in a byte width (8 bits width). Here, ID is identification data, IED is ID error detection code, RSV is reserved, and EDC is error detection code.
[0030]
The (ID + IED + RSV) addition circuit / scramble circuit /EDC addition circuit 202 adds ID, IED, and RSV to the head of a certain group of the supplied user data, performs scramble processing on the group of user data, and Then, EDC is added to the tail. The data subjected to this series of processing becomes 2064 bytes (172 bytes × 12 rows: called a sector; see FIG. 4 described later) from the ID to the EDC, and is supplied to the PIparity generation circuit 203 sequentially along the rows. You.
[0031]
The PIparity generation circuit 203 generates and adds a 10-byte PI parity as a first parity of 10 bytes for every 172 bytes of supplied data according to a predetermined procedure. The data (182 bytes) to which the 10-byte PI parity is added is stored in theRAM 207 via theRAM control unit 206. When such storage in theRAM 207 is repeated 192 times (12 rows × 16 times), one unit (ECC block without PO parity) is obtained. Accordingly, theRAM 207 has a capacity of at least 34944 bytes (182 bytes (182 columns) × 192 rows) (see FIG. 6 described later).
[0032]
The data to which the 10-byte PI parity is added is also supplied to the POparity generation circuit 204. The POparity generation circuit 204 generates a PO parity as a second parity by a predetermined procedure in parallel with storing the output of the PIparity generation circuit 203 in theRAM 207. Since the PO parity is generated in parallel, when the storage of 34944 bytes of data in theRAM 207 is completed, the PO parity to be added to these data is also generated. The PO parity is generated in units of 16 bytes for 192 bytes in the vertical direction of 34944 bytes (182 × 192), and has a data size of 16 rows × 182 = 2912 bytes corresponding to the one unit.
[0033]
ThePO parity buffer 205 is a memory that functions as a buffer necessary for the POparity generation circuit 204 to generate the PO parity. Its capacity is exactly 16 rows × 182 = 2912 bytes as described above. That is, the POparity generation circuit 204 uses thePO parity buffer 205 as a work area, and when the data of 34944 bytes of the output of the PIparity generation circuit 203 has been stored in theRAM 207 is completed, the data stored is the PO parity. The calculation is performed while taking data in and out. The generated PO parity is thereafter guided from thePO parity buffer 205 to the PO parity interleaveselector 211.
[0034]
TheRAM control unit 206 performs address control for writing and reading data to and from theRAM 207, writes predetermined data to a predetermined address, and reads predetermined data from a predetermined address. Writing is performed from the PIparity generation circuit 203 to theRAM 207 as a memory, and reading is performed from theRAM 207 to the PO parity interleaveselector 211. TheRAM 207 basically stores 34944 bytes (182 bytes × 192 rows) of data as described above.
[0035]
The PO parity interleaveselector 211 is connected from thePO parity buffer 205 and from theRAM 207 via theRAM control unit 206, and adds one row of PO parity to every 182 bytes of horizontal 182 bytes stored in theRAM 207. Output (interleaved). Such interleaving of PO parity is defined as a standard. The data to which the PO parity is added is supplied to themodulation circuit 208.
[0036]
Themodulation circuit 208 performs 8/16 conversion (conversion from 8 bits to 16 bits) defined as a DVD recording standard on the supplied data, and outputs the data as binary data (1 bit width). It is. The output data is supplied to therecording compensation circuit 209. Therecording compensation circuit 209 performs a recording compensation process on the supplied binary data signal in order to compensate for a physical transmission characteristic generated by recording / reproducing on the recording-compatible disk 212. The recording-compensated binary data signal is supplied to thePUH 210.
[0037]
ThePUH 210 drives a laser driver in accordance with the supplied binary data signal, and records the signal on the recording-compatible disk 212 using a laser beam. The recordingcompatible disk 212 is a removable medium on which binary data is written by thePUH 210.
[0038]
FIG. 2 is a functional block diagram functionally illustrating a processing procedure performed by the recording system configuration shown in FIG. FIG. 3 is a diagram showing a configuration of one ECC block. FIG. 4 is a sector (unit of information data shown in FIG. 3 in 16 sectors) constituting a portion (information data portion having a horizontal and vertical block structure) in the ECC block shown in FIG. 3 excluding PI and PO parities. FIG. 3 is a diagram showing an internal configuration of the device.
[0039]
FIG. 5 is a diagram showing a specific configuration example of the PIparity generation circuit 203 shown in FIG. FIG. 6 is a diagram showing a configuration of data stored inRAM 207 shown in FIG. FIG. 7 is a block diagram for explaining the configuration and operation of the POparity generation circuit 204 shown in FIG. 1 in some detail. FIG. 8 is a flowchart showing an operation flow of the PO parity generation circuit and the like shown in FIG.
[0040]
Hereinafter, the operation of the ECC encoding device according to the present embodiment will be described with reference to FIGS.
[0041]
In FIG. 1, user data transferred from thehost 201 is first input to the (ID + IED + RSV) addition circuit / scramble circuit /EDC addition circuit 202. Thecircuit 202 operates in units of 2048 bytes of user data, converts the user data into the sector data configuration of 2064 bytes shown in FIG. 4, and outputs the converted data. However, only the scramble processing is performed only on the main data shown in the figure corresponding to the user data. In thecircuit 202, the processing steps 300 to 304 shown in FIG.
[0042]
On the other hand, the output data unit of thecircuit 202 is 1/12 of the operation data unit instead of the 2064 byte unit, and is a 172 byte unit corresponding to one row of the sector shown in FIG. The 172 bytes of data are sequentially transferred to the PIparity generation circuit 203. The PIparity generation circuit 203 calculates 10 bytes of parity data in the PI direction from the 172 bytes of data and adds it to the end to generate a codeword of 182 bytes.
[0043]
Here, a method of generating the PI parity will be described. A primitive polynomial in Galois field in the DVD standard is defined by the following equation.
P (x) = x8+ X4+ X3+ X2+1
Further, the generating polynomial of the PI parity is as follows.
Figure 2004348824
This is α0~ Α9This is an equation for generating a code sequence in which ten consecutive components up to are the root. To add a PI parity, an information polynomial of 172 bytes may be divided by the generator polynomial, and the remainder may be added to the information polynomial.
[0044]
In order to perform such additional processing in a circuit, a PI parity generation circuit (first calculation circuit) having a configuration as shown in FIG. 5 can be used. This PI parity generation circuit represents a division circuit using a shift register, and D in the figure representsshift registers 54,.nIndicate Galois field multiplication circuits 51,... 53 (Galois multipliers).Reference numerals 58, 59, 60, etc., are operation circuits (exclusive OR gates) for obtaining exclusive OR. The calculation and registration operation of each unit by the configuration shown in FIG. 5 are performed using 8 bits (1 byte) as one data unit.
[0045]
As an operation, first, SWa is closed, SWb is tilted to 1 side, and information data H is input from an input terminal.x(X = 0 to 171) are sequentially input to the shift registers 54,. At the same time, the input data is output directly from the output terminal (the common terminal side of SWb). When input and output of all 172 bytes of data are completed, SWa is released and SWb is tilted to the second side, and 10 bytes of parity data generated in the shift registers 54,. . As a result, the parity-added data Ix(0-181) are generated.
[0046]
The output data of 182 bytes passes through theRAM control unit 206 and is sequentially stored in theRAM 207. By repeating this operation 192 times, an ECC block without PO parity (182 bytes × 192 rows) as shown in FIG. Is generated. It is usually advisable to use a large-capacity and inexpensive D-RAM as theRAM 207 as a memory.
[0047]
On the other hand, the output data of 182 bytes × 192 rows is also transferred to the POparity generation circuit 204 in parallel with the storage in theRAM 207, and the POparity generation circuit 204 performs the parity calculation in the 182 columns of the PO sequence in real time. It is done in. Here, a method of generating the PO parity will be described.
[0048]
The PO parity generator polynomial can be represented by the following equation, similarly to PI.
Figure 2004348824
[0049]
This is α0~ΑFifteen16 is an equation for generating a root code sequence. Although the principle of the PO parity calculation itself is almost the same as that of the PI parity, the configuration of the POparity generation circuit 204 cannot be the same as that of the PIparity generation circuit 203. This is because a PI sequence is a sequence in the row direction of an ECC block, that is, a data stream direction, and 172 bytes of information data required for generating a 10-byte PI parity are continuously transferred, whereas a PO sequence is an ECC block. This is because necessary information data is not transferred continuously since the sequence is in the column direction of the block.
[0050]
That is, the PIparity generation circuit 203 only needs to calculate the PI parity from 172 consecutive bytes, whereas the 192 bytes of information data necessary to generate 16 bytes of PO parity are only 1 byte for every 182 bytes of received data. I can't get it. Further, the other 181 bytes are information data of different PO columns. Therefore, the POparity generation circuit 204 determines that the input data JxUsing (182 bytes × 192 rows), the configuration is such that the PO parity calculation for 182 columns is performed while being switched as needed for each input byte.
[0051]
Here, the configuration and operation of the POparity generation circuit 204 will be described with reference to FIGS. FIG. 7 is a block diagram for explaining the configuration and operation of the POparity generation circuit 204 shown in FIG. 1 in some detail. FIG. 8 is a flowchart showing an operation flow of the PO parity generation circuit and the like shown in FIG. 7, the same components as those shown in FIG. 1 are denoted by the same reference numerals.
[0052]
Input data Jx(182 bytes × 192 rows) are transferred to the POparity generation controller 701 and the PO parity calculation circuit 702 (second calculation circuit) in byte units. The POparity generation controller 701 has a 182 byte counter, and controls the POparity calculation circuit 702 and the input / output of thePO parity buffer 205 by recognizing which PO column the input information data is. Here, input / output of thePO parity buffer 205 is controlled via theinterface 703.
[0053]
The POparity calculation circuit 702 has D0~DFifteen7 and a Galois multiplier, and performs the division calculation as shown in the table below the POparity calculation circuit 702 in FIG. 7 (step 801 in FIG. 8). This division calculation is based on the same configuration principle as that of the PI parity circuit shown in FIG. In the table in FIG.na is the calculated Dn(N = 0 to 15).
[0054]
Since the PO column to be calculated is switched every byte, the internal data of the 16 registers also need to be saved in thePO parity buffer 205 byte by byte (step 804). When the information data of the same PO column is transferred 182 bytes later, the intermediate result is read from the buffer 205 (step 802), and the internal register D0~ DFifteenThen, the PO parity calculation is performed again (step 803). By repeating this operation 192 times (Y in step 805), the PO parity calculation for one column of the PO sequence is completed.
[0055]
Further, the same calculation is continuously performed for the remaining 181 PO columns.xWhen all (182 bytes x 192 rows) are input, the PO parity calculation for all PO columns is completed, and the parity data is stored in thePO parity buffer 205. At the same time JxHas been completed in theRAM 207. That is, at this point, the information data and the PI parity portion of the ECC block shown in FIG. 3 are stored in theRAM 207, and the PO parity portion is stored in thePO parity buffer 205.
[0056]
The ECC block shown in FIG. 3 conforms to the DVD standard. The error correction code in the PO direction has a code length of 208 bytes, the information length is 192 bytes, and the minimum distance is 17. Byte, information length 172 bytes,minimum distance 11
[0057]
Subsequently, the ECC block data on which the ECC encoding process has been completed is subjected to an interleaving process by the POparity interleaving selector 211 and transferred to themodulation circuit 208. The interleaving process is a process of adding 182 bytes of PI direction data of the PO parity section to every 2184 bytes (182 bytes × 12 rows) of sector data with PI parity, and is performed for 16 sectors. In this embodiment, 2184 bytes of sector data with PI parity output from theRAM control unit 206 and 182 bytes output from thebuffer 205 for PO parity are switched by theinterleave selector 211 every 16 sectors.
[0058]
With the above processing, the processing up to theprocessing procedure 306 in FIG. 2 ends. That is, 16 recording frames are generated corresponding to the 16 sectors.
[0059]
As another form of the interleave processing, the completed PO parity data may be stored in thePO parity buffer 205 once in theRAM 207 via theRAM control unit 206 so as to be subjected to the interleave processing. In this case, the capacity of theRAM 207 is set to be large enough to store the PO parity data. Thereby, the data stored in theRAM 207 can be output to themodulation circuit 208 without passing through the PO parity interleaveselector 211. However, the number of accesses to theRAM 207 is increased as compared with the case where theselector 211 is used.
[0060]
After the interleaving, as processing up to theprocessing procedure 307 in FIG. 2, themodulation circuit 208 adds a synchronization code (one ECC block to 26 synchronization frames) to the transferred data, and complies with the modulation rule of DVD. A certain 8/16 modulation process is performed, and transferred to therecording compensation circuit 209. Therecording compensation circuit 209 performs recording compensation on the binary modulated data signal from themodulation circuit 208. In thePUH 210, a laser driver is driven based on the binary modulated data signal whose recording has been compensated, and a recording mark is formed on the recording-compatible disk 212.
[0061]
As described above, in the ECC encoding device according to the present embodiment, the PI parity generation calculation and the PO parity generation calculation are performed in parallel with the data storage processing of the ECC data in theRAM 207, so that theparity calculation RAM 207 The information data read / write processing is completely omitted. As a result, an ECC encoding process capable of easily achieving a high speed can be realized.
[0062]
Next, an ECC encoding device according to another embodiment of the present invention will be described with reference to FIG. FIG. 9 is a block diagram showing a recording system configuration when an ECC encoding device according to another embodiment of the present invention is applied to a recordable DVD device. In FIG. 9, the same components as those already described are denoted by the same reference numerals. In the following, description will be made while avoiding duplication of such portions.
[0063]
In this embodiment, at least a “PO syndrome generation circuit” and an “ECC decode circuit” are used to generate a PO parity in parallel with the generation of a PI parity. These circuits themselves have the same functions as those generally used in the reproduction circuit of the DVD device in terms of input / output signals. Furthermore, by combining the “PO syndrome generation circuit” with the “PO syndrome buffer”, the “PO syndrome generation circuit” can be operated in parallel with the data storage in theRAM 207, and the access to theRAM 207 for parity calculation can be omitted. It is like that.
[0064]
As shown in FIG. 9, this recordable DVD device has a POsyndrome generation circuit 904, aPO syndrome buffer 905, and anECC decode circuit 906, in addition to the components already described, and these are implemented by the embodiment shown in FIG. It is provided instead of the POparity generation circuit 204 and thePO parity buffer 205 of the embodiment.
[0065]
The POsyndrome generation circuit 904 generates a PO syndrome by a predetermined procedure in parallel with storing the output of the PIparity generation circuit 203 in theRAM 207. Since the PO syndrome is generated in parallel, the PO syndrome is generated when storage of 34944 bytes (182 bytes × 192 lines) of data in theRAM 207 is completed. The PO syndrome is generated in units of 16 bytes for 34944 bytes in a vertical direction of 192 bytes (208 bytes including an appropriate 16 bytes virtually added), and one ECC block has 16 rows × 182 = 2912 bytes of data. Size.
[0066]
ThePO syndrome buffer 905 is a memory that functions as a buffer necessary for the POsyndrome generation circuit 904 to generate the PO syndrome as described above, in parallel with storing data in theRAM 207. Its size is exactly 16 rows × 182 = 2912 bytes as described above. That is, the POsyndrome generation circuit 204 uses thePO syndrome buffer 905 as a work area, and stores the 34944-byte data in theRAM 207 of the output of the PIparity generation circuit 203 as the PO syndrome. The calculation is performed while taking data in and out.
[0067]
TheECC decode circuit 906 performs erasure correction based on the PO syndrome stored in thePO syndrome buffer 905. By this erasure correction, a PO parity (16 rows × 182 = 2912 bytes) is generated in an area of data appropriately added at the time of generating the PO syndrome. The generated PO parity is overwritten and stored in thePO syndrome buffer 905. The overwritten and stored PO parity is thereafter guided from thePO syndrome buffer 905 to the PO parity interleaveselector 211.
[0068]
FIG. 10 is a block diagram for explaining the configuration and operation of the POsyndrome generation circuit 904 shown in FIG. 9 in some detail. FIG. 11 is a diagram showing a specific configuration example of the PO syndrome calculation circuit 1002 shown in FIG. FIG. 12 is a flowchart showing an operation flow of the PO syndrome generation circuit and the like shown in FIG.
[0069]
Hereinafter, the operation of the ECC encoding apparatus according to the present embodiment will be described with reference to FIGS.
[0070]
In FIG. 9, the output data of 182 bytes × 192 rows of the PIparity generation circuit 203 is also transferred to the POsyndrome generation circuit 904 in parallel with the storage in theRAM 207. The syndrome calculation in the column is switched in units of one byte and is performed in real time. Syndrome S in one PO series data string0~ SFifteenCan be calculated by the following equation. Where IxHere, (x = 0 to 207) represents 208 bytes of the PO series code data string.
S0= I0+ I1+ ... + I206+ I207
S2= I0α207+ I1α206+ ... + I206α + I207



SFifteen= I0α15x207+ I1α15x206+ ... + I206αFifteen+ I207
[0071]
Also, as can be seen from these formulas, a code data string of 208 bytes is required to calculate the syndrome, and the input 192 bytes are not enough for 16 bytes. Since the insufficient 16-byte data becomes PO parity as a result when it is corrected by the subsequent ECC decoding process, any data may be used at first. Here, the efficiency of the calculation process is achieved by filling this with 0 data.
[0072]
A PO syndrome calculation circuit 1002 (second calculation circuit: see FIG. 10) for processing the insufficient 16 bytes as 0 data will be described with reference to FIG. In FIG. 11, a portion surrounded by a broken line is a well-known portion usually used in a reproducing circuit for generating a syndrome.
[0073]
That is, the flip-flop (register Dx  , X = 0 to 15) The outputs of the respective 112 to 118 are guided to Galois multipliers 115 to 119 (however, the Galois multiplier is equivalent to “1” for the flip-flop 112), and the outputs of the Galois multipliers 115 to 119 are output. One of the inputs of exclusive OR gates 111 to 117. The other input side of the exclusive OR gates 111 to 117 has input data IxAre commonly input, and the outputs of the exclusive OR gates 111 to 117 are connected to a flip-flop (register D).x) 112 to 118 are input. The operation and operation of each unit according to the configuration shown in FIG. 11 are performed in units of 8 bits (1 byte).
[0074]
In FIG. 11, a flip-flop (register Dx) 112-118, Galois multipliers 115-119, and exclusive OR gates 111-117. When 192 bytes of input data are sequentially input to each circuit, a flip-flop (register Dx) 112 to 118 show the intermediate result of the syndrome calculation using the 192 bytes in the following equation S:0a to SFifteena.
S0a = I0+ I1+ ... + I190+ I191
S2a = I0α191+ I1α190+ ... + I190α + I191



SFifteena = I0α15x191+ I1α15 × 190+ ... + I190αFifteen+ I191
[0075]
This formula is compared with the above-mentioned syndrome calculation formula, and192~ I207Is 0, in order for the syndrome calculation to be established, α16 × m(M = 0 to 15: syndrome number). Therefore, in the circuit (PO syndrome calculation circuit 1002) shown in FIG. 11, theGalois multipliers 116,..., 120 are placed so that the syndrome calculation is completed by closing SW0 to SW15 after 192 clocks have elapsed. ing.
[0076]
Although the PO syndrome calculation circuit 1002 performs such an operation, the POsyndrome generation circuit 904 as a whole has to switch the PO182 column syndrome calculation for each byte as in the above-described embodiment. Must. Therefore, register D0~ DFifteenIs carried out while saving the contents of the data in thePO syndrome buffer 905.
[0077]
FIG. 10 is a block diagram for explaining the configuration and operation of the POsyndrome generation circuit 904 shown in FIG. 9 in some detail. FIG. 10 shows aPO syndrome buffer 905 and anECC decode circuit 906 in addition to a portion corresponding to the POsyndrome generation circuit 904.
[0078]
Input data Jx(182 bytes × 192 lines) is transferred to the POsyndrome generation controller 1001 and the PO syndrome calculation circuit 1002 in 1-byte units (step 1201 in FIG. 12). The POsyndrome generation controller 1001 has a 182 byte counter, and recognizes which PO column the input information data is, and controls the input / output of the PO syndrome calculation circuit 1002 and thePO syndrome buffer 905. Here, input / output control of thePO syndrome buffer 905 is performed via theinterface 1003.
[0079]
Also, since the PO column to be calculated is switched every byte, 16 registers DxIt is also necessary to save the internal data (x = 0 to 15) in thePO syndrome buffer 905 byte by byte (step 1204). Then, when the information data of the same PO column is transferred after 182 bytes, the intermediate result is read from the buffer 905 (step 1202), and the internal register DxThe data is transferred to (x = 0 to 15), and the PO syndrome calculation is performed again (step 1203). This operation is repeated 192 times, and finally, by closing SW0 to SW15 in FIG. 11 described above, the PO syndrome calculation of one column of the PO sequence is completed (Y in step 1205).
[0080]
Further, the same calculation is continuously performed for the remaining 181 PO columns.xWhen all (182 bytes x 192 rows) have been input, the PO syndrome calculation for all PO columns is completed, and the syndrome data is stored in thePO syndrome buffer 905. At the same time JxHas been completed in theRAM 207.
[0081]
Subsequently, the created PO syndrome is read from thebuffer 905 and transferred to the ECC decode circuit 906 (step 1206), and error correction is performed by the ECC decode circuit 906 (step 1207). In other words, in the above processing (processing in the PO syndrome calculation circuit 1002), 16 bytes embedded as 0 data are converted into 16 bytes of PO parity to be generated. TheECC decode circuit 906 has a syndrome correction circuit, a Euclidean calculation circuit, a chain search circuit, and the like, as is well known.
[0082]
In the above error correction processing, the correction capability of the PO series is usually up to 8 bytes, and an error exceeding 8 bytes cannot be corrected. However, if error position information (erasure pointer) is used, up to 16 bytes can be used. Error correction processing is possible. This is generally called erasure correction (erasure correction). In this embodiment, since the position of the PO parity to be generated is determined to be the last 16 bytes of the code string, if the erasure pointer is generated from the error position, the correction processing, that is, the PO parity can be generated. is there.
[0083]
More specifically, the desired syndrome data is selected by theECC decode controller 1004 from thePO syndrome buffer 905 and sent to theECC decode circuit 906. Then, theECC decode circuit 906 performs a syndrome correction process using the erasure pointer, and then calculates an error pattern (that is, PO parity) at the error position by a chain search process.
[0084]
Next, theECC decode controller 1004 overwrites the calculated PO parity in the called syndrome area on thePO syndrome buffer 905 based on the error position (step 1208). By executing this process for all PO sequences, the parity data of all PO sequences is completed in thePO syndrome buffer 905. The PO parity data completed in thePO syndrome buffer 905 is used for subsequent processing in the same manner as the PO parity data completed in thePO parity buffer 205 in the previous embodiment.
[0085]
Note that, in the description here, the case where the generated PO parity is written in thesyndrome buffer 905 has been described, but theRAM 207 may be written via theRAM control unit 206. In this case, the capacity of theRAM 207 is set to be large enough to store the PO parity data. At the time of writing to the RAM, the data may be stored so that the PO parity is interleaved.
[0086]
As described above, in the ECC encoding apparatus according to this embodiment, the PI parity generation calculation and the PO syndrome calculation are performed in parallel with the data storage processing in theECC data RAM 207, and the ECC decoding processing for generating the PO parity is performed. Also, access to theRAM 207 is omitted. As a result, an ECC encoding process capable of easily achieving a high speed can be realized.
[0087]
Further, thePO syndrome circuit 904, theECC decode circuit 906, and thePO syndrome buffer 905 can also be used as a reproduction system circuit. Therefore, it is also effective in reducing the circuit scale of the entire recording / reproducing system.
[0088]
In the above embodiment, the PO parity is generated by the ECC decoding circuit using the syndrome generation circuit. However, the PI parity can also be generated by using the syndrome generation circuit and the ECC decoding circuit. In this case, a PI syndrome buffer is separately provided, and a processing procedure of the syndrome calculation of the PI parity section and the PI parity calculation by the ECC decoding circuit is added. For this reason, although the processing speed is inferior to those of the above embodiments, the circuit scale can be reduced by further using the reproducing system circuit.
[0089]
【The invention's effect】
As described above in detail, according to the present invention, the process for generating and adding the first parity in the horizontal direction and the process for generating and adding the second parity in the vertical direction are performed in parallel. Therefore, there is no need to perform a two-step process of adding the first parity and temporarily storing the data in the memory, and accessing the stored data to generate and add the second parity.・ Addition can be performed at high speed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a recording system configuration when an ECC encoding device according to an embodiment of the present invention is applied to a recordable DVD device.
FIG. 2 is a functional block diagram functionally explaining a processing procedure performed by the recording system configuration shown in FIG. 1;
FIG. 3 is a diagram showing a configuration of one ECC block.
FIG. 4 is a diagram showing an internal configuration of a sector (information data shown in FIG. 3 in 16 sectors), which is a unit constituting a portion (information data portion) in the ECC block shown in FIG. .
FIG. 5 is a diagram showing a specific configuration example of a PIparity generation circuit 203 shown in FIG. 1;
FIG. 6 is a diagram showing a configuration of data stored in aRAM 207 shown in FIG.
FIG. 7 is a block diagram for explaining the configuration and operation of the POparity generation circuit 204 shown in FIG. 1 in some detail;
FIG. 8 is a flowchart showing an operation flow of the PO parity generation circuit and the like shown in FIG. 7;
FIG. 9 is a block diagram showing a recording system configuration when an ECC encoding device according to another embodiment of the present invention is applied to a recordable DVD device.
FIG. 10 is a block diagram for explaining the configuration and operation of the POsyndrome generation circuit 904 shown in FIG. 9 in some detail;
11 is a diagram showing a specific configuration example of a PO syndrome calculation circuit 1002 shown in FIG.
FIG. 12 is a flowchart showing an operation flow of the PO syndrome generation circuit and the like shown in FIG. 10;
[Explanation of symbols]
51, 52, 53 ... Galois multipliers 54, 55, 56, 57 ... shift registers 58, 59, 60 ... exclusive ORgates 111, 113, 117 ... exclusive OR gates 112, 114, 118 ...registers 115, 119Galois multipliers 116, 120Galois multiplier 201 Host 202 (IE + IED + RSV) addition circuit / scramble circuit /EDC addition circuit 203 PIparity generation circuit 204 POparity generation circuit 205PO buffer 206 206RAM Control unit 207RAM 208Modulation circuit 209Recording compensation circuit 210Pickup head 211 PO parity interleaveselector 212Recording disk 701 POparity generation controller 702 POparity calculation circuit 703Interface 904 ... POsyndrome generating circuit 905 ...PO syndrome buffer 906 ...ECC decoding circuit 1001 ... PO syndrome generating controller 1002 ... POsyndrome calculation circuit 1003 ...interface 1004 ... ECC decode controller

Claims (15)

Translated fromJapanese
横縦のブロック構造のデータについて横方向1行の第1のパリティを第1の計算回路で計算して横方向に付加し、これを各行についてそれぞれ行なう第1のステップと、
前記第1のステップがなされる間に、前記第1のパリティが付加されたデータについて縦方向1列の第2のパリティを第2の計算回路で計算し、これを各列についてそれぞれ行なう第2のステップと
を具備することを特徴とするECCエンコード方法。
A first step of calculating the first parity of one row in the horizontal direction with respect to the data of the horizontal and vertical block structure by the first calculation circuit and adding the parity in the horizontal direction, and performing the same for each row;
While the first step is performed, the second parity of one column in the vertical direction is calculated by the second calculation circuit for the data to which the first parity is added, and the second calculation is performed for each column. An ECC encoding method, comprising the steps of:
前記第2のステップは、前記第1のパリティが付加された前記データの横方向のアドレスごとに対応を有するメモリをバッファとして用い該バッファと前記第2の計算回路との間で途中結果を往復しながら行なうことを特徴とする請求項1記載のECCエンコード方法。The second step uses a memory having a correspondence for each horizontal address of the data to which the first parity is added as a buffer, and reciprocates an intermediate result between the buffer and the second calculation circuit. 2. The ECC encoding method according to claim 1, wherein the ECC encoding is performed.前記第1のパリティが付加された前記データをメモリに順次格納するステップをさらに具備することを特徴とする請求項1記載のECCエンコード方法。2. The ECC encoding method according to claim 1, further comprising the step of sequentially storing the data to which the first parity is added in a memory.前記第2のステップで計算された第2のパリティを、前記メモリに格納された前記データに対してインターリーブするように前記メモリに格納するステップをさらに具備することを特徴とする請求項3記載のECCエンコード方法。4. The method according to claim 3, further comprising the step of storing the second parity calculated in the second step in the memory so as to interleave the data stored in the memory. ECC encoding method.前記メモリに格納された前記第1のパリティが付加された前記データを該メモリから読み出しながら前記計算された第2のパリティをインターリーブするステップをさらに具備することを特徴とする請求項3記載のECCエンコード方法。4. The ECC of claim 3, further comprising interleaving the calculated second parity while reading the data with the first parity stored in the memory from the memory. Encoding method.横縦のブロック構造のデータについて横方向1行の第1のパリティを第1の計算回路で計算して横方向に付加し、これを各行についてそれぞれ行なう第1のステップと、
前記第1のステップがなされる間に、前記第1のパリティが付加されたデータについて縦方向1列のシンドロームを第2の計算回路で計算し、これを各列についてそれぞれ行なう第2のステップと、
前記計算されたシンドロームから縦方向の第2のパリティを生成する第3のステップと
を具備することを特徴とするECCエンコード方法。
A first step of calculating the first parity of one row in the horizontal direction with respect to the data of the horizontal and vertical block structure by the first calculation circuit and adding the parity in the horizontal direction, and performing the same for each row;
While the first step is performed, the second calculation circuit calculates a syndrome in one column in the vertical direction for the data to which the first parity is added, and performs the calculation for each column. ,
And a third step of generating a second vertical parity from the calculated syndrome.
前記第2のステップは、前記第1のパリティが付加された前記データの横方向のアドレスごとに対応を有するメモリをバッファとして用い該バッファと前記第2の計算回路との間で途中結果を往復しながら行なうことを特徴とする請求項6記載のECCエンコード方法。The second step uses a memory having a correspondence for each horizontal address of the data to which the first parity is added as a buffer, and reciprocates an intermediate result between the buffer and the second calculation circuit. 7. The ECC encoding method according to claim 6, wherein the encoding is performed.前記第1のステップは、前記横縦のブロック構造のデータについて横方向1行のシンドロームを生成し、該生成されたシンドロームから横方向の前記第1のパリティを計算して横方向に付加し、これを各行についてそれぞれ行なうことを特徴とする請求項1または6記載のECCエンコード方法。The first step generates a horizontal one-row syndrome for the data having the horizontal and vertical block structure, calculates the first parity in the horizontal direction from the generated syndrome, and adds the first parity in the horizontal direction; 7. The ECC encoding method according to claim 1, wherein the ECC encoding is performed for each row.横縦のブロック構造のデータについて横方向1行の第1のパリティを計算して横方向に付加し、これを各行についてそれぞれ行なう第1のパリティ生成回路と、
前記第1のパリティの計算を前記各行についてそれぞれ行なう間に、前記第1のパリティが付加されたデータについて縦方向1列の第2のパリティを計算し、これを各列についてそれぞれ行なう第2のパリティ生成回路と
を具備することを特徴とするECCエンコード装置。
A first parity generation circuit that calculates a first parity of one row in the horizontal direction for data having a horizontal and vertical block structure, adds the first parity in the horizontal direction, and performs the same for each row;
While the calculation of the first parity is performed for each row, a second parity of one column in the vertical direction is calculated for the data to which the first parity is added, and the second parity is calculated for each column. An ECC encoding device comprising a parity generation circuit.
前記第1のパリティが付加された前記データの横方向のアドレスごとに対応を有するメモリをさらに具備し、
前記第2のパリティ生成回路は、前記メモリをバッファとして用い該バッファとの間で途中結果を往復しながら前記第2のパリティの計算を行なう
ことを特徴とする請求項9記載のECCエンコード装置。
A memory having a correspondence for each horizontal address of the data to which the first parity is added;
10. The ECC encoding device according to claim 9, wherein the second parity generation circuit uses the memory as a buffer to calculate the second parity while reciprocating an intermediate result with the buffer.
前記第1のパリティが付加されたデータを格納するメモリをさらに具備することを特徴とする請求項9記載のECCエンコード装置。The ECC encoding apparatus according to claim 9, further comprising a memory for storing the data to which the first parity is added.前記メモリに格納された前記データを該メモリから読み出しながら前記計算された第2のパリティをインターリーブするためのセレクタをさらに具備することを特徴とする請求項11記載のECCエンコード装置。12. The ECC encoding apparatus according to claim 11, further comprising a selector for interleaving the calculated second parity while reading the data stored in the memory from the memory.横縦のブロック構造のデータについて横方向1行の第1のパリティを計算して横方向に付加し、これを各行についてそれぞれ行なうパリティ生成回路と、
前記第1のパリティの計算を前記各行についてそれぞれ行なう間に、前記第1のパリティが付加されたデータについて縦方向1列のシンドロームを計算し、これを各列についてそれぞれ行なうシンドローム生成回路と、
前記計算されたシンドロームから縦方向の第2のパリティを生成する回路と
を具備することを特徴とするECCエンコード装置。
A parity generation circuit that calculates the first parity of one row in the horizontal direction and adds it in the horizontal direction for the data having the horizontal and vertical block structure, and performs the calculation for each row;
While performing the calculation of the first parity for each of the rows, a syndrome generation circuit that calculates a vertical one column syndrome for the data to which the first parity is added, and performs the calculation for each column,
A circuit for generating a second vertical parity from the calculated syndrome.
前記第1のパリティが付加された前記データの横方向のアドレスごとに対応を有するメモリをさらに具備し、
前記シンドローム生成回路は、前記メモリをバッファとして用い該バッファとの間で途中結果を往復しながら前記シンドロームの計算を行なう
ことを特徴とする請求項13記載のECCエンコード装置。
A memory having a correspondence for each horizontal address of the data to which the first parity is added;
14. The ECC encoding device according to claim 13, wherein the syndrome generation circuit calculates the syndrome while reciprocating an intermediate result with the buffer using the memory as a buffer.
前記パリティ生成回路は、前記横縦のブロック構造のデータについて横方向1行のシンドロームを生成し、該生成されたシンドロームから横方向の前記第1のパリティを計算して横方向に付加し、これを各行についてそれぞれ行なうことを特徴とする請求項9または13記載のECCエンコード装置。The parity generation circuit generates a syndrome in one row in the horizontal direction for the data in the horizontal and vertical block structure, calculates the first parity in the horizontal direction from the generated syndrome, and adds the first parity in the horizontal direction. 14. The ECC encoding device according to claim 9, wherein the ECC encoding is performed for each row.
JP2003143157A2003-05-212003-05-21 ECC encoding method and ECC encoding deviceAbandonedJP2004348824A (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2003143157AJP2004348824A (en)2003-05-212003-05-21 ECC encoding method and ECC encoding device

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2003143157AJP2004348824A (en)2003-05-212003-05-21 ECC encoding method and ECC encoding device

Publications (2)

Publication NumberPublication Date
JP2004348824Atrue JP2004348824A (en)2004-12-09
JP2004348824A5 JP2004348824A5 (en)2006-02-16

Family

ID=33531021

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2003143157AAbandonedJP2004348824A (en)2003-05-212003-05-21 ECC encoding method and ECC encoding device

Country Status (1)

CountryLink
JP (1)JP2004348824A (en)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2008084116A (en)*2006-09-282008-04-10Aisin Seiki Co Ltd Data storage device and method for reading data from data storage device
CN1779833B (en)*2005-09-272011-05-18威盛电子股份有限公司 Method for Computing Error Detection Codes
US8438457B2 (en)2009-09-112013-05-07Sony CorporationNonvolatile memory apparatus, memory controller, and memory system
JP2014505450A (en)*2011-02-112014-02-27クアルコム,インコーポレイテッド Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en)2011-02-112015-02-17Qualcomm IncorporatedFraming for an improved radio link protocol including FEC
US9136878B2 (en)2004-05-072015-09-15Digital Fountain, Inc.File download and streaming system
US9136983B2 (en)2006-02-132015-09-15Digital Fountain, Inc.Streaming and buffering using variable FEC overhead and protection periods
US9178535B2 (en)2006-06-092015-11-03Digital Fountain, Inc.Dynamic stream interleaving and sub-stream based delivery
US9185439B2 (en)2010-07-152015-11-10Qualcomm IncorporatedSignaling data for multiplexing video components
US9191151B2 (en)2006-06-092015-11-17Qualcomm IncorporatedEnhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9236885B2 (en)2002-10-052016-01-12Digital Fountain, Inc.Systematic encoding and decoding of chain reaction codes
US9236976B2 (en)2001-12-212016-01-12Digital Fountain, Inc.Multi stage code generator and decoder for communication systems
US9237101B2 (en)2007-09-122016-01-12Digital Fountain, Inc.Generating and communicating source identification information to enable reliable communications
US9240810B2 (en)2002-06-112016-01-19Digital Fountain, Inc.Systems and processes for decoding chain reaction codes through inactivation
US9246633B2 (en)1998-09-232016-01-26Digital Fountain, Inc.Information additive code generator and decoder for communication systems
US9253233B2 (en)2011-08-312016-02-02Qualcomm IncorporatedSwitch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9264069B2 (en)2006-05-102016-02-16Digital Fountain, Inc.Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9270414B2 (en)2006-02-212016-02-23Digital Fountain, Inc.Multiple-field based code generator and decoder for communications systems
US9281847B2 (en)2009-02-272016-03-08Qualcomm IncorporatedMobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en)2009-08-192016-03-15Qualcomm IncorporatedUniversal file delivery methods for providing unequal error protection and bundled file delivery services
US9294226B2 (en)2012-03-262016-03-22Qualcomm IncorporatedUniversal object delivery and template-based file delivery
US9312885B2 (en)2012-08-152016-04-12Kabushiki Kaisha ToshibaNonvolatile semiconductor memory system error correction capability of which is improved
US9319448B2 (en)2010-08-102016-04-19Qualcomm IncorporatedTrick modes for network streaming of coded multimedia data
US9380096B2 (en)2006-06-092016-06-28Qualcomm IncorporatedEnhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en)2006-06-092016-07-05Qualcomm IncorporatedEnhanced block-request streaming using URL templates and construction rules
US9419749B2 (en)2009-08-192016-08-16Qualcomm IncorporatedMethods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en)2006-06-092016-08-30Qualcomm IncorporatedEnhanced block-request streaming system using signaling or block creation
US9485546B2 (en)2010-06-292016-11-01Qualcomm IncorporatedSignaling video samples for trick mode video representations
US9596447B2 (en)2010-07-212017-03-14Qualcomm IncorporatedProviding frame packing type information for video coding
JP2017107390A (en)*2015-12-092017-06-15株式会社東芝 Video server apparatus and data writing / reading method
US9843844B2 (en)2011-10-052017-12-12Qualcomm IncorporatedNetwork streaming of media data
US9917874B2 (en)2009-09-222018-03-13Qualcomm IncorporatedEnhanced block-request streaming using block partitioning or request controls for improved client-side handling
US10090860B2 (en)2016-01-222018-10-02Toshiba Memory CorporationMemory system using integrated parallel interleaved concatenation

Cited By (47)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9246633B2 (en)1998-09-232016-01-26Digital Fountain, Inc.Information additive code generator and decoder for communication systems
US9236976B2 (en)2001-12-212016-01-12Digital Fountain, Inc.Multi stage code generator and decoder for communication systems
US9240810B2 (en)2002-06-112016-01-19Digital Fountain, Inc.Systems and processes for decoding chain reaction codes through inactivation
US9236885B2 (en)2002-10-052016-01-12Digital Fountain, Inc.Systematic encoding and decoding of chain reaction codes
US9136878B2 (en)2004-05-072015-09-15Digital Fountain, Inc.File download and streaming system
US9236887B2 (en)2004-05-072016-01-12Digital Fountain, Inc.File download and streaming system
CN1779833B (en)*2005-09-272011-05-18威盛电子股份有限公司 Method for Computing Error Detection Codes
US9136983B2 (en)2006-02-132015-09-15Digital Fountain, Inc.Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en)2006-02-212016-02-23Digital Fountain, Inc.Multiple-field based code generator and decoder for communications systems
US9264069B2 (en)2006-05-102016-02-16Digital Fountain, Inc.Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9191151B2 (en)2006-06-092015-11-17Qualcomm IncorporatedEnhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en)2006-06-092016-08-30Qualcomm IncorporatedEnhanced block-request streaming system using signaling or block creation
US9628536B2 (en)2006-06-092017-04-18Qualcomm IncorporatedEnhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9209934B2 (en)2006-06-092015-12-08Qualcomm IncorporatedEnhanced block-request streaming using cooperative parallel HTTP and forward error correction
US11477253B2 (en)2006-06-092022-10-18Qualcomm IncorporatedEnhanced block-request streaming system using signaling or block creation
US9380096B2 (en)2006-06-092016-06-28Qualcomm IncorporatedEnhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en)2006-06-092016-07-05Qualcomm IncorporatedEnhanced block-request streaming using URL templates and construction rules
US9178535B2 (en)2006-06-092015-11-03Digital Fountain, Inc.Dynamic stream interleaving and sub-stream based delivery
JP2008084116A (en)*2006-09-282008-04-10Aisin Seiki Co Ltd Data storage device and method for reading data from data storage device
US9237101B2 (en)2007-09-122016-01-12Digital Fountain, Inc.Generating and communicating source identification information to enable reliable communications
US9281847B2 (en)2009-02-272016-03-08Qualcomm IncorporatedMobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en)2009-08-192016-03-15Qualcomm IncorporatedUniversal file delivery methods for providing unequal error protection and bundled file delivery services
US9660763B2 (en)2009-08-192017-05-23Qualcomm IncorporatedMethods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9419749B2 (en)2009-08-192016-08-16Qualcomm IncorporatedMethods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9876607B2 (en)2009-08-192018-01-23Qualcomm IncorporatedMethods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US8438457B2 (en)2009-09-112013-05-07Sony CorporationNonvolatile memory apparatus, memory controller, and memory system
US12155715B2 (en)2009-09-222024-11-26Qualcomm IncorporatedEnhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11770432B2 (en)2009-09-222023-09-26Qualcomm IncorporatedEnhanced block-request streaming system for handling low-latency streaming
US11743317B2 (en)2009-09-222023-08-29Qualcomm IncorporatedEnhanced block-request streaming using block partitioning or request controls for improved client-side handling
US10855736B2 (en)2009-09-222020-12-01Qualcomm IncorporatedEnhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9917874B2 (en)2009-09-222018-03-13Qualcomm IncorporatedEnhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9992555B2 (en)2010-06-292018-06-05Qualcomm IncorporatedSignaling random access points for streaming video data
US9485546B2 (en)2010-06-292016-11-01Qualcomm IncorporatedSignaling video samples for trick mode video representations
US9185439B2 (en)2010-07-152015-11-10Qualcomm IncorporatedSignaling data for multiplexing video components
US9596447B2 (en)2010-07-212017-03-14Qualcomm IncorporatedProviding frame packing type information for video coding
US9602802B2 (en)2010-07-212017-03-21Qualcomm IncorporatedProviding frame packing type information for video coding
US9456015B2 (en)2010-08-102016-09-27Qualcomm IncorporatedRepresentation groups for network streaming of coded multimedia data
US9319448B2 (en)2010-08-102016-04-19Qualcomm IncorporatedTrick modes for network streaming of coded multimedia data
US8958375B2 (en)2011-02-112015-02-17Qualcomm IncorporatedFraming for an improved radio link protocol including FEC
US9270299B2 (en)2011-02-112016-02-23Qualcomm IncorporatedEncoding and decoding using elastic codes with flexible source block mapping
JP2014505450A (en)*2011-02-112014-02-27クアルコム,インコーポレイテッド Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en)2011-08-312016-02-02Qualcomm IncorporatedSwitch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en)2011-10-052017-12-12Qualcomm IncorporatedNetwork streaming of media data
US9294226B2 (en)2012-03-262016-03-22Qualcomm IncorporatedUniversal object delivery and template-based file delivery
US9312885B2 (en)2012-08-152016-04-12Kabushiki Kaisha ToshibaNonvolatile semiconductor memory system error correction capability of which is improved
JP2017107390A (en)*2015-12-092017-06-15株式会社東芝 Video server apparatus and data writing / reading method
US10090860B2 (en)2016-01-222018-10-02Toshiba Memory CorporationMemory system using integrated parallel interleaved concatenation

Similar Documents

PublicationPublication DateTitle
JP2004348824A (en) ECC encoding method and ECC encoding device
JP3896206B2 (en) Encoding method and system for storage device using ECC block structure
US8001447B2 (en)Error correction method and apparatus for data storage device
US7500157B2 (en)Error correction coding method for a high-density storage media
US8171373B2 (en)Coding circuit for recording data on DVD disk
US7836375B2 (en)Scrambler circuit, encoding device, encoding method and recording apparatus
EP1750264B1 (en)Error detecting code calculation circuit, error detecting code calculation method, and recording apparatus
KR100305973B1 (en)Data error correcting method and apparatus
US7225385B2 (en)Optical recording method
JP2005322394A (en) Digital data encoding apparatus, DVD recording apparatus and method
KR100412766B1 (en)Write cache circuit, recording apparatus with write cache circuit, and write cache method
JP2006526247A (en) Error correction encoding method, data recording method and apparatus using the same
TWI384463B (en)Method for optical storage medium writing and apparatus thereof
JP2001156649A (en) Digital data encoding processing circuit, encoding processing method, and digital data recording device including encoding processing circuit
JP3774423B2 (en) memory
JP4071789B2 (en) Memory address generation apparatus and method
US7334180B2 (en)Optical encoding method
JPH0737334A (en) Information recording method
JPH087496A (en)Method and device for recording/reproducing disk
JPH10154941A (en)Error correction circuit
JP3384402B2 (en) Information reproducing method and information reproducing apparatus
JPS62275356A (en)Identification signal forming method
JPS63298776A (en)Error correction processing system
JPH08273307A (en)Coder and decoder
JP2002222524A (en) Optical disk device and data randomizing method for optical disk device

Legal Events

DateCodeTitleDescription
A521Written amendment

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20051227

A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20051227

A762Written abandonment of application

Free format text:JAPANESE INTERMEDIATE CODE: A762

Effective date:20070312


[8]ページ先頭

©2009-2025 Movatter.jp