(57)【要約】  イベント制御部２１０は、入力操作制御部２１２からイベントの通知を受け付ける。受け取ったイベントがユーザ２１５の操作に基づくユーザ指示イベントである場合、イベント制御部２１０は、受け取ったイベントをＧＵＩコンテンツ再生部２０９に渡す。一方、受け取ったイベントがロジック２０１からの指示に基づくロジック指示イベントの場合、以後発生するユーザ指示イベントのＧＵＩコンテンツ再生部２０９への通知を一時的に停止して、ロジック指示イベントをＧＵＩコンテンツ再生部２０９に通知する。そして、ＧＵＩコンテンツ再生部２０９においてロジック指示イベントの処理が完了した後、停止していたユーザ指示イベントの通知を解除する。
2008018465.tif 000002
【特許請求の範囲】
【請求項１】
ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知するイベント処理装置であって、
前記発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるか、を判定するイベント判定部と、
前記イベント判定部の判定結果に基づいて、前記発生したイベントを前記ＧＵＩコンテンツ再生部へ通知するイベント制御部と、
前記発生したイベントが前記他のイベントである場合、前記イベント制御部から出力されるユーザ操作の情報を記憶するユーザ操作記憶部と、
前記発生したイベントが前記他のイベントである場合、当該他のイベントに予め割り当てられた処理を実行する前後の前記ＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、当該第１の表示内容と第２の表示内容との一致を判断するアンロック条件部と、
前記イベント制御部の指示に従って、前記描画部の描画更新の停止及び再開を制御するロック制御部とを備え、
前記イベント制御部は、
前記発生したイベントが前記他のイベントである場合、当該他のイベントを前記ＧＵＩコンテンツ再生部に通知した後に発生するユーザイベントの前記ＧＵＩコンテンツ再生部への通知を停止すると共に、前記ロック制御部へ前記描画部の描画更新停止の指示を行い、
前記アンロック条件部において前記第１の表示内容と第２の表示内容とが一致したと判断された場合、前記ユーザ操作記憶部が記憶する情報の前記ＧＵＩコンテンツ再生部への出力、前記ＧＵＩコンテンツ再生部に対するユーザイベントの通知再開、及び前記ロック制御部へ前記描画部の描画更新再開の指示を行う、イベント処理装置。
【請求項２】
前記ユーザ操作記憶部は、前記ユーザ操作の情報として、前記描画部の画面上の座標を特定するためのカーソル情報を記憶する、請求項１に記載のイベント処理装置。
【請求項３】
前記発生するイベントがカーソルを用いたイベントである場合、前記イベント判定部は、表示内容上のカーソルの座標位置に基づいて前記ユーザイベントであるか前記他のイベントであるかを判定する、請求項１に記載のイベント処理装置。
【請求項４】
前記発生するイベントがキーを用いたイベントである場合、前記イベント判定部は、キーの種別に基づいて前記ユーザイベントであるか前記他のイベントであるかを判定する、請求項１に記載のイベント処理装置。
【請求項５】
ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知するイベント処理方法であって、
前記発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるか、を判定するステップと、
前記判定の結果、前記発生したイベントが前記ユーザイベントである場合、前記発生したユーザイベントを前記ＧＵＩコンテンツ再生部へ通知するステップと、
前記判定の結果、前記発生したイベントが前記他のイベントである場合、
ユーザ操作の情報を記憶するステップと、
前記発生した他のイベントを前記ＧＵＩコンテンツ再生部へ通知するステップと、
前記通知の後に発生するユーザイベントの前記ＧＵＩコンテンツ再生部への通知を停止するステップと、
前記描画部の描画更新を停止するステップと、
前記他のイベントに予め割り当てられた処理を実行する前後の前記ＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、当該第１の表示内容と第２の表示内容との一致を判断するステップと、
前記第１の表示内容と第２の表示内容とが一致した場合、前記記憶する情報を前記ＧＵＩコンテンツ再生部へ出力するステップと、
前記ＧＵＩコンテンツ再生部に対するユーザイベントの通知を再開するステップと、
前記描画部の描画更新を再開するステップとを備える、イベント処理方法。
【請求項６】
ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知するイベント処理方法を、コンピュータに実行させるためのコンピュータ読み取り可能なプログラムであって、
前記発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるか、を判定するステップと、
前記判定の結果、前記発生したイベントが前記ユーザイベントである場合、前記発生したユーザイベントを前記ＧＵＩコンテンツ再生部へ通知するステップと、
前記判定の結果、前記発生したイベントが前記他のイベントである場合、
ユーザ操作の情報を記憶するステップと、
前記発生した他のイベントを前記ＧＵＩコンテンツ再生部へ通知するステップと、
前記通知の後に発生するユーザイベントの前記ＧＵＩコンテンツ再生部への通知を停止するステップと、
前記描画部の描画更新を停止するステップと、
前記他のイベントに予め割り当てられた処理を実行する前後の前記ＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、当該第１の表示内容と第２の表示内容との一致を判断するステップと、
前記第１の表示内容と第２の表示内容とが一致した場合、前記記憶する情報を前記ＧＵＩコンテンツ再生部へ出力するステップと、
前記ＧＵＩコンテンツ再生部に対するユーザイベントの通知を再開するステップと、
前記描画部の描画更新を再開するステップとを前記コンピュータに実行させる、プログラム。
【請求項７】
ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知する回路を集積した集積回路であって、
前記発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるか、を判定するイベント判定部、
前記イベント判定部の判定結果に基づいて、前記発生したイベントを前記ＧＵＩコンテンツ再生部へ通知するイベント制御部、
前記発生したイベントが前記他のイベントである場合、前記イベント制御部から出力されるユーザ操作の情報を記憶するユーザ操作記憶部、
前記発生したイベントが前記他のイベントである場合、当該他のイベントに予め割り当てられた処理を実行する前後の前記ＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、当該第１の表示内容と第２の表示内容との一致を判断するアンロック条件部、
前記イベント制御部の指示に従って、前記描画部の描画更新の停止及び再開を制御するロック制御部として機能する回路を集積し、
前記イベント制御部は、
前記発生したイベントが前記他のイベントである場合、当該他のイベントを前記ＧＵＩコンテンツ再生部に通知した後に発生するユーザイベントの前記ＧＵＩコンテンツ再生部への通知を停止すると共に、前記ロック制御部へ前記描画部の描画更新停止の指示を行い、
前記アンロック条件部において前記第１の表示内容と第２の表示内容とが一致したと判断された場合、前記ユーザ操作記憶部が記憶する情報の前記ＧＵＩコンテンツ再生部への出力、前記ＧＵＩコンテンツ再生部に対するユーザイベントの通知再開、及び前記ロック制御部へ前記描画部の描画更新再開の指示を行うことを特徴とする、集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩコンテンツ再生中に発生したイベントをＧＵＩコンテンツに通知するためイベント処理装置、及びイベント処理装置が実行するプログラム、並びにイベント処理装置の機能ブロックを集積した集積回路に関する。
【背景技術】
【０００２】
一般に、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を実現するアプリケーションは、ユーザとのインタラクションを行うＧＵＩ部と、ユーザからのインストラクションを受けて処理を実行するロジック部とを有する。このアプリケーションのＧＵＩ部は、そのアプリケーションが利用されるシーンや、そのアプリケーションを利用するユーザに応じて、変更される場合がある。しかしながら、特定のアーキテクチャを有する一部のアプリケーションにおいては、ＧＵＩ部だけでなく、ＧＵＩ部及びロジック部の両方（すなわち、アプリケーション全体）の変更が必要となる問題が生じる。【０００３】
このような問題を解決するためのアーキテクチャとして、ＭＶＣ（Ｍｏｄｅｌ−Ｖｉｅｗ−Ｃｏｎｔｒｏｌｌｅｒ）パターンが知られている。このＭＶＣパターンに従ってアプリケーションが設計されている場合、ＧＵＩ部（ＶｉｅｗやＣｏｎｔｏｒｏｌｌｅｒ）のみの変更によって、アプリケーションが提供するＧＵＩを容易に変更することができる。このように、ＭＶＣパターンを適用するアプリケーションの設計手法には、ＧＵＩ変更時に、ロジック部（Ｍｏｄｅｌ）を変更することなく流用できる点でメリットがある。なお、ＭＶＣの詳細については、例えば、非特許文献１に記載されている。
以下、ＧＵＩを提供するアプリケーションの具体例についてさらに説明する。【０００４】
インターネット上のコンテンツを表示するためのアプリケーションとして、例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）に代表されるようなＷＥＢブラウザが一般に利用されている。ＷＥＢブラウザによる画面表示は、上記ＭＶＣパターンを適用することによって実現されている場合が多い。具体的には、ＷＥＢブラウザのアプリケーションのうち、ユーザに対してＧＵＩを表示する部分をＧＵＩ部として実現し、ＷＥＢブラウザからアクセスされるサーバが実行する機能をロジック部として実現することができる。この場合、ロジック部を変更することなく、ＧＵＩ部のみの変更によって、ＷＥＢブラウザ上のＧＵＩを変更することが可能となる。【０００５】
標準的なＷＥＢブラウザのＧＵＩ部は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のＧＵＩコンテンツ（ＧＵＩを提供するコンテンツ）によって実現され、ロジック部は、プログラムによって実現される場合が多い。ただし、ＷＥＢブラウザが表示できるＧＵＩコンテンツとして、ＷＥＢブラウザが標準でサポートするＨＴＭＬ文書のみならず、ＨＴＭＬ文書よりさらに表現力の豊かなＧＵＩコンテンツが存在する。ＨＴＭＬ文書以外で、ＷＥＢブラウザによって標準的にサポートされていない様々な種類のＧＵＩコンテンツを既存のＷＥＢブラウザ上に表示するためには、ＧＵＩコンテンツの種類毎に用意されるＧＵＩコンテンツ再生部（プログラム等）が、既存のＷＥＢブラウザへプラグインされることが一般的である。【０００６】
ＨＴＭＬ文書以外のＧＵＩコンテンツの具体的例として、Ｍａｃｒｏｍｅｄｉａ  Ｆｌａｓｈ（登録商標）や、インターネットの標準化団体Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）によって標準化されているＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）、３Ｄグラフィックスの標準仕様であるＯｐｅｎＧＬ（登録商標）等が挙げられる。これらのＧＵＩコンテンツは、ＷＥＢブラウザ上に表示されるＧＵＩ部として、広く一般に利用されている。【０００７】
ところで、近年、上記のようなＧＵＩコンテンツを、ＷＥＢブラウザから閲覧するコンテンツとして利用するだけでなく、組み込み機器等のＧＵＩを提供するために利用する試みがなされている。【０００８】
図８は、ＧＵＩコンテンツの一例を模式的に示した図である。ＧＵＩコンテンツ１３０１は、音声やベクターグラフィックスのアニメーション等が組み合わされたコンテンツであり、ＧＵＩコンテンツ作成装置又はプログラムによって生成される。【０００９】
ＧＵＩコンテンツ１３０１は、複数のシーン１３０２ａ〜１３０２ｉを含んでいる。さらに、シーン１３０２ａ〜１３０２ｉの各々は、所定の時間間隔に区切られた複数の区間を含んでいる。図８の例では、シーン１３０２ａは、５つの区間１３０３ａ〜１３０３ｅを含んでいる。また、シーンの各々又は区間の各々には、ＧＵＩコンテンツ１３０１の再生時にあるシーンから別のシーンへと遷移するための処理をさせる指示、又はある区間から別の区間へと遷移するための処理、あるいはオブジェクト（表示内容）が割り当てられている。【００１０】
組み込み機器等で図８に示されるようなＧＵＩコンテンツ１３０１を再生可能とするためには、再生すべきＧＵＩコンテンツに対応するＧＵＩコンテンツ再生部を備えたＧＵＩコンテンツ再生装置が用いられる。ＧＵＩコンテンツ再生装置は、アプリケーション等から渡されたＧＵＩコンテンツを再生する機能に加え、ＧＵＩコンテンツ再生部を動的に生成する機能や、ＧＵＩコンテンツ再生部を破棄する機能も備えている。
【非特許文献１】ウォルフガング・プリー著、「デザイン・パターンズ・フォー・オブジェクト−オリエンテッド・ソフトウェア・デベロップメント」、アディソン−ウェズレイ・パブリッシング・カンパニー、１９９５年（Ｗｏｌｆｇａｎｇ  Ｐｒｅｅ、“Ｄｅｓｉｇｎ  Ｐａｔｔｅｒｎｓ  ｆｏｒ  Ｏｂｊｅｃｔ−Ｏｒｉｅｎｔｅｄ  Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ”、Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏｍｐａｎｙ、１９９５）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
一般に、ＧＵＩを提供する機器においては、ユーザ操作に従って操作キーやマウス等の入力装置で発生するイベントと、ロジック部で発生するイベントとが存在する。ロジック部で発生するイベントとは、例えば端末装置が携帯電話である場合、電話着信やメール着信、バッテリー容量低下の通知、アラーム、及びスケジューラによる処理内容の表示等が挙げられる。なお、以下の説明において、ユーザ指示をＧＵＩコンテンツに伝えるために利用されるイベントを「ユーザ指示イベント」と、ロジック指示をＧＵＩコンテンツに伝えるために利用されるイベントを「ロジック指示イベント」と称する。【００１２】
ユーザ指示イベントとロジック指示イベントとは、それぞれ任意のタイミングで発生しＧＵＩコンテンツに伝達される。従って、双方のイベントが、それぞれ別のタイミングで発生する場合には特に問題が生じることはないが、同時のタイミングで発生した場合には競合してＧＵＩコンテンツ再生部の正常動作を妨げるおそれがある。従って、双方のイベントが競合しても問題ないように、ＧＵＩコンテンツ再生部を改変する必要がある。【００１３】
ところが、ＧＵＩコンテンツ再生部を改変するために必要なプログラムのソースコードが公開されていない場合がほとんどであり、ＧＵＩコンテンツ再生部を改変することは現実的には難しい。従って、ＧＵＩコンテンツ再生部を改変できない場合には、ロジック指示イベントを、ユーザ指示イベントの一部の操作に割り当てて、擬似的にロジック指示イベントとして利用する手法が考えられる。図９は、この手法を用いた従来のコンテンツ再生システムの構成例を示す図である。【００１４】
しかしながら、この手法においても、ロジック指示イベントは、本質的にはユーザ指示イベントの一部であるため、ユーザ指示イベントとロジック指示イベントとが同時に発生した場合、相異なる複数のイベントが連続してＧＵＩコンテンツ再生部に通知され、その結果、ＧＵＩコンテンツ再生部の正常動作を妨げるおそれがある。【００１５】
例えば、ユーザ指示イベント発生中にロジック指示イベントが発生すると、マウスカーソルがユーザの意図に沿って表示されない（マウスカーソルが画面表示外のロジックイベントボタンへ移動してしまい、画面上のマウスカーソルが消えた状態が表示される）という問題がある。また、ロジック指示イベント発生中にユーザ指示イベントが発生すると、ロジック指示イベントをトリガーとする処理が不安定になる（画面表示外のロジックイベントボタン上にあるマウスカーソルを、ユーザー操作により移動させてしまうと実行中の処理が中断する）という問題がある。【００１６】
それ故に、本発明の目的は、既存のＧＵＩコンテンツ再生部を利用し、ユーザ操作に基づくイベントと、ロジックからの制御に基づくイベントとを、同時に処理することができるイベント処理装置を提供することである。
【課題を解決するための手段】
【００１７】
本発明は、ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知するイベント処理装置に向けられている。そして、上記目的を達成するために、本発明のイベント処理装置は、イベント判定部、イベント制御部、ユーザ操作記憶部、アンロック条件部、及びロック制御部とを備える。【００１８】
イベント判定部は、発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるかを判定する。イベント制御部は、イベント判定部の判定結果に基づいて、発生したイベントをＧＵＩコンテンツ再生部へ通知する。ユーザ操作記憶部は、発生したイベントが他のイベントである場合、イベント制御部から出力されるユーザ操作の情報を記憶する。アンロック条件部は、発生したイベントが他のイベントである場合、他のイベントに予め割り当てられた処理を実行する前後のＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、第１の表示内容と第２の表示内容との一致を判断する。ロック制御部は、イベント制御部の指示に従って、描画部の描画更新の停止及び再開を制御する。そして、イベント制御部は、発生したイベントが他のイベントである場合、当該他のイベントをＧＵＩコンテンツ再生部に通知した後に発生するユーザイベントのＧＵＩコンテンツ再生部への通知を停止すると共に、ロック制御部へ描画部の描画更新停止の指示を行い、アンロック条件部において第１の表示内容と第２の表示内容とが一致したと判断された場合、ユーザ操作記憶部が記憶する情報のＧＵＩコンテンツ再生部への出力、ＧＵＩコンテンツ再生部に対するユーザイベントの通知再開、及びロック制御部へ描画部の描画更新再開の指示を行うことを特徴とする。【００１９】
好ましくは、ユーザ操作記憶部は、ユーザ操作の情報として、描画部の画面上の座標を特定するためのカーソル情報を記憶する。また、イベント判定部は、発生するイベントがカーソルを用いたイベントである場合には表示内容上のカーソルの座標位置に基づいて、発生するイベントがキーを用いたイベントである場合にはキーの種別に基づいて、ユーザイベントであるか他のイベントであるかを判定する。【００２０】
上述したイベント処理装置の各構成が行うそれぞれの処理は、一連の処理手順を与えるイベント処理方法として捉えることができる。この方法は、一連の処理手順をコンピュータに実行させるためのプログラムの形式で提供される。このプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で、コンピュータに導入されてもよい。また、上述したイベント処理装置の各構成は、集積回路であるＬＳＩとして実現されてもよい。
【発明の効果】
【００２１】
上記本発明によれば、既存のＧＵＩコンテンツ再生部を利用し、ユーザ操作に基づく入力装置で発生するイベントと、ロジック部で発生するイベントとを、同時に処理することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】図１は、ＧＵＩコンテンツが再生されることによって作成される画面表示内容を示す模式図
【図２】図２は、ＧＵＩコンテンツが発生するイベントの例を示す図
【図３】図３は、本発明の一実施形態に係るイベント処理装置２１１を含むコンテンツ再生システムの構成を示す図
【図４Ａ】図４Ａは、図３に示すイベント判定部２０５が参照するイベント判定テーブルの一例を示す図
【図４Ｂ】図４Ｂは、図３に示すイベント判定部２０５が参照するイベント判定テーブルの一例を示す図
【図５】図５は、イベント処理装置２１１によるＧＵＩコンテンツ再生及びユーザ指示イベント受け付け時のシーケンス図
【図６】図６は、イベント処理装置２１１によるロジック指示イベント受け付け時のシーケンス図
【図７】図７は、イベント処理装置２１１によって再生されるＧＵＩコンテンツの表示過程を説明する図
【図８】図８は、ＧＵＩコンテンツの一例を模式的に示した図
【図９】図９は、従来のコンテンツ再生システムの構成を示す図
【符号の説明】
【００２３】
１０１  ＧＵＩコンテンツ
１０２  ユーザ操作領域
１０３  ボタン配置領域
１０４、３０２  ロジック指示イベント受信用ボタン
１０５、３０３〜３０５  オブジェクト
２０１  ロジック
２０２  入力装置
２０４  イベント発生部
２０５  イベント判定部
２０６  ユーザ操作記憶部
２０７  アンロック条件部
２０８  ロック制御部
２０９  ＧＵＩコンテンツ再生部
２１０  イベント制御部
２１１  イベント処理装置
２１２  入力操作制御部
２１３  描画部
２１４  描画装置
２１５  ユーザ
３０１  マウスカーソル
【発明を実施するための最良の形態】
【００２４】
本発明のイベント処理装置の説明に先立ち、まずＧＵＩコンテンツの一例について説明する。図１は、ＧＵＩコンテンツが再生されることによって作成される画面表示内容を示している。ＧＵＩコンテンツ１０１は、画面上でＧＵＩを実現することができるコンテンツであり、画面に表示されるユーザ操作領域１０２と、画面に表示されないボタン配置領域１０３とを提供する。【００２５】
ユーザ操作領域１０２は、機器の表示画面上でユーザにＧＵＩを提供する領域であり、ユーザがキーボードやポインティングデバイス等の入力機器を操作することによって、その操作に割り当てられたユーザ指示イベントが発生する。【００２６】
例えば、ユーザ操作領域１０２には、ユーザ指示イベントによって表示内容が変化したり、音声が発生したりするオブジェクト１０５を配置することができる。具体的には、ユーザがポインタ（図示せず）をオブジェクト１０５に重ねる操作を行ったときに、そのユーザ操作に起因して生じたユーザ指示イベントに基づいて、オブジェクト１０５の表示内容が変化するように、又は音楽の再生や効果音の鳴動がされるように、ＧＵＩコンテンツ１０１が構成される。【００２７】
ボタン配置領域１０３には、ロジック指示イベント受信用ボタン１０４が配置されている。ボタン配置領域１０３は、画面上には表示されないが、ロジック指示イベント受信用ボタン１０４が押下された場合、すなわちポインタの座標値が画面表示外のロジック指示イベント受信用ボタン１０４の領域内に含まれる場合、ロジック指示イベント受信用ボタン１０４に割り当てられたイベントが発生する。【００２８】
このようなボタン配置領域１０３と、ロジック指示イベント受信用ボタン１０４とが設けられているのは、アプリケーション等のロジックからの指示に応答して、ユーザ操作と非同期でイベントを発生させるためである。すなわち、ロジックは、任意のタイミングでＧＵＩコンテンツ１０１からイベントを発生させるために、又は任意のタイミングでＧＵＩコンテンツ１０１にイベントを通知するために、通常画面上に表示されないボタン配置領域１０３に割り当てられたロジック指示イベントを利用する。【００２９】
ＧＵＩコンテンツが発生するイベントの一例として、図２に示されるようなＵＲＬを通知するイベントが挙げられる。ロジック部がロジック指示イベント受信用ボタン１０４を選択したことに応答し、ＧＵＩコンテンツは、“ｈｔｔｐ：／／ｗｗｗ．ｘｘｘ．ｃｏｍ／ｘｘｘ．ｈｔｍｌ”をロジック部に通知するイベントを発生する。ロジック部は、ＵＲＬを受け取ると、例えばインターネット上等にあるＧＵＩコンテンツ外部のソースにアクセスして、このＵＲＬによって特定されるデータを取得する。そして、ロジック部は、取得したデータをＧＵＩコンテンツに反映させることによって、ＧＵＩコンテンツの表示内容や音声を動的に変更することができる。ＧＵＩコンテンツの具体的な例は、従来技術で説明したとおりである。【００３０】
なお、図１の例では、ボタン配置領域１０３は、ユーザ操作領域１０２の外部に配置されているが、ユーザ操作領域１０２の一部に重なり合うように配置されてもよい。また、ユーザ指示イベントは、マウスイベントであってもキーイベントであってもよい。さらに、ＧＵＩコンテンツ１０１がイベントを発生するタイミングは、ロジック指示イベント受信用ボタン１０４内にポインタが入ったときでもよいし、ロジック指示イベント受信用ボタン１０４内からポインタが外れたときでもよい。【００３１】
次に、本発明のイベント処理装置２１１について説明をする。
図３は、本発明の一実施形態に係るイベント処理装置２１１を含むコンテンツ再生システムの構成を示す図である。図３に示すコンテンツ再生システムは、イベント処理装置２１１と、イベント発生部２０４と、入力操作制御部２１２と、ＧＵＩコンテンツ再生部２０９と、描画部２１３と、描画装置２１４とを備える。このシステムは、例えば携帯電話機や、携帯端末装置等の電子機器の一部又は全体、これらに組み込まれるプログラム又は集積回路として実現され得る。【００３２】
イベント発生部２０４は、ユーザ指示イベント及びロジック指示イベントを発生する。具体的に、イベント発生部２０４には、アプリケーションによって実行されるロジック２０１と、入力装置２０２とが相当する。入力装置２０２は、ユーザ操作に基づいて信号を出力することができるものであれば、特に限定されない。例えば、入力装置２０２は、マウスやタッチパネル等のポインティングデバイスであってもよいし、キーボードであってもよい。【００３３】
入力操作制御部２１２は、入力装置２０２から通知されるユーザ指示イベントを受信し、ユーザ操作に追従してカーソル位置を描画するように描画部２１３に指示すると共に、受信したユーザ指示イベントをイベント処理装置２１１へと通知する。また、入力操作制御部２１２は、ロジック２０１から通知されるロジック指示イベントを受信し、受信したロジック指示イベントをイベント処理装置２１１へと通知する。なお、入力操作制御部２１２は、カーソル位置の描画を描画部２１３に指示することなく、受信したイベントをイベント処理装置２１１に通知してもよい。【００３４】
ＧＵＩコンテンツ再生部２０９は、入力操作制御部２１２を介してユーザ２１５又はロジック２０１によって登録されたＧＵＩコンテンツを再生し、再生内容の描画更新を描画部２１３に指示する。また、ＧＵＩコンテンツ再生部２０９は、イベント処理装置２１１から通知されるイベントに応じた処理を実行する。ＧＵＩコンテンツ再生部２０９には、ＧＵＩコンテンツの種類毎に用意されているものを利用できる。【００３５】
描画部２１３は、ディスプレイ等の描画装置２１４への描画を制御する。また、描画部２１３は、イベント処理装置２１１からの描画要求に従って、ＧＵＩコンテンツ再生部２０９がＧＵＩコンテンツの再生を通じて生成した表示内容を描画装置２１４へ描画する。【００３６】
イベント処理装置２１１は、ＧＵＩコンテンツ再生部２０９がＧＵＩコンテンツを再生している間に、入力操作制御部２１２から通知されるイベントを受け付け、受け付けたイベントに従って再生内容の描画を更新するように描画部２１３に指示するものである。このイベント処理装置２１１は、イベント制御部２１０と、イベント判定部２０５と、ユーザ操作記憶部２０６と、アンロック条件部２０７と、ロック制御部２０８とを備える。【００３７】
イベント制御部２１０は、入力操作制御部２１２を介してロジック２０１又は入力装置２０２から受け付けたイベントをイベント判定部２０５に渡し、イベントの判定を要求する。そして、イベント制御部２１０は、イベント判定部２０５からの判定結果に基づいて、ユーザ操作記憶部２０６、アンロック条件部２０７、及びロック制御部２０８に対して後述する処理を行う。【００３８】
イベント判定部２０５は、イベント制御部２１０から受け取ったイベントが、入力装置２０２から通知されたユーザ指示イベントであるか、ロジック２０１から通知されたロジック指示イベントであるかを判定する。そして、イベント判定部２０５は、判定した結果をイベント制御部２１０に返す。具体的には、イベント判定部２０５は、イベント判定テーブルに基づいて受け取ったイベントの種別を判定する。図４Ａ及び図４Ｂは、図３に示すイベント判定部２０５が参照するイベント判定テーブルの一例を示す図である。【００３９】
図４Ａは、ＧＵＩコンテンツの再生により作成される表示内容をＸ−Ｙ座標系を用いて表現した際に、当該表示内容のうちユーザ指示イベントに割り当てられる領域とロジック指示イベントに割り当てられる領域とを、ＸＹ座標範囲で定義した例である。例えば、イベント判定部２０５が、イベント発生座標（１００，１００）を示すカーソルイベントを受け取った場合を想定する。イベント発生座標（１００，１００）は、始点（０，０）及び終点（２００，２００）によって定義される矩形形状の領域に含まれるため、イベント判定部２０５は、当該受け取ったイベントをユーザ指示イベントであると判定する。
図４Ｂは、キー押下等のイベントとイベントの種類との対応を定義した例である。【００４０】
ユーザ操作記憶部２０６は、カーソル位置（座標）やイベント種別（キー又はマウス）等のユーザ操作の情報を記憶する。ユーザ操作記憶部２０６は、キーコードをユーザ操作として記憶してもよい。アンロック条件部２０７は、イベント制御部２１０から渡される描画更新を停止する直前の表示画面のビットマップ情報（アンロック条件）を記憶し、更新停止中にイベント制御部２１０から渡されるビットマップと記憶したビットマップとが等しいか否かを判定する。なお、表示画面のビットマップ情報に代えて、再生画面ＩＤを用いてもよい。また、音声の場合には、音楽再生完了位置（先頭からの時間情報等）や効果音の状態（鳴動後／鳴動前の判断や鳴動回数等）を用いることが考えられる。ロック制御部２０８は、イベント制御部２１０から描画更新の停止を指示された場合には描画更新の停止を、描画更新の再開を指示された場合には描画更新の再開を、描画部２１３へ要求する。【００４１】
イベント制御部２１０は、イベント判定部２０５からユーザ指示イベントである旨の結果が戻ってきた場合には、受け付けたイベントをＧＵＩコンテンツ再生部２０９へと通知する。一方、イベント制御部２１０は、イベント判定部２０５からロジック指示イベントである旨の結果が戻ってきた場合には、以下の処理を実行する。【００４２】
（ａ）現在のカーソル位置等のユーザ操作情報をユーザ操作記憶部２０６に格納
（ｂ）アンロック条件部２０７にアンロック条件を格納
（ｃ）ロック制御部２０８に描画更新の停止を指示
（ｄ）入力操作制御部２１２にユーザ指示イベント通知の停止を指示
（ｅ）ＧＵＩコンテンツ再生部２０９を介して描画部２１３にカーソル位置の描画更新を停止するよう指示【００４３】
続いて、イベント制御部２１０は、ロジック指示イベントをＧＵＩコンテンツ再生部２０９に通知し、通知したイベントによって定められる処理が完了したことをＧＵＩコンテンツ再生部２０９から通知されたタイミングで、以下の処理を実行する。
（ｆ）ユーザ操作記憶部２０６から格納されているユーザ操作を取得
（ｇ）ユーザ操作記憶部２０６に保存されていたユーザ操作をＧＵＩコンテンツ再生部２０９へユーザ指示イベントとして通知
（ｈ）アンロック条件部２０７からアンロック条件を満たすか否かの判定結果を取得
（ｉ）処理（ｈ）において、判定結果がアンロック条件を満たしていることを示す場合、ロック制御部２０８に描画更新の再開を指示
（ｊ）入力操作制御部２１２にユーザ指示イベント通知の再開を指示
（ｋ）描画部２１３にカーソル位置の描画更新の再開を指示【００４４】
なお、入力操作制御部２１２は、必ずしも、描画部２１３へのカーソル位置の描画更新を停止（上記ｃ）する必要はない。この場合、描画部２１３は、ロック制御部２０８に描画更新の再開（上記ｉ）を指示される前に、ユーザ操作記憶部２０６から取得した座標にカーソルを描画してもよい。【００４５】
図５は、イベント処理装置２１１によるＧＵＩコンテンツ再生及びユーザ指示イベント受け付け時のシーケンス図である。図６は、イベント処理装置２１１によるロジック指示イベント受け付け時のシーケンス図である。図７は、イベント処理装置２１１によって再生されるＧＵＩコンテンツの表示過程を説明する図である。この図７は、ユーザ操作領域１０２に配置されているオブジェクト３０３オブジェクト３０３上にマウスカーソルが重なった場合に、オブジェクト３０３を拡大表示するようにデザインされているＧＵＩコンテンツの例である。【００４６】
以下、図５〜図７を、図３と併せて参照しながら、本発明のイベント処理装置２１１における制御処理の詳細を、ＧＵＩコンテンツ再生処理、ユーザ指示イベント通知処理、及びロジック指示イベント通知処理に分けて説明する。なお、以下の説明においては、入力装置２０２がマウスである場合を想定するが、入力装置２０２がマウス以外である場合も同様の処理が成り立つ。【００４７】
＜Ａ．ＧＵＩコンテンツ再生処理＞
（ステップ１）ロジック２０１は、入力操作制御部２１２を介して、ＧＵＩコンテンツ再生部２０９へＧＵＩコンテンツの再生要求を通知する。
（ステップ１．１）ＧＵＩコンテンツ再生部２０９は、ロジック２０１によって指示されたＧＵＩコンテンツを再生する。
（ステップ１．２）ＧＵＩコンテンツ再生部２０９は、ＧＵＩコンテンツを再生して描画内容を作成し、作成した描画内容で画面を更新するように描画部２１３に指示する。
（ステップ１．２．１）描画部２１３は、ＧＵＩコンテンツ再生部２０９から受け取った描画内容を描画装置２１４に転送する。この結果、描画装置２１４の画面にＧＵＩコンテンツが表示される。
例えば、ＧＵＩコンテンツが表示内容としてアニメーションを含んでいる場合、アニメーションを構成するコマ毎にステップ１．１〜１．２．１が繰り返し行われる。【００４８】
＜Ｂ．ユーザ指示イベント通知処理＞（図５）
（ステップ２）続いて、ＧＵＩコンテンツの再生中に、ユーザ２１５が入力装置２０２を操作して、マウスカーソル３０１をオブジェクト３０３に重ねた場合を想定する。
（ステップ２．１）入力装置２０２は、マウス動作に対応するマウスイベントを入力操作制御部２１２へ通知する。
（ステップ２．１．１）入力操作制御部２１２は、描画部２１３にマウスカーソルを描画するよう指示する。
（ステップ２．１．１．１）入力操作制御部２１２からの指示に応答して、描画部２１３は、描画装置２１４にマウスカーソルの描画を転送する。
以上の処理によって、図７の（ｂ）に示されるように、マウスカーソル３０１が表示される。【００４９】
（ステップ２．１．２）入力操作制御部２１２は、入力装置２０２から出力されたマウスイベントをイベント制御部２１０へ通知する。
（ステップ２．１．２．１）イベント制御部２１０は、マウスイベントに含まれる座標をイベント判定部２０５へ出力し、イベント判定を指示する。
（ステップ２．１．２．１．１）イベント判定部２０５は、イベント判定テーブルに基づいて、通知された座標がユーザ操作領域１０２内又はボタン配置領域１０３内のいずれに含まれるかを判定する。本実施例においては、イベント判定部２０５は、ユーザ指示イベントである旨をイベント制御部２１０に返す。
なお、図７の（ｂ）の例では、マウスイベント座標がユーザ操作領域１０２に位置するため、ユーザ指示イベントと判定される。【００５０】
（ステップ２．１．２．２）イベント制御部２１０は、ＧＵＩコンテンツ再生部２０９に、マウスイベントを通知する。
（ステップ２．１．２．２．１）ＧＵＩコンテンツ再生部２０９は、イベントに割り当てられた処理を行い、オブジェクト３０３が拡大された状態を示す表示内容を再生する。
（ステップ２．１．２．２．２）ＧＵＩコンテンツ再生部２０９は、再生された表示内容の描画を描画部２１３へ指示する。
（ステップ２．１．２．２．２．１）描画部２１３は、描画装置２１４に描画内容を転送する。その結果、描画装置２１４の画面が更新される。
上記の処理の結果、例えば、図７の（ａ）に示されるオブジェクト３０３にマウスカーソル３０１が重なったときに、図７の（ｂ）のように、オブジェクト３０３から拡大されたオブジェクト３０４へと変化するユーザインタフェースが実現される。【００５１】
＜Ｃ．ロジック指示イベント通知処理＞（図６）
次に、ユーザ操作とは非同期でユーザ操作領域１０２の表示内容が変更される場合を考える。端末装置が携帯電話である場合を想定すると、ユーザ操作と非同期で表示される内容は、例えば電話着信やメール着信やバッテリー容量低下の通知、アラーム、スケジュール内容の表示等が挙げられる。このような表示は、随時発生するものであって必ずしもユーザからの指示に従って発生するものではない。そこで、必要な情報を画面上に任意のタイミングで表示するために、ロジック指示イベントが利用される。【００５２】
（ステップ１）図７の（ｂ）の状況において、アプリケーションが新着情報を受信したことを示すオブジェクト３０５を画面上に表示させる場合を想定する。ロジック２０１は、ＧＵＩコンテンツ再生部２０９にオブジェクト３０５の再生を実行させるために、マウスカーソルがロジック指示イベント受信用ボタン３０２内にあることを示すロジック指示イベントを発生する。
（ステップ１．１）イベント制御部２１０は、イベント判定部２０５にマウスイベントに含まれる座標を通知し、イベント判定を指示する。
（ステップ１．１．１）イベント判定部２０５は、イベント判定テーブルに基づいて、通知された座標が、ユーザ操作領域１０２内又はボタン配置領域１０３内のいずれに含まれるかを判定する。本実施例においては、イベント判定部２０５は、イベントがロジック指示イベントである旨をイベント制御部２１０に返す。【００５３】
（ステップ１．２）イベント制御部２１０は、ユーザ２１５が操作しているマウスカーソル座標をユーザ操作記憶部２０６に格納する。
（ステップ１．３）イベント制御部２１０は、描画部２１３から現在画面に表示されているビットマップを取得する。なお、イベント制御部２１０は、描画部２１３からビットマップを取得する代わりに、ＧＵＩコンテンツ再生部２０９がバッファリングしている描画内容をビットマップとして取得してもよい。
（ステップ１．４）イベント制御部２１０は、取得したビットマップをアンロック条件としてアンロック条件部２０７に格納する。【００５４】
（ステップ１．５）イベント制御部２１０は、ロック制御部２０８に描画更新の停止を指示する。
（ステップ１．５．１）ロック制御部２０８は、イベント制御部２１０からの描画更新停止の指示に応答して、描画装置２１４への描画内容の転送を停止するように描画部２１３に指示する。
（ステップ１．６）イベント制御部２１０は、ユーザ指示イベントの通知を停止するように入力操作制御部２１２に指示する。また、イベント制御部２１０は、カーソル位置の更新を停止するよう描画部２１３に指示する。
上記の処理によって、描画更新停止の間、図７の（ｃ）に示される画面が描画装置２１４上に継続して表示され続ける（画面ロック）。【００５５】
（ステップ１．７）イベント制御部２１０は、ステップ１においてロジック指示イベントとして通知されたマウスイベントを、ＧＵＩコンテンツ再生部２０９に通知する。このとき、図７の（ｄ）のロジック指示イベント受信用ボタン３０２にイベントを通知する。
（ステップ１．７．１）ＧＵＩコンテンツ再生部２０９は、マウスイベントに割り当てられる処理を再生する。
（ステップ１．７．２）ＧＵＩコンテンツ再生部２０９は、再生した表示内容で表示画面を更新するように描画部２１３に指示する。なお、このステップ１．７．２は、省略されてもよい。この更新により、図７の（ｅ）に示される図面となる（オブジェクト３０５の描画）。【００５６】
（ステップ１．８）イベント制御部２１０は、ユーザ操作記憶部２０６からマウスカーソル座標を取得する。
（ステップ１．９）イベント制御部２１０は、ユーザ操作記憶部２０６から取得したマウスカーソル座標をＧＵＩコンテンツ再生部２０９に出力して、マウスイベントを通知する。
（ステップ１．９．１）ＧＵＩコンテンツ再生部２０９は、再生処理を行う。
（ステップ１．９．２）ＧＵＩコンテンツ再生部２０９は、更新された表示内容の描画更新を描画部２１３へ指示する。なお、このステップ１．９．２は、省略されてもよい。
（ステップ１．１０）イベント制御部２１０は、描画部２１３から更新画面のビットマップを取得する。イベント制御部２１０は、描画部２１３からビットマップを取得する代わりに、ＧＵＩコンテンツ再生部２０９がバッファリングしている描画内容をビットマップとして取得してもよい。【００５７】
（ステップ１．１１）イベント制御部２１０は、アンロック条件を満たしているか否かを判定するため、取得したビットマップをアンロック条件部２０７に出力する。具体的には、アンロック条件部２０７は、ステップ１．１１においてイベント制御部２１０から出力されたビットマップと、ステップ１．３において記憶されたビットマップとが一致するか否かを判定する。そして、アンロック条件部２０７は、２つのビットマップが一致する場合（図７の（ｇ）のオブジェクト３０４）に、アンロック条件が満たされていることを示す情報をイベント制御部２１０に返し（図５の場合）、それ以外の場合（図７の（ｆ）のオブジェクト３０６）には、アンロック条件が満たされていないことを示す情報をイベント制御部２１０に返す。【００５８】
（ステップ１．１２）イベント制御部２１０は、表示画面の更新（又は、再生完了位置からの音楽再生）を再開するようにロック制御部２０８に指示する。
（ステップ１．１２．１）ロック制御部２０８は、イベント制御部２１０の更新再開指示に応答して、描画装置２１４への描画内容の転送を再開するように描画部２１３に指示する。
（ステップ１．１２．１．１）描画部２１３は、ロック制御部２０８からの指示に従い、描画装置２１４へ描画内容の転送を再開する。
（ステップ１．１３）イベント制御部２１０は、ユーザ指示イベントの通知を再開するように入力操作制御部２１２に指示すると共に、カーソル位置の更新を再開するように描画部２１３へ指示する。【００５９】
上記の処理によって、図７の（ｄ）〜（ｇ）に示される内容が内部で順に処理されてオブジェクト３０５の表示処理が完了した後、図７の（ｈ）に示すように画面ロックを解除して、ユーザ指示イベントにロジック指示イベントが反映されたＧＵＩコンテンツを再生する。【００６０】
以上のように、本発明の一実施形態に係るイベント処理装置２１１によれば、ロジック指示イベント発生に応答して、描画部２１３の画面更新を停止させる。これにより、ロジック指示イベント発生直前の表示内容が続けて画面表示されるので、マウスカーソルの表示がユーザの意図に反して変化することを防止できる。【００６１】
また、本イベント処理装置２１１によれば、ロジック指示イベント発生に応答して、ユーザ指示イベントの通知を停止するように、入力操作制御部２１２に指示する。これにより、ユーザ指示イベントの通知がロジック指示イベントの通知に干渉してしまうことを回避できる。このユーザ指示イベントの通知を停止中は、ＧＵＩコンテンツが発生するユーザ指示イベントは無視してもよい。【００６２】
さらに、本イベント処理装置２１１によれば、ロジック２０１がイベント制御部２１０にロジック指示イベントを通知している間に発止したユーザ操作を、ユーザ操作記憶部２０６に記憶する。従って、イベント制御部２１０は、ロジック指示イベント終了後に、ユーザ操作記憶部２０６に記憶されている座標に基づいて、ユーザ指示イベントに対応する処理を実行することが可能となる。【００６３】
なお、上記実施形態は、記憶装置（ＲＯＭ、ＲＡＭ、ハードディスク等）に格納された上述の処理手順をコンピュータに実行させることができるプログラムを、コンピュータに実行させることによっても実現できる。このコンピュータは、携帯端末装置に組み込まれたコンピュータを含む概念である。この場合、当該プログラムは、記録媒体を介して記憶装置内に格納された後に実行されてもよいし、記憶媒体から直接実行されてもよい。ここでの記憶媒体は、ＲＯＭやＲＡＭ、フラッシュメモリ等の半導体メモリ、フレキシブルディスクやハードディスク等の磁気ディスクメモリ、ＣＤ−ＲＯＭやＤＶＤ、ＢＤ等の光ディスク、メモリーカード等の記録媒体をいう。また、記録媒体は、電話回線や搬送路等の通信媒体も含む概念である。【００６４】
さらに、上記実施形態に係るイベント処理装置の機能ブロック（図３）は、集積回路であるＬＳＩとして実現されてもよい。これらの機能ブロックは、１チップ化されてもよいし、一部又は全部を含むように１チップ化されていてもよい。ここでは、ＬＳＩと述べたが、集積度の違いによっては、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと称呼されることもある。また、集積回路化の手法は、ＬＳＩに限られるものではなく、専用回路又は汎用プロセッサで集積回路化を行ってもよい。また、ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを用いてもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックを集積化してもよい。バイオ技術の適用等が可能性としてあり得る。
【産業上の利用可能性】
【００６５】
本発明のイベント処理装置は、携帯電話機、ＰＤＡ、デジタルカメラ、ＰＣ、及びカーナビゲーションシステム等の画面表示装置を有する情報処理端末等に利用可能であり、特に既存のＧＵＩコンテンツ再生部を改変することなく、ユーザ指示に基づくイベントとロジック指示に基づくイベントとを同時に処理したい場合等に有用である。
【図１】
2008018465.tif 000003
【図２】
2008018465.tif 000004
【図３】
2008018465.tif 000005
【図４Ａ】
2008018465.tif 000006
【図４Ｂ】
2008018465.tif 000007
【図５】
2008018465.tif 000008
【図６】
2008018465.tif 000009
【図７】
2008018465.tif 000010
【図８】
2008018465.tif 000011
【図９】
2008018465.tif 000012
【手続補正書】
【提出日】平成21年1月8日(2009.1.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩコンテンツ再生中に発生したイベントをＧＵＩコンテンツに通知するためイベント処理装置、及びイベント処理装置が実行するプログラム、並びにイベント処理装置の機能ブロックを集積した集積回路に関する。
【背景技術】
【０００２】
一般に、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を実現するアプリケーションは、ユーザとのインタラクションを行うＧＵＩ部と、ユーザからのインストラクションを受けて処理を実行するロジック部とを有する。このアプリケーションのＧＵＩ部は、そのアプリケーションが利用されるシーンや、そのアプリケーションを利用するユーザに応じて、変更される場合がある。しかしながら、特定のアーキテクチャを有する一部のアプリケーションにおいては、ＧＵＩ部だけでなく、ＧＵＩ部及びロジック部の両方（すなわち、アプリケーション全体）の変更が必要となる問題が生じる。
【０００３】
このような問題を解決するためのアーキテクチャとして、ＭＶＣ（Ｍｏｄｅｌ−Ｖｉｅｗ−Ｃｏｎｔｒｏｌｌｅｒ）パターンが知られている。このＭＶＣパターンに従ってアプリケーションが設計されている場合、ＧＵＩ部（ＶｉｅｗやＣｏｎｔｏｒｏｌｌｅｒ）のみの変更によって、アプリケーションが提供するＧＵＩを容易に変更することができる。このように、ＭＶＣパターンを適用するアプリケーションの設計手法には、ＧＵＩ変更時に、ロジック部（Ｍｏｄｅｌ）を変更することなく流用できる点でメリットがある。なお、ＭＶＣの詳細については、例えば、非特許文献１に記載されている。
以下、ＧＵＩを提供するアプリケーションの具体例についてさらに説明する。
【０００４】
インターネット上のコンテンツを表示するためのアプリケーションとして、例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）に代表されるようなＷＥＢブラウザが一般に利用されている。ＷＥＢブラウザによる画面表示は、上記ＭＶＣパターンを適用することによって実現されている場合が多い。具体的には、ＷＥＢブラウザのアプリケーションのうち、ユーザに対してＧＵＩを表示する部分をＧＵＩ部として実現し、ＷＥＢブラウザからアクセスされるサーバが実行する機能をロジック部として実現することができる。この場合、ロジック部を変更することなく、ＧＵＩ部のみの変更によって、ＷＥＢブラウザ上のＧＵＩを変更することが可能となる。
【０００５】
標準的なＷＥＢブラウザのＧＵＩ部は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のＧＵＩコンテンツ（ＧＵＩを提供するコンテンツ）によって実現され、ロジック部は、プログラムによって実現される場合が多い。ただし、ＷＥＢブラウザが表示できるＧＵＩコンテンツとして、ＷＥＢブラウザが標準でサポートするＨＴＭＬ文書のみならず、ＨＴＭＬ文書よりさらに表現力の豊かなＧＵＩコンテンツが存在する。ＨＴＭＬ文書以外で、ＷＥＢブラウザによって標準的にサポートされていない様々な種類のＧＵＩコンテンツを既存のＷＥＢブラウザ上に表示するためには、ＧＵＩコンテンツの種類毎に用意されるＧＵＩコンテンツ再生部（プログラム等）が、既存のＷＥＢブラウザへプラグインされることが一般的である。
【０００６】
ＨＴＭＬ文書以外のＧＵＩコンテンツの具体的例として、Ｍａｃｒｏｍｅｄｉａ  Ｆｌａｓｈ（登録商標）や、インターネットの標準化団体Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）によって標準化されているＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）、３Ｄグラフィックスの標準仕様であるＯｐｅｎＧＬ（登録商標）等が挙げられる。これらのＧＵＩコンテンツは、ＷＥＢブラウザ上に表示されるＧＵＩ部として、広く一般に利用されている。
【０００７】
ところで、近年、上記のようなＧＵＩコンテンツを、ＷＥＢブラウザから閲覧するコンテンツとして利用するだけでなく、組み込み機器等のＧＵＩを提供するために利用する試みがなされている。
【０００８】
図８は、ＧＵＩコンテンツの一例を模式的に示した図である。ＧＵＩコンテンツ１３０１は、音声やベクターグラフィックスのアニメーション等が組み合わされたコンテンツであり、ＧＵＩコンテンツ作成装置又はプログラムによって生成される。
【０００９】
ＧＵＩコンテンツ１３０１は、複数のシーン１３０２ａ〜１３０２ｉを含んでいる。さらに、シーン１３０２ａ〜１３０２ｉの各々は、所定の時間間隔に区切られた複数の区間を含んでいる。図８の例では、シーン１３０２ａは、５つの区間１３０３ａ〜１３０３ｅを含んでいる。また、シーンの各々又は区間の各々には、ＧＵＩコンテンツ１３０１の再生時にあるシーンから別のシーンへと遷移するための処理をさせる指示、又はある区間から別の区間へと遷移するための処理、あるいはオブジェクト（表示内容）が割り当てられている。
【００１０】
組み込み機器等で図８に示されるようなＧＵＩコンテンツ１３０１を再生可能とするためには、再生すべきＧＵＩコンテンツに対応するＧＵＩコンテンツ再生部を備えたＧＵＩコンテンツ再生装置が用いられる。ＧＵＩコンテンツ再生装置は、アプリケーション等から渡されたＧＵＩコンテンツを再生する機能に加え、ＧＵＩコンテンツ再生部を動的に生成する機能や、ＧＵＩコンテンツ再生部を破棄する機能も備えている。
【非特許文献１】ウォルフガング・プリー著、「デザイン・パターンズ・フォー・オブジェクト−オリエンテッド・ソフトウェア・デベロップメント」、アディソン−ウェズレイ・パブリッシング・カンパニー、１９９５年（Ｗｏｌｆｇａｎｇ  Ｐｒｅｅ、“Ｄｅｓｉｇｎ  Ｐａｔｔｅｒｎｓ  ｆｏｒ  Ｏｂｊｅｃｔ−Ｏｒｉｅｎｔｅｄ  Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ”、Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏｍｐａｎｙ、１９９５）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
一般に、ＧＵＩを提供する機器においては、ユーザ操作に従って操作キーやマウス等の入力装置で発生するイベントと、ロジック部で発生するイベントとが存在する。ロジック部で発生するイベントとは、例えば端末装置が携帯電話である場合、電話着信やメール着信、バッテリー容量低下の通知、アラーム、及びスケジューラによる処理内容の表示等が挙げられる。なお、以下の説明において、ユーザ指示をＧＵＩコンテンツに伝えるために利用されるイベントを「ユーザ指示イベント」と、ロジック指示をＧＵＩコンテンツに伝えるために利用されるイベントを「ロジック指示イベント」と称する。
【００１２】
ユーザ指示イベントとロジック指示イベントとは、それぞれ任意のタイミングで発生しＧＵＩコンテンツに伝達される。従って、双方のイベントが、それぞれ別のタイミングで発生する場合には特に問題が生じることはないが、同時のタイミングで発生した場合には競合してＧＵＩコンテンツ再生部の正常動作を妨げるおそれがある。従って、双方のイベントが競合しても問題ないように、ＧＵＩコンテンツ再生部を改変する必要がある。
【００１３】
ところが、ＧＵＩコンテンツ再生部を改変するために必要なプログラムのソースコードが公開されていない場合がほとんどであり、ＧＵＩコンテンツ再生部を改変することは現実的には難しい。従って、ＧＵＩコンテンツ再生部を改変できない場合には、ロジック指示イベントを、ユーザ指示イベントの一部の操作に割り当てて、擬似的にロジック指示イベントとして利用する手法が考えられる。図９は、この手法を用いた従来のコンテンツ再生システムの構成例を示す図である。
【００１４】
しかしながら、この手法においても、ロジック指示イベントは、本質的にはユーザ指示イベントの一部であるため、ユーザ指示イベントとロジック指示イベントとが同時に発生した場合、相異なる複数のイベントが連続してＧＵＩコンテンツ再生部に通知され、その結果、ＧＵＩコンテンツ再生部の正常動作を妨げるおそれがある。
【００１５】
例えば、ユーザ指示イベント発生中にロジック指示イベントが発生すると、マウスカーソルがユーザの意図に沿って表示されない（マウスカーソルが画面表示外のロジックイベントボタンへ移動してしまい、画面上のマウスカーソルが消えた状態が表示される）という問題がある。また、ロジック指示イベント発生中にユーザ指示イベントが発生すると、ロジック指示イベントをトリガーとする処理が不安定になる（画面表示外のロジックイベントボタン上にあるマウスカーソルを、ユーザー操作により移動させてしまうと実行中の処理が中断する）という問題がある。
【００１６】
それ故に、本発明の目的は、既存のＧＵＩコンテンツ再生部を利用し、ユーザ操作に基づくイベントと、ロジックからの制御に基づくイベントとを、同時に処理することができるイベント処理装置を提供することである。
【課題を解決するための手段】
【００１７】
本発明は、ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知するイベント処理装置に向けられている。そして、上記目的を達成するために、本発明のイベント処理装置は、イベント判定部、イベント制御部、ユーザ操作記憶部、アンロック条件部、及びロック制御部とを備える。
【００１８】
イベント判定部は、発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるかを判定する。イベント制御部は、イベント判定部の判定結果に基づいて、発生したイベントをＧＵＩコンテンツ再生部へ通知する。ユーザ操作記憶部は、発生したイベントが他のイベントである場合、イベント制御部から出力されるユーザ操作の情報を記憶する。アンロック条件部は、発生したイベントが他のイベントである場合、他のイベントに予め割り当てられた処理を実行する前後のＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、第１の表示内容と第２の表示内容との一致を判断する。ロック制御部は、イベント制御部の指示に従って、描画部の描画更新の停止及び再開を制御する。そして、イベント制御部は、発生したイベントが他のイベントである場合、当該他のイベントをＧＵＩコンテンツ再生部に通知した後に発生するユーザイベントのＧＵＩコンテンツ再生部への通知を停止すると共に、ロック制御部へ描画部の描画更新停止の指示を行い、アンロック条件部において第１の表示内容と第２の表示内容とが一致したと判断された場合、ユーザ操作記憶部が記憶する情報のＧＵＩコンテンツ再生部への出力、ＧＵＩコンテンツ再生部に対するユーザイベントの通知再開、及びロック制御部へ描画部の描画更新再開の指示を行うことを特徴とする。
【００１９】
好ましくは、ユーザ操作記憶部は、ユーザ操作の情報として、描画部の画面上の座標を特定するためのカーソル情報を記憶する。また、イベント判定部は、発生するイベントがカーソルを用いたイベントである場合には表示内容上のカーソルの座標位置に基づいて、発生するイベントがキーを用いたイベントである場合にはキーの種別に基づいて、ユーザイベントであるか他のイベントであるかを判定する。
【００２０】
上述したイベント処理装置の各構成が行うそれぞれの処理は、一連の処理手順を与えるイベント処理方法として捉えることができる。この方法は、一連の処理手順をコンピュータに実行させるためのプログラムの形式で提供される。このプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で、コンピュータに導入されてもよい。また、上述したイベント処理装置の各構成は、集積回路であるＬＳＩとして実現されてもよい。
【発明の効果】
【００２１】
上記本発明によれば、既存のＧＵＩコンテンツ再生部を利用し、ユーザ操作に基づく入力装置で発生するイベントと、ロジック部で発生するイベントとを、同時に処理することが可能となる。
【発明を実施するための最良の形態】
【００２２】
本発明のイベント処理装置の説明に先立ち、まずＧＵＩコンテンツの一例について説明する。図１は、ＧＵＩコンテンツが再生されることによって作成される画面表示内容を示している。ＧＵＩコンテンツ１０１は、画面上でＧＵＩを実現することができるコンテンツであり、画面に表示されるユーザ操作領域１０２と、画面に表示されないボタン配置領域１０３とを提供する。
【００２３】
ユーザ操作領域１０２は、機器の表示画面上でユーザにＧＵＩを提供する領域であり、ユーザがキーボードやポインティングデバイス等の入力機器を操作することによって、その操作に割り当てられたユーザ指示イベントが発生する。
【００２４】
例えば、ユーザ操作領域１０２には、ユーザ指示イベントによって表示内容が変化したり、音声が発生したりするオブジェクト１０５を配置することができる。具体的には、ユーザがポインタ（図示せず）をオブジェクト１０５に重ねる操作を行ったときに、そのユーザ操作に起因して生じたユーザ指示イベントに基づいて、オブジェクト１０５の表示内容が変化するように、又は音楽の再生や効果音の鳴動がされるように、ＧＵＩコンテンツ１０１が構成される。
【００２５】
ボタン配置領域１０３には、ロジック指示イベント受信用ボタン１０４が配置されている。ボタン配置領域１０３は、画面上には表示されないが、ロジック指示イベント受信用ボタン１０４が押下された場合、すなわちポインタの座標値が画面表示外のロジック指示イベント受信用ボタン１０４の領域内に含まれる場合、ロジック指示イベント受信用ボタン１０４に割り当てられたイベントが発生する。
【００２６】
このようなボタン配置領域１０３と、ロジック指示イベント受信用ボタン１０４とが設けられているのは、アプリケーション等のロジックからの指示に応答して、ユーザ操作と非同期でイベントを発生させるためである。すなわち、ロジックは、任意のタイミングでＧＵＩコンテンツ１０１からイベントを発生させるために、又は任意のタイミングでＧＵＩコンテンツ１０１にイベントを通知するために、通常画面上に表示されないボタン配置領域１０３に割り当てられたロジック指示イベントを利用する。
【００２７】
ＧＵＩコンテンツが発生するイベントの一例として、図２に示されるようなＵＲＬを通知するイベントが挙げられる。ロジック部がロジック指示イベント受信用ボタン１０４を選択したことに応答し、ＧＵＩコンテンツは、“ｈｔｔｐ：／／ｗｗｗ．ｘｘｘ．ｃｏｍ／ｘｘｘ．ｈｔｍｌ”をロジック部に通知するイベントを発生する。ロジック部は、ＵＲＬを受け取ると、例えばインターネット上等にあるＧＵＩコンテンツ外部のソースにアクセスして、このＵＲＬによって特定されるデータを取得する。そして、ロジック部は、取得したデータをＧＵＩコンテンツに反映させることによって、ＧＵＩコンテンツの表示内容や音声を動的に変更することができる。ＧＵＩコンテンツの具体的な例は、従来技術で説明したとおりである。
【００２８】
なお、図１の例では、ボタン配置領域１０３は、ユーザ操作領域１０２の外部に配置されているが、ユーザ操作領域１０２の一部に重なり合うように配置されてもよい。また、ユーザ指示イベントは、マウスイベントであってもキーイベントであってもよい。さらに、ＧＵＩコンテンツ１０１がイベントを発生するタイミングは、ロジック指示イベント受信用ボタン１０４内にポインタが入ったときでもよいし、ロジック指示イベント受信用ボタン１０４内からポインタが外れたときでもよい。
【００２９】
次に、本発明のイベント処理装置２１１について説明をする。
図３は、本発明の一実施形態に係るイベント処理装置２１１を含むコンテンツ再生システムの構成を示す図である。図３に示すコンテンツ再生システムは、イベント処理装置２１１と、イベント発生部２０４と、入力操作制御部２１２と、ＧＵＩコンテンツ再生部２０９と、描画部２１３と、描画装置２１４とを備える。このシステムは、例えば携帯電話機や、携帯端末装置等の電子機器の一部又は全体、これらに組み込まれるプログラム又は集積回路として実現され得る。
【００３０】
イベント発生部２０４は、ユーザ指示イベント及びロジック指示イベントを発生する。具体的に、イベント発生部２０４には、アプリケーションによって実行されるロジック２０１と、入力装置２０２とが相当する。入力装置２０２は、ユーザ操作に基づいて信号を出力することができるものであれば、特に限定されない。例えば、入力装置２０２は、マウスやタッチパネル等のポインティングデバイスであってもよいし、キーボードであってもよい。
【００３１】
入力操作制御部２１２は、入力装置２０２から通知されるユーザ指示イベントを受信し、ユーザ操作に追従してカーソル位置を描画するように描画部２１３に指示すると共に、受信したユーザ指示イベントをイベント処理装置２１１へと通知する。また、入力操作制御部２１２は、ロジック２０１から通知されるロジック指示イベントを受信し、受信したロジック指示イベントをイベント処理装置２１１へと通知する。なお、入力操作制御部２１２は、カーソル位置の描画を描画部２１３に指示することなく、受信したイベントをイベント処理装置２１１に通知してもよい。
【００３２】
ＧＵＩコンテンツ再生部２０９は、入力操作制御部２１２を介してユーザ２１５又はロジック２０１によって登録されたＧＵＩコンテンツを再生し、再生内容の描画更新を描画部２１３に指示する。また、ＧＵＩコンテンツ再生部２０９は、イベント処理装置２１１から通知されるイベントに応じた処理を実行する。ＧＵＩコンテンツ再生部２０９には、ＧＵＩコンテンツの種類毎に用意されているものを利用できる。
【００３３】
描画部２１３は、ディスプレイ等の描画装置２１４への描画を制御する。また、描画部２１３は、イベント処理装置２１１からの描画要求に従って、ＧＵＩコンテンツ再生部２０９がＧＵＩコンテンツの再生を通じて生成した表示内容を描画装置２１４へ描画する。
【００３４】
イベント処理装置２１１は、ＧＵＩコンテンツ再生部２０９がＧＵＩコンテンツを再生している間に、入力操作制御部２１２から通知されるイベントを受け付け、受け付けたイベントに従って再生内容の描画を更新するように描画部２１３に指示するものである。このイベント処理装置２１１は、イベント制御部２１０と、イベント判定部２０５と、ユーザ操作記憶部２０６と、アンロック条件部２０７と、ロック制御部２０８とを備える。
【００３５】
イベント制御部２１０は、入力操作制御部２１２を介してロジック２０１又は入力装置２０２から受け付けたイベントをイベント判定部２０５に渡し、イベントの判定を要求する。そして、イベント制御部２１０は、イベント判定部２０５からの判定結果に基づいて、ユーザ操作記憶部２０６、アンロック条件部２０７、及びロック制御部２０８に対して後述する処理を行う。
【００３６】
イベント判定部２０５は、イベント制御部２１０から受け取ったイベントが、入力装置２０２から通知されたユーザ指示イベントであるか、ロジック２０１から通知されたロジック指示イベントであるかを判定する。そして、イベント判定部２０５は、判定した結果をイベント制御部２１０に返す。具体的には、イベント判定部２０５は、イベント判定テーブルに基づいて受け取ったイベントの種別を判定する。図４Ａ及び図４Ｂは、図３に示すイベント判定部２０５が参照するイベント判定テーブルの一例を示す図である。
【００３７】
図４Ａは、ＧＵＩコンテンツの再生により作成される表示内容をＸ−Ｙ座標系を用いて表現した際に、当該表示内容のうちユーザ指示イベントに割り当てられる領域とロジック指示イベントに割り当てられる領域とを、ＸＹ座標範囲で定義した例である。例えば、イベント判定部２０５が、イベント発生座標（１００，１００）を示すカーソルイベントを受け取った場合を想定する。イベント発生座標（１００，１００）は、始点（０，０）及び終点（２００，２００）によって定義される矩形形状の領域に含まれるため、イベント判定部２０５は、当該受け取ったイベントをユーザ指示イベントであると判定する。
図４Ｂは、キー押下等のイベントとイベントの種類との対応を定義した例である。
【００３８】
ユーザ操作記憶部２０６は、カーソル位置（座標）やイベント種別（キー又はマウス）等のユーザ操作の情報を記憶する。ユーザ操作記憶部２０６は、キーコードをユーザ操作として記憶してもよい。アンロック条件部２０７は、イベント制御部２１０から渡される描画更新を停止する直前の表示画面のビットマップ情報（アンロック条件）を記憶し、更新停止中にイベント制御部２１０から渡されるビットマップと記憶したビットマップとが等しいか否かを判定する。なお、表示画面のビットマップ情報に代えて、再生画面ＩＤを用いてもよい。また、音声の場合には、音楽再生完了位置（先頭からの時間情報等）や効果音の状態（鳴動後／鳴動前の判断や鳴動回数等）を用いることが考えられる。ロック制御部２０８は、イベント制御部２１０から描画更新の停止を指示された場合には描画更新の停止を、描画更新の再開を指示された場合には描画更新の再開を、描画部２１３へ要求する。
【００３９】
イベント制御部２１０は、イベント判定部２０５からユーザ指示イベントである旨の結果が戻ってきた場合には、受け付けたイベントをＧＵＩコンテンツ再生部２０９へと通知する。一方、イベント制御部２１０は、イベント判定部２０５からロジック指示イベントである旨の結果が戻ってきた場合には、以下の処理を実行する。
【００４０】
（ａ）現在のカーソル位置等のユーザ操作情報をユーザ操作記憶部２０６に格納
（ｂ）アンロック条件部２０７にアンロック条件を格納
（ｃ）ロック制御部２０８に描画更新の停止を指示
（ｄ）入力操作制御部２１２にユーザ指示イベント通知の停止を指示
（ｅ）ＧＵＩコンテンツ再生部２０９を介して描画部２１３にカーソル位置の描画更新を停止するよう指示
【００４１】
続いて、イベント制御部２１０は、ロジック指示イベントをＧＵＩコンテンツ再生部２０９に通知し、通知したイベントによって定められる処理が完了したことをＧＵＩコンテンツ再生部２０９から通知されたタイミングで、以下の処理を実行する。
（ｆ）ユーザ操作記憶部２０６から格納されているユーザ操作を取得
（ｇ）ユーザ操作記憶部２０６に保存されていたユーザ操作をＧＵＩコンテンツ再生部２０９へユーザ指示イベントとして通知
（ｈ）アンロック条件部２０７からアンロック条件を満たすか否かの判定結果を取得
（ｉ）処理（ｈ）において、判定結果がアンロック条件を満たしていることを示す場合、ロック制御部２０８に描画更新の再開を指示
（ｊ）入力操作制御部２１２にユーザ指示イベント通知の再開を指示
（ｋ）描画部２１３にカーソル位置の描画更新の再開を指示
【００４２】
なお、入力操作制御部２１２は、必ずしも、描画部２１３へのカーソル位置の描画更新を停止（上記ｃ）する必要はない。この場合、描画部２１３は、ロック制御部２０８に描画更新の再開（上記ｉ）を指示される前に、ユーザ操作記憶部２０６から取得した座標にカーソルを描画してもよい。
【００４３】
図５は、イベント処理装置２１１によるＧＵＩコンテンツ再生及びユーザ指示イベント受け付け時のシーケンス図である。図６は、イベント処理装置２１１によるロジック指示イベント受け付け時のシーケンス図である。図７は、イベント処理装置２１１によって再生されるＧＵＩコンテンツの表示過程を説明する図である。この図７は、ユーザ操作領域１０２に配置されているオブジェクト３０３オブジェクト３０３上にマウスカーソルが重なった場合に、オブジェクト３０３を拡大表示するようにデザインされているＧＵＩコンテンツの例である。
【００４４】
以下、図５〜図７を、図３と併せて参照しながら、本発明のイベント処理装置２１１における制御処理の詳細を、ＧＵＩコンテンツ再生処理、ユーザ指示イベント通知処理、及びロジック指示イベント通知処理に分けて説明する。なお、以下の説明においては、入力装置２０２がマウスである場合を想定するが、入力装置２０２がマウス以外である場合も同様の処理が成り立つ。
【００４５】
＜Ａ．ＧＵＩコンテンツ再生処理＞
（ステップ１）ロジック２０１は、入力操作制御部２１２を介して、ＧＵＩコンテンツ再生部２０９へＧＵＩコンテンツの再生要求を通知する。
（ステップ１．１）ＧＵＩコンテンツ再生部２０９は、ロジック２０１によって指示されたＧＵＩコンテンツを再生する。
（ステップ１．２）ＧＵＩコンテンツ再生部２０９は、ＧＵＩコンテンツを再生して描画内容を作成し、作成した描画内容で画面を更新するように描画部２１３に指示する。
（ステップ１．２．１）描画部２１３は、ＧＵＩコンテンツ再生部２０９から受け取った描画内容を描画装置２１４に転送する。この結果、描画装置２１４の画面にＧＵＩコンテンツが表示される。
例えば、ＧＵＩコンテンツが表示内容としてアニメーションを含んでいる場合、アニメーションを構成するコマ毎にステップ１．１〜１．２．１が繰り返し行われる。
【００４６】
＜Ｂ．ユーザ指示イベント通知処理＞（図５）
（ステップ２）続いて、ＧＵＩコンテンツの再生中に、ユーザ２１５が入力装置２０２を操作して、マウスカーソル３０１をオブジェクト３０３に重ねた場合を想定する。
（ステップ２．１）入力装置２０２は、マウス動作に対応するマウスイベントを入力操作制御部２１２へ通知する。
（ステップ２．１．１）入力操作制御部２１２は、描画部２１３にマウスカーソルを描画するよう指示する。
（ステップ２．１．１．１）入力操作制御部２１２からの指示に応答して、描画部２１３は、描画装置２１４にマウスカーソルの描画を転送する。
以上の処理によって、図７の（ｂ）に示されるように、マウスカーソル３０１が表示される。
【００４７】
（ステップ２．１．２）入力操作制御部２１２は、入力装置２０２から出力されたマウスイベントをイベント制御部２１０へ通知する。
（ステップ２．１．２．１）イベント制御部２１０は、マウスイベントに含まれる座標をイベント判定部２０５へ出力し、イベント判定を指示する。
（ステップ２．１．２．１．１）イベント判定部２０５は、イベント判定テーブルに基づいて、通知された座標がユーザ操作領域１０２内又はボタン配置領域１０３内のいずれに含まれるかを判定する。本実施例においては、イベント判定部２０５は、ユーザ指示イベントである旨をイベント制御部２１０に返す。
なお、図７の（ｂ）の例では、マウスイベント座標がユーザ操作領域１０２に位置するため、ユーザ指示イベントと判定される。
【００４８】
（ステップ２．１．２．２）イベント制御部２１０は、ＧＵＩコンテンツ再生部２０９に、マウスイベントを通知する。
（ステップ２．１．２．２．１）ＧＵＩコンテンツ再生部２０９は、イベントに割り当てられた処理を行い、オブジェクト３０３が拡大された状態を示す表示内容を再生する。
（ステップ２．１．２．２．２）ＧＵＩコンテンツ再生部２０９は、再生された表示内容の描画を描画部２１３へ指示する。
（ステップ２．１．２．２．２．１）描画部２１３は、描画装置２１４に描画内容を転送する。その結果、描画装置２１４の画面が更新される。
上記の処理の結果、例えば、図７の（ａ）に示されるオブジェクト３０３にマウスカーソル３０１が重なったときに、図７の（ｂ）のように、オブジェクト３０３から拡大されたオブジェクト３０４へと変化するユーザインタフェースが実現される。
【００４９】
＜Ｃ．ロジック指示イベント通知処理＞（図６）
次に、ユーザ操作とは非同期でユーザ操作領域１０２の表示内容が変更される場合を考える。端末装置が携帯電話である場合を想定すると、ユーザ操作と非同期で表示される内容は、例えば電話着信やメール着信やバッテリー容量低下の通知、アラーム、スケジュール内容の表示等が挙げられる。このような表示は、随時発生するものであって必ずしもユーザからの指示に従って発生するものではない。そこで、必要な情報を画面上に任意のタイミングで表示するために、ロジック指示イベントが利用される。
【００５０】
（ステップ１）図７の（ｂ）の状況において、アプリケーションが新着情報を受信したことを示すオブジェクト３０５を画面上に表示させる場合を想定する。ロジック２０１は、ＧＵＩコンテンツ再生部２０９にオブジェクト３０５の再生を実行させるために、マウスカーソルがロジック指示イベント受信用ボタン３０２内にあることを示すロジック指示イベントを発生する。
（ステップ１．１）イベント制御部２１０は、イベント判定部２０５にマウスイベントに含まれる座標を通知し、イベント判定を指示する。
（ステップ１．１．１）イベント判定部２０５は、イベント判定テーブルに基づいて、通知された座標が、ユーザ操作領域１０２内又はボタン配置領域１０３内のいずれに含まれるかを判定する。本実施例においては、イベント判定部２０５は、イベントがロジック指示イベントである旨をイベント制御部２１０に返す。
【００５１】
（ステップ１．２）イベント制御部２１０は、ユーザ２１５が操作しているマウスカーソル座標をユーザ操作記憶部２０６に格納する。
（ステップ１．３）イベント制御部２１０は、描画部２１３から現在画面に表示されているビットマップを取得する。なお、イベント制御部２１０は、描画部２１３からビットマップを取得する代わりに、ＧＵＩコンテンツ再生部２０９がバッファリングしている描画内容をビットマップとして取得してもよい。
（ステップ１．４）イベント制御部２１０は、取得したビットマップをアンロック条件としてアンロック条件部２０７に格納する。
【００５２】
（ステップ１．５）イベント制御部２１０は、ロック制御部２０８に描画更新の停止を指示する。
（ステップ１．５．１）ロック制御部２０８は、イベント制御部２１０からの描画更新停止の指示に応答して、描画装置２１４への描画内容の転送を停止するように描画部２１３に指示する。
（ステップ１．６）イベント制御部２１０は、ユーザ指示イベントの通知を停止するように入力操作制御部２１２に指示する。また、イベント制御部２１０は、カーソル位置の更新を停止するよう描画部２１３に指示する。
上記の処理によって、描画更新停止の間、図７の（ｃ）に示される画面が描画装置２１４上に継続して表示され続ける（画面ロック）。
【００５３】
（ステップ１．７）イベント制御部２１０は、ステップ１においてロジック指示イベントとして通知されたマウスイベントを、ＧＵＩコンテンツ再生部２０９に通知する。このとき、図７の（ｄ）のロジック指示イベント受信用ボタン３０２にイベントを通知する。
（ステップ１．７．１）ＧＵＩコンテンツ再生部２０９は、マウスイベントに割り当てられる処理を再生する。
（ステップ１．７．２）ＧＵＩコンテンツ再生部２０９は、再生した表示内容で表示画面を更新するように描画部２１３に指示する。なお、このステップ１．７．２は、省略されてもよい。この更新により、図７の（ｅ）に示される図面となる（オブジェクト３０５の描画）。
【００５４】
（ステップ１．８）イベント制御部２１０は、ユーザ操作記憶部２０６からマウスカーソル座標を取得する。
（ステップ１．９）イベント制御部２１０は、ユーザ操作記憶部２０６から取得したマウスカーソル座標をＧＵＩコンテンツ再生部２０９に出力して、マウスイベントを通知する。
（ステップ１．９．１）ＧＵＩコンテンツ再生部２０９は、再生処理を行う。
（ステップ１．９．２）ＧＵＩコンテンツ再生部２０９は、更新された表示内容の描画更新を描画部２１３へ指示する。なお、このステップ１．９．２は、省略されてもよい。
（ステップ１．１０）イベント制御部２１０は、描画部２１３から更新画面のビットマップを取得する。イベント制御部２１０は、描画部２１３からビットマップを取得する代わりに、ＧＵＩコンテンツ再生部２０９がバッファリングしている描画内容をビットマップとして取得してもよい。
【００５５】
（ステップ１．１１）イベント制御部２１０は、アンロック条件を満たしているか否かを判定するため、取得したビットマップをアンロック条件部２０７に出力する。具体的には、アンロック条件部２０７は、ステップ１．１１においてイベント制御部２１０から出力されたビットマップと、ステップ１．３において記憶されたビットマップとが一致するか否かを判定する。そして、アンロック条件部２０７は、２つのビットマップが一致する場合（図７の（ｇ）のオブジェクト３０４）に、アンロック条件が満たされていることを示す情報をイベント制御部２１０に返し（図５の場合）、それ以外の場合（図７の（ｆ）のオブジェクト３０６）には、アンロック条件が満たされていないことを示す情報をイベント制御部２１０に返す。
【００５６】
（ステップ１．１２）イベント制御部２１０は、表示画面の更新（又は、再生完了位置からの音楽再生）を再開するようにロック制御部２０８に指示する。
（ステップ１．１２．１）ロック制御部２０８は、イベント制御部２１０の更新再開指示に応答して、描画装置２１４への描画内容の転送を再開するように描画部２１３に指示する。
（ステップ１．１２．１．１）描画部２１３は、ロック制御部２０８からの指示に従い、描画装置２１４へ描画内容の転送を再開する。
（ステップ１．１３）イベント制御部２１０は、ユーザ指示イベントの通知を再開するように入力操作制御部２１２に指示すると共に、カーソル位置の更新を再開するように描画部２１３へ指示する。
【００５７】
上記の処理によって、図７の（ｄ）〜（ｇ）に示される内容が内部で順に処理されてオブジェクト３０５の表示処理が完了した後、図７の（ｈ）に示すように画面ロックを解除して、ユーザ指示イベントにロジック指示イベントが反映されたＧＵＩコンテンツを再生する。
【００５８】
以上のように、本発明の一実施形態に係るイベント処理装置２１１によれば、ロジック指示イベント発生に応答して、描画部２１３の画面更新を停止させる。これにより、ロジック指示イベント発生直前の表示内容が続けて画面表示されるので、マウスカーソルの表示がユーザの意図に反して変化することを防止できる。
【００５９】
また、本イベント処理装置２１１によれば、ロジック指示イベント発生に応答して、ユーザ指示イベントの通知を停止するように、入力操作制御部２１２に指示する。これにより、ユーザ指示イベントの通知がロジック指示イベントの通知に干渉してしまうことを回避できる。このユーザ指示イベントの通知を停止中は、ＧＵＩコンテンツが発生するユーザ指示イベントは無視してもよい。
【００６０】
さらに、本イベント処理装置２１１によれば、ロジック２０１がイベント制御部２１０にロジック指示イベントを通知している間に発止したユーザ操作を、ユーザ操作記憶部２０６に記憶する。従って、イベント制御部２１０は、ロジック指示イベント終了後に、ユーザ操作記憶部２０６に記憶されている座標に基づいて、ユーザ指示イベントに対応する処理を実行することが可能となる。
【００６１】
なお、上記実施形態は、記憶装置（ＲＯＭ、ＲＡＭ、ハードディスク等）に格納された上述の処理手順をコンピュータに実行させることができるプログラムを、コンピュータに実行させることによっても実現できる。このコンピュータは、携帯端末装置に組み込まれたコンピュータを含む概念である。この場合、当該プログラムは、記録媒体を介して記憶装置内に格納された後に実行されてもよいし、記憶媒体から直接実行されてもよい。ここでの記憶媒体は、ＲＯＭやＲＡＭ、フラッシュメモリ等の半導体メモリ、フレキシブルディスクやハードディスク等の磁気ディスクメモリ、ＣＤ−ＲＯＭやＤＶＤ、ＢＤ等の光ディスク、メモリーカード等の記録媒体をいう。また、記録媒体は、電話回線や搬送路等の通信媒体も含む概念である。
【００６２】
さらに、上記実施形態に係るイベント処理装置の機能ブロック（図３）は、集積回路であるＬＳＩとして実現されてもよい。これらの機能ブロックは、１チップ化されてもよいし、一部又は全部を含むように１チップ化されていてもよい。ここでは、ＬＳＩと述べたが、集積度の違いによっては、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと称呼されることもある。また、集積回路化の手法は、ＬＳＩに限られるものではなく、専用回路又は汎用プロセッサで集積回路化を行ってもよい。また、ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを用いてもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックを集積化してもよい。バイオ技術の適用等が可能性としてあり得る。
【産業上の利用可能性】
【００６３】
本発明のイベント処理装置は、携帯電話機、ＰＤＡ、デジタルカメラ、ＰＣ、及びカーナビゲーションシステム等の画面表示装置を有する情報処理端末等に利用可能であり、特に既存のＧＵＩコンテンツ再生部を改変することなく、ユーザ指示に基づくイベントとロジック指示に基づくイベントとを同時に処理したい場合等に有用である。
【図面の簡単な説明】
【００６４】
【図１】ＧＵＩコンテンツが再生されることによって作成される画面表示内容を示す模式図
【図２】ＧＵＩコンテンツが発生するイベントの例を示す図
【図３】本発明の一実施形態に係るイベント処理装置２１１を含むコンテンツ再生システムの構成を示す図
【図４Ａ】図３に示すイベント判定部２０５が参照するイベント判定テーブルの一例を示す図
【図４Ｂ】図３に示すイベント判定部２０５が参照するイベント判定テーブルの一例を示す図
【図５】イベント処理装置２１１によるＧＵＩコンテンツ再生及びユーザ指示イベント受け付け時のシーケンス図
【図６】イベント処理装置２１１によるロジック指示イベント受け付け時のシーケンス図
【図７】イベント処理装置２１１によって再生されるＧＵＩコンテンツの表示過程を説明する図
【図８】ＧＵＩコンテンツの一例を模式的に示した図
【図９】従来のコンテンツ再生システムの構成を示す図
【符号の説明】
【００６５】
１０１  ＧＵＩコンテンツ
１０２  ユーザ操作領域
１０３  ボタン配置領域
１０４、３０２  ロジック指示イベント受信用ボタン
１０５、３０３〜３０５  オブジェクト
２０１  ロジック
２０２  入力装置
２０４  イベント発生部
２０５  イベント判定部
２０６  ユーザ操作記憶部
２０７  アンロック条件部
２０８  ロック制御部
２０９  ＧＵＩコンテンツ再生部
２１０  イベント制御部
２１１  イベント処理装置
２１２  入力操作制御部
２１３  描画部
２１４  描画装置
２１５  ユーザ
３０１  マウスカーソル
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知するイベント処理装置であって、
前記発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるか、を判定するイベント判定部と、
前記イベント判定部の判定結果に基づいて、前記発生したイベントを前記ＧＵＩコンテンツ再生部へ通知するイベント制御部と、
前記発生したイベントが前記他のイベントである場合、前記イベント制御部から出力されるユーザ操作の情報を記憶するユーザ操作記憶部と、
前記発生したイベントが前記他のイベントである場合、当該他のイベントに予め割り当てられた処理を実行する前後の前記ＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、当該第１の表示内容と第２の表示内容との一致を判断するアンロック条件部と、
前記イベント制御部の指示に従って、前記描画部の描画更新の停止及び再開を制御するロック制御部とを備え、
前記イベント制御部は、
前記発生したイベントが前記他のイベントである場合、当該他のイベントを前記ＧＵＩコンテンツ再生部に通知した後に発生するユーザイベントの前記ＧＵＩコンテンツ再生部への通知を停止すると共に、前記ロック制御部へ前記描画部の描画更新停止の指示を行い、
前記アンロック条件部において前記第１の表示内容と第２の表示内容とが一致したと判断された場合、前記ユーザ操作記憶部が記憶する情報の前記ＧＵＩコンテンツ再生部への出力、前記ＧＵＩコンテンツ再生部に対するユーザイベントの通知再開、及び前記ロック制御部へ前記描画部の描画更新再開の指示を行う、イベント処理装置。
【請求項２】
前記ユーザ操作記憶部は、前記ユーザ操作の情報として、前記描画部の画面上の座標を特定するためのカーソル情報を記憶する、請求項１に記載のイベント処理装置。
【請求項３】
前記発生するイベントがカーソルを用いたイベントである場合、前記イベント判定部は、表示内容上のカーソルの座標位置に基づいて前記ユーザイベントであるか前記他のイベントであるかを判定する、請求項１に記載のイベント処理装置。
【請求項４】
前記発生するイベントがキーを用いたイベントである場合、前記イベント判定部は、キーの種別に基づいて前記ユーザイベントであるか前記他のイベントであるかを判定する、請求項１に記載のイベント処理装置。
【請求項５】
ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知するイベント処理方法であって、
前記発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるか、を判定するステップと、
前記判定の結果、前記発生したイベントが前記ユーザイベントである場合、前記発生したユーザイベントを前記ＧＵＩコンテンツ再生部へ通知するステップと、
前記判定の結果、前記発生したイベントが前記他のイベントである場合、
ユーザ操作の情報を記憶するステップと、
前記発生した他のイベントを前記ＧＵＩコンテンツ再生部へ通知するステップと、
前記通知の後に発生するユーザイベントの前記ＧＵＩコンテンツ再生部への通知を停止するステップと、
前記描画部の描画更新を停止するステップと、
前記他のイベントに予め割り当てられた処理を実行する前後の前記ＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、当該第１の表示内容と第２の表示内容との一致を判断するステップと、
前記第１の表示内容と第２の表示内容とが一致した場合、前記記憶する情報を前記ＧＵＩコンテンツ再生部へ出力するステップと、
前記ＧＵＩコンテンツ再生部に対するユーザイベントの通知を再開するステップと、
前記描画部の描画更新を再開するステップとを備える、イベント処理方法。
【請求項６】
ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知するイベント処理方法を、コンピュータに実行させるためのコンピュータ読み取り可能なプログラムであって、
前記発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるか、を判定するステップと、
前記判定の結果、前記発生したイベントが前記ユーザイベントである場合、前記発生したユーザイベントを前記ＧＵＩコンテンツ再生部へ通知するステップと、
前記判定の結果、前記発生したイベントが前記他のイベントである場合、
ユーザ操作の情報を記憶するステップと、
前記発生した他のイベントを前記ＧＵＩコンテンツ再生部へ通知するステップと、
前記通知の後に発生するユーザイベントの前記ＧＵＩコンテンツ再生部への通知を停止するステップと、
前記描画部の描画更新を停止するステップと、
前記他のイベントに予め割り当てられた処理を実行する前後の前記ＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、当該第１の表示内容と第２の表示内容との一致を判断するステップと、
前記第１の表示内容と第２の表示内容とが一致した場合、前記記憶する情報を前記ＧＵＩコンテンツ再生部へ出力するステップと、
前記ＧＵＩコンテンツ再生部に対するユーザイベントの通知を再開するステップと、
前記描画部の描画更新を再開するステップとを前記コンピュータに実行させる、プログラム。
【請求項７】
ＧＵＩを提供するＧＵＩコンテンツを再生しかつ再生した表示内容を描画部へ出力するＧＵＩコンテンツ再生部に対して、発生したイベントを通知する回路を集積した集積回路であって、
前記発生したイベントが、入力装置を介したユーザ操作に基づくユーザイベントであるかユーザイベント以外の他のイベントであるか、を判定するイベント判定部、
前記イベント判定部の判定結果に基づいて、前記発生したイベントを前記ＧＵＩコンテンツ再生部へ通知するイベント制御部、
前記発生したイベントが前記他のイベントである場合、前記イベント制御部から出力されるユーザ操作の情報を記憶するユーザ操作記憶部、
前記発生したイベントが前記他のイベントである場合、当該他のイベントに予め割り当てられた処理を実行する前後の前記ＧＵＩコンテンツ再生部が生成した表示内容を第１の表示内容及び第２の表示内容としてそれぞれ記憶し、当該第１の表示内容と第２の表示内容との一致を判断するアンロック条件部、
前記イベント制御部の指示に従って、前記描画部の描画更新の停止及び再開を制御するロック制御部として機能する回路を集積し、
前記イベント制御部は、
前記発生したイベントが前記他のイベントである場合、当該他のイベントを前記ＧＵＩコンテンツ再生部に通知した後に発生するユーザイベントの前記ＧＵＩコンテンツ再生部への通知を停止すると共に、前記ロック制御部へ前記描画部の描画更新停止の指示を行い、
前記アンロック条件部において前記第１の表示内容と第２の表示内容とが一致したと判断された場合、前記ユーザ操作記憶部が記憶する情報の前記ＧＵＩコンテンツ再生部への出力、前記ＧＵＩコンテンツ再生部に対するユーザイベントの通知再開、及び前記ロック制御部へ前記描画部の描画更新再開の指示を行うことを特徴とする、集積回路。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008018465.tif 000013
【図２】
2008018465.tif 000014
【図３】
2008018465.tif 000015
【図４Ａ】
2008018465.tif 000016
【図４Ｂ】
2008018465.tif 000017
【図５】
2008018465.tif 000018
【図６】
2008018465.tif 000019
【図７】
2008018465.tif 000020
【図８】
2008018465.tif 000021
【図９】
2008018465.tif 000022
【国際調査報告】
2008018465.tif 000023
2008018465.tif 000024