JP3744134B2 - Error correction apparatus and method, and digital signal reproduction apparatus and method - Google Patents

Error correction apparatus and method, and digital signal reproduction apparatus and method Download PDF

Info

Publication number
JP3744134B2
JP3744134B2 JP20029597A JP20029597A JP3744134B2 JP 3744134 B2 JP3744134 B2 JP 3744134B2 JP 20029597 A JP20029597 A JP 20029597A JP 20029597 A JP20029597 A JP 20029597A JP 3744134 B2 JP3744134 B2 JP 3744134B2
Authority
JP
Japan
Prior art keywords
data
correction
error correction
code
inner code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP20029597A
Other languages
Japanese (ja)
Other versions
JPH1146146A (en
Inventor
健治 山▲さき▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP20029597A priority Critical patent/JP3744134B2/en
Publication of JPH1146146A publication Critical patent/JPH1146146A/en
Application granted granted Critical
Publication of JP3744134B2 publication Critical patent/JP3744134B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Television Signal Processing For Recording (AREA)
  • Error Detection And Correction (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、積符号を用いてエラー訂正符号化されたディジタルデータを、単一の外付けRAMを用いて復号化するようにされたエラー訂正装置およびその方法、ならびに、ディジタル信号再生装置およびその方法に関する。
【0002】
【従来の技術】
現在、DVCR(ディジタルビデオカセットレコーダ)などの、A/V(オーディオ/ビデオ)信号をディジタル的に磁気テープなどの記録媒体に対して記録/再生する装置においては、エラー訂正のために積符号による符号化が多く用いられている。
【0003】
この積符号による符号化においては、1シンボル(例えば1バイト)単位でマトリクス状に配列されたデータに対して、その列方向に対して例えばリードソロモン符号によってそれぞれ符号化がなされ、外符号パリティが生成される。そして、データおよび外符号パリティに対して、行方向に対して符号化がなされ、内符号パリティが生成される。このように、列方向に対して外符号パリティが生成され、行方向に対して内符号パリティが生成されることによって、積符号によるエラー訂正符号化が行われる。このとき、データの時系列の順序は、例えば行方向に一致している。
【0004】
図19は、この積符号による符号化を用いた、従来技術によるディジタル記録/再生装置の構成の一例を示す。例えばディジタルビデオデータが記録データとしてインターフェイス100を介してBRR(Bit Rate Reduction)エンコーダ101に供給される。このBRRエンコーダ101では、供給された記録データに対してデータ圧縮が施される。圧縮された記録データは、上述した積符号によるエラー訂正符号化を行うエラー訂正エンコーダ102に供給される。
【0005】
このエラー訂正エンコーダ102は、RAM(図示しない)と接続されており、供給された記録データは、このRAMに書き込まれる。そして、供給されRAMメモリに書き込まれたたこの記録データに対して、上述のように、外符号パリティおよび内符号パリティが生成され、積符号のエラー訂正符号化がなされる。符号化されたこの記録データは、上述の行方向に従ってRAMから読み出され、記録のためのアンプなどを含む記録駆動部103に供給され、磁気ヘッド104によって磁気テープ105に記録される。
【0006】
このときの記録は、例えば、磁気ヘッド104が回転ドラム上に設けられ、この磁気ヘッド104によって磁気テープ105に対して斜めにトラックを形成するような、ヘリカルスキャン方式で以て行われる。
【0007】
磁気テープ105に記録されたデータが磁気ヘッド106によって読み出され、再生データとされる。この再生データは、イコライザ107を介して内符号デコーダ108に供給され、内符号によるエラー訂正(以下、「内符号訂正」と称する。同様に、外符号によるエラー訂正を、「外符号訂正」と称する)が行われる。すなわち、データの各行に対して配された内符号パリティに基づき、各行毎にエラー訂正が行われる。そして、エラー訂正結果として、エラーフラグが各行のシンボルに対して付される。これは、例えば、エラー数が符号の持つエラー訂正能力を上回り、エラーが訂正されずに残っている場合、エラーが存在することを示すために、その行の全シンボルに対してエラーフラグが付される。
【0008】
内符号のエラー訂正がなされたこの再生データは、RAM109に書き込まれる。この内符号デコーダ108は、RAM109に対するアドレス制御を行うことができるもので、このRAM109に書き込まれる再生データは、内符号デコーダ108によってアドレス制御され、RAM109におけるアドレス空間内に配置される。
【0009】
このようにして、内符号デコーダ108において内符号訂正が行われると、このエラー訂正された再生データがRAM109から読み出される。このとき、デコーダ108によるアドレス制御によって、再生データは、RAM109の積符号の列方向に向かって読み出される。したがって、このRAM109において、外符号の方向にデータの順序が読み替えられる。
【0010】
こうして外符号方向に読み替えられた再生データは、外符号デコーダ110に供給され、外符号デコーダ110によって外符号訂正が行われる。すなわち、データの各列に対して配された外符号パリティに基づき、各列毎にエラー訂正が行われる。この外符号訂正の際には、外符号と共に、内符号デコーダ108における復号化の際に各シンボルに対して付されたエラーフラグも用いられる。
【0011】
外符号デコーダ110においてエラー訂正されたこの再生データは、RAM111に書き込まれる。この外符号デコーダ110は、RAM111に対するアドレス制御を行うことができるもので、このRAM111に書き込まれる再生データは、外符号デコーダ110によってアドレス制御され、RAM109におけるアドレス空間内に配置される。
【0012】
そして、エラー訂正結果として、エラーフラグが各シンボルに対して付される。これは、例えば、エラー数が符号の持つエラー訂正能力を上回り、エラー訂正が行われなかった場合、エラーが存在することを示すために付される。
【0013】
外符号デコーダ110において外符号訂正が行われると、このエラー訂正された再生データがRAM111から読み出される。このとき、デコーダ110によるアドレス制御によって、再生データは、RAM111のアドレス空間における行方向に向かって読み出される。したがって、このRAM111において、RAM109からの読み出しの際に読み替えられた読み出し方向が再び読み替えられ、最初の読み出し方向、すなわち、本来のデータ順に戻される。
【0014】
このようにして、内符号および外符号訂正が行われたこの再生データは、BRRデコーダ112に供給される。このBRRデコーダ112において、記録時にデータに施されたデータ圧縮が解かれる。圧縮を解かれたこの再生データは、インターフェイス113を介してディジタルビデオデータとして外部に出力される。
【0015】
なお、外符号デコーダ110においてエラー訂正しきれずに、エラーフラグが付されたデータに関しては、この後、例えば補間などの手法を用いてエラー修整がなされる。
【0016】
上述のようなディジタル記録/再生装置において、実際的には、記録側のBRRエンコーダ101およびエラー訂正エンコーダ102は、それぞれ1つの集積回路で構成される。また、再生側において、内符号デコーダ108,外符号デコーダ110,およびBRRデコーダ112がそれぞれ1つの集積回路で構成される。
【0017】
【発明が解決しようとする課題】
上述のように、積符号によって符号化されたディジタルデータは、先ず内符号訂正が行われ、その結果に基づいて外符号訂正が行われることによって、復号化されると共に、内符号および外符号によるそれぞれのエラー訂正の際には、データの読み替えが行われる。そのため、上述したように、積符号の列方向に読み替えを行うためのRAM109および行方向に読み替えを行うためのRAM111がそれぞれ必要とされていた。
【0018】
内符号デコーダ108および外符号デコーダ110は、それぞれ比較的小さな機能を有するだけである。これらデコーダ108および110をそれぞれ構成するICでは、ビデオデータの読み出しレートと同じレートのシステムクロックを内部クロックとして使用していた。そのため、RAM109および111の制御は、容易なものであった。
【0019】
しかしながら、これらRAM109,111と内符号デコーダ108,外符号デコーダ110とをそれぞれ結線しなければいけないために、内符号デコーダ108および外符号デコーダ110それぞれの集積回路においてピン数が多くなってしまい、またそれに伴い消費電力も大きくなってしまうという問題点があった。さらに、独立した外付けRAMがRAM109,111のように2つ必要となるために、コスト的にも不利になってしまうという問題点があった。
【0020】
したがって、この発明の目的は、積符号の列方向および行方向に読み替えを行うために2つのRAMが用いられていたことによる、無駄な電力消費、ピン数の増加、およびコストアップなどの問題が解消されたエラー訂正装置およびその方法、ならびに、ディジタル信号再生装置およびその方法を提供することにある。
【0021】
【課題を解決するための手段】
この発明は、上述した課題を解決するために、積符号を用いてエラー訂正符号化されたデータを復号化するエラー訂正装置において、内符号訂正を行なう内符号デコーダと、内符号訂正が行なわれた後に外符号訂正を行なう外符号デコーダと、内符号デコーダによるエラー訂正が行なわれたデータおよび外符号によるエラー訂正が行なわれたデータとを格納するメモリとを有し、同一種類の処理が基準クロックにより規定されるスロットに分解され、複数の同一種類の処理のスロットにより1シーケンスが構成され、1シーケンスが1フレームまたは1フィールドの期間で所定回数だけ繰り返されてエラー訂正処理をなすようにされ、外符号訂正の必要が無い場合、メモリに対するビデオデータの外符号訂正のためのデータ読み出しおよび書き込み処理を行うスロットを、メモリに対する内符号訂正後のデータ書き込み処理を行うスロットとして転用するようにしたことを特徴とするエラー訂正装置である。
【0022】
また、この発明は、上述した課題を解決するために、積符号を用いてエラー訂正符号化されたデータを復号化するエラー訂正装置を用いたディジタル信号再生装置において、内符号訂正を行なう内符号デコーダと、内符号訂正が行なわれた後に外符号訂正を行なう外符号デコーダと、内符号デコーダによるエラー訂正が行なわれたデータおよび外符号によるエラー訂正が行なわれたデータとを格納するメモリとを有し、同一種類の処理が基準クロックにより規定されるスロットに分解され、複数の同一種類の処理のスロットにより1シーケンスが構成され、1シーケンスが1フレームまたは1フィールドの期間で所定回数だけ繰り返されてエラー訂正処理をなすようにされ、外符号訂正の必要が無い場合、メモリに対するビデオデータの外符号訂正のためのデータ読み出しおよび書き込み処理を行うスロットを、メモリに対する内符号訂正後のデータ書き込み処理を行うスロットとして転用するようにしたエラー訂正装置を備えたことを特徴とするディジタル信号再生装置である。
【0023】
また、この発明は、上述した課題を解決するために、積符号を用いてエラー訂正符号化されたデータを復号化するエラー訂正方法において、内符号訂正を行なう内符号デコードのステップと、内符号訂正が行なわれた後に外符号訂正を行なう外符号デコードのステップと、内符号デコードのステップによるエラー訂正が行なわれたデータをメモリに格納するステップと、外符号デコードのステップによるエラー訂正が行なわれたデータメモリに格納するステップとを有し、同一種類の処理が基準クロックにより規定されるスロットに分解され、複数の同一種類の処理のスロットにより1シーケンスが構成され、1シーケンスが1フレームまたは1フィールドの期間で所定回数だけ繰り返されてエラー訂正処理をなすようにされ、外符号訂正の必要が無い場合、メモリに対するビデオデータの外符号訂正のためのデータ読み出しおよび書き込み処理を行うスロットを、メモリに対する内符号訂正後のデータ書き込み処理を行うスロットとして転用するようにしたことを特徴とするエラー訂正方法である。
【0024】
また、この発明は、上述した課題を解決するために、積符号を用いてエラー訂正符号化されたデータを復号化するエラー訂正方法を用いたディジタル信号再生方法において、内符号訂正を行なう内符号デコードのステップと、内符号訂正が行なわれた後に外符号訂正を行なう外符号デコードのステップと、内符号デコードのステップによるエラー訂正が行なわれたデータをメモリに格納するステップと、外符号デコードのステップによるエラー訂正が行なわれたデータメモリに格納するステップと
を有し、同一種類の処理が基準クロックにより規定されるスロットに分解され、複数の同一種類の処理のスロットにより1シーケンスが構成され、1シーケンスが1フレームまたは1フィールドの期間で所定回数だけ繰り返されてエラー訂正処理をなすようにされ、外符号訂正の必要が無い場合、メモリに対するビデオデータの外符号訂正のためのデータ読み出しおよび書き込み処理を行うスロットを、メモリに対する内符号訂正後のデータ書き込み処理を行うスロットとして転用するようにしたエラー訂正方法を用いたことを特徴とするディジタル信号再生方法である。
【0025】
上述したように、この発明は、同種の処理の所定単位がスロットとされ、複数種のスロットが集められてシーケンスが構成され、1フレームまたは1フィールド内でシーケンスが繰り返すようにされているために、時分割処理が容易となると共に、各種処理毎に設計や検証を行なうことができる。
【0026】
【発明の実施の形態】
以下、この発明の実施の一形態を、図面を参照しながら説明する。図1は、この発明が適用されたディジタルビデオ記録/再生装置の構成の一例を概略的に示す。この構成においては、積符号によって符号化されたデータの復号化を行なう内符号訂正を行う内符号デコーダおよび外符号訂正を行う外符号デコーダとが集積回路内に構成され、復号化の際のデータ読み替え用のRAMを共用化する。この発明では、このとき、各種の処理を所定単位でまとめてスロットを構成し、各種のスロットを集めてシーケンスを構成し、1フレーム内でシーケンスを繰り返す。RAMに対するアクセスは、スロットに基づき時分割処理でなされる。
【0027】
図1において、例えばビデオデータおよび4チャンネルのオーディオデータが含まれる記録データがインターフェイス1を介してBRRエンコーダ2に供給される。このBRRエンコーダ2では、供給された記録データに対してデータ圧縮が施される。この圧縮は、例えば、BRRエンコーダ2に供給されたデータがブロック化されDCT変換され、量子化され、可変長符号化されることによって行われる。このようにして圧縮された記録データは、エラー訂正エンコーダ3に供給される。
【0028】
このエラー訂正エンコーダ3は、RAM(図示しない)と接続されており、供給された記録データは、このRAMに書き込まれる。そして、供給されRAMメモリに書き込まれたこの記録データに対して、上述の従来技術において説明したように、外符号パリティおよび内符号パリティが生成され、積符号のエラー訂正符号化される。この、内符号および外符号の積符号が完結するデータの大きさを、エラー訂正ブロックと称する。
【0029】
エラー訂正エンコーダからの符号化データは、上述の行方向に従ってRAMから読み出され、記録のためのアンプなどを含む記録駆動部4に供給され、磁気ヘッド5によって磁気テープ6に記録される。この記録は、回転ドラム上に設けられた磁気ヘッド5によって磁気テープ6に対して斜めにトラックが形成される、ヘリカルスキャン方式で以て行われ、さらに、互いに異なる角度を有する1組の磁気ヘッドによって、隣接するトラックにおいてアジマスが異ならされ記録される、アジマス方式が用いられる。
【0030】
この記録方式の一例として、回転ドラム上に4個の磁気ヘッド5が設けられ、各ヘッドに対応するチャンネルをA,B,C,Dとした場合、これら4個の磁気ヘッド4によってA,B,C,Dの順でトラックが形成される。また、これらのうち、AおよびC,BおよびDがそれぞれアジマスが一致するトラックである。このとき、互いにアジマスの異なる、隣接した2トラック(AおよびBチャンネル、並びにCおよびDチャンネル)を1組としてセグメントが構成される。また、4チャンネルあるオーディオデータは、例えば、トラックに対して中央部に、ビデオデータに挟まれるように配される。
【0031】
磁気テープ6に記録されたデータが磁気ヘッド7によって、上述した、記録データが記録された順序に従って読み出され、再生データとされる。この読み出された再生データは、イコライザ8を介してシリアルデータとされ、内符号/外符号デコーダ9に供給される。この内符号/外符号デコーダ9は、内符号デコーダおよび外符号デコーダが1つの集積回路として構成されたもので、接続されたRAM10に対するアドレス制御を行うことができる。
【0032】
内符号/外符号デコーダ9に供給された再生データは、内符号訂正を施され、アドレス制御されRAM10に書き込まれる。こうして、1エラー訂正ブロック分のデータがRAM10にたまると、外符号訂正を行うために、外符号方向にデータが読み出され、内符号/外符号デコーダ9に供給される。供給されたこのデータは、外符号訂正を施され、再びRAM10に書き込まれる。このようにして1エラー訂正ブロック分のエラー訂正が終了すると、内符号/外符号デコーダ9の制御によってRAM10からデータが内符号方向(元のデータの順序)に読み出され、出力される。このとき、エラーが符号の持つエラー訂正能力を超えて存在したときには、データに対して所定の位置にエラーフラグが付され出力される。
【0033】
このRAM10におけるこれら内符号および外符号訂正時のデータ入出力の際には、A/Vデータにおけるビデオデータおよびオーディオデータのそれぞれにおける処理単位の違いがあり、また、1つのRAMで外符号訂正のためおよびエラー訂正後の出力のためのデータの読み替えが生じるため、RAM10に対するデータの書き込みおよび読み出しのタイミングが交錯する。そのため、このRAM10に対するデータの書き込みおよび読み出しのタイミングの制御は、内符号/外符号デコーダ9の制御により時分割で行われる。この制御の詳細については、後述する。
【0034】
この内符号/外符号デコーダ9から出力された再生データは、BRRデコーダ11に供給される。このBRRデコーダ11において、記録時にデータに施されたデータ圧縮が解かれる。例えば、BRRデコーダ11に供給されたデータが可変長復号化され逆量子化され、逆DCT変換され逆ブロック変換されることによって圧縮が解かれる。このようにして圧縮を解かれたこの再生データは、インターフェイス12を介してディジタルビデオデータとして外部に出力される。
【0035】
なお、内符号/外符号デコーダ9においてエラー訂正しきれずに、エラーフラグが付されたデータに関しては、この後、例えば補間などの手法を用いてエラー修整がなされる。
【0036】
図2および図3は、上述のエラー訂正ブロックの構成の一例を概略的に示す。この例では、1フレームのデータが磁気テープ上に形成された12トラックによって構成される。また、上述したように、互いにアジマスの異なる、隣接した2トラックを1組としてセグメントが構成されており、1フレームは、12トラック=6セグメントから成る。これらセグメントには、0〜5までセグメント番号が付けられる。
【0037】
図2に示されるビデオデータの例においては、図2Aの如くこの12フレーム中の1トラックが図2Bに示される1エラー訂正ブロックを形成する。例えば217バイト×226バイトのデータ配列から成るビデオデータに対して、矢印bの方向に、各列のデータが例えば(250,226)リードソロモン符号によって符号化され、24バイトの外符号パリティが生成される。さらに、これらビデオデータおよび外符号パリティに対して、矢印aの方向に、各行のデータが例えば(229,217)リードソロモン符号によって符号化され、12バイトの内符号パリティが生成される。また、各々のデータ行の先頭には、それぞれ2バイトの大きさを有するシンクデータおよびIDが配される。
【0038】
図3は、オーディオデータにおけるエラー訂正ブロックの構成の一例を示す。図3Aに示されるように、オーディオデータは、1フレーム分の12トラックのうち6トラックで1エラー訂正ブロックを形成する。例えば217バイト×12バイトのデータ配列から成るオーディオデータに対して、矢印bの方向に、例えば(24,12)リードソロモン符号によって符号化され、12バイトの外符号パリティが生成される。さらに、これらビデオデータおよび外符号パリティに対して、矢印aの方向に、例えば(229,217)リードソロモン符号によって符号化され、12バイトの内符号パリティが生成される。また、それぞれのデータ行の先頭には、シンクデータおよびIDが配される。
【0039】
図4は、これらエラー訂正ブロックにおける1シンクブロックの構成を、ビデオデータを例にとって概略的に示す。先頭の2バイトはシンクデータである。続く2バイトはIDであって、この1シンクブロックの1トラック内での番号(セグメント番号)やシンクブロック番号などが記される。このIDに217バイトのビデオデータ(または外符号パリティ)および内符号パリティが続く。磁気テープに対する記録データは、このシンクブロックが連続したものである。
【0040】
次に図5を用いて、内符号/外符号デコーダ9のより詳細な構成を説明する。図5において、60は、内符号/外符号デコーダ9のIC回路の部分を示す。このECCデコーダIC60は、内符号エラー訂正機能、外符号エラー訂正機能、オーディオ信号処理機能、エラーカウント機能、補助データ読出し機能を基本的に有している。また、実際にはECCデコーダIC60は、2個が1組として用いられ、1個のECCデコーダIC60には、再生データのうち片アジマスのデータが入力される。
【0041】
このECCデコーダIC60に対して、94Mbpsの記録レートで再生されるシリアルデータと、それから生成したクロックがパラレルで入力され、S/P変換器61に入力され、シリアルからパラレルデータへ変換された8ビット幅のデータと、1/8分周されたクロックになる。
【0042】
この段階のデータは、高速の1ビット幅のデータが単純に11Mbpsレートの8ビット幅に低速化されただけなので、バイト単位およびシンクブロック単位の切れ目が適当であり、同期検出回路62の同期検出機能によって、それらが正規のデータ列に変換される。バイトの切れ目は、同期検出回路62の出力端子のビットアサインに規定され、また、シンクブロックの切れ目は、同期検出回路62で追加されるストローブパルスSTBで規定される。次にレート変換器63によって、システムクロック46MHzに乗せ替えられる。
【0043】
なお、ECCデコーダIC60は、8ヘッドシステムに対応するため、メイン系とサブ系との2系統の入力を有する。以上は、メイン系を通った入力に対する回路であるが、サブ系の入力に対しても同様の構成が設けられている。サブ系の再生データを処理するために、メイン系と同様にS/P変換器65、同期検出回路66、レート変換器67が設けられている。これらの回路が出力するデータパケットは、混合器68のOR回路で1系統に混合される。もともと11Mbpsのレートで来た信号が46Mbpsのレートに変換される。従って、各パケット間に隙間が空くので、サブ系とメイン系のデータの混合が可能である。但し、無造作に混合処理を行うと、両方の系のデータが衝突するため、二つのレート変換器63,67は互いにビジーを参照に調歩していて、相手の出力中は出力を留めるようにしている。このとき同時に、パケットの出所が判別できるように、サブ/メインという1ビットのフラグをパケット中に埋め込む。
【0044】
レート変換器63,67は、この調歩や、再生RF信号に含まれる例えば磁気テープ6の走行速度や回転ドラムの回転速度のジッタの吸収などを行なうために、バッファとしてそれぞれ内部に小規模のRAMを有する。このバッファは、後段に接続される内符号デコーダ69によって、出力が制御される。
【0045】
入力されるスイッチングパルスSWPは、内部回路の遅延時間分、タイミング生成器64にて遅延され、また、テープ走行方向を示す情報等が同様に遅延され、レート変換器63,67にてパケットに埋め込まれる。レート変換器63,67は、ヘッド切替えのタイミングで初期化され、ストローブパルスSTBでカウントされるカウンタを有し、このカウンタによって、フォーマット的にデータ無記録区間(以下ギャップと称する)であるか否かを判別し、その情報もパケットに折り込む。
【0046】
混合器68から出力されたパケットは、内符号デコーダ69によって内符号訂正される。内符号デコーダ69からのデータには、例えば訂正不能か否か、何バイト訂正したかといったエラー訂正情報がパケット上にも埋め込まれて、ID再現回路71に入力される。内符号デコーダ69で内符号訂正不能だった場合、IDを信用できない。しかしながら、後述するメモリコントローラ74では、そのIDを参考にして外符号訂正の系列や順番を決めるので、IDを再現する必要がある。前後の訂正不能でないパケットのIDなどから予想して、訂正不能のパケットのIDを再現するのが、ID再現回路71の機能である。このID再現回路71は、後から来るパケットも参照するために、3個のパケットを格納できるRAMを、メイン系とサブ系とでそれぞれに持っている。そのRAMを流用して、16ビット幅への変換、並びにビデオ外符号デコーダ76との調歩を行っている。
【0047】
なお、内符号デコーダ69から得られるエラー訂正情報は、図示されないエラーモニタに入力される。エラーモニタで、エラー訂正情報とその他の情報とが併せてエンコードされ、メイン/サブそれぞれの信号に集約され、ECCデコーダIC60の外部に出力される。この出力をD/A変換することで、エラー訂正の状態を観測することができる。
【0048】
ID再現回路71から出力されるデータは、デスクランブラ72によって、デスクランブル処理などが加えられる。デスクランブラ72から出力された本線データは、メモリコントローラ74を介してICに外付けのSDRAM(Synchronous Dynamic Random Access Memory) 75に蓄えられていく。
【0049】
この際、メモリコントローラ74は、デスクランブラ72から来るデータのタイミングコントロールおよびSDRAM75へのセグメント別にビデオデータ、オーディオデータに分けて書込むためのアドレスコントロールを行う。
【0050】
メイン系のビデオデータが1エラー訂正符号ブロック(1トラック分)溜まったところで、ビデオ外符号デコーダ76による外符号訂正処理を行うために、SDRAM75に対して読出しコントロールを行い、外符号方向にデータを読み込み、ビデオ外符号デコーダ76へデータを送る。メモリコントローラ74は、外符号の処理が終わったデータから再びSDRAM75に戻すための書き込みを行う。
【0051】
1トラック分の外符号の復号処理が終わったデータに対して、メモリコントローラ74がメイン/サブデータの選択を行って、内符号方向に読出して、図示されないIDリナンバ回路を介して圧縮デコーダとのインターフェイスのためにIDを付け替えられ、端子77から出力される。
【0052】
一方、オーディオデータは、1フィールド分(オーディオデータの1つのエラー訂正符号化単位)がSDRAM75に溜まると、オーディオ処理回路78に供給される。オーディオ処理回路78でオーディオ外符号訂正,デシャッフリング,エラー補間などの所定の処理がなされた後、シリアルデータに変換され、端子79から出力される。
【0053】
なお、上述したように、オーディオデータのエラー訂正ブロックは、6トラック分、1フィールドで完結する。このため、正/逆アジマスのトラックにわたってオーディオデータのエラー訂正ブロックが構成されることになる。このECCデコーダIC60は、片アジマスに対応している。そのため、オーディオデータの外符号訂正を行なうためには、もう片方のアジマスに対応しているECCデコーダIC60’(図示しない)に対して内符号訂正の終了したオーディオデータを送る必要がある。端子82を介して、内符号訂正が終了したオーディオデータが他のECCデコーダIC60に対して送られる。
【0054】
この端子82は、双方向にデータのやり取りが可能なようにされ、所定の方法でモード設定を行なうことにより、端子82に対して他のECCデコーダIC60から送られたオーディオデータを入力することができる。
【0055】
以上説明した他に、システムコントロールのマイコン(以下、シスコンと称する)とのインターフェース80が設けられ、シスコンによって各種設定をしたり、エラー情報を読み取ったりすることが可能とされている。さらに、図示しないが、ビデオデータ以外のビデオ補助データを抽出する回路と、オーディオデータ以外のオーディオ補助データを抽出する回路とが設けられ、抽出された補助データがインターフェース80を介してシスコンへ送られる。さらに、エラー数を計数するエラーカウンタ73も設けられている。
【0056】
なお、シスコンとのデータのやりとりは、インターフェイス80,タイミング生成回路64,エラーカウンタ73,メモリコントローラ74,外符号デコーダ76,オーディオ処理回路78,インターフェイス80の順に、所定のビット幅のバス81を用いデータが流される。各部において、バス81から必要なデータが取り出される。また、各部において、インターフェイス80で読み出されるためのデータがバス81に対して流される。
【0057】
ECCデコーダIC60の内部では、データは、1シンクブロックが1パケットとして扱われる。図6は、この1パケットおけるデータ構成の例を示す。ここでは、データは、8ビットを1シンボルとして扱われる。ID0およびID1は、上述の図4に示した1シンクブロックのデータ構成におけるIDをより詳細に示したものである。すなわち、ID0は、シンクブロック番号を表し、ID1は、セグメント番号やビデオ/オーディオ識別情報などを表す。Data0〜Data216は、ビデオデータ,あるいはオーディオデータである。また、ID2以降のデータは、補助的なデータである。
【0058】
図7は、SDRAM75に対して、1シンクブロック分の再生データが書き込まれる際のフォーマットの一例を示す。このSDRAM75は、16ビットのデータ幅を有しているため、上述の図6で示した8ビット幅のデータフォーマットがこのように16ビットが1ワードとされ、ワード数も112ワードと半分にされる。
【0059】
この再生データがSDRAM75に書き込まれる際に、メモリコントローラ74の制御によりデータのタイミングコントロールが行われる。また、再生データは、SDRAM75に対してセグメント別にビデオデータおよびオーディオデータとに分けられ書き込まれるが、このときのアドレス制御もメモリコントローラ74によって行われる。
【0060】
図8および図9は、このアドレス制御によるSDRAM75におけるアドレス割り当ての一例を示す。図8は、ロー(列)アドレスの割り当てを示す。ビット8〜10において、ビデオデータは、セグメント0〜5のセグメント別に分けられ、オーディオデータは、‘6’に固定とされる。このように、このビット8〜10でビデオデータおよびオーディオデータがアドレス割り当てにおいてぶつからないようにされる。また、ビデオデータにおいて、ビット6,7は、テープの走行方向を示し、通常走行では‘0’、逆転走行では‘1’とされる。さらに、ビット0〜5は、シンクブロック番号をB7〜B0の8ビットで表した場合における、B7〜B2の6ビットが入れられる。
【0061】
オーディオデータにおいては、ビット6,7は、‘0’に固定とされている。また、ビット4,5に対してこのフィールド0〜3が入れられる。また、ビット2,3は、4チャンネルあるオーディオチャンネル別に割り当てられる。ビット0,1には、シンクブロック番号の2,3ビット(B2,B3)が入れられる。
【0062】
図9は、カラム(行)アドレスの割り当てを示す。このカラムアドレスの割り当ては、オーディオデータおよびビデオデータに共通である。このSDRAM75は、バンクAおよびバンクBから成る2バンク構成とされており、データは、これらバンクAおよびバンクBとに割り当てられる。また、カラムにおいては、シンクブロック番号のビット0,1(B0,B1)が0,1,2,3の4つのシンクブロックのデータが混在するように割り当てられる。図中に記されるS0,S1,S2,S3は、これらシンクブロック番号のビット0,1(B0,B1)が0,1,2,3であるシンクブロックのデータをそれぞれ表している。
【0063】
このカラムアドレスにおけるビット0,1によるシンクブロック割り当てと、上述のローアドレスにおけるシンクブロック番号の割り当てを組み合わせることで、全てのシンクブロックに対してアドレス割り当てを行うことができる。
【0064】
バンクAのカラムアドレス0〜3には、上述の図6に示されるID0およびID1が割り当てられる。また、カラムアドレス4〜223には、データ0〜109が割り当てられる。一方、バンクBのカラムアドレス0〜219には、データ110〜215が割り当てられる。そして、バンクBのカラムアドレス220〜223には、データ216およびID2が割り当てられる。
【0065】
また、バンクAのカラムアドレス224〜251およびバンクBのカラムアドレス224〜251は、外符号訂正が行われた結果のエラーフラグが書き込まれる。このエラーフラグは、1データに対して1ビット割り当てられるので、1ワードでは16データ分のエラーフラグを格納することができる。したがって、バンクAのカラムアドレス224〜251にはデータ0〜111に対するエラーフラグが格納され、バンクBのカラムアドレス224〜251には、データ112〜216に対するエラーフラグが格納される。
【0066】
上述の図8および図9に示したSDRAM75のローアドレスおよびカラムアドレスの割り当ては、データが内符号訂正を終えてこのSDRAM75に対して書き込まれ、後述する外符号訂正が行われこのSDRAM75からデータが読み出されるまで変わらない。
【0067】
次に、メモリコントローラ74によるSDRAM75の制御について説明する。図10は、通常速度再生時のSDRAM75のアクセスの一例を示すタイムチャートである。図中、セグメント0〜5は、それぞれのセグメントに対して設けられたSDRAM75における領域を示し、また、オーディオ0〜3は、それぞれのオーディオデータの1エラー訂正ブロックに対して設けられたSDRAM75における領域を示す。
【0068】
図10Aの、SDRAM75に対する、内符号訂正後のビデオデータ書き込み周期に対してセグメント0〜5のビデオデータが供給され書き込まれる。そして、書き込まれたこれらのデータに対して、ビデオ外符号デコーダ31での、外符号訂正処理のための読み出しおよび書き込みが行われる。その後、図10Bのビデオデータの読み出し周期に基づいてビデオデータの出力のための読み出しが行われる。図10Dに示されるように、これらビデオデータのSDRAM75に対する書き込みおよび読み出しは、各セグメント毎に行われる。また、オーディオデータは、図10Cに示されるように、1フィールドを書き込みおよび読み出し周期とされる。そして、図10Eに示されるように、各チャンネル毎にSDRAM75対するデータの書き込みおよび読み出しが行われる。
【0069】
このように、通常速度による再生においては、(1) 内符号訂正後のビデオデータ書き込み,(2) 外符号訂正処理のための読み出しおよび書き込み,(3) ビデオデータの出力のための読み出し,および(4) オーディオデータの書き込みおよび読み出しという複数種類の処理が並行的に行われる。これは、上述したように、このエラー訂正デコーダ9の内部のクロックレートがレート変換器63(あるいは67)によって46.4MHzという十分に高いものに変換されているため、これら複数種類の処理を時分割で行うことが可能とされることで実現されるものである。
【0070】
なお、これらの処理のうち、内符号訂正後のビデオデータ書き込みおよびビデオデータの出力のための読み出しは、そのタイミングが外部に依存する。その他の処理については、メモリコントローラ74において制御される。
【0071】
図11は、このSDRAM75におけるデータの書き込みおよび読み出しの時分割処理の一例を示す。図11Aは、内符号訂正後のビデオデータならびにオーディオデータの書き込み周期である。図11Bは、ビデオデータおよびオーディオデータの処理を示す。30フレーム/1秒である場合、1フレームは、46.4MHzのクロックで1,546,872クロックに相当する。このクロックに対して、1008クロック単位で上述の複数種類の処理の時分割処理が行われる。1008クロックが処理の1シーケンスとされる。
【0072】
この発明では、この1008クロックが上述の複数種類の処理のそれぞれに必要なクロックに分割される。例えば、複数種類の処理のそれぞれがこの処理における一連の必要な処理単位に細かく分解される。この分解は、複数種類間での処理がそれぞれ略同等になるようになされると共に、必要な最大のクロック数で以てなされる。このクロック数をスロットと称する。時分割処理は、このスロットを単位としてなされる。
【0073】
複数種類の処理のそれぞれについて、分割可能なクロック数が異なる。したがって、処理の種類によってスロットの大きさが異なる。例えば、図11Cに示されるように、内符号および外符号訂正処理後のビデオデータ出力は、154クロックが1スロットとされる。オーディオ外符号デコーダ32によるエラー訂正のためのオーディオデータ読み出しは、16クロックが1スロットとされる。ビデオ外符号デコーダ31によるエラー訂正のためのビデオデータの書き込みおよび読み出しは、256クロックが1スロットとされる。また、内符号訂正後のSDRAM75に対するA/Vデータの書き込みは、582クロックが1スロットとされる。なお、これら処理の種類毎のスロットにおけるクロック数の決め方については、後述する。
【0074】
全種類のスロットが集められて1シーケンスが構成される。このシーケンスを繰り返すことにより、各種処理を時分割で行なうことができる。図11の例では、内符号および外符号訂正処理後のビデオデータ出力の154クロックを先頭として、オーディオ外符号訂正のためのデータ読み出しの16クロック,ビデオデータ外符号訂正のための読み書きの256クロック,および内符号訂正後のデータ書き込みの582クロックの順にスロットを並べて、1シーケンスが構成される。スロットの順番は、固定的である。これら計1008クロックを1シーケンスとして、これが繰り返される。
【0075】
ここで、内符号および外符号訂正処理後のビデオデータ出力処理のスロットが先頭とされるのは、この処理が外部から与えられる基準フレームパルスによってタイミングが確定されるからである。繰り返されるシーケンスは、この基準フレームパルスによってリセットされ、フレーム先頭から開始される。すなわち、シーケンスは、基準フレームパルスと同期して開始される。
【0076】
図11Dは、それぞれの処理について、1フレーム当たりのスロット数の例を示す。内符号および外符号訂正処理後のビデオデータ出力には、1400スロット/フレームが必要とされる。オーディオ外符号訂正のためのデータ読み出しには、1300スロット/フレームが必要とされる。ビデオデータ外符号訂正のための読み書きは、1350スロット/フレームが必要とされる。そして、内符号訂正後のデータ書き込みには、1534スロット/フレームが必要とされる。
【0077】
1フレームは、上述したように、1,546,872クロックからなる。すなわち、1シーケンスを1008クロックとした場合、1フレームは、1534シーケンスを含むことができる。したがって、複数種類の処理のそれぞれに対して1534スロット/フレームが与えられることになり、全ての処理を完了することができる。
【0078】
なお、シーケンスが繰り返されて各種処理が行なわれるため、1フレーム中で各種処理が使えるスロット数は等しくなる。したがって、各種処理において、それぞれ1フレーム内のスロット数が若干異なるので余りのスロットが生じる。この余りのスロットでは、何の処理も行なわれない。
【0079】
次に、1スロットにおけるクロック数の決め方の一例を、より具体的な例を用いて説明する。理解を容易とするために、図12に、上述の図2に示したビデオデータのエラー訂正ブロックにおけるデータ配列の一例について詳細に示す。データは、8ビットからなる1シンボルを単位として構成される。この図12において、Sx−Dyは、それぞれ1シンボルのデータを表す。互いに同じxが同一の系列の内符号方向のデータであることを示し、互いに同じyが同一の系列の外符号方向のデータであることを示す。すなわち、Sx−D0,Sx−D1,SxD2,・・・,Sx−D216が同一の系列の内符号方向のデータである。同様に、S0−Dy,S1−Dy,S2−Dy,・・・,S249−Dyが同一の系列の外符号方向のデータである。
【0080】
なお、以下では、「同一の系列の内符号方向のデータ」を「内符号系列のデータ」と称し、「同一の系列の外符号方向のデータ」を「外符号系列のデータ」と称する。
【0081】
SDRAM75でのアドレス割り当ては、カラム(行)アドレスおよびロー(列)アドレスとでマトリクス状になされる。図13は、SDRAM75におけるアドレスアサインの一例を示す。すなわち、図13は、これらカラムアドレスおよびローアドレスとから成るSDRAM75のアドレス空間に対する、上述の図12に示されるエラー訂正ブロックのデータ配置の一例を概略的に示す。
【0082】
図13Aに概略的に示されるように、SDRAM75は、メモリ領域として、切り替えて使用されるバンクAおよびバンクBの2つの領域を有する。これらバンクAおよびバンクBのそれぞれにおいて、ビット’0’〜’5’で表される6ビットからなるローアドレスが設けられる。このSDRAM75は、16ビットのデータ幅を有し、この16ビットを1ワードとして、ローアドレスのそれぞれに対して、256ワードからなるカラムアドレスが配される。
【0083】
このSDRAM75は、1度の指定で複数のカラムアドレスに対して連続的にアクセスして、書き込みあるいは読み出しを連続的に行う、所謂バーストライト/バーストリードを行うことができる。書き込みまたは読み出しで連続して出力または入力されるワード数をバースト長と称する。このバースト長は、例えば’1’,’2’,’4’,’8’,フルページといったように、各種設定可能である。この例では、バースト長は、’4’に設定される。
【0084】
この例では、同一の内符号系列のデータがバースト長に対応する数毎に外符号系列の順番にそれぞれまとめられ、同一のローアドレスに対して配置される。それと共に、内符号系列のデータは、前半と後半とに分けられ、それぞれがローアドレス毎にバンクAとバンクBとに対して交互に配置される。したがって、内符号方向でのデータの書き込み/読み出しの際には、カラムに対してランダムにアクセスが行われる。また、外符号方向でのデータの書き込み/読み出しを行う際には、バースト長単位でバンクAとBとがインターリーブされアクセスがなされる。
【0085】
1つのローアドレスに対して、内符号方向のデータが4系列分、バースト長に対応する数毎にまとめられて割り当てられる。すなわち、アドレス’0’から開始されるローアドレスにおいて、ローアドレス’0’に対してS0−Dy,S1−Dy,S2−Dy,およびS3−Dyの4系列のデータが割り当てられる。ローアドレス’1’には、S4−Dy,S5−Dy,S6−Dy,およびS7−Dyの4系列のデータが割り当てられる。同様に、ローアドレス’2’には、S8−Dy,S9−Dy,S10−Dy,およびS11−Dyの4系列のデータが割り当てられる。以下同様にして、ローアドレス’61’まで、4系列ずつデータが割り当てられる。
【0086】
なお、内符号データは、上述の図2Bに示されるように、250シンクブロックからなり、内符号方向のデータ系列が系列S0〜系列S249まで250ある。そのため、このように1ローアドレスに対して、内符号方向のデータを4系列ずつ割り当てると、最後の2系列(S248−DyおよびS249−Dy)が余る。そこで、ローアドレス’62’には、これらS248−DyおよびS249−Dyが割り当てられると共に、余った2系列分がダミーデータで埋められる。
【0087】
一方、カラムアドレスについては、内符号方向のデータが前半と後半(すなわち、前半のSx−D0〜Sx−D109と、後半のSx−D110〜Sx−216)とに分けられ、1ローアドレス毎に、これら前半と後半とがバンクAおよびバンクBとで入れ替えられ配置される。すなわち、ローアドレス’0’については、バンクAでは内符号方向のデータ系列S0〜S3の前半が配置され、バンクBでは後半が配置される。次のローアドレス’1’では、バンクAとバンクBとで配置が入れ替えられ、バンクAにデータ系列S4〜S7の後半が配置され、バンクBに前半が配置される。
【0088】
図13Bは、それぞれのローアドレスに対するデータの配置の一例を詳細に示す。ここでは、ローアドレス’0’〜’2’について示されている。1ワードすなわち16ビットを有する1カラムアドレスで示される領域に対して、データの1データが8ビットからなるため、2シンボルが1組とされて配置される。便宜上、図13Bにおける1カラムアドレスで示される領域の上側の8ビットを上カラム、下側の8ビットを下カラムとそれぞれ称する。外符号方向の系列Dyにおいて、yが奇数であるデータが上カラムに配置され、yが偶数であるデータが下カラムに配置される。
【0089】
内符号方向のデータ系列の前半が配置されるバンクの最初の4カラムアドレス(カラムアドレス’0’〜’3’)には、同一のローアドレスに配置されるデータの識別を行うためのIDが配置される。このIDに続けて、カラムアドレス’4’からデータが格納される。
【0090】
上述したように、シンボルがバースト長単位でまとめられて配置される。このとき、外符号方向の系列(Dy)が同一で、内符号方向の系列(Sx)が連続するようにまとめられる。この例では、バースト長が4とされているため、上カラムおよび下カラムのそれぞれにおいて、4データがまとめられる。
【0091】
IDに続く4カラムアドレス(カラムアドレス’4’〜’7’)には、下カラムにはxが0〜3でyが0であるデータ、すなわち、データS0−D0,S1−D0,S2−D0,およびS3−D0が順に配置される。同カラムアドレスの上カラムにはxが下カラムと同一の0〜3でyが1であるデータ、すなわち、S0−D1,S1−D1,S2−D1,およびS3−D1が順に配置される。以下同様にして、4カラムアドレス毎に同一の外符号方向のデータ系列がまとめられ、メモリ空間内にデータが配置される。なお、バンクAおよびBのそれぞれの、カラムアドレス’224’以降には、ダミーデータが配置される。
【0092】
ところで、SDRAM75の制御は、コマンドによってなされる。例えば、SDRAM75の所定のコマンド入力端子と、パラレルに12ビットの入力端を有するアドレス入力端子とに対して供給された信号の組み合わせによって、SDRAM75に対する所定のコマンド入力がなされる。このコマンドは、メモリコントローラ74によって生成され出力され、SDRAM75に対して供給される。
【0093】
SDRAM75を制御する際には、コマンド入力の際に、この同期式メモリであるSDRAM75が有する非同期特性に基づく幾つかの制約事項が存在する。SDRAM75に対する書き込みや、SDRAM75からの読み出しを効率良く制御する際には、この制約事項を十分考慮に入れる必要がある。以下に、このSDRAM75の制御ならびに制約事項について、概略的な説明を行う。
【0094】
SDRAM75を使用するに当たって、先ず、モードレジスタが設定される。このモードレジスタを設定することで、SDRAM75の動作モードが設定される。モードレジスタは、モードレジスタ設定コマンドによって設定される。モードレジスタによって、CASレーテンシ,ラップタイプ,およびバースト長が設定される。このモードレジスタの設定後は、20ns以上経過するまで次のコマンドの入力ができない。
【0095】
CASレーテンシは、これらのパラメータの中でも最も重要なもので、コマンド入力からデータリードまでのレーテンシ(クロック数)を設定する。すなわち、コマンドが入力されてから、このCASレーテンシだけ待ってデータリードが開始される。CASレーテンシは、例えば’1’,’2’,または’3’から何れかの値が選択され設定される。この例では、CASレーテンシを’2’に設定する。
【0096】
ラップタイプは、バーストライト/バーストリードを行う際の、バーストデータのアドレスがインクリメントされる順序を指定する。シーケンシャルまたはインターリーブのうち何れかが選択できる。また、バースト長は、’1’,’2’,’4’,’8’,またはフルページのうち何れかが選択され設定される。この例では、バースト長を’4’に設定する。
【0097】
SDRAM75において、アクティブコマンドにより、対象バンクの所定のローアドレスがアクティブとされ、書き込み/読み出しが可能な状態とされる。そして、このアクティブとされたバンクのローアドレスに対するデータライト/データリードコマンドが入力されると共に、データが入力され、対象バンクの対象ローアドレスに対するデータの書き込み/読み出しが行われる。データの書き込み/読み出し後には、プリチャージを行う必要がある。オートプリチャージ付きライト/リードコマンドを実行することによって、データの書き込み/読み出しがなされた後の所定期間後に、自動的にプリチャージを行うことができる。
【0098】
ライトコマンド同士の間隔は、1クロック分である。すなわち、ライトコマンドは、1クロック毎に制限無しに入力することができる。同様に、リードコマンド同士の間隔は、1クロック分であって、リードコマンドも1クロック毎に制限無しに入力することができる。但し、読み出しの際には、CASレーテンシが存在するため、リードコマンドが入力されてから実際にデータが出力されるまでには、CASレーテンシ分だけ遅延が生ずる。CASレーテンシが’2’と指定されたこの例では、リードコマンドが入力された2クロック分後に、データの出力がなされる。
【0099】
また、これらライトコマンドおよびリードコマンドは、それぞれ別のライトコマンドあるいはリードコマンドでインタラプトが可能である。これにより、ライトあるいはリードを行うカラムアドレスを1クロック単位で指定することができる。
【0100】
SDRAM75では、非同期特性に基づく制約事項として、これら各コマンド入力ならびに動作の間には、それぞれ所定の間隔が必要とされる。この制限事項の違反は、SDRAM75の誤動作を引き起こす。図14は、この制約条件の一例を一覧して示す。最上段に示される数値は、SDRAM75の動作の最小間隔とされるサイクルである。ここでは、サイクルが13nsであるSDRAMを20nsのクロックで動作させる例について説明する。
【0101】
リフレッシュコマンドから次のリフレッシュコマンドあるいはアクティブコマンドまでの間隔は、間隔tRCと称され、最小で、7クロック分に相当する130nsが必要である。アクティブコマンドからプリチャージコマンドまでの間隔は、間隔tRAS と称され、最小で91nsが必要である。これは、5クロック分に相当する。逆に、プリチャージコマンドとアクティブコマンドまでの間隔は、間隔tRPと称され、39nsが必要とされる。これは、2クロック分に相当する。アクティブコマンドとデータリード/データライトコマンドまでの間隔は、間隔tRCD と称され、2クロック分に相当する39nsが必要とされる。一方のバンクをアクティブにした後に他方のバンクをアクティブにする際の各アクティブコマンド間の間隔は、間隔tRRD と称され、39ns必要とされる。これは、2クロック分に相当する。
【0102】
データ入力とプリチャージコマンドとの間隔は、間隔tDPL と称される。データの書き込みをオートプリチャージ付きライトコマンドで以て行い、オートプリチャージを指定した場合の、最後のデータ入力と次のアクティブコマンドとの間隔は、間隔tDAL と称される。これら間隔tDPL および間隔tDAL は、CASレーテンシによって左右される。間隔tDPL において、CASレーテンシが3の場合、1クロック+13nsが必要とされる。これは、2クロック分に相当する。CASレーテンシが1または2では、共に、1クロック分に相当する19.5nsが必要とされる。また、間隔tDAL において、CASレーテンシが3の場合、2クロック+39nsが必要とされる。これは、4クロック分に相当する。CASレーテンシが1または2では、1クロック+39nsが必要とされる。これは、3クロック分に相当する。
【0103】
次に、このような制約事項を考慮した上での、SDRAM75に対するデータの書き込み/読み出し制御について、図15および図16、さらに上述の図13を用いて説明する。
【0104】
先ず、内符号系列ついて説明する。この内符号系列の書き込み/読み出しでは、バンクAから開始される系列とバンクBから開始される系列とが存在する。これは、内符号方向の前半と後半とがバンクAおよびバンクBに対して、ローアドレス毎に交互に配置されているためである。図15AがバンクAから開始される内符号系列の書き込みを示し、図15BがバンクAから開始される読み出しを示す。同様に、図15CがバンクBから開始される内符号系列の書き込みを示し、図15DがバンクBから開始される読み出しを示す。また、図15および後述する図16の各図に共通して、上段がコントロールコマンドを示し、下段がデータを示す。
【0105】
図15Aにおいて、バンクAの所定のローアドレスxをアクティブにするために、アクティブコマンドRAxが供給される。このコマンドRAxによって、x行目のローアドレスがアクティブとされる。上述の図13に示されるように、最初のデータ(S0−D0)は、ローアドレス’0’,カラムアドレス’1’にで表されるアドレスに書き込まれる。そこで、ここでは、xを’0’として、ローアドレス’0’がアクティブにされる。このアクティブコマンドRAxから間隔tRCD (すなわち2クロック分)経過後に、ライトコマンドが実行され、データの書き込みを行うためのカラムアドレスが指定される。
【0106】
上述したように、このSDRAM75では、ライトコマンドの入力が1クロック毎に制限無く行える。これを利用し、カラムアドレスの指定を行う際にライトコマンドを1クロック毎に次々にインタラプトする。これにより、カラムアドレスがCA0,CA1,CA2,・・・,CA55というように、ワード単位で連続的に指定される。なお、アドレスCA55に続けて、空き領域であるカラムアドレスCAdumへの書き込みが指定され、ダミーデータが4ワード分書き込まれる。このダミーデータの書き込みは、バンクAに続けてバンクBへの書き込みがなされる際に、プリチャージが実行されるために指定される。
【0107】
バンクAの最後のアドレスであるこのCAdumの指定の際に、オートプリチャージ付きライトコマンドで以てカラムアドレスCAdumの指定がなされる。CASレーテンシが’2’とされたこの例では、コマンドCAdumが入力された1クロック後にプリチャージが自動的に開始される。
【0108】
各々のカラムアドレスは、同じ内符号系列同士が連続して、外符号系列がデータの順序に従い書き込まれるように指定される。すなわち、上述の図13Bを参照し、ローアドレスに対してデータがバースト長単位で、外符号方向の系列(Dy)が同一で、内符号方向の系列(Sx)が連続するようにまとめられ配置されている。そこで、最初に指定されたカラムアドレスに対して、カラムアドレスをバースト長単位でインクリメントして順次指定する。例えばカラムアドレスCA0の指定の際にカラムアドレス’4’を指定し、アドレスCA1ではカラムアドレス’8’を指定する。
【0109】
このようにカラムアドレスの指定を行うことによって、Sx−D0,Sx−D1,Sx−D2,・・・,Sx−D108,Sx−D109というように、ローアドレスRAxに対して連続的にデータを書き込むことができる。
【0110】
カラムアドレスCAdumの指定がなされたら、2クロック分の間隔を置いて、同一のローアドレスで以て、バンクBをアクティブにするアクティブコマンドRBxが入力される。以下、バンクAへの書き込みと同様の制御によってアドレス指定がなされ、データの書き込みがなされる。このローアドレスに対応する最終データの次には、カラムアドレスCBdumによって空き領域が指定され、ダミーデータが連続的に4ワード分書き込まれる。
【0111】
バンクBまで書き込み終わったら、再びバンクAから、開始のカラムアドレスが1つ隣に移され、同様の制御が行われる。例えば、上述ではカラムアドレス’4’を最初のアドレスとしたので、ここでは、隣のカラムアドレス’5’が最初のアドレスとされる。この制御は、バースト長分、すなわち4回繰り返される。これにより、例えば上述の図13に示される、ローアドレス’0’へのデータの書き込みがすべて終了したことになる。
【0112】
バンクAから開始される内符号系列の書き込みが終了すると、ローアドレスが1つインクリメントされ、図15Cに示されるように、バンクBから開始される内符号系列の書き込みがなされる。なお、このバンクBから開始される内符号系列の書き込みは、アドレス指定がバンクAとバンクBとで入れ替わっているだけで、図15AのバンクAから開始される書き込みと同一の処理なので、説明を省略する。
【0113】
こうして、順次ローアドレスをインクリメントしながら、図15Aおよび図15Cに示される制御を交互に行う。このような制御を行うことによって、内符号系列の順序に従い、データが上述の図13Aおよび図13Bに示されるような配置に書き込まれる。ローアドレス’62’への書き込みが終了した時点で、全てのデータの書き込みが終了される。
【0114】
内符号系列の読み出しも、書き込みと略同様な制御によって行われる。すなわち、図15Bに示されるように、バンクAの所定のローアドレスがアクティブコマンドRAxによってアクティブにされ、間隔tRCD 経過後にリードコマンドが入力され、カラムアドレスが指定される。バースト長単位でデータの読み出しが行われ、バンクAの読み出しが終了すると共に、プリチャージが実行される。そして、間隔tRP後にバンクBがアクティブにされ、バンクBからの読み出しが行われる。これをバースト長分繰り返した後、ローアドレスがインクリメントされ、図15Dに示される、バンクBからの内符号系列の読み出しが開始される。こうして、順次ローアドレスをインクリメントしながら図15Bおよび図15Dに示される制御を交互に行う。
【0115】
なお、読み出しの場合には、CASレーテンシの存在によって、アクティブコマンドの入力に対してCASレーテンシ分遅延してデータが読み出される。図15Bに示される例では、バンクAの所定のローアドレスxをアクティブにするためのアクティブコマンドRAxが入力され、間隔tRCD すなわち2クロック後にリードコマンドが入力され、カラムアドレスCA0が指定される。このカラムアドレスCA0からのデータの読み出しは、CASレーテンシ分、すなわち、CASレーテンシが’2’に設定されているこの例では、リードコマンドによるカラムアドレスCA0の指定よりも2クロック後に、データが読み出される。
【0116】
また、読み出しの際にも、バンクを切り替える際のプリチャージに対応してダミーの読み出しアドレスが指定される。読み出しの際には、書き込みと異なりダミーデータへのアクセスによってデータの破壊などが起きないため、バースト長より短い3カラムアドレス分のダミーデータが読み出される。
【0117】
読み出しの際の制御をこのように行うことで、図13のように書き込まれたデータを、内符号方向に順次読み出すことができる。上述のように、内符号系列について、データの書き込み時にはダミーデータの書き込みに要した8クロック分、また、読み出し時には同じくダミーデータの読み出しに要した6クロック分しかクロックに無駄が生じず効率的である。
【0118】
次に、外符号系列について、図16を参照しながら説明する。外符号系列の書き込み/読み出しについても、バンクAから開始される系列とバンクBから開始される系列とが存在する。バンクAから開始される系列は、内符号系列の前半に対するもので、バンクBから開始される系列は、後半に対するものである。図16AがバンクAから開始される内符号系列の書き込みを示し、図16BがバンクAから開始される読み出しを示す。同様に、図16CがバンクBから開始される内符号系列の書き込みを示し、図16DがバンクBから開始される読み出しを示す。
【0119】
上述の内符号方向では、図13に示されるアドレス空間に対して横方向、すなわち、カラム方向にデータの書き込み/読み出しが行われていた。これに対して、この外符号系列では、アドレス空間に対して縦方向、すなわち、ロー方向にデータの書き込み/読み出しがなされる。ローアドレスをインクリメントすると共に、バンクAとバンクBとを交互に切り替えインターリーブしながらアドレスの指定を行うことで、同一の外符号系列毎に、内符号系列が連続されるようにデータの書き込み/読み出しを行うことができる。
【0120】
先ず、書き込みについて説明する。上述の図13に示されるように、最初に書き込むデータ(S0−D0)は、バンクAのローアドレス’0’,カラムアドレス’1’に配置される。そこで、図16Aに示されるように、書き込みはバンクAから開始され、バンクAのローアドレス’0’をアクティブにするために、アクティブコマンドRA0が入力される。次に、カラムアドレスが指定される。このアクティブコマンドRA0から間隔tRCD (すなわち2クロック分)経過後に、オートプリチャージ付きライトコマンドが入力され、データの書き込みを行うためのカラムアドレスCAyが指定される。このライトコマンドによって、バースト長単位でデータの書き込みがなされる。また、このSDRAM75では、1ワードが16ビットとされているため、8ビットからなるシンボルが2シンボルずつ書き込まれる。
【0121】
例えばy=1とされ、カラムアドレス’1’から’4’まで、同一カラムアドレスに書き込まれるデータの組、すなわち、データS0−D0とS0−D1,S1−D0とS1−D1,S2−D0とS2−D1,およびS3−D0とS3−D1とが連続的に書き込まれる。この書き込みが終了されると、自動的にプリチャージが開始される。
【0122】
次のデータが書き込まれるべきアドレスは、図13に示されるように、バンクBにおける1つ上のローアドレスである。そこで、バンクがバンクAからバンクBへと切り替えられる。バンクAに対する書き込みが行われている間に、バンクBのローアドレス’1’をアクティブにするためのアクティブコマンドRB1が入力される。このアクティブコマンドRB1は、上述の、カラムアドレスCAyを指定するオートプリチャージ付きライトコマンドが入力されてから、2クロックの後に入力される。
【0123】
アクティブコマンドRB1が入力されてから間隔tRCD (2クロック分)経過後に、オートプリチャージ付きライトコマンドが入力され、データの書き込みを行うためのカラムアドレスCByが指定される。ここでは、カラムアドレス’0’が指定される。そして、上述のバンクAの場合と同様に、バースト長単位で内符号方向に連続して4データ×2(S4−D0とS4−D1,S5−D0とS5−D1,S6−D0とS6−D1,S7−D0とS7−D1)が書き込まれ、書き込まれた後に、プリチャージが自動的に実行される。
【0124】
また、このバンクBに対して書き込みが行われている間に、バンクAのアクティブコマンドRA2が入力され、バンクAの次のローアドレス’2’がアクティブにされる。このアクティブコマンドRA2は、先にバンクAに対してなされたデータ入力から(上述の例では、S3−D0の入力があったクロックから)間隔tDAL 、すなわち3クロック分の経過を待って入力される。そして、このアクティブコマンドRA2から2クロック後に、オートプリチャージ付きライトコマンドが入力され、バンクAのカラムアドレスCAyが指定される。この例では、カラムアドレス’0’が指定される。
【0125】
以下、このように、ローアドレスをインクリメントすると共に、バンクAとバンクBとを交互に切り替えながらアドレスの指定が行われる。ローアドレス’62’への書き込みまで、カラムアドレスは、固定的に指定される。なお、バースト長が4であるのに対して外符号方向のデータ数が250個であるため、最後尾の書き込み時に2データ分余りが生じる。ここには、ダミーデータが2データ分書き込まれる。
【0126】
ローアドレス’62’への書き込みが終了したら、ローアドレスがアドレス’0’に戻され、カラムアドレスCAyがインクリメントされ、次のカラムアドレスへの書き込みが開始される。これが繰り返され、ローアドレス’62’およびカラムアドレス’223’とで指定されるアドレスに対して書き込みがなされると、内符号系列の前半の書き込みが全て終了する。すると、次に、内符号系列の後半の書き込みが開始される。この内符号系列の後半の書き込みは、バンクBから開始される。
【0127】
このバンクBから開始される書き込みも、上述のバンクAから開始される書き込みと同様にして行われる。図16Cに示されるように、バンクBをアクティブにするためのアクティブコマンドRB0が入力される。そして、このアクティブコマンドRB0から間隔tRCD だけ待って、オートプリチャージ付きライトコマンドが入力され、カラムアドレスCByが指定される。バンクBから開始される書き込みは、カラムアドレス’0’から開始されるので、y=0とされカラムアドレス’0’が指定される。そして、ローアドレスをインクリメントすると共に、バンクBとバンクAとを交互に切り替えながら、これらバンクAおよびBに対して、カラムアドレスが固定的にされてアドレスの指定が行われ、同一内符号系列のデータが外符号系列に連続して、バースト長単位で書き込まれる。
【0128】
外符号系列の読み出しは、書き込みと略同様な制御によって行われる。すなわち、バンクAから開始される読み出しについては、図16Bに示されるように、バンクAのローアドレス’0’がアクティブコマンドRA0によってアクティブとされ、間隔tRCD 経過後にオートプリチャージ付きリードコマンドが入力され、カラムアドレスCAyが指定され、指定されたカラムアドレスCAyからバースト長単位でデータが読み出される。また、このリードコマンドの2クロック後にアクティブコマンドRB1が入力され、バンクBがアクティブとされ、ローアドレスがインクリメントされる。このアクティブコマンドRB1から間隔tRCD 経過後にオートプリチャージ付きリードコマンドが入力され、カラムアドレスCByが指定され、指定されたカラムアドレスCByからバースト長単位でデータが読み出される。
【0129】
このように、読み出しの際にも、ローアドレスをインクリメントすると共に、バンクAとバンクBとを交互に切り替えながら、これらバンクAおよびBとに対して、それぞれ対応するカラムアドレスが固定的に指定されてアドレスの指定が行われ、同一内符号系列のデータが外符号方向に連続して、バースト長単位で読み出される。そして、ローアドレス’62’までの読み出しが終了されると、カラムアドレスがインクリメントされ、ローアドレス’0’から同様に読み出しが開始される。こうして、バンクAから開始される読み出しが全て終了されると、次に、図16Dに示される、バンクBからの読み出しが開始される。バンクBからの読み出しは、バンクAから開始される読み出しと略同様な制御で以てなされる。
【0130】
なお、読み出しの際には、CASレーテンシの制限を受け、リードコマンドが入力されてからCASレーテンシで指定されたクロックが経過してから読み出しが開始される。したがって、この例では、リードコマンドによってカラムアドレスCAyが指定されてから2クロック後に、データの読み出しが開始される。
【0131】
また、オートプリチャージ付きライトコマンドによるオートプリチャージは、CASレーテンシが2の場合、最後に出力されるバーストデータよりも1クロック前に開始される。例えば、図16Aの最初のオートプリチャージ付きライトコマンド(CAy)によるオートプリチャージは、S2のデータ出力のタイミングで開始される。同一のバンクにおいて、プリジャージが開始されてからアクティブコマンドが入力されるまでは、間隔tRP(2クロック分)必要とされる。この2クロックの経過後に、次のアクティブコマンドRA1が入力される。
【0132】
このように、この実施の一形態によれば、外符号系列について、データの書き込み時にはダミーデータの書き込みに要した2クロック分、また、読み出し時にも同じくダミーデータの読み出しに要した2クロック分しかクロックに無駄が生じず効率的である。
【0133】
以上に説明したように、この例では、内符号系列のデータの書き込みおよび読み出しは、共に1シンクブロック単位で行なった場合に最も効率が良いようにされ、その処理には、図15に示されるように、122クロックが必要とされることが分かる。同様に、外符号系列のデータの書き込みおよび読み出しは、共に、図12に示される外符号系列のデータ1列を単位として行なった場合に最も効率が良いようにされ、その処理には、図16に示されるように、書き込みに254クロック,読み出しに256クロック必要とされることが分かる。書き込みと読み出しとで必要とされるクロック数が異なるのは、CASレーテンシの制限により、リードコマンドが入力されてからCASレーテンシで指定されたクロックが経過してから読み出しが開始されるためである。
【0134】
内符号系列および外符号系列共に、これ以上に処理を分解すると、処理方法が異なってしまうため、SDRAM75におけるデータアクセスの効率が低下してしまう。したがって、各々の処理の分解はここまでとし、この分解結果に基づき1スロットのクロック数が決められる。
【0135】
上述の4種類の処理、すなわち、内符号および外符号訂正処理後のビデオデータ出力,ビデオデータ外符号訂正のための読み書き,内符号訂正後のデータ書き込み,およびオーディオ外符号訂正のためのデータ読み出しについて、それぞれ1スロットのクロック数を求める。この1スロットのクロック数は、1フレームに必要なスロット数が各種処理について略等しくなるように決められる。それにより、各種処理を簡単に行なうことができる。
【0136】
内符号および外符号訂正処理後のビデオデータ出力の処理では、SDRAM75から内符号系列方向にデータの読み出しがなされる。図15に示されるように、内符号系列の読み出しは、122クロック必要とされる。このとき、ビデオデータと共に、エラーフラグが読み出される。このエラーフラグの読み出しには、32クロックが必要とされる。したがって、この処理では、上述の図11に示されるように、122クロック+32クロック=154クロックが割り当てられ、これがこの処理における1スロットとされる。
【0137】
1フレームは、6セグメントからなり、1つのECCデコーダIC60では、1セグメント当たり1エラー訂正ブロックが処理される。1エラー訂正ブロックは、226シンクブロックからなる。したがって、1フレーム当たりのスロット数は、226シンクブロック/セグメント×6セグメント/フレーム=1356シンクブロック/フレームとなる。上述したように、内符号系列の書き込み/読み出しでは1シンクブロックが1スロットとされているため、1356スロット/フレームとされる。実際には、他の細かい処理が加わるため、図11に示されるように、1400スロット/フレームが必要とされる。
【0138】
ビデオデータ外符号訂正のための読み書きの処理では、SDRAM75に対して外符号系列方向にアクセスがなされる。図16で示されるように、外符号系列のアクセスでは、書き込み時には254クロック、読み出し時には256クロックが必要とされ、両者の必要クロック数が異なる。しかしながら、スロット長は固定にする必要があるため、クロックが長い方に合わせ、図11に示されるように1スロットが256クロックとされる。
【0139】
上述の図13で分かるように、SDRAM75のアドレスアサインにおいて、1ワードに2データが割り当てられる。そのため、図16のチャートに従い外符号系列方向にビデオデータの書き込み/読み出しを行なうと、1スロット分の処理で外符号系列2本分の書き込み/読み出しが行なえることになる。また、図12で分かるように、片アジマスでは、1セグメント当たり217の外符号系列が存在する。したがって、1フレーム当たりのスロット数は、217外符号系列/セグメント÷2データ/ワード×2(書き込み/読み出し)×6セグメント/フレーム=1302外符号系列/フレームとなる。1外符号系列が1スロットであるので、1302スロット/フレームとされる。実際には、エラーフラグの処理などの細かい処理が加わるため、図11に示されるように、1350スロット/フレームが必要とされる。
【0140】
同様に、オーディオ外符号訂正のためのデータ読み出しでは、この例では、図11に示されるように、1スロットが16クロックとされる。また、1300スロット/1フレームが必要とされる。
【0141】
内符号訂正後のデータ書き込み処理では、SDRAM75に対して内符号系列方向にデータの書き込みがなされる。この処理には、図15に示されるように、122クロックが必要とされる。
【0142】
ところで、この内符号訂正後のデータ書き込み処理は、磁気テープ6から再生された所定の処理が施されたデータに対して内符号訂正がなされ、この内符号訂正されたデータをSDRAM75に書き込む処理である。したがって、テープの走行速度や回転ドラムの回転速度のジッタの影響を受ける。上述したように、このジッタを吸収するために、レート変換器63,67に設けられたバッファ(RAM)によるバッファリング処理が行なわれる。このため、SDRAM75に対するデータの書き込みは、非同期的に行なわれることになる。すなわち、SDRAM75に対して何時データの書き込みが生じるか、特定できない。
【0143】
一方、ジッタを吸収するためのバッファリング処理では、例えばSDRAM75に対して122クロック分のデータの書き込みが行なわれると、1シンクブロック分のデータがバッファから掃き出されることになる。このバッファは、考え得るジッタで、絶対に溢れないように制御される必要がある。そのために、例えばこの実施の一形態では、全体の1/2の割合で処理を行なうようにしている。以上の考えに基づき、内符号訂正後のデータ書き込みに必要なスロット数は、122クロックを1スロットとした場合、1546872クロック/フレーム÷122クロック/スロット×1/2(割合)=6340スロット/フレームとされる。1フレームに付き6340スロットを割り当てることで、内符号訂正後のデータを漏れなくSDRAM75に書き込むことができる。
【0144】
上述したように、この発明では、全種類のスロットが集められて構成される1シーケンスが繰り返される。そのため、このように、内符号訂正後の書き込み処理において122クロックを1スロットとしてしまうと、6340スロット/フレームが必要となり、結果的に、6340シーケンス/フレームが必要となる。ところが、他の処理は、高々1400スロット/フレーム程度が必要となるだけなので、無駄なシーケンスが生じてしまう。
【0145】
そこで、この実施の一形態においては、内符号訂正後のデータ書き込み処理における1シンクブロック分のデータを、1フレーム当たりのスロット数が他の処理と略等しくなるように複数集め、1スロットとしている。この例では、4シンクブロックを一まとめにして1スロットとしている。すなわち、図11に示されるように、内符号訂正後のデータ書き込み処理は、582クロック/スロットとされ、この1スロットに集中して処理がなされる。1フレームでは、1534スロット/フレームが必要とされる。
【0146】
なお、4シンクブロック分のデータを一まとめにする処理は、例えば上述のレート変換器63,67においてジッタ吸収用のバッファとして設けられたRAMが3シンクブロック分の容量を有し、ジッタ吸収処理に伴って行なわれる。内符号デコーダ69により、4シンクブロック分のデータが一まとめにして出力されるように、このバッファからの出力が制御される。
【0147】
このように各種処理に対してスロットを決めてやることで、図11に示されるように、1シーケンスが1008クロックとされる。46.4MHzのシステムクロックを使用した場合、1534シーケンス/フレームとされ、全ての処理が完了できる。
【0148】
次に、この実施の一形態の変形例について説明する。この変形例は、高速再生時の場合の例である。高速再生は、磁気テープ6が高速に走行されることによってなされ、磁気ヘッド7は、トラックを斜めに横切りながらトレースすることになる。そのため、データの再生はシンクブロック単位では可能であるが、1トラック分のデータが再生できないため、1エラー訂正ブロックが構成されない。したがって、外符号訂正を行なう必要が無い。
【0149】
また、高速再生することにより、磁気テープ6に記録されたデータと磁気ヘッド7との相対速度が変化し、磁気テープ6から再生されるデータのレートが高くなる。そのため、高速再生時には、SDRAM75に対する内符号訂正後のデータ書き込み処理が増加する場合がある。図17は、高速再生時のSDRAM75のアクセスの一例を示すタイムチャートである。図17Aおよび図17Bは、それぞれ内符号訂正後のデータ書き込み処理,ビデオデータ出力のための読み出し処理の周期を示す。この例のように、高速再生時には、1フレーム中に6セグメント以上のデータ書き込み処理が発生することがある。図17Cの例では、7セグメントの書き込みが生じている。
【0150】
この変形例では、高速再生時に必要無い、ビデオデータ外符号訂正のための読み書きの処理のスロットが内符号訂正後のデータ書き込み処理に転用している。図18は、この変形例による、高速再生時のSDRAMのアクセスの一例を示すタイムチャートである。図18Aは、内符号訂正後のビデオデータならびにオーディオデータの書き込み周期である。図18Bは、ビデオデータおよびオーディオデータの処理を示す。図18Cに示されるように、通常速度再生時の内符号訂正後のデータ書き込み処理のスロット(256クロック)と、ビデオデータ外符号訂正のための読み書きの処理のスロット(582クロック)とを合成して、838クロック分の新しいスロットとしている。この新しいスロットが高速再生時の内符号訂正後のデータ書き込み処理のスロットとして使用される。クロック数が増加されたため、高速再生によって増加した処理を十分行なうことができる。
【0151】
この場合、内符号および外符号訂正処理後のビデオデータ出力の処理と、オーディオ外符号訂正のためのデータ読み出しとは、高速再生とは関係が無いため、図18Bに示されるように、通常速度による再生時と全く同様に処理される。このように、この発明を用いることで、再生モードが変更されても、変更によって影響を受けるスロットだけを変更するだけで処理を対応させることができる。
【0152】
【発明の効果】
以上説明したように、この発明によれば、ECCデコーダICに接続された1つのSDRAMを時分割処理で用いて、内符号訂正後のデータ書き込み処理,ビデオデータ外符号訂正のための読み書き処理,オーディオ外符号訂正のためのデータ読み出し処理,内符号および外符号訂正後のビデオデータ出力の処理といった、複数種類の処理を行なっている。さらに、各々の種類の処理は、スロットとして明確に区切られている。そのため、各種処理別に、設計や検証を行なうことができる効果がある。
【0153】
また、1つのSDRAMで複数種類の処理を時分割に行なう際に、互いの処理を非同期式に行なうと、各処理時間が互いに関係し合うので、全ての処理が必ず終了することを保証するためにはあらゆる場合を想定しなければならない。そのためのシミュレーションは、膨大なものとなり、保証は困難なものとなり、製品としての信頼性も低下する。そのため、設計が難しくなり回路規模も増大することになる。
【0154】
この発明では、各種処理がスロット単位で固定的になされるため、時分割処理を同期式で行なうことが可能とされる。そのため、各種処理についてそれぞれ与えられたスロット内で処理が確実に完了することを保証するだけで良いので、信頼性を保証するためのシミュレーションが簡単に済み、バグの危険性が減る。したがって、製品の信頼性が向上し、回路規模も縮小できるという効果がある。
【0155】
さらに、非同期式で処理を行なうと、各種処理がどこで行なわれているかが分からず、ECCデコーダICが完成した後の検証が非常に困難になってしまう。この発明を用いることで、フレーム単位での完全同期およびシーケンス内での完全同期が実現されるため、各種処理が行なわれるタイミングが一定とされ、検証を非常に簡単に行なうことができる効果がある。
【0156】
さらにまた、例えば高速再生時には、回転ドラム(磁気ヘッド)と磁気テープとの相対速度が変化し、SDRAMに対する内符号訂正後のデータ書き込みが増加する場合がある。この発明の変形例によれば、高速再生時に必要無い、例えばビデオデータ外符号訂正のための読み書き処理のスロットを、内符号訂正後のデータ書き込み処理のスロットに転用するだけで、処理の増加に対応することができる効果がある。また、その際に、他の無関係な処理のスロットには、何の影響も与えず、それらの変更の必要もない。すなわち、スロットの転用だけで、簡単にビデオテープレコーダのモードによる処理の違いに対応することができる公Aがある。
【図面の簡単な説明】
【図1】この発明が適用されたディジタルビデオ記録/再生装置の構成の一例を概略的に示すブロック図である。
【図2】エラー訂正ブロックの構成の一例を概略的に示す略線図である。
【図3】エラー訂正ブロックの構成の一例を概略的に示す略線図である。
【図4】エラー訂正ブロックにおける1シンクブロックの構成を示す略線図である。
【図5】ECCデコーダICの構成の一例を示すブロック図である。
【図6】1パケットおけるデータ構成の一例を示す略線図である。
【図7】SDRAMに対して1シンクブロック分の再生データが書き込まれる際のフォーマットの一例を示す略線図である。
【図8】SDRAMにおけるローアドレスの割り当てを示す略線図である。
【図9】SDRAMにおけるカラムアドレスの割り当てを示す略線図である。
【図10】通常速度再生時のSDRAMのアクセスの一例を示すタイムチャートである。
【図11】SDRAMにおけるデータの書き込みおよび読み出しの時分割処理の一例を示すタイムチャートである。
【図12】ビデオデータのエラー訂正ブロックにおけるデータ配列の一例について詳細に示す略線図である。
【図13】SDRAMにおけるアドレスアサインの一例を示す略線図である。
【図14】SDRAMの制約条件の一例を一覧して示す略線図である。
【図15】内符号系列の書き込み/読み出しを説明するためのタイミングチャートである。
【図16】外符号系列の書き込み/読み出しを説明するためのタイミングチャートである。
【図17】高速再生時のSDRAMのアクセスの一例を示すタイムチャートである。
【図18】スロットを転用することを説明するためのタイムチャートである。
【図19】積符号による符号化を用いた、従来技術によるディジタル記録/再生装置の構成の一例を示すブロック図である。
【符号の説明】
6・・・磁気テープ、7・・・再生用の磁気ヘッド、9・・・内符号/外符号デコーダ、10・・・RAM、60・・・ECCデコーダIC、63,67・・・レート変換器、69・・・内符号デコーダ、74・・・メモリコントローラ、75・・・SDRAM、76・・・ビデオデータ外符号デコーダ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an error correction apparatus and method for decoding digital data that has been error correction encoded using a product code using a single external RAM, and a digital signal reproducing apparatus and Regarding the method.
[0002]
[Prior art]
At present, in an apparatus for digitally recording / reproducing an A / V (audio / video) signal on a recording medium such as a magnetic tape such as a DVCR (digital video cassette recorder), a product code is used for error correction. Encoding is often used.
[0003]
In this product code encoding, data arranged in a matrix in units of one symbol (for example, 1 byte) is encoded by, for example, Reed-Solomon code in the column direction, and the outer code parity is set. Generated. Then, the data and outer code parity are encoded in the row direction to generate an inner code parity. As described above, the outer code parity is generated in the column direction and the inner code parity is generated in the row direction, whereby error correction coding using a product code is performed. At this time, the time-series order of the data matches, for example, the row direction.
[0004]
FIG. 19 shows an example of the configuration of a conventional digital recording / reproducing apparatus using this product code encoding. For example, digital video data is supplied as recording data to a BRR (Bit Rate Reduction) encoder 101 via the interface 100. In the BRR encoder 101, data compression is performed on the supplied recording data. The compressed recording data is supplied to an error correction encoder 102 that performs error correction coding using the product code described above.
[0005]
The error correction encoder 102 is connected to a RAM (not shown), and the supplied recording data is written into the RAM. Then, as described above, the outer code parity and the inner code parity are generated for the recording data supplied and written in the RAM memory, and product code error correction coding is performed. The encoded recording data is read from the RAM in accordance with the row direction described above, supplied to the recording drive unit 103 including an amplifier for recording, and recorded on the magnetic tape 105 by the magnetic head 104.
[0006]
The recording at this time is performed by a helical scan system in which, for example, a magnetic head 104 is provided on a rotating drum and a track is formed obliquely with respect to the magnetic tape 105 by the magnetic head 104.
[0007]
Data recorded on the magnetic tape 105 is read by the magnetic head 106 to be reproduced data. This reproduced data is supplied to the inner code decoder 108 via the equalizer 107, and error correction by the inner code (hereinafter referred to as “inner code correction”. Similarly, error correction by the outer code is referred to as “outer code correction”. Is performed). That is, error correction is performed for each row based on the inner code parity arranged for each row of data. Then, as an error correction result, an error flag is attached to the symbol in each row. For example, if the number of errors exceeds the error correction capability of the code and the error remains uncorrected, an error flag is attached to all symbols in the row to indicate that an error exists. Is done.
[0008]
The reproduced data that has been subjected to the inner code error correction is written into the RAM 109. The inner code decoder 108 can perform address control on the RAM 109, and reproduction data written to the RAM 109 is address-controlled by the inner code decoder 108 and arranged in an address space in the RAM 109.
[0009]
In this way, when the inner code correction is performed in the inner code decoder 108, the error-corrected reproduction data is read from the RAM 109. At this time, the reproduction data is read out in the column direction of the product code of the RAM 109 by address control by the decoder 108. Therefore, in the RAM 109, the order of data is read in the direction of the outer code.
[0010]
The reproduction data read in the outer code direction in this way is supplied to the outer code decoder 110, and the outer code decoder 110 corrects the outer code. In other words, error correction is performed for each column based on the outer code parity arranged for each column of data. In this outer code correction, an error flag attached to each symbol at the time of decoding in the inner code decoder 108 is used together with the outer code.
[0011]
The reproduced data that has been error-corrected by the outer code decoder 110 is written into the RAM 111. The outer code decoder 110 can perform address control on the RAM 111, and reproduction data written to the RAM 111 is address-controlled by the outer code decoder 110 and arranged in an address space in the RAM 109.
[0012]
An error flag is added to each symbol as an error correction result. This is added, for example, to indicate that an error exists when the number of errors exceeds the error correction capability of the code and no error correction is performed.
[0013]
When outer code correction is performed in the outer code decoder 110, the error-corrected reproduction data is read from the RAM 111. At this time, the reproduction data is read in the row direction in the address space of the RAM 111 by the address control by the decoder 110. Therefore, in the RAM 111, the reading direction read at the time of reading from the RAM 109 is read again, and the first reading direction, that is, the original data order is returned.
[0014]
The reproduction data that has been subjected to the inner code and outer code correction in this way is supplied to the BRR decoder 112. In this BRR decoder 112, the data compression applied to the data at the time of recording is released. The reproduction data that has been decompressed is output to the outside as digital video data via the interface 113.
[0015]
In addition, regarding the data to which the outer code decoder 110 cannot complete the error correction and the error flag is added, the error correction is performed using a technique such as interpolation thereafter.
[0016]
In the digital recording / reproducing apparatus as described above, the recording-side BRR encoder 101 and the error correction encoder 102 are each configured by one integrated circuit. On the reproduction side, the inner code decoder 108, the outer code decoder 110, and the BRR decoder 112 are each constituted by one integrated circuit.
[0017]
[Problems to be solved by the invention]
As described above, the digital data encoded by the product code is first subjected to inner code correction, and is decoded by performing outer code correction based on the result, and is also decoded by the inner code and outer code. In each error correction, the data is replaced. For this reason, as described above, the RAM 109 for performing reading in the column direction of the product code and the RAM 111 for performing reading in the row direction are required.
[0018]
Each of the inner code decoder 108 and the outer code decoder 110 has only a relatively small function. In the ICs constituting the decoders 108 and 110, the system clock having the same rate as the video data read rate is used as the internal clock. Therefore, the control of the RAMs 109 and 111 is easy.
[0019]
However, since these RAMs 109 and 111 must be connected to the inner code decoder 108 and the outer code decoder 110, respectively, the number of pins increases in the integrated circuits of the inner code decoder 108 and the outer code decoder 110, respectively. As a result, there is a problem that power consumption increases. Further, since two independent external RAMs are required like the RAMs 109 and 111, there is a problem in that it is disadvantageous in terms of cost.
[0020]
Therefore, the object of the present invention is to have problems such as wasteful power consumption, increase in the number of pins, and cost increase due to the fact that two RAMs are used to read the product code in the column direction and the row direction. An object of the present invention is to provide an error correction apparatus and method therefor, and a digital signal reproduction apparatus and method therefor.
[0021]
[Means for Solving the Problems]
  In order to solve the above-described problems, an error correction apparatus for decoding error correction encoded data using a product code includes an inner code decoder for performing inner code correction and inner code correction. And an outer code decoder for correcting the outer code and a memory for storing the error-corrected data by the inner-code decoder and the error-corrected data by the outer code. It is divided into slots defined by the clock, one sequence is constituted by a plurality of slots of the same type, and one sequence is repeated a predetermined number of times in the period of one frame or one field to perform error correction processing.If there is no need for outer code correction, the slot for performing data reading and writing processing for outer code correction of video data to the memory is diverted as the slot for performing data writing processing after inner code correction for the memory. I didAn error correction apparatus characterized by the above.
[0022]
  Further, in order to solve the above-described problem, the present invention provides an inner code for performing inner code correction in a digital signal reproducing apparatus using an error correction device for decoding data error-encoded using a product code. A decoder, an outer code decoder that performs outer code correction after inner code correction is performed, and a memory that stores data subjected to error correction by the inner code decoder and data subjected to error correction by the outer code The same type of processing is divided into slots defined by the reference clock, and a sequence is formed by a plurality of slots of the same type of processing, and one sequence is repeated a predetermined number of times in the period of one frame or one field. Error correction processingIf there is no need for outer code correction, the slot for performing data reading and writing processing for outer code correction of video data to the memory is diverted as the slot for performing data writing processing after inner code correction for the memory. I didA digital signal reproduction apparatus comprising an error correction apparatus.
[0023]
  Further, in order to solve the above-described problem, the present invention provides an inner code decoding step for performing inner code correction, an inner code in an error correction method for decoding data error-corrected coded using a product code, An outer code decoding step for correcting the outer code after the correction is performed, and an inner code decodingStepData for which error correction was performed byStoring in a memory;Outer codeDecoding stepsData for which error correction was performed byThememoryStep to store andThe same type of processing is divided into slots defined by the reference clock, and one sequence is constituted by a plurality of slots of the same type of processing, and one sequence is repeated a predetermined number of times in the period of one frame or one field. Error correction processingIf there is no need for outer code correction, the slot for performing data reading and writing processing for outer code correction of video data to the memory is diverted as the slot for performing data writing processing after inner code correction for the memory. I didAn error correction method characterized by the above.
[0024]
  In order to solve the above-described problem, the present invention provides an inner code for performing inner code correction in a digital signal reproduction method using an error correction method for decoding data error-corrected and encoded using a product code. A decoding step, an outer code decoding step in which outer code correction is performed after inner code correction is performed, and inner code decoding.StepData for which error correction was performed byStoring in a memory;Outer codeDecoding stepsData for which error correction was performed byThememoryStep to store and
The same type of processing is divided into slots defined by the reference clock, and one sequence is constituted by a plurality of slots of the same type of processing, and one sequence is repeated a predetermined number of times in the period of one frame or one field. Error correction processingIf there is no need for outer code correction, the slot for performing data reading and writing processing for outer code correction of video data to the memory is diverted as the slot for performing data writing processing after inner code correction for the memory. Using the error correction methodThis is a digital signal reproduction method characterized by the above.
[0025]
As described above, in the present invention, a predetermined unit of the same type of processing is a slot, a plurality of types of slots are collected to form a sequence, and the sequence is repeated within one frame or one field. In addition to facilitating time-sharing processing, design and verification can be performed for each type of processing.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 schematically shows an example of the configuration of a digital video recording / reproducing apparatus to which the present invention is applied. In this configuration, an inner code decoder that performs inner code correction that decodes data encoded by a product code and an outer code decoder that performs outer code correction are configured in an integrated circuit, and data at the time of decoding The RAM for replacement is shared. In this invention, at this time, various processes are grouped in a predetermined unit to form a slot, and various slots are collected to form a sequence, and the sequence is repeated within one frame. Access to the RAM is performed by time division processing based on the slot.
[0027]
In FIG. 1, recording data including, for example, video data and 4-channel audio data is supplied to the BRR encoder 2 via the interface 1. In the BRR encoder 2, data compression is performed on the supplied recording data. This compression is performed by, for example, blocking the data supplied to the BRR encoder 2, performing DCT conversion, quantization, and variable length coding. The recording data compressed in this manner is supplied to the error correction encoder 3.
[0028]
The error correction encoder 3 is connected to a RAM (not shown), and the supplied recording data is written to the RAM. Then, as described in the above-described prior art, outer code parity and inner code parity are generated for the recording data supplied and written in the RAM memory, and error correction coding of the product code is performed. The size of data that completes the product code of the inner code and the outer code is referred to as an error correction block.
[0029]
The encoded data from the error correction encoder is read from the RAM in accordance with the row direction described above, supplied to the recording drive unit 4 including an amplifier for recording, and recorded on the magnetic tape 6 by the magnetic head 5. This recording is performed by a helical scan method in which tracks are formed obliquely with respect to the magnetic tape 6 by the magnetic head 5 provided on the rotating drum, and a pair of magnetic heads having different angles from each other. Therefore, the azimuth method is used in which the azimuth is recorded differently in adjacent tracks.
[0030]
As an example of this recording method, when four magnetic heads 5 are provided on a rotating drum and the channels corresponding to the heads are A, B, C, D, these four magnetic heads 4 perform A, B , C, D in this order. Of these, A and C, B and D are tracks in which azimuth coincides. At this time, a segment is composed of two adjacent tracks (A and B channels and C and D channels) having different azimuths as a set. Further, the audio data having four channels is arranged, for example, in the center with respect to the track so as to be sandwiched between the video data.
[0031]
The data recorded on the magnetic tape 6 is read out by the magnetic head 7 in accordance with the order in which the recording data is recorded as described above to be reproduced data. The read reproduction data is converted into serial data via the equalizer 8 and supplied to the inner code / outer code decoder 9. The inner code / outer code decoder 9 includes an inner code decoder and an outer code decoder configured as one integrated circuit, and can perform address control on the connected RAM 10.
[0032]
The reproduction data supplied to the inner code / outer code decoder 9 is subjected to inner code correction, address-controlled, and written to the RAM 10. Thus, when data for one error correction block is accumulated in the RAM 10, the data is read in the outer code direction and supplied to the inner code / outer code decoder 9 in order to perform outer code correction. The supplied data is subjected to outer code correction and written again in the RAM 10. When error correction for one error correction block is completed in this way, data is read from the RAM 10 in the inner code direction (original data order) under the control of the inner code / outer code decoder 9 and output. At this time, if an error exists beyond the error correction capability of the code, an error flag is attached to the data at a predetermined position and output.
[0033]
When data is input / output at the time of correcting the inner code and outer code in the RAM 10, there is a difference in processing units between the video data and the audio data in the A / V data, and the outer code correction is performed in one RAM. For this reason, the data for the output after error correction is replaced, so the timing of writing and reading the data to the RAM 10 is mixed. For this reason, control of the timing of writing and reading of data with respect to the RAM 10 is performed in a time division manner by the control of the inner code / outer code decoder 9. Details of this control will be described later.
[0034]
The reproduction data output from the inner code / outer code decoder 9 is supplied to the BRR decoder 11. In this BRR decoder 11, the data compression applied to the data at the time of recording is released. For example, the data supplied to the BRR decoder 11 is subjected to variable length decoding, inverse quantization, inverse DCT transform, and inverse block transform, and the compression is released. The reproduction data thus decompressed is output to the outside as digital video data via the interface 12.
[0035]
Note that the error correction is performed on the data to which the error flag is attached without being completely corrected by the inner code / outer code decoder 9, for example, using a technique such as interpolation.
[0036]
2 and 3 schematically show an example of the configuration of the error correction block described above. In this example, one frame of data is composed of 12 tracks formed on a magnetic tape. Further, as described above, a segment is composed of two adjacent tracks having different azimuths as a set, and one frame includes 12 tracks = 6 segments. These segments are numbered from 0 to 5.
[0037]
In the example of the video data shown in FIG. 2, one track in these 12 frames forms one error correction block shown in FIG. 2B as shown in FIG. 2A. For example, for video data composed of a data array of 217 bytes × 226 bytes, the data of each column is encoded in the direction of arrow b by, for example, (250, 226) Reed-Solomon code to generate a 24-byte outer code parity. Is done. Further, with respect to these video data and outer code parity, the data in each row is encoded by, for example, (229, 217) Reed-Solomon code in the direction of arrow a, and a 12-byte inner code parity is generated. In addition, sync data and ID each having a size of 2 bytes are arranged at the head of each data row.
[0038]
FIG. 3 shows an example of the configuration of an error correction block in audio data. As shown in FIG. 3A, the audio data forms one error correction block with six tracks out of twelve tracks for one frame. For example, audio data having a data array of 217 bytes × 12 bytes is encoded in the direction of arrow b by, for example, (24, 12) Reed-Solomon code, and a 12-byte outer code parity is generated. Further, these video data and outer code parity are encoded in the direction of arrow a by, for example, (229, 217) Reed-Solomon code, and a 12-byte inner code parity is generated. In addition, sync data and ID are arranged at the head of each data row.
[0039]
FIG. 4 schematically shows the configuration of one sync block in these error correction blocks, taking video data as an example. The first two bytes are sync data. The subsequent 2 bytes are an ID, which describes the number (segment number), sync block number, etc. in one track of this one sync block. This ID is followed by 217 bytes of video data (or outer code parity) and inner code parity. The recording data on the magnetic tape is a series of sync blocks.
[0040]
Next, a more detailed configuration of the inner code / outer code decoder 9 will be described with reference to FIG. In FIG. 5, reference numeral 60 denotes an IC circuit portion of the inner code / outer code decoder 9. The ECC decoder IC 60 basically has an inner code error correction function, an outer code error correction function, an audio signal processing function, an error count function, and an auxiliary data reading function. Actually, two ECC decoder ICs 60 are used as one set, and one ECC decoder IC 60 is supplied with one azimuth data of the reproduction data.
[0041]
Serial data reproduced at a recording rate of 94 Mbps and a clock generated therefrom are input in parallel to the ECC decoder IC 60, input to the S / P converter 61, and converted from serial to parallel data. The width data and the clock divided by 1/8.
[0042]
At this stage, the high-speed 1-bit data is simply reduced to the 8-bit width of 11 Mbps rate, so the breaks in byte units and sync block units are appropriate. The function converts them into regular data strings. The byte break is defined by the bit assignment of the output terminal of the synchronization detection circuit 62, and the sync block break is defined by the strobe pulse STB added by the synchronization detection circuit 62. Next, the system is switched to the system clock 46 MHz by the rate converter 63.
[0043]
The ECC decoder IC 60 has two inputs, a main system and a sub system, in order to support an 8-head system. The above is a circuit for the input through the main system, but the same configuration is provided for the input of the sub system. In order to process the reproduction data of the sub system, an S / P converter 65, a synchronization detection circuit 66, and a rate converter 67 are provided as in the main system. Data packets output from these circuits are mixed into one system by the OR circuit of the mixer 68. A signal that originally came at a rate of 11 Mbps is converted to a rate of 46 Mbps. Therefore, there is a gap between the packets, so that it is possible to mix the sub system data and the main system data. However, if the mixing process is performed randomly, the data of both systems collide, so that the two rate converters 63 and 67 are busy each other with reference to busy and keep the output during the other party's output. Yes. At the same time, a 1-bit flag of sub / main is embedded in the packet so that the origin of the packet can be determined.
[0044]
The rate converters 63 and 67 each have a small RAM as a buffer in order to perform this stepping and to absorb, for example, jitter of the traveling speed of the magnetic tape 6 and the rotational speed of the rotating drum included in the reproduction RF signal. Have The output of this buffer is controlled by an inner code decoder 69 connected to the subsequent stage.
[0045]
The input switching pulse SWP is delayed by the timing generator 64 by the delay time of the internal circuit, and information indicating the tape running direction is similarly delayed and embedded in the packet by the rate converters 63 and 67. It is. The rate converters 63 and 67 have a counter that is initialized at the head switching timing and is counted by the strobe pulse STB. By this counter, whether or not it is a data non-recording section (hereinafter referred to as a gap) in terms of format. And the information is also included in the packet.
[0046]
The packet output from the mixer 68 is subjected to inner code correction by the inner code decoder 69. In the data from the inner code decoder 69, for example, error correction information indicating whether correction is impossible or not and how many bytes have been corrected are also embedded in the packet and input to the ID reproduction circuit 71. If the inner code decoder 69 cannot correct the inner code, the ID cannot be trusted. However, in the memory controller 74 to be described later, the ID and the order of the outer code correction are determined with reference to the ID, so the ID needs to be reproduced. The function of the ID reproduction circuit 71 reproduces the ID of an uncorrectable packet in anticipation from the IDs of uncorrectable packets before and after. The ID reproduction circuit 71 has RAMs capable of storing three packets in each of the main system and the sub system in order to refer to packets that come later. The RAM is used to perform conversion to a 16-bit width and arbitration with the video outer code decoder 76.
[0047]
The error correction information obtained from the inner code decoder 69 is input to an error monitor (not shown). In the error monitor, error correction information and other information are encoded together, aggregated into main and sub signals, and output to the outside of the ECC decoder IC60. An error correction state can be observed by D / A converting this output.
[0048]
The data output from the ID reproduction circuit 71 is descrambled by a descrambler 72. The main line data output from the descrambler 72 is stored in an SDRAM (Synchronous Dynamic Random Access Memory) 75 external to the IC via the memory controller 74.
[0049]
At this time, the memory controller 74 performs timing control of data coming from the descrambler 72 and address control for separately writing video data and audio data for each segment to the SDRAM 75.
[0050]
When the main system video data has accumulated one error correction code block (for one track), in order to perform the outer code correction processing by the video outer code decoder 76, the SDRAM 75 is subjected to read control, and the data is transmitted in the outer code direction. Read and send data to the video outer code decoder 76. The memory controller 74 performs writing for returning to the SDRAM 75 again from the data whose outer code processing is completed.
[0051]
The memory controller 74 selects the main / sub data for the data for which the decoding process of the outer code for one track has been completed, reads the data in the inner code direction, and transmits the data to the compression decoder via an ID renumbering circuit (not shown). The ID is changed for the interface and output from the terminal 77.
[0052]
On the other hand, when one field (one error correction coding unit of audio data) is accumulated in the SDRAM 75, the audio data is supplied to the audio processing circuit 78. The audio processing circuit 78 performs predetermined processing such as audio outer code correction, deshuffling, and error interpolation, and is then converted into serial data and output from a terminal 79.
[0053]
As described above, the error correction block of audio data is completed in one field for six tracks. For this reason, an error correction block of audio data is formed over the normal / reverse azimuth tracks. The ECC decoder IC 60 corresponds to one azimuth. Therefore, in order to perform outer code correction of audio data, it is necessary to send the audio data for which inner code correction has been completed to the ECC decoder IC 60 '(not shown) corresponding to the other azimuth. The audio data for which the inner code correction has been completed is sent to another ECC decoder IC 60 via the terminal 82.
[0054]
This terminal 82 can exchange data in both directions, and the audio data sent from another ECC decoder IC 60 can be input to the terminal 82 by setting the mode in a predetermined method. it can.
[0055]
In addition to the above description, an interface 80 with a system control microcomputer (hereinafter referred to as a syscon) is provided so that various settings can be made and error information can be read by the syscon. Further, although not shown, a circuit for extracting video auxiliary data other than video data and a circuit for extracting audio auxiliary data other than audio data are provided, and the extracted auxiliary data is sent to the syscon via the interface 80. . Furthermore, an error counter 73 for counting the number of errors is also provided.
[0056]
Data exchange with the syscon uses a bus 81 having a predetermined bit width in the order of the interface 80, the timing generation circuit 64, the error counter 73, the memory controller 74, the outer code decoder 76, the audio processing circuit 78, and the interface 80. Data is streamed. In each part, necessary data is taken out from the bus 81. In each unit, data to be read by the interface 80 is sent to the bus 81.
[0057]
In the ECC decoder IC 60, one sync block is handled as one packet. FIG. 6 shows an example of the data structure in one packet. Here, the data is handled with 8 bits as one symbol. ID0 and ID1 indicate the ID in the data configuration of one sync block shown in FIG. 4 in more detail. That is, ID0 represents a sync block number, and ID1 represents a segment number, video / audio identification information, and the like. Data0 to Data216 are video data or audio data. The data after ID2 is auxiliary data.
[0058]
FIG. 7 shows an example of a format when reproduction data for one sync block is written to the SDRAM 75. Since this SDRAM 75 has a 16-bit data width, the 8-bit width data format shown in FIG. 6 is made such that 16 bits are 1 word and the number of words is halved to 112 words. The
[0059]
When the reproduction data is written into the SDRAM 75, the data timing is controlled under the control of the memory controller 74. The reproduction data is divided into segments and written into video data and audio data for each segment in the SDRAM 75. Address control at this time is also performed by the memory controller 74.
[0060]
8 and 9 show an example of address assignment in the SDRAM 75 by this address control. FIG. 8 shows row (column) address assignment. In bits 8 to 10, the video data is divided into segments 0 to 5, and the audio data is fixed to '6'. In this way, the video data and audio data are prevented from colliding in address allocation with these bits 8 to 10. In the video data, bits 6 and 7 indicate the running direction of the tape, and are “0” for normal running and “1” for reverse running. Further, bits 0 to 5 contain 6 bits B7 to B2 when the sync block number is represented by 8 bits B7 to B0.
[0061]
In audio data, bits 6 and 7 are fixed to “0”. Further, these fields 0 to 3 are entered for bits 4 and 5. Bits 2 and 3 are assigned to four audio channels. In bits 0 and 1, 2 or 3 bits (B2, B3) of the sync block number are entered.
[0062]
FIG. 9 shows the assignment of column (row) addresses. This column address assignment is common to audio data and video data. The SDRAM 75 has a two-bank configuration including a bank A and a bank B, and data is assigned to the bank A and the bank B. In the column, the sync block number bits 0 and 1 (B0, B1) are assigned so that data of four sync blocks of 0, 1, 2, and 3 are mixed. S 0, S 1, S 2, and S 3 shown in the figure represent data of sync blocks whose bits 0 and 1 (B 0, B 1) of these sync block numbers are 0, 1, 2, and 3, respectively.
[0063]
By combining the sync block allocation by bits 0 and 1 in the column address and the sync block number allocation in the row address described above, address allocation can be performed for all sync blocks.
[0064]
ID0 and ID1 shown in FIG. 6 are assigned to column addresses 0 to 3 of bank A. Further, data 0 to 109 are assigned to the column addresses 4 to 223. On the other hand, data 110 to 215 are allocated to the column addresses 0 to 219 of the bank B. Data 216 and ID2 are assigned to column addresses 220 to 223 of bank B.
[0065]
In addition, an error flag as a result of the outer code correction is written in the column addresses 224 to 251 of the bank A and the column addresses 224 to 251 of the bank B. Since one bit is assigned to this error flag for one data, an error flag for 16 data can be stored in one word. Therefore, an error flag for data 0 to 111 is stored in column addresses 224 to 251 of bank A, and an error flag for data 112 to 216 is stored in column addresses 224 to 251 of bank B.
[0066]
The row address and column address assignment of the SDRAM 75 shown in FIG. 8 and FIG. 9 described above is such that the data is written to the SDRAM 75 after the inner code correction is completed, and the outer code correction described later is performed and the data is transferred from the SDRAM 75. It does not change until it is read out.
[0067]
Next, control of the SDRAM 75 by the memory controller 74 will be described. FIG. 10 is a time chart showing an example of access to the SDRAM 75 during normal speed reproduction. In the figure, segments 0 to 5 indicate areas in the SDRAM 75 provided for the respective segments, and audios 0 to 3 indicate areas in the SDRAM 75 provided for one error correction block of each audio data. Indicates.
[0068]
In the SDRAM 75 of FIG. 10A, the video data of the segments 0 to 5 is supplied and written with respect to the video data writing cycle after the inner code correction. Then, reading and writing for the outer code correction processing in the video outer code decoder 31 are performed on the written data. Thereafter, readout for outputting video data is performed based on the readout cycle of video data in FIG. 10B. As shown in FIG. 10D, the video data is written to and read from the SDRAM 75 for each segment. Further, as shown in FIG. 10C, the audio data has one field as a writing and reading cycle. Then, as shown in FIG. 10E, data is written to and read from the SDRAM 75 for each channel.
[0069]
Thus, in normal speed playback, (1) video data writing after inner code correction, (2) reading and writing for outer code correction processing, (3) reading for video data output, and (4) Multiple types of processing of writing and reading audio data are performed in parallel. As described above, this is because the internal clock rate of the error correction decoder 9 is converted to a sufficiently high value of 46.4 MHz by the rate converter 63 (or 67). This is realized by being able to be performed by division.
[0070]
Of these processes, the timing of video data writing after inner code correction and reading for video data output depend on the outside. Other processes are controlled by the memory controller 74.
[0071]
FIG. 11 shows an example of time division processing for writing and reading data in the SDRAM 75. FIG. 11A shows a write cycle of video data and audio data after inner code correction. FIG. 11B shows processing of video data and audio data. In the case of 30 frames / second, one frame corresponds to 1,546,872 clocks with a 46.4 MHz clock. With respect to this clock, the time division processing of the above-described plural types of processing is performed in units of 1008 clocks. 1008 clocks are one sequence of processing.
[0072]
In the present invention, the 1008 clock is divided into clocks necessary for each of the above-described plural types of processing. For example, each of a plurality of types of processing is finely divided into a series of necessary processing units in this processing. This disassembly is performed so that the processing among a plurality of types is substantially equivalent to each other, and is performed with the required maximum number of clocks. This number of clocks is called a slot. The time division process is performed in units of this slot.
[0073]
The number of clocks that can be divided is different for each of the multiple types of processing. Therefore, the slot size varies depending on the type of processing. For example, as shown in FIG. 11C, the video data output after the inner code and outer code correction processing has 154 clocks as one slot. The audio data readout for error correction by the audio outer code decoder 32 is 16 slots per slot. Writing and reading video data for error correction by the video outer code decoder 31 takes 256 slots as one slot. In addition, writing of A / V data to the SDRAM 75 after the inner code correction takes 582 clocks as one slot. Note that how to determine the number of clocks in the slot for each type of processing will be described later.
[0074]
All types of slots are collected to form one sequence. By repeating this sequence, various processes can be performed in a time-sharing manner. In the example of FIG. 11, 154 clocks of video data output after inner code and outer code correction processing are the first, 16 clocks of data reading for audio outer code correction, and 256 clocks of reading and writing for video data outer code correction , And slots are arranged in the order of 582 clocks of data writing after inner code correction, thereby forming one sequence. The slot order is fixed. These total 1008 clocks are taken as one sequence, and this is repeated.
[0075]
Here, the reason why the slot of the video data output process after the inner code and outer code correction processing is set at the head is that the timing is determined by the reference frame pulse given from the outside. The repeated sequence is reset by this reference frame pulse and starts from the beginning of the frame. That is, the sequence is started in synchronization with the reference frame pulse.
[0076]
FIG. 11D shows an example of the number of slots per frame for each process. The video data output after the inner code and outer code correction processing requires 1400 slots / frame. Data reading for audio outer code correction requires 1300 slots / frame. Read / write for video data outer code correction requires 1350 slots / frame. Then, 1534 slots / frame is required for data writing after inner code correction.
[0077]
As described above, one frame is composed of 1,546,872 clocks. That is, when one sequence is 1008 clocks, one frame can include a 1534 sequence. Therefore, 1534 slots / frames are provided for each of a plurality of types of processing, and all processing can be completed.
[0078]
Since various processes are performed by repeating the sequence, the number of slots in which various processes can be used in one frame is equal. Accordingly, in various processes, the number of slots in one frame is slightly different, so that a surplus slot is generated. No processing is performed in the remaining slots.
[0079]
Next, an example of how to determine the number of clocks in one slot will be described using a more specific example. In order to facilitate understanding, FIG. 12 shows in detail an example of the data arrangement in the error correction block of the video data shown in FIG. Data is composed of one symbol of 8 bits as a unit. In FIG. 12, Sx-Dy represents one symbol of data. The same x indicates that the data is in the inner code direction of the same series, and the same y indicates that the data is in the outer code direction of the same series. That is, Sx-D0, Sx-D1, SxD2,..., Sx-D216 are data in the inner code direction of the same series. Similarly, S0-Dy, S1-Dy, S2-Dy,..., S249-Dy are data in the outer code direction of the same series.
[0080]
In the following, “data in the inner code direction of the same sequence” is referred to as “data in the inner code sequence”, and “data in the outer code direction of the same sequence” is referred to as “data in the outer code sequence”.
[0081]
The address assignment in the SDRAM 75 is made in a matrix with column (row) addresses and row (column) addresses. FIG. 13 shows an example of address assignment in the SDRAM 75. That is, FIG. 13 schematically shows an example of the data arrangement of the error correction block shown in FIG. 12 described above with respect to the address space of the SDRAM 75 composed of these column address and row address.
[0082]
As schematically shown in FIG. 13A, the SDRAM 75 has two areas of a bank A and a bank B that are used by switching as memory areas. In each of these banks A and B, a row address consisting of 6 bits represented by bits '0' to '5' is provided. The SDRAM 75 has a data width of 16 bits. A column address consisting of 256 words is arranged for each row address with the 16 bits as one word.
[0083]
The SDRAM 75 can perform so-called burst write / burst read, in which a plurality of column addresses are continuously accessed by one designation, and writing or reading is continuously performed. The number of words that are continuously output or input by writing or reading is called a burst length. The burst length can be set in various manners such as “1”, “2”, “4”, “8”, full page, and the like. In this example, the burst length is set to '4'.
[0084]
In this example, the data of the same inner code sequence is collected in the order of the outer code sequence for each number corresponding to the burst length, and arranged for the same row address. At the same time, the data of the inner code series is divided into a first half and a second half, and these are alternately arranged for banks A and B for each row address. Therefore, when writing / reading data in the inner code direction, the column is randomly accessed. Further, when writing / reading data in the outer code direction, banks A and B are interleaved and accessed in units of burst length.
[0085]
For one row address, the data in the inner code direction is allocated in a group of four sequences for each number corresponding to the burst length. That is, in the row address starting from the address “0”, four series of data of S0-Dy, S1-Dy, S2-Dy, and S3-Dy are assigned to the row address “0”. Four series of data S4-Dy, S5-Dy, S6-Dy, and S7-Dy are assigned to the row address '1'. Similarly, four series of data S8-Dy, S9-Dy, S10-Dy, and S11-Dy are assigned to the row address '2'. In the same manner, data is assigned to each of the four lines up to row address '61'.
[0086]
The inner code data is composed of 250 sync blocks as shown in FIG. 2B, and there are 250 data sequences in the inner code direction from sequence S0 to sequence S249. For this reason, when four sequences of data in the inner code direction are assigned to one row address in this way, the last two sequences (S248-Dy and S249-Dy) remain. Accordingly, S248-Dy and S249-Dy are assigned to the row address '62', and the remaining two series are filled with dummy data.
[0087]
On the other hand, for the column address, the data in the inner code direction is divided into the first half and the second half (that is, the first half Sx-D0 to Sx-D109 and the second half Sx-D110 to Sx-216). These first half and second half are replaced with bank A and bank B and arranged. That is, for the row address “0”, the first half of the data series S0 to S3 in the inner code direction is arranged in the bank A, and the second half is arranged in the bank B. In the next row address “1”, the arrangement of the banks A and B is switched, the second half of the data series S4 to S7 is arranged in the bank A, and the first half is arranged in the bank B.
[0088]
FIG. 13B shows in detail an example of data arrangement for each row address. Here, row addresses “0” to “2” are shown. Since one data item consists of 8 bits in an area indicated by one column address having one word, that is, 16 bits, two symbols are arranged as one set. For convenience, the upper 8 bits of the area indicated by one column address in FIG. 13B are referred to as the upper column, and the lower 8 bits are referred to as the lower column. In the sequence Dy in the outer code direction, data in which y is an odd number is arranged in the upper column, and data in which y is an even number is arranged in the lower column.
[0089]
In the first four column addresses (column addresses “0” to “3”) of the bank in which the first half of the data sequence in the inner code direction is arranged, an ID for identifying data arranged at the same row address is stored. Be placed. Subsequent to this ID, data is stored from the column address “4”.
[0090]
As described above, symbols are arranged in a burst length unit. At this time, the sequences in the outer code direction (Dy) are the same, and the sequences in the inner code direction (Sx) are continuous. In this example, since the burst length is 4, 4 data are collected in each of the upper column and the lower column.
[0091]
In the four column addresses following the ID (column addresses “4” to “7”), the lower column is data in which x is 0 to 3 and y is 0, that is, data S0-D0, S1-D0, S2- D0 and S3-D0 are arranged in order. In the upper column of the column address, data in which x is 0 to 3 and y is 1 as in the lower column, that is, S0-D1, S1-D1, S2-D1, and S3-D1 are sequentially arranged. Similarly, data sequences in the same outer code direction are collected for every four column addresses, and data is arranged in the memory space. Note that dummy data is arranged after the column address '224' in each of the banks A and B.
[0092]
Incidentally, the SDRAM 75 is controlled by commands. For example, a predetermined command input to the SDRAM 75 is made by a combination of signals supplied to a predetermined command input terminal of the SDRAM 75 and an address input terminal having a 12-bit input terminal in parallel. This command is generated and output by the memory controller 74 and supplied to the SDRAM 75.
[0093]
When controlling the SDRAM 75, there are some restrictions based on the asynchronous characteristics of the SDRAM 75 which is the synchronous memory when a command is input. This restriction must be taken into consideration when efficiently controlling writing to and reading from the SDRAM 75. In the following, the control of the SDRAM 75 and restrictions will be outlined.
[0094]
In using the SDRAM 75, a mode register is first set. By setting this mode register, the operation mode of the SDRAM 75 is set. The mode register is set by a mode register setting command. The CAS latency, wrap type, and burst length are set by the mode register. After this mode register is set, the next command cannot be input until 20 ns or more have elapsed.
[0095]
The CAS latency is the most important of these parameters, and sets the latency (number of clocks) from command input to data read. That is, after a command is input, data read is started after waiting for this CAS latency. The CAS latency is set by selecting any value from, for example, “1”, “2”, or “3”. In this example, the CAS latency is set to '2'.
[0096]
The wrap type designates the order in which the burst data address is incremented when performing burst write / burst read. Either sequential or interleave can be selected. The burst length is selected and set from among “1”, “2”, “4”, “8”, or full page. In this example, the burst length is set to '4'.
[0097]
In the SDRAM 75, a predetermined row address of the target bank is activated by an active command, and is in a state where writing / reading is possible. Then, a data write / data read command for the row address of the activated bank is input, and data is input to write / read data to / from the target row address of the target bank. It is necessary to precharge after writing / reading data. By executing the write / read command with auto precharge, the precharge can be automatically performed after a predetermined period after the data is written / read.
[0098]
The interval between write commands is one clock. That is, the write command can be input without limitation every clock. Similarly, the interval between read commands is one clock, and the read command can be input without limitation for each clock. However, since there is CAS latency at the time of reading, there is a delay corresponding to the CAS latency from when a read command is input to when data is actually output. In this example in which the CAS latency is designated as “2”, data is output two clocks after the read command is input.
[0099]
These write commands and read commands can be interrupted by different write commands or read commands. As a result, the column address for writing or reading can be specified in units of one clock.
[0100]
In the SDRAM 75, as a restriction based on the asynchronous characteristic, a predetermined interval is required between each command input and operation. Violation of this restriction causes a malfunction of the SDRAM 75. FIG. 14 shows a list of examples of the constraint conditions. The numerical value shown at the top is the cycle that is the minimum interval of operation of the SDRAM 75. Here, an example in which an SDRAM having a cycle of 13 ns is operated with a clock of 20 ns will be described.
[0101]
The interval from one refresh command to the next refresh command or active command is the interval tRCAnd a minimum of 130 ns corresponding to 7 clocks is required. The interval from the active command to the precharge command is the interval tRASAnd a minimum of 91 ns is required. This corresponds to 5 clocks. Conversely, the interval between the precharge command and the active command is the interval tRPAnd 39 ns is required. This corresponds to two clocks. The interval between the active command and the data read / data write command is the interval tRCD39 ns corresponding to two clocks is required. The interval between each active command when activating one bank after activating one bank is the interval tRRDAnd requires 39 ns. This corresponds to two clocks.
[0102]
The interval between the data input and the precharge command is the interval tDPLIt is called. When data is written by a write command with auto precharge and auto precharge is specified, the interval between the last data input and the next active command is the interval tDALIt is called. These intervals tDPLAnd interval tDALDepends on CAS latency. Interval tDPLIn the case where the CAS latency is 3, 1 clock + 13 ns is required. This corresponds to two clocks. When the CAS latency is 1 or 2, 19.5 ns corresponding to one clock is required. Also, the interval tDALIn the case where the CAS latency is 3, 2 clocks +39 ns are required. This corresponds to 4 clocks. When the CAS latency is 1 or 2, 1 clock + 39 ns is required. This corresponds to 3 clocks.
[0103]
Next, data write / read control with respect to the SDRAM 75 in consideration of such restrictions will be described with reference to FIGS. 15 and 16 and FIG. 13 described above.
[0104]
First, the inner code series will be described. In the writing / reading of the inner code sequence, there are a sequence starting from bank A and a sequence starting from bank B. This is because the first half and the second half in the inner code direction are alternately arranged for each row address with respect to bank A and bank B. FIG. 15A shows writing of the inner code sequence starting from bank A, and FIG. 15B shows reading starting from bank A. Similarly, FIG. 15C shows writing of the inner code sequence starting from bank B, and FIG. 15D shows reading starting from bank B. Further, in common with each drawing of FIG. 15 and FIG. 16 described later, the upper row indicates a control command, and the lower row indicates data.
[0105]
In FIG. 15A, an active command RAx is supplied to activate a predetermined row address x of bank A. By this command RAx, the row address of the x-th row is made active. As shown in FIG. 13 described above, the first data (S0-D0) is written at an address represented by a row address “0” and a column address “1”. Therefore, here, x is set to “0”, and the row address “0” is activated. Interval t from this active command RAxRCDAfter the elapse of (that is, two clocks), a write command is executed, and a column address for writing data is designated.
[0106]
As described above, in the SDRAM 75, a write command can be input without limitation at every clock. Using this, when a column address is specified, write commands are successively interrupted every clock. As a result, the column addresses are successively designated in units of words such as CA0, CA1, CA2,..., CA55. Following the address CA55, writing to the column address CAdum, which is an empty area, is designated, and dummy data is written for 4 words. This writing of dummy data is designated because precharge is executed when writing to bank B is performed following bank A.
[0107]
When this CAdum, which is the last address of the bank A, is specified, the column address CAdum is specified by a write command with auto precharge. In this example in which the CAS latency is set to '2', precharge is automatically started one clock after the command CAdum is input.
[0108]
Each column address is designated such that the same inner code series are consecutive and the outer code series are written according to the data order. That is, referring to FIG. 13B described above, the data is arranged in a burst length unit with respect to the row address, the outer code direction sequence (Dy) is the same, and the inner code direction sequence (Sx) is continuous. Has been. Therefore, the column address is incremented in units of burst length and sequentially designated with respect to the column address designated first. For example, the column address “4” is designated when the column address CA0 is designated, and the column address “8” is designated at the address CA1.
[0109]
By specifying the column address in this manner, data is continuously input to the row address RAx as Sx-D0, Sx-D1, Sx-D2,..., Sx-D108, Sx-D109. Can write.
[0110]
When the column address CAdum is designated, an active command RBx for activating the bank B is input with the same row address at intervals of two clocks. Thereafter, the address is designated by the same control as the writing to the bank A, and the data is written. Next to the last data corresponding to the row address, an empty area is designated by the column address CBdum, and dummy data is continuously written for 4 words.
[0111]
When writing to the bank B is completed, the starting column address is again moved from the bank A to the next, and the same control is performed. For example, in the above description, since the column address “4” is the first address, the adjacent column address “5” is the first address here. This control is repeated for the burst length, that is, four times. As a result, for example, all the data writing to the row address “0” shown in FIG. 13 is completed.
[0112]
When the writing of the inner code sequence starting from bank A is completed, the row address is incremented by one, and the inner code sequence starting from bank B is written as shown in FIG. 15C. The writing of the inner code sequence starting from the bank B is the same as the writing starting from the bank A in FIG. 15A except that the address designation is switched between the bank A and the bank B. Omitted.
[0113]
In this way, the control shown in FIGS. 15A and 15C is alternately performed while sequentially incrementing the row address. By performing such control, data is written in the arrangement as shown in FIGS. 13A and 13B described above in accordance with the order of the inner code series. When the writing to the row address '62' is completed, the writing of all data is completed.
[0114]
The reading of the inner code series is also performed by substantially the same control as the writing. That is, as shown in FIG. 15B, a predetermined row address of the bank A is activated by the active command RAx, and the interval tRCDAfter the elapse, a read command is input and a column address is designated. Data is read in units of burst length, reading of bank A is completed, and precharging is executed. And the interval tRPBank B is activated later, and reading from bank B is performed. After repeating this for the burst length, the row address is incremented, and reading of the inner code series from the bank B shown in FIG. 15D is started. In this way, the control shown in FIGS. 15B and 15D is alternately performed while sequentially incrementing the row address.
[0115]
In the case of reading, due to the presence of CAS latency, data is read with a delay of CAS latency with respect to the input of the active command. In the example shown in FIG. 15B, an active command RAx for activating a predetermined row address x of the bank A is input, and the interval tRCDThat is, a read command is input after 2 clocks, and a column address CA0 is designated. The data is read from the column address CA0 by CAS latency, that is, in this example in which the CAS latency is set to “2”, the data is read after two clocks from the designation of the column address CA0 by the read command. .
[0116]
Also, at the time of reading, a dummy read address is designated corresponding to the precharge at the time of switching the bank. At the time of reading, unlike data writing, data destruction or the like does not occur due to access to dummy data, so dummy data for three column addresses shorter than the burst length is read.
[0117]
By performing the control at the time of reading in this way, the data written as shown in FIG. 13 can be sequentially read in the inner code direction. As described above, with respect to the inner code series, only 8 clocks required for writing dummy data when writing data and 6 clocks required for reading dummy data when reading data are not wasted. is there.
[0118]
Next, the outer code sequence will be described with reference to FIG. Regarding the writing / reading of the outer code sequence, there are a sequence starting from bank A and a sequence starting from bank B. The sequence starting from bank A is for the first half of the inner code sequence, and the sequence starting from bank B is for the second half. FIG. 16A shows writing of the inner code sequence starting from bank A, and FIG. 16B shows reading starting from bank A. Similarly, FIG. 16C shows the writing of the inner code sequence starting from the bank B, and FIG. 16D shows the reading starting from the bank B.
[0119]
In the above inner code direction, data is written / read in the horizontal direction, that is, in the column direction with respect to the address space shown in FIG. On the other hand, in this outer code series, data is written / read in the vertical direction with respect to the address space, that is, in the row direction. Data is written / read so that the inner code sequence is continuous for each identical outer code sequence by incrementing the row address and specifying the address while alternately switching between bank A and bank B and interleaving. It can be performed.
[0120]
First, writing will be described. As shown in FIG. 13, the data (S0-D0) to be written first is arranged at the row address “0” and the column address “1” of the bank A. Therefore, as shown in FIG. 16A, the writing is started from the bank A, and the active command RA0 is input to activate the row address “0” of the bank A. Next, a column address is specified. Interval t from this active command RA0RCDAfter the elapse of (that is, 2 clocks), a write command with auto precharge is input, and a column address CAy for writing data is designated. By this write command, data is written in burst length units. Further, in this SDRAM 75, since one word is 16 bits, symbols each consisting of 8 bits are written two by two.
[0121]
For example, when y = 1, a set of data written to the same column address from column addresses “1” to “4”, that is, data S0-D0 and S0-D1, S1-D0 and S1-D1, S2-D0. And S2-D1, and S3-D0 and S3-D1 are continuously written. When this writing is completed, precharging is automatically started.
[0122]
The address to which the next data is to be written is the row address one level higher in the bank B as shown in FIG. Therefore, the bank is switched from bank A to bank B. While writing to the bank A is being performed, an active command RB1 for activating the row address “1” of the bank B is input. The active command RB1 is input after two clocks after the above-described write command with auto precharge specifying the column address CAy is input.
[0123]
Interval t after active command RB1 is inputRCDAfter (2 clocks), a write command with auto precharge is input, and a column address CBy for writing data is designated. Here, a column address “0” is designated. As in the case of bank A described above, 4 data × 2 (S4-D0 and S4-D1, S5-D0 and S5-D1, S6-D0 and S6- D1, S7-D0 and S7-D1) are written, and after being written, precharging is automatically performed.
[0124]
Further, while writing is being performed on the bank B, the active command RA2 of the bank A is input, and the next row address “2” of the bank A is activated. This active command RA2 is transmitted at an interval t from the data input previously made to bank A (from the clock in which S3-D0 was input in the above example).DALThat is, it is input after waiting for three clocks. Then, a write command with auto precharge is input two clocks after the active command RA2, and the column address CAy of the bank A is designated. In this example, the column address “0” is designated.
[0125]
Hereinafter, the row address is incremented and the address is designated while alternately switching between the bank A and the bank B. The column address is fixedly designated until writing to the row address '62'. Since the burst length is 4 and the number of data in the outer code direction is 250, a remainder of 2 data is generated at the end of writing. Here, two pieces of dummy data are written.
[0126]
When writing to the row address “62” is completed, the row address is returned to the address “0”, the column address CAy is incremented, and writing to the next column address is started. This is repeated, and when writing is performed to the address specified by the row address '62' and the column address '223', all writing of the first half of the inner code series is completed. Then, the second half writing of the inner code sequence is started. Writing in the latter half of this inner code sequence starts from bank B.
[0127]
The writing started from the bank B is performed in the same manner as the writing started from the bank A described above. As shown in FIG. 16C, an active command RB0 for activating bank B is input. An interval t from this active command RB0RCDAfter that, a write command with auto precharge is input and the column address CBy is designated. Since the writing started from the bank B is started from the column address “0”, y = 0 is set and the column address “0” is designated. While incrementing the row address and alternately switching between the bank B and the bank A, the column address is fixed for the banks A and B, and the address is designated. Data is written in burst length units continuously to the outer code sequence.
[0128]
Reading of the outer code series is performed by control substantially similar to writing. That is, for the read that starts from the bank A, as shown in FIG. 16B, the row address “0” of the bank A is activated by the active command RA0, and the interval tRCDAfter the elapse of time, a read command with auto precharge is input, the column address CAy is designated, and data is read from the designated column address CAy in burst length units. Further, an active command RB1 is input after two clocks of the read command, the bank B is activated, and the row address is incremented. The interval t from this active command RB1RCDAfter the elapse of time, a read command with auto precharge is input, the column address CBy is designated, and data is read from the designated column address CBy in units of burst length.
[0129]
As described above, the column address corresponding to each of the banks A and B is fixedly designated while incrementing the row address and alternately switching between the bank A and the bank B during reading. Thus, the address is designated, and the data of the same inner code sequence is read in burst length units continuously in the outer code direction. When the reading up to the row address “62” is completed, the column address is incremented and the reading is similarly started from the row address “0”. Thus, when all the readings started from the bank A are completed, the reading from the bank B shown in FIG. 16D is started. Reading from the bank B is performed by substantially the same control as the reading started from the bank A.
[0130]
At the time of reading, the CAS latency is limited, and the reading is started after the clock specified by the CAS latency elapses after the read command is input. Therefore, in this example, data reading is started two clocks after the column address CAy is designated by the read command.
[0131]
Further, when the CAS latency is 2, the auto precharge by the write command with auto precharge is started one clock before the burst data output last. For example, auto precharge by the first write command (CAy) with auto precharge in FIG. 16A is started at the data output timing of S2. In the same bank, the interval t from the start of pre-jersey to the input of an active commandRPRequired (2 clocks). After the elapse of two clocks, the next active command RA1 is input.
[0132]
Thus, according to this embodiment, for the outer code series, only two clocks required for writing dummy data at the time of data writing and only two clocks required for reading of dummy data at the time of reading are used. The clock is efficient without waste.
[0133]
As described above, in this example, writing and reading of the data of the inner code sequence is performed most efficiently when both are performed in units of one sync block, and the processing is shown in FIG. As can be seen, 122 clocks are required. Similarly, both the writing and reading of the outer code sequence data are performed most efficiently when the outer code sequence data shown in FIG. 12 is used as a unit. As can be seen from the diagram, 254 clocks are required for writing and 256 clocks are required for reading. The reason why the number of clocks required for writing and reading is different is that reading is started after a clock specified by CAS latency elapses after a read command is input due to the CAS latency limitation.
[0134]
If the processing is further decomposed for both the inner code sequence and the outer code sequence, the processing method differs, and the efficiency of data access in the SDRAM 75 is reduced. Therefore, the decomposition of each process is performed up to here, and the number of clocks for one slot is determined based on the decomposition result.
[0135]
Video data output after inner code and outer code correction processing, read / write for video data outer code correction, data write after inner code correction, and data read for audio outer code correction For each, the number of clocks in one slot is obtained. The number of clocks in one slot is determined so that the number of slots required for one frame is substantially equal for various processes. Thereby, various processes can be easily performed.
[0136]
In the video data output processing after the inner code and outer code correction processing, data is read from the SDRAM 75 in the inner code sequence direction. As shown in FIG. 15, the reading of the inner code series requires 122 clocks. At this time, an error flag is read together with the video data. Reading this error flag requires 32 clocks. Therefore, in this process, as shown in FIG. 11 described above, 122 clocks + 32 clocks = 154 clocks are allocated, and this is one slot in this process.
[0137]
One frame is composed of six segments, and one ECC decoder IC 60 processes one error correction block per segment. One error correction block consists of 226 sync blocks. Therefore, the number of slots per frame is 226 sync blocks / segment × 6 segments / frame = 1356 sync blocks / frame. As described above, since one sync block is one slot in writing / reading the inner code series, it is 1356 slots / frame. Actually, since other fine processing is added, 1400 slots / frame is required as shown in FIG.
[0138]
In the read / write processing for correcting the video data outer code, the SDRAM 75 is accessed in the outer code sequence direction. As shown in FIG. 16, in the access of the outer code series, 254 clocks are required for writing and 256 clocks are required for reading, and the required number of clocks is different. However, since the slot length needs to be fixed, one slot is set to 256 clocks as shown in FIG. 11 in accordance with the longer clock.
[0139]
As can be seen from FIG. 13 above, in the address assignment of the SDRAM 75, two data are assigned to one word. Therefore, when video data is written / read in the direction of the outer code sequence in accordance with the chart of FIG. 16, writing / reading of two outer code sequences can be performed by processing for one slot. Further, as can be seen from FIG. 12, in one azimuth, there are 217 outer code sequences per segment. Accordingly, the number of slots per frame is 217 outer code series / segments / 2 data / word × 2 (write / read) × 6 segments / frame = 1302 outer code series / frame. Since one outer code sequence is one slot, it is set to 1302 slots / frame. Actually, since detailed processing such as error flag processing is added, as shown in FIG. 11, 1350 slots / frame is required.
[0140]
Similarly, in data reading for audio outer code correction, in this example, one slot is set to 16 clocks as shown in FIG. Further, 1300 slots / 1 frame is required.
[0141]
In the data writing process after the inner code correction, data is written to the SDRAM 75 in the inner code sequence direction. This processing requires 122 clocks as shown in FIG.
[0142]
By the way, the data writing process after the inner code correction is a process in which inner code correction is performed on the data reproduced from the magnetic tape 6 and subjected to the predetermined process, and the inner code corrected data is written in the SDRAM 75. is there. Therefore, it is influenced by the jitter of the running speed of the tape and the rotating speed of the rotating drum. As described above, in order to absorb this jitter, a buffering process using a buffer (RAM) provided in the rate converters 63 and 67 is performed. Therefore, data writing to the SDRAM 75 is performed asynchronously. That is, it cannot be specified when data is written to the SDRAM 75.
[0143]
On the other hand, in buffering processing for absorbing jitter, for example, when data for 122 clocks is written in the SDRAM 75, data for one sync block is swept out of the buffer. This buffer needs to be controlled so that it never overflows with possible jitter. Therefore, for example, in this embodiment, processing is performed at a ratio of 1/2 of the whole. Based on the above consideration, the number of slots required for data writing after inner code correction is 1546887 clocks / frame ÷ 122 clocks / slot × 1/2 (ratio) = 6340 slots / frame when 122 clocks are one slot. It is said. By assigning 6340 slots per frame, the data after the inner code correction can be written to the SDRAM 75 without omission.
[0144]
As described above, in the present invention, one sequence configured by collecting all types of slots is repeated. For this reason, if 122 clocks are set to 1 slot in the writing process after the inner code correction as described above, 6340 slots / frames are required, and as a result, 6340 sequences / frames are required. However, since the other processing only requires about 1400 slots / frame at most, a useless sequence occurs.
[0145]
Therefore, in this embodiment, a plurality of data for one sync block in the data writing process after the inner code correction is collected so that the number of slots per frame is substantially equal to that of other processes, and one slot is obtained. . In this example, four sync blocks are grouped into one slot. That is, as shown in FIG. 11, the data write processing after the inner code correction is 582 clocks / slot, and the processing is concentrated on this one slot. In one frame, 1534 slots / frame is required.
[0146]
Note that the processing for grouping data for four sync blocks is performed by, for example, a RAM provided as a buffer for absorbing jitter in the above-described rate converters 63 and 67 having a capacity for three sync blocks. It is accompanied by. The output from this buffer is controlled by the inner code decoder 69 so that the data for four sync blocks are output together.
[0147]
Thus, by determining the slots for various processes, one sequence is set to 1008 clocks as shown in FIG. When a system clock of 46.4 MHz is used, 1534 sequences / frame is obtained, and all processing can be completed.
[0148]
Next, a modification of this embodiment will be described. This modification is an example in the case of high-speed playback. High-speed reproduction is performed by moving the magnetic tape 6 at high speed, and the magnetic head 7 traces while traversing the track diagonally. Therefore, data can be reproduced in sync block units, but one error correction block is not configured because data for one track cannot be reproduced. Therefore, there is no need to perform outer code correction.
[0149]
Further, by performing high speed reproduction, the relative speed between the data recorded on the magnetic tape 6 and the magnetic head 7 changes, and the rate of data reproduced from the magnetic tape 6 increases. For this reason, during high-speed playback, data write processing after inner code correction to the SDRAM 75 may increase. FIG. 17 is a time chart showing an example of access to the SDRAM 75 during high-speed playback. FIG. 17A and FIG. 17B show periods of data writing processing after inner code correction and reading processing for video data output, respectively. As in this example, during high-speed playback, data writing processing of 6 segments or more may occur in one frame. In the example of FIG. 17C, writing of 7 segments has occurred.
[0150]
In this modification, a slot for reading and writing for correcting the outer code of video data, which is not necessary at the time of high-speed reproduction, is diverted to the data writing process after the inner code correction. FIG. 18 is a time chart showing an example of SDRAM access during high-speed playback according to this modification. FIG. 18A shows a writing cycle of video data and audio data after inner code correction. FIG. 18B shows processing of video data and audio data. As shown in FIG. 18C, the data write processing slot (256 clocks) after inner code correction at normal speed reproduction and the read / write processing slot (582 clocks) for video data outer code correction are combined. Thus, a new slot for 838 clocks is set. This new slot is used as a slot for data write processing after inner code correction at high speed reproduction. Since the number of clocks is increased, the increased processing by high-speed reproduction can be sufficiently performed.
[0151]
In this case, since the video data output processing after the inner code and outer code correction processing and the data reading for audio outer code correction are not related to high-speed playback, as shown in FIG. It is processed in exactly the same way as during playback. As described above, by using the present invention, even if the reproduction mode is changed, it is possible to correspond to the processing only by changing only the slot affected by the change.
[0152]
【The invention's effect】
As described above, according to the present invention, a single SDRAM connected to the ECC decoder IC is used in time division processing to perform data write processing after inner code correction, read / write processing for video data outer code correction, A plurality of types of processing such as data reading processing for audio outer code correction and video data output processing after inner code and outer code correction are performed. Furthermore, each type of processing is clearly delimited as a slot. Therefore, there is an effect that design and verification can be performed for each process.
[0153]
Also, when multiple types of processing are performed in a time division manner in one SDRAM, if the processing is performed asynchronously, the processing times are related to each other, so that all processing is always completed. Must assume all cases. For this purpose, the simulation becomes enormous, the guarantee is difficult, and the reliability as a product is lowered. Therefore, design becomes difficult and the circuit scale increases.
[0154]
In the present invention, since various processes are fixed in slot units, it is possible to perform time division processing in a synchronous manner. Therefore, since it is only necessary to ensure that the processing is reliably completed in each given slot for each type of processing, the simulation for ensuring the reliability is simple and the risk of bugs is reduced. Therefore, there is an effect that the reliability of the product is improved and the circuit scale can be reduced.
[0155]
Further, when the processing is performed asynchronously, it is not known where various processing is performed, and verification after the ECC decoder IC is completed becomes very difficult. By using the present invention, complete synchronization in units of frames and complete synchronization within a sequence are realized, so that the timing at which various processes are performed is made constant, and verification can be performed very easily. .
[0156]
Furthermore, for example, during high-speed playback, the relative speed between the rotating drum (magnetic head) and the magnetic tape changes, and data writing after inner code correction to the SDRAM may increase. According to the modification of the present invention, it is not necessary at the time of high-speed reproduction, for example, the slot for the read / write process for video data outer code correction is diverted to the data write process slot after the inner code correction. There is an effect that can cope. At this time, there is no influence on the slots of other unrelated processes, and there is no need to change them. That is, there is a public A that can easily cope with the difference in processing depending on the mode of the video tape recorder only by diverting the slot.
[Brief description of the drawings]
FIG. 1 is a block diagram schematically showing an example of the configuration of a digital video recording / reproducing apparatus to which the present invention is applied.
FIG. 2 is a schematic diagram schematically illustrating an example of a configuration of an error correction block.
FIG. 3 is a schematic diagram schematically illustrating an example of a configuration of an error correction block.
FIG. 4 is a schematic diagram illustrating a configuration of one sync block in an error correction block.
FIG. 5 is a block diagram illustrating an example of a configuration of an ECC decoder IC.
FIG. 6 is a schematic diagram illustrating an example of a data configuration in one packet.
FIG. 7 is a schematic diagram showing an example of a format when reproduction data for one sync block is written to an SDRAM.
FIG. 8 is a schematic diagram showing row address assignment in an SDRAM.
FIG. 9 is a schematic diagram illustrating column address assignment in an SDRAM.
FIG. 10 is a time chart showing an example of SDRAM access during normal speed playback;
FIG. 11 is a time chart showing an example of time division processing for data writing and reading in the SDRAM;
FIG. 12 is a schematic diagram showing in detail an example of a data arrangement in an error correction block of video data.
FIG. 13 is a schematic diagram illustrating an example of address assignment in an SDRAM.
FIG. 14 is a schematic diagram showing a list of examples of constraints of SDRAM.
FIG. 15 is a timing chart for explaining writing / reading of an inner code sequence.
FIG. 16 is a timing chart for explaining writing / reading of an outer code sequence.
FIG. 17 is a time chart showing an example of SDRAM access during high-speed playback.
FIG. 18 is a time chart for explaining diversion of a slot.
FIG. 19 is a block diagram showing an example of a configuration of a conventional digital recording / reproducing apparatus using product code encoding.
[Explanation of symbols]
6 ... Magnetic tape, 7 ... Magnetic head for reproduction, 9 ... Inner code / outer code decoder, 10 ... RAM, 60 ... ECC decoder IC, 63, 67 ... Rate conversion 69 ... Inner code decoder, 74 ... Memory controller, 75 ... SDRAM, 76 ... Video data outer code decoder

Claims (10)

積符号を用いてエラー訂正符号化されたデータを復号化するエラー訂正装置において、
内符号訂正を行なう内符号デコーダと、
上記内符号訂正が行なわれた後に外符号訂正を行なう外符号デコーダと、
上記内符号デコーダによるエラー訂正が行なわれたデータおよび上記外符号によるエラー訂正が行なわれたデータとを格納するメモリと
を有し、
同一種類の処理が基準クロックにより規定されるスロットに分解され、複数の上記同一種類の処理の上記スロットにより1シーケンスが構成され、該1シーケンスが1フレームまたは1フィールドの期間で所定回数だけ繰り返されてエラー訂正処理をなすようにされ、
上記外符号訂正の必要が無い場合、上記メモリに対するビデオデータの上記外符号訂正のためのデータ読み出しおよび書き込み処理を行う上記スロットを、上記メモリに対する上記内符号訂正後のデータ書き込み処理を行う上記スロットとして転用するようにした
ことを特徴とするエラー訂正装置。
In an error correction apparatus that decodes data that has been error correction encoded using a product code,
An inner code decoder for performing inner code correction;
An outer code decoder for performing outer code correction after the inner code correction is performed;
A memory for storing data subjected to error correction by the inner code decoder and data subjected to error correction by the outer code;
The same type of processing is divided into slots defined by the reference clock, and a sequence is constituted by a plurality of the slots of the same type of processing, and the one sequence is repeated a predetermined number of times in the period of one frame or one field. Error correction processing ,
When there is no need for the outer code correction, the slot for performing the data reading and writing process for the outer code correction of the video data to the memory is the slot for performing the data writing process for the memory after the inner code correction. An error correction apparatus characterized by being diverted as:
請求項1に記載のエラー訂正装置において、
上記同一種類の処理は、上記メモリに対する上記内符号訂正後のデータ書き込み処理,上記メモリに対するビデオデータの上記外符号訂正のためのデータの読み出しおよび書き込み処理,およびデータ出力のための上記メモリからのデータの読み出し処理であることを特徴とするエラー訂正装置。
The error correction device according to claim 1,
The same type of processing includes data write processing after the inner code correction to the memory, data read and write processing for the outer code correction of video data to the memory, and data from the memory for data output. An error correction apparatus characterized by being a data reading process.
請求項2に記載のエラー訂正装置において、
上記同一種類の処理には、上記メモリからのオーディオデータの上記外符号訂正のためのデータの読み出し処理をさらに含むことを特徴とするエラー訂正装置。
The error correction device according to claim 2,
The same type of processing further includes a data reading process for correcting the outer code of the audio data from the memory.
請求項1に記載のエラー訂正装置において、
1フレーム期間の最初のシーケンスが基準フレームパルスと同期して開始されることを特徴とするエラー訂正装置。
The error correction device according to claim 1,
An error correction apparatus, wherein an initial sequence of one frame period is started in synchronization with a reference frame pulse.
請求項1に記載のエラー訂正装置において、
1シーケンス中での上記スロットの順番が固定的とされていることを特徴とするエラー訂正装置。
The error correction device according to claim 1,
An error correction apparatus characterized in that the order of the slots in one sequence is fixed.
請求項2に記載のエラー訂正装置において、
上記メモリに対する上記内符号訂正後のデータ書き込み処理の上記スロットと上記メモリに対するビデオデータの上記外符号訂正のためのデータの読み出しおよび書き込み処理の上記スロットとは、上記シーケンス中で隣接して配置されることを特徴とするエラー訂正装置。
The error correction device according to claim 2,
The slot for the data writing process after the inner code correction to the memory and the slot for the data reading and writing process for the outer code correction of the video data to the memory are arranged adjacent to each other in the sequence. An error correction device characterized by that.
請求項2に記載のエラー訂正装置において、
上記内符号デコーダの前段にバッファをさらに有し、上記メモリに対する上記内符号訂正後のデータ書き込み処理の上記スロットにおいて、上記バッファからデータが出力されるように制御することを特徴とするエラー訂正装置。
The error correction device according to claim 2,
An error correction apparatus, further comprising a buffer in front of the inner code decoder, wherein control is performed so that data is output from the buffer in the slot of the data writing process after the inner code correction to the memory. .
積符号を用いてエラー訂正符号化されたデータを復号化するエラー訂正装置を用いたディジタル信号再生装置において、
内符号訂正を行なう内符号デコーダと、
上記内符号訂正が行なわれた後に外符号訂正を行なう外符号デコーダと、
上記内符号デコーダによるエラー訂正が行なわれたデータおよび上記外符号によるエラー訂正が行なわれたデータとを格納するメモリと
を有し、
同一種類の処理が基準クロックにより規定されるスロットに分解され、複数の上記同一種類の処理の上記スロットにより1シーケンスが構成され、該1シーケンスが1フレームまたは1フィールドの期間で所定回数だけ繰り返されてエラー訂正処理をなすようにされ、上記外符号訂正の必要が無い場合、上記メモリに対するビデオデータの上記外符号訂正 のためのデータ読み出しおよび書き込み処理を行う上記スロットを、上記メモリに対する上記内符号訂正後のデータ書き込み処理を行う上記スロットとして転用するようにしたエラー訂正装置を備えた
ことを特徴とするディジタル信号再生装置。
In a digital signal reproduction device using an error correction device that decodes data that has been error correction encoded using a product code,
An inner code decoder for performing inner code correction;
An outer code decoder for performing outer code correction after the inner code correction is performed;
A memory for storing data subjected to error correction by the inner code decoder and data subjected to error correction by the outer code;
The same type of processing is divided into slots defined by the reference clock, and a sequence is constituted by a plurality of the slots of the same type of processing, and the one sequence is repeated a predetermined number of times in the period of one frame or one field. If the error correction process is performed and the outer code correction is not necessary , the slot for performing the data reading and writing process for the outer code correction of the video data to the memory is designated as the inner code for the memory. A digital signal reproducing device comprising an error correcting device adapted to be used as the slot for performing data writing processing after correction .
積符号を用いてエラー訂正符号化されたデータを復号化するエラー訂正方法において、
内符号訂正を行なう内符号デコードのステップと、
上記内符号訂正が行なわれた後に外符号訂正を行なう外符号デコードのステップと、
上記内符号デコードのステップによるエラー訂正が行なわれたデータをメモリに格納するステップと、
上記外符号デコードのステップによるエラー訂正が行なわれたデータを上記メモリに格納するステップと
を有し、
同一種類の処理が基準クロックにより規定されるスロットに分解され、複数の上記同一種類の処理の上記スロットにより1シーケンスが構成され、該1シーケンスが1フレームまたは1フィールドの期間で所定回数だけ繰り返されてエラー訂正処理をなすようにされ、
上記外符号訂正の必要が無い場合、上記メモリに対するビデオデータの上記外符号訂正のためのデータ読み出しおよび書き込み処理を行う上記スロットを、上記メモリに対する上記内符号訂正後のデータ書き込み処理を行う上記スロットとして転用するようにした
ことを特徴とするエラー訂正方法。
In an error correction method for decoding data that has been error correction encoded using a product code,
An inner code decoding step for inner code correction;
An outer code decoding step of performing outer code correction after the inner code correction is performed;
Storing the error correction by the step of the inner code decode has been performed the data in the memory,
The error correction by the step of the outer code decoding is performed data have <br/> and storing in the memory,
The same type of processing is divided into slots defined by the reference clock, and a sequence is constituted by a plurality of the slots of the same type of processing, and the one sequence is repeated a predetermined number of times in the period of one frame or one field. Error correction processing ,
When there is no need for the outer code correction, the slot for performing the data reading and writing process for the outer code correction of the video data to the memory is the slot for performing the data writing process after the inner code correction to the memory. An error correction method characterized by being diverted as :
積符号を用いてエラー訂正符号化されたデータを復号化するエラー訂正方法を用いたディジタル信号再生方法において、
内符号訂正を行なう内符号デコードのステップと、
上記内符号訂正が行なわれた後に外符号訂正を行なう外符号デコードのステップと、
上記内符号デコードのステップによるエラー訂正が行なわれたデータをメモリに格納するステップと、
上記外符号デコードのステップによるエラー訂正が行なわれたデータを上記メモリに格納するステップと
を有し、
同一種類の処理が基準クロックにより規定されるスロットに分解され、複数の上記同一種類の処理の上記スロットにより1シーケンスが構成され、該1シーケンスが1フレームまたは1フィールドの期間で所定回数だけ繰り返されてエラー訂正処理をなすようにされ、上記外符号訂正の必要が無い場合、上記メモリに対するビデオデータの上記外符号訂正のためのデータ読み出しおよび書き込み処理を行う上記スロットを、上記メモリに対する上記内符号訂正後のデータ書き込み処理を行う上記スロットとして転用するようにしたエラー訂正方法を用いた
ことを特徴とするディジタル信号再生方法。
In a digital signal reproduction method using an error correction method for decoding error correction encoded data using a product code,
An inner code decoding step for inner code correction;
An outer code decoding step of performing outer code correction after the inner code correction is performed;
Storing the error correction by the step of the inner code decode has been performed the data in the memory,
The error correction by the step of the outer code decoding is performed data have <br/> and storing in the memory,
The same type of processing is divided into slots defined by the reference clock, and a sequence is constituted by a plurality of the slots of the same type of processing, and the one sequence is repeated a predetermined number of times in the period of one frame or one field. If the error correction process is performed and the outer code correction is not necessary, the slot for performing the data reading and writing process for the outer code correction of the video data to the memory is designated as the inner code for the memory. A digital signal reproduction method using an error correction method diverted as the slot for performing data writing processing after correction .
JP20029597A 1997-07-25 1997-07-25 Error correction apparatus and method, and digital signal reproduction apparatus and method Expired - Fee Related JP3744134B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20029597A JP3744134B2 (en) 1997-07-25 1997-07-25 Error correction apparatus and method, and digital signal reproduction apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20029597A JP3744134B2 (en) 1997-07-25 1997-07-25 Error correction apparatus and method, and digital signal reproduction apparatus and method

Publications (2)

Publication Number Publication Date
JPH1146146A JPH1146146A (en) 1999-02-16
JP3744134B2 true JP3744134B2 (en) 2006-02-08

Family

ID=16421949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20029597A Expired - Fee Related JP3744134B2 (en) 1997-07-25 1997-07-25 Error correction apparatus and method, and digital signal reproduction apparatus and method

Country Status (1)

Country Link
JP (1) JP3744134B2 (en)

Also Published As

Publication number Publication date
JPH1146146A (en) 1999-02-16

Similar Documents

Publication Publication Date Title
KR950007945B1 (en) Data recording &amp; reproducing system
TW556161B (en) Method and apparatus for data reproduction
US6216245B1 (en) Error correction coding method and apparatus thereof, error correction decoding method apparatus thereof, data recording and reproducing apparatus, and recording medium
US6158026A (en) Scrambling apparatus, method thereof, descrambling apparatus, and method thereof
JP3744134B2 (en) Error correction apparatus and method, and digital signal reproduction apparatus and method
JP3809719B2 (en) Digital video signal processing apparatus and method, digital video signal reproduction apparatus, decoding apparatus and method, and reproduction apparatus and method
JP3834922B2 (en) Error correction apparatus and method
JPH1145188A (en) Device and method for correcting error, and device and method for reproducing digital signal
JP2702950B2 (en) PCM signal recording / reproducing device
JPH077581B2 (en) Rotating head type PCM magnetic recording / reproducing apparatus
JP3592597B2 (en) Error correction device and program recording medium
JPH09246998A (en) Error correction device
JP3305152B2 (en) Data transmission method
JPH09246997A (en) Error correction device
JP4257656B2 (en) Audio data processing device
JP3755237B2 (en) Digital signal processing apparatus and method
JPH0783275B2 (en) Error correction code decoding device
JPH09246996A (en) Error correction device
KR100195016B1 (en) Memory Control Circuit and Method of Digital Video Disc Playback Device
KR100301486B1 (en) Signal processing method for recording and reproducing logntime of magnetic rcording and reproducing apparatus
JPH08125548A (en) Encoding circuit, decoding circuit and encoding/decoding circuit for error correction, and digital device using the circuits
JPH10275427A (en) Device and method for correcting error
JPH10340549A (en) Digital signal processor and its method
JPS61271671A (en) Processing device for error information
JPS62150559A (en) Pcm signal recording and reproducing device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051012

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051114

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

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121202

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees