JP2006227555A - マルチウィンドウ表示装置及びマルチウィンドウ画像管理方法 - Google Patents
マルチウィンドウ表示装置及びマルチウィンドウ画像管理方法 Download PDFInfo
- Publication number
- JP2006227555A JP2006227555A JP2005078079A JP2005078079A JP2006227555A JP 2006227555 A JP2006227555 A JP 2006227555A JP 2005078079 A JP2005078079 A JP 2005078079A JP 2005078079 A JP2005078079 A JP 2005078079A JP 2006227555 A JP2006227555 A JP 2006227555A
- Authority
- JP
- Japan
- Prior art keywords
- window
- storage unit
- image
- unit
- image storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】マルチウィンドウシステムにおいて、ウィンドウの移動やリサイズといったウィンドウ操作行為や、ウィンドウ画像の輝度の低下や透視化を行ったウィンドウを表示・操作する際、CPUの負荷が大きくなるため画面が固まったり、ユーザにとって不愉快なちらつきの表示を行うことがある。またこれを防ぐ技術では、多量のウィンドウを表示可能にするためのハードウェア量の増加がコストの観点からも問題となっている。
【解決手段】マルチウィンドウ画像を、ウィンドウの操作の対象となるウィンドウ画像と、それ以外のウィンドウで構成されるマルチウィンドウ画像、及び、背景画像とに分類してそれぞれ独立した画像格納部にそれぞれ分類し、順次読み出されたそれぞれの画像情報を、表示制御部により必要な画像情報を選択あるいは演算しながら表示部へ出力する部を設けることにより、ウィンドウ操作やウィンドウの透視化及び輝度の低下処理に伴うCPUに対する負荷量を軽減でき、また、ハードウェア量を一定にすることができる。
【選択図】図1
【解決手段】マルチウィンドウ画像を、ウィンドウの操作の対象となるウィンドウ画像と、それ以外のウィンドウで構成されるマルチウィンドウ画像、及び、背景画像とに分類してそれぞれ独立した画像格納部にそれぞれ分類し、順次読み出されたそれぞれの画像情報を、表示制御部により必要な画像情報を選択あるいは演算しながら表示部へ出力する部を設けることにより、ウィンドウ操作やウィンドウの透視化及び輝度の低下処理に伴うCPUに対する負荷量を軽減でき、また、ハードウェア量を一定にすることができる。
【選択図】図1
Description
本発明は、表示装置の画面上に複数のウィンドウを同時に表示するマルチウィンドウ表示装置及びマルチウィンドウ画像管理方法に関するものである。
マルチウィンドウ表示装置はパーソナルコンピュータやワークステーション等の機器に適用されている。これらの機器では、様々なアプリケーションソフトを起動しても、それぞれのウィンドウを重ね合わせて表示を行うことができるため、複数のソフトを同時に起動して作業を行う必要のあるユーザにとって有用な装置である。
しかし、画面上に多数のウィンドウを同時に表示した状況でウィンドウの移動やリサイズ、スクロール操作といったウィンドウ操作、エディット操作等を進めると、操作の対象となるウィンドウ(以下、操作対象ウィンドウ)の識別性が低下してしまったり、壁紙に配置されるGUI(Graphical User Interface)アイコンが認識できなくなるといった問題が生じている。
前者の問題は、操作の対象となるウィンドウの輝度がその周辺に表示されているウィンドウの輝度に比して低い場合特に顕著になり、この問題を解消する1つの方法として、ウィンドウの輝度を低下する方法が提案され(例えば特許文献1)、後者の問題を解消する方法として、ウィンドウを透視化する方法が提案されている(例えば特許文献2)。しかし、これらの手法はそれぞれ独立した装置であり、ウィンドウ画像の輝度の低下と透視化を併用することは困難である。また、これらの装置におけるマルチウィンドウ画像の管理方法は、各ウィンドウをそれぞれ独立したメモリ及びメモリ空間を利用しているため、中央演算装置(CPU)に多大な負担を強いており、また表示するウィンドウの枚数の増加により、独立したメモリをウィンドウの枚数分用意する必要がある。
特開2001−147760号公報 特開平7−319669号公報
従来技術では、輝度の低下や透視化を行ったウィンドウをマルチウィンドウ表示する際、CPUへの負荷が高くなるため、CPUの使用率の高いソフトウェアを実行中にこれらの表示を行おうとしたときに、画面が固まってしまったり、ユーザにとって不愉快なちらつきを表示してしまう。また、これらのウィンドウを移動・リサイズといったウィンドウ操作を行う際にも同じ不具合を生じてしまう。特に、ウィンドウが動画像を表示している場合には、CPUの負荷が非常に高くなっているため、このウィンドウに対する輝度の低下や透視化を行うことは困難である。
さらに、多量のウィンドウを表示可能なマルチウィンドウシステムにおいては、ハードウェア量の増加はコストの観点からも問題である。
そこで、この発明の主たる目的は、上述の課題の少なくとも一部を解決するため、輝度の低下や透視化を行ったウィンドウをマルチウィンドウ表示する際のCPUへの負荷を極力与えず、CPUの使用率によらずスムーズな表示ができ、かつ、表示するウィンドウ枚数によるハードウェア量の増加を抑えるマルチウィンドウ表示装置及びマルチウィンドウ画像管理方法を提供することを要旨とする。
請求項1の発明は、文字や画像のウィンドウをマルチウィンドウ表示するマルチウィンドウ表示装置であって、表示部に画像を表示するために必要な背景ウィンドウの原画像と各ウィンドウの原画像(1又は2以上の)を格納する原画像格納部と、それぞれ独立に設けられた画像格納部A、B、Cと、前記画像格納部A、Bに対応してそれぞれ独立に設けられたウィンドウ情報格納部A、Bと、ウィンドウ管理部と、表示制御部と表示部を有し、ウィンドウ管理部によって、
・画像格納部Aには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Bには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、原画像格納部より取り出して表示部で表示したい表示優先順位及び位置関係で重ね合わせてできる画像を格納し、
・画像格納部Cには、背景ウィンドウ画像の原画像を原画像格納部より取り出し格納し、
・ウィンドウ情報格納部Aには、前記画像格納部Aに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Bには、前記画像格納部Bに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
表示制御部によって画像格納部A、B、Cから同時に読み出されたそれぞれの画素を、同様にウィンドウ情報格納部A、Bから同時に読み出されたウィンドウ情報を基に画素を生成し、これを繰り返し行うことにより表示部へ所定の画像を表示するマルチウィンドウ表示装置である。
・画像格納部Aには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Bには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、原画像格納部より取り出して表示部で表示したい表示優先順位及び位置関係で重ね合わせてできる画像を格納し、
・画像格納部Cには、背景ウィンドウ画像の原画像を原画像格納部より取り出し格納し、
・ウィンドウ情報格納部Aには、前記画像格納部Aに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Bには、前記画像格納部Bに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
表示制御部によって画像格納部A、B、Cから同時に読み出されたそれぞれの画素を、同様にウィンドウ情報格納部A、Bから同時に読み出されたウィンドウ情報を基に画素を生成し、これを繰り返し行うことにより表示部へ所定の画像を表示するマルチウィンドウ表示装置である。
請求項2の発明である、前記マルチウィンドウ表示装置の表示制御部は、2入力演算部X、Yと、前記画像格納部A及びBの画像の透視化を行うか否かの情報を格納する透視フラグ格納部A、Bと、前記ウィンドウ管理部により、ウィンドウ情報格納部A、Bに格納された前記ウィンドウ情報に対し1対1に対応した0以上1以下の変化率αを格納する変化率格納部を有し、
2入力演算部Xは画像格納部B及びCの画素の色情報であるR、G、Bそれぞれの要素を入力とし、ウィンドウ情報格納部Bのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Aの値により演算方法を制御し、
2入力演算部Yは画像格納部A及び2入力演算部Xの出力画素の色情報であるR、G、Bそれぞれの要素を入力とし、ウィンドウ情報格納部Aのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Bの値により演算方法を制御し、
2入力演算部Yの出力を行う表示制御部を備える請求項1記載のマルチウィンドウ表示装置である。
2入力演算部Xは画像格納部B及びCの画素の色情報であるR、G、Bそれぞれの要素を入力とし、ウィンドウ情報格納部Bのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Aの値により演算方法を制御し、
2入力演算部Yは画像格納部A及び2入力演算部Xの出力画素の色情報であるR、G、Bそれぞれの要素を入力とし、ウィンドウ情報格納部Aのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Bの値により演算方法を制御し、
2入力演算部Yの出力を行う表示制御部を備える請求項1記載のマルチウィンドウ表示装置である。
請求項3の発明である、前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部A、Bの値が共に透視化しない値の場合、
2入力演算部Xでは、ウィンドウ情報格納部Bの前記ウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×1+(画像格納部Cからの画素)×0
に相当する値を出力するよう制御を行う機能を有し、また、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×1+(2入力演算部Xの出力からの画素)×0
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置である。
2入力演算部Xでは、ウィンドウ情報格納部Bの前記ウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×1+(画像格納部Cからの画素)×0
に相当する値を出力するよう制御を行う機能を有し、また、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×1+(2入力演算部Xの出力からの画素)×0
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置である。
請求項4の発明である、前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部A、Bの値が共に透視化しない値の場合では、前記変化率格納部によって導出される変化率αを用いて、
2入力演算部Xでは、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×α+(画像格納部Cからの画素)×0
に相当する値を出力するよう制御を行う機能を有し、また、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×α+(2入力演算部Xの出力からの画素)×0
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置である。
2入力演算部Xでは、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×α+(画像格納部Cからの画素)×0
に相当する値を出力するよう制御を行う機能を有し、また、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×α+(2入力演算部Xの出力からの画素)×0
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置である。
請求項5の発明である、前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部A、Bの値の少なくとも一方が透視化する値の場合、前記変化率格納部によって導出される変化率αを用いて、透視フラグ格納部Aが透視化する値である場合には、
2入力演算部Xでは、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×α+(画像格納部Cからの画素)×(1−α)
に相当する値を出力するよう制御を行う機能を有し、
また、透視フラグBが透視化する値である場合には、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×α+(2入力演算部Xの出力からの画素)×(1−α)
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置である。
2入力演算部Xでは、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×α+(画像格納部Cからの画素)×(1−α)
に相当する値を出力するよう制御を行う機能を有し、
また、透視フラグBが透視化する値である場合には、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×α+(2入力演算部Xの出力からの画素)×(1−α)
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置である。
請求項6の発明は、文字や画像のウィンドウをマルチウィンドウ表示するマルチウィンドウ画像の管理方法であって、表示部に画像を表示するために必要な背景ウィンドウの原画像と各ウィンドウの原画像(1又は2以上の)を格納する原画像格納部から、それぞれ独立に設けられた画像格納部A、B、Cに対して、
・画像格納部Aには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Bには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、表示部で表示したい表示優先順位及び位置関係で原画像格納部より取り出して重ね合わせてできる画像を格納し、
・原画像格納部Cには、背景ウィンドウ画像の原画像を原画像格納部により取り出し格納し、
また、それぞれ独立に設けられたウィンドウ情報格納部A、Bに対して、
・ウィンドウ情報格納部Aには、前記画像格納部Aに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Bには、前記画像格納部Bに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納することを特徴とするマルチウィンドウ画像管理方法である。
・画像格納部Aには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Bには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、表示部で表示したい表示優先順位及び位置関係で原画像格納部より取り出して重ね合わせてできる画像を格納し、
・原画像格納部Cには、背景ウィンドウ画像の原画像を原画像格納部により取り出し格納し、
また、それぞれ独立に設けられたウィンドウ情報格納部A、Bに対して、
・ウィンドウ情報格納部Aには、前記画像格納部Aに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Bには、前記画像格納部Bに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納することを特徴とするマルチウィンドウ画像管理方法である。
請求項7の発明である、前記ウィンドウ情報格納部A及びウィンドウ情報格納部Bに格納される前記ウィンドウ情報には、ウィンドウが存在する領域にはそのウィンドウ固有の値を格納し、また存在しない領域には存在しないことを示す値あるいは背景ウィンドウ固有の値を格納することを特徴とする請求項1又は2又は3又は4又は5又は6に記載のマルチウィンドウ表示装置である。
請求項8の発明である、前記請求項6のマルチウィンドウ画像管理方法は、
操作の対象となるウィンドウが変更される際の画像格納部Aへ格納する画像を、原画像格納部の他に、画像格納部Bに格納されているウィンドウの画像から必要な領域を転送することによって得ることを特徴とする請求項6に記載のマルチウィンドウ画像管理方法である。
操作の対象となるウィンドウが変更される際の画像格納部Aへ格納する画像を、原画像格納部の他に、画像格納部Bに格納されているウィンドウの画像から必要な領域を転送することによって得ることを特徴とする請求項6に記載のマルチウィンドウ画像管理方法である。
請求項9の発明である、前記請求項6のマルチウィンドウ画像管理方法は、
操作の対象となるウィンドウが変更される際の画像格納部Bへ格納する画像を、原画像格納部の他に、画像格納部Aに格納されているウィンドウの画像を転送することによって得ることを特徴とする請求項6に記載のマルチウィンドウ画像管理方法である。
操作の対象となるウィンドウが変更される際の画像格納部Bへ格納する画像を、原画像格納部の他に、画像格納部Aに格納されているウィンドウの画像を転送することによって得ることを特徴とする請求項6に記載のマルチウィンドウ画像管理方法である。
前述のユーザの操作とは、マウスのようなポインティングデバイス(入力装置)によって、例えばウィンドウの生成や消去、移動やリサイズ、スクロールやパニングを行う行為を言うがこの限りではない。また、入力装置もこの限りではない。
また、前述の背景ウィンドウとは、表示部のバックグラウンドとして表示する背景画像のことであり、ここではこの背景画像を表示部の解像度と同じ大きさであり、かつ、表示優先順位を最下位に固定とするウィンドウの1つである。
さらに、前述のウィンドウの原画像とは、他のウィンドウに全く隠されていない当該ウィンドウを表示するために必要なすべての画像を含んだ画像のことである。ただし、ウィンドウのフレーム部、及びボタンといった非クライアント領域の画像は含んでいても含んでいなくても良い。
本発明におけるマルチウィンドウ画像の透視化は、操作の対象としているウィンドウと操作の対象としていないウィンドウで構成されるマルチウィンドウ、操作の対象としているウィンドウと背景ウィンドウ、及び、操作の対象としていないウィンドウで構成されるマルチウィンドウと背景画像との間に対する透視化を考慮したものであり、操作の対象としていない任意のウィンドウ間での透視化は考慮していない。
請求項1記載の発明によれば、マルチウィンドウ表示装置は各ウィンドウ画像の輝度の低下及び透視化の実行をすべて表示制御部において1画素ずつ構成を行うため、この処理に対するCPUへの依存が極めて少なくなる。よってこの表示制御部を1つのハードウェアとして構成を行えば、CPUへの負荷が高い状態においてもスムーズにこれらの処理を実行できるという利点がある。これにより、動画像ウィンドウに対する輝度の低下や透視化もCPUへの負荷を極力低減して実行可能となるという利点を持つ。
また、請求項2及び3及び4及び5記載の発明によれば、マルチウィンドウ表示装置は各ウィンドウ画像の輝度の低下及び透視化の変化は、透視フラグ格納部、変化率格納部の値を変更するだけで所望の動作を行うことができるため、これに伴うCPUの処理量は非常に少なくなり、それぞれの動作を高速に実行し得るという利点を持つ。
さらに、請求項6記載の発明によれば、請求項1記載の発明によるマルチウィンドウ表示装置のそれぞれの画像格納部A、B、C及びウィンドウ情報格納部A、Bへ適切な画像及びウィンドウ情報を格納することができるようになり、表示するウィンドウ枚数に関わらず、一定のハードウェア量でこれらのマルチウィンドウ画像を表示することができるという利点を持つ。
請求項7記載の発明によれば、表示するウィンドウ1つ1つに固有のウィンドウ情報を持たせることにより、輝度の低下率や透視化率を個々のウィンドウ毎に設定できるようになり、バリエーションに富んだ画面表示を構成できるようになるという利点を持つ。
また、請求項8及び9記載の発明によれば、操作の対象となるウィンドウが変更になる際、必要な画像の大部分をメモリ間によるデータ転送によって得ることができるようになり、ユーザのウィンドウ操作に対する応答を高速に行えるという利点を持つ。
以下、図面を参照して本発明の実施例を具体的に説明する。尚、図面中における各要素の名称は請求項記載の名称と統一している。また、本実施例では説明の理解を深めるために表示部にはラスタ走査により画面表示を行うCRT(Cathode Ray Tube)を用いている。
図1は、本発明の1実施例である。図1では、W1が操作の対象となるウィンドウ(以下、TW)であり、W2とW3が操作の対象ではないウィンドウ(以下、NW)を構成する。
原画像格納部10は、マルチウィンドウ表示を行うためにオペレーティングシステム(OS)やウィンドウマネージャなどが管理する、それぞれのウィンドウの元となる画像を格納する部であり、本実例では、ハードディスク上や主記憶上に存在するが、この限りではない。
ウィンドウ管理部11は、
・原画像格納部10から必要に応じて画像格納部A(12A)、B(12B)、及びC(12C)へ画像を転送
・ウィンドウ情報格納部A(13A)、及びB(13B)へ必要なウィンドウ情報を計算し、書き込み
・12A、12Bや13A、13Bを構成するメモリに対してメモリの読み出し開始アドレスの指定
・各ウィンドウの表示優先順位の保持
・TWの変更に伴う処理
・ウィンドウの輝度の低下、透視化に対するレジスタへの処理
等あるがこの限りではなく、ユーザのウィンドウ操作に対する処理を行う機構である。本実例では、このウィンドウ管理部11はソフトウェアによる処理とハードウェアによる処理を混在させ構成している。このウィンドウ管理部11においては後に詳述を行う。
・原画像格納部10から必要に応じて画像格納部A(12A)、B(12B)、及びC(12C)へ画像を転送
・ウィンドウ情報格納部A(13A)、及びB(13B)へ必要なウィンドウ情報を計算し、書き込み
・12A、12Bや13A、13Bを構成するメモリに対してメモリの読み出し開始アドレスの指定
・各ウィンドウの表示優先順位の保持
・TWの変更に伴う処理
・ウィンドウの輝度の低下、透視化に対するレジスタへの処理
等あるがこの限りではなく、ユーザのウィンドウ操作に対する処理を行う機構である。本実例では、このウィンドウ管理部11はソフトウェアによる処理とハードウェアによる処理を混在させ構成している。このウィンドウ管理部11においては後に詳述を行う。
12Aはビットマップメモリであり、ユーザの操作の対象としているウィンドウの原画像を原画像格納部10より取り出し格納を行うためのメモリである。また、12Bも12Aと同様のビットマップメモリであり、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、表示部21で表示したい表示優先順位及び位置関係で原画像格納部10あるいは12Aより取り出して重ね合わせてできる画像を格納するためのメモリである。さらに、画像格納部C(12C)も12A、12Bと同様のビットマップメモリであり、背景ウィンドウ画像の原画像を原画像格納部10により取り出し格納するためのメモリである。12A、12B及び12Cのビットマップメモリはいずれも表示部21の1画面分に対応するアドレス空間を持つ。本実例ではビットマップメモリのアドレス空間は表示部21の1画面分と同じ大きさにしているが、表示部21の1画面分以上の大きさのアドレス空間を持つメモリでも構わない。また、これらのメモリの深さ(1画素を構成するビット数)は画像の色の深さと同じで設計しているが、それ以上の深さを持つメモリを用いてもよい。
また、ウィンドウ情報格納部A(13A)は、12Aに格納された原画像の、ウィンドウが存在する領域にそのウィンドウ固有の値を、また、存在しない領域には存在しないことを示す値(本実例では0にしているが、この限りではない。また、これが請求項記載のウィンドウ情報に当たる)を格納するためのメモリであり、本実例では画像格納部A、B及びCに用いたビットマップメモリとおなじビットマップメモリを使用している(本発明では、メモリの深さが表示可能なウィンドウ枚数になるため、できるだけ深さのあるメモリを用いるのが望ましい)。また、ウィンドウ情報格納部B(13B)では、12Bに格納された画像の対応するウィンドウが存在する領域にはそのウィンドウ固有の値を、また、存在しない領域には存在しないことを示す値(本実例では0にしているが、この限りではない。また、これが請求項記載のウィンドウ情報に当たる)を格納するためのメモリである。本実例では13Aと同様に、12A、12B及び12Cに用いたビットマップメモリと同じビットマップメモリを使用しているが、できるだけ深さのあるメモリを用いるのが望ましい。
ここで、13Bに格納されているNWで構成されるマルチウィンドウの領域のことを、仮想可視領域と呼ぶ。また以下、表示部21のラスタ走査に準じて12A、12B及び12Cから読み出される画素情報をそれぞれ画素14A、画素14B及び14Cと記し、また、表示部21のラスタ走査に準じて13A及び13Bから読み出されるウィンドウ情報をそれぞれ情報15A及び情報15Bと記す。
2入力演算部X(16A)及び2入力演算部Y(16B)は、それぞれ、NW及びTWの画像に対して透視化を行うための演算回路であり、2−1マルチプレクサ、加算器及び乗算器を主な構成要素としている。選択器19は2−1マルチプレクサを主な構成要素とした回路である。また、透視フラグ格納部A(17A)、透視フラグ格納部B(17B)及び変化率格納部18は、ウィンドウ画像の輝度低下及び透視化を行う際に参照されるレジスタ及びメモリである。本実例では17A及び17Bは1つのレジスタで構成し、変化率格納部18は1つのメモリにより構成をしているが、この限りではなく、またこれらは17A、17B及び18は本来、2入力演算部16A及び16B内部の構成要素であるが、説明上図1の表示制御部20内部に記している。尚図1中の配線は、17A、17Bからの出力線は1bit、その他の線はすべて複数bitとなる。
2入力演算部X(16A)は表示部21のラスタ走査に順じて出力される画素14B及び14Cを入力とし、情報15B、透視フラグ格納部A(17A)と変化率格納部18を制御信号とし、画素14Dを出力する。2入力演算部Y(16B)は16Aと全く同じ回路構成であるが、画素14Aと画素14Dを入力とし、情報15C、透視フラグ格納部B(17B)及び変化率格納部18を制御信号とする。
上述の2入力演算部X(16A)、2入力演算部Y(16B)、透視フラグ格納部A(17A)、透視フラグ格納部B(17B)、変化率格納部18と選択器19から構成される図1中の一点鎖線で囲まれた構成により表示制御部20を構成する。
このとき、選択器19はTWの透視領域を、NWの仮想可視領域との積領域のみに限定して表示を行う際に必要な構成要素であるが、この表示方法を不要とするならば、選択器19とこれに接続される配線を表示制御部20から取り除き、2入力演算部Y(16B)の制御信号である情報15Cの変わりを情報15Aとした構成でもよい。
表示装置のフレーム周期毎に、画像格納部B(12B)上の画像及び画像格納部C(12C)上の画像は、0番地(画面左上に対応する)から表示装置の走査に同期して、それぞれ、画素14B及び画素14Cとして読み出される。これと同様に、ウィンドウ情報格納部B(13B)の情報も0番地から情報15Bとして読み出される。2入力演算部X(16A)は各画素毎に画素14Bと画素14Cに対して演算を施し、その結果を画素14Dとして出力する。
これと同期して、画像格納部A(12A)上の画像及びウィンドウ情報格納部A(13A)上の情報も、それぞれ、画素14A及び情報15Aとして読み出される。ただし、これらの読み出し開始アドレスは、ウィンドウ操作にともなう表示画面上でのウィンドウ位置に応じて0番地から移動する。つまり、操作の対象となるウィンドウの移動、リサイズ、スクロール、パニングは12A及び13Aの読み出し開始アドレスの変更によって行われる。2つの情報15A及び情報15Bは選択器19により、透視フラグ格納部A(17A)の情報が1且つ透視フラグ格納部B(17B)の情報が0の場合、情報15A≠0、且つ、情報15B=0のときγ(γに対応する変化率格納部18のエントリは常に1)を、それ以外の場合には情報15Aを出力情報15Cとし、透視フラグ格納部A(17A)及び透視フラグ格納部B(17B)の情報が上記以外の場合には情報15Aを情報15Cとして出力し、これを制御信号として2入力演算部Y(16B)により2入力演算部X(16A)と同様の演算を行い、これを表示部21のラスタ走査に準じて繰り返し行うことにより、マルチウィンドウを合成し表示装置に出力をする。
図2は、図1の2入力演算部X(16A)、及びY(16B)のハードウェア構造である。図2中の括弧で括られた入力及び透視フラグ格納部A及びBは、それぞれ、2入力演算部X(16A)の場合は上段が、2入力演算部Y(16B)の場合には下段の要素が対応していることを示している。変化率格納部18は図1の変化率格納部18に対応し、各ウィンドウ(背景ウィンドウも含む)と1対1に対応したエントリを持つメモリである。変化率格納部18の各エントリには、乗算器161Aに与えられる透視化率あるいは輝度低下率を示す乗率(0より大きく1以下)をMSBが整数部、残りが小数部という形式で格納する。また、2の補数生成器164は2の補数を生成する論理回路構成部であり、選択器(162A、162B、162C)はいずれも2−1マルチプレクサであり、図2中のこれらの選択器の2つの入力に対して、図中選択器下部の制御信号が0である場合には入力部の0が記された情報を出力として選択し、制御信号が1である場合には入力部の1が記された情報を出力とする回路である。透視フラグ格納部A(17A)及び透視フラグ格納部B(17B)は、図1の2入力演算部X(16A)においては透視フラグ格納部A(17A)、2入力演算部Y(16B)においては透視フラグ格納部B(17B)に対応し、本実例では、透視化を行う場合0、行なわない場合1に設定されるレジスタであるが、格納する値についてはこの限りではない。さらに、乗算器(161A、161B)は乗算回路であり、加算器163は加算回路である。論理167は入力情報の各Bitすべてを入力とする論理和回路である。また、論理166A、166Bは論理否定回路であり、論理165は論理積回路である。尚図中の配線は、MSB線、論理167からの出力線、透視フラグ格納部A(17A)及び透視フラグ格納部B(17B)からの出力線は1bitであり、その他の線はすべて複数bitとなる。
マルチウィンドウ画像の透視化は、2入力演算部X(16A)、2入力演算部Y(16B)内部の乗算器(161A、161B)の動作を透視フラグ格納部A(17A)及び透視フラグ格納部B(17B)の情報により制御することにより4通りに設定でき、ユーザの用途に応じた透視化画面を作成する。透視フラグ格納部A(17A)及び透視フラグ格納部B(17B)の設定値と実現される透視化機能との関係を表1に示す。
透視フラグ格納部A(17A)及び透視フラグ格納部B(17B)の情報が共に1に設定されている場合、透視化を行わずマルチウィンドウ画像の表示を行う。この時の表示制御部20の動作を以下に示す。
表示部21のラスタ走査に同期して出力される各画素毎に、2入力演算部X(16A)においては、情報15Bに基づいて変化率格納部18から読み出された重みと画素14Bとを乗じることにより、乗算器161Aの出力として生成される。
この条件により、透視化を行わないとき変化率格納部18のエントリはすべて1に設定すれば、乗算器161Aの出力は画素14Bそのものとなるが、変化率格納部18のエントリを1以下に設定すれば、対応したウィンドウの輝度値を低下したウィンドウ画像を出力することになる。したがって、ウィンドウ画像の輝度を低下して表示部21に出力させたい場合には、透視フラグ格納部A(17A)及び透視フラグ格納部B(17B)の情報が共に1に設定した上で対応するウィンドウ番号のエントリを1以下の任意の値に設定すればよい。
これと並行して、透視フラグ格納部A(17A)は1に設定されているので、選択器162Aからは変化率格納部18の出力、すなわち、背景ウィンドウ画像の画素がそのまま出力され、乗算器161Bの出力には、背景画像の画素が出力される。
この際も同様に背景ウィンドウに対応したエントリを1以下に設定することにより、背景画像の輝度を低下した画像が出力される。そして、選択器162Bにより、乗算器161Aと乗算器161Bの出力が情報15Bに基づいて適宜選択・出力され、(任意に輝度の低下を施した)NW画像が選択器162Cを介して画素14Dとして出力される。2入力演算部Y(16B)の構造は2入力演算部X(16A)と全く同様の構造であるが、乗算器161Aの入力は画素14A、乗算器161Bの入力は画素14D、及び変化率格納部18へ入力するウィンドウ情報は情報15C(選択器19を除いた表示制御部20の構成では情報15A)となる。動作は2入力演算部X(16A)と同様であり、この出力を表示部21へ出力することを表示部21のラスタ走査に従って順次行うことにより、最終的に表示部21にはマルチウィンドウ画像を表示することになる。
画像の透視化は、2入力演算部X(16A)においては画素14Bと画素14Cとを加重加算することにより実現する。画素14Bに対する処理は、変化率格納部18のエントリの内容が、透視化を行う際の重みに変わること以外、上述した輝度低下の場合と同様である。
これに対して、画素14Cに対する処理は、変化率格納部18に格納されるNWを構成する各ウィンドウに対する重みを用いて画素14Cに対する重みを自動生成する点が異なる。ただし、変化率格納部18の背景ウィンドウに対するエントリには0を格納する。また、2入力演算部Y(16B)においては画像入力が画素14Aと画素14Dに変わるのみで動作原理は同様であるのでここでは省略する。
2入力演算部X(16A)において透視化を行う場合、透視フラグ格納部A(17A)は0に設定されるので選択器162Aは0側の入力が選択・出力される。(情報15Bの値)≠0(画素14BとしてNWの画素が選択されている)の場合、変化率格納部18から出力される重みの小数部のみが2の補数生成器164により2の補数表現に変換され、背景画像の重みの小数部となる。このとき、論理和回路167(入力数は情報15A、15B及び15Cのビット数と同じ)の出力は1となるのでこの値を論理否定回路166Bにより出力された値と、変化率格納部18の最上位ビット(MSB)を論理否定回路166Aにより出力された値とを論理積回路165を通じることにより背景画像の重みの整数部(MSB)は常に0となる。
この結果、背景ウィンドウの画像の重みは、それとNWの重みとの和が常に1となるように決定されることになる。特に、変化率格納部18の出力が1のとき、背景ウィンドウの画像の重みは、そのMSBが0、小数部も2の補数生成器164により0となり、結局0となる。(情報15Bの値)=0の場合、変化率格納部18からは0が出力される。このとき論理和回路167の出力は0となっているので、背景画像の重みの整数部が1となり、小数部は2の補数生成器164により0となる。
このように本実例では、変化率格納部18のエントリには、乗算器161Aに対する乗率を与えるだけで、乗算器161Aの乗数と乗算器161Bの乗数の和は常に1になるようにハードウェアにより自動で生成しているが、変化率格納部18を、乗算器161Aに与える値と、161Bに与える値をそれぞれ持つことができるように構成し、これらの値の和を常に1になるようウィンドウ管理部によりソフトウェアで制御を行っても良い。この場合、選択器162Aとこれに入力される構成要素164、165、166A、166Bは不要になり、乗算器161A及び161Bには変化率格納部18から出力されるそれぞれの値を入力する構成にすればよい。
以上のようにして生成した重みを用いて乗算器161A及び乗算器161Bによりそれぞれ画素14B及び画素14Cに重み付けをし、加算器163により加算することにより、透視化した画像を生成し、選択器162Cを介して画素14Dとして透視化されたNW画像を出力する。2入力演算部Y(16B)における透視フラグ格納部B(17B)が0(透視化を行う)に設定されている場合、上記2入力演算器A(16A)と同様の手順により画素14Aと画素14Dとを透視化したマルチウィンドウ画像を生成する。
上記のいずれの画像演算の場合においても、すべての画像メモリの内容自体は変化しない。したがって、透過化を解除する場合や、それらの度合いを変更する場合には、透視化フラグA(17A)、透視化フラグB(17B)及び変化率格納部18の内容を変更するだけで高速に実行できる。
TWを変更する場合には、画像格納部A(12A)と画像格納部B(12B)の内容、及びウィンドウ情報格納部A(14A)とウィンドウ情報格納部B(14B)の内容を変更する必要がある。しかし、変更内容のすべてをCPUによりソフトウェア的に書き込みを行なうと、CPUに対する負荷が大きくなってしまう。そこで、現在メモリへ格納されている画像及びウィンドウ情報の流用できる部位をメモリのダイレクト・メモリ・アクセス(DMA)により、各メモリ間で転送しあうことにより、CPUによるメモリへの画像及びウィンドウ情報の書き込みを極力削減して変更途上における表示画面のちらつきを完全に抑制し、かつ変更時に必要なメモリへの画像書き換え処理の低減を行っている。このTWの変更に際するDMAの制御はウィンドウ管理部11により、その制御信号がTW切替え制御部に送られることによって行なわれるが、図1中では省略している。
TWの変更に伴うメモリの内容の更新のことをTWの切替えという。このTWの切替え手順と、それを実現するためのハードウェア構造を以下に説明する。
本実例では、TWは常にその表示優先順位が最上位になるものと仮定している。したがって、TWであったウィンドウがTWの切替えによって他のウィンドウがTWとなった場合、このウィンドウの表示優先順位は2番目となる。また、その他のウィンドウについては、新しいTWの、TWの切替え前における表示優先順位よりも大きなウィンドウについては優先順位がTWの切り替え前よりも1つ降下し、それ以外のウィンドウについては表示優先順位の変化はない。
この仮定の下でのTWの切替え手順は次のようになる。
(1)切替えの要求が発生した直後のフレーム走査期間(以下、走査期間という)に、DMAにより次の(1−1)から(1−4)を並列に実行する。
(1−1)画素14Aのうち、ウィンドウの存在する領域の画素のみを画像格納部B(12B)に上書きする。
(1−2)画素14Bのすべての画素を画像格納部A(12A)に上書きする。
(1−3)情報15Aのうち、ウィンドウ番号がTWの切替え前のTWであるウィンドウのウィンドウ情報のみをウィンドウ情報格納部B(13B)へ上書きする。
(1−4)情報15Bのうち、新しいTWとなるウィンドウ番号の領域のみの情報をウィンドウ情報格納部A(13A)へ上書きし、その他の領域には0(背景ウィンドウ番号)を上書きする。
(2)手順(1)の終了直後の垂直帰線期間に常に2入力演算部Y(16B)が画素14Dを選択・出力するように制御する。
(3)手順(2)の終了後に、(3−1)から(3−3)を実行する。但し、実行順序に制約はない。
(3−1)新しいTWとなるウィンドウのDMA転送だけでは足りない領域の画像(具体的には新しいウィンドウとなる完全なウィンドウの画像領域から仮想可視領域を除いた領域の画像)をウィンドウ画像管理部11により画像格納部A(12A)に描画する。
(3−2)新しいTWとなるウィンドウのDMA転送だけでは足りない領域のウィンドウ情報(具体的には新しいウィンドウとなる完全なウィンドウの画像領域から仮想可視領域を除いた領域のウィンドウ情報)をウィンドウ管理部11によりウィンドウ情報格納部A(13A)に書き込む。
(3−3)変化率格納部18の内容をウィンドウ管理部11により更新する。
(4)手順(3)終了直後の垂直帰線期間に、2入力演算部Y(16B)の制御を通常の制御に戻す。
(5)新しいTWの、TWの切替え前の表示優先順位よりも低い優先順位であるウィンドウに対して、TWの切替え後の仮想可視領域から切替え前のそれを除外して得られる領域の画像をウィンドウ管理部11により画像格納部B(12B)の対応する領域へ描画する。
(6)新しいTWの、TWの切替え前の表示優先順位よりも低い優先順位であるウィンドウに対して、TWの切替え後の仮想可視領域から切替え前のそれを除外して得られる領域のウィンドウ情報をウィンドウ管理部11によりウィンドウ情報格納部B(13B)の対応する領域へ書き込む。
背景ウィンドウを除くウィンドウが4枚のマルチウィンドウ画像において、表示優先順位3番目のウィンドウがTWに切り替わる過程の例を図3に示している。同図(b)は手順(1)、(c)は手順(3−1)、(d)が手順(3−2)、(e)が手順(5)と(6)が完了した時点での各メモリの内容を示している。同図の矢印は変化がないことを示している。
前記TWの切替え手順を実現するため、TWの切替え機能を付加したシステムの構造を図4に示す。点線の要素は図1と同じ構成要素を示しており、TWの切替えのために付加した部分を実線で示している。図4の構成には選択器19を除いた構成になっているが、これを付加した構成にしても構わない。
レジスタTWN303は、TWの切替えを制御するためのレジスタであり、切替え後のTWのウィンドウ番号が設定される。レジスタDMA302は、DMAを制御するためのレジスタであり、手順(1)の直前に1に設定され、手順(2)の直前に0に設定される。レジスタCTW301は、2入力演算部Y(16B)の機能を制御するためのレジスタであり、前記の切替え手順(2)において1に設定され、手順(4)において0に設定される。
比較器A304及び比較器B305はいずれも一致検出器であり、2つの入力が一致するときのみ1を出力する。また、各メモリのSIP及びSOPは、それぞれ、メモリセルアレイ1行分のバッファを内蔵するシリアル入力及び出力ポートであり、IEは入力イネーブル端子であり、IE=1である期間にSIPに入力されたデータのみを対応するアドレスに上書きする。SIPに対する書き込みアドレスは、SOPに対する読み込みアドレスと同じである。これら付加されたハードウェアにより手順(1)、(2)、(4)が実現される。
切替え前及び切替え後のTWを、それぞれW[i]及びW[j]とする。このときレジスタTWN303の内容はjとなる。手順(1−1)は、(情報15B)=jのときのみ、比較器A304の出力は1となり、この結果論理積回路306Aの出力が1となるので、jがウィンドウ情報格納部A(13A)に上書きされることで実現される。
手順(1−2)は、手順(1)の実行期間中レジスタDMA302の内容は1となっているので,画素14Bとして出力される画像が画像格納部A(12A)に上書きされることで実現される。
手順(1−3)と(1−4)は、(情報15A)=iのときのみ、比較器B305の出力は0となり、この結果、論理否定回路307Aを介して論理積回路306Bの出力が1となるのでiがウィンドウ情報格納部B(13B)上に上書きされるとともに情報15Aとして読み出されるW[i]の完全な画像が画像格納部B(12B)に上書きされることで実現される。
また、手順(2)は、レジスタCTW301が1に設定されると、論理否定回路307Bを介して論理積回路306Cの出力が0に設定されることで実現され、レジスタCTW301が0に設定されることによりこれが解除され手順(4)が実現される。
上述した図4のハードウェア構成によってTWの切替え過程に必要な画像の大部分をハードウェア的に処理し、CPUの負担を極力押さえる構成になっている。
本実例のマルチウィンドウシステムは、Microsoft社のWindowsNT4.0(登録商標)が搭載されているパーソナルコンピュータに実装を行っている。
本実例によるハードウェアは、図1、図2及び図4に従って試作し、PCI(Peripheral Components Interconnect)バス上に搭載した。画像格納部A(12A)、ウィンドウ情報格納部A(13A)、画像格納部B(12B)、及びウィンドウ情報格納部B(13B)はデュアルポートDRAMを用いて構成し、また、表示制御部20、TWの切替えに必要な回路構成は、PCIバスボード上に搭載されたFPGA(Field Programmable Gate Array)を用いて実装している。
本実例のウィンドウ管理部11はソフトウェアにより構成を行っている。このウィンドウ管理部11は、図5(ウィンドウ管理部は2点鎖線で囲まれた領域)に示すように、各ウィンドウを管理するウィンドウマネージャ52(鎖線に囲まれた領域)と、ウィンドウマネージャ52とPCIボード間のデータ転送を行うデバイスドライバ53とから構成される。WindowsNT4.0(登録商標)におけるウィンドウマネージャの機能は、描画時合成方式の原理に基づいてWin32API関数として実現されているが、この関数を改造することはできない。そこで本実例では、ウィンドウマネージャを1つのアプリケーションとして作成し、各ウィンドウに対応するアプリケーション間のメッセージの授受は、それらとWin32API関数間のメッセージをフックすることにより実現している。
ウィンドウ管理部11におけるウィンドウマネージャ52は、
・メイン関数群(MF)522:メッセージのフック及びその内容に応じた関数の起動
・ウィンドウ操作関数群(WF)523:ウィンドウの移動、リサイズ等の処理
・領域計算関数群(RF)526:各ウィンドウの仮想可視領域等の算出
・TWの切替え関数群(TWF)521:TWの切替えに関する処理
・COT制御関数群(COTC)524:変化率格納部18の更新
・管理データ(DS)527:各ウィンドウの形状、表示位置等の保持
・描画関数群(DF)525:画像、領域情報、読み出し開始アドレス、変化率格納部18のエントリ等の書き込み
で構成される。
・メイン関数群(MF)522:メッセージのフック及びその内容に応じた関数の起動
・ウィンドウ操作関数群(WF)523:ウィンドウの移動、リサイズ等の処理
・領域計算関数群(RF)526:各ウィンドウの仮想可視領域等の算出
・TWの切替え関数群(TWF)521:TWの切替えに関する処理
・COT制御関数群(COTC)524:変化率格納部18の更新
・管理データ(DS)527:各ウィンドウの形状、表示位置等の保持
・描画関数群(DF)525:画像、領域情報、読み出し開始アドレス、変化率格納部18のエントリ等の書き込み
で構成される。
ウィンドウ操作の実行に関するリクエストがWindowsNT4.0(登録商標)上のApplication50からWin32API51に到来すると、これをウィンドウマネージャ52のメイン関数MF522がフックを行う。TWの切替えの必要がある場合、まず、MF522がTWF521の関数をコールし、その関数がRF526の関数をコールすることにより、TWの切替え時に必要な諸情報(TWの切替え手順(3)、(5)、(6)の実行に必要な領域の計算及び表示位置)をDS527に生成する。次に、DF525を介してデバイスドライバ53をコールすることにより、TWの切替え処理を行う。そして、ウィンドウ操作関数群(WF)523の関数を適宜コールし、その関数が領域計算関数群(RF)526の関数をコールすることによりDS527における各ウィンドウの管理情報を更新する。最後に、DF525を介してデバイスドライバ53をコールすることにより、ウィンドウ操作の実行結果が表示画面に反映される。TWの切替えの必要がない場合、TWF521の関数をコールしないこと以外、同様となる。
ウィンドウに対する輝度の低下や透視化の処理の要求をMF522が検出すると、COTC524をコールする。COTC524は、輝度の低下及び透視化を処理する関数群に大別され、本実例では、Application50からWin32API51へ送られるメッセージのうち、それぞれ、マウスの右ダブルクリックによりコールされるよう設計している。COTC524は変化率格納部18であるメモリや透視フラグ格納部A(17A)及びB(17B)であるレジスタに対して値の更新を行う要求をDF525に対して行う。変化率格納部18のエントリの更新は、画面のちらつきを避けるために、これらの関数の起動直後の垂直帰線期間に実行されるよう設計している。
本実装におけるデバイスドライバ53は、ハードウェア54に搭載された画像格納部A(12A)、B(12B)、C(12C)、及びウィンドウ情報格納部A(13A)、B(13B)に対するメモリと、透視フラグ格納部A(17A)、B(17B)に対するレジスタや変化率格納部18に対するメモリをシステム仮想空間にマッピングし、ウィンドウマネージャ52のDF525から渡されるデータを基に上述のメモリやレジスタに画像データの描画や情報の格納の処理を行う。またこれらの処理のほかに、ドライバルーチンの初期化、終了、ハードウェアデバイスを認識するための処理を行っている。
なお、上記の説明は、本発明の実施例の1つに過ぎず、上記した実施の形態に限定されるものではなく、発明の要旨を変更しない範囲で、適宜変形して実行可能である。例えば、本実例では、ウィンドウ管理部11は、すべてソフトウェアを用いて構成しているが、例えばデバイスドライバ53部をハードウェア化として実現しても構わない。また、ウィンドウ管理部11の内部構成も図5の形態に限定したものではなく、例えば関数群の合併、細分化等の処理を行ってもよい。さらに、本実例はWindowsNT4.0(登録商標)をOSとするパーソナルコンピュータへ実装するためのものであり、例えばUNIX(登録商標)といった他のOSへ実装したものでもよい。但しその場合には、ウィンドウ管理部11を対応するOSで動作できるようソフトウェア部の関数の改変が必要となる。
また、本実例では操作の対象となるウィンドウの表示優先順位を常に最上位に固定しているが、これに限定したものではなく、操作の対象となるウィンドウの表示優先順位を任意とした構成でTWの切替え手順およびこれに関るハードウェア構成を変更しても構わない。
加えて、2入力演算部X(16A)、Y(16B)の回路構成も図2に示したものに限定したものではなく、例えば乗算器(161A、161B)は加算器との組み合わせで実現しても構わず、また、基本論理回路の組み合わせ(165と166A、167と166B)は、最終的な出力が同一のものとなれば、適宜他の論理回路を用いて構わない。さらに、例えば選択器(例えば162C)はすべて2−1マルチプレクサを使用しているが、これを他入力選択器を用いて回路変更をおこなってもよい。
また、TWの切替えに関るハードウェア構成も図4に示したものに限定したものではなく、例えば基本論理回路の組み合わせ(例えば307Aと306B)は、最終的な出力が同一のものとなれば、適宜他の論理回路を用いて構わない。
TWの切替え手順についても、ソフトウェア処理によるCPUの使用率の低減するためにメモリ間の転送を行うことを主旨としていれば、他の手順を用いた、本実例の図4以外のハードウェア構成に従っても構わない。
本実例では、画像格納部A(12A)、画像格納部B(12B)、ウィンドウ情報格納部A(13A)、ウィンドウ情報格納部B(13B)は同一のビットマップメモリを使用しているが、これに限定しているわけではなく、例えばSDRAMのようなグラフィックメモリ以外のものを使用して構成しても構わない。また、画像格納部C(12C)についても同様である。
尚、表示部21については、CRTディスプレイ及び液晶ディスプレイを想定しているが、この限りではなく、例えばプロジェクタ、プラズマディスプレイ等の表示装置でもよい。
本発明は、一般家庭におけるパーソナルコンピュータをはじめとする、マルチウィンドウ表示システムを使用した情報処理装置へ適用することにより、ユーザにウィンドウの識別性を向上させ、また、操作性を向上させることが可能になる。また、動画像解析システム等、処理に大きな負荷を要するコンピュータシステムにも適用できる。
W1:操作の対象となるウィンドウ
W2:操作の対象ではないウィンドウ画像の1つ
W3:操作の対象ではないウィンドウ画像の1つ
MSB:最上位ビット
IE:入力イネーブル
SIP:シリアル入力ポート
SOP:シリアル出力ポート
10:原画像格納部
11:ウィンドウ管理部
12A:画像格納部A
12B:画像格納部B
12C:画像格納部C
13A:ウィンドウ情報格納部A
13B:ウィンドウ情報格納部B
14A:画像格納部Aから表示部21のラスタ走査に同期して読み出される画素
14B:画像格納部Bから表示部21のラスタ走査に同期して読み出される画素
14C:画像格納部Cから表示部21のラスタ走査に同期して読み出される画素
14D:2入力演算部X(16A)から表示部21のラスタ走査に同期して読み出される画素
15A:ウィンドウ情報格納部Aから表示部21のラスタ走査に同期して読み出される情報
15B:ウィンドウ情報格納部Bから表示部21のラスタ走査に同期して読み出される情報
15C:選択器19から出力される情報
16A:2入力演算部X
16B:2入力演算部Y
161A:乗算器
161B:乗算器
162A:2−1マルチプレクサを主要な構成要素とする選択器
162B:2−1マルチプレクサを主要な構成要素とする選択器
162C:2−1マルチプレクサを主要な構成要素とする選択器
163:加算器
164:2の補数生成器
165:論理積(AND)回路
166A:論理否定回路
166B:論理否定回路
167:論理和(OR)回路
17A:透視フラグ格納部A
17B:透視フラグ格納部B
18:変化率格納部
19:選択器
20:表示制御部
21:表示部
301:TW切替えの開始を制御するレジスタCTW
302:DMA転送の開始を制御するレジスタDMA
303:TWとなるウィンドウ番号を格納するレジスタTWN
304:比較器
305:比較器
306A:論理積回路
306B:論理積回路
306C:論理積回路
307A:論理否定回路
307B:論理否定回路
50:アプリケーションソフトウェアプログラム
51:WindowsNT4.0(登録商標)のOSに存在するアプリケーション情報とウィンドウ制御の管理を行う関数であるWin32API
52:本実例で構成したウィンドウ管理部11内部の機構であるウィンドウマネージャ
521:TWの切替えに関する処理を行うTWの切替え関数群TWF
522:メッセージのフック及びその内容に応じた関数の起動を行うメイン関数群MF
523:ウィンドウの移動、リサイズ等の処理を行うウィンドウ操作関数群WF
524:変化率格納部18の更新を管理するCOT制御関数群COTC
525:画像、領域情報、読み出し開始アドレス、変化率格納部18のエントリ等の書き込みを管理する描画関数群DF
526:各ウィンドウの仮想可視領域等の算出を管理する領域計算関数群RF
527:各ウィンドウの形状、表示位置等の保持を管理する管理データDS
53:本実例で構成したウィンドウ管理部11内部の機構であるデバイスドライバ
54:本実例で構成したマルチウィンドウ表示用ハードウェア
W2:操作の対象ではないウィンドウ画像の1つ
W3:操作の対象ではないウィンドウ画像の1つ
MSB:最上位ビット
IE:入力イネーブル
SIP:シリアル入力ポート
SOP:シリアル出力ポート
10:原画像格納部
11:ウィンドウ管理部
12A:画像格納部A
12B:画像格納部B
12C:画像格納部C
13A:ウィンドウ情報格納部A
13B:ウィンドウ情報格納部B
14A:画像格納部Aから表示部21のラスタ走査に同期して読み出される画素
14B:画像格納部Bから表示部21のラスタ走査に同期して読み出される画素
14C:画像格納部Cから表示部21のラスタ走査に同期して読み出される画素
14D:2入力演算部X(16A)から表示部21のラスタ走査に同期して読み出される画素
15A:ウィンドウ情報格納部Aから表示部21のラスタ走査に同期して読み出される情報
15B:ウィンドウ情報格納部Bから表示部21のラスタ走査に同期して読み出される情報
15C:選択器19から出力される情報
16A:2入力演算部X
16B:2入力演算部Y
161A:乗算器
161B:乗算器
162A:2−1マルチプレクサを主要な構成要素とする選択器
162B:2−1マルチプレクサを主要な構成要素とする選択器
162C:2−1マルチプレクサを主要な構成要素とする選択器
163:加算器
164:2の補数生成器
165:論理積(AND)回路
166A:論理否定回路
166B:論理否定回路
167:論理和(OR)回路
17A:透視フラグ格納部A
17B:透視フラグ格納部B
18:変化率格納部
19:選択器
20:表示制御部
21:表示部
301:TW切替えの開始を制御するレジスタCTW
302:DMA転送の開始を制御するレジスタDMA
303:TWとなるウィンドウ番号を格納するレジスタTWN
304:比較器
305:比較器
306A:論理積回路
306B:論理積回路
306C:論理積回路
307A:論理否定回路
307B:論理否定回路
50:アプリケーションソフトウェアプログラム
51:WindowsNT4.0(登録商標)のOSに存在するアプリケーション情報とウィンドウ制御の管理を行う関数であるWin32API
52:本実例で構成したウィンドウ管理部11内部の機構であるウィンドウマネージャ
521:TWの切替えに関する処理を行うTWの切替え関数群TWF
522:メッセージのフック及びその内容に応じた関数の起動を行うメイン関数群MF
523:ウィンドウの移動、リサイズ等の処理を行うウィンドウ操作関数群WF
524:変化率格納部18の更新を管理するCOT制御関数群COTC
525:画像、領域情報、読み出し開始アドレス、変化率格納部18のエントリ等の書き込みを管理する描画関数群DF
526:各ウィンドウの仮想可視領域等の算出を管理する領域計算関数群RF
527:各ウィンドウの形状、表示位置等の保持を管理する管理データDS
53:本実例で構成したウィンドウ管理部11内部の機構であるデバイスドライバ
54:本実例で構成したマルチウィンドウ表示用ハードウェア
Claims (9)
- 文字や画像のウィンドウをマルチウィンドウ表示するマルチウィンドウ表示装置であって、表示部に画像を表示するために必要な背景ウィンドウの原画像と各ウィンドウの原画像(1又は2以上の)を格納する原画像格納部と、それぞれ独立に設けられた画像格納部A、B、Cと、前記画像格納部A、Bに対応してそれぞれ独立に設けられたウィンドウ情報格納部A、Bと、ウィンドウ管理部と、表示制御部と表示部を有し、
ウィンドウ管理部によって、
・画像格納部Aには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Bには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、原画像格納部より取り出して表示部で表示したい表示優先順位及び位置関係で重ね合わせてできる画像を格納し、
・画像格納部Cには、背景ウィンドウ画像の原画像を原画像格納部より取り出し格納し、
・ウィンドウ情報格納部Aには、前記画像格納部Aに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Bには、前記画像格納部Bに格納された画像のウィンドウが存在する領域とウィンドウが存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
表示制御部によって画像格納部A、B、Cから同時に読み出されたそれぞれの画素を、同様にウィンドウ情報格納部A、Bから同時に読み出された情報を基に画素を生成し、これを繰り返し行うことにより表示部へ所定の画像を表示するマルチウィンドウ表示装置。 - 前記マルチウィンドウ表示装置の表示制御部は、2入力演算部X、Yと、前記画像格納部A及びBの画像の透視化を行うか否かの情報を格納する透視フラグ格納部A、Bと、前記ウィンドウ管理部により、ウィンドウ情報格納部A、Bに格納された前記ウィンドウ情報に対し1対1に対応した0以上1以下の変化率αを格納する変化率格納部を有し、
2入力演算部Xは画像格納部B及びCの画素の色情報であるR、G、Bそれぞれの要素を入力とし、ウィンドウ情報格納部Bのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Aの値により演算方法を制御し、
2入力演算部Yは画像格納部A及び2入力演算部Xの出力画素の色情報であるR、G、Bそれぞれの要素を入力とし、ウィンドウ情報格納部Aのウィンドウ情報を基に変化率格納部によって導出された変化率及び透視フラグ格納部Bの値により演算方法を制御し、
2入力演算部Yの出力を行う表示制御部を備える請求項1記載のマルチウィンドウ表示装置。 - 前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部A、Bの値が共に透視化しない値の場合、
2入力演算部Xでは、ウィンドウ情報格納部Bの前記ウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×1+(画像格納部Cからの画素)×0
に相当する値を出力するよう制御を行う機能を有し、また、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×1+(2入力演算部Xの出力からの画素)×0
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置。 - 前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部A、Bの値が共に透視化しない値の場合では、前記変化率格納部によって導出される変化率αを用いて、
2入力演算部Xでは、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×α+(画像格納部Cからの画素)×0
に相当する値を出力するよう制御を行う機能を有し、また、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×α
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×α+(2入力演算部Xの出力からの画素)×0
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置。 - 前記マルチウィンドウ表示装置の表示制御部は、透視フラグ格納部A、Bの値の少なくとも一方が透視化する値の場合、前記変化率格納部によって導出される変化率αを用いて、透視フラグ格納部Aが透視化する値である場合には、
2入力演算部Xでは、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Bからの画素)×0+(画像格納部Cからの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Bのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Bからの画素)×α+(画像格納部Cからの画素)×(1−α)
に相当する値を出力するよう制御を行う機能を有し、
また、透視フラグBが透視化する値である場合には、
2入力演算部Yでは、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値であるときには、その演算は、
(画像格納部Aからの画素)×0+(2入力演算部Xの出力からの画素)×1
に相当する値を出力するよう制御し、ウィンドウ情報格納部Aのウィンドウ情報が、ウィンドウが存在しないことを示す値でないときには、
(画像格納部Aからの画素)×α+(2入力演算部Xの出力からの画素)×(1−α)
に相当する値を出力するよう制御を行う機能を有する表示制御部を備える請求項2に記載のマルチウィンドウ表示装置。 - 文字や画像のウィンドウをマルチウィンドウ表示するマルチウィンドウ画像の管理方法であって、表示部に画像を表示するために必要な背景ウィンドウの原画像と各ウィンドウの原画像(1又は2以上の)を格納する原画像格納部から、それぞれ独立に設けられた画像格納部A、B、Cに対して、
・画像格納部Aには、ユーザの操作の対象としているウィンドウの原画像を原画像格納部より取り出し格納し、
・画像格納部Bには、操作の対象とするウィンドウと背景ウィンドウ以外のすべてのウィンドウの原画像を、表示部で表示したい表示優先順位及び位置関係で原画像格納部より取り出して重ね合わせてできる画像を格納し、
・原画像格納部Cには、背景ウィンドウ画像の原画像を原画像格納部により取り出し格納し、
また、それぞれ独立に設けられたウィンドウ情報格納部A、Bに対して、
・ウィンドウ情報格納部Aには、前記画像格納部Aに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納し、
・ウィンドウ情報格納部Bには、前記画像格納部Bに格納されたウィンドウの存在する領域とウィンドウの存在しない領域とを少なくとも識別するウィンドウ情報を格納することを特徴とするマルチウィンドウ画像管理方法。 - 前記ウィンドウ情報格納部A及びウィンドウ情報格納部Bに格納される前記ウィンドウ情報には、ウィンドウが存在する領域にはそのウィンドウ固有の値を格納し、また存在しない領域には存在しないことを示す値あるいは背景ウィンドウ固有の値を格納することを特徴とする請求項1又は2又は3又は4又は5又は6に記載のマルチウィンドウ表示装置。
- 前記請求項6のマルチウィンドウ画像管理方法は、
操作の対象となるウィンドウが変更される際の画像格納部Aへ格納する画像を、原画像格納部の他に、画像格納部Bに格納されているウィンドウの画像から必要な領域を転送することによって得ることを特徴とする請求項6に記載のマルチウィンドウ画像管理方法。 - 前記請求項6のマルチウィンドウ画像管理方法は、
操作の対象となるウィンドウが変更される際の画像格納部Bへ格納する画像を、原画像格納部の他に、画像格納部Aに格納されているウィンドウの画像を転送することによって得ることを特徴とする請求項6に記載のマルチウィンドウ画像管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005078079A JP2006227555A (ja) | 2005-02-18 | 2005-02-18 | マルチウィンドウ表示装置及びマルチウィンドウ画像管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005078079A JP2006227555A (ja) | 2005-02-18 | 2005-02-18 | マルチウィンドウ表示装置及びマルチウィンドウ画像管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006227555A true JP2006227555A (ja) | 2006-08-31 |
Family
ID=36988955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005078079A Pending JP2006227555A (ja) | 2005-02-18 | 2005-02-18 | マルチウィンドウ表示装置及びマルチウィンドウ画像管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006227555A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010060623A (ja) * | 2008-09-01 | 2010-03-18 | Nec Corp | マルチ画像表示システム、画像処理方法及びプログラム |
CN108200287A (zh) * | 2017-12-29 | 2018-06-22 | 努比亚技术有限公司 | 一种信息处理方法、终端和计算机可读存储介质 |
JP2020122662A (ja) * | 2019-01-29 | 2020-08-13 | 興和株式会社 | 表面検査用照明装置及び表面検査装置 |
-
2005
- 2005-02-18 JP JP2005078079A patent/JP2006227555A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010060623A (ja) * | 2008-09-01 | 2010-03-18 | Nec Corp | マルチ画像表示システム、画像処理方法及びプログラム |
CN108200287A (zh) * | 2017-12-29 | 2018-06-22 | 努比亚技术有限公司 | 一种信息处理方法、终端和计算机可读存储介质 |
JP2020122662A (ja) * | 2019-01-29 | 2020-08-13 | 興和株式会社 | 表面検査用照明装置及び表面検査装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6911983B2 (en) | Double-buffering of pixel data using copy-on-write semantics | |
CA2044931C (en) | Multiwindow display control method and apparatus | |
JP3286331B2 (ja) | ブロックテクスチャコンプレックスクリップマスクプロセッサ | |
US5218674A (en) | Hardware bit block transfer operator in a graphics rendering processor | |
US5251298A (en) | Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses | |
JPH11167378A (ja) | 画像をスケーリングする方法 | |
JPS6088996A (ja) | 多重デ−タウインドウ表示システム | |
JP6230076B2 (ja) | 仮想サーフェス割り当て | |
US9235925B2 (en) | Virtual surface rendering | |
JP2015207287A (ja) | 映像表示システム | |
CN116821040B (zh) | 基于gpu直接存储器访问的显示加速方法、装置及介质 | |
JP2006227555A (ja) | マルチウィンドウ表示装置及びマルチウィンドウ画像管理方法 | |
JP3191159B2 (ja) | 図形情報を処理する装置 | |
CN112346890B (zh) | 一种复杂图形离屏渲染方法及系统 | |
JPS59231591A (ja) | 画像表示装置 | |
JP2010164972A (ja) | 画像ドローイング方法及び装置 | |
US11222161B1 (en) | Grid magnifier | |
JPH1069548A (ja) | コンピュータ・グラフィックス・システム | |
JP2001228818A (ja) | 表示装置 | |
US9582158B2 (en) | Efficient usage of screen real estate on an electronic device | |
JPH06214744A (ja) | マルチウィンドウ表示装置 | |
JPH04127195A (ja) | マルチウインドウ表示制御方法および装置 | |
US6972770B1 (en) | Method and apparatus for performing raster operations in a data processing system | |
JP2002258827A (ja) | 画像表示装置 | |
Sato et al. | A multiwindow system for smooth window operations by the combination of drawing‐period generation method and display‐period generation method |