(57)【要約】【課題】  コンテンツ制作者の意図に合わせた続き再生を実現する。【解決手段】  再生制御部２０６は、記録媒体上に予め記録されている映像コンテンツを再生する。スクリプト制御部２０２は、記録媒体上に予め記憶され、再生制御部２０６においてイベントが発生したときに実行されるイベントハンドラを含むスクリプトプログラムを解釈して実行する。データ記憶部２１２は、以前に再生したことのある映像コンテンツを前回の続きから再生する続き再生を実行させるための情報である再生ステータスのバックアップ情報を記憶する領域を有する。スクリプト制御部２０２は、再生制御部２０６におけるイベントの発生に応じて、再生ステータス２３２の情報にしたがって、映像コンテンツの続き再生を実行させる。【選択図】図５
2006060450.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体上に予め記録されている映像コンテンツを再生する再生制御部と、
前記記録媒体上に予め記憶され、前記再生制御部においてイベントが発生したときに実行されるイベントハンドラを含むスクリプトプログラムを解釈して実行するスクリプト制御部と、
以前に再生したことのある映像コンテンツを前回の続きから再生する続き再生を実行させるための情報である再生ステータスを記憶する領域を有する記憶部と、を備え、
前記スクリプト制御部は、前記再生制御部におけるイベントの発生に応じて、前記再生ステータスを参照して前記再生制御部に映像コンテンツの続き再生を実行させることを特徴とする映像再生装置。
【請求項２】
前記スクリプトプログラムには、映像コンテンツを最初から再生させる第１のイベントハンドラと、前記再生ステータスを参照して続き再生を実行させる第２のイベントハンドラとが含まれ、
前記スクリプト制御部は、記録媒体のロード時に、該記録媒体に記録されている映像コンテンツに対応する再生ステータスを前記記憶部から検索し、対応する再生ステータスの有無に応じて、前記２つのイベントハンドラのいずれかを選択して実行することを特徴とする請求項１に記載の映像再生装置。
【請求項３】
前記スクリプト制御部は、前記スクリプトプログラムに前記第２のイベントハンドラが含まれていないときに実行されるデフォルトのイベントハンドラを有していることを特徴とする請求項２に記載の映像再生装置。
【請求項４】
前記記憶部は、映像コンテンツに依存した情報であるユーザデータを記憶する領域をさらに有し、
前記スクリプト制御部は、前記第２のイベントハンドラを実行するとき、前記ユーザデータを利用して続き再生を実行させることを特徴とする請求項３に記載の映像再生装置。
【請求項５】
前記スクリプトプログラムには、前記再生制御部における終了イベントに応じて実行される第３のイベントハンドラがさらに含まれ、
前記スクリプト制御部は、前記第３のイベントハンドラの実行によって前記再生ステータスまたは前記ユーザデータの情報を操作することを特徴とする請求項１ないし４のいずれかに記載の映像再生装置。
【請求項６】
記録媒体上に予め記録されている映像コンテンツを再生する映像再生方法であって、
以前に再生したことのある映像コンテンツを前回の続きから再生する続き再生を実行させる命令がスクリプトプログラムとして前記記録媒体に記録されていることを特徴とする映像再生方法。
【請求項７】
映像再生装置において再生される映像コンテンツと、
前記映像コンテンツを最初から再生させる第１のイベントハンドラと、以前に再生したことのある映像コンテンツを前回の続きから再生する続き再生を実行させる第２のイベントハンドラとを含むプログラムと、を記憶しており、
前記映像再生装置において発生するイベントに応じて、前記２つのイベントハンドラのいずれかが選択されて実行されることを特徴とする映像記録媒体。
【請求項８】
記録媒体上に予め記録されている映像コンテンツを映像再生装置に再生させる映像再生プログラムであって、
前記映像再生プログラムは、
前記映像コンテンツを再生する再生ステップと、
再生終了時に、再生した映像コンテンツを続きから再生するための情報である再生ステータスを記憶するステップと、
前記記録媒体上に予め記憶されているイベントハンドラを含むスクリプトプログラムを解釈して実行するスクリプト実行ステップと、
イベントの発生に応じて、前記スクリプトプログラムにしたがって、前記再生ステータスを参照して映像コンテンツの続き再生を実行するステップと、
を含むことを特徴とする映像再生プログラム。
【請求項９】
映像再生装置によって実行される映像再生プログラムを記録した記録媒体であって、
前記映像再生プログラムは、
別の記録媒体に予め格納されている映像コンテンツを再生する再生ステップと、
再生終了時に、再生した映像コンテンツを続きから再生するための情報である再生ステータスを記憶するステップと、
当該記録媒体上に予め記憶されているイベントハンドラを含むスクリプトプログラムを解釈して実行するスクリプト実行ステップと、
イベントの発生に応じて、前記スクリプトプログラムにしたがって、前記再生ステータスを参照して映像コンテンツの続き再生を実行するステップと、
を含むことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク等の記録媒体に記録された映像コンテンツを再生表示する映像再生技術に関する。
【背景技術】
【０００２】
近年、ＤＶＤ等のディスク状の記録媒体に記録された動画やゲームなどのコンテンツを再生する映像再生装置が普及している。再生専用のＤＶＤビデオ規格においては、メニュー画面上に配置されたボタン画像などを用いて、ユーザインタラクティブな機能を実現している。例えば、ＤＶＤビデオにより動画を再生中に、リモートコントローラなどを用いてメニュー画面を呼び出し、メニュー画面上に配置されたボタン画像を選択して再生場面を変更するなどの処理が可能である。
【０００３】
一般に、ＤＶＤ等の記録媒体には大容量のデータを記録できるため、映像コンテンツを長時間再生することができる。映像コンテンツが長時間になるほど、一回の再生でコンテンツの全てを視聴することは困難であるため、ユーザが映像コンテンツの再生を停止する回数は増える。コンテンツを再開する毎に、前回再生した時点を早送り機能などを用いてユーザが検索することは不便であるから、ＤＶＤの再生装置には、映像コンテンツの再生を停止した箇所を記憶しておき、次回の再生時に、前回再生を停止した箇所からコンテンツを再開する機能（以下、このような機能を「続き再生」という）を備えているものも存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の続き再生機能は、ＤＶＤの規格上設定されているわけではなく、ＤＶＤの再生装置側で個別に設けられている機能であるため、機種毎に動作が異なることがあった。また、映像コンテンツの種類によっては、コンテンツ制作者が意図した通りの再生をさせたい場合もある。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンテンツ制作者の意図に合わせた続き再生を実現できる映像再生技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は、映像再生装置を提供する。この装置は、記録媒体上に予め記録されている映像コンテンツを再生する再生制御部と、記録媒体上に予め記憶され、前記再生制御部においてイベントが発生したときに実行されるイベントハンドラを含むスクリプトプログラムを解釈して実行するスクリプト制御部と、以前に再生したことのある映像コンテンツを前回の続きから再生する続き再生を実行させるための情報である再生ステータスを記憶する領域を有する記憶部と、を備える。そして、スクリプト制御部は、再生制御部におけるイベントの発生に応じて、再生ステータスを参照して再生制御部に映像コンテンツの続き再生を実行させるようにした。
【０００７】
この態様によれば、続き再生時の動作を、記録媒体側にスクリプトプログラムとして記述するとともに、続き再生をするときに必要となる情報である再生ステータスを映像再生装置が記憶するようにしたので、スクリプトプログラムを適宜作成することによってコンテンツ制作者の意図した通りの続き再生を実現することができる。ここで、「再生ステータス」としては、例えば、プレイリスト番号、実行している映像ストリームのファイル番号、再生時刻などを用いることができる。
【０００８】
スクリプトプログラムには、映像コンテンツを最初から再生させる第１のイベントハンドラと、再生ステータスを参照して続き再生を実行させる第２のイベントハンドラとが含まれていてもよい。この場合、スクリプト制御部は、記録媒体のロード時に、該記録媒体に記録されている映像コンテンツに対応する再生ステータスを前記記憶部から検索し、対応する再生ステータスの有無に応じて、前記２つのイベントハンドラのいずれかを選択して実行する。
【０００９】
これによれば、再生ステータスの記憶の有無に応じて異なるイベントハンドラが選択され実行されるので、例えば、初回再生時には第１のイベントハンドラを、二回目以降の再生時には第２のイベントハンドラを実行させるなどの制御を実現することができる。なお、一例として、「第１のイベントハンドラ」は実施形態における「onAutoPlay()イベントハンドラ」に、「第２のイベントハンドラ」は実施形態における「onContinuePlay()イベントハンドラ」に、それぞれ対応する。
【００１０】
記憶部は、映像コンテンツに依存した情報であるユーザデータを記憶する領域を有していてもよい。この場合、スクリプト制御部は、第２のイベントハンドラを実行するとき、ユーザデータを利用した続き再生を実行するようにしてもよい。これによれば、コンテンツ制作者の意図に応じて、コンテンツに合わせた種々のデータを映像再生装置に保存しておき、次回再生時にこのユーザデータを取得できるので、続き再生時に、より複雑な動作を映像再生装置に実行させることができる。
【００１１】
スクリプトプログラムには、再生制御部における終了イベントに応じて実行される第３のイベントハンドラがさらに含まれていてもよい。この場合、スクリプト制御部は、第３のイベントハンドラの実行によって再生ステータスまたはユーザデータの情報を操作するようにする。これによれば、終了イベントに対応して実行されるイベントハンドラ第３のイベントハンドラを記述しておくことで、映像コンテンツの再生終了時にもコンテンツ制作者の意図する動作を実現することができる。なお、一例として、「第３のイベントハンドラ」は実施形態における「onExit()イベントハンドラ」に対応する。
【００１２】
なお、本発明の表現を方法、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、続き再生時の動作を記録媒体側にスクリプトプログラムとして記述するとともに、続き再生をするときに必要となる情報である再生ステータスを映像再生装置が記憶するようにしたので、スクリプトプログラムを適宜作成することによってコンテンツ制作者の意図した通りの続き再生を実現することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の一実施形態は、ＤＶＤディスク等の記録媒体に記録されたオーディオおよびビデオコンテンツを再生表示する映像再生装置に関する。このような装置では、ユーザによる映像再生装置本体またはリモートコントローラへのキー入力に応じて、映画の本編等のメインコンテンツの再生と、再生場面を選択するためのメニュー画面、または、画質や音質などを設定する画面などを入れ替えて表示する。
【００１５】
以下では、まず本発明の一実施形態に係る映像再生装置と記録媒体の構成について説明する。続いて、映像再生装置の一般的動作を説明し、最後に本発明による続き再生について詳細に説明する。
【００１６】
図１は、本発明の一実施形態に係る映像再生装置１００のハードウェア構成図である。ディスク１０１は、コンテンツデータおよび再生に必要なデータの記録されたディスク状の記録媒体である。ディスク１０１をディスクドライブ１０２に挿入すると、データの読み出しが行われ、映像再生装置１００による映像コンテンツの再生が開始される。なお、記録媒体として、メモリカードやメモリカートリッジ等のディスク以外の媒体を使用してもよい。
【００１７】
ディスクドライブ１０２は、ドライブインタフェース１１４に接続されている。ドライブインタフェース１１４からはディスクドライブ１０２に対して読み出し等の命令が伝えられる。ディスクドライブ１０２はその命令にしたがって動作し、読み出したデータ等をドライブインタフェース１１４に送る。
【００１８】
ＣＰＵ１１２、メモリ１１３、ドライブインタフェース１１４、入力インタフェース１１５、ビデオデコーダ１１６、オーディオデコーダ１１７、ビデオ出力インタフェース１１８、オーディオ出力インタフェース１１９は、バス１１１を通じて相互接続されている。
【００１９】
ＣＰＵ１１２は、映像再生装置１００全体の動作を制御する。メモリ１１３は、コンテンツデータのバッファとして使用される他、後述するようなディスク毎の情報を記憶するために使用される。ビデオデコーダ１１６、オーディオデコーダ１１７は、それぞれ、ディスク１０１から読み出されたビデオデータまたはオーディオデータをデコードする。デコードされたビデオデータは、ビデオ出力インタフェース１１８を介して図示しないビデオ出力端子から出力される。同様に、デコードされたオーディオデータは、オーディオ出力インタフェース１１９を介して図示しないオーディオ出力端子から出力される。
【００２０】
入力インタフェース１１５には、映像再生装置１００の図示しない操作パネルに設けられているキー入力や、図示しないリモートコントローラからの入力信号が入力され、この情報を各種装置に送る。
【００２１】
図２は、ディスク１０１に格納されたデータファイル３００のデータ構造を示す図である。データファイル３００は、ディレクトリ構造により階層的に管理されている。以下、各データファイルの概要を説明する。
【００２２】
ファイルシステムの基点を示すルートディレクトリ３０２には、コンテンツのタイトル情報であるＴＩＴＬＥＩＤ．ＤＡＴファイル３０４と、ＶＩＤＥＯディレクトリ３０６が置かれている。このＶＩＤＥＯディレクトリ３０６には、ＰＬＡＹＬＩＳＴ．ＤＡＴ３０８とＳＣＲＩＰＴ．ＤＡＴ３１２の２つのデータファイル、および、ＣＬＩＰディレクトリ３１４とＳＴＲＥＡＭディレクトリ３１８の２つのディレクトリが置かれている。
【００２３】
ＴＩＴＬＥＩＤ．ＤＡＴファイル３０４は、コンテンツの種類毎に異なるタイトル識別子（ＩＤ）を持つファイルである。通常、一つのディスクに対し、一つのＴＩＴＬＥＩＤ．ＤＡＴファイル３０４を有する。
【００２４】
ＰＬＡＹＬＩＳＴ．ＤＡＴファイル３０８には、映像ストリームの再生順を指定するためのプレイリストが記述されている。
【００２５】
ＳＣＲＩＰＴ．ＤＡＴファイル３１２は、スクリプトプログラムが記述されたスクリプトファイルである。このＳＣＲＩＰＴ．ＤＡＴファイル３１２は、コンテンツの再生に先立って、後述するスクリプト制御部に読み込まれ、ディスク１０１の再生形態をインタラクティブなものとするためのものである。この詳細は後述する。メニュー画面の画面レイアウトを指定する情報なども、スクリプトファイルに含まれる。
【００２６】
ＣＬＩＰディレクトリ３１４には、一つ以上のデータファイル、例えば００００１．ＣＬＰ、００００２．ＣＬＰ...（以下、これらを「クリップ情報ファイル」と呼ぶ）が格納される。また、ＳＴＲＥＡＭディレクトリ３１８には、一つ以上のデータファイル、例えば、００００１．ＰＳ、００００２．ＰＳ...（以下、これらを「クリップストリームファイル」と呼ぶ）が格納される。
【００２７】
クリップストリームファイルには、ビデオ、オーディオ、字幕のエレメンタリストリームが多重化され、ＭＰＥＧ―２プログラムストリームが格納されている。クリップストリームファイルは、ビデオおよびオーディオ信号を圧縮、時分割多重化することによって作成されている。また、クリップ情報ファイルは、ファイル名の数字が等しいクリップストリームファイルの性質等をそれぞれ記述している。上述のプレイリストには、当該ぷれいりすとにおいて再生するクリップストリームファイルと同じファイル名のクリップ情報ファイルが指定されており、映像再生装置は、プレイリストを参照してクリップストリームファイルの情報を取得し、その後対応するクリップストリームファイルを読み込んでデコード処理を行うことにより、ビデオ信号、字幕信号、およびオーディオ信号を得ることができる。
【００２８】
本実施形態では、ビデオエレメンタリストリームをＭＰＥＧ２−Ｖｉｄｅｏとして説明するが、ＭＰＥＧ４−ＶｉｓｕａｌやＭＰＥＧ４−ＡＶＣ等についても本実施形態を適用可能である。また、オーディオエレメンタリストリームをＡＴＲＡＣオーディオとして説明するが、ＭＰＥＧ１／２／４オーディオ等についても本実施形態を適用可能である。
【００２９】
本実施形態は、ディスクに記録されたスクリプトファイルを映像再生装置１００内のスクリプト制御部で解釈し、そのプログラムにしたがってコンテンツの再生を実行する点に特徴がある。ここで、スクリプトファイルは、周知の言語仕様である「ＥＣＭＡＳｃｒｉｐｔ」を基本とした拡張スクリプト言語で記述される。スクリプトファイルは、クリップストリームファイルの再生指示や、映像再生装置の設定を行うコマンド列から構成されている。このコマンドにより、複数用意されたプレイリストのうちいずれかを選択したり、条件分岐を伴うプレイリストの再生を実現することができる。このようなスクリプトファイルをディスクに記録しておくことによって、映像再生装置におけるユーザとのインタラクティブ機能が実現される。
【００３０】
次に、スクリプトファイルと再生制御部との間での命令のやりとりについて、図３を参照して説明する。図３は、スクリプトファイルにしたがった動作を説明するために、映像再生装置１００をモデル化した図である。映像再生装置１００は、まずディスク１０１からスクリプトプログラム、プレイリスト、クリップ情報を読み出し、それらによって定められている再生順序にしたがってクリップストリームファイルを読み出し、再生する。
【００３１】
スクリプトプログラムの言語仕様においては、プレイリストを再生する機能ブロックをプログラム内の「オブジェクト」として実装する。このプレイリスト再生を行い、ビデオ、オーディオ、字幕の再生を司るオブジェクトを、この明細書では、再生制御部２０６と呼ぶことにする。プレイリストの再生指示や映像再生装置の設定を行うコマンドは、この再生制御部２０６の有するメソッドとなる。再生制御部２０６はスクリプト制御部２０２からのメソッドによって制御されるが、再生制御部２０６からスクリプト制御部２０２へ状態の変化や再生位置を通知する機能が必要である。これは、スクリプト制御部２０２に対してイベントを発することに対応し、そのイベントに対応した処理は、イベントハンドラとして記述される。
【００３２】
再生制御部２０６は、ユーザによるキー入力などによって引き起こされる入力インタフェース部２０４からのコマンド、スクリプト制御部２０２からのメソッドに従って、プレイリストおよびクリップ情報を基に、クリップストリームファイルの読み込み、デコード、再生を行う。再生制御部２０６は、入力インタフェース部２０４からのコマンドを受け付けるパス、スクリプト制御部２０２にイベントを通知するパス、スクリプト制御部２０２からのメソッドを受け付けるパスという３本の入出力パスを持つ。
【００３３】
スクリプト制御部２０２は、スクリプトを実行し、再生制御部２０６の制御を行う。スクリプト制御部２０２は、再生制御部２０６からイベントを受け取り、メソッドを発行する。また、スクリプト制御部２０２は、入力インタフェース部２０４から、ユーザからのキー入力に対応するイベントを受け取る。
【００３４】
入力インタフェース部２０４は、ユーザによるキー入力を受け付け、このキー入力が再生制御部２０６に対する命令なのか、スクリプトで描画、表示しているボタンに対するものなのかを判定する。キー入力が、再生制御部２０６に対する命令であるならば、ユーザ入力を再生制御部２０６に対する制御コマンドに変換し、再生制御部２０６へそのコマンドを発する。キー入力がスクリプトで描画、表示しているＧＵＩ部品に対する命令であるならば、キー入力をイベントとしてスクリプト制御部２０２に通知する。
【００３５】
以上説明したように、ビデオ、オーディオ、字幕のデコード、表示は、再生制御部２０６が司り、ボタン等のＧＵＩ（Graphical User Interface）部品の配置、表示、およびＧＵＩ部品が選択、押下されたときの処理はスクリプト制御部２０２で行うという役割分担がなされている。
【００３６】
次に、再生制御部２０６のイベントモデルについて説明する。再生制御部２０６は、プレイリストの再生中に様々なイベントを発生する。このイベント発生は、イベントハンドラと呼ばれる処理プログラムの実行を引き起こす。これらのイベントハンドラは、コンテンツ制作者がスクリプト言語で実装する必要がある。このように、不定期なイベントが発生し、イベント発生をきっかけに、処理プログラムの実行を開始するプログラム実行モデルを「イベントドリブンモデル」と呼ぶ。
【００３７】
本実施形態では、再生制御部２０６で発生するイベント毎にイベントハンドラを用意している。すなわち、イベントＡが発生したときに実行される処理プログラムは、onEventA()という構造に決められており、その内容はコンテンツ制作者が実装することができる。例えば、プレイリストの先頭には、Ｃｈａｐｔｅｒマークが設定されており、プレイリスト先頭からの再生開始時には、Ｃｈａｐｔｅｒイベントが発生する。さらに、Ｃｈａｐｔｅｒが変わるたびにＣｈａｐｔｅｒイベントがスクリプト制御部２０２に通知され、対応するイベントハンドラであるonChapter()が実行される。プレイリストの最後まで再生が到達すると、その最後で再生が一時停止し、PlayListEndイベントがスクリプト制御部２０２に通知される。スクリプト制御部２０２では、onPlayListEnd()イベントハンドラ内で、別のプレイリストの再生開始を指示する。このように、再生制御部２０６からスクリプト制御部２０２への情報伝達はイベントにより行い、スクリプト制御部２０２から再生制御部２０６に対する制御はメソッドで行うモデルを構築することにより、クリップストリームファイルの再生をスクリプトプログラムで制御できるようになる。
【００３８】
以上のようなモデルにより、ビデオ、オーディオ、字幕の再生が可能となり、コンテンツ制作者が予め設定しておいた再生中のある時刻にイベントを発生させて、予め用意しておいたイベントハンドラを実行させることで、コンテンツ制作者が意図する動作を実現することができる。また、ユーザによるキー入力を受けた入力インタフェース部２０４がスクリプト制御部２０２にイベントを通知することにより、ユーザ操作に応じてコンテンツ制作者が用意した動作を実行させることも可能となる。
【００３９】
イベントハンドラがコンテンツ制作者によって記述されていない場合には、予め規定されている組み込みの動作（デフォルトイベントハンドラ）を実行するか、または何も実行されず、そのイベントは無視される。何も処理を行う必要が無いときには、イベントに対応したイベントハンドラを記述しないようにすることで、積極的にイベントを無視するように構成することもできる。
【００４０】
例えば、どのようなイベントが発生しても、一つの処理プログラムを呼び出すようなモデルでは、どのイベントが発生したかを知り、イベント毎に用意してある処理ルーチンを切り替えるという前処理を、処理プログラムの中に記述しておく必要がある。このような処理プログラムは、コンテンツ制作者が実装するものであるから、モデルとしては簡単でも、コンテンツ制作者の負担が大きくなるという問題があった。また、大きな一つの処理プログラムがたびたび呼び出されることになり、メモリ占有量が大きく、実行速度が低いという問題があった。これに対し、イベント毎に処理プログラム、つまりイベントハンドラを用意するモデルでは、上記のような問題を軽減することができる。
【００４１】
以上説明したように、ユーザ入力イベントが再生制御部２０６の状態を変化させ、新たなイベントを発生させる契機ともなり、新たに発生したイベントを利用して、さまざまな処理を行わせることができる点は、本実施形態の特徴のひとつである。
【００４２】
次に図４を参照して、スクリプトファイルの構成の一例を説明する。スクリプトファイルは、図示するようにいくつかのイベントハンドラ群と、メイン処理部から構成されている。
【００４３】
onAutoPlay()イベントハンドラ４０２は、自動実行のイベントハンドラで、ディスクが挿入されると自動に実行される。onContinuePlay()イベントハンドラ４０４は、復帰再生を実現させるイベントハンドラである。また、onMark()イベントハンドラ４０６は、再生中にマークが指す時刻に到達したときに実行されるイベントハンドラである。
【００４４】
図５は、上述したハードウェア構成とスクリプトプログラムの協働により実現される映像再生装置１００の機能ブロック図である。
【００４５】
図示しないオペレーティングシステムは、映像再生装置１００の電源が投入されると最初に起動して初期設定等の必要な処理を行い、図示しないビデオコンテンツ再生プログラムを呼び出す。このビデオコンテンツ再生プログラムは、例えば、ディスク１０１が挿入されたとき記録されているデータがビデオコンテンツであるかを確認したり、スクリプトファイルを読み出してスクリプト制御部２０２に与えたり、読み出したデータを再生制御部２０６に与えるなどの基本的な機能を実行する。ビデオコンテンツ再生プログラムの動作中に、オペレーティングシステムは、ドライブインタフェース１１４を介してディスクドライブ１０２を操作し、ディスク１０１のファイル読み出し等のサービスを提供する。
【００４６】
スクリプト制御部２０２は、スクリプトファイルに記述されているスクリプトプログラムを解釈して実行する。上述したように、スクリプトファイルには、グラフィックス処理部２２２を操作してメニュー画面等の画像を作成したり、ユーザインタフェースからの信号にしたがって再生制御部２０６を制御したりする動作を記述することができる。
【００４７】
再生制御部２０６は、ディスク１０１に記述されているデータを参照し、ビデオコンテンツの再生に関わる制御を行う。また、スクリプト制御部２０２または入力インタフェース部２０４からの指示にしたがって、映像ストリームの切り替え等の動作を行う。
再生ステータス２３２には、再生中のプレイリストや再生時間に関する情報が格納される。ユーザデータ２３４には、コンテンツ制作者がコンテンツに応じて記憶させておきたい情報が格納される。再生ステータスバックアップ２３６は、後述するノーマルモードからメニューモードが遷移するときに、メニューモードに移る直前の再生ステータス２３２における情報がバックアップされる。再生ステータス２３２、ユーザデータ２３４、再生ステータスバックアップ２３６の使用方法については、図７ないし図１２のフローチャートともに後述する。
【００４８】
コンテンツデータ供給部２０８は、クリップストリームファイルをディスク１０１から読み出し、バッファ部２１０に供給して蓄積する。そして、ビデオデコード部２１６、オーディオデコード部２２０、または字幕デコード部２１８などの要求に従って、クリップストリームファイルを供給する。さらに、バッファ部２１０内に蓄積されたデータの量を勘案した上で、ディスク１０１からのデータ読み込みを行う。バッファ部２１０は、バッファの実体としてメモリ１１３の記憶領域の一部を排他的に使用する。
【００４９】
データ記憶部２１２は、再生制御部２０６から指示されたデータを、ビデオコンテンツ再生プログラムが終了しても消去されない領域への書き込みや読み出しの動作をする。保存再生ステータス２５２には、再生制御部２０６内の再生ステータスバックアップ２３６内の情報が記録され、保存ユーザデータ２５４には、再生制御部２０６内のユーザデータ２３４内の情報が記録される。データ記憶部２１２は、複数のタイトルに対する領域を有している。すなわち、データ記憶部２１２は、同時に複数タイトルのコンテンツに対応する再生ステータスやユーザデータを保持することができる。これらのデータは、タイトルＩＤ２５０をキーとして、ディスク内のコンテンツに対応するデータを検索することができるように構成されている。
【００５０】
デコード制御部２１４は、ビデオデコード部２１６、字幕デコード部２１８、オーディオデコード部２２０の動作を制御する。また、内部に時計を持ちビデオオーディオの出力同期を管理する。
【００５１】
ビデオデコード部２１６は、ビデオデコーダ１１６を制御し、入力されたビデオストリームをデコードする。さらに、デコードの結果として生成されたビデオデータをグラフィックス処理部２２２に出力する。同様に、オーディオデコード部２１７は、オーディオデコーダ１１７を制御し、入力されたオーディオストリームをデコードする。さらに、デコードの結果として生成されたオーディオデータをオーディオ出力部２２６に出力する。
【００５２】
字幕デコード部２１８は、入力された字幕ストリームをデコードし、デコードの結果として生成された字幕の画像データを、グラフィックス処理部２２２に出力する。
【００５３】
グラフィックス処理部２２２には、ビデオデコード部２１６からのビデオデータと、字幕デコード部２１８から字幕の画像データがともに入力される。グラフィックス処理部２２２は、制御コマンドに応じて字幕の画像データの拡大、縮小を行ってビデオデータと加算し、さらに、ビデオ出力に合わせるために拡大、縮小を実行する。その結果作成された画像を、ビデオ出力部２２４に出力する。また、グラフィックス処理部２２２は、スクリプト制御部２０２や再生制御部２０６の指示にしたがって、メニューやメッセージを生成し、これをビデオ信号にオーバーレイして出力する。さらに、予め指定された出力ビデオデバイスのアスペクトレシオと、コンテンツ内で指定された出力アスペクトレシオにあわせて、出力信号のアスペクト変換を行う。
【００５４】
ビデオ出力部２２４は、メモリ１１３の一部をＦＩＦＯとして使用し、入力されたビデオデータを一時的に蓄えてビデオ出力インタフェース１１８から出力する。同様にオーディオ出力部２２６は、メモリ１１３の一部をＦＩＦＯとして使用し、入力されたオーディオデータを一時的に蓄えてオーディオ出力インタフェース１１９から出力する。
【００５５】
次に、図６ないし図８を参照して、本実施形態による続き再生の実現方法について説明する。
【００５６】
図６は、映像再生装置１００におけるディスクの再生前処理を示すフローチャートである。ディスク１０１がディスクドライブ１０２に挿入され、ビデオコンテンツ再生プログラムが起動すると、コンテンツデータ供給部２０８は、ディスク１０１に記録されているＴＩＴＬＥＩＤ．ＤＡＴファイルを再生制御部２０６に供給する。再生制御部２０６は、ＴＩＴＬＥＩＤ．ＤＡＴファイル内のタイトルＩＤを取得する（Ｓ１０）。
【００５７】
データ記憶部２１２は、取得したタイトルＩＤをキーにして、保存再生ステータス２５２および保存ユーザデータ２５４（以下、これらを総称して「保存情報」ともいう）を検索する（Ｓ１２）。データ記憶部２１２内に保存情報がある場合（Ｓ１２のＹ）、再生制御部２０６は、データ記憶部２１２内の保存再生ステータス２５２および保存ユーザデータ２５４を、それぞれ、再生制御部２０６内の再生ステータス２３２およびユーザデータ２３４に読み出す（Ｓ１４）。
【００５８】
保存情報の読み出し後、または、データ記憶部２１２内に保存情報がない場合（Ｓ１２のＮ）は、コンテンツデータ供給部２０８は、図示しないオペレーティングシステムに対し、ＳＣＲＩＰＴ．ＤＡＴファイルの読み込みを要求し、ディスク１０１からスクリプト制御部２０２にＳＣＲＩＰＴ．ＤＡＴファイルが読み込まれ、ファイルの解釈、実行がなされる（Ｓ１６）。
【００５９】
図７は、図６のＳ１６におけるＳＣＲＩＰＴ．ＤＡＴファイルの解釈、実行の処理手順を説明したフローチャートである。初回実行時は、スクリプト制御部２０２は、ディスクから読み込んだＳＣＲＩＰＴ．ＤＡＴファイルを、上の行から順に実行していく。初回の実行が終了するまでは、イベントハンドラの実行は抑制され、スクリプト制御部２０２においてイベントの処理は行われない。初回実行が終わると、イベントハンドラが実行可能になり、スクリプトファイル中に記述されたイベントハンドラを自動実行する。これにより、ユーザが明示的に再生を指示しなくても、ディスク１０１のロードと同時にディスクの再生を開始することが可能となる。
【００６０】
まず、スクリプト制御部２０２が、ＳＣＲＩＰＴ．ＤＡＴファイルを解釈する（Ｓ２０）。続いて、スクリプト制御部２０２は、データ記憶部２１２から再生制御部２０６に保存情報が読み込まれたか否かを判定する（Ｓ２２）。
【００６１】
本実施形態では、自動実行するイベントハンドラとして、コンテンツを最初から再生させるためのonAutoPlay()イベントハンドラと、続き再生を実行するためのonContinuePlay()イベントハンドラの２つが準備されている。保存情報が読み込まれていない場合（Ｓ２２のＮ）は、通常の再生開始に対応すると考えられ、スクリプト制御部２０２は、onAutoPlay()イベントハンドラを実行する（Ｓ２４）。このonAutoPlay()イベントハンドラがスクリプトファイルに記述されていないと再生開始ができないため、コンテンツ制作者は、このイベントハンドラを記述することが好ましい。
【００６２】
保存情報が読み込まれている場合（Ｓ２２のＹ）は、既に一度、現在ロード中のディスクの再生をしたことがあると考えられる。続いて、ＳＣＲＩＰＴ．ＤＡＴファイルにonContinuePlay()イベントハンドラが記述されているか否かを判定する（Ｓ２６）。onContinuePlay()イベントハンドラが記述されている場合（Ｓ２６のＹ）、スクリプト制御部２０２は、続き再生を開始するためのonContinuePlay()イベントハンドラを実行する（Ｓ２８）。このイベントハンドラは、再生制御部２０６に対し、再生ステータス２３２およびユーザデータ２３４の情報を読み出し、その情報にしたがって再生を開始させる。このonContinuePlay()イベントハンドラを適切に記述することによって、コンテンツ制作者の意図した通りに続き再生を実行することが可能になる。
【００６３】
ＳＣＲＩＰＴ．ＤＡＴファイルにonContinuePlay()イベントハンドラが記述されていない場合（Ｓ２６のＮ）、スクリプト制御部２０２は、デフォルトonContinuePlay()イベントハンドラを実行する（Ｓ３０）。このイベントハンドラは、再生制御部２０６に対し、再生ステータス２３２に記憶されたプレイリスト番号または再生時刻からの再生を開始させる。
【００６４】
図８は、映像再生装置において、ビデオコンテンツ再生プログラムが終了する際の動作を示すフローチャートである。なお、ここでいう「終了」とは、単にコンテンツの再生を停止させるだけではなく、スクリプトプログラムの実行も終了させることを指している。
【００６５】
再生制御部２０６は、ユーザによるビデオコンテンツ終了の指示の入力を受けると（Ｓ４０）、コンテンツの再生を停止し、再生ステータス２３２の情報を再生ステータスバックアップ２３６へ保存するとともに、新たなイベント発生の抑止、実行待ちのイベントハンドラの破棄などの終了準備を行う（Ｓ４２）。続いて、ビデオコンテンツ再生プログラムが終了する直前に実行するonExit()イベントハンドラが、ＳＣＲＩＰＴ．ＤＡＴファイルに記述されているか否かを判定する（Ｓ４４）。onExit()イベントハンドラが記述されていない場合（Ｓ４４のＮ）、Ｓ４６をスキップする。onExit()イベントハンドラが記述されている場合（Ｓ４４のＹ）、スクリプト制御部２０２は、exitイベントを受け取り、そのイベントに対する動作であるonExit()イベントハンドラを実行する（Ｓ４６）。ここで、「exitイベント」は、ビデオコンテンツの終了が指示されたときに、スクリプト制御部２０２に通知されるイベントである。スクリプト制御部２０２は、このイベントを受け取ることで、onExit()イベントハンドラ内で所望の終了処理を行うことができる。
【００６６】
onExit()イベントハンドラにどのような動作を記述するかは、コンテンツ制作者の意図に依存する。例えば、再生の状態を指示する再生ステータスバックアップ２３６の情報だけでなく付加的な情報をユーザデータ２３４に保存し、次回再生時に使用できるように動作させてもよい。または、次回再生時に、続き再生ではなく初めから再生を行わせるために、再生ステータスバックアップ２３６とユーザデータ２３４の情報を消去するような動作を記述してもよい。
【００６７】
次に、データ記憶部２１２は、タイトルＩＤをキーとして、保存情報を検索する（Ｓ４８）。保存情報が存在する場合（Ｓ５０のＹ）、再生ステータスバックアップ２３６とユーザデータ２３４の情報を、同じタイトルＩＤの保存再生ステータス２５２と保存ユーザデータ２５４に対して上書きする（Ｓ５２）。保存情報が存在しない場合は（Ｓ５０のＮ）、再生ステータスバックアップ２３６とユーザデータ２３４の情報を、現在のタイトルＩＤについての保存再生ステータス２５２と保存ユーザデータ２５４として、新たに記憶する（Ｓ５４）。
【００６８】
以上説明したように、本実施形態によれば、続き再生時の動作を記録媒体側にスクリプトプログラムとして記述するとともに、続き再生をするときに必要となる情報である再生ステータスを映像再生装置が記憶するようにしたので、スクリプトプログラムを適宜作成することによってコンテンツ制作者の意図した通りの続き再生を実現することができる。
【００６９】
また、続き再生のデフォルト動作であるデフォルトonContinuePlay()イベントハンドラを映像再生装置に実装しておくことで、コンテンツ制作者が続き再生の動作であるonContinuePlay()イベントハンドラをスクリプトファイルに記述していなくても、続き再生を実行することができる。
【００７０】
さらに、スクリプトファイルに、終了イベントに対応して実行されるイベントハンドラ（onExit()イベントハンドラ）を記述しておくことで、コンテンツの再生終了時にもコンテンツ制作者の意図する動作を実現することができる。
【００７１】
以上、実施の形態をもとに本発明を説明した。これらの実施形態は例示であり、各構成要素またはプロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、そのような変形例について述べる。
【００７２】
実施の形態では、映像再生装置１００内の再生制御部２０６に、再生ステータスやユーザデータを記録する領域を設けることを述べたが、映像再生装置で再生されるディスク等の記録媒体に再生ステータスやユーザデータを記録する領域を設け、再生制御部２０６が記録媒体内のそれらの情報を読み取るように構成してもよい。こうすれば、続き再生のための情報が記録媒体に記録されていることになるので、上述の実施形態のように構成された映像再生装置間であれば、一旦再生を停止した後、映像再生装置から記録媒体を取り出し、別の映像再生装置にて再生をする場合でも、続き再生を実現することができる。
【００７３】
続き再生を実行する際に、前回終了時点から再開する代わりに、もとの時点より時間を前に戻して再生するように構成してもよい。例えば、図８のＳ４６のonExit()イベントハンドラに、保存再生ステータス２５２に再生ステータス２３２の再生情報として時刻を記憶させるとき、「時刻を５分前に変更」などのような情報を変更する命令を記載すれば、次回再生時に時間を前に戻して再生することが可能になる。こうすることで、ユーザは前回再生していた映像コンテンツの内容を思い出しやすくなる。
【００７４】
図７のＳ２８におけるonContinuePlay()イベントハンドラに、ディスクに記述されるスクリプトで指定される所定のＩＤに応じて、続き再生時の動作の条件分岐をさせるような命令を記述してもよい。例えば、１）前回再生を終了した時点から再生する通常の続き再生を行う、２）続き再生を禁止し、必ずディスクの先頭から再生させる、３）前回再生を終了した時点から、時間を前に戻して再生する、といった動作を、コンテンツ制作者が容易に選択可能となるように構成することができる。これによって、例えば映画コンテンツを再生しているときに、クライマックスなどの特定の場面で終了した場合には、クライマックスの場面の最初から再生させることができる。また、ゲームやクイズなどのコンテンツを再生しているときに、特定の場面で終了した場合には、続き再生を行えないようにし、次回再生するときには初めから、または特定の時点からの再生を強制するといった演出をすることも可能になる。
【００７５】
スクリプト制御部は、onContinuePlay()イベントハンドラを実行するとき、ユーザデータを利用した続き再生を実行するようにしてもよい。これによれば、コンテンツ制作者の意図に応じて、コンテンツに合わせた種々のデータを映像再生装置に保存しておき、次回再生時にこのユーザデータを取得できるので、続き再生時に、より複雑な動作を映像再生装置に実行させることが可能になる。例えば、クイズ形式のコンテンツの再生中に終了が選択されたとき、それまでにユーザからなされた解答を保存ユーザデータ２５４として格納しておき、続き再生時に、前回の解答結果を引き継がせるような演出をすることも可能となる。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施形態による映像再生装置のハードウェア構成図である。
【図２】ディスクに格納されたデータファイルのデータ構造の一例を示す図である。
【図３】スクリプトファイルの動作を説明するためのモデルを示す図である。
【図４】スクリプトファイルの一例を示す図である。
【図５】本発明の一実施形態による映像再生装置の機能ブロック図である。
【図６】映像再生装置の再生前処理のフローチャートである。
【図７】スクリプトの解釈、実行を行うフローチャートである。
【図８】映像再生装置の再生終了処理のフローチャートである。
【符号の説明】
【００７７】
１００  映像再生装置、１０１  ディスク、２０２  スクリプト制御部、２０４  入力インタフェース部、２０６  再生制御部、２０８  コンテンツデータ供給部、２１０  バッファ部、２１２  データ記憶部、２３２  再生ステータス、２３４  ユーザデータ、２３６  再生ステータスバックアップ、２５０  タイトルＩＤ、２５２  保存再生ステータス、２５４  保存ユーザデータ、３００  スクリプトファイル。
【図１】
2006060450.tif 000003
【図２】
2006060450.tif 000004
【図３】
2006060450.tif 000005
【図４】
2006060450.tif 000006
【図５】
2006060450.tif 000007
【図６】
2006060450.tif 000008
【図７】
2006060450.tif 000009
【図８】
2006060450.tif 000010