説明

映像データとアプリケーションとを連動させて再生する再生装置、再生方法、及びプログラム

【課題】再生される映像データに対応するアプリケーションの実行処理の安定を実現する。
【解決手段】映像データと当該映像データに対応するアプリケーションプログラムとを連動させながら再生する再生装置であって、アプリケーションプログラムを処理する処理手段と、ユーザから特殊再生に関する入力を受け付ける受付手段と、前記映像データの所定区間毎に、前記アプリケーションプログラムの管理情報を保持する保持手段と、前記受付手段が特殊再生に関する入力を受け付けると、特殊再生の状態と、前記保持手段に保持されている管理情報とに応じて、前記処理手段の制御を行う処理制御手段とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像データとアプリケーションの連動再生の技術に関し、特に、ユーザオペレーションに応じてアプリケーションを起動させる場合の改良に関する。
【背景技術】
【0002】
映像データとアプリケーションの連動再生とは、映像を再生する再生装置等において、Java(登録商標、以下同様)アプリケーションを実行しながら、映像データの再生を行う技術であり、民生機器の製造分野において今後大いに注目される技術である。連動すべきアプリケーション及び映像データは、“タイトル”と呼ばれる、再生単位において対応づけられる。ユーザがタイトルを選択することにより、映像データの再生に合わせてアプリケーションは起動される。
【0003】
なお、先行技術としては特許文献1、特許文献2に記載されたものがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−125199号公報
【特許文献2】特表2003−513555号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ユーザがタイトルを選択する場合において、チャタリングが問題になる。チャタリングとは、ユーザから同一の入力を極短期間に連続して複数回受け付けることである。つまり、ユーザから同一の入力を極短期間に連続して複数回受け付けると、それらに基づいて、選択されたタイトルに対応するアプリケーションを複数起動してしまう。そのために、画面表示が乱れたり、システム全体の動作がフリーズしたりするという結果を招く。
【0006】
また、再生装置が特殊再生実行中の場合には、倍速再生を大きくすると、アプリケーションの描画速度と、特殊再生の描画速度とが一致しないために、画面の変化が視聴能力以上に大きくなって内容把握が困難になる。さらに、本来内容を把握するにはあまり重要でない部分においてもプログラムを実行したりして無駄な場合がある。
また、早送り、巻き戻し、タイトルサーチ、チャプターサーチ、時間サーチ等、特殊再生の種類によっては、アプリケーションが映像データと同期して動作することが不可能な場合も考えられるが、その場合であっても、不必要なアプリケーションを起動してしまう可能性もある。
【0007】
本発明は上記問題に鑑みてなされたものであって、ユーザによるチャタリングがあった場合でも、ユーザ操作に従い、再生される映像データに対応するアプリケーションの実行処理の安定を実現することができる再生装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、映像データと当該映像データに対応するアプリケーションプログラムとを連動させながら再生する再生装置であって、アプリケーションプログラムを起動する起動手段と、ユーザから映像データとアプリケーションプログラムとが関連した再生単位を特定する入力を受け付ける受付手段と、前記受付手段がユーザから第一の入力を受け付けた後、所定時間内に第二の入力を受け付けた場合に、第一の入力を無効にし、第二の入力を受け付けた後、前記所定時間内に第三の入力がなければ、第二の入力に基づいて前記起動手段にアプリケーションプログラムを起動させる起動制御手段とを含む再生装置である。
【発明の効果】
【0009】
本発明は、上記の構成を備えることにより、ユーザから第一の入力を受け付けた後、所定時間内に第二の入力を受け付けると、第一の入力を無効にする。そして、第二の入力を受け付けた後、前記所定時間内に第三の入力がなければ、第二の入力に基づいてアプリケーションは起動される。よって、アプリケーションが複数起動することはないので、画面表示が乱れたり、システム全体の動作がフリーズしたりすることを防ぐことができる。また、第二の入力に基づいてアプリケーションは起動されるので、タイトルの選択ミスをした場合であっても、所定時間内に所望のタイトルを選択することにより、不必要なアプリケーションの起動を抑止することができる。
【0010】
ここで、前記起動制御手段は、タイマと、前記受付手段が第一の入力を受け付けるとタイマをセットし、前記所定時間内に第二の入力があるか否かを判断して、入力があると判断した場合には、タイマをリセットする処理を、入力はないと判断するまで繰り返す繰り返し手段とを含むとしても良い。
これにより、第一の入力を受け付けるとタイマをセットし、所定時間内に第二の入力があるか否かを判断して、入力があると判断した場合には、タイマをリセットする処理を繰り返すことができる。よって、前記処理を繰り返すことにより、3回以上の入力を受け付けた場合であっても対応することができる。
【0011】
ここで、前記起動制御手段は、前記映像データとアプリケーションプログラムとが関連した再生単位毎に、前記アプリケーションプログラムの起動属性を示す情報を取得する取得手段と、前記起動属性が、前記再生手段により対応する映像データが再生されると、自動的に前記アプリケーションプログラムが実行される旨を示す情報であるか否かを判定する判定手段とを含み、前記起動制御手段による起動制御は、前記判定手段による判定が肯定である場合になされるとしても良い。
【0012】
これにより、アプリケーションプログラムの起動属性に応じて、起動制御手段による起動制御を実行するか否かを決定できる。ここで、起動属性とは、映像データが開始されたときに、当該映像データに対応するアプリケーションが自動的に起動するか否かを示す。よって、当該映像データに対応するアプリケーションが自動的に起動する場合のみ、起動制御手段による起動制御を実行することができる。
【0013】
ここで、前記映像データとアプリケーションプログラムとが関連した再生単位とは、タイトルであり、タイトルには、映像・音声を主とするMovieタイトルと、アプリケーションを主とするInteractiveタイトルがあり、タイトルがMovieタイトルの場合に、前記起動制御手段は起動制御を行うとしても良い。
これにより、タイトルが映像・音声を主とするMovieタイトルの場合には、起動制御手段による起動制御を実行することにより、アプリケーションが複数起動することを防止できる。また、タイトルがアプリケーションを主とするInteractiveタイトルの場合には、通常通りアプリケーションを起動することにより、タイトルサーチオペレーション後、即座に画面上に何らかを表示することが可能となるため、ユーザストレスを解消することができる。
【0014】
ここで、映像データと当該映像データに対応するアプリケーションプログラムとを連動させながら再生する再生装置であって、アプリケーションプログラムを処理する処理手段と、ユーザから特殊再生に関する入力を受け付ける受付手段と、前記映像データの所定区間毎に、前記アプリケーションプログラムの管理情報を保持する保持手段と、前記受付手段が特殊再生に関する入力を受け付けると、特殊再生の状態と、前記保持手段に保持されている管理情報とに応じて、前記処理手段の制御を行う処理制御手段とを含む再生装置としても良い。
【0015】
これにより、特殊再生の状態と、保持手段に保持されている管理情報とに応じて、アプリケーションプログラムの処理を制御できる。
ここで、前記特殊再生の状態とは、特殊再生の開始、特殊再生実行中、特殊再生の終了の何れかであり、前記処理制御手段は、前記特殊再生の状態が特殊再生の開始、あるいは特殊再生実行中の場合には、前記処理手段に新たにアプリケーションプログラムを起動及び終了させず、前記特殊再生の状態が特殊再生の終了になると、前記処理手段にアプリケーションプログラムを起動及び終了させるとしても良い。
【0016】
これにより、特殊再生実行中は、アプリケーションプログラムの起動及び終了をしないので、アプリケーションの描画速度と、特殊再生の描画速度とが一致しないために、画面の変化が視聴能力以上に大きくなって内容把握が困難になる状況を回避することができる。
ここで、前記管理情報は、特殊再生実行中のアプリケーションプログラムの処理に関する情報を含み、前記処理制御手段は、前記特殊再生の状態が特殊再生実行中の場合であっても、前記情報に従い、前記処理手段にアプリケーションプログラムを起動及び終了させるとしても良い。
【0017】
これにより、特殊再生実行中であっても、特殊再生実行中のアプリケーションプログラムに関する情報に従い、アプリケーションプログラムを起動及び終了させることができる。よって、例えば、特殊再生の速度があまり速くなく、アプリケーションの描画速度と、特殊再生の描画速度とに大差がない場合には、特殊再生実行中であっても、アプリケーションプログラムの処理を行うことにより、ユーザに対し、より柔軟な対応ができる。
【0018】
ここで、前記管理情報は、前記アプリケーションプログラムの起動属性を示す情報を含み、前記処理制御手段は、前記特殊再生の状態が特殊再生実行中に、前記起動属性を示す情報を記憶する記憶手段と、前記受付手段がユーザから特殊再生の終了に関する入力を受け付けた後、所定時間内に特殊再生の開始に関する入力を受け付けたか否かを判断する判断手段とを含み、前記判断手段による判断が否定の場合に、前記処理制御手段は、前記記憶手段に記憶された情報に従い、前記処理手段にアプリケーションプログラムを起動及び終了させるとしても良い。
【0019】
これにより、アプリケーションプログラムを遅延させて起動・終了するためにアプリケーションプログラムの起動属性を記憶しておくことができるので、特殊再生終了後に管理情報を読み込んでアプリケーションプログラムの処理を制御する場合に比べて、起動・終了までの時間を短縮することができる。
【図面の簡単な説明】
【0020】
【図1】BD−ROMのデータ階層図
【図2】BD−ROMが対象としているソフトウェアのレイヤモデルを示す図
【図3】再生装置の内部構成を示す図
【図4】タイトル選択に関わるユーザオペレーションに合わせたアプリケーションの動作制御の処理に関わるブロック図
【図5】アプリ管理情報の一例を示す図
【図6】アプリ起動状態管理情報の一例を示す図
【図7】タイトル毎にアプリ管理情報を保持している様子を示す図
【図8】タイトル遷移に応じたアプリケーションの状態遷移を示す図
【図9】タイトルサーチに合わせたアプリケーションの動作制御を示すフローチャート
【図10】アプリケーション遅延起動制御を示すフローチャート
【図11】アプリケーション遅延起動制御を示すフローチャート
【図12】ユーザの入力と再生装置の動作の一例を示すタイミングチャート
【図13】プレイリスト管理情報に一例を示す図
【図14】タイトルごとに配置されたアプリ管理情報とプレイリスト管理情報を示す図
【図15】タイトル遷移に応じたアプリケーション、プレイリストの状態遷移を示す図
【図16】タイトルごとに配置されたアプリ管理情報とプレイリスト管理情報を示す図
【図17】プレイリスト管理情報を考慮してタイトルサーチに合わせたアプリケーションの動作制御を示すフローチャート
【図18】アプリケーション起動制御処理を示すフローチャート
【図19】タイトル属性情報の一例を示す図
【図20】タイトル#1及びタイトル#2のタイトル属性情報を示す図
【図21】タイトル属性情報、プレイリスト管理情報を考慮してタイトルサーチに合わせたアプリケーションの動作制御を示すフローチャート
【図22】本発明の第二実施形態における特殊操作に関連したユーザ操作の処理に関わるブロック図
【図23】AV再生ライブラリが保持しているプレーヤ変数の内容を示す図
【図24】再生装置が保持している特殊再生情報の内容を示す図
【図25】本発明の第二実施形態におけるユーザ操作をトリガとして特殊再生を行う処理のフローチャート
【図26】本発明の第二実施形態における特殊操作に関連したユーザ操作の処理に関わるブロック図
【図27】本発明の第二実施形態におけるアプリケーションの管理単位を示す図
【図28】本発明の第二実施形態におけるアプリ管理情報を示す図
【図29】図28におけるタイトル遷移に応じたアプリケーション状態遷移を示す図
【図30】本発明の第二実施形態におけるアプリケーションの管理単位を示す図
【図31】本発明の第二実施形態における特殊再生に合わせたアプリケーションの動作制御を示すフローチャート
【図32】図31におけるアプリケーション状態制御処理を示すフローチャート
【図33】本発明の第二実施形態における特殊再生時終了フラグを追加したアプリ管理情報を示す図
【図34】本発明の第二実施形態における特殊再生中のアプリケーション終了機構を示すフローチャート
【図35】本発明の第二実施形態における特殊再生時起動フラグを追加したアプリ管理情報を示す図
【図36】本発明の第二実施形態における特殊再生中のアプリケーション起動機構を示すフローチャート
【図37】本発明の第二実施形態における早見再生動作フラグを追加したアプリ管理情報を示す図
【図38】本発明の第二実施形態における早見再生中のアプリケーション動作制御機構を示すフローチャート
【図39】本発明の第二実施形態における特殊再生速度を追加したアプリ管理情報を示す図
【図40】本発明の第二実施形態における特殊再生速度に応じたアプリケーション動作制御機構を示すフローチャート
【図41】本発明の第二実施形態におけるアプリケーションの管理単位を示す図
【図42】タイトル遷移に応じたアプリケーション状態遷移を示す図
【図43】本発明の第三実施形態における特殊操作に関連したユーザ操作の処理に関わるブロック図
【図44】本発明の第三実施形態におけるアプリ起動状態管理情報の一例を示す図
【図45】本発明の第三実施形態における特殊再生に合わせたアプリケーションの動作制御を示すフローチャート
【図46】図45におけるアプリケーション遅延制御処理を示すフローチャート
【図47】図45におけるアプリケーション遅延制御処理を示すフローチャート
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態について、図面を参照しながら説明する。
(第一実施形態)
<構成>
図1は、BD−ROM(以降、「BD」と称する場合もある)の構成を示した図である。BDディスクは、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはBCA(Burst Cutting Area)と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
【0022】
論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは、UDF(Universal Disk Format)やISO9660などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出す事が可能になっている。本実施の形態の場合、BDディスク上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDVIDEOディレクトリが置かれている。このディレクトリはBD−ROMで扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。
【0023】
BDVIDEOディレクトリの下には、次の7種類のファイルが記録されている。
BD.INFO(ファイル名固定)は、「BD管理情報」の一つであり、BDディスク全体に関する情報を記録したファイルである。BDプレーヤは最初にこのファイルを読み出す。
BD.PROG(ファイル名固定)は、「BD再生プログラム」の一つであり、BDディスク全体に関わるプログラムを記録したファイルである。
【0024】
XXX.PL(「XXX」は可変、拡張子「PL」は固定)は、「BD管理情報」の一つであり、シナリオを記録するプレイリスト(Play List)情報を記録したファイルである。プレイリスト毎に1つのファイルを持っている。
XXX.PROG(「XXX」は可変、拡張子「PROG」は固定)は、「BD再生プログラム」の一つであり、前述したプレイリスト毎のプログラムを記録したファイルである。プレイリストとの対応はファイルボディ名(「XXX」が一致する)によって識別される。
【0025】
YYY.VOB(「YYY」は可変、拡張子「VOB」は固定)は、「AVデータ」の一つであり、AVデータであるMPEGストリームが記録されたファイルである。VOB毎に1つのファイルを持っている。
YYY.VOBI(「YYY」は可変、拡張子「VOBI」は固定)は、「BD管理情報」の一つであり、AVデータであるVOBに関わる管理情報を記録したファイルである。VOBとの対応はファイルボディ名(「YYY」が一致する)によって識別される。
【0026】
ZZZ.PNG(「ZZZ」は可変、拡張子「PNG」は固定)は、「AVデータ」の一つであり、字幕及びメニューを構成するためのイメージデータをPNG(W3Cによって標準化された画像フォーマットであり「ピング」と読む)形式で記録したファイルである。1つのPNGイメージ毎に1つのファイルを持つ。
図2は再生制御のレイヤモデルを示した図である。図2の第1層は、物理層であり、処理対象たるストリーム本体の供給制御である。この第1層に示すように、処理対象たるストリームは、BD−ROMだけではなく、HD、メモリカード、ネットワークといったあらゆる記録媒体、通信媒体を供給源としている。これらHD、メモリカード、ネットワークといった供給源に対する制御(ディスクアクセス、カードアクセス、ネットワーク通信)が第1層の制御である。
【0027】
第2層は、AVデータのレイヤである。第2層は、第1層で供給されたストリームを、どのような復号化方式を用いて復号するのかを規定している。
第3層(BD管理データ)は、ストリームの静的なシナリオを規定するレイヤである。静的なシナリオとは、ディスク制作者によって予め規定されたアプリ管理情報、再生経路情報、ストリーム管理情報であり、第3層はこれらに基づく再生制御を規定している。
【0028】
第4層(BD再生プログラム)は、ストリームにおける動的なシナリオを実現するレイヤである。動的なシナリオは、AVストリームの再生手順、及び、その再生に関する制御手順のうち少なくとも一方を実行するプログラムである。動的なシナリオによる再生制御は、装置に対するユーザ操作に応じて変化するものであり、プログラム的な性質をもつ。ここでの動的な再生制御には、2つのモードがある。2つのモードのうち1つは、AV機器特有の再生環境で、BD−ROMに記録された動画データを再生するモード(DVDライクモード)であり、もう1つはBD−ROMに記録された動画データの付加価値を高めるモード(Javaモード)である。図2において第4層には、DVDライクモードとJavaモードの2つのモードが記述されている。DVDライクモードは、DVDライクな再生環境での再生モードであり、再生進行を動的に変化させるためのシナリオが記述されたシナリオプログラムが動作する。もう一つのJavaモードは、Java仮想マシンを主体とした再生モードであり、Javaアプリケーションから再生制御を行う。
【0029】
図3は、再生装置の大まかな機能構成を示すブロック図である。図3に示すように、再生装置は、BD−ROMドライブ301と、トラックバッファ302と、デマルチプレクサ303と、ビデオデコーダ304と、ビデオプレーン305と、オーディオデコーダ306と、イメージメモリ307と、イメージプレーン308と、イメージデコーダ309と、加算器310と、静的シナリオメモリ311と、動的シナリオメモリ312と、DVDライクモジュール313と、Javaモジュール314と、UO検知モジュール315と、モード管理モジュール316と、ディスパッチャ317と、レンダリングエンジン318と、特殊再生情報保持部319と、AV再生ライブラリ320とから構成される。
【0030】
BD−ROMドライブ301は、BD−ROMのローディング/イジェクトを行い、BD−ROMに対するアクセスを実行する。
トラックバッファ302は、FIFOメモリであり、BD−ROMから読み出されたACCESS UNITを先入れ先出し式に格納する。
デマルチプレクサ303は、トラックバッファ302からACCESS UNITを取り出して多重分離を行い、GOPを構成するビデオフレームと、オーディオフレームとを得て、ビデオフレームをビデオデコーダ304に出力し、オーディオフレームをオーディオデコーダ306に出力する。副映像ストリームはイメージメモリ307に格納し、Navigation Button情報は動的シナリオメモリ312に格納する。デマルチプレクサ303による多重分離は、TSパケットをPESパケットに変換するという変換処理を含む。
【0031】
ビデオデコーダ304は、デマルチプレクサ303から出力されたビデオフレームを復号して、非圧縮形式のピクチャをビデオプレーン305に書き込む。
ビデオプレーン305は、非圧縮形式のピクチャを格納しておくためのメモリである。
オーディオデコーダ306は、デマルチプレクサ303から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
【0032】
イメージメモリ307は、BD−ROMから読み出された副映像ストリーム、Navigation Button情報内のPNGデータ、画像ファイルを格納しておくバッファである。
イメージプレーン308は、一画面分の領域をもったメモリであり、展開された副映像ストリーム、PNGデータ、画像ファイルが配置される。
【0033】
イメージデコーダ309は、イメージメモリ307に格納された副映像ストリーム、PNGデータ、画像ファイルを展開してイメージプレーン308に書き込む。副映像ストリームのデコードにより、各種メニュー、副映像が画面上に現れることになる。
加算器310は、ビデオプレーン305に格納された非圧縮形式のピクチャデータに、イメージプレーン308に展開されたイメージを合成して出力する。
【0034】
静的シナリオメモリ311は、アプリ管理情報、カレントのPLやカレントのストリーム管理情報を格納しておくためのメモリである。アプリ管理情報とは、BD−ROMに記録されている。カレントPLとは、BD−ROMに記録されている複数PLのうち、現在処理対象になっているものをいう。カレントストリーム管理情報とは、BD−ROMに記録されている複数のストリーム管理情報のうち、現在処理対象になっているものをいう。
【0035】
動的シナリオメモリ312は、カレント動的シナリオを格納しておき、DVDライクモジュール313、Javaモジュール314による処理に供されるメモリである。カレント動的シナリオとは、BD−ROMに記録されている複数シナリオのうち、現在実行対象になっているものをいう。
DVDライクモジュール313は、DVDライクモードの実行主体となるDVD仮想プレーヤであり、動的シナリオメモリ312に読み出されたカレントのシナリオプログラムを実行する。
【0036】
Javaモジュール314は、Javaプラットフォームであり、Java仮想マシン、コンフィグレーション、プロファイルからなる。Java仮想マシンは、クラスローダを含む。Javaモジュール314は、動的シナリオメモリ312に読み出されたJavaクラスファイルからカレントのJavaオブジェクトを生成し、実行する。Java仮想マシンは、Java言語で記述されたJavaオブジェクトを、再生装置におけるCPUのネイティブコードに変換して、CPUに実行させる。
【0037】
UO検知モジュール315は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報(以降、UO(User Operation)という)をモード管理モジュール316に出力する。
モード管理モジュール316は、BD−ROMから読み出されたモード管理テーブルを保持して、モード管理及び分岐制御を行う。モード管理モジュール316によるモード管理とは、動的シナリオをどのDVDライクモジュール313、Javaモジュール314に実行させるかという、モジュールの割り当てである。
【0038】
ディスパッチャ317は、UOから、現在の再生装置におけるモードに適切なUOのみを選んで、そのモードを実行するモジュールに受け渡す。例えばDVDライクモードの実行中に、上下左右、アクティベートといったUOを受け付けた場合、DVDライクモードのモジュールにこれらのUOを出力するというのがディスパッチャ317の処理である。
レンダリングエンジン318は、Java2D、OPEN−GLといった基盤ソフトウェアを備え、Javaモジュール314からの指示に従ってコンピュ−タ・グラフィックスの描画を行い、描画されたコンピュ−タ・グラフィックスをイメージプレーン308に出力する。
【0039】
特殊再生情報保持部319は、特殊再生として再生装置でサポートしている再生速度一覧、及びDVDライクモードで使われる特殊再生の情報を保持している。これらの情報はJavaモジュールから参照され、Javaモード時における特殊再生においてDVDライクモードと互換を取るために用いられる。
AV再生ライブラリ320は、DVDライクモジュール313、Javaモジュール314からの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り換え、副映像切り換え、アングル切り換えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をプレイリスト情報に従って行うことをいう。このAV再生ライブラリ320は、DVDライクモジュール313、Javaモジュール314から指定された再生速度の即値に応じ、トラックバッファ302からの読み込み速度を変化させ、その読み込み速度に応じてデマルチプレクサ303を制御してビデオデータを抜き出し、ビデオデコーダ304に送る。また、オーディオデータも同様にデマルチプレクサ303を制御して抜き出し、オーディオデコーダ306に送る。これらの処理によって指定された再生速度の即値による特殊再生が可能となる。
【0040】
以上が再生装置の構成要素である。
続いて図4は、Javaモジュール314の詳細構成であり、タイトル選択に関わるユーザオペレーションに合わせたアプリケーションの動作制御の処理に関わるブロック図である。
ディスパッチャ317は、タイトル選択に関わるユーザオペレーションが行われると、タイトルマネージャ401に対して、入力された数値に対応するタイトル選択を要求する。
【0041】
タイトルマネージャ401は、メディア再生モジュール404に対して映像・音声の再生を、アプリケーション制御モジュール406に対してアプリケーションの起動を要求する。
アプリケーション制御モジュール406は、タイトルマネージャ401からの起動要求、動的シナリオ情報取得モジュール407から取得したJavaアプリケーション414、Javaアプリケーション413、静的シナリオ情報取得モジュール408から取得したアプリ管理情報、遅延制御管理モジュール411から取得したアプリケーション状態、及び時間情報に基づいて、Javaアプリケーション414、Javaアプリケーション413の挙動制御を行う。
【0042】
動的シナリオ情報取得モジュール407は、動的シナリオメモリ312からJavaアプリケーションを取得するモジュールであり、アプリケーション制御モジュール406からの指示により、BD−ROMからJavaアプリケーションを動的シナリオメモリ312に記憶したり、Javaアプリケーションを動的シナリオメモリ312から解放したりする。
【0043】
静的シナリオ情報取得モジュール408は、静的シナリオメモリ311からJavaアプリケーションの動作を制御するためのアプリ管理情報を取得するモジュールである。
再生情報取得モジュール409は、再生情報管理モジュール405から再生情報を取得したり、再生情報に変更があった場合にイベントを受信したりするモジュールである。
特殊再生状態取得モジュール410は、メディア再生モジュール404から特殊再生の状態として、特殊再生の開始、特殊再生実行中、特殊再生の終了に関するイベントを受信するモジュールである。
【0044】
遅延制御管理モジュール411は、タイトル選択時のタイトル遷移に合わせて、アプリケーションの起動属性を記憶したり、遅延起動の際の時間の管理を行うモジュールである。ここで、遅延起動とは、ユーザからのタイトル選択により、アプリケーション制御モジュール406が、選択されたタイトルの起動要求を受け付けたとしても、対応するアプリケーションを直ちに起動させずに、遅延して起動させることをいう。遅延起動の際の時間とは、遅延起動させる際に、どれだけの時間待つかを示す時間である。また、遅延制御管理モジュール411の具体的な構成としては、タイマを含む。
【0045】
UOイベント配送モジュール412は、タイトルマネージャ401が受信したUOイベントをJavaアプリケーションに配送するためのモジュールである。
<データ>
図5は、アプリ管理情報の一例を示す図である。図5に示すように、アプリ管理情報は、アプリケーションID501と、起動属性502と、バウンド属性503とから構成される。
【0046】
アプリケーションID501は、アプリケーションを識別するための識別子である。
起動属性502は、タイトルが開始されたときに起動されるアプリケーション(AutoStart)と起動されないアプリケーション(Present)とを区別するためのタイトル開始時の起動属性を示す。
バウンド属性503は、タイトルにまたがって連続実行可能かどうかを識別するための属性である。バウンド属性が「bound」ならば、タイトル選択時点でアプリケーションは終了される。「unbound」ならば、タイトル選択時点で終了しない。
【0047】
続いて図6は、アプリ起動状態管理情報の一例を示す。図6に示すように、アプリ起動状態管理情報は、アプリケーションID501と、アプリ起動状態601とから構成される。
アプリ起動状態601は、「AutoStart」、「Present」の何れかを示す。「AutoStart」は、タイトル選択後に自動起動されるアプリケーションであることを示している。「Present」は、タイトル選択後に自動起動も終了もされないアプリケーションであることを示している。「Present」は、他のアプリケーションによって起動されるか、あるいはユーザ操作などのイベントにより起動される。
【0048】
図7は、アプリ管理情報がタイトルごとに保持されている場合の一例を示す図である。ここで、Application Management Table(以下、「AMT」という)は、アプリ管理情報を保持しているテーブルである。この場合、タイトルが切り替わるごとに、アプリケーションマネージャ402は、タイトルマネージャ401からアプリ管理情報を取得することにより、映像の再生に合わせたアプリケーションの動作制御を行う。
<動作>
図8は、図7のアプリ管理情報に基づいて、タイトル#1とタイトル#2とを順に通常再生する場合において、アプリケーションの動作の一例を示している。ここで、Present属性をもつアプリケーションは、他のアプリケーションによって起動されるとする。まず、タイトル#1が開始されると、アプリ管理情報にしたがってAutoStart属性を持つアプリケーション#1が起動される。アプリケーション#2がアプリケーション#1より起動され、アプリケーション#3がアプリケーション#2より起動される。その後、次のタイトル#2が選択されると、タイトル#1のアプリ管理情報のバウンド属性が「bound」である、アプリケーション#1及びアプリケーション#2は終了される。「unbound」である、アプリケーション#3はタイトル選択処理の間も起動し続ける。タイトル#2が開始されると、タイトル#2でAutoStart属性を持つアプリケーション#2が起動し、アプリケーション#3は継続して実行される。アプリケーション#4がアプリケーション#3より起動され、タイトル#2が終了すると、タイトル#2のアプリ管理情報でバウンド属性が「bound」であるアプリケーション#2、アプリケーション#3、及びアプリケーション#4は終了される。
【0049】
なお、Present属性をもつアプリケーションは、ユーザ操作などのイベントにより起動されるとしてもよい。
図9は、モード管理モジュール316からタイトル選択、あるいは、タイトル終了要求を受け取った場合の、タイトルマネージャ401、アプリケーション制御モジュール406に関する処理のフローチャートの一例である。
【0050】
タイトルマネージャ401は、モード管理モジュールからタイトル選択要求、あるいは、タイトル終了要求を受け取ると、その判定を行う(ステップS901)。タイトル終了要求の場合、タイトルマネージャ401は、メディア再生モジュール404に対して映像・音声の終了を要求する。要求を受け取ると、メディア再生モジュール404は映像・音声を終了する(ステップS902)。次に、タイトルマネージャ401は、アプリケーション制御モジュール406に対して、アプリケーションの終了を要求する。要求を受け取ると、アプリケーション制御モジュール406は、実行中の全てのアプリケーションを終了する(ステップS903)。タイトル選択要求の場合、タイトルマネージャ401は、アプリケーション制御モジュール406に対して、バウンドアプリケーションの終了を要求する。要求を受け取ると、アプリケーション制御モジュール406は、実行中の全てのバウンドアプリケーションを終了する(ステップS904)。その後、アプリケーション制御モジュール406は、アプリケーションの遅延起動制御処理を行う(ステップS905)。
【0051】
続いて図10及び図11は、図9におけるアプリケーションの遅延起動制御処理を示すフローチャートである。本フローチャートにおいて、iはアプリ管理情報に記載されているアプリケーションIDの一つを特定する変数である。jは、アプリ起動状態管理情報に記載されているアプリケーションIDの一つを特定する変数である。まず、入力された数値が記憶されている数値と不一致、または記憶されている数値なしか否かを判断する(ステップS1001)。入力された数値が記憶されている数値と不一致、または記憶されている数値がない場合は、入力された数値を記憶する(ステップS1002)。入力された数値が記憶されている数値と一致する場合、または入力された数値の記憶処理後にiを初期化する(ステップS1003)。当該アプリケーションIDに対応するアプリケーションが現在実行中であるか否かを判定する(ステップS1004)。現在実行中でなければ、当該アプリケーションIDに対応する起動属性がAutoStartであるか否かを判定する(ステップS1005)。起動属性がAutoStartでない場合には、アプリ起動状態をPresentとして遅延制御管理モジュール411に記憶する(ステップS1006)。起動属性がAutoStartである場合には、アプリ起動状態をAutoStartとして遅延制御管理モジュール411に記憶する(ステップS1007)。現在実行中であれば、アプリケーションを継続して実行する(ステップS1008)。上記処理後にアプリ管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS1009)。存在する場合はiを一つ計数し(ステップS1010)、ステップS1004に移行する。他に存在しない場合は、アプリ管理情報に記載されていないアプリケーションIDに対応するアプリケーションが実行中か否かを判定する(ステップS1011)。前記アプリケーションが実行中である場合には、全て終了する(ステップS1012)。所定時間を計測する為のタイマをセットし(ステップS1013)、所定時間内に記憶した数値と同一の入力があるか否かを判定する(ステップS1014)。所定時間内に記憶した数値と同一の入力がある場合には、タイマをリセットし(ステップS1015)、ステップS1014に移行する。続いてjを初期化する(ステップS1016)。当該アプリケーションIDに対応するアプリ起動状態がAutoStartであるか否かを判定する(ステップS1017)。起動属性がAutoStartである場合には、アプリケーションを起動する(ステップS1018)。アプリ起動状態管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS1019)。存在する場合はjを一つ計数し(ステップS1020)、ステップS1017に移行する。他に存在しない場合は処理を終了する。
【0052】
なお、上記フローチャートでは、所定時間内に記憶した数値と同一の入力があるか否かを判定したが、同一の入力でなくても良い。所定時間内に他のタイトルを選択する入力があった場合であっても、タイマをリセットし、所定時間内に入力がないと判定されると、最後の入力に基づいてアプリケーションプログラムは起動されるとしても良い。
続いて図12を用いて、同一の入力が連続して複数回あった場合のアプリケーションの遅延起動制御処理を具体的に説明する。図12の第一段はディスパッチャを示す。第二段はタイトルマネージャを示す。第三段はアプリケーションマネージャを示す。第四段はクラスローダを示す。それぞれの段の横軸は時間を示す。時刻tから時刻t、時刻tから時刻t、時刻tから時刻t、及び時刻tから時刻tは所定時間を示す。時刻tにおいて、ユーザによりタイトル#1を特定するリモコンキーが押下されると、ディスパッチャはタイトルマネージャにタイトル#1を選択するよう要求する。要求を受け取ると、タイトルマネージャはアプリケーションマネージャにタイトル#1を起動するよう要求する。要求を受け取ると、アプリケーションマネージャは直ちにクラスローダに命令を発行せずに、タイマをセットし、所定時間内に同一のタイトルを選択する入力があるか否かを判断する。ここで、時刻tにおいて、タイトル#1を選択する入力があるので、タイマをリセットし、再び所定時間内に同一のタイトルを選択する入力があるか否かを判断する。ここで、時刻tにおいて、タイトル#1を選択する入力があるので、タイマをリセットし、再び所定時間内に同一のタイトルを選択する入力があるか否かを判断する。ここで、時刻tにおいて、タイトル#1を選択する入力があるので、タイマをリセットし、再び所定時間内に同一のタイトルを選択する入力があるか否かを判断する。所定期間内に同一のタイトルを選択する入力がないので、時刻tにおいて、最後に受信した入力(時刻tにおける入力)に基づいてクラスローダに命令を発行する。
【0053】
続いて図13はタイトル選択時に、映像・音声の開始をアプリケーションからではなく、自動的にJavaモジュールで行うためのプレイリスト管理情報の一例について示している。プレイリスト管理情報は、自動再生フラグ1301と、プレイリスト名1302とから構成される。
自動再生フラグは、「有効」、「無効」の何れかを示す。「有効」の場合には、プレイリスト名1302に記載されているプレイリストの先頭に記載されたプレイリストを自動的にJavaモジュールで再生する。自動再生フラグが「無効」の場合には、プレイリスト名1302に記載されているプレイリストを自動的にJavaモジュールで再生せず、アプリケーションから再生する。
【0054】
プレイリスト名1302は、タイトルで使用可能なプレイリストの一覧を示す。
続いて図14は、アプリ管理情報だけでなく、プレイリスト管理情報もタイトルごとに保持されている場合の一例を示す。このように、プレイリスト管理情報をタイトルごとに配置することで、タイトルで使用可能なプレイリストを制限することが可能であるだけでなく、タイトル選択時に、自動的にプレイリストを再生することが可能である。
【0055】
図15は、図14のアプリ管理情報、及びプレイリスト管理情報に基づいて、タイトル#1とタイトル#2とを順に通常再生する場合のアプリケーションの動作、及びプレイリストの再生を示している。タイトル#1が開始されると、アプリ管理情報にしたがってAutoStart属性を持つアプリケーション#1が起動され、さらに、プレイリスト管理情報の自動再生フラグが「有効」であるので、先頭に記載されているプレイリスト#1が自動的に再生される。他のプレイリストは、アプリケーションからの再生要求、あるいはユーザ操作などのイベントにより再生される。例えば、現在実行中のアプリケーション#1がプレイリストの切り替えを行うことにより、プレイリスト#1からプレイリスト#2に切り替わる。タイトル#2が開始されると、タイトル#2でAutoStart属性を持つアプリケーション#2が起動し、タイトル#1にのみ関連付けられているアプリケーション#1は終了される。プレイリスト管理情報の自動再生フラグが「無効」であるので、プレイリストは自動的に再生されない。アプリケーション#2がプレイリスト#3の再生を要求することにより、プレイリスト#3は開始される。アプリケーション#2、プレイリスト#3が終了することで、タイトル#2は終了する。
【0056】
続いて図16は、タイトルがアプリ管理情報、及びプレイリスト管理情報の両方を含むものと、アプリ管理情報のみを含むものとがある場合の一例を示す。このように、アプリ管理情報、及びプレイリスト管理情報の両方を含むもの、アプリ管理情報のみを含むものをタイトルごとに保持することで、映像・音声とアプリケーションが共存するタイトルと、ゲームのようにアプリケーションのみのタイトルを用意することが可能となる。
【0057】
図17は、タイトルにプレイリスト管理情報を含む場合を考慮した、モード管理モジュール316からタイトル選択、あるいは、タイトル終了要求を受け取った場合の、タイトルマネージャ401、アプリケーション制御モジュール406に関する処理のフローチャートの一例である。
タイトルマネージャ401は、モード管理モジュール316からタイトル選択要求、あるいは、タイトル終了要求を受け取ると、その判定を行う(ステップS1701)。タイトル終了要求の場合、タイトルマネージャ401は、メディア再生モジュール404に対して映像・音声の終了を要求する。要求を受け取ると、メディア再生モジュール404は映像・音声を終了する(ステップS1702)。タイトルマネージャ401は、アプリケーション制御モジュール406に対して、アプリケーションの終了を要求する。要求を受け取ると、アプリケーション制御モジュール406は、実行中の全てのアプリケーションを終了する(ステップS1703)。タイトル選択要求の場合、タイトルマネージャ401は、アプリケーション制御モジュール406に対して、バウンドアプリケーションの終了を要求する。要求を受け取ると、アプリケーション制御モジュール406は、実行中の全てのバウンドアプリケーションを終了する(ステップS1704)。タイトルマネージャ401は、選択されたタイトルにプレイリスト管理情報が存在するかどうか判定する(ステップS1705)。選択されたタイトルにプレイリスト管理情報が存在しない場合には、アプリケーション制御モジュール406に対して、アプリケーションの起動を要求する。要求を受け取ると、アプリケーション制御モジュール406はアプリケーション起動制御処理を行う(ステップS1706)。選択されたタイトルにプレイリスト管理情報が存在する場合には、前記プレイリスト管理情報内の自動再生フラグが有効であるかどうか判定する(ステップS1707)。前記プレイリスト管理情報内の自動再生フラグが無効である場合には、ステップS1706の処理を行う。前記プレイリスト管理情報内の自動再生フラグが有効である場合には、タイトルマネージャ401は、メディア再生モジュール404に対して、映像・音声開始を要求する。要求を受け取ると、メディア再生モジュール404は、指定されたプレイリストを再生する(ステップS1708)。アプリケーション制御モジュール406は、アプリケーションの遅延起動処理を行う(ステップS1709)。
【0058】
続いて図18は、図17におけるアプリケーション起動制御処理の一例を示す。本フローチャートにおいて、iはアプリ管理情報に記載されているアプリケーションIDの一つを特定する変数である。まず、iを初期化する(ステップS1801)。当該アプリケーションIDに対応するアプリケーションが現在実行中であるか否かを判定する(ステップS1802)。現在実行中であれば、アプリケーションを継続して実行する(ステップS1803)。現在実行中でなければ、当該アプリケーションIDに対応する起動属性がAutoStartであるか否かを判定する(ステップS1804)。起動属性がAutoStartである場合には、アプリケーションを起動する(ステップS1805)。上記処理後にアプリ管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS1806)。存在する場合はiを一つ計数し(ステップS1807)、ステップS1802に移行する。他に存在しない場合は、アプリ管理情報に記載されていないアプリケーションIDに対応するアプリケーションが実行中か否かを判定する(ステップS1808)。前記アプリケーションが実行中である場合には、全て終了する(ステップS1809)。前記アプリケーションが実行中でない場合には、処理を終了する。
【0059】
図19は、再生の単位であるタイトルに関する属性情報の一例を示している。タイトル属性情報は、モード管理モジュール316が、タイトルを選択する際に必要な情報であり、タイトルオブジェクトタイプ1901と、タイトルアクセスタイプ1902と、タイトルプレイバックタイプ1903と、タイトルオブジェクト名1904とを含む。
タイトルオブジェクトタイプ1901は、ユーザオペレーションによりタイトル選択が要求されたとき、モード管理モジュール316が、DVDライクモジュール313に関連するタイトル「HDMV」か、Javaモジュール314に関連するタイトル「BD−J」か、を判断するための属性情報である。この属性情報により、ディスク上のコンテンツのみならず、放送波や、HDD等のストレージに記録されたコンテンツの再生をも行うことが可能となる。
【0060】
タイトルアクセスタイプ1902は、ユーザオペレーションによりタイトル選択を許可するかどうかを判断するための属性情報である。この属性情報により、コンテンツプロバイダーは、隠しタイトルを含めることが可能になる。
タイトルプレイバックタイプ1903は、タイトルが映像・音声を主とするか(Movieタイトル)、アプリケーションを主とするか(Interactiveタイトル)を判定するための属性情報である。この情報により、モード管理モジュール316は、ユーザオペレーションにより生成するキーイベントをDVDライクモジュール313、あるいは、Javaモジュール314に配送するかどうかを判断する。
【0061】
タイトルオブジェクト名1904は、タイトル属性情報がリンクするタイトルオブジェクトの名前を示す属性情報である。
図20は、タイトルリスト内のタイトル#1、タイトル#2のタイトル属性情報の一例を示している。タイトル#1は、Javaモジュール314で再生される「BD−Jタイトル」、ユーザオペレーションによるタイトル選択可能である「アクセス可」、映像・音声を主とする「Movieタイトル」、タイトルオブジェクト名が「BD−J Obj#1」であることを示している。タイトル#2は、DVDライクモジュール313で再生される「HDMVタイトル」、ユーザオペレーションによるタイトル選択不可能である「アクセス不可」、アプリケーションを主とする「Interactiveタイトル」、タイトルオブジェクト名が「Movie Obj#2」であることを示している。
【0062】
図21は、タイトル属性情報を含む場合を考慮した、モード管理モジュール316からタイトル選択、あるいは、タイトル終了要求を受け取った場合の、タイトルマネージャ401、アプリケーション制御モジュール406に関する処理のフローチャートの一例である。タイトルマネージャ401は、モード管理モジュール316からタイトル選択要求、あるいは、タイトル終了要求を受け取ると、その判定を行う(ステップS2101)。タイトル終了要求の場合、タイトルマネージャ401は、メディア再生モジュール404に対して映像・音声の終了を要求する。要求を受け取ると、メディア再生モジュール404は映像・音声の終了する(ステップS2102)。タイトルマネージャ401は、アプリケーション制御モジュール406に対して、アプリケーションの終了を要求する。要求を受け取ると、アプリケーション制御モジュール406は、実行中の全てのアプリケーションを終了する(ステップS2103)。タイトル選択要求の場合、タイトルマネージャ401は、アプリケーション制御モジュール406に対して、バウンドアプリケーションの終了を要求する。要求を受け取ると、アプリケーション制御モジュール406は、実行中の全てのバウンドアプリケーションを終了する(ステップS2104)。タイトルマネージャ401は、選択されたタイトルにプレイリスト管理情報が存在するかどうか判定する(ステップS2105)。選択されたタイトルにプレイリスト管理情報が存在しない場合には、アプリケーション起動制御処理を行う(ステップS2106)。選択されたタイトルにプレイリスト管理情報が存在する場合には、前記プレイリスト管理情報内の自動再生フラグが有効であるかどうか判定する(ステップS2107)。前記プレイリスト管理情報内の自動再生フラグが無効である場合には、タイトル属性情報内のタイトルプレイバックタイプが「Movie」であるかどうか判定する(ステップS2108)。前記タイトルプレイバックタイプが「Movie」でない場合には、ステップS2106の処理を行い、前記タイトルプレイバックタイプが「Movie」である場合には、アプリケーション遅延起動制御処理を行う(ステップS2110)。プレイリスト管理情報内の自動再生フラグが有効である場合には、タイトルマネージャ401は、メディア再生モジュール404に対して、映像・音声開始を要求する。要求を受け取ると、メディア再生モジュール404は、指定されたプレイリストを再生し(ステップS4309)、その後、ステップS2110の処理を行う。
【0063】
以上のように本実施の形態によれば、ユーザによるタイトル選択の際、チャタリングにより入力を複数回受け付けたとしても、最後の入力に基づいてアプリケーションプログラムを実行する。よって、アプリケーションプログラムを繰り返し起動することはなくなるので、画面表示の乱れや、システム全体の動作のフリーズを防止することができる。
なお、本実施の形態では、ある再生区間としてタイトルを例に説明したが、タイトルでなくてもよい。例えば、chapterでも良いし、PlayListでも良い。
(第二実施形態)
本実施の形態は、特殊再生時のアプリケーション制御の改良に関する。
【0064】
図22は、本実施形態におけるDVDライクモジュール313、Javaモジュール314aの具体的な構成を示すとともに、早送り、早戻し、チャプターサーチ、時間サーチなどの特殊操作に関連したユーザ操作の処理に関わるブロック図である。まずDVDライクモジュール313における再生及び特殊再生制御について述べる。
シナリオプログラム2201は、BD−ROM上に記録されたDVDライクモード用のBD再生プログラムで、シナリオ制御モジュール2202が提供するシナリオ制御関数を呼び出し、条件に応じてプレイリストの分岐を行う。
【0065】
シナリオ制御モジュール2202は、シナリオ制御関数を提供する。
UO処理モジュール2203は、ユーザのリモコン操作に対する処理を行う。具体的には、ディスパッチャ317から受け取ったUOイベントに応じ、早送り、早戻し、チャプターサーチ、時間サーチなどの特殊再生を行う。
続いて、Javaモードの場合はBD−ROM上に記録されたJavaアプリケーション414が、対応するBDタイトル再生の間、メディア再生モジュール404が提供するAPIを用いてシナリオ、特殊再生の制御を行う。
【0066】
タイトルマネージャ401は、ユーザのリモコン操作により早送り、早戻し、チャプターサーチ、時間サーチ等に関する入力があると、ディスパッチャ317からUOイベントを受け取り、アプリケーションマネージャ402aを介して現在動作中のJavaアプリケーション414に、受け取ったUOイベントを渡す。
アプリケーションマネージャ402aは、Javaアプリケーション414から特殊再生が実行されると、再生速度の変更にしたがって、メディア再生モジュール404から特殊再生開始イベントを受信すると、特殊再生終了イベントを受信するまで、再生情報管理モジュール405からシナリオ遷移イベントを受信した場合には、アプリ管理情報に基づいてJavaアプリケーション414、Javaアプリケーション413の挙動制御を判断する。
【0067】
特殊再生情報取得モジュール403は、特殊再生情報を得て、Javaアプリケーション414に渡す。
メディア再生モジュール404は、Javaアプリケーション414に対し、メディア再生制御のためのAPIを提供する。メディア再生モジュール404は、Javaアプリケーション414がメディア再生制御APIを呼び出すと、対応するAV再生ライブラリ320の関数を呼び出し、AV再生制御を行う。
【0068】
再生情報管理モジュール405は、再生情報を管理しており、シナリオ遷移イベントをアプリケーションマネージャ402aに送信する。
Javaアプリケーション414は、早送りボタン押下などのUOイベントに対し、どの再生速度で特殊再生を行うべきか、特殊再生情報取得モジュール403を通じて特殊再生情報を得て再生速度の判断を行う。特殊再生情報からDVDライクモードで用いられている再生速度、端末がサポートしている再生速度を読み取り、それらを元に適切な再生速度をメディア再生モジュール404に指定する。
【0069】
図23は再生情報を表すシステムパラメータ(SPRM)の一覧である。SPRM(0)からSPRM(12)までは再生状態を示しており、シナリオの遷移に応じて刻々と変更されていくパラメータであり、それ以外はプリファレンスとしてプレーヤに設定されるパラメータである。

SPRM(0) : インタラクティブグラフィックスストリーム番号
SPRM(1) : 音声ストリーム番号
SPRM(2) : プレゼンテーショングラフィック/字幕ストリーム番号
SPRM(3) : アングル番号
SPRM(4) : 現在再生中のタイトル番号
SPRM(5) : 現在再生中のチャプター番号
SPRM(6) : 現在再生中のプレイリスト識別子
SPRM(7) : 現在再生中のプレイアイテム識別子
SPRM(8) : 再生時刻情報
SPRM(9) : ナビゲーションタイマー
SPRM(10) : 選択キー情報
SPRM(11) : インタラクティブグラフィックスストリームにおける現在のページ識別子
SPRM(12) : 字幕ストリームにおけるユーザースタイル識別子
SPRM(13) : パレンタルレベル
SPRM(14) : 予備
SPRM(15) : プレーヤ設定値(オーディオ)
SPRM(16) : 音声ストリーム用言語コード
SPRM(17) : プレゼンテーショングラフィック/字幕ストリーム用言語コード
SPRM(18) : メニュー用言語コード
SPRM(19) : 予備
SPRM(20) : 予備
SPRM(21) : 予備
SPRM(22) : 予備
SPRM(23) : 予備
SPRM(24) : 予備
SPRM(25) : 予備
SPRM(26) : 予備
SPRM(27) : 予備
SPRM(28) : 予備
SPRM(29) : 予備
SPRM(30) : 字幕サポート情報
SPRM(31) : プレーヤのバージョン情報
SPRM(32) : 予備

図24は再生装置が保持している再生情報に対応する特殊再生情報の内容を示す図である。特殊再生情報は、再生装置がサポートしている再生速度一覧と、DVDライクモードで使用する再生速度情報と、特殊再生操作を行うトリガとなる情報とを含む。特殊再生のトリガとしてはユーザのボタン操作などがあり、その場合、特殊再生に対応するボタンのIDと押された回数等を記載する。
【0070】
なお、この図24では、順方向倍速、逆方向倍速、順方向スロー再生、逆方向スロー再生を取り上げたが、他の特殊再生、例えば、何秒か先にスキップするスキップ再生などの情報でもよい。スキップ再生の場合、端末サポートレートの欄が再生速度ではなく秒数となり、端末がサポートする全ての秒数を記載するのではなく、DVDライクモードで用いている値が書かれてあればよい。本実施形態では、再生速度が変化する特殊再生を例に取り上げて説明するが、時間をパラメータとした特殊再生(例えば15秒先にスキップするスキップ再生など)にも置き換えることが可能である。
【0071】
図25はユーザ操作をトリガとして特殊再生を行う処理のフローチャートである。ユーザがリモコンや再生装置のフロントパネルを操作し、早送りボタン押下する等のキー操作を行うと、UO検知モジュール315がユーザのキー操作を検知する(ステップS2501)。UO検知モジュール315は、ユーザのキー操作に対応したイベントをモード管理モジュール316に投げ、モード管理モジュール316は現在のモードがJavaモードかDVDライクモードかを判断する(ステップS2502)。現在のモードがDVDライクモードであれば、モード管理モジュール316内のディスパッチャ317が、DVDライクモジュールのUO処理モジュール2203にUOイベントを投げる(ステップS2503)。UO処理モジュール2203は受け取ったUOイベントに対応する再生制御を行う(ステップS2504)。現在のモードがJavaモードの場合、ディスパッチャ317はJavaモジュール内のタイトルマネージャ401にUOイベントを投げる(ステップS2505)。タイトルマネージャ401がUOイベントを受け取ると、アプリケーションマネージャ402aを介して現在動作中のJavaアプリケーション414に対して、受け取ったUOイベントを投げる(ステップS2506)。Javaアプリケーション414がUOイベントを受け取ると、特殊再生情報取得モジュール403を介し、再生装置における特殊再生情報を取得する(ステップS2507)。Javaアプリケーション414は特殊再生情報に基づき、受け取ったUOイベントに対応する特殊再生制御を、メディア再生モジュール404を介して行う(ステップS2508)。例えば、受け取ったUOイベントが早送りボタン押下イベントであった場合、Javaアプリケーション414は何回連続で押されたか、値をカウントしておき、早送りボタンが一回押されたときの再生速度、二回連続押されたときの再生速度を特殊再生情報から判断する。
【0072】
なお、Javaアプリケーション414は、UOイベントを取得した後、特殊再生情報を取得しているが、起動時など予め特殊再生情報を読み込んでおいてもよい。また、一度読み込んだ情報はJavaアプリケーション414内で保持しておいてもよい。
図26は、図22に示すアプリケーションマネージャ402aのより具体的な構成を示すとともに、早送り、早戻し、チャプターサーチ、時間サーチなどの特殊操作に関連したユーザ操作の処理に関わるブロック図である。
【0073】
アプリケーション制御モジュール406は、Javaアプリケーション414から特殊再生が実行されると、動的シナリオ情報取得モジュール407から取得したJavaアプリケーション414、Javaアプリケーション413、静的シナリオ情報取得モジュール408から取得したアプリ管理情報、特殊再生状態取得モジュール410から取得した特殊再生状態(特殊再生の開始、実行中、終了)、再生情報取得モジュール409から取得した再生情報に基づいて、Javaアプリケーション414、Javaアプリケーション413の挙動制御を判断する。
【0074】
続いて、図27はタイトルリストが、アプリケーションの管理単位としてのタイトルを指し示している様子を示している。
タイトル#1は、映画本編が再生されるタイトルである。タイトル#1が選択されると、本編映像再生用のアプリケーションが起動され、本編映像の再生が開始される。本編再生用のアプリケーションは、リモコンキーによる早送り・スキップなどのイベントを受けて、メディア再生モジュールに指示を出しプレーヤの動作をコントロールする。タイトル#1が起動されると本編再生用アプリケーションとともに、ポップアップメニューを出現させるためのアプリケーションや、本編再生中の映像に出てきた品物を購入できるようなショッピングカートアプリケーションも起動させる。本編再生から別のタイトルに移りたい場合は、タイトル切り替えを行う。例えば、本編再生中に出てきた品物を購入するためにオンラインショッピングアプリケーションを起動させたければ、オンラインショッピングを行うタイトル#2を選択する。タイトル#2を選択すると、タイトル#1の場合同様にタイトル#2に関連したアプリケーションが起動されるとともに、タイトル#2に関係ないアプリケーションは停止する。タイトル#1にもタイトル#2にも関係するアプリケーションは、どちらのタイトルでも起動し続けることができ、タイトル#1とタイトル#2の間のタイトル遷移中に停止と再起動が起こるわけではない。
【0075】
図28は、本実施形態におけるアプリ管理情報の一例を示す。
アプリ管理情報は、有効期間2801と、アプリケーションID501と、起動属性502とを含む。アプリ管理情報は、映像の再生と同期してアプリケーションが動作する有効期間2801と、アプリケーションID501とを対応付けて管理しており、さらに、起動属性502により指定された有効期間2801でどのアプリケーションが起動されるかを管理している。
【0076】
有効期間2801は、タイトル全体にまたがった動作を規定する「title」、プレイリストに記載されたプレイリストマークとプレイリストマークの間の区間全体にまたがった動作を規定する「chapter」、プレイリスト全体にまたがった動作を規定する「PlayList」、プレイリスト内のプレイアイテム全体にまたがった動作を規定する「PlayList:PlayItem」の何れかを示す。アプリケーションID501、及び起動属性502は、第一実施形態で説明した通りである。
【0077】
また、図28に示すように、複数のタイトルに対して、同じアプリケーションを登録しておくことにより、タイトルを越えてアプリケーションを起動させ続けることが可能となる。アプリ管理情報において、アプリケーション#3は、タイトル#1にもタイトル#2にも登録されている。アプリケーション#3は、タイトル#1中に起動され、タイトル#1からタイトル#2に遷移する際、タイトル#2にも登録されているため、タイトル#1終端で終了することなく、タイトル#2に遷移する。このように複数タイトルに同一アプリケーションを登録しておけば、登録されているタイトル間を遷移する際にアプリケーションが終了後、再起動されるようなことはない。複数タイトルにわたって動作するアプリケーションであったとしても、登録されていないタイトルに遷移する際は終了される。
【0078】
図29は、図28のアプリ管理情報に基づいて、タイトル#1とタイトル#2とを順に通常再生する場合のアプリケーションの動作を示している。ここで、Present属性をもつアプリケーションは、他のアプリケーションによって起動されるとする。タイトル#1が開始されると、アプリ管理情報にしたがってAutoStart属性を持つアプリケーション#1が起動される。チャプター#1からチャプター#2に変わると、チャプター#2でAutoStart属性を持つアプリケーション#2が起動される。アプリケーション#3がアプリケーション#2より起動されたのち、次のチャプターに切り替わると、チャプター#3で関連付けられていないアプリケーション#2は終了する。チャプター#3が終了すると、タイトル#1は終了し、タイトル#2に切り替わる。その際、タイトル#2に関連付けられていないアプリケーション#1は終了される。タイトル#2が開始されると、アプリ管理情報にしたがってAutoStart属性を持つアプリケーション#4が起動される。タイトル#2が終了されるとアプリケーション#3、アプリケーション#4はそれぞれ終了される。
【0079】
図30は、タイトル毎にアプリ管理情報を保持している場合の一例を示す。
図31は、本実施形態におけるアプリケーション制御モジュール406に関する処理のフローチャートの一例である。タイトル再生中に特殊再生が行われる場合、特殊再生中はアプリケーションの動作制御をせず、特殊再生の終了時点でアプリケーションの動作制御を行う。ここで、タイトル再生に際して、アプリ管理情報は取得しているものとする。アプリケーション制御モジュール406は、タイトル再生中、特殊再生状態取得モジュール410が特殊再生開始イベントを受信したか否かを判定する(ステップS3101)。特殊再生開始イベントを受信した場合には、特殊再生中(ステップS3102)となり、特殊再生状態取得モジュール410が特殊再生終了イベントを受信するまではアプリケーションの動作制御をしない。次に、特殊再生状態取得モジュール410が特殊再生終了イベントを受信したか否かを判定して(ステップS3103)、特殊再生終了イベントを受信した場合には、再生情報取得モジュール409から再生情報としてタイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7)を取得し(ステップS3104)、アプリケーション状態制御処理を行う(ステップS3105)。
【0080】
続いて図32は、アプリケーション状態制御処理のフローチャートの一例を示す。ここで、タイトル再生に際して、アプリ管理情報は取得しているものとし、アプリケーション制御モジュール406は、静的シナリオ情報取得モジュール408から取得しているアプリ管理情報に記載されている内容に基づいて、アプリケーションの動作制御を行う。本フローチャートにおいて、iはアプリ管理情報に記載されているアプリケーションIDの一つを特定する変数である。まず、iを初期化する(ステップS3201)。取得した再生情報(タイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7))と、アプリケーションIDに対応する有効期間を照合して、再生情報が有効期間内であるか否かを判定する(ステップS3202)。再生情報が有効期間内である場合には、アプリケーションIDに対応する起動属性がAutoStartであるか否かを判定する(ステップS3203)。起動属性がAutoStartである場合には、当該アプリケーションを起動する(ステップS3204)。再生情報が有効期間内でない場合には、現在アプリケーションが実行中であるか否かを判定する(ステップS3205)。実行中の場合には、当該アプリケーションを終了する(ステップS3206)。アプリケーション起動処理後、起動属性がAutoStartでない場合、アプリケーション終了後、またはアプリケーションが実行中でない場合には、続いてアプリ管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS3207)。存在する場合はiを一つ計数し(ステップS3208)、ステップS3202に移行する。他に存在しない場合は、処理を終了する。
【0081】
図33は、特殊再生中にも、アプリ管理情報記載の有効期間経過とともにアプリケーションの終了を実現するためのアプリ管理情報の一例について示している。アプリ管理情報は、有効期間経過とともにアプリケーションの終了を実現するための特殊再生時終了フラグ3301を含む。特殊再生時終了フラグ3301が「Yes」の場合には、特殊再生中であっても有効期間経過とともにアプリケーションを終了し、「No」であれば終了しない。
【0082】
図34は、特殊再生中に、再生情報取得モジュール409からシナリオ遷移イベントを受信した場合に、図33に示すアプリ管理情報に従って行われる処理のフローチャートの一例である。本フローチャートにおいて、iはアプリ管理情報に記載されているアプリケーションIDの一つを特定する変数である。まず、アプリケーション制御モジュール406は、タイトル再生中、特殊再生状態取得モジュール410が特殊再生開始イベントを受信したか否かを判定する(ステップS3401)。特殊再生開始イベントを受信した場合には、特殊再生中となり、再生情報取得モジュール409からシナリオ遷移イベントを受信したかどうか判定する(ステップS3402)。再生情報取得モジュール409からシナリオ遷移イベントを受信した場合には、再生情報取得モジュール409から現在の再生情報としてタイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7)を取得する(S3403)。次に、iを初期化する(ステップS3404)。特殊再生時終了フラグが「Yes」であるかどうか判定する(ステップS3405)。特殊再生時終了フラグが「Yes」である場合には、現在の再生情報(タイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7))と、アプリ管理情報の有効期間を照合して、再生情報が有効期間内であるかどうか判定する(ステップS3406)。再生情報が有効期間内でない場合には、現在アプリケーションが実行中であるかどうか判定する(ステップS3407)。現在アプリケーションが実行中である場合には、アプリケーションを終了する(ステップS3408)。特殊再生時終了フラグが「No」である場合、現在アプリケーションが実行中でない場合、再生情報が有効期間内である場合、またはアプリケーション終了処理後にアプリ管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS3409)。存在する場合はiを一つ計数し(ステップS3410)、ステップS3405に移行する。他に存在しない場合は、処理を終了する。
【0083】
図35は、特殊再生中にも、アプリ管理情報記載の有効期間経過とともにアプリケーションの起動を実現するためのアプリ管理情報の一例について示している。アプリ管理情報は、有効期間経過とともにアプリケーションの起動を実現するための特殊再生時起動フラグ3501を含む。特殊再生時起動フラグ3501が「Yes」の場合には、特殊再生中であっても有効期間経過とともにアプリケーションを起動し、「No」であれば起動しない。
【0084】
図36は、特殊再生中に、再生情報取得モジュール409からシナリオ遷移イベントを受信した場合に、図35記載のアプリ管理情報に従って行われる処理のフローチャートの一例である。本フローチャートにおいて、iはアプリ管理情報に記載されているアプリケーションIDの一つを特定する変数である。まず、アプリケーション制御モジュール406は、タイトル再生中、特殊再生状態取得モジュール410が特殊再生開始イベントを受信したか否かを判定する(ステップS3601)。特殊再生開始イベントを受信した場合には、特殊再生中となり、再生情報取得モジュール409からシナリオ遷移イベントを受信したかどうか判定する(ステップS3602)。再生情報取得モジュール409からシナリオ遷移イベントを受信した場合には、再生情報取得モジュール409から現在の再生情報としてタイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7)を取得する(ステップS3603)。次に、iを初期化する(ステップS3604)。特殊再生時起動フラグが「Yes」であるかどうか判定する(ステップS3605)。特殊再生時起動フラグが「Yes」である場合には、現在の再生情報(タイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7))と、アプリ管理情報の有効期間を照合して、再生情報が有効期間内であるかどうか判定する(ステップS3606)。再生情報が有効期間内である場合には、アプリ管理情報の起動属性がAutoStartであるかどうか判定する(ステップS3607)。起動属性がAutoStartである場合には、アプリケーションを起動する(ステップS3608)。特殊再生時起動フラグが「No」である場合、再生情報が有効期間内でない場合、起動属性がAutoStartでない場合、またはアプリケーション起動後に、アプリ管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS3609)。存在する場合はiを一つ計数し(ステップS3610)、ステップS3605に移行する。他に存在しない場合は、処理を終了する。
【0085】
なお、特殊再生時起動フラグ、特殊再生時終了フラグを同時に使用してもよい。
続いて図37は、早見再生中に、アプリ管理情報記載の有効期間経過とともにアプリケーションの起動・終了を実現するためのアプリ管理情報の一例について示している。アプリ管理情報は、早見再生中には有効期間経過とともにアプリケーションの起動・終了を実現するための早見再生時動作フラグ3701を含む。早見再生時動作フラグ3701が「Yes」の場合には、早見再生中であっても、有効期間経過とともにアプリケーションを起動・終了し、「No」であれば起動・終了しない。
【0086】
なお、早見再生かどうかは、再生速度、あるいは、UOイベントから判断する。
図38は、再生情報取得モジュール409からシナリオ遷移イベントを受信した場合に、図37記載のアプリ管理情報に従ってアプリケーションの起動・終了の判定を行う機構を含むアプリケーション制御モジュール406に関する処理のフローチャートの一例である。本フローチャートにおいて、iはアプリ管理情報に記載されているアプリケーションIDの一つを特定する変数である。アプリケーション制御モジュール406は、特殊再生が早見再生かどうか判定する(ステップS3801)。早見再生である場合には、再生情報取得モジュール410がシナリオ遷移イベントを受信したかどうか判定する(ステップS3802)。シナリオ遷移イベントを受信した場合には、再生情報取得モジュール409から現在の再生情報としてタイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7)を取得する(ステップS3803)。次に、iを初期化する(ステップS3804)。早見再生時動作フラグが「Yes」であるかどうか判定する(ステップS3805)。早見再生時動作フラグが「Yes」である場合には、現在の再生情報(タイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7))と、アプリ管理情報の有効期間を照合して、再生情報が有効期間内であるかどうか判定する(ステップS3806)。再生情報が有効期間内である場合には、アプリ管理情報の起動属性がAutoStartであるかどうか判定する(ステップS3807)。起動属性がAutoStartである場合には、アプリケーションを起動する(ステップS3808)。再生情報が有効期間内でない場合には、アプリケーションが現在実行中かどうか判定する(ステップS3809)。アプリケーションが現在実行中であれば、アプリケーションを終了する(ステップS3810)。早見再生時動作フラグが「No」である場合、起動属性がAutoStartでない場合、アプリケーション起動後、アプリケーションが現在実行中でない場合、またはアプリケーション終了後に、アプリ管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS3811)。存在する場合はiを一つ計数し(ステップS3812)、ステップS3805に移行する。他に存在しない場合は、処理を終了する。
【0087】
図39は、特殊再生速度に応じて、アプリ管理情報記載の有効期間経過とともにアプリケーションの起動・終了を実現するためのアプリ管理情報の一例について示している。アプリ管理情報は、有効期間経過とともにアプリケーションの起動・終了を実現するための特殊再生速度3901を含む。特殊再生速度3901が記載されている場合には再生速度が指定されている範囲内ならば、有効期間経過とともにアプリケーションを起動・終了し、「−」であれば起動・終了しない。
【0088】
図40は、特殊再生中に、再生情報取得モジュール409からシナリオ遷移イベントを受信した場合に、図39記載のアプリ管理情報に従ってアプリケーションの起動・終了を判定する機構を含むアプリケーション制御モジュール406に関する処理のフローチャートの一例である。本フローチャートにおいて、iはアプリ管理情報に記載されているアプリケーションIDの一つを特定する変数である。まず、アプリケーション制御モジュール406は、タイトル再生中、特殊再生状態取得モジュール410が特殊再生開始イベントを受信したか否かを判定する(ステップS4001)。特殊再生開始イベントを受信した場合には、特殊再生中となり、再生情報取得モジュール409からシナリオ遷移イベントを受信したかどうか判定する(ステップS4002)。再生情報取得モジュール409からシナリオ遷移イベントを受信した場合には、再生情報取得モジュール409から現在の再生情報としてタイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7)を取得する(ステップS4003)。次に、iを初期化する(ステップS4004)。特殊再生状態取得モジュール410から現在の再生速度を取得して(ステップS4005)、特殊再生速度の指定範囲内であるかどうか判定する(ステップS4006)。特殊再生速度内である場合には、現在の再生情報(タイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7))と、アプリ管理情報の有効期間を照合して、再生情報が有効期間内であるかどうか判定する(ステップS4007)。再生情報が有効期間内である場合には、アプリ管理情報の起動属性がAutoStartであるかどうか判定する(ステップS4008)。起動属性がAutoStartである場合には、アプリケーションを起動する(ステップS4009)。再生情報が有効期間内でない場合には、アプリケーションが現在実行中かどうか判定する(ステップS4010)。アプリケーションが現在実行中であれば、アプリケーションを終了する(ステップS4011)。特殊再生速度範囲内でない、あるいは、特殊再生速度が「−」である場合、起動属性がAutoStartでない場合、アプリケーション起動後、アプリケーションが現在実行中でない場合、またはアプリケーション終了処理後に、アプリ管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS4012)。存在する場合はiを一つ計数し(ステップS4013)、ステップS4005に移行する。他に存在しない場合は、処理を終了する。
【0089】
続いて図41は、図27のタイトルリストに加えて、特典タイトルとしてタイトル#3が存在する場合の一例を示している。タイトル#3は、映画本編と同期してゲームを実行可能なタイトルである。タイトル#3が選択されると、本編映像再生用のアプリケーションが起動され、本編映像の再生が開始される。本編再生用のアプリケーションは、リモコンキーによる早送り・スキップなどのイベントを受けて、メディア再生モジュールに指示を出しプレーヤの動作をコントロールする。
【0090】
図42は、図41の特典タイトルの再生において、プレイリストマーク経過時に、アプリケーションを自動起動できるようにするためのアプリ管理情報と、その動作の一例を示している。アプリケーション#5は、Mark#2でAutoStart属性を持つので、Mark#2を通過した時点で自動的に起動される。
以上のように本実施の形態によれば、映像データの特殊再生に合わせてJavaアプリケーションの実行制御を行う際、特殊再生中にはJavaアプリケーションを起動・終了せず、特殊再生終了時点でアプリ管理情報に基づいてJavaアプリケーションを起動・終了する。よって、特殊再生の種類に応じて映像データと同期不可能な場合に不必要なアプリケーションの起動を防ぐことができる。
【0091】
また、特殊再生中であっても、特殊再生終了フラグが「yes」の場合には、シナリオ遷移に応じてアプリケーションを終了することができる。
また、特殊再生中であっても、特殊再生起動フラグが「yes」の場合には、シナリオ遷移に応じてアプリケーションを起動することができる。
また、早見再生中であっても、早見再生時動作フラグが「Yes」の場合には、シナリオ遷移に応じてアプリケーションを起動・終了することができる。
【0092】
また、特殊再生中であっても、特殊再生速度が指定されている範囲内ならば、シナリオ遷移に応じてアプリケーションを起動・終了することができる。
なお、特殊再生はチャプターサーチ、時間サーチでもよい。
また、特殊再生に合わせたアプリケーションの動作をアプリケーションごとに定義したが、アプリ管理情報全体に設定して、アプリ管理情報に登録してあるアプリケーション全ての動作を一括して制御したり、プレーヤに設定して、プレーヤ上のアプリケーション全ての動作を一括して制御できるようにしてもよい。
(第三実施形態)
本実施形態は、第二実施形態に加え、ユーザによる特殊再生操作に応じてアプリケーションを遅延起動・遅延終了する形態である。特殊再生時のシナリオ遷移に合わせて、通常再生されている場合のアプリケーションの状態を記憶していき、特殊再生終了時点でのアプリケーションの状態に応じてアプリケーションを制御する。
【0093】
図43は本実施形態に係るJavaモジュール314b、アプリケーションマネージャ402bの詳細構成であり、図26に遅延制御管理モジュール411を追加して、早送り、早戻し、チャプターサーチ、時間サーチなどの特殊再生に合わせたアプリケーションの動作制御の処理に関わるブロック図である。
アプリケーション制御モジュール406は、Javaアプリケーション414から特殊再生が実行されると、動的シナリオ情報取得モジュール407から取得したJavaアプリケーション414、Javaアプリケーション413、静的シナリオ情報取得モジュール408から取得したアプリ管理情報、特殊再生状態取得モジュール410から取得した特殊再生状態(特殊再生の開始、実行中、終了)、再生情報取得モジュール409から取得した再生情報、遅延制御管理モジュール411から取得したアプリケーション状態、および時間情報に基づいて、Javaアプリケーション414、Javaアプリケーション413の挙動制御を判断する。
【0094】
続いて図44は、本実施の形態における遅延制御管理モジュール411に記憶されたアプリ起動状態管理情報の一例を示す。
アプリ起動状態601aは、「AutoStart」、「Destroy」、「Present」の何れかを記憶する。
「AutoStart」は、特殊再生終了後に自動起動されるアプリケーションであることを示している。
【0095】
「Destroy」は、特殊再生終了後に終了されるアプリケーションであることを示している。
「Present」は、自動起動も終了もされないアプリケーションであることを示している。「Present」は、他のアプリケーションによって起動されるか、あるいはユーザ操作などのイベントにより起動される。
【0096】
図45は、特殊再生情報取得モジュール410から特殊再生開始イベントを受信した場合に、アプリ管理情報に従ってアプリケーションの遅延起動・遅延終了を判定する機構を含むアプリケーション制御モジュール406に関する処理のフローチャートの一例である。本フローチャートにおいて、iはアプリ管理情報に記載されているアプリケーションIDの一つを特定する変数である。まず、アプリケーション制御モジュール406は、タイトル再生中、特殊再生状態取得モジュール410が特殊再生開始イベントを受信したかどうか判定する(ステップS4501)。特殊再生開始イベントを受信した場合には、特殊再生中となり、特殊再生中に再生情報取得モジュール410がシナリオ遷移イベントを受信したかどうか判定する(ステップS4502)。シナリオ遷移イベントを受信した場合には、再生情報取得モジュール409から現在の再生情報としてタイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7)を取得し(ステップS4503)、iを初期化する(ステップS4504)。現在の再生情報(タイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7))と、アプリ管理情報の有効期間を照合して、再生情報が有効期間内であるかどうか判定する(ステップS4505)。再生情報が有効期間内でない場合には、アプリ起動状態をDestroyとして遅延制御管理モジュール411に記憶する(ステップS4506)。再生情報が有効期間内である場合には、アプリ管理情報の起動属性がAutoStartであるかどうか判定する(ステップS4507)。起動属性がAutoStartである場合には、アプリ起動状態をAutoStartとして遅延制御管理モジュール411に記憶し(ステップS4508)、起動属性がAutoStartでない場合には、アプリ起動状態をPresentとして遅延制御管理モジュール411に記憶する(ステップS2709)。上記処理後、アプリ管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS4510)。存在する場合はiを一つ計数し(ステップS4511)、ステップS4505に移行する。他に存在しない場合、及びステップS4502でシナリオ遷移イベントを受信していない場合には、特殊再生状態取得モジュール410が特殊再生終了イベントを受信しているかどうか判定する(ステップS4512)。特殊再生終了イベントを受信している場合には、アプリケーション遅延制御処理を行う(ステップS4513)。特殊再生終了イベントを受信していない場合は、ステップS4502に移行する。
【0097】
続いて図46及び図47は、図45におけるアプリケーション遅延制御処理に関するフローチャートの一例を示している。jは、アプリ起動状態管理情報に記載されているアプリケーションIDの一つを特定する変数である。まず、タイマをセットし(ステップS4601)、所定期間経過したか否かを判定する(ステップS4602)。所定期間経過していなければ、特殊再生情報取得モジュールが特殊再生開始イベントを受信したかどうか判定する(ステップS4603)。特殊再生開始イベントを受信した場合には、処理を終了する。特殊再生開始イベントを受信していない場合には、ステップS4602に移行する。所定期間経過すると、遅延制御管理モジュール411にアプリ起動状態管理情報があるかどうか判定する(ステップS4604)。アプリ起動状態管理情報がない場合には、再生情報取得モジュール409から現在の再生情報としてタイトル番号SPRM(4)、チャプター番号SPRM(5)、プレイリスト識別子SPRM(6)、プレイアイテム識別子SPRM(7)を取得し(ステップS4605)、アプリケーション状態制御処理を行う(ステップS4606)。アプリ起動状態管理情報がある場合には、jを初期化する(ステップS4607)。アプリ起動状態がAutoStartであるかどうか判定する(ステップS4608)。アプリ起動状態がAutoStartである場合には、アプリケーションを起動する(ステップS4609)。アプリ起動状態がAutoStartでない場合には、アプリ起動状態がDestroyであるかどうか判定する(ステップS4610)。アプリ起動状態がDestroyである場合には、アプリケーションを終了する(ステップS2911)。上記処理後、アプリ起動状態管理情報に記載されているアプリケーションIDが他に存在するか否かを判定する(ステップS4612)。存在する場合はjを一つ計数し(ステップS4613)、ステップS4608に移行する。他に存在しない場合は処理を終了する。
【0098】
以上のように本実施の形態によれば、特殊再生終了後に所定時間経過してからアプリケーションの起動・終了する。Javaアプリケーションを遅延させて起動・終了するためにアプリケーションの起動属性を記憶しておくことができるので、特殊再生終了後にアプリ管理情報を読み込んでアプリケーションの動作制御する場合に比べて、起動・終了までの時間を短縮することができる。
(補足)
以上、本発明に係る再生装置について、実施の形態に基づいて説明したが、本発明は上記の実施の形態に限られないことは勿論である。
【0099】
上記の実施形態では、BD−ROMを例として説明したが、HD−DVD、あるいは、他の光ディスクでもよい。
上記の実施形態では、再生装置を用いたが、本発明は上記フローチャートで示したステップを含む方法、上記フローチャートで示したステップをコンピュータに実行させるプログラムコードを含むプログラム、及びシステムLSI等の集積回路であっても良い。システムLSIは、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0100】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセスで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
更には、半導体技術の進歩又は派生する技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積回路化を行っても良い。例えば、バイオ技術の適応などが可能性としてありうる。
【産業上の利用可能性】
【0101】
本発明を構成する再生装置は、製造産業において経営的に、また継続的及び反復的に製造し、販売することができる。特に、映像コンテンツの制作に携わる映画産業・民生機器産業において利用できる。
【符号の説明】
【0102】
301 BDドライブ
302 トラックバッファ
303 デマルチプレクサ
304 ビデオデコーダ
305 ビデオプレーン
306 オーディオデコーダ
307 イメージメモリ
308 イメージプレーン
309 イメージデコーダ
310 加算器
311 静的シナリオメモリ
312 動的シナリオメモリ
313 DVDライクモジュール
314 Javaモジュール
314a Javaモジュール
314b Javaモジュール
315 UO検知モジュール
316 モード管理モジュール
317 ディスパッチャ
318 レンダリングエンジン
319 特殊再生管理情報
320 AV再生ライブラリ
401 タイトルマネージャ
402 アプリケーションマネージャ
402a アプリケーションマネージャ
402b アプリケーションマネージャ
403 特殊再生情報取得モジュール
404 メディア再生モジュール
405 再生情報取得モジュール
406 アプリケーション制御モジュール
407 動的シナリオ情報取得モジュール
408 静的シナリオ情報取得モジュール
409 再生情報取得モジュール
410 特殊再生状態取得モジュール
411 遅延制御管理モジュール
412 UOイベント配送モジュール
413 Javaアプリケーション
414 Javaアプリケーション
501 アプリケーションID
502 起動属性
503 バウンド属性
601 アプリ起動状態
1301 自動再生フラグ
1302 プレイリスト名
1901 タイトルオブジェクトタイプ
1902 タイトルアクセスタイプ
1903 タイトルプレイバックタイプ
1904 タイトルオブジェクト名
2201 シナリオプログラム
2202 シナリオ制御モジュール
2203 UO処理モジュール
2801 有効期間
3301 特殊再生時終了フラグ
3501 特殊再生時起動フラグ
3701 早見再生動作フラグ
3901 特殊再生速度

【特許請求の範囲】
【請求項1】
映像データと当該映像データに対応するアプリケーションプログラムとを連動させながら再生する再生装置であって、
アプリケーションプログラムを処理する処理手段と、
ユーザから特殊再生に関する入力を受け付ける受付手段と、
前記映像データの所定区間毎に、前記アプリケーションプログラムの管理情報を保持する保持手段と、
前記受付手段が特殊再生に関する入力を受け付けると、特殊再生の状態と、前記保持手段に保持されている管理情報とに応じて、前記処理手段の制御を行う処理制御手段と
を含む再生装置。
【請求項2】
前記特殊再生の状態とは、特殊再生の開始、特殊再生実行中、特殊再生の終了の何れかであり、
前記処理制御手段は、前記特殊再生の状態が特殊再生の開始、あるいは特殊再生実行中の場合には、前記処理手段に新たにアプリケーションプログラムを起動及び終了させず、前記特殊再生の状態が特殊再生の終了になると、前記処理手段にアプリケーションプログラムを起動及び終了させる
請求項1記載の再生装置。
【請求項3】
前記管理情報は、特殊再生実行中のアプリケーションプログラムの処理に関する情報を含み、
前記処理制御手段は、前記特殊再生の状態が特殊再生実行中の場合であっても、前記情報に従い、前記処理手段にアプリケーションプログラムを起動及び終了させる
請求項1記載の再生装置。
【請求項4】
前記管理情報は、前記アプリケーションプログラムの起動属性を示す情報を含み、
前記処理制御手段は、
前記特殊再生の状態が特殊再生実行中に、前記起動属性を示す情報を記憶する記憶手段と、
前記受付手段がユーザから特殊再生の終了に関する入力を受け付けた後、所定時間内に特殊再生の開始に関する入力を受け付けたか否かを判断する判断手段とを含み、
前記判断手段による判断が否定の場合に、前記処理制御手段は、前記記憶手段に記憶された情報に従い、前記処理手段にアプリケーションプログラムを起動及び終了させる
請求項1記載の再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate


【公開番号】特開2011−187158(P2011−187158A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2011−107053(P2011−107053)
【出願日】平成23年5月12日(2011.5.12)
【分割の表示】特願2006−535788(P2006−535788)の分割
【原出願日】平成17年9月7日(2005.9.7)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】