(57)【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて、オーバーラップする複数のディスプレイオブジェクトを、ディスプレイ上に、選択的にディスプレイしてアクティブ化する方法であって、
オーバーラップするディスプレイオブジェクトのそれぞれについて、当該ディスプレイオブジェクトを表す複数のビットを格納するステップを備え、前記複数のビットによって当該ディスプレイオブジェクトの少なくとも１つの透過度値も表され、少なくとも１つのディスプレイオブジェクトについては、前記複数のビットによって２以上の透過度値が表されており、
オーバーラップするディスプレイオブジェクトを、ディスプレイ上に、同時にディスプレイするステップを備え、ディスプレイオブジェクトそれぞれは、対応する透過度値で決定される透過性の程度を有し、オーバーラップするディスプレイオブジェクトがディスプレイ上に同時に見え、ディスプレイオブジェクトの少なくとも１つには２以上の透過性の程度が有り、
ユーザインターフェース手段によって、ディスプレイオブジェクトの少なくとも１つに付随の透過度値を選択的に調節するステップを備え、前記少なくとも１つのディスプレイオブジェクトの透過度は、完全な不透明と完全な透明との間で連続的に変化でき、
ユーザインターフェース手段によって、オーバーラップするディスプレイオブジェクトのうちの所望の１つをその透過状態を変化させずに、選択的にアクティブ化するステップを備え、
そのアクティブ化されたディスプレイオブジェクトに対して、ユーザがカーソル制御装置を使用しての操作を可能とするステップを備える
ことを特徴とする、オーバーラップする複数のディスプレイオブジェクトをディスプレイ上に選択的にディスプレイしてアクティブ化する方法。
【請求項２】
請求項１記載の方法において、１以上の透過度値を選択的に調節する前記ステップは、スライダを表示し、そのスライダは、ユーザによる前記カーソル制御装置の使用によって調節可能であって、それにより前記１以上の透過度値を選択的に調節できる、ことを特徴とする方法。
【請求項３】
請求項１記載の方法において、複数のビットを格納する前記ステップは、ディスプレイオブジェクトそれぞれについての複数のピクセル値を格納するステップを含み、各ピクセル値についての個々の透過値も格納する、ことを特徴とする方法。
【請求項４】
オーバーラップする複数のディスプレイオブジェクトをディスプレイ上に選択的にディスプレイしてアクティブ化するコンピュータシステムにおいて、
オーバーラップするディスプレイオブジェクトのそれぞれについて、当該ディスプレイオブジェクトを表す複数のビットを格納するメモリ手段を備え、前記複数のビットによって当該ディスプレイオブジェクトの少なくとも１の透過度値も表され、少なくとも１つのディスプレイオブジェクトについては、複数のビットによって２以上の透過度値が表わされており、
オーバーラップするディスプレイオブジェクトを、ディスプレイ上に、同時にディスプレイする手段を備え、ディスプレイオブジェクトそれぞれは、対応する透過度値で決定される透過性の程度を有し、オーバーラップするディスプレイオブジェクトがディスプレイ上に同時に見え、ディスプレイオブジェクトの少なくとも１つには２以上の透過性の程度が有り、
ディスプレイオブジェクトの少なくとも１つに付随の透過度値を選択的に調節する、ユーザインターフェースである透過度調節手段を備え、前記少なくとも１つのディスプレイオブジェクトの透過度は、完全な不透明と完全な透明との間で連続的に変化でき、
オーバーラップするディスプレイオブジェクトのうちの所望の１つをその透過状態を変化させずに、選択的にアクティブ化する、ユーザインターフェースであるアクティブ化手段を備え、
そのアクティブ化されたディスプレイオブジェクトに対しての操作を可能とするカーソル制御装置を備える
ことを特徴とする、コンピュータシステム。
【請求項５】
請求項４記載のコンピュータシステムにおいて、ユーザインターフェースである前記透過度調節手段は、スライダを表示する手段を含み、前記カーソル制御手段は、前記スライダを対話型で調節して所望のディスプレイオブジェクトを選択する、ことを特徴とするコンピュータシステム。
【請求項６】
請求項４記載のコンピュータシステムにおいて、前記メモリ手段は、ディスプレイオブジェクトそれぞれについての複数のピクセル値を格納する手段と、各ピクセル値についての個々の透過値を格納する手段とを含む、ことを特徴とするコンピュータシステム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、グラフィック情報を表示し、処理するための装置および方法に関し、より詳しくは、ディスプレイ上にデータのウィンドウをオーバーラップ表示するためのコンピュータ制御ディスプレイ・システムに関する。
【０００２】
【従来の技術】
いわゆる「オブジェクト指向」ディスプレイ・システムを採用したコンピュータ・システムにおいては、ディスプレイ上で多重「ウィンドウ」を用い、その中にテキスト（文字列）とグラフィックスの組合わせを配置して、情報をユーザに伝達することは一般的に行われている。これらのウィンドウは、ファイル・フォルダ、ルーズリーフ・バインダ、あるいは単純な長方形のような様々なオブジェクトの形を取ることができ、また全可視の「トップ」ウィンドウが現ワーク・ファイルをなすようにして互いにオーバーラップする場合もある。
【０００３】
オブジェクト指向ディスプレイ・システムの１つの起源が「Ｓｍａｌｌｔａｌｋ  」として知られているシステムであるということは広く知られている。Ｓｍａｌｌｔａｌｋ  の手法は、あらかじめ共通にコード化された多数のプログラミング・コマンドをコンピュータ・ディスプレイ上で二次元または三次元のグラフィックスやアニメーションに置換するものである。大部分の人々は、イメージで考える方が容易であり、また、人は視覚的なコンテキストで呈示された情報を文字列の形で表された場合よりも速く吸収し、処理することができるということが明らかにされている。ユーザが機械と対話する個々のグラフィック・インタフェースのタイプは、所与のアプリケーションにおいても多種多様である。例えば、多くのオブジェクト指向ディスプレイ・システムでは、アイコン機能が選択されると、コンピュータ・システムが実行する動作の種類を象徴的に示す様々なアイコンが用いられる。アイコンはウィンドウと共に表示される。ウィンドウ・ベースのディスプレイ・システムにおいては、ユーザは、ウィンドウから情報を削除することができ、１つのウィンドウからもう１つのウィンドウにデータを移動させることができるとともに、あたかも実際のファイルまたはオブジェクトを操作しているかのようにウィンドウ全体に対して操作を行うことができる。今日では、様々なオブジェクト指向システムがあり、本願譲受人たるサン・マイクロシステムズ社（Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，  Ｉｎｃ  ．）や他のメーカーによってによって製造されたコンピュータ上に表示される。オブジェクト指向システムでは、ユーザを実際のオブジェクト、例えばデスクトップ・コンピュータと関係付ける画像を操作することができるため、より強力なマン‐マシン・インタフェースが得られる。この点に関しては、例えば、Ｄ．  Ｒｏｂｓｏｎ  著「オブジェクト指向ソフトウェア・システム（Ｏｂｊｅｃｔ‐Ｏｒｉｅｎｔｅｄ  Ｓｏｆｔｗａｒｅ  Ｓｙｓｔｅｍｓ  ）」、ＢＹＴＥ誌（１９８１年８  月号）、Ｖｏｌ．  ６、Ｎｏ．  ８  、７４ページ、Ｌ．  Ｔｅｓｌｅｒ  著「Ｓｍａｌｌｔａｌｋ  環境（Ｓｍａｌｌｔａｌｋ  Ｅｎｖｉｒｏｎｍｅｎｔ  ）」、ＢＹＴＥ誌（１９８１年８  月号）、Ｖｏｌ．  ６、Ｎｏ．８  、９０ページ、Ｓｍｉｔｈ  他の共著「スター・ユーザ・インタフェース、概説（Ｓｔａｒ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  、Ｏｖｅｒｖｉｅｗ）」、米国コンピュータ会議（Ｎａｔｉｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｃｏｎｆｅｒｅｎｃｅ）会報、１９８２年などを参照のこと。
【０００４】
最近のオブジェクト指向ウィンドウ・ベースのディスプレイ・システムは、一部、ビットマップ型フレーム・バッファ・ディスプレイ・メモリの使用によって可能になったものである。ビットマップ型ディスプレイ・システムにおいては、ディスプレイ・スクリーン上の表示要素（「ピクセル」と呼ばれる）は、フレーム・バッファ・メモリ中の１つ以上のビットによって表される。最も簡単な形においては、例えば、データ処理記憶システム中に１メモリ・ブロックを割り当て、その各メモリ・ビット（０または１）をディスプレイ上の対応するピクセルにマッピングする。このようにして、画像または文字列あるいはこれらの両者の形のデータで満たされたディスプレイ・スクリーンは、画面全体を通じてフレーム・バッファ・メモリ中の１または０によって表される。多ビット型（通常最低８ビット）のシステムでは、ディスプレイ上のピクセルの輝度および色を変えることが可能である。
【０００５】
過去１０年にわたって、ウィンドウ・ベースのグラフィック・ユーザ・インタフェース（ＧＵＩ  ）ディスプレイを生成するための様々なシステムが開発された。多くのシステムは、複数のウィンドウをオーバーラップ表示し、それらの各ウィンドウがディスプレイ・システムに結合されたプロセッサが実行中のそれぞれ異なるアプリケーション・ソフトウェア・プログラムを表すようになっている。いくつかのシステムにおいては、これらのいくつかのアプリケーション・プログラムを同時に実行することができるが、ユーザはトップ・ウィンドウ（一番上のウィンドウ）によって表されるアプリケーション・プログラムについてしか操作を行うことができない。さらに、多くの場合は、トップ・ウィンドウのみがユーザにとって全可視であり、その下側のウィンドウは完全にあるいは一部不可視になる。従って、下側の覆い隠されたウィンドウがアクティブなアプリケーション・プログラムを表しているかもしれないのに、ユーザは、トップ・ウィンドウによってその下側のウィンドウが見え難くなるため、そのプログラムの実行を十分に観察することができない。（多重ウィンドウの同時実行を利用したシステムについては、例えば、米国特許第４，５５５，７７５  号（１９８５年１１月発行）を参照のこと）。
【０００６】
【発明が解決しようとする課題】
この後詳細に説明するように、本発明は、「トランスパレンシ（透過機構）」として知られているグラフィック・ディスプレイ技術を利用して、ウィンドウ・ベースのシステムでユーザに提示される情報量を増大しようとするものである。すなわち、本発明は、従来のオーバーラップ・ウィンドウの考え方を用いつつ、透過機構を利用して情報を呈示することにより、ユーザがいくつかのウィンドウを「見透し」て、通常見え難くなるはずの下側のデータおよびプロセスを見ることができるようにするものである。
【０００７】
【課題を解決するための手段】
本発明は、コンピュータ・ディスプレイ・システム、特にオーバーラップ・ウィンドウを用いたオブジェクト指向グラッフィック・ユーザ・インタフェースを有するディスプレイ・システム用として用いられる装置および方法である。中央処理装置（ＣＰＵ）が設けられており、このＣＰＵは、ディスプレイと結合されていて、多重オーバーラップ・ウィンドウにグラフィックおよびその他のデータを表示する。ＣＰＵは、さらに、１つ以上の入力装置と結合され、それらの入力装置によって、ディスプレイ上の各ウィンドウ中でカーソルを選択的に位置決めすることができるとともに、データを入力し、操作することができる。これらのウィンドウ中には、ＣＰＵによって実行される機能に対応するテキスト、アイコンおよびボタンのようなウィンドウ機構を有する定義済み領域がある。ＣＰＵは、各アプリケーションを１つ以上のウィンドウと関連付けるようにして、複数のアプリケーションを同時に実行することができる。ディスプレイを形成する各表示要素（「ピクセル」）は、ＣＰＵに結合されたコンピュータ・フレーム・バッファ・メモリ中で複数のビットにより表される。また、アルファ（α）値を使用する定義済みの式に従って複数の画像がブレンド（混合）されるように、ディスプレイの各ピクセルの輝度にα値をそれぞれ対応させる。α値を適切に設定することによって、下側にあるウィンドウに属するデータがユーザに対して可視化される透過性を達成することができる。実際、本発明によれば、いくつかの画像をそれらの画像が互いに他の画像上に透視状に表示されるように「ブレンド」することによって、複数の画像がマージされる。本発明によれば、αブレンド操作の選択的な使用によって、下側にあるいくつかのウィンドウのデータを、それらの各ウィンドウの上にオーバーレイされたいくつかのウィンドウを通してユーザに可視表示することができる。
【０００８】
従って、すべてのウィンドウが下側にある他のウィンドウを不可視化するのではなく、本発明のディスプレイ・システムでは、各ウィンドウ（または「オブジェクト」）に選択的に設定することが可能なα値をそれぞれ対応させる。このようにすると、ウィンドウは、従来技術におけるように、互いに他のウィンドウに対してクリップする必要がない。これらのウィンドウは、所望の透過レベルを達成するために、種々のα値を用いて「ブレンド」される。本発明の一実施例においては、スライダが各ウィンドウ内に表示され、ユーザはこのスライダによりカーソル制御装置を用いてα値を設定することができる。α値は０から１までの範囲内で設定することができ、１に設定するとそのウィンドウは不透過になり、０に設定すると完全に透過になる。さらに、本発明は、ユーザがディスプレイの現在のウィンドウ順序を乱すことなくいずれかのウィンドウを「アクティブ」にし、その内容を操作することができるウィンドウ選択方法を提供するものである。
【０００９】
【実施例】
以下の説明は、主として、表示画像、アルゴリズムおよびコンピュータ・メモリ中のデータ・ビット操作の記号表現との関連において行う。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者が研究や仕事の内容をこの技術分野の他の当業者に最も効果的に伝達するための手段として用いられているものである。
【００１０】
本願において、アルゴリズムとは、一般に理解されているように、所望の結果につながる首尾一貫した一連のステップを指すものとする。これらのステップは、物理量についての物理的操作が必要なステップである。必ずという訳ではないが、これらの量は、通常、記憶する、転送する、結合する、比較するなどの操作およびその他の操作を行うことができる電気信号または磁気信号の形を取る。これらの信号は、主として共通使用という理由から、ビット、値、エレメント、記号、キャラクタ、画像、項、数等と称することが便利な場合もあるということが確かめられている。しかしながら、これらのすべての用語およびこれらと同様の用語は、該当する適切な物理量と関連付けられるべきものであり、それらの量に便宜上貼りつけられる単なるラベルに過ぎないということに留意すべきである。
【００１１】
本発明の場合、作用または動作とは、人間のオペレータと連携して行われる機械の動作である。本発明の作用や動作を実行するための機械としては、汎用デジタル・コンピュータ、あるいはその他同様の装置を用いることができる。いずれの場合においても、コンピュータを動作させる方法の動作と計算方法そのものとの違い留意すべきである。本発明は、コンピュータを動作させ、電気信号または他の物理信号を処理して、他の所望の物理信号を発生させるための方法ステップに関する。
【００１２】
また、本発明は、上記のような動作を実行するための装置に関する。この装置は、所要目的のために特別に構成された装置でも、コンピュータに記憶されたプログラムによって選択的に起動される、あるいはリコンフィギュレーションされる汎用コンピュータよりなる装置であってもよい。本願中に呈示するアルゴリズムは、特定のコンピュータまたはその他の装置と固有の関係を有するものではない。特に、様々な汎用機を本願中に記載する技術によるプログラムによって使用することもできれば、所要の方法ステップを実行するためにさらに専用的な装置を構成する方がより好都合な場合もある。このような機械には種々の態様があるが、それらの機械に必要な構成については、以下の説明で明らかにする。本発明の作用や動作を実行することが可能な機械としては、例えば本願譲受人たるサン・マイクロシステムズ社や他のコンピュータ・システムのメーカーの製造になるコンピュータを用いることができる。
【００１３】
本発明は、グラフィック情報をウィンドウ・ベースのシステムでコンピュータ・ディスプレイ上に表示するための装置および方法にある。以下の説明においては、本発明をより完全に理解することができるように、コンピュータ・システム・コンフィギュレーション、ウィンドウ・エレメント、アイコン等のような詳細事項を多数特定して記載する。しかしながら、本発明は、これらの詳細事項の特定的な記載がなくとも実施可能であるということは、当業者にとって明白であろう。その他の場合においては、本発明の開示が不必要に不明瞭になるのを避けるため、周知の回路や構成の詳細な説明は省略する。
【００１４】
図１は、本発明の原理に従ってウィンドウ・ベースのグラフィック・ユーザ・インタフェースを発生させるためのコンピュータ・ベースのシステムを示す。図示のコンピュータ１０は、３つの主要構成要素よりなる。その第１の構成要素は、入出力（Ｉ／Ｏ）回路１２であり、コンピュータ１０の他の部分との間で適切な構造化された形式により情報をやり取りするために使用される。さらに、コンピュータ１０は、Ｉ／Ｏ回路１２と結合された中央処理装置（ＣＰＵ）１４およびメモリ１６を有する。これらの構成要素は、大部分の汎用コンピュータに典型的に見られるものであり、実際、コンピュータ１０は、広範なデータ処理装置を代表するものとして掲げてある。図１には、周知のように、データやコマンドをコンピュータ１０に入力するためのキーボード１８も示されている。Ｉ／Ｏ回路１２には、図示のように、コンピュータ１０の記憶要領を増設するための磁気ディスク２０が接続されている。コンピュータ１０には、磁気テープ装置、バブルメモリ・デバイスのようなデータを記憶するための他の装置や、他のデータ処理システムと結合されたネットワークを接続することが可能なことは明らかであろう。周知のように、磁気ディスク２０は、メモリ１２以外に、ＣＰＵ１４によってアクセスし、実行することが可能な他のコンピュータ・プログラム、キャラクタ、ルーチン等を記憶することができる。図示のように、Ｉ／Ｏ回路１２にはラスタ・ディスプレイ・モニタ２４が接続されており、本発明に従ってＣＰＵ１４により生成された画像を表示するために使用される。ディスプレイ・モニタ２４としては、ブラウン管（ＣＲＴ）、液晶、あるいはその他周知の種々のディスプレイが使用可能である。また、コンピュータ１０には、Ｉ／Ｏ回路１２を介してカーソル制御装置２８が接続されている。カーソル制御装置２８には、本発明の原理に従ってＣＰＵ１４に信号を入力するためのスイッチ３０、３２および３４が設けられている。このカーソル制御装置２８（一般に「マウス」として知られている）によれば、ユーザは、スイッチ３０、３２および３４を用いて様々なコマンド・モードを選択し、グラフィック・データを修正し、他のデータを入力することができる。より詳しく言うと、カーソル制御装置２８は、ユーザがこれをパッド表面４０上で移動させることによって、カーソル３６をディスプレイ・モニタ２４上で選択的に所望の位置に設定することを可能にする。この実施例においては、カーソル制御装置２８は、周知の光学的方法を利用して、パッド表面４０の格子目上のカーソル制御装置の移動によるカーソル３６の位置変化の情報をＣＰＵ１４に供給する。しかしながら、本発明においては、上記の制御装置以外にも、機械式マウス、トラックボール、ジョイスティック等のような他の制御装置を含め、様々な周知のカーソル制御装置を用いることが可能なことは明らかであろう。
【００１５】
図２は、図１に示すメモリ１６内の主要プログラムの記憶領域構成の一例を示す。具体的に言うと、図２には、ディスプレイ・モニタ２４のビットマップよりなるフレーム・バッファ５０が示されている。フレーム・バッファ５０は、ディスプレイ・モニタ２４用のビデオ・メモリを表し、このメモリにおいては、フレーム・バッファ５０中の複数のビットよりなる各記憶場所がディスプレイ・モニタ２４上の各ピクセルと対応する。このように、フレーム・バッファ５０は、ラスタ・ディスプレイ・モニタ２４上のピクセルに対応する既知座標を持つ点の二次元アレイよりなる。最も簡単な形のフレーム・バッファ５０は、各記憶場所がラスタ・ディスプレイ・モニタ２４上の対応するピクセルにマップされるように割り当てられる連続状のメモリ・ブロックよりなる。また、メモリ１６は、ＣＰＵ１４によって実行される種々のプログラムを記憶するプログラム・メモリ５４を有する。メモリ１６のこのプログラム・メモリ５４の部分には、例えば、制御プログラム、表示プログラムおよび計算用のプログラムなど、本願に記載する様々な動作、演算およびルーチンを実行するためのプログラムや、モニタ制御プログラムおよびディスク・オペレーティング・システムを記憶することができる。さらに、メモリ１６は、他プログラム／スペア・メモリ５６を有し、このメモリ空間は、データ処理システムにおいて周知の他の様々な関数や演算および動作のためのプログラムを記憶するために使用することが可能である。
【００１６】
次に、図３は、従来技術のウィンドウ・ベースのディスプレイ・システムを概念的に示す説明図である。図示のように、一番上のアクティブ・ウィンドウ１００はウィンドウ１０２の上に重なり、ウィンドウ１０２はウィンドウ１０３の上に重なっている。一部のコンピュータ・システムにおいては、図１のＣＰＵ１４によって更新されるアクティブ・ウィンドウは、ウィンドウ１００だけである。他のコンピュータ・システムでは、複数のプログラムが同時に実行され、その結果、ウィンドウ１００、ウィンドウ１０２およびウィンドウ１０３内に配置されたデータに対してコンスタントに更新が行われる。しかしながら、これら従来技術のウィンドウ・ベースのシステムにおいては、ウィンドウは、一番上のウィンドウ（ウィンドウ１００）がその下側にあるウィンドウ（ウィンドウ１０２およびウィンドウ１０３）の全体または部分を覆うような空間的階層を有する。従って、従来技術のディスプレイ・システムは、不可視部分のデータはオーバーラップ・ウィンドウによって覆われるのであるから、ウィンドウ・クリッピングの技術を併せて使用してウィンドウを見えなくすることによってクリップし、それらのデータが表示されないようにしなければならない。ウィンドウ・クリッピングを達成するための方法は、多年にわたって様々な方法が考えられて来た（例えば、１９８６年１１月１１日に発行された米国特許第４，６２２，５４５  号を参照のこと）。
【００１７】
従来のウィンドウ・ベースのディスプレイ・システムの場合、ウィンドウ１００中に配置されたデータを操作するユーザは、操作を行おうとするウィンドウを選択しなければならないはずである。現世代の多くのウィンドー・ディスプレイ・システムにおいては、ユーザは、カーソル３６をウィンドウ１０３よりなる領域内に入れ、マウス（カーソル制御装置）２８のスイッチ３４を瞬間だけ押し（「クリック」し）て、そのウィンドウを一番上に来させ、ウィンドウ１０３内のデータを操作する。従来技術のウィンドウ・ベースのシステムにおいては、ユーザは、オーバーラップ・ウィンドウによって覆われたデータを見ることができず、そのために、トップ・ウィンドウ１００中のデータをアクティブ処理しながらその下側にあるウィンドウによって表されるプログラムの進行を監視したり、それらのプログラムを操作したりすることができない。例えば、図３に示すように、ウィンドウ１０２および１０３の一部の領域は覆い隠され、ユーザはこれらの領域のデータを使用できない状態になっている。
【００１８】
図４ａおよびｂには、従来技術のシステムにおいてウィンドウが覆い隠される問題の一例が示されている。図４ａは、従来技術のワープロ・システム画面の一部で、ユーザがワード「ＴＥＸＴ」を操作したいと考えている場合である。ユーザは、図１のマウス２８のようなカーソル制御装置を用いてワード「ＴＥＸＴ」を強調表示する。一部のワープロ・システムにおいては、図４ａの「ＴＥＸＴ」のようにワードを選択すると、図５のような２ポップアップ・メニュー１１０が表示される。ポップアップ・メニュー１１０は、ユーザが利用可能なサブコマンド上のいくつかの操作を指示する。図４ｂに示すように、ポップアップ・メニュー１１０は、操作しようとするワード「ＴＥＸＴ」を覆い隠す。図示例においては、ポップアップ・メニュー１１０は、下側にあるワープロ・ウィンドウ１０９中に配置された文字列の一部を見えなくするウィンドウをなしている（小さくはあるが）。
【００１９】
本願において、「ウィンドウ」は、データがその中に表示されるディスプレイ上の通常の矩形領域や、総じてポップアップ・メニュー、プルダウン・メニューまたはその他のメニュー、アイコン、記号、またはその他の表示要素、およびオブジェクトのような比較的小さいサブ領域（部分領域）であってもよい。アイコンのようなオブジェクトの場合は、オブジェクト中に表示される「データ」は、アイコンを定義するピクセルのみからなることもある。矩形ウィンドウ、メニューまたはサブメニューのようなオブジェクトにおいては、それらのオブジェクト中に表示されるデータは、アルファニューメリック・データおよび／またはグラフィック・データを含むものであってもよい。従って、本発明の装置および方法は、具体的にどのようなコンピュータ・ディスプレイ・システムであっても、オブジェクトの形状、サイズまたは機能にかかわらず、ディスプレイ・モニタ２４に表示されるあらゆるオブジェクトに適用することが可能である。
【００２０】
次に、図５には、本発明が概念的に示されており、ディスプレイ１５０は、トップ・ウィンドウ１５５と、その「下側にある」符号１５８で示すウィンドウを有する。前に述べたように、ディスプレイ１５０の各ピクセルは、フレーム・バッファ５０中では複数ビットによって表される。画像をブレンドするために一般的に用いられる技術は「αブレンド法」と呼ばれ、２つの画像が次式に基づき１ピクセルずつブレンドされる。
α＊Ｘ＋（１―α）＊Ｙ
ここで、αは０〜１の範囲の数である。αが１のときは、ピクセルはＸ入力値のみを含み、αが０のとき、ピクセルはＹ画像入力のみを含む。αが１と０の間にあるときは、ピクセルはＸおよびＹの両方の画像情報を含む。例えば、αが０．１ならば、スクリーン上の画像は、ほぼＹ画像であるように見え、かすかにＸ画像が現れる。視覚的な外観および感じとしては、Ｘ画像はあたかも透過性であるかのように見え、Ｘ画像を見透してＹ画像を見ることができる。
【００２１】
やはり図５において、ウィンドウ１５５がＡウィンドウを表し、ウィンドウ１５８がＢウィンドウを表し、Ｃがディスプレイ・スクリーンの表示領域１５０全体を表すような２ウィンドー・ディスプレイ・システムの場合、画像は、すべてのピクセルについて次式によりブレンドされる。
Ａ∩Ｂ｛Ｃ←Ｂ（１−α）＋Ａα｝
α＝Ａの透過度（０≦α≦１）
【００２２】
従って、複数の画像をマージして、互いに他の画像の上に透過状に表示することができる。さらに、αブレンド操作の正確さは、所望の視覚効果、および利用可能な輝度ドメインにおける１ピクセル当たりのビット数によって決まるということは、当業者にとって明らかであろう。（透過法の詳細については、Ｆｏｌｅｙ  、ＶａｎＤａｍ他著「コンピュータ・グラフィックの理論と実際（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ｐｒｉｎｃｉｐｌｅｓ  ａｎｄ  Ｐｒａｃｔｉｃｅ  ）」、第２版（Ａｄｄｉｓｏｎ  Ｗｅｓｌｅｙ    、１９９０年）をも参照のこと）。
【００２３】
さらに、１５５および１５８の各ウィンドウ内の画像は、すべてのピクセルについて同じα値を持つ必要はない。実際、例えば、ウィンドウ１５５内のグラフィック・オブジェクトの中心のα値が１（すなわち、これとブレンドされるオブジェクトは完全に見えなくなる）のときに、そのオブジェクトのエッジのα値が１より小さくてもよい。こうすると、ウィンドウ１５５内のグラフィック・オブジェクトのエッジは、その「背景にある」画像によってぼかされ、比較的滑らかに見えるという効果が得られる。
【００２４】
本発明の原理を用いると、各オブジェクト毎に異なるα値を定義することが可能である。例えば、ウィンドウ中で、オブジェクトを指定し、ピクセル・ベースのαマスク・テーブルを用いてそれらのウィンドウの透過度を定義することができる。下記の例においては、各ソース（ソース１およびソース２）に４つのピクセルが対応し、各ピクセルは独立して設定することが可能なα値を有する。ピクセル・マスクは、α値ｍ１、ｍ２、ｍ３およびｍ４を有する。ｄ１、ｄ２、ｄ３、およびｄ４は、以下に説明するように、ソース１とソース２のピクセル・ベースによるピクセル・ミキシングの結果を表す。
例：
0003598303.tif 000002
ソース１は、ｘ１、ｘ２、ｘ３およびｘ４の４ピクセルを有し、ソース２は、ｙ１、ｙ２、ｙ３およびｙ４の４ピクセルを有する。また、二次元アレイ・マスクによって各ピクセル毎に下記により加重値が定義される。
ｄ１＝ｘ１＊ｍ１  ＋  ｙ１＊（１−ｍ１）              ｄ２＝ｘ２＊ｍ２  ＋  ｙ２＊（１−ｍ２）
ｄ３＝ｘ３＊ｍ３  ＋  ｙ３＊（１−ｍ３）            ｄ４＝ｘ４＊ｍ４  ＋  ｙ４＊（１−ｍ４）
【００２５】
上記のピクセル・ミキシングの例では、説明を簡単にするために、４ピクセルの場合を説明した。本発明の方法は、各ソースにソースと同じピクセル分解能を有するマスク・テーブルを設け、各ソースをＮピクセルとした場合にも使用可能である。ソースがＮ個の場合は、それに対応させてＮマスクが設けられる。
【００２６】
さらに、ソースからの各ピクセルは、マスク中にそれぞれ対応するα値を有するから、オブジェクトを表すピクセルをグループ化し、オブジェクトの透過度を選択的に変えることが可能である。ピクセルをグループ化してオブジェクトを表す例は、図８に示すファイル・フォルダ２２５および飛行機２２０の画像との関連において後で説明する。
【００２７】
複数ビット・ピクセル型ディスプレイ上で走り、各ピクセルにつき多数の輝度を用いることができるウィンドウ・システムにおいて、本発明の原理を用い、各ウィンドウにそれぞれあるα値を対応させる。このようにすると、ウィンドウは、相互にクリップする必要がなく、上に図５を参照しつつ説明した技法を用いて単にブレンドするだけでよい。もちろん、ディスプレイ・スクリーンのエッジに関してウィンドウをクリップすることが必要な場合もある。本発明によれば、トップ・ウィンドウが下側にあるウィンドウを覆い隠す通常のウィンドウ・システムが所望の場合は、ウィンドウが見えるところではウィンドウのα値を１に設定し、見えなくする所では０に設定する。完全に透過または部分的に透過なウィンドウを得るためには、ユーザ、あるいはプログラム中の自動ルーチンによって、α値を所望の透過レベルに適した値に設定する。α値は任意のいかなる関数を表すものであってもよく、またこの値は任意の整数にスケーリングすることもできる（この実施例では０〜１の範囲内）。
【００２８】
次に、図６には、本発明の透過機構およびオーバーラップ・ウィンドウを用いた簡単な例が示されている。図６において、ウィンドウ１２０中には、ワープロのテキストが表示されている。図４ａ、ｂに示した例と同様に、ユーザはカーソル制御装置または他の入力装置によってワード「ＴＥＸＴ」を選択する。また、ポップアップ・メニュー１２５が生成され、その中にはユーザが選択したワードを操作しようとする種々のワープロ処理オプションまたはサブコマンドが表示される。しかしながら、本発明によれば、ウィンドウ１２５を部分的に透過にすることによって、ユーザがポップアップ・ウィンドウ１２５も、その下側にある従来技術では見えなくなるはずのワープロ・ドキュメントの中のワードも、両方とも見ることができるように、ポップアップ・ウィンドウ１２５のα値が設定される。ポップアップ・メニュー１２５に１より小さいα値（例えば０．３）を与えることによって、メニュー１２５をユーザに可読な状態に保つ一方で、ポップアップ・メニュー１２５の「裏側にある」情報をも見ることができる。
【００２９】
次に、図７には、本発明によるウィンドウ・システムのもう一つの例が示されている。ディスプレイ２００は、３つのウィンドウ、すなわちトップ・ウィンドウ２０５、中間ウィンドウ２１０およびボトム・ウィンドウ２１５を有し、これらのウィンドウは、図に示すように、すべて互いにオーバーラップされている。図から明らかなように、ウィンドウ２１５中には、飛行機２２０のグラフィック表現およびファイル・フォルダの形のアイコン２２５が表示されている。飛行機２２０のグラフィック表現のピクセルのα値は１にセットされている。従って、飛行機２２０のグラフィック表現があるウィンドウ２１５の部分は、従来のウィンドウ・システムを構成し、ウィンドウ２１５の周囲の領域におけるピクセルは１より小さい値に設定されている。図示のように、「ＨＤ」で示されているアイコン２３０は、どのウィンドウによっても全く覆い隠されないアイコンを表し、１に設定されたα値が与えられている。しかしながら、アイコン２２５は、ウィンドウ２１５の「裏側」にあってウィンドウ２１５により覆われるが、ウィンドウ２１５の周部のピクセルはα値が１より小さいため、アイコン２２５はウィンドウ２１５を通してユーザに可視である。言い換えると、透過性を確保するために、アイコン２２５を覆うディスプレイの部分の上にあるウィンドウ２１５のα値は１より小さい値（例えば０．３）に設定されている。このように、アイコン２２５は、ウィンドウ２１５のその部分がα値の適切な設定によって透過状態になっているため、ユーザに可視である。
【００３０】
次に、やはり図７において、ウィンドウ２０５は、ワープロ・アプリケーションを実行中のウィンドウを概念的に示したものである。図示のように、ユーザはウィンドウのテキストを明瞭に見える状態で操作することができる。ウィンドウ２０５は、ウィンドウ２１０および２１５の「上に」あるから、この例では「アクティブ」ウィンドウと呼ぶ。図示のように、ウィンドウ２１０は、アクティブ・ウィンドウ２０５のすぐ下に配置されている。図７においては、ウィンドウ２１０は、電子メール・プログラムを表し、このプログラムは、記憶されている現在のメール・メッセージをリストするとともに、新たに受信されたメール・メッセージを指示する。従来技術のシステムにおいては、メール・メッセージのリストであるメール・リストは、ウィンドウ２０５によって覆い隠される。ユーザは、ウィンドウ２１０中のメール・リストを見るためには、ウィンドウ２１０を「アクティブ・ウィンドウ」にして、これがウィンドウ２０５の上にオーバーレイされるように、一番上に持って来なければならない。しかしながら、本発明においては、ウィンドウ２０５をなすピクセルのα値を適切に設定することによって、ウィンドウ２１０中に表示されるメール・リストをウィンドウ２０５を通してゴースト画像として見ることが可能となる。従って、ユーザは、ウィンドウ２１０に表示されたメールリストを見ながら、ワープロ・ウィンドウ２０５に表示されたデータを操作することができる。メールの受信メッセージがユーザにとって関心があるものであれば、ユーザは、ウィンドウ２０５を見えなくしたり、ウィンドウ２１０をディスプレイの「トップ」に持って来たりする必要なく、ウィンドウ２１０のメール・リスト中で受信メッセージを見、指定することができる。
【００３１】
従って、当業者であれば、所望のウィンドウ中のデータが上に重なるウィンドウによって覆われていても、ディスプレイ上のウィンドウをなすピクセルのα値を選択的に設定することによって、それら所望のデータを可視化することができるということは理解できよう。α値の設定は、発明の利用形態によってプログラム制御でも、ユーザ制御下でも行うことができ、これについては以下にさらに詳細に説明する。
【００３２】
図８には、ウィンドウ２５５および２６０が表示されたディスプレイ２５０が示されている。図示のように、図８のウィンドウ２６０はウィンドウ２５５の上に置かれている。ウィンドウ２６０中にはスライダ・コントロール２６２が表示されており、これによってウィンドウ２６０のα値を０〜１の間に設定することができる。その動作について説明すると、スライダ・バー２６４は、ユーザが図１のマウス２８のようなカーソル制御装置を用いて選択的に移動させることができる。同様に、ウィンドウ２５５中にも、スライダ・バー２７２を有するスライダ・コントロール２７０がある。図示例においては、ウィンドウ２６０は、「ＣＬＩＥＮＴ  ＮＡＭＥＳ」、「ＮＯＶＥＭＢＥＲ  １９９２  ＴＩＭＥ」等のようなワープロ・ドキュメントにアクセス可能なファイルの名称を表示するウィンドウよりなる。ウィンドウ２５５は、アナログ時計文字盤の表示によって現在時間をユーザに示す時計プログラムである。従来技術のウィンドウ・ベースのシステムの場合は、ウィンドウ２６０がウィンドウ２５５中に表示される時計文字盤２７５の部分を多い隠すはずであるということは理解できよう。そのために、ユーザが時計文字盤２７５から現在時間を読み取ろうとする場合、ウィンドウ２５５が部分的にウィンドウ２６０によって見えなくなるから、非常に不便である。ユーザは、ウィンドウ２６０を見えなくするか、ディスプレイ２５０中のウィンドウの位置を配置し直すことによってしか時間を読み取ることはできない。
【００３３】
本発明の原理によれば、ウィンドウが覆い隠されるという従来技術の問題は解消される。図８に示す例においては、ウィンドウ２６０のα値は、ユーザが、例えばマウス２８を用いてスライド・バー２６４の位置を設定することによって１より小さい値（約０．８）にセットされる。例えば、ユーザは、図８のカーソル２６５をスライド・バー２６４の部分上に置いて、マウス２８（図１参照）のスイッチ３４のようなスイッチを押し、スライド・バー２６４をスライダ・コントロール２６２上の適切な位置に移動させ、スイッチ３４を離すことによってスライド・バーを設定することができる。図８に示すように、ウィンドウ２６０のα値が１より小さい値に設定されているから、ウィンドウ２６０は部分的に透過状態になり、これによって、ユーザはウィンドウに２５５を表示される時計文字盤２７５全体を見ることができる。図示のように、スライド・バー２７２は、ウィンドウ２５５のα値が１に等しくなるように設定されている。従って、ウィンドウ２５５は、透過ではない通常のウィンドウになっている。
【００３４】
ここで、一例として、時計２７５に設けられたアラームが鳴り、ユーザがその音を止めたいと思っている場合を仮定する。図８に示すように、ウィンドウ２５５には、ウィンドウ２６０を通してユーザに見えるアラーム停止ボックス２７７がある。本発明の一実施例においては、アラーム停止ボックス２７７にアクセスするには、ユーザは、ウィンドウ２５５を一番上の「アクティブ」ウィンドウにする必要がある。その場合、一般に用いられるウィンドウ選択法を用い、カーソル２６５をマウス２８を用いてウィンドウ２５５の領域内に入れ、ユーザはウィンドウ選択の信号をＣＰＵ１４に供給する。多くのウィンドウ・ベースのシステムにおいては、ユーザは、マウス２８上のスイッチ３４のようなスイッチをクリックすることによってＣＰＵ１４に信号を送り、信号を受け取ったＣＰＵ１５は、ディスプレイ２５０中のウィンドウ２５５および２６０をレンダリングし直して、図９に示すように、ウィンドウ２５５がウィンドウ２６０の上に来るようにする。この状態では、ユーザは、ウィンドウ２５５に完全にアクセスすることができるので、アラーム停止ボックス２７７上にカーソル２６５を移動させて、「クリック」することによりアラームを停止することができる。
【００３５】
ウィンドウ・ベースのシステムにおいては、操作を加える前にすべてのアクティブ・ウィンドウを一番上に持って来るのが普通であるが、本発明の原理を用いると、その必要はなくなる。
【００３６】
次に、図１０にも、ディスプレイ２５０中に表示されたウィンドウ２５５および２６０が示されている。しかしながら、この場合は、アクティブ・ウィンドウ選択ボタン２８０、２８１、２８２および２８３が、図示のように、ウィンドウ２５５の４つのコーナーに設けられている。同様に、ウィンドウ２６０の４つのコーナーにも、ボタン２８５、２８６、２８７および２８８が設けられている。ウィンドウ２５５のボタン２８０〜２８３の１つの上、またはウィンドウ２６０の場合はボタン２８５〜２８８の１つの上にカーソル２６５を置き、前述したように、マウス２８のスイッチ３４を瞬間的に押すことによって、ディスプレイ２５０上のウィンドウの相対的な位置を変えることなく、ウィンドウ２５５またはウィンドウ２６０のどちらかを選択することができる。例えば、ユーザがアラーム停止ボックス２７７にアクセスしたいが、ウィンドウ２５５をトップに持って来たくない場合、ユーザは、ボタン２８０〜２８３の１つの上にカーソル２６５を置き、マウス２８上のスイッチ３４を「クリック」することによりＣＰＵ１４に信号を送るだけでよい。このように、ユーザは、ボタン２８０〜２８３を用いてウィンドウ２５５を選択することにより、ウィンドウ２６０を通してアラーム停止ボックス２７７にアクセスすることができる。このように、「アクティブに」されなかったウィンドウ２６０は、ユーザのアクションに対して透過になり、これによって、ユーザは、例えば図１０の例におけるアラーム停止ボックス２７７にアクセスする場合のように、下側にあるウィンドウに配置されたデータを操作することが可能になる。ボタン２８５〜２８８および２８０〜２８３は、ウィンドウをアクティブに指定するための１つの方法を示すものであり、これ以外にも、アイコン、タイトル・バーの強調表示のような様々な方法や機構を用いて同様の効果を達成することが可能なことはいうまでもない。
【００３７】
以上に説明した本発明の特徴に加えて、本発明によりα値を用いるならば、最も透過なウィンドウがそれより透過度の低いウィンドウの上に来るようにウィンドウをソートすることも可能であるということは理解できよう。このようにα値に基づいてウィンドウをソートしてから表示することによって、トップ・ウィンドウを常に最も透過にし（図９参照）、その下に順次透過度の低いウィンドウを配置することができる。
【００３８】
従って、本発明に従いウィンドウ・ベースのシステムにおいて透過機構を使用すると、従来技術においては覆い隠されていたウィンドウ・データをユーザが見ることができ、かつ操作することができるようになるため、ディスプレイの使用可能領域が拡大される。また、α値を適切に設定することによって、スクロールバー、ウィンドウ・ヘッダ、ボーダ、アイコンおよび他の一般的ウィンドウ・データを、各特定のアプリケーションにおいて完全にまたは部分的に透過にすることが可能である。本発明は、図１及至１１を参照して説明したが、これらの図はもっぱら例示説明のためのものであり、本発明の精神および範囲に対して制限的な意味を有するものではないということは明らかであろう。
【発明の効果】
以上説明したように、本発明によれば、ウィンドウ・ベースのコンピュータ・ディスプレイ・システムにおいて、ディスプレイの使用可能領域を大きくすることができる。
【図面の簡単な説明】
【図１】本発明の原理を採用したコンピュータ・システムの概略構成を示すブロック図である。
【図２】図１に示すコンピュータ・システムのプログラム記憶領域構成の一例を示す説明図である。
【図３】ウィンドウをオーバーラップするのにウィンドウのクリッピングが必要な従来技術によるウィンドウ・ベースのシステムを示す説明図である。
【図４】従来技術のウィンドウ・ベースのシステムのウィンドウ内にある加工中のテキストの一例を示す説明図（ａ）とテキストがポップアップ・メニューによって覆い隠されている状態を示す説明図（ｂ）である。
【図５】本発明によるオーバーラップ透過ウィンドウの使用例を概念的に示す説明図である。
【図６】図４に示す従来技術のシステムに本発明を適用したウィンドウの一例を示す説明図である。
【図７】アクティブなトップ・ウィンドウの下側にあるウィンドウ内に配置されたデータが透過度の選択によりユーザに対して可視化される状態を示す本発明の応用例の説明図である。
【図８】ユーザが各ウィンドウの透過度を選択する状態を示す本発明の応用例の説明図である。
【図９】ウィンドウが選択され、「トップ」ウィンドウに切り換えられてアクティブになる状態を示す本発明の応用例の説明図である。
【図１０】下側にあるウィンドウがアクティブになり、その上にあるウィンドウを通して操作される状態を示す本発明の応用例の説明図である。
【符号の説明】
２００、２０５、２１０、２１５  ウインドウ
２２０  飛行機
２２５  アイコン
２３０  アイコン
【図１】
0003598303.tif 000003
【図２】
0003598303.tif 000004
【図３】
0003598303.tif 000005
【図４】
0003598303.tif 000006
【図５】
0003598303.tif 000007
【図６】
0003598303.tif 000008
【図７】
0003598303.tif 000009
【図８】
0003598303.tif 000010
【図９】
0003598303.tif 000011
【図１０】
0003598303.tif 000012