(57)【特許請求の範囲】
【請求項１】
少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録装置において、
コンテンツデータを記録媒体に記録する記録部と、
上記記録媒体に記録される上記コンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出す上記コンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御する制御部と
を有し、
上記制御部は、
上記コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストであることを該プレイリストの属性情報として該プレイリストに対して付加するように制御する
ことを特徴とする記録装置。
【請求項２】
請求項１に記載の記録装置において、
上記制御部は、
上記メニューを構成するためのプレイリストと、該メニューから呼び出される上記タイトルを構成するプレイリストとを、互いに独立的とするように制御する
ことを特徴とする記録装置。
【請求項３】
請求項２に記載の記録装置において、
上記制御部は、
上記メニューを構成するためのプレイリストが呼び出す上記クリップ情報と、上記タイトルを構成するプレイリストが呼び出す上記クリップ情報とを、互いに独立的とするように制御する
ことを特徴とする記録装置。
【請求項４】
請求項１に記載の記録装置において、
上記制御部は、
上記メニューから呼び出される上記タイトルが唯一つの上記プレイリストを呼び出すように制御する
ことを特徴とする記録装置。
【請求項５】
請求項４に記載の記録装置において、
上記制御部は、
上記タイトルが唯一つの上記オブジェクトを介して上記唯一つのプレイリストを呼び出すように制御する
ことを特徴とする記録装置。
【請求項６】
請求項１に記載の記録装置において、
上記制御部は、
上記タイトルの追加または削除が行われる際に、上記メニューを再生するための上記プレイリストおよび上記オブジェクトを削除し、該タイトルの追加または削除が行われた結果に基づき上記メニューを再生するための上記プレイリストおよび上記オブジェクトを新たに作成するように制御する
ことを特徴とする記録装置。
【請求項７】
少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録方法において、
記録媒体に記録されるコンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出す上記コンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御され、上記コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストであることを該プレイリストの属性情報として該プレイリストに対して付加するように制御する
ことを特徴とする記録方法。
【請求項８】
少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録方法をコンピュータ装置に実行させる記録プログラムにおいて、
上記記録方法は、
記録媒体に記録されるコンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出す上記コンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御され、上記コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストであることを該プレイリストの属性情報として該プレイリストに対して付加するように制御する
ことを特徴とする記録プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＡＶ(Audio/Video)ストリームと、その再生区間や再生順序を示す再生制御情報と、その再生制御情報を指定するオブジェクトと、ソノオブジェクトを呼び出すタイトルが記述されるテーブルとを有するフォーマットを用いて記録される記録媒体と互換性を持たせるようにデータを記録するようにした記録装置、記録方法および記録プログラムに関する。
【０００２】
例えばブルーレイディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ：登録商標）の再生専用フォーマットである「Blu-ray Disc Read-Only Format」と互換性を持たせるようにデータを記録するようにした記録装置、記録方法および記録プログラムに適用することができる。
【背景技術】
【０００３】
近年、記録可能で記録再生装置から取り外し可能なディスク型記録媒体の規格として、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格が提案されている。Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格では、記録媒体として直径１２ｃｍ、カバー層０．１ｍｍのディスクを用い、光学系として波長４０５ｎｍの青紫色レーザ、開口数０．８５の対物レンズを用いて、最大で２７ＧＢ（ギガバイト）の記録容量を実現している。これにより、日本のＢＳディジタルハイビジョン放送を、画質を劣化させることなく２時間以上記録することが可能である。
【０００４】
この記録可能光ディスクに記録するＡＶ(Audio/Video)信号のソース（供給源）としては、従来からの、例えばアナログテレビジョン放送によるアナログ信号によるものと、例えばＢＳディジタル放送をはじめとするディジタルテレビジョン放送によるディジタル信号によるものとが想定されている。Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格では、これらの放送によるＡＶ信号を記録する方法を定めた規格は、既に作られている。
【０００５】
一方で、現状のＢｌｕ−ｒａｙ  Ｄｉｓｃの派生規格として、映画や音楽などが予め記録された、再生専用の記録媒体を開発する動きが進んでいる。映画や音楽を記録するためのディスク状記録媒体としては、既にＤＶＤ(Digital Versatile Disc)が広く普及しているが、このＢｌｕ−ｒａｙ  Ｄｉｓｃの規格に基づいた再生専用光ディスクは、Ｂｌｕ−ｒａｙ  Ｄｉｓｃの大容量および高速な転送速度などを活かし、ハイビジョン映像を高画質なままで２時間以上収録できる点が、既存のＤＶＤとは大きく異なり、優位である。
【０００６】
このＢｌｕ−ｒａｙ  Ｄｉｓｃにおける再生専用の記録媒体の規格を、以下では、ＢＤ−ＲＯＭ(Blu-ray Disc-Read Only Memory)規格と呼ぶ。また、Ｂｌｕ−ｒａｙ  Ｄｉｓｃにおける記録可能な記録媒体の規格を、ＢＤ−ＲＥと呼ぶ。特許文献１には、再生専用タイプのＢｌｕ−ｒａｙ  ＤｉｓｃであるＢＤ−ＲＯＭの規格に関して記載されている。
【特許文献１】特願２００４−２１８８６号
【０００７】
ＢＤ−ＲＯＭ規格においては、ビデオデータはクリップ(Clip)を単位として記録され、クリップに対してムービープレイリスト(MoviePlayList)を用いて再生区間を指定することができる。ここで、連続同期再生、すなわち実時間再生が保障された再生が必要な単位となるデータのまとまりを、クリップと呼ぶ。例えば、記録媒体上に１つのファイルとして存在するビデオデータがクリップとされる。ムービープレイリストは、複数のクリップに対してそれぞれ再生開始点（ＩＮ点）および再生終了点（ＯＵＴ点）を指定し、当該複数のクリップそれぞれの再生区間および再生順序を指定することができる。
【０００８】
ムービープレイリスト（以下、プレイリストと略称する）は、ムービーオブジェクト(MovieObject)内のナビゲーションコマンドにより指定され、再生が行われる。ムービーオブジェクトへの参照がタイトルの入口としてインデックステーブルに列挙される。インデックステーブルは、ディスクをプレーヤに装填した際に最初に読み込まれるデータであって、ユーザは、ディスク装填時には、インデックステーブルに記述されたタイトルが見えることになる。
【０００９】
また、ＢＤ−ＲＯＭ規格においては、クリップおよびプレイリスト間での参照関係を自由に設定できるようにされている。例えば、あるクリップにする参照を、それぞれＩＮ点およびＯＵＴ点の異なる２つのプレイリストから行うことができる。さらに、タイトルおよびムービーオブジェクト間での参照関係も、自由に設定することができる。
【００１０】
図２８は、ＢＤ−ＲＯＭ規格によるタイトル、ムービーオブジェクトおよびプレイリストの一例の関係を概略的に示す。ディスクがプレーヤに装填されると、最初にインデックステーブル上のファーストプレイバック(FirstPlayBack)およびトップメニュー(TopMenu)が読み込まれ、これらに記述されるムービーオブジェクトに基づきトレーラやトップメニューが再生されることになる。ユーザは、トップメニューから、ディスクに記録されている各タイトルの再生を指示することができる。
【００１１】
この図２８の例では、ファーストプレイバックおよびトップメニューによりムービーオブジェクト＃４が指定され、ムービーオブジェクト＃４からプレイリスト＃１００およびプレイリスト＃１０１が参照され、ファーストプレイバックおよびトップメニューのメニュー画面が表示される。
【００１２】
すなわち、この図２８の例は、最初にムービーオブジェクト＃４によるメニュー画面が表示され、メニュー画面の表示が終了すると、ムービーオブジェクト＃０の再生が開始され、メニュー画面の表示中に例えばタイトルジャンプを選択すると、タイトル＃１にジャンプしてそこからムービーオブジェクト＃０の再生が開始されるようなシナリオ構成となっている。
【００１３】
トップメニューは、６個のタイトル＃１〜タイトル＃６の再生をナビゲーションする。タイトル＃１およびタイトル＃３は、それぞれムービーオブジェクト＃０の再生を指示し、タイトル＃４およびタイトル＃６は、それぞれムービーオブジェクト＃２の再生を指示する。また、トップメニューを再生するためのムービーオブジェクト＃４は、タイトル＃１にジャンプすると共に、タイトル＃１に参照されるムービーオブジェクト＃０にジャンプされる。さらに、ムービーオブジェクト＃０は、プレイリスト＃１００およびプレイリスト＃１０１の２つのプレイリストを再生するコマンドが記述され、ムービーオブジェクト＃３は、プレイリスト＃４、プレイリスト＃５およびプレイリスト＃６の３つのプレイリストを再生するコマンドが記述される。
【００１４】
上述したように、ＢＤ−ＲＯＭ規格においては、１つのムービーオブジェクトに対する複数のタイトルからの再生指示や、１つのムービーオブジェクトからのタイトルおよびムービーオブジェクトに対するジャンプ、１つのムービーオブジェクトから複数のプレイリストに対する再生指示などを行わせることができる。このように、タイトルやムービーオブジェクト、プレイリストなどの間での自由な参照関係を可能とすることで、コンテンツ制作者の意図の実現が容易となる利点がある。また、メニュー画面をムービーオブジェクト内のナビゲーションコマンドを用いて構成しているため、メニュー画面の構成が機器に依らない利点がある。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ところで、従来から存在する、再生専用の記録媒体に対して規定されたＤＶＤ−Ｖｉｄｅｏ(Digital Versatile Disc-Video)規格を用いて、記録可能なＤＶＤに対してＡＶ(Audio/Video)データを記録するようにしたＤＶＤレコーダが普及している。このことから、現状では再生専用の記録媒体に対する規格として開発されているＢＤ−ＲＯＭ規格も、将来的には、民生用レコーダの記録方式の一つとして用いられることが想定される。このため、ＢＤ−ＲＯＭ規格を記録可能な記録媒体に拡張するような規格の開発が進められている。
【００１６】
ＢＤ−ＲＯＭ規格を記録可能な記録媒体に対して拡張する場合でも、ディスクに記録されるクリップは、インデックステーブルの記述に従い再生されるトップメニューからタイトルとして指定されて再生が開始されるようになっている必要がある。また、記録可能な記録媒体では、タイトルの削除や追加といった、タイトルの編集が可能とされていることが要求される。例えば記録媒体に対して新たにクリップが記録されると、当該クリップに基づくタイトルが追加されることになる。タイトルが編集されると、それに伴いトップメニューの構成も更新される必要がある。
【００１７】
しかしながら、ＢＤ−ＲＯＭ規格を記録可能な記録媒体に対して適用した場合、タイトルの編集によってプレイリストやクリップを変更した際に、変更内容をメニュー画面に反映させることが極めて困難になってしまうという問題点があった。
【００１８】
すなわち、ＢＤ−ＲＯＭ規格では、上述したように、ムービーオブジェクト内のナビゲーションコマンドを用いてメニュー画面を構成する。換言すれば、ＢＤ−ＲＯＭ規格は、ディスクに対して、メニュー画面の設計図すなわちプログラムが記録されており、プレーヤは、このプログラムの指示に従いメニュー画面を構成するようになっている。このような仕組みを持つことにより、プレーヤに依らず統一的なメニュー画面を表示させることができる。その一方で、メニュー画面を変更するためには、このプログラムを解析する必要がある。
【００１９】
上述のように、ＢＤ−ＲＯＭ規格では、タイトルやムービーオブジェクト、プレイリスト間の参照関係を高い自由度で設計できるようにされているため、ナビゲーションコマンドも複雑なものとなっている。
【００２０】
常に同じ機種のレコーダや編集機を用いるのであれば、メニュー画面の設計思想が固定的となるので、メニュー画面の変更は、比較的容易であると考えられる。しかしながら、異なる機種で任意に作成されたメニュー画面を変更する場合には、当該メニュー画面を構成するコマンドなどを解析する必要があり、このコマンド解析は、一般的なプログラムコードを解析してソースコードを生成するのと同等の困難を伴うという問題点があった。
【００２１】
他の例として、メニュー画面上に設けられるボタンは、グラフィクスデータによって構成される。ＢＤ−ＲＯＭ規格では、ボタンを表示するためのグラフィクスデータは、ビデオデータなどと多重化されたストリームとして、ディスクに予め記録されて提供される。新規にタイトルを追加する場合、対応するボタンを新規に追加することが考えられる。新規に追加するボタンを、既存のボタンと類似のデザインで作成する場合、一般的には、元になるボタン画像を表示するビットマップデータが必要となる。さらに、メニュー画面における既存のボタンのレイアウトを変更しなければならない場合があり得る。また、メニュー画面のページを追加しなければならない場合もあり得る。
【００２２】
このように、既存のＢＤ−ＲＯＭ規格をそのまま記録可能な記録媒体に拡張した場合、メニュー画面の更新は、現実的ではないという問題点があった。
【００２３】
したがって、この発明の目的は、ＢＤ−ＲＯＭ規格を記録可能な記録媒体に対して拡張した場合に、メニュー画面の編集が容易な記録装置、記録方法および記録プログラムを提供することにある。
【課題を解決するための手段】
【００２４】
この発明は、上述した課題を達成するために、少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録装置において、
コンテンツデータを記録媒体に記録する記録部と、
記録媒体に記録されるコンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御する制御部と
を有し、
制御部は、
コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストであることを該プレイリストの属性情報として該プレイリストに対して付加するように制御する
ことを特徴とする記録装置である。
【００２５】
また、この発明は、少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録方法において、
記録媒体に記録されるコンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御され、コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストであることを該プレイリストの属性情報として該プレイリストに対して付加するように制御する
ことを特徴とする記録方法である。
【００２６】
また、この発明は、少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録方法をコンピュータ装置に実行させる記録プログラムにおいて、
記録方法は、
記録媒体に記録されるコンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御され、コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストであることを該プレイリストの属性情報として該プレイリストに対して付加するように制御する
ことを特徴とする記録プログラムである。
【００２７】
上述したように、この発明は、記録媒体に記録されるコンテンツデータに対し、コンテンツデータの属性情報を示すクリップ情報と、クリップ情報を呼び出すプレイリストと、プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、オブジェクトを呼び出すインデックステーブルとを生成するように制御され、コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストであることを該プレイリストの属性情報として該プレイリストに対して付加するように制御しているため、例えばプレイリストに対して編集を行うような場合において、プレイリスト毎に適切な処理を施すことができる。
【発明の効果】
【００２８】
この発明は、上述したように、記録媒体に記録されるコンテンツデータに対し、コンテンツデータの属性情報を示すクリップ情報と、クリップ情報を呼び出すプレイリストと、プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、オブジェクトを呼び出すインデックステーブルとを生成するように制御され、コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストであることをプレイリストの属性情報としてプレイリストに対して付加するように制御しているため、例えばプレイリストに対して編集を行うような場合において、プレイリスト毎に、プレイリストの種類に応じた適切な処理を施すことができる効果がある。
【発明を実施するための最良の形態】
【００２９】
以下、この発明の実施の一形態を、図面を参照しながら説明する。先ず、理解を容易とするために、Ｂｌｕ−ｒａｙ  Ｄｉｓｃに関し、"Blu-ray Disc Read Only Format Ver1.0 part3 Audio Visual Specifications"で規定されている、読み出し専用タイプのＢｌｕ−ｒａｙ  ＤｉｓｃであるＢＤ−ＲＯＭに記録されたコンテンツすなわちＡＶ(Audio/Video)データの管理構造について、ＢＤ−ＲＯＭ規格を記録可能な記録媒体に拡張した際に適用可能な部分を概略的に説明する。以下では、このＢＤ−ＲＯＭにおける管理構造をＢＤＭＶフォーマットと称する。また、ＢＤＭＶフォーマットを記録可能な記録媒体に対して拡張したフォーマットを、便宜上、拡張ＢＤＭＶフォーマットと呼ぶ。
【００３０】
例えばＭＰＥＧ(Moving Pictures Experts Group)ビデオやＭＰＥＧオーディオなどの符号化方式で符号化され、ＭＰＥＧ２システムに従い多重化されたビットストリームは、クリップＡＶストリーム（またはＡＶストリーム）と称される。クリップＡＶストリームは、Ｂｌｕ−ｒａｙ  Ｄｉｓｃに関する規格の一つである"Blu-ray Disc Read Only Format part2"で定義されたファイルシステムにより、ファイルとしてディスクに記録される。このファイルを、クリップＡＶストリームファイル（またはＡＶストリームファイル）と称する。
【００３１】
クリップＡＶストリームファイルは、ファイルシステム上での管理単位であり、ユーザにとって必ずしも分かりやすい管理単位であるとは限らない。ユーザの利便性を考えた場合、複数のクリップＡＶストリームファイルに分割された映像コンテンツを一つにまとめて再生する仕組みや、クリップＡＶストリームファイルの一部だけを再生する仕組み、さらには、特殊再生や頭出し再生を滑らかに行うための情報などをデータベースとしてディスクに記録しておく必要がある。Ｂｌｕ−ｒａｙ  Ｄｉｓｃに関する規格の一つである"Blu-ray Disc Read Only Format part3"で、このデータベースが規定される。
【００３２】
図１は、ＢＤ−ＲＯＭのデータモデルを概略的に示す。ＢＤ−ＲＯＭのデータ構造は、図１に示されるように４層のレイヤよりなる。最も最下層のレイヤは、クリップＡＶストリームが配置されるレイヤである（便宜上、クリップレイヤと呼ぶ）。その上のレイヤは、クリップＡＶストリームに対する再生箇所を指定するための、ムービープレイリスト(Movie PlayList)と、プレイアイテム(PlayItem)とが配置されるレイヤである（便宜上、プレイリストレイヤと呼ぶ）。さらにその上のレイヤは、ムービープレイリストに対して再生順などを指定するコマンドからなるムービーオブジェクト(Movie Object)などが配置されるレイヤである（便宜上、オブジェクトレイヤと呼ぶ）。最上層のレイヤは、このＢＤ−ＲＯＭに格納されるタイトルなどを管理するインデックステーブルが配置される（便宜上、インデックスレイヤと呼ぶ）。
【００３３】
クリップレイヤについて説明する。クリップＡＶストリームは、ビデオデータやオーディオデータがＭＰＥＧ２  ＴＳ（トランスポートストリーム）の形式などに多重化されたビットストリームである。このクリップＡＶストリームに関する情報がクリップ情報(Clip Information)としてファイルに記録される。
【００３４】
また、クリップＡＶストリームには、字幕を表示するグラフィクスストリームであるプレゼンテーショングラフィクス（ＰＧ）ストリームや、メニュー表示などに用いられるデータ（ボタン画像データなど）をストリームにしたインタラクティブグラフィクス（ＩＧ）ストリームも多重化される。
【００３５】
クリップＡＶストリームファイルと、対応するクリップ情報が記録されたクリップ情報ファイルとをひとまとまりのオブジェクトと見なし、クリップ(Clip)と称する。すなわち、クリップは、クリップＡＶストリームとクリップ情報とから構成される、一つのオブジェクトである。
【００３６】
ファイルは、一般的に、バイト列として扱われる。クリップＡＶストリームファイルのコンテンツは、時間軸上に展開され、クリップ中のエントリーポイントは、主に時間ベースで指定される。所定のクリップへのアクセスポイントのタイムスタンプが与えられた場合、クリップＡＶストリームファイルの中でデータの読み出しを開始すべきアドレス情報を見つけるために、クリップ情報ファイルを用いることができる。
【００３７】
プレイリストレイヤについて説明する。ムービープレイリストは、再生するＡＶストリームファイルの指定と、指定されたＡＶストリームファイルの再生箇所を指定する再生開始点（ＩＮ点）と再生終了点（ＯＵＴ点）の集まりとから構成される。この再生開始点と再生終了点の情報を一組としたものは、プレイアイテム(PlayItem)と称される。ムービープレイリストは、プレイアイテムの集合で構成される。プレイアイテムを再生するということは、そのプレイアイテムに参照されるＡＶストリームファイルの一部分を再生するということになる。すなわち、プレイアイテム中のＩＮ点およびＯＵＴ点情報に基づき、クリップ中の対応する区間が再生される。
【００３８】
オブジェクトレイヤについて説明する。ムービーオブジェクトは、ＨＤＭＶナビゲーションコマンドプログラムと、ムービーオブジェクトとを連携するターミナルインフォメーションを含む。ＨＤＭＶナビゲーションプログラムは、プレイリストの再生を制御するためのコマンドである。以下、ＨＤＭＶナビゲーションコマンドを、適宜、ナビゲーションコマンド(navigation command)と略称する。ターミナルインフォメーションは、ユーザのＢＤ−ＲＯＭプレーヤに対するインタラクティブな操作を許可するための情報を含んでいる。このターミナルインフォメーションに基づき、メニュー画面の呼び出しや、タイトルサーチといったユーザオペレーションが制御される。
【００３９】
ＢＤ−Ｊオブジェクトは、Ｊａｖａプログラム（Ｊａｖａは登録商標）によるオブジェクトからなる。ＢＤ−Ｊオブジェクトは、この発明と関わりが薄いので、詳細な説明を省略する。
【００４０】
インデックスレイヤについて説明する。インデックスレイヤは、インデックステーブルからなる。インデックステーブルは、ＢＤ−ＲＯＭディスクのタイトルを定義する、トップレベルのテーブルである。インデックステーブルに格納されているタイトル情報に基づき、ＢＤ−ＲＯＭ常駐システムソフトウェア中のモジュールマネージャによりＢＤ−ＲＯＭディスクの再生が制御される。
【００４１】
すなわち、図２に概略的に示されるように、インデックステーブル中の任意のエントリは、タイトルと称され、インデックステーブルにエントリされるファーストプレイバック(First Playback)、トップメニュー(Top Menu)およびタイトル(Title)＃１、＃２、・・・は、全てタイトルである。各タイトルは、ムービーオブジェクトあるいはＢＤ−Ｊオブジェクトに対するリンクを示し、各タイトルは、ＨＤＭＶタイトルあるいはＢＤ−Ｊタイトルの何れかを示す。
【００４２】
例えば、ファーストプレイバックは、当該ＢＤ−ＲＯＭに格納されるコンテンツが映画であれば、映画本編に先立って映出される映画会社の宣伝用映像（トレーラ）である。トップメニューは、例えばコンテンツが映画である場合、本編再生、チャプタサーチ、字幕や言語設定、特典映像再生などを選択するためのメニュー画面である。また、タイトルは、トップメニューから選択される各映像である。タイトルがさらにメニュー画面であるような構成も可能である。
【００４３】
図３は、上述のようなクリップＡＶストリーム、クリップ情報(Stream Attributes)、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ(Unified Modeling Language)図である。プレイリストは、１または複数のプレイアイテムに対応付けられ、プレイアイテムは、１のクリップに対応付けられる。１のクリップに対して、それぞれ開始点および／または終了点が異なる複数のプレイアイテムを対応付けることができる。１のクリップから１のクリップＡＶストリームファイルが参照される。同様に、１のクリップから１のクリップ情報ファイルが参照される。また、クリップＡＶストリームファイルとクリップ情報ファイルとは、１対１の対応関係を有する。このような構造を定義することにより、クリップＡＶストリームファイルを変更することなく、任意の部分だけを再生する、非破壊の再生順序指定を行うことが可能となる。
【００４４】
また、図４のように、複数のプレイリストから同一のクリップを参照することもできる。また、１のプレイリストから複数のクリップを指定することもできる。クリップは、プレイリスト中のプレイアイテムに示されるＩＮ点およびＯＵＴ点により、参照される。図４の例では、クリップ３００は、プレイリスト３１０のプレイアイテム３２０から参照されると共に、プレイリスト３１１を構成するプレイアイテム３２１および３２２のうちプレイアイテム３２１から、ＩＮ点およびＯＵＴ点で示される区間が参照される。また、クリップ３０１は、プレイリスト３１１のプレイアイテム３２２からＩＮ点およびＯＵＴ点で示される区間が参照されると共に、プレイリスト３１２のプレイアイテム３２３および３２４のうち、プレイアイテム３２３のＩＮ点およびＯＵＴ点で示される区間が参照される。
【００４５】
なお、プレイリストは、図５に一例が示されるように、主として再生されるプレイアイテムに対応するメインパスに対して、サブプレイアイテムに対応するサブパスを持つことができる。例えば、このプレイリストに付けられているアフレコオーディオ用のプレイアイテムをサブプレイアイテムとして、プレイリストに持たせることができる。詳細は省略するが、プレイリストは、所定の条件を満たす場合にだけ、サブプレイアイテムを持つことができる。
【００４６】
次に、"Blu-ray Disc Read Only Format part3"で規定された、ＢＤ−ＲＯＭに記録されるファイルの管理構造について、図６を用いて説明する。ファイルは、ディレクトリ構造により階層的に管理される。記録媒体上には、先ず、１つのディレクトリ（図６の例ではルート(root)ディレクトリ）が作成される。このディレクトリの下が、１つの記録再生システムで管理される範囲とする。
【００４７】
ルートディレクトリの下に、ディレクトリ"BDMV"、ディレクトリ"CERTIFICATE"およびディレクトリ"HDAVCTN"が置かれる。ディレクトリ"CERTIFICATE"は、著作権に関する情報が格納される。ディレクトリ"HDAVCTN"には、例えばクリップの代表画像を所定サイズに縮小したサムネイルファイルが置かれる。ディレクトリ"BDMV"に、図１を用いて説明したデータ構造が格納される。
【００４８】
ディレクトリ"BDMV"の直下には、ファイルは、ファイル"index.bdmv"およびファイル"MovieObject.bdmv"の２つのみを置くことができる。また、ディレクトリ"BDMV"の下に、ディレクトリ"PLAYLIST"、ディレクトリ"CLIPINF"、ディレクトリ"STREAM"、ディレクトリ"AUXDATA"、ディレクトリ"META"、ディレクトリ"BDJO"、ディレクトリ"JAR"、およびディレクトリ"BACKUP"が置かれる。
【００４９】
ファイル"index.bdmv"は、ディレクトリBDMVの内容について記述される。すなわち、このファイル"index.bdmv"が上述した最上層のレイヤであるインデックスレイヤにおけるインデックステーブルに対応する。また、ファイルMovieObject.bdmvは、１つ以上のムービーオブジェクトの情報が格納される。すなわち、このファイル"MovieObject.bdmv"が上述したオブジェクトレイヤに対応する。
【００５０】
ディレクトリ"PLAYLIST"は、プレイリストのデータベースが置かれるディレクトリである。すなわち、ディレクトリ"PLAYLIST"は、ムービープレイリストに関するファイルであるファイル"xxxxx.mpls"を含む。ファイル"xxxxx.mpls"は、ムービープレイリストのそれぞれに対して作成されるファイルである。ファイル名において、"."（ピリオド）の前の"xxxxx"は、５桁の数字とされ、ピリオドの後ろの"mpls"は、このタイプのファイルに固定的とされた拡張子である。
【００５１】
ディレクトリ"CLIPINF"は、クリップのデータベースが置かれるディレクトリである。すなわち、ディレクトリCLIPINF"は、クリップＡＶストリームファイルのそれぞれに対するクリップインフォメーションファイルであるファイル"zzzzz.clpi"を含む。ファイル名において、"."（ピリオド）の前の"zzzzz"は、５桁の数字とされ、ピリオドの後ろの"clpi"は、このタイプのファイルに固定的とされた拡張子である。
【００５２】
ディレクトリ"STREAM"は、実体としてのＡＶストリームファイルが置かれるディレクトリである。すなわち、ディレクトリ"STREAM"は、クリップインフォメーションファイルのそれぞれに対応するクリップＡＶストリームファイルを含む。クリップＡＶストリームファイルは、ＭＰＥＧ２(Moving Pictures Experts Group 2)のトランスポートストリーム（以下、ＭＰＥＧ２  ＴＳと略称する）からなり、ファイル名が"zzzzz.m2ts"とされる。ファイル名において、ピリオドの前の"zzzzz"は、対応するクリップインフォメーションファイルと同一することで、クリップインフォメーションファイルとこのクリップＡＶストリームファイルとの対応関係を容易に把握することができる。
【００５３】
ディレクトリ"AUXDATA"は、メニュー表示などに用いられる、サウンドファイル、フォントファイル、フォントインデックスファイルおよびビットマップファイルなどが置かれる。ファイル"sound.bdmv"は、ＨＤＭＶのインタラクティブなグラフィクスストリームのアプリケーションに関連したサウンドデータが格納される。ファイル名は、"sound.bdmv"に固定的とされる。ファイル"aaaaa.otf"は、字幕表示や上述したＢＤ−Ｊアプリケーションなどで用いられるフォントデータが格納される。ファイル名において、ピリオドの前の"aaaaa"は、５桁の数字とされ、ピリオドの後ろの"otf"は、このタイプのファイルに固定的とされた拡張子である。ファイル"bdmv.fontindex"は、フォントのインデックスファイルである。
【００５４】
ディレクトリ"META"は、メタデータファイルが格納される。ディレクトリ"BDJO"およびディレクトリ"JAR"は、上述のＢＤ−Ｊオブジェクトに関連するファイルが格納される。また、ディレクトリ"BACKUP"は、上述までの各ディレクトリおよびファイルのバックアップが格納される。これらディレクトリ"META"、ディレクトリ"BDJO"、ディレクトリ"JAR"およびディレクトリ"BACKUP"は、この発明の主旨と直接的な関わりがないので、詳細な説明を省略する。
【００５５】
なお、ディレクトリ"HDAVCTN"は、２種類のサムネイルファイルthumbnail.tidxおよびthumbnail.tdt2を置くことができる。サムネイルファイルthumbnail.tidxは、サムネイルファイルthumbnail.tdt2に格納されるサムネイル画像を管理する情報が格納される。
【００５６】
図６で示した各ファイルのうち、この発明に関わりの深いものについて、より詳細に説明する。先ず、ディレクトリ"BDMV"の直下に置かれるファイル"index.bdmv"について説明する。図７は、このファイル"index.bdmv"の一例の構造を表すシンタクスを示す。ここでは、シンタクスをコンピュータ装置などのプログラムの記述言語として用いられるＣ言語の記述法に基づき示す。これは、他のシンタクスを表す図において、同様である。
【００５７】
図７において、フィールドtype_indicatorは、３２ビットのデータ長を有し、このファイルがインデックステーブルであることを示す。フィールドversion_numberは、３２ビットのデータ長を有し、このファイル"index.bdmv"のバージョンを示す。フィールドIndexes_start_addressは、３２ビットのデータ長を有し、このシンタクス内にあるブロックIndexes()の開始アドレスを示す。
【００５８】
フィールドExtensionData_start_addressは、３２ビットのデータ長を有し、このシンタクス内にあるブロックExtensionData()の開始アドレスを示す。フィールドExtensionData_start_addressは、このファイル"index.bdmv"の最初のバイトからの相対バイト数で、ブロックExtensionData()の開始アドレスを示す。相対バイト数は、"０"から開始される。若し、このフィールドExtensionData_start_addressの値が"０"であれば、このファイル"index.bdmv"内に、ブロックExtensionData()が存在しないことを示す。
【００５９】
フィールドExtensionData_start_addressに続くデータ長が１９２バイトの領域は、将来の使用のために予約されている領域である。ブロックAppInfoBDMV()は、コンテンツ制作者が任意の情報を記述できるブロックであって、プレーヤの動作などには影響を与えない。
【００６０】
ブロックIndexes()は、このファイル"index.bdmv"の実質的な内容であって、このファイル"index.bdmv"に記述された内容により、ディスクをプレーヤに装填した際に再生されるファーストプレイバックや、トップメニューから呼び出されるタイトル（ムービーオブジェクトやＢＤ−Ｊオブジェクト）が指定される。なお、以下では、ムービーオブジェクトおよびＢＤ−Ｊオブジェクトを纏めて、ムービーオブジェクト等と記述する。インデックステーブルにより呼び出されたムービーオブジェクト等に記述されたコマンドに基づき、後述するムービープレイリストファイルが読み込まれる。
【００６１】
図８は、ブロックIndexes()の一例の構造を表すシンタクスを示す。なお、図８において、この発明と直接的に関わりのない部分は、領域Reservedとして記されている。すなわち、図８の表記は、記録可能な記録媒体のための拡張ＢＤＭＶフォーマットに適用される記述に限定的とされている。フィールドlengthは、３２ビットのデータ長を有し、このフィールドlength直後からこのブロックIndexes()の終わりまでのデータ長を示す。続けて、ブロックFirstPlayback()およびブロックTopMenu()が配される。
【００６２】
ブロックFirstPlayback()は、ファーストプレイバックで用いられるオブジェクトに関する情報が記述される。ブロックFirstPlayback()の最初のフィールドには、固定値"01"が記述され、ファーストプレイバックで用いられるオブジェクトがムービーオブジェクトであることが示される。そして、２ビットのデータ長を有するフィールドHDAVC_Title_playback_typeによりＨＤＡＶＣタイトルの再生タイプが示され、１６ビットのデータ長を有するフィールドFirstPlaybak_mobj_id_refにより、ファーストプレイバックで用いられるムービーオブジェクトのＩＤを示す。
【００６３】
ムービーオブジェクトのＩＤは、例えば、図９および図１０を用いて後述するムービーオブジェクトのシンタクスに基づき、ムービーオブジェクトのforループ文においてループ変数として用いられる値mobj_idで示される。この例では、フィールドFirstPlayback_mobj_id_refは、参照するムービーオブジェクトに対応する値mobj_idが格納される。
【００６４】
なお、ブロックIndexes()におけるブロックFirstPlayback()内のフィールドFirstPlayback_mobj_id_refは、トップメニューのムービーオブジェクトを指していてもよいし、タイトルを指していてもよい。
【００６５】
ブロックTopMenu()は、トップメニューで用いられるオブジェクトに関する情報が記述される。ブロックTopMenu()の最初のフィールドには、固定値"01"が記述され、３０ビットのデータ長を有する領域Reservedを介してさらに固定値"01"が記述される。フィールドTopMenu_mobj_id_refは、１６ビットのデータ長を有し、トップメニューで用いられるムービーオブジェクトのＩＤを示す。
【００６６】
ブロックTopMenu()の次のフィールドnumber_of_Titlesは、１６ビットのデータ長を有し、ユーザが選択、再生可能なタイトルの数を示す。次のforループ文に従い、このフィールドnumber_of_Titlesに示される回数だけ、値title_idを引数として、ブロックTitle[title_id]()が記述される。ブロックTitle[title_id]()は、タイトル毎の情報が記述される。値title_idは、"０"からフィールドnumber_of_Titlesで示される値までの数値であり、タイトルを識別する。
【００６７】
ブロックTitle[title_id]()において、最初のフィールドには固定値"01"が記述され、４６ビットのデータ長を有する領域Reservedを介してフィールドTitle_mobj_id_refが記述される。フィールドTitle_mobj_id_refは、１６ビットのデータ長を有し、このタイトルで用いられるムービーオブジェクトのＩＤを示す。
【００６８】
図９は、ディレクトリ"BDMV"の直下に置かれるファイル"MovieObject.bdmv"の一例の構造を表すシンタクスを示す。フィールドtype_indicatorは、３２ビット（４バイト）のデータ長を有し、このファイルがファイル"MovieObject.bdmv"であることを示す。フィールドtype_indicatorは、ＩＳＯ(International Organization for Standarization)６４６に規定された符号化方式で符号化した４文字からなる文字列が記述される。この図９の例では、フィールドtype_indicatorにＩＳＯ６４６に既定の方式で符号化された４文字の文字列"MOBJ"が記述され、このファイルがファイル"MovieObject.bdmv"であることが示される。
【００６９】
フィールドversion_numberは、３２ビット（４バイト）のデータ長を有し、このファイル"MovieObject.bdmv"のバージョン番号を示す。このファイル"MovieObject.bdmv"では、フィールドversion_numberは、ＩＳＯ６４６に規定された符号化方式で符号化した４文字の文字列"0100"でなければならない。
【００７０】
フィールドExtensionData_start_addressは、３２ビットのデータ長を有し、このシンタクス内にあるブロックExtensionData()の開始アドレスを示す。フィールドExtensionData_start_addressは、このファイル"MovieObject.bdmv"の最初のバイトからの相対バイト数で、ブロックExtensionData()の開始アドレスを示す。相対バイト数は、"０"から開始される。若し、このフィールドExtensionData_start_addressの値が"０"であれば、このファイル"MovieObject.bdmv"内に、ブロックExtensionData()が存在しないことを示す。
【００７１】
なお、この図９に示すシンタクス内のフィールドpadding_wordは、１６ビットのデータ長を有し、このファイル"MovieObject.bdmv"のシンタクスに従いforループ文に値N1または値N2で示される回数だけ挿入される。値N1または値N2は、０または任意の正の整数である。また、フィールドpadding_wordは、任意の値を用いることができる。
【００７２】
フィールドExtensionData_start_addressに続くデータ長が２２４ビットの領域は、将来の使用のために予約されている領域である。この領域の次に、このファイル"MovieObject.bdmv"の本体であるブロックMovieObjects()が格納される。
【００７３】
図１０は、ブロックMovieObjects()の一例の構造を表すシンタクスを示す。フィールドlengthは、３２ビットのデータ長を有し、このフィールドlengthの直後からこのブロックMovieObject()の終わりまでのデータ長を示す。３２ビットのデータ長を有する予約領域を介してフィールドnumber_of_mobjsが配される。フィールドnumber_of_mobjsは、直後のforループ文に従い格納されるムービーオブジェクトの数を示す。forループ文のループ変数として用いられる値mobj_idで、ムービーオブジェクトが一意に特定される。値mobj_idは、０から始まる値で、ムービーオブジェクトは、forループ文中に記述される順序により定義される。
【００７４】
forループ文中のブロックTerminalInfo()は、それぞれ１ビットのデータ長を有するフィールドにより、固定値"1"、固定値"0"および固定値"0"が格納され、データ長が１３ビットの予約領域を介してフィールドnumber_of_navigation_commands[mobj_id]が配される。このフィールドnumber_of_navigation_commands[mobj_id]は、値mobj_idによって指し示されるムービーオブジェクトMovieObject[mobj_id]()に含まれるナビゲーションコマンド(navigation_command)の数を表す。
【００７５】
次の、値command_idをループ変数とするforループ文により、フィールドnumber_of_navigation_commands[mobj_id]に示される数だけ、ナビゲーションコマンドが記述される。すなわち、このforループ文中に配されるフィールドnavigation_command[mobj_id][command_id]は、値mobj_idによって指し示されるブロックMovieObject[mobj_id]()に含まれる、値command_idで示される順番のナビゲーションコマンドnavigation_commandを格納する。値command_idは、０から始まる値で、ナビゲーションコマンドnavigation_commandは、このforループ文中に記述される順序で定義される。
【００７６】
次に、ＢＤ−ＲＯＭ規格を記録可能な記録媒体に適用できるように拡張した際に定義される、ブロックExtensionData()について説明する。このブロックExtensionData()は、インデックステーブルが格納されるファイル"index.bdmv"、プレイリストが格納されるファイル"xxxxx.mpls"およびクリップインフォメーションファイル"zzzzz.clpi"の各ファイルに記述することができる。この発明の実施の一形態では、ファイル"index.bdmv"のブロックExtensionData()が用いられる。
【００７７】
図１１は、ブロックExtensionData()の一例の構造を表すシンタクスを示す。フィールドlengthは、３２ビットのデータ長を有し、このフィールドlengthの直後からブロックExtensionData()の終わりまでのデータ長をバイト数で示す。このフィールドlengthの示すデータ長が"０"でなければ、if文以下の記述がなされる。
【００７８】
フィールドdata_block_start_addressは、３２ビットのデータ長を有し、このシンタクス中の、拡張データext_dataの本体が格納されるブロックdata_block()の開始アドレスを、このブロックExtensionData()の先頭バイトからの相対バイト数で示す。すなわち、相対バイト数は、"０"から開始される。なお、フィールドdata_block_start_addressは、次に示す３２ビットアライメントの条件を満たさなければならない。
data_block_start_address％４＝０
【００７９】
フィールドnumber_of_ext_data_entriesは、８ビットのデータ長を有し、このブロックExtensionData()のブロックdata_block()に格納される拡張データのエントリ数を示す。拡張データのエントリは、拡張データの本体を取得するための情報が格納される。より具体的には、拡張データのエントリは、例えばフィールドID1、フィールドID2、フィールドext_data_start_addressおよびフィールドext_data_lengthからなるブロックext_data_entry()であって、ブロックExtensionData()において、このフィールドnumber_of_ext_data_entriesに示される個数だけ、このブロックext_data_entry()が存在する。
【００８０】
フィールドID1は、１６ビットのデータ長を有し、このブロックExtensionData()に記述される拡張データが記録装置用の拡張データであることを表す。このフィールドID1の値は、拡張データを識別する第１の値であり、このブロックExtensionData()を含む規格書のライセンサ（使用認可者）が割り当てると定義することができる。フィールドID2は、拡張データを識別する第２の値であり、この拡張データのバージョン番号を表すものと定義することができる。なお、このブロックExtensionData()において、フィールドID1およびフィールドID2の値が同一のブロックext_data_entry()が２以上、存在してはならない。
【００８１】
フィールドext_data_start_addressは、３２ビットのデータ長を有し、このフィールドext_data_start_addressが含まれる拡張データのエントリ（ブロックext_data_entry()）に対応する拡張データext_dataの開始アドレスを示す。フィールドext_data_start_addressは、ブロックExtensionData()の先頭バイトからの相対バイト数で、拡張データext_dataの開始アドレスを示す。なお、フィールドext_data_start_addressは、次に示す３２ビットアライメントの条件を満たさなければならない。
ext_data_start_address％４＝０
【００８２】
フィールドext_data_lengthは、３２ビットのデータ長を有し、このフィールドext_data_start_addressが含まれる拡張データのエントリ（ブロックext_data_entries()）に対応する拡張データext_dataのデータ長を示す。データ長は、バイト数で示される。
【００８３】
フィールドnumber_of_ext_data_entriesで示された個数だけ、拡張データのエントリ（ブロックext_data_entry()）が記述されると、それぞれ１６ビットのデータ長を有し任意のデータ列からなるフィールドpadding_wordが、２フィールドを組として任意の回数Ｌ１だけ繰り返される。その後、拡張データの本体が格納されるブロックdata_block()が記述される。ブロックdata_block()は、１以上の拡張データext_dataが格納される。それぞれの拡張データext_dataは、上述したフィールドext_data_start_addressフィールドext_data_lengthに基づき、ブロックdata_block()から取り出される。
【００８４】
図１２は、ブロックExtensionData()における各データの参照関係を模式的に示す。フィールドlengthにより、フィールドlength直後の位置からブロックExtensionData()の最後までのデータ長が示される。フィールドdata_block_start_addressにより、ブロックdata_block()の開始位置が示される。フィールドnumber_of_ext_data_entriesで示される個数だけ、ブロックext_data_entryが記述される。最後のブロックext_data_entryからブロックdata_block()の間には、任意の長さでフィールドpadding_wordが置かれる。
【００８５】
ブロックdata_block()内には、ブロックext_data_entry()で示される拡張データext_dataが置かれる。それぞれの拡張データext_dataの位置およびデータ長は、対応するブロックext_data_entry()内のフィールドext_data_start_addressおよびフィールドext_data_lengthにより示される。したがって、ブロックdata_block()内での拡張データext_dataの並び順は、対応するブロックext_data_entry()の並び順と一致していなくてもよい。
【００８６】
このように、拡張データを、拡張データの本体が格納されるブロックdata_block()と、ブロックdata_block()内の拡張データに対するアクセス情報などが格納されるブロックext_data_entry()とによる２層構造とすることで、複数の拡張データを格納することが可能となる。
【００８７】
次に、この発明の実施の一形態による拡張データの一例の作成方法および読み出し方法について説明する。図１３は、ブロックExtensionData()にデータを書き込む際の一例の処理を示すフローチャートである。この図１３は、ブロックExtensionData()中の（ｎ＋１）番目のエントリとして、拡張データを追加し、ブロックExtensionData()を書き換える場合の例である。
【００８８】
先ず、ステップＳ１０で、書き込もうとしている拡張データのデータ長を取得し、フィールドext_data_length[n+1]の値にセットする。なお、「[n+1]」の記述は、（ｎ＋１）番目のエントリの番号に対応する。次に、ステップＳ１１で、現在のブロックExtensionData()に列挙されているブロックext_data_entry()のフィールドext_data_lengthおよびフィールドext_data_start_addressの値を調べ、ブロックdata_block()の使用状況を取得する。
【００８９】
そして、次のステップＳ１２で、ブロックdata_block()中に、書き込もうとしている拡張データのデータ長であるフィールドext_data_length[n+1]に示されるデータ長以上の、連続した空き領域があるか否かが判断される。若し、あると判断されれば、処理はステップＳ１４に移行される。
【００９０】
一方、フィールドext_data_length[n+1]に示されるデータ長以上の連続した空き領域が無いと判断されれば、処理はステップＳ１３に移行され、ブロックExtensionData()におけるフィールドlengthの値を大きくし、フィールドext_data_length[n+1]に示されるデータ長以上の連続した空き領域をブロックdata_block()内に作る。空き領域ができたら、処理がステップＳ１４に移行される。
【００９１】
ステップＳ１４では、拡張データを書き込む領域の先頭アドレスを決め、その先頭アドレスの値をフィールドext_data_start_address[n+1]とする。次のステップＳ１５で、フィールドext_data_start_address[n+1]から、上述のステップＳ１０でセットされたフィールドext_data_length[n+1]の長さの拡張データext_data[n+1]を書き込む。
【００９２】
データの書き込みが終了したら、ステップＳ１６で、ブロックext_data_entry()に対して、フィールドext_data_length[n+1]と、フィールドext_data_start_address[n+1]とを追加する。
【００９３】
なお、上述において、書き換えを行うブロックExtensionData()は、すでにディスクなどの記録媒体から読み出されて記録装置のメモリに記憶されているものとする。そのため、ステップＳ１３における、フィールドlengthの値の変更によるブロックExtensionData()の拡大は、システムに任され、システムがメモリアロケーションを適切に行うことでなされる。
【００９４】
図１４は、ブロックExtensionData()から拡張データを読み出す際の一例の処理を示すフローチャートである。なお、この図１４のフローチャートによる処理は、再生専用の記録媒体（例えばＢＤ−ＲＯＭ）と、記録可能な記録媒体（例えばＢＤ−ＲＥ）との両方に適用可能なものである。
【００９５】
先ず、最初のステップＳ２０で、読み込もうとする拡張データが準拠する規格から、フィールドID1の値を取得し、ステップＳ２１で、読み込もうとする拡張データの種別から、フィールドID2の値を取得する。
【００９６】
次のステップＳ２２で、ブロックExtensionData()に列挙されているブロックext_data_entry()を１つずつ順次、読み込む。そして、ステップＳ２３で、読み込んだブロックext_data_entry()に含まれるフィールドID1およびフィールドID2の値が、上述のステップＳ２０およびステップＳ２１で取得したフィールドID1およびフィールドID2の値と一致するか否かが判断される。
【００９７】
一致していないと判断されれば、処理はステップＳ２６に移行され、ブロックExtensionData()内に列挙されるブロックext_data_entry()を全て読み終えたか否かが判断される。全て読み終えたと判断されれば、処理はステップＳ２７に移行され、このブロックExtensionData()には、読み込もうとした拡張データが存在しないとして、一連の処理が終了される。全て読み終えていないと判断されれば、処理はステップＳ２２に戻され、次のブロックext_data_entry()が読み込まれる。
【００９８】
上述のステップＳ２３において、ブロックext_data_entry()に含まれるフィールドID1およびフィールドID2の値が、取得したフィールドID1およびフィールドID2の値と一致していると判断されれば、処理はステップＳ２４に移行される。ここでは、ブロックExtensionData()中の[i]番目のエントリで一致したものとする。
【００９９】
ステップＳ２４では、[i]番目のエントリのブロックext_data_entry()からフィールドext_data_length[i]の値と、フィールドext_data_start_address[i]の値とを読み込む。そして、ステップＳ２５で、ステップＳ２４で読み込んだフィールドext_data_start_address[i]で示されるアドレスから、フィールドext_data_length[i]で示されるデータ長だけ、データを読み出す。
【０１００】
次に、この発明の実施の一形態について説明する。この発明の実施の一形態では、プレイリストに対して、当該プレイリストの種類を示す属性を付与する。それと共に、この実施の一形態では、タイトルの追加や削除などの編集を行った場合には、メニュー画面を表示するためのデータを全て削除し、プレイリストの情報に基づき新規にメニュー画面を構成するようにしている。さらに、メニューの構成において、タイトルとプレイリストとの対応関係に制限を設ける。こうすることで、タイトルの追加や削除を行った場合にも、矛盾のないメニュー画面を構成することができる。
【０１０１】
先ず、プレイリストの属性について説明する。この実施の一形態では、プレイリストを、その生成される目的に基づき以下に説明する第１、第２および第３の種類の３種類のプレイリストに大別する。
【０１０２】
第１の種類のプレイリストは、例えばクリップの生成と共に生成され、ディスクに記録される。この第１の種類のプレイリストに対して、属性「Real」を付与する。この属性「Real」を付与されたプレイリストを、以下適宜、リアルプレイリストと呼ぶ。素材を指す最初のプレイリストとなることから、オリジナルのプレイリストとも呼ばれる。一例として、リアルプレイリストは、生成されたクリップの先頭をＩＮ点、最後尾をＯＵＴ点としてそれぞれ指定する。
【０１０３】
リアルプレイリストは、ストリーム実体であるクリップを参照したプレイリストであって、新規にクリップが作成されると、作成されたクリップを参照するリアルプレイリストが必ず作成される。換言すれば、ディスク上において、どのリアルプレイリストからも参照されていないクリップは存在しない。したがって、ディスク上におけるリアルプレイリストの総再生時間は、当該ディスク上に記録されたクリップの総再生時間に一致することになる。すなわち、ディスク上における記録可能な残り時間は、ユーザから見ると、リアルプレイリストまたはリアルプレイリストのみから構成されるタイトルの記録可能時間に一致する。
【０１０４】
リアルプレイリストは、素材であるクリップと常に１対１の対応関係を有し、リアルプレイリストを編集などにより削除すると、対応するクリップも、ディスク上から削除される。また、リアルプレイリストにおいて、クリップの参照区間の一部を削除すると、削除された部分に応じて、当該リアルプレイリストに対応するクリップの一部も削除される。このように、リアルプレイリストに対する編集は、ディスク上に記録されるクリップの実体の改変を伴う編集であるため、実体編集あるいはリアル編集などと呼ばれる。
【０１０５】
第２の種類のプレイリストは、既存のタイトルあるいはプレイリストの一部または全部を用いて作成されるプレイリストである。この第２の種類のプレイリストに対して、属性「Virtual」を付与する。この属性「Virtual」が付与されたプレイリストを、以下適宜、バーチャルプレイリストと呼ぶ。バーチャルプレイリストは、既存のクリップに対してＩＮ点およびＯＵＴ点を設定し、ＩＮ点およびＯＵＴ点で定義される区間を参照して作成したプレイリストである。
【０１０６】
一例として、バーチャルプレイリストは、上述したリアルプレイリストに対してＩＮ点およびＯＵＴ点を指定する。例えば、複数のリアルプレイリストに対し、それぞれＩＮ点およびＯＵＴ点を指定すると共に、それぞれＩＮ点およびＯＵＴ点で指定される複数の区間の再生順を指定する。バーチャルプレイリストを元にして、さらにバーチャルプレイリストを作成することもできる。すなわち、１または複数のバーチャルプレイリストに対して、ＩＮ点およびＯＵＴ点を指定するバーチャルプレイリストを作成することができる。
【０１０７】
バーチャルプレイリストは、編集において、例えばサイズの大きなクリップ（ストリーム実体）を変更すること無しに、高速に作成可能である。また、バーチャルプレイリストは、削除する際も、クリップに対する参照関係のみを削除すればよく、クリップ実体に対して変更を加える必要が無い。このように、バーチャルプレイリストの編集は、クリップの実体の改変を伴わない編集であるため、仮想編集あるいはバーチャル編集などと呼ばれる。
【０１０８】
第３の種類のプレイリストは、メニューを再生するために用いるプレイリストであり、メニューの作成および更新時に生成される。この第３の種類のプレイリストに対して属性「Menu」を付与する。この属性「Menu」を付与したプレイリストを、以下適宜、メニュープレイリストと呼ぶ。メニュープレイリストは、すなわち、トップメニューを再生するためのムービーオブジェクトから呼び出されるプレイリストである。
【０１０９】
このように、この発明の実施の一形態では、プレイリストの種類がその生成される目的に応じて３種類に分類される。また、別の観点から見れば、プレイリストの生成された原因あるいはプレイリストの成因に基づき、プレイリストの種類を分類したとも考えることができる。
【０１１０】
この発明の実施の一形態では、メニューの再生に用いるプレイリストに属性「Menu」を付与することで、メニューの再生に用いるプレイリストを容易に識別することができ、メニューの編集を簡単に行えるようになる。また、プレイリストにこれらの属性「Real」および属性「Virtual」を付与することで、例えばあるプレイリストの削除に伴い当該プレイリストから参照されているクリップを削除するか否かを容易に判断することができる。
【０１１１】
これらプレイリストの種類は、ファイル"index.bdmv"に埋め込まれる拡張データにおいて、プレイリストの属性情報として定義され、ファイル"index.bdmv"のフィールドExtensionData()内のブロックTableOfPlayLists()に記述される。図１５は、このプレイリスト属性を記述するための、ファイル"index.bdmv"内のフィールドExtensionData()におけるブロックdata_block()（図１１参照）の一例の構造を表すシンタクスを示す。この図１５の例では、ブロックdata_block()がブロックIndexExtensionData()として記述されている。
【０１１２】
先ず、上述の図１１を参照して、ブロックExtensionData()においてフィールドID1を値"0x1000"、フィールドID2を値"0x0100"とする。これらフィールドID1およびフィールドID2に記述された値は、例えば再生装置側において、予めＲＯＭ(Read Only Memory)などに記憶されたテーブルが参照されて識別される。ブロックdata_block()内のフィールドext_data_start_addressおよびフィールドext_data_lengthで示される領域に、ブロックIndexExtensionData()が格納される。なお、数値の記述において"0x"は、その数値が１６進表記されていることを示す。
【０１１３】
ブロックIndexExtensionData()において、フィールドtype_indicatorは、次に続くデータの種類を示す、ＩＳＯ６４６に規定された符号化方式で符号化した４文字からなる文字列が記述される。この図１５の例では、フィールドtype_indicatorにＩＳＯ６４６に既定の方式で符号化された４文字の文字列"IDEX"が記述され、次に続くデータ種類が「IndexExtensionData」であることが示される。
【０１１４】
フィールドtype_indicatorに続けて３２ビットのデータ長を有する予約領域が配され、その次に、３２ビットのデータ長を有するフィールドTableOfPlayLists_start_addressが配される。フィールドTableOfPlayLists_start_addressは、ブロックTableOfPlayLists()の、このブロックIndexExtensionData()先頭を基準とした開始アドレスが示される。
【０１１５】
フィールドTableOfPlayLists_start_addressの次に、３２ビットのデータ長を有するフィールドMakersPrivateData_start_addressが配されブロックMakersPrivateData()のこのブロックIndexExtensionData()先頭を基準とした開始アドレスが示され、１９２ビットのデータ長を有する予約領域を介してブロックUIAppInfoHDAVC()が配される。１６ビットのデータ長を有するパディングワードpadding_wordを介して、次に、上述したブロックTableOfPlayLists()が配される。さらに続けて、１６ビットのデータ長を有するパディングワードpadding_wordを介してブロックMakersPrivateData()が配される。
【０１１６】
なお、ブロックUIAppInfoHDAVC()およびブロックMakersPrivateData()は、この発明と関わりが薄いので、説明を省略する。
【０１１７】
図１６は、上述したブロックTableOfPlayLists()の一例の構造を表すシンタクスを示す。フィールドlengthは、３２ビットのデータ長を有し、このフィールドlengthの直後からブロックTableOfPlayLists()の最後のバイトまでのデータ長をバイト数で示す。フィールドnumber_of_PlayListsは、１６ビットのデータ長を有し、プレイリストの数を示す。すなわち、フィールドnumber_of_PlayListsにより、ディスク上に存在するプレイリストの総数が示される。
【０１１８】
次のforループ文に従い、フィールドnumber_of_PlayListsで示される数だけ、フィールドPlayList_file_name、フィールドPlayList_attributeおよびフィールドtitle_id_refがそれぞれ記述される。すなわち、このforループ文で示される１回分のループが１のプレイリストに対応し、当該プレイリストのファイル名、当該プレイリストに付与された属性、ならびに、当該プレイリストの参照タイトルＩＤからなるプレイリストの情報が記述される。
【０１１９】
このforループ文による並び順は、記録順とされる。すなわち、１のプレイリストが追加されると、フィールドnumber_of_PlayListsの値が１だけインクリメントされ、既存のプレイリストの情報の後ろに、追加されたプレイリストの情報が追記される。すなわち、このforループ文に基づき記述されるプレイリストの情報は、属性「Real」、属性「Virtua」および属性「Menu」の各属性が混在した状態で並べられることになる。
【０１２０】
このようにプレイリストの情報の並び順を決めることで、最後に記録または作成したプレイリストの番号を容易に知ることができる。また、フィールドPlayList_attributeの情報と併用することで、最後に記録された、すなわち、記録された日時が最も新しいリアルプレイリストを知ることができる。この最新のリアルプレイリストの情報は、既存のプレイリストに対して追加して記録を行う際に有効とされる。
【０１２１】
なお、このforループ文で定義されるループ内のそれぞれ６ビット、１６ビットのデータ長を有するフィールドreserved_for_future_useは、将来の使用のために予約されている領域である。
【０１２２】
フィールドPlayList_file_nameは、プレイリストのファイル名がＩＳＯ６４６に規定された符号化方式で符号化されて記述される。フィールドPlayList_attributeは、この発明の実施の一形態に関わるもので、当該プレイリストに付与された属性を示す。
【０１２３】
フィールドtitle_id_refは、同一ループ内のフィールドPlayList_file_nameに示されるプレイリストが属するタイトルのＩＤ（番号）が記述される。当該プレイリストがタイトルとして再生されず、ファーストプレイバックのみから再生される場合、フィールドtitle_id_refの値は、"0xFFFF"とされる。また、当該プレイリストがタイトルとして再生されず、トップメニューから再生される場合は、フィールドtitle_id_refの値は、"0xFFFE"とされる。
【０１２４】
プレイリストの属性について、より詳細に説明する。図１７は、プレイリストのそれぞれ属性について、一例の意味を示す。上述したように、この発明の実施の一形態では、プレイリストの生成される目的に基づき、プレイリストに対して属性「Real」、属性「Virtual」および属性「Menu」の何れかを付与し、フィールドPlayList_attributeは、値"１"で属性「Real」を、値"２"で属性「Virtual」を、値"３"で属性「Menu」をそれぞれ示す。
【０１２５】
図１７の例では、それぞれの属性に対して、(1)用途、(2)タイトル構成、(3)ＩＧ（インタラクティブグラフィクス）、(4)プレイアイテムが参照するクリップのアプリケーションタイプ(Application_type)、(5)プレイアイテムに参照されるクリップについて、１のプレイリスト内で混在が許可されるか否か、(6)サブパス(SubPath)が許可されるか否か、(7)サブプレイアイテム(SubPlayItem)が参照するクリップのアプリケーションタイプ、(8)互換性の項目について、定義がなされている。なお、(8)の、互換性は、プレイリストを、当該プレイリストを記録した記録装置以外の他機で編集する場合の処理に関する。
【０１２６】
フィールドPlayList_attributeが値"１"とされ当該プレイリストが属性「Real」のリアルプレイリストである場合について説明する。この場合、用途は、当該プレイリストが実記録に伴い生成されたものであって、動画撮影や記録用であるとされている。また、リアルプレイリストでは、静止画も動画として記録される。タイトル構成では、リアルプレイリストは、ムービータイトルとして構成されるものとされている。すなわち、リアルプレイリストは、ムービーオブジェクトから呼び出される。また、インタラクティブグラフィクスの使用は、リアルプレイリストでは禁止される。
【０１２７】
さらに、(4)の、プレイアイテムが参照するクリップのアプリケーションタイプによれば、リアルプレイリスト内のプレイアイテムが参照するクリップは、動画に限られる。また、リアルプレイリスト内において、動画を参照する以外のプレイアイテムを混在させることができない。サブパスの使用は、リアルプレイリストでは禁止され、(5)の、プレイアイテムに参照されるクリップについて、１のプレイリスト内で混在が許可されるか否か、サブプレイアイテムに関する項目は、定義されない。また、(8)の互換性によれば、リアルプレイリストは、他機での編集時には削除されない。
【０１２８】
フィールドPlayList_attributeが値"２"とされ当該プレイリストが属性「Virtual」のバーチャルプレイリストである場合について説明する。この場合、用途は、当該プレイリストが非破壊編集時に生成されたものであるとされる。また、バーチャルプレイリストでは、ムービータイトルとして構成されるものとされている。インタラクティブグラフィクスの使用は、許可される。この場合、インタラクティブグラフィクスの使用は、クリップＡＶストリームに多重化された形態と、多重化されていない形態の何れであっても許可される。
【０１２９】
(4)の、プレイアイテムが参照するクリップのアプリケーションタイプによれば、バーチャルプレイリスト内のプレイアイテムが参照するクリップは、動画またはスライドショートされる。また、バーチャルプレイリスト内において、動画を参照するプレイアイテムと、スライドショーを参照するプレイアイテムとを混在させることができる。サブパスは、バーチャルプレイリストにおいては、所定のタイプのものを使用することができ、サブプレイアイテムが参照するクリップは、非多重のインタラクティブグラフィクスとされる。
【０１３０】
また、互換性については、リアルプレイリストは、他機での編集時には削除されない。例えば、バーチャルプレイリストは、他機で編集を行う度に追加される。サブパスは、他機では再生されない可能性がある。
【０１３１】
フィールドPlayList_attributeが値"３"とされ当該プレイリストが属性「Menu」のメニュープレイリストである場合について説明する。この場合、用途は、当該プレイリストがメニューを表示するためのものであるとされる。メニュープレイリストは、ファーストプレイバックおよびトップメニューから呼び出される場合以外でも、使用することができる。また、メニュープレイリストは、ムービータイトルまたはインタラクティブタイトルとして構成することができる。インタラクティブグラフィクスの使用は、クリップＡＶストリームに多重化された形態と、多重化されていない形態の何れであっても許可される。
【０１３２】
(4)の、プレイアイテムが参照するクリップのアプリケーションタイプによれば、メニュープレイリスト内のプレイアイテムが参照するクリップは、動画、スライドショーまたはブラウザブルスライドショーのメインパスとされる。また、メニュープレイリスト内において、動画を参照するプレイアイテムと、スライドショーを参照するプレイアイテムとを混在させることができる。サブパスは、バーチャルプレイリストにおいては、所定の２種類のタイプのものを使用することができ、サブプレイアイテムが参照するクリップは、非多重のインタラクティブグラフィクス、若しくは、ブラウザブルスライドショー用のＢＧＭ(Back Ground Music)とされる。
【０１３３】
また、互換性については、メニュープレイリストは、他機での編集時において削除される可能性がある。
【０１３４】
なお、プレイリストに付与されるこれらの属性は、変更が可能である。すなわち、既存のプレイリストに対して編集を行った結果の状態がそれぞれの属性の特性を満たしていれば、編集操作により属性を変更することが可能である。例えば、あるリアルプレイリストに対して所望の部分だけをバーチャルプレイリストで参照し、当該バーチャルプレイリストで参照しているクリップの部分だけを残してリアルプレイリストを削除する。その後、当該バーチャルプレイリストの属性をリアルプレイリストに変更することができる。このような操作で、所望の部分だけが残ったリアルプレイリストを作成することが可能である。
【０１３５】
次に、この発明の実施の一形態によるメニューの一例の編集および作成方法について説明する。この発明の実施の一形態では、ＢＤ−ＲＯＭ規格に対して次のような制約を設けることで、ＢＤ−ＲＯＭ規格を記録可能な記録媒体に拡張した場合のメニュー更新を可能とする。
【０１３６】
タイトル、ムービーオブジェクトおよびプレイリストの関係に関して、以下の通り制約を設ける。なお、ここでいう「タイトル」は、トップメニューにおいて選択され再生されるタイトルであるものとする。
（Ａ）トップメニュー用のプレイリストと、通常のタイトルを再生するためのプレイリストとは、互いに独立とする。
（Ｂ）各タイトルは、ムービータイトルであること。すなわち、各タイトルは、インタラクティブタイトルであってはいけない。
（Ｃ）各タイトルは、１つのムービーオブジェクトを介して１つのプレイリストから構成する。
【０１３７】
また、タイトルおよびプレイリストの並び順に関して、下記の通り制約を設ける。
（Ｄ）ブロックTableOfPlayLists()におけるプレイリストの並び順は、記録順とする。
（Ｅ）各タイトルから再生されるプレイリストは、ファイル"index.bdmv"内のブロックIndexes()におけるタイトルの並びと、ファーストプレイバックおよびトップメニューを構成するプレイリストを除いた残りのプレイリストの、ブロックTableOfPlayLists()における並びとを対応させて決める。
【０１３８】
この発明の実施の一形態では、上述した項目（Ａ）、（Ｂ）および（Ｃ）による、タイトル、ムービーオブジェクトおよびプレイリストの関係に関する制約に基づき、メニューの構成を行う。図１８を用いて、より具体的に説明する。この図１８の例では、ディスク上には既に６個のタイトル＃１〜＃６が記録されているものとする。各タイトルは、図８を用いて既に説明したように、ファイル"index.bdmv"内のブロックIndexes()において、ループ変数として用いられる値title_idで識別されるフィールドTitle[title_id]として登録され、フィールドTitle_mobj_id_ref[title_id]によりムービーオブジェクトを参照する。なお、タイトル番号は、値title_idに１を加えた値として定義されるものとする。ムービーオブジェクトは、ファイル"MovieObject.bdmv"内に値title_idの順に格納され、再生するプレイリストの情報が記述される。
【０１３９】
プレイリストは、例えばプレイリストが生成された順に連番でファイル名が"00001.mpls"、"00002.mpls"、"00003.mpls"、"00004.mpls"、"00005.mpls"および"00006.mpls"のように付され、ディレクトリ"PLAYLIST"の下に格納される。
【０１４０】
この発明の実施の一形態においては、上述した項目（Ｂ）の、「各タイトルはムービータイトルであること」の制約に従い、各タイトルは、それぞれ一つのムービーオブジェクトを呼び出す。また、上述の項目（Ｃ）の「各タイトルは、１つのムービーオブジェクトを介して１つのプレイリストから構成する」の制約に従い、各ムービーオブジェクトは、それぞれ一つのプレイリストを参照する。すなわち、タイトル、ムービーオブジェクトおよびプレイリストは、互いに１対１の関係とされる。
【０１４１】
図１８の例では、値title_idが１で、タイトル番号＃２のタイトルは、値title_idが対応するムービーオブジェクト＃１のみを参照し、ムービーオブジェクト＃１は、ファイル名"00002.mpls"のプレイリストのみを参照する。この例では、ファイル名"00002.mpls"のプレイリストは、属性「Virtual」が付与されたバーチャルプレイリストである。また、タイトル番号＃３のタイトルは、値title_idが対応するムービーオブジェクト＃２のみを参照し、この例では、ムービーオブジェクト＃２は、ファイル名"00003.mpls"のプレイリストのみを参照する。このファイル名"00003.mpls"のプレイリストは、属性「Real」が付与されたリアルプレイリストであり、クリップに対して１対１の対応関係がある。
【０１４２】
ディスク上に記録されているタイトルの再生を指示するためのメニュー画面は、インデックステーブル内のファーストプレイバックおよびトップメニューに基づき再生される。ファイル"index.bdmv"内のブロックIndexes()におけるブロックFirstPlayback()のフィールドFirstPlayback_mobj_id_refと、ブロックTopMenu()のフィールドTopMenu_mobj_id_refとに、メニュー画面を再生するために参照するムービーオブジェクトが記述される。この図１８の例では、これらフィールドFirstPlayback_mobj_id_refおよびフィールドTopMenu_mobj_id_refは、共に同一のムービーオブジェクト＃６を参照するようにされている。
【０１４３】
なお、詳細は後述するが、メニュー画面を再生するための構成は、タイトルの記録の後に、記録されたタイトルに基づき生成される。そのため、メニュー画面を再生するために参照するムービーオブジェクトは、タイトルの記録に伴い、ファイル"MovieObject.bdmv"のブロックMovieObject()において、最後に生成されたムービーオブジェクトの次に記述される。
【０１４４】
ムービーオブジェクト＃６は、メニュー画面を実際に再生するための、属性「Menu」を付与されたメニュープレイリストを参照する。この図１８の例では、ムービーオブジェクト＃６は、それぞれ属性「Menu」を付与された、ファイル名"01000.mpls"およびファイル名"01001.mpls"のプレイリストを参照している。
【０１４５】
メニュー画面を再生するためのプレイリストに属性「Menu」を付与し、ファーストプレイバックおよびトップメニューから参照されるムービーオブジェクトは、属性「Menu」を付与されたメニュープレイリストのみを参照するようにし、また、ファーストプレイバックおよびトップメニューから参照されるムービーオブジェクトは、トップメニューから呼び出される各タイトルの参照および当該各タイトルから参照されるムービーオブジェクトの参照も行わないようにする。このように規定することで、上述した項目（Ａ）の、「トップメニュー用のプレイリストと、通常のタイトルを再生するためのプレイリストとは、互いに独立とする」旨の制約を実現することができる。
【０１４６】
さらに、メニュープレイリストから参照されるクリップと、トップメニューから呼び出される各タイトルに対応するプレイリストから参照されるクリップとは、互いに独立とする。
【０１４７】
上述したように、この発明の実施の一形態においては、タイトルの追加や削除を行う際に、インデックステーブルのファーストプレイバックおよびトップメニューと、当該ファーストプレイバックおよびトップメニューから呼び出されるムービーオブジェクトと、当該ムービーオブジェクトから再生されるプレイリストとを削除する。そして、インデックステーブルにおいて残ったタイトル情報に基づき、ファーストプレイバックおよびトップメニューと、当該ファーストプレイバックおよびトップメニューから呼び出されるムービーオブジェクトと、当該ムービーオブジェクトから再生されるプレイリストとを新規に作成する。
【０１４８】
背景技術の項で図２８を用いて既に説明したように、再生専用の記録媒体のためのＢＤ−ＲＯＭ規格では、複数の異なるタイトルが同一のムービーオブジェクトを参照することや、複数の異なるムービーオブジェクトが同一のプレイリストを参照することなどが可能とされている。さらに、ＢＤ−ＲＯＭ規格では、複数の異なるプレイリストが同一のクリップを参照することも可能とされている。このようなＢＤ−ＲＯＭ規格におけるタイトル、ムービーオブジェクト、プレイリストおよびクリップの参照関係は、記録機にとっては冗長な関係と考えられるものも含まれており、この冗長な関係を編集の前後で維持することは、記録機にとって管理の負担が大きくなるおそれがある。
【０１４９】
そこで、この発明の実施の一形態では、各タイトルが単一のプレイリストから参照されるように制約する。また、この発明の実施の一形態では、トップメニューから参照されるプレイリストと、タイトルから参照されるプレイリストとの共有を禁止する。トップメニューから参照されるプレイリストと、タイトルから参照されるプレイリストとを互いに独立とすることで、トップメニューから参照されるプレイリストの削除を容易としている。
【０１５０】
図１９〜図２４を用いて、この発明の実施の一形態によるメニューの編集処理について、より具体的に説明する。ここでは、既に幾つかのクリップが記録され複数のタイトルが形成されたディスクに対して、クリップを追加して記録した際の処理について説明する。図１９は、クリップを追加して記録する直前の一例のメニュー画面１００と、当該メニュー画面１００に関わるタイトル、ムービーオブジェクトおよびプレイリストの構成例を示す。なお、図１９において、タイトル、ムービーオブジェクトおよびプレイリストの構成は、メニュー画面１００を再生するムービーオブジェクト＃６が単一のプレイリストを参照している以外は上述の図１８と同一であるので、詳細な説明を省略する。
【０１５１】
図１９において、ファーストプレイバックおよびトップメニューからムービーオブジェクト＃６を介して参照されるプレイリストにより、メニュー画面１００が表示される。この図１９の例では、メニュー画面１００に対して、６個のタイトルそれぞれの再生を指示するためのボタン１０１Ａ〜１０１Ｆが所定のボタン画像データを用いて表示されると共に、このメニュー画面１００の題名１０２が表示される。例えば、ボタン１０１Ａを所定の方法で指示することで、値title_idが０、タイトル番号＃１のタイトルが指定され、ムービーオブジェクト＃０が参照され、このムービーオブジェクト＃０に記述されるナビゲーションコマンドにより、ファイル名"00001.mpls"のプレイリストが参照されると共に当該プレイリストの再生が命令され、当該プレイリストに対応するクリップが再生される。
【０１５２】
図２０は、上述の図１９の状態に対してクリップを追加して記録した際の、メニュー画面の一例の作成処理を示すフローチャートである。フローチャートに基づき、新たなクリップの記録が開始されるところから説明を行う。なお、このフローチャートの説明においては、新たなクリップがｎ番目のタイトルとしてディスクに記録されるものとする。例えばこの発明の実施の一形態が適用可能なビデオカメラにより、撮影が開始され、それに伴い、撮影された映像に基づく新たなクリップ（クリップ＃ｎとする）が生成される。生成されたクリップ＃ｎは、ディスクに記録される（ステップＳ５０）。
【０１５３】
クリップが記録媒体に記録されると、次のステップＳ５１で、当該クリップ＃ｎを参照するプレイリスト＃ｎが生成され当該プレイリストの属性が「Real」とされる。プレイリストは、属性により当該プレイリストがトップメニューに用いられるものか、タイトルに用いられるものかが判別できる。生成されたプレイリストファイルのファイル名は、ディスク上に既に存在するプレイリストファイルのうち属性が「Menu」とされたプレイリストを除いたプレイリストのファイル名と重複しないように決められ、例えば"00007.mpls"とされる。
【０１５４】
プレイリスト＃ｎの生成に伴い、インデックスファイル"index.bdmv"における拡張データブロックExtensionData()内のブロックTableOfPlayLists()を更新する。すなわち、ブロックTableOfPlayLists()において、フィールドnumber_of_PlayListsの値を、生成されたプレイリストの数だけ増加させ、生成されたプレイリスト毎に、フィールドPlayList_file_name、フィールドPlayList_attributeおよびフィールドtitle_id_refの情報がそれぞれ記述される。そして、フィールドlengthの値が追加された内容に基づき更新される。
【０１５５】
より具体的には、フィールドnumber_of_PlayListsの値が１だけ増加され、生成されたファイル名が"00007.mpls"であるプレイリストについて、当該ファイル名がフィールドPlayList_file_nameとして記述されると共に、当該プレイリストの属性が「Real」とされ、属性「Real」を示す値がフィールドPlayList_attributeとして記述される。フィールドtitle_id_refは、プレイリストの属性が「Real」または「Virtual」の場合には、プレイリストの生成時に属しているタイトルの値title_idが記述される。
【０１５６】
さらに、次のステップＳ５２で、当該プレイリスト＃ｎの再生を指示するムービーオブジェクト＃ｎが生成される。このムービーオブジェクト＃ｎは、インデックスファイル"index.bdmv"中のブロックIndexes()に対し、値が"ｎ"のフィールドTitle_mobj_id_ref[n]として登録され、ｎ番目のタイトル＃ｎとされる（ステップＳ５３）。このステップＳ５３までの処理で、タイトル＃ｎのディスクへの記録が完了される。
【０１５７】
図２１は、上述の図１９に示される構成に対して、ステップＳ５３までの処理によりタイトル＃ｎが追加された場合の一例の構成を示す。なお、図２１において、追加された部分は斜線を付して示す。この図２１の例では、タイトル＃ｎは、既に記録されている６個のタイトルに対して追加されるので、値title_idが６、タイトル番号＃７とされる。追加されたタイトル＃７が参照するムービーオブジェクトは、既存のムービーオブジェクト＃６の次に、ムービーオブジェクト＃７として作成される。また、追加されるファイル名"00007.mpls"のプレイリストは、クリップの記録に伴い当該クリップに対して最初に生成されるプレイリストなので、属性が「Real」とされる。
【０１５８】
ステップＳ５５以降は、タイトルの追加に応じたメニュー画面１００の作成処理である。ステップＳ５６で、インデックスファイル"index.bdmv"内のブロックIndexes()が参照され、タイトルを構成するムービーオブジェクト以外のムービーオブジェクトが削除される。すなわち、ファーストプレイバックおよびトップメニューから参照されるムービーオブジェクトが削除される。図８の例でいえば、ブロックIndexes()内において、ブロックFirstPlayback()内のフィールドFirstPlayback_mojb_id_refで参照されるムービーオブジェクトと、ブロックTopMenu()内のフィールドTopMenu_mobj_id_refで参照されるムービーオブジェクトが、ファイル"MovieObject.bdmv"から削除される。
【０１５９】
次に、ステップＳ５７で、プレイリストの属性が参照され、タイトルを構成するプレイリスト以外のプレイリストが削除される。すなわち、図７、図１５および図１６を参照し、インデックスファイル"index.bdmv"内のエクステンションデータ（ブロックExtensionData()：図７）から、フィールドTableOfPlayLists_start_addressに基づきブロックTableOfPlayLists()（図１５）が参照され、ブロックTableOfPlayLists()においてプレイリスト毎のフィールドPlayList_attributeが参照される。このフィールドPlayList_attributeの情報に基づき、属性が「Real」および「Virtual」以外、すなわち、属性が「Menu」であるプレイリストファイル名が検索される。検索されたプレイリストのファイル名に従い、ディレクトリ"PLAYLIST"に格納されるプレイリストが削除される。
【０１６０】
図２２は、ステップＳ５６およびステップＳ５７の処理により、ムービーオブジェクトおよびプレイリストが削除される様子を模式的に示す。なお、図２２において、削除される部分は斜線を付して示す。インデックステーブルにおいてファーストプレイバックおよびトップメニューから参照されるムービーオブジェクト＃６が削除される（ステップＳ５６）。また、ムービーオブジェクト＃６は、属性「Menu」が付与されたプレイリストを参照している。ステップＳ５７により、属性が「Menu」であるプレイリストファイル名が検索され、削除が行われることで、ムービーオブジェクト＃６から参照されるプレイリストが削除されることになる。
【０１６１】
図２３は、これら、メニュー画面を再生するためのプレイリストと、当該プレイリストを参照するムービーオブジェクトとが削除された様子を模式的に示す。削除処理直前のムービーオブジェクト＃７は、ムービーオブジェクトの削除後に値title_idが変更され、ムービーオブジェクト＃６とされている。この削除後のムービーオブジェクト＃６の実体は、削除前のムービーオブジェクト＃７と同一であって、番号だけが変更されたものである。
【０１６２】
上述したように、ムービーオブジェクトは、ムービーオブジェクトファイル"MovieObject.bdmv"内のブロックMovieObject()において、forループ文に従いループ変数である値title_idの順番で記述される。したがって、ムービーオブジェクトに対応する値title_idに抜けがあってはならない。そのため、新たにムービーオブジェクト＃７が追加されると共に、メニュー画面再生のためのムービーオブジェクト＃６が削除されると、追加されたムービーオブジェクト＃７が、削除されたムービーオブジェクト＃６を削除の直前まで参照していた値title_idで参照されることになる。
【０１６３】
また、インデックステーブルにおいても、ファーストプレイバックおよびトップメニューが削除される。
【０１６４】
次のステップＳ５８で、トップメニューを表示するためのクリップ、ムービーオブジェクトおよびプレイリストが生成される。この処理は、例えば次のようにしてなされる。先ず、メニュー画面を表示するためのクリップが生成される。このクリップは、例えば所定のプログラムに従い自動的に生成された画像データを用いることができる。これに限らず、ディスク上や記録機においてメニュー画面用の画像データを予め用意しておき、これを用いるようにしてもよい。また、メニュー画面に用いる画像データは、動画像データであっても、静止画像データであってもよい。さらに、タイトルの再生を指示するために用いるボタン画像データを、同様にして生成することができる。タイトルに使用されるクリップに対応するサムネイル画像をさらに用いることもできる。このようにして生成されたデータは、例えば所定に多重化され、クリップＡＶストリームファイルとしてディスク上に記録される。
【０１６５】
次に、このクリップＡＶストリームファイルに対応するクリップインフォメーションファイルが生成され、さらに、当該クリップインフォメーションファイルを参照するプレイリストが生成される。プレイリストのファイル名は、例えば既存のプレイリストのファイル名および今まで存在していたプレイリストのファイル名と重複しないように決められる。この例では、当該プレイリストのファイル名を、"01002.mpls"とする。
【０１６６】
プレイリストが生成されると、当該プレイリストを参照するためのムービーオブジェクトが生成される。このムービーオブジェクトは、上述のステップＳ５６によるムービーオブジェクトの削除処理および当該削除処理に伴い番号が変更されたムービーオブジェクトの次のムービーオブジェクトとされる。
【０１６７】
次のステップＳ５９で、上述のステップＳ５８で作成された、トップメニューを再生するためのムービーオブジェクトがインデックスファイル"index.bdmv"内のブロックIndexes()におけるブロックTopMenu()に登録される。すなわち、図８を参照し、当該ムービーオブジェクトを示すデータがブロックTopMenu()内のフィールドTopMenu_mobj_id_refとして記述される。
【０１６８】
次のステップＳ６０では、インデックスファイル"index.bdmv"内のブロックIndexes()におけるブロックFirstPlayback()が更新される。すなわち、ブロックFirstPlayback()において、フィールドHDAVC_Title_playback_typeの値が所定の値とされ、上述のステップＳ５８で作成された、トップメニューを再生するためのムービーオブジェクトを示すデータがフィールドFirstPlayback_mobj_id_refとして記述される。
【０１６９】
そして、次のステップＳ６１で、インデックスファイル"index.bdmv"における拡張データブロックExtensionData()内のブロックTableOfPlayLists()を更新する。すなわち、このステップＳ６１では、上述のステップＳ５８で生成された、トップメニューを再生するためのプレイリストの情報を、ブロックTableOfPlayLists()に対して記述する。
【０１７０】
より具体的には、ブロックTableOfPlayLists()において、フィールドnumber_of_PlayListsの値が１だけ増加され、トップメニューを構成する新規に生成されたプレイリストについて、ファイル名がフィールドPlayList_file_nameとして記述されると共に、当該プレイリストの属性が「Menu」とされ、属性「Menu」を示す値がフィールドPlayList_attributeとして記述される。フィールドtitle_id_refは、プレイリストの属性が「Menu」であって、トップメニューから参照される場合には、値が"0xFFFE"に固定的とされる。そして、フィールドlengthの値が追加された内容に基づき更新される。
【０１７１】
図２４は、ステップＳ６１の処理後の一例のインデックステーブル、ムービーオブジェクトおよびプレイリストの構成と、メニュー画面１１０とを示す。ステップＳ５８〜ステップＳ６１の処理により、上述した図２３の状態に対して、トップメニューを再生するための構成が追加される。すなわち、インデックステーブルにおいて、ファーストプレイバックおよびトップメニューが追加される。これらファーストプレイバックおよびトップメニューから参照されるムービーオブジェクト＃７が追加され、さらに、ムービーオブジェクト＃７から参照される、属性「Menu」が付与されたプレイリストが追加される。なお、図２４において、追加された部分は斜線を付して示す。
【０１７２】
メニュー画面１１０は、例えば、タイトル追加前の図１９に例示したメニュー画面１００に対して、新規に作成される。例えば、タイトルが１つ追加されたのに伴い、タイトルの再生を指示するためのボタンが１個、追加される。この図２４の例では、ボタン表示するためのボタン画像を新規に生成し、タイトルの再生を指示するためのボタンを新規のボタン画像による新たなボタン１１１Ａ〜１１１Ｇに作り直して用いている。また、このメニュー画面１１０の題名１１２も、新規に作成されている。勿論、これに限らず、タイトル追加前のメニュー画面１００に用いられていたボタン画像や題名を再び用いるように構成することも可能である。
【０１７３】
なお、上述した図２０のフローチャートにおけるファイル"index.bdmv"、ファイル"MovieObject.bdmv"などに対する更新処理は、実際には、ＣＰＵ(Central Processing Unit)のワークメモリ上での処理とされる。例えば、記録機は、ディスクが装填されると、先ず、ディスクからインデックスファイル"index.bdmv"やムービーオブジェクトファイル"MovieObject.bdmv"を読み出し、ＣＰＵのワークメモリに記憶する。ＣＰＵは、メニューの編集の命令を受けると、このワークメモリ上に記憶されたこれらのファイルに対して上述のようにして処理を行う。更新されたこれらのファイルは、例えばディスクの排出時や、記録機の電源ＯＦＦ時など所定のタイミングで、ディスクに書き戻される。
【０１７４】
次に、この発明の実施の一形態を適用可能な記録再生装置について説明する。先ず、仮想プレーヤについて、概略的に説明する。上述したようなデータ構造を有するディスクがプレーヤに装填されると、プレーヤは、ディスクから読み出されたムービーオブジェクトなどに記述されたコマンドを、プレーヤ内部のハードウェアを制御するための固有のコマンドに変換する必要がある。プレーヤは、このような変換を行うためのソフトウェアを、プレーヤに内蔵されるＲＯＭ(Read Only Memory)にあらかじめ記憶している。このソフトウェアは、ディスクとプレーヤを仲介してプレーヤにＢＤ−ＲＯＭの規格に従った動作をさせることから、ＢＤ仮想プレーヤと称される。
【０１７５】
図２５は、このＢＤ仮想プレーヤの動作を概略的に示す。図２５Ａは、ディスクのローディング時の動作の例を示す。ディスクがプレーヤに装填されディスクに対するイニシャルアクセスがなされると（ステップＳ３０）、１のディスクにおいて共有的に用いられる共有パラメータが記憶されるレジスタが初期化される（ステップＳ３１）。そして、次のステップＳ３２で、ムービーオブジェクトなどに記述されたプログラムがディスクから読み込まれて実行される。なお、イニシャルアクセスは、ディスク装填時のように、ディスクの再生が初めて行われることをいう。
【０１７６】
図２５Ｂは、プレーヤが停止状態からユーザにより例えばプレイキーが押下され再生が指示された場合の動作の例を示す。最初の停止状態（ステップＳ４０）に対して、ユーザにより、例えばリモートコントロールコマンダなどを用いて再生が指示される（ＵＯ：User Operation）。再生が指示されると、先ず、レジスタすなわち共通パラメータが初期化され（ステップＳ４１）、次のステップＳ４２で、ムービーオブジェクト実行フェイズに移行する。
【０１７７】
ムービーオブジェクトの実行フェイズにおけるプレイリストの再生について、図２６を用いて説明する。ＵＯなどにより、タイトル番号＃１のコンテンツを再生開始する指示があった場合について考える。プレーヤは、コンテンツの再生開始指示に応じて、上述した図２に示されるインデックステーブル(Index Table)を参照し、タイトル＃１のコンテンツ再生に対応するオブジェクトの番号を取得する。例えばタイトル＃１のコンテンツ再生を実現するオブジェクトの番号が＃１であったとすると、プレーヤは、ムービーオブジェクト＃１の実行を開始する。
【０１７８】
この図２６の例では、ムービーオブジェクト＃１に記述されたプログラムは２行からなり、１行目のコマンドが"Play PlayList(1)"であるとすると、プレーヤは、プレイリスト＃１の再生を開始する。プレイリスト＃１は、１以上のプレイアイテムから構成され、プレイアイテムが順次再生される。プレイリスト＃１中のプレイアイテムの再生が終了すると、ムービーオブジェクト＃１の実行に戻り、２行目のコマンドが実行される。図２６の例では、２行目のコマンドが"jump TopMenu"であって、このコマンドが実行されインデックステーブルに記述されたトップメニュー(Top Menu)を実現するムービーオブジェクトの実行が開始される。
【０１７９】
図２７は、この発明の実施の一形態に適用可能な記録再生装置の一例の構成を示す。この記録再生装置は、例えばビデオカメラ装置の記録再生部として用いることができる。これに限らず、この記録再生装置は、単体で使用する構成とすることもできる。ここでは、この記録再生装置がビデオカメラ装置の記録再生部として用いられるものとして説明する。
【０１８０】
制御部１７は、例えばＣＰＵ、ＲＯＭ(Read Only Memory)およびＲＡＭ(Random Access Memory)などからなる。ＲＯＭは、ＣＰＵ上で動作されるプログラムや動作のために必要なデータが予め記憶される。ＲＡＭは、ＣＰＵのワークメモリとして用いられる。ＣＰＵは、ＲＯＭに記憶されたプログラムやデータを必要に応じて読み出し、ＲＡＭをワークメモリに用いながら、この記録再生装置の全体を制御する。上述したＢＤ仮想プレーヤは、例えば予めＲＯＭに記憶されたプログラムにより、制御部１７により実現される。
【０１８１】
この記録再生装置に対して、図示されないビデオカメラ部から出力される、機器特有の情報や記録に関するデータなどが入力出力端子２８から入力される。入出力端子２８に入力されたこれらのデータは、制御部１７に供給される。
【０１８２】
各種のスイッチなどの操作子や、簡易的に表示を行う表示素子を有する図示されないユーザインタフェースから出力されたデータがデータ入出力端子２８から入力される。また、制御部１７で生成された表示制御信号がデータ入力出力端子２８を介してユーザインターフェイスに供給される。ユーザインターフェイスは、この表示制御信号をテレビジョン受像器などのモニタ装置に供給し、表示させることもできる。
【０１８３】
先ず、記録時の動作について説明する。図示されないビデオカメラ部から、撮像により得られたビデオ信号が入力端３０に入力され、このビデオ信号に伴い出力されたオーディオ信号が入力端３１に入力される。入力されたビデオ信号およびオーディオ信号は、ＡＶエンコーダ２３に供給される。ビデオ信号は、ビデオ解析部２４にも供給される。ＡＶエンコーダ２３は、入力されたビデオ信号およびオーディオデータを、例えばＭＰＥＧ２方式で符号化し、符号化ビデオストリームＶ、符号化オーディオストリームＡおよびシステム情報Ｓをそれぞれ出力する。
【０１８４】
ＡＶエンコーダ２３は、オーディオ信号を、例えばＭＰＥＧ１オーディオストリームやドルビーＡＣ３オーディオストリームなどの形式に符号化する。システム情報Ｓは、符号化ピクチャやオーディオフレームのバイトサイズ、ピクチャの符号化タイプといった、ビデオ信号やオーディオ信号の符号化情報や、ビデオおよびオーディオの同期などに関する時間情報からなる。
【０１８５】
ＡＶエンコーダ２３のこれらの符号化出力は、マルチプレクサ２２に供給される。マルチプレクサ２２は、供給された符号化ビデオストリームＶ、符号化オーディオストリームＡを、システム情報Ｓに基づき多重化し、ＭＰＥＧ２トランスポートストリームによる多重化ストリームを出力する。すなわち、符号化ビデオストリームＶ、符号化オーディオストリームＡおよびシステム情報Ｓは、それぞれトランスポートパケットのペイロードのサイズに分割され、所定のヘッダを付加されて、トランスポートパケット化される。ヘッダには、それぞれのデータ種類などを識別可能なように、ＰＩＤが所定に格納される。
【０１８６】
マルチプレクサ２２から出力された多重化ストリームは、端子５０Ａが選択されたスイッチ５０を介してソースパケッタイザ２１および上述した多重化ストリーム解析部２５に供給される。ソースパケッタイザ２１は、供給された多重化ストリームを、記録媒体のアプリケーションフォーマットに従って符号化する。
【０１８７】
ソースパケッタイザ２１で符号化されたクリップＡＶストリームは、ＥＣＣ(Error Correction Coding)符号化部２０でエラー訂正符号化され、変調部１９で記録符号に変調され、書き込み部１８に供給される。書き込み部１８は、制御部１７から供給される制御信号の指示に基づき、変調部１９で記録符号に変調されたクリップＡＶストリームを、記録可能な記録媒体１０に対して記録する。
【０１８８】
この記録再生装置は、クリップＡＶストリームが多重化されたトランスポートストリームを直接的に入力して、記録媒体に記録することができるようになっている。例えば、ディジタルインターフェイスまたはディジタルテレビジョンチューナから出力される、ディジタルテレビジョン放送などによるトランスポートストリームが入力端子３２に対して入力される。
【０１８９】
入力されたトランスポートストリームの記録方法としては、トランスペアレントに記録する方法と、記録ビットレートを下げるなどの目的のために再エンコードして記録する方法とが考えられる。この２通りの記録方法のうち何方を用いて記録を行うかを指示は、例えばユーザのユーザインターフェイスに対する操作によりなされ、この操作に応じた制御信号がデータ入力出力端子２８を介して制御部１７に供給される。制御部１７は、この制御信号に基づきこの記録再生装置の各部を制御し、記録方法の制御を行う。
【０１９０】
入力トランスポートストリームをトランスペアレントに記録する場合、スイッチ５０において端子５０Ｂが選択されると共に、スイッチ５１において端子５１Ａが選択され、入力端３２から入力されたトランスポートストリームは、スイッチ５１および５０を介してソースパケッタイザ２１および多重化ストリーム解析部２５にそれぞれ供給される。これ以降の処理は、上述した、入力端３０および３１に入力されたビデオ信号およびオーディオ信号を符号化して記録する場合と同一である。
【０１９１】
一方、入力トランスポートストリームを再エンコードして記録する場合、スイッチ５１において端子５１Ｂが選択され、入力端３２から入力されたトランスポートストリームは、デマルチプレクサ１５に供給される。デマルチプレクサ１５は、供給されたトランスポートストリームに多重化されている符号化ビデオストリームＶ、符号化オーディオストリームＡおよびシステム情報Ｓを分離し、符号化ビデオストリームＶをＡＶデコーダ１６に供給すると共に、符号化オーディオストリームＡおよびシステム情報Ｓをマルチプレクサ２２に供給する。
【０１９２】
ＡＶデコーダ１６は、デマルチプレクサ１５から供給された符号化ビデオストリームＶを復号し、復号されたビデオ信号をＡＶエンコーダ２３に供給する。ＡＶエンコーダ２３は、供給されたこのビデオ信号を符号化して符号化ビデオストリームＶとする。この符号化ビデオストリームＶは、マルチプレクサ２２に供給される。
【０１９３】
マルチプレクサ２２は、ＡＶエンコーダ２３で符号化され供給された符号化ビデオストリームＶと、デマルチプレクサ１５で分離された符号化オーディオストリームＡとを、同じくデマルチプレクサ１５で分離されたシステム情報Ｓに基づき多重化して多重化ストリームを出力する。これ以降の処理は、上述した、入力端３０および３１に入力されたビデオ信号およびオーディオ信号を符号化して記録する場合と同一である。
【０１９４】
この記録再生装置は、例えばＢＤ−ＲＥ規格に準じた記録媒体１０に対して上述のようにしてクリップＡＶストリームファイルを記録すると共に、記録するクリップＡＶストリームファイルに関連するアプリケーションデータベース情報をさらに記録する。アプリケーションデータベース情報は、ビデオ解析部２４からの動画像の特徴情報と、多重化ストリーム解析部２５からのクリップＡＶストリームの特徴情報と、端子２８から入力されるユーザの指示情報とに基づき、制御部１７により作成される。
【０１９５】
ビデオ解析部２４から得られる、動画像の特徴情報は、ＡＶエンコーダ２３によりビデオ信号を符号化して記録する場合に、この記録再生装置内において生成される情報である。ビデオ解析部２４は、入力端３０から入力されたビデオ信号または入力端３２から入力されたトランスポートストリームからデマルチプレクサ１５で分離されＡＶデコーダ１６で復号されたビデオ信号が供給される。ビデオ解析部２４は、供給されたビデオ信号の内容を解析し、入力されたビデオ信号中の特徴的なマーク点の画像に関する情報を生成する。例えば、ビデオ解析部２４は、入力ビデオ信号中のプログラムの開始点、シーンチェンジ点や、ＣＭ（コマーシャル）放映の開始、終了点などの特徴的なマーク点を検出し、検出されたマーク点の画像の指示情報を得る。また、マーク点の画像のサムネイル画像を生成するようにしてもよい。サムネイル画像は、実際の画像データを間引き処理などにより縮小した画像である。また、サムネイル画像のクリップＡＶストリーム上の位置は、ＰＴＳで示すことができる。
【０１９６】
これらの画像の指示情報、サムネイル画像およびサムネイル画像の位置情報（例えばＰＴＳ）は、制御部１７を介してマルチプレクサ２２に供給される。マルチプレクサ２２は、制御部１７から指示されるマーク点の画像を符号化した符号化ピクチャを多重化する際に、当該符号化ピクチャのクリップＡＶストリーム上でのアドレス情報を制御部１７に返す。制御部１７は、特徴的な画像の種類と、対応する符号化ピクチャのクリップＡＶストリーム上でのアドレス情報とを関連付けて、例えばＲＡＭに記憶する。
【０１９７】
多重化ストリーム解析部２５から得られる、クリップＡＶストリームの特徴情報は、記録されるクリップＡＶストリームの符号化情報に関連する情報であり、この動画像記録再生装置内において生成される。例えば、クリップＡＶストリームについて、エントリポイントのタイムスタンプと対応するアドレス情報とをクリップＡＶストリームの特徴情報として含む。この他にも、クリップＡＶストリームについて、ＳＴＣ(System Time Clock)の不連続情報、プログラム内容の変化情報、アライバルタイムと対応するアドレス情報などが、クリップＡＶストリームの特徴情報として含まれる。
【０１９８】
また、多重化ストリーム解析部２５は、入力端３２から入力されるトランスポートストリームをトランスペアレントに記録する場合、クリップＡＶストリーム中の特徴的なマーク点画像を検出し、検出された画像の種類とアドレス情報とを生成する。この情報は、クリップインフォメーションファイル中のブロックClipMarkに格納されるデータとなる。このように、多重化ストリーム解析部２５により得られたクリップＡＶストリームの特徴情報は、クリップＡＶストリームのデータベースであるクリップインフォメーションファイルに格納されることになる。多重化ストリーム解析部２５で得られたこれらの情報は、例えば、制御部１７のＲＡＭに一旦記憶される。
【０１９９】
図示されないユーザインターフェイスに対してなされたユーザの指示情報は、データ入力出力端子２８から制御部１７に供給される。この指示情報は、例えば、クリップＡＶストリーム中でユーザが気に入った再生区間の指定情報、当該再生区間の内容を説明するためのキャラクタ文字、ユーザが気に入ったシーンにセットするブックマーク点やリジューム点のクリップＡＶストリーム中のタイムスタンプなどが含まれる。これらのユーザの指示情報は、一旦、制御部１７のＲＡＭに記憶される。これらの指示情報は、記録媒体１０上においては、プレイリストが有するデータベースに格納される。
【０２００】
制御部１７は、ＲＡＭ上に記憶された上述した入力情報、すなわち、ビデオ解析部２４から得られる動画像の特徴情報、多重化ストリーム解析部２５から得られるクリップＡＶストリームの特徴情報、ならびに、データ入力出力端子２８から入力されたユーザ指示情報に基づき、クリップＡＶストリームのデータベース（クリップインフォメーション）、プレイリストのデータベース（プレイリストファイル）、記録媒体の記録内容に対する管理情報（インデックスファイル）およびサムネイル情報を作成する。
【０２０１】
ここで、制御部１７は、インデックスファイルを作成する際に、上述した、データ入出力端子２８から入力された、機器特有のデータや記録に関する情報に基づき、インデックスファイル、プレイリストファイルおよび／またはクリップインフォメーションファイルを拡張するための拡張データを作成することができる。すなわち、制御部１７は、データ入出力端子２８から入力されたデータに基づき、拡張データを、図１３のフローチャートを用いて説明したような処理によりファイルに埋め込む。
【０２０２】
これらのデータベース情報は、制御部１７のＲＡＭから読み出され、クリップＡＶストリームと同様にして、制御部１７からＥＣＣ符号化部２０に供給されエラー訂正符号化され、変調部１９で記録符号に変調され、書き込み部１８に供給される。書き込み部１８は、制御部１７から供給される制御信号に基づき、記録符号化されたデータベース情報を記録媒体１０に記録する。
【０２０３】
なお、この記録再生装置において、クリップＡＶストリームが新規に記録されると、新規記録されたクリップに対するリアルプレイリストが生成されると共に、図１９〜図２４を用いて説明した手順により、ファイル"index.bdmv"およびファイル"MovieObject.bdmv"の更新処理がなされ、クリップの新規記録を反映するようにメニューが更新される。これらの処理は、例えばクリップの新規記録に伴い、自動的に行われる。
【０２０４】
次に、再生時の動作について説明する。記録媒体１０は、記録時の動作で説明したようにして作成された、クリップＡＶストリームファイルと、プレイリストファイルおよびインデックスファイルからなるアプリケーションデータベース情報と、ムービーオブジェクトファイルとが記録されている。記録媒体１０が図示されないドライブ装置に装填されると、先ず、制御部１７は、読み出し部１１に対して、記録媒体１０上に記録されたアプリケーションデータベース情報とムービーオブジェクトファイルとを読み出すように指示する。読み出し部１１は、この指示を受けて、記録媒体１０からアプリケーションデータベース情報とムービーオブジェクトファイルとを読み出す。読み出し部１１の出力は、復調部１２に供給する。
【０２０５】
復調部１２は、読み出し部１１の出力を復調し、記録符号を復号してディジタルデータとする。復調部１２の出力は、ＥＣＣ復号部１３に供給され、エラー訂正符号が復号されエラー訂正処理が行われる。エラー訂正処理されたアプリケーションデータベース情報は、制御部１７に供給される。
【０２０６】
制御部１７は、アプリケーションデータベース情報とムービーオブジェクトファイルとに基づいて、記録媒体１０に記録されているタイトルの一覧を表示するためのメニュー画面を、ユーザインターフェイス入力出力端子２８を介してユーザインターフェイスに出力する。このメニュー画面は、例えばユーザインターフェイスに設けられた表示部に所定に表示される。ユーザにより、このメニュー画面に基づき再生したいタイトルが選択され、選択したタイトルを再生するような操作がユーザインターフェイスに対してなされる。この操作に応じた制御信号がユーザインターフェイスから出力され、端子２８を介して制御部１７に供給される。
【０２０７】
制御部１７は、この制御信号に応じて、インデックスファイルやムービーオブジェクトファイルの内容に基づき、選択されたタイトルの再生に必要なクリップＡＶストリームファイルの読み出しを読み出し部１１に指示する。読み出し部１１は、この指示に従い、記録媒体１０からクリップＡＶストリームファイルを読み出す。読み出し部１１の出力は、復調部１２に供給される。復調部１２は、供給された信号を復調し、記録符号を復号してディジタルデータとして出力し、ＥＣＣ復号部１３に供給する。ＥＣＣ復号部１３は、供給されたディジタルデータのエラー訂正符号を復号し、エラー訂正を行う。エラー訂正されたクリップＡＶストリームファイルは、制御部１７により提供される図示されないファイルシステム部の処理を受け、ソースデパケッタイザ１４に供給される。
【０２０８】
ソースデパケッタイザ１４は、制御部１７の制御に基づき、記録媒体１０におけるアプリケーションフォーマットで記録されていたクリップＡＶストリームファイルを、デマルチプレクサ１５に入力できる形式のストリームに変換する。例えば、ソースデパケッタイザ１４は、記録媒体１０から再生されたＭＰＥＧ２トランスポートストリームをソースパケット単位に分解し、ソースパケットからヘッダを取り除きトランスポートパケット化する。このトランスポートパケット化されたクリップＡＶストリームを、デマルチプレクサ１５に供給する。
【０２０９】
デマルチプレクサ１５は、制御部１７の制御に基づき、ソースデパケッタイザ１４から供給されたクリップＡＶストリームの、制御部１７により指定された再生区間(PlayItem)を構成するビデオストリームＶ、オーディオストリームＡおよびシステム情報Ｓを出力し、ＡＶデコーダ１６に供給する。例えば、デマルチプレクサ１５は、供給されたトランスポートパケットをＰＩＤに基づき選別し、選別されたそれぞれについて、トランスポートパケットヘッダを取り除いて出力する。ＡＶデコーダ１６は、供給されたビデオストリームＶおよびオーディオストリームＡを復号し、復号された再生ビデオ信号および再生オーディオ信号をビデオ出力端２６およびオーディオ出力端２７にそれぞれ導出する。
【０２１０】
上述では、図２７に示す記録再生装置がビデオカメラなどから出力されたビデオデータおよびオーディオデータを記録媒体１０に記録するようにした装置であるように説明したが、これはこの例に限られない。例えば、入力されたビデオデータに対して編集処理を行い、編集されたビデオデータを出力するようにした編集装置にこの発明の実施の一形態を適用することもできる。さらに、上述の図２７の構成を、再生部側の構成を省略した記録装置とすることもできる。さらにまた、記録媒体１０は、ＢＤ−ＲＥ規格に準じたディスク状記録媒体であるように説明したが、これはこの例に限定されず、この発明の実施の一形態は、半導体メモリ、ハードディスクといった他の記録媒体にも適用可能である。
【０２１１】
なお、上述では、図２７に示す記録再生装置がハードウェア的に構成されるように説明したが、これはこの例に限定されない。すなわち、記録再生装置は、実際に記録媒体１０が装填されるドライブ部などの機構部分以外の部分を、ソフトウェアとして構成することも可能である。この場合、ソフトウェアは、例えば制御部１７が有するＲＯＭに予め記憶される。これに限らず、動画像記録再生装置を、パーソナルコンピュータなどのコンピュータ装置上に構成することも可能である。この場合には、動画像記録再生装置をコンピュータ装置に実行させるソフトウェアは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭといった記録媒体に記録されて提供される。コンピュータ装置がネットワーク接続可能な場合、インターネットなどのネットワークを介して当該ソフトウェアを提供することも可能である。
【図面の簡単な説明】
【０２１２】
【図１】ＢＤ−ＲＯＭのデータモデルを概略的に示す略線図である。
【図２】インデックステーブルを説明するための略線図である。
【図３】クリップＡＶストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ図である。
【図４】複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。
【図５】サブパスについて説明するための略線図である。
【図６】記録媒体に記録されるファイルの管理構造を説明するための略線図である。
【図７】ファイル"index.bdmv"の一例の構造を表すシンタクスを示す略線図である。
【図８】ブロックIndexes()の一例の構造を表すシンタクスを示す略線図である。
【図９】ファイル"MovieObject.bdmv"の一例の構造を表すシンタクスを示す略線図である。
【図１０】ブロックMovieObject()の一例の構造を表すシンタクスを示す略線図である。
【図１１】ブロックExtensionData()の一例の構造を表すシンタクスを示す略線図である。
【図１２】ブロックExtensionData()における各データの参照関係を模式的に示す略線図である。
【図１３】ブロックExtensionData()にデータを書き込む際の一例の処理を示すフローチャートである。
【図１４】ブロックExtensionData()から拡張データを読み出す際の一例の処理を示すフローチャートである。
【図１５】ファイル"index.bdmv"内のフィールドExtensionData()におけるブロックdata_block()の一例の構造を表すシンタクスを示す略線図である。
【図１６】ブロックTableOfPlayLists()の一例の構造を表すシンタクスを示す略線図である。
【図１７】プレイリストのそれぞれ属性について、一例の意味を示す。
【図１８】タイトル、ムービーオブジェクトおよびプレイリストの関係に関する制約に基づきメニューを構成することを説明するための略線図である。
【図１９】クリップを追加して記録する直前の一例のメニュー画面と、当該メニュー画面に関わるタイトル、ムービーオブジェクトおよびプレイリストの構成例を示す略線図である。
【図２０】クリップを追加して記録した際のメニュー画面の一例の作成処理を示すフローチャートである。
【図２１】クリップを追加して記録した際のメニュー画面の一例の作成処理を説明するための略線図である。
【図２２】クリップを追加して記録した際のメニュー画面の一例の作成処理を説明するための略線図である。
【図２３】クリップを追加して記録した際のメニュー画面の一例の作成処理を説明するための略線図である。
【図２４】クリップを追加して記録した際のメニュー画面の一例の作成処理を説明するための略線図である。
【図２５】ＢＤ仮想プレーヤの動作を概略的に示すフローチャートである。
【図２６】ＢＤ仮想プレーヤの動作を概略的に示す略線図である。
【図２７】この発明の実施の一形態に適用可能な記録再生装置の一例の構成を示すブロック図である。
【図２８】ＢＤ−ＲＯＭ規格によるタイトル、ムービーオブジェクトおよびプレイリストの一例の関係を概略的に示す略線図である。
【符号の説明】
【０２１３】
１０  記録媒体
１１  読み出し部
１７  制御部
１８  書き込み部
２８  データ入出力端子
１００，１１０  メニュー画面
【図１】
0004765733.tif 000002
【図２】
0004765733.tif 000003
【図３】
0004765733.tif 000004
【図４】
0004765733.tif 000005
【図５】
0004765733.tif 000006
【図６】
0004765733.tif 000007
【図７】
0004765733.tif 000008
【図８】
0004765733.tif 000009
【図９】
0004765733.tif 000010
【図１０】
0004765733.tif 000011
【図１１】
0004765733.tif 000012
【図１２】
0004765733.tif 000013
【図１３】
0004765733.tif 000014
【図１４】
0004765733.tif 000015
【図１５】
0004765733.tif 000016
【図１６】
0004765733.tif 000017
【図１７】
0004765733.tif 000018
【図１８】
0004765733.tif 000019
【図１９】
0004765733.tif 000020
【図２０】
0004765733.tif 000021
【図２１】
0004765733.tif 000022
【図２２】
0004765733.tif 000023
【図２３】
0004765733.tif 000024
【図２４】
0004765733.tif 000025
【図２５】
0004765733.tif 000026
【図２６】
0004765733.tif 000027
【図２７】
0004765733.tif 000028
【図２８】
0004765733.tif 000029