JPH04222022A - データ・ブロック移動方法及びシステム - Google Patents
データ・ブロック移動方法及びシステムInfo
- Publication number
- JPH04222022A JPH04222022A JP3075809A JP7580991A JPH04222022A JP H04222022 A JPH04222022 A JP H04222022A JP 3075809 A JP3075809 A JP 3075809A JP 7580991 A JP7580991 A JP 7580991A JP H04222022 A JPH04222022 A JP H04222022A
- Authority
- JP
- Japan
- Prior art keywords
- window
- frame buffer
- pixel
- destination
- source
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 16
- 239000000872 buffer Substances 0.000 claims abstract description 84
- 239000007853 buffer solution Substances 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000000243 solution Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009125 cardiac resynchronization therapy Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000006187 pill Substances 0.000 description 1
- 235000015067 sauces Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明はコンピュータ・ワークス
テーション等に用いるウィンドウ・システムに関する。 特に本発明は、フレーム・バッファを有するコンピュー
タ・ワークステーション等のフレーム・バッファでソー
ス・ウィンドウとデスティネーション・ウィンドウ間で
ピクセル値データを移動する方法とシステムに関する。
テーション等に用いるウィンドウ・システムに関する。 特に本発明は、フレーム・バッファを有するコンピュー
タ・ワークステーション等のフレーム・バッファでソー
ス・ウィンドウとデスティネーション・ウィンドウ間で
ピクセル値データを移動する方法とシステムに関する。
【0002】
【従来技術及びその問題点】コンピュータ・ワークステ
ーションは多数の機能を支援する強力なツールをシステ
ムのユーザに提供する。ワークステーションが提供する
有用な機能の一例には多様な用途のための高度に精密な
グラフィクス・シミュレーションを実行する能力がある
。グラフィクス・シミュレーションはコンピュータを利
用した設計(CAD)及びコンピュータを利用した製造
(CAM)の作業を行なうエンジニァや設計者に特に有
用である。
ーションは多数の機能を支援する強力なツールをシステ
ムのユーザに提供する。ワークステーションが提供する
有用な機能の一例には多様な用途のための高度に精密な
グラフィクス・シミュレーションを実行する能力がある
。グラフィクス・シミュレーションはコンピュータを利
用した設計(CAD)及びコンピュータを利用した製造
(CAM)の作業を行なうエンジニァや設計者に特に有
用である。
【0003】グラフィクス能力を有する現代のワークス
テーションはグラフィクス処理を行うため「ウィンドウ
」システムを利用している。グラフィクス・ウィンドウ
・システムに関して出現した標準システムは米国のマサ
チューセッツ工科大学で開発されたXウィンドウ・シス
テムである。このXウィンドウ・システムはK.Ake
leyとT.Jermoluk共著の“High −P
erformance Polygon rend
ering”(Computer Graphics
1988年8月号239−246ページ)に記載されて
いる。グラフィクス・ワークステーションにおける現代
のウィンドウ・システムは高性能のマルチウィンドウを
提供し、しかもユーザとワークステーションとの高度な
対話性を維持しなければならない。従来はグラフィクス
・ワークステーションにおいてユーザとウィンドウ・シ
ステムとの対話性を高めるため、ソフトウェア上の解決
策が講じられた。しかし、ユーザとシステムの対話性を
高めるためのソフトウェア上の解決策では、プロセッサ
の作業時間が長くなり、ひいてはワークステーションの
スクリーンに図形描画が達成されるまでの時間が長くな
る。
テーションはグラフィクス処理を行うため「ウィンドウ
」システムを利用している。グラフィクス・ウィンドウ
・システムに関して出現した標準システムは米国のマサ
チューセッツ工科大学で開発されたXウィンドウ・シス
テムである。このXウィンドウ・システムはK.Ake
leyとT.Jermoluk共著の“High −P
erformance Polygon rend
ering”(Computer Graphics
1988年8月号239−246ページ)に記載されて
いる。グラフィクス・ワークステーションにおける現代
のウィンドウ・システムは高性能のマルチウィンドウを
提供し、しかもユーザとワークステーションとの高度な
対話性を維持しなければならない。従来はグラフィクス
・ワークステーションにおいてユーザとウィンドウ・シ
ステムとの対話性を高めるため、ソフトウェア上の解決
策が講じられた。しかし、ユーザとシステムの対話性を
高めるためのソフトウェア上の解決策では、プロセッサ
の作業時間が長くなり、ひいてはワークステーションの
スクリーンに図形描画が達成されるまでの時間が長くな
る。
【0004】グラフィクス・ワークステーションのウィ
ンドウ・システムの主要な機能は、ユーザがワークステ
ーション上の複数のプロセスに同時にアクセス出来るよ
うにすることである。しかし、これらのプロセスは各々
ワークステーションのディスプレイ上で自分自身の領域
を介したインターフェイスをユーザに与える。ユーザは
マルチウィンドウを用いて一度に複数のタスクを管理で
きるので、全体的にはユーザの生産性が向上する。しか
し、ウィンドウに関連付けられた各プロセスはワークス
テーションの資源をあたかも自分が唯一の所有者である
かのようにみなす。従って処理装置、メモリ、周辺装置
やグラフィクス・ハードウェアのような資源はワークス
テーションでのプロセス間の衝突を防止するような形態
でプロセス間で共用しなければならない。
ンドウ・システムの主要な機能は、ユーザがワークステ
ーション上の複数のプロセスに同時にアクセス出来るよ
うにすることである。しかし、これらのプロセスは各々
ワークステーションのディスプレイ上で自分自身の領域
を介したインターフェイスをユーザに与える。ユーザは
マルチウィンドウを用いて一度に複数のタスクを管理で
きるので、全体的にはユーザの生産性が向上する。しか
し、ウィンドウに関連付けられた各プロセスはワークス
テーションの資源をあたかも自分が唯一の所有者である
かのようにみなす。従って処理装置、メモリ、周辺装置
やグラフィクス・ハードウェアのような資源はワークス
テーションでのプロセス間の衝突を防止するような形態
でプロセス間で共用しなければならない。
【0005】代表的なグラフィクス・システムは「ホス
ト」となるプロセッサをグラフィクス・システムの種々
のハードウェア部品と相互接続し、かつ利用できる種々
のグラフィクス・コマンドをシステムに供給するグラフ
ィクス・パイプラインを使用する。ホスト・プロセッサ
は、一般に多数の並列浮動小数点プロセッサを設けた「
変換エンジン(transform engine)
」にグラフィクス・パイプライン経由でインタフェース
される。変換エンジンはコンテキスト管理、マトリクス
変換計算、光線モデリング及びラジオシティ(radi
osity)計算、及びベクトル及び多角形描画(po
lygon rendering)ハードウェアの制
御のような多数のシステム・タスクを実行する。
ト」となるプロセッサをグラフィクス・システムの種々
のハードウェア部品と相互接続し、かつ利用できる種々
のグラフィクス・コマンドをシステムに供給するグラフ
ィクス・パイプラインを使用する。ホスト・プロセッサ
は、一般に多数の並列浮動小数点プロセッサを設けた「
変換エンジン(transform engine)
」にグラフィクス・パイプライン経由でインタフェース
される。変換エンジンはコンテキスト管理、マトリクス
変換計算、光線モデリング及びラジオシティ(radi
osity)計算、及びベクトル及び多角形描画(po
lygon rendering)ハードウェアの制
御のような多数のシステム・タスクを実行する。
【0006】グラフィクス・システムではシステムのス
クリーンにグラフィクス・プリミティブを「描画」すな
わち作図するため幾つかの方式を実現しなければならな
い。「グラフィクス・プリミティブ」とは多角形または
ベクトルのようなグラフィクス画像の基本要素のことで
ある。グラフィクス画像は全てこれらのグラフィクス・
プリミティブの組み合わせから形成される。グラフィク
ス・プリミティブの描画を行うためには多くの方式を利
用することができる。グラフィクス・ワークステーショ
ンでどのようなタイプのグラフィクス描画方式を利用し
ようと、変換エンジンはグラフィクス描画の管理には不
可欠である。
クリーンにグラフィクス・プリミティブを「描画」すな
わち作図するため幾つかの方式を実現しなければならな
い。「グラフィクス・プリミティブ」とは多角形または
ベクトルのようなグラフィクス画像の基本要素のことで
ある。グラフィクス画像は全てこれらのグラフィクス・
プリミティブの組み合わせから形成される。グラフィク
ス・プリミティブの描画を行うためには多くの方式を利
用することができる。グラフィクス・ワークステーショ
ンでどのようなタイプのグラフィクス描画方式を利用し
ようと、変換エンジンはグラフィクス描画の管理には不
可欠である。
【0007】グラフィクス「フレーム・バッファ」はパ
イプラインを、グラフィクス・ウィンドウ・システムの
ホスト・プロセッサ及び変換エンジンから更に下がった
ところにインタフェースする。「フレーム・バッファ」
には、一般的に、スクリーン上に描画される特定のグラ
フィクス・プリミティブに対応する、ディスプレィ上の
ピクセルの付勢に関する情報を記憶する複数個のビデオ
・ランダム・アクセス・メモリ(VRAM)コンピユー
タ・チップが設けられている。一般にフレーム・バッフ
ァはウィンドウに書き込まれる全てのグラフィクス情報
データを含み、グラフィクス・システムがワークステー
ションのスクリーンでこの情報を表示する準備が完了す
るまで、この情報を記憶する。フレーム・バッファは一
般にダイナミック型であり、そこに記憶された情報がス
クリーンに出力されるまで周期的にリフレッシュされる
。
イプラインを、グラフィクス・ウィンドウ・システムの
ホスト・プロセッサ及び変換エンジンから更に下がった
ところにインタフェースする。「フレーム・バッファ」
には、一般的に、スクリーン上に描画される特定のグラ
フィクス・プリミティブに対応する、ディスプレィ上の
ピクセルの付勢に関する情報を記憶する複数個のビデオ
・ランダム・アクセス・メモリ(VRAM)コンピユー
タ・チップが設けられている。一般にフレーム・バッフ
ァはウィンドウに書き込まれる全てのグラフィクス情報
データを含み、グラフィクス・システムがワークステー
ションのスクリーンでこの情報を表示する準備が完了す
るまで、この情報を記憶する。フレーム・バッファは一
般にダイナミック型であり、そこに記憶された情報がス
クリーンに出力されるまで周期的にリフレッシュされる
。
【0008】コンピユータ・グラフィック・ワークステ
ーションはコンピユータのメモリに記憶されているイメ
ージ表現を人間が理解し易いイメージ表現に変換する。 イメージ表現は一般にある範囲の色彩のついた光線を発
するように励起可能であるピクセル素子のアレイに区分
された陰極線管(CRT)デバイス上に表示される。ピ
クセルが発する光線の特定の色彩はそのピクセルの「値
」と呼ばれる。CRTのような表示装置は一般に例えば
左から右、及び上から下のようなある規則的な順序で順
次ピクセルを励起し、毎秒50ないし70回このシーケ
ンスを反復してスクリーンをリフレッシュし続ける。
ーションはコンピユータのメモリに記憶されているイメ
ージ表現を人間が理解し易いイメージ表現に変換する。 イメージ表現は一般にある範囲の色彩のついた光線を発
するように励起可能であるピクセル素子のアレイに区分
された陰極線管(CRT)デバイス上に表示される。ピ
クセルが発する光線の特定の色彩はそのピクセルの「値
」と呼ばれる。CRTのような表示装置は一般に例えば
左から右、及び上から下のようなある規則的な順序で順
次ピクセルを励起し、毎秒50ないし70回このシーケ
ンスを反復してスクリーンをリフレッシュし続ける。
【0009】現代のグラフィクス・ワークステーション
のフレーム・バッファは、ピクセル値データを複数の水
平ストリップに分割でき、各ストリップは更に複数のタ
イルに細分化される。例えばRandallの米国特許
明細書第4,780,709号を参照されたい。各タイ
ルはスクリーンに表示されるウィンドウの一部を表し、
また各タイルはその特定のタイル内に表示されるデータ
のメモリ・アドレス・ロケーションを含むタイル記述子
によって更に定義される。従って、タイルの幅は1ピク
セル程度に小さい場合もあるが、タイルは一般に複数の
ピクセルを含んでいる。フレーム・バッファ上の各観察
ウィンドウは長方形に形成してよいいろいろなタイルの
組み合わせによって任意に構成することができる。
のフレーム・バッファは、ピクセル値データを複数の水
平ストリップに分割でき、各ストリップは更に複数のタ
イルに細分化される。例えばRandallの米国特許
明細書第4,780,709号を参照されたい。各タイ
ルはスクリーンに表示されるウィンドウの一部を表し、
また各タイルはその特定のタイル内に表示されるデータ
のメモリ・アドレス・ロケーションを含むタイル記述子
によって更に定義される。従って、タイルの幅は1ピク
セル程度に小さい場合もあるが、タイルは一般に複数の
ピクセルを含んでいる。フレーム・バッファ上の各観察
ウィンドウは長方形に形成してよいいろいろなタイルの
組み合わせによって任意に構成することができる。
【0010】代表的なグラフィクス・ウインドウ・シス
テムは、システム性能を最大限に高めるため、フレーム
・バッファ上でのピクセル値データのブロック移動操作
を支援するようにされている。これらのブロック移動操
作は一般に、ラスタ表現されたテキスト及びアイコンを
含む基本ウインドウ・プリミティブを支援するように設
計されている。シャッフル(shuffle)やブロッ
ク・サイズ変更のような種々の図形ブロック移動が従来
のフレーム・バッファ上で達成されている。
テムは、システム性能を最大限に高めるため、フレーム
・バッファ上でのピクセル値データのブロック移動操作
を支援するようにされている。これらのブロック移動操
作は一般に、ラスタ表現されたテキスト及びアイコンを
含む基本ウインドウ・プリミティブを支援するように設
計されている。シャッフル(shuffle)やブロッ
ク・サイズ変更のような種々の図形ブロック移動が従来
のフレーム・バッファ上で達成されている。
【0011】ピクセル値データのブロックはウインドウ
全体と考えることもできるし、またグラフィクス・シス
テムにおける一組のグラフィクス・プリミティブを含む
ウインドウの一部分だけであるとみなすこともできる。 ブロック移動はグラフィクス・ウインドウ環境で取り扱
うことが特に困難である。その理由は一般にスクリーン
・アドレス相対で実行されるこれらの操作にウインドウ
・オフセット・アドレスを関わらせることが必要である
からである。これとは対象的に、ウインドウ内側のブロ
ック移動操作はウインドウ相対でなければならず、従っ
て、グラフィクス・システム内の全てのブロック移動を
ウインドウ相対とすることは適切でもないし、また万能
の解決策でもない。
全体と考えることもできるし、またグラフィクス・シス
テムにおける一組のグラフィクス・プリミティブを含む
ウインドウの一部分だけであるとみなすこともできる。 ブロック移動はグラフィクス・ウインドウ環境で取り扱
うことが特に困難である。その理由は一般にスクリーン
・アドレス相対で実行されるこれらの操作にウインドウ
・オフセット・アドレスを関わらせることが必要である
からである。これとは対象的に、ウインドウ内側のブロ
ック移動操作はウインドウ相対でなければならず、従っ
て、グラフィクス・システム内の全てのブロック移動を
ウインドウ相対とすることは適切でもないし、また万能
の解決策でもない。
【0012】従来は、1つのウインドウ内部のブロック
移動動作は必ずしもウインドウ相対ではないが、ウイン
ドウをフレーム・バッファのアドレス空間内の任意の位
置に配置できるフレーム・バッファ相対アドレスに基づ
いて実行されてきた。しかし、多くのグラフィクス・オ
ブジェクトもしくはプリミテイブ、例えばフォントがフ
レーム・バッファ上のスクリーンの外側に相当するメモ
リに記憶され、従ってこれらのオブジェクトは専らフレ
ーム・バッファ相対アドレスに基づいて識別される。更
に、従来のフレーム・バッファ・システムのソース・ア
ドレスとデスティネーション・アドレスとの間のピクセ
ル・データのブロック移動は、一般にグラフィクス・パ
イプラインを介してソフトウェアで達成され、そのため
、システムはウインドウがパイプライン中を進行する際
にそれと同時にウィンドウの特定の描画座標系に関して
の判断を行うことが必要である。このため、必然的にパ
イプライン内のグラフィクス業務の処理と並行に行われ
るフレーム・バッファ相対アドレスに基づくグラフィク
ス・プリミティブの処理の間に費されるプロセッサ・オ
ーバヘッド時間が追加される。これはグラフィクス・パ
イプライン・コンピュータ・システムの使い方としては
極めて好ましくない。
移動動作は必ずしもウインドウ相対ではないが、ウイン
ドウをフレーム・バッファのアドレス空間内の任意の位
置に配置できるフレーム・バッファ相対アドレスに基づ
いて実行されてきた。しかし、多くのグラフィクス・オ
ブジェクトもしくはプリミテイブ、例えばフォントがフ
レーム・バッファ上のスクリーンの外側に相当するメモ
リに記憶され、従ってこれらのオブジェクトは専らフレ
ーム・バッファ相対アドレスに基づいて識別される。更
に、従来のフレーム・バッファ・システムのソース・ア
ドレスとデスティネーション・アドレスとの間のピクセ
ル・データのブロック移動は、一般にグラフィクス・パ
イプラインを介してソフトウェアで達成され、そのため
、システムはウインドウがパイプライン中を進行する際
にそれと同時にウィンドウの特定の描画座標系に関して
の判断を行うことが必要である。このため、必然的にパ
イプライン内のグラフィクス業務の処理と並行に行われ
るフレーム・バッファ相対アドレスに基づくグラフィク
ス・プリミティブの処理の間に費されるプロセッサ・オ
ーバヘッド時間が追加される。これはグラフィクス・パ
イプライン・コンピュータ・システムの使い方としては
極めて好ましくない。
【0013】
【発明の目的】本発明は、システムのプロセッサの処理
時間を最小限に短縮しつつ、ピクセル値データのブロッ
クをソース・ウィンドウとデスティネーション・ウィン
ドウとの間で効率よく移動させることを目的とする。更
に、ホスト・プロセッサからのグラフィクス・ソフトウ
ェア・コマンドとは独立して実行できるピクセル・デー
タ・ブロック移動操作を提供することも目的とする。
時間を最小限に短縮しつつ、ピクセル値データのブロッ
クをソース・ウィンドウとデスティネーション・ウィン
ドウとの間で効率よく移動させることを目的とする。更
に、ホスト・プロセッサからのグラフィクス・ソフトウ
ェア・コマンドとは独立して実行できるピクセル・デー
タ・ブロック移動操作を提供することも目的とする。
【0014】
【発明の概要】グラフィクス・フレーム・バッファ・シ
ステムにおいてソース・ウィンドウとデスティネーショ
ン・ウィンドウをピクセル・クリップする方法とシステ
ムが前述の課題を達成する。本説明の一実施例に基づく
方法とシステムによって、ソフトウェアではなくハード
ウェアによってウィンドウ・クリッピングが可能になっ
た。そのためフレーム・バッファにおけるソース−デス
ティネーション・ピクセル・ブロック移動を行うための
プロセッサ・タイムが大幅に短縮され、またグラフィク
ス・フレーム・バッファ・システムの全体的な効率が向
上した。コンピュータ・グラフィクス・フレーム・バッ
ファ・システムにおいてフレーム・バッファ内のピクセ
ル・データのブロックを移動させる方法は、複数のソー
ス・タイルに従ってソース領域をフレーム・バッファか
らメモリへ読み込み、メモリ内でソース・タイルをデス
ティネーション・タイルと組み合わせ、フレーム・バッ
ファ内のピクセル・データ識別情報(identity
)をメモリ内のピクセル・データ識別情報と比較してフ
レーム・バッファ内のピクセル・データ識別情報がメモ
リ内のピクセル・データ識別情報と適合するかどうかを
判定し、フレーム・バッファ内の識別情報がメモリ内の
識別情報と適合しないピクセルを放棄し、フレーム・バ
ッファ内の識別情報がメモリ内のピクセル識別情報と適
合するピクセル・データを用いてフレーム・バッファを
更新する、各段階を有している。
ステムにおいてソース・ウィンドウとデスティネーショ
ン・ウィンドウをピクセル・クリップする方法とシステ
ムが前述の課題を達成する。本説明の一実施例に基づく
方法とシステムによって、ソフトウェアではなくハード
ウェアによってウィンドウ・クリッピングが可能になっ
た。そのためフレーム・バッファにおけるソース−デス
ティネーション・ピクセル・ブロック移動を行うための
プロセッサ・タイムが大幅に短縮され、またグラフィク
ス・フレーム・バッファ・システムの全体的な効率が向
上した。コンピュータ・グラフィクス・フレーム・バッ
ファ・システムにおいてフレーム・バッファ内のピクセ
ル・データのブロックを移動させる方法は、複数のソー
ス・タイルに従ってソース領域をフレーム・バッファか
らメモリへ読み込み、メモリ内でソース・タイルをデス
ティネーション・タイルと組み合わせ、フレーム・バッ
ファ内のピクセル・データ識別情報(identity
)をメモリ内のピクセル・データ識別情報と比較してフ
レーム・バッファ内のピクセル・データ識別情報がメモ
リ内のピクセル・データ識別情報と適合するかどうかを
判定し、フレーム・バッファ内の識別情報がメモリ内の
識別情報と適合しないピクセルを放棄し、フレーム・バ
ッファ内の識別情報がメモリ内のピクセル識別情報と適
合するピクセル・データを用いてフレーム・バッファを
更新する、各段階を有している。
【0015】本発明の一実施例に基づくシステムも上述
の目的を達成する。グラフィクス・システムにいてデー
タ・ブロックをソース・ウィンドウからデスティネーシ
ョン・ウィンドウへ移動させるシステムは、ソース・ウ
ィンドウ・データとデスティネーション・ウィンドウ・
データとを記憶するメモリ手段と、メモリ手段とインタ
フェースされピクセル値データとソース・ウィンドウ内
のピクセル位置に関するデータとを格納するソース・ウ
ィンドウ・レジスタ手段と、ソース・ウィンドウ・レジ
スタ手段とインターフェースされピクセル値データをソ
ース・ウィンドウ識別子と比較するための第1比較器手
段と、メモリ手段とインタフェースされデスティネーシ
ョン・ウィンドウ内のピクセル値データを格納するため
のデスティネーション・ウィンドウ・レジスタ手段と、
デスティネーション・ウィンドウ・レジスタ手段とイン
タフェースされピクセル値データをデスティネーション
・ウィンドウ識別子と比較するための第2比較器手段と
、第1及び第2比較器手段とインタフェースされ、ソー
ス・ピクセルがデスティネーション・ウィンドウに移動
可能かどうかを判定する組み合わせ手段有している。
の目的を達成する。グラフィクス・システムにいてデー
タ・ブロックをソース・ウィンドウからデスティネーシ
ョン・ウィンドウへ移動させるシステムは、ソース・ウ
ィンドウ・データとデスティネーション・ウィンドウ・
データとを記憶するメモリ手段と、メモリ手段とインタ
フェースされピクセル値データとソース・ウィンドウ内
のピクセル位置に関するデータとを格納するソース・ウ
ィンドウ・レジスタ手段と、ソース・ウィンドウ・レジ
スタ手段とインターフェースされピクセル値データをソ
ース・ウィンドウ識別子と比較するための第1比較器手
段と、メモリ手段とインタフェースされデスティネーシ
ョン・ウィンドウ内のピクセル値データを格納するため
のデスティネーション・ウィンドウ・レジスタ手段と、
デスティネーション・ウィンドウ・レジスタ手段とイン
タフェースされピクセル値データをデスティネーション
・ウィンドウ識別子と比較するための第2比較器手段と
、第1及び第2比較器手段とインタフェースされ、ソー
ス・ピクセルがデスティネーション・ウィンドウに移動
可能かどうかを判定する組み合わせ手段有している。
【0016】
【実施例】同様の参照番号は同様の要素を指示している
諸図面を参照するに、図1は本発明に基づくグラフィク
ス・フレーム・バッファ・システムを図示している。図
中、ホスト・プロセッサ10はグラフィクス・コマンド
を発し、好ましい実施例において種々のハードウェア要
素から成るグラフィクス・パイプライン20を通るデー
タの移動を制御する。データはグラフィクス・パイプラ
イン20経由でバス30上を転送され、ピクセル・プリ
ミティブがフレーム・バッファ40へ渡される。好まし
い実施例では、グラフィクス・パイプライン20には、
変換エンジンと、走査変換器と、ピクセル値データがフ
レーム・バッファ40に渡されるようにホスト・プロセ
ッサ10からコマンドに応答する他のハードウェアが設
けられている。
諸図面を参照するに、図1は本発明に基づくグラフィク
ス・フレーム・バッファ・システムを図示している。図
中、ホスト・プロセッサ10はグラフィクス・コマンド
を発し、好ましい実施例において種々のハードウェア要
素から成るグラフィクス・パイプライン20を通るデー
タの移動を制御する。データはグラフィクス・パイプラ
イン20経由でバス30上を転送され、ピクセル・プリ
ミティブがフレーム・バッファ40へ渡される。好まし
い実施例では、グラフィクス・パイプライン20には、
変換エンジンと、走査変換器と、ピクセル値データがフ
レーム・バッファ40に渡されるようにホスト・プロセ
ッサ10からコマンドに応答する他のハードウェアが設
けられている。
【0017】フレーム・バッファ40には各ピクセル毎
に個別のデータ・ロケーションがある。各ピクセル毎の
特定のウィンドウ情報はピクセルのカラー・データと共
に個別のデータ・ロケーションに格納される。好ましい
実施例では、このウィンドウ情報はそのピクセルがどの
ウィンドウに属しているかを告げる識別番号を含んでい
る。他の好ましい実施例では、フレーム・バッファは2
つの領域に区分されるものと考えることができる。第1
の領域はグラフィクス・プリミティブが描画されるスク
リーンまたはモニタに対応するフレーム・バッファ上の
部分である。第2の領域は、必ずしも全てではないが殆
どの描画がスクリーン相対座標に従って実行されるスク
リーン外(off−screen)作業領域に対応する
フレーム・バッファの部分である。フレーム・バッファ
のうちのスクリーンに対応する部分では、描画は好まし
くはピクセルのウィンドウ相対座標又はスクリーン相対
座標のいずれかで行われる。フレーム・バッファは複数
のピクセルを含む代表的なラスタ・スキャン表示装置で
あるCRTモニタ50へインタフェースされている。C
RTモニタ50はスクリーン相対の行及びアドレスに基
づいてアドレスされるピクセル、すなわち画素に区分さ
れている。
に個別のデータ・ロケーションがある。各ピクセル毎の
特定のウィンドウ情報はピクセルのカラー・データと共
に個別のデータ・ロケーションに格納される。好ましい
実施例では、このウィンドウ情報はそのピクセルがどの
ウィンドウに属しているかを告げる識別番号を含んでい
る。他の好ましい実施例では、フレーム・バッファは2
つの領域に区分されるものと考えることができる。第1
の領域はグラフィクス・プリミティブが描画されるスク
リーンまたはモニタに対応するフレーム・バッファ上の
部分である。第2の領域は、必ずしも全てではないが殆
どの描画がスクリーン相対座標に従って実行されるスク
リーン外(off−screen)作業領域に対応する
フレーム・バッファの部分である。フレーム・バッファ
のうちのスクリーンに対応する部分では、描画は好まし
くはピクセルのウィンドウ相対座標又はスクリーン相対
座標のいずれかで行われる。フレーム・バッファは複数
のピクセルを含む代表的なラスタ・スキャン表示装置で
あるCRTモニタ50へインタフェースされている。C
RTモニタ50はスクリーン相対の行及びアドレスに基
づいてアドレスされるピクセル、すなわち画素に区分さ
れている。
【0018】データをCRTモニタ50上でブロック移
動するには、フレーム・バッファ40の1つの領域のフ
レーム・バッファのあるロケーションから別のロケーシ
ョンへの移動が行なわれる。CRTモニタ50のスクリ
ーン上でデータのブロックを移動しょうとする場合は、
データは最初にフレーム・バッファ40上で移動されな
ければならない。それはCRTモニタ50のスクリーン
は単にフレーム・バッファ40内のデータ値でリフレッ
シュされるだけだからである。従って、フレーム・バッ
ファ40はフレーム・バッファ40のデスティネーショ
ン領域70に移動されなければならないピクセル・デー
タのソース領域60を有するものと考えることができる
。図1はフレーム・バッファ40のうちのオフ・スクリ
ーンに対応する部分中のソース領域60と、スクリーン
相対の作業領域と、フレーム・バッファ40のうちのス
クリーンに対応する部分中のデスティネーション領域7
0を図示しているが、実際にはソース領域とデスティネ
ーション領域は夫々図示したものとは反対の領域にあっ
てもよいし、あるいは双方をフレーム・バッファ40の
同じ側の領域に置いてもよいことは、当業者には理解さ
れよう。ウィンドウはCRTモニタ50のスクリーン上
の任意の長方形領域でよいことが理解されよう。更に、
ソース領域60とデスティネーション領域70は同じウ
ィンドウ内にあってもよい。本発明に基づくピクセル・
ブロックの移動とピクセル・クリッピングは前記のどの
ような条件でも処理することができる。
動するには、フレーム・バッファ40の1つの領域のフ
レーム・バッファのあるロケーションから別のロケーシ
ョンへの移動が行なわれる。CRTモニタ50のスクリ
ーン上でデータのブロックを移動しょうとする場合は、
データは最初にフレーム・バッファ40上で移動されな
ければならない。それはCRTモニタ50のスクリーン
は単にフレーム・バッファ40内のデータ値でリフレッ
シュされるだけだからである。従って、フレーム・バッ
ファ40はフレーム・バッファ40のデスティネーショ
ン領域70に移動されなければならないピクセル・デー
タのソース領域60を有するものと考えることができる
。図1はフレーム・バッファ40のうちのオフ・スクリ
ーンに対応する部分中のソース領域60と、スクリーン
相対の作業領域と、フレーム・バッファ40のうちのス
クリーンに対応する部分中のデスティネーション領域7
0を図示しているが、実際にはソース領域とデスティネ
ーション領域は夫々図示したものとは反対の領域にあっ
てもよいし、あるいは双方をフレーム・バッファ40の
同じ側の領域に置いてもよいことは、当業者には理解さ
れよう。ウィンドウはCRTモニタ50のスクリーン上
の任意の長方形領域でよいことが理解されよう。更に、
ソース領域60とデスティネーション領域70は同じウ
ィンドウ内にあってもよい。本発明に基づくピクセル・
ブロックの移動とピクセル・クリッピングは前記のどの
ような条件でも処理することができる。
【0019】メモリ手段80はフレーム・バッファ40
とインタフェースされている。好ましい実施例では、メ
モリ手段80は更に、グラフィクス・パイプライン20
を通してデータ転送する必要なしに、メモリ手段80が
ホスト・プロセッサ10に直接アクセスできるようにす
るグラフィクス・パイプライン・バイパス・バス90経
由で、ホスト・プロセッ10ともインタフェースされて
いる。それによって本発明に基づくワークステーション
での処理に著しい利点が得られる。と言うのは、グラフ
ィクス・パイプライン・バイパス・バス90を介してあ
るデータをホスト・プロセッサ10からメモリ手段80
へ直接転送するためのハードウェアによる解決策が得ら
れるので、ある所望のデータ転送やコマンドの処理に際
して、グラフィクス・パイプライン20にはプロセッサ
の不要なオーバヘッド時間がかからなくなるからである
。更に別の好ましい実施例では、メモリ手段80はフレ
ーム・バッファ40から読み出されたピクセル・データ
を格納するピクセル・キャッシュ・メモリである。好ま
しくは、ピクセル・キャッシュ・メモリは多数の個別的
なデータ・レジスタを含んでいる。デスティネーション
・レジスタ100は所望のデスティネーション・データ
がデスティネーション・レジスタ100に格納されるよ
うに、フレーム・バッファ40とインタフェースされて
いる。同様に、ソース・レジスタ110は所望のソース
領域をソース・レジスタ110に格納できるように、フ
レーム・バッファ40とインタフェースされている。 デスティネーション・レジスタ100とソース・レジス
タ110は更にホスト・プロセッサ10から直接のデー
タ転送を受けとることができるように、グラフィクス・
パイプライン・バイパス・パス90を経てホスト・プロ
セッサ10にインタフェースされている。このようなデ
ータ転送は、例えばホスト・プロセッサ10からフレー
ム・バッファ40への直接メモリ・アクセス(DMA)
伝送及びフル、バイト又はビット・モードでのフレーム
・バッファ40へのピクセル書き込みである。
とインタフェースされている。好ましい実施例では、メ
モリ手段80は更に、グラフィクス・パイプライン20
を通してデータ転送する必要なしに、メモリ手段80が
ホスト・プロセッサ10に直接アクセスできるようにす
るグラフィクス・パイプライン・バイパス・バス90経
由で、ホスト・プロセッ10ともインタフェースされて
いる。それによって本発明に基づくワークステーション
での処理に著しい利点が得られる。と言うのは、グラフ
ィクス・パイプライン・バイパス・バス90を介してあ
るデータをホスト・プロセッサ10からメモリ手段80
へ直接転送するためのハードウェアによる解決策が得ら
れるので、ある所望のデータ転送やコマンドの処理に際
して、グラフィクス・パイプライン20にはプロセッサ
の不要なオーバヘッド時間がかからなくなるからである
。更に別の好ましい実施例では、メモリ手段80はフレ
ーム・バッファ40から読み出されたピクセル・データ
を格納するピクセル・キャッシュ・メモリである。好ま
しくは、ピクセル・キャッシュ・メモリは多数の個別的
なデータ・レジスタを含んでいる。デスティネーション
・レジスタ100は所望のデスティネーション・データ
がデスティネーション・レジスタ100に格納されるよ
うに、フレーム・バッファ40とインタフェースされて
いる。同様に、ソース・レジスタ110は所望のソース
領域をソース・レジスタ110に格納できるように、フ
レーム・バッファ40とインタフェースされている。 デスティネーション・レジスタ100とソース・レジス
タ110は更にホスト・プロセッサ10から直接のデー
タ転送を受けとることができるように、グラフィクス・
パイプライン・バイパス・パス90を経てホスト・プロ
セッサ10にインタフェースされている。このようなデ
ータ転送は、例えばホスト・プロセッサ10からフレー
ム・バッファ40への直接メモリ・アクセス(DMA)
伝送及びフル、バイト又はビット・モードでのフレーム
・バッファ40へのピクセル書き込みである。
【0020】好ましい実施例では、ソース・レジスタ1
10はフレーム・バッファ40のソース領域60から複
数のタイルを同時に読み込むようにされている。他の好
ましい実施例では、8個までのタイルがソース領域60
2からソース・レジスタ110及びピクセル・キャッシ
ュ80に順次読み込まれる。デスティネーション・レジ
スタ100はデスティネーション領域70から複数のタ
イルを順次読み込むようにされている。好ましくは8個
までのデスティネーション・タイルがデスティネーショ
ン領域70から順次読み込まれ、ピクセル・キャッシュ
80の上のデスティネーション・レジスタ100に格納
される。
10はフレーム・バッファ40のソース領域60から複
数のタイルを同時に読み込むようにされている。他の好
ましい実施例では、8個までのタイルがソース領域60
2からソース・レジスタ110及びピクセル・キャッシ
ュ80に順次読み込まれる。デスティネーション・レジ
スタ100はデスティネーション領域70から複数のタ
イルを順次読み込むようにされている。好ましくは8個
までのデスティネーション・タイルがデスティネーショ
ン領域70から順次読み込まれ、ピクセル・キャッシュ
80の上のデスティネーション・レジスタ100に格納
される。
【0021】ピクセル・キャッシュ80には更に識別子
レジスタ120が含まれている。好ましい実施例では、
識別子レジスタ120はグラフィクス・パイプライン・
バイパス・バス90を経てホスト・プロセッサ10とイ
ンタフェースされている。識別子レジスタ120は好ま
しくはホスト・プロセッサ10からバス転送されたピク
セル・ウィンドウ識別情報を格納して、ソース領域60
及びデスティネーション領域70の双方又は一方のフレ
ーム・バッファでのピクセル・ウィンドウ識別値と比較
するようにされている。
レジスタ120が含まれている。好ましい実施例では、
識別子レジスタ120はグラフィクス・パイプライン・
バイパス・バス90を経てホスト・プロセッサ10とイ
ンタフェースされている。識別子レジスタ120は好ま
しくはホスト・プロセッサ10からバス転送されたピク
セル・ウィンドウ識別情報を格納して、ソース領域60
及びデスティネーション領域70の双方又は一方のフレ
ーム・バッファでのピクセル・ウィンドウ識別値と比較
するようにされている。
【0022】マスク・レジスタ130が更にグラフィク
ス・パイプライン・バイパス・バス90を経てホスト・
プロセッサ10と、またフレーム・バッファ40とイン
タフェースされている。好ましい実施例では、マスク・
レジスタ130は、フレーム・バッファ40上のピクセ
ル識別子ビットを比較操作用にホスト・プロセッサから
識別子レジスタ120へバス転送されたピクセル識別子
ビットと比較するのに使用される特定の個数のデータ・
ビットをマスクして取り去るようにされている。更に好
ましい実施例では、ピクセル・キャッシュ80内に含ま
れるデスティネーション及びソース・レジスタは8個の
タイル毎に8プレーンの情報を格納するようにされてい
る。識別子とマスク・レジスタの深さは好ましくは8ビ
ットである。
ス・パイプライン・バイパス・バス90を経てホスト・
プロセッサ10と、またフレーム・バッファ40とイン
タフェースされている。好ましい実施例では、マスク・
レジスタ130は、フレーム・バッファ40上のピクセ
ル識別子ビットを比較操作用にホスト・プロセッサから
識別子レジスタ120へバス転送されたピクセル識別子
ビットと比較するのに使用される特定の個数のデータ・
ビットをマスクして取り去るようにされている。更に好
ましい実施例では、ピクセル・キャッシュ80内に含ま
れるデスティネーション及びソース・レジスタは8個の
タイル毎に8プレーンの情報を格納するようにされてい
る。識別子とマスク・レジスタの深さは好ましくは8ビ
ットである。
【0023】更に他の好ましい実施例では、デスティネ
ーション・レジスタ100とソース・レジスタ110内
の最上位の4ビットのデータはピクセル・データ・ブロ
ックのオーバレイ・プレーンに対応し、前記レジスタ内
の最下位の4ビットはウィンドウ・クリッピング・プレ
ーンに対応し、また付加的に、4つのウィンドウ・ディ
スプレイ・モード・プレーンが、データ・ブロック操作
用にフレーム・バッファのオフ・スクリーン部分に配置
されている。好ましい実施例では、フレーム・バッファ
上のウィンドウ・プレーンは2048×1024ピクセ
ルである。ここで、表示されない768×1024×8
ビット分は、本発明に基づいて提供されるフレーム・バ
ッファ用の1536×1024×4ビット、1280×
1024×4ビットのディスプレイ・モード・プレーン
、及び256×4ビットのオフ・スクリーン・オーバレ
イ・プレーンに展開することができる。
ーション・レジスタ100とソース・レジスタ110内
の最上位の4ビットのデータはピクセル・データ・ブロ
ックのオーバレイ・プレーンに対応し、前記レジスタ内
の最下位の4ビットはウィンドウ・クリッピング・プレ
ーンに対応し、また付加的に、4つのウィンドウ・ディ
スプレイ・モード・プレーンが、データ・ブロック操作
用にフレーム・バッファのオフ・スクリーン部分に配置
されている。好ましい実施例では、フレーム・バッファ
上のウィンドウ・プレーンは2048×1024ピクセ
ルである。ここで、表示されない768×1024×8
ビット分は、本発明に基づいて提供されるフレーム・バ
ッファ用の1536×1024×4ビット、1280×
1024×4ビットのディスプレイ・モード・プレーン
、及び256×4ビットのオフ・スクリーン・オーバレ
イ・プレーンに展開することができる。
【0024】本発明に従ってブロック移動及びウィンド
ウ・ピクセル・クリッピングを達成するため、デスティ
ネーション・タイルは一度に1ピクセルずつソース・タ
イルと組み合わせられ、次にフレーム・バッファに書き
込まれる。好ましい実施例では、複数のタイルが読み出
され、ピクセル・キャッシュ80にキャッシングされる
。図2を参照すると、ピクセル・キャッシュ80内に本
発明に基づいて与えられるところのウィンドウ・クリッ
ピングのハードウェアによる実施形態が図示されている
。ソース・レジスタ110を構成するソース・ウィンド
ウ識別子140とソース・ピクセル識別子150が第1
比較器160とインタフェースされている。同様に、デ
スティネーション・レジスタ100を構成するデスティ
ネーション・ウィンドウ識別子170とデスティネーシ
ョン・ピクセル識別子180が第2比較器190にイン
タフェースされている。比較器160と190の各々の
出力は、好ましい実施例ではANDゲートである論理ブ
ロック200に入力される。ANDゲート200が論理
「オン」の結果210を与えるには、比較器160と1
90からの双方の経路が真でなければならない。結果2
10はフレーム・バッファ制御にバス転送され、どのピ
クセル・カラー値がフレーム・バッファ40内に格納さ
れるかを決定するクリップされたウィンドウ・データを
表す。
ウ・ピクセル・クリッピングを達成するため、デスティ
ネーション・タイルは一度に1ピクセルずつソース・タ
イルと組み合わせられ、次にフレーム・バッファに書き
込まれる。好ましい実施例では、複数のタイルが読み出
され、ピクセル・キャッシュ80にキャッシングされる
。図2を参照すると、ピクセル・キャッシュ80内に本
発明に基づいて与えられるところのウィンドウ・クリッ
ピングのハードウェアによる実施形態が図示されている
。ソース・レジスタ110を構成するソース・ウィンド
ウ識別子140とソース・ピクセル識別子150が第1
比較器160とインタフェースされている。同様に、デ
スティネーション・レジスタ100を構成するデスティ
ネーション・ウィンドウ識別子170とデスティネーシ
ョン・ピクセル識別子180が第2比較器190にイン
タフェースされている。比較器160と190の各々の
出力は、好ましい実施例ではANDゲートである論理ブ
ロック200に入力される。ANDゲート200が論理
「オン」の結果210を与えるには、比較器160と1
90からの双方の経路が真でなければならない。結果2
10はフレーム・バッファ制御にバス転送され、どのピ
クセル・カラー値がフレーム・バッファ40内に格納さ
れるかを決定するクリップされたウィンドウ・データを
表す。
【0025】描画動作中の図2の回路の動作に当たって
は、デスティネーション側の第2比較器190だけが使
用される。このとき、マスク・レジスタ130に16進
ワード”FF“をロードすることによってソース側の第
1比較器160は完全にディスエーブルされる。描画中
、デスティネーション側の第2比較器190では比較さ
れることになるビットはクリアされ、残りのビットがマ
スク・レジスタ130内にセットされる。フレーム・バ
ッファ40に書き込まれることになるウィイドウのウィ
ンドウ識別子がデスティネーション・レジスタ100に
ロードされる。描画中、デスティネーション・タイルが
デスティネーション・レジスタ100内に読み込まれ、
各ピクセルがピクセル・キャッシュ内で処理される際、
適切なバイトがデスティネーション側の第2比較器19
0へ送られ、そこでマスキングされて比較される。 デスティネーション・レジスタ100内に格納されたウ
ィンドウ識別子が識別子レジスタ120内に格納された
ウィンドウ識別子と合致する場合はANDデート200
は真であり、結果210はピクセル・データをフレーム
・バッファに書き戻すことができることを示す。そうで
はない場合は、結果210はこの特定のピクセル・デー
タはフレーム・バッファに書き戻してはいけないことを
示す。
は、デスティネーション側の第2比較器190だけが使
用される。このとき、マスク・レジスタ130に16進
ワード”FF“をロードすることによってソース側の第
1比較器160は完全にディスエーブルされる。描画中
、デスティネーション側の第2比較器190では比較さ
れることになるビットはクリアされ、残りのビットがマ
スク・レジスタ130内にセットされる。フレーム・バ
ッファ40に書き込まれることになるウィイドウのウィ
ンドウ識別子がデスティネーション・レジスタ100に
ロードされる。描画中、デスティネーション・タイルが
デスティネーション・レジスタ100内に読み込まれ、
各ピクセルがピクセル・キャッシュ内で処理される際、
適切なバイトがデスティネーション側の第2比較器19
0へ送られ、そこでマスキングされて比較される。 デスティネーション・レジスタ100内に格納されたウ
ィンドウ識別子が識別子レジスタ120内に格納された
ウィンドウ識別子と合致する場合はANDデート200
は真であり、結果210はピクセル・データをフレーム
・バッファに書き戻すことができることを示す。そうで
はない場合は、結果210はこの特定のピクセル・デー
タはフレーム・バッファに書き戻してはいけないことを
示す。
【0026】本発明に基づくブロック移動の為に、ソー
ス領域60とデスティネーション領域70の双方でクリ
ッピッグが可能であるように、ソース側の第1比較器1
60とデスティネーション側の第2比較器190の双方
が使用される。この場合には、色々なウィンドウについ
てのクリッピングが可能であるように、マスク・レジス
タ130内の2つのマスクと、デスティネーション・レ
ジスタ100とソース・レジスタ110に格納されてい
る特定のウィンドウ識別子が設定される。好ましくは、
デスティネーション・タイルがフレーム・バッファから
読み出され、デスティネーション・レジスタ100に格
納されている走査線上の好ましくは4つのピクセルにつ
いてのウィンドウ識別子が逐次第1及び第2比較器16
0と190に送られる。ソース・レジスタ110とデス
ティネーション・レジスタ100内に記憶されたソース
識別子とデスティネーション識別子の双方は、特定のピ
クセルがフレーム・バッファに書き戻されるためには、
すなわちANDゲート200からの結果210が真であ
るためには、ホスト・プロセッサ10から識別子レジス
タ120に書き込まれたウィンドウ識別子ビットとそれ
ぞれ適合しなければならない。更に他の好ましい実施例
では、マスク・レジスタ130に16進数”FF“を書
き込むことよって、ソース側の第1比較器160または
デスティネーション側の第2比較器190のいずれかを
ディスエーブルすることができる。それによって、読出
しサイクル、書き込みサイクル又は双方のサイクルでの
クリッピングを可能にし、又はどのサイクルでもクリッ
ピングしないようにすることもできる。
ス領域60とデスティネーション領域70の双方でクリ
ッピッグが可能であるように、ソース側の第1比較器1
60とデスティネーション側の第2比較器190の双方
が使用される。この場合には、色々なウィンドウについ
てのクリッピングが可能であるように、マスク・レジス
タ130内の2つのマスクと、デスティネーション・レ
ジスタ100とソース・レジスタ110に格納されてい
る特定のウィンドウ識別子が設定される。好ましくは、
デスティネーション・タイルがフレーム・バッファから
読み出され、デスティネーション・レジスタ100に格
納されている走査線上の好ましくは4つのピクセルにつ
いてのウィンドウ識別子が逐次第1及び第2比較器16
0と190に送られる。ソース・レジスタ110とデス
ティネーション・レジスタ100内に記憶されたソース
識別子とデスティネーション識別子の双方は、特定のピ
クセルがフレーム・バッファに書き戻されるためには、
すなわちANDゲート200からの結果210が真であ
るためには、ホスト・プロセッサ10から識別子レジス
タ120に書き込まれたウィンドウ識別子ビットとそれ
ぞれ適合しなければならない。更に他の好ましい実施例
では、マスク・レジスタ130に16進数”FF“を書
き込むことよって、ソース側の第1比較器160または
デスティネーション側の第2比較器190のいずれかを
ディスエーブルすることができる。それによって、読出
しサイクル、書き込みサイクル又は双方のサイクルでの
クリッピングを可能にし、又はどのサイクルでもクリッ
ピングしないようにすることもできる。
【0027】図2の回路の動作では、フレーム・バッフ
ァ40上のピクセル・ウインドウ識別子がピクセル・キ
ャッシュ80内のデスティネーション・レジスタ100
とソース・レジスタ110に記憶された値と比較される
。2つの値が同一である場合は、フレーム・バッファ4
0に今渡されている新たなピクセル・データは今比較の
もう一方の対象となっているピクセルと同じウィンドウ
に属する。すなわち、新たなデータで古いピクセル・デ
ータを置き換えできる。両識別子が合致しない場合は、
新たなピクセル・データは棄てられ、そのピクセルにつ
いてのフレーム・バッファ内のデータは変化しない。
ァ40上のピクセル・ウインドウ識別子がピクセル・キ
ャッシュ80内のデスティネーション・レジスタ100
とソース・レジスタ110に記憶された値と比較される
。2つの値が同一である場合は、フレーム・バッファ4
0に今渡されている新たなピクセル・データは今比較の
もう一方の対象となっているピクセルと同じウィンドウ
に属する。すなわち、新たなデータで古いピクセル・デ
ータを置き換えできる。両識別子が合致しない場合は、
新たなピクセル・データは棄てられ、そのピクセルにつ
いてのフレーム・バッファ内のデータは変化しない。
【0028】ブロック移動中、ソース領域60のソース
・ピクセルも読み出される。ソース・ピクセルと共に特
定のウィンドウ識別子ビットももたらされる。ソース・
ウィンドウ識別子ビットはピルセル・キャッシュ内の識
別子レジスタ120に格納された値と比較される。ソー
ス・ウィンドウ識別子ビットとデスティネーション・ウ
ィンドウ識別子ビットの双方がこのピクセルと適合した
場合は、このピクセルはフレーム・バッファ40に書き
戻すことができ、そうでない場合はこのピクセルは放棄
される。
・ピクセルも読み出される。ソース・ピクセルと共に特
定のウィンドウ識別子ビットももたらされる。ソース・
ウィンドウ識別子ビットはピルセル・キャッシュ内の識
別子レジスタ120に格納された値と比較される。ソー
ス・ウィンドウ識別子ビットとデスティネーション・ウ
ィンドウ識別子ビットの双方がこのピクセルと適合した
場合は、このピクセルはフレーム・バッファ40に書き
戻すことができ、そうでない場合はこのピクセルは放棄
される。
【0029】好ましい実施例では、ブロック移動はフレ
ーム・バッファ内の長方形の領域だけで行われる。しか
し、ウィンドウはフレーム・バッファ40内で所望の任
意の形状をとることができる。ウィンドウ移動プロセス
を簡略にするため、好ましくは移動したいウィンドウを
囲む長方形のブロックを設定してもよい。ハードウェア
がウィンドウ内の適切なピクセルを移動する。図3を参
照すると、このような長方形のブロックが図示されてい
る。ソース・ウィンドウは60で示されており、夫々「
1」と表記されたピクセル値を有している。デスティネ
ーション・ウィンドウは70で示され、夫々「2」と表
記されたデスティネーション・ピクセル及び識別子を有
している。CRTモニタ50上の他の全てのピクセルは
この例では図示しない別の数を夫々有している。ソース
領域60の「1」と表記されたピクセルを、長方形では
ないが、夫々「2」と表記されたピクセル値及び識別子
を有するウィンドウ70に移動することが求められてい
るとしよう。
ーム・バッファ内の長方形の領域だけで行われる。しか
し、ウィンドウはフレーム・バッファ40内で所望の任
意の形状をとることができる。ウィンドウ移動プロセス
を簡略にするため、好ましくは移動したいウィンドウを
囲む長方形のブロックを設定してもよい。ハードウェア
がウィンドウ内の適切なピクセルを移動する。図3を参
照すると、このような長方形のブロックが図示されてい
る。ソース・ウィンドウは60で示されており、夫々「
1」と表記されたピクセル値を有している。デスティネ
ーション・ウィンドウは70で示され、夫々「2」と表
記されたデスティネーション・ピクセル及び識別子を有
している。CRTモニタ50上の他の全てのピクセルは
この例では図示しない別の数を夫々有している。ソース
領域60の「1」と表記されたピクセルを、長方形では
ないが、夫々「2」と表記されたピクセル値及び識別子
を有するウィンドウ70に移動することが求められてい
るとしよう。
【0030】さて図3Bを参照すると、結果のウィンド
ウが230で図示されている。ソース・ウィンドウ60
からデスティネーション・ウィンドウ70へ移動された
結果のピクセルはデスティネーション・ウィンドウ22
0で夫々「X」と表記されている。右上隅230に相当
するソース・ウィンドウ60の一角(図3A)には「1
」がないので、これらの位置にはXが現れないことが理
解されよう。フレーム・バッファ上ではデスティネーシ
ョンは領域240には存在しないので、これらのピクセ
ル位置に対応するソース領域に存在した「1」はデステ
ィネーション・ウィンドウ220にはXとしては出現し
ない。従って、デスティネヒション・ウィンドウは「ク
リップ」されたと言うことができる。
ウが230で図示されている。ソース・ウィンドウ60
からデスティネーション・ウィンドウ70へ移動された
結果のピクセルはデスティネーション・ウィンドウ22
0で夫々「X」と表記されている。右上隅230に相当
するソース・ウィンドウ60の一角(図3A)には「1
」がないので、これらの位置にはXが現れないことが理
解されよう。フレーム・バッファ上ではデスティネーシ
ョンは領域240には存在しないので、これらのピクセ
ル位置に対応するソース領域に存在した「1」はデステ
ィネーション・ウィンドウ220にはXとしては出現し
ない。従って、デスティネヒション・ウィンドウは「ク
リップ」されたと言うことができる。
【0031】
【発明の効果】本発明に基づいて実行されるブロック移
動及びウィンドウ・クリッピングはハードウェァで達成
可能な迅速かつ効率が高いウィンドウ・クリッピングと
ブロック移動に対する、この分野での長く抱かれてきた
要請を解決するものである。これによってより遅いウィ
ンドウのソフトウェア処理が必要なくなり、グラフィク
ス・フレーム・バッファ・システムにおける複雑なウィ
ンドウ処理が経済的に解決される。このような利点は従
来のグラフィクス・フレーム・バッファ・システムでは
実現されなかったものである。
動及びウィンドウ・クリッピングはハードウェァで達成
可能な迅速かつ効率が高いウィンドウ・クリッピングと
ブロック移動に対する、この分野での長く抱かれてきた
要請を解決するものである。これによってより遅いウィ
ンドウのソフトウェア処理が必要なくなり、グラフィク
ス・フレーム・バッファ・システムにおける複雑なウィ
ンドウ処理が経済的に解決される。このような利点は従
来のグラフィクス・フレーム・バッファ・システムでは
実現されなかったものである。
【0032】これまでグラフィクス・システムにおいて
ソース及びデスティムーション・ウィンドウをピクセル
・クリッピングする方法と装置の好ましい実施例を説明
してきた。これまで好ましい実施例を説明し開示してき
たが、当業者には本発明の精神と範囲内で修正が可能で
あることが理解されよう。本願特許請求の範囲はこのよ
うな修正を全て包括することを意図するものである。
ソース及びデスティムーション・ウィンドウをピクセル
・クリッピングする方法と装置の好ましい実施例を説明
してきた。これまで好ましい実施例を説明し開示してき
たが、当業者には本発明の精神と範囲内で修正が可能で
あることが理解されよう。本願特許請求の範囲はこのよ
うな修正を全て包括することを意図するものである。
【図1】本発明の一実施例を説明するためのブロック図
。
。
【図2】本発明の一実施例を説明する回路図。
【図3】本発明の一実施例における操作例を説明する図
。
。
10:ホスト・プロセッサ
20:グラフィクス・パイプライン
30:バス
40:フレーム・バッファ
50:CRTモニタ
60:ソース領域
70:デスティネーション領域
80:メモリ手段
90:グラフィクス・パイプライン・バイパス・バス1
00:デスティネーション・レジスタ110:ソース・
レジスタ 120:識別子レジスタ 130:マスク・レジスタ 140:ソース・ウィンドウ識別子 150:ソース・ピクセル識別子 160:第1比較器 170:デスティネーション・ウィンドウ識別子180
:デスティネーション・ピクセル識別子190:第2比
較器 200:論理ブロック 210:結果
00:デスティネーション・レジスタ110:ソース・
レジスタ 120:識別子レジスタ 130:マスク・レジスタ 140:ソース・ウィンドウ識別子 150:ソース・ピクセル識別子 160:第1比較器 170:デスティネーション・ウィンドウ識別子180
:デスティネーション・ピクセル識別子190:第2比
較器 200:論理ブロック 210:結果
Claims (2)
- 【請求項1】下記の(a)ないし(e)のステップを含
み、コンピュータ・グラフィクス・フレーム・バッファ
・システムのフレーム・バッファ内でピクセル・データ
のブロックを移動する方法: (a)複数のソース・タイルに基づいて前記フレーム・
バッファからソース領域をメモリ中に読み込む;(b)
前記ソース・タイルを前記メモリ中のデスティネーショ
ン・タイルと組み合わせる; (c)前記フレーム・バッファ中のピクセル・データ識
別情報を前記メモリ中のピクセル・データ識別情報と比
較して、前記フレーム・バッファ中のピクセル・データ
識別情報が前記メモリ中のピクセル・データ識別情報と
適合するかどうか判定する; (d)前記フレーム・バッファ中のその識別情報が前記
メモリ中の識別情報と適合しないピクセルを放棄する;
(e)前記フレーム・バッファ中のその識別情報が前記
メモリ中の識別情報と適合するピクセルで前記フレーム
・バッファを更新する。 - 【請求項2】下記の(a)ないし(f)を設け、グラフ
ィクス・システム中でソース・ウィンドウからデスティ
ネーション・ウィンドウへデータ・ブロックを移動する
システム: (a)ソース・ウィンドウ・データとデスティネーショ
ン・ウィンドウ・データを格納するメモリ手段;(b)
前記メモリ手段とインターフェースされ、前記ソース・
ウィンドウ内でのピクセル値データとピクセルのロケー
ションに関するデータを格納するソース・ウィンドウ・
レジスタ手段; (c)前記ソース・ウィンドウ・レジスタ手段とインタ
ーフェースされ、前記ピクセル値データをソース・ウィ
ンドウ識別子と比較する第1比較器手段;(d)前記メ
モリ手段とインターフェースされ、、前記デスティネー
ション・ウィンドウ内のピクセル値データを格納するデ
スティネーション・ウィンドウ・レジスタ手段; (e)前記デスティネーション・ウィンドウ・レジスタ
手段とインターフェースされ、前記ピクセル値データを
デスティネーション・ウィンドウ識別子と比較する第2
比較器手段; (f)前記第1及び第2比較器手段とインターフェース
され、ソース・ピクセルを前記デスティネーション・ウ
ィンドウへ移動できるか否か判定する組み合わせ手段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49499290A | 1990-03-16 | 1990-03-16 | |
US494992 | 1990-03-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04222022A true JPH04222022A (ja) | 1992-08-12 |
Family
ID=23966800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3075809A Pending JPH04222022A (ja) | 1990-03-16 | 1991-03-15 | データ・ブロック移動方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (2) | US5297251A (ja) |
EP (1) | EP0448287B1 (ja) |
JP (1) | JPH04222022A (ja) |
DE (1) | DE69122147T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012168984A1 (ja) * | 2011-06-10 | 2012-12-13 | 三菱電機株式会社 | ウィンドウ合成装置 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680151A (en) * | 1990-06-12 | 1997-10-21 | Radius Inc. | Method and apparatus for transmitting video, data over a computer bus using block transfers |
JPH0612288A (ja) * | 1992-06-29 | 1994-01-21 | Hitachi Ltd | 情報処理システム及びその監視方法 |
US5652601A (en) * | 1993-08-06 | 1997-07-29 | Intel Corporation | Method and apparatus for displaying a color converted image |
US5572232A (en) * | 1993-08-06 | 1996-11-05 | Intel Corporation | Method and apparatus for displaying an image using subsystem interrogation |
US5751270A (en) * | 1993-08-06 | 1998-05-12 | Intel Corporation | Method and apparatus for displaying an image using direct memory access |
US5546103A (en) * | 1993-08-06 | 1996-08-13 | Intel Corporation | Method and apparatus for displaying an image in a windowed environment |
JP2647348B2 (ja) * | 1993-09-20 | 1997-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | クリッピング・プレーン・データ記憶システム及び方法 |
CA2140850C (en) * | 1994-02-24 | 1999-09-21 | Howard Paul Katseff | Networked system for display of multimedia presentations |
US5555365A (en) * | 1994-08-26 | 1996-09-10 | International Business Machines Corporation | Method and system for optimizing static and dynamic binding of presentation objects with the object data they represent |
EP0804785A2 (en) * | 1994-12-06 | 1997-11-05 | Cirrus Logic, Inc. | Circuits, systems and methods for controlling the display of blocks of data on a display screen |
US5828383A (en) * | 1995-06-23 | 1998-10-27 | S3 Incorporated | Controller for processing different pixel data types stored in the same display memory by use of tag bits |
US5574836A (en) * | 1996-01-22 | 1996-11-12 | Broemmelsiek; Raymond M. | Interactive display apparatus and method with viewer position compensation |
US5761720A (en) * | 1996-03-15 | 1998-06-02 | Rendition, Inc. | Pixel engine pipeline processor data caching mechanism |
US6288722B1 (en) * | 1996-10-17 | 2001-09-11 | International Business Machines Corporation | Frame buffer reconfiguration during graphics processing based upon image attributes |
US6137497A (en) * | 1997-05-30 | 2000-10-24 | Hewlett-Packard Company | Post transformation clipping in a geometry accelerator |
US6031550A (en) * | 1997-11-12 | 2000-02-29 | Cirrus Logic, Inc. | Pixel data X striping in a graphics processor |
US5999199A (en) * | 1997-11-12 | 1999-12-07 | Cirrus Logic, Inc. | Non-sequential fetch and store of XY pixel data in a graphics processor |
US6301258B1 (en) * | 1997-12-04 | 2001-10-09 | At&T Corp. | Low-latency buffering for packet telephony |
US6556560B1 (en) | 1997-12-04 | 2003-04-29 | At&T Corp. | Low-latency audio interface for packet telephony |
US6844880B1 (en) * | 1999-12-06 | 2005-01-18 | Nvidia Corporation | System, method and computer program product for an improved programmable vertex processing model with instruction set |
US7456838B1 (en) | 2001-06-08 | 2008-11-25 | Nvidia Corporation | System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline |
US7302648B1 (en) * | 2002-07-10 | 2007-11-27 | Apple Inc. | Method and apparatus for resizing buffered windows |
US8300699B2 (en) * | 2007-05-31 | 2012-10-30 | Qualcomm Incorporated | System, method, and computer-readable medium for reducing required throughput in an ultra-wideband system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4414628A (en) * | 1981-03-31 | 1983-11-08 | Bell Telephone Laboratories, Incorporated | System for displaying overlapping pages of information |
EP0121015B1 (en) * | 1983-03-31 | 1990-03-07 | International Business Machines Corporation | Presentation space management and viewporting on a multifunction virtual terminal |
DE3650119T2 (de) * | 1985-08-14 | 1995-03-30 | Hitachi Ltd | Verfahren zur Anzeigesteuerung für ein System mit mehreren Bildausschnitten. |
US4941107A (en) * | 1986-11-17 | 1990-07-10 | Kabushiki Kaisha Toshiba | Image data processing apparatus |
JP2557358B2 (ja) * | 1986-12-26 | 1996-11-27 | 株式会社東芝 | 情報処理装置 |
US5061919A (en) * | 1987-06-29 | 1991-10-29 | Evans & Sutherland Computer Corp. | Computer graphics dynamic control system |
US4958302A (en) * | 1987-08-18 | 1990-09-18 | Hewlett-Packard Company | Graphics frame buffer with pixel serializing group rotator |
US4961153A (en) * | 1987-08-18 | 1990-10-02 | Hewlett Packard Company | Graphics frame buffer with strip Z buffering and programmable Z buffer location |
GB2215168A (en) * | 1988-02-23 | 1989-09-13 | Ibm | Windows with restricted colour range have priority defined by colour codes |
US5001469A (en) * | 1988-06-29 | 1991-03-19 | Digital Equipment Corporation | Window-dependent buffer selection |
-
1991
- 1991-03-14 DE DE69122147T patent/DE69122147T2/de not_active Expired - Fee Related
- 1991-03-14 EP EP91302148A patent/EP0448287B1/en not_active Expired - Lifetime
- 1991-03-15 JP JP3075809A patent/JPH04222022A/ja active Pending
- 1991-05-06 US US07/662,150 patent/US5297251A/en not_active Expired - Lifetime
- 1991-12-04 US US07/803,742 patent/US5193148A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012168984A1 (ja) * | 2011-06-10 | 2012-12-13 | 三菱電機株式会社 | ウィンドウ合成装置 |
JPWO2012168984A1 (ja) * | 2011-06-10 | 2015-02-23 | 三菱電機株式会社 | ウィンドウ合成装置 |
Also Published As
Publication number | Publication date |
---|---|
DE69122147T2 (de) | 1997-01-30 |
EP0448287B1 (en) | 1996-09-18 |
DE69122147D1 (de) | 1996-10-24 |
US5193148A (en) | 1993-03-09 |
EP0448287A3 (en) | 1993-04-21 |
EP0448287A2 (en) | 1991-09-25 |
US5297251A (en) | 1994-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04222022A (ja) | データ・ブロック移動方法及びシステム | |
EP1741089B1 (en) | Gpu rendering to system memory | |
US8284207B2 (en) | Method of generating digital images of objects in 3D scenes while eliminating object overdrawing within the multiple graphics processing pipeline (GPPLS) of a parallel graphics processing system generating partial color-based complementary-type images along the viewing direction using black pixel rendering and subsequent recompositing operations | |
US5734806A (en) | Method and apparatus for determining graphical object visibility | |
US5801706A (en) | Special purpose memory for graphics and display apparatus using the special purpose memory for graphics | |
EP0329892B1 (en) | Display system comprising a windowing mechanism | |
US5233689A (en) | Methods and apparatus for maximizing column address coherency for serial and random port accesses to a dual port ram array | |
US5038297A (en) | Method and apparatus for clearing a region of Z-buffer | |
JPH04222070A (ja) | コンピュータグラフィックスシステム用演算処理装置 | |
JPH0877365A (ja) | 多重プロセッサ・グラフィカル作業負荷分配を管理するための方法および装置 | |
JPH1097635A (ja) | ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム | |
US6952217B1 (en) | Graphics processing unit self-programming | |
US5844571A (en) | Z buffer bandwidth reductions via split transactions | |
US5448264A (en) | Method and apparatus for separate window clipping and display mode planes in a graphics frame buffer | |
US6756986B1 (en) | Non-flushing atomic operation in a burst mode transfer data storage access environment | |
KR100233346B1 (ko) | 그래픽 시스템에서 하나 이상의 가시 객체 식별 방법 및 장치 | |
US6833831B2 (en) | Synchronizing data streams in a graphics processor | |
US7528839B1 (en) | Faster clears for three-dimensional modeling applications | |
US5361387A (en) | Video accelerator and method using system RAM | |
JPH1069548A (ja) | コンピュータ・グラフィックス・システム | |
EP0551251B1 (en) | Method and apparatus for clearing a region of a z-buffer | |
US5727190A (en) | Method and system for the acceleration of graphics images in a multiprocessor or preemptive processing computer system | |
EP0617402B1 (en) | Methods and apparatus for accelerating windows in graphics systems | |
US11605364B2 (en) | Line-based rendering for graphics rendering systems, methods, and devices | |
US6943798B1 (en) | Method and system for executing SIMD instructions using graphics technology |