(57)【要約】【課題】ウィンドウシステムにおいて、少ないメモリで半透明ウィンドウ間のオーバーラップを可能とする。【解決手段】ウィンドウ管理プログラムは、ウィンドウの半透明合成が必要になると、アプリケーションに強制描画させる。アプリケーションからの描画を一時描画用メモリ５および、半透明合成用メモリ７に描画を行わせ、ひとつのウィンドウの描画が終了したら、半透明合成用メモリ７に合成する。全部のウィンドウの合成が終了すると、フレームメモリ３に転送する。このとき描画対象の変更は描画対象変更手段２が行うので、アプリケーションは通常の描画要求と同じように描画することができる。【選択図】図１
2006039707.tif 000002
【特許請求の範囲】
【請求項１】
フレームメモリを管理して、ウィンドウを提供するプログラムにおいて、ウィンドウへの描画要求を、一時的に描画させるための一時描画用メモリと、半透明合成されたウィンドウを保存しておくための半透明合成用メモリと、描画用メモリと合成用メモリを半透明演算する手段と描画メモリから、フレームメモリへ矩形転送する手段と、ウィンドウの重なり状況に応じて、描画対象をフレームメモリか、描画メモリか切り替える描画対象切替手段を持つ画像合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少ないメモリで半透明ウィンドウのオーバーラップを実現するウィンドウシステムに関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）やデジタルテレビのグラフィックス画面は、ＣＰＵなどによって描画されたフレームメモリ上の画像を専用のハードウェアが読み込んで実画面上に表示している。ウィンドウシステムとは、このフレームメモリを管理するプログラムである。ウィンドウシステムは、各アプリケーションが表示するウィンドウの重なりを管理する。
【０００３】
一昔前のＰＣ上のウィンドウシステムは、低スペックのハードウェアと低容量のメモリという制限から、ハードリソースを著しく消費する半透明なウィンドウの作成を仕様で禁止していた。また、ユーザーも作業効率を重視していたため、実用上半透明なウィンドウを作成する必要はなかった。この時代ウィンドウシステムとして、ＧＭＷやＸ−Ｗｉｎｄｏｗが存在している（例えば、非特許文献１参照）。
【０００４】
今日のＰＣでは、ハードウェアの性能が飛躍的に向上し、また、メモリも大容量化したため、余ったハードウェアリソースを画面デザインの向上に使えるようになった。これにより、半透明ウィンドウの実現が容易になった。
【０００５】
しかし、デジタルＡＶ機器などの組込み機器は、コスト上の観点から、依然一昔前のハードウェアが用いられている。しかし、ゲーム機やＰＣの普及により、ユーザーは画面のデザイン性の向上を求めており、そのニーズを満たすためには、この限られたハードウェアリソースで半透明ウィンドウを実現する必要がある。
【０００６】
少ないメモリで、半透明ウィンドウを実現するための技術として、特許文献１のような特許がある。この技術は、特殊な計算手法を用いて、上から下へ、ウィンドウの合成を行い、半透明ウィンドウを実現している。確かに、この技術を用いることによって、合成用の裏バッファを用いることなく、半透明合成を行うことができる。しかし、各ピクセルでこの特殊な計算をするために、半透明合成前のウィンドウの各ピクセルのデータが常時必要になる。つまり、ウィンドウの元画像を保存するためのメモリが、それぞれのウィンドウごとに必要なるため、ウィンドウが増えれば増えるほど、より多くのメモリが必要となるという欠点がある。
【特許文献１】特表２００２−５４４５４４号公報
【非特許文献１】石田晴久著  「Ｘウィンドウとその仲間たち」共立出版  １９９３年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ウィンドウシステムで半透明ウィンドウを実現しようとする場合、半透明合成前の画像を保存しておくメモリを確保しないといけないため、ウィンドウの数が多くなると、膨大なメモリが必要となる。
【課題を解決するための手段】
【０００８】
描画用のメモリと、半透明合成用のメモリを用意し、半透明処理が必要になるたびに、この描画用メモリに、アプリケーションに強制描画させる。このとき、どの描画用メモリに描画させるかは、ウィンドウ管理プログラム内の描画対象変更手段が自動で行うことを特徴とする。
【発明の効果】
【０００９】
ウィンドウの元画像を常時メモリに保存しておく必要がなく、描画用のメモリと、合成用のメモリを確保するだけで、半透明ウィンドウを実現することができる。
【発明を実施するための最良の形態】
【００１０】
限られたメモリ量で、半透明ウィンドウを実現するという目的を、描画用メモリと、半透明合成用メモリと、描画対象変更手段を用いて実現した。
【００１１】
（実施の形態１）
図１は、本発明を実施するための構成図である。ウィンドウ管理プログラムがウィンドウの半透明合成を行うために必要なメモリは、フレームメモリ以外では、一時描画メモリ５と半透明合成用メモリ７だけである。
【００１２】
ウィンドウ管理プログラムは、ウィンドウの半透明合成が必要になると、オーバーラップしているウィンドウの下から順に、アプリケーションに描画要求を出し、一時描画用メモリ５、半透明合成用メモリ７に強制描画させる。この描画要求はＸウィンドウシステムならば、Ｅｘｐｏｓｅイベントが対応する。
【００１３】
描画対象選定手段２は、現在のウィンドウのオーバーラップ状況に応じて、描画対象を、一時描画用メモリ５か、半透明合成用メモリ７か、フレームメモリ３に描画対象を変更する。描画対象のウィンドウがオーバーラップしていない場合は、直接フレームメモリ３に描画する。描画対象のウィンドウがオーバーラップしており、一番下のウィンドウならば、半透明合成用メモリ７に描画対象を変更する。描画対象のウィンドウがオーバーラップしており、一番下のウィンドウでない場合は、一時描画用メモリに描画対象を変更する。
【００１４】
図２は、本発明を実施するための手順図である。ウィンドウ管理プログラムは、１）一番下のウィンドウに強制描画命令を出す、２）半透明合成用メモリ７に描画させる、３）ひとつ上に重なっているウィンドウに強制描画命令を出す、４）一時描画用メモリ５に描画させる、５）半透明合成手段６を用いて、一時描画メモリ５と半透明合成用メモリ７を合成する、６）前記３）から５）を一番上のウィンドウまで繰り返す、７）矩形転送手段８を用いて、半透明合成用メモリ７の画像データをフレームメモリ３に転送する、８）画面表示手段４はフレームメモリ上の画像データを実画面に表示する、という手順で、ウィンドウの半透明合成を行う。
【００１５】
なお、描画対象メモリの変更は描画対象選定手段２が行うので、各アプリケーションは、現在どのメモリに描画を行っているか気にする必要はない。
【００１６】
一時描画メモリ５と半透明合成用メモリ７にどれだけのメモリ容量が必要になるかは、どれだけ効率よく半透明合成を行うかによる。たとえば、３２ビット／Ｐｉｘｅｌの画面の場合、ウィンドウを１００ｘ１００の領域に分割して、半透明合成を行うとする。１００ｘ１００のメモリ領域が一時描画メモリ５と半透明合成メモリ７の２枚分必要になるので、“１００ｘ１００ｘ４ｘ２＝８００００Ｂｙｔｅ”、つまり約８０ＫＢｙｔｅでウィンドウの半透明合成が可能になる。
【産業上の利用可能性】
【００１７】
デジタルテレビなどのＡＶ機器で、メニューや電子番組表や音量バーなどを半透明ウィンドウとして実装したとき、それぞれのウィンドウがオーバーラップしても、本発明を用いて、限られたメモリで半透明合成を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】画像合成装置の構成図
【図２】半透明合成の実施手順を示すフローチャート
【符号の説明】
【００１９】
１    アプリケーション
２    ウィンドウの重なりに応じて描画対象を変更する手段
３    フレームメモリ
４    デジタルアナログコンバーター（ＤＡＣ）
５    アプリケーションに一時的に描画させるメモリ
６    半透明演算手段
７    半透明合成用裏バッファ
８    矩形転送手段
【図１】
2006039707.tif 000003
【図２】
2006039707.tif 000004