明 細 書
記録装置、 記録方法および記録プログラム 技術分野
この発明は、 A V (Audio/Video)ストリームと、 その再生区間や再 生順序を示す再生制御情報と、 その再生制御情報を指定するオブジェ ク卜と、 そのオブジェクトを呼び出すタイトルが記述されるテーブル とを有するフォーマツトを用いて記録される記録媒体と互換性を持た せ、 メニュー画面を容易に作成できるようにした記録装置、 記録方法 および記録プログラムに関する。
例えばブルーレイディスク (B l u— r a y D i s c :登録商標 ) の再生専用フォーマツトである 「Blu- ray Disc Read- Only Format 」 と互換性を持たせたメニュー画面を容易に作成できるようにした記 録装置、 記録方法および記録プログラムに適用することができる。 背景技術
近年、 記録可能で記録再生装置から取り外し可能なディスク型記録 媒体の規格として、 B l u— r a y D i s c規格が提案されている 。 B l u - r a y D i s c規格では、 記録媒体として直径 1 2 cm 、 カバー層 0. 1mmのディスクを用い、 光学系として波長 40 5 η mの青紫色レーザ、 開口数 0. 8 5の対物レンズを用いて、 最大で 2 7 GB (ギガバイト) の記録容量を実現している。 これにより、 日本 の: B Sディジタルハイビジョン放送を、 画質を劣化させることなく 2 時間以上記録することが可能である。
この記録可能光ディスクに記録する AV (Audio/Video)信号のソー ス (供給源) としては、 従来からの、 例えばアナログテレビジョン放
送によるアナログ信号によるものと、 例えば B Sディジ夕ル放送をは じめとするディジタルテレビジョン放送によるディジ夕ル信号による ものとが想定されている。 B l u— r a y D i s c規格では、 これ らの放送による A V信号を記録する方法を定めた規格は、 既に作られ ている。
一方で、 現状の B 1 u— r a y D i s cの派生規格として、 映画 や音楽などが予め記録された、 再生専用の記録媒体を開発する動きが 進んでいる。 映画や音楽を記録するためのディスク状記録媒体として は、 既に DVD (Digital Versatile Disc)が広く普及しているが、 こ の B l u— r a y D i s cの規格に基づいた再生専用光ディスクは 、 B l u— r a y D i s cの大容量および高速な転送速度などを活 かし、 八ィビジョン映像を高画質なままで 2時間以上収録できる点が 、 既存の DVDとは大きく異なり、 優位である。
この B l u— r a y D i s cにおける再生専用の記録媒体の規格 を、 以下では、 BD— ROM(Blu_ray Disc- Read Only Memory)規格 と呼ぶ。 また、 B l u— r a y D i s cにおける記録可能な記録媒 体の規格を、 BD— RE規格と呼ぶ。 特許文献 「特願 2 0 04 - 2 1 88 6号」 には、 再生専用タイプの B 1 u - r a y D i s cである BD— ROMの規格に関して記載されている。
BD— ROM規格においては、 ビデオデータはクリップ(Clip)を単 位として記録され、 クリップに対してムービープレイリスト(MoviePl ayList)を用いて再生区間を指定することができる。 ここで、 連続同 期再生、 すなわち実時間再生が保障された再生が必要な単位となるデ 一夕のまとまりを、 クリップと呼ぶ。 例えば、 記録媒体上に 1つのフ アイルとして存在するビデオデータがクリップとされる。 ムービープ レイリストは、 複数のクリップに対してそれぞれ再生開始点 ( I N点
) および再生終了点 (O U T点) を指定し、 当該複数のクリップそれ ぞれの再生区間および再生順序を指定することができる。
ム一ビープレイリスト (以下、 プレイリストと略称する) は、 ム一 ビーオブジェクト(Movi eObj ec t)内のナビゲ一ションコマンドにより 指定され、 再生が行われる。 ムービーオブジェクトは、 タイトルの入 口としてィンデックステーブルに列挙される。 ィンデックステーブル は、 ディスクをプレーヤに装填した際に最初に読み込まれるデータで あって、 ユーザは、 ディスク装填時には、 インデックステーブルに記 述されたタイトルが見えることになる。
また、 B D— R O M規格においては、 クリップおよびプレイリスト 間での参照関係を自由に設定できるようにされている。 例えば、 ある クリップにする参照を、 それぞれ I N点および O U T点の異なる 2つ のプレイリストから行うことができる。 さらに、 タイトルおよびムー ビーオブジェクト間での参照関係も、 自由に設定することができる。 第 1図は、 B D— R O M規格によるタイトル、 ムービーオブジェク トおよびプレイリストの一例の関係を概略的に示す。 ディスクがプレ ーャに装填されると、 最初にインデックステーブル上のファーストプ レイバック(F i rs tP l ayBack)およびトップメニュ一(TopMenu)が読み込 まれ、 これらに記述されるムービーオブジェクトに基づきトレ一ラや トップメニューが再生されることになる。 ュ一ザは、 トップメニュー から、 ディスクに記録されている各タイトルの再生を指示することが できる。
この第 1図の例では、 ファーストプレイバックおよびトップメニュ 一によりムービーオブジェクト # 4が指定され、 ムービーオブジェク ト # 4からプレイリスト # 1 0 0およびプレイリスト # 1 0 1が参照 され、 ファーストプレイバックおよびトップメニューのメニュー画面
が表示される。
すなわち、 この第 1図の例は、 最初にムービーオブジェクト # 4に よるメニュー画面が表示され、 メニュー画面の表示が終了すると、 ム 一ビーオブジェクト # 0の再生が開始され、 メニュー画面の表示中に 例えばタイトルジャンプを選択すると、 タイトル # 1にジャンプして そこからムービーオブジェクト# 0の再生が開始されるようなシナリ ォ構成となっている。
トップメニューは、 6個のタイトル # 1〜タイトル # 6の再生をナ ピゲーシヨンする。 タイトル # 1およびタイトル # 3は、 それぞれム 一ビーオブジェクト # 0の再生を指示し、 タイトル # 4およびタイト ル # 6は、 それぞれムービーオブジェクト # 2の再生を指示する。 ま た、 トップメニューを再生するためのムービーオブジェクト # 4は、 タイトル # 1にジャンプすると共に、 タイトル # 1に参照されるムー ビーオブジェクト # 0にジャンプされる。 さらに、 ムービーオブジェ クト # 0は、 プレイリスト # 1 0 0およびプレイリスト # 1 0 1の 2 つのプレイリストを再生するコマンドが記述され、 ムービーオブジェ クト # 3は、 プレイリスト # 4、 プレイリスト # 5およびプレイリス ト # 6の 3つのプレイリストを再生するコマンドが記述される。
上述したように、 B D— R O M規格においては、 1つのム一ビ一ォ ブジェクトに対する複数のタイトルからの再生指示や、 1つのムービ 一才ブジェクトからのタイトルおよびム一ビーオブジェクトに対する ジャンプ、 1つのム一ビ一オブジェクトから複数のプレイリストに対 する再生指示などを行わせることができる。 このように、 タイトルや ムービーオブジェクト、 プレイリストなどの間での自由な参照関係を 可能とすることで、 コンテンツ制作者の意図の実現が容易となる利点 がある。
ところで、 従来から存在する、 再生専用の記録媒体に対して規定さ れた DVD— V i d e o (Digital Versatile Disc- Video)規格を用い て、 記録可能な DVDに対して AV (Audio/Video)データを記録する ようにした DVDレコーダが普及してきている。 このことから、 現状 では再生専用の記録媒体に対する規格として開発されている B D-R OM規格も、 将来的には、 民生用レコーダの記録方式の一つとして用 いられることが想定される。 このため、 BD— ROM規格を記録可能 な記録媒体に拡張するような規格の開発が進められている。
BD— ROM規格を記録可能な記録媒体に対して拡張する場合でも 、 ディスクに記録されるタイトルは、 インデックステーブルの記述に 従い再生されるトップメニューから指定されて再生が開始されるよう になっている必要がある。 また、 記録可能な記録媒体では、 タイトル の削除や追加といった、 タイトルの編集が可能とされていることが要 求される。
例えば、 当該記録媒体をビデオカメラに用いた場合、 撮影ポタンな どが押され撮影が開始されると新たなクリップの記録が開始され、 撮 影ポタンの解除操作などにより撮影が終了されクリップの記録が終了 されると、 当該クリップに対応するタイトルが追加されることになる 。 同様に、 記録されたクリップを削除すると、 対応するタイトルも削 除される。
ここで、 タイトルの管理を、 例えばクリップの記録順にタイトル番 号を付して行う場合について考える。 この場合、 タイトルの管理方法 としては、 タイトルの編集に関わらずタイトル番号を保持する第 1の 管理方法と、 タイトルの編集に際してタイトルの記録順は保持し、 編 集に応じてタイトル番号を変更する第 2の管理方法の 2通りが考えら れる。
例えば第 2図 Aに一例が示されるように、 タイトル # 1、 タイトル # 2、 タイトル # 3およびタイトル # 4がある場合を考える。 これら のうち編集によりタイトル # 2を削除した場合、 第 1の管理方法では 、 第 2図 Bに一例が示されるように、 それぞれのタイトル番号が維持 され、 削除されたタイトル # 2が欠番とされる。 一方、 第 2の管理方 法では、 第 2図 Cに一例が示されるように、 削除されたタイトル # 2 より後ろのタイトルの番号が、 タイトル # 2に対して順に詰められる 。 第 2図 Cの例では、 編集前のタイトル # 3およびタイトル # 4が、 編集後にそれぞれ新たなタイトル # 2およびタイトル # 3とされる。
レコーダに対してこれら第 1の管理方法および第 2の管理方法のう ち何れが実装されるかは、 例えば、 レコーダの設計思想などに応じて 決められる。
しかしながら、 この場合、 第 1の管理方法が実装されたレコーダと 、 第 2の管理方法が実装されたレコーダとの間で、 メニュー画面など における互換性が保てなくなるという問題点があつた。
例えば、 上述の第 2図 A、 第 2図 Bおよび第 2図 Cを参照し、 第 1 の管理方法に基づき作成されたメニュー画面を、 第 2の管理方法が実 装された装置で再生すると、 第 2図 Bのタイトル # 4に対応するメニ ユーが表示されないなどの矛盾が生じる可能性がある。 同様に、 第 2 の管理方法に基づき作成されたメニュー画面を、 第 1の管理方法が実 装された装置で再生すると、 第 2図 Cのタイ トル # 2がメニューに表 示されているにも関わらず再生できないなどの矛盾が生じる可能性が ある。 発明の開示
したがって、 この発明の目的は、 B D— R O M規格を記録可能な記
録媒体に対して拡張した場合に、 タイトルの編集に関わらずタイトル 番号を維持するシステムと、 タイトルの編集に際して、 タイトルの記 録順は保持し、 タイトル番号を編集に応じて変更するシステムとが両 立可能な記録装置、 記録方法および記録プログラムを提供することに ある。
この発明は、 少なくともコンテンツデータと、 コンテンツデータの 再生を制御するための再生制御情報とを記録媒体に記録する記録装置 において、 コンテンツデータを記録媒体に記録する記録部と、 記録媒 体に記録されるコンテンツデータに対し、 コンテンッデータの属性情 報を示すクリップ情報を含むクリップ情報ファイルと、 クリップ情報 を呼び出すプレイリストを含むプレイリストファイルと、 プレイリス トを呼び出すコンテンツデータの再生方法を示すオブジェクトを含む オブジェクトファイルと、 オブジェクトを呼び出すタイ トルが記述さ れるィンデックステーブルを含むィンデックスファイルとを生成する ように制御する制御部とを有し、 制御部は、 プレイリストファイルの 生成時にプレイリストファイルが属するタイトルを示す情報をィンデ ックスファイルに対して付加するように制御することを特徴とする記 録装置である。
また、 この発明は、 少なくともコンテンツデータと、 コンテンツデ 一夕の再生を制御するための再生制御情報とを記録媒体に記録する記 録方法において、 記録媒体に記録されるコンテンツデ一夕に対し、 コ ンテンッデータの属性情報を示すクリップ情報を含むクリップ情報フ アイルと、 クリップ情報を呼び出すプレイリストを含むプレイリスト ファイルと、 プレイリストを呼び出すコンテンツデータの再生方法を 示すオブジェクトを含むオブジェクトファイルと、 オブジェクトを呼 び出すタイトルが記述されるインデックステーブルを含むィンデック
スファイルとを生成するように制御され、 プレイリストファイルの生 成時にプレイリストファイルが属するタイトルを示す情報をインデッ クスファイルに対して付加するように制御することを特徴とする記録 方法である。
また、 この発明は、 少なくともコンテンツデータと、 コンテンツデ 一夕の再生を制御するための再生制御情報とを記録媒体に記録する記 録方法をコンピュータ装置に実行させる記録プログラムにおいて、 記 録方法は、 記録媒体に記録されるコンテンツデータに対し、 コンテン ッデータの属性情報を示すクリップ情報を含むクリップ情報ファイル と、 クリップ情報を呼び出すプレイリストを含むプレイリストフアイ ルと、 プレイリストを呼び出すコンテンツデータの再生方法を示すォ ブジェクトを含むオブジェクトファイルと、 オブジェクトを呼び出す タイトルが記述されるィンデックステーブルを含むィンデックスファ ィルとを生成するように制御され、 プレイリストファイルの生成時に プレイリストファイルが属するタイトルを示す情報をィンデックスフ アイルに対して付加するように制御することを特徴とする記録プログ ラムである。
上述したように、 この発明は、 記録媒体に記録されるコンテンツデ 一夕に対し、 コンテンツデータの属性情報を示すクリップ情報を含む クリップ情報ファイルと、 クリップ情報を呼び出すプレイリストを含 むプレイリストファイルと、 プレイリストを呼び出すコンテンツデ一 夕の再生方法を示すオブジェクトを含むオブジェクトファイルと、 ォ ブジェクトを呼び出すタイトルが記述されるィンデックステーブルを 含むインデックスファイルとを生成するように制御され、 プレイリス 卜ファイルの生成時にプレイリストファイルが属するタイトルを示す 情報をィンデックスファイルに対して付加するように制御しているた
め、 他機でタイトル番号を保持しないタイトル削除がなされたか否か を容易に知ることができる。
この発明は、 上述したように、 記録媒体に記録されるコンテンツデ 一夕に対し、 コンテンツデータの属性情報を示すクリップ情報を含む クリップ情報ファイルと、 クリップ情報を呼び出すプレイリストを含 むプレイリストファイルと、 プレイリストを呼び出すコンテンッデー 夕の再生方法を示すオブジェクトを含むオブジェクトファイルと、 ォ ブジェクトを呼び出すタイトルが記述されるィンデックステーブルを 含むインデックスファイルとを生成するように制御され、 プレイリス トファイルの生成時にプレイリストファイルが属するタイトルを示す 情報をィンデックスフアイルに対して付加するように制御しているた め、 他機でタイトル番号を保持しないタイトル削除がなされた場合で も、 プレイリストの生成時にプレイリス卜が属するタイトルを示す情 報に基づき、 削除されたタイトル番号を復元することができる効果が ある。 図面の簡単な説明
第 1図は、 B D— R O M規格によるタイトル、 ムービーオブジェク トおよびプレイリストの一例の関係を概略的に示す略線図、 第 2図 A 、 第 2図 Bおよび第 2図 Cは、 タイトルの編集に関わるタイトルの管 理方法を説明するための略線図、 第 3図は、 B D— R O Mのデータモ デルを概略的に示す略線図、 第 4図は、 インデックステーブルを説明 するための略線図、 第 5図は、 クリップ A Vストリーム、 クリップ情 報、 クリップ、 プレイアイテムおよびプレイリストの関係を示す U M L図、 第 6図は、 複数のプレイリストから同一のクリップを参照する 方法を説明するための略線図、 第 7図は、 サブパスについて説明する
ための略線図、 第 8図は、 記録媒体に記録されるファイルの管理構造 を説明するための略線図、 第 9図は、 ファイル" index, bdmv"の一例の 構造を表すシンタクスを示す略線図、 第 1 0図は、 ブロック Indexes( )の一例の構造を表すシンタクスを示す略線図、 第 1 1図は、 フアイ ル" MovieObject.bdmv"の一例の構造を表すシンタクスを示す略線図、 第 1 2図は、 ブロック MovieObjectsOの一例の構造を表すシンタクス を示す略線図、 第 1 3図は、 ブロック ExtensionDataOの一例の構造 を表すシンタクスを示す略線図、 第 14図は、 ブロック ExtensionDat a()における各データの参照関係を模式的に示す略線図、 第 1 5図は 、 ブロック ExtensionDataOにデータを書き込む際の一例の処理を示 すフローチャート、 第 1 6図は、 ブロック ExtensionDataOから拡張 データを読み出す際の一例の処理を示すフローチャート、 第 1 7図は 、 ファイル" index, bdmv"内のフィールド Extens ionData 0におけるブ 口ック data— blockOの一例の構造を表すシンタクスを示す略線図、 第 1 8図は、 ブロック TableOfPlayListsOの一例の構造を表すシンタク スを示す略線図、 第 1 9図は、 編集前のメニュー画面と、 当該メニュ 一画面に関わるタイトル、 ムービーオブジェクトおよびプレイリスト の構成例を示す略線図、 第 2 0図は、 タイトル # 3を削除した場合の メニュー画面と、 当該メニュー画面に関わるタイトル、 ムービーォブ ジェクトおよびプレイリストの構成例を示す略線図、 第 2 1図は、 夕 ィトル番号が復元された状態のメニュー画面と、 当該メニュー画面に 関わるタイトル、 ムービーオブジェクトおよびプレイリストの構成例 を示す略線図、 第 22図は、 値 title— id_refに基づきタイトル番号を 復元する一例の処理を示すフローチャート、 第 2 3図 Aおよび第 2 3 図 Bは、 BD仮想プレーヤの動作を概略的に示すフローチャート、 第 24図は、 BD仮想プレーヤの動作を概略的に示す略線図、 第 2 5図
は、 この発明の実施の一形態に適用可能な記録再生装置の一例の構成 を示すブロック図である。 発明を実施するための最良の形態
以下、 この発明の実施の一形態を、 図面を参照しながら説明する。 先ず、 理解を容易とするために、 B l u— r a y D i s cに関し、 Bin- ray Disc Read Only Format Verl.0 par t3 Audio Visual Speci fications"で規定されている、 読み出し専用タイプの B 1 u - r a y D i s cである BD— ROMに記録されたコンテンツすなわち AV (Audio/Video)デ一夕の管理構造について、 BD— ROM規格を記録 可能な記録媒体に拡張した際に適用可能な部分を概略的に説明する。 以下では、 この B D— ROMにおける管理構造を B DM Vフォーマツ トと称する。 また、 BDMVフォーマットを記録可能な記録媒体に対 して拡張したフォーマットを、 便宜上、 拡張 B DM Vフォーマットと 呼ぶ。
例えば MP E G (Moving Pictures Experts Group)ビデオや M P E Gオーディォなどの符号化方式で符号化され、 MP E G 2システムに 従い多重化されたビットストリームは、 クリップ AVストリ一ム (ま たは A Vストリーム) と称される。 クリップ A Vストリームは、 B 1 u - r a y D i s cに関する規格の一つである" Blu- ray Disc Read Only Format part2"で定義されたファイルシステムにより、 フアイ ルとしてディスクに記録される。 このファイルを、 クリップ AVスト リームファイル (または A Vストリームファイル) と称する。
クリップ AVストリームファイルは、 ファイルシステム上での管理 単位であり、 ユーザにとって必ずしも分かりやすい管理単位であると は限らない。 ユーザの利便性を考えた場合、 複数のクリップ A Vスト
リームファイルに分割された映像コンテンッを一つにまとめて再生す る仕組みや、 クリップ AVストリームファイルの一部だけを再生する 仕組み、 さらには、 特殊再生や頭出し再生を滑らかに行うための情報 などをデータベースとしてディスクに記録しておく必要がある。 B 1 u - r a y D i s cに関する規格の一つである" Blu- ray Disc Read Only Format part3"で、 このデータベースが規定される。
第 3図は、 BD— ROMのデータモデルを概略的に示す。 BD— R OMのデータ構造は、 第 3図に示されるように 4層のレイヤよりなる 。 最も最下層のレイヤは、 クリップ AVストリームが配置されるレイ ャである (便宜上、 クリップレイヤと呼ぶ) 。 その上のレイヤは、 ク リップ AVストリームに対する再生箇所を指定するための、 ムービー プレイリスト(Movie PlayList)と、 プレイアイテム(Playltem)とが配 置されるレイヤである (便宜上、 プレイリストレイヤと呼ぶ) 。 さら にその上のレイヤは、 ムービ一プレイリストに対して再生順などを指 定するコマンドからなるムービーオブジェクト(Movie Object)などが 配置されるレイヤである (便宜上、 オブジェクトレイヤと呼ぶ) 。 最 上層のレイヤは、 この BD— ROMに格納されるタイトルなどを管理 するインデックステーブルが配'置される (便宜上、 インデックスレイ ャと呼ぶ) 。
クリップレイヤについて説明する。 クリップ AVストリームは、 ビ デォデータやオーディオデータが MP E G 2 TS (トランスポート ストリーム) の形式などに多重化されたビットストリームである。 こ のクリップ AVストリームに関する情報がクリップ情報(Clip Inform at ion)としてファイルに記録される。
また、 クリップ AVストリームには、 字幕を表示するグラフィクス ストリームであるプレゼンテーショングラフィクス (P G) ストリー
ムゃ、 メニュー表示などに用いられるデータ (ポタン画像データなど
) をストリームにしたインタラクティブグラフィクス ( I G) ストリ ームも多重化される。
クリップ AVストリームファイルと、 対応するクリップ情報が記録 されたクリップ情報ファイルとをひとまとまりのオブジェク卜と見な し、 クリップ(Clip)と称する。 すなわち、 クリップは、 クリップ AV ストリームとクリップ情報とから構成される、 一つのオブジェクトで ある。
ファイルは、 一般的に、 バイト列として扱われる。 クリップ AVス トリームファイルのコンテンツは、 時間軸上に展開され、 クリップ中 のエントリ一ポイントは、 主に時間ベースで指定される。 所定のクリ ップへのアクセスボイントのタイムスタンプが与えられた場合、 クリ ップ AVストリームファイルの中でデータの読み出しを開始すべきァ ドレス情報を見つけるために、 クリップ情報ファイルを用いることが できる。
プレイリストレイヤについて説明する。 ム一ビ一プレイリストは、 再生する AVストリームファイルの指定と、 指定された AVス卜リー ムファイルの再生箇所を指定する再生開始点 ( I N点) と再生終了点 (OUT点) の集まりとから構成される。 この再生開始点と再生終了 点の情報を一組としたものは、 プレイアイテム(Playltem)と称される 。 ムービープレイリストは、 プレイアイテムの集合で構成される。 プ レイアイテムを再生するということは、 そのプレイアイテムに参照さ れる A Vストリームファイルの一部分を再生するということになる。 すなわち、 プレイアイテム中の I N点および OUT点情報に基づき、 クリップ中の対応する区間が再生される。
オブジェクトレイヤについて説明する。 ムービーオブジェクトは、
HDMVナビゲーションコマンドプログラムと、 ム一ピ一オブジェク トとを連携するターミナルインフオメ一ションを含む。 HDMVナビ ゲ一ションプログラムは、 プレイリス卜の再生を制御するためのコマ ンドである。 以下、 HDMVナビゲーシヨンコマンドを、 適宜、 ナビ ゲーシヨンコマンド(navigation command)と略称する。 夕一ミナルイ ンフオメ一シヨンは、 ユーザの BD— ROMプレーヤに対するィン夕 ラクティブな操作を許可するための情報を含んでいる。 このターミナ ルインフォメーションに基づき、 メニュー画面の呼び出しや、 夕イト ルサーチといったユーザオペレーションが制御される。
BD— Jオブジェクトは、 J a V aプログラム ( J a V aは登録商 標) によるオブジェクトからなる。 BD— Jオブジェクトは、 この発 明と関わりが薄いので、 詳細な説明を省略する。
インデックスレイヤについて説明する。 インデックスレイヤは、 ィ ンデックステ一ブルからなる。 インデックステーブルは、 BD— R〇 Mディスクのタイトルを定義する、 トップレベルのテーブルである。 インデックステーブルに格納されているタイトル情報に基づき、 BD 一 ROM常駐システムソフトウエア中のモジュールマネージャにより BD— ROMディスクの再生が制御される。
すなわち、 第 4図に概略的に示されるように、 インデックステープ ル中の任意のエントリは、 タイトルと称され、 インデックステーブル にエントリされるファーストプレイパック(First Playback), トップ メニュー(Top Menu)およびタイトル(Title) # 1、 # 2、 · · · は、 全てタイトルである。 各タイ トルは、 ム一ビ一オブジェクトあるいは BD— Jオブジェクトに対するリンクを示し、 各タイトルは、 HDM Vタイトルあるいは BD— Jタイトルの何れかを示す。
例えば、 ファース卜プレイバックは、 当該 BD— ROMに格納され
るコンテンツが映画であれば、 映画本編に先立って映出される映画会 社の宣伝用映像 (トレーラ) である。 トップメニューは、 例えばコン テンッが映画である場合、 本編再生、 チヤプ夕サーチ、 字幕や言語設 定、 特典映像再生などを選択するためのメニュー画面である。 また、 タイトルは、 トップメニューから選択される各映像である。 タイトル がさらにメニュー画面であるような構成も可能である。
第 5図は、 上述のようなクリップ A Vストリーム、 クリップ情報(S t ream At t r i bu t es) , クリップ、 プレイアイテムおよびプレイリスト の関係を示す U M L (Uni f i ed Mode l ing Language)図である。 プレイ リストは、 1または複数のプレイアイテムに対応付けられ、 プレイァ ィテムは、 1のクリップに対応付けられる。 1のクリップに対して、 それぞれ開始点および/または終了点が異なる複数のプレイアイテム を対応付けることができる。 1のクリップから 1のクリップ A Vスト リームファイルが参照される。 同様に、 1のクリップから 1のクリツ プ情報ファイルが参照される。 また、 クリップ A Vストリームフアイ ルとクリップ情報ファイルとは、 1対 1の対応関係を有する。 このよ うな構造を定義することにより、 クリップ A Vストリームファイルを 変更することなく、 任意の部分だけを再生する、 非破壊の再生順序指 定を行うことが可能となる。
また、 第 6図のように、 複数のプレイリストから同一のクリップを 参照することもできる。 また、 1のプレイリストから複数のクリップ を指定することもできる。 クリップは、 プレイリスト中のプレイアイ テムに示される I N点および O U T点により、 参照される。 第 6図の 例では、 クリップ 3 0 0は、 プレイリスト 3 1 0のプレイアイテム 3 2 0から参照されると共に、 プレイリスト 3 1 1を構成するプレイァ ィテム 3 2 1および 3 2 2のうちプレイアイテム 3 2 1から、 I N点
および OUT点で示される区間が参照される。 また、 クリップ 3 0 1 は、 プレイリスト 3 1 1のプレイアイテム 3 22から I N点および〇 UT点で示される区間が参照されると共に、 プレイリスト 3 1 2のプ レイアイテム 32 3および 324のうち、 プレイアイテム 32 3の I N点および OUT点で示される区間が参照される。
なお、 プレイリストは、 第 7図に一例が示されるように、 主として 再生されるプレイアイテムに対応するメインパスに対して、 サブプレ ィアイテムに対応するサブパスを持つことができる。 例えば、 このプ レイリストに付けられているアフレコオーディォ用のプレイアイテム をサブプレイアイテムとして、 プレイリストに持たせることができる 。 詳細は省略するが、 プレイリストは、 所定の条件を満たす場合にだ け、 サブプレイアイテムを持つことができる。
次に、 "Blu- ray Disc Read Only Format part3"で規定された、 B D— ROMに記録されるファイルの管理構造について、 第 8図を用い て説明する。 ファイルは、 ディレクトリ構造により階層的に管理され る。 記録媒体上には、 先ず、 1つのディレクトリ (第 8図の例ではル 一卜(root)ディレクトリ) が作成される。 このディレクトリの下が、 1つの記録再生システムで管理される範囲とする。
ルートディレクトリの下に、 ディレクトリ" BDMV"、 ディレクトリ" C ERTIFICATE"およびディレクトリ" HMVCTN"が置かれる。 ディレクトリ "CERTIFICATE"は、 著作権に関する情報が格納される。 ディレクトリ" HDAVCTN"には、 例えばクリップの代表画像を所定サイズに縮小したサ ムネイルファイルが置かれる。 ディレクトリ" BDMV"に、 第 3図を用い て説明したデー夕構造が格納される。
ディレクトリ" BDMV"の直下には、 ファイルは、 ファイル" index, bdm v"およびファイル" MovieObject.bdmv"の 2つのみを置くことができる
。 また、 ディレクトリ" BDMV"の下に、 ディレクトリ" PLAYLIST"、 ディ レクトリ" CLIPINF"、 ディレクトリ" STREAM"、 ディレクトリ" AUXDATA" 、 ディレクトリ" META"、 ディレクトリ" BDJO"、 ディレクトリ" JAR"、 およびディレクトリ" BACKUP"が置かれる。
ファイル" index, bdmv"は、 ディレクトリ BDMVの内容について記述さ れる。 すなわち、 このファイル" index. bdmv"が上述した最上層のレイ ャであるインデックスレイヤにおけるインデックステーブルに対応す る。 また、 ファイル MovieObject.bdmvは、 1つ以上のムービーォブジ ェクトの情報が格納される。 すなわち、 このファイル" MovieObject.b dmv"が上述したオブジェクトレイヤに対応する。
ディレクトリ"; PLAYLIST"は、 プレイリストのデータベースが置かれ るディレクトリである。 すなわち、 ディレクトリ" PLAYLIST"は、 ムー ビープレイリストに関するファイルであるファイル" xxxxx.mpls"を含 む。 ファイル" xxxxx.mpls"は、 ムービープレイリストのそれぞれに対 して作成されるファイルである。 ファイル名において、 "." (ピリオ ド) の前の" xxxxx"は、 5桁の数字とされ、 ピリオドの後ろの"] npls" は、 このタイプのファイルに固定的とされた拡張子である。
ディレクトリ'' CLIPINF"は、 クリップのデータベースが置かれるデ ィレクトリである。 すなわち、 ディレクトリ CLIPINF"は、 クリップ A Vストリ一ムファイルのそれぞれに対するクリップインフォメーショ ンファイルであるファイル" zzzzz. clpi"を含む。 ファイル名において 、 "." (ピリオド) の前の" zzzzz"は、 5桁の数字とされ、 ピリオドの 後ろの" clpi"は、 このタイプのファイルに固定的とされた拡張子であ る。
ディレクトリ" STREAM"は、 実体としての A Vストリームファイルが 置かれるディレクトリである。 すなわち、 ディレクトリ" STREAM"は、
クリップインフォメーションファイルのそれぞれに対応するクリップ
AVストリームファイルを含む。 クリップ AVストリームファイルは 、 MP E G 2 (Moving Pictures Experts Group 2)のトランスポ一ト ストリーム (以下、 MP EG 2 TSと略称する) からなり、 フアイ ル名が" zzzzz.m2ts"とされる。 ファイル名において、 ピリオドの前の "zzzzz"は、 対応するクリップインフォメ一ションファイルと同一す ることで、 クリップインフォメーションファイルとこのクリップ A V ストリームファイルとの対応関係を容易に把握することができる。 ディレクトリ" AUXDATA"ほ、 メニュー表示などに用いられる、 サゥ ンドファイル、 フォントファイル、 フォントインデックスファイルお よびビットマップファイルなどが置かれる。 ファイル" sound, bdmv"は 、 HDMVのインタラクティブなグラフィクスストリームのアプリケ ーシヨンに関連したサウンドデータが格納される。 ファイル名は、 "s ound. bdmv"に固定的とされる。 ファイル" aaaaa. ot Γは、 字幕表示や 上述した BD— Jアプリケ一ションなどで用いられるフォントデータ が格納される。 ファイル名において、 ピリオドの前の" aaaaa"は、 5 桁の数字とされ、 ピリオドの後ろの" otf"は、 このタイプのファイル に固定的とされた拡張子である。 ファイル" bdmv. fontindex"は、 フォ ントのィンデックスファイルである。
ディレクトリ" META"は、 メタデータファイルが格納される。 ディレ クトリ" BDJ0"およびディレクトリ" JAR"は、 上述の BD— Jオブジェ クトに関連するファイルが格納される。 また、 ディレクトリ" BACKUP" は、 上述までの各ディレクトリおよびファイルのバックアップが格納 される。 これらディレクトリ" META"、 ディレクトリ" BDJ0"、 ディレク トリ"; IAR"およびディレクトリ" BACKUP"は、 この発明の主旨と直接的 な関わりがないので、 詳細な説明を省略する。
なお、 ディレクトリ" HDAVCTN"は、 2種類のサムネイルファイル thu mbnail. t idxおよび thumbnai 1. tdt2を置くことができる。 サムネイル ファイル thumbnai 1. tidxは、 サムネイルファイル thumbnai 1. tdt2に格 納されるサムネイル画像を管理する情報が格納される。
第 8図で示した各ファイルのうち、 この発明に関わりの深いものに ついて、 より詳細に説明する。 先ず、 ディレクトリ" BDMV"の直下に置 かれるファイル" index, bdmv"について説明する。 第 9図は、 このファ ィル" index, bdmv"の一例の構造を表すシンタクスを示す。 ここでは、 シンタクスをコンピュータ装置などのプログラムの記述言語として用 いられる C言語の記述法に基づき示す。 これは、 他のシンタクスを表 す図において、 同様である。
第 9図において、 フィールド type— indicatorは、 3 2ビットのデー タ長を有し、 このファイルがィンデックステ一ブルであることを示す 。 フィールド version— numberは、 3 2ビットのデータ長を有し、 この ファイ レ" index, bdmv"のノ ージヨンを示す。 フィーリレド indexes— s tar し addressは、 3 2ビットのデータ長を有し、 このシンタクス内にあ るブロック Indexes 0の開始ァドレスを示す。
フィ—ルド ExtensionDa _starし addressは、 3 2ビットのデータ 長を有し、 このシンタクス内にあるブロック ExtensionDataOの開始 アドレスを示す。 フィールド ExtensionData_s rt— addressは、 この ファイル" index, bdmv"の最初のバイトからの相対バイト数で、 ブロッ ク ExtensionDataOの開始アドレスを示す。 相対バイト数は、 " 0 "力 ら開始される。 若し、 このフィールド ExtensionData_s rし address の値が" 0"であれば、 このファイル" index. bdmv"内に、 ブロック Exte nsionDataOが存在しないことを示す。
フィールド ExtensionData start addressに続くデータ長が 1 9 2
バイトの領域は、 将来の使用のために予約されている領域である。 ブ ロック AppInfoBDMVOは、 コンテンツ制作者が任意の情報を記述でき るブロックであって、 プレーヤの動作などには影響を与えない。
ブロック Indexes 0は、 このフアイル" index, bdmv"の実質的な内容 であって、 このファイル" index, bdmv"に記述された内容により、 ディ スクをプレーヤに装填した際に再生されるファーストプレイパックや 、 トップメニューから呼び出されるタイトル (ム一ビ一オブジェクト や BD— Jオブジェクト) が指定される。 なお、 以下では、 ムービー オブジェクトおよび BD— Jオブジェクトを纏めて、 ムービーォブジ ェク卜等と記述する。 インデックステ一ブルにより呼び出されたムー ピーオブジェクト等に記述されたコマンドに基づき、 後述するムービ —プレイリストファイルが読み込まれる。
第 1 0図は、 ブロック Indexes 0の一例の構造を表すシンタクスを 示す。 なお、 第 1 0図において、 この発明と直接的に関わりのない部 分は、 領域 Reservedとして記されている。 すなわち、 第 1 0図の表記 は、 記録可能な記録媒体のための拡張 BDMVフォーマツ卜に適用さ れる記述に限定的とされている。 フィールド lengthは、 3 2ビットの データ長を有し、 このフィールド length直後からこのブロック Indexe s()の終わりまでのデータ長を示す。 続けて、 ブロック FirstPlayback 0およびブロック TopMenuOが配される。
ブロック Firs tPlaybackOは、 ファーストプレイバックで用いられ るォブジェクトに関する情報が記述される。 ブロック FirstPlayback( )の最初のフィールドには、 固定値 "01 "が記述され、 ファーストプレ ィバックで用いられるオブジェク卜がムービーオブジェクトであるこ とが示される。 そして、 2ビットのデ一夕長を有するフィールド HDAV C— Title— playback_typeにより HDAVCタイトルの再生タイプが示
され、 1 6ビットのデ一夕長を有するフィールド FirstPlaybakjnobj— id_refにより、 ファーストプレイバックで用いられるムービーォブジ ェクトの I Dを示す。
ムービーオブジェクトの I Dは、 例えば、 第 1 1図および第 1 2図 を用いて後述するムービーオブジェクトのシンタクスに基づき、 ムー ビーオブジェク卜の forループ文においてループ変数として用いられ る値 mobj—idで示される。 この例では、 フィ一ルド FirstPlayback— mob し id— refは、 参照するムービーオブジェクトに対応する値 mobj—idが 格納される。
なお、 ブロック IndexesOにおけるブロック FirstPlaybackO内のフ ィールド FirstPlayback— mobj— id— refは、 トップメニューのムービー オブジェクトを指していてもよいし、 タイトルを指していてもよい。 ブロック TopMenuOは、 トップメニューで用いられるオブジェクト に関する情報が記述される。 ブロック TopMenu 0の最初のフィールド には、 固定値" 01"が記述され、 3 0ビットのデータ長を有する領域 Re servedを介してさらに固定値" 01 "が記述される。 フィ一ルド TopMenu— mobj— id— refは、 1 6ビットのデータ長を有し、 トップメニューで用 いられるムービーオブジェク卜の I Dを示す。
ブロック TopMenuOの次のフィールド number— 0し Titlesは、 1 6ビ ットのデータ長を有し、 ユーザが選択、 再生可能なタイトルの数を示 す。 次の forループ文に従い、 このフィールド number_oし Titlesに示 される回数だけ、 値 title_idを引数として、 ブロック Title[UUe— id ]0が記述される。 ブロック Title[title— id] 0は、 タイトル毎の情報 が記述される。 値 title— idは、 " 0"からフィールド number— of— Titles で示される値までの数値であり、 タイトルを識別する。
ブロック Title[title id] 0において、 最初のフィールドには固定
値" 01 "が記述され、 46ビットのデータ長を有する領域 Reservedを介 してフィールド Title_mobj_id_refが記述される。 フィールド Title— m obj— id— refは、 1 6ビットのデータ長を有し、 このタイ トルで用いら れるムービーオブジェクトの I Dを示す。
第 1 1図は、 ディレクトリ" BDMV"の直下に置かれるファイル" Movie Object. bdmv"の一例の構造を表すシンタクスを示す。 フィールド type —indicatorは、 32ビット (4バイト) のデータ長を有し、 このファ ィルがファイル" MovieObject.bdmv"であることを示す。 フィールド ty pe一 indicatorは、 I SO (Internat ional Organization for Standar i zation) 646に規定された符号化方式で符号化した 4文字からなる 文字列が記述される。 この第 1 1図の例では、 フィールド type— indie atorに I S O 646に既定の方式で符号化された 4文字の文字列" MOB J"が記述され、 このファイルがファイル" MovieObject.bdmv"であるこ とが示される。
フィールド version— numberは、 32ビット (4バイト) のデータ長 を有し、 このファイル" MovieObject.bdmv"のバージョン番号を示す。 このフアイ レ" MovieObject. bdmv"でま、 フィー レド vers ion— numberま 、 I S O 646に規定された符号化方式で符号化した 4文字の文字列 " 0100"でなければならない。
フィールド ExtensionData— start— addressは、 32ビットのデータ 長を有し、 このシンタクス内にあるブロック ExtensionDataOの開始 アドレスを示す。 フィールド ExtensionData— starし addressは、 この ファイル" MovieObject.bdmv"の最初のバイトからの相対バイト数で、 ブロック ExtensionDataOの開始アドレスを示す。 相対バイト数は、 " 0 "から開始される。 若し、 このフィールド ExtensionData— start— add ressの値が" 0 "であれば、 このファイル" MovieObject.bdmv"内に、 ブ
口ック ExtensionDataOが存在しないことを示す。
なお、 この第 1 1図に示すシンタクス内のフィ一ルド padding— word は、 1 6ビットのデータ長を有し、 このファイル" MovieObject. bdmv" のシンタクスに従い f orループ文に値 N1または値 N2で示される回数だ け挿入される。 値 N1または値 N2は、 0または任意の正の整数である。 また、 フィールド padding— wordは、 任意の値を用いることができる。 フィールド ExtensionData_start— addressに続くデータ長が 2 2 4 ビットの領域は、 将来の使用のために予約されている領域である。 こ の領域の次に、 このファイル" MovieObj ect. bdmv"の本体であるブロッ ク MovieObjectsOが格納される。
第 1 2図は、 ブロック MovieObjectsOの一例の構造を表すシンタク スを示す。 フィールド lengthは、 3 2ビットのデ一タ長を有し、 この フィールド lengthの直後からこのブロック MovieObjectsOの終わりま でのデータ長を示す。 3 2ビットのデータ長を有する予約領域を介し てフィー レド number— of— mobjs力 S配される。 フィーリレド number— of— mob jsは、 直後の forループ文に従い格納されるムービーオブジェク卜の 数を示す。 forループ文のループ変数として用いられる値 mob]'— idで、 ムービーオブジェクトが一意に特定される。 値 mob]'— idは、 0から始 まる値で、 ムービーオブジェクトは、 forループ文中に記述される順 序により定義される。
forループ文中のブロック Terminal Info 0は、 それぞれ 1ビットの データ長を有するフィールドにより、 固定値 "1"、 固定値" 0"および固 定値" 0"が格納され、 データ長が 1 3ピットの予約領域を介してフィ —ルド number— of— navigat ion— commands [mobj— id]が配される。 このフ ィーゾレド number— of— navigat ion_commands [mobj— id]は、 値 mobj— idに よって指し示されるム一ビーオブジェクト MovieObject [mobj一 id] 0に
含まれるナビゲーションコマンド(navigation— command)の数を表す。 次の、 値 command— idをループ変数とする forループ文により、 フィ ー レド number— of— navigation— commands [mobj— id]に示される数だけ、 ナビゲーシヨンコマンドが記述される。 すなわち、 この forループ文 中に配されるフィー レ卜 navi gat ion— command [mobj_id] [command— id] は、 値 mobj— idによって指し示されるブロック MovieObject [mobj— id] ( )に含まれる、 値 command— idで示される順番のナビゲーションコマン ド navigation— commandを格納する。 値 command— idは、 0力、ら始まる値 で、 ナビゲーシヨンコマンド navigation— commandは、 この forループ 文中に記述される順序で定義される。
次に、 BD— ROM規格を記録可能な記録媒体に適用できるように 拡張した際に定義される、 ブロック ExtensionDa Oについて説明す る。 このブロック ExtensionDa Oは、 インデックステーブルが格納 されるファイル" index. bdmv"、 プレイリス卜が格納されるファイル" x xxxx.mpls"およびクリップィンフオメーションフアイル" zzzzz. clpi" の各ファイルに記述することができる。 この発明の実施の一形態では 、 フアイル" index, bdmv"のブロック Extens ionDa 0が用いられる。 第 1 3図は、 ブロック ExtensionDataOの一例の構造を表すシン夕 クスを示す。 フィールド lengthは、 3 2ビットのデータ長を有し、 こ のフィ一ルド lengthの直後からブロック ExtensionDataOの終わりま でのデータ長をバイト数で示す。 このフィールド lengthの示すデータ 長が" 0"でなければ、 if文以下の記述がなされる。
フィールド data— block_starし addressは、 3 2ビットのデータ長を 有し、 このシンタクス中の、 拡張データ exし dataの本体が格納される プロック data_block()の開始アドレスを、 このブロック ExtensionDat a()の先頭バイトからの相対バイト数で示す。 すなわち、 相対バイト
数は、 " 0"から開始される。 なお、 フィールド data— block— start— add ressは、 次に示す 3 2ビットァライメントの条件を満たさなければな らない。
data_block_star t_address% 4 = 0
フィールド number— oし ext— data— entriesは、 8ビットのデータ長を 有し、 このブロック ExtensionDataOのブロック da _block()に格納 される拡張データのエントリ数を示す。 拡張データのエントリは、 拡 張データの本体を取得するための情報が格納される。 より具体的には 、 拡張データのエントリは、 例えばフィールド ID1、 フィールド ID2、 フィー レド ex t— data— start— addressおよびフィー レド ext— data— lengt hからなるプロック ext— data_entry()であって、 ブロック ExtensionDa ta()において、 このフィールド number— 0し ext— da _entriesに示され る個数だけ、 このプロック ex t— da t a_en t ry 0が存在する。
フィールド ID1は、 1 6ビットのデータ長を有し、 このブロック Ext ensionDataOに記述される拡張データが記録装置用の拡張データであ ることを表す。 このフィールド ID1の値は、 拡張データを識別する第 1の値であり、 このブロック ExtensionDataOを含む規格書のライセ ンサ (使用認可者) が割り当てると定義することができる。 フィール ド ID2は、 拡張データを識別する第 2の値であり、 この拡張データの パージヨン番号を表すものと定義することができる。 なお、 このプロ ック ExtensionDataOにおいて、 フィールド ID1およびフィールド ID2 の値が同一のブロック exし data— entry 0が 2以上、 存在してはならな い。
フィ一ルド ext— data_start— addressは、 3 2ビットのデ一夕長を有 し、 このフィ一ルド ext_data— start_addressが含まれる拡張データの エントリ (ブロック exし data entryO) に対応する拡張データ ext da
taの開始アドレスを示す。 フィールド ext— data一 starし addressは、 ブ ロック ExtensionDataOの先頭パイ トからの相対バイト数で、 拡張デ 一夕 exし dataの開始アドレスを示す。 なお、 フィールド exし data_s ta rt— addressは、 次に示す 3 2ビットァライメン卜の条件を満たさなけ ればならない。
ext_data_s tar t_address% 4 = 0
フィールド exし data_lengthは、 3 2ビットのデータ長を有し、 こ のフィールド ext— data_s rし addressが含まれる拡張データのェント リ (ブロック exし data_entries 0) に対応する拡張デ一夕 exし dataの データ長を示す。 データ長は、 バイト数で示される。
フィ一ルド number_oし ext— data一 entriesで示された個数だけ、 拡張 デ一夕のエントリ (ブロック exし data— entryO) が記述されると、 そ れぞれ 1 6ビットのデ一夕長を有し任意のデータ列からなるフィール ド padding_wordが、 2フィ一ルドを組として任意の回数 L 1だけ繰り 返される。 その後、 拡張データの本体が格納されるブロック data— Mo ck()が記述される。 ブロック data— blockOは、 1以上の拡張データ ex し dataが格納される。 それぞれの拡張データ ext— dataは、 上述したフ ィーリレド ext— data— start— addressフィ一 Jレド ext— data— lengthに基つ き、 ブロック data— blockOから取り出される。
第 1 4図は、 ブロック ExtensionDataOにおける各デ一夕の参照関 係を模式的に示す。 フィールド lengthにより、 フィールド length直後 の位置からブロック ExtensionDataOの最後までのデータ長が示され る。 フィールド data_Mock— start— addressにより、 ブロック data— bio ck()の開始位置が示される。 フィ一ルド number— of— ext— data— entries で示される個数だけ、 プロック ext_data_entryが記述される。 最後の ブロック ext__da _entryからプロック data_bIock()の間には、 任意の
長さでフィ一ルド padding— wordが置かれる。
ブロック data_block()内には、 ブロック exし data— entry 0で示され る拡張データ ext— dataが置かれる。 それぞれの拡張データ exし dataの 位置およびデータ長は、 対応するブロック ext— data— ei ryO内のフィ ー レド ex t—data_s tart— addressおよびフィ一 Jレド ext— data— lengthに より示される。 したがって、 プ'ロック data_block()内での拡張データ exし dataの並び順は、 対応するブロック exし data— entry 0の並び順と 一致していなくてもよい。
このように、 拡張データを、 拡張データの本体が格納されるブロッ ク data— MockOと、 ブロック data— blockO内の拡張データに対するァ クセス情報などが格納されるブロック exし data_entry()とによる 2層 構造とすることで、 複数の拡張データを格納することが可能となる。 次に、 上述の拡張データの一例の作成方法および読み出し方法につ いて説明する。 第 1 5図は、 ブロック ExtensionDataOにデータを書 き込む際の一例の処理を示すフローチャートである。 この第 1 5図は 、 ブロック ExtensionDataO中の (n + 1 ) 番目のエントリとして、 拡張データを追加し、 ブロック ExtensionDataOを書き換える場合の 例である。
先ず、 ステップ S 1 0で、 書き込もうとしている拡張データのデー タ長を取得し、 フィールド ext_data— length[n+l]の値にセットする。 なお、 「[n+l]」 の記述は、 (n + 1 ) 番目のエントリの番号に対応 する。 次に、 ステップ S I 1で、 現在のブロック ExtensionDataOに 列挙されているブロック ext— da —entry()のフィールド exし data_len gthおよびフィールド exし data— starし addressの値を調べ、 ブロック d ata— MockOの使用状況を取得する。
そして、 次のステップ S 1 2で、 ブロック data— blockO中に、 書き
込もうとしている拡張データのデータ長であるフィールド exし data_l ength[n+l]に示されるデータ長以上の、 連続した空き領域があるか否 かが判断される。 若し、 あると判断されれば、 処理はステップ S 14 に移行される。
一方、 フィールド exし data— length[n+l]に示されるデータ長以上の 連続した空き領域が無いと判断されれば、 処理はステップ S 1 3に移 行され、 ブロック ExtensionDataOにおけるフィ一ルド lengthの値を 大きくし、 フィールド exし data_length[n+l]に示されるデータ長以上 の連続した空き領域をプロック data— blockO内に作る。 空き領域がで きたら、 処理がステップ S 14に移行される。
ステップ S 14では、 拡張データを書き込む領域の先頭ァドレスを 決め、 その先頭ァドレスの値をフィールド exし data— start— address [n +1]とする。 次のステップ S I 5で、 フィールド exし data_starし addr ess[n+l]から、 上述のステップ S 1 0でセットされたフィールド ext— data— length[n+l]の長さの拡張データ ext_data[n+l]を書き込む。 データの書き込みが終了したら、 ステップ S 1 6で、 ブロック exし data— entryOに対して、 フィールド ext— data— length[n+l]と、 フィー ルド ext— data— start— address [n+1]とを追加する。
なお、 上述において、 書き換えを行うブロック ExtensionDataOは 、 すでにディスクなどの記録媒体から読み出されて記録装置のメモリ に記憶されているものとする。 そのため、 ステップ S 1 3における、 フィールド lengthの値の変更によるブロック ExtensionDataOの拡大 は、 システムに任され、 システムがメモリアロケーションを適切に行 うことでなされる。
第 1 6図は、 ブロック ExtensionDataOから拡張データを読み出す 際の一例の処理を示すフローチャートである。 なお、 この第 1 6図の
フローチャートによる処理は、 再生専用の記録媒体 (例えば BD— R OM) と、 記録可能な記録媒体 (例えば BD— RE) との両方に適用 可能なものである。
先ず、 最初のステップ S 2 0で、 読み込もうとする拡張データが準 拠する規格から、 フィールド ID1の値を取得し、 ステップ S 2 1で、 読み込もうとする拡張デ一夕の種別から、 フィールド ID2の値を取得 する。
次のステップ S 22で、 ブロック ExtensionDataOに列挙されてい るブロック exし data_entry()を 1つずつ順次、 読み込む。 そして、 ス テツプ S 2 3で、 読み込んだブロック ext— data_entry()に含まれるフ ィ一ルド ID1およびフィールド ID2の値が、 上述のステップ S 20およ びステツプ S 2 1で取得したフィールド ID1およびフィ一ルド ID2の値 と一致するか否かが判断される。
一致していないと判断されれば、 処理はステップ S 2 6に移行され 、 ブロック ExtensionDataO内に列挙されるブロック ext— data— entry( )を全て読み終えたか否かが判断される。 全て読み終えたと判断され れば、 処理はステップ S 27に移行され、 このブロック ExtensionDat a()には、 読み込もうとした拡張データが存在しないとして、 一連の 処理が終了される。 全て読み終えていないと判断されれば、 処理はス テツプ S 22に戻され、 次のブロック ext— data_entry()が読み込まれ る。
上述のステツプ S 2 3において、 ブロック exし data— entryOに含ま れるフィールド ID1およびフィールド ID2の値が、 取得したフィールド ID1およびフィールド ID2の値と一致していると判断されれば、 処理は ステップ S 24に移行される。 ここでは、 ブロック ExtensionDataO 中の [i]番目のェントリで一致したものとする。
ステップ S 24では、 [i]番目のェントリのブロック ext— data— entr y()からフィールド ext— data— length [i]の値と、 フィ一ルド ext— data— start_address[i]の値とを読み込む。 そして、 ステップ S 2 5で、 ス テツプ S 24で読み込んだフィールド exし data— starし address[i]で 示されるアドレスから、 フィールド exし data一 length[i]で示されるデ —夕長だけ、 データを読み出す。
次に、 この発明の実施の一形態について説明する。 この発明では、 プレイリストに対して、 そのプレイリストが最初に属したタイトルを 示す情報を付加し、 この情報は、 タイトルの編集などに関わらず不変 とする。 このような情報を定義することで、 タイトルの編集に関わら ずタイトル番号を維持するシステムと、 タイトルの編集に際してタイ トルの記録順を保持しタイトル番号を編集に応じて変更するシステム との間で、 メニュー構成の互換性を保つことができる。
このプレイリス卜が最初に属したタイトルを示す情報は、 ファイル "index, bdmv"に埋め込まれる拡張データにおいて、 プレイリストの属 性情報として定義され、 ファイル" index. bdmv"のフィールド Extensio nDataO内のブロック TableOfPlayListsOに記述される。 第 1 7図は 、 このプレイリスト属性を記述するための、 ファイル" index, bdmv"内 のフィールド ExtensionDataOにおけるブロック data— blockO (第 1 3図参照) の一例の構造を表すシンタクスを示す。 この第 1 7図の例 では、 ブロック data— block 0がブロック IndexExtens ionDat a 0として 記述されている。
先ず、 上述の第 1 3図を参照して、 ブロック ExtensionDataOにお いてフィールド ID1を値" 0x1000"、 フィールド ID2を値" 0x0100"とする 。 これらフィールド ID1およびフィールド ID2に記述された値は、 例え ば再生装置側において、 予め ROM (Read Only Memory)などに記憶さ
れたテーブルが参照されて識別される。 ブロック data_block()内のフ ィ レド ext— data— start— addressおよびフィ——リレド ex t— data— length で示される領域に、 ブロック IndexExtensionDataOが格納される。 な お、 数値の記述において" Ox"は、 その数値が 1 6進表記されているこ とを示す。
ブロック IndexExtensionDataOにおいて、 フィ一ルド type— indi cat orは、 次に続くデータの種類を示す、 I S〇 646に規定された符号 化方式で符号化した 4文字からなる文字列が記述される。 この第 1 7 図の例では、 フィールド type— indicatorに I S O 646に既定の方式 で符号化された 4文字の文字列 "IDEX"が記述され、 次に続くデータ種 類が 「IndexExtensionData」 であることが示される。
フィールド type一 indicatorに続けて 32ビッ卜のデータ長を有する 予約領域が配され、 その次に、 3 2ビットのデータ長を有するフィー ルド TableOfPlayLists— start— addressが配される。 フィ一ル HTableO layLists_sta — addressは、 ブロック TableOiPlayLists 0の、 この プロック IndexExtensionDataO先頭を基準とした開始ァドレスが示さ れる。
フィールド TableOfPlayLists_starし addressの次に、 3 2ピットの テ一夕長を有するフィ一ルド Maker sPri vat eDat a— start— addressが配 されブロック MakersPrivateDataOのこのブロック IndexExtensionDat a()先頭を基準とした開始ァドレスが示され、 1 92ビッ卜のデータ 長を有する予約領域を介してブロック UIAppInfoHDAVC 0が配される。 1 6ピットのデータ長を有するパディンダワード padding一 wordを介し て、 次に、 上述したブロック TableOfPlayLists 0が配される。 さらに 続けて、 1 6ビットのデータ長を有するパディングワード padding一 wo rdを介してブロック MakersPrivateDataOが配される。
なお、 ブロック UIAppInfoHDAVCOおよびプロック MakersPr ivateDat a()は、 この発明と関わりが薄いので、 説明を省略する。
第 1 8図は、 上述したブロック TableOfPlayListsOの一例の構造を 表すシンタクスを示す。 フィールド lengthは、 32ビットのデータ長 を有し、 このフィールド lengthの直後からブロック TableOfPlayLists 0の最後のバイトまでのデータ長をバイト数で示す。 フィールド numb er— 0し PlayListsは、 1 6ビットのデータ長を有し、 プレイリストの 数を示す。 すなわち、 フィールド number_of— PlayListsにより、 ディ スク上に存在するプレイリストの総数が示される。
次の forループ文に従い、 フィールド number_of— P yListsで示され る数だけ、 フィールド PlayList— file— name、 フィールド PlayList— at t ributeおよびフィ一ルド title— id_refがそれぞれ記述される。 すなわ ち、 この forループ文で示される 1回分のループが 1のプレイリスト に対応し、 当該プレイリストのファイル名、 当該プレイリストに付与 された属性、 ならびに、 当該プレイリストの参照タイトル I Dからな るプレイリストの情報が記述される。
この forループ文による並び順は、 記録順とされる。 すなわち、 1 のプレイリストが追加されると、 フィールド number— 0し PlayListsの 値が 1だけインクリメントされ、 既存のプレイリストの情報の後ろに 、 追加されたプレイリス卜の情報が追記される。
なお、 この forループ文で定義されるループ内のそれぞれ 6ビット 、 1 6ヒット つ 夕長を有するフィー レド reserved— for— future— us eは、 将来の使用のために予約されている領域である。
フィールド PlayList_file_nameは、 プレイリス卜のファイル名が I S〇 646に規定された符号化方式で符号化されて記述される。 フィ 一ルド PlayList_attributeは、 当該プレイリス卜に付与された属性を
示す。 プレイリストは、 その生成する目的に基づき、 クリップの生成 と共に生成されるプレイリス卜に対応する第 1の種類と、 既存のタイ トルあるいはプレイリストの一部または全部を用いて作成されるプレ ィリストに対応する第 2の種類と、 メニューを再生するために用いる 第 3の種類との 3種類に分けられ、 各プレイリストには、 プレイリス トの種類に応じて、 それぞれ対応する属性 「Real」 (第 1の種類) 、 属性 「Virtual」 (第 2の種類) および属性 「Menu」 (第 3の種類) が付与される。
なお、 プレイリストの種類は、 別の観点から見れば、 プレイリスト の生成された原因あるいはプレイリストの成因に基づき、 プレイリス 卜の種類を分類したとも考えることができる。
以下では適宜、 属性 「ReaI」 が付与されたプレイリストをリアルプ レイリスト、 属性 「Virtual」 が付与されたプレイリストをバーチヤ ルプレイリスト、 属性 「Menu」 を付与されたプレイリストをメニュー プレイリストと呼ぶ。
フィ一ルド title_id_refは、 同一ループ内のフィールド PlayList— f ile— nameに示されるプレイリストが属するタイトルの I D (番号) が 記述される。 より具体的な例としては、 インデックスファイル" index • bdmv"内のブロック IndexesOにおける、 対応する値 U Ue— idが記述 される。 なお、 当該プレイリストがタイトルとして再生されず、 ファ ーストプレイバックのみから再生される場合、 フィールド title— id— r efの値は、 第 1の固定値、 例えば" OxFFFF"とされる。 また、 当該プレ ィリストがタイトルとして再生されず、 トップメニューから再生され る場合は、 フィールド title_id— refの値は、 第 2の固定値、 例えば" 0 xFFFE"とされる。
次に、 この発明の実施の一形態によるメニューの一例の編集処理に
ついて説明する。 この発明の実施の一形態では、 BD— ROM規格に 対して次のような制約を設けることで、 B D _ R OM規格を記録可能 な記録媒体に拡張した場合のメニュー編集を実現する。
タイトル、 ムービーオブジェクトおよびプレイリストの関係に関し て、 以下の通り制約を設ける。 なお、 ここでいう 「タイトル」 は、 ト ップメニューにおいて選択され再生されるタイトルであるものとする
(A) トップメニュー用のプレイリストと、 通常のタイトルを再生す るためのプレイリストとは、 互いに独立とする。
(B) 各タイトルは、 ムービータイトルであること。 すなわち、 各夕 ィトルは、 イン夕ラクティブタイトルであってはいけない。
(C) 各タイトルは、 1つのムービーオブジェクトを介して 1つのプ レイリストから構成する。
また、 タイトルおよびプレイリストの並び順に関して、 下記の通り 制約を設ける。
(D) ブロック TableOfPlayListsOにおけるプレイリストの並び順は 、 記録順とする。
(E) 各タイトルから再生されるプレイリストは、 ファイル " index. b dmv"内のブロック Indexes 0におけるタイトルの並びと、 ファースト プレイバックおよびトップメニューを構成するプレイリストを除いた 残りのプレイリストの、 ブロック TableOfPlayListsOにおける並びと を対応させて決める。
上述の制約 (A) 「トップメニュー用のプレイリストと、 通常の夕 イトルを再生するためのプレイリストとは、 互いに独立とする」 、 制 約 「 (B) 各タイ トルは、 ムービータイトルであること。 すなわち、 各タイトルは、 インタラクティブタイ トルであってはいけない」 、 な
らびに、 制約 (C ) 「各タイ トルは、 1つのムービーオブジェクトを 介して 1つのプレイリストから構成する」 は、 メニュー編集処理を容 易とするための制約である。
すなわち、 これら制約 (A ) 、 ( B ) および (C ) によれば、 メニ ユーを再生するためのプレイリストと、 メニューから呼び出される夕 ィトルを構成するプレイリストとが明確に分離されると共に、 プレイ リスト、 ムービーオブジェクトおよびタイトルの参照関係が互いに 1 対 1の関係となる。 例えば、 各タイトルは、 それぞれ 1つのムービー オブジェクトを参照し、 各ムービーオブジェクトは、 それぞれ 1つの プレイリストを呼び出す。 一例として、 ムービーオブジェクトに記述 されるナビゲーションコマンドは、 1つのプレイリストファイルを指 定し、 再生するようなコマンドとされる。
これら制約 (A ) 、 ( B ) および (C ) に基づくメニューの編集方 法は、 例えば以下のようになる。 一例として、 既に複数のタイトルが 記録されたディスクにクリップを追加して記録し、 記録されたクリツ プを再生するためのタイトルをメニューに追加する場合について考え る。 先ず、 新たに記録されたクリップに対応するプレイリストが生成 される。 生成されたプレイリストに対して属性 「Rea l」 が付加され、 当該プレイリストがリアルプレイリストとされる。 そして、 このリア ルプレイリストを呼び出すムービーオブジェクトが生成される。 この ムービーオブジェクトに対するリンクがインデックステーブルに記述 され、 タイトルが形成される。
次に、 既存のメニューの削除が行われる。 すなわち、 メニューを再 生するためのプレイリスト (メニュープレイリスト) およびムービー オブジェクトが削除され、 インデックステーブルからトップメニュー およびファーストプレイパックが削除される。 メニューを再生するた
めのプレイリスト型のプレイリストと明確に分離されているため、 メ ニューを再生するためのムービーオブジェクトおよびプレイリストを 容易に削除することができる。
さらに、 既存のタイトルおよび追加されたタイトルに基づき、 メニ ユーを再生するためのプレイリストおよびムービーオブジェク卜が新 規に作成されると共に、 トップメニューおよびファーストプレイパッ クがインデックステーブルに記述される。 プレイリスト、 ムービーォ ブジェクトおよびタイトルの参照関係が互いに 1対 1の関係となって いるので、 既存のタイトルと追加されたタイトルとに基づき、 これら メニューを再生するためのムービーオブジェクトおよびプレイリスト を新規に作成することが容易である。
このように、 制約 (A) 、 (B) および (C) に基づき、 タイトル の追加に伴うメニュ一の更新を極めて容易に行うことができる。
上述の制約 (D) 「ブロック TableOfPlayListsOにおけるプレイリ ストの並び順は、 記録順とする」 と、 制約 (E) 「各タイトルから再 生されるプレイリストは、 ファイル" index. bdmv"内のブロック Indexe s()におけるタイトルの並びと、 ファーストプレイバックおよびトツ プメニューを構成するプレイリストを除いた残りのプレイリストの、 ブロック TableOfPlayListsOにおける並びとを対応させて決める」 は 、 タイトルの編集に関わらずタイトル番号を保持するシステムと、 夕 ィトルの編集に際してタイトルの記録順を保持しタイトル番号を編集 に応じて変更するシステムとの互換性を保っための制約である。
一般的に、 記録可能な記録媒体にタイトルを記録する場合、 夕イト ル番号は、 記録順に付与されると考えられる。 そのため、 上述の制約 (D) により、 ブロック TableOfPlayLists 0において、 ムービーォブ ジェクトから参照される全てのプレイリストを記録順に並べる制約を
設ける。 これにより、 ブロック TableOfPlayListsOに記述されるプレ ィリストの並び順を調べることで、 タイトルの記録順を復元すること ができる。
一例として、 記録機の仕様によっては、 タイトルの編集などに伴い トップメニューゃィンデックステーブル内のブロック Indexes ()を削 除する場合が考えられる。 この制約 (D) によれば、 このような場合 でも、 ブロック TableOfPlayListsOを参照することで、 タイトルの記 録順を復元することができる。
しかしながら、 この制約 (D) だけでは、 タイトルの記録順は保持 されるが、 タイトル番号が保持されないことになる。 記録機の仕様に よっては、 タイトルの編集を行っても、 タイトルの記録時に割り当て られたタイトル番号を維持し、 編集によって不変の番号をユーザに提 供したい場合もある。 上述の制約 (E) は、 この記録機間における夕 ィトル管理の互換性の問題を解決するものである。 制約 (E) は、 夕 ィトル側ではなく、 プレイリスト側にタイトル番号の情報を持たせる ことで、 例えばインデックステ一ブルにおいてブロック I ndexes 0が 削除されても、 タイ トルの記録時のタイトル番号の情報が失われるこ とがない。
すなわち、 ブロック Indexes 0におけるフィールド title— idの値と 、 ブロック TableOfPlayListsOにおけるフィールド title— id— refの値 とを対応させて再生するプレイリストを決める。 例えばメニュー画面 の構成やプレイリストの再生を、 記録時のタイトル番号を用いる記録 機の場合には、 フィールド title— id_refに基づき行い、 タイトルの記 録順を保持する記録機の場合には、 フィールド title— idに基づき行う 。
第 1 9図〜第 2 1図を用いて、 この発明の実施の一形態によるメニ
ユーの編集処理について、 より具体的に説明する。 第 1 9図は、 編集 前のメニュー画面 1 0 0と、 当該メニュー画面 1 0 0に関わるタイト ル、 ムービーオブジェクトおよびプレイリストの構成例'を示す。 この 第 1 9図の例では、 ディスク上には既に 6個のタイトル # 1〜# 6が 記録されているものとする。 各タイトルは、 第 1 0図を用いて既に説 明したように、 ファイル" index, bdmv"内のプロック Indexes 0におい て、 ループ変数として用いられる値 title— idで識別されるフィ一ルド Title [title一 id]として登録され、 フィール HTi t le_mobj_id_ref [t i t le— id]によりムービーオブジェクトを参照する。 なお、 タイトル番号 は、 値 title_idに 1を加えた値として定義されるものとする。 ムービ ーォブジェクトは、 ファイル" MovieObject.bdmv"内に値 title— idの順 に格納され、 再生するプレイリストの情報が記述される。
プレイリストは、 例えばプレイリス卜が生成された順に連番でファ ィル名が" 00001.mpls"、 " 00002.即 Is"、 " 00003.即 Is"、 " 00004. mpls" 、 " 00005.即 Is"および" 00006. mpls"のように付され、 ディレクトリ" P LAYL I ST"の下に格納される。
上述した項目 (B) の、 「各タイトルはムービータイトルであるこ と」 の制約に従い、 各タイトルは、 それぞれ一つのムービーオブジェ クトを呼び出す。 また、 上述の項目 (C) の 「各タイトルは、 1つの ムーピ一オブジェクトを介して 1つのプレイリストから構成する」 の 制約に従い、 各ムービ一オブジェクトは、 それぞれ一つのプレイリス トを参照する。 すなわち、 タイトル、 ムービーオブジェクトおよびプ レイリストは、 互いに 1対 1の関係とされる。
第 1 9図の例では、 値 title— idが 1で、 タイ トル番号 # 2のタイト ルは、 値 Utle_idが対応するムービーオブジェクト # 1のみを参照し 、 ムービーオブジェクト # 1は、 ファイル名" 00002. mpls"のプレイリ
ストのみを参照する。 この例では、 ファイル名" 00002. mpls"のプレイ リストは、 属性 「Virtual」 が付与されたバーチャルプレイリストで ある。 また、 タイトル番号 # 3のタイトルは、 値 title—idが対応する ムービ一オブジェクト # 2のみを参照し、 この例では、 ムービーォブ ジェクト # 2は、 ファイル名" 00003. mpls"のプレイリストのみを参照 する。 このファイル名" 00003. mpls"のプレイリストは、 属性 「Real」 が付与されたリアルプレイリストであり、 クリップに対して 1対 1の 対応関係がある。
ディスク上に記録されているタイトルの再生を指示するためのメニ ュ一画面は、 インデックステーブル内のファーストプレイバックおよ びトップメニューに基づき再生される。 ファイル" index, bdmv"内のブ ロック IndexesOにおけるブロック FirstPlaybackOのフィールド Firs tPlayback— mobj— id— refと、 フロック TopMenu 0のフィールド TopMenu— mobj_id_refとに、 メニュー画面を再生するために参照するムービー オブジェクトが記述される。 この第 1 9図の例では、 これらフィール ド FirstPlayback—mobj— id— refおよびフィールド TopMenu— mobj— id— ref は、 共に同一のム一ビーオブジェクト # 6を参照するようにされてい る。
ム一ビ一オブジェクト # 6は、 メニュー画面を実際に再生するため のメニュープレイリストを参照する。 この第 1 9図の例では、 ムービ —オブジェクト # 6は、 属性 「Menu」 を付与された、 ファイル名'' 010 01. mpls"のプレイリストを参照している。
メニュー画面を再生するためのプレイリストに属性 「Menu」 を付与 し、 ファーストプレイバックおよびトップメニューから参照されるム —ビーオブジェクトは、 属性 「Menu」 を付与されたメニュープレイリ ストのみを参照するようにし、 また、 ファーストプレイバックおよび
トップメニューから参照されるム一ピーオブジェクトは、 トップメ二 ユーから呼び出される各タイトルの参照および当該各タイトルカ、ら参 照されるムービーオブジェクトの参照も行わないようにする。 このよ うに規定することで、 上述した項目 (A) の、 「トップメニュー用の プレイリストと、 通常のタイトルを再生するためのプレイリストとは 、 互いに独立とする」 旨の制約を実現することができる。
さらに、 メニュープレイリストから参照されるクリップと、 トップ メニューから呼び出される各タイトルに対応するプレイリストから参 照されるクリップとは、 互いに独立とする。
この編集前の状態において、 ファイル名" 00001. mpls"、 " 00002. mpl s"、 " 00003. mpls". " 00004. mpls"、 " 00005.即 Is"および" 00006:mpls" のプレイリストに対して、 ブロック1&1]160^1& 1^3 3()内のフィール ド title— id— refの値がそれぞれ 0、 1、 2、 3、 4および 5とされる 。 また、 ファーストプレイバックおよびトップメニューからム一ビ一 オブジェクト # 6を介して参照されるファイル名" 01001. mpls"のプレ イリストは、 フィールド title_id_refの値が" OxFFFE"とされ、 このプ レイリストがトップメニューから再生されるものであることが示され る。 - なお、 以下では、 繁雑さを避けるために、 「ブロック TableOfPlayL istsO内のフィールド title_id_refの値」 を適宜、 「値 t i tie— id_ref J と略称する。
また、 第 19図において、 ファーストプレイバックおよびトップメ ニューからムービーオブジェクト # 6を介して参照されるプレイリス トにより、 メニュー画面 100が表示される。 この第 19図の例では 、 メニュー画面 1 00に対して、 6個のタイトルそれぞれの再生を指 示するためのポタン 101 A〜l 01 Fが所定のポタン画像データを
用いて表示されると共に、 このメニュー画面 1 00の題名 1 02が表 示される。
例えば、 ポタン 1 0 1 Aを所定の方法で指示することで、 値 title— idが 0、 タイトル番号 # 1のタイトルが指定され、 ムービーオブジェ クト # 0が参照され、 このムービーオブジェクト # 0に記述されるナ ピゲーションコマンドにより、 ファイル名" 00001. mpls"のプレイリス トが参照されると共に当該プレイリストの再生が命令され、 当該プレ ィリス卜に対応するクリップが再生される。
この第 1 9図に示される状態からタイトルを削除する場合について 考える。 また、 記録機のシステムは、 タイトルの編集に際して、 タイ トルの記録順を保持しタイトル番号を編集に応じて変更するシステム であるものとする。
第 2 0図は、 上述の第 1 9図の状態から、 値 title— idが 2で夕イト ル番号が 3のタイトル # 3を削除した場合のメニュー画面 1 00 ' と 、 当該メニュー画面 1 00 ' に関わるタイトル、 ムービーオブジェク トおよびプレイリス卜の構成例を示す。 第 1 9図の状態からタイトル 番号 # 3のタイトルが削除されたのに伴い、 編集前のタイトル番号 # 3以降のタイトル番号が 1ずつ前に詰められる。 それと共に、 編集前 のタイトル番号 # 3のタイトルから呼び出されるムービーオブジェク ト # 3が削除され、 ムービーオブジェクトの番号が編集前のタイトル 番号 # 3から呼び出されるムービーオブジェクト # 3以降の番号が 1 ずつ前に詰められる。 このとき、 番号が変更されたムービーオブジェ ク卜の内容は変化しないので、 各ムービーオブジェクトから参照され るプレイリストは、 編集の前後で変化しない。 削除されたムービーォ ブジェクトから参照されていたプレイリスト (ファイル名" 00003. mpl s") は、 削除される。
具体的な処理の例について説明する。 第 9図および第 1 0図を参照 し、 タイトル番号 # 3のタイトルが削除されることは、 すなわち、 ィ ンデックスファイル" index, bdmv"内のブロック Indexes 0で、 値 title —idをループ変数とする forループ文において値 title一 idが 2であるブ ロック Title[title— id=2] ()が削除されることである。 ブロック Title [UUe_id] 0の数が 1、 減ったので、 フィールド number— of— Titlesの 値が対応して 1だけ減ぜられる。 これにより、 削除されたタイトル以 降のタイトルのタイトル番号が 1ずつ詰められることになる。
また、 ブロック Indexes 0内のブロック T i 11 e [t i 11 e_id=2] ()が削除 されることで、 当該ブロック Title[title_id=2] ()からフィールド Tit le— mobj— id_ref [title— id=2]の値に基づき参照されていたムービーォ ブジェクトも削除される。 第 1 1図および第 1 2図を参照し、 フアイ ル" MovieObject. bdmv"においても、 ブロック MovieObj ects 0で、 値 rao bj— idをループ変数とする forループ文において、 値 mobj— idがフィ一 ルド TiUejnobj— id— ref [title_id=2]の値に対応するブロック MovieOb jectDnobj— id] 0が削除される。 ここでは、 タイトルとムービーォブ ジェク卜との参照関係が 1対 1とされているので、 値 mobj— idが 2で あるブロック MovieObject [mobし id=2] 0が削除される。 ブロック Movi eObject [mobj— id] 0の数が 1、 減ったので、 フィールド number— of— mo bjsの値が対応して 1だけ減ぜられる。 これにより、 削除されたタイ トル番号 # 3のタイトルから呼び出されるムービーオブジェク卜が削 除され、 削除されたムービーオブジェクト以降のムービーオブジェク トが内容の変化無しに 1ずつ前に詰められる。 ムービーオブジェクト の内容が変化していないので、 当該ムービーオブジェク卜とプレイリ ストとの間の参照関係は、 変化しない。
さらに、 削除されたムービーオブジェク卜に参照されていたプレイ
リストが削除される。 このとき、 削除されるプレイリストの属性が 「
Realj であれば、 対応するクリップも削除される。 プレイリストの削 除に伴い、 ィンデックスファイル" index, bdmv"内の拡張データブロッ ク ExtensionDataOにおけるブロック TableOfPIayLists 0で、 forルー プ文内の削除されるプレイリストのファイル名に対応する項目が削除 され、 フィールド numberjfJUayListsの値が 1だけ減ぜられる。 タイトルの削除に伴い、 メニューが更新される。 メニューの更新は 、 上述したように、 編集前のメニューを削除し、 タイトルの情報に基 づき新規にメニューを作成することで行われる。 より具体的には、 ブ 口ック TableOfPlayListsOにおいてフィ一ル HPlayList_attribute^ ら属性が 「Menu」 とされたプレイリストの情報を検索し、 検索された プレイリストを削除する。 上述の第 1 9図の例では、 ファイル名" 010 01. mpls"のプレイリストが削除される。 また、 インデックスファイル " index, bdmv"のブロック Indexes 0に基づき、 トップメニューおよび ファーストプレイバックから呼び出されるムービーオブジェクト (第 1 9図の例ではムービーオブジェクト # 6) が削除される。 そして、 ィンデックステ一ブルにおいて、 トップメニューおよびファーストプ レイパックが削除される。
編集前のメニューが削除されると、 編集を反映したメニューが作成 される。 例えば、 編集後のトップメニューによるメニュー画面 1 0 0 ' を再生するためのクリップ、 ム一ビーオブジェクトおよびプレイリ ストが生成される。 この処理は、 例えば次のようにしてなされる。 先ず、 メニュー画面 1 00 ' を表示するためのクリップが生成され る。 この第 2 0図の例では、 第 1 9図に示される、 編集前のメニュー 画面 1 0 0のポタン画像などをそのまま用いて、 新規のメニュー画面 1 0 0 ' を構成している。 メニュー画面 1 0 0, では、 それぞれタイ
トル番号 # 1、 # 2、 # 3、 # 4および # 5に対応する 5個のポタン 1 0 1 A、 1 0 1 B、 1 0 1 C, 、 1 0 1 D' および 1 0 1 E' が表 示される。 生成されたデータは、 例えば所定に多重化され、 クリップ AVストリームファイルとしてディスク上に記録される。
次に、 このクリップ AVストリームファイルに対応するクリップィ ンフオメーシヨンファイルが生成され、 さらに、 当該クリップインフ オメーションファイルを参照するプレイリストが生成される。 プレイ リストのファイル名は、 例えば既存のプレイリストのファイル名およ び今まで存在していたプレイリストのファイル名と重複しないように 決められる。 この例では、 当該プレイリストのファイル名を、 "01002 . mpls とする。
プレイリストが生成されると、 当該プレイリストを参照するための ムービーオブジェクトが生成される。 このムービーオブジェクトは、 上述したように、 ファイル" MovieObject.bdmv"内のブロック MovieObj ectsOにおいて、 forループ文に追記される。 したがって、 このムー ビーオブジェクトは、 最も大きいタイトル番号のタイトルから参照さ れるム一ビーオブジェクト # 4の次のム一ビーオブジェクト # 5とさ れる。
この、 トツプメニューを再生するためのムービーオブジェクト # 5 がィンデックスファイル" index, bdmv"内のブロック Indexes ()におけ るブロック TopMenuOに登録される。 すなわち、 第 1 0図を参照し、 当該ムービーオブジェクト # 5を示すデータがブロック TopMenuO内 のフィールド TopMenu— mobj_i(Lrefとして記述される。 また、 インデ ックスフアイ Jレ" index, bdmv"内のブロック Indexes 0におけるブロッ ク FirstPlaybackOが更新される。 すなわち、 ブロック FirstPlayback 0において、 フィールド HDAVC TUle_playback— typeの値が所定の値
とされ、 トツプメニューを再生するためのムービーオブジェク卜 # 5 を示すデータがフィールド FirstP ybackjnobj—id_refとして記述さ れる。
そして、 ィンデックスファイル" index. bdmv"における拡張データブ 口ック ExtensionDataO内のブロック TableOfPlayLists 0を更新する 。 この例では、 ブロック TableOfPlayListsOにおいて、 フィールドお mber_oし NayListsの値が 1だけ減ぜられ、 トップメニューを構成す る新規に生成されたプレイリストについて、 ファイル名がフィールド PlayList— file_nameとして記述されると共に、 当該プレイリストの属 性が 「Menu」 とされ、 属性 「Menu」 を示す値がフィールド PLayList— a ttributeとして記述される。 フィールド' title— id— refは、 プレイリス トの属性が 「Menu」 であって、 トップメニューから参照される場合に は、 値が例えば" OxFFFE"に固定的とされる。 そして、 フィールドの thの値が追加された内容に基づき更新される。
なお、 上述した、 タイトル編集に伴うファイル" index. bdmv"、 ファ ィル"¾1(^1601^6(^^(111^"などに対する更新処理は、 実際には、 C P U (Central Processing Uni t)のワークメモリ上での処理とされる。 例 えば、 記録機は、 ディスクが装填されると、 先ず、 ディスクからイン デックスファイル" index, bdmv"やムービーオブジェクトファイル" Mov ieObject.bdmv"を読み出し、 C P Uのワークメモリに記憶する。 CP Uは、 メニューの編集の命令を受けると、 このワークメモリ上に記憶 されたこれらのファイルに対して上述のようにして処理を行う。 更新 されたこれらのファイルは、 例えばディスクの排出時や、 記録機の電 源 OF F時など所定のタイミングで、 ディスクに書き戻される。
次に、 上述のようにして、 第 2 0図の構成で以て記録されたデイス クを、 タイトルを最初に記録した際に付与されたタイトル番号を保持
するようにされた記録機に装填した場合について考える。 この場合、 記録機側では、 上述の処理により削除されたタイトルのタイトル番号 を復元する必要がある。 このタイトル番号の復元は、 この発明の実施 の一形態で定義された、 プロック TableOfPlayListsO内のフィールド title— id— refの情報を用いることで可能である。
第 2 1図は、 タイトル番号が復元された状態のメニュー画面 1 1 0 と、 当該メニュー画面 1 1 0に関わるタイトル、 ムービーオブジェク トおよびプレイリストの構成例を示す。 第 2 1図の例では、 メニュー 画面 1 1 0に対して、 ディスクに現在記録されているタイトルに対応 するポタン 1 1 1 A、 1 1 1 B、 1 1 1 D、 1 1 1 Eおよび 1 1 1 F と、 当該ディスクに過去に記録され現在では削除されているタイトル に対応するポタン 1 1 1 Cとが共に表示されている。 このうち、 ポ夕 ン 1 1 1 Cを選択した場合には、 対応するタイトル番号のタイトルが 既に削除されてディスク上に存在しないことを通知すると、 好ましい 。
この第 2 1図に例示される構成は、 概略的には次のようにして作成 される。 例えば、 ブロック TableOfPlayListsO内のフィールド title— id_refを参照し、 値 title— id— refに基づき削除されたタイ トル番号を 復元し、 インデックステーブルに復元されたタイトル番号を挿入する 。 また、 復元されたタイトル番号に対応するムービーオブジェクトと プレイリストとを生成する。 プレイリストは、 例えば、 当該タイトル 番号のタイトルが削除された旨を表示するようにされた、 ダミーのプ レイリストを用いることができる。 また、 このプレイリストから参照 されるクリップは、 その都度所定に作成してもよいし、 予めシステム 側で用意していてもよい。
さらに、 タイトル番号の復元前のメニューが削除され、 これら復元
されたタイトル番号のタイトルが反映されたメニュー画面 1 1 0が新 規に作成される。 すなわち、 タイトル番号の復元前のメニューを再生 するためのプレイリストおよびムービーオブジェクトと、 ィンデック ステーブルのファーストプレイバックおよびトップメニューとが削除 され、 メニュー画面 1 1 0を再生するためのプレイリストおよびム一 ビーオブジェク卜が新規に作成されると共に、 作成されたムービーォ ブジェクトがトップメニューおよびファーストプレイバックに登録さ れる。
第 22図は、 値 title_id— renこ基づきタイトル番号すなわち値 Utl e_idを復元する一例の処理を示すフローチャートである。 フローチヤ ートの処理に先立って、 タイトルの記録順が保持されタイトル番号が 保持されない記録機 (記録機 Aとする) において、 装填されたデイス クに既に記録されたタイトルが、 編集により削除される。 このとき、 ディスク上には、 第 20図に例示したような、 削除されたタイトル番 号に対してそれ以降のタイトル番号が前詰めにされると共に、 削除さ れたタイトルから呼び出されるムービーオブジェクトおよびプレイリ ストが削除された構成が記録されているものとする。 このディスクが 、 タイトル番号を保持するようにした記録機 (記録機 Bとする) に装 填される。
記録機 Bは、 ディスクが装填されると、 先ずインデックスファイル " index, bdmv"およびム一ビーオブジェクトファイル" MovieObj ect. bdm v"を読み込む。 このとき、 記録機 Bは、 一例として次のような動作を 行う。 記録機 Bは、 例えば、 インデックスファイル" index, bdmv"の拡 張データブロック ExtensionDataOにおいて、 ブロック TableOfPlayLi stsOを参照し、 プレイリスト毎の値 title— id_refを取得する。 そし て、 取得した値 title一 id refが連続的な値になっているかどうかを調
ベる。 若し、 値 title— id— refが不連続であれば、 記録機 Aにおいて夕 ィトルが削除されたと判断することができる。 タイトルが削除された と判断された場合、 以下に説明するステップ S 5 0〜ステップ S 5 7 の処理を行い、 記録機 Bの実装との互換性をとる。
以下のステップ S 50〜ステップ S 5 7の処理は、 例えば記録機 B を制御する C PU(Central Processing Uni t)がメモリに読み込まれ たこれらファイル" index, bdmv"およびファイル" MovieObject. bdmv"に 対して行われる。 処理が完了した後のメモリ上のデータは、 例えばデ イスクの排出時や記録機 Bの電源 OF F時など所定のタイミングでデ イスクに記録される。
メニューの作成が開始されると、 ステップ S 5 0で、 インデックス ファイル" index. bdmv"内のブロック IndexesOを参照して、 タイトル を構成するムービーオブジェクト以外のムービーオブジェクトを削除 する。 例えば、 ブロック Indexes 0において、 ブロック FirstPlaybak( )内のフィールド FirstPlaybakjnobj— id— refと、 ブロック TopMenu 0内 のフィールド TopMenujnobし id— refとに示されるムービーオブジェク トが削除される。
ステップ S 5 1では、 ィンデックスファイル" index, bdmv"内の拡張 データブロック ExtensionDataOにおけるブロック TableOfPlayLists ( )の、 フィールド P yLisし attributeが参照され、 タイトルを構成す るプレイリスト以外のプレイリストを削除する。 例えば、 フィールド PlayList— attributeが属性 「Menu」 を示しているプレイリストを削除 する。
次のステップ S 5 2で、 タイトルを構成するプレイリストの値 tit 1 e一 id—refを参照して、 各プレイリストを再生するタイトルの番号すな わち値 title_idが、 対応するプレイリストの値 title id refと一致す
るように、 ブロック IndexesOの内容を書き換える。 すなわち、 イン デックスフアイル" index, bdmv"のブロック Indexes 0内の、 ループ変 数 title一 idの forループ文において、 値 title_id毎に、 参照するムー ビーオブジェクトから呼び出されるプレイリストを取得する。 取得さ れたプレイリスト情報に基づき、 インデックスファイルの拡張データ からプロック TableOfPlatListsOを参照し、 対応する値 t i tie— id_ref を求める。 この値 title— id—refを参照元の値 title_idとするように、 プロック IndexesOの対応箇所を書き換える。
また、 このステップ S 52では、 記録機 Aにおいて削除され欠番と なっているタイトルに対する処理がなされる。 値 title— id— refは、 記 録時に属していたタイトルのタイトル番号すなわち値 title_idが保持 されているので、 記録機 Aにおいて削除されたタイトルに対応する値 title— id_refが欠番となる。 この欠番の値 t i tle_id_renこ対応する値 title— idに対応するプレイリストが生成される。 このプレイリストは 、 例えばダミーのプレイリストを用いることができる。 一例として、 このプレイリストを、 当該値 title— idに基づくタイトル番号のタイト ルがディスク上に存在しない旨を表示するためのプレイリストとする ことができる。 このプレイリストは、 ディスク上に既に存在するプレ ィリストと重複しないファイル名 (第 21図の例ではファイル名" 000 07.即 Is") を付されてディスク上に記録される。
さらに、 生成されたプレイリストを再生するためのムービーォブジ ェクトが生成される。 生成されたムービーオブジェクトは、 ムービー オブジェクトファイル" MovieObject. bdmv"において、 既に存在するム 一ビーオブジェクトの次に追加して生成される (第 21図の例では、 ムービーオブジェクト # 5) 。 そして、 追加されたムービーオブジェ クトの番号 (例えばムービーオブジェクトファイル" MovieObject.bdm
v"内のブロック MovieObjectsOにおける値 mobj— id) を、 インデック スファイル" index, bdmv"のブロック Indexes 0において、 値 title— id が対応するフィールド Title_mobj_id_renこ設定する。
次のステップ S 5 3で、 ィンデックスファイル" index.bdmv"におけ る拡張データブロック ExtensionDataO内のブロック TableOfPlayList s()を更新する。 すなわち、 このステップ S 5 3では、 上述のステツ プ S 52で生成されたダミーのプレイリストの情報を、 ブロック Tabl eOfPlayListsQに対して記述する。
より具体的には、 ブロック TableOfPlayListsOにおいて、 フィ一ル ド numbeし of—P yListsの値が 1だけ増加され、 ステップ S 52で生 成されたダミーのプレイリス卜について、 ファイル名がフィールド P1 ayLisし file一 nameとして記述されると共に、 当該プレイリストの属性 が例えば 「Real」 とされ、 その旨示す値がフィールド PLayLisし attri buteとして記述される。 フィールド title_id— refは、 既存の値 title_ id— refの次の値とされる。 第 2 1図の例では、 既存の値 t i t le_id- ref の最大値が 5であるので、 このダミーのプレイリストに対応する値 ti tie— id— refは、 6とされている。 そして、 フィールド lengthの値が追 加された内容に基づき更新される。
次のステップ S 54で、 トップメニューを表示するためのクリップ 、 ムービーオブジェクトおよびプレイリストが生成される。 この処理 は、 例えば次のようにしてなされる。 先ず、 メニュー画面を表示する ためのクリップが生成される。 このクリップは、 例えば所定のプログ ラムに従い自動的に生成された画像データを用いることができる。 こ れに限らず、 ディスク上や記録機においてメニュー画面用の画像デー 夕を予め用意しておき、 これを用いるようにしてもよい。 また、 メニ ユー画面に用いる画像データは、 動画像デ一夕であっても、 静止画像
データであってもよい。 さらに、 タイトルの再生を指示するために用 いるポタン画像データを、 同様にして生成することができる。 夕イト ルに使用されるクリップに対応するサムネイル画像をさらに用いるこ ともできる。 このようにして生成されたデータは、 例えば所定に多重 化され、 クリップ A Vストリームファイルとしてディスク上に記録さ れる。
次に、 このクリップ A Vストリームファイルに対応するクリップィ ンフオメーシヨンファイルが生成され、 さらに、 当該クリップインフ オメーシヨンファイルを参照するプレイリストが生成される。 プレイ リストのファイル名は、 例えば既存のプレイリストのファイル名およ び今まで存在していたプレイリストのファイル名と重複しないように 決められる。 第 2 1図の例では、 当該プレイリストのファイル名を、 " 01003,即 I s"としている。
プレイリストが生成されると、 当該プレイリストを参照するための ム一ビーオブジェクトが生成される。 このムービーオブジェクトは、 上述のステップ S 5 2で追加された、 ダミーのプレイリス卜を参照す るムービーオブジェクトの次のムービーオブジェクトとされる (第 2 1図の例では、 ムービーオブジェクト # 6 ) 。
次のステップ S 5 5で、 上述のステップ S 5 4で作成された、 トツ プメニューを再生するためのムービーオブジェクトがィンデックスフ アイル" i ndex, bdmv"内のプロック I ndexe s 0におけるブロック TopMenu 0に登録される。 すなわち、 第 1 0図を参照し、 当該ムービーォブジ ェクトを示すデータがブロック TopMenu O内のフィ一ルド TopMenu_mob し i d— re fとして記述される。
次のステップ S 5 6では、 インデックスファイル" i ndex. bdmv"内の ブロック I ndexes 0におけるブロック F i r s 1 ayback 0が更新される。
すなわち、 ブロック Firs tPlaybackOにおいて、 フィールド HDAVC—Ti t le_playback— typeの値が所定の値とされ、 上述のステップ S 54で作 成された、 トップメニューを再生するためのムービーオブジェクトを 示す値 mobj— idがフィ一ルド FirstP yback— mobj— id— refとして記述さ れる。
そして、 次のステップ S 5 7で、 ステップ S 54によるトップメニ ユーを再生するプレイリス卜の追加に伴い、 ィンデックスファイル" i ndex. bdrav"における拡張データブロック ExtensionDataO内のブロッ ク TableOfPlayListsOを更新する。 すなわち、 このステップ S 57で は、 上述のステップ S 54で生成されたトップメニューを再生するた めのプレイリストの情報を、 ブロック TableOfPlayListsOに対して記 する。
より具体的には、 ブロック TableOfPlayListsOにおいて、 フィール ド number fJUayListsの値が 1だけ増加され、 トップメニューを構 成する新規に生成されたプレイリストについて、 ファイル名がフィー ルド PlayList— file_nameとして記述されると共に、 当該プレイリスト の属性が 「Menu」 とされ、 属性 「Menu」 を示す値がフィールド PLayLi st_attributeとして記述される。 フィールド t i t le— id_refは、 プレイ リストの属性が 「Menu」 であって、 トップメニューから参照される場 合には、 値が" OxFFFE"に固定的とされる。 そして、 フィールド length の値が追加された内容に基づき更新される。
上述では、 タイトルの記録順が保持されタイトル番号が保持されな い記録機 Aでタイトルが編集されたディスクを、 タイトル番号を保持 するようにした記録機 Bに装填した場合の処理について説明したが、 この逆の状況も当然ながら考えられる。 すなわち、 タイトル番号を保 持する記録機 Bでタイトルが編集されたディスクを、 タイトル番号が
保持されない記録機 Aに装填した場合である。
一例として、 記録機 Bにおいて、 元々タイトル # 1〜# 6の 6個の タイトルがディスクに記録されていた状態から、 タイトル # 3を削除 した場合について考える。 記録機 Bでは、 タイトル番号が保持される ため、 タイトル # 3の削除に伴い、 タイトル # 3が削除されたことを 示すダミーのプレイリストが作成されることが考えられる。 ダミーの プレイリストおよびダミーのプレイリストを再生するムービーォブジ ェクトは、 第 2 1図を用いて説明したように、 タイトル # 3の削除に 伴い、 タイトル # 3から参照されるムービーオブジェクトおよびプレ イリストを削除し、 残ったムービーオブジェクトおよびプレイリスト に対して追加して作成することができる。
この第 2 1図の構成によれば、 タイトルから一つのムービーォブジ ェクトが呼び出され、 当該ムービーオブジェクトから一つのプレイリ ストが参照される。 そのため、 このディスクは、 記録機 Aにおいて、 タイトル、 ムービーオブジェクトおよびプレイリストに対して何ら変 更を加えることなく、 再生することができる。
なお、 上述では、 ディスクに記録された複数のタイトルから 1のタ ィトルを削除した場合の処理について説明したが、 これはこの例に限 らず、 2以上のタイトルを削除した場合にも、 この発明の実施の一形 態を適用することができる。 すなわち、 2以上のタイトルが削除され た場合でも、 値 t i t l ej d— re fに基づき、 複数の削除されたタイトル番 号をそれぞれ求めることができ、 削除されたタイトル番号のタイトル をそれぞれ復元すると共に、 削除されたタイトル数分のムービーォブ ジェクトおよびプレイリストを生成し、 復元されたタイトルのそれぞ れに対して、 生成されたムービーオブジェクトおよびプレイリストを それぞれ対応付ける。
また、 例えば記録機 Aにおいて、 ディスクに記録された複数のタイ トルのうち最後に記録されたタイトルが削除される場合もあり得る。 この場合には、 値 t i t l e_i d— refは連続的な値とされ、 タイトル番号も 、 欠番が生じることはない。 そのため、 当該ディスクを記録機 Bに装 填しても、 メニュ一表示や新たなタイトルの追加などにおいて特に問 題は生じないと考えられる。
次に、 この発明の実施の一形態を適用可能な記録再生装置について 説明する。 先ず、 仮想プレーヤについて、 概略的に説明する。 上述し たようなデータ構造を有するディスクがプレーヤに装填されると、 プ レ一ャは、 ディスクから読み出されたムービーオブジェクトなどに記 述されたコマンドを、 プレーヤ内部のハ一ドウエアを制御するための 固有のコマンドに変換する必要がある。 プレーヤは、 このような変換 を行うためのソフトウェアを、 プレーヤに内蔵される R O M (Read On ly Memory)にあらかじめ記憶している。 このソフトウェアは、 デイス クとプレーヤを仲介してプレーヤに B D— R O Mの規格に従った動作 をさせることから、 B D仮想プレーヤと称される。
第 2 3図 Aおよび第 2 3図 Bは、 この B D仮想プレーヤの動作を概 略的に示す。 第 2 3図 Aは、 ディスクのローデイング時の動作の例を 示す。 ディスクがプレーヤに装填されディスクに対するイニシャルァ クセスがなされると (ステップ S 3 0 ) 、 1のディスクにおいて共有 的に用いられる共有パラメータが記憶されるレジスタが初期化される (ステップ S 3 1 ) 。 そして、 次のステツプ S 3 2で、 ムービーォブ ジェクトなどに記述されたプログラムがディスクから読み込まれて実 行される。 なお、 イニシャルアクセスは、 ディスク装填時のように、 ディスクの再生が初めて行われることをいう。
第 2 3図 Bは、 プレーヤが停止状態からユーザにより例えばプレイ
キーが押下され再生が指示された場合の動作の例を示す。 最初の停止 状態 (ステップ S 40) に対して、 ユーザにより、 例えばリモートコ ントロールコマンダなどを用いて再生が指示される (UO : User Ope ration) 。 再生が指示されると、 先ず、 レジスタすなわち共通パラメ —夕が初期化され (ステップ S 41) 、 次のステップ S 42で、 ム一 ビーオブジェクト実行フェイズに移行する。
ムービーオブジェク卜の実行フェイズにおけるプレイリストの再生 について、 第 24図を用いて説明する。 UOなどにより、 タイトル番 号 # 1のコンテンツを再生開始する指示があった場合について考える 。 プレーヤは、 コンテンツの再生開始指示に応じて、 上述した第 4図 に示されるインデックステーブル(Index Table)を参照し、 タイトル # 1のコンテンツ再生に対応するォブジェクトの番号を取得する。 例 えばタイトル # 1のコンテンツ再生を実現するォブジェクトの番号が # 1であったとすると、 プレーヤは、 ムービーオブジェクト # 1の実 行を開始する。
この第 24図の例では、 ムービーオブジェクト # 1に記述されたプ ログラムは 2行からなり、 1行目のコマンドが "Play P yList(l)"で あるとすると、 プレーヤは、 プレイリスト # 1の再生を開始する。 プ レイリスト # 1は、 1以上のプレイアイテムから構成され、 プレイァ ィテムが順次再生される。 プレイリスト # 1中のプレイアイテムの再 生が終了すると、 ムービーオブジェクト # 1の実行に戻り、 2行目の コマンドが実行される。 第 24図の例では、 2行目のコマンドが" jum p TopMenu"であって、 このコマンドが実行されインデックステーブル に記述されたトップメニュー(Top Menu)を実現するムービーオブジェ ク卜の実行が開始される。
第 2 5図は、 この発明の実施の一形態に適用可能な記録再生装置の
一例の構成を示す。 この記録再生装置は、 例えばビデオカメラ装置の 記録再生部として用いることができる。 これに限らず、 この記録再生 装置は、 単体で使用する構成とすることもできる。 ここでは、 この記 録再生装置がビデオ力メラ装置の記録再生部として用いられるものと して説明する。 なお、 この第 2 5図に例示される記録再生装置の構成 は、 上述した、 記録順を保持しタイトル番号を保持しない記録機 Aと 、 タイトル番号を保持する記録機 Bの何方にも適用可能なものである 制御部 1 7は、 例えば C PU、 ROM (Read Only Memory)および R AM (Random Access Memory)などからなる。 ROMは、 CPU上で動 作されるプログラムや動作のために必要なデータが予め記憶される。 RAMは、 C PUのワークメモリとして用いられる。 CPUは、 RO Mに記憶されたプログラムやデータを必要に応じて読み出し、 RAM をワークメモリに用いながら、 この記録再生装置の全体を制御する。 上述した BD仮想プレーヤは、 例えば予め ROMに記憶されたプログ ラムにより、 制御部 1 7により実現される。
この記録再生装置に対して、 図示されないビデオカメラ部から出力 される、 機器特有の情報や記録に関するデ一夕などが入力出力端子 2 8から入力される。 入出力端子 2 8に入力されたこれらのデータは、 制御部 1 7に供給される。
各種のスィツチなどの操作子や、 簡易的に表示を行う表示素子を有 する図示されないユーザィン夕フェースから出力されたデータがデー 夕入出力端子 28から入力される。 また、 制御部 1 7で生成された表 示制御信号がデータ入力出力端子 2 8を介してユーザィン夕ーフェイ スに供給される。 ユーザインタ一フェイスは、 この表示制御信号をテ レビジョン受像器などのモニタ装置に供給し、 表示させることもでき
る。
先ず、 記録時の動作について説明する。 図示されないビデオカメラ 部から、 撮像により得られたビデオ信号が入力端 3 0に入力され、 こ のビデオ信号に伴い出力されたオーディオ信号が入力端 3 1に入力さ れる。 入力されたビデオ信号およびオーディオ信号は、 A Vェンコ一 ダ 2 3に供給される。 ビデオ信号は、 ビデオ解析部 2 4にも供給され る。 A Vエンコーダ 2 3は、 入力されたビデオ信号およびオーディオ データを、 例えば M P E G 2方式で符号化し、 符号化ビデオストリー ム 、 符号化オーディォストリーム Aおよびシステム情報 Sをそれぞ れ出力する。
A Vエンコーダ 2 3は、 オーディオ信号を、 例えば M P E G 1ォ一 ディォストリームやドルビー A C 3オーディォストリームなどの形式 に符号化する。 システム情報 Sは、 符号化ピクチャやオーディオフレ ームのバイトサイズ、 ピクチャの符号化タイプといった、 ビデオ信号 やオーディオ信号の符号化情報や、 ビデオおよびオーディオの同期な どに関する時間情報からなる。
A Vエンコーダ 2 3のこれらの符号化出力は、 マルチプレクサ 2 2 に供給される。 マルチプレクサ 2 2は、 供給された符号化ビデオスト リ一ム 、 符号化オーディオストリーム Aを、 システム情報 Sに基づ き多重化し、 M P E G 2 トランスポートストリームによる多重化スト リームを出力する。 すなわち、 符号化ビデオストリーム V、 符号化ォ 一ディォストリーム Aおよびシステム情報 Sは、 それぞれトランスポ ートパケッ卜のペイロードのサイズに分割され、 所定のヘッダを付加 されて、 トランスポートパケット化される。 ヘッダには、 それぞれの データ種類などを識別可能なように、 P I Dが所定に格納される。 マルチプレクサ 2 2から出力された多重化ストリームは、 端子 5 0
Aが選択されたスィツチ 5 0を介してソースパケッタイザ 2 1および 多重化ストリーム解析部 2 5に供給される。 ソースパケッタイザ 2 1 は、 供給された多重化ストリームを、 記録媒体のアプリケーションフ ォーマツトに従って符号化する。
ソースパケッタイザ 2 1で符号化されたクリップ A Vストリームは 、 E C C (Error Correc t i on Cod ing)符号化部 2 0でエラ一訂正符号 化され、 変調部 1 9で記録符号に変調され、 書き込み部 1 8に供給さ れる。 書き込み部 1 8は、 制御部 1 7から供給される制御信号の指示 に基づき、 変調部 1 9で記録符号に変調されたクリップ A Vストリー ムを、 記録可能な記録媒体 1 0に対して記録する。
この記録再生装置は、 クリップ A Vストリームが多重化されたトラ ンスポートストリームを直接的に入力して、 記録媒体に記録すること ができるようになつている。 例えば、 ディジタルインターフェイスま たはディジタルテレビジョンチューナから出力される、 ディジタルテ レビジョン放送などによるトランスポートストリームが入力端子 3 2 に対して入力される。
入力された卜ランスポートストリームの記録方法としては、 トラン スペアレントに記録する方法と、 記録ビットレ一トを下げるなどの目 的のために再エンコードして記録する方法とが考えられる。 この 2通 りの記録方法のうち何方を用いて記録を行うかを指示は、 例えばユー. ザのユーザィンターフェイスに対する操作によりなされ、 この操作に 応じた制御信号がデータ入力出力端子 2 8を介して制御部 1 7に供給 される。 制御部 1 7は、 この制御信号に基づきこの記録再生装置の各 部を制御し、 記録方法の制御を行う。
入力トランスポートストリームをトランスペアレントに記録する場 合、 スィッチ 5 0において端子 5 0 Bが選択されると共に、 スィッチ
5 1において端子 5 1 Aが選択され、 入力端 3 2から入力されたトラ ンスポ一トストリームは、 スィツチ 5 1および 5 0を介してソ一スパ ケッタイザ 2 1および多重化ストリーム解析部 2 5にそれぞれ供給さ れる。 これ以降の処理は、 上述した、 入力端 3 0および 3 1に入力さ れたビデオ信号およびオーディォ信号を符号化して記録する場合と同 一である。
一方、 入力トランスポー卜ストリームを再ェンコ一ドして記録する 場合、 スィッチ 5 1において端子 5 1 Bが選択され、 入力端 3 2から 入力されたトランスポ一トストリームは、 デマルチプレクサ 1 5に供 給される。 デマルチプレクサ 1 5は、 供給されたトランスポートスト リームに多重化されている符号化ビデオストリーム V、 符号化オーデ ィォストリーム Aおよびシステム情報 Sを分離し、 符号化ビデオスト リーム Vを A Vデコーダ 1 6に供給すると共に、 符号化オーディオス トリーム Aおよびシステム情報 Sをマルチプレクサ 2 2に供給する。
A Vデコーダ 1 6は、 デマルチプレクサ 1 5から供給された符号化 ビデオストリーム Vを復号し、 復号されたビデオ信号を A Vェンコ一 ダ 2 3に供給する。 A Vエンコーダ 2 3は、 供給されたこのビデオ信 号を符号化して符号化ビデオストリーム Vとする。 この符号化ビデオ ストリーム Vは、 マルチプレクサ 2 2に供給される。
マルチプレクサ 2 2は、 A Vエンコーダ 2 3で符号化され供給され た符号化ビデオストリーム Vと、 デマルチプレクサ 1 5で分離された 符号化オーディオストリーム Aとを、 同じくデマルチプレクサ 1 5で 分離されたシステム情報 Sに基づき多重化して多重化ストリームを出 力する。 これ以降の処理は、 上述した、 入力端 3 0および 3 1に入力 されたビデオ信号およびオーディォ信号を符号化して記録する場合と 同一である。
この記録再生装置は、 例えば B D— R E規格に準じた記録媒体 1 0 に対して上述のようにしてクリップ A Vストリームファイルを記録す ると共に、 記録するクリップ A Vストリームファイルに関連するアブ リケーシヨンデータベース情報をさらに記録する。 アプリケーシヨン データベース情報は、 ビデオ解析部 2 4からの動画像の特徴情報と、 多重化ストリーム解析部 2 5からのクリップ A Vストリ一ムの特徴情 報と、 端子 2 8から入力されるユーザの指示情報とに基づき、 制御部 1 7により作成される。
ビデオ解析部 2 4から得られる、 動画像の特徴情報は、 A Vェンコ ーダ 2 3によりビデオ信号を符号化して記録する場合に、 この記録再 生装置内において生成される情報である。 ビデオ解析部 2 4は、 入力 端 3 0から入力されたビデオ信号または入力端 3 2から入力されたト ランスポートストリームからデマルチプレクサ 1 5で分離され A Vデ コーダ 1 6で復号されたビデオ信号が供給される。 ビデオ解析部 2 4 は、 供給されたビデオ信号の内容を解析し、 入力されたビデオ信号中 の特徴的なマーク点の画像に関する情報を生成する。 例えば、 ビデオ 解析部 2 4は、 入力ビデオ信号中のプログラムの開始点、 シーンチェ ンジ点や、 C M (コマーシャル) 放映の開始、 終了点などの特徴的な マーク点を検出し、 検出されたマーク点の画像の指示情報を得る。 ま た、 マーク点の画像のサムネイル画像を生成するようにしてもよい。 サムネイル画像は、 実際の画像データを間引き処理などにより縮小し た画像である。 また、 サムネイル画像のクリップ A Vストリーム上の 位置は、 P T Sで示すことができる。
これらの画像の指示情報、 サムネィル画像およびサムネィル画像の 位置情報 (例えば P T S ) は、 制御部 1 7を介してマルチプレクサ 2 2に供給される。 マルチプレクサ 2 2は、 制御部 1 7から指示される
マーク点の画像を符号化した符号化ピクチャを多重化する際に、 当該 符号化ピクチャのクリップ A Vストリ一ム上でのァドレス情報を制御 部 1 7に返す。 制御部 1 7は、 特徴的な画像の種類と、 対応する符号 化ピクチャのクリップ A Vストリーム上でのァドレス情報とを関連付 けて、 例えば R A Mに記憶する。
多重化ス卜リーム解析部 2 5から得られる、 クリップ A Vストリー ムの特徴情報は、 記録されるクリップ A Vストリームの符号化情報に 関連する情報であり、 この動画像記録再生装置内において生成される 。 例えば、 クリップ A Vストリームについて、 エントリポイント.のタ ィムスタンプと対応するアドレス情報とをクリップ A ストリームの 特徴情報として含む。 この他にも、 クリップ A Vストリームについて 、 S T C (Sys t em Time Cl ock)の不連続情報、 プログラム内容の変化 情報、 ァライバルタイムと対応するアドレス情報などが、 クリップ A Vストリームの特徴情報として含まれる。
また、 多重化ストリーム解析部 2 5は、 入力端 3 2から入力される トランスポートストリームをトランスペアレントに記録する場合、 ク リップ A Vストリーム中の特徴的なマーク点画像を検出し、 検出され た画像の種類とアドレス情報とを生成する。 この情報は、 クリップィ ンフオメーションファイル中のブロック Cl ipMarkに格納されるデータ となる。 このように、 多重化ストリーム解析部 2 5により得られたク リップ A Vストリ一ムの特徴情報は、 クリップ A Vストリームのデー 夕ベースであるクリップインフォメーションファイルに格納されるこ とになる。 多重化ストリ一ム解析部 2 5で得られたこれらの情報は、 例えば、 制御部 1 7の R A Mに一旦記憶される。
図示されないユーザィンターフェイスに対してなされたユーザの指 示情報は、 デ一夕入力出力端子 2 8から制御部 1 7に供給される。 こ
の指示情報は、 例えば、 クリップ A Vストリーム中でユーザが気に入 つた再生区間の指定情報、 当該再生区間の内容を説明するためのキヤ ラクタ文字、 ユーザが気に入ったシーンにセットするブックマーク点 ゃリジユーム点のクリップ A Vストリーム中のタイムスタンプなどが 含まれる。 これらのユーザの指示情報は、 一旦、 制御部 1 7の R A M に記憶される。 これらの指示情報は、 記録媒体 1 0上においては、 プ レイリストが有するデータベースに格納される。
制御部 1 7は、 R A M上に記憶された上述した入力情報、 すなわち 、 ビデオ解析部 2 4から得られる動画像の特徴情報、 多重化ストリー ム解析部 2 5から得られるクリップ A Vストリームの特徴情報、 なら びに、 データ入力出力端子 2 8から入力されたユーザ指示情報に基づ き、 クリップ A Vストリームのデータべ一ス (クリップインフォメー シヨン) 、 プレイリストのデータべ一ス (プレイリストファイル) 、 記録媒体の記録内容に対する管理情報 (インデックスファイル) およ びサムネィル情報を作成する。
ここで、 制御部 1 7は、 インデックスファイルを作成する際に、 上 述した、 データ入出力端子 2 8から入力された、 機器特有のデータや 記録に関する情報に基づき、 インデックスファイル、 プレイリストフ アイルおよびノまたはクリップインフォメ一ションファイルを拡張す るための拡張データを作成することができる。 すなわち、 制御部 1 7 は、 デ一夕入出力端子 2 8から入力されたデータに基づき、 拡張デー 夕を、 第 1 5図のフローチャートを用いて説明したような処理により ファイルに埋め込む。
これらのデータベース情報は、 制御部 1 7の R A Mから読み出され 、 クリップ A Vストリームと同様にして、 制御部 1 7から E C C符号 化部 2 0に供給されエラー訂正符号化され、 変調部 1 9で記録符号に
変調され、 書き込み部 1 8に供給される。 書き込み部 1 8は、 制御部 1 7から供給される制御信号に基づき、 記録符号化されたデータべ一 ス情報を記録媒体 1 0に記録する。
次に、 再生時の動作について説明する。 記録媒体 1 0は、 記録時の 動作で説明したようにして作成された、 クリップ A Vストリームファ ィルと、 プレイリストファイルおよびインデックスファイルからなる アプリケーションデータベース情報と、 ムービーオブジェクトフアイ ルとが記録されている。 記録媒体 1 0が図示されないドライブ装置に 装填されると、 先ず、 制御部 1 7は、 読み出し部 1 1に対して、 記録 媒体 1 0上に記録されたアプリケーションデータベース情報とムービ 一才ブジェクトファイルとを読み出すように指示する。 読み出し部 1 1は、 この指示を受けて、 記録媒体 1 0からアプリケーションデータ ベース情報とムービーオブジェクトファイルとを読み出す。 読み出し 部 1 1の出力は、 復調部 1 2に供給する。
復調部 1 2は、 読み出し部 1 1の出力を復調し、 記録符号を復号し てディジタルデータとする。 復調部 1 2の出力は、 E C C復号部 1 3 に供給され、 エラー訂正符号が復号されエラ一訂正処理が行われる。 エラー訂正処理されたアプリケ一ションデータベース情報は、 制御部 1 7に供給される。
制御部 1 7は、 アプリケーションデータベース情報とムービーォブ ジェクトファイルとに基づいて、 記録媒体 1 0に記録されているタイ トルの一覧を表示するためのメニュー画面を、 ユーザィンターフェイ ス入力出力端子 2 8を介してュ一ザインターフェイスに出力する。 こ のメニュー画面は、 例えばユーザィンターフェイスに設けられた表示 部に所定に表示される。 ユーザにより、 このメニュー画面に基づき再 生したいタイトルが選択され、 選択したタイトルを再生するような操
作がユーザィンターフェイスに対してなされる。 この操作に応じた制 御信号がュ一ザインターフェイスから出力され、 端子 2 8を介して制 御部 1 7に供給される。
制御部 1 7は、 この制御信号に応じて、 インデックスファイルゃム —ビーオブジェクトファイルの内容に基づき、 選択されたタイトルの 再生に必要なクリップ AVストリームファイルの読み出しを読み出し 部 1 1に指示する。 読み出し部 1 1は、 この指示に従い、 記録媒体 1 0からクリップ AVストリームファイルを読み出す。 読み出し部 1 1 の出力は、 復調部 1 2に供給される。 復調部 1 2は、 供給された信号 を復調し、 記録符号を復号してディジタルデータとして出力し、 EC C復号部 1 3に供給する。 E CC復号部 1 3は、 供給されたデイジ夕 ルデ一夕のエラー訂正符号を復号し、 エラー訂正を行う。 エラー訂正 されたクリップ A Vストリームファイルは、 制御部 1 7により提供さ れる図示されないファイルシステム部の処理を受け、 ソースデバケツ タイザ 14に供給される。
ソースデバケツタイザ 14は、 制御部 1 7の制御に基づき、 記録媒 体 1 0におけるアプリケーションフォーマツトで記録されていたクリ ップ AVストリ一ムファイルを、 デマルチプレクサ 1 5に入力できる 形式のストリームに変換する。 例えば、 ソースデパケッ夕ィザ 14は 、 記録媒体 1 0から再生された MP EG 2 トランスポートストリーム をソースバケツト単位に分解し、 ソースバケツトからヘッダを取り除 きトランスポートバケツト化する。 このトランスポートバケツト化さ れたクリップ AVストリームを、 デマルチプレクサ 1 5に供給する。 デマルチプレクサ 1 5は、 制御部 1 7の制御に基づき、 ソースデバ ケッタイザ 14から供給されたクリップ AVストリームの、 制御部 1 7により指定された再生区間(Playltem)を構成するビデオストリーム
V、 オーディオストリーム Aおよびシステム情報 Sを出力し、 AVデ コーダ 1 6に供給する。 例えば、 デマルチプレクサ 1 5は、 供給され たトランスポートパケットを P I Dに基づき選別し、 選別されたそれ ぞれについて、 トランスポートバケツトヘッダを取り除いて出力する 。 AVデコーダ 1 6は、 供給されたビデオストリーム Vおよびオーデ ィォス卜リーム Aを復号し、 復号された再生ビデオ信号および再生ォ —ディォ信号をビデオ出力端 26およびオーディオ出力端 27にそれ ぞれ導出する。
この記録再生装置で、 他の記録再生装置で記録などがなされたディ スクを装填した場合の処理について、 概略的に説明する。 この記録再 生装置が上述した記録機 Bのタイプの、 タイトルなどの編集に際して タイトル番号を保持するようにした装置である場合について説明する 。 記録機 Bのタイプの記録再生装置は、 装填されたディスクに対して タイトル番号を保持しない編集が行われたか否かを知る必要がある。 一例として、 記録再生装置は、 ディスクが装填されると先ず、 例え ばインデックスファイル" i n d e X . b dmv"およびムービーオブジェクトフ アイル" MovieObject. bdmv"を読み込み、 ブロック Indexes 0を参照し て、 各タイトルが呼び出すムービーオブジェクトの情報を取得し、 取 得された情報に基づきムービーオブジェクトファイル" MovieObject.b dmv"を参照し、 各ムービーオブジェクトが参照するプレイリストの情 報を取得する。
一例として上述の第 2 1図のような状態を考えると、 各タイトルの タイトル番号に対応する値 title— idと、 各タイトルから呼び出される ムービーオブジェクトの順番 (ムービーオブジェクトファイル" Movie Object, bdmv"内のブロック MovieObj ects 0におけるループ変数 mob]'— i dの forループ文の値 mobし id) とが異なっている場合に、 記録機 Aの
タイプの記録再生装置でタイトルの削除などの編集が行われたと判断 することができる。
これに限らず、 所定の場所、 例えばインデックスファイル" index. b dmv"の拡張デ一夕ブロック Ex t en s i onDa t a 0に、 最新に記録が行われ た記録機の情報や編集内容に関する情報を記述することも考えられる 。 この場合には、 最新に記録が行われた記録機が記録機 Aのタイプで あるか否かが判断され、 記録機 Aのタイプであると判断されれば、 上. 述もしたように、 値 t i 11 e— i d— re fが連続的な値となっているか否かの 判断に基づき、 タイトル番号を保持せずにタイトルを削除する編集が 行われたか否かを判断することができる。
若し、 装填したディスクが記録機 Aのタイプの記録再生装置でタイ トル削除などの編集が行われたと判断されれば、 第 2 1図および第 2 2図を用いて説明したような処理により、 値 U U e_i d_re nこ基づくタ ィトルの復元およびメニューの更新の処理が行われる。
上述では、 第 2 5図に示す記録再生装置がビデオカメラなどから出 力されたビデオデータおよびオーディォデータを記録媒体 1 0に記録 するようにした装置であるように説明したが、 これはこの例に限られ ない。 例えば、 入力されたビデオデータに対して編集処理を行い、 編 集されたビデオデータを出力するようにした編集装置にこの発明の実 施の一形態を適用することもできる。 さらに、 上述の第 2 5図の構成 を、 再生部側の構成を省略した記録装置とすることもできる。 さらに ま 3た、 記録媒体 1 0は、 B D— R E規格に準じたディスク状記録媒 体であるように説明したが、 これはこの例に限定されず、 この発明の 実施の一形態は、 半導体メモリ、 ハードディスクといった他の記録媒 体にも適用可能である。
なお、 上述では、 第 2 5図に示す記録再生装置がハードウェア的に
構成されるように説明したが、 これはこの例に限定されない。 すなわ ち、 記録再生装置は、 実際に記録媒体 1 0が装填されるドライブ部な どの機構部分以外の部分を、 ソフトウエアとして構成することも可能 である。 この場合、 ソフトウェアは、 例えば制御部 1 7が有する R〇 Mに予め記憶される。 これに限らず、 動画像記録再生装置を、 パ一ソ ナルコンピュータなどのコンピュータ装置上に構成することも可能で ある。 この場合には、 動画像記録再生装置をコンピュータ装置に実行 させるソフトウェアは、 C D— R O Mや D V D— R O Mといった記録 媒体に記録されて提供される。 コンピュータ装置がネットワーク接続 可能な場合、 ィン夕ーネットなどのネットワークを介して当該ソフト ウェアを提供することも可能である。