(57)【特許請求の範囲】
【請求項１】
第１及び第２の表示レイヤに表示する画像をそれぞれ管理し、互いに異なるＯＳ上で動作する第１及び第２の管理部と、
前記複数の表示レイヤを、予め決められた表示順位に従って合成し、表示部に表示する単一の画像情報を生成する合成部とを有し、
前記第１及び第２の管理部は、
合成される前記複数の表示レイヤのそれぞれに描画される画像の配置位置及び表示優先情報を各表示レイヤに対応する画像生成部から取得する情報取得部と、
第１の表示レイヤが第２の表示レイヤより前記表示順位が低い場合において、前記配置位置及び前記表示優先情報に基づき、前記第１の表示レイヤに描画される第１画像であって、前記第２の表示レイヤに描画される第２画像と配置位置が重複し、その表示優先情報が前記第２画像の前記表示優先情報より高い画像を特定画像として検出し、当該特定画像を表示させるための透過画像を前記第２の表示レイヤに生成させる命令生成部と、を含み、
前記透過画像は、生成される当該表示レイヤの該当箇所の画像情報を消去する情報であること、又は透過ビットが設定された画像情報であり、
各表示レイヤにおける前記表示優先情報は全表示レイヤで共通の情報である画像表示システム。
【請求項２】
前記第１及び第２の管理部に対応して設けられ、当該第１及び第２の管理部が生成した命令に従って前記第１及び第２の表示レイヤに画像を描画する第１及び第２の画像生成部を有し、前記第１及び第２の画像生成部は、それぞれ異なるＯＳ上で動作する
ことを特徴とする請求項１記載の画像表示システム。
【請求項３】
前記表示レイヤに描画される画像はウィンドウである
ことを特徴とする請求項１又は２に記載の画像表示システム。
【請求項４】
所定の動作を、第１及び第２の表示レイヤに表示する画像をそれぞれ管理し、互いに異なるＯＳ上で動作する第１及び第２の管理部を有する画像表示システムのコンピュータに実行させるためのプログラムであって、
前記複数の表示レイヤを、予め決められた表示順位に従って合成し、表示部に表示する単一の画像情報を生成し、
合成される前記複数の表示レイヤのそれぞれに描画される画像の配置位置及び表示優先情報を各表示レイヤに対応する画像生成部から取得し、
第１の表示レイヤが第２の表示レイヤより前記表示順位が低い場合において、前記配置位置及び前記表示優先情報に基づき、前記第１の表示レイヤに描画される第１画像であって、前記第２の表示レイヤに描画される第２画像と配置位置が重複し、その表示優先情報が前記第２画像の前記表示優先情報より高い画像を特定画像として検出し、当該特定画像を表示させるための透過画像を前記第２の表示レイヤに生成させ、
前記透過画像は、生成される当該表示レイヤの該当箇所の画像情報を消去する情報であること、又は透過ビットが設定された画像情報であり、
各表示レイヤにおける前記表示優先情報は、全表示レイヤで共通の情報であるプログラム。
【請求項５】
第１及び第２の表示レイヤに表示する画像をそれぞれ管理し、互いに異なるＯＳ上で動作する第１及び第２の管理部を有する画像表示システムを用いた画像表示方法であって、
前記複数の表示レイヤを、予め決められた表示順位に従って合成し、表示部に表示する単一の画像情報を生成し、
合成される前記複数の表示レイヤのそれぞれに描画される画像の配置位置及び表示優先情報を各表示レイヤに対応する画像生成部から取得し、
第１の表示レイヤが第２の表示レイヤより前記表示順位が低い場合において、前記配置位置及び前記表示優先情報に基づき、前記第１の表示レイヤに描画される第１画像であって、前記第２の表示レイヤに描画される第２画像と配置位置が重複し、その表示優先情報が前記第２画像の前記表示優先情報より高い画像を特定画像として検出し、当該特定画像を表示させるための透過画像を前記第２の表示レイヤに生成させ、
前記透過画像は、生成される当該表示レイヤの該当箇所の画像情報を消去する情報であること、又は透過ビットが設定された画像情報であり、
各表示レイヤにおける前記表示優先情報は、全表示レイヤで共通の情報である画像表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示部に例えばウィンドウ等を表示するための画像表示装置、表示制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、例えば、単一のＯＳ上で単一の描画系を有するシステム、X window system等、複数のＯＳ上で単一の描画系を有するシステム、又はＬＣＤＣ（ＬＣＤコントローラ）が有するＯＳＤ機能（On Screen Display）を利用して複数のＶＲＡＭをＨＷレイヤに割り当てるシステムがある。
【０００３】
これらのシステムを利用したウィンドウ制御装置が知られている。この種のウィンドウ制御装置は、プロセッサで同時に並行して処理される互いに異なるジョブの各々に対応するウィンドウを作成する。そして、ウィンドウ制御装置は、これらの個々のジョブに対応した複数のウィンドウを画面に同時に表示する。さらに、ウィンドウ制御装置は、複数のジョブ処理の状況を同時に監視することも可能になる。
【０００４】
例えば特許文献１には、ウィンドウ表示を用いて１つの画面上で複数の出力画像（画像データ）、例えば、複数のデバイスから出力される画像データを表示する出力データ制御装置が開示されている。この特許文献１にかかる出力データ制御装置は、複数の情報処理端末（ＰＣ）あるいは映像出力機器からの複数の画像データを入力する。そして、入力した複数の画像データをメイン画面とウィンドウ画面とを用いて一画面内に合成する。さらに、合成した画面をモニタ装置へ出力する。そして、出力データ制御装置は、メイン画面にウィンドウ画面を重ねて表示する割合を透明度として算出する。さらに、出力データ制御装置は、算出した透明度に従ってウィンドウ画面を表示する割合を変更して画面を変更し、変更した画面をモニタ装置へ出力する。
【特許文献１】特許２００２−１８２８９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように、複数ＯＳや複数描画システムで共有したＬＣＤ等のディスプレイに複数ウィンドウを表示する場合、従来技術であるＯＳＤ機能を利用し、ウィンドウ毎にＨＷレイヤを割り当てることによって、重ね合わせ制御をすることが可能であった。しかしながら、同時に扱えるウィンドウの数がＨＷレイヤの数に制限を受けてしまうという問題点がある。
【０００６】
これに対し、描画システムとしてマルチウインドウ表示が可能なウィンドウシステムを採用することにより、同時に扱えるウィンドウ数の制約を取り除くことが可能になった。しかしながら、各々の描画システムが異なるＶＲＡＭに描画するため、異なる描画システム間で動的なウィンドウ単位での重ね合わせ制御ができないという問題点がある。
【０００７】
また、ＨＷレイヤ間で表示順が決まっており、それらを単に重ね合わせる手法においては、各ＨＷレイヤ内ではそれぞれで使用されるローカル優先度が存在し、ＨＷレイヤ毎に描画が行われる。各ＨＷレイヤで描画された画像はＨＷレイヤ間の表示順に従って重ね合わせが行われる。すなわち、ＨＷレイヤ１、ＨＷレイヤ２（優先度はＨＷレイヤ１＞ＨＷレイヤ２）においては、ＨＷレイヤ２のウィンドウはＨＷレイヤ１のウィンドウより手前に表示されることはない。
【０００８】
本発明は、このような問題点を解決するためになされたものであり、複数の描画システムから共有されるディスプレイを有するシステムにおいても、例えばウィンドウ単位での重ね合わせを可能とする画像表示装置、表示制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る画像表示システムは、合成される複数の表示レイヤのそれぞれに描画される画像の画像情報を取得し、第１の表示レイヤが第２の表示レイヤより表示順位が低い場合において、前記画像情報に基づき、前記第１及び第２の表示レイヤの合成時に表示されるべき前記第１の表示レイヤに描画される画像を特定画像として検出し、該特定画像を表示させるための透過画像を前記第２の表示レイヤに生成させる管理部を有するものである。
【００１０】
本発明に係るプログラムは、所定の動作をコンピュータに実行させるためのプログラムであって、合成される複数の表示レイヤのそれぞれに描画される画像の画像情報を取得し、第１の表示レイヤが第２の表示レイヤより表示順位が低い場合において、前記画像情報に基づき、前記第１及び第２の表示レイヤの合成時に表示されるべき前記第１のレイヤに描画される画像を特定画像として検出し、該特定画像を表示させるための透過画像を前記第２の表示レイヤに生成させる管理工程を有するものである。
【００１１】
本発明に係る画像表示方法は、合成される複数の表示レイヤのそれぞれに描画される画像の画像情報を取得し、第１の表示レイヤが第２の表示レイヤより表示順位が低い場合において、前記画像情報に基づき、前記第１及び第２の表示レイヤの合成時に表示されるべき前記第１のレイヤに描画される画像を特定画像として検出し、該特定画像を表示させるための透過画像を前記第２の表示レイヤに生成させる管理工程を有するものである。
【発明の効果】
【００１２】
本発明によれば、複数の描画システムから共有されるディスプレイを有するシステムにおいてもウィンドウ単位での重ね合わせを可能とする画像表示装置、表示制御方法及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、複数のＯＳ上でそれぞれ起動する描画システムから共有されるディスプレイにウィンドウを合成して表示することが可能な画像表示装置に適用したものである。
【００１４】
図１は、本発明の実施の形態にかかる画像表示装置を示す概略図である。画像表示装置１００は、複数の、例えばＣＰＵ（Central Processing Unit）等からなる処理部１、２を有しており、それぞれ異なるＯＳがインストールされている。各ＯＳ上では、それぞれ、画像生成部としてのウィンドウ生成部１０、２０と、管理部としてのアプリケーションマネージャ（ＡＰＭ）１２、２２とが起動している。ここで、本実施の形態においては、例えば、一方のＯＳは、例えば、エンジン制御、スピード制御、又はエアバック制御などの制御系のＯＳであり、他方のＯＳは、エンターテーメントやマルチメディア用の情報系のＯＳとする。
【００１５】
ウィンドウ生成部１０は、表示レイヤとしてのハードウェアレイヤ（ＨＷレイヤ）７１に表示するウィンドウ７１１を生成する。ウィンドウ生成部２０は、ＨＷレイヤ７１と同一の表示部に表示されるＨＷレイヤ７２に表示するウィンドウ７２１を生成する。
【００１６】
具体的には、ＡＰＭ１２、２２は、ウィンドウ生成部１０、２０から画像情報として各ウィンドウの枠情報及び各ウィンドウのＺ軸情報（表示優先情報、以下優先度という。）を含むウィンドウ配置情報を取得する。ウィンドウの枠情報とは、矩形ウィンドウであれば、起点の座標並びに縦及び横の大きさ等とすることができる。優先度とは、全ＨＷレイヤが共通して使用するウィンドウの表示順序を示す。本実施の形態においては、全ＨＷレイヤが共通の優先度情報を使用することにより、ＨＷレイヤを跨いだウィンドウの表示順の制御が可能となる。そして、ＡＰＭ２２は、第１のＨＷレイヤ７１が第２のＨＷレイヤ７２より表示順位が低い場合において、ウィンドウ配置情報に基づき、第１及び第２のＨＷレイヤ７１、７２の合成時に表示されるべき第１のＨＷレイヤ７１に描画されるウィンドウを特定ウィンドウ７１１として検出し、この特定ウィンドウ７１１を表示させるための透過ウィンドウ７２５を第２のＨＷレイヤ７２に生成させる配置命令を生成する。ＡＰＭ１２は、第１のＨＷレイヤ７１に表示させるウィンドウを生成させる配置命令を生成する。
【００１７】
ＨＷレイヤ７１、７２は、合成部としてのＬＣＤコントローラ（図示せず）によって画面合成され、表示画面４１が生成される。なお、本実施の形態においては、ＨＷレイヤの表示順序は予め決められているのとして説明する。ＡＰＭは、ＨＷレイヤの上下関係と、ウィンドウの優先度に応じて、透過ウィンドウを形成する。ＬＣＤコントローラは、決められた表示順序に従ってＬＣＤコントローラが表示画面を合成する。ただし、これに限らず、ＡＰＭ等がＨＷレイヤの表示順序を変更するようにしてもよい。
【００１８】
以下、ＡＰＭ２２について詳述する。ＡＰＭ２２は、情報取得部２２１及び命令生成部２２２を有する。情報取得部２２１は、合成される複数の表示レイヤのそれぞれに描画される画像の配置位置及び優先度を各表示レイヤに対応するウィンドウ生成部から取得する。すなわち、情報取得部２２１は、表示レイヤ７２のウィンドウ配置情報をウィンドウ生成部２０から取得する。また、表示レイヤ７１のウィンドウ配置情報をウィンドウ生成部１０からＡＰＭ１２を介して取得する。
【００１９】
命令生成部２２２は、第１のＨＷレイヤ７１が第２のＨＷレイヤ７２より表示順位が低い場合において、ウィンドウ配置情報に基づき、第１及び第２のＨＷレイヤの合成時に表示されるべき第１のＨＷレイヤ７１に描画されるウィンドウを特定ウィンドウとして検出し、この特定ウィンドウを表示させるための透過ウィンドウを第２のＨＷレイヤ７２に生成させる配置命令を生成する。
【００２０】
そして、第２のＨＷレイヤ７２の第１のウィンドウ７１１の優先度が第２のウィンドウ７２１の優先度より大きい場合、命令生成部２２２は、第１のＨＷレイヤ７１に描画されるウィンドウを特定ウィンドウとして検出し、第２のＨＷレイヤ７２において第１のウィンドウ７１１と同一形状及び同一配置位置に、上記特定ウィンドウを表示させるための透過ウィンドウ７２５を生成させる配置命令を生成する。ウィンドウ生成部２０は、命令生成部２２２からの配置命令に従い第２のＨＷレイヤ７２において、透過ウィンドウ７２５を生成し、第２のウィンドウ７２１と合成する。
【００２１】
ここで、透過ウィンドウとは、自身を透過し下のＨＷレイヤに表示された画像を透過して表示するものをいう。透過ウィンドウの一例としては、透過ウィンドウ内の領域についてＨＷレイヤにおける画像信号を消去するマスク処理を行って生成する。例えば、ＲＧＢ情報と透過率情報（Ａ）からなる３２ビット（ＡＲＧＢ各８ビット）で１ドットを表現するシステムであれば、ＡＰＭ又は描画システムがＶＲＡＭ内のデータ（透過率情報）をビット単位で制御することにより、透過ウィンドウを生成することができる。
【００２２】
なお、本実施の形態においては、処理部を２つとして説明しているが、２以上であってもよい。さらに、各ウィンドウ生成部は一のＨＷレイヤで、一のウィンドウの表示制御をするものとするが、２以上のＨＷレイヤであっても、２以上のウィンドウを表示させるものであってもよいことは勿論である。
【００２３】
このように、命令生成部２２２は、第１のウィンドウ７１１の情報としては、表示優先度と、ウィンドウ枠情報とを使用して透過ウィンドウ７２５の配置命令を生成する。つまり、命令生成部２２２は、第１のウィンドウ７１１の画素値等の画像情報を取得することなく、透過ウィンドウを生成する配置命令を生成する。このような透過ウィンドウを生成することにより、ＬＣＤコントローラがＨＷレイヤ７１、７２を画面合成すると、ウィンドウ７１１とウィンドウ７２１とが表示優先度に従って重畳された画面が生成される。このことにより、複数のＯＳで共有されるディスプレイを有するシステムにおいて、互いに表示する画像について詳細な情報を転送することなく少ないデータの受け渡しのみで異なるＨＷレイヤ間でのウィンドウの重ね合わせ制御（Ｚ軸制御）が可能になる。したがって、複数のＯＳによって描画される画像情報を合成する処理を高速化することができる。以下、本発明の実施の形態について詳細に説明する。
【００２４】
図２は、本発明の実施の形態にかかる画像表示装置の詳細を示す図である。図２に示すように、画像表示装置１００は、ＭＰＵ（Micro Processor Unit）６、ＬＣＤ（Liquid Cristal Display）４、及びＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）５を有する。ＭＰＵ４は、制御装置としての処理部１、２を有する。各処理部１、２は、ＯＳ１１、１２、ＡＰＭ１２、２２、ウィンドウ生成部１０、２０を有する。ウィンドウ生成部は、描画システム１０１、２０１、ＧＵＩアプリケーション１０２、１０３及び２０２、２０３を有する。
【００２５】
上述したように、ＯＳ１は、例えばμＩＴＲＯＮ等の制御系のＯＳであり、独自描画システム１０１を搭載し、さらにＬＣＤスピードメータなどの車両連携アプリケーションとしてＧＵＩアプリケーション１０２、１０３を搭載している。また、ＯＳ２は、描画システム２０１としてＸｗｉｎｄｏｗｓｙｓｔｅｍ等を搭載したＵＮＩＸ（登録商標）などの情報系ＯＳであり、マルチメディアアプリケーション（ＡＶＮ、ブラウザ等）をＧＵＩアプリケーション２０２、２０３として搭載している。
【００２６】
さらに、画像表示装置１００は、ＶＲＡＭ５１が割り当てられるＨＷレイヤ７１、ＶＲＡＭ５２が割り当てられるＨＷレイヤ７２など、複数のＨＷレイヤを有する。上述したように、各ＨＷレイヤには、表示順序が設定されている。ここでは、ＨＷレイヤ７２がＨＷレイヤ７１より上に表示されるように設定されているものとする。ＬＣＤＣ３は、これらを合成して表示画面４１を生成し、ＬＣＤ４に表示する。ここで、本実施の形態においては、各ＯＳ上で起動する描画システム１０１、２０１には、少なくとも１つのＨＷレイヤが他の描画システムとは排他的に割り当てられている。
【００２７】
つまり、描画システム１０１、２０１はＨＷレイヤを共有しない。本例においては、描画システム１０１がＶＲＡＭ５１にアクセスし、これに割り当てられたＨＷレイヤ７１を使用する。描画システム２０１はＶＲＡＭ５２にアクセスし、これに割り当てられたＨＷレイヤ７２を使用する。ＧＵＩアプリケーション１０２、１０３は、描画システム１０１を使用してＨＷレイヤ７１に所望のウィンドウを描画する。ＧＵＩアプリケーション２０２、２０３は、描画システム２０１を使用してＨＷレイヤ７２に所望のウィンドウを描画する。
【００２８】
この画像表示装置１００は、複数のＯＳ１１、２１から共有されるディスプレイＬＣＤ４にアクセスする（組込み）システムである。各ＯＳ１１、２１には、ＡＰＭ１２、２２が配置されている。このＡＰＭは、マスタとスレーブとを有するマスタ−スレーブ方式とすることができる。この場合、マスタＡＰＭは、ＧＵＩアプリケーションが配置するウィドウのウィンドウ配置情報（ウィンドウの枠情報及び優先度）を一括管理する。
【００２９】
また、各ＯＳ１１、２１上のＡＰＭ１２、２２が互いに通信可能に構成されている。マスタＡＰＭは、ウィンドウ配置情報を基に全ＯＳ１１、２１の描画システム１０１、２０１に、必要に応じてウィンドウの配置命令を出すことができる。ウィンドウ配置命令は、後述するように、例えば、タッチパネルの操作時において優先度を変更する場合又はフォーカスの移動する場合などに出される。なお、マスタ−スレーブ方式とせず、各ＡＰＭが配置命令を個別に出すものとしてもよい。描画システム１０１、２０１は、ＡＰＭで管理している透過ウィンドウを、受信した配置命令に基づいて重ね合わせる。
【００３０】
ＡＰＭをマスタ−スレーブ方式にした場合は、以下のように動作する。先ず、いずれかのＯＳにＡＰＭのマスタを配置し、その他のＯＳにはＡＰＭスレーブを配置する。ＡＰＭマスタは、全ウィンドウの制御及び管理を行う。本例では、ＯＳ２１にＡＰＭマスタが配置され、ＯＳ１１にＡＰＭスレーブが配置されているものとして説明する。ＡＰＭスレーブ１２は、主にＡＰＭマスタ２２と描画システム１０１との間の通信を行う。ＡＰＭマスタ２２は全ウィンドウのウィンドウ配置情報（ウィンドウの枠情報及び優先度）を有する。新たなウィンドウの生成や、ウィンドウの優先度の変更があると、ＡＰＭマスタ２２が管理する全ウィンドウ配置情報が更新される。この際、ＡＰＭマスタ２２は、ＡＰＭスレーブ１２からＡＰ１０２、ＡＰ１０３のウィンドウ配置情報を取得する。また、ＡＰ２０２、ＡＰ２０３のウィンドウ配置情報は、ＡＰ２０２、ＡＰ２０３から直接取得する。ＡＰＭマスタ２２は更新された全ウィンドウ配置情報を基に、透過ウィンドウを生成する。なお、ＡＰＭマスタ２２は、必要に応じて、例えばウィンドウ配置情報を更新するタイミングで全ＯＳの描画システム１０１、２０１にウィンドウの配置命令を出力してもよい。描画システム２０１は、ＡＰＭ２２を介してＡＰＭ１２からの配置命令を受け取ることができる。
【００３１】
図３は、本発明の実施の形態における画像表示装置の動作を示すシーケンス図である。
図４は、ウィンドウ制御方法を説明するための図である。以下では、ＡＰＭをマスタ−スレーブ方式とし、異なるＨＷレイヤに描画されるウィンドウを合成して表示する処理について具体的に説明する。上述したように、各ＯＳにＡＰＭを配置し、ＯＳ２１に配置されるＡＰＭマスタ２２で全ＧＵＩアプリケーションが使用するウィンドウの枠情報（Ｘ,Ｙ軸）及び優先度（Ｚ軸情報）の管理を一括で行う。なお、必要に応じて優先度を書きかえる等のウィンドウ配置情報の制御を行うことも可能である。ＡＰＭマスタ２２は、ハードディスク等の記憶手段を利用してウィンドウ配置情報を管理する。
【００３２】
ＡＰＭマスタ２２は、各々のＯＳ上で動作する全ＧＵＩアプリケーションが有するウィンドウの枠情報及び優先度情報からなるウィンドウ配置情報をＧＵＩアプリケーションから取得し、保有する。ＡＰＭマスタ２２は、ＡＰでウィンドウが生成されたタイミング、又はウィンドウが破棄されたタイミング等で、ウィンドウ配置情報を更新する。
【００３３】
さらに、ＡＰＭマスタ２２は、システムに搭載されたＬＣＤ４が２以上ある場合は、どのＬＣＤとどのＨＷレイヤが対応しているかを示す割り当て情報を保有する。さらに、ＡＰＭマスタ２２は、ＶＲＡＭ５１、５２とＨＷレイヤ７１、７２間の座標割り当て情報等も保有する。なお、ＬＣＤが複数ある場合について及び座標割り当て情報についての詳細は後述する。Ｚ軸制御に関しては、各描画システム１０１、２０１が保有するウィンドウに優先度（表示優先度）を設定し、優先度の高低でウィンドウの重ね合わせが決定される。図４に示す例では、上述したように、ＨＷレイヤ７２がＨＷレイヤ７１の上に表示される。ＨＷレイヤ７２上には、アプリケーションＡＰ２０２〜ＡＰ２０５により、ウィンドウ８２１〜８２４が表示される。ＨＷレイヤ７１上には、アプリケーション１０２、１０３によりウィンドウ８２１、８２２が表示される。ＡＰ２０２〜ＡＰ２０５は、ＯＳ２１上で起動するアプリケーションであり、ＡＰ１０２、ＡＰ１０３は、ＯＳ１１上で起動するアプリケーションである。
【００３４】
ここで、ＡＰ１０２のウィンドウの優先度が６、ＡＰ１０３のウィンドウの優先度が１４、ＡＰ２０２のウィンドウの優先度が１２、ＡＰ２０３のウィンドウの優先度が１２、ＡＰ２０４のウィンドウの優先度が１０、ＡＰ２０５のウィンドウの優先度が８の場合について説明する。すなわち、各ウィンドウの優先順位は、
ＡＰ１０３のウィンドウ８１２＞ＡＰ２０２のウィンドウ８２１、ＡＰ２０３のウィンドウ８２２＞ＡＰ２０４のウィンドウ８２３＞ＡＰ２０５のウィンドウ８２４＞ＡＰ１０２のウィンドウ８１１
となっている。そして、ウィンドウ８２１、８２２は、互いに重複しない。ウィンドウ８２２〜８２４は互いにその全部が重複している。ウィンドウ８１１は、ウィンドウ８２１に対して全部が重複している。ウィンドウ８１２はウィンドウ８２２に対して全部が重複している。
【００３５】
ここでは、ウィンドウ８２１〜８２４、８１１が表示されているときに、ＡＰ１０３によって、ウィンドウ８１２を表示させる場合について説明する。先ず、ＡＰ１０３を起動する（ステップＳ１）。ＡＰ１０３は、優先度１６のウィンドウ８１２を表示したい旨、スレーブＡＰＭ１２に通知する（ステップＳ２）。ＡＰＭ１２は、優先度１６でウィンドウ８１２を表示したい旨をマスタＡＰＭ２２に通知する（ステップＳ３）。マスタＡＰＭ２２は、それまでのウィンドウ配置情報、すなわちウィンドウ８２１〜８２４、８１１のウィンドウ配置情報に、ウィンドウ８１２のウィンドウ配置情報を加え、全体のウィンドウ配置情報を更新する（ステップＳ４）。本例においては、ウィンドウ８１２のウィンドウ配置情報として、画面左端からの距離（ｌｅｆｔ＝１００）、画面最上端からの距離（ｔｏｐ＝２００）、ウィンドウの横幅（ｗｉｄｔｈ＝１５０）、ウィンドウの高さ幅（ｈｅｉｇｈｔ＝１５０）、及び表示優先度＝１４が入力される例を示している。
【００３６】
なお、本実施の形態のように、上位レイヤであるＨＷレイヤ７２を管理するＡＰＭ２２がマスタとなって透過ウィンドウの制御を行えば、他方のＨＷレイヤに対する配置命令を生成する必要がなく、システムを簡易に構成することができる。この場合、スレーブＡＰＭ１２は、同時の描画処理を実施した後、ウィンドウ枠情報及び優先度情報をマスタＡＰＭ２２に送付するものとしてもよい。この場合、マスタは、送付されたウィンドウ配置情報に応じて透過ウィンドウの生成又は削除を行うものとすることができる。
【００３７】
次に、スレーブＡＰＭ１２は、描画システム１０１にウィンドウ８１２の作成を要求する（ステップＳ５）。一方、マスタＡＰＭ２２は、新たなウィンドウ８１２の配置位置を判断する。ここでは、
（１）ウィンドウ８１２が生成されるＨＷレイヤ７１の上にＨＷレイヤ７２が配置されること
（２）ＨＷレイヤ７２において、ウィンドウ８１２の配置位置と対応する位置に、ウィンドウ８２２〜８２４が配置されていること
（３）ウィンドウ８２２〜８２４より、ウィンドウ８１２の表示優先度が高いこと
などについてウィンドウ配置情報に基づき、透過ウィンドウの生成の要否を判断する。
【００３８】
すなわち、下位レイヤであるＨＷレイヤ７１上にウィンドウがある場合は、当該ウィンドウを透過表示させるために上位レイヤであるＨＷレイヤ７２上に透過ウィンドウを生成する。また、ＨＷレイヤ７１上のウィンドウと、ＨＷレイヤ７２上のウィンドウが互いに重複し、かつＨＷレイヤ７１のウィンドウの優先度がＨＷレイヤ２のウィンドウの優先度より高い場合、同じく、ＨＷレイヤ７１上のウィンドウを透過表示するための透過ウィンドウをＨＷレイヤ２に生成する。ここでは、ウィンドウ８１１とウィンドウ８２１は互いに重複する。しかし、ウィンドウ８１１の優先度がウィンドウ８１１の優先度より高い。したがって、透過ウィンドウは生成されない。また、ウィンドウ８１２のＨＷレイヤ７２のウィンドウと、ＨＷレイヤ７１のウィンドウとが互いに重複している。そして、ＨＷレイヤ７１のウィンドウ８１２の表示優先度が、ＨＷレイヤ７２のウィンドウ８２２〜８２４の優先度より高い。このため、ＨＷレイヤ７２に透過ウィンドウを生成すると判断する。こうして、ＨＷレイヤ７２のウィンドウ８１２の位置に、透過ウィンドウ８２５を生成する（ステップＳ６）。
【００３９】
次に、ＡＰＭマスタ２２は、配置情報を基にウィンドウの再配置を行う。ここで、ウィンドウ８１２の表示優先度が高くかつウィンドウ８１２と重複する位置にウィンドウ８２２〜８２４が存在する。このため、これらのウィンドウに優先して透過ウィンドウ８２５が配置される（ステップＳ７）。なお、例えば、ウィンドウ８２２より優先度が低くウィンドウ８２３より優先度が高いような場合は、ウィンドウ８１２は、ウィンドウ８２３の上であって、ウィンドウ８２２の下に配置されるため、透過ウィンドウは生成されない。
【００４０】
また、スレーブＡＰＭ１２に対し、ウィンドウ配置情報が送られ、これに基づきウィンドウの再配置要求が行われる。本例においては、ＨＷレイヤ７１で重複するウィンドウはなく、ウィンドウ８１１に新しいウィンドウ８１２を並べて配置するようなウィンドウ配置命令を生成すればよい。スレーブＡＰＭ１２はこの再配置要求に従って描画システム１０１にウィンドウの再配置を要求する（ステップＳ９）。描画システム１０１は、この再配置要求に応じて必要であればウィンドウの再配置を行う。最後に、スレーブＡＰＭ１２は、描画システム１０１にＨＷレイヤ７１にウィンドウ８１２を含むＨＷレイヤ７１のウィンドウを表示するよう指示する（ステップＳ１０）。同様にマスタＡＰＭ２２は描画システム２０１に透過ウィンドウ８２５を含むＨＷレイヤ７２のウィンドウを表示するよう指示する（ステップＳ１１）。マスタＡＰＭ２２、スレーブＡＰＭ１２の配置命令に従って生成されたＨＷレイヤ７１、７２をＬＣＤコントローラにより合成するとＬＣＤ表示画面４１となる。このＬＣＤ表示画面４１には、ウィンドウ８２１、ウィンドウ８２２と、ウィンドウ８２２内に透過ウィンドウを介してウィンドウ８１２が表示されることになる（図４参照）。
【００４１】
マスタＡＰＭ２２は、任意のＯＳ上でＧＵＩアプリケーションが起動した場合やタッチパネルイベント等によりウィンドウのフォーカス情報が移動する場合、ウィンドウの配置情報や優先度情報を更新し、全ＯＳの描画システム１０１、２０１にウィンドウの配置命令を出すことができる。ＡＰＭから配置命令を受けた描画システム１０１、２０１は、描画システム内での重ね合わせを考慮した上で、関連するウィンドウの再表示処理を行う。ここで、描画システムによっては、ウィンドウの再表示処理として、透過ウィンドウに対しての処理も含まれる。また本実施の形態では、ＶＲＡＭ内のデータをビット単位で操作することにより、透過率制御を行う。これにより、複数のウィンドウを有する描画システムに対して、複数ＯＳ、複数描画システム間で協調的に重ね合わせ制御を行うことができる。透過率制御は、ＡＰＭ１０１、２０１で管理する配置情報を基に計算を行い、透過ウィンドウを生成及び表示指示を行う。
【００４２】
次に、ＬＣＤが複数ある場合について説明する。図５は、ＬＣＤが複数ある場合のＨＷレイヤの割り当てを説明するための図である。ここでは、フロントモニタとして、ＬＣＤ３１、ＬＣＤ３２、リアモニタとしてＬＣＤ３３が設けられている例を示す。画像表示装置は、３つの描画システムＤ１〜Ｄ３を有する。例えば描画システムＤ１、Ｄ２は、ＯＳ１上で動作し、描画システムＤ３は、ＯＳ２上で動作するものとする。描画システムＤ１がＶＲＡＭ５１に割り当てられたＨＷレイヤ７１にウィンドウ１１１１描画する。描画システムＤ２がＶＲＡＭ５１に割り当てられたＨＷレイヤ７２にウィンドウ１１２１、１１２２を描画し、同じくＶＲＡＭ５１に割り当てられたＨＷレイヤ７３にウィンドウ１１３１を描画する。描画システムＤ３がＶＲＡＭ５３に割り当てられたＨＷレイヤ７４にウィンドウ１１４１描画するものとする。
【００４３】
ＬＣＤコントローラは、ＨＷレイヤ７２とＨＷレイヤ７４を合成した合成画面（優先度：ウィンドウ１１２１＞ウィンドウ１１４１＞ウィンドウ１１２２）を生成し、ＬＣＤ３１に表示させる。また、ＬＣＤコントローラは、ＨＷレイヤ７１とＨＷレイヤ７３を合成した合成画面（優先度：ウィンドウ１１３１＞ウィンドウ１１１１）を生成し、ＬＣＤ３２に表示させる。さらに、ＬＣＤコントローラは、ＨＷレイヤ７３をＬＣＤ３３に表示させる。ここで、ＶＲＡＭ５２は、２つのＨＷレイヤに割り当てられている。ＡＰＭマスタは、この座標割り当て情報を保有する。座標割り当て情報は、ＨＷレイヤ７２、ＨＷレイヤ７３がＶＲＡＭのどの領域に割り当てられているかを示す情報である。ここでは、ＨＷレイヤ７２は、（ｘ，ｙ）＝（０，０）（幅５１２、高さ２４０）となっており、ＨＷレイヤ７３は、（ｘ，ｙ）＝（５１２，０）（幅５１２、高さ２４０）となっている。ＡＰＭマスタが座標割り当て情報を管理することで、ＶＲＡＭ５２に対し、複数のＨＷレイヤを割り当てることができる。
【００４４】
次に、透過ウィンドウの生成処理について更に具体的に説明する。ＡＰＭは、透過ウィンドウが他ＯＳ側で動作するウィンドウの座標情報や優先度に同期した動作が行えるように、各描画システムに対して調停指示を行う。このことにより、たとえば、一方のＯＳ側で動作する２つのウィンドウの間に、他方のＯＳで動作するウィンドウを挟むことが可能になる。
【００４５】
図６は、２つのウィンドウで、他のＨＷレイヤのウィンドウを挟みこんだ場合を示す図である。ＨＷレイヤ７１はＨＷレイヤ７２よりも表示順序が上であるものとする。ＨＷレイヤ７１には、優先度が１０のＡＰ１０２によるウィンドウ９１１と、優先度が３のＡＰ１０３によるウィンドウ９１２が描画されている。ＨＷレイヤ７２には、優先度が５のＡＰ２０２によるウィンドウ９２１が描画されている。
【００４６】
上述したように、ＡＰＭ２２は、各ウィンドウ配置情報を把握し、逐次更新し、更新すると当該ウィンドウ配置情報をスレーブＡＰＭ１２に送る。本例では、このウィンドウ配置情報に基づき、ＡＰＭ１２がＨＷレイヤ７１のウィンドウ９１１とウィンドウ９１２の間に透過ウィンドウ９１５を生成する。この透過ウィンドウ９１５は、ウィンドウ９１２の上であって、ウィンドウ９１１の下となるように生成される。このように、マスタＡＰＭ２２からのウィンドウ配置情報に基づき、スレーブＡＰＭ１２が、適切な位置に透過ウィンドウを生成することも可能である。これらのＨＷレイヤは、ＬＣＤコントローラによって合成されると、ウィンドウ９１１と９１２の間にウィンドウ９２１が表示された表示画面４１が生成される。なお、複数のＨＷレイヤで同一の優先度のウィンドウが重なって存在する場合は、例えば、先に表示されているウィンドウより、新しく表示されることになるウィンドウを上に表示するものとすればよい。
【００４７】
次に、ウィンドウの再表示処理の具体例として、
（１）新規にウィンドウを生成した場合の処理
（２）後方にあるＧＵＩアプリケーションが、最前面表示になったことによる再表示処理、例えば、ウィンドウ枠の強調表示（フォーカスを意味する）状態の変更による再表示処理
について説明する。図７は、新規にウィンドウが生成された場合の表示制御を説明する図、図８は、各ウィンドウの優先度が変更した場合の表示制御を説明する図である。以下では、ＨＷレイヤ７１がＨＷレイヤ７２より表示順序が上である場合について説明する。
【００４８】
先ず、新規にウィンドウが生成される場合について説明する。図７に示すように、ＨＷレイヤ７１に、ウィンドウ１０１１、ウィンドウ１０１２が表示されている（図７（ａ））。また、ＨＷレイヤ７２にウィンドウ７２１が表示されている（図７（ｄ））。ウィンドウ優先順位は、ウィンドウ１０１１＞ウィンドウ１０２１＞ウィンドウ１０１２となっている。この場合、ＨＷレイヤ７１には、ＡＰＭ２１によりウィンドウ１０２１を透過するための透過ウィンドウ１０１５が形成される。このＨＷレイヤ７１、７２をＬＣＤコントローラが合成すると図７（ｇ）に示すように、透過ウィンドウ１０１５を介してウィンドウ１０１２の上にウィンドウ１０２１が表示された画面が生成される。
【００４９】
次に、ＨＷレイヤ７２にＡＰによりウィンドウ７２２が新たに生成されたとする（図７（ｅ））。ウィンドウ１０１１＞ウィンドウ１０２２＞ウィンドウ１０２１＞ウィンドウ１０１２とする。このとき、ＨＷレイヤ７１をそのままとする。こうすると、合成された表示画面４１は、図７（ｈ）に示すように、透過ウィンドウ１０１５のみ形成されているため、ウィンドウ１０２２の一部（ウィンドウ１０２１上の部分）のみしか表示されない。
【００５０】
これに対し、ＡＰＭ２２からＡＰＭ１２に対し、ウィンドウ１０２２を含むウィンドウ配置情報が転送されると、ＡＰＭ１２は、ＨＷレイヤ７１に、ウィンドウ１０２２用の透過ウィンドウ１０２２を形成する（図７（ｃ））。これがＬＣＤコントローラによりＨＷレイヤ７２（図７（ｆ））と合成されると、ウィンドウ１０１１と１０２１の間に、ウィンドウ１０２２が表示された画面が生成される（図７（ｉ））。
【００５１】
次に、ウィンドウ１０１１＞ウィンドウ１０２２＞ウィンドウ１０２１＞ウィンドウ１０１２から、ウィンドウ１０２１＞ウィンドウ１０２２＞ウィンドウ１０１１＞ウィンドウ１０１２に変更になった場合について説明する。最初の状態では、ＨＷレイヤ７１に、ウィンドウ１０１１、１０１２と、透過ウィンドウ１０１５、１０１６が形成されている（図８（ａ））。ＨＷレイヤ７２にはウィンドウ１０２１、１０２２が形成されている（図８（ｂ））。これらＨＷレイヤをＬＣＤコントローラにより合成すると、上記の優先順位通りにウィンドウが表示された画面が生成される(図８（ｇ）)。ここで、ウィンドウ表示の優先順位をウィンドウ１０２１＞ウィンドウ１０２２＞ウィンドウ１０１１＞ウィンドウ１０１２に変更する。このとき、ＨＷレイヤ７１の表示がそのままで(図８（ｂ）)、ＨＷレイヤ７２の優先順位のみが変更されると（図８（ｅ））、ウィンドウが優先順位と異なる表示順序となってしまう（図８（ｈ））。これに対し、ＨＷレイヤ７１に、ウィンドウ表示優先順序に従って透過ウィンドウ１０１５、１０１６が形成されると（図８（ｃ））、合成画面には、上記優先度順のウィンドウ生成が行われる（図８（ｉ））。
【００５２】
なお、上記の処理で発生するＡＰＭ間通信は、ＧＵＩアプリケーション又はウィンドウの起動／終了、表示／非表示、優先度変更等の情報のみであり、システムに対して通信負荷をかけない。さらに重ね合わせ処理にために、透過ウィンドウの一部を非透過にする仕組みは、各システム構成やパフォーマンス等のシステムの状況によって、ＡＰＭ側に持たせるか描画システム側にもたせるかを選択すればよい。
【００５３】
また、個々のＡＰＭは、内部にＯＳや描画システムの差異を吸収する機能を有するものとする。これにより、ＡＰＭ間の協調動作を効率的に行うことができる。ここで、システム間の差異とは、ＯＳや描画システムが持つスケジューリング方法やシステムコール（サービスコール）等の差異に加え、透過ウィンドウ機能をＡＰＭが有する場合と描画システムが有する場合との差異も含むものとする。
【００５４】
さらに、本実施の形態においては、一のディスプレイにウィンドウ表示をする場合について説明するが、複数共有ディスプレイの場合でも適用可能である。例えば、一方のＬＣＤにＯＳ＿ＡとＯＳ＿Ｂ、他方のＬＣＤにＯＳ＿ＢとＯＳ＿Ｃが割り当てられている場合、ＯＳ＿Ｂに搭載されたウィンドウシステムは、仮想論理空間を２つに分割し、１つを一方のＬＣＤに、他方を他方のＬＣＤに割り当てる等すればよい。
【００５５】
本実施の形態においては、複数ＯＳ、複数描画システムから共有されるディスプレイを有するシステムで、ウィンドウ単位での重ね合わせ制御（Ｚ軸制御）を行うことができる。また、システムを使用するユーザが、複数のＯＳであることを意識せずにウィンドウ制御を行うことができる。さらに、全ての描画システムでウィンドウシステムを導入した場合、同時に扱えるウィンドウの数の制限をなくすことが可能になる。さらにまた、各処理部間の通信（ＡＰＭ間の通信）は、基本的にアプリケーション（ウィンドウ）の起動／終了、表示／非表示、優先度変更等の情報のみであり、システムに通信負荷をかけない。また、少ないＨＷレイヤでのウィンドウ重ね合わせ表示を可能とするため、コストを低減することができる。
【００５６】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００５７】
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵにコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態にかかる画像表示装置を示す概略図である。
【図２】本発明の実施の形態にかかる画像表示装置の詳細を示す図である。
【図３】本発明の実施の形態における画像表示装置の動作を示すシーケンス図である。
【図４】本発明の実施の形態にかかる画像表示装置のウィンドウ制御方法を説明するための図である。
【図５】ＬＣＤが複数ある場合のＨＷレイヤの割り当てを説明するための図である。
【図６】２つのウィンドウで、他のＨＷレイヤのウィンドウを挟みこんで表示する場合を示す図である。
【図７】新規にウィンドウが生成された場合の表示制御を説明する図、
【図８】各ウィンドウの優先度が変更した場合の表示制御を説明する図である。
【符号の説明】
【００５９】
１、２  処理部
３  ＬＣＤＣ
４  ＬＣＤ
５  ＳＤＲＡＭ
６  ＭＰＵ
７、７１、７２  ＨＷレイヤ
１０、２０  ウィンドウ生成部
１１、２１  ＯＳ
１２、２２  ＡＰＭ
１０１、２０１  描画システム
１０２、１０３、２０２、２０３  ＧＵＩアプリケーション
４１  表示画面
７１、７２、  ＨＷレイヤ
１００  画像表示装置
１２１  情報取得部
１２２  命令生成部
７１１、７１２、７２１、７２２、８１１、８１２、８２１−８２５、９１１、９１２、９２１、１０１１、１０１２、１０１５、１０２１、１０２２  ウィンドウ
【図１】
0005045428.tif 000002
【図２】
0005045428.tif 000003
【図３】
0005045428.tif 000004
【図４】
0005045428.tif 000005
【図５】
0005045428.tif 000006
【図６】
0005045428.tif 000007
【図７】
0005045428.tif 000008
【図８】
0005045428.tif 000009