(57)【要約】【課題】誤り訂正符号が付加されて記録媒体に記録されたデータに対して符号誤りの訂正処理を施す符号誤り訂正装置について、その信頼性を確保しつつより高速な再生動作を可能ならしめる符号誤り訂正装置を提供する。【解決手段】ＰＩ訂正処理回路２０及びＰＯ訂正処理回路２５は、ＤＲＡＭ１８から読み出した１ブロック分のデータに対して内パリティＰＩ及び外パリティＰＯについての誤り訂正処理を複数回に亘って繰り返し行う。誤り検出を行う検出処理回路２３は、ＰＩ又はＰＯの誤り訂正処理の施されたデータに対して、誤り検出処理を行う。制御回路３１は、ＤＶＤから読み出されたデータを同期信号に基づいてＤＲＡＭ１８に格納すると共に、このバッファリング処理と非同期でＰＩ及びＰＯの誤り訂正処理を行わせる。そして誤り検出処理の結果、データ誤りがなくなったとき誤り訂正処理を終了させる。【選択図】　　　図１
2004039131.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号及び誤り検出符号を含むデジタルデータが所定バイト数単位で１ブロックにまとめられると共に、まとめられたデータブロック毎に符号誤りの訂正処理及び検出処理を施す符号誤り訂正装置において、
データ入力のタイミングに同期して前記デジタルデータをブロック毎にバッファメモリへ記憶するバッファリング回路と、
前記バッファメモリに記憶された前記デジタルデータを順次読み出し、誤り訂正符号に基づいて符号誤りの訂正処理を施す訂正処理回路と、
符号誤りの訂正処理が施された前記デジタルデータに対して、前記誤り検出符号に基づいて符号誤りの検出処理を施す検出処理回路と、を備え、
前記訂正処理回路の訂正処理動作を前記バッファリング回路から前記バッファメモリへの前記デジタルデータの記憶動作に非同期で追従させると共に、前記訂正処理回路で訂正処理されるデータブロックが前記バッファリング回路から前記バッファメモリへ記憶されるデータブロックに追いついたとき、或いは、十分に近づいたとき、前記訂正処理回路の訂正処理動作が中断されることを特徴とする符号誤り訂正装置。
【請求項２】
請求項１に記載の符号誤り訂正装置において、
前記訂正処理回路及び前記検出処理回路は、前記検出処理回路で符号誤りが検出されたとき、同一のデータブロックに対して符号誤りの訂正処理及び検出処理をそれぞれ繰り返すことを特徴とする符号誤り訂正装置。
【請求項３】
請求項１または請求項２に記載の符号誤り訂正装置において、前記訂正処理回路が、前記バッファメモリから読み出されたデータに対して第１の符号誤りの訂正処理を施す第１の訂正処理部と、前記第１の符号誤りの訂正処理が施されたデータに対して第２の符号誤りの訂正処理を施す第２の訂正処理部と、を含むと共に、
前記検出処理回路が、前記第１の符号誤りの訂正処理が施されたデータに対して第１の符号誤りの検出処理を施す第１の検出処理部と、前記第２の符号誤りの訂正処理が施されたデータに対して第２の符号誤りの検出処理を施す第２の検出処理部と、を含み、
前記第１の符号誤りの訂正処理が完了した後に前記第１の符号誤りの検出処理を行うと共に、前記第２の符号誤りの訂正処理が完了した後に前記第２の符号誤りの検出処理を行うことを特徴とする符号誤り訂正装置。
【請求項４】
請求項３に記載の符号誤り訂正装置において、
前記第１及び第２の誤り検出処理の少なくとも一方の処理でデータ誤りが検出されなかったとき、対象データブロックに対する符号誤りの訂正処理を終了することを特徴とする符号誤り訂正装置。
【請求項５】
請求項１乃至請求項３の何れかに記載の符号誤り訂正装置において、
前記ブロック単位のデジタルデータが、スクランブル処理の施されたメインデータ及びこのメインデータに対する誤り訂正符号及び誤り検出符号からなり、
前記符号誤りの訂正処理の完了したデータに対してデスクランブル処理を施して前記バッファメモリに出力するデスクランブル回路と、
前記符号誤りの訂正処理及び前記デスクランブル処理の施されたデータを取り込んでスクランブル処理を施すスクランブル回路と、
前記スクランブル回路でスクランブル処理の施されたデータ、または、前記スクランブル回路を介すことなく前記バッファメモリから直接読み出されたデータの何れか一方を選択的に前記訂正処理回路に出力する切換回路と、を備えたことを特徴とする符号誤り訂正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、誤り訂正符号が付加されて記録されたデータに対して符号誤りの訂正処理を施す符号誤り訂正装置に関する。
【０００２】
【従来の技術】
一般に、データが記録媒体に記録される場合、そのデータを再生する際の信頼性が確保されるように記録対象のデータに誤り検出符号（ＥＤＣ；Ｅｒｒｏｒ　Ｄｅｔｅｃｔｉｏｎ　Ｃｏｄｅ）や誤り訂正符号等が付加され、これらが記録対象のデータとともに記録データとして記録される。
【０００３】
たとえば、記録媒体としてディスク媒体のＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ）を用いるＤＶＤ記録装置においては、データの記録は以下のように行われる。
【０００４】
まず、図７に示すように、記録対象のデータ（原データ）が２０４８バイト毎の記録単位に分割される。この２０４８バイト毎に分割されたデータはメインデータと呼ばれ、その先頭には１２バイトのヘッダが付加される。このヘッダは、４バイトのセクタ番号（ＩＤ）と、そのＩＤに対する２バイトの誤り検出用パリティ（ＩＥＤ）と、コピープロテクト情報などの６バイトの予約データ（ＣＰＭ）とから構成される。また、同メインデータの末尾には４バイトのＥＤＣが付加される。このＥＤＣは、メインデータにヘッダを加えた部分に対する誤り検出用パリティである。これらメインデータにヘッダおよびＥＤＣを加えた２０６４バイトのデータは、１７２バイト単位に区切られた１７２バイト（列）×１２行のデータセクタとして扱われる。そして、このＥＤＣの付加されたデータセクタのうちのメインデータ２０４８バイトに対しては、ＰＮ（Ｐｓｅｕｄｏ　ｒａｎｄｏｍ　Ｎｏｉｓｅ　）系列加算によるスクランブルが施される。
【０００５】
つづいて、図８に示すように、連続する１６個のデータセクタ１７２バイト×１９２行に対して、１６行の外パリティ（ＰＯ；Ｏｕｔｅｒ　Ｃｏｄｅ　Ｐａｒｉｔｙ　）と１０バイト（列）の内パリティ（ＰＩ；Ｉｎｎｅｒ　Ｃｏｄｅ　Ｐａｒｉｔｙ　）とが誤り訂正符号として生成付加される。これら外パリティＰＯおよび内パリティＰＩは、上記スクランブル処理の施された全メインデータ２０４８バイトに対して所定の演算処理が施されて算出される。こうしてＰＯおよびＰＩが生成付加された１８２バイト（列）×２０８行のデータはＥＣＣ（Ｅｒｒｏｒ　Ｃｈｅｃｋ　ａｎｄ　Ｃｏｒｒｅｃｔｉｏｎ）ブロック（データブロック）とよばれ、誤り訂正処理や誤り検出処理を行う単位として扱われる。
【０００６】
ここで、ＰＩは各行に含まれる１７２バイトのデータに基づいて、それら各行毎に生成付加された誤り訂正符号である。また、ＰＯは各行の同一列に含まれる１９２バイトのデータに基づいて、それら各列毎に生成付加された誤り訂正符号である。
【０００７】
さらに、図９に示すように、上記生成付加された１６行のＰＯを１行ずつ、ＰＩの付加された各データセクタ１２行のあとに、順次移動する。そして、各々データセクタ１つ分のデータに１０列（バイト）のＰＩと１行のＰＯとが付加された１８２バイト×１３行ごとのデータは、１つの記録セクタとして扱われる。こうして、行入れ替えされたＥＣＣブロックは、１６個の記録セクタにより構成される。なお、以後の記述において、この行入れ替えされたＥＣＣブロックを単に「ブロック」とよぶことにする。
【０００８】
つづいて、上記得られるブロックに対して、ＤＶＤにて採用されている８−１６変調が施されて記録データが生成され、さらにこれがシリアルデータに変換されて記録媒体であるＤＶＤに書き込まれる。
【０００９】
ところで、こうしてＤＶＤに書き込まれた記録データを読み出す際には、ディスクに付着しているごみ、あるいはキズ等の影響を受けることがある。その場合、読み出した記録データには記録時のものと一致しない、いわゆる「符号誤り」が含まれている可能性がある。そのため、上述した誤り訂正符号であるＰＩおよびＰＯ、またはＥＤＣ等を用いて、読み出した記録データに対して誤り訂正処理や誤り検出処理が行われる。こうした誤り訂正処理や誤り検出処理は、メモリに格納されているデータを読み出してそれら各種の処理を施し、その結果をメモリに書き戻して行われる。この一連の処理を、以下の記述においては「ＥＣＣ処理」とよぶことにする。また、ＥＣＣ処理を行う回路を「ＥＣＣ回路」と総称することにする。
【００１０】
こうした記録データに対するＥＣＣ処理は、たとえば図１０にブロック図として示す回路により行われる。図１０において、一点鎖線にて示した部分がデータの符号誤りを訂正する符号誤り訂正装置である。
【００１１】
図１０に示されるように、この回路では、ピックアップ１１１にてＤＶＤから検出された信号がＲＦアンプ１１２により増幅されて、その信号がこの符号誤り訂正装置のリードチャネル回路１１３に入力される。リードチャネル回路１１３は、ＲＦアンプ１１２から出力される信号に基づいて所定の周波数のリードチャネルクロックを生成するとともに、このリードチャネルクロックにしたがって入力信号をサンプリングしてデータを生成する。同期検出回路１１４は、サンプリングされた信号からブロックの同期信号を検出してこれを制御回路１３１に出力する。復調回路１１５は、生成されたデータに対して復調を施して、ＤＶＤへの記録対象となった原データ（変調前のデータ）を復元し、これをバッファリング回路１１６に出力する。そして、バッファリング回路１１６は、上記同期信号に同期して制御回路１３１から出力される指令に基づき、復調回路１１５から送られてきたデータをメモリアクセス回路１１７を介して外部バッファメモリであるＤＲＡＭ（ダイナミックランダムアクセスメモリ）１１８に書き込む。
【００１２】
こうして、ＤＶＤから読み出された記録データは、ＤＲＡＭ１１８内に構成されたリングバッファにブロック単位で順次格納されていく。そして、上記同期信号に同期して、二点鎖線にて図示したＥＣＣ回路１３３による誤り訂正処理および誤り検出処理等のＥＣＣ処理が、上記ＤＲＡＭ１１８に格納された記録データに対して実行される。
【００１３】
なお、上記誤り訂正処理は、これをＰＩについて行うＰＩ訂正処理回路１２０と、これをＰＯについて行うＰＯ訂正処理回路１２６とを有して構成される訂正処理回路１３０によって実行される。また、上記誤り検出処理は誤り検出回路１２２によって実行される。
【００１４】
図１１は、同期検出回路１１４が検出した同期信号に同期したバッファリング処理およびＥＣＣ処理の動作タイミングを例示するタイミングチャートである。図１１に示されるように、同期検出回路１１４により周期的に検出される同期信号と同期信号との間の期間を１つの同期サイクルとして、まず、同期サイクルＴ（０）においてバッファリング回路１１６がブロック０のバッファリングを行う。このとき、その同期信号に同期して外部に割込要求ＩＲＱが発せられるとともに、バッファリングの対象ブロックを識別するための識別番号（ＢＩＤ）が外部から読み出される（図１０参照）。そして、次の同期サイクルＴ（１）においては、バッファリング回路１１６がブロック０に続くブロック１のバッファリングを行うとともに、ＥＣＣ回路１３３がブロック０に対するＥＣＣ処理を行う。こうしてＥＣＣ処理の行われたブロック０は、次の同期サイクルＴ（２）の開始時に発せられる割込要求ＩＲＱに呼応してＤＲＡＭ１１８から読み出される。以下同様にして、バッファリングされたブロックに対して順次、次の同期サイクルにてＥＣＣ処理が行われるとともに、そのＥＣＣ処理の行われたブロックは次の同期サイクルの割込要求ＩＲＱに呼応してＤＲＡＭ１１８から読み出される。ここで、上記ＢＩＤは、それに対応するブロックに含まれる１６個のデータセクタに付与されたＩＤすべてとしてもよいし、またその先頭のデータセクタのＩＤとしてもよい。
【００１５】
こうしたバッファリングとＥＣＣ処理とを並行して行うために、制御回路１３１はこれらの処理対象のブロックを指し示すポインタを管理している。図１２は、ＤＲＡＭ１１８に設けられたリングバッファ内に、バッファリングおよびＥＣＣ処理を行っているブロックが格納されて、それらをポインタＢＵＦ＿ＰＴＲおよびＥＣＣ＿ＰＴＲがそれぞれ指し示していることを模式的に例示する図である。図１２は、図１１において同期サイクルＴ（１）が終了する時点（時刻ｔ１にて図示）での状態を示したものであり、ポインタＢＵＦ＿ＰＴＲはブロック１を、またポインタＥＣＣ＿ＰＴＲはブロック０を指し示している。図１２に示したように、ポインタＥＣＣ＿ＰＴＲは常に、ポインタＢＵＦ＿ＰＴＲの指し示すブロックの１つ前のブロックを指し示している。
【００１６】
つぎに、上述した構成において、バッファリングおよびＥＣＣ処理について、それぞれ図１３および図１４に示すフローチャートを使って説明する。
【００１７】
まず、バッファリングの手順について説明する。
【００１８】
はじめに、制御回路１３１が外部からバッファリングの開始指令を受けると、図１３に示されるように、ステップＳ１６１としてＢＵＦ＿ＰＴＲを初期化する。つづいて、制御回路１３１は、ブロック同期信号が検出されるまで待機する（ステップＳ１６２）。そして、同期検出回路１１４からブロック同期信号が入力されると、制御回路１３１はステップＳ１６３としてバッファリングの指令が発せられているか否かを確認する。その結果、バッファリングの指令が発せられていない場合には、バッファリングを終了する。また、バッファリングの指令が発せられている場合には、制御回路１３１はバッファリング回路１１６にＢＵＦ＿ＰＴＲの指し示すブロックについてバッファリングを行う旨の指令を出力する（ステップＳ１６４）。そして、そのブロックについてのバッファリングが終了するとＢＵＦ＿ＰＴＲを１ブロック分インクリメントして（ステップＳ１６５）、ブロック同期信号の待機状態に戻る（ステップＳ１６２）。
【００１９】
つぎに、ＥＣＣ処理の手順について説明する。
【００２０】
はじめに、制御回路１３１が外部からＥＣＣ処理の開始指令を受けると、図１４に示されるように、ステップＳ１７１としてＥＣＣ＿ＰＴＲを初期化する。つづいて、制御回路１３１は、ブロック同期信号が検出されるまで待機する（ステップＳ１７２）。そして、同期検出回路１１４からブロック同期信号が入力されると、制御回路１３１はステップＳ１７３としてＥＣＣ処理の指令が発せられているか否かを確認する。その結果、ＥＣＣ処理の指令が発せられていない場合には、ＥＣＣ処理を終了する。また、ＥＣＣ処理の指令が発せられている場合には、ＥＣＣ回路１３３を起動する。
【００２１】
つづいて、ステップＳ１７４以降の処理においては、ＥＣＣ回路１３３による以下に示す一連の処理を行う。ここで、先に図７〜図９を使って説明したように、誤り訂正処理を適正に行うためにはスクランブルされたデータを対象とする必要がある。
【００２２】
こうしたＥＣＣ回路１３３による一連の処理としては、再生時のデータの信頼性を確保するために、ＰＩおよびＰＯについての誤り訂正処理が所定回数、たとえば各２回、繰り返して実行されている。この場合、まず、デスクランブル回路１２５の次段に設けられている切換回路１２７の経路を、デスクランブル処理をパスする経路Ｒ３に切り換えておく。この切換回路１２７の経路切換は、制御回路１３１からの制御信号ＣＳによって行われる。そして、切換回路１２７の切換動作が完了すると、ＥＣＣ処理が開始される。
【００２３】
まず、ＰＩについての誤り訂正を行うＰＩ訂正回路１２０が、ＤＲＡＭ１１８に格納されている記録データのうち、１回目のＰＩについての誤り訂正処理（ＰＩ訂正処理）の対象となるデータＳＣＤ１をＦＩＦＯ１２９を介して読み出し、これをデータ記憶部１２０ａに格納する。このとき、データ記憶部１２０ａに格納されるデータＳＣＤ１のデータ量は、図９に示す記録セクタ１行分の１８２バイト（メインデータ１７２バイト＋ＰＩ１０バイト）である。つづいて、ＰＩ訂正処理回路１２０のシンドローム演算部１２０ｂがデータ記憶部１２０ａからデータＳＣＤ１を取り込むとともに、ＰＯについての誤り訂正を行うＰＯ訂正処理回路１２６のシンドローム演算部１２６ｂに出力する。
【００２４】
シンドローム演算部１２０ｂは、ＰＩについてのシンドロームＶ（Ｉ）　を算出してＰＩ訂正処理回路１２０のＰＩ訂正処理部１２０ｃに出力する。そして、ＰＩ訂正処理部１２０ｃが上記シンドロームＶ（Ｉ）　に基づいて、データ記憶部１２０ａに格納されたデータの誤り部分を正しく書き換えてＰＩ訂正処理を施し、そのＰＩ訂正処理が完了したデータＳＣＤ１（Ｉ）　をＦＩＦＯ１２１を介してＤＲＡＭ１１８に出力する。
【００２５】
これと並行して、ＰＯ訂正処理回路１２６のシンドローム演算部１２６ｂは、データ記憶部１２０ａから出力された上記１行分のデータＳＣＤ１について、その各列のＰＯについてのシンドロームＶ（Ｏ）　を算出し、その算出した値をＰＯシンドローム記憶部１２６ａに出力する。このとき、このＰＯシンドローム記憶部１２６ｂには、１８２列分のシンドロームＶ（Ｏ）　が格納されることとなる。
【００２６】
こうした処理が２０８行（１セクタ）×１６（１６セクタ）回繰り返され、１ブロック分のデータに対するＰＩ訂正処理が完了する。このとき、ＰＯシンドローム記憶部１２６ｂには、１８２列（１セクタ）×１６（１６セクタ）分のＰＯのシンドロームＶ’（Ｏ）が格納されている。そして、ＰＯ訂正処理部１２６ｃは、ＰＯシンドローム記憶部１２６ａからシンドロームＶ’（Ｏ）を取り込むとともに、ＤＲＡＭ１１８からＦＩＦＯ１２３を介してＰＩ訂正処理の施されたデータＳＣＤ１（Ｉ）　を取り込み、記録セクタに対するＰＯについての誤り訂正処理（ＰＯ訂正処理）を完了させる（ステップＳ１７４、Ｓ１７５）。これにより、ＤＲＡＭ１１８には、１回目のＰＩおよびＰＯについての誤り訂正処理が完了したデータＳＣＤ１（Ｏ）　がＦＩＦＯ１２３を介して格納されることとなる。
【００２７】
１回目のＰＩ、ＰＯ訂正処理が完了すると、次に２回目のＰＩ、ＰＯ訂正処理が行われる。ここでは、まず、切換回路１２７の経路がデスクランブル処理を行う経路Ｒ４に切り換えられる。これが完了すると、ＤＲＡＭ１１８から１回目のＰＩ、ＰＯ訂正処理が施されたデータＳＣＤ１（Ｏ）　がＦＩＦＯ１１９を介してＰＩ訂正回路１２０のデータ記憶部１２０ａに格納される。つづいて、ＰＩ訂正回路１２０がデータ記憶部１２０ａに格納されたデータに対してＰＩ訂正処理を施すとともに、ＰＯ訂正回路１２６はＰＯのシンドロームＶ（Ｏ）　を算出する。そして、ＰＩ訂正回路１２０がこの２回目のＰＩ訂正処理の施されたデータＳＣＤ２（Ｉ）　をデスクランブル回路１２５に出力する。デスクランブル回路１２５は、このデータＳＣＤ２（Ｉ）　に対してデスクランブル処理を施し、そのデスクランブル処理の施されたデータＤＳＤ２（Ｉ）　をＦＩＦＯ１２１を介してＤＲＡＭ１１８に格納する。また、シンドローム演算部１２６ｂはＰＯのシンドロームＶ（Ｏ）　を算出するとともに、この算出されたＰＯのシンドロームＶ（Ｏ）　をＰＯシンドローム記憶部１２６ａに格納する。
【００２８】
こうした処理が１ブロック分繰り返され、２回目のＰＩ訂正処理が施されるとともに、ＰＯシンドローム記憶部１２６ａに１ブロック分の最終的なシンドロームＶ’（Ｏ）が格納される。そして、ＰＯ訂正処理部１２６ｃはＤＲＡＭ１１８に格納されている２回目のＰＩ訂正処理およびデスクランブル処理が施されたデータＤＳＤ２（Ｉ）　をＦＩＦＯ１２３を介して取り込んでこれに対するＰＯ訂正処理を施す。さらに、この２回目のＰＯ訂正処理が施されたデータＤＳＤ２（Ｏ）　をＦＩＦＯ１２３を介してＤＲＡＭ１１８に格納する（ステップＳ１７６、ステップＳ１７７）。なお、これら一連のＥＣＣ処理については、例えば、特開平２００１−２３７７１５号公報に開示されている。つづいて、誤り検出回路１２２が、このＰＩおよびＰＯについて誤り訂正が各２回施されたデータＤＳＤ２（Ｏ）　に対して誤り検出処理を行う（ステップＳ１７８）。この誤り検出処理は、記録セクタ毎にメインデータを累積加算した値と該記録セクタに含まれるＥＤＣとを誤り検出回路１２２が比較して、その値が互いに等しいか否かをそのブロックの全記録セクタにわたり確認してその結果を制御回路１３１に書き込むものである。
【００２９】
さいごに、制御回路１３１が、ステップＳ１７９としてポインタＥＣＣ＿ＰＴＲをインクリメントして、そのブロックのデータに対するＥＣＣ処理を終了し、次のブロック同期信号の待機状態（ステップＳ１７２）に戻る。
【００３０】
こうして、上記ＥＣＣ処理が終了したブロックのデータは、最終的にはデスクランブルされた状態にてＤＲＡＭ１１８に格納される。ステップＳ１７４にてデータをデスクランブルしないでそのままＤＲＡＭ１１８に書き戻したのは、のちに再度、誤り訂正処理を再度行う際にその読み出すデータがスクランブルの施された状態にしておくためである。
【００３１】
以上説明したバッファリングおよびＥＣＣ処理の時間的推移を模式的に示すと図１５のようになる。すなわち、図１５に示されるように、バッファリング回路１１６がブロック（Ｎ＋１）をバッファリングしている同期サイクルＴ（Ｎ＋１）においては、ＥＣＣ回路１３３はブロックＮに対してＰＩおよびＰＯについての誤り訂正処理を各２回実行する。つづいて、バッファリング回路１１６がブロック（Ｎ＋２）をバッファリングしている同期サイクルＴ（Ｎ＋２）においては、ＥＣＣ回路１３３はブロック（Ｎ＋１）に対してＰＩおよびＰＯについての誤り訂正処理を各２回実行する。こうして、バッファリング回路１１６がバッファリングしたブロックのデータは常に、次の同期サイクルにおいてＰＩおよびＰＯについての誤り訂正処理が各２回実行されて、ＤＲＡＭ１１８に格納される。
【００３２】
【発明が解決しようとする課題】
ところで、上記例示したＤＶＤ再生装置においては通常、上述したＤＲＡＭ１１８が、メモリアクセス回路１１７を介して上記符号誤り訂正装置をはじめ、図示しないマイクロコンピュータなど他の回路構成要素によってもアクセスされる。したがって、このＤＲＡＭ１１８へのアクセス頻度が増加すると、それら各アクセスに際しての待ち時間を増大させることになる。そして、こうしたＤＲＡＭ１１８へのアクセスに要する時間が、ＤＶＤに記録されたデータを信頼性高く再生する際の処理速度の向上を困難にしている要因になっている。
【００３３】
本発明は、上記実情に鑑みてなされたものであり、その目的は、誤り訂正符号が付加されて記録媒体に記録されたデータに対して符号誤りの訂正処理を施す符号誤り訂正装置について、その信頼性を確保しつつより高速な再生動作を可能ならしめる符号誤り訂正装置を提供することにある。
【００３４】
【課題を解決するための手段】
この発明は、誤り訂正符号及び誤り検出符号を含むデジタルデータが所定バイト数単位で１ブロックにまとめられると共に、まとめられたデータブロック毎に符号誤りの訂正処理及び検出処理を施す符号誤り訂正装置において、データ入力のタイミングに同期して前記デジタルデータをブロック毎にバッファメモリへ記憶するバッファリング回路と、前記バッファメモリに記憶された前記デジタルデータを順次読み出し、誤り訂正符号に基づいて符号誤りの訂正処理を施す訂正処理回路と、符号誤りの訂正処理が施された前記デジタルデータに対して、前記誤り検出符号に基づいて符号誤りの検出処理を施す検出処理回路と、を備え、前記訂正処理回路の訂正処理動作を前記バッファリング回路から前記バッファメモリへの前記デジタルデータの記憶動作に非同期で追従させると共に、前記訂正処理回路で訂正処理されるデータブロックが前記バッファリング回路から前記バッファメモリへ記憶されるデータブロックに追いついたとき、或いは、十分に近づいたとき、前記訂正処理回路の訂正処理動作が中断されることで、誤り訂正符号が付加されて記録媒体に記録されたデータに対して符号誤りの訂正処理を施す符号誤り訂正装置について、その信頼性を確保しつつより高速な再生動作を可能ならしめる。
【００３５】
【発明の実施の形態】
以下、本発明にかかる符号誤り訂正装置の一実施の形態について図１〜図６を使って説明する。本実施の形態では、誤り訂正符号の付加されたデータが記録されているＤＶＤを媒体として用いるＤＶＤ再生装置について、その誤り訂正符号を用いて媒体から読み出したデータに対し誤り訂正を繰り返し施して、同データの符号誤りを訂正する符号誤り訂正装置を例示する。なお、本実施の形態においても、上述したように、ＤＶＤに記録されたデータは、記録セクタ毎に付加された誤り検出符合ＥＤＣ（Ｅｒｒｏｒ　Ｄｅｔｅｃｔｉｏｎ　Ｃｏｄｅ）と、ＥＣＣブロック単位に内パリティ（ＰＩ）および外パリティ（ＰＯ）が生成付加された誤り訂正符号とを有している。
【００３６】
図１は、本実施の形態の符号誤り訂正装置をその周辺部の構成とともに示すブロック図である。図１において、１点鎖線で囲まれている部分が本実施の形態で例示する符号誤り訂正装置である。
【００３７】
図１に示されるように、この符号誤り訂正装置は、制御回路３１とＥＣＣ回路３３とを有して構成されている。このうちＥＣＣ回路３３は、メモリアクセス回路１７を介して外部メモリであるＤＲＡＭ（ダイナミックランダムアクセスメモリ）１８と接続されており、このＤＲＡＭ１８との間でデータの授受をしつつ誤り訂正処理およびそれに続く誤り検出処理等のＥＣＣ（Ｅｒｒｏｒ　Ｃｈｅｃｋ　ａｎｄ　Ｃｏｒｒｅｃｔｉｏｎ）処理を行う。
【００３８】
また一方で、この符号誤り訂正装置は、ピックアップ１１およびＲＦアンプ１２を介して、ＤＶＤから検出される信号が外部からリードチャネル回路１３に入力されている。リードチャネル回路１３は、ＲＦアンプ１２から出力される信号に基づいて所定の周波数のリードチャネルクロックを生成するとともに、このリードチャネルクロックにしたがって入力信号をサンプリングしてデータを生成する。同期検出回路１４は、サンプリングされた信号からブロックの同期信号を検出してこれを制御回路３１に出力する。復調回路１５は、生成されたデータに対して復調を施して、ＤＶＤへの記録対象となった原データ（変調前のデータ）を復元し、これをバッファリング回路１６に出力する。そして、バッファリング回路１６は、制御回路３１から出力される上記同期信号に同期した指令に基づき、復調回路１５から送られてきたデータをメモリアクセス回路１７を介してＤＲＡＭ１８に書き込む。こうした一連の処理によって、ＤＶＤに記録されていたデータがＤＲＡＭ１８に格納されるのは先に図１０を使って説明した場合と同様である。
【００３９】
こうして、ＤＶＤから読み出された記録データは、ＤＲＡＭ１８内に構成されたリングバッファにブロック単位で格納されていく。そして、図１に二点鎖線にて示したＥＣＣ回路３３による誤り訂正処理および誤り検出処理等のＥＣＣ処理が、次の同期信号に同期して上記ＤＲＡＭ１８に格納されたデータに対して実行されることも、上述したとおりである。
【００４０】
なお、上記誤り訂正処理は、これをＰＩについて行うＰＩ訂正処理回路２０と、これをＰＯについて行うＰＯ訂正処理回路２５とを有して構成される訂正処理回路３０によって実行される。
【００４１】
ところで、この符号誤り訂正装置のＥＣＣ回路３３は、図１０にて例示した符号誤り訂正装置のＥＣＣ回路１３３と比較して、以下の点が異なっていることを特徴としている。すなわち、このＥＣＣ回路３３は、ＰＩについて誤り訂正を行うＰＩ訂正処理回路２０が、ＤＲＡＭ１８からデータを読み出す際にそのデータに対してスクランブル処理を施すためのスクランブル回路２６を備えている。これに加え、ＰＩ訂正処理回路２０への入力として、このスクランブル回路２６によりスクランブル処理を施すか否かを切り換える切換回路２７も備えている。また、ＥＣＣ回路３３は、上記ＰＩ訂正処理回路２０、およびＰＯについて誤り訂正を行うＰＯ訂正処理回路２５に対応してそれぞれＰＩ検出処理部２３ａおよびＰＯ検出処理部２３ｂを備えた検出処理回路２３を有している。
【００４２】
そして、本実施の形態の符号誤り訂正装置においては、上記ＥＣＣ処理を行うタイミングを上記同期信号に同期させて行うのではなく、ＤＲＡＭ１８に読み出し可能なデータが格納されている範囲において継続的に行うようにしている。
【００４３】
すなわちまず、同期検出回路１４が検出した同期信号を制御回路３１が受けて、この同期信号に基づき制御回路３１が生成した指令によりバッファリング回路１６が動作する。そして、同期検出回路１４により周期的に検出される同期信号に同期してバッファリング回路１６がバッファリングを行う。このとき、図１に示されるように、その同期信号に同期して外部に割込要求ＩＲＱ１が発せられるとともに、バッファリングの対象となるブロックを識別するための識別番号ＢＩＤ１が外部から読み出される。以下同様にして、バッファリング回路１６が同期サイクル毎に順次ブロックのバッファリングを行う。ここで、上記識別番号ＢＩＤ１は、それに対応するブロックに含まれる１６個のデータセクタに付与されたＩＤすべてとしてもよいし、またその先頭のデータセクタのＩＤとしてもよい。
【００４４】
こうして、ＤＲＡＭ１８にブロック単位のデータが順次格納される一方、制御回路３１は以下のようにしてＥＣＣ処理を実行させる。
【００４５】
制御回路３１は、バッファリングとＥＣＣ処理とを並行して行うために、それぞれ処理対象のブロックを指し示すポインタを管理している。すなわち、制御回路３１はバッファリングおよびＥＣＣ処理を行っているブロックをそれぞれ指し示すポインタＢＵＦ＿ＰＴＲおよびＥＣＣ＿ＰＴＲを備えている。ただし、本実施の形態においては、ポインタＥＣＣ＿ＰＴＲは、ポインタＢＵＦ＿ＰＴＲの指し示すブロックの１つ前のブロックを指し示しているわけではなく、それぞれ独立な値をとりうる。すなわち、制御回路３１は、バッファリングポインタＢＵＦ＿ＰＴＲをインクリメントする処理と、ＥＣＣポインタＥＣＣ＿ＰＴＲをインクリメントする処理とを非同期で行う。図２は、制御回路３１が、こうしてポインタＥＣＣ＿ＰＴＲおよびポインタＢＵＦ＿ＰＴＲを独立に管理している様子を模式的に例示したものである。図２においては、ポインタＥＣＣ＿ＰＴＲがブロック０を指し示しており、またポインタＢＵＦ＿ＰＴＲがブロック２を指し示している。ただし、図２に示した各ポインタの値は単なる例示であり、必ずしも図示した値となることを表したものではない。
【００４６】
そして、制御回路３１は、ＥＣＣ処理が終了するとそのＥＣＣ処理の終了したブロックの識別番号をＤＲＡＭ１８から読み出す。つづいて、その読み出した識別番号を制御回路３１がＥＣＣ処理の終了に対応して保持しているブロックの識別番号と比較し、それら識別番号が一致することを確認してこれを識別番号ＢＩＤ２として所定の領域に保持する。そののち、識別番号ＢＩＤ２のブロックに対するＥＣＣ処理の終了に対応して、割込要求ＩＲＱ２を外部に出力する。それに呼応して、識別番号ＢＩＤ２のブロックがＤＲＡＭ１８から読み出される。
【００４７】
つぎに、上述した構成において、制御回路３１からの指令により行われるＥＣＣ処理について、図３〜図５に示すフローチャートを使って説明する。なお、この場合も、ＤＶＤから読み出されたデータをＤＲＡＭ１８に格納するバッファリングは、先に図１３に示したフローチャートと同じ手順にて行われる。
【００４８】
はじめに、外部からＥＣＣ処理の開始指令を受けると、制御回路３１は図３に示されるように、ステップＳ７０１としてＥＣＣ＿ＰＴＲを初期化する。つづいて、制御回路３１は、ブロック同期信号が検出されるまで待機する（ステップＳ７０２）。そして、同期検出回路１４からブロック同期信号が入力されると、制御回路３１はステップＳ７０３としてＥＣＣ処理の指令が発せられているか否かを確認する。その結果、ＥＣＣ処理の指令が発せられていない場合には、ＥＣＣ処理を終了する。また、ＥＣＣ処理の指令が発せられている場合には、制御回路３１はＥＣＣ回路３３を起動する。
【００４９】
起動されたＥＣＣ回路３３は、以下に示す一連の処理を行う。ここで、誤り訂正処理を適正に行うためにスクランブルされたデータをそのＥＣＣ処理の対象とする必要があることはすでに述べたとおりである。
【００５０】
図４は、ＥＣＣ回路３３による一連の処理を説明するフローチャートである。なお、ここでは、ＥＣＣ処理の初期条件として、ＥＣＣ処理が図２に示すブロック０に対して開始されるものとする。ブロック０に対するＥＣＣ処理が開始される際、まず、スクランブル回路２６の出力側の切換回路２７の経路をスクランブル処理をパスする経路Ｒ１に切り換えておく。この切換回路２７の切換動作は、制御回路３１からの制御信号ＣＳによって行われる。そして、切換回路２７の切換動作が完了すると、ＥＣＣ処理が開始される。
【００５１】
まず、ＤＲＡＭ１８に格納されているデータのうちのブロック０のポインタＥＣＣ＿ＰＴＲを指し示し、ブロック０に含まれるデータＳＣＤ１（１行分１８２バイト）をＦＩＦＯ１９を介して読み出す。そして、ＰＩ訂正処理回路２０のデータ記憶部２０ａに格納する。つづいて、データＳＣＤ１に対してＰＩに基づく演算を施し、シンドロームＶ（Ｉ）　を算出する。これとともに、算出したＰＩのシンドロームＶ（Ｉ）　にしたがってデータＳＣＤ１のＰＩについての誤り訂正処理（ＰＩ訂正処理）を行う。なお、このとき、ＰＯについてのシンドロームＶ（Ｏ）　も並列して算出し、算出した１８２列の各列のシンドロームＶ（Ｏ）　をＰＯ訂正処理回路２５のＰＯシンドローム記憶部２５ａに格納する。つづいて、ＰＩ訂正処理が施されたデータＳＣＤ１（Ｉ）　をデスクランブル回路２１に出力する。そして、デスクランブル処理の施されたデータＤＳＤ１（Ｉ）　をＦＩＦＯ２２を介してＤＲＡＭ１８に書き込むとともに、検出処理回路２３のＰＩ検出処理部２３ａへ出力する。これらの処理を２０８行分（１セクタ）×１６（１６セクタ）回繰り返してブロック０に対する１回目のＰＩ訂正処理を行う（ステップＳ８０４）。
【００５２】
ステップＳ８０５において、ＰＩ検出処理部２３ａがＰＩ方向（行方向）に関する誤り検出処理を行い、検出結果Ｑ１を制御回路３１に出力する。この際の誤り検出処理においても、記録セクタ毎にメインデータを累積加算した値とその記録セクタに含まれるＥＤＣとを比較して、各値が互いに等しいかを確認するようにして行う。そして、ＰＩに関する誤り検出処理の結果、データ誤りが検出されなかった場合、ＥＣＣ処理の対象となったブロック０のデータに誤りがないものと判定し、制御信号Ｊ２をＰＯ訂正処理回路２５に出力してＰＯの訂正処理をキャンセルように指令する。この結果、１回目のＰＩ訂正処理が完了した時点でブロック０に対するＥＣＣ処理が終了されることになり、ステップＳ８０９に処理を移行する。一方、ＰＩに関する誤り検出処理の結果、データ誤りが検出された場合、ＰＯ訂正処理回路２５に対して制御信号Ｊ２を出力してＰＯについての誤り訂正処理（ＰＯ訂正処理）を行うように指令し、次のステップＳ８０６に処理を移行してＰＯ誤り訂正処理を行う。
【００５３】
ステップＳ８０６において、ＤＲＡＭ１８に格納されているデータのうち、１回目のＰＩ訂正処理およびデスクランブル処理が施されたデータＤＳＤ１（Ｉ）　をＰＯ訂正処理部２５ｃがＦＩＦＯ２４を介して読み出し、先のステップＳ８０４にて算出されたシンドロームＶ’（Ｏ）にしたがってＰＯ訂正処理を行う。なお、デスクランブル処理が所定の方式に従って規則的に行われるため、誤りの位置及び誤りの大きさを示すシンドロームＶ’（Ｏ）が予め算出されていれば、デスクランブル処理が施されたデータに対してもＰＯ訂正処理が可能である。
【００５４】
ステップＳ８０７において、１回目のＰＯの訂正処理が完了したデータＤＳＤ１（Ｏ）　に対して検出処理回路２３のＰＯ検出処理部２３ｂがＰＯ方向（列方向）の誤り検出処理を行い、検出結果Ｑ２を制御回路３１に出力する。そして、データ誤りが検出されなかった場合、ブロック０に対するＥＣＣ処理を終了すべくステップＳ８０９に処理を移行する。一方、データ誤りが検出された場合、２回目のＰＩ誤り訂正処理を行うべくステップＳ８０８に処理を移行する。ステップＳ８０８においては、切換回路２７の入力側の経路をスクランブル回路２６を通る経路Ｒ２に切り換える。そして、１回目のＰＯの訂正処理が完了したデータＤＳＤ１（Ｏ）　をＤＲＡＭ１８からＦＩＦＯ１９を介して読み出してスクランブル回路２６に取り込み、読み出したデータに対してスクランブル処理を施す。これは、この段階でＤＲＡＭ１８から読み出されるデータＤＳＤ１（Ｏ）　がデスクランブル処理を施されてスクランブル処理の施されていないデータとなっているためである。そして、スクランブル処理を施したデータをＰＩ訂正処理回路２０のデータ記憶部２０ａに出力し、処理がステップＳ８０４に戻る。
【００５５】
こうして、１回目のＰＯ訂正処理が施されたデータＤＳＤ１（Ｏ）　に対して２回目のＰＩ訂正処理を行う。この後、ステップＳ８０４〜ステップＳ８０８の処理を繰り返し行い、データ誤りがなくなるまでブロック０に対する誤り訂正処理を複数回にわたって行っていく。なお、この際、誤り訂正処理をデータ誤りがなくなるまで無限に繰り返すのではなく、予め設定してある所定の回数の範囲内で行うことが望ましい。そして、設定された回数の範囲内で誤り訂正処理を繰り返し行っても、データ誤りが解消されなかった場合、データにエラーフラグを付してＤＲＡＭ１８に格納する。
【００５６】
ステップＳ８０９において、ブロック０に対するＥＣＣ処理が終了すると、ＥＣＣポインタＥＣＣ＿ＰＴＲを次のブロック（ブロック１）にインクリメントする。
【００５７】
ステップＳ８１０において、ＥＣＣ処理の終了が終了したブロックの識別番号と制御回路３１が自身で保持しているブロックの識別番号との確認処理を行う。このステップＳ８１０の処理については後述する。
【００５８】
ステップＳ８１１において、ＥＣＣポインタＥＣＣ＿ＰＴＲをインクリメントすると、インクリメント後のポインタの値とバッファリングポインタＢＵＦ＿ＰＴＲを比較する。これは、ＥＣＣ処理がバッファリング処理と非同期で行われるとともに、データ誤りが検出されなければ、順次、次のブロックに処理が移行されていくことに起因する。すなわち、データ誤りが少なくＥＣＣ処理に係る時間が少なければ、ＥＣＣ処理の対象となるブロックがバッファリングされたブロックに追いついてしまう、あるいは、バッファリングされたブロックよりも先行してしまうおそれがあるためである。ステップＳ８１１における比較の結果、ＥＣＣポインタＥＣＣ＿ＰＴＲの値がバッファリングポインタＢＵＦ＿ＰＴＲの値以下の場合、次のブロック（ここでは、ブロック１）に対するＥＣＣ処理を待機する。逆に、ＥＣＣポインタＥＣＣ＿ＰＴＲの値よりもバッファリングポインタＢＵＦ＿ＰＴＲの値が大きい場合、ブロック１に対するＥＣＣ処理を許可する。この後、処理が図３に示すステップＳ７０３に戻り、次のブロックに対するＥＣＣ処理の開始指令の待機状態となる。
【００５９】
図５は、図４に示すステップＳ８１０のブロックの識別番号の確認処理を説明するフローチャートである。
【００６０】
はじめに、制御回路３１はステップＳ９０１として、ＥＣＣ処理が終了したブロックの識別番号の確認指令が検出されているか否かを確認する。その結果、その確認指令が検出されれば、ステップＳ９０２としてＥＣＣ処理が終了したブロックの識別番号の読み出し処理を行い、その読み出された値と制御回路３１が保持する値とが一致した場合、これをＥＣＣ処理の完了した読み出すべきブロックの識別番号ＢＩＤ２とする。同指令が検出されなければステップＳ９０２をスキップする。そののち、ステップＳ９０３として割込要求ＩＲＱ２を出力する。この割込要求ＩＲＱ２に呼応して、識別番号ＢＩＤ２にて指定されるＤＲＡＭ１８のブロックが読み出されて、ＥＣＣ処理の完了したブロックが順次読み出される。なお、上記ステップＳ９０２がスキップされる場合には、上記制御回路３１が保持している値を識別番号ＢＩＤ２として用いてもよい。
【００６１】
図６は、このような再生動作の制御に際してのバッファリングおよびＥＣＣ処理の時間的推移を模式的に例示するものである。
【００６２】
すなわち、図６に示されるように、バッファリング回路１６は同期信号に同期して１つの同期サイクルに１つのブロックのデータをバッファリングする。たとえば、同期サイクルＴ（Ｎ＋３）においてブロック（Ｎ＋３）を、また同期サイクルＴ（Ｎ＋４）においてブロック（Ｎ＋４）をバッファリングする。
【００６３】
一方、同期サイクルＴ（Ｎ＋３）においては、ＥＣＣ回路３３はブロックＮに対するＥＣＣ処理を行っている。この場合、ＰＩおよびＰＯについての誤り訂正処理をこの順に各１回実行したところで「誤り検出処理ＯＫ」と判定されている。そして、その判定に基づいて制御回路３１はブロックＮに対する識別番号確認処理を行うとともに同ブロックＮに対するＥＣＣ処理終了に対応する割込要求ＩＲＱ２を出力する。そののち、ＥＣＣ回路３３は次の同期信号を待機することなく、次のブロック（Ｎ＋１）に対するＥＣＣ処理を開始する。このブロック（Ｎ＋１）に対するＥＣＣ処理もブロックＮに対するＥＣＣ処理と同様、ＰＩおよびＰＯについての誤り訂正処理をこの順に各１回実行したところで「誤り検出処理ＯＫ」と判定されている。以下同様に、一連のブロックに対してＥＣＣ処理を行う。図１０に示した例では、ブロック（Ｎ＋２）に対してはＰＩ、ＰＯ、ＰＩについて、ブロック（Ｎ＋３）に対してはＰＩについて、またブロック（Ｎ＋４）〜ブロック（Ｎ＋６）に対してはＰＩ、ＰＯについて、の誤り訂正処理をそれぞれこの順に行っている。ただし、ブロック（Ｎ＋４）に対するＥＣＣ処理の終了時点では、ブロック（Ｎ＋５）に対するバッファリングが終了していない。そのため、ブロック（Ｎ＋５）に対するＥＣＣ処理は、ブロック（Ｎ＋５）に対するバッファリングが終了するまで待機したのちに行われている。
【００６４】
そして、上記ＥＣＣ処理の終了したブロックについては、それら各処理が終了したのちに出力される割込要求ＩＲＱ２に基づいてＤＲＡＭ１８から読み出される。
【００６５】
こうして、誤り訂正処理の繰り返しが可能な範囲で、ステップＳ８０４〜ステップＳ８０８において「誤り検出処理ＯＫ」と判定されるまで誤り訂正処理が繰り返し行われる。これにより、ＤＶＤから読み出されたデータに含まれている誤りが少ない場合には、ＤＲＡＭ１８に対する不要なアクセスを削減することができるようになる。また、ＤＶＤから読み出されたデータに誤りの多いブロックが含まれている場合には、その誤りの多いブロックに対して誤り訂正処理を行う回数を所定の条件のもとに増やすことができるようになり、その誤り訂正能力の向上に寄与することができるようになる。
【００６６】
以上説明したように、本実施の形態にかかる符号誤り訂正装置によれば、以下のような効果を得ることができるようになる。
【００６７】
（１）１つのブロックに対するＥＣＣ処理が終了すると、同期信号の検出を待機することなく次のブロックに対するＥＣＣ処理が行われる。このため、バッファリングとＥＣＣ処理とが独立して行われ、これら２つの処理が自由度高く実行されるようになる。これにより、ＤＶＤから読み出されたデータに誤りの多いブロックが含まれている場合には、その誤りの多いブロックに対して誤り訂正処理を行う回数を増やして、その誤り訂正能力をより向上させることができるようになる。
【００６８】
（２）誤り訂正符号および誤り検出符号が付加されてＤＶＤに記録されたデータの再生装置について、検出処理回路２３によって「誤り検出処理ＯＫ」と判定された時点で、対象としているブロックに対するＥＣＣ処理を終了するようにしている。このため、誤り訂正処理の行われる回数を、従来のように固定的に定められた回数行う場合と比較して、削減することができる。これにより、データ再生の際の信頼性の低下を招くことなく、符号誤り訂正装置からのＤＲＡＭ１８へのアクセス頻度を低減することができるようになる。すなわち、ＤＲＡＭ１８の帯域幅が節約されるようになり、ひいてはデータのより高速な再生動作を可能にすることができるようになる。
【００６９】
（３）ＰＩ訂正処理回路２０およびＰＯ訂正処理回路２５に対応して、検出処理回路２３にそれぞれＰＩ検出処理部２３ａおよびびＰＯ検出処理部２３ｂを設け、ＰＩ、ＰＯついての各訂正処理が行われる毎にデータ誤りの検出を行うようにしている。これにより、ＰＩ訂正処理の段階でデータ誤りが検出されなければ、ＰＩの訂正処理だけが完了した時点で次のブロックに処理を移行することができる。この結果、ＤＲＡＭ１８に対する不要なアクセスをより低減させることができるとともに、繰り返し回数が多数回にわたって必要となるときのための時間的な余裕を確保することができる。
【００７０】
（４）ＤＶＤから読み出されて内パリティ（ＰＩ）と外パリティ（ＰＯ）とからなる誤り訂正符合が生成付加されているデータに対して、ＰＩについての誤り訂正処理とＰＯについての誤り訂正処理とを交互に実行するようにしている。そのため、単発的に発生する誤りであるランダムエラーと一定の範囲にわたり連続的に発生する誤りであるバーストエラーとを含むデータに対しても、高い誤り訂正能力をもつようになる。この場合おもに、ＰＩについて誤り訂正を施すことによりランダムエラーに対しての誤り訂正がなされるとともに、ＰＯについて誤り訂正を施すことによりバーストエラーに対しての誤り訂正がなされる。これを繰り返すことによって高い誤り訂正能力が得られる。
【００７１】
（５）誤り訂正を施したのちに、常に、デスクランブルされたデータをＤＲＡＭ１８に書き戻すようにしている。このため、スクランブルが施されて記録媒体に記録されたデータを対象とする場合にあっても、ＥＣＣ処理に含まれる誤り訂正処理を任意のステップで打ち切って、そのＤＲＡＭ１８に書き戻されたデータをメインデータとして常に利用することができるようになる。
【００７２】
（６）１つのブロックに対するＥＣＣ処理が終了したのち、そのタイミングで割込要求ＩＲＱ２が出力される。このため、この割込要求ＩＲＱ２を受けて的確なタイミングにてそのＥＣＣ処理の終了したブロックの読み出しが可能になる。
【００７３】
（７）ＰＯについての誤り訂正処理を行ったのちに「誤り検出処理ＮＧ」と判定されると、さらに継続して誤り訂正処理を行うか否かの確認が行われる。このため、１つのブロックに対するＥＣＣ処理についての所定の継続条件のもと、誤り訂正処理が適切に繰り返し行われるようになる。
【００７４】
（８）１つのブロックに対するＥＣＣ処理が終了したのち、そのＥＣＣ処理が終了したブロックの識別番号がＤＲＡＭ１８から読み出される。そして、その値が制御回路３１に保持されている値と比較されて、これが読み出すべきブロックの識別番号ＢＩＤ２として読み出される。このため、ＥＣＣ処理が終了して読み出しが行われるブロックの識別がより確かなものとなる。
【００７５】
なお、上記実施の形態は以下のように変更して実施してもよい。
【００７６】
・上記実施の形態においては、１つのブロックに対するＥＣＣ処理が終了したのちに、ポインタＢＵＦ＿ＰＴＲとポインタＥＣＣ＿ＰＴＲとを比較して次のブロックに対するＥＣＣ処理の実行の可否が判断される場合について説明したが、必ずしもこの構成に限定されるものではない。上記ポインタＢＵＦ＿ＰＴＲとポインタＥＣＣ＿ＰＴＲとの比較によるＥＣＣ処理の実行の可否が、各ＥＣＣ処理を開始する前に行われるように構成してもよい。
【００７７】
・上記実施の形態において、ＥＣＣ終了処理にて行われているＥＣＣ処理が終了したブロックの識別番号の読み出し、およびそれに基づいて行われる制御回路３１での確認処理は必ずしも行う必要はない。
【００７８】
・上記実施の形態においては、スクランブル回路２６とデスクランブル回路２１とが異なる回路として説明したが、必ずしもこの構成に限定されるものではない。たとえば、スクランブルの施されたデータに再度スクランブルを施すことにより、スクランブルの施されていない非スクランブルデータが得られる場合には、スクランブル回路２６がデスクランブル回路２１を兼ねる構成としてもよい。
【００７９】
・上記実施の形態においては、同期検出回路１４にて検出される同期信号に同期してバッファリングが行われる場合について説明したが、この同期信号に同期しないでバッファリングが行われる構成としてもよい。
【００８０】
・上記実施の形態においては、ＤＶＤからの信号を受けてサンプリングからバッファリングにいたる一連の処理を行う機能をもつ構成要素を、符号誤り訂正装置がその内部に備えている場合について説明したが、必ずしもこの構成に限定されるものではない。符号誤り訂正装置が、上記一連の機能をもつ構成要素を備える構成に限らず、バッファリング回路１６の全段までを符号誤り訂正装置の外部に設ける構成としてもよい。
【００８１】
・上記実施の形態においては、符号誤り訂正装置の処理対象が誤り訂正符号として内パリティＰＩおよび外パリティＰＯの生成付加されたデータである場合について説明したが、必ずしもこの構成に限定されるものではない。これらＰＩおよびＰＯ等、２種類の誤り訂正符号が生成付加されているデータに限らず、１種類の誤り訂正符号の生成付加されたフォーマットを有するデータに対して本発明を適用してもよい。この場合、ＰＩ、ＰＯ、ＰＩ、ＰＯ、…などのように、異種の誤り訂正符号を用いた誤り訂正処理を交互に行う必要はもちろんない。
【００８２】
・上記実施の形態においては、ＤＶＤを記録媒体として用いるデータ再生装置の符号誤りを訂正する符号誤り訂正装置について説明したが、必ずしもこの構成に限定されるものではない。上記ＤＶＤに限らず、誤り訂正符号が付加されて記録された記録データの符号誤りを訂正する他の符号誤り訂正装置についても、本発明を適用することができる。
【００８３】
【発明の効果】
本願発明によれば、外部メモリへの不要なアクセスを削減して同外部メモリの帯域幅を節約することができる。このため、外部メモリに格納されたデータが誤り訂正処理を経て読み出される際に、その読み出し動作をより高速に行うことができるようになる。
【図面の簡単な説明】
【図１】本発明にかかる符号誤り訂正装置の一実施の形態について、そのシステム構成を例示するブロック図。
【図２】上記実施の形態について、制御回路が管理するポインタについて例示する説明図。
【図３】同実施の形態について、ＥＣＣ処理の手順を例示するフローチャート。
【図４】同実施の形態のＥＣＣ処理の手順を例示するフローチャート。
【図５】同実施の形態の確認処理の手順を例示するフローチャート。
【図６】同実施の形態について、バッファリングおよびＥＣＣ処理の時間的推移を例示するタイミングチャート。
【図７】ＤＶＤのデータセクタについての説明図。
【図８】ＤＶＤのＥＣＣブロックについての説明図。
【図９】上記ＥＣＣブロックの行入れ替えおよび記録セクタについての説明図。
【図１０】従来の符号誤り訂正装置について、そのシステム構成を例示するブロック図。
【図１１】従来の符号誤り訂正装置について、同期サイクルに同期して行われるバッファリングおよびＥＣＣ処理の時間的推移を例示するタイミングチャート。
【図１２】従来の符号誤り訂正装置について、制御回路が管理するポインタについて例示する説明図。
【図１３】バッファリングの手順を例示するフローチャート。
【図１４】従来の符号誤り訂正装置について、ＥＣＣ処理の手順を例示するフローチャート。
【図１５】従来の符号誤り訂正装置について、バッファリングおよびＥＣＣ処理の時間的推移を例示するタイミングチャート。
【符号の説明】
１１…ピックアップ、１２…ＲＦアンプ、１３…リードチャネル回路、１４…同期検出回路、１５…復調回路、１６…バッファリング回路、１７…メモリアクセス回路、１８…ＤＲＡＭ、１９…ＦＩＦＯ、２０…ＰＩ訂正処理回路（第１の訂正処理部）、２０ａ…データ記憶部、２０ｂ…シンドローム演算部、２０ｃ…ＰＩ訂正処理部、２１…デスクランブル回路、２２…ＦＩＦＯ、２３…検出処理回路、２３ａ…ＰＩ検出処理部（第１の検出処理部）、２３ｂ…ＰＯ検出処理部（第２の検出処理部）、２４…ＦＩＦＯ、２５…ＰＯ訂正処理回路（第２の訂正処理部）、２５ａ…ＰＯシンドローム記憶部、２５ｂ…シンドローム演算部、２５ｃ…ＰＯ訂正処理部、２６…スクランブル回路、２７…切換回路、３０…訂正処理回路、３１…制御回路、３３…ＥＣＣ回路。
【図１】
2004039131.tif 000003
【図２】
2004039131.tif 000004
【図３】
2004039131.tif 000005
【図４】
2004039131.tif 000006
【図５】
2004039131.tif 000007
【図６】
2004039131.tif 000008
【図７】
2004039131.tif 000009
【図８】
2004039131.tif 000010
【図９】
2004039131.tif 000011
【図１０】
2004039131.tif 000012
【図１１】
2004039131.tif 000013
【図１２】
2004039131.tif 000014
【図１３】
2004039131.tif 000015
【図１４】
2004039131.tif 000016
【図１５】
2004039131.tif 000017