(57)【要約】【課題】マルチウィンドウシステムにおいて、ウィンドウの移動やリサイズといったウィンドウ操作行為や、ウィンドウ画像の輝度の低下や透視化を行ったウィンドウを表示・操作する際、ＣＰＵの負荷が大きくなるため画面が固まったり、ユーザにとって不愉快なちらつきの表示を行うことがある。またこれを防ぐ技術では、多量のウィンドウを表示可能にするためのハードウェア量の増加がコストの観点からも問題となっている。【解決手段】マルチウィンドウ画像を、ウィンドウの操作の対象となるウィンドウ画像と、それ以外のウィンドウで構成されるマルチウィンドウ画像、及び、背景画像とに分類してそれぞれ独立した画像格納部にそれぞれ分類し、順次読み出されたそれぞれの画像情報を、表示制御部により必要な画像情報を選択あるいは演算しながら表示部へ出力する部を設けることにより、ウィンドウ操作やウィンドウの透視化及び輝度の低下処理に伴うＣＰＵに対する負荷量を軽減でき、また、ハードウェア量を一定にすることができる。【選択図】図１
2006227555.tif 000002
【特許請求の範囲】
【請求項１】
文字や画像のウィンドウをマルチウィンドウ表示するマルチウィンドウ表示装置であって、表示部に画像を表示するために必要な背景ウィンドウの原画像と各ウィンドウの原画像（１又は２以上の）を格納する原画像格納部と、それぞれ独立に設けられた画像格納部Ａ、Ｂ、Ｃと、前記画像格納部Ａ、Ｂに対応してそれぞれ独立に設けられたウィンドウ情報格納部Ａ、Ｂと、ウィンドウ管理部と、表示制御部と表示部を有し、
ウィンドウ管理部によって、
・画像格納部Ａには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Ｂには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、原画像格納部より取り出して表示部で表示したい表示優先順位及び位置関係で重ね合わせてできる画像を格納し、
・画像格納部Ｃには、背景ウィンドウ画像の原画像を原画像格納部より取り出し格納し、
・ウィンドウ情報格納部Ａには、前記画像格納部Ａに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Ｂには、前記画像格納部Ｂに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
表示制御部によって画像格納部Ａ、Ｂ、Ｃから同時に読み出されたそれぞれの画素を、同様にウィンドウ情報格納部Ａ、Ｂから同時に読み出された情報を基に画素を生成し、これを繰り返し行うことにより表示部へ所定の画像を表示するマルチウィンドウ表示装置。
【請求項２】
前記マルチウィンドウ表示装置の表示制御部は、２入力演算部Ｘ、Ｙと、前記画像格納部Ａ及びＢの画像の透視化を行うか否かの情報を格納する透視フラグ格納部Ａ、Ｂと、前記ウィンドウ管理部により、ウィンドウ情報格納部Ａ、Ｂに格納された前記ウィンドウ情報に対し１対１に対応した０以上１以下の変化率αを格納する変化率格納部を有し、
２入力演算部Ｘは画像格納部Ｂ及びＣの画素の色情報であるＲ、Ｇ、Ｂそれぞれの要素を入力とし、ウィンドウ情報格納部Ｂのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Ａの値により演算方法を制御し、
２入力演算部Ｙは画像格納部Ａ及び２入力演算部Ｘの出力画素の色情報であるＲ、Ｇ、Ｂそれぞれの要素を入力とし、ウィンドウ情報格納部Ａのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Ｂの値により演算方法を制御し、
２入力演算部Ｙの出力を行う表示制御部を備える請求項１記載のマルチウィンドウ表示装置。
【請求項３】
前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部Ａ、Ｂの値が共に透視化しない値の場合、
２入力演算部Ｘでは、ウィンドウ情報格納部Ｂの前記ウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ｂからの画素）×０＋（画像格納部Ｃからの画素）×１
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ｂからの画素）×１＋（画像格納部Ｃからの画素）×０
に相当する値を出力するよう制御を行う機能を有し、また、
２入力演算部Ｙでは、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ａからの画素）×０＋（２入力演算部Ｘの出力からの画素）×１
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ａからの画素）×１＋（２入力演算部Ｘの出力からの画素）×０
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項２に記載のマルチウィンドウ表示装置。
【請求項４】
前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部Ａ、Ｂの値が共に透視化しない値の場合では、前記変化率格納部によって導出される変化率αを用いて、
２入力演算部Ｘでは、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ｂからの画素）×０＋（画像格納部Ｃからの画素）×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ｂからの画素）×α＋（画像格納部Ｃからの画素）×０
に相当する値を出力するよう制御を行う機能を有し、また、
２入力演算部Ｙでは、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ａからの画素）×０＋（２入力演算部Ｘの出力からの画素）×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ａからの画素）×α＋（２入力演算部Ｘの出力からの画素）×０
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項２に記載のマルチウィンドウ表示装置。
【請求項５】
前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部Ａ、Ｂの値の少なくとも一方が透視化する値の場合、前記変化率格納部によって導出される変化率αを用いて、透視フラグ格納部Ａが透視化する値である場合には、
２入力演算部Ｘでは、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ｂからの画素）×０＋（画像格納部Ｃからの画素）×１
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ｂからの画素）×α＋（画像格納部Ｃからの画素）×（１−α）
に相当する値を出力するよう制御を行う機能を有し、
また、透視フラグＢが透視化する値である場合には、
２入力演算部Ｙでは、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ａからの画素）×０＋（２入力演算部Ｘの出力からの画素）×１
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ａからの画素）×α＋（２入力演算部Ｘの出力からの画素）×（１−α）
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項２に記載のマルチウィンドウ表示装置。
【請求項６】
文字や画像のウィンドウをマルチウィンドウ表示するマルチウィンドウ画像の管理方法であって、表示部に画像を表示するために必要な背景ウィンドウの原画像と各ウィンドウの原画像（１又は２以上の）を格納する原画像格納部から、それぞれ独立に設けられた画像格納部Ａ、Ｂ、Ｃに対して、
・画像格納部Ａには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Ｂには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、表示部で表示したい表示優先順位及び位置関係で原画像格納部より取り出して重ね合わせてできる画像を格納し、
・原画像格納部Ｃには、背景ウィンドウ画像の原画像を原画像格納部により取り出し格納し、
また、それぞれ独立に設けられたウィンドウ情報格納部Ａ、Ｂに対して、
・ウィンドウ情報格納部Ａには、前記画像格納部Ａに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Ｂには、前記画像格納部Ｂに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納することを特徴とするマルチウィンドウ画像管理方法。
【請求項７】
前記ウィンドウ情報格納部Ａ及びウィンドウ情報格納部Ｂに格納される前記ウィンドウ情報には、ウィンドウが存在する領域にはそのウィンドウ固有の値を格納し、また存在しない領域には存在しないことを示す値あるいは背景ウィンドウ固有の値を格納することを特徴とする請求項１又は２又は３又は４又は５又は６に記載のマルチウィンドウ表示装置。
【請求項８】
前記請求項６のマルチウィンドウ画像管理方法は、
操作の対象となるウィンドウが変更される際の画像格納部Ａへ格納する画像を、原画像格納部の他に、画像格納部Ｂに格納されているウィンドウの画像から必要な領域を転送することによって得ることを特徴とする請求項６に記載のマルチウィンドウ画像管理方法。
【請求項９】
前記請求項６のマルチウィンドウ画像管理方法は、
操作の対象となるウィンドウが変更される際の画像格納部Ｂへ格納する画像を、原画像格納部の他に、画像格納部Ａに格納されているウィンドウの画像を転送することによって得ることを特徴とする請求項６に記載のマルチウィンドウ画像管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】本発明は、表示装置の画面上に複数のウィンドウを同時に表示するマルチウィンドウ表示装置及びマルチウィンドウ画像管理方法に関するものである。
【背景技術】
【０００２】マルチウィンドウ表示装置はパーソナルコンピュータやワークステーション等の機器に適用されている。これらの機器では、様々なアプリケーションソフトを起動しても、それぞれのウィンドウを重ね合わせて表示を行うことができるため、複数のソフトを同時に起動して作業を行う必要のあるユーザにとって有用な装置である。【０００３】しかし、画面上に多数のウィンドウを同時に表示した状況でウィンドウの移動やリサイズ、スクロール操作といったウィンドウ操作、エディット操作等を進めると、操作の対象となるウィンドウ（以下、操作対象ウィンドウ）の識別性が低下してしまったり、壁紙に配置されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）アイコンが認識できなくなるといった問題が生じている。【０００４】前者の問題は、操作の対象となるウィンドウの輝度がその周辺に表示されているウィンドウの輝度に比して低い場合特に顕著になり、この問題を解消する１つの方法として、ウィンドウの輝度を低下する方法が提案され（例えば特許文献１）、後者の問題を解消する方法として、ウィンドウを透視化する方法が提案されている（例えば特許文献２）。しかし、これらの手法はそれぞれ独立した装置であり、ウィンドウ画像の輝度の低下と透視化を併用することは困難である。また、これらの装置におけるマルチウィンドウ画像の管理方法は、各ウィンドウをそれぞれ独立したメモリ及びメモリ空間を利用しているため、中央演算装置（ＣＰＵ）に多大な負担を強いており、また表示するウィンドウの枚数の増加により、独立したメモリをウィンドウの枚数分用意する必要がある。
【特許文献１】特開２００１−１４７７６０号公報
【特許文献２】特開平７−３１９６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】従来技術では、輝度の低下や透視化を行ったウィンドウをマルチウィンドウ表示する際、ＣＰＵへの負荷が高くなるため、ＣＰＵの使用率の高いソフトウェアを実行中にこれらの表示を行おうとしたときに、画面が固まってしまったり、ユーザにとって不愉快なちらつきを表示してしまう。また、これらのウィンドウを移動・リサイズといったウィンドウ操作を行う際にも同じ不具合を生じてしまう。特に、ウィンドウが動画像を表示している場合には、ＣＰＵの負荷が非常に高くなっているため、このウィンドウに対する輝度の低下や透視化を行うことは困難である。【０００６】さらに、多量のウィンドウを表示可能なマルチウィンドウシステムにおいては、ハードウェア量の増加はコストの観点からも問題である。
【課題を解決するための手段】
【０００７】そこで、この発明の主たる目的は、上述の課題の少なくとも一部を解決するため、輝度の低下や透視化を行ったウィンドウをマルチウィンドウ表示する際のＣＰＵへの負荷を極力与えず、ＣＰＵの使用率によらずスムーズな表示ができ、かつ、表示するウィンドウ枚数によるハードウェア量の増加を抑えるマルチウィンドウ表示装置及びマルチウィンドウ画像管理方法を提供することを要旨とする。【０００８】請求項１の発明は、文字や画像のウィンドウをマルチウィンドウ表示するマルチウィンドウ表示装置であって、表示部に画像を表示するために必要な背景ウィンドウの原画像と各ウィンドウの原画像（１又は２以上の）を格納する原画像格納部と、それぞれ独立に設けられた画像格納部Ａ、Ｂ、Ｃと、前記画像格納部Ａ、Ｂに対応してそれぞれ独立に設けられたウィンドウ情報格納部Ａ、Ｂと、ウィンドウ管理部と、表示制御部と表示部を有し、ウィンドウ管理部によって、
・画像格納部Ａには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Ｂには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、原画像格納部より取り出して表示部で表示したい表示優先順位及び位置関係で重ね合わせてできる画像を格納し、
・画像格納部Ｃには、背景ウィンドウ画像の原画像を原画像格納部より取り出し格納し、
・ウィンドウ情報格納部Ａには、前記画像格納部Ａに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Ｂには、前記画像格納部Ｂに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
表示制御部によって画像格納部Ａ、Ｂ、Ｃから同時に読み出されたそれぞれの画素を、同様にウィンドウ情報格納部Ａ、Ｂから同時に読み出されたウィンドウ情報を基に画素を生成し、これを繰り返し行うことにより表示部へ所定の画像を表示するマルチウィンドウ表示装置である。【０００９】請求項２の発明である、前記マルチウィンドウ表示装置の表示制御部は、２入力演算部Ｘ、Ｙと、前記画像格納部Ａ及びＢの画像の透視化を行うか否かの情報を格納する透視フラグ格納部Ａ、Ｂと、前記ウィンドウ管理部により、ウィンドウ情報格納部Ａ、Ｂに格納された前記ウィンドウ情報に対し１対１に対応した０以上１以下の変化率αを格納する変化率格納部を有し、
２入力演算部Ｘは画像格納部Ｂ及びＣの画素の色情報であるＲ、Ｇ、Ｂそれぞれの要素を入力とし、ウィンドウ情報格納部Ｂのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Ａの値により演算方法を制御し、
２入力演算部Ｙは画像格納部Ａ及び２入力演算部Ｘの出力画素の色情報であるＲ、Ｇ、Ｂそれぞれの要素を入力とし、ウィンドウ情報格納部Ａのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Ｂの値により演算方法を制御し、
２入力演算部Ｙの出力を行う表示制御部を備える請求項１記載のマルチウィンドウ表示装置である。【００１０】請求項３の発明である、前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部Ａ、Ｂの値が共に透視化しない値の場合、
２入力演算部Ｘでは、ウィンドウ情報格納部Ｂの前記ウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ｂからの画素）×０＋（画像格納部Ｃからの画素）×１
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ｂからの画素）×１＋（画像格納部Ｃからの画素）×０
に相当する値を出力するよう制御を行う機能を有し、また、
２入力演算部Ｙでは、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ａからの画素）×０＋（２入力演算部Ｘの出力からの画素）×１
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ａからの画素）×１＋（２入力演算部Ｘの出力からの画素）×０
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項２に記載のマルチウィンドウ表示装置である。【００１１】請求項４の発明である、前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部Ａ、Ｂの値が共に透視化しない値の場合では、前記変化率格納部によって導出される変化率αを用いて、
２入力演算部Ｘでは、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ｂからの画素）×０＋（画像格納部Ｃからの画素）×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ｂからの画素）×α＋（画像格納部Ｃからの画素）×０
に相当する値を出力するよう制御を行う機能を有し、また、
２入力演算部Ｙでは、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ａからの画素）×０＋（２入力演算部Ｘの出力からの画素）×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ａからの画素）×α＋（２入力演算部Ｘの出力からの画素）×０
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項２に記載のマルチウィンドウ表示装置である。【００１２】請求項５の発明である、前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部Ａ、Ｂの値の少なくとも一方が透視化する値の場合、前記変化率格納部によって導出される変化率αを用いて、透視フラグ格納部Ａが透視化する値である場合には、
２入力演算部Ｘでは、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ｂからの画素）×０＋（画像格納部Ｃからの画素）×１
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ｂのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ｂからの画素）×α＋（画像格納部Ｃからの画素）×（１−α）
に相当する値を出力するよう制御を行う機能を有し、
また、透視フラグＢが透視化する値である場合には、
２入力演算部Ｙでは、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
（画像格納部Ａからの画素）×０＋（２入力演算部Ｘの出力からの画素）×１
に相当する値を出力するよう制御し、ウィンドウ情報格納部Ａのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
（画像格納部Ａからの画素）×α＋（２入力演算部Ｘの出力からの画素）×（１−α）
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項２に記載のマルチウィンドウ表示装置である。【００１３】請求項６の発明は、文字や画像のウィンドウをマルチウィンドウ表示するマルチウィンドウ画像の管理方法であって、表示部に画像を表示するために必要な背景ウィンドウの原画像と各ウィンドウの原画像（１又は２以上の）を格納する原画像格納部から、それぞれ独立に設けられた画像格納部Ａ、Ｂ、Ｃに対して、
・画像格納部Ａには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Ｂには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、表示部で表示したい表示優先順位及び位置関係で原画像格納部より取り出して重ね合わせてできる画像を格納し、
・原画像格納部Ｃには、背景ウィンドウ画像の原画像を原画像格納部により取り出し格納し、
また、それぞれ独立に設けられたウィンドウ情報格納部Ａ、Ｂに対して、
・ウィンドウ情報格納部Ａには、前記画像格納部Ａに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Ｂには、前記画像格納部Ｂに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納することを特徴とするマルチウィンドウ画像管理方法である。【００１４】請求項７の発明である、前記ウィンドウ情報格納部Ａ及びウィンドウ情報格納部Ｂに格納される前記ウィンドウ情報には、ウィンドウが存在する領域にはそのウィンドウ固有の値を格納し、また存在しない領域には存在しないことを示す値あるいは背景ウィンドウ固有の値を格納することを特徴とする請求項１又は２又は３又は４又は５又は６に記載のマルチウィンドウ表示装置である。【００１５】請求項８の発明である、前記請求項６のマルチウィンドウ画像管理方法は、
操作の対象となるウィンドウが変更される際の画像格納部Ａへ格納する画像を、原画像格納部の他に、画像格納部Ｂに格納されているウィンドウの画像から必要な領域を転送することによって得ることを特徴とする請求項６に記載のマルチウィンドウ画像管理方法である。【００１６】請求項９の発明である、前記請求項６のマルチウィンドウ画像管理方法は、
操作の対象となるウィンドウが変更される際の画像格納部Ｂへ格納する画像を、原画像格納部の他に、画像格納部Ａに格納されているウィンドウの画像を転送することによって得ることを特徴とする請求項６に記載のマルチウィンドウ画像管理方法である。【００１７】前述のユーザの操作とは、マウスのようなポインティングデバイス（入力装置）によって、例えばウィンドウの生成や消去、移動やリサイズ、スクロールやパニングを行う行為を言うがこの限りではない。また、入力装置もこの限りではない。【００１８】また、前述の背景ウィンドウとは、表示部のバックグラウンドとして表示する背景画像のことであり、ここではこの背景画像を表示部の解像度と同じ大きさであり、かつ、表示優先順位を最下位に固定とするウィンドウの１つである。【００１９】さらに、前述のウィンドウの原画像とは、他のウィンドウに全く隠されていない当該ウィンドウを表示するために必要なすべての画像を含んだ画像のことである。ただし、ウィンドウのフレーム部、及びボタンといった非クライアント領域の画像は含んでいても含んでいなくても良い。【００２０】本発明におけるマルチウィンドウ画像の透視化は、操作の対象としているウィンドウと操作の対象としていないウィンドウで構成されるマルチウィンドウ、操作の対象としているウィンドウと背景ウィンドウ、及び、操作の対象としていないウィンドウで構成されるマルチウィンドウと背景画像との間に対する透視化を考慮したものであり、操作の対象としていない任意のウィンドウ間での透視化は考慮していない。
【発明の効果】
【００２１】請求項１記載の発明によれば、マルチウィンドウ表示装置は各ウィンドウ画像の輝度の低下及び透視化の実行をすべて表示制御部において１画素ずつ構成を行うため、この処理に対するＣＰＵへの依存が極めて少なくなる。よってこの表示制御部を１つのハードウェアとして構成を行えば、ＣＰＵへの負荷が高い状態においてもスムーズにこれらの処理を実行できるという利点がある。これにより、動画像ウィンドウに対する輝度の低下や透視化もＣＰＵへの負荷を極力低減して実行可能となるという利点を持つ。【００２２】また、請求項２及び３及び４及び５記載の発明によれば、マルチウィンドウ表示装置は各ウィンドウ画像の輝度の低下及び透視化の変化は、透視フラグ格納部、変化率格納部の値を変更するだけで所望の動作を行うことができるため、これに伴うＣＰＵの処理量は非常に少なくなり、それぞれの動作を高速に実行し得るという利点を持つ。【００２３】さらに、請求項６記載の発明によれば、請求項１記載の発明によるマルチウィンドウ表示装置のそれぞれの画像格納部Ａ、Ｂ、Ｃ及びウィンドウ情報格納部Ａ、Ｂへ適切な画像及びウィンドウ情報を格納することができるようになり、表示するウィンドウ枚数に関わらず、一定のハードウェア量でこれらのマルチウィンドウ画像を表示することができるという利点を持つ。【００２４】請求項７記載の発明によれば、表示するウィンドウ１つ１つに固有のウィンドウ情報を持たせることにより、輝度の低下率や透視化率を個々のウィンドウ毎に設定できるようになり、バリエーションに富んだ画面表示を構成できるようになるという利点を持つ。【００２５】また、請求項８及び９記載の発明によれば、操作の対象となるウィンドウが変更になる際、必要な画像の大部分をメモリ間によるデータ転送によって得ることができるようになり、ユーザのウィンドウ操作に対する応答を高速に行えるという利点を持つ。
【発明を実施するための最良の形態】
【００２６】以下、図面を参照して本発明の実施例を具体的に説明する。尚、図面中における各要素の名称は請求項記載の名称と統一している。また、本実施例では説明の理解を深めるために表示部にはラスタ走査により画面表示を行うＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）を用いている。
【実施例１】
【００２７】図１は、本発明の１実施例である。図１では、Ｗ１が操作の対象となるウィンドウ（以下、ＴＷ）であり、Ｗ２とＷ３が操作の対象ではないウィンドウ（以下、ＮＷ）を構成する。【００２８】原画像格納部１０は、マルチウィンドウ表示を行うためにオペレーティングシステム（ＯＳ）やウィンドウマネージャなどが管理する、それぞれのウィンドウの元となる画像を格納する部であり、本実例では、ハードディスク上や主記憶上に存在するが、この限りではない。【００２９】ウィンドウ管理部１１は、
・原画像格納部１０から必要に応じて画像格納部Ａ（１２Ａ）、Ｂ（１２Ｂ）、及びＣ（１２Ｃ）へ画像を転送
・ウィンドウ情報格納部Ａ（１３Ａ）、及びＢ（１３Ｂ）へ必要なウィンドウ情報を計算し、書き込み
・１２Ａ、１２Ｂや１３Ａ、１３Ｂを構成するメモリに対してメモリの読み出し開始アドレスの指定
・各ウィンドウの表示優先順位の保持
・ＴＷの変更に伴う処理
・ウィンドウの輝度の低下、透視化に対するレジスタへの処理
等あるがこの限りではなく、ユーザのウィンドウ操作に対する処理を行う機構である。本実例では、このウィンドウ管理部１１はソフトウェアによる処理とハードウェアによる処理を混在させ構成している。このウィンドウ管理部１１においては後に詳述を行う。【００３０】１２Ａはビットマップメモリであり、ユーザの操作の対象としているウィンドウの原画像を原画像格納部１０より取り出し格納を行うためのメモリである。また、１２Ｂも１２Ａと同様のビットマップメモリであり、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、表示部２１で表示したい表示優先順位及び位置関係で原画像格納部１０あるいは１２Ａより取り出して重ね合わせてできる画像を格納するためのメモリである。さらに、画像格納部Ｃ（１２Ｃ）も１２Ａ、１２Ｂと同様のビットマップメモリであり、背景ウィンドウ画像の原画像を原画像格納部１０により取り出し格納するためのメモリである。１２Ａ、１２Ｂ及び１２Ｃのビットマップメモリはいずれも表示部２１の１画面分に対応するアドレス空間を持つ。本実例ではビットマップメモリのアドレス空間は表示部２１の１画面分と同じ大きさにしているが、表示部２１の１画面分以上の大きさのアドレス空間を持つメモリでも構わない。また、これらのメモリの深さ（１画素を構成するビット数）は画像の色の深さと同じで設計しているが、それ以上の深さを持つメモリを用いてもよい。【００３１】また、ウィンドウ情報格納部Ａ（１３Ａ）は、１２Ａに格納された原画像の、ウィンドウが存在する領域にそのウィンドウ固有の値を、また、存在しない領域には存在しないことを示す値（本実例では０にしているが、この限りではない。また、これが請求項記載のウィンドウ情報に当たる）を格納するためのメモリであり、本実例では画像格納部Ａ、Ｂ及びＣに用いたビットマップメモリとおなじビットマップメモリを使用している（本発明では、メモリの深さが表示可能なウィンドウ枚数になるため、できるだけ深さのあるメモリを用いるのが望ましい）。また、ウィンドウ情報格納部Ｂ（１３Ｂ）では、１２Ｂに格納された画像の対応するウィンドウが存在する領域にはそのウィンドウ固有の値を、また、存在しない領域には存在しないことを示す値（本実例では０にしているが、この限りではない。また、これが請求項記載のウィンドウ情報に当たる）を格納するためのメモリである。本実例では１３Ａと同様に、１２Ａ、１２Ｂ及び１２Ｃに用いたビットマップメモリと同じビットマップメモリを使用しているが、できるだけ深さのあるメモリを用いるのが望ましい。【００３２】ここで、１３Ｂに格納されているＮＷで構成されるマルチウィンドウの領域のことを、仮想可視領域と呼ぶ。また以下、表示部２１のラスタ走査に準じて１２Ａ、１２Ｂ及び１２Ｃから読み出される画素情報をそれぞれ画素１４Ａ、画素１４Ｂ及び１４Ｃと記し、また、表示部２１のラスタ走査に準じて１３Ａ及び１３Ｂから読み出されるウィンドウ情報をそれぞれ情報１５Ａ及び情報１５Ｂと記す。【００３３】２入力演算部Ｘ（１６Ａ）及び２入力演算部Ｙ（１６Ｂ）は、それぞれ、ＮＷ及びＴＷの画像に対して透視化を行うための演算回路であり、２−１マルチプレクサ、加算器及び乗算器を主な構成要素としている。選択器１９は２−１マルチプレクサを主な構成要素とした回路である。また、透視フラグ格納部Ａ（１７Ａ）、透視フラグ格納部Ｂ（１７Ｂ）及び変化率格納部１８は、ウィンドウ画像の輝度低下及び透視化を行う際に参照されるレジスタ及びメモリである。本実例では１７Ａ及び１７Ｂは１つのレジスタで構成し、変化率格納部１８は１つのメモリにより構成をしているが、この限りではなく、またこれらは１７Ａ、１７Ｂ及び１８は本来、２入力演算部１６Ａ及び１６Ｂ内部の構成要素であるが、説明上図１の表示制御部２０内部に記している。尚図１中の配線は、１７Ａ、１７Ｂからの出力線は１ｂｉｔ、その他の線はすべて複数ｂｉｔとなる。【００３４】２入力演算部Ｘ（１６Ａ）は表示部２１のラスタ走査に順じて出力される画素１４Ｂ及び１４Ｃを入力とし、情報１５Ｂ、透視フラグ格納部Ａ（１７Ａ）と変化率格納部１８を制御信号とし、画素１４Ｄを出力する。２入力演算部Ｙ（１６Ｂ）は１６Ａと全く同じ回路構成であるが、画素１４Ａと画素１４Ｄを入力とし、情報１５Ｃ、透視フラグ格納部Ｂ（１７Ｂ）及び変化率格納部１８を制御信号とする。【００３５】上述の２入力演算部Ｘ（１６Ａ）、２入力演算部Ｙ（１６Ｂ）、透視フラグ格納部Ａ（１７Ａ）、透視フラグ格納部Ｂ（１７Ｂ）、変化率格納部１８と選択器１９から構成される図１中の一点鎖線で囲まれた構成により表示制御部２０を構成する。【００３６】このとき、選択器１９はＴＷの透視領域を、ＮＷの仮想可視領域との積領域のみに限定して表示を行う際に必要な構成要素であるが、この表示方法を不要とするならば、選択器１９とこれに接続される配線を表示制御部２０から取り除き、２入力演算部Ｙ（１６Ｂ）の制御信号である情報１５Ｃの変わりを情報１５Ａとした構成でもよい。【００３７】表示装置のフレーム周期毎に、画像格納部Ｂ（１２Ｂ）上の画像及び画像格納部Ｃ（１２Ｃ）上の画像は、０番地（画面左上に対応する）から表示装置の走査に同期して、それぞれ、画素１４Ｂ及び画素１４Ｃとして読み出される。これと同様に、ウィンドウ情報格納部Ｂ（１３Ｂ）の情報も０番地から情報１５Ｂとして読み出される。２入力演算部Ｘ（１６Ａ）は各画素毎に画素１４Ｂと画素１４Ｃに対して演算を施し、その結果を画素１４Ｄとして出力する。【００３８】これと同期して、画像格納部Ａ（１２Ａ）上の画像及びウィンドウ情報格納部Ａ（１３Ａ）上の情報も、それぞれ、画素１４Ａ及び情報１５Ａとして読み出される。ただし、これらの読み出し開始アドレスは、ウィンドウ操作にともなう表示画面上でのウィンドウ位置に応じて０番地から移動する。つまり、操作の対象となるウィンドウの移動、リサイズ、スクロール、パニングは１２Ａ及び１３Ａの読み出し開始アドレスの変更によって行われる。２つの情報１５Ａ及び情報１５Ｂは選択器１９により、透視フラグ格納部Ａ（１７Ａ）の情報が１且つ透視フラグ格納部Ｂ（１７Ｂ）の情報が０の場合、情報１５Ａ≠０、且つ、情報１５Ｂ＝０のときγ（γに対応する変化率格納部１８のエントリは常に１）を、それ以外の場合には情報１５Ａを出力情報１５Ｃとし、透視フラグ格納部Ａ（１７Ａ）��び透視フラグ格納部Ｂ（１７Ｂ）の情報が上記以外の場合には情報１５Ａを情報１５Ｃとして出力し、これを制御信号として２入力演算部Ｙ（１６Ｂ）により２入力演算部Ｘ（１６Ａ）と同様の演算を行い、これを表示部２１のラスタ走査に準じて繰り返し行うことにより、マルチウィンドウを合成し表示装置に出力をする。【００３９】図２は、図１の２入力演算部Ｘ（１６Ａ）、及びＹ（１６Ｂ）のハードウェア構造である。図２中の括弧で括られた入力及び透視フラグ格納部Ａ及びＢは、それぞれ、２入力演算部Ｘ（１６Ａ）の場合は上段が、２入力演算部Ｙ（１６Ｂ）の場合には下段の要素が対応していることを示している。変化率格納部１８は図１の変化率格納部１８に対応し、各ウィンドウ（背景ウィンドウも含む）と１対１に対応したエントリを持つメモリである。変化率格納部１８の各エントリには、乗算器１６１Ａに与えられる透視化率あるいは輝度低下率を示す乗率（０より大きく１以下）をＭＳＢが整数部、残りが小数部という形式で格納する。また、２の補数生成器１６４は２の補数を生成する論理回路構成部であり、選択器（１６２Ａ、１６２Ｂ、１６２Ｃ）はいずれも２−１マルチプレクサであり、図２中のこれらの選択器の２つの入力に対して、図中選択器下部の制御信号が０である場合には入力部の０が記された情報を出力として選択し、制御信号が１である場合には入力部の１が記された情報を出力とする回路である。透視フラグ格納部Ａ（１７Ａ）及び透視フラグ格納部Ｂ（１７Ｂ）は、図１の２入力演算部Ｘ（１６Ａ）においては透視フラグ格納部Ａ（１７Ａ）、２入力演算部Ｙ（１６Ｂ）においては透視フラグ格納部Ｂ（１７Ｂ）に対応し、本実例では、透視化を行う場合０、行なわない場合１に設定されるレジスタであるが、格納する値についてはこの限りではない。さらに、乗算器（１６１Ａ、１６１Ｂ）は乗算回路であり、加算器１６３は加算回路である。論理１６７は入力情報の各Ｂｉｔすべてを入力とする論理和回路である。また、論理１６６Ａ、１６６Ｂは論理否定回路であり、論理１６５は論理積回路である。尚図中の配線は、ＭＳＢ線、論理１６７からの出力線、透視フラグ格納部Ａ（１７Ａ）及び透視フラグ格納部Ｂ（１７Ｂ）からの出力線は１ｂｉｔであり、その他の線はすべて複数ｂｉｔとなる。【００４０】マルチウィンドウ画像の透視化は、２入力演算部Ｘ（１６Ａ）、２入力演算部Ｙ（１６Ｂ）内部の乗算器（１６１Ａ、１６１Ｂ）の動作を透視フラグ格納部Ａ（１７Ａ）及び透視フラグ格納部Ｂ（１７Ｂ）の情報により制御することにより４通りに設定でき、ユーザの用途に応じた透視化画面を作成する。透視フラグ格納部Ａ（１７Ａ）及び透視フラグ格納部Ｂ（１７Ｂ）の設定値と実現される透視化機能との関係を表１に示す。【００４１】
【表１】
2006227555.tif 000003
【００４２】透視フラグ格納部Ａ（１７Ａ）及び透視フラグ格納部Ｂ（１７Ｂ）の情報が共に１に設定されている場合、透視化を行わずマルチウィンドウ画像の表示を行う。この時の表示制御部２０の動作を以下に示す。【００４３】表示部２１のラスタ走査に同期して出力される各画素毎に、２入力演算部Ｘ（１６Ａ）においては、情報１５Ｂに基づいて変化率格納部１８から読み出された重みと画素１４Ｂとを乗じることにより、乗算器１６１Ａの出力として生成される。【００４４】この条件により、透視化を行わないとき変化率格納部１８のエントリはすべて１に設定すれば、乗算器１６１Ａの出力は画素１４Ｂそのものとなるが、変化率格納部１８のエントリを１以下に設定すれば、対応したウィンドウの輝度値を低下したウィンドウ画像を出力することになる。したがって、ウィンドウ画像の輝度を低下して表示部２１に出力させたい場合には、透視フラグ格納部Ａ（１７Ａ）及び透視フラグ格納部Ｂ（１７Ｂ）の情報が共に１に設定した上で対応するウィンドウ番号のエントリを１以下の任意の値に設定すればよい。【００４５】これと並行して、透視フラグ格納部Ａ（１７Ａ）は１に設定されているので、選択器１６２Ａからは変化率格納部１８の出力、すなわち、背景ウィンドウ画像の画素がそのまま出力され、乗算器１６１Ｂの出力には、背景画像の画素が出力される。【００４６】この際も同様に背景ウィンドウに対応したエントリを１以下に設定することにより、背景画像の輝度を低下した画像が出力される。そして、選択器１６２Ｂにより、乗算器１６１Ａと乗算器１６１Ｂの出力が情報１５Ｂに基づいて適宜選択・出力され、（任意に輝度の低下を施した）ＮＷ画像が選択器１６２Ｃを介して画素１４Ｄとして出力される。２入力演算部Ｙ（１６Ｂ）の構造は２入力演算部Ｘ（１６Ａ）と全く同様の構造であるが、乗算器１６１Ａの入力は画素１４Ａ、乗算器１６１Ｂの入力は画素１４Ｄ、及び変化率格納部１８へ入力するウィンドウ情報は情報１５Ｃ（選択器１９を除いた表示制御部２０の構成では情報１５Ａ）となる。動作は２入力演算部Ｘ（１６Ａ）と同様であり、この出力を表示部２１へ出力することを表示部２１のラスタ走査に従って順次行うことにより、最終的に表示部２１にはマルチウィンドウ画像を表示することになる。【００４７】画像の透視化は、２入力演算部Ｘ（１６Ａ）においては画素１４Ｂと画素１４Ｃとを加重加算することにより実現する。画素１４Ｂに対する処理は、変化率格納部１８のエントリの内容が、透視化を行う際の重みに変わること以外、上述した輝度低下の場合と同様である。【００４８】これに対して、画素１４Ｃに対する処理は、変化率格納部１８に格納されるＮＷを構成する各ウィンドウに対する重みを用いて画素１４Ｃに対する重みを自動生成する点が異なる。ただし、変化率格納部１８の背景ウィンドウに対するエントリには０を格納する。また、２入力演算部Ｙ（１６Ｂ）においては画像入力が画素１４Ａと画素１４Ｄに変わるのみで動作原理は同様であるのでここでは省略する。【００４９】２入力演算部Ｘ（１６Ａ）において透視化を行う場合、透視フラグ格納部Ａ（１７Ａ）は０に設定されるので選択器１６２Ａは０側の入力が選択・出力される。（情報１５Ｂの値）≠０（画素１４ＢとしてＮＷの画素が選択されている）の場合、変化率格納部１８から出力される重みの小数部のみが２の補数生成器１６４により２の補数表現に変換され、背景画像の重みの小数部となる。このとき、論理和回路１６７（入力数は情報１５Ａ、１５Ｂ及び１５Ｃのビット数と同じ）の出力は１となるのでこの値を論理否定回路１６６Ｂにより出力された値と、変化率格納部１８の最上位ビット（ＭＳＢ）を論理否定回路１６６Ａにより出力された値とを論理積回路１６５を通じることにより背景画像の重みの整数部（ＭＳＢ）は常に０となる。【００５０】この結果、背景ウィンドウの画像の重みは、それとＮＷの重みとの和が常に１となるように決定されることになる。特に、変化率格納部１８の出力が１のとき、背景ウィンドウの画像の重みは、そのＭＳＢが０、小数部も２の補数生成器１６４により０となり、結局０となる。（情報１５Ｂの値）＝０の場合、変化率格納部１８からは０が出力される。このとき論理和回路１６７の出力は０となっているので、背景画像の重みの整数部が１となり、小数部は２の補数生成器１６４により０となる。【００５１】このように本実例では、変化率格納部１８のエントリには、乗算器１６１Ａに対する乗率を与えるだけで、乗算器１６１Ａの乗数と乗算器１６１Ｂの乗数の和は常に１になるようにハードウェアにより自動で生成しているが、変化率格納部１８を、乗算器１６１Ａに与える値と、１６１Ｂに与える値をそれぞれ持つことができるように構成し、これらの値の和を常に１になるようウィンドウ管理部によりソフトウェアで制御を行っても良い。この場合、選択器１６２Ａとこれに入力される構成要素１６４、１６５、１６６Ａ、１６６Ｂは不要になり、乗算器１６１Ａ及び１６１Ｂには変化率格納部１８から出力されるそれぞれの値を入力する構成にすればよい。【００５２】以上のようにして生成した重みを用いて乗算器１６１Ａ及び乗算器１６１Ｂによりそれぞれ画素１４Ｂ及び画素１４Ｃに重み付けをし、加算器１６３により加算することにより、透視化した画像を生成し、選択器１６２Ｃを介して画素１４Ｄとして透視化されたＮＷ画像を出力する。２入力演算部Ｙ（１６Ｂ）における透視フラグ格納部Ｂ（１７Ｂ）が０（透視化を行う）に設定されている場合、上記２入力演算器Ａ（１６Ａ）と同様の手順により画素１４Ａと画素１４Ｄとを透視化したマルチウィンドウ画像を生成する。【００５３】上記のいずれの画像演算の場合においても、すべての画像メモリの内容自体は変化しない。したがって、透過化を解除する場合や、それらの度合いを変更する場合には、透視化フラグＡ（１７Ａ）、透視化フラグＢ（１７Ｂ）及び変化率格納部１８の内容を変更するだけで高速に実行できる。【００５４】ＴＷを変更する場合には、画像格納部Ａ（１２Ａ）と画像格納部Ｂ（１２Ｂ）の内容、及びウィンドウ情報格納部Ａ（１４Ａ）とウィンドウ情報格納部Ｂ（１４Ｂ）の内容を変更する必要がある。しかし、変更内容のすべてをＣＰＵによりソフトウェア的に書き込みを行なうと、ＣＰＵに対する負荷が大きくなってしまう。そこで、現在メモリへ格納されている画像及びウィンドウ情報の流用できる部位をメモリのダイレクト・メモリ・アクセス（ＤＭＡ）により、各メモリ間で転送しあうことにより、ＣＰＵによるメモリへの画像及びウィンドウ情報の書き込みを極力削減して変更途上における表示画面のちらつきを完全に抑制し、かつ変更時に必要なメモリへの画像書き換え処理の低減を行っている。このＴＷの変更に際するＤＭＡの制御はウィンドウ管理部１１により、その制御信号がＴＷ切替え制御部に送られることによって行なわれるが、図１中では省略している。【００５５】ＴＷの変更に伴うメモリの内容の更新のことをＴＷの切替えという。このＴＷの切替え手順と、それを実現するためのハードウェア構造を以下に説明する。【００５６】本実例では、ＴＷは常にその表示優先順位が最上位になるものと仮定している。したがって、ＴＷであったウィンドウがＴＷの切替えによって他のウィンドウがＴＷとなった場合、このウィンドウの表示優先順位は２番目となる。また、その他のウィンドウについては、新しいＴＷの、ＴＷの切替え前における表示優先順位よりも大きなウィンドウについては優先順位がＴＷの切り替え前よりも１つ降下し、それ以外のウィンドウについては表示優先順位の変化はない。【００５７】この仮定の下でのＴＷの切替え手順は次のようになる。【００５８】（１）切替えの要求が発生した直後のフレーム走査期間（以下、走査期間という）に、ＤＭＡにより次の（１−１）から（１−４）を並列に実行する。【００５９】（１−１）画素１４Ａのうち、ウィンドウの存在する領域の画素のみを画像格納部Ｂ（１２Ｂ）に上書きする。【００６０】（１−２）画素１４Ｂのすべての画素を画像格納部Ａ（１２Ａ）に上書きする。【００６１】（１−３）情報１５Ａのうち、ウィンドウ番号がＴＷの切替え前のＴＷであるウィンドウのウィンドウ情報のみをウィンドウ情報格納部Ｂ（１３Ｂ）へ上書きする。【００６２】（１−４）情報１５Ｂのうち、新しいＴＷとなるウィンドウ番号の領域のみの情報をウィンドウ情報格納部Ａ（１３Ａ）へ上書きし、その他の領域には０（背景ウィンドウ番号）を上書きする。【００６３】（２）手順（１）の終了直後の垂直帰線期間に常に２入力演算部Ｙ（１６Ｂ）が画素１４Ｄを選択・出力するように制御する。【００６４】（３）手順（２）の終了後に、（３−１）から（３−３）を実行する。但し、実行順序に制約はない。【００６５】（３−１）新しいＴＷとなるウィンドウのＤＭＡ転送だけでは足りない領域の画像（具体的には新しいウィンドウとなる完全なウィンドウの画像領域から仮想可視領域を除いた領域の画像）をウィンドウ画像管理部１１により画像格納部Ａ（１２Ａ）に描画する。【００６６】（３−２）新しいＴＷとなるウィンドウのＤＭＡ転送だけでは足りない領域のウィンドウ情報（具体的には新しいウィンドウとなる完全なウィンドウの画像領域から仮想可視領域を除いた領域のウィンドウ情報）をウィンドウ管理部１１によりウィンドウ情報格納部Ａ（１３Ａ）に書き込む。【００６７】（３−３）変化率格納部１８の内容をウィンドウ管理部１１により更新する。【００６８】（４）手順（３）終了直後の垂直帰線期間に、２入力演算部Ｙ（１６Ｂ）の制御を通常の制御に戻す。【００６９】（５）新しいＴＷの、ＴＷの切替え前の表示優先順位よりも低い優先順位であるウィンドウに対して、ＴＷの切替え後の仮想可視領域から切替え前のそれを除外して得られる領域の画像をウィンドウ管理部１１により画像格納部Ｂ（１２Ｂ）の対応する領域へ描画する。【００７０】（６）新しいＴＷの、ＴＷの切替え前の表示優先順位よりも低い優先順位であるウィンドウに対して、ＴＷの切替え後の仮想可視領域から切替え前のそれを除外して得られる領域のウィンドウ情報をウィンドウ管理部１１によりウィンドウ情報格納部Ｂ（１３Ｂ）の対応する領域へ書き込む。【００７１】背景ウィンドウを除くウィンドウが４枚のマルチウィンドウ画像において、表示優先順位３番目のウィンドウがＴＷに切り替わる過程の例を図３に示している。同図（ｂ）は手順（１）、（ｃ）は手順（３−１）、（ｄ）が手順（３−２）、（ｅ）が手順（５）と（６）が完了した時点での各メモリの内容を示している。同図の矢印は変化がないことを示している。【００７２】前記ＴＷの切替え手順を実現するため、ＴＷの切替え機能を付加したシステムの構造を図４に示す。点線の要素は図１と同じ構成要素を示しており、ＴＷの切替えのために付加した部分を実線で示している。図４の構成には選択器１９を除いた構成になっているが、これを付加した構成にしても構わない。【００７３】レジスタＴＷＮ３０３は、ＴＷの切替えを制御するためのレジスタであり、切替え後のＴＷのウィンドウ番号が設定される。レジスタＤＭＡ３０２は、ＤＭＡを制御するためのレジスタであり、手順（１）の直前に１に設定され、手順（２）の直前に０に設定される。レジスタＣＴＷ３０１は、２入力演算部Ｙ（１６Ｂ）の機能を制御するためのレジスタであり、前記の切替え手順（２）において１に設定され、手順（４）において０に設定される。【００７４】比較器Ａ３０４及び比較器Ｂ３０５はいずれも一致検出器であり、２つの入力が一致するときのみ１を出力する。また、各メモリのＳＩＰ及びＳＯＰは、それぞれ、メモリセルアレイ１行分のバッファを内蔵するシリアル入力及び出力ポートであり、ＩＥは入力イネーブル端子であり、ＩＥ＝１である期間にＳＩＰに入力されたデータのみを対応するアドレスに上書きする。ＳＩＰに対する書き込みアドレスは、ＳＯＰに対する読み込みアドレスと同じである。これら付加されたハードウェアにより手順（１）、（２）、（４）が実現される。【００７５】切替え前及び切替え後のＴＷを、それぞれＷ［ｉ］及びＷ［ｊ］とする。このときレジスタＴＷＮ３０３の内容はｊとなる。手順（１−１）は、（情報１５Ｂ）＝ｊのときのみ、比較器Ａ３０４の出力は１となり、この結果論理積回路３０６Ａの出力が１となるので、ｊがウィンドウ情報格納部Ａ（１３Ａ）に上書きされることで実現される。【００７６】手順（１−２）は、手順（１）の実行期間中レジスタＤＭＡ３０２の内容は１となっているので，画素１４Ｂとして出力される画像が画像格納部Ａ（１２Ａ）に上書きされることで実現される。【００７７】手順（１−３）と（１−４）は、（情報１５Ａ）＝ｉのときのみ、比較器Ｂ３０５の出力は０となり、この結果、論理否定回路３０７Ａを介して論理積回路３０６Ｂの出力が１となるのでｉがウィンドウ情報格納部Ｂ（１３Ｂ）上に上書きされるとともに情報１５Ａとして読み出されるＷ［ｉ］の完全な画像が画像格納部Ｂ（１２Ｂ）に上書きされることで実現される。【００７８】また、手順（２）は、レジスタＣＴＷ３０１が１に設定されると、論理否定回路３０７Ｂを介して論理積回路３０６Ｃの出力が０に設定されることで実現され、レジスタＣＴＷ３０１が０に設定されることによりこれが解除され手順（４）が実現される。【００７９】上述した図４のハードウェア構成によってＴＷの切替え過程に必要な画像の大部分をハードウェア的に処理し、ＣＰＵの負担を極力押さえる構成になっている。【００８０】本実例のマルチウィンドウシステムは、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓＮＴ４．０（登録商標）が搭載されているパーソナルコンピュータに実装を行っている。【００８１】本実例によるハードウェアは、図１、図２及び図４に従って試作し、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス上に搭載した。画像格納部Ａ（１２Ａ）、ウィンドウ情報格納部Ａ（１３Ａ）、画像格納部Ｂ（１２Ｂ）、及びウィンドウ情報格納部Ｂ（１３Ｂ）はデュアルポートＤＲＡＭを用いて構成し、また、表示制御部２０、ＴＷの切替えに必要な回路構成は、ＰＣＩバスボード上に搭載されたＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を用いて実装している。【００８２】本実例のウィンドウ管理部１１はソフトウェアにより構成を行っている。このウィンドウ管理部１１は、図５（ウィンドウ管理部は２点鎖線で囲まれた領域）に示すように、各ウィンドウを管理するウィンドウマネージャ５２（鎖線に囲まれた領域）と、ウィンドウマネージャ５２とＰＣＩボード間のデータ転送を行うデバイスドライバ５３とから構成される。ＷｉｎｄｏｗｓＮＴ４．０（登録商標）におけるウィンドウマネージャの機能は、描画時合成方式の原理に基づいてＷｉｎ３２ＡＰＩ関数として実現されているが、この関数を改造することはできない。そこで本実例では、ウィンドウマネージャを１つのアプリケーションとして作成し、各ウィンドウに対応するアプリケーション間のメッセージの授受は、それらとＷｉｎ３２ＡＰＩ関数間のメッセージをフックすることにより実現している。【００８３】ウィンドウ管理部１１におけるウィンドウマネージャ５２は、
・メイン関数群（ＭＦ）５２２：メッセージのフック及びその内容に応じた関数の起動
・ウィンドウ操作関数群（ＷＦ）５２３：ウィンドウの移動、リサイズ等の処理
・領域計算関数群（ＲＦ）５２６：各ウィンドウの仮想可視領域等の算出
・ＴＷの切替え関数群（ＴＷＦ）５２１：ＴＷの切替えに関する処理
・ＣＯＴ制御関数群（ＣＯＴＣ）５２４：変化率格納部１８の更新
・管理データ（ＤＳ）５２７：各ウィンドウの形状、表示位置等の保持
・描画関数群（ＤＦ）５２５：画像、領域情報、読み出し開始アドレス、変化率格納部１８のエントリ等の書き込み
で構成される。【００８４】ウィンドウ操作の実行に関するリクエストがＷｉｎｄｏｗｓＮＴ４．０（登録商標）上のＡｐｐｌｉｃａｔｉｏｎ５０からＷｉｎ３２ＡＰＩ５１に到来すると、これをウィンドウマネージャ５２のメイン関数ＭＦ５２２がフックを行う。ＴＷの切替えの必要がある場合、まず、ＭＦ５２２がＴＷＦ５２１の関数をコールし、その関数がＲＦ５２６の関数をコールすることにより、ＴＷの切替え時に必要な諸情報（ＴＷの切替え手順（３）、（５）、（６）の実行に必要な領域の計算及び表示位置）をＤＳ５２７に生成する。次に、ＤＦ５２５を介してデバイスドライバ５３をコールすることにより、ＴＷの切替え処理を行う。そして、ウィンドウ操作関数群（ＷＦ）５２３の関数を適宜コールし、その関数が領域計算関数群（ＲＦ）５２６の関数をコールすることによりＤＳ５２７における各ウィンドウの管理情報を更新する。最後に、ＤＦ５２５を介してデバイスドライバ５３をコールすることにより、ウィンドウ操作の実行結果が表示画面に反映される。ＴＷの切替えの必要がない場合、ＴＷＦ５２１の関数をコールしないこと以外、同様となる。【００８５】ウィンドウに対する輝度の低下や透視化の処理の要求をＭＦ５２２が検出すると、ＣＯＴＣ５２４をコールする。ＣＯＴＣ５２４は、輝度の低下及び透視化を処理する関数群に大別され、本実例では、Ａｐｐｌｉｃａｔｉｏｎ５０からＷｉｎ３２ＡＰＩ５１へ送られるメッセージのうち、それぞれ、マウスの右ダブルクリックによりコールされるよう設計している。ＣＯＴＣ５２４は変化率格納部１８であるメモリや透視フラグ格納部Ａ（１７Ａ）及びＢ（１７Ｂ）であるレジスタに対して値の更新を行う要求をＤＦ５２５に対して行う。変化率格納部１８のエントリの更新は、画面のちらつきを避けるために、これらの関数の起動直後の垂直帰線期間に実行されるよう設計している。【００８６】本実装におけるデバイスドライバ５３は、ハードウェア５４に搭載された画像格納部Ａ（１２Ａ）、Ｂ（１２Ｂ）、Ｃ（１２Ｃ）、及びウィンドウ情報格納部Ａ（１３Ａ）、Ｂ（１３Ｂ）に対するメモリと、透視フラグ格納部Ａ（１７Ａ）、Ｂ（１７Ｂ）に対するレジスタや変化率格納部１８に対するメモリをシステム仮想空間にマッピングし、ウィンドウマネージャ５２のＤＦ５２５から渡されるデータを基に上述のメモリやレジスタに画像データの描画や情報の格納の処理を行う。またこれらの処理のほかに、ドライバルーチンの初期化、終了、ハードウェアデバイスを認識するための処理を行っている。【００８７】なお、上記の説明は、本発明の実施例の１つに過ぎず、上記した実施の形態に限定されるものではなく、発明の要旨を変更しない範囲で、適宜変形して実行可能である。例えば、本実例では、ウィンドウ管理部１１は、すべてソフトウェアを用いて構成しているが、例えばデバイスドライバ５３部をハードウェア化として実現しても構わない。また、ウィンドウ管理部１１の内部構成も図５の形態に限定したものではなく、例えば関数群の合併、細分化等の処理を行ってもよい。さらに、本実例はＷｉｎｄｏｗｓＮＴ４．０（登録商標）をＯＳとするパーソナルコンピュータへ実装するためのものであり、例えばＵＮＩＸ（登録商標）といった他のＯＳへ実装したものでもよい。但しその場合には、ウィンドウ管理部１１を対応するＯＳで動作できるようソフトウェア部の関数の改変が必要となる。【００８８】また、本実例では操作の対象となるウィンドウの表示優先順位を常に最上位に固定しているが、これに限定したものではなく、操作の対象となるウィンドウの表示優先順位を任意とした構成でＴＷの切替え手順およびこれに関るハードウェア構成を変更しても構わない。【００８９】加えて、２入力演算部Ｘ（１６Ａ）、Ｙ（１６Ｂ）の回路構成も図２に示したものに限定したものではなく、例えば乗算器（１６１Ａ、１６１Ｂ）は加算器との組み合わせで実現しても構わず、また、基本論理回路の組み合わせ（１６５と１６６Ａ、１６７と１６６Ｂ）は、最終的な出力が同一のものとなれば、適宜他の論理回路を用いて構わない。さらに、例えば選択器（例えば１６２Ｃ）はすべて２−１マルチプレクサを使用しているが、これを他入力選択器を用いて回路変更をおこなってもよい。【００９０】また、ＴＷの切替えに関るハードウェア構成も図４に示したものに限定したものではなく、例えば基本論理回路の組み合わせ（例えば３０７Ａと３０６Ｂ）は、最終的な出力が同一のものとなれば、適宜他の論理回路を用いて構わない。【００９１】ＴＷの切替え手順についても、ソフトウェア処理によるＣＰＵの使用率の低減するためにメモリ間の転送を行うことを主旨としていれば、他の手順を用いた、本実例の図４以外のハードウェア構成に従っても構わない。【００９２】本実例では、画像格納部Ａ（１２Ａ）、画像格納部Ｂ（１２Ｂ）、ウィンドウ情報格納部Ａ（１３Ａ）、ウィンドウ情報格納部Ｂ（１３Ｂ）は同一のビットマップメモリを使用しているが、これに限定しているわけではなく、例えばＳＤＲＡＭのようなグラフィックメモリ以外のものを使用して構成しても構わない。また、画像格納部Ｃ（１２Ｃ）についても同様である。【００９３】尚、表示部２１については、ＣＲＴディスプレイ及び液晶ディスプレイを想定しているが、この限りではなく、例えばプロジェクタ、プラズマディスプレイ等の表示装置でもよい。
【産業上の利用可能性】
【００９４】本発明は、一般家庭におけるパーソナルコンピュータをはじめとする、マルチウィンドウ表示システムを使用した情報処理装置へ適用することにより、ユーザにウィンドウの識別性を向上させ、また、操作性を向上させることが可能になる。また、動画像解析システム等、処理に大きな負荷を要するコンピュータシステムにも適用できる。
【図面の簡単な説明】
【００９５】
【図１】本発明によるマルチウィンドウ画像の合成原理を示した説明図である。（実施例１）
【図２】図１における２入力演算部Ｘ及び２入力演算部Ｙの回路構成である。
【図３】ＴＷの切替え手順の過程における各メモリ内部の変化の様子を示すものである。
【図４】ＴＷの切替え手順を遂行するためのハードウェア構成である。
【図５】図１におけるウィンドウ管理部のソフトウェア構成である。（実施例１）
【符号の説明】
【００９５】Ｗ１：操作の対象となるウィンドウ
Ｗ２：操作の対象ではないウィンドウ画像の１つ
Ｗ３：操作の対象ではないウィンドウ画像の１つ
ＭＳＢ：最上位ビット
ＩＥ：入力イネーブル
ＳＩＰ：シリアル入力ポート
ＳＯＰ：シリアル出力ポート
１０：原画像格納部
１１：ウィンドウ管理部
１２Ａ：画像格納部Ａ
１２Ｂ：画像格納部Ｂ
１２Ｃ：画像格納部Ｃ
１３Ａ：ウィンドウ情報格納部Ａ
１３Ｂ：ウィンドウ情報格納部Ｂ
１４Ａ：画像格納部Ａから表示部２１のラスタ走査に同期して読み出される画素
１４Ｂ：画像格納部Ｂから表示部２１のラスタ走査に同期して読み出される画素
１４Ｃ：画像格納部Ｃから表示部２１のラスタ走査に同期して読み出される画素
１４Ｄ：２入力演算部Ｘ（１６Ａ）から表示部２１のラスタ走査に同期して読み出される画素
１５Ａ：ウィンドウ情報格納部Ａから表示部２１のラスタ走査に同期して読み出される情報
１５Ｂ：ウィンドウ情報格納部Ｂから表示部２１のラスタ走査に同期して読み出される情報
１５Ｃ：選択器１９から出力される情報
１６Ａ：２入力演算部Ｘ
１６Ｂ：２入力演算部Ｙ
１６１Ａ：乗算器
１６１Ｂ：乗算器
１６２Ａ：２−１マルチプレクサを主要な構成要素とする選択器
１６２Ｂ：２−１マルチプレクサを主要な構成要素とする選択器
１６２Ｃ：２−１マルチプレクサを主要な構成要素とする選択器
１６３：加算器
１６４：２の補数生成器
１６５：論理積（ＡＮＤ）回路
１６６Ａ：論理否定回路
１６６Ｂ：論理否定回路
１６７：論理和（ＯＲ）回路
１７Ａ：透視フラグ格納部Ａ
１７Ｂ：透視フラグ格納部Ｂ
１８：変化率格納部
１９：選択器
２０：表示制御部
２１：表示部
３０１：ＴＷ切替えの開始を制御するレジスタＣＴＷ
３０２：ＤＭＡ転送の開始を制御するレジスタＤＭＡ
３０３：ＴＷとなるウィンドウ番号を格納するレジスタＴＷＮ
３０４：比較器
３０５：比較器
３０６Ａ：論理積回路
３０６Ｂ：論理積回路
３０６Ｃ：論理積回路
３０７Ａ：論理否定回路
３０７Ｂ：論理否定回路
５０：アプリケーションソフトウェアプログラム
５１：ＷｉｎｄｏｗｓＮＴ４．０（登録商標）のＯＳに存在するアプリケーション情報とウィンドウ制御の管理を行う関数であるＷｉｎ３２ＡＰＩ
５２：本実例で構成したウィンドウ管理部１１内部の機構であるウィンドウマネージャ
５２１：ＴＷの切替えに関する処理を行うＴＷの切替え関数群ＴＷＦ
５２２：メッセージのフック及びその内容に応じた関数の起動を行うメイン関数群ＭＦ
５２３：ウィンドウの移動、リサイズ等の処理を行うウィンドウ操作関数群ＷＦ
５２４：変化率格納部１８の更新を管理するＣＯＴ制御関数群ＣＯＴＣ
５２５：画像、領域情報、読み出し開始アドレス、変化率格納部１８のエントリ等の書き込みを管理する描画関数群ＤＦ
５２６：各ウィンドウの仮想可視領域等の算出を管理する領域計算関数群ＲＦ
５２７：各ウィンドウの形状、表示位置等の保持を管理する管理データＤＳ
５３：本実例で構成したウィンドウ管理部１１内部の機構であるデバイスドライバ
５４：本実例で構成したマルチウィンドウ表示用ハードウェア
【図１】
2006227555.tif 000004
【図２】
2006227555.tif 000005
【図３】
2006227555.tif 000006
【図４】
2006227555.tif 000007
【図５】
2006227555.tif 000008