次に本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の実施の形態における記録装置の一例としての撮像装置100の構成例を示す図である。この撮像装置100は、カメラ部10と、記録再生処理部20と、制御部30とを備えている。
カメラ部10は、光学ブロック11と、カメラ制御部12と、信号変換器13と、撮像信号処理部14と、音声入力部15と、音声信号処理部16とを備える。光学ブロック11は、内部に、被写体を撮像するためのレンズ群、絞り調整機構、フォーカス調整機構、ズーム機構、シャッター機構、フラッシュ機構、および、手ブレ補正機構などを備える。カメラ制御部12は、制御部30から制御信号を受けて、光学ブロック11に供給する制御信号を生成する。そして、生成した制御信号を光学ブロック11に供給して、ズーム制御、シャッター制御、および、露出制御などの制御を行なう。
信号変換器13は、例えばCCD(Charge Coupled Device)などの撮像素子により構成され、その結像面に、光学ブロック11を通じた像が結像される。この信号変換器13は、シャッター操作に応じて制御部30から供給される画像取り込みタイミング信号を受けて、結像面に結像されている被写体像を撮像信号に変換し、撮像信号処理部14に供給する。
撮像信号処理部14は、制御部30からの制御信号に基づいて、撮像信号についてのガンマ補正やAGC(Auto Gain Control)などの処理を行うとともに、撮像信号をデジタル信号としての画像信号に変換する処理も行う。音声入力部15は、撮影時の被写体周辺の音声を収集する。この音声入力部15からの音声信号は音声信号処理部16に供給される。音声信号処理部16は、制御部30からの制御信号に基づいて、音声信号についての補正やAGCなどの処理を行うとともに、音声信号をデジタル信号に変換する処理も行なう。
記録再生処理部20は、符号化/復号回路21と、媒体インターフェース23と、出力処理部24と、バッファメモリ25とを備える。
符号化/復号回路21は、カメラ部10からの画像信号および音声信号や追加記録情報を符号化し多重化して圧縮データに変換する符号化機能を有する。一方、符号化/復号回路21は、圧縮データから画像信号および音声信号や追加記録情報を分離して復号する復号機能を有する。また、符号化/復号回路21は、制御部30からの制御信号に基づき、撮像信号処理部14からの画像信号に対して、自動ホワイトバランス制御、露出補正制御、デジタルズーム倍率に応じた拡大制御などをさらに行う。
ハードディスク22は、符号化/復号回路21から圧縮データを受けて記録する。また、ハードディスク22は、記録されている圧縮データを符号化/復号回路21に供給する。媒体インターフェース23は、符号化/復号回路21から圧縮データを受けて記録媒体49に書き込む。また、媒体インターフェース23は、記録媒体49から圧縮データを読み出して符号化/復号回路21に供給する。記録媒体49としては、例えば、DVDなどのディスク状記録媒体やメモリカードなどの半導体メモリを想定することができる。
出力処理部24は、制御部30からの制御により、符号化/復号回路21からの圧縮データを制御部30や出力端子27乃至29に供給する。バッファメモリ25は、例えばSDRAMなどにより構成され、符号化/復号回路21における符号化または復号のための作業領域として利用される。
制御部30は、処理装置31と、ROM(Read Only Memory)33と、RAM(Random Access Memory)34と、操作入力部41を接続するための操作入力インターフェース35と、表示部42を接続するための表示制御部36と、撮影時刻を記録するための時計回路39とがシステムバス32を介して接続されることにより構成される。
処理装置31は制御部30全体の処理を司るものであり、作業領域としてRAM34を使用する。ROM33には、カメラ部10を制御するためのプログラムや、画像信号や音声信号の記録制御および再生制御などを実行するためのプログラムが書き込まれている。
操作入力インターフェース35に接続される操作入力部41には、撮影モードと再生モードなどの他のモードとを切り換えるモード切り換えキー、ズーム調整キー、露出調整のためのキー、シャッターキー、動画撮影用キー、表示部42における表示調整キーなどの複数のキーが設けられている。操作入力インターフェース35は、操作入力部41からの操作信号を処理装置31に伝える。処理装置31は、操作入力部41においていずれのキーが操作されたかを判別し、その判別結果に応じた制御処理を行なう。
表示制御部36に接続される表示部42は、例えばLCD(Liquid Crystal Display)などにより構成され、処理装置31の制御の下に、カメラ部10からの画像信号や、記録媒体49から読み出された画像信号を表示する。時計回路39は、年、月、日、時間、分、秒などを表わす時間情報を生成する。
この撮像装置100において、ハードディスク22または記録媒体49にはAVCHD規格によるAVデータが記録されることを想定する。以下、このAVCHD規格について説明する。
図2は、AVCHD規格におけるデータ構造を示す図である。AVCHD規格では、階層構造によりAVデータを扱っており、インデックステーブルと、ムービーオブジェクトと、プレイリストと、クリップ情報ファイルと、クリップAVストリームファイルとに大別される。
クリップAVストリームファイルは、ビデオデータやオーディオデータがMPEG−2 TS(トランスポートストリーム)形式により多重化されたビットストリームである。また、このクリップAVストリームには、字幕を表示するグラフィクスストリームであるOBストリーム(Overlay Bitmap stream)や、メニュー表示などに用いられるデータ(ボタ
ン画像データなど)をストリームにしたMBストリーム(Menu Bitmap stream)を多重化することができる。
クリップ情報ファイルは、クリップAVストリームファイルに関する情報をクリップ情報として保持するファイルである。このクリップ情報ファイルには、クリップAVストリームファイルにおける時間の位置と空間の位置(アドレス)との間のマッピング(変換)テーブル等が含まれている。これにより、クリップAVストリームファイルにおけるアクセスポイントが時間により指定された際、このマッピングテーブルを参照することにより、クリップAVストリームファイル上の適正なアドレスにアクセスすることができる。
これらクリップAVストリームファイルおよび対応するクリップ情報が記録されたクリップ情報ファイルをまとめてクリップと呼称する。クリップを構成するクリップAVストリームファイルおよびクリップ情報ファイルは1対1に対応する。すなわち、この図の例において、クリップ情報741はストリーム751に関する情報を保持し、クリップ情報742はストリーム752に関する情報を保持し、クリップ情報743はストリーム753に関する情報を保持し、クリップ情報744はストリーム754に関する情報を保持している。
プレイリストは、再生するクリップと、そのクリップの開始点および終了点の対に関する情報等から構成される。この再生開始点および再生終了点等の情報は、プレイアイテム(PlayItem)と呼称される。1つのプレイリストには、1つ以上のプレイアイテムが含まれる。クリップの再生は、このプレイリストを経由して行われる。すなわち、プレイリストが再生されることにより、そのプレイリストに含まれるプレイアイテムが順次再生されることになる。これにより、プレイアイテム中の再生開始点および再生終了点に従って、クリップ中の対応する区間が再生されていく。
各プレイアイテムには、プレイリストマークを付与することができる。このプレイリストマークにより、プレイアイテムは複数のチャプタに分割される。また、これとは逆に、1つのチャプタの中に複数のプレイアイテムが存在する場合もある。
プレイリストは、実プレイリスト(Real PlayList)と仮想プレイリスト(Virtual PlayList)とに大別される。実プレイリストは、クリップを単位として1つ以上のクリップを、基本的に記録順に保持するプレイリストである。この実プレイリスト内では時間的な飛び(ギャップ)はなく、また、他の実プレイリストとの間で重複(オーバラップ)も生じない。一方、仮想プレイリストは、何れかの実プレイリストに対応するクリップの一部もしくは全部を1つ以上、任意に保持するプレイリストである。この図の例において、プレイアイテム731、732、733、734および735は実プレイリストに属し、プレイアイテム736および737は仮想プレイリストに属している。
AVCHD規格では、プレイアイテムが同一のプレイリストに属するための条件として、ビデオデータについては、符号化種別が同一であること、画サイズが同一であること、フレームレートが同一であること等が定められている。一方、オーディオデータについては特に条件は定められていない。したがって、オーディオデータの符号化種別によってはプレイリストの一部が再生機器側で正常に再生できないことも生じ得る。また、ビデオデータについても他の制約からプレイリストの一部が再生機器側で正常に再生できないことも生じ得る。本発明の実施の形態では、これを解決するために、後述するような特別な仮想プレイリストを作成する。
ムービーオブジェクトは、ナビゲーションコマンドプログラム等を含むオブジェクトである。ここで、ナビゲーションコマンドプログラムは、プレイリストの再生や再生終了後の処理を制御するためのコマンド群である。この図の例において、ムービーオブジェクト#1(721)は実プレイリスト#00000を再生し、ムービーオブジェクト#2(722)は実プレイリスト#00200を再生し、ムービーオブジェクト#3(723)は実プレイリスト#00018を再生し、ムービーオブジェクト#4(724)は仮想プレイリスト#01005を再生するようになっている。
インデックステーブルは、記録媒体に記録されたコンテンツのタイトルを定義する、最上位レベルのテーブルである。このインデックステーブルには1つ以上のムービータイトルが含まれ、各ムービータイトルからムービーオブジェクトを指し示すようになっている。この図の例において、ムービータイトル#1(711)はムービーオブジェクト#1(721)を指し示し、ムービータイトル#2(712)はムービーオブジェクト#1(722)を指し示し、ムービータイトル#3(713)はムービーオブジェクト#1(723)を指し示し、ムービータイトル#4(714)はムービーオブジェクト#1(724)を指し示している。再生機器では、このインデックステーブルに格納されているタイトル情報に基づいてコンテンツの再生が制御される。
図3は、AVCHD規格におけるムービーオブジェクトの周辺の関係例を示す図である。インデックステーブルには、既に説明したムービータイトルの他に、ファーストプレーバックタイトル719およびメニュータイトル718が含まれる。ファーストプレーバックタイトル719は、最初に再生されるタイトルに対応するムービーオブジェクトを指し示すものである。メニュータイトル718は、メニュー画面に対応するムービーオブジェクトを指し示すものである。
ここでは、タイトル#1の再生開始が指示された場合を想定する。ムービータイトル#1(711)からムービーオブジェクト#1(721)が指し示され、これにより、ムービーオブジェクト#1(721)に含まれるナビゲーションコマンドプログラムが実行される。
ムービーオブジェクト#1(721)において、プレイリスト#1(730)の再生を指示するコマンド(7201)が実行されると、プレイリスト#1(730)におけるプレイアイテムが順次再生される。このプレイリスト#1(730)を経由して、対応するクリップが再生される。この図の例では、プレイアイテム#1(731)、プレイアイテム#2(732)の順に再生され、プレイアイテム#9(739)の再生が終了すると、ムービーオブジェクト#1(721)に戻るようになっている。
ムービーオブジェクト#1(721)では、ナビゲーションプログラムコマンドにより、メニュータイトルへ戻る旨が指示され(7202)、メニュータイトル718へ制御が移行する。
図4は、本発明の実施の形態における撮像装置100の機能構成例を示す図である。撮像装置100は、その機能として、操作受付部210と、フォーマット情報取得部220と、クリップデータ分類部230と、仮想プレイリスト作成部240と、メニュー画面作成部250と、再生表示部260とを備えている。
操作受付部210は、撮像装置100の使用者からの操作入力を受け付けるものである。この操作入力としては、撮像のためのRECボタン押下、記録レートの設定、オーディオ符号化方式の設定、ビデオ符号化のプロファイルおよびレベルの設定、再生の際のメニュー画面操作などを含む。
フォーマット情報取得部220は、クリップの記録フォーマットに関するフォーマット情報を取得するものである。このフォーマット情報は、その撮像装置100において撮像されたクリップであれば、撮像の際に操作受付部210によって設定された内容から取得することができる。また、他の機器によって記録媒体290に記録されたクリップを含めて適用するためには、そのクリップに対応するクリップ情報ファイルの内容を記録媒体290から取得することも可能である。この具体的な内容については後述する。
クリップデータ分類部230は、フォーマット情報取得部220によって取得されたフォーマット情報に基づいてクリップを複数のグループに分類するものである。例えば、クリップの記録レートに基づいて分類する場合には、18Mbps以下で記録されたクリップのグループと、18Mbps超えで記録されたクリップのグループとに分類することができる。また、クリップのオーディオデータの符号化に関する情報に基づいて分類する場合には、AC−3で記録されたクリップのグループと、LPCMで記録されたクリップのグループとに分類することができる。また、クリップのビデオデータの符号化に関する情報に基づいて分類する場合には、メインプロファイルで記録されたクリップのグループと、ハイプロファイルで記録されたクリップのグループとに分類することができ、さらに、レベルに応じて分類するようにしてもよい。
仮想プレイリスト作成部240は、クリップデータ分類部230によって分類された複数のグループ毎にクリップに関する仮想プレイリストを作成するものである。この仮想プレイリストは、実プレイリストとは別個に作成されるものであり、例えば、クリップの記録レートに基づいて分類する場合には、18Mbps以下で記録されたクリップのグループで一つの仮想プレイリストを構成し、18Mbps超えで記録されたクリップのグループでもう一つの仮想プレイリストを構成する。仮想プレイリスト作成部240によって作成された仮想プレイリストは、記録媒体290に記録される。
この仮想プレイリスト作成部240による仮想プレイリストの作成タイミングとしては、記録操作が完了するたびに行ってもよく、使用者からの明示的な操作により作成されてもよく、また、記録媒体の取出しや外部装置との接続などの他の操作を契機に自動的に行ってもよい。また、他のソフトウェアにおいて記録媒体を編集(オーサリング)する際に作成するようにしてもよい。
メニュー画面作成部250は、仮想プレイリスト作成部240によって作成された仮想プレイリストに基づいてクリップを再生するためのメニュー画面を作成するものである。このメニュー画面は、各クリップに対応するサムネイルやフォーマット情報の表示、上述のMBストリームにより構成される操作ボタンなどを含む。このメニュー画面作成部250によって作成されたメニュー画面は、記録媒体290に記録される。
再生表示部260は、記録媒体290に記録されたクリップを再生表示するものである。クリップの再生の際、メニュー画面作成部250によって作成されたメニュー画面が存在する場合にはそのメニュー画面を介してクリップが再生される。
上述の機能のうち、操作受付部210は例えば操作入力部41により実現され、再生表示部260は例えば表示部42により実現され、それ以外の機能は例えば処理装置31により実現され得る。
図5は、AVCHD規格におけるファイル構成の一例を示す図である。記録媒体のルートディレクトリ(root)の下には、クリップの内容を含むディレクトリ「BDMV」810が配置される。また、必要に応じて、ルートディレクトリの下にサムネイルを含むディレクトリ「AVCHDTN」880が配置される。
ディレクトリ「BDMV」810の直下には、ファイル「index.bdmv」820およびファイル「MovieObject.bdmv」830が配置される。また、ディレクトリ「BDMV」810の下には、ディレクトリ「PLAYLIST」840、ディレクトリ「CLIPINF」850、ディレクトリ「STREAM」860、および、ディレクトリ「BACKUP」870が配置される。
ファイル「index.bdmv」820は、ディレクトリ「BDMV」810の内容を格納するものであり、図2において説明したインデックステーブルに対応する。また、ファイル「MovieObject.bdmv」830は、ムービーオブジェクトの情報を格納するものであり、図2において説明したムービーオブジェクトに対応する。
ディレクトリ「PLAYLIST」840は、プレイリストのデータベースが配置されるディレクトリである。このディレクトリ「PLAYLIST」840は、例えば、プレイリストに関するファイルであるファイル841乃至843を含む。このディレクトリ「PLAYLIST」840におけるファイルのファイル名は、5桁の数字と拡張子からなる。5桁の数字のうち、「00000」から「00999」の1000個は実プレイリスト用であり、「01000」から「01199」の200個は仮想プレイリスト用である。また、各ファイルの拡張子としては「.mpls」が用いられる。
ディレクトリ「CLIPINF」850は、クリップのデータベースが置かれるディレクトリである。このディレクトリ「CLIPINF」850は、例えば、クリップAVストリームファイルのそれぞれに対するクリップ情報ファイルであるファイル851乃至853を含む。このディレクトリ「CLIPINF」850におけるファイルのファイル名は、5桁の数字と拡張子からなる。各ファイルの拡張子としては「.clpi」が用いられる。
ディレクトリ「STREAM」860は、実体としてのAVストリームファイルが置かれるディレクトリである。このディレクトリ「STREAM」860は、例えば、クリップ情報ファイルのそれぞれに対応するクリップAVストリームファイル861乃至863を含む。このディレクトリ「STREAM」860におけるファイルのファイルは、MPEG−2のトランスポートストリームからなり、ファイル名は、5桁の数字と拡張子からなる。ファイル名5桁の数字の部分は、対応するクリップ情報ファイルと同一にすることで、クリップ情報ファイルとこのクリップAVストリームファイルとの対応関係を示す。また、各ファイルの拡張子としては「.m2ts」が用いられる。
ディレクトリ「BACKUP」870は、上述の各ディレクトリおよびファイルのバックアップを格納するものである。
ディレクトリ「AVCHDTN」880には、2種類のサムネイルファイル「thumbnail.tidx」881および「thumbnail.tdt2」882を置くことができる。サムネイルファイル「thumbnail.tidx」881は各サムネイル画像データへのインデックス情報を格納するファイルであり、サムネイルファイル「thumbnail.tdt2」882はサムネイル画像データの集合である。
図6は、AVCHD規格におけるクリップ情報ファイルのデータ構造を示す図である。ここでは、プログラムの記述言語として用いられるC言語の記述法に基づいてシンタックスを示す。
このクリップ情報ファイルにおいて、フィールド「TypeIndicator」は、32ビット(8ビット×4バイト)のデータ長を有し、このファイルがクリップ情報ファイルであることを示す識別子である。フィールド「TypeIndicator2」は、32ビットのデータ長を有し、このクリップ情報ファイルのバージョンを示す識別子である。
このクリップ情報ファイルは、ブロック「blkClipInfo()」、ブロック「blkSequenceInfo()」、ブロック「blkProgramInfo()」、ブロック「blkCPI()」、ブロック「blkClipMark()」およびブロック「blkExtensionData()」を有し、それぞれ32ビットのデータ長を有するフィールド「SequenceInfoStartAddress」、フィールド「ProgramInfoStartAddress」、フィールド「CPIStartAddress」、フィールド「ClipMarkStartAddress」およびフィールド「ExtensionDataStartAddress」によって各々対応するブロックの開始アドレスを示す。
フィールド「ExtensionDataStartAddress」は、このクリップ情報ファイルの先頭からの相対バイト数によって、ブロック「blkExtensionData()」の開始アドレスを示す。相対バイト数は、「0」から開始される。もし、このフィールド「ExtensionDataStartAddress」の値が「0」であれば、このクリップ情報ファイル内に、ブロック「blkExtensionData()」が存在しないことを示す。
ブロック「blkClipInfo()」は、これらの開始アドレスを示すフィールドに続く、96ビットのデータ長を有する領域「reserved」の次から開始される。ブロック「blkClipInfo()」は、このクリップ情報ファイルが管理するクリップAVストリームに関する情報を記述するものである。このブロック「blkClipInfo()」のデータ構造については後述する。
ブロック「blkSequenceInfo()」は、システムタイムベース(STC:System Time Clock)やアライバルタイムベース(ATC:Arrival Time Clock)の連続しているシーケンスをまとまりとして管理する情報を記述するものである。
ブロック「blkProgramInfo()」は、このクリップ情報ファイルに管理されるクリップAVストリームの符号化方式、クリップAVストリーム中のビデオデータのアスペクト比などの情報を記述するものである。
ブロック「blkCPI()」は、ストリームファイル全体の時間の位置と空間の位置との間のマッピングテーブルに関する情報が格納される。なお、ブロック「blkClipMark()」には、有意な情報は含まれていない。
ブロック「blkExtensionData()」は、拡張データを格納することができる領域である。
図7は、AVCHD規格におけるクリップ情報ファイルのブロック「blkClipInfo()」のデータ構造を示す図である。
このブロック「blkClipInfo()」において、フィールド「Length」は、32ビットのデータ長を有し、このフィールド「Length」の直後からブロック「blkClipInfo()」の最後までのデータ長を示すものである。16ビットのデータ長を有する領域「reserved」を介して、フィールド「ClipStreamType」が配置される。
フィールド「ClipStreamType」は、8ビットのデータ長を有し、クリップAVストリームの種別を表すものである。このフィールド「ClipStreamType」の値は、例えば「1」に固定される。フィールド「ApplicationType」は、8ビットのデータ長を有し、アプリケーションの種別を示すものである。フィールド「ApplicationType」の値が「1」の場合、対応するクリップAVストリームは通常の動画として再生される。続けて31ビットのデータ長を有する領域「reserved」が配される。
データ長が1ビットのフラグ「IsCC5」は、プレイリストにおけるブロック「blkPlayItem()」によって、対応するクリップと次のクリップとの接続をCC5(ConnectionCondition=5)のシームレス接続で行うか否かを示すものである。フラグ「IsCC5」の値が「1」であれば、クリップ間の接続がCC5のシームレス接続によりなされていることを示す。
フィールド「TSRecordingRate」は、クリップAVストリームファイルのトランスポートストリームの記録レートを「バイト/秒」の単位で表すものである。フィールド「NumberOfSourcePackets」は、クリップAVストリームに含まれるソースパケット数を表すものである。1024ビットのデータ長を有する領域「reserved」を介してブロック「TSTypeInfoBlock()」が配される。ブロック「TSTypeInfoBlock()」は、クリップAVストリームが格納されるパケットのトランスポートストリームの種別を示す情報を格納するものである。
次のif文以下の情報は、上述のフラグ「IsCC5」の値が「1」である場合に記述される。if文の次の8ビットのデータ長を有する領域「reserved」を介してフィールド「FollowingClipStreamType」が配される。フィールド「FollowingClipStreamType」は、8ビットのデータ長を有し、このクリップ情報ファイルに対応するクリップの次のクリップの種別が記述される。32ビットのデータ長を有する領域「reserved」を介してフィールド「FollowingClipInformationFileName」が配される。
フィールド「FollowingClipInformationFileName」は、40ビット(8ビット×5バイト)のデータ長を有し、このクリップ情報ファイルに対応するクリップの次のクリップに対応するクリップ情報ファイルのファイル名が記述される。次のフィールド「ClipCodecIdentifier」は、32ビット(8ビット×4バイト)のデータ長を有し、当該次のクリップの符号化方式を示すものであり、ISO646に既定される方式により符号化されたことを示す4文字の文字列値「M2TS」に固定される。次に8ビットのデータ長を有する領域「reserved」が配される。
このようなクリップ情報ファイルのブロック「blkClipInfo()」において、フォーマット情報取得部220は、クリップの記録フォーマットに関するフォーマット情報として、フィールド「TSRecordingRate」の情報を取得する。すなわち、対応するクリップAVストリームファイルの記録レートを取得する。これにより、クリップデータ分類部230において、記録レートを基準とする複数のグループに分類することが可能となる。
図8は、本発明の実施の形態におけるメニュー画面の作成例を示す図である。この例では、クリップ640、641、643および646の記録レートが18Mbpsであり、クリップ642、644および645の記録レートが24Mbpsであると想定している。
フォーマット情報取得部220が取得した記録レートに基づいて、クリップデータ分類部230は18Mbps以下のグループ(クリップ640、641、643および646)と18Mbps超えのグループ(クリップ642、644および645)とに分類する。
そして、仮想プレイリスト作成部240はこれらグループ毎に仮想プレイリストを作成する。すなわち、クリップ642、644および645に対応するプレイアイテム621乃至623を含む仮想プレイリスト620と、クリップ640、641、643および646に対応するプレイアイテム631乃至634を含む仮想プレイリスト630とを作成する。
この場合の仮想プレイリストのファイル名としては、上述のAVCHD規格の許容する範囲内で、例えば18Mbps以下のグループの仮想プレイリストのファイル名を「01198.mpls」とし、18Mbps超えのグループの仮想プレイリストのファイル名を「01199.mpls」とすることにより、両者を区別することができる。また、仮想プレイリストのファイル名以外による区別の方法として、タイトル名で区別する方法がある。AVCHD規格ではタイトル数が0から999と定められているため、例えば18Mbps以下のグループのタイトル名を「998」とし、18Mbps超えのグループのタイトル名を「999」とすることにより、両者を区別することができる。
さらに、メニュー画面作成部250は、仮想プレイリスト620の各プレイアイテムにリンクするボタンを含むメニュー画面611と、仮想プレイリスト630の各プレイアイテムにリンクするボタンを含むメニュー画面612とを作成する。メニュー画面611には「18Mbps超え」の表示がされ、メニュー画面612には「18Mbps以下」の表示がされる。このメニュー画面は、背景画像ならびにサムネイル画像などによる画像データとボタン等を構成するMBストリームとがクリップAVストリームファイル中に多重化される。
これにより、ハードディスクに記録されたクリップを取り扱う際、メニュー画面612は光学ディスクにダビングしてもよいクリップの仮想プレイリストとして用いることができ、メニュー画面611は光学ディスクにダビングできないクリップの仮想プレイリストとして用いることができるようになる。このようにメニュー画面として分けて表示することにより、使用者にとって視覚的に分かりやすく両者を区別して提示することができる。
次に本発明の実施の形態における撮像装置100の動作について図面を参照して説明する。ここでは、ソフトウェアにおいて記録媒体を編集(オーサリング)する際にグループ分けを行い、メニュー画面を作成する場合の例について説明する。
図9は、本発明の実施の形態における仮想プレイリストの作成手順の一例を示すフローチャートである。この仮想プレイリストの作成処理では、記録媒体に記録される実プレイリストが順次読み出される(ステップS912)。そして、読み出された実プレイリストに含まれるプレイアイテムが順次読み出される(ステップS914)。読み出すべきプレイアイテムが存在しなくなると(ステップS913)、次の実プレイリストが読み出される(ステップS912)。これらの処理は、次の実プレイリストが存在しなくなるまで繰り返される(ステップS911)。
ステップS914においてプレイアイテムが読み出されると、対応するクリップ情報ファイルからフォーマット情報が読み出される(ステップS915)。この例では、フォーマット情報として記録レートに関する情報が読み出されるものとする。その結果、記録レートが18Mbps以下であれば(ステップS916)そのクリップを18Mbps以下用の仮想プレイリストに登録し(ステップS917)、記録レートが18Mbpsより高ければ(ステップS916)そのクリップを18Mbps超え用の仮想プレイリストに登録する(ステップS918)。
また、そのクリップが複数のチャプタに分かれている場合(ステップS921)、対応する仮想プレイリストにもエントリマークを付与していく(ステップS922)。次のチャプタが存在しなくなると、ステップS913に進んで次のプレイアイテムの読出しが試行される。
このようにして記録レートにより分類された仮想プレイリストが作成されると、これら仮想プレイリストに基づいて以下のようにメニュー画面が作成される。
図10は、本発明の実施の形態におけるメニュー画面の作成手順の一例を示すフローチャートである。まず、該当する仮想プレイリストに対するタイトルがインデックステーブルにおいて定義される(ステップS931)。そして、該当するタイトル群を連続再生するコマンド(ナビゲーションコマンドプログラム)がムービーオブジェクトにおいて定義される(ステップS932)。
そして、この例では実プレイリスト用のメニューが先に作成され(ステップS933)、これに続いて仮想プレイリスト用のメニューが作成されるものとする。仮想プレイリスト用のメニューを作成するために、背景画像に「18Mbps以下用」および「18Mbps超え用」であることを説明する文字が用意される(ステップS934)。そして、メニュービットマップにそれぞれのボタンが定義される(ステップS935)。このとき、各ボタンには、押下の際に該当するクリップの指定位置にジャンプするコマンド等が定義される。
このように、本発明の実施の形態によれば、記録レートに応じてクリップを複数のグループに分類して仮想プレイリストを生成し、さらにその仮想プレイリストに基づいてメニュー画面を作成することができる。
なお、ここでは、記録レートによる分類を一例として説明したが、他のフォーマット情報により分類することも可能である。以下では、フォーマット情報として、オーディオデータの符号化に関する情報およびビデオデータの符号化に関する情報を用いる例について説明する。
図11は、AVCHD規格におけるブロック「blkStreamCodingInfo()」のデータ構造を示す図である。このブロック「blkStreamCodingInfo()」は、クリップ情報ファイルのブロック「blkProgramInfo()」に含まれるブロックである。フィールド「Length」は、8ビットのデータ長を有し、このフィールド「Length」の直後からこのブロック「blkStreamCodingInfo()」の終わりまでのデータ長を示すものである。
フィールド「Length」の次に、8ビットのデータ長を有するフィールド「StreamCodingType」が配される。フィールド「StreamCodingType」では、対応するエレメンタリストリーム(ES)の符号化の種別が示される。このフィールド「StreamCodingType」が「0x1B」(「0x」は、続く値が16進数であることを意味する。以下同様。)であれば、対応するエレメンタリストリームがビデオストリームであることを示す。また、フィールド「StreamCodingType」が「0x80」であれば、対応するエレメンタリストリームがLPCMにより符号化されたオーディオストリームであることを示す。また、フィールド「StreamCodingType」が「0x81」であれば、対応するエレメンタリストリームがAC−3により符号化されたオーディオストリームであることを示す。また、フィールド「StreamCodingType」が「0x90」であれば、対応するエレメンタリストリームがOBストリームであることを示す。また、フィールド「StreamCodingType」が「0x91」であれば、対応するエレメンタリストリームがMBストリームであることを示す。ここでは、オーディオストリームに着目して、フィールド「StreamCodingType」が「0x80」または「0x81」である場合の記述について以下に説明する。
フィールド「AudioPresentationType」は、オーディオストリームの再生時のチャンネルアサイン種別を示すものである。フィールド「SamplingFrequency」は、オーディオストリームのサンプリング周波数を示すものである。また、フィールド「AudioLanguageCode」は、オーディオストリームの言語属性のコードを示すものである。
このようなブロック「blkStreamCodingInfo()」において、フォーマット情報取得部220は、クリップの記録フォーマットに関するフォーマット情報として、フィールド「StreamCodingType」の情報を取得する。すなわち、対応するオーディオストリームの符号化方式がLPCMとAC−3の何れであるかを取得する。これにより、クリップデータ分類部230において、オーディオの符号化方式を基準とする複数のグループに分類することが可能となる。
図12は、AVCHD規格におけるブロック「blkStreamCodingInfoExt()」のデータ構造を示す図である。このブロック「blkStreamCodingInfoExt()」は、クリップ情報ファイルのブロック「blkExtensionData()」の一つであるブロック「blkClipExtensionData()」のブロック「blkProgramInfoExt()」に含まれるブロックである。フィールド「Length」は、8ビットのデータ長を有し、このフィールド「Length」の直後からこのブロック「blkStreamCodingInfoExt()」の終わりまでのデータ長を示すものである。
フィールド「Length」の次に、8ビットのデータ長を有するフィールド「StreamCodingType」が配される。フィールド「StreamCodingType」では、対応するエレメンタリストリームの符号化の種別が示される。これに続くif文内は、フィールド「StreamCodingType」が「0x1B」の場合、すなわちエレメンタリストリームがビデオストリームである場合の記述である。
フィールド「HorizontalSize」は、画面の水平方向のサイズを示すものである。また、フィールド「profile_idc」は、ビデオストリームのプロファイル情報を示すものである。例えば、このフィールド「profile_idc」が「77」であればメインプロファイルを意味し、「100」であればハイプロファイルを意味する。
これに続く4つの1ビットのフィールド「constraint_set0_flag」、「constraint_set1_flag」、「constraint_set2_flag」および「constraint_set3_flag」は、フラグ情報である。これに続いて、4ビットの予約領域「reserved」が配置される。
フィールド「level_idc」は、ビデオストリームのレベル情報を示すものである。AVCHDでは、レベル情報には整数レベルと小数点以下のサブレベルの2つの階層がある。高精細テレビ(HDTV)の解像度は整数レベル4に相当し、サブレベルと合わせて例えばレベル4.1といった具合に定義される。このフィールド「level_idc」では、例えばレベル4の場合には「40」、レベル4.1の場合には「41」といった要領で表現される。
このようなブロック「blkStreamCodingInfoExt()」において、フォーマット情報取得部220は、クリップの記録フォーマットに関するフォーマット情報として、フィールド「profile_idc」および「level_idc」の情報を取得する。すなわち、対応するビデオストリームのプロファイル情報およびレベル情報を取得する。これにより、クリップデータ分類部230において、ビデオストリームのプロファイル情報およびレベル情報を基準とする複数のグループに分類することが可能となる。
このように、本発明の実施の形態によれば、フォーマット情報取得部220においてクリップの記録フォーマットに関するフォーマット情報を取得して、そのフォーマット情報に応じてクリップデータ分類部230においてクリップを複数のグループに分類して、仮想プレイリスト作成部240において仮想プレイリストを生成することができる。また、さらにメニュー画面作成部250においてその仮想プレイリストに基づいてメニュー画面を作成することができる。これにより、AVCHD規格に沿って動画を記録再生する際に、規格の制約を全て満たす記録を行いつつ、使用者にとっては光学ディスクに再エンコードなしでコピーして光学ディスクでも再生できるものを明示的に選んで再生することができるようになる。また、符号化の種別によっては再生に制約があるような再生機器においても、再生可能なものだけを自動的に分類し、再生できるものだけを容易に再生することができるようになる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
すなわち、請求項1において、フォーマット情報取得手段は例えばフォーマット情報取得部220に対応する。また、クリップデータ分類手段は例えばクリップデータ分類部230に対応する。また、プレイリスト作成手段は例えば仮想プレイリスト作成部240に対応する。
また、請求項7において、撮像手段および収音手段は例えばカメラ部10に対応する。また、記録手段は例えば符号化/復号回路21に対応する。また、フォーマット情報取得手段は例えばフォーマット情報取得部220に対応する。また、クリップデータ分類手段は例えばクリップデータ分類部230に対応する。また、プレイリスト作成手段は例えば仮想プレイリスト作成部240に対応する。
また、請求項8および9において、クリップデータファイルは例えばクリップAVストリームファイルに対応する。また、クリップ情報ファイルは例えばクリップ情報ファイルに対応する。また、フォーマット情報取得手順は例えばステップS915に対応する。また、クリップデータ分類手段は例えばステップS916に対応する。また、プレイリスト作成手順は例えばステップS917およびS918に対応する。
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。