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
Application number
JP3075809A
Other languages
English (en)
Inventor
Byron A Alcorn
バイロン・エイ・アルコーン
Robert W Cherry
ロバート・ダブリュー・チェリー
Mark D Coleman
マーク・ディー・コールマン
Brian D Rauchfuss
ブライアン・ディー・ローチファス
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH04222022A publication Critical patent/JPH04222022A/ja
Pending legal-status Critical Current

Links

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/36Control 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/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • 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

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)の作業を行なうエンジニァや設計者に特に有
用である。
【0003】グラフィクス能力を有する現代のワークス
テーションはグラフィクス処理を行うため「ウィンドウ
」システムを利用している。グラフィクス・ウィンドウ
・システムに関して出現した標準システムは米国のマサ
チューセッツ工科大学で開発された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)ハードウェアの制
御のような多数のシステム・タスクを実行する。
【0006】グラフィクス・システムではシステムのス
クリーンにグラフィクス・プリミティブを「描画」すな
わち作図するため幾つかの方式を実現しなければならな
い。「グラフィクス・プリミティブ」とは多角形または
ベクトルのようなグラフィクス画像の基本要素のことで
ある。グラフィクス画像は全てこれらのグラフィクス・
プリミティブの組み合わせから形成される。グラフィク
ス・プリミティブの描画を行うためには多くの方式を利
用することができる。グラフィクス・ワークステーショ
ンでどのようなタイプのグラフィクス描画方式を利用し
ようと、変換エンジンはグラフィクス描画の管理には不
可欠である。
【0007】グラフィクス「フレーム・バッファ」はパ
イプラインを、グラフィクス・ウィンドウ・システムの
ホスト・プロセッサ及び変換エンジンから更に下がった
ところにインタフェースする。「フレーム・バッファ」
には、一般的に、スクリーン上に描画される特定のグラ
フィクス・プリミティブに対応する、ディスプレィ上の
ピクセルの付勢に関する情報を記憶する複数個のビデオ
・ランダム・アクセス・メモリ(VRAM)コンピユー
タ・チップが設けられている。一般にフレーム・バッフ
ァはウィンドウに書き込まれる全てのグラフィクス情報
データを含み、グラフィクス・システムがワークステー
ションのスクリーンでこの情報を表示する準備が完了す
るまで、この情報を記憶する。フレーム・バッファは一
般にダイナミック型であり、そこに記憶された情報がス
クリーンに出力されるまで周期的にリフレッシュされる
【0008】コンピユータ・グラフィック・ワークステ
ーションはコンピユータのメモリに記憶されているイメ
ージ表現を人間が理解し易いイメージ表現に変換する。 イメージ表現は一般にある範囲の色彩のついた光線を発
するように励起可能であるピクセル素子のアレイに区分
された陰極線管(CRT)デバイス上に表示される。ピ
クセルが発する光線の特定の色彩はそのピクセルの「値
」と呼ばれる。CRTのような表示装置は一般に例えば
左から右、及び上から下のようなある規則的な順序で順
次ピクセルを励起し、毎秒50ないし70回このシーケ
ンスを反復してスクリーンをリフレッシュし続ける。
【0009】現代のグラフィクス・ワークステーション
のフレーム・バッファは、ピクセル値データを複数の水
平ストリップに分割でき、各ストリップは更に複数のタ
イルに細分化される。例えばRandallの米国特許
明細書第4,780,709号を参照されたい。各タイ
ルはスクリーンに表示されるウィンドウの一部を表し、
また各タイルはその特定のタイル内に表示されるデータ
のメモリ・アドレス・ロケーションを含むタイル記述子
によって更に定義される。従って、タイルの幅は1ピク
セル程度に小さい場合もあるが、タイルは一般に複数の
ピクセルを含んでいる。フレーム・バッファ上の各観察
ウィンドウは長方形に形成してよいいろいろなタイルの
組み合わせによって任意に構成することができる。
【0010】代表的なグラフィクス・ウインドウ・シス
テムは、システム性能を最大限に高めるため、フレーム
・バッファ上でのピクセル値データのブロック移動操作
を支援するようにされている。これらのブロック移動操
作は一般に、ラスタ表現されたテキスト及びアイコンを
含む基本ウインドウ・プリミティブを支援するように設
計されている。シャッフル(shuffle)やブロッ
ク・サイズ変更のような種々の図形ブロック移動が従来
のフレーム・バッファ上で達成されている。
【0011】ピクセル値データのブロックはウインドウ
全体と考えることもできるし、またグラフィクス・シス
テムにおける一組のグラフィクス・プリミティブを含む
ウインドウの一部分だけであるとみなすこともできる。 ブロック移動はグラフィクス・ウインドウ環境で取り扱
うことが特に困難である。その理由は一般にスクリーン
・アドレス相対で実行されるこれらの操作にウインドウ
・オフセット・アドレスを関わらせることが必要である
からである。これとは対象的に、ウインドウ内側のブロ
ック移動操作はウインドウ相対でなければならず、従っ
て、グラフィクス・システム内の全てのブロック移動を
ウインドウ相対とすることは適切でもないし、また万能
の解決策でもない。
【0012】従来は、1つのウインドウ内部のブロック
移動動作は必ずしもウインドウ相対ではないが、ウイン
ドウをフレーム・バッファのアドレス空間内の任意の位
置に配置できるフレーム・バッファ相対アドレスに基づ
いて実行されてきた。しかし、多くのグラフィクス・オ
ブジェクトもしくはプリミテイブ、例えばフォントがフ
レーム・バッファ上のスクリーンの外側に相当するメモ
リに記憶され、従ってこれらのオブジェクトは専らフレ
ーム・バッファ相対アドレスに基づいて識別される。更
に、従来のフレーム・バッファ・システムのソース・ア
ドレスとデスティネーション・アドレスとの間のピクセ
ル・データのブロック移動は、一般にグラフィクス・パ
イプラインを介してソフトウェアで達成され、そのため
、システムはウインドウがパイプライン中を進行する際
にそれと同時にウィンドウの特定の描画座標系に関して
の判断を行うことが必要である。このため、必然的にパ
イプライン内のグラフィクス業務の処理と並行に行われ
るフレーム・バッファ相対アドレスに基づくグラフィク
ス・プリミティブの処理の間に費されるプロセッサ・オ
ーバヘッド時間が追加される。これはグラフィクス・パ
イプライン・コンピュータ・システムの使い方としては
極めて好ましくない。
【0013】
【発明の目的】本発明は、システムのプロセッサの処理
時間を最小限に短縮しつつ、ピクセル値データのブロッ
クをソース・ウィンドウとデスティネーション・ウィン
ドウとの間で効率よく移動させることを目的とする。更
に、ホスト・プロセッサからのグラフィクス・ソフトウ
ェア・コマンドとは独立して実行できるピクセル・デー
タ・ブロック移動操作を提供することも目的とする。
【0014】
【発明の概要】グラフィクス・フレーム・バッファ・シ
ステムにおいてソース・ウィンドウとデスティネーショ
ン・ウィンドウをピクセル・クリップする方法とシステ
ムが前述の課題を達成する。本説明の一実施例に基づく
方法とシステムによって、ソフトウェアではなくハード
ウェアによってウィンドウ・クリッピングが可能になっ
た。そのためフレーム・バッファにおけるソース−デス
ティネーション・ピクセル・ブロック移動を行うための
プロセッサ・タイムが大幅に短縮され、またグラフィク
ス・フレーム・バッファ・システムの全体的な効率が向
上した。コンピュータ・グラフィクス・フレーム・バッ
ファ・システムにおいてフレーム・バッファ内のピクセ
ル・データのブロックを移動させる方法は、複数のソー
ス・タイルに従ってソース領域をフレーム・バッファか
らメモリへ読み込み、メモリ内でソース・タイルをデス
ティネーション・タイルと組み合わせ、フレーム・バッ
ファ内のピクセル・データ識別情報(identity
)をメモリ内のピクセル・データ識別情報と比較してフ
レーム・バッファ内のピクセル・データ識別情報がメモ
リ内のピクセル・データ識別情報と適合するかどうかを
判定し、フレーム・バッファ内の識別情報がメモリ内の
識別情報と適合しないピクセルを放棄し、フレーム・バ
ッファ内の識別情報がメモリ内のピクセル識別情報と適
合するピクセル・データを用いてフレーム・バッファを
更新する、各段階を有している。
【0015】本発明の一実施例に基づくシステムも上述
の目的を達成する。グラフィクス・システムにいてデー
タ・ブロックをソース・ウィンドウからデスティネーシ
ョン・ウィンドウへ移動させるシステムは、ソース・ウ
ィンドウ・データとデスティネーション・ウィンドウ・
データとを記憶するメモリ手段と、メモリ手段とインタ
フェースされピクセル値データとソース・ウィンドウ内
のピクセル位置に関するデータとを格納するソース・ウ
ィンドウ・レジスタ手段と、ソース・ウィンドウ・レジ
スタ手段とインターフェースされピクセル値データをソ
ース・ウィンドウ識別子と比較するための第1比較器手
段と、メモリ手段とインタフェースされデスティネーシ
ョン・ウィンドウ内のピクセル値データを格納するため
のデスティネーション・ウィンドウ・レジスタ手段と、
デスティネーション・ウィンドウ・レジスタ手段とイン
タフェースされピクセル値データをデスティネーション
・ウィンドウ識別子と比較するための第2比較器手段と
、第1及び第2比較器手段とインタフェースされ、ソー
ス・ピクセルがデスティネーション・ウィンドウに移動
可能かどうかを判定する組み合わせ手段有している。
【0016】
【実施例】同様の参照番号は同様の要素を指示している
諸図面を参照するに、図1は本発明に基づくグラフィク
ス・フレーム・バッファ・システムを図示している。図
中、ホスト・プロセッサ10はグラフィクス・コマンド
を発し、好ましい実施例において種々のハードウェア要
素から成るグラフィクス・パイプライン20を通るデー
タの移動を制御する。データはグラフィクス・パイプラ
イン20経由でバス30上を転送され、ピクセル・プリ
ミティブがフレーム・バッファ40へ渡される。好まし
い実施例では、グラフィクス・パイプライン20には、
変換エンジンと、走査変換器と、ピクセル値データがフ
レーム・バッファ40に渡されるようにホスト・プロセ
ッサ10からコマンドに応答する他のハードウェアが設
けられている。
【0017】フレーム・バッファ40には各ピクセル毎
に個別のデータ・ロケーションがある。各ピクセル毎の
特定のウィンドウ情報はピクセルのカラー・データと共
に個別のデータ・ロケーションに格納される。好ましい
実施例では、このウィンドウ情報はそのピクセルがどの
ウィンドウに属しているかを告げる識別番号を含んでい
る。他の好ましい実施例では、フレーム・バッファは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は同じウ
ィンドウ内にあってもよい。本発明に基づくピクセル・
ブロックの移動とピクセル・クリッピングは前記のどの
ような条件でも処理することができる。
【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へのピクセル書き込みである。
【0020】好ましい実施例では、ソース・レジスタ1
10はフレーム・バッファ40のソース領域60から複
数のタイルを同時に読み込むようにされている。他の好
ましい実施例では、8個までのタイルがソース領域60
2からソース・レジスタ110及びピクセル・キャッシ
ュ80に順次読み込まれる。デスティネーション・レジ
スタ100はデスティネーション領域70から複数のタ
イルを順次読み込むようにされている。好ましくは8個
までのデスティネーション・タイルがデスティネーショ
ン領域70から順次読み込まれ、ピクセル・キャッシュ
80の上のデスティネーション・レジスタ100に格納
される。
【0021】ピクセル・キャッシュ80には更に識別子
レジスタ120が含まれている。好ましい実施例では、
識別子レジスタ120はグラフィクス・パイプライン・
バイパス・バス90を経てホスト・プロセッサ10とイ
ンタフェースされている。識別子レジスタ120は好ま
しくはホスト・プロセッサ10からバス転送されたピク
セル・ウィンドウ識別情報を格納して、ソース領域60
及びデスティネーション領域70の双方又は一方のフレ
ーム・バッファでのピクセル・ウィンドウ識別値と比較
するようにされている。
【0022】マスク・レジスタ130が更にグラフィク
ス・パイプライン・バイパス・バス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ビットのオフ・スクリーン・オーバレ
イ・プレーンに展開することができる。
【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内に格納さ
れるかを決定するクリップされたウィンドウ・データを
表す。
【0025】描画動作中の図2の回路の動作に当たって
は、デスティネーション側の第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のいずれかを
ディスエーブルすることができる。それによって、読出
しサイクル、書き込みサイクル又は双方のサイクルでの
クリッピングを可能にし、又はどのサイクルでもクリッ
ピングしないようにすることもできる。
【0027】図2の回路の動作では、フレーム・バッフ
ァ40上のピクセル・ウインドウ識別子がピクセル・キ
ャッシュ80内のデスティネーション・レジスタ100
とソース・レジスタ110に記憶された値と比較される
。2つの値が同一である場合は、フレーム・バッファ4
0に今渡されている新たなピクセル・データは今比較の
もう一方の対象となっているピクセルと同じウィンドウ
に属する。すなわち、新たなデータで古いピクセル・デ
ータを置き換えできる。両識別子が合致しない場合は、
新たなピクセル・データは棄てられ、そのピクセルにつ
いてのフレーム・バッファ内のデータは変化しない。
【0028】ブロック移動中、ソース領域60のソース
・ピクセルも読み出される。ソース・ピクセルと共に特
定のウィンドウ識別子ビットももたらされる。ソース・
ウィンドウ識別子ビットはピルセル・キャッシュ内の識
別子レジスタ120に格納された値と比較される。ソー
ス・ウィンドウ識別子ビットとデスティネーション・ウ
ィンドウ識別子ビットの双方がこのピクセルと適合した
場合は、このピクセルはフレーム・バッファ40に書き
戻すことができ、そうでない場合はこのピクセルは放棄
される。
【0029】好ましい実施例では、ブロック移動はフレ
ーム・バッファ内の長方形の領域だけで行われる。しか
し、ウィンドウはフレーム・バッファ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としては出現し
ない。従って、デスティネヒション・ウィンドウは「ク
リップ」されたと言うことができる。
【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:結果

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】下記の(a)ないし(e)のステップを含
    み、コンピュータ・グラフィクス・フレーム・バッファ
    ・システムのフレーム・バッファ内でピクセル・データ
    のブロックを移動する方法: (a)複数のソース・タイルに基づいて前記フレーム・
    バッファからソース領域をメモリ中に読み込む;(b)
    前記ソース・タイルを前記メモリ中のデスティネーショ
    ン・タイルと組み合わせる; (c)前記フレーム・バッファ中のピクセル・データ識
    別情報を前記メモリ中のピクセル・データ識別情報と比
    較して、前記フレーム・バッファ中のピクセル・データ
    識別情報が前記メモリ中のピクセル・データ識別情報と
    適合するかどうか判定する; (d)前記フレーム・バッファ中のその識別情報が前記
    メモリ中の識別情報と適合しないピクセルを放棄する;
    (e)前記フレーム・バッファ中のその識別情報が前記
    メモリ中の識別情報と適合するピクセルで前記フレーム
    ・バッファを更新する。
  2. 【請求項2】下記の(a)ないし(f)を設け、グラフ
    ィクス・システム中でソース・ウィンドウからデスティ
    ネーション・ウィンドウへデータ・ブロックを移動する
    システム: (a)ソース・ウィンドウ・データとデスティネーショ
    ン・ウィンドウ・データを格納するメモリ手段;(b)
    前記メモリ手段とインターフェースされ、前記ソース・
    ウィンドウ内でのピクセル値データとピクセルのロケー
    ションに関するデータを格納するソース・ウィンドウ・
    レジスタ手段; (c)前記ソース・ウィンドウ・レジスタ手段とインタ
    ーフェースされ、前記ピクセル値データをソース・ウィ
    ンドウ識別子と比較する第1比較器手段;(d)前記メ
    モリ手段とインターフェースされ、、前記デスティネー
    ション・ウィンドウ内のピクセル値データを格納するデ
    スティネーション・ウィンドウ・レジスタ手段; (e)前記デスティネーション・ウィンドウ・レジスタ
    手段とインターフェースされ、前記ピクセル値データを
    デスティネーション・ウィンドウ識別子と比較する第2
    比較器手段; (f)前記第1及び第2比較器手段とインターフェース
    され、ソース・ピクセルを前記デスティネーション・ウ
    ィンドウへ移動できるか否か判定する組み合わせ手段。
JP3075809A 1990-03-16 1991-03-15 データ・ブロック移動方法及びシステム Pending JPH04222022A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012168984A1 (ja) * 2011-06-10 2012-12-13 三菱電機株式会社 ウィンドウ合成装置

Families Citing this family (23)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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