(57)【要約】  ストリームシーケンスを構成する複数のデジタルストリーム（以下「ストリーム」）を外部リソースから順次ダウンロードしながら再生する再生装置であって、前記ストリームシーケンスにおける現在の再生時間を示す時間情報と前記複数のストリームの各々について再生可能状態であるか否かを示す状態情報とを格納しており、ストリームシーケンスに対応するアプリケーションを実行する実行部とストリームシーケンスの再生を制御する再生制御部とを備え、前記アプリケーションは、前記複数のストリームそれぞれの再生区間情報を含み、前記時間情報と前記再生区間情報とに基づいて、再生中のストリームの次に再生すべき次ストリームを特定し、前記次ストリームの状態情報が再生不可能状態であれば、前記再生制御部は前記アプリケーションの要求に従って、再生中のストリームの表示期間を引き延ばすための特殊再生、または当該ストリームに続き代替映像の再生を行う。
2010103827.tif 000002
【特許請求の範囲】
【請求項１】
ストリームシーケンスを構成する複数のデジタルストリームをアプリケーションの要求に従って外部リソースから順次ダウンロードしながら再生する再生装置であって、
前記ストリームシーケンスに対応するアプリケーションを実行する実行手段と、
前記ストリームシーケンスにおける現在の再生時間を示す時間情報を格納する時間情報格納手段と、
前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報を格納する状態情報格納手段と、
前記ストリームシーケンスの再生を制御する再生制御手段とを備え、
前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記時間情報格納手段に格納されている時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定し、
前記状態情報格納手段に格納されている、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、前記再生制御手段は、前記アプリケーションの要求に従って、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行う
再生装置。
【請求項２】
前記ストリームシーケンスの再生速度を示す値を格納する再生速度格納手段をさらに備え、
前記アプリケーションは、前記再生速度を示す値の正負に基づいて前記ストリームシーケンスの再生方向を特定し、
前記次デジタルストリームの特定はさらに、前記再生方向に基づいてなされる
請求項１記載の再生装置。
【請求項３】
前記複数のデジタルストリームを外部リソースから順次ダウンロードするダウンロード手段をさらに備え、
前記次デジタルストリームがダウンロードされていなければ、前記ダウンロードされていない次デジタルストリームの状態情報は再生不可能状態として前記状態情報格納手段に格納され、前記ダウンロード手段は、前記アプリケーションの要求に従って、前記次デジタルストリームを優先的にダウンロードする
請求項２記載の再生装置。
【請求項４】
前記再生速度を示す値が負の値の場合に、前記アプリケーションは、前記ストリームシーケンスの再生方向が時間方向と逆方向であると特定し、
前記次デジタルストリームは、現在再生されているデジタルストリームの直前の再生区間に相当するデジタルストリームである
請求項３記載の再生装置。
【請求項５】
前記ストリームシーケンスをプレイリストに従って再生しており、
前記プレイリストは、複数のプレイアイテムを含み、
前記複数のプレイアイテムは、前記複数のデジタルストリームと一対一で対応しており、対応するデジタルストリームの再生区間を示し、
前記複数のプレイアイテムのうち一部のプレイアイテムにはチャプタマークが付与されており、
前記アプリケーションは、前記一部のプレイアイテムにチャプタマークが付与されていることを示すチャプタマーク付与情報をさらに含み、
前記チャプタマーク付与情報に基づいて、前記次デジタルストリームとして、再生中のデジタルストリームの直近の、チャプタマークが付与されているプレイアイテムに対応するデジタルストリームを特定する
請求項３記載の再生装置。
【請求項６】
前記ダウンロード手段は、前記アプリケーションの要求に従って、チャプタマークが付与されている残りのプレイアイテムに対応するデジタルストリームを優先的にダウンロードする
請求項５記載の再生装置。
【請求項７】
前記複数のプレイアイテムのうちチャプタマークが付与されているプレイアイテムに対応するデジタルストリームのサイズが、他のデジタルストリームのサイズより小さい
請求項５または６記載の再生装置。
【請求項８】
前記ストリームシーケンスにおける再生開始位置に相当するデジタルストリームの状態情報が、再生可能状態であることを示しており、
前記アプリケーションは、前記再生開始位置からダウンロードが完了しておらず、前記状態情報が再生不可能状態であることを示す一のデジタルストリームの直前のデジタルストリームまでの再生時間と、ダウンロードが完了していないデジタルストリームのうち先頭のデジタルストリームから当該一のデジタルストリームまでをダウンロードするのに必要な総ダウンロード時間とを算出し、
総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段は、前記アプリケーションの要求に従って、前記再生開始位置から再生を開始する
請求項１記載の再生装置。
【請求項９】
前記アプリケーションによる再生時間及び総ダウンロード時間の算出は、ダウンロードが完了しておらず、前記状態情報が再生不可能状態であることを示す全てのデジタルストリームについてなされ、
前記全てのデジタルストリームについて、総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段により再生の開始がなされる
請求項８記載の再生装置。
【請求項１０】
前記ストリームシーケンスとともに複数のサブストリームシーケンスを前記外部リソースからダウンロードしながら再生しており、
前記ストリームシーケンスは、メインクリップであり、
各サブストリームシーケンスは、サブクリップであり、複数のサブデジタルストリームから構成され、
前記サブクリップは、字幕ストリームまたはオーディオストリームを含み、
前記状態情報はさらに、前記複数のサブデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示しており、
前記再生制御手段が、前記メインクリップとともに一のサブクリップのサブデジタルストリームを再生している場合において、当該サブデジタルストリームの次に再生すべき次サブデジタルストリームの状態情報が、再生不可能状態であることを示しており、他のサブクリップのサブデジタルストリームの状態情報が再生可能状態であることを示していれば、前記再生制御手段は、前記アプリケーションの要求に従って、当該他のサブデジタルストリームを前記一のサブデジタルストリームに続いて再生する
請求項１記載の再生装置。
【請求項１１】
前記ストリームシーケンスとともに複数のサブストリームシーケンスを前記外部リソースからダウンロードしながら再生しており、
前記ストリームシーケンスは、メインクリップであり、
各サブストリームシーケンスは、サブクリップであり、複数のサブデジタルストリームから構成され、
前記サブクリップは、字幕ストリームまたはオーディオストリームを含み、
前記状態情報はさらに、前記複数のサブデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示しており、
前記再生制御手段が、前記メインクリップとともに一のサブクリップのサブデジタルストリームを再生している場合において、当該一のサブクリップから他のサブクリップへの切り替え指示をユーザから受け付けた場合、前記他のサブクリップにおける再生対象となるサブデジタルストリームの状態情報が再生不可能状態であることを示していれば、前記再生制御手段は、前記アプリケーションの要求に従って、再生中のデジタルストリーム及びサブデジタルストリームの表示期間を引き延ばすための特殊再生を行う
請求項１記載の再生装置。
【請求項１２】
前記特殊再生は、一時停止である
請求項１記載の再生装置。
【請求項１３】
前記特殊再生は、スロー再生である
請求項１記載の再生装置。
【請求項１４】
前記再生装置はさらに、前記アプリケーションの要求に従ってグラフィクスを描画するプロセッサを含み、
前記グラフィクスは、前記特殊再生中のデジタルストリームに重畳されて出力される
請求項１２または１３記載の再生装置。
【請求項１５】
ストリームシーケンスを構成する複数のデジタルストリームをアプリケーションの要求に従って外部リソースから順次ダウンロードしながら再生する再生装置に用いられる再生方法であって、
前記ストリームシーケンスに対応するアプリケーションを実行する実行ステップと、
前記ストリームシーケンスの再生を制御する再生制御ステップとを含み、
前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記再生装置に格納されている、前記ストリームシーケンスにおける現在の再生時間を示す時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定し、
前記再生装置に格納されている、前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報のうち、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、前記再生制御ステップは、前記アプリケーションの要求に従って、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行う
再生方法。
【請求項１６】
アプリケーションが記録された記録媒体であって、
前記アプリケーションは、再生装置により実行され、
前記再生装置は、前記アプリケーションに対応するストリームシーケンスを構成する複数のデジタルストリームを前記アプリケーションの要求に従って外部リソースから順次ダウンロードしながら再生するものであり、
前記ストリームシーケンスにおける現在の再生時間を示す時間情報を格納する時間情報格納手段と、
前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報を格納する状態情報格納手段と、
前記ストリームシーケンスの再生を制御する再生制御手段とを備え、
前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記時間情報格納手段に格納されている時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定する特定手順と
前記状態情報格納手段に格納されている、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行うよう、前記再生制御手段に要求する要求手順とを含む
記録媒体。
【請求項１７】
ストリームシーケンスを構成する複数のデジタルストリームを外部リソースから順次ダウンロードしながら再生する再生装置により実行されるアプリケーションであって、
前記再生装置は、
前記ストリームシーケンスにおける現在の再生時間を示す時間情報を格納する時間情報格納手段と、
前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報を格納する状態情報格納手段と、
前記ストリームシーケンスの再生を制御する再生制御手段とを備え、
前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記時間情報格納手段に格納されている時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定する特定手順と、
前記状態情報格納手段に格納されている、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行うよう、前記再生制御手段に要求する要求手順とを含む
アプリケーション。
【請求項１８】
オーサリング装置であって、
ユーザ操作を受け付ける受付手段と、
前記ユーザ操作に基づいてアプリケーションを生成する生成手段とを備え、
前記アプリケーションは、ストリームシーケンスを構成する複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記ストリームシーケンスにおける現在の再生時間を示す時間情報を再生装置から取得する取得手順と、
前記時間情報と前記再生区間情報とに基づいて、前記再生装置において現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定する特定手順と、
前記次デジタルストリームが再生不可能な状態である場合、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行うよう、前記再生装置に要求する要求手順とを含む
オーサリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想パッケージを構築し再生する再生装置に関し、特に、ストリームシーケンスを構成する複数のデジタルストリームを外部リソースから順次ダウンロードしながら再生する技術に関する。
【背景技術】
【０００２】
仮想パッケージとは、記録媒体（例えばBD-ROM等）に記録されているデジタルストリームとリライタブル記録媒体（例えばローカルストレージ等）に記録されているデジタルストリームとを組み合わせることにより構築される仮想的なパッケージである。仮想パッケージが構築されることにより、各記録媒体に記録されているデジタルストリームは、あたかも仮想的な一つのパッケージに記録されているかのごとく、再生装置における再生や実行に供される（例えば特許文献１参照）。【０００３】
ネットワークを介して外部リソース（例えばWWWサーバ等）から新たなデジタルストリームをリライタブル記録媒体にダウンロードすることで、記録媒体の記録内容を拡張/更新することができる。【０００４】
ところで、仮想パッケージ構築機能を有する再生装置では、外部リソースから複数のデジタルストリームを順次ダウンロードしながら再生すること（所謂、ストリーミングライクな再生）が可能である。【０００５】
具体的には、外部リソースが例えば、記録媒体に記録された映画本編の視聴後に配信可能となるおまけ映像（ストリームシーケンス）を、複数のデジタルストリームに分割した状態で保持しておき、再生装置は、少なくとも再生開始位置に相当するデジタルストリームのみを予めダウンロードする。そして、そのデジタルストリームの再生を開始した後は、当該デジタルストリームに後続するデジタルストリームを順次ダウンロードしながら再生することで、ストリーミングライクな再生が実現される。【０００６】
これにより、おまけ映像の一部分だけをダウンロードしておくだけで再生を開始できるので、ユーザのダウンロード待ち時間を短縮することができる。また、一般的なストリーミング再生と異なり、一定の再生区間を有するデジタルストリームをダウンロードした後、再生するので、早送りや巻き戻し、スキップ等といった特殊再生が可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１０９４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ストリーミングライクな再生機能には、ダウンロード待ち時間が短縮され、特殊再生も可能になるというメリットがある反面、デジタルストリームを再生可能な状態にするのに時間がかかるというデメリットがある。具体的には、ネットワークの混雑状況によって、デジタルストリームのダウンロードに多大な時間を要する場合がある。また、ダウンロードしたデジタルストリームを記録媒体に記録するためにも時間を要し、さらには、デジタルストリームを再生可能な状態にするために当該デジタルストリームに対して誤り訂正等の処理も行う必要がある。【０００９】
これらの理由により、再生装置が再生中のデジタルストリームの次に再生すべき次デジタルストリームが、当該次デジタルストリームの再生開始時間においても、未だ再生可能な状態になっていない場合がある。【００１０】
その場合には、再生可能な状態のデジタルストリームが存在しないので、再生装置が再生を停止してしまい、その結果、表示画面に何も表示されない事態が生じ得る。表示画面に何も表示されないと、ユーザに対して再生が終了したという誤った印象を与えかねない。【００１１】
以上は、おまけ映像を順次ダウンロードしながら再生する場合について説明したが、例えば、記録媒体に記録された映画本編の再生に合わせて、外部リソースから字幕または音声ストリームを含むデジタルストリームを順次ダウンロードしながら再生する場合にも同様の課題が生じ得る。【００１２】
このように従来の再生装置は、ユーザにとっては、ストリーミングライクな再生を行う際の使い勝手が悪く、使い勝手のよい新たな再生装置が要望されている。【００１３】
本発明は、ストリーミングライクな再生を行う際の使い勝手を向上させた再生装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明の一実施態様である再生装置は、ストリームシーケンスを構成する複数のデジタルストリームをアプリケーションの要求に従って外部リソースから順次ダウンロードしながら再生する再生装置であって、前記ストリームシーケンスに対応するアプリケーションを実行する実行手段と、前記ストリームシーケンスにおける現在の再生時間を示す時間情報を格納する時間情報格納手段と、前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報を格納する状態情報格納手段と、前記ストリームシーケンスの再生を制御する再生制御手段とを備え、前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、前記時間情報格納手段に格納されている時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定し、前記状態情報格納手段に格納されている、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、前記再生制御手段は、前記アプリケーションの要求に従って、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行う。
【発明の効果】
【００１５】
上記課題を解決するための手段に記載の構成により、前記アプリケーションは、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定することができる。【００１６】
前記アプリケーションが次デジタルストリームを特定できるので、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合には、前記再生制御手段は、前記アプリケーションの要求に従って、再生の停止を回避するための制御を行うことができる。具体的には、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続いて代替映像の再生を行うことができる。【００１７】
これにより、表示画面に何らかの映像を表示させつつ、次デジタルストリームを再生可能な状態にするための時間を稼ぐことができるので、ユーザに対して再生が終了したという誤った印象を与えることなく、再生が停止される可能性を低減することができる。【００１８】
ストリーミングライクな再生を開始する際のダウンロード待ち時間の短縮と、次デジタルストリームが再生可能状態でない場合の再生停止可能性の低減とを両立できるので、ユーザの使い勝手を向上させることができる。【００１９】
ここで、本発明の別の態様として、前記ストリームシーケンスの再生速度を示す値を格納する再生速度格納手段をさらに備え、前記アプリケーションは、前記再生速度を示す値の正負に基づいて前記ストリームシーケンスの再生方向を特定し、前記次デジタルストリームの特定はさらに、前記再生方向に基づいてなされるとしてもよい。【００２０】
本態様の再生装置では、ストリームシーケンスの再生方向によらず次に再生すべきデジタルストリームを特定することができるので、ストリームシーケンスの再生方向によらず、再生の停止を回避するための制御を行うことができる。【００２１】
ここで、本発明の別の態様として、前記複数のデジタルストリームを外部リソースから順次ダウンロードするダウンロード手段をさらに備え、前記次デジタルストリームがダウンロードされていなければ、前記ダウンロードされていない次デジタルストリームの状態情報は再生不可能状態として前記状態情報格納手段に格納され、前記ダウンロード手段は、前記アプリケーションの要求に従って、前記次デジタルストリームを優先的にダウンロードするとしてもよい。【００２２】
本態様の再生装置では、次デジタルストリームがダウンロードされていなければ、当該次デジタルストリームを優先的にダウンロードするので、再生中のデジタルストリームから次デジタルストリームに再生が遷移する前に、次デジタルストリームの状態情報が、再生可能状態を示す確率を高めることができる。【００２３】
ここで、本発明の別の態様として、前記再生装置は前記ストリームシーケンスをプレイリストに従って再生しており、前記プレイリストは、複数のプレイアイテムを含み、前記複数のプレイアイテムは、前記複数のデジタルストリームと一対一で対応しており、対応するデジタルストリームの再生区間を示し、前記複数のプレイアイテムのうち一部のプレイアイテムにはチャプタマークが付与されており、前記アプリケーションは、前記一部のプレイアイテムにチャプタマークが付与されていることを示すチャプタマーク付与情報をさらに含み、前記チャプタマーク付与情報に基づいて、前記次デジタルストリームとして、再生中のデジタルストリームの直近の、チャプタマークが付与されているプレイアイテムに対応するデジタルストリームを特定するとしてもよい。【００２４】
また、本発明の別の態様として、前記ダウンロード手段は、前記アプリケーションの要求に従って、チャプタマークが付与されている残りのプレイアイテムに対応するデジタルストリームを優先的にダウンロードするとしてもよい。【００２５】
本態様の再生装置では、チャプタマークが付与されているプレイアイテムに対応するデジタルストリームが特定され、当該デジタルストリームが優先的にダウンロードされるので、チャプタスキップ指示をユーザから受け付けた場合であっても、可能な限りデジタルストリームの再生を一時停止することなくストリーミングライクな再生を実現することができる。【００２６】
ここで、本発明の別の態様として、前記複数のプレイアイテムのうちチャプタマークが付与されているプレイアイテムに対応するデジタルストリームのサイズが、他のデジタルストリームのサイズより小さいとしてもよい。【００２７】
本態様の再生装置では、チャプタマークが付与されているプレイアイテムに対応するデジタルストリームのサイズが、他のデジタルストリームのサイズより小さいので、再生中にユーザ操作によりチャプタスキップが発生した際、スキップ先のデジタルストリームのダウンロードが完了していない場合であっても、ダウンロードに要する時間は短くて済み、ユーザの待ち時間を短縮できる。【００２８】
ここで、本発明の別の態様として、前記ストリームシーケンスにおける再生開始位置に相当するデジタルストリームの状態情報が、再生可能状態であることを示しており、前記アプリケーションは、前記再生開始位置からダウンロードが完了しておらず、前記状態情報が再生不可能状態であることを示す一のデジタルストリームの直前のデジタルストリームまでの再生時間と、ダウンロードが完了していないデジタルストリームのうち先頭のデジタルストリームから当該一のデジタルストリームまでをダウンロードするのに必要な総ダウンロード時間とを算出し、総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段は、前記アプリケーションの要求に従って、前記再生開始位置から再生を開始するとしてもよい。【００２９】
本態様の再生装置では、状態情報が再生不可能状態であることを示す一のデジタルストリームについて、総ダウンロード時間が再生時間よりも短い場合に、再生を開始するので、再生開始後すぐにBD-Jアプリケーションにより一時停止指示がなされる可能性を低減することができる。【００３０】
ここで、本発明の別の態様として、前記アプリケーションによる再生時間及び総ダウンロード時間の算出は、ダウンロードが完了しておらず、前記状態情報が再生不可能状態であることを示す全てのデジタルストリームについてなされ、前記全てのデジタルストリームについて、総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段により再生の開始がなされるとしてもよい。【００３１】
本態様の再生装置では、状態情報が再生不可能状態であることを示す全てのデジタルストリームについて、総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段により再生の開始がなされるので、再生開始後すぐにBD-Jアプリケーションにより一時停止指示がなされる可能性をさらに低減することができる。【００３２】
ここで、本発明の別の態様として、前記ストリームシーケンスとともに複数のサブストリームシーケンスを前記外部リソースからダウンロードしながら再生しており、前記ストリームシーケンスは、メインクリップであり、各サブストリームシーケンスは、サブクリップであり、複数のサブデジタルストリームから構成され、前記サブクリップは、字幕ストリームまたはオーディオストリームを含み、前記状態情報はさらに、前記複数のサブデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示しており、前記再生制御手段が、前記メインクリップとともに一のサブクリップのサブデジタルストリームを再生している場合において、当該サブデジタルストリームの次に再生すべき次サブデジタルストリームの状態情報が、再生不可能状態であることを示しており、他のサブクリップのサブデジタルストリームの状態情報が再生可能状態であることを示していれば、前記再生制御手段は、前記アプリケーションの要求に従って、当該他のサブデジタルストリームを前記一のサブデジタルストリームに続いて再生するとしてもよい。【００３３】
本態様の再生装置では、次サブデジタルストリームの状態情報が、再生不可能状態であることを示しており、他のサブクリップのサブデジタルストリームの状態情報が再生可能状態であることを示していれば、当該他のサブデジタルストリームを前記一のサブデジタルストリームに続いて再生するので、次に再生すべきサブデジタルストリームが再生可能状態でない場合であっても、再生を一時停止することなく、再生を継続させることができる。【００３４】
ここで、本発明の別の態様として、前記ストリームシーケンスとともに複数のサブストリームシーケンスを前記外部リソースからダウンロードしながら再生しており、前記ストリームシーケンスは、メインクリップであり、各サブストリームシーケンスは、サブクリップであり、複数のサブデジタルストリームから構成され、前記サブクリップは、字幕ストリームまたはオーディオストリームを含み、前記状態情報はさらに、前記複数のサブデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示しており、前記再生制御手段が、前記メインクリップとともに一のサブクリップのサブデジタルストリームを再生している場合において、当該一のサブクリップから他のサブクリップへの切り替え指示をユーザから受け付けた場合、前記他のサブクリップにおける再生対象となるサブデジタルストリームの状態情報が再生不可能状態であることを示していれば、前記再生制御手段は、前記アプリケーションの要求に従って、再生中のデジタルストリーム及びサブデジタルストリームの表示期間を引き延ばすための特殊再生を行うとしてもよい。【００３５】
本態様の再生装置では、切り替え指示をユーザから受け付けた場合、切り替え先のサブデジタルストリームが再生不可能状態であることを示していれば、再生制御手段は、再生の停止を回避するための制御を行うので、再生が停止される可能性を低減することができる。
【図面の簡単な説明】
【００３６】
【図１】再生装置１００の、使用行為についての形態の一例を示す図である。
【図２】プレイリストの一例を示す図である。
【図３】プレイリストの具体例を示す図である。
【図４】AVクリップがどのようにしてダウンロードされるかを示す図である。
【図５】再生装置１００の構成の一例を示す図である。
【図６】クリップ番号と状態情報との対応テーブルを示す図である。
【図７】システムパラメータ（SPRM）の一覧を示す図である。
【図８】BD-Jアプリケーションの機能構成を示すブロック図である。
【図９】ネットワーク再生情報とプレイリストとの対応関係を示す図である。
【図１０】ストリーミングライクな再生機能を模式的に示す図である。
【図１１】再生開始タイミングを説明するための図である。
【図１２】BD-Jアプリケーションの処理手順を示すフローチャートである。
【図１３】プレイリスト再生開始タイミング処理の処理手順を示すフローチャートである。
【図１４】優先ダウンロード処理の処理手順を示すフローチャートである。
【図１５】優先度リスト作成処理の処理手順を示すフローチャートである。
【図１６】再生状況監視処理の処理手順を示すフローチャートである。
【図１７】プレイアイテム特定処理の処理手順を示すフローチャートである。
【図１８】プレイリスト再生処理の処理手順を示すフローチャートである。
【図１９】次に再生すべきAVクリップがEnable状態でない場合のBD-Jアプリケーションによる再生制御を説明するための図である。
【図２０】変形例１−２における優先度リスト作成処理の処理手順を示すフローチャートである。
【図２１】チャプタマークが付与されたプレイアイテムが参照するAVクリップのダウンロード時間をどのように短縮するかを説明するための図である。
【図２２】実施の形態２のプレイリストの具体例を示す図である。
【図２３】サブプレイアイテムを伴う場合のストリーミングライクな再生機能を模式的に示す図である。
【図２４】実施の形態２における優先ダウンロード処理の処理手順を示すフローチャートである。
【図２５】実施の形態２の再生状況監視処理の処理手順を示すフローチャートである。
【図２６】実施の形態２のプレイリスト再生処理の処理手順を示すフローチャートである。
【図２７】字幕切り替えがユーザによって要求されたため、現在の再生時点が、サブパス(ID=#0)の10003.m2tsを参照しているサブプレイアイテム#3から、サブパス(ID=#1)の20003.m2tsを参照しているサブプレイアイテム#3に変化した場合を想定した図である。
【図２８】サブパス変更における再生状況監視処理の処理手順を示すフローチャートである。
【図２９】次に再生すべきサブプレイアイテムが参照しているAVクリップがEnable状態でない場合の再生制御を説明するための図である。
【図３０】変形例２−２における再生状況監視処理の処理手順を示すフローチャートである。
【図３１】オーサリングシステムの構成を示す図である。
【図３２】（ａ）ROMディスクイメージの作成手順を示すフローチャートである。（ｂ）アップデートキットイメージの作成手順を示すフローチャートである。
【図３３】AVクリップの構成の一例を示す図である。
【図３４】AVクリップがどのように多重化されるかを模式的に示す図である。
【図３５】PESパケット列にビデオストリームがどのように格納されるかを示す図である。
【図３６】AVクリップに最終的に書き込まれるTSパケットの形式を示す図である。
【図３７】PMTのデータ構造を示す図である。
【図３８】クリップ情報ファイルの一例を示す図である。
【図３９】ストリーム属性情報の一例を示す図である。
【図４０】エントリマップの一例を示す図である。
【図４１】プレイリスト情報のデータ構造を示す図である。
【図４２】サブパス情報の内部構成を示す図である。
【図４３】STN＿tableの全体構成の一例を示す図である。
【図４４】システムターゲットデコーダ１０４の内部構成の一例を示す図である。
【図４５】BD-ROMの構成の一例を示す図である。
【図４６】インデックスファイルの内部構成の一例を示す図である。
【図４７】ムービーオブジェクトを説明するための図である。
【図４８】ローカルストレージ３００に格納されるアップデートキットの内部構成の一例を示す図である。
【図４９】マージ管理情報ファイルの内容と、その内容を元にBD-ROMのファイルとアップデートキットのファイルとから、仮想パッケージを構築する過程の一例を示す図である。
【図５０】ネットワーク再生情報の一例を示す図である。
【発明を実施するための形態】
【００３７】
以下、図面を参照しながら本発明の実施の形態を説明する。
（実施の形態１）
＜全体構成＞
まず、再生装置の実施行為のうち、使用行為についての形態を説明する。図１は、再生装置１００の、使用行為についての形態の一例を示す図である。本図に示すように、再生装置１００は、BD-ROM２００、ローカルストレージ３００、WWWサーバ４００、及びテレビ５００と共にユーザによる使用に供される。
【００３８】
再生装置１００は、テレビ５００と共に、ホームシアターシステムを構築して、BD-ROM２００を再生する。かかる再生装置は、ダウンロードしたデータを記録媒体に書き込む機能を有したものであり、記録装置としての機能を兼備している。
【００３９】
BD-ROM２００は、例えば映画作品が記録された記録媒体である。
【００４０】
ローカルストレージ３００は、再生装置１００に装填され、映画配給者のWWWサーバ４００から配信されたコンテンツの受け皿として利用される。これにより、インターネットを通じてダウンロードされ、ローカルストレージに格納されたコンテンツと、BD-ROM２００に記録されたコンテンツとを組み合わせて、BD-ROM２００のコンテンツを拡張/更新をすることができる。
【００４１】
WWWサーバ４００は、例えば映画配給者の公式サイトを運営するサーバ装置であり、BD-ROM２００に記録された映画作品の部分的な置き換えや追加を実現するファイル一式(アップデートキット)を、インターネット等を介してユーザに供給する。
【００４２】
テレビ５００は、映画作品の再生映像を表示したり、メニュー等を表示したりすることで、対話的な操作環境をユーザに提供する。
【００４３】
以上が再生装置の使用形態についての説明である。続いて、再生装置が再生の対象としているプレイリストについて説明する。
＜プレイリスト＞
図２は、プレイリストの一例を示す図である。プレイリストは、「メインパス」と1つ以上の「サブパス」とから構成される。
【００４４】
「メインパス」は、1つ以上のプレイアイテムから構成される。
【００４５】
「プレイアイテム」は、ストリーム番号テーブルを含む。
【００４６】
「ストリーム番号テーブル」は、プレイアイテムにおいて再生が許可されているエレメンタリストリームのストリーム番号を示す。
【００４７】
「サブパス」は、メインパスと同時に再生される一連の再生経路を示し、１つ以上のサブプレイアイテムから構成される。サブパスには、プレイリストに登録される順にID(サブパスID)が振られ、このサブパスIDは、サブパスを識別するために使われる。また、サブパスには、メインパスの再生に同期して再生される同期型と、メインパスの再生に非同期で再生可能な非同期型とがあり、そのタイプはサブパスタイプに記される。
【００４８】
サブパスタイプが同期型の場合は、サブプレイアイテムの再生開始時刻と再生終了時刻は、メインパスと同じ時間軸で表されるが、サブパスタイプが非同期型の場合は、サブプレイアイテムの再生開始時刻と再生終了時刻は、メインパスと異なる時間軸で表される。
【００４９】
プレイリスト情報、プレイアイテム情報、ストリーム番号テーブル、及びサブプレイアイテム情報の詳細については、後述する。
【００５０】
図３は、プレイリストの具体例を示す図である。このプレイリストは、５つのプレイアイテム#1,#2,#3,#4,#5を含むメインパスから構成される。５つのプレイアイテム#1,#2,#3,#4,#5は、それぞれ00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsを参照している。すなわちプレイアイテムとAVクリップとが一対一に対応している。
【００５１】
各プレイアイテムから参照されるAVクリップは、全てローカルストレージに格納されるアップデートキットのコンテンツであり、ネットワーク属性が付与されている。ネットワーク属性とは、プレイリスト再生にあたって、一つのコンテンツを構成する全てのAVクリップが予めローカルストレージに格納されていることを必要とせず、プレイアイテムから参照されるAVクリップが、当該プレイアイテムがカレントプレイアイテムになる直前にローカルストレージに格納されていれば足りる、というAVクリップの属性のことである。
【００５２】
メインパスの各プレイアイテムは、図中右上のようなストリーム番号テーブルを有する。このストリーム番号テーブルは、ストリーム番号1が割り当てられたエントリーをもつ。このエントリーは、メインパスのプレイアイテム情報によって参照されるプライマリビデオストリームの再生を許可するものである。
【００５３】
本実施の形態においては、これ以降、図３に示すプレイリストを具体例として用いて、再生装置の動作を説明する。このプレイリストは、例えば、BD-ROM２００に記録された映画がユーザに視聴された後、WWWサーバ４００から配信されるおまけ映像に対応するものである。
【００５４】
図４は、AVクリップがどのようにしてダウンロードされるかを示す図である。本図における右側はWWWサーバ４００を示し、左側は再生装置１００を示す。真ん中は、インターネットやイントラネット等の伝送路を示す。
【００５５】
00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsは、WWWサーバ４００に存在する。再生装置１００は、WWWサーバ４００に対し、00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsのダウンロード要求を順次送信することで、これらをWWWサーバ４００からダウンロードすることができる。
【００５６】
以下、再生装置１００がダウンロード要求、ダウンロード、及びプレイリスト再生を行うための構成要素について説明する。これらの処理のための構成要素には、BD-Jアプリケーションと、BD-Jオブジェクトとがあり、これらは記録媒体２００に記憶されている。以下、これらの構成要素の詳細について説明する。
＜BD-Jアプリケーション＞
BD-Jアプリケーションは、Java（登録商標）２Micro＿Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装したプラットフォーム部において、タイトルを生存区間としたアプリケーションシグナリングによって起動されるJava(TM)アプリケーションである。
【００５７】
BD-Jアプリケーションは、プレイリストを再生するJMFプレーヤインスタンスの生成をJava(TM)仮想マシンに命じることで、プレイリスト再生を開始させる。JMF(Java Media Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
【００５８】
JMFインスタンスが生成された後、BD-Jアプリケーションは、プレイリスト再生にあたって、必要となるAVクリップのダウンロードをWWWサーバ４００に対して要求する。
【００５９】
上述したようなプレイリスト再生及びAVクリップダウンロードに先立ち、BD-Jアプリケーションは、GUIフレームワークを用いて、ユーザ操作を受け付ける。Java(TM)アプリケーションにおけるGUIフレームワークは、GEM1.0.2にて規定されたHAViフレームワークを含み、GEM1.0.2におけるリモートコントロールナビゲーション機構を含む。
【００６０】
これにより、Java(TM)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができる。したがって、リモートコントロールを用いて、上述したようなプレイリスト再生やAVクリップダウンロードを実現することができる。BD-Jアプリケーションを構成する一連のファイルは、Http：//Java（TM）.sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じた、Java（TM）アーカイブファイルに変換される。Java（TM）アーカイブファイルは、ZIPファイルの形式を、Java（TM）に特化したものであり、市販されているZIP展開ソフトウェアにより中身を確認することができる。
【００６１】
また、BD-Jアプリケーションでは、ファンクションAPIのコールを記述することにより、再生装置１００特有の処理を実行させることができる。
＜BD-Jオブジェクト＞
BD-Jオブジェクトは、アプリケーション管理テーブル(ApplicationManagementTable())を含み、BD-ROM再生時において、タイトル切り替えに伴うアプリケーションシグナリングをプラットフォーム部に実行させるデータのことである。より具体的にいうと、ApplicationManagementTable()は、実行すべきBD-Jアプリケーションを示すapplication＿idと、BD-Jアプリケーションを起動する際の制御を示すapplication＿control＿codeとを含む。
【００６２】
application＿control＿codeは、タイトル選択後におけるアプリケーションの最初の実行状態を規定しており、application＿control＿codeは、BD-Jアプリケーションを仮想マシンにロードして自動開始するか（AUTOSTART）、BD-Jアプリケーションを仮想マシンにロードするが自動開始はしないか（PRESENT）を規定することができる。
【００６３】
続いて、再生装置１００の内部構成について説明する。
＜再生装置＞
図５は、再生装置１００の構成の一例を示す図である。再生装置１００は、BD-ROMドライブ１０１、リードバッファ１０２、リードバッファ１０３、システムターゲットデコーダ１０４、BD-J実行部１０５、ネットワークインタフェイス１０６、仮想パッケージ制御部１０７、状態管理部１０８、ユーザイベント処理部１０９、再生エンジン１１０、再生制御エンジン１１１、HDMI送受信部１１２、ヒープメモリ１１３、仮想マシンインタプリタ１１４、及びPSRセット１１５を含んで構成されている。以降、これらの構成要素について詳細に説明する。
【００６４】
＜BD-ROMドライブ１０１＞
BD-ROMドライブ１０１は、BD-ROMディスクからデータを読み出し、リードバッファ１０２にデータを蓄える。
【００６５】
＜リードバッファ１０２＞
リードバッファ１０２は、BD-ROMドライブを使って読み込んだデータを一時的に格納するメモリ等で構成されたバッファである。
【００６６】
＜リードバッファ１０３＞
リードバッファ１０３は、ローカルストレージから読み込んだデータを一時的に格納するメモリ等で構成されたバッファである。
【００６７】
＜システムターゲットデコーダ１０４＞
システムターゲットデコーダ１０４は、リードバッファ１０２に読み出されたソースパケット及びリードバッファ１０３に読み出されたソースパケットに対して多重分離処理を行い、多重分離処理により得られる各ストリームをデコードし再生する処理を行う。
【００６８】
また、BD-J実行部１０５から転送される、メニューなどに表示するためのJPEG，PNGなどのグラフィックスデータをデコードして再生する処理を行う。システムターゲットデコーダ１０４の詳細については後述する。
【００６９】
＜BD-J実行部１０５＞
BD-J実行部１０５は、仮想パッケージ制御部１０７から転送されるBD-Jアプリケーションを実行するプログラム処理エンジンである。BD-Jアプリケーションのプログラムに従った動作を行い、次のような制御を行う。
【００７０】
（１）仮想パッケージ制御部１０７を介して、プレイリスト再生開始タイミング処理、優先ダウンロード処理及び再生状況監視処理を行う。これらの処理の詳細は、後述する。（２）インターネット上のWWWサーバからアップデートキットを取得しローカルストレージへ蓄積する。（３）BD-ROMとアップデートキットとを組み合わせた仮想パッケージの構築を命令する。（４）プレーヤ変数に値をセットする。（５）システムターゲットデコーダに対してメニューやゲームのグラフィックスのためのPNG・JPEGを転送して画面に表示する。これらはプログラムの作りに応じて自由に行うことができ、どのように制御するかは、オーサリング時におけるBD-Jアプリケーションのプログラミング工程によって決まる。
【００７１】
＜ネットワークインタフェイス１０６＞
ネットワークインタフェイス１０６は、再生装置における通信機能を実現するものであり、URL指定がBD-Jアプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードをJava(TM)アプリケーションに行わせる。
【００７２】
＜仮想パッケージ制御部１０７＞
仮想パッケージ制御部１０７は、BD-ROMドライブ１０１及びローカルストレージ３００を制御して、仮想パッケージを構築し、再生装置１００の再生を制御する機能を持つ。仮想パッケージとは、ローカルストレージ３００に格納されたマージ管理情報に基づいて、BD-ROMディスクに記録されたコンテンツとローカルストレージ３００に格納された差分データとをメモリ上で組み合せた仮想的なBD-ROMパッケージである。構築された仮想パッケージは、BD-ROMのデータ構造と同じ形式を持つ。仮想パッケージを構築するタイミングは、ディスクがインサートされた時や、BD-J実行部１０５により仮想パッケージ構築命令が実行された時などである。
【００７３】
仮想パッケージ制御部１０７は、仮想パッケージが構築された後は、BD-J実行部の再生命令やユーザイベント処理部の通知に基づいて、プレイリスト情報を介して、AVクリップの再生を制御する。また、仮想パッケージ制御部１０７は、プレーヤ変数の設定や参照を行い、再生動作を行う。
【００７４】
＜状態管理部１０８＞
状態管理部１０８は、BD-ROM及びローカルストレージに存在する個々のAVクリップの状態情報を、当該AVクリップのクリップ番号に対応付けて管理する。状態情報は、Missing状態、Enable状態、及びDisable状態の何れであるかを示す。
【００７５】
Missing状態とは、プレイアイテム情報、またはサブプレイアイテム情報から参照されているAVクリップが、BD-ROM及びローカルストレージの何れにも存在しない、すなわちダウンロードが完了しておらず、再生不可能な状態であることを意味する。
【００７６】
Enable状態とは、仮想パッケージ制御部１０７での再生が可能な状態であることを意味し、BD-JアプリケーションのAPIで制御される。Enable状態にセットするためのAPIが実行された場合、セットの対象となるAVクリップは、リードオンリー属性になり、仮想パッケージ制御部１０７でのAVクリップの再生が可能になる。
【００７７】
Disable状態は、Enable状態の反対を意味し、仮想パッケージ制御部１０７は当該状態に該当するAVクリップの再生をすることができない。BD-JアプリケーションによりEnable状態に一度もセットされていないAVクリップは、Disable状態である。また、Enable状態のAVクリップの削除や上書き等は、BD-Jアプリケーションが、APIを介して、当該AVクリップをDisable状態に一度遷移させた後に、実行される。
【００７８】
Missing状態及びDisable状態を併せてUnavailable 状態といい、Missing状態になっているAVクリップと、Disable状態になっているAVクリップとを併せてUnavailableクリップという。
【００７９】
図６は、クリップ番号と状態情報との対応テーブルを示す図である。本図に示す例では、クリップ番号00001,00002,00003の各々に対応する00001.m2ts、00002.m2ts、00003.m2tsがEnable状態であり、クリップ番号00004に対応する00004.m2tsがDisable状態であり、クリップ番号00005に対応する00005.m2tsがMissing状態であることがわかる。対応テーブルは、AVクリップのダウンロード状況等に基づいて、BD-Jアプリケーションにより適宜書き換えられる。
【００８０】
状態管理部１０８は、BD-JアプリケーションからAVクリップの状態情報の問い合わせを受けると、対応テーブルを参照し、当該AVクリップの状態情報を返信する。
【００８１】
＜ユーザイベント処理部１０９＞
ユーザイベント処理部１０９は、リモコンを通じたユーザ操作に応じた処理の実行をBD-J実行部１０５や仮想パッケージ制御部１０７に依頼する。例えば、リモコンのボタンを押した場合は、そのボタンに対応するプレイリストを実行するようBD-J実行部１０５に依頼する。また、例えば、リモコンで早送り・巻戻しボタンが押された場合には、仮想パッケージ制御部１０７に、現在再生しているプレイリストのAVクリップに対する早送り・巻戻し処理の実行を命令する。
【００８２】
＜再生エンジン１１０＞
再生エンジン１１０は、AV再生ファンクションを実行する。再生装置のAV再生ファンクションとは、DVDプレーヤ、CDプレーヤから踏襲した伝統的な機能群であり、再生開始(Play)、再生停止(Stop)、一時停止(Pause On)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(Backward Play(speed))、音声切り換え(Audio Change)、Secondaryビデオ切り換え(Subtitle Change)、及びアングル切り換え(Angle Change)といった機能である。AV再生ファンクションを実現するべく、再生エンジン１１０は、AVクリップのうち、所望の時刻にあたる部分のデコードを行うよう、システムターゲットデコーダを制御する。
【００８３】
＜再生制御エンジン１１１＞
再生制御エンジン１１１は、プレイリストに対する再生制御ファンクションを実行する。プレイリストに対する再生制御ファンクションとは、再生エンジン１１０が行うAV再生ファンクションのうち、再生開始や再生停止を、カレントプレイリスト情報及びクリップ情報に従って行わせることをいう。
【００８４】
＜HDMI送受信部１１２＞
HDMI送受信部１１２は、HDMI（HDMI: High Definition Multimedia Interface）を介して接続された他の機器から、その機器に関する情報を受信する。また、システムターゲットデコーダによるデコードにより得られたデジタル非圧縮のビデオを、LPCM状態のオーディオデータまたは圧縮符号化されたオーディオデータとともに、HDMIを介して接続された他の機器に送信する。
【００８５】
＜ヒープメモリ１１３＞
ヒープメモリ１１３は、BD-J実行部１０５のために確保されるスタックメモリであり、BD-Jアプリケーションによって生成されたJMFプレーヤインスタンスや、BD-Jアプリケーションに対してクラスローダを行うことで生成されるバイトコードが格納される。これらは、スレッドの態様をなし、先入先出し式に、仮想マシンインタプリタ１１４による実行に供される。
【００８６】
＜仮想マシンインタプリタ１１４＞
仮想マシンインタプリタ１１４は、ヒープメモリ１１３に格納されたバイトコードをCPUが実行可能なネィティブコードに変換してCPUに実行させる。
【００８７】
＜PSRセット１１５＞
PSRセット１１５は、プレーヤ変数を格納しているプレーヤセッティングレジスタ、プレーヤステータスレジスタである。プレーヤ変数には、プレーヤの状態を示すシステムパラメータ（SPRM）と、一般用途として使用可能なゼネラルパラメータ（GPRM）とがある。
【００８８】
図７は、システムパラメータ（SPRM）の一覧を示す図である。
【００８９】
SPRM（０）      ：  言語コード
SPRM（１）      ：  Primaryオーディオストリーム番号
SPRM（２）      ：  字幕ストリーム番号
SPRM（３）      ：  アングル番号
SPRM（４）      ：  タイトル番号
SPRM（５）      ：  チャプタ番号
SPRM（６）      ：  プログラム番号
SPRM（７）      ：  セル番号
SPRM（８）      ：  選択キー情報
SPRM（９）      ：  ナビゲーションタイマー
SPRM（１０）    ：  再生時刻情報
SPRM（１１）    ：  カラオケ用ミキシングモード
SPRM（１２）    ：  パレンタル用国情報
SPRM（１３）    ：  パレンタルレベル
SPRM（１４）    ：  プレーヤ設定値（ビデオ）
SPRM（１５）    ：  プレーヤ設定値（オーディオ）
SPRM（１６）    ：  音声ストリーム用言語コード
SPRM（１７）    ：  音声ストリーム用言語コード（拡張）
SPRM（１８）    ：  字幕ストリーム用言語コード
SPRM（１９）    ：  字幕ストリーム用言語コード（拡張）
SPRM（２０）    ：  プレーヤリージョンコード
SPRM（２１）    ：  Secondaryビデオストリーム番号
SPRM（２２）    ：  Secondaryオーディオストリーム番号
SPRM（２３）    ：  再生状態
SPRM（２４）    ：  再生速度
SPRM（２５）    ：  予備
SPRM（２６）    ：  予備
SPRM（２７）    ：  予備
SPRM（２８）    ：  予備
SPRM（２９）    ：  予備
SPRM（３０）    ：  予備
SPRM（３１）    ：  予備
SPRM（１０）は、AVクリップに属する各ピクチャデータが表示される度に更新される。つまり再生装置が新たなピクチャデータを表示させれば、その新たなピクチャデータの表示時刻（PTS）を示す値にSPRM（１０）は更新される。このSPRM（１０）を参照すれば、現在の再生時点を知得することができる。
【００９０】
SPRM（１６）の音声ストリーム用言語コードやSPRM（１８）の字幕ストリーム用言語コードは、プレーヤのOSDなどで設定できる項目であり、プレーヤのデフォルトの言語コードを示す。例えば、SPRM（１６）の音声ストリーム用言語コードが英語であれば、プレイリストを再生する上で、プレイアイテムのストリーム選択テーブルの中から同じ言語コードを持つストリームエントリを探し出し、その音声ストリームを選択して再生するといった機能をBD-ROMディスクの中のBD-Jアプリケーションに入れることができる。これらのSPRMは、それぞれが３２ビットの語長をもつレジスタに格納される。SPRMを特定する括弧書きの数値は、基本的には、対応するレジスタのレジスタ番号を意味する（ただし、SPRM（２１）、SPRM（２２）は、対応するレジスタのレジスタ番号を意味している訳ではない）。
【００９１】
＜システム時間生成部１１６＞
システム時間生成部１１６は、システム起動時からの経過時間を示すシステム時間情報を生成し、BD-J実行部１０５へ提供する。
【００９２】
続いて、BD-Jアプリケーションの機能構成について説明する。
＜BD-Jアプリケーションの機能構成＞
図８は、BD-Jアプリケーションの機能構成を示すブロック図である。図８に示すように、BD-Jアプリケーションは、再生制御部１２１、優先順位決定部１２２、ストリームダウンロード部１２３、無効クリップ判定部１２４、ダウンロード状況判定部１２５、ナビゲーション制御部１２６、メニュー表示部１２７、及び再生クリップ検出部１２８を含んで構成される。
【００９３】
＜再生制御部１２１＞
再生制御部１２１は、次のような処理を行う。（i）再生中のAVクリップの次に再生すべき次AVクリップの通知を再生クリップ検出部１２８から受け付け、次AVクリップが再生可能状態であるか、または再生不可能状態であるかの判定を無効クリップ判定部１２４に依頼する。（ii）次AVクリップが再生可能状態であるか、または再生不可能状態であるかの判定結果を無効クリップ判定部１２４から受け付け、その判定結果に基づいて、再生制御エンジン１１１を制御する。（iii）再生中のAVクリップの通知及び再生速度を再生クリップ検出部１２８から受け付け、ダウンロードが完了しておらず状態情報が再生不可能状態であることを示すAVクリップをダウンロードする際の優先順位を決定するよう、優先順位決定部１２２に依頼する。優先順位決定部１２２への依頼の際、再生中のAVクリップのクリップ番号及び再生速度を通知する。（iv）システム時間生成部１１６からシステム時間を、ダウンロード状況判定部１２５からダウンロード済みのAVクリップのクリップ番号を取得する。システム時間とクリップ番号とネットワーク再生情報とに基づいて、再生制御エンジン１１１にプレイリストの再生開始を指示する。
【００９４】
＜優先順位決定部１２２＞
優先順位決定部１２２は、ネットワーク再生情報、再生中のAVクリップのクリップ番号、再生速度、及びダウンロードが完了していないAVクリップのクリップ番号に基づいて、どのAVクリップを優先してダウンロードすべきかを示す優先度リストを作成する。
【００９５】
＜ストリームダウンロード部１２３＞
ストリームダウンロード部１２３は、優先度リストに基づいて、ダウンロードが完了していないAVクリップのダウンロードをネットワークインタフェイス部１０６に指示する。
【００９６】
＜無効クリップ判定部１２４＞
無効クリップ判定部１２４は、次AVクリップの状態情報を状態管理部１０８に要求する。その状態情報から次AVクリップが再生可能状態であるか、または再生不可能状態であるかを判定し、その結果を再生制御部１２１に通知する。
【００９７】
＜ダウンロード状況判定部１２５＞
ダウンロード状況判定部１２５は、再生中のプレイリストに対応する各AVクリップの状態情報を状態管理部１０８に要求する。それら状態情報から当該状態情報に対応するAVクリップのダウンロードが完了しているか否かを判定し、ダウンロードが完了していると判定したAVクリップのクリップ番号を再生制御部１２１に通知する。また、ダウンロードが完了していないと判定したAVクリップのクリップ番号を優先順位判定部１２２に通知する。
【００９８】
＜ナビゲーション制御部１２６＞
ナビゲーション制御部１２６は、ユーザ操作に応じた処理を行うようメニュー表示部１２７及び再生制御部１２１を制御する。例えば、ユーザ操作がプレイリスト及びプレイアイテムの選択である場合には、再生制御部１２１に対し、選択されたプレイリストのプレイアイテムが参照しているAVクリップを再生するよう、指示する。
【００９９】
＜メニュー表示部１２７＞
メニュー表示部１２７は、システムターゲットデコーダに対してメニューやゲームのグラフィックスのためのPNG・JPEGを転送し、画面に表示する。
【０１００】
＜再生クリップ検出部１２８＞
再生クリップ検出部１２８は、PSRセットから現在の再生時間を取得し、取得した再生時間をネットワーク再生情報に照らし合わせて、現在再生されているAVクリップを特定する。また、PSRセットから再生速度を取得し、再生速度の正負に基づいて再生方向を特定し、特定した再生方向及びネットワーク再生情報に基づいて、現在再生されているAVクリップの次に再生すべきAVクリップを特定する。
＜ネットワーク再生情報＞
続いて、図９は、ネットワーク再生情報と図３で示したプレイリストとの対応関係を示す図である。図９に示すように、ネットワーク再生情報は、クリップ番号、開始時間、終了時間、チャプタマーク付与情報、及びファイルサイズを含む。これらは、図３で示したプレイリストにおけるプレイアイテムの数と同じだけ存在する。すなわち、プレイアイテムと、図９で示すネットワーク再生情報における一行分の情報とが、一対一に対応している。
【０１０１】
クリップ番号は、対応するプレイアイテムが参照しているAVクリップのファイル名に対応しており、当該ファイル名と同じ値を示す。
【０１０２】
開始時間は、対応するプレイアイテムにおける再生開始時刻に対応しており、再生開始時刻と同じ値を示す。
【０１０３】
終了時間は、対応するプレイアイテムにおける再生終了時刻に対応しており、再生終了時刻と同じ値を示す。
【０１０４】
チャプタマーク付与情報は、対応するプレイアイテムにチャプタマークが付与されているか否かを示す情報である。
【０１０５】
ファイルサイズは、対応するプレイアイテムが参照しているAVクリップのファイルサイズを示す。
【０１０６】
BD-Jアプリケーションが上述したネットワーク再生情報を保持しているので、再生装置から現在の再生時間を取得し、ネットワーク再生情報に照らし合わせることで、カレントプレイアイテムを特定することができる。プレイアイテムとAVクリップとは、一対一で対応しているため、ネットワーク再生情報に含まれるクリップ番号を基に、再生中のAVクリップを特定することができる。
【０１０７】
さらに、再生装置から再生速度を取得し、ネットワーク再生情報に照らし合わせることで、その次に再生すべきAVクリップを特定することができる。
【０１０８】
＜具体例＞
続いて、仮想パッケージを利用したストリーミングライクな再生機能における再生制御エンジン１１１の再生遷移について説明する。図１０は、ストリーミングライクな再生機能を模式的に示す図である。
【０１０９】
ストリーミングライクな再生機能とは、プレイアイテム情報又はサブプレイアイテム情報によって参照されているAVクリップであって、ネットワーク属性が付与されているものを、当該プレイアイテム情報又はサブプレイアイテム情報が、カレントプレイアイテム又はカレントサブプレイアイテム情報になる直前にローカルストレージに格納するよう、再生動作とダウンロード動作とを並列に行うことをいう。
【０１１０】
図１０上段は、プレイリストを示し、プレイリストを構成する５つのプレイアイテムは、それぞれ、00001.m2ts、0002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsを参照する。これらはすべてローカルストレージに格納されたアップデートキットのコンテンツであり、ネットワーク属性が付与されている。このうち、00001.m2ts、00002.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。00003.m2ts、00004.m2ts、00005.m2tsは、まだダウンロードがされていないMissing状態であるか、あるいはダウンロードはされているがDisable状態であることを示す。
【０１１１】
再生制御エンジン１１１がプレイリストの先頭プレイアイテムから順に再生する場合、その再生位置がプレイアイテム#1に存在する限り、再生が妨げられることはない。プレイアイテム#1, #2のプレイアイテム情報は、Enable状態であるAVクリップを参照しているからである。00003.m2tsがEnable状態にセットされていないため、プレイアイテム#2の区間では、00003.m2tsの状態情報に基づいてBD-Jアプリケーションにより一時停止され得る。
【０１１２】
図１０上段では、プレイアイテム#2の途中まで再生が進行している。
【０１１３】
図１０中段は、図１０上段からさらに再生位置が進んだ図を示し、再生位置がプレイアイテム#3に遷移する前に00003.m2tsのダウンロードが完了し、BD-JアプリケーションによりEnable状態にセットされたことを示す。したがって、プレイアイテム#2の区間において、一時停止されることなく、プレイアイテム#3に遷移する。
【０１１４】
図１０中段では、再生は、プレイアイテム#3の途中まで進行している。
【０１１５】
図１０下段は、図１０中段からさらに再生位置が進んだ図を示し、再生位置がプレイアイテム#4に遷移する前に、00004.m2tsのダウンロードが完了しておらずMissing状態であるか、あるいはDisable状態であることを示す。この場合、00004.m2ts は再生可能状態ではないので、BD-Jアプリケーションにより00003.m2tsの再生の一時停止指示がなされることになる。
【０１１６】
これにより、00003.m2tsに続いて00004.m2tsの再生が試みられる前に、BD-Jアプリケーションが00003.m2tsの再生を一時停止する要求を再生制御エンジン１１１に送ることで、再生が一時停止されるので、表示画面に何らかの映像が表示された状態を維持することができる。
【０１１７】
したがって、00004.m2tsが再生可能な状態でないために、再生が停止される事態を回避することができる。
【０１１８】
また、00003.m2tsの再生を一時停止することで、00004.m2tsをEnable状態に遷移させる時間を稼ぐことができ、00004.m2ts がEnable状態に遷移次第、一時停止を解除し再生を再開することも可能となる。
【０１１９】
以上のように、再生の一時停止はなされるものの、再生の停止、すなわち表示画面に何も表示されない状態が発生しない、ストリーミングライクな再生を実現することができる。
＜再生開始タイミング＞
続いて、プレイリスト再生の開始タイミングについて説明する。ストリーミングライクな再生機能では、少なくとも再生開始位置に相当するAVクリップさえEnable状態であれば再生を開始することができる。しかしながら、再生開始位置に相当するAVクリップのみがEnable状態である場合に再生を開始すると、ネットワークの混雑状況等によっては、次に再生すべきAVクリップがEnable状態になっていないために、再生開始後すぐにBD-Jアプリケーションにより一時停止指示がなされ得る。
【０１２０】
そこで、ここでは、ネットワークの混雑状況によって大きく影響を受けるダウンロード時間に焦点を絞り、このダウンロード時間に基づいて、可能な限りAVクリップの再生を一時停止することなくストリーミングライクな再生を実現するための方法について説明する。
【０１２１】
図１１は、再生開始タイミングを説明するための図である。図１１（ａ）は、#1~#9の９つのプレイアイテムからなるプレイリストを示している。ここで、現時点で、プレイアイテム#1,#2に対応するAVクリップのダウンロードが完了しており、他のプレイアイテムに対応するAVクリップのダウンロードは完了していないとする。このような状況において、一度もAVクリップの再生を一時停止することなく、ストリーミングライクな再生を実行するためには、ダウンロードすべき残りの全AVクリップにおいて、当該AVクリップの再生が開始されるまでの時間が、当該AVクリップのダウンロードが完了するまでに必要な時間を上回っているか、あるいは等しければよい。この関係を数式で表すと、下記の（数１）となる。
【０１２２】
2010103827.tif 000003
【０１２３】
ここで、ｌは、再生開始位置に相当するAVクリップを示し、ｍは、ダウンロードが完了していないAVクリップのうち先頭のAVクリップを示す。ｎは、ダウンロードが完了していないAVクリップのうち一のAVクリップを示す。
【０１２４】
プレイアイテム#3~#9のAVクリップの各々において、（数１）の関係が満たされていれば、AVクリップ#1の再生を開始すればよい。
【０１２５】
なお、AVクリップのダウンロード時間は、ネットワークの混雑状況によって変化するため、（数１）の関係が満たされた状態で再生が開始されたとしても、再生中のAVクリップの次に再生すべきAVクリップの状態情報が、再生可能な状態を示していない場合も当然あり得る。
【０１２６】
しかしながら、再生開始の基準として（数１）を設けることで、再生開始後すぐにBD-Jアプリケーションにより一時停止指示がなされる可能性を低減することはできる。
＜BD-Jアプリケーションの処理＞
図１２は、BD-Jアプリケーションの処理手順を示すフローチャートである。
【０１２７】
ステップＳ１において、BD-Jアプリケーションは、ローディングされたBD-ROMに対応するアップデートキットを、ローカルストレージのBUDA(Biding Unit Data Area)ディレクトリにダウンロードする。
【０１２８】
ステップＳ２において、アップデートキット内のマージ管理情報ファイルを指定した仮想パッケージ構築要求を発行する。
【０１２９】
以降、ステップＳ３〜ステップＳ６のループを実行する。まず、ステップＳ３において、プレイリスト、当該プレイリスト中の再生開始位置となるプレイアイテム、及び再生速度を指定するユーザ入力を取得する。
【０１３０】
ステップＳ４において、ユーザ入力に対応するプレイリストを選択し、JMFプレーヤインスタンスをヒープメモリ内にクリエイトする。
【０１３１】
ステップＳ５において、（１）プレイリスト再生開始タイミング処理、（２）優先ダウンロード処理、及び（３）再生状況監視処理という3つのスレッドを仮想マシン内に立てて、これらの処理を並列で実行する。
【０１３２】
これらの3つの処理の実行が終了すれば、ステップＳ６において、３つのスレッドを終了させ、ステップＳ３に戻る。
＜プレイリスト再生開始タイミング処理＞
図１３は、プレイリスト再生開始タイミング処理の処理手順を示すフローチャートである。本フローチャートにおいて、ｘは、ダウンロードが完了していない一のAVクリップを特定するための変数であり、ｘが１のとき、ダウンロードが完了していないAVクリップのうち再生開始位置に最も近いAVクリップを示す。ｘが大きくなるにつれて、ｘにより特定されるAVクリップは、再生開始位置から離れていく。また、ｙは、ダウンロードが完了していないAVクリップの総数を示す。
【０１３３】
まず、ステップＳ１１において、再生制御部１２１は、指定されたプレイアイテムに対応するAVクリップから再生方向に向かって順次ダウンロードするよう、ストリームダウンロード部１２３を介してネットワークインタフェイスに指示する。
【０１３４】
ステップＳ１２において、システム時間生成部１１６からダウンロード開始時のシステム時間を取得する。
【０１３５】
予め設定された所定時間が経過した後（ステップＳ１３でＹｅｓ）、ステップＳ１４、１５において、ダウンロード済みのAVクリップのクリップ番号と現在のシステム時間とを取得する。
【０１３６】
ステップＳ１６において、ネットワーク再生情報を参照して、取得したクリップ番号に対応するAVクリップの総ファイルサイズを算出した後、この総ファイルサイズと、現在のシステム時間とダウンロード開始時のシステム時間との差分とに基づいて、AVクリップのダウンロード速度を算出する。
【０１３７】
ステップＳ１７において、変数ｘに１を設定する。
【０１３８】
ステップＳ１８において、再生開始位置から変数ｘにより特定されるAVクリップの直前のAVクリップまでの再生時間を、ネットワーク再生情報を参照して算出する。
【０１３９】
ステップＳ１９において、ダウンロードが完了していないAVクリップのうち変数ｘにより特定されるAVクリップまでのダウンロードサイズを、ネットワーク再生情報を参照して算出する。
【０１４０】
ステップＳ２０において、このダウンロードサイズとステップＳ１６で算出したダウンロード速度とに基づいて、ダウンロードが完了していないAVクリップのうち変数ｘにより特定されるAVクリップまでのダウンロード時間を算出する。
【０１４１】
ステップＳ２１において、再生時間がダウンロード時間以上の長さであるか判定する。
【０１４２】
ダウンロード時間が再生時間より長いと判定された場合には、ステップＳ１３に戻る。
【０１４３】
再生時間がダウンロード時間以上の長さであると判定された場合には、ステップＳ２２において、ｘがｙ以上かの判定、すなわち他にダウンロードが完了していないAVクリップが存在するかの判定を行う。
【０１４４】
他にダウンロードが完了していないAVクリップが存在すると判定された場合には、ステップＳ２３において、変数ｘを１計数し、ステップＳ１８に戻る。
【０１４５】
他にダウンロードが完了していないAVクリップが存在すると判定されなかった場合、すなわちダウンロードが完了していない全てのAVクリップについて、ステップＳ２１の関係を満たす場合には、ステップＳ２４において、ＡＰＩを介して、再生制御エンジン１１１にプレイリスト再生を指示する。
＜優先ダウンロード処理＞
図１４は、優先ダウンロード処理の処理手順を示すフローチャートである。
【０１４６】
まず、ステップＳ３１において、再生クリップ検出部１２８は、PSRセット１１５から現在の再生位置を取得する。
【０１４７】
ステップＳ３２において、再生中のプレイリストに対応するネットワーク再生情報を取得する。
【０１４８】
ステップＳ３３において、現在の再生位置をネットワーク再生情報に照らし合わせて、当該再生位置を含む再生区間を特定する。そして、その再生区間のクリップ番号に基づいて、カレントプレイアイテムを特定する。
【０１４９】
ステップＳ３４において、優先順位判定部１２２は、後述する優先度リスト作成処理を行い、ステップＳ３５において、優先度リストに基づいて、AVクリップをダウンロードするよう指示する。
＜優先度リスト作成処理＞
図１５は、優先度リスト作成処理の処理手順を示すフローチャートである。本フローチャートにおいてiは、一のプレイアイテムを特定する変数である。
【０１５０】
まず、ステップＳ４１において、優先順位判定部１２２は、プレイアイテムiにカレントプレイアイテムを設定する。
【０１５１】
ステップＳ４２において、再生速度を取得し、ステップＳ４３において、取得した再生速度に基づいて、プレイリストの再生方向が順方向であるか判定する。この判定は、例えば、再生速度の値の正負に基づいてなされる。
【０１５２】
再生速度の値が正の値、すなわち再生方向が順方向であると判定された場合には、ステップＳ４４において、カレントプレイアイテムに後続するプレイアイテムが存在するかをネットワーク再生情報に基づいて判定する。ここで、カレントプレイアイテムに後続するプレイアイテムとは、例えば、プレイアイテム#3がカレントプレイアイテムであるとした場合、プレイアイテム#4が該当する（図３参照）。
【０１５３】
後続するプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムに続いて再生すべきプレイアイテムは、もはや存在しないので、ダウンロード対象となるAVクリップも存在せず、処理を終了する。
【０１５４】
後続するプレイアイテムが存在すると判定された場合には、ステップＳ４５において、そのプレイアイテムに対応するAVクリップのクリップ番号を取得する。
【０１５５】
ステップＳ４６において、プレイアイテムiに後続のプレイアイテムを設定する。
【０１５６】
ステップＳ４７において、クリップ番号で示されるAVクリップがすでにダウンロード済みであるかを判定する。
【０１５７】
クリップ番号で示されるAVクリップがすでにダウンロード済みであると判定された場合には、ステップＳ４３に戻る。
【０１５８】
クリップ番号で示されるAVクリップがすでにダウンロード済みであると判定されなかった場合には、ステップＳ４８において、クリップ番号を優先度リストへ格納し、ステップＳ４３に戻る。優先度リストに真っ先に格納されるクリップ番号に対応するAVクリップが、ダウンロードの優先度が最も高いAVクリップとなる。
【０１５９】
ステップＳ４３において、再生速度の値が負の値、すなわち再生方向が順方向であると判定されなかった場合には、ステップＳ４９において、カレントプレイアイテムの直前のプレイアイテムが存在するかをネットワーク再生情報に基づいて判定する。ここで、カレントプレイアイテムの直前のプレイアイテムとは、例えば、プレイアイテム#3がカレントプレイアイテムであるとした場合、プレイアイテム#2が該当する（図３参照）。
【０１６０】
直前のプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムに続いて再生すべきプレイアイテムは、もはや存在しないので、処理を終了する。
【０１６１】
直前のプレイアイテムが存在すると判定された場合には、ステップＳ５０において、そのプレイアイテムに対応するAVクリップのクリップ番号を取得する。
【０１６２】
ステップＳ５１において、プレイアイテムiに直前のプレイアイテムを設定し、ステップＳ４７に進む。それ以降の処理は、すでに説明した通りである。
【０１６３】
以上の処理を経ることで、優先度リストを作成することができる。優先度リストには、ダウンロードの優先度が高い順にクリップ番号が格納されている。
【０１６４】
したがって、この優先度リストに基づいてダウンロード指示を行うことで、ダウンロードの優先度が高い、すなわちダウンロードが完了していないAVクリップのうち再生中のAVクリップに最も近いAVクリップから順にダウンロードすることができる。例えば、逆方向の再生がなされている場合、カレントプレイアイテムの直前のプレイアイテムが参照するAVクリップがダウンロードされていなければ、まずは当該AVクリップを優先的にダウンロードする。
【０１６５】
その結果、再生中のAVクリップの次に再生すべきAVクリップの状態情報が、再生可能状態を示す確率を高めることができる。
【０１６６】
なお、ステップＳ４４において、後続するプレイアイテムが存在すると判定されなかった場合には、処理を終了するとしたが、再生中のプレイアイテムの前のプレイアイテムにさかのぼって、ダウンロードされていないAVクリップがあるか検索してもよい。
＜再生状況監視処理＞
図１６は、再生状況監視処理の処理手順を示すフローチャートである。本フローチャートは、定期的（例えば数秒おき）または不定期に実行される。本フローチャートのステップＳ６１〜６３までの処理は、図１４のステップＳ３１〜３３と同様であるため、ここでは説明を省略する。
【０１６７】
ステップＳ６３において、カレントプレイアイテムを特定すると、再生クリップ検出部１２８は、ステップＳ６４において、後述するプレイアイテム特定処理を行う。
【０１６８】
ステップＳ６５において、再生制御部１２１は、次に再生すべきAVクリップがEnable状態であるか判定する。
【０１６９】
そのAVクリップがEnable状態であると判定された場合には、再生を継続する。
【０１７０】
そのAVクリップがEnable状態であると判定されなかった場合には、ステップＳ６６において、ＡＰＩを介して、再生制御エンジン１１１に再生の一時停止を指示する。
【０１７１】
その後、ステップＳ６７において、再生再開処理を行う。再生再開処理は、例えば、図１３のステップＳ１３以降の処理を行うことによりなされるとしてもよい。
＜プレイアイテム特定処理＞
図１７は、プレイアイテム特定処理の処理手順を示すフローチャートである。ステップＳ７１において、再生クリップ検出部１２８は、再生速度を取得し、ステップＳ７２において、取得した再生速度に基づいて、プレイリストの再生方向が順方向であるか判定する。
【０１７２】
再生方向が順方向であると判定された場合には、ステップＳ７３において、カレントプレイアイテムに後続するプレイアイテムが存在するかをネットワーク再生情報に基づいて判定する。
【０１７３】
後続するプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムに続いて再生すべきプレイアイテムは、もはや存在しないので、処理を終了する。
【０１７４】
後続するプレイアイテムが存在すると判定された場合には、ステップＳ７４において、そのプレイアイテムに対応するAVクリップのクリップ番号を取得する。
【０１７５】
ステップＳ７２において、再生方向が順方向であると判定されなかった場合には、ステップＳ７５において、カレントプレイアイテムの直前のプレイアイテムが存在するかをネットワーク再生情報に基づいて判定する。
【０１７６】
直前のプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムに続いて再生すべきプレイアイテムは、もはや存在しないので、処理を終了する。
【０１７７】
直前のプレイアイテムが存在すると判定された場合には、ステップＳ７６において、そのプレイアイテムに対応するAVクリップのクリップ番号を取得する。
【０１７８】
これにより、プレイリストの再生方向によらず次に再生すべきプレイアイテムを特定することができる。したがって、プレイリストの再生方向によらず再生状況監視処理を行うことができる。
＜プレイリスト再生処理＞
図１８は、プレイリスト再生処理の処理手順を示すフローチャートである。ステップＳ８１において、再生制御エンジン１１１は、プレイリスト情報における、再生開始位置に相当するプレイアイテムをカレントプレイアイテムに設定する。
【０１７９】
ステップＳ８２において、カレントプレイアイテムのClip＿information＿file＿nameで指定されているAVクリップを選択する。
【０１８０】
以降、ステップＳ８３〜ステップＳ８８のループ処理を実行する。ステップＳ８３において、AVクリップを構成するソースパケットのうち、カレントプレイアイテムのin＿timeからout＿timeまでの部分をローカルストレージ３００から読み出す。
【０１８１】
ステップＳ８４において、他にプレイアイテムが存在するか否かを判定する。
【０１８２】
他にプレイアイテムが存在すると判定されなかった場合には、処理を終了する。
【０１８３】
他にプレイアイテムが存在すると判定された場合には、ステップＳ８５において、PSRセットから再生速度を取得し、ステップＳ８６において、取得した再生情報に基づいて、プレイリストの再生方向が順方向か否かを判定する。
【０１８４】
再生方向が順方向であると判定された場合には、ステップＳ８７において、カレントプレイアイテムに後続するプレイアイテムを新たなカレントプレイアイテムに設定する。
【０１８５】
再生方向が順方向であると判定されなかった場合には、ステップＳ８８において、カレントプレイアイテムの直前のプレイアイテムを新たなカレントプレイアイテムに設定する。
【０１８６】
ステップＳ８７またはステップＳ８８により、新たなカレントプレイアイテムが設定された後、ステップＳ８３に戻る。
【０１８７】
以上のように本実施の形態によれば、BD-Jアプリケーションがネットワーク再生情報を含んでおり、現在の再生時間をPSRセットから取得するので、再生時間をネットワーク再生情報に照らし合わせることにより、再生中のAVクリップを特定することができる。
【０１８８】
また、PSRセットから再生速度を取得するので、再生速度から再生方向を判定することにより、次に再生すべき次AVクリップを特定することができる。
【０１８９】
次AVクリップが特定されると、当該次AVクリップの状態情報を状態管理部１０８から取得することで、次AVクリップが再生可能状態であるかを判定することができる。
【０１９０】
したがって、次AVクリップが再生可能状態でない場合には、再生中のAVクリップを一時停止することにより、再生が停止される状況を回避することができる。
（変形例１−１）
次に再生すべきAVクリップがEnable状態でない場合のBD-Jアプリケーションによる再生制御の内容を代替映像の再生に替えた一変形例について説明する。
【０１９１】
図１９は、次に再生すべきAVクリップがEnable状態でない場合のBD-Jアプリケーションによる再生制御を説明するための図である。
【０１９２】
図１９上段は、プレイリストを示しており、このプレイリストは、１０個のプレイアイテム#1,#2,#3,~,#10から構成される。１０個のプレイアイテムは、それぞれ、00001.m2ts、0002.m2ts、00003.m2ts、・・・、00010.m2tsを参照する。これらはすべてローカルストレージに格納されたアップデートキットのコンテンツであり、プレイアイテム#10以外のプレイアイテムには、ネットワーク属性が付与されている。このうち、00001.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。00002.m2ts以降のAVクリップは、まだダウンロードがされていないMissing状態であるか、あるいはダウンロードはされているがDisable状態であることを示す。
【０１９３】
また、プレイアイテム#10にはネットワーク属性が付与されていないため、プレイアイテム#10が参照する00010.m2tsは、仮想パッケージ構築時において、ダウンロードが完了している必要がある。
【０１９４】
00010.m2tsは、ユーザ通知用のAVクリップであり、図１９下段に示すように、例えば、「Download中です」という文字列を含む映像である。このAVクリップに対応するプレイアイテム#10には、チャプタマークが付与されていてもよい。
【０１９５】
再生制御エンジン１１１がプレイリストの先頭プレイアイテムから順に再生する場合、00002.m2tsはまだダウンロードがされていないので、BD-Jアプリケーションは、00001.m2tsの再生中に、プレイアイテム#10に付与されたチャプタマークを指定して00010.m2tsの再生を指示することになる。
【０１９６】
以上のように、次に再生すべきAVクリップがEnable状態でない場合に、BD-Jアプリケーションの指示により00010.m2tsを再生することで、再生の停止を回避するとともに、AVクリップがDownload中である旨をユーザに通知することができる。
【０１９７】
また、00002.m2tsのダウンロードが完了し、再生可能な状態になれば、00001.m2tsの再生に戻ってもよい。その際、再生を切り替える直前の再生位置を記憶しておいてもよい。
【０１９８】
なお、ここでは、ネットワーク属性が付与されていないAVクリップを使用することで、再生を保証したが、ネットワーク属性が付与されたAVクリップであっても、再生開始前にダウンロードを完了しておくことで、プレイリスト再生時には必ず再生可能な状態であることを保証してもよい。
【０１９９】
また、プレイアイテム#10に付与されたチャプタマークを指定して00010.m2tsの再生を指示したが、プレイアイテム#10の再生開始時間を指定して再生を開始してもよい。
【０２００】
また、ユーザ通知用AVクリップの映像は、主映像であってもよいし、副映像であってもよい。さらに、再生中のプレイリスト内のAVクリップであってもよいし、別のプレイリストのAVクリップであってもよい。00010.m2tsが再生中のプレイリストとは異なるプレイリストに含まれる場合には、BD-Jアプリケーションは、そのプレイリストを選択して、当該プレイリストにおけるプレイアイテム#10の再生を開始するとしてもよい。その際、プレイアイテム#10を含むプレイリストを示す情報は、例えばBD-Jアプリケーションに含まれるとしてもよい。
（変形例１−２）
チャプタマークの有無に応じて2種類の優先度リストを作成する一変形例について説明する。
【０２０１】
再生装置がプレイリスト再生中に、スキップ等の特殊再生指示をユーザから受け付けることがある。この場合には、上述した優先度リストに従ってAVクリップをダウンロードしたとしても、一時停止される頻度を抑えた、ストリーミングライクな再生を必ずしも実現することはできない。
【０２０２】
ここでは、プレイリスト再生中にスキップ等の特殊再生指示をユーザから受け付けた場合であっても、可能な限りAVクリップの再生を一時停止することなくストリーミングライクな再生を実現するための方法について説明する。
【０２０３】
図２０は、変形例１−２における優先度リスト作成処理の処理手順を示すフローチャートである。本フローチャートにおいてiは、一のプレイアイテムを特定する変数である。
【０２０４】
本図のステップＳ９１〜９７の処理は、図１５のステップＳ４１〜４７と同様であり、ステップＳ１０１〜１０３の処理は、ステップＳ４９〜５１と同様であるため、ここでは説明を省略する。
【０２０５】
ステップＳ９７において、クリップ番号で示されるAVクリップがすでにダウンロード済みであると判定されなかった場合には、ステップＳ９８において、プレイアイテムにチャプタマークが付与されているか判定する。
【０２０６】
プレイアイテムにチャプタマークが付与されていると判定された場合には、ステップＳ９９において、チャプタマーク有りに対応する優先度リストへクリップ番号を格納する。
【０２０７】
プレイアイテムにチャプタマークが付与されていると判定されなかった場合には、ステップＳ１００において、チャプタマーク無しに対応する優先度リストへクリップ番号を格納する。
【０２０８】
このように、本変形例では、優先順位判定部１２２は、チャプタマークの有無に応じた2種類の優先度リストを作成する。
【０２０９】
そして、例えばユーザからのスキップ指示があった場合には、チャプタマーク有りに対応する優先度リストに基づいてAVクリップをダウンロードするよう、指示する。
【０２１０】
図３を用いて具体的に説明する。仮に現在の再生位置がプレイアイテム#1であるとし、00002.m2ts以降のAVクリップのダウンロードは完了していないものとする。この場合、次にチャプタマークが付与されているプレイアイテムは、プレイアイテム#3である。したがって、ユーザからのスキップ指示があった場合には、チャプタマーク有りに対応する優先度リストに基づいて、00002.m2tsではなく、00003.m2tsを優先的にダウンロードする。その後、00005.m2tsを優先的にダウンロードする。
【０２１１】
スキップ等の特殊再生指示により不連続な再生区間を再生する場合であっても、その再生区間に相当するAVクリップ、すなわちチャプタマークが付与されたプレイアイテムが参照するAVクリップを優先的にダウンロードするので、AVクリップの再生が一時停止される可能性を低減することができる。
【０２１２】
また、ユーザからのスキップ指示を受け付けていない間は、チャプタマーク無しに対応する優先度リストに基づいてAVクリップをダウンロードするよう、指示すればよい。
【０２１３】
このように、ユーザからのスキップ指示の有無に応じて2種類の優先度リストを使い分けることにより、スキップ指示をユーザから受け付けた場合であっても、可能な限りAVクリップの再生を一時停止することなくストリーミングライクな再生を実現することができる。
【０２１４】
なお、ここでは、チャプタマークの有無に応じて2種類の優先度リストを作成するとしたが、これに限らず、例えば、ユーザが再度視聴したい箇所を示すレジュームポイントやＣＭ等の区切りを示すマークの有無に応じて作成するとしてもよい。
【０２１５】
また、チャプタマーク有りに対応する優先度リストに基づくダウンロードは、ユーザからのスキップ指示があった場合に限らず、ユーザからのスキップ指示を受け付けていない場合になされてもよい。
（変形例１−３）
チャプタマークが付与されたプレイアイテムが参照するAVクリップのダウンロード時間を短縮する一変形例について説明する。
【０２１６】
図２１は、チャプタマークが付与されたプレイアイテムが参照するAVクリップのダウンロード時間をどのように短縮するかを説明するための図である。図２１上段、下段はともにプレイリストを示している。これらは、図２１下段のプレイリストにおける、チャプタマークが付与されたプレイアイテムが参照する00003.m2tsのサイズが、他のAVクリップのサイズより小さい点で異なる。すなわち、図２１上段に示すプレイリストでは、各AVクリップの再生区間は等しく設定されている。そのため、00001.m2tsの再生中にユーザ操作によりチャプタスキップが発生した際、00003.m2tsのダウンロードが完了していない場合には、そのダウンロードに時間を要し、その再生をすぐに開始することができない場合がある。
【０２１７】
一方、図２１下段に示すプレイリストでは、00003.m2tsのサイズが、他のAVクリップのサイズより小さく設定されている。したがって、00001.m2tsの再生中にユーザ操作によりチャプタスキップが発生した際、00003.m2tsのダウンロードが完了していない場合であっても、図２１上段の例と比べて、ダウンロードに要する時間を短縮でき、00003.m2tsの再生を早く開始することができる。
【０２１８】
チャプタマークが付与されたプレイアイテムが参照するAVクリップのサイズを小さくする方法として、そのAVクリップのビットレートを下げることが挙げられる。再生区間が同一のままであってもビットレートを下げることでサイズを小さくすることができる。よって、サーバ側にビットレートの異なるAVクリップを複数用意しておき、ダウンロードの転送レートに応じて、ダウンロードすべきAVクリップをBD-Jアプリケーションが選択するような仕組みにしてもよい。
【０２１９】
このような構成にすることで、再生装置が接続されたネットワーク環境に応じたAVクリップのダウンロードが可能となる。
【０２２０】
また、サーバ側にビットレートの異なるAVクリップを複数用意しておき、画質優先か、またはリアルタイム性を優先するかをユーザ操作に基づいて選択し、その選択結果に応じて、BD-JアプリケーションがダウンロードすべきAVクリップを選択するとしてもよい。
【０２２１】
このような構成にすることで、ユーザの意図を反映させてAVクリップをダウンロードすることができる。
【０２２２】
また、チャプタマークが付与されたプレイアイテムが参照するAVクリップの再生時間が、その次のAVクリップのダウンロード時間を上回るか、等しくなるようにすることで、再生位置が変更された後もAVクリップの再生を一時停止することなく、ストリーミングライクな再生を継続することができる。
（実施の形態２）
本実施の形態では、プレイリストがサブパスを含む場合について説明する。図２２は、本実施の形態のプレイリストの具体例を示す図である。図２２に示すように、このプレイリストは、1つのメインパスと、2つのサブパス(サブパス(ID=0),サブパス(ID=1))とから構成される。メインパスについてはすでに説明しているので、ここではその説明を省略する。ID=0のサブパスは、５つのサブプレイアイテム#1,#2,#3,#4,#5を含み、ID=1のサブパスは、５つのサブプレイアイテム#1,#2,#3,#4,#5を含む。どちらのサブパスも同期型であり、例えば別々の言語の字幕データであるプレゼンテーショングラフィックスストリームが多重化されたAVクリップをそれぞれ参照している。
【０２２３】
ID=0のサブパスにおけるサブプレイアイテム#1,#2,#3,#4,#5は、それぞれ10001.m2ts、10002.m2ts、10003.m2ts、10004.m2ts、10005.m2tsを参照している。
【０２２４】
ID=1のサブパスにおけるサブプレイアイテム#1,#2,#3,#4,#5は、それぞれ20001.m2ts、20002.m2ts、20003.m2ts、20004.m2ts、20005.m2tsを参照している。
【０２２５】
メインパスの各プレイアイテムは、図中右上のようなストリーム番号テーブルを有する。このストリーム番号テーブルは、ストリーム番号1,2,3が割り当てられた3つのエントリーをもつ。これら3つのエントリーは、メインパスのプレイアイテム情報によって参照されるプライマリビデオストリーム、サブプレイアイテム(サブパスID=0)によって参照されるAVクリップに包含されているプレゼンテーショングラフィクスストリーム(PG#1)、及びサブプレイアイテム(サブパスID=1)によって参照されるAVクリップに包含されているプレゼンテーショングラフィクスストリーム(PG#2)の再生を許可するものである。
【０２２６】
例えば、カレントとなる字幕ストリーム番号が“２”であるとき、該当するストリームエントリは、サブパスID=０で示されるPG#1であるため、プレイアイテムの再生と同期して、サブパスID=０のPG#1が再生される。
＜具体例＞
図２３は、サブプレイアイテムを伴う場合のストリーミングライクな再生機能を模式的に示す図である。図中の矢印は、再生がどこまで進行を示したかを示す。
【０２２７】
第１段目は、再生制御エンジン１１１の再生状態を示し、第２段目は、本実施の形態のプレイリストを示す。第２段目に示すように、00001.m2ts、00002.m2ts、00003.m2ts、10001.m2ts、10002.m2ts、10003.m2ts、20001.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。また、他のAVクリップは、Unavailable状態である。
【０２２８】
再生制御エンジン１１１がプレイリストの先頭から順に再生する場合、サブパス(ID=1)に属するサブプレイアイテム#1がカレントサブプレイアイテム情報になっているため、再生は、プレイアイテム#1, サブプレイアイテム#1まで進行可能である。
【０２２９】
ただし、プレイアイテム#2では、対応するサブプレイアイテム#2によって参照される20002.m2tsがUnavailableクリップであるから、プレイアイテム#2、サブプレイアイテム#2がそれぞれ、カレントプレイアイテム、カレントサブプレイアイテムになる前に、BD-Jアプリケーションによりプレイアイテム#1, サブプレイアイテム#1の再生の一時停止指示がなされることになる。
【０２３０】
そのため、第１段目に示すように、再生制御エンジン１１１は、プレイアイテム#1, サブプレイアイテム#1の途中までは再生状態になっているが、BD-Jアプリケーションからの指示があると、一時停止状態になる。
【０２３１】
これにより、20001.m2tsに続いて20002.m2tsの再生が試みられる前に、BD-Jアプリケーションが00001.m2ts及び20001.m2tsの再生を一時停止する要求を再生制御エンジン１１１に送るので、表示画面に何らかの映像が表示された状態を維持することができる。したがって、20002.m2tsが再生可能な状態でないために、再生が停止される事態を回避することができる。
【０２３２】
また、プレイアイテムの再生のみが進行することを防止できるので、プレイアイテムのみ表示され字幕データが表示されない区間の発生を回避することができる。
＜優先ダウンロード処理＞
図２４は、本実施の形態の優先ダウンロード処理の処理手順を示すフローチャートである。本フローチャートのステップＳ１１１〜１１４の処理は、図１４のステップＳ３１〜３４と同様であるので、ここではその説明を省略する。
【０２３３】
ステップＳ１１４において、優先度リスト作成処理を行った後、ステップＳ１１５において、優先順位判定部１２２は、カレントプレイアイテムをSync＿Playitem＿idに指定しているサブプレイアイテムが存在するか判定する。
【０２３４】
サブプレイアイテムが存在すると判定された場合には、ステップＳ１１６において、カレントサブプレイアイテムを特定し、ステップＳ１１７において、サブプレイアイテムに関する優先度リスト作成処理を行う。サブプレイアイテムに関する優先度リスト作成処理は、図１５で示した優先度リスト作成処理と基本的には同様であり、図１５のプレイアイテムをサブプレイアイテムに置き換えればよい。
＜再生状況監視処理＞
図２５は、本実施の形態の再生状況監視処理の処理手順を示すフローチャートである。本フローチャートにおいて、ステップＳ１２１〜１２７の処理は、図１６のステップＳ６１〜６７と同様であるので、ここではその説明を省略する。
【０２３５】
ステップＳ１２５において、次に再生すべきAVクリップがEnable状態であると判定された場合には、ステップＳ１２８において、カレントプレイアイテムをSync＿Playitem＿idに指定しているサブプレイアイテムが存在するか判定する。
【０２３６】
サブプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムと同時に再生されるサブプレイアイテムは存在しないので、プレイアイテムの再生が継続される。
【０２３７】
サブプレイアイテムが存在すると判定された場合には、ステップＳ１２９において、カレントサブプレイアイテムを特定し、ステップＳ１３０において、サブプレイアイテム特定処理を行う。サブプレイアイテム特定処理は、図１７で示したプレイアイテム特定処理と基本的には同様であり、図１７のプレイアイテムをサブプレイアイテムに置き換えればよい。
【０２３８】
ステップＳ１３０において、サブプレイアイテム特定処理を行った後、ステップＳ１３１において、次に再生すべきAVクリップ（特定されたサブプレイアイテムが参照するAVクリップ）がEnable状態であるか判定する。
【０２３９】
Enable状態であると判定された場合には、再生が継続され、Enable状態であると判定されなかった場合には、ステップＳ１２６において、BD-Jアプリケーションにより、再生の一時停止指示がなされることになる。
＜プレイリスト再生処理＞
図２６は、本実施の形態のプレイリスト再生処理の処理手順を示すフローチャートである。本フローチャートにおいて、ステップＳ１４１〜１４３、ステップＳ１４７〜１５１の処理は、図１８のステップＳ８１〜８３、ステップＳ８４〜８８と同様であるので、ここではその説明を省略する。
【０２４０】
ステップＳ１４３の処理の後、ステップＳ１４４において、カレントプレイアイテムをSync＿Playitem＿idに指定しているサブプレイアイテムが存在するか判定する。
【０２４１】
サブプレイアイテムが存在すると判定された場合には、ステップＳ１４５において、カレントサブプレイアイテムのClip＿information＿file＿nameで指定されているAVクリップを選択する。
【０２４２】
ステップＳ１４６において、AVクリップを構成するソースパケットのうち、カレントサブプレイアイテムのin＿timeからout＿timeまでの部分をローカルストレージ３００から読み出す。その後、ステップＳ１４７に移行する。
（変形例２−１）
続いて、ユーザによりサブパス変更（例えば字幕切り替え）が要求された場合について説明する。使用形態としては、例えば、BD-ROM２００に記録された映画本編の再生に合わせて、字幕データをストリーミングライクに再生する場合が挙げられる。
【０２４３】
図２７は、字幕切り替えがユーザによって要求されたため、現在の再生時点が、サブパス(ID=#0)の10003.m2tsを参照しているサブプレイアイテム#3から、サブパス(ID=#1)の20003.m2tsを参照しているサブプレイアイテム#3に変化した場合を想定した図である。00001.m2ts、00002.m2ts、00003.m2ts、10001.m2ts、10002.m2ts、10003.m2ts、20001.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。また、他のAVクリップは、Unavailable状態である。
【０２４４】
ユーザ操作などでSPRM（２）を３に変更した場合、再生する字幕はサブパスID=１のサブプレイアイテム#3になる。サブプレイアイテム#3が参照している20003.m2tsは、Unavailableクリップであるから、この切り替えと同時に、BD-Jアプリケーションにより、00003.m2ts,10003.m2tsの再生の一時停止指示がなされることになる。
【０２４５】
以上のように、字幕切り替えが要求された場合、切り替え先の字幕ストリームを包含しているAVクリップがMissing状態であるか、Disable状態であれば、再生制御エンジン１１１は、BD-Jアプリケーションの指示に従って、切り替えと同時に再生を一時停止する。
＜サブパス変更における再生状況監視処理＞
図２８は、サブパス変更における再生状況監視処理の処理手順を示すフローチャートである。
【０２４６】
ステップＳ１６１において、ユーザによりサブパス変更要求がなされると、ステップＳ１６２において、変更後のサブパスにおけるサブプレイアイテムが参照しているAVクリップが、Enable状態であるか判定する。
【０２４７】
変更後のサブパスにおけるサブプレイアイテムが参照しているAVクリップが、Enable状態であると判定された場合には、再生が継続され、変更後のサブパスにおけるサブプレイアイテムが参照しているAVクリップが、Enable状態であると判定されなかった場合には、ステップＳ１６３において、BD-Jアプリケーションは再生の一時停止を指示する。
【０２４８】
その後、ステップＳ１６４において、再生再開処理を行う。
（変形例２−２）
続いて、次に再生すべきサブプレイアイテムが参照しているAVクリップがEnable状態でない場合に再生を継続する方法について説明する。
【０２４９】
図２９は、次に再生すべきサブプレイアイテムが参照しているAVクリップがEnable状態でない場合の再生制御を説明するための図である。
【０２５０】
再生制御エンジン１１１がプレイリストの先頭から順に再生する場合、サブパス(ID=0)に属するサブプレイアイテム#1がカレントサブプレイアイテム情報になっているため、再生は、プレイアイテム#2, サブプレイアイテム#2まで進行可能である。
【０２５１】
ただし、プレイアイテム#3では、対応するサブプレイアイテム#3によって参照されている10003.m2tsがUnavailableクリップである。したがって、仮にサブパス(ID=0)の再生をそのまま継続するとした場合には、BD-Jアプリケーションによりプレイアイテム#2, サブプレイアイテム#2の再生の一時停止指示がなされることになる。
【０２５２】
しかしながら、サブパス(ID=0)に属するサブプレイアイテム#3によって参照されている20003.m2tsは、Enable状態である。
【０２５３】
そこで、本変形例では、BD-Jアプリケーションが、サブプレイアイテム#3の再生開始時において、サブパス(ID=0)をサブパス(ID=1)に切り替える。
【０２５４】
これにより、次に再生すべきサブプレイアイテムが参照しているAVクリップがEnable状態でない場合であっても、再生を一時停止することなく、再生を継続させることができる。
【０２５５】
また、プレイアイテムの再生のみが進行することを防止できるので、プレイアイテムのみ表示され字幕データが表示されない区間の発生を回避することができる。
＜再生状況監視処理＞
図３０は、本変形例の再生状況監視処理の処理手順を示すフローチャートである。本フローチャートにおいて、ステップＳ１７１〜１８１の処理は、図２５のステップＳ１２１〜１３１と同様であるので、ここではその説明を省略する。
【０２５６】
ステップＳ１８１において、次に再生すべきAVクリップがEnable状態であると判定されなかった場合には、ステップＳ１８２において、カレントプレイアイテムをSync＿Playitem＿idに指定しているサブプレイアイテムが他に存在するか判定する。
【０２５７】
サブプレイアイテムが他に存在すると判定された場合には、ステップＳ１８３において、他のサブプレイアイテムが参照するAVクリップがEnable状態であるか判定する。
【０２５８】
他のサブプレイアイテムが参照するAVクリップがEnable状態であると判定された場合には、ステップＳ１８４において、BD-Jアプリケーションは、他のサブプレイアイテムが参照するAVクリップの再生を指示する。
（実施の形態３）
本実施の形態では、アップデートキットを作成するためのオーサリングシステムについて説明する。図３１は、オーサリングシステムの構成を示す図である。本図に示すように、オーサリングシステムは、ストレージ６００a,b,c、素材制作部６０１、シナリオ生成部６０２、BD-J制作部６０３、多重化処理部６０４、フォーマット処理部６０５、差分抽出部６０６、及びアップデートキット制作部６０７から構成される。
【０２５９】
ストレージ６００a,b,cは、それぞれ、ROMシナリオデータ、ROMディスクイメージのバージョン１(ver.1)、ROMディスクイメージのバージョン２(ver.2)を格納している。
【０２６０】
素材制作部６０１は、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックストリームなどの各ストリームを作成する。
【０２６１】
素材制作部６０１は、非圧縮のビットマップなどの画像イメージをMPEG４-AVCやMPEG２などの圧縮方式に従い符号化することでビデオストリームを作成する。
【０２６２】
素材制作部６０１は、非圧縮のLinearPCM音声などをAC３などの圧縮方式に従い符号化することでオーディオストリームを作成する。
【０２６３】
素材制作部６０１は、字幕イメージ、表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、字幕ストリームであるプレゼンテーショングラフィックスストリームを作成する。
【０２６４】
素材制作部６０１は、メニューに使うビットマップイメージと、メニューに配置されるボタンの遷移や表示効果を記載したメニューファイルとを元にして、メニュー画面を構成するインタラクティブグラフィックスストリームを作成する。
【０２６５】
シナリオ生成部６０２は、素材制作部６０１で作成した各ストリームの情報や、オーサリングスタッフからのGUIを経由した操作にしたがって、シナリオを作成する。ここで言うシナリオは、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなどのファイルである。
【０２６６】
また、シナリオ生成部６０２は、多重化処理を実現するための、各AVクリップがどのストリームから構成されるかを記述したパラメータファイルを作成する。
【０２６７】
BD-J制作部６０３は、BD-Jアプリケーションをプログラミングする手段である。GUI等のユーザインターフェースを通じて、ユーザからの要求に従って、BD-Jアプリケーションプログラムのソースコードを作成し、BD-Jアプリケーションを作成する。
【０２６８】
多重化処理部６０４は、ROMシナリオデータに記述されているビデオ、オーディオ、字幕、ボタンなどの複数のストリームを多重化して、MPEG２-TS形式のAVクリップを作成する。このとき、AVクリップと対になるクリップ情報ファイルも同時に作成する。
【０２６９】
多重化処理部６０４によるクリップ情報ファイル内の生成は、以下の方法で行われる。多重化処理部６０４は、AVクリップを作成と同時にエントリマップを作成する。より具体的には、素材制作部６０１で生成された各ストリームにおいて、含まれるビデオストリームがMPEG２であればIピクチャ、MPEG４-AVCであればIピクチャかIDRピクチャ、VC-１であればIピクチャが何処に存在するかを検出する。そして、前述の各ピクチャの表示時刻と、MPEG２-TS形式のAVクリップの何パケット目のソースパケットに、前述の各ピクチャの先頭データが入っているかを対応付けたエントリポイントをエントリマップに登録していく。AVクリップに含まれるビデオストリームが、Primaryビデオ・Secondaryビデオの２種類存在する場合には、どちらのエントリマップも同時に作成していく。
【０２７０】
多重化処理部６０４は、生成したエントリマップと、AVクリップに含まれるストリーム毎の音声属性、映像属性などを示す属性情報とをペアにしてクリップ情報ファイルを作成する。
【０２７１】
フォーマット処理部６０５は、シナリオ生成部６０２で生成したROMシナリオデータ、BD-J制作部６０３で制作したBD-Jアプリケーション、及び多重化処理部６０４で生成したAVクリップやクリップ情報ファイルを、これまでの実施の形態で説明したフォーマットで配置し、UDFのフォーマットでディスクイメージを作成する。生成したディスクイメージをBD-ROMプレス用データに変換し、このデータに対してプレス工程を行うことで、BD-ROMの製造が可能となる。
【０２７２】
アップデートキットを作成するには、二つのディスクイメージを用意する。１つはBD-ROMに格納されるディスクイメージであり、もう１つは仮想パッケージ構築後のディスクイメージである。
【０２７３】
差分抽出部６０６は、ストレージ６００b,cに格納された二つのROMディスクイメージをコンペアして、差分データを抽出する。例えば、オリジナルのディスクイメージになかったファイルや、バイナリコンペアしてアップデートされているファイルなどを抽出する。
【０２７４】
アップデートキット制作部６０７は、差分抽出部６０６を元に、前述で説明したアップデートキットのデータフォーマットに合うようにマージ管理情報ファイルや署名情報ファイルを作成し、ファイルやディレクトリを配置する。
【０２７５】
図３２（ａ）は、ROMディスクイメージの作成手順を示すフローチャートであり、図３２（ｂ）は、アップデートキットイメージの作成手順を示すフローチャートである。
【０２７６】
ステップＳ２１１において、素材制作部６０１はビデオストリーム、オーディオストリーム、IGストリーム、PGストリームを生成する。
【０２７７】
ステップＳ２１２において、シナリオ生成部６０２は、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなど再生シナリオを記述するROMシナリオデータを作成する。
【０２７８】
ステップＳ２１３において、BD-J制作部６０３は、BD-Jアプリケーションのプログラムを作成する。
【０２７９】
ステップＳ２１４において、多重化処理部６０４はROMシナリオデータを元にAVクリップとクリップ情報ファイルとを作成する。
【０２８０】
ステップＳ２１５において、フォーマット処理部６０５は、ROMシナリオデータ、変形AVクリップ、クリップ情報ファイル、復元バイトコードデータを、これまでの実施形態で述べたファイル・ディレクトリ構造に並び替え、ROMディスクイメージを作成する。
【０２８１】
ステップＳ２２１において、差分抽出部６０６は二つのディスクイメージを比較して差分データを抽出する。
【０２８２】
ステップＳ２２２において、アップデートキット制作部６０７は、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなど再生シナリオを記述するROMシナリオデータを作成する。
【０２８３】
ステップＳ２２３において、BD-J制作部６０３は、BD-Jアプリケーションのプログラムを作成する。
【０２８４】
ステップＳ２２４において、多重化処理部６０４はROMシナリオデータを元にAVクリップとクリップ情報ファイルを作成する。
【０２８５】
ステップＳ２２５において、フォーマット処理部６０５は、差分データをアップデートキットのデータフォーマットに合うように変換する。
【０２８６】
ステップＳ２２６において、マージ管理情報ファイルや署名情報ファイルを作成し、アップデートキット内に配置する。
（備考）
AVクリップ（XXX.M2TS）、クリップ情報ファイル（XXX.CLPI）、プレイリスト情報ファイル（XXX.MPLS）、及びシステムターゲットデコーダの詳細について順に説明する。
【０２８７】
＜AVクリップの内部構成＞
AVクリップは、MPEG-２トランスポートストリーム形式のデジタルストリームである。
【０２８８】
図３３は、AVクリップの構成の一例を示す図である。本図に示すようにAVクリップは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム（PG）、及びインタラクティブグラファイックスストリームのうち、１つ以上を多重化することで得られる。ビデオストリームは映画のPrimaryビデオおよびSecondaryビデオを、オーディオストリームは、映画のPrimaryオーディオ部分とそのPrimaryオーディオとミキシングするSecondaryオーディオを、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここでPrimaryビデオとは画面に表示される通常の映像を示し、SecondaryビデオとはPrimaryビデオの中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。AVクリップに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から０x111Fまでが、プレゼンテーショングラフィックスには0x1200から０x121Fまでが、インタラクティブグラフィックスストリームには0x1400から０x141Fまでが、映画のSecondaryビデオに利用するビデオストリームには0x1B00から０x1B1Fまで、PrimaryオーディオとミキシングするSecondaryオーディオに利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
【０２８９】
＜AVクリップにおける多重化＞
図３４は、AVクリップがどのように多重化されるかを模式的に示す図である。まず、ビデオストリーム、及びオーディオストリームを(第１段目)、それぞれPESパケット列に変換し(第２段目)、TSパケット列に変換する(第３段目)。同じくプレゼンテーショングラフィックスストリームおよびインタラクティブグラフィックス７(第７段目)を、それぞれPESパケット列に変換し(エレメンタリストリーム)（第6段目）、更にTSパケット列に変換する(第５段目)。AVクリップ(第４段目)は、これらのTSパケットを１本のストリームに多重化することで構成される。
【０２９０】
図３５は、PESパケット列にビデオストリームがどのように格納されるかを示す図である。本図における第１段目はビデオストリームのビデオフレーム列を示す。第２段目は、PESパケット列を示す。第３段目は、これらのPESパケット列を変換することで得られるTSパケット列を示す。本図の矢印yy１,yy２, yy３, yy４に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS（Presentation Time-Stamp）やピクチャの復号時刻であるDTS（Decoding Time-Stamp）が格納される。
【０２９１】
＜TSパケット列＞
図３６は、AVクリップに最終的に書き込まれるTSパケットの形式を示している。第１段目は、TSパケット列を示し、第２段目は、ソースパケット列を示す。第３段目は、AVクリップを示す。
【０２９２】
第１段目に示すようにTSパケットは、ストリームを識別するPIDなどの情報を持つ４Byteの「TSヘッダ」と、データを格納する１８４Byteの「TSペイロード」とに分かれる固定長のパケットであり、前述で説明したPESパケットは分割されTSペイロードに格納される。
【０２９３】
第２段目によると、TSパケットには、４ByteのTP＿Extra＿Headerが付与され、１９２Byteのソースパケットに変換された状態で、AVクリップに書き込まれる。TP＿Extra＿HeaderにはATS（Arrival＿Time＿Stamp）などの情報が記載される。ATSは当該TSパケットのPIDフィルタへの転送開始時刻を示す。AVクリップには、第３段目に示すようにソースパケットが並ぶこととなり、AVクリップの先頭からインクリメントする番号はSPN（ソースパケットナンバー）と呼ばれる。
【０２９４】
AVクリップに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT（Program Association Table）、PMT（Program Map Table）、PCR（Program Clock Reference）などがある。PATはAVクリップ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPID配列で登録される。PMTは、AVクリップ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、またAVクリップに関する各種ディスクリプタを持つ。ディスクリプタにはAVクリップのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC（Arrival Time Clock）とPTS・DTSの時間軸であるSTC（System Time Clock）の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
【０２９５】
図３７は、PMTのデータ構造を示す図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記した「PMTヘッダ」が配置される。その後ろには、AVクリップに関する「ディスクリプタ」が配置される。前述したコピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、AVクリップに含まれる各ストリームに関する「ストリーム情報#1〜#N」が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためのストリームタイプ、ストリームのPID、及びストリームの属性情報（フレームレート、アスペクト比など）が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは、AVクリップに存在するストリームの数だけ存在する。
【０２９６】
以上がAVクリップについての説明である。続いて、クリップ情報ファイルの詳細について説明する。
【０２９７】
＜クリップ情報ファイル＞
図３８は、クリップ情報ファイルの一例を示す図である。クリップ情報ファイルは、本図に示すようにAVクリップの管理情報であり、AVクリップと１対１に対応し、ストリーム属性情報とエントリマップから構成される。
【０２９８】
図３９は、ストリーム属性情報の一例を示す図である。ストリーム属性情報は本図に示すように、AVクリップに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。
【０２９９】
「ビデオストリーム属性情報」は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。
【０３００】
「オーディオストリーム属性情報」は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、再生装置が再生する前のデコーダの初期化などに利用される。
【０３０１】
図４０は、エントリマップの一例を示す図である。
【０３０２】
エントリマップは、本図に示すように、AVクリップ内に含まれるビデオストリームの各フレーム内符号化画像（以下、Iピクチャと呼ぶ）の表示時刻を示すPTSと各Iピクチャが開始するAVクリップのSPNが記載されたテーブル情報である。
【０３０３】
ここではテーブルの１つの行で示される対となるPTSとSPNの情報をエントリポイントと呼ぶことにする。また先頭を０としてエントリポイント毎にインクリメントした値をエントリポイントID（以下EP＿ID）と呼ぶことにする。このエントリマップを利用することにより、再生装置はビデオストリームの時間軸上の任意の時点に対応するAVクリップのファイル位置を特定することが出来るようになる。例えば、早送り・巻戻しの特殊再生の際には、エントリマップに登録されるIピクチャを特定し選択して再生することによりAVクリップを解析することなく効率的に処理を行うことが出来る。また、エントリマップはAVクリップ内に多重化されるビデオストリーム毎に作られ、PIDで管理される。映画タイトルにおいて、エントリマークをチャプタの先頭となる位置に付与することで、チャプタ再生を行うことが可能である。
【０３０４】
以上がクリップ情報ファイルについての説明である。続いて、プレイリスト情報の詳細なデータ構造について説明する。
【０３０５】
図４１は、プレイリスト情報のデータ構造を示す図であり、本図に示すように、プレイリスト情報は、メインパスを定義するメインパス情報(MainPath())と、サブパスを定義するサブパス情報(Subpath())と、マーク情報とを含む。
【０３０６】
＜プレイリスト情報の説明その１．メインパス情報＞
メインパス情報について説明する。引き出し線mp1は、メインパス情報の内部構成をクローズアップして示している。メインパスは、矢印mp1で示すように複数のプレイアイテム情報＃1・・・・＃mから定義される。プレイアイテム情報は、メインパスを構成する1つの論理的な再生区間を定義する。プレイアイテム情報の構成は、引き出し線mp2によりクローズアップされている。この引き出し線に示すように、プレイアイテム情報は、再生区間のIN点及びOut点が属するAVクリップの再生区間情報のファイル名を示す『Clip＿Information＿file＿name』と、AVクリップの符号化方式を示す『Clip＿codec＿identifier』と、プレイアイテムがマルチアングルを構成するか否かを示す『is＿multi＿angle』と、このプレイアイテム(カレントプレイアイテム)と、その1つ前のプレイアイテム(プリービァスプレイアイテム)との接続状態を示す『connection＿condition』と、このプレイアイテムが対象としているSTC＿Sequenceを一意に示す『ref＿to＿STC＿id[0]』と、再生区間の始点を示す時間情報『In＿time』と、再生区間の終点を示す時間情報『Out＿time』と、このプレイアイテムにおいてマスクすべきユーザオペレーションがどれであるかを示す『UO＿mask＿table』と、このプレイアイテムの途中へのランダムアクセスを許可するか否かを示す『PlayItem＿random＿access＿flag』と、このプレイアイテムの再生終了後、最後のピクチャの静止表示を継続するか否かを示す『Still＿mode』と、『STN＿table』とから構成される。このうち、再生経路を構成するのは、再生区間の始点を示す時間情報『In＿time』、再生区間の終点を示す時間情報『Out＿time』の組みであり、再生経路情報とは、この『In＿time』及び『Out＿time』の組みから構成される。
【０３０７】
＜プレイリスト情報の説明その２．マーク情報＞
マーク情報について説明する。マーク情報(PLmark())は、プレイリスト時間軸のうち、任意の区間を、チャプタとして指定する情報である。引き出し線mp3は、マーク情報の内部構成をクローズアップして示している。マーク情報は、矢印mp3で示すように、プレイアイテムを指定する『ref_to_PlayItem_Id』と、プレイリスト時間軸の一時点を指定する『Mark_time_stamp』とから定義される。これらの指定によりプレイリスト時間軸には、チャプタが定義されることになる。
【０３０８】
＜プレイリスト情報の説明その３．サブパス情報＞
メインパスが、プライマリビデオたるメインクリップに定義される再生経路であるのに対し、サブパスは、メインパスと同期すべきサブクリップに対して定義される再生経路である。
【０３０９】
図４２は、サブパス情報の内部構成を示す図である。本図における矢印hc0に示すように各サブパスは、サブパスの類型を示すSubPath＿typeと、1つ以上のサブプレイアイテム情報(・・・SubPlayItem()・・・)とを含む。
【０３１０】
図中の引き出し線hc1は、サブプレイアイテム情報の構成をクローズアップしている。
【０３１１】
サブプレイアイテムは、メインパスから分離した、1以上のエレメンタリストリーム再生パスを定義し、当該パスをメインパスとどのように同期するかという類型を表現するのに使われる。サブプレイアイテムで使用されるのが、The Primary audio / PG / IG / Secondary audio / Secondary video のサブパスであるなら、これらのサブプレイアイテムは、プレイリスト中のプレイアイテムを使っているメインパスと同期することになる。このエレメンタリストリーム再生のためのサブパスによって使われるエレメンタリストリームは、メインパス側のプレイアイテムによって使われるメインクリップから分離したクリップ、つまりサブクリップに多重化される。
【０３１２】
以降、サブプレイアイテムの内部構成について説明する。サブプレイアイテム情報は、図中の矢印hc1に示すように『Clip＿information＿file＿name』、『Clip＿codec＿identifier』、『ref＿to＿STC＿id[0]』、『SubPlayItem＿In＿time』、『SubPlayItem＿Out＿time』、『sync＿PlayItem＿Id』、『sync＿start＿PTS＿of＿PlayItem』からなる。
【０３１３】
『Clip＿information＿file＿name』は、クリップ情報のファイル名を記述することにより、サブプレイアイテムに対応するサブクリップを一意に指定する情報である。
【０３１４】
『Clip＿codec＿identifier』は、AVクリップの符号化方式を示す。
【０３１５】
『ref＿to＿STC＿id[0]』は、このサブプレイアイテムが対象としているSTC＿Sequenceを一意に示す。
【０３１６】
『SubPlayItem＿In＿time』は、サブクリップの再生時間軸上における、サブプレイアイテムの始点を示す情報である。
【０３１７】
『SubPlayItem＿Out＿time』は、サブクリップの再生時間軸上における、サブプレイアイテムの終点を示す情報である。
【０３１８】
『sync＿PlayItem＿Id』は、メインパスを構成するプレイアイテムのうち、本サブプレイアイテムが同期すべきものを一意に指定する情報である。
【０３１９】
『SubPlayItem＿In＿time』は、この『sync＿PlayItem＿Id』で指定されたプレイアイテムの再生時間軸上に存在する。
【０３２０】
『sync＿start＿PTS＿of＿PlayItem』は、『sync＿PlayItem＿Id』で指定されたプレイアイテムの再生時間軸上において、『SubPlayItem＿In＿time』で指定されたサブプレイアイテムの始点が、どこに存在するかを45KHzの時間精度で示す。あるサブプレイアイテムがセカンダリビデオストリーム上の再生区間を定義していて、そのサブプレイアイテムの『sync＿start＿PTS＿of＿PlayItem』が、プレイアイテム時間軸における一時点を示している場合、そのサブプレイアイテムは、“同期ピクチャインピクチャ”を実現することになる。
【０３２１】
また、この『sync＿start＿PTS＿of＿PlayItem』には、不定値(0xFFF)を設定することもできる。この不定値は、『sync＿PlayItem＿Id』にて指定されたPlayItemの時間軸において、ユーザによりロック操作がなされた時点を、Sync＿PlayItem＿Idにて指定されたPlayItemとの同期時点に定める旨を示す。sync＿start＿PTS＿of＿PlayItemが不定値に設定されており、尚且つサブプレイアイテムが、セカンダリビデオストリームの再生を意図している場合、かかるサブプレイアイテムは、“非同期ピクチャインピクチャ”を実現することになる。
【０３２２】
以上が、サブパス情報についての説明である。
【０３２３】
＜プレイリスト情報の説明その４．STN＿table＞
プレイリスト情報において特徴的であるのは、STN＿Tableである。
【０３２４】
STN＿tableは、プレイアイテム情報のClip＿Information＿file＿nameで指定されているAVクリップに多重化された複数エレメンタリストリーム、サブプレイアイテム情報のClip＿Information＿file＿nameで指定されているOut＿of＿MUXストリームのうち、再生可能なものを示すテーブルである。具体的にいうとSTN＿tableは、メインクリップに多重化されている複数In＿MUXストリーム、サブクリップに多重化されているOut＿of＿MUXストリームのそれぞれについてのStream＿entryを、Stream＿attributeと対応付けることで構成される。
【０３２５】
図４３は、STN＿tableの全体構成の一例を示す図である。本図に示すようにSTN＿tableは、Primaryビデオストリームについて、stream＿entry及びstream＿attributesの組み(stream＿entry- stream＿attribute)を一つ有し、Primaryオーディオストリーム、PGストリーム、IGストリーム、Secondaryオーディオストリーム、及びSecondaryビデオストリームのそれぞれについて、stream＿entry及びstream＿attributeの組み(stream＿entry- stream＿attribute)を複数有している。
【０３２６】
また、STN＿tableは、再生可能なPrimaryビデオストリーム数を示すnumber＿of＿video＿stream＿entries、再生可能なPrimaryオーディオストリーム数を示すnumber＿of＿audio＿stream＿entries、再生可能なPGストリーム数を示すnumber＿of＿PG＿stream＿entries、再生可能なIGストリーム数を示すnumber＿of＿IG＿stream＿entries、再生可能なSecondaryオーディオストリーム数を示すnumber＿of＿Secondary＿audio＿stream＿entries、及び再生可能なSecondaryビデオストリームを示すnumber＿of＿Secondary＿video＿stream＿entries、を含む。
＜システムターゲットデコーダ１０４＞
続いて、システムターゲットデコーダ１０４の詳細について説明する。
【０３２７】
図４４は、システムターゲットデコーダ１０４の内部構成の一例を示す図である。本図に示すように、システムターゲットデコーダ１０４は、ソースデパケタイザ１２２a,bと、PIDフィルタ１２３a,bと、Primaryビデオデコーダ１２４と、Primaryビデオプレーン１２５と、Secondaryビデオデコーダ１２６と、Secondaryビデオプレーン１２７と、PGデコーダ１２８と、PGプレーン１２９と、IGデコーダ１３０と、IGプレーン１３１と、Primaryオーディオデコーダ１３２と、Secondaryオーディオデコーダ１３３と、音声ミキサー１３４と、BD-Jプロセッサ１３５と、BD-Jプレーン１３６と、加算部１３７とから構成される。
【０３２８】
ソースデパケタイザ１２２a,bは、システムターゲットデコーダ１０４に転送されるソースパケットを解釈し、TSパケットを取り出しPIDフィルタに送出する。この送出にあたって、各ソースパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATCカウンタが生成するATCの値と、ソースパケットのATS値とが同一になった瞬間に、AVクリップの記録レートにしたがって、そのTSパケットだけをPIDフィルタに転送する。
【０３２９】
PIDフィルタ１２３a,bは、ソースデパケッタイザから出力されたTSパケットのうち、TSパケットのPIDが、再生に必要とされるPIDに一致するものを、PIDにしたがって、Primaryビデオデコーダ、Secondaryビデオデコーダ、IGデコーダ、PGデコーダ、Primaryオーディオデコーダ、Secondaryオーディオデコーダに転送する。例えば、BD-ROMの場合には、TSパケットに含まれるPIDが0x1011である場合はPrimaryビデオデコーダ１２４に、PIDが0x1B00から0x1B1Fである場合はSecondaryビデオデコーダ１２６に、PIDが0x1100から0x111Fである場合はPrimaryオーディオデコーダ１３２に、PIDが0x1A00から0x1A1Fである場合はSecondaryオーディオデコーダ１３３に、PIDが0x1200から0x121Fである場合はPGデコーダ１２８に、PIDが0x1400から0x141Fである場合はIGデコーダ１３０に転送される。
【０３３０】
図４４に示す通り、ソースデパケタイザ及びPIDフィルタは、それぞれ二つ存在し、一つはリードバッファ１０２から転送されるAVクリップ、一つはリードバッファ１０３から転送されるAVクリップを処理する。サブパスタイプが同期型の場合は、メインパスから参照されるAVクリップとサブパスから参照されるAVクリップは同期を取りながら再生される。サブパスタイプが非同期型の場合は、メインパスから参照されるAVクリップとサブパスから参照されるAVクリップは非同期で再生される。
【０３３１】
Primaryビデオデコーダ１２４は、緩衝バッファを有し、バッファにデータを蓄えながら、TSヘッダ、PESヘッダなどの情報を取り除いて、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)を取り出し、ビデオストリームの個々のフレーム画像を所定の復号時刻（DTS）ごとにデコードすることにより複数フレーム画像を作成し、表示時刻（PTS）のタイミングでPrimaryビデオプレーン１２５に書き込む。AVクリップに多重化されるビデオストリームの圧縮符号化形式にはMPEG２、MPEG４AVC、VC１などがあるため、ストリームの属性に応じて、圧縮映像の復号化方式を切り替える。
【０３３２】
Primaryビデオプレーン１２５は、Primaryビデオデコーダ１２４によって得られたフレーム画像が格納される。
【０３３３】
Secondaryビデオデコーダ１２６は、Primaryビデオデコーダ１２４と同様の構成を持ち、入力されるSecondaryビデオストリームのデコードを行い、表示時刻（PTS）のタイミングでピクチャをSecondaryビデオプレーンに書き出す。
【０３３４】
Secondaryビデオプレーン１２７は、Secondaryビデオデコーダ１２６によって得られたフレーム画像が格納される。
【０３３５】
PGデコーダ１２８は、ソースデパケタイザから入力されるTSパケットからプレゼンテーショングラフィックスストリームを抽出してデコードし、非圧縮のグラフィックスデータを表示時刻（PTS）のタイミングでPGプレーンに書き出す。
【０３３６】
PGプレーン１２９は、非圧縮のグラフィクスデータが格納される。
【０３３７】
IGデコーダ１３０は、ソースデパケタイザから入力されるTSパケットからインタラクティブグラフィックスストリームを抽出してデコードし、非圧縮のグラフィックスデータを表示時刻（PTS）のタイミングでIGプレーンに書き出す。
【０３３８】
IGプレーン１３１には、非圧縮のグラフィクスデータが格納される。
【０３３９】
Primaryオーディオデコーダ１３２は、緩衝バッファを有し、バッファにデータを蓄えながら、TSヘッダ、PESヘッダなどの情報を取り除いて、音声ストリームデコード処理を行い、非圧縮のLPCM状態のオーディオデータを得て再生時刻（PTS）のタイミングで音声ミキサーに出力する。AVクリップに多重化されるオーディオストリームの圧縮符号化形式にはAC３、DTSなどがあるため、ストリームの属性に応じて、圧縮音声の復号化方式を切り替える。
【０３４０】
Secondaryオーディオデコーダ１３３は、Primaryオーディオデコーダと同様の構成を持ち、入力されるSecondaryオーディオストリームのデコードを行い、表示時刻のタイミングで非圧縮のLPCMの状態のオーディオデータを音声ミキサーに出力する。AVクリップに多重化されるオーディオストリームの圧縮符号化形式にはDolbyDigitalPlus、DTS-HD LBRなどがあるため、ストリームの属性に応じて、圧縮音声の復号化方式を切り替える。
【０３４１】
音声ミキサー１３４は、Primaryオーディオデコーダから出力される非圧縮音声データとSecondaryオーディオデコーダから出力される非圧縮音声データとをミキシング（音の重ね合わせ）をしてスピーカなどに出力する。
【０３４２】
BD-Jプロセッサ１３５は、BD-J実行部１０５から転送されるPNG形式又はJPEG形式のグラフィクスデータをデコードして、BD-Jアプリケーションから指定される表示時刻にしたがって、BD-Jプレーンに出力する。
【０３４３】
BD-Jプレーン１３６には、BD-Jプロセッサ１３５によってデコードされたグラフィクスデータが格納される。
【０３４４】
加算部１３７は、Primaryビデオプレーン、Secondaryビデオプレーン、IGプレーン、PGプレーン、BD-Jプレーンに書かれたデータを瞬時に重畳し、TVなどの画面に表示する。
【０３４５】
以上のように、BD-ROMプレーヤモデルに準拠した内部構成を実現することにより、プレイリストの再生を実現することができる。
＜仮想パッケージの構築＞
続いて、仮想パッケージの構築について詳しく説明する。
【０３４６】
先ず始めに、仮想パッケージの基本部分となるBD-ROMのデータ構造について説明する。
【０３４７】
図４５は、BD-ROMの構成の一例を示す図である。
【０３４８】
本図の第４段目にBD-ROM１００を示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROM１００の内周から外周にかけて螺旋状に形成されているトラックを横方向に引き伸ばして描画している。BD-ROM１００は他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリードインと外周のリードアウトの間に論理データを記録できる論理アドレス空間を有している。また、リードインの内側にはBCA（Burst Cutting Area）と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
【０３４９】
「論理アドレス空間」には、先頭からファイルシステムのボリューム情報が記録され、続いて映像データなどのアプリケーションデータが記録されている。ファイルシステムとはディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みであり、BD-ROM１００の場合ではUDF（Universal Disc Format）によって記録される。日常使っているPC（パーソナルコンピュータ）の場合でも、FATまたはNTFSと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。このファイルシステムにより、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出す事が可能になっている。
【０３５０】
BD-ROM１００上のディレクトリ、ファイル構造は、ルートディレクトリ（ROOT）直下にBDMVディレクトリが置かれている。BDMVディレクトリはBD-ROM１００で扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。BDMVディレクトリの配下には、タイトルを構成するインデックステーブルが定義されたインデックスファイル（index.bdmv）、動的なシナリオを定義するムービーオブジェクトファイル（MovieObject.bdmv）と、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDJOディレクトリ、JARディレクトリが存在する。
【０３５１】
これらのディレクトリには、映像・音声といったAVコンテンツが多重化され格納されたAVクリップ（XXX.M2TS）、AVクリップの管理情報を格納したクリップ情報ファイル（XXX.CLPI)、AVクリップの論理的な再生経路を定義したプレイリストファイル（YYY.MPLS）が存在する。
【０３５２】
これらの他にも、以下のファイルが存在する。つまりどのJARファイルを実行するかおよびその実行方法について定義したBDJオブジェクトファイル（BBB.BDJO）、BD-Jアプリケーションを格納したJARファイル（AAA.JAR)が存在する。これらのファイルは、それぞれ前述のSTREAMディレクトリ、CLIPINFディレクトリ、PLAYLISTディレクトリ、BDJOディレクトリ、JARディレクトリの下に配置される。
【０３５３】
以下に、BDMVディレクトリ配下に置かれる各ファイルのデータ構造について説明する。まずインデックスファイル（Index.bdmv）について説明する。インデックスファイルはインデックステーブルを持つ。
【０３５４】
図４６は、インデックスファイルの内部構成の一例を示す図である。
【０３５５】
「インデックステーブル」は、BD-ROMに格納されるすべてのタイトル、トップメニュー、FirstPlayといったタイトル構成を定義する最上位層のテーブルである。このテーブルには、全てのタイトル、トップメニュー、FirstPlayから最初に実行されるムービーオブジェクトファイルに含まれるムービーオブジェクトが指定されている。BD-ROMの再生装置は、タイトルあるいはメニューが呼び出されるたびにインデックステーブルを参照して、所定のムービーオブジェクトもしくはBD-Jオブジェクトを実行する。ここで、FirstPlayとは、コンテンツプロバイダによって設定されるもので、ディスク投入時に自動実行されるムービーオブジェクトまたはBD-Jオブジェクトが設定されている。また、トップメニューは、リモコンでのユーザ操作で、「メニューに戻る」というようなコマンドが実行されるときに、呼び出されるムービーオブジェクト、BD-Jオブジェクトが指定されている。ネットワーク属性で再生されるべきプレイリストは、必ずBD-Jオブジェクトによって再生されねばならない。
【０３５６】
次にムービーオブジェクトファイルについて説明する。図４７に示すように、ムービーオブジェクトファイル内には、複数のムービーオブジェクトが定義されており、各ムービーオブジェクトはムービーオブジェクトＩＤによって識別される。各ムービーオブジェクトは、プレイリストの再生の指示や、他のムービーオブジェクトやタイトルへの遷移を命令する１つ以上のナビゲーションコマンドを持つ。再生装置は、そのナビゲーションコマンド列を順に実行する。例えば、PlayPL#Nと記述されていれば、再生装置は、PLAYLISTディレクトリの中から該当するプレイリストのファイル名を選択し再生する。
【０３５７】
また、例えば、JumpObject#Nと記述されていれば、再生装置は、ムービーオブジェクトファイルの中から該当するムービーオブジェクトを選択し実行する。
【０３５８】
以上が、仮想パッケージの前提となるBD-ROMのデータ構造である。
【０３５９】
次に、図４８を参照しながらローカルストレージ３００に格納されるアップデートキットのデータ構造について説明する。
【０３６０】
図４８は、ローカルストレージ３００に格納されるアップデートキットの内部構成の一例を示す図である。
【０３６１】
ローカルストレージ３００に格納されるアップデートキットは、本図に示すように、追加コンテンツ格納ディレクトリ、OrgIDディレクトリ、DiscIDディレクトリ、マージ管理情報ファイル（MERGE.INFO）、署名情報ファイル（MERGE.SF）、追加コンテンツデータファイル（CCC.MPL、VVV.M2T、VVV.CLPなど）を含む。
【０３６２】
「追加コンテンツ領域ルートディレクトリ」は、ローカルストレージ３００のルートディレクトリの直下に存在し、追加コンテンツ領域のルートを示すディレクトリで、ディレクトリ名配布媒体文字以内の固定値（BD＿BUDA）である。
【０３６３】
「OrgIDディレクトリ」は、BD-ROM記録層上のBD管理情報（インデックスファイル）に記載されている、映画作品のプロバイダを特定する３２bitの識別子（OrganizationID）を１６進表記で表した、８文字の名前のディレクトリである。また、OrganizationIDの先頭の連続する０は、ディレクトリの名前から省略する。例えば、OrganizationIDが0x0000001Aの場合は、ディレクトリの名前は"１A"となる。
【０３６４】
「DiscIDディレクトリ」は、BD-ROM記録層上のBD管理情報（インデックスファイル）に記載されている、BD-ROM記録層を特定する１２８bitの識別子（DiscID）を先頭から３２bitずつ４分割し、それぞれを１６進表記で表したディレクトリである。また、OrganizationIDと同様にDiscIDの先頭の連続する０は、ディレクトリの名前から省略する。
【０３６５】
DiscIDディレクトリの配下には、マージ管理情報ファイル、署名情報ファイル、追加コンテンツデータファイルが存在する。
【０３６６】
「マージ管理情報ファイル（MERGE.INFO）」は、仮想パッケージを構成するためのローカルストレージに記録される各ファイル格納位置情報と、仮想パッケージ上でそれらのファイルへアクセスするための仮想パス情報から構成され、DiscIDディレクトリ直下に保存される。
【０３６７】
「署名情報ファイル」は、マージ管理情報ファイルに対するプロバイダの電子的な署名を示すファイルであり、MERGE.SFというファイル名でDiscIDディレクトリ直下に保存される。電子的な署名は、一般的に改ざん防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。本実施形態の署名情報ファイルでは、BD-ROM記録層上にあるマージ証明書中の公開鍵に対応する秘密鍵を利用して、マージ管理情報ファイルのハッシュ値が暗号化されている。
【０３６８】
「マージ証明書」は、マージ管理情報ファイルの認証に利用する証明書で、プロバイダが公開する公開鍵が含まれる。プロバイダが提供するマージ証明書は、BD-ROM記録層上にbd.certというファイル名で保存されている。マージ証明書のファイル形式の一例としてはX.５０９を利用することができる。
【０３６９】
「追加コンテンツデータファイル」は、BD-ROM記録層に記録されたオリジナルのコンテンツに対し、追加/更新するファイル群である。ここには、プレイリストファイル、AVクリップなどが記録される。
【０３７０】
図４９は、マージ管理情報ファイルの内容と、その内容を元にBD-ROMのファイルとアップデートキットのファイルとから、仮想パッケージを構築する過程の一例を示す図である。
【０３７１】
図４９の左上は、BD-ROMのディレクトリ・ファイル構成を示す。本図の左下は、アップデートキットのディレクトリ・ファイル構成を示す。
【０３７２】
図４９の右下は、マージ管理情報ファイルの内容を示す。マージ管理情報ファイルは、仮想パッケージを構成するローカルストレージにおける「ローカルストレージパス」と、仮想パッケージ上でそれらのファイルへアクセスするための「仮想パッケージパス」と、「ネットワーク属性」から構成される。ネットワーク属性は、仮想パッケージを構築する前に、そのファイルがなくても良いことを示す。
【０３７３】
ローカルストレージパスの一例として、本図では、1/1/CCC.MPL、1/1/VVV.M2T、1/1/VVV.CLP、1/1/SSS.M2T、1/1/SSS.CLPが記述されている。BD＿BUMFディレクトリから追加コンテンツデータファイルへのパスが明記されている。
【０３７４】
一方、仮想パッケージパスとして、BDMV/PLAYLIST/CCC.MPLS、BDMV/STREAM/VVV.M2TS、BDMV/CLIPINF/VVV.CLPI、BDMV/STREAM/SSS.M2TS、BDMV/CLIPINF/SSS.CLPIが記述されている。
【０３７５】
図４９の右上は、このマニフェストファイルによって生成される仮想パッケージを示す。ローカルストレージパスにおいて、1/1/CCC.MPL、1/1/VVV.M2T、1/1/VVV.CLP、1/1/SSS.M２T、1/1/SSS.CLPに存在するファイルが、BDMV/PLAYLIST/CCC.MPLS、BDMV/STREAM/VVV.M2TS、BDMV/CLIPINF/VVV.CLPI、BDMV/STREAM/SSS.M2TS、BDMV/CLIPINF/SSS.CLPIに配置されるように、仮想的にディレクトリ・ファイル構成が変更される。こうすることで、BD-ROMにはないCCC.MPLS、VVV.CLPI、VVV.M２TS、SSS.CLPI、SSS.M２TSが、仮想パッケージでは存在するかの如く取り扱われることになる。
【０３７６】
マージ管理情報に基づき、仮想パッケージが生成されれば、ローカルストレージ上のこれらのファイルは、このマージ管理情報におけるパス情報でアクセスすることができる。このとき、ネットワーク属性が付与されているSSS.M２TSにおいては、仮想パッケージが構築される前に、ローカルストレージにダウンロードが完了している必要はない。仮想パッケージが構築された後、必要になる段階でダウンロードしても良い。
【０３７７】
よって、アップデートキットのダウンロードにあたって、ローカルストレージへの書き込みの順序は、
マージ管理情報ファイル→プレイリスト情報→複数クリップ情報→複数AVクリップ
となる。ここでプレイリスト情報−複数のクリップ情報の書き込みが完了した段階で、仮想パッケージの構築は可能になる。何故なら、AVクリップをDisable状態として扱えば、足りるからである。
【０３７８】
以上のように、仮想的なファイルシステムを通じてサブプレイアイテムをシステムターゲットデコーダに供給することができる。
【０３７９】
＜BD-ROMとの併用＞
メインパスがディスクに格納されている本編映像を示す場合には、現在の再生位置以降のサブプレイアイテムで利用される、
現在のPrimaryオーディオストリーム番号SPRM（１）、
字幕ストリーム番号SPRM（２）、
Secondaryビデオストリーム番号SPRM（２１）、
Secondaryオーディオストリーム番号SPRM（２２）
が示すストリーム番号に対応するストリームを含むAVクリップを、逐次、現在の再生位置から近い順にシーケンシャルにダウンロードすることが望ましい。
【０３８０】
このようにすることで、本編映像を見る間ユーザは、字幕や音声を変えることはまれなので、ユーザに待ち時間を与えることなくプレイリストの再生を実現できる。
（補足）
本発明は上記実施の形態に限られないことは勿論である。
（１）上記実施の形態では、ネットワーク再生情報は、クリップ番号、各プレイアイテムの再生区間の開始時点を示す開始時点情報、再生区間の終了時点を示す終了時点情報、チャプタマーク付与情報、及びファイルサイズから構成されるとしたが、図５０に示すように、これらに加え、BD-Jアプリケーションがネットワーク経由でアップデートキットを取得する際のネットワーク上のアドレスを示すURL情報、AVクリップが記憶されるローカルストレージ上のファイルパス、ＣＭ等の区切りを示し、AVクリップに付与されるマーク情報、及びAVクリップの前後のAVクリップのクリップ番号を示す情報を含むとしてもよい。
（２）上記実施の形態では、再生が一時停止された後、再生を再開するに際し、再生再開制御を行うとしたが、必ずしも再生再開制御を行う必要はなく、次に再生すべきプレイアイテムに対応するAVクリップがEnable状態になれば、再生を再開するとしてもよい。
（３）上記実施の形態では、BD-JアプリケーションがPSRセットから再生速度を取得し、再生方向を特定するとしたが、プレイリストが順方向に再生されることを前提とするシステムであれば、必ずしも再生速度を取得する必要はない。
（４）上記実施の形態では、次に再生すべきAVクリップが再生可能状態でない場合には、BD-Jアプリケーションが再生中のAVクリップを一時停止する指示を行うとしたが、これに限らない。再生中のAVクリップの表示期間を引き延ばせればよく、例えば、スロー再生を指示してもよい。また、一時停止やスロー再生中に、AVクリップをダウンロード中である旨を示すグラフィクスをAVクリップに重畳して出力するとしてもよい。
（５）上記実施の形態では、次に再生すべきAVクリップが再生可能状態でない場合には、再生中のAVクリップを終端まで再生することなく、途中で一時停止等の制御を行うとしたが、当該AVクリップを終端まで再生し、終端のフレームを一時停止の対象としてもよいし、終端まで再生後、代替映像に切り替えてもよい。
（６）上記実施の形態では、再生制御エンジン１１１がプレイリストの先頭プレイアイテムから順に再生する場合について主に説明したが、例えばチャプタジャンプ等の飛び込み再生時においても同様である。具体的には、飛び込み再生地点を現在の再生位置に設定し、再生位置を含むAVクリップの次に再生すべきAVクリップが再生可能状態でなければ、再生を一時停止する。
（７）図１１では、ダウンロードが完了していない全てのAVクリップが（数１）の関係を満たす場合に、プレイリスト再生を指示するとしたが、予め設定された数のAVクリップが、（数１）の関係を満たす場合には、プレイリスト再生を指示するとしてもよい。例えば、図１１において、AVクリップ#3〜#7が、（数１）の関係を満たす場合には、プレイリスト再生を指示し、AVクリップ#3〜#7のうち一つでも（数１）の関係を満たさないものがあれば、プレイリスト再生を指示しない、としてもよい。
【０３８１】
これにより、可能な限りAVクリップを一時停止することを防ぎながら、再生開始時間が遅くなりすぎないようにすることができる。
（８）上記実施の形態では、図２に示すように、プレイリストが「メインパス」と1つ以上の「サブパス」とから構成されるとしたが、プレイリストが「サブパス」を含まず、「メインパス」のみで構成されていてもよい。
【０３８２】
上記実施の形態及び上記補足をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０３８３】
本発明は、ストリーミングライクな再生機能を有する再生装置に広く適用することができる。
【符号の説明】
【０３８４】
１００  再生装置
１０１  BD-ROMドライブ
１０２、１０３  リードバッファ
１０４  システムターゲットデコーダ
１０５  BD-J実行部
１０６  ネットワークインタフェイス
１０７  仮想パッケージ制御部
１０８  状態管理部
１０９  ユーザイベント処理部
１１０  再生エンジン
１１１  再生制御エンジン
１１２  HDMI送受信部
１１３  ヒープメモリ
１１４  仮想マシンインタプリタ
１１５  PSRセット
２００  BD-ROM
３００  ローカルストレージ
４００  WWWサーバ
５００  テレビ
【図１】
2010103827.tif 000004
【図２】
2010103827.tif 000005
【図３】
2010103827.tif 000006
【図４】
2010103827.tif 000007
【図５】
2010103827.tif 000008
【図６】
2010103827.tif 000009
【図７】
2010103827.tif 000010
【図８】
2010103827.tif 000011
【図９】
2010103827.tif 000012
【図１０】
2010103827.tif 000013
【図１１】
2010103827.tif 000014
【図１２】
2010103827.tif 000015
【図１３】
2010103827.tif 000016
【図１４】
2010103827.tif 000017
【図１５】
2010103827.tif 000018
【図１６】
2010103827.tif 000019
【図１７】
2010103827.tif 000020
【図１８】
2010103827.tif 000021
【図１９】
2010103827.tif 000022
【図２０】
2010103827.tif 000023
【図２１】
2010103827.tif 000024
【図２２】
2010103827.tif 000025
【図２３】
2010103827.tif 000026
【図２４】
2010103827.tif 000027
【図２５】
2010103827.tif 000028
【図２６】
2010103827.tif 000029
【図２７】
2010103827.tif 000030
【図２８】
2010103827.tif 000031
【図２９】
2010103827.tif 000032
【図３０】
2010103827.tif 000033
【図３１】
2010103827.tif 000034
【図３２】
2010103827.tif 000035
【図３３】
2010103827.tif 000036
【図３４】
2010103827.tif 000037
【図３５】
2010103827.tif 000038
【図３６】
2010103827.tif 000039
【図３７】
2010103827.tif 000040
【図３８】
2010103827.tif 000041
【図３９】
2010103827.tif 000042
【図４０】
2010103827.tif 000043
【図４１】
2010103827.tif 000044
【図４２】
2010103827.tif 000045
【図４３】
2010103827.tif 000046
【図４４】
2010103827.tif 000047
【図４５】
2010103827.tif 000048
【図４６】
2010103827.tif 000049
【図４７】
2010103827.tif 000050
【図４８】
2010103827.tif 000051
【図４９】
2010103827.tif 000052
【図５０】
2010103827.tif 000053
【手続補正書】
【提出日】平成23年3月31日(2011.3.31)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想パッケージを構築し再生する再生装置に関し、特に、ストリームシーケンスを構成する複数のデジタルストリームを外部リソースから順次ダウンロードしながら再生する技術に関する。
【背景技術】
【０００２】
仮想パッケージとは、記録媒体（例えばBD-ROM等）に記録されているデジタルストリームとリライタブル記録媒体（例えばローカルストレージ等）に記録されているデジタルストリームとを組み合わせることにより構築される仮想的なパッケージである。仮想パッケージが構築されることにより、各記録媒体に記録されているデジタルストリームは、あたかも仮想的な一つのパッケージに記録されているかのごとく、再生装置における再生や実行に供される（例えば特許文献１参照）。
【０００３】
ネットワークを介して外部リソース（例えばWWWサーバ等）から新たなデジタルストリームをリライタブル記録媒体にダウンロードすることで、記録媒体の記録内容を拡張/更新することができる。
【０００４】
ところで、仮想パッケージ構築機能を有する再生装置では、外部リソースから複数のデジタルストリームを順次ダウンロードしながら再生すること（所謂、ストリーミングライクな再生）が可能である。
【０００５】
具体的には、外部リソースが例えば、記録媒体に記録された映画本編の視聴後に配信可能となるおまけ映像（ストリームシーケンス）を、複数のデジタルストリームに分割した状態で保持しておき、再生装置は、少なくとも再生開始位置に相当するデジタルストリームのみを予めダウンロードする。そして、そのデジタルストリームの再生を開始した後は、当該デジタルストリームに後続するデジタルストリームを順次ダウンロードしながら再生することで、ストリーミングライクな再生が実現される。
【０００６】
これにより、おまけ映像の一部分だけをダウンロードしておくだけで再生を開始できるので、ユーザのダウンロード待ち時間を短縮することができる。また、一般的なストリーミング再生と異なり、一定の再生区間を有するデジタルストリームをダウンロードした後、再生するので、早送りや巻き戻し、スキップ等といった特殊再生が可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１０９４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ストリーミングライクな再生機能には、ダウンロード待ち時間が短縮され、特殊再生も可能になるというメリットがある反面、デジタルストリームを再生可能な状態にするのに時間がかかるというデメリットがある。具体的には、ネットワークの混雑状況によって、デジタルストリームのダウンロードに多大な時間を要する場合がある。また、ダウンロードしたデジタルストリームを記録媒体に記録するためにも時間を要し、さらには、デジタルストリームを再生可能な状態にするために当該デジタルストリームに対して誤り訂正等の処理も行う必要がある。
【０００９】
これらの理由により、再生装置が再生中のデジタルストリームの次に再生すべき次デジタルストリームが、当該次デジタルストリームの再生開始時間においても、未だ再生可能な状態になっていない場合がある。
【００１０】
その場合には、再生可能な状態のデジタルストリームが存在しないので、再生装置が再生を停止してしまい、その結果、表示画面に何も表示されない事態が生じ得る。表示画面に何も表示されないと、ユーザに対して再生が終了したという誤った印象を与えかねない。
【００１１】
以上は、おまけ映像を順次ダウンロードしながら再生する場合について説明したが、例えば、記録媒体に記録された映画本編の再生に合わせて、外部リソースから字幕または音声ストリームを含むデジタルストリームを順次ダウンロードしながら再生する場合にも同様の課題が生じ得る。
【００１２】
このように従来の再生装置は、ユーザにとっては、ストリーミングライクな再生を行う際の使い勝手が悪く、使い勝手のよい新たな再生装置が要望されている。
本発明は、ストリーミングライクな再生を行う際の使い勝手を向上させた再生装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の一実施態様である再生装置は、ストリームシーケンスを構成する複数のデジタルストリームをアプリケーションの要求に従って外部リソースから順次ダウンロードしながら再生する再生装置であって、前記ストリームシーケンスに対応するアプリケーションを実行する実行手段と、前記ストリームシーケンスにおける現在の再生時間を示す時間情報を格納する時間情報格納手段と、前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報を格納する状態情報格納手段と、前記ストリームシーケンスの再生を制御する再生制御手段とを備え、前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、前記時間情報格納手段に格納されている時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定し、前記状態情報格納手段に格納されている、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、前記再生制御手段は、前記アプリケーションの要求に従って、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行う。
【発明の効果】
【００１４】
上記課題を解決するための手段に記載の構成により、前記アプリケーションは、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定することができる。
【００１５】
前記アプリケーションが次デジタルストリームを特定できるので、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合には、前記再生制御手段は、前記アプリケーションの要求に従って、再生の停止を回避するための制御を行うことができる。具体的には、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続いて代替映像の再生を行うことができる。
【００１６】
これにより、表示画面に何らかの映像を表示させつつ、次デジタルストリームを再生可能な状態にするための時間を稼ぐことができるので、ユーザに対して再生が終了したという誤った印象を与えることなく、再生が停止される可能性を低減することができる。
【００１７】
ストリーミングライクな再生を開始する際のダウンロード待ち時間の短縮と、次デジタルストリームが再生可能状態でない場合の再生停止可能性の低減とを両立できるので、ユーザの使い勝手を向上させることができる。
【００１８】
ここで、本発明の別の態様として、前記ストリームシーケンスの再生速度を示す値を格納する再生速度格納手段をさらに備え、前記アプリケーションは、前記再生速度を示す値の正負に基づいて前記ストリームシーケンスの再生方向を特定し、前記次デジタルストリームの特定はさらに、前記再生方向に基づいてなされるとしてもよい。
【００１９】
本態様の再生装置では、ストリームシーケンスの再生方向によらず次に再生すべきデジタルストリームを特定することができるので、ストリームシーケンスの再生方向によらず、再生の停止を回避するための制御を行うことができる。
【００２０】
ここで、本発明の別の態様として、前記複数のデジタルストリームを外部リソースから順次ダウンロードするダウンロード手段をさらに備え、前記次デジタルストリームがダウンロードされていなければ、前記ダウンロードされていない次デジタルストリームの状態情報は再生不可能状態として前記状態情報格納手段に格納され、前記ダウンロード手段は、前記アプリケーションの要求に従って、前記次デジタルストリームを優先的にダウンロードするとしてもよい。
【００２１】
本態様の再生装置では、次デジタルストリームがダウンロードされていなければ、当該次デジタルストリームを優先的にダウンロードするので、再生中のデジタルストリームから次デジタルストリームに再生が遷移する前に、次デジタルストリームの状態情報が、再生可能状態を示す確率を高めることができる。
【００２２】
ここで、本発明の別の態様として、前記再生装置は前記ストリームシーケンスをプレイリストに従って再生しており、前記プレイリストは、複数のプレイアイテムを含み、前記複数のプレイアイテムは、前記複数のデジタルストリームと一対一で対応しており、対応するデジタルストリームの再生区間を示し、前記複数のプレイアイテムのうち一部のプレイアイテムにはチャプタマークが付与されており、前記アプリケーションは、前記一部のプレイアイテムにチャプタマークが付与されていることを示すチャプタマーク付与情報をさらに含み、前記チャプタマーク付与情報に基づいて、前記次デジタルストリームとして、再生中のデジタルストリームの直近の、チャプタマークが付与されているプレイアイテムに対応するデジタルストリームを特定するとしてもよい。
【００２３】
また、本発明の別の態様として、前記ダウンロード手段は、前記アプリケーションの要求に従って、チャプタマークが付与されている残りのプレイアイテムに対応するデジタルストリームを優先的にダウンロードするとしてもよい。
【００２４】
本態様の再生装置では、チャプタマークが付与されているプレイアイテムに対応するデジタルストリームが特定され、当該デジタルストリームが優先的にダウンロードされるので、チャプタスキップ指示をユーザから受け付けた場合であっても、可能な限りデジタルストリームの再生を一時停止することなくストリーミングライクな再生を実現することができる。
【００２５】
ここで、本発明の別の態様として、前記複数のプレイアイテムのうちチャプタマークが付与されているプレイアイテムに対応するデジタルストリームのサイズが、他のデジタルストリームのサイズより小さいとしてもよい。
【００２６】
本態様の再生装置では、チャプタマークが付与されているプレイアイテムに対応するデジタルストリームのサイズが、他のデジタルストリームのサイズより小さいので、再生中にユーザ操作によりチャプタスキップが発生した際、スキップ先のデジタルストリームのダウンロードが完了していない場合であっても、ダウンロードに要する時間は短くて済み、ユーザの待ち時間を短縮できる。
【００２７】
ここで、本発明の別の態様として、前記ストリームシーケンスにおける再生開始位置に相当するデジタルストリームの状態情報が、再生可能状態であることを示しており、前記アプリケーションは、前記再生開始位置からダウンロードが完了しておらず、前記状態情報が再生不可能状態であることを示す一のデジタルストリームの直前のデジタルストリームまでの再生時間と、ダウンロードが完了していないデジタルストリームのうち先頭のデジタルストリームから当該一のデジタルストリームまでをダウンロードするのに必要な総ダウンロード時間とを算出し、総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段は、前記アプリケーションの要求に従って、前記再生開始位置から再生を開始するとしてもよい。
【００２８】
本態様の再生装置では、状態情報が再生不可能状態であることを示す一のデジタルストリームについて、総ダウンロード時間が再生時間よりも短い場合に、再生を開始するので、再生開始後すぐにBD-Jアプリケーションにより一時停止指示がなされる可能性を低減することができる。
【００２９】
ここで、本発明の別の態様として、前記アプリケーションによる再生時間及び総ダウンロード時間の算出は、ダウンロードが完了しておらず、前記状態情報が再生不可能状態であることを示す全てのデジタルストリームについてなされ、前記全てのデジタルストリームについて、総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段により再生の開始がなされるとしてもよい。
【００３０】
本態様の再生装置では、状態情報が再生不可能状態であることを示す全てのデジタルストリームについて、総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段により再生の開始がなされるので、再生開始後すぐにBD-Jアプリケーションにより一時停止指示がなされる可能性をさらに低減することができる。
【００３１】
ここで、本発明の別の態様として、前記ストリームシーケンスとともに複数のサブストリームシーケンスを前記外部リソースからダウンロードしながら再生しており、前記ストリームシーケンスは、メインクリップであり、各サブストリームシーケンスは、サブクリップであり、複数のサブデジタルストリームから構成され、前記サブクリップは、字幕ストリームまたはオーディオストリームを含み、前記状態情報はさらに、前記複数のサブデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示しており、前記再生制御手段が、前記メインクリップとともに一のサブクリップのサブデジタルストリームを再生している場合において、当該サブデジタルストリームの次に再生すべき次サブデジタルストリームの状態情報が、再生不可能状態であることを示しており、他のサブクリップのサブデジタルストリームの状態情報が再生可能状態であることを示していれば、前記再生制御手段は、前記アプリケーションの要求に従って、当該他のサブデジタルストリームを前記一のサブデジタルストリームに続いて再生するとしてもよい。
【００３２】
本態様の再生装置では、次サブデジタルストリームの状態情報が、再生不可能状態であることを示しており、他のサブクリップのサブデジタルストリームの状態情報が再生可能状態であることを示していれば、当該他のサブデジタルストリームを前記一のサブデジタルストリームに続いて再生するので、次に再生すべきサブデジタルストリームが再生可能状態でない場合であっても、再生を一時停止することなく、再生を継続させることができる。
【００３３】
ここで、本発明の別の態様として、前記ストリームシーケンスとともに複数のサブストリームシーケンスを前記外部リソースからダウンロードしながら再生しており、前記ストリームシーケンスは、メインクリップであり、各サブストリームシーケンスは、サブクリップであり、複数のサブデジタルストリームから構成され、前記サブクリップは、字幕ストリームまたはオーディオストリームを含み、前記状態情報はさらに、前記複数のサブデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示しており、前記再生制御手段が、前記メインクリップとともに一のサブクリップのサブデジタルストリームを再生している場合において、当該一のサブクリップから他のサブクリップへの切り替え指示をユーザから受け付けた場合、前記他のサブクリップにおける再生対象となるサブデジタルストリームの状態情報が再生不可能状態であることを示していれば、前記再生制御手段は、前記アプリケーションの要求に従って、再生中のデジタルストリーム及びサブデジタルストリームの表示期間を引き延ばすための特殊再生を行うとしてもよい。
【００３４】
本態様の再生装置では、切り替え指示をユーザから受け付けた場合、切り替え先のサブデジタルストリームが再生不可能状態であることを示していれば、再生制御手段は、再生の停止を回避するための制御を行うので、再生が停止される可能性を低減することができる。
【図面の簡単な説明】
【００３５】
【図１】再生装置１００の、使用行為についての形態の一例を示す図である。
【図２】プレイリストの一例を示す図である。
【図３】プレイリストの具体例を示す図である。
【図４】AVクリップがどのようにしてダウンロードされるかを示す図である。
【図５】再生装置１００の構成の一例を示す図である。
【図６】クリップ番号と状態情報との対応テーブルを示す図である。
【図７】システムパラメータ（SPRM）の一覧を示す図である。
【図８】BD-Jアプリケーションの機能構成を示すブロック図である。
【図９】ネットワーク再生情報とプレイリストとの対応関係を示す図である。
【図１０】ストリーミングライクな再生機能を模式的に示す図である。
【図１１】再生開始タイミングを説明するための図である。
【図１２】BD-Jアプリケーションの処理手順を示すフローチャートである。
【図１３】プレイリスト再生開始タイミング処理の処理手順を示すフローチャートである。
【図１４】優先ダウンロード処理の処理手順を示すフローチャートである。
【図１５】優先度リスト作成処理の処理手順を示すフローチャートである。
【図１６】再生状況監視処理の処理手順を示すフローチャートである。
【図１７】プレイアイテム特定処理の処理手順を示すフローチャートである。
【図１８】プレイリスト再生処理の処理手順を示すフローチャートである。
【図１９】次に再生すべきAVクリップがEnable状態でない場合のBD-Jアプリケーションによる再生制御を説明するための図である。
【図２０】変形例１−２における優先度リスト作成処理の処理手順を示すフローチャートである。
【図２１】チャプタマークが付与されたプレイアイテムが参照するAVクリップのダウンロード時間をどのように短縮するかを説明するための図である。
【図２２】実施の形態２のプレイリストの具体例を示す図である。
【図２３】サブプレイアイテムを伴う場合のストリーミングライクな再生機能を模式的に示す図である。
【図２４】実施の形態２における優先ダウンロード処理の処理手順を示すフローチャートである。
【図２５】実施の形態２の再生状況監視処理の処理手順を示すフローチャートである。
【図２６】実施の形態２のプレイリスト再生処理の処理手順を示すフローチャートである。
【図２７】字幕切り替えがユーザによって要求されたため、現在の再生時点が、サブパス(ID=＃0)の10003.m2tsを参照しているサブプレイアイテム＃3から、サブパス(ID=＃1)の20003.m2tsを参照しているサブプレイアイテム＃3に変化した場合を想定した図である。
【図２８】サブパス変更における再生状況監視処理の処理手順を示すフローチャートである。
【図２９】次に再生すべきサブプレイアイテムが参照しているAVクリップがEnable状態でない場合の再生制御を説明するための図である。
【図３０】変形例２−２における再生状況監視処理の処理手順を示すフローチャートである。
【図３１】オーサリングシステムの構成を示す図である。
【図３２】（ａ）ROMディスクイメージの作成手順を示すフローチャートである。（ｂ）アップデートキットイメージの作成手順を示すフローチャートである。
【図３３】AVクリップの構成の一例を示す図である。
【図３４】AVクリップがどのように多重化されるかを模式的に示す図である。
【図３５】PESパケット列にビデオストリームがどのように格納されるかを示す図である。
【図３６】AVクリップに最終的に書き込まれるTSパケットの形式を示す図である。
【図３７】PMTのデータ構造を示す図である。
【図３８】クリップ情報ファイルの一例を示す図である。
【図３９】ストリーム属性情報の一例を示す図である。
【図４０】エントリマップの一例を示す図である。
【図４１】プレイリスト情報のデータ構造を示す図である。
【図４２】サブパス情報の内部構成を示す図である。
【図４３】STN＿tableの全体構成の一例を示す図である。
【図４４】システムターゲットデコーダ１０４の内部構成の一例を示す図である。
【図４５】BD-ROMの構成の一例を示す図である。
【図４６】インデックスファイルの内部構成の一例を示す図である。
【図４７】ムービーオブジェクトを説明するための図である。
【図４８】ローカルストレージ３００に格納されるアップデートキットの内部構成の一例を示す図である。
【図４９】マージ管理情報ファイルの内容と、その内容を元にBD-ROMのファイルとアップデートキットのファイルとから、仮想パッケージを構築する過程の一例を示す図である。
【図５０】ネットワーク再生情報の一例を示す図である。
【発明を実施するための形態】
【００３６】
以下、図面を参照しながら本発明の実施の形態を説明する。
（実施の形態１）
＜全体構成＞
まず、再生装置の実施行為のうち、使用行為についての形態を説明する。図１は、再生装置１００の、使用行為についての形態の一例を示す図である。本図に示すように、再生装置１００は、BD-ROM２００、ローカルストレージ３００、WWWサーバ４００、及びテレビ５００と共にユーザによる使用に供される。
【００３７】
再生装置１００は、テレビ５００と共に、ホームシアターシステムを構築して、BD-ROM２００を再生する。かかる再生装置は、ダウンロードしたデータを記録媒体に書き込む機能を有したものであり、記録装置としての機能を兼備している。
【００３８】
BD-ROM２００は、例えば映画作品が記録された記録媒体である。
ローカルストレージ３００は、再生装置１００に装填され、映画配給者のWWWサーバ４００から配信されたコンテンツの受け皿として利用される。これにより、インターネットを通じてダウンロードされ、ローカルストレージに格納されたコンテンツと、BD-ROM２００に記録されたコンテンツとを組み合わせて、BD-ROM２００のコンテンツを拡張/更新をすることができる。
【００３９】
WWWサーバ４００は、例えば映画配給者の公式サイトを運営するサーバ装置であり、BD-ROM２００に記録された映画作品の部分的な置き換えや追加を実現するファイル一式(アップデートキット)を、インターネット等を介してユーザに供給する。
【００４０】
テレビ５００は、映画作品の再生映像を表示したり、メニュー等を表示したりすることで、対話的な操作環境をユーザに提供する。
以上が再生装置の使用形態についての説明である。続いて、再生装置が再生の対象としているプレイリストについて説明する。
＜プレイリスト＞
図２は、プレイリストの一例を示す図である。プレイリストは、「メインパス」と1つ以上の「サブパス」とから構成される。
【００４１】
「メインパス」は、1つ以上のプレイアイテムから構成される。
「プレイアイテム」は、ストリーム番号テーブルを含む。
「ストリーム番号テーブル」は、プレイアイテムにおいて再生が許可されているエレメンタリストリームのストリーム番号を示す。
【００４２】
「サブパス」は、メインパスと同時に再生される一連の再生経路を示し、１つ以上のサブプレイアイテムから構成される。サブパスには、プレイリストに登録される順にID(サブパスID)が振られ、このサブパスIDは、サブパスを識別するために使われる。また、サブパスには、メインパスの再生に同期して再生される同期型と、メインパスの再生に非同期で再生可能な非同期型とがあり、そのタイプはサブパスタイプに記される。
【００４３】
サブパスタイプが同期型の場合は、サブプレイアイテムの再生開始時刻と再生終了時刻は、メインパスと同じ時間軸で表されるが、サブパスタイプが非同期型の場合は、サブプレイアイテムの再生開始時刻と再生終了時刻は、メインパスと異なる時間軸で表される。
【００４４】
プレイリスト情報、プレイアイテム情報、ストリーム番号テーブル、及びサブプレイアイテム情報の詳細については、後述する。
図３は、プレイリストの具体例を示す図である。このプレイリストは、５つのプレイアイテム＃1,＃2,＃3,＃4,＃5を含むメインパスから構成される。５つのプレイアイテム＃1,＃2,＃3,＃4,＃5は、それぞれ00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsを参照している。すなわちプレイアイテムとAVクリップとが一対一に対応している。
【００４５】
各プレイアイテムから参照されるAVクリップは、全てローカルストレージに格納されるアップデートキットのコンテンツであり、ネットワーク属性が付与されている。ネットワーク属性とは、プレイリスト再生にあたって、一つのコンテンツを構成する全てのAVクリップが予めローカルストレージに格納されていることを必要とせず、プレイアイテムから参照されるAVクリップが、当該プレイアイテムがカレントプレイアイテムになる直前にローカルストレージに格納されていれば足りる、というAVクリップの属性のことである。
【００４６】
メインパスの各プレイアイテムは、図中右上のようなストリーム番号テーブルを有する。このストリーム番号テーブルは、ストリーム番号1が割り当てられたエントリーをもつ。このエントリーは、メインパスのプレイアイテム情報によって参照されるプライマリビデオストリームの再生を許可するものである。
【００４７】
本実施の形態においては、これ以降、図３に示すプレイリストを具体例として用いて、再生装置の動作を説明する。このプレイリストは、例えば、BD-ROM２００に記録された映画がユーザに視聴された後、WWWサーバ４００から配信されるおまけ映像に対応するものである。
【００４８】
図４は、AVクリップがどのようにしてダウンロードされるかを示す図である。本図における右側はWWWサーバ４００を示し、左側は再生装置１００を示す。真ん中は、インターネットやイントラネット等の伝送路を示す。
【００４９】
00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsは、WWWサーバ４００に存在する。再生装置１００は、WWWサーバ４００に対し、00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsのダウンロード要求を順次送信することで、これらをWWWサーバ４００からダウンロードすることができる。
【００５０】
以下、再生装置１００がダウンロード要求、ダウンロード、及びプレイリスト再生を行うための構成要素について説明する。これらの処理のための構成要素には、BD-Jアプリケーションと、BD-Jオブジェクトとがあり、これらは記録媒体２００に記憶されている。以下、これらの構成要素の詳細について説明する。
＜BD-Jアプリケーション＞
BD-Jアプリケーションは、Java（登録商標）２Micro＿Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装したプラットフォーム部において、タイトルを生存区間としたアプリケーションシグナリングによって起動されるJava(登録商標)アプリケーションである。
【００５１】
BD-Jアプリケーションは、プレイリストを再生するJMFプレーヤインスタンスの生成をJava(登録商標)仮想マシンに命じることで、プレイリスト再生を開始させる。JMF(Java Media Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
【００５２】
JMFインスタンスが生成された後、BD-Jアプリケーションは、プレイリスト再生にあたって、必要となるAVクリップのダウンロードをWWWサーバ４００に対して要求する。
上述したようなプレイリスト再生及びAVクリップダウンロードに先立ち、BD-Jアプリケーションは、GUIフレームワークを用いて、ユーザ操作を受け付ける。Java(登録商標)アプリケーションにおけるGUIフレームワークは、GEM1.0.2にて規定されたHAViフレームワークを含み、GEM1.0.2におけるリモートコントロールナビゲーション機構を含む。
【００５３】
これにより、Java(登録商標)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができる。したがって、リモートコントロールを用いて、上述したようなプレイリスト再生やAVクリップダウンロードを実現することができる。BD-Jアプリケーションを構成する一連のファイルは、Http：//Java（登録商標）.sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じた、Java（登録商標）アーカイブファイルに変換される。Java（登録商標）アーカイブファイルは、ZIPファイルの形式を、Java（登録商標）に特化したものであり、市販されているZIP展開ソフトウェアにより中身を確認することができる。
【００５４】
また、BD-Jアプリケーションでは、ファンクションAPIのコールを記述することにより、再生装置１００特有の処理を実行させることができる。
＜BD-Jオブジェクト＞
BD-Jオブジェクトは、アプリケーション管理テーブル(ApplicationManagementTable())を含み、BD-ROM再生時において、タイトル切り替えに伴うアプリケーションシグナリングをプラットフォーム部に実行させるデータのことである。より具体的にいうと、ApplicationManagementTable()は、実行すべきBD-Jアプリケーションを示すapplication＿idと、BD-Jアプリケーションを起動する際の制御を示すapplication＿control＿codeとを含む。
【００５５】
application＿control＿codeは、タイトル選択後におけるアプリケーションの最初の実行状態を規定しており、application＿control＿codeは、BD-Jアプリケーションを仮想マシンにロードして自動開始するか（AUTOSTART）、BD-Jアプリケーションを仮想マシンにロードするが自動開始はしないか（PRESENT）を規定することができる。
【００５６】
続いて、再生装置１００の内部構成について説明する。
＜再生装置＞
図５は、再生装置１００の構成の一例を示す図である。再生装置１００は、BD-ROMドライブ１０１、リードバッファ１０２、リードバッファ１０３、システムターゲットデコーダ１０４、BD-J実行部１０５、ネットワークインタフェイス１０６、仮想パッケージ制御部１０７、状態管理部１０８、ユーザイベント処理部１０９、再生エンジン１１０、再生制御エンジン１１１、HDMI送受信部１１２、ヒープメモリ１１３、仮想マシンインタプリタ１１４、及びPSRセット１１５を含んで構成されている。以降、これらの構成要素について詳細に説明する。
【００５７】
＜BD-ROMドライブ１０１＞
BD-ROMドライブ１０１は、BD-ROMディスクからデータを読み出し、リードバッファ１０２にデータを蓄える。
【００５８】
＜リードバッファ１０２＞
リードバッファ１０２は、BD-ROMドライブを使って読み込んだデータを一時的に格納するメモリ等で構成されたバッファである。
【００５９】
＜リードバッファ１０３＞
リードバッファ１０３は、ローカルストレージから読み込んだデータを一時的に格納するメモリ等で構成されたバッファである。
【００６０】
＜システムターゲットデコーダ１０４＞
システムターゲットデコーダ１０４は、リードバッファ１０２に読み出されたソースパケット及びリードバッファ１０３に読み出されたソースパケットに対して多重分離処理を行い、多重分離処理により得られる各ストリームをデコードし再生する処理を行う。
【００６１】
また、BD-J実行部１０５から転送される、メニューなどに表示するためのJPEG，PNGなどのグラフィックスデータをデコードして再生する処理を行う。システムターゲットデコーダ１０４の詳細については後述する。
【００６２】
＜BD-J実行部１０５＞
BD-J実行部１０５は、仮想パッケージ制御部１０７から転送されるBD-Jアプリケーションを実行するプログラム処理エンジンである。BD-Jアプリケーションのプログラムに従った動作を行い、次のような制御を行う。
【００６３】
（１）仮想パッケージ制御部１０７を介して、プレイリスト再生開始タイミング処理、優先ダウンロード処理及び再生状況監視処理を行う。これらの処理の詳細は、後述する。（２）インターネット上のWWWサーバからアップデートキットを取得しローカルストレージへ蓄積する。（３）BD-ROMとアップデートキットとを組み合わせた仮想パッケージの構築を命令する。（４）プレーヤ変数に値をセットする。（５）システムターゲットデコーダに対してメニューやゲームのグラフィックスのためのPNG・JPEGを転送して画面に表示する。これらはプログラムの作りに応じて自由に行うことができ、どのように制御するかは、オーサリング時におけるBD-Jアプリケーションのプログラミング工程によって決まる。
【００６４】
＜ネットワークインタフェイス１０６＞
ネットワークインタフェイス１０６は、再生装置における通信機能を実現するものであり、URL指定がBD-Jアプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードをJava(登録商標)アプリケーションに行わせる。
【００６５】
＜仮想パッケージ制御部１０７＞
仮想パッケージ制御部１０７は、BD-ROMドライブ１０１及びローカルストレージ３００を制御して、仮想パッケージを構築し、再生装置１００の再生を制御する機能を持つ。仮想パッケージとは、ローカルストレージ３００に格納されたマージ管理情報に基づいて、BD-ROMディスクに記録されたコンテンツとローカルストレージ３００に格納された差分データとをメモリ上で組み合せた仮想的なBD-ROMパッケージである。構築された仮想パッケージは、BD-ROMのデータ構造と同じ形式を持つ。仮想パッケージを構築するタイミングは、ディスクがインサートされた時や、BD-J実行部１０５により仮想パッケージ構築命令が実行された時などである。
【００６６】
仮想パッケージ制御部１０７は、仮想パッケージが構築された後は、BD-J実行部の再生命令やユーザイベント処理部の通知に基づいて、プレイリスト情報を介して、AVクリップの再生を制御する。また、仮想パッケージ制御部１０７は、プレーヤ変数の設定や参照を行い、再生動作を行う。
【００６７】
＜状態管理部１０８＞
状態管理部１０８は、BD-ROM及びローカルストレージに存在する個々のAVクリップの状態情報を、当該AVクリップのクリップ番号に対応付けて管理する。状態情報は、Missing状態、Enable状態、及びDisable状態の何れであるかを示す。
【００６８】
Missing状態とは、プレイアイテム情報、またはサブプレイアイテム情報から参照されているAVクリップが、BD-ROM及びローカルストレージの何れにも存在しない、すなわちダウンロードが完了しておらず、再生不可能な状態であることを意味する。
【００６９】
Enable状態とは、仮想パッケージ制御部１０７での再生が可能な状態であることを意味し、BD-JアプリケーションのAPIで制御される。Enable状態にセットするためのAPIが実行された場合、セットの対象となるAVクリップは、リードオンリー属性になり、仮想パッケージ制御部１０７でのAVクリップの再生が可能になる。
【００７０】
Disable状態は、Enable状態の反対を意味し、仮想パッケージ制御部１０７は当該状態に該当するAVクリップの再生をすることができない。BD-JアプリケーションによりEnable状態に一度もセットされていないAVクリップは、Disable状態である。また、Enable状態のAVクリップの削除や上書き等は、BD-Jアプリケーションが、APIを介して、当該AVクリップをDisable状態に一度遷移させた後に、実行される。
【００７１】
Missing状態及びDisable状態を併せてUnavailable 状態といい、Missing状態になっているAVクリップと、Disable状態になっているAVクリップとを併せてUnavailableクリップという。
【００７２】
図６は、クリップ番号と状態情報との対応テーブルを示す図である。本図に示す例では、クリップ番号00001,00002,00003の各々に対応する00001.m2ts、00002.m2ts、00003.m2tsがEnable状態であり、クリップ番号00004に対応する00004.m2tsがDisable状態であり、クリップ番号00005に対応する00005.m2tsがMissing状態であることがわかる。対応テーブルは、AVクリップのダウンロード状況等に基づいて、BD-Jアプリケーションにより適宜書き換えられる。
【００７３】
状態管理部１０８は、BD-JアプリケーションからAVクリップの状態情報の問い合わせを受けると、対応テーブルを参照し、当該AVクリップの状態情報を返信する。
＜ユーザイベント処理部１０９＞
ユーザイベント処理部１０９は、リモコンを通じたユーザ操作に応じた処理の実行をBD-J実行部１０５や仮想パッケージ制御部１０７に依頼する。例えば、リモコンのボタンを押した場合は、そのボタンに対応するプレイリストを実行するようBD-J実行部１０５に依頼する。また、例えば、リモコンで早送り・巻戻しボタンが押された場合には、仮想パッケージ制御部１０７に、現在再生しているプレイリストのAVクリップに対する早送り・巻戻し処理の実行を命令する。
【００７４】
＜再生エンジン１１０＞
再生エンジン１１０は、AV再生ファンクションを実行する。再生装置のAV再生ファンクションとは、DVDプレーヤ、CDプレーヤから踏襲した伝統的な機能群であり、再生開始(Play)、再生停止(Stop)、一時停止(Pause On)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(Backward Play(speed))、音声切り換え(Audio Change)、Secondaryビデオ切り換え(Subtitle Change)、及びアングル切り換え(Angle Change)といった機能である。AV再生ファンクションを実現するべく、再生エンジン１１０は、AVクリップのうち、所望の時刻にあたる部分のデコードを行うよう、システムターゲットデコーダを制御する。
【００７５】
＜再生制御エンジン１１１＞
再生制御エンジン１１１は、プレイリストに対する再生制御ファンクションを実行する。プレイリストに対する再生制御ファンクションとは、再生エンジン１１０が行うAV再生ファンクションのうち、再生開始や再生停止を、カレントプレイリスト情報及びクリップ情報に従って行わせることをいう。
【００７６】
＜HDMI送受信部１１２＞
HDMI送受信部１１２は、HDMI（HDMI: High Definition Multimedia Interface）を介して接続された他の機器から、その機器に関する情報を受信する。また、システムターゲットデコーダによるデコードにより得られたデジタル非圧縮のビデオを、LPCM状態のオーディオデータまたは圧縮符号化されたオーディオデータとともに、HDMIを介して接続された他の機器に送信する。
【００７７】
＜ヒープメモリ１１３＞
ヒープメモリ１１３は、BD-J実行部１０５のために確保されるスタックメモリであり、BD-Jアプリケーションによって生成されたJMFプレーヤインスタンスや、BD-Jアプリケーションに対してクラスローダを行うことで生成されるバイトコードが格納される。これらは、スレッドの態様をなし、先入先出し式に、仮想マシンインタプリタ１１４による実行に供される。
【００７８】
＜仮想マシンインタプリタ１１４＞
仮想マシンインタプリタ１１４は、ヒープメモリ１１３に格納されたバイトコードをCPUが実行可能なネィティブコードに変換してCPUに実行させる。
【００７９】
＜PSRセット１１５＞
PSRセット１１５は、プレーヤ変数を格納しているプレーヤセッティングレジスタ、プレーヤステータスレジスタである。プレーヤ変数には、プレーヤの状態を示すシステムパラメータ（SPRM）と、一般用途として使用可能なゼネラルパラメータ（GPRM）とがある。
【００８０】
図７は、システムパラメータ（SPRM）の一覧を示す図である。
SPRM（０）      ：  言語コード
SPRM（１）      ：  Primaryオーディオストリーム番号
SPRM（２）      ：  字幕ストリーム番号
SPRM（３）      ：  アングル番号
SPRM（４）      ：  タイトル番号
SPRM（５）      ：  チャプタ番号
SPRM（６）      ：  プログラム番号
SPRM（７）      ：  セル番号
SPRM（８）      ：  選択キー情報
SPRM（９）      ：  ナビゲーションタイマー
SPRM（１０）    ：  再生時刻情報
SPRM（１１）    ：  カラオケ用ミキシングモード
SPRM（１２）    ：  パレンタル用国情報
SPRM（１３）    ：  パレンタルレベル
SPRM（１４）    ：  プレーヤ設定値（ビデオ）
SPRM（１５）    ：  プレーヤ設定値（オーディオ）
SPRM（１６）    ：  音声ストリーム用言語コード
SPRM（１７）    ：  音声ストリーム用言語コード（拡張）
SPRM（１８）    ：  字幕ストリーム用言語コード
SPRM（１９）    ：  字幕ストリーム用言語コード（拡張）
SPRM（２０）    ：  プレーヤリージョンコード
SPRM（２１）    ：  Secondaryビデオストリーム番号
SPRM（２２）    ：  Secondaryオーディオストリーム番号
SPRM（２３）    ：  再生状態
SPRM（２４）    ：  再生速度
SPRM（２５）    ：  予備
SPRM（２６）    ：  予備
SPRM（２７）    ：  予備
SPRM（２８）    ：  予備
SPRM（２９）    ：  予備
SPRM（３０）    ：  予備
SPRM（３１）    ：  予備
SPRM（１０）は、AVクリップに属する各ピクチャデータが表示される度に更新される。つまり再生装置が新たなピクチャデータを表示させれば、その新たなピクチャデータの表示時刻（PTS）を示す値にSPRM（１０）は更新される。このSPRM（１０）を参照すれば、現在の再生時点を知得することができる。
【００８１】
SPRM（１６）の音声ストリーム用言語コードやSPRM（１８）の字幕ストリーム用言語コードは、プレーヤのOSDなどで設定できる項目であり、プレーヤのデフォルトの言語コードを示す。例えば、SPRM（１６）の音声ストリーム用言語コードが英語であれば、プレイリストを再生する上で、プレイアイテムのストリーム選択テーブルの中から同じ言語コードを持つストリームエントリを探し出し、その音声ストリームを選択して再生するといった機能をBD-ROMディスクの中のBD-Jアプリケーションに入れることができる。これらのSPRMは、それぞれが３２ビットの語長をもつレジスタに格納される。SPRMを特定する括弧書きの数値は、基本的には、対応するレジスタのレジスタ番号を意味する（ただし、SPRM（２１）、SPRM（２２）は、対応するレジスタのレジスタ番号を意味している訳ではない）。
【００８２】
＜システム時間生成部１１６＞
システム時間生成部１１６は、システム起動時からの経過時間を示すシステム時間情報を生成し、BD-J実行部１０５へ提供する。
【００８３】
続いて、BD-Jアプリケーションの機能構成について説明する。
＜BD-Jアプリケーションの機能構成＞
図８は、BD-Jアプリケーションの機能構成を示すブロック図である。図８に示すように、BD-Jアプリケーションは、再生制御部１２１、優先順位決定部１２２、ストリームダウンロード部１２３、無効クリップ判定部１２４、ダウンロード状況判定部１２５、ナビゲーション制御部１２６、メニュー表示部１２７、及び再生クリップ検出部１２８を含んで構成される。
【００８４】
＜再生制御部１２１＞
再生制御部１２１は、次のような処理を行う。（i）再生中のAVクリップの次に再生すべき次AVクリップの通知を再生クリップ検出部１２８から受け付け、次AVクリップが再生可能状態であるか、または再生不可能状態であるかの判定を無効クリップ判定部１２４に依頼する。（ii）次AVクリップが再生可能状態であるか、または再生不可能状態であるかの判定結果を無効クリップ判定部１２４から受け付け、その判定結果に基づいて、再生制御エンジン１１１を制御する。（iii）再生中のAVクリップの通知及び再生速度を再生クリップ検出部１２８から受け付け、ダウンロードが完了しておらず状態情報が再生不可能状態であることを示すAVクリップをダウンロードする際の優先順位を決定するよう、優先順位決定部１２２に依頼する。優先順位決定部１２２への依頼の際、再生中のAVクリップのクリップ番号及び再生速度を通知する。（iv）システム時間生成部１１６からシステム時間を、ダウンロード状況判定部１２５からダウンロード済みのAVクリップのクリップ番号を取得する。システム時間とクリップ番号とネットワーク再生情報とに基づいて、再生制御エンジン１１１にプレイリストの再生開始を指示する。
【００８５】
＜優先順位決定部１２２＞
優先順位決定部１２２は、ネットワーク再生情報、再生中のAVクリップのクリップ番号、再生速度、及びダウンロードが完了していないAVクリップのクリップ番号に基づいて、どのAVクリップを優先してダウンロードすべきかを示す優先度リストを作成する。
【００８６】
＜ストリームダウンロード部１２３＞
ストリームダウンロード部１２３は、優先度リストに基づいて、ダウンロードが完了していないAVクリップのダウンロードをネットワークインタフェイス部１０６に指示する。
【００８７】
＜無効クリップ判定部１２４＞
無効クリップ判定部１２４は、次AVクリップの状態情報を状態管理部１０８に要求する。その状態情報から次AVクリップが再生可能状態であるか、または再生不可能状態であるかを判定し、その結果を再生制御部１２１に通知する。
【００８８】
＜ダウンロード状況判定部１２５＞
ダウンロード状況判定部１２５は、再生中のプレイリストに対応する各AVクリップの状態情報を状態管理部１０８に要求する。それら状態情報から当該状態情報に対応するAVクリップのダウンロードが完了しているか否かを判定し、ダウンロードが完了していると判定したAVクリップのクリップ番号を再生制御部１２１に通知する。また、ダウンロードが完了していないと判定したAVクリップのクリップ番号を優先順位判定部１２２に通知する。
【００８９】
＜ナビゲーション制御部１２６＞
ナビゲーション制御部１２６は、ユーザ操作に応じた処理を行うようメニュー表示部１２７及び再生制御部１２１を制御する。例えば、ユーザ操作がプレイリスト及びプレイアイテムの選択である場合には、再生制御部１２１に対し、選択されたプレイリストのプレイアイテムが参照しているAVクリップを再生するよう、指示する。
【００９０】
＜メニュー表示部１２７＞
メニュー表示部１２７は、システムターゲットデコーダに対してメニューやゲームのグラフィックスのためのPNG・JPEGを転送し、画面に表示する。
【００９１】
＜再生クリップ検出部１２８＞
再生クリップ検出部１２８は、PSRセットから現在の再生時間を取得し、取得した再生時間をネットワーク再生情報に照らし合わせて、現在再生されているAVクリップを特定する。また、PSRセットから再生速度を取得し、再生速度の正負に基づいて再生方向を特定し、特定した再生方向及びネットワーク再生情報に基づいて、現在再生されているAVクリップの次に再生すべきAVクリップを特定する。
＜ネットワーク再生情報＞
続いて、図９は、ネットワーク再生情報と図３で示したプレイリストとの対応関係を示す図である。図９に示すように、ネットワーク再生情報は、クリップ番号、開始時間、終了時間、チャプタマーク付与情報、及びファイルサイズを含む。これらは、図３で示したプレイリストにおけるプレイアイテムの数と同じだけ存在する。すなわち、プレイアイテムと、図９で示すネットワーク再生情報における一行分の情報とが、一対一に対応している。
【００９２】
クリップ番号は、対応するプレイアイテムが参照しているAVクリップのファイル名に対応しており、当該ファイル名と同じ値を示す。
開始時間は、対応するプレイアイテムにおける再生開始時刻に対応しており、再生開始時刻と同じ値を示す。
【００９３】
終了時間は、対応するプレイアイテムにおける再生終了時刻に対応しており、再生終了時刻と同じ値を示す。
チャプタマーク付与情報は、対応するプレイアイテムにチャプタマークが付与されているか否かを示す情報である。
【００９４】
ファイルサイズは、対応するプレイアイテムが参照しているAVクリップのファイルサイズを示す。
BD-Jアプリケーションが上述したネットワーク再生情報を保持しているので、再生装置から現在の再生時間を取得し、ネットワーク再生情報に照らし合わせることで、カレントプレイアイテムを特定することができる。プレイアイテムとAVクリップとは、一対一で対応しているため、ネットワーク再生情報に含まれるクリップ番号を基に、再生中のAVクリップを特定することができる。
【００９５】
さらに、再生装置から再生速度を取得し、ネットワーク再生情報に照らし合わせることで、その次に再生すべきAVクリップを特定することができる。
＜具体例＞
続いて、仮想パッケージを利用したストリーミングライクな再生機能における再生制御エンジン１１１の再生遷移について説明する。図１０は、ストリーミングライクな再生機能を模式的に示す図である。
【００９６】
ストリーミングライクな再生機能とは、プレイアイテム情報又はサブプレイアイテム情報によって参照されているAVクリップであって、ネットワーク属性が付与されているものを、当該プレイアイテム情報又はサブプレイアイテム情報が、カレントプレイアイテム又はカレントサブプレイアイテム情報になる直前にローカルストレージに格納するよう、再生動作とダウンロード動作とを並列に行うことをいう。
【００９７】
図１０上段は、プレイリストを示し、プレイリストを構成する５つのプレイアイテムは、それぞれ、00001.m2ts、0002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsを参照する。これらはすべてローカルストレージに格納されたアップデートキットのコンテンツであり、ネットワーク属性が付与されている。このうち、00001.m2ts、00002.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。00003.m2ts、00004.m2ts、00005.m2tsは、まだダウンロードがされていないMissing状態であるか、あるいはダウンロードはされているがDisable状態であることを示す。
【００９８】
再生制御エンジン１１１がプレイリストの先頭プレイアイテムから順に再生する場合、その再生位置がプレイアイテム＃1に存在する限り、再生が妨げられることはない。プレイアイテム＃1, ＃2のプレイアイテム情報は、Enable状態であるAVクリップを参照しているからである。00003.m2tsがEnable状態にセットされていないため、プレイアイテム＃2の区間では、00003.m2tsの状態情報に基づいてBD-Jアプリケーションにより一時停止され得る。
【００９９】
図１０上段では、プレイアイテム＃2の途中まで再生が進行している。
図１０中段は、図１０上段からさらに再生位置が進んだ図を示し、再生位置がプレイアイテム＃3に遷移する前に00003.m2tsのダウンロードが完了し、BD-JアプリケーションによりEnable状態にセットされたことを示す。したがって、プレイアイテム＃2の区間において、一時停止されることなく、プレイアイテム＃3に遷移する。
【０１００】
図１０中段では、再生は、プレイアイテム＃3の途中まで進行している。
図１０下段は、図１０中段からさらに再生位置が進んだ図を示し、再生位置がプレイアイテム＃4に遷移する前に、00004.m2tsのダウンロードが完了しておらずMissing状態であるか、あるいはDisable状態であることを示す。この場合、00004.m2ts は再生可能状態ではないので、BD-Jアプリケーションにより00003.m2tsの再生の一時停止指示がなされることになる。
【０１０１】
これにより、00003.m2tsに続いて00004.m2tsの再生が試みられる前に、BD-Jアプリケーションが00003.m2tsの再生を一時停止する要求を再生制御エンジン１１１に送ることで、再生が一時停止されるので、表示画面に何らかの映像が表示された状態を維持することができる。
【０１０２】
したがって、00004.m2tsが再生可能な状態でないために、再生が停止される事態を回避することができる。
また、00003.m2tsの再生を一時停止することで、00004.m2tsをEnable状態に遷移させる時間を稼ぐことができ、00004.m2ts がEnable状態に遷移次第、一時停止を解除し再生を再開することも可能となる。
【０１０３】
以上のように、再生の一時停止はなされるものの、再生の停止、すなわち表示画面に何も表示されない状態が発生しない、ストリーミングライクな再生を実現することができる。
＜再生開始タイミング＞
続いて、プレイリスト再生の開始タイミングについて説明する。ストリーミングライクな再生機能では、少なくとも再生開始位置に相当するAVクリップさえEnable状態であれば再生を開始することができる。しかしながら、再生開始位置に相当するAVクリップのみがEnable状態である場合に再生を開始すると、ネットワークの混雑状況等によっては、次に再生すべきAVクリップがEnable状態になっていないために、再生開始後すぐにBD-Jアプリケーションにより一時停止指示がなされ得る。
【０１０４】
そこで、ここでは、ネットワークの混雑状況によって大きく影響を受けるダウンロード時間に焦点を絞り、このダウンロード時間に基づいて、可能な限りAVクリップの再生を一時停止することなくストリーミングライクな再生を実現するための方法について説明する。
【０１０５】
図１１は、再生開始タイミングを説明するための図である。図１１（ａ）は、＃1~＃9の９つのプレイアイテムからなるプレイリストを示している。ここで、現時点で、プレイアイテム＃1,＃2に対応するAVクリップのダウンロードが完了しており、他のプレイアイテムに対応するAVクリップのダウンロードは完了していないとする。このような状況において、一度もAVクリップの再生を一時停止することなく、ストリーミングライクな再生を実行するためには、ダウンロードすべき残りの全AVクリップにおいて、当該AVクリップの再生が開始されるまでの時間が、当該AVクリップのダウンロードが完了するまでに必要な時間を上回っているか、あるいは等しければよい。この関係を数式で表すと、下記の（数１）となる。
2010103827.tif 000054
【０１０６】
ここで、ｌは、再生開始位置に相当するAVクリップを示し、ｍは、ダウンロードが完了していないAVクリップのうち先頭のAVクリップを示す。ｎは、ダウンロードが完了していないAVクリップのうち一のAVクリップを示す。
【０１０７】
プレイアイテム＃3~＃9のAVクリップの各々において、（数１）の関係が満たされていれば、AVクリップ＃1の再生を開始すればよい。
なお、AVクリップのダウンロード時間は、ネットワークの混雑状況によって変化するため、（数１）の関係が満たされた状態で再生が開始されたとしても、再生中のAVクリップの次に再生すべきAVクリップの状態情報が、再生可能な状態を示していない場合も当然あり得る。
【０１０８】
しかしながら、再生開始の基準として（数１）を設けることで、再生開始後すぐにBD-Jアプリケーションにより一時停止指示がなされる可能性を低減することはできる。
＜BD-Jアプリケーションの処理＞
図１２は、BD-Jアプリケーションの処理手順を示すフローチャートである。
【０１０９】
ステップＳ１において、BD-Jアプリケーションは、ローディングされたBD-ROMに対応するアップデートキットを、ローカルストレージのBUDA(Biding Unit Data Area)ディレクトリにダウンロードする。
【０１１０】
ステップＳ２において、アップデートキット内のマージ管理情報ファイルを指定した仮想パッケージ構築要求を発行する。
以降、ステップＳ３〜ステップＳ６のループを実行する。まず、ステップＳ３において、プレイリスト、当該プレイリスト中の再生開始位置となるプレイアイテム、及び再生速度を指定するユーザ入力を取得する。
【０１１１】
ステップＳ４において、ユーザ入力に対応するプレイリストを選択し、JMFプレーヤインスタンスをヒープメモリ内にクリエイトする。
ステップＳ５において、（１）プレイリスト再生開始タイミング処理、（２）優先ダウンロード処理、及び（３）再生状況監視処理という3つのスレッドを仮想マシン内に立てて、これらの処理を並列で実行する。
【０１１２】
これらの3つの処理の実行が終了すれば、ステップＳ６において、３つのスレッドを終了させ、ステップＳ３に戻る。
＜プレイリスト再生開始タイミング処理＞
図１３は、プレイリスト再生開始タイミング処理の処理手順を示すフローチャートである。本フローチャートにおいて、ｘは、ダウンロードが完了していない一のAVクリップを特定するための変数であり、ｘが１のとき、ダウンロードが完了していないAVクリップのうち再生開始位置に最も近いAVクリップを示す。ｘが大きくなるにつれて、ｘにより特定されるAVクリップは、再生開始位置から離れていく。また、ｙは、ダウンロードが完了していないAVクリップの総数を示す。
【０１１３】
まず、ステップＳ１１において、再生制御部１２１は、指定されたプレイアイテムに対応するAVクリップから再生方向に向かって順次ダウンロードするよう、ストリームダウンロード部１２３を介してネットワークインタフェイスに指示する。
【０１１４】
ステップＳ１２において、システム時間生成部１１６からダウンロード開始時のシステム時間を取得する。
予め設定された所定時間が経過した後（ステップＳ１３でＹｅｓ）、ステップＳ１４、１５において、ダウンロード済みのAVクリップのクリップ番号と現在のシステム時間とを取得する。
【０１１５】
ステップＳ１６において、ネットワーク再生情報を参照して、取得したクリップ番号に対応するAVクリップの総ファイルサイズを算出した後、この総ファイルサイズと、現在のシステム時間とダウンロード開始時のシステム時間との差分とに基づいて、AVクリップのダウンロード速度を算出する。
【０１１６】
ステップＳ１７において、変数ｘに１を設定する。
ステップＳ１８において、再生開始位置から変数ｘにより特定されるAVクリップの直前のAVクリップまでの再生時間を、ネットワーク再生情報を参照して算出する。
【０１１７】
ステップＳ１９において、ダウンロードが完了していないAVクリップのうち変数ｘにより特定されるAVクリップまでのダウンロードサイズを、ネットワーク再生情報を参照して算出する。
【０１１８】
ステップＳ２０において、このダウンロードサイズとステップＳ１６で算出したダウンロード速度とに基づいて、ダウンロードが完了していないAVクリップのうち変数ｘにより特定されるAVクリップまでのダウンロード時間を算出する。
【０１１９】
ステップＳ２１において、再生時間がダウンロード時間以上の長さであるか判定する。
ダウンロード時間が再生時間より長いと判定された場合には、ステップＳ１３に戻る。
再生時間がダウンロード時間以上の長さであると判定された場合には、ステップＳ２２において、ｘがｙ以上かの判定、すなわち他にダウンロードが完了していないAVクリップが存在するかの判定を行う。
【０１２０】
他にダウンロードが完了していないAVクリップが存在すると判定された場合には、ステップＳ２３において、変数ｘを１計数し、ステップＳ１８に戻る。
他にダウンロードが完了していないAVクリップが存在すると判定されなかった場合、すなわちダウンロードが完了していない全てのAVクリップについて、ステップＳ２１の関係を満たす場合には、ステップＳ２４において、ＡＰＩを介して、再生制御エンジン１１１にプレイリスト再生を指示する。
＜優先ダウンロード処理＞
図１４は、優先ダウンロード処理の処理手順を示すフローチャートである。
【０１２１】
まず、ステップＳ３１において、再生クリップ検出部１２８は、PSRセット１１５から現在の再生位置を取得する。
ステップＳ３２において、再生中のプレイリストに対応するネットワーク再生情報を取得する。
【０１２２】
ステップＳ３３において、現在の再生位置をネットワーク再生情報に照らし合わせて、当該再生位置を含む再生区間を特定する。そして、その再生区間のクリップ番号に基づいて、カレントプレイアイテムを特定する。
【０１２３】
ステップＳ３４において、優先順位判定部１２２は、後述する優先度リスト作成処理を行い、ステップＳ３５において、優先度リストに基づいて、AVクリップをダウンロードするよう指示する。
＜優先度リスト作成処理＞
図１５は、優先度リスト作成処理の処理手順を示すフローチャートである。本フローチャートにおいてiは、一のプレイアイテムを特定する変数である。
【０１２４】
まず、ステップＳ４１において、優先順位判定部１２２は、プレイアイテムiにカレントプレイアイテムを設定する。
ステップＳ４２において、再生速度を取得し、ステップＳ４３において、取得した再生速度に基づいて、プレイリストの再生方向が順方向であるか判定する。この判定は、例えば、再生速度の値の正負に基づいてなされる。
【０１２５】
再生速度の値が正の値、すなわち再生方向が順方向であると判定された場合には、ステップＳ４４において、カレントプレイアイテムに後続するプレイアイテムが存在するかをネットワーク再生情報に基づいて判定する。ここで、カレントプレイアイテムに後続するプレイアイテムとは、例えば、プレイアイテム＃3がカレントプレイアイテムであるとした場合、プレイアイテム＃4が該当する（図３参照）。
【０１２６】
後続するプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムに続いて再生すべきプレイアイテムは、もはや存在しないので、ダウンロード対象となるAVクリップも存在せず、処理を終了する。
【０１２７】
後続するプレイアイテムが存在すると判定された場合には、ステップＳ４５において、そのプレイアイテムに対応するAVクリップのクリップ番号を取得する。
ステップＳ４６において、プレイアイテムiに後続のプレイアイテムを設定する。
【０１２８】
ステップＳ４７において、クリップ番号で示されるAVクリップがすでにダウンロード済みであるかを判定する。
クリップ番号で示されるAVクリップがすでにダウンロード済みであると判定された場合には、ステップＳ４３に戻る。
【０１２９】
クリップ番号で示されるAVクリップがすでにダウンロード済みであると判定されなかった場合には、ステップＳ４８において、クリップ番号を優先度リストへ格納し、ステップＳ４３に戻る。優先度リストに真っ先に格納されるクリップ番号に対応するAVクリップが、ダウンロードの優先度が最も高いAVクリップとなる。
【０１３０】
ステップＳ４３において、再生速度の値が負の値、すなわち再生方向が順方向であると判定されなかった場合には、ステップＳ４９において、カレントプレイアイテムの直前のプレイアイテムが存在するかをネットワーク再生情報に基づいて判定する。ここで、カレントプレイアイテムの直前のプレイアイテムとは、例えば、プレイアイテム＃3がカレントプレイアイテムであるとした場合、プレイアイテム＃2が該当する（図３参照）。
【０１３１】
直前のプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムに続いて再生すべきプレイアイテムは、もはや存在しないので、処理を終了する。
直前のプレイアイテムが存在すると判定された場合には、ステップＳ５０において、そのプレイアイテムに対応するAVクリップのクリップ番号を取得する。
【０１３２】
ステップＳ５１において、プレイアイテムiに直前のプレイアイテムを設定し、ステップＳ４７に進む。それ以降の処理は、すでに説明した通りである。
以上の処理を経ることで、優先度リストを作成することができる。優先度リストには、ダウンロードの優先度が高い順にクリップ番号が格納されている。
【０１３３】
したがって、この優先度リストに基づいてダウンロード指示を行うことで、ダウンロードの優先度が高い、すなわちダウンロードが完了していないAVクリップのうち再生中のAVクリップに最も近いAVクリップから順にダウンロードすることができる。例えば、逆方向の再生がなされている場合、カレントプレイアイテムの直前のプレイアイテムが参照するAVクリップがダウンロードされていなければ、まずは当該AVクリップを優先的にダウンロードする。
【０１３４】
その結果、再生中のAVクリップの次に再生すべきAVクリップの状態情報が、再生可能状態を示す確率を高めることができる。
なお、ステップＳ４４において、後続するプレイアイテムが存在すると判定されなかった場合には、処理を終了するとしたが、再生中のプレイアイテムの前のプレイアイテムにさかのぼって、ダウンロードされていないAVクリップがあるか検索してもよい。
＜再生状況監視処理＞
図１６は、再生状況監視処理の処理手順を示すフローチャートである。本フローチャートは、定期的（例えば数秒おき）または不定期に実行される。本フローチャートのステップＳ６１〜６３までの処理は、図１４のステップＳ３１〜３３と同様であるため、ここでは説明を省略する。
【０１３５】
ステップＳ６３において、カレントプレイアイテムを特定すると、再生クリップ検出部１２８は、ステップＳ６４において、後述するプレイアイテム特定処理を行う。
ステップＳ６５において、再生制御部１２１は、次に再生すべきAVクリップがEnable状態であるか判定する。
【０１３６】
そのAVクリップがEnable状態であると判定された場合には、再生を継続する。
そのAVクリップがEnable状態であると判定されなかった場合には、ステップＳ６６において、ＡＰＩを介して、再生制御エンジン１１１に再生の一時停止を指示する。
【０１３７】
その後、ステップＳ６７において、再生再開処理を行う。再生再開処理は、例えば、図１３のステップＳ１３以降の処理を行うことによりなされるとしてもよい。
＜プレイアイテム特定処理＞
図１７は、プレイアイテム特定処理の処理手順を示すフローチャートである。ステップＳ７１において、再生クリップ検出部１２８は、再生速度を取得し、ステップＳ７２において、取得した再生速度に基づいて、プレイリストの再生方向が順方向であるか判定する。
【０１３８】
再生方向が順方向であると判定された場合には、ステップＳ７３において、カレントプレイアイテムに後続するプレイアイテムが存在するかをネットワーク再生情報に基づいて判定する。
【０１３９】
後続するプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムに続いて再生すべきプレイアイテムは、もはや存在しないので、処理を終了する。
後続するプレイアイテムが存在すると判定された場合には、ステップＳ７４において、そのプレイアイテムに対応するAVクリップのクリップ番号を取得する。
【０１４０】
ステップＳ７２において、再生方向が順方向であると判定されなかった場合には、ステップＳ７５において、カレントプレイアイテムの直前のプレイアイテムが存在するかをネットワーク再生情報に基づいて判定する。
【０１４１】
直前のプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムに続いて再生すべきプレイアイテムは、もはや存在しないので、処理を終了する。
直前のプレイアイテムが存在すると判定された場合には、ステップＳ７６において、そのプレイアイテムに対応するAVクリップのクリップ番号を取得する。
【０１４２】
これにより、プレイリストの再生方向によらず次に再生すべきプレイアイテムを特定することができる。したがって、プレイリストの再生方向によらず再生状況監視処理を行うことができる。
＜プレイリスト再生処理＞
図１８は、プレイリスト再生処理の処理手順を示すフローチャートである。ステップＳ８１において、再生制御エンジン１１１は、プレイリスト情報における、再生開始位置に相当するプレイアイテムをカレントプレイアイテムに設定する。
【０１４３】
ステップＳ８２において、カレントプレイアイテムのClip＿information＿file＿nameで指定されているAVクリップを選択する。
以降、ステップＳ８３〜ステップＳ８８のループ処理を実行する。ステップＳ８３において、AVクリップを構成するソースパケットのうち、カレントプレイアイテムのin＿timeからout＿timeまでの部分をローカルストレージ３００から読み出す。
【０１４４】
ステップＳ８４において、他にプレイアイテムが存在するか否かを判定する。
他にプレイアイテムが存在すると判定されなかった場合には、処理を終了する。
他にプレイアイテムが存在すると判定された場合には、ステップＳ８５において、PSRセットから再生速度を取得し、ステップＳ８６において、取得した再生情報に基づいて、プレイリストの再生方向が順方向か否かを判定する。
【０１４５】
再生方向が順方向であると判定された場合には、ステップＳ８７において、カレントプレイアイテムに後続するプレイアイテムを新たなカレントプレイアイテムに設定する。
再生方向が順方向であると判定されなかった場合には、ステップＳ８８において、カレントプレイアイテムの直前のプレイアイテムを新たなカレントプレイアイテムに設定する。
【０１４６】
ステップＳ８７またはステップＳ８８により、新たなカレントプレイアイテムが設定された後、ステップＳ８３に戻る。
以上のように本実施の形態によれば、BD-Jアプリケーションがネットワーク再生情報を含んでおり、現在の再生時間をPSRセットから取得するので、再生時間をネットワーク再生情報に照らし合わせることにより、再生中のAVクリップを特定することができる。
【０１４７】
また、PSRセットから再生速度を取得するので、再生速度から再生方向を判定することにより、次に再生すべき次AVクリップを特定することができる。
次AVクリップが特定されると、当該次AVクリップの状態情報を状態管理部１０８から取得することで、次AVクリップが再生可能状態であるかを判定することができる。
【０１４８】
したがって、次AVクリップが再生可能状態でない場合には、再生中のAVクリップを一時停止することにより、再生が停止される状況を回避することができる。
（変形例１−１）
次に再生すべきAVクリップがEnable状態でない場合のBD-Jアプリケーションによる再生制御の内容を代替映像の再生に替えた一変形例について説明する。
【０１４９】
図１９は、次に再生すべきAVクリップがEnable状態でない場合のBD-Jアプリケーションによる再生制御を説明するための図である。
図１９上段は、プレイリストを示しており、このプレイリストは、１０個のプレイアイテム＃1,＃2,＃3,~,＃10から構成される。１０個のプレイアイテムは、それぞれ、00001.m2ts、0002.m2ts、00003.m2ts、・・・、00010.m2tsを参照する。これらはすべてローカルストレージに格納されたアップデートキットのコンテンツであり、プレイアイテム＃10以外のプレイアイテムには、ネットワーク属性が付与されている。このうち、00001.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。00002.m2ts以降のAVクリップは、まだダウンロードがされていないMissing状態であるか、あるいはダウンロードはされているがDisable状態であることを示す。
【０１５０】
また、プレイアイテム＃10にはネットワーク属性が付与されていないため、プレイアイテム＃10が参照する00010.m2tsは、仮想パッケージ構築時において、ダウンロードが完了している必要がある。
【０１５１】
00010.m2tsは、ユーザ通知用のAVクリップであり、図１９下段に示すように、例えば、「Download中です」という文字列を含む映像である。このAVクリップに対応するプレイアイテム＃10には、チャプタマークが付与されていてもよい。
【０１５２】
再生制御エンジン１１１がプレイリストの先頭プレイアイテムから順に再生する場合、00002.m2tsはまだダウンロードがされていないので、BD-Jアプリケーションは、00001.m2tsの再生中に、プレイアイテム＃10に付与されたチャプタマークを指定して00010.m2tsの再生を指示することになる。
【０１５３】
以上のように、次に再生すべきAVクリップがEnable状態でない場合に、BD-Jアプリケーションの指示により00010.m2tsを再生することで、再生の停止を回避するとともに、AVクリップがDownload中である旨をユーザに通知することができる。
【０１５４】
また、00002.m2tsのダウンロードが完了し、再生可能な状態になれば、00001.m2tsの再生に戻ってもよい。その際、再生を切り替える直前の再生位置を記憶しておいてもよい。
なお、ここでは、ネットワーク属性が付与されていないAVクリップを使用することで、再生を保証したが、ネットワーク属性が付与されたAVクリップであっても、再生開始前にダウンロードを完了しておくことで、プレイリスト再生時には必ず再生可能な状態であることを保証してもよい。
【０１５５】
また、プレイアイテム＃10に付与されたチャプタマークを指定して00010.m2tsの再生を指示したが、プレイアイテム＃10の再生開始時間を指定して再生を開始してもよい。
また、ユーザ通知用AVクリップの映像は、主映像であってもよいし、副映像であってもよい。さらに、再生中のプレイリスト内のAVクリップであってもよいし、別のプレイリストのAVクリップであってもよい。00010.m2tsが再生中のプレイリストとは異なるプレイリストに含まれる場合には、BD-Jアプリケーションは、そのプレイリストを選択して、当該プレイリストにおけるプレイアイテム＃10の再生を開始するとしてもよい。その際、プレイアイテム＃10を含むプレイリストを示す情報は、例えばBD-Jアプリケーションに含まれるとしてもよい。
（変形例１−２）
チャプタマークの有無に応じて2種類の優先度リストを作成する一変形例について説明する。
【０１５６】
再生装置がプレイリスト再生中に、スキップ等の特殊再生指示をユーザから受け付けることがある。この場合には、上述した優先度リストに従ってAVクリップをダウンロードしたとしても、一時停止される頻度を抑えた、ストリーミングライクな再生を必ずしも実現することはできない。
【０１５７】
ここでは、プレイリスト再生中にスキップ等の特殊再生指示をユーザから受け付けた場合であっても、可能な限りAVクリップの再生を一時停止することなくストリーミングライクな再生を実現するための方法について説明する。
【０１５８】
図２０は、変形例１−２における優先度リスト作成処理の処理手順を示すフローチャートである。本フローチャートにおいてiは、一のプレイアイテムを特定する変数である。
本図のステップＳ９１〜９７の処理は、図１５のステップＳ４１〜４７と同様であり、ステップＳ１０１〜１０３の処理は、ステップＳ４９〜５１と同様であるため、ここでは説明を省略する。
【０１５９】
ステップＳ９７において、クリップ番号で示されるAVクリップがすでにダウンロード済みであると判定されなかった場合には、ステップＳ９８において、プレイアイテムにチャプタマークが付与されているか判定する。
【０１６０】
プレイアイテムにチャプタマークが付与されていると判定された場合には、ステップＳ９９において、チャプタマーク有りに対応する優先度リストへクリップ番号を格納する。
プレイアイテムにチャプタマークが付与されていると判定されなかった場合には、ステップＳ１００において、チャプタマーク無しに対応する優先度リストへクリップ番号を格納する。
【０１６１】
このように、本変形例では、優先順位判定部１２２は、チャプタマークの有無に応じた2種類の優先度リストを作成する。
そして、例えばユーザからのスキップ指示があった場合には、チャプタマーク有りに対応する優先度リストに基づいてAVクリップをダウンロードするよう、指示する。
【０１６２】
図３を用いて具体的に説明する。仮に現在の再生位置がプレイアイテム＃1であるとし、00002.m2ts以降のAVクリップのダウンロードは完了していないものとする。この場合、次にチャプタマークが付与されているプレイアイテムは、プレイアイテム＃3である。したがって、ユーザからのスキップ指示があった場合には、チャプタマーク有りに対応する優先度リストに基づいて、00002.m2tsではなく、00003.m2tsを優先的にダウンロードする。その後、00005.m2tsを優先的にダウンロードする。
【０１６３】
スキップ等の特殊再生指示により不連続な再生区間を再生する場合であっても、その再生区間に相当するAVクリップ、すなわちチャプタマークが付与されたプレイアイテムが参照するAVクリップを優先的にダウンロードするので、AVクリップの再生が一時停止される可能性を低減することができる。
【０１６４】
また、ユーザからのスキップ指示を受け付けていない間は、チャプタマーク無しに対応する優先度リストに基づいてAVクリップをダウンロードするよう、指示すればよい。
このように、ユーザからのスキップ指示の有無に応じて2種類の優先度リストを使い分けることにより、スキップ指示をユーザから受け付けた場合であっても、可能な限りAVクリップの再生を一時停止することなくストリーミングライクな再生を実現することができる。
【０１６５】
なお、ここでは、チャプタマークの有無に応じて2種類の優先度リストを作成するとしたが、これに限らず、例えば、ユーザが再度視聴したい箇所を示すレジュームポイントやＣＭ等の区切りを示すマークの有無に応じて作成するとしてもよい。
【０１６６】
また、チャプタマーク有りに対応する優先度リストに基づくダウンロードは、ユーザからのスキップ指示があった場合に限らず、ユーザからのスキップ指示を受け付けていない場合になされてもよい。
（変形例１−３）
チャプタマークが付与されたプレイアイテムが参照するAVクリップのダウンロード時間を短縮する一変形例について説明する。
【０１６７】
図２１は、チャプタマークが付与されたプレイアイテムが参照するAVクリップのダウンロード時間をどのように短縮するかを説明するための図である。図２１上段、下段はともにプレイリストを示している。これらは、図２１下段のプレイリストにおける、チャプタマークが付与されたプレイアイテムが参照する00003.m2tsのサイズが、他のAVクリップのサイズより小さい点で異なる。すなわち、図２１上段に示すプレイリストでは、各AVクリップの再生区間は等しく設定されている。そのため、00001.m2tsの再生中にユーザ操作によりチャプタスキップが発生した際、00003.m2tsのダウンロードが完了していない場合には、そのダウンロードに時間を要し、その再生をすぐに開始することができない場合がある。
【０１６８】
一方、図２１下段に示すプレイリストでは、00003.m2tsのサイズが、他のAVクリップのサイズより小さく設定されている。したがって、00001.m2tsの再生中にユーザ操作によりチャプタスキップが発生した際、00003.m2tsのダウンロードが完了していない場合であっても、図２１上段の例と比べて、ダウンロードに要する時間を短縮でき、00003.m2tsの再生を早く開始することができる。
【０１６９】
チャプタマークが付与されたプレイアイテムが参照するAVクリップのサイズを小さくする方法として、そのAVクリップのビットレートを下げることが挙げられる。再生区間が同一のままであってもビットレートを下げることでサイズを小さくすることができる。よって、サーバ側にビットレートの異なるAVクリップを複数用意しておき、ダウンロードの転送レートに応じて、ダウンロードすべきAVクリップをBD-Jアプリケーションが選択するような仕組みにしてもよい。
【０１７０】
このような構成にすることで、再生装置が接続されたネットワーク環境に応じたAVクリップのダウンロードが可能となる。
また、サーバ側にビットレートの異なるAVクリップを複数用意しておき、画質優先か、またはリアルタイム性を優先するかをユーザ操作に基づいて選択し、その選択結果に応じて、BD-JアプリケーションがダウンロードすべきAVクリップを選択するとしてもよい。
【０１７１】
このような構成にすることで、ユーザの意図を反映させてAVクリップをダウンロードすることができる。
また、チャプタマークが付与されたプレイアイテムが参照するAVクリップの再生時間が、その次のAVクリップのダウンロード時間を上回るか、等しくなるようにすることで、再生位置が変更された後もAVクリップの再生を一時停止することなく、ストリーミングライクな再生を継続することができる。
（実施の形態２）
本実施の形態では、プレイリストがサブパスを含む場合について説明する。図２２は、本実施の形態のプレイリストの具体例を示す図である。図２２に示すように、このプレイリストは、1つのメインパスと、2つのサブパス(サブパス(ID=0),サブパス(ID=1))とから構成される。メインパスについてはすでに説明しているので、ここではその説明を省略する。ID=0のサブパスは、５つのサブプレイアイテム＃1,＃2,＃3,＃4,＃5を含み、ID=1のサブパスは、５つのサブプレイアイテム＃1,＃2,＃3,＃4,＃5を含む。どちらのサブパスも同期型であり、例えば別々の言語の字幕データであるプレゼンテーショングラフィックスストリームが多重化されたAVクリップをそれぞれ参照している。
【０１７２】
ID=0のサブパスにおけるサブプレイアイテム＃1,＃2,＃3,＃4,＃5は、それぞれ10001.m2ts、10002.m2ts、10003.m2ts、10004.m2ts、10005.m2tsを参照している。
ID=1のサブパスにおけるサブプレイアイテム＃1,＃2,＃3,＃4,＃5は、それぞれ20001.m2ts、20002.m2ts、20003.m2ts、20004.m2ts、20005.m2tsを参照している。
【０１７３】
メインパスの各プレイアイテムは、図中右上のようなストリーム番号テーブルを有する。このストリーム番号テーブルは、ストリーム番号1,2,3が割り当てられた3つのエントリーをもつ。これら3つのエントリーは、メインパスのプレイアイテム情報によって参照されるプライマリビデオストリーム、サブプレイアイテム(サブパスID=0)によって参照されるAVクリップに包含されているプレゼンテーショングラフィクスストリーム(PG＃1)、及びサブプレイアイテム(サブパスID=1)によって参照されるAVクリップに包含されているプレゼンテーショングラフィクスストリーム(PG＃2)の再生を許可するものである。
【０１７４】
例えば、カレントとなる字幕ストリーム番号が“２”であるとき、該当するストリームエントリは、サブパスID=０で示されるPG＃1であるため、プレイアイテムの再生と同期して、サブパスID=０のPG＃1が再生される。
＜具体例＞
図２３は、サブプレイアイテムを伴う場合のストリーミングライクな再生機能を模式的に示す図である。図中の矢印は、再生がどこまで進行を示したかを示す。
【０１７５】
第１段目は、再生制御エンジン１１１の再生状態を示し、第２段目は、本実施の形態のプレイリストを示す。第２段目に示すように、00001.m2ts、00002.m2ts、00003.m2ts、10001.m2ts、10002.m2ts、10003.m2ts、20001.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。また、他のAVクリップは、Unavailable状態である。
【０１７６】
再生制御エンジン１１１がプレイリストの先頭から順に再生する場合、サブパス(ID=1)に属するサブプレイアイテム＃1がカレントサブプレイアイテム情報になっているため、再生は、プレイアイテム＃1, サブプレイアイテム＃1まで進行可能である。
【０１７７】
ただし、プレイアイテム＃2では、対応するサブプレイアイテム＃2によって参照される20002.m2tsがUnavailableクリップであるから、プレイアイテム＃2、サブプレイアイテム＃2がそれぞれ、カレントプレイアイテム、カレントサブプレイアイテムになる前に、BD-Jアプリケーションによりプレイアイテム＃1, サブプレイアイテム＃1の再生の一時停止指示がなされることになる。
【０１７８】
そのため、第１段目に示すように、再生制御エンジン１１１は、プレイアイテム＃1, サブプレイアイテム＃1の途中までは再生状態になっているが、BD-Jアプリケーションからの指示があると、一時停止状態になる。
【０１７９】
これにより、20001.m2tsに続いて20002.m2tsの再生が試みられる前に、BD-Jアプリケーションが00001.m2ts及び20001.m2tsの再生を一時停止する要求を再生制御エンジン１１１に送るので、表示画面に何らかの映像が表示された状態を維持することができる。したがって、20002.m2tsが再生可能な状態でないために、再生が停止される事態を回避することができる。
【０１８０】
また、プレイアイテムの再生のみが進行することを防止できるので、プレイアイテムのみ表示され字幕データが表示されない区間の発生を回避することができる。
＜優先ダウンロード処理＞
図２４は、本実施の形態の優先ダウンロード処理の処理手順を示すフローチャートである。本フローチャートのステップＳ１１１〜１１４の処理は、図１４のステップＳ３１〜３４と同様であるので、ここではその説明を省略する。
【０１８１】
ステップＳ１１４において、優先度リスト作成処理を行った後、ステップＳ１１５において、優先順位判定部１２２は、カレントプレイアイテムをSync＿Playitem＿idに指定しているサブプレイアイテムが存在するか判定する。
【０１８２】
サブプレイアイテムが存在すると判定された場合には、ステップＳ１１６において、カレントサブプレイアイテムを特定し、ステップＳ１１７において、サブプレイアイテムに関する優先度リスト作成処理を行う。サブプレイアイテムに関する優先度リスト作成処理は、図１５で示した優先度リスト作成処理と基本的には同様であり、図１５のプレイアイテムをサブプレイアイテムに置き換えればよい。
＜再生状況監視処理＞
図２５は、本実施の形態の再生状況監視処理の処理手順を示すフローチャートである。本フローチャートにおいて、ステップＳ１２１〜１２７の処理は、図１６のステップＳ６１〜６７と同様であるので、ここではその説明を省略する。
【０１８３】
ステップＳ１２５において、次に再生すべきAVクリップがEnable状態であると判定された場合には、ステップＳ１２８において、カレントプレイアイテムをSync＿Playitem＿idに指定しているサブプレイアイテムが存在するか判定する。
【０１８４】
サブプレイアイテムが存在すると判定されなかった場合には、カレントプレイアイテムと同時に再生されるサブプレイアイテムは存在しないので、プレイアイテムの再生が継続される。
【０１８５】
サブプレイアイテムが存在すると判定された場合には、ステップＳ１２９において、カレントサブプレイアイテムを特定し、ステップＳ１３０において、サブプレイアイテム特定処理を行う。サブプレイアイテム特定処理は、図１７で示したプレイアイテム特定処理と基本的には同様であり、図１７のプレイアイテムをサブプレイアイテムに置き換えればよい。
【０１８６】
ステップＳ１３０において、サブプレイアイテム特定処理を行った後、ステップＳ１３１において、次に再生すべきAVクリップ（特定されたサブプレイアイテムが参照するAVクリップ）がEnable状態であるか判定する。
【０１８７】
Enable状態であると判定された場合には、再生が継続され、Enable状態であると判定されなかった場合には、ステップＳ１２６において、BD-Jアプリケーションにより、再生の一時停止指示がなされることになる。
＜プレイリスト再生処理＞
図２６は、本実施の形態のプレイリスト再生処理の処理手順を示すフローチャートである。本フローチャートにおいて、ステップＳ１４１〜１４３、ステップＳ１４７〜１５１の処理は、図１８のステップＳ８１〜８３、ステップＳ８４〜８８と同様であるので、ここではその説明を省略する。
【０１８８】
ステップＳ１４３の処理の後、ステップＳ１４４において、カレントプレイアイテムをSync＿Playitem＿idに指定しているサブプレイアイテムが存在するか判定する。
サブプレイアイテムが存在すると判定された場合には、ステップＳ１４５において、カレントサブプレイアイテムのClip＿information＿file＿nameで指定されているAVクリップを選択する。
【０１８９】
ステップＳ１４６において、AVクリップを構成するソースパケットのうち、カレントサブプレイアイテムのin＿timeからout＿timeまでの部分をローカルストレージ３００から読み出す。その後、ステップＳ１４７に移行する。
（変形例２−１）
続いて、ユーザによりサブパス変更（例えば字幕切り替え）が要求された場合について説明する。使用形態としては、例えば、BD-ROM２００に記録された映画本編の再生に合わせて、字幕データをストリーミングライクに再生する場合が挙げられる。
【０１９０】
図２７は、字幕切り替えがユーザによって要求されたため、現在の再生時点が、サブパス(ID=＃0)の10003.m2tsを参照しているサブプレイアイテム＃3から、サブパス(ID=＃1)の20003.m2tsを参照しているサブプレイアイテム＃3に変化した場合を想定した図である。00001.m2ts、00002.m2ts、00003.m2ts、10001.m2ts、10002.m2ts、10003.m2ts、20001.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。また、他のAVクリップは、Unavailable状態である。
【０１９１】
ユーザ操作などでSPRM（２）を３に変更した場合、再生する字幕はサブパスID=１のサブプレイアイテム＃3になる。サブプレイアイテム＃3が参照している20003.m2tsは、Unavailableクリップであるから、この切り替えと同時に、BD-Jアプリケーションにより、00003.m2ts,10003.m2tsの再生の一時停止指示がなされることになる。
【０１９２】
以上のように、字幕切り替えが要求された場合、切り替え先の字幕ストリームを包含しているAVクリップがMissing状態であるか、Disable状態であれば、再生制御エンジン１１１は、BD-Jアプリケーションの指示に従って、切り替えと同時に再生を一時停止する。
＜サブパス変更における再生状況監視処理＞
図２８は、サブパス変更における再生状況監視処理の処理手順を示すフローチャートである。
【０１９３】
ステップＳ１６１において、ユーザによりサブパス変更要求がなされると、ステップＳ１６２において、変更後のサブパスにおけるサブプレイアイテムが参照しているAVクリップが、Enable状態であるか判定する。
【０１９４】
変更後のサブパスにおけるサブプレイアイテムが参照しているAVクリップが、Enable状態であると判定された場合には、再生が継続され、変更後のサブパスにおけるサブプレイアイテムが参照しているAVクリップが、Enable状態であると判定されなかった場合には、ステップＳ１６３において、BD-Jアプリケーションは再生の一時停止を指示する。
【０１９５】
その後、ステップＳ１６４において、再生再開処理を行う。
（変形例２−２）
続いて、次に再生すべきサブプレイアイテムが参照しているAVクリップがEnable状態でない場合に再生を継続する方法について説明する。
【０１９６】
図２９は、次に再生すべきサブプレイアイテムが参照しているAVクリップがEnable状態でない場合の再生制御を説明するための図である。
再生制御エンジン１１１がプレイリストの先頭から順に再生する場合、サブパス(ID=0)に属するサブプレイアイテム＃1がカレントサブプレイアイテム情報になっているため、再生は、プレイアイテム＃2, サブプレイアイテム＃2まで進行可能である。
【０１９７】
ただし、プレイアイテム＃3では、対応するサブプレイアイテム＃3によって参照されている10003.m2tsがUnavailableクリップである。したがって、仮にサブパス(ID=0)の再生をそのまま継続するとした場合には、BD-Jアプリケーションによりプレイアイテム＃2, サブプレイアイテム＃2の再生の一時停止指示がなされることになる。
【０１９８】
しかしながら、サブパス(ID=0)に属するサブプレイアイテム＃3によって参照されている20003.m2tsは、Enable状態である。
そこで、本変形例では、BD-Jアプリケーションが、サブプレイアイテム＃3の再生開始時において、サブパス(ID=0)をサブパス(ID=1)に切り替える。
【０１９９】
これにより、次に再生すべきサブプレイアイテムが参照しているAVクリップがEnable状態でない場合であっても、再生を一時停止することなく、再生を継続させることができる。
【０２００】
また、プレイアイテムの再生のみが進行することを防止できるので、プレイアイテムのみ表示され字幕データが表示されない区間の発生を回避することができる。
＜再生状況監視処理＞
図３０は、本変形例の再生状況監視処理の処理手順を示すフローチャートである。本フローチャートにおいて、ステップＳ１７１〜１８１の処理は、図２５のステップＳ１２１〜１３１と同様であるので、ここではその説明を省略する。
【０２０１】
ステップＳ１８１において、次に再生すべきAVクリップがEnable状態であると判定されなかった場合には、ステップＳ１８２において、カレントプレイアイテムをSync＿Playitem＿idに指定しているサブプレイアイテムが他に存在するか判定する。
【０２０２】
サブプレイアイテムが他に存在すると判定された場合には、ステップＳ１８３において、他のサブプレイアイテムが参照するAVクリップがEnable状態であるか判定する。
他のサブプレイアイテムが参照するAVクリップがEnable状態であると判定された場合には、ステップＳ１８４において、BD-Jアプリケーションは、他のサブプレイアイテムが参照するAVクリップの再生を指示する。
（実施の形態３）
本実施の形態では、アップデートキットを作成するためのオーサリングシステムについて説明する。図３１は、オーサリングシステムの構成を示す図である。本図に示すように、オーサリングシステムは、ストレージ６００a,b,c、素材制作部６０１、シナリオ生成部６０２、BD-J制作部６０３、多重化処理部６０４、フォーマット処理部６０５、差分抽出部６０６、及びアップデートキット制作部６０７から構成される。
【０２０３】
ストレージ６００a,b,cは、それぞれ、ROMシナリオデータ、ROMディスクイメージのバージョン１(ver.1)、ROMディスクイメージのバージョン２(ver.2)を格納している。
素材制作部６０１は、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックストリームなどの各ストリームを作成する。
【０２０４】
素材制作部６０１は、非圧縮のビットマップなどの画像イメージをMPEG４-AVCやMPEG２などの圧縮方式に従い符号化することでビデオストリームを作成する。
素材制作部６０１は、非圧縮のLinearPCM音声などをAC３などの圧縮方式に従い符号化することでオーディオストリームを作成する。
【０２０５】
素材制作部６０１は、字幕イメージ、表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、字幕ストリームであるプレゼンテーショングラフィックスストリームを作成する。
【０２０６】
素材制作部６０１は、メニューに使うビットマップイメージと、メニューに配置されるボタンの遷移や表示効果を記載したメニューファイルとを元にして、メニュー画面を構成するインタラクティブグラフィックスストリームを作成する。
【０２０７】
シナリオ生成部６０２は、素材制作部６０１で作成した各ストリームの情報や、オーサリングスタッフからのGUIを経由した操作にしたがって、シナリオを作成する。ここで言うシナリオは、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなどのファイルである。
【０２０８】
また、シナリオ生成部６０２は、多重化処理を実現するための、各AVクリップがどのストリームから構成されるかを記述したパラメータファイルを作成する。
BD-J制作部６０３は、BD-Jアプリケーションをプログラミングする手段である。GUI等のユーザインターフェースを通じて、ユーザからの要求に従って、BD-Jアプリケーションプログラムのソースコードを作成し、BD-Jアプリケーションを作成する。
【０２０９】
多重化処理部６０４は、ROMシナリオデータに記述されているビデオ、オーディオ、字幕、ボタンなどの複数のストリームを多重化して、MPEG２-TS形式のAVクリップを作成する。このとき、AVクリップと対になるクリップ情報ファイルも同時に作成する。
【０２１０】
多重化処理部６０４によるクリップ情報ファイル内の生成は、以下の方法で行われる。多重化処理部６０４は、AVクリップを作成と同時にエントリマップを作成する。より具体的には、素材制作部６０１で生成された各ストリームにおいて、含まれるビデオストリームがMPEG２であればIピクチャ、MPEG４-AVCであればIピクチャかIDRピクチャ、VC-１であればIピクチャが何処に存在するかを検出する。そして、前述の各ピクチャの表示時刻と、MPEG２-TS形式のAVクリップの何パケット目のソースパケットに、前述の各ピクチャの先頭データが入っているかを対応付けたエントリポイントをエントリマップに登録していく。AVクリップに含まれるビデオストリームが、Primaryビデオ・Secondaryビデオの２種類存在する場合には、どちらのエントリマップも同時に作成していく。
【０２１１】
多重化処理部６０４は、生成したエントリマップと、AVクリップに含まれるストリーム毎の音声属性、映像属性などを示す属性情報とをペアにしてクリップ情報ファイルを作成する。
【０２１２】
フォーマット処理部６０５は、シナリオ生成部６０２で生成したROMシナリオデータ、BD-J制作部６０３で制作したBD-Jアプリケーション、及び多重化処理部６０４で生成したAVクリップやクリップ情報ファイルを、これまでの実施の形態で説明したフォーマットで配置し、UDFのフォーマットでディスクイメージを作成する。生成したディスクイメージをBD-ROMプレス用データに変換し、このデータに対してプレス工程を行うことで、BD-ROMの製造が可能となる。
【０２１３】
アップデートキットを作成するには、二つのディスクイメージを用意する。１つはBD-ROMに格納されるディスクイメージであり、もう１つは仮想パッケージ構築後のディスクイメージである。
【０２１４】
差分抽出部６０６は、ストレージ６００b,cに格納された二つのROMディスクイメージをコンペアして、差分データを抽出する。例えば、オリジナルのディスクイメージになかったファイルや、バイナリコンペアしてアップデートされているファイルなどを抽出する。
【０２１５】
アップデートキット制作部６０７は、差分抽出部６０６を元に、前述で説明したアップデートキットのデータフォーマットに合うようにマージ管理情報ファイルや署名情報ファイルを作成し、ファイルやディレクトリを配置する。
【０２１６】
図３２（ａ）は、ROMディスクイメージの作成手順を示すフローチャートであり、図３２（ｂ）は、アップデートキットイメージの作成手順を示すフローチャートである。
ステップＳ２１１において、素材制作部６０１はビデオストリーム、オーディオストリーム、IGストリーム、PGストリームを生成する。
【０２１７】
ステップＳ２１２において、シナリオ生成部６０２は、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなど再生シナリオを記述するROMシナリオデータを作成する。
【０２１８】
ステップＳ２１３において、BD-J制作部６０３は、BD-Jアプリケーションのプログラムを作成する。
ステップＳ２１４において、多重化処理部６０４はROMシナリオデータを元にAVクリップとクリップ情報ファイルとを作成する。
【０２１９】
ステップＳ２１５において、フォーマット処理部６０５は、ROMシナリオデータ、変形AVクリップ、クリップ情報ファイル、復元バイトコードデータを、これまでの実施形態で述べたファイル・ディレクトリ構造に並び替え、ROMディスクイメージを作成する。
【０２２０】
ステップＳ２２１において、差分抽出部６０６は二つのディスクイメージを比較して差分データを抽出する。
ステップＳ２２２において、アップデートキット制作部６０７は、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなど再生シナリオを記述するROMシナリオデータを作成する。
【０２２１】
ステップＳ２２３において、BD-J制作部６０３は、BD-Jアプリケーションのプログラムを作成する。
ステップＳ２２４において、多重化処理部６０４はROMシナリオデータを元にAVクリップとクリップ情報ファイルを作成する。
【０２２２】
ステップＳ２２５において、フォーマット処理部６０５は、差分データをアップデートキットのデータフォーマットに合うように変換する。
ステップＳ２２６において、マージ管理情報ファイルや署名情報ファイルを作成し、アップデートキット内に配置する。
（備考）
AVクリップ（XXX.M2TS）、クリップ情報ファイル（XXX.CLPI）、プレイリスト情報ファイル（XXX.MPLS）、及びシステムターゲットデコーダの詳細について順に説明する。
【０２２３】
＜AVクリップの内部構成＞
AVクリップは、MPEG-２トランスポートストリーム形式のデジタルストリームである。
図３３は、AVクリップの構成の一例を示す図である。本図に示すようにAVクリップは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム（PG）、及びインタラクティブグラファイックスストリームのうち、１つ以上を多重化することで得られる。ビデオストリームは映画のPrimaryビデオおよびSecondaryビデオを、オーディオストリームは、映画のPrimaryオーディオ部分とそのPrimaryオーディオとミキシングするSecondaryオーディオを、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここでPrimaryビデオとは画面に表示される通常の映像を示し、SecondaryビデオとはPrimaryビデオの中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。AVクリップに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から０x111Fまでが、プレゼンテーショングラフィックスには0x1200から０x121Fまでが、インタラクティブグラフィックスストリームには0x1400から０x141Fまでが、映画のSecondaryビデオに利用するビデオストリームには0x1B00から０x1B1Fまで、PrimaryオーディオとミキシングするSecondaryオーディオに利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
【０２２４】
＜AVクリップにおける多重化＞
図３４は、AVクリップがどのように多重化されるかを模式的に示す図である。まず、ビデオストリーム、及びオーディオストリームを(第１段目)、それぞれPESパケット列に変換し(第２段目)、TSパケット列に変換する(第３段目)。同じくプレゼンテーショングラフィックスストリームおよびインタラクティブグラフィックス７(第７段目)を、それぞれPESパケット列に変換し(エレメンタリストリーム)（第6段目）、更にTSパケット列に変換する(第５段目)。AVクリップ(第４段目)は、これらのTSパケットを１本のストリームに多重化することで構成される。
【０２２５】
図３５は、PESパケット列にビデオストリームがどのように格納されるかを示す図である。本図における第１段目はビデオストリームのビデオフレーム列を示す。第２段目は、PESパケット列を示す。第３段目は、これらのPESパケット列を変換することで得られるTSパケット列を示す。本図の矢印yy１,yy２, yy３, yy４に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS（Presentation Time-Stamp）やピクチャの復号時刻であるDTS（Decoding Time-Stamp）が格納される。
【０２２６】
＜TSパケット列＞
図３６は、AVクリップに最終的に書き込まれるTSパケットの形式を示している。第１段目は、TSパケット列を示し、第２段目は、ソースパケット列を示す。第３段目は、AVクリップを示す。
【０２２７】
第１段目に示すようにTSパケットは、ストリームを識別するPIDなどの情報を持つ４Byteの「TSヘッダ」と、データを格納する１８４Byteの「TSペイロード」とに分かれる固定長のパケットであり、前述で説明したPESパケットは分割されTSペイロードに格納される。
【０２２８】
第２段目によると、TSパケットには、４ByteのTP＿Extra＿Headerが付与され、１９２Byteのソースパケットに変換された状態で、AVクリップに書き込まれる。TP＿Extra＿HeaderにはATS（Arrival＿Time＿Stamp）などの情報が記載される。ATSは当該TSパケットのPIDフィルタへの転送開始時刻を示す。AVクリップには、第３段目に示すようにソースパケットが並ぶこととなり、AVクリップの先頭からインクリメントする番号はSPN（ソースパケットナンバー）と呼ばれる。
【０２２９】
AVクリップに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT（Program Association Table）、PMT（Program Map Table）、PCR（Program Clock Reference）などがある。PATはAVクリップ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPID配列で登録される。PMTは、AVクリップ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、またAVクリップに関する各種ディスクリプタを持つ。ディスクリプタにはAVクリップのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC（Arrival Time Clock）とPTS・DTSの時間軸であるSTC（System Time Clock）の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
【０２３０】
図３７は、PMTのデータ構造を示す図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記した「PMTヘッダ」が配置される。その後ろには、AVクリップに関する「ディスクリプタ」が配置される。前述したコピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、AVクリップに含まれる各ストリームに関する「ストリーム情報＃1〜＃N」が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためのストリームタイプ、ストリームのPID、及びストリームの属性情報（フレームレート、アスペクト比など）が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは、AVクリップに存在するストリームの数だけ存在する。
【０２３１】
以上がAVクリップについての説明である。続いて、クリップ情報ファイルの詳細について説明する。
＜クリップ情報ファイル＞
図３８は、クリップ情報ファイルの一例を示す図である。クリップ情報ファイルは、本図に示すようにAVクリップの管理情報であり、AVクリップと１対１に対応し、ストリーム属性情報とエントリマップから構成される。
【０２３２】
図３９は、ストリーム属性情報の一例を示す図である。ストリーム属性情報は本図に示すように、AVクリップに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。
【０２３３】
「ビデオストリーム属性情報」は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。
【０２３４】
「オーディオストリーム属性情報」は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、再生装置が再生する前のデコーダの初期化などに利用される。
【０２３５】
図４０は、エントリマップの一例を示す図である。
エントリマップは、本図に示すように、AVクリップ内に含まれるビデオストリームの各フレーム内符号化画像（以下、Iピクチャと呼ぶ）の表示時刻を示すPTSと各Iピクチャが開始するAVクリップのSPNが記載されたテーブル情報である。
【０２３６】
ここではテーブルの１つの行で示される対となるPTSとSPNの情報をエントリポイントと呼ぶことにする。また先頭を０としてエントリポイント毎にインクリメントした値をエントリポイントID（以下EP＿ID）と呼ぶことにする。このエントリマップを利用することにより、再生装置はビデオストリームの時間軸上の任意の時点に対応するAVクリップのファイル位置を特定することが出来るようになる。例えば、早送り・巻戻しの特殊再生の際には、エントリマップに登録されるIピクチャを特定し選択して再生することによりAVクリップを解析することなく効率的に処理を行うことが出来る。また、エントリマップはAVクリップ内に多重化されるビデオストリーム毎に作られ、PIDで管理される。映画タイトルにおいて、エントリマークをチャプタの先頭となる位置に付与することで、チャプタ再生を行うことが可能である。
【０２３７】
以上がクリップ情報ファイルについての説明である。続いて、プレイリスト情報の詳細なデータ構造について説明する。
図４１は、プレイリスト情報のデータ構造を示す図であり、本図に示すように、プレイリスト情報は、メインパスを定義するメインパス情報(MainPath())と、サブパスを定義するサブパス情報(Subpath())と、マーク情報とを含む。
【０２３８】
＜プレイリスト情報の説明その１．メインパス情報＞
メインパス情報について説明する。引き出し線mp1は、メインパス情報の内部構成をクローズアップして示している。メインパスは、矢印mp1で示すように複数のプレイアイテム情報＃1・・・・＃mから定義される。プレイアイテム情報は、メインパスを構成する1つの論理的な再生区間を定義する。プレイアイテム情報の構成は、引き出し線mp2によりクローズアップされている。この引き出し線に示すように、プレイアイテム情報は、再生区間のIN点及びOut点が属するAVクリップの再生区間情報のファイル名を示す『Clip＿Information＿file＿name』と、AVクリップの符号化方式を示す『Clip＿codec＿identifier』と、プレイアイテムがマルチアングルを構成するか否かを示す『is＿multi＿angle』と、このプレイアイテム(カレントプレイアイテム)と、その1つ前のプレイアイテム(プリービァスプレイアイテム)との接続状態を示す『connection＿condition』と、このプレイアイテムが対象としているSTC＿Sequenceを一意に示す『ref＿to＿STC＿id[0]』と、再生区間の始点を示す時間情報『In＿time』と、再生区間の終点を示す時間情報『Out＿time』と、このプレイアイテムにおいてマスクすべきユーザオペレーションがどれであるかを示す『UO＿mask＿table』と、このプレイアイテムの途中へのランダムアクセスを許可するか否かを示す『PlayItem＿random＿access＿flag』と、このプレイアイテムの再生終了後、最後のピクチャの静止表示を継続するか否かを示す『Still＿mode』と、『STN＿table』とから構成される。このうち、再生経路を構成するのは、再生区間の始点を示す時間情報『In＿time』、再生区間の終点を示す時間情報『Out＿time』の組みであり、再生経路情報とは、この『In＿time』及び『Out＿time』の組みから構成される。
【０２３９】
＜プレイリスト情報の説明その２．マーク情報＞
マーク情報について説明する。マーク情報(PLmark())は、プレイリスト時間軸のうち、任意の区間を、チャプタとして指定する情報である。引き出し線mp3は、マーク情報の内部構成をクローズアップして示している。マーク情報は、矢印mp3で示すように、プレイアイテムを指定する『ref_to_PlayItem_Id』と、プレイリスト時間軸の一時点を指定する『Mark_time_stamp』とから定義される。これらの指定によりプレイリスト時間軸には、チャプタが定義されることになる。
【０２４０】
＜プレイリスト情報の説明その３．サブパス情報＞
メインパスが、プライマリビデオたるメインクリップに定義される再生経路であるのに対し、サブパスは、メインパスと同期すべきサブクリップに対して定義される再生経路である。
【０２４１】
図４２は、サブパス情報の内部構成を示す図である。本図における矢印hc0に示すように各サブパスは、サブパスの類型を示すSubPath＿typeと、1つ以上のサブプレイアイテム情報(・・・SubPlayItem()・・・)とを含む。
【０２４２】
図中の引き出し線hc1は、サブプレイアイテム情報の構成をクローズアップしている。
サブプレイアイテムは、メインパスから分離した、1以上のエレメンタリストリーム再生パスを定義し、当該パスをメインパスとどのように同期するかという類型を表現するのに使われる。サブプレイアイテムで使用されるのが、The Primary audio / PG / IG / Secondary audio / Secondary video のサブパスであるなら、これらのサブプレイアイテムは、プレイリスト中のプレイアイテムを使っているメインパスと同期することになる。このエレメンタリストリーム再生のためのサブパスによって使われるエレメンタリストリームは、メインパス側のプレイアイテムによって使われるメインクリップから分離したクリップ、つまりサブクリップに多重化される。
【０２４３】
以降、サブプレイアイテムの内部構成について説明する。サブプレイアイテム情報は、図中の矢印hc1に示すように『Clip＿information＿file＿name』、『Clip＿codec＿identifier』、『ref＿to＿STC＿id[0]』、『SubPlayItem＿In＿time』、『SubPlayItem＿Out＿time』、『sync＿PlayItem＿Id』、『sync＿start＿PTS＿of＿PlayItem』からなる。
【０２４４】
『Clip＿information＿file＿name』は、クリップ情報のファイル名を記述することにより、サブプレイアイテムに対応するサブクリップを一意に指定する情報である。
『Clip＿codec＿identifier』は、AVクリップの符号化方式を示す。
【０２４５】
『ref＿to＿STC＿id[0]』は、このサブプレイアイテムが対象としているSTC＿Sequenceを一意に示す。
『SubPlayItem＿In＿time』は、サブクリップの再生時間軸上における、サブプレイアイテムの始点を示す情報である。
【０２４６】
『SubPlayItem＿Out＿time』は、サブクリップの再生時間軸上における、サブプレイアイテムの終点を示す情報である。
『sync＿PlayItem＿Id』は、メインパスを構成するプレイアイテムのうち、本サブプレイアイテムが同期すべきものを一意に指定する情報である。
【０２４７】
『SubPlayItem＿In＿time』は、この『sync＿PlayItem＿Id』で指定されたプレイアイテムの再生時間軸上に存在する。
『sync＿start＿PTS＿of＿PlayItem』は、『sync＿PlayItem＿Id』で指定されたプレイアイテムの再生時間軸上において、『SubPlayItem＿In＿time』で指定されたサブプレイアイテムの始点が、どこに存在するかを45KHzの時間精度で示す。あるサブプレイアイテムがセカンダリビデオストリーム上の再生区間を定義していて、そのサブプレイアイテムの『sync＿start＿PTS＿of＿PlayItem』が、プレイアイテム時間軸における一時点を示している場合、そのサブプレイアイテムは、“同期ピクチャインピクチャ”を実現することになる。
【０２４８】
また、この『sync＿start＿PTS＿of＿PlayItem』には、不定値(0xFFF)を設定することもできる。この不定値は、『sync＿PlayItem＿Id』にて指定されたPlayItemの時間軸において、ユーザによりロック操作がなされた時点を、Sync＿PlayItem＿Idにて指定されたPlayItemとの同期時点に定める旨を示す。sync＿start＿PTS＿of＿PlayItemが不定値に設定されており、尚且つサブプレイアイテムが、セカンダリビデオストリームの再生を意図している場合、かかるサブプレイアイテムは、“非同期ピクチャインピクチャ”を実現することになる。
【０２４９】
以上が、サブパス情報についての説明である。
＜プレイリスト情報の説明その４．STN＿table＞
プレイリスト情報において特徴的であるのは、STN＿Tableである。
【０２５０】
STN＿tableは、プレイアイテム情報のClip＿Information＿file＿nameで指定されているAVクリップに多重化された複数エレメンタリストリーム、サブプレイアイテム情報のClip＿Information＿file＿nameで指定されているOut＿of＿MUXストリームのうち、再生可能なものを示すテーブルである。具体的にいうとSTN＿tableは、メインクリップに多重化されている複数In＿MUXストリーム、サブクリップに多重化されているOut＿of＿MUXストリームのそれぞれについてのStream＿entryを、Stream＿attributeと対応付けることで構成される。
【０２５１】
図４３は、STN＿tableの全体構成の一例を示す図である。本図に示すようにSTN＿tableは、Primaryビデオストリームについて、stream＿entry及びstream＿attributesの組み(stream＿entry- stream＿attribute)を一つ有し、Primaryオーディオストリーム、PGストリーム、IGストリーム、Secondaryオーディオストリーム、及びSecondaryビデオストリームのそれぞれについて、stream＿entry及びstream＿attributeの組み(stream＿entry- stream＿attribute)を複数有している。
【０２５２】
また、STN＿tableは、再生可能なPrimaryビデオストリーム数を示すnumber＿of＿video＿stream＿entries、再生可能なPrimaryオーディオストリーム数を示すnumber＿of＿audio＿stream＿entries、再生可能なPGストリーム数を示すnumber＿of＿PG＿stream＿entries、再生可能なIGストリーム数を示すnumber＿of＿IG＿stream＿entries、再生可能なSecondaryオーディオストリーム数を示すnumber＿of＿Secondary＿audio＿stream＿entries、及び再生可能なSecondaryビデオストリームを示すnumber＿of＿Secondary＿video＿stream＿entries、を含む。
＜システムターゲットデコーダ１０４＞
続いて、システムターゲットデコーダ１０４の詳細について説明する。
【０２５３】
図４４は、システムターゲットデコーダ１０４の内部構成の一例を示す図である。本図に示すように、システムターゲットデコーダ１０４は、ソースデパケタイザ１２２a,bと、PIDフィルタ１２３a,bと、Primaryビデオデコーダ１２４と、Primaryビデオプレーン１２５と、Secondaryビデオデコーダ１２６と、Secondaryビデオプレーン１２７と、PGデコーダ１２８と、PGプレーン１２９と、IGデコーダ１３０と、IGプレーン１３１と、Primaryオーディオデコーダ１３２と、Secondaryオーディオデコーダ１３３と、音声ミキサー１３４と、BD-Jプロセッサ１３５と、BD-Jプレーン１３６と、加算部１３７とから構成される。
【０２５４】
ソースデパケタイザ１２２a,bは、システムターゲットデコーダ１０４に転送されるソースパケットを解釈し、TSパケットを取り出しPIDフィルタに送出する。この送出にあたって、各ソースパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATCカウンタが生成するATCの値と、ソースパケットのATS値とが同一になった瞬間に、AVクリップの記録レートにしたがって、そのTSパケットだけをPIDフィルタに転送する。
【０２５５】
PIDフィルタ１２３a,bは、ソースデパケッタイザから出力されたTSパケットのうち、TSパケットのPIDが、再生に必要とされるPIDに一致するものを、PIDにしたがって、Primaryビデオデコーダ、Secondaryビデオデコーダ、IGデコーダ、PGデコーダ、Primaryオーディオデコーダ、Secondaryオーディオデコーダに転送する。例えば、BD-ROMの場合には、TSパケットに含まれるPIDが0x1011である場合はPrimaryビデオデコーダ１２４に、PIDが0x1B00から0x1B1Fである場合はSecondaryビデオデコーダ１２６に、PIDが0x1100から0x111Fである場合はPrimaryオーディオデコーダ１３２に、PIDが0x1A00から0x1A1Fである場合はSecondaryオーディオデコーダ１３３に、PIDが0x1200から0x121Fである場合はPGデコーダ１２８に、PIDが0x1400から0x141Fである場合はIGデコーダ１３０に転送される。
【０２５６】
図４４に示す通り、ソースデパケタイザ及びPIDフィルタは、それぞれ二つ存在し、一つはリードバッファ１０２から転送されるAVクリップ、一つはリードバッファ１０３から転送されるAVクリップを処理する。サブパスタイプが同期型の場合は、メインパスから参照されるAVクリップとサブパスから参照されるAVクリップは同期を取りながら再生される。サブパスタイプが非同期型の場合は、メインパスから参照されるAVクリップとサブパスから参照されるAVクリップは非同期で再生される。
【０２５７】
Primaryビデオデコーダ１２４は、緩衝バッファを有し、バッファにデータを蓄えながら、TSヘッダ、PESヘッダなどの情報を取り除いて、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)を取り出し、ビデオストリームの個々のフレーム画像を所定の復号時刻（DTS）ごとにデコードすることにより複数フレーム画像を作成し、表示時刻（PTS）のタイミングでPrimaryビデオプレーン１２５に書き込む。AVクリップに多重化されるビデオストリームの圧縮符号化形式にはMPEG２、MPEG４AVC、VC１などがあるため、ストリームの属性に応じて、圧縮映像の復号化方式を切り替える。
【０２５８】
Primaryビデオプレーン１２５は、Primaryビデオデコーダ１２４によって得られたフレーム画像が格納される。
Secondaryビデオデコーダ１２６は、Primaryビデオデコーダ１２４と同様の構成を持ち、入力されるSecondaryビデオストリームのデコードを行い、表示時刻（PTS）のタイミングでピクチャをSecondaryビデオプレーンに書き出す。
【０２５９】
Secondaryビデオプレーン１２７は、Secondaryビデオデコーダ１２６によって得られたフレーム画像が格納される。
PGデコーダ１２８は、ソースデパケタイザから入力されるTSパケットからプレゼンテーショングラフィックスストリームを抽出してデコードし、非圧縮のグラフィックスデータを表示時刻（PTS）のタイミングでPGプレーンに書き出す。
【０２６０】
PGプレーン１２９は、非圧縮のグラフィクスデータが格納される。
IGデコーダ１３０は、ソースデパケタイザから入力されるTSパケットからインタラクティブグラフィックスストリームを抽出してデコードし、非圧縮のグラフィックスデータを表示時刻（PTS）のタイミングでIGプレーンに書き出す。
【０２６１】
IGプレーン１３１には、非圧縮のグラフィクスデータが格納される。
Primaryオーディオデコーダ１３２は、緩衝バッファを有し、バッファにデータを蓄えながら、TSヘッダ、PESヘッダなどの情報を取り除いて、音声ストリームデコード処理を行い、非圧縮のLPCM状態のオーディオデータを得て再生時刻（PTS）のタイミングで音声ミキサーに出力する。AVクリップに多重化されるオーディオストリームの圧縮符号化形式にはAC３、DTSなどがあるため、ストリームの属性に応じて、圧縮音声の復号化方式を切り替える。
【０２６２】
Secondaryオーディオデコーダ１３３は、Primaryオーディオデコーダと同様の構成を持ち、入力されるSecondaryオーディオストリームのデコードを行い、表示時刻のタイミングで非圧縮のLPCMの状態のオーディオデータを音声ミキサーに出力する。AVクリップに多重化されるオーディオストリームの圧縮符号化形式にはDolbyDigitalPlus、DTS-HD LBRなどがあるため、ストリームの属性に応じて、圧縮音声の復号化方式を切り替える。
【０２６３】
音声ミキサー１３４は、Primaryオーディオデコーダから出力される非圧縮音声データとSecondaryオーディオデコーダから出力される非圧縮音声データとをミキシング（音の重ね合わせ）をしてスピーカなどに出力する。
【０２６４】
BD-Jプロセッサ１３５は、BD-J実行部１０５から転送されるPNG形式又はJPEG形式のグラフィクスデータをデコードして、BD-Jアプリケーションから指定される表示時刻にしたがって、BD-Jプレーンに出力する。
【０２６５】
BD-Jプレーン１３６には、BD-Jプロセッサ１３５によってデコードされたグラフィクスデータが格納される。
加算部１３７は、Primaryビデオプレーン、Secondaryビデオプレーン、IGプレーン、PGプレーン、BD-Jプレーンに書かれたデータを瞬時に重畳し、TVなどの画面に表示する。
【０２６６】
以上のように、BD-ROMプレーヤモデルに準拠した内部構成を実現することにより、プレイリストの再生を実現することができる。
＜仮想パッケージの構築＞
続いて、仮想パッケージの構築について詳しく説明する。
【０２６７】
先ず始めに、仮想パッケージの基本部分となるBD-ROMのデータ構造について説明する。
図４５は、BD-ROMの構成の一例を示す図である。
本図の第４段目にBD-ROM１００を示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROM１００の内周から外周にかけて螺旋状に形成されているトラックを横方向に引き伸ばして描画している。BD-ROM１００は他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリードインと外周のリードアウトの間に論理データを記録できる論理アドレス空間を有している。また、リードインの内側にはBCA（Burst Cutting Area）と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
【０２６８】
「論理アドレス空間」には、先頭からファイルシステムのボリューム情報が記録され、続いて映像データなどのアプリケーションデータが記録されている。ファイルシステムとはディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みであり、BD-ROM１００の場合ではUDF（Universal Disc Format）によって記録される。日常使っているPC（パーソナルコンピュータ）の場合でも、FATまたはNTFSと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。このファイルシステムにより、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出す事が可能になっている。
【０２６９】
BD-ROM１００上のディレクトリ、ファイル構造は、ルートディレクトリ（ROOT）直下にBDMVディレクトリが置かれている。BDMVディレクトリはBD-ROM１００で扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。BDMVディレクトリの配下には、タイトルを構成するインデックステーブルが定義されたインデックスファイル（index.bdmv）、動的なシナリオを定義するムービーオブジェクトファイル（MovieObject.bdmv）と、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDJOディレクトリ、JARディレクトリが存在する。
【０２７０】
これらのディレクトリには、映像・音声といったAVコンテンツが多重化され格納されたAVクリップ（XXX.M2TS）、AVクリップの管理情報を格納したクリップ情報ファイル（XXX.CLPI)、AVクリップの論理的な再生経路を定義したプレイリストファイル（YYY.MPLS）が存在する。
【０２７１】
これらの他にも、以下のファイルが存在する。つまりどのJARファイルを実行するかおよびその実行方法について定義したBDJオブジェクトファイル（BBB.BDJO）、BD-Jアプリケーションを格納したJARファイル（AAA.JAR)が存在する。これらのファイルは、それぞれ前述のSTREAMディレクトリ、CLIPINFディレクトリ、PLAYLISTディレクトリ、BDJOディレクトリ、JARディレクトリの下に配置される。
【０２７２】
以下に、BDMVディレクトリ配下に置かれる各ファイルのデータ構造について説明する。まずインデックスファイル（Index.bdmv）について説明する。インデックスファイルはインデックステーブルを持つ。
【０２７３】
図４６は、インデックスファイルの内部構成の一例を示す図である。
「インデックステーブル」は、BD-ROMに格納されるすべてのタイトル、トップメニュー、FirstPlayといったタイトル構成を定義する最上位層のテーブルである。このテーブルには、全てのタイトル、トップメニュー、FirstPlayから最初に実行されるムービーオブジェクトファイルに含まれるムービーオブジェクトが指定されている。BD-ROMの再生装置は、タイトルあるいはメニューが呼び出されるたびにインデックステーブルを参照して、所定のムービーオブジェクトもしくはBD-Jオブジェクトを実行する。ここで、FirstPlayとは、コンテンツプロバイダによって設定されるもので、ディスク投入時に自動実行されるムービーオブジェクトまたはBD-Jオブジェクトが設定されている。また、トップメニューは、リモコンでのユーザ操作で、「メニューに戻る」というようなコマンドが実行されるときに、呼び出されるムービーオブジェクト、BD-Jオブジェクトが指定されている。ネットワーク属性で再生されるべきプレイリストは、必ずBD-Jオブジェクトによって再生されねばならない。
【０２７４】
次にムービーオブジェクトファイルについて説明する。図４７に示すように、ムービーオブジェクトファイル内には、複数のムービーオブジェクトが定義されており、各ムービーオブジェクトはムービーオブジェクトＩＤによって識別される。各ムービーオブジェクトは、プレイリストの再生の指示や、他のムービーオブジェクトやタイトルへの遷移を命令する１つ以上のナビゲーションコマンドを持つ。再生装置は、そのナビゲーションコマンド列を順に実行する。例えば、PlayPL＃Nと記述されていれば、再生装置は、PLAYLISTディレクトリの中から該当するプレイリストのファイル名を選択し再生する。
【０２７５】
また、例えば、JumpObject＃Nと記述されていれば、再生装置は、ムービーオブジェクトファイルの中から該当するムービーオブジェクトを選択し実行する。
以上が、仮想パッケージの前提となるBD-ROMのデータ構造である。
【０２７６】
次に、図４８を参照しながらローカルストレージ３００に格納されるアップデートキットのデータ構造について説明する。
図４８は、ローカルストレージ３００に格納されるアップデートキットの内部構成の一例を示す図である。
【０２７７】
ローカルストレージ３００に格納されるアップデートキットは、本図に示すように、追加コンテンツ格納ディレクトリ、OrgIDディレクトリ、DiscIDディレクトリ、マージ管理情報ファイル（MERGE.INFO）、署名情報ファイル（MERGE.SF）、追加コンテンツデータファイル（CCC.MPL、VVV.M2T、VVV.CLPなど）を含む。
【０２７８】
「追加コンテンツ領域ルートディレクトリ」は、ローカルストレージ３００のルートディレクトリの直下に存在し、追加コンテンツ領域のルートを示すディレクトリで、ディレクトリ名配布媒体文字以内の固定値（BD＿BUDA）である。
【０２７９】
「OrgIDディレクトリ」は、BD-ROM記録層上のBD管理情報（インデックスファイル）に記載されている、映画作品のプロバイダを特定する３２bitの識別子（OrganizationID）を１６進表記で表した、８文字の名前のディレクトリである。また、OrganizationIDの先頭の連続する０は、ディレクトリの名前から省略する。例えば、OrganizationIDが0x0000001Aの場合は、ディレクトリの名前は"１A"となる。
【０２８０】
「DiscIDディレクトリ」は、BD-ROM記録層上のBD管理情報（インデックスファイル）に記載されている、BD-ROM記録層を特定する１２８bitの識別子（DiscID）を先頭から３２bitずつ４分割し、それぞれを１６進表記で表したディレクトリである。また、OrganizationIDと同様にDiscIDの先頭の連続する０は、ディレクトリの名前から省略する。
【０２８１】
DiscIDディレクトリの配下には、マージ管理情報ファイル、署名情報ファイル、追加コンテンツデータファイルが存在する。
「マージ管理情報ファイル（MERGE.INFO）」は、仮想パッケージを構成するためのローカルストレージに記録される各ファイル格納位置情報と、仮想パッケージ上でそれらのファイルへアクセスするための仮想パス情報から構成され、DiscIDディレクトリ直下に保存される。
【０２８２】
「署名情報ファイル」は、マージ管理情報ファイルに対するプロバイダの電子的な署名を示すファイルであり、MERGE.SFというファイル名でDiscIDディレクトリ直下に保存される。電子的な署名は、一般的に改ざん防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。本実施形態の署名情報ファイルでは、BD-ROM記録層上にあるマージ証明書中の公開鍵に対応する秘密鍵を利用して、マージ管理情報ファイルのハッシュ値が暗号化されている。
【０２８３】
「マージ証明書」は、マージ管理情報ファイルの認証に利用する証明書で、プロバイダが公開する公開鍵が含まれる。プロバイダが提供するマージ証明書は、BD-ROM記録層上にbd.certというファイル名で保存されている。マージ証明書のファイル形式の一例としてはX.５０９を利用することができる。
【０２８４】
「追加コンテンツデータファイル」は、BD-ROM記録層に記録されたオリジナルのコンテンツに対し、追加/更新するファイル群である。ここには、プレイリストファイル、AVクリップなどが記録される。
【０２８５】
図４９は、マージ管理情報ファイルの内容と、その内容を元にBD-ROMのファイルとアップデートキットのファイルとから、仮想パッケージを構築する過程の一例を示す図である。
【０２８６】
図４９の左上は、BD-ROMのディレクトリ・ファイル構成を示す。本図の左下は、アップデートキットのディレクトリ・ファイル構成を示す。
図４９の右下は、マージ管理情報ファイルの内容を示す。マージ管理情報ファイルは、仮想パッケージを構成するローカルストレージにおける「ローカルストレージパス」と、仮想パッケージ上でそれらのファイルへアクセスするための「仮想パッケージパス」と、「ネットワーク属性」から構成される。ネットワーク属性は、仮想パッケージを構築する前に、そのファイルがなくても良いことを示す。
【０２８７】
ローカルストレージパスの一例として、本図では、1/1/CCC.MPL、1/1/VVV.M2T、1/1/VVV.CLP、1/1/SSS.M2T、1/1/SSS.CLPが記述されている。BD＿BUMFディレクトリから追加コンテンツデータファイルへのパスが明記されている。
【０２８８】
一方、仮想パッケージパスとして、BDMV/PLAYLIST/CCC.MPLS、BDMV/STREAM/VVV.M2TS、BDMV/CLIPINF/VVV.CLPI、BDMV/STREAM/SSS.M2TS、BDMV/CLIPINF/SSS.CLPIが記述されている。
【０２８９】
図４９の右上は、このマニフェストファイルによって生成される仮想パッケージを示す。ローカルストレージパスにおいて、1/1/CCC.MPL、1/1/VVV.M2T、1/1/VVV.CLP、1/1/SSS.M２T、1/1/SSS.CLPに存在するファイルが、BDMV/PLAYLIST/CCC.MPLS、BDMV/STREAM/VVV.M2TS、BDMV/CLIPINF/VVV.CLPI、BDMV/STREAM/SSS.M2TS、BDMV/CLIPINF/SSS.CLPIに配置されるように、仮想的にディレクトリ・ファイル構成が変更される。こうすることで、BD-ROMにはないCCC.MPLS、VVV.CLPI、VVV.M２TS、SSS.CLPI、SSS.M２TSが、仮想パッケージでは存在するかの如く取り扱われることになる。
【０２９０】
マージ管理情報に基づき、仮想パッケージが生成されれば、ローカルストレージ上のこれらのファイルは、このマージ管理情報におけるパス情報でアクセスすることができる。このとき、ネットワーク属性が付与されているSSS.M２TSにおいては、仮想パッケージが構築される前に、ローカルストレージにダウンロードが完了している必要はない。仮想パッケージが構築された後、必要になる段階でダウンロードしても良い。
【０２９１】
よって、アップデートキットのダウンロードにあたって、ローカルストレージへの書き込みの順序は、
マージ管理情報ファイル→プレイリスト情報→複数クリップ情報→複数AVクリップ
となる。ここでプレイリスト情報−複数のクリップ情報の書き込みが完了した段階で、仮想パッケージの構築は可能になる。何故なら、AVクリップをDisable状態として扱えば、足りるからである。
【０２９２】
以上のように、仮想的なファイルシステムを通じてサブプレイアイテムをシステムターゲットデコーダに供給することができる。
＜BD-ROMとの併用＞
メインパスがディスクに格納されている本編映像を示す場合には、現在の再生位置以降のサブプレイアイテムで利用される、
現在のPrimaryオーディオストリーム番号SPRM（１）、
字幕ストリーム番号SPRM（２）、
Secondaryビデオストリーム番号SPRM（２１）、
Secondaryオーディオストリーム番号SPRM（２２）
が示すストリーム番号に対応するストリームを含むAVクリップを、逐次、現在の再生位置から近い順にシーケンシャルにダウンロードすることが望ましい。
【０２９３】
このようにすることで、本編映像を見る間ユーザは、字幕や音声を変えることはまれなので、ユーザに待ち時間を与えることなくプレイリストの再生を実現できる。
（補足）
本発明は上記実施の形態に限られないことは勿論である。
（１）上記実施の形態では、ネットワーク再生情報は、クリップ番号、各プレイアイテムの再生区間の開始時点を示す開始時点情報、再生区間の終了時点を示す終了時点情報、チャプタマーク付与情報、及びファイルサイズから構成されるとしたが、図５０に示すように、これらに加え、BD-Jアプリケーションがネットワーク経由でアップデートキットを取得する際のネットワーク上のアドレスを示すURL情報、AVクリップが記憶されるローカルストレージ上のファイルパス、ＣＭ等の区切りを示し、AVクリップに付与されるマーク情報、及びAVクリップの前後のAVクリップのクリップ番号を示す情報を含むとしてもよい。
（２）上記実施の形態では、再生が一時停止された後、再生を再開するに際し、再生再開制御を行うとしたが、必ずしも再生再開制御を行う必要はなく、次に再生すべきプレイアイテムに対応するAVクリップがEnable状態になれば、再生を再開するとしてもよい。
（３）上記実施の形態では、BD-JアプリケーションがPSRセットから再生速度を取得し、再生方向を特定するとしたが、プレイリストが順方向に再生されることを前提とするシステムであれば、必ずしも再生速度を取得する必要はない。
（４）上記実施の形態では、次に再生すべきAVクリップが再生可能状態でない場合には、BD-Jアプリケーションが再生中のAVクリップを一時停止する指示を行うとしたが、これに限らない。再生中のAVクリップの表示期間を引き延ばせればよく、例えば、スロー再生を指示してもよい。また、一時停止やスロー再生中に、AVクリップをダウンロード中である旨を示すグラフィクスをAVクリップに重畳して出力するとしてもよい。
（５）上記実施の形態では、次に再生すべきAVクリップが再生可能状態でない場合には、再生中のAVクリップを終端まで再生することなく、途中で一時停止等の制御を行うとしたが、当該AVクリップを終端まで再生し、終端のフレームを一時停止の対象としてもよいし、終端まで再生後、代替映像に切り替えてもよい。
（６）上記実施の形態では、再生制御エンジン１１１がプレイリストの先頭プレイアイテムから順に再生する場合について主に説明したが、例えばチャプタジャンプ等の飛び込み再生時においても同様である。具体的には、飛び込み再生地点を現在の再生位置に設定し、再生位置を含むAVクリップの次に再生すべきAVクリップが再生可能状態でなければ、再生を一時停止する。
（７）図１１では、ダウンロードが完了していない全てのAVクリップが（数１）の関係を満たす場合に、プレイリスト再生を指示するとしたが、予め設定された数のAVクリップが、（数１）の関係を満たす場合には、プレイリスト再生を指示するとしてもよい。例えば、図１１において、AVクリップ＃3〜＃7が、（数１）の関係を満たす場合には、プレイリスト再生を指示し、AVクリップ＃3〜＃7のうち一つでも（数１）の関係を満たさないものがあれば、プレイリスト再生を指示しない、としてもよい。
【０２９４】
これにより、可能な限りAVクリップを一時停止することを防ぎながら、再生開始時間が遅くなりすぎないようにすることができる。
（８）上記実施の形態では、図２に示すように、プレイリストが「メインパス」と1つ以上の「サブパス」とから構成されるとしたが、プレイリストが「サブパス」を含まず、「メインパス」のみで構成されていてもよい。
【０２９５】
上記実施の形態及び上記補足をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０２９６】
本発明は、ストリーミングライクな再生機能を有する再生装置に広く適用することができる。
【符号の説明】
【０２９７】
１００  再生装置
１０１  BD-ROMドライブ
１０２、１０３  リードバッファ
１０４  システムターゲットデコーダ
１０５  BD-J実行部
１０６  ネットワークインタフェイス
１０７  仮想パッケージ制御部
１０８  状態管理部
１０９  ユーザイベント処理部
１１０  再生エンジン
１１１  再生制御エンジン
１１２  HDMI送受信部
１１３  ヒープメモリ
１１４  仮想マシンインタプリタ
１１５  PSRセット
２００  BD-ROM
３００  ローカルストレージ
４００  WWWサーバ
５００  テレビ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストリームシーケンスを構成する複数のデジタルストリームをアプリケーションの要求に従って外部リソースから順次ダウンロードしながら再生する再生装置であって、
前記ストリームシーケンスに対応するアプリケーションを実行する実行手段と、
前記ストリームシーケンスにおける現在の再生時間を示す時間情報を格納する時間情報格納手段と、
前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報を格納する状態情報格納手段と、
前記ストリームシーケンスの再生を制御する再生制御手段とを備え、
前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記時間情報格納手段に格納されている時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定し、
前記状態情報格納手段に格納されている、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、前記再生制御手段は、前記アプリケーションの要求に従って、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行う
再生装置。
【請求項２】
前記ストリームシーケンスの再生速度を示す値を格納する再生速度格納手段をさらに備え、
前記アプリケーションは、前記再生速度を示す値の正負に基づいて前記ストリームシーケンスの再生方向を特定し、
前記次デジタルストリームの特定はさらに、前記再生方向に基づいてなされる
請求項１記載の再生装置。
【請求項３】
前記複数のデジタルストリームを外部リソースから順次ダウンロードするダウンロード手段をさらに備え、
前記次デジタルストリームがダウンロードされていなければ、前記ダウンロードされていない次デジタルストリームの状態情報は再生不可能状態として前記状態情報格納手段に格納され、前記ダウンロード手段は、前記アプリケーションの要求に従って、前記次デジタルストリームを優先的にダウンロードする
請求項２記載の再生装置。
【請求項４】
前記再生速度を示す値が負の値の場合に、前記アプリケーションは、前記ストリームシーケンスの再生方向が時間方向と逆方向であると特定し、
前記次デジタルストリームは、現在再生されているデジタルストリームの直前の再生区間に相当するデジタルストリームである
請求項３記載の再生装置。
【請求項５】
前記ストリームシーケンスをプレイリストに従って再生しており、
前記プレイリストは、複数のプレイアイテムを含み、
前記複数のプレイアイテムは、前記複数のデジタルストリームと一対一で対応しており、対応するデジタルストリームの再生区間を示し、
前記複数のプレイアイテムのうち一部のプレイアイテムにはチャプタマークが付与されており、
前記アプリケーションは、前記一部のプレイアイテムにチャプタマークが付与されていることを示すチャプタマーク付与情報をさらに含み、
前記チャプタマーク付与情報に基づいて、前記次デジタルストリームとして、再生中のデジタルストリームの直近の、チャプタマークが付与されているプレイアイテムに対応するデジタルストリームを特定する
請求項３記載の再生装置。
【請求項６】
前記ダウンロード手段は、前記アプリケーションの要求に従って、チャプタマークが付与されている残りのプレイアイテムに対応するデジタルストリームを優先的にダウンロードする
請求項５記載の再生装置。
【請求項７】
前記複数のプレイアイテムのうちチャプタマークが付与されているプレイアイテムに対応するデジタルストリームのサイズが、他のデジタルストリームのサイズより小さい
請求項５または６記載の再生装置。
【請求項８】
前記ストリームシーケンスにおける再生開始位置に相当するデジタルストリームの状態情報が、再生可能状態であることを示しており、
前記アプリケーションは、前記再生開始位置からダウンロードが完了しておらず、前記状態情報が再生不可能状態であることを示す一のデジタルストリームの直前のデジタルストリームまでの再生時間と、ダウンロードが完了していないデジタルストリームのうち先頭のデジタルストリームから当該一のデジタルストリームまでをダウンロードするのに必要な総ダウンロード時間とを算出し、
総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段は、前記アプリケーションの要求に従って、前記再生開始位置から再生を開始する
請求項１記載の再生装置。
【請求項９】
前記アプリケーションによる再生時間及び総ダウンロード時間の算出は、ダウンロードが完了しておらず、前記状態情報が再生不可能状態であることを示す全てのデジタルストリームについてなされ、
前記全てのデジタルストリームについて、総ダウンロード時間が再生時間よりも短い場合に、前記再生制御手段により再生の開始がなされる
請求項８記載の再生装置。
【請求項１０】
前記ストリームシーケンスとともに複数のサブストリームシーケンスを前記外部リソースからダウンロードしながら再生しており、
前記ストリームシーケンスは、メインクリップであり、
各サブストリームシーケンスは、サブクリップであり、複数のサブデジタルストリームから構成され、
前記サブクリップは、字幕ストリームまたはオーディオストリームを含み、
前記状態情報はさらに、前記複数のサブデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示しており、
前記再生制御手段が、前記メインクリップとともに一のサブクリップのサブデジタルストリームを再生している場合において、当該サブデジタルストリームの次に再生すべき次サブデジタルストリームの状態情報が、再生不可能状態であることを示しており、他のサブクリップのサブデジタルストリームの状態情報が再生可能状態であることを示していれば、前記再生制御手段は、前記アプリケーションの要求に従って、当該他のサブデジタルストリームを前記一のサブデジタルストリームに続いて再生する
請求項１記載の再生装置。
【請求項１１】
前記ストリームシーケンスとともに複数のサブストリームシーケンスを前記外部リソースからダウンロードしながら再生しており、
前記ストリームシーケンスは、メインクリップであり、
各サブストリームシーケンスは、サブクリップであり、複数のサブデジタルストリームから構成され、
前記サブクリップは、字幕ストリームまたはオーディオストリームを含み、
前記状態情報はさらに、前記複数のサブデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示しており、
前記再生制御手段が、前記メインクリップとともに一のサブクリップのサブデジタルストリームを再生している場合において、当該一のサブクリップから他のサブクリップへの切り替え指示をユーザから受け付けた場合、前記他のサブクリップにおける再生対象となるサブデジタルストリームの状態情報が再生不可能状態であることを示していれば、前記再生制御手段は、前記アプリケーションの要求に従って、再生中のデジタルストリーム及びサブデジタルストリームの表示期間を引き延ばすための特殊再生を行う
請求項１記載の再生装置。
【請求項１２】
前記特殊再生は、一時停止である
請求項１記載の再生装置。
【請求項１３】
前記特殊再生は、スロー再生である
請求項１記載の再生装置。
【請求項１４】
前記再生装置はさらに、前記アプリケーションの要求に従ってグラフィクスを描画するプロセッサを含み、
前記グラフィクスは、前記特殊再生中のデジタルストリームに重畳されて出力される
請求項１２または１３記載の再生装置。
【請求項１５】
ストリームシーケンスを構成する複数のデジタルストリームをアプリケーションの要求に従って外部リソースから順次ダウンロードしながら再生する再生装置に用いられる再生方法であって、
前記ストリームシーケンスに対応するアプリケーションを実行する実行ステップと、
前記ストリームシーケンスの再生を制御する再生制御ステップとを含み、
前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記再生装置に格納されている、前記ストリームシーケンスにおける現在の再生時間を示す時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定し、
前記再生装置に格納されている、前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報のうち、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、前記再生制御ステップは、前記アプリケーションの要求に従って、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行う
再生方法。
【請求項１６】
アプリケーションが記録された記録媒体であって、
前記アプリケーションは、再生装置により実行され、
前記再生装置は、前記アプリケーションに対応するストリームシーケンスを構成する複数のデジタルストリームを前記アプリケーションの要求に従って外部リソースから順次ダウンロードしながら再生するものであり、
前記ストリームシーケンスにおける現在の再生時間を示す時間情報を格納する時間情報格納手段と、
前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報を格納する状態情報格納手段と、
前記ストリームシーケンスの再生を制御する再生制御手段とを備え、
前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記時間情報格納手段に格納されている時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定する特定手順と
前記状態情報格納手段に格納されている、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行うよう、前記再生制御手段に要求する要求手順とを含む
記録媒体。
【請求項１７】
ストリームシーケンスを構成する複数のデジタルストリームを外部リソースから順次ダウンロードしながら再生する再生装置により実行されるアプリケーションであって、
前記再生装置は、
前記ストリームシーケンスにおける現在の再生時間を示す時間情報を格納する時間情報格納手段と、
前記複数のデジタルストリームの各々について再生可能状態であるか、または再生不可能状態であるかを示す状態情報を格納する状態情報格納手段と、
前記ストリームシーケンスの再生を制御する再生制御手段とを備え、
前記アプリケーションは、前記複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記時間情報格納手段に格納されている時間情報と前記再生区間情報とに基づいて、現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定する特定手順と、
前記状態情報格納手段に格納されている、前記次デジタルストリームの状態情報が再生不可能状態であることを示す場合、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行うよう、前記再生制御手段に要求する要求手順とを含む
アプリケーション。
【請求項１８】
オーサリング装置であって、
ユーザ操作を受け付ける受付手段と、
前記ユーザ操作に基づいてアプリケーションを生成する生成手段とを備え、
前記アプリケーションは、ストリームシーケンスを構成する複数のデジタルストリームそれぞれの再生開始時間及び再生終了時間を示す再生区間情報を含み、
前記ストリームシーケンスにおける現在の再生時間を示す時間情報を再生装置から取得する取得手順と、
前記時間情報と前記再生区間情報とに基づいて、前記再生装置において現在再生されているデジタルストリームの次に再生すべき次デジタルストリームを特定する特定手順と、
前記次デジタルストリームが再生不可能な状態である場合、再生中のデジタルストリームの表示期間を引き延ばすための特殊再生、または当該デジタルストリームに続き前記次デジタルストリームに代えて代替映像の再生を行うよう、前記再生装置に要求する要求手順とを含む
オーサリング装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2010103827.tif 000055
【図２】
2010103827.tif 000056
【図３】
2010103827.tif 000057
【図４】
2010103827.tif 000058
【図５】
2010103827.tif 000059
【図６】
2010103827.tif 000060
【図７】
2010103827.tif 000061
【図８】
2010103827.tif 000062
【図９】
2010103827.tif 000063
【図１０】
2010103827.tif 000064
【図１１】
2010103827.tif 000065
【図１２】
2010103827.tif 000066
【図１３】
2010103827.tif 000067
【図１４】
2010103827.tif 000068
【図１５】
2010103827.tif 000069
【図１６】
2010103827.tif 000070
【図１７】
2010103827.tif 000071
【図１８】
2010103827.tif 000072
【図１９】
2010103827.tif 000073
【図２０】
2010103827.tif 000074
【図２１】
2010103827.tif 000075
【図２２】
2010103827.tif 000076
【図２３】
2010103827.tif 000077
【図２４】
2010103827.tif 000078
【図２５】
2010103827.tif 000079
【図２６】
2010103827.tif 000080
【図２７】
2010103827.tif 000081
【図２８】
2010103827.tif 000082
【図２９】
2010103827.tif 000083
【図３０】
2010103827.tif 000084
【図３１】
2010103827.tif 000085
【図３２】
2010103827.tif 000086
【図３３】
2010103827.tif 000087
【図３４】
2010103827.tif 000088
【図３５】
2010103827.tif 000089
【図３６】
2010103827.tif 000090
【図３７】
2010103827.tif 000091
【図３８】
2010103827.tif 000092
【図３９】
2010103827.tif 000093
【図４０】
2010103827.tif 000094
【図４１】
2010103827.tif 000095
【図４２】
2010103827.tif 000096
【図４３】
2010103827.tif 000097
【図４４】
2010103827.tif 000098
【図４５】
2010103827.tif 000099
【図４６】
2010103827.tif 000100
【図４７】
2010103827.tif 000101
【図４８】
2010103827.tif 000102
【図４９】
2010103827.tif 000103
【図５０】
2010103827.tif 000104
【国際調査報告】
2010103827.tif 000105
2010103827.tif 000106
2010103827.tif 000107
2010103827.tif 000108