(57)【要約】【課題】より短時間で表示データを作成でき、メモリ消費量がより少ないマルチウィンドウ管理方法を提供する。【解決手段】表示変更に係るウィンドウが透過性ウィンドウなら対応するバッファに描画データを格納し、非透過性ウィンドウなら全画面バッファに描画データを格納する（Ｓ１００〜Ｓ１０２）。そして、更新領域に相当する大きさの合成用バッファを確保して（Ｓ１０３、Ｓ１０４）、描画データをコピーする（Ｓ１０５）。透過性ウィンドウがあれば、最背景の透過性ウィンドウから順に、そのクリップ領域と更新領域との重複部分を合成する（Ｓ１０６〜Ｓ１１１）。Ｓ１０６かＳ１００でＮｏなら、合成したデータをビデオメモリにコピーして画面表示し（Ｓ１１２）、合成用バッファを解放する（Ｓ１１３）。【選択図】　図５
2004062462.tif 000002
【特許請求の範囲】
【請求項１】
透過性ウィンドウと非透過性ウィンドウとをオーバーラップして画面表示するマルチウィンドウ管理方法であって、
画面表示する非透過性ウィンドウの描画データを、一の非透過性ウィンドウ用記憶領域に格納する非透過性ウィンドウ格納ステップと、
透過性ウィンドウの描画データを、透過性ウィンドウ毎の記憶領域に格納する透過性ウィンドウ格納ステップと、
透過性ウィンドウまたは非透過性ウィンドウの描画データの変更を契機として、前記非透過性ウィンドウ用記憶領域の描画データと前記透過性ウィンドウに係る記憶領域の描画データとを合成する合成ステップと
を備えることを特徴とするマルチウィンドウ管理方法。
【請求項２】
前記描画データの変更に係る、表示画面の更新領域を決定する更新領域決定ステップを備え、
前記合成ステップは、透過性ウィンドウの前記更新領域に相当する描画データであって、かつ、当該透過性ウィンドウのクリップ領域に相当する描画データと、前記非透過性ウィンドウ用記憶領域の前記更新領域に相当する描画データとを合成する
ことを特徴とする請求項１に記載のマルチウィンドウ管理方法。
【請求項３】
前記合成ステップにて合成される描画データを格納するための合成用記憶領域を確保する記憶領域確保ステップと、
前記合成ステップにて合成された描画データが画面表示されると、前記合成用記憶領域を解放する記憶領域解放ステップと
を備えることを特徴とする請求項２に記載のマルチウィンドウ管理方法。
【請求項４】
前記合成ステップは、前記合成した描画データのみを画面表示用の記憶領域に格納する
ことを特徴とする請求項２に記載のマルチウィンドウ管理方法。
【請求項５】
請求項１から請求項４のいずれかに記載のマルチウィンドウ管理方法をコンピュータに実行させる
ことを特徴とするマルチウィンドウ管理プログラム。
【請求項６】
透過性ウィンドウと非透過性ウィンドウとをオーバーラップして画面表示するマルチウィンドウ管理装置であって、
画面表示する非透過性ウィンドウの描画データを、一の非透過性ウィンドウ用記憶領域に格納する非透過性ウィンドウ格納手段と、
透過性ウィンドウの描画データを、透過性ウィンドウ毎の記憶領域に格納する透過性ウィンドウ格納手段と、
透過性ウィンドウまたは非透過性ウィンドウの描画データの変更を契機として、前記非透過性ウィンドウ用記憶領域の描画データと前記透過性ウィンドウに係る記憶領域の描画データとを合成する合成手段と
を備えることを特徴とするマルチウィンドウ管理装置。
【請求項７】
前記描画データの変更に係る、表示画面の更新領域を決定する更新領域決定手段を備え、
前記合成手段は、透過性ウィンドウの前記更新領域に相当する描画データであって、かつ、当該透過性ウィンドウのクリップ領域に相当する描画データと、前記非透過性ウィンドウ用記憶領域の前記更新領域に相当する描画データとを合成する
ことを特徴とする請求項１に記載のマルチウィンドウ管理装置。
【請求項８】
前記合成手段にて合成される描画データを格納するための合成用記憶領域を確保する記憶領域確保手段と、
前記合成手段にて合成された描画データが画面表示されると、前記合成用記憶領域を解放する記憶領域解放手段と
を備えることを特徴とする請求項２に記載のマルチウィンドウ管理装置。
【請求項９】
前記合成手段は、前記合成した描画データのみを画面表示用の記憶領域に格納する
ことを特徴とする請求項２に記載のマルチウィンドウ管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチウィンドウ管理方法、マルチウィンドウ管理システムおよびマルチウィンドウ管理装置に関し、特に、透過性ウィンドウをサポートするマルチウィンドウ管理方法、マルチウィンドウ管理システムおよびマルチウィンドウ管理装置の性能を改善する技術に関する。
【０００２】
【従来の技術】
近年、コンピュータのＧＵＩ（Ｇｒａｐｈｉｃａｌ　Ｕｓｅｒ　Ｉｎｔｅｒｆａｃｅ）としてマルチウィンドウ・システムが、ポインティング・デバイスと共に広く普及している。マルチウィンドウ・システムは限られた表示画面上により多くの情報を表示することができるばかりでなく、ポインティング・デバイスを併用することにより優れた操作性を発揮する。
【０００３】
しかしながら、マルチウィンドウ・システムは未だ完成したものとは考えられておらず、更により良いものとするための研究開発が続けられている。このような研究開発の成果のひとつに透過性ウィンドウ表示システムがある。
透過性ウィンドウ表示システムは、オーバーラップ・ウィンドウ方式のマルチウィンドウ・システムにおいて、透過性ウィンドウが他のウィンドウ上に重ねあわされた場合に、恰も透過性ウィンドウを透かして見えているかのように当該他のウィンドウを表示するシステムである。このようにすれば、優れた審美性を実現することができるのみならず、より限られた表示画面上に更に多くの情報を表示させることができる。
【０００４】
例えば、別のウィンドウの表示内容を参照しながら、他のウィンドウの表示内容を編集するような場合であって、かつ、表示画面の広さがごく限られているような場合、従来であれば頻繁にウィンドウを切り替えながら前記編集入力を実行しなければならないところ、透過性ウィンドウ表示システムを採用すれば、編集用のウィンドウを透かして他のウィンドウを参照することができるので、優れた操作性を達成することができる。
【０００５】
このような透過性ウィンドウ表示システム実現するに際しては、例えば、先ず、各ウィンドウの表示内容を、それぞれ対応するバッファに保存した後、最も背景に配置されるウィンドウから最も前景に配置するウィンドウに向かう順に各バッファからデータを読み出して、表示画面上にウィンドウを表示するといった方法が採用されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような従来技術では表示画面上に表示すべきウィンドウの描画データを作成するための処理に時間がかかる、という問題がある。また、上記従来技術においては、表示画面上に表示すべき各ウィンドウの描画データを個別に保持しておくために、相当数のバッファを確保しなければならないために、メモリ消費量が大きくなる、という問題もある。
【０００７】
本発明は、上記のような問題に鑑みて為されたものであって、透過性ウィンドウと非透過性ウィンドウとをオーバーラップして画面表示させる場合において、より短時間で表示データを作成でき、かつ、メモリ消費量がより少ないマルチウィンドウ管理方法、マルチウィンドウ管理プログラム、およびマルチウィンドウ管理装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るマルチウィンドウ管理方法は、透過性ウィンドウと非透過性ウィンドウとをオーバーラップして画面表示するマルチウィンドウ管理方法であって、画面表示する非透過性ウィンドウの描画データを、一の非透過性ウィンドウ用記憶領域に格納する非透過性ウィンドウ格納ステップと、透過性ウィンドウの描画データを、透過性ウィンドウ毎の記憶領域に格納する透過性ウィンドウ格納ステップと、透過性ウィンドウまたは非透過性ウィンドウの描画データの変更を契機として、前記非透過性ウィンドウ用記憶領域の描画データと前記透過性ウィンドウに係る記憶領域の描画データとを合成する合成ステップとを備えることを特徴とする。
【０００９】
このようにすれば、従来技術のように、非透過性ウィンドウ毎に描画データを格納するための記憶領域を確保する場合との比較において、より少ないメモリ消費量で透過性ウィンドウと非透過性ウィンドウとをオーバーラップして画面表示させることができる。
また、前記描画データの変更に係る、表示画面の更新領域を決定する更新領域決定ステップを備え、前記合成ステップは、透過性ウィンドウの前記更新領域に相当する描画データであって、かつ、当該透過性ウィンドウのクリップ領域に相当する描画データと、前記非透過性ウィンドウ用記憶領域の前記更新領域に相当する描画データとを合成することを特徴とする。
【００１０】
このようにすれば、透過性ウィンドウまたは非透過性ウィンドウに係る描画データを更新する際に、当該描画データの更新に係る更新領域であって、かつ、透過性ウィンドウのクリップ領域であるような画面領域においてのみ描画データの合成を実行するので、前記従来技術による場合との比較において、描画データの合成処理量を低減することができる。したがって、より短時間で表示データを作成することができる。
【００１１】
更に、前記合成ステップにて合成される描画データを格納するための合成用記憶領域を確保する記憶領域確保ステップと、前記合成ステップにて合成された描画データが画面表示されると、前記合成用記憶領域を解放する記憶領域解放ステップとを備えることを特徴とする。
このようにすれば、描画データの更新をするときにのみ合成用記憶領域を確保し、合成された描画データが画面表示されると、当該合成用記憶領域を解放するので、常に合成用記憶領域を確保する場合の比較において、不必要にメモリ空間を占有することがない。したがって、より効率の良くメモリ資源を利用することができる。
【００１２】
或いは、前記合成ステップは、前記合成した描画データのみを画面表示用の記憶領域に格納することを特徴とする。すなわち、画面表示するデータを格納すべきビデオ・メモリ、またはビデオ・メモリに相当する記憶領域に合成した描画データを格納するとすれば、メイン・メモリの消費量を低減して、より効率的にメモリ資源を利用することができる。
【００１３】
本発明に係るマルチウィンドウ管理プログラムは、上述のようなマルチウィンドウ管理方法をコンピュータに実行させることを特徴とする。このようにすれば、コンピュータを利用して、透過性ウィンドウと非透過性ウィンドウをオーバーラップして画面表示させる際に、上に述べたのと同様に本発明の効果を得ることができる。
【００１４】
本発明に係るマルチウィンドウ管理装置は、透過性ウィンドウと非透過性ウィンドウとをオーバーラップして画面表示するマルチウィンドウ管理装置であって、画面表示する非透過性ウィンドウの描画データを、一の非透過性ウィンドウ用記憶領域に格納する非透過性ウィンドウ格納手段と、透過性ウィンドウの描画データを、透過性ウィンドウ毎の記憶領域に格納する透過性ウィンドウ格納手段と、透過性ウィンドウまたは非透過性ウィンドウの描画データの変更を契機として、前記非透過性ウィンドウ用記憶領域の描画データと前記透過性ウィンドウに係る記憶領域の描画データとを合成する合成手段とを備えることを特徴とする。
【００１５】
このようにすれば、上記従来技術におけるように、非透過性ウィンドウ毎に描画データを格納するための記憶領域を確保する場合との比較において、メモリ消費量をより少なく抑えながら、同時に、透過性ウィンドウと非透過性ウィンドウとをオーバーラップして画面表示させることができる。
また、前記描画データの変更に係る、表示画面の更新領域を決定する更新領域決定手段を備え、前記合成手段は、透過性ウィンドウの前記更新領域に相当する描画データであって、かつ、当該透過性ウィンドウのクリップ領域に相当する描画データと、前記非透過性ウィンドウ用記憶領域の前記更新領域に相当する描画データとを合成することを特徴とする。
【００１６】
このようにすれば、透過性ウィンドウまたは非透過性ウィンドウに係る描画データを更新する際に、当該更新に係る更新領域であって、かつ透過性ウィンドウのクリップ領域においてのみ描画データの合成を実行するので、前記従来技術におけるように、すべての透過性ウィンドウの全描画領域について合成処理をする場合との比較において、描画データの合成処理量を低減することができる。したがって、より短時間で表示データを作成することができる。
【００１７】
また、前記合成手段にて合成される描画データを格納するための合成用記憶領域を確保する記憶領域確保手段と、前記合成手段にて合成された描画データが画面表示されると、前記合成用記憶領域を解放する記憶領域解放手段とを備えることを特徴とする。このようにすれば、描画データの更新をするときにのみ合成用記憶領域を確保し、合成された描画データが画面表示されると、当該合成用記憶領域を解放するので、合成用記憶領域として常時、メモリ空間を占有し続けることがないので、更に効率の良くメモリ資源を利用することができる。
【００１８】
或いは、前記合成手段は、前記合成した描画データのみを画面表示用の記憶領域に格納することを特徴とする。ここで、画面表示用の記憶領域とは、いわゆるビデオ・メモリ、或いはビデオ・メモリに相当する記憶装置における記憶領域であって、当該記憶領域に描画データを格納すると、格納された描画データに応じた画面表示が為されるようなものをいう。かかる記憶領域に合成した描画データを格納するとすれば、メイン・メモリの消費量を低減して、より効率的にメモリ資源を利用することができる。
【００１９】
【発明の実施の形態】
以下、本発明に係る透過性ウィンドウ表示装置の実施の形態について、マルチウィンドウ表示システムを例にとり、図面を参照しながら説明する。
［１］　ハードウェア構成
先ず、本実施の形態に係るマルチウィンドウ表示システムのハードウェア構成について説明する。図１は、本実施の形態に係るマルチウィンドウ表示システムの典型的なハードウェア構成を示すハードウェア構成図である。図１に示すように、マルチウィンドウ表示システム１は、ディスプレイ装置１０、Ｄ／Ａ（Ｄｉｇｉｔａｌ　ｔｏ　Ａｎａｌｏｇｕｅ）変換器１１、ビデオ・メモリ１２、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）等を備えている。
【００２０】
前記ビデオ・メモリ１２、ＣＰＵ１４、メイン・メモリ１５、外部記憶装置１６、および入力制御部１７は、内部バス１３を介して、ＣＰＵ１４からアクセスできるように接続されている。ＣＰＵ１４は、外部記憶装置１６に格納されているアプリケーション・プログラムを読み出して、メイン・メモリ１５上に展開し、実行する。
【００２１】
また、ＣＰＵ１４が、メイン・メモリ１５上に作成した表示データをビデオ・メモリ１２上に展開すると、ビデオ・メモリ１２上に展開された表示データは、Ｄ／Ａ変換器１１によってアナログ信号（図１においては、赤色信号、緑色信号、青色信号）に変換される。なお、緑色信号には、同期信号が重畳されており、Ｄ／Ａ変換器は、このようなアナログ信号を出力することによって、ディスプレイ装置１０に前記表示データを画像表示させる。
【００２２】
なお、図１においては、Ｄ／Ａ変換器１１が出力する信号をアナログ信号としたが、アナログ信号に代えてディジタル信号を出力するとしても良い。また、ディスプレイ装置１１は、ＣＲＴ（Ｃａｔｈｏｄｅ　Ｒａｙ　Ｔｕｂｅ）装置であるとしても良いし、液晶ディスプレイ装置その他のディスプレイ装置であっても本発明を実施することができる。
【００２３】
また、マルチウィンドウ表示システム１は、周辺機器としてマウス１８とキーボード１９とを備えている。マウス１８やキーボード１９を用いて入力されたデータは、入力制御部１７を経由してＣＰＵ１４に伝達される。なお、データ入力に用いる周辺機器はマウス１８やキーボード１９に限定されず、これらに代えて、或いは、これらと共にリモートコントローラその他のキーパッドを用いるとしても良い。いかなる、入力装置が接続されているかに関わらず、本発明を実施してその効果を発揮させることができる。
【００２４】
［２］　ソフトウェア構成
次に、本実施の形態に係るマルチウィンドウ表示システム１が実行するソフトウェアの構成について説明する。図２は、マルチウィンドウ表示システム１の典型的なソフトウェア構成を示すソフトウェア構成図である。マルチウィンドウ表示システム１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）等の基本ソフトウェア（図示省略）の他に、アプリケーション・プログラム＃１〜＃Ｎ、及び、マルチウィンドウ管理プログラム２０を実行している。
【００２５】
本実施の形態に係るマルチウィンドウ管理プログラム２０は、アプリケーション・プログラム＃１〜＃Ｎからの要求に応じてディスプレイ装置１１にウィンドウを表示させる。係る処理に際して、マルチウィンドウ管理プログラム２０は、表示させるべき画像データやウィンドウ毎の管理情報等をメイン・メモリ１５に格納する。
【００２６】
［３］　マルチウィンドウ管理プログラム２０の動作
次に、マルチウィンドウ表示システム１が実行するマルチウィンドウ管理プログラム２０の動作について説明する。
［３−１］　マルチウィンドウ管理プログラム２０が管理する記憶領域
マルチウィンドウ管理プログラム２０は、メイン・メモリ１５上で３種類の記憶領域を管理している。すなわち、全画面バッファ、透過性ウィンドウ・バッファ、および合成バッファである。
【００２７】
全画面バッファは、非透過性ウィンドウに係るデータを格納するためのバッファであって、ディスプレイ装置１１に表示させるべき非透過性ウィンドウの数に関わらず、常に１の記憶領域が確保されており、当該記憶領域に非透過性ウィンドウがＺ順序に応じて重ねあわされた状態で格納されている。
ここで、Ｚ順序とは、ウィンドウが透過性であるか、或いは非透過性であるかに関わらず、ウィンドウ間の関係を表わすために各ウィンドウに割り当てられたパラメータである。各ウィンドウはＺ順序に従って、互いに前景に表示されるべきか、或いは、背景に表示されるべきかを定められる。
【００２８】
透過性ウィンドウ・バッファは、透過性ウィンドウに係るデータを格納するためのバッファであって、ディスプレイ装置１１に表示させるべき透過性ウィンドウ毎に対応する記憶領域を確保する。なお、本明細書において、透過性ウィンドウは全透過性ウィンドウ（ｔｒａｎｓｐａｒｅｎｔ　ｗｉｎｄｏｗ）と半透過性ウィンドウ（ｔｒａｎｓｌｕｃｅｎｔ　ｗｉｎｄｏｗ）との両方を含むものとする。
【００２９】
全透過性ウィンドウとは、全透過性の領域を有するウィンドウであり、全透過性の領域とは、全透過性ウィンドウ内の背景のウィンドウがそのまま表示される領域をいう。また、半透過性ウィンドウは、半透過性の領域を有するウィンドウであり、半透過性の領域とは、所定の合成アルゴリズムにより背景のウィンドウと半透過性ウィンドウとが合成される領域をいう。
【００３０】
以下に、当該合成アルゴリズムの一例を示す。透過性ウィンドウの画素の明度を原色毎にＲｆ、Ｇｆ、Ｂｆとし、当該画素と同座標に位置する背景画素の明度を、これも原色毎に、Ｒｂ、Ｇｂ、Ｂｂとする。そして、合成後の画素の明度をＲ、Ｇ、Ｂを次式により得る。
Ｒ　＝　（１−αｒ）Ｒｆ　＋　αｒＲｂ
Ｇ　＝　（１−αｇ）Ｇｆ　＋　αｒＧｂ
Ｂ　＝　（１−αｂ）Ｂｆ　＋　αｒＢｂ
ここで、係数αｒ、αｇ、およびαｂが、０＜αｒ＜１、０＜αｇ＜１、０＜αｂ＜１であれば、半透過性ウィンドウとなる。また、係数αｒ、αｇ、およびαｂがいずれもゼロの場合には非透過性ウィンドウとなり、係数αｒ、αｇ、およびαｂがいずれも１の場合には全透過性ウィンドウとなる。
【００３１】
合成バッファは、ディスプレイ装置１１の表示状態を変更するたびに取得される記憶領域であり、表示画面中の変更部分であって、特に透過性ウィンドウに係る領域の表示データが格納される。なお、合成バッファは、ディスプレイ装置１１の表示状態の変更が完了すると解放される。
［３−２］　表示画面の変更手順
次に、ディスプレイ装置１１の表示内容の変更手順について具体的な表示変更例を示しながら説明する。
【００３２】
［３−２−１］　第１の表示変更例
先ず、予め３つのウィンドウがディスプレイ装置１１の表示画面に表示されている場合、すなわち、最も背景に非透過性ウィンドウが、その前景に透過性ウィンドウが、そして、最も前景に非透過性ウィンドウが表示されている場合に、前記透過性ウィンドウの描画データを変更する具体例を取り上げて、ディスプレイ装置１１の表示内容の変更手順について説明する。
【００３３】
図３は、背景から非透過性ウィンドウ、透過性ウィンドウ、非透過性ウィンドウの順に表示されている場合に、前記透過性ウィンドウの描画データを変更に際して、各バッファの内容が変化する様子を示す模式図である。本表示変更例においては、図３（ａ）に示すように、ディスプレイ装置１１の表示状態が表示状態３０から表示状態３１へと変更される。
【００３４】
さて、ディスプレイ装置１１の表示状態３０に対応して、図３（ｂ）に示すように、全画面バッファ３２には予め非透過性ウィンドウ３２０、３２１のデータが格納されている。また、ウィンドウ・バッファ３３には透過性ウィンドウ３３０のデータが格納されている。
このような状態で、透過性ウィンドウ３３０に係るアプリケーション・プログラムが新たに図形（図３においては円。）を画面表示しようとすると、マルチウィンドウ管理プログラム２０に対して描画要求がなされる。すると、マルチウィンドウ管理プログラム２０は、当該要求に応じて、透過性ウィンドウ３３０に係るウィンドウ・バッファ３３に円３３１の描画データを格納する。
【００３５】
次いで、マルチウィンドウ管理プログラム２０は、当該描画に係る更新領域を特定する。本表示変更例においては、透過性ウィンドウ３３０全体を更新領域とする。そして更新領域の大きさに応じた記憶領域を合成用バッファ３４として確保し、全画面バッファ３２の前記更新領域に対応する部分３２２（破線で囲まれている部分）を当該合成用バッファ３４にコピーする。
【００３６】
マルチウィンドウ管理プログラム２０は、合成対象ウィンドウである透過性ウィンドウ３３０のクリップ領域３３２（図中の破線で囲まれている部分）と前記更新領域とが互いに重複しているかを確認する。本表示変更例においては、合成対象ウィンドウである透過性ウィンドウ３３０のクリップ領域３３２と前記更新領域が互いに重複しているので、合成用バッファ３４と透過性ウィンドウ３３０のクリップ領域３３２とを合成して、得られたデータを合成用バッファ３４に格納する。
【００３７】
本表示変更例においては、透過性ウィンドウは透過性ウィンドウ３３０だけであるので、マルチウィンドウ管理プログラム２０は合成処理を終了して、合成用バッファの内容を前記ビデオ・メモリ１２の対応する領域にコピーする。以上のようにして、ディスプレイ装置１１の表示状態が表示状態３０から表示状態３１に変更される。
【００３８】
［３−２−２］　第２の表示変更例
上記第１の表示変更例においては、前記透過性ウィンドウ３３０の描画データを変更する場合を取り上げ、マルチウィンドウ管理プログラム２０の動作について説明したが、第２の表示変更例においては、これに代えて、非透過性ウィンドウの描画データを変更する場合について説明する。
【００３９】
図４は、背景から非透過性ウィンドウ、透過性ウィンドウ、非透過性ウィンドウの順に表示されている場合に、再背景に配置されている非透過性ウィンドウの描画データを変更するに際して、各バッファの内容が変化する様子を示す模式図である。本表示変更例においては、図４（ａ）に示すように、ディスプレイ装置１１の表示状態が表示状態４０から表示状態４１へと変更される。
【００４０】
さて、ディスプレイ装置１１の表示状態４０に対応して、図４（ｂ）に示すように、全画面バッファ４２には予め非透過性ウィンドウ４２０、４２１のデータが格納されている。また、ウィンドウ・バッファ４３には透過性ウィンドウ４３０のデータが格納されている。
このような状態で、非透過性ウィンドウ４２１に係るアプリケーション・プログラムが新たに図形（図４においては円。）を表示しようとすると、マルチウィンドウ管理プログラム２０に対して描画要求がなされる。すると、マルチウィンドウ管理プログラム２０は、当該要求に応じて、全画面バッファ４２に円４２２の描画データを格納する。
【００４１】
次いで、マルチウィンドウ管理プログラム２０は、当該描画に係る更新領域を特定する。本表示変更例においては、非透過性ウィンドウ４２１全体を更新領域とする。そして更新領域の大きさに応じた記憶領域を合成用バッファ４４として確保し、全画面バッファ４２の前記更新領域に対応する部分４２３（破線で囲まれている部分）を当該合成用バッファ４４にコピーする。
【００４２】
マルチウィンドウ管理プログラム２０は、合成対象ウィンドウである透過性ウィンドウ４３０のクリップ領域４３１（破線で囲まれている部分）と前記更新領域とが互いに重複しているかを確認する。本表示変更例においては、合成対象ウィンドウである透過性ウィンドウ４３０のクリップ領域４３１と前記更新領域が重複している。したがって、合成用バッファ４４と透過性ウィンドウ４３０のクリップ領域４３１とを合成して、得られたデータを合成用バッファ４４に格納する。
【００４３】
本表示変更例においては、透過性ウィンドウは透過性ウィンドウ４３０だけであるので、マルチウィンドウ管理プログラム２０は合成処理を終了して、合成用バッファの内容を前記ビデオ・メモリ１２の対応する領域にコピーする。以上のようにして、ディスプレイ装置１１の表示状態が表示状態４０から表示状態４１に変更される。
【００４４】
［３−３］　マルチウィンドウ管理プログラム２０の処理フロー
上記のような処理を実行するマルチウィンドウ管理プログラム２０の処理フローについて説明する。図５は、マルチウィンドウ管理プログラム２０が実行する処理フローに関するフローチャートである。
図５に示すように、マルチウィンドウ管理プログラム２０は、アプリケーション・プログラムから描画要求を受け付けると、描画対象のウィンドウの属性を参照して、描画対象のウィンドウが透過性ウィンドウであるか非透過性ウィンドウであるかを確認する。そして、描画対象のウィンドウが透過性ウィンドウである場合には（ステップＳ１００：Ｙｅｓ）、当該透過性ウィンドウに対応するウィンドウ・バッファに要求された図形や文字の描画データを格納する（ステップＳ１０１）。
【００４５】
描画対象のウィンドウが非透過性ウィンドウである場合には（ステップＳ１００：Ｎｏ）、全画面バッファに要求された図形や文字の描画データを格納する（ステップＳ１０２）。この場合、描画を要求された図形等のうち、当該非透過性ウィンドウのクリップ領域に対応する部分のみの描画データを格納するとしても良いし、非透過性ウィンドウに係るすべてのアプリケーション・プログラムに対してそれぞれ非透過性ウィンドウの描画データを再度、格納するように指示し、全画面バッファを更新するとしても良い。
【００４６】
さて、次にマルチウィンドウ管理プログラム２０は、描画対象のウィンドウ中の更新領域を特定する（ステップＳ１０３）。上述の表示変更例では、描画要求に係るウィンドウ全体を更新領域としたが、更新領域の決定の仕方はこれに限定されない。
例えば、描画要求に係る図形が直線である場合には、その両端点を頂点とする長方形を更新領域としても良いし、描画要求に係る図形が三角形である場合には、当該三角形の３つの頂点から当該三角形を含む最小の長方形を決定し、当該長方形を更新領域としても良い。更新領域の決定の仕方に関わらず、本発明を実施して、その効果を奏させることができる。
【００４７】
次に、マルチウィンドウ管理プログラム２０は、上で特定した更新領域の大きさに相当する大きさの合成用バッファをメイン・メモリ１５上に取得する（ステップＳ１０４）。そして、取得した合成用バッファに更新領域の描画内容をコピーする（ステップＳ１０５）。
次いで、マルチウィンドウ管理プログラム２０は、表示すべきウィンドウの中に透過性ウィンドウがあるか否かを確認する。そして、表示すべきウィンドウの中に透過性ウィンドウがあれば（ステップＳ１０６：Ｙｅｓ）、そのような透過性ウィンドウのうちで最も背景に配されている透過性ウィンドウを合成対象ウィンドウとする（ステップＳ１０７）。
【００４８】
マルチウィンドウ管理プログラム２０は、合成対象ウィンドウのクリップ領域と更新領域とが重なっているか否かを確認し、これらのウィンドウが表示画面上で重なっていたら、重なっている部分を前述したような方法で合成する（ステップＳ１０９）。
ステップＳ１０８でＮｏの場合、または、ステップＳ１０９の処理の後、マルチウィンドウ管理プログラム２０は、未だ合成対象となっていない透過性ウィンドウがあるか否か確認して、未処理の透過性ウィンドウがあれば（ステップＳ１１０：Ｙｅｓ）、未処理の透過性ウィンドウのうちで、最も背景に配されている透過性ウィンドウを合成対象ウィンドウとし（ステップＳ１１１）、ステップＳ１０８の処理に進む。
【００４９】
ステップＳ１０６または、ステップＳ１００でＮｏの場合には、更新領域に対して合成すべき透過性ウィンドウがないので、合成処理を終了して、合成用バッファのデータをビデオ・メモリ１２にコピーし（ステップＳ１１２）、ディスプレイ装置１０に変更後の画面表示を行なわせる。マルチウィンドウ管理プログラム２０は以上の処理を完了すると、合成用バッファを解放して（ステップＳ１１３）、画面表示の変更に係る一切の処理を終了する。
【００５０】
［４］　変形例
以上、本発明を実施の形態に基づいて説明してきたが、本発明が、上述の実施の形態に限定されないのは言うまでもなく、以下のような変形例を実施することができる。
（１）上記実施の形態においては、メイン・メモリ１５上に合成用バッファを確保して、当該合成用バッファ上で描画を行って得られたデータをビデオ・メモリ１２上の対応する領域にコピーするとしたが、これに代えて次のようにするとしても良い。
【００５１】
すなわち、更新領域を確定したら、ビデオ・メモリ１２上の当該更新領域に対応する領域において画像の合成を実行するとしても良い。このようにすれば、メイン・メモリ１５上で合成用バッファを確保する必要がなくなるので、マルチウィンドウ管理プログラム２０が使用するメモリ領域を更に低減して、メモリ資源の利用効率を向上させることができる。
【００５２】
（２）上記実施の形態においては、ステップＳ１０７において、最も背景に配されている透過性ウィンドウを合成対象ウィンドウとするとしたが、これに代えて次のようにしても良い。
すなわち、最も背景に配されている透過性ウィンドウがその背景に非透過性ウィンドウを有さない場合には、当該透過性ウィンドウについては合成処理が不要である。
【００５３】
この点に注目して、ステップＳ１０７においては、最も背景に配されている透過性ウィンドウではなく、最も背景に配されている透過性ウィンドウ以外の透過性ウィンドウのうちで、最も背景に配されている透過性ウィンドウを合成対象ウィンドウとするとしても良い。
このようにすれば、画像の合成処理に係る処理負荷を軽減して、画面表示の変更速度を向上させることができる。
【００５４】
（３）上記実施の形態においては、合成用バッファとして、更新領域の大きさに対応する大きさの記憶領域をメイン・メモリ１５上に確保するとしたが、これに代えて、次のようにしても良い。
すなわち、合成用バッファとして、予め全画面分の大きさの記憶領域を確保しておくとしても良い。このようにすれば、画面表示を変更するたびに記憶領域を確保したり、解放したりする手間が省けるので、画面表示の変更に係る処理負荷を軽減して、当該変更に係る処理時間を短縮し、より円滑なユーザ・インタフェースを提供することができる。
【００５５】
（４）上記実施の形態においては、表示画面に１の透過性ウィンドウと２の非透過性ウィンドウが表示されている場合について説明したが、本発明がこれに限定されないのは言うまでもなく、表示画面に表示される透過性ウィンドウや非透過性ウィンドウの数に依存することなく、本発明はその効果を発揮することができる。
【００５６】
また、透過性ウィンドウは、全透過性ウィンドウが表示されている場合であれ、半透過性ウィンドウが表示されている場合であれ、また、全透過性ウィンドウと半透過性ウィンドウとが混在している場合であっても、本発明は効果を奏することができる。また、本発明は、合成アルゴリズムのいかんに関わらず、効果を奏することができる。
【００５７】
【発明の効果】
以上説明したように、本発明によれば、非透過性ウィンドウについては、すべて全画面バッファに描画データを格納するので、従来技術のようにすべてのウィンドウについてウィンドウ・バッファを確保する必要がなく、メモリ消費量を低減することができる。また、画面表示の変更に関する処理速度を向上させることができる。
【００５８】
また、従来技術の場合におけるのとは異なって、本発明によれば、透過性ウィンドウのクリップ領域のうち、更新領域と重なり合う部分についてのみ、ピクセル毎の合成処理を実行するので、このことによっても処理速度の向上を図り、画面表示の変更に要する処理時間を短縮することができる。
本発明は、上述したようにメモリ消費量を低減する効果を有するので、メモリ搭載量に制限のある装置において特に有効である。そのような装置としては、例えば、テレビジョン受像管装置がある。近年、テレビジョン受像管装置においては、通常の放送番組を表示するとともに様々な情報の表示がなされるようになってきている。
【００５９】
このような情報表示に際しては、表示された情報によって放送番組の表示が一部隠されてしまうという不都合が発生してしまう。このような場合に、透過性ウィンドウを用いて情報表示を行なうことにすれば、表示情報と放送番組とを合成して表示するので、放送番組の表示が欠けてしまうといった問題を解消することができる。
【００６０】
しかも、上述のように、本発明によればメモリ消費量を低減することができるので、テレビジョン受像管装置に、透過性ウィンドウを実現するためのマルチウィンドウ管理装置を組み込むのがより容易なものとなる。テレビジョン受像管装置以外にも透過性ウィンドウ技術を適用することができる機器にあっては、併せて本発明を適用して、その効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るマルチウィンドウ表示システムの典型的なハードウェア構成を示すハードウェア構成図である。
【図２】マルチウィンドウ表示システム１の典型的なソフトウェア構成を示すソフトウェア構成図である。
【図３】背景から非透過性ウィンドウ、透過性ウィンドウ、非透過性ウィンドウの順に表示されている場合に、前記透過性ウィンドウの描画内容の変更に伴って、各バッファの内容が変化する様子を示す模式図である。
【図４】背景から非透過性ウィンドウ、透過性ウィンドウ、非透過性ウィンドウの順に表示されている場合に、再背景に配置されている非透過性ウィンドウの描画内容を変更するに際して、各バッファの内容が変化する様子を示す模式図である。
【図５】マルチウィンドウ管理プログラム２０が実行する処理フローに関するフローチャートである。
【符号の説明】
１…………………マルチウィンドウ表示システム
１０………………ディスプレイ装置
１１………………Ｄ／Ａ変換器
１２………………ビデオ・メモリ
１３………………内部バス
１４………………ＣＰＵ
１５………………メイン・メモリ
１６………………外部記憶装置
１７………………入力制御部
１８………………マウス
１９………………キーボード
２０………………マルチウィンドウ管理プログラム
３２、４２………全画面バッファ
３３、４３………ウィンドウ・バッファ
３４、４４………合成用バッファ
３３２、４３１…クリップ領域
【図１】
2004062462.tif 000003
【図２】
2004062462.tif 000004
【図３】
2004062462.tif 000005
【図４】
2004062462.tif 000006
【図５】
2004062462.tif 000007