(57)【特許請求の範囲】
【請求項１】
記録媒体に格納されたストリームデータを読み出して、再生するストリームデータ再生装置であって、
前記ストリームデータの再生を監視する監視処理部と、
アプリケーションを実行するアプリケーション実行部とを備え、
前記監視処理部は、前記記録媒体に格納された、ストリームデータの再生アドレスを指定する情報と前記アプリケーション実行部に通知するアクションデータとを関連付けて記録したアクション定義情報を参照し、ストリームデータの前記指定されたアドレスが再生されたことを検知すると、前記指定されたアドレスに関連付けられたアクションデータを前記アプリケーション実行部に対して通知する。
【請求項２】
前記記録媒体は、可搬記録媒体であることを特徴とする請求項１に記載のストリームデータ再生装置。
【請求項３】
請求項１に記載のストリームデータ再生装置であって、
前記記録媒体に格納された分岐定義情報にしたがって、前記記録媒体から前記ストリームデータを読み出す読み出し処理部をさらに備えることを特徴とするストリームデータ再生装置。
【請求項４】
請求項３に記載のストリームデータ再生装置であって、
前記分岐定義情報は、分岐位置を示す情報、分岐先を示す情報、および、分岐を許可するか否かを可変的に示す情報を含み、
前記読み出し処理部は、前記分岐定義情報に基づいて、前記記録媒体から前記分岐位置まで前記ストリームデータの読み出しを終了すると、分岐が許可されている場合は、前記分岐先から前記ストリームデータを読み出すことを特徴とするストリームデータ再生装置。
【請求項５】
請求項３または４に記載のストリームデータ再生装置であって、
前記分岐定義情報は、分岐する回数を示す情報を含み、
前記読み出し処理部は、前記回数分だけ、分岐した読み出しを行なうことを特徴とするストリームデータ再生装置。
【請求項６】
記録媒体に格納されたストリームデータを読み出して、再生する情報処理装置におけるであって、ストリームデータ再生方法であって、
前記ストリームデータの再生を監視する監視処理手段が、前記記録媒体に格納された、ストリームデータの再生アドレスを指定する情報と前記アプリケーション実行手段に通知するアクションデータとを関連付けて記録したアクション定義情報を参照し、ストリームデータの前記指定されたアドレスが再生されたことを検知すると、前記指定されたアドレスに関連付けられたアクションデータをアプリケーションを実行するアプリケーション実行手段に対して通知するステップとを含むことを特徴とする情報処理装置におけるストリームデータ再生方法。
【請求項７】
記録媒体に格納されたストリームデータを読み出して、再生する情報処理装置で実行可能なプログラムであって、
前記ストリームデータの再生を監視する監視処理手段と、
アプリケーションを実行するアプリケーション実行手段として情報処理装置を機能させ、
前記監視処理手段は、前記記録媒体に格納された、ストリームデータの再生アドレスを指定する情報と前記アプリケーション実行手段に通知するアクションデータとを関連付けて記録したアクション定義情報を参照し、ストリームデータの前記指定されたアドレスが再生されたことを検知すると、前記指定されたアドレスに関連付けられたアクションデータを前記アプリケーション実行手段に対して通知することを特徴とするプログラム。
【請求項８】
ストリームデータとプログラムとを記録した記録媒体であって、
前記プログラムは、前記記録媒体に格納されたストリームデータを読み出して、再生する情報処理装置で実行可能であり、
前記ストリームデータの再生を監視する監視処理手段と、
アプリケーションを実行するアプリケーション実行手段として情報処理装置を機能させ、
前記監視処理手段は、前記記録媒体に格納された、ストリームデータの再生アドレスを指定する情報と前記アプリケーション実行手段に通知するアクションデータとを関連付けて記録したアクション定義情報を参照し、ストリームデータの前記指定されたアドレスが再生されたことを検知すると、前記指定されたアドレスに関連付けられたアクションデータを前記アプリケーション実行手段に対して通知することを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サウンドデータ等のストリームデータの再生とアプリケーションの動作を同期させる方式に関する。
【０００２】
【従来の技術】
従来、ＰＣＭデータ等のサウンドデータ（ストリームデータ）の再生は、例えば、サウンドデータが格納されたＣＤ等からサウンド再生処理プロセッサ（ＳＰＵ）へサウンドデータを順次転送することによって行っていた。
【０００３】
【発明が解決しようとする課題】
このようにして再生されるサウンドデータは、ＣＤ等から順次読み出され、そのまま、ＳＰＵに転送されて演奏されるという特性上、同じフレーズが複数回出現するようなものでも実際の演奏時間分のデータをＣＤ等に持たなければならなかった。
【０００４】
図１０は、サウンドデータと実際の演奏との間の関係を説明するための図である。同図に示すように、この場合、実際は、「Ａ」、「Ｂ」、「Ｃ」の３種類のフレーズが繰り返し使われているだけだが、前述したように、サウンドデータの中身（同図（ａ））は、実際の演奏（同図（ｂ））と完全に一致している必要があった。従って、音楽ＣＤと同じ音質のＰＣＭデータ等の場合、サウンドデータの大きさは、かなり大きくなってしまう。
【０００５】
また、ゲーム等のアプリケーションの中には、サウンドデータの再生と同期して、特定の動作を行わせたいものがある。例えば、サウンドデータの再生が特定位置まで来た場合に、それに同期して、画面に表示されたキャラクタに口パク等をさせたい場合である。このような場合、従来は、アプリケーションは、特定のサウンドデータの再生開始をＳＰＵに指示した後、そのサウンドデータが理想的な状態で再生されると仮定して、所定の予測時間後に、口パク等をさせていた。しかしながら、サウンドデータが格納されたＣＤ等の読み取り状態が悪くサウンドデータの再生が遅れた場合等、サウンドデータの再生が予測通り行われなかった場合、サウンドデータの再生とアプリケーションの動作との同期がとれなくなる場合があった。
【０００６】
本発明の目的は、サウンドデータ等のストリームデータの再生と、アプリケーションの動作との同期をとることが容易なストリームデータ再生方式を提供することにある。
【０００７】
【課題を解決するための手段】
本発明に係るストリームデータ再生装置は、記録媒体に格納されたストリームデータを読み出して、再生するストリームデータ再生装置である。そして、前記記録媒体に格納されたストリームデータを読み出す読み出し処理部と、読み出したストリームデータを再生する再生処理部と、前記ストリームデータの再生を監視する監視処理部とを備え、前記監視処理部は、前記記録媒体に格納されたアクション定義情報に指定されたアクション位置に対応するストリームデータが再生されたことを検知すると、アプリケーションに対してその旨を通知することを特徴とする。
【０００８】
本発明に係るストリームデータ再生方法は、記録媒体に格納されたストリームデータを読み出して、再生するストリームデータ再生方法である。そして、前記記録媒体からアクション定義情報を読み出し、前記記録媒体から前記ストリームデータを読み出して、再生し、前記ストリームデータの再生を監視し、前記アクション定義情報に指定されたアクション位置に対応するストリームデータが再生されたことを検知すると、アプリケーションに対してその旨を通知することを特徴とする。
【０００９】
本発明に係る記録媒体は、ストリームデータ再生プログラムが記録された記録媒体である。そして、前記ストリームデータ再生プログラムは、前記記録媒体からアクション定義情報を読み出すステップと、前記記録媒体からストリームデータを読み出すステップと、読み出したストリームデータを再生するステップと、前記ストリームデータの再生を監視し、前記アクション定義情報に指定されたアクション位置に対応するストリームデータが再生されたことを検知すると、アプリケーションに対してその旨を通知するステップとを備えることを特徴とする。
【００１０】
本発明に係る別の記録媒体は、ストリームデータと、当該ストリームデータの再生に同期して、アプリケーションの動作をさせたいアクション位置を指定するアクション定義情報と、前記ストリームデータを読み出し、再生するとともに、当該再生を監視して、前記アクション位置に対応するストリームデータが再生されたのを検知すると、その旨をアプリケーションに通知するストリームデータ再生プログラムとが記録されたことを特徴とする。
【００１１】
なお、前記プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカード等の可搬記録媒体や、ネットワークを介して、頒布することができる。
【００１２】
また、以上の場合において、前記アクション定義情報は、前記アクション位置に対応するストリームデータが再生されたことをアプリケーションに通知する際に、アプリケーションに渡されるアクションデータを有するようにしてもよい。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しつつ、詳細に説明する。
【００１４】
まず、本発明が適用されるエンタテインメント装置について説明する。本エンタテインメント装置は、例えば、ＣＤ／ＤＶＤ（又は、ネットワーク）等によって提供されるゲーム等のアプリケーションを実行するものである。
【００１５】
図１は、本発明が適用されるエンタテインメント装置の構成を示すブロック図である。
【００１６】
同図に示すように、本エンタテインメント装置は、ＭＰＵ１００と、ＧＰ１１０と、ＩＯＰ１２０と、ＣＤ／ＤＶＤデコーダ１３０と、ＳＰＵ１４０と、ＯＳＲＯＭ１５０と、メインメモリ１６０と、ＩＯＰメモリ１７０とを備える。
【００１７】
ＭＰＵ１００とＧＰ１１０とは、専用バス１０１によって接続され、ＭＰＵ１００とＩＯＰ１２０とは、バス１０２によって接続されている。また、ＩＯＰ１２０、ＣＤ／ＤＶＤデコーダ１３０、ＳＰＵ１４０及びＯＳＲＯＭ１５０は、バス１０３に接続されている。
【００１８】
また、ＭＰＵ１００には、メインメモリ１６０が接続され、ＩＯＰ１２０には、ＩＯＰメモリ１７０が接続されている。更に、ＩＯＰ１２０には、コントローラ（ＰＡＤ）１８０が接続される。
【００１９】
ＭＰＵ１００は、本エンタテインメント装置のメインＣＰＵである。ＭＰＵ１００は、ＯＳＲＯＭ１５０に格納されたプログラムや、ＣＤやＤＶＤからメインメモリ１６０にロードされたプログラムを実行することによって、所定の処理を行う。
【００２０】
ＧＰ１１０は、本エンタテインメント装置のレンダリングの機能を受け持つグラフィックスプロセッサである。ＧＰ１１０は、ＭＰＵ１００からの指示に従って、描画処理を行う。
【００２１】
ＩＯＰ１２０は、ＭＰＵ１００と周辺装置（ＣＤ／ＤＶＤデコーダ１３０やＳＰＵ１４０等）との間のデータのやり取りを制御する入出力用サブ・プロセッサである。
【００２２】
ＣＤ／ＤＶＤデコーダ１３０は、ドライブに装着されているＣＤやＤＶＤからデータを読み出し、メインメモリ１６０への転送を行う。
【００２３】
ＳＰＵ１４０は、サウンド再生処理プロセッサであり、サウンドバッファ（不図示）に格納されたサウンドデータ（ＰＣＭデータ等）を、ＭＰＵ１００からの発音命令に基づいて、所定のサンプリング周波数で再生する。
【００２４】
ＯＳＲＯＭ１５０は、起動時等にＭＰＵ１００やＩＯＰ１２０が実行するプログラムが格納されているＲＯＭである。
【００２５】
メインメモリ１６０は、ＭＰＵ１００の主記憶であり、ＭＰＵ１００が実行する命令やＭＰＵ１００が利用するデータ等が格納される。メインメモリ１６０には、サウンドデータの再生に利用されるバッファ１６１が設けられている。バッファ１６１の大きさは、例えば、５００ＫＢである。
【００２６】
ＩＯＰメモリ１７０は、ＩＯＰ１２０の主記憶であり、ＩＯＰ１２０が実行する命令やＩＯＰ１２０が利用するデータ等が格納される。
【００２７】
コントローラ（ＰＡＤ）１８０は、ゲーム等の実行中に、プレイヤーの意図をアプリケーション等に伝達するインタフェースである。
【００２８】
次に、以上のような構成を有するエンタテインメント装置によって実行されるアプリケーションのサウンドデータ再生処理について説明する。
【００２９】
ここでは、アプリケーションは、必要に応じて、ＣＤ／ＤＶＤに格納されているサウンドデータ（ストリームデータ）の再生を行うものとする。サウンドデータは、例えば、４０ＭＢ程度のＰＣＭデータである。
【００３０】
図２は、本エンタテインメント装置におけるサウンドデータ再生処理の概要を説明するための図である。同図に示すように、本エンタテインメント装置におけるサウンドデータ再生処理は、読み出し処理部２００及び出力処理部２１０によって実現される。
【００３１】
すなわち、本エンタテインメント装置においてサウンドデータの再生を行う場合、読み出し処理部２００が、ＣＤ／ＤＶＤ２２０に格納されたサウンドデータを順次、メインメモリ１６０上のバッファ１６１に読み出すとともに、出力処理部２１０が、バッファ１６１に読み出されたサウンドデータを順次、ＳＰＵ１４０へ転送することで、サウンドデータの再生を行う。
【００３２】
より具体的には、ＣＤ／ＤＶＤ２２０からバッファ１６１へデータを読み出す処理と、バッファ１６１からＳＰＵ１４０内のサウンドバッファへデータを転送する処理とを、ＭＰＵ１００によって並行処理することで実現される。
【００３３】
次に、読み出し処理部２００の処理について説明する。
【００３４】
読み出し処理部２００は、予め用意された分岐定義ファイルに従って、ＣＤ／ＤＶＤからサウンドデータを読み出す。
【００３５】
分岐定義ファイルは、例えば、アプリケーションの作成者によって予め用意されるものである。アプリケーションの作成者は、曲の各フレーズの節目となる部分に分岐ポイントや分岐先ポイントを設定し、その分岐ポイントや分岐先ポイントの位置情報を分岐定義ファイルに指定する。読み出し処理部２００は、サウンドデータの読み出しが分岐定義ファイルに指定された分岐ポイントまで来たら、指定された分岐先ポイントに読み出し位置を移動させる。また、分岐定義ファイルには、分岐ポイントでの分岐の条件として、分岐回数を指定することができ、アプリケーション作成者は、所望の分岐回数を指定することで、特定回数のループが実現できる。
【００３６】
図３は、分岐定義ファイルの構成例を示す図である。
【００３７】
同図に示すように、分岐定義ファイル３００は、分岐位置オフセット３０１と、分岐先オフセット３０２と、分岐カウンタ３０３と、分岐回数３０４と、許可フラグ３０５とを有し、３０１〜３０５は、複数組設定することができる。
【００３８】
分岐位置オフセット３０１は、分岐を行う位置を示すデータであり、例えば、サウンドデータの先頭から数えた分岐位置のバイトアドレスが格納される。
【００３９】
分岐先オフセット３０２は、分岐が実行された後の読み込み開始位置を示すデータであり、例えば、サウンドデータの先頭から数えた分岐先のバイトアドレスが格納される。
【００４０】
分岐回数３０４は、対応する分岐位置で分岐を行う回数を示すデータである。
【００４１】
分岐カウンタ３０３は、実際に分岐が行われた回数を数えるカウンタで、このカウンタの値が分岐回数３０４に指定された値に達するまでは分岐が行われる。分岐カウンタ３０３は、例えば、０に初期化され、読み出し処理部２００によって分岐時にカウントアップされる。
【００４２】
許可フラグ３０５は、分岐位置において、実際に分岐を行うか否かを制御するためのフラグである。アプリケーションは、許可フラグ３０５を変更することにより、リアルタイムに分岐をコントロールできる。
【００４３】
図４は、読み出し処理部２００による処理の流れを示すフローチャートである。
【００４４】
アプリケーションから、サウンドデータの読み出しが指示されると、まず、ＣＤ／ＤＶＤから、メインメモリ１６０上に、分岐定義ファイル３００を読み込む（Ｓ４０１）。
【００４５】
また、読み出し開始位置を示すポインタＰ１をサウンドデータを格納したファイルの先頭を指すように初期化する。
【００４６】
次に、バッファ１６１の空きが一定以上に達したか否かを判別する（Ｓ４０２）。前述したように、バッファ１６１への読み出し処理と平行に、バッファ１６１からＳＰＵ１４０への出力処理が実行されており、ＣＤ／ＤＶＤから読み出したサウンドデータは、順次、ＳＰＵ１４０へ転送されている。
【００４７】
判別の結果、一定以上に達していない場合は（Ｓ４０２：Ｎｏ）、出力処理部２１０によりバッファ１６１内のデータが出力されて、バッファ１６１の空きが一定以上に達するのを待つ。
【００４８】
そして、バッファ１６１の空きが一定以上に達すると（Ｓ４０２：Ｙｅｓ）、読み出し終了位置を示すポインタＰ２を、「Ｐ１＋空きバッファサイズ」に設定する（Ｓ４０３）。
【００４９】
次に、Ｐ１〜Ｐ２の間に、分岐定義ファイル３００に指定された分岐位置オフセット３０１が含まれているか否かを判別する（Ｓ４０４）。
【００５０】
判別の結果、Ｐ１〜Ｐ２の間に、分岐位置が存在しない場合は（Ｓ４０４：Ｎｏ）、次の読み出し開始位置を示すポインタＰ３に、「Ｐ２＋１」を代入し（Ｓ４０５）、Ｐ１〜Ｐ２の間のデータをバッファ１６１上に読み込む（Ｓ４０６）。
【００５１】
一方、Ｐ１〜Ｐ２の間に分岐定義ファイル３００に指定された分岐位置オフセット３０１が含まれている場合は（Ｓ４０４：Ｙｅｓ）、続いて、対応する許可フラグ３０５を調べて、分岐が許可されているか否かを判別する（Ｓ４０７）。
【００５２】
その結果、許可されていない場合は（Ｓ４０７：Ｎｏ）、分岐を行わないので、前述したＰ１〜Ｐ２の間に分岐位置が存在しない場合と同様に、次の読み出し開始位置を示すポインタＰ３に、「Ｐ２＋１」を代入し（Ｓ４０５）、Ｐ１〜Ｐ２の間のデータをバッファ１６１上に読み込む（Ｓ４０６）。
【００５３】
一方、許可されている場合は（Ｓ４０７：Ｙｅｓ）、対応する分岐カウンタ３０３の値が、対応する分岐回数３０４に指定された値未満であるか否かを判別する（Ｓ４０８）。その結果、分岐カウンタ３０３の値が、指定された分岐回数以上になっている場合は（Ｓ４０８：Ｎｏ）、指定された回数の分岐は終了しているので、分岐を行わずに、分岐カウンタ３０３をリセットし（Ｓ４０９）、前述したＰ１〜Ｐ２の間に分岐位置が存在しない場合と同様に、次の読み出し開始位置を示すポインタＰ３に、「Ｐ２＋１」を代入し（Ｓ４０５）、Ｐ１〜Ｐ２の間のデータをバッファ１６１上に読み込む（Ｓ４０６）。
【００５４】
一方、分岐カウンタ３０３の値が、指定された分岐回数未満である場合は（Ｓ４０８：Ｙｅｓ）、分岐を行うため、まず、分岐カウンタ３０３に１を足す（Ｓ４１０）。そして、次の読み出し開始位置を示すポインタＰ３に、対応する分岐先オフセット３０２を代入し、今回の読み出し終了位置を示すポインタＰ２に分岐位置オフセット３０１を代入する（Ｓ４１１）。そして、Ｐ１〜Ｐ２の間のデータ、すなわち、今回の読み出し開始位置から分岐位置までのデータをバッファ１６１上に読み込む（Ｓ４０６）。
【００５５】
以上のようにして、バッファ１６１へのデータの読み込みを行うと、次の読み出しを開始するため、次回の読み出し開始位置を示すポインタＰ３の値を、読み出し開始位置を示すポインタＰ１に代入して（Ｓ４１２）、バッファ１６１の空きが一定以上に達するのを待つ処理に戻る（Ｓ４０２）。以下、必要なサウンドデータの読み出しが終了するまで、上述した処理を繰り返す。
【００５６】
以上のような処理により、分岐定義ファイル３００に指定された分岐情報に従ったサウンドデータの読み出しが実現できる。
【００５７】
図５は、分岐を利用した場合のサウンドデータと実際の演奏との間の関係を説明するための図である。同図（ａ）に示すように、サウンドデータとしては、「Ａ」、「Ｂ」、「Ｃ」のみからなるデータを用意しておき、分岐定義ファイル３００を、「Ｂ」の終端まで読み出したら、「Ｂ」の先頭に１回分岐し、「Ｃ」の終端まで読み出したら、「Ａ」の先頭に２回（以上）分岐するように設定することで、同図（ｂ）に示すような演奏を実現することができる。
【００５８】
以上説明したように、本実施形態におけるデータ読み出し処理によれば、分岐定義ファイル３００に従って、サウンドデータの読み出しを行うので、サウンドデータの読み出し順を制御することが可能になり、同じフレーズが複数回出現するサウンドデータの場合は、分岐を利用することで、重複する部分を削減することができ、サウンドデータを格納するＣＤ／ＤＶＤ等の記録媒体の容量の大幅な節約が可能になる。
【００５９】
また、分岐定義ファイル３００に許可フラグ３０５を設けているので、分岐をするか否かをダイナミックに制御でき、ゲーム等の進行に合わせて、異なった並びの演奏を実現することも可能になる。
【００６０】
図６は、ゲーム等の進行にあわせて、分岐を行うか否かを制御した例を示す図である。
【００６１】
通常であれば、同図（ａ）のｂｐ１のところで、「Ｂ」の先頭への分岐が１回実行され、同図（ｂ）に示すように、「Ｂ」が２回読み出されるが、ｂｐ１で分岐するか否かを判断する前に、許可フラグ３０５を、不許可に変更すると、同図（ｃ）に示すように、ｂｐ２の位置では分岐が実行されず、そのまま「Ｃ」が読み出される。その後、許可フラグ３０５を許可に変更すると、ｂｐ３のところでは、分岐が実行され、「Ｂ」が２回読み出される。
【００６２】
このように、本実施形態では、許可フラグ３０５を変更することにより、分岐をするか否かをダイナミックに制御できるので、ゲーム等のアプリケーションは、当該アプリケーションの進行状況に応じて、実際に各フレーズが演奏される順序を変更することが可能になる。
【００６３】
次に、以上のようにして再生されるサウンドに同期して、アプリケーションに所定のアクションをさせる場合について説明する。
【００６４】
前述したように、バッファ１６１上に読み出されたサウンドデータは、出力処理部２１０によって、順次、ＳＰＵ１４０に転送されて、演奏される。
【００６５】
本エンタテインメント装置では、サウンドデータの再生に際して、演奏が特定の位置に来たとき、アプリケーションに対して、イベントが発生したことを通知することができる。
【００６６】
図７は、このような機能を説明するための図である。本エンタテインメント装置では、サウンドデータを順次再生していき、サウンドデータの再生が、予めアクション定義ファイルに指定したマーク位置（同図のＡ〜Ｅ）に来たときに、アプリケーションに対して、イベントが発生したことを知らせる。
【００６７】
このような機能を実現するため、本エンタテインメント装置では、サウンドデータの再生に際して、サウンド再生監視処理が起動される。本サウンド再生監視処理は、前述したＣＤ／ＤＶＤからバッファ１６１への読み出し処理や、バッファ１６１からＳＰＵ１４０への出力処理と同様に、ＭＰＵ１００によって、並行処理されるものである。
【００６８】
本サウンド再生監視処理は、サウンド再生状態を監視し、サウンドの再生が、アクション定義ファイルに指定されたマーク位置に来たときに、イベントが発生したことをアプリケーションに通知する。アクション定義ファイルは、分岐定義ファイルと同様に、アプリケーションの作成者により予め用意されるもので、アプリケーション作成者は、ストリームに同期したアクションをアプリケーションにさせたい位置をアクション定義ファイルに登録する。
【００６９】
図８は、アクション定義ファイルの構成例を示す図である。
【００７０】
同図に示すように、アクション定義ファイル８００は、アクション発生オフセット８０１と、アクションデータ８０２とを有し、アクション発生オフセット８０１及びアクションデータ８０２は、複数組設定することができる。
【００７１】
アクション発生オフセット８０１は、アクションを発生させる位置を示すデータであり、例えば、サウンドデータの先頭から数えたアクションを発生させる位置のバイトアドレスが指定される。
【００７２】
アクションデータ８０２は、アクション発生オフセット８０１で指定される位置までサウンドデータが再生され、そのことをアプリケーションに通知する際に、アプリケーションに渡されるデータである。アプリケーションは、当該アプリケーションデータに従って、何らかのエフェクト（口パクをする等）を実行することにより、完全にストリームと同期させたアクションを実行することができる。
【００７３】
図９は、サウンド再生監視処理の流れを示すフローチャートである。
【００７４】
同図に示すように、サウンド再生監視処理は、起動されると、まず、ＣＤ／ＤＶＤから、メインメモリ１６０上に、アクション定義ファイル８００を読み込む（Ｓ９０１）。
【００７５】
また、監視対象領域の開始位置を示すポインタＰ１をストリームデータの先頭を示す値に初期化する。
【００７６】
次に、監視対象領域の終了位置を示すポインタＰ２に、現在のストリーム使用位置を代入する（Ｓ９０２）。この現在のストリームの使用位置は、ＳＰＵ１４０内の特定のレジスタを参照することで、知ることができる。
【００７７】
そして、Ｐ１〜Ｐ２の間に、アクション定義ファイル８００に指定されたアクション発生オフセット８０１が含まれているか否かを判別する（Ｓ９０３）。
【００７８】
その結果、Ｐ１〜Ｐ２の間に、アクション発生位置が存在しない場合は（Ｓ９０３：Ｎｏ）、次の監視対象領域の判別を行うため、監視対象領域の開始位置を示すポインタＰ１に、今回の監視対象領域の終了位置を示すポインタＰ２の値を代入し（Ｓ９０４）、前述した処理を繰り返す。
【００７９】
一方、Ｐ１〜Ｐ２の間に、アクション定義ファイル８００に指定されたアクション発生オフセット８０１が含まれている場合は（Ｓ９０３：Ｙｅｓ）、アプリケーションに対して、対応するアクションデータ８０２を通知する（Ｓ９０５）。
【００８０】
そして、次の監視対象領域の判別を行うため、監視対象領域の開始位置を示すポインタＰ１に、アクション発生オフセット８０１に１を足した値を代入し（Ｓ９０６）、前述した処理を繰り返す。
【００８１】
以上説明したように、サウンド再生監視処理では、実際にＳＰＵ１４０によって再生されたサウンドデータの位置を監視し、サウンドデータの演奏が、予め指定されたマーク位置に来たときに、アプリケーションに対して、イベントが発生したことを通知するので、アプリケーションは、サウンドデータの再生に完全に同期した処理を容易に実現することが可能になる。従って、ＣＤ／ＤＶＤの読みが悪くストリームが遅れたりしたとき等でも、サウンド再生に完全に同期したアクションを実現することが可能になる。
【００８２】
なお、以上では、サウンドデータ再生処理について説明したが、本発明は、サウンドデータに限らず、他のストリームデータ（例えば、ビデオデータ等）の再生処理にも適用することができる。
【００８３】
【発明の効果】
以上、詳細に説明したように、本発明によれば、サウンドデータ等のストリームデータの再生と、アプリケーションの動作との同期をとることが容易になる。
【図面の簡単な説明】
【図１】  本発明が適用されるエンタテインメント装置の構成を示すブロック図である。
【図２】  本エンタテインメント装置におけるサウンドデータ再生処理の概要を説明するための図である。
【図３】  分岐定義ファイルの構成例を示す図である。
【図４】  読み出し処理部２００による処理の流れを示すフローチャートである。
【図５】  分岐を利用した場合の、サウンドデータと実際の演奏との間の関係を説明するための図である。
【図６】  分岐を行うか否かを制御した例を示す図である。
【図７】  サウンドデータの再生と、アプリケーションに対するイベント発生通知との関係を説明するための図である。
【図８】  アクション定義ファイルの構成例を示す図である。
【図９】  サウンド再生監視処理の流れを示すフローチャートである。
【図１０】  従来のサウンドデータと実際の演奏との間の関係を説明するための図である。
【符号の説明】
２００  読み出し処理部
２１０  出力処理部
２２０  ＣＤ／ＤＶＤ
１６１  バッファ
１４０  サウンド再生処理プロセッサ（ＳＰＵ）
【図１】
0003667191.tif 000002
【図２】
0003667191.tif 000003
【図３】
0003667191.tif 000004
【図４】
0003667191.tif 000005
【図５】
0003667191.tif 000006
【図６】
0003667191.tif 000007
【図７】
0003667191.tif 000008
【図８】
0003667191.tif 000009
【図９】
0003667191.tif 000010
【図１０】
0003667191.tif 000011