(57)【要約】【課題】サーバー、クライアント型ウィンドウシステムで半透明合成を行う場合、ウィンドウのオリジナル画像が必要になるが、これをクライアントに描画命令を出して取得しようとした場合、実際にクライアントが描画をしてきたときに、ウィンドウの画像の更新による描画か、半透明合成用の描画かサーバーは判断できなくなってしまう。【解決手段】サーバーソフトから、クライアントに描画命令を出すときに、その描画命令固有の識別情報を付加して描画命令を送る。クライアントはこの識別情報を描画命令に付加して応答する。【選択図】  図１
2005025551.tif 000002
【特許請求の範囲】
【請求項１】
ウィンドウの半透明合成を行うサーバー、クライアント型ウィンドウシステムで、サーバーがクライアントに対して半透明合成用描画要求を出す手段と、サーバーがこの描画要求を識別するための固有の情報を付加してクライアントに送信する手段と、クライアントがこの描画要求に対して描画開始情報および終了情報を送信する手段と、クライアントがサーバーから送られてきた描画要求を識別するための固有の情報を、この描画開始および終了情報に付加する手段を有するソフトウェアを記録した装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表示装置に複数のウィンドウを表示するウィンドウシステムに関する。
【０００２】
【従来の技術】
Ｘ−Ｗｉｎｄｏｗシステムのようなサーバー、クライアント型のウィンドウシステムにおいて、ウィンドウ同士の半透明合成を行う場合、サーバーは半透明合成用にウィンドウのオリジナル画像が必要になる。このような構成で、半透明ウィンドウを実現しようとする場合、サーバーソフトはウィンドウの半透明合成を行うために、ウィンドウのオリジナルの画像が必要になる。このオリジナル画像をサーバーソフト内に保存しておく方法としてＸサーバーのバッキングストア機能を用いると、ウィンドウ毎にオリジナルの画像がサーバー内に保存され、Ｘクライアントの数によっては、膨大な量のメモリが必要になる（例えば、特許文献１、特許文献２参照）。
【０００３】
【特許文献１】
特開平１０−１７７４６６号公報
【特許文献２】
特開平０７−２８９８６号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上記特許文献１の装置では、半透明ウィンドウかどうかを判定するだけでは、メモリの削減にならない。また、上記特許文献２の装置では、クライアントからデータを転送したとしても、半透明合成用のデータなのか、ウィンドウの描画が更新されたことによるデータなのか判断できなくなってしまう。
【０００５】
また、ウィンドウシステムがウィンドウの半透明合成を行うための、ウィンドウのオリジナルの画像を取得するためにサーバーからクライアントに対して、描画要求を出した場合、実際にクライアントが描画を行ってきたときに、その描画が、サーバーから送った半透明合成用の描画なのか、ウィンドウの画像が更新したことによる通常の描画か、サーバーは判断できなくなってしまう。
【０００６】
【課題を解決するための手段】
本発明では、サーバーソフトから、クライアントソフトに描画を要求する場合に、識別情報を送信する。クライアントソフトは、識別情報と同時に描画開始情報と描画終了上を送信し、その間に実際の描画を行う。サーバーソフトはクライアントからの描画に対して、自分が送った識別情報の間に描画が行われているかどうかチェックし、ウィンドウの更新か、単なる半透明合成用の描画かどうかを判別する。
【０００７】
【発明の実施の形態】
デジタルテレビのオンスクリーンディスプレイにおいて、ブラウザ、字幕、視聴制限表示などをウィンドウシステムを用いて実現する場合、この三者が同時に表示される場合、ウィンドウ同士の半透明合成が必要になる。半透明合成をウィンドウシステムで行う場合、合成元のオリジナル画像が必要になるが、デジタルテレビのような組みこみ機器のソフトウェアの場合、このためのメモリを確保することは、コスト上難しくなる。しかし、本発明により、少ないメモリでウィンドウ間の半透明合成を行うことができる。以下に、本発明の実施の形態を示す。
【０００８】
図１に本実施の形態の画像合成表示装置の構成図を示す。１０１は、ウィンドウシステムを実現するサーバーソフトである。１０２は、サーバーソフト１０１に対するクライアントソフトであり、例えばブラウザ、字幕、視聴制限表示ソフトである。１０３は、サーバーソフト１０１がウィンドウ同士の半透明合成を行うための描画要求をクライアントソフト１０２に行う描画要求部であり、描画領域の指定などの他に、半透明合成であることを示す固有の描画識別情報を送信する。ここで、描画識別情報はウィンドウの更新によって断続的に発生する半透明合成用描画要求毎にユニークにサーバーソフト１０１によって生成される。
【０００９】
１０４は、描画要求部１０３からの描画要求に対するクライアントソフト１０２の応答をサーバーソフト１０１に通知する描画応答部であり、描画要求部１０３からの描画要求に対する実際の描画であることを示すための描画識別情報と、どこからどこまでが描画処理であるかを知らせる描画開始情報及び描画終了情報をサーバーソフト１０１に送信する。
【００１０】
図２にウィンドウの半透明合成を行うためのアルゴリズムを示す。ここで、サーバーソフト１０１はサーバープログラム２０１を内蔵し、クライアントソフト１０２はクライアントプログラム２０２を内蔵する。
【００１１】
サーバープログラム２０１において、オーバーラップした半透明ウィンドウの内、どちらかに新規描画が発生し、半透明合成処理の必要性が発生したとする（Ｓ２０１）。このとき、サーバープログラム２０１は、それぞれのウィンドウについてオリジナル画像領域を計算し、オーバーラップしているウィンドウの内、一番下のウィンドウから順に、ユニークな識別情報付き描画要求をクライアントプログラム２０２に送信する（Ｓ２０２）。
【００１２】
クライアントプログラム２０２は、識別情報付き描画要求を受信し（Ｓ２０７）、識別情報付き描画開始情報をサーバープログラム２０１に対して送信する（Ｓ２０８）。その後、クライアントプログラム２０２は描画要求のあった領域の描画をサーバープログラム２０１に対して行ったあと（Ｓ２０９）、識別情報付き描画終了情報をサーバープログラム２０１に対して送信する（Ｓ２１０）。
【００１３】
サーバープログラム２０１はクライアントプログラム２０２から、識別情報付き描画開始情報、描画処理、識別信号付き描画終了情報の順に情報を受信することになる（Ｓ２０３）。サーバープログラム２０１は識別情報付き描画開始および終了情報の間に送られてくる情報のみを半透明合成用にクライアントプログラム２０２から送られてきた情報であると判断し、半透明合成を行う（Ｓ２０４）。
【００１４】
サーバープログラム２０１は、次にオリジナルの画像データが必要なウィンドウがあるかどうかを判断し、合成すべきウィンドウが存在する場合に上記処理を繰り返す。合成すべきウィンドウが存在しない場合は、半透明合成が終了したとして、フレームバッファを更新する（Ｓ２０６）。
【００１５】
【発明の効果】
以上のように、本発明によれば、ウィンドウシステムによるウィンドウの半透明合成をこのように行う場合、半透明合成用メモリをサーバーの中に確保すれば、それ以上メモリを必要とすることがなくなる。
【００１６】
また、既存のソフトに識別情報付き描画開始情報と終了情報を送信するルーチンを本アルゴリズムを達成することができる。
【００１７】
また、クライアントアプリケーションに追加するソースコードは、描画開始処理と、終了処理だけで、アプリケーション本体はほとんど変更する必要がなくなる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る画像合成表示装置の構成図
【図２】同実施の形態に係る半透明合成アルゴリズムを示すフローチャート
【符号の説明】
１０１  サーバーソフト
１０２  クライアントソフト
１０３  描画要求部
１０４  描画応答部
２０１  サーバープログラム
２０２  クライアントプログラム
【図１】
2005025551.tif 000003
【図２】
2005025551.tif 000004