JP3978903B2 - Data recording apparatus, data recording method, data processing apparatus, and data processing method - Google Patents

Data recording apparatus, data recording method, data processing apparatus, and data processing method Download PDF

Info

Publication number
JP3978903B2
JP3978903B2 JP32230198A JP32230198A JP3978903B2 JP 3978903 B2 JP3978903 B2 JP 3978903B2 JP 32230198 A JP32230198 A JP 32230198A JP 32230198 A JP32230198 A JP 32230198A JP 3978903 B2 JP3978903 B2 JP 3978903B2
Authority
JP
Japan
Prior art keywords
data
image data
length
processing
variable
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
JP32230198A
Other languages
Japanese (ja)
Other versions
JP2000152176A (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 JP32230198A priority Critical patent/JP3978903B2/en
Publication of JP2000152176A publication Critical patent/JP2000152176A/en
Application granted granted Critical
Publication of JP3978903B2 publication Critical patent/JP3978903B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、可変長の画像データと共に、可変長の非画像データを記録するために適用されるデータ記録装置、データ記録方法、データ処理装置、およびデータ処理方法に関する
【0002】
【従来の技術】
ディジタルVTR(VIdeo Tape Recorder) に代表されるように、ディジタル画像信号を記録媒体に記録し、また、記録媒体から再生するようなデータ記録再生装置が知られている。ディジタル画像記録機器における記録処理部では、ビデオおよびオーディオのディジタルデータを所定長のパケットに格納し、パケット単位にデータの内容を示す情報、エラー訂正符号の符号化を行い、パケット化されたデータ、エラー訂正符号のパリティ等に対して、同期パターン、IDを付加してシンクブロックを構成し、シンクブロックの単位でシリアルデータに変換し、回転ヘッドにより磁気テープに記録される。記録側において、データをシンクブロックのデータ領域に詰め込む処理をパッキングと称し、再生側において、シンクブロックのデータ領域からデータを取り出す処理をデパッキングと称する。また、積符号を使用している時には、パッキングによって積符号のECC(Error Correctig Code)ブロックの1行分の長さにデータを詰め込まれる。
【0003】
画像データのデータ量を圧縮するために、圧縮符号化がなされる。例えばMPEG(Moving Picture Experts Group)の場合には、DCT(Discrete Cosine Transform) により生じた係数データを可変長符号化する。ヘリカルスキャン型のVTRのように、1トラックまたは所定数のトラック当たりに記録できるデータ量が固定されている時には、所定期間に発生する可変長符号のデータ量が目標値以下となるように、データ量が制御される。そして、所定期間に対して用意されている複数のシンクブロックのデータ領域に可変長符号化データ、すなわち、不等長データをパッキングするようになされる。
【0004】
MPEGにおいて、画像データは、シーケンス、GOP(Group Of Picture)、ピクチャ、スライス、マクロブロック、ブロックの6層の階層構造を有しており、各階層の多重化処理がなされる。多重化処理は、MPEGにおいてシンタックス(syntax)として規定されており、ピクチャデータ以外に、PES(Packetized Elementary Stream)ヘッダ、シーケンスヘッダ、GOPヘッダ、スライスヘッダ等のヘッダ情報が多重化される。ヘッダ情報は、ピクチャデータの復号等の処理にとって必要なものであり、MPEGのエレメンタリストリームを記録/再生する時には、ピクチャデータと共にヘッダ情報を記録/再生することが必要となる。ヘッダ情報を記録/再生する一つの方法としては、ヘッダ情報の全体またはその中で、再生にとって必要最小限のデータを固定長データとして記録/再生することが考えられる。
【0005】
しかしながら、ヘッダ情報のデータ量を固定長データとして扱うことが難しい場合がある。一つには、種々の画像データのフォーマットが存在し、ヘッダ情報のデータ量が変動する。例えばアメリカのディジタルテレビジョン放送の画像フォーマットは、18種類存在している。第2には、ビデオインデックスのデータとか、特定ライン上に多重化されるアンシラリイデータ(クローズドキャプション、テレテキスト、垂直ブランキング期間のタイムコード(VITC)等)をビデオエレメンタリストリームとして伝送するために、ピクチャヘッダ中のユーザデータに挿入する場合には、ユーザデータのデータ量が変動する。
【0006】
このように、本来の画像データでないにもかかわらず、そのデータ長が可変であるデータ(ヘッダ情報、ビデオインデックス、アンシラリイデータ等であり、これらを総称してピクチャデータ以外という意味で非画像データと称する)を記録するためには、個々の記録すべき画像フォーマットを考慮して記録領域を割り当てる必要があり、また、発生しうるデータ量の最大量を記録可能な記録領域を確保する必要がある。
【0007】
画像フォーマットが1種類あるいは2種類程度である場合には、データ量の変動幅を比較的小さく、個々の画像フォーマットに対応して非画像データの記録領域をテープ上で設定することは、それほど難しくない。しかしながら、画像フォーマットの種類が多いと、非画像データのデータ量の変動幅が大きくなったり、予測できなくなり、非画像データ用の記録領域を設定することが難しくなる。また、発生しうるデータ量の最大量を記録可能な領域を設定すると、データ量が多くない時には、テープ上で記録に使用されない無駄な領域が生じ、テープの記録容量を有効に利用できない。そこで、本願出願人は、これらの問題を回避するために、可変長の非画像データを画像データと同等に扱って記録することを提案している。
【0008】
ここで、パッキング処理の対象のデータが1フレーム期間の画像データのように、大きい場合には、パッキング処理のために使用するメモリが大容量となる。そのためパッキング処理部と同一半導体基板に集積することは難しく、また、コストが上昇する。そこで、メモリとしては、記録処理部から独立した単独のデバイス(素子)を用いることとなる。現在の技術では、記録処理部を集積回路の構成としても、なるべく低いコストでメインメモリを構成しようとすると、DRAM(Dynamic Random Access Memory)、EDO(Extended data out) −RAM、SDRAM(Synchronous Dynamic Random Access Memory)といったDRAM系のデバイスを用いることが現実的である。さらに、速度を考慮すると、SDRAMを使用することが多い。
【0009】
また、ディジタルVTRでは、画像の他にオーディオデータも記録する必要がある。そのために、SDRAMには、オーディオデータも書込まれ、記録処理を受ける。また、画像データおよびオーディオデータのそれぞれの順序を1フィールドあるいは1フレーム単位で並び替えることによって、エラー耐性を高めるためのシャフリング処理を行う場合では、その処理のためにSDRAMが使用されることがある。
【0010】
このようなSDRAMを備える記録処理部に対する画像データの転送について検討する。SDRAMに対する転送能力は、SDRAMのバス幅と、与えているクロックによって決まる。一つの転送方法として、画像データを連続的に転送するものが考えられる。SDRAMに与えるクロック数は、SDRAMに対してアクセスするデータ量の瞬間最大アクセスレートに備えられている必要がある。若し、画像データをSDRAMに対して書込み可能とするためには、それ相当のクロック数を与える必要がある。例えばビデオデータのインターフェースクロックを27MHzとし、データ幅を16ビットとし、SDRAMのバス幅を32ビットとした場合には、ビデオデータのみをSDRAMに書込み、読出すのに、
27MHz×16ビット×2(ライトとリード)/32ビット=27MHz
以上のクロックが必要である。
【0011】
実際には、SDRAMのデータを保持するためのリフレッシュや、ロウアドレスを変更するためのプリチャージの際に待ち動作が生じてしまう。この待ち動作に関する量もクロックを高くする必要がある。さらに、オーディオデータも処理する場合には、より高い周波数のクロックが必要となる。従って、現実的には、画像データおよびオーディオデータを連続的に転送するのは難しい。
【0012】
従って、画像データをSDRAMを使用する処理部に転送する時に、画像データ以外のデータをSDRAMで処理するために、画像データの処理中にSDRAMに対するアクセスの空き期間を作る必要がある。その一つの方法として、画像データの1フレームをバースト的に転送し、1フレーム毎の空き期間を作る方法が考えられる。この方法では、画像データの処理が終わるまで、1フレーム分のオーディオデータを蓄積するバッファメモリが必要となる。または、画像データと時分割でオーディオデータを処理するために、バンド幅を広げる必要がある。バンド幅が高いと消費電力が増大する。従って、1フレーム毎に空き期間を作る方法は、好ましくない。
【0013】
他の方法として、MPEGのスライス単位毎に転送しない期間を作成して、SDRAMに対する転送レートを下げることが考えられる。しかしながら、上述した非画像データのユーザデータ部分に大量のデータが含まれていると、非画像データからなるスライスの長さがおおきくなり、SDRAMに対する連続転送になってしまい、他のデータの処理が連続転送の間できなくなる問題が生じる。
【0014】
従って、この発明の目的は、上述したようなオーディオバッファ用メモリを必要とする問題、消費電力の増大、非画像データの転送時の問題を解決することができるデータ記録装置、データ記録方法、データ処理装置、およびデータ処理方法を提供することにある。
【0015】
【課題を解決するための手段】
上述した課題を解決するために、請求項1の発明は、画像データおよびオーディオデータを記録媒体に記録するデータ記録装置において、
画像データを圧縮符号化することにより発生した可変長画像データと、可変長画像データと関連するヘッダ等の非画像データとを含むストリームであって、可変長画像データを処理部へ転送可能な期間毎に、転送しない期間を設けたストリームと、ストリームと同期して転送可能な期間内で転送されるデータの長さを示すイネーブル信号を出力するストリーム変換部と、
ストリームおよびイネーブル信号が入力され、イネーブル信号からデータの長さを検出する処理と、可変長画像データおよび非画像データを複数の固定枠に配置し、固定枠からはみ出すオーバーフローデータを他の固定枠に生じた空き領域に詰め込むパッキング処理と、エラー訂正符号化の処理、転送しない期間においてなされるオーディオデータのエラー訂正符号化の処理を行う処理部と、
処理部の出力データに対して同期信号を付加し、シンクブロックを形成する同期信号付加部と、
同期信号付加部からのシンクブロックが連続する出力信号を記録媒体に記録する記録手段とからなることを特徴とするデータ記録装置である。
【0016】
請求項の発明は、画像データおよびオーディオデータを記録媒体に記録するデータ記録方法において、
画像データを圧縮符号化することにより発生した可変長画像データと、可変長画像データと関連するヘッダ等の非画像データとを含むストリームであって、可変長画像データを処理部へ転送可能な期間毎に、転送しない期間を設けたストリームと、ストリームと同期して転送可能な期間内で転送されるデータの長さを示すイネーブル信号とを、ストリーム変換部が出力するステップと、
ストリームおよびイネーブル信号が入力され、イネーブル信号からデータの長さを検出する処理と、可変長画像データおよび非画像データを複数の固定枠に配置し、固定枠からはみ出すオーバーフローデータを他の固定枠に生じた空き領域に詰め込むパッキング処理と、エラー訂正符号化の処理と、転送しない期間においてなされるオーディオデータのエラー訂正符号化の処理とを行う処理ステップと、
処理ステップからの出力データに対して同期信号を付加し、シンクブロックを形成する同期信号付加ステップと、
同期信号付加ステップからのシンクブロックが連続する出力信号を記録媒体に記録する記録ステップとからなることを特徴とするデータ記録方法である。
【0017】
請求項7の発明は、画像データおよびオーディオデータを処理するデータ処理装置において、
画像データを圧縮符号化することにより発生した可変長画像データと、可変長画像データと関連するヘッダ等の非画像データとを含むストリームであって、可変長画像データを処理部へ転送可能な期間毎に、転送しない期間を設けたストリームと、ストリームと同期して転送可能な期間内で転送されるデータの長さを示すイネーブル信号を出力するストリーム変換部と、
ストリームおよびイネーブル信号が入力され、イネーブル信号からデータの長さを検出する処理と、可変長画像データおよび非画像データを複数の固定枠に配置し、固定枠からはみ出すオーバーフローデータを他の固定枠に生じた空き領域に詰め込むパッキング処理と、エラー訂正符号化の処理と、転送しない期間においてなされるオーディオデータのエラー訂正符号化の処理とを行う処理部とからなることを特徴とするデータ処理装置である。
請求項8の発明は、画像データおよびオーディオデータを処理するデータ処理方法において、
画像データを圧縮符号化することにより発生した可変長画像データと、可変長画像データと関連するヘッダ等の非画像データとを含むストリームであって、可変長画像データを処理部へ転送可能な期間毎に、転送しない期間を設けたストリームと、ストリームと同期して転送可能な期間内で転送されるデータの長さを示すイネーブル信号とを、ストリーム変換部が出力するステップと、
ストリームおよびイネーブル信号が入力され、イネーブル信号からデータの長さを検出する処理と、可変長画像データおよび非画像データを複数の固定枠に配置し、固定枠からはみ出すオーバーフローデータを他の固定枠に生じた空き領域に詰め込むパッキング処理と、エラー訂正符号化の処理と、転送しない期間においてなされるオーディオデータのエラー訂正符号化の処理とを行う処理ステップとからなることを特徴とするデータ処理方法である。
【0018】
画像データは、所定範囲例えばマクロブロックに対応して発生した不等長データからなる。また、画像データの復元に必要な情報、ユーザデータ等の非画像データも発生する。これらの画像データおよび非画像データを転送する時に、データ転送可能な期間中に、データを転送しない期間を設ける。それによって、転送されたデータを受け取った回路ブロックは、空き期間において、他のデータ例えばオーディオデータを処理することができる。従って、オーディオ用のバッファメモリを持つ必要がない。非画像データのデータ量が大きくなっても、所定周期で空き期間が存在するので、連続的転送とならず、バンド幅を高くする必要がない。転送されたデータを受け取った回路ブロックでは、DRAMを使用して非画像データを画像データと同等に扱って、固定枠にパッキングする。また、画像データに対するエラー訂正符号化およびオーディオデータに対するエラー訂正符号化の処理を行う。
【0019】
【発明の実施の形態】
以下、この発明をディジタルVTRに対して適用した一実施形態について説明する。この一実施形態は、放送局の環境で使用して好適なもので、互いに異なる複数のフォーマットのビデオ信号の記録・再生を可能とするものである。例えば、NTSC方式に基づいたインターレス走査で有効ライン数が480本の信号(480i信号)およびPAL方式に基づいたインターレス走査で有効ライン数が576本の信号(576i信号)の両者を殆どハードウエアを変更せずに記録・再生することが可能とされる。さらに、インターレス走査でライン数が1080本の信号(1080i信号)、プログレッシブ走査(ノンインターレス)でライン数がそれぞれ480本、720本、1080本の信号(480p信号、720p信号、1080p信号)などの記録・再生も行うようにできる。
【0020】
また、この一実施形態では、ビデオ信号は、MPEG2方式に基づき圧縮符号化される。周知のように、MPEG2は、動き補償予測符号化と、DCTによる圧縮符号化とを組み合わせたものである。MPEG2のデータ構造は、階層構造をなしており、下位から、ブロック層、マクロブロック層、スライス層、ピクチャ層、GOP層およびシーケンス層となっている。
【0021】
ブロック層は、DCTを行う単位であるDCTブロックからなる。マクロブロック層は、複数のDCTブロックで構成される。スライス層は、ヘッダ部と、行間をまたがらない任意個のマクロブロックより構成される。ピクチャ層は、ヘッダ部と、複数のスライスとから構成される。ピクチャは、1画面に対応する。GOP層は、ヘッダ部と、フレーム内符号化に基づくピクチャであるIピクチャと、予測符号化に基づくピクチャであるPおよびBピクチャとから構成される。
【0022】
Iピクチャ(Intra-coded picture:イントラ符号化画像) は、符号化されるときその画像1枚の中だけで閉じた情報を使用するものである。従って、復号時には、Iピクチャ自身の情報のみで復号できる。Pピクチャ(Predictive-coded picture :順方向予測符号化画像)は、予測画像(差分をとる基準となる画像)として、時間的に前の既に復号されたIピクチャまたはPピクチャを使用するものである。動き補償された予測画像との差を符号化するか、差分を取らずに符号化するか、効率の良い方をマクロブロック単位で選択する。Bピクチャ(Bidirectionally predictive-coded picture :両方向予測符号化画像)は、予測画像(差分をとる基準となる画像)として、時間的に前の既に復号されたIピクチャまたはPピクチャ、時間的に後ろの既に復号されたIピクチャまたはPピクチャ、並びにこの両方から作られた補間画像の3種類を使用する。この3種類のそれぞれの動き補償後の差分の符号化と、イントラ符号化の中で、最も効率の良いものをマクロブロック単位で選択する。
【0023】
従って、マクロブロックタイプとしては、フレーム内符号化(Intra) マクロブロックと、過去から未来を予測する順方向(Foward)フレーム間予測マクロブロックと、未来から過去を予測する逆方向(Backward)フレーム間予測マクロブロックと、前後両方向から予測する両方向マクロブロックとがある。Iピクチャ内の全てのマクロブロックは、フレーム内符号化マクロブロックである。また、Pピクチャ内には、フレーム内符号化マクロブロックと順方向フレーム間予測マクロブロックとが含まれる。Bピクチャ内には、上述した4種類の全てのタイプのマクロブロックが含まれる。
【0024】
GOPには、最低1枚のIピクチャが含まれ、PおよびBピクチャは、存在しなくても許容される。最上層のシーケンス層は、ヘッダ部と複数のGOPとから構成される。
【0025】
MPEGのフォーマットにおいては、スライスが1つの可変長符号系列である。可変長符号系列とは、可変長符号を復号化しなければデータの境界を検出できない系列である。
【0026】
また、シーケンス層、GOP層、ピクチャ層、スライス層およびマクロブロック層の先頭には、それぞれ、バイト単位に整列された所定のビットパターンを有する識別コード(スタートコードと称される)が配される。なお、上述した各層のヘッダ部は、ヘッダ、拡張データまたはユーザデータをまとめて記述したものである。シーケンス層のヘッダには、画像(ピクチャ)のサイズ(縦横の画素数)等が記述される。GOP層のヘッダには、タイムコードおよびGOPを構成するピクチャ数等が記述される。
【0027】
スライス層に含まれるマクロブロックは、複数のDCTブロックの集合であり、DCTブロックの符号化系列は、量子化されたDCT係数の系列を0係数の連続回数(ラン)とその直後の非0系列(レベル)を1つの単位として可変長符号化したものである。マクロブロックならびにマクロブロック内のDCTブロックには、バイト単位に整列した識別コードが付加されない。
【0028】
マクロブロックは、画面(ピクチャ)を16画素×16ラインの格子状に分割したものである。スライスは、例えばこのマクロブロックを水平方向に連結してなる。連続するスライスの前のスライスの最後のマクロブロックと、次のスライスの先頭のマクロブロックとは連続しており、スライス間でのマクロブロックのオーバーラップを形成することは、許されていない。また、画面のサイズが決まると、1画面当たりのマクロブロック数は、一意に決まる。
【0029】
一方、復号および符号化による信号の劣化を避けるためには、符号化データ上で編集することが望ましい。このとき、PピクチャおよびBピクチャは、その復号に、時間的に前のピクチャあるいは前後のピクチャを必要とする。そのため、編集単位を1フレーム単位とすることができない。この点を考慮して、この一実施形態では、1つのGOPが1枚のIピクチャからなるようにしている。
【0030】
また、例えば1フレーム分の記録データが記録される記録領域が所定のものとされる。MPEG2では、可変長符号化を用いているので、1フレーム期間に発生するデータを所定の記録領域に記録できるように、1フレーム分の発生データ量が制御される。さらに、この一実施形態では、磁気テープへの記録に適するように、1スライスを1マクロブロックから構成すると共に、1マクロブロックを、所定長の固定枠に当てはめる。MPEGでは、1スライスを1ストライプ(16ライン)で構成するのが普通であり、画面の左端から可変長符号化が始まり、右端で終わる。従って、VTRによってそのままMPEGエレメンタリストリームを記録した場合、高速再生時に、再生できる部分が画面の左端に集中し、均一に更新することができない。また、データのテープ上の配置を予測できないため、テープパターンを一定の間隔でトレースしたのでは、均一な画面更新ができなくなる。さらに、1箇所でもエラーが発生すると、画面右端まで影響し、次のスライスヘッダが検出されるまで復帰できない。このために、1スライスを1マクロブロックで構成するようにしている。
【0031】
図1は、この一実施形態による記録再生装置の記録側の構成の一例を示す。記録時には、所定のインターフェース例えばSDI(Serial Data Interface) の受信部を介してディジタルビデオ信号が端子101から入力される。SDIは、(4:2:2)コンポーネントビデオ信号とディジタルオーディオ信号と付加的データとを伝送するために、SMPTEによって規定されたインターフェイスである。入力ビデオ信号は、ビデオエンコーダ102においてDCT(Discrete Cosine Transform) の処理を受け、係数データに変換され、係数データが可変長符号化される。ビデオエンコーダ102からの可変長符号化(VLC)データは、MPEG2に準拠したエレメンタリストリームである。この出力は、セレクタ103の一方の入力端に供給される。
【0032】
一方、入力端子104を通じて、ANSI/SMPTE 305Mによって規定されたインターフェイスである、SDTI(Serial Data Transport Interface) のフォーマットのデータが入力される。この信号は、SDTI受信部105で同期検出される。そして、バッファに一旦溜め込まれ、エレメンタリストリームが抜き出される。抜き出されたエレメンタリストリームは、セレクタ103の他方の入力端に供給される。
【0033】
セレクタ103で選択され出力されたエレメンタリストリームは、ストリームコンバータ106に供給される。ストリームコンバータ106では、MPEG2の規定に基づきDCTブロック毎に並べられていたDCT係数を、1マクロブロックを構成する複数のDCTブロックを通して、周波数成分毎にまとめ、まとめた周波数成分を並べ替える。また、ストリームコンバータ106は、エレメンタリストリームの1スライスが1ストライプの場合には、1スライスを1マクロブロックからなるものにする。さらに、ストリームコンバータ106は、1マクロブロックで発生する可変長データの最大長を所定長に制限する。これは、高次のDCT係数を0とすることでなしうる。並べ替えられた変換エレメンタリストリームは、パッキングおよびシャフリング部107に供給される。
【0034】
エレメンタリストリームのビデオデータは、可変長符号化されているため、各マクロブロックのデータの長さが不揃いである。パッキングおよびシャフリング部107では、マクロブロックが固定枠に詰め込まれる。このとき、固定枠からはみ出たオーバーフロー部分は、固定枠のサイズに対して空いている領域に順に詰め込まれる。また、画像フォーマット、シャフリングパターンのバージョン等の情報を有するシステムデータが入力端子108からパッキングおよびシャフリング部107に供給され、ピクチャデータと同様にシステムデータが記録処理を受ける。システムデータは、ビデオAUXとして記録される。また、走査順に発生する1フレームのマクロブロックを並び替え、テープ上のマクロブロックの記録位置を分散させるシャフリングが行われる。シャフリングによって、変速再生時に断片的にデータが再生される時でも、画像の更新率を向上させることができる。
【0035】
パッキングおよびシャフリング部107からのビデオデータおよびシステムデータ(以下、特に必要な場合を除き、システムデータを含む場合も単にビデオデータと言う。)が外符号エンコーダ109に供給される。ビデオデータおよびオーディオデータに対するエラー訂正符号としては、積符号が使用される。積符号は、ビデオデータまたはオーディオデータの2次元配列の縦方向に外符号の符号化を行い、その横方向に内符号の符号化を行い、データシンボルを2重に符号化するものである。外符号および内符号としては、リードソロモンコード(Reed-Solomon code) を使用できる。
【0036】
外符号エンコーダ109の出力がシャフリング部110に供給され、複数のECCブロックにわたってシンクブロック単位で順番を入れ替える、シャフリングがなされる。シンクブロック単位のシャフリングによって特定のECCブロックにエラーが集中することが防止される。シャフリング部110でなされるシャフリングをインターリーブと称することもある。シャフリング部110の出力が混合部111に供給され、オーディオデータと混合される。なお、混合部111は、後述のように、メインメモリにより構成される。
【0037】
112で示す入力端子からオーディオデータが供給される。この一実施形態では、非圧縮のディジタルオーディオ信号が扱われる。ディジタルオーディオ信号は、入力側のSDI受信部(図示しない)またはSDTI受信部105で分離されたもの、またはオーディオインターフェースを介して入力されたものである。入力ディジタルオーディオ信号が遅延部113を介してAUX付加部114に供給される。遅延部113は、オーディオ信号とビデオ信号と時間合わせ用のものである。入力端子115から供給されるオーディオAUXは、補助的データであり、オーディオデータのサンプリング周波数等のオーディオデータに関連する情報を有するデータである。オーディオAUXは、AUX付加部114にてオーディオデータに付加され、オーディオデータと同等に扱われる。
【0038】
AUX付加部114からのオーディオデータおよびAUX(以下、特に必要な場合を除き、AUXを含む場合も単にオーディオデータと言う。)が外符号エンコーダ116に供給される。外符号エンコーダ116は、オーディオデータに対して外符号の符号化を行う。外符号エンコーダ116の出力がシャフリング部117に供給され、シャフリング処理を受ける。オーディオシャフリングとして、シンクブロック単位のシャフリングと、チャンネル単位のシャフリングとがなされる。
【0039】
シャフリング部117の出力が混合部111に供給され、ビデオデータとオーディオデータが1チャンネルのデータとされる。混合部111の出力がID付加部118が供給され、ID付加部118にて、シンクブロック番号を示す情報等を有するIDが付加される。ID付加部118の出力が内符号エンコーダ119に供給され、内符号の符号化がなされる。さらに、内符号エンコーダ119の出力が同期付加部120に供給され、シンクブロック毎の同期信号が付加される。同期信号が付加されることによってシンクブロックが連続する記録データが構成される。この記録データが記録アンプ121を介して回転ヘッド122に供給され、磁気テープ123上に記録される。回転ヘッド122は、実際には、隣接するトラックを形成するヘッドのアジマスが互いに異なる複数の磁気ヘッドが回転ドラムに取り付けられたものである。
【0040】
記録データに対して必要に応じてスクランブル処理を行っても良い。また、記録時にディジタル変調を行っても良く、さらに、パーシャル・レスポンスクラス4とビタビ符号を使用しても良い。
【0041】
図2は、この発明の一実施形態の再生側の構成の一例を示す。磁気テープ123から回転ヘッド122で再生された再生信号が再生アンプ131を介して同期検出部132に供給される。再生信号に対して、等化や波形整形などがなされる。また、ディジタル変調の復調、ビタビ復号等が必要に応じてなされる。同期検出部132は、シンクブロックの先頭に付加されている同期信号を検出する。同期検出によって、シンクブロックが切り出される。
【0042】
同期検出ブロック132の出力が内符号エンコーダ133に供給され、内符号のエラー訂正がなされる。内符号エンコーダ133の出力がID補間部134に供給され、内符号によりエラーとされたシンクブロックのID例えばシンクブロック番号が補間される。ID補間部134の出力が分離部135に供給され、ビデオデータとオーディオデータとが分離される。上述したように、ビデオデータは、MPEGのイントラ符号化で発生したDCT係数データおよびシステムデータを意味し、オーディオデータは、PCM(Pulse Code Modulation) データおよびAUXを意味する。
【0043】
分離部135からのビデオデータがデシャフリング部136において、シャフリングと逆の処理がなされる。デシャフリング部136は、記録側のシャフリング部110でなされたシンクブロック単位のシャフリングを元に戻す処理を行う。デシャフリング部136の出力が外符号デコーダ137に供給され、外符号によるエラー訂正がなされる。訂正できないエラーが発生した場合には、エラーの有無を示すエラーフラグがエラー有りを示すものとされる。
【0044】
外符号デコーダ137の出力がデシャフリングおよびデパッキング部138に供給される。デシャフリングおよびデパッキング部138は、記録側のパッキングおよびシャフリング部107でなされたマクロブロック単位のシャフリングを元に戻す処理を行う。また、デシャフリングおよびデパッキング部138では、記録時に施されたパッキングを分解する。すなわち、マクロブロック単位にデータの長さを戻して、元の可変長符号(不等長データ)を復元する。さらに、デシャフリングおよびデパッキング部138において、システムデータが分離され、出力端子139に取り出される。
【0045】
デシャフリングおよびデパッキング部138の出力が補間部140に供給され、エラーフラグが立っている(すなわち、エラーのある)データが修整される。すなわち、変換前に、マクロブロックデータの途中にエラーがあるとされた場合には、エラー箇所以降の周波数成分のDCT係数が復元できない。そこで、例えばエラー箇所のデータをブロック終端符号(EOB)に置き替え、それ以降の周波数成分のDCT係数をゼロとする。同様に、高速再生時にも、シンクブロック長に対応する長さまでのDCT係数のみを復元し、それ以降の係数は、ゼロデータに置き替えられる。さらに、補間部140では、ビデオデータの先頭に付加されているヘッダがエラーの場合に、ヘッダ(シーケンスヘッダ、GOPヘッダ、ピクチャヘッダ、ユーザデータ等)を回復する処理もなされる。
【0046】
DCTブロックに跨がって、DCT係数がDC成分および低域成分から高域成分へと並べられているため、このように、ある箇所以降からDCT係数を無視しても、マクロブロックを構成するDCTブロックのそれぞれに対して、満遍なくDCならびに低域成分からのDCT係数を行き渡らせることができる。
【0047】
補間部140の出力がストリームコンバータ141に供給される。ストリームコンバータ141では、記録側のストリームコンバータ106と逆の処理がなされる。すなわち、DCTブロックに跨がって周波数成分毎に並べられていたDCT係数を、DCTブロック毎に並び替える。これにより、再生信号がMPEG2に準拠したエレメンタリストリームに変換される。
【0048】
また、ストリームコンバータ141の入出力は、記録側と同様に、マクロブロックの最大長に応じて、十分な転送レート(バンド幅)を確保しておく。マクロブロック(スライス)の長さを制限しない場合には、画素レートの3倍のバンド幅を確保するのが好ましい。
【0049】
ストリームコンバータ141の出力がビデオデコーダ142に供給される。ビデオデコーダ142は、エレメンタリストリームを復号し、ビデオデータを出力する。すなわち、ビデオデコーダ142は、逆量子化処理と、逆DCT処理とがなされる。復号ビデオデータが出力端子143に取り出される。外部とのインターフェースには、例えばSDIが使用される。また、ストリームコンバータ141からのエレメンタリストリームがSDTI送信部144に供給される。SDTI送信部144には、経路の図示を省略しているが、システムデータ、再生オーディオデータ、AUXも供給され、SDTIフォーマットのデータ構造を有するストリームへ変換される。SDTI送信部144からのストリームが出力端子145を通じて外部に出力される。
【0050】
分離部135で分離されたオーディオデータがデシャフリング部151に供給される。デシャフリング部151は、記録側のシャフリング部117でなされたシャフリングと逆の処理を行う。デシャフリング部117の出力が外符号デコーダ152に供給され、外符号によるエラー訂正がなされる。外符号デコーダ152からは、エラー訂正されたオーディオデータが出力される。訂正できないエラーがあるデータに関しては、エラーフラグがセットされる。
【0051】
外符号デコーダ152の出力がAUX分離部153に供給され、オーディオAUXが分離される。分離されたオーディオAUXが出力端子154に取り出される。また、オーディオデータが補間部155に供給される。補間部155では、エラーの有るサンプルが補間される。補間方法としては、時間的に前後の正しいデータの平均値で補間する平均値補間、前の正しいサンプルの値をホールドする前値ホールド等を使用できる。補間部155の出力が出力部156に供給される。出力部156は、エラーであり、補間できないオーディオ信号の出力を禁止するミュート処理、並びにビデオ信号との時間合わせのための遅延量調整処理がなされる。出力部156から出力端子157に再生オーディオ信号が取り出される。
【0052】
なお、図1および図2では省略されているが、入力データと同期したタイミング信号を発生するタイミング発生部、記録再生装置の全体の動作を制御するシステムコントローラ(マイクロコンピュータ)等が備えられている。
【0053】
この一実施形態では、磁気テープへの信号の記録は、回転する回転ヘッド上に設けられた磁気ヘッドにより、斜めのトラックを形成する、ヘリカルスキャン方式によって行われる。磁気ヘッドは、回転ドラム上の、互いに対向する位置に、それぞれ複数個が設けられる。すなわち、磁気テープが回転ヘッドに180°程度の巻き付け角で以て巻き付けられている場合、回転ヘッドの180°の回転により、同時に複数本のトラックを形成することができる。また、磁気ヘッドは、互いにアジマスの異なる2個で一組とされる。複数個の磁気ヘッドは、隣接するトラックのアジマスが互いに異なるように配置される。
【0054】
図3は、上述した回転ヘッドにより磁気テープ上に形成されるトラックフォーマットの一例を示す。これは、1フレーム当たりのビデオおよびオーディオデータが8トラックで記録される例である。例えばフレーム周波数が29.97Hz、レートが50Mbps、有効ライン数が480本で有効水平画素数が720画素のインターレス信号(480i信号)およびオーディオ信号が記録される。また、フレーム周波数が25Hz、レートが50Mbps、有効ライン数が576本で有効水平画素数が720画素のインターレス信号(576i信号)およびオーディオ信号も、図3と同一のテープフォーマットによって記録できる。
【0055】
互いに異なるアジマスの2トラックによって1セグメントが構成される。すなわち、8トラックは、4セグメントからなる。セグメントを構成する1組のトラックに対して、アジマスと対応するトラック番号〔0〕とトラック番号〔1〕が付される。図3に示される例では、前半の8トラックと、後半の8トラックとの間で、トラック番号が入れ替えられると共に、フレーム毎に互いに異なるトラックシーケンスが付される。これにより、アジマスが異なる1組の磁気ヘッドのうち一方が、例えば目詰まりなどにより読み取り不能状態に陥っても、前フレームのデータを利用してエラーの影響を小とできる。
【0056】
トラックのそれぞれにおいて、両端側にビデオデータが記録されるビデオセクタが配され、ビデオセクタに挟まれて、オーディオデータが記録されるオーディオセクタが配される。なお、この図3および後述する図4は、テープ上のオーディオセクタの配置を示すものである。
【0057】
図3のトラックフォーマットでは、8チャンネルのオーディオデータを扱うことができるようにされている。A1〜A8は、それぞれオーディオデータの1〜8chのセクタを示す。オーディオデータは、セグメント単位で配列を変えられて記録される。オーディオデータは、1フィールド期間で発生するオーディオサンプル(例えばフィールド周波数が29.97Hzで、サンプリング周波数が48kHzの場合には、800サンプルまたは801サンプル)が偶数番目のサンプルと奇数番目のサンプルとにわけられ、各サンプル群とAUXによって積符号の1ECCブロックが構成される。
【0058】
図3では、1フィールド分のオーディオデータが4トラックに記録されるので、オーディオデータの1チャンネル当たりの2個のECCブロックが4トラックに記録される。2個のECCブロックのデータ(外符号パリティを含む)が4個のセクタに分割され、図3に示すように、4トラックに分散されて記録される。2個のECCブロックに含まれる複数のシンクブロックがシャフリングされる。例えばA1の参照番号が付された4セクタによって、チャンネル1の2ECCブロックが構成される。
【0059】
また、ビデオデータは、この例では、1トラックに対して4ECCブロック分のデータがシャフリング(インターリーブ)され、Upper SideおよびLower Sideで各セクタに分割され記録される。Lower Sideのビデオセクタには、所定位置にシステム領域が設けられる。
【0060】
なお、図3において、SAT1(Tr)およびSAT2(Tm)は、サーボロック用の信号が記録されるエリアである。また、各記録エリアの間には、所定の大きさのギャップ(Vg1,Sg1,Ag,Sg2,Sg3およびVg2)が設けられる。
【0061】
図3は、1フレーム当たりのデータを8トラックで記録する例であるが、記録再生するデータのフォーマットによっては、1フレーム当たりのデータを4トラック、6トラックなどでの記録することができる。図4Aは、1フレームが6トラックのフォーマットである。この例では、トラックシーケンスが〔0〕のみとされる。
【0062】
図4Bに示すように、テープ上に記録されるデータは、シンクブロックと称される等間隔に区切られた複数のブロックからなる。図4Cは、シンクブロックの構成を概略的に示す。詳細は後述するが、シンクブロックは、同期検出するためのSYNCパターン、シンクブロックのそれぞれを識別するためのID、後続するデータの内容を示すDID、データパケットおよびエラー訂正用の内符号パリティから構成される。データは、シンクブロック単位でパケットとして扱われる。すなわち、記録あるいは再生されるデータ単位の最小のものが1シンクブロックである。シンクブロックが多数並べられて(図4B)、例えばビデオセクタが形成される(図4A)。
【0063】
図5は、記録/再生の最小単位である、ビデオデータのシンクブロックのデータ構成をより具体的に示す。この一実施形態においては、記録するビデオデータのフォーマットに適応して1シンクブロックに対して1個乃至は2個のマクロブロックのデータ(VLCデータ)が格納されると共に、1シンクブロックのサイズが扱うビデオ信号のフォーマットに応じて長さが変更される。図5Aに示されるように、1シンクブロックは、先頭から、2バイトのSYNCパターン、2バイトのID、1バイトのDID、例えば112バイト〜206バイトの間で可変に規定されるデータ領域および12バイトのパリティ(内符号パリティ)からなる。なお、データ領域は、ペイロードとも称される。
【0064】
先頭の2バイトのSYNCパターンは、同期検出用であり、所定のビットパターンを有する。固有のパターンに対して一致するSYNCパターンを検出することで、同期検出が行われる。
【0065】
図6Aは、ID0およびID1のビットアサインの一例を示す。IDは、シンクブロックが固有に持っている重要な情報を持っており、各2バイト(ID0およびID1)が割り当てられている。ID0は、1トラック中のシンクブロックのそれぞれを識別するための識別情報(SYNC ID)が格納される。SYNC IDは、例えば各セクタ内のシンクブロックに対して付された通し番号である。SYNC IDは、8ビットで表現される。ビデオのシンクブロックとオーディオのシンクブロックとでそれぞれ別個にSYNC IDが付される。
【0066】
ID1は、シンクブロックのトラックに関する情報が格納される。MSB側をビット7、LSB側をビット0とした場合、このシンクブロックに関して、ビット7でトラックの上側(Upper)か下側(Lower)かが示され、ビット5〜ビット2で、トラックのセグメントが示される。また、ビット1は、トラックのアジマスに対応するトラック番号が示され、ビット0は、このシンクブロックがビデオデータおよびオーディオデータを区別するビットである。
【0067】
図6Bは、ビデオの場合のDIDのビットアサインの一例を示す。DIDは、ペイロードに関する情報が格納される。上述したID1のビット0の値に基づき、ビデオおよびオーディオで、DIDの内容が異なる。ビット7〜ビット4は、未定義(Reserved)とされている。ビット3および2は、ペイロードのモードであり、例えばペイロードのタイプが示される。ビット3および2は、補助的なものである。ビット1でペイロードに1個あるいは2個のマクロブロックが格納されることが示される。ビット0でペイロードに格納されるビデオデータが外符号パリティであるかどうかが示される。
【0068】
図6Cは、オーディオの場合のDIDのビットアサインの一例を示す。ビット7〜ビット4は、Reservedとされている。ビット3でペイロードに格納されているデータがオーディオデータであるか、一般的なデータであるかどうかが示される。ペイロードに対して、圧縮符号化されたオーディオデータが格納されている場合には、ビット3がデータを示す値とされる。ビット2〜ビット0は、NTSC方式における、5フィールドシーケンスの情報が格納される。すなわち、NTSC方式においては、ビデオ信号の1フィールドに対してオーディオ信号は、サンプリング周波数が48kHzの場合、800サンプルおよび801サンプルの何れかであり、このシーケンスが5フィールド毎に揃う。ビット2〜ビット0によって、シーケンスの何処に位置するかが示される。
【0069】
図5に戻って説明すると、図5B〜図5Eは、上述のペイロードの例を示す。図5Bおよび図5Cは、ペイロードに対して、1および2マクロブロックのビデオデータ(不等長データ)が格納される場合の例をそれぞれ示す。図5Bに示される、1マクロブロックが格納される例では、先頭の3バイトに、そのマクロブロックに対応する不等長データの長さを示すデータ長標識LTが配される。なお、データ長標識LTには、自分自身の長さを含んでも良いし、含まなくても良い。また、図5Cに示される、2マクロブロックが格納される例では、先頭に第1のマクロブロックのデータ長標識LTが配され、続けて第1のマクロブロックが配される。そして、第1のマクロブロックに続けて第2のマクロブロックの長さを示すデータ長標識LTが配され、続けて第2のマクロブロックが配される。データ長標識LTは、デパッキングのために必要な情報である。
【0070】
図5Dは、ペイロードに対して、ビデオAUX(補助的)データが格納される場合の例を示す。先頭のデータ長標識LTには、ビデオAUXデータの長さが記される。このデータ長標識LTに続けて、5バイトのシステム情報、12バイトのPICT情報、および92バイトのユーザ情報が格納される。ペイロードの長さに対して余った部分は、Reservedとされる。
【0071】
図5Eは、ペイロードに対してオーディオデータが格納される場合の例を示す。オーディオデータは、ペイロードの全長にわたって詰め込むことができる。オーディオ信号は、圧縮処理などが施されない、例えばPCM形式で扱われる。これに限らず、所定の方式で圧縮符号化されたオーディオデータを扱うようにもできる。
【0072】
この一実施形態においては、各シンクブロックのデータの格納領域であるペイロードの長さは、ビデオシンクブロックとオーディオシンクブロックとでそれぞれ最適に設定されているため、互いに等しい長さではない。また、ビデオデータを記録するシンクブロックの長さと、オーディオデータを記録するシンクブロックの長さとを、信号フォーマットに応じてそれぞれ最適な長さに設定される。これにより、複数の異なる信号フォーマットを統一的に扱うことができる。
【0073】
図7Aは、MPEGエンコーダのDCT回路から出力されるビデオデータ中のDCT係数の順序を示す。DCTブロックにおいて左上のDC成分から開始して、水平ならびに垂直空間周波数が高くなる方向に、DCT係数がジグザグスキャンで出力される。その結果、図7Bに一例が示されるように、全部で64個(8画素×8ライン)のDCT係数が周波数成分順に並べられて得られる。
【0074】
このDCT係数がMPEGエンコーダのVLC部によって可変長符号化される。すなわち、最初の係数は、DC成分として固定的であり、次の成分(AC成分)からは、ゼロのランとそれに続くレベルに対応してコードが割り当てられる。従って、AC成分の係数データに対する可変長符号化出力は、周波数成分の低い(低次の)係数から高い(高次の)係数へと、AC1 ,AC2 ,AC3 ,・・・と並べられたものである。可変長符号化されたDCT係数をエレメンタリストリームが含んでいる。
【0075】
ストリームコンバータ106では、供給された信号のDCT係数の並べ替えが行われる。すなわち、それぞれのマクロブロック内で、ジグザグスキャンによってDCTブロック毎に周波数成分順に並べられたDCT係数がマクロブロックを構成する各DCTブロックにわたって周波数成分順に並べ替えられる。
【0076】
図8は、このストリームコンバータ106におけるDCT係数の並べ替えを概略的に示す。(4:2:2)コンポーネント信号の場合に、1マクロブロックは、輝度信号Yによる4個のDCTブロック(Y1 ,Y2 ,Y3 およびY4 )と、色度信号Cb,Crのそれぞれによる2個ずつのDCTブロック(Cb1 ,Cb2 ,Cr1 およびCr2 )からなる。
【0077】
上述したように、ビデオエンコーダ102では、MPEG2の規定に従いジグザグスキャンが行われ、図8Aに示されるように、各DCTブロック毎に、DCT係数がDC成分および低域成分から高域成分に、周波数成分の順に並べられる。一つのDCTブロックのスキャンが終了したら、次のDCTブロックのスキャンが行われ、同様に、DCT係数が並べられる。
【0078】
すなわち、マクロブロック内で、DCTブロックY1 ,Y2 ,Y3 およびY4 、DCTブロックCb1 ,Cb2 ,Cr1 およびCr2 のそれぞれについて、DCT係数がDC成分および低域成分から高域成分へと周波数順に並べられる。そして、連続したランとそれに続くレベルとからなる組に、〔DC,AC1 ,AC2 ,AC3 ,・・・〕と、それぞれ符号が割り当てられるように、可変長符号化されている。
【0079】
ストリームコンバータ106では、可変長符号化され並べられたDCT係数を、一旦可変長符号を解読して各係数の区切りを検出し、マクロブロックを構成する各DCTブロックに跨がって周波数成分毎にまとめる。この様子を、図8Bに示す。最初にマクロブロック内の8個のDCTブロックのDC成分をまとめ、次に8個のDCTブロックの最も周波数成分が低いAC係数成分をまとめ、以下、順に同一次数のAC係数をまとめるように、8個のDCTブロックに跨がって係数データを並び替える。
【0080】
並び替えられた係数データは、DC(Y1 ),DC(Y2 ),DC(Y3 ),DC(Y4 ),DC(Cb1 ),DC(Cb2 ),DC(Cr1 ),DC(Cr2 ),AC1 (Y1 ),AC1 (Y2 ),AC1 (Y3 ),AC1 (Y4 ),AC1 (Cb1 ),AC1 (Cb2 ),AC1 (Cr1 ),AC1 (Cr2 ),・・・である。ここで、DC、AC1 、AC2 、・・・は、図7を参照して説明したように、ランとそれに続くレベルとからなる組に対して割り当てられた可変長符号の各符号である。
【0081】
ストリームコンバータ106で係数データの順序が並べ替えられた変換エレメンタリストリームは、パッキングおよびシャフリング部107に供給される。マクロブロックのデータの長さは、変換エレメンタリストリームと変換前のエレメンタリストリームとで同一である。また、ビデオエンコーダ102において、ビットレート制御によりGOP(1フレーム)単位に固定長化されていても、マクロブロック単位では、長さが変動している。パッキングおよびシャフリング部107では、マクロブロックのデータを固定枠に当てはめる。
【0082】
図9は、パッキングおよびシャフリング部107でのマクロブロックのパッキング処理を概略的に示す。マクロブロックは、所定のデータ長を持つ固定枠に当てはめられ、パッキングされる。このとき用いられる固定枠のデータ長を、記録および再生の際のデータの最小単位であるシンクブロックのデータ長と一致させている。これは、シャフリングおよびエラー訂正符号化の処理を簡単に行うためである。図9では、簡単のため、1フレームに8マクロブロックが含まれるものと仮定する。
【0083】
可変長符号化によって、図9Aに一例が示されるように、8マクロブロックの長さは、互いに異なる。この例では、固定枠である1シンクブロックのデータ領域の長さと比較して、マクロブロック#1のデータ,#3のデータおよび#6のデータがそれぞれ長く、マクロブロック#2のデータ,#5のデータ,#7のデータおよび#8のデータがそれぞれ短い。また、マクロブロック#4のデータは、1シンクブロックと略等しい長さである。
【0084】
パッキング処理によって、マクロブロックが1シンクブロック長の固定長枠に詰め込まれる。過不足無くデータを詰め込むことができるのは、1フレーム期間で発生するデータ量が固定量に制御されているからである。図9Bに一例が示されるように、1シンクブロックと比較して長いマクロブロックは、シンクブロック長に対応する位置で分割される。分割されたマクロブロックのうち、シンクブロック長からはみ出た部分(オーバーフロー部分)は、先頭から順に空いている領域に、すなわち、長さがシンクブロック長に満たないマクロブロックの後ろに、詰め込まれる。
【0085】
図9Bの例では、マクロブロック#1の、シンクブロック長からはみ出た部分が、先ず、マクロブロック#2の後ろに詰め込まれ、そこがシンクブロックの長さに達すると、マクロブロック#5の後ろに詰め込まれる。次に、マクロブロック#3の、シンクブロック長からはみ出た部分がマクロブロック#7の後ろに詰め込まれる。さらに、マクロブロック#6のシンクブロック長からはみ出た部分がマクロブロック#7の後ろに詰め込まれ、さらにはみ出た部分がマクロブロック#8の後ろに詰め込まれる。こうして、各マクロブロックがシンクブロック長の固定枠に対してパッキングされる。
【0086】
各マクロブロックに対応する不等長データの長さは、ストリームコンバータ106において予め調べておくことができる。これにより、このパッキング部107では、VLCデータをデコードして内容を検査すること無く、マクロブロックのデータの最後尾を知ることができる。
【0087】
図10は、一実施形態で使用されるエラー訂正符号の一例を示し、図10Aは、ビデオデータに対するエラー訂正符号の1ECCブロックを示し、図10Bは、オーディオデータに対するエラー訂正符号の1ECCブロックを示す。図10Aにおいて、VLCデータがパッキングおよびシャフリング部107からのデータである。VLCデータの各行に対して、SYNCパターン、ID、DIDが付加され、さらに、内符号のパリティが付加されることによって、1SYNCブロックが形成される。
【0088】
すなわち、VLCデータの配列の垂直方向に整列する所定数のシンボル(バイト)から10バイトの外符号のパリティが生成され、その水平方向に整列する、ID、DIDおよびVLCデータ(または外符号のパリティ)の所定数のシンボル(バイト)から内符号のパリティが生成される。図10Aの例では、10個の外符号パリティのシンボルと、12個の内符号のパリティのシンボルとが付加される。具体的なエラー訂正符号としては、リードソロモン符号が使用される。また、図10Aにおいて、1SYNCブロック内のVLCデータの長さが異なるのは、59.94Hz、25Hz、23.976Hzのように、ビデオデータのフレーム周波数が異なるのと対応するためである。
【0089】
図10Bに示すように、オーディオデータに対する積符号もビデオデータに対するものと同様に、10シンボルの外符号のパリティおよび12シンボルの内符号のパリティを生成するものである。オーディオデータの場合は、サンプリング周波数が例えば48kHzとされ、1サンプルが24ビットに量子化される。1サンプルを他のビット数例えば16ビットに変換しても良い。上述したフレーム周波数の相違に応じて、1SYNCブロック内のオーディオデータの量が相違している。前述したように、1フィールド分のオーディオデータ/1チャンネルによって2ECCブロックが構成される。1ECCブロックには、偶数番目および奇数番目の一方のオーディオサンプルとオーディオAUXとがデータとして含まれる。
【0090】
図11は、この発明の一実施形態の記録側構成のより具体的な構成を示す。図11において、164がICに対して外付けのメインメモリ160のインターフェースである。メインメモリ160は、SDRAMで構成されている。インターフェース164によって、内部からのメインメモリ160に対する要求を調停し、メインメモリ160に対して書込み/読出しの処理を行う。また、パッキング部107a、ビデオシャフリング部107b、パッキング部107cによって、パッキングおよびシャフリング部107が構成される。
【0091】
図12は、メインメモリ160のアドレス構成の一例を示す。メインメモリ160は、例えば64MビットのSDRAMで構成される。メインメモリ160は、ビデオ領域250、オーバーフロー領域251およびオーディオ領域252を有する。ビデオ領域250は、4つのバンク(vbank#0、vbank#1、vbank#2およびvbank#3)からなる。4バンクのそれぞれは、1等長化単位のディジタルビデオ信号が格納できる。1等長化単位は、発生するデータ量を略目標値に制御する単位であり、例えばビデオ信号の1ピクチャ(Iピクチャ)である。図12中の、部分Aは、ビデオ信号の1シンクブロックのデータ部分を示す。1シンクブロックには、フォーマットによって異なるバイト数のデータが挿入される(図5A参照)。複数のフォーマットに対応するために、最大のバイト数以上であって、処理に都合の良いバイト数例えば256バイトが1シンクブロックのデータサイズとされている。
【0092】
ビデオ領域の各バンクは、さらに、パッキング用領域250Aと内符号化エンコーダへの出力用領域250Bとに分けられる。オーバーフロー領域251は、上述のビデオ領域に対応して、4つのバンクからなる。さらに、オーディオデータ処理用の領域252をメインメモリ160が有する。
【0093】
この一実施形態では、各マクロブロックのデータ長標識LTを参照することによって、パッキング部107aが固定枠長データと、固定枠を越える部分であるオーバーフローデータとをメインメモリ160の別々の領域に分けて記憶する。固定枠長データは、シンクブロックのデータ領域の長さ以下のデータであり、以下、ブロック長データと称する。ブロック長データを記憶する領域は、各バンクのパッキング処理用領域250Aである。ブロック長より短いデータ長の場合には、メインメモリ160の対応する領域に空き領域を生じる。ビデオシャフリング部107bが書込みアドレスを制御することによってシャフリングを行う。ここで、ビデオシャフリング部107bは、ブロック長データのみをシャフリングし、オーバーフロー部分は、シャフリングせずに、オーバーフローデータに割り当てられた領域に書込まれる。
【0094】
次に、パッキング部107cが外符号エンコーダ109へのメモリにオーバーフロー部分をパッキングして読み込む処理を行う。すなわち、メインメモリ160から外符号エンコーダ109に用意されている1ECCブロック分のメモリに対してブロック長のデータを読み込み、若し、ブロック長のデータに空き領域が有れば、そこにオーバーフロー部分を読み込んでブロック長にデータが詰まるようにする。そして、1ECCブロック分のデータを読み込むと、読み込み処理を一時中断し、外符号エンコーダ109によって外符号のパリティを生成する。外符号パリティは、外符号エンコーダ109のメモリに格納する。外符号エンコーダ109の処理が1ECCブロック分終了すると、外符号エンコーダ109からデータおよび外符号パリティを内符号を行う順序に並び替えて、メインメモリ160のパッキング処理用領域250Aと別の出力用領域250Bに書き戻す。ビデオシャフリング部110は、この外符号の符号化が終了したデータをメインメモリ160へ書き戻す時のアドレスを制御することによって、シンクブロック単位のシャフリングを行う。
【0095】
このようにブロック長データとオーバーフローデータとを分けてメインメモリ160の第1の領域250Aへのデータの書込み(第1のパッキング処理)、外符号エンコーダ109へのメモリにオーバーフローデータをパッキングして読み込む処理(第2のパッキング処理)、外符号パリティの生成、データおよび外符号パリティをメインメモリ160の第2の領域250Bに書き戻す処理が1ECCブロック単位でなされる。外符号エンコーダ109がECCブロックのサイズのメモリを備えることによって、メインメモリ160へのアクセスの頻度を少なくすることができる。
【0096】
そして、1ピクチャに含まれる所定数のECCブロック(例えば32個のECCブロック)の処理が終了すると、1ピクチャのパッキング、外符号の符号化が終了する。そして、インターフェース164を介してメインメモリ160の領域250Bから読出したデータがID付加部118、内符号エンコーダ119、同期付加部120で処理され、並列直列変換部124によって、同期付加部120の出力データがビットシリアルデータに変換される。出力されるシリアルデータがパーシャル・レスポンスクラス4のプリコーダ125により処理される。この出力が必要に応じてディジタル変調され、記録アンプ121を介して回転ヘッドに供給される。
【0097】
なお、ECCブロック内にヌルシンクと称する有効なデータが配されないシンクブロックを導入し、記録ビデオ信号のフォーマットの違いに対してECCブロックの構成の柔軟性を持たせるようにしても良い。ヌルシンクは、パッキングおよびシャフリングブロック107のパッキング部107aにおいて生成され、メインメモリ160に書込まれる。従って、ヌルシンクがデータ記録領域を持つことになるので、これをオーバーフロー部分の記録用シンクとして使用することができる。
【0098】
オーディオデータの場合では、1フィールドのオーディオデータの偶数番目のサンプルと奇数番目のサンプルとがそれぞれ別のECCブロックを構成する。ECCの外符号の系列は、入力順序のオーディオサンプルで構成されるので、外符号系列のオーディオサンプルが入力される毎に外符号エンコーダ116が外符号パリティを生成する。外符号エンコーダ116の出力をメインメモリ160の領域252に書込む時のアドレス制御によって、シャフリング部117がシャフリング(チャンネル単位およびシンクブロック単位)を行う。
【0099】
さらに、126で示すCPUインターフェースが設けられ、システムコントローラとして機能する外部のCPU127からのデータを受け取り、内部ブロックに対してパラメータの設定が可能とされている。複数のフォーマットに対応するために、シンクブロック長、パリティ長を始め多くのパラメータを設定することが可能とされている。パラメータの一つとしてのシャフリングテーブルデータがビデオ用シャフリングテーブル(RAM)128vおよびオーディオ用シャフリングテーブル(RAM)128aに格納される。シャフリングテーブル128vは、ビデオシャフリング部107bおよび110のシャフリングのためのアドレス変換を行う。シャフリングテーブル128aは、オーディオシャフリング117のためのアドレス変換を行う。
【0100】
上述したように、ストリームコンバータ106からは、マクロブロック内の係数データ(可変長符号)の同じ周波数成分をまとめるように並び替えたビデオデータ(ピクチャデータ)が発生する。例えばストリームコンバータ106がSDTI受信部105に対してリードリクエストを発生することによって、SDTI受信部105のバッファに蓄えられているストリームを読み込むようになされる。このリートリクエストをパッキングおよびシャフリング部107が発行しても良い。ストリームコンバータ106からは、ピクチャデータ以外のヘッダ情報等の非画像データも発生する。非画像データは、MPEGシンタックスで規定されたヘッダ(PESヘッダ、シーケンスヘッダ、GOPヘッダ、ピクチャヘッダ)、並びにピクチャヘッダ中のユーザデータとして含まれるアンシアリイデータ(Ancillary Data: クローズドキャプション、テレテキスト、VITC等)である。非画像データは、画像フォーマット、ユーザデータの量等によってデータ量が変動する可変長データである。しかも、1フレーム当たりの非画像データの最大長を見積もることは難しい。また、ビデオエレメンタリストリームの場合でも、マクロブロック当たりのデータの最大長を見積もることが難しい。MPEGシンタックスでは、マクロブロック当たりのデータが原データより多くなることが許容されている。例えば1フレームの全マクロブロックの内で、本来の画像データが少なく、その多くをユーザデータにすることも可能である。
【0101】
この発明では、非画像データをピクチャデータと同等に扱うので、ストリームコンバータ106からパッキングおよびシャフリング部107に対して非画像データも供給され、ピクチャデータと共にパッキングされる。非画像データに対してては、1マクロブロックのピクチャデータと同様に、一つの固定枠が割り当てられ、その先頭に長さ標識が付加される。従って、1編集単位例えば1フレーム期間の発生データ量を所定のものに制御する場合には、非画像データを含むデータ量が所定のものに制御され、1フレームの全マクロブロックの数に1を加えた数の固定枠にピクチャデータおよび非画像データがパッキングされる。この一実施形態では、1GOPが1枚のIピクチャで構成され、1スライスが1マクロブロックで構成され、ピクチャデータがスライス1から開始するので、以下の説明では、便宜上、非画像データをスライス0と呼び、ピクチャデータのスライスを総称してスライスXと呼ぶ。
【0102】
図13および図14を参照して、ストリームコンバータ106とパッキングおよびシャフリング部107との間のデータのインターフェースについて説明する。図13は、スライスXのインターフェースを示す。図13Aに示すシンクパルスと同期して、図13Bに示すように、スライスXのデータ(バイトシリアル)が転送される。転送レートは、入力画像データのフォーマットによって変わるが、例えばMPEGの規定の上限値である50M bpsである。この転送レートに等しい周波数のベースバンドクロックが使用される。
【0103】
スライスXの場合、シンクパルスが544クロックの周期で発生し、544クロック中で最大512クロック(512バイト)の期間でデータを転送するようになされる。各周期で、1スライスのピクチャデータが転送される。従って、544−512=32クロックの空き期間が周期的に存在する。1マクロブロックで発生するピクチャデータの最大長は、見積もりが難しいが、この一実施形態では、一例として、512バイトをスライスXの1スライスが越えないように、ストリームコンバータ106において制限している。また、図13Cに示すように、ストリームコンバータ106からは、各周期内で転送されるスライスの長さに一致した期間、ハイレベルとなるイネーブル信号をデータと同期して発生する。
【0104】
パッキングおよびシャフリング部107(パッキング部107a)では、図13Dに示すように、シンクパルスでリセットされてからイネーブル信号のハイレベルの期間を計測することによって、各周期で転送されるスライスのデータ長を検出することができる。イネーブル信号を送る代わりに、パッキングおよびシャフリング部107において受け取ったデータをカウントする方法もあるが、予めストリームコンバータ106がストリームを知っているので、再度、パッキングおよびシャフリング部107において解析する必要がないことので、イネーブル信号を送るようにしている。
【0105】
図14は、スライス0、すなわち、非画像データをストリームコンバータ106からパッキングおよびシャフリング部107へ転送するインターフェースを説明するものである。スライス0は、図14Bに示すように、上述したスライスXと同様に、544クロックの中の最大512クロックの区間を使用して転送される。従って、32クロックの空き期間が周期的に存在する。但し、図14Aに示すように、スライス0の転送が終了するまでシンクパルスが発生せず、それによってスライス0が1スライスであることが指示される。図14Cに示すように、各周期の中で、データの期間に対応してハイレベルとなるイネーブル信号も転送される。パッキングおよびシャフリング部107(パッキング部107a)では、図14Dに示すように、シンクパルスでリセットされてからイネーブル信号のハイレベルの期間を計測することによって、スライス0のデータ長を検出することができる。
【0106】
なお、スライスXは、図13Eに示すように、固定の3バイトのスタートコード(000001)H(Hは16進を意味する)の後に、スライススタートコード(01)H〜(AF)Hが続くように規定されている。一方、スライス0の場合には、図14Eに示すように、固定の3バイトのスタートコードの後に、sequence header code(B3)Hが続く。従って、スライス0とスライスXとを識別するために、スライス0の場合には、スタートコードを(000000)Hに変更する。他の方法として、スタートコードを共に(000001)Hとして、その後が(B3)Hかどうかを調べて、スライス0とスライスXとを識別するようにしても良い。
【0107】
上述したインターフェースは、要約すると、スライスXのシンクパルスの間隔が544クロックの固定とし、有効データの区間をイネーブル信号で示し、その最大長を512クロックとし、シンクパルスの間隔内でイネーブル信号の立ち上がりおよび立ち下がりがそれぞれ1回とされる。スライス0については、1シンク間隔内で、イネーブル信号の立ち上がりおよび立ち下がりが複数回あることがある。さらに、図13Bおよび図14Bにおいて斜線で示すように、スライス0およびスライスXの何れの場合でも、シンクパルスの間隔より有効データの区間が短いので、データが転送されない空き期間が生じる。この空き期間をスライス0およびスライスXの両者に関して設けることによって、空き期間において、オーディオデータの処理(エラー訂正符号化、シャフリング処理)をピクチャデータと共通のメインメモリ160を使用して行うことが可能となり、また、瞬間的に必要となるメインメモリ160の転送レートを下げることができ、消費電力の削減や内部メモリをなくすことが可能となる。
【0108】
シンクパルスは、ストリームコンバータ106がビデオエレメンタリストリームから以下のような順序で生成する。
【0109】

Figure 0003978903
にシンクパルスをhighとする。その後は、slice header(MB data) までlow のままとする。従って、user data のstart code等にはシンクパルスを付けない。
【0110】
さらに、上述したように、データを転送するインターフェースについて図15を参照してより詳細に説明する。図15Aがシンクパルスを示し、図15Bがストリームコンバータ106からのビデオエレメンタリストリームを示す。図15Bの例では、シンクパルスの間隔(544クロック)を4個使用してスライス0のデータを間欠的に転送し、その後、スライス1から順に転送している。
【0111】
スライス0がシーケンスヘッダが始まる場合では、スライス0のデータの内容は、例えば図15Cに示すものである。スライス0は、第1のデータ部分、第2のデータ部分、第3のデータ部分からなる。第1のデータ部分は、sequence header() 、sequence extension()およびextension and user data(0)からなる。第2のデータ部分は、group of pictures header()およびextension and user data(1)からなる。第3のデータ部分は、picture header()、picture coding extension()およびextension and user data(2)からなる。この一実施形態では、ピクチャ毎にsequence header() 、group of pictures header()、picture header()を必ずスライス0として付けるようにしている。さらに、スライスX(スライス1、スライス2、・・・)には、それぞれslice() の後にmacroblock()が続くデータである。extension and user data() には、ビデオインデックス(垂直ブランキング期間内の特定のライン中に挿入されるコード化された情報)、ビデオアンシラリイデータ,クローズドキャプション、テレテキスト、VITC(垂直ブランキング期間内に記録されるタイムコード)、LTC(テープ長手方向に記録されるタイムコード)などのデータが収められる。
【0112】
各データの内容および多重化方法は、MPEGシンタックス(ISO/IEC 13818-2) において規定されている。その一部について説明すると、図16がスタートコード値の規定を示す。スタートコードは、ビデオエレメンタリストリーム中で特異なビットパターンを有する。各スタートコードは、2バイトの所定のビット列(0000 0000 0000 0000) の後にスタートコード値が続くものである。例えばslice start codeが(01〜AF)と規定され、sequence header codeが(B3)と規定されている。
【0113】
また、図17は、MPEGシンタックス(ビデオシーケンス)を示すものである。図17中で現れ、上述したようなデータ、すなわち、sequence header() 、sequence extension()、extension and user data() 、group of pictures header()、picture header()、picture coding extension()がスライス0(非画像データ)として扱われる。
【0114】
図18は、Sequence header の内容を示すものである。例えばhorizontal size value (12ビット)が画像の横の画素数を表し、bit rate valueがビットレートを表す。図19は、Group of pictures headerの内容を表す。例えばtime code がシーケンスの先頭からの時間を示し、closed gopは、GOP内の画像が他のGOPから独立して再生可能なことを示す。図20は、Picture headerの内容を示す。例えばpicture coding type がピクチャタイプを示し、full pel forward vector が動きベクトルの精度が整数画素か半画素単位かを示す。
【0115】
上述した一実施形態では、インターフェースのデータ幅を8ビットとして説明したが、他のビット幅でも良く、データ転送可能な期間(512クロック)および空き期間(32クロック)の値は、一例であり、1フレームより短かければ、スライスXのデータ長に応じて種々の値に設定可能である。また、シンクパルスのデータに対する位置や、極性も一実施形態のものに限定されない。さらに、この発明は、MPEG2のみならず、MPEG1のストリームに対しても適用可能なことは勿論であるが、MPEG以外でも、ヘッダ部分がストリーム内に存在するようなビデオストリームに対しても適用できる。さらに、スライスの長さ情報を算出する方法は、一実施形態の方法に限定されない。よりさらに、シンクパルスは、ストリームコンバータが生成するのに限らず、パッキングおよびシャフリング部がストリームを解析することによって生成することも可能である。
【0116】
なお、この発明は、磁気テープ以外の光テープ、光ディスク(光磁気ディスク、相変化型ディスク)等の記録媒体を使用する場合、データを伝送路を介して伝送する場合に対しても適用することができる。
【0117】
【発明の効果】
この発明では、画像データを転送する時に、周期的にデータを転送しない空き期間を設けることによって、この空き期間で他のオーディオデータ、AUXデータ等の処理を行うことができる。従って、他のデータを処理するためのバッファメモリを内部に持つ必要がなく、また、パンド幅が高くなり、消費電力が増大する問題が発生しない。
【図面の簡単な説明】
【図1】この発明の一実施形態の記録側の構成を示すブロック図である。
【図2】この発明の一実施形態の再生側の構成を示すブロック図である。
【図3】トラックフォーマットの一例を示す略線図である。
【図4】トラックフォーマットの他の例を示す略線図である。
【図5】シンクブロックの構成の複数の例を示す略線図である。
【図6】シンクブロックに付加されるIDおよびDIDの内容を示す略線図である。
【図7】ビデオエンコーダの出力の方法と可変長符号化を説明するための略線図である。
【図8】ビデオエンコーダの出力の順序の並び替えを説明するための略線図である。
【図9】順序の並び替えられたデータをシンクブロックにパッキングする処理を説明するための略線図である。
【図10】ビデオデータおよびオーディオデータに対するエラー訂正符号を説明するための略線図である。
【図11】記録信号処理部のより具体的なブロック図である。
【図12】使用するメモリのメモリ空間を示す略線図である。
【図13】画像データの転送方法を説明するためのタイミングチャートである。
【図14】非画像データの転送方法を説明するためのタイミングチャートである。
【図15】ビデオストリームの転送方法を説明するためのタイミングチャートである。
【図16】MPEGシンタックスのスタートコード値の規定を示す略線図である。
【図17】MPEGシンタックスを説明するための略線図である。
【図18】MPEGシンタックスを説明するための略線図である。
【図19】MPEGシンタックスを説明するための略線図である。
【図20】MPEGシンタックスを説明するための略線図である。
【符号の説明】
106・・・ストリームコンバータ、107・・・パッキングおよびシャフリング部、109、116・・・外符号エンコーダ、110、117・・・シャフリング部、118・・・ID付加部、120・・・同期付加部、160・・・メインメモリ[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a data recording device, a data recording method, a data processing device, which are applied to record variable-length non-image data together with variable-length image data,andData processing methodTo the lawConcerning
[0002]
[Prior art]
As represented by a digital VTR (Video Tape Recorder), a data recording / reproducing apparatus for recording a digital image signal on a recording medium and reproducing it from the recording medium is known. In a recording processing unit in a digital image recording device, video and audio digital data is stored in a packet of a predetermined length, information indicating the content of the data in units of packets, encoding of an error correction code, packetized data, A sync block and ID are added to the parity of the error correction code to form a sync block, converted into serial data in units of sync block, and recorded on the magnetic tape by the rotary head. On the recording side, the process of packing data into the data area of the sync block is referred to as packing, and on the playback side, the process of extracting data from the data area of the sync block is referred to as depacking. When a product code is used, data is packed into the length of one line of an ECC (Error Correctig Code) block of the product code by packing.
[0003]
In order to compress the amount of image data, compression encoding is performed. For example, in the case of MPEG (Moving Picture Experts Group), coefficient data generated by DCT (Discrete Cosine Transform) is variable-length encoded. When the amount of data that can be recorded per track or a predetermined number of tracks is fixed, such as a helical scan type VTR, the data length of the variable length code generated during a predetermined period is less than the target value. The amount is controlled. Then, variable length encoded data, that is, unequal length data is packed into the data areas of a plurality of sync blocks prepared for a predetermined period.
[0004]
In MPEG, image data has a six-layer hierarchical structure of a sequence, a GOP (Group Of Picture), a picture, a slice, a macroblock, and a block, and each layer is multiplexed. The multiplexing process is defined as a syntax in MPEG, and header information such as a PES (Packetized Elementary Stream) header, a sequence header, a GOP header, and a slice header is multiplexed in addition to picture data. The header information is necessary for processing such as decoding of picture data. When recording / reproducing an MPEG elementary stream, it is necessary to record / reproduce the header information together with the picture data. As one method for recording / reproducing the header information, it is conceivable to record / reproduce the minimum amount of data necessary for reproduction as fixed-length data in the whole header information or in the header information.
[0005]
However, it may be difficult to handle the data amount of header information as fixed-length data. For example, various image data formats exist, and the data amount of header information varies. For example, there are 18 image formats for American digital television broadcasting. Second, to transmit video index data or ancillary data multiplexed on a specific line (closed caption, teletext, time code (VITC) of vertical blanking period, etc.) as a video elementary stream. In addition, when data is inserted into user data in a picture header, the amount of user data varies.
[0006]
In this way, data that has variable data length (header information, video index, ancillary data, etc., although it is not original image data, these are collectively called non-image data in the sense that it is not picture data. In order to record the recording data, it is necessary to allocate a recording area in consideration of the image format to be recorded, and to secure a recording area capable of recording the maximum amount of data that can be generated. is there.
[0007]
When there are only one or two image formats, the fluctuation range of the data amount is relatively small, and it is difficult to set the non-image data recording area on the tape corresponding to each image format. Absent. However, when there are many types of image formats, the fluctuation range of the data amount of non-image data becomes large or cannot be predicted, and it becomes difficult to set a recording area for non-image data. In addition, when an area where the maximum amount of data that can be generated is recorded is set, a wasteful area that is not used for recording is generated on the tape when the amount of data is not large, and the recording capacity of the tape cannot be used effectively. Therefore, in order to avoid these problems, the applicant of the present application has proposed that variable-length non-image data is handled and recorded in the same manner as image data.
[0008]
  Here, if the data to be packed is large, such as image data for one frame period, the memory used for the packing process has a large capacity. Therefore, it is difficult to integrate the packing processing unit on the same semiconductor substrate, and the cost increases. Therefore, a single device (element) independent from the recording processing unit is used as the memory. With current technology, the recording processing unit can be configured as an integrated circuit.,When trying to configure the main memory at as low a cost as possible, it is practical to use DRAM-type devices such as DRAM (Dynamic Random Access Memory), EDO (Extended Data Out) -RAM, and SDRAM (Synchronous Dynamic Random Access Memory). is there. Furthermore, considering speed, SDRAM is often used.
[0009]
Further, in the digital VTR, it is necessary to record audio data in addition to images. Therefore, audio data is also written in the SDRAM and undergoes a recording process. In addition, when shuffling is performed to increase error resistance by rearranging the order of image data and audio data in units of one field or one frame, an SDRAM may be used for the processing. is there.
[0010]
Consider the transfer of image data to a recording processing unit including such an SDRAM. The transfer capability for the SDRAM is determined by the SDRAM bus width and the supplied clock. As one transfer method, a method of transferring image data continuously is conceivable. The number of clocks given to the SDRAM needs to be provided for the instantaneous maximum access rate of the amount of data accessed to the SDRAM. In order to enable image data to be written to the SDRAM, it is necessary to provide a corresponding number of clocks. For example, when the interface clock for video data is 27 MHz, the data width is 16 bits, and the SDRAM bus width is 32 bits, only video data is written to and read from the SDRAM.
27 MHz x 16 bits x 2 (write and read) / 32 bits = 27 MHz
More clocks are needed.
[0011]
Actually, a waiting operation occurs at the time of refresh for holding SDRAM data or precharge for changing the row address. The amount related to this waiting operation also needs to increase the clock. Further, when processing audio data, a higher frequency clock is required. Therefore, in reality, it is difficult to transfer image data and audio data continuously.
[0012]
Therefore, when image data is transferred to a processing unit that uses SDRAM, it is necessary to create an idle period for access to the SDRAM during the processing of the image data in order to process data other than the image data with the SDRAM. As one of the methods, a method of transferring one frame of image data in a burst manner to create an empty period for each frame is conceivable. This method requires a buffer memory for storing audio data for one frame until the image data processing is completed. Alternatively, it is necessary to widen the bandwidth in order to process audio data in a time division manner with image data. High bandwidth increases power consumption. Therefore, a method for creating an empty period for each frame is not preferable.
[0013]
As another method, it is conceivable to create a period during which no transfer is performed for each slice unit of MPEG to lower the transfer rate for the SDRAM. However, if a large amount of data is included in the user data portion of the non-image data described above, the length of the slice made up of the non-image data becomes large, resulting in continuous transfer to the SDRAM. A problem arises that cannot be performed during continuous transfer.
[0014]
  Accordingly, an object of the present invention is to provide a data recording apparatus, a data recording method, and data capable of solving the above-described problems requiring an audio buffer memory, increased power consumption, and problems at the time of transferring non-image data. Processing equipment,andData processing methodThe lawIt is to provide.
[0015]
[Means for Solving the Problems]
  In order to solve the above-mentioned problem, the invention of claim 1 is a data recording apparatus for recording image data and audio data on a recording medium.
  Generated by compression encoding image dataVariable length image dataAnd non-image data such as headers associated with variable-length image dataIncluding variable length image dataTo processing departmentA stream with a non-transfer period for each transferable periodAnd an enable signal indicating the length of data transferred within a period that can be transferred in synchronization with the streamA stream converter that outputs
  streamAnd enable signalIs entered,Processing to detect the length of data from the enable signal;Variable length image dataAnd non-image dataPacking the overflow data that protrudes from the fixed frame into the empty area generated in the other fixed frameprocessingAnd error correction coding processingWhen, In the period of no transferDoneError correction coding processing of audio dataWhenA processing unit for performing
  A synchronization signal adding unit for adding a synchronization signal to the output data of the processing unit and forming a sync block;
  A data recording apparatus comprising recording means for recording an output signal in which sync blocks from a synchronization signal adding unit are continuous on a recording medium.
[0016]
  Claim6The invention ofIn a data recording method for recording image data and audio data on a recording medium,
  A stream that includes variable-length image data generated by compressing and encoding image data and non-image data such as a header associated with the variable-length image data, and the variable-length image data can be transferred to the processing unit A step in which the stream conversion unit outputs a stream provided with a period not to be transferred and an enable signal indicating the length of data transferred within a period that can be transferred in synchronization with the stream;
  Stream and enable signal are input, processing to detect the length of data from the enable signal, variable length image data and non-image data are arranged in multiple fixed frames, and overflow data that protrudes from the fixed frame is transferred to other fixed frames Processing steps for performing packing processing to pack into the generated free space, error correction encoding processing, and error correction encoding processing of audio data performed in a period during which no transfer is performedWhen,
  Adding a synchronization signal to the output data from the processing step and forming a sync block; and
  A data recording method comprising: a recording step for recording an output signal having a continuous sync block from the synchronization signal adding step on a recording mediumIt is.
[0017]
  The invention of claim 7 is a data processing apparatus for processing image data and audio data.
  A stream that includes variable-length image data generated by compressing and encoding image data and non-image data such as a header associated with the variable-length image data, and the variable-length image data can be transferred to the processing unit A stream conversion unit that outputs a enable signal indicating a length of data transferred within a period that can be transferred in synchronization with the stream, and a stream that is not transferred
  Stream and enable signal are input, processing to detect the length of data from the enable signal, variable length image data and non-image data are arranged in multiple fixed frames, and overflow data that protrudes from the fixed frame is transferred to other fixed frames A data processing apparatus comprising: a processing unit that performs packing processing to pack a generated empty area, error correction encoding processing, and error correction encoding processing of audio data performed in a period during which no transfer is performed. is there.
  The invention of claim 8 is a data processing method for processing image data and audio data.
  A stream that includes variable-length image data generated by compressing and encoding image data and non-image data such as a header associated with the variable-length image data, and the variable-length image data can be transferred to the processing unit A step in which the stream conversion unit outputs a stream provided with a period not to be transferred and an enable signal indicating the length of data transferred within a period that can be transferred in synchronization with the stream;
  Stream and enable signal are input, processing to detect the length of data from the enable signal, variable length image data and non-image data are arranged in multiple fixed frames, and overflow data that protrudes from the fixed frame is transferred to other fixed frames A data processing method characterized by comprising processing steps for performing packing processing to pack into the generated free space, error correction encoding processing, and error correction encoding processing of audio data performed in a period not to be transferred AhThe
[0018]
The image data consists of unequal length data generated corresponding to a predetermined range such as a macroblock. Further, non-image data such as information necessary for image data restoration and user data is also generated. When transferring these image data and non-image data, a period during which data is not transferred is provided during a period during which data transfer is possible. As a result, the circuit block that has received the transferred data can process other data, such as audio data, in the idle period. Therefore, there is no need to have an audio buffer memory. Even if the data amount of non-image data increases, there is an empty period in a predetermined cycle, so that continuous transfer is not performed and it is not necessary to increase the bandwidth. In the circuit block that has received the transferred data, the non-image data is handled in the same manner as the image data using a DRAM and packed in a fixed frame. Also, error correction coding for image data and error correction coding for audio data are performed.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment in which the present invention is applied to a digital VTR will be described. This embodiment is suitable for use in a broadcast station environment, and enables recording / playback of video signals in a plurality of different formats. For example, both signals with 480 effective lines (480i signal) in interlaced scanning based on the NTSC system and signals with 576 effective lines (576i signal) in interlaced scanning based on the PAL system are almost hard. It is possible to record and play back without changing the wear. Furthermore, signals with 1080 lines (1080i signal) in interlaced scanning and signals with 480 lines, 720 lines, and 1080 lines in progressive scanning (non-interlaced) (480p signal, 720p signal, 1080p signal), respectively. Recording / playback can be performed.
[0020]
In this embodiment, the video signal is compression-encoded based on the MPEG2 system. As is well known, MPEG2 is a combination of motion compensation predictive coding and compression coding by DCT. The data structure of MPEG2 has a hierarchical structure, and from the lower order is a block layer, a macroblock layer, a slice layer, a picture layer, a GOP layer, and a sequence layer.
[0021]
The block layer is composed of DCT blocks that are units for performing DCT. The macroblock layer is composed of a plurality of DCT blocks. The slice layer is composed of a header part and an arbitrary number of macroblocks that do not extend between rows. The picture layer is composed of a header part and a plurality of slices. A picture corresponds to one screen. The GOP layer includes a header part, an I picture that is a picture based on intra-frame coding, and a P and B picture that are pictures based on predictive coding.
[0022]
An I picture (Intra-coded picture) uses information that is closed only in one picture when it is encoded. Therefore, at the time of decoding, it can be decoded only with the information of the I picture itself. A P picture (Predictive-coded picture: a forward predictive coded picture) uses a previously decoded I picture or P picture that is temporally previous as a predicted picture (an image that serves as a reference for obtaining a difference). . Whether the difference from the motion compensated predicted image is encoded or encoded without taking the difference is selected in units of macroblocks. A B picture (Bidirectionally predictive-coded picture) is a previously decoded I picture or P picture that is temporally previous, as a predicted picture (a reference picture for obtaining a difference). Three types of I pictures or P pictures that have already been decoded and interpolated pictures made from both are used. Among the three types of motion-compensated difference encoding and intra-encoding, the most efficient one is selected for each macroblock.
[0023]
Therefore, macroblock types include intra-frame (Intra) macroblocks, forward (Foward) inter-frame prediction macroblocks that predict the future from the past, and backward (Backward) frames that predict the past from the future. There are prediction macroblocks and bidirectional macroblocks that predict from both the front and rear directions. All macroblocks in an I picture are intraframe coded macroblocks. Further, the P picture includes an intra-frame encoded macro block and a forward inter-frame prediction macro block. The B picture includes all the four types of macroblocks described above.
[0024]
A GOP includes at least one I picture, and P and B pictures are allowed even if they do not exist. The uppermost sequence layer includes a header part and a plurality of GOPs.
[0025]
In the MPEG format, a slice is one variable length code sequence. A variable-length code sequence is a sequence in which a data boundary cannot be detected unless the variable-length code is decoded.
[0026]
In addition, an identification code (referred to as a start code) having a predetermined bit pattern arranged in units of bytes is arranged at the beginning of the sequence layer, GOP layer, picture layer, slice layer, and macroblock layer. . In addition, the header part of each layer mentioned above describes a header, extension data, or user data collectively. In the header of the sequence layer, the size (number of vertical and horizontal pixels) of the image (picture) is described. In the GOP layer header, a time code, the number of pictures constituting the GOP, and the like are described.
[0027]
The macroblock included in the slice layer is a set of a plurality of DCT blocks, and the coded sequence of the DCT block is a sequence of quantized DCT coefficients, the number of consecutive 0 coefficients (run), and the non-zero sequence immediately thereafter. (Level) is variable length encoded as one unit. Identification codes arranged in byte units are not added to the macroblock and the DCT block in the macroblock.
[0028]
The macro block is obtained by dividing a screen (picture) into a grid of 16 pixels × 16 lines. The slice is formed by, for example, connecting the macro blocks in the horizontal direction. The last macroblock of the previous slice and the first macroblock of the next slice are continuous, and it is not allowed to form macroblock overlap between slices. When the screen size is determined, the number of macro blocks per screen is uniquely determined.
[0029]
On the other hand, in order to avoid signal degradation due to decoding and encoding, it is desirable to edit on the encoded data. At this time, the P picture and the B picture require the temporally previous picture or the previous and subsequent pictures for decoding. For this reason, the editing unit cannot be set to one frame unit. In consideration of this point, in this embodiment, one GOP is made up of one I picture.
[0030]
Further, for example, a recording area in which recording data for one frame is recorded is a predetermined one. Since MPEG2 uses variable length coding, the amount of data generated for one frame is controlled so that data generated in one frame period can be recorded in a predetermined recording area. Further, in this embodiment, one slice is composed of one macro block and one macro block is applied to a fixed frame having a predetermined length so as to be suitable for recording on a magnetic tape. In MPEG, one slice is usually composed of one stripe (16 lines), and variable length coding starts from the left end of the screen and ends at the right end. Therefore, when the MPEG elementary stream is recorded as it is by the VTR, the reproducible part concentrates on the left end of the screen during high speed reproduction and cannot be uniformly updated. Further, since the arrangement of data on the tape cannot be predicted, uniform screen updating cannot be performed if the tape pattern is traced at a constant interval. Furthermore, if an error occurs even at one location, it affects the right edge of the screen and cannot be restored until the next slice header is detected. For this purpose, one slice is composed of one macroblock.
[0031]
FIG. 1 shows an example of the configuration of the recording side of the recording / reproducing apparatus according to this embodiment. At the time of recording, a digital video signal is input from the terminal 101 via a receiving unit of a predetermined interface, for example, SDI (Serial Data Interface). SDI is an interface defined by SMPTE for transmitting (4: 2: 2) component video signals, digital audio signals and additional data. The input video signal is subjected to DCT (Discrete Cosine Transform) processing in the video encoder 102, converted into coefficient data, and the coefficient data is variable-length encoded. The variable length coding (VLC) data from the video encoder 102 is an elementary stream compliant with MPEG2. This output is supplied to one input terminal of the selector 103.
[0032]
On the other hand, SDTI (Serial Data Transport Interface) format data, which is an interface defined by ANSI / SMPTE 305M, is input through the input terminal 104. This signal is synchronously detected by the SDTI receiving unit 105. Then, once stored in the buffer, the elementary stream is extracted. The extracted elementary stream is supplied to the other input terminal of the selector 103.
[0033]
The elementary stream selected and output by the selector 103 is supplied to the stream converter 106. In the stream converter 106, the DCT coefficients arranged for each DCT block based on the MPEG2 regulations are grouped for each frequency component through a plurality of DCT blocks constituting one macro block, and the collected frequency components are rearranged. In addition, when one slice of the elementary stream has one stripe, the stream converter 106 makes one slice consist of one macroblock. Furthermore, the stream converter 106 limits the maximum length of variable length data generated in one macroblock to a predetermined length. This can be done by setting the higher order DCT coefficients to zero. The rearranged converted elementary streams are supplied to the packing and shuffling unit 107.
[0034]
Since the video data of the elementary stream is variable-length encoded, the data lengths of the macroblocks are not uniform. In the packing and shuffling unit 107, macroblocks are packed in a fixed frame. At this time, the overflow portion that protrudes from the fixed frame is sequentially packed into an empty area with respect to the size of the fixed frame. In addition, system data having information such as the image format and shuffling pattern version is supplied from the input terminal 108 to the packing and shuffling unit 107, and the system data is subjected to a recording process in the same manner as picture data. System data is recorded as video AUX. Further, shuffling is performed in which the macroblocks of one frame generated in the scanning order are rearranged to distribute the recording positions of the macroblocks on the tape. By shuffling, the image update rate can be improved even when data is reproduced piecewise during variable speed reproduction.
[0035]
Video data and system data from the packing and shuffling unit 107 (hereinafter, unless otherwise required, system data is also simply referred to as video data) is supplied to the outer code encoder 109. A product code is used as an error correction code for video data and audio data. In the product code, the outer code is encoded in the vertical direction of the two-dimensional array of video data or audio data, the inner code is encoded in the horizontal direction, and the data symbols are encoded doubly. As the outer code and the inner code, a Reed-Solomon code can be used.
[0036]
The output of the outer code encoder 109 is supplied to the shuffling unit 110, and shuffling is performed in which the order is changed in units of sync blocks over a plurality of ECC blocks. Shuffling in sync block units prevents errors from concentrating on a specific ECC block. The shuffling performed by the shuffling unit 110 may be referred to as interleaving. The output of the shuffling unit 110 is supplied to the mixing unit 111 and mixed with the audio data. Note that the mixing unit 111 includes a main memory as will be described later.
[0037]
Audio data is supplied from an input terminal 112. In this embodiment, uncompressed digital audio signals are handled. The digital audio signal is a signal separated by an SDI receiving unit (not shown) or an SDTI receiving unit 105 on the input side, or input via an audio interface. The input digital audio signal is supplied to the AUX adding unit 114 via the delay unit 113. The delay unit 113 is for time alignment of the audio signal and the video signal. The audio AUX supplied from the input terminal 115 is auxiliary data, and is data having information related to audio data such as a sampling frequency of the audio data. The audio AUX is added to the audio data by the AUX adding unit 114 and is handled in the same way as the audio data.
[0038]
Audio data and AUX from the AUX adding unit 114 (hereinafter referred to simply as audio data including AUX unless otherwise required) are supplied to the outer code encoder 116. The outer code encoder 116 encodes audio data with an outer code. The output of the outer code encoder 116 is supplied to the shuffling unit 117 and subjected to shuffling processing. As audio shuffling, shuffling in sync blocks and shuffling in channels are performed.
[0039]
The output of the shuffling unit 117 is supplied to the mixing unit 111, and the video data and the audio data are converted into one channel data. The output of the mixing unit 111 is supplied to the ID adding unit 118, and the ID adding unit 118 adds an ID having information indicating a sync block number. The output of the ID adding unit 118 is supplied to the inner code encoder 119, and the inner code is encoded. Further, the output of the inner code encoder 119 is supplied to the synchronization adding unit 120, and a synchronization signal for each sync block is added. Recording data with continuous sync blocks is configured by adding a synchronization signal. This recording data is supplied to the rotary head 122 via the recording amplifier 121 and recorded on the magnetic tape 123. The rotary head 122 is actually a magnetic head in which a plurality of magnetic heads having different azimuths forming adjacent tracks are attached to a rotary drum.
[0040]
You may perform a scramble process with respect to recording data as needed. Also, digital modulation may be performed during recording, and partial response class 4 and Viterbi code may be used.
[0041]
FIG. 2 shows an example of the configuration on the reproduction side of one embodiment of the present invention. A reproduction signal reproduced by the rotary head 122 from the magnetic tape 123 is supplied to the synchronization detection unit 132 via the reproduction amplifier 131. Equalization and waveform shaping are performed on the reproduced signal. Further, demodulation of digital modulation, Viterbi decoding, and the like are performed as necessary. The synchronization detector 132 detects a synchronization signal added to the head of the sync block. A sync block is cut out by synchronization detection.
[0042]
The output of the synchronization detection block 132 is supplied to the inner code encoder 133, and error correction of the inner code is performed. The output of the inner code encoder 133 is supplied to the ID interpolation unit 134, and the ID of the sync block in which an error is caused by the inner code, for example, the sync block number is interpolated. The output of the ID interpolation unit 134 is supplied to the separation unit 135, and the video data and the audio data are separated. As described above, video data means DCT coefficient data and system data generated by MPEG intra coding, and audio data means PCM (Pulse Code Modulation) data and AUX.
[0043]
The video data from the separation unit 135 is processed in the deshuffling unit 136 in the reverse manner to the shuffling. The deshuffling unit 136 performs a process of restoring the sync block unit shuffling performed by the recording-side shuffling unit 110. The output of the deshuffling unit 136 is supplied to the outer code decoder 137, and error correction using the outer code is performed. When an error that cannot be corrected occurs, an error flag indicating the presence or absence of an error indicates that there is an error.
[0044]
The output of the outer code decoder 137 is supplied to the deshuffling and depacking unit 138. The deshuffling and depacking unit 138 performs processing for restoring the macroblock unit shuffling performed by the recording side packing and shuffling unit 107. The deshuffling and depacking unit 138 disassembles the packing applied during recording. That is, the data length is returned in units of macroblocks to restore the original variable length code (unequal length data). Further, in the deshuffling and depacking unit 138, the system data is separated and taken out to the output terminal 139.
[0045]
The output of the deshuffling and depacking unit 138 is supplied to the interpolation unit 140, and the data in which the error flag is set (that is, there is an error) is corrected. That is, if there is an error in the middle of the macroblock data before conversion, the DCT coefficient of the frequency component after the error location cannot be restored. Therefore, for example, the data at the error location is replaced with a block end code (EOB), and the DCT coefficients of the frequency components thereafter are set to zero. Similarly, during high-speed reproduction, only DCT coefficients up to the length corresponding to the sync block length are restored, and the subsequent coefficients are replaced with zero data. Further, the interpolation unit 140 performs a process of recovering the header (sequence header, GOP header, picture header, user data, etc.) when the header added to the head of the video data is an error.
[0046]
Since the DCT coefficients are arranged from the DC component and the low-frequency component to the high-frequency component across the DCT block, a macroblock is configured even if the DCT coefficient is ignored from a certain point in this way. For each DCT block, DCT coefficients from DC and low frequency components can be distributed evenly.
[0047]
The output of the interpolation unit 140 is supplied to the stream converter 141. The stream converter 141 performs the reverse process of the stream converter 106 on the recording side. That is, the DCT coefficients arranged for each frequency component across DCT blocks are rearranged for each DCT block. As a result, the reproduction signal is converted into an elementary stream compliant with MPEG2.
[0048]
As for the input / output of the stream converter 141, as in the recording side, a sufficient transfer rate (bandwidth) is secured according to the maximum length of the macroblock. When the length of the macroblock (slice) is not limited, it is preferable to secure a bandwidth that is three times the pixel rate.
[0049]
The output of the stream converter 141 is supplied to the video decoder 142. The video decoder 142 decodes the elementary stream and outputs video data. That is, the video decoder 142 performs an inverse quantization process and an inverse DCT process. Decoded video data is extracted to the output terminal 143. For example, SDI is used as an interface with the outside. Further, the elementary stream from the stream converter 141 is supplied to the SDTI transmission unit 144. Although the route is not shown in the SDTI transmission unit 144, system data, reproduction audio data, and AUX are also supplied and converted into a stream having a data structure of the SDTI format. A stream from the SDTI transmission unit 144 is output to the outside through the output terminal 145.
[0050]
The audio data separated by the separation unit 135 is supplied to the deshuffling unit 151. The deshuffling unit 151 performs a process reverse to that performed by the shuffling unit 117 on the recording side. The output of the deshuffling unit 117 is supplied to the outer code decoder 152, and error correction using the outer code is performed. From the outer code decoder 152, error-corrected audio data is output. For data with errors that cannot be corrected, an error flag is set.
[0051]
The output of the outer code decoder 152 is supplied to the AUX separation unit 153, and the audio AUX is separated. The separated audio AUX is taken out to the output terminal 154. Audio data is supplied to the interpolation unit 155. The interpolation unit 155 interpolates samples with errors. As an interpolation method, average value interpolation for interpolating with the average value of correct data before and after time, pre-value hold for holding the value of the previous correct sample, and the like can be used. The output of the interpolation unit 155 is supplied to the output unit 156. The output unit 156 performs a mute process for prohibiting output of an audio signal that is an error and cannot be interpolated, and a delay amount adjustment process for time alignment with the video signal. A reproduced audio signal is extracted from the output unit 156 to the output terminal 157.
[0052]
Although omitted in FIGS. 1 and 2, a timing generator for generating a timing signal synchronized with input data, a system controller (microcomputer) for controlling the overall operation of the recording / reproducing apparatus, and the like are provided. .
[0053]
In this embodiment, the signal recording on the magnetic tape is performed by a helical scan method in which an oblique track is formed by a magnetic head provided on a rotating rotary head. A plurality of magnetic heads are provided on the rotary drum at positions facing each other. That is, when the magnetic tape is wound around the rotary head with a winding angle of about 180 °, a plurality of tracks can be simultaneously formed by rotating the rotary head at 180 °. Further, two magnetic heads having different azimuths are used as one set. The plurality of magnetic heads are arranged so that adjacent tracks have different azimuths.
[0054]
FIG. 3 shows an example of a track format formed on the magnetic tape by the rotary head described above. This is an example in which video and audio data per frame are recorded in 8 tracks. For example, an interlace signal (480i signal) and an audio signal having a frame frequency of 29.97 Hz, a rate of 50 Mbps, an effective line number of 480, and an effective horizontal pixel number of 720 pixels are recorded. Further, an interlace signal (576i signal) and an audio signal having a frame frequency of 25 Hz, a rate of 50 Mbps, an effective line number of 576, and an effective horizontal pixel number of 720 pixels can be recorded in the same tape format as in FIG.
[0055]
One segment is composed of two tracks of different azimuths. That is, 8 tracks are composed of 4 segments. A track number [0] and a track number [1] corresponding to azimuth are assigned to a set of tracks constituting a segment. In the example shown in FIG. 3, the track numbers are interchanged between the first 8 tracks and the second 8 tracks, and different track sequences are attached to each frame. As a result, even if one of the pair of magnetic heads having different azimuths becomes unreadable due to clogging, for example, the influence of the error can be reduced using the data of the previous frame.
[0056]
In each of the tracks, a video sector in which video data is recorded is disposed on both ends, and an audio sector in which audio data is recorded is disposed between the video sectors. FIG. 3 and FIG. 4 described later show the arrangement of audio sectors on the tape.
[0057]
In the track format shown in FIG. 3, 8-channel audio data can be handled. A1 to A8 indicate sectors 1 to 8ch of audio data, respectively. Audio data is recorded by changing the arrangement in segment units. Audio data is divided into even-numbered samples and odd-numbered samples of audio samples generated in one field period (for example, when the field frequency is 29.97 Hz and the sampling frequency is 48 kHz, 800 samples or 801 samples). Each sample group and AUX constitute one ECC block of product codes.
[0058]
In FIG. 3, since audio data for one field is recorded on four tracks, two ECC blocks per channel of audio data are recorded on four tracks. Data of two ECC blocks (including outer code parity) are divided into four sectors, and are distributed and recorded on four tracks as shown in FIG. A plurality of sync blocks included in two ECC blocks are shuffled. For example, a 2 ECC block of channel 1 is configured by 4 sectors to which a reference number of A1 is attached.
[0059]
In this example, video data for 4 ECC blocks is shuffled (interleaved) with respect to one track, and is divided into each sector by Upper Side and Lower Side and recorded. A system area is provided at a predetermined position in the video sector of the Lower Side.
[0060]
In FIG. 3, SAT1 (Tr) and SAT2 (Tm) are areas in which servo lock signals are recorded. In addition, gaps (Vg1, Sg1, Ag, Sg2, Sg3, and Vg2) having a predetermined size are provided between the recording areas.
[0061]
FIG. 3 shows an example in which data per frame is recorded in 8 tracks, but data per frame can be recorded in 4 tracks, 6 tracks, etc. depending on the format of data to be recorded and reproduced. FIG. 4A shows a format in which one frame has 6 tracks. In this example, the track sequence is only [0].
[0062]
As shown in FIG. 4B, the data recorded on the tape is composed of a plurality of blocks called “sink blocks” divided at equal intervals. FIG. 4C schematically shows the configuration of the sync block. As will be described in detail later, the sync block is composed of a sync pattern for detecting synchronization, an ID for identifying each sync block, a DID indicating the content of subsequent data, a data packet, and an inner code parity for error correction. Is done. Data is handled as a packet in sync block units. That is, the smallest data unit to be recorded or reproduced is one sync block. A large number of sync blocks are arranged (FIG. 4B) to form, for example, a video sector (FIG. 4A).
[0063]
FIG. 5 more specifically shows the data structure of the sync block of video data, which is the minimum unit of recording / reproduction. In this embodiment, data of one or two macroblocks (VLC data) is stored in one sync block according to the format of video data to be recorded, and the size of one sync block is The length is changed according to the format of the video signal to be handled. As shown in FIG. 5A, one sync block is composed of a 2-byte SYNC pattern, 2-byte ID, 1-byte DID, for example, a data area variably defined between 112 bytes and 206 bytes, and 12 bytes from the top. Consists of byte parity (internal code parity). The data area is also called a payload.
[0064]
The first 2-byte SYNC pattern is for synchronization detection and has a predetermined bit pattern. Synchronization detection is performed by detecting a SYNC pattern that matches a unique pattern.
[0065]
FIG. 6A shows an example of bit assignments of ID0 and ID1. The ID has important information inherent to the sync block, and 2 bytes (ID0 and ID1) are assigned to each ID. ID0 stores identification information (SYNC ID) for identifying each sync block in one track. The SYNC ID is, for example, a serial number assigned to the sync block in each sector. The SYNC ID is expressed by 8 bits. A SYNC ID is assigned to each of the video sync block and the audio sync block.
[0066]
ID1 stores information related to the track of the sync block. If the MSB side is bit 7 and the LSB side is bit 0, then regarding the sync block, bit 7 indicates whether the track is upper (Upper) or lower (Lower), and bits 5 to 2 indicate the track segment. Is shown. Bit 1 indicates a track number corresponding to the azimuth of the track, and bit 0 is a bit by which the sync block distinguishes video data and audio data.
[0067]
FIG. 6B shows an example of DID bit assignment in the case of video. The DID stores information related to the payload. Based on the value of bit 0 of ID1 described above, the contents of DID differ between video and audio. Bits 7 to 4 are undefined (Reserved). Bits 3 and 2 are payload modes, for example indicating the type of payload. Bits 3 and 2 are auxiliary. Bit 1 indicates that one or two macroblocks are stored in the payload. Bit 0 indicates whether the video data stored in the payload is outer code parity.
[0068]
FIG. 6C shows an example of DID bit assignment in the case of audio. Bits 7 to 4 are reserved. Bit 3 indicates whether the data stored in the payload is audio data or general data. When compression-encoded audio data is stored for the payload, bit 3 is a value indicating the data. Bits 2 to 0 store 5-field sequence information in the NTSC system. That is, in the NTSC system, when the sampling frequency is 48 kHz, the audio signal is one of 800 samples and 801 samples for one field of the video signal, and this sequence is arranged every five fields. Bit 2 to bit 0 indicate where in the sequence.
[0069]
Returning to FIG. 5, FIGS. 5B to 5E show examples of the above-described payload. FIG. 5B and FIG. 5C show examples in which video data (unequal length data) of 1 and 2 macroblocks are stored in the payload, respectively. In the example of storing one macroblock shown in FIG. 5B, a data length indicator LT indicating the length of unequal length data corresponding to the macroblock is arranged in the first 3 bytes. The data length indicator LT may or may not include its own length. Further, in the example shown in FIG. 5C in which two macroblocks are stored, the data length indicator LT of the first macroblock is arranged at the head, and then the first macroblock is arranged. Then, a data length indicator LT indicating the length of the second macroblock is arranged following the first macroblock, and then the second macroblock is arranged. The data length indicator LT is information necessary for depacking.
[0070]
FIG. 5D shows an example where video AUX (auxiliary) data is stored for the payload. The head data length indicator LT describes the length of the video AUX data. Following this data length indicator LT, 5-byte system information, 12-byte PICT information, and 92-byte user information are stored. The remaining portion with respect to the length of the payload is reserved.
[0071]
FIG. 5E shows an example where audio data is stored in the payload. Audio data can be packed over the entire length of the payload. The audio signal is not subjected to compression processing or the like, for example, is handled in the PCM format. However, the present invention is not limited to this, and audio data compressed and encoded by a predetermined method can be handled.
[0072]
In this embodiment, the length of the payload, which is the data storage area of each sync block, is optimally set for each of the video sync block and the audio sync block, and is not equal to each other. Also, the length of the sync block for recording video data and the length of the sync block for recording audio data are set to optimum lengths according to the signal format. Thereby, a plurality of different signal formats can be handled in a unified manner.
[0073]
FIG. 7A shows the order of DCT coefficients in video data output from the DCT circuit of the MPEG encoder. Starting from the upper left DC component in the DCT block, DCT coefficients are output in a zigzag scan in the direction of increasing horizontal and vertical spatial frequencies. As a result, as shown in FIG. 7B, a total of 64 (8 pixels × 8 lines) DCT coefficients are arranged in order of frequency components.
[0074]
This DCT coefficient is variable length encoded by the VLC part of the MPEG encoder. That is, the first coefficient is fixed as a DC component, and codes are assigned from the next component (AC component) corresponding to a run of zero and the subsequent level. Therefore, the variable length coding output for the coefficient data of the AC component is changed from the low (low order) coefficient of the frequency component to the high (high order) coefficient.1, AC2, ACThree, ... are arranged. The elementary stream includes variable length encoded DCT coefficients.
[0075]
In the stream converter 106, the DCT coefficients of the supplied signal are rearranged. That is, in each macroblock, the DCT coefficients arranged in the order of frequency components for each DCT block by zigzag scanning are rearranged in the order of frequency components over each DCT block constituting the macroblock.
[0076]
FIG. 8 schematically shows the rearrangement of DCT coefficients in the stream converter 106. In the case of a (4: 2: 2) component signal, one macroblock includes four DCT blocks (Y1, Y2, YThreeAnd YFour) And two DCT blocks (Cb) by chromaticity signals Cb and Cr, respectively.1, Cb2, Cr1And Cr2).
[0077]
As described above, the video encoder 102 performs zigzag scanning in accordance with the MPEG2 standard, and as shown in FIG. 8A, for each DCT block, the DCT coefficient is changed from a DC component and a low frequency component to a high frequency component. Arranged in order of components. When the scan of one DCT block is completed, the next DCT block is scanned, and the DCT coefficients are arranged in the same manner.
[0078]
That is, in the macro block, the DCT block Y1, Y2, YThreeAnd YFour, DCT block Cb1, Cb2, Cr1And Cr2DCT coefficients are arranged in order of frequency from the DC component and the low-frequency component to the high-frequency component. Then, a set consisting of a continuous run and the following level is divided into [DC, AC1, AC2, ACThree,...], And variable length coding is performed so that codes are assigned.
[0079]
In the stream converter 106, the variable-length encoded and arranged DCT coefficients are once decoded by detecting the delimiter of each coefficient, and for each frequency component across each DCT block constituting the macroblock. To summarize. This is shown in FIG. 8B. First, the DC components of the eight DCT blocks in the macroblock are gathered, then the AC coefficient components having the lowest frequency components of the eight DCT blocks are gathered, and then the AC coefficients of the same order are gathered in order. The coefficient data is rearranged across the DCT blocks.
[0080]
The rearranged coefficient data is DC (Y1), DC (Y2), DC (YThree), DC (YFour), DC (Cb1), DC (Cb2), DC (Cr1), DC (Cr2), AC1(Y1), AC1(Y2), AC1(YThree), AC1(YFour), AC1(Cb1), AC1(Cb2), AC1(Cr1), AC1(Cr2), ... Where DC, AC1, AC2,... Are each code of a variable length code assigned to a set consisting of a run and a subsequent level, as described with reference to FIG.
[0081]
The converted elementary stream in which the order of the coefficient data is rearranged by the stream converter 106 is supplied to the packing and shuffling unit 107. The data length of the macroblock is the same for the converted elementary stream and the elementary stream before conversion. Further, even if the video encoder 102 is fixed in GOP (one frame) unit by bit rate control, the length varies in macroblock unit. The packing and shuffling unit 107 applies the macro block data to the fixed frame.
[0082]
FIG. 9 schematically illustrates a macroblock packing process in the packing and shuffling unit 107. The macro block is applied to a fixed frame having a predetermined data length and packed. The data length of the fixed frame used at this time is made to coincide with the data length of the sync block which is the minimum unit of data at the time of recording and reproduction. This is because the shuffling and error correction coding processes are easily performed. In FIG. 9, for simplicity, it is assumed that 8 macroblocks are included in one frame.
[0083]
As an example is shown in FIG. 9A, the lengths of 8 macroblocks are different from each other by variable length coding. In this example, the data of the macroblock # 1, the data of # 3 and the data of # 6 are longer than the length of the data area of one sync block which is a fixed frame, respectively, and the data of the macroblock # 2 and # 5 , # 7 data and # 8 data are short. Further, the data of the macro block # 4 has a length substantially equal to one sync block.
[0084]
By the packing process, macroblocks are packed into a fixed length frame having a length of one sync block. The reason why data can be packed without excess or deficiency is that the amount of data generated in one frame period is controlled to a fixed amount. As shown in an example in FIG. 9B, a macroblock that is longer than one sync block is divided at a position corresponding to the sync block length. Of the divided macroblocks, the portion that overflows from the sync block length (overflow portion) is packed into an area that is vacant in order from the top, that is, after the macroblock whose length is less than the sync block length.
[0085]
In the example of FIG. 9B, the portion of the macro block # 1 that protrudes from the sync block length is first stuffed behind the macro block # 2, and when that reaches the length of the sync block, Stuffed into. Next, the portion of the macro block # 3 that protrudes from the sync block length is packed behind the macro block # 7. Further, the portion of the macro block # 6 that protrudes from the sync block length is packed behind the macro block # 7, and the portion that protrudes further is packed behind the macro block # 8. In this way, each macroblock is packed into a fixed frame having a sync block length.
[0086]
The length of the unequal length data corresponding to each macroblock can be checked in advance by the stream converter 106. Thereby, the packing unit 107 can know the tail end of the data of the macroblock without decoding the VLC data and checking the contents.
[0087]
FIG. 10 shows an example of an error correction code used in one embodiment, FIG. 10A shows a 1 ECC block of the error correction code for video data, and FIG. 10B shows a 1 ECC block of the error correction code for audio data. . In FIG. 10A, VLC data is data from the packing and shuffling unit 107. A SYNC pattern, ID, and DID are added to each row of VLC data, and a parity of an inner code is further added to form one SYNC block.
[0088]
That is, a parity of 10 bytes of outer code is generated from a predetermined number of symbols (bytes) aligned in the vertical direction of the VLC data array, and ID, DID and VLC data (or outer code parity) aligned in the horizontal direction. The parity of the inner code is generated from a predetermined number of symbols (bytes). In the example of FIG. 10A, 10 outer code parity symbols and 12 inner code parity symbols are added. A Reed-Solomon code is used as a specific error correction code. In FIG. 10A, the lengths of VLC data in one SYNC block are different because they correspond to different frame frequencies of video data, such as 59.94 Hz, 25 Hz, and 23.976 Hz.
[0089]
As shown in FIG. 10B, the product code for audio data is similar to that for video data, and generates 10-symbol outer-code parity and 12-symbol inner-code parity. In the case of audio data, the sampling frequency is 48 kHz, for example, and one sample is quantized to 24 bits. One sample may be converted to another number of bits, for example, 16 bits. The amount of audio data in one SYNC block differs according to the difference in frame frequency described above. As described above, two ECC blocks are formed by one field of audio data / one channel. One ECC block includes even-numbered and odd-numbered audio samples and audio AUX as data.
[0090]
FIG. 11 shows a more specific configuration of the recording side configuration according to the embodiment of the present invention. In FIG. 11, reference numeral 164 denotes an interface of the main memory 160 external to the IC. The main memory 160 is composed of SDRAM. The interface 164 arbitrates requests from the inside to the main memory 160 and performs write / read processing on the main memory 160. The packing and shuffling unit 107 is configured by the packing unit 107a, the video shuffling unit 107b, and the packing unit 107c.
[0091]
FIG. 12 shows an example of the address configuration of the main memory 160. The main memory 160 is composed of, for example, a 64 Mbit SDRAM. The main memory 160 has a video area 250, an overflow area 251, and an audio area 252. The video area 250 includes four banks (vbank # 0, vbank # 1, vbank # 2, and vbank # 3). Each of the four banks can store a digital video signal in a unit of equal length. The equal length unit is a unit for controlling the amount of generated data to a substantially target value, and is, for example, one picture (I picture) of a video signal. A portion A in FIG. 12 indicates a data portion of one sync block of the video signal. In one sync block, data having a different number of bytes is inserted depending on the format (see FIG. 5A). In order to support a plurality of formats, the number of bytes that is greater than the maximum number of bytes and is convenient for processing, for example, 256 bytes, is set as the data size of one sync block.
[0092]
Each bank of the video area is further divided into a packing area 250A and an output area 250B to the inner encoding encoder. The overflow area 251 is composed of four banks corresponding to the video area described above. Further, the main memory 160 has an audio data processing area 252.
[0093]
In this embodiment, by referring to the data length indicator LT of each macroblock, the packing unit 107a divides the fixed frame length data and the overflow data that is a part exceeding the fixed frame into separate areas of the main memory 160. And remember. The fixed frame length data is data equal to or shorter than the length of the data area of the sync block, and is hereinafter referred to as block length data. The area for storing the block length data is the packing processing area 250A of each bank. When the data length is shorter than the block length, an empty area is generated in the corresponding area of the main memory 160. The video shuffling unit 107b performs shuffling by controlling the write address. Here, the video shuffling unit 107b shuffles only the block length data, and the overflow portion is written in the area assigned to the overflow data without being shuffled.
[0094]
Next, the packing unit 107c performs processing for packing the overflow portion into the memory for the outer code encoder 109 and reading it. That is, the block length data is read from the main memory 160 to the memory for one ECC block prepared in the outer code encoder 109, and if there is an empty area in the block length data, the overflow portion is added there. Read to block data in block length. When data for one ECC block is read, the reading process is temporarily interrupted, and the outer code encoder 109 generates an outer code parity. The outer code parity is stored in the memory of the outer code encoder 109. When the processing of the outer code encoder 109 is completed for one ECC block, the data and outer code parity from the outer code encoder 109 are rearranged in the order in which the inner code is performed, and the packing area 250A and the output area 250B of the main memory 160 are separated. Write back to The video shuffling unit 110 performs shuffling in units of sync blocks by controlling an address when the data whose outer code has been encoded is written back to the main memory 160.
[0095]
In this way, block length data and overflow data are separated and data is written to the first area 250A of the main memory 160 (first packing processing), and overflow data is packed and read into the memory to the outer code encoder 109. Processing (second packing processing), generation of outer code parity, and processing for writing back data and outer code parity to the second area 250B of the main memory 160 are performed in units of one ECC block. By providing the outer code encoder 109 with a memory having an ECC block size, the frequency of access to the main memory 160 can be reduced.
[0096]
When the processing of a predetermined number of ECC blocks (for example, 32 ECC blocks) included in one picture is completed, the packing of one picture and the encoding of the outer code are completed. Then, the data read from the area 250B of the main memory 160 via the interface 164 is processed by the ID adding unit 118, the inner code encoder 119, and the synchronization adding unit 120, and the parallel / serial conversion unit 124 outputs the output data of the synchronization adding unit 120. Is converted into bit serial data. The output serial data is processed by the partial response class 4 precoder 125. This output is digitally modulated as necessary and supplied to the rotary head via the recording amplifier 121.
[0097]
A sync block called null sync in which valid data is not arranged may be introduced in the ECC block so that the configuration of the ECC block is flexible with respect to the difference in the format of the recorded video signal. The null sync is generated in the packing unit 107 a of the packing and shuffling block 107 and written in the main memory 160. Accordingly, since the null sync has a data recording area, it can be used as a recording sync for the overflow portion.
[0098]
In the case of audio data, even-numbered samples and odd-numbered samples of audio data in one field constitute separate ECC blocks. Since the ECC outer code sequence is composed of audio samples in the input order, the outer code encoder 116 generates an outer code parity each time an outer code sequence audio sample is input. The shuffling unit 117 performs shuffling (channel unit and sync block unit) by address control when the output of the outer code encoder 116 is written to the area 252 of the main memory 160.
[0099]
Further, a CPU interface indicated by 126 is provided, which receives data from an external CPU 127 functioning as a system controller and can set parameters for internal blocks. In order to support a plurality of formats, it is possible to set many parameters including a sync block length and a parity length. The shuffling table data as one of the parameters is stored in the video shuffling table (RAM) 128v and the audio shuffling table (RAM) 128a. The shuffling table 128v performs address conversion for shuffling of the video shuffling units 107b and 110. The shuffling table 128a performs address conversion for the audio shuffling 117.
[0100]
As described above, the stream converter 106 generates video data (picture data) rearranged so that the same frequency components of the coefficient data (variable length code) in the macroblock are collected. For example, when the stream converter 106 generates a read request to the SDTI receiving unit 105, the stream stored in the buffer of the SDTI receiving unit 105 is read. The REEAT request may be issued by the packing and shuffling unit 107. The stream converter 106 also generates non-image data such as header information other than picture data. Non-image data includes headers defined in MPEG syntax (PES header, sequence header, GOP header, picture header) and ancillary data (Ancillary Data: closed caption, teletext, VITC, etc.). Non-image data is variable-length data whose data amount varies depending on the image format, the amount of user data, and the like. Moreover, it is difficult to estimate the maximum length of non-image data per frame. Even in the case of a video elementary stream, it is difficult to estimate the maximum length of data per macroblock. In the MPEG syntax, it is allowed that the data per macroblock is larger than the original data. For example, among all the macroblocks in one frame, there is little original image data, and most of it can be used as user data.
[0101]
In the present invention, since non-image data is handled in the same way as picture data, non-image data is also supplied from the stream converter 106 to the packing and shuffling unit 107 and packed together with the picture data. For non-image data, one fixed frame is assigned as in the case of picture data of one macroblock, and a length indicator is added to the head thereof. Therefore, when the amount of data generated in one editing unit, for example, one frame period is controlled to a predetermined value, the data amount including non-image data is controlled to a predetermined value, and 1 is added to the number of all macroblocks in one frame. Picture data and non-image data are packed in the added number of fixed frames. In this embodiment, one GOP is composed of one I picture, one slice is composed of one macroblock, and picture data starts from slice 1. Therefore, in the following description, for convenience, non-image data is slice 0. And slices of picture data are collectively referred to as slice X.
[0102]
A data interface between the stream converter 106 and the packing and shuffling unit 107 will be described with reference to FIGS. 13 and 14. FIG. 13 shows the interface of slice X. In synchronization with the sync pulse shown in FIG. 13A, as shown in FIG. 13B, the data (byte serial) of slice X is transferred. The transfer rate varies depending on the format of the input image data, but is, for example, 50 M bps, which is an upper limit defined by MPEG. A baseband clock having a frequency equal to the transfer rate is used.
[0103]
In the case of slice X, sync pulses are generated with a period of 544 clocks, and data is transferred in a period of a maximum of 512 clocks (512 bytes) in 544 clocks. In each cycle, one slice of picture data is transferred. Therefore, there is a period of 544-512 = 32 clocks periodically. Although the maximum length of picture data generated in one macroblock is difficult to estimate, in this embodiment, for example, the stream converter 106 limits 512 bytes so that one slice of slice X does not exceed 512 bytes. Further, as shown in FIG. 13C, the stream converter 106 generates an enable signal that becomes a high level in synchronization with the data for a period corresponding to the length of the slice transferred in each cycle.
[0104]
In the packing and shuffling unit 107 (packing unit 107a), as shown in FIG. 13D, the data length of the slice transferred in each cycle is measured by measuring the high-level period of the enable signal after being reset by the sync pulse. Can be detected. There is a method of counting the data received in the packing and shuffling unit 107 instead of sending the enable signal. However, since the stream converter 106 knows the stream in advance, the packing and shuffling unit 107 needs to analyze the data again. Because it is not, an enable signal is sent.
[0105]
FIG. 14 illustrates an interface for transferring slice 0, that is, non-image data from the stream converter 106 to the packing and shuffling unit 107. As shown in FIG. 14B, the slice 0 is transferred using a maximum 512 clock section of the 544 clocks as in the slice X described above. Therefore, there are 32 free periods of clocks periodically. However, as shown in FIG. 14A, no sync pulse is generated until the transfer of slice 0 is completed, thereby instructing that slice 0 is one slice. As shown in FIG. 14C, an enable signal that is at a high level corresponding to the data period is also transferred in each cycle. As shown in FIG. 14D, the packing and shuffling unit 107 (packing unit 107a) can detect the data length of slice 0 by measuring the high-level period of the enable signal after being reset by the sync pulse. it can.
[0106]
As shown in FIG. 13E, slice X has a fixed 3-byte start code (000001) H (H means hexadecimal) followed by slice start codes (01) H to (AF) H. It is prescribed as follows. On the other hand, in the case of slice 0, as shown in FIG. 14E, a sequence header code (B3) H follows a fixed 3-byte start code. Therefore, in order to distinguish between slice 0 and slice X, in the case of slice 0, the start code is changed to (000000) H. As another method, both of the start codes may be (000001) H, and after that (B3) H is checked to identify slice 0 and slice X.
[0107]
In summary, the above-described interface has a fixed sync pulse interval of 544 clocks in slice X, indicates an effective data interval with an enable signal, has a maximum length of 512 clocks, and the rise of the enable signal within the sync pulse interval. And one fall each. For slice 0, the enable signal may rise and fall multiple times within one sync interval. Further, as shown by hatching in FIG. 13B and FIG. 14B, in either case of slice 0 or slice X, the valid data section is shorter than the sync pulse interval, so a free period in which no data is transferred occurs. By providing this vacant period for both slice 0 and slice X, audio data processing (error correction coding, shuffling process) can be performed in the vacant period using the main memory 160 that is shared with picture data. In addition, the transfer rate of the main memory 160 that is instantaneously required can be reduced, and power consumption can be reduced and the internal memory can be eliminated.
[0108]
The sync pulse is generated by the stream converter 106 from the video elementary stream in the following order.
[0109]
Figure 0003978903
Set the sync pulse to high. After that, it remains low until slice header (MB data). Therefore, no sync pulse is added to the start code of user data.
[0110]
Furthermore, as described above, the interface for transferring data will be described in more detail with reference to FIG. FIG. 15A shows a sync pulse, and FIG. 15B shows a video elementary stream from the stream converter 106. In the example of FIG. 15B, the data of slice 0 is intermittently transferred using four sync pulse intervals (544 clocks), and then transferred sequentially from slice 1.
[0111]
When slice 0 starts with a sequence header, the content of the data of slice 0 is, for example, as shown in FIG. 15C. Slice 0 includes a first data portion, a second data portion, and a third data portion. The first data portion is composed of sequence header (), sequence extension () and extension and user data (0). The second data portion consists of group of pictures header () and extension and user data (1). The third data part is composed of picture header (), picture coding extension () and extension and user data (2). In this embodiment, sequence header (), group of pictures header (), and picture header () are always attached as slice 0 for each picture. Further, each slice X (slice 1, slice 2,...) Is data in which macroblock () follows slice (). extension and user data () includes a video index (coded information inserted in a specific line within the vertical blanking period), video ancillary data, closed captioning, teletext, VITC (vertical blanking period) Data such as time code recorded in the inside of the tape) and LTC (time code recorded in the longitudinal direction of the tape).
[0112]
The contents of each data and the multiplexing method are defined in MPEG syntax (ISO / IEC 13818-2). To explain a part thereof, FIG. 16 shows the definition of the start code value. The start code has a unique bit pattern in the video elementary stream. Each start code is a two-byte predetermined bit string (0000 0000 0000 0000) followed by a start code value. For example, slice start code is defined as (01 to AF), and sequence header code is defined as (B3).
[0113]
FIG. 17 shows MPEG syntax (video sequence). In FIG. 17, data as described above, that is, sequence header (), sequence extension (), extension and user data (), group of pictures header (), picture header (), picture coding extension () are sliced. Treated as 0 (non-image data).
[0114]
FIG. 18 shows the contents of the Sequence header. For example, horizontal size value (12 bits) represents the number of horizontal pixels of the image, and bit rate value represents the bit rate. FIG. 19 shows the contents of the Group of pictures header. For example, time code indicates the time from the beginning of the sequence, and closed gop indicates that an image in the GOP can be reproduced independently of other GOPs. FIG. 20 shows the contents of the picture header. For example, picture coding type indicates the picture type, and full pel forward vector indicates whether the accuracy of the motion vector is an integer pixel or a half pixel unit.
[0115]
In the embodiment described above, the data width of the interface has been described as 8 bits. However, other bit widths may be used, and the values of the data transferable period (512 clocks) and the empty period (32 clocks) are examples. If it is shorter than one frame, various values can be set according to the data length of the slice X. Also, the position and polarity of the sync pulse data are not limited to those of the embodiment. Furthermore, the present invention can be applied not only to MPEG2 but also to MPEG1 streams, but it can also be applied to video streams in which the header portion exists in the stream other than MPEG. . Furthermore, the method of calculating slice length information is not limited to the method of one embodiment. Furthermore, the sync pulse is not limited to be generated by the stream converter, but can be generated by the packing and shuffling unit analyzing the stream.
[0116]
The present invention is also applicable to the case of using a recording medium such as an optical tape other than a magnetic tape, an optical disk (a magneto-optical disk, a phase change type disk), or the like and transmitting data via a transmission line. Can do.
[0117]
【The invention's effect】
In the present invention, when image data is transferred, by providing an empty period in which data is not transferred periodically, processing of other audio data, AUX data, etc. can be performed in this empty period. Therefore, it is not necessary to have a buffer memory for processing other data, and the panda width becomes high, and the problem of increasing power consumption does not occur.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a recording side according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the configuration of the playback side according to the embodiment of the present invention.
FIG. 3 is a schematic diagram illustrating an example of a track format.
FIG. 4 is a schematic diagram illustrating another example of a track format.
FIG. 5 is a schematic diagram illustrating a plurality of examples of the configuration of a sync block.
FIG. 6 is a schematic diagram showing contents of ID and DID added to a sync block.
FIG. 7 is a schematic diagram for explaining a video encoder output method and variable-length coding.
FIG. 8 is a schematic diagram for explaining rearrangement of the output order of the video encoder;
FIG. 9 is a schematic diagram for explaining a process of packing the data in which the order is rearranged into a sync block;
FIG. 10 is a schematic diagram for explaining error correction codes for video data and audio data;
FIG. 11 is a more specific block diagram of a recording signal processing unit.
FIG. 12 is a schematic diagram showing a memory space of a memory to be used.
FIG. 13 is a timing chart for explaining a method of transferring image data.
FIG. 14 is a timing chart for explaining a non-image data transfer method;
FIG. 15 is a timing chart for explaining a video stream transfer method;
FIG. 16 is a schematic diagram illustrating a definition of a start code value of MPEG syntax.
FIG. 17 is a schematic diagram for explaining MPEG syntax;
FIG. 18 is a schematic diagram for explaining MPEG syntax;
FIG. 19 is a schematic diagram for explaining MPEG syntax;
FIG. 20 is a schematic diagram for explaining MPEG syntax;
[Explanation of symbols]
106: Stream converter, 107: Packing and shuffling unit, 109, 116 ... Outer encoder, 110, 117 ... Shuffling unit, 118 ... ID adding unit, 120 ... Synchronization Additional unit, 160 ... main memory

Claims (8)

画像データおよびオーディオデータを記録媒体に記録するデータ記録装置において、
画像データを圧縮符号化することにより発生した可変長画像データと、上記可変長画像データと関連するヘッダ等の非画像データとを含むストリームであって、上記可変長画像データを処理部へ転送可能な期間毎に、転送しない期間を設けたストリームと、上記ストリームと同期して上記転送可能な期間内で転送されるデータの長さを示すイネーブル信号を出力するストリーム変換部と、
上記ストリームおよび上記イネーブル信号が入力され、上記イネーブル信号からデータの長さを検出する処理と、上記可変長画像データおよび上記非画像データを複数の固定枠に配置し、固定枠からはみ出すオーバーフローデータを他の固定枠に生じた空き領域に詰め込むパッキング処理と、エラー訂正符号化の処理と、上記転送しない期間においてなされるオーディオデータのエラー訂正符号化の処理とを行う処理部と、
上記処理部の出力データに対して同期信号を付加し、シンクブロックを形成する同期信号付加部と、
上記同期信号付加部からの上記シンクブロックが連続する出力信号を記録媒体に記録する記録手段とからなることを特徴とするデータ記録装置。
In a data recording apparatus for recording image data and audio data on a recording medium,
A stream containing variable-length image data generated by compression-coding image data and non-image data such as a header associated with the variable-length image data, and the variable-length image data can be transferred to a processing unit A stream conversion unit that outputs a enable signal indicating a length of data that is transferred within a period that can be transferred in synchronization with the stream, and a stream that is provided with a period that is not transferred for each period;
The stream and the enable signal are input, the length of the data is detected from the enable signal, the variable-length image data and the non-image data are arranged in a plurality of fixed frames, and overflow data that protrudes from the fixed frame is detected. A processing unit that performs packing processing to pack in an empty area generated in another fixed frame, error correction encoding processing, and error correction encoding processing of audio data performed in the period not transferred,
A synchronization signal adding unit for adding a synchronization signal to the output data of the processing unit to form a sync block;
A data recording apparatus comprising: recording means for recording on the recording medium an output signal in which the sync blocks from the sync signal adding unit are continuous.
請求項1において、
上記可変長画像データがDCTと可変長符号化とを組み合わせた圧縮符号化により発生したものであることを特徴とするデータ記録装置。
In claim 1,
A data recording apparatus, wherein the variable length image data is generated by compression encoding combining DCT and variable length encoding.
請求項1において、
上記処理部がメモリを有し、上記可変長画像データに対する処理と上記オーディオデータに対する処理とが上記メモリを使用してなされることを特徴とするデータ記録装置。
In claim 1,
The data recording apparatus, wherein the processing unit includes a memory, and the processing for the variable-length image data and the processing for the audio data are performed using the memory.
請求項3において、
上記メモリがDRAMであることを特徴とするデータ記録装置。
In claim 3,
A data recording apparatus, wherein the memory is a DRAM.
請求項1において、
上記可変長画像データが1画面を分割した2次元領域毎に発生し、1画面で発生する上記可変長画像データを1画面の上記2次元領域の個数の整数倍の個数の上記固定枠にパッキングし、上記非画像データを一つの上記固定枠にパッキングすることを特徴とするデータ記録装置。
In claim 1,
The variable-length image data is generated for each two-dimensional area obtained by dividing one screen, and the variable-length image data generated on one screen is packed in the fixed frame that is an integral multiple of the number of the two-dimensional areas on one screen. The non-image data is packed in one fixed frame.
画像データおよびオーディオデータを記録媒体に記録するデータ記録方法において、
画像データを圧縮符号化することにより発生した可変長画像データと、上記可変長画像データと関連するヘッダ等の非画像データとを含むストリームであって、上記可変長画像データを処理部へ転送可能な期間毎に、転送しない期間を設けたストリームと、上記ストリームと同期して上記転送可能な期間内で転送されるデータの長さを示すイネーブル信号とを、ストリーム変換部が出力するステップと、
上記ストリームおよび上記イネーブル信号が入力され、上記イネーブル信号からデータの長さを検出する処理と、上記可変長画像データおよび上記非画像データを複数の固定枠に配置し、固定枠からはみ出すオーバーフローデータを他の固定枠に生じた空き領域に詰め込むパッキング処理と、エラー訂正符号化の処理と、上記転送しない期間においてなされるオーディオデータのエラー訂正符号化の処理とを行う処理ステップと、
上記処理ステップからの出力データに対して同期信号を付加し、シンクブロックを形成する同期信号付加ステップと、
上記同期信号付加ステップからの上記シンクブロックが連続する出力信号を記録媒体に記録する記録ステップとからなることを特徴とするデータ記録方法。
In a data recording method for recording image data and audio data on a recording medium,
A stream containing variable-length image data generated by compression-coding image data and non-image data such as a header related to the variable-length image data, and the variable-length image data can be transferred to a processing unit A stream converter that outputs a stream provided with a non-transfer period and an enable signal indicating the length of data transferred within the transferable period in synchronization with the stream;
The stream and the enable signal are input, the length of the data is detected from the enable signal, the variable-length image data and the non-image data are arranged in a plurality of fixed frames, and overflow data that protrudes from the fixed frame is detected. A processing step of performing packing processing to pack in an empty area generated in another fixed frame, error correction encoding processing, and error correction encoding processing of audio data performed in the period not to be transferred;
Adding a synchronization signal to the output data from the processing step to form a sync block; and
A data recording method comprising: a recording step of recording an output signal in which the sync blocks from the synchronization signal adding step are continuous on a recording medium.
画像データおよびオーディオデータを処理するデータ処理装置において、
画像データを圧縮符号化することにより発生した可変長画像データと、上記可変長画像データと関連するヘッダ等の非画像データとを含むストリームであって、上記可変長画像データを処理部へ転送可能な期間毎に、転送しない期間を設けたストリームと、上記ストリームと同期して上記転送可能な期間内で転送されるデータの長さを示すイネーブル信号を出力するストリーム変換部と、
上記ストリームおよび上記イネーブル信号が入力され、上記イネーブル信号からデータの長さを検出する処理と、上記可変長画像データおよび上記非画像データを複数の固定枠に配置し、固定枠からはみ出すオーバーフローデータを他の固定枠に生じた空き領域に詰め込むパッキング処理と、エラー訂正符号化の処理と、上記転送しない期間においてなされるオーディオデータのエラー訂正符号化の処理とを行う処理部とからなることを特徴とするデータ処理装置。
In a data processing apparatus for processing image data and audio data,
A stream containing variable-length image data generated by compression-coding image data and non-image data such as a header associated with the variable-length image data, and the variable-length image data can be transferred to a processing unit A stream conversion unit that outputs a enable signal indicating a length of data that is transferred within a period that can be transferred in synchronization with the stream, and a stream that is provided with a period that is not transferred for each period;
The stream and the enable signal are input, the length of the data is detected from the enable signal, the variable-length image data and the non-image data are arranged in a plurality of fixed frames, and overflow data that protrudes from the fixed frame is detected. It comprises a processing unit that performs packing processing that packs in an empty area generated in another fixed frame, error correction encoding processing, and error correction encoding processing of audio data that is performed during the period not transferred. A data processing device.
画像データおよびオーディオデータを処理するデータ処理方法において、
画像データを圧縮符号化することにより発生した可変長画像データと、上記可変長画像データと関連するヘッダ等の非画像データとを含むストリームであって、上記可変長画像データを処理部へ転送可能な期間毎に、転送しない期間を設けたストリームと、上記ストリームと同期して上記転送可能な期間内で転送されるデータの長さを示すイネーブル信号とを、ストリーム変換部が出力するステップと、
上記ストリームおよび上記イネーブル信号が入力され、上記イネーブル信号からデータの長さを検出する処理と、上記可変長画像データおよび上記非画像データを複数の固定枠に配置し、固定枠からはみ出すオーバーフローデータを他の固定枠に生じた空き領域に詰め込むパッキング処理と、エラー訂正符号化の処理と、上記転送しない期間においてなされるオーディオデータのエラー訂正符号化の処理とを行う処理ステップとからなることを特徴とするデータ処理方法。
In a data processing method for processing image data and audio data,
A stream containing variable-length image data generated by compression-coding image data and non-image data such as a header related to the variable-length image data, and the variable-length image data can be transferred to a processing unit A stream converter that outputs a stream provided with a non-transfer period and an enable signal indicating the length of data transferred within the transferable period in synchronization with the stream;
The stream and the enable signal are input, the length of the data is detected from the enable signal, the variable-length image data and the non-image data are arranged in a plurality of fixed frames, and overflow data that protrudes from the fixed frame is detected. It comprises a processing step for performing packing processing to pack in an empty area generated in another fixed frame, error correction encoding processing, and error correction encoding processing of audio data performed in the above-mentioned non-transfer period. Data processing method.
JP32230198A 1998-11-12 1998-11-12 Data recording apparatus, data recording method, data processing apparatus, and data processing method Expired - Fee Related JP3978903B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32230198A JP3978903B2 (en) 1998-11-12 1998-11-12 Data recording apparatus, data recording method, data processing apparatus, and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32230198A JP3978903B2 (en) 1998-11-12 1998-11-12 Data recording apparatus, data recording method, data processing apparatus, and data processing method

Publications (2)

Publication Number Publication Date
JP2000152176A JP2000152176A (en) 2000-05-30
JP3978903B2 true JP3978903B2 (en) 2007-09-19

Family

ID=18142114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32230198A Expired - Fee Related JP3978903B2 (en) 1998-11-12 1998-11-12 Data recording apparatus, data recording method, data processing apparatus, and data processing method

Country Status (1)

Country Link
JP (1) JP3978903B2 (en)

Also Published As

Publication number Publication date
JP2000152176A (en) 2000-05-30

Similar Documents

Publication Publication Date Title
KR100654072B1 (en) Data recording apparatus, data recording method, data recording and reproducing apparatus, data recording and reproducing method, data reproducing apparatus, data reproducing method, data record medium, digital data reproducing apparatus, digital data reproducing method, synchronization detecting apparatus, and synchronization detecting method
JP4010066B2 (en) Image data recording apparatus and recording method, and image data recording / reproducing apparatus and recording / reproducing method
KR100668993B1 (en) Signal processing apparatus and method, recording apparatus, playback apparatus, recording and playback apparatus, and stream processing apparatus and method
JP4182641B2 (en) Data processing apparatus and method, and recording apparatus and method
US6643729B2 (en) Data processing apparatus and data recording apparatus
KR100796885B1 (en) Signal processor
JP2000149454A (en) Signal processor and processing method, recording device reproducing device, recording and reproducing device, and video signal recording and reproducing device
KR100739262B1 (en) Recording apparatus and method, and reproducing apparatus and method
JP3932721B2 (en) Data recording apparatus, data recording / reproducing apparatus, data recording method, and data recording / reproducing method
KR100681992B1 (en) Recording apparatus and method
JP3978903B2 (en) Data recording apparatus, data recording method, data processing apparatus, and data processing method
JP2000132914A (en) Data processor and data recorder
JP2000149455A (en) Data recorder and recording method, data recording and reproducing device and recording and reproducing method, and data recording medium
JP4038949B2 (en) Playback apparatus and method
JP2001155437A (en) Device and method for recording
JP4010067B2 (en) Synchronization detecting device and method, and reproducing device
JP4432284B2 (en) Recording apparatus and method
JP2000315386A (en) Addressing method of memory and data processor
JP2000152174A (en) Image data processor its method and image data recorder
JP2001169243A (en) Recorder and recording method, and reproducing device and reproducing method
JP2000134110A (en) Data transmitter and transmission method
JP2000312341A (en) Data transmitter, method therefor, recorder and recording and reproducing device
JP2000149441A (en) Data processing device, data processing method, and data reproducing device
JP2000149426A (en) Memory accessing device and method therefor, and data processor
JP2000152177A (en) Data processor and its method, and data reproducing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

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: 20070605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070618

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

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120706

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees