(57)【要約】【課題】ＢＤ−ＲＯＭ規格を記録可能な記録媒体に適応するように拡張し、既存のＢＤ−ＲＯＭ規格と互換性を有したままで、記録装置特有の情報を記録できるようにする。【解決手段】インデックステーブル、プレイリスト、クリップインフォメーションのそれぞれに、拡張データを追加できる構成を定義する。拡張データは、複数の拡張データ本体が格納可能なデータブロックと、データブロックに格納される拡張データ本体それぞれを取得するための情報であるデータエントリとを含む。データエントリは、データブロック内での拡張データの位置およびサイズを示す情報と共に、拡張データを規定した団体または組織を示すＩＤ１と、ＩＤ１に示される団体または組織に規定された、当該拡張データの用途を示すＩＤ２とが含まれる。ＩＤ１およびＩＤ２が定義されていることで、再生専用の記録媒体の記録フォーマットを、記録可能な記録媒体にも適用することができる。【選択図】図１３
2007179671.tif 000002
【特許請求の範囲】
【請求項１】
少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを含むデータ構造において、
コンテンツデータの再生を管理するインデックステーブルと、
上記インデックステーブルに呼び出される、少なくとも上記コンテンツデータの再生方法を示すオブジェクトと、
上記オブジェクトから呼び出されるプレイリストと、
上記プレイリストに基づき呼び出される、少なくとも上記コンテンツデータの属性情報を示すクリップ情報と
を有し、
少なくとも上記インデックステーブル、上記プレイリストおよび上記クリップ情報のそれぞれは、拡張データを保持できる構成とされ、
上記拡張データは、該拡張データを特定する識別情報として主識別情報と副識別情報とを含む
ことを特徴とするデータ構造。
【請求項２】
請求項１に記載のデータ構造において、
上記主識別情報は、上記拡張データを規定した団体あるいは組織を表す
ことを特徴とするデータ構造。
【請求項３】
請求項２に記載のデータ構造において、
上記副識別情報は、上記主識別情報に示される上記団体あるいは組織、または、上記団体あるいは組織に許可された者によって規定される
ことを特徴とするデータ構造。
【請求項４】
請求項１に記載のデータ構造において、
上記副識別情報は、上記拡張データが用いられる用途を示す
ことを特徴とするデータ構造。
【請求項５】
請求項１に記載のデータ構造において、
上記拡張データは、
複数の拡張データ本体を格納可能なデータブロックと、
該データブロックに格納される該拡張データ本体を取得するための情報を含むデータエントリと
を有し、
上記データエントリは、上記データブロックに格納される上記拡張データ本体のそれぞれについて、上記主識別情報と、上記副識別情報と、該拡張データ本体の位置を示す位置情報と、該拡張データ本体のデータ長を示す情報とを有する
ことを特徴とするデータ構造。
【請求項６】
記録媒体に対して、少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録する記録装置において、
コンテンツデータの再生を管理するインデックステーブルと、
上記インデックステーブルに呼び出される、少なくとも上記コンテンツデータの再生方法を示すオブジェクトと、
上記オブジェクトに呼び出されるプレイリストと、
上記プレイリストに基づき呼び出される、少なくとも上記コンテンツデータの属性情報を示すクリップ情報と
を記録媒体に記録する記録部を有し、
少なくとも上記インデックステーブル、上記プレイリストおよび上記クリップ情報のそれぞれは、拡張データを保持できる構成とされ、
上記拡張データは、該拡張データを特定する識別情報として主識別情報と副識別情報とを含む
ことを特徴とする記録装置。
【請求項７】
請求項６に記載の記録装置において、
上記主識別情報は、上記拡張データを規定した団体あるいは組織を表す
ことを特徴とする記録装置。
【請求項８】
請求項７に記載の記録装置において、
上記副識別情報は、上記主識別情報に示される上記団体あるいは組織、または、上記団体あるいは組織に許可された者によって規定される
ことを特徴とする記録装置。
【請求項９】
請求項６に記載の記録装置において、
上記副識別情報は、上記拡張データが用いられる用途を示す
ことを特徴とする記録装置。
【請求項１０】
請求項６に記載の記録装置において、
上記拡張データは、
複数の拡張データ本体を格納可能なデータブロックと、
上記主識別情報と、上記副識別情報と、該拡張データ本体の位置を示す位置情報と、該拡張データ本体のデータ長を示す情報を、該データブロックに格納される上記拡張データ本体のそれぞれについて持つデータエントリと
を備える
ことを特徴とする記録装置。
【請求項１１】
記録媒体に対して、少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録する記録方法において、
コンテンツデータの再生を管理するインデックステーブルと、
上記インデックステーブルに呼び出される、少なくとも上記コンテンツデータの再生方法を示すオブジェクトと、
上記オブジェクトから呼び出されるプレイリストと、
上記プレイリストに基づき呼び出される、少なくとも上記コンテンツデータの属性情報を示すクリップ情報と
を記録媒体に記録する記録のステップを有し、
少なくとも上記インデックステーブル、上記プレイリストおよび上記クリップ情報のそれぞれは、拡張データを保持できる構成とされ、
上記拡張データは、該拡張データを特定する識別情報として主識別情報と副識別情報とを含む
ことを特徴とする記録方法。
【請求項１２】
記録媒体に対して、少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録する記録方法をコンピュータ装置に実行させる記録プログラムにおいて、
上記記録方法は、
コンテンツデータの再生を管理するインデックステーブルと、
上記インデックステーブルに呼び出される、少なくとも上記コンテンツデータの再生方法を示すオブジェクトと、
上記オブジェクトから呼び出されるプレイリストと、
上記プレイリストに基づき呼び出される、少なくとも上記コンテンツデータの属性情報を示すクリップ情報と
を記録媒体に記録する記録のステップを有し、
上記インデックステーブル、上記プレイリストおよび上記クリップ情報のそれぞれは、拡張データを保持できる構成とされ、
上記拡張データは、該拡張データを特定する識別情報として主識別情報と副識別情報とを含む
ことを特徴とする記録プログラム。
【請求項１３】
少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とが記録された記録媒体を再生する再生装置において、
コンテンツデータの再生を管理するインデックステーブルと、
上記インデックステーブルに呼び出される、少なくとも上記コンテンツデータの再生方法を示すオブジェクトと、
上記オブジェクトから呼び出されるプレイリストと、
上記プレイリストに基づき呼び出される、少なくとも上記コンテンツデータの属性情報を示すクリップ情報とが記録された記録媒体からデータを再生する再生部と、
少なくとも上記インデックステーブル、上記プレイリストおよび上記クリップ情報のそれぞれは、拡張データを保持できる構成とされ、該拡張データは、該拡張データを特定する識別情報として主識別情報と副識別情報とを含み、上記再生部で再生された上記データから上記拡張データを抽出する拡張データ抽出部と
を有する
ことを特徴とする再生装置。
【請求項１４】
請求項１３に記載の再生装置において、
上記主識別情報は、上記拡張データを規定した団体あるいは組織を表す
ことを特徴とする再生装置。
【請求項１５】
請求項１４に記載の再生装置において、
上記副識別情報は、上記主識別情報に示される上記団体あるいは組織、または、上記団体あるいは組織に許可された者によって規定される
ことを特徴とする再生装置。
【請求項１６】
請求項１３に記載の再生装置において、
上記副識別情報は、上記拡張データが用いられる用途を示す
ことを特徴とする再生装置。
【請求項１７】
請求項１３に記載の再生装置において、
上記拡張データは、
複数の拡張データ本体を格納可能なデータブロックと、
上記主識別情報と、上記副識別情報と、該拡張データ本体の位置を示す位置情報と、該拡張データ本体のデータ長を示す情報を、該データブロックに格納される上記拡張データ本体のそれぞれについて持つデータエントリと
を備え、
上記拡張データ抽出部は、上記データエントリに基づき上記データブロックに格納される上記拡張データ本体を選択的に抽出する
ことを特徴とする再生装置。
【請求項１８】
少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とが記録された記録媒体を再生する再生方法において、
コンテンツデータの再生を管理するインデックステーブルと、
上記インデックステーブルに呼び出される、少なくとも上記コンテンツデータの再生方法を示すオブジェクトと、
上記オブジェクトから呼び出されるプレイリストと、
上記プレイリストに基づき呼び出される、少なくとも上記コンテンツデータの属性情報を示すクリップ情報とが記録された記録媒体からデータを再生する再生のステップと、
少なくとも上記インデックステーブル、上記プレイリストおよび上記クリップ情報のそれぞれは、拡張データを保持できる構成とされ、該拡張データは、該拡張データを特定する識別情報として主識別情報と副識別情報とを含み、上記再生のステップにより再生された上記データから上記拡張データを抽出する拡張データ抽出のステップと
を有する
ことを特徴とする再生方法。
【請求項１９】
少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とが記録された記録媒体を再生する再生方法をコンピュータ装置に実行させる再生プログラムにおいて、
上記再生方法は、
コンテンツデータの再生を管理するインデックステーブルと、
上記インデックステーブルに呼び出される、少なくとも上記コンテンツデータの再生方法を示すオブジェクトと、
上記オブジェクトから呼び出されるプレイリストと、
上記プレイリストに基づき呼び出される、少なくとも上記コンテンツデータの属性情報を示すクリップ情報とが記録された記録媒体からデータを再生する再生のステップと、
少なくとも上記インデックステーブル、上記プレイリストおよび上記クリップ情報のそれぞれは、拡張データを保持できる構成とされ、該拡張データは、該拡張データを特定する識別情報として主識別情報と副識別情報とを含み、上記再生のステップにより再生された上記データから上記拡張データを抽出する拡張データ抽出のステップと
を有する
ことを特徴とする再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブルーレイディスク(Blu-ray Disc)といった大容量の記録媒体に適用可能なデータ構造および記録媒体に関し、特に、再生専用の記録媒体のフォーマットを、記録可能な記録媒体にも適用できるようにしたデータ構造および記録媒体に関する。
【背景技術】
【０００２】
近年、記録可能で記録再生装置から取り外し可能なディスク型記録媒体の規格として、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（ブルーレイディスク）規格が提案されている。Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格では、記録媒体として直径１２ｃｍ、カバー層０．１ｍｍのディスクを用い、光学系として波長４０５ｎｍの青紫色レーザ、開口数０．８５の対物レンズを用いて、最大で２７ＧＢ（ギガバイト）の記録容量を実現している。これにより、日本のＢＳディジタルハイビジョン放送を、画質を劣化させることなく２時間以上記録することが可能である。
【０００３】
この記録可能光ディスクに記録するＡＶ(Audio/Video)信号のソース（供給源）としては、従来からの、例えばアナログテレビジョン放送によるアナログ信号によるものと、例えばＢＳディジタル放送をはじめとするディジタルテレビジョン放送によるディジタル信号によるものとが想定されている。Ｂｌｕ−ｒａｙ  Ｄｉｓｃ規格では、これらの放送によるＡＶ信号を記録する方法を定めた規格は、既に作られている。
【０００４】
一方で、現状のＢｌｕ−ｒａｙ  Ｄｉｓｃの派生規格として、映画や音楽などが予め記録された、再生専用の記録媒体を開発する動きが進んでいる。映画や音楽を記録するためのディスク状記録媒体としては、既にＤＶＤ(Digital Versatile Disc)が広く普及しているが、このＢｌｕ−ｒａｙ  Ｄｉｓｃの規格に基づいた再生専用光ディスクは、Ｂｌｕ−ｒａｙ  Ｄｉｓｃの大容量および高速な転送速度などを活かし、ハイビジョン映像を高画質なままで２時間以上収録できる点が、既存のＤＶＤとは大きく異なり、優位である。
【０００５】
このＢｌｕ−ｒａｙ  Ｄｉｓｃにおける再生専用の記録媒体の規格を、以下では、ＢＤ−ＲＯＭ(Blu-ray Disc-Read Only Memory)規格と呼ぶ。また、Ｂｌｕ−ｒａｙ  Ｄｉｓｃにおける記録可能な記録媒体の規格を、ＢＤ−ＲＥと呼ぶ。
【０００６】
記録可能な記録媒体においては、フォーマットで規定されるデータ構造中に、記録装置特有の情報を記録するための領域を用意しておく必要がある。上述のＢＤ−ＲＥ規格においては、例えば特許文献１に示されるように、このような領域がデータブロックMakersPrivateData()として定義されている。
【特許文献１】特開２００２−１５７８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、従来から存在する、再生専用の記録媒体に対して規定されたＤＶＤ−Ｖｉｄｅｏ(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)としてファイルに記録される。
【００２７】
また、クリップＡＶストリームには、字幕を表示するグラフィクスストリームであるプレゼンテーショングラフィクス（ＰＧ）ストリームや、メニュー表示などに用いられるデータをストリームにしたインタラクティブグラフィクス（ＩＧ）ストリームも多重化される。インタラクティブグラフィクスは、例えばメニュー表示に用いられるボタン画像であって、図１では、ボタンオブジェクト(Button Object)として示されている。
【００２８】
クリップＡＶストリームファイルと、対応するクリップ情報が記録されたクリップ情報ファイルとをひとまとまりのオブジェクトと見なし、クリップ(Clip)と称する。すなわち、クリップは、クリップＡＶストリームとクリップ情報とから構成される、一つのオブジェクトである。
【００２９】
ファイルは、一般的に、バイト列として扱われる。クリップＡＶストリームファイルのコンテンツは、時間軸上に展開され、クリップ中のエントリーポイントは、主に時間ベースで指定される。所定のクリップへのアクセスポイントのタイムスタンプが与えられた場合、クリップＡＶストリームファイルの中でデータの読み出しを開始すべきアドレス情報を見つけるために、クリップ情報ファイルを用いることができる。
【００３０】
プレイリストレイヤについて説明する。ムービープレイリストは、再生するＡＶストリームファイルの指定と、指定されたＡＶストリームファイルの再生箇所を指定する再生開始点（ＩＮ点）と再生終了点（ＯＵＴ点）の集まりとから構成される。この再生開始点と再生終了点の情報を一組としたものは、プレイアイテム(PlayItem)と称される。ムービープレイリストは、プレイアイテムの集合で構成される。プレイアイテムを再生するということは、そのプレイアイテムに参照されるＡＶストリームファイルの一部分を再生するということになる。すなわち、プレイアイテム中のＩＮ点およびＯＵＴ点情報に基づき、クリップ中の対応する区間が再生される。
【００３１】
オブジェクトレイヤについて説明する。ムービーオブジェクトは、ＨＤＭＶナビゲーションコマンドプログラム（ＨＤＭＶプログラム）と、ムービーオブジェクトとを連携するターミナルインフォメーションを含む。ＨＤＭＶプログラムは、プレイリストの再生を制御するためのコマンドである。ターミナルインフォメーションは、ユーザのＢＤ−ＲＯＭプレーヤに対するインタラクティブな操作を許可するための情報を含んでいる。このターミナルインフォメーションに基づき、メニュー画面の呼び出しや、タイトルサーチといったユーザオペレーションが制御される。
【００３２】
ＢＤ−Ｊオブジェクトは、Ｊａｖａプログラム（Ｊａｖａは登録商標）によるオブジェクトからなる。ＢＤ−Ｊオブジェクトは、この発明と関わりが薄いので、詳細な説明を省略する。
【００３３】
インデックスレイヤについて説明する。インデックスレイヤは、インデックステーブルからなる。インデックステーブルは、ＢＤ−ＲＯＭディスクのタイトルを定義する、トップレベルのテーブルである。インデックステーブルに格納されているタイトル情報に基づき、ＢＤ−ＲＯＭ常駐システムソフトウェア中のモジュールマネージャによりＢＤ−ＲＯＭディスクの再生が制御される。
【００３４】
すなわち、図２に概略的に示されるように、インデックステーブル中の任意のエントリは、タイトルと称され、インデックステーブルにエントリされるファーストプレイバック(First Playback)、トップメニュー(Top Menu)およびタイトル(Title)＃１、＃２、・・・は、全てタイトルである。各タイトルは、ムービーオブジェクトあるいはＢＤ−Ｊオブジェクトに対するリンクを示し、各タイトルは、ＨＤＭＶタイトルあるいはＢＤ−Ｊタイトルの何れかを示す。
【００３５】
例えば、ファーストプレイバックは、当該ＢＤ−ＲＯＭに格納されるコンテンツが映画であれば、映画本編に先立って映出される映画会社の宣伝用映像（トレーラ）である。トップメニューは、例えばコンテンツが映画である場合、本編再生、チャプタサーチ、字幕や言語設定、特典映像再生などを選択するためのメニュー画面である。また、タイトルは、トップメニューから選択される各映像である。タイトルがさらにメニュー画面であるような構成も可能である。
【００３６】
図３は、上述のようなクリップＡＶストリーム、クリップ情報(Stream Attributes)、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ(Unified Modeling Language)図である。プレイリストは、１または複数のプレイアイテムに対応付けられ、プレイアイテムは、１のクリップに対応付けられる。１のクリップに対して、それぞれ開始点および／または終了点が異なる複数のプレイアイテムを対応付けることができる。１のクリップから１のクリップＡＶストリームファイルが参照される。同様に、１のクリップから１のクリップ情報ファイルが参照される。また、クリップＡＶストリームファイルとクリップ情報ファイルとは、１対１の対応関係を有する。このような構造を定義することにより、クリップＡＶストリームファイルを変更することなく、任意の部分だけを再生する、非破壊の再生順序指定を行うことが可能となる。
【００３７】
また、図４のように、複数のプレイリストから同一のクリップを参照することもできる。また、１のプレイリストから複数のクリップを指定することもできる。クリップは、プレイリスト中のプレイアイテムに示されるＩＮ点およびＯＵＴ点により、参照される。図４の例では、クリップ３００は、プレイリスト３１０のプレイアイテム３２０から参照されると共に、プレイリスト３１１を構成するプレイアイテム３２１および３２２のうちプレイアイテム３２１から、ＩＮ点およびＯＵＴ点で示される区間が参照される。また、クリップ３０１は、プレイリスト３１１のプレイアイテム３２２からＩＮ点およびＯＵＴ点で示される区間が参照されると共に、プレイリスト３１２のプレイアイテム３２３および３２４のうち、プレイアイテム３２３のＩＮ点およびＯＵＴ点で示される区間が参照される。
【００３８】
なお、プレイリストは、図５に一例が示されるように、主として再生されるプレイアイテムに対応するメインパスに対して、サブプレイアイテムに対応するサブパスを持つことができる。例えば、このプレイリストに付けられているアフレコオーディオ用のプレイアイテムをサブプレイアイテムとして、プレイリストに持たせることができる。詳細は省略するが、プレイリストは、所定の条件を満たす場合にだけ、サブプレイアイテムを持つことができる。
【００３９】
次に、"Blu-ray Disc Read Only Format part3"で規定された、ＢＤ−ＲＯＭに記録されるファイルの管理構造について、図６を用いて説明する。ファイルは、ディレクトリ構造により階層的に管理される。記録媒体上には、先ず、１つのディレクトリ（図６の例ではルート(root)ディレクトリ）が作成される。このディレクトリの下が、１つの記録再生システムで管理される範囲とする。
【００４０】
ルートディレクトリの下に、ディレクトリ"BDMV"およびディレクトリ"CERTIFICATE"が置かれる。ディレクトリ"CERTIFICATE"は、著作権に関する情報が格納される。ディレクトリ"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"は、この発明の主旨と直接的な関わりがないので、詳細な説明を省略する。
【００４８】
各ファイルについて、より詳細に説明する。先ず、ディレクトリ"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()の一例の構造を表すシンタクスを示す。フィールドlengthは、３２ビットのデータ長を有し、このフィールドlength直後からこのブロックindexes()の終わりまでのデータ長を示す。続けて、ブロックFirstPlayback()およびブロックTopMenu()が配される。
【００５４】
ブロックFirstPlayback()は、ファーストプレイバックで用いられるオブジェクトに関する情報が記述される。ブロックFirstPlayback()の最初のフィールドFirstPlayback_object_typeは、２ビットのデータ長を有し、ファーストプレイバックで用いられるオブジェクトがムービーオブジェクトおよびＢＤ−Ｊオブジェクトの何れであるかが示される。
【００５５】
フィールドFirstPlayback_object_typeの値が"０１"（バイナリ）であれば、ファーストプレイバックで用いられるオブジェクトがムービーオブジェクトであるとされ、if文に基づきフィールドHDMV_Title_playback_typeおよびフィールドFirstplaybak_mobj_id_refが記述される。フィールドHDMV_Title_playback_typeは、２ビットのデータ長を有し、ＨＤＭＶタイトルの再生タイプが示される。フィールドFirstplaybak_mobj_id_refは、１６ビットのデータ長を有し、ファーストプレイバックで用いられるムービーオブジェクトのＩＤを示す。
【００５６】
フィールドFirstPlayback_object_typeの値が"１０"（バイナリ）であれば、ファーストプレイバックで用いられるオブジェクトがＢＤ−Ｊオブジェクトであるとされ、if文に基づきフィールドBD-J_Title_playback_typeおよびフィールドFirstplaybak_bdjo_file_nameが記述される。フィールドBD-J_Title_playback_typeは、２ビットのデータ長を有し、ＢＤ−Ｊタイトルの再生タイプが示される。フィールドFirstplaybak_bdjo_file_nameは、４０ビット（５バイト）のデータ長を有し、ファーストプレイバックで用いられるＢＤ−Ｊオブジェクトのファイル名を示す。
【００５７】
ブロックTopMenu()は、トップメニューで用いられるオブジェクトに関する情報が記述される。フィールドTopMenu_object_typeは、２ビットのデータ長を有し、トップメニューで用いられるオブジェクトがムービーオブジェクトおよびＢＤ−Ｊオブジェクトの何れであるかが示される。
【００５８】
フィールドTopMenu_object_typeの値が"０１"（バイナリ）であれば、トップメニューで用いられるオブジェクトがムービーオブジェクトであるとされ、if文に基づきフィールド'01'およびフィールドTopMenu_mobj_id_refが記述される。フィールド'01'は、２ビットのデータ長を有する。フィールドTopMenu_mobj_id_refは、１６ビットのデータ長を有し、トップメニューで用いられるムービーオブジェクトのＩＤを示す。
【００５９】
フィールドTopMenu_object_typeの値が"１０"（バイナリ）であれば、トップメニューで用いられるオブジェクトがＢＤ−Ｊオブジェクトであるとされ、if文に基づきフィールド'10'およびフィールドTopMenu_bdjo_file_nameが記述される。フィールド'10'は、２ビットのデータ長を有する。フィールドTopMenu_bdjo_file_nameは、４０ビット（５バイト）ビットのデータ長を有し、トップメニューで用いられるＢＤ−Ｊオブジェクトのファイル名を示す。
【００６０】
ブロックTopMenu()の次のフィールドnumber_of_Titlesは、１６ビットのデータ長を有し、トップメニューから呼び出されるタイトル数を示す。次のfor文に従い、このフィールドnumber_of_Titlesに示される回数だけ、ブロックTitle[title_id]()が記述される。ブロックTitle[title_id]()は、タイトル毎の情報が記述される。引数title_idは、"０"からフィールドnumber_of_Titlesで示される値までの数値であり、タイトルを識別する。
【００６１】
Title[title_id]()において、フィールドTitle_object_typeは、２ビットのデータ長を有し、タイトルで用いられるオブジェクトがムービーオブジェクトおよびＢＤ−Ｊオブジェクトの何れであるかが示される。フィールドTitle_access_typeは、このタイトルで用いられるオブジェクトに対するアクセスタイプを示す。
【００６２】
フィールドTitle_object_typeの値が"０１"（バイナリ）であれば、このタイトルで用いられるオブジェクトがムービーオブジェクトであるとされ、if文に基づきフィールドHDMV_Title_playback_typeおよびフィールドTitle_mobj_id_refが記述される。フィールドHDMV_Title_playback_typeは、２ビットのデータ長を有し、このタイトルの再生タイプが示される。フィールドTitle_mobj_id_refは、１６ビットのデータ長を有し、このタイトルで用いられるムービーオブジェクトのＩＤを示す。
【００６３】
フィールドTitle_object_typeの値が"１０"（バイナリ）であれば、このタイトルで用いられるオブジェクトがＢＤ−Ｊオブジェクトであるとされ、if文に基づきフィールドBD-J_Title_playback_typeおよびフィールドTitle_bdjo_file_nameが記述される。フィールドBD-J_Title_playback_typeは、２ビットのデータ長を有し、このタイトルの再生タイプが示される。フィールドTitle_bdjo_file_nameは、４０ビット（５バイト）のデータ長を有し、このタイトルで用いられるＢＤ−Ｊオブジェクトのファイル名を示す。
【００６４】
図９は、ムービープレイリストファイル"xxxxx.mpls"の一例の構造を表すシンタクスを示す。フィールドtype_indicatorは、３２ビット（４バイト）のデータ長を有し、このファイルがムービープレイリストファイルであることを示す。フィールドversion_numberは、３２ビット（４バイト）のデータ長を有し、このムービープレイリストファイルのバージョンを示す。フィールドPlayList_start_addressは、３２ビットのデータ長を有し、このシンタクス中のブロックPlayList()の開始アドレスを示す。フィールドPlayListMark_start_addressは、３２ビットのデータ長を有し、このシンタクス中のブロックPlayListMark()の開始アドレスを示す。
【００６５】
フィールドExtensionData_start_addressは、３２ビットのデータ長を有し、このシンタクス中のブロックExtensionData()の開始アドレスを示す。フィールドExtensionData_start_addressは、ブロックExtensionData()の開始アドレスを、ファイル"xxxxx.mpls"の最初のバイトからの相対バイト数を表した値である。相対バイト数は、"０"から開始される。若し、このフィールドExtensionData_start_addressの値が"０"であれば、このファイル"xxxxx.mpls"内に、ブロックExtensionData()が存在しないことを示す。
【００６６】
ブロックAppInfoPlayList()は、次のブロックPlayList()に記述されるプレイリストのタイプ、再生制限などの情報が記述される。ブロックPlayList()は、プレイリストが記述される。ブロックPlayListMark()は、チャプタジャンプなどでジャンプされるポイントが記述される。ブロックExtensionData()は、この発明の実施の一形態に係るデータが記述される。
【００６７】
図１０は、ブロックPlayList()の一例の構造を表すシンタクスを示す。フィールドlengthは、３２ビットのデータ長を有し、このフィールドlengthの直後からブロックPlayList()の最後までのデータ長を示す。フィールドlengthに続くデータ長が１６ビットの領域は、将来の使用のために予約されている領域である。フィールドnumber_of_PlayItemsは、１６ビットのデータ長を有し、このブロックPlayList()に含まれるプレイアイテムの数を示す。フィールドnumber_of_SubPathは、このブロックPlayList()に含まれるサブパスの数を示す。
【００６８】
次のfor文に従い、フィールドnumber_of_PlayItemsで示される数だけ、プレイアイテムが記述されるブロックPlayItem()が記述される。for文に基づくカウント数がブロックPlayItem()の識別子PlayItem_idとなる。さらに次のfor文に従い、フィールドnumber_of_SubPathで示される数だけ、ブロックSubPath()が記述される。for文に基づくカウント数がブロックSubPath()の識別子SubPath_idとなる。
【００６９】
なお、サブパスは、上述のアフレコ用のオーディオデータの例以外にも、例えば２枚の映像を合成する際に、プレイアイテムで指定されるクリップと同期して再生する副映像を指定するといった目的で用いられる。
【００７０】
図１１は、ブロックPlayItem()の一例の構造を表すシンタクスを示す。フィールドlengthは、１６ビットのデータ長を有し、このフィールドlengthの直後からブロックPlayItem()の最後までのデータ長を示す。
【００７１】
フィールドClip_Information_file_name[0]は、４０ビット（５バイト）のデータ長を有し、このブロックPlayItem()が参照するクリップインフォメーションファイルのファイル名が示される。このプレイアイテムにおいて、フィールドClip_Information_file_name[0]で示されるファイル名のクリップインフォメーションファイルが読み出される。フィールドClip_codec_identifier[0]は、３２ビット（４バイト）のデータ長を有し、このブロックPlayItem()によるプレイアイテムにおいて用いられるクリップＡＶストリームのコーデック方式を示す。
【００７２】
続く１１ビットの領域は、将来の使用のために予約されている領域である。１ビットのデータ長を有するフラグis_multi_angleは、マルチアングルに対応しているか否かを示す。フィールドconnection_conditionは、４ビットのデータ長を有し、接続状態に関する情報を示す。フィールドref_to_STC_id[0]は、８ビットのデータ長を有し、システムタイムベース（ＳＴＣ）の不連続点に関する情報を示す。
【００７３】
フィールドIN_timeおよびフィールドOUT_timeは、それぞれ３２ビットのデータ長を有し、メインクリップＡＶストリームの再生範囲を示す。フィールドIN_timeが開始点を示し、フィールドOUT_timeが終了点を示す。
【００７４】
フィールドUO_mask_table()は、ユーザ入力の受付制限が設定されるテーブルである。１ビットのデータ長を有するフラグPlayItem_random_access_flagは、このブロックPlayItem()によるプレイアイテムに対してランダムアクセスを許可するか否かを規定する。続く７ビットのデータ長を有する領域は、将来の使用のために予約された領域である。
【００７５】
フィールドstill_modeは、８ビットのデータ長を有し、ブロックPlayItem()によるプレイアイテムにおいて、最後に表示した映像を静止画として表示させるか否かを示す。フィールドstill_modeの値が"０ｘ０１"（バイナリ）であれば、if文に基づき、１６ビットのデータ長を有するフィールドstill_timeにより静止時間が示される。フィールドstill_modeの値が"０ｘ０１"以外であれば、当該１６ビットのデータ長を有する領域が将来の使用のために予約された領域とされる。
【００７６】
上述したフラグis_multi_angleの値がマルチアングルに対応していることを示す値（"１"）であれば、if文において示されるマルチアングルを管理するための構造が記述される。このマルチアングルに関しては、この発明と直接的な関わりがないので、説明を省略する。
【００７７】
ブロックSTN_table()は、このブロックPlayItem()によるプレイアイテムが管理しているクリップＡＶストリームの属性、ＰＩＤ番号、記録媒体上での記録位置などが管理される。
【００７８】
図１２は、クリップインフォメーションファイルの一例の構造を表すシンタクスを示す。フィールドtype_indicatorは、３２ビット（４バイト）のデータ長を有し、このファイルがクリップインフォメーションファイルであることを示す。フィールドversion_numberは、３２ビット（４バイト）のデータ長を有し、このクリップインフォメーションファイルのバージョンを示す。
【００７９】
このクリップインフォメーションファイルは、ブロックClipInfo()、ブロックSequenceInfo()、ブロックProgramInfo()、ブロックCPI()、ブロックClipMark()およびブロックExtensionData()を有し、それぞれ３２ビットのデータ長を有するフィールドSequenceInfo_start_address、フィールドProgramInfo_start_address、フィールドCPI_start_address、フィールドClipMark_start_addressおよびフィールドExtensionData_start_addressは、各々対応するブロックの開始アドレスを示す。
【００８０】
フィールドExtensionData_start_addressは、このクリップインフォメーションファイルの最初のバイトからの相対バイト数で、ブロックExtensionData()の開始アドレスを示す。相対バイト数は、"０"から開始される。若し、このフィールドExtensionData_start_addressの値が"０"であれば、このファイル"index.bdmv"内に、ブロックExtensionData()が存在しないことを示す。
【００８１】
ブロックClipInfo()は、これらの開始アドレスを示すフィールドに続く、９６ビットのデータ長を有する将来の使用のために予約された領域の次から開始される。ブロックClipInfo()は、このクリップインフォメーションファイルが管理するクリップＡＶストリームに関する情報が記述される。例えば、このクリップインフォメーションファイルが管理するクリップＡＶストリームが保持するソースパケット数、クリップＡＶストリームがどのようなストリームであるかを示す情報、最大記録レートを示す情報などが、ブロックClipInfo()に管理される。
【００８２】
ブロックSequenceInfo()は、ＳＴＣやＡＴＣ（アライバルタイムベース）が連続しているシーケンスをまとまりとして管理する情報が記述される。ブロックProgramInfo()は、このクリップインフォメーションファイルに管理されるクリップＡＶストリームがどのようなコーデック（例えばＭＰＥＧ２方式あるいはＭＰＥＧ４  ＡＶＣ方式）を用いて記録されているか、クリップＡＶストリーム中のビデオデータのアスペクト比などの情報が記述される。
【００８３】
ブロックCPI()は、ランダムアクセス開始点などの、ＡＶストリーム中の特徴的な箇所を表す特徴点情報ＣＰＩに関する情報が格納される。ブロックClipMark()は、チャプタ位置などの、クリップに付された頭出しのためのインデックス点（ジャンプポイント）が記述される。ブロックExtensionData()は、この発明の実施の一形態に係るデータが記述される。
【００８４】
次に、この発明の実施の一形態により定義される、ブロックExtensionData()について説明する。このブロックExtensionData()は、既に説明したように、インデックステーブルが格納されるファイル"index.bdmv"、プレイリストが格納されるファイル"xxxxx.mpls"およびクリップインフォメーションファイル"zzzzz.clpi"の各ファイルに記述することができる。
【００８５】
図１３は、ブロック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は、１６ビットのデータ長を有し、拡張データext_dataを特定する第１の情報を表す識別情報であって、主識別情報である。例えば、拡張データext_dataを定義した団体あるいは組織を表す。このフィールドID1の値は、このブロックExtensionData()を含む規格書のライセンサ（使用認可者）が割り当てる。
【００８９】
例えば、このデータ構造が記録されるディスクがＢＤ−ＲＯＭ規格のディスクであれば、ＢＤ−ＲＯＭ規格を定義した組織がこのフィールドID1の値を割り当てる。また例えば、物理規格がＢＤ−ＲＥ規格のディスクなどの記録可能なディスクに対して、ビデオカメラでこのデータ構造を記録する規格の場合、ビデオカメラに適用される規格を定義した組織がこのフィールドID1の値を割り当てる。
【００９０】
なお、フィールドID1を割り当てる組織によって、拡張するデータの種類が異なることが考えられる。上述の例では、ＢＤ−ＲＯＭ規格と、ビデオカメラの規格とでは要求されるデータの種類が異なる。換言すれば、フィールドID1を割り当てる組織と、当該フィールドID1が含まれる拡張データのエントリ（ブロックext_data_entry()）により拡張されるデータの種類とは、互いに対応関係にあるといえる。
【００９１】
フィールドID2は、１６ビットのデータ長を有し、拡張データext_dataを特定する第２の情報を表す識別情報であって、副識別情報である。例えば、上述のフィールドID1が示す団体あるいは組織が規定した、フィールドID1の値に応じてデータの種別を識別するための識別情報、あるいは、データを一意に識別するための識別情報を示す。フィールドID2は、このフィールドID2が記述されるブロックExtensionData()を含む規格の使用許可を受けた製造業者（ライセンシ）、あるいは、規格書のライセンサが割り当てる。
【００９２】
より具体的には、フィールドID2は、このフィールドID2が含まれる拡張データのエントリ（ブロックext_data_entry()）に対応するブロックdata_block()に記述されるデータが用いられる用途を特定する。上述したように、拡張データを定義および格納するためのブロックExtensionData()は、インデックスファイル"index.bdmv"、プレイリストファイル"xxxxx.mpls"およびクリップインフォメーションファイル"zzzzz.clpi"に対してぞれぞれ設けることができる。拡張データの用途は、例えば当該拡張データが格納されるファイルに対応したものとすることができる。
【００９３】
例えば、フィールドID1でＢＤ−ＲＯＭ規格で使用する拡張データが記録されたデータであることを示し、フィールドID2により、ＢＤ−ＲＯＭ規格で用いられる、映像を合成するための副画像の表示位置などを規定したデータと、音声の合成のためのデータとを区別するために用いられる。
【００９４】
したがって、拡張データを識別するための識別情報を、フィールドID1で示される主識別情報と、フィールドID2で示される副識別情報とで分けて管理することにより、迅速に拡張データの内容を把握することができるだけでなく、フィールドID1で拡張データを定義した団体または組織に関するデータを記録することにより、将来において、この論理フォーマットが拡張された場合であっても対応し得る拡張性を有するデータ構造を提供することができる。
【００９５】
なお、フィールドID1およびフィールドID2は、例えば、このフィールドID1およびフィールドID2が含まれる拡張データのエントリ（ブロックext_data_entry()）毎に異なる値を記述することができる。また、１のブロック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は、次に示す３２ビットアライメントの条件を満たさなければならない。
data_block_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()とによる２層構造とすることで、複数の拡張データを格納することが可能となる。
【０１０２】
ブロックdata_block()のより具体的な例を、図１５および図１６を用いて説明する。ここでは、ディスクがＢＤ−ＲＥ規格に対応した記録可能なＢｌｕ−ｒａｙ  Ｄｉｓｃであって、このディスクに対してレコーダでＡＶストリームを記録する場合について考える。この場合、レコーダ用途に必要な諸情報、例えば、記録装置名、記録に用いるディスク名、記録日時、ライトプロテクト情報などを拡張データとして、ブロックExtensionData()を用いて記述する。これにより、再生専用として定義されたデータ構造に対して、記録装置に対応したデータを付加することができるようになる。
【０１０３】
例えば、インデックスファイル"index.bdmv"のブロックExtensionData()に対して、インデックスファイルを拡張する情報を格納する場合について説明する。先ず、上述の図１３を参照して、フィールドID1を値"０ｘ１０００"、フィールドID2を値"０ｘ０１００"とする。なお、これらフィールドID1およびフィールドID2に記述された値は、例えば再生装置側において、予めＲＯＭ(Read Only Memory)などに記憶されたテーブルが参照されて識別される。
【０１０４】
フィールドext_data_start_addressで示されるブロックdata_block()内の位置から始まる領域に対して、図１５に一例の構造が示されるように、インデックスファイルを拡張するブロックIndexExtData()を記述する。ブロックIndexExtData()において、フィールドtype_indicatorは、次に続くデータの種類を示す、ＩＳＯ(International Organization for Standarization)６４６に規定された符号化方式で符号化した４文字からなる文字列が記述される。この図１５の例では、フィールドtype_indicatiorにＩＳＯ６４６に既定の方式で符号化された４文字の文字列"IDEX"が記述され、次に続くデータが記録に関する属性情報を記述するデータUIAppInfoRecordingであることが示される。
【０１０５】
フィールドtype_indicatorに続けて３２ビットのデータ長を有する予約領域と、２２４ビットのデータ長を有する、将来の使用のための予約領域とが配され、次にデータUIAppInfoRecordingが記述されるブロックUIAppInfoRecording()が置かれる。
【０１０６】
図１６は、ブロックUIAppInfoRecording()の一例の構造を表すシンタクスを示す。フィールドlengthは、３２ビットのデータ長を有し、このフィールドlengthの直後からブロックブロックUIAppInfoRecording()の終わりまでのデータ長をバイト数で示す。フィールドmaker_IDは、１６ビットのデータ長を有し、この拡張データを含むデータを最後に記録および／または更新した記録装置の製造者を示す。フィールドmaker_model_codeは、１６ビットのデータ長を有し、この拡張データを含むデータを最後に記録および／または更新した記録装置の型番を示す。
【０１０７】
１ビットのデータ長のフラグwrite_protect_flagは、この拡張データを含むデータの書き換えの可否を示す。例えばこのフラグwrite_protect_flagが値"１"にセットされていれば、記録装置は、この拡張データを含むデータを書き換えてはいけないとされる。また、値が"０"にセットされていれば、書き換え可とされる。
【０１０８】
フィールドref_to_thumbnail_indexは、１６ビットのデータ長を有し、この拡張データを含むデータを画像として表す代表画像を指定する。フィールドtime_zoneは、８ビットのデータ長を有し、この拡張データを含むデータが記録された時刻のタイムゾーンを示す。フィールドrecord_time_and_dateは、５６ビット（４ビット×１４）のデータ長を有し、この拡張データを含むデータが記録された日時および時刻を示す。
【０１０９】
７ビットのデータ長の予約領域に続けて、フィールドcharacter_setは、８ビットのデータ長を有し、フィールドnameに格納される文字列のキャラクタセットを示す。フィールドname_lengthは、８ビットのデータ長を有し、次に配置されるフィールドnameにおける、先頭からの有効なデータ長を示す。フィールドnameは、この拡張データを含むデータの名称を示す。例えば、フィールドnameによりディスク名が示される。このフィールドnameは、データ長が（８ビット×２５５）に固定長とされており、１バイト文字を２５５文字まで格納可能になっている。このフィールドnameの先頭からフィールドname_lengthで示されるデータ長までの文字列が、有効な文字列とされる。
【０１１０】
次に、この発明の実施の一形態による拡張データの一例の作成方法および読み出し方法について説明する。図１７は、インデックスファイル"index.bdmv"やプレイリストファイル"xxxxx.mpls"、クリップインフォメーションファイル"zzzzz.clpi"に対して定義された、ブロック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()の拡大は、システムに任され、システムがメモリアロケーションを適切に行うことでなされる。
【０１１７】
図１８は、インデックスファイル"index.bdmv"やプレイリストファイル"xxxxx.mpls"、クリップインフォメーションファイル"zzzzz.clpi"に対して定義された、拡張データによるブロック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]で示されるデータ長だけ、データを読み出す。
【０１２３】
ここで、仮想プレーヤについて、概略的に説明する。上述したようなデータ構造を有するディスクがプレーヤに装填されると、プレーヤは、ディスクから読み出されたムービーオブジェクトなどに記述されたコマンドを、プレーヤ内部のハードウェアを制御するための固有のコマンドに変換する必要がある。プレーヤは、このような変換を行うためのソフトウェアを、プレーヤに内蔵されるＲＯＭ(Read Only Memory)にあらかじめ記憶している。このソフトウェアは、ディスクとプレーヤを仲介してプレーヤにＢＤ−ＲＯＭの規格に従った動作をさせることから、ＢＤ仮想プレーヤと称される。
【０１２４】
図１９は、このＢＤ仮想プレーヤの動作を概略的に示す。図１９Ａは、ディスクのローディング時の動作の例を示す。ディスクがプレーヤに装填されディスクに対するイニシャルアクセスがなされると（ステップＳ３０）、１のディスクにおいて共有的に用いられる共有パラメータが記憶されるレジスタが初期化される（ステップＳ３１）。そして、次のステップＳ３２で、ムービーオブジェクトなどに記述されたプログラムがディスクから読み込まれて実行される。なお、イニシャルアクセスは、ディスク装填時のように、ディスクの再生が初めて行われることをいう。
【０１２５】
図１９Ｂは、プレーヤが停止状態からユーザにより例えばプレイキーが押下され再生が指示された場合の動作の例を示す。最初の停止状態（ステップＳ４０）に対して、ユーザにより、例えばリモートコントロールコマンダなどを用いて再生が指示される（ＵＯ：User Operation）。再生が指示されると、先ず、レジスタすなわち共通パラメータが初期化され（ステップＳ４１）、次のステップＳ４２で、ムービーオブジェクト実行フェイズに移行する。
【０１２６】
ムービーオブジェクトの実行フェイズにおけるプレイリストの再生について、図２０を用いて説明する。ＵＯなどにより、タイトル番号＃１のコンテンツを再生開始する指示があった場合について考える。プレーヤは、コンテンツの再生開始指示に応じて、上述した図２に示されるインデックステーブル(Index Table)を参照し、タイトル＃１のコンテンツ再生に対応するオブジェクトの番号を取得する。例えばタイトル＃１のコンテンツ再生を実現するオブジェクトの番号が＃１であったとすると、プレーヤは、ムービーオブジェクト＃１の実行を開始する。
【０１２７】
この図２０の例では、ムービーオブジェクト＃１に記述されたプログラムは２行からなり、１行目のコマンドが"Play PlayList(1)"であるとすると、プレーヤは、プレイリスト＃１の再生を開始する。プレイリスト＃１は、１以上のプレイアイテムから構成され、プレイアイテムが順次再生される。プレイリスト＃１中のプレイアイテムの再生が終了すると、ムービーオブジェクト＃１の実行に戻り、２行目のコマンドが実行される。図２０の例では、２行目のコマンドが"jump TopMenu"であって、このコマンドが実行されインデックステーブルに記述されたトップメニュー(Top Menu)を実現するムービーオブジェクトの実行が開始される。
【０１２８】
次に、この発明の実施の一形態を適用可能な記録再生装置について説明する。図２１は、この発明の実施の一形態に適用可能な記録再生装置の一例の構成を示す。制御部１７は、例えばＣＰＵ(Central Processing Unit)、ＲＯＭ(Read Only Memory)およびＲＡＭ(Random Access Memory)などからなる。ＲＯＭは、ＣＰＵ上で動作されるプログラムや動作のために必要なデータが予め記憶される。ＲＡＭは、ＣＰＵのワークメモリとして用いられる。ＣＰＵは、ＲＯＭに記憶されたプログラムやデータを必要に応じて読み出し、ＲＡＭをワークメモリに用いながら、この記録再生装置の全体を制御する。上述したＢＤ仮想プレーヤは、例えば予めＲＯＭに記憶されたプログラムにより、制御部１７により実現される。
【０１２９】
この記録再生装置に対して記録のためにビデオデータやオーディオデータなどの各種データを供給する機器（例えばビデオカメラやディジタルテレビ放送を受信可能なチューナ）から出力される、機器特有のデータや記録に関するデータなどがデータ入出力端子２８から入力され、制御部１７に供給される。
【０１３０】
各種のスイッチなどの操作子や、簡易的に表示を行う表示阻止を有する図示されないユーザインタフェースから出力されたデータがデータ入出力端子２８から入力される。また、制御部１７で生成された表示制御信号がデータ入力出力端子２８を介してユーザインターフェイスに供給される。ユーザインターフェイスは、この表示制御信号をテレビジョン受像器などのモニタ装置に供給し、表示させることもできる。
【０１３１】
先ず、記録時の動作について説明する。入力端３０にビデオ信号が入力される。入力端３１にオーディオ信号が入力される。入力されたビデオ信号およびオーディオ信号は、ＡＶエンコーダ２３に供給される。ビデオ信号は、ビデオ解析部２４にも供給される。ＡＶエンコーダ２３は、入力されたビデオ信号およびオーディオデータを、例えばＭＰＥＧ２方式で符号化し、符号化ビデオストリームＶ、符号化オーディオストリームＡおよびシステム情報Ｓをそれぞれ出力する。
【０１３２】
ＡＶエンコーダ２３は、オーディオ信号を、例えばＭＰＥＧ１オーディオストリームやドルビーＡＣ３オーディオストリームなどの形式に符号化する。システム情報Ｓは、符号化ピクチャやオーディオフレームのバイトサイズ、ピクチャの符号化タイプといった、ビデオ信号やオーディオ信号の符号化情報や、ビデオおよびオーディオの同期などに関する時間情報からなる。
【０１３３】
ＡＶエンコーダ２３のこれらの符号化出力は、マルチプレクサ２２に供給される。マルチプレクサ２２は、供給された符号化ビデオストリームＶ、符号化オーディオストリームＡを、システム情報Ｓに基づき多重化し、ＭＰＥＧ２トランスポートストリームによる多重化ストリームを出力する。すなわち、符号化ビデオストリームＶ、符号化オーディオストリームＡおよびシステム情報Ｓは、それぞれトランスポートパケットのペイロードのサイズに分割され、所定のヘッダを付加されて、トランスポートパケット化される。ヘッダには、それぞれのデータ種類などを識別可能なように、ＰＩＤが所定に格納される。
【０１３４】
マルチプレクサ２２から出力された多重化ストリームは、端子５０Ａが選択されたスイッチ５０を介してソースパケッタイザ２１および上述した多重化ストリーム解析部２５に供給される。ソースパケッタイザ２１は、供給された多重化ストリームを、記録媒体のアプリケーションフォーマットに従って符号化する。
【０１３５】
ソースパケッタイザ２１で符号化されたクリップＡＶストリームは、ＥＣＣ(Error Correction Coding)符号化部２０でエラー訂正符号化され、変調部１９で記録符号に変調され、書き込み部１８に供給される。書き込み部１８は、制御部１７から供給される制御信号の指示に基づき、変調部１９で記録符号に変調されたクリップＡＶストリームを、記録可能な記録媒体１０に対して記録する。
【０１３６】
この記録再生装置は、クリップＡＶストリームが多重化されたトランスポートストリームを直接的に入力して、記録媒体に記録することができるようになっている。例えば、ディジタルインターフェイスまたはディジタルテレビジョンチューナから出力される、ディジタルテレビジョン放送などによるトランスポートストリームが入力端子３２に対して入力される。
【０１３７】
入力されたトランスポートストリームの記録方法としては、トランスペアレントに記録する方法と、記録ビットレートを下げるなどの目的のために再エンコードして記録する方法とが考えられる。この２通りの記録方法のうち何方を用いて記録を行うかを指示は、例えばユーザのユーザインターフェイスに対する操作によりなされ、この操作に応じた制御信号がデータ入力出力端子２８を介して制御部１７に供給される。制御部１７は、この制御信号に基づきこの記録再生装置の各部を制御し、記録方法の制御を行う。
【０１３８】
入力トランスポートストリームをトランスペアレントに記録する場合、スイッチ５０において端子５０Ｂが選択されると共に、スイッチ５１において端子５１Ａが選択され、入力端３２から入力されたトランスポートストリームは、スイッチ５１および５０を介してソースパケッタイザ２１および多重化ストリーム解析部２５にそれぞれ供給される。これ以降の処理は、上述した、入力端３０および３１に入力されたビデオ信号およびオーディオ信号を符号化して記録する場合と同一である。
【０１３９】
一方、入力トランスポートストリームを再エンコードして記録する場合、スイッチ５１において端子５１Ｂが選択され、入力端３２から入力されたトランスポートストリームは、デマルチプレクサ１５に供給される。デマルチプレクサ１５は、供給されたトランスポートストリームに多重化されている符号化ビデオストリームＶ、符号化オーディオストリームＡおよびシステム情報Ｓを分離し、符号化ビデオストリームＶをＡＶデコーダ１６に供給すると共に、符号化オーディオストリームＡおよびシステム情報Ｓをマルチプレクサ２２に供給する。
【０１４０】
ＡＶデコーダ１６は、デマルチプレクサ１５から供給された符号化ビデオストリームＶを復号し、復号されたビデオ信号をＡＶエンコーダ２３に供給する。ＡＶエンコーダ２３は、供給されたこのビデオ信号を符号化して符号化ビデオストリームＶとする。この符号化ビデオストリームＶは、マルチプレクサ２２に供給される。
【０１４１】
マルチプレクサ２２は、ＡＶエンコーダ２３で符号化され供給された符号化ビデオストリームＶと、デマルチプレクサ１５で分離された符号化オーディオストリームＡとを、同じくデマルチプレクサ１５で分離されたシステム情報Ｓに基づき多重化して多重化ストリームを出力する。これ以降の処理は、上述した、入力端３０および３１に入力されたビデオ信号およびオーディオ信号を符号化して記録する場合と同一である。
【０１４２】
この記録再生装置は、例えばＢＤ−ＲＥ規格に準じた記録媒体１０に対して上述のようにしてクリップＡＶストリームファイルを記録すると共に、記録するクリップＡＶストリームファイルに関連するアプリケーションデータベース情報をさらに記録する。アプリケーションデータベース情報は、ビデオ解析部２４からの動画像の特徴情報と、多重化ストリーム解析部２５からのクリップＡＶストリームの特徴情報と、端子２８から入力されるユーザの指示情報とに基づき、制御部１７により作成される。
【０１４３】
ビデオ解析部２４から得られる、動画像の特徴情報は、ＡＶエンコーダ２３によりビデオ信号を符号化して記録する場合に、この記録再生装置内において生成される情報である。ビデオ解析部２４は、入力端３０から入力されたビデオ信号または入力端３２から入力されたトランスポートストリームからデマルチプレクサ１５で分離されＡＶデコーダ１６で復号されたビデオ信号が供給される。ビデオ解析部２４は、供給されたビデオ信号の内容を解析し、入力されたビデオ信号中の特徴的なマーク点の画像に関する情報を生成する。例えば、ビデオ解析部２４は、入力ビデオ信号中のプログラムの開始点、シーンチェンジ点や、ＣＭ（コマーシャル）放映の開始、終了点などの特徴的なマーク点を検出し、検出されたマーク点の画像の指示情報を得る。また、マーク点の画像のサムネイル画像を生成するようにしてもよい。サムネイル画像は、実際の画像データを間引き処理などにより縮小した画像である。また、サムネイル画像のクリップＡＶストリーム上の位置は、ＰＴＳで示すことができる。
【０１４４】
これらの画像の指示情報、サムネイル画像およびサムネイル画像の位置情報（例えばＰＴＳ）は、制御部１７を介してマルチプレクサ２２に供給される。マルチプレクサ２２は、制御部１７から指示されるマーク点の画像を符号化した符号化ピクチャを多重化する際に、当該符号化ピクチャのクリップＡＶストリーム上でのアドレス情報を制御部１７に返す。制御部１７は、特徴的な画像の種類と、対応する符号化ピクチャのクリップＡＶストリーム上でのアドレス情報とを関連付けて、例えばＲＡＭに記憶する。
【０１４５】
多重化ストリーム解析部２５から得られる、クリップＡＶストリームの特徴情報は、記録されるクリップＡＶストリームの符号化情報に関連する情報であり、この動画像記録再生装置内において生成される。例えば、クリップＡＶストリームについて、エントリポイントのタイムスタンプと対応するアドレス情報とをクリップＡＶストリームの特徴情報として含む。この他にも、クリップＡＶストリームについて、ＳＴＣ(System Time Clock)の不連続情報、プログラム内容の変化情報、アライバルタイムと対応するアドレス情報などが、クリップＡＶストリームの特徴情報として含まれる。
【０１４６】
また、多重化ストリーム解析部２５は、入力端３２から入力されるトランスポートストリームをトランスペアレントに記録する場合、クリップＡＶストリーム中の特徴的なマーク点画像を検出し、検出された画像の種類とアドレス情報とを生成する。この情報は、クリップインフォメーションファイル中のブロックClipMarkに格納されるデータとなる。このように、多重化ストリーム解析部２５により得られたクリップＡＶストリームの特徴情報は、クリップＡＶストリームのデータベースであるクリップインフォメーションファイルに格納されることになる。多重化ストリーム解析部２５で得られたこれらの情報は、例えば、制御部１７のＲＡＭに一旦記憶される。
【０１４７】
図示されないユーザインターフェイスに対してなされたユーザの指示情報は、データ入力出力端子２８から制御部１７に供給される。この指示情報は、例えば、クリップＡＶストリーム中でユーザが気に入った再生区間の指定情報、当該再生区間の内容を説明するためのキャラクタ文字、ユーザが気に入ったシーンにセットするブックマーク点やリジューム点のクリップＡＶストリーム中のタイムスタンプなどが含まれる。これらのユーザの指示情報は、一旦、制御部１７のＲＡＭに記憶される。これらの指示情報は、記録媒体１０上においては、プレイリストが有するデータベースに格納される。
【０１４８】
制御部１７は、ＲＡＭ上に記憶された上述した入力情報、すなわち、ビデオ解析部２４から得られる動画像の特徴情報、多重化ストリーム解析部２５から得られるクリップＡＶストリームの特徴情報、ならびに、データ入力出力端子２８から入力されたユーザ指示情報に基づき、クリップＡＶストリームのデータベース（クリップインフォメーション）、プレイリストのデータベース（プレイリストファイル）、記録媒体の記録内容に対する管理情報（インデックスファイル）およびサムネイル情報を作成する。
【０１４９】
ここで、制御部１７は、インデックスファイルを作成する際に、上述した、データ入出力端子２８から入力された、機器特有のデータや記録に関する情報に基づき、インデックスファイル、プレイリストファイルおよび／またはクリップインフォメーションファイルを拡張するための拡張データを作成することができる。すなわち、制御部１７は、データ入出力端子２８から入力されたデータに基づき、拡張データを、図１７のフローチャートを用いて説明したような処理によりファイルに埋め込む。
【０１５０】
これらのデータベース情報は、制御部１７のＲＡＭから読み出され、クリップＡＶストリームと同様にして、制御部１７からＥＣＣ符号化部２０に供給されエラー訂正符号化され、変調部１９で記録符号に変調され、書き込み部１８に供給される。書き込み部１８は、制御部１７から供給される制御信号に基づき、記録符号化されたデータベース情報を記録媒体１０に記録する。
【０１５１】
次に、再生時の動作について説明する。記録媒体１０は、記録時の動作で説明したようにして作成された、クリップＡＶストリームファイルと、プレイリストファイルおよびインデックスファイルからなるアプリケーションデータベース情報とが記録されている。記録媒体１０が図示されないドライブ装置に装填されると、先ず、制御部１７は、読み出し部１１に対して、記録媒体１０上に記録されたアプリケーションデータベース情報を読み出すように指示する。読み出し部１１は、この指示を受けて、記録媒体１０からアプリケーションデータベース情報を読み出す。読み出し部１１の出力は、復調部１２に供給する。
【０１５２】
復調部１２は、読み出し部１１の出力を復調し、記録符号を復号してディジタルデータとする。復調部１２の出力は、ＥＣＣ復号部１３に供給され、エラー訂正符号が復号されエラー訂正処理が行われる。エラー訂正処理されたアプリケーションデータベース情報は、制御部１７に供給される。
【０１５３】
制御部１７は、アプリケーションデータベース情報に基づいて、記録媒体１０に記録されているプレイリストの一覧を、ユーザインターフェイス入力出力端子２８を介してユーザインターフェイスに出力する。このプレイリストの一覧は、例えばユーザインターフェイスに設けられた表示部に所定に表示される。ユーザにより、このプレイリストの一覧から再生したいプレイリストが選択され、選択したプレイリストを再生するような操作がユーザインターフェイスに対してなされる。この操作に応じた制御信号がユーザインターフェイスから出力され、端子２８を介して制御部１７に供給される。
【０１５４】
制御部１７は、この制御信号に応じて、選択されたプレイリストの再生に必要なクリップＡＶストリームファイルの読み出しを、読み出し部１１に指示する。読み出し部１１は、この指示に従い、記録媒体１０からクリップＡＶストリームファイルを読み出す。読み出し部１１の出力は、復調部１２に供給される。復調部１２は、供給された信号を復調し、記録符号を復号してディジタルデータとして出力し、ＥＣＣ復号部１３に供給する。ＥＣＣ復号部１３は、供給されたディジタルデータのエラー訂正符号を復号し、エラー訂正を行う。エラー訂正されたクリップＡＶストリームファイルは、制御部１７により提供される図示されないファイルシステム部の処理を受け、ソースデパケッタイザ１４に供給される。
【０１５５】
ソースデパケッタイザ１４は、制御部１７の制御に基づき、記録媒体１０におけるアプリケーションフォーマットで記録されていたクリップＡＶストリームファイルを、デマルチプレクサ１５に入力できる形式のストリームに変換する。例えば、ソースデパケッタイザ１４は、記録媒体１０から再生されたＭＰＥＧ２トランスポートストリームをソースパケット単位に分解し、ソースパケットからヘッダを取り除きトランスポートパケット化する。このトランスポートパケット化されたクリップＡＶストリームを、デマルチプレクサ１５に供給する。
【０１５６】
デマルチプレクサ１５は、制御部１７の制御に基づき、ソースデパケッタイザ１４から供給されたクリップＡＶストリームの、制御部１７により指定された再生区間(PlayItem)を構成するビデオストリームＶ、オーディオストリームＡおよびシステム情報Ｓを出力し、ＡＶデコーダ１６に供給する。例えば、デマルチプレクサ１５は、供給されたトランスポートパケットをＰＩＤに基づき選別し、選別されたそれぞれについて、トランスポートパケットヘッダを取り除いて出力する。ＡＶデコーダ１６は、供給されたビデオストリームＶおよびオーディオストリームＡを復号し、復号された再生ビデオ信号および再生オーディオ信号をビデオ出力端２６およびオーディオ出力端２７にそれぞれ導出する。
【０１５７】
なお、制御部１７は、インデックスファイルやクリップＡＶストリームファイル、プレイリストファイルに拡張データが含まれている場合、図１８のフローチャートを用いて説明した処理に従いファイルに埋め込まれた拡張データを取得する。制御部１７は、取得された拡張データに応じて所定の処理を行うことができる。上述の図１６の拡張データの例では、記録媒体１０に記録されたデータの書き換えの可否や、サムネイル画像の表示制御、記録データの記録日時表示制御などが考えられる。
【０１５８】
上述では、記録媒体１０がＢＤ−ＲＥ規格に準じた記録可能なディスクであるとして説明したが、これはこの例に限定されない。すなわち、再生部側の処理に限っていえば、記録媒体１０は、ＢＤ−ＲＯＭ規格に準じた、再生専用のディスクであってもよい。記録媒体１０として再生専用の記録媒体を用いる場合でも、再生部側の動作は、上述と同一である。勿論、記録部側の動作は、行えないようにされる。また、再生専用の記録媒体を用いる場合において、上述の図１６の構成を、記録部側の構成を省略した再生装置とすることもできる。さらに、上述の図１６の構成を、再生部側の構成を省略した記録装置とすることもできる。
【０１５９】
なお、上述では、図１６に示す動画像記録再生装置がハードウェア的に構成されるように説明したが、これはこの例に限定されない。すなわち、動画像記録再生装置は、実際に記録媒体１０が装填されるドライブ部などの機構部分以外の部分を、ソフトウェアとして構成することも可能である。この場合、ソフトウェアは、例えば制御部１７が有するＲＯＭに予め記憶される。これに限らず、動画像記録再生装置を、パーソナルコンピュータなどのコンピュータ装置上に構成することも可能である。この場合には、動画像記録再生装置をコンピュータ装置に実行させるソフトウェアは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭといった記録媒体に記録されて提供される。コンピュータ装置がネットワーク接続可能な場合、インターネットなどのネットワークを介して当該ソフトウェアを提供することも可能である。
【図面の簡単な説明】
【０１６０】
【図１】ＢＤ−ＲＯＭのデータモデルを概略的に示す略線図である。
【図２】インデックステーブルを説明するための略線図である。
【図３】クリップＡＶストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ図である。
【図４】複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。
【図５】サブパスについて説明するための略線図である。
【図６】記録媒体に記録されるファイルの管理構造を説明するための略線図である。
【図７】このファイル"index.bdmv"の一例の構造を表すシンタクスを示す略線図である。
【図８】ブロックindexes()の一例の構造を表すシンタクスを示す略線図である。
【図９】ムービープレイリストファイル"xxxxx.mpls"の一例の構造を表すシンタクスを示す略線図である。
【図１０】ブロックPlayList()の一例の構造を表すシンタクスを示す略線図である。
【図１１】ブロックPlayItem()の一例の構造を表すシンタクスを示す略線図である。
【図１２】クリップインフォメーションファイルの一例の構造を表すシンタクスを示す略線図である。
【図１３】ブロックExtensionData()の一例の構造を表すシンタクスを示す略線図である。
【図１４】ブロックExtensionData()における各データの参照関係を模式的に示す略線図である。
【図１５】ブロックdata_block()をより具体的に説明するための略線図である。
【図１６】ブロックdata_block()をより具体的に説明するための略線図である。
【図１７】拡張データによるブロックExtensionData()にデータを書き込む際の一例の処理を示すフローチャートである。
【図１８】拡張データによるブロックExtensionData()から拡張データを読み出す際の一例の処理を示すフローチャートである。
【図１９】ＢＤ仮想プレーヤの動作を概略的に示すフローチャートである。
【図２０】ＢＤ仮想プレーヤの動作を概略的に示すフローチャートである。
【図２１】この発明の実施の一形態に適用可能な記録再生装置の一例の構成を示すブロック図である。
【符号の説明】
【０１６１】
１０  記録媒体
１１  読み出し部
１７  制御部
１８  書き込み部
２８  データ入出力端子
【図１】
2007179671.tif 000003
【図２】
2007179671.tif 000004
【図３】
2007179671.tif 000005
【図４】
2007179671.tif 000006
【図５】
2007179671.tif 000007
【図６】
2007179671.tif 000008
【図７】
2007179671.tif 000009
【図９】
2007179671.tif 000010
【図１２】
2007179671.tif 000011
【図１３】
2007179671.tif 000012
【図１４】
2007179671.tif 000013
【図１５】
2007179671.tif 000014
【図１６】
2007179671.tif 000015
【図１７】
2007179671.tif 000016
【図１８】
2007179671.tif 000017
【図１９】
2007179671.tif 000018
【図２０】
2007179671.tif 000019
【図２１】
2007179671.tif 000020
【図８】
2007179671.tif 000021
【図１０】
2007179671.tif 000022
【図１１】
2007179671.tif 000023