JP2006309820A - 誤り訂正装置 - Google Patents

誤り訂正装置 Download PDF

Info

Publication number
JP2006309820A
JP2006309820A JP2005128053A JP2005128053A JP2006309820A JP 2006309820 A JP2006309820 A JP 2006309820A JP 2005128053 A JP2005128053 A JP 2005128053A JP 2005128053 A JP2005128053 A JP 2005128053A JP 2006309820 A JP2006309820 A JP 2006309820A
Authority
JP
Japan
Prior art keywords
error
error correction
unit
code
buffering
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.)
Pending
Application number
JP2005128053A
Other languages
English (en)
Inventor
Shinichiro Tomizawa
眞一郎 富澤
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 JP2005128053A priority Critical patent/JP2006309820A/ja
Priority to CNA2006100743936A priority patent/CN1855282A/zh
Priority to KR1020060037052A priority patent/KR100699385B1/ko
Priority to US11/380,398 priority patent/US20060259850A1/en
Priority to TW095114840A priority patent/TW200641815A/zh
Publication of JP2006309820A publication Critical patent/JP2006309820A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】少なくとも二組の誤り訂正符号を組み合わせて構成されるブロック符号の誤り訂正処理を効率良く実施し、且つ、回路規模の増大を抑制する。
【解決手段】第1及び第2誤り訂正符号を付与して構成されたブロック符号の誤り訂正を行う誤り訂正装置において、バッファメモリに受信したブロック符号を格納するのと併行して、行単位で第1誤り訂正符号に基づくシンドローム演算を行い、各行の誤りの有無の判別結果を生成するシンドローム演算部と、当該判別結果をバッファリングするバッファリング部と、バッファメモリから読み出したブロック符号の各列の第2誤り訂正符号とバッファリングされた当該判別結果に基づいて訂正処理を行う訂正処理部を有する。若しくは、前述のバッファリング部を、シンドローム演算部で生成された判別結果をバッファメモリへと転送するバッファ転送部と、バッファメモリから当該判別結果を読み出してバッファリングするバッファリング部に置き換える。
【選択図】 図2

Description

本発明は、誤り訂正装置に関する。
誤り訂正技術は、通信システム・放送システム・記録システム等のシステムの信頼性向上に不可欠な技術であり、また、記録システムでは、音声記録や画像記録の高密度化の基本技術となっている。誤り訂正技術の中核となる誤り訂正符号としては、これまでに数多くの研究がなされ、様々なものが提案されている。
誤り訂正符号の体系としては、まず、ブロック符号と畳込み符号に大分類され、また、ブロック符号は線形符号と非線形符号に分類され、さらに、線形符号は巡回符号と非巡回符号に分類される。また、これらの符号若しくは同種類の符号を少なくとも二つ組み合わせることで誤り訂正能力を更に向上させたものとして積符号と連接符号とに分類される。例えば、DVD規格等の光ディスク記録やデジタルVTR等に用いられるリードソロモン積符号は、符合語がガロア体と呼ばれる特殊な元で構成されるリードソロモン符号(前述した巡回符号の一つ。)を2組組み合わせた積符号であり、主にバースト誤りに有効である。
以下、誤り訂正符号の一例としてのリードソロモン積符号に基づいたDVD規格に準拠した符号化処理について、図16、図17、図18をもとに説明する。
光ディスクへの記録対象となる記録データは、図16に示す2048バイトごとに分割される。この分割されたデータは「メインデータ」と呼ばれ、その先頭には12バイトの「ヘッダ」が付与される。このヘッダは、4バイトのID(Identification Code)と、そのIDに対する2バイトの誤り検出符号IED(Id Error Detection Code)と、コピープロテクト情報などの6バイトの予約データCPM(Copyright Management Code)と、によって構成される。また、メインデータの末尾には4バイトのEDC(Error Detection Code)が付与される。このEDCは、ヘッダが付与されたメインデータに対する誤り検出符号である。
メインデータにヘッダならびにEDCが付与された総2064バイトのデータは、図17に示すように、172バイト単位に区切られた172バイト(列)×12行の「データセクタ」として区分けされる。なお、データセクタのうちのメインデータ2048バイトに対しては、ヘッダに含まれるスクランブルキーの情報をもとに、例えばPN(Pseudo random Noise)系列加算によるスクランブル処理が施される。
16個のデータセクタが集約されて172バイト×192行の行列(以下、「データセクタ群」と称する。)が形成される。また、データセクタ群の各列には16行分のPO符号(Outer Code Parity)が付与され、さらに、データセクタ群の各行には10バイト分のPI符号(Inner Code Parity)が付与される。なお、PO符号ならびにPI符号としては、一般的に、リードソロモン符号が採用される。すなわち、PO符号ならびにPI符号が付与された182バイト(列)×208行のブロック符号は、「ECCブロック」と呼ばれるリードソロモン積符号である。
また、図18に示すように、16行のPO符号が、1行ごとにPI符号が付与された各データセクタの後に順次配置されるべく、ECCブロック内でのインタリーブ(行入れ替え)が行われる。ここで、1つのデータセクタに10バイト分のPI符号と1行のPO符号が付与された182バイト×13行のデータは、「記録セクタ」として取り扱われる。そして、16個の記録セクタによって構成された1ブロック単位分のECCブロックに対して、8−16変調やNRZI変換などが施された後、光ディスクへの記録が行われることになる。
つぎに、ECCブロックの受信再生側の復号化処理、特に、誤り訂正処理について、図19、図20、図21をもとに説明する。
図19は、光ディスク再生システムの概略的な構成を示す図である。光ディスク再生システムは、DVD媒体等の光ディスク1に記録された情報(ECCブロック)を光学的に読み出す光ピックアップ2と、光ピックアップ2で読み出された情報をもとに、2値化や同期クロック抽出等のアナログ信号処理を行うフロントエンド処理部9、アナログ処理が施されたデータをもとに8/16復調や誤り訂正処理等の復号化処理を行う復号化装置11、復号化装置11における処理の過程での作業用メモリとなるバッファメモリ5、復号化装置11によって復号化後のデータを受信するホストコンピュータ7、によって構成される。また、復号化装置11は、誤り訂正装置10を有しており、誤り訂正装置10は、バッファ転送部101、PI/PO誤り訂正処理部102、EDCデコーダ104、バッファ転送部105、によって構成される。
なお、誤り訂正装置10における従来の誤り訂正処理の流れは、図20のフローチャートに示すように、つぎのとおりとなる。まず、8/16復調が施されたECCブロック分の再生データDINが、バッファ転送部101におけるバッファリングを介した後に、バッファメモリ5へと全て格納される(S200)。そして、バッファメモリ5に格納された再生データDINに対してデインタリーブ処理が施される。
つぎに、PI/PO誤り訂正処理部102は、バッファメモリ5に格納された再生データDINを、ECCブロックの行単位で読み出し(S201)、ECCブロックの各行の再生データDIN毎に付与されるPI符号に基づいて検出訂正処理(以下、PI検出訂正処理)を実行する(S202)。なお、この際、PI/PO誤り訂正処理部102は、再生データDIN内でPI検出訂正処理を実施したシンボル(ビット)の位置情報を、消失フラグとして内部のレジスタ等に格納しておく。そして、PI検出訂正処理後の再生データDIN’が、バッファメモリ5へと格納される。
つぎに、PI/PO誤り訂正処理部102は、バッファメモリ5に格納された再生データDIN’を、ECCブロックの列単位で読み出し(S203)、ECCブロックの各列の再生データDIN’毎に、それに付与されるPO符号に基づいて検出訂正処理(以下、PO検出訂正処理)を実行する(S204)。なお、この際に、PI誤り訂正処理の際の消失フラグを用いて消失訂正処理(以下、PO消失訂正処理)を実行することも可能である。そして、PO検出訂正処理又はPO消失訂正処理後の再生データDIN’’が、バッファメモリ5へと格納される。
つぎに、EDCデコーダ104は、バッファメモリ5に格納された再生データDIN’’をデータセクタ単位で読み出して、それに付与されるEDCに基づいて誤り検出を実行する。さらに、その後、バッファメモリ5に格納された再生データDIN’’にデスクランブル処理が施される。そして、バッファ転送部105は、バッファメモリ5から読み出した再生データDIN’’を再生データDOUTとしてホストコンピュータ7へと転送する。
ここで、前述したPI/PO検出訂正処理の一般的な処理の流れを、例えば、以下に示す非特許文献1を参照して図21に示しておく。なお、以下に示す特許文献1においても、PI/PO検出訂正処理ならびにPO消失訂正処理の内容が開示されてある。図21に示すように、PI/PO検出訂正処理は、誤りの有無を検証するためのシンドローム演算(S210)、誤りが発生したシンボル位置(以下、誤り位置)を得るための誤り位置多項式の導出(S211)、誤り位置多項式に所定のガロア体を定義する原始多項式の元を代入することで得られる誤り位置の計算(S212)、シンドロームと誤り位置と所定のガロア体を定義する原始多項式の元に基づいて得られる誤りの値(大きさ)の計算(S213)、そして、最終的な誤りの訂正(S214)の順で行われる。なお、前述した消失フラグは、誤り位置の計算(S212)において得られることになる。
特開平11−41113号公報 江藤良純・金子敏信、「誤り訂正符号とその応用」、第1版第8刷、株式会社オーム社、平成16年2月25日、p.183−188
ところで、少なくとも二組の誤り訂正符号を組み合わせたブロック符号(ECCブロック等)に対する従来の誤り訂正処理のシーケンスでは、夫々の誤り訂正符号に基づく誤り訂正処理のたびに、作業用メモリとしてのバッファメモリへのアクセスが行われていた。例えば、図20のS201、S203に示すように、PI検出訂正処理と、PO検出訂正処理又はPO消失訂正処理の両方の段階で、ECCブロックの全データをバッファメモリから読み出しを行っていた。このようなバッファメモリへのアクセスは、誤り訂正処理全体の高速化へのボトルネックとなっており、ひいては、従来の誤り訂正装置を組み込んだシステム全体の更なる高速化に支障をきたす恐れがあった。例えば、次世代光ディスクとして近年注目されているHDDVD(High Definition DVD)等では、光ディスクからの再生データのデータ転送速度として、更なる高速化が要請されている。しかし、従来の誤り訂正装置の仕組みのままでは、その再生データの高速なデータ転送ができない恐れがあった。なお、再生データの高速なデータ転送を実現するために、PI/POの誤り訂正処理部を別々の回路として設け、夫々の処理を並列に行うことが考えられる。しかし、この場合は、回路規模が増大するという問題が生じる。
前述した課題を解決するための主たる本発明は、2次元配列させたデータに行方向の第1誤り訂正符号ならびに列方向の第2誤り訂正符号を付与して構成されたブロック符号を受信して誤り訂正処理を行う誤り訂正装置において、前記受信したブロック符号を格納するバッファメモリと、前記受信したブロック符号の行単位で、前記第1誤り訂正符号に基づくシンドローム演算を行い、前記ブロック符号の各行における誤りの有無の判別結果を生成するシンドローム演算部と、前記判別結果をバッファリングするバッファリング部と、前記バッファメモリから読み出された前記ブロック符号の各列に付与される前記第2の誤り訂正符号と、前記バッファリング部においてバッファリングされた前記判別結果と、に基づいて訂正処理を行う訂正処理部と、を有する。
また、前述した課題を解決するためのその他の主たる本発明は、2次元配列させたデータに行方向の第1誤り訂正符号ならびに列方向の第2誤り訂正符号を付与して構成されたブロック符号を受信して誤り訂正処理を行う誤り訂正装置において、前記受信したブロック符号を格納するバッファメモリと、前記受信したブロック符号の行単位で、前記第1誤り訂正符号に基づくシンドローム演算を行い、前記ブロック符号の各行における誤りの有無の判別結果を生成するシンドローム演算部と、前記判別結果をバッファリングするとともに前記バッファメモリへと転送するバッファ転送部と、前記バッファメモリから読み出した前記判別結果をバッファリングするバッファリング部と、前記バッファメモリから読み出された前記ブロック符号の各列に付与される前記第2の誤り訂正符号と、前記バッファリング部においてバッファリングされた前記判別結果と、に基づいて訂正処理を行う訂正処理部と、を有する。
本発明によれば、少なくとも二組の誤り訂正符号を組み合わせて構成されるブロック符号の誤り訂正処理を効率良く実施することが可能であり、且つ、回路規模の増大を抑制した誤り訂正装置を提供することができる。
<光ディスク再生システムの構成>
図1は、本発明に係る『誤り訂正装置』を含んだシステムの一例としての光ディスク再生システムの構成を示す図である。なお、本実施形態の光ディスク再生システムとしては、DVD再生システムであるものとして説明する。よって、本実施形態の光ディスク再生システムでは、2次元配列させたデータセクタ群に対して行方向のPI符号(『第1誤り訂正符号』)ならびに列方向のPO符号(『第2誤り訂正符号』を組み合わせたリードソロモン積符号に基づく1ブロック単位の再生データ(『ブロック符号』)を受信して誤り訂正処理を行う。勿論、本発明に係る光ディスク再生システムとしては、CD再生システムやHDDVD再生システムとしてもよい。
光ディスク1は、DVD±R/RW、DVD−RAM、DVD−ROM等のDVD媒体であり、図18に示したECCブロックのデータフォーマットに従って情報が記録されてある。また、各種プリフォーマット方式において、ECCブロック、ECCブロックを構成する16個のデータセクタ、データセクタを構成する26個のフレーム、夫々の先頭を示す各種シンク信号SYNCが、光ディスク1に予め記録される。
光ピックアップ2は、光ディスク1に対してレーザービームを照射してその反射光を受光することで、光ディスク1に記録された情報を光学的に読み取るものである。
RFアンプ3は、光ピックアップ2で読み取られた情報を増幅するアンプである。なお、RFアンプ3には、一般的に、その利得を自動調整するためのAGC(Automatic Gain Control)機能が設けられる。
信号処理装置4は、RFアンプ3の出力に対して光ディスク再生に係る各種信号処理を実行するものであり、1又は複数の半導体集積回路として提供される。
バッファメモリ5は、本発明に係る誤り訂正処理の実行過程の作業用メモリとして設けられる、信号処理装置4の外付けメモリである。すなわち、バッファメモリ5には、本発明に係る誤り訂正処理を実行すべく、RFアンプ3の出力に応じた誤り訂正処理対象のデータが1ブロック単位で格納される。なお、バッファメモリ5としては、一般的にDRAM等が採用される。
マイクロコンピュータ6は、光ディスク再生システム全体の制御を司るものシステムコントローラである。
リードチャネル回路40は、RFアンプ3の出力を2値化するとともに基準クロック信号を生成するものである。なお、DVD−ROM規格や次世代のHDDVD規格等の場合、リードチャネル回路40は、PRML(Partial Response Maximum Likelihood)方式に基づいて、PR等価処理やビタビ復号処理を併せて実行する。
同期検出回路42は、リードチャネル回路40において生成された2値化信号ならびに基準クロック信号に基づいて前述したシンク信号SYNCを生成するものである。なお、シンク信号SYNCは、誤り訂正回路(47,50)へと送信される。
復調回路43は、同期検出回路42を介した2値化信号に対して8/16変調の復調処理を施した8/16復調データ(以下、再生データDINと称する。)を生成するものである。なお、再生データDINは、内部バス51を介して誤り訂正装置(47,50)へと送信する。
誤り訂正装置(47,50)は、再生データDINに対して誤り訂正処理を行う。誤り訂正処理後の再生データDIN(以下、再生データDOUT)は、後述のホストI/F回路49を介してホストコンピュータ7へと送信される。なお、誤り訂正装置(47,50)の内部構成ならびに動作の詳細については後述する。
メモリアクセス制御回路45は、誤り訂正装置(47,50)からのバッファメモリ5へのアクセス要求に応じて、バッファメモリ5に応じたリード/ライトコマンドやアドレス等を生成するものである。
メモリI/F回路46は、メモリアクセス制御回路45を介した誤り訂正装置(47,50)とバッファメモリ56との間を通信可能に接続させるための通信インタフェース回路である。メモリI/F回路46としては、例えば、3線式シリアルインタフェースが採用される。
マイコンI/F回路48は、信号処理装置4とマイクロコンピュータ6との間を通信可能に接続するための通信インタフェース回路である。マイコンI/F回路48としては、例えば、UART(Universal Asynchronous Receiver and Transmitter)、3線式シリアルインタフェース、I2Cバスインタフェース等が採用される。
ホストI/F回路49は、信号処理装置4とホストコンピュータ7との間を通信可能に接続するための通信インタフェース回路である。ホストI/F回路49としては、ATAPI(Attachment Packet Interface)が一般的に採用される。
<第1実施形態:誤り訂正装置>
本発明の第1実施形態に係る『誤り訂正装置47』について、図3を適宜参照しつつ、図2に基づいて説明する。なお、説明の都合上、後述のPIシンドローム演算の前に通常実施されるデインタリーブ処理、ならびに、後述の誤り検出処理の後に通常実施されるデスクランブル処理の説明は省略する。
バッファ転送部471は、復調回路43から内部バス51を介して受信した1ブロック単位分の再生データDIN(以下、ECCブロック)をバッファリングし、メモリアクセス制御回路45並びにメモリI/F回路46を介してバッファメモリ5へと転送する。この結果、バッファメモリ5には、ECCブロックが書き込まれる(S300)。また、バッファ転送部471は、バッファメモリ5へのECCブロックの転送と併行して、同一のECCブロックを、PIシンドローム演算部473に対して転送する。
PIシンドローム演算部473は、バッファ転送部471から転送されたECCブロックに対して、各行に付与されるPI符号に基づいたシンドローム演算(以下、PIシンドローム演算)を順次行う(S301)。すなわち、PIシンドローム演算は、バッファメモリ5へのECCブロックの書き込みと併行して行われる。
PIシンドローム演算の例としては、例えば、符号長“8”且つ情報数“4”の(8、4)リードソロモン符号の場合とし、ECCブロックの任意行の再生データDINが(D3、D2、D1、D0、P3、P2、P1、P0:但し、D3〜D0はシンボル、P3〜P0はPI符号。)と表現した場合には、つぎの式(1)〜(4)で定義されるシンドロームS0〜S3が演算される。なお、α^n(自然数)は、ガロア体GF(2^3)を定義する原始多項式の元である。
S0=D3+D2+D1+D0+P3+P2+P1+P0……式(1)
S1=α^7・D3+α^6・D2+α^5・D1+α^4・D0+α^3・P3+α^2・P2+α^1・P1+P0……式(2)
S2=α^14・D3+α^12・D2+α^10・D1+α^8・D0+α^6・P3+α^4・P2+α^2・P1+P0……式(3)
S3=α^21・D3+α^18・D2+α^15・D1+α^12・D0+α^9・P3+α^6・P2+α^3・P1+P0……式(4)
ここで、シンボルD3〜D0において誤りが発生していない場合、シンドロームS0〜S3は全て“0”となる。一方、シンボルD3〜D0において誤りが発生した場合、シンドロームS0〜S3は“0”とは異なった値が得られる。例えば、シンボルD2にe2の大きさの誤りが加わった場合、シンドロームS0はe2となり、シンドロームS1はα^6・e2となり、シンドロームS2はα^12・e2となり、シンドロームS3はα^18・e2となる。
PIシンドローム演算部473は、予め定義しておいたPIシンドローム演算の結果によって、ECCブロックの各行毎に、誤りが発生しているか否かを判別することが可能となる。そして、PIシンドローム演算部473は、この誤りの有無を判別した結果を示すエラーフラグERFを、ECCブロックの各行毎に順次生成する(S302)。なお、エラーフラグERFは、後述のPO消失訂正処理で用いられるものであるが、従来の消失訂正処理で用いられた消失フラグとは内容が異なるものである。すなわち、従来の消失フラグは、図21において示した誤り位置多項式の導出(S211)ならびに誤り位置の計算(S212)を経て得られるが、本発明に係るエラーフラグERFは、単純にPIシンドローム演算の結果のみで得られる。
エラーフラグ・バッファリング部474(『バッファリング部』)は、複数のビットマップレジスタで主に構成され、PIシンドローム演算部473において順次生成されたECCブロック全行分のエラーフラグERFをバッファリングする(S303)。なお、ビットマップレジスタは、所定ビット数分の1ビット記憶素子の集合体であり、ECCブロック全行分のERFが当該1ビット記憶素子夫々にビットマップ状に記憶される。なお、本実施形態では、ビットマップレジスタとして、ECCブロック全行分のエラーフラグERFをシフト動作で格納するシフトレジスタを採用する。また、シフトレジスタ以外にも、ビットマップレジスタとして、ECCブロック全行分のエラーフラグERFをランダムアクセスで格納させるRAMを採用してもよい。以下では、ビットマップレジスタを用いてエラーフラグERFをバッファリングする方式のことを、「ビットマップ型」と称する。
また、エラーフラグ・バッファリング部474の別の実施形態として、エラーフラグ・バッファリング部480(『バッファリング部』)は、複数のRAM(『エラー行ポインタ格納用メモリ』)で主に構成され、PIシンドローム演算部473において順次生成されたエラーフラグERFのうち、誤り有りを示すエラーフラグERFに対応したECCブロック行を示すPIエラーラインナンバーELN(『エラー行ポインタ』)をバッファリングする。以下では、RAM等を用いてPIエラーラインナンバーELNをバッファリングする方式のことを、「ポインタ型」と称する。
PO消失訂正処理部475は、バッファメモリ5に書き込んでおいたECCブロックをメモリアクセス制御回路45ならびにメモリI/F回路46を介して列単位で読み出す(S304)。そして、PO消失訂正処理部475は、ECCブロックの各列に付与されるPO符号と、エラーフラグ・バッファリング部474においてバッファリングしておいたECCブロック全行分のエラーフラグERF、若しくは、エラーフラグ・バッファリング部480においてバッファリングしておいた1ブロック分のPIエラーラインナンバーELNと、に基づいて、ECCブロックを列単位で消失訂正処理(以下、PO消失訂正処理)を行う(S305)。そして、PO消失訂正処理後のECCブロックが、バッファメモリ5へと改めて書き込まれる。
詳述すると、PO消失訂正処理部475は、PIシンドローム演算の結果であるECCブロック全行分のエラーフラグERF若しくは1ブロック分のPIエラーラインナンバーELNを参照して、ECCブロックの1列分である208bitsの再生データDINのうち、誤り有りを示すエラーフラグERFに対応した行のビットを、消失訂正位置とみなす。すなわち、消失訂正位置が、誤り位置多項式の導出や誤り位置の計算をせずに予め分かっている状態となる。よって、PO消失訂正処理部475は、ECCブロック全行分のエラーフラグERF若しくは1ブロック分のPIエラーラインナンバーELNに基づいて、誤りの値の計算と、その誤りの値を用いた誤り訂正のみを実行すればよいことになる。例えば、前述した例を用いて説明すると、誤りの値E2は、式(1)のシンドロームS0のみを演算すれば得られる。また、誤り訂正は、誤り有りを示すエラーフラグERFに対応したシンボルD2の値から誤りの値E2を引き算すれば実施できる。
EDCデコーダ476は、バッファメモリ5からPO消失訂正処理後のECCブロックを読み出して各データセクタに付与されるEDCに基づいて誤り検出処理を行うことで、PO消失訂正処理の誤訂正を検証する。なお、その検証結果は、バッファメモリ5へと書き込まれる。
バッファ転送部477は、バッファメモリ5からPO消失訂正処理後のECCブロックを読み出し、再生データDOUTとしてホストI/F回路49を介してホストコンピュータ7へと転送する。
誤り訂正シーケンス制御部479は、同期検出回路42において生成されたシンク信号SYNCに基づいてECCブロックやデータセクタの先頭を識別することで、各処理部(471、473、(474,480)、475、476、477)に対して、本発明に係る誤り訂正処理のシーケンス制御を行うものである。なお、図4に示すように、前記の各処理部における処理は同期する。
図4は、誤り訂正装置47の誤り訂正処理のタイミングチャートである。なお、(a)はバッファ転送部471からバッファメモリ5へのライト処理の流れを示し、(b)はPIシンドローム演算部473におけるエラーフラグERFの生成処理の流れを示し、(c)はPO消失訂正処理部475におけるPO消失訂正処理ならびにEDCデコーダ476の誤り検出処理を一体化したデコード処理の流れを示し、(d)はバッファ転送部477におけるバッファメモリ5からバッファ転送部477へのデコード処理後のリード処理の流れを示すものである。
まず、時刻T0からT1までの1ブロック期間、バッファ転送部471からバッファメモリ5へのECCブロック0の書き込みと、PIシンドローム演算部473におけるECCブロック0のエラーフラグERFの生成とが並列化処理される。
時刻T1からT2までの1ブロック期間、バッファ転送部471からバッファメモリ5へのECCブロック1の書き込みと、PIシンドローム演算部473におけるECCブロック1のエラーフラグERFの生成とが並列化処理される。また、PO消失訂正処理部475及びEDCデコーダ476においてECCブロック0のデコード処理が行われる。
時刻T2からT3までの1ブロック期間、バッファ転送部471からバッファメモリ5へのECCブロック2の書き込みと、PIシンドローム演算部473におけるECCブロック2のエラーフラグERFの生成とが並列化処理される。また、PO消失訂正処理部475及びEDCデコーダ476においてECCブロック1のデコード処理が行われる。さらに、バッファメモリ5からバッファ転送部477へのECCブロック0のリード処理が行われる。
時刻T3以降も、時刻T2からT3までの1ブロック期間と同様の処理が行われる。
このように、誤り訂正装置47は、PO消失訂正処理部475ではバッファメモリ5へのアクセスを行うが、PIシンドローム演算部473ではバッファメモリ5へのアクセスを行わない。すなわち、図19に示した従来の誤り訂正装置10が、PI検出訂正処理とPO検出訂正処理(又はPO消失訂正処理)毎にバッファメモリ5へアクセスを行うのと対比したとき、本発明に係る誤り訂正装置47では、誤り訂正処理全体をとおしてのバッファメモリ5へのアクセス回数が減少する。よって、本発明に係る誤り訂正処理は、光ディスク再生において要請されるデータ転送速度に追従することができ、バッファメモリ5へのアクセスに伴う待ち時間も無く、リアルタイム処理が容易に実現できる。
また、PIシンドローム演算部473では、バッファ転送部471からバッファメモリ5へのECCブロックの書き込み処理と併行して、PIシンドローム演算処理を実行する。すなわち、図19に示した従来のバッファ転送部101におけるバッファメモリ5へのECCブロックの書き込み処理と従来のPI誤り訂正処理部102におけるPI検出訂正処理とが逐次処理されるのと対比したとき、本発明では、バッファ転送部471におけるバッファメモリ5へのECCブロックの書き込み処理とPIシンドローム演算部473におけるPIシンドローム演算処理各処理が並列化処理されるので、誤り訂正処理全体をとおしての高速化が図られる。
さらに、PIシンドローム演算部473では、PIシンドローム演算のみを実行する。すなわち、図19に示した従来のPI誤り訂正処理部102が、図21に示したように、シンドローム演算(S210)以外に、誤り位置多項式の導出(S211)、誤り位置の計算(S212)、誤りの値の計算(S213)、誤りの訂正(S214)の手順に従うことと対比したとき、本発明に係るPIシンドローム演算部473ではPIシンドローム演算のみを実行するため、誤り訂正処理全体をとおしての処理負荷が軽減されるともに高速化が図られる。また、従来のPI誤り訂正処理部102と対比して、本発明に係るPIシンドローム演算部473の回路規模は減少する。
さらに、PO消失訂正処理部475では、PIシンドローム演算部473で生成されたエラーフラグERFを参照して、PO消失訂正処理を実行する。すなわち、誤り位置が予め分かっていることに伴って検出訂正処理よりも2倍の訂正能力があることが知られている消失訂正処理を実行する。よって、本発明に係る誤り訂正処理は、適切な品質の誤り訂正能力を確保しつつ、光ディスク1からの再生データDINの高速なデータ転送速度に追従することができ、リアルタイム処理が容易に実現できる。
===ビットマップ型のエラーフラグ・バッファリング部===
ビットマップ型のエラーフラグ・バッファリング部474の構成ならびに動作について、図6、図7を適宜参照しつつ、図5をもとに説明する。
第1シフトレジスタ4741ならびに第2シフトレジスタ4742は、PIシンドローム演算部473から、ECCブロック全行分(208bits)のエラーフラグERF(図7(a)参照)と、ECCブロック各行のエラーフラグERFと同期したECCブロック各行を識別するためのPIラインタイミング信号LT(図7(b)参照)を受信する。
そして、第1シフトレジスタ4741ならびに第2シフトレジスタ4742は、PIラインタイミング信号LTをシフトクロック信号として用いることで、ECCブロック全行分のエラーフラグERFをバッファリングする。なお、ECCブロック全行分のエラーフラグERFがバッファリングされた場合、第1シフトレジスタ4741ならびに第2シフトレジスタ4742は、夫々に格納されたECCブロック全行分のエラーフラグERFを、第1シフト出力SA(図7(c)参照)、第2シフト出力SB(図7(d)参照)としてセレクタ4745へと送信する。
図6は、第1シフトレジスタ4741ならびに第2シフトレジスタ4742に対して、ECCブロック全行分のエラーフラグERFがバッファリングされた状態を示すものである。なお、図6では、PIシンドローム演算の結果、ECCブロックの100行目と198行目に誤りが発生した例を示してある。この場合、PO消失訂正処理部475では、ECCブロックの100行目の198行目に関するPO消失訂正を実施することになる。
ところで、本実施形態では、第1シフトレジスタ4741ならびに第2シフトレジスタ4742を二組設けてあるが、二組に限定するものではなく三組以上設けてもよい。シフトレジスタの個数を増やすほど、シフトレジスタへのエラーフラグERFのバッファリング処理とPO消失訂正処理との乖離に余裕が生まれる。
AND素子4743、4744は、本発明に係る『スイッチング制御部』の一実施形態である。AND素子4743、4744は、誤り訂正シーケンス制御部479からシフトイネーブル信号SENとスイッチ指令SWを受信して夫々のAND演算を行う。また、AND素子4743の出力は第1シフトレジスタ4741におけるイネーブル信号として取り扱われ、AND素子4744の出力は第2シフトレジスタ4742のイネーブル信号として取り扱われる。
ここで、シフトイネーブル信号SENとスイッチ指令SWが“H,L”の場合、AND素子4743、4744の各出力が“H,L”となり、第1シフトレジスタ4741がシフト動作可能なEnable状態、第2シフトレジスタ4742がシフト動作不可なDisable状態となる。また、シフトイネーブル信号SENとスイッチ指令SWが“H,H”の場合、AND素子4743、4744の各出力が“H,L”となり、第1シフトレジスタ4741がDisable状態、第2シフトレジスタ4742がEnable状態となる。なお、シフトイネーブル信号SENが“L”の場合、スイッチ指令SWに関わらず、第1及び第2シフトレジスタ4741、4742はともにDisable状態となる。このように、AND素子4743、4744によって、第1及び第2シフトレジスタ4741、4742のEnable状態が、相補的に切り替わる。
セレクタ4745は、誤り訂正シーケンス制御部479から受信するスイッチ指令SW(図7(e)参照)をセレクタ制御信号として用いることで、第1シフトレジスタ4741から受信する第1シフト出力SA、若しくは、第2シフトレジスタ4742から受信する第2シフト出力SBの一方を選択して、PO消失訂正処理部475へと出力する(図7(f)参照)。この結果、PO消失訂正処理部475は、セレクタ4745にて選択出力された第1シフト出力SA又は第2シフト出力SBを参照してPO消失訂正処理を実行する。
すなわち、AND素子4743、4744は、第1シフトレジスタ4741ならびに第2シフトレジスタ4742夫々を、シンドローム演算部473からのECCブロック全行分のエラーフラグERFのバッファリング用と、消失訂正処理部475における消失訂正処理用と、に逐次切り替える。この結果、ECCブロック全行分のエラーフラグERFのバッファリング処理と、PO消失訂正処理とが、パイプライン処理される。
このように、ビットマップ型のエラーフラグ・バッファリング部474は、ECCブロック全行分のエラーフラグERFのバッファリング処理と、PO消失訂正処理とをパイプライン処理させることで、本発明に係る誤り訂正処理全体の高速化が図られる。
===ポインタ型のエラーフラグ・バッファリング部===
ポインタ型のエラーフラグ・バッファリング部480の構成ならびに動作について、図9を適宜参照しつつ、図8をもとに説明する。
エラーフラグ・バッファリング部480は、PIシンドローム演算部473から、ECCブロック各行のエラーフラグERFと、各エラーフラグERFに対応するECCブロックの行を示すポインタであるPIラインナンバーLNと、ECCブロック全行のうち、エラーカウンタ4731によって誤り有りの行数をカウントしたエラーカウント値ECと、を受信する。
そして、エラーフラグ・バッファリング部480は、PIシンドローム演算部473から受信した1つのエラーフラグERFが誤り有りを示す場合、そのエラーフラグERFに同期して受信したエラーカウント値ECをライトアドレスとして、同じくそのエラーフラグERFに同期して受信したPIラインナンバーLN、すなわち、誤り有りのみを示すPIエラーラインナンバーELN(『エラー行ポインタ』)を、第1RAM4801ならびに第2RAM4802へバッファリングする。
さらに、エラーフラグ・バッファリング部480は、PO消失訂正処理部475におけるPO消失訂正処理の実行タイミングで、第1RAM4801又は第2RAM4802に対するリード指令PRとリードアドレスRAをPO消失訂正処理部475から受信する。この結果、第1RAM4801又は第2RAM4802にバッファリングされたPIエラーラインナンバーELNが読み出されて、PO消失訂正処理部475へと送信される。この結果、PO消失訂正処理部475は、エラーフラグ・バッファリング部480から受信したPIエラーラインナンバーELNを参照しつつPO消失訂正処理を実行する。
ここで、第1RAM4801ならびに第2RAM4802は、本発明に係る『エラー行ポインタ格納用メモリ』の一実施形態であり、PIエラーラインナンバーELNのバッファリングをするメモリである。なお、ECCブロック全行のうち“16”行を超える誤りが発生した場合、消失訂正ができないことが知られている。よって、第1RAM4801ならびに第2RAM4802の記憶容量は、「16bits×PIエラーラインナンバーELNのビット数(例えば、8bits)」あれば十分である。
ところで、本実施形態では、第1RAM4801ならびに第2RAM4802を二組設けてあるが、二組に限定するものではなく三組以上設けてもよい。RAMの個数を増やすほど、RAMへのPIエラーラインナンバーELNのバッファリング処理とPO消失訂正処理との乖離に余裕が生まれる。
第1カウンタレジスタ4803、第2カウンタレジスタ4804は、夫々、第1RAM4801、第2RAM4802に書き込まれたPIエラーラインナンバーELNの個数を示す、エラーカウント値ECを格納するものである。すなわち、このエラーカウント値ECは、第1RAM4801、第2RAM4802の全アドレスのうち、どのライトアドレスまでPIエラーラインナンバーELNが書き込まれてあるのかを識別するとともに、Empty領域の先頭アドレスを示すものである。そして、このカウント値が、消失訂正可能な最大カウント値“16”に達した場合、エラーフラグ・バッファリング480は、第1RAM4801、第2RAM4802へのPIエラーラインナンバーELNの書き込みを禁止する。
ここで、図9は、第1RAM4801、第2RAM4802にPIエラーラインナンバーELNが書き込まれた状態と、この場合の第1カウンタレジスタ4803と第2カウンタレジスタ4804の状態を示すものである。なお、図9に示す例では、ECCブロック全行のうち、1行目、100行目、198行目の合計3行に誤りが発生した例を示してある。この場合、第1RAM4801、第2RAM4802は、アドレス0〜2までの区画領域にPIエラーラインナンバーELNが書き込まれており、アドレス3〜15までの区画領域はEmpty領域である。また、第1カウンタレジスタ4803と第2カウンタレジスタ4804に格納されるエラーカウント値ECは“3”であり、Empty領域の先頭アドレスを示すことになる。
スイッチング制御部4805は、誤り訂正シーケンス制御部479から受信したスイッチ指令SWに基づいて、第1RAM4801又は第2RAM4802の一方をPIシンドローム演算部473と接続させ、他方をPO消失訂正処理部475と接続させるための制御を行う。すなわち、スイッチング制御部4805は、第1RAM4801、第2RAM4802夫々を、PIエラーラインナンバーELNのバッファリング用と、PO消失訂正処理用と、に切り替える。
この結果、PIエラーラインナンバーELNのバッファリング処理と、PO消失訂正処理がパイプライン処理されて、本発明に係る誤り訂正処理全体の高速化が図られる。さらに、ポインタ型のエラーフラグ・バッファリング部480は、ビットマップ型のエラーフラグ・バッファリング部474と対比して、回路規模が減少する。
<第2実施形態:誤り訂正装置>
本発明の第2実施形態に係る『誤り訂正装置50』について、図11を適宜参照しつつ、図10に基づいて説明する。なお、説明の都合上、前述した本発明の第1実施形態に係る誤り訂正装置47と同様に、PIシンドローム演算の前に通常実施されるデインタリーブ処理、ならびに、誤り検出処理の後に通常実施されるデスクランブル処理の説明は省略する。
本発明の第2実施形態に係る誤り訂正装置50は、本発明の第1実施形態に係る誤り訂正装置47と対比して、エラーフラグ・バッファ転送部(504,511)と、エラーフラグ・バッファリング部505のみが異なっている。
エラーフラグ・バッファ転送部504(『バッファ転送部』)は、複数のシフトレジスタ(『ビットマップレジスタ』)で主に構成されたビットマップ型のものであり、PIシンドローム演算部503において順次生成されたエラーフラグERFをバッファリングする。また、エラーフラグ・バッファ転送部511は、複数のRAMで主に構成されたポインタ型のものであり、PIシンドローム演算部503において順次生成されたエラーフラグERFのうち、誤り有りを示すエラーフラグERFに対応したECCブロック行を示すPIエラーラインナンバーELN(『エラー行ポインタ』)をバッファリングする。そして、エラーフラグ・バッファ転送部(504,511)は、エラーフラグERF若しくはPIエラーラインナンバーELNが、バッファメモリ5のデータビット幅を所定の自然数倍した分バッファリングされた際に(S113)、バッファメモリ5へバッファ転送する(S114)。
エラーフラグ・バッファリング部505(『バッファリング部』)は、バッファメモリ5から読み出したECCブロック全行分のエラーフラグERF若しくは1ブロック分のPIエラーラインナンバーELNをバッファリングするものである(S115)。なお、エラーフラグ・バッファリング部505は、本発明に係る第1実施形態のエラーフラグ・バッファリング部474、480と同様に、ビットマップ型若しくはポインタ型として構成される。
なお、エラーフラグ・バッファ転送部(504,511)によって、ECCブロック全行分のエラーフラグERF若しくは1ブロック分のPIエラーラインナンバーELNが一旦バッファメモリ5へと書き込まれる。このため、図12に示すように、バッファ転送部501及びPIシンドローム演算部503における各処理と、PO消失訂正処理部506、EDCデコーダ507及びバッファ転送部508における各処理とが、非同期の関係となる。
図12は、誤り訂正装置50の誤り訂正処理のタイミングチャートである。なお、(a)、(b)、(c)、(d)の説明は、図4と同様である。
まず、時刻T0からT1までの1ブロック期間、バッファ転送部501からバッファメモリ5へのECCブロック0の書き込みと、PIシンドローム演算部503におけるECCブロック0のエラーフラグERFの生成とが並列化処理される。
時刻T1からT3までの1ブロック期間、バッファ転送部501からバッファメモリ5へのECCブロック1の書き込みと、PIシンドローム演算部503におけるECCブロック1のエラーフラグERFの生成とが並列化処理される。
なお、時刻T1からT3までの1ブロック期間の間の時刻T2までに、エラーフラグ・バッファリング部505では、ECCブロック0全行分のエラーフラグ0若しくはECCブロック0のPIエラーラインナンバーELNのバッファリングが完了している。
よって、時刻T2では、時刻T3におけるバッファ転送部501からバッファメモリ5へのECCブロック2の書き込みとPIシンドローム演算部503におけるエラーフラグERF生成を待たずに、PO消失訂正処理部475及びEDCデコーダ476においてECCブロック0のデコード処理が非同期に行われる。そして、ECCブロック0のデコード処理が終了する時刻T4では、PO消失訂正処理部475及びEDCデコーダ476においてつぎのECCブロック1に対するデコード処理が行われるとともに、バッファメモリ5からバッファ転送部508へのECCブロック0の読み出しが行われる。
図13は、各処理部(501、503、(504,511)、505、506、507、508)によるバッファメモリ5へのアクセス状況を示すものである。なお、(a)はバッファ転送部501からバッファメモリ5へのECCブロックのライトアクセスを示し、(b)はエラーフラグ・バッファ転送部504,511)からバッファメモリ5へのエラーフラグERF(若しくはPIエラーラインナンバーELN)のライトアクセスを示し、(c)はPO消失訂正処理部506及びEDCデコーダ507におけるデコード処理に伴うバッファメモリ5へのECCブロックのリード/ライトアクセスを示し、(d)はバッファ転送部508からバッファメモリ5へのECCブロックのリードアクセスを示し、(e)は誤り訂正処理全体のバッファメモリ5へのトータルアクセスを示すものである。
エラーフラグ・バッファ転送部(504,511)は、図13(b)、(e)に示すように、バッファ転送部501からバッファメモリ5へとECCブロックが書き込まれる合間に、若しくは、後述のPO消失訂正処理部506がPO消失訂正処理の際、バッファメモリ5からECCブロックの各列を読み出す合間に、バッファリングされたエラーフラグERFをバッファメモリ5へとバッファ転送することとする。この結果、各処理部(501、(504,511)、506、507、508)の間において、バッファメモリ5への各アクセスが衝突することなく効率的に行われることになる。
===ビットマップ型===
ビットマップ型のエラーフラグ・バッファ転送部504の構成ならびに動作について、図14をもとに説明する。
シフトレジスタ5041は、PIシンドローム演算部503から、ECCブロック全行分(208bits)のエラーフラグERFを受信する。
アドレス生成回路5402は、PIラインカウンタ5101によってカウント生成されたPIラインナンバーLNに基づいて、バッファメモリ5に格納するエラーフラグERFのアドレス情報を生成し、メモリアクセス制御回路45へと転送する。この結果、シフトレジスタ5401から出力されたエラーフラグERFが、メモリアクセス制御回路45並びにメモリI/F回路46を介して、アドレス生成回路5402において生成されたアドレス情報に基づいて、バッファメモリ5へとバッファ転送される。
ところで、エラーフラグ・バッファリング部505もまた同様に、ビットマップ型にすることが可能である。なお、この場合の構成は、図5に示した本発明の第1実施形態に係るエラーフラグ・バッファリング474の構成と同様であるため、説明を省略する。
===ポインタ型===
ポインタ型のエラーフラグ・バッファ転送部511の構成ならびに動作について、図15をもとに説明する。
エラーフラグ・バッファ転送部511は、PIシンドローム演算部503から、ECCブロックの各行のエラーフラグERFを受信し、誤り訂正シーケンス制御部510のPIラインカウンタ5101から、各エラーフラグERFに対応したECCブロックの行を示すポインタであるPIラインナンバーLNを受信する。なお、受信したエラーフラグERF及びPIラインナンバーLNは、メモリアクセス制御回路45へと転送される。
エラーカウンタ5111は、PIシンドローム演算部503から受信したエラーフラグERFの誤り有りの回数(以下、エラーカウント値EC)をカウントしてメモリアクセス制御回路45へと転送する。
アドレス生成回路5402は、PIラインカウンタ5101から受信したPIラインナンバーLNに基づき、バッファメモリ5に格納させるPIエラーラインナンバーELNのアドレス情報を生成し、メモリアクセス制御回路45へと転送する。
このように、メモリアクセス制御回路45は、エラーフラグ・バッファ転送部511から、エラーフラグERF、PIラインナンバーLN、エラーカウント値EC、アドレス情報を受信する。そして、メモリアクセス制御回路45は、受信したエラーフラグERFが誤り有りを示す場合、そのエラーフラグERFと同期して受信したPIラインナンバーLN(PIエラーラインナンバーELN(『エラー行ポインタ』))並びにアドレス情報を、メモリI/F回路45へと転送する。この結果、メモリアクセス制御回路45から転送されたPIエラーラインナンバーELNが、メモリI/F46を介して、アドレス生成回路5402において生成されたアドレス情報に基づいて、バッファメモリ5へと書き込まれる。
また、メモリアクセス制御回路45は、1ブロック分のエラーフラグERFに対応した全てのPIエラーラインナンバーELNがバッファメモリ5へと書き込まれた後、エラーカウンタ511でカウントされたエラーカウント値ECを、前述と同様に、バッファメモリ5へと書き込む。このバッファメモリ5に書き込まれたエラーカウント値ECは、前述した第1実施形態におけるエラーカウンタ4731のエラーカウント値ECと同様に、エラーバッファリング部505の制御に用いることができる。
ところで、エラーフラグ・バッファリング部505もまた同様に、ポインタ型として実施することが可能である。なお、この場合の構成は、図8に示した本発明の第1実施形態に係るエラーフラグ・バッファリング480の構成と同様であるため、説明を省略する。
以上、本発明の実施形態について説明したが、前述した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るとともに、その等価物も含まれる。
本発明に係る誤り訂正装置を有した光ディスク再生システムの構成を示す図である。 本発明の第1実施形態に係る誤り訂正装置の構成を示す図である。 本発明の第1実施形態に係る誤り訂正装置の処理の流れを示すフローチャートである。 本発明の第1実施形態に係る誤り訂正装置の処理の流れを示すタイミングチャートである。 本発明の第1実施形態に係るビットマップ型のエラーフラグ・バッファリング部の構成を示す図である。 本発明の第1実施形態に係るビットマップ型のエラーフラグ・バッファリング部のシフトレジスタの状態を示す図である。 本発明の第1実施形態に係るビットマップ型のエラーフラグ・バッファリング部の処理の流れを示すタイミングチャートである。 本発明の第1実施形態に係るポインタ型のエラーフラグ・バッファリング部の構成を示す図である。 本発明の第1実施形態にポインタ型のエラーフラグ・バッファリング部のRAMとカウンタの状態を示す図である。 本発明の第2実施形態に係る誤り訂正装置の構成を示す図である。 本発明の第2実施形態に係る誤り訂正装置の処理の流れを示すフローチャートである。 本発明の第2実施形態に係る誤り訂正装置の処理の流れを示すタイミングチャートである。 本発明の第2実施形態に係る誤り訂正装置のバッファメモリへのアクセス状況を示すタイミングチャートである。 本発明の第2実施形態に係るビットマップ型のエラーフラグ・バッファ転送部の構成を示す図である。 本発明の第2実施形態に係るポインタ型のエラーフラグ・バッファ転送部の構成を示す図である。 DVD規格のデータセクタのフォーマットを説明するための図である。 DVD規格のECCブロックのフォーマットを説明するための図である。 DVD規格のECCブロックのフォーマットを説明するための図である。 従来の誤り訂正装置を有した光ディスク再生システムの構成を示す図である。 従来の誤り訂正装置の処理の流れを示すフローチャートである。 従来のPI/PO誤り訂正処理の流れを示すフローチャートである。
符号の説明
1 光ディスク
2 光ピックアップ
3 RFアンプ
4 信号処理装置
5 バッファメモリ
6 マイクロコンピュータ
7 ホストコンピュータ
10、47、50 誤り訂正装置
11 復号化装置
40 リードチャネル回路
42 同期検出回路
43 復調回路
46 メモリI/F回路
48 マイコンI/F回路
49 ホストI/F回路
51 内部バス
101、105、471、477、501、508 バッファ転送部
102 PI/PO誤り訂正処理部
104、476、507 EDCデコーダ
473、503 PIシンドローム演算部
474、480、505 エラーフラグ・バッファリング部
504、511 エラーフラグ・バッファ転送部
4731、5111 エラーカウンタ
4741 第1シフトレジスタ
4742 第2シフトレジスタ
4743、4744 AND素子
4745 セレクタ
475、506 PO消失訂正処理部
479、510 誤り訂正シーケンス制御部
5101 PIラインカウンタ
4801 第1RAM
4802 第2RAM
4803 第1カウンタレジスタ
4804 第2カウンタレジスタ
4805 スイッチング制御部
5041 シフトレジスタ
5042、5112 アドレス生成回路

Claims (8)

  1. 2次元配列させたデータに行方向の第1誤り訂正符号ならびに列方向の第2誤り訂正符号を付与して構成されたブロック符号を受信して誤り訂正処理を行う誤り訂正装置において、
    前記受信したブロック符号を格納するバッファメモリと、
    前記受信したブロック符号の行単位で、前記第1誤り訂正符号に基づくシンドローム演算を行い、前記ブロック符号の各行における誤りの有無の判別結果を生成するシンドローム演算部と、
    前記判別結果をバッファリングするバッファリング部と、
    前記バッファメモリから読み出された前記ブロック符号の各列に付与される前記第2の誤り訂正符号と、前記バッファリング部においてバッファリングされた前記判別結果と、に基づいて訂正処理を行う訂正処理部と、
    を有することを特徴とする誤り訂正装置。
  2. 前記判別結果は、前記ブロック符号の各行における誤りの有無をフラグで表現したエラーフラグであり、
    前記バッファリング部は、
    前記ブロック符号の全行分の前記エラーフラグをバッファリングする複数のビットマップレジスタと、
    前記複数のビットマップレジスタ夫々を、前記シンドローム演算部に接続するか、前記訂正処理部に接続するか、を切り替えるための制御を行うスイッチング制御部と、
    を有することを特徴とする請求項1に記載の誤り訂正装置。
  3. 前記判別結果は、前記ブロック符号の各行のうち誤り有りの行を示すエラー行ポインタであって、
    前記バッファリング部は、
    前記シンドローム演算部ならびに前記訂正処理部がアクセス可能であり、前記エラー行ポインタをバッファリングする複数のエラー行ポインタ格納用メモリと、
    前記複数のエラー行ポインタ格納用メモリ夫々を、前記シンドローム演算部に接続するか、前記訂正処理部に接続するか、を切り替えるための制御を行うスイッチング制御部と、
    を有することを特徴とする請求項1に記載の誤り訂正装置。
  4. 前記バッファリング部は、
    前記エラー行ポインタ格納用メモリにバッファリングされた前記エラー行ポインタの個数をカウントするエラーカウンタを設けたこと、を特徴とする請求項3に記載の誤り訂正装置。
  5. 2次元配列させたデータに行方向の第1誤り訂正符号ならびに列方向の第2誤り訂正符号を付与して構成されたブロック符号を受信して誤り訂正処理を行う誤り訂正装置において、
    前記受信したブロック符号を格納するバッファメモリと、
    前記受信したブロック符号の行単位で、前記第1誤り訂正符号に基づくシンドローム演算を行い、前記ブロック符号の各行における誤りの有無の判別結果を生成するシンドローム演算部と、
    前記判別結果をバッファリングするとともに前記バッファメモリへと転送するバッファ転送部と、
    前記バッファメモリから読み出した前記判別結果をバッファリングするバッファリング部と、
    前記バッファメモリから読み出された前記ブロック符号の各列に付与される前記第2の誤り訂正符号と、前記バッファリング部においてバッファリングされた前記判別結果と、に基づいて訂正処理を行う訂正処理部と、
    を有することを特徴とする誤り訂正装置。
  6. 前記判別結果は、前記ブロック符号の各行における誤りの有無をフラグで表現したエラーフラグであり、
    前記バッファ転送部は、
    前記ブロック符号の前記エラーフラグを格納する複数のビットマップレジスタと、
    前記エラーフラグを前記バッファメモリへ書き込むためのアドレスを生成するアドレス生成回路と、
    を有することを特徴とする請求項5に記載の誤り訂正装置。
  7. 前記判別結果は、前記ブロック符号の各行のうち誤り有りの行を示すエラー行ポインタであって、
    前記バッファ転送部は、
    前記エラー行ポインタを前記バッファメモリへ書き込むためのアドレスを生成するアドレス生成回路を有することを特徴とする請求項5に記載の誤り訂正装置。
  8. 前記バッファ転送部は、
    前記エラー行ポインタの個数をカウントするエラーカウンタを設けたことを特徴とする請求項7に記載の誤り訂正装置。



JP2005128053A 2005-04-26 2005-04-26 誤り訂正装置 Pending JP2006309820A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005128053A JP2006309820A (ja) 2005-04-26 2005-04-26 誤り訂正装置
CNA2006100743936A CN1855282A (zh) 2005-04-26 2006-04-14 纠错装置
KR1020060037052A KR100699385B1 (ko) 2005-04-26 2006-04-25 오류 정정 장치
US11/380,398 US20060259850A1 (en) 2005-04-26 2006-04-26 Error correcting apparatus
TW095114840A TW200641815A (en) 2005-04-26 2006-04-26 Error correction device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005128053A JP2006309820A (ja) 2005-04-26 2005-04-26 誤り訂正装置

Publications (1)

Publication Number Publication Date
JP2006309820A true JP2006309820A (ja) 2006-11-09

Family

ID=37195377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005128053A Pending JP2006309820A (ja) 2005-04-26 2005-04-26 誤り訂正装置

Country Status (5)

Country Link
US (1) US20060259850A1 (ja)
JP (1) JP2006309820A (ja)
KR (1) KR100699385B1 (ja)
CN (1) CN1855282A (ja)
TW (1) TW200641815A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046542B2 (en) * 2007-11-21 2011-10-25 Micron Technology, Inc. Fault-tolerant non-volatile integrated circuit memory
TWI397061B (zh) * 2010-05-06 2013-05-21 Nat Univ Chin Yi Technology Method of Correcting Errors for Symmetrical Product Codes
US20140201599A1 (en) * 2013-01-15 2014-07-17 International Business Machines Corporation Error protection for integrated circuits in an insensitive direction
US9041428B2 (en) 2013-01-15 2015-05-26 International Business Machines Corporation Placement of storage cells on an integrated circuit
US9201727B2 (en) 2013-01-15 2015-12-01 International Business Machines Corporation Error protection for a data bus
US9021328B2 (en) * 2013-01-15 2015-04-28 International Business Machines Corporation Shared error protection for register banks
US9043683B2 (en) * 2013-01-23 2015-05-26 International Business Machines Corporation Error protection for integrated circuits
US11538546B2 (en) * 2019-12-16 2022-12-27 Micron Technology, Inc. Data compression for global column repair
RU2738789C1 (ru) * 2019-12-31 2020-12-16 Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М.Штеменко" Министерства обороны Российской Федерации Способ и устройство защиты данных, передаваемых с использованием блочных разделимых кодов, от имитирующих действий злоумышленника

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239863B2 (ja) * 1998-11-27 2001-12-17 日本電気株式会社 データ復号処理装置および方法
CN1286275C (zh) * 1999-11-24 2006-11-22 三洋电机株式会社 纠错装置
JP3954803B2 (ja) 2001-03-22 2007-08-08 三洋電機株式会社 エラー訂正装置
US7600177B2 (en) * 2005-02-08 2009-10-06 Lsi Corporation Delta syndrome based iterative Reed-Solomon product code decoder

Also Published As

Publication number Publication date
US20060259850A1 (en) 2006-11-16
CN1855282A (zh) 2006-11-01
KR20060112222A (ko) 2006-10-31
TW200641815A (en) 2006-12-01
KR100699385B1 (ko) 2007-03-26

Similar Documents

Publication Publication Date Title
KR100699385B1 (ko) 오류 정정 장치
US7363571B2 (en) Data processing method and apparatus, recording medium, reproducing method and apparatus using the same method
CN1779838B (zh) 执行可变数量的纠错重复的数字信号处理方法和装置
US6397366B1 (en) Data transmission system, data recording and reproducing apparatus and recording medium each having data structure of error correcting code
KR100265769B1 (ko) 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법
JP5401581B2 (ja) 記録方法及び再生方法
US20050216816A1 (en) Error correction code generator, generation method of error correction code, error correction device, and error correction method
CN100394506C (zh) 纠错装置及方法
JP2006164377A (ja) ディジタルデータ記録装置および記録再生装置
JP2001274697A (ja) データ誤り訂正装置
JP2005209310A (ja) デインターリーブ方法、デインターリーブ回路、および情報再生装置
JP2010176715A (ja) データ記録方法、データ再生装置、データ記録装置及び記録再生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090217