(57)【要約】【課題】  ストリームバッファのメモリサイズを削減し、装置のコスト低減が可能なデータ記録再生装置、データ記録再生方法及びプログラムを提供すること。【解決手段】  本発明にかかるデータ記録再生装置は、Ｍ個のセグメントに分割されたストリームバッファ４と、ストリームバッファ４に、データストリームに含まれるＶＯＢＵが格納され、Ｎ個のＶＯＢＵが格納されたことを検出した後、フォワードポインタＦＷＤＩをＶＯＢＵに設定するシステム制御回路２と、設定されたＶＯＢＵを含むデータストリームが、ストリームバッファ４からセグメント毎に入力され、記録媒体に記録又は再生するストレージインタフェース回路６とを有するものである。【選択図】  図１
2006286136.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータユニットを含むデータストリームを入力順に格納し、前記データユニットを複数格納するＭ（Ｍは自然数）個のセグメントに分割された一時格納部と、
前記一時格納部に、前記データストリームに含まれる第１のデータユニットが格納された後、前記第１のデータユニットの再生又は記録順に関連するＮ（Ｎは自然数）個の前記データユニットが格納されたことを検出し、Ｎ個の前記データユニットの位置情報を、前記第１のデータユニットに設定する制御部と、
前記設定された第１のデータユニットを含むデータストリームが、前記一時格納部からセグメント毎に入力され、前記入力されたデータストリームを参照して生成した記録又は再生用データを、記録媒体に記録又は再生する記録再生部とを有する、
データ記録再生装置。
【請求項２】
前記一時格納部は、先頭の前記セグメントからＭ番目の前記セグメントまで前記データストリームを順次格納した後、先頭の前記セグメントに格納された前記データストリームを出力し、新たな前記データストリームに前記先頭の前記セグメントに格納された前記データストリームを更新し、順次前記データストリームが出力された前記セグメントに対して、新たなデータストリームに更新する、
請求項１に記載のデータ記録再生装置。
【請求項３】
前記制御部は、前記一時格納部へ前記データユニットの格納完了ごとにカウンタ値を更新し、前記カウンタ値によって前記データユニットの格納数を検出するデータユニット検出部を備える、
請求項１又は２に記載のデータ記録再生装置。
【請求項４】
前記一時格納部へ前記データユニットが格納完了する毎に格納完了通知が生成され、この格納完了通知を参照して、前記セグメントに格納された前記データユニット数が、前記セグメントに格納可能な前記データユニット数に達したと判定される毎にセグメントフル信号が生成され、このセグメントフル信号の生成回数が所定値に達したときに、前記セグメントのうち最初に格納された前記データユニットを含む前記セグメントの前記データユニットが出力され、前記出力された前記セグメントに新たな前記データストリームが格納される、
請求項１に記載のデータ記録再生装置。
【請求項５】
前記制御部は、Ｍより小さい基準数の前記セグメントに前記データストリームの格納が完了し、前記基準数のセグメントにＮ個の前記データユニットが格納されたとき、前記第１のデータユニットにＮ個の前記位置情報を設定する、
請求項１乃至４のいずれか一つに記載のデータ記録再生装置。
【請求項６】
前記制御部は、
前記セグメントの最後まで、前記データストリームが格納されたことを検出するセグメント検出部と、
前記セグメント検出部の検出をカウントするセグメントカウンタと、
前記セグメントカウンタのカウント値がＭより小さい基準数に達し、前記基準数のセグメントにＮ個の前記データユニットが格納されたとき、Ｎ個の前記位置情報を設定するデータ設定部とを備える、
請求項１乃至５のいずれか一つに記載のデータ記録再生装置。
【請求項７】
前記一時格納部の格納容量は、基準数をＭより小さい自然数として、以下の数１が満たされる範囲の容量である、
請求項１乃至６のいずれか一つに記載のデータ記録再生装置。
（数１）
前記基準数・（前記一時格納部の格納容量／Ｍ）／Ｎ  ≦  １データユニット当たりの符号量
【請求項８】
前記記録再生部は、前記出力されたデータストリームを、前記セグメントごとに記録又は再生する、
請求項１乃至７のいずれか一つに記載のデータ記録再生装置。
【請求項９】
前記データストリームのデータ構造は、複数の階層からなる階層構造を有し、
前記データユニットを単位とする上層の上層データブロックは、あらかじめ決められた所定の数の前記データユニットから構成されている、
請求項１乃至８のいずれか一つに記載のデータ記録再生装置。
【請求項１０】
前記上層データブロックに含まれる前記データユニットのそれぞれに、前記上層データブロックの最後に配置される前記データユニットに関する末尾データが、前記最後に配置される前記データユニットの格納前に、あらかじめ設定される、
請求項９に記載のデータ記録再生装置。
【請求項１１】
前記末尾データは、前記上層データブロックの最後に配置される前記データユニットの録画又は再生終了時刻である、
請求項９又は１０に記載のデータ記録再生装置。
【請求項１２】
前記一時格納部は、前記上層データブロックを格納し、
前記位置情報設定部は、前記上層データブロックの各データユニットのそれぞれに、前記位置情報を設定する、
請求項９乃至１１のいずれか一つに記載のデータ記録再生装置。
【請求項１３】
入力される複数のデータユニットを含むデータストリームを記録又は再生するデータ記録再生方法であって、
前記データユニットを複数格納するＭ（Ｍは自然数）個のセグメントに分割された一時格納部に、前記データストリームを入力順に格納し、
前記一時格納部に、前記データストリームに含まれる第１のデータユニットが格納された後、前記第１のデータユニットの再生又は記録順に関連するＮ（Ｎは自然数）個の前記データユニットが格納されたことを検出し、
Ｎ個の前記データユニットの位置情報を、前記第１のデータユニットに設定し、
前記設定された第１のデータユニットを含むデータストリームが、前記一時格納部からセグメント毎に入力され、前記入力されたデータストリームを参照して生成した記録又は再生用データを、記録媒体に記録又は再生する、
データ記録再生方法。
【請求項１４】
前記データストリームの格納は、先頭の前記セグメントからＭ番目の前記セグメントまで前記データストリームを順次格納した後、先頭の前記セグメントに格納された前記データストリームを出力し、新たな前記データストリームに前記先頭の前記セグメントに格納された前記データストリームを更新し、順次前記データストリームが出力された前記セグメントに対して、新たなデータストリームに更新する、
請求項１３に記載のデータ記録再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記録再生装置及びデータ記録再生方法に関し、特に、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）のような記録媒体を用いてデータの記録・再生を行うデータ記録再生装置及びデータ記録再生方法に関する。
【背景技術】
【０００２】
近年、ＤＶＤが規格化され急速に普及してきている。記録媒体であるＤＶＤ（ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ−ＲＡＭ等）にビデオ信号やオーディオ信号を記録する規格として、ＤＶＤ−Ｖｉｄｅｏや、ＤＶＤ＋ＶＲ（ＤＶＤ＋ＲｅＷｒｉｔａｂｌｅ  Ｖｉｄｅｏ  ｆｏｒｍａｔ）が知られている。ＤＶＤ−ＶｉｄｅｏとＤＶＤ＋ＶＲは、データ形式に互換性がある。以下、ＤＶＤビデオ規格という場合、ＤＶＤ−ＶｉｄｅｏとＤＶＤ＋ＶＲの他、これらとデータ形式の互換性を有する規格を含んでいるものとする。
【０００３】
ＤＶＤビデオ規格では、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）２の符号化方式に従って圧縮符号化されたデジタルのビデオデータ及びオーディオデータ（データストリーム）がＤＶＤに記録される。
【０００４】
図６は、ＤＶＤビデオ規格のデータ構造を示している。図６に示すように、ＤＶＤビデオ規格のデータは階層構造となっており、図６（ａ）は、この階層構造の最上位のデータ構造を示している。図６（ａ）に示すように、その先頭には、ＶＭＧ（Ｖｉｄｅｏ  Ｍａｎａｇｅｒ：ビデオマネージャー）が記録され、その次に、最大９９までの任意の数のＶＴＳ（Ｖｉｄｅｏ  Ｔｉｔｌｅ  Ｓｅｔ：ビデオタイトルセット）が記録されている。
【０００５】
図６（ｂ）に示すように、各ＶＴＳの先頭には、タイトルに関する制御情報を含むＶＴＳＩ（Ｖｉｄｅｏ  ＴｉｔｌｅＳｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ：ビデオタイトルセットインフォメーション）が記録され、ＶＴＳＩの次には、ｎ個のＶＯＢＳ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｓｅｔ：ビデオオブジェクトセット）が記録されている。
【０００６】
図６（ｃ）に示すように、各ＶＯＢＳは、ｍ個のＶＯＢ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ：ビデオオブジェクト）から構成されている。図６（ｄ）に示すように、各ＶＯＢは、ｉ個のＶＯＢＵ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｕｎｉｔ：ビデオオブジェクトユニット）から構成されている。尚、ＤＶＤビデオ規格では、ＶＯＢを一つまたは複数のセルから構成し、各セルにｎ個のＶＯＢＵが含まれている。
【０００７】
ここで、ＤＶＤ−Ｖｉｄｅｏ及びＤＶＤ＋ＶＲ規格では、１つのＶＴＳ中のセルの最大数は２５５となっている。ＤＶＤ＋ＶＲ規格の場合、１つのＶＯＢは１つのセルで構成されるため、１ＶＴＳ中のＶＯＢの最大数は２５５となる。ＤＶＤ−Ｖｉｄｅｏ規格の場合、１つのＶＯＢは少なくとも１つのセルから構成されるので、同様に、１ＶＴＳ中のＶＯＢの最大数は２５５である。そして、１つのＶＯＢに含まれるＶＯＢＵの数は、ビットレートやビデオフレーム数によって決定する。ビットレートとは、映像データや音声データの１秒あたりのデータ量のことであり、ビットレートが高いと高画質、高音質となる。
【０００８】
図６（ｅ）に示すように、各ＶＯＢＵは、複数のパックから構成されており、各パックのサイズは２０４８バイトである。ＶＯＢＵは、ＮＶ＿ＰＣＫ（Ｎａｖｉｇａｔｉｏｎ  Ｐａｃｋ：ナビゲーションパック）、Ｖ＿ＰＣＫ（Ｖｉｄｅｏ  Ｐａｃｋ：ビデオパック）、Ａ＿ＰＣＫ（Ａｕｄｉｏ  Ｐａｃｋ：オーディオパック）等を含んでいる。ＶＯＢＵには、その他、ＳＰ＿ＰＣＫ（Ｓｕｂ  Ｐｉｃｔｕｒｅ  Ｐａｃｋ：サブピクチャーパック）等のデータを含む場合もある。図に示すように、ＮＶ＿ＰＣＫは、各ＶＯＢＵの先頭にだけ配置され、その次に、任意の数のＶ＿ＰＣＫ、Ａ＿ＰＣＫあるいはＳＰ＿ＰＣＫなどのパックが必要に応じて配置される。
【０００９】
Ａ＿ＰＣＫには圧縮符号化されたオーディオデータが記録され、Ｖ＿ＰＣＫには圧縮符号化されたビデオデータが記録されている。ＮＶ＿ＰＣＫには、通常再生や特殊再生（スロー再生、高速再生、スキップ再生等）といったＶＯＢＵに含まれるデータ等を制御するための制御情報が記録されている。図６（ｆ）に示すように、ＮＶ＿ＰＣＫは、パックヘッダ（Ｐａｃｋ  Ｈｅａｄｅｒ）、システムヘッダ（Ｓｙｓｔｅｍ  Ｈｅａｄｅｒ）、再生表示したい映像または音声などを検索するための検索情報であるＤＳＩパケット（ＤＳＩ  Ｐａｃｋｅｔｓ）、ＤＳＩパケットで検索した映像又は音声を表示制御情報であるＰＣＩパケット（ＰＣＩ  Ｐａｃｋｅｔｓ）から構成されている。図６（ｇ）に示すように、ＤＳＩパケットは、ＤＳＩ＿ＧＩ（ＤＳＩ一般情報）、ＳＭＬ＿ＰＢＩ（シームレス再生情報）、ＳＭＬ＿ＡＧＬＩ（シームレスアングル情報）、ＶＯＢＵ＿ＳＲＩ（ＶＯＢＵサーチ情報）、ＳＹＮＣＩ（同期情報）から構成されている。ＳＭＬ＿ＡＧＬＩには再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭが含まれ、ＶＯＢＵ＿ＳＲＩにはフォワードポインタＦＷＤＩが含まれている。再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭは、このＶＯＢＵを含むＶＯＢの再生が全て終了する未来の時刻が記録される。フォワードポインタＦＷＤＩは、順方向情報であり、時間上そのＶＯＢ内で未来に位置するＶＯＢＵの先頭アドレスを示すポインタである。フォワードポインタＦＷＤＩには、１個先から２４０個先のＶＯＢＵの先頭アドレスが記録可能である（ＦＷＤＩ１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，１５，２０，６０，１２０，２４０）。
【００１０】
このように、ＤＶＤビデオ規格のデータには、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭやフォワードポインタＦＷＤＩのように未来のデータが含まれている。このため、従来のデータ記録装置では、一般的に、データストリーム（ビデオデータやオーディオデータ）を生成する場合、データストリームをストリームバッファに一時的に格納しておき、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭとフォワードポインタＦＷＤＩが確定したときに、これらのデータを設定してＤＶＤに記録している。
【００１１】
図７は、従来のデータ記録装置で用いられるストリームバッファ７００の例を示している。従来のストリームバッファ７００は、エンコーダ等により生成されたデータストリームを順次格納する。この例では、データストリームを構成するＶＯＢＵが、ＶＯＢＵ＃１から順に格納される。
【００１２】
再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭを設定するためには、ＶＯＢの最終ビデオフレームの再生終了時刻が必要である。このため、ＶＯＢがｎ個のＶＯＢＵから構成されるとして、ストリームバッファ７００に、ｎ個のＶＯＢＵが格納されたときに、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭの設定が可能となる。よって、ストリームバッファ７００の容量には、１ＶＯＢ全体を格納できるようなサイズが必要となる。
【００１３】
また、フォワードポインタＦＷＤＩを設定するためには、設定するＶＯＢＵに加えてフォワードポインタＦＷＤＩの数分のＶＯＢＵが、ストリームバッファ７００に格納される必要がある。よって、フォワードポインタＦＷＤＩ１〜２４０を設定する場合、ストリームバッファ７００の容量には、２４０個以上のＶＯＢＵ分のサイズが必要となる。
【００１４】
尚、従来のデータ記録装置として特許文献１が知られている。特許文献１では、ＶＯＢに含まれるＶＯＢＵ数を一定とし、このＶＯＢＵ数に基づいてあらかじめＮＶ＿ＰＣＫを設定している。
【特許文献１】特開２００２−５６６０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
このように、従来のデータ記録装置では、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭやフォワードポインタＦＷＤＩを設定するために、ストリームバッファに１つのＶＯＢに含まれる全てのＶＯＢＵを格納する必要がある。例えば、１枚のＤＶＤに２５５個のＶＯＢを記録する場合、平均的な１ＶＯＢ当たりのサイズは、約１７Ｍバイト（＝４．２Ｇバイト／２５５）となるため、１７Ｍバイト以上の容量を持つストリームバッファが必要となってしまう。
【００１６】
したがって、従来のデータ記録装置では、ストリームバッファのメモリサイズが大きいとともに、データ記録装置のコスト低減が困難であるという問題点があった。
【課題を解決するための手段】
【００１７】
本発明にかかるデータ記録再生装置は、複数のデータユニットを含むデータストリームを入力順に格納し、前記データユニットを複数格納するＭ（Ｍは自然数）個のセグメントに分割された一時格納部と、前記一時格納部に、前記データストリームに含まれる第１のデータユニットが格納された後、前記第１のデータユニットの再生又は記録順に関連するＮ（Ｎは自然数）個の前記データユニットが格納されたことを検出し、Ｎ個の前記データユニットの位置情報を、前記第１のデータユニットに設定する制御部と、前記設定された第１のデータユニットを含むデータストリームが、前記一時格納部からセグメント毎に入力され、前記入力されたデータストリームを参照して生成した記録又は再生用データを、記録媒体に記録又は再生する記録再生部とを有するものである。
【００１８】
このデータ記録再生装置によれば、一時格納部をセグメントに分割し、セグメントごとに必要なデータを補填し、出力できるようになる。そうすると、一時保存部の容量は、１又は複数のセグメントに、データの補填に必要なデータユニットが十分に格納できる容量でよいため、一時保存部の容量を削減することができ、装置のコストを低減することができる。
【００１９】
本発明にかかるデータ記録再生方法は、入力される複数のデータユニットを含むデータストリームを記録又は再生するデータ記録再生方法であって、前記データユニットを複数格納するＭ（Ｍは自然数）個のセグメントに分割された一時格納部に、前記データストリームを入力順に格納し、前記一時格納部に、前記データストリームに含まれる第１のデータユニットが格納された後、前記第１のデータユニットの再生又は記録順に関連するＮ（Ｎは自然数）個の前記データユニットが格納されたことを検出し、Ｎ個の前記データユニットの位置情報を、前記第１のデータユニットに設定し、前記設定された第１のデータユニットを含むデータストリームが、前記一時格納部からセグメント毎に入力され、前記入力されたデータストリームを参照して生成した記録又は再生用データを、記録媒体に記録又は再生するものである。
【００２０】
このデータ記録再生方法によれば、一時格納部をセグメントに分割し、セグメントごとに必要なデータを補填し、出力できるようになる。そうすると、一時保存部の容量は、１又は複数のセグメントに、データの補填に必要なデータユニットが十分に格納できる容量でよいため、一時保存部の容量を削減することができ、装置のコストを低減することができる。
【発明の効果】
【００２１】
本発明によれば、ストリームバッファのメモリサイズを削減し、装置のコスト低減が可能なデータ記録再生装置、データ記録再生方法及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２２】
発明の実施の形態１．
まず、本発明の実施の形態１にかかるデータ記録装置について説明する。本実施形態にかかるデータ記録装置は、複数のセグメントに分割されたストリームバッファを有し、１又は複数のセグメントに、１ＶＯＢＵのデータ補填に必要な数分のＶＯＢＵが格納されることを特徴とする。
【００２３】
図１は、本実施形態にかかるデータ記録装置の構成を示している。このデータ記録装置１は、ＤＶＤビデオ規格に準拠したデータ形式のデータストリームを生成し、データストリームを記録媒体へ記録する。図に示されるように、データ記録装置１は、システム制御回路２、エンコーダ回路３、ストリームバッファ４、記録媒体５、ストレージインタフェース回路６を有している。例えば、システム制御回路２、エンコーダ回路３、ストリームバッファ４、ストレージインタフェース回路６は、それぞれバスを介して接続されており、互いにデータ転送が可能である。また、システム制御回路２、エンコーダ回路３、ストリームバッファ４、ストレージインタフェース回路６は、それぞれ別の半導体装置でもよいし、１つの半導体装置の内部に構成してもよい。
【００２４】
エンコーダ回路３は、入力される信号をＭＰＥＧ２の符号化方式に従って、圧縮符号化を行い、データストリームを生成する。ここで生成されるデータストリームは、図６のデータであり、ＶＯＢを構成する連続したＶＯＢＵである。データストリームは、階層構造を有しており、ＶＯＢＵを単位とする上層のデータブロックがＶＯＢである。本実施形態では、エンコーダ回路３は、ＮＶ＿ＰＣＫのフォワードポインタＦＷＤＩ以外の部分を設定したＶＯＢＵを出力する。
【００２５】
また、エンコーダ回路３は、エンコード部３１、再生終了時刻設定部３２を有している。エンコード部３１は、圧縮符号化とＶＯＢＵの生成を行う。エンコード部３１は、例えば、カメラ等から入力されたビデオ信号を、ＭＰＥＧ２の符号化方式に従って圧縮符号化し、Ｖ＿ＰＣＫを生成するとともに、例えば、マイク等から入力されたオーディオ信号を、ＭＰＥＧ２やＡＣ３などの符号化方式に従って圧縮符号化し、Ａ＿ＰＣＫを生成する。そして、エンコード部３１は、ＮＶ＿ＰＣＫを先頭として、Ｖ＿ＰＣＫとＡ＿ＰＣＫを含むＶＯＢＵを生成する。
【００２６】
このとき、エンコード部３１は、ＶＯＢＵの生成ごとに、ＶＯＢＵ生成通知をシステム制御回路２へ通知する。ＶＯＢＵ生成通知は、エンコード部３１で１つのＶＯＢＵの生成が完了したことを示す通知であるとともに、ストリームバッファ４に１つのＶＯＢＵの格納が完了したことを示す通知でもある。例えば、ＶＯＢＵ生成通知とともに、ＶＯＢＵに含まれるパックの数を通知する。その他、エンコード部３１は、ＶＯＢの生成が終了したとき（ＶＯＢＵの数が１ＶＯＢに達したとき）にＶＯＢ生成終了通知を、全てのデータストリームの生成が終了したときにストリーム生成終了通知を、システム制御回路２へ通知する。
【００２７】
ここで、本実施形態では、１つのＶＯＢに含まれるＶＯＢＵの数は一定値として説明を進める。データストリーム記録後の再生時における、早送りや巻き戻しなどのサーチ動作において、１回の録画つまり１ＶＴＳに含まれる１ＶＯＢ（１セル）あたりのＶＯＢＵ数は一定であることが望ましい。再生時のサーチでは、各ＶＯＢＵの先頭の映像データ（Ｉピクチャ）をサーチして、先頭の映像データのみデコード表示をおこなうため、１ＶＯＢあたりのＶＯＢＵ数が一定であれば、サーチ時にすべての映像データ再生の時間が一定に保てる。よって、サーチ時に、全体的に均一的な映像データの再生が可能となり、表示をスムーズに行うことができる。１つのＶＯＢに含まれるＶＯＢＵの数は、エンコードするビットレート（ビデオビットレート、オーディオビットレート）と、各ＶＯＢＵに含まれるビデオフレーム数Ｎ（フレームレート）により決定する。このビットレートは、記録媒体に記録する録画時間や画質、音質等に応じて、あらかじめ所定の値に設定される。
【００２８】
ＤＶＤビデオ規格では、上記の通り、１つのＶＴＳに含まれるＶＯＢの最大数は２５５である。したがって、１つのＶＴＳにおける１ＶＯＢ当たりのＶＯＢＵ数は、次の式１により求まる。
【００２９】
１ＶＯＢ当たりのＶＯＢＵ数＝録画時間／（（２５５−Ｒ）＊（１ＶＯＢＵ当たりの録画時間））        （式１）
【００３０】
式１のＲは、１ＶＯＢ当たりのＶＯＢＵ数と録画時間との関係を満足させるための許容値である。Ｒの値は、録画時間（各録画時間モード）を目安にし、上記の通り各ＶＯＢ中のＶＯＢＵ数が一定であるとして算出される。例えば、１ＶＴＳが２４０個のＶＯＢからなる場合、各録画時間モードにてサーチする速度の比率を決め易い。各記録時間モードにて１ＶＯＢ中のＶＯＢＵ数が固定である場合は、ｎ倍速再生として１ＶＴＳ全体をサーチする時間（サーチ速度）が同じになる。よって、Ｒは、１ＶＯＢ中のＶＯＢＵ数を一定とするための許容値である。
【００３１】
また、ビットレートの変化等により、１ＶＯＢ中のＶＯＢＵ数が２４０より小さくなった場合など、記録する時間が確保できなくなる可能性を考慮し、例えば、Ｒ＝１５とする。すなわち、録画媒体５に対して所望の録画時間で記録できなければならないため、ＲはＶＢＲ（Variable Bit Rate）録画のため記録媒体５に対するＶＴＳの総録画時間を確保する許容値でもある。
【００３２】
ここで、１ＶＴＳあたりのＶＯＢ数を２５５−１５＝２４０とし、１ＶＯＢ当たりの録画時間を２９．９７とすると、１ＶＯＢ当たりのＶＯＢＵ数は、次の表１のようになる。尚、表１では、１ＶＯＢＵ当たりの録画時間は、１５フレーム＊１／２９．９７（ＮＴＳＣ方式）＝０．５００５秒を用いている。
【表１】
2006286136.tif 000003
【００３３】
例えば、エンコード部３１は、生成したＶＯＢＵの数をカウントするカウンタを有しており、このカウンタが式１のＶＯＢＵ数に達したときに、１つのＶＯＢが生成されたと判断し、ＶＯＢ生成終了通知をシステム制御回路２へ通知する。
【００３４】
再生終了時刻設定部３２は、エンコード部３１が生成したＶＯＢＵのＮＶ＿ＰＣＫに、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭを設定する末尾データ設定部である。再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭは、上述のように、ＶＯＢＵを含むＶＯＢの再生が全て終了する時刻であり、ＶＯＢの最後に配置されるＶＯＢＵに関する末尾データである。ＶＯＢの再生終了時刻は、ＶＯＢに含まれるＶＯＢＵの数と、１ＶＯＢＵ当たりの再生時間により決定できる。上記の式１から計算される１ＶＯＢに含まれるＶＯＢＵ数と、現時刻までに再生処理したＶＯＢＵとからＶＯＢ中の再生未了のＶＯＢＵ数を求め、（再生未了ＶＯＢＵ数×１ＶＯＢＵ当たりの時間）により再生終了時刻を決定する。この再生終了時刻を設定した後、ＶＯＢＵがストリームバッファ４へ出力される。
【００３５】
ストリームバッファ４は、エンコーダ回路３が生成したデータストリームを一時的に順次格納する一時格納部である。本実施形態では、ストリームバッファ４は、複数のセグメントに分割されている。このセグメント単位に、ストレージインタフェース回路６へデータストリームが転送されて、記録媒体５に記録される。したがって、このセグメントのサイズは、ストレージインタフェース回路６が記録媒体５へ書き込みを行う単位とほぼ同じサイズであることが好ましい。
【００３６】
また、セグメントは、後述するように複数のＶＯＢＵを格納でき、ＶＯＢＵの各パックの整数倍のサイズ、すなわち２０４８バイトの整数倍のサイズである。
【００３７】
尚、ストリームバッファ４のデータの書き込みや読み出しは、例えば、システム制御回路２からの制御によって行われているが、これに限らず、ストリームバッファ４内にバッファ制御部を設け、バッファ制御部によってデータの書き込みや読み出しを行ってもよい。
【００３８】
システム制御回路２は、データ記録装置１の各種動作を制御する。システム制御回路２は、例えば、メモリやＣＰＵ等から構成され、メモリに予め記憶されたプログラムに基づき、各種処理を実行する。
【００３９】
図１に示すように、システム制御回路２は、ＶＯＢＵカウンタ２１、セグメントカウンタ２２、セグメント検出部２３、データ設定部２４を有している。例えば、ＶＯＢＵカウンタ２１、セグメントカウンタ２２、セグメント検出部２３、データ設定部２４等の各処理を記述したプログラムがメモリに格納されており、このプログラムがメモリ上に展開され、ＣＰＵがプログラムに従って処理を行い、他のハードウェア構成と協働することによって、図１のデータ記録装置の制御を行う。
【００４０】
ＶＯＢＵカウンタ２１は、エンコーダ回路３から受け取るＶＯＢＵ生成通知の数、すなわちＶＯＢＵカウント数をカウントする。ＶＯＢＵカウンタ２１のカウント数によって、設定すべきフォワードポインタＦＷＤＩに必要なＶＯＢＵがストリームバッファ４に格納されているかどうか判定する。すなわち、ＶＯＢＵカウンタ２１は、ストリームバッファ４に所定の数のＶＯＢＵが格納されたことを検出するデータユニット検出部である。
【００４１】
セグメント検出部２３は、ストリームバッファ４の各セグメントのメモリ占有状態を監視する。さらに、セグメント検出部２３は、１つのセグメントの先頭から最後まで全体にデータが格納された場合、これをセグメントフルとして検出する。例えば、セグメント検出部２３は、セグメントに格納されているデータ量がセグメントのサイズに達した場合、セグメントフルと判断する。尚、セグメントフルの検出は、ここでは、システム制御回路２からの監視によって行われるが、これに限らず、ストリームバッファ４の内部で検出し、検出したことをシステム制御回路２へ通知してもよい。
【００４２】
セグメントカウンタ２２は、セグメント検出部２３が検出するセグメントフルのカウント数をラッチする。セグメントカウンタ２２にラッチされたカウント数によって、設定すべきフォワードポインタＦＷＤＩに必要なＶＯＢＵが、所定のセグメント内に格納されているかどうか判定する。
【００４３】
データ設定部２４は、ストリームバッファ４に格納されたデータストリームに、ストレージインタフェース回路６へ出力するために必要なデータを設定する。データ設定部２４は、ストリームバッファ４の各セグメントに格納されたＶＯＢＵのＮＶ＿ＰＣＫに、フォワードポインタＦＷＤＩを設定する。フォワードポインタＦＷＤＩは、上述のように、未来に位置するＶＯＢＵの先頭アドレスであり、ＶＯＢＵの再生順に関連する位置情報である。セグメントのＶＯＢＵにフォワードポインタＦＷＤＩを設定した後、このセグメントのデータストリームが、ストレージインタフェース回路６へ転送される。
【００４４】
記録媒体５は、ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ−ＲＡＭ等のＤＶＤである。記録媒体５は、ＤＶＤビデオ規格に準拠したデータを記録できればよく、ハードディスク等でもよい。
【００４５】
ストレージインタフェース回路６は、ストリームバッファ４からデータストリームを受け取り、記録媒体５にデータストリームを書き込む記録部である。例えば、ストレージインタフェース回路６は、光ヘッドやスピンドルモータ（不図示）を有している。スピンドルモータにより記録媒体５を回転させ、光ヘッドにより記録媒体５の所定の位置へレーザ光を照射して、データストリームを記録する。
【００４６】
図２は、本実施形態にかかるストリームバッファの構成を示している。この例では、ストリームバッファ４は、４つのセグメントから構成されている。エンコーダ回路３で生成されたＶＯＢＵが、このセグメント＃１〜＃４へ順に格納される。各セグメントには、複数のＶＯＢＵが格納される。図では説明のため、各セグメントに３つのＶＯＢＵが格納されている。
【００４７】
ストリームバッファ４は、リングバッファ構造であり、セグメント＃４の次は、再度、セグメント＃１からＶＯＢＵが上書きされ格納される。本実施形態では、セグメント単位にデータストリームをストレージインタフェース回路６へ転送し記録を行うので、エンコーダ回路３が生成したＶＯＢＵを滞りなく円滑に記録媒体５へ記録するためには、当該セグメントが再利用されて新たなＶＯＢＵが格納される前まで、すなわち、他のセグメントの格納処理中の間に、当該セグメントのデータストリームをストレージインタフェース回路６へ出力する必要がある。
【００４８】
そして、セグメントのデータストリームを転送するためには、セグメント内の全ＶＯＢＵのＮＶ＿ＰＣＫについて、フォワードポインタＦＷＤＩが補填されていなければならない。ここでは、ＮＶ＿ＰＣＫに設定されるフォワードポインタＦＷＤＩの数を６とする。そうすると、セグメント＃１内の最後に配置されたＶＯＢＵ＃３のＮＶ＿ＰＣＫに含まれるＶＯＢＵ＿ＳＲＩのフォワードポインタＦＷＤＩ＃１〜＃６には、セグメント＃２と＃３のＶＯＢＵ＃４〜＃９のそれぞれの先頭アドレスが設定される。このとき、フォワードポインタＦＷＤＩ＃１にＶＯＢＵ＃４の先頭アドレスが設定され、次に、フォワードポインタＦＷＤＩ＃２にＶＯＢＵ＃５が設定され、順にフォワードポインタＦＷＤＩ＃６まで設定される。
【００４９】
すなわち、セグメント＃１に対して次のＶＯＢＵが記録される条件は、セグメント＃１の各ＮＶ＿ＰＣＫに補填するフォワードポインタＦＷＤＩの数分のＶＯＢＵが、セグメント＃１以外のセグメントに格納されていることであり、ここでは、セグメント＃２と＃３に６個以上のセグメント＃１の各ＮＶ＿ＰＣＫが指し示すＶＯＢＵが格納されていることである。セグメント＃２、＃３、＃４についても同様の条件となる。
【００５０】
したがって、ＮＶ＿ＰＣＫに補填するフォワードポインタＦＷＤＩの数をＫ（補填ＦＷＤＩ数）として、（全セグメント数−２）のセグメントに補填ＦＷＤＩ数Ｋ個以上のＶＯＢＵ、もしくは補填ＦＷＤＩ数Ｋ個以上のＮＶ＿ＰＣＫが、常に存在すれば、セグメントの各ＮＶ＿ＰＣＫを補填しストレージインタフェース回路６へ出力できるため、ストリームバッファが破掟することがない。（全セグメント数−２）を（全セグメント数−Ａ）とすると、次の式が成り立つことが条件となる。
【００５１】
（全セグメント数−Ａ）×（ストリームバッファ容量／全セグメント数）／Ｋ  ≦  １ＶＯＢＵ当たりの符号量（ビット量）      （式２）
【００５２】
式２において、（全セグメント数−Ａ）は、補填ＦＷＤＩ数Ｋ個のＶＯＢＵが存在しなければならないセグメントの数である。ここではＡを基準セグメント数といい、基準セグメント数Ａは１以上の整数（Ａ≧１かつ全セグメント数−Ａ＞０）である。１ＶＯＢＵ当たりの符号量は、ビットレートとビデオフレーム数Ｎにより決定する。例えば、ビットレート＝４Ｍｂｐｓ、１ＶＯＢＵ当たりのビデオフレーム数Ｎ＝１５枚、１フレーム当たりの録画時間＝１／２９．９７（ＮＴＳＣ方式）のとき、１ＶＯＢＵ当たりの符号量＝４Ｍｂｐｓ＊１５＊１／２９．９７＝約２Ｍビットとなる。
【００５３】
式２より、全セグメント数が多くなると、全セグメント数と基準セグメント数Ａとの比（基準セグメント数Ａ／全セグメント数）、すなわち、全セグメント数のうち基準セグメント数Ａが占める割合が小さくなるため、１ＶＯＢＵ当たりの容量は増加し、エンコーダ回路３はより高いビットレートで符号化できる。したがって、ＤＶＤレコーダの各録画時間モードに対応できる。
【００５４】
ここで、式２に具体的な算出例について説明する。一例として、全セグメント数＝４８、基準セグメント数Ａ＝２、ストリームバッファ容量＝４Ｍバイトとする。補填ＦＷＤＩ数Ｋについては、ＤＶＤ＋ＶＲ規格では、フォワードポインタＦＷＤＩ６まで対応することになっているため、補填ＦＷＤＩ数Ｋ＝６とする。これらの値を代入すると、式２の左辺の値は、（４８−２）＊（４／４８）／６＝約０．６３ＭＢになる。さらに、１ＶＯＢＵ当たりのＮＴＳＣビデオフレーム数Ｎが１５枚のとき、１ＶＯＢＵ当たりのシステムビットレートはＤＶＤのシステムレートの上限値である１０．０８Ｍｂｐｓ程度になる。よって、式２が成り立ち、４Ｍバイト程度のサイズのストリームバッファで、円滑にデータストリームを記録できることになる。
【００５５】
尚、基準セグメント数Ａの値は、ここでは２としているが、式２が成り立つ範囲であればよい。例えば、１以上の任意の値でよく、ディスクに書き込む際の書き込み遅延などを考慮して調整してもよい。
【００５６】
次に、本実施形態にかかるデータ記録装置を用いたデータ記録方法について説明する。図３のフローチャートは、データ記録装置１が記録媒体にデータを記録する処理を示している。この処理（Ｓ３０１〜Ｓ３０４）は、データ記録装置１において、入力されるデータをＤＶＤビデオ規格に準拠したデータ形式で記録媒体５へ書き込むための処理である。
【００５７】
まず、エンコーダ回路３は、データストリームを生成する（Ｓ３０１）。例えば、エンコーダ回路３のエンコード部３１は、データ記録装置１の外部から入力される信号を圧縮符号化し、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭとフォワードポインタＦＷＤＩが未設定のＶＯＢＵを、リアルタイムに連続して生成する。そして、再生終了時刻設定部３２は、生成された各ＶＯＢＵに再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭを設定し、ストリームバッファ４へ出力する。
【００５８】
次いで、ストリームバッファ４は、生成されたデータストリームを格納する（Ｓ３０２）。例えば、Ｓ３０１で生成された連続するＶＯＢＵが、エンコーダ回路３から直接、もしくは、システム制御回路２を介して、ストリームバッファ４へ転送される。そして、ストリームバッファ４は、転送されたＶＯＢＵを、生成順に格納する。このとき、ストリームバッファ４は、上述のように、ＶＯＢＵを各セグメントに順次格納し、最後のセグメントまで格納すると、再度、先頭のセグメントから格納を続ける。
【００５９】
次いで、システム制御回路２は、データストリームを補填する（Ｓ３０３）。例えば、システム制御回路２は、Ｓ３０２で格納された各ＶＯＢＵのＮＶ＿ＰＣＫにフォワードポインタＦＷＤＩを補填する。後述するように、システム制御回路２は、ＶＯＢＵの生成やセグメントフルの検出に基づいて、フォワードポインタＦＷＤＩを補填し、当該セグメントのデータストリームをストレージインタフェース回路６へ出力する。このとき、システム制御回路２は、セグメントが再利用されてデータが上書きされる前までに、フォワードポインタＦＷＤＩを補填し、セグメントのデータを転送する。
【００６０】
次いで、ストレージインタフェース回路６は、記録媒体５へデータストリームを記録する（Ｓ３０４）。例えば、Ｓ３０３で補填されたデータストリームは、セグメントごとに、ストリームバッファ４から直接、もしくは、システム制御回路２を介して、ストレージインタフェース回路６へ転送される。そして、ストレージインタフェース回路６は、転送されたセグメント単位のデータストリームを、記録媒体５へ記録する。このとき、記録媒体５へ円滑にデータを記録するために、ストリームバッファ４からセグメントのデータが転送される速度よりも、ストレージインタフェース回路６が記録媒体５へセグメントのデータを記録する速度の方が、十分速いことが好ましい。
【００６１】
次に、図４のフローチャートを用いて、図３のＳ３０３のデータストリームの補填処理について詳細に説明する。このデータストリームの補填処理（Ｓ４０１〜Ｓ４１４）は、上述の通り、システム制御回路２において実行される処理である。例えば、Ｓ３０１，Ｓ３０２のデータストリーム生成や格納と平行して、システム制御回路２では、ＶＯＢＵの生成や、セグメントフルの検出、ＶＯＢの生成終了、データストリームの生成終了等のイベントを監視しており、これらのイベントの発生に基づいて、以下の処理を行う。尚、この処理の実行前に、各データの初期化が行われ、ＶＯＢＵのカウント数やセグメントフルのカウント数等はリセットされている。
【００６２】
まず、システム制御回路２は、ＶＯＢＵ生成通知の有無を判定する（Ｓ４０１）。例えば、ＶＯＢＵカウンタ２１は、エンコーダ回路３からのＶＯＢＵ生成通知を監視しており、このＶＯＢＵ生成通知を受信したかどうか判定する。
【００６３】
Ｓ４０１において、ＶＯＢＵ生成通知有りと判定した場合、システム制御回路２は、ＶＯＢＵ情報を受信し、ＶＯＢＵカウント数に１を加算する（Ｓ４０２）。例えば、ＶＯＢＵカウンタ２１は、エンコーダ回路３からＶＯＢＵ生成通知を受信すると、さらに、ＶＯＢＵ情報としてＶＯＢＵのパック数を受信する。そして、ＶＯＢＵカウンタ２１は、ＶＯＢＵのカウント数をインクリメントする。ＶＯＢＵのカウント数は、ストリームバッファ４全体のＶＯＢＵのカウント数や、各セグメント毎のＶＯＢＵのカウント数などが考えられる。
【００６４】
Ｓ４０１において、ＶＯＢＵ生成通知無しと判定した場合、もしくは、Ｓ４０２の次に、システム制御回路２は、セグメントフル検出の有無を判定する（Ｓ４０３）。例えば、セグメント検出部２３は、ストリームバッファ４の各セグメントの格納状態（格納容量）を監視しており、各セグメントの先頭から最後まで全体にデータストリームが格納されているかどうか（セグメントの容量に達したかどうか）判定する。
【００６５】
Ｓ４０３において、セグメントフル検出有りと判定した場合、システム制御回路２は、セグメントフルのカウント数に１を加算する（Ｓ４０４）。例えば、データ設定部２４は、セグメント検出部２３がセグメントフルを検出すると、セグメントフルのカウント数をインクリメントする。
【００６６】
Ｓ４０３において、セグメントフル検出無しと判定した場合、もしくは、Ｓ４０４の次に、システム制御回路２は、ＶＯＢＵカウント数が補填ＦＷＤＩ数Ｋ個以上かどうか判定する（Ｓ４０５）。例えば、ＶＯＢＵカウンタ２１は、ＶＯＢＵのカウント数を参照し、カウント数が上記の式２の補填ＦＷＤＩ数Ｋ以上か、すなわち、注目するＶＯＢＵを構成するナビゲーションパックの各フォワードポインタに必要なだけのＶＯＢＵがストリームバッファ４に格納されているかどうか判定する。
【００６７】
Ｓ４０５においてＶＯＢＵカウント数が補填ＦＷＤＩ数Ｋ個以上であると判定した場合、システム制御回路２は、セグメントフルのカウント数が（全セグメント−基準セグメント数Ａ）よりも大きいかどうか判定する（Ｓ４０６）。例えば、セグメントカウンタ２２は、セグメントフルのカウント数を参照し、カウント数が上記の式２の（全セグメント−基準セグメント数Ａ）よりも大きいか、すなわち、データストリームが（全セグメント−基準セグメント数Ａ）のセグメントまで格納されているかどうか判定する。Ｓ４０６において、セグメントフルのカウント数が（全セグメント−基準セグメント数Ａ）以下であると判定した場合、システム制御回路２は、再度、Ｓ４０１以降の処理を行い、（全セグメント−基準セグメント数Ａ）のセグメントまでデータストリームが格納されるまで処理を繰り返す。尚、データストリームが（全セグメント−基準セグメント数Ａ）のセグメントに達する前にデータストリームを記録する場合には、Ｓ４０６の処理を行わなくてもよい。
【００６８】
Ｓ４０６においてセグメントフルのカウント数が（全セグメント−基準セグメント数Ａ）より大きいと判定した場合、システム制御回路２は、セグメント＃ｎ中のα個のＮＶ＿ＰＣＫ処理を行う（Ｓ４０７）。例えば、データ設定部２４は、出力するセグメント（＃ｎ）を選択する。選択するセグメントは、前回出力したセグメントの次のセグメントである。そして、選択したセグメントのＶＯＢＵのカウント数（α）を参照し、このカウント数分のＶＯＢＵについてＮＶ＿ＰＣＫ処理を行う。すなわち、各ＶＯＢＵのＮＶ＿ＰＣＫについて、補填ＦＷＤＩ数Ｋ個先のＶＯＢＵの先頭アドレスをフォワードポインタＦＷＤＩに設定する。
【００６９】
次いで、システム制御回路２は、セグメント＃ｎを記録媒体へ転送する（Ｓ４０８）。例えば、データ設定部２４により、選択されて補填されたセグメントのデータを、ストレージインタフェース回路６へ転送する。
【００７０】
次いで、システム制御回路２は、ＶＯＢＵカウント数からαを減算する（Ｓ４０９）。例えば、ＶＯＢＵカウンタ２１は、ストリームバッファ４全体のＶＯＢＵカウント数から、出力したセグメントのＶＯＢＵの数、すなわちＳ４０７で処理したＶＯＢＵ数（α）を減算するとともに、出力したセグメントのＶＯＢＵカウント数をリセットする。
【００７１】
次いで、システム制御回路２は、セグメントフルのカウント数から１を減算する（Ｓ４１０）。例えば、セグメントカウンタ２２は、出力したセグメントの数を減算、すなわち、セグメントフルのカウンタ数をデクリメントする。Ｓ４１０の後、システム制御回路２は、再度、Ｓ４０１以降の処理を繰り返し、次のセグメントを出力する。
【００７２】
一方、Ｓ４０５においてＶＯＢＵカウント数が補填ＦＷＤＩ数Ｋ個よりも小さいと判定した場合、システム制御回路２は、ストリーム生成終了通知の有無を判定する（Ｓ４１１）。例えば、データ設定部２４は、エンコーダ回路３からのストリーム生成通知を監視しており、このストリーム生成通知を受信したかどうか判定する。
【００７３】
Ｓ４１１においてストリーム生成終了通知有りと判定した場合、システム制御回路２は、ストリーム終了処理を行う（Ｓ４１２）。例えば、データ設定部２４は、ストリーム生成通知を受信すると、ストリーム終了処理として、ＶＯＢＵのカウント数を参照し、出力前のＶＯＢＵが残っている場合、残りのＶＯＢＵのＮＶ＿ＰＣＫにフォワードポインタＦＷＤＩを設定して、このＶＯＢＵを含むセグメントのデータをストレージインタフェース回路６へ転送する。Ｓ４１２の後、データストリームの補填処理は終了する。
【００７４】
また、Ｓ４１１においてストリーム生成終了通知無しと判定した場合、システム制御回路２は、ＶＯＢ生成終了通知の有無を判定する（Ｓ４１３）。例えば、データ設定部２４は、エンコーダ回路３からのＶＯＢＵ生成終了通知を監視しており、このＶＯＢＵ生成終了監視通知を受信したかどうか判定する。
【００７５】
Ｓ４１３においてＶＯＢ生成終了通知有りと判定した場合、システム制御回路２は、ＶＯＢ終端処理を行う（Ｓ４１４）。例えば、データ設定部２４は、ＶＯＢ生成終了通知を受信すると、ＶＯＢ終端処理として、ＶＯＢ内の最後のＶＯＢＵが連続する次のＶＯＢＵとポインタで連結しないようにする。すなわち、最後のＶＯＢＵが指す次のＶＯＢＵのポインタ（ＦＷＤＩ  ＮＥＸＴ）をクリアする。
【００７６】
Ｓ４１３においてＶＯＢ生成終了通知無しと判定した場合、もしくは、Ｓ４１４の次に、システム制御回路２は、再度、Ｓ４０１以降の処理を繰り返し、次のセグメントを出力する。
【００７７】
ここで、図５の具体例を用いて、図４のデータストリームの補填処理についてさらに説明する。図５は、ストリームバッファ４のセグメント＃１〜＃４にＶＯＢＵが順次格納されて、セグメント＃１が記録媒体５へ転送される例である。ここでは、基準セグメント数Ａ＝２、補填ＦＷＤＩ数Ｋ＝６、全セグメント数＝４として、上記の式２が成り立っているとする。
【００７８】
まず、図５（ａ）に示すように、セグメント＃１にＶＯＢＵ＃１〜＃３が格納される。エンコーダ回路３でＶＯＢＵが生成されるごと、ＶＯＢＵの生成ごとに（図では、ストリームバッファにＶＯＢＵが格納されるごとに）、ＶＯＢＵ生成通知がシステム制御回路２へ通知される。システム制御回路２は、ＶＯＢＵ生成通知を受け取ると、ＶＯＢＵカウント数に１を加算する（Ｓ４０１，Ｓ４０２）。そして、データストリームがセグメント＃１の最後まで格納されたとき、ここでは、ＶＯＢＵ＃３が全て格納されたとき、システム制御回路２は、セグメントフルを検出し、セグメントフルのカウント数に１を加算する（Ｓ４０３，Ｓ４０４）。このとき、ＶＯＢＵのカウント数は３、セグメントフルのカウント数は１なので、システム制御回路２は、ＶＯＢＵのカウント数が６個より小さい（Ｓ４０５）、ストリーム生成終了通知なし（Ｓ４１１）、ＶＯＢ生成終了通知なし（Ｓ４１３）と判定した後、そのままストリームバッファ４の格納状態を監視する。
【００７９】
次いで、図５（ｂ）に示すように、セグメント＃２にＶＯＢＵ＃４〜＃６とＶＯＢＵ＃７の途中までが格納される。上記と同様に、システム制御回路２は、ＶＯＢＵ生成通知ごとにＶＯＢＵカウント数に１を加算する（Ｓ４０１，Ｓ４０２）。そして、データストリームがセグメント＃２の最後まで格納されたとき、ここでは、ＶＯＢＵ＃７の途中まで格納されたとき、システム制御回路２は、セグメントフルを検出し、セグメントフルのカウント数に１を加算する（Ｓ４０３，Ｓ４０４）。このとき、ＶＯＢＵのカウント数は６、セグメントフルのカウント数は２なので、システム制御回路２は、ＶＯＢＵカウント数が６以上である（Ｓ４０５）、セグメントフルのカウント数が２以下である（Ｓ４０６）と判定した後、そのままストリームバッファの格納状態を監視する。
【００８０】
次いで、図５（ｃ）に示すように、セグメント＃３にＶＯＢＵ＃７〜＃９とＶＯＢＵ＃１０の途中までが格納される。上記と同様に、システム制御回路２は、ＶＯＢＵ生成通知ごとにＶＯＢＵカウント数に１を加算する（Ｓ４０１，Ｓ４０２）。そして、データストリームがセグメント＃３の最後まで格納されたとき、ここでは、ＶＯＢＵ＃１０のＮＶ＿ＰＣＫまで格納されたとき、システム制御回路２は、セグメントフルを検出し、セグメントフルのカウント数に１を加算する（Ｓ４０３，Ｓ４０４）。このとき、ＶＯＢＵのカウント数は９、セグメントフルのカウント数は３なので、システム制御回路２は、ＶＯＢＵカウント数が６以上である（Ｓ４０５）、セグメントフルのカウント数が２より大きい（Ｓ４０６）と判定した後、Ｓ４０７を行う。
【００８１】
Ｓ４０７では、図５（ｄ）に示すように、システム制御回路２は、ＮＶ＿ＰＣＫ処理を行う。システム制御回路２は、セグメント＃１中の３つのＮＶ＿ＰＣＫについてＮＶ＿ＰＣＫ処理を行う。ここでは、各ＮＶ＿ＰＣＫのフォワードポインタＦＷＤＩ＃１〜６を設定する。ＶＯＢＵ＃１のフォワードポインタＦＷＤＩ＃１〜６には、ＶＯＢＵ＃２〜＃７のアドレスをそれぞれ設定し、ＶＯＢＵ＃２のフォワードポインタＦＷＤＩ＃１〜６には、ＶＯＢＵ＃３〜＃８のアドレスをそれぞれ設定し、ＶＯＢＵ＃３のフォワードポインタＦＷＤＩ＃１〜６には、ＶＯＢＵ＃４〜＃９のアドレスをそれぞれ設定する。このとき、同時に、セグメント＃４にＶＯＢＵ＃１０、＃１１とＶＯＢＵ＃１２の途中までが格納される。そして、システム制御回路２は、セグメント＃１をストレージインタフェース回路６へ転送し記録媒体へ記録する（Ｓ４０８）。また、システム制御回路２は、ＶＯＢＵカウント数から３を減算し、セグメントフルのカウント数から１を減算する（Ｓ４０９，Ｓ４１０）。
【００８２】
Ｓ４０８の後、図５（ｅ）に示すように、セグメント＃１のデータは転送済みとなって、再利用可能となる。そしてさらに、ＶＯＢＵが順次格納され、セグメント＃４には、ＶＯＢＵ＃１２、＃１３が格納される。
【００８３】
このように、本実施形態では、ＶＯＢに含まれるＶＯＢＵの数を固定にすることで、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭをあらかじめ特定できるため、１ＶＯＢ全体のデータストリームをストリームバッファに格納する必要がない。したがって、バッファ容量を１ＶＯＢのサイズよりも小さくすることができ、メモリを削減することができる。
【００８４】
さらに、本実施形態では、ストリームバッファをセグメントに分割し、１又は複数のセグメントに１ＶＯＢＵのデータ補填に必要な数分のＶＯＢＵを格納するため、システムビットレートなどのパラメータに基づいて、バッファ容量を設定することができる。したがって、上記の式２の条件が成り立つ範囲で、バッファ容量を小さくすることができる。例えば、従来のストリームバッファが１７Ｍバイト程度に対して、本実施形態では、４Ｍバイトとすることができるため、大幅にメモリ削減することができる。従来のように、ストリームバッファに２４０個のＶＯＢＵを格納した場合と比べて、１／５程度のサイズとなる。その結果、ＤＶＤレコーダ等のデータ記録装置全体のシステムメモリを削減することができ、より低価格のＤＶＤレコーダを実現することができる。
【００８５】
その他の発明の実施の形態．
尚、上述の例では、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭの設定をエンコーダ回路３で行ったが、これに限らす、ＶＯＢＵをストリームバッファ４に格納した後、システム制御回路２が設定してもよい。システム制御回路２に、再生終了時刻設定部３２を設け、例えば、フォワードポインタＦＷＤＩの設定と同じタイミング（Ｓ４０７）で、再生終了時刻ＶＯＢ＿Ｖ＿Ｅ＿ＰＴＭを設定してもよい。さらに、ＤＶＤ−Ｖｉｄｅｏ時に、ＶＯＢ中のＦＷＤＩを全て設定してもよい。この場合は１ＶＯＢ中の１セルをストリームバッファへ格納することにする。
【００８６】
また、上述の例では、エンコードのビットレートの調整を行っていないが、ＣＢＲ（Constant Bit Rate）制御やＶＢＲ（Variable Bit Rate）制御をさらに行ってもよい。これにより、ストリームバッファ容量をさらに小さくすることができる。
【００８７】
さらに、上述の例では、データ記録装置及びデータ記録方法として説明したが、データ記録に限らず、データ再生を行ってもよい。例えば、図１のストレージインタフェース回路６を、ＤＶＤビデオ規格のデータを再生するデータ再生装置として、図３のＳ３０４でデータストリームを再生してもよい。
【００８８】
このほか、本発明の要旨を逸脱しない範囲で種々の変形、実施が可能である。
【図面の簡単な説明】
【００８９】
【図１】本発明にかかるデータ記録装置の構成を示すブロック図である。
【図２】本発明にかかるデータ記録装置のストリームバッファの構成を示す図である。
【図３】本発明にかかるデータ記録装置の動作を示すフローチャートである。
【図４】本発明にかかるデータ記録装置の動作を示すフローチャートである。
【図５】本発明にかかるデータ記録装置の動作を説明するための説明図である。
【図６】ＤＶＤビデオ規格に準拠したデータの構造を示す図である。
【図７】従来のストリームバッファの構成を示す図である。
【符号の説明】
【００９０】
１  データ記録装置
２  システム制御回路
３  エンコーダ回路
４  ストリームバッファ
５  記録媒体
６  ストレージインタフェース回路
２１  ＶＯＢＵカウンタ
２２  セグメントカウンタ
２３  セグメント検出部
２４  データ設定部
３１  エンコード部
３２  再生終了時刻設定部
【図１】
2006286136.tif 000004
【図２】
2006286136.tif 000005
【図３】
2006286136.tif 000006
【図４】
2006286136.tif 000007
【図５】
2006286136.tif 000008
【図６】
2006286136.tif 000009
【図７】
2006286136.tif 000010