(57)【特許請求の範囲】
【請求項１】
表示手段に表示されるウィンドウに対応するアプリケーションを特定し、当該特定されたアプリケーションに関連付けられたハードウェア又はソフトウェアを指定する指定手段と、
前記表示手段が行う表示において他のウィンドウと重なるウィンドウを特定する特定手段と、
前記特定手段により特定されたウィンドウについて前記指定手段により指定されたハードウェア又はソフトウェアを自装置が備えているか否かを判別する判別手段と、
前記特定手段により特定された複数のウィンドウについて表示の優先度を決定する決定手段であって、前記判別手段により自装置が備えていると判別されたハードウェア又はソフトウェアが指定されたウィンドウの優先度が、前記判別手段により自装置が備えていると判別されたハードウェア又はソフトウェアが指定されていないウィンドウの優先度よりも高くなるように、前記複数のウィンドウの優先度を決定する決定手段と、
前記決定手段により決定された優先度が高いウィンドウを当該優先度が低いウィンドウより前面に表示させる表示制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
あるウィンドウを指定するウィンドウ指定手段を備え、
前記表示制御手段は、
前記ウィンドウ指定手段により指定されたウィンドウが前記特定された複数のウィンドウに含まれる場合に、当該ウィンドウを最前面に表示させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、
前記特定手段により特定されたウィンドウに、前記判別手段により自装置が備えていると判別されたハードウェア又はソフトウェアが指定されたウィンドウが複数ある場合に、処理を実行中であるハードウェア又はソフトウェアが指定されたウィンドウの優先度をより高くする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記決定手段は、
前記特定手段により特定されたウィンドウに、前記判別手段により自装置が備えていると判別されたハードウェア又はソフトウェアが指定されたウィンドウが複数ある場合に、最近に処理を実行したハードウェア又はソフトウェアが指定されたウィンドウの優先度をより高くする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
コンピュータに、
表示手段に表示されるウィンドウに対応するアプリケーションを特定し、当該特定されたアプリケーションに関連付けられたハードウェア又はソフトウェアを指定する機能と、
前記表示手段が行う表示において他のウィンドウと重なるウィンドウを特定する機能と、
前記特定されたウィンドウについて前記指定されたハードウェア又はソフトウェアを自装置が備えているか否かを判別する機能と、
前記特定された複数のウィンドウについて表示の優先度を決定する決定手段であって、自装置が備えていると前記判別されたハードウェア又はソフトウェアが指定されたウィンドウの優先度が、自装置が備えていると前記判別されたハードウェア又はソフトウェアが指定されていないウィンドウの優先度よりも高くなるように、前記複数のウィンドウの優先度を決定する機能と、
前記決定された優先度が高いウィンドウを当該優先度が低いウィンドウより前面に表示させる機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩ（Graphical User Interface）に関する。
【背景技術】
【０００２】
複数のウィンドウが重なる場合の表示制御として、特許文献１に記載された技術が知られている。特許文献１には、表示画面に少なくとも２つのウィンドウを互いに重なる部分をもつ状態で表示しているときに、前面に表示されているウィンドウと、後面に表示されているウィンドウとを所定時間毎に入れ替えることや、それぞれのウィンドウの使用時間に応じて前面に表示する時間の長さを定めることが記載されている。
【特許文献１】特開平８−１６１１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ハードウェア構成やソフトウェア構成は、全ての情報処理装置において同一であるとは限らない。例えば、携帯電話機であれば、ハードウェア構成は機種毎に異なるし、ユーザにより任意にソフトウェアの追加及び削除も可能である。
そこで、本発明は、複数のウィンドウの表示を装置の構成に応じて切り替え可能にすることを目的としている。
【課題を解決するための手段】
【０００４】
本発明に係る情報処理装置は、表示手段に表示されるウィンドウについてハードウェア又はソフトウェアを指定する指定手段と、前記表示手段が行う表示において他のウィンドウと重なるウィンドウを特定する特定手段と、前記特定手段により特定されたウィンドウについて前記指定手段により指定されたハードウェア又はソフトウェアを自装置が備えているか否かを判別する判別手段と、前記特定手段により特定された複数のウィンドウについて表示の優先度を決定する決定手段であって、前記判別手段により自装置が備えていると判別されたハードウェア又はソフトウェアが指定されたウィンドウの優先度が高くなるように、前記複数のウィンドウの優先度を決定する決定手段と、前記決定手段により決定された優先度が高いウィンドウを当該優先度が低いウィンドウより前面に表示させる表示制御手段とを備えることを特徴とする。
【０００５】
本発明に係る情報処理装置において、あるウィンドウを指定するウィンドウ指定手段を備え、前記表示制御手段は、前記ウィンドウ指定手段により指定されたウィンドウが前記特定された複数のウィンドウに含まれる場合に、当該ウィンドウを最前面に表示させる構成を採用してもよい。
あるいは、本発明に係る情報処理装置において、あるウィンドウを指定するウィンドウ指定手段を備え、前記決定手段は、前記ウィンドウ指定手段により指定されたウィンドウが前記特定された複数のウィンドウに含まれる場合に、当該ウィンドウを除くウィンドウについて前記優先度を決定する構成を採用してもよい。
【０００６】
本発明に係る情報処理装置において、前記決定手段は、前記特定手段により特定されたウィンドウに、前記判別手段により自装置が備えていると判別されたハードウェア又はソフトウェアが指定されたウィンドウが複数ある場合に、処理を実行中であるハードウェア又はソフトウェアが指定されたウィンドウの優先度をより高くする構成を採用してもよい。
本発明に係る情報処理装置において、前記決定手段は、前記特定手段により特定されたウィンドウに、前記判別手段により自装置が備えていると判別されたハードウェア又はソフトウェアが指定されたウィンドウが複数ある場合に、最近に処理を実行したハードウェア又はソフトウェアが指定されたウィンドウの優先度をより高くする構成を採用してもよい。
【０００７】
本発明に係るプログラムは、コンピュータに、表示手段に表示されるウィンドウについてハードウェア又はソフトウェアを指定する機能と、前記表示手段が行う表示において他のウィンドウと重なるウィンドウを特定する機能と、前記特定されたウィンドウについて前記指定されたハードウェア又はソフトウェアを自装置が備えているか否かを判別する機能と、前記特定された複数のウィンドウについて表示の優先度を決定する機能であって、自装置が備えていると前記判別されたハードウェア又はソフトウェアが指定されたウィンドウの優先度が高くなるように、前記複数のウィンドウの優先度を決定する機能と、前記決定された優先度が高いウィンドウを当該優先度が低いウィンドウより前面に表示させる機能とを実現させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、自装置が指定されたハードウェア又はソフトウェアを備えている場合に、当該ハードウェア又はソフトウェアが指定されたウィンドウがより前面に表示されるように表示の優先度が決定されるため、複数のウィンドウの表示を装置の構成（ハードウェア構成又はソフトウェア構成）に応じて切り替えることが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照し、本発明の実施の形態を説明する。
［実施形態］
図１及び図２は、本発明の一実施形態である情報処理装置のハードウェア構成を示すブロック図である。図１は、情報処理装置１００ａのハードウェア構成を示しており、図２は、情報処理装置１００ｂのハードウェア構成を示している。情報処理装置１００ａ及び１００ｂは、ともに携帯電話機であり、基本的な構成は共通である。ただし、情報処理装置１００ａ及び１００ｂは、それぞれに特有の構成を有しており、かかる構成において両者は相違している。
なお、以下において、情報処理装置１００ａと情報処理装置１００ｂとを区別する必要がない場合は、これらを適宜「情報処理装置１００」と総称する。
【００１０】
情報処理装置１００ａは、制御部１１と、無線通信部１２と、操作部１３と、表示部１４と、第１画像処理部１５と、電子タグ部１６とを備える。制御部１１は、ＣＰＵ（Central Processing Unit）１１ａ、ＲＯＭ（Read Only Memory）１１ｂ、ＲＡＭ（Random Access Memory）１１ｃ及びＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）１１ｄを備え、ＣＰＵ１１ａがＲＡＭ１１ｃをワークエリアとして用いてＲＯＭ１１ｂやＥＥＰＲＯＭ１１ｄに記憶されたプログラムを実行し、これにより情報処理装置１００ａの各部の動作を制御する。無線通信部１２は、アンテナ１２ａを備え、所定の移動通信網とのデータ通信を無線で行う。操作部１３は、ボタン等の操作子を備え、ユーザの操作に応じた操作信号を制御部１１に供給する。表示部１４は、液晶ディスプレイや液晶駆動回路を備え、制御部１１から供給される表示データに応じた画像を表示する。第１画像処理部１５は、画像処理専用のＬＳＩ（Large Scale Integration）を備え、表示部１４における画像の描画に係る処理を実行する。電子タグ部１６は、ＲＦＩＤ（Radio Frequency IDentification）タグ等の電子タグを備え、あらかじめ記憶されたデータによって決済を行う、いわゆる電子決済機能を実現する。
【００１１】
情報処理装置１００ｂは、制御部１１と、無線通信部１２と、操作部１３と、表示部１４と、第２画像処理部１７と、カメラ部１８とを備える。このうち、制御部１１、無線通信部１２、操作部１３及び表示部１４は、情報処理装置１００ａと同様の構成となっている。第２画像処理部１７は、画像処理専用のＬＳＩを備える点においては第１画像処理部１５と共通するが、画像処理能力の点において第１画像処理部１５と異なる。ここにおいて、第２画像処理部１７は、第１画像処理部１５よりも画像処理能力が低いものとする。カメラ部１８は、画像を撮影するイメージセンサを備え、撮影した画像（ユーザの顔等）を表す撮影画像データを生成する。
【００１２】
以上のとおり、情報処理装置１００ａは、第１画像処理部１５と電子タグ部１６とを備える点が情報処理装置１００ｂと異なっている。一方、情報処理装置１００ｂは、第２画像処理部１７とカメラ部１８とを備える点が情報処理装置１００ａと異なっている。すなわち、第１画像処理部１５、電子タグ部１６、第２画像処理部１７及びカメラ部１８が、それぞれの情報処理装置１００ａ又は１００ｂに特有の構成である。
【００１３】
続いて、情報処理装置１００ａ及び１００ｂのソフトウェア構成を説明する。
ＲＯＭ１１ｂは、あらかじめいくつかのプログラムを記憶している。以下ではこれを「プリインストールプログラム」という。具体的には、プリインストールプログラムは、マルチタスクオペレーティングシステム（以下「マルチタスクＯＳ」という。）、Ｊａｖａ（登録商標）プラットフォーム及びネイティブアプリケーションの各プログラムである。マルチタスクＯＳは、ＴＳＳ（Time-Sharing System）による複数タスクの擬似的な並列実行を実現するために必要な仮想メモリ空間の割り当てなどの各種機能をサポートしたオペレーティングシステムである。Ｊａｖａプラットフォームは、マルチタスクＯＳを搭載した情報処理装置１００において後述するＪａｖａ実行環境１１３を実現するためのコンフィギュレーションであるＣＤＣ（Connected Device Configuration）にしたがって記述されたプログラム群である。ネイティブアプリケーションは、通話やＷｅｂページの閲覧（ブラウズ）などの情報処理装置１００の基本的なサービスを実現するプログラムである。
【００１４】
ＥＥＰＲＯＭ１１ｄは、Ｊａｖａアプリケーションが記憶されるＪａｖａアプリケーション格納領域を有する。Ｊａｖａアプリケーションは、Ｊａｖａ実行環境下における処理の手順自体を記述した実体プログラムとその実体プログラムの実行に伴って利用される画像ファイルや音声ファイルとを結合したＪＡＲ(Java Archive)ファイルと、そのＪＡＲファイルのインストールや起動、各種の属性を記述したＡＤＦ（Application Descriptor File）とを有している。このＪａｖａアプリケーションは、コンテンツプロバイダ又は通信事業者により作成されて外部のサーバ装置などに格納され、情報処理装置１００からの要求に応じてそれらのサーバ装置から適宜ダウンロードされるようになっている。
【００１５】
図３は、ＲＯＭ１１ｂ及びＥＥＰＲＯＭ１１ｄに記憶された各種プログラムの実行により情報処理装置１００の制御部１１に実現される各部の論理的構成を示す図である。同図に示すように、各種プログラムを実行する情報処理装置１００には、Ｗｅｂブラウザ１１２及びＪａｖａ実行環境１１３がＯＳ１１１上に実現され、また、ＥＥＰＲＯＭ１１ｄには第１ストレージ１１４と第２ストレージ１１５とが確保される。
【００１６】
Ｊａｖａ実行環境１１３は、ＲＯＭ１１ｂのＪａｖａプラットフォームにより実現される。Ｊａｖａ実行環境１１３は、クラスライブラリ１１６、ＪＶＭ（Java Virtual Machine）１１７及びＪＡＭ（Java Application Manager）１１８からなる。クラスライブラリ１１６は、特定の機能を有するプログラムモジュール（クラス）群を１つのファイルに結合したものである。ＪＶＭ１１７は、上述のＣＤＣのために最適化されたＪａｖａ実行環境であり、Ｊａｖａアプリケーションとして提供されるバイトコードを解釈して実行する機能を有する。ＪＡＭ１１８は、Ｊａｖａアプリケーションのダウンロードやインストール、起動・終了などを管理する機能を有する。
【００１７】
第１ストレージ１１４は、ＪＡＭ１１８の管理の下にダウンロードされるＪａｖａアプリケーション（ＪａｒファイルとＡＤＦ）を格納する領域である。第２ストレージ１１５は、Ｊａｖａアプリケーションの実行の際に生成されたデータをその終了後に格納しておくための領域であり、インストールされたＪａｖａアプリケーション毎に個別の格納領域が割り当てられるようになっている。そして、あるＪａｖａアプリケーションに割り当てられた格納領域のデータは、そのＪａｖａアプリケーションが実行されている間のみ書き換え可能となっており、別のＪａｖａアプリケーションが書き換えを行い得ないようになっている。
【００１８】
なお、情報処理装置１００ａ及び１００ｂは、Ｊａｖａアプリケーションとして２種類のゲームアプリケーション（すなわちソフトウェア）を有する。これらのアプリケーションのことを、以下ではそれぞれ「ゲームＡ」と「ゲームＢ」という。ここにおいて、ゲームＡは、高い画像処理能力を必要とするアプリケーションである。また、ゲームＢは、無線通信部１２を介して他のユーザとデータの送受信を行えるアプリケーションであり、送受信を行えるデータに撮影画像データを含んでいる。つまり、ゲームＡは、情報処理装置１００ａにおいてより好適に動作するアプリケーションであり、ゲームＢは、情報処理装置１００ｂにおいてより好適に動作するアプリケーションである。ただし、ゲームＡ及びゲームＢの双方とも、情報処理装置１００ａ及び１００ｂの双方において実行可能なアプリケーションである。
【００１９】
また、情報処理装置１００ａは、ネイティブアプリケーションとして電子決済アプリケーションと残高照会アプリケーションとを有する。電子決済アプリケーションは、上述した電子決済機能を実現するアプリケーションである。電子決済アプリケーションは、店舗等に設けられたリーダライタと電子タグ部１６との通信を制御し、金銭的価値を有するデータ（以下「電子バリュー」という。）のやりとりを行う。残高照会アプリケーションは、電子決済機能において利用可能な電子バリューの残高を表示するアプリケーションである。
【００２０】
ＥＥＰＲＯＭ１１ｄは、上述したデータに加えて、構成情報と指定情報とを記憶する。構成情報は、情報処理装置１００のハードウェア構成とソフトウェア構成とを表す情報である。すなわち、構成情報は、情報処理装置１００がいかなるハードウェア及びソフトウェアを備えているかを表す情報である。また、指定情報は、アプリケーションに関連付けられるハードウェア又はソフトウェアを指定する情報である。アプリケーションは、それぞれ、表示部１４において所定のウィンドウに表示されて実行されるので、指定情報は、アプリケーションの処理内容を表示するウィンドウに関連付けられるハードウェア又はソフトウェアを指定する情報であるといえる。
【００２１】
図４は、構成情報を例示する図である。なお、同図に例示した構成情報は、図４（ａ）が情報処理装置１００ａに記憶された構成情報であり、図４（ｂ）が情報処理装置１００ｂに記憶された構成情報である。同図に示すように、構成情報は、情報処理装置１００が備えるハードウェア及びソフトウェアのそれぞれについて、「名称」及び「ＩＤ」を関連付けたデータである。「名称」は、情報処理装置１００が備えるハードウェア又はソフトウェアを識別する情報である。「名称」は、例えば、ハードウェアであれば当該ハードウェアのいわゆる型番を含んだ情報であってもよいし、ソフトウェアであれば当該ソフトウェアのファイル名やバージョン情報を含んでもよい。また、ハードウェアの製造者やソフトウェアの制作者を表す情報を含んでもよい。また、「ＩＤ」は、ハードウェア及びソフトウェアのそれぞれについて一意的に割り当てられた情報である。「ＩＤ」は、例えば、所定の規則で付与される文字列や数字列である。
【００２２】
情報処理装置１００の制御部１１は、この構成情報を参照することにより、自装置のハードウェア構成及びソフトウェア構成を特定することができる。すなわち、制御部１１は、構成情報に記述されているか否かを判別することにより、所定のハードウェア又はソフトウェアを自装置が備えているか否かを判別することができる。
【００２３】
図５は、指定情報を例示する図である。なお、同図に例示した指定情報は、図５（ａ）が情報処理装置１００ａに記憶された指定情報であり、図５（ｂ）が情報処理装置１００ｂに記憶された指定情報である。同図に示すように、指定情報は、「アプリケーション名」、「ＩＤ」及び「順位」を関連付けたデータである。「アプリケーション名」は、各々のアプリケーションを識別する情報である。「アプリケーション名」は、例えば、アプリケーションに付与された名称（ファイル名）であってもよいし、アプリケーションが記憶されている位置（アドレスやディレクトリ）であってもよい。「ＩＤ」は、対応するアプリケーションに関連付けられたハードウェア又はソフトウェアを識別する情報であり、構成情報として記述された「ＩＤ」のいずれかが記述される。ただし、アプリケーションが自装置の特定のハードウェア又はソフトウェアに関連付けられていない場合、「ＩＤ」に有意の値は存在せず、いわゆるヌル（null）等のハードウェア又はソフトウェアと無関係のデータが記述される。「順位」は、各々のアプリケーションに対応するウィンドウに割り当てられた順序を表す値である。この値は、例えば、当該アプリケーションに対応するウィンドウが表示された頻度やその表示時間の長さに基づいて決定されてもよいし、ユーザが任意に決定できるようにしてもよい。
【００２４】
なお、本実施形態において、「ウィンドウ」とは、アプリケーションが所定の機能を実現するときに当該アプリケーションに対して割り当てられる表示領域のことをいう。ここにおいて、その表示領域は、いかなる形状や外観を有していてもよく、窓型（矩形状）である必要はないが、以下に示す図においては、説明の便宜上、いずれも長方形とする。また、ウィンドウは、他のウィンドウが前面に重ねて表示されたとき、重なった部分については、前面の他のウィンドウのみが表示され、当該他のウィンドウが重なった表示領域は表示されないようになっている。以下においては、このように前面のウィンドウによって一部が非表示となったウィンドウの位置のことを、前面に対して「後面」という。
【００２５】
図５（ａ）に示す指定情報は、「ゲームＡ」が「第１画像処理部（ＩＤ＝１０１）」に関連付けられていることと、「ゲームＢ」が「カメラ部（ＩＤ＝１０２）」に関連付けられていることと、「残高照会アプリケーション」が「電子決済アプリケーション（ＩＤ＝２０３）」に関連付けられていることとを示している。また、この指定情報は、「ゲームＡ」の順位が「２」であり、「ゲームＢ」の順位が「３」であり、「残高照会アプリケーション」の順位が「１」であることを示している。なお、図５においては、「順位」の値が小さいものほど高順位であるとする。
【００２６】
なお、アプリケーションに関連付けられるハードウェア又はソフトウェアは、自装置が備えるものであるとは限らない。例えば、あるアプリケーションについて、事後的に追加される可能性のあるハードウェアやソフトウェアをあらかじめ関連付けておいてもよい。また、新たなアプリケーションがインストールされるときに指定情報を更新し、当該アプリケーションと関連するハードウェア又はソフトウェアが新たに指定情報として記述されるようにしてもよい。
【００２７】
情報処理装置１００の構成は、以上のとおりである。この構成のもと、情報処理装置１００は、ユーザの要求に応じて複数のアプリケーションを実行する。このとき、ユーザは、操作部１３を介して所定の操作を行い、情報処理装置１００にアプリケーションの実行を要求する。
【００２８】
情報処理装置１００は、複数のアプリケーションを実行する場合、それぞれのアプリケーションに対応した複数のウィンドウを表示することができる。このとき、情報処理装置１００は、いわゆるオーバーラップウィンドウ方式によりウィンドウを表示する。すなわち、情報処理装置１００は、ウィンドウの表示位置を移動させることが可能であり、複数のウィンドウを重ねて表示することが可能である。そのため、情報処理装置１００の制御部１１は、複数のウィンドウの表示位置に関する情報（以下「ウィンドウ情報」という。）を記憶し、ウィンドウの移動がある毎にこれを更新する。なお、複数のウィンドウが重なる場合、情報処理装置１００は、アクティブ（操作を受け付ける状態）となった時間が新しいウィンドウをより前面に表示する。ゆえに、最前面に表示されるウィンドウは、そのときアクティブとなっているウィンドウである。
【００２９】
情報処理装置１００は、重ねて表示しているウィンドウがある場合に、各々のウィンドウの表示の優先度を上述した指定情報を用いて決定する。この動作を行うときに情報処理装置１００が実行する処理は、以下のとおりである。
【００３０】
図６は、情報処理装置１００の制御部１１が実行する動作を示すフローチャートである。なお、この動作は、マルチタスクＯＳの一機能として実現される動作であり、所定の時間間隔で実行されるものである。また、この動作は、ユーザが操作を行い、新たなウィンドウが表示されたときや、ウィンドウの表示位置が移動されたときに実行されてもよい。
【００３１】
同図に示すように、まず、制御部１１は、表示部１４におけるウィンドウの表示状態を認識し、重なりを有して表示されているウィンドウを特定する（ステップＳ１）。このとき、制御部１１は、記憶しているウィンドウ情報に基づき、ウィンドウの重なりを判断する。ここにおいて、制御部１１は、他のウィンドウの表示を妨げるウィンドウと、他のウィンドウにより表示を妨げられるウィンドウの双方を重なりを有するウィンドウとして特定する。すなわち、制御部１１は、ある重なりを形成する複数のウィンドウについて、前面に表示されているウィンドウと後面に表示されているウィンドウの双方を重なりを有するものであると特定する。なお、これは、ある領域に３つ以上のウィンドウが重なっている場合であっても同様である。
【００３２】
続いて、制御部１１は、ステップＳ１において特定されるウィンドウが存在するか否かを判断することにより、重なりを有するウィンドウが存在するか否かを判断する（ステップＳ２）。ウィンドウが重なって表示されていると判断した場合（ステップＳ２：ＹＥＳ）、制御部１１は、特定されたウィンドウに対応するアプリケーションを特定し、そのアプリケーションに関連付けられたハードウェア又はソフトウェアを特定する（ステップＳ３）。このとき、制御部１１は、指定情報を参照し、特定されたウィンドウにより表示が行われているアプリケーションに関連付けられた「ＩＤ」を読み出すことにより、関連するハードウェア又はソフトウェアを特定する。なお、「ＩＤ」が有意の値でない場合には、制御部１１は、関連するハードウェア又はソフトウェアが存在しない旨を特定する。制御部１１は、重なりを有する全てのウィンドウについて、このような特定を行う。なお、ウィンドウは、それぞれ特定のアプリケーションに対応するものであるため、あるアプリケーションに関連付けられた属性は、対応するウィンドウに関連付けられた属性であるといえる。
【００３３】
制御部１１は、重なりを有する複数のウィンドウのそれぞれについて、関連するハードウェア又はソフトウェアを特定したら、指定情報によって自装置が備えているハードウェア又はソフトウェアが指定されているウィンドウがこの複数のウィンドウ中に存在するか否かを判断する（ステップＳ４）。この判断に際し、制御部１１は、各々のウィンドウに対応する「ＩＤ」を参照し、これと同じ値が構成情報に含まれているか否かを判別する。そして、各々のウィンドウに対応する「ＩＤ」が構成情報に含まれる場合、制御部１１は、このウィンドウには自装置が備えているハードウェア又はソフトウェアが指定されていると判断する。
【００３４】
自装置の構成（ハードウェア構成及びソフトウェア構成）に関連付けられたウィンドウが存在する場合（ステップＳ４：ＹＥＳ）、制御部１１は、そのウィンドウが複数あるか否かを判断する（ステップＳ５）。かかるウィンドウが複数存在する場合（ステップＳ５：ＹＥＳ）、制御部１１は、これらのウィンドウから指定情報の「順位」が最高であるウィンドウを１つ特定する（ステップＳ６）。なお、自装置の構成に関連付けられたウィンドウが単独で存在する場合（ステップＳ５：ＮＯ）、制御部１１は、ステップＳ６の処理をスキップし、次の処理を行う。
【００３５】
次に、制御部１１は、判断対象のウィンドウが後面に表示されているか否かを判断する（ステップＳ７）。ここにおいて、判断対象のウィンドウは、ステップＳ６において特定されたウィンドウか、あるいは、自装置の構成に関連付けられたウィンドウが単独で存在する場合は、そのウィンドウである。制御部１１は、これらのいずれかのウィンドウを、ステップＳ７における判断対象のウィンドウとして決定する。そして、制御部１１は、判断対象のウィンドウが後面に表示されている場合（ステップＳ７：ＹＥＳ）、そのウィンドウが最前面に表示されるように各ウィンドウの表示順序を切り替え、これに応じた表示データを出力する（ステップＳ８）。
【００３６】
なお、ステップＳ２、Ｓ４及びＳ７における判断が否定的（すなわちＮＯ）である場合、制御部１１は、ウィンドウの表示順序を切り替えることなく処理を終了する。かかる場合は、最前面に表示すべきウィンドウが既に最前面に表示されているからである。
【００３７】
以上に説明した動作について、ウィンドウの具体的な表示例を挙げて説明する。なお、以下の例において、構成情報及び指定情報は、図４及び５にそれぞれ示したとおりであるとする。また、ゲームＡのウィンドウを「ｗ１」、ゲームＢのウィンドウを「ｗ２」、残高照会アプリケーションのウィンドウを「ｗ３」という。
【００３８】
例えば、情報処理装置１００ａにおいてゲームＡとゲームＢの双方が起動された場合において、これらのウィンドウが重なるとき、表示部１４による表示は図７（ａ）のようになる。すなわち、情報処理装置１００ａの制御部１１は、ゲームＡのウィンドウｗ１を前面に表示させ、ゲームＢのウィンドウｗ２を後面に表示させる。これは、情報処理装置１００ａが、指定情報によってゲームＡに関連付けられた第１画像処理部１５を備えている一方で、指定情報によってゲームＢに関連付けられたカメラ部１８を備えていないからである。
【００３９】
一方、情報処理装置１００ｂにおいてゲームＡとゲームＢの双方が起動された場合において、これらのウィンドウが重なるとき、表示部１４による表示は図７（ｂ）のようになる。すなわち、情報処理装置１００ｂの制御部１１は、ゲームＢのウィンドウｗ２を前面に表示させ、ゲームＡのウィンドウｗ１を後面に表示させる。これは、情報処理装置１００ｂが、指定情報によってゲームＢに関連付けられたカメラ部１８を備えている一方で、指定情報によってゲームＡに関連付けられた第１画像処理部１５を備えていないからである。
【００４０】
続いて、情報処理装置１００ａにおいてゲームＡと残高照会アプリケーションの双方が起動された場合において、これらのウィンドウが重なるときの表示制御を例示する。この場合、制御部１１は、残高照会アプリケーションのウィンドウｗ３を前面に表示させ、ゲームＡのウィンドウｗ１を後面に表示させる（図８参照）。これは、情報処理装置１００ａが、指定情報によってゲームＡに関連付けられた第１画像処理部１５と、指定情報によって残高照会アプリケーションに関連付けられた電子決済アプリとを備えており、かつ、残高照会アプリケーションに割り当てられた順位がゲームＡのそれよりも高いからである。
【００４１】
本実施形態の情報処理装置１００は、このような動作を実行することにより、あらかじめ指定されたハードウェア又はソフトウェアと関連するウィンドウを優先的に表示する。すなわち、情報処理装置１００は、特定のアプリケーションにこのような指定を行うことで、当該アプリケーションの利用を促進させることが可能となる。
【００４２】
また、本実施形態の情報処理装置１００は、特定のハードウェア又はソフトウェアを備える場合に限り、これに関連付けられた所定のウィンドウを優先的に表示することが可能である。これを利用することにより、例えば、ハードウェア又はソフトウェアの構成が異なる複数の情報処理装置１００が利用可能であり、これらの情報処理装置１００が共通のアプリケーションを実行可能な場合において、ある特定の構成を有する情報処理装置１００のみにおいて当該アプリケーションのウィンドウを強調的に表示させることが可能となる。
【００４３】
［変形例］
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
【００４４】
（１）変形例１
上述した実施形態において、制御部は、最前面に表示するウィンドウのみを決定し、その他のウィンドウの表示順序は特に問わない構成とした。しかし、制御部は、上述した指定情報に基づいて重なり合うウィンドウのそれぞれについて優先度を決定し、優先度がより高いウィンドウほどより前面に表示させる構成であってもよい。このようにすれば、所望のウィンドウが最前面に表示されていない場合に、ユーザがより少ない操作で所望のウィンドウを閲覧することが可能となる。なお、この場合における操作とは、例えば、最前面に表示されているウィンドウを閉じたり、あるいは最小化するといった操作のことである。
【００４５】
この場合において、制御部は、各アプリケーションに関連付けられたハードウェア又はソフトウェアの情報と順位の情報とに基づいて優先度を決定する。ここで、一例として、重なりを有して表示されている複数のウィンドウについて、自装置が備えるハードウェア又はソフトウェアと関連付けを有するウィンドウが複数あり、かつ、かかる関連付けを有さないウィンドウが複数ある場合を説明する。
【００４６】
図９に示すように、複数の所定のアプリケーションについて、ウィンドウｗａ、ｗｂ、ｗｃ、ｗｄ、ｗｅ及びｗｆがあり、これらが互いに重なり合って表示されているとする。また、ここにおいて、ウィンドウｗａ、ｗｂ及びｗｃは、自装置が備えるハードウェア又はソフトウェアと関連付けを有し、ウィンドウｗｄ、ｗｅ及びｗｆは、かかる関連付けを有さない（すなわち、自装置が備えないハードウェア又はソフトウェアとの関連付けを有するか、関連付け自体を有さない）とする。
【００４７】
この場合、制御部は、まず、自装置が備えるハードウェア又はソフトウェアと関連付けを有するウィンドウｗａ、ｗｂ及びｗｃについて、ウィンドウｗｄ、ｗｅ及びｗｆより高い優先度を与える。そして、制御部は、ウィンドウｗａ、ｗｂ及びｗｃのそれぞれについて順位の高低に応じて優先度を決定するとともに、ウィンドウｗｄ、ｗｅ及びｗｆのそれぞれについて順位の高低に応じて優先度を決定する。その結果、制御部が決定する優先度は、図９に示したようになる。この場合において、制御部は、優先度が最高となるウィンドウを最前面に表示させる。
【００４８】
（２）変形例２
特定のアプリケーションのウィンドウについては、上述した指定情報によらず常に決められた優先度を有するとしてもよい。これを実現するためには、例えば、このようなウィンドウを指定する情報を制御部があらかじめ記憶しており、かかるウィンドウが他のウィンドウと重なっている場合には、ハードウェア構成やソフトウェア構成によらず決められた優先度に応じた表示が行われるようにすればよい。なお、この特定のアプリケーションのウィンドウを最前面に表示させたい場合であれば、優先度をあらかじめ最高とするように決めておけばよい。
このようにすれば、自装置の動作に係る極めて重要な通知などの、後面に表示されることにより弊害が生じるおそれがあるウィンドウが存在する場合に、当該ウィンドウの表示が他のウィンドウにより妨げられないようにすることが可能となる。
【００４９】
また、この変形例は、換言すれば、指定された特定のアプリケーションのウィンドウを優先度の決定対象から除外するものであるともいえる。このとき、制御部は、指定されたウィンドウを含む複数のウィンドウが重なっている場合に、指定されたウィンドウを除いたウィンドウについて表示の優先度を決定し、指定されたウィンドウについては、あらかじめ決められた優先度で表示し、その他のウィンドウについては、指定情報に基づいて決定された優先度で表示する。
なお、ウィンドウの指定は、ユーザが行えるようにしてもよい。
【００５０】
（３）変形例３
最前面に表示させるウィンドウは、関連するハードウェア又ソフトウェアが処理を実行しているか否かによって決定されてもよい。例えば、自装置が備えるハードウェア又はソフトウェアに関連付けられたウィンドウが複数表示され、これらが互いに重なる場合において、制御部は、これらのウィンドウに関連するハードウェア又はソフトウェアが何らかの処理を実行しているか否かを判断し、関連するハードウェア又はソフトウェアが処理を実行中であるウィンドウを最前面に表示させるようにしてもよい。
【００５１】
この変形例に係る動作について、具体例を挙げて説明する。例えば、図４及び５に示したように、残高照会アプリケーションに電子決済アプリケーションが関連付けられている場合において、残高照会アプリケーション及びゲームＡが実行され、これらのウィンドウが重なっている状況を想定する。このとき、制御部は、電子決済アプリケーションが実行されているか否かを判断し、これが実行されていれば、残高照会アプリケーションのウィンドウを最前面に表示させる表示制御を行うとよい。
かかる表示制御により、ユーザは、必要とする情報をより迅速に閲覧することが可能となる。このようにすれば、例えば、電子決済アプリケーションが実行されて電子バリューに増減が生じたときに、残高照会アプリケーションのウィンドウが最前面に表示される。ゆえに、ユーザは、特段の操作を行わなくても電子バリューの増減分を確認することが可能となる。
【００５２】
なお、この変形例において、複数の重なるウィンドウに関連するハードウェア又はソフトウェアが処理を実行しているか否かを判断する処理に代えて、最近に実行されたハードウェア又はソフトウェアがいずれであるかを判断する処理を行ってもよい。これはつまり、判断時により近い時間に処理が実行されたハードウェア又はソフトウェアに関連するウィンドウを、そうでないウィンドウよりも前面に表示させる表示制御である。
【００５３】
（４）変形例４
複数のウィンドウが重なる表示状態において、その重なるウィンドウに自装置が備えるハードウェア又はソフトウェアに関連付けられていないウィンドウが含まれる場合は、当該ウィンドウが表示されないような表示制御を行ってもよい。例えば、複数のウィンドウが重なる表示状態において、制御部は、最前面に表示すべきウィンドウ以外のウィンドウを最小化したり、あるいは、当該ウィンドウに表示されている処理を実行中のアプリケーションの実行を停止させてもよい。
【００５４】
（５）変形例５
本発明において、最前面に表示されるウィンドウは、１つであるとは限らない。例えば、図１０に示す例のように、ウィンドウを複数のグループに分類できる場合、制御部は、それぞれのグループ毎に最前面に表示されるウィンドウを決定することができる。なお、この場合において、グループとは、１本の閉じた輪郭線が描画されるときの、この輪郭線がなす領域の内部に含まれるウィンドウの集合をいう。図１０に示す例の場合、ウィンドウは、グループＧ１とグループＧ２とに分類することができる。このような場合、制御部は、グループＧ１とＧ２の双方において最前面に表示するウィンドウを決定することができる。なお、この場合において、アクティブとなるウィンドウは、いずれのグループの最前面のウィンドウであってもよい。つまり、本発明は、表示部の画面を所定の領域毎に区切り、それぞれの領域において、最前面に表示するウィンドウ又はウィンドウの表示の優先度を決定するようにしてもよい。
【００５５】
さらに、本発明は、互いに重なり合わない複数のウィンドウが存在し、これらのウィンドウの全てが自装置が備えるハードウェア又はソフトウェアに関連付けられている場合であれば、これらのウィンドウが全て最前面に表示されるような制御を行ってもよい。例えば、図１１に示すウィンドウｗｇ、ｗｈ、ｗｉ及びｗｊのように、重なるウィンドウ（ｗｋ）が存在するものの、ウィンドウｗｇ、ｗｈ、ｗｉ及びｗｊが互いに重なり合わない場合において、このウィンドウｗｇ、ｗｈ、ｗｉ及びｗｊが自装置が備えるハードウェア又はソフトウェアに関連付けられているときには、ウィンドウｗｇ、ｗｈ、ｗｉ及びｗｊの全てを最前面に表示することができる。
【００５６】
（６）変形例６
上述した実施形態においては、１つのアプリケーションに１つのウィンドウが対応付けられたが、本発明はこのような関係を有していなくてもよい。例えば、ＭＤＩ（Multiple Document Interface）を採用するアプリケーションにおいては、１つのアプリケーションにおいて複数のウィンドウが表示され得る。このようなアプリケーションにおいても、ハードウェア又はソフトウェアとの関連付けをそれぞれのウィンドウ毎に行うことが可能であれば、本発明を適用することが可能である。例えば、いわゆるタブブラウザのようなアプリケーションにおいて、ウィンドウのそれぞれにハードウェア又はソフトウェアを関連付け、最前面に表示する画面をこの関連付けに応じて制御してもよい。
【００５７】
（７）変形例７
上述した実施形態においては、本発明を携帯電話機に適用したものであるが、本発明は、その他の情報処理装置に適用することも可能である。本発明は、ＰＤＡ（Personal Digital Assistance）等の通信端末や、パーソナルコンピュータなど、ウィンドウを表示する種々の情報処理装置に適用することができる。
【００５８】
（８）変形例８
上述した実施形態においては、本発明をＯＳの一機能として説明したが、本発明は、独立したアプリケーションとしても実現可能である。また、例えば、いわゆるプラグインとして本発明の機能を既存のＯＳ等のアプリケーションに付加することもできる。このような構成とした場合、本発明は、コンピュータ（情報処理装置）に上述のような機能を実現させるためのプログラムとして提供することも可能である。かかるプログラムは、例えば、光ディスク等の記録媒体に記憶させた形態で提供したり、あるいは、所定のサーバ装置からインターネット等のネットワークを介して提供することも可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明に係る情報処理装置のハードウェア構成を例示するブロック図である。
【図２】本発明に係る情報処理装置のハードウェア構成を例示するブロック図である。
【図３】情報処理装置の論理的構成を示す図である。
【図４】構成情報を例示する図である。
【図５】指定情報を例示する図である。
【図６】情報処理装置が実行する動作を示すフローチャートである。
【図７】ウィンドウ表示を例示する図である。
【図８】ウィンドウ表示を例示する図である。
【図９】優先度を決定する制御を説明するための図である。
【図１０】ウィンドウ表示を例示する図である。
【図１１】ウィンドウ表示を例示する図である。
【符号の説明】
【００６０】
１００…情報処理装置、１１…制御部、１２…無線通信部、１３…操作部、１４…表示部、１５…第１画像処理部、１６…電子タグ部、１７…第２画像処理部、１８…カメラ部
【図１】
0004971202.tif 000002
【図２】
0004971202.tif 000003
【図３】
0004971202.tif 000004
【図４】
0004971202.tif 000005
【図５】
0004971202.tif 000006
【図６】
0004971202.tif 000007
【図７】
0004971202.tif 000008
【図８】
0004971202.tif 000009
【図９】
0004971202.tif 000010
【図１０】
0004971202.tif 000011
【図１１】
0004971202.tif 000012