(57)【特許請求の範囲】
【請求項１】
複数の処理の状態退避及び状態復帰を実現する再生装置であって、
複数の処理のうち1つは、AVストリームの再生処理であり、
他の１つは、AVストリームの再生と連動した、アプリケーションの処理であり、
記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、
アプリケーションを動作させるプラットフォーム部と、
AVストリームを再生する再生部と、
揮発性の第１記憶媒体とを備え、
前記揮発性の第１記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、
前記アプリケーションは、前記プラットフォーム部内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、
前記複数の処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第１記憶媒体の記憶領域から読み出して、不揮発性の第２記憶媒体に書き込むことでなされ、
前記複数の処理の状態復帰は、前記不揮発性の第２記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第１記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第１記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされる、再生装置。
【請求項２】
前記記録媒体には、更にレジューム対応情報が記録されており、
前記レジューム対応情報は、状態復帰後に、前記揮発性の第１記憶媒体の記憶領域へ復元された内容を、再生部及びアプリケーションに利用させるか否かを示し、
前記レジューム対応情報が復元内容を利用させる旨を示す場合、
前記再生部による再生再開は、前記揮発性の第１記憶媒体の記憶領域に復元された再生状態パラメータに基づいてなされ
前記アプリケーションによる動作再開は、揮発性の第１記憶媒体の記憶領域に復元されたアプリケーションレジュームパラメータを用いてなされ、
前記レジューム対応情報が前記第１記憶媒体へ復元された内容を利用しないことを示す場合、前記再生部は、AVストリームの再生を再開せず、アプリケーションは、動作を再開しない、請求項１記載の再生装置。
【請求項３】
前記レジューム対応情報は、
前記揮発性の第１記憶媒体の記憶領域へ内容を復元するかどうかを示す第１のフラグ情報と、前記揮発性の第１記憶媒体の記憶領域に復元された内容を利用するかどうかを示す第２のフラグ情報とを含み、
前記再生部によるAV再生再開及びアプリケーションの動作再開は、
前記第１のフラグ情報が前記揮発性の第１記憶媒体の記憶領域へ内容を復元することを示し、かつ
前記第２のフラグ情報が前記揮発性の第１記憶媒体の記憶領域に復元された内容を利用することを示す場合のみ行われる、請求項２記載の再生装置。
【請求項４】
前記再生装置は、レジュームサポート情報を保持しており、
レジュームサポート情報は、前記揮発性の第１記憶媒体の記憶領域の内容を前記不揮発性の第２記憶媒体の記憶領域に退避することが可能か否かを示し、
前記アプリケーションが起動された際、前記レジュームサポート情報は、アプリケーションに引き渡され、
前記アプリケーションによるアプリケーションレジュームパラメータの書き込みは、受け取ったレジュームサポート情報が、記憶領域の内容退避が可能である旨を示している場合になされる、請求項１記載の再生装置。
【請求項５】
前記再生装置は、前記状態退避を制御するアプリケーションプログラミングインターフェイス(API)関数を備え、
アプリケーションは受け取ったレジュームサポート情報に基づいて前記API関数を呼出
し、
前記状態退避は、API関数の呼び出しに応じてなされる、請求項１記載の再生装置。
【請求項６】
前記プラットフォーム部は、
前記記録媒体に記録されたバイトコードを含むクラス構造体を読み込むクラスローダと、
前記クラスローダが読み込んだバイトコードをネィティブコードに変換して、MPUに実
行させるバイトコードインタプリタと
動作中のアプリケーションが利用するパラメータを格納しているヒープメモリとを備え、
前記アプリケーションは、状態復帰を行う際、揮発性の第１記憶媒体の記憶領域に復帰されたアプリケーションレジュームパラメータが正常であるかどうかをチェックし、アプリケーションレジュームパラメータが正常である場合、揮発性の第１記憶媒体の記憶領域におけるアプリケーションレジュームパラメータをヒープメモリに読み込むことで、動作の再開を行い、
アプリケーションレジュームパラメータが正常でない場合、ヒープメモリにおけるパラメータを初期化した上で、動作を開始する、ことを特徴とする請求項１記載の再生装置。
【請求項７】
前記記録媒体には、プレイリスト情報と、動作モードオブジェクトとが記録されており、
前記プレイリスト情報は、AVストリームと一体になってプレイリストを構成しており、
前記動作モードオブジェクトは、アプリケーション管理テーブルを備え、アプリケーション管理テーブルは、所定のタイトルがユーザによって選択された際、クラスローダが起動を行うべきアプリケーションを示すテーブルであり、
前記再生部が再生するAVストリームとは、アプリケーションによって再生が命じられたプレイリストを構成するAVストリーム、又は、動作モードオブジェクトにおいて、"自動
再生すべき"と規定されているプレイリストを構成するAVストリームであり、
前記プラットフォーム部が動作させているアプリケーションとは、動作モードオブジェクトのアプリケーション管理テーブルにおいて、"起動せよ"と規定されているアプリケーションである
ことを特徴とする請求項１記載の再生装置。
【請求項８】
前記記録媒体には、インデックステーブルが記録されており、
前記インデックステーブルは、複数のタイトル番号と、各タイトル番号に対応する動作モードオブジェクトとを示し、
揮発性の第１記憶媒体の記憶領域に格納されている再生状態パラメータは、カレントタイトル番号を含み、
カレントタイトル番号は、インデックステーブルに記述されている複数のタイトルのうち、再生対象になっているものを示し、
前記アプリケーションの動作再開は、
状態復帰時においてカレントタイトル番号が揮発性の第１記憶媒体の記憶領域に書き込まれた後、書き込み後のカレントタイトル番号に対応する動作モードオブジェクト内のアプリケーション管理テーブルにて指定されているアプリケーションを、プラットフォーム部にロードすることでなされる、請求項７記載の再生装置。
【請求項９】
前記記録媒体には、アプリケーションレジュームパラメータの状態復帰、再生状態パラメータの状態復帰のうち、何れか一方を実行すべきか、双方を実行すべきかを示す選択フラグを含むレジューム対応情報が記録されており、
前記再生装置は、前記レジューム対応情報を参照して、アプリケーションレジュームパラメータの状態復帰、再生状態パラメータの状態復帰のうち、何れか一方を実行すべきか、両方を実行すべきかの判定を行い、
不揮発性の第２記憶媒体から揮発性の第１記憶媒体の記憶領域への再生状態パラメータ及びアプリケーションレジュームパラメータの書き込みは、前記レジューム対応情報に含まれている選択フラグが、アプリケーションレジュームパラメータの状態復帰、及び、再生状態パラメータの状態復帰の両方を実行すべき旨を示している場合になされる
ことを特徴とする請求項１記載の再生装置。
【請求項１０】
前記記録媒体にはレジューム対応情報が記録されており、
レジューム対応情報は、状態退避を行うべきアプリケーションレジュームパラメータの個数を示しており、
前記状態退避によって不揮発性の第２記憶媒体に書き込まれるアプリケーションレジュームパラメータは、
揮発性の第１記憶媒体の記憶領域に存在する複数のアプリケーションレジュームパラメータのうち、前記レジューム対応情報に記載されている個数のアプリケーションレジュームパラメータである
ことを特徴とする請求項１記載の再生装置。
【請求項１１】
不揮発性の第２記憶媒体の記憶領域は、主となる記憶領域、従となる記憶領域から構成され、
主となる記憶領域もしくは前記従となる記憶領域のどちらを状態退避先にするかの決定を行い、状態退避先として決定されたものにアプリケーションレジュームパラメータ、再生状態パラメータを書き込み、書き込みに成功すれば、状態退避先として決定した記憶領域を記憶しておき、
前記状態復帰は、第２記憶媒体における主となる記憶領域及び従となる記憶領域のうち、状態退避先として記憶されているものを、状態復帰先として決定し、決定された状態復帰先からアプリケーションレジュームパラメータ及び再生状態パラメータを読み出すことでなされる
ことを特徴とする請求項１記載の再生装置。
【請求項１２】
前記再生装置は、さらに、
前記主となる記憶領域もしくは前記従となる記憶領域のそれぞれにおける状態退避内容が正常であるか否か、状態退避のタイミングが最も新しいものはどれかの判定を行い、
前記状態復帰先として選ばれる不揮発性の第２記憶媒体は、
前記主となる記憶領域、従となる記憶領域のうち、アプリケーションレジュームパラメータの内容が正常であり、尚且つ、状態退避のタイミングが最も新しいものである
ことを特徴とする請求項１１記載の再生装置。
【請求項１３】
複数の処理の状態退避及び状態復帰をコンピュータ上で実現する再生方法であって、
複数の処理のうち1つは、AVストリームの再生処理であり、
他の１つは、AVストリームの再生と連動した、アプリケーションの処理であり、
コンピュータは、
記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、
アプリケーションを動作させるプラットフォーム部と、
AVストリームを再生する再生部と、
揮発性の第１記憶媒体とを備え、
前記揮発性の第１記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、
前記アプリケーションは、前記プラットフォーム部内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、
前記再生方法による複数の処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第１記憶媒体の記憶領域から読み出して、不揮発性の第２記憶媒体に書き込むことでなされ、
前記再生方法による複数の処理の状態復帰は、前記不揮発性の第２記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第１記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第１記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされる、再生方法。
【請求項１４】
複数の処理の状態退避及び状態復帰をコンピュータに実行させるプログラムであって、
複数の処理のうち1つは、AVストリームの再生処理であり、
他の１つは、AVストリームの再生と連動した、アプリケーションの処理であり、
前記コンピュータは、
記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、
アプリケーションを動作させるプラットフォーム部と、
AVストリームを再生する再生部と、
揮発性の第１記憶媒体とを備え、
前記揮発性の第１記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、
前記アプリケーションは、前記プラットフォーム部内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、
前記プログラムによる複数の処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第１記憶媒体の記憶領域から読み出して、不揮発性の第２記憶媒体に書き込むことでなされ、
前記プログラムによる複数の処理の状態復帰は、前記不揮発性の第２記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第１記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第１記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態退避及び状態復帰技術の技術分野に属する発明である。
【背景技術】
【０００２】
状態退避とは、装置への電源供給が突然絶たれるとの不測の事態に備えて、動作再開に必要なデータの一部を不揮発性の第２記憶媒体に書き込んでおく技術であり、いわば、旧来からの停電対策同様、装置の安定動作にはなくてはならない不可欠な処理である。一方、状態復帰とは、装置への電源供給が再開した後に、不揮発性の第２記憶媒体に書き込まれたデータに基づき、電源供給が絶たれる前の動作を速やかに回復する技術である。DVD-VideoのAV再生を実行するような再生装置において、状態退避・状態復帰は、ＡＶ再生を停止する際に、物理的もしくは論理的な再生位置を、不揮発性の第２記憶媒体に書き込んでおき、次回の再生時には、不揮発性の第２記憶媒体に書き込むまれた再生位置から、再生を再開することでなされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３４３８７２９号
【特許文献２】特開２００３-７７２２２号公報
【特許文献３】特開昭６２-１６９２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
AV再生の対象となるコンテンツには、DVD-Videoコンテンツと、BD-ROMコンテンツという、二種類のものがある。DVD-Videoコンテンツで使われる命令群は、いわゆるコマンドインタープリタによって解読されるコマンドであり、何番目の命令を実行していたというプログラムカウンタの値や、レジスタの保持値を状態退避の対象とするだけで、状態復帰は可能になる。
【０００５】
これとは対照的にBD-ROMコンテンツは、AV再生にJava(登録商標)アプリケーションが連動する。Java(登録商標)アプリケーションの動作には、複数のスレッド、膨大な変数、様々な画面描画パラメータなどが必要であり、装置の電源供給が絶たれた場合、電源断前の動作を再開するには、これらの複数のスレッド、変数、様々な画面描画パラメータの全てを不揮発性の第２記憶媒体に書き込んでおく必要がある。そればかりではなく、Java(登録商標)アプリケーションの動作に利用していたメモリ情報や、オペレーティングシステム(OS)が持つ管理情報などを不揮発性の第２記憶媒体に書き込んでおいて、サスペンドやハイバーネーションと呼ばれる処理を装置に実行させる必要がある。
【０００６】
しかしながら、BD-ROM再生装置を始めとするコンシューマエレクトロニクス(CE)機器においては、パーソナルコンピュータに比べて不揮発記憶領域の容量や、各種ハードウェアリソースが少ない場合が多く、動作再開のための情報の一部を、不揮発性の第２記憶媒体に状態退避できないという状態退避漏れが発生する。かかる状態退避漏れがあると、再開時の動作が正しくなされることを保障できない。仮に、状態退避すべき情報の一部に欠落があった状態で、動作を再開しようとすると、再生装置のハングアップやブラックアウトを招きかねない。CE機器は、パソコンの業界とは比較にならない品質保障が求められるため、そのような動作異常の危険性がある状態退避・状態復帰は、とてもではないが実用に耐えるとはいえない。
【０００７】
本発明は、状態退避に必要な不揮発性の第２記憶媒体の規模が制限されている場合であっても、電源が絶たれた後のアプリケーションの動作再開を安定的に行わせることができる再生装置を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、再生装置は、複数の処理の状態退避及び状態復帰を実現する再生装置であって、複数の処理のうち1つは、AVストリームの再生処理であり、他の１つは、AVストリームの再生と連動した、アプリケーションの処理であり、記録媒体からアプリケーション及びAVストリームを読み出す読出手段と、アプリケーションを動作させるプラットフォーム部と、AVストリームを再生する再生部と、揮発性の第１記憶媒体とを備え、前記揮発性の第１記憶媒体は記憶領域を備え、前記記憶領域には、前記AVストリームの再生状態を示す再生状態パラメータが書き込まれており、前記アプリケーションは、前記プラットフォーム部内で使用している複数のパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、前記記憶領域に書き込んでおり、前記複数の処理の状態退避は、前記アプリケーションレジュームパラメータと、前記再生状態パラメータとを揮発性の第１記憶媒体の記憶領域から読み出して、不揮発性の第２記憶媒体に書き込むことでなされ、前記複数の処理の状態復帰は、前記不揮発性の第２記憶媒体に書き込まれたアプリケーションレジュームパラメータと、再生状態パラメータとを前記揮発性の第１記憶媒体の記憶領域に書き戻すと共に、前記揮発性の第１記憶媒体の記憶領域に書き戻された再生状態パラメータに基づき、アプリケーションをプラットフォーム部にロードすることでなされることを特徴としている。
【発明の効果】
【０００９】
上記課題解決手段を具備した再生装置は、再生状態パラメータに基づきアプリケーションのロードをやり直すことで、状態復帰を行う。状態復帰において、アプリケーションのロードをやり直すので、複数のスレッド、変数、様々な画面描画パラメータ、メモリ情報、OSの管理情報を不揮発性の第２記憶媒体に書き込む必要はない。これらの情報の書き込みが不要であるので、不揮発性の第２記憶媒体の規模は、必要最低限のもので足りる。
【００１０】
また揮発性の第１記憶媒体の記憶領域には、つまり、アプリケーションレジュームパラメータが書き込まれるので、アプリケーションのロードをやり直すだけで、アプリケーションは、動作を再開することができる。
アプリケーションは、動作中に使用しているパラメータのうち、状態復帰後の動作再開時に必要となるものを選んで、アプリケーションレジュームパラメータとして、揮発性の第１記憶媒体の記憶領域に書き込むだけで、停電対策を実現することができるので、アプリケーションが直接、不揮発性メモリに動作パラメータを書き込む場合と比較して、アプリケーション状態退避・状態復帰のためのオーバーヘッドは小さくて済む。またオーバヘッドを極力最小にしつつも、装置の電源異常対策を実行することができるので、装置のパフォーマンスを低下させることはない。
【００１１】
よって再生装置が、例えばAV再生と、アプリケーションの動作とを連動させたゲームを実行している場合、キャラクターのパラメータがスコア等の同一性を維持しつつも、途中からゲームを再開するといった処理が可能になる。
尚、上記再生装置における動作再開は、アプリケーションの積極的な関与を必要とするものである。ヒープ領域で使用されているパラメータのうち、動作再開に必要なものが選ばれていない場合は、レジュームの実行は不可能になるから、アプリケーションの動作と、再生装置の動作との不整合が発生する可能性がある。このような問題は、上記再生装置を以下のように構成することで解決することができる。
【００１２】
つまり、前記記録媒体には、更にレジューム対応情報が記録されており、前記レジューム対応情報は、状態復帰後に、前記揮発性の第１記憶媒体の記憶領域へ復元された内容を、再生部及びアプリケーションに利用させるか否かを示し、前記レジューム対応情報が復元内容を利用させる旨を示す場合、前記再生部による再生再開は、前記揮発性の第１記憶媒体の記憶領域に復元された再生状態パラメータに基づいてなされ前記アプリケーションによる動作再開は、揮発性の第１記憶媒体の記憶領域に復元されたアプリケーションレジュームパラメータを用いてなされ、前記レジューム対応情報が前記第１記憶媒体へ復元された内容を利用しないことを示す場合、前記再生部は、AVストリームの再生を再開せず、アプリケーションは、動作を再開しないように構成することで解決を図ることができる。
【００１３】
上記発明特定事項が追加された再生装置では、アプリケーションが、動作再開に必要なパラメータをアプリケーションレジュームパラメータとして選ぶという動作をサポートしているなら、レジューム対応情報を設定することにより、レジュームを行ってよいと規定することができる。逆に、アプリケーションが、動作再開に必要なパラメータをアプリケーションレジュームパラメータとして選ぶという動作をサポートしていないなら、レジューム対応情報を設定することにより、レジュームを禁止することができる。コンテンツ制作者の判断によって、レジューム再生を行なっても良いかどうかを制御できるため、コンテンツ作成者側の意図に沿った再生が行なわれることになる。
【００１４】
コンテンツ作成者側が、映像や音声と、Java(登録商標)アプリケーション含むようなコンテンツをレジュームさせたくないと考えた場合、レジューム対応情報の設定次第でレジュームは規制されるので、ユーザの不測の動作によってコンテンツ制作者側の意図しないような動作が引き起こされることはない。
一般的に再生装置の電源遮断は、多くの場合、装置を利用するユーザの操作に基づいて行なわれるものであり、ユーザがいつ電源を遮断するかというのは、予測がつかない。
【００１５】
従って、アプリケーションがパラメータを不揮発性メモリに状態退避する前に、ユーザの操作入力により電源が遮断されてしまえば、揮発性の記憶媒体の情報は全てクリアされてしまい、不揮発性の記憶媒体に退避することができない。この場合、電源を再投入したとしても、不揮発性の記憶媒体に情報は退避されていないため、Java(登録商標)アプリケーションの動作を電源遮断前の状態から再開することができない。また再開したとしても、その動作が不安定なものになる。
【００１６】
このように、ユーザの不測の動作によってコンテンツ制作者側の意図しないような動作が引き起こされると、コンテンツ作成者側にとっては、映像や音声と、Java(登録商標)アプリケーション含むようなコンテンツをレジュームさせたくないと考えるかもしれない。それとは裏腹に、従来のレジューム機は、再生装置が備える機能のみでできてしまうため、コンテンツ制作者側の意図を反映することはできない。
【００１７】
このような問題は、再生装置を以下のように構成することで解決することができる。
つまり前記再生装置は、レジュームサポート情報を保持しており、レジュームサポート情報は、前記揮発性の第１記憶媒体の記憶領域の内容を前記不揮発性の第２記憶媒体の記憶領域に退避することが可能か否かを示し、前記アプリケーションが起動された際、前記レジュームサポート情報は、アプリケーションに引き渡され、前記アプリケーションによるアプリケーションレジュームパラメータの書き込みは、受け取ったレジュームサポート情報が、記憶領域の内容退避が可能である旨を示している場合になされるように構成することで解決を図ることができる。
【００１８】
揮発性メモリについて、電源バックアップが存在せず、ユーザ操作による突発的な電源遮断で、揮発性メモリの内容が消失してしまう再生装置では、状態復帰のためのパラメータが、正しく退避されていない可能性が高い。この際、レジュームサポート情報を"退避不可能"に設定しておけば、パラメータの退避が不可能である旨をアプリケーションに正しく伝えることができる。この場合、アプリケーションは、再生装置によるレジュームを期待しないから、不安定なパラメータに基づいて、レジューム動作がなされるという事態を回避することができる。
【００１９】
揮発性メモリについて電源バックアップが存在していて、突発的な電源遮断が発生しても、揮発性メモリの内容を退避できる再生装置では、状態復帰のためのパラメータが、正しく退避されている。かかる再生装置において、レジュームサポート情報を"退避可能"に設定しておけば、パラメータの退避が不可能である旨をアプリケーションに正しく伝えることができる。この場合アプリケーションは、再生装置によるレジュームを期待することができる。
【００２０】
再生装置においてレジュームがサポートされているかどうかをアプリケーションに伝え、アプリケーションは、その再生装置のサポートの有無に基づきレジュームに必要な動作を行うので、再生装置と、アプリケーションとの連携を密にすることができる。
【図面の簡単な説明】
【００２１】
【図１】再生装置１０２の、使用行為についての形態を示す図である。
【図２】BD-ROMの構成を示した図である。
【図３】再生装置の大まかな機能構成を示すブロック図である。
【図４】再生装置におけるソフトウェアレイヤモデルを示す図である。
【図５】再生装置によって再生に供されるBD-ROMコンテンツを示す図である。
【図６】レジスタセット２４の内容の例を模式的に示したものである。
【図７】状態退避におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。
【図８】状態復帰及び利用時におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。
【図９】レジューム処理の処理手順を示すフローチャートである。
【図１０】アプリケーションレジュームパラメータ処理の手順を示すフローチャートである。
【図１１】レジュームサポート情報及びレジュームサポート情報に基づく、APIのコールの一例を示す図である。
【図１２】復帰可否フラグ、利用可否フラグを含むレジューム対応情報を示す図である。
【図１３】復帰可否フラグ、利用可否フラグに応じた動作を示す。
【図１４】状態退避・状態復帰の可否がタイトル毎に設定されたIndex.bdmvを示す図である。
【図１５】レジューム対応フラグの内容を用いた再生装置１０２の処理手順を示すフローチャートである。
【図１６】テレビ１０３の提示内容を示す図である。
【図１７】再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを格納したレジューム対応情報を説明するための図である。
【図１８】再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグによる状態退避・状態復帰を示すフローチャートである。
【図１９】個数指定を含むアプリケーションレジュームパラメータの一例を示す図である。
【図２０】不揮発性メモリ２６の格納内容を模式的に表したものである。
【図２１】第１の退避先である記憶領域１と、第２の退避先である記憶領域２の２組の退避先が存在する不揮発性メモリ２６を示す図である。
【発明を実施するための形態】
【００２２】
以下本発明の実施の形態について、図面を参照しながら説明する。
（第１実施形態）
以降、再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図１は、再生装置１０２の、使用行為についての形態を示す図である。本図に示すように、再生装置１０２は、BD-ROM１０１、再生装置１０２、テレビ１０３、リムーバブルメディア１０４と共にユーザによる使用に供される。
【００２３】
BD-ROM１０１は、映画作品が記録された記録媒体である。
再生装置１０２は、テレビ１０３と共に、ホームシアターシステムを構築して、BD-ROM１００を再生する。
テレビ１０３は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
【００２４】
リムーバブルメディア１０４は、再生装置に装填され、映画配給者のWWWサーバ１０１から配信されたコンテンツの受け皿として利用される。そのため、ネットを通じてダウンロードされ、リムーバブルメディア１０４に格納されたコンテンツと、BD-ROM１００に記録されたコンテンツとを組み合わせて、BD-ROM１００のコンテンツを拡張/更新をすることができる。かかるリムーバブルメディア１０４を装填するという目的のため、再生装置１０２には、SDメモリカード、メモリスティック、コンパクトフラッシュ(登録商標)、スマートメディア、マルチメディアカード等のリムーバブルメディア１０４を挿入する挿入口を備える。
【００２５】
リモコン１０５は、再生装置１０２の付属物であり、再生装置１０２に対する操作をユーザから受け付けて、操作に応じた指示信号を再生装置１０２に送信する。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、光記録媒体であるBD-ROM１００である。
【００２６】
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、この例では光記録媒体であるBD-ROM１０１である。
図２は、BD-ROM（以降、「BD」と称する場合もある）の構成を示した図である。本実施の形態においては、映画等のAVコンテンツを再生するためのAVアプリケーションを主眼においてBD-ROMを説明するが、BD-ROMをCD-ROMやDVD-ROMのようにコンピュータ用途の記録媒体として利用することも当然ながら可能である。BD-ROMは、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けて螺旋状に記憶領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはBCA（BurstCutting  Area）と呼ばれる、ドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
【００２７】
論理アドレス空間には、ファイルシステム情報（ボリューム）を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは、UDFやISO９６６０などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっており、２５５文字のファイル名、ディレクトリ名を読み出すことが可能である。
【００２８】
本実施の形態の場合、BDディスク上のディレクトリ、ファイル構造は、ルートディレクトリ（ROOT）直下にBDMVディレクトリが置かれている。BDMVディレクトリはBD-ROMで扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。
BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、JARディレクトリ、BDJOディレクトリと呼ばれる５つのサブディレクトリが存在し、BDMVディレクトリには、index.bdmv２０１，MovieObject.bdmvの２種類のファイルが配置されている。
【００２９】
STREAMディレクトリには、いわばデジタルストリーム本体となるファイルを格納しているディレクトリであり、拡張子M２TSが付与されたファイル（xxx.m２ts［"xxx"は可変、拡張子"m２ts"は固定］）が存在する。PLAYLISTディレクトリには、拡張子mplsが付与されたファイル（xxx.mpls［"xxx"は可変、拡張子"mpls"は固定］）が存在する。CLIPINFディレクトリには、拡張子clpiが付与されたファイル（xxx.clpi［"xxx"は可変、拡張子"clpi"は固定］）が存在する。JARディレクトリには、拡張子jarが付与されたファイル（xxx.jar［"xxx"は可変、拡張子"jar"は固定］）が存在する。BDJOディレクトリには、拡張子bdjoが付与されたファイル（xxx.bdjo［"xxx"は可変、拡張子"bdjo"は固定］）が存在する。
【００３０】
拡張子"m２ts"が付与されたファイルは、MPEG-TS（TransportStream）形式のデジタルAVストリームであり、１つ以上のビデオストリーム、１つ以上のオーディオストリーム、１つ以上のグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、グラフィクスストリームは、映画の字幕をそれぞれ示している。
【００３１】
拡張子"clpi"が付与されたファイルは、デジタルAVストリームのそれぞれに１対１に対応するClip情報である。管理情報故に、Clip情報は、デジタルAVストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP＿mapをもっている。
拡張子"mpls"が付与されたファイルは、プレイリスト情報を格納したファイルである。プレイリスト情報は、MainPath情報、Subpath情報、プレイリストMark情報を含む。
【００３２】
1)MainPath情報は、AVストリームの再生時間軸のうち、In＿Timeとなる時点と、Out＿Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN＿table)をもつ。
【００３３】
2)プレイリストMark情報は、In＿Time情報及びOut＿Time情報の組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
3)Subpath情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるIn＿Time情報及びOut＿Time情報の組みとを含む。再生制御のためのJava(登録商標)アプリケーションが、このプレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(登録商標)仮想マシンに命じることで、AV再生を開始させることができる。JMF(JavaMedia Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
【００３４】
AVストリームと、プレイリスト情報との組みは、"タイトル"という再生単位を構成する。BD-ROMにおけるAV再生は、このタイトルを一単位としてなされる。BD-ROMコンテンツは、このタイトルの集まり、つまり、タイトルセットのことをいう。root/BDMVディレクトリに存在するタイトルのうち、最初に再生されるべきタイトルを、特に"ファーストプレイタイトル"とよぶ。また、プレイリスト情報及びクリップ情報は、静的なシナリオとして扱われる。
拡張子"jar"が付与されたファイルは、Java(登録商標)アーカイブファイルであり、Java(登録商標)仮想マシンを用いて動的なシナリオ制御を行うJava(登録商標)アプリケーションのプログラムが記述されている。Java(登録商標)アーカイブファイルは、http：//java(登録商標).sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じたファイルである。Java(登録商標)アーカイブファイルは複数のファイルをディレクトリ構造の形で格納している。このディレクトリ構造とは、ルートディレクトリ直下に「XXXX.class」が存在し、META-INFディレクトリにファイル「MANIFEST.MF」、ファイル「SIG-BD.SF」、ファイル「SIG-BD.RSA」、ファイル「bd.XXXX.perm」が存在するというものである。
【００３５】
このXXXX.class(クラスファイル)は、Java(登録商標)仮想マシン上で実行することができるJava(登録商標)アプリケーションを定義するようなクラス構造体を格納したクラスファイルである。MANIFEST.MFは、デジタル証明書に対応するものであり、SIG-BD.SFは、MANIFEST.MFのハッシュ値が記載されているファイルである。SIG-BD.RSAは、デジタル証明書チェーン、署名情報が記載されているファイルである。bd.XXXX.permは、パーミッションリクエストファイルであり、実行されるJava(登録商標)アプリケーションにどのパーミッションを与えるのかの情報を格納する。
【００３６】
Java(登録商標)アーカイブファイルにおけるクラスファイルにて定義されるJava(登録商標)アプリケーションは、Xletインターフェイスを通じて、アプリケーションマネージャにより、制御されるJava(登録商標)Xletである。Xletインターフェイスは、"loaded","paused"、"active","destoryed"といった4つの状態をもつ。
またJava(登録商標)アプリケーションは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJava(登録商標)ライブラリを用いて、GEM1.0.2にて規定されたHAViフレームワークを実現する。HAViフレームワークは、GEM1.0.2におけるリモートコントロールナビゲーション機構を含むGUIフレームワークであり、Java(登録商標)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
【００３７】
拡張子"bdjo"が付与されたファイル、及び、MovieObject.bdmv（ファイル名固定）は、動作モードオブジェクトである。動作モードオブジェクトは、再生装置における複数の動作モードのそれぞれについての制御手順を規定するデータである。再生装置における動作モードには、コマンドインタプリタが制御主体になる動作モード(HDMVモード)と、Java(登録商標)プラットフォームが制御主体になる動作モード(BD-Jモード)とがある。HDMVモードではHDMVモードの動作主体であるコマンドインタプリタが制御主体になるので、DVD-Videoライクなナビゲーションコマンドによって制御が規定されることになる。一方、BD-Jモードでは、BD-Jモードの動作主体であるJava(登録商標)プラットフォームが制御主体になるので、DVB-MHPで実現されているような、Java(登録商標)バイトコードによって制御が規定されることになる。
【００３８】
BD-Jモードにおける動作モードオブジェクトは、BD-Jオブジェクトと呼ばれる。BD-Jオブジェクトは、プレイリスト情報により示されるAVストリームと、Java(登録商標)アプリケーションとの関連付けにより、タイトルを定義する情報である。BD-オブジェクトは、"アプリケーション管理テーブル"と、そのタイトルにおいて自動再生可能なプレイリスト一覧を示す。アプリケーション管理テーブルは、アプリケーションの識別子（アプリケーションID）とそのアプリケーションに属するJava(登録商標)アーカイブファイルのIDを羅列することで、このタイトルを生存区間とするアプリケーションを示すテーブルである。つまり、一つのアプリケーションは一つ以上のJava(登録商標)アーカイブファイルで構成される。またBD-Jオブジェクトは、タイトルにおいて自動再生すべきプレイリスト情報の指定を含む。自動再生すべきものとして指定されたプレイリスト情報は、BD-Jオブジェクトに対応するタイトルがカレントタイトルになった際、その再生が自動的に開始される。尚、BD-Jオブジェクトによって動作が規定されるJava(登録商標)アプリケーションを、"BD-Jアプリケーション"と呼ぶ。
【００３９】
HDMVモードにおける動作モードオブジェクトは、ムービーオブジェクトと呼ばれる。ムービーオブジェクトは、HDMVモード（後述）での各タイトル再生で、再生進行を動的に変化させるためのシナリオが記述されたシナリオプログラムが含まれる。
index.bdmv２０１（ファイル名は"index.bdmv"で固定）は、BD-ROM全体に関する管理情報であり、映画作品のプロバイダを特定する識別子であるorganizationID（３２bit）や、プロバイダが提供するBD-ROMのそれぞれに割り当てられた識別子であるdiscID（１２８bit）等の情報を持ち、再生装置へのディスク挿入後に、index.bdmv２０１が最初に読み出されることで、再生装置においてディスクが一意に認識される。加えて、index.bdmv２０１にはBD-ROMにおいて再生可能となる複数のタイトルと、個々のタイトルを規定するBD-Jオブジェクトとを対応付けて示すテーブルが含まれる。
図３は、再生装置の大まかな機能構成を示すブロック図である。本図に示すように、再生装置は、BD-ROMドライブ１、リードバッファ２a,２b、ローカルストレージ３、ネットワークI/F４、仮想ファイルシステム５、デマルチプレクサ６、ビデオデコーダ７、ビデオプレーン８、グラフィクスデコーダ９、グラフィクスプレーン１０、グラフィクスプレーン１１、合成部１２、オーディオデコーダ１３、HDMIインターフェイス１４、AV再生エンジン１５、静的シナリオメモリ１６、レンダリングエンジン１７、MPU２１、ROM２２、RAM２３、レジスタセット２４、電源供給部２５、不揮発性メモリ２６、動的シナリオメモリ３０、ヒープメモリ３１、バイトコードインタプリタ３２から構成される。
【００４０】
BD-ROMドライブ１は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
ローカルストレージ２は、ビルドインメディアドライブ２a、リムーバブルメディアドライブ２bを備え、ダウンロードしてきた追加コンテンツやアプリケーションが使うデータなどの保存に用いられる。追加コンテンツの保存領域はBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。また、ダウンロードした追加コンテンツをどのようにBD-ROM上のデータとマージされるか、マージ規則が記載されたマージ管理情報もこのビルドインメディアドライブ２a、リムーバブルメディアドライブ２bに保存される。
リードバッファ３ａ、３ｂは、FIFOメモリであり、BD-ROM又はローカルストレージから読み出されたTSパケットが先入れ先出し式に格納される。
【００４１】
ネットワークインターフェース４は、再生装置の外部と通信を行うためのものであり、インターネットでアクセス可能なサーバにアクセスしたり、ローカルネットワークで接続されたサーバにアクセスしたりすることが可能である。例えば、インターネット上に公開されたBD-ROM追加コンテンツのダウンロードに用いられたり、コンテンツが指定するインターネット上のサーバとの間でデータ通信を行うことでネットワーク機能を利用したコンテンツの再生を可能としたりする。BD-ROM追加コンテンツとは、オリジナルのBD-ROMにないコンテンツで、例えば追加の副音声、字幕、特典映像、アプリケーションなどである。BD-Jモードの動作主体であるJava(登録商標)プラットフォームからネットワークインターフェース４を制御することができ、インターネット上に公開された追加コンテンツをビルドインメディアドライブ２aもしくはリムーバブルメディアドライブ２bにダウンロードすることができる。
【００４２】
仮想ファイルシステム５は、追加コンテンツと共にビルドインメディアドライブ２a、リムーバブルメディアドライブ２bにダウンロードされたマージ管理情報を元に、ビルドインメディアドライブ２aもしくはリムーバブルメディアドライブ２bに格納された追加コンテンツとBD-ROM上のコンテンツをマージさせた、仮想的なBD-ROM（仮想パッケージ）を構築する。HDMVモードの動作主体であるコマンドインタプリタやBD-Jモードの動作主体であるJava(登録商標)プラットフォームからは、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置はBD-ROM上のデータとビルドインメディアドライブ２aもしくはリムーバブルメディアドライブ２b上のデータの両方を用いて再生制御を行うことになる。
【００４３】
デマチプレクサ６は、AVストリームを構成するTSパケットの多重分離を行い、ビデオデコーダ７、グラフィクスデコーダ９、オーディオデコーダ１３のそれぞれに出力する。
ビデオデコーダ７は、デマルチプレクサ６から出力されたビデオフレームを復号して非圧縮形式のピクチャをビデオプレーン８に書き込む。
ビデオプレーン８は、非圧縮形式のピクチャを格納しておくためのメモリである。
【００４４】
グラフィクスデコーダ９は、デマルチプレクサ６から出力されたビデオフレームを復号して非圧縮形式のピクチャをビデオプレーン８に書き込む。
グラフィクスプレーン１０は、デマルチプレクサ６から読み出されたグラフィクスストリームをデコードすることで得られたグラフィクスを格納しておくバッファである。
グラフィクスプレーン１１は、BD-Jアプリケーションによって描画した、一プレーン分のグラフィクスを格納しておくためのバッファである。
【００４５】
合成器１２は、ビデオプレーン８に格納された非圧縮形式のピクチャデータに、グラフィクスプレーン１１に展開されたグラフィクスを合成して出力する。
オーディオデコーダ１３は、デマルチプレクサ６から出力されたオーディオフレームを復号して、非圧縮形式のオーディオデータを出力する。
HDMIインターフェイス１４は、合成部１２によって合成された合成映像と、オーディオデコーダ１３によってデコードされた非圧縮のオーディオデータとを、HDMIインターフェイスを介してテレビ１０３に伝送する。
【００４６】
AV再生エンジン１５は、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJava(登録商標)プラットフォームからの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、副映像切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をカレントプレイリストを構成するカレントプレイリスト情報、カレントクリップ情報に従って行うことをいう。
【００４７】
カレントシナリオメモリ１６は、カレントプレイリスト情報やカレントクリップ情報を格納しておくためのメモリである。カレントプレイリスト情報とは、BD-ROMドライブ１またはビルドインメディアドライブ３a、リムーバブルメディアドライブ３bからアクセスできる複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントクリップ情報とは、BD-ROMドライブ１またはビルドインメディアドライブ３a、リムーバブルメディアドライブ３bからアクセスできる複数クリップ情報のうち、現在処理対象になっているものをいう。
【００４８】
レンダリングエンジン１７は、例えばJava２D，OPEN-GLといった基盤ソフトウェアを備え、BD-Jモードの動作主体であるJava(登録商標)プラットフォームからの指示に従ってコンピュ-タ・グラフィックスの描画を行い、描画されたコンピュ-タ・グラフィックスをイメージプレーン１１に出力する。
MPU２１は、再生装置におけるコンピュータアーキテクチャの中核をなし、ROM２２に格納されているネィティブコードをフェッチして解読し、ネィティブコードに基づき、再生装置の処理を実行する。
【００４９】
ROM２２は、再生装置における組込みプログラムが予め格納されている。
RAM２３は、動的シナリオメモリ３０、ヒープメモリ３１が配置されるメモリ空間を構成する。
レジスタセット２４には、プレイリストの再生状態や、コンテンツが利用する任意の情報を格納できる領域である。プレイリストの再生状態とは、プレイリストに記載されている各種AVデータ情報の中のどのAVデータを利用しているか、プレイリストのどの位置（時刻）を再生しているか、などの状態を現すものである。プレイリストの再生状態が変化した際は、AV再生エンジン１５がレジスタセット２４に対し、その内容を格納する。また、HDMVモードの動作主体であるコマンドインタプリタもしくはBD-Jモードの動作主体であるJava(登録商標)プラットフォームが実行しているアプリケーションからの指示により、コンテンツが指定した値を格納したり、格納された値をアプリケーションに渡したりすることが可能である。
【００５０】
電源供給部２５は、商用電源又は内蔵電源により電源供給を行う。電源投入時には、投入を示す割込信号をMPU２１に出力し、電源異常／電源断時には、電源異常／電源断を示す割込信号をMPU２１に出力する。
不揮発性メモリ２６は、読み書き可能なメモリなどの記録媒体（または記憶媒体とも言う）であり、電源が供給されなくても、記録内容を保持できる媒体である。例えばフラッシュメモリ、FeRAMなどである。また、ビルドインメディア、リムーバブルメディアといった書き込み可能な記録媒体を、不揮発性メモリ２６として利用しても実施可能である。また、ネットワークＩ／F(4)２１を経由してアクセス可能な媒体であっても、再生装置の電源供給状態に依存せず記録内容を保持できるのであれば、不揮発性メモリ２６として利用しても実施可能である。
動的シナリオメモリ３０は、カレント動的シナリオを格納しておき、HDMVモードの動作主体であるコマンドインタプリタ、BD-Jモードの動作主体であるJava(登録商標)プラットフォームによる処理に供されるメモリである。カレント動的シナリオとは、BD-ROMまたはビルドインメディアドライブ２a、リムーバブルメディアドライブ２bに記録されているIndex.bdmv、BD-Jオブジェクト、ムービーオブジェクトのうち、現在実行対象になっているものをいう。
【００５１】
ヒープメモリ３１は、システムアプリケーションのバイトコード、BD-Jアプリケーションのバイトコード、システムアプリケーションが利用するシステムパラメータ、BD-Jアプリケーションが利用するアプリケーションパラメータが配置されるスタック領域である。
バイトコードインタプリタ３２は、ヒープメモリ３１に格納されているバイトコードをネィティブコードに変換して、MPU２１に実行させる。
以上が再生装置の内部構成についての説明である。続いて、再生装置のソフトウェアレイヤモデルの詳細について説明する。
【００５２】
図４は、再生装置におけるソフトウェアレイヤモデルを示す図である。このソフトウェアレイヤモデルでは、HDMVモジュール４０、BD-Jモジュール４１、モード管理モジュール４２という3つの動作主体がMPU２１上に存在する。これらは、動的シナリオメモリ３０に存在するIndex.bdmv、BD-Jオブジェクト、ムービオブジェクトによって制御を行う。そしてBD-Jモジュール４１は、ミドルウェア３５−バイトコードインタプリタ３２−ヒープメモリ３１という階層によって構成される。ヒープメモリ３１には、BD-Jアプリケーション、クラスローダ３３、アプリケーションマネージャ３４が存在する。
【００５３】
本図のうち、メモリカードドライブ３０、ヒープメモリ３１、バイトコードインタプリタ３２については、先の図で説明済みであるから、その説明を省略する。以降、未説明の構成要素について説明する。
クラスローダ３３は、システムアプリケーションの1つであり、JARアーカイブファイルに存在するクラスファイルからバイトコードを読み出して、ヒープメモリ３１に格納することにより、BD-Jアプリケーションのロードを行う。
【００５４】
アプリケーションマネージャ３４は、システムアプリケーションの1つであり、BD-Jオブジェクト内のアプリケーション管理テーブルに基づき、BD-Jアプリケーションを起動したりBD-Jアプリケーションを終了したりする等、BD-Jアプリケーションのアプリケーションシグナリングを行う。
ミドルウェア３５は、組込みソフトウェアのためのオペレーティングシステムであり、当該オペレーティングシステムのカーネル、基本入出力部から構成される。またBD-JアプリケーションからのAPIコールに応じて、様々な機能をBD-Jアプリケーションに提供する。
【００５５】
HDMVモジュール４０は、HDMVモードの動作主体であるコマンドインタプリタによって構成されるDVD仮想プレーヤであり、HDMVモードの実行主体となる。HDMVモードの動作主体であるコマンドインタプリタは、シナリオプログラムを構成するナビゲーションコマンドを解読して実行するものである。ナビゲーションコマンドは、DVD-Videoと似たようなシンタックスで記述されているため、かかるナビゲーションコマンドを実行することにより、DVD-Videoライクな再生制御を実現することができる。
【００５６】
BD-Jモジュール４１は、BD-Jモードの動作主体であるJava(登録商標)プラットフォームであり、Java(登録商標)仮想マシン、コンフィグレーション、プロファイルから構成され、バイトコードインタプリタ３２、クラスローダ３３、アプリケーションマネージャ３４、ミドルウェア３５を含む。
モード管理モジュール４２は、BD-ROMまたはビルドインメディアドライブ２a、リムーバブルメディアドライブ２bから読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モード管理モジュール４２によるモード管理とは、動的シナリオをどのHDMVモジュール４０、BD-Jモジュール４１に実行させるかという、モジュールの割り当てである。
【００５７】
UO探知モジュール４３は、リモコンや再生装置のフロントパネルに対してなされたユーザ操作を検出して、ユーザ操作を示す情報（以降UO（User  Operation）という）をモード管理モジュール４２に出力する。
ディスパッチャ４４は、UOから、現在の再生装置におけるモードに適切なUOのみを選んで、そのモードを実行するモジュールに受け渡す。例えばHDMVモードの実行中に、上下左右、アクティベートといったUOを受け付けた場合、HDMVモードのモジュールにこれらのUOを出力するというのがディスパッチャ４４の処理である。
【００５８】
本再生装置において、特に創作した部分は、BD-ROMコンテンツのレジュームである。レジュームとは、"退避"、"復帰"、"利用"という3つの処理によって、電源供給が絶たれた後の動作再開を実行することである。"退避"とは、揮発性の記憶媒体に存在する動作再開用のパラメータを、不揮発性の記憶媒体に書き込むことをいう。"復帰"とは、不揮発性の記憶媒体から、揮発性の記憶媒体に、動作再開に用いるパラメータを書き戻すことである。利用とは、揮発性の記憶媒体からBD-Jアプリケーション、AV再生エンジンへと、パラメータを引き渡して、アプリケーションの動作や再生制御に供することである。このレジュームには、以下のような類型がある。
【００５９】
レジュームのうち、電源供給が断たれる前と、電源供給が再開した後とで、再生装置がHDMVモードで動作しているか、BD-Jモードで動作しているかというモード管理の同一性を保つことを、"モード管理レジューム"と呼び、かかるモード管理レジュームは、モード管理の管理主体であるモード管理モジュールによってなされる。第２記憶媒体への退避に供すべきパラメータのうち、モード管理に必要なものを"モード管理レジュームパラメータ"と呼ぶ。モード管理レジュームでは、Index.bdmv、及び、カレントタイトルに対応する動作モードオブジェクト(BD-Jオブジェクト、ムービーオブジェクト)がモード管理パラメータに該当する。これらは、動的シナリオメモリ３０に格納されているので、この動的シナリオメモリ３０の内容を不揮発性メモリ２６に書き込むことで、状態退避は可能になる。
【００６０】
モード管理レジュームのうち、HDMVモードと、BD-Jモードとで共通に実行すべき動作のためのレジューム、つまり、プレイリストの再生制御の同一性を保つレジュームを"再生状態レジューム"といい、再生状態レジュームに用いるパラメータを、再生状態レジュームパラメータという。再生状態レジュームでは、再生状態レジスタの格納値が再生状態パラメータに該当する。ここでカレントタイトル番号は、モード管理レジュームに必要なものだが、カレントタイトル番号は、再生状態レジスタに格納されているので、再生状態パラメータの１つとして扱う。静的シナリオメモリ１６に格納されているカレントプレイリスト情報、カレントクリップ情報は、本実施形態では、再生状態パラメータに含めないものとする。これらは、再生状態レジスタにて指示されているから、再生状態レジスタの格納値を手掛かりにして改めて再度BD-ROMに読み出せば足りるからである。
【００６１】
レジュームのうち、電源供給が断たれる前と、電源供給が再開した後とで、アプリケーションの動作の同一性を保つことを"アプリケーションレジューム"という。第２記憶媒体への退避に供すべきパラメータのうち、このアプリケーションレジュームに用いるべきものを"アプリケーションレジュームパラメータ"と呼ぶ。BD-ROMコンテンツのレジュームには、以上の3つのレジュームが必要となる。これらのレジュームの全体制御は、モード管理モジュール４２によってなされる。
【００６２】
またBD-ROMコンテンツは、動画像の再生に、アプリケーションが連動するコンテンツであり、典型的なものとしては、動画像の再生を伴いながら、ユーザ操作に従いゲームを進行させるゲームコンテンツ、動画像の再生を伴いながら、ユーザ操作に従いWebページでオンラインショッピングを実行するオンラインショッピングコンテンツがある。以降の説明では、ゲームコンテンツが、BD-ROMコンテンツとして提供されているケースを題材にして、説明を進める。
【００６３】
図５は、再生装置によって再生に供されるBD-ROMコンテンツを示す図である。図５（ａ）は、AVClipにおけるピクチャデータをビデオデコーダ７がデコードすることにより得られる動画像の一例を示す。HDMVモードでは、このピクチャデータを主体とした映像が再生されることになる。
図５（ｂ）は、グラフィクスプレーン１１の格納内容の一例を示す。BD-Jアプリケーションが、動画像の再生を伴ったゲームを実行していることを前提にしている。そのためグラフィクスプレーン１１には、インディケータを示すグラフィクスが、表示座標(X1,Y1)において、縦幅、横幅(width1,height1)の大きさで表示されている。このインディケータは、ステージ数(STAGE1:5)、ライフ値(LIFE:3)、ゲームで使用するアイテム(ITEM:G,N)、スコア(SCORE:10,500)、ダメージ(4)を示す。
【００６４】
また、表示座標(X2,Y2)には、縦幅、横幅(width2,height2)の大きさで、メニューが配置されている。このメニューは、(戦う、逃げる)という文字列を表示するものである。
メニューの表示座標(X3,Y3)、メニューの縦幅、横幅(width3,height3)には、マップが配置されている。RAM８、合成部１２の格納内容がこれらのものである場合、テレビ１０３には、図５（ｃ）のような合成映像が表示されることになる。この図４（ｂ）における格納内容は、ゲームのGUIを表すものであるから、動画像と、アプリケーションによるGUI表示を組合せた、楽しい画面演出が可能になる。
以降、レジスタセットについて説明する。
【００６５】
レジスタセット２４は、例えば読み書き可能な揮発性の記憶領域を有するメモリなどの記憶媒体である。例えばユーザが操作入力できるBD-ROMの再生装置の電源スイッチ（図示せず）をオンにすると、レジスタセット２４に電力が供給され、レジスタセット２４に情報を書き込んで記憶することが可能となる。またBD-ROMの再生装置の電源スイッチ（図示せず）をオフにすると、レジスタセット２４に電力が供給さなくなり、レジスタセット２４に格納された情報はクリアされる。
【００６６】
図６は、レジスタセット２４の内容の例を模式的に示したものである。レジスタセット２４は、プレーヤ設定レジスタと、プレーヤ状態レジスタと、汎用レジスタとから構成される。
プレーヤ設定レジスタは、再生装置のコンフィグレーションを格納している。再生装置のコンフィグレーションには、例えば、再生装置における音声言語設定、字幕言語設定、テレビの表示設定、年齢設定がある。かかるレジスタの格納内容は、電源が絶たれた後も、格納しておく必要があるので、その記憶内容は、不揮発性メモリ２６によるバックアップがとられている。
【００６７】
プレーヤ状態レジスタ(PSR)は、ある値を格納するための、番号付けされた格納場所を有するレジスタである。例えば、ある番号の格納場所には、現在再生中のプレイリストの識別子が入れられたり、他のある番号の格納場所には、利用しているオーディオの識別子が入れられたりする。これらの格納場所に格納された値に基づいて現在再生中のＡＶストリームの再生位置を特定することができる。プレーヤ状態レジスタにおいて、番号付けされた格納場所のそれぞれに値を入れるのは、AV再生エンジン１５、HDMVモジュール４０、もしくはBD-Jモジュール４１である。コンテンツは、HDMVモジュール４０、もしくはBD-Jモジュール４１によって、プレーヤ状態レジスタや汎用レジスタから、指定した番号に対応する値を取得したり、指定した番号に対応する値を格納したりできる。
【００６８】
以降、PSRのうち、代表的なものについて説明する。
PSR1は、カレントPlay Itemにおいて再生可能となる複数オーディオストリームのうち、1つを特定するものである。PSR1の設定値が変化すれば、再生装置はこの変化後のオーディオストリームを再生する。PSR1は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、オーディオストリームが存在しない旨、又は、オーディオストリームが選択されてない旨を示す。1〜32の設定値は、オーディオストリーム番号として解釈される。
【００６９】
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示す。
PSR5は、1〜999の値に設定されることで、現在の再生時点が属するチャプター番号を示し、0xFFFFに設定されることで、再生装置においてチャプター番号が無効であることを示す。
PSR6は、0〜999の値に設定されることで、現在の再生時点が属するカレントプレイリストの番号を示す。
【００７０】
PSR7は、0〜255の値に設定されることで、現在の再生時点が属するカレントプレイアイテムの番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM)を示す。以上がPSRについての説明である。
ここで、あるBD-ROMコンテンツを再生している際、そのBD-ROMコンテンツに含まれている、あるタイトルを構成する一部であるBD-Jアプリケーションが、そのタイトルの再生停止時に、レジューム再生に必要な情報を保存する処理の一例を示す。
【００７１】
汎用目的レジスタ(GPR)には、BD-Jアプリケーションがヒープメモリ３１内で使用しているアプリケーションパラメータのうち、次回の動作再開時に特に必要となるものが、BD-Jアプリケーションによって書き込まれている。本図に示すパラメータ、つまり、インディケータに対応するデータファイル名(インディケータ画像.PNG)、インディケータの表示座標(X1,Y1)、インディケータの縦幅、横幅(width1,height1)、ステージ数(STAGE1:5)、ライフ値(LIFE:3)、ゲームで使用するアイテム(ITEM:G,N)、スコア(SCORE:10,500)といったものは、図５（ｃ）の画面を再度描画するため、BD-Jアプリケーションが必要であると判断したパラメータである。
【００７２】
(再生停止時の処理)
BD-Jアプリケーションは、電源断発生や電源中断等、タイトル再生を停止すべき旨が通知されれば、ヒープメモリに存在する様々なパラメータ、つまり、動作において利用している変数の値、表示座標、その時点の時刻情報の中から、動作再開時に必要なものを選んで、不揮発性メモリに保存したいパラメータ(アプリケーションレジュームパラメータ)として汎用目的レジスタに書き込む。これ以外にも、プレーヤ状態レジスタやプレーヤ状態レジスタから保存したい情報をアプリケーションレジュームパラメータとして取得する。さらにBD-Jアプリケーションは、アプリケーションレジュームパラメータを汎用レジスタに格納する（以降、アプリケーションレジュームパラメータ退避と呼ぶ）。BD-Jアプリケーションは、アプリケーションレジュームパラメータ退避が完了すると、BD-Jモジュール４１に対し、完了通知を行う。尚、アプリケーションレジュームパラメータは基礎出願の明細書におけるJava(登録商標)レジュームパラメータと同一である。
【００７３】
BD-Jモジュール４１は、BD-Jアプリケーションから完了通知を受け取ると、そのBD-Jアプリケーションを停止させる。BD-Jアプリケーションを停止させると、タイトルが停止したことをモード管理モジュール４２に対して通知する。
モード管理モジュール４２は、タイトルの停止した通知を受け取ると、レジスタセット２４のうち、再生状態レジュームパラメータを不揮発性メモリ２６に退避する。この再生状態パラメータの中には、タイトル番号等、モード管理モジュール４２によるモード管理に必要なパラメータが存在する。
【００７４】
(再生再開時の処理)
コンテンツの再生停止後、電源供給が再開されたため、タイトル再生を再開する際の動作を以下に説明する。
モード管理モジュール４２は、再生を開始しようとしているコンテンツが、予め退避しておいたレジスタセット２４の内容に対応するものであるかを判断する。
【００７５】
判断する方法としては、記録媒体が排出されていないことを認識できる場合であれば、そのコンテンツがモード管理レジューム退避によって退避されたレジスタセット２４の内容に対応するものであることは明白である。他の例としては、モード管理レジューム退避によって退避しておいたレジスタセット２４に対応するコンテンツのコンテンツ識別情報と、これから再生しようとしているコンテンツのコンテンツ識別情報との比較によっても実現可能である。
【００７６】
ここでもし、再生を開始しようとしているコンテンツが、モード管理レジューム退避によって退避しておいてレジスタセット２４の内容に対応するものではないと判断した場合、以降で述べる復帰処理は実施せず、BD-ROMで決められた通常の再生処理を実施する。以降の記述では、レジスタセット２４の内容に対応するものであると判断した場合を前提とする。
【００７７】
コンテンツの再生を開始する際、タイトルを再生開始する前に、予め退避しておいたレジスタセット２４の内容を、元の内容に戻す。タイトルを再生する場合、モード管理モジュール４２は、BD-Jモジュール４１に対し、タイトルの再生開始を指示する。BD-Jモジュール４１は、そのタイトルに関連付けられているBD-Jアプリケーションを起動する。
BD-Jアプリケーションは、起動時に、前記アプリケーションレジュームパラメータ退避によって退避した情報を取得して、前回の動作状態を復元することが可能である。
【００７８】
もしアプリケーションレジュームパラメータの取得に失敗したかどうか、取得した内容が期待値と異なるかどうかを判定する。取得に失敗した場合、期待値と異なる場合には、その取得した情報を利用せず、最初から再生を開始する。期待値と同一である場合、取得したアプリケーションレジュームパラメータを元に、BD-Jアプリケーションは、以前の再生状態を復元させる。例えば、番号０から取得したプレイリストのIDと、番号１から取得した再生がどこまで進んでいたかを表す時刻を用いて、停止した再生位置からAV再生を再開できる。
【００７９】
モード管理モジュール４２は、モード管理レジュームとしてタイトル番号を保存しておいた場合、同一コンテンツの再生が再開されたときは、通常の再生順序ではなく、保存しておいたタイトル番号から再生を開始することで、再生するタイトル番号まで含めたレジューム再生が可能となる。
これらの処理により、再生装置１０２はタイトルのレジューム再生が可能となる。
【００８０】
図７は、状態退避におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。本図では、図２に示した内部構成のうち、レジスタセット２４、ヒープメモリ３１を抜き出して描いている。このレジスタセット２４、ヒープメモリ３１に書き加えられた矢印は、アプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式化したものである。
【００８１】
図７（ａ）は、BD-Jアプリケーションによるアプリケーションレジュームパラメータの汎用目的レジスタへの書き込みと、再生状態パラメータの再生状態レジスタへの書き込みとを模式的に示している。こうして、レジスタセットには、アプリケーションレジュームパラメータ及び再生状態パラメータが書き込まれていることがわかる。
図７（ｂ）は、電源中断／電源異常を示す割込信号が通知された場合のアプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式的に示す。丸記号"３"の矢印は、電源供給部２５からMPU２１への割込信号の出力を模式的に示したものである。かかる割込信号の通知があると、丸記号４の矢印に示すように、汎用目的レジスタにおけるアプリケーションレジュームパラメータ及び再生状態レジスタにおける再生状態パラメータが、不揮発性メモリ２６に書き込まれる。これにより、電源断の準備がなされたことがわかる。
【００８２】
図８は、状態復帰及び利用時におけるアプリケーションレジュームパラメータ及び再生状態パラメータの行き来を模式的に描いた図である。本図では、図３に示した内部構成のうち、レジスタセット２４、不揮発性メモリ２６、ヒープメモリ３１、バイトコードインタプリタ３２を抜き出して描いている。これらに書き加えられた矢印は、アプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式化したものである。
【００８３】
（ａ）は、アプリケーションレジュームパラメータ及び再生状態レジスタの復帰を示す。本図における丸記号"１"の矢印は、電源供給部２５からMPU２１への、電源投入を示す割込信号の出力を模式的に示したものである。かかる割込信号の通知があると、不揮発性メモリ２６におけるアプリケーションレジュームパラメータ及び再生状態パラメータが、レジスタセット２４における汎用目的レジスタ、及び、再生状態レジスタに書き込まれる。
【００８４】
丸記号"２""３"の矢印は、電源投入を示す割込信号が通知された場合のアプリケーションレジュームパラメータ、再生状態パラメータの行き来を模式的に示す。
（ｂ）は、アプリケーションレジュームパラメータ及び再生状態レジスタの利用を示す。本図において、再生状態レジスタに再生状態パラメータが設定されると、これにより、カレントプレイリスト番号、カレントクリップ番号が特定することになる。丸記号"４"の矢印は、静的シナリオメモリ１６へのプレイリスト情報、クリップ情報の読み込みを模式的に示し、丸記号"５"の矢印は、AV再生エンジン１５によるプレイリスト情報、クリップ情報の読み込みを模式的に示したものである。
【００８５】
再生状態パラメータが再生状態レジスタに設定されることにより、カレントタイトル番号が特定することになる。丸記号"６"の矢印は、カレントタイトル番号に基づく、BD-Jオブジェクトの読み込みと、このBD-Jオブジェクトに基づく、BD-Jアプリケーションのクラスロードとを模式的に示す。
丸記号"７"の矢印は、汎用目的レジスタからヒープメモリへのアプリケーションレジュームパラメータの読み込みを模式的に示す。
図９は、レジューム処理の処理手順を示すフローチャートである。
【００８６】
ステップＳ１においてIndex.bdmvをBD-ROMから読み出し、ステップＳ２において、BD-ROMのイジェクトがあったか否かを判定する。もしあった場合、ステップＳ３においてIndex.bdmvにおけるファーストプレイタイトルを再生する。ステップＳ２がNoである場合、ステップＳ４〜ステップＳ１０の処理を実行する。
ステップＳ４において状態退避内容におけるタイトル識別情報と、これから再生しようとするメディアにおけるタイトル識別情報とを対比し、ステップＳ５において一致しているかどうかを判定する。不一致ならば、ステップＳ３に移行する。
【００８７】
一致していれば、退避による退避内容を、レジスタセットに復帰させて(ステップＳ６)、ステップＳ７の判定を行う。ステップＳ７は、タイトル番号が状態復帰したかどうかの判定であり、もしタイトル番号が復帰しなければ、Index.bdmvにおけるファーストプレイタイトルを再生する。
状態復帰した場合は、カレントタイトル番号に対応するBD-Jオブジェクトを読み出し(ステップＳ８)、カレントBD-Jオブジェクト内のアプリケーション管理テーブルに記載されているアプリケーションについてクラスロードを行って(ステップＳ９)、クラスローダによりヒープメモリに得られたバイトコードをバイトコードインタプリタに実行させる(ステップＳ１０)。
【００８８】
図１０は、アプリケーションレジュームパラメータ処理の手順を示すフローチャートである。
汎用目的レジスタにアクセスして、アプリケーションレジュームパラメータの取得にトライする(ステップＳ２１)。ステップＳ２２は判定ステップであり、アプリケーションレジュームパラメータの取得に成功したなら、ステップＳ２３を実行する。ステップＳ２３は、アプリケーションレジュームパラメータの内容が期待値になっているか否かの判定ステップであり、期待値になっていなら(ステップＳ２４)、アプリケーションレジュームパラメータをヒープメモリ内に設定することにより、以前の実行状態を再現する。
【００８９】
期待値になっていないなら、ステップＳ２５においてヒープメモリ内のパラメータを初期化して、BD-Jアプリケーションの実行を最初から行う。
（第２実施形態）
第１実施形態では、電源異常を示す割込信号５が出力された際、又は、BD-Jアプリケーションは、再生停止の通知を受け取った際にアプリケーションレジュームパラメータ退避を行っていた。本実施形態においては、この状態退避のタイミングのバリエーションを開示する。
【００９０】
(状態退避タイミングのランダム化)
BD-Jアプリケーションは、任意のタイミングでアプリケーションレジュームパラメータ退避を行ってもよい。任意のタイミングとは、例えば、BD-Jアプリケーションがアプリケーションレジュームパラメータに含まれる情報の更新を検知したときであるとか、ある間隔（例えば1秒）をおいて周期的であるとか、ユーザからの操作を受けたタイミングなどである。また、そのタイミングは常に固定である必要は無く、動作状態や、再生装置の周辺要因などに応じて、途中でタイミングを変更することも可能である。
【００９１】
このように、BD-Jアプリケーションが任意のタイミングでアプリケーションレジュームパラメータ退避を行い、モード管理モジュール４２が任意のタイミングでモード管理レジューム退避を行うことによって、急に電源が切れた場合など、モード管理モジュール４２が、BD-Jモジュール４１に対し、実行中のBD-Jアプリケーションの停止を指示しない、もしくは指示できない場合においても、レジューム再生が可能となる。
(退避タイミングの指示)
BD-Jアプリケーションが、明示的にモード管理モジュール４２に対して、モード管理レジューム退避のタイミングを指示することも可能である。
【００９２】
例えば、BD-Jアプリケーションが、アプリケーションレジュームパラメータ退避を完了した時点で、モード管理モジュール４２に対してモード管理レジューム退避のタイミングを指示することによって、効率的にアプリケーションレジュームパラメータの退避が可能となる。
さらに、BD-Jアプリケーションが、明示的にモード管理モジュール４２に対して、BD-Jアプリケーションがアプリケーションレジュームパラメータ退避を開始したことを通知することも可能である。これにより、モード管理モジュール４２は、その時点においてアプリケーションレジュームパラメータが不完全であることを認識することができるため、モード管理レジューム退避のタイミングを遅らせたり、待ったりすることが可能となる。
【００９３】
(汎用目的レジスタのアクセス終了をトリガとした状態退避)
動作中のアプリケーションが汎用目的レジスタの利用を終了したかどうかを検知する。この検知は、アプリケーションが汎用目的レジスタの利用を終了した際、アプリケーションがミドルウェアに発するイベントを受信することでなされる。
(アプリケーションからの指示をトリガとした状態退避)
"アプリケーションレジュームパラメータを退避せよ"との指示がプログラムインターフェイスを通じてアプリケーションによってなされたか否かの判定を行ってもよい。この場合状態退避は、アプリケーションレジュームパラメータを退避せよとの指示がアプリケーションからなされた際、実行される。
【００９４】
（第３実施形態）
第１実施形態においては、本発明におけるレジューム再生装置がレジューム再生を実現できる方式について述べた。本実施の形態においては、再生装置のコンフィグレーションにおいて、レジューム処理を実施することが可能かどうかを設定しておく改良を述べる。再生装置のコンフィグレーションとして再生装置に組込まれ、レジューム処理を実施することが可能かどうかを表す情報を、レジュームサポート情報と呼ぶ。
【００９５】
レジュームサポート情報は、例えば、BD-Jモジュール４１にレジュームサポート情報取得用のAPI（Application ProgramingInterface）を用意したり、BD-Jアプリケーションから取得可能なレジスタセット２４の内部にレジュームサポート情報を含めたりすることが可能である。これらに限らず、レジュームサポート情報は、BD-Jアプリケーションから取得可能であれば、再生装置において、どのような形態で用意されていてもよい。
【００９６】
コンテンツは、レジュームサポート情報の内容により、もし再生装置がレジューム処理できないことが分かると、アプリケーションレジュームパラメータを退避することなく、レジューム処理を断念したり、レジュームが出来ないことをユーザに通知したり、BD-ROM規格で規定される再生装置で提供される他の手法を用いて可能な限りレジュームを実現しようと試みる。もし再生装置がレジューム処理できることが分かると、アプリケーションレジュームパラメータの退避や、レジューム処理を活用したシナリオの作成が可能である。
【００９７】
取得したレジュームサポート情報の内容からレジュームがサポートされていることを知れば、BD-Jアプリケーションがアプリケーションレジュームパラメータの退避や、レジュームを活用するような動的シナリオをオーサリング担当者は作成することが可能になる。例えば再生装置は、上述の実施の形態にて説明をしたモード管理モジュール４２を制御するためのAPIを備え、BD-Jアプリケーションは、このAPIを呼出すときに、退避するタイミング、退避すべき情報などを引数として与え、この呼び出しを受けたAPIは与えられた引数に従ってモード管理モジュール４２の退避を制御するようにしても良い。またBD-Jアプリケーションは、モード管理モジュール４２を直接制御するように構成しても良い。
【００９８】
図１１（ａ）は、レジュームサポート情報の一例を示す図である。レジュームサポート情報は、"１"か、"０"の値をとるフラグであり、"１"であれば、レジスタセットにおけるプレーヤ状態レジスタ及び汎用目的レジスタの状態退避が可能である旨を示す。"０"であれば、レジスタセットにおけるプレーヤ状態レジスタ及び汎用目的レジスタの状態退避が不可能である旨を示す。
【００９９】
図１１（ｂ）は、レジュームサポート情報に基づく、APIのコールを示す。本図は、再生装置の内部構成のうち、バイトコードインタプリタ３２、ミドルウェア３５、レジスタセット２４を抜き出して描いている。丸記号"１"の矢印は、BD-Jアプリケーションによるレジュームサポート情報の取得を模式的に示す。BD-Jアプリケーションは、こうして取得したレジュームサポート情報を参照して、再生装置が状態退避・状態復帰に対応しているか否かを判定する。BD-Jアプリケーションが、状態退避・状態復帰に対応していると判定すれば、状態退避・状態復帰APIをコールすることにより、アプリケーションレジュームパラメータ及び再生状態パラメータが、レジスタセット２４から不揮発性メモリ２６へと状態退避されることになる。丸記号"２"の矢印は、BD-Jアプリケーションによる状態退避・状態復帰APIのコールを模式的に示している。
【０１００】
かかるAPIのコールによって、丸記号"３","４"の矢印に示すように、レジスタセット２４に格納されたアプリケーションレジュームパラメータと、再生状態パラメータとがレジスタセット２４から読み出されて不揮発性メモリ２６に書き込まれる。
(第３実施形態)
本実施形態はオーサリングを行う者が、レジュームを再生装置に行わせることを意図している場合、レジュームを行わせるかどうかを指定することができる情報(レジューム対応情報と呼ぶ)を、BD-ROMに記録して、再生装置に供給する場合の改良である。
【０１０１】
レジューム対応情報には、以下のような形態がある。
(復帰可否、利用可否の設定)
レジューム対応情報には、"復帰"の可否を示すフラグ(復帰可否フラグ)、"利用"の可否を示すフラグ(利用可否フラグ)を組込んでおくことができる。
【０１０２】
図１２（ａ）は、復帰可否フラグ、利用可否フラグを含むレジューム対応情報を示す図である。（ｂ）は、復帰可否フラグ、利用可否フラグのビットアサインを示す。
『復帰可否フラグ』は、"１"に設定されることにより、不揮発性メモリ２６に格納されたアプリケーションレジュームパラメータ及び再生状態パラメータを、レジスタセット２４における汎用目的レジスタ及びプレーヤ状態レジスタに復帰することができることを、オーサリング者が意図している旨を示す。一方"０"に設定されることにより、復帰可否フラグは不揮発性メモリ２６に格納されたアプリケーションレジュームパラメータ及び再生状態パラメータを、レジスタセット２４における汎用目的レジスタ及びプレーヤ状態レジスタに復帰できないことを、オーサリング者が意図していない旨を示す。
【０１０３】
『利用可否フラグ』は、１に設定されることにより、レジスタセット２４に書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータを、BD-Jアプリケーション及びAV再生エンジン１５に利用させる旨をオーサリング者が意図している旨を示す。一方、"０"に設定されることにより、利用可否フラグは、レジスタセット２４に書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータを、BD-Jアプリケーション及びAV再生エンジン１５に利用させる旨をオーサリング者が意図していない旨を示す。
【０１０４】
図１３（ａ）は、復帰可否フラグが"１"に設定されている場合の動作を示す。本図における上側は、１に設定された復帰可否フラグと、１に設定された利用可否フラグとを示す。下側は、図８（ａ）、（ｂ）と同じ内容であり、不揮発性メモリ２６からレジスタセット２４への復帰、及び、レジスタセット２４からBD-Jアプリケーション及びAV再生エンジン１５への引き渡しを示す模式的に示す。本図に示すように、不揮発性メモリ２６からレジスタセット２４への復帰は、復帰可否フラグが"１"に設定されていることを前提に実行され、レジスタセット２４からBD-Jアプリケーション及びAV再生エンジン１５への引き渡しは、利用可否フラグが"１"に設定されていることを前提に実行されていることがわかる。
これとは反対に、復帰可否フラグが０に設定されていれば、不揮発性メモリ２６からレジスタセット２４への復帰がなされることはない。利用可否フラグが"0"に設定されていれば、レジスタセット２４からBD-Jアプリケーション及びAV再生エンジン１５へのアプリケーションレジュームパラメータ、再生状態パラメータの引き渡しがなされることはない。以上の復帰可否フラグ、利用可否フラグを用いることで、不揮発性メモリ２６からレジスタセット２４への書き戻しは行うが、書き戻されたアプリケーションレジュームパラメータ及び再生状態パラメータの利用自体は禁じるという制限を、再生動作時に課すことができる。
(タイトル共通指定、個別指定)
この改良は、BD-ROMに記録されている複数のタイトルのうち、どれで状態退避・状態復帰を実行させるかを、BD-ROMに設定しておくというものである。
【０１０５】
図１４は、状態退避・状態復帰の可否がタイトル毎に設定されたIndex.bdmvを示す図である。
タイトル共通情報２０２は、BD-ROMに記録されている複数のタイトルがベースとしている規格のバージョン番号、コンテンツ作成者独自の情報を含む。図１４では、バージョンが２.００であり、コンテンツ製作者独自の情報として"映画１"という内容が含まれる例を示している。そしてタイトル共通情報に存在するレジューム対応フラグは、BD-ROMに記録されている全てのタイトルにおいて、状態退避・状態復帰が有効であるか否を示す。
【０１０６】
タイトル固有情報２０３は、各タイトルに関する情報が含まれている。図１４５は、コンテンツ内にタイトルが２つ存在し、タイトル＃1のタイトル種別が"BD-J"であり、タイトル＃1のタイトル定義情報が前記bdjoディレクトリに"０００００.bdjo"であり、かかるタイトル＃1がレジュームに対応していることを示す。そして、タイトル＃1情報に存在するレジューム対応フラグは、タイトル＃1において、状態退避・状態復帰が有効であるか否かを示す。そしてタイトル＃2情報に存在するレジューム対応フラグは、タイトル０００２において、状態退避・状態復帰が有効であるか否かを示す。
【０１０７】
またタイトル＃2のタイトル種別が"HDMV"であり、タイトル＃2のタイトル定義情報が前記MovieObject.bdmvの０番目に定義されている。
図１４では、これらのタイトル共通情報、タイトル個別情報のそれぞれに、レジューム対応フラグが存在する。
再生装置１０２は、再生するコンテンツに含まれるレジューム対応フラグの内容に応じて処理を変える。
【０１０８】
図１５は、レジューム対応フラグの内容を用いた再生装置１０２の処理手順を示すフローチャートである。コンテンツの再生を開始しようとすると、まず、再生装置１０２は、index.bdmv２０１を読み込み(ステップＳ１)、index.bdmv２０１に含まれているタイトル共通情報、タイトル個別情報を参照して、タイトル共通情報におけるレジューム対応フラグが有効かどうかを判断する（S３１）。もし、タイトル共通情報におけるレジューム対応フラグが有効であれば、カレントタイトルにおいて、レジュームが有効である旨をユーザに提示して(ステップＳ３３)、ステップＳ２〜ステップＳ１０の処理を行い、復帰及び利用を行う。
【０１０９】
タイトル共通情報におけるレジューム対応フラグは有効でない場合、ステップＳ３２の判定を行う。ステップＳ３２の判定は、タイトル個別情報のうち、カレントタイトルに対応するもののレジューム対応フラグが有効であるか否かを判定するものである。もし有効であれば、ステップＳ３３において、カレントタイトルにおいてレジュームが有効である旨をユーザに提示して、ステップＳ２〜ステップＳ１０の処理を行い、復帰及び利用を行う。
【０１１０】
タイトル共通情報におけるレジューム対応フラグも、タイトル個別情報におけるレジューム対応フラグも有効でない場合、ステップＳ３４で、カレントタイトルにおいてレジュームが有効でない旨をユーザに提示して、ステップＳ３において、ファーストプレイタイトルを再生する。
これにより、レジューム再生を好まないコンテンツや、レジューム再生による動作を保障できないコンテンツに対し、レジューム再生による問題の発生を防ぐことが可能となる。
【０１１１】
図１６は、テレビ１０３の提示内容を示す。本図（ａ）は、タイトル共通情報又はカレントタイトルに対応するタイトル個別情報が有効になっている際の提示内容を示す。この提示内容は、電源オフ前からの再開が可能である旨をGUIを介してユーザに提示している。また、再開を行うかどうかの指示を受け付けるためのボタンを併せて表示している。このように再生装置１０２は、レジューム対応フラグが有効になっているコンテンツを再生する際、テレビ１０３などに、対象コンテンツがレジューム再生に対応していることをユーザに提示することが可能である。
【０１１２】
同図（ｂ）は、タイトル共通情報又はカレントタイトルに対応するタイトル個別情報が無効になっている際の提示内容を示す。この提示内容は、電源オフ前からの再開が不可能である旨をGUIを介してユーザに提示している。再生装置１０２は、レジューム対応フラグが無効になっているコンテンツを再生する際、または、コンテンツの再生を停止する際に、テレビ１０３などに、対象コンテンツがレジューム再生に対応していないことを表示することが可能である。これにより、レジューム対応フラグに応じた処理の違いを、ユーザに示すことが可能となる。
(アプリケーションレジュームパラメータ、再生状態パラメータの状態退避及び復帰を指定するレジューム対応情報)
レジューム対応情報には、アプリケーションレジュームパラメータの状態退避及び復帰、再生状態パラメータの状態退避及び復帰のうち、何れを実行すべきか、双方を実行すべきかを示す情報を包含させておくことができる。
【０１１３】
再生状態レジュームパラメータの状態退避及び復帰を実行すべきか否かを規定するフラグを"再生状態レジューム可否フラグ"といい、アプリケーションレジュームパラメータの状態退避及び復帰を実行すべきか否かを規定するフラグを"アプリケーションレジューム可否フラグ"という。
図１７（ａ）は、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを格納したレジューム対応情報を示す図である。再生状態レジューム可否フラグは"１"に設定されることにより、再生状態パラメータの状態退避及び復帰が可能である旨を示す。一方、再生状態レジューム可否フラグは"０"に設定されることにより、再生状態レジュームパラメータの状態退避及び復帰が不可能である旨を示す。
【０１１４】
アプリケーションレジューム可否フラグは"１"に設定されることにより、アプリケーションレジュームパラメータの状態退避及び復帰が可能である旨を示す。一方、アプリケーションレジューム可否フラグは"０"に設定されることにより、アプリケーションレジュームパラメータの状態退避及び復帰が不可能である旨を示す。
（ｂ）は、アプリケーションレジューム可否フラグが1に設定された場合における状態退避・状態復帰を示す。（ｂ）の左側には再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを含むレジューム対応情報が記載されている。このレジューム対応情報は、アプリケーションレジューム可否フラグが"１"に設定されており、再生状態対応フラグが"０"に設定されているので、アプリケーションレジュームパラメータのみがレジスタセット２４から不揮発性メモリ２６に状態退避され、再生状態パラメータはレジスタセット２４から不揮発性メモリ２６に状態退避されていないことがわかる。
【０１１５】
（ｃ）は、再生状態レジューム可否フラグが"1"に設定された場合における状態退避・状態復帰を示す。（ｃ）の左側には再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグを含むレジューム対応情報が記載されている。このレジューム対応情報は、再生状態レジューム可否フラグが"１"に設定されており、アプリケーションレジューム可否フラグが"０"に設定されているので、再生状態パラメータのみがレジスタセット２４から不揮発性メモリ２６に退避され、アプリケーションレジュームパラメータはレジスタセット２４から不揮発性メモリ２６に退避されていないことがわかる。
【０１１６】
図１８は、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグによる状態退避・状態復帰を示すフローチャートである。本図において、一点鎖線で囲んだステップＳ４１〜ステップＳ４５が、再生状態レジューム可否フラグ、アプリケーションレジューム可否フラグに対応する処理である。
ステップＳ１において、Index.bdmvを読み出した後、ステップＳ４１の判定ステップを実行する。ステップＳ４１は、再生状態レジューム可否フラグが"１"に設定されているか否かの判定であり、もし再生状態レジューム可否フラグが"１"に設定されていれば、退避していた再生状態パラメータを復帰させる（ステップＳ４２）。"０"であれば、ステップＳ４５に移行する。ステップＳ４５は、アプリケーションレジューム可否フラグが(1)に設定されているか否かの判定であり、アプリケーションレジューム可否フラグが"0"に設定されている場合、ステップＳ３において、ファーストプレイタイトルを再生する。
【０１１７】
ステップＳ４３は、ステップＳ４１でYesに設定され、再生状態パラメータがプレーヤ状態レジスタに書き戻された後に実行される判定ステップであり、アプリケーションレジュームパラメータが"１"に設定されているか否かを判定する。ステップＳ４３がYesであれば、ステップＳ４４において、アプリケーションレジュームパラメータを不揮発性メモリ２６から汎用目的レジスタに書き戻す。もしステップＳ４３がNoであれば、ステップＳ４４を復帰する。
(個数指定を含むレジューム対応情報)
レジューム対応情報に、状態退避を行うべきアプリケーションレジュームパラメータの個数を包含させておくという改良について説明する。レジューム対応情報に、状態退避行うべきアプリケーションレジュームパラメータ又は再生状態パラメータの個数を記述しておき、汎用目的レジスタに存在する複数のアプリケーションレジュームパラメータのうち、レジューム期待情報に記載されている個数のアプリケーションレジュームパラメータを不揮発メモリに状態退避させれば、状態退避、復帰に伴うオーバーヘッドを極力少なくすることができる。
【０１１８】
図１９は、個数指定を含むアプリケーションレジュームパラメータの一例を示す図である。本図（ａ）において、アプリケーションレジュームパラメータにおけるパラメータ個数指定は、３個というように、具体的な汎用目的レジスタの個数を指定することができる。本図（ｂ）は、（ａ）の個数指定に基づく、汎用目的レジスタの退避を示す図である。パラメータ個数指定が"3"に指定されていれば、汎用目的レジスタに存在する5つのアプリケーションレジュームパラメータのうち、3つのアプリケーションレジュームパラメータが、不揮発性メモリ２６に状態退避されることになる。（ｃ）は、パラメータ個数指定が５個に設定されたアプリケーションレジュームパラメータの一例を示す図である。（ｄ）は、（ｃ）の個数指定に基づく、汎用目的レジスタの退避を示す図である。パラメータ個数指定が"5"に指定されていれば、汎用目的レジスタに存在する5つのアプリケーションレジュームパラメータのうち、5つのアプリケーションレジュームパラメータが、不揮発性メモリ２６に状態退避されることになる。
【０１１９】
汎用目的レジスタにおける全てのパラメータを状態退避するのではなく、一部の情報のみ退避することによって、退避する情報量を削減でき、退避先のサイズの縮小や、退避作業に要する時間の短縮が可能となる。
レジスタセット２４のうち、どの範囲をアプリケーションレジュームパラメータとして退避されるかを予め決めておき、BD-Jアプリケーションが、その部分にのみアプリケーションレジュームパラメータを退避することによって、退避する範囲を制限することが可能となる。
(退避すべき範囲)
退避すべき範囲については、BD-Jアプリケーションがアプリケーションレジュームパラメータとして退避して欲しいと希望するレジスタの範囲をBD-Jアプリケーションからモード管理モジュール４２に対して通知するのが望ましい。これにより、BD-Jアプリケーションにとって最適なサイズのアプリケーションレジュームパラメータを退避することが可能となる。
(退避タイミングの規定の仕方)
前記レジューム対応情報に、BD-Jアプリケーションが任意のタイミングでアプリケーションレジュームパラメータ退避を実施するかどうかの情報を含めることが出来る。再生装置がこの情報を用いることによって、再生するコンテンツが急に電源が切れた場合にレジュームできないことをユーザに提示したり、モード管理モジュール４２がモード管理レジューム退避を行うタイミングを変更したりなど、動作を変更することが可能となる。
（第４実施形態）
本実施形態は、不揮発性メモリ２６における改良のバリエーションを開示する。不揮発性メモリ２６における改良のバリエーションには、以下のものがある。
(タイトル毎のレジューム)
複数のタイトル毎のアプリケーションレジュームパラメータ及び再生状態パラメータの組みを不揮発性メモリ２６に格納しておいて、状態退避・状態復帰を実行することができる。例えば、タイトル０００１とタイトル０００２が存在しており、タイトル０００１の再生を停止後、タイトル０００２を再生し、さらにその後にタイトル０００１を再度再生する場合、タイトル０００１の２回目の再生は、１回目の再生の続きから再生される場合に有益である。コンテンツの種類は２種類に限らず、１種類以上のコンテンツであれば、実施可能である。
【０１２０】
図２０は、不揮発性メモリ２６の格納内容を模式的に表したものである。本図に示すように、不揮発性メモリ２６には、タイトル識別子と、再生状態パラメータとの組みが複数、配置される。
タイトル識別子は、コンテンツを一意に識別できる情報であり、例えば、前記BCAや、前記discIDなどを利用することが可能であるが、コンテンツを一意に識別できるものであれば、どのような情報であっても実施可能である。本図においては、タイトル０００１、０００２についてのタイトル識別子が不揮発性メモリ２６に格納されている。
【０１２１】
これらのタイトル識別子に対応付けて、再生状態パラメータが格納される。図２０（ａ）の場合、タイトル識別子「０００１」には、時点t1に対応する再生状態パラメータ及びアプリケーションレジュームパラメータが格納されており、タイトル識別子「０００２」には、時点t2に対応する再生状態パラメータ及びアプリケーションレジュームパラメータが格納されている。
【０１２２】
時点t1に対応する再生状態パラメータは、タイトル識別子「０００１」のコンテンツを再生していた際の再生状態パラメータであり、t2に対応する再生状態パラメータは、タイトル識別子「０００２」のコンテンツを再生していた際の再生状態パラメータである。
同図（ｂ）は、タイトル番号０００１対応付けて格納される再生状態パラメータがどのようなものかを示す。タイトル０００１の再生開始からt1を経過した後に、再生停止が指示された場合、t1が、再生状態パラメータとしてタイトル０００１に対応付けて格納されることがわかる。
【０１２３】
同図（ｃ）は、タイトル番号０００２に対応付けて格納される再生状態パラメータがどのようなものかを示す。タイトル０００２の再生開始からt2を経過した後に、再生停止が指示された場合、t2が、再生状態パラメータとしてタイトル０００２に対応付けて格納されることがわかる。
同図（ｄ）は、タイトル０００２の再生後、タイトル０００１の再生がどのように再開するかを示す。タイトル０００１のタイトル識別子には、t1の再生状態パラメータが格納されているため、このt1の位置から再生が再開することがわかる。
【０１２４】
この状態において、タイトル識別子「０００１」のコンテンツの再生を開始すると、モード管理モジュール４２は、t1に対応する再生状態パラメータを用いてレジューム再生を行うことが出来る。また、タイトル識別子「０００２」のコンテンツの再生を開始すると、モード管理モジュール４２は、t2に対応する再生状態パラメータを用いてレジューム再生を行うことが出来る。
(退避先の二重化)
モード管理レジューム退避の途中で電源が切れる場合や、何らの異常が発生することによってモード管理レジューム退避に失敗する場合がある。このような問題に対しては、モード管理レジュームの退避先の二重化、つまり、退避先を２組以上用意し、順番に利用する方法がある。
【０１２５】
図２１は、第１の退避先である記憶領域１と、第２の退避先である記憶領域２の２組の退避先が存在する不揮発性メモリ２６を示す図である。モード管理モジュール４２は、図２１（ａ）に示すように、最初のモード管理レジューム退避のタイミングでは、アプリケーションレジュームパラメータ及び再生状態パラメータを、第１の退避先である記憶領域１に退避する。そして退避が成功した場合、退避先記憶領域１が正常であることを記憶しておく。次のモード管理レジューム退避のタイミングでは、図２１（ｂ）に示すように、第２の退避先である記憶領域２へ退避する。そして退避が成功した場合、退避先記憶領域２が正常であることを記憶しておく。この処理により、より最後に退避した退避先であり、かつ、成功したと記憶されている方の退避先の情報を利用することで、問題を回避することが可能である。
【０１２６】
これにより、BD-Jアプリケーション自身が、各退避先が正常に退避された内容かどうかを記憶する必要がなくなる。
各退避先が正常に退避された内容かどうかを判定したい場合は、各退避先に含まれる情報のうち、正常に退避された内容であること示す情報を読み込むことによって判定できる。もし正常に状態退避された内容が2以上存在する場合、状態退避内容のうち、状態退避の時期が最も新しいものを、復帰及び利用に供する。
尚、退避先１および退避先２の中に、その退避先が正常に退避された内容であること示す情報を含めても良い。
【０１２７】
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
尚、上記の説明は一例に過ぎず、当該技術者にとっては、様々な応用が適用できる。
【０１２８】
(プログラミング言語の適用範囲)
上記実施形態では、仮想マシンのプログラミング言語としてJava（登録商標）を利用したが、Java（登録商標）ではなく、UNIX（登録商標） OSなどで使われているB-Shellや、PerlScript、ECMA Scriptなど他のプログラミング言語であっても良い。
(コンテンツアンバウンダリレジューム)
前記レジューム対応情報に、複数のコンテンツをまたいだレジューム再生を期待するかどうかの情報を含めることが出来る。再生装置がこの情報を用いることによって、仮にモード管理レジュームが退避されていたとしても、コンテンツが変更された際に、退避されているモード管理レジュームパラメータを使わないように動作することが可能となる。
(ディレクトリ構成)
これらのファイルおよびディレクトリ構成は、その一例であり、他の構成であっても本発明は実施可能である。
【０１２９】
(マルチドライブ化)
BD-ROMドライブ４０１は、BD-ROMだけでなく、読み書き可能なBD-REに対する読込みおよび書き込みや、DVD、CD等の様々な種類の記録媒体を利用できるものであってもよ
い。
(機能構成のバリエーション)
ここで示した機能構成は、BD-ROMの再生装置の一例を示したものであり、以降で述べる動作を実現可能であれば、他の機能構成であっても本発明は実施可能である。
(再開のための必須情報)
BD-Jアプリケーションは、プレーヤ状態レジスタの全てを取得する必要なく、そのBD-Jアプリケーションが再開するために必要とするもののみを取得すれば良い。
(レジスタ内容の退避形式)
モード管理レジュームがレジスタセット２４の内容を含んでいる場合、レジスタセット２４の内容をそのままの形式で利用しなくても、レジスタセット２４の内容を復元可能であれば退避の際のデータ形式を変更してもよい。例えば、公知の圧縮技術を用いてレジスタセット２４の内容を圧縮したものをモード管理レジュームに含めることが可能である。
【０１３０】
（アプリケーションレジュームパラメータの取得成功後の処理）
アプリケーションレジュームパラメータの取得に成功したとしても、必ずしも以前の再生状態を復元させる必要は無い。
(モード管理レジュームにおける差分データ、変更データ)
モード管理レジュームは、レジスタセット２４の内容を全てを含める必要は無く、復元するのに十分な情報さえ含められればよい。例えば、ある初期値を決めておき、初期値と異なる部分だけ保存したり、何らかの変更が加えられた部分だけ保存したりすることが可能である。
【０１３１】
（モード管理レジュームの包含内容）
モード管理レジュームには、レジスタセット２４の内容だけでなく、他の情報も含めることが可能である。例えば、最後に再生していたタイトル番号や、HDMVタイトルに関する情報、停止理由などである。また、コンテンツを識別するためのコンテンツ識別情報を含めてもよい。コンテンツを識別するための情報とは、例えば、前記BCAの情報や、記録媒体上に存在するファイルから実用上一意に識別できると期待できる情報を算出した値（例えばファイルのハッシュ値など）でもよい。
(伝達の仕方)
さらには、BD-Jアプリケーションがアプリケーションレジュームパラメータをレジスタセット２４に格納することなく、直接的あるいは間接的に、モード管理モジュール４２にアプリケーションレジュームパラメータを伝達することも考えられる。その場合、レジューム再生を行う際には、モード管理モジュール４２は、アプリケーションレジュームパラメータをレジスタセット２４に復元するのではなく、直接的あるいは間接的に、BD-Jアプリケーションに伝達する。
（不揮発性メモリ２６のバリエーション）
不揮発性メモリ２６は、リムーバブルメディアドライブ２b、ビルドインメディアドライブ２a、BDドライブ４０１で書き込み可能な記録媒体を、不揮発性メモリ２６として利用しても実施可能である。また、ネットワークI/F４を経由してアクセス可能な媒体であっても、再生装置の電源供給状態に依存せず記録内容を保持できるのであれば、不揮発性メモリ２６として利用しても実施可能である。
（二次電源の具備）
なお、電源が急に切れる場合の対策として、モード管理レジューム退避を行うのに十分な二次電源を用意しておくことが望ましい。
【０１３２】
なお、モード管理レジューム退避の途中で電源が切れる場合や、何らの異常が発生することによってモード管理レジューム退避に失敗する場合への対策を行わなくてもよい。本発明は実施可能である。
(実施可能性)
アプリケーションレジュームパラメータ退避の途中で電源が切れる場合や、何らの異常が発生することによってアプリケーションレジュームパラメータ退避に失敗する場合への対策を行わなくても、本発明は実施可能である。
（プログラムの実施形態）
各実施形態に示したアプリケーションレジュームパラメータ、再生状態パラメータの退避・復帰を行うプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【０１３３】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【０１３４】
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
【０１３５】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるプログラムをコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。
(システムLSI化)
再生装置１０２を構成するハードウェアのうち、機構的な構成要素(BDドライブ、リムーバブルメディアドライブ、ビルドインメディアドライブ)、大容量のメモリによって実装される構成要素(ビデオプレーン、グラフィクスプレーン)を除いた、論理素子を主要部とする部分を、1つのシステムLSIとして構成することが望ましい。何故なら、論理素子を主要部とする部分は、高密度に集積化することができるからである。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
【０１３６】
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置１０２の中核としての役割を果たす。
【０１３７】
かかるシステムLSIは、再生装置１０２は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
エレメンタバッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
【０１３８】
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
【０１３９】
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「ProcessingUnit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
【０１４０】
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(GeneralPurpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
【０１４１】
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリムーバブルメディアドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
【０１４２】
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
【０１４３】
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
【０１４４】
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(Systemon chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置１０２の内部構成図を基に作ることができる。
【０１４５】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。
【産業上の利用可能性】
【０１４６】
本発明を構成するレジューム再生装置は、製造産業、映像コンテンツの制作に携わる映画産業・民生機器産業において利用できる。
【符号の説明】
【０１４７】
１０１  BD-ROM
１０２  再生装置
１０３  テレビ
１０４  リムーバブルメディア
１０５  リモコン
２０１  index.bdmv
１  BDドライブ
２  リードバッファ
４  ネットワークI/F
５  仮想ファイルシステム
６  デマルチプレクサ
７  ビデオデコーダ
８  ビデオプレーン
１３  オーディオデコーダ
１２  加算器
１５  AV再生エンジン
１６  静的シナリオメモリ
１７  レンダリングエンジン
２４  レジスタセット２４
２６  不揮発性メモリ
３０  動的シナリオメモリ
４０  HDMVモジュール
４１  BD-Jプラットフォーム
４２  モード管理モジュール
４３  UO検知モジュール
４４  ディスパッチャ
【図１】
0005406178.tif 000002
【図２】
0005406178.tif 000003
【図３】
0005406178.tif 000004
【図４】
0005406178.tif 000005
【図５】
0005406178.tif 000006
【図６】
0005406178.tif 000007
【図７】
0005406178.tif 000008
【図８】
0005406178.tif 000009
【図９】
0005406178.tif 000010
【図１０】
0005406178.tif 000011
【図１１】
0005406178.tif 000012
【図１２】
0005406178.tif 000013
【図１３】
0005406178.tif 000014
【図１４】
0005406178.tif 000015
【図１５】
0005406178.tif 000016
【図１６】
0005406178.tif 000017
【図１７】
0005406178.tif 000018
【図１８】
0005406178.tif 000019
【図１９】
0005406178.tif 000020
【図２０】
0005406178.tif 000021
【図２１】
0005406178.tif 000022