(57)【要約】  【課題】撮像データを一時的に蓄積するバッファメモリにおいて上書き破壊が生じることを防止し、また、バッファメモリを使い切るようにする。  【解決手段】Ｓ１１において、フレーム情報記載テーブルを参照して、開始アドレスｒｐおよび終了アドレスｗｐの位置が取得される。Ｓ１２においてテーブル使用量が算出される。Ｓ１４においてｒｐおよびｗｐの参照情報が取得され、Ｓ１５において記録単位開始フラグが１か否かが判定される。フラグが０の場合には、Ｓ１６において、記録単位の先頭フレームが探索される。フラグが１の場合には、Ｓ１７において開始アドレス、終了アドレスが取得される。Ｓ１８において、バッファ使用量が算出され、バッファ使用量がマージンに突入したか否かが判定される。突入していないと、エンコードが継続してなされる。突入していると、エンコードが一時停止される。【選択図】図４
2009260862.tif 000002
【特許請求の範囲】
【請求項１】
撮像部からの撮像データを圧縮符号化処理するデータ処理部と、
リングバッファの構成のバッファメモリと、
上記データ処理部からの可変長の書き込みデータを複数フレーム単位の先頭と記録単位の先頭とが一致するように、上記バッファメモリに書き込む処理と、上記バッファメモリから上記書き込みデータを上記記録単位毎に読み出す処理を制御するメモリコントローラと、
上記バッファメモリから読み出された上記書き込みデータを上記記録単位ごとに記録媒体に記録する記録部と、
上記メモリコントローラによる上記バッファメモリの書き込みおよび読み出し処理を制御する制御部とを備え、
上記制御部は、上記バッファメモリの容量に対応したサイズのフレーム情報記載テーブルを作成し、
上記フレーム情報記載テーブルを参照して上記バッファメモリの実際のアドレスを使用して上記バッファメモリの使用量を算出し、
算出した使用量が上書きによる破壊を防止するために設定されているマージンを超えないように、上記データ処理部のエンコードの継続および停止を制御する撮像装置。
【請求項２】
上記制御部は、上記バッファメモリに対する読み出し位置と上記バッファメモリに対する書き込み位置とを保持し、
上記フレーム情報記載テーブルの情報を参照することによって、  上記複数フレーム単位の終端と上記記録単位の先頭との間に生じうる隙間を含んで、上記バッファメモリの使用量を算出し、
算出された上記バッファメモリの使用量が上記マージンに突入しないように上記データ処理部のエンコードの継続および停止を制御する請求項１記載の撮像装置。
【請求項３】
上記フレーム情報記載テーブルに以下のフレーム情報が記載される請求項１記載の撮像装置。
ｉｄ：複数フレーム単位を識別する情報
フレーム番号：複数フレーム単位の何番目のフレームかを示す。
記録単位開始アドレス：記録単位開始フレームのバッファメモリ上の開始アドレスである。
データ長：そのフレームのバッファメモリ上の長さを示す。
記録単位内進捗数：記録単位開始フレームから何枚後のフレームかを示す。
記録単位開始フラグ：そのフレームが記録単位の先頭か否かを示すフラグである。
ｒｐ：次にバッファメモリから読み出されるフレーム情報が記載された位置を示す。
ｗｐ：次に新たにフレーム情報が書き込まれる位置を示す。
【請求項４】
撮像部からの撮像データを圧縮符号化処理するデータ処理部と、リングバッファの構成のバッファメモリと、上記データ処理部からの可変長の書き込みデータを複数フレーム単位の先頭と記録単位の先頭とが一致するように、上記バッファメモリに書き込む処理と、上記バッファメモリから上記書き込みデータを上記記録単位毎に読み出す処理を制御するメモリコントローラと、上記バッファメモリから読み出された上記書き込みデータを上記記録単位ごとに記録媒体に記録する記録部と、上記メモリコントローラによる上記バッファメモリの書き込みおよび読み出し処理を制御する制御部とを備え、
上記制御部によって、上記バッファメモリの容量に対応したサイズのフレーム情報記載テーブルを作成し、
上記フレーム情報記載テーブルを参照して上記バッファメモリの実際のアドレスを使用して上記バッファメモリの使用量を算出し、
算出した使用量が上書きによる破壊を防止するために設定されているマージンを超えないように、上記データ処理部のエンコードの継続および停止を制御するバッファメモリ管理方法。
【請求項５】
上記制御部は、上記バッファメモリに対する読み出し位置と上記バッファメモリに対する書き込み位置とを保持し、
上記フレーム情報記載テーブルの情報を参照することによって、  上記複数フレーム単位の終端と上記記録単位の先頭との間に生じうる隙間を含んで、上記バッファメモリの使用量を算出し、
算出された上記バッファメモリの使用量が上記マージンに突入しないように上記データ処理部のエンコードの継続および停止を制御する請求項４記載のバッファメモリ管理方法。
【請求項６】
上記フレーム情報記載テーブルに以下のフレーム情報が記載される請求項４記載のバッファメモリ管理方法。
ｉｄ：複数フレーム単位を識別する情報
フレーム番号：複数フレーム単位の何番目のフレームかを示す。
記録単位開始アドレス：記録単位開始フレームのバッファメモリ上の開始アドレスである。
データ長：そのフレームのバッファメモリ上の長さを示す。
記録単位内進捗数：記録単位開始フレームから何枚後のフレームかを示す。
記録単位開始フラグ：そのフレームが記録単位の先頭か否かを示すフラグである。
ｒｐ：次にバッファメモリから読み出されるフレーム情報が記載された位置を示す。
ｗｐ：次に新たにフレーム情報が書き込まれる位置を示す。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、光ディスク等のメディアに対して撮像情報を記録するレコーダ一体型のビデオカメラに対して適用される撮像装置およびバッファメモリ管理方法に関する。
【背景技術】
【０００２】
放送局等において使用されるレコーダ一体型のビデオカメラ（以下、カムコーダと適宜省略する）として、例えばディスクを記録媒体として使用するものが実用化されている。カムコーダにおいては、振動等によって書き込みができない期間でもデータを蓄積し、途切れることなく記録を行うことができるように、リングバッファの構成のバッファメモリが備えられている。バッファメモリに対して、映像、音声、メタデータがそれぞれ蓄積された後に、順次ディスクに書き出される。ディスクに対する記録は、ファイル単位で行われる。ファイルは、シーン、カット等に対応した高解像度映像音声データであり、クリップと称される。番組は、クリップの集合体である。１クリップが１フレームのデータからなる場合も考えられるが、通常、１クリップが複数フレームからなる。１クリップが複数フレーム単位である。
【０００３】
バッファメモリは、エンコードされたフレームの情報がそれぞれのバッファ容量に対応したサイズのテーブル（フレーム情報記載テーブルと称する）が制御部のメモリ上に作成され、制御部がフレーム情報記載テーブルに基づいてバッファメモリを管理する。この管理によって、読み出しがなされていないデータが新たな書き込みデータによって上書きされることを回避している。
【０００４】
例えば下記の特許文献１には、テーブルとしてデータ長や、ライト・データの記録開始位置の情報を持ち、バッファの連続空き容量を算出することが記載されている。
【０００５】
【特許文献１】特開２００３−１４０８８５号公報
【０００６】
撮像装置からの撮像データを記録する場合、ＭＰＥＧ(Moving Picture Experts Group
Phase)等の圧縮符号化によって撮像データが圧縮される。ＭＰＥＧの場合では、複数フレーム例えば１５フレームのまとまり（ＧＯＰ(Group Of Picture)）の単位で記録メディアからの際してランダムアクセスが可能とされている。通常、１クリップには、複数のＧＯＰが含まれる。ＧＯＰのデータは、記録メディア上にまとまって記録される。上述したカムコーダでは、バッファメモリから読み出した記録データをディスクに記録する場合、所定単位の長さ（記録単位と称する）でもってデータが記録される。
【０００７】
図６は、従来のバッファメモリ管理方法を説明するものである。説明の都合上、クリップ１（３秒）、クリップ２（５秒）、クリップ３（２秒）、クリップ４（３秒）とする。秒は、データ量を表す単位として使用する。秒以外にバイト数等でデータ量を表しても良い。フレーム情報記載テーブル上では、各行にシーケンシャルにフレーム情報が書き込まれ、隙間ができない。
【０００８】
記録メディアに対してデータを記録する場合には、あるまとまりを単位としてデータが記録される。例えば２秒の単位が記録単位とされ、バッファメモリからは、記録単位でもってデータが読み出される。各クリップの先頭フレームが記録単位の先頭と一致するようになされる。記録単位の途中であるクリップのデータが終了した場合には、次のクリップが次の記録単位の先頭から記録される。
【０００９】
このような制御を行うと、図６に示すように、クリップ１に関して４秒分のバッファサイズを消費する。バッファ上には、実際に使用されていない１秒分の領域（隙間）が発生する。同様に、クリップ２に関して６秒分のバッファサイズを消費する。バッファ上には、実際に使用されていない１秒分の隙間が発生する。クリップ３に関して２秒分のバッファサイズを消費する。クリップ４に関して４秒分のバッファサイズを消費する。バッファ上には、実際に使用されていない１秒分の隙間が発生する。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したように、フレーム情報記載テーブルでは、隙間なく複数のクリップが記録されているのに対して、バッファメモリ上では、実際に使用されていない隙間が発生する。その結果、フレーム情報記載テーブルの使用量（見込みのバッファメモリの使用量）に比して実際のバッファメモリの使用量が大きくなる。したがって、フレーム情報記載テーブルに基づいてバッファメモリの書き込み／読み出しを制御していると、未だ読み出しが済んでいないデータが新たな書き込みデータによって上書きされる問題が生じる。上書き破壊を回避するためには、フレーム情報記載テーブル上に設定されるマージンを長くとる必要がある。マージンは、先行する書き込みアドレスに対する読み出しアドレスの差であって、バッファメモリとして実質的に使用されない範囲である。したがって、マージンを長くすることは、バッファメモリを有効に使用していないことを意味する。
【００１１】
したがって、この発明の目的は、撮像データを蓄積するためのバッファメモリをより有効に使用することを可能とする撮像装置およびバッファメモリ管理方法を提供することにある。
【課題を解決するための手段】
【００１２】
上述した課題を解決するために、この発明は、撮像部からの撮像データを圧縮符号化処理するデータ処理部と、
リングバッファの構成のバッファメモリと、
データ処理部からの可変長の書き込みデータを複数フレーム単位の先頭と記録単位の先頭とが一致するように、バッファメモリに書き込む処理と、バッファメモリから書き込みデータを記録単位毎に読み出す処理を制御するメモリコントローラと、
バッファメモリから読み出された書き込みデータを記録単位ごとに記録媒体に記録する記録部と、
メモリコントローラによるバッファメモリの書き込みおよび読み出し処理を制御する制御部とを備え、
制御部は、バッファメモリの容量に対応したサイズのフレーム情報記載テーブルを作成し、
フレーム情報記載テーブルを参照してバッファメモリの実際のアドレスを使用してバッファメモリの使用量を算出し、
算出した使用量が上書きによる破壊を防止するために設定されているマージンを超えないように、データ処理部のエンコードの継続および停止を制御する撮像装置である。
【００１３】
好ましくは、制御部は、バッファメモリに対する読み出し位置とバッファメモリに対する書き込み位置とを保持し、
フレーム情報記載テーブルの情報を参照することによって、  複数フレーム単位の終端と記録単位の先頭との間に生じうる隙間を含んで、バッファメモリの使用量を算出し、
算出されたバッファメモリの使用量がマージンに突入しないようにデータ処理部のエンコードの継続および停止を制御する。
【００１４】
フレーム情報記載テーブルに以下のフレーム情報が記載される。
ｉｄ：複数フレーム単位を識別する情報
フレーム番号：複数フレーム単位の何番目のフレームかを示す。
記録単位開始アドレス：記録単位開始フレームのバッファメモリ上の開始アドレスである。
データ長：そのフレームのバッファメモリ上の長さを示す。
記録単位内進捗数：記録単位開始フレームから何枚後のフレームかを示す。
記録単位開始フラグ：そのフレームが記録単位の先頭か否かを示すフラグである。
ｒｐ：次にバッファメモリから読み出されるフレーム情報が記載された位置を示す。
ｗｐ：次に新たにフレーム情報が書き込まれる位置を示す。
【００１５】
この発明は、撮像部からの撮像データを圧縮符号化処理するデータ処理部と、リングバッファの構成のバッファメモリと、データ処理部からの可変長の書き込みデータを複数フレーム単位の先頭と記録単位の先頭とが一致するように、バッファメモリに書き込む処理と、バッファメモリから書き込みデータを記録単位毎に読み出す処理を制御するメモリコントローラと、バッファメモリから読み出された書き込みデータを記録単位ごとに記録媒体に記録する記録部と、メモリコントローラによるバッファメモリの書き込みおよび読み出し処理を制御する制御部とを備え、
制御部によって、バッファメモリの容量に対応したサイズのフレーム情報記載テーブルを作成し、
フレーム情報記載テーブルを参照してバッファメモリの実際のアドレスを使用してバッファメモリの使用量を算出し、
算出した使用量が上書きによる破壊を防止するために設定されているマージンを超えないように、データ処理部のエンコードの継続および停止を制御するバッファメモリ管理方法である。
【発明の効果】
【００１６】
この発明によれば、バッファメモリの実アドレスに基づいて使用量を算出する。したがって、複数フレーム単位の終端と記録単位き先頭との間に隙間が生じた場合に、隙間を含む使用量を算出てきる。したがって、この発明は、バッファメモリのマージン量を減少させることができ、バッファメモリの容量を有効に利用できる。
【発明を実施するための最良の形態】
【００１７】
以下、この発明の実施の形態について図面を参照しながら説明する。なお、以下に説明する実施の形態は、この発明の好適な具体例であり、技術的に好ましい種々の限定が付されているが、この発明の範囲は、以下の説明において、特にこの発明を限定する旨の記載がない限り、実施の形態に限定されないものとする。
【００１８】
この発明の一実施の形態について、図１を参照してカムコーダの構成について説明する。この発明に関連する記録部に関して説明し、再生部についての説明を省略する。ＣＣＤ（Charge Coupled Device)を使用した撮像部１が設けられる。ＣＣＤ以外に、ＣＭＯＳ(Complementary Metal Oxide Semiconductor)を使用しても良い。撮像部１によって、外部
から入射された光が電気信号に変換される。
【００１９】
撮像部１の出力信号がサンプル／ホールド回路２に供給され、サンプリングされる。例えばサンプル／ホールド回路２において、相関二重サンプリングによってノイズが除去される。サンプル／ホールド回路２の出力信号がＡ／Ｄコンバータ３に供給され、デジタル信号に変換される。
【００２０】
Ａ／Ｄコンバータ３の出力がカメラ信号処理部４に供給される。カメラ信号処理部４では、デジタル撮像信号に対して、ホワイトバランス補正等の補正処理、ダウンコンバート処理等がなされる。ダウンコンバートは、高解像度信号（ＨＤ信号）を低解像度信号（ＳＤ信号）に変換する。カメラ信号処理部４の出力（撮像データ）がビデオ信号処理部５に供給される。
【００２１】
ビデオ信号処理部５は、ＨＤ信号およびＳＤ信号のそれぞれに対して圧縮符号化例えばＭＰＥＧを施す。圧縮符号化としては、１種類に限らず、複数の方法が可能とされている。入力端子１１には、収録されたオーディオ信号が供給される。オーディオ信号がＡ／Ｄコンバータ１２によってデジタル信号に変換される。デジタルオーディオ信号がオーディオ信号処理部１３に対して供給される。オーディオ信号処理部１３は、例えばＤＳＰ(Digital Signal Processor)によって構成され、デジタルオーディオ信号に対して音量調整、リミット処理、圧縮符号化等の信号処理を施す。
【００２２】
ビデオ信号処理部５の出力信号（高解像度信号および低解像度信号）と、オーディオ信号処理部１３の出力信号とがメモリコントローラ８に対して供給される。メモリコントローラ８は、バッファメモリ９（例えばＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)）の書き込み／読み出しを制御する。バッファメモリ９は、リングバッファの構成とされる。
【００２３】
ビデオ信号処理部５、メモリコントローラ８並びにその他の部分を制御するために制御部としてのコントローラ６が設けられる。コントローラ６は、ＣＰＵ(Central Processing Unit)７ａおよびメモリ（ＲＯＭおよびＲＡＭ）７ｂを有する。ＣＰＵ７ａは、メモリ
７ｂに記憶されているプログラムを実行することにより、カムコーダの各部を統括的に制御する。さらに、ＣＰＵ７ａは、フレーム情報記載テーブルを作成し、メモリ７ｂ上に保持する。
【００２４】
コントローラ６がメモリコントローラ８を制御することによって、バッファメモリ９から読み出された記録データがディスクドライブ１４に対して供給され、ディスク上に記録される。例えばカートリッジ内に相変化記録型の光ディスクが配され、シャッターを有するディスクが使用される。４０５ｎｍの波長のレーザが使用され、単層光ディスクの場合で２３．３ＧＢで、２層光ディスクの場合で５０ＧＢの容量を有する。
【００２５】
ディスクには、圧縮された高解像度映像音声データが記録される。さらに、ディスクには、日付、時刻、各種コメント等の収録映像の付加情報や、オフライン編集用に活用可能なプロキシＡＶデータ（低ビットレート映像データ）がメタデータとして記録される。
【００２６】
この発明の一実施の形態において、ビデオデータのエンコードを行い、符号化ビデオデータをバッファメモリ９へ書き込み、バッファメモリ９から読み出したデータをディスクドライブ１５によってディスクに書き込む場合の処理について、図２のフローチャートを参照して説明する。なお、１フレームのデータとしては、高解像度データ（映像および音声）と低解像度ビデオデータ（映像および音声）とメタデータとを合計したデータが扱われる。但し、１種類の映像音声データのみを記録するようにしても良い。
【００２７】
この発明の一実施の形態において、ビデオデータのエンコードを行い、符号化ビデオデータをバッファメモリ９へ書き込み、バッファメモリ９から読み出したデータをディスクドライブ１４によってディスクに書き込む場合の処理について、図２のフローチャートを参照して説明する。エンコード処理および符号化データのバッファメモリ９への書き込みと、ディスクへの書き込みとは、並列処理で行われる。フローチャートに示される処理は、コントローラ６がビデオ信号処理部５およびメモリコントローラ８を制御することによって実行される。この発明の一実施の形態では、ビデオ信号処理部５によってエンコードされた可変長データの複数フレーム単位としてのクリップの先頭と記録単位の先頭とが一致するように、エンコードデータがバッファメモリ９に書き込まれる。バッファメモリ９から記録単位毎に読み出された書き込みデータがディスクに記録される。
【００２８】
なお、１フレームのデータとしては、高解像度データ（映像および音声）と低解像度ビデオデータ（映像および音声）とメタデータとを合計したデータが扱われる。但し、１種類の映像音声データのみを記録するようにしても良い。
【００２９】
ステップＳ１において、テーブル使用量およびバッファメモリ使用量が算出される。テーブル使用量は、フレーム情報記載テーブル中で何行が使用されているかを意味する。バッファメモリ使用量は、バッファメモリ９に蓄えられ、ディスクに記録されていない符号化データの量である。バッファメモリ９およびフレーム情報記載テーブルの双方において、等しい量のマージンが設定されている。
【００３０】
ステップＳ２において、テーブル使用量およびバッファメモリ使用量のそれぞれに関して、使用量がマージンに突入したか否かが判定される。図６を参照して説明したように、バッファメモリ上に隙間が発生すると、テーブル使用量がマージンに突入しない場合でも、バッファメモリ使用量がマージンに突入する。若し、ステップＳ２において、テーブル使用量およびバッファメモリ使用量の一方がマージンに突入したと判定されると、処理がステップＳ１に戻り、エンコード処理が停止され、エンコードデータの書き込み停止される。
【００３１】
ステップＳ２において、テーブル使用量およびバッファメモリ使用量がマージンに突入していないと判定されると、ステップＳ３において、ビデオ信号処理部５によってフレームエンコードがなされる。フレームエンコードは、例えばＭＰＥＧ２による圧縮符号化によって、ビデオデータの各フレームをエンコードする処理である。ステップＳ３では、フレーム情報記載テーブルの１行分に対応するエンコードが行われる。
【００３２】
なお、ステップＳ１（バッファ使用量算出）およびステップＳ２（使用量がマージンに突入したか否かの判定）については、後でより詳細に説明する。
【００３３】
ステップＳ４において、メモリコントローラ８の制御によってエンコードの結果得られるフレームデータがバッファメモリ９に書き込まれる。フレームデータは、バッファメモリ９上の実データ（符号化データ）である。ステップＳ５において、フレーム情報記載テーブルに対して、フレーム情報の書き込みがなされる。フレーム情報は、後述するように、フレーム情報記載テーブルに記載される各種の情報である。
【００３４】
ステップＳ６において、記録終了か否かが判定される。記録終了と判定されると、処理が終了する。記録終了でないと判定されると、処理がステップＳ１（使用量算出）に戻る。
【００３５】
以上のステップＳ２乃至Ｓ６は、エンコード処理および符号化データのバッファメモリ９への書き込み処理の手順である。バッファメモリ９からフレームデータを読み出し、読み出したフレームデータをディスクに記録する処理について説明する。フレームデータの読み出しは、上述したフレームデータの書き込み並行して行われる。
【００３６】
ステップＳ７において、ディスクへの書き込み単位（記録単位）がバッファメモリ９に蓄積されたか否かが判定される。ステップＳ７において、ディスクへの書き込み単位のデータ量が蓄積されたと判定されると、ステップＳ８において、バッファメモリ９から読み出されたフレームデータがディスクへ書き込まれる。例えばレーザ光によって相変化型ディスクに対する書き込みがなされる。
【００３７】
ステップＳ９において、バッファ使用量が０か否かが判定される。バッファ使用量が０であることは、バッファメモリ９に書き込まれているフレームデータが全て記録されたことを意味する。バッファ使用量が０であると判定されると、処理が終了する。バッファ使用量が０でないと判定されると、処理がステップＳ１（使用量算出）に戻る。
【００３８】
さらに、この発明の一実施の形態について詳述する。図３は、この発明の一実施の形態におけるフレーム情報記載テーブルの一例である。このテーブルは、下記のフレーム情報を有する。
【００３９】
index：フレーム情報記載テーブルの行番号である。図３の例では、１２００行のインデ
ックスが記載されている。
ｉｄ：クリップ番号を表す。同一のｉｄのフレームは、同一のクリップに属することを示す。
フレーム番号：クリップの何番目のフレームかを示す。
記録単位開始アドレス：記録単位開始フレームのバッファメモリ上の開始アドレスである。記録単位開始アドレス以外の行に対しては、アドレスが記載されず、例えば全て０の無意味なデータを記録する。
データ長：そのフレームのバッファメモリ上の長さを示す。
記録単位内進捗数：記録単位開始フレームから何枚後のフレームかを示す。
記録単位開始フラグ：そのフレームが記録単位の先頭か否かを示すフラグである。
ｒｐ：次にバッファメモリから読み出されるフレーム情報が記載された位置を示す。以下の説明では、読み出しアドレスと適宜称する。
ｗｐ：次に新たにフレーム情報が書き込まれる位置を示す。以下の説明では、書き込みアドレスと適宜称する。
【００４０】
図３に示すフレーム情報記載テーブルに記載されている処理の例は、次のものである。クリップ１（ｉｄ＝１）のデータが最初の行（index＝０）から書き込みが開始され、そ
の記録される記録単位の開始アドレスが０ｘＸＸＸＸＸＸＸ（０ｘは１６進表記を意味する。）であり、最初の記録単位には、クリップ１の１５番目のフレームまでが記録される。クリップ１の次のフレーム番号（１６）は、（index＝１５）の行から書き込みが開始
される。さらに、クリップ２（ｉｄ＝２）のデータが（index＝６００）の行から書き込
みが開始され、その記録される記録単位の開始アドレスが０ｘＸＸＸＸＸＸＸである。
【００４１】
ステップＳ１（バッファ使用量算出）およびステップＳ２（バッファ使用量がリミットを超過したか否かの判定）について、図４のフローチャートを参照してより詳細に説明する。
【００４２】
ステップＳ１１において、フレーム情報記載テーブルを参照して、読み出しアドレスｒｐおよび書き込みアドレスｗｐのそれぞれの位置（index）が取得される。ステップＳ１
２において、ステップＳ１１で得られた二つのindexの差分がフレーム情報記載テーブル
の使用量として算出される。すなわち、フレーム情報記載テーブルに記載され、未だバッファメモリから読み出されていないフレーム数がテーブル使用量である。なお、従来のバッファメモリ管理方法にあっては、これらのステップＳ１１およびＳ１２の処理のみがなされ、テーブル使用量に応じてエンコードが制御されていた。そのために、前述したように、上書きによる破壊、またはマージン量を多くとることによる使用されない領域の増加の問題が生じていたのである。
【００４３】
ステップＳ１４においては、フレーム情報記載テーブルを参照して、読み出しアドレスｒｐおよび書き込みアドレスｗｐのそれぞれの位置（index）に記載されたフレーム情報
（図３のテーブルの各項目の値）が取得される。ステップＳ１５において、読み出しアドレスｒｐおよび書き込みアドレスｗｐがそれぞれ示す行の記録単位開始フラグが１か０かが判定される。
【００４４】
記録単位開始フラグが０と判定されると、ステップＳ１６において、記録単位の先頭フレームが探索される。そして、処理がステップＳ１４に戻る。先頭フレームの探索処理は、フレーム情報記載テーブルの行を遡り、記録単位開始フラグが１となるフレームを探索するものである。遡る量は、読み出しアドレスｒｐおよび書き込みアドレスｗｐが指す行の記録単位内進捗数分である。
【００４５】
ステップＳ１５において、記録単位開始フラグが１と判定されると、ステップＳ１７において、バッファの格納開始アドレスおよび格納終了アドレスが取得される。格納開始アドレスは、次にバッファメモリから読み出されるフレームの開始アドレスである。言い換えると、格納開始アドレスは、現在、読み出しアドレスｒｐが指している行に記載されたフレームが属する記録単位の先頭アドレスである。格納終了アドレスは、最後にエンコードされたフレームの終了アドレスである。言い換えると、格納終了アドレスは、現在、書き込みアドレスｗｐが指している行に記載されたフレームが属する記録単位の先頭アドレスに、記録単位先頭からｗｐまでのデータ長を加算したものである。
【００４６】
ステップＳ１８において、これらの格納開始アドレスおよび格納終了アドレスの差分をとることによってバッファ使用量が算出される。バッファメモリ９の実アドレスに基づいて使用量を算出するので、バッファメモリ９上に生じる隙間の分を含んだ使用量が算出できる。
【００４７】
ステップＳ１３において、バッファ使用量またはテーブル使用量がマージンに突入したか否かが判定される。マージンに突入していないと判定されると、ステップＳ１９において、エンコードが継続してなされる。ステップＳ１３において、バッファ使用量またはテーブル使用量がリミットを超過していると判定されると、ステップＳ２０において、エンコードが一時停止される。
【００４８】
上述したこの発明の一実施の形態によれば、図５に示すように、フレーム情報記載テーブルおよびバッファメモリの双方にマージンが設定され、バッファ使用量がマージンに突入したことによってエンコードが一時停止される。したがって、データが上書きにより破壊されることを防止することができる。また、バッファメモリの実際のアドレスに基づいて隙間の分を含むバッファ使用量を計算し、バッファ使用量がマージンに突入したか否かを判定するので、マージンを従来に比して短くすることができる。
【００４９】
この発明は、上述の実施の形態に限定されるものではなく、この発明の技術的思想に基づく各種の変形が可能である。例えば上述した一実施の形態では、複数フレームの単位で記録を行うようにしているが、１フレーム単位で、且つ可変長データを記録する場合に対してこの発明を適用しても良い。この場合でも、この発明は、バッファメモリの使用量を正確に算出でき、マージンに到達しない範囲にさらにデータを追加記録することが可能となり、バッファメモリの容量を使い切ることができる。
【図面の簡単な説明】
【００５０】
【図１】この発明の一実施の形態のブロック図である。
【図２】この発明の一実施の形態の動作を説明するためのフローチャートである。
【図３】この発明の一実施の形態の説明に使用するフレーム情報記載テーブルの一例を示す略線図である。
【図４】この発明の一実施の形態の動作を説明するためのフローチャートである。
【図５】この発明の一実施の形態の説明に使用するタイミングチャートである。
【図６】従来のバッファメモリ管理方法の説明に使用するタイミングチャートである。
【符号の説明】
【００５１】
１・・・撮像部
４・・・カメラ信号処理部
５・・・ビデオ信号処理部
６・・・コントローラ
７ａ・・・ＣＰＵ
８・・・メモリコントローラ
９・・・バッファメモリ
１５・・・ディスクドライブ
【図１】
2009260862.tif 000003
【図２】
2009260862.tif 000004
【図３】
2009260862.tif 000005
【図４】
2009260862.tif 000006
【図５】
2009260862.tif 000007
【図６】
2009260862.tif 000008