(57)【特許請求の範囲】
【請求項１】
記録媒体に記録される、コンテンツの再生区間を示す情報を含むプレイリストから、前記プレイリストの一覧を表示するのに必要な表示情報を取得する取得部と、
所定の情報を記憶する記憶部と、
前記表示情報と前記所定の情報とを含むインデックスファイルを前記記録媒体に記録する記録部と、
前記インデックスファイルから読み出された前記表示情報から前記プレイリストの一覧を表示する表示部と
を備え、
前記所定の情報は、情報処理装置のメーカのＩＤとメーカ独自の情報を含み、
前記表示部は、前記インデックスファイルに含まれる前記メーカのＩＤが、前記記憶部に記憶されている前記メーカのＩＤと一致する場合、前記インデックスファイルに含まれる前記メーカ独自の情報も表示する
情報処理装置。
【請求項２】
前記表示情報は、前記プレイリストのタイトル、前記プレイリストにしたがって再生される前記コンテンツの時間長、および前記プレイリストの記録日時を少なくとも含む
請求項１に記載の情報処理装置。
【請求項３】
前記インデックスファイルは、前記プレイリストを格納するディレクトリと同じ並びに位置する
請求項１または２に記載の情報処理装置。
【請求項４】
前記表示情報は、前記プレイリストにしたがって再生される前記コンテンツのサムネイルを特定する情報を含む
請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
所定の情報を記憶する記憶部を備える情報処理装置が、
記録媒体に記録される、コンテンツの再生区間を示す情報を含むプレイリストから、前記プレイリストの一覧を表示するのに必要な表示情報を取得する取得ステップと、
前記表示情報と前記所定の情報とを含むインデックスファイルを前記記録媒体に記録する記録ステップと、
前記インデックスファイルから読み出された前記表示情報から前記プレイリストの一覧を表示する表示ステップと
を含み、
前記所定の情報は、前記情報処理装置のメーカのＩＤとメーカ独自の情報を含み、
前記表示ステップの処理では、前記インデックスファイルに含まれる前記メーカのＩＤが、前記記憶部に記憶されている前記メーカのＩＤと一致する場合、前記インデックスファイルに含まれる前記メーカ独自の情報も表示する
情報処理方法。
【請求項６】
所定の情報を記憶する記憶部と表示部とを備える情報処理装置を制御するコンピュータに、
記録媒体に記録される、コンテンツの再生区間を示す情報を含むプレイリストから、前記プレイリストの一覧を表示するのに必要な表示情報を取得する取得ステップと、
前記表示情報と前記所定の情報とを含むインデックスファイルを前記記録媒体に記録させる記録制御ステップと、
前記インデックスファイルから読み出された前記表示情報から前記プレイリストの一覧を前記表示部に表示させる表示制御ステップと
を含み、
前記所定の情報は、前記情報処理装置のメーカのＩＤとメーカ独自の情報を含み、
前記表示制御ステップの処理では、前記インデックスファイルに含まれる前記メーカのＩＤが、前記記憶部に記憶されている前記メーカのＩＤと一致する場合、前記インデックスファイルに含まれる前記メーカ独自の情報も前記表示部に表示させる
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は情報処理装置、情報処理方法、並びにプログラムに関し、特にコンテンツの一覧を迅速に表示することができるようにした情報処理装置、情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
最近、記録再生装置が普及し、放送されたＡＶ（Audio Visual）信号をディスクに記録し、ユーザが希望するタイミングで再生することが一般的に行われている。ＡＶ信号はデジタル化されており、圧縮が可能なので、長時間のＡＶ信号をディスクに記録することができる。
【０００３】
本出願人は、オーディオ信号をアフターレコーディングする技術を先に提案した（例えば特許文献１）。
【０００４】
ところでＡＶ信号を含むコンテンツを記録する記録媒体としては、ブルーレイディスク、DVD（Digital Versatile Disk）、ハードディスク等のディスクの他、フラッシュメモリカードといった半導体メモリも利用される。
【０００５】
これらの記録媒体は、高容量化が進み、信号のデジタル化と相まって、ますます数多くのコンテンツを記録することができるようになってきた。その結果、１個の記録媒体に記録可能なコンテンツの数は、いままで多くても200個程度であったがものが、10000個以上と、極めて多くなってきた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１５８９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、記録媒体に記録されているコンテンツを再生する場合、ユーザは記録されているコンテンツの中から所望のコンテンツを選択し、再生を指示する。このため、記録されているコンテンツのタイトルの一覧を表示し、その一覧の中から所望のコンテンツをユーザに選択させるのが一般的である。
【０００８】
しかしながら、コンテンツの数が多くなると、記録媒体に記録されているコンテンツの一覧を作成し、表示するのにかかる時間が長くなる。その結果、ユーザは迅速に所望のコンテンツを選択することが困難になる。
【０００９】
本技術はこのような状況に鑑みてなされたものであり、コンテンツの一覧を迅速に表示することができるようにするものである。
【課題を解決するための手段】
【００１０】
本技術の一側面は、記録媒体に記録される、コンテンツの再生区間を示す情報を含むプレイリストから、前記プレイリストの一覧を表示するのに必要な表示情報を取得する取得部と、所定の情報を記憶する記憶部と、前記表示情報と前記所定の情報とを含むインデックスファイルを前記記録媒体に記録する記録部と、前記インデックスファイルから読み出された前記表示情報から前記プレイリストの一覧を表示する表示部とを備え、前記所定の情報は、情報処理装置のメーカのＩＤとメーカ独自の情報を含み、前記表示部は、前記インデックスファイルに含まれる前記メーカのＩＤが、前記記憶部に記憶されている前記メーカのＩＤと一致する場合、前記インデックスファイルに含まれる前記メーカ独自の情報も表示する情報処理装置である。
【００１１】
前記表示情報は、前記プレイリストのタイトル、前記プレイリストにしたがって再生される前記コンテンツの時間長、および前記プレイリストの記録日時を少なくとも含むことができる。
【００１２】
前記インデックスファイルは、前記プレイリストを格納するディレクトリと同じ並びに位置することができる。
【００１３】
前記表示情報は、前記プレイリストにしたがって再生される前記コンテンツのサムネイルを特定する情報を含むことができる。
【００１７】
本技術の他の側面は、所定の情報を記憶する記憶部を備える情報処理装置が、記録媒体に記録される、コンテンツの再生区間を示す情報を含むプレイリストから、前記プレイリストの一覧を表示するのに必要な表示情報を取得する取得ステップと、前記表示情報と前記所定の情報とを含むインデックスファイルを前記記録媒体に記録する記録ステップと、前記インデックスファイルから読み出された前記表示情報から前記プレイリストの一覧を表示する表示ステップとを含み、前記所定の情報は、前記情報処理装置のメーカのＩＤとメーカ独自の情報を含み、前記表示ステップの処理では、前記インデックスファイルに含まれる前記メーカのＩＤが、前記記憶部に記憶されている前記メーカのＩＤと一致する場合、前記インデックスファイルに含まれる前記メーカ独自の情報も表示する情報処理方法である。
【００１８】
本技術のさらに他の側面は、所定の情報を記憶する記憶部と表示部とを備える情報処理装置を制御するコンピュータに、記録媒体に記録される、コンテンツの再生区間を示す情報を含むプレイリストから、前記プレイリストの一覧を表示するのに必要な表示情報を取得する取得ステップと、前記表示情報と前記所定の情報とを含むインデックスファイルを前記記録媒体に記録させる記録制御ステップと、前記インデックスファイルから読み出された前記表示情報から前記プレイリストの一覧を前記表示部に表示させる表示制御ステップとを含み、前記所定の情報は、前記情報処理装置のメーカのＩＤとメーカ独自の情報を含み、前記表示制御ステップの処理では、前記インデックスファイルに含まれる前記メーカのＩＤが、前記記憶部に記憶されている前記メーカのＩＤと一致する場合、前記インデックスファイルに含まれる前記メーカ独自の情報も前記表示部に表示させる処理を実行させるプログラムである。
【００１９】
本技術の側面においては、記録媒体に記録される、コンテンツの再生区間を示す情報を含むプレイリストから、前記プレイリストの一覧を表示するのに必要な表示情報が取得され、前記表示情報と記憶部に記憶される所定の情報とを含むインデックスファイルが前記記録媒体に記録され、前記インデックスファイルから読み出された前記表示情報から前記プレイリストの一覧が表示部に表示される。前記所定の情報は、前記情報処理装置のメーカのＩＤとメーカ独自の情報を含み、前記インデックスファイルに含まれる前記メーカのＩＤが、前記記憶部に記憶されている前記メーカのＩＤと一致する場合、前記インデックスファイルに含まれる前記メーカ独自の情報も前記表示部に表示される。
【発明の効果】
【００２０】
以上のように、本技術の一側面によれば、コンテンツの一覧を迅速に表示することができる。
【図面の簡単な説明】
【００２１】
【図１】本技術を適用した情報処理装置の一実施の形態の構成を示す図である。
【図２】制御部の機能的構成を示すブロック図である。
【図３】記録再生装置により記録媒体に記録されるデータのフォーマットについて説明する図である。
【図４】Real PlayListとVirtual PlayListについて説明する図である。
【図５】Real PlayListの作成について説明する図である。
【図６】Real PlayListの削除について説明する図である。
【図７】アセンブル編集について説明する図である。
【図８】Virtual PlayListにサブパスを設ける場合について説明する図である。
【図９】PlayListの再生順序の変更について説明する図である。
【図１０】PlayList上のマークとClip上のマークについて説明する図である。
【図１１】メニューサムネイルについて説明する図である。
【図１２】PlayListに付加されるマークについて説明する図である。
【図１３】クリップに付加されるマークについて説明する図である。
【図１４】PlayList、Clip、サムネイルファイルの関係について説明する図である。
【図１５】ディレクトリ構造について説明する図である。
【図１６】タイトル一覧の表示例を示す図である。
【図１７】INDEX.BAVのシンタクスを示す図である。
【図１８】xxxxx.RPLとxxxxx.VPLのシンタクスを示す図である。
【図１９】PlayListについて説明する図である。
【図２０】PlayListのシンタクスを示す図である。
【図２１】UIAppinfoPlayListのシンタクスを示す図である。
【図２２】PlayListMarkのシンタクスを示す図である。
【図２３】mark_typeのテーブルを示す図である。
【図２４】MENU.THM/MARK.THMのシンタクスを示す図である。
【図２５】Thumbnailのシンタクスを示す図である。
【図２６】記録処理を説明するフローチャートである。
【図２７】表示処理を説明するフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。なお、説明は以下の順序で行う。
１．記録再生装置の構成
２．AVストリームの編集
３．制御部の機能的構成
４．操作の説明
５．PlayList
６．Real PlayListの編集
７．Virtual PlayListに対する操作
８．Virtual PlayList の再編集
９．マーク
１０．サムネイル
１１. ディレクトリとファイル
１２．INDEX.BAVファイル
１３．Real PlayList fileとVirtual PlayList file
１４．PlayListのシンタクス
１５．UIAppInfoPlayList
１６．PlayListMark()
１７．MENU.THMとMARK.THM
１８．AVストリームファイル
１９．記録処理
２０．再生処理
２１．本技術のプログラムへの適用
２２．その他
【００２３】
［記録再生装置の構成］
【００２４】
以下に、本技術の実施の形態について、図面を参照して説明する。図１は、本技術を適用した情報処理装置の一実施の形態の内部構成例を示す図である。まず、外部から入力された信号を記録媒体に記録する動作を行う部分の構成について説明する。情報の記録または再生の少なくとも一方を実行する情報処理装置としての記録再生装置１は、アナログデータ、または、デジタルデータを入力し、記録することができる構成とされている。
【００２５】
端子１１には、アナログのビデオ信号が、端子１２には、アナログのオーディオ信号が、それぞれ入力される。端子１１に入力されたビデオ信号は、解析部１４とAVエンコーダ１５に、それぞれ出力される。端子１２に入力されたオーディオ信号は、AVエンコーダ１５に出力される。解析部１４は、入力されたビデオ信号からシーンチェンジなどの特徴点を抽出する。
【００２６】
AVエンコーダ１５は、入力されたビデオ信号とオーディオ信号を、それぞれ符号化し、符号化ビデオストリーム(V)、符号化オーディオストリーム(A)、およびAV同期等のシステム情報(S)をマルチプレクサ１６に出力する。
【００２７】
符号化ビデオストリームは、例えば、MPEG（Moving Picture Expert Group）２方式により符号化されたビデオストリームであり、符号化オーディオストリームは、例えば、MPEG１方式により符号化されたオーディオストリームや、ドルビーAC3方式により符号化されたオーディオストリーム等である。マルチプレクサ１６は、入力されたビデオおよびオーディオのストリームを、入力システム情報に基づいて多重化して、スイッチ１７を介して多重化ストリーム解析部１８とソースパケッタイザ１９に出力する。
【００２８】
多重化ストリームは、例えば、MPEG2トランスポートストリームやMPEG2プログラムストリームである。ソースパケッタイザ１９は、入力された多重化ストリームを、そのストリームを記録させる記録媒体１００のアプリケーションフォーマットに従って、ソースパケットから構成されるAVストリームを符号化する。AVストリームは、ECC（誤り訂正）符号化部２０、変調部２１で所定の処理が施され、書き込み部２２に出力される。書き込み部２２は、制御部２３から出力される制御信号に基づいて、記録媒体１００にAVストリームファイルを書き込む（つまり記録する）。なお、記録媒体１００は、ブルーレイディスク、DVD（Digital Versatile Disk）、ハードディスク等のディスクの他、フラッシュメモリカードといった半導体メモリにより構成することができる。
【００２９】
デジタルインタフェイスまたはデジタルテレビジョンチューナから入力されるデジタルテレビジョン放送等のトランスポートストリームは、端子１３に入力される。端子１３に入力されたトランスポートストリームの記録方式には、２通りあり、それらは、トランスペアレントに記録する方式と、記録ビットレートを下げるなどの目的のために再エンコードをした後に記録する方式である。記録方式の指示情報は、ユーザインタフェイス（図示せず）が接続されている端子２４から制御部２３へ入力される。
【００３０】
入力トランスポートストリームをトランスペアレントに記録する場合、端子１３に入力されたトランスポートストリームは、多重化ストリーム解析部１８と、ソースパケッタイザ１９に出力される。これ以降の記録媒体１００へAVストリームが記録されるまでの処理は、上述の入力オーディオ信号とビデオ信号を符号化して記録する場合と同一の処理なので、その説明は省略する。
【００３１】
入力トランスポートストリームを再エンコードした後に記録する場合、端子１３に入力されたトランスポートストリームは、デマルチプレクサ２６に入力される。デマルチプレクサ２６は、入力されたトランスポートストリームに対してデマルチプレクス処理を施し、ビデオストリーム(V)、オーディオストリーム(A)、およびシステム情報(S)を抽出する。
【００３２】
デマルチプレクサ２６により抽出されたストリーム（すなわち情報）のうち、ビデオストリームはAVデコーダ２７に、オーディオストリームとシステム情報はマルチプレクサ１６に、それぞれ出力される。AVデコーダ２７は、入力されたビデオストリームを復号し、その再生ビデオ信号をAVエンコーダ１５に出力する。AVエンコーダ１５は、入力ビデオ信号を符号化し、符号化ビデオストリーム(V)をマルチプレクサ１６に出力する。
【００３３】
一方、デマルチプレクサ２６から出力され、マルチプレクサ１６に入力されたオーディオストリームとシステム情報、および、AVエンコーダ１５から出力されたビデオストリームは、入力システム情報に基づいて、多重化されて、多重化ストリームとして多重化ストリーム解析部１８とソースパケットタイザ１９にスイッチ１７を介して出力される。これ以後の記録媒体１００へAVストリームが記録されるまでの処理は、上述の入力オーディオ信号とビデオ信号を符号化して記録する場合と同一の処理なので、その説明は省略する。
【００３４】
本実施の形態の記録再生装置１は、AVストリームのファイルを記録媒体１００に記録すると共に、そのファイルを説明するアプリケーションデータベース情報も記録する。アプリケーションデータベース情報は、制御部２３により作成される。制御部２３への入力情報は、解析部１４からの動画像の特徴情報、多重化ストリーム解析部１８からのAVストリームの特徴情報、および端子２４から入力されるユーザからの指示情報である。
【００３５】
解析部１４から供給される動画像の特徴情報は、入力動画像信号の中の特徴的な画像に関係する情報であり、例えば、プログラムの開始点、シーンチェンジ点、コマーシャル（ＣＭ）の開始・終了点などの指定情報（例えばマーク）であり、また、その指定場所の画像のサムネイル画像の情報も含まれる。
【００３６】
多重化ストリーム解析部１８からのAVストリームの特徴情報は、記録されるAVストリームの符号化情報に関係する情報であり、例えば、AVストリーム内のIピクチャのアドレス情報、AVストリームの符号化パラメータ、AVストリームの中の符号化パラメータの変化点情報、ビデオストリームの中の特徴的な画像に関係する情報（例えばマーク）などである。
【００３７】
端子２４からのユーザの指示情報は、AVストリームの中の、ユーザが指定した再生区間の指定情報、その再生区間の内容を説明するキャラクタ文字、ユーザが好みのシーンにセットするブックマークやリジューム点の情報などである。
【００３８】
例えばマイクロプロセッサユニットからなる制御部２３は、所定の情報を記憶する記憶部２３Ａを有している。制御部２３は、上記の入力情報に基づいて、AVストリームのデータベース(Clip)、 AVストリームの再生区間(PlayItem)をグループ化したもの（PlayList）のデータベース、記録媒体１００の記録内容の管理情報(INFO.BAV)、およびサムネイル画像の情報を作成する。これらの情報から構成されるアプリケーションデータベース情報は、AVストリームと同様にして、ECC符号化部２０、変調部２１で処理されて、書き込み部２２へ入力される。書き込み部２２は、制御部２３から出力される制御信号に基づいて、記録媒体１００へデータベースファイルを記録する。
【００３９】
上述したアプリケーションデータベース情報についての詳細は後述する。
【００４０】
このようにして記録媒体１００に記録されたAVストリームファイル（すなわち画像データと音声データのファイル）と、アプリケーションデータベース情報が再生される場合、次のように処理される。まず、制御部２３は、読み出し部２８に対して、記録媒体１００からアプリケーションデータベース情報を読み出すように指示する。そして、読み出し部２８は、記録媒体１００からアプリケーションデータベース情報を読み出し、そのアプリケーションデータベース情報は、復調部２９、ECC復号部３０の処理を経て、制御部２３へ入力される。
【００４１】
制御部２３は、アプリケーションデータベース情報に基づいて、記録媒体１００に記録されているPlayListの一覧（つまりコンテンツの一覧）を、ユーザインタフェイス入出力が接続されている端子２４に出力する。勿論、PlayListの一覧をビデオ出力として端子３２から図示せぬディスプレイに出力することもできる。ユーザが、PlayListの一覧から再生したいPlayList（つまりコンテンツ）を選択すると、再生を指定されたPlayListに関する情報が端子２４のユーザインタフェイス入出力から制御部２３へ入力される。制御部２３は、そのPlayListの再生に必要なAVストリームファイルの読み出しを、読み出し部２８に指示する。読み出し部２８は、その指示に従い、記録媒体１００から対応するAVストリームを読み出し復調部２９に出力する。復調部２９に入力されたAVストリームは、所定の処理が施されることにより復調され、さらにECC復号部３０の処理を経て、ソースデパケッタイザ３１出力される。
【００４２】
ソースデパケッタイザ３１は、記録媒体１００から読み出され、所定の処理が施されたアプリケーションフォーマットのAVストリームを、デマルチプレクサ２６に出力できるストリームに変換する。デマルチプレクサ２６は、制御部２３により指定されたAVストリームの再生区間(すなわちPlayItem)を構成するビデオストリーム(V)、オーディオストリーム(A)、およびAV同期等のシステム情報(S)を、AVデコーダ２７に出力する。AVデコーダ２７は、ビデオストリームとオーディオストリームを復号し、再生ビデオ信号と再生オーディオ信号を、それぞれ対応する端子３２と端子３３から出力する。
【００４３】
また、ユーザインタフェイスとしての端子２４から、ランダムアクセス再生や特殊再生を指示する情報が入力された場合、制御部２３は、AVストリームのデータベース(Clip)の内容に基づいて、記憶媒体１００からのAVストリームの読み出し位置を決定し、そのAVストリームの読み出しを、読み出し部２８に指示する。例えば、ユーザにより選択されたPlayListを、所定の時刻から再生する場合、制御部２３は、指定された時刻に最も近いタイムスタンプを持つIピクチャからのデータを読み出すように読み出し部２８に指示する。
【００４４】
また、ユーザによって高速再生(Fast-forward playback)が指示された場合、制御部２３は、AVストリームのデータベース(Clip)に基づいて、AVストリームの中のI-ピクチャデータを順次連続して読み出すように読み出し部２８に指示する。
【００４５】
読み出し部２８は、指定されたランダムアクセスポイントからAVストリームのデータを読み出し、読み出されたデータは、後段の各部の処理を経て再生される。
【００４６】
［AVストリームの編集］
【００４７】
次に、ユーザが、記録媒体１００に記録されているAVストリームの編集をする場合を説明する。ユーザが、記録媒体１００に記録されているAVストリームの再生区間を指定して新しい再生経路を作成したい場合、例えば、番組Ａという歌番組から歌手ａの部分を再生し、その後続けて、番組Ｂという歌番組の歌手ａの部分を再生したいといった再生経路を作成したい場合、ユーザインタフェイスとしての端子２４から再生区間の開始点（イン点）と終了点（アウト点）の情報が制御部２３に入力される。制御部２３は、AVストリームの再生区間(PlayItem)をグループ化したもの（PlayList）のデータベースを作成する。
【００４８】
ユーザが、記録媒体１００に記録されているAVストリームの一部を消去したい場合、ユーザインタフェイスとしての端子２４から消去区間のイン点とアウト点の情報が制御部２３に入力される。制御部２３は、必要なAVストリーム部分だけを参照するようにPlayListのデータベースを変更する。また、AVストリームの不必要なストリーム部分を消去するように、書き込み部２２に指示する。
【００４９】
ユーザが、記録媒体１００に記録されているAVストリームの再生区間を指定して新しい再生経路を作成したい場合であり、かつ、それぞれの再生区間をシームレスに接続したい場合について説明する。このような場合、制御部２３は、AVストリームの再生区間(PlayItem)をグループ化したもの（PlayList）のデータベースを作成し、さらに、再生区間の接続点付近のビデオストリームの部分的な再エンコードと再多重化を行う。
【００５０】
まず、端子２４から再生区間のイン点のピクチャの情報と、アウト点のピクチャの情報が制御部２３へ入力される。制御部２３は、読み出し部２８にイン点側ピクチャとアウト点側のピクチャを再生するために必要なデータの読み出しを指示する。そして、読み出し部２８は、記録媒体１００からデータを読み出し、そのデータは、復調部２９、ECC復号部３０、ソースデパケッタイザ３１を経て、デマルチプレクサ２６に出力される。
【００５１】
制御部２３は、デマルチプレクサ２６に入力されたデータを解析して、ビデオストリームの再エンコード方法（picture_coding_typeの変更、再エンコードする符号化ビット量の割り当て）と、再多重化方式を決定し、その方式をAVエンコーダ１５とマルチプレクサ１６に供給する。
【００５２】
次に、デマルチプレクサ２６は、入力されたストリームをビデオストリーム(V)、オーディオストリーム(A)、およびシステム情報(S)に分離する。ビデオストリームは、「AVデコーダ２７に入力されるデータ」と「マルチプレクサ１６に入力されるデータ」がある。前者のデータは、再エンコードするために必要なデータであり、これはAVデコーダ２７で復号され、復号されたピクチャはAVエンコーダ１５で再エンコードされて、ビデオストリームにされる。後者のデータは、再エンコードをしないで、オリジナルのストリームからコピーされるデータである。オーディオストリーム、システム情報については、直接、マルチプレクサ１６に入力される。
【００５３】
マルチプレクサ１６は、制御部２３から入力された情報に基づいて、入力ストリームを多重化し、多重化ストリームを出力する。多重化ストリームは、ECC符号化部２０、変調部２１で処理されて、書き込み部２２に入力される。書き込み部２２は、制御部２３から供給される制御信号に基づいて、記録媒体１００にAVストリームを記録する。
【００５４】
［制御部の機能的構成］
【００５５】
図２は、制御部２３の機能的構成を示すブロック図である。この実施の形態においては、制御部２３は、記録部２０１、取得部２０２、判定部２０３、および表示部２０４を有している。これらの各部は、例えばハードウェアにより構成することもできるし、ソフトウェアにより構成することもできる。
【００５６】
記録部２０１は、各種の情報を記録する。取得部２０２は、各種の情報を取得する。判定部２０３は、判定処理を行う。表示部２０４は、表示処理を行う。
【００５７】
［操作の説明］
【００５８】
以下に、アプリケーションデータベース情報や、その情報に基づく再生、編集といった操作に関する説明をする。図３は、アプリケーションフォーマットの構造を説明する図である。アプリケーションフォーマットは、AVストリームの管理のためにPlayListとClipの２つのレイヤをもつ。Volume Informationは、ディスク内のすべてのClipとPlayListの管理をする。ここでは、１つのAVストリームとその付属情報のペアを１つのオブジェクトと考え、それをClipと称する。AVストリームファイルはClip AV stream fileと称し、その付属情報は、Clip Information fileと称する。
【００５９】
１つのClip AV stream fileは、MPEG2トランスポートストリームをアプリケーションフォーマットによって規定される構造に配置したデータをストアする。一般的に、ファイルは、バイト列として扱われるが、Clip AV stream fileのコンテンツは、時間軸上に展開され、Clipの中のエントリポイントは、主に時間ベースで指定される。所定のClipへのアクセスポイントのタイムスタンプが与えられた時、Clip Information fileは、Clip AV stream fileの中でデータの読み出しを開始すべきアドレス情報を見つけるために役立つ。
【００６０】
［PlayList］
【００６１】
PlayListについて、図４を参照して説明する。PlayListは、Clipの中からユーザが見たい再生区間を選択し、それを簡単に編集することができるようにするために設けられている。１つのPlayListは、Clipの中の再生区間の集まりである。所定のClipの中の１つの再生区間は、PlayItemと呼ばれ、それは、時間軸上のイン点（IN）とアウト点（OUT）の対で表される。従って、PlayListは、複数のPlayItemが集まることにより構成される。
【００６２】
PlayListには、２つのタイプがある。１つは、Real PlayListであり、もう１つは、Virtual PlayListである。Real PlayListは、それが参照しているClipのストリーム部分を共有している。すなわち、Real PlayListは、それの参照しているClipのストリーム部分に相当するデータ容量をディスクの中で占め、Real PlayListが消去された場合、それが参照しているClipのストリーム部分もまたデータが消去される。
【００６３】
Virtual PlayListは、Clipのデータを共有していない。従って、Virtual PlayListが変更または消去されたとしても、Clipの内容には何も変化が生じない。
【００６４】
［Real PlayListの編集］
【００６５】
次に、Real PlayListの編集について説明する。図５（Ａ）は、Real PlayListのクリエイト(create：作成)に関する図であり、AVストリームが新しいClipとして記録される場合、そのClip全体を参照するReal PlayListが新たに作成される操作である。
【００６６】
図５（Ｂ）は、Real PlayListのディバイド(divide：分割)に関する図であり、Real PlayListが所望な点で分けられて、２つのReal PlayListに分割される操作である。この分割という操作は、例えば、１つのPlayListにより管理される１つのクリップ内に、２つの番組が管理されているような場合に、ユーザが１つ１つの番組として登録（記録）し直したいといったようなときに行われる。この操作により、Clipの内容が変更される（Clip自体が分割される）ことはない。
【００６７】
図５（Ｃ）は、Real PlayListのコンバイン(combine：結合)に関する図であり、２つのReal PlayListを結合して、１つの新しいReal PlayListにする操作である。この結合という操作は、例えば、ユーザが２つの番組を１つの番組として登録し直したいといったようなときに行われる。この操作により、Clipが変更される（Clip自体が１つにされる）ことはない。
【００６８】
図６（Ａ）は、Real PlayList全体のデリート(delete：削除)に関する図であり、所定のReal PlayList全体を消去する操作がされた場合、削除されたReal PlayListが参照するClipの、対応するストリーム部分も削除される。
【００６９】
図６（Ｂ）は、Real PlayListの部分的な削除に関する図であり、Real PlayListの所望な部分が削除された場合、対応するPlayItemが、必要なClipのストリーム部分だけを参照するように変更される。そして、Clipの対応するストリーム部分は削除される。
【００７０】
図６（Ｃ）は、Real PlayListのミニマイズ(Minimize：最小化)に関する図であり、RealPlayListに対応するPlayItemを、Virtual PlayListに必要なClipのストリーム部分だけを参照するようにする操作である。Virtual PlayList にとって不必要なClipの、対応するストリーム部分は削除される。
【００７１】
上述したような操作により、Real PlayListが変更されて、そのReal PlayListが参照するClipのストリーム部分が削除された場合、その削除されたClipを使用しているVirtual PlayListが存在し、そのVirtual PlayListにおいて、削除されたClipにより問題が生じる可能性がある。
【００７２】
そのようなことが生じないように、ユーザに、削除という操作に対して、「そのReal PlayListが参照しているClipのストリーム部分を参照しているVirtual PlayListが存在し、もし、そのReal PlayListが消去されると、そのVirtual PlayListもまた消去されることになるが、それでも良いか？」といったメッセージなどを表示させることにより、確認（警告）を促した後に、ユーザの指示により削除の処理を実行、または、キャンセルする。または、Virtual PlayListを削除する代わりに、Real PlayListに対してミニマイズの操作が行われるようにする。
【００７３】
［Virtual PlayListに対する操作］
【００７４】
次にVirtual PlayListに対する操作について説明する。Virtual PlayListに対して操作が行われたとしても、Clipの内容が変更されることはない。図７は、アセンブル(Assemble)編集 (IN-OUT 編集)に関する図であり、ユーザが見たいと所望した再生区間のPlayItemを作り、Virtual PlayListを作成するといった操作である。PlayItem間のシームレス接続が、アプリケーションフォーマットによりサポートされている。
【００７５】
図７（Ａ）に示したように、２つのReal PlayList１，２と、それぞれのReal PlayListに対応するClip１，２が存在している場合に、ユーザがReal PlayList１内の所定の区間（In１乃至Out１までの区間：PlayItem１）を再生区間として指示し、続けて再生する区間として、Real PlayList２内の所定の区間（In２乃至Out２までの区間：PlayItem２）を再生区間として指示したとき、図７（Ｂ）に示すように、PlayItem１とPlayItem２から構成される１つのVirtual PlayListが作成される。
【００７６】
［Virtual PlayList の再編集］
【００７７】
次に、Virtual PlayList の再編集(Re-editing)について説明する。再編集には、VirtualPlayListの中のイン点やアウト点の変更、Virtual PlayListへの新しいPlayItemの挿入(insert)や追加(append)、Virtual PlayListの中のPlayItemの削除などがある。また、Virtual PlayListそのものを削除することもできる。
【００７８】
図８は、Virtual PlayListへのオーディオのアフレコ(Audio dubbing (post recording))に関する図であり、Virtual PlayListへのオーディオのアフレコをサブパスとして登録する操作のことである。このオーディオのアフレコは、アプリケーションフォーマットによりサポートされている。Virtual PlayListのメインパスのAVストリームに、付加的なオーディオストリームが、サブパスとして付加される。
【００７９】
Real PlayListとVirtual PlayListで共通の操作として、図９に示すようなPlayListの再生順序の変更(Moving)がある。この操作は、ディスク(ボリューム)の中でのPlayListの再生順序の変更であり、アプリケーションフォーマットにおいて定義されるTable Of PlayListによってサポートされる。この操作により、Clipの内容が変更されるようなことはない。
【００８０】
［マーク］
【００８１】
次に、マーク（Mark）について説明する。マークは、ClipおよびPlayListの中のハイライトや特徴的な時間を指定するために設けられている。Clipに付加されるマークは、AVストリームの内容に起因する特徴的なシーンを指定する、例えば、シーンチェンジ点などである。PlayListを再生する時、そのPlayListが参照するClipのマークを参照して、使用する事ができる。
【００８２】
PlayListに付加されるマークは、主にユーザによってセットされる、例えば、ブックマークやリジューム点などである。ClipまたはPlayListにマークをセットすることは、マークの時刻を示すタイムスタンプをマークリストに追加することにより行われる。また、マークを削除することは、マークリストの中から、そのマークのタイムスタンプを除去する事である。従って、マークの設定や削除により、AVストリームは何の変更もされない。
【００８３】
［サムネイル］
【００８４】
次にサムネイルについて説明する。サムネイルは、Volume、PlayList、およびClipに付加される静止画である。サムネイルには、２つの種類があり、１つは、内容を表す代表画としてのサムネイルである。これは主としてユーザがカーソル（不図示）などを操作して見たいものを選択するためのメニュー画面で使われるものである。もう１つは、マークが指しているシーンを表す画像である。
【００８５】
Volumeと各Playlistは代表画を持つことができるようにする必要がある。Volumeの代表画は、ディスク（記録媒体１００、以下、記録媒体１００はディスク状のものであるとし、適宜、ディスクと記述する）を記録再生装置１の所定の場所にセットした時に、そのディスクの内容を表す静止画を最初に表示する場合などに用いられることを想定している。Playlistの代表画は、Playlistを選択するメニュー画面（コンテンツの一覧の画面）において、Playlistの内容を表すための静止画として用いられることを想定している。
【００８６】
Playlistの代表画として、Playlistの最初の画像をサムネイル（代表画）にすることが考えられるが、必ずしも再生時刻０の先頭の画像が内容を表す上で最適な画像とは限らない。そこで、Playlistのサムネイルとして、任意の画像をユーザが設定できるようにする。以上２種類のサムネイルをメニューサムネイルと称する。メニューサムネイルは頻繁に表示されるため、ディスクから高速に読み出される必要がある。このため、すべてのメニューサムネイルを１つのファイルに格納することが効率的である。メニューサムネイルは、必ずしもボリューム内の動画から抜き出したピクチャである必要はなく、図１１に示すように、パーソナルコンピュータやデジタルスチルカメラから取り込こまれた画像でもよい。
【００８７】
一方、ClipとPlaylistには、複数個のマークを打てる必要があり、マーク位置の内容を知るためにマーク点の画像を容易に見ることが出来るようにする必要がある。このようなマーク点を表すピクチャをマークサムネイル（Mark Thumbnails）と称する。従って、サムネイルの元となる画像は、外部から取り込んだ画像よりも、マーク点の画像を抜き出したものが主となる。
【００８８】
図１２は、PlayListに付けられるマークと、そのマークサムネイルの関係について示す図であり、図１３は、Clipに付けられるマークと、そのマークサムネイルの関係について示す図である。マークサムネイルは、メニューサムネイルと異なり、Playlistの詳細を表す時に、サブメニュー等で使われるため、短いアクセス時間で読み出されるようなことは要求されない。そのため、サムネイルが必要になる度に、記録再生装置１がファイルを開き、そのファイルの一部を読み出すことで多少時間がかかっても、問題にはならない。
【００８９】
また、ボリューム内に存在するファイル数を減らすために、すべてのマークサムネイルは１つのファイルに格納するのがよい。Playlistはメニューサムネイル１つと複数のマークサムネイルを有することができるが、Clipは直接ユーザが選択する必要性がない（通常、Playlist経由で指定する）ため、メニューサムネイルを設ける必要はない。
【００９０】
図１４は、上述したことを考慮した場合のメニューサムネイル、マークサムネイル、PlayList、およびClipの関係について示した図である。メニューサムネイルファイルには、PlayList毎に設けられたメニューサムネイルがファイルされている。メニューサムネイルファイルには、ディスクに記録されているデータの内容を代表するボリュームサムネイルが含まれている。マークサムネイルファイルは、各PlayList毎と各Clip毎に作成されたサムネイルがファイルされている。
【００９１】
［ディレクトリとファイル］
【００９２】
次にディレクトリとファイルについて説明する。以下、記録再生装置１をDVR（Digital Video Recording）と適宜記述する。図１５はディスク上のディレクトリ構造の一例を示す図である。DVRのディスク上に必要なディレクトリは、図１５に示したように、"BDAV"ディレクトリを含むrootディレクトリ、"PLAYLIST"ディレクトリ、"CLIPINF"ディレクトリ、および"STREAM"ディレクトリである。rootディレクトリの下に、これら以外のディレクトリを作成されるようにしても良いが、それらは、本実施の形態のアプリケーションフォーマットでは、無視されるとする。
【００９３】
"BDAV"ディレクトリの下には、 DVRアプリケーションフォーマットによって規定される全てのファイルとディレクトリがストアされる。"BDAV"ディレクトリは、３個のディレクトリを含む。"PLAYLIST"ディレクトリの下には、Real PlayListとVirtual PlayListのデータベースファイルが置かれる。このディレクトリは、PlayListが１つもなくても存在する。
【００９４】
"CLIPINF"ディレクトリの下には、Clipのデータベースが置かれる。このディレクトリも、Clipが１つもなくても存在する。"STREAM"ディレクトリの下には、AVストリームファイルが置かれる。このディレクトリは、AVストリームファイルが１つもなくても存在する。
【００９５】
"BDAV"ディレクトリは、次に示すファイルをストアする。”INDEX.BAV”ファイルは、PLAYLISTディレクトリの下のすべてのPlayList filesについて、UIAppInfoPlayList()の情報の中で、タイトル一覧の表示に有用な表示情報を抜粋して集めたインデックスファイルである。ここには、追加で、PlayList fileファイル毎のメーカのプライベートデータも格納することができる。”INDEX.BAV”ファイルは、コンテンツを記録するPLAYLISTディレクトリと同じ親のディレクトリであるBDAVディレクトリの下に位置し、かつ、同じ並びに位置する。つまり両者は兄弟のディレクトリである。”INDEX.BAV”ファイルの詳細については図１７を参照して後述する。
【００９６】
"INFO.BAV"ファイルは、 BDAVディレクトリの下に作られ、アプリケーションレイヤの全体的な情報をストアする。BDAVディレクトリの下には、ただ１つのINFO.BAVがなければならない。ファイル名は、INFO.BAVに固定される。"MENU.THM"ファイルは、メニューサムネイル画像（コンテンツ一覧のサムネイル画像）に関連する情報をストアする。BDAVディレクトリの下には、０または１つのメニューサムネイルがなければならない。ファイル名は、MENU.THMに固定される。メニューサムネイル画像が１つもない場合、このファイルは、存在しなくても良い。
【００９７】
"PLAYLIST"ディレクトリは、２種類のPlayListファイルをストアするものであり、それらは、Real PlayListとVirtual PlayListである。"xxxxx.RPL" ファイルは、１つのReal PlayListに関連する情報をストアする。それぞれのReal PlayList毎に、１つのファイルが作られる。ファイル名は、"xxxxx.RPL"である。ここで、"xxxxx"は、５個の０乃至９まで数字である。ファイル拡張子は、"RPL"でなければならないとする。
【００９８】
"yyyyy.VPL"ファイルは、１つのVirtual PlayListに関連する情報をストアする。それぞれのVirtual PlayList毎に、１つのファイルが作られる。ファイル名は、"yyyyy.VPL"である。ここで、"yyyyy"は、５個の０乃至９まで数字である。ファイル拡張子は、"VPL"でなければならないとする。
【００９９】
"CLIPINF"ディレクトリは、それぞれのAVストリームファイルに対応して、１つのファイルをストアする。"zzzzz.CPI" ファイルは、１つのAVストリームファイル(Clip AV stream file または Bridge-Clip AV stream file)に対応するClip Information fileである。ファイル名は、"zzzzz. CPI"であり、"zzzzz"は、５個の０乃至９までの数字である。ファイル拡張子は、"CPI"でなければならないとする。
【０１００】
"STREAM"ディレクトリは、AVストリームのファイルをストアする。"zzzzz.MTS"ファイルは、DVRシステムにより扱われるAVストリームファイルである。これは、Clip AV stream fileまたはBridge-Clip AV streamである。ファイル名は、"zzzzz. MTS"であり、"zzzzz"は、５個の０乃至９までの数字である。ファイル拡張子は、"MTS"でなければならないとする。
【０１０１】
［INDEX.BAVファイル］
【０１０２】
次に図１５の”INDEX.BAV”ファイルについて説明する。記録媒体１００に記録されたコンテンツである番組をユーザに選択させるために、全番組のタイトル一覧（すなわちPlayList一覧）が生成され、そのうちの表示可能な範囲が抽出され、端子２４からユーザインタフェイス入出力に出力され、表示される。または端子３２から図示せぬディスプレイに出力され、表示される。図１７を参照して後述するように、１つの”INDEX.BAV”ファイルには、タイトル一覧を表示するのに必要な全番組の表示情報がまとめて格納されている。その結果、タイトル一覧を迅速に作成し、表示することが可能になる。
【０１０３】
図１６は、タイトル一覧の表示例を示す図である。画面表示のデザインや表示内容は、記録再生装置１のメーカに依存する。この例においては、次の表示情報が表示されている。
番組のタイトル：朝のニュース。昼のニュース、昼のバラエティ、夜のニュース
夜の歌謡番組
記録日時：１月１日（月）７：００ＡＭ、１月１日（月）０：００ＰＭ
１月１日（月）１：００ＰＭ、１月１日（月）７：００ＰＭ
１月１日（月）９：００ＰＭ
番組の時間長：１時間３０分、１時間００分、２時間００分、
チャンネル番号：１ｃｈ、２ｃｈ、３ｃｈ
チャンネル名：日本放送局、AAA放送局
記録モード：直接記録モード、標準記録モード、長時間記録モード
【０１０４】
タイトル一覧には、ユーザが確実に所望の番組（すなわちタイトル）を選択することができるような情報である表示情報を表示する必要がある。この表示情報は、例えば次のような情報を含むことができる。
１  タイトル（番組）の名称 (PlayList_name)
２  記録日時 (time_zone, record_time_and_date)
３  タイトルの時間長  (PlayList_duration)
４  サムネイル参照情報  (ref_to_menu_thumbnail_index)
５  新着(未視聴)の記録かどうかの印  (is_played_flag)
６  チャンネル番号 (channel_number)
７  チャンネルの名称 (channel_name)
【０１０５】
上記した７個の表示情報のうち、タイトル一覧に特に欠くことのできない情報は、番号１乃至３で示した３個の表示情報である。番号４の表示情報もユーザに迅速に番組の内容を理解させるのに重要である。
【０１０６】
上記７個の表示情報の後のカッコの中に示すフィールドの名称は、ref_to_menu_thumbnail_indexを除き、UIAppInfoPlayList()（後述する図２１）の中に現れるフィールドの名称である。ref_to_menu_thumbnail_indexだけは、UIAppInfoPlayList()に含まれていない。これは、PlayListファイル（後述する図１８）の中のPlayListMark()（後述する図２２）のmark_typeの値が0x01または0x02であり（後述する図２３）、プレイリスト代表画像であることを示すときのref_thumbnail_index（後述する図２２）の値が参照される。つまり、ref_thumbnail_indexの値がref_to_menu_thumbnail_indexの値として設定される。
【０１０７】
図１７は、INDEX.BAVのシンタクスを示す図である。同図に示されるように、”INDEX.BAV”ファイルは以下のような情報を含んでいる。
【０１０８】
type_indicatorのフィールドには、"INDX" のキャラクタ文字が入る。version_numberのフィールドは、このINDEX.BAVファイルのバージョンナンバを示す4個のキャラクタ文字を表す。lengthのフィールドは、このlengthフィールドの直後からINDEX.BAVファイルの最後までのバイト数を示す。number_of_PlayListsの数字は、PLAYLISTディレクトリに記録されているPlayListの数に等しくなければならない。PlayList_file_name[k]のフィールドは、PlayListのファイル名を示す。なお[k]は、forループ中でインクリメントされる変数である。index_info_start_address[k]のフィールドは、INDEX.BAVファイルの先頭バイトからの相対バイト数を単位として、index_info[k]()の先頭バイトアドレスを示す。相対バイト数はゼロからカウントされる。
【０１０９】
ref_to_menu_thumbnail_index[k]のフィールドは、PlayList_file_name[k]が示すPlayListを代表するサムネイル画像の情報を示す。ref_to_menu_thumbnail_index[k]フィールドが、”0xFFFF”以外の値の場合、そのPlayListには、PlayListを代表するサムネイル画像が付加されており、そのサムネイル画像は、MENU.THMファイル（図１５と後述する図２４）の中にストアされている。その画像は、MENU.THMファイルの中でThumbnail()（後述する図２５）の値を用いて参照される。ref_to_menu_thumbnail_index[k]フィールドが、0xFFFF である場合、そのPlayListには、PlayListを代表するサムネイル画像が付加されていない。
【０１１０】
PlayList_character_set[k]のフィールドは、channel_name[k], PlayList_name[k]フィールドに符号化されているキャラクタ文字の符号化方法を示す。is_played_flag[k]のフラグは再生の有無を表す。このフラグが'1'にセットされている場合、PlayList_file_name[k]が示すPlayListは、記録されてから一度は再生されている。このフラグが0にセットされている場合、そのPlayListは、記録されてから一度も再生されたことがない。time_zone[k]のフィールドは、record_time_and_date[k]が示す時間情報のタイムゾーン（例えば、日本、英国等）を示す。
【０１１１】
record_time_and_date[k]のフィールドは、PlayList_file_name[k]が示すPlayListが記録された時の日時をストアする56ビットのフィールドである。このフィールドは、年／月／日／時／分／秒について、14個の数字を4ビットのBinary Coded Decimal(BCD)で符号化したものである。例えば、2001/12/23:01:02:03 は、"0x20011223010203"と符号化される。PlayList_duration[k]は PlayList_file_name[k]が示すPlayListの総再生時間を時間／分／秒の単位で示した24ビットのフィールドである。このフィールドは、6個の数字を4ビットのBinary Coded Decimal(BCD)で符号化したものである。例えば、01:45:30は、"0x014530"と符号化される。
【０１１２】
channel_number[k]のフィールドは、PlayList_file_name[k]が示すPlayListが記録されたときにユーザが選択をした放送のチャネル番号またはサービス番号を示す。このフィールドの値が0xFFFFであるときはこのフィールドは無効である。channel_name_length[k]のフィールドは、 channel_name[k]フィールドの示すチャネル名の長さのバイト数を示す。channel_name[k]のフィールドは、 PlayList_file_name[k]が示すPlayListが記録されたときにユーザが選択した放送のチャネル名またはサービス名を示す。
【０１１３】
PlayList_name_length[k]のフィールドは、 PlayList_name[k] フィールドの示すPlayList名の長さのバイト数を示す。PlayList_name[k]のフィールドは、PlayList_file_name[k]が示すPlayListのタイトル（番組）名を示す。
【０１１４】
length_mpd[k]のフィールド値がゼロでないとき、mdp[k]()が存在し、その値はmdp[k]()のバイト数を示す。maker_ID[k]のフィールドは、mdp[k]()を記録したレコーダの製造者を示す。maker_idに符号化される値は、このフォーマットのライセンサによって割り当てられる。maker_model_code[k]のフィールドは、mdp[k]()を記録したレコーダのモデル番号を示す。maker_model_code[k]に符号化される値は、このフォーマットのライセンスを受けた製造者によって決められる。maker_private_data[k]のフィールドは、メーカプライベートデータがストアされる領域である。ここには、INDEX.BAVファイルで標準化された上記の情報のほかに、メーカ独自の記録情報を格納してよい。例えば、記録モード（標準記録モードや長時間記録モードといった情報）や番組のジャンルなどの情報を記録することができる。
【０１１５】
これらのlength_mpd[k]，maker_ID[k]，maker_model_code[k]，maker_private_data[k]は、メーカ独自情報を構成する。
【０１１６】
X, Yは、任意の正の整数である。padding_wordの値は何でも良い。
【０１１７】
［Real PlayList fileとVirtual PlayList file］
【０１１８】
次に、Real PlayList fileとVirtual PlayList fileについて、すなわち、図１５の"PLAYLIST"ディレクトリのxxxxx.RPLとyyyyy.VPLについて説明する。図１８は、xxxxx.RPL（Real PlayList）、および、yyyyy.VPL（Virtual PlayList）のシンタクスを示す図である。xxxxx.RPLとyyyyy.VPLは、同一のシンタクス構成をもつ。xxxxx.RPLとyyyyy.VPLは、それぞれ、３個のオブジェクトから構成され、それらは、PlayList()、PlayListMark()、およびMakerPrivateData()である。
【０１１９】
PlayListMark_Start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayListMark()の先頭アドレスを示す。相対バイト数はゼロからカウントされる。
【０１２０】
MakerPrivateData_Start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、MakerPrivateData()の先頭アドレスを示す。相対バイト数はゼロからカウントされる。
【０１２１】
padding_word（パディングワード）は、PlayListファイルのシンタクスにしたがって挿入され、Ｎ１とＮ２は、ゼロまたは任意の正の整数である。それぞれのパディングワードは、任意の値を取るようにしても良い。
【０１２２】
ここで、既に、簡便に説明したが、PlayListについてさらに説明する。記録媒体１００内にあるすべてのReal PlayListによって、Bridge-Clipを除くすべてのClipの中の再生区間が参照されていなければならない。かつ、２つ以上のReal  PlayListが、それらのPlayItemで示される再生区間を同一のClipの中でオーバーラップさせてはならない。
【０１２３】
図１９を参照してさらに説明するに、図１９（Ａ）に示したように、全てのClipは、対応するReal PlayListが存在する。この規則は、図１９（Ｂ）に示したように、編集作業が行われた後においても守られる。従って、全てのClipは、どれかしらのReal PlayListを参照することにより、必ず視聴することが可能である。
【０１２４】
図１９（Ｃ）に示したように、Virtual PlayListの再生区間は、Real PlayListの再生区間またはBridge-Clipの再生区間の中に含まれていなければならない。どのVirtual PlayListにも参照されないBridge-Clipがディスクの中に存在してはならない。
【０１２５】
RealPlayListは、PlayItemのリストを含むが、SubPlayItemを含んではならない。VirtualPlayListは、PlayItemのリストを含み、PlayList()の中に示されるCPI_typeがEP_map typeであり、かつPlayList_typeが0（ビデオとオーディオを含むPlayList）である場合、Virtual PlayListは、ひとつのSubPlayItemを含む事ができる。本実施の形態におけるPlayList()では、SubPlayItemはオーディオのアフレコの目的にだけに使用される。そして、１つのVirtual PlayListが持つSubPlayItemの数は、０または１でなければならない。
【０１２６】
［PlayListのシンタクス］
【０１２７】
次に、PlayListのシンタクスについて説明する。図２０は、PlayListのシンタクスを示す図である。図２０に示したPlayListのシンタクスを説明するに、version_numberは、このPlayList()のバージョンナンバを示す４個のキャラクタ文字である。version_numberは、ISO 646に従って、"0045"と符号化されなければならない。lengthは、このlengthフィールドの直後からPlayList()の最後までのPlayList()のバイト数を示す３２ビットの符号なし整数である。PlayList_typeは、このPlayListのタイプを示す８ビットのフィールドである。
【０１２８】
CPI_typeは、１ビットのフラグであり、PlayItem()およびSubPlayItem()によって参照されるClipのCPI_typeの値を示す。１つのPlayListによって参照される全てのClipは、それらのCPI()の中に定義されるCPI_typeの値が同じでなければならない。number_of_PlayItemsは、PlayListの中にあるPlayItemの数を示す１６ビットのフィールドである。
【０１２９】
所定のPlayItem()に対応するPlayItem_idは、PlayItem()を含むforループの中で、そのPlayItem()の現れる順番により定義される。PlayItem_idは、０から開始される。number_of_SubPlayItemsは、PlayListの中にあるSubPlayItemの数を示す１６ビットのフィールドである。この値は、０または１である。付加的なオーディオストリームのパス(オーディオストリームパス）は、サブパスの一種である。
【０１３０】
［UIAppInfoPlayList］
【０１３１】
次に、図２０に示したPlayListのシンタクスのUIAppInfoPlayListについて説明する。UIAppInfoPlayListは、PlayListについてのユーザインタフェイスアプリケーションのパラメータをストアする。図２１は、UIAppInfoPlayListのシンタクスを示す図である。図２１に示したUIAppInfoPlayListのシンタクスを以下に説明する。
【０１３２】
PlayList_character_setのフィールドは、channel_name, PlayList_nameフィールドに符号化されているキャラクタ文字の符号化方法を示す。is_played_flagのフィールドは、このPlayListの再生の有無を表す。このフラグが'1'にセットされている場合、このPlayListは、記録されてから一度は再生されている。このフラグが0にセットされている場合、そのPlayListは、記録されてから一度も再生されたことがない。time_zoneのフィールドは、record_time_and_dateが示す時間情報のタイムゾーンを示す。
【０１３３】
record_time_and_dateのフィールドは、このPlayListが記録された時の日時をストアする56ビットのフィールドである。このフィールドは、年／月／日／時／分／秒について、14個の数字を4ビットのBinary Coded Decimal(BCD)で符号化したものである。例えば、2001/12/23:01:02:03 は、"0x20011223010203"と符号化される。PlayList_durationのフィールドは、このPlayListの総再生時間を時間／分／秒の単位で示した24ビットのフィールドである。このフィールドは、6個の数字を4ビットのBinary Coded Decimal(BCD)で符号化したものである。例えば、01:45:30は、"0x014530"と符号化される。
【０１３４】
channel_numberのフィールドは、このPlayListが記録されたときにユーザが選択をした放送のチャネル番号またはサービス番号を示す。このフィールドの値が0xFFFFであるときはこのフィールドは無効である。channel_name_lengthのフィールドは、 channel_nameフィールドの示すチャネル名の長さのバイト数を示す。channel_nameのフィールドは、このPlayListが記録されたときにユーザが選択をした放送のチャネル名またはサービス名を示す。PlayList_name_lengthのフィールドは、このPlayList名の長さのバイト数を示す。PlayList_nameのフィールドは、このPlayListのタイトル（番組）名を示す。
【０１３５】
［PlayListMark()］
【０１３６】
次に、図１８に示したxxxxx.RPLとyyyyy.VPLのシンタクス内のPlayListMark()について説明する。PlayListについてのマーク情報は、このPlayListMarkにストアされる。図２２は、PlayListMarkのシンタクスを示す図である。図２２に示したPlayListMarkのシンタクスについて説明するに、version_numberは、このPlayListMark()のバージョンナンバを示す４個のキャラクタ文字である。version_numberは、ISO 646に従って、"0045"と符号化されなければならない。
【０１３７】
lengthは、このlengthフィールドの直後からPlayListMark()の最後までのPlayListMark()のバイト数を示す３２ビットの符号なし整数である。number_of_PlayList_marksは、PlayListMarkの中にストアされているマークの個数を示す１６ビットの符号なし整数である。number_of_PlayList_marks は、０であってもよい。mark_typeは、マークのタイプを示す８ビットのフィールドであり、後述する図２３に示すテーブルに従って符号化される。
【０１３８】
mark_time_stampの32ビットフィールドは、マークが指定されたポイントを示すタイムスタンプをストアする。mark_time_stampのセマンティクスは、PlayList()において定義されるCPI_typeによって異なる。PlayItem_idは、マークが置かれているところのPlayItemを指定する８ビットのフィールドである。所定のPlayItemに対応するPlayItem_idの値は、PlayList()において定義される（図２０参照）。
【０１３９】
character_setの８ビットのフィールドは、mark_nameフィールドに符号化されているキャラクタ文字の符号化方法を示す。name_lengthの８ビットフィールドは、mark_nameフィールドの中に示されるマーク名のバイト長を示す。mark_nameのフィールドは、マークの名称を示す。このフィールドの中の左からname_length数のバイト数が、有効なキャラクタ文字であり、それはマークの名称を示す。mark_nameフィールドの中で、それら有効なキャラクタ文字の後の値は、どのような値が設定されても良い。
【０１４０】
ref_thumbnail_indexのフィールドは、マークに付加されるサムネイル画像の情報を示す。ref_thumbnail_indexフィールドが、0xFFFFでない値の場合、そのマークにはサムネイル画像が付加されており、そのサムネイル画像は、MENU.THMファイルの中にストアされている。その画像は、MENU.THMファイルの中でref_thumbnail_indexの値を用いて参照される。ref_thumbnail_indexフィールドが、0xFFFF である場合、そのマークにはサムネイル画像が付加されていない事を示す。
【０１４１】
図２３は、mark_typeのテーブルを示す図である。同図に示されるように、mark_typeの値によってマークのタイプが規定されている。mark_typeの値が0x01である場合、そのマークは、プレイリストの代表画像であり、その画像はPlayListが参照するビデオのピクチャから選択されたものである。
【０１４２】
この場合、mark_time_stamp（図２２）は、PlayListが参照するビデオの中のピクチャのPresentation time stampを示す。ref_thumbnail_index（図２２）の値が、xFFFF以外のとき、後述する図２４のMENU.THMの中に、サムネイル画像がストアされる。ref_thumbnail_indexの値が、xFFFFのとき、図２４のMENU.THMの中に、サムネイル画像がストアされていない。この場合、プレーヤは、PlayListが参照するビデオの中のPresentation time stampによって指定されるピクチャをデコードしてよい。PlayListMark()のマークタイプの値0x01または0x02の数は、０または１である。
【０１４３】
mark_typeの値が0x02である場合、そのマークは、プレイリスト代表画像であり、その画像は、PLayListが参照するビデオのピクチャから選択されたものではない。
【０１４４】
この場合、ref_thumbnail_indexの値は、0xFFFF以外でなければならない。図２４のMENU.THMの中に、サムネイル画像がストアされる。mark_time_stampとPlayItem_idにはゼロをセットする。PlayListMark()のマークタイプの値0x01または0x02の数は、０または１である。
【０１４５】
mark_typeの値が0x03である場合、そのマークは、Resume-markである。これは再生リジュームポイントである。PlayListmark()において定義される再生リジュームポイントの数は、０または１でなければならない。
【０１４６】
mark_typeの値が0x04である場合、そのマークは、PlayListの再生エントリポイントである。このマークは、ユーザがセットすることができ、例えばお気に入りのシーンの開始点を指定するマークに使う。
【０１４７】
mark_typeの値が0x06である場合、そのマークは、スキップマークポイントである。このポイントからプログラムの最後まで、プレーヤはプログラムをスキップする。PlayListMark()において定義されるスキップマークポイントの数は、０または１でなければならない。
【０１４８】
［MENU.THMとMARK.THM］
【０１４９】
図２４は、図１５のMENU.THM（またはMARK.THM）のシンタクスを示す図であり、MENU.THM ファイルはThumbnail()を有する。
【０１５０】
図２５は、図２４に示したMENU.THM（またはMARK.THM）のシンタクス内のThumbnail()のシンタクスを示す図である。図２４に示したThumbnail()のシンタクスについて説明するに、version_numberは、このThumbnail()のバージョンナンバを示す４個のキャラクタ文字である。version_numberは、ISO 646に従って、"0045"と符号化されなければならない。
【０１５１】
lengthは、このlengthフィールドの直後からThumbnail()の最後までのThumbnail()のバイト数を示す３２ビットの符号なし整数である。tn_blocks_start_addressは、Thumbnail()の先頭のバイトからの相対バイト数を単位として、最初のtn_blockの先頭バイトアドレスを示す３２ビットの符号なし整数である。相対バイト数はゼロからカウントされる。number_of_thumbnailsは、Thumbnail()の中に含まれているサムネイル画像のエントリ数を与える１６ビットの符号なし整数である。
【０１５２】
tn_block_sizeは、1024バイトを単位として、１つのtn_blockの大きさを与える16ビットの符号なし整数である。例えば、tn_block_size＝１ならば、それは１つのtn_blockの大きさが1024バイトであることを示す。number_of_tn_blocksは、このThumbnail()中のtn_blockのエントリ数を表す１６ビットの符号なし整数である。thumbnail_indexは、このthumbnail_indexフィールドから始まるforループ１回分のサムネイル情報で表されるサムネイル画像のインデクス番号を表す１６ビットの符号なし整数である。thumbnail_index として、0xFFFFという値を使用してはならない。thumbnail_index はUIAppInfoVolume()、UIAppInfoPlayList()、 PlayListMark()、およびClipMark()の中のref_thumbnail_indexによって参照される。
【０１５３】
thumbnail_picture_formatは、サムネイル画像のピクチャフォーマットを表す8ビットの符号なし整数である。
【０１５４】
picture_data_sizeは、サムネイル画像のバイト長をバイト単位で示す３２ビットの符号なし整数である。start_tn_block_numberは、サムネイル画像のデータが始まるtn_blockのtn_block番号を表す１６ビットの符号なし整数である。サムネイル画像データの先頭は、tn_blockの先頭と一致していなければならない。tn_block番号は、０から始まり、tn_blockのforループ中の変数ｋの値に関係する。
【０１５５】
x_picture_lengthは、サムネイル画像のフレーム画枠の水平方向のピクセル数を表す１６ビットの符号なし整数である。y_picture_lengthは、サムネイル画像のフレーム画枠の垂直方向のピクセル数を表す１６ビットの符号なし整数である。tn_blockは、 サムネイル画像がストアされる領域である。Thumbnail()の中のすべてのtn_blockは、同じサイズ（固定長）であり、その大きさはtn_block_sizeによって定義される。
【０１５６】
［AVストリームファイル］
【０１５７】
次に、AVストリームファイルについて説明する。AVストリームファイルは、"STREAM"ディレクトリ（図１５）のMTSファイルにストアされる。AVストリームファイルには、２つのタイプがあり、それらは、Clip AVストリームとBridge-Clip AVストリームファイルである。両方のAVストリーム共に、DVR MPEG-2トランスポートストリームファイルの構造でなければならない。
【０１５８】
［記録処理］
【０１５９】
次に図２６を参照して、INDEX.BAVファイルの記録媒体１００への記録処理について説明する。図２６は、記録処理を説明するフローチャートである。この処理は、ユーザの指示に基づきコンテンツとしての番組を記録媒体１００に記録したとき、付随して実行される。
【０１６０】
ステップＳ１１において記録部２０１は、PlayListファイルを記録する。つまり、コンテンツに対応する図１８のxxxxx.RPLまたはyyyyy.VPLが記録媒体１００に記録される。
【０１６１】
ステップＳ１２において取得部２０２は、UIAppInfoPlayList()を取得する。つまり、ステップＳ１１で図１８のxxxxx.RPLまたはyyyyy.VPLの一部として記録媒体１００に記録された図２０のPlayList()から、UIAppInfoPlayList()が読み出される。
【０１６２】
ステップＳ１３において取得部２０２は、ref_thumbnail_indexの値を取得する。つまり、ステップＳ１１で図１８のxxxxx.RPLまたはyyyyy.VPLの一部として記録媒体１００に記録された図２２のPlayListMark()から、ref_thumbnail_indexの値が取得され、ref_to_menu_thumbnail_indexに設定される。
【０１６３】
ステップＳ１４において記録部２０１は、UIAppInfoPlayList()とref_to_menu_thumbnail_indexを記録する。すなわち、ステップＳ１２で取得されたUIAppInfoPlayList()（図２１）の情報と、ステップＳ１３で設定されたref_to_menu_thumbnail_indexの情報が、記録媒体１００のINDEX.BAVファイル（図１７）に記録される。
【０１６４】
図２１に示したように、UIAppInfoPlayList()は次のような情報を含んでいる。
PlayList_character_set, playback_protect_flag, write__protect_flag,
is_played_flag, is_edited_flag, time_zone, record_time_and_date,
PlayList_duration, maker_ID, maker_model_code, channel_number,
channel_name_length, channel_name, PlayList_name_length, PlayList_name,
PlayList_detail_length, PlayList_detail
【０１６５】
ステップＳ１５において記録部２０１は、メーカ独自情報とmaker_IDを記録する。記録再生装置１のメーカのメーカ独自情報とmaker_IDは、制御部２３の記憶部２３Ａに予め記憶されている。これが読み出され、記録媒体１００のINDEX.BAVファイルに記録される。
【０１６６】
すなわち、次の情報が記録される。
maker_ID
maker_mode_code
maker_praivate_data
【０１６７】
［再生処理］
【０１６８】
次に図２７を参照して、コンテンツ一覧の表示処理を説明する。図２７は、表示処理を説明するフローチャートである。
【０１６９】
ステップＳ５１において取得部２０２は、INDEX.BAVファイルを取得する。つまり、図２６を参照して説明したように、記録媒体１００に記録されたINDEX.BAVファイルが読み出される。
【０１７０】
ステップＳ５２において取得部２０２は、１つのPlayList（コンテンツ)のref_to_menu_thumbnail_indexの値を取得する。つまり、ステップＳ５１で読み出されたINDEX.BAVファイル（図１７）から、ref_to_menu_thumbnail_indexの値が取得される。このref_to_menu_thumbnail_indexは、MENU.THM（図２４）に保持されているサムネイルの位置情報を表している。ステップＳ５３において取得部２０２は、サムネイル画像を取得する。つまり、ステップＳ５２で取得されたref_to_menu_thumbnail_indexの値が示す位置（MENU.THMの位置）からサムネイルの画像（Thumbnail()）が読み出される。サムネイルの画像そのものをINDEX.BAVに記憶すると、その容量が大きくなるので、サムネイルの画像は別のファイルMENU.THMに記憶されている。
【０１７１】
ステップＳ５４において取得部２０２は、PlayList_character_set[k]からPlayList_name[k]までの情報を取得する。つまり、図１７に示されるようにINDEX.BAVに記憶されているPlayList_character_set[k]からPlayList_name[k]までの情報が読み出される。
【０１７２】
具体的には次の情報が読み出される。
PlayList_character_set[k],is_played_flag,time_zone,record_time_and_date[k],
PlayList_duration[k],channel_number[k],channel_name_length[k],
channel_name[k], PlayList_name_length[k],PlayList_name[k]
【０１７３】
ステップＳ５５において判定部２０３は、maker_IDが一致するかを判定する。つまり、ステップＳ５１で読み出されたINDEX.BAV（図１７）に保持されているmaker_IDと、記憶部２３Ａに記憶されているmaker_IDが一致するかが判定される。両者が一致する場合、ステップＳ５６において取得部２０１は、メーカ独自情報を取得する。つまり、ステップＳ５１で読み出されたINDEX.BAVに保持されているmaker_model_code,maker_pravate_dataが読み出される。
【０１７４】
maker_IDが一致しない場合、maker_pravate_dataの情報を一覧として表示することが困難であるので、ステップＳ５６の処理はスキップされる。
【０１７５】
以上の処理は、各コンテンツ（PlayList）について実行される。
【０１７６】
各コンテンツ（PlayList）についてステップＳ５２乃至ステップＳ５６の処理が実行された後、ステップＳ５７において表示部２０４は、PlayList一覧を表示する。つまり、ステップＳ５４で取得された情報と、ステップＳ５６で取得された情報に基づいて、図１６に示されるようなコンテンツの一覧が表示される。
【０１７７】
一覧の表示に必要な表示情報は、１つのファイルINDEX.BAVにまとめて保持されている。従ってコンテンツの数が多くても、迅速にコンテンツの一覧を表示させることができる。
【０１７８】
[本技術のプログラムへの適用]
【０１７９】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることができる。
【０１８０】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１８１】
このようなプログラムを含む記録媒体は、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVDを含む）、光磁気ディスク（MD（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているフラッシュROMやハードディスクなどで構成される。
【０１８２】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８３】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１８４】
［その他］
【０１８５】
本技術は、以下のような構成もとることができる。
（１）
記録媒体に記録するコンテンツの一覧を表示するのに必要な表示情報を取得する取得部と、
前記表示情報をまとめて１つのファイルに記録する記録部と
を備える情報処理装置。
（２）
前記表示情報は、前記コンテンツのタイトル、時間長、および記録日時を少なくとも含む
前記（１）に記載の情報処理装置。
（３）
前記ファイルは、前記コンテンツを記録するディレクトリと同じ並びに位置する
前記（１）または（２）に記載の情報処理装置。
（４）
前記表示情報は、さらに前記コンテンツのサムネイルの位置を表す位置情報を含み、
前記取得部は、前記コンテンツのタイトル、時間長、および記録日時を第１の情報ファイルから取得し、前記位置情報を、前記第１の情報ファイルとは異なる第２の情報ファイルから取得する
前記（１）、（２）または（３）に記載の情報処理装置。
（５）
前記ファイルには、前記情報処理装置のメーカの情報もさらに記録される
前記（１）乃至（４）のいずれかに記載の情報処理装置。
（６）
前記ファイルから読み出された前記表示情報から前記コンテンツの一覧を表示する表示部をさらに備える
前記（１）乃至（５）のいずれかに記載の情報処理装置。
（７）
前記表示情報はさらに前記情報処理装置のメーカのＩＤとメーカ独自の情報を含み、
前記表示部は、前記表示情報に含まれる前記メーカのＩＤが、前記情報処理装置に記憶されている前記メーカのＩＤと一致する場合、さらに前記メーカ独自の情報も表示する
前記（６）に記載の情報処理装置。
（８）
記録媒体に記録するコンテンツの一覧を表示するのに必要な表示情報を取得する取得ステップと、
前記表示情報をまとめて１つのファイルに記録する記録ステップと
を含む情報処理方法。
（９）
記録媒体に記録するコンテンツの一覧を表示するのに必要な表示情報を取得する取得ステップと、
前記表示情報をまとめて１つのファイルに記録する記録ステップと
を含む処理をコンピュータに実行させるプログラム。
【符号の説明】
【０１８６】
１  記録再生装置，  １１乃至１３  端子，  １４  解析部，  １５  AVエンコーダ，  １６  マルチプレクサ，  １７  スイッチ，  １８  多重化ストリーム解析部，  １９  ソースパケッタイザ，  ２０  ECC符号化部，  ２１  変調部，  ２２  書き込み部，  ２３  制御部，  ２４  ユーザインタフェイス，  ２６  デマルチプレクサ，  ２７  AVデコーダ，  ２８  読み出し部，  ２９  復調部，  ３０  ECC復号部，  ３１  ソースパケッタイザ，  ３２，３３  端子，２０１  記録部，  ２０２  取得部，  ２０３  判定部，  ２０４  表示部
【図１】
0005999405.tif 000002
【図２】
0005999405.tif 000003
【図３】
0005999405.tif 000004
【図４】
0005999405.tif 000005
【図５】
0005999405.tif 000006
【図６】
0005999405.tif 000007
【図７】
0005999405.tif 000008
【図８】
0005999405.tif 000009
【図９】
0005999405.tif 000010
【図１０】
0005999405.tif 000011
【図１１】
0005999405.tif 000012
【図１２】
0005999405.tif 000013
【図１３】
0005999405.tif 000014
【図１４】
0005999405.tif 000015
【図１５】
0005999405.tif 000016
【図１６】
0005999405.tif 000017
【図１７】
0005999405.tif 000018
【図１８】
0005999405.tif 000019
【図１９】
0005999405.tif 000020
【図２０】
0005999405.tif 000021
【図２１】
0005999405.tif 000022
【図２２】
0005999405.tif 000023
【図２３】
0005999405.tif 000024
【図２４】
0005999405.tif 000025
【図２５】
0005999405.tif 000026
【図２６】
0005999405.tif 000027
【図２７】
0005999405.tif 000028