(57)【要約】【課題】  ＡＶデータ等の再生に同期させて実行するプログラムを効率よく実行する。【解決手段】  ビデオディスクプレーヤ１は、光ディスク２からビデオデータ、プログラム、同期タイミング情報を読み出すディスク読み出し部５０と、クロック信号を生成するクロック、クロック信号に従ってビデオデータを再生出力のための非圧縮ビデオデータに変換するデコーダ、クロック信号に従って同期タイミング情報に含まれるフィールドtimingで指定されたタイミングでプログラム実行部１０へ同期制御信号を送信する同期制御部を含むビデオ再生部２０と、同期制御部より受信した同期制御信号に従ってプログラムを実行するプログラム実行部１０とを備える。【選択図】  図１
2006107586.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータ、同期タイミング情報を取得するデータ取得手段と、
クロック信号を生成するクロック生成手段と、
上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、
上記クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで同期処理手段へ同期制御信号を送信する同期制御手段と、
上記同期制御手段より受信した同期制御信号に従って、処理を行う同期処理手段と、を備えることを特徴とする再生装置。
【請求項２】
上記データ取得手段は、同期実行プログラムをさらに取得するものであり、
上記同期処理手段は、上記同期制御手段より受信した同期制御信号に従って、上記同期実行プログラムを実行するプログラム実行手段を備えることを特徴とする請求項１に記載の再生装置。
【請求項３】
上記再生データ以外の出力である第２の出力データを生成する出力生成手段を備え、
上記同期処理手段は、上記第２の出力データの出力を、上記同期制御手段より受信した同期制御信号に従って制御する出力制御手段を備えることを特徴とする請求項１に記載の再生装置。
【請求項４】
上記同期処理手段は、同期実行プログラムを実行することにより出力データを生成するとともに、上記同期制御手段より受信した同期制御信号に従って、当該出力データを出力することを特徴とする請求項２に記載の再生装置。
【請求項５】
上記同期処理手段は、同期実行プログラムを上記同期制御手段より受信した同期制御信号に従って実行することにより出力データを生成するとともに、当該出力データを出力することを特徴とする請求項２に記載の再生装置。
【請求項６】
上記同期処理手段は、同期実行プログラムが出力する出力データの出力を、上記同期制御手段より受信した同期制御信号に従って制御する出力制御手段を備えることを特徴とする請求項４または５に記載の再生装置。
【請求項７】
上記同期タイミング情報は、上記タイミング指定情報とともにアクション指定情報を含み、
上記同期制御手段は、タイミング指定情報で指定されたタイミングで上記プログラム実行手段へ同期制御信号を送信する際、当該タイミング指定情報に対応するアクション指定情報を同期制御信号に含めるものであり、
上記プログラム実行手段は、上記同期制御手段より受信した同期制御信号に含まれるアクション指定情報で指定された同期実行プログラムを実行するものであることを特徴とする請求項２に記載の再生装置。
【請求項８】
上記コンテンツデータの途中から再生を開始する際、上記同期制御手段は、再生を開始する時刻よりも前の時刻を示すタイミング指定情報を含む同期タイミング情報に従って、タイミング指定情報が前のものから順に同期制御信号を送信するものであることを特徴とする請求項２に記載の再生装置。
【請求項９】
上記同期タイミング情報は、上記タイミング指定情報とともに、他の同期タイミング情報との依存関係を示す依存情報を含み、
上記コンテンツデータの途中から再生を開始する際、上記同期制御手段は、他の同期タイミング情報に依存しないことを示す依存情報を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順に同期制御信号を送信するものであることを特徴とする請求項１または２に記載の再生装置。
【請求項１０】
上記データ取得手段は、複数の同期実行プログラムを実行した結果と同一の結果が得られる統合同期実行プログラムを取得するものであり、
上記同期タイミング情報は、上記タイミング指定情報とともに、実行すべき同期実行プログラムを示すアクション指定情報と、該アクション指定情報で示された同期実行プログラムが統合同期実行プログラムであるか否かを示す統合同期実行プログラム識別情報を含み、
上記コンテンツデータの途中から再生を開始する際、上記同期制御手段は、統合同期実行プログラムであることを示す統合同期実行プログラム識別情報を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順に同期制御信号を送信するものであることを特徴とする請求項２に記載の再生装置。
【請求項１１】
上記データ取得手段は、上記コンテンツデータの途中から再生を開始した場合にのみ実行される途中再生同期実行プログラムを取得するものであり、
上記同期タイミング情報は、上記タイミング指定情報とともに、実行すべき同期実行プログラムを示すアクション指定情報と、該アクション指定情報で示された同期実行プログラムが途中再生同期実行プログラムであるか否かを示す途中再生同期実行プログラム識別情報を含み、
上記コンテンツデータの途中から再生を開始する際、上記同期制御手段は、途中再生同期実行プログラムであることを示す途中再生同期実行プログラム識別情報を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順に同期制御信号を送信するものであることを特徴とする請求項２に記載の再生装置。
【請求項１２】
上記同期タイミング情報は、上記同期実行プログラムが実行されるべき時の上記デコード手段の状態を示す実行条件情報を含み、
上記同期制御手段は、上記デコード手段の状態を監視するとともに、該状態と上記実行条件情報とに基づいて上記同期制御信号を送信するものであることを特徴とする請求項２に記載の再生装置。
【請求項１３】
上記デコード手段はコンテンツデータとしてのビデオデータを再生してビデオ画像を出力するものであり、
上記プログラム実行手段は、上記同期実行プログラムとして、上記ビデオ画像に重畳する画像データを生成するプログラムを実行するものであることを特徴とする請求項２に記載の再生装置。
【請求項１４】
コンテンツデータ、同期実行プログラムを取得するデータ取得手段と、
上記同期実行プログラムを実行するプログラム実行手段と、
クロック信号を生成するクロック生成手段と、
上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、
上記クロック信号に従って、所定のタイミングで上記プログラム実行手段へ同期制御信号を送信する同期制御手段と、
外部からの再生制御操作を受け付け再生制御情報に変換する入力手段とを備え、
上記デコード手段は、上記入力手段からの再生制御情報で制御され、
上記プログラム実行手段は  少なくとも上記同期制御手段より受信した同期制御信号に従って同期実行プログラムを実行するものであることを特徴とする再生装置。
【請求項１５】
コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、
上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、
上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、
上記プログラム管理情報には、同時に再生出力を行うコンテンツデータおよび同期実行プログラムをそれぞれ指定するプログラム指定情報およびコンテンツデータ指定情報が含まれており、
上記プログラム指定情報で指定された同期実行プログラムの実行を上記プログラム実行手段に指示するとともに、上記コンテンツ指定情報で指定されたコンテンツデータの変換を上記デコード手段に指示または上記コンテンツ指定情報で指定されたコンテンツデータの取得を上記データ取得手段に指示する全体制御手段を備えることを特徴とする再生装置。
【請求項１６】
上記プログラム管理情報は、コンテンツデータの再生開始に同期実行プログラムからの指示を必要とするか否かを示す再生開始指示要否情報を含み、
上記デコード手段は、上記再生開始指示要否情報が同期実行プログラムからの指示を必要とする旨を示す場合、同期実行プログラムからの指示があるまでコンテンツデータの再生を開始しないことを特徴とする請求項１５に記載の再生装置。
【請求項１７】
コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、
上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、
上記同期実行プログラムを実行するプログラム実行手段と、
外部からの再生制御操作を受け付け再生制御情報に変換する入力手段と、
上記入力手段からの再生制御情報と上記プログラム実行手段からの再生制御情報とを、上記プログラム管理情報に含まれる再生制御切替情報に基づき切り替えてデコード手段に送る切替手段と、を備えることを特徴とする再生装置。
【請求項１８】
コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、
上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、
上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、
コンテンツデータおよび同期実行プログラムの再生出力を一時停止および一時停止した箇所から再生を再開する全体制御手段を備え、
上記プログラム管理情報は、コンテンツデータおよび同期実行プログラムの再生出力を一時停止後に、一時停止した箇所から再生を再開するレジューム機能が可能か否かを示すレジューム可否情報を含み、
上記レジューム可否情報がレジューム機能が可能でないことを示している場合、上記全体制御手段は、一時停止した箇所からの再生開始を指示しないことを特徴とする再生装置。
【請求項１９】
コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、
上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、
上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、
上記プログラム管理情報は、コンテンツデータおよび同期実行プログラムの再生出力を一時停止後に、一時停止した箇所から再生を再開するレジューム機能が可能か否かを示すレジューム可否情報を含み、
ユーザから一時停止の指示、一時停止を要する動作の指示、一時停止した箇所から再生を再開する指示のいずれかの指示を受けたとき、上記レジューム可否情報がレジューム機能が可能でないことを示している場合、レジューム機能が可能でない旨をユーザに提示する提示手段を備えることを特徴とする再生装置。
【請求項２０】
コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、
上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、
上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、
上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータを指定するコンテンツデータ指定情報が少なくとも含まれており、
上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータが、上記コンテンツデータ指定情報で指定されたコンテンツデータかどうかを検証する検証手段を備えることを特徴とする再生装置。
【請求項２１】
コンテンツデータ、同期実行プログラム、プログラム管理情報、検証用情報を取得するデータ取得手段と、
上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、
上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、
上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、
上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータの上記許可情報を、上記検証用情報を用いて検証する検証手段を備えることを特徴とする再生装置。
【請求項２２】
上記検証用情報は公開鍵であり、
上記許可情報は上記公開鍵に対応する秘密鍵を用いて上記同期実行プログラムに固有の情報を暗号化したものであり、
上記検証手段は、上記許可情報を上記検証用情報で復号し、得られた結果に基づいて検証を行うものであることを特徴とする請求項２１に記載の再生装置。
【請求項２３】
上記プログラム実行手段は、上記検証手段の検証の結果、許可情報が適正であると確認されなかった場合、上記同期実行プログラムの実行を停止することを特徴とする請求項２０から２２のいずれか１項に記載の再生装置。
【請求項２４】
請求項１から２３のいずれか１項に記載の再生装置を動作させる制御プログラムであって、コンピュータを上記同期制御手段および上記同期処理手段として機能させるための制御プログラム。
【請求項２５】
請求項２４に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２６】
請求項１から１４のいずれか１項に記載の再生装置に供給可能であるように、コンテンツデータ、同期実行プログラム、同期タイミング情報のうちの少なくとも一つが記録されていることを特徴とするコンテンツ記録媒体。
【請求項２７】
請求項１から１４のいずれか１項に記載の再生装置に供給可能であるように、コンテンツデータ、同期タイミング情報が記録されており、
上記同期タイミング情報が上記コンテンツデータと分離されていることを特徴とするコンテンツ記録媒体。
【請求項２８】
請求項１から１４のいずれか１項に記載の再生装置に供給可能であるように、同期実行プログラム、同期タイミング情報が記録されており、
上記同期タイミング情報が上記同期実行プログラムの近傍に記録されていることを特徴とするコンテンツ記録媒体。
【請求項２９】
請求項１から１４のいずれか１項に記載の再生装置に供給可能であるように、同期実行プログラム、同期タイミング情報が記録されており、
上記同期タイミング情報が上記同期実行プログラムと同一ファイルに格納されていることを特徴とするコンテンツ記録媒体。
【請求項３０】
請求項１５から２３のいずれか１項に記載の再生装置に供給可能であるように、コンテンツデータ、同期実行プログラム、プログラム管理情報のうちの少なくとも一つが記録されていることを特徴とするコンテンツ記録媒体。
【請求項３１】
請求項２１から２３のいずれか１項に記載の再生装置に供給可能であるように、コンテンツデータ、プログラム管理情報、検証用情報が少なくとも記録され、
上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、
上記検証用情報は、上記コンテンツデータに含まれていることを特徴とするコンテンツ記録媒体。
【請求項３２】
上記検証用情報は、コンテンツデータ中に所定の間隔で多重化されていることを特徴とする請求項３１に記載のコンテンツ記録媒体。
【請求項３３】
上記検証用情報は、コンテンツデータの区間によって異なることを特徴とする請求項３１または３２に記載のコンテンツ記録媒体。
【請求項３４】
データ取得手段、デコード手段、同期処理手段を備えた再生装置の制御方法であって、
上記データ取得手段にて、コンテンツデータ、同期タイミング情報を取得するデータ取得ステップと、
上記デコード手段にて、クロック信号に従ってコンテンツデータを再生出力のための再生データに変換するとともに、該クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで上記同期処理手段へ同期制御信号を送信するデコードステップと、
上記同期処理手段にて、受信した上記同期制御信号に従って、処理を行う同期処理ステップと、を含むことを特徴とする再生装置の制御方法。
【請求項３５】
データ取得手段、プログラム実行手段、クロック生成手段、デコード手段、同期制御手段、入力手段を備えた再生装置の制御方法であって、
上記データ取得手段にて、コンテンツデータ、同期実行プログラムを取得するデータ取得ステップと、
上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップと、
上記クロック生成手段にて、クロック信号を生成するクロック生成ステップと、
上記デコード手段にて、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、
上記同期制御手段にて、上記クロック信号に従って、所定のタイミングで上記プログラム実行手段へ同期制御信号を送信する同期制御ステップと、
上記入力手段にて、外部からの再生制御操作を受け付け再生制御情報に変換する入力ステップとを含み、
上記デコードステップにおいて、上記デコード手段が上記入力手段からの再生制御情報に従って動作し、
上記プログラム実行ステップにおいて、上記プログラム実行手段が少なくとも上記同期制御手段より受信した同期制御信号に従って同期実行プログラムを実行することを特徴とする再生装置の制御方法。
【請求項３６】
デコード手段、プログラム実行手段、データ取得手段を備えた再生装置の制御方法であって、
上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得ステップと、
デコード手段にて上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、
プログラム実行手段にて上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、
上記プログラム管理情報には、同時に再生出力を行うコンテンツデータおよび同期実行プログラムをそれぞれ指定するプログラム指定情報およびコンテンツデータ指定情報が含まれており、
上記プログラム指定情報で指定された同期実行プログラムの実行を上記プログラム実行手段に指示するとともに、上記コンテンツ指定情報で指定されたコンテンツデータの変換を上記デコード手段に指示または上記コンテンツ指定情報で指定されたコンテンツデータの取得を上記データ取得手段に指示する再生実行指示ステップを含むことを特徴とする再生装置の制御方法。
【請求項３７】
デコード手段、プログラム実行手段、データ取得手段、検証手段を備えた再生装置の制御方法であって、
上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得ステップと、
上記デコード手段にて、上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、
上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、
上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータを指定するコンテンツデータ指定情報が少なくとも含まれており、
上記検証手段にて、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータが、上記コンテンツデータ指定情報で指定されたコンテンツデータかどうかを検証する検証ステップを含むことを特徴とする再生装置の制御方法。
【請求項３８】
デコード手段、プログラム実行手段、データ取得手段、検証手段を備えた再生装置の制御方法であって、
上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報、検証用情報を取得するデータ取得ステップと、
上記デコード手段にて、上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、
上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、
上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、
上記検証手段にて、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータの上記許可情報を、上記検証用情報を用いて検証する検証ステップを含むことを特徴とする再生装置の制御方法。
【請求項３９】
再生装置にて再生されるコンテンツデータを格納するコンテンツデータ格納領域と、
再生装置にて上記コンテンツデータの再生と同期して実行される同期実行プログラムを格納する同期実行プログラム格納領域と、
再生装置が上記コンテンツデータを再生するためのクロック信号に基づいて、上記同期実行プログラムが実行されるタイミングを指定した同期タイミング情報を格納する同期タイミング情報格納領域とを含むことを特徴とするデータ構造。
【請求項４０】
再生装置にて再生されるコンテンツデータを格納するコンテンツデータ格納領域と、
再生装置にて上記コンテンツデータの再生と同期して実行される同期実行プログラムを格納する同期実行プログラム格納領域と、
同時に再生出力を行うコンテンツデータおよび同期実行プログラムをそれぞれ指定するプログラム指定情報およびコンテンツデータ指定情報を含むプログラム管理情報を格納するプログラム管理情報格納領域とを含むことを特徴とするデータ構造。
【請求項４１】
上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、
上記コンテンツデータには、上記許可情報を検証するための検証用情報が含まれていることを特徴とする請求項４０に記載のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータソフトウエアによってビデオ再生を制御する再生装置、再生装置の制御方法、コンテンツ記録媒体、データ構造、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
近年、より高いインタラクティブ性を求めて、ＡＶ（audio visual）機器に汎用プログラム言語の実行環境が導入されつつある。その代表的なものがＭＨＰ（Multimedia Home Platform）で、Ｊａｖａ（登録商標）言語が採用されている（例えば、特許文献１）。
【０００３】
なお、特許文献１には、多彩な制御機能を与えながら、ユーザに簡単なインタフェースを与えることを目的としたテレビジョン表示装置が記載されている。具体的には、このテレビジョン表示装置は、複数の制御画像を格納し、主要ファイルを持続して記憶するメモリと、イベントを複数の制御画像の選択された１つに対応させるイベントセレクタと、アクションを選択された制御画像に対応させるアクションセレクタと、イベントを検出し、これに応じて所定期間に亘って選択された制御画像をテレビジョン表示部の一部に、見ているテレビジョンサービスに重ね合わせて表示する表示部と、入力装置によって所定期間内に制御コマンドが供給されたか否かに応じてアクションを開始するコマンド部とを備え、コマンド部は、入力装置によって所定期間内に供給された主要コマンドに応じて表示された各主要画像の主要ファイルの内容を現在見ているテレビジョンサービスに重ね合せて表示する。
【特許文献１】特開２００１−１０３３８３号公報（公開日：平成１３年４月１３日）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図３５は、汎用プログラム言語実行環境を備えた従来のＡＶ機器の構成の概略を示す機能ブロック図である。図３５に示すように、ＡＶ機器に汎用プログラム言語実行環境を導入する場合、プログラムを実行するプログラム実行部１０１と、ビデオデータをデコードするビデオ再生部１０２と、合成部１０３とで構成される。そして、プログラム実行部１０１およびビデオ再生部１０２の出力を、合成部１０３が重ね合わせる。さらに、コストやリアルタイム性の点から、ビデオ再生部１０２はハードウェアで実装されるのが一般的である。
【０００５】
しかしながら、上記従来のＡＶ機器では、プログラムによって生成したグラフィックスやアニメーションなどをビデオ再生の時間軸上の特定のビデオフレームから表示開始したり表示終了することは難しい。なぜならば、高級言語によるプログラムは一般的に動作が遅いためである。特にＪａｖａ（登録商標）言語はバーチャルマシン上で実行され、しかも使用済みのメモリを開放するためのガーベジコレクション処理ともあいまって、リアルタイム処理を保証することは難しい。また、フレーム単位でビデオと同期を取ろうとすると、フレームレートより短い時間でポーリングをする必要があり、プログラムのオーバーヘッドが大きくなる。また、ビデオ再生の特定のタイミングでグラフィックス表示の開始や終了をさせようとした場合、ソフトウェアでビデオ再生のクロック値を見に行く必要がある。それゆえ、処理のオーバーヘッドが大きく、フレーム単位でタイミングを一致させるのが困難であり、処理効率が悪い。
【０００６】
また、上記従来のＡＶ機器では、ビデオ中の任意の時刻から再生を開始した場合、その時刻に表示すべきグラフィックスを正しく重畳表示させるのは難しい。なぜならば、ビデオ再生のクロックをポーリングして、その値でグラフィックス表示・消去タイミングを制御しているため、再生開始時刻までのビデオ再生のクロックの変化を再現してやる必要があり、その時刻のグラフィックスを表示するには、ビデオの先頭から再生開始時刻までの時間を要するからである。
【０００７】
また、上記従来のＡＶ機器におけるビデオ再生部１０２の制御は、指定されたプログラムに従ってプログラム実行部１０１が行うが、Ｊａｖａ（登録商標）言語を使用しない従来のＤＶＤ Ｖｉｄｅｏなどに比べ、ビデオ再生開始までの時間が長くなったり、ユーザ操作（例えば「次チャプタへジャンプ」）への応答が遅れるという問題がある。前者は、プログラム中にビデオデータの再生開始制御が記述されているため、プログラムが起動し、プログラム実行が再生開始制御の記載されている箇所に到達して初めてビデオデータの再生開始制御がビデオ再生部１０２に送られるため、すなわちプログラム実行部１０１によるオーバーヘッドが存在するために生じる。後者は、ユーザ操作を一旦プログラム実行部１０１が受け取り、プログラムによってビデオ再生部１０２に対する再生制御命令に変換再生するというオーバーヘッドが存在するために生じる。さらに、前述のガーベジコレクション処理が再生開始処理やユーザ操作解釈処理の際に生じた場合、その遅れはさらに悪化するおそれがある。
【０００８】
また、上記従来のＡＶ機器においては、現在ＤＶＤで実現されている“レジューム”処理の実現方法については考慮されていなかった。“レジューム”とは、コンテンツ再生時にユーザがメニュー読み出しを行った際に再生を一時停止したコンテンツを、ユーザがメニューから復帰操作した際に、一時停止した箇所から再生再開する機能である。
【０００９】
また、上記従来のＡＶ機器においては、複数のコンテンツプロバイダから提供されるコンテンツを同じ記録媒体中に含むことが考慮されていなかった。例えば１枚の光ディスク中にプロバイダＡとプロバイダＢがコンテンツを提供したとき、プロバイダＡのプログラムが意図的あるいはプログラムのバグによりプロバイダＢのビデオデータを無断で再生してしまうことを防ぐ必要がある。しかし、上記従来のＡＶ機器ではそのための仕組みを提供していなかった。
【００１０】
本発明は、上記の問題点を解決するためになされたもので、その目的は、第一に、ＡＶデータ等の再生に同期させて実行するプログラムを効率よく実行することができる再生装置、再生装置の制御方法、コンテンツ記録媒体、データ構造、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することにある。また第二に、不正な再生を防止することができる、再生装置、再生装置の制御方法、コンテンツ記録媒体、データ構造、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明に係る再生装置は、コンテンツデータ、同期タイミング情報を取得するデータ取得手段と、クロック信号を生成するクロック生成手段と、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで同期処理手段へ同期制御信号を送信する同期制御手段と、上記同期制御手段より受信した同期制御信号に従って、処理を行う同期処理手段とを備えることを特徴としている。
【００１２】
また、本発明に係る再生装置の制御方法は、データ取得手段、デコード手段、同期処理手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期タイミング情報を取得するデータ取得ステップと、上記デコード手段にて、クロック信号に従ってコンテンツデータを再生出力のための再生データに変換するとともに、該クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで上記同期処理手段へ同期制御信号を送信するデコードステップと、  上記同期処理手段にて、受信した上記同期制御信号に従って、処理を行う同期処理ステップとを含むことを特徴としている。
【００１３】
上記の構成により、デコード手段が行うコンテンツデータの再生処理に同期して、同期処理手段に対して、処理を行うタイミングを規定する同期制御信号（トリガー）を供給することができる。ここで、同期処理手段が行う「処理」としては、例えば、データの出力制御や、プログラムの実行などが挙げられる。その他、ネットワークへのアクセスや、記録媒体の読み書きなどがその範疇に含まれる。
【００１４】
よって、コンテンツデータとは並行してコンテンツデータの再生処理に同期した処理を作成したり、コンテンツデータ供給後にコンテンツデータ再生処理に同期した処理を追加したりすることが容易になる。また、ストリーム同期処理手段からデコード手段の再生クロックを見に行く必要がないため、同期のために同期処理手段に負担がかからない。それゆえ、柔軟なコンテンツ作成が可能になる。
【００１５】
さらに、本発明に係る再生装置は、上記データ取得手段は、同期実行プログラムをさらに取得するものであり、上記同期処理手段は、上記同期制御手段より受信した同期制御信号に従って、上記同期実行プログラムを実行するプログラム実行手段を備えることを特徴としている。
【００１６】
上記の構成により、さらに、デコード手段が行うコンテンツデータの再生処理に同期して、同期処理手段に対して、同期実行プログラムを実行して出力データを生成するタイミングを規定する同期制御信号（トリガー）を供給することができる。
【００１７】
よって、同期処理手段からデコード手段の再生クロックを見に行く必要がないため、同期のために同期処理手段に負担がかからない。それゆえ、上記再生装置では、ＡＶデータ等の再生に同期させて実行するプログラムを効率よく実行できる。
【００１８】
さらに、本発明に係る再生装置は、上記再生データ以外の出力である第２の出力データを生成する出力生成手段を備え、上記同期処理手段は、上記第２の出力データの出力を、上記同期制御手段より受信した同期制御信号に従って制御する出力制御手段を備えることを特徴としている。
【００１９】
上記の構成により、さらに、デコード手段が行うコンテンツデータの再生処理に同期して出力される、第２の出力データがある場合に、上記第２の出力データの出力を制御することができる。ここで、出力生成手段が生成する「第２の出力データ」としては、例えば、プログラムを実行することにより生成したグラフィックスデータや、ビデオデータに多重化されたビットマップデータをデコードしたデータが挙げられる。また、視覚的情報出力に限らず、聴覚的情報出力、例えばプログラムを実行することにより生成したオーディオデータや、ビデオデータに多重化されたオーディオデータをデコードしたデータもその範疇に含まれる。
【００２０】
よって、同期処理手段からデコード手段の再生クロックを見に行く必要がないため、同期のために同期処理手段に負担がかからない。それゆえ、上記再生装置では、ＡＶデータ等の再生に同期させて、別のＡＶデータの出力制御を効率よく実行できる。
【００２１】
例えば、ビデオ再生の特定のタイミングでプログラムによるグラフィックス表示を開始／終了させる場合であっても、同期処理手段のソフトウェアで、クロックを見に行く必要がない。よって、処理のオーバーヘッドがなく、フレーム単位でタイミングを容易に一致させることが可能となる。すなわち、精度の高い制御が可能となり、処理効率にも優れている。
【００２２】
さらに、本発明に係る再生装置は、上記同期処理手段は、同期実行プログラムを実行することにより出力データを生成するとともに、上記同期制御手段より受信した同期制御信号に従って、当該出力データを出力することを特徴としている。
【００２３】
上記の構成により、さらに、デコード手段が行うコンテンツデータの再生処理に同期した、同期実行プログラムによるグラフィックス表示が容易になり、しかも効率よく行うことができる。
【００２４】
さらに、本発明に係る再生装置は、上記同期処理手段は、同期実行プログラムを上記同期制御手段より受信した同期制御信号に従って実行することにより出力データを生成するとともに、当該出力データを出力することを特徴としている。
【００２５】
上記の構成により、さらに、デコード手段が行うコンテンツデータの再生処理に同期した、同期実行プログラムによるグラフィックス表示が容易になり、しかも効率よく行うことができる。
【００２６】
さらに、本発明に係る再生装置は、上記同期処理手段は、同期実行プログラムが出力する出力データの出力を、上記同期制御手段より受信した同期制御信号に従って制御する出力制御手段を備えることを特徴としている。
【００２７】
上記の構成により、さらに、ビデオ再生の特定のタイミングでプログラムによるグラフィックス表示を開始／終了させる場合であっても、同期処理手段のソフトウェアで、クロックを見に行く必要がない。よって、処理のオーバーヘッドがなく、フレーム単位でタイミングを容易に一致させることが可能となる。すなわち、精度の高い制御が可能となり、処理効率にも優れている。
【００２８】
なお、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、同期タイミング情報を取得するデータ取得手段と、クロック信号を生成するクロック生成手段と、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで同期処理手段へ同期制御信号を送信する同期制御手段と、上記同期実行プログラムを実行することにより出力データを生成するとともに、上記同期制御手段より受信した同期制御信号に従って、当該出力データを出力する同期処理手段とを備えた構成であってもよい。
【００２９】
また、本発明に係る再生装置の制御方法は、デコード手段および同期処理手段を備えた再生装置の制御方法であって、コンテンツデータ、同期実行プログラム、同期タイミング情報を取得するデータ取得ステップと、上記デコード手段にてクロック信号に従ってコンテンツデータを再生出力のための再生データに変換するとともに、該クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで上記同期処理手段へ同期制御信号を送信するデコードステップと、上記同期処理手段にて、上記同期実行プログラムを実行することにより出力データを生成するとともに、受信した上記同期制御信号に従って、当該出力データを出力するプログラム実行出力ステップとを含む構成であってもよい。
【００３０】
上記の構成により、デコード手段が行うコンテンツデータの再生処理に同期して、同期処理手段に対して、同期実行プログラムの実行結果（出力データ）を出力するタイミングを規定する同期制御信号（トリガー）を供給することができる。
【００３１】
よって、同期処理手段からデコード手段の再生クロックを見に行く必要がないため、同期のために同期処理手段に負担がかからない。それゆえ、上記再生装置では、ＡＶデータ等の再生に同期させて実行するプログラムを効率よく実行できる。
【００３２】
例えば、ビデオ再生の特定のタイミングでプログラムによるグラフィックス表示を開始／終了させる場合であっても、同期処理手段のソフトウェアで、クロックを見に行く必要がない。よって、処理のオーバーヘッドがなく、フレーム単位でタイミングを容易に一致させることが可能となる。すなわち、精度の高い制御が可能となり、処理効率にも優れている。
【００３３】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、同期タイミング情報を取得するデータ取得手段と、クロック信号を生成するクロック生成手段と、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで同期処理手段へ同期制御信号を送信する同期制御手段と、上記同期実行プログラムを上記同期制御手段より受信した同期制御信号に従って実行することにより出力データを生成するとともに、当該出力データを出力する同期処理手段とを備える構成であってもよい。
【００３４】
また、本発明に係る再生装置の制御方法は、デコード手段および同期処理手段を備えた再生装置の制御方法であって、コンテンツデータ、同期実行プログラム、同期タイミング情報を取得するデータ取得ステップと、上記デコード手段にてクロック信号に従ってコンテンツデータを再生出力のための再生データに変換するとともに、該クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで上記同期処理手段へ同期制御信号を送信するデコードステップと、上記同期処理手段にて、上記同期実行プログラムを受信した上記同期制御信号に従って実行することにより出力データを生成するとともに、当該出力データを出力するプログラム実行出力ステップとを含む構成であってもよい。
【００３５】
上記の構成により、デコード手段が行うコンテンツデータの再生処理に同期して、同期処理手段に対して、同期実行プログラムを実行して出力データを生成するタイミングを規定する同期制御信号（トリガー）を供給することができる。
【００３６】
よって、同期処理手段からデコード手段の再生クロックを見に行く必要がないため、同期のために同期処理手段に負担がかからない。それゆえ、上記再生装置では、ＡＶデータ等の再生に同期させて実行するプログラムを効率よく実行できる。
【００３７】
例えば、ビデオ再生の特定のタイミングでプログラムによるグラフィックス表示を開始／終了させる場合であっても、同期処理手段のソフトウェアで、クロックを見に行く必要がない。よって、処理のオーバーヘッドがなく、フレーム単位でタイミングを容易に一致させることが可能となる。すなわち、精度の高い制御が可能となり、処理効率にも優れている。
【００３８】
なお、データ取得手段としては、コンテンツデータ、同期実行プログラム、同期タイミング情報をコンテンツ記録媒体から読み出す読み出し手段であってもよいし、ネットワークを経由して取得する通信手段であってもよい。すなわち、コンテンツデータ、同期実行プログラム、同期タイミング情報の再生装置への供給は、種々の形態によって可能である。例えば、コンテンツデータ、同期実行プログラム、同期タイミング情報のすべてを記録したコンテンツ記録媒体から読み出してもよい。また、コンテンツデータ、同期実行プログラム、同期タイミング情報のいずれかをネットワーク経由で取得して、コンテンツ記録媒体から読み出した他のデータと組み合わせて再生してもよい。さらに、コンテンツ記録媒体に記録されている同期実行プログラム（コンテンツデータ、同期タイミング情報についても同様）の一部あるいは全部を、ネットワーク経由で取得した同期実行プログラムに置き換えて再生してもよい。
【００３９】
また、プログラムとしては、ビデオ画像に重畳する画像データ（静止画、アニメーション）を生成するプログラムのほか、例えば効果音やナレーション等の音声のみを出力するプログラムにも利用可能である。
【００４０】
さらに、本発明に係る再生装置は、上記同期処理手段は、上記同期制御手段より受信した同期制御信号に従って、上記同期実行プログラムを実行することにより出力データを生成するプログラム実行手段を備える構成であってもよい。
【００４１】
上記の構成により、コンテンツデータの再生に用いるクロック信号に基づく同期制御信号に従って、同期実行プログラムを実行できる。よって、コンテンツデータの再生に同期して同期実行プログラムの出力データを生成することが可能となる。
【００４２】
さらに、本発明に係る再生装置は、上記同期処理手段は、上記プログラム実行手段によって生成された出力データを、上記同期制御手段より受信した同期制御信号に従って出力する出力制御手段を備える構成であってもよい。
【００４３】
上記の構成により、コンテンツデータの再生に用いるクロック信号に基づく同期制御信号に従って、同期実行プログラムによって生成された出力データを出力できる。よって、コンテンツデータの再生に同期して同期実行プログラムの出力を制御することが可能となる。
【００４４】
さらに、本発明に係る再生装置は、上記同期タイミング情報は、上記タイミング指定情報とともにアクション指定情報を含み、上記同期制御手段は、タイミング指定情報で指定されたタイミングで上記プログラム実行手段へ同期制御信号を送信する際、当該タイミング指定情報に対応するアクション指定情報を同期制御信号に含めるものであり、上記プログラム実行手段は、上記同期制御手段より受信した同期制御信号に含まれるアクション指定情報で指定された同期実行プログラムを実行するものであることを特徴としている。
【００４５】
上記の構成により、プログラム実行手段が処理を行うタイミングとともに、実行する同期実行プログラムを、同期制御手段から制御できる。よって、プログラム実行手段に複数の同期実行プログラム（指令）を切り替えながら実行させることが可能となる。
【００４６】
さらに、本発明に係る再生装置は、上記コンテンツデータの途中から再生を開始する際、上記同期制御手段は、再生を開始する時刻よりも前の時刻を示すタイミング指定情報を含む同期タイミング情報に従って、タイミング指定情報が前のものから順に同期制御信号を送信するものであることを特徴としている。
【００４７】
上記の構成により、さらに、コンテンツデータの途中から再生を開始する際、その時刻までのビデオ用クロックの変化を再現してやる必要がなく、再生開始までの時間を短縮することが可能となる。
【００４８】
さらに、本発明に係る再生装置は、上記同期タイミング情報は、上記タイミング指定情報とともに、他の同期タイミング情報との依存関係を示す依存情報を含み、上記コンテンツデータの途中から再生を開始する際、上記同期制御手段は、他の同期タイミング情報に依存しないことを示す依存情報を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順に同期制御信号を送信するものであることを特徴としている。
【００４９】
上記の構成により、さらに、コンテンツデータの途中から再生を開始する際、再生開始時刻に合致したグラフィックスの表示等の処理を直ちに実行できるため、不要な処理を実行する必要がなくなり、再生開始までの時間を短縮することが可能となる。
【００５０】
さらに、本発明に係る再生装置は、上記データ取得手段は、複数の同期実行プログラムを実行した結果と同一の結果が得られる統合同期実行プログラムを取得するものであり、上記同期タイミング情報は、上記タイミング指定情報とともに、実行すべき同期実行プログラムを示すアクション指定情報と、該アクション指定情報で示された同期実行プログラムが統合同期実行プログラムであるか否かを示す統合同期実行プログラム識別情報を含み、上記コンテンツデータの途中から再生を開始する際、上記同期制御手段は、統合同期実行プログラムであることを示す統合同期実行プログラム識別情報を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順に同期制御信号を送信するものであることを特徴としている。
【００５１】
上記の構成により、さらに、コンテンツデータの途中から再生を開始する際、再生開始時刻に合致したグラフィックスの表示等の処理を直ちに実行できるため、不要な処理を実行する必要がなくなり、再生開始までの時間を短縮することが可能となる。
【００５２】
さらに、本発明に係る再生装置は、上記データ取得手段は、上記コンテンツデータの途中から再生を開始した場合にのみ実行される途中再生同期実行プログラムを取得するものであり、上記同期タイミング情報は、上記タイミング指定情報とともに、実行すべき同期実行プログラムを示すアクション指定情報と、該アクション指定情報で示された同期実行プログラムが途中再生同期実行プログラムであるか否かを示す途中再生同期実行プログラム識別情報を含み、上記コンテンツデータの途中から再生を開始する際、上記同期制御手段は、途中再生同期実行プログラムであることを示す途中再生同期実行プログラム識別情報を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順に同期制御信号を送信するものであることを特徴としている。
【００５３】
上記の構成により、さらに、再生開始時刻に応じて割り込み処理を選択でき、再生状態に応じた処理が可能になる。例えば、ある時刻から再生を開始した場合だけ特別なグラフィックスを表示したりすることで、ユーザはコンテンツを繰り返し楽しむことが可能になり、コンテンツの付加価値を向上させることが可能になる。
【００５４】
さらに、本発明に係る再生装置は、上記同期タイミング情報は、上記同期実行プログラムが実行されるべき時の上記デコード手段の状態を示す実行条件情報を含み、上記同期制御手段は、上記デコード手段の状態を監視するとともに、該状態と上記実行条件情報とに基づいて上記同期制御信号を送信するものであることを特徴としている。
【００５５】
上記の構成により、さらに、再生状態に応じて割り込み処理を選択でき、再生状態に応じた処理が可能になる。例えば、早送りの場合だけ特別なグラフィックスを表示したりすることで、ユーザはコンテンツを繰り返し楽しむことが可能になり、コンテンツの付加価値を向上させることが可能になる。
【００５６】
さらに、本発明に係る再生装置は、上記デコード手段はコンテンツデータとしてのビデオデータを再生してビデオ画像を出力するものであり、上記プログラム実行手段は、上記同期実行プログラムとして、上記ビデオ画像に重畳する画像データを生成するプログラムを実行するものであることを特徴としている。
【００５７】
上記の構成により、デコード手段で再生したビデオ画像に、当該ビデオ画像の再生に同期してプログラム実行手段で生成した画像データを重畳させて出力することが可能となる。なお、プログラム実行手段で生成した画像データは、静止画であってもよいし、アニメーションであってもよい。
【００５８】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラムを取得するデータ取得手段と、上記同期実行プログラムを実行するプログラム実行手段と、クロック信号を生成するクロック生成手段と、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記クロック信号に従って、所定のタイミングで上記プログラム実行手段へ同期制御信号を送信する同期制御手段と、外部からの再生制御操作を受け付け再生制御情報に変換する入力手段とを備え、上記デコード手段は、上記入力手段からの再生制御情報で制御され、上記プログラム実行手段は  少なくとも上記同期制御手段より受信した同期制御信号に従って同期実行プログラムを実行するものであることを特徴としている。
【００５９】
また、本発明に係る再生装置の制御方法は、データ取得手段、プログラム実行手段、クロック生成手段、デコード手段、同期制御手段、入力手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期実行プログラムを取得するデータ取得ステップと、上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップと、上記クロック生成手段にて、クロック信号を生成するクロック生成ステップと、上記デコード手段にて、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、上記同期制御手段にて、上記クロック信号に従って、所定のタイミングで上記プログラム実行手段へ同期制御信号を送信する同期制御ステップと、上記入力手段にて、外部からの再生制御操作を受け付け再生制御情報に変換する入力ステップとを含み、上記デコードステップにおいて、上記デコード手段が上記入力手段からの再生制御情報に従って動作し、上記プログラム実行ステップにおいて、上記プログラム実行手段が少なくとも上記同期制御手段より受信した同期制御信号に従って同期実行プログラムを実行することを特徴としている。
【００６０】
上記の構成により、コンテンツデータの再生に同期した同期実行プログラムの実行が可能であり、かつ、外部からの再生制御操作（ユーザの操作）により同期実行プログラムを介することなくコンテンツ再生を制御できる。それゆえ、同期実行プログラムを介することによるオーバーヘッドを排除し、ユーザによる再生制御操作に対するレスポンスを高めることが可能になる。
【００６１】
ここで、同期制御手段がプログラム実行手段へ同期制御信号を送信する「所定のタイミング」としては、例えば、コンテンツデータの再生終了時や、同期タイミング情報で指定されたタイミングが挙げられる。
【００６２】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、上記プログラム管理情報には、同時に再生出力を行うコンテンツデータおよび同期実行プログラムをそれぞれ指定するプログラム指定情報およびコンテンツデータ指定情報が含まれており、上記プログラム指定情報で指定された同期実行プログラムの実行を上記プログラム実行手段に指示するとともに、上記コンテンツ指定情報で指定されたコンテンツデータの変換を上記デコード手段に指示または上記コンテンツ指定情報で指定されたコンテンツデータの取得を上記データ取得手段に指示する全体制御手段を備えることを特徴としている。
【００６３】
また、本発明に係る再生装置の制御方法は、デコード手段、プログラム実行手段、データ取得手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得ステップと、デコード手段にて上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、プログラム実行手段にて上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、上記プログラム管理情報には、同時に再生出力を行うコンテンツデータおよび同期実行プログラムをそれぞれ指定するプログラム指定情報およびコンテンツデータ指定情報が含まれており、上記プログラム指定情報で指定された同期実行プログラムの実行を上記プログラム実行手段に指示するとともに、上記コンテンツ指定情報で指定されたコンテンツデータの変換を上記デコード手段に指示または上記コンテンツ指定情報で指定されたコンテンツデータの取得を上記データ取得手段に指示する再生実行指示ステップを含むことを特徴としている。
【００６４】
上記の構成により、同期実行プログラムの実行と独立して、コンテンツデータの記録媒体からの読み出し、デコード、再生の開始が可能になり、コンテンツデータの再生開始までの時間を短縮することができる。特に、コンテンツデータの取得をデータ取得手段に指示することにより、先読みが可能となる。なお、上記の構成において、同期実行プログラムは、出力データを生成するものに限定されない。
【００６５】
さらに、本発明に係る再生装置は、上記プログラム管理情報は、コンテンツデータの再生開始に同期実行プログラムからの指示を必要とするか否かを示す再生開始指示要否情報を含み、上記デコード手段は、上記再生開始指示要否情報が同期実行プログラムからの指示を必要とする旨を示す場合、同期実行プログラムからの指示があるまでコンテンツデータの再生を開始しないことを特徴としている。
【００６６】
上記の構成により、さらに、同期実行プログラムの実行と独立して、コンテンツデータの記録媒体からの読み出し、デコードが可能になり、コンテンツデータの再生開始までの時間を短縮できると同時に、同期実行プログラムの実行とコンテンツデータ再生の開始の位相を合わせることが可能になる。
【００６７】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段と、外部からの再生制御操作を受け付け再生制御情報に変換する入力手段と、上記入力手段からの再生制御情報と上記プログラム実行手段からの再生制御情報とを、上記プログラム管理情報に含まれる再生制御切替情報に基づき切り替えてデコード手段に送る切替手段と、を備えることを特徴としている。
【００６８】
上記の構成により、ユーザによる再生制御と同期実行プログラムによる再生制御とを切り換えることが可能となる。よって、ユーザによる再生制御操作に対するレスポンスを重視するか、プログラムの自由度を優先するかを、コンテンツ作成者が選択してコンテンツを制作することができる。なお、上記の構成において、同期実行プログラムは、出力データを生成するものに限定されない。
【００６９】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、コンテンツデータおよび同期実行プログラムの再生出力を一時停止および一時停止した箇所から再生を再開する全体制御手段を備え、上記プログラム管理情報は、コンテンツデータおよび同期実行プログラムの再生出力を一時停止後に、一時停止した箇所から再生を再開するレジューム機能が可能か否かを示すレジューム可否情報を含み、上記レジューム可否情報がレジューム機能が可能でないことを示している場合、上記全体制御手段は、一時停止した箇所からの再生開始を指示しないことを特徴としている。
【００７０】
上記の構成により、レジュームができないコンテンツでは、レジュームを行わない。よって、安定した動作が可能となるとともに、ユーザの混乱を減らすことができる。
【００７１】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、上記プログラム管理情報は、コンテンツデータおよび同期実行プログラムの再生出力を一時停止後に、一時停止した箇所から再生を再開するレジューム機能が可能か否かを示すレジューム可否情報を含み、ユーザから一時停止の指示、一時停止を要する動作の指示、一時停止した箇所から再生を再開する指示のいずれかの指示を受けたとき、上記レジューム可否情報がレジューム機能が可能でないことを示している場合、レジューム機能が可能でない旨をユーザに提示する提示手段を備えることを特徴としている。
【００７２】
上記の構成により、レジュームができないコンテンツに関して、ユーザから一時停止の指示、一時停止を要する動作の指示、一時停止した箇所から再生を再開する指示を受けたときに、その動作を実行する前に、ユーザに警告メッセージ等を提示することができる。よって、ユーザの混乱を減らすことができる。
【００７３】
なお、上記動作の指示の例としては、ユーザによるメニュー呼び出しの指示およびメニューからの復帰の指示があり、上記構成はこれらに対して特に好適である。また、提示手段による提示の例としては、ランプの点灯、警報音、表示画面へのメッセージ表示などが挙げられる。また、上記の構成において、同期実行プログラムは、出力データを生成するものに限定されない。
【００７４】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータを指定するコンテンツデータ指定情報が少なくとも含まれており、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータが、上記コンテンツデータ指定情報で指定されたコンテンツデータかどうかを検証する検証手段を備えることを特徴としている。
【００７５】
また、本発明に係る再生装置の制御方法は、デコード手段、プログラム実行手段、データ取得手段、検証手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得ステップと、上記デコード手段にて、上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータを指定するコンテンツデータ指定情報が少なくとも含まれており、上記検証手段にて、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータが、上記コンテンツデータ指定情報で指定されたコンテンツデータかどうかを検証する検証ステップを含むことを特徴としている。
【００７６】
上記の構成により、同期実行プログラムが再生しようとしたコンテンツデータが、コンテンツデータ指定情報で指定されたコンテンツデータかどうかを検証することができる。よって、現在実行中の同期実行プログラムのコンテンツデータの再生が、コンテンツデータの権利所有者に許可されたものかどうかを検証することができる。したがって、再生することが許可されていないプログラムによる再生動作を検出し、コンテンツデータが無断で再生されることを防ぐことができる。なお、同期実行プログラムは、再生出力のための出力データを生成するものに限らない。
【００７７】
加えて、プログラム管理情報のコンテンツデータ指定情報で指定（宣言）されたコンテンツデータのみを同期実行プログラムが再生できるように再生装置を構成することによって、コンテンツデータの権利所有者が同期実行プログラムを実行することなく、同期実行プログラム外のコンテンツデータ指定情報という静的な情報を確認するだけで、コンテンツデータの権利所有者がコンテンツデータの不正利用をチェックすることが可能になる。
【００７８】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報、検証用情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータの上記許可情報を、上記検証用情報を用いて検証する検証手段を備えることを特徴としている。
【００７９】
また、本発明に係る再生装置の制御方法は、デコード手段、プログラム実行手段、データ取得手段、検証手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報、検証用情報を取得するデータ取得ステップと、上記デコード手段にて、上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、上記検証手段にて、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータの上記許可情報を、上記検証用情報を用いて検証する検証ステップを含むことを特徴としている。
【００８０】
上記の構成により、コンテンツデータの再生が、プログラム管理情報に適正な許可情報が記録された同期実行プログラムによる再生であるかどうかを検証用情報を用いて検証することができる。よって、現在実行中の同期実行プログラムのコンテンツデータの再生が、コンテンツデータの権利所有者に許可されたものかどうかを検証することができる。したがって、再生することが許可されていないプログラムによる再生動作を検出し、コンテンツデータが無断で再生されることを防ぐことができる。なお、同期実行プログラムは、再生出力のための出力データを生成するものに限らない。
【００８１】
さらに、本発明に係る再生装置は、上記検証用情報は公開鍵であり、上記許可情報は上記公開鍵に対応する秘密鍵を用いて上記同期実行プログラムに固有の情報を暗号化したものであり、上記検証手段は、上記許可情報を上記検証用情報で復号し、得られた結果に基づいて検証を行うものであることが好ましい。なお、「同期実行プログラムに固有の情報」には、例えば、同期実行プログラムのコード自体や同期実行プログラムのコードにハッシュ処理を施して得られるハッシュ値が利用できる。
【００８２】
さらに、本発明に係る再生装置は、上記プログラム実行手段は、上記検証手段の検証の結果、許可情報が適正であると確認されなかった場合、上記同期実行プログラムの実行を停止することを特徴としている。
【００８３】
上記の構成により、さらに、再生することが許可されていないプログラムが、意図的あるいはプログラムのバグによりコンテンツデータを無断で再生してしまうことを防ぐことができる。
【００８４】
なお、上記再生装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記の各手段、特に、上記同期制御手段および上記同期処理手段として動作させることにより上記再生装置をコンピュータにて実現させる再生装置の制御プログラム、および、その制御プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【００８５】
また、本発明に係るコンテンツ記録媒体は、上記の再生装置に供給可能であるように、コンテンツデータ、同期実行プログラム、同期タイミング情報のうちの少なくとも一つが記録されていることを特徴としている。
【００８６】
さらに、本発明に係るコンテンツ記録媒体は、上記の再生装置に供給可能であるように、コンテンツデータ、同期タイミング情報が記録されており、上記同期タイミング情報が上記コンテンツデータと分離されていることを特徴としている。
【００８７】
上記の構成により、コンテンツデータ（ビデオデータ）と同期タイミング情報とを別々に管理することで、１個のコンテンツデータを複数の同期実行プログラムで共有することが容易になる。また、同期タイミング情報と同期実行プログラムを別のファイルとして管理することで、プログラム作成後にビデオデータを編集した場合でも、同期実行プログラムを書き換える必要がない。
【００８８】
さらに、本発明に係るコンテンツ記録媒体は、上記の再生装置に供給可能であるように、同期実行プログラム、同期タイミング情報が記録されており、上記同期タイミング情報が上記同期実行プログラムの近傍に記録されていることを特徴としている。
【００８９】
上記の構成により、同期実行プログラムの実行にあたってのこれらのデータの読み出しの際のピックアップの移動距離が小さくて済む。よって、再生開始までの待ち時間が短縮されるとともに、ビデオ再生の途切れの防止、電力消費の抑制、騒音の抑制が可能となる。
【００９０】
さらに、本発明に係るコンテンツ記録媒体は、上記の再生装置に供給可能であるように、同期実行プログラム、同期タイミング情報が記録されており、上記同期タイミング情報が上記同期実行プログラムと同一ファイルに格納されていることを特徴としている。
【００９１】
上記の構成により、読み出すファイル数が減少するため、読み出しの際のオーバーヘッドが減少する。
【００９２】
また、本発明に係るコンテンツ記録媒体は、上記の再生装置に供給可能であるように、コンテンツデータ、同期実行プログラム、プログラム管理情報のうちの少なくとも一つが記録されていることを特徴としている。
【００９３】
さらに、本発明に係るコンテンツ記録媒体は、上記の再生装置に供給可能であるように、コンテンツデータ、プログラム管理情報、検証用情報が少なくとも記録され、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、上記検証用情報は、上記コンテンツデータに含まれていることを特徴としている。
【００９４】
さらに、本発明に係るコンテンツ記録媒体は、上記検証用情報が、コンテンツデータ中に所定の間隔で多重化されていることを特徴としている。
【００９５】
上記の構成により、さらに、検証用情報読み出しに伴うピックアップの移動が発生しないため、ビデオ再生までの待ち時間が短縮される。なお、上記コンテンツ記録媒体には、コンテンツデータ、プログラム管理情報、検証用情報とともに、同期実行プログラムが記録されていてもよい。
【００９６】
さらに、本発明に係るコンテンツ記録媒体は、上記検証用情報は、コンテンツデータの区間によって異なることを特徴としている。
【００９７】
上記の構成により、さらに、必要な区間にのみプログラムに対して再生許可を与えることが可能になる。
【００９８】
また、本発明に係るデータ構造は、再生装置にて再生されるコンテンツデータを格納するコンテンツデータ格納領域と、再生装置にて上記コンテンツデータの再生と同期して実行される同期実行プログラムを格納する同期実行プログラム格納領域と、再生装置が上記コンテンツデータを再生するためのクロック信号に基づいて、上記同期実行プログラムが実行されるタイミングを指定した同期タイミング情報を格納する同期タイミング情報格納領域とを含むことを特徴としている。
【００９９】
上記の構成により、これらのデータを格納したコンテンツ記録媒体を実現できため、これらのデータを再生装置に簡便に供給することが可能となる。
【０１００】
また、本発明に係るデータ構造は、再生装置にて再生されるコンテンツデータを格納するコンテンツデータ格納領域と、再生装置にて上記コンテンツデータの再生と同期して実行される同期実行プログラムを格納する同期実行プログラム格納領域と、同時に再生出力を行うコンテンツデータおよび同期実行プログラムをそれぞれ指定するプログラム指定情報およびコンテンツデータ指定情報を含むプログラム管理情報を格納するプログラム管理情報格納領域とを含むことを特徴としている。
【０１０１】
上記の構成により、これらのデータを格納したコンテンツ記録媒体を実現できため、これらのデータを再生装置に簡便に供給することが可能となる。
【０１０２】
さらに、本発明に係るデータ構造は、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、上記コンテンツデータには、上記許可情報を検証するための検証用情報が含まれていることを特徴としている。
【０１０３】
上記の構成により、さらに、これらのデータを格納したコンテンツ記録媒体を実現できため、これらのデータを再生装置に簡便に供給することが可能となる。
【発明の効果】
【０１０４】
以上のように、本発明に係る再生装置は、コンテンツデータ、同期タイミング情報を取得するデータ取得手段と、クロック信号を生成するクロック生成手段と、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで同期処理手段へ同期制御信号を送信する同期制御手段と、上記同期制御手段より受信した同期制御信号に従って、処理を行う同期処理手段とを備えた構成である。
【０１０５】
また、本発明に係る再生装置の制御方法は、データ取得手段、デコード手段、同期処理手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期タイミング情報を取得するデータ取得ステップと、上記デコード手段にて、クロック信号に従ってコンテンツデータを再生出力のための再生データに変換するとともに、該クロック信号に従って上記同期タイミング情報に含まれるタイミング指定情報によって指定されたタイミングで上記同期処理手段へ同期制御信号を送信するデコードステップと、  上記同期処理手段にて、受信した上記同期制御信号に従って、処理を行う同期処理ステップとを含む方法である。
【０１０６】
これにより、コンテンツデータとは並行してコンテンツデータの再生処理に同期した処理を作成したり、コンテンツデータ供給後にコンテンツデータ再生処理に同期した処理を追加したりすることが容易になる。また、ストリーム同期処理手段からデコード手段の再生クロックを見に行く必要がないため、同期のために同期処理手段に負担がかからない。それゆえ、柔軟なコンテンツ作成が可能になるという効果を奏する。
【０１０７】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラムを取得するデータ取得手段と、上記同期実行プログラムを実行するプログラム実行手段と、クロック信号を生成するクロック生成手段と、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記クロック信号に従って、所定のタイミングで上記プログラム実行手段へ同期制御信号を送信する同期制御手段と、外部からの再生制御操作を受け付け再生制御情報に変換する入力手段とを備え、上記デコード手段は、上記入力手段からの再生制御情報で制御され、上記プログラム実行手段は  少なくとも上記同期制御手段より受信した同期制御信号に従って同期実行プログラムを実行するものである構成である。
【０１０８】
また、本発明に係る再生装置の制御方法は、データ取得手段、プログラム実行手段、クロック生成手段、デコード手段、同期制御手段、入力手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期実行プログラムを取得するデータ取得ステップと、上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップと、上記クロック生成手段にて、クロック信号を生成するクロック生成ステップと、上記デコード手段にて、上記クロック信号に従って上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、上記同期制御手段にて、上記クロック信号に従って、所定のタイミングで上記プログラム実行手段へ同期制御信号を送信する同期制御ステップと、上記入力手段にて、外部からの再生制御操作を受け付け再生制御情報に変換する入力ステップとを含み、上記デコードステップにおいて、上記デコード手段が上記入力手段からの再生制御情報に従って動作し、上記プログラム実行ステップにおいて、上記プログラム実行手段が少なくとも上記同期制御手段より受信した同期制御信号に従って同期実行プログラムを実行する構成である。
【０１０９】
これにより、ユーザによる再生制御操作に対するレスポンスを高めることが可能になるという効果を奏する。
【０１１０】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、上記プログラム管理情報には、同時に再生出力を行うコンテンツデータおよび同期実行プログラムをそれぞれ指定するプログラム指定情報およびコンテンツデータ指定情報が含まれており、上記プログラム指定情報で指定された同期実行プログラムの実行を上記プログラム実行手段に指示するとともに、上記コンテンツ指定情報で指定されたコンテンツデータの変換を上記デコード手段に指示する全体制御手段を備える構成である。
【０１１１】
また、本発明に係る再生装置の制御方法は、デコード手段、プログラム実行手段、データ取得手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得ステップと、デコード手段にて上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、プログラム実行手段にて上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、上記プログラム管理情報には、同時に再生出力を行うコンテンツデータおよび同期実行プログラムをそれぞれ指定するプログラム指定情報およびコンテンツデータ指定情報が含まれており、上記プログラム指定情報で指定された同期実行プログラムの実行を上記プログラム実行手段に指示するとともに、上記コンテンツ指定情報で指定されたコンテンツデータの変換を上記デコード手段に指示または上記コンテンツ指定情報で指定されたコンテンツデータの取得を上記データ取得手段に指示する再生実行指示ステップを含む方法である。
【０１１２】
これにより、同期実行プログラムの実行と独立して、コンテンツデータの記録媒体からの読み出し、デコード、再生の開始が可能になり、コンテンツデータの再生開始までの時間を短縮することができるという効果を奏する。
【０１１３】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータを指定するコンテンツデータ指定情報が少なくとも含まれており、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータが、上記コンテンツデータ指定情報で指定されたコンテンツデータかどうかを検証する検証手段を備える構成である。
【０１１４】
また、本発明に係る再生装置の制御方法は、デコード手段、プログラム実行手段、データ取得手段、検証手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報を取得するデータ取得ステップと、上記デコード手段にて、上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータを指定するコンテンツデータ指定情報が少なくとも含まれており、上記検証手段にて、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータが、上記コンテンツデータ指定情報で指定されたコンテンツデータかどうかを検証する検証ステップを含む方法である。
【０１１５】
これにより、現在実行中の同期実行プログラムのコンテンツデータの再生が、コンテンツデータの権利所有者に許可されたものかどうかを検証することができる。したがって、再生することが許可されていないプログラムによる再生動作を検出し、コンテンツデータが無断で再生されることを防ぐことができるという効果を奏する。
【０１１６】
また、本発明に係る再生装置は、コンテンツデータ、同期実行プログラム、プログラム管理情報、検証用情報を取得するデータ取得手段と、上記コンテンツデータを再生出力のための再生データに変換するデコード手段と、上記同期実行プログラムを実行するプログラム実行手段とを備え、さらに、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータの上記許可情報を、上記検証用情報を用いて検証する検証手段を備える構成である。
【０１１７】
また、本発明に係る再生装置の制御方法は、デコード手段、プログラム実行手段、データ取得手段、検証手段を備えた再生装置の制御方法であって、上記データ取得手段にて、コンテンツデータ、同期実行プログラム、プログラム管理情報、検証用情報を取得するデータ取得ステップと、上記デコード手段にて、上記コンテンツデータを再生出力のための再生データに変換するデコードステップと、上記プログラム実行手段にて、上記同期実行プログラムを実行するプログラム実行ステップとを含み、さらに、上記プログラム管理情報には、同期実行プログラムと同時に再生出力を行うコンテンツデータの使用を許可する許可情報が少なくとも含まれており、上記検証手段にて、上記同期実行プログラムがデコード手段に対してデコードを指示するコンテンツデータの上記許可情報を、上記検証用情報を用いて検証する検証ステップを含む方法である。
【０１１８】
これにより、現在実行中の同期実行プログラムのコンテンツデータの再生が、コンテンツデータの権利所有者に許可されたものかどうかを検証することができる。したがって、再生することが許可されていないプログラムによる再生動作を検出し、コンテンツデータが無断で再生されることを防ぐことができるという効果を奏する。
【発明を実施するための最良の形態】
【０１１９】
〔実施の形態１〕
本発明の一実施の形態について図１から図１１に基づいて説明すれば、以下のとおりである。なお、本実施の形態では、ビデオディスクプレーヤについて説明するが、本発明はこれに限定されず、ハードウェアデコーダを搭載したＰＣ（Personal Computer）等にも適用できる。
【０１２０】
＜システム構成＞
図１は、本実施の形態に係るビデオディスクプレーヤ１の構成の概略を示す機能ブロック図である。
【０１２１】
ビデオディスクプレーヤ１（再生装置）は、光ディスク２に記録されているＡＶデータを再生する装置である。図１に示すように、ビデオディスクプレーヤ１は、プログラム実行部１０、ビデオ再生部２０、合成部３０、出力制御部４０、ディスク読み出し部５０を備えて構成されている。
【０１２２】
ディスク読み出し部５０（データ取得手段、読み出し手段）は、光ディスク２（コンテンツ記録媒体）からビデオデータ（コンテンツデータ）、プログラム（同期実行プログラム）、同期タイミング情報を読み出す。そして、ディスク読み出し部５０は、プログラムをプログラム実行部１０に、ビデオデータおよび後述する同期タイミング情報をビデオ再生部２０にそれぞれ送る。
【０１２３】
プログラム実行部１０は、プログラムを実行する。具体的には、プログラム実行部１０は、プログラムを実行することによって、ビデオ再生部２０、ディスク読み出し部５０、および出力制御部４０に対して制御を行うとともに、出力制御部４０に対して、プログラム実行によって生成したビットマップデータを送る。
【０１２４】
ビデオ再生部２０は、ディスク読み出し部５０から送られるビデオデータをデコードし、非圧縮ビデオデータを合成部３０に対して送る。また、ディスク読み出し部５０から送られる同期タイミング情報を基に、プログラム実行部１０および出力制御部４０に対する制御を行う。
【０１２５】
出力制御部４０は、プログラム実行部１０から送られるビットマップデータを保持し、このビットマップデータをビデオ再生部２０およびプログラム実行部１０からの制御に従って合成部３０に出力する。
【０１２６】
合成部３０は、出力制御部４０から送られるビットマップデータおよびビデオ再生部２０から送られる非圧縮ビデオデータを合成し、合成映像を出力する。
【０１２７】
なお、プログラム実行部１０および出力制御部４０より同期処理部（同期処理手段）６０が構成される。すなわち、同期処理部６０は、プログラム実行部１０にて、ビデオ再生部２０より受信した同期制御信号に従って、プログラムを実行することによりビットマップデータ（出力データ、第２の出力データ）を生成するとともに、出力制御部４０にて、ビットマップデータをビデオ再生部２０より受信した同期制御信号に従って出力する。
【０１２８】
＜プログラム実行部＞
図２は、上記プログラム実行部１０の詳細な構成を示す機能ブロック図である。
【０１２９】
上記のように、プログラム実行部１０は、同期制御部２２より受信した同期制御信号に従ってプログラムを実行する。また、プログラム実行部１０は、同期制御部２２より受信した同期制御信号に含まれるフィールドaction_idで指定されたプログラムを実行する。特に、実施の形態では、プログラム実行部１０は、ビデオ画像に重畳する画像データを生成するプログラムを実行する。
【０１３０】
図２に示すように、プログラム実行部１０は、メモリ１１、ＣＰＵ１２、ビデオ再生制御部１３、割り込み制御部１４で構成される。
【０１３１】
メモリ１１は、ディスク読み出し部５０から入力されたプログラムを一旦格納する。ＣＰＵ１２は、メモリ１１に格納されたプログラムを読み出し、そのプログラムを実行する。ＣＰＵ１２は、プログラムの内容に応じて、ビデオ再生制御部１３に対して指令を送ったり、出力制御部４０に対してビットマップデータを送る。ビデオ再生制御部１３は、実行されたプログラムに基づきビデオ再生部２０に対して制御信号を送る。制御信号としては、具体的には、再生開始・一時停止のような再生制御や、現在の再生時刻取得などの状態取得を目的とするものがある。割り込み制御部１４は、プログラム実行部１０の外からの割り込みを受け取り、それをＣＰＵ１２に送る。ＣＰＵ１２は、割り込み制御部１４より受けた割り込みに応じて割り込みハンドラを起動する。なお、割り込み元によって与えられる各種情報は、割り込み制御部１４内のレジスタ（図示せず）に格納される。
【０１３２】
ここで、割り込みハンドラとは、Ｊａｖａ（登録商標）においてはEventLisnerとして登録されたオブジェクトのメソッドに相当する。また、他のプログラム言語においてコールバック関数と呼ばれるものに相当する。
【０１３３】
＜出力制御部＞
図３は、上記出力制御部４０の詳細な構成を示す機能ブロック図である。
【０１３４】
図３に示すように、出力制御部４０は、入力側バッファ切替部４１、表示バッファメモリ４２Ａ（＃１）・４２Ｂ（＃２）、出力側バッファ切替部４３で構成される。
【０１３５】
入力側バッファ切替部４１は、プログラム実行部１０からのビットマップデータを受け取り、プログラム実行部１０の制御により、表示バッファメモリ４２Ａ・４２Ｂのいずれかに送る。出力側バッファ切替部４３は、ビデオ再生部２０からの制御に基づき、表示バッファメモリ４２Ａ・４２Ｂの内容のいずれかを合成部３０に出力する。
【０１３６】
表示バッファメモリ４２Ａおよび表示バッファメモリ４２Ｂは、ビットマップデータを格納するためのバッファメモリであり、前述のように入力側バッファ切替部４１と出力側バッファ切替部４３から制御を受ける。
【０１３７】
＜ビデオ再生部＞
図４は、上記ビデオ再生部２０の詳細な構成を示す機能ブロック図である。
【０１３８】
図４に示すように、ビデオ再生部２０は、メモリ２１、同期制御部２２、クロック２３、デコーダ２４、インタフェース部２５で構成される。
【０１３９】
デコーダ２４（デコード手段）は、クロック信号に従ってビデオデータを再生出力のための非圧縮ビデオデータに変換する。具体的には、デコーダ２４は、ディスク読み出し部５０がインタフェース部２５から送られる命令中で指定され、光ディスク２から読み出したビデオデータを、デコードして、非圧縮ビデオデータ（ビデオ画像）を出力する。
【０１４０】
クロック（クロック生成手段）２３は、デコードおよび非圧縮ビデオデータの出力のタイミングを司る。すなわち、クロック２３は、クロック信号を生成する。なお、本実施の形態では、光ディスク２に記録されているビデオデータのフォーマットは、ISO/IEC 13818-1のProgram Streamであるとする。この場合、クロック２３の値はそのＳＴＣ（System Time Clock）に相当する。
【０１４１】
また、メモリ２１は、ディスク読み出し部５０より入力された同期タイミング情報を格納する。
【０１４２】
そして、同期制御部（同期制御手段）２２は、メモリ２１上の同期タイミング情報とクロック２３の値とを常時比較し、それらが一致した場合、同期タイミング情報で指定された処理ブロック（プログラム実行部１０あるいは出力制御部４０）に対して、指定された制御を行う。具体的には、同期制御部２２は、クロック信号に従って同期タイミング情報に含まれるフィールドtiming（タイミング指定情報）で指定されたタイミングでプログラム実行部１０（プログラム実行手段、出力生成手段）へ同期制御信号を送信する。また、同期制御部２２は、フィールドtimingで指定されたタイミングでプログラム実行部１０へ同期制御信号を送信する際、当該フィールドtimingに対応するフィールドaction_idを同期制御信号に含める。なお、本実施の形態においては、同期制御部２２によるデコーダ２４の状態の監視は必須ではない。
【０１４３】
同期タイミング情報で指定された処理ブロックがプログラム実行部１０の場合、同期制御部２２は、割り込み制御部１４に対して割り込みをかけ、割り込み制御部１４中のレジスタに対して情報をセットする。
【０１４４】
これにより、プログラム実行に負担をかけることなく、ビデオ再生時間軸上の任意タイミングでの処理の起動が可能となる。なぜなら、ハードウェアによる割り込み機構を用いているため、従来技術のようにプログラム内でビデオ再生部２０のクロックを参照するためのポーリング処理を行う必要がなく、ポーリング処理によるオーバーヘッドが無くなるためである。
【０１４５】
一方、同期タイミング情報で指定された処理ブロックが出力制御部４０の場合、出力側バッファ切替部４３に対して指令を出し、表示バッファメモリ４２Ａ・４２Ｂの切替を行う。これにより、プログラムによる映像出力をフレーム精度で切り替えることが可能となる。なぜなら、表示バッファメモリ４２Ａ・４２Ｂは、ハードウェアによる切り替えを行うため、従来技術のようにプログラムで表示のＯＮ／ＯＦＦを制御するのに比べて、関数呼び出しやガーベジコレクションのようなプログラム実行に伴うオーバーヘッドが発生しないためである。
【０１４６】
また、ビデオ再生部２０では、インタフェース部２５により、プログラム実行部１０のビデオ再生制御部１３から送られる制御信号を受け取り、その制御信号に従ってデコーダ２４を制御したり、現在の状態をビデオ再生制御部１３へ送る。
【０１４７】
＜同期タイミング情報＞
ここで、図５、図６を参照しながら、光ディスク２に記録されているデータのデータ構造について説明する。
【０１４８】
光ディスク２には、ビデオディスクプレーヤ１に供給可能であるように、ビデオデータ、プログラム、同期タイミング情報が記録されている。
【０１４９】
図５（ａ）（ｂ）は、同期タイミング情報のデータ構造を示す説明図である。図５（ａ）に示すように、同期タイミング情報は、エントリ数を示すnumber_of_sync_infoとエントリである０個以上のsync_info()で構成される。図５（ｂ）に示すように、エントリsync_info()は、timing，target，action_idの３個のフィールドで構成される。すなわち、同期タイミング情報は、フィールドtiming（タイミング指定情報）とともにフィールドaction_id（アクション指定情報）を少なくとも含む。
【０１５０】
フィールドtimingは、プログラム実行部１０あるいは出力制御部４０に対して指令を与えるタイミングを示す。フィールドtimingは、同期制御部２２において、クロック２３との比較に用いられる。
【０１５１】
フィールドtargetは、指令を与える対象を示す。フィールドtargetでは、プログラム実行部１０および出力制御部４０のいずれかが指定される。
【０１５２】
フィールドaction_idは、指令内容を示す。なお、フィールドaction_idの詳細については後述する。
【０１５３】
このように、同期タイミング情報において指令を与える対象を示すフィールドtargetを設けることで、複数の処理ブロックに指令を与える場合にも対応が可能である。また、指令内容を示すフィールドaction_idを設けることにより、同一処理ブロックに対して複数の指令を切り替えて出すことが可能である。
【０１５４】
＜データ配置とファイル構成＞
図６は、光ディスク２におけるデータ配置を示す説明図である。
【０１５５】
図６に示すように、光ディスク２は、管理情報領域６１とビデオデータ領域（コンテンツデータ格納領域）６２とで構成される。管理情報領域６１は、プログラムが格納されたプログラム格納領域（同期プログラム格納領域）６１Ａと、同期タイミング情報が格納された同期タイミング情報格納領域６１Ｂとからなる。また、ビデオデータ領域６２には、ビデオデータが格納されている。なお、個々の同期タイミング情報、プログラム、ビデオデータはファイルとして管理される。
【０１５６】
特に、本実施の形態では、同期タイミング情報がビデオデータと分離されている。また、同期タイミング情報がプログラムの近傍に記録されている。また、同期タイミング情報がプログラムと同一ファイルに格納されている。
【０１５７】
このように、ビデオデータと同期タイミング情報を別々に管理することで、１個のビデオデータを複数のプログラムで共有することが容易になる。また、同期タイミング情報とプログラムを別のファイルとして管理することで、プログラム作成後にビデオデータを編集した場合でも、プログラムを書き換える必要がない。
【０１５８】
なお、ビデオデータ、プログラム、同期タイミング情報のビデオディスクプレーヤ１への供給は、種々の形態によって可能である。例えば、ビデオディスクプレーヤ１は、ビデオデータ、プログラム、同期タイミング情報のすべてを記録した光ディスク２から読み出してもよい。また、ビデオデータ、プログラム、同期タイミング情報のいずれかを通信部（通信手段）（図示せず）によりネットワーク経由で取得して、光ディスク２から読み出した他のデータと組み合わせて再生してもよい。さらに、光ディスク２に記録されているプログラム（ビデオデータ、同期タイミング情報についても同様）の一部あるいは全部を、ネットワーク経由で取得したプログラムに置き換えて再生してもよい。
【０１５９】
例えば、図１において、プログラムおよび同期タイミング情報の取得先をネットワーク経由に変更することが考えられる。このような構成をとることで、光ディスク２によってユーザが提供したビデオデータに対して、光ディスク２の制作者がネットワークを通じて後から付加価値を付けることができる。プログラムおよび同期タイミング情報はビデオデータに比べてデータ量がはるかに小さいため、このようなやり方は後から付加価値を付ける際に時間や料金等の通信コストの面で有利である。
【０１６０】
＜再生処理＞
つづいて、図７を参照しながら、ビデオディスクプレーヤ１による再生処理について説明する。
【０１６１】
図７は、ビデオディスクプレーヤ１による再生処理の全体の流れを示すフローチャートである。
【０１６２】
まず、電源投入後、ビデオディスクプレーヤ１は、光ディスク２からのファイルシステム情報（図示せず）等の読み込み、および各処理部の初期化を行う。また、ディスク読み出し部５０は、読み出したファイルシステム情報を基に、光ディスク２上の自動起動プログラムの位置を取得する（Ｓ１１）。なお、自動起動プログラムについてはファイル名で識別できるようになっている。
【０１６３】
なお、自動起動プログラムは、ビデオディスクプレーヤ１に光ディスク２を装着したとき、あるいはビデオディスクプレーヤ１の電源を投入したときに、最初に光ディスク２から起動されるプログラムである。自動起動プログラムの内容は、光ディスク２の制作者の自由であるが、通常は光ディスク２中の複数のコンテンツ選択用のメニュー表示プログラムを用いる。自動起動プログラムを格納したファイルのファイル名には、あらかじめ特定の名称を与えるように決めておけば、ディスク読み出し部５０はそのファイル名を頼りに自動起動プログラムの位置を取得できる。
【０１６４】
次に、ディスク読み出し部５０は、プログラムの位置情報を基に、プログラムを読み込み、プログラム実行部１０に送る（Ｓ１２）。プログラム実行部１０は、受け取ったプログラムを実行する（Ｓ１３）。このとき、ディスク読み出し部５０は、光ディスク２上の次に実行すべきプログラムの位置を取得する（Ｓ１４）。
【０１６５】
次に、図８を参照しながら、プログラム実行部１０がプログラム実行を行うステップであるステップＳ１３について説明する。
【０１６６】
まず、プログラム実行部１０は、ビデオ再生部２０からの割り込みを扱うための、割り込みハンドラを登録する（Ｓ２１）。なお、割り込みハンドラについては後述する。次に、プログラム実行部１０は、ビデオ再生部２０に対し、再生対象のビデオデータファイルを指定し、再生開始を指示する（Ｓ２２）。最後に、ビデオ再生との同期が必要ない処理を実行する（Ｓ２３）。
【０１６７】
ここで、割り込みハンドラの登録とは、Ｊａｖａ（登録商標）においては、ビデオ再生に関するイベントに対応するオブジェクトへのEventLisnerの登録で実現される。
【０１６８】
＜プログラム実行の例＞
つづいて、図９から図１１を参照しながら、ビデオディスクプレーヤ１におけるプログラム実行の具体例を説明する。ここでは、ビデオデータ再生中の時刻Ｔ２からＴ４の間、静止画を表示し、時刻Ｔ４からＴ５の間、アニメーションを表示するプログラムを例として挙げる。
【０１６９】
図９に示すフローチャートを用いて、本具体例における割り込みハンドラの設定について説明する。
【０１７０】
まず、ＣＰＵ１２は、割り込みハンドラ起動後、割り込み制御部１４中のレジスタを参照して、ビデオ再生部２０によってセットされたフィールドaction_idの値を取得し（Ｓ３１）、判定する（Ｓ３２）。
【０１７１】
ステップＳ３２において、フィールドaction_idが“Ａ１”の場合、ＣＰＵ１２は静止画を生成し表示メモリバッファ４２Ａに書き込む処理を呼び出す（Ｓ３３）。フィールドaction_idが“Ａ２”の場合、ＣＰＵ１２はアニメーションの生成を開始し、生成したビットマップデータをメモリバッファ４２Ｂに書き込む処理を呼び出す（Ｓ３４）。フィールドaction_idが“Ａ３”の場合、ＣＰＵ１２はアニメーションの生成を終了する処理を呼び出す（Ｓ３５）。
【０１７２】
図１０は、本具体例において用いる同期タイミング情報を示す。なお、フィールドaction_idの列における“Ａ１”，“Ａ２”，“Ａ３”は、図９における処理に対応する。また、図１１に、本具体例におけるタイミングチャートを示す。横軸はビデオデータ再生の時間軸を表す。
【０１７３】
まず、時刻Ｔ１に起動した静止画表示の処理は、時刻ｔ１に表示バッファメモリ４２Ａへの書き込みが終了して、表示準備が完了する。次に、時刻Ｔ２に、合成部３０に送る画像を表示バッファメモリ４２Ａ（＃１）のものに切り替えて、静止画を表示する。
【０１７４】
ここでのポイントは、静止画の表示バッファメモリ４２Ａへの書き込みに要する時間ｄ１（＝ｔ１−Ｔ１）よりも、Ｔ２−Ｔ１を大きくしておくことである。これにより、指定した時刻Ｔ２に、静止画を表示することが可能となる。
【０１７５】
同様に、時刻Ｔ３に起動したアニメーション表示開始の処理は、時刻ｔ２に表示バッファメモリ４２Ｂにアニメーションの最初のビットマップデータの書き込みが完了する。次に、時刻Ｔ４に、合成部３０に送る画像を表示バッファメモリ４２Ｂ（＃２）のものに切り替えて、アニメーションを表示する。
【０１７６】
ここでのポイントは、アニメーションの最初のビットマップデータの表示バッファメモリ４２Ｂへの書き込みに要する時間ｄ２（＝ｔ２−Ｔ３）よりも、Ｔ４−Ｔ３を大きくしておくことである。これにより、指定した時刻Ｔ４に、静止画からアニメーションへの映像の切替が可能となる。
【０１７７】
次に、本実施の形態における各種データを光ディスク２から読み込むタイミングについて説明する。ビデオデータは、データ量が大きいため、デコード前にまとめて光ディスク２から読み出すことはメモリ量および読み出し時間の点で現実的ではない。そのため、ビデオデータは、デコードと読み出しを並行して行う。
【０１７８】
一方、プログラムおよび同期タイミング情報は、データ量が小さく、まとめてメモリ２１やメモリ１１に読み出してもメモリ量および読み出し時間の点でも問題がない。よって、ビデオデータ読み込み中のディスク読み出し部５０のピックアップ（図示せず）の移動によるビデオ再生の途切れや、電力消費の増大、騒音の発生を避けるため、プログラムおよび同期タイミング情報は、ビデオデータ読み込み開始前にまとめて読み込む。本実施の形態では、プログラムと同期タイミング情報を光ディスク２上の近傍に配置しているため、読み出しの際のピックアップの移動距離が小さくて済み、再生開始までの待ち時間を縮小するとともに、ビデオ再生の途切れの防止、電力消費の抑制、騒音の抑制が可能となる。
【０１７９】
次に、本具体例におけるプログラムの構成について説明する。本具体例では、メイン処理であるビデオ再生処理と、静止画表示処理およびアニメーション表示処理という２種類のサブ処理とで構成されている。これらは、１個のプログラムにまとめてもよいし、１個のメインプログラムと２個のサブプログラムとしてもよい。
【０１８０】
複数のプログラムで構成する場合、各プログラムを別ファイルにすることが考えられる。この場合、ディスク読み出し部５０の負担を小さくするため、１個のファイルにまとめることが望ましい。そのような例として、Ｊａｖａ（登録商標）言語では、その用途にＪＡＲ（Java ARchive）ファイルというファイルフォーマットが定義されている。
【０１８１】
以上のように、本実施の形態のビデオディスクプレーヤ１は、プログラム実行部１０、ビデオ再生部２０、プログラム実行部１０の出力（ビットマップデータ）とビデオ再生部２０の出力（非圧縮ビデオデータ）とを合成する合成部３０を備え、同期タイミング情報に従って、ビデオ再生部２０のクロックに基づき、プログラム実行部１０の出力を制御する。これにより、プログラム実行部１０の処理に負担をかけることなく、かつフレーム単位の精度で、ビデオ再生部２０の生成する出力すなわちビデオデータの指定のタイミングでの出力開始・終了を実現できる。したがって、コンピュータプログラム実行とビデオ再生を同時に行う場合に、プログラムによって生成したグラフィックスやアニメーションなどをビデオ再生の時間軸上の特定のビデオフレームから表示開始したり表示終了することが可能となる。
【０１８２】
さらに、上記ビデオディスクプレーヤ１では、同期タイミング情報が、ビデオ再生部２０からの出力を生成するための情報（ビデオデータ）とは分離されている。これにより、ビデオ再生部２０からの出力を生成するための情報に対して、複数バージョンの同期タイミング情報を適用することが可能である。
【０１８３】
さらに、上記ビデオディスクプレーヤ１では、同期タイミング情報には、ビデオ再生部２０の時間軸上の時刻を含み、制御対象と制御内容のうちの少なくとも一方を含む。これにより、複数の処理ブロックに指令を与える場合にも対応でき、同一処理ブロックに対して複数の指令を切り替えることが可能となる。
【０１８４】
〔実施の形態２〕
本発明の他の実施の形態について図１２から図１７に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。また、実施の形態１において定義した用語については、特に断らない限り本実施の形態においてもその定義に則って用いるものとする。
【０１８５】
本実施の形態は、ビデオデータの任意位置から再生を開始することを考慮した、実施の形態１の変形例である。よって、実施の形態１と共通する部分が多いため、実施の形態１と相違する部分に絞って説明する。
【０１８６】
＜システム構成＞
実施の形態１と同一であるため、説明を省略する。
【０１８７】
＜プログラム実行部＞
実施の形態１と同一であるため、説明を省略する。
【０１８８】
＜出力制御部＞
実施の形態１と同一であるため、説明を省略する。
【０１８９】
＜ビデオ再生部＞
実施の形態１とほぼ同一であるが、本実施の形態では、ビデオ再生時に同期タイミング情報中のフィールドmerged_flag（後述）の値が“１”に設定されたエントリsync_info()を無視する点が異なる。
【０１９０】
また、コンテンツデータの途中から再生を開始する際、同期制御部２２は、再生を開始する時刻よりも前の時刻を示すフィールドtiming（タイミング指定情報）を含む同期タイミング情報に従って、タイミング指定情報が前のものから順にプログラム実行部１０へ同期制御信号を送信する。
【０１９１】
また、コンテンツデータの途中から再生を開始する際、同期制御部２２は、他の同期タイミング情報に依存しないことを示す依存情報（後述するフィールドindependent_flag）を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順にプログラム実行部１０へ同期制御信号を送信するものである。なお、そのために、同期タイミング情報は、フィールドtimingとともに、他の同期タイミング情報との依存関係を示す依存情報を含む。
【０１９２】
また、コンテンツデータの途中から再生を開始する際、同期制御部２２は、複数の同期実行プログラムを実行した結果と同一の結果が得られる統合同期実行プログラムであることを示す統合同期実行プログラム識別情報（フィールドmerged_flag）を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順にプログラム実行部１０へ同期制御信号を送信する。なお、そのため、ディスク読み出し部５０は、複数の同期実行プログラムを実行した結果と同一の結果が得られる統合同期実行プログラムを取得する。この統合同期実行プログラムは、対応する同期実行プログラムと同じ光ディスク２に記録されていることが好ましい。また、同期タイミング情報は、タイミング指定情報とともに、実行すべき同期実行プログラムを示すフィールドaction_id（アクション指定情報）と、フィールドaction_idで示された同期実行プログラムが統合同期実行プログラムであるか否かを示す統合同期実行プログラム識別情報（フィールドmerged_flag）を含む。
【０１９３】
＜同期タイミング情報＞
ここで、図１２を参照しながら、本実施の形態での同期タイミング情報のデータ構造について説明する。図１２（ａ）（ｂ）は、同期タイミング情報のデータ構造を示す説明図である。
【０１９４】
図１２（ａ）に示すように、同期タイミング情報は、エントリ数を示すnumber_of_sync_infoとエントリである０個以上のsync_info()で構成される。図１２（ｂ）に示すように、エントリsync_info()は、timing，target，action_id、independent_flag，merged_flagの５個のフィールドで構成される。このうち、フィールドtiming（タイミング指定情報）、フィールドtarget、フィールドaction_id（アクション指定情報）については、実施の形態１と同一であるため、説明を省略する。なお、同期タイミング中の各sync_info()はフィールドtimingの値の順に並べられていることが好ましい。
【０１９５】
フィールドindependent_flagは、このフラグが含まれるsync_info()の処理および処理結果が、直前までのすべてのsync_info()のフィールドaction_idに対応する処理の結果に依存するか否かを示すフラグであり、依存する場合には“０”が、依存しない場合には“１”がセットされる。
【０１９６】
ここで、図１３（ａ）〜（ｄ）は、フィールドindependent_flagの設定例を示す説明図である。
【０１９７】
例えば、1番目のsync_info()であるsync_info(1)のaction_idに対応する処理がグラフィックスＡを描画し、2番目のsync_info()であるsync_info(2)のaction_idに対応する処理がグラフィックスＢを追加描画する場合(図１３（ａ）)、sync_info(2)のaction_idに対応する処理の結果はsync_info(1)のaction_idに対応する処理結果に依存するため、sync_info(2)のindependent_flagに“０”をセットする(図１３（ｂ）)。
【０１９８】
一方、sync_info(2)のaction_idに対応する処理が一旦グラフィックスＡを消去し、新たにグラフィックスＢを描画する場合（図１３（ｃ）)、sync_info(2)のaction_idに対応する処理結果は、sync_info(1)のaction_idに対応する処理結果に依存しないため、sync_info(2)のindependent_flagに“１”をセットする（図１３（ｄ））。なお、以後ｉ番目のsync_info()をsync_info(i)と表現する。
【０１９９】
次に、フィールドmerged_flagは、このフラグが含まれるsync_info()の処理結果が、直前までのすべてのsync_info()の処理結果をすべて反映したものであるか否かを示すフラグであり、すべて反映したものであれば“１”が、そうでなければ“０”がセットされる。
【０２００】
ここで、図１４（ａ）（ｂ）は、フィールドmerged_flagの設定例を示す説明図である。
【０２０１】
例えば、図１４（ａ）に示すように、sync_info(1)のaction_idに対応する処理がグラフィックスＡを描画し、sync_info(2)のaction_idに対応する処理がグラフィックスＢを追加描画すると仮定する。このとき、sync_info(3)のaction_idに対応する処理の結果が、sync_info(1)およびsync_info(2)の各action_idに対応する処理結果と等しい、すなわち、グラフィックスＡおよびグラフィックスＢを同時に描画する場合、merged_flagに“１”をセットする（図１４（ｂ））。なお、ここでsync_info(3)のaction_idに対応する処理を統合同期実行プログラムと呼ぶ。
【０２０２】
これらフィールドdependent_flagおよびフィールドmerged_flagは、後で説明するようにビデオデータの途中から再生を開始した場合のグラフィックス重畳表示処理を軽減するために用いる。
【０２０３】
＜データ配置とファイル構成＞
実施の形態１と同一であるため、説明を省略する。
【０２０４】
＜再生処理＞
本実施の形態と実施の形態１との違いは、プログラム実行処理にある。そのため、図１５を参照しながら、プログラム実行処理に絞って説明する。なおここでは、ビデオデータの再生時間軸上の時刻Ｔから再生開始することを前提に説明する。図１５は、ビデオディスクプレーヤ１（図１）のプログラム実行部１０によるプログラム実行処理を示すフローチャートである。
【０２０５】
まず、プログラム実行部１０は、ビデオ再生部２０からの割り込みを扱うための、割り込みハンドラを登録する（Ｓ４１）。次に、プログラム実行部１０は、ビデオ再生部２０に対して割り込み再現命令を発行し割り込み再生が完了するまで待ち（Ｓ４２）、再生対象のビデオデータファイルを指定して、再生開始を指示する（Ｓ４３）。最後に、プログラム実行部１０は、ビデオ再生との同期が必要ない処理を実行する（Ｓ４４）。
【０２０６】
次に、図１６を参照しながら、割り込み再現処理について説明する。図１６は、ビデオ再生部２０による割り込み再現処理を示すフローチャートである。
【０２０７】
ビデオ再生部２０は、まず、再生開始時刻Ｔ以下で最大のtiming値を持つエントリｐを同期タイミング情報から検索する（Ｓ５１）。次に、エントリ番号iを１ずつデクリメントしながら、independent_flagの値が“１”（直前までのすべてのsync_info()のフィールドaction_idに対応する処理の結果に依存する）あるいはmerged_flagの値が“１”（直前までのすべてのsync_info()の処理結果をすべて反映したもの）のエントリを検索する（Ｓ５２〜Ｓ５６）。検索の結果、条件を満たすエントリが存在したら、そのエントリから、エントリ番号ｐまで割り込みを順に起動する（Ｓ５７〜Ｓ５９）。条件を満たすエントリが存在しなかった場合も、エントリ番号１から順にエントリ番号ｐまでの割り込みを順に起動する（Ｓ５７〜Ｓ５９）。
【０２０８】
＜具体例＞
つづいて、図１７を参照しながら、本実施の形態でのビデオディスクプレーヤ１におけるプログラム実行の具体例を説明する。図１７は、同期タイミング情報の具体例を示す説明図である。
【０２０９】
まず、ビデオデータの再生開始時刻Ｔ＜Ｔ１の場合、ステップＳ４２における割り込み再現の必要はなく、ビデオ再生に従って、エントリ番号１から５まで順にフィールドtimingがクロック２３の値に一致するタイミングでビデオ再生部２０はプログラム実行部１０に対して割り込みを発生させる。ただし、エントリ番号３のエントリはmerged_flagの値が“１”となっているため、割り込みを発生させない。
【０２１０】
次に、ビデオデータの再生開始時刻ＴがＴ１≦Ｔ＜Ｔ２の場合：フィールドtimingの値がＴ１以下のエントリであるsync_info(1)のフィールドindependent_flagが“１”、sync_info(2)のフィールドindependent_flagおよびフィールドmerged_flagが“０”であるため、割り込み再現処理においてsync_info(1)、sync_info(2)に対応する割り込みを順に発生させる。
【０２１１】
次に、ビデオデータの再生開始時刻ＴがＴ２≦Ｔ＜Ｔ３の場合：sync_info(3)のmerged_flagの値が１であるため、割り込み再現処理においてsync_info(3)に対応する割り込みを発生させる。sync_info(3)はsync_info(2)における移動処理を行う必要が無いため、sync_info(1)およびsync_info(2)を順に実行するより処理量が少なくてすむ。すなわち時刻Ｔから再生開始するときに実際に再生開始可能となるまでの時間が短縮されることになる。
【０２１２】
次に、ビデオデータの再生開始時刻ＴがＴ３≦Ｔ＜Ｔ４の場合：sync_info(4)のindependent_flagの値が１であるため、割り込み再現処理において、sync_info(1)およびsync_info(2)に対応する割り込みを発生させる必要がなくsync_info(4)に対応する割り込みのみを発生させればよい。
【０２１３】
次に、ビデオデータの再生開始時刻ＴがＴ４≦Ｔの場合：割り込み再現処理において、sync_info(4)およびsync_info(5)に対応する割り込みを発生させればよい。
【０２１４】
以上説明したように、同期タイミング情報を設けることで、ビデオデータの任意の時刻に対応するグラフィックスを生成する際に、その時刻までのビデオ用クロックの変化を再現してやる必要がなく、再生開始までの時間が短縮される。また、independent_flagを設けることで、グラフィックスの表示にかかる時間をさらに短縮することができる。また、個々の処理の結果を統合した処理を用意することで、グラフィックスの表示にかかる時間をさらに短縮することができる。
【０２１５】
上記のように、本発明の再生装置は、同期制御手段が、コンテンツデータの特定時刻から再生開始する前に、特定時刻より過去を指すタイミング指定情報を持つタイミング情報に従い、タイミング指定情報の若い順に期制御信号を送信するように構成されていてもよい。
【０２１６】
これにより、コンテンツデータの任意時刻から再生する際に、その時刻までのビデオ用クロックの変化を再現してやる必要がなく、再生開始までの時間を短縮することが可能となる。
【０２１７】
また、本発明の再生装置は、タイミング情報は複数存在しタイミング情報集合を構成し、タイミング情報はタイミング情報集合中の他のタイミング情報との依存関係を示す依存情報を含み、同期制御手段はコンテンツデータの特定時刻から再生開始する前に、依存情報をチェックし、他のタイミング情報に依存せず、特定時刻より過去を指しなおかつ最も未来を指しタイミング指定情報を持つタイミング情報に従い、タイミング指定情報の若い順に同期制御信号を送信するように構成されていてもよい。
【０２１８】
これにより、不要な処理を実行する必要がなくなり、グラフィックスを表示し再生開始までの時間を短縮することが可能となる。
【０２１９】
また、本発明に係る再生装置は、同期実行プログラムは複数存在し同期実行プログラム集合を構成し、同期実行プログラム集合は、同期実行プログラム集合中の他の複数の同期実行プログラム処理結果と同一の結果が得られる同期実行プログラム（統合同期実行プログラム）を含み、アクション指定情報で指定される同期実行プログラムが統合同期実行プログラムかどうかを識別する統合同期実行プログラム識別情報を含み、同期制御手段はコンテンツデータの特定時刻から再生開始する前に、統合同期実行プログラム識別情報をチェックし、統合同期実行プログラムを参照し、特定時刻より過去を指しなおかつ最も未来を指すタイミング指定情報を持つタイミング情報に従い、タイミング指定情報の若い順に同期制御信号を送信するように構成されていてもよい。
【０２２０】
これにより、不要な処理を実行する必要がなくなり、グラフィックスを表示し再生開始までの時間を短縮することが可能となる。
【０２２１】
〔実施の形態３〕
本発明のさらに他の実施の形態について図１８に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１、２において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。また、実施の形態１、２において定義した用語については、特に断らない限り本実施の形態においてもその定義に則って用いるものとする。
【０２２２】
本実施の形態は、高速再生等のいわゆる特殊再生を考慮した、実施の形態１の変形例である。よって、実施の形態１と共通する部分が多いため、実施の形態１と相違する部分に絞って説明する。
【０２２３】
＜システム構成＞
実施の形態１と同一であるため、説明を省略する。
【０２２４】
＜プログラム実行部＞
実施の形態１と同一であるため、説明を省略する。
【０２２５】
＜出力制御部＞
実施の形態１と同一であるため、説明を省略する。
【０２２６】
＜ビデオ再生部＞
実施の形態１とほぼ同一であるが、本実施の形態では、図４に示すように、同期制御部２２は、デコーダ２４の状態を監視するとともに、デコーダ２４の状態と実行条件情報（後述するフィールドcondition()）とに基づいて同期制御信号を送信する点が異なる。なお、そのために、同期タイミング情報は、同期実行プログラムが実行されるべき時のデコーダ２４の状態を示す実行条件情報を含む。
【０２２７】
すなわち、同期制御部２２は、デコーダ２４の再生状態（例：通常再生中・高速再生中・逆再生中・スロー再生中）を常に監視しており、再生状態に応じて同期タイミング情報中の各エントリに対する割り込みを発生させるかどうかを切り替える。具体的には、各エントリの後述するフィールドnormal、FF、FR、SF、SRを見て、例えば、フィールドnormalが“１”であれば通常再生中に割り込みを発生させ、フィールドFFが“１”であれば高速再生中に割り込みを発生させる。
【０２２８】
＜同期タイミング情報＞
ここで、図１８を参照しながら、本実施の形態の同期タイミング情報のデータ構造について説明する。図１８（ａ）（ｂ）は、同期タイミング情報のデータ構造を示す説明図である。
【０２２９】
図１８（ａ）に示すように、エントリsync_info()は、timing，target，action_id、condition()の４個のフィールドで構成される。このうち、フィールドtiming、フィールドtarget、フィールドaction_idについては実施の形態１と同一であるため、説明を省略する。なお、同期タイミング中の各sync_info()はフィールドtimingの値の順に並べられていることが好ましい。
【０２３０】
図１８（ｂ）に示すように、フィールドcondition()（実行条件情報）は、サブフィールドnormal、FF、FR、SF、SRで構成される。サブフィールドnormalは、そのサブフィールドを含むsync_info()に関する割り込みが通常再生時に発生させるかどうかを示す。具体的には、“１”の場合に割り込みを発生させ、“２”の場合に割り込みを発生させない。同様に、サブフィールドFF、FRは、それぞれ順方向高速再生と逆方向高速再生の場合の割り込みの有無を示す。また、サブフィールドSF、SRは、それぞれ順方向スロー再生と逆方向スロー再生の場合の割り込みの有無を示す。
【０２３１】
このように、再生状態に応じて割り込み処理を選択できるようにすることで、再生状態に応じた処理が可能になる。例えば、早送りの場合だけ特別なグラフィックスを表示したりすることで、ユーザはコンテンツを繰り返し楽しむことが可能になり、コンテンツの付加価値を向上させることが可能になる。
【０２３２】
上記のように、本発明の再生装置は、タイミング情報は同期実行プログラムが実行されるべきデコード手段の状態を示す実行条件情報を含み、同期制御手段はデコード手段の状態を監視し、デコード手段の状態と上記実行条件情報に従って同期制御信号を送信するように構成されていてもよい。
【０２３３】
これにより、再生状態に応じて割り込み処理を選択でき、再生状態に応じた処理が可能になる。例えば、早送りの場合だけ特別なグラフィックスを表示したりすることで、ユーザはコンテンツを繰り返し楽しむことが可能になり、コンテンツの付加価値を向上させることが可能になる。
【０２３４】
〔実施の形態４〕
本発明のさらに他の実施の形態について図１９から図２７に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１、２、３において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。また、実施の形態１、２，３において定義した用語については、特に断らない限り本実施の形態においてもその定義に則って用いるものとする。
【０２３５】
＜システム構成＞
図１９は、本実施の形態に係るビデオディスクプレーヤ１′の構成の概略を示す機能ブロック図である。
【０２３６】
ビデオディスクプレーヤ１′（再生装置）は、光ディスク２に記録されているＡＶデータを再生する装置である。図１９に示すように、ビデオディスクプレーヤ１′は、ユーザ入力部３、ビデオ再生部２０、合成部３０、ディスク読み出し部５０、プログラム実行部７０、全体制御部（全体制御手段、提示手段）８０、切替部（切替手段）９０を備えて構成されている。
【０２３７】
ディスク読み出し部５０は、光ディスク２（コンテンツ記録媒体）からビデオデータ（コンテンツデータ）、プログラム（同期実行プログラム）、同期タイミング情報、プログラム管理情報を読み出す。そして、ディスク読み出し部５０は、プログラムをプログラム実行部７０に、ビデオデータおよび後述する同期タイミング情報をビデオ再生部２０に、プログラム管理情報を全体制御部８０にそれぞれ送る。
【０２３８】
ユーザ入力部３は、ビデオディスクプレーヤ１′をユーザが操作するためのもので、リモートコントローラや機器のフロントパネルのボタンが相当する。ユーザ入力部３からは、ユーザに操作に従って、操作情報（ユーザ入力操作情報、再生制御情報）を生成し、それを全体制御部８０に送る。ユーザ操作には、再生制御操作（再生開始や一時停止等）、メニュー操作（メニュー呼び出しやメニューからコンテンツへの復帰）、ＧＵＩの操作（カーソルの上下左右移動や決定等）がある。
【０２３９】
全体制御部８０は、ビデオディスクプレーヤ１′の全体的制御を司る。具体的には、ディスク読み出し部５０によって読み出されたプログラム管理情報を基にプログラム実行部７０、切替部９０を制御する。また、ユーザ入力部３から入力されたユーザ入力を、プログラム管理情報に基づきプログラム実行部７０および切替部９０に転送する。
【０２４０】
プログラム実行部７０は、プログラムを実行する。具体的には、プログラム実行部７０は、プログラムを実行することによって、ディスク読み出し部５０、切替部９０を経由してビデオ再生部２０に対して制御を行うとともに、合成部３０に対して、プログラム実行によって生成したビットマップデータを送る。なお、本実施の形態においては、プログラム実行部７０が実行するプログラムは、出力データを生成するものに限定されない。
【０２４１】
切替部９０は、ビデオ再生部２０に送る再生制御情報の送信元を切り替える。具体的には、切替部９０は、全体制御部８０からの制御（再生制御切替情報）に基づいて、全体制御部８０から送られる再生制御情報とプログラム実行部７０から送られる再生制御情報を切り替えてビデオ再生部２０に送る。
【０２４２】
ビデオ再生部２０は、ディスク読み出し部５０から送られるビデオデータをデコードし、非圧縮ビデオデータを合成部３０に対して送る。また、ディスク読み出し部５０から送られる同期タイミング情報を基に、プログラム実行部７０に対する制御を行う。
【０２４３】
合成部３０は、プログラム実行部７０から送られるビットマップデータおよびビデオ再生部２０から送られる非圧縮ビデオデータを合成し、合成映像を出力する。
【０２４４】
なお、本実施の形態において、前記の実施の形態における出力制御部４０が含まれていないのは説明を簡略化するためであり、本実施の形態のビデオディスクプレーヤ１′に出力制御部４０を組み入れるのは容易である。
【０２４５】
＜プログラム実行部＞
図２０は、上記プログラム実行部７０の詳細な構成を示す機能ブロック図である。
【０２４６】
上記のように、プログラム実行部７０は、同期制御部２２より受信した同期制御信号に従ってプログラムを実行する。また、プログラム実行部７０は、同期制御部２２より受信した同期制御信号に含まれるフィールドaction_idで指定されたプログラムを実行する。特に、本実施の形態では、プログラム実行部７０は、ビデオ画像に重畳する画像データを生成するプログラムを実行する。
【０２４７】
図２０に示すように、プログラム実行部７０は、メモリ１１、ＣＰＵ１２、ビデオ再生制御部１３、割り込み制御部１４、ユーザ入力制御部１５、インタフェース１６、ディスク読み出し制御部１７で構成される。
【０２４８】
メモリ１１は、ディスク読み出し部５０から入力されたプログラムを一旦格納する。ＣＰＵ１２は、メモリ１１に格納されたプログラムを読み出し、そのプログラムを実行する。ＣＰＵ１２は、プログラムの内容に応じて、ビデオ再生制御部１３に対して指令を送ったり、合成部３０に対してビットマップデータを送る。
【０２４９】
ビデオ再生制御部１３は、実行されたプログラムに基づきビデオ再生部２０に対して制御信号を送る。制御信号としては、具体的には、再生開始・一時停止のような再生制御や、現在の再生時刻取得などの状態取得を目的とするものがある。割り込み制御部１４は、プログラム実行部７０の外からの割り込みを受け取り、それをＣＰＵ１２に送る。ＣＰＵ１２は、割り込み制御部１４より受けた割り込みに応じて割り込みハンドラを起動する。なお、割り込み元によって与えられる各種情報は、割り込み制御部１４内のレジスタ（図示せず）に格納される。
【０２５０】
ユーザ入力制御部１５は、全体制御部８０から転送されるユーザ入力情報を割り込みとして受け取り、それをＣＰＵ１２に送る。ＣＰＵ１２は、ユーザ入力制御部１５より受けた割り込みに応じて割り込みハンドラを起動する。なお、割り込みの際に与えられる各種情報は、ユーザ入力制御部１５内のレジスタ（図示せず）に格納される。
【０２５１】
インタフェース１６は、全体制御部８０とプログラム実行部７０との間のインタフェースである。全体制御部８０は、インタフェース１６を通じてプログラム実行部７０に対し、プログラム読み込みおよびプログラム実行を指示する。一方、プログラム実行部７０はプログラムの実行が終了したとき、全体実行部８０に対し、終了したことを通知する。
【０２５２】
ディスク読み出し制御部１７は、ＣＰＵ１２からの指令に基づき、ディスク読み出し部５０の制御を行う。
【０２５３】
＜全体制御部＞
図２１は、上記全体制御部８０の詳細な構成を示す機能ブロック図である。
【０２５４】
全体制御部８０は、上記のように、ディスク読み出し部５０によって読み出されたプログラム管理情報に基づきビデオディスクプレーヤ１′の全体的制御を司る。
【０２５５】
図２１に示すように、全体制御部８０は、メモリ８１、ユーザ入力制御部８２、ＣＰＵ８３、ディスク読み出し制御部８４、切替制御部８５、ビデオ再生制御部８６、プログラム実行制御部８７で構成される。
【０２５６】
メモリ８１は、ディスク読み出し部５０から入力されたプログラム管理情報を一旦格納する。ＣＰＵ８３は、メモリ８１に格納されたプログラム管理情報を読み出し、その情報に基づき、ユーザ入力制御部８２、ディスク読み出し制御部８４、切替制御部８５、ビデオ再生制御部８６、プログラム実行制御部８７に対して指令を送る。
【０２５７】
ユーザ入力制御部８２は、ユーザ入力部３から送られるユーザ入力を、プログラム実行部７０に対して転送すると同時にＣＰＵ８３に送る。ＣＰＵ８３では、プログラム管理情報に基づいてユーザ入力を解釈し、プログラム実行制御部８７やビデオ再生制御部８６の制御を行う。
【０２５８】
ディスク読み出し制御部８４は、ＣＰＵ８３からの命令に従って、ディスク読み出し部５０の制御を行う。
【０２５９】
切替制御部８５は、ＣＰＵ８３からの命令に従って切替部９０の制御を行う。
【０２６０】
ビデオ再生制御部８６は、ＣＰＵ８６からの命令に従って、ビデオ再生部２０に対して制御信号を送る。制御信号としては、再生対象のビデオデータの指定、読み出し開始、デコード開始、デコード終了、前後チャプタへの移動、高速再生開始などがある。
【０２６１】
プログラム実行制御部８７は、ＣＰＵ８３からの命令に従ってプログラム実行部７０に対して制御情報を送る。
【０２６２】
＜ビデオ再生部＞
実施の形態１とほぼ同一であるが、本実施の形態では、出力制御部４０を備えないため、図４の同期制御部２２から出ている出力側バッファ切替部４３への制御を行わない点が異なっている。
【０２６３】
＜プログラム管理情報＞
ここで、図２２（ａ）（ｂ）を参照しながら、光ディスク２に記録されているプログラム管理情報のデータ構造について説明する。
【０２６４】
プログラム管理情報は、全体制御部８０がプログラムの実行を制御するために必要となる各種情報をまとめたものであり、プログラム1個につき1個用意する。
【０２６５】
光ディスク２中の全プログラム管理情報は、図２２（ａ）に示すプログラム管理テーブルに格納する。number_of_pmiはプログラム管理テーブル中に格納しているプログラム管理情報の数を示す。なお、プログラム管理テーブル中の最初のエントリは、光ディスク２を挿入した際に自動的に実行されるプログラムを意味する。
【０２６６】
図２２（ｂ）は、プログラム管理情報のデータ構造を示す説明図である。図２２（ｂ）に示すように、プログラム管理情報は、program_file_name、playback_control_mode、is_video_specified、video_file_name、start_mode、resume_flag、menu_flagで構成される。
【０２６７】
フィールドprogram_file_name（プログラム指定情報）は、プログラムを格納したファイルのファイル名を指定するフィールドである。
【０２６８】
フィールドplayback_control_modeは、ユーザ入力のうち再生制御操作を、全体制御部８０からビデオ再生部２０に対して送るかどうかを示すフラグであり、送らない場合には“０”、送る場合には“１”を設定する。後述するように、このフラグによって、ユーザによる再生制御操作に対するレスポンスを重視するか、プログラムの自由度を優先するかをコンテンツ作成者が選択することができる。
【０２６９】
フィールドis_video_specifiedは、プログラムと同時に再生するビデオデータを指定するかどうかを示すフラグであり、指定しない場合には“０”、指定する場合には“１”を設定する。このフラグの値が“１”の場合、フィールドvideo_file_nameおよびフィールドstart_modeが後続する。
【０２７０】
フィールドvideo_file_name（コンテンツデータ指定情報）は、プログラムと同時に再生するビデオデータファイルのファイル名を指定するフィールドである。前述のようにフィールドis_video_specifiedが“１”の場合にのみこのフィールドは存在する。後述するように、このフィールドを参照することで、プログラム実行前にビデオデータおよび同期タイミング情報の光ディスク２からの読み出し開始が可能になり、ビデオデータの再生開始までの時間を短縮することができる。
【０２７１】
フィールドstart_mode（再生開始指示要否情報）は、フィールドvideo_file_nameで指定するビデオデータの表示開始を、フィールドprogram_file_nameで指定するプログラム中による命令で行うか、プログラムに関わらず行うかを示すフラグであり、前者の場合には“０”、後者の場合には“１”を指定する。前述のようにフィールドis_video_specifiedが“１”の場合にのみこのフィールドは存在する。後述するように、このフィールドを参照することで、ビデオデータの再生開始にあたって、プログラムとの同期を待つ必要があるかどうかが判断可能であり、待つ必要が無い場合、ビデオ再生開始までの時間をさらに短縮することができる。
【０２７２】
フィールドmenu_flagは、このフィールドが含まれるプログラム管理情報で指定されるプログラムが、「メニューコンテンツ」かどうかを示すフラグである。メニューコンテンツとは、ユーザがメニュー呼び出し操作を行った際に実行されるコンテンツである。メニューコンテンツの場合には“１”、そうでない場合には“０”を指定する。
【０２７３】
フィールドresume_flag（レジューム可否情報）は、このフィールドが含まれるプログラム管理情報で指定されるプログラムがレジュームの対象であるかどうかを示すフラグである。“レジューム”とは、コンテンツ再生時にユーザがメニュー読み出しを行った際に再生を一時停止したコンテンツを、ユーザがメニューから復帰操作した際に、一時停止した箇所から再生再開する機能である。レジュームの対象であるコンテンツの場合には“１”、そうでない場合には“０”を指定する。このようなフラグが必要である理由を以下に説明する。コンテンツはは、ビデオ再生に同期してプログラム実行されるものと、そうでないもの（例：ゲームプログラムの一部としてビデオが再生される）に分けられる。前者は容易にレジュームは可能であるが、後者をレジュームすることは難しい。すなわち、このフラグは、この両者を全体制御部８０が容易に区別して、レジューム機能が可能でないコンテンツをレジュームしないようにしたり、ユーザにコンテンツがレジュームできないことを知らせることを可能にするために存在する。
【０２７４】
＜データ配置とファイル構成＞
図２３は、光ディスク２におけるデータ配置を示す説明図である。
【０２７５】
図２３に示すように、光ディスク２は、管理情報領域６１とビデオデータ領域（コンテンツデータ格納領域）６２とで構成される。管理情報領域６１は、プログラム管理テーブルが格納されたプログラム管理情報格納領域６１Ｃと、プログラムが格納されたプログラム格納領域（同期プログラム格納領域）６１Ａと、同期タイミング情報が格納された同期タイミング情報格納領域６１Ｂとからなる。また、ビデオデータ領域６２には、ビデオデータが格納されている。なお、個々のプログラム管理テーブル、同期タイミング情報、プログラム、ビデオデータはファイルとして管理される。
【０２７６】
後述するように、光ディスク２挿入時に、すべてのプログラム管理情報を最初に読み込むため、プログラム管理テーブルの形で前方のプログラム管理情報格納領域６１Ｃにまとめて記録してあることで、プログラム管理情報の読み出しに必要なシーク時間等を短縮することが可能である。
【０２７７】
＜再生処理＞
つづいて、図２４を参照しながら、ビデオディスクプレーヤ１′による再生処理について説明する。
【０２７８】
図２４は、全体制御部８０による再生処理の全体の流れを示すフローチャートである。
【０２７９】
まず、電源投入後、光ディスク２からのファイルシステム情報（図示せず）等の読み込み、および各処理部の初期化を行う（Ｓ６１）。
【０２８０】
次に、光ディスク２上のプログラム管理情報格納領域６１Ｃから、プログラム管理テーブルを読み出し、メモリ８１に格納し（Ｓ６２）、メモリ８１に格納されたプログラム管理テーブル中の１番目のプログラム管理情報を「現プログラム管理情報」として選択する。
【０２８１】
次に、切替部９０の設定を行う（Ｓ６３）。具体的には、現プログラム管理情報中のフィールドplayback_control_modeが“１”であれば、切替部９０が全体制御部８０からの再生制御情報もビデオ再生部２０に転送するように設定し、“０”であれば、プログラム実行部７０からの再生制御情報のみをビデオ再生部２０に転送するように設定する。
【０２８２】
次に、現プログラム管理情報中のフィールドis_video_specifiedをチェックし（Ｓ６４）、“１”であれば、ビデオ再生制御部１３を通じて、ビデオ再生部２０に対しフィールドvideo_file_nameで指定されるビデオファイルの読み出しおよびデコードの開始命令を発行する（Ｓ６５）。さらに、表示準備が完了したときの振る舞いについても設定する。具体的には、フィールドstart_modeが“０”の場合には、プログラムからの指示があるまでは表示を行わず、“１”の場合には、準備が完了したときにはプログラムからの指示に関わらず表示を開始するように設定する。
【０２８３】
次に、プログラム実行制御部８７を通じて、プログラム実行部７０に対して、フィールドprogram_file_nameで指定されるプログラムファイルの実行命令を発行する（Ｓ６６）。
【０２８４】
次に、プログラムの実行が終了するのを待つ（Ｓ６７）。プログラム実行部７０からプログラム実行完了が通知されたら、メニューコンテンツを現プログラム管理情報に設定し、ステップＳ６３へジャンプする。なお、ここでの検索は、メモリ８１中のプログラム管理テーブル中のフィールドmenu_flagが“１”のプログラム管理情報を検索することで実現できる。
【０２８５】
＜メニュー呼び出し処理およびレジューム処理＞
つづいて、図２５および図２６を用いて、ビデオディスクプレーヤ１′によるメニュー呼び出し処理およびレジューム処理について説明する。
【０２８６】
まず、図２５を参照しながら、メニュー呼び出し処理について説明する。
【０２８７】
コンテンツ再生中にユーザがメニュー呼び出し操作を行った場合、まず、ユーザ入力部３から全体制御部８０に対しメニュー呼び出し命令が送られる。全体制御部８０は、再生中のコンテンツに対応するプログラム管理情報のフィールドresume_flagをチェックし（Ｓ７１）、値が“０”の場合、レジュームができない旨の警告をユーザに報知し（Ｓ７６）、ビデオ再生部２０に再生停止命令を発行する（Ｓ７７）。
【０２８８】
一方、ステップＳ７１においてフィールドresume_flagの値が“１”の場合、ビデオ再生部２０に対し停止命令を発行する（Ｓ７２）。また、ビデオ再生部２０のクロック２３（図４）の現在の値をレジスタ（レジュームレジスタ。図示せず）に保存する命令を発行する（Ｓ７３）。さらに、現プログラム管理情報を「レジューム対象プログラム管理情報」に設定する（Ｓ７４）。
【０２８９】
次に、全体制御部８０はプログラム実行部７０に対して停止命令を発行する（Ｓ７５）。
【０２９０】
その後、全体制御部８０はメニューコンテンツを現プログラム管理情報に設定し、メニューコンテンツを図２４のステップＳ６３〜Ｓ６６と同様の処理で実行する。
【０２９１】
つづいて、図２６を参照しながら、レジューム処理について説明する。
【０２９２】
メニューコンテンツ実行中にユーザが復帰（レジューム）操作を行った場合、全体制御部８０は、レジューム対象プログラム管理情報に設定されているプログラム管理情報を現プログラム管理情報に設定する（Ｓ８１）。次に、プログラム実行部７０に対し、現プログラム管理情報中のフィールドprogram_file_nameを指定してプログラム実行を指示する（Ｓ８２）。次に、ビデオ再生部２０に対し、レジュームレジスタに格納された値をＴにセットし、実施の形態２における図１６で説明した割り込み再現処理を実行するよう指示する（Ｓ８３）。さらに、ビデオ再生部２０に対し、前述のレジュームレジスタの値から再生を開始するよう指示する（Ｓ８４）。これにより、レジューム処理を実現することができる。
【０２９３】
一方、ユーザが復帰操作を行わずメニューコンテンツで表示されたメニューから別のコンテンツを選択した場合、全体制御部８０はビデオ再生部２０に対し、レジュームレジスタの値を破棄するよう命令を発行するとともに、レジューム対象プログラム管理情報の設定を解除する。
【０２９４】
なお、以上の処理は、実施の形態２で説明したビデオデータを任意位置から再生するための装置構成およびデータ構成を組み合わせることで可能となっている。
【０２９５】
＜プログラム管理情報および処理の具体例＞
図２７を参照しながら本実施の形態におけるプログラム管理情報および処理の具体例を説明する。
【０２９６】
（例１）ビデオ中心のコンテンツ
コンテンツを選択するとビデオが再生され、ユーザはその再生を制御でき、そのビデオ再生と同期したプログラムが実行されるという構成を備えるコンテンツのプログラム管理情報の設定例を下記に示す。
【０２９７】
playback_control_mode＝１
is_video_specified＝１
start_mode＝０
この設定について以下に説明する。ユーザが再生を制御できることから、再生制御操作に対するレスポンスを高めたいためplayback_control_modeに“１”を、また、事前にどのビデオデータを再生するかがわかっていることからis_video_specifiedに“１”を、さらに、ビデオ再生と同期するプログラムがあり、プログラムの実行が開始してからビデオ再生を開始する必要があるため、start_modeに“０”を設定している。
【０２９８】
次に、図２７を用いて、このときの処理の具体例を説明する。
【０２９９】
まず、全体制御部８０は、時刻Ｔ１１からＴ１２の間、初期化を行った後、ビデオ再生部２０に対しビデオ再生開始、プログラム実行部７０に対しプログラム実行開始をそれぞれ指示する。時刻Ｔ１２からビデオ再生部２０はビデオデータの読み込みおよびデコードを開始し、時刻Ｔ１３にビデオ表示準備が可能になる。
【０３００】
一方、プログラム実行部７０は、それと並行してプログラムを読み込み、プログラムの実行準備を行い、さらにプログラムの実行を開始する。プログラム実行部７０は、プログラムの実行がビデオ再生開始の箇所に到達した時刻Ｔ１４において、ビデオ再生開始命令をビデオ再生部２０に発行する。
【０３０１】
ビデオ再生がビデオデータの末尾に到達したとき、ビデオ再生部２０はプログラム実行部７０に対してビデオ再生終了の割り込みを発生させる。それを受け、プログラム中の割り込みハンドラはプログラムの終了処理を行い、全体制御部８０に対しプログラム実行終了を通知する。
【０３０２】
このように、本実施の形態における構成をとることにより、プログラム実行部７０におけるプログラム実行準備と並行してビデオ再生部２０でビデオデータ再生準備ができ、ビデオ再生開始までの時間を従来に比べて短縮することが可能となる
なお、プログラムの同期タイミングがビデオ再生の先頭付近にない場合、ビデオ再生にあたってプログラム実行準備を待つ必要がないため、start_modeを“１”に設定することで時刻Ｔ１３からＴ１４の間の待ち時間も無くし、ビデオ再生の開始をさらに早めることも可能である。
【０３０３】
また、時刻Ｔ１５におけるユーザ再生制御操作「次のチャプタから再生」も全体制御部８０から、プログラム実行部６０を通らずビデオ再生部２０に直接送られる。そのため、プログラム実行によるオーバーヘッドが少なく、ユーザ操作に対するレスポンスが向上する。
【０３０４】
（例２）プログラム中心のコンテンツ
ゲームのようにプログラムが主であり、ビデオ再生はあくまでもコンテンツの一部であるコンテンツのプログラム管理情報の設定例を下記に示す。
【０３０５】
playback_control_mode＝０
is_video_specified＝０
この設定について以下に説明する。ビデオ再生はプログラムが自由に制御したいため、playback_control_modeに“０”を、また、再生するビデオデータはプログラムの状態により変化するため、事前にどのビデオデータを再生するかわからないことからis_video_specifiedに“１”を設定している。
【０３０６】
このように設定することで、（例１）の場合に比べ、ビデオ再生開始までに要する時間などはかかるものの、自由度の高いプログラムを作成することが可能である。
【０３０７】
＜バリエーション＞
本実施の形態では、プログラム管理情報中のvideo_file_nameは１個のみ指定可能なデータ構造となっているが、複数指定できるようにしてもよい。このとき、指定の順番が再生順を表すものとすれば、ビデオ再生部２０は、あるビデオデータの再生が終了すると同時に次のビデオデータの読み出し・デコード・再生を開始することが可能となり、複数のビデオデータを連続再生するコンテンツにおいてビデオデータ間のつなぎ目の時間を短縮できるという追加の効果が得られる。
【０３０８】
また、本実施の形態では、resume_flagが“０”のコンテンツを再生中にメニュー呼び出しをしたときに、レジュームができない旨の警告を出すようにしているが、メニュー呼び出し以外のとき、例えばレジュームをしようとしたときに警告を出すようにしてもよい。
【０３０９】
また、本実施の形態では、全体制御部８０は、ビデオ再生部２０に対する再生準備開始命令をプログラム実行部８０に対するプログラム起動開始命令と同時に発行しているが、同時である必要はない。例えば、直前のコンテンツがビデオ再生のないプログラムのみのものであった場合、ビデオ再生部２０は使用されていない。そのため、次のコンテンツのビデオ再生準備を直前のコンテンツ再生中に開始することで、ビデオ再生開始までの待ち時間をさらに短縮することが可能となる。このとき、各プログラムがビデオ再生を行うか行わないかを全体制御部８０が容易に判断できるよう、プログラム管理情報中のprogram_file_nameで指定されるプログラムがビデオ再生を行うかどうかを示すフラグを追加してもよい。
【０３１０】
また、本実施の形態では、プログラム管理情報中のvideo_file_nameでビデオデータファイルのファイル名が指定された場合、ビデオ再生部２０に対してビデオデータファイルの読み出し、デコード開始を指示しているが、ディスク読み出し部５０にビデオデータファイルの読み出しを指示してもよい。この場合、プログラム実行準備と並行して、光ディスク２からのビデオデータ読み出しができるため、ビデオ再生の開始を早めることが可能となる。
【０３１１】
また、本実施の形態では、プログラム管理情報中の各種情報の解釈・送出は全体制御部８０が行っているが、他の機能ブロック、例えばプログラム実行部７０が行ってもよい。プログラム実行部７０が解釈する場合、あるプログラムａに関するプログラム管理情報は別のプログラムｂに格納され、プログラム実行部７０はプログラムａの実行直前にプログラム管理情報とは別のプログラムｂが解釈・送出を行うことで同様の機能を実現可能である。すなわち、本発明の本質は、対応するプログラムとは別のところにプログラム管理情報を格納する点にある。
【０３１２】
ただし、本実施の形態のようにプログラム管理情報をプログラム外に配置することによって、上述のようにプログラム内に格納する場合に比べて、プログラム間の実行順序を変えても、既存のプログラムの書き換え・再コンパイル等の作業が不要という追加の効果が得られる。
【０３１３】
また、本実施の形態ではプログラムからは１個のビデオデータ全区間を再生しているが、ビデオデータの一区間のみを再生するようにも拡張可能である。この場合、プログラム管理情報にビデオデータの再生開始・修了時刻を表すフィールドを追加すればよい。このことによって１個のビデオデータに対する多様な部分区間再生が可能になる。
【０３１４】
また、本実施の形態では、切替制御部８５および切替部９０を備えるが、ビデオ中心のコンテンツのみを扱うのであれば不要である。この場合でも、ビデオ再生と同期したプログラムの実行が可能であり、かつ、プログラムによる再生制御操作に対するオーバーヘッドを排除することで、ユーザの再生制御操作に対するレスポンスを高められるという本発明の効果が得られることは言うまでもない。
【０３１５】
また、本実施の形態では、ビデオ再生がビデオデータの末尾に到達したときに、ビデオ再生部２０はプログラム実行部７０に対してビデオ再生終了の割り込みを発生させているが、全体制御部８０に対してビデオ再生終了を直接通知してもよい。この場合、終了の際の手順は、全体制御部８０がビデオ再生終了を受けて、プログラム実行部７０に対してプログラム実行終了命令を発行する、というものになる。このようにすれば、プログラム中の割り込みハンドラに不具合があり、ビデオ再生終了の割り込みを受けても終了しないという事態を回避でき、確実にプログラムを終了させることが可能になる、という追加の効果が得られる。
【０３１６】
さらに、コンテンツがビデオ中心かプログラム中心かによって、ビデオ再生部２０からのビデオ再生終了を、プログラム実行部７０に通知するか全体制御部８０に通知するかを切り替えてもよい。
【０３１７】
〔実施の形態５〕
本発明のさらに他の実施の形態について図２８から図３３に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１、２、３、４において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。また、実施の形態１、２、３、４において定義した用語については、特に断らない限り本実施の形態においてもその定義に則って用いるものとする。
【０３１８】
＜システム構成＞
図２８は、本実施の形態に係るビデオディスクプレーヤ１″の構成の概略を示す機能ブロック図である。
【０３１９】
ビデオディスクプレーヤ１″（再生装置）は、光ディスク２（コンテンツ記録媒体)に記録されているＡＶデータを再生する装置である。図２８に示すように、ビデオディスクプレーヤ１″は、ユーザ入力部３、ビデオ再生部２０、合成部３０、ディスク読み出し部５０、プログラム実行部７０、全体制御部８０′を備えて構成されている。
【０３２０】
全体制御部８０′は、ビデオディスクプレーヤ１″の全体的制御を司る。具体的には、ディスク読み出し部５０によって読み出されたプログラム管理情報を基にプログラム実行部７０を制御する。また、ユーザ入力部３から入力されたユーザ入力をプログラム実行部７０に転送する。また、ビデオ再生部２０から割り込みを用いて伝えられる情報に基づき、現在実行中のプログラムのビデオデータ再生がビデオデータの権利所有者に許可されたものかどうかを検証する。
【０３２１】
プログラム実行部７０は、プログラムを実行する。具体的には、プログラム実行部７０は、プログラムを実行することによって、ディスク読み出し部５０およびビデオ再生部２０に対して制御を行うとともに、合成部３０に対して、プログラム実行によって生成したビットマップデータを送る。なお、本実施の形態においては、プログラム実行部７０が実行するプログラムは、出力データを生成するものに限定されない。
【０３２２】
ビデオ再生部２０は、ディスク読み出し部５０から送られるビデオデータ(コンテンツデータ)をデコードし、非圧縮ビデオデータを合成部３０に対して送る。また、ディスク読み出し部５０から送られる同期タイミング情報を基に、プログラム実行部７０に対する制御を行う。さらに、現在実行中のプログラムのビデオデータ再生がビデオデータの権利所有者に許可されたものかどうかを検証するための情報を、ビデオデータの割り込みを用いて全体制御部８０′に伝える。
【０３２３】
ディスク読み出し部５０、合成部３０およびユーザ入力部３については、実施の形態４と同一であるため説明を省略する。
【０３２４】
なお、本実施の形態において、前記の実施の形態における出力制御部４０および切替部９０が含まれていないのは説明を簡略化するためであり、本実施の形態のビデオディスクプレーヤ１″に出力制御部４０あるいは／および切替部９０を組み入れるのは容易である。
【０３２５】
＜プログラム実行部＞
実施の形態４と同一であるため、説明を省略する。
【０３２６】
＜全体制御部＞
図２９は、上記全体制御部８０′の詳細な構成を示す機能ブロック図である。
【０３２７】
全体制御部８０′は、上記のように、ディスク読み出し部５０によって読み出されたプログラム管理情報に基づきビデオディスクプレーヤ１″の全体的制御を司る。
【０３２８】
図２９に示すように、全体制御部８０′は、メモリ８１、ユーザ入力制御部８２、ＣＰＵ８３、ディスク読み出し制御部８４、検証部８８、割り込み制御部８９、プログラム実行制御部８７で構成される。
【０３２９】
メモリ８１は、ディスク読み出し部５０から入力されたプログラム管理情報を一旦格納する。ＣＰＵ８３は、メモリ８１に格納されたプログラム管理情報を読み出し、その情報に基づき、ユーザ入力制御部８２、ディスク読み出し制御部８４、検証部８８、割り込み制御部８９、プログラム実行制御部８７に対して指令を送る。
【０３３０】
ユーザ入力制御部８２は、ユーザ入力部３から送られるユーザ入力を、プログラム実行部７０に対して転送すると同時にＣＰＵ８３に送る。ＣＰＵ８３では、プログラム管理情報に基づいてユーザ入力を解釈し、プログラム実行制御部８７の制御を行う。
【０３３１】
ディスク読み出し制御部８４は、ＣＰＵ８３からの命令に従って、ディスク読み出し部５０の制御を行う。
【０３３２】
割り込み制御部８９は、ビデオ再生部２０からの割り込みを扱う。割り込みの際には、ビデオ再生部２０によって割り込み制御部８９中のレジスタ（図示なし）に設定された現在実行中のプログラムのビデオデータ再生がビデオデータの権利所有者に許可されたものかどうかを検証するための情報を取得する。具体的には、光ディスク２中のビデオデータを特定するためのビデオデータファイル名と、そのビデオデータに付随している公開鍵データとを取得する。
【０３３３】
検証部（検証手段）８８は、上記のビデオデータファイル名と公開鍵データと、プログラム管理情報中の証明書データとを基に、現在実行中のプログラムのビデオデータ再生がビデオデータの権利所有者に許可されたものかどうかを検証する。検証方法については後述する。
【０３３４】
＜ビデオ再生部＞
実施の形態１とほぼ同一であるが以下の点が異なる。
【０３３５】
まず、本実施の形態では出力制御部４０を備えないため、図４の同期制御部２２から出ている出力側バッファ切替部４３への制御を行わない。
【０３３６】
また、ビデオデータ再生開始時に、ビデオデータに付随している公開鍵データをビデオデータから抽出する。抽出した公開鍵データを再生対象のビデオデータのファイル名とともに、割り込みによって全体制御部８０′に対し通知する。
【０３３７】
＜プログラム管理情報＞
ここで、図３０（ａ）（ｂ）を参照しながら、光ディスク２に記録されているプログラム管理情報のデータ構造について説明する。
【０３３８】
プログラム管理情報は、全体制御部８０′がプログラムの実行を制御するために必要となる各種情報をまとめたものであり、プログラム1個につき1個用意する。光ディスク２中の全プログラム管理情報は、図２２（ａ）に示すプログラム管理テーブルに格納する。
【０３３９】
図３０（ａ）は、プログラム管理情報のデータ構造を示す説明図である。図３０（ａ）に示すように、プログラム管理情報は、program_file_name、number_of_video_info、video_info()で構成される。
【０３４０】
フィールドprogram_file_name（プログラム指定情報）は、プログラムを格納したファイルのファイル名を指定するフィールドである。
【０３４１】
フィールドnumber_of_video_infoは、後述するフィールドvideo_info()の個数を指定するフィールドである。
【０３４２】
フィールドvideo_info()は、このフィールドが含まれるプログラム管理情報に対するプログラムが使用するビデオデータに関する情報を格納するデータブロックであり、図３０（ｂ）に示すvideo_file_nameとcertificateの２フィールドで構成される。
【０３４３】
フィールドvideo_file_name（コンテンツデータ指定情報）は、ビデオデータのファイル名を格納するフィールドである。
【０３４４】
フィールドcertificate（許可情報）は、このフィールドが含むvideo_info()中のフィールドvideo_file_nameで指定されるビデオファイルを再生することを許可されたことを示す証明書データを格納するフィールドである。
【０３４５】
次に、図３１（ａ）（ｂ）を参照しながら、証明書データの作成手順と証明書の検証手順について説明する。
【０３４６】
まず、図３１（ａ）に沿って、証明書データの作成手順について説明する。
【０３４７】
最初に、ビデオデータの権利所有者は公開鍵暗号方式を用いて公開鍵（検証用情報）と秘密鍵のペアを作成する。なお、本実施の形態では、公開鍵暗号方式にＲＳＡを使用するが、本発明はこれに限定されるものではない。プログラム作成者はプログラムにハッシュ処理を施し、ハッシュ値をビデオデータ権利所有者に提出する。ビデオデータ権利所有者は前述の秘密鍵で前述のハッシュ値を暗号化し、この暗号化した結果を証明書としてプログラム作成者に渡す。
【０３４８】
この証明書は、前述のvideo_info()データブロックのcertificateフィールドに格納し、光ディスク２に記録する。また、公開鍵は対象となるビデオデータに所定の間隔で多重化し、光ディスク２に記録する。
【０３４９】
次に、図３１（ｂ）に沿って、証明書データの検証手順について説明する。
【０３５０】
最初に、ビデオデータから公開鍵を分離する。ビデオデータに対応するcertificateをプログラム管理情報から取り出し、前述の公開鍵で復号する。この復号した結果と、プログラムにハッシュ処理を施したものとを比較する。公開鍵暗号の特性上、対応する秘密鍵で暗号化されて無い場合、正しく復号できない。したがって、一致すればビデオデータの使用を許可されたプログラム、一致しなければ不正にビデオデータを使用しているプログラムと判断できる。
【０３５１】
なお、上述のように所定の間隔で公開鍵を多重化しているため、公開鍵読み出しに伴うピックアップの移動が発生しないため、ビデオ再生までに公開鍵読み出しに伴う待ち時間がなく、再生開始までのレスポンス時間を短縮できる。
【０３５２】
＜データ配置とファイル構成＞
実施の形態４と同一であるため、説明を省略する。
【０３５３】
＜再生処理＞
つづいて、図３２を参照しながら、ビデオディスクプレーヤ１″による再生処理について説明する。
【０３５４】
図３２は、全体制御部８０′による再生処理の全体の流れを示すフローチャートである。
【０３５５】
まず、電源投入後、光ディスク２からのファイルシステム情報（図示せず）等の読み込み、および各処理部の初期化を行う（Ｓ９１）。
【０３５６】
次に、光ディスク２上のプログラム管理情報格納領域６１Ｃ（図２３）から、プログラム管理テーブルを読み出し、メモリ８１に格納する（Ｓ９２）。
【０３５７】
次に、プログラム実行制御部８７を通じて、プログラム実行部７０に対して、フィールドprogram_file_nameで指定されるプログラムファイルの実行命令を発行する（Ｓ９３）。このとき、program_file_nameで指定されるプログラムファイルのハッシュ値を計算して、後述の検証処理のためにメモリ８１に保持しておく。
【０３５８】
次に、プログラムの実行が終了するのを待つ（Ｓ９４）。プログラム実行部７０からプログラム実行完了を示す割り込みが到着したら、メニューコンテンツを現プログラム管理情報に設定し、ステップＳ９３へジャンプする。
【０３５９】
＜検証処理＞
次に、図３３を参照しながら、ビデオディスクプレーヤ１″による検証処理について説明する。検証処理とは、前述したように、現在実行中のプログラムが再生対象のビデオデータの権利所有者に使用の許可を得ているかどうかを調べるための処理である。
【０３６０】
図３３は、全体制御部８０′による検証処理の流れを示すフローチャートである。なお、以下の処理はビデオ再生部２０によって起動された割り込み処理として実現している。
【０３６１】
ＣＰＵ８３は、ビデオ再生部２０によって割り込み処理部８９のレジスタ（図示せず）に設定された再生対象ビデオデータのファイル名およびそのビデオデータから分離された公開鍵を取得する（Ｓ１０１）。
【０３６２】
次に、ＣＰＵ８３は、ビデオデータファイル名をキーとして対応するvideo_info()エントリをメモリ８１に保持されたプログラム管理情報から検索する（Ｓ１０２）。そして、video_info()エントリが存在したら（Ｓ１０２でＹＥＳ）、そこに含まれるcertificateを検証部８８に送る。このとき、対応するvideo_info()エントリが存在しなければ（Ｓ１０３でＮＯ）、ＣＰＵ８３は、許可されていないビデオ再生と判断しプログラム実行を終了する（Ｓ１０６）。
【０３６３】
また、video_info()エントリが存在しなければ（Ｓ１０２でＮＯ）、ＣＰＵ８３は、プログラム実行を終了する（Ｓ１０６）。
【０３６４】
一方、video_info()エントリにcertificateが存在した場合（Ｓ１０３でＹＥＳ）、以下の処理を実行する。
【０３６５】
ＣＰＵ８３は、メモリ８１から、ビデオデータファイル名に対応するvideo_info()エントリからcertificateを取り出す。次に、あらかじめ計算しておいた実行中のプログラムのハッシュ値および上記公開鍵をメモリ８１から取り出し、certificateとともに検証部８８に送り、検証部８８に対し検証開始を指示する（Ｓ１０４）。
【０３６６】
検証部８８は、図３１（ｂ）の手順で検証を行う。すなわち、公開鍵でcertificateを復号した値と上記ハッシュ値とを比較する。一致しなかった場合、ＣＰＵ８３に対し不一致を知らせる。そして、ＣＰＵ８３は、検証部８８から不一致が通知された場合、許可されていないビデオ再生と判断し（Ｓ１０５でＮＯ）、プログラム実行を終了する（Ｓ１０６）。これに対して、ＣＰＵ８３は、検証部８８から一致が通知された場合、許可されたビデオ再生と判断し（Ｓ１０５でＹＥＳ）、プログラム実行を継続させる。
【０３６７】
以上のデータ構造、装置構成および処理手順により、ビデオデータの権利所有者が許可しない再生を制限することが可能となる。
【０３６８】
＜バリエーション＞
本実施の形態では、公開鍵暗号化方式を用いているが、公開鍵暗号化方式を用いず、video_file_nameのみを使用したとしても、ビデオデータの権利所有者が不正利用を容易にチェックできる。以下にその理由を説明する。
【０３６９】
仮にこのような情報がなかった場合、プログラムが不正にビデオデータを利用していたとしてもプログラムを実行してみないと不正利用がわからない。大規模なプログラムの場合、プログラムの全処理をたどることは時間を要する。また、プログラムファイル中のバイナリデータから不正な再生を行っている箇所を検出する手法も、プログラム作成者が意図的にわかりづらくしていた場合、適用困難である。
【０３７０】
しかし、video_file_nameで使用を宣言したビデオデータのみプログラムは再生可能という構成を取ることによって、ビデオデータの権利所有者がプログラムを実行することなく、プログラム外のvideo_file_nameという静的な情報を確認するだけで、ビデオデータの権利所有者がビデオデータの不正利用をチェックすることが可能になる。
【０３７１】
また、本実施の形態では、ビデオ再生部２０がビデオデータの読み出しを開始してから検証を開始しているが、video_file_nameで使用を宣言していないビデオデータについては読み出し自体を禁止してもよい。また、本実施の形態では、プログラム実行部７０およびビデオ再生部２０から直接ファイルアクセスを行っているが、プログラム実行部７０およびビデオ再生部２０とディスク読み出し部５０との間にファイルシステム部を設け、ファイルへのアクセスはファイルシステム部を介して行うようにしてもよい。この場合に、video_file_nameで使用を宣言していないビデオデータについてはファイルとして参照できないようにしてもよい。
【０３７２】
この場合、video_file_nameで使用を宣言していないビデオデータについて、不正なビデオデータ再生をビデオデータ読み出し前に検出できるため、検出までの時間が短縮される。
【０３７３】
また、本実施の形態では、プログラムとビデオデータが一対一対応の場合を説明したが、本発明は多対多の関係にも適用可能であることは言うまでもない。すなわち１個のプログラムに対して複数のビデオデータの再生許可を与えてもよく、また１個のビデオデータに対する再生許可を複数のプログラムに与えてもよい。
【０３７４】
また、本実施の形態では、プログラムからは１個のビデオデータ全区間を再生しているが、ビデオデータの一区間のみを再生するようにも拡張することは容易である。この場合、video_info()にビデオデータの再生開始・修了時刻を表すフィールドを追加すればよい。
【０３７５】
また、本実施の形態では、１個のビデオデータ全区間で公開鍵・秘密鍵のペアは共通であったが、ビデオデータの区間ごとに変えるように拡張することは容易である。
【０３７６】
例えば、コンテンツプロバイダＡ、Ｂによって提供されるコンテンツａ、ｂと、別のコンテンツプロバイダＣによるコンテンツａ、ｂの紹介用メニューコンテンツｃが含まれる光ディスクを考える。このとき、コンテンツｃに使用を許可する区間のみａ、ｂの公開鍵・秘密鍵のペアを変え、それらの秘密鍵で暗号化したコンテンツcのプログラムのcertificateを作成し、記録することによって、紹介用メニューコンテンツに対して必要な部分だけ再生許可区間を与えることができる。
【０３７７】
また、本実施の形態では、すべてのビデオデータの再生について公開鍵とcertificateを用いた検証を行っていたが、ビデオデータの権利所有者が必要と考えるものだけ検証するように拡張することは容易である。
【０３７８】
例えば、検証が必要なビデオデータにのみ公開鍵データを多重化しておき、公開鍵データが多重化されていない場合には、ビデオ再生部２０がビデオファイル名のみを全体制御部８０′に通知するように構成する。さらに、全体制御部８０′が、図３３のステップＳ１０２とＳ１０３との間で公開鍵の有無をチェックし、公開鍵がない場合は検証処理を終了するように構成する。これにより、ビデオデータの権利所有者が必要と考えるものだけ検証することが可能となる。したがって、検証が不要なものについて公開鍵とcertificateを用いた検証を省くことが可能になるため、処理速度の向上や消費電力の低減等の追加の効果が得られる。
【０３７９】
また、本実施の形態では、ビデオデータ自体は暗号化されていないが、不正コピー防止のために暗号化されていてもよい。このときビデオデータの暗号化の鍵と再生許可の検証用の暗号化の鍵を別にすることによって、一方が不正に解読されたとしてももう一方に影響がないようにできる。
【０３８０】
また、本実施の形態では、ビデオデータ中にプログラム検証のための公開鍵を多重化しているが、コンテンツプロバイダ以外が不正に作成できないことが保証できれば、ビデオデータ外に存在してもかまわない。
【０３８１】
例えば、ビデオデータ１個に対してビデオデータ管理情報１個を用意することを考える。このとき、ビデオデータ管理情報に前記公開鍵（公開鍵ａ）を格納し、ビデオデータには別の公開鍵（公開鍵ｂ）を多重化して、ビデオデータ管理情報には公開鍵ｂに対応する秘密鍵で暗号化したビデオデータ管理情報のハッシュ値を検証用データとしてビデオデータ管理情報に付加する。これにより、ビデオデータ管理情報が不正なものでないことが再生時に検証でき、その結果その中に含まれる公開鍵ａも正規のものであることが保証できる。
【０３８２】
また、本実施の形態では、プログラムとビデオデータは同一の読み込み専用記録媒体に保存されているが、別の媒体に保存されていた場合や書き換え型記録媒体にも本発明は適用可能である。
【０３８３】
例えば、ビデオディスクプレーヤ１″にハードディスク等の記録媒体およびネットワーク接続機能を追加し、ネットワーク接続機能を通じて、光ディスク２に対する追加のプログラムをダウンロードし、ハードディスクに保存することを考える。このとき、ネットワーク上のサーバーから不正なプログラムをダウンロードしてしまうおそれがある。また、上記ハードディスク上の正規のプログラムが不正に改ざんされてしまうこともありうる。これに対して本発明を用いることで、このような不正なプログラムが光ディスク２上のビデオデータを無断で再生することを防ぐことが可能となる。
【０３８４】
また、本実施の形態では、全体制御部８０′を備えるが、実施の形態１のように全体制御部を備えないような実現方法も考えられる。この場合、プログラム実行部が検証を行うことになる。
【０３８５】
また、本実施の形態では、プログラムのハッシュ値を暗号化しているが、異なるプログラムが異なる値に対応付けられる保証があればこれに限定されないのは言うまでもない。
【０３８６】
〔実施の形態６〕
本発明のさらに他の実施の形態について図１８に基づいて説明すれば、以下のとおりである。なお、前記の実施の形態４に類似するため、相違点のみ説明する。
【０３８７】
＜同期タイミング情報＞
図１８と同じデータ構造を持つ。ただし、各フィールドの意味づけが以下のように異なる。
【０３８８】
まず、フィールドtimingに、割り込みタイミングを特定しない値ALWAYSを定義する。さらに、フィールドtimingの値がALWAYSの場合、フィールドcondition()中の各サブフィールドを、割り込み発生条件として解釈する。例えば、サブフィールドnormalが“１”の場合、同期制御部２２が他の再生状態から通常再生に変化したときに、そのサブフィールドが含まれるsync_info()に対応する割り込みを発生させることを意味する。
【０３８９】
＜ビデオ再生部＞
同期制御部２２は、再生状態が変化した際にフィールドtimingの値がALWAYSであるsync_info()をチェックし、フィールドcondition()の値に応じて割り込みを発生する。
【０３９０】
このようにすることで、再生状態の変化に応じた処理が可能となる。例えば、早送りになった瞬間だけ特別なグラフィックスを表示することで、ユーザはコンテンツを繰り返し楽しむことが可能になり、コンテンツの付加価値を向上させることが可能になる。
【０３９１】
なお、本実施の形態では、再生状態の遷移先に応じて処理を変更したが、再生状態の遷移元に応じて処理を変更してもよい。また、遷移元と遷移先の組み合わせに応じて処理を変更してもよい。
【０３９２】
なお、本発明は上述した各実施の形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施の形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０３９３】
上述した実施の形態においては、プログラムおよびプログラム管理情報でビデオデータを直接参照しているが、それに限定されない。例えば、ビデオデータに関する各種情報（属性情報やランダムアクセス情報など）が含まれたビデオデータ管理情報や、ビデオデータの再生順を示したプレイリスト情報であってもかまわない。
【０３９４】
上述した実施の形態においては、ビデオデータ、同期タイミング情報、プログラムは、光ディスク上に記録されているが、ハードディスクなど別の記録媒体に記録されていてもよい。また、ネットワーク越しの別の記録媒体に存在してもよい。また、それぞれのデータが別の記録媒体に存在してもよい。
【０３９５】
上述した実施の形態においては、プログラムと同期タイミング情報を別のファイルで管理しているが、同一のファイルで管理することも考えられる。この場合、上述した実施の形態と異なり、同期タイミング情報はプログラム実行部からビデオ再生部に送られることになる。これにより、読み出すファイル数が減少するため、オーバーヘッドが減少するという追加の効果が生じる。
【０３９６】
上述した実施の形態においては、プログラム実行部とビデオ再生部の出力の合成の対象を映像としているが、音声とした場合でも同様の仕組みは適用可能である。
【０３９７】
上述した実施の形態においては、プログラム実行部は汎用のプログラムを実行することを想定しているが、これに限定されるものではない。例えば、静止画スライドショー再生のような単機能の処理部であっても本発明の効果を得ることは可能である。また、プログラム実行部がＷＥＢブラウザであり、かつ、プログラムがＨＴＭＬ（HyperText Markup Language）とＥＣＭＡＳｃｒｉｐｔとを組み合わせたものである場合も同様である。
【０３９８】
上述した実施の形態においては、プログラム（同期実行プログラム）や割り込みハンドラで実行される処理は画像を出力するものとしているが、特定の時間軸と同期して実行するものであれば何でもよいことは言うまでもない。ただし、出力制御部を用いてプログラム実行部が生成する画像や音声の出力制御を行うものは除くものとする。例えば、記録媒体中のデータを読み書きや、ネットワークへのアクセス、あるいはプログラム内部の変数をインクリメントすることであってもよい。
【０３９９】
上述した実施の形態においては、プログラム実行部と出力制御部の両方について、同期タイミング情報に基づき制御しているが、両方を制御する必要はない。例えば、プログラム実行部では独自のクロックを用いてビットマップ生成のタイミングを設定して、出力制御部のみを制御したとしてもフレーム単位の制御が可能という効果が得られる。また逆に、出力制御部を備えず、プログラムへの割り込みのみを使用した場合でも、ポーリング処理のオーバーヘッドが無くなるという効果が得られる。
【０４００】
上述した実施の形態においては、フィールドaction_idに基づいて、出力制御部では表示バッファメモリの切替のみを行っているが、それに限定されるものではない。
【０４０１】
上述した実施の形態においては、プログラム実行部および出力制御部を制御対象としているが、合成部を制御対象としてもよい。その場合、制御の種類としては、表示プレーンの順番を切り替えるなどが考えられる。
【０４０２】
図３４に、ビデオディスクプレーヤ１の他の構成例を示す。上述した実施の形態においては、出力制御部はプログラム実行部が生成する画像について切り替えているが、同期タイミング情報に従って画像や音声の出力を制御する場合なら何にでも適用可能である。図３４はその一例である。この例では、ビデオ再生部２０はビデオデータとビットマップデータを多重化したデータを入力として、非圧縮ビデオデータとビットマップデータを出力する。そのため、ビデオ再生部２０は、非圧縮ビデオデータを生成するデコーダと、ビットマップデータ（第２の出力データ）を生成するデコーダ（出力生成手段）との２つを備えており、クロック２３が生成する共通のクロックで動作する。また、出力制御部４０はビデオ再生部２０の出力するビットマップデータの出力を制御する。また、同期タイミング情報はプログラムからビデオ再生部２０に渡す。この構成によれば、プログラムからビットマップデータの出力をビデオフレームの精度で制御することが可能となる。
【０４０３】
上述した実施の形態においては、表示バッファメモリを２つ用いているが、それに限定されるものではない。表示バッファメモリを１つあるいは３つ以上を用いたとしても、本発明の効果を得ることは可能である。
【０４０４】
上述した実施の形態においては、ビデオ再生部と並行して映像を出力するブロックは１個のプログラム実行部のみであるが、複数の映像出力ブロックを用いたとしても、本発明の効果を得ることは可能である。
【０４０５】
上述した実施の形態においては、同期タイミング情報に基づく制御はビデオ再生部が行っているが、本発明はそれに限定されるものではない。ビデオ再生部と共通のクロックを用いている構成要素であれば、本発明の効果を得ることは可能である。
【０４０６】
上述した実施の形態においては、複数の同期実行プログラムを実行した結果と同一の結果が得られる統合同期実行プログラムを指定するsync_info()中のmerged_flagの値を“１”に設定しているが、本発明はそれに限定されない。例えば、ビデオの途中から再生した場合には、警告を表示するプログラムや先頭から再生した場合と異なるグラフィックスを表示するプログラムを指定することなどにも適用可能である。
【０４０７】
すなわち、本発明の再生装置は、データ取得手段は、コンテンツデータの途中から再生を開始した場合にのみ実行される途中再生同期実行プログラムを取得するものであり、同期タイミング情報は、タイミング指定情報とともに、実行すべき同期実行プログラムを示すアクション指定情報と、該アクション指定情報で示された同期実行プログラムが途中再生同期実行プログラムであるか否かを示す途中再生同期実行プログラム識別情報（例えばmerged_flagに“１”以外の値をセット）を含み、コンテンツデータの途中から再生を開始する際、同期制御手段は、途中再生同期実行プログラムであることを示す途中再生同期実行プログラム識別情報を含む同期タイミング情報のうち、再生を開始する時刻に最も近い過去の時刻を示すタイミング指定情報を含む同期タイミング情報と、該同期タイミング情報よりも後の時刻を示すタイミング指定情報を含む同期タイミング情報とに従って、タイミング指定情報が前のものから順に同期制御信号を送信するように構成されていてもよい。なお、途中再生同期実行プログラムは、他の同期実行プログラムと同じ光ディスクに記録されていてもよい。
【０４０８】
これにより、再生開始時刻に応じて異なる出力を得られるため、ユーザはコンテンツを繰り返し楽しむことが可能になり、コンテンツの付加価値を向上させることができるという効果が得られる。すなわち、意図的に、途中から再生した場合に異なる結果となるように、コンテンツを作成することが可能となる。
【０４０９】
なお、本発明の再生装置は、第１の出力生成部と第２の出力生成部とを備えた再生装置において、同期タイミング情報に従って、第１の出力生成部のクロックに基づき第２の出力生成部の出力を制御する手段を備えて構成されていてもよい。
【０４１０】
さらに、本発明の再生装置は、前記同期タイミング情報は、第１の出力生成部からの出力を生成するための情報とは分離されていてもよい。
【０４１１】
さらに、本発明の再生装置は、前記同期タイミング情報は、第１の出力生成部の時間軸上の時刻を含み、制御対象と制御内容とのうちの少なくとも一方を含んでいてもよい。
【０４１２】
さらに、本発明の再生装置は、第１の出力生成部はビデオ再生部であり、第２の出力生成部はプログラム実行部であってもよい。
【０４１３】
また、本発明の再生装置の再生方法は、第１の出力生成部と第２の出力生成部とを備える再生装置の再生方法であって、同期タイミング情報と第１の出力生成部のクロックとを比較するステップと、比較結果に従って制御信号を発行するステップとを含んでいてもよい。
【０４１４】
また、本発明の記録媒体は、第１の出力生成部からの出力を生成するための情報および第２の出力生成部からの出力を生成するための情報を記録した記録媒体において、同期タイミング情報を記録し、該同期タイミング情報が、第１の出力生成部のクロックに基づき第２の出力生成部の出力を制御するためのものであってもよい。
【０４１５】
さらに、本発明の記録媒体は、前記タイミング情報は第２の出力生成部からの出力を生成するための情報の近傍に記録してあってもよい。
【０４１６】
さらに、本発明の記録媒体は、前記タイミング情報と前記プログラムとが同一ファイルに格納してあってもよい。
【０４１７】
最後に、ビデオディスクプレーヤ１，１′，１″の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０４１８】
すなわち、ビデオディスクプレーヤ１，１′，１″は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるビデオディスクプレーヤ１，１′，１″の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記ビデオディスクプレーヤ１，１′，１″に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０４１９】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０４２０】
また、ビデオディスクプレーヤ１，１′，１″を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０４２１】
本発明の再生装置は、ＡＶデータ等の再生に同期させて実行するプログラムを効率よく実行することができるため、ビデオデータ再生時にコンピュータプログラムが生成するグラフィック出力を重畳表示させるビデオプレーヤーなどに好適に利用することができる。
【図面の簡単な説明】
【０４２２】
【図１】本発明の実施の形態に係るビデオディスクプレーヤの構成の概略を示す機能ブロック図である。
【図２】図１に示したビデオディスクプレーヤのプログラム実行部の詳細な構成を示す機能ブロック図である。
【図３】図１に示したビデオディスクプレーヤの出力制御部の詳細な構成を示す機能ブロック図である。
【図４】図１に示したビデオディスクプレーヤのビデオ再生部の詳細な構成を示す機能ブロック図である。
【図５】図５（ａ）（ｂ）は、同期タイミング情報のデータ構造を示す説明図である。
【図６】図１に示したビデオディスクプレーヤが再生する光ディスクのデータ配置を示す説明図である。
【図７】図１に示したビデオディスクプレーヤによる再生処理を示すフローチャートである。
【図８】図１に示したビデオディスクプレーヤのプログラム実行部によるプログラム実行処理を示すフローチャートである。
【図９】図１に示したビデオディスクプレーヤのプログラム実行部による割り込みハンドラの処理を示すフローチャートである。
【図１０】同期タイミング情報の具体例を示す説明図である。
【図１１】図１０に示した同期タイミング情報の具体例に対応するタイミングチャートである。
【図１２】図１２（ａ）（ｂ）は、同期タイミング情報のデータ構造を示す説明図である。
【図１３】フィールドindependent_flagの設定例を示す説明図であり、図１３（ａ）は表示例、図１３（ｂ）は図１３（ａ）に対応するsync_info()、図１３（ｃ）は表示例、図１３（ｄ）は図１３（ｃ）に対応するsync_info()である。
【図１４】フィールドmerged_flagの設定例を示す説明図であり、図１４（ａ）は表示例、図１４（ｂ）は図１４（ａ）に対応するsync_info()である。
【図１５】図１に示したビデオディスクプレーヤのプログラム実行部によるプログラム実行処理を示すフローチャートである。
【図１６】図１に示したビデオディスクプレーヤのビデオ再生部による割り込み再現処理を示すフローチャートである。
【図１７】同期タイミング情報の具体例を示す説明図である。
【図１８】図１８（ａ）（ｂ）は、同期タイミング情報のデータ構造を示す説明図である。
【図１９】本発明の他の実施の形態に係るビデオディスクプレーヤの構成の概略を示す機能ブロック図である。
【図２０】図１９に示したビデオディスクプレーヤのプログラム実行部の詳細な構成を示す機能ブロック図である。
【図２１】図１９に示したビデオディスクプレーヤの全体制御部の詳細な構成を示す機能ブロック図である
【図２２】図２２（ａ）（ｂ）は、プログラム管理情報のデータ構造を示す説明図である。
【図２３】図１９に示したビデオディスクプレーヤが再生する光ディスクのデータ配置を示す説明図である。
【図２４】図１９に示したビデオディスクプレーヤの全体制御部の処理を示すフローチャートである。
【図２５】図１９に示したビデオディスクプレーヤの全体制御部のメニュー呼び出し処理を示すフローチャートである。
【図２６】図１９に示したビデオディスクプレーヤの全体制御部のレジューム処理を示すフローチャートである。
【図２７】図１９に示したビデオディスクプレーヤの各ブロックの相互関係の一例を示すシーケンス図であり、is_video_specified=1かつplayback_control_mode=1かつstart_mode=0の場合を示す。
【図２８】本発明の他の実施の形態に係るビデオディスクプレーヤの構成の概略を示す機能ブロック図である。
【図２９】図２８に示したビデオディスクプレーヤの全体制御部の詳細な構成を示す機能ブロック図である 。
【図３０】図３０(ａ）（ｂ）は、プログラム管理情報のデータ構造を示す説明図である。
【図３１】図３１（ａ）（ｂ）は、図３０（ｂ）に示したvideo_info()に含まれるcertificateの作成およびプログラムの検証の概要を示す説明図である。
【図３２】図２８に示したビデオディスクプレーヤの全体制御部の処理概要を示すフローチャートである。
【図３３】図２８に示したビデオディスクプレーヤの全体制御部の検証処理を示すフローチャートである。
【図３４】本発明の他の実施の形態に係るビデオディスクプレーヤの構成の概略を示す機能ブロック図である。
【図３５】従来のＡＶ機器の構成の概略を示す機能ブロック図である。
【符号の説明】
【０４２３】
１，１′，１″    ビデオディスクプレーヤ（再生装置）
２    光ディスク（コンテンツ記録媒体）
１０，７０    プログラム実行部（プログラム実行手段、出力生成手段）
２０    ビデオ再生部（出力生成手段）
２２    同期制御部（同期制御手段）
２４    デコーダ（デコード手段）
２３    クロック（クロック生成手段）
４０    出力制御部（出力制御手段）
５０    ディスク読み出し部（データ取得手段）
６０    同期処理部（同期処理手段）
６１Ａ  プログラム格納領域（同期プログラム格納領域）
６１Ｂ  同期タイミング情報格納領域
６１Ｃ  プログラム管理情報格納領域
６２    ビデオデータ領域（コンテンツデータ格納領域）
８０，８０′    全体制御部（全体制御手段、提示手段）
８８    検証部（検証手段）
９０    切替部（切替手段）
【図１】
2006107586.tif 000003
【図２】
2006107586.tif 000004
【図３】
2006107586.tif 000005
【図４】
2006107586.tif 000006
【図５】
2006107586.tif 000007
【図６】
2006107586.tif 000008
【図７】
2006107586.tif 000009
【図８】
2006107586.tif 000010
【図９】
2006107586.tif 000011
【図１０】
2006107586.tif 000012
【図１１】
2006107586.tif 000013
【図１２】
2006107586.tif 000014
【図１３】
2006107586.tif 000015
【図１４】
2006107586.tif 000016
【図１５】
2006107586.tif 000017
【図１６】
2006107586.tif 000018
【図１７】
2006107586.tif 000019
【図１８】
2006107586.tif 000020
【図１９】
2006107586.tif 000021
【図２０】
2006107586.tif 000022
【図２１】
2006107586.tif 000023
【図２２】
2006107586.tif 000024
【図２３】
2006107586.tif 000025
【図２４】
2006107586.tif 000026
【図２５】
2006107586.tif 000027
【図２６】
2006107586.tif 000028
【図２７】
2006107586.tif 000029
【図２８】
2006107586.tif 000030
【図２９】
2006107586.tif 000031
【図３０】
2006107586.tif 000032
【図３１】
2006107586.tif 000033
【図３２】
2006107586.tif 000034
【図３３】
2006107586.tif 000035
【図３４】
2006107586.tif 000036
【図３５】
2006107586.tif 000037