JPH11505644A - 画像生成及び操作用装置 - Google Patents
画像生成及び操作用装置Info
- Publication number
- JPH11505644A JPH11505644A JP8526962A JP52696296A JPH11505644A JP H11505644 A JPH11505644 A JP H11505644A JP 8526962 A JP8526962 A JP 8526962A JP 52696296 A JP52696296 A JP 52696296A JP H11505644 A JPH11505644 A JP H11505644A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- rendering
- data
- pixel
- texel
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】
画像生成操作システムはフレームバッファ内のピクセル値を直接操作する専用の集積回路を備える。この「レンダリングプロセサ」は、ホストCPUがレンダリングプロセサに出力するデータ及び命令に応答して、原図(プリミティブ)を描画し、ピクセル処理を行い、システム表示タイミングを生成し、フレームバッファを制御する。このレンダリングプロセサ(他のハードウエア又はソフトウエアではなく)が行うピクセル処理の程度は所望するシステムの性能により変わる。最低の場合で、レンダリングプロセサは、ホストCPU、照明(明暗)プロセサ又は他の高級グラフィックプロセサから入力される命令に応答してフレームバッファにピクセルを描画することが可能である。さらにレンダリングプロセサは補間処理を行い生のピクセル値を洗練し表示ハードウエアに意味をなす値にすることが好ましい。それに加え、以下の機能をレンダリングプロセサに備えることも可能である。それには、エイリアス除去及びディザリングのようなフィルタリング処理、アルファブレンディング、Z-バッファリング、ウインドウ又は他の境界でのクリッピング、画像の二重バッファリング、及びテクスチャ処理等がある。レンダリングプロセサには、各々が特別な命令に対応し自己動作する一連のレジスタを含む場合もある。これらのレジスタのいずれかをアドレスしそれにデータを書き込むことにより、ホストはそのレジスタに対応した命令の実行を間接的に指定する。レンダリングプロセサが「スレーブ」モードを提供することもある。このモードではレンダリングプロセサの描画ハードウエアは外部プロセサにより同期を取って制御されるので、レンダリングプロセサはスキャン変換処理を通してシングルステップを行う一方、外部ハードウエアはそれに関係する計算を行う。
Description
【発明の詳細な説明】
画像生成及び操作用装置
[技術分野]
本発明はディジタル画像の生成及び操作に関し、特にディジタル画像及びグラ
フの高速操作及びアセンブリを容易にするハードウエアアーキテクチャに関する
ものである。
[背景技術]
強力なコンピュータが一般に普及してきたため、ディジタル形式で表される画
像情報量及び空間情報量が大幅に増大した。従来のシステムでは画像は二値の「
ビットマップ」ラスター("bitmap" rasters)として格納されたが、今日の画像生
成・操作システムでは多値の「ピックスマップ」("pixmaps")を用い、それを構
成する各画素即ち「ピクセル」は、大きなカラーパレット、輝度等の値を特定す
る一以上のバイトで表される。
複雑なシステムでは、ディジタル画像(線、多角形、円のようなユーザが定義
するグラフィック成分を含んでもよい)は光学スキャナ(主に画像の場合)又は
ユーザが提供する幾何学的スペック(グラフィック成分の場合)から得られるも
のであってもよい。このシステムは入力した情報を「ラスタ画像プロセサ」のハ
ードウエア又はソフトウエアを用い、適当な色値を有し全体として画像を表すピ
クセルの画像配列即ちラスタに「スキャン変換」する。二次元のラスタの大きさ
はその画像の表示巾及び高さに対応し、配列を作る各ピクセルに付随したビット
数は深さと呼ばれる。ラスタは「フレームバッファ」と呼ばれるコンピュータメ
モリパーティションに格納され、その内容は出力装置に即座に表示される。
通常、ユーザは、(デザインプログラムのような)高級アプリケーションソフト
ウエアを用いてフレームバッファにアクセスし、コマンドを用いて各ピクセル値
を操作することが可能である。例えば、中級のコンピュータシステム用の画像生
成・操作ソフトウエアを用いてもラスタ画像の移動、回転、比例拡大比
例縮小を行うことが出来る。これらのプログラムはグラフィック成分及び画像成
分をクリップしピックスマップで規定された矩形領域内に収めるようにする。こ
の領域外に出た部分(例えばユーザの操作により)は表示されない。(その部分
はオーバーフローバッファに格納されている場合もある。)これらのプログラム
はまた、所望する効果(例えば、スキャン変換で生じることがある「ステアケー
ス」効果("staircasing" effect)を滑らかにするような)が得られるようピク
セル値を数学的に処理する種々の「フィルタ」処理を行う場合もある。
画像レンダリング(画像を遠近法によって描く事)のタスクを、ソフトウエア
モジュール(主中央処理装置CPUで実行される)と画像レンダリングタスク専用
の特殊なハードウエア成分の間でどのように配分するかはどのような性能を必要
とするかによって決定される。もっとも計算を必要とするタスクの一つは、三次
元的位置関係を反映するように画像成分を操作することである。例えば、ある設
計プログラムで球を三次元的に回転することが可能な場合、各時点ではその球面
上の内容の一部しか表示されないが、そのプログラムは全表面の内容の知識を常
時維持しておく必要がある。三次元的操作は表示される絶対的内容だけでなくレ
ンダリングした遠近画にも影響を与えるため、遠近画法的問題も生じてくる。こ
れは立方体のようなエッジのあるグラフィックオブジェクトに対しては非常に明
瞭である。ユーザの視点が与えられたとき目に見える部分が意味のあるように内
容を操作するにはそのようなオブジェクトの各ピクセルに大量の計算を要する幾
何学的変換を施す必要がある。最高の性能を必要とするシステムではこれらの処
理は、フレームバッファを直接操作する高速度専用ハードウエアで行われこれら
の処理の負担から主CPUを開放しシステムバスのトラフィックを軽減する。処理
時間の性能よりコスト効果が重要な低級なシステムでは、計算は適当なソフトウ
エア命令に従って主CPUで行われ、CPUがフレームバッファの内容を操作する。
もっとも進んだ設計システムでは、オブジェクト表面に対応するピクセル値を
ユーザの選択に合うように変化させて、三次元オブジェクトの表面の様相をユー
ザが制御することが可能である。例えば、照明(明暗)の方向及び質並びに照ら
された表面の性質がオブジェクトの視覚的様相を決定する。即ち、これ
らのパラメータをキャプチャ(捕獲)し、それらを、照明(明暗)モデルを用い
て計算でレンダリングしたオブジェクトに施すことが可能である。また設計シス
テムは「テクスチャマッピング」という技法を用いて簡単な表面に視覚的に複雑
さを加える(又は、現存する表面の内容を新しいデザイン又は画像で置き換える
)ことが出来る。この場合、「テクスチャ」という語は、簡単な表面パターンとい
うより画像のような全ての種類の表面の内容を広く含んでいる。この技法を用い
ると、ユーザは、ピックスマップとして表され「テクスチャマップ」と呼ばれる
ディジタル的にサンプルされた「画像」を指定し、三次元的にレンダリングした
オブジェクトの指定された表面にそれを施すことが出来る。画像システムは、い
くつかの引き続き行う空間変換を用いてそのテクスチャを施す。即ち、まず、そ
のテクスチャを、それが三次元空間で見えるようにオブジェクトの数学的表現に
施し、その後オブジェクトの目に見える表面の部分を出力スクリーンの内容を表
すピックスマップに投射する。前述のように、これら表面操作処理は専用ハード
ウエア成分又はソフトウエアの命令にしたがって主CPUによって行われる。
種々の画像生成および操作機能の実行をハードウエアとソフトウエアの間でこ
のように二分割することは非常に高速反応時間を特長とする高価な高級システム
とそれに比べずっと遅い廉価な低級システムとの間の差を埋めるのに役立つこと
になる。
[発明の開示]
本発明は、画像レンダリング機能を主にハードウエアで行うシステムと主にソ
フトウエアで行うシステムとの間のギャップをつなぐハードウエアアーキテクチ
ャ(ハードウエア構造)を提供する。本発明のアーキテクチャ(構造)、即ちシス
テムトポロジー(topology)は、比較的安価に製造される部品を用いるが、それ
らはお互いに相互作用をし、画像関係のバストランザクシンョンを最低に抑え、
主(即ち「ホスト」)CPUを画像の生成及び操作に関係する煩わしい計算から開放す
る。本発明は、本質的には、主にソフトウエアモジュールとして実現されている
システムにハードウエアのサポートを提供するものである。さ
らに、本発明は新しい機能を追加できる拡張可能なハードウエアプラットフォー
ムを提供するので、システム設計者がソフトウエアとハードウエアの最適な混合
を選択することを可能にする。
本発明の一面は、フレームバッファ内のピクセル値を直接操作する専用の集積
回路が備えられていることである。この「レンダリングプロセサ」は、ホストCP
Uからこのプロセサに入力されるデータ及び命令に応答して、原図(プリミティブ
)を描画し(即ち、グラフィックス原図(プリミティブ)のスキャン変換を行い)
、ピクセル操作を行い、システム表示タイミングを生成し、フレームバッファを
制御する。レンダリングプロセサのレパートリにはグラフィックス原図(プリミ
ティブ)のスキャン変換が含まれることが好ましく、これによりこのタスクから
ホストCPUを解放しバスのバンド巾条件を著しく弱くすることができる。本発明
のこの面によればホストCPU(又は他の外部プロセサ要素)は照明(明暗)及び
テクスチャマッピングに関する基本的計算をすることになる。これらの計算から
生のピクセル値が得られるが、それらはレンダリングプロセサにより最終値に洗
練されフレームバッファに描画される。ホストCPUのようなプロセサ構成部品は
、レンダリングプロセサを通してのみフレームバッファにアクセス可能である。
レンダリンクプロセサ(他のハードウエア又はソフトウエア成分ではなく)がど
の程度ピクセル処理を行うかは所望するシステムの性能によって変わってくる。
最低の場合で、レンダリングプロセサは、ホストCPU、ジオメトリプロセサ又は
他の高級グラフィックプロセサから入力される命令に応答してフレームバッファ
にピクセルを描画することが可能である。これにはCPUから入力されるX及びY値
又は幾何学的仕様からフレームバッファ内の実際のピクセルアドレスを計算する
ことが含まれる。また、レンダリングプロセサは補間処理を行い終端座標又はそ
れと同等なものから個々のピクセル値を決定することが好ましい。それに加え、
特殊なプロセスアルゴリズム及び数学演算を行う機能をレンダリングプロセサに
備えることも可能である。それには、エイリアス除去及びディザリング、アルフ
ァブレンディング、Z-バッファリング、フォグ計算(ピクセル画像値に白を添加
し霧をシミュレートし深さのキューを作る)、ウイ
ンドウ又は他の境界でのクリッピング、画像の二重バッファリング(即ち、現に
表示され先に生成した画像をメモリーに保管しながら画像を生成すること)、及
びテクスチャマップ処理等がある。繰り返すと、レンダリングプロセサに与える
機能性は、ソフトウエア又は他のハードウエアからある機能を取り去ることの相
対的な有利さ(経済的及び速度性能の点からの)に依存するのである。理想は、
その選択によりメインシステムバスのスループットを最大にし待ち時間を最小に
することである。
この構成の一つの変形は、ユーザーが指定する照明(明暗)パラメータにした
がって表示画像又はグラフィックオブジェクトに影をつける一つ以上の照明(明
暗)モデルを実現した別のプロセサをシステムが備えることである。この「ライ
ター」又は「ジオメトリ」プロセサはレンダリングプロセサと直接やり取りを行
う、即ちそれはフレームバッファに直接アクセスしない。
本発明のもう一つの面は、レンダリングプロセサが、各々がある特別な命令に
対応し自己動作する一連のレジスタを備えることである。これらのレジスタのい
ずれかをアドレスしそれにデータを書き込むことにより、ホストはそのレジスタ
に対応した命令の実行を間接的に指定する。特に好ましい実施例では本発明はテ
クスチャマッピング処理を限られた数の命令に分解し、これらの命令がレンダリ
ングプロセサ内の対応した数のレジスタに対応するようにする。
本発明の他の面は、本発明のレンダリングプロセサが「スレーブ」モードを提
供することである。このモードではレンダリングプロセサの描画ハードウエアは
外部プロセサ(例えばホストCPU又はライタープロセサ)により同期を取って制
御されるので、レンダリンクプロセサはスキャン変換処理を通してシングルステ
ップを行い、一方外部ハードウエアはそれに関係する計算(例えばテクスチャマ
ッピング)を行う。このようにレンダリングプロセサが外部プロセサと同期を取
って動作することにより、本発明は効率を最適化した構成を提供する。即ち、外
部プロセサは複雑で大量の計算を必要とするレンダリング(例えばテクスチャマ
ッピング)計算の一つのセットを行い、一方レンダリングプロセサはこれらの計
算から得られた出力を連続的にパイプラインベイスで利用し、フレームバッファ
に付随したような計算の他のセットを行うのである。
[図面の簡単な説明]
上述した議論は本発明の以下の詳細な説明とそれに伴う図からより容易に理解
することができるであろう。
図1は、本発明の実施例を示し、代表的な計算環境を図式的に表した図である。
図2は、本発明の実施例を示し、トポロジーの成分及び動作を図式的に表した図
である。
図3は、本発明の実施例を示し、レンダリングプロセサの内部成分を図式的に表
した図である。
図4は、本発明の実施例を示し、代表的三角形が「スレーブモード」でスキャン
変換される模様を示した図である。
[発明を実施するための最良の形態]
図1は、グラフィック、画像レンダリングの応用に対する一般的なハードウエ
ア環境を示している。そこに示されたコンピュータシステムは中央処理装置(CP
U)15を有し、該CPUは、主システムメモリ17及びその成分に対する処理を行い、
またそれらと相互作用を行う。システムメモリ17は通常、コンピュータの基本オ
ペレイティングシステムの一部及びグラフィックユーザインタフェイス(まとめ
て符号19で表す)を含んだ情報の一時的格納用に揮発性即ちランダムアクセスメ
モリ(RAM)を備えている。さらにシステムはコンピュータの構成や基本オペレ
イティングシステムの他の部分を常時格納する読み取り専用メモリ(ROM)、及び
ハードディスク及び/又はCD-ROMのような少なくも一つの大容量記憶装置21を通
常備えている。システムの全ての成分は双方向システムバス23を通して情報のや
り取りを行う。
システムが一つ以上のアプリケーションプログラム27を実行するとき、ユーザ
は通常一つ以上の入力装置25(例えば、キーボード、マウス、書類を読みその内
容をディジタル化する光学スキャナー等)を用いてシステムとやり取りを行う。
ここでアプリケーションプログラムの少なくも一部はシステムメモリ17に格納さ
れている。ここで用いられるよう、「アプリケーションプログラム」と
いう語は、ユーザに関連する情報を処理しその情報をグラフィック又は画像生成
又は操作処理を含んだ方法で表示する機能性をもつ一体を広く呼ぶことにする(
ここで議論を簡単にするためこれらの語は同じ意味を持つものとして用いられる
)。出力はディスプレイ30で表示される。ディスプレイ30のピクセル毎の瞬間的
表示はフレームバッフア32の内容により決定されるが、このフレームバッファは
主システムメモリ17のパーティションとして示されている。(主メモリ17と分離
して実現される場合もある。)
システムはグラフィック又は画像レンダリング処理専用の成分を多く備えてい
る。オペレーティングシステム19はグラフィックサブシステム35を含んでいるが
、このサブシステムは、入力画像(幾何学オブジェクトとして定義された)を点
、線、及び多角形(頂点で定義される)のようなグラフィック原図(プリミティブ
)に分解したり(例えばPostScript(アドビ社の商標)コマンドのような)コー
ド化したグラフィック命令を解釈したりするような基本的プリレンダリング機能
を実行する。この機能をアプリケーション27と共用することも可能である。通常
の低級システムでは、符号37で示した、より進んだ画像生成機能を実現したソフ
トウエアモジュールを備えている。ソフトウエア37はグラフィックシステム35で
生成された原図(プリミティブ)を実際のピクセルの値とアドレスにスキャン変換
するラスタ画像プロセサ(RIP)、並びに、カラー、透明性(重なり合ったオブジ
ェクトが適切に互いを遮蔽し合うよう)及びオブジェクトの連結性のようなピク
セルの属性を割り当てるモジュールを通常含んでいる。さらに、この外に、レン
ダリングされたオブジェクトの方向をユーザーが変えるときそのオブジェクトの
幾何学変換を行うモジュール、プリフィルタリング及び/又はポストフィルタリ
ング用モジュール、及び照明(明暗)計算やテクスチャマッピング用モジュール
を含む場合もある。ソフトウエアモジュール37は、独立して実行可能な個別のソ
フトウエア、又はアプリケーション27に付随した機能、又はそれらの混合したも
のを表しているとしてもよい。通常、モジュール37は一連のメモリバッファ39と
やり取りを行い、ダブルバッファリングやテクスチャマッピング等のような機能
を実現する。上で述べた全ての処理は当分野でよく理解されており、これら処理
を行うソフトウエアは簡
単に入手可能である。現在、ある程度のピクセルハードウエア(例えばVGA)が
通常低級システムに採用されている。
高級システムでは、グラフィックシステム35で行われないほとんど全てのグラ
フィック及び画像レンダリング処理は符号40で代表して示されている専用ハード
ウエアで行われる。このディスプレイ制御のハードウエアはいくつかの個別の集
積回路プロセサからなる場合もあるが、フレームバッフア32に動作上直接接続さ
れている。従ってハードウエア40とフレームバッファ32間の読み書き動作にはバ
ス23は関与しない。ハードウエア40は種々のバッファ39に直接アクセスできる場
合もある。
コスト効果のある二次元及び三次元グラフィックレンダリングをするため画像
処理及びグラフィック機能性をソフトウエア成分とハードウエア成分との間で最
適な割り振りを容易に行う本発明のトポロジーを図2に示す。このアーキテクチ
ャでは主システムバス23は2つのバス110及び112で置き換えられ、これらのバス
はより限定されたトランザクションを伝達する。CPUメモリバス110はシステムバ
ス23の多くの機能を維持しておりCPU15をシステムメモリ17に接続する。I/Oバス
112はCPU15と専用レンダリングプロセサ、大容量記憶装置21、及び入力装置25と
を接続する。ここで専用レンダリングプロセサの機能については以下に詳しく述
べる。I/Oバス112はCPU15及びレンダリングプロセサ115を、幾何学変換、照明(
明暗)、さらに必要ならクリッピングに関連した数学処理を行う任意のライター
/ジオメトリプロセサ117に接続する場合もある。プロセサ117の機能を実現する
集積回路に関しては当分野でよく理解されており、通常高度にパイプライン化し
たVLIWチップ又は浮動小数点動作をするように構成されたディジタルシグナルプ
ロセサ(「DSP」)が使われる。(勿論、他の方法としてこれらの機能は適当なソフト
ウエアモジュール37にしたがってCPU15が行うようにしてもよいが、しかし全体
として処理効率が低下する。)最後に、I/Oバス112はCPU15及びレンダリンクプロ
セサ115をテクスチャリング動作をするテクスチャプロセサ119に接続する場合も
ある。プロセサ117及び/又は119がない場合には、それらの機能はメモリ17に格
納された命令に従ってレンダリングプロセサ115、CPU15、又はそれらの組み合わ
せを用い
て行われる。フレームバッファ32はまだRAM中にあるがCPU15からアドレスできる
システム17の成分からは外されている。即ち、その内容は、レンダリングプロセ
サ115によるか又はそれを通してのみ決定されるか操作されるのである。繰り返
すと、ディスプレイ30にもたらされるはっきりした特長はフレームバッファ32の
瞬時の内容が反映されることである。
テクスチャプロセサ119の動作及びレンダリングプロセサ115との関係はテクス
チャマッピングとの関係でもっとも理解しやすい。前述したようにこの動作は境
界のあるグラフィック表面領域に視覚的内容を加えるのに用いられる。この視覚
的内容は一つ以上のユーザが選択した「テクスチャマップ」から取られるが、テ
クスチャマップは通常バッファ39(あるいはフレームバッファ32)にある平面画
像である。画像生成・操作システムは通常ユーザが選択可能な複数のテクスチャ
マップをもつが、さらに大容量記憶装置21からバッファ39にダウンロードしてそ
れに追加することができる。
他の方法としてプロセサ117、119はプロセサ115と直列に接続してもよいし、
またプロセサ117、119の機能を統合してもよい。
ピクセル又はテクスチャマップの「テクセル(texel)」は普通u×vのアレーと
して定義され、各テクセルは(u,v)の座標によって区別される。三次元オブジェ
クト(即ち、ユーザの視線に垂直な平面へのオブジェクトの投射)を表すグラフィ
ック表面にテクセルを施すには、そのテクセルをまず数学的に定義された三次元
オブジェクトにマッピングし、その後この表面を出力画面に投射して(x,y)座標
で定義された原図(プリミティブ)又は画像を形成する。
出力画面上の(即ち、フレームバッファ32中の)テクスチャマップが施される一
つのピクセルは複数のテクセルから、それらに重みを付け加えて得られる場合も
ある。一つのピクセルに対応するテクセルの数はテクスチャマップと三次元オブ
ジェクトの表面との間の幾何学的関係に依存する。遠くへ伸びた傾斜した平面に
テクスチャをマップする場合のような極端な場合、平面上の遠くにある一つのピ
クセルにテクスチャを付けるには非常に多くのテクセルに重みを付け加え合わさ
なくてはならないためこの処理は非常に非効率なものになる可能性がある。この
ような問題を解決するため種々のプリフィルタリング手法が
考案されている。通常これらはテクスチャマップを多分解能データとして表現す
るが、元のテクスチャマップをつぎつぎに帯域限定しサブサンプリングし、分解
能が減少する方向に画像の階層(hierarchy)を形成することにより生成してもよ
い。粗いテクスチャマップは、プリフィルタされているため少ない計算で用いる
ことができ、テクスチャプロセサ119は、所定の表面上の点にどのテクスチャマ
ップのどのテクセルを施すかを適当な幾何学的考察に基づいて決定する。全体と
しての目標は、最終的な画像分解能の悪化を最小限にとどめ処理効率を最大にす
ることである。通常、アプリケーションプログラムはこれらの競合するパラメー
タに与える相対的重みを指定する。
そのようなプリフィルタリング手法の一つはカラーテクスチャマップ画像を「
ミップマップ(mip map)」と呼ばれるピラミッドメモリ組織に分解することが含
まれる。ここでミップという語はラテン語のmultum in parvoから取られたもの
で、「小さい場所に多くのものがある」という意味である。この方法ではピラミッ
ドの異なったレベルは元のソース画像の異なった分解能に対応し、レベルの数は
レベル間の三線補間(ブレンディング)により拡張することができる。最終的テ
クセル値は、u、v、d座標で与えられ、dは補間されたピラミッド層の深さに対応
する。変換、投射、補間ルーチンに付随する数学的処理は随意のジオメトリプロ
セサ117又はテクスチャプロセサ119で実現される場合もある。レンダリングプロ
セサ115はフィルタされた最終テクセル値を計算し、フレームバッファ32の適当
な(x,y)の位置にピクセルを描き、必要に応じてさらにフィルタリング処理を行
う。
このように、上述したトポロジーでは、レンダリングプロセサ115だけがフレ
ームバッファ32にアクセスできる。プリレンダリング処理(クリッピング、照明(
明暗)、多くのテクスチャマッピング計算、及び他の幾何学変換)はプロセサ117
、119を用いて行われるが、もし必要ならCPU15にやらすこともできる。簡単のた
め以下の議論ではプロセサ117、119が得られるものと仮定する。
レンダリングプロセサが行う主なタスクは、各ピクセルに関係したパラメータ
(x,y,z,r,g,b,α,F,T)を用いて原図(プリミティブ)のスキャン変換を
行うことである。ここで、
x,y=画素(ピクセル)のフレームバッファ中の座標
z=他のオブジェクトに相対的なピクセルの「深さ」(吸蔵(咬合:occlusion)関係
のため)
r,g,b=赤/緑/青の色空間におけるピクセルのカラー値
α=透明度、即ちピクセルのカバー値
F=フォグ値
T=テクセル値
通常、z値は、レンダリングされる各原図(プリミティブ)に用意された別の「
Z-バッファ」(即ち、バッファ39の一つ)に格納されるが、個々のピクセルのz値
はレンダリングプロセサ115により、該原図(プリミティブ)が得られるオブジ
ェクトに付随し他のオブジェクトに対する相対的な深さを表す値に基づいてスキ
ャン変換の過程で決定される。(x,y)にあるピクセルに与えられる最終値は、原
図(プリミティブ)上の対応する点のr、g、b値、そのz値、そのα及びF値に依
存する。テクスチャマッピングの場合には各原図(プリミティブ)は通常最高で
それに付随したテクスチャマップを一つ又はミップマップセットを一つ保有して
いる。テクスチャリングを導入するには、通常レンダリングプロセサ115は、各
ピクセルに対し、フレームバッファ32からr、g、b値を読み、Z-バッファからz値
を読み、テクスチャプロセサ119から与えられる一つ以上のテクセル値Tを読み、
その後これらの値をまとめ補間とブレンダリングにより最終的ピクセル値を得る
。レンダリングプロセサ115は通常補間された「ソース」r、g、b、z及びF値も用
いる。
プロセサ115に対する好ましい実施例の内部構成を図3に示す。ピクセル入出
力ユニット(PIOU)機能ブロック200はプロセサのインターフェイスで、それを通
してCPU15はデータや命令をプロセサ115に送り、レジスタの読み書きを行い、フ
レームバッファ32からピクセルデータを読み、またフレームバッファ32へピクセ
ルデータを書き込むことができる。PIOU 200は、以下に述べるように、スレーブ
モードコースキャニング(slave-mode co-scanning)を容易にする複数のファース
トインファーストアウト(FIFO)モジュール(符号202で一括して示す)を含むの
が好ましい。
PIOU 200は、グラフィック原図(プリミティブ)の基本的スキャン変換を行う
スキャニングエンジン(SSC)ブロック204とやり取りを行う。SSC 204は、原図
(プリミティブ)及び該原図(プリミティブ)に対して行う機能に対応する命令
を入力するデータレジスタ206を含んでいる。PIOU 200及びSSC 204はコントロー
ルブロック(APATH)210とやり取りを行うが、これはフレーム−バッファデータの
フェッチング、バッファリング、格納を制御する。APATH 210は十分にパイプラ
イン化されており処理しようとするデータをプリフェッチし、フェッチされたり
生成されたり変更されたりした後のデータをバッファし、フレームバッファ32に
書き込むデータを格納することが好ましい。APATH 210は一連の命令レジスタを
含む複数のレジスタ212を備えるが、これらの命令レジスタの区別は命令機能に
付随しているため、これらのレジスタに値を書き込むとそれに付随した機能が順
序だって実行される。
APATH 210は生のピクセルデータを補間(IPOL)ブロック215に送るが、このIPOL
ブロックは、描かれるピクセルの各々に対しカラー(r、g、b)、α、F、及びz値
を補間する。IPOL 215は補間された値を変更(PIXMOD)ブロック217に送るが、こ
のブロックは、IPOL 215からの命令に対応して論理演算、アルファブレンディン
グ、テクスチャフィルタリング及びブレンディング、さらに平面マスキングとい
ったピクセル変更処理を行う。PIXMOD 217は処理された値をAPATH 210に返す。
フレームバッファ32との間のデータのやり取りはフレームバッファインターフェ
イス220を通して行われるが、このインターフェイスは実際のフレームバッファ
読み書き操作及びフレームバッファメモリのリフレッシュを行う。ここで、入出
力システム(例えば、BIOS)ROMチップ及びそれに関連したオンボードの装置へ
の接続のような通常のインターフェイス成分、システムに対し画面タイミング(b
lank及びsync)を生成する表示コントローラ、及びビデオ(例えば、NTSCキャプ
チャ)機能成分は図示されていない。
SSC 204は二次元及び三次元原図(プリミティブ)の標準セットを認識し、そ
れに付随した種々のユーティリティ機能を行うことが好ましい。代表的実施例に
おいては、これらユーティリティ機能はCPU 15からの命令により動作可能(actua
ble)で、それにはレジスタ内容のFIFO 202を通したI/Oバス112への
転送、バッファ動作、モード設定が含まれている。基本的処理には以下のものが
含まれる。即ち、フレームバッファ32の画面状に整列した一つ以上の矩形ソース
領域のデータを結合しフレームバッファの画面状に整列した矩形デスティネーシ
ョン領域へ転送するビットブロック転送(「BitBlts」)、画面状に整列した多角形
を一つのカラーで塗りつぶすフィル処理、SSC 204に含まれたクリッピング境界
レジスタに格納されたデータを用いて行う矩形ウインドウクリッピング処理、ピ
クセルの決まった列で作られたパターンを一定の境界のある領域内へタイル処理
するようなパターンラスタ処理、一定のピクセルブロックソースの「拡大」及び
「縮小」処理、ブレッセンハム曲線の描画、及び、点、線、スパン、塗りつぶし
た領域等の三次元原図(プリミティブ)の描画などの処理である。
レンダリングプロセサ115は、CPU 15、ライタープロセサ117、又はテクスチャ
プロセサ119のような外部プロセサによりSSC 204、APATH 210、IPOL 215、PIXMO
D 217を同期して制御できるように構成されている。このモードでは、レンダリ
ングプロセサ115は、外部プロセサ要素が制御するタイミングの「スレーブ」に
なっており、スキャン変換処理を通じてステップを一つづつ行なっていく。この
「スレーブモード・コースキャニング(slave-mode co-scanning)」は、テクスチ
ャプロセサ19(又はCPU15)により必要なテクスチャマッピングの計算の遂行を
スキャン変換に合わせることができるという点で、テクスチャマッピング操作の
関係では特に有用である。それに加えて、スレーブモード動作は自己動作する命
令レジスタから特別な利点が得られる。
スレーブモード動作を行うことにより異なったプロセサ間で処理負担を最適に
分担することが容易になる。即ち、高価なテクスチャプロセスハードウエアをも
つレンダリングプロセサ115を備えたり、比較的遅くオーバーヘッドの高いソフ
トウエアに全てのレンダリング処理をさせる代わりに、種々のシステム成分の性
能特性を発揮させるようにこれらのタスクを分散させるのである。CPU 15(又は
プロセサ117又は119)は描画する要素をドロー(draw)又はノードロー(no-draw
)のステップに分解することにより原図(プリミティブ)を生成することが好ま
しい。即ち、CPU 15、ジオメトリプロセサ117、又はテクスチ
ャプロセサ119は、テクスチャマッピング計算及びある程度のスキャン変換計算
を行うが、それらの計算の結果はレジスタ212のいくつかに出力され(以下に述
べるように)サポートされた処理の実行が行われる。続いて、レンダリングプロ
セサ115は原図(プリミティブ)をピクセルの位置に変換し、上述したようにピ
クセル毎のスキャン変換を行い、ピクセルに指定されたテクスチャフィルタリン
グ及びブレンダリングを行い、さらにフレームバッファ32にその結果を書き込む
。これらの動作は成分間で同期して行われるため、レンダリングプロセサは外部
で計算された結果が得られるようになればすぐにその結果を用いることができ、
その間、外部成分は次の計算を行うことができる。
原図(プリミティブ)を描画するためには、外部プロセサ要素は必要なパラメ
ータ及び指定された原図(プリミティブ)を表すスレーブモードの命令をロード
する。次に外部プロセサ要素は、最初のピクセルに対し、一連のテクスチャ命令
/データペアを適当な自己動作するレジスタ212にロードする。即ち、これらの
レジスタアドレスに一語のデータをロードすることによりそれに対応するプロセ
サの動作が始まるのである。そのデータはテクセルアドレス又はテクスチャフィ
ルタリングに必要なスケールファクタ(即ち、ミップマップ線形補間に必要なu、
v、またはdの少数成分)を表している。最初のピクセルに対しテクスチャ命令が
終わった後、スレーブステップ(SlaveStep)命令を入れ、プロセサ115が次のピ
クセルに対して動作できる状態にする。
レンダリングプロセサ115は以下のスレーブステップ命令を実行するのが好ま
しい:
SlaveStepPX: 右へステップ
SlaveStepNX: 左へステップ
SlaveStepPY: 下へステップ
SlaveDrawStepPX: 現ピクセルを描画し、その後右へステップ
SlaveDrawStepNX: 現ピクセルを描画し、その後左へステップ
SlaveDrawStepPY: 現ピクセルを描画し、その後下へステップ
SlaveReturnStepPX: 保存したピクセル位置へ戻り、その後右へステップ
SlaveReturnStepNX: 保存したピクセル位置へ戻り、その後左へステップ
SlaveDrawReturnStepPX: 現ピクセルを描画し、その後保存したピクセル位置へ
戻り、その後右へステップ
SlaveDrawReturnStepNX: 現ピクセルを描画し、その後保存したピクセル位置へ
戻り、その後左へステップ
SlaveSaveStepPX: 現ピクセル位置を保存し、その後右へステップ
SlaveSaveStepNX: 現ピクセル位置を保存し、その後左へステップ
SlaveDrawSaveStepPX: 現ピクセル位置を描画し、その後現ピクセル位置を保存
し、その後右へステップ
SlaveDrawSaveStepNX: 現ピクセル位置を描画し、その後現ピクセル位置を保存
し、その後左へステップ
DrawLineMajorStep: 現直線ピクセルを描画し、その後メジャーステップを取る
DrawLineMinorStep: 現直線ピクセルを描画し、その後マイナーステップを取る
認識されたテクセル命令は、その各々は独自の自己動作するレジスタ212に付
随しており、テクセルアドレスの特定、ミップマップ間又はその内部での線型補
間、及びポイントサンプリングに向けられるのが好ましい。線型補間及びポイン
トサンプリング処理には、ミップマップ間の補間(d因子を用いての)又は最近
接マップの選択、及び一つのマップ内での補間(即ち、所定のピクセルに対して
計算された(u,v)座標を取り囲む最高4つのテクセル間)、又は選択されたマッ
プ内の最近接テクセルの特定が含まれる。特に本発明がサポートするテクセル命
令は以下の4つに分類されるのが好ましい。即ち、NEAREST処理で一つのマップ
内の最近接テクセルを特定する、LINEAR処理で一つのマップ内の最近接テクセル
の間を補間する、NEAREST MIPMAP NEARESTポイントサンプリング処理で最近接の
ミップマップ(d値を用いて)及びその中の最近接テクセルを特定する、LINEAR
MIPMAP NEAREST処理で最近接のミップマップ内の4つのテクセル間の線型補間
を行う、NEAREST MIPMAP LINEAR処理で、取り囲んだ二つのマップから最近接の
テクセルを選択しそれらの間を線型補間する、及びLINEAR MIPMAP LINEAR命令で
ミップマップ及びテクセル間を補間するもの
である。
可能な命令の各々を一つの自己動作するレジスタに単に対応させることは可能
であるが、いくつかの命令がより低いレベルの命令の組み合わせでありそれに特
有な量のデータを必要とすることによりレジスタの全体数を減少させるのに役立
つ。好ましい実施例では以下の命令は個々の専用のレジスタに対応している。
命令 関数
TexCommand0 Acc3=Fetch Texel(Input Data)
TexCommand1 TMP=Fetch Texel(Input Data)
TexCommand2 Acc1=TMP*(1-uf)+
Fetch Texel(Input Data)*uf
TexCommand3 Acc2=TMP*(1-uf)+
Fetch Texel(Input Data)*uf
TexCommand4 Acc3=Acc1*(1-vf)+Acc2*vf
TexCommand5 Acc3=TMP*(1-df)+
Fetch Texel(Input Data)*df
TexCommand6 Acc1=Acc1*(1-vf)+Acc2*vf
TexCommand7 Acc3=Acc1*(1-df)+Acc3*df
TexCommand8-13(内部使用)
TexCommand14 dfをロード
TexCommand15 ufをロード
ここでTMP、Acc1、Acc2、及びAcc3は一時レジスタであり、uf、vf、及びdfはT
exCommand 2-7、14、及び15におけるu、v及びd値の少数部がロードされたレジス
タであり、Fetch Texel(Input Data)はフェッチしたテクセルに付随したカラー
データ(例えば、r、g、b及びα)を表す。
処理は、データを、その処理に対応するレジスタ又は一連のレジスタに個々に
又は一括してロードして行われる。処理及びそれに対応した命令レジスタを以下
に列挙する。
NEAREST
TexCommand0 テクセルアドレス1
LINEAR
TexCommand1 テクセルアドレス1
TexCommand15 (u)少数部(第一ミップマップ)
TexCommand2 テクセルアドレス2
TexCommand1 テクセルアドレス3
TexCommand3 テクセルアドレス4
TexCommand4 (v)少数部(第一ミップマップ)
NEAREST MIPMAP NEAREST
TexCommand0 テクセルアドレス1
LINEAR MIPMAP NEAREST
TexConmland1 テクセルアドレス1
TexCommand15 (u)少数部(第一ミップマップ)
TexCommand2 テクセルアドレス2
TexCommand1 テクセルアドレス3
TexCommand3 テクセルアドレス4
TexCommand4 (v)少数部(第一ミップマップ)
NEAREST MIPMAP LINEAR
TexCommand1 テクセルアドレス1
TexCommand14 (d)少数部(ミップマップ間)
TexCommand5 テクセルアドレス2
LINEAR MIPMAP LINEAR
TexCommand1 テクセルアドレス1
TexCommand15 (u)少数部(第一ミップマップ)
TexCommand2 テクセルアドレス2
TexCommand1 テクセルアドレス3
TexCommand3 テクセルアドレス4
TexCommand4 (v)少数部(第一ミップマップ)
TexCommand1 テクセルアドレス5
TexCoEand15 (u)少数部(第二ミップマップ)
TexCoEand2 テクセルアドレス6
TexCommand1 テクセルアドレス7
TexCommand3 テクセルアドレス8
TexCommand6 (v)少数部(第二ミップマップ)
TexCommand7 (d)少数部(ミップマップ間)
この面に関する本発明の処理を理解するには具体的な例を挙げるのが最善であ
る。図4は、レンダリングプロセサ115が三次元テクスチャ化した三角形をスレ
ーブモードでスキャン変換する模様を示している。外部プロセサ、即ち、CPU 15
、プロセサ117及び/又はプロセサ119は以下のステップを行う。
1. 三角形の初期値をSSC 204にロードする。
2. フィル原図(プリミティブ)を描画する命令をレジスタ206にロードする。
3. 第一のピクセルに対応したテクセルのアドレス及びそれに付随したテクセル
命令を計算しロードする。
4. スキャンする次のピクセルを計算する。
5. 適当なスレーブモードのステップ命令をSSC 204にロードする。
6. 原図(プリミティブ)の各ピクセルに対しステップ3−5を繰り返す。
7. スキャンが完了したとき終了する。
レンダリングプロセサ115が実行する処理の概略は以下のようである。
1. フィル原図(プリミティブ)命令が入力すると必要な内部初期化を行う。
2. テクセル命令に従って適当なテクセルフェッチング及びテクセル計算を行う
。
3. ピクセルアドレスを計算し、デスティネーションピクセル(もし計算するピク
セルと何らかの形で結合するべきものがすでに存在している場合)及びz(もしZ-
バッファリングが採用されている場合)をフェッチし、デスティネーションピク
セル(及びz)をステップ2から得られたフィルターしたテクセル(及び補間されたz
)と結合し、変更されたデスティネーションピクセルをフ
レームバッファ32(又は他のデスティネーションピックスマップ)に書き込む。
4. ステップするときz、r、g、b、α、Fを補間する。
5. 上述のステップを入力した正確な順番にしたがって行うか、又は、もし順番
通りでない場合同じ結果が得られるよう必要な順序づけを行う。
新たな画像生成及び操作機能性をレンダリングプロセサ115に付け加えること
も可能である。例えば、エイリアス除去やディザリングのようなフィルタリング
処理、アルファブレンディングやスレショールディングのようなアルファ処理、
Z-バッファリング、フォグ計算、クリッピング、ダブルバッファリング、及びテ
クセルからピクセルへのフォーマット変換(例えば、32ビットのテクセルから16
ビットのr、g、bピクセルフォーマットへの変換)が可能なモジュール。これら
の機能を行うための適当なファームウエア、論理及びレジスタの構成はディジタ
ルレンダリング分野ではよく理解されており、プロセサ115に組み入れるための
適当な機能ブロックを簡単に作ることが可能である。これらのブロックはIPOL 2
15及びPIXMOD 217にパイプライン様式で組み入れられるのでスレーブモードスキ
ャニングにより種々の機能ブロックを通して順番に処理されるピクセルデータが
同期して用意される。
図4を参照して、グリッド300はフレームバッファ115のある一部を示している
。そこに書かれた三角形はCPU 15で認識された原図(プリミティブ)であり、レ
ンダリングプロセサ115がフレームバッファ32内のオンになり適当な値に設定さ
れた一連のピクセルにスキャン変換しなくてはならないものである。CPU 15はレ
ンダリングプロセサ115を初期化し、書かれた三角形をスキャンし、線分の座標(
X0,Y0)、(X1,Y1); (X1,Y1)、(X2,Y2)及び(X2,Y2)、(X0,Y0)をプロセサ115
に知らせる。CPU 15はまたステップ命令及びテクセル命令をプロセサ115に与え
る。プロセサ115は、原図(プリミティブ)の線分で阻止されたり又は原図(プ
リミティブ)内に入ったグリッド300内のピクセル位置を上述したステップ命令
に従ってステップしレンダリングを行う(即ち、ピクセル値をフレームバッファ3
2に書き込む)。通常、これは、例えばピナダスキャニングアルゴリズム(例えば
、ACM SIGGRAPH Proc.-Comp.Graphics,vol.22,No.4[Aug.1988]17-20ペ
ージを参照のこと)に従い+又は-X方向
又は+Y方向にステップして行われる。スキャン・ラインを基礎にした方法のよう
な他のスキャングアルゴリズムもまた効果的に用いることが可能である。
ピナダ法(Pinada approach)を用い、下へステップした後右へステップする
という規則に従い、三角形は図4に示すようにスキャン変換されフィルされる。
即ち、関係あるピクセルの位置は「P」に続く番号で示されている。一番高い座
標をもつピクセル(P0)が最初にスキャンされるピクセルである。その次のピク
セルはP0の右側にあるピクセルである。スキャンが三角形の右端を通過すれば、
P0の左側のピクセルに戻り三角形の左端がスキャンされるまでこの処理が続けら
れる。この時点でスキャニングは下へステップし次のスキャンラインへ行く。ス
キャニングが進行するにつれ、レジスタの現状が順番に格納されもとへ戻るのを
可能にする。例えば、スキャニングが下へステップしたとき、新スキャンライン
の最初のピクセルの値は格納され、そのラインの右側へのスキャンが完了した後
最初のピクセルの左のピクセルに戻ることが可能になる。
レンダリングプロセサ115は、「Draw」という語を含むスレーブ命令に応答して
のみピクセルを描画し、「Save」という語を含むスレーブ命令に応答してのみその
状態を格納し、「Return」という語を命令が含んでいる場合にのみ元へ戻る。プロ
セサ115は、「Step PX」を含む命令に応答してのみ正のX方向(即ち図4の右側)
にステップし、「Step NX」を含む命令に応答してのみ負のX方向にステップし、「S
tep PY」を含む命令に応答してのみ正のY方向にステップする。スキャン変換に於
いてレンダリングプロセサ115は阻止されたピクセルが原図(プリミティブ)を
規定する線分内にどの程度入っているかを決定する。通常は、ピクセルは、それ
が原図(プリミティブ)の境界内に大部分ある場合にのみ描画される。しかし、
エイリアス除去又は他のフィルタ処理が適用されるときフィルタの指令によりピ
クセルが描画される(又は部分カバーで描画される)こともある。
以下に示す順番に従ったスレーブモード命令によりプロセサ115は図4に示す
三角形のレンダリングを行う。この例では、ピクセルの中心点が三角形の境界内
になければそのピクセルは描画されないと仮定する。さらに、CPU 15又は他の外
部プロセサ要素が、最初のステップに続く各スレーブステップの前及び
SlaveEndステップの前に命令の適当なセットをレンダリングプロセサ115に送る
ため、テクセル命令は宣言されない。レンダリングプロセサ115はテクセル命令
を用い、描画されたピクセルに対応した各々のメモリ位置に格納されたフィルタ
されたテクセル値を生成する。
1. Slave3DFill (レンダリングプロセサ115の初期化)
2. SlaveDrawSaveStepPX (P0を描画、その後+X方向に1ピクセルステップ)
3. SlaveReturnStepNX (三角形の外部にあるのでP1は描画せず、P2に戻る)
4. SlaveStepPY (三角形の外部にあるのでP2は描画しない)
5. SlaveDrawSaveStepPX (P3を描画、その状態を格納、その後+X方向にス
テップ)
6. SlaveDrawStepPX (P4を描画、その後+X方向にステップ)
7. SlaveReturnStepNX (P5は描画せず、P6に移動)
8. SlaveStepPY
9. SlaveDrawSaveStepPX (P7を描画)
10. SlaveDrawStepPX (P8を描画)
11. SlaveDrawStepPX (P9を描画)
12. SlaveReturnStepNX
13. SlaveStepPY
14. SlaveDrawSaveStepPX (P12を描画)
15. SlaveDrawStepPX (P13を描画)
16. SlaveDrawStepPX (P14を描画)
17. SlaveDrawStepPX (P15を描画)
18. SlaveDrawReturnStepNX (P16を描画)
19. SlaveStepPY
20. SlaveDrawSaveStepPX (P18を描画)
21. SlaveDrawStepPX (P19を描画)
22. SlaveDrawStepPX (P20を描画)
23. SlaveDrawStepPX (P21を描画)
24. SlaveDrawStepPX (P22を描画)
25. SlaveDrawReturn StepNX (P23を描画)
26. SlaveStepPY
27. SlaveDrawSaveStepPX (P25を描画)
28. SlaveDrawStepPX (P26を描画)
29. SlaveDrawStepPX (P27を描画)
30. SlaveDrawStepPX (28Pを描画)
31. SlaveReturnStepNX (三角形の外部にあるのでP29は描画しない)
32. SlaveEnd (P32は外部にあり、下へステップすると三角形の底辺の下に
行く)
従って、上述の方法は、ピクセル書込機能に関するハードウエアとソフトウエ
アをブレンドする非常に有利な方法を示しておりコストと効率が最適化されこと
が分かるであろう。ここで用いられる用語及び表現は説明のために用いられるも
のであって制限を与えるものではなく、そのような用語及び表現を用いたという
理由でここに示されたり説明されたりした特長を有する同等なものあるいはその
部分を除外するものではない。また、本発明の特許請求範囲内で種々の変更が可
能である。
【手続補正書】特許法第184条の8第1項
【提出日】1997年2月27日
【補正内容】
請求の範囲
1. a.中央処理装置(15)と、
b.前記中央処理装置を動作させるための命令を格納したシステムメモリ
(17)と、
c.表示可能なピクセルデータを備えたピックスマップを格納するフレー
ムバッファ(32)と、
d.前記フレームバッファと動作的に接続され、前記中央処理装置が発す
る命令に応答し、原図(プリミティブ)をピクセルデータにスキャン変換し、前
記フレームバッファにその変換したピクセルデータを格納するためのレンダリン
グプロセサ(115)と、
e.前記中央処理装置と(i)システムメモリ、(ii)少なくも一つの大容量
記憶装置(21)、(iii)少なくも一つの周辺装置のそれぞれとの間のデータ交換
を行うための中央処理装置─メモリバス(110)と、及び
f.前記中央処理装置と前記レンダリングプロセサとの間のデータ交換を
行うための入出力バス(112)とを備え、
前記中央処理装置は、前記中央処理装置─メモリバス(110)を通して前記
システムメモリからフェッチされた命令に従って動作することにより原図(プリ
ミティブ)及びテクセル命令を生成し、前記原図(プリミティブ)及びテクセル
命令を前記入出力バスを通して前記レンダリングプロセサに転送し、さらに前記
レンダリングプロセサ(115)はピクセルメモリアドレスを生成し、線型補間
によりピクセルデータを洗練し、前記テクセル命令を実行するように構成されて
おり、
前記レンダリングプロセッサ(115)は、原図(プリミティブ)をロードさ
れるとそれに応答して前記原図(プリミティブ)に付随した処理の実行を間接的
に指定する間接指定手段(204,210,215,217)を有しており、
前記間接指定手段は、各レジスタが、一つの処理に付随し前記中央処理装置に
より独立してアドレス可能で、前記入出力バスからデータを入力し、データを入
力すると前記レンダリングプロセッサにそのデータに基づいて付随した処理を行
わせる複数の自己動作するレジスタ(212)を有していることを特徴とするピ
ックスマップとして格納された画像の表示を処理し容易にする画像生成及び操作
用装置。
2.請求項1に記載の画像生成及び操作用装置であって、前記レンダリングプロ
セサは、さらに表示タイミングを生成する手段を備えることを特徴とする。
3.請求項1に記載の画像生成及び操作用装置であって、前記レンダリングプロ
セサは、前記システムメモリ(17)から切り離されており、かつ前記中央処理
装置(15)は前記フレームバッファから切り離されていることを特徴とする。
4.請求項3に記載の画像生成及び操作用装置であって、
a.各々がテクセルデータを有するテクセルの列から成るテクスチャマッ
プにアクセスするための手段と、
b.前記フレームバッファにデータが格納される各々のピクセルに関して
、ピクセルに付随した少なくも一つのテクセルを特定する手段と、
c.各ピクセルに対し、前記ピクセルデータを少なくも一つの付随したテ
クセルからのテクセルデータと結合し、ブレンドしたデータを作り、前記フレー
ムバッファに格納する手段とを
備えるテクスチャマッピングを行うための手段を、さらに有することを特徴とす
る。
5.請求項4に記載の画像生成及び操作用装置であって、前記レンダリングプロ
セサは、前記中央処理装置(15)が発する命令に応答し、複数のテクセルマッ
プの間を補間する手段(215)を備えることを特徴とする。
6.請求項5に記載の画像生成及び操作用装置であって、ここでテクセル処理命
令は(i)そのロードされたデータにより特定されるメモリアドレスを有するテク
セルのフェッチ、及び(ii)ミップマップ間の線型補間を含むことを特徴とする。
7.請求項6に記載の画像生成及び操作用装置であって、さらに前記レンダリン
グプロセサに付随し、前記レンダリングプロセサ(115)と前記中央処理装置
(15)間の同期を取ったパイプライン化した動作を行う手段を備え、前記中央
処理装置は、前記レンダリングプロセサが行う原図(プリミティブ)のスキャン
変換と同時に、格納された命令を実行することを特徴とする。
8.請求項7に記載の画像生成及び操作用装置であって、前記格納された命令は
原図(プリミティブ)に対し大量の計算を必要とする処理を規定し、かつ前記レ
ンダリングプロセサは、さらに前記中央処理装置が格納された命令を実行するの
と同時にピクセルデータを洗練するための手段を備えることを特徴とす
る。
9.請求項8に記載の画像生成及び操作用装置であって、前記レンダリングプロ
セサ(115)は、線型補間、フィルタリング、クリッピング、アルファブレン
ディング及びフォグ値の計算を含む処理によりピクセルデータの洗練を行うこと
を特徴とする。
10.大量の計算を必要とする画像生成処理を行い原図(プリミティブ)を生成
するように構成された外部プロセサ(15)を有するシステムの画面上での画像
表示を処理し容易にする画像生成及び操作用装置であって、該装置は、
a.ピックスマップを格納するフレームバッファ(32)と、ここで各ピ
ックスマップは前記画面上に画像として表示可能なピクセルデータを有し、及び
b.前記外部プロセサと前記フレームバッファ間に排他的に接続され、前
記外部プロセサが生成した原図(プリミティブ)に応答し、前記画面に表示する
ため、前記原図(プリミティブ)をピクセルデータにスキャン変換する手段を有
し、さらに原図(プリミティブ)をロードされるとそれに応答して前記原図(プ
リミティブ)に付随した処理の実行を間接的に指定する間接指定手段を有する明
白なレンダリングプロセサ(115)とを備えており、
前記間接指定手段(204,210)は、各レジスタが、一つの処理に付随し
前記外部プロセッサ(15)により独立してアドレス可能で、前記外部プロセッ
サからデータを入力し、データを入力すると前記レンダリングプロセッサにその
データに基づいて付随した処理を行わせる複数の自己動作するレジスタ(217
)を有していることを特徴とする。
11.請求項10に記載の画像生成及び操作用装置であって、さらに前記外部プ
ロセサから前記レンダリングプロセサに、前記原図(プリミティブ)を転送する
ためのシステムバス(23)を備えることを特徴とする。
12.請求項10に記載の画像生成及び操作用装置であって、前記自己動作する
レジスタ(212)により、前記外部プロセサ(15)から前記レンダリングプ
ロセサ(115)へのテクスチャマッピング命令の転送が不要になることを特徴
とする。
13.請求項10に記載の画像生成及び操作用装置であって、前記外部プロセサ
(15)は、前記レンダリングプロセサが前記自己動作するレジスタ(21
2)に付随した各テクスチャマッピング処理を別々に実行し、それによりシステ
ムバスのスループットを最適化するよう前記レンダリングプロセサを同期して制
御する手段を備えることを特徴とする。
14.請求項13に記載の画像生成及び操作用装置であって、前記外部プロセサ
(15)はジオメトリックプロセサ要素及び中央処理装置のうちの一つであるこ
とを特徴とする。
15.第一プロセサ(15)及び前記第一プロセサ(15)に機能的に接続され
、また前記第一プロセサ(15)からのデータを処理するように構成された第二
プロセサ(115)を備えた多重プロセサコンピュータシステムにおいて、前記
第二プロセサに付随した命令ファシリティであって、
a.前記第一プロセサからのデータを入力するインターフェイス(200
)と、
b.その入力したデータに対して選択的に処理を行う実行手段(210,
204,215,217)と、及び、
c.複数の自己動作するレジスタ(212)であって、各レジスタは一つ
の処理に付随し前記第一プロセサにより独立してアドレス可能で、前記インター
フェイスからデータを入力し、データを入力すると前記実行手段にそのデータに
基づいて付随した処理を行わせるレジスタとを
備えたことを特徴とする。
16.請求項16に記載の多重プロセサコンピュータシステムであって、さらに
前記ファシリティにおいて、前記第一プロセサは外部プロセサ(15)であり、
前記第二プロセサはレンダリングプロセサ(115)であり、さらに前記レンダ
リングプロセサに機能的に接続され、前記レンダリングプロセサから処理された
データを入力し、画面表示の瞬間状況を判定するフレームバッファを備え、前記
選択可能な処理はピクセル処理を含み、また処理されたデータは表示可能なピク
セル値を表すことを特徴とする。
17.請求項16に記載の多重プロセサコンピュータシステムであって、さらに
前記ファシリティにおいて、一連のテクセルからなる少なくも一つのミップマッ
プを格納する手段を備え、ここで各テクセルは付随した値を有し、前記レンダリ
ングプロセサは前記格納手段にアクセス可能であり、前記選択可能な処理には、
格納されたミップマップの特定、ピクセル値のそれに最も近い値を有する特定さ
れたミップマップ内のテクセルの特定、及び特定されたミップマッ
プ内のテクセル間の補間が含まれることを特徴とする。
18.請求項17に記載の多重プロセサコンピュータシステムであって、さらに
前記ファシリティにおいて、複数のミップマップを格納する手段を備え、前記選
択可能な処理には、さらにミップマップの選択及びミップマップ間の補間が含ま
れることを特徴とする。
─────────────────────────────────────────────────────
【要約の続き】
画像の二重バッファリング、及びテクスチャ処理等があ
る。レンダリングプロセサには、各々が特別な命令に対
応し自己動作する一連のレジスタを含む場合もある。こ
れらのレジスタのいずれかをアドレスしそれにデータを
書き込むことにより、ホストはそのレジスタに対応した
命令の実行を間接的に指定する。レンダリングプロセサ
が「スレーブ」モードを提供することもある。このモード
ではレンダリングプロセサの描画ハードウエアは外部プ
ロセサにより同期を取って制御されるので、レンダリン
グプロセサはスキャン変換処理を通してシングルステッ
プを行う一方、外部ハードウエアはそれに関係する計算
を行う。
Claims (1)
- 【特許請求の範囲】 1. a.中央処理装置と、 b.前記中央処理装置を動作させるための命令を格納したシステムメモリ と、 c.表示可能なピクセルデータを備えたピックスマップを格納するフレー ムバッファと、 d.前記フレームバッファと動作的に接続され、前記中央処理装置が発す る命令に応答し、原図(プリミティブ)をピクセルデータにスキャン変換し、前 記フレームバッファにその変換したピクセルデータを格納するためのレンダリン グプロセサと、 e.前記中央処理装置と(i)システムメモリ、(ii)少なくも一つの大容量 記憶装置、(iii)少なくも一つの周辺装置のそれぞれとの間のデータ交換を行う ための中央処理装置─メモリバスと、及び f.前記中央処理装置と前記レンダリングプロセサとの間のデータ交換を 行うための入出力バスとを備え、 前記中央処理装置は、前記中央処理装置─メモリバスを通して前記システムメモ リからフェッチされた命令に従って動作することにより原図(プリミティブ)及び テクセル命令を生成し、前記原図(プリミティブ)及びテクセル命令を前記入出 力バスを通して前記レンダリングプロセサに転送し、さらに前記レンダリングプ ロセサはピクセルメモリアドレスを生成し、線型補間によりピクセルデータを洗 練し、前記テクセル命令を実行するように構成されていることを特徴とするピッ クスマップとして格納された画像の表示を処理し容易にする画像生成及び操作用 装置。 2.請求項1に記載の画像生成及び操作用装置であって、前記レンダリングプロ セサは、さらに表示タイミングを生成する手段を備えることを特徴とする。 3.請求項1に記載の画像生成及び操作用装置であって、前記レンダリングプ ロセサは、前記システムメモリから切り離されており、かつ前記中央処理装置は 前記フレームバッファから切り離されていることを特徴とする。 4.請求項3に記載の画像生成及び操作用装置であって、 a.各々がテクセルデータを有するテクセルの列から成るテクスチャマッ プにアクセスするための手段と、 b.前記フレームバッファにデータが格納される各々のピクセルに関して 、ピクセルに付随した少なくも一つのテクセルを特定する手段と、 c.各ピクセルに対し、前記ピクセルデータを少なくも一つの付随したテ クセルからのテクセルデータと結合し、ブレンドしたデータを作り、前記フレー ムバッファに格納する手段とを 備えるテクスチャマッピングを行うための手段を、さらに有することを特徴とす る。 5.請求項4に記載の画像生成及び操作用装置であって、前記レンダリングプロ セサは、前記中央処理装置が発する命令に応答し、複数のテクセルマップの間を 補間する手段を備えることを特徴とする。 6.請求項1に記載の画像生成及び操作用装置であって、前記レンダリングプロ セサは複数のレジスタを備え、各レジスタは前記入出力バスを通して、前記中央 処理装置にアクセス可能であり、また各レジスタはレンダリング命令に対応して おり、そのレジスタにデータをロードした場合は、前記レンダリングプロセサは ロードされたデータに対し、そのレジスタに対応した命令を実行することを特徴 とする。 7.請求項5に記載の画像生成及び操作用装置であって、前記レンダリングプロ セサは複数のレジスタを備え、各レジスタは前記入出力バスを通して、前記中央 処理装置にアクセス可能であり、また各レジスタはテクセル処理命令に対応して おり、そのレジスタにデータをロードした場合は、前記レンダリングプ ロセサはロードされたデータに対し、そのレジスタに対応した命令を実行し、こ こでテクセル処理命令は(i)そのロードされたデータにより特定されるメモリア ドレスを有するテクセルのフェッチ、及び(ii)ミップマップ間の線型補間を含む ことを特徴とする。 8.請求項7に記載の画像生成及び操作用装置であって、さらに前記レンダリン グプロセサに付随し、前記レンダリングプロセサと前記中央処理装置間の同期を 取ったパイプライン化した動作を行う手段を備え、前記中央処理装置は、前記レ ンダリングプロセサが行う原図(プリミティブ)のスキャン変換と同時に、格納 された命令を実行することを特徴とする。 9.請求項8に記載の画像生成及び操作用装置であって、前記格納された命令は 原図(プリミティブ)に対し大量の計算を必要とする処理を規定し、かつ前記レ ンダリングプロセサは、さらに前記中央処理装置が格納された命令を実行するの と同時にピクセルデータを洗練するための手段を備えることを特徴とする。 10.請求項9に記載の画像生成及び操作用装置であって、前記レンダリングプ ロセサは、線型補間、フィルタリング、クリッピング、アルファブレンディング 及びフォグ値の計算を含む処理によりピクセルデータの洗練を行うことを特徴と する。 11.大量の計算を必要とする画像生成処理を行い原図(プリミティブ)を生成 するように構成された外部プロセサを有するシステムの画面上での画像表示を処 理し容易にする画像生成及び操作用装置であって、該装置は、 a.ピックスマップを格納するフレームバッファと、ここで各ピックスマ ップは前記画面上に画像として表示可能なピクセルデータを有し、及び b.前記外部プロセサと前記フレームバッファ間に排他的に接続され、前 記外部プロセサが生成した原図(プリミティブ)に応答し、前記画面に表示 するため、前記原図(プリミティブ)をピクセルデータにスキャン変換する手段 を有し、さらに原図(プリミティブ)をロードされるとそれに応答して前記原図 (プリミティブ)に付随した処理の実行を間接的に指定する間接指定手段を有す るレンダリングプロセサとを 備えることを特徴とする。 12.請求項11に記載の画像生成及び操作用装置であって、さらに前記外部プ ロセサから前記レンダリングプロセサに、前記原図(プリミティブ)を転送する ためのシステムバスを備えることを特徴とする。 13.請求項11に記載の画像生成及び操作用装置であって、前記間接指定手段 は複数の自己動作するレジスタを備え、各レジスタは一つのテクスチャマッピン グ処理の実行に付随しており、その自己動作するレジスタにより前記外部プロセ サから前記レンダリングプロセサへのテクスチャマッピング命令の転送が不要に なることを特徴とする。 14.請求項11に記載の画像生成及び操作用装置であって、前記外部プロセサ は、前記レンダリングプロセサが前記自己動作するレジスタに付随した各テクス チャマッピング処理を別々に実行し、それによりシステムバスのスループットを 最適化するよう前記レンダリングプロセサを同期して制御する手段を備えること を特徴とする。 15.請求項14に記載の画像生成及び操作用装置であって、前記外部プロセサ はジオメトリックプロセサ要素及び中央処理装置のうちの一つであることを特徴 とする。 16.第一プロセサ及び前記第一プロセサに機能的に接続され、また前記第一プ ロセサからのデータを処理するように構成された第二プロセサを備えた多重プロ セサコンピュータシステムにおいて、前記第二プロセサに付随した命令フ ァシリティであって、 a.前記第一プロセサからのデータを入力するインターフェイスと、 b.その入力したデータに対して選択的に処理を行う実行手段と、及び、 c.複数の自己動作するレジスタであって、各レジスタは一つの処理に付 随し前記第一プロセサにより独立してアドレス可能で、前記インターフェイスか らデータを入力し、データを入力すると前記実行手段にそのデータに基づいて付 随した処理を行わせるレジスタとを 備えたことを特徴とする。 17.請求項16に記載の多重プロセサコンピュータシステムであって、さらに 前記ファシリティにおいて、前記第一プロセサは外部プロセサであり、前記第二 プロセサはレンダリングプロセサであり、さらに前記レンダリングプロセサに機 能的に接続され、前記レンダリングプロセサから処理されたデータを入力し、画 面表示の瞬間状況を判定するフレームバッファを備え、前記選択可能な処理はピ クセル処理を含み、また処理されたデータは表示可能なピクセル値を表すことを 特徴とする。 18.請求項17に記載の多重プロセサコンピュータシステムであって、さらに 前記ファシリティにおいて、一連のテクセルからなる少なくも一つのミップマッ プを格納する手段を備え、ここで各テクセルは付随した値を有し、前記レンダリ ングプロセサは前記格納手段にアクセス可能であり、前記選択可能な処理には、 格納されたミップマップの特定、ピクセル値のそれに最も近い値を有する特定さ れたミップマップ内のテクセルの特定、及び特定されたミップマップ内のテクセ ル間の補間が含まれることを特徴とする。 19.請求項18に記載の多重プロセサコンピュータシステムであって、さらに 前記ファシリティにおいて、複数のミップマップを格納する手段を備え、前記選 択可能な処理には、さらにミップマップの選択及びミップマップ間の補間が含ま れることを特徴とする。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/413,983 | 1995-03-06 | ||
| US08/413,983 US5649173A (en) | 1995-03-06 | 1995-03-06 | Hardware architecture for image generation and manipulation |
| PCT/US1996/002830 WO1996027857A1 (en) | 1995-03-06 | 1996-03-01 | Hardware architecture for image generation and manipulation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11505644A true JPH11505644A (ja) | 1999-05-21 |
Family
ID=23639466
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8526962A Pending JPH11505644A (ja) | 1995-03-06 | 1996-03-01 | 画像生成及び操作用装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US5649173A (ja) |
| EP (1) | EP0813721B1 (ja) |
| JP (1) | JPH11505644A (ja) |
| KR (1) | KR100421623B1 (ja) |
| DE (1) | DE69602728T2 (ja) |
| WO (1) | WO1996027857A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6784897B2 (en) | 2000-12-05 | 2004-08-31 | Nec Electronics Corporation | Apparatus for carrying out translucent-processing to still and moving pictures and method of doing the same |
| WO2007122768A1 (ja) * | 2006-04-12 | 2007-11-01 | Sony Computer Entertainment Inc. | 描画処理装置 |
Families Citing this family (81)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07281652A (ja) * | 1994-04-07 | 1995-10-27 | Sony Corp | 画像処理装置 |
| US5649173A (en) * | 1995-03-06 | 1997-07-15 | Seiko Epson Corporation | Hardware architecture for image generation and manipulation |
| US5903281A (en) * | 1996-03-07 | 1999-05-11 | Powertv, Inc. | List controlled video operations |
| 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 |
| US6285373B1 (en) * | 1996-03-29 | 2001-09-04 | 3Dlabs Inc. Ltd. | Method and apparatus for texture transmission and storage |
| US5793386A (en) * | 1996-06-28 | 1998-08-11 | S3 Incorporated | Register set reordering for a graphics processor based upon the type of primitive to be rendered |
| US5828382A (en) * | 1996-08-02 | 1998-10-27 | Cirrus Logic, Inc. | Apparatus for dynamic XY tiled texture caching |
| US6088062A (en) * | 1996-10-29 | 2000-07-11 | Sony Corporation | Picture signal processing apparatus |
| US5889994A (en) * | 1997-03-27 | 1999-03-30 | Hewlett-Packard, Co. | Method for cataloging graphics primitives by rendering state |
| US5956047A (en) * | 1997-04-30 | 1999-09-21 | Hewlett-Packard Co. | ROM-based control units in a geometry accelerator for a computer graphics system |
| US6184902B1 (en) | 1997-04-30 | 2001-02-06 | Hewlett-Packard Company | Centralized branch intelligence system and method for a geometry accelerator |
| US5995121A (en) * | 1997-10-16 | 1999-11-30 | Hewlett-Packard Company | Multiple graphics pipeline integration with a windowing system through the use of a high speed interconnect to the frame buffer |
| US6333743B1 (en) * | 1997-10-23 | 2001-12-25 | Silicon Graphics, Inc. | Method and apparatus for providing image and graphics processing using a graphics rendering engine |
| US6088701A (en) * | 1997-11-14 | 2000-07-11 | 3Dfx Interactive, Incorporated | Command data transport to a graphics processing device from a CPU performing write reordering operations |
| US6191793B1 (en) | 1998-04-01 | 2001-02-20 | Real 3D, Inc. | Method and apparatus for texture level of detail dithering |
| US6201546B1 (en) | 1998-05-29 | 2001-03-13 | Point Cloud, Inc. | Systems and methods for generating three dimensional, textured models |
| US6163320A (en) * | 1998-05-29 | 2000-12-19 | Silicon Graphics, Inc. | Method and apparatus for radiometrically accurate texture-based lightpoint rendering technique |
| US6230177B1 (en) | 1998-06-12 | 2001-05-08 | Silicon Graphics, Inc. | Method and apparatus for performing fast fourier transforms |
| DE19835215C2 (de) * | 1998-08-05 | 2000-07-27 | Mannesmann Vdo Ag | Kombinationsinstrument |
| US7446774B1 (en) | 1998-11-09 | 2008-11-04 | Broadcom Corporation | Video and graphics system with an integrated system bridge controller |
| US6798420B1 (en) | 1998-11-09 | 2004-09-28 | Broadcom Corporation | Video and graphics system with a single-port RAM |
| US6501480B1 (en) | 1998-11-09 | 2002-12-31 | Broadcom Corporation | Graphics accelerator |
| US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
| US6636222B1 (en) | 1999-11-09 | 2003-10-21 | Broadcom Corporation | Video and graphics system with an MPEG video decoder for concurrent multi-row decoding |
| US7982740B2 (en) | 1998-11-09 | 2011-07-19 | Broadcom Corporation | Low resolution graphics mode support using window descriptors |
| US6768774B1 (en) | 1998-11-09 | 2004-07-27 | Broadcom Corporation | Video and graphics system with video scaling |
| US6661422B1 (en) * | 1998-11-09 | 2003-12-09 | Broadcom Corporation | Video and graphics system with MPEG specific data transfer commands |
| US6853385B1 (en) * | 1999-11-09 | 2005-02-08 | Broadcom Corporation | Video, audio and graphics decode, composite and display system |
| US6977649B1 (en) | 1998-11-23 | 2005-12-20 | 3Dlabs, Inc. Ltd | 3D graphics rendering with selective read suspend |
| US6222550B1 (en) | 1998-12-17 | 2001-04-24 | Neomagic Corp. | Multiple triangle pixel-pipelines with span-range pixel interlock for processing separate non-overlapping triangles for superscalar 3D graphics engine |
| US6373482B1 (en) * | 1998-12-23 | 2002-04-16 | Microsoft Corporation | Method, system, and computer program product for modified blending between clip-map tiles |
| DE19915308A1 (de) | 1999-04-03 | 2000-10-12 | Daimler Chrysler Ag | Verfahren zur zweidimensionalen Bildpunkt-Darstellung von Objekten auf einer Anzeigevorrichtung |
| US7721948B1 (en) * | 1999-05-25 | 2010-05-25 | Silverbrook Research Pty Ltd | Method and system for online payments |
| US6747681B1 (en) * | 1999-08-05 | 2004-06-08 | International Business Machines Corporation | Computer controlled interactive display with dual cursor image storage for a smooth transition during cursor image change |
| US6621918B1 (en) | 1999-11-05 | 2003-09-16 | H Innovation, Inc. | Teleradiology systems for rendering and visualizing remotely-located volume data sets |
| US6975324B1 (en) | 1999-11-09 | 2005-12-13 | Broadcom Corporation | Video and graphics system with a video transport processor |
| US6549201B1 (en) * | 1999-11-23 | 2003-04-15 | Center For Advanced Science And Technology Incubation, Ltd. | Method for constructing a 3D polygonal surface from a 2D silhouette by using computer, apparatus thereof and storage medium |
| JP3350655B2 (ja) * | 2000-01-25 | 2002-11-25 | 株式会社ナムコ | ゲームシステム及び情報記憶媒体 |
| EP1136974A1 (en) * | 2000-03-22 | 2001-09-26 | Deutsche Thomson-Brandt Gmbh | Method for processing video data for a display device |
| JP2002102532A (ja) * | 2000-06-06 | 2002-04-09 | Sony Computer Entertainment Inc | 情報処理システム、方法、コンピュータプログラム、記録媒体、半導体デバイス |
| US6763150B1 (en) * | 2000-08-29 | 2004-07-13 | Freescale Semiconductor, Inc. | Image processing system with multiple processing units |
| US7079133B2 (en) * | 2000-11-16 | 2006-07-18 | S3 Graphics Co., Ltd. | Superscalar 3D graphics engine |
| US7039723B2 (en) * | 2001-08-31 | 2006-05-02 | Hinnovation, Inc. | On-line image processing and communication system |
| US20030086595A1 (en) * | 2001-11-07 | 2003-05-08 | Hui Hu | Display parameter-dependent pre-transmission processing of image data |
| US7849301B2 (en) * | 2001-12-12 | 2010-12-07 | Intel Corporation | Providing a user input interface prior to initiation of an operating system |
| US7199793B2 (en) | 2002-05-21 | 2007-04-03 | Mok3, Inc. | Image-based modeling and photo editing |
| US20040196282A1 (en) * | 2003-02-14 | 2004-10-07 | Oh Byong Mok | Modeling and editing image panoramas |
| JP4056918B2 (ja) * | 2003-04-03 | 2008-03-05 | ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー | 画像生成プログラム生成方法、画像生成プログラム提供装置、および画像生成プログラム提供システム |
| US7327374B2 (en) * | 2003-04-30 | 2008-02-05 | Byong Mok Oh | Structure-preserving clone brush |
| US7075539B1 (en) * | 2003-05-30 | 2006-07-11 | Nvidia Corporation | Apparatus and method for processing dual format floating-point data in a graphics processing system |
| US8063916B2 (en) | 2003-10-22 | 2011-11-22 | Broadcom Corporation | Graphics layer reduction for video composition |
| US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
| US20060012602A1 (en) * | 2004-07-15 | 2006-01-19 | George Lyons | System and method for efficiently performing automatic partial transfers of image data |
| US8624906B2 (en) * | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
| KR100603601B1 (ko) * | 2004-11-08 | 2006-07-24 | 한국전자통신연구원 | 다시점 콘텐츠 생성 장치 및 그 방법 |
| US8424012B1 (en) | 2004-11-15 | 2013-04-16 | Nvidia Corporation | Context switching on a video processor having a scalar execution unit and a vector execution unit |
| US7657837B2 (en) * | 2005-04-06 | 2010-02-02 | Ericom Software Ltd. | Seamless windows functionality to remote desktop sessions regarding z-order |
| US7512265B1 (en) | 2005-07-11 | 2009-03-31 | Adobe Systems Incorporated | Merge and removal in a planar map of a raster image |
| US7515745B1 (en) * | 2005-07-11 | 2009-04-07 | Adobe Systems Incorporated | Planar map to process a raster image |
| US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
| DE102006025096B4 (de) * | 2006-05-23 | 2012-03-29 | Seereal Technologies S.A. | Verfahren und Einrichtung zum Rendern und Generieren computer-generierter Videohologramme |
| US8683126B2 (en) * | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
| US9024957B1 (en) | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
| US8698819B1 (en) | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
| US8411096B1 (en) | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
| US8659601B1 (en) | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
| US8884981B2 (en) * | 2007-09-04 | 2014-11-11 | Apple Inc. | Dynamically reconfigurable graphics layer system and method |
| US8780123B2 (en) * | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US9064333B2 (en) | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US9336752B1 (en) | 2007-12-21 | 2016-05-10 | Oracle America, Inc. | Microprocessor including a display interface in the microprocessor |
| US8890876B1 (en) | 2007-12-21 | 2014-11-18 | Oracle America, Inc. | Microprocessor including a display interface in the microprocessor |
| US8923385B2 (en) * | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
| US8681861B2 (en) * | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
| US8489851B2 (en) * | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
| JP4776705B2 (ja) * | 2009-03-06 | 2011-09-21 | 株式会社東芝 | 画像処理装置および方法 |
| JP5419822B2 (ja) * | 2010-07-23 | 2014-02-19 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置、画像表示装置、画像処理方法、および画像ファイルのデータ構造 |
| JP5695746B2 (ja) * | 2010-08-27 | 2015-04-08 | シリコンアーツ インコーポレイテッド | ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム |
| EP3183653A4 (en) * | 2014-08-20 | 2018-07-04 | Landmark Graphics Corporation | Optimizing computer hardware resource utilization when processing variable precision data |
| US10282806B2 (en) * | 2016-04-20 | 2019-05-07 | Mediatek, Inc. | Graphics Accelerator |
| US10628907B2 (en) * | 2017-04-01 | 2020-04-21 | Intel Corporation | Multi-resolution smoothing |
| KR102549503B1 (ko) | 2017-12-20 | 2023-06-30 | 삼성전자주식회사 | 저전력 상태에서 이미지들의 출력 타이밍을 동기화하기 위한 디스플레이 구동 회로 |
Family Cites Families (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1141468A (en) * | 1979-06-15 | 1983-02-15 | Martin J.P. Bolton | Visual display apparatus |
| JPS58139241A (ja) * | 1982-02-10 | 1983-08-18 | Toshiba Corp | 画像メモリアクセス方式 |
| IL72685A (en) * | 1983-08-30 | 1988-08-31 | Gen Electric | Advanced video object generator |
| US4586038A (en) * | 1983-12-12 | 1986-04-29 | General Electric Company | True-perspective texture/shading processor |
| US4729098A (en) * | 1985-06-05 | 1988-03-01 | General Electric Company | System and method employing nonlinear interpolation for the display of surface structures contained within the interior region of a solid body |
| US4888713B1 (en) * | 1986-09-05 | 1993-10-12 | Cdi Technologies, Inc. | Surface detail mapping system |
| US4905164A (en) * | 1986-12-19 | 1990-02-27 | General Electric Company | Method for modulating color for effecting color cell texture |
| US4879668A (en) * | 1986-12-19 | 1989-11-07 | General Electric Company | Method of displaying internal surfaces of three-dimensional medical images |
| US5191642A (en) * | 1987-04-09 | 1993-03-02 | General Electric Company | Method for efficiently allocating computer resource for real time image generation |
| US5155822A (en) * | 1987-08-13 | 1992-10-13 | Digital Equipment Corporation | High performance graphics workstation |
| US5361386A (en) * | 1987-12-04 | 1994-11-01 | Evans & Sutherland Computer Corp. | System for polygon interpolation using instantaneous values in a variable |
| US5097427A (en) * | 1988-07-06 | 1992-03-17 | Hewlett-Packard Company | Texture mapping for computer graphics display controller system |
| US5175806A (en) * | 1989-03-28 | 1992-12-29 | Computer Design, Inc. | Method and apparatus for fast surface detail application to an image |
| US5367615A (en) * | 1989-07-10 | 1994-11-22 | General Electric Company | Spatial augmentation of vertices and continuous level of detail transition for smoothly varying terrain polygon density |
| JP3024145B2 (ja) * | 1989-07-12 | 2000-03-21 | 株式会社日立製作所 | テクスチャマッピング方法 |
| JPH0371277A (ja) * | 1989-08-10 | 1991-03-27 | Daikin Ind Ltd | サーフェス・モデル描画方法およびその装置 |
| US5369744A (en) * | 1989-10-16 | 1994-11-29 | Hitachi, Ltd. | Address-translatable graphic processor, data processor and drawing method with employment of the same |
| EP0430501B1 (en) * | 1989-11-17 | 1999-02-03 | Digital Equipment Corporation | System and method for drawing antialiased polygons |
| DE69132300T2 (de) * | 1990-03-12 | 2000-11-30 | Hewlett-Packard Co., Palo Alto | Durch Anwender festgelegter direkter Speicherzugriff mit Anwendung von virtuellen Adressen |
| US5222204A (en) * | 1990-03-14 | 1993-06-22 | Hewlett-Packard Company | Pixel interpolation in perspective space |
| US5012163A (en) * | 1990-03-16 | 1991-04-30 | Hewlett-Packard Co. | Method and apparatus for gamma correcting pixel value data in a computer graphics system |
| US5222205A (en) * | 1990-03-16 | 1993-06-22 | Hewlett-Packard Company | Method for generating addresses to textured graphics primitives stored in rip maps |
| US5224208A (en) * | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
| US5179638A (en) * | 1990-04-26 | 1993-01-12 | Honeywell Inc. | Method and apparatus for generating a texture mapped perspective view |
| US5146557A (en) * | 1990-07-27 | 1992-09-08 | General Electric Company | User interface for a golf green and a golf putt modelling system |
| US5293480A (en) * | 1990-08-06 | 1994-03-08 | At&T Bell Laboratories | High resolution graphics system architecture |
| US5333245A (en) * | 1990-09-07 | 1994-07-26 | Modacad, Inc. | Method and apparatus for mapping surface texture |
| US5307450A (en) * | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
| US5230039A (en) * | 1991-02-19 | 1993-07-20 | Silicon Graphics, Inc. | Texture range controls for improved texture mapping |
| US5278949A (en) * | 1991-03-12 | 1994-01-11 | Hewlett-Packard Company | Polygon renderer which determines the coordinates of polygon edges to sub-pixel resolution in the X,Y and Z coordinates directions |
| US5187754A (en) * | 1991-04-30 | 1993-02-16 | General Electric Company | Forming, with the aid of an overview image, a composite image from a mosaic of images |
| JP2959249B2 (ja) * | 1991-11-15 | 1999-10-06 | ソニー株式会社 | 映像効果装置 |
| US5345541A (en) * | 1991-12-20 | 1994-09-06 | Apple Computer, Inc. | Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device |
| US5274760A (en) * | 1991-12-24 | 1993-12-28 | International Business Machines Corporation | Extendable multiple image-buffer for graphics systems |
| US5299309A (en) * | 1992-01-02 | 1994-03-29 | Industrial Technology Research Institute | Fast graphics control system capable of simultaneously storing and executing graphics commands |
| US5377320A (en) * | 1992-09-30 | 1994-12-27 | Sun Microsystems, Inc. | Method and apparatus for the rendering of trimmed nurb surfaces |
| TW317954U (en) * | 1992-10-01 | 1997-10-11 | Hudson Soft Co Ltd | Image processing system including a processor side memory and a display side memory |
| BR9207171A (pt) * | 1992-11-02 | 1995-12-12 | 3Do Co | Processo para interpretar imagem gráfica em memória temporária de destino e em memória temporária de vídeo e meio que se pode ler por computador |
| US5649173A (en) * | 1995-03-06 | 1997-07-15 | Seiko Epson Corporation | Hardware architecture for image generation and manipulation |
-
1995
- 1995-03-06 US US08/413,983 patent/US5649173A/en not_active Expired - Lifetime
-
1996
- 1996-03-01 WO PCT/US1996/002830 patent/WO1996027857A1/en not_active Ceased
- 1996-03-01 JP JP8526962A patent/JPH11505644A/ja active Pending
- 1996-03-01 DE DE69602728T patent/DE69602728T2/de not_active Expired - Lifetime
- 1996-03-01 KR KR1019970706211A patent/KR100421623B1/ko not_active Expired - Lifetime
- 1996-03-01 EP EP96907164A patent/EP0813721B1/en not_active Expired - Lifetime
-
1997
- 1997-03-26 US US08/824,421 patent/US5790134A/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6784897B2 (en) | 2000-12-05 | 2004-08-31 | Nec Electronics Corporation | Apparatus for carrying out translucent-processing to still and moving pictures and method of doing the same |
| WO2007122768A1 (ja) * | 2006-04-12 | 2007-11-01 | Sony Computer Entertainment Inc. | 描画処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5790134A (en) | 1998-08-04 |
| DE69602728D1 (de) | 1999-07-08 |
| KR100421623B1 (ko) | 2004-07-16 |
| WO1996027857A1 (en) | 1996-09-12 |
| KR19980702804A (ko) | 1998-08-05 |
| EP0813721B1 (en) | 1999-06-02 |
| EP0813721A1 (en) | 1997-12-29 |
| DE69602728T2 (de) | 1999-09-30 |
| US5649173A (en) | 1997-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH11505644A (ja) | 画像生成及び操作用装置 | |
| US6806883B2 (en) | System and method for handling display device requests for display data from a frame buffer | |
| US6731292B2 (en) | System and method for controlling a number of outstanding data transactions within an integrated circuit | |
| US20030142100A1 (en) | Vertex assembly buffer and primitive launch buffer | |
| US6975317B2 (en) | Method for reduction of possible renderable graphics primitive shapes for rasterization | |
| US7310103B2 (en) | Pipelined 2D viewport clip circuit | |
| US6859209B2 (en) | Graphics data accumulation for improved multi-layer texture performance | |
| US6833831B2 (en) | Synchronizing data streams in a graphics processor | |
| US6914609B2 (en) | Multiple scan line sample filtering | |
| US6867778B2 (en) | End point value correction when traversing an edge using a quantized slope value | |
| US6943791B2 (en) | Z-slope test to optimize sample throughput | |
| US6963342B2 (en) | Arbitration scheme for efficient parallel processing | |
| US7145570B2 (en) | Magnified texture-mapped pixel performance in a single-pixel pipeline | |
| JPH1186028A (ja) | テクスチャ・マッピング性能を向上させた3次元グラフィックス・アクセラレータを含むコンピュータ・システム | |
| US6885375B2 (en) | Stalling pipelines in large designs | |
| US6900803B2 (en) | Method for rasterizing graphics for optimal tiling performance | |
| US6819320B2 (en) | Reading or writing a non-super sampled image into a super sampled buffer | |
| US6927775B2 (en) | Parallel box filtering through reuse of existing circular filter | |
| US6895458B2 (en) | Opcode to turn around a bi-directional bus | |
| US6847372B2 (en) | Magnified texture-mapped pixel performance in a single-pixel pipeline | |
| US6847368B2 (en) | Graphics system with a buddy / quad mode for faster writes | |
| US6831645B2 (en) | System and method for performing font operations when background color is transparent |