(57)【特許請求の範囲】
【請求項１】
データ転送レートが一定でないビットストリームを固定長のパケットデータに変換して記録媒体に記録するデータ記録装置において、
同数の前記パケットデータの記憶が可能な記憶容量をそれぞれ有して、前記パケットデータを一時的に記憶し、それぞれが持つ記憶領域の１つ分の記憶データを前記記録媒体に対して所定の出力周期ごとに順に出力する複数の一時記憶手段と、
前記各一時記憶手段に対する前記パケットデータの書き込みを制御する書き込み制御手段と、
を有し、
前記書き込み制御手段は、
前記一時記憶手段に対するデータの書き込みに応じてカウント値を増減するカウント手段を備え、
前記出力周期内に入力される前記パケットデータが前記一時記憶手段に収まりきらない場合には、後続する前記パケットデータの書き込み対象を次の前記一時記憶手段に移行させてその記憶領域の先頭から書き込むとともに、前記書き込み対象の移行が発生するたびに前記カウント値をカウントアップし、
前記出力周期内に入力された前記パケットデータの書き込み処理により、当該パケットデータのうちの最終データが書き込まれた前記一時記憶手段に余剰スペースが生じたとき、前記カウント値が０の場合は、次の前記出力周期に入力された前記パケットデータを次の前記一時記憶手段の記憶領域の先頭から書き込み、前記カウント値が１以上の場合は、前記カウント値をカウントダウンするとともに、次の前記出力周期に入力された前記パケットデータをそれ以前の書き込み終端位置から連続して書き込むように制御する、
ことを特徴とするデータ記録装置。
【請求項２】
前記書き込み制御手段は、前記出力周期内における前記一時記憶手段への前記パケットデータの書き込みにより当該一時記憶手段に前記余剰スペースが生じ、次の前記出力周期内に入力される前記パケットデータを次の前記一時記憶手段の記憶領域の先頭から書き込む場合には、当該余剰スペースのすべてにヌル（ＮＵＬＬ）パケットを書き込むように制御することを特徴とする請求項１記載のデータ記録装置。
【請求項３】
前記記録媒体は磁気テープであることを特徴とする請求項１記載のデータ記録装置。
【請求項４】
前記出力周期は、前記磁気テープ上に形成された各トラックへの書き込み周期と同等であり、前記出力周期ごとに前記各一時記憶手段から出力されたデータは前記各トラックに記録されることを特徴とする請求項３記載のデータ記録装置。
【請求項５】
前記各一時記憶手段の記憶容量は、前記磁気テープ上に形成された１トラック分に前記パケットデータを記録することが可能な領域のデータ容量に等しいことを特徴とする請求項３記載のデータ記録装置。
【請求項６】
前記各一時記憶手段は半導体メモリのメモリ領域によって構成されることを特徴とする請求項１記載のデータ記録装置。
【請求項７】
データ転送レートが一定でないビットストリームを固定長のパケットデータに変換して記録媒体に記録するデータ記録方法において、
同数の前記パケットデータの記憶が可能な記憶容量をそれぞれ有するバッファメモリ領域に対して、前記パケットデータを一時的に記憶するステップと、
前記バッファメモリ領域の１つ分の記憶データを所定の出力周期ごとに前記記録媒体に対して順に出力するステップと、
を含み、
前記バッファメモリ領域に対する一時記憶のステップでは、
前記出力周期内に入力される前記パケットデータが前記バッファメモリ領域に収まりきらない場合には、後続する前記パケットデータの書き込み対象を次の前記バッファメモリ領域に移行させてその先頭から書き込むとともに、前記書き込み対象の移行が発生するたびにカウント値をカウントアップし、
前記出力周期内に入力された前記パケットデータの書き込み処理により、当該パケットデータのうちの最終データが書き込まれた前記バッファメモリ領域に余剰スペースが生じたとき、前記カウント値が０の場合は、次の前記出力周期に入力された前記パケットデータを次の前記バッファメモリ領域の先頭から書き込み、前記カウント値が１以上の場合は、前記カウント値をカウントダウンするとともに、次の前記出力周期に入力された前記パケットデータをそれ以前の書き込み終端位置から連続して書き込む、
ことを特徴とするデータ記録方法。
【請求項８】
データ転送レートが一定でないビットストリームを固定長のパケットデータに変換して、複数の当該パケットデータを記録媒体に記録するデータ記録装置において、
前記記録媒体の記憶領域のデータ容量に関連した所定のデータ単位の記憶が可能な記憶容量をそれぞれ有し、前記パケットデータを一時的に記憶し、当該所定のデータ単位ごとにかつ所定の出力周期ごとに、記憶データを前記記録媒体に対して順に出力する複数の一時記憶手段と、
前記各一時記憶手段に対する前記パケットデータの書き込みを制御する書き込み制御手段と、
を有し、
前記書き込み制御手段は、
前記一時記憶手段に対するデータの書き込みに応じてカウント値を増減するカウント手段を備え、
前記出力周期内に入力される前記パケットデータが前記一時記憶手段に収まりきらない場合には、後続する前記パケットデータの書き込み対象を次の前記一時記憶手段に移行させてその記憶領域の先頭から書き込むとともに、前記書き込み対象の移行が発生するたびに前記カウント値をカウントアップし、
前記出力周期内に入力された前記パケットデータの書き込み処理により、当該パケットデータのうちの最終データが書き込まれた前記一時記憶手段に余剰スペースが生じたとき、前記カウント値が０の場合は、次の前記出力周期に入力された前記パケットデータを次の前記一時記憶手段の記憶領域の先頭から書き込み、前記カウント値が１以上の場合は、前記カウント値をカウントダウンするとともに、次の前記出力周期に入力された前記パケットデータをそれ以前の書き込み終端位置から連続して書き込むように制御する、
ことを特徴とするデータ記録装置。
【請求項９】
データ転送レートが一定でないビットストリームを固定長のパケットデータに変換して、複数の当該パケットデータを記録媒体に記録するデータ記録方法において、
前記記録媒体の記憶領域のデータ容量に関連した所定のデータ単位の記憶が可能な記憶容量をそれぞれ有するバッファメモリ領域に対して、前記パケットデータを一時的に記憶するステップと、
前記所定のデータ単位の記憶データを所定の出力周期ごとに前記記録媒体に対して順に出力するステップと、
を含み、
前記バッファメモリ領域に対する一時記憶のステップでは、
前記出力周期内に入力される前記パケットデータが前記バッファメモリ領域に収まりきらない場合には、後続する前記パケットデータの書き込み対象を次の前記バッファメモリ領域に移行させてその先頭から書き込むとともに、前記書き込み対象の移行が発生するたびにカウント値をカウントアップし、
前記出力周期内に入力された前記パケットデータの書き込み処理により、当該パケットデータのうちの最終データが書き込まれた前記バッファメモリ領域に余剰スペースが生じたとき、前記カウント値が０の場合は、次の前記出力周期に入力された前記パケットデータを次の前記バッファメモリ領域の先頭から書き込み、前記カウント値が１以上の場合は、前記カウント値をカウントダウンするとともに、次の前記出力周期に入力された前記パケットデータをそれ以前の書き込み終端位置から連続して書き込む、
ことを特徴とするデータ記録方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送レートが一定でないビットストリームを固定長のパケットデータに変換して記録媒体に記録するデータ記録装置およびデータ記録方法に関し、特に、データ転送レートの局所的な変動幅が大きなビットストリームに対応することが可能なデータ記録装置およびデータ記録方法に関する。
【０００２】
【従来の技術】
デジタルＶＴＲ（Video Tape Recorder）やデジタルビデオカメラ等のデータ記録装置では、記録媒体として磁気テープを使用している。磁気テープに対しては、走行速度を変化させる制御が難しいことから、常に一定レートでデータの記録が行われる。このため、データ転送レートが局所的に一定でないビットストリームを磁気テープに記録する際には、一定レートのビットストリームに変換する必要がある。
【０００３】
データ転送レートが一定でないビットストリームの一例として、ＭＰＥＧ（Moving Picture Expert Group）方式のビットストリームが挙げられる。そして、このようなビットストリームを一定レートのビットストリームに変換するためには、バッファメモリとして高速に読み書きが可能なＲＡＭ（Random Access Memory）が利用される。
【０００４】
このＲＡＭは、１つ分が磁気テープ上に形成されるビデオトラック１本分に対応しており、データ記録装置にはこのようなＲＡＭが複数個設けられる。そして、１つ分のＲＡＭに対してデータの書き込みが終了すると、このＲＡＭ上のデータが読み出されて、１本のビデオトラックに書き込まれる。
【０００５】
ただし、１つ分のＲＡＭの容量は、入力されたビットストリームがそのデータ転送レートの平均値より少しだけ高いときに対応できるように大きめに設定されており、これによりオーバフローを防止している。このため、ビットストリームの入力によってそのデータ転送レートの平均値、あるいはそれより低速でＲＡＭに書き込まれるとき、ＲＡＭ内には余剰のスペースができることになる。
【０００６】
従来、ＲＡＭへの書き込み中にこのような余剰スペースが生じた場合は、データがないという意味を示すヌル（ＮＵＬＬ）パケットをこの余剰スペースに書き込んで埋め尽くし、この後に入力されるビットストリームを次のＲＡＭの先頭から書き込むようにしていた。
【０００７】
【発明が解決しようとする課題】
上記のように、従来のデータ記録装置では、入力されたビットストリームのデータ転送レートが平均より高速となった場合に備えて、各ＲＡＭの容量を大きめに設定している。このため、低速となった場合の余剰スペースも大きくなり、ＲＡＭの容量に大きな無駄が生じるとともに、磁気テープに多くのヌルパケットが記録されてしまい、記録時間が抑制されてしまう。また、データ転送レートの変動幅を各ＲＡＭの余分な容量分で吸収しているため、データ転送レートの変動幅が大きく、ＲＡＭの容量の幅を超えてしまった場合には、オーバフローが発生してシステムが破綻してしまうという問題があった。
【０００８】
本発明はこのような課題に鑑みてなされたものであり、データ転送レートの変動幅が大きいビットストリームが入力された場合に、一定レートでのデータ記録を効率的かつ安定的に行うことが可能なデータ記録装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明では上記課題を解決するために、データ転送レートが一定でないビットストリームを固定長のパケットデータに変換して記録媒体に記録するデータ記録装置において、同数の前記パケットデータの記憶が可能な記憶容量をそれぞれ有して、前記パケットデータを一時的に記憶し、それぞれが持つ記憶領域の１つ分の記憶データを前記記録媒体に対して所定の出力周期ごとに順に出力する複数の一時記憶手段と、前記各一時記憶手段に対する前記パケットデータの書き込みを制御する書き込み制御手段と、を有し、前記書き込み制御手段は、前記一時記憶手段に対するデータの書き込みに応じてカウント値を増減するカウント手段を備え、前記出力周期内に入力される前記パケットデータが前記一時記憶手段に収まりきらない場合には、後続する前記パケットデータの書き込み対象を次の前記一時記憶手段に移行させてその記憶領域の先頭から書き込むとともに、前記書き込み対象の移行が発生するたびに前記カウント値をカウントアップし、前記出力周期内に入力された前記パケットデータの書き込み処理により、当該パケットデータのうちの最終データが書き込まれた前記一時記憶手段に余剰スペースが生じたとき、前記カウント値が０の場合は、次の前記出力周期に入力された前記パケットデータを次の前記一時記憶手段の記憶領域の先頭から書き込み、前記カウント値が１以上の場合は、前記カウント値をカウントダウンするとともに、次の前記出力周期に入力された前記パケットデータをそれ以前の書き込み終端位置から連続して書き込むように制御する、ことを特徴とするデータ記録装置が提供される。
【００１０】
ここで、複数の一時記憶手段は、同数のパケットデータの記憶が可能な記憶容量をそれぞれ有し、出力周期ごとに１つ分の一時記憶手段に記憶されたデータを記録媒体に対して順に出力する。書き込み制御手段は、これらの一時記憶手段に対するデータの書き込みに応じてカウント値を増減するカウント手段を備えており、このカウント値を用いて以下のような書き込み制御を行う。すなわち、出力周期内に入力されるパケットデータが一時記憶手段に収まりきらない場合には、後続するパケットデータの書き込み対象を次の一時記憶手段に移行させてその記憶領域の先頭から書き込むとともに、書き込み対象の移行が発生するたびにカウント値をカウントアップする。また、出力周期内に入力されたパケットデータの書き込み処理により、そのパケットデータのうちの最終データが書き込まれた一時記憶手段に余剰スペースが生じたとき、カウント値を参照する。ここで、カウント値が０の場合は、次の出力周期に入力されたパケットデータを次の一時記憶手段の記憶領域の先頭から書き込む。一方、カウント値が１以上の場合は、カウント値をカウントダウンするとともに、次の出力周期に入力されたパケットデータをそれ以前の書き込み終端位置から連続して書き込む。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図２は、本発明の実施の形態例としてのデジタルビデオカメラの構成例を示すブロック図である。
【００１２】
図２に示すデジタルビデオカメラ１は、カメラ部２、カメラ信号処理部３およびビデオエンコーダ４によってなり、画像を撮像してビデオストリームを生成するビデオストリーム生成部と、収音部５、音声信号処理部６およびオーディオエンコーダ７によってなり、音声を収音してオーディオストリームを生成するオーディオストリーム生成部と、生成されたビデオストリームおよびオーディオストリームを時分割多重化する多重化処理部８と、ビデオカセット９ａ内の磁気テープ９ｂに対して多重化されたストリームデータを書き込むテープデッキ部９と、撮像された画像をＬＣＤ１０ａに表示するための表示処理部１０と、ユーザによって操作入力が行われる入力部１１と、デジタルビデオカメラ１の全体の動作を制御する制御マイコン１２によって構成される。
【００１３】
カメラ部２は、被写体からの光が入射されるレンズによる光学系やアイリス、および入射光を光電変換するＣＣＤ（Charge Coupled Device）等の撮像素子を具備し、撮像素子により撮像された画像信号を順次出力する。カメラ信号処理部３は、カメラ部２からの出力信号に対するデジタル信号への変換や、ノイズ除去、画質補正、輝度・色差信号への変換等の信号処理を行って、ビデオエンコーダ４および表示処理部１０に対して順次出力する。ビデオエンコーダ４は、カメラ信号処理部３から出力される画像信号に対して、ＭＰＥＧ２規格に基づく圧縮・符号化処理を行い、生成したビデオストリームを多重化処理部８に出力する。
【００１４】
収音部５は、マイクロフォンや増幅回路等により構成され、収音した音声信号を音声信号処理部６に出力する。音声信号処理部６は、入力された音声信号をサンプリングしてデジタル方式の音声信号に変換し、オーディオエンコーダ７に対して順次出力する。オーディオエンコーダ７は、音声信号処理部６からの音声信号に対して、ＭＰＥＧ規格に基づく圧縮・符号化処理を行い、生成したオーディオストリームを多重化処理部８に出力する。
【００１５】
多重化処理部８は、入力されたビデオストリームおよびオーディオストリームを固定長のトランスポートパケット（以下、ＴＳパケットと略称する）に変換し、テープデッキ部９におけるデータ記録に適するように時分割多重化して、テープデッキ部９に出力する。また、多重化処理部８は、テープデッキ部９から出力されるスイッチングパルス（以下、ＳＰと略称する）の供給を、制御マイコン１２を介して受ける。なお、多重化処理部８の内部構成については、図２において詳述する。
【００１６】
テープデッキ部９は、入力されたデータに対する信号処理回路や、ビデオカセット９ａおよび磁気テープ９ｂに対するローディングメカ、回転ヘッド等の磁気テープ９ｂに対する記録機構等を具備する。そして、多重化処理部８からのＴＳパケットのデータに対して所定の変調処理等を行った後、磁気テープ９ｂ上にヘリカル方式により書き込みを行う。また、回転ヘッドの内部にはパルスジェネレータが搭載され、データ記録動作中では、回転ヘッドの回転に応じて磁気ヘッドによる書き込みタイミングに同期したＳＰを制御マイコン１２に出力する。
【００１７】
表示処理部１０は、カメラ信号処理部３から出力される画像信号を信号処理して、撮像中の画像（いわゆるカメラスルー画像）をＬＣＤ１０ａに表示させる。また、入力部１１からの指示入力信号に応じた動作モードや諸設定等を示す情報を制御マイコン１２より受けて、これらに応じた情報をＬＣＤ１０ａ上にオンスクリーン表示する。
【００１８】
入力部１１は、磁気テープ９ｂに対する記録動作等を操作するためのボタンスイッチや、動作モードを選択するための選択スイッチ等により構成され、ユーザによる操作に応じた指示入力信号を制御マイコン１２に対して出力する。
【００１９】
制御マイコン１２は、デジタルビデオカメラ１の各回路ブロックを制御する制御処理部であり、入力部１１からの指示入力信号や、テープデッキ部９からのＳＰ等に基づいて、記録動作等の各回路ブロックの動作を制御する。また、テープデッキ部９から供給されたＳＰを多重化処理部８に転送する。
【００２０】
以下、このデジタルビデオカメラ１における動画像データおよび音声データの記録動作について説明する。
記録動作の前では、制御マイコン１２による制御の下で、カメラ部２において撮像された画像信号がカメラ信号処理部３を介して表示処理部１０に送出され、ＬＣＤ１０ａにおいてカメラスルー画像として表示される。この状態から、入力部１１において画像記録のための操作入力が行われると、撮像された画像信号がカメラ信号処理部３からビデオエンコーダ４に送出されてデータ圧縮・符号化処理され、ビデオストリームが生成される。また、収音部５で収音された音声信号は、音声信号処理部６でデジタル化され、オーディオエンコーダ７でデータ圧縮・符号化処理されて、オーディオストリームが生成される。
【００２１】
生成されたビデオストリームおよびオーディオストリームは、多重化処理部８において順次ＴＳパケットに変換され、テープデッキ部９におけるデータ記録に適するように多重化される。このとき、後述するように、必要に応じてヌルパケットが挿入される。多重化されたＴＳパケットおよびヌルパケットは、テープデッキ部９において変調処理等が施され、走行された磁気テープ９ｂに対して順次書き込まれる。
【００２２】
ところで、ビデオエンコーダ４によって生成されるビデオストリームは、局所的に一定でないデータ転送レートを有している。一方、磁気テープ９ｂは常に一定の速度で走行するため、テープデッキ部９では、磁気テープ９ｂに対して常に一定レートでデータが書き込まれる。このため、多重化処理部８は、出力段に半導体によるＲＡＭを配置してＴＳパケットを一旦保持し、一定のデータ転送レートに変換して出力する。
【００２３】
図１は、多重化処理部８の内部構成例を示すブロック図である。
多重化処理部８は、ビデオエンコーダ４およびオーディオエンコーダ７からそれぞれビデオストリームおよびオーディオストリームの入力を受けるビデオ入力バッファ８１およびオーディオ入力バッファ８２と、ヌルパケットを生成するヌルパケット生成部８３と、生成したＴＳパケットをテープデッキ部９に出力するための出力ＲＡＭ８４と、これらの動作を制御するＣＰＵ８５とが、それぞれＣＰＵバス８６によって接続された構成をなす。また、ＣＰＵ８５には、２つのカウンタ８７および８８が接続されている。
【００２４】
ビデオ入力バッファ８１およびオーディオ入力バッファ８２は、それぞれ入力されたビデオストリームおよびオーディオストリームの各データを、同一データ量のＴＳパケットに変換するためのＦＩＦＯ（First In First Out）形式のバッファメモリであり、入力されたデータを、ＣＰＵ８５の制御の下で一定データ量ずつ出力ＲＡＭ８４に対して順次出力する。
【００２５】
ヌルパケット生成部８３は、データがないことを示すヌルパケットを生成する機能を有し、ＣＰＵ８５の制御の下で、生成したヌルパケットを出力ＲＡＭ８４に出力する。
【００２６】
出力ＲＡＭ８４は、ビデオ入力バッファ８１およびオーディオ入力バッファ８２からの出力データにより生成されたＴＳパケットを、一定のビットレートでテープデッキ部９に出力するためのＦＩＦＯ形式のバッファメモリであり、同一の記憶容量を有する複数の記憶領域（ＤＲＡＭ：Dynamic ＲＡＭ）により構成されている。出力ＲＡＭ８４は、後述するように、ＣＰＵ８５の制御の下で、入力されたＴＳパケットおよびヌルパケットを順次、高速で書き込み、また、ＣＰＵ８５からＳＰを受信するごとに、１つのＤＲＡＭに記憶されたデータをテープデッキ部９に出力する。なお、各ＤＲＡＭの記憶容量は、磁気テープ９ｂ上の１トラック上におけるＴＳパケットの記録領域のデータ容量に等しくされている。
【００２７】
ＣＰＵ８５は、制御マイコン１２からの制御の下で動作する。このＣＰＵ８５は、テープデッキ部９から出力されたＳＰを制御マイコン１２を介して受信し、このＳＰと、各カウンタ８７および８８におけるカウント値に基づいて、ＣＰＵバス８６で接続された各回路ブロックの動作を制御する。
【００２８】
カウンタ８７は、出力ＲＡＭ８４において、ＳＰの１周期間における書き込み対象のＤＲＡＭの移行回数を示すカウント値ＲＭＣｏｎｔを出力する。また、カウンタ８８は、ＣＰＵ８５によって生成されたＴＳパケットの数を示すカウント値ＰＣｏｎｔを出力する。各カウンタ８７および８８は、ＣＰＵ８５からの指示に基づいて、各カウント値ＲＭＣｏｎｔおよびＰＣｏｎｔを１ずつ増減する。
【００２９】
以下、この多重化処理部８における動作の概要を説明する。
ビデオ入力バッファ８１およびオーディオ入力バッファ８２には、それぞれビデオエンコーダ４およびオーディオエンコーダ７において生成されたビデオストリームおよびオーディオストリームが順次入力される。ここで、ビデオストリームのデータ転送レートは常に一定ではなく、局所的に変動する。
【００３０】
ＣＰＵ８５は、ビデオストリームおよびオーディオストリームの入力に応じて、ビデオ入力バッファ８１およびオーディオ入力バッファ８２の一方から一定量のデータをＣＰＵバス８６に順次出力させる。そして、所定のヘッダ情報等を付加して、１８８バイトのデータ量を有するＴＳパケットを生成し、出力ＲＡＭ８４に書き込む。
【００３１】
なお、ビデオ入力バッファ８１およびオーディオ入力バッファ８２は、ＴＳパケット内にビデオデータおよびオーディオデータのいずれかが格納されるようにするためのバッファメモリであり、データ転送レートの調節は行われない。従って、出力ＲＡＭ８４では、ビデオストリームおよびオーディオストリームの有するデータ転送レートに応じてデータの書き込みが行われ、その書き込み速度は一定とはならない。
【００３２】
また、ＣＰＵ８５は、制御マイコン１２から供給されるＳＰのタイミングで、出力ＲＡＭ８４に書き込まれたデータを、書き込まれた順に１つのＤＲＡＭから読み出し、テープデッキ部９に出力させる。これにより、出力ＲＡＭ８４からは、テープデッキ部９に対して常に一定のデータ転送レートでデータが出力される。
【００３３】
ここで、出力ＲＡＭ８４の具備する各ＤＲＡＭは、ＴＳパケット８５個分（１５９８０バイト）の記憶容量を有している。この記憶容量は、上述したように、磁気テープ９ｂの１トラック上にＴＳパケットを記録することが可能な領域のデータ容量と等しい。これとともに、ＤＲＡＭ１つ分の記憶容量は、ビデオエンコーダ４およびオーディオエンコーダ７によって生成されたビデオストリームおよびオーディオストリームをＴＳパケット化して多重化した多重化ストリームの有する平均のデータ転送レートで、ＳＰの１周期の間に入力された場合の入力データ量にも等しくなるように設計されている。
【００３４】
従って、生成された多重化ストリームが、常に平均のデータ転送レートである場合には、ＳＰの周期で常にＤＲＡＭ１つ分がＴＳパケットで埋まることになる。一方、多重化ストリームが平均より低いデータ転送レートとなった場合には、ＳＰの１周期内でＴＳパケットを書き込んだＤＲＡＭに余剰スペースが生じてしまう。このため、この余剰スペースには、ヌルパケット生成部８３で生成されたヌルパケットを高速で書き込み、次のＳＰのタイミングでは次のＤＲＡＭの先頭からあらためてＴＳパケットの書き込みを行うようにする。
【００３５】
また、多重化ストリームが平均より高いデータ転送レートとなった場合には、ＳＰの１周期内で１つのＤＲＡＭ内にＴＳパケットが収まりきれない。本発明ではこの場合に、収まりきれないＴＳパケットを、次のＤＲＡＭの先頭から続けて書き込むようにし、この際にＤＲＡＭに余剰スペースが生じた場合にも、次のＳＰのタイミングではこの余剰スペース上に連続してＴＳパケットを書き込むようにする。さらに、連続書き込みを行ったＳＰ周期内でさらにＴＳパケットが収まりきれなくなった場合も、同様に書き込み対象を次のＤＲＡＭに移行し、そのさらに次のＳＰのタイミングでもＴＳパケットを連続して記録する。
【００３６】
また、ＳＰの１周期内に書き込み対象のＤＲＡＭの移行が複数回行われた場合には、移行回数に応じたその後のＳＰ周期の間、ヌルパケットの書き込みを行わずにＴＳパケットを連続して書き込む。
【００３７】
このような出力ＲＡＭ８４に対する書き込み制御を行うために、本実施の形態例では、ＳＰの１周期内における書き込み対象のＤＲＡＭの移行回数を、カウンタ８７によるカウント値ＲＭＣｏｎｔによって保持する。そして、以下のような条件で、カウント値ＲＭＣｏｎｔの増減および各ＤＲＡＭへの書き込み制御を行う。
〔１〕ＳＰの１周期内において書き込み対象のＤＲＡＭが移行した時点で、カウント値ＲＭＣｏｎｔの値を１だけカウントアップする。
〔２〕ＳＰの受信タイミングにおいて、書き込み対象であったＤＲＡＭに余剰スペースが生じていた場合は、以下のように判断する。
（２−１）カウント値ＲＭＣｏｎｔが０である場合、余剰スペース全体にヌルパケットを書き込み、次に入力されたＴＳパケットを次の書き込み対象となるＤＲＡＭの先頭から書き込む。
（２−２）カウント値ＲＭＣｏｎｔが１以上である場合には、次に入力されるＴＳパケットを余剰スペース上に連続して書き込むように判断するとともに、カウント値ＲＭＣｏｎｔの値を１だけカウントダウンする。
【００３８】
次に、出力ＲＡＭ８４におけるデータの書き込みについて、図３、図４および図５を用いて具体的に説明する。図３〜図５では、例として出力ＲＡＭ８４内の３つのＤＲＡＭ８４ａ、８４ｂおよび８４ｃを示す。入力されたデータは、ＤＲＡＭ８４ａ、ＤＲＡＭ８４ｂ、ＤＲＡＭ８４ｃの順で書き込みおよび読み出しが行われるものとする。
【００３９】
図３は、出力ＲＡＭ８４へのデータの書き込みを説明するための第１の図である。
まず、ここでは制御マイコン１２からＳＰの受信タイミング（これをＳＰ０とする）において、ＤＲＡＭ８４ａの先頭からデータが書き込まれるものとする。また、このタイミングＳＰ０では、カウンタ８７によるカウント値ＲＭＣｏｎｔが０であるとする。
【００４０】
次に、タイミングＳＰ０から、次のＳＰの受信タイミング（これをＳＰ１とする）までの間に、ビデオストリームおよびオーディオストリームによるＴＳパケットが７０個（Ｎｏ．１〜Ｎｏ．７０）入力されたものとする。タイミングＳＰ１では、図３に示すようにＤＲＡＭ８４ａが埋まりきっておらず、余剰スペースが生じている。この場合、磁気テープ９ｂの走行速度が一定であることから、タイミングＳＰ１以後に入力されるＴＳパケットを余剰スペース上に連続して書き込むことはできない。このためＣＰＵ８５は、カウント値ＲＭＣｏｎｔが０であることを判断して、ＤＲＡＭ８４ａ上の余剰スペース全体に、ヌルパケット生成部８３で生成されたヌルパケットを高速で書き込む。図３の例では、１５個のヌルパケットが書き込まれる。このとき、カウンタ８７のカウント値ＲＭＣｏｎｔの値は変化させない。
【００４１】
図４は、出力ＲＡＭ８４へのデータの書き込みを説明するための第２の図である。
タイミングＳＰ１以後に入力されたＴＳパケットは、タイミングＳＰ１でのカウント値ＲＭＣｏｎｔの判断に基づいて、次のＤＲＡＭ８４ｂの先頭から書き込まれる。ここで、次のＳＰの受信タイミング（これをＳＰ２とする）までの間に８９個のＴＳパケット（Ｎｏ．１０１〜Ｎｏ．１８９）が入力されたものとする。これらのＴＳパケットは、図４に示すようにＤＲＡＭ８４ｂ上に収まりきれないため、８６個目のＴＳパケット（Ｎｏ．１８６）が入力された時点で、書き込み対象を次のＤＲＡＭ８４ｃに移行させて、その先頭からＴＳパケットを書き込む。これとともに、カウンタ８７のカウント値ＲＭＣｏｎｔを１だけカウントアップする。
【００４２】
図５は、出力ＲＡＭ８４へのデータの書き込みを説明するための第３の図である。
８９個目のＴＳパケット（Ｎｏ．１８９）の書き込み後のタイミングＳＰ２では、図５に示すように、書き込み対象であったＤＲＡＭ８４ｃには余剰スペースが生じている。このときカウント値ＲＭＣｏｎｔを参照して、この値が１であることから、タイミングＳＰ２以後に入力されたＴＳパケット（Ｎｏ．２０１）を、余剰スペース内に連続して書き込む。また、これとともにカウント値ＲＭＣｏｎｔを１だけカウントダウンする。
【００４３】
この後、次のＳＰの受信タイミング（これをＳＰ３とする）までの間に８０個のＴＳパケット（Ｎｏ．２０１〜Ｎｏ．２８０）が入力されたとすると、タイミングＳＰ３において、ＤＲＡＭ８４ｃにはＴＳパケット１個分の余剰スペースが生じる。このとき、カウント値ＲＭＣｏｎｔは０であることから、余剰スペースにヌルパケットを書き込む。
【００４４】
以上の処理によれば、ヌルパケットの書き込みによって、生成される多重化ストリームのデータ転送レートが局所的に平均値を下回った場合にも、磁気テープ９ｂの走行速度を変化させずに書き込みを継続することができる。
【００４５】
また、多重化ストリームのデータ転送レートが局所的に平均値を上回った場合には、次のＤＲＡＭに移行してＴＳパケットの書き込みが継続される。そして、ＤＲＡＭの移行数に基づいて、その後のＳＰの受信タイミング後に入力されるＴＳパケットの記録開始位置を判断する。これによって、多重化ストリームのデータ転送レートの変動幅が極端に大きい場合にも、破綻することなく安定的に制御が行われる。また、出力ＲＡＭ８４が具備する各ＤＲＡＭの記憶容量を、多重化ストリームのデータ転送レートの平均値に対応した最小限の容量に抑制することができる。さらに、書き込まれるヌルパケットの個数が最小限に留められるので、磁気テープ９ｂの走行速度を一定に保ったままデータ記録密度が高められ、より長時間の録画が可能となる。
【００４６】
次に、ＣＰＵ８５による出力ＲＡＭ８４に対するデータの書き込み制御例について詳述する。図６は、出力ＲＡＭ８４に対するデータの書き込み制御の処理の流れを示すフローチャートである。
【００４７】
なお、以下の説明では、カウンタ８７および８８における各カウント値ＲＭＣｏｎｔおよびＰＣｏｎｔの初期値をともに０とする。
ステップＳ６０１において、ＳＰ受信時における出力ＲＡＭ８４上の書き込み開始位置を判断するための処理（書き込み位置判断処理）を行う。この処理では、ＳＰの受信タイミングにおいて、ＤＲＡＭ内にすでに書き込まれたデータに連続して書き込みを行うのか、あるいはこの余剰スペースにはヌルパケットを書き込み、ＴＳパケットは次のＤＲＡＭの先頭から書き込みを開始するのかについて、カウンタ値ＲＭＣｏｎｔおよびＰＣｏｎｔに基づいて判断する。なお、このステップＳ６０１の処理については、図７において詳述することにする。
【００４８】
ステップＳ６０２において、制御マイコン１２から一定時間間隔で出力されるＳＰを受信したか否かを判断する。受信しない場合はステップＳ６０３に進み、受信した場合はステップＳ６０１に戻る。ステップＳ６０３において、ビデオ入力バッファ８１あるいはオーディオ入力バッファ８２にデータが入力され、このデータよりＴＳパケットを生成したか否かを判断する。生成した場合はステップＳ６０４に進む。また、生成していない場合はステップＳ６１０に進む。
【００４９】
ステップＳ６０４において、生成したＴＳパケットを出力ＲＡＭ８４の所定のＤＲＡＭ上に書き込む。このときの書き込み位置の判断は、後述するステップＳ６０７や図７のステップＳ７０４およびＳ７０８のうち、直前に経由した処理ステップでの判断に基づいて行う。
【００５０】
ステップＳ６０５において、カウンタ８８のカウント値ＰＣｏｎｔの値を１だけカウントアップさせる。
ステップＳ６０６において、カウント値ＰＣｏｎｔの判断を行い、カウント値ＰＣｏｎｔが８５である場合はステップＳ６０７に進む。また、カウント値ＰＣｏｎｔが８５を上回っている場合にはステップＳ６０８に進む。さらに、カウント値ＰＣｏｎｔが８５未満である場合はステップＳ６１０に進む。
【００５１】
このステップＳ６０６で、カウント値ＰＣｏｎｔが８５である場合は、書き込み対象であったＤＲＡＭがＴＳパケットで満たされた状態となっている。このため、ステップＳ６０７において、次に入力されるＴＳパケットについてのみ、次の書き込み対象であるＤＲＡＭの先頭に書き込むように判断する。そして、ステップＳ６１０に進む。
【００５２】
また、ステップＳ６０６で、カウント値ＰＣｏｎｔが８５を上回っていた場合は、ＤＲＡＭ上に書き込み可能なＴＳパケット数を上回っており、この直前のステップＳ６０４で、書き込み対象のＤＲＡＭが移行している。このため、ステップＳ６０８において、カウント値ＲＭＣｏｎｔを１だけカウントアップさせる。さらに、ステップＳ６０９において、カウント値ＰＣｏｎｔの値を０に初期化する。そして、ステップＳ６１０に進む。
【００５３】
また、ステップＳ６０６で、カウント値ＰＣｏｎｔが８５未満であった場合は、書き込み対象のＤＲＡＭ上にさらなるＴＳパケットの記録領域が残っていることから、特に何も判断を行わずに、ステップＳ６１０に進む。
【００５４】
ステップＳ６１０において、制御マイコン１２からデータ記録の終了要求が出力されるか否かを判断する。終了要求が受信されない場合はステップＳ６０２に戻り、受信した場合は処理を終了する。
【００５５】
図７は、図６のステップＳ６０１に示した書き込み位置判断処理の流れを示すフローチャートである。
図７に示す書き込み位置判断処理は、図６に示したように、データ記録処理の開始時およびＳＰの受信時において実行されるものである。
【００５６】
ステップＳ７０１において、カウント値ＲＭＣｏｎｔの値が１以上であるか否かを判断する。１以上でない場合はステップＳ７０２に進み、１以上である場合はステップＳ７０６に進む。
【００５７】
ステップＳ７０２において、カウント値ＰＣｏｎｔの値が８５未満であるか否かを判断する。８５未満である場合はステップＳ７０３に進み、そうでない場合はステップＳ７０４に進む。
【００５８】
ステップＳ７０２でカウント値ＰＣｏｎｔが８５未満であった場合は、書き込み対象であったＤＲＡＭ上に余剰スペースが生じている。ステップＳ７０３において、この余剰スペース全体に、ヌルパケット生成部８３で生成されたヌルパケットを書き込む。一方、ステップＳ７０２でカウント値ＰＣｏｎｔが８５未満でなかった場合は、このカウント値ＰＣｏｎｔは８５であり、余剰スペースが発生していない。従って、ヌルパケットの書き込みを行わずにステップＳ７０４にスキップする。
【００５９】
ステップＳ７０４において、次に入力されるＴＳパケットについてのみ、次の書き込み対象であるＤＲＡＭの先頭に書き込むように判断する。ステップＳ７０５において、カウント値ＰＣｏｎｔの値を０に初期化し、図６のステップＳ６０２に戻る。
【００６０】
一方、ステップＳ７０１でカウント値ＲＭＣｏｎｔが１以上である場合は、直前のＳＰの１周期の間に書き込み対象のＤＲＡＭが移行している。ステップＳ７０６において、カウント値ＲＭＣｏｎｔの値を１だけカウントダウンする。
【００６１】
ステップＳ７０７において、カウント値ＰＣｏｎｔの値が８５未満であるか否かを判断する。８５未満である場合はステップＳ７０８に進み、そうでない場合はステップＳ７０４に進む。
【００６２】
ステップＳ７０７でカウント値ＰＣｏｎｔが８５未満であった場合は、書き込み対象であったＤＲＡＭ上に余剰スペースが生じている。しかし、ステップＳ７０１でカウント値ＲＭＣｏｎｔが１以上であったことから、この余剰スペースにヌルパケットを書き込まない。ステップＳ７０８において、次に入力されるＴＳパケットを余剰スペースに連続して書き込むように判断し、図６のステップＳ６０２に戻る。
【００６３】
一方、ステップＳ７０７でカウント値ＰＣｏｎｔが８５未満でなかった場合は、カウント値ＰＣｏｎｔは８５であり、余剰スペースが発生していない。従って、ステップＳ７０４に進んで、次に入力されるＴＳパケットについてのみ、次の書き込み対象であるＤＲＡＭの先頭に書き込むように判断する。
【００６４】
以上の図６および図７に示した処理では、生成されたＴＳパケットの数をカウント値ＰＣｏｎｔによりカウントすることで、ＤＲＡＭ内の余剰スペースの有無を判断している。そして、このカウント値ＰＣｏｎｔと、ＳＰの１周期内におけるＤＲＡＭの移行数を示すカウント値ＲＭＣｏｎｔを使用することにより、本発明に基づく出力ＲＡＭ８４の書き込み制御を効率よく行うことが可能となっている。
【００６５】
なお、上記の実施の形態例では、記録媒体として磁気テープ９ｂを使用してビットストリームのデータ記録を行った場合について説明したが、これに限ったことではない。例えば、記録媒体としてＨＤＤ（Hard Disk Drive）を使用し、このＨＤＤ上に固定長のブロック単位で一定レートの記録を行う場合等にも、本発明を適用することが可能である。
【００６６】
さらに、本発明は、デジタルビデオ信号の入力を受けて記録媒体に記録する、あるいは、アナログビデオ信号の入力を受けてこれをデジタル信号に変換し、記録媒体に記録する。撮像機能を具備しないデジタルＶＴＲ等にも適用することが可能である。
【００６７】
【発明の効果】
以上説明したように、本発明のデータ記録装置では、書き込み制御手段により、出力周期内に入力されるパケットデータが一時記憶手段に収まりきらない場合には、後続するパケットデータの書き込み対象を次の一時記憶手段に移行させてその記憶領域の先頭から書き込むとともに、書き込み対象の移行が発生するたびにカウント値をカウントアップするように制御され、出力周期内に入力されたパケットデータの書き込み処理により、そのパケットデータのうちの最終データが書き込まれた一時記憶手段に余剰スペースが生じたとき、カウント値が０の場合は、次の出力周期に入力されたパケットデータを次の一時記憶手段の記憶領域の先頭から書き込み、カウント値が１以上の場合は、カウント値をカウントダウンするとともに、次の出力周期に入力されたパケットデータをそれ以前の書き込み終端位置から連続して書き込むように制御される。
これによって、入力されたビットストリームのデータ転送レートが局所的に激しく変動した場合にも、データの入力速度と記録媒体への出力速度とのバランスをとりながら安定的に書き込みを続けることができ、かつ記録媒体の記録密度を高めることができる。
【図面の簡単な説明】
【図１】多重化処理部の内部構成例を示すブロック図である。
【図２】本発明の実施の形態例としてのデジタルビデオカメラの構成例を示すブロック図である。
【図３】出力ＲＡＭへのデータの書き込みを説明するための第１の図である。
【図４】出力ＲＡＭへのデータの書き込みを説明するための第２の図である。
【図５】出力ＲＡＭへのデータの書き込みを説明するための第３の図である。
【図６】出力ＲＡＭに対するデータの書き込み制御の処理の流れを示すフローチャートである。
【図７】書き込み位置判断処理の流れを示すフローチャートである。
【符号の説明】
１……デジタルビデオカメラ、２……カメラ部、３……カメラ信号処理部、４……ビデオエンコーダ、５……収音部、６……音声信号処理部、７……オーディオエンコーダ、８……多重化処理部、９……テープデッキ部、９ａ……ビデオカセット、９ｂ……磁気テープ、１０……表示処理部、１０ａ……ＬＣＤ、１１……入力部、１２……制御マイコン、８１……ビデオ入力バッファ、８２……オーディオ入力バッファ、８３……ヌルパケット生成部、８４……出力ＲＡＭ、８５……ＣＰＵ、８６……ＣＰＵバス、８７、８８……カウンタ
【図１】
0004003520.tif 000002
【図２】
0004003520.tif 000003
【図３】
0004003520.tif 000004
【図４】
0004003520.tif 000005
【図５】
0004003520.tif 000006
【図６】
0004003520.tif 000007
【図７】
0004003520.tif 000008