(57)【要約】【課題】  従来、異なるアプリケーション間のウィンドウの位置指定は細かく管理されておらず、アプリケーション毎に互いに独立したウィンドウ設定で表示されており、使い勝手が悪いという問題があった。【解決手段】  本発明では、複数のアプリケーションにより生成される複数のウィンドウを画面に表示する情報表示装置において、前記複数のアプリケーションにより生成される複数のウィンドウにグループ識別子を付与し、前記グループ識別子単位で前記アプリケーションの実行およびウィンドウの表示を管理するウィンドウマネージャーを有することを特徴とする。【選択図】図７
2013161407.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションにより生成される複数のウィンドウを画面に表示する情報表示装置において、
前記複数のアプリケーションにより生成される複数のウィンドウにグループ識別子を付与し、前記グループ識別子単位で前記アプリケーションの実行およびウィンドウの表示を管理するウィンドウマネージャーを有する
ことを特徴とする情報表示装置。
【請求項２】
請求項１に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記グループ識別子が同じグループ内の前記複数のウィンドウの相対的位置を固定する
ことを特徴とする情報表示装置。
【請求項３】
請求項１に記載の情報表示装置において、
前記複数のウィンドウ毎に表示倍率を設定する表示倍率設定部を更に設け、
前記ウィンドウマネージャーは、前記表示倍率に従って前記ウィンドウを表示する大きさを変更する
ことを特徴とする情報表示装置。
【請求項４】
請求項１から３の何れか一項に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記複数のアプリケーションにより生成されるウィンドウを表示する層を管理し、上位の層にあるアプリケーションのウィンドウが下位の層にあるアプリケーションのウィンドウに覆い被さる位置にそれぞれのウィンドウを配置する
ことを特徴とする情報表示装置。
【請求項５】
請求項１から３の何れか一項に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記複数のアプリケーションにより生成されるウィンドウを表示する層を管理し、上位の層にあるアプリケーションのウィンドウが下位の層にあるアプリケーションのウィンドウを排他的に回避する位置にそれぞれのウィンドウを配置する
ことを特徴とする情報表示装置。
【請求項６】
請求項５に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記複数のアプリケーションにより生成されるウィンドウ毎に、前記ウィンドウのグループ化、大きさ、表示位置の指定の少なくとも１つを設定する操作インターフェースを表示する
ことを特徴とする情報表示装置。
【請求項７】
請求項６に記載の情報表示装置において、
前記操作インターフェースは、前記アプリケーションにより生成されるウィンドウにグループ識別子を付与するためのタスクバーで構成し、
前記ウィンドウマネージャーは、前記タスクバーを各ウィンドウに表示して、前記タスクバーに表示されるグループ識別子の選択により、前記ウィンドウのグループ化を行う
ことを特徴とする情報表示装置。
【請求項８】
請求項６に記載の情報表示装置において、
前記操作インターフェースは、前記アプリケーションにより生成されるウィンドウにグループ識別子を付与するためのタスクバーで構成し、
前記ウィンドウマネージャーは、前記タスクバーにウィンドウの位置や大きさを変更するための編集ボタンを表示し、前記編集ボタン選択後に変更されたウィンドウの位置や大きさで前記ウィンドウのグループ化を行う
ことを特徴とする情報表示装置。
【請求項９】
請求項４に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記グループ識別子が同じグループ内の下位の層にあるアプリケーションの操作情報を上位の層にあるアプリケーションに伝達する
ことを特徴とする情報表示装置。
【請求項１０】
請求項９に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記ウィンドウの位置や大きさが変更された場合、変更後の当該ウィンドウでの座標情報を変更前の座標情報に変換して上位の層にあるアプリケーションに伝達する
ことを特徴とする情報表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣ（パーソナルコンピュータ）やタブレット機器などの情報表示装置に関する。
【背景技術】
【０００２】
近年、ＰＣやタブレット機器など様々な情報を表示する情報表示装置が急速に普及してきている。これらの情報表示装置では、複数のアプリケーションを実行して表示する処理が行われている。例えばWindows（登録商標）やUNIX（登録商標）のX11などでは、複数のアプリケーションを実行して表示するウィンドウ環境が存在している。このような環境では、アプリケーション表示の優先順位は、例えばユーザがマウス等のHID（ヒューマンデバイス）で選択したアプリケーションのウィンドウが上位に表示されるようになっている。そして、壁紙やWidgets（ウィジット：小さな表示部材のアプリケーション）などは、固定の優先順位を付けて最下位に位置させたり、逆に最上位に位置させることができるものもあり、X11のウィンドウマネージャの中には階層管理が可能なものもある。このように、複数のウィンドウの表示を管理するために、重ね合わせやウィンドウエリアの変更など様々な技術が検討されている（例えば、特許文献１，２，３参照）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１８２８９０号公報
【特許文献２】特開２００９−１５７６３５号公報
【特許文献３】特許第３５４４６６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、異なるアプリケーション間のウィンドウの位置指定は細かく管理されておらず、アプリケーション毎に互いに独立したウィンドウ設定で表示されており、互いのウィンドウを連携させて複数のアプリケーションを実行することが難しかった。例えば、あるアプリケーションのウィンドウサイズが他のアプリケーションのウィンドウサイズに比べて大きい場合にウィンドウを縮小したり、お互いの位置関係を保ったまま動作させたり、ゲームなどで多用される十字キーなどの専用ボタンを画面上でエミュレーションして操作できるようにするなど、様々な複数のウィンドウを連携させた表示制御や管理を行うウィンドウ環境が求められている。
【０００５】
上記課題に鑑み、本発明の目的は、元のアプリケーションを変更することなく、簡単な手続きだけで複数のアプリケーションのウィンドウを連携させて表示制御や管理を行うことができ、ユーザが使い易いウィンドウ環境を実現できる情報表示装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明に係る情報表示装置は、複数のアプリケーションにより生成される複数のウィンドウを画面に表示する情報表示装置において、前記複数のアプリケーションにより生成される複数のウィンドウにグループ識別子を付与し、前記グループ識別子単位で前記アプリケーションの実行およびウィンドウの表示を管理するウィンドウマネージャーを有することを特徴とする。
【発明の効果】
【０００７】
本発明に係る情報表示装置は、元のアプリケーションを変更することなく、簡単な手続きだけで複数のアプリケーションのウィンドウを連携させて表示制御や管理を行うことができ、ユーザが使い易いウィンドウ環境を実現できる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る情報表示装置１００の構成例を示す図である。
【図２】ソフトウェア構成例を示す図である。
【図３】共有メモリ領域に保持されている描画データのイメージを示す図である。
【図４】バッファメモリ１０４に保持された描画データのイメージを示す図である。
【図５】タスクバー２６０の構成例を示す図である。
【図６】階層例を示す図である。
【図７】管理テーブル３０１の一例を示す図である。
【図８】グループ化の調整例を示す図である。
【図９】グループ化されたウィンドウの例を示す図である。
【図１０】バッファメモリ１０４に保持された描画データのイメージを示す図である。
【図１１】グループ化の調整例を示す図である。
【図１２】グループ化されたウィンドウの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明に係る情報表示装置の実施形態について図面を用いて詳しく説明する。
（第一の実施形態）
図１は、本実施形態に係る情報表示装置１００の構成例を示すブロック図である。本実施形態に係る情報表示装置１００は、画像やデータを処理して画面に表示するＰＣやタブレット機器などに対応し、複数の異なるアプリケーションの実行により生成されるウィンドウ（ゲームソフトの場合はゲーム画面のウィンドウ、画像処理ソフトの場合は画像表示や編集画面のウィンドウなど）を同じ画面内に表示するウィンドウ環境を有する。従来、複数の異なるアプリケーション間でそれぞれのウィンドウの位置関係や動作の連携などについては細かく管理されておらず、アプリケーション毎に互いに独立したウィンドウ設定で複数のウィンドウが画面に表示され、アプリケーション毎に独立して動作していた。これに対して、本実施形態に係る情報表示装置１００は、複数の異なるアプリケーションにより生成されるウィンドウをグループ化して、グループ毎にウィンドウを表示する階層を管理し、グループ内でアプリケーションの動作を連携させてあたかも一つのアプリケーションであるかのように使用することができる。
【００１０】
図１において、情報表示装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、バッファメモリ１０４と、表示制御部１０５と、表示器１０６と、操作部材１０７と、Ｉ／Ｏ１０８と、記録Ｉ／Ｆ１０９と、システムバス１１０とを有する。
【００１１】
ＣＰＵ１０１は、ＲＯＭ１０２（または記録媒体１０９ａ）に予め記憶されたプログラムに従って動作する中央演算処理部で、情報表示装置１０１全体を制御する。
【００１２】
ＲＯＭ１０２は、電気的に読み書き可能な不揮発性のメモリで、例えばフラッシュ（ＦＬＡＳＨ）型メモリで構成される。ＲＯＭ１０２には、ＣＰＵ１０１のプログラムや動作に必要なパラメータなどが予め記憶されている。尚、ＲＯＭ１０２には、情報表示装置１００の起動時に必要なプログラム（例えばＢＩＯＳ）だけを記憶しておいて、その他のプログラムを記録媒体１０９ａに記憶しておいてもよい。
【００１３】
ＲＡＭ１０３は、電源ＯＦＦ時に消去される揮発性のメモリで、例えばＳＲＡＭなどが用いられる。ＲＡＭ１０３は、プログラム実行時の処理領域として用いられ、特に本実施形態では、アプリケーションにより生成されるウィンドウの描画データを保持する共有メモリ領域（共有メモリ）として用いられる。
【００１４】
バッファメモリ１０４は、表示器１０６の画面表示のための高速メモリで、例えばＤＲＡＭなどが用いられる。バッファメモリ１０４には、ＲＡＭ１０３に保持されるウィンドウの描画データが表示器１０６の画面に表示するウィンドウの位置に応じて展開される。
【００１５】
表示制御部１０５は、バッファメモリ１０４に保持されている一画面分の描画データを読み出し、表示器１０６の解像度に合わせて画面に表示する。
【００１６】
表示器１０６は、例えば液晶モニタなどで構成される。尚、表示器１０６の画面上にはタッチパネル１０６ａが配置されており、表示器１０６の画面上でユーザーが指で触れた位置情報（画面上の座標位置）を読み取る。
【００１７】
操作部材１０７は、タッチパネル１０６ａ以外の操作部材（電源ボタン、ポインティングデバイスなど）で構成される。尚、本実施形態に係る情報表示装置１００では、タッチパネル１０６ａと操作部材１０７をユーザーの操作インターフェースとして持っているが、タッチペンやマウス、キーボードなどを操作部材１０７として接続できるようにしてもよい。
【００１８】
Ｉ／Ｏ１０８は、操作部材１０７や表示器１０６のタッチパネル１０６ａによる操作情報（タッチパネル１０６ａやポインティングデバイスの場合は位置情報、操作ボタンの場合はオンオフ情報など）を入力し、システムバス１１０を介してＣＰＵ１０１に出力する。
【００１９】
記録Ｉ／Ｆ１０９は、着脱可能なメモリカードなどの記録媒体１０９ａを接続するためのインターフェースで、メモリカードインターフェースであってもよいし、メモリやハードディスクなどの記憶媒体を自由に接続できるＵＳＢインターフェースであってもよい。ＣＰＵ１０１は、記録Ｉ／Ｆ１０９を介して記録媒体１０９ａからプログラムやデータを読み出したり、処理後の画像やデータを記録媒体１０９ａに書き込む。
【００２０】
システムバス１１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、バッファメモリ１０４、表示制御部１０５、表示器１０６、Ｉ／Ｏ１０８、記録Ｉ／Ｆ１０９などの間で相互にデータや制御信号を入出力するための共通バスである。
【００２１】
次に、ＣＰＵ１０１で実行されるソフトウェアの構成について図２を用いて説明する。図２において、ＣＰＵ１０１は、情報表示装置１００の電源投入時に、ＲＯＭ１０２または記録媒体１０９ａなどに予め記憶されている基本ソフト（ＯＳ：オペレーティングシステム）を読み込んで基本処理部２０１（ＯＳ）を立ち上げる。さらに、情報表示装置１００にウィンドウ環境を構築するためのウィンドウマネージャ２０２を立ち上げる。尚、ウィンドウマネージャ２０２は、基本処理部２０１上で動作するアプリケーションと同様に、立ち上げ時に基本処理部２０１に起動要求し、基本処理部２０１から唯一のプロセスＩＤ（Pid）が与えられる。基本処理部２０１のPidは、例えばPid＝０となる。ここで、プロセスＩＤは、基本処理部２０１が実行中の複数の処理を管理するために付与する識別子である。
【００２２】
また、情報表示装置１００にインストールされている複数のアプリケーション（例えば図２では、アプリケーションＡからアプリケーションＺ）のソフトウェアがＲＯＭ１０２（または記録媒体１０９ａ）に記憶されている。尚、インストール済みのソフトウェアは、ウィンドウマネージャ２０２を介してＧＵＩで起動したり、コマンドラインで起動することができる。いずれの場合でも、アプリケーションが起動されると基本処理部２０１から唯一のプロセスＩＤ（例えばPid=1）が与えられる。
【００２３】
さらに、ウィンドウ表示を必要とするアプリケーションは、起動時にウィンドウマネージャ２０２に対してウィンドウ表示のためのメモリ要求を行い、ウィンドウマネージャ２０２からアプリケーションに対して唯一のウィンドウＩＤ（Wid）が与えられる。
【００２４】
基本処理部２０１は、ウィンドウマネージャ２０２や複数のアプリケーションにより実行される処理を管理すると共に、これらのソフトウェアが情報表示装置１００のハードウェアにアクセスする時のソフト上のインターフェースを提供する。例えば、タッチパネル１０６ａの操作情報を取得したり、記録Ｉ／Ｆ１０９を介して装着されている記録媒体１０９ａとの間でデータを読み書きする時のインターフェースを提供する。このために、基本処理部２０１には、様々な内部関数が用意されており、基本処理部２０１上で動作するソフトウェア（アプリケーションやウィンドウマネージャ２０２など）は、この内部関数を用いて様々な処理を実行することができる。
【００２５】
本実施形態に係る情報表示装置１００では、ウィンドウマネージャ２０２はサーバー側、アプリケーションＡからＺはクライアント側として機能する。そして、サーバー側のウィンドウマネージャ２０２は、クライアント側の各アプリケーションと通信して、プロセスＩＤやアプリケーション名を知ることができる。
【００２６】
次に、ウィンドウマネージャ２０２の構成例について説明する。ウィンドウマネージャ２０２は、アプリケーション実行時に表示器１０６に表示するウィンドウの大きさや位置を管理するウィンドウ管理機能２５０と、複数のウィンドウが重なる場合の上下関係を階層に分けて各ウィンドウ毎に表示する層を管理するレイヤ管理機能２５１と、複数の異なるアプリケーションにより生成される複数のウィンドウをグループ化して各ウィンドウの位置や動作を管理するグループ管理機能２５３とを有する。
【００２７】
ウィンドウマネージャ２０２のウィンドウ管理機能２５０は、起動されたアプリケーションに対応するウィンドウを表示器１０６に表示する際の位置や大きさなどを管理する。また、ウィンドウマネージャ２０２は、タッチパネル１０６ａの操作情報（位置や動きなどの情報）を取得して対応するアプリケーションに配信する役割も受け持っている。例えばユーザーがタッチパネル１０６ａに触れた位置の情報を取得して、その位置に表示されているウィンドウに対応するアプリケーションに操作情報を出力する。これを受けたアプリケーション側は、ウィンドウ内の当該位置に表示していた操作ボタンや画像などを判別して、操作ボタンのオンオフや画像の選択などの処理を実行する。例えば、情報表示装置１００で起動可能なアプリケーションのアイコンやＯＳ設定用アイコンなどがまとめられたランチャーのウィンドウを表示するアプリケーションが起動している場合、ユーザーがタッチパネル１０６ａでタッチしたアイコンに対応するアプリケーションが起動される。
【００２８】
ウィンドウマネージャ２０２のレイヤ管理機能２５１は、複数のウィンドウが重なって表示される場合の階層（レイヤ）を管理する。例えば、アプリケーションＡにより生成されたウィンドウＡＡと、アプリケーションＡとは異なる別のアプリケーションＺにより生成されたウィンドウＺＺとが重なる場合に、ウィンドウＡＡおよびウィンドウＺＺを表示する層を予め設定された階層によって管理する。この場合、ウィンドウＡＡが上位の層、ウィンドウＺＺが下位の層に設定されている場合、ウィンドウＡＡをウィンドウＺＺの上に表示する。尚、本実施形態に係る階層の構成については後で詳しく説明する。
【００２９】
ウィンドウマネージャ２０２のグループ管理機能２５３は、異なる複数のアプリケーションにより生成される複数のウィンドウのいくつかを連携して管理する機能である。例えば、アプリケーションＡにより生成されたウィンドウＡＡと、アプリケーションＡとは異なる別のアプリケーションＺにより生成されたウィンドウＺＺとをあたかも一つの同じアプリケーションであるかのように、互いに関連付けてウィンドウを表示したり、動作させることができる。尚、グループ管理の具体例については後で詳しく説明する。
【００３０】
次に、本実施形態に係る情報表示装置１００の動作について具体的に説明する。先に説明したように、情報表示装置１００は、UNIX（登録商標）のX11ウィンドウシステムやＰＣ用のＯＳとして知られるWindows（登録商標）などで広く用いられているマルチウィンドウ機能を有する。
【００３１】
マルチウィンドウ機能では、先ず、ＲＯＭ１０２または記録媒体１０９ａに記録されたアプリケーションプログラムの起動時にウィンドウマネージャ２０２に描画用のメモリ領域を要求する。これを受けたウィンドウマネージャ２０２は、共有メモリ領域（共有メモリ）をＲＡＭ１０３上に確保し、アプリケーションに共有メモリ番号としてウィンドウＩＤ（Wid）を返す。このようにして、各アプリケーションは、ウィンドウマネージャ２０２にアクセスできるようになり、各アプリケーションにより生成されるウィンドウの描画データを共有メモリ上に書き込んでウィンドウマネージャ２０２にウィンドウの描画を要求する。これを受けたウィンドウマネージャ２０２は、共有メモリ領域の描画データを表示器１０６の画面に対応する描画用のバッファメモリ１０４に展開する。この時、同じ画面内に複数のウィンドウがある場合、ウィンドウマネージャ２０２は、各ウィンドウの階層設定に応じた上下関係になるように複数のウィンドウを合成する。ここで、各ウィンドウの階層設定は管理テーブル３０１に記憶されており、ウィンドウマネージャ２０２は、管理テーブル３０１を参照して複数のウィンドウを合成する。尚、管理テーブル３０１の例については後で詳しく説明する。
【００３２】
そして、ウィンドウマネージャ２０２は、バッファメモリ１０４から複数のウィンドウが合成された１画面分の描画データを読み出して表示制御部１０５を介して表示器１０６の画面に表示する。
【００３３】
例えばアプリケーションがゲームプログラムである場合、起動時にウィンドウマネージャ２０２に共有メモリ領域を要求し、ウィンドウマネージャ２０２からウィンドウＩＤ（Wid）を受け取って、ゲーム画面を構成する描画データをＲＡＭ１０３の共有メモリ領域に形成する。そして、ウィンドウマネージャ２０２は、ウィンドウ（ここではゲーム画面）を予め設定された位置、サイズ、階層などのパラメータに応じてバッファメモリ１０４上に展開し、表示器１０６にゲーム画面のウィンドウを表示する。
【００３４】
ここで、ゲーム機の筐体をエミュレーションするアプリケーションApp1と、ゲームのアプリケーションApp2とを起動して、アプリケーションApp1の仮想画面上でゲームのアプリケーションApp2を動作させる実施例について説明する。尚、以降の説明において、同じアプリケーションにより複数のウィンドウが生成される場合は、各ウィンドウ毎にApp1-1、App1-2のように表記する。この場合、App1-1はアプリケーションApp1により生成される１つ目のウィンドウ、App1-2は同じアプリケーションApp1により生成される２つ目のウィンドウであることを示す。例えば、画像処理のアプリケーションApp2がサムネイルの画像を表示する１つ目のウィンドウと、サムネイルの画像の中から選択した画像処理対象の画像を表示する２つ目のウィンドウとを生成する場合、１つ目のウィンドウをApp2-1、２つ目のウィンドウをApp2-2と表記する。
【００３５】
各アプリケーションの起動時に生成されるウィンドウの描画データは、ＲＡＭ１０３の共有メモリ領域に保持される。図３は、アプリケーションApp1とアプリケーションApp2を起動した時の共有メモリ領域内の描画データの様子を分かり易いように視覚的な画像イメージで示した図である。
【００３６】
図３の例では、アプリケーションApp1により生成されるウィンドウ（Wid=02）、アプリケーションApp2により生成されるウィンドウ（Wid=04）、さらに各アプリケーションの起動に伴ってウィンドウマネージャ２０２が生成するタスクバー２６０のウィンドウ（Wid=01）およびウィンドウ（Wid=03）が共有メモリ領域に保持されている。ここで、図３において、ウィンドウマネージャ２０２は、自らの処理を１つのアプリケーションApp0として、自らが生成するタスクバー２６０のウィンドウApp0-1に対してウィンドウＩＤ（Wid=01）、ウィンドウApp0-2に対してウィンドウＩＤ（Wid=03）をそれぞれ割り当てて管理する。また、本実施形態に係る情報表示装置１００では、ウィンドウマネージャ２０２は、各アプリケーションにより新たなウィンドウが生成される度に、そのウィンドウに対応するタスクバー２６０を生成する。そして、ユーザーは、タスクバー２６０を操作して複数のウィンドウのグループ化などの設定を行うことができる。例えば、アプリケーションApp1のウィンドウApp1-1に対応するApp0-1のタスクバー２６０は、図３に示すように、対応するアプリケーションApp1のウィンドウApp1-1を閉じるための終了ボタン２６１と、タスクバー２６０を画面上に表示するか否かを選択するためのon・offボタン２６２と、グループ番号の選択ボタン２６３と、グループ化するときにウィンドウの位置や大きさを編集するためのedit・lock機能の選択ボタン２６４とをそれぞれ有する。
【００３７】
図３において、アプリケーションApp1は、ゲーム機の筐体デザインをエミュレーションするソフトウェアである。図３の例では、アプリケーションApp1により生成されるウィンドウApp1-1はゲーム機の筐体を模したグラフィック２７１で構成され、ゲーム機の表示モニタを模したグラフィック２７２と、十字キーを模したグラフィック２７３と、ファンクションボタンを模したグラフィック２７４とを有する。また、アプリケーションApp2は、ゲームのソフトウェアである。図３の例では、アプリケーションApp2の「にこにこGame」の実行画面がウィンドウApp2-1に表示されている。
【００３８】
ここで、従来は、アプリケーションApp1とアプリケーションApp2とが別々のウィンドウ（App1-1、App2-1）で独立して表示されて、独立して動作するだけであったが、本実施形態に係る情報表示装置１００では、各ウィンドウにタスクバー２６０が付加され、このタスクバー２６０によって異なるアプリケーションにより生成される複数のウィンドウを連携して表示したり動作させることができるようになっている。例えば、ゲームのアプリケーションApp2は、従来は外部コントローラであるジョイスティックやキーボードなどによりゲームの操作を行う必要があったが、本実施形態に係る情報表示装置１００では、ゲーム機の筐体デザインや十字キーなどの操作ボタンをアプリケーションApp1でエミュレーションしてウィンドウApp1-1に表示し、ユーザーは、ウィンドウApp1-1に表示された十字キーのグラフィック２７３やファンクションボタンのグラフィック２７４をタッチパネル１０６ａで操作して、異なるアプリケーションApp2のゲームを楽しむことができる。
【００３９】
次に、本実施形態に係る情報表示装置１００のグループ管理機能について説明する。図４は、図３のＲＡＭ１０３上の描画データをバッファメモリ１０４に展開した様子を分かり易いように表示器１０６の画面に表示される時の視覚的な画像イメージで示した図である。従って、図４は表示器１０６の画面でもある。ここで、図３で説明したように、アプリケーションApp1により生成されるウィンドウApp1-1の上端にはタスクバー２６０のウィンドウApp0-1、アプリケーションApp2により生成されるウィンドウApp2-1の上端にはタスクバー２６０のウィンドウApp0-2がそれぞれ連結されている。
［グループ登録の手順］
そして、アプリケーションApp1のウィンドウApp1-1とアプリケーションApp2のウィンドウApp2-1を同じグループに登録する場合、例えば図４の画面を表示器１０６に表示した状態で、タッチパネル１０６ａでタスクバー２６０のグループ番号選択ボタン２６３を操作する。グループ番号選択ボタン２６３は、例えば図５（ａ）に示すように、ユーザーが表示器１０６の画面上でグループ番号選択ボタン２６３をタッチすると、ポップアップウィンドウ２８０が表示され、そのリストの中から設定したいグループ番号を選択することができる。図４の例では、ウィンドウApp1-1のタスクバー２６０のグループ番号が１、ウィンドウApp2-1のタスクバー２６０のグループ番号が２なので、どちらかのグループ番号を変更して同じグループ番号に設定する。例えばウィンドウApp2-1のタスクバー２６０のグループ番号設定ボタン２６３を操作してグループ番号を２から１に変更すれば、ウィンドウApp1-1と同じグループに設定される。
【００４０】
このようにして、異なる複数のアプリケーションにより生成されるウィンドウをグループ番号で関連付けすることによりグループ化することができる。
【００４１】
尚、本実施形態では、各ウィンドウの階層は予め設定されているものとして説明するが、図５（ａ）のグループ番号の登録と同様に、図５（ｂ）のようにして、タスクバー２６０に階層選択ボタン２６５を設け、ユーザーが表示器１０６の画面上で階層設定ボタン２６５をタッチして、表示されたプルダウンメニュー（レイヤ１、レイヤ２、レイヤ３など）の中から設定したい階層を選択できるようにしてもよい。
【００４２】
ここで、階層設定について図６を用いて説明する。図６は、同じ画面内に複数のウィンドウが表示される場合、特にウィンドウの表示位置が重なっている場合にどのウィンドウを上または下に表示するかを予め設定するための階層例を示している。図６の階層例では、最上位の層（ｎ）から最下位の層（０）まで複数の段階に分けられており、数値が小さい方が下位に表示される。例えば、図６の例では、アプリケーションApp2のウィンドウApp2-1が（ｎ）層、アプリケーションApp1のウィンドウApp1-1が（ｎ−１）層にそれぞれ設定されているので、ウィンドウApp2-1とウィンドウApp1-1とが重なる場合、ウィンドウApp2-1がウィンドウApp1-1よりも上に表示される。
【００４３】
次に、ウィンドウマネージャ２０２が各ウィンドウのグループ番号や階層などを管理するための管理テーブル３０１について図７を用いて詳しく説明する。管理テーブル３０１は、図２で説明したように、ウィンドウを使用するアプリケーションの各処理毎に基本処理部（ＯＳ）２０１から与えられるプロセスＩＤ（pid）と、ウィンドウマネージャ２０２により各ウィンドウに与えられるウィンドウＩＤ（wid）と、当該ウィンドウのグループ番号（group）と、ウィンドウを表示する階層を示す（layer）の各パラメータの設定を管理するためのテーブルである。さらに図７の点線で示したように、ウィンドウの位置（position）と、ウィンドウの大きさ（size）とを管理テーブル３０１に記憶するようにしてもよい。この場合、ウィンドウの位置（position）は、表示器１０６の画面上の座標で表され、ウィンドウの予め決めた特定箇所（例えば左上角）の座標である。尚、ウィンドウの位置や大きさのパラメータは、通常のアプリケーションで用いられているパラメータで、アプリケーション毎にレジストリなどの設定ファイルに記憶されているので、例えばアプリケーションの起動時にウィンドウマネージャ２０２により管理テーブル３０１に読み込むようにしてもよい。
【００４４】
図７の管理テーブル３０１において、アプリケーションApp0のウィンドウＩＤ(wid=01)に対応するウィンドウApp0-1（pid=01)はグループ番号(group)が01で、アプリケーションApp1のウィンドウＩＤ(wid=02)に対応するウィンドウApp1-1（pid=11)と同じグループ番号に設定されている。同様に、アプリケーションApp0のウィンドウＩＤ(wid=03)に対応するウィンドウApp0-2（pid=02)はグループ番号(group)が02で、アプリケーションApp2のウィンドウＩＤ(wid=04)に対応するウィンドウApp2-1（pid=21)と同じグループ番号である。
【００４５】
また、図７において、ウィンドウApp0-1およびウィンドウApp0-2の階層はlayer=3、ウィンドウApp1-1の階層はlayer=1、ウィンドウApp2-1の階層はlayer=2なので、３つのウィンドウが重なる場合、ウィンドウApp1-1の上にウィンドウApp2-1が表示され、ウィンドウApp2-1の上にウィンドウApp0-1およびウィンドウApp0-2が表示される。尚、層番号が同じ場合は、後で起動されたウィンドウが上に表示されるものとする。
【００４６】
このように、本実施形態に係る情報表示装置１００では、各ウィンドウにグループ番号と層番号を設定して管理することにより、グループ化されたウィンドウ内の上下位置を固定して管理することができる。
【００４７】
さらに、図７の管理テーブル３０１において、位置や大きさのパラメータも一括して管理する場合について説明する。尚、ウィンドウの位置や大きさについては、先に説明したように、通常のアプリケーションにおいてもレジストリなどの設定ファイルで管理されているので、特別に管理テーブル３０１に記載して管理しなくてもよいが、後の実施例で説明するように、ウィンドウの拡大や縮小を行って複数のアプリケーションを重ねる位置を合わせる場合は、各ウィンドウの位置や大きさのパラメータをグループ番号や階層と一括して管理テーブル３０１に記載することにより、ウィンドウマネージャ２０２で管理がし易くなる。
【００４８】
図７の例では、ウィンドウの位置は表示器１０６の画面上の座標を基準として表記されている。ここで、理解し易いように、表示器１０６の画面を１６００×１２００の座標で表す場合、アプリケーションApp1のウィンドウApp1-1は、ウィンドウの左上の座標が（１０，３０）、大きさが８００×６００画素で表示される。同様に、アプリケーションApp2のウィンドウApp2-1は、ウィンドウの左上の座標が（６００，６７０）、大きさが８００×６００画素で表示される。また、ウィンドウマネージャ２０２により生成されたウィンドウApp0-1およびウィンドウApp0-2についても、それぞれウィンドウの左上の座標が（１０，１０）および（６００，６５０）、大きさは両ウィンドウ共に８００×２０画素で表示される。尚、ウィンドウの拡大や縮小などの大きさの変更については後で詳しく説明する。
【００４９】
このように、ウィンドウマネージャ２０２は、管理テーブル３０１を参照することにより、複数のアプリケーションにより生成される複数のウィンドウを表示する位置、大きさ、階層およびグループ番号などを知ることができる。そして、ウィンドウマネージャ２０２は、管理テーブル３０１の設定に従ってＲＡＭ１０３上に保持されている各ウィンドウの描画データを表示する階層を管理しながらバッファメモリ１０４上に合成することができる。
【００５０】
次に、グループ化するときの位置や大きさを調整する編集モードについて図８を用いて説明する。図８は、先に説明した図４と同じアプリケーションApp1のウィンドウApp1-1と、アプリケーションApp2のウィンドウApp2-1とが表示器１０６の画面に表示され、それぞれのウィンドウのタスクバー２６０のグループ番号設定ボタン２６３のグループ番号は１に設定された状態になっている。
【００５１】
そして、グループ１のウィンドウを編集モード（Editモード）にするために、表示器１０６の画面に表示されているタスクバー２６０のEdit/Lock選択ボタン２６４のEditの文字をタッチパネル１０６ａで選択する。Editモードが選択されると、Lockの文字の前にあるチェックボックスのチェック状態が消えて、Editの文字の前にあるチェックボックスがチェック状態になり、ユーザーはEditモードに入ったことがわかる。尚、本実施形態では、同じグループに設定されている複数のウィンドウのタスクバー２６０のいずれか１つのタスクバー２６０でEditモードを選択された場合、ウィンドウマネージャ２０２は、同じグループ内のタスクバー２６０のEdit/Lock選択ボタン２６４を全てEditモードに切り替えるものとするが、各ウィンドウ毎にEditモードを選択するようにしてもよい。
【００５２】
次に、ゲームのアプリケーションApp2のウィンドウApp2-1をタッチパネル１０６ａでドラッグ操作して、ゲーム筐体のデザインをエミュレーションするアプリケーションApp1のウィンドウApp1-1のモニタ画面のグラフィック２７２の領域に重ねる。ここで、図７の管理テーブル３０１の階層設定の例では、ウィンドウApp1-1よりもウィンドウApp2-1を表示する層が上になるように設定されているので、ウィンドウApp2-1のゲームの実行画面がウィンドウApp1-1の上に表示されることになる。
【００５３】
ところが、管理テーブル３０１の例では、アプリケーションApp１のウィンドウApp1-1の大きさは800×600画素、アプリケーションApp2のウィンドウApp2-1の大きさも800×600画素なので、単純に同じ位置で両方のウィンドウを重ねた場合、完全に重なってしまうことになり、ウィンドウApp1-1の十字キー２７３やファンクションボタン２７４がウィンドウApp2-1の下に隠れてしまう。そこで、本実施形態に係る情報表示装置１００では、アプリケーションApp2のウィンドウApp2-1を図８のように縮小して、ウィンドウApp1-1のモニタ画面のグラフィック２７２の領域に入る大きさに調整する。大きさの調整は、例えばユーザーがタッチパネル１０６ａを介してウィンドウApp2-1の右下の角を指でタッチして、サイズ変更の矢印が画面に表示されたらドラッグ操作を行って、変更したい大きさになったらドラッグ操作を終了する。このようにして、ウィンドウApp2-1の大きさを縮小（または拡大）することができる。尚、拡大や縮小は、ウィンドウマネージャ２０２がＲＡＭ１０３の共有メモリ領域からバッファメモリ１０４にコピーする時に行う。また、拡大処理および縮小処理はソフトウェアで実行できるが、専用のハードウェアを搭載する場合はハードウェアで実行してもよい。
【００５４】
そして、ウィンドウApp2-1をウィンドウApp1-1のモニタ画面のグラフィック２７２の領域に重ねた後、タスクバー２６０のEdit/Lock選択ボタン２６４のLockの文字をタッチパネル１０６ａで選択する。Lockが選択されると、Editの文字の前にあるチェックボックスのチェック状態が消えて、Lockの文字の前にあるチェックボックスがチェック状態になり、ユーザーはEditモードが終了したことを確認できる。このようにして、図９（ａ）に示すように、EditモードでウィンドウApp1-1のゲーム筐体の画面にウィンドウApp2-1のゲームの実行画面を重ねた状態になり、ゲーム機筐体のグラフィック２７１の画面で恰もゲームが実行されているかのように表示することができる。尚、タスクバー２６０のOn/Offボタン２６２の領域を指でタッチするとタスクバー２６０の表示が消えて、図９（ｂ）に示すように、ゲーム機筐体のグラフィック２７１とゲームの実行画面だけが表示器１０６に表示される。この時、再び、タスクバー２６０を表示させたい場合は、例えばゲーム機筐体のグラフィック２７１の上部の淵辺りを指でタッチすることでタスクバー２６０が表示された図９（ａ）の状態にすることができる。
【００５５】
ここで、タスクバー２６０で同じグループに設定され、且つ、Edit/Lock選択ボタン２６４でLock状態に設定されたウィンドウは、常に相対的な配置を維持し、例えばウィンドウApp1-1またはウィンドウApp2-1をドラッグして画面上の位置を移動させた場合、図９で示した位置関係および大きさが保持されたままウィンドウApp1-1とウィンドウApp2-1の両方のウィンドウが移動される。
【００５６】
尚、アプリケーションApp2を操作しても、グループ管理されているウィンドウApp1-1とウィンドウApp2-1の上下位置および平面上の位置関係（ＸＹ座標の位置）は変わらない。
【００５７】
このように、本実施形態に係る情報表示装置１００では、複数の異なるアプリケーションにより生成される複数のウィンドウ（上記の例ではウィンドウApp1-1とウィンドウApp2-1）が恰も１つのアプリケーションのウィンドウであるかのように扱うことができる。尚、図９（ａ）および図９（ｂ）に示したLock状態のウィンドウを拡大または縮小する操作を行った場合でも、ウィンドウApp1-1とウィンドウApp2-1の位置や大きさの相対関係が維持されたまま拡大または縮小が行われる。ここで、Lock状態のウィンドウを拡大または縮小する操作は、例えば図８で説明した方法と同様に、Lock状態のウィンドウの右下の角をタッチしてドラッグすることにより実行することができる。
【００５８】
さらに、本実施形態に係る情報表示装置１００では、Lock状態にある同じグループの複数のウィンドウ間で操作情報や位置情報などを通知することができる。これらの情報は、ウィンドウマネージャ２０２により、対応するアプリケーションに引き渡される。図９の例では、階層が下の層にあるゲーム機筐体のグラフィック２７１を表示するアプリケーションApp1から上の層にあるゲームのアプリケーションApp2に対して操作情報や位置情報が引き渡される。例えば、ファンクションボタンのグラフィック２７４が指でタッチされた場合、ファンクションボタンが押下されたことを示すメッセージがアプリケーションApp1からアプリケーションApp2に通知される。同様に、十字キーのグラフィック２７３が指でタッチされた場合、十字キーが操作されたことを示すメッセージがアプリケーションApp1からアプリケーションApp2に通知される。このようなメッセージをアプリケーションApp1からウィンドウマネージャ２０２を経由して受け取ったアプリケーションApp2は、本物のゲーム機のファンクションボタンや十字キーが操作されたときと同じ動作を実行する。さらに、アプリケーションApp1の表示モニタのグラフィック２７２に表示されているゲームの実行画面の領域がタッチされた場合、タッチした座標データがメッセージとしてウィンドウマネージャ２０２経由でアプリケーションApp2に通知されるが、アプリケーションApp2のウィンドウApp2-1は、図８で説明したように縮小されているので、元のウィンドウApp2-1の座標とは異なる。例えば、ウィンドウApp2-1の元の大きさが８００×６００画素で、図８の縮小後の大きさが６４０×４８０画素である場合、８０％に縮小されているので、図９のウィンドウApp2-1のゲーム画面上でゲームのキャラクターを８０画素だけ移動させた場合、元の大きさのゲーム画面では１００画素分を移動させなければならない。そこで、ウィンドウマネージャ２０２は、縮小されたウィンドウApp2-1の画素数や座標から元座標の大きさにデータ変換し、変換データをアプリケーションApp2に引き渡す。
【００５９】
このようにして、本実施形態に係る情報表示装置１００では、複数の異なるアプリケーションにより生成される複数のウィンドウ（上記の例ではウィンドウApp1-1とウィンドウApp2-1）が恰も１つのアプリケーションのウィンドウであるかのように動作させることができる。尚、上記の例では、下位の層のアプリケーションApp1から上位の層のアプリケーションApp2-1に操作情報や位置情報を引き渡すようにしたが、アプリケーションの種類によっては、上位の層のアプリケーションから下位の層のアプリケーションに操作情報や位置情報を引き渡すようにしてもよいし、互いにこれらの情報をやり取りできるようにしてもよい。
【００６０】
また、図９（ａ）において、グループ化されたウィンドウApp1-1およびウィンドウApp2-1のタスクバー２６０の終了ボタン２６１が押下されて両方のウィンドウを閉じる際に、ウィンドウマネージャ２０２によって、ウィンドウApp1-1およびウィンドウApp2-1がグループ化されていることと、グループ時のウィンドウの大きさと、２つのウィンドウの相対位置（例えば左上角の座標位置の差分など）を示す情報をレジストリなどの設定ファイルに記憶するようにしてもよい。さらに、この場合、グループ化された図９（ａ）の２つのウィンドウを１つのウィンドウと見なす新たな独立したアプリケーションの１つとして、プログラム実行のためのアイコンをデスクトップなどに作成してもよい。これにより、ユーザーがデスクトップ上のアイコンをクリックすると、アプリケーションApp1とApp2とが同時に起動し、ウィンドウApp1-1とウィンドウApp2-1と設定ファイルに記憶された大きさ（上記の例ではウィンドウApp2-1を８０％縮小した大きさ）と、相対位置でＲＡＭ１０３からバッファメモリ１０４に展開して合成する。ここで、相対位置は、例えばウィンドウApp2-1の左上の角の座標がウィンドウApp1-1に対して、右に１０画素、下に５０画素ずらすなどの情報である。
【００６１】
このようにして、本実施形態に係る情報表示装置１００では、複数の異なるアプリケーションにより生成される複数のウィンドウ（上記の例ではウィンドウApp1-1とウィンドウApp2-1）が恰も１つのアプリケーションのウィンドウであるかのように表示および動作させることができ、グループ化された状態の新たなアプリケーションとして起動や終了を行うことができる。
【００６２】
次に、本実施形態に係る情報表示装置１００において、複数のウィンドウの二次元上（表示器１０６の画面上）の表示位置が重なって見えなくなるウィンドウが無いように、互いに回避するように配置する例について説明する。この場合、ウィンドウマネージャ２０２は、複数のアプリケーションにより生成されるウィンドウを表示する層を管理し、例えば上位の層にあるアプリケーションのウィンドウが下位の層にあるアプリケーションのウィンドウを排他的に回避する位置になるようにウィンドウの相対位置を管理する。
【００６３】
図１０は、バッファメモリ１０４に展開された３つのアプリケーション（App3,App4,App5）によりそれぞれ生成されるウィンドウApp3-1、ウィンドウApp4-1、ウィンドウApp5-1をそれぞれ視覚的なイメージで描いてある。図１０の例では、アプリケーションApp3は画像のサムネイルを表示するソフトウェア、アプリケーションApp4は画像の明るさや色彩などを調節するフィルタ処理のソフトウェア、アプリケーションApp5は画像の明るさのヒストグラムなどを表示する画像情報表示のソフトウェアである。ここで、先に説明した図４の例と同様に、それぞれのウィンドウにタスクバー２６０が付加されている。
【００６４】
図１０では、タスクバー２６０のグループ番号設定ボタン２６３のグループ番号はグループ２に設定され、３つのウィンドウはグループ化されている。そして、タスクバー２６０のEdit/Lock選択ボタン２６４はEditモードが選択され、グループ内のウィンドウの位置や大きさを調整できる状態になっている。尚、３つのウィンドウの階層は、ウィンドウApp4-1またはウィンドウApp5-1がウィンドウApp3-1よりも上位の層に設定されているものとする。
【００６５】
次に、先の図８の例と同様に、図１０の各ウィンドウをドラッグして、図１１に示すようにウィンドウの位置を決定する。そして、３つのウィンドウの相対的な位置が決定したらEdit/Lock選択ボタン２６４でLockを選択して編集モードを終了する。これにより、３つのウィンドウの相対位置は固定され、常に図１２のように表示される。そして、例えばいずれかのウィンドウの位置を移動した場合、他のウィンドウの位置も同じ相対位置を保持しながら移動される。また、３つのウィンドウのいずれかのウィンドウを拡大または縮小した場合は、他のウィンドウも同じ相対位置を保持しながら拡大または縮小される。尚、図９（ｂ）の例と同様に、タスクバー２６０のOn/Offボタン２６２をｏｆｆにすることによって３つのウィンドウに付加されたタスクバー２６０が消去される。
【００６６】
このようにして、３つのアプリケーション（App3,App4,App5）によりそれぞれ生成されるウィンドウApp3-1、ウィンドウApp4-1、ウィンドウApp5-1を恰も１つのアプリケーションにより実行されるウィンドウであるかのように操作することができる。
【００６７】
また、画像のサムネイルを表示するアプリケーションApp3のウィンドウApp3-1の中から色合いなどを調整したい画像（例えばIMG1.jpgの画像）をタッチパネル１０６ａで選択して、アプリケーションApp4のウィンドウApp4-1の上にドラッグすると、ドラッグした画像の調整を行うことができる。同様に、画像のサムネイルを表示するアプリケーションApp3のウィンドウApp3-1の中から画像情報を表示したい画像（例えばIMG6.jpgの画像）をタッチパネル１０６ａで選択して、アプリケーションApp5のウィンドウApp5-1の上にドラッグすると、ドラッグした画像のヒストグラム情報を表示することができる。
【００６８】
尚、これらのアプリケーションApp3，App4およびApp5以外のソフトウェアの実行により、アプリケーションApp3，App4およびApp5のウィンドウApp3-1，App4-1およびApp5-1のウィンドウが別のソフトウェアのウィンドウの背後に移動したとしても、ウィンドウApp3-1，App4-1およびApp5-1のいずれかのウィンドウをタッチパネル１０６ａでクリックすることにより、グループ化された３つのウィンドウが同時に上位に表示される。
【００６９】
以上、本実施形態に係る情報表示装置１００について、グループ化されたウィンドウを重ねて表示する場合と、排他的に回避する位置に表示する場合の２つの例を示したが、既存のアプリケーションの動作を変更することなく、複数の異なるアプリケーションにより生成される複数のウィンドウを組み合わせたり、ハードウェアの操作ボタンやキーボードをソフトウェアでエミュレーションすることが簡単にでき、操作性の優れた使い勝手の良いウィンドウ環境を実現することができる。
【００７０】
尚、本発明に係る情報表示装置について、各実施形態で例を挙げて説明してきたが、その精神またはその主要な特徴から逸脱することなく他の多様な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【符号の説明】
【００７１】
１００・・・情報表示装置；１０１・・・ＣＰＵ電子カメラ；１０２・・・ＲＯＭ；１０３・・・ＲＡＭ；１０４・・・バッファメモリ；１０５・・・表示制御部；１０６・・・表示器；１０６ａ・・・タッチパネル；１０７・・・操作部材；１０８・・・Ｉ／Ｏ；１０９・・・記録Ｉ／Ｆ；１０９ａ・・・記録媒体；１１０・・・システムバス；２０１・・・基本処理部；２０２・・・ウィンドウマネージャ；２０３・・・内部関数；２５０・・・ウィンドウ管理機能；２５１・・・レイヤ管理機能；２５３・・・グループ管理機能；３０１・・・管理テーブル
【図１】
2013161407.tif 000003
【図２】
2013161407.tif 000004
【図３】
2013161407.tif 000005
【図４】
2013161407.tif 000006
【図５】
2013161407.tif 000007
【図６】
2013161407.tif 000008
【図７】
2013161407.tif 000009
【図８】
2013161407.tif 000010
【図９】
2013161407.tif 000011
【図１０】
2013161407.tif 000012
【図１１】
2013161407.tif 000013
【図１２】
2013161407.tif 000014