JP4288281B2 - アプリケーション環境に基づいて、ウィンドウidを動的にプログラミングするための装置及び方法 - Google Patents

アプリケーション環境に基づいて、ウィンドウidを動的にプログラミングするための装置及び方法 Download PDF

Info

Publication number
JP4288281B2
JP4288281B2 JP2006505918A JP2006505918A JP4288281B2 JP 4288281 B2 JP4288281 B2 JP 4288281B2 JP 2006505918 A JP2006505918 A JP 2006505918A JP 2006505918 A JP2006505918 A JP 2006505918A JP 4288281 B2 JP4288281 B2 JP 4288281B2
Authority
JP
Japan
Prior art keywords
window
bits
color
attribute table
overlay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006505918A
Other languages
English (en)
Other versions
JP2006524855A (ja
Inventor
マリオン、ニール、リチャード
ラムゼイ、サード、ジョージ
テサウロ、ジェームズ、スタンレー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006524855A publication Critical patent/JP2006524855A/ja
Application granted granted Critical
Publication of JP4288281B2 publication Critical patent/JP4288281B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/06Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)

Description

本発明は、一般に、改良されたデータ処理システムに関し、具体的には、データ処理システムにおいてピクセル(pixel)を表示するための方法及び装置に関する。さらにより具体的には、本発明は、アプリケーション環境の要件に基づいて、データ処理システムにおいてピクセルを表示するのに用いられるウィンドウ識別バッファを動的に更新するための方法及び装置を提供する。
コンピュータ・グラフィックスは、コンピュータによるモデルから実際の又は仮想のオブジェクトを合成又は表示することに関係する。コンピュータ・グラフィックス・システムにおいては、画像は、ユーザに対して二次元及び三次元の形態で表示装置上に表示される。これらの画像は、ピクセルを用いて表示される。ピクセルは、ピクチャ・エレメント(picture element)を省略したものである。コンピュータによってスクリーン上に生成されるか又はプリンタによって紙の上に生成される画像を形成するように個々に「描かれる」何千もの点からなる直線で構成されたグリッドの中の1つの点である。ピクセルは、文字、数字、又はグラフィックスを作成する際に、表示又は印刷用のハードウェア及びソフトウェアが処理することができる最小の要素である。これらのピクセル、及びこれらのピクセルに関連する情報は、バッファに格納される。1つのピクセルを記述する情報は、ウィンドウID(WID)を用いて識別される。WIDは、ウィンドウ属性テーブル(WAT)への索引として用いられる。WATは、ピクセルがスクリーン上にどのように表示されるかを記述する情報を含む。例えば、WATは、ピクセルについての深さ、カラー・マップ、バッファ、及びガンマを識別する。
典型的には、WIDは、別個のバッファ内に取り込まれ、1つ又は複数のフレーム・バッファ内のピクセルがどのように表示されるかを記述するのに用いられる。例えばUNIX(The Open Groupの商標)サーバのような幾つかのグラフィック・システムは、オーバーレイを用いて三次元アプリケーションの性能を強化するものであるが、これは、三次元アプリケーションの上に重ねるデータを持つ必要がある。この種のサーバは、典型的には、各レイヤーについて固有のピクセル解釈を可能にするように、カラー・プレーン及びオーバーレイについて別個のWIDバッファを必要とする。すなわち、いずれかの所与のピクセル位置、例えばx=10、y=10について、オーバーレイ内のピクセルが、カラー・プレーン内のものとは異なるピクセル解釈、例えば異なるカラー・マップ、深さなどを持つことができるように、別個のWIDバッファが用いられる。
こうしたオーバーレイの一例を図1に示す。この例においては、地図100は、2つのフレーム・バッファ及び単一のWIDバッファ内に配置されたピクセルを用いて表示することができる。地図100は、地図100において州を表す、カラー・フレーム・バッファ内の1組のピクセルを含む。例えば、形状102は、テキサス州の形状である。形状102のためのピクセルはカラー・フレーム・バッファ内に配置されるが、テキスト「テキサス」104はオーバーレイ・フレーム・バッファ内に配置される。この例においては、「テキサス」104はオーバーレイ・フレーム・バッファ内の領域106に配置されるが、形状102はカラー・フレーム・バッファ内の領域108に配置される。
図2(A)においては、WIDカラー・バッファの一部のデータの一例が示される。図2(B)は、WIDオーバーレイ・バッファの一部のデータの一例である。これらの2つの例においては、数字の各々はWIDを表し、該WIDと関連するピクセルを表示するのに用いられる情報を識別するWATへの索引として用いられる。図2において、ゼロは、オーバーレイが無効であることを示すのに用いられる。
図3は、スクリーン上に表示されるピクセルを示すのに用いられることになる、結果として得られるWIDを示す。WIDの各々は、表示するために、どのバッファからどのピクセルが検索されるかを識別する。
典型的には、ハードウェアにおいては8ビット分割WIDを識別することができるが、このうち、3ビットはオーバーレイ・バッファについてのWIDを識別するのに用いられ、5ビットはカラー・バッファについてのWIDを識別するのに用いられる。例えば、最初の3ビットはオーバーレイWATへの索引として用いられ、後ろの5ビットはカラーWATへの索引として用いられる。3ビットを用いると、8つのWIDエントリを識別することができ、又は、8つのWIDエントリを、WIDオーバーレイ・バッファを用いるピクセルに割り当てることができる。WIDカラー・バッファを用いるピクセルには、32の異なるWIDエントリを割り当てることができる。このようにして、オーバーレイ・バッファについてのWIDを上書きすることなく、カラー・バッファについてのWIDを描くことができる。
代替的に、幾つかのハードウェアは8ビット分割WIDを使用し、このうち、4ビットはカラー・バッファについてのWIDを識別するのに用いられ、他の4ビットはオーバーレイ・バッファについてのWIDを識別するのに用いられる。結果として、こうした構成は、オーバーレイ・プレーンとカラー・プレーンの両方について16のWIDを与える。
このように、既知のシステムにおいては、5ビットをカラー・バッファについてのWIDを識別するのに用い、3ビットをオーバーレイ・バッファについてのWIDを識別するのに用いる8ビット分割WIDか、又は、4ビットをカラー・バッファ及びオーバーレイ・バッファについてのWIDの各々を識別するのに用いる8ビット分割WIDのいずれかが、グラフィックス・アダプタに与えられる。これらの構成は固定されており、変更不可能である。
アプリケーションがグラフィックス的により高度になるにつれて、WIDプレーンを与えるこれらの2つの固定的な手法は、急速に限定的なものになりつつある。このことは、各々のレイヤー、すなわちカラー及びオーバーレイに必要なWIDの数が時間と共に大きく変わる可能性のある今日の動的グラフィックス環境について、特に当てはまる。したがって、今日におけるコンピュータ・アプリケーションの動的グラフィックス環境に対応するために、動的に調節可能なWID分割を提供するための改良された装置及び方法について必要性が存在する。
本発明は、カラー・バッファ及びオーバーレイ・バッファの各々についてのWIDを識別するのに用いられるビットの数を、その時点でアクティブなアプリケーション環境に基づいてグラフィックス・アダプタにプログラムすることができる機構を提供する。本発明の装置及び方法を用いて、プログラム可能WATカラー・サイズ選択装置が、グラフィックス・アダプタのRAMDAC内に構成される。このプログラム可能WATカラー・サイズ選択装置は、WIDバッファからのWIDの様々なビット分割を用いてカラーWATテーブル及びオーバーレイWATテーブルへの異なる索引を取得するように、動的にプログラムすることができる。このように、例えば8ビットWIDの異なる分割を、プログラム可能WATカラー・サイズ選択装置の設定に基づいて取得し、様々なカラー及びオーバーレイ能力が動的に得られるようにすることができる。
本発明を別の側面から見ると、コンピューティング装置の表示装置上にグラフィカル表示を生成するための装置であって、ウィンドウIDバッファと、該ウィンドウIDバッファに結合されたプログラム可能ウィンドウ属性テーブル・カラー・サイズ選択装置と、該プログラム可能ウィンドウ属性テーブル・カラー・サイズ選択装置に結合されたカラー・ウィンドウ属性テーブル装置と、該プログラム可能ウィンドウ属性テーブル・カラー・サイズ選択装置に結合されたオーバーレイ・ウィンドウ属性テーブル装置と、カラー・ウィンドウ属性テーブル及びオーバーレイ・ウィンドウ属性テーブルに結合された段階的パイプラインと、該段階的パイプラインに結合されたカラー・バッファと、該段階的パイプラインに結合されたオーバーレイ・バッファと、を備え、該プログラム可能ウィンドウ属性テーブル・カラー・サイズ選択装置は、ソフトウェア・グラフィックス・デバイス・ドライバから受け取った制御データに基づいて動的にプログラム可能であり、それによりウィンドウID分割を第1のウィンドウID分割から第2のウィンドウID分割に変更する、装置が提供される。
本発明の特性と考えられる新規な特徴は、特許請求の範囲に記載される。しかしながら、本発明自体、並びに、その好ましい使用形態、更なる目的、及び利点は、添付図面と併せて読むと、例示的な実施形態に関する以下の詳細な説明を参照することによって最も良く理解されるであろう。
ここで、図面、特に図4を参照すると、本発明の好ましい実施形態に従って本発明を実装することができるデータ処理システムの図が示される。システム・ユニット410と、ビデオ表示端末402と、キーボード404と、フロッピー(商標)ドライブ及び他の種類の永続的記憶媒体及び取り外し可能記憶媒体を含む記憶装置408と、マウス406とを含むコンピュータ400が示される。パーソナル・コンピュータ400には、付加的な入力装置を含むこともできる。コンピュータ400は、ニューヨーク州アーモンク所在のInternational Business Machines Corporationの製品であるIBM(IBM Corporationの商標) RS/6000(IBM Corporationの商標)コンピュータ又はIntelliStation(IBM Corporationの商標)コンピュータなどの、適切ないずれかのコンピュータを用いて実装することができる。描かれた図は1つのコンピュータを示すが、本発明の他の実施形態は、ネットワーク・コンピュータといった他の種類のデータ処理システムにおいて実装することもできる。コンピュータ400はまた、コンピュータ400内部で作動中のコンピュータ可読媒体内にあるシステム・ソフトウェアによって実装することができるグラフィカル・ユーザ・インターフェースを含むことが好ましい。
ここで図5を参照すると、ブロック図は、本発明を実装することができるデータ処理システムを示す。データ処理システム500は、本発明の処理を実行するコード又は命令を配置することができる、図4におけるコンピュータ400などのコンピュータの一例である。データ処理システム500は、ペリフェラル・コンポーネント・インターコネクト(PCI)ローカル・バス・アーキテクチャを用いる。示される例はPCIバスを用いているが、アクセラレーテッド・グラフィックス・ポート(AGP)及びインダストリル・スタンダード・アーキテクチャ(ISA)などの他のバス・アーキテクチャを用いることもできる。プロセッサ502及びメイン・メモリ504は、PCIブリッジ508を介してPCIローカル・バス506に接続される。PCIブリッジ508は、プロセッサ502のための統合メモリ・コントローラ及びキャッシュ・メモリを含むこともできる。PCIローカル・バス506への付加的な接続は、直接コンポーネント相互接続を介して、又はアドイン・ボードを介して、構築することができる。示される例においては、ローカル・エリア・ネットワーク(LAN)アダプタ510、小型コンピュータ・システム・インターフェース(SCSI)ホスト・バス・アダプタ512、及び拡張バス・インターフェース514が、直接コンポーネント接続によってPCIローカル・バス506に接続される。対照的に、オーディオ・アダプタ516、グラフィックス・アダプタ518、及びオーディオ/ビデオ・アダプタ519が、拡張スロットに挿入されたアドイン・ボードによってPCIローカル・バス506に接続される。本発明の処理は、グラフィックス・アダプタ518又はオーディオ/ビデオ・アダプタ519によるデータのレンダリングを管理するのに用いることができる。
拡張バス・インターフェース514は、キーボード及びマウス・アダプタ520、モデム522、及び追加メモリ524を接続する。SCSIホスト・バス・アダプタ512は、ハード・ディスク・ドライブ526、テープ・ドライブ528、及びCD−ROMドライブ530を接続する。典型的なPCIローカル・バス実装は、3つ又は4つのPCI拡張スロット又はアドイン・コネクタをサポートする。
オペレーティング・システムが、プロセッサ502上で稼動し、図5におけるデータ処理システム500内部の様々なコンポーネントを調整し、制御するのに用いられる。オペレーティング・システムは、International Business Machines Corporationから入手可能なOS/2(商標)などの市販のオペレーティング・システムとすることができる。「OS/2」はInternational Business Machines Corporationの商標である。Java(商標)などのオブジェクト指向プログラミング・システムが、オペレーティング・システムと共に稼動することができ、データ処理システム500上で実行するJavaプログラム又はアプリケーションからオペレーティング・システムを呼び出す。「Java」は、Sun Microsystems,Inc.の商標である。オペレーティング・システム、オブジェクト指向オペレーティング・システム、及びアプリケーション又はプログラムについての命令は、ハード・ディスク・ドライブ526などの記憶装置上に配置され、プロセッサ502によって実行するためにメイン・メモリ504にロードすることができる。
当業者であれば、図5のハードウェアは、実装に応じて変えることができることを理解するであろう。図5に示されるハードウェアに加えて、又はこれに代えて、フラッシュROM(又は、同等の不揮発性メモリ)又は光ディスク・ドライブなどといった他の内蔵ハードウェア又は周辺装置を用いることができる。また、本発明の処理は、マルチプロセッサ・データ処理システムに適用することができる。
例えば、データ処理システム500は、必要に応じてネットワーク・コンピュータとして構成される場合には、任意に含むことを示す図5の点線532によって示されるように、SCSIホスト・バス・アダプタ512、ハード・ディスク・ドライブ526、テープ・ドライブ528、及びCD−ROMドライブ530を含まないこともある。その場合には、クライアント・コンピュータと呼ばれることが適切なコンピュータは、LANアダプタ510、モデム522などといった何らかの種類のネットワーク通信インターフェースを含まなければならない。別の例として、データ処理システム500は、何らかの種類のネットワーク通信インターフェースを備えるかどうかにかかわらず、何らかの種類のネットワーク通信インターフェースに依存せずにブート可能なものとして構成される独立型システムとすることができる。さらに別の例として、データ処理システム500は、オペレーティング・システム・ファイル及び/又はユーザ作成データを記憶する不揮発性メモリを与えるためのROM及び/又はフラッシュROMを伴って構成される携帯情報端末(PDA)装置とすることができる。
図5に示される例及び上述の実施例は、アーキテクチャ上の制限を意味することを意図するものではない。例えば、データ処理システム500は、PDAの形態をとることに加えて、ノートブック型コンピュータ又は携帯用コンピュータとすることもできる。データ処理システム500は、キオスク又はWebアプライアンスとすることもできる。
次に図6を参照すると、本発明の好ましい実施形態に係るグラフィックス・アダプタを図示するブロック図が示される。グラフィックス・アダプタ600は、図5のグラフィックス・アダプタ518などのグラフィックス・アダプタの一例である。グラフィックス・アダプタ600は、アダプタ・メモリ602と、ランダム・アクセス・メモリ・デジタル−アナログ・コンバータ(RAMDAC:random access memory digital to analog converter)620とを含む。RAMDAC620は、RAMDAC段階的パイプライン(staged pipeline)604と、カラーWATテーブル606及びオーバーレイWATテーブル608と、プログラム可能WATカラー・サイズ選択装置650とを含む。アダプタ・メモリ602は、カラー・フレーム・バッファ610と、オーバーレイ・フレーム・バッファ612と、WIDバッファ614とを含む。2つのフレーム・バッファは、表示装置660への出力のためにRAMDAC段階的パイプライン604に送られるピクセルを含む。RAMDAC段階的パイプライン604は、カラー・パレットを保持し、メモリからのデータを表示装置660のためのアナログ信号に変換するグラフィックス・コントローラ・チップである。
WIDバッファ614は、カラーWATテーブル606及びオーバーレイWATテーブル608への索引として用いられるWIDを含む。これらのWATテーブル606及び608の各々は、1つのピクセルが表示装置上にどのようにレンダリングされるかを記述する。
プログラム可能WATカラー・サイズ選択装置650は、WIDバッファ614のうちのどのビットがカラーWATテーブル606のエントリを識別するのに用いられ、該WIDバッファ614のうちのどのビットがオーバーレイWATテーブル608のエントリを識別するのに用いられるかを選択するために使用される。プログラム可能WATカラー・サイズ選択装置650は、図5におけるPCIローカル・バス506などのデータ・バス(図示せず)を介して外部エンティティによってプログラム可能である。データ・バスを介して受け取った制御データに基づいて、グラフィックス・アダプタのプログラム可能WATカラー・サイズ選択装置650のレジスタが設定され、それが次に、カラーWATテーブルのエントリ及びオーバーレイWATテーブルのエントリを識別するために用いられるビット数を設定する。このように、WIDの分割は、例えばXServerといったグラフィックス・デバイス・ドライバによって動的にプログラム可能である。
すなわち、受け取った制御データに基づいて、WIDバッファ614から受け取った特定の数のビットをカラーWATテーブル606に渡し、それにより該カラーWATテーブル606内のエントリを識別するように、プログラム可能WATカラー・サイズ選択装置650の設定が修正される。WIDバッファからの残りのビットは、オーバーレイWATテーブルのエントリを識別するために、オーバーレイWATテーブル608に渡される。次いで、識別されたカラーWATテーブルのエントリ及びオーバーレイWATテーブルのエントリは、カラー・バッファ610及びオーバーレイ・バッファ612からのデータと共に用いて表示装置660上にスクリーン画像を生成するために、RAMDAC段階的パイプライン604に出力される。
プログラム可能WATカラー・サイズ選択装置650においてWID分割を設定するのに用いられる制御データは、グラフィックス・アダプタ600とインターフェース接続され、用いられるWATカラー・サイズを選択することが可能ないずれかの外部ソースによって生成することができる。好ましい実施形態においては、WATカラー・サイズは、その時点でアクティブなアプリケーション環境に基づいて選択され、制御データは、グラフィックス・デバイス・ドライバ・ソフトウェアによってグラフィックス・アダプタ600に送られる。当然のことながら、本発明の精神及び範囲から逸脱することなく、WID分割を設定するための他の機構を用いることができる。こうした他の機構は、物理スイッチ、外部回路から制御信号を受け取る別個の入力ラインなどの形態をとることができる。
例えば、アプリケーションが、新たなWIDを必要とする属性(新たなカラー・マップ、スワップ・バッファなど)を変更することがある。典型的には、これは、新たなウィンドウがアプリケーションによって開かれたときに発生する。新たなウィンドウには、該ウィンドウが別のウィンドウと同じピクセル解釈、すなわち同じカラー・マップ、バッファ、深さ、レイヤーなどを持つ場合には共有WIDが割り当てられるか、又は新たなWIDが割り当てられる。新たなウィンドウについてのこれらの新たな属性に基づいてWID分割を変更する必要があるのはこの時点である。
結果として、グラフィックス・デバイス・ドライバ・ソフトウェアは、新たなウィンドウについてのこれらの新たな属性に基づいてプログラム可能WATカラー・サイズ選択装置650に制御データを送り、それにより、WIDバッファからのWIDの分割を変更するように該プログラム可能WATカラー・サイズ選択装置650をプログラムすることができる。こうした分割は、例えば、8ビットWIDの7−1カラー/オーバーレイ分割、WIDバッファ614からの8ビットWIDの6−2、5−3、4−4などといった分割を含むことができる。
このように、コンピューティング・システムによってその時点で用いられている特定のアクティブなアプリケーション環境に基づいて、様々なレベルのカラー及びオーバーレイ・グラフィックス能力を動的に取得することができる。例えばXServerなどのグラフィックス・デバイス・ドライバは、その時点でアクティブなアプリケーション環境に基づいて、WID分割を動的に管理する。このように、異なるアプリケーションがコンピューティング・システムにおいてアクティブになるときに、異なるアプリケーションについて異なるWID分割を取得することができる。
図7においては、本発明の好ましい実施形態に従って、WATテーブルの一例が示される。WATテーブル700は、カラーWATについて、ピクセル・タイプ、カラー・マップ、バッファ、及びガンマを記述する情報を含む。WATテーブル700は、オーバーレイWATについて、ピクセル・タイプ、カラー・マップ、及び透明性などの情報を含む。WATテーブル700は、この例においては、WIDによって索引付けされる16のエントリを2セット含む。この例におけるピクセル・タイプは、8ビットのピクセル・カラー又は24ビットのトゥルー・カラーとして記述される。含むことができる他の情報は、例えば、どのフレーム・バッファを表示するか、オーバーレイが透明であるかどうか、又はオーバーレイが無効であるかどうか、とすることができる。これらのエントリは、図6のカラーWATテーブル606及びオーバーレイWATテーブル608において用いることができる。
この例においては、4ビットのみが、WATテーブルへの索引として用いられる。各々のテーブルは、図6におけるWIDバッファ614からのWIDによって索引付けされる16のエントリを含む。このことは、WIDがカラーWATとオーバーレイWATとの間で分割される8ビット・システムとは対照的である。4ビットWIDは、オーバーレイWATとカラーWATとの間で共有される。したがって、各々のWIDエントリは、オーバーレイWATとカラーWATとを指定することになる。ピクセルをスクリーン上に表示するのに用いられるバッファは、WIDエントリについてのオーバーレイWATの設定によって決まる。この設定は、例えば、不透明オーバーレイ、透明オーバーレイ、又はオーバーレイ無効とすることができる。
前述のように、既知のシステムにおいては、5ビットをカラー・バッファについてのWIDを識別するのに用い、3ビットをオーバーレイ・バッファについてのWIDを識別するのに用いる8ビット分割WIDか、又は、4ビットをカラー・バッファ及びオーバーレイ・バッファについてのWIDの各々を識別するのに用いる8ビット分割WIDのいずれかが、グラフィックス・アダプタに与えられる。これらの構成は固定されており、変更不可能である。すなわち、グラフィックス・アダプタは、WIDバッファからの固定ビット数によって索引付けされる単一のカラーWATテーブル及びオーバーレイWATテーブルのみを含むことができる。したがって、グラフィックス・アダプタのカラー及びオーバーレイ能力に関して自由度がない。
しかしながら、最新の動的グラフィックス環境は、カラー・バッファ及びオーバーレイ・バッファの各々についてのWIDを識別するのに用いられるビット数が選択可能であるような、分割WIDの自由度がより高い手法から利益を受けるであろう。本発明は、カラー・バッファ及びオーバーレイ・バッファの各々についてのWIDを識別するのに用いられるビット数を、その時点でアクティブなアプリケーション環境に基づいてグラフィックス・アダプタにプログラムすることができる機構を提供する。
このプログラム可能性を容易なものにするために、カラーWATテーブル606及びオーバーレイWATテーブル608のサイズを大きくして、テーブルへの索引付けに用いることができるビットの最大数に対応するようにすることができる。すなわち、カラーWATテーブルとオーバーレイWATテーブルとの間のビット分割が7−1の場合など、カラーWATテーブルについてのビットの最大数が7である場合には、該カラーWATテーブル606におけるエントリ数は、7ビットのカラーWIDから得られる全ての可能な値を網羅するのに十分なものであることが必要であろう。同様に、カラーWATテーブルとオーバーレイWATテーブルとの間のビット分割が4−4の場合など、オーバーレイWATテーブルについてのビットの最大数が4である場合には、該オーバーレイWATテーブル608におけるエントリ数は、4ビットのオーバーレイWIDから得られる全ての可能な値を網羅するのに十分なものであることが必要であろう。こうしたカラーWATテーブル606及びオーバーレイWATテーブル608を用いると、最大数より少ないビット数が用いられる場合であっても、結果として得られるWIDが、カラーWATテーブル606及びオーバーレイWATテーブル608の特定のエントリに索引付けされることになる。
図8は、本発明に係るプログラム可能WATカラー・サイズ選択装置をプログラムするための1つの例示的な実施形態を示す例示的なブロック図である。図8に示されるように、アプリケーション810は、カラー・プレーンにウィンドウを開くことを要求する(オーバーレイも同様に動作することになる)。グラフィックス・デバイス・ドライバ830(例えばXServer)は、要求を受け取って、新たなWIDをそのウィンドウに割り当てることになるか又は既存のWIDを利用できるかを判断する。新たなWIDが割り当てられる場合には、WID分割は、アプリケーションによって開かれている新たなウィンドウの属性に基づいて決定される。WID分割に関するこの決定に基づいて、制御データがグラフィックス・アダプタ840のRAMDAC850内のプログラム可能WATカラー・サイズ選択装置860に送られ、それにより、所望のWID分割を与えるようにプログラム可能WATカラー・サイズ選択装置860をプログラムすることができる。
例えば、WID分割を決定するときに、グラフィックス・デバイス・ドライバは、カラー・プレーンに利用可能なWIDは存在しないが、オーバーレイ・プレーンに利用可能な多くのWIDが存在すると判断する場合がある。このような場合には、オーバーレイWIDから1つのプレーンを取り、それをカラー・プレーンWIDに与えることによって、WID分割を変更することができる。WID分割のこの変更は、制御データをプログラム可能WATカラー・サイズ選択装置に送り、それにより1つのプレーンをオーバーレイWIDからカラー・プレーンWIDに移動させるようにWID分割を設定するグラフィックス・デバイス・ドライバによって、実現することができる。
図9は、本発明に係るプログラム可能WATカラー・サイズ選択装置の例示的な動作の概略を示すフローチャートである。図9に示されるように、動作は、WID分割を再プログラムするかどうかに関する判断から開始する(ステップ910)。この判断は、実際には、単に、グラフィックス・デバイス・ドライバからの新たなWID分割を示す制御データを受け取ることに応答して自動的に行われるものとすることができる。その場合、すなわち新たなWID分割を識別する制御データを受け取った場合には、カラー・ビットとオーバーレイ・ビットとの間のWID分割は更新される(ステップ920)。これは、例えば、プログラム可能WATカラー・サイズ選択装置内の、WID分割を識別する1つ又はそれ以上のレジスタを設定することによって、行うことができる。
その後、又はWID分割を再プログラムするための制御データを受け取らなかった場合には、動作は、WIDバッファから次のWIDを読み込む(ステップ930)。次いでWIDのビットは、その時点で有効なWID分割に従って分割され(ステップ940)、対応するビットが、カラーWATテーブル及びオーバーレイWATテーブルに送られる(ステップ950)。その後、例えばコンピューティング装置のシャットダウンなどの終了条件が発生したかどうかに関する判断が行われる(ステップ960)。発生した場合には、動作は終了する。そうでない場合には、動作はステップ910に戻り、終了条件が発生するまで繰り返される。
このように、本発明を用いて、動的にプログラム可能なグラフィックス・アダプタを提供することにより、グラフィックス・アダプタのグラフィックス能力に関する自由度が得られる。より詳細には、本発明を用いると、カラーWATテーブル及びオーバーレイWATテーブルの索引付けに用いられるビットの数を動的に変更して、様々なカラー及びオーバーレイ能力を得ることができる。さらに、WATテーブルへのこの索引付けは、その時点でアクティブな特定のアプリケーション環境に基づいて、動的に変更可能とすることができる。
本発明は、完全に機能するデータ処理システムに関して説明されたが、当業者であれば、本発明の処理は、命令に関するコンピュータ可読媒体の形態、及び様々な形態で配布することが可能であり、本発明は、実際に配布を実施するのに用いられる特定の種類の信号支持媒体にかかわらず等しく適用されると理解するであろうということに留意することが重要である。コンピュータ可読媒体の例は、フロッピー(商標)ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなどの書き込み可能型媒体と、デジタル及びアナログ通信リンク、有線通信リンク、又は、例えば無線周波数伝送及び光波伝送などの伝送形式を用いる無線通信リンクといった伝送型媒体と、を含む。コンピュータ可読媒体は、特定のデータ処理システムにおいて実際に使用するために復号化される、符号化されたフォーマットの形態をとることができる。
本発明の説明は、例示及び説明の目的で提示されたものであり、網羅的であること又は開示された形式の発明に限定することを意図するものではない。当業者であれば、多くの修正及び変形が明らかであろう。実施形態は、本発明の原理及び実際の適用を最も良く説明するように、及び、当業者以外であっても、考えられる特定の用途に適合するような様々な修正を伴う様々な実施形態について本発明を理解できるように、選択され、説明されたものである。
カラー・バッファ及びオーバーレイ・バッファの一部のデータの一例である。 (A)WIDカラー・バッファの一部のデータの一例である。(B)WIDオーバーレイ・バッファの一部のデータの一例である。 スクリーン上に表示されるピクセルを表示するのに用いられることになる、結果として得られるWIDを示す。 本発明の好ましい実施形態に従って本発明を実装することができるデータ処理システムの図である。 本発明を実装することができるデータ処理システムを示すブロック図である。 本発明に係るグラフィックス・アダプタを図示するブロック図である。 本発明に係るカラーWAT及びオーバーレイWATについて示される例示的なWATテーブルである。 本発明に係る動的に構成可能なWIDを提供するために、アプリケーションと、デバイス・ライバと、RAMDACとの間のデータ・フローを示す例示的な図である。 本発明の例示的な動作の概略を示すフローチャートである。

Claims (15)

  1. コンピューティング装置の表示装置上にグラフィカル表示を生成する方法であって、
    アプリケーションからカラー・プレーンにウィンドウを開くことが要求されたことに対応してグラフィックス・デバイス・ドライバから、ウィンドウ属性テーブルに索引付けするためのウィンドウIDのビット数を設定する制御データを受け取るステップと、
    ウィンドウIDバッファからウィンドウIDを読み込むステップと、
    前記制御データに基づいて設定された前記ウィンドウ属性テーブルに索引付けするための前記ビット数に従って、前記ウィンドウIDを第1のビットの組及び第2のビットの組に分割するステップと、
    少なくとも1つのウィンドウ属性テーブルから取得される少なくとも1つのエントリであって、前記第1のビットの組及び前記第2のビットの組の少なくとも一方によって識別されるエントリを用いて、前記カラー・プレーンに開くウィンドウのためのウィンドウIDを変更し、グラフィカル表示を生成するステップと、
    を含む方法。
  2. ウィンドウ属性テーブルに索引付けするためのウィンドウIDの前記ビット数は、カラー・ウィンドウ属性テーブルに索引付けするためのウィンドウIDのビット数である、請求項1に記載の方法。
  3. 少なくとも1つのウィンドウ属性テーブルから取得される少なくとも1つのエントリを用いてグラフィカル表示を生成する前記ステップが、
    前記第1のビットの組をカラー・ウィンドウ属性テーブルに送るステップと、
    前記第2のビットの組をオーバーレイ・ウィンドウ属性テーブルに送るステップと、
    前記カラー・ウィンドウ属性テーブルへの索引である前記第1のビットの組に基づいて、該カラー・ウィンドウ属性テーブル内の第1のエントリを取得するステップと、
    前記オーバーレイ・ウィンドウ属性テーブルへの索引である前記第2のビットの組に基づいて、該オーバーレイ・ウィンドウ属性テーブル内の第2のエントリを取得するステップと、
    を含む、請求項1に記載の方法。
  4. カラー・バッファからデータを受け取るステップと、
    オーバーレイ・バッファからデータを受け取るステップと、
    前記カラー・バッファからの前記データ、前記オーバーレイ・バッファからの前記データ、前記第1のエントリ、及び前記第2のエントリに基づいて、前記グラフィカル表示を生成するステップと、
    をさらに含む、請求項3に記載の方法。
  5. 前記ウィンドウIDのビットの分割を識別する少なくとも1つのレジスタを動的に設定するステップをさらに含み、前記制御データは、グラフィックス・アダプタによってサポートされるグラフィカル・パラメータの組を要求するアプリケーションに応答して動的に受け取られる、請求項1に記載の方法。
  6. コンピューティング装置の表示装置上にグラフィカル表示を生成するための、コンピュータ可読媒体内のコンピュータ・プログラムであって、当該コンピューティング装置に、
    アプリケーションからカラー・プレーンにウィンドウを開くことが要求されたことに対応してグラフィックス・デバイス・ドライバから、ウィンドウ属性テーブルに索引付けするためのウィンドウIDのビット数を設定する制御データを受け取らせ、
    ウィンドウIDバッファからウィンドウIDを読み込ませ、
    前記制御データに基づいて設定された前記ウィンドウ属性テーブルに索引付けするための前記ビット数に従って、前記ウィンドウIDを第1のビットの組及び第2のビットの組に分割させ、
    少なくとも1つのウィンドウ属性テーブルから取得される少なくとも1つのエントリであって、前記第1のビットの組及び前記第2のビットの組の少なくとも一方によって識別されるエントリを用いて、前記カラー・プレーンに開くウィンドウのためのウィンドウIDを変更し、グラフィカル表示を生成させる、
    コンピュータ・プログラム。
  7. コンピューティング装置の表示装置上にグラフィカル表示を生成するための装置であって、
    アプリケーションからカラー・プレーンにウィンドウを開くことが要求されたことに対応してグラフィックス・デバイス・ドライバから、ウィンドウ属性テーブルに索引付けするためのウィンドウIDのビット数を設定する制御データを受け取るための手段と、
    ウィンドウIDバッファからウィンドウIDを読み込むための手段と、
    前記制御データに基づいて設定された前記ウィンドウ属性テーブルに索引付けするための前記ビット数に従って、前記ウィンドウIDを第1のビットの組及び第2のビットの組に分割する手段と、
    少なくとも1つのウィンドウ属性テーブルから取得される少なくとも1つのエントリであって、前記第1のビットの組及び前記第2のビットの組の少なくとも一方によって識別されるエントリを用いて、前記カラー・プレーンに開くウィンドウのためのウィンドウIDを変更し、グラフィカル表示を生成するための手段と、
    を備える装置。
  8. ウィンドウ属性テーブルに索引付けするためのウィンドウIDの前記ビット数は、カラー・ウィンドウ属性テーブルに索引付けするためのウィンドウIDのビット数である、請求項7に記載の装置。
  9. 少なくとも1つのウィンドウ属性テーブルから取得される少なくとも1つのエントリを用いてグラフィカル表示を生成するための前記手段が、
    前記第1のビットの組をカラー・ウィンドウ属性テーブルに送るための手段と、
    前記第2のビットの組をオーバーレイ・ウィンドウ属性テーブルに送るための手段と、
    前記カラー・ウィンドウ属性テーブルへの索引である前記第1のビットの組に基づいて、該カラー・ウィンドウ属性テーブル内の第1のエントリを取得するための手段と、
    前記オーバーレイ・ウィンドウ属性テーブルへの索引である前記第2のビットの組に基づいて、該オーバーレイ・ウィンドウ属性テーブル内の第2のエントリを取得するための手段と、
    を備える、請求項7に記載の装置。
  10. カラー・バッファからデータを受け取るための手段と、
    オーバーレイ・バッファからデータを受け取るための手段と、
    前記カラー・バッファからの前記データ、前記オーバーレイ・バッファからの前記データ、前記第1のエントリ、及び前記第2のエントリに基づいて、前記グラフィカル表示を生成するための手段と、
    をさらに備える、請求項9に記載の装置。
  11. 前記グラフィカル表示は、前記カラー・バッファからの前記データと、前記オーバーレイ・バッファからの前記データと、前記第1のエントリと、前記第2のエントリとを入力として受け取る段階的パイプラインによって生成される、請求項10に記載の装置。
  12. 前記制御データは、ウィンドウ属性テーブル・カラー・サイズを設定するアプリケーションからの要求に応答して、グラフィックス・デバイス・ドライバから受け取られる、請求項7に記載の装置。
  13. 前記要求は、前記アプリケーションのウィンドウを開くときに該アプリケーションによって生成される、請求項12に記載の装置。
  14. 前記グラフィックス・デバイス・ドライバはXServerデバイス・ドライバである、請求項12に記載の装置。
  15. 前記ウィンドウIDのビットの分割を識別する少なくとも1つのレジスタを前記要求に応答して動的に設定する手段をさらに備え、前記制御データは、グラフィックス・アダプタによってサポートされるグラフィカル・パラメータの組を要求するアプリケーションに応答して動的に受け取られる、請求項7に記載の装置。
JP2006505918A 2003-03-20 2004-03-05 アプリケーション環境に基づいて、ウィンドウidを動的にプログラミングするための装置及び方法 Expired - Fee Related JP4288281B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/394,305 US6911991B2 (en) 2003-03-20 2003-03-20 Apparatus and method for dynamically programming a window ID configuration based on an application environment
PCT/GB2004/000930 WO2004084172A1 (en) 2003-03-20 2004-03-05 Apparatus and method for dynamically programming a window id configuration based on an application environment

Publications (2)

Publication Number Publication Date
JP2006524855A JP2006524855A (ja) 2006-11-02
JP4288281B2 true JP4288281B2 (ja) 2009-07-01

Family

ID=32988344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006505918A Expired - Fee Related JP4288281B2 (ja) 2003-03-20 2004-03-05 アプリケーション環境に基づいて、ウィンドウidを動的にプログラミングするための装置及び方法

Country Status (7)

Country Link
US (1) US6911991B2 (ja)
EP (1) EP1606789A1 (ja)
JP (1) JP4288281B2 (ja)
KR (1) KR100827494B1 (ja)
CN (1) CN100573653C (ja)
CA (1) CA2515476C (ja)
WO (1) WO2004084172A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW563376B (en) * 2002-03-15 2003-11-21 Via Tech Inc Method for adjusting color value or related parameter of overlay image frame
CN102156608B (zh) * 2010-12-10 2013-07-24 上海合合信息科技发展有限公司 多字符连续书写的手写输入方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5101365A (en) * 1988-10-31 1992-03-31 Sun Microsystems, Inc. Apparatus for extending windows using Z buffer memory
JP3259272B2 (ja) 1990-10-23 2002-02-25 ソニー株式会社 画像表示制御装置および方法
JP2583003B2 (ja) 1992-09-11 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックス表示システムにおけるイメージ表示方法、フレーム・バッファ及びグラフィックス表示システム
US5838334A (en) * 1994-11-16 1998-11-17 Dye; Thomas A. Memory and graphics controller which performs pointer-based display list video refresh operations
JP3355596B2 (ja) * 1995-06-06 2002-12-09 インターナショナル・ビジネス・マシーンズ・コーポレーション グラフィックス装置および表示方法
US5940089A (en) * 1995-11-13 1999-08-17 Ati Technologies Method and apparatus for displaying multiple windows on a display monitor
US5831638A (en) * 1996-03-08 1998-11-03 International Business Machines Corporation Graphics display system and method for providing internally timed time-varying properties of display attributes
US6529908B1 (en) * 1998-05-28 2003-03-04 Netspan Corporation Web-updated database with record distribution by email
US6628291B1 (en) * 1999-09-02 2003-09-30 International Business Machines Corporation Method and apparatus for display refresh using multiple frame buffers in a data processing system
US6573904B1 (en) * 2000-01-06 2003-06-03 International Business Machines Corporation Method and apparatus in a data processing system for updating color buffer window identifies when an overlay window identifier is removed
US6710777B1 (en) * 2000-01-06 2004-03-23 International Business Machines Corporation Method and apparatus in a data processing system for installing appropriate WID values for a transparent region
US6529208B1 (en) * 2000-01-06 2003-03-04 International Business Machines Corporation Method and apparatus for updating a window identification buffer in a data processing system
US6831660B1 (en) * 2000-06-15 2004-12-14 International Business Machines Corporation Method and apparatus for graphics window clipping management in a data processing system
US6822659B2 (en) * 2002-05-16 2004-11-23 International Business Machines Corporation Method and apparatus for increasing pixel interpretations by implementing a transparent overlay without requiring window identifier support

Also Published As

Publication number Publication date
CA2515476A1 (en) 2004-09-30
EP1606789A1 (en) 2005-12-21
US20040183810A1 (en) 2004-09-23
JP2006524855A (ja) 2006-11-02
KR100827494B1 (ko) 2008-05-06
CN1723486A (zh) 2006-01-18
CN100573653C (zh) 2009-12-23
KR20050106018A (ko) 2005-11-08
US6911991B2 (en) 2005-06-28
CA2515476C (en) 2011-05-17
WO2004084172A1 (en) 2004-09-30

Similar Documents

Publication Publication Date Title
US7386697B1 (en) Memory management for virtual address space with translation units of variable range size
US6573904B1 (en) Method and apparatus in a data processing system for updating color buffer window identifies when an overlay window identifier is removed
US7262776B1 (en) Incremental updating of animated displays using copy-on-write semantics
JPH07501639A (ja) ピクセル変更ユニット
US20100262727A1 (en) Enhanced Memory Migration Descriptor Format and Method
JP3940435B2 (ja) ダイレクト・メモリ・アクセス(dma)バイト・スワッピングを実行する方法および装置
US6980222B2 (en) Method and apparatus for implementing dynamically sizable color tables
EP1303849B1 (en) Method and apparatus for graphics context switching
EP0803797A1 (en) System for use in a computerized imaging system to efficiently transfer graphic information to a graphics subsystem employing masked span
JP4288281B2 (ja) アプリケーション環境に基づいて、ウィンドウidを動的にプログラミングするための装置及び方法
JP4533067B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US6822659B2 (en) Method and apparatus for increasing pixel interpretations by implementing a transparent overlay without requiring window identifier support
US20050151750A1 (en) Method and apparatus for managing infinitely configurable window attribute tables
US6710777B1 (en) Method and apparatus in a data processing system for installing appropriate WID values for a transparent region
JP2561810B2 (ja) ビット境界ブロック転送中のハードウェア支援式画素再フォーマット
JPS59165137A (ja) プラズマガスパネルデイスプレイのデイスプレイ管理システム
US6972770B1 (en) Method and apparatus for performing raster operations in a data processing system
US7969451B2 (en) Method and apparatus for dynamically sizing color tables
US20040189659A1 (en) Method and apparatus for managing dynamically sizeable color tables
US6985624B2 (en) Image processing apparatus and its method
US20030214511A1 (en) Method and apparatus for managing multiple hardware color tables in a data processing system
KR100195199B1 (ko) 메타얼라인 모드 데스티네이션 어드레스 발생회로 및 이를 이용한 그래픽 콘트롤러
JP2002329210A (ja) 画像処理装置および画像処理装置の制御方法および記憶媒体
JPH11184853A (ja) 文書処理装置及び方法並びに記憶媒体
JPS62128366A (ja) デ−タスワツプ回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20080917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090317

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090317

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090330

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130403

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130403

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140403

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees