(57)【要約】透明なキーボードの形態のグラフィカルユーザーインターフェース（５０８）は、存在するコンピュータ表示（５００）の上に配置される。ユーザは、透明なキーボード表示（５０８）内のキー（５１０）を選択することによって、キーボードを通してテキストデータを入力することができる。このとき、テキストの入力は、透明でないすなわち従来の形態でコンピュータ表示（５００）上に現れる。
2004517391.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ画面上に表示を生成するステップと、
前記コンピュータ画面上にキーイメージを含む透明なキーボードインターフェースを生成するステップと、
前記透明なキーボードインターフェースを通して行われたキーの選択を認識するステップと、
を含むことを特徴とする方法。
【請求項２】
前記コンピュータ画面上にテキスト表示を生成するステップ及び前記テキスト表示の上に前記透明なキーボードインターフェースを重ね合わせるステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
テキスト入力ユーザインターフェースの要素を生成するステップ及び前記透明なキーボードインターフェースを前記テキスト入力ユーザインターフェースの要素上に重ね合わせるステップを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記透明なキーボードインターフェースと前記コンピュータ画面上に表示される他の情報との間のコンピュータシステムの中心を選択的に変更するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記キーの選択を認識するステップがタッチスクリーンとの接触を認識するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記キーの選択を認識するステップが前記透明なキーボードインターフェースに関連するキーイメージのポインティング装置による選択を認識するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記透明なキーボードインターフェース又は他のインターフェースを介して情報を入力することを選択的に可能にするステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記透明なキーボードインターフェース又は他のインターフェースを介してデータが入力されるかどうかをユーザが選択することができるユーザが選択可能な要素を提供するステップを含むことを特徴とする請求項７に記載の方法。
【請求項９】
ユーザが前記透明なキーボードインターフェースを用いてテキスト入力ユーザインターフェースの要素の中にデータを入力することを可能にするステップを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記テキスト入力ユーザインターフェースの要素と前記透明なキーボードインターフェースとの間に中心を変更するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
プロセッサベースのシステムに対して、
コンピュータ画面上に表示を生成すること、
前記コンピュータ画面上にキーイメージを含む透明なキーボードインターフェースを生成すること、
前記透明なキーボードインターフェースを通して行われたキーの選択を認識すること、
を可能にさせる命令を記憶する媒体を含むことを特徴とする物件。
【請求項１２】
前記プロセッサベースのシステムに対して、前記コンピュータ画面上にテキスト表示を生成すること及び前記テキスト表示の上に前記透明なキーボードインターフェースを重ね合わせることを可能にさせる命令をさらに記憶することを特徴とする請求項１１に記載の物件。
【請求項１３】
前記プロセッサベースのシステムに対して、テキスト入力ユーザインターフェースの要素を生成すること及び前記透明なキーボードインターフェースを前記テキスト入力ユーザインターフェースの要素上に重ね合わせることを可能にさせる命令をさらに記憶することを特徴とする請求項１２に記載の物件。
【請求項１４】
前記プロセッサベースのシステムに対して、前記透明なキーボードインターフェースと前記コンピュータ画面上に表示される他の情報との間のプロセッサベースのシステムの中心を選択的に変更することを可能にさせる命令をさらに記憶することを特徴とする請求項１３に記載の物件。
【請求項１５】
前記プロセッサベースのシステムに対して、タッチスクリーンとの接触を認識することを可能にさせる命令をさらに記憶することを特徴とする請求項１１に記載の物件。
【請求項１６】
前記プロセッサベースのシステムに対して、前記透明なキーボードインターフェースに関連するキーイメージのポインティング装置による選択を認識することを可能にさせる命令をさらに記憶することを特徴とする請求項１１に記載の物件。
【請求項１７】
前記プロセッサベースのシステムに対して、前記透明なキーボードインターフェース又は他のインターフェースを介して情報を入力することを選択的に可能にする命令をさらに記憶することを特徴とする請求項１１に記載の物件。
【請求項１８】
前記プロセッサベースのシステムに対して、前記透明なキーボードインターフェース又は他のインターフェースを介してデータが入力されるかどうかをユーザが選択することができるユーザが選択可能な要素を提供することを可能にさせる命令をさらに記憶することを特徴とする請求項１７に記載の物件。
【請求項１９】
前記プロセッサベースのシステムに対して、ユーザが前記透明なキーボードインターフェースを用いてテキスト入力ユーザインターフェースの要素の中にデータを入力することを可能にする命令をさらに記憶することを特徴とする請求項１１に記載の物件。
【請求項２０】
前記プロセッサベースのシステムに対して、前記テキスト入力ユーザインターフェースの要素と前記透明なキーボードインターフェースとの間に中心を変更することを可能にさせる命令をさらに記憶することを特徴とする請求項１９に記載の物件。
【請求項２１】
プロセッサベースの装置と、
前記プロセッサベースの装置に対して、コンピュータ画面上に表示を生成すること、前記コンピュータ画面上にキーイメージを含む透明なキーボードインターフェースを生成すること、及び前記透明なキーボードインターフェースを通して行われたキーの選択を認識することを可能にさせる命令を記憶する、前記プロセッサベースの装置に接続された記憶装置と、
を備えることを特徴とするシステム。
【請求項２２】
表示画面を含むことを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記プロセッサベースの装置に接続されたポインティング装置を含むことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記記憶装置が、前記プロセッサベースの装置に対して、前記コンピュータ画面上にテキスト表示を生成すること及び前記テキスト表示の上に前記透明なキーボードインターフェースを重ね合わせることを可能にさせる命令をさらに記憶することを特徴とする請求項２１に記載のシステム。
【請求項２５】
前記記憶装置が、前記プロセッサベースの装置に対して、テキスト入力ユーザインターフェースの要素を生成すること及び前記透明なキーボードインターフェースを前記テキスト入力ユーザインターフェースの要素の上に重ね合わせることを可能にさせる命令をさらに記憶することを特徴とする請求項２１に記載のシステム。
【請求項２６】
プロセッサベースのシステムに対するグラフィカルユーザーインターフェースであって、
キーボードのキーに対応する複数の透明なキーイメージと、
所定のキーに対応するテキスト文字を示す前記キー上の符号と、
を備え、
前記キーイメージが前記コンピュータ画面上に文字を表示するためにユーザが選択可能である、
ことを特徴とするグラフィカルユーザーインターフェース。
【請求項２７】
前記透明なグラフィカルユーザーインターフェースが透明でないテキスト又はグラフィックスに重なり合うことを特徴とする請求項２６に記載のグラフィカルユーザーインターフェース。
【請求項２８】
ユーザが前記グラフィカルユーザーインターフェースを介するテキスト入力又は別の方法のテキスト入力との間を選択することができる要素を含むことを特徴とする請求項２６に記載のグラフィカルユーザーインターフェース。
【請求項２９】
前記キーイメージがコンピュータ画面上の別のテキストの上に重なることを特徴とする請求項２６に記載のグラフィカルユーザーインターフェース。
【請求項３０】
ユーザが前記グラフィカルユーザーインターフェースを通して下側のテキスト及びグラフィックスを見ることができることを特徴とする請求項２６に記載のグラフィカルユーザーインターフェース。
【発明の詳細な説明】
【０００１】
［背景］
本発明は、概して、プロセッサベースのシステム用のディスプレイ装置に関する。
【０００２】
多数のプロセッサベースのシステムの入力／出力の能力は比較的限定されている。例えば、手持ち式コンピュータシステムによっては、関連するキーボードが付いていないものがある。テキスト入力は、１つの例では、タッチスクリーンを用いて行われる。ユーザは、スタイラス又は指を用いて各キーに対する適当な領域をタッチすることにより、画面上のキーボードを介してデータを入力する。
【０００３】
インターネット用タブレット及び個人用携帯情報端末（ＰＤＡ）を含む多数の他の手持ち式コンピュータ装置には、データ入力を容易にするより優れた方法に対する要求がある。画面上に専用のキーボードを設けるには、極めて多くの利用可能な表示空間を必要とする。このことは、多くの場合、データ入力は必要ではないが、表示の一部がキーボードを収容するために欠けることがあるため特にそう言える。
【０００４】
ユーザは、ダイアログボックス又はウェブページのフィールドにデータを入力したいと思うことがある。このため、このユーザは、ダイアログボックス及びキーボードを同時に見たいと思うことがある。多くの限定された表示画面では、これは可能ではない。例えば、画面上のキーボードを介してデータ入力をできるようにする、及び利用可能な情報を全て見ることができるようにする十分な表示空間がない。
【０００５】
多くの装置のキーボードは、テキスト情報のデータ入力を行うには多少難しいぐらい大きさが非常に縮小されている。これらの場合も同様に、テキストデータをプロセッサベースのシステムに入力するより優れた方法が望まれる。
【０００６】
従って、物理的なキーボードを用いることなしに、データ入力を容易にするより良い方法に対する継続する要望がある。
【０００７】
［詳細な説明］
ディスプレイ５００は、図１に示すように、インターネット用タブレット、個人用携帯情報端末、手持ち式プロセッサベースのシステム又はその他のプロセッサベースのシステムなどのプロセッサベースのシステムに接続されている。図示した実施形態では、グラフィカルユーザーインターフェース５０２は、インターネットのウェブサイトに接続されたウェブページ５０４を示すブラウザの表示である。この場合、インターネットのウェブサイトは、ユーザが行うための多数のテキスト入力ボックス５０６を備えている。
【０００８】
あたかもページ５０４上に重ね合わされたように見えるものは、透明なキーボードインターフェース５０８である。このインターフェース５０８は点線で表示され、ユーザがキーイメージ５１０及びキーイメージ５１０上に記入された符号５１２を見ることができるようにするだけでなく、キーイメージ５１０を「通過（ｔｈｒｏｕｇｈ）」して明らかに下側のテキスト及びグラフィックスを効果的に見ることができるようにする比較的透明な表示を行う。その結果、ユーザがキーイメージ５１０を選択して透明なキーボードインターフェース５０８上にデータを入力すると同時に、ユーザはテキスト入力ボックス５０６に関連した情報を読むことができる。「透明（ｔｒａｎｓｐａｒｅｎｔ）」にすることにより、「透明」なテキスト又はグラフィックスの下に又はそれを通過してテキスト又はグラフィックスが見えるように現れる機能について触れることを目的にする。
【０００９】
本発明のいくつかの実施形態では、ディスプレイ５００はタッチスクリーン式ディスプレイとすることができる。別の実施形態では、マウスを使用してテキストを入力するために特定のキーイメージ５１０を選択する、液晶ディスプレイのような従来のディスプレイを使用することができる。さらに別の選択肢では、音声入力機能を使用して、音声でもキーを選択できるようにする。
【００１０】
このようにして、ユーザは透明なキーイメージ５１０を選択することによってデータを選択的に入力し、これによりテキストを選択されたデータ入力ボックス５０６の中に入力させることができる。本発明のいくつかの実施形態では、インターフェース５０２をキーボードモード又は非キーボードモードのいずれかの中に配置する。キーボードモードでは、キーイメージ５１０のいずれかを選択することにより、テキストをテキスト入力ボックス５０６の中に入力させる。非キーボードモードでは、キーイメージ５１０は非活動状態であり、実施例として、ユーザはテキストを入力するためにテキスト入力ボックス５０６の１つを選択することができる。このことは、インターフェース５０８が関連するテキスト入力ボックス５０６に重なり合うように見える場合でさえ行われる。この方法では、プロセッサベースのシステムの中心は、実施例として、キーボードインターフェース５０８又はテキスト入力ボックス５０６に置かれる。モードの選択は、本発明の１つの実施形態では、マウス又はスタイラスのようなポインティング装置を用いて適当なアイコン５１４を選択することにより行われる。別の実施形態では、ハードウェアのボタンを用いて、中心（ｆｏｃｕｓ）を変化させることができる。
【００１１】
混合動作によって、キーボードインターフェース５０８及びテキスト入力ボックス５０６のような２つの比較的はっきりした画面のイメージを示す信号は、一方の画面のイメージが他方に重なり合って見えるように電子的に混合される。実際に、どちらのイメージも他方の上又は下になることはない。その代わり、第１及び第２のイメージの電子的表示は混合されて、ユーザが一方のイメージを通して他方のイメージを見ていると信じているため、一方の層が他方に重なり合っているという印象をユーザに与える。
【００１２】
キーボードインターフェース５０８及びテキスト入力ボックス５０６のような所定のイメージの透明性（ｔｒａｎｓｐａｒｅｎｃｙ）は、動的に変更することができる。例えば、ユーザが所定の時間の後でキーボードインターフェース５０８を用いてテキストを入力することに失敗する場合、キーボードインターフェース５０８の透明性を増加する一方、テキスト入力ボックス５０６の透明性を減少することができる。その結果、キーボードインターフェース５０８よりも太くて目立つように思われるテキスト入力ボックス５０６に、中心が変化するように見える。このように、様々な環境において、透明性の自動的で動的な変化は、２つの別個のイメージの表示の相対的な混合を調整することによって実現することができる。
【００１３】
オペレーティングシステムの出力フレームバッファは、コンピュータシステムの現在の表示データを記憶するために使用されるメモリの領域である。このオペレーティングシステムの出力フレームバッファは、オペレーティングシステムが利用できる任意のメモリに割り当てることができる。フレームバッファは、画素データの二次元配列を記憶する記憶位置の組である。オペレーティングシステムの出力フレームバッファは、コンピュータのモニタ上のデータ信号の生成及び表示を制御する、コンピュータシステムのオペレーティングシステムのソフトウェアに対応付けられる。
【００１４】
透明フレームバッファは、図１に示した透明なキーボードインターフェース５０８の表示データを記憶するために使用されるメモリの領域である。この表示データは、テキスト又はグラフィックスの他の従来の透明でない表示データ信号とほぼ同時に同じページ５０４上に表示される。従来のテキスト及びグラフィックスは、オペレーティングシステムの出力フレームバッファから引き出される。透明フレームバッファは、システムで使用可能な任意のメモリ内に割り当てることができる。
【００１５】
オペレーティングシステムの出力フレームバッファ及び透明フレームバッファの表示要素は、いくつかの実施形態では、各バッファの対応する画素を色混合することにより結合され、同時に色混合動作の結果として生じた画素をオペレーティングシステムの出力フレームバッファの画素とインターリーブすることにより可視の表示フレームバッファの表示要素が形成される。
【００１６】
本発明の実施形態によれば、透明性効果を生ずる方法では、低減された表示要素の混合が使用される。その代わりに、その方法は、コンピュータのモニタ上の隣接する画素の色の間を見分けることが人の眼ではできないことに依存する（本質的に、人の眼は各画素をその隣の画素と平均する）。コンピュータのモニタが大きいこと及び表示分解能が低いことは、画素がこのようにインターリーブされる場合、結果として「チェッカーボード（ｃｈｅｃｋｅｒｂｏａｒｄ）」効果を生ずるため、何らかの混合が行われる。
【００１７】
１つの実施形態では、２つのフレームバッファの画素が、データが現在ディスプレイ上で視覚化されている表示バッファにインターリーブされる場合、第１のフレームバッファ（オペレーティングシステムの出力フレームバッファなど）からの画素の半分は、第２のフレームバッファ（透明フレームバッファなど）からの画素の半分と平均化される。画素の一部を平均化することにより、透明性の効果を与える場合に使用される処理パワーが減少される。別の実施形態では、画素の種々の割合が平均され（例えば、画素の１／４、画素の１／８、画素の１／１６、画素の１／３２、又は画素の１／Ｎ、ここでＮは正の整数）、それらの割合を動的に変えることができる。
【００１８】
図２は、本発明に基づいて透明性表示を発生する方法により動作することができる見本のシステムを例証する図である。見本のシステム１００は、例えば、本願で説明される方法の処理を実行するために使用することができる。見本のシステム１００は、Ｉｎｔｅｌ Ｃｏｒｐｏｒａｔｉｏｎから購入できるＰＥＮＴＩＵＭ（登録商標）、ＰＥＮＴＩＵＭ（登録商標）Ｐｒｏ、及びＰＥＮＴＩＵＭ（登録商標）ＩＩマイクロプロセッサをベースにしたコンピュータシステムを示すが、他のシステムも使用することができる。見本のシステム１００は、マイクロプロセッサ１０２及びプロセッサバス１０５を介して互いに接続されたキャッシュメモリ１０４を含む。見本のシステム１００は、第１のＩ／Ｏバス１０８及び第２のＩ／Ｏバス１１８も含む。プロセッサバス１０５及び第１のＩ／Ｏバス１０８は、ホストブリッジ１０６によってブリッジされ、一方、第１のＩ／Ｏバス及び第２のＩ／Ｏバス１１８は、Ｉ／Ｏバスブリッジ１１０によってブリッジされる。メインメモリ１１２及びビデオメモリ１１４は、第１のＩ／Ｏバス１０８に接続される。ビデオディスプレイ１２２は、ビデオメモリ１１４に接続される。大容量記憶装置１２０及びマウス又は他のポインティング装置１２２は、第２のＩ／Ｏバス１１８に接続される。
【００１９】
大容量記憶装置１２０は、本発明の実施形態に基づいて透明なキーボードインターフェースを提供する方法に対する実行可能な命令の長期間の記憶を行うために使用され、一方メインメモリ１１２は、マイクロプロセッサ１０２が実行する間に、本発明の実施形態に基づいて透明な表示を提供する方法の実行可能な命令を短期間記憶するために使用される。さらに、命令は、例えばコンパクトディスクのリードオンリーメモリ（ＣＤ−ＲＯＭ）、ディジタル多用途ディスク（ＤＶＤ）、及びフロッピーディスクなどの、システムがアクセス可能な機械可読媒体上に記憶することができる。
【００２０】
図３は、本発明の１つの実施形態に基づいて透明なグラフィックスを実現するための、ソフトウェア及びハードウェアのスタックの図である。アプリケーションプログラム２００は、透明性支援ソフトウェア２０２が提供する透明な表示オブジェクト呼出し機能を使用するために特に設計され、透明な表示オブジェクトを形成及び更新する。すなわち、透明性表示機能を使用するために、そのような機能に対するいくつかの呼出しがアプリケーションプログラムの中にプログラムされる。画面上の透明なキーボードインターフェースのアプリケーションは、そのようなアプリケーションプログラムの１つの実施例である。
【００２１】
透明性支援ソフトウェア２０２は、起動されると、この実施形態では、オペレーティングシステムのグラフィックスレンダリングアプリケーションプログラミングインターフェース（ｇｒａｐｈｉｃｓ ｒｅｎｄｅｒｉｎｇ ａｐｐｌｉｃａｔｉｏｎ ｐｒｏｇｒａｍｍｉｎｇ ｉｎｔｅｒｆａｃｅ）（グラフィックスＡＰＩ）２０４を呼び出す。例えば、Ｗｉｎｄｏｗｓ ９５（登録商標）及びＷｉｎｄｏｗｓ ９８（登録商標）のオペレーティングシステムでは、これはグラフィックスディバイスインターフェース（Ｇｒａｐｈｉｃｓ Ｄｅｖｉｃｅ Ｉｎｔｅｒｆａｃｅ）（ＧＤＩ）である。この実施形態では、透明性支援ソフトウェア２０２は、オペレーティングシステムのビデオハードウェア制御抽出アプリケーションプログラミングインターフェース（ｖｉｄｅｏ ｈａｒｄｗａｒｅ ｃｏｎｔｒｏｌ ａｂｓｔｒａｃｔｉｏｎ ａｐｐｌｉｃａｔｉｏｎ ｐｒｏｇｒａｍｍｉｎｇ ｉｎｔｅｒｆａｃｅ）（ビデオ制御ＡＰＩ）も呼び出す。Ｗｉｎｄｏｗｓ ９５（登録商標）及びＷｉｎｄｏｗｓ ９８（登録商標）のオペレーティングシステムでは、これはＭｉｃｒｏｓｏｆｔ Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＤｉｒｅｃｔＤｒａｗ ＡＰＩとなる。いくつかのオペレーティングシステムでは、グラフィックスＡＰＩ２０４及びビデオ制御ＡＰＩ２０６は、同じアプリケーションプログラミングインターフェース内にあるため、互いに区別することができない。
【００２２】
グラフィックスＡＰＩ２０４は、要求されたグラフィックスを透明グラフィックスフレームバッファ１８に与えるために使用することができる。ビデオ制御ＡＰＩ２０６は、フレームバッファの可視性を制御し、全てのフレームバッファの内容にアクセスするために使用することができる。この実施形態において、グラフィックスＡＰＩ２０４及びビデオ制御ＡＰＩ２０６は、表示ドライバソフトウェア２０８と相互に作用してビデオカード２１０と通信する。このビデオカード２１０は、図２のシステムのビデオディスプレイを制御する。ビデオカード２１０は、ビデオメモリ１１４にアクセスして表示データを取得する。
【００２３】
一般に、例えば、ビデオメモリ１１４内に画素データのフレームバッファを作ることによって、液晶ディスプレイ（ＬＣＤ）のようなディスプレイ上にイメージを表示することができる。このフレームバッファを、ビデオ制御ＡＰＩ２０６によってビデオメモリの可視部分として指定することができる。十分な量の使用可能なビデオメモリがある場合、複数のフレームバッファを形成して、一度にその１つだけを（ビデオカード２１０が）使用して、現在の可視表示を形成するデータ信号を得ることができる。
【００２４】
周知のダブルバッファリング方式では、第１のフレームバッファが「可視の（ｖｉｓｉｂｌｅ）」バッファと考えられ、ビデオカード２１０はそこからデータ信号を読み取って、現在の表示データ信号を取得し、その間に第２のフレームバッファ（すなわち、「不可視の（ｎｏｎ−ｖｉｓｉｂｌｅ）」バッファ）に新しい表示データが書き込まれる。この実施形態では、次に、ビデオ制御ＡＰＩが呼び出されて、第２のフレームバッファを可視のバッファに指定し、第１のフレームバッファを不可視のバッファに指定することによって、フレームバッファの状態を「反転（ｆｌｉｐ）」させる。この技術を使用することにより、表示データの円滑な更新が提供されて、結果としてユーザに対して美的に満足な表示が行われる。本発明の実施形態は、この考え方を拡張して特別なフレームバッファを使用し、通常の表示データと共に透明な表示データ信号を提供する。
【００２５】
図４は、透明なグラフィックスを提供するために使用される複数のフレームバッファの実施形態を例証する図である。ビデオメモリ１１４の１つの指定された部分は、コンピュータのモニタ上に一度に可視のグラフィックスとして表示されるように割り当てられる。これは「可視表示」と呼ばれる。すなわち、ユーザが見るために現在表示されている可視表示は、ビデオメモリ１１４の領域からの表示データを含む。一般に、この実施形態では、オペレーティングシステムのソフトウェアのグラフィックスＡＰＩ２０４は、表示ドライバ２０８及び／又はビデオ制御ＡＰＩ２０６を用いて、オペレーティングシステムの出力フレームバッファ１０にデータ信号を書き込む。ごく最近のシステムでは、ビデオメモリ１１４内にあるオペレーティングシステムの出力フレームバッファ１０は、可視表示に使用される。しかしながら、本発明の実施形態では、他のフレームバッファを可視表示として使用することができる。
【００２６】
第１の作業フレームバッファ３００及び第２の作業フレームバッファ３０２は、両方ともビデオメモリ１１４又は他のアクセス可能なメモリ内にあり、本発明の実施形態に基づいて表示データを記憶する。この実施形態では、各フレームバッファ３００又は３０２は、画素データ信号の配列を記憶する。各画素は、１つの実施形態では、赤（Ｒ）、緑（Ｇ）、青（Ｂ）、及び不透明（Ａ）な要素を含む。別の方法では、ＹＵＶ又はＹＵＶＡなどの他の色空間も使用することができる。メインメモリ１１２の中にある透明フレームバッファ１８は、この実施形態では、透明性支援ソフトウェア２０２、ビデオ制御ＡＰＩ２０６、及びグラフィックスＡＰＩ２０４によって作られた透明な表示データを記憶する。
【００２７】
１つの実施形態では、透明フレームバッファ１８からのデータ信号は、オペレーティングシステムの出力フレームバッファ１０からのデータ信号と色混合及びインターリーブされ、次に、作業フレームバッファ３０２に記憶される。この混合及びインターリーブされたデータは、作業フレームバッファ３０２が「不可視」状態にある場合は、作業フレームバッファ３０２に記憶される（すなわち、この実施形態では、フレームバッファに記憶されるデータは現在表示されない）。作業フレームバッファ３０２が不可視状態に書き込みされている間は、作業フレームバッファ３００は「可視」状態にあり、現在の表示データのソースとして使用される。
【００２８】
色混合及びインターリーブ動作が作業フレームバッファ３０２に対して完了すると、不可視の作業フレームバッファ３０２は可視の作業フレームバッファに指定され、この逆の場合も同様である。このダブルバッファリング処理は、１つの実施形態では、毎秒５回以上の割合で繰り返されて、ユーザに目に見える表示を提供する。
【００２９】
本発明の実施形態では、透明フレームバッファ１８及びオペレーティングシステムの出力フレームバッファ１０の画素のインターリーブは、次のように行われる。１つの実施形態では、選択された作業フレームバッファ３０２における画素の交替は、透明フレームバッファ１８の画素値及び空間的に対応するオペレーティングシステムの出力フレームバッファ１０の画素値を混合することによって書き込まれる。選択された作業フレームバッファ３０２内の他の画素は、オペレーティングシステムの出力フレームバッファ１０からの画素が書き込まれる。
【００３０】
図４Ａは、本発明の１つの実施形態の画素混合配列の概略図である。要素３１２は作業フレームバッファを示し、一方ブロック３１０及び３１１はフレームバッファ内の特定の画素を示す。透明フレームバッファ１８とオペレーティングシステムの出力フレームバッファ１０との間の交替画素混合（ａｌｔｅｒｎａｔｉｎｇ ｐｉｘｅｌ ｍｉｘｉｎｇ）の１つの方法の１つの実施形態では、選択された作業フレームバッファ内の「Ｔ＋ＯＳ混合」画素３１１は、透明フレームバッファ１８からの画素（Ｔ値）及びオペレーティングシステムの出力フレームバッファ１０からの画素（ＯＳ値）の色平均化混合から成る。選択された作業フレームバッファ３０２内の「ＯＳ」画素３１０は、オペレーティングシステムの出力フレームバッファ１０からコピーされた空間的に対応する画素を含む。このため、Ｔ＋ＯＳ画素は、図４Ａに示すように、ＯＳ画素を散在させて、所望の透明性効果を達成する。
【００３１】
この実施形態では、色平均化は、２つのフレームバッファ１８及び１０内の対応する位置からの各画素の各色成分に対して加重平均法を行うことにより実行される。しかし他の実施形態では、種々の色混合方法も使用される。１つの実施形態では、第１の画素の成分値を重み値で乗算し、第２の画素の同じ成分値を異なる重み値で乗算することによって行われる。次に、２つの重み付けられた色成分は合算され、結果として生じた合計は２つの重み値の合計により割算される。この方法は、アルファブレンディング（ａｌｐｈａ ｂｌｅｎｄｉｎｇ）として周知である。
【００３２】
図５は、透明なグラフィックスを提供するためにシステムを初期化する実施形態を例証するソフトウェア３９９用のフローチャートである。ブロック４００において、オペレーティングシステムの表示出力制御情報が決定される。この制御情報は、表示の大きさ、色分解能、及び他のデータを含む。次に、、この実施形態では、ブロック４０２で２つの作業フレームバッファ３００，３０２がビデオメモリ１１４の中に割り当てられる。これらの動作は、この実施形態では、ビデオ制御ＡＰＩ２０６を呼び出すことによって行われる。ブロック４０４において、ブロック転送動作が行われて、通常は可視のオペレーティングシステムの出力フレームバッファ１０からのデータを２つの作業フレームバッファ３００，３０２の選択された１つにコピーする。この実施例では、作業フレームバッファ３００が最初に選択されると仮定する。ブロック転送は、この実施形態では、ビデオ制御ＡＰＩ２０６を呼び出すことによって行われる。ブロック４０６では、オペレーティングシステムの出力フレームバッファ１０は、ビデオ制御ＡＰＩ２０６を呼び出すことによって、「不可視」状態に設定される。ブロック４０８では、選択された作業フレームバッファ３００は、この実施形態ではビデオ制御ＡＰＩ２０６を呼び出すことによって、可視状態にされる（ブロック４０８）。いくつかの実施形態では、ブロック４０６及び４０８は、ビデオ制御ＡＰＩに対する１つの呼出しによって実行される。この時点で、ビデオカードの現在の表示出力データは、オペレーティングシステムの出力フレームバッファ１０からではなく、選択された作業フレームバッファ３００から得られる。
【００３３】
図６は、ダブルバッファリングソフトウェア４１０の実施形態を示すフローチャートである。この実施形態では、ブロック転送動作がブロック４１２で行われて、ビデオ制御ＡＰＩ２０６に対する呼出しにより、オペレーティングシステムの出力フレームバッファ１０を不可視の第２の作業フレームバッファ３０２にコピーする。ブロック４１４において、不可視の第２の作業フレームバッファ３０２及び透明フレームバッファ１８の混合及びインターリーブされた内容を第２の作業フレームバッファ３０２に書き込む動作が行われる。ブロック４１６では、第２の作業フレームバッファ３０２が可視状態にされ、第１の作業フレームバッファ３００が不可視状態にされて、事実上、現在の表示出力データのソースとして２つのフレームバッファの状態を反転する。
【００３４】
ブロック４１８において、この実施形態では、ビデオ制御ＡＰＩ２０６への呼出しにより、ブロック転送動作を実行して、オペレーティングシステムの出力フレームバッファ１０を不可視の第１の作業フレームバッファ３００にコピーする。ブロック４２０では、第１の作業フレームバッファ３００及び透明フレームバッファ１８の色混合及びインターリーブされた内容を第１の作業フレームバッファ３００に書き込む動作を実行する。ブロック４２２では、第１の作業フレームバッファ３００が可視状態にされ、第２の作業フレームバッファ３０２が不可視状態にされて、事実上、現在の表示出力データのソースとして２つのフレームバッファの状態を反転する。この処理は、ブロック４１２に戻ることによって繰り返される。前のブロックのそれぞれの間に、オペレーティングシステムのソフトウェアは、付加的な表示データをオペレーティングシステムの出力フレームバッファに同時に書き込む。
【００３５】
ブロック４１４及び４２０の色混合及びインターリーブ動作を、図７を参照してさらに説明する。ブロック４２６において、現在の不可視の（第１又は第２のいずれかの）作業フレームバッファ内のメモリ位置が、透明グラフィックス用フレームバッファの基準点に対して決定される。ブロック４２８では、現在の不可視の作業フレームバッファからの画素に対するデータ信号値が読み取られて、透明グラフィックス用フレームバッファからの空間的に対応する画素が決定される。透明グラフィックス用フレームバッファのイメージは、作業フレームバッファの部分に適合するように拡大又は縮小されることがあるため、この対応は必ずしも１：１の比率とは限らない。この画素対応の決定はこの分野では周知であり、オペレーティングシステムのソフトウェアでは拡大ブロック転送において使用される（例えば、Ｗｉｎｄｏｗｓ ９５（登録商標）のオペレーティングシステムにおけるストレッチビット（ＳｔｒｅｔｃｈＢｉｔ）機能）。
【００３６】
次に、ブロック４３０において、この実施形態では、作業フレームバッファからの画素及び透明グラフィックス用フレームバッファからの画素の加重平均が計算される。個々の画素成分の加重平均が、色成分のベースで色成分に対して決定される。すなわち、赤成分が平均され、青成分が平均され、また緑成分が平均される。各成分に与えられる重みは、結果として画素の透明性を決定するが、同じ重み値を所定の画素の全ての成分に対して使用することができる。それは、透明性のレベルに少なくとも部分的に影響する画素に関連した重みである。これらの重みを透明性を用いるアプリケーションプログラムが操作して、様々な混合比率を作ることができる。さらに、透明性を使用するアプリケーションプログラムは、ユーザが混合比率を直接又は間接的に制御することを可能にするユーザインターフェースの要素を提供することができる。
【００３７】
ブロック４３２において、加重平均の計算結果は、処理される現在の画素として、作業フレームバッファの同じ位置に配置される。ブロック４３４では、処理すべき作業フレームバッファ内の次の位置が、現在のインターリーブするパターンを考慮して決定される（例えば、全ての第２の画素、全ての第４の画素、水平又は垂直な交替する線など用いて）。ダイヤモンド４３６では、作業フレームバッファ及び透明グラフィックス用フレームバッファの別の画素を処理する場合は、処理が次の画素に対してブロック４２８で継続される。そうでない場合は、色の混合及びインターリーブ処理は終了する。
【００３８】
本発明を限られた数の実施形態に関して説明してきたが、当業者はこれらの実施形態からの多くの修正例及び変更例を理解されよう。添付した特許請求の範囲が、全てのそのような修正例や変更例を本発明の真の精神及び範囲の中に入るものとしてカバーするものとする。
【図面の簡単な説明】
【図１】
本発明の１つの実施形態による画面表示を示す図である。
【図２】
本発明の実施形態による透明性方法（ｔｒａｎｓｐａｒｅｎｃｙ ｍｅｔｈｏｄ）を用いて動作することができる見本のシステムを例証する図である。
【図３】
本発明の実施形態による透明なグラフィックスを実現するソフトウェア及びハードウェアのスタックの図である。
【図４】
本発明の１つの実施形態に基づいて、透明なグラフィックス（ｔｒａｎｓｐａｒｅｎｔ ｇｒａｐｈｉｃｓ）を提供するバッファの図である。
【図４Ａ】
本発明の１つの実施形態による画素混合配列の概略図である。
【図５】
本発明の１つの実施形態に基づいて、透明なグラフィックスを提供するシステムを初期化するフローチャートである。
【図６】
本発明の１つの実施形態によるダブルバッファリング制御処理を示すフローチャートである。
【図７】
本発明の１つの実施形態による色混合及びインターリーブ処理のフローチャートである。
【図１】
2004517391.tif 000003
【図２】
2004517391.tif 000004
【図３】
2004517391.tif 000005
【図４】
2004517391.tif 000006
【図４Ａ】
2004517391.tif 000007
【図５】
2004517391.tif 000008
【図６】
2004517391.tif 000009
【図７】
2004517391.tif 000010
【国際公開パンフレット】
2004517391.tif 000011
2004517391.tif 000012
2004517391.tif 000013
2004517391.tif 000014
2004517391.tif 000015
2004517391.tif 000016
2004517391.tif 000017
2004517391.tif 000018
2004517391.tif 000019
2004517391.tif 000020
2004517391.tif 000021
2004517391.tif 000022
2004517391.tif 000023
2004517391.tif 000024
2004517391.tif 000025
2004517391.tif 000026
2004517391.tif 000027
2004517391.tif 000028
2004517391.tif 000029
2004517391.tif 000030
2004517391.tif 000031
2004517391.tif 000032
2004517391.tif 000033
2004517391.tif 000034
2004517391.tif 000035
2004517391.tif 000036
2004517391.tif 000037
2004517391.tif 000038
【国際調査報告】
2004517391.tif 000039
2004517391.tif 000040
2004517391.tif 000041