(57)【要約】【課題】仮想マシン上で動作するプログラムにより映像の再生が制御可能なコンテンツについて、再生停止位置から再生を再開するときに、待ち時間を短縮できるようにすること。【解決手段】制御部１２０は、記録媒体としての光ディスク１０１に記録されている仮想マシン利用型コンテンツが、仮想マシン上で動作するプログラムが起動しているとき及びこのプログラムが起動していないときの何れでも映像を再生することのできる第１種類のコンテンツであるか、このプログラムが起動しているときにのみ映像を再生することのできる第２種類のコンテンツであるかを、光ディスク１０１に記録されている再生制御情報から判定し、この仮想マシン利用型コンテンツが第１種類のコンテンツである場合には、このプログラムを起動させないで、再生部１１０に、映像の再生が停止された位置から、映像の再生を再開させる。【選択図】図１
2012174328.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシン上で動作するプログラム、当該プログラムにより映像の再生が制御可能な仮想マシン利用型コンテンツ、および、前記仮想マシン利用型コンテンツの再生制御情報を含むプレイリストファイル、が記録された記録媒体から、前記映像を再生する処理を行う再生部と、
制御部と、を備える映像情報再生装置が行う映像情報再生方法であって、
前記制御部が、前記仮想マシン利用型コンテンツが、前記プログラムが起動しているとき及び前記プログラムが起動していないときの何れでも映像を再生することのできる第１種類のコンテンツであるか、前記プログラムが起動しているときにのみ映像を再生することのできる第２種類のコンテンツであるかを、前記再生制御情報から判定する判定過程と、
前記仮想マシン利用型コンテンツの映像の再生が停止され、当該映像の再生を再開する際に、前記制御部が、前記判定過程で前記仮想マシン利用型コンテンツが前記第１種類のコンテンツであると判定されている場合には、前記プログラムを起動させないで、前記再生部に、前記映像の再生が停止された位置から、前記映像の再生を再開させる再生再開過程と、を有すること
を特徴とする映像情報再生方法。
【請求項２】
前記再生再開過程において、前記制御部は、前記判定過程で前記仮想マシン利用型コンテンツが前記第２種類のコンテンツであると判定されている場合には、前記プログラムを起動させて、前記再生部に、前記映像の再生が停止された位置とは異なる、予め定められた位置から、前記映像の再生を再開させること
を特徴とする請求項１に記載の映像情報再生方法。
【請求項３】
前記予め定められた位置は、前記記録媒体に記憶されている情報の先頭位置、又は、前記仮想マシン利用型コンテンツの先頭位置であること
を特徴とする請求項２に記載の映像情報再生方法。
【請求項４】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生するか否かを示すシーケンシャル情報が含まれており、
前記制御部は、前記判定過程において、前記シーケンシャル情報が、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生することを示す場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定し、前記シーケンシャル情報が、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生しないことを示す場合には、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定すること
を特徴とする請求項１から３の何れか一項に記載の映像情報再生方法。
【請求項５】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可するか否かを示す操作情報が含まれており、
前記制御部は、前記判定過程において、前記操作情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可することを示す場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定し、前記操作情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可しないことを示す場合には、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定すること
を特徴とする請求項１から３の何れか一項に記載の映像情報再生方法。
【請求項６】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行うか否かを示すスチル情報が含まれており、
前記制御部は、前記判定過程において、前記スチル情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行わないことを示す場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定し、前記スチル情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行うことを示す場合には、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定すること
を特徴とする請求項１から３の何れか一項に記載の映像情報再生方法。
【請求項７】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像の再生時間を示す再生時間情報が含まれており、
前記制御部は、前記判定過程において、前記再生時間情報に基づいて算出される総再生時間が、予め定められた時間よりも長い場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定し、前記再生時間情報に基づいて算出される総再生時間が、予め定められた時間以下の場合には、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定すること
を特徴とする請求項１から３の何れか一項に記載の映像情報再生方法。
【請求項８】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生するか否かを示すシーケンシャル情報、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可するか否かを示す操作情報、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行うか否かを示すスチル情報、及び、前記仮想マシン利用型コンテンツの映像の再生時間を示す再生時間情報の何れか二つ以上が含まれており、
前記制御部は、前記判定過程において、前記シーケンシャル情報が、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生しないことを示す場合、前記操作情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可しないことを示す場合、前記スチル情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行うことを示す場合、及び、前記再生時間情報に基づいて算出される総再生時間が、予め定められた時間以下の場合の１つ以上を満たすときには、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定し、これらの情報に基づいて、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定されない場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定すること
を特徴とする請求項１から３の何れか一項に記載の映像情報再生方法。
【請求項９】
仮想マシン上で動作するプログラム、前記プログラムにより映像の再生が制御可能な仮想マシン利用型コンテンツ、および、前記仮想マシン利用型コンテンツの再生制御情報を含むプレイリストファイル、が記録された記録媒体から、前記映像を再生する処理を行う再生部と、
前記仮想マシン利用型コンテンツが、前記プログラムが起動しているとき及び前記プログラムが起動していないときの何れでも映像を再生することのできる第１種類のコンテンツであるか、前記プログラムが起動しているときにのみ映像を再生することのできる第２種類のコンテンツであるかを、前記再生制御情報から判定する判定部と、
前記仮想マシン利用型コンテンツの映像の再生が停止され、当該映像の再生を再開する際に、前記判定部が、前記仮想マシン利用型コンテンツが前記第１種類のコンテンツであると判定している場合には、前記プログラムを起動させないで、前記再生部に、前記映像の再生が停止された位置から、前記映像の再生を再開させる再生制御部と、を備えること
を特徴とする映像情報再生装置。
【請求項１０】
前記再生制御部は、前記判定部が、前記仮想マシン利用型コンテンツが前記第２種類のコンテンツであると判定している場合には、前記プログラムを起動させて、前記再生部に、前記映像の再生が停止された位置とは異なる予め定められた位置から、前記映像の再生を再開させること
を特徴とする請求項９に記載の映像情報再生装置。
【請求項１１】
前記予め定められた位置は、前記記録媒体に記憶されている情報の先頭位置、又は、前記仮想マシン利用型コンテンツの先頭位置であること
を特徴とする請求項１０に記載の映像情報再生装置。
【請求項１２】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生するか否かを示すシーケンシャル情報が含まれており、
前記判定部は、前記シーケンシャル情報が、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生することを示す場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定し、前記シーケンシャル情報が、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生しないことを示す場合には、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定すること
を特徴とする請求項９から１１の何れか一項に記載の映像情報再生装置。
【請求項１３】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可するか否かを示す操作情報が含まれており、
前記判定部は、前記操作情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可することを示す場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定し、前記操作情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可しないことを示す場合には、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定すること
を特徴とする請求項９から１２の何れか一項に記載の映像情報再生装置。
【請求項１４】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行うか否かを示すスチル情報が含まれており、
前記判定部は、前記スチル情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行わないことを示す場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定し、前記スチル情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行うことを示す場合には、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定すること
を特徴とする請求項９から１２の何れか一項に記載の映像情報再生装置。
【請求項１５】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像の再生時間を示す再生時間情報が含まれており、
前記判定部は、前記再生時間情報に基づいて算出される総再生時間が、予め定められた時間よりも長い場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定し、前記再生時間情報に基づいて算出される総再生時間が、予め定められた時間以下の場合には、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定すること
を特徴とする請求項９から１２の何れか一項に記載の映像情報再生装置。
【請求項１６】
前記再生制御情報には、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生するか否かを示すシーケンシャル情報、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可するか否かを示す操作情報、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行うか否かを示すスチル情報、及び、前記仮想マシン利用型コンテンツの映像の再生時間を示す再生時間情報の何れか二つ以上が含まれており、
前記判定部は、前記シーケンシャル情報が、前記仮想マシン利用型コンテンツの映像をシーケンシャルに再生しないことを示す場合、前記操作情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定のユーザ操作を許可しないことを示す場合、前記スチル情報が、前記仮想マシン利用型コンテンツの映像の再生中に特定の箇所においてスチル動作を行うことを示す場合、及び、前記再生時間情報に基づいて算出される総再生時間が、予め定められた時間以下の場合の１つ以上を満たすときには、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定し、これらの情報に基づいて、前記仮想マシン利用型コンテンツが第２種類のコンテンツであると判定されない場合には、前記仮想マシン利用型コンテンツが第１種類のコンテンツであると判定すること
を特徴とする請求項９から１２の何れか一項に記載の映像情報再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像情報再生方法及び映像情報再生装置に関し、特に、仮想マシン上で動作するプログラムにより映像の再生が制御可能な仮想マシン利用型コンテンツを記録した記録媒体から映像を再生する映像情報再生方法及び映像情報再生装置に関するものである。
【背景技術】
【０００２】
映画及びドラマ等の映像コンテンツを再生する機器として、ＤＶＤ（登録商標）プレーヤがある。ＤＶＤプレーヤで映像の再生を制御するために、比較的単純な制御用の言語であるナビゲーション・コマンドが利用されている。また、ハイビジョンとして記録されているコンテンツを再生可能なＢｌｕ−ｒａｙ（登録商標）プレーヤが普及し始めている。Ｂｌｕ−ｒａｙ規格では、複雑でインタラクティビティの高いコンテンツを視聴できるようにするためにＪａｖａ（登録商標）仮想マシンが採用されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１９３６４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＤＶＤの再生データは、映像データ、音声データ、グラフィックデータ、映像制御データから構成されており、映像データ、音声データ及びグラフィックデータは、１つのファイルに重畳されている。一般に、ＤＶＤプレーヤにおいて、ＤＶＤの再生が停止（中断又はサスペンド）され、その後、再生が再開（レジューム）された場合、数秒から十数秒の待ち時間経過後に、前回の再生停止位置から再生が再開（レジューム）される。この場合には、映像データや音声データ等の再生に必要なデータが１つのファイルにすべて重畳されており、ファイルサイズの非常に小さな管理情報ファイルを再読み込みすることによって再生停止位置から再生を再開できるので、再生再開までの待ち時間は短い。
【０００５】
しかしながら、Ｊａｖａ仮想マシンを利用したコンテンツを格納したＢｌｕ−ｒａｙディスクをレジューム再生する際には、再生を停止した際にメモリに格納されていた全てのデータを待避させなければならない等、処理負荷が非常に大きい。このため、Ｂｌｕ−ｒａｙプレーヤによっては、レジューム再生を行うことができないように構成されていたり、レジューム再生行うことができるように構成されていても、レジューム再生を行うための処理時間が非常に長くなっていたりしていた。従って、Ｂｌｕ−ｒａｙプレーヤにおいて、Ｊａｖａ仮想マシンを利用したコンテンツに含まれている映像等の再生が停止され、その後、再生が再開された場合には、例えば、Ｂｌｕ−ｒａｙディスクを装置に挿入した直後の状態から再生動作をやり直すことが要求されたり、視聴していた映像の先頭から再生が再開されたり、又は、再生が再開されるまでに数十秒から数分の時間を要したりしていた。このため、Ｂｌｕ−ｒａｙプレーヤにおけるレジューム再生には、ユーザの利便性が大きく損なわれるという問題があった。
【０００６】
そこで、本発明は、上記課題を解決するためになされたものであり、その目的は、仮想マシン上で動作するプログラムにより映像の再生が制御可能なコンテンツについて、再生停止位置から再生を再開するときに、待ち時間を短縮できるようにすることにある。
【課題を解決するための手段】
【０００７】
本発明の１態様に係る映像情報再生方法は、仮想マシン上で動作するプログラム、当該プログラムにより映像の再生が制御可能な仮想マシン利用型コンテンツ、および、前記仮想マシン利用型コンテンツの再生制御情報を含むプレイリストファイル、が記録された記録媒体から、前記映像を再生する処理を行う再生部と、制御部と、を備える映像情報再生装置が行う映像情報再生方法であって、前記制御部が、前記仮想マシン利用型コンテンツが、前記プログラムが起動しているとき及び前記プログラムが起動していないときの何れでも映像を再生することのできる第１種類のコンテンツであるか、前記プログラムが起動しているときにのみ映像を再生することのできる第２種類のコンテンツであるかを、前記再生制御情報から判定する判定過程と、前記仮想マシン利用型コンテンツの映像の再生が停止され、当該映像の再生を再開する際に、前記制御部が、前記判定過程で前記仮想マシン利用型コンテンツが前記第１種類のコンテンツであると判定されている場合には、前記プログラムを起動させないで、前記再生部に、前記映像の再生が停止された位置から、前記映像の再生を再開させる再生再開過程と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明の１態様によれば、仮想マシン上で動作するプログラムにより映像の再生が制御可能なコンテンツについて、再生停止位置から再生を再開するときに、待ち時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】映像情報再生装置の構成を概略的に示すブロック図である。
【図２】再生に必要なファイルとディレクトリの構成の一例を示す図である。
【図３】ｐｌｓｔファイルのシンタックスの一例を示す概略図である。
【図４】ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅの詳細を示す概略図である。
【図５】プレイリストとｓｔｒｅａｍファイルとの関係の一例を示す図である。
【図６】ｃｌｉｐファイルのシンタックスの一例を示す図である。
【図７】Ｍｏｖｉｅ．ｔｉｔｌｅファイルのシンタックスの一例を示す概略図である。
【図８】ｊａｒファイルの構成の一例を示す概略図である。
【図９】ｔｅｓｔ．ｃｌａｓｓ及びｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓのコンパイル前のソースコードの一例を示す概略図（その１）である。
【図１０】ｔｅｓｔ．ｃｌａｓｓ及びｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓのコンパイル前のソースコードの一例を示す概略図（その２）である。
【図１１】ｔｅｓｔ．ｃｌａｓｓ及びｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓのコンパイル前のソースコードの一例を示す概略図（その３）である。
【図１２】（Ａ）及び（Ｂ）は、Ｊａｖａ仮想マシン上で動作するプログラムによって制御されるコンテンツの映像の再生が行われる手順を説明するための概略図ある。
【図１３】映像情報再生装置における判定処理を示すフローチャートである。
【図１４】映像情報再生装置における、再生を停止して、再開する処理を示すフローチャートである。
【図１５】（Ａ）〜（Ｃ）は、映像情報再生装置での再生停止位置と再生再開位置とを説明するための概略図である。
【発明を実施するための形態】
【００１０】
図１は、本発明における実施の形態に係る映像情報再生装置１００の構成を概略的に示すブロック図である。本実施の形態に係る映像情報再生装置１００は、仮想マシン上で動作するプログラムにより映像の再生が制御され得る１又は複数のコンテンツを記録した記録媒体から、映像等を再生する装置である。また、本実施の形態に係る記録媒体は、例えば、光ディスクのようなディスク状記録媒体である。光ディスクは、例えば、ＤＶＤ、ＣＤ、Ｂｌｕ−ｒａｙディスク（ＢＤ）等である。さらに、仮想マシンは、例えば、Ｊａｖａ仮想マシンである。図１に示すように、映像情報再生装置１００は、再生部１１０と、制御部１２０と、記憶部１３０と、入力部１４０とを備える。
【００１１】
再生部１１０は、記録媒体に記録されている情報に基づいて、映像及び音声等を再生する処理を行う。例えば、再生部１１０は、ドライブ１１１と、デマルチプレクサ１１２と、字幕デコーダ１１３と、ビデオデコーダ１１４と、オーディオデコーダ１１５と、グラフィックス重畳部１１６とを備える。
【００１２】
ドライブ１１１は、記録媒体としての光ディスク１０１から情報を読み出す。なお、本実施の形態においては、光ディスク１０１は、Ｂｌｕ−ｒａｙディスクであるが、他の種類の記録媒体であってもよい。また、本実施の形態においては、光ディスク１０１は、Ｊａｖａ仮想マシンのプログラムと、このＪａｖａ仮想マシン上で動作するプログラムと、Ｊａｖａ仮想マシン上で動作するプログラムにより映像の再生が制御され得る１又は複数の仮想マシン利用型コンテンツと、仮想マシン利用型コンテンツの再生制御情報を含むプレイリストファイルとを記録している。
デマルチプレクサ１１２は、ドライブ１１１で読み出された情報を、字幕情報、映像情報及び音声情報等の各情報に分離する。
【００１３】
字幕デコーダ１１３は、デマルチプレクサ１１２で分離された字幕情報をデコードし、字幕信号を生成する。
ビデオデコーダ１１４は、デマルチプレクサ１１２で分離された映像情報をデコードし、映像信号を生成する。
オーディオデコーダ１１５は、デマルチプレクサ１１２で分離された音声情報をデコードし、音声信号を生成する。オーディオデコーダ１１５で生成された音声信号は、スピーカ等の音声出力装置１０３に出力される。
【００１４】
グラフィックス重畳部１１６は、制御部１２０からの指示に応じて、ビデオデコーダ１１４で生成された映像信号に、字幕デコーダ１１３で生成された字幕信号及び制御部１２０で生成されたグラフィック信号の少なくとも何れか一方を重畳して、重畳済みの映像信号を生成する。重畳済みの映像信号は、表示装置１０２に出力される。なお、グラフィックス重畳部１１６は、制御部１２０からの指示により、字幕デコーダ１１３で生成された字幕信号及び制御部で生成されたグラフィック信号の何れも重畳しない場合には、ビデオデコーダ１１４で生成された映像信号を表示装置１０２に出力する。
【００１５】
制御部１２０は、映像情報再生装置１００での処理の全体を制御し、特に、再生部１１０を制御して、映像及び音声等を再生する処理を制御する。例えば、制御部１２０は、再生制御部１２１と、判定部１２２とを備える。なお、制御部１２０は、所定のプログラムをＣＰＵで実行することにより実現することができる。
【００１６】
再生制御部１２１は、再生部１１０を制御して、光ディスク１０１に記録されているコンテンツから映像及び音声等を再生させる。また、再生制御部１２１は、光ディスク１０１に記録されているＪａｖａ仮想マシンのプログラム及びＪａｖａ仮想マシン上で動作するプログラムを実行する。そして、再生制御部１２１は、これらのプログラムを実行することにより、グラフィック信号を生成し、このグラフィック信号をグラフィックス重畳部１１６に与える。
さらに、再生制御部１２１は、判定部１２２での判定結果に応じて、レジューム再生処理を制御する。例えば、再生制御部１２１は、再生を再開する対象となる仮想マシン利用型コンテンツが、判定部１２２により、Ｊａｖａ仮想マシン上で動作するプログラムが起動しているとき又はＪａｖａ仮想マシン上で動作するプログラムが起動していないときの何れでも映像を再生することのできる第１種類のコンテンツであると判別された場合には、Ｊａｖａ仮想マシン上で動作するプログラムを起動しないで、再生停止位置から再生部１１０に再生を再開させる。一方、再生制御部１２１は、再生を再開する対象となる仮想マシン利用型コンテンツが、判定部１２２により、Ｊａｖａ仮想マシン上で動作するプログラムが起動しているときにのみ映像を再生することのできる第２の種類のコンテンツであると判別された場合には、Ｊａｖａ仮想マシン上で動作するプログラムを起動してから、再生部１１０に再生を再開させる。なお、再生制御部１２１は、再生再開対象である仮想マシン利用型コンテンツが第２の種類のコンテンツであると判別された場合には、再生部１１０にコンテンツの光ディスク１０１の先頭、又は、再生再開対象の仮想マシン利用型コンテンツの先頭等の予め定められた位置から再生を再開させる。
【００１７】
判定部１２２は、光ディスク１０１に記憶されている仮想マシン利用型コンテンツが、仮想マシン上で動作するプログラムが起動しているとき及びこのようなプログラムが起動していないときの何れでも、映像の再生が可能な第１種類のコンテンツであるか、又は、仮想マシン上で動作するプログラムが起動しているときにのみ、映像の再生が可能な第２種類のコンテンツであるか、を判定する。
【００１８】
記憶部１３０は、制御部１２０での処理に必要な情報を記憶する。例えば、記憶部１３０は、制御部１２０でレジューム再生を行うために必要な情報を記憶する。なお、記憶部１３０は、例えば、不揮発メモリにより実現することができる。
入力部１４０は、ユーザからの指示の入力を受け付ける。例えば、入力部１４０は、リモコン等により実現することができる。
【００１９】
図２は、記録媒体としての光ディスク１０１に記録されている、再生に必要なファイルとディレクトリの構成の一例を示す図である。図２に示されている“Ｍｏｖｉｅ．ｔｉｔｌｅ”は、最上位の再生単位であるタイトルの制御に必要な情報が記述されたＭｏｖｉｅ．ｔｉｔｌｅファイルである。図２に示されている“ＰＬＳＴ”は、プレイリスト（ＰｌａｙＬｉｓｔ）の再生制御に必要な情報（再生制御情報）が記述されたｐｌｓｔファイル（プレイリストファイル）が格納されているＰＬＳＴフォルダである。ＰＬＳＴフォルダ内には、ｐｌｓｔファイルである“ｘｘｘ．ｐｌｓｔ”が複数存在する。ここで、“ｘｘｘ”は、各々のｐｌｓｔファイルを識別するための識別情報であって、本実施の形態では、各々のｐｌｓｔファイルにおいて一意となる３桁の数字である。図２に示されている“ＣＬＩＰ”は、図２に示されている“ＳＴＲＥＡＭ”フォルダ内に格納されているｓｔｒｅａｍファイルの再生制御に必要な情報が記述されたｃｌｉｐファイルが格納されているＣＬＩＰフォルダである。ＣＬＩＰフォルダ内には、ｃｌｉｐファイルである“ｙｙｙ．ｃｌｐｉ”が複数存在する。ここで、“ｙｙｙ”は、各々のｃｌｉｐファイルを識別するための識別情報であって、本実施の形態では、各々のｃｌｉｐファイルにおいて一意となる３桁の数字である。ｃｌｉｐファイルとｓｔｒｅａｍファイルとは１対１に対応しており、例えば、ＣＬＩＰフォルダ内にｃｌｉｐファイルである“１２３．ｃｌｐｉ”が存在する場合には、ＳＴＲＥＡＭフォルダ内には、“１２３．ｃｌｐｉ”に対応するｓｔｒｅａｍファイルである“１２３．ｓｔｒｍ”が存在する。図２に示されている“ＳＴＲＥＡＭ”は、映像、音声及び字幕等の再生に必要なｓｔｒｍファイルが格納されているＳＴＲＥＡＭ（ストリーム）フォルダである。ＳＴＲＥＡＭフォルダ内には、ｓｔｒｅａｍファイルである“ｚｚｚ．ｓｔｒｍ”が複数存在する。ここで、“ｚｚｚ”は、各々のｓｔｒｅａｍファイルを識別するための識別情報であって、本実施の形態では、各々のｓｔｒｅａｍファイルにおいて一意となる３桁の数字である。なお、ｓｔｒｅａｍファイルは、ＴＳ（トランスポートストリーム）から構成され、固有のパケットＩＤを持つ映像情報、音声情報及び字幕情報が重畳されたファイルである。図２に示されている“ＪＡＲ”は、Ｊａｖａ仮想マシン上で動作する、タイトル再生制御を行うアプリケーションが格納されているＪＡＲ（Ｊａｖａ  ＡＲｃｈｉｖｅ）フォルダである。ＪＡＲフォルダ内には、Ｊａｖａのアプリケーションを動かすために必要なファイル一式をＺＩＰ形式に圧縮したｊａｒファイルである“￥￥￥．ｊａｒ”が存在する。ここで、“￥￥￥”は、各々のｊａｒファイルを識別するための識別情報であって、各々のｊａｒファイルにおいて一意となる３桁の数字である。
【００２０】
図３は、ｐｌｓｔファイル“ｘｘｘ．ｐｌｓｔ”のシンタックスの一例を示す概略図である。“ｐｌａｙｂａｃｋ＿ｔｙｐｅ”は、プレイリストの始めから終わりまでシーケンシャルに再生が行われる場合には、その値が“０”となり、プレイリスト中のある再生ポイントから別の再生ポイントへ再生が遷移する場合には、その値が“１”となる。“ｎｕｍｂｅｒ＿ｏｆ＿ｓｔｒｅａｍ”は、プレイリストの中で再生するｓｔｒｅａｍファイルの総数を示す。“ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅ”は、ｓｔｒｅａｍの再生中に行われるユーザ操作の可否を示す。なお、“ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅ”については、後で詳細に説明する。次の“ｆｏｒ”以下のループは、“ｎｕｍｂｅｒ＿ｏｆ＿ｓｔｒｅａｍ”の数だけ繰り返される。また、このループ内の“ｓｔｒｅａｍ＿ｆｉｌｅ＿ｎａｍｅ”には、再生対象となるｓｔｒｅａｍファイルのファイル名が記述される。“ｓｔｉｌｌ＿ｐｌａｙ”は、その値が“０”の場合には、ｓｔｒｅａｍの終端でスチル（静止画）状態にならずに、続けて次のｓｔｒｅａｍの再生を行い、その値が“１”の場合には、ｓｔｒｅａｍの終端で“ｓｔｉｌｌ＿ｔｉｍｅ”に記述された時間だけスチル状態になった後に、次のｓｔｒｅａｍの再生に遷移することを示す。また、“ｉｎ＿ｔｉｍｅ”及び“ｏｕｔ＿ｔｉｍｅ”には、ｓｔｒｅａｍファイルの再生対象となる部分の開始時刻と終了時刻がそれぞれ記述される。これらの時刻は、ｓｔｒｅａｍファイルのパケットに付加されたＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）に記述される。
【００２１】
図４は、“ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅ”の詳細を示す概略図である。“ｔｉｍｅ＿ｓｅａｒｃｈ”は、タイムサーチの可否を示す。“ｓｋｉｐ＿ｕｐ”は、次のチャプターへのスキップアップの可否を示す。“ｓｋｉｐ＿ｄｏｗｎ”は、前のチャプターへのスキップダウンの可否を示す。“ｓｔｏｐ”は、再生停止の可否を示す。“ｐａｕｓｅ＿ｏｎ”は、再生の一時停止の可否を示す。“ｆｏｒｗａｒｄ＿ｐｌａｙ”は、早送り再生の可否を示す。“ｂａｃｋｗａｒｄ＿ｐｌａｙ”は、早戻し再生の可否を示す。
“ｓｕｂｔｉｌｔｅ＿ｃｈａｎｇｅ”は、字幕のＯＮ／ＯＦＦの可否を示す。“ａｕｄｉｏ＿ｃｈａｎｇｅ”は、音声切り替えの可否を示す。“ａｎｇｌｅ＿ｃｈａｎｇｅ”は、アングル切り替えの可否を示す。ここで、“ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅ”では、各々の項目が示す値が“０”の場合には、対象となるユーザ操作が許可されることを示し、その値が“１”の場合には、対象となるユーザ操作が禁止されることを示す。
【００２２】
図５は、ｐｌｓｔファイルで示されているプレイリスト（ＰｌａｙＬｉｓｔ）とｓｔｒｅａｍファイルとの関係の一例を示す図である。図５に示されているように、このプレイリストでは、“００１．ｓｔｒｍ”の“ｉｎ＿ｔｉｍｅ”から“ｏｕｔ＿ｔｉｍｅ”までの部分と、“００３．ｓｔｒｍ”の“ｉｎ＿ｔｉｍｅ”から“ｏｕｔ＿ｔｉｍｅ”までの部分とが、順次再生される。言い換えると、プレイリストの総再生時間は、ｓｔｒｅａｍファイル毎の“ｉｎ＿ｔｉｍｅ”と“ｏｕｔ＿ｔｉｍｅ”との差分を合計した値となる。
【００２３】
図６は、ｃｌｉｐファイル“ｙｙｙ．ｃｌｐｉ”のシンタックスの一例を示す図である。ｃｌｉｐファイルには、これと対を成すｓｔｒｅａｍファイルの映像情報及び音声情報等の重畳情報、並びに、ランダムアクセス等に必要なインデックス情報が記述される。“ｓｔｒｅａｍ＿ｉｎｆｏ（）”には、重畳される映像情報、音声情報及び字幕情報等の属性情報が記述される。ただし、“ｓｔｒｅａｍ＿ｉｎｆｏ（）”は、本発明とは直接関係しないため、詳細な説明は省略する。また、“ｉｎｄｅｘ＿ｉｎｆｏ（）”には、ｓｔｒｅａｍファイルの各ＧＯＰの先頭の時間情報及び位置情報が記述される。“ｎｕｍｂｅｒ＿ｏｆ＿ＧＯＰ”は、ｓｔｒｅａｍファイル中に含まれるＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）の総数を示す。次の“ｆｏｒ”以下のループは、“ｎｕｍｂｅｒ＿ｏｆ＿ＧＯＰ”の数だけ繰り返される。このループに含まれる“ｓｔａｒｔ＿ＰＴＳ”は、ＧＯＰ先頭のＩピクチャーが持つＰＴＳ情報を示す。このループに含まれる“ｒｅｌａｔｉｖｅ＿ｂｙｔｅ”は、ｓｔｒｅａｍファイルの先頭からＩピクチャーの先頭までの相対バイト数を示す。
【００２４】
図７は、“Ｍｏｖｉｅ．ｔｉｔｌｅ”ファイルのシンタックスの一例を示す概略図である。“ｎｕｍｂｅｒ＿ｏｆ＿ｔｉｔｌｅ”は、光ディスクに記録されているタイトルの総数を示す。次の“ｆｏｒ”以下のループは、“ｎｕｍｂｅｒ＿ｏｆ＿ｔｉｔｌｅ”の数だけ繰り返される。“ｔｉｔｌｅ＿ｔｙｐｅ”は、Ｊａｖａアプリケーションからタイトル再生が制御される場合には、その値が“１”となり、制御されない場合には、その値が“０”となる。“ｔｉｔｌｅ＿ａｔｔｒｉｂｕｔｅ”は、このタイトルが、メニュー画面表示用のタイトルである場合には、その値が“１”となり、メニュー画面表示用のタイトルでない場合には、その値が“０”となる。次の“ｉｆ”文では、“ｔｉｔｌｅ＿ｔｙｐｅ”の値が“１”の場合に、Ｊａｖａアプリケーションが格納されたｊａｒファイルのファイル名が記述される。ｊａｒファイルのファイル名は、例えば、“１２３．ｊａｒ”である。次の“ｅｌｓｅ”文は、“ｔｉｔｌｅ＿ｔｙｐｅ”の値が“０”の場合に、再生されるプレイリストのファイル名が記述される。再生されるプレイリストのファイル名は、例えば、“１２３．ｐｌｓｔ”である。“ｎｅｘｔ＿ｔｉｔｌｅ＿ｉｄ”は、現在再生されているタイトルの再生が終了したときに、次に再生されるタイトルを識別するための“ｔｉｔｌｅ＿ｉｄ”が記述される。
【００２５】
光ディスク１０１がドライブ１１１に挿入されると、再生制御部１２１の制御に従って、ドライブ１１１は、光ディスク１０１から図７に示されているような“Ｍｏｖｉｅ．ｔｉｔｌｅ”ファイルを読み出す。ドライブ１１１によって光ディスク１０１から読み出された“Ｍｏｖｉｅ．ｔｉｔｌｅ”ファイルを用いて、再生制御部１２１は、まず先頭に記述されたｔｉｔｌｅ情報に従って処理を行なう。ここで、“ｔｉｔｌｅ＿ｔｙｐｅ”の値が“１”、かつ、“ｔｉｔｌｅ＿ａｔｔｒｉｂｕｔｅ”の値が“０”であり、“ｉｆ”文に記述されたｊａｒファイルが“００１．ｊａｒ”であるとすると、再生制御部１２１は、“００１．ｊａｒ”を読み出し解析を行う。
【００２６】
図８は、ｊａｒファイルに相当する“００１．ｊａｒ”の構成の一例を示す概略図である。図８において、“００１．ｊａｒ”ファイルは、“ｔｅｓｔ＿ｉｍｇ．ｐｎｇ”、“ｔｅｓｔ．ｃｌａｓｓ”、及び“ｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓ”の３つのファイルにより構成されている。“ｔｅｓｔ＿ｉｍｇ．ｐｎｇ”は、この“００１．ｊａｒ”ファイルに含まれている、Ｊａｖａのプログラムで使用される画像データをＰＮＧフォーマットで圧縮したファイルである。“ｔｅｓｔ．ｃｌａｓｓ”及び“ｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓ”は、Ｊａｖａのプログラムを実行形式にコンパイルした実行ファイルである。なお、“．ｃｌａｓｓ”で識別されるファイルは、コンパイル後のファイルであるため、以下に、コンパイル前のソースコードを使って“ｔｅｓｔ．ｃｌａｓｓ”及び“ｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓ”の動作を説明する。
【００２７】
図９〜図１１は、図８に示されている“ｔｅｓｔ．ｃｌａｓｓ”及び“ｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓ”のコンパイル前のソースコードの一例を示す概略図である。図９は、図８に示されている“ｔｅｓｔ．ｃｌａｓｓ”及び“ｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓ”のコンパイル前のソースコードの一例の先頭部分を示す。図１０は、図８の“ｔｅｓｔ．ｃｌａｓｓ”及び“ｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓ”のコンパイル前のソースコードの一例の図９に続く部分を示す。図１１は、図８の“ｔｅｓｔ．ｃｌａｓｓ”及び“ｔｅｓｔ＄ｔｉｍｅｒ．ｃｌａｓｓ”のコンパイル前のソースコードの一例の図１０に続く部分を示す。
【００２８】
図９に示されているソースコードのＴ１部は、このアプリケーションの実行に必要なパッケージをインポートする部分である。Ｊａｖａではプレイリストの再生はサポートされていないため、“ｏｒｇ．ｄｉｓｃ．ｎｅｔ．ＤｉｓｃＬｏｃａｔｏｒ”は、プレイリストの再生のために用意された本実施の形態に固有のパッケージである。
【００２９】
図９に示されているソースコードのＴ２部は、変数を宣言している部分である。“Ｉ＿ＰＯＳ［］［］”以下の記述は、１秒毎に表示を変化させる際に使用される、グラフィックスの座標情報を示す。サンプル画像“ｓａｍｐｌｅ＿ｉｍｇ．ｐｎｇ”がデコードされると、図１２（Ａ）に示されている「１」〜「３０」のようなパネルの画像が展開される。例えば、図９に示されている｛１２８，０，２５６，１２８｝の記述は、（Ｘ１，Ｙ１）＝（１２８，０）で示される座標と（Ｘ２，Ｙ２）＝（２５６，１２８）で示される座標とを頂点（対角線上に存在する２つの頂点）とする正方形の部分を切り抜くこと意味し、図１２（Ａ）において「１１」と表示されている部分が切り抜かれる。
【００３０】
図１０に示されているソースコードのＴ３部は、サンプル画像“ｓａｍｐｌｅ＿ｉｍｇ．ｐｎｇ”を読み込んで、ＰＮＧファイルのデコードを行う部分である。このアプリケーションは、デコードが完了してから、図１０に示されているソースコードのＴ４部の処理へ進む。
【００３１】
図１０に示されているソースコードのＴ４部は、プレイリスト（ＰｌａｙＬｉｓｔ）の再生を実行する部分である。ここでは“ｉＰｌａｙＬｉｓｔＩＤ＝１”と記述されているため、“００１．ｐｌｓｔ”の再生が指示されている。“００１．ｐｌｓｔ”の再生が指示されると、ドライブ１１１で光ディスク１０１から読み出されたデータが、デマルチプレクサ１１２で、字幕情報、映像情報及び音声情報に分離され、字幕情報は、字幕デコーダ１１３で、映像情報は、ビデオデコーダ１１４で、音声情報は、オーディオデコーダ１１５で、それぞれデコードされる。
【００３２】
プレイリスト（ＰｌａｙＬｉｓｔ）の再生が開始されると同時に、図１１に示されているソースコードのＴ５部に従って、再生制御部１２１は、図１２（Ａ）に示されている「１」〜「３０」の画像データを、デコードされたＰＮＧファイルから切り出し、切り出された画像データに基づいて、グラフィック信号を生成する。再生制御部１２１で生成されたグラフィクス信号と、ビデオデコーダ１１４から出力された映像信号と、字幕デコーダ１５から出力された字幕信号とは、グラフィック重畳部１１６で重畳され、重畳された画像の画像信号が外部の表示装置１０２に出力される。
【００３３】
以上のようにして、Ｊａｖａ仮想マシン上で動作するプログラムによって制御されるコンテンツでは、Ｊａｖａ仮想マシン上で動作するプログラムによって制御されないコンテンツと比べて、より複雑な映像を表示することができる。しかし、Ｊａｖａ仮想マシン上で動作するプログラムによって制御されるコンテンツでは、ユーザ操作によって再生開始が指示されてから再生が開始されるまでに数十秒から数分の待ち時間が発生するという問題点がある。一般に、Ｊａｖａアプリケーションで使用されるグラフィックスは、再生が開始される前に、ＰＮＧファイルのデコードを終えるように記述されている。図１０に示されているＴ３部は、ＰＮＧデータをデコードしている時間に相当する。このように、再生を開始する前にＰＮＧデータ又はＪＰＥＧデータのデコードを行う理由は、ＰＮＧデータ又はＪＰＥＧデータのデコード処理は、特定の機能を実現するための組み込み機器のＣＰＵにとっては、非常に負荷の重い処理であり、Ｊａｖａ仮想マシン上で動作するプログラムを実行しながらデコードを行うと、グラフィックスの表示がスムーズに実行されないことがあるからである。
【００３４】
図１２（Ａ）及び（Ｂ）は、Ｊａｖａ仮想マシン上で動作するプログラムによって制御される（Ｊａｖａ仮想マシンを利用した）コンテンツの映像の再生が行われる手順を説明するための概略図ある。ここで再生されるコンテンツの映像は、１つのプレイリストファイルに基づいて、再生が開始されてから１秒間隔で、「１」〜「３０」の数字が書かれたパネルの画像を順次表示し、プレイリストに示されているｓｔｒｅａｍファイルに格納されている映像の再生が完了すると、アプリケーションを終了するものとする。図１２（Ａ）に示されている例では、１９２０×１０８０ピクセルのビデオ画面に、左上から縦横２５６ピクセルの座標を原点（０，０）として、高さ、幅ともに１２８ピクセルの画像が順次表示される。
【００３５】
また、Ｊａｖａ仮想マシン上で動作するプログラムによって制御されない（Ｊａｖａ仮想マシンを利用しない）コンテンツは、再生を停止（中断又はサスペンド）しても、再生停止位置から再生を再開すること（レジューム再生）が可能であるが、Ｊａｖａ仮想マシン上で動作するプログラムによって制御されるコンテンツは、レジューム再生ができない問題もある。例えば、図１２（Ａ）に示されるように、「１」〜「３０」のパネルの画像を１秒間隔で順に表示する再生処理において、「１５」のパネルの画像を表示した時点で再生が中断されたと仮定する。その後、「１５」のパネルの画像を表示した時点から再生を再開（レジューム再生）させるためには、「１５」のパネルの画像を表示していたときの、ＣＰＵと、ＣＰＵの外部メモリ（ＲＡＭ）との状態及び情報をすべて、フラッシュメモリ等の不揮発メモリに待避して保持することが必要である。しかし、低コストで製造することが要求される民生用の組み込み機器では、このような構成を採用することができないため、事実上、再生停止位置からの再生再開の機能を持たせることができない。
【００３６】
Ｊａｖａ仮想マシンを利用したコンテンツの再生には、上記のような問題があるため、ユーザがレジューム再生を行うには、図１２（Ｂ）に示されるように、数十秒待ってコンテンツの先頭から映像の再生をやり直した上、更に再生停止位置まで再生が進むのを待つ必要があり、再生再開時にユーザの利便性が大きく損なわれることになる。
【００３７】
Ｊａｖａ仮想マシン上で動作するＪａｖａプログラムによって再生が制御されるコンテンツにおいては、光ディスク１０１に記録されている映像情報に基づく映像と、Ｊａｖａプログラムで作られたグラフィックスとの両方が表示されていなければ意味をなさない（ユーザに正確な情報又は適切な情報が提供できない）コンテンツがある一方、通常再生中には映像のみが表示され、ユーザがリモコン等で操作をしたときのみ、Ｊａｖａプログラムで作られたグラフィックスが表示されるコンテンツもある。例えば、Ｂｌｕ−ｒａｙディスクのＪａｖａアプリケーションで作成された映画コンテンツ等では、映画の本編再生中に、ポップアップ（ＰｏｐＵＰ）メニューキーを操作すると、再生中の映画の映像の上に、音声選択、字幕選択又はシーンサーチ等のような、Ｊａｖａプログラムで記述されたグラフィックスであるメニュー画面が表示される。このように、Ｊａｖａプログラムにより表示されるグラフィックスが、光ディスクに記録されている映像情報の通常の再生には影響しないようなコンテンツも存在する。このようなコンテンツの場合、Ｊａｖａ仮想マシン上で動作するＪａｖａプログラムによって再生が制御されない（Ｊａｖａ仮想マシンを利用しない）コンテンツと同様の扱いをすることが可能であれば、Ｊａｖａプログラムにより実現される機能が使えないという制約があるものの、迅速なレジューム再生が可能となる。
【００３８】
しかし、図７に示されているように、Ｍｏｖｉｅ．ｔｉｔｌｅファイルでは、Ｊａｖａ仮想マシン上で動作するＪａｖａプログラムによって再生が制御され得るコンテンツにおいて、Ｊａｖａプログラムが起動していなくても本編の再生に支障がないかどうかが示されていない。このため、図７に示されているようなＭｏｖｉｅ．ｔｉｔｌｅファイルでは、映画の本編においてレジューム再生をすることができない。
【００３９】
そこで、本実施の形態に係る映像情報再生装置１００においては、光ディスク１０１に記録されているｐｌｓｔファイルの中に記述されている情報から、Ｊａｖａプログラムが起動していなくても本編の再生に支障があるかどうかを、制御部１２０で判別することができるようにする。
【００４０】
図１３は、本実施の形態に係る映像情報再生装置１００における判定処理を示すフローチャートである。ステップＳ１では、判定部１２２は、プレイリストのファイルの“ｐｌａｙｂａｃｋ＿ｔｙｐｅ”の値を確認する。一般に、映画の本編は、プレイリストの先頭から終端まで、連続して再生を行うことが一般的であり、本編の途中を行ったり来たりするような再生は行われない。判定部１２２は、“ｐｌａｙｂａｃｋ＿ｔｙｐｅ”の値が“０”である場合（ステップＳ１でＹｅｓ）には、ステップＳ２の処理へと進み、この値が“１”である場合（ステップＳ１でＮｏ）には、現在再生中のプレイリストは、Ｊａｖａが起動してなくても支障のない本編ではないと判断し、ステップＳ６の処理に進む。
【００４１】
ステップ２では、判定部１２２は、プレイリストファイルの“ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅ”を確認する。映画の本編のように映像と音声を楽しむプレイリストにおいては、停止、一時停止、早送り、早戻し、スキップアップ、スキップダウンといったユーザ操作ができることが一般的である。判定部１２２は、現在再生しているプレイリストの“ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅ”を参照し、“ｓｋｉｐ＿ｕｐ”、“ｓｋｉｐ＿ｄｏｗｎ”、“ｓｔｏｐ”、“ｐａｕｓｅ＿ｏｎ”、“ｆｏｒｗａｒｄ＿ｐｌａｙ”、“ｂａｃｋｗａｒｄ＿ｐｌａｙ”の値がすべて“０”（許可）になっている場合（ステップＳ２でＹｅｓ）には、ステップＳ３の処理へと進み、いずれかの値が“１”である場合（ステップＳ２でＮｏ）には、現在再生中のプレイリストは、Ｊａｖａが起動してなくても支障のない本編ではないと判断し、ステップＳ６の処理に進む。
【００４２】
ステップＳ３では、判定部１２２は、プレイリストファイルの“ｓｔｉｌｌ＿ｐｌａｙ”の値を確認する。複数のストリームが連結されたプレイリストが、映画の本編となっている場合、ｓｔｒｅａｍの終端でスチル状態になることは無く、シームレスに次のｓｔｒｅａｍに再生が移行する。判定部１２２は、“ｓｔｉｌｌ＿ｐｌａｙ”の値が“０”である場合（ステップＳ３でＹｅｓ）には、ステップＳ４の処理へと進み、この値が“１”である場合（ステップＳ３でＮｏ）には、Ｊａｖａが起動してなくても支障のない本編ではないと判断し、ステップＳ６の処理に進む。
【００４３】
ステップＳ４では、判定部１２２は、プレイリストのｓｔｒｅａｍの再生時間を確認する。再生時間は、各ｓｔｒｅａｍの“ｉｎ＿ｔｉｍｅ”から“ｏｕｔ＿ｔｉｍｅ”の差分である。映画の本編となっている場合、再生時間が数秒に設定されているようなことは無く、ある程度の再生時間を有する。判定部１２２は、ｓｔｒｅａｍの再生時間が所定の時間より長いかどうかを確認し、所定の時間より長い場合（ステップＳ４でＹｓｅ）は、ステップＳ５の処理へと進み、所定の時間以下である場合（ステップＳ４でＮｏ）は、Ｊａｖａが起動してなくても支障のない本編ではないと判断し、ステップＳ６の処理に進む。ここでの所定の時間は、ある程度の幅を持っており、ピンポイントで決まる値ではない。本実施の形態では、所定の時間は１分としているが、数十秒〜数分の間の値を取ることが可能である。
【００４４】
ステップＳ５では、判定部１２２は、ステップＳ１〜ステップＳ４までの判定結果から、現在再生中のｓｔｒｅａｍは、Ｊａｖａが起動してなくても支障のない本編であると判断し、記憶部１３０に、判定結果（ｒｅｓｕｍｅ＿ｅｎａｂｌｅ＝１）を保持する。一方、ステップＳ１〜ステップＳ４において本編ではないと判断された場合は、判定部１２２は、ステップＳ６に進み、判定結果（ｒｅｓｕｍｅ＿ｅｎａｂｌｅ＝０）を記憶部１３０に保持する。
【００４５】
なお、図１３に示すフローチャートでは、判定部１２２は、“ｐｌａｙｂａｃｋ＿ｔｙｐｅ”の値が“０”であり、“ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅ”に含まれる所定の値がすべて“０”であり、“ｓｔｉｌｌ＿ｐｌａｙ”の値が“０”であり、かつ、ｓｔｒｅａｍの再生時間が所定の時間より長い場合に、判定結果として“ｒｅｓｕｍｅ＿ｅｎａｂｌｅ＝１”を保持するように構成されているが、例えば、これらの内の少なくとも１つが満たされれば、判定結果として“ｒｅｓｕｍｅ＿ｅｎａｂｌｅ＝１”を保持するように構成することもできる。
【００４６】
図１４は、本実施の形態に係る映像情報再生装置における、再生を停止して、再開する処理を示すフローチャートである。ステップＳ１０において、入力部１４０を介して、ユーザ操作によって再生停止の指示が入力されると、ステップＳ１１において、再生制御部１２１は、現在再生している“ｔｉｔｌｅ＿ｉｄ”、プレイリストファイル名、ｓｔｒｅａｍファイル名、再生時間、選択されている音声情報のパケットＩＤ、及び、選択されている字幕情報のパケットＩＤ等の再生の再開に必要な各情報を記憶部１３０に保持させ、再生を停止する。なお、判定部１２２は、図１３のフローチャートに従って、再生を行っていたコンテンツが、Ｊａｖａが起動していなくても支障の無いコンテンツであるかどうかを判定し、判定結果（ｒｅｓｕｍｅ＿ｅｎａｂｌｅ）を記憶部１３０に保持させる。
【００４７】
ステップＳ１２において、入力部１４０を介して、ユーザから再生再開の指示が入力されると、再生制御部１２１は、ステップＳ１３において、光ディスク１０１より“Ｍｏｖｉｅ．ｔｉｔｌｅ”ファイルを読み出し、記憶部１３０に保持されたタイトルが、Ｊａｖａ仮想マシン上で動作するプログラムによって再生が制御され得るコンテンツのタイトルであるか否かを判別する。
【００４８】
ステップＳ１３において、再生制御部１２１は、Ｊａｖａ仮想マシン上で動作するプログラムによって再生が制御されない（Ｊａｖａ仮想マシンを利用しない）コンテンツのタイトルであると判断した場合（ステップＳ１３でＮｏ）には、ステップＳ１６の処理に進み、Ｊａｖａ仮想マシン上で動作するプログラムによって再生が制御される（Ｊａｖａ仮想マシンを利用する）コンテンツのタイトルであると判断した場合（ステップＳ１３でＹｅｓ）には、ステップＳ１４の処理に進む。
【００４９】
ステップＳ１４では、再生制御部１２１は、記憶部１３０に保持されている“ｒｅｓｕｍｅ＿ｅｎａｂｌｅ”の値が“１”であるか否かを判定する。そして、再生制御部１２１は、“ｒｅｓｕｍｅ＿ｅｎａｂｌｅ”の値が“０”であると判定した場合（ステップＳ１４でＮｏ）には、ステップＳ１５の処理に進み、“ｒｅｓｕｍｅ＿ｅｎａｂｌｅ”の値が“１”であると判定した場合（ステップＳ１４でＹｅｓ）には、ステップＳ１６の処理に進む。
【００５０】
ステップＳ１５では、再生制御部１２１は、レジューム再生は行わず、例えば、光ディスク１０１がトレーインされたときと同様のシーケンスで光ディスク１０１の先頭から再生を行う。
【００５１】
一方、ステップＳ１６では、再生制御部１２１は、Ｊａｖａ仮想マシン上で動作するプログラムによって再生が制御されない（Ｊａｖａ仮想マシンを利用しない）コンテンツのタイトルの場合と同様の手順で、レジューム再生を行う。例えば、再生制御部１２１は、ｃｌｉｐファイルより、停止した時間に最も近い時間のＧＯＰ先頭の位置を“ｉｎｄｅｘ＿ｉｎｆｏ（）”から検索し、対象のＧＯＰの“ｒｅｌａｔｉｖｅ＿ｂｙｔｅ”で示されるｓｔｒｅａｍファイルの途中からデータを読み出す。そして、再生制御部１２１は、記憶部１３０に保持されたパケットＩＤに従って、デマルチプレクサ１１２に、読み出されたデータから字幕情報、映像情報及び音声情報を分離させる。そして、デマルチプレクサ１１２で分離された情報は、それぞれ字幕デコーダ１１３、ビデオデコーダ１１４及びオーディオデコーダ１１５に送られて、再生される。
【００５２】
図１５（Ａ）〜（Ｃ）は、本実施の形態に係る映像情報再生装置１００での再生停止位置と再生再開位置とを説明するための概略図である。ここで再生されるコンテンツの映像は、図１２と同様に、１つのプレイリストファイルに基づいて、再生が開始されてから１秒間隔で、「１」〜「３０」の数字が書かれたパネルの画像を順次表示し、プレイリストに示されているｓｔｒｅａｍファイルに格納されている映像の再生が完了すると、アプリケーションを終了するものとする。そして、ここでは、図１５（Ａ）に示されるように、「１５」のパネルの画像が表示された時点で再生が停止された場合を想定する。本実施の形態においては、“ｒｅｓｕｍｅ＿ｅｎａｂｌｅ”の値が“０”のコンテンツである場合には、再生再開時に、Ｊａｖａ仮想マシン上で動作するプログラムによる制御が必要であるため、図１５（Ｃ）に示されるように、Ｊａｖａ仮想マシン上で動作するプログラムが起動されて、コンテンツの先頭（又は光ディスクの先頭等）である「１」のパネルの画像から再生が再開される。一方、再生再開時に、“ｒｅｓｕｍｅ＿ｅｎａｂｌｅ”の値が“１”のコンテンツである場合には、Ｊａｖａ仮想マシン上で動作するプログラムによる制御が必ずしも必要ではないため、図１５（Ｂ）に示されるように、Ｊａｖａ仮想マシン上で動作するプログラムが起動されずに、コンテンツの再生停止位置である「１５」のパネルの画像から再生が再開される（ただし、ここでは、「１５」のパネルの画像は表示されず、次の、「１６」のパネルの画像から表示される）。
【００５３】
以上に説明したように、本実施の形態に係る映像情報再生装置１００によれば、プレイリストファイル中の、“ｐｌａｙｂａｃｋ＿ｔｙｐｅ”の値と、“ＵＯ＿ｐｅｒｍｉｓｓｉｏｎ＿ｔａｂｌｅ”に含まれる情報の値と、“ｓｔｉｌｌ＿ｐｌａｙ”の値と、ｓｔｒｅａｍの再生時間とから、Ｊａｖａプログラムが起動していなくても支障がないコンテンツであるか否かを判定することができる。このため、本実施の形態に係る映像情報再生装置１００は、映画の本編等を再生する際に、レジューム再生が開始されるまでの待ち時間を短縮することができる。
【符号の説明】
【００５４】
１００：映像情報再生装置、  １１０：再生部、  １１１：ドライブ、  １１２：デマルチプレクサ、  １１３：字幕デコーダ、  １１４：ビデオデコーダ、  １１５：オーディオデコーダ、  １１６：グラフィックス重畳部、  １２０：制御部、  １２１：再生制御部、  １２２：判定部、  １３０：記憶部、  １４０：入力部、  １０１：光ディスク。
【図１】
2012174328.tif 000003
【図２】
2012174328.tif 000004
【図３】
2012174328.tif 000005
【図４】
2012174328.tif 000006
【図５】
2012174328.tif 000007
【図６】
2012174328.tif 000008
【図７】
2012174328.tif 000009
【図８】
2012174328.tif 000010
【図９】
2012174328.tif 000011
【図１０】
2012174328.tif 000012
【図１１】
2012174328.tif 000013
【図１２】
2012174328.tif 000014
【図１３】
2012174328.tif 000015
【図１４】
2012174328.tif 000016
【図１５】
2012174328.tif 000017