JP2002535759A - 3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置 - Google Patents

3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置

Info

Publication number
JP2002535759A
JP2002535759A JP2000594078A JP2000594078A JP2002535759A JP 2002535759 A JP2002535759 A JP 2002535759A JP 2000594078 A JP2000594078 A JP 2000594078A JP 2000594078 A JP2000594078 A JP 2000594078A JP 2002535759 A JP2002535759 A JP 2002535759A
Authority
JP
Japan
Prior art keywords
pipeline
rectangle
pixel
area
window
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.)
Granted
Application number
JP2000594078A
Other languages
English (en)
Other versions
JP4532746B2 (ja
JP2002535759A5 (ja
Inventor
クック,ヴァル・ジイ
ジャンセン,サム・ダブリュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2002535759A publication Critical patent/JP2002535759A/ja
Publication of JP2002535759A5 publication Critical patent/JP2002535759A5/ja
Application granted granted Critical
Publication of JP4532746B2 publication Critical patent/JP4532746B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 イメージ・スケーリングのための方法および装置を提供する。3Dパイプラインが、矩形モードをイネーブルするコマンド・ストリーム・コントローラを包含している。この3Dパイプラインは、頂点によって定義される矩形に関するアドレスを生成するウインドワを含んでいる。フィルタが、隣接ポイント間を、相対的なロケーションに基づいて補間し、各ピクセルに関する属性を生成する。カラー・カリキュレータが出力データの整列、およびディスティネーション表面に対する出力データの書き込みを行う。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、電子デバイスによるグラフィックス表示に関する。より詳細に述べ
れば、本発明は、電子デバイスによって表示されるグラフィックスのストレッチ
・ブリッティング・オペレーション(stretch blitting operation)に関する。
【0002】 (背景) 最近の20年間で、パーソナル・コンピュータが日常的な使用に供されるよう
になった。教育ならびに娯楽用のゲームは、すでにPC用の強力なアプリケーシ
ョンを有しており、3Dグラフィックスの導入によって強化されている。リアル
タイム・フォトスペシフィック・テクスチャ付き3Dグラフィックス(real-time
photo-specific textured 3D graphics)は、実世界のロケーションの正確なシ
ミュレーションを提供し、完全な視点の自由度をもって見ることができる。
【0003】 高品質リアルタイム3Dグラフィックスの鍵は、ピクセル・メモリのアクセス
数を吊り上げるオブジェクトのレイヤがいくつも存在する環境下において散乱し
たシーンのレンダリングをサポートするシステム・アーキテクチャおよびメモリ
・アクセス・スキームを持つことである。関連するプロセッシングの負荷によっ
て、システムの更新レートが、リアルタイムと考えられているレート(30Hz
)より低くなることがあってはならない。提案されているいくつかのソリューシ
ョンは、アプリケーションにプロセッシングの負荷をゆだねたが、そのためリア
ルタイムにおいては単純なシーンのレンダリングにも問題を生じている。より優
れたアクセラレータは、プロセッサ集約的なこれらのハードウエア機能を加速し
、プロセッサをハイ−レベル機能に解放する。一般的に、カスタム・アクセラレ
ーション・ハードウエア(ASIC−シリコン)は、レンダリング機能をはるか
に高速に実行し、より多くの時間をソフトウエア・アプリケーションのために残
す。このグラフィックス3Dレンダリング・エンジン、または3Dパイプライン
は、多数の乗算ならび加算回路を使用する。
【0004】 テレビ会議およびその他のビデオ・イメージ操作もまた、デスクトップに持ち
込まれるようになった。ビデオ会議システムの使用で望まれる特徴の1つは、伝
送に先行してビデオ・イメージを各種サイズにスケーリングできることである。
小さいイメージは、提供される詳細は少ないが、通信帯域幅が小さく、レシピエ
ント・コンピュータ(recipient computer)において、より迅速に再生することが
できる。概してカメラは、そのカメラのイメージ・センサによって定義される最
大サイズを有するビデオ・イメージを生成する。その後このイメージは、スケー
リング装置によって、より小さなイメージ、あるいはより大きなイメージにスケ
ーリングすることができる。
【0005】 ソース・ピクセルのディジタル・フィルタリングを使用してスケーリング後の
出力を提供する既存のビデオ・カメラは、ソース・ピクセル・クロックの単一サ
イクル内において各出力ピクセルを生成するように設計されている。言い換える
と、同一のクロック・サイクル内において、マルチ−タップ・フィルタの各タッ
プに印加がなされなければならないことになる。その結果、それぞれの個別のフ
ィルタ・タップを並列に処理するために、膨大な数の乗算ならびに加算回路が必
要になる。乗算ならびに加算回路の数が増加すると、それに従ってフィルタの伝
播遅延および消費電力も高くなる。さらに、集積回路(IC)内においてスケー
リング装置の実装を行う場合には、乗算ならびに加算回路の増加が実装するIC
のダイ・サイズの増加にそのままつながる。最終的には、スケーリング・エンジ
ンがより高価なものとなる。
【0006】 コンピュータ・システムが3Dレンダリング・システムをはじめ、ビデオ・イ
メージング・システムを含むとき、計算の高速化のためのハードウエア・アシス
トは、専有面積をはじめゲート数という意味において高価になる。したがって、
3次元レンダリングおよびビデオ・スケーリングを含むイメージング・システム
に関するゲート数が低減できると有利である。
【0007】 (発明の要約) イメージ・スケーリングのための方法および装置を提供する。3Dパイプライ
ンが、矩形モードをイネーブルするコマンド・ストリーム・コントローラを包含
している。この3Dパイプラインは、頂点によって定義される矩形に関するアド
レスを生成するウインドワを含んでいる。フィルタが、隣接ポイント間を、相対
的なロケーションに基づいて補間し、各ピクセルに関する属性を生成する。カラ
ー・カリキュレータが出力データの整列、およびディスティネーション表面に対
する出力データの書き込みを行う。
【0008】 以下、一例を示す形で、すなわち限定する意味ではなく、添付の図面に本発明
を示すが、それにおいては類似の要素に類似の参照番号が付されている。
【0009】 (詳細な説明) テクスチャ・マッピング・エンジンを伴うグラフィックスのストレッチ・ブリ
ッティング(stretch blitting)のための方法および装置について説明する。以下
の説明においては、本発明の完全な理解の提供に資するために例示を目的として
多数の具体的な詳細を示す。しかしながら、当業者であれば、これらの具体的な
詳細を用いなくても本発明の実施が可能なことは明らかであろう。なお、本発明
が不明瞭になることを避けるため、構造ならびにデバイスの表現についてはブロ
ック図の形式を用いている。
【0010】 この明細書において「一実施形態」もしくは「実施形態」と言うときは、当該
実施形態に関連して説明されている特定の特徴、構造もしくは特性が、本発明の
実施形態の少なくとも1つに含まれていることを意味する。また本明細書の随所
に用いている「一実施形態において」という表現は、必ずしもすべてが同じ実施
形態を参照している必要がないものとする。
【0011】 3次元レンダリングおよびビデオをともに含むコンピュータ・システムにおい
て、3Dレンダリングおよびストレッチ・ブリッティングの両方に関してハード
ウエア・アシストのためにゲートを再使用するシステムが実装される。ストレッ
チ・ブリッティングおよび3Dレンダリングに使用される計算は類似している。
したがって、3次元イメージのレンダリングに使用される3Dパイプラインを修
正すれば、アップ−スケーリングならびにダウン−スケーリング、フィルタリン
グ、表面フォーマットの変更、およびビデオ・イメージングに関するカラー・ス
ペースの変更に使用することができる。次に、以下に述べるように、テクスチャ
・マッピング・エンジンを使用する3Dパイプラインにイメージ操作が実装され
る。これは、イメージの操作を可能にするために3Dパイプラインの修正に使用
されるゲートの数が、これらの機能を独立して実装する場合に比較して格段に抑
えられることから有利である。
【0012】 ストレッチ・ブリッティングを実行するために3Dパイプラインを使用すれば
、結果的にパフォーマンスが向上し、孤立的なストレッチ・ブリット・エンジン
に必要となるゲートが節約される。またストレッチ・ブリット・エンジンも、よ
り良好なスケーリングおよびフィルタリングを持つ3Dパイプラインの機能の利
点を持たせることによって改善される。さらに、3Dパイプラインの高度にパイ
プライン化されたフォーマットが好適に使用されて、ストレッチ・ブリッタのパ
フォーマンスが向上する。
【0013】 標準の3Dパイプラインから多数の変更が行なわれる。3Dパイプラインにお
いて、三角形に加えて矩形を扱うことができるように、セットアップ・エンジン
およびウインドワが修正される。また、4:2:2ならびに4:2:0のデータ
におけるアドレッシングを可能にするためにマッピング・アドレス・ジェネレー
タも修正される。さらにそれに加えて、これらのタイプのデータのアドレッシン
グを可能にするためにキャッシュが修正される。これらすべての変更については
、詳細を後述する。
【0014】 図1は、本発明の実装が考えられるコンピュータ・システムを示したブロック
図である。このシステムは、1ないしは複数のプロセッサ110を含んでいる。
プロセッサ110は、ホスト・バス115に結合することができる。ホスト・バ
ス115は、ホスト・ブリッジ120に結合され、グラフィックス・カードまた
はグラフィックス・サブシステム130をプロセッサ110に結合することがで
きる。ホスト・ブリッジ120にメモリ125を結合することもできる。さらに
ホスト・ブリッジ120に、PCIバス150等のシステム・バス150を結合
することもできる。PCIバス150は、PCI−ISAブリッジ160に結合
されている。PCI−ISAブリッジ160には、ポートをはじめ、拡張ISA
バスが結合されている。
【0015】 グラフィックス・アクセラレータ130は、3次元イメージをレンダリングす
るための3Dエンジン140を含んでいる。後述するが、3Dエンジン140は
、それに加えて、ストレッチ・ブリッティングにも使用することができる。グラ
フィックス・カード130には、ビデオ入力、ディスプレイ、テレビジョン等の
各種入力デバイスおよび出力デバイスを結合することができる。またグラフィッ
クス・カード130は、グラフィックス・オペレーションを高速化するためにロ
ーカル・メモリ147を含んでもよい。さらに、中央ユニット140、145が
ローカル・キャッシュ・メモリを含むことがあり、それについても後述する。グ
ラフィックス・カード130は、バス135を介して、あるいは類似の接続手段
を介してホスト・ブリッジ120に結合することができる。
【0016】 図2は、3Dパイプラインのブロック図である。3Dエンジン210は、テク
スチャ・パイプライン215を含んでいる。この3Dエンジンは、この分野にお
いてよく知られているように、3次元レンダリングに使用することができる。3
Dパイプラインは、以下に説明するように、ストレッチ・ブリッティングにも使
用することができる。一実施形態においては、ストレッチ・ブリッティング・デ
コーディングが、指定された矩形プリミティブ・タイプを伴う、GFXPRIM
ITIVEと呼んでいる特定のコマンド(以下、GFXrectangleコマ
ンドという)に応答して実行される;しかしながら、それ以外のコマンド名およ
びフォーマットを使用することも可能である。
【0017】 コマンド・ストリーム・コントローラ220が結合されており、たとえばプロ
セッサまたはバッファといった外部ソースからコマンドを受け取る。コマンド・
ストリーム・コントローラ220は、コマンドのパースおよびデコードを行い、
適切なコントロール機能を実行する。受け取ったコマンドがGFXrectan
gleコマンドでなかった場合には、コマンド・ストリーム・コントローラ22
0からセットアップ・エンジン225にコントロール信号が渡される。またコマ
ンド・ストリーム・コントローラ220は、非GFXrectangleコマン
ドに関するメモリ・マネジメント、状態変数マネジメント、2次元オペレーショ
ン等のコントロールも行う。
【0018】 一実施形態においては、コマンド・ストリーム・コントローラ220がGFX
rectangleコマンドを受け取ると、頂点情報がセットアップ・エンジン
225に渡される。一実施形態においては、コマンド・ストリーム・コントロー
ラ220からセットアップ・エンジン225に、矩形の左上、右下、および左下
の頂点が提供される。頂点は、セットアップ・エンジン225によって、平面方
程式の3つの項を計算するために使用される:すなわち、X、Yそれぞれに関す
る属性の変化レート、および初期ポイントである。
【0019】 それに加えて、テクスチャ・マッピングの実行時には、セットアップ・エンジ
ン225が、これらの頂点によって定義される三角形を含むバウンディング・ボ
ックスを決定する。
【0020】 セットアップ・エンジン225は、ディスティネーション・ロケーションの左
上頂点、右下頂点、および左下頂点をコマンド・ストリーム・コントローラ22
0から受け取る。またセットアップ・エンジン225は、原始サイズを定義する
各頂点の座標の第2のセットも受け取る。セットアップ・エンジン225は、こ
れら2つのセットの座標の比を計算し、ストレッチングの係数、すなわちサイズ
における拡張または縮小の係数を決定する。ディスティネーション座標はウイン
ドウ基準であり、一方ソースに関する座標は、ソース・イメージの左上コーナが
基準であり、したがって左上座標は常に(0,0)になる。ここで、セットアッ
プ・エンジンの方程式が、3Dレンダリング用の三角形に関して行なわれる計算
のサブセットであることに注意する必要がある。つまり、追加のハードウエアが
まったく必要ないことになる。セットアップ・エンジン225はさらに、矩形プ
リミティブのバウンディング・ボックスを定義するエッジを生成する。このバウ
ンディング・ボックス情報を、セットアップ・エンジン225はウインドワ(win
dower)230に提供する。
【0021】 ウインドワ230はディスティネーション表面に関するアドレスを生成する。
ウインドワ230は、一般に、各ペアとなる頂点を通るラインを引くことによっ
てこれらのアドレスを生成する。トップ・ライン510より上側のエリアは負に
ラベル付けされ、トップ・ライン510より下側のエリアは正にラベル付けされ
る。また、ボトム・ライン520より下側のエリアは負にラベル付けされ、ボト
ム・ライン520より上側のエリアには、正の値が与えられる。さらに、エッジ
・ライン530より内側のエリアには正の値が与えられ、エッジ・ライン530
より外側のエリアは負にラベル付けされる。これらは、エッジ・テストと呼ばれ
ている。ウインドワ230は、これら3つすべてのエッジ・テストに適合するす
べてのピクセルのアドレスを計算する。これにより、表示される三角形540が
定義される。以上については、図5Aおよび図5Bに図示されている。
【0022】 ストレッチ・ブリッティングについては、ウインドワ230の別の側面が使用
される。ウインドワ230は、セットアップ・エンジン225からウインドワ2
30に渡された、バウンディング・ボックス590の外側となるエリアを表示す
ることができない。したがって、エッジ・テストは常に正に強制され、その結果
、バウンディング・ボックス590全体のエリアとしてエリアが定義される。ウ
インドワ230は、バウンディング・ボックス内のピクセルを反復して、GFX
rectangleコマンドによって書き込まれるデータに関する読み出しおよ
び書き込みアドレスを生成する。言い換えると、三角形のエッジの方程式が常に
渡され、それによってウインドワ230は、三角形の境界において停止すること
なく、全体の矩形を処理することができる。これらの読み出しおよび書き込みア
ドレスは、マッピング・アドレス・ジェネレータに渡される。
【0023】 ウインドワ230は、図2には示していないキャッシュ・メモリに対するデー
タのアクセスを行うための、ピクセルの読み出しおよび書き込みアドレスを生成
する。またウインドワ230は、アルファ・ブレンド・ステップに関するディス
ティネーション項をカラー・カリキュレータ280に提供する。ウインドワ23
0は、ディスティネーション情報をフレーム・バッファから獲得する。
【0024】 ウインドワ230は、3Dパイプラインにおいて使用可能な深いパイプライン
化を利用する。ウインドワ230がバウンディング・ボックスおよび頂点をセッ
トアップ・エンジン225から受け取ると、ウインドワ230は、アドレスの生
成を開始する。これらのアドレスに関するデータは、メモリからフェッチされる
。メモリは、比較的長い待ち時間を有する。したがって、ウインドワ230がア
ドレスを生成するとき、データに対する要求がパイプライン化され、各要求のコ
ントロール・セクションがFIFO内に収められる。このように、データに対す
る要求は、生成されたそれぞれのアドレスごとに、そのアドレスの生成に従って
連続的にメモリに送られる。その結果、メモリの待ち時間の影響は、最初のピク
セル・データが要求されたときだけに限られる。パイプライン化によって、続く
ピクセルに関してはメモリ待ち時間の影響が除去され、クロックごとにスループ
ットを維持してピクセルを生成することが可能になる。パイプライン化は、面積
という意味において高価であり、3Dエンジン用にすでに用意されているパイプ
ラインの再使用は有利である。
【0025】 マッピング・アドレス・ジェネレータ240は、テクスチャ・マップ内の特定
のピクセルをフェッチするための実際のアドレスを生成する。一実施形態におい
ては、マッピング・アドレス・ジェネレータ240が、次式に従ってディスティ
ネーション・エリアを計算する。 u(x,y)=(CxS・x+CyX・y+COS)/(CxiW・x+CyiW・y+C OiW )+POu
【0026】 この式は、3Dレンダリングの分野においてはよく知られている。
【0027】 以下に示す表の値を使用することによって、複雑なテクスチャ・マッピングの
式を簡略化してストレッチ・ブリット計算用に使用することが可能になり、その
結果、両方の目的に対してハードウエアを使用することができる。CXSおよびC OS は、平面係数として直接マッピング・アドレス・ジェネレータ240に分配さ
れる。
【0028】
【表1】
【0029】 これにより、上記の式の分母を「1」にすることができる。その結果、次に示
すような簡略化した式が得られる。 u(x,y)=CxS・x+CyX・y+COS これは、単純な平面Ax+By+Cを定義する。マッピング・アドレス・ジェ
ネレータ240は、頂点に関する正規化されていない値を受け入れるように修正
されている。ビデオ・アドレスは、一般に正規化されてないが、3Dレンダリン
グの座標セットは、通常、正規化されている。マッピング・アドレス・ジェネレ
ータ240が操作することができる値を修正することによって、3Dパイプライ
ンをストレッチ・ブリッティングに使用することが可能になる。
【0030】 フェッチ・ユニット245はメモリ・マネジメントおよびシリアル化を行う。
フェッチ・ユニット245は、キャッシュ260またはその他のメモリ内にスト
アされているソース・マップに対する要求を発する。フェッチ・ユニット245
は、マッピング・アドレス・ジェネレータ240から提供された読み出しアドレ
スをキャッシュ・アドレスに変換する。フェッチ・ユニット245によって生成
されたキャッシュ・アドレスはキャッシュ260に渡される。キャッシュ260
内にデータが見つからないときには、フェッチ・ユニット245は、メモリにそ
のデータを要求し、そのデータが到来したとき、それをキャッシュ内に収める。
【0031】 キャッシュ・アドレスにストアされているピクセル・データは、フィルタ25
0に送られる。マッピング・アドレス・ジェネレータ240は、端数ピクセル・
ポジショニング・データおよび隣接ピクセルに関するキャッシュ・アドレスをフ
ィルタ250に渡す。フィルタリング・テクニックについては、この分野におい
てよく知られており、これ以上の議論は省略する。
【0032】 ブレンド用のアルファ値を生成するために補間器270が使用されることがあ
る。アルファ・ブレンドは、フレーム・バッファ内にすでに存在するイメージの
部分およびソース・イメージの部分を不透明化することを可能にする。α項は、
ソースの不透明度を定義する。一実施形態については、アルファ値がストレッチ
・ブリッティングに関して固定されており、補間器270が使用されない。アル
ファ値が固定でない場合、マッピング・アドレス・ジェネレータ240に関して
上述した式と同じ式が用いられる。また別の実施形態の場合には、3つの頂点す
べてにおいてアルファ値が指定され、補間器270が、これらの頂点におけるア
ルファ値の間の滑らかなブレンドを生成する。アルファ値は、カラー・カリキュ
レータ280に渡される。
【0033】 一実施形態におけるカラー・スペース変換およびチャンネル割り当てフォーマ
ットについて、次の表にまとめる。
【0034】
【表2】
【0035】 別の実施形態については、サポートされているソース表面および出力モードか
ら上記とは異なる表面が生成されることもある。
【0036】 チャンネル・オペレーション・ユニット255は、カラー・チャンネル割り当
てオペレーション(Y、U、およびVチャンネル)を行う。YUVからRGBへ
のカラー・スペース変換も行なわれる。別の実施形態の場合には、チャンネル割
り当ておよびカラー・スペース変換が、ともにチャンネル・オペレーション・ユ
ニット255において行なわれる。一実施形態については、3つのパスがYUV
チャンネル変換に使用される。まず、中間ピクセルに関するUおよびV値の補間
を伴いつつ、各ピクセルが4:4:4フォーマットにアップ−サンプリングされ
る。続いて、3つのパスにおいて表面フォーマット変換が行なわれる。第1のパ
スにおいてはY値の書き込みが行なわれ、第2のパスにおいてはU値の書き込み
が行なわれ、第3のパスにおいてはV値の書き込みが行なわれる。これによって
平面フォーマットからパック・フォーマットへの負担の小さい変換が得られ、3
つのアドレス・ストリームが不要になる。これらの変換は、テレビ会議およびそ
の他の応用に使用することができる。
【0037】 一実施形態においては、4:2:0から4:2:2へのチャンネル割り当てが
、カラー・カリキュレータ280のデータ整列レジスタ内で行なわれる。
【0038】 一実施形態においては、カラー・カリキュレータ280が特に、次に示すブレ
ンド式を使用する。 [カラー]=α×[ソース]+(1−α)×[ディスティネーション]
【0039】 カラー・カリキュレータ280は、到来する3つの値、すなわちチャンネル・
オペレーション・ユニット255からのソース・カラー、ウインドワ230によ
ってフェッチされた、メモリからのディスティネーション・カラー、および補間
器270からのアルファ値(固定されている場合もある)を受け取る。カラー・
カリキュレータ280内におけるパッキング・ロジックは、データを整列させ、
それをディスティネーション表面に書き込む。
【0040】 図3は、イメージ・ストレッチングのプロセスを表したフローチャートである
。ブロック310において、矩形プリミティブ・タイプがイネーブルされる。こ
の矩形プリミティブ・タイプによって3Dエンジンは、3つのポイントにより記
述されるオブジェクトを矩形として認識することができる。この矩形は、3つの
頂点によって記述される、有効な選別順序に矛盾しない正しい巻き付け順序で軸
整列される矩形である。これらの頂点は、直角三角形を記述し、その三角形の底
辺はx軸と平行になり、三角形の垂直の辺はy軸と平行になる。4番目のポイン
トは、これら3つの頂点に基づいて導かれる。一実施形態の場合には、ストレッ
チ・ブリッティングの開始時にすでに矩形プリミティブ・タイプがイネーブルさ
れているとき、このステップを省略することができる。
【0041】 ブロック320においては、矩形コマンドが3Dエンジンに渡される。この矩
形コマンドは、3Dエンジンに対して、続く情報が、3次元レンダリングの情報
ではなく、ストレッチ・ブリッティングの情報になることを示す。
【0042】 ブロック330において、このプロセスは、3Dパイプラインのフラッシュが
行なわれているか否かについての吟味を行う。3Dパイプラインが並列処理を許
容することから、一実施形態の場合には、ビデオ・ストレッチングの初期化に先
行してそのフラッシュが行われる。また一実施形態の場合には、このステップお
よびステップ335が省略される。3Dパイプラインのフラッシュが行なわれて
いなければ、プロセスがブロック335に進み、それにおいて3Dパイプライン
のフラッシュが行なわれるまで待機する。その後プロセスは、ブロック340に
引き継がれる。3Dパイプラインのフラッシュがすでに行なわれていれば、プロ
セスが直接ブロック340に引き継がれる。
【0043】 ブロック340においては、3Dパイプライン210内のセットアップ・エン
ジン225に矩形データが渡される。矩形データは、操作が行われるデータの矩
形を定義する。
【0044】 ブロック345においては、ウインドワによってXY座標が計算される。この
XY座標は、イメージのディスティネーション表面を定義する。
【0045】 ブロック350においては、マッピング・アドレス・ジェネレータ(MAG)
によってUV座標が計算される。UおよびV座標は、イメージのソース表面を定
義する。
【0046】 ブロック360においては、ピクセル・データがフェッチされ、キャッシュさ
れる。一実施形態の場合、ピクセル・アドレスが生成された後にこれが生じる。
一実施形態においては、ピクセル・データが4×4のデータのブロックにキャッ
シュされる。
【0047】 ブロック370においては、ピクセル値の補間が行なわれる。ここでは、ディ
スティネーション表面内のピクセルのそれぞれに関する属性が生成される。
【0048】 ブロック380においては、チャンネル割り当ておよびカラー・スペース変換
のステップが実行される。一実施形態の場合には、これらのステップが、要求が
あったときに限って実行される。また別の実施形態の場合には、これらのステッ
プが常に実行される。
【0049】 ブロック390においては、カラー・カリキュレータがデータのアルファ・ブ
レンド、データの整列、およびディスティネーション表面へのその書き込みを行
う。これにより、ディスティネーション・イメージが生成される。このプロセス
の最後には、ディスティネーション・イメージ内のピクセルのそれぞれが既知と
なり、ディスティネーション・イメージが表示される。
【0050】 以上、具体的な実施形態を参照して本発明の説明を行ってきた。しかしながら
、付随する特許請求の範囲に示したように本発明の精神ならびに範囲はより広範
なものであり、それから逸脱することなく、それらに対する各種の修正ないしは
変更が可能であることは明らかである。したがって、本件明細書ならびに図面は
、例示に過ぎず、限定を意図したものではないことを理解する必要がある。
【図面の簡単な説明】
【図1】 本発明の実装が考えられるコンピュータ・システムを示したブロック図である
【図2】 ビデオ・イメージの操作を行うための3Dパイプラインを一実施形態として示
したブロック図である。
【図3】 ビデオ・イメージのストレッチングのプロセスを一実施形態として示したフロ
ーチャートである。
【図4】 16×12の矩形の場合のディスティネーション・データを示している。
【図5A】 3Dレンダリングおよびストレッチ・ブリッティングに関してウインドワによ
って実行されるエッジ・テストを示している。
【図5B】 3Dレンダリングおよびストレッチ・ブリッティングに関してウインドワによ
って実行されるエッジ・テストを示している。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,US,UZ,VN,YU,ZA,ZW Fターム(参考) 5B056 BB28 BB52 FF16 HH03 5B057 CA01 CA08 CA13 CA16 CA17 CB01 CB08 CB13 CB16 CD05 CE17 CE18 CH05 CH09 5B080 CA04 CA09 FA02 FA03 GA00 GA22

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 3次元レンダリングおよびストレッチ・ブリッティングに使
    用される3Dパイプラインにおいて、ストレッチ・ブリッティング用の3Dパイ
    プラインが: 矩形モードをイネーブルするコマンド・ストリーム・コントローラ; 頂点によって定義される矩形に関するアドレスを生成するウインドワ; それぞれのピクセルに関して、相対的なロケーションに基づいて隣接ポイント
    間の補間を行って、それぞれのピクセルに関する属性を生成するフィルタ;およ
    び、 出力データの整列およびディスティネーション表面に対する該出力データの書
    き込みを行うカラー・カリキュレータ; を包含することを特徴とする3Dパイプライン。
  2. 【請求項2】 ソースおよびディスティネーションのアドレスの座標の比を
    もたらす初期ポイントおよびXならびにYに関する属性の変化レートの計算を行
    い、かつ前記ウインドワに渡される前記矩形を定義するバウンディング・ボック
    スを生成するセットアップ・エンジン; をさらに包含することを特徴とする前記請求項1記載の3Dパイプライン。
  3. 【請求項3】 ピクセル・マップ内の特定のピクセルをフェッチするための
    実際のアドレスを生成するマッピング・アドレス・ジェネレータ; をさらに包含することを特徴とする前記請求項1記載の3Dパイプライン。
  4. 【請求項4】 前記マッピング・アドレス・ジェネレータは、頂点に関する
    正規化されていない値を使用することを特徴とする前記請求項3記載の3Dパイ
    プライン。
  5. 【請求項5】 メモリ・マネジメントおよびキャッシュ・ハンドリングを提
    供するフェッチ・ユニット; をさらに包含することを特徴とする前記請求項1記載の3Dパイプライン。
  6. 【請求項6】 YUVスペース内におけるチャンネル変換を実行するチャン
    ネル・オペレーション・ユニット; をさらに包含することを特徴とする前記請求項1記載の3Dパイプライン。
  7. 【請求項7】 前記変換は、4:2:2から4:2:0のYUVスペースへ
    の変換であることを特徴とする前記請求項6記載の3Dパイプライン。
  8. 【請求項8】 前記カラー・カリキュレータは、さらにカラー・スペース変
    換を実行することを特徴とする前記請求項1記載の3Dパイプライン。
  9. 【請求項9】 前記カラー・スペース変換は、YUVからRGBへの変換で
    あることを特徴とする前記請求項8記載の3Dパイプライン。
  10. 【請求項10】 アルファ・ブレンドのためのアルファ値を生成する補間器
    ; をさらに包含することを特徴とする前記請求項1記載の3Dパイプライン。
  11. 【請求項11】 前記カラー・カリキュレータは、さらに前記補間器によっ
    て提供されるアルファ値を使用して出力データのアルファ・ブレンドを行うこと
    を特徴とする前記請求項10記載の3Dパイプライン。
  12. 【請求項12】 前記ウインドワは、ディスティネーション表面に関するア
    ドレスを生成することを特徴とする前記請求項1記載の3Dパイプライン。
  13. 【請求項13】 前記ディスティネーション表面は、全体のバウンディング
    ・ボックスについてエッジ・テストを強制的に通過させることによって生成され
    ることを特徴とする前記請求項12記載の3Dパイプライン。
  14. 【請求項14】 前記ウインドワは、深いパイプライン化を使用して連続的
    にアドレスを生成し、かつ生成に従って前記アドレスを連続的にメモリに送り、
    それによりメモリの待ち時間の影響を抑えることを特徴とする前記請求項1記載
    の3Dパイプライン。
  15. 【請求項15】 3次元(3D)パイプラインにおける方法であって: 信号を受け取るステップ; エリアを定義する2ないしはそれを超える数の座標ポイント受け取るステップ
    ; 前記信号に基づいて、前記エリアが三角形であるか矩形であるかを決定するス
    テップ; 前記エリアが三角形の場合には、前記エリアに関するデータに基づいて3Dイ
    メージを生成するステップ;および、 前記エリアが矩形の場合には、前記エリアに関するデータに対してストレッチ
    ・ブリッティング・オペレーションを実行するステップ; を包含することを特徴とする方法。
  16. 【請求項16】 前記信号に基づいて前記3Dパイプラインに関する、前記
    座標ポイントがビデオ・イメージを定義するか、あるいはレンダリングに関する
    3次元イメージを定義するかを示す状態をセットするステップ; をさらに包含することを特徴とする前記請求項15記載の方法。
  17. 【請求項17】 前記エリアが矩形の場合には、前記データの処理に先行し
    て前記3Dパイプラインのフラッシュを行うステップ; をさらに包含することを特徴とする前記請求項15記載の方法。
  18. 【請求項18】 前記信号は、矩形コマンドであることを特徴とする前記請
    求項15記載の方法。
  19. 【請求項19】 前記複数の座標ポイントは、直角三角形の左上頂点、右下
    頂点、および左下頂点を定義し、前記矩形は、右上頂点を決定することによって
    定義されることを特徴とする前記請求項15記載の方法。
  20. 【請求項20】 3次元(3D)パイプラインにおけるディジタル・ビデオ
    ・データのストレッチ・ブリッティングを行う方法であって: 矩形コマンドを受け取るステップ; 直角三角形の左上頂点、右下頂点、および左下頂点を受け取るステップ; 矩形を定義するバウンディング・ボックスを割り出すステップ; イメージのディスティネーション表面を計算するステップ; イメージのソース表面を計算するステップ; ピクセル値のフェッチおよびキャッシュを行うステップ; 前記ピクセル値の補間を行って、前記ディスティネーション表面におけるピク
    セルを生成するステップ;および、 前記ディスティネーション表面を表示するステップ; を包含することを特徴とする方法。
JP2000594078A 1999-01-15 2000-01-12 3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置 Expired - Lifetime JP4532746B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/231,260 1999-01-15
US09/231,260 US6445386B1 (en) 1999-01-15 1999-01-15 Method and apparatus for stretch blitting using a 3D pipeline
PCT/US2000/000784 WO2000042571A1 (en) 1999-01-15 2000-01-12 Method and apparatus for stretch blitting using a 3d pipeline

Publications (3)

Publication Number Publication Date
JP2002535759A true JP2002535759A (ja) 2002-10-22
JP2002535759A5 JP2002535759A5 (ja) 2006-03-09
JP4532746B2 JP4532746B2 (ja) 2010-08-25

Family

ID=22868448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000594078A Expired - Lifetime JP4532746B2 (ja) 1999-01-15 2000-01-12 3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置

Country Status (10)

Country Link
US (1) US6445386B1 (ja)
EP (1) EP1141892B1 (ja)
JP (1) JP4532746B2 (ja)
KR (1) KR20010102977A (ja)
CN (2) CN1337033B (ja)
AU (1) AU2609600A (ja)
DE (1) DE60004323T2 (ja)
HK (1) HK1036670A1 (ja)
TW (1) TW454154B (ja)
WO (1) WO2000042571A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6674479B2 (en) * 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
US6697074B2 (en) * 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
US6747623B2 (en) * 2001-02-09 2004-06-08 Semiconductor Energy Laboratory Co., Ltd. Liquid crystal display device and method of driving the same
US7092035B1 (en) * 2001-07-09 2006-08-15 Lsi Logic Corporation Block move engine with scaling and/or filtering for video or graphics
JP4313527B2 (ja) * 2001-11-21 2009-08-12 富士通マイクロエレクトロニクス株式会社 画像描画装置
KR100528343B1 (ko) * 2003-07-14 2005-11-15 삼성전자주식회사 3차원 객체의 영상 기반 표현 및 편집 방법 및 장치
KR100703709B1 (ko) * 2005-06-02 2007-04-06 삼성전자주식회사 그래픽스 처리장치와 처리방법, 및 그 기록 매체
CN101556689B (zh) * 2008-04-09 2013-01-09 宝利微电子系统控股公司 图像缩放方法及装置
US8130229B2 (en) * 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate
US20120096380A1 (en) * 2010-10-13 2012-04-19 Wagner David L Color Selection Graphical User Interface
CN107633477B (zh) * 2017-10-20 2021-04-20 上海兆芯集成电路有限公司 图像处理方法及其装置
CN111813480A (zh) * 2020-07-09 2020-10-23 长沙景嘉微电子股份有限公司 Gpgpu中的2d桌面拉伸方法、装置及图形处理器

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02270082A (ja) * 1989-01-13 1990-11-05 Sun Microsyst Inc 比較を行い信号を発生する装置およびその方法
JPH05342366A (ja) * 1992-06-10 1993-12-24 Fujitsu Ltd グラフィック表示装置
JPH06509893A (ja) * 1991-08-13 1994-11-02 ボード オブ リージェンツ オブ ザ ユニバーシティ オブ ワシントン 画像処理及びグラフィック処理システム
JPH0714029A (ja) * 1990-11-15 1995-01-17 Internatl Business Mach Corp <Ibm> 線描画装置及び方法
JPH0729034A (ja) * 1993-07-09 1995-01-31 Fujitsu Ltd 影付け処理装置および画像生成装置
JPH0822555A (ja) * 1994-07-08 1996-01-23 Hitachi Ltd 図形描画方法及びその装置
JPH1049666A (ja) * 1996-05-31 1998-02-20 Hewlett Packard Co <Hp> 断片発生器および断片発生方法
JPH1091142A (ja) * 1996-06-28 1998-04-10 Cirrus Logic Inc サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL72685A (en) 1983-08-30 1988-08-31 Gen Electric Advanced video object generator
US5363119A (en) 1991-05-01 1994-11-08 Atari Games Corporation Scaling processor for raster images
US5384904A (en) 1992-12-08 1995-01-24 Intel Corporation Image scaling using real scale factors
TW304254B (ja) * 1994-07-08 1997-05-01 Hitachi Ltd
US5892518A (en) 1995-07-28 1999-04-06 Matsushita Electric Industrial Co., Ltd. Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation
US6111584A (en) * 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
JP3645024B2 (ja) * 1996-02-06 2005-05-11 株式会社ソニー・コンピュータエンタテインメント 描画装置及び描画方法
US5764814A (en) 1996-03-22 1998-06-09 Microsoft Corporation Representation and encoding of general arbitrary shapes
US5990911A (en) * 1996-06-21 1999-11-23 Autodesk, Inc. Immediate mode drawing interface for the construction of graphics software
DE69717409T2 (de) * 1996-08-21 2003-08-14 Konami Co Verfahren, anordnung und aufzeichnungsmedium zur befehlseingabe
US5748789A (en) 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6009190A (en) 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US6067090A (en) * 1998-02-04 2000-05-23 Intel Corporation Data skew management of multiple 3-D graphic operand requests
US6025855A (en) * 1998-02-10 2000-02-15 Intel Corporation Store double word and status word write graphics primitives
US6078339A (en) * 1998-02-10 2000-06-20 Intel Corporation Mutual exclusion of drawing engine execution on a graphics device
US6072505A (en) 1998-04-01 2000-06-06 Real 3D, Inc. Method and apparatus to efficiently interpolate polygon attributes in two dimensions at a prescribed clock rate
WO2000011603A2 (en) * 1998-08-20 2000-03-02 Apple Computer, Inc. Graphics processor with pipeline state storage and retrieval

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02270082A (ja) * 1989-01-13 1990-11-05 Sun Microsyst Inc 比較を行い信号を発生する装置およびその方法
JPH0714029A (ja) * 1990-11-15 1995-01-17 Internatl Business Mach Corp <Ibm> 線描画装置及び方法
JPH06509893A (ja) * 1991-08-13 1994-11-02 ボード オブ リージェンツ オブ ザ ユニバーシティ オブ ワシントン 画像処理及びグラフィック処理システム
JPH05342366A (ja) * 1992-06-10 1993-12-24 Fujitsu Ltd グラフィック表示装置
JPH0729034A (ja) * 1993-07-09 1995-01-31 Fujitsu Ltd 影付け処理装置および画像生成装置
JPH0822555A (ja) * 1994-07-08 1996-01-23 Hitachi Ltd 図形描画方法及びその装置
JPH1049666A (ja) * 1996-05-31 1998-02-20 Hewlett Packard Co <Hp> 断片発生器および断片発生方法
JPH1091142A (ja) * 1996-06-28 1998-04-10 Cirrus Logic Inc サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法

Also Published As

Publication number Publication date
HK1036670A1 (en) 2002-01-11
CN101853487B (zh) 2016-12-21
AU2609600A (en) 2000-08-01
US20020085016A1 (en) 2002-07-04
CN1337033A (zh) 2002-02-20
DE60004323D1 (de) 2003-09-11
JP4532746B2 (ja) 2010-08-25
WO2000042571A1 (en) 2000-07-20
EP1141892B1 (en) 2003-08-06
EP1141892A1 (en) 2001-10-10
US6445386B1 (en) 2002-09-03
KR20010102977A (ko) 2001-11-17
CN1337033B (zh) 2010-05-12
TW454154B (en) 2001-09-11
CN101853487A (zh) 2010-10-06
DE60004323T2 (de) 2004-02-12

Similar Documents

Publication Publication Date Title
US11263725B2 (en) Apparatus and method for non-uniform frame buffer rasterization
US8421794B2 (en) Processor with adaptive multi-shader
US7456835B2 (en) Register based queuing for texture requests
JP4234217B2 (ja) サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法
US6885378B1 (en) Method and apparatus for the implementation of full-scene anti-aliasing supersampling
TW200818054A (en) Tile based precision rasterization in graphics pipeline
JP4532746B2 (ja) 3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置
US7466322B1 (en) Clipping graphics primitives to the w=0 plane
US6677953B1 (en) Hardware viewport system and method for use in a graphics pipeline
US10255655B1 (en) Serial pixel processing with storage for overlapping texel data
WO2023202367A1 (zh) 图形处理器、系统、装置、设备及方法
US6850244B2 (en) Apparatus and method for gradient mapping in a graphics processing system
US6885375B2 (en) Stalling pipelines in large designs
CN111127588B (zh) 基于DirectX的大数据量参数曲线回放方法
GB2388288A (en) Improving magnified texture-mapped pixel performance in a single-pixel pipeline
JPH1063254A (ja) 3dグラフィクスアクセラレータカードおよび同カードを使用したコンピュータシステム
US6847372B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
WO2023202366A1 (zh) 图形处理器、系统、电子装置、设备及图形处理方法
JP4419480B2 (ja) 画像処理装置およびその方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100601

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100611

R150 Certificate of patent or registration of utility model

Ref document number: 4532746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term