(57)【要約】【課題】パック化映像音声データを格納するバッファのオーバーフローを防ぎつつ無駄なバッファ領域の確保を回避する。【解決手段】  映像音声データ変換部４が生成したパック化映像音声データは、ファイルシステムインターフェースライブラリ５を経由してパック化映像音声データ管理制御ブロック６に出力される。パック化映像音声データ管理制御ブロック６は、入力したパック化映像音声データのうち最もサイズの大きなパック化映像音声データのサイズを最大パックサイズとしてプログラム属性テーブル１０に記録する。多重化映像音声データ構成ブロック４５は、最大パックサイズを参照して、パック化映像音声データを格納するバッファ領域を確保する。多重化映像音声データ構成ブロック４３は、バッファに格納したパック化映像音声データをアンパックして映像音声データを復元する。【選択図】図１
2006085777.tif 000002
【特許請求の範囲】
【請求項１】
映像音声データに含まれる映像データ、音声データ及び映像音声データの同期情報を分離し、映像データと音声データと同期情報とを基にパック化映像音声データを生成するパック化映像音声データ生成手段と、
上記同期情報を指標とした管理テーブルを作成し上記パック化映像音声データを管理するファイル管理手段と、
上記パック化映像音声データ生成手段が生成したパック化映像音声データのうち最もサイズが大きいパック化映像音声データのサイズである最大パックサイズを算出する最大パックサイズ算出手段と、
上記最大パックサイズと、上記管理テーブルと、上記パック化映像音声データとを記録手段に記録させる記録制御手段と
を備えることを特徴とする映像音声データ記録再生装置。
【請求項２】
上記最大パックサイズ算出手段は、１つのプログラムを構成するパック化映像音声データから最大パックサイズを算出すること
を特徴とする請求項１記載の映像音声データ記録再生装置。
【請求項３】
上記最大パックサイズ算出手段は、上記パック化映像音声データ生成手段が過去に生成したパック化映像音声データの最大パックサイズと、上記パック化映像音声データ生成手段が新たに生成したパック化映像音声データのサイズとを比較し、過去に生成したパック化映像音声データの最大パックサイズよりも新たに生成したパック化映像音声データのサイズが大きいときに、新たに生成したパック化映像音声データのサイズを最大パックサイズとする処理を繰り返して最大パックサイズを算出すること
を特徴とする請求項１記載の映像音声データ記録再生装置。
【請求項４】
上記パック化映像音声データ生成手段は、上記映像データからその映像フォーマットを抽象化したデータを生成し、上記音声データからその音声フォーマットを抽象化したデータを生成し、上記抽象化された映像データ及び音声データを記録データとしてパック化することを特徴とする請求項１記載の映像音声データ記録再生装置。
【請求項５】
上記パック化映像音声データを上記映像音声データに復元するデータアンパック手段と、
上記データアンパック手段のワークエリアとしてのメモリ領域と、
上記最大パックサイズに基づく上記パック化映像音声データを格納するために十分な容量のバッファ領域を上記メモリ領域上に確保する領域確保手段と
を備えることを特徴とする請求項１記載の映像音声データ記録再生装置。
【請求項６】
上記最大パックサイズに基づく上記パック化映像音声データを格納するために必要となるバッファのサイズが上記メモリ領域上に確保できるか否かを判定する判定手段を備えることを特徴とする請求項５記載の映像音声データ記録再生装置。
【請求項７】
上記判定手段は、複数のプログラムの最大パックサイズを基に、上記複数のプログラムのパック化映像音声データを格納するために必要となるバッファのサイズを求め、上記メモリ領域上にその容量が確保できるか否かを判定する判定手段を備えること
を特徴とする請求項５記載の映像音声データ記録再生装置。
【請求項８】
上記判定手段でバッファの領域が確保できないと判定されたとき、その旨をユーザに通知する通知手段を備えることを特徴とする請求項６記載の映像音声データ記録再生装置。
【請求項９】
上記判定手段でバッファの領域が確保できないと判定されたとき、データアンパック手段の処理を開始させないことを特徴とする請求項６記載の映像音声データ記録再生装置。
【請求項１０】
映像音声データに含まれる映像データ、音声データ及び映像音声データの同期情報を分離し、映像データと音声データと同期情報とを基にパック化映像音声データを生成するパック化映像音声データ生成手段と、
上記同期情報を指標とした管理テーブルを作成し上記パック化映像音声データを管理するファイル管理手段と、
上記パック化映像音声データ生成手段が生成したパック化映像音声データのうち最もサイズが大きいパック化映像音声データのサイズである最大パックサイズを算出する最大パックサイズ算出手段と、
上記最大パックサイズを記録手段に記録させる記録制御手段と
を備えることを特徴とする映像音声データ記録再生システム。
【請求項１１】
上記最大パックサイズ算出手段は、１つのプログラムを構成するパック化映像音声データから最大パックサイズを算出すること
を特徴とする請求項１０記載の映像音声データ記録再生システム。
【請求項１２】
上記パック化映像音声データ生成手段は、上記映像データからその映像フォーマットを抽象化したデータを生成し、上記音声データからその音声フォーマットを抽象化したデータを生成し、上記抽象化された映像データ及び音声データを記録データとしてパック化することを特徴とする請求項１０記載の映像音声データ記録再生システム。
【請求項１３】
上記パック化映像音声データを上記映像音声データに復元するデータアンパック手段と、
上記データアンパック手段のワークエリアとしてのメモリ領域と、
上記最大パックサイズに基づく上記パック化映像音声データを格納するために十分な容量のバッファ領域を上記メモリ領域上に確保する領域確保手段と
を備えることを特徴とする請求項１０記載の映像音声データ記録再生システム。
【請求項１４】
上記最大パックサイズに基づく上記パック化映像音声データを格納するために必要となるバッファのサイズが上記メモリ領域上に確保できるか否かを判定する判定手段を備えることを特徴とする請求項１３記載の映像音声データ記録再生システム。
【請求項１５】
上記判定手段は、複数のプログラムの最大パックサイズを基に、上記複数のプログラムのパック化映像音声データを格納するために必要となるバッファのサイズを求め、上記メモリ領域上に必要な領域が確保できるか否かを判定する判定手段を備えること
を特徴とする請求項１４記載の映像音声データ記録再生システム。
【請求項１６】
上記判定手段でバッファの領域が確保できないと判定されたとき、その旨をユーザに通知する通知手段を備えることを特徴とする請求項１４記載の映像音声データ記録再生システム。
【請求項１７】
映像音声データに含まれる映像データ、音声データ及び映像音声データの同期情報を分離し、映像データと音声データと同期情報とを基にパック化映像音声データを生成するパック化映像音声データ生成工程と、
上記同期情報を指標とした管理テーブルを作成し上記パック化映像音声データを管理するファイル管理工程と、
上記パック化映像音声データ生成手段が生成したパック化映像音声データのうち最もサイズが大きいパック化映像音声データのサイズである最大パックサイズを算出する最大パックサイズ算出工程と、
上記最大パックサイズと、管理テーブルと、パック化映像音声データとを記録手段に記録させる記録制御工程と、
上記最大パックサイズを上記記録手段から読み出す読出制御工程と、
上記最大パックサイズに基づく上記パック化映像音声データを格納するために十分な容量のバッファ領域をメモリ領域上に確保する領域確保工程と、
上記メモリ領域をワークエリアとして、上記パック化映像音声データを上記映像音声データに復元するデータアンパック工程と
を有する映像音声データ記録再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パック化映像音声データを記録及び再生する映像音声データ記録再生装置、映像音声データ記録再生システム、及び映像音声データ記録再生方法に関する。
【背景技術】
【０００２】
ディジタル形式での伝送あるいはパッケージとして配布される映像音声データが増加するにつれ、それらディジタル映像音声データを記録再生する電子機器が広まりつつある。これらの電子機器のストレージとしては、磁気ディスク、光ディスク、あるいは半導体メモリなどがある。特に、ランダムアクセス性を持つストレージに対しては、単に、映像音声データをそのまま記録再生するだけでなく、そのランダムアクセス性を活用した映像音声データ記録再生システムが存在する。
【０００３】
このような映像音声データ記録再生システムは、ランダムアクセス性を利用した特殊再生を実現するために、単なる映像音声データをパーソナルコンピュータで扱われるファイルのように記録するだけでなく、そのディジタル映像音声データを解析し、映像音声データのフォーマットに依存しない単位で管理している。
【０００４】
この単位をパック化映像音声データと呼ぶ。パック化映像音声データを管理するためのテーブルを管理テーブルと呼ぶ。管理テーブルは、パック化映像音声データの記録位置と、パック化映像音声データの再生経過時刻とを関連付けている（例えば、特許文献１）。
【０００５】
パック化映像音声データのまとまりをプログラムと呼ぶ。図１３は、プログラムとパック化映像音声データとの関係を示している。プログラムは、映像音声データの意味的な集合であり、例えば、１つのテレビ番組、1本の映画、１曲の音楽などがある。パック化映像音声データのサイズは、可変長であり、１つのプログラムであっても様々なサイズのパック化映像音声データを含む。また、パック化映像音声データのサイズは、パック化映像音声データを生成するシステムのバッファサイズや転送レートに依存する。例えば、パック化映像音声データ格納用バッファが大きいシステムＡと、パック化映像音声データ格納用バッファが小さいシステムＢがあるとすると、パック化映像音声データ格納用バッファが大きいシステムＡで記録したパック化映像音声データのサイズの方が、パック化映像音声データ格納用バッファが小さいシステムＢで記録したパック化映像音声データのサイズよりも大きくなることがある。
【０００６】
【特許文献１】特開２００４−７６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、データをパック化映像音声データごとに管理するシステムでは、パック化映像音声データをアクセス単位としてストレージに記録する。データの読み出しはパック化映像音声データ単位で行われる。従って、映像音声データを再生するシステムは、ストレージから読み出したパック化映像音声データを格納するためのバッファ領域を確保しておく必要がある。
【０００８】
バッファ領域を確保する際、確保したバッファ領域が小さすぎるとオーバーフローが発生することがある。図１４は、オーバーフローの様子を示している。この図は、上から順にパック化映像音声データを格納するために確保したバッファ領域のサイズ、ｉ番目のパック化映像音声データのサイズ、ｊ番目のパック化映像音声データのサイズを示している。ｉ番目のパック化映像音声データのサイズは、確保したバッファ領域よりも小さいので正しくバッファに格納される。これに対し、ｊ番目のパック化映像音声データは、確保したバッファ領域よりも大きいためにオーバーフローが発生する。
【０００９】
オーバーフローを防止するために大きめのバッファ領域を確保する方法も考えられる。しかしながら、バッファ領域を大きく確保しすぎると、利用されることのない無駄なバッファ領域ができ、メモリ等の資源を無駄に利用することになる。図１５は、無駄なバッファ領域を確保したときの様子を示している。この図は、上から順にパック化映像音声データを格納するために確保したバッファ領域のサイズ、ｉ番目のパック化映像音声データのサイズ、ｊ番目のパック化映像音声データのサイズを示している。ｉ番目のパック化映像音声データもｊ番目のパック化映像音声データもパック化映像音声データ格納用バッファ領域よりも小さいため、バッファのオーバーフローは発生しないが、利用されることのない無駄な領域が発生する。
【００１０】
本発明は、上述した課題に鑑みてなされたものであって、パック化映像音声データを格納するバッファのオーバーフローを防ぎつつ無駄なバッファ領域の確保を回避する映像音声データ記録再生装置、映像音声データ記録再生システム、映像音声データ記録再生方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る映像音声データ記録再生装置及び映像音声データ記録再生システムは、映像音声データに含まれる映像データ、音声データ及び映像音声データの同期情報を分離し、映像データと音声データと同期情報とを基にパック化映像音声データを生成するパック化映像音声データ生成手段と、同期情報を指標とした管理テーブルを作成しパック化映像音声データを管理するファイル管理手段と、パック化映像音声データ生成手段が生成したパック化映像音声データのうち最もサイズが大きいパック化映像音声データのサイズである最大パックサイズを算出する最大パックサイズ算出手段と、最大パックサイズと管理テーブルとパック化映像音声データとを記録手段に記録させる記録制御手段とを備える。
【００１２】
また、本発明に係る映像音声データ記録再生方法は、映像音声データに含まれる映像データ、音声データ及び映像音声データの同期情報を分離し、映像データと音声データと同期情報とを基にパック化映像音声データを生成するパック化映像音声データ生成工程と、同期情報を指標とした管理テーブルを作成しパック化映像音声データを管理するファイル管理工程と、パック化映像音声データ生成手段が生成したパック化映像音声データのうち最もサイズが大きいパック化映像音声データのサイズである最大パックサイズを算出する最大パックサイズ算出工程と、最大パックサイズと、管理テーブルと、パック化映像音声データとを記録手段に記録させる記録制御工程と、最大パックサイズに基づく上記パック化映像音声データを格納するために十分な容量のバッファ領域をメモリ領域上に確保する領域確保工程と、メモリ領域をワークエリアとしてパック化映像音声データを映像音声データに復元するデータアンパック工程とを有する。
【発明の効果】
【００１３】
本発明を適用した映像音声データ記録再生装置及び映像音声データ記録再生システムによれば、パック化映像音声データと、パック化映像音声データの同期情報を指標とした管理テーブルと、最もサイズが大きいパック化映像音声データのサイズである最大パックサイズとを記録手段に記録させる。
【００１４】
映像音声データ記録再生装置及び映像音声データ記録再生システムは、パック化映像音声データを映像音声データにアンパックするとき、最大パックサイズを基にパック化映像音声データを格納するための必要かつ十分なバッファ領域を確保することができるため、バッファのオーバーフローを防止するとともに、無駄なバッファ領域を少なくすることができる。
【００１５】
また、映像音声データ記録再生装置及び映像音声データ記録再生システムによれば、パック化映像音声データを映像音声データにアンパックするとき、最大パックサイズを基にパック化映像音声データを格納するためのバッファ領域が確保できるか否かを判定することができる。
【００１６】
さらに、映像音声データ記録再生装置及び映像音声データ記録再生システムによれば、複数のプログラムの最大パックサイズを基に、複数のプログラムのパック化映像音声データを格納する領域が確保できるか否かを判定することができる。
【００１７】
本発明を適用した映像音声データ記録再生方法によれば、パック化映像音声データと、パック化映像音声データの同期情報を指標とした管理テーブルと、最もサイズが大きいパック化映像音声データのサイズである最大パックサイズとを記録手段に記録させる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明を適用した映像音声データ記録再生システムについて説明する。図１は、映像音声データ記録再生システム１の構成を示すブロック図である。映像音声データ記録再生システム１は、映像音声データにパック化という処理を施す。パック化とは、例えば、符号化した映像音声データを復号化単位でまとめる処理である。パック化された映像音声データをパック化映像音声データと呼ぶ。パック化映像音声データの再生時刻情報とストレージ上の記録位置を関連付けるテーブルをパック化映像音声データ管理テーブルと呼ぶ。
【００１９】
パック化映像音声データは、アプリケーション制御ブロック２で生成される。アプリケーション制御ブロック２は、電子機器に設けられる。電子機器としては、パーソナルコンピュータ、テレビ、ハードディスクレコーダ、デジタルカメラ、携帯電話などがある。これらの電子機器は、ハードディスク、ＣＤ−ＲＯＭ（Read Only Memory）、ＤＶＤ、フラッシュメモリなどのストレージ８を備える。本実施の形態では、アプリケーション制御ブロック２を備えた電子機器をアプリケーションと記す。
【００２０】
アプリケーション制御ブロック２は、図１に示すように映像音声データをパック化映像音声データに変換する映像音声データ変換部４と、ファイル管理ブロック３とのデータ交換を仲介するファイルシステムインターフェースライブラリ５とを備える。
【００２１】
映像音声データ変換部４は、図１に示すように映像音声データをパック化映像音声データに変換する多重化映像音声データ抽象化ブロック４１と、ストレージ８から読み出したパック化映像音声データを映像音声データに戻す多重化映像音声データ構成ブロック４３と、ファイルシステムインターフェースライブラリ５の機能を利用してファイル管理ブロック３を制御するシステム制御ブロック４２とを備える。
【００２２】
多重化映像音声データ抽象化ブロック４１は、映像音声データを多重化分離するための制御コードを記憶している。多重化映像音声データ抽象化ブロック４１は、この制御コードに従い、入力された映像音声データの映像データ及び音声データの分離を行う。多重化映像音声データ抽象化ブロック４１は、システム制御ブロック４２からのコマンドにより、どのような多重化フォーマットが入力されるか既に認識している。多重化フォーマットでは、通常、映像データおよび音声データの同期をとるための時刻情報を有するか、あるいは少なくともある約束事のもとに同期がとれる仕組みを有している。例えば、ＭＰＥＧ−２トランスポートストリームの場合、基準時刻としてＰＣＲ（Program Clock Reference）を含んでおり、この基準時計に基づいて映像データや音声データが再生開始されるべき時刻として（ある単位で）ＰＴＳ（Presentation Time Stamp）を含んでいる。また、時刻情報を持たない映像のみのデータや音声のみのデータであってもフレーム同期やサンプリング周波数などからどのようなタイミングで映像あるいは音声データを再生すべきか算出することができる。いずれにしても、映像データ及び音声データが再生されるべき時刻を得ることができる。これらのデータは、既に多重化フォーマットを解いた形式に還元されているため、多重化フォーマットに依存しない方法で処理される。
【００２３】
多重化映像音声データ抽象化ブロック４１は、映像データ及び音声データを復号単位に分離する。映像データ及び音声データはそれらを復号する単位が存在する。符号化されたデータは、復号単位のデータが揃って初めて、その単位に含まれるビデオフレームやオーディオのサンプルが復号できる。復号単位は、符号化フォーマットによって異なる。例えば、ＭＰＥＧビデオの復号化単位は、１ＧＯＰ（Group Of Picture）である。このＧＯＰから特定のフレームあるいはフィールドに関するデータのみを抽出しても、そのデータからのみではビデオフレームあるいはフィールドを再現することができない。
【００２４】
また、映像データには必ずキーフレームなるものが存在し、そのキーフレームから次のキーフレームの１つ前のフレームまでを復号単位として考えることができ、その単位でそれに含まれる全フレームデータを復号することができる。例えば、ＭＰＥＧ映像の場合、Ｉフレームと呼ばれるフレームがキーフレームに相当する。また、音声データには、オーディオフレームなるものが存在し、その単位でそこに含まれる全サンプルデータを復号することができる。いずれにしても映像データ及び音声データはそれぞれ復号単位に分離することができる。
【００２５】
映像データ及び音声データは、多重化映像音声データ抽象化ブロック４１において、復号単位を１単位とし、その整数倍のデータ１まとめにして抽象化される。また、抽象化映像データ及び抽象化音声データに同期をとるための時刻情報として、抽象化映像データ時刻情報、抽象化音声データ時刻情報などの再生時刻情報を添付しパック化映像音声データを生成する。例えば、ＭＰＥＧ−２映像データの場合、ＧＯＰが復号単位であるので、映像ＰＥＳパケットデータからＧＯＰデータを抽出し、そのＧＯＰデータとＧＯＰ先頭のＩフレームの再生を開始する時刻、すなわち、抽象化映像データ時刻情報とをパック化することで、パック化映像音声データを生成する。
【００２６】
多重化映像音声データ抽象化ブロック４１は、映像音声データを記録する際にワークエリアとして利用される記録処理用メモリ領域４１１を内部に所持しており、パック化映像音声データを格納するための記録パック化映像音声データ格納用バッファ４１２を、生成するパック化映像音声データのサイズに応じて記録処理用メモリ領域４１１上に確保する。そして、パック化映像音声データをこの記録パック化映像音声データ格納バッファ４１２に格納し、ファイルシステムインターフェースライブラリ５経由でファイル管理ブロック３に転送する。パック化映像音声データのサイズは、多重化映像音声データ抽象化ブロック４１が所持する記録処理用メモリ領域４１１の容量がストレージの転送レート、同時に記録するプログラムの本数等によって決まる。そのため、同じ映像音声データをパック化してもサイズが同じになるとは限らない。
【００２７】
図２は、記録処理用メモリ領域４１１の大きさと記録パック化映像音声データ格納用バッファ４１２との関係を示したものである。一本のプログラムを記録する場合には記録処理用メモリ領域４１１上に記録パック化映像音声データ格納用バッファ４１２を大きく確保することができ、それ故に大きいサイズのパック化映像音声データを生成することができる。また、複数のプログラム、図２の例では２本のプログラムを同時に記録する場合には各プログラムの記録パック化映像音声データ格納用バッファ４１２を小さく確保し、記録処理用メモリ領域４１１上に同時に記録したいプログラム数分、図２の例では２本のプログラムの記録パック化映像音声データ格納用バッファ４１２を確保する。これにより、パック化映像音声データのサイズは小さくなるが、同時に複数のプログラムの記録を実現することができる。パック化映像音声データを再生するときには、ストレージ８から読み出したパック化映像音声データを格納することができる領域をメモリ領域上に確保しなくてはならない。本発明を適用した映像音声データ記録再生システム１では、最もサイズの大きなパック化映像音声データのサイズを最大パックサイズとしてストレージ８に記録する。映像音声データ記録再生システム１は、パック化映像音声データを再生するとき、最大パックサイズをストレージ８から読み出し、最大パックサイズを基にパック化映像音声データを格納するために確保すべきバッファ領域のサイズを決定する。最大パックサイズにあわせてバッファの領域を確保することにより、バッファのオーバーフローの発生やバッファの無駄などの問題が回避される。
【００２８】
多重化映像音声データ構成ブロック４３は、ファイル管理ブロック３から入力したパック化映像音声データを映像データと音声データ、再生時刻情報とに分離する。多重化映像音声データ構成ブロック４３は、映像データ、音声データおよびそれらの再生時刻情報から、システム制御ブロック４２に指定された多重化フォーマットに従う方式で多重化された映像音声データを再構成する。
【００２９】
多重化映像音声データ構成ブロック４３は、プログラム属性テーブル１０の映像音声データの属性情報を利用して特殊再生をすることもできる。特殊再生は、外部コマンドにより再生方法の１つとして指定される。多重化映像音声データ構成ブロック４３は、指定された特殊再生の種類と速度で特殊再生を実現するためには、どのパック化映像音声データを読み出せばよいか判断する。その判断により、ファイルシステムインターフェースライブラリ５を介してファイル管理ブロック３に必要となるパック化映像音声データを要求する。例えば、多重化を完了した直近の時刻からの時刻差分値を指定することにより、パック化映像音声データを指定する。あるいは所望の時刻そのもの、パック化映像音声データ番号そのもの、パック化映像音声データ番号差分値を指定することもできる。以上のようにしてパック化映像音声データを逐一読み出すことにより、パック化映像音声データ単位の特殊再生用映像音声データを取得することができる。
【００３０】
ファイルシステムインターフェースライブラリ５は、Ｃ言語のライブラリと同様の方法でアプリケーション制御ブロック２に組み込まれ、Ｃ言語の標準関数やシステムコールなどと同じようなＡＰＩ（Application Programming Interface）関数を映像音声データ変換部４に提供する。映像音声データ変換部４は、ファイルシステムインターフェースライブラリ５が提供する様々なＡＰＩ関数を処理目的に応じて呼び出すことで、記録するパック化映像音声データ、記録開始コマンド、再生開始コマンド、記録する映像音声データの名称、再生する映像音声データ識別情報などが転送できる。
【００３１】
ファイル管理ブロック３は、ファイルを論理的に管理するパック化映像音声データ管理制御ブロック６と、ストレージ８の物理的なファイル構成を管理するストレージ制御ブロック７とを備える。ストレージ８は、ファイル管理ブロック３と一体化しても、外付けであってもよい。また、ファイル管理ブロック３とアプリケーション制御ブロック２とを１つの装置に設けてもよい。
【００３２】
パック化映像音声データ管理制御ブロック６は、パック化映像音声データを受信すると、ストレージ制御ブロック７に対して、記録領域の割り当てを要求する。パック化映像音声データ管理制御ブロック６は、割り当てられた記録領域へのアラインメント調整などを実行し、割り当てられた記録領域へパック化映像音声データを随時書き出す。新たな記録領域への割り当てが必要となった場合、さらに、ストレージ制御ブロック７に記録領域の割り当てを要求する。
【００３３】
パック化映像音声データ管理制御ブロック６は、各パック化映像音声データ再生時刻（再生経過時刻）、記録位置、サイズなどを記述したシーケンステーブルを生成する。このシーケンステーブルをパック化映像音声データ管理テーブル９と呼ぶ。パック化映像音声データ管理テーブル９の例を図３に示す。
【００３４】
さらに、パック化映像音声データ管理制御ブロック６は、プログラム属性テーブル１０を生成する。プログラム属性テーブル１０は、パック化映像音声データ管理テーブル９の上位に位置する管理テーブルであり、ストレージ８中に記録されている全プログラムを管理するためのテーブルである。プログラム属性テーブル１０の例を図４に示す。この例におけるプログラム属性テーブル１０は、プログラムごとに、プログラムの名称、パック化映像音声データ管理テーブル９の記録位置、記録日時、プログラムの容量（バイト単位）などを記述する。映像音声データの属性やプログラムの名称といった本体映像音声データに含まれない情報は、ファイルシステムインターフェースライブラリ５経由で取得する。
【００３５】
また、プログラム属性テーブル１０には、最大パックサイズが記述される。最大パックサイズとは、１つのプログラムを構成するパック化映像音声データのうちで最も大きなパック化映像音声データのサイズ（バイト単位）である。
【００３６】
パック化映像音声データ管理制御ブロック６は、最大パックサイズを算出し、プログラム属性テーブル１０を作成する。
【００３７】
図５、図６のフローチャートを参照して上記の処理を具体的に説明する。まず、映像音声データ変換部４は、映像音声データを基にパック化映像音声データを生成する（ステップＳ１１）。映像音声データ変換部４は、生成したパック化映像音声データをファイルシステムインターフェースライブラリ５に転送する（ステップＳ１２）。ファイルシステムインターフェースライブラリ５は、ＡＰＩ関数の引数として取得したファイルシステムアクセスコマンドのパラメータを基にパック化映像音声データ書き込み用のファイルシステムアクセスコマンドを生成し（ステップＳ１３）、ファイル管理ブロック３内のパック化映像音声データ管理制御ブロック６に転送する（ステップＳ１４）。ファイル管理ブロック３内のパック化映像音声データ管理制御ブロック６は、書き込み用アクセスコマンドを取得する（ステップＳ１５）。ファイルシステムインターフェースライブラリ５は、ファイルシステムアクセスコマンドの転送に続いてパック化映像音声データをパック化映像音声データ管理制御ブロック６に転送する（ステップＳ１６）。
【００３８】
ファイル管理ブロック３内のパック化映像音声データ管理制御ブロック６は、ファイルシステムインターフェースライブラリ５から転送されてきたパック化映像音声データを取得し（ステップＳ１７）、取得したパック化映像音声データのストレージ８上の記録位置をパック化映像音声データ管理テーブル９に追加する（ステップＳ１８）。パック化映像音声データ管理制御ブロック６は、パック化映像音声データとパック化映像音声データ管理テーブル９とをストレージ制御ブロック７に転送する（ステップＳ１９）。ストレージ制御ブロック７は、入力したパック化映像音声データ及びパック化映像音声データ管理テーブル９をストレージ８に記録させる（ステップＳ２０）。
【００３９】
次いで、パック化映像音声データ管理制御ブロック６は、ステップＳ１７で入力したパック化映像音声データのサイズ（Ｖｎ）と、過去に入力したパック化映像音声データのサイズのうち最も大きなサイズ（Ｖｏ）とを比較する。そして、新たに入力したパック化映像音声データのサイズ（Ｖｎ）が過去に入力したパック化映像音声データのサイズ（Ｖｏ）よりも大きい場合（ステップＳ２１；ＹＥＳ）、新たに入力した映像音声データのサイズ（Ｖｎ）の最大パックサイズとしてプログラム属性テーブル１０を更新し（ステップＳ２２）、更新したプログラム属性テーブル１０をストレージ制御ブロック７に転送する（ステップＳ２３）。ストレージ制御ブロック７は、入力したプログラム属性テーブル１０をストレージ８に記録する（ステップＳ２４）。一方、新たに入力した映像音声データのサイズ（Ｖｎ）が過去に入力したパック化映像音声データのサイズ（Ｖｏ）以下である場合（ステップＳ２１；ＮＯ）、最大パックサイズを更新することはない。
【００４０】
パック化映像音声データ管理制御ブロック６では、書き込み用アクセスコマンドのレスポンスをファイルシステムインターフェースライブラリ５に転送する（ステップＳ２５）。次いで、ファイルシステムインターフェースライブラリ５はＡＰＩ関数の引数としてファイルシステムアクセスコマンドのレスポンスを映像音声データ変換部４に転送する（ステップＳ２６）。映像音声データ変換部４は、ファイルシステムアクセスコマンドのレスポンスを受信する（ステップＳ２７）。以後、ステップＳ１１に移行し、新たなパック化映像音声データを生成する。
【００４１】
ステップＳ１１〜ステップＳ２７までの処理を１つのプログラムの記録が完了するまで継続すると、最後のプログラムを記録し終えたときには、プログラムを構成するパック化映像音声データのうち最も大きなパック化映像音声データのサイズ、すなわち、最大パックサイズが算出される。
【００４２】
以下、最大パックサイズの使用方法について説明する。ストレージ８から読み出されたパック化映像音声データは、ファイルシステムインターフェースライブラリ５を経由して映像音声データ変換部４に転送される。映像音声データ変換部４は、入力したパック化映像音声データを多重化映像音声データ構成ブロック４３の内部に所持している再生処理用メモリ領域４３１上に確保した再生パック化映像音声データ格納用バッファ４３２に展開する。多重化映像音声データ構成ブロック４３は、パック化映像音声データを映像データと音声データ、再生時刻情報とに分離する。多重化映像音声データ構成ブロック４３は、映像データ、音声データおよびそれらの再生時刻情報から、システム制御ブロック４２に指定された多重化フォーマットに従う方式で多重化された映像音声データを再構成する。
【００４３】
上記のような処理を実行するために、再生パック化映像音声データ格納用バッファ４３２には、アンパックを施すパック化映像音声データを格納できるだけの領域を確保しなくてはならない。多重化映像音声データ構成ブロック４３は、ファイル管理ブロック３から再生するプログラムの最大パックサイズを取得し、パック化映像音声データを格納するのに必要な領域（再生パック化映像音声データ格納用バッファ４３２）を再生処理用メモリ領域上に確保する。これにより、再生処理用メモリ領域４３１を無駄に占有することなく、再生パック化映像音声データ各のようバッファのオーバーフローを回避することができる。
【００４４】
図７、図８のフローチャートを参照して上述した処理を具体的に説明する。まず、映像音声データ変換部４は、ファイルシステムインターフェースライブラリ５に最大パックサイズの読み出しを要求する（ステップＳ３１）。ファイルシステムインターフェースライブラリ５は、要求を受けるとファイル管理ブロック３に最大パックサイズを問い合わせる（ステップＳ３２）。ファイル管理ブロック３は、ストレージ８からプログラム属性テーブル１０を読み出し、プログラム属性テーブル１０に記述された最大パックサイズを応答する（ステップＳ３３）。
【００４５】
ファイルシステムインターフェースライブラリ５は、最大パックサイズを取得すると（ステップＳ３４）、映像音声データ変換部４に最大パックサイズを転送する（ステップＳ３５）。映像音声データ変換部４は、最大パックサイズを取得すると（ステップＳ３６）、多重化映像音声データ構成ブロック４３内の再生処理用メモリ領域上にパック化映像音声データを格納するための領域として再生パック化映像音声データ格納用バッファ４３２を確保する（ステップＳ３７）。
【００４６】
次いで、映像音声データ変換部４は、パック化映像音声データの読み出しをファイルシステムインターフェースライブラリ５に要求する（ステップＳ３８）。ファイルシステムインターフェースライブラリ５は、ＡＰＩ関数の引数として取得したファイルシステムアクセスコマンドのパラメータを基にパック化映像音声データ読み出し用のファイルシステムアクセスコマンドを生成し（ステップＳ３９）、ファイル管理ブロック３に転送する（ステップＳ４０）。
【００４７】
ファイル管理ブロック３は、ファイルシステムアクセスコマンドを受信すると（ステップＳ４１）、ファイルシステムアクセスコマンドで指定されたパック化映像音声データをストレージ８から読み出し（ステップＳ４２）、読み出したパック化映像音声データをファイルシステムインターフェースライブラリ５に転送する（ステップＳ４３）。ファイルシステムインターフェースライブラリ５は、ファイル管理ブロック３から転送されてきたパック化映像音声データを取得する（ステップＳ４４）。ファイル管理ブロック３は、パック化映像音声データの転送が終了するとファイルシステムアクセスコマンドのレスポンスをファイルシステムインターフェースライブラリ５に転送する（ステップＳ４５）。
【００４８】
ファイルシステムインターフェースライブラリ５は、ファイル管理ブロック３から転送されてきたファイルシステムアクセスコマンドのレスポンスを受信すると（ステップＳ４６）、ＡＰＩ関数の引数として映像音声データ変換部４にパック化映像音声データ及びファイルシステムアクセスコマンドのレスポンスを転送する（ステップＳ４７）。映像音声データ変換部４は、ファイルシステムインターフェースライブラリ５から転送されてきたパックか映像音声データを取得する（ステップＳ４８）。映像音声データ変換部４の多重化映像音声データ構成ブロック４３は、取得したパック化映像音声データを映像音声データに復元する（ステップＳ４９）。映像音声データ変換部４の多重化映像音声データ構成ブロック４３は、復元した映像音声データを図示しない再生処理部若しくは外部機器に出力する（ステップＳ５０）。以後、ステップＳ３８〜ステップＳ５０までの読み出し過程を繰り返し行う。
【００４９】
本発明を適用した映像音声データ記録再生システム１では、再生するプログラム内の最もサイズの大きなパック化映像音声データに合わせて再生パック化映像音声データ格納用バッファ４３２を確保しているため、再生パック化映像音声データ格納用バッファ４３２のオーバーフローの発生を防ぐことができる。また、プログラムの再生時に必要のない無駄なバッファ領域を確保しなくてもよくなり、再生処理用メモリ領域４３１を有効に活用することができる。
【００５０】
次いで、最大パックサイズ情報のその他の使用方法を紹介する。パック化映像音声データを映像音声データに復元する際には、復元するパック化映像音声データを再生処理用メモリ領域４３１上に確保された再生パック化映像音声データ格納用バッファ４３２に展開し、映像音声データの復元作業を行う。最大パックサイズは、１つのプログラムのうちで最も大きなパック化映像音声データサイズである。あるプログラムを再生するためには、再生処理用メモリ領域４３１上に少なくとも最大パックサイズと同じだけの容量の再生パック化映像音声データ格納用バッファ４３２を確保できなくてはならない。本発明を適用した映像音声データ記録再生システム１では、再生パック化映像音声データ格納用バッファ４３２を確保するのに十分な再生処理用メモリ領域４３１を持っているか否かをチェックすることにより、プログラムが再生可能であるか再生不可能であるかを判断する。
【００５１】
図９は、再生可能なプログラムと、再生不可能なプログラムとの関係を示している。図９の横棒は、上から再生パック化映像音声データ格納用バッファ４３２の使用可能領域、プログラムＡの最大パックサイズ、プログラムＢの最大パックサイズとを示している。プログラムのＡの最大パックサイズは、再生パック化映像音声データ格納用バッファ４３２の使用可能領域よりも小さい。一方、プログラムＢの最大パックサイズは、再生パック化映像音声データ格納用バッファ４３２の使用可能領域よりも大きい。プログラムＡを構成する全てのパック化映像音声データは、再生パック化映像音声データ格納用バッファ４３２の使用可能領域よりも小さいので、バッファのオーバーフローが発生することはなく、再生することが可能である。一方、プログラムＢを構成するパック化映像音声データのなかには、再生パック化映像音声データ格納用バッファ４３２の使用可能領域よりも大きなサイズのものがある。このようなパック化映像音声データを再生すると、バッファのオーバーフローが発生してしまうため、プログラムＢの再生は不可能である。
【００５２】
映像音声データ記録再生システム１は、再生可能又は再生不可能という判定をすると、この判定結果を視覚化してユーザに通知したり、再生不可能なプログラムの再生コマンドの入力を拒否したりすることができる。
【００５３】
また、最大パックサイズを知ることによって、プログラムの再生時に利用する再生パック化映像音声データ格納用バッファ４３２を最適なサイズに調整することができ、再生処理用メモリ領域の容量及びパック化映像音声データのサイズによっては複数のプログラムの再生が可能となる。
【００５４】
このときのイメージ画面を図１０、図１１に示す。図１０は、２つのプログラムの最大パックサイズと、再生処理用メモリ領域４３１の使用可能容量との関係を示している。この図では、プログラムＡの最大パックサイズと、プログラムＢの最大パックサイズとの和が再生処理用メモリ領域４３１の使用可能容量以下である。そのため、２つのプログラムのパック化映像音声データを同時に展開するための再生パック化映像音声データ格納用バッファ４３２を再生処理用メモリ領域４３１上に確保してもバッファのオーバーフローが発生せず、図１１に示すように、同時に２つのプログラムを再生することができる。このように、複数のプログラムの最大パックサイズを基に１度に再生することができるプログラムを選択することができる。
【００５５】
図１２は、１度に再生するプログラムを選択させるための選択画面例である。複数のプログラムを再生するときには、再生処理用メモリ領域４３１の残り容量に応じて、再生可能なプログラムと再生不可能なプログラムとを判断し、ユーザに対してプログラム選択画面を提供する。図１２には、ストレージ８に格納されたプログラムの名称と、各プログラムの記録日時とが表示されている。そして、再生処理用メモリ領域４３１の残り容量では再生不可能なプログラムはグレイアウトされて表示され、ユーザがそのプログラムを選択できないようになっている。
【００５６】
このように、本発明を適用した映像音声データ記録再生システム１では、１つのプログラムを構成するパック化映像音声データのうち最も容量の大きなパック化映像音声データのサイズを最大パックサイズとしてストレージ８に記録しておく。そして、パック化映像音声データをアンパックするときには、最大パックサイズに応じて必要な再生パック化映像音声データ格納用バッファ４３２の領域を再生処理用メモリ領域４３１上に確保する。これにより、アンパックに十分な作業領域が再生処理用メモリ領域４３１上に確保され、バッファのオーバーフローを防ぐことができるとともに、無駄な作業領域を占有することがなくなり、再生処理用メモリ領域４３１を有効に活用することができる。
【００５７】
また、映像音声データ記録再生システム１では、最大パックサイズを用いてプログラムが再生可能か再生不可能かを判定する。映像音声データ記録再生システム１では、オーバーフローが発生するプログラムをユーザに通知したり、オーバーフローが発生するプログラムに対する再生選択を拒否したりすることができる。
【００５８】
さらに、映像音声データ記録再生システム１では、最大パックサイズを用いて、複数のプログラムのうち、どのプログラムとどのプログラムとが同時に再生できるかを判定することができる。
【００５９】
なお、本実施例では、１つのプログラムのうちの最大パックサイズを求めたが、１つのプログラムをいくつかに分割し、プログラム開始後５分間の最大パックサイズやハイライトシーンの最大パックサイズなどをストレージ８に記録してもよい。
【図面の簡単な説明】
【００６０】
【図１】映像音声データ記録再生システムの構成を示すブロック図である。
【図２】記録処理用メモリ領域と記録パック化映像音声データ格納用バッファとの関係を示す図である。
【図３】パック化映像音声データ管理テーブルの一例を示す図である。
【図４】プログラム属性テーブルの一例を示す図である。
【図５】最大パックサイズを算出する手順を説明するフローチャートである。
【図６】最大パックサイズを算出する手順を説明するフローチャートである。
【図７】最大パックサイズを用いてバッファ領域を確保する手順を説明するフローチャートである。
【図８】最大パックサイズを用いてバッファ領域を確保する手順を説明するフローチャートである。
【図９】最大パックサイズと、再生可能なプログラムと、再生不可能なプログラムとの関係を示す図である。
【図１０】２つのプログラムの最大パックサイズと、再生処理用メモリ領域との関係を示す図である。
【図１１】２つのプログラムを同時に再生したときの画面例である。
【図１２】１度に再生するプログラムを選択させるための選択画面例である。
【図１３】プログラムと、プログラムを構成するパック化映像音声データの関係を示す図である。
【図１４】バッファのオーバーフローが発生する様子を模式的に示す図である。
【図１５】無駄なバッファ領域を確保したときの様子を摸式的に示す図である。
【符号の説明】
【００６１】
１  映像音声データ記録再生システム、２  アプリケーション制御ブロック、３ファイル管理ブロック、４  映像音声データ変換部、５  ファイルシステムインターフェースライブラリ、６  パック化映像音声データ管理制御ブロック、７  ストレージ制御ブロック、８  ストレージ、４１  多重化映像音声データ抽象化ブロック、４１１  記録処理用メモリ領域、４１２  記録パック化映像音声データ格納用バッファ、４２  システム制御ブロック、４３  多重化映像音声データ構成ブロック、４３１  再生処理用メモリ領域、４３２  再生パック化映像音声データ格納用バッファ、９  パック化映像音声データ管理テーブル、１０  プログラム属性テーブル
【図１】
2006085777.tif 000003
【図２】
2006085777.tif 000004
【図３】
2006085777.tif 000005
【図４】
2006085777.tif 000006
【図５】
2006085777.tif 000007
【図６】
2006085777.tif 000008
【図７】
2006085777.tif 000009
【図８】
2006085777.tif 000010
【図９】
2006085777.tif 000011
【図１０】
2006085777.tif 000012
【図１１】
2006085777.tif 000013
【図１２】
2006085777.tif 000014
【図１３】
2006085777.tif 000015
【図１４】
2006085777.tif 000016
【図１５】
2006085777.tif 000017