JP4719363B2 - 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム - Google Patents

内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム Download PDF

Info

Publication number
JP4719363B2
JP4719363B2 JP2001051371A JP2001051371A JP4719363B2 JP 4719363 B2 JP4719363 B2 JP 4719363B2 JP 2001051371 A JP2001051371 A JP 2001051371A JP 2001051371 A JP2001051371 A JP 2001051371A JP 4719363 B2 JP4719363 B2 JP 4719363B2
Authority
JP
Japan
Prior art keywords
graphics
data
texture
format
copy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001051371A
Other languages
English (en)
Other versions
JP2002063594A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of JP2002063594A publication Critical patent/JP2002063594A/ja
Application granted granted Critical
Publication of JP4719363B2 publication Critical patent/JP4719363B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/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/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • 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/391Resolution modifying circuits, e.g. variable screen formats
    • 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
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0247Flicker reduction other than flicker reduction circuits used for single beam cathode-ray tubes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0271Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
    • G09G2320/0276Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/127Updating a frame memory using a transfer of data from a source area to a destination area
    • 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/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)

Description

【0001】
【発明の分野】
この発明はコンピュータグラフィクスに関し、特にたとえば、家庭用ビデオゲームプラットフォームのようなインタラクティブなグラフィクスシステムに関する。より特定的には、この発明は、再構成可能な内部(embeded)フレームバッファと主メモリとの間でイメージデータを転送するときに種々の変換および他の処理動作を実行できるコピーパイプラインを有するグラフィクスシステムに関する。このコピーパイプラインは、選択的にさらなる処理を行いかつイメージデータを主メモリ中の表示バッファもしくはテクスチャバッファへ選択的に転送するために使用される。
【0002】
【発明の背景および発明の概要】
多くの人々はかなりリアルな恐竜,エイリアン,生き生きとしたおもちゃおよび他の空想的な動物を含む映画をかつて見たことがある。そのようなアニメーションはコンピュータグラフィクスによって可能とされた。そのような技術を用いて、コンピュータグラフィクスのアーティストは、各オブジェクトがどのように見えるべきかや時間の経過とともに外見上どのように変化すべきかを特定し、コンピュータは、そのオブジェクトをモデル化してテレビジョンやコンピュータスクリーンのようなディスプレイに表示する。コンピュータは、表示される映像の各部分を、場面中の各オブジェクトの位置や向き,各オブジェクトを照らすように見える照明の方向,各オブジェクトの表面テクスチャ,および他の要素に正確に基づいて、色付けしまた形作るために必要な多くのタスクを実行する。
【0003】
コンピュータグラフィクスの生成は複雑であるので、ここ数年前のコンピュータによって生成された3次元(3D)グラフィクスは、ほとんど高価な特殊なフライトシミュレータ,ハイエンドグラフィクスワークステーションおよびスーパーコンピュータに限られていた。大衆は映画や高価なテレビコマーシャルにおいてこれらのコンピュータシステムによって生成された映像のいくつかを見たが、大部分の人はグラフィクスを生成しているコンピュータに対して実際に相互作用をさせることはできない。たとえば、Nintendo64(登録商標)や今や利用可能であるパソコン用の種々の3Dグラフィクスカードのような比較的安価な3Dグラフィクスプラットフォームの利用によって、このすべてが変わった。今や、家庭や会社の比較的安価なコンピュータグラフィクスシステム上でエキサイティングな3Dアニメーションやシミュレーションに対して相互作用を及ぼすことができる。
【0004】
グラフィクスシステム設計者が過去に直面した問題は、種々のデータフォーマットでストアできかつしたがって効率的で有利な態様で処理できる強力で安価なシステムを提供することである。グラフィクスシステムに使用されるグラフィクスチップは、グラフィクスパイプラインによってレンダリングされたままのデータをストアするための局所またはオンチップメモリを有する。グラフィクスチップによってデータが発生されたとき、そのデータは、局所メモリから、表示装置上にデータを表示するためにたとえばビデオインタフェースユニットによってデータが使用され得る外部メモリへ転送される。この外部メモリは、典型的には、グラフィクスシステムの主メモリの一部であり、外部フレームバッファ(XFB)と呼ばれる。局所メモリと外部フレームバッファとの間のデータの処理経路はコピーパイプラインと呼ばれることがある。
【0005】
局所メモリおよび外部フレームバッファは、グラフィクスシステムにおける種々の機能性を達成するために多様なデータフォーマットを有する。グラフィクスシステム設計者が過去に直面した1つの問題は、そのシステム上で動くアプリケーションによる有利でかつ効率的な使用を可能にするために局所メモリおよび外部フレームバッファにおいてどのようなデータフォーマットをサポートするかを決定することである。グラフィクスシステム設計者が過去に直面した他の問題は、システムの速度,柔軟性および全体動作を最大にする有用かつ効率的な方法をみつけることである。たとえば、1つの問題は、そのシステム中のどのコンポーネントが或る処理もしくは機能を行うために使用されるべきであるか、そしてそのような処理はどのタイミングで行われるべきであるかを決定することである。他の問題は、典型的にはグラフィクスチップの局所メモリからシステムの主メモリへデータを転送するために使用されるコピーパイプラインのような処理パイプラインの最もよい利点を如何に採用するかということである。
【0006】
これらの問題に対する種々のソリューションが提案されている。たとえば、グラフィクスシステムは多様なデータフォーマットを使用し、システムの全体動作を改善しもしくは最大にするための試みにおいて、グラフィクス処理動作中の種々の点でそのようなフォーマット間での変換を行っていた。このようなメモリに関連して過去にいくつかの仕事がなされたけれども、データフォーマットや変換のさらなる改善が望まれている。特に、家庭用ビデオゲームシステムのような高性能かつ低価格のグラフィクスシステムのために一層の改善が要請されている。
【0007】
この発明は、内部フレームバッファからグラフィクスシステム中の主メモリへのデータのコピーアウトに関連して使用するための技術および構成を提供することによって、この問題に向けられる。この発明は、内部フレームバッファから主メモリのような外部の宛先へのデータの転送中に「オンザフライ」によって行われるように、データのさらなる処理および/またはデータフォーマット変換を有利に可能ならしめるコピーアウトパイプラインを提供する。この発明は、さらに、コピーアウト動作において有利に使用されるように、種々のピクセルデータフォーマットを可能ならしめるコピーパイプラインを提供する。さらに、この発明のコピーパイプラインは、内部フレームバッファからのデータを、表示用の特別なフォーマットで、またはグラフィクスパイプライン動作におけるテクスチャとしての後続の使用のための多様なテクスチャフォーマットで、主メモリへコピーできるようにする。この発明のコピーパイプラインは、インタラクティブ3Dビデオゲームをプレイするために設計されたシステムにおいて用いられるとき特に有利である。この発明によれば、内部フレームバッファは、エイリアス補正(anti-aliasing)モード、デフリッカ(deflicker)モードおよびYUV(すなわち、輝度/クロマ)モードを含む多様なモードで再構成されかつ効率的に使用され得て、それによって多様なアプリケーションをサポートするようにシステムの柔軟性を増大する。各モードのための所望のピクセルフォーマットは、たとえば、内部フレームバッファが設けられているグラフィクスハードウェアへのコマンドを使用することによって選択され得る。コピーパイプラインは内部フレームバッファによってサポートされている任意のフォーマットにおけるデータを処理しかつ選択的にさらに変換することができる。
【0008】
この発明によれば、コピーパイプラインは、データを外部のフレームバッファへストアする前に、内部フレームバッファからのデータをさらに処理するために有利に使用される。コピーパイプラインは、たとえば、データをストアするために必要なメモリの量を減じるためにおよび/またはグラフィクスシステムによるさらなる処理における使用のために、所望のフォーマットでデータを提供するように、たとえば、多様な有用なフォーマット間でデータを変換するために使用され得る。コピーパイプラインはまた、表示品質を改善しおよび/または表示特性を変更する態様で、そのフレームデータをさらに処理するために使用され得る。
【0009】
この発明によって提供される1つの局面によれば、グラフィクスシステムは、内部フレームバッファと、その内部フレームバッファから外部の記憶場所へデータを転送するコピーパイプラインを含み、そのコピーパイプラインはデータを外部の記憶場所へ書き込む前に或るフォーマットから他のフォーマットへ変換する。外部の記憶場所は、グラフィクスシステムの主メモリ中の表示バッファまたはテクスチャバッファであってよい。コピーパイプラインは、データが表示バッファへ転送されるならばデータを表示フォーマットに変換し、データがテクスチャバッファへ転送されるならばテクスチャフォーマットに変換する。グラフィクスパイプラインは、後続するレンダリングプロセス中テクスチャバッファのデータを使用するように動作可能である。コピーパイプラインは内部フレームバッファから種々のRGBカラーフォーマットまたはYUVカラーフォーマットでデータを選択的に読み出し、表示フォーマットまたは多様なテクスチャフォーマットのいずれかで主メモリにデータを書き込む。
【0010】
この発明の他の局面によれば、グラフィクスチップから外部の宛先へデータを転送する方法が提供される。この方法は、グラフィクスチップの内部フレームバッファにイメージデータをストアするステップ、内部フレームバッファから外部の宛先へデータを転送するためのコピーアウト動作を開始させるステップ、コピーアウト動作中データを或るフォーマットから他のフォーマットへ変換するステップ、および変換したデータを外部の宛先へ書き込むステップを含む。この方法は、データをテクスチャフォーマットに変換しかつテクスチャバッファへそのテクスチャフォーマットデータを書き込むか、あるいはデータを表示フォーマットに変換しかつその表示フォーマットデータを表示バッファへ書き込む。コピーパイプラインはまた、コピーアウトプロセス中でかつ主メモリへデータを書き込む前に、スケーリング(scaling),ガンマ補正および/またはエイリアス補正動作を選択的に行うように動作可能である。変換ステップは、RGBカラーフォーマットから他のRGBカラーフォーマットへの変換、YUVカラーフォーマットから他のYUVカラーフォーマットへの変換、RGBカラーフォーマットからYUVカラーフォーマットへの変換、およびYUVカラーフォーマットからRGBカラーフォーマットへの変換の少なくとも1つを実行するステップを含む。
【0011】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0012】
【実施例】
図1は対話型(インタラクティブ)3Dコンピュータグラフィクスシステム50の一例を示す。システム50は対話型3Dビデオゲームをステレオ音声とともにプレイするのに用いられ得る。これはまた多様な他のアプリケーションにも用いられ得る。
【0013】
この実施例において、システム50は3次元世界のディジタル表現ないしモデルをインタラクティブにかつリアルタイムに処理することができる。システム50は、任意の視点から、その世界の一部または全部を表示することができる。たとえば、システム50は、手持ちコントローラ52aおよび52bまたは他の入力デバイスからのリアルタイム入力に応答して、視点をインタラクティブに変化できる。このことによって、ゲームプレーヤは、その世界内もしくは外の誰かの目を通してその世界を見ることができる。システム50は、リアルタイム3Dインタラクティブ表示を必要としないアプリケーション(たとえば2D表示の発生やおよび/またはノンインタラクティブ表示)に使用できるが、高品質の3D映像を非常に速く表示する能力は、非常にリアルでエキサイティングなゲームプレイや他のグラフィクスインタラクションを創造するのに使用され得る。
【0014】
システム50を用いてビデオゲームまたは他のアプリケーションをプレイするために、ユーザはまず、主ユニット54を、カラーテレビ56または他の表示装置に、両者の間にケーブル58を接続することによって、接続する。主ユニット54はカラーテレビ56を制御するためのビデオ信号およびオーディオ信号を発生する。ビデオ信号はテレビジョン画面59上に表示されている映像を制御するものであり、オーディオ信号はテレビのステレオスピーカ61Lおよび61Rを通して音声として再生される。
【0015】
ユーザはまた主ユニット54を電源につなぐ必要がある。この電源は従来のACアダプタ(図示せず)であってよく、そのACアダプタは家庭用の標準的な壁ソケットに差し込まれ、家庭用電源を、主ユニット54を駆動するのに適した低いDC電圧信号に変換する。他の実施例ではバッテリが用いられてもよい。
【0016】
ユーザは主ユニット54を制御するために手持ちコントローラ52aおよび52bを用いる。コントロール60は、たとえば、3D世界内においてテレビ56に表示されているキャラクタが移動すべき方向(上または下、左または右、近づいてまたは遠ざかって)を指示するために使用され得る。コントロール60は、また他のアプリケーションのための入力(たとえばメニュー選択,ポインタ/カーソル制御,その他)を与える。コントローラ52は多様な形態をとり得る。この実施例においては、図示されるコントローラ52は、各々ジョイスティック,押しボタンおよび/または方向スイッチのようなコントロール60を含む。コントローラ52は、ケーブルによって、もしくは電磁波(たとえば電波または赤外線)を介してワイヤレスで、主ユニット54に接続され得る。
【0017】
ゲームのようなアプリケーションをプレイするために、ユーザはビデオゲームもしくはプレイしたいと思う他のアプリケーションをストアしている適宜の記憶媒体62を選択し、その記憶媒体を主ユニット54のスロット64に差し込む。記憶媒体62は、たとえば、特別にエンコードされおよび/または記号化された光学的ならびに/もしくは磁気的ディスクであってよい。ユーザは主ユニット54をオンするために電源スイッチ66を操作し、主ユニットがその記憶媒体62にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザは主ユニットに入力を与えるためにコントローラ52を操作する。たとえば、コントロール60を操作することによってゲームもしくは他のアプリケーションをスタートさせる。他のコントロール60を動かすことによって、動画キャラクタを異なる方向に移動させ、または3D世界におけるユーザの視点を変化させる。記憶媒体62にストアされている具体的なソフトウェアによって、コントローラ52上の種々のコントロール60は異なる時間で異なる機能を達成することができる。
全体システムの例
図2はシステム50の例示的なコンポーネントのブロック図であり、重要なコンポーネントは、
・主プロセサ(CPU)110,
・主メモリ112,および
・グラフィクス/オーディオプロセサ114を含む。
【0018】
この実施例において、主プロセサ110(たとえばIBMパワーPC750の改良版)は、手持ちコントローラ52(および/または他の入力デバイス)からの入力をグラフィクス/オーディオプロセサ114を通して受ける。主プロセサ110はユーザ入力にインタラクティブに応答し、光ディスクドライブのような大容量記憶媒体アクセス装置106を介して、たとえば外部記憶媒体62から供給されるビデオゲームもしくは他のプログラムを実行する。一例として、ビデオゲームプレイの状況では、主プロセサ110は、多様なインタラクティブ制御機能に加えて、衝突検出および動画処理を実行する。
【0019】
この実施例では、主プロセサ110は3Dグラフィクス/オーディオコマンドを発生し、それらをグラフィクス/オーディオプロセサ114に送る。グラフィクス/オーディオプロセサ114はこれらのコマンドを処理し、ディスプレイ59上での可視映像を生成し、ステレオスピーカ61Rおよび61Lもしくは他の適宜の音声発生デバイス上でのステレオ音声を生成する。
【0020】
実施例のシステム50はビデオエンコーダ120を含み、このビデオエンコーダは、グラフィクス/オーディオプロセサ114からの映像信号を受けて、その映像信号をコンピュータモニタや家庭用テレビ56のような標準的な表示装置上での表示に適したアナログおよび/またはディジタルビデオ信号に変換する。システム100はまたオーディオコーデック(圧縮器/伸長器)122を含み、このオーディオコーデックはディジタル化されたオーディオ信号を圧縮しかつ伸長するとともに、必要に応じてディジタルオーディオ信号のフォーマットとアナログオーディオ信号のフォーマットとの間で変換を行う。オーディオコーデック122はバッファ124を介してオーディオ入力を受けることができ、処理(たとえば、プロセサが生成したおよび/または大容量記憶媒体アクセス装置106のストリームオーディオ出力を介して受信した他のオーディオ信号とのミキシング)するために、そのオーディオ入力をグラフィクス/オーディオプロセサ114に与える。この実施例におけるグラフィクス/オーディオプロセサ114は、オーディオタスクに利用可能なオーディオメモリ126にオーディオ関連情報をストアすることができる。グラフィクス/オーディオプロセサ114は、結果的に得られるオーディオ出力信号を、圧縮およびアナログ信号への変換のために、オーディオコーデック122に与え、したがってそのオーディオ出力信号が(たとえばバッファアンプ128Lおよび128Rを介して)スピーカ61Lおよび61Rによって再生され得る。
【0021】
グラフィクス/オーディオプロセサ114はシステム100内に存在するであろう種々の付加的なデバイスと通信する能力を有する。たとえば、パラレルディジタルバス130は大容量記憶媒体アクセス装置106および/または他のコンポーネントと通信するために用いられる。シリアル周辺バス132は多様な周辺機器または、たとえば、
・PROMおよび/またはRTC(リアルタイムクロック)134,
・モデム136もしくは他のネットワークインタフェース(それはシステム100を、プログラム命令および/またはデータがダウンロードもしくはアップロードされ得るインターネットあるいは他のディジタルネットワークのようなテレコミュニケーションネットワーク138に接続する),および
・フラッシュメモリ140
を含む他のデバイスと通信する。
別の外部シリアルバス142は、付加的な拡張メモリ144(たとえばメモリカード)もしくは他のデバイスと通信するために使用され得る。コネクタが種々のデバイスをバス130,132および142に接続するために使用され得る。
グラフィクス/オーディオプロセサの例
図3は実施例のグラフィクス/オーディオプロセサ114を示すブロック図である。或る実施例においては、グラフィクス/オーディオプロセサ114はシングルチップASICであってよい。この実施例においては、グラフィクス/オーディオプロセサ114は、
・プロセサインタフェース150,
・メモリインタフェース/コントローラ152,
・3Dグラフィクスプロセサ154,
・オーディオディジタル信号プロセサ(DSP)156,
・オーディオメモリインタフェース158,
・オーディオインタフェース/ミキサ160,
・周辺コントローラ162,および
・表示コントローラ164
を含む。
【0022】
3Dグラフィクスプロセサ154はグラフィクス処理タスクを実行する。オーディオディジタル信号プロセサ156はオーディオ処理タスクを実行する。表示コントローラ164は主メモリ112からの映像情報にアクセスし、表示装置102上での表示のためにその映像情報をビデオエンコーダ120に与える。オーディオインタフェース/ミキサ160はオーディオコーデック122をインタフェースし、また異なるソースからのオーディオ(たとえば、大容量記憶媒体アクセス装置106からのオーディオストリーム,オーディオDSP156の出力,およびオーディオコーデック122を通して受ける外部オーディオ入力)をミックスすることができる。プロセサインタフェース150は主プロセサ110およびグラフィクス/オーディオプロセサ114の間のデータおよび制御インタフェースを提供する。
【0023】
メモリインタフェース152はグラフィクス/オーディオプロセサ114とメモリ112との間のデータおよび制御インタフェースを提供する。この実施例においては、主プロセサ110は、プロセサインタフェース150およびグラフィクス/オーディオプロセサ114の一部であるメモリインタフェース152を介して、主メモリ112にアクセスする。周辺コントローラ162はグラフィクス/オーディオプロセサ114と上で述べた種々の周辺機器との間のデータおよび制御インタフェースを提供する。オーディオメモリインタフェース158はオーディオメモリ126とのインタフェースを提供する。
グラフィクスパイプラインの例
図4は図3の3Dグラフィクスプロセサ154をより詳細に示すグラフィクス処理システムを示す。この3Dグラフィクスプロセサ154は、とりわけ、コマンドプロセサ200および3Dグラフィクスパイプライン180を含む。主プロセサ110はデータストリーム(たとえばグラフィクスコマンドストリームおよび表示リスト)をコマンドプロセサ200に通信する。主プロセサ110はメモリレイテンシを最小化するために2レベルキャッシュ112を有し、さらにまたグラフィクス/オーディオプロセサ114に向けられたキャッシュされていないデータストリームのための書込収集(write-gathering)バッファ111を有する。この書込収集バッファ11は部分キャッシュラインを全キャッシュラインに集め、バスの最大使用時に、グラフィクス/オーディオプロセサ114からのデータを1つのキャッシュラインに送る。
【0024】
コマンドプロセサ200は主プロセサ110からの表示コマンドを受け、それらを解剖し、メモリコントローラ152を介して共用メモリ112からのそのコマンドを処理するに必要な付加的なデータを入手する。コマンドプロセサ200は、2Dおよび/または3D処理およびレンダリングのために、頂点コマンドのストリームをグラフィクスパイプライン180に与える。グラフィクスパイプライン180はこれらのコマンドに基づいて映像を生成する。結果として得られた映像情報は、表示コントローラ/ビデオインタフェースユニット164によるアクセスのために主メモリ120に転送され得て、この映像情報は表示装置56上にパイプライン180のフレームバッファ出力を表示する。
【0025】
図5はグラフィクスプロセサ154を用いて実行される処理を図解的に示すブロック論理フロー図である。主プロセサ10は、グラフィクスコマンドストリーム210,表示リスト212および頂点アレイ214を主メモリ112にストアし、ポインタをバスインタフェース150を介してコマンドプロセサ200に送る。主プロセサ110は主メモリ110内に割り付けられた1つ以上のグラフィクスFIFOバッファ210にグラフィクスコマンドをストアする。このコマンドプロセサ200は、
・同期/フロー制御および負荷バランスのためにグラフィクスコマンドを受けかつバッファするオンチップFIFOメモリバッファ216を介して主メモリ112からのコマンドストリーム,
・オンチップコールFIFOメモリバッファ218を介して主メモリ112からの表示リスト212,および
・コマンドストリームからおよび/または主メモリ112の頂点アレイ214からの頂点アトリビュートを頂点キャッシュ220を介して
取り込む。
【0026】
コマンドプロセサ200はコマンド処理動作200aを実行し、そのコマンド処理動作200aはアトリビュート形式を浮動小数点フォーマットに変換し、結果的に得られた完全頂点ポリゴンデータをレンダリング/ラスタライゼーションのためにグラフィクスパイプライン180に与える。プログラマブルメモリ調停回路130(グラフィクスメモリ要求調停回路:図4)は、グラフィクスパイプライン180,コマンドプロセサ200および表示コントローラ/ビデオインタフェースユニット164の間での共用主メモリ112へのアクセスを調停する。
【0027】
図4は、グラフィクスパイプライン180が
・変換ユニット300,
・セットアップ/ラスタライザ400,
・テクスチャユニット500,
・テクスチャ環境ユニット600,および
・ピクセルエンジン700
を含むことを示す。
【0028】
変換ユニット300は多様な2Dおよび3D変換および他の動作300a(図5)を実行する。変換ユニット300は変換処理300aに用いられるマトリクスをストアするための1つ以上のマトリクスメモリ300bを含む。変換ユニット300は、入来する頂点毎のジオメトリをオブジェクト空間からスクリーン空間へ変換し、そして入来するテクスチャ座標を変換しかつ投影テクスチャ座標(300c)を計算する。変換ユニット300はまたポリゴンクリッピング/カリング(clipping/culling)300dを実行する。変換ユニット300bによってまた達成される照明処理300eが、この実施例では8つまでの独立した照明について、頂点毎に照明計算を行う。変換ユニット300は、エンボス(embossed)タイプのバンプマッピング効果およびポリゴンクリッピング/カリング動作(300d)のために、テクスチャ座標を発生する(300c)。
【0029】
セットアップ/ラスタライザ400はセットアップユニットを含み、このセットアップユニットは、変換ユニット300からの頂点データを受け、三角形セットアップ情報を、エッジラスタライゼーション,テクスチャ座標ラスタライゼーションおよびカラーラスタライゼーションを実行する1つ以上のラスタライザユニット(400b)に送る。
【0030】
テクスチャユニット500は、オンチップテクスチャメモリ(TMEM)502を含んでもよく、たとえば、
・主メモリ112からのテクスチャ504の抽出、
・たとえばマルチテクスチャ処理,ポストキャッシュテクスチャ伸長,テクスチャフィルタリング,エンボシング,投影テクスチャの使用を通しての陰影付け,およびアルファトランスパーレンシおよびデプスを用いるBLITを含むテクスチャ処理(500a)、
・バンプマッピング,偽(pseudo)テクスチャおよびテクスチャタイル(tiling)効果(500b)のためのテクスチャ座標置換を計算するバンプマップ処理、および
・間接テクスチャ処理(500c)
を含むテクスチャリングに関連する種々のタスクを実行する。
【0031】
テクスチャユニット500はテクスチャ環境処理(600a)のためにフィルタされたテクスチャ値をテクスチャ環境ユニット600に出力する。テクスチャ環境ユニット600は、ポリゴンおよびテクスチャカラー/アルファ/デプスをブレンドし、また逆レンジベース(reverse range based)のフォグ効果を達成するために、テクスチャフォグ処理(600b)を実行する。テクスチャ環境ユニット600はたとえばカラー/アルファ変調,エンボシング,詳細テクスチャ,テクスチャスワッピング,クランピングおよびデプスブレンディングに基づく多様な他の環境関連機能を実行する多段階を提供する。
【0032】
ピクセルエンジン700はデプス(z)比較(700a)およびピクセルブレンディング(700b)を実行する。この実施例では、ピクセルエンジン700はデータを埋め込み(オンチップ)フレームバッファメモリ702にストアする。グラフィクスパイプライン180は、フレームバッファおよび/またはテクスチャ情報をローカルにストアするために1つ以上の埋め込みDRAMメモリ702を含む。z比較700aは、現在有効なレンダリングモードに依存して、グラフィクスパイプライン180におけるより早い段階で実行される(たとえば、z比較は、もしアルファブレンディングが要求されていないならば早くに実行され得る)。このピクセルエンジン700は表示コントローラ/ビデオインタフェースユニット164による主メモリ112へのアクセスのために、オンチップフレームバッファ702を周期的に書き込むコピー動作700cを含む。このコピー動作700cはまた動的テクスチャ合成効果のために、埋め込みフレームバッファ702の内容を主メモリ112中のテクスチャにコピーするために使用され得る。エイリアス補正および他のフィルタリングがコピー動作中に実行され得る。最終的に主メモリ112にストアされるグラフィクスパイプライン180のフレームバッファ出力は、表示コントローラ/ビデオインタフェースユニット164によってフレーム毎に読み出される。表示コントローラ/ビデオインタフェース164は表示装置56上での表示のためにディジタルRGBピクセル値を与える。
内部フレームバッファのための構成例
図4において概略的に示すように、内部フレームバッファ702はグラフィクスパイプライン180からのデータを受ける。このグラフィクスパイプラインはRGB(A)フォーマットでプリミティブをレンダリングする。したがって、以下により詳細に示すように、内部フレームバッファ702は種々のRGB(A)フォーマットでピクセルデータをストアするように構成され得る。図4からわかるように、プロセサインタフェース150は、グラフィクスパイプライン180へデータを供給するためだけではなく、主プロセサ(CPU)110がデータを内部フレームバッファに直接ロードするのを可能にするために使用され得る。このCPUによる内部フレームバッファの直接ローディングによって、RGB形式のフォーマット以外のピクセルフォーマットを内部フレームバッファに送ることができ、それによって多様なアプリケーションをサポートするようにシステムの柔軟性を増大する。特に、プロセサインタフェース150は、たとえば光ディスクまたは他の記憶媒体からYUVフォーマット(すなわち輝度/クロマフォーマット)のピクセルデータを内部フレームバッファへロードすることができる。YUVフォーマットのデータが内部フレームバッファ内にあると、そのデータは、後のレンダリングプロセス中において、テクスチャ環境ユニット(TEV)によるテクスチャとしての使用のために、コピーパイプラインを用いて、種々のテクスチャフォーマットで主メモリにコピーアウトされ得る。そのために、この発明によれば、内部フレームバッファは、種々のRGB(A)フォーマットとYUVフォーマットとの間で再構成できる。これらのフォーマットの各々を以下に詳細に説明する。
内部フレームバッファのためのRGB(A)フォーマットの例
この例において、内部フレームバッファ(EFB)は約2MBのメモリ容量を有する。最大ピクセル幅およびフレームバッファの高さは各ピクセルのサイズによって決定される。この発明によれば、そして図6に示すように、内部フレームバッファ702内のデータのために使用され得る2つの異なるRGBピクセルサイズがある。これらのサイズは
・48ビットカラーおよびZ、ならびに
・96ビットスーパーサンプリングカラーおよびZ
である。
48ビットのピクセルサイズ構成
内部フレームバッファ(EFB)のための48ビットフォーマットは、好ましくは、エイリアス補正をしないものであり、
・24ビットカラー(アルファなしの8/8/8、または6ビットのアルファ付きの6/6/6/6)
・24ビットのZ
を有する。
【0033】
エイリアス補正をしないこのモードにおいては、48ビットフォーマットは、この例においては、640×528の最大解像度をサポートし得る。そのために、幅は0−640の間であるべきで、EFBのストライド(stride)は640ピクセルに固定される。このエイリアス補正なしのモードは各ピクセル内における1つの点サンプル(point sample)に基づく。上で示したように、各ピクセルの点サンプルは24ビットのカラー値および24ビットのZ値によって与えられる。このカラー値は、アルファを用いないときには赤,緑および青の値の各々毎に8ビットを有し、もしくは赤,緑,青およびアルファ毎に6ビットを有する。
96ビットピクセルサイズ構成
96ビットの超サンプリング(super-sampling)ピクセルフォーマットは好ましくはエイリアス補正のために使用され、
・16ビットカラーの3サンプル(5ビットの赤,6ビットの緑,5ビットの青,アルファなし)
・16ビットのZ(デプス)3サンプル
を有する。
【0034】
この96ビットフォーマットは640×264の最大解像度をサポートし得る。幅は好ましくは0−640の間であり、ストライドは640に固定される。
【0035】
この例において、96ビットフォーマットはエイリアス補正のために使用される。しかしながら、このフォーマットは、ピクセル毎に3つの超サンプルを要するエイリアス補正以外の機能を達成するために使用されてもよい。換言すれば、96ビットフォーマットは、48ビット構成において使用されるピクセル毎の点サンプルに対して、ピクセル毎に3つのサンプル(超サンプル)をストアする能力を提供する。
【0036】
上から明らかなように、48ビットピクセルフォーマットと96ビットピクセルフォーマットとの間には固有のトレードオフがある。96ビットのエイリアス補正フォーマットによればポリゴンエッジと交点上の画像品質をよくすることができるが、性能とZ品質とを犠牲にする。96ビット超サンプリングEFBフォーマットは48ビット点サンプリングピクセルの2倍のメモリを必要とする。このモードはまたZバッファ精度を、他のフォーマットの24ビットではなく、16ビットに減じる。この例でいえば、エイリアス補正は、ピークのフィルレート(fill rate)を800Mピクセル/sから400Mピクセル/sへ減じる。しかしながら、テクスチャ環境ユニット(TEV)において1つ以上のステージを採用するなら、この減少は隠され、この例でいえば、2つのTEVステージがまたフィルレートを400Mピクセル/sに減じる。
【0037】
或る実施例において、内部フレームバッファ702のバンド幅による制限のために、エイリアス補正付きのレンダリングレートは2ピクセル/クロックへ低下する。しかしながら、2つまたはそれ以上のテクスチャがオンされるなら、ピクセルクォードラプレットがピクセルエンジン700へ送られるレートが、この具体的な実施例においては、2クロック毎に、1つもしくはそれより少ないピクセルクォードラプレットに低下する。この場合は、エイリアス補正をオンしてもフィルレートには影響は与えない。そのために、具体的なシーンがジオメトリで制限されると、エイリアス補正はレンダリング性能に逆に影響を与えない。他方、具体的なシーンがフィルレートで制限されると、点サンプルモードを用いる場合に対して、エイリアス補正を活性化することによって、レンダリング性能は実質的に影響を受ける。そのシーンまたはイメージがジオメトリによる制限を受けるのかあるいはフィルレートによる制限を受けるのかによって、もしくは具体的なシーンやイメージにおいて要求される画像品質に依存して、同じアプリケーションが、異なるシーンや異なるイメージについてエイリアス補正を活性化したりしなかったりすることができる。たとえば、フレーム毎のエイリアス補正の活性化/不活性化のためにフレームバッファにおけるピクセルフォーマットを動的に変更する能力は、画像品質と速度性能との間のトレードオフを作るためにアプリケーションプログラマに非常に大きな柔軟性を与える。
96ビット構成を用いるエイリアス補正
この発明に関連して使用するための具体的なかつ好ましいエイリアス補正方法および装置が同じ出願人の出願に係る同時係属中の「グラフィクスシステムにおけるエイリアス補正方法および装置」(特願平2001−94538)に開示されていて、この開示がそれを参照することによって全体としてここで取り入れられる。内部フレームバッファのための96ビットピクセルフォーマットのより完全な理解を与えるために、以下に、このエイリアス補正の簡単な説明を行う。
【0038】
エイリアス補正の実施例によれば、エイリアス補正は2つの主たるフェーズで行われる。最初のフェーズでは、データはピクセル毎に3つの超サンプルおよび96ビットのピクセルEFBフォーマットを用いる内部フレームバッファにロードされる。第2フェーズにおいて、データは、この内部フレームバッファから読み出され(もしくはコピーされ)、コピーパイプラインによってさらに処理される。96ビットフォーマットは、特に、エイリアス補正の第1フェーズを達成するために有利である。しかしながら、それは同じように任意の他の適宜の目的のために使用され得る。
【0039】
96ビットフォーマットを用いるこの実施例のエイリアス補正においては、第1エイリアス補正フェーズは、ラスタライザが内部フレームバッファ(EFB)702へのエッジラスタライゼーションを行っているときに生じる。好ましくは、このラスタライザはエッジおよびzラスタライザであり、それは、レンダリングされている現在の三角形もしくは他のプリミティブに含まれる可視ピクセルクォードラプレット内におけるプログラマブルな超サンプリング位置のためのx,y,zおよびカバーマスク値を発生する。このピクセルクォードラプレットは各ピクセル内において3つのプログラマブルなサブピクセル位置を有する。ピクセルクォードラプレットは2×2構成において4つのピクセルを含む。クォードラプレット中の各ピクセル内において、3つの超サンプリング位置がプログラマブルに選択されかつ特定される。好ましくは、プログラマは、グローバルレジスタを書き込むことによって、サブサンプル位置を設定できる。各ピクセル中の超サンプリングの各々の位置がこの実施例においてはプログラマブルであるため、具体的なアプリケーションについての必要に応じて各クォードラプレットのための具体的なサンプリング位置を変更することができる。他方、別の実施例においては、具体的に最適化されたマルチサンプル位置の値が(たとえばハードウェアに設定することによって)固定され、そのために、アプリケーションプログラマはそれを気にする必要がない。したがって、実施例においては位置はプログラマブルであるが、このプログラマブルな能力に代えて結線された随意的なパターンが用いられてもよい。パターンを選択するものは、フレーム中の或る数の隣接ピクセルにまたがって繰り返され得る。
【0040】
すべてのプリミティブが1フレームについてレンダリングされると、内部フレームバッファは1つの全フレームについての超サンプリングピクセルの情報を含む。各ピクセルについて3つの超サンプルが与えられ、各サンプルが16ビットのカラー値と16ビットのz値とを含むということによって、各ピクセルは内部フレームバッファ中において96ビットで表される。内部フレームバッファは、次いで、コピーパイプラインによる使用のために準備され、そこでは、エイリアス補正の第2フェーズが実行可能である。この第2フェーズはコピーパイプラインに関連して以下により詳細に説明する。エイリアス補正についてのさらなる詳細は上で述べた同時係属中の出願を参照されたい。
YUV内部フレームバッファ構成
図7は、内部フレームバッファ702のための別の構成を示し、このバッファ702は、たとえば、システムによってサポートされるべきMPEG規格(たとえばMPEG2)の下での動き補償を可能ならしめるYUV(輝度/クロマ)フォーマットにおけるピクセルデータをストアするように設計されている。このYUV構成においては、カラーバッファは、好ましくは、YUV4:2:0フレームのためのY(720×576),U(360×288)およびV(360×288)のイメージパネルをストアするように仕切られる。このカラーバッファの仕切りは
・1024×640 8ビットのYイメージ;
・528×320 8ビットのUイメージ;および
・528×320 8ビットのVイメージ
を割り付ける。
【0041】
イメージの好ましい割り付けが図7に示される。YUVデータは好ましくは、光ディスクやその類似物のような外部へ供給される媒体からもしくはグラフィクスパイプライン以外の任意の他の適宜のソースから、主プロセサによって内部フレームバッファにロードされる。しかしながら、グラフィクスパイプラインは1つの成分YまたはUまたはVイメージを与えるが、3つのYUVピクセルを引き出すことはできない。以下に詳細に説明するように、内部フレームバッファ中のYUVデータは、そのデータを表示するためにもしくはそのデータをグラフィクスパイプラインによる後続の使用のためにテクスチャデータに変換するために、コピーパイプラインによってさらに処理され得る。
ピクセルフォーマットコマンドの例
上で説明したように、内部フレームバッファ702は2つのRGB(A)ピクセルフォーマット(48ビットおよび96ビット)ならびにYUVフォーマットをサポートするように選択的に構成され得る。所望のピクセルフォーマットが、好ましくは、API(Application Program Interface)を用いるフレーム毎に設定される。この目的のAPI関数を表1に示す。
【0042】
【表1】
Figure 0004719363
【0043】
この関数は内部フレームバッファのフォーマットを設定する。その関数は任意の引き出し動作を行う前にコールされる。ピクセルフォーマットは、この実施例においては、フレームの中程で変更され得る。16ビットのZ値(マルチサンプルまたはエイリアス補正モードで)は圧縮されなくても圧縮されてもよい。圧縮された値はよりよい精細度および範囲を与える。Ztopフラグがテクスチャマッピングの前に(Z-before-texture)、デプス比較を行うために使用される。これは、ごく僅かのテクセルが取り出されかつフィルタリングされるだけであるので、テクスチャバンド幅を改善する。
ピクセルエンジンと内部フレームバッファとの間のインタフェース
ピクセルエンジン700と内部フレームバッファ702との間の例示的なインタフェースが図8に示される。好ましくは、図8に示すように、そのうちの2つがカラー用であり2つがZ用である内部フレームバッファの4つのコピー(702a,702b,702cおよび702d)がある。この例において、ピクセルエンジンからの内部フレームバッファへの読出または書込アクセスは96ビットのデータまたはカラーおよびZの4つのクォードラプレットを転送する。バッファの各々のコアへの4つのアドレス/制御および読出バスがある。ZチャネルAおよびBは、好ましくは、書込ポート703aを共用し、カラーチャネルAおよびBは好ましくは、別の書込ポート703bを共用する。内部フレームバッファは、好ましくは、800Mピクセル/秒のピークフィルレートのためにクロック毎に4つのピクセルをブレンドするように十分なバンド幅を有する。内部フレームバッファの最大サイズは640×528×24ビットカラーおよび24ビットZである。内部フレームバッファは1つのバッファであり、最終イメージを表示のために外部フレームバッファへ転送するようにされている。二重にバッファされた表示がこの態様で達成される。図7に示すアドレス/制御,読出および書込バスは次の表2に詳細に定義される。
【0044】
【表2】
Figure 0004719363
【0045】
コピーアウト動作およびパイプラインの例
コピーパイプラインと呼ばれるものを通してこの実施例中において実現されるコピーアウト動作は、内部フレームバッファ(EFB)からのピクセルデータをさらに処理するために、そしてビデオインタフェースによる表示のための表示データとしてもしくはグラフィクスパイプライン(図12参照)による後の使用のためのテクスチャデータとして、フレームデータを最終的に、主メモリ112の外部フレームバッファ(XFB)へ選択したフォーマットで書き込むために使用される。内部フレームバッファ中のRGB(A)またはYUV420のデータが主メモリYUV422へフィールド毎にまたはフレーム毎にコピーされ得る。YUV422データは、走査線順次にコピーアウトされる。走査線間でメモリバイトをスキップさせるのを許容するストライドがある。Y8は最下位アドレスであり、それに続いてU8,Y8およびV8がある。YUVフォーマットにおけるコピーによって、主メモリにおいて使用されるメモリ量を1/3まで減じる。
【0046】
コピーパイプラインの概略ブロック図が図9に示され、この図9では、このコピーパイプラインは2つのRGB(A)ピクセル構成のどちらかのときEFBからのデータの処理に主として関連するものとして示される。図9に示すように、コピーパイプラインのこの局面は、エイリアス補正/デフリッカ部622,ガンマ補正部623,RGB−YUV変換部624およびYスケーリング部626を含む。
【0047】
すべてのEFB構成(すなわち、RGB(A)およびYUV)のためのコピーパイプラインのより完全なブロック図が図13に示される。図12はシステムの種々のコンポーネント間でデータが取り出される種々の経路を示す。図13に示すように、この実施例におけるフィルタリング動作のために必要なバッファリング量を低減するために、コピー矩形(rectangle)が32×32のタイルに分解される。これらのタイルは2つのタイルバッファ625aおよび625bを用いることによって二重にバッファリングされ、そのために、1つのタイルが充填(フィル)されているとき他のタイルが読み出されかつ主メモリへ送られるように処理される。矩形は、好ましくは、Y方向のタイルに分解され、それに続いてX方向のタイルに分解される。1つのタイル内の1つのスパンにおける4つのピクセルが1つのサイクルで処理される。このピクセルクォードラプレットはYからXへ続く順序で処理される。
【0048】
より具体的に図13を参照して、具体的なコピーパイプライン動作は、内部フレームバッファ中におけるデータの具体的な構造やそのコピーアウト動作の結果を必要とするプログラマに依存する。上で述べたように、カラーバッファはRGB8,RGBA6,R5G6B5(エイリアス補正)もしくはYUV420のデータを含み、Zバッファは24ビットのZもしくは3×16ビットのZ(エイリアス補正)を含む。図18はこの実施例において利用可能な種々のデータフォーマットのための好ましい変換マトリクスを示す。
【0049】
内部フレームバッファが上で述べたRGB(A)フォーマットのいずれかにおけるデータのためにかつそれを含むように構成されるならば、コピーパイプラインは、好ましくは、図13においてブロック628によって図示するプログラマブルな7タップの垂直フィルタを用いるエイリアス補正/デフリッカ動作を行う。より詳細には後に説明するが、このフィルタは多数のピクセルからの点サンプリングされたもしくは超サンプリングされた(エイリアス補正)ピクセルデータをブレンドし、それの結果として得られたピクセルカラーを出力する。ブレンドが行われると、ブロック623によって図解されるように、ガンマ補正が行われる。次いで、具体的なアプリケーションのために必要ならば、RGBデータをYUV444フォーマットへ変換する(ブロック641)ために随意的な変換が行われ得る。もし、データがブロック641でYUV444へ変換されると、次いで、YUV444からYUV422へ変換するためにブロック644において他の随意的な変換が行われる。コピーパイプラインが表示のために使用されているならば、YUV422へのこの変換は、この実施例ではYUV422である主メモリ表示フォーマットへそのデータをするために行われる。タイルデータは、次いで、上で説明したタイルバッファ625aおよび625bでバッファリングされる。そして、そのタイルが表示のためのものであれば、Yスケーリングがブロック626で行われ、スケーリングされたデータが、ビデオインタフェースによる使用のためのYUV422フォーマットで主メモリへコピーアウトされる(ブロック642)。他方、データがテクスチャとして使用されるものであれば、Yスケーリングは行われない。代わりに、タイルデータはブロック640で所望のテクスチャにフォーマット化され、グラフィクスパイプラインにおける後続する動作における使用のために、テクスチャタイルとして主メモリへ送られる。この実施例における可能なテクスチャフォーマットが図18に示され、テクスチャコピーコマンドおよびレジスタビット定義に関連して以下にリストアップされる。
【0050】
もし、内部フレームバッファが上で説明したYUV420フォーマットのデータのためでありかつそのデータを保持するように構成されるなら、パイプラインは図13の下部によって示されるような僅かに異なる動作を有する。特に、カラーバッファからのYUV420のデータは、まず、YUV444フォーマットへ変換される(ブロック646)。YUV444からRGBへの随意的な変換が、次いでブロック648で行われ得る。データ経路はRGB(A)構成に関連して上で説明したと同じである。すなわち、タイルは、ブロック644で、YUV422に随意的に変換され(もし先にYUV444へ変換されているなら)、次いで、バッファリングされ、そしてスケーリングされるかまたは表示データとして主メモリへ送られ、もしくは所望のテクスチャフォーマットへ変換されて主メモリ中にテクスチャタイルとしてストアされる。図19は主メモリへテクスチャタイル(たとえば、タイル1−4)が如何にしてストアされるかの例を示す。
【0051】
テクスチャは内部フレームバッファ(EFB)をGXCopyTex 関数を用いる主メモリへコピーすることによって作られる。これは、動的な影マップ、環境マップ、動きブルー(blur)効果等を作り出すときに有用である。
【0052】
圧縮テクスチャ(GX_TF_CMPR) を除くすべての非カラーインデックステクスチャ形式がこのコピー中に作り出され得る。テクスチャコピー動作は正しいタイルおよびテクスチャフォーマットを作り、そのためにハードウェアによって直接読み出され得る。随意的に、下部詳細レベル(LOD:level of detail)テクスチャを作り出すためにEFBにおけるイメージにボックスフィルタが適用され得る。このボックスフィルタはEFBデータからミップマップ(mipmap)を作り出すために使用され得る。テクスチャコピーフォーマットおよび変換ノートの例を次の表3に示す。
【0053】
【表3】
Figure 0004719363
【0054】
通常、ソースおよび宛先矩形は同じサイズを有する。しかしながら、より大きなテクスチャへ組み立てられる小さいテクスチャをコピーするときには、ソースおよび宛先矩形は異なってよい。フォーマットGX_TF_A8が、具体的に、EFBからのアルファチャネルをGX_TF_I8のフォーマット化されたテクスチャへコピーするために使用される。GX_TF_I8はEFBの輝度をGX_TF_I8テクスチャへコピーする。テクスチャを読み出すとき、GX_TF_A8およびGX_TF_I8は同じである。GX_PF_RGB8_Z24 のピクセルフォーマットからGX_TF_RGB565のような低解像度カラーフォーマットへカラーテクスチャが変換されるとき、8ビットカラーの最下位ビット(LSBs)が圧縮される。GX_PF_RGB565_Z16 のような低解像度ピクセルフォーマットからGX_TF_RGB8のような高解像度テクスチャフォーマットへカラーテクスチャが変換されるとき、各ピクセルの最上位ビット(MSBs)が各テクセルの最下位ビットに折り返される。この変換プロセスが見込みエラーを均等に分散し、そして、各テクセルが最小もしくは最大値を表すことができるようにする。概略的にいえば、EFBからのアルファを含むテクスチャをフォーマットGX_PF_RGBA6_Z24 でコピーするだけである。EFBからのアルファを含むテクスチャをアルファなしでコピーすると、アルファはその最大値に設定される。GX_TF_Z24X8 フォーマットは24ビットのZバッファを32ビットのテクスチャ(GX_TF_RGB8と等価なフォーマット)にコピーするために使用される。テクスチャをコピーするために、アプリケーションは、好ましくは、まず、主メモリ中のバッファにコピーされるべきテクスチャのサイズを割り付ける。このサイズは、たとえばGXGetTexBufferSize関数を用いることによって決定できる。この関数は、好ましくは、それの計算においてテクスチャパッド(padding)およびテクスチャ形式を考慮に入れる。
【0055】
上の説明からわかるように、この発明に従ったコピーアウトプロセスによって、使用されるべき種々のデータフォーマットおよび行われるべき種々の変換/操作を可能とし、それによって非常な柔軟性および機能性が与えられる。YUVフォーマットをサポートしかつテクスチャとしてのコピーアウトを可能にすることによって、コピーパイプラインは、たとえば、動き補償を行う際に主プロセサを助けるために使用され得る。上で述べたようなコピーアウトプロセスは、内部フレームバッファからのデータを表示のためにもしくはテクスチャとして外部フレームバッファへ効率的に移動させかつ処理するために用いられるだけでなく、YUVカラー空間を使用するMPEGデータに基づくテクスチャコピーの特徴を使用することによって、ポリゴン上に重畳されるべき映像をストリーミングすることができる。
【0056】
上で述べたコピーパイプライン動作の各々がより一層詳細に以下に説明される。
コピーアウト中の例示的なエイリアス補正
上で簡単に説明したように、エイリアス補正が必要な場合には、内部フレームバッファは96ビットのエイリアス補正付きピクセルデータ(たとえば、R5G6B6およびZ16 )のために構成され、エイリアス補正の第2ステージがコピーアウト中に行われ得る。特に、エイリアス補正の第2ステージは、内部フレームバッファ(EFB)702から外部フレームバッファ(XFB)113へのコピーアウト中に、エイリアス補正/デフリッカ部622によって行われる。
【0057】
コピーパイプラインのエイリアス補正/デフリッカ部622は、好ましくは、各超サンプル毎にプログラマブルな重み(W0−W6)を有する7タップの垂直フィルタ628(図14を参照)を適用する。垂直フィルタのためのサポートは、好ましくは、3垂直ピクセル領域である。したがって、エイリアス補正モードにおける現在のピクセルNのためのカラーを決定するとき、現在のピクセルの直上のピクセル(N−1)における超サンプルおよび現在のピクセルの直下のピクセル(N+1)における超サンプルならびに現在のピクセルにおける超サンプルが好ましくは用いられる。好ましくは、2つの周囲のピクセルの各々内において現在のピクセルから最も遠いサンプルはそのフィルタリング動作においては用いられない。そのために、フィルタリングのための3ピクセルのサポートは9つのサンプルを持つが、その9つのサンプルの7個だけが実施例におけるブレンド動作において使用される。結果的に得られた垂直フィルタリング出力は外部フレームバッファへの最終的なコピーおよび表示装置56上での表示のために、1画面のピクセルカラー値(N′)を与える。
【0058】
フルラインバッファの使用を回避するために、コピー動作は、好ましくは、エイリアス補正(AA)バッファリングを使用し、そこでは、コピーが32ピクセル幅(X軸)のストリップ中で行われる。この例示のAAバッファリングにおけるストリップバッファのためのデータ経路が図15のブロック図中に示される。
【0059】
エイリアス補正/デフリッカ防止技術およびその構成に関する付加的な詳細は先に挙げた同時係属中の出願にある。この発明は内部フレームバッファおよび全体のコピー動作に向けられており、したがって、具体的なエイリアス補正動作には関係なく、ここではエイリアス補正に関するこれ以上の詳細は省略する。
コピーアウト中の例示的なデフリッカフィルタリング
同じ垂直フィルタが、点サンプルピクセルを用いるデフリッカ機能を達成するために、非エイリアス補正モードにおけるコピーアウト中に使用され得る。このモードにおいては、サンプルリングパターンはプログラマブルではない。図16に示すように、ハードウェアは、ピクセルの中心だけをサンプル位置として使用する。各点サンプル毎の重み係数(W0−W6)はエイリアス補正フィルタリングと同じようにプログラマブルである。したがって、デフリッカモードにおける垂直フィルタ628aは現在のピクセルからの3つの入力(中心だけ)および2つの垂直隣接ピクセルの各々からの2つの入力(中心のみ)を使用する。プログラマブルな重み係数が7サンプルに加えられ、そして、結果が最終ピクセルカラー(N′)を得るために加えられる。好ましくは、デフリッカフィルタおよびAAフィルタは共用される。AAデータ経路(図15参照)において用いられる4つのストリップバッファがまたクォードラプレットストリップをストアするために使用される。デフリッカバッファリングのためのデータ経路の例示的なブロック図が図17に示される。このデフリッカに関するさらなる詳細は上記同時係属中の出願において与えられる。
コピーアウト中のRGBからYUV変換の例
輝度/クロマ(YUV)フォーマットはRGBと同じ可視品質のピクセルをストアするが、メモリの2/3だけを必要とする。したがって、コピー動作中、外部フレームバッファ(XFB)のために使用される主メモリの量を減じるために、EFBにおけるRGB(A)フォーマットがXFBにおいてYUVフォーマットに変換される。この変換はRGB−YUV部624によって行われる。変換動作の図解が図10に示され、そこでは、RGBデータが最初にYUV444フォーマットに変換され、次いで、表示データとしてXFBへのストアのためにYUV422フォーマットにダウンサンプリングされる。
コピーアウト中の垂直(Y)スケーリング
コピーパイプラインにおけるYスケール部626はレンダリングイメージの垂直方向における任意のスケーリングを可能にする。水平スケーリングは好ましくは映像表示中に行われる。YスケーリングファクタはAPIにおいて定義され、コピーされる走査線の数を決定し、適当なXFBのサイズを計算するために使用され得る。この発明に従った好ましい垂直スケーリングのためのブロック図が図11に示される。垂直スケーリングは2つの垂直隣接ストリップ間の8ビットラープ(lerp)を使用することによって行う。このラープ係数は1.0で始まる。走査線が出力された後、固定小数点値(1.8)がそのラープ係数に加算される。ラープ係数のキャリーが新たな走査線を使用すべきことを伝達する。2つのストリップバッファ626aおよび626bが互いの上端にある2つの部分的な走査線を確保するために使用される。バッファA(626a)は偶数y値を有するすべての入来ストリップを保持し、バッファB(626b)はすべての奇数y値ストリップを保持する。
コピーアウト中のガンマ補正
ガンマ補正部623は、目の(および時々モニタの)非直線応答を補正するために使用され、カラーの輝度値における変化を直線的にする。ガンマの3つの選択肢が与えられる(1.0,1.7および2.2のような)。デフォルトのガンマは好ましくは1.0であり、それは、たとえば、APIのGXInitコマンドに設定される。
コピーアウト中に使用可能な変換動作の例
RGBからYCrCb(4:4:4)変換
この変換は必要な外部フレームバッファの量を1/3までに減じるために使用される。数1がこの変換のために使用される。
【0060】
【数1】
Figure 0004719363
【0061】
1つの走査線の4つのピクセルが1サイクルで変換される。
【0062】
YCrCb(4:4:4)からYCrCb(4:2:2)
YUV444からYUV422への変換の例が図20に示される。この変換のために数2が使用される。
【0063】
【数2】
Figure 0004719363
【0064】
YCrCb(4:2:0)からYCrCb(4:4:4)
この変換は図21および図22に示される2つの部分で行われる。図21に示す最初の部分ではYUV420フォーマットからYUV422フォーマットへ変換する。この変換が使用するのは数3である。
【0065】
【数3】
Figure 0004719363
【0066】
このYUV420−YUV440変換の第2部分は、図22に示すように、1つ上の部分からのYUV422データをYUV444にアップサンプリングする。この変換は数4を使用する。
【0067】
【数4】
Figure 0004719363
【0068】
YCbCr(4:4:4)からRGBへの変換
MPEG2はYCbCr(YUV)カラー空間において動作する。この変換は、コピーアウト中にYUVデータをRGBデータへ変換するために使用される。
数5がこの変換に使用される。
【0069】
【数5】
Figure 0004719363
【0070】
1つの走査線中の4つのピクセルが1サイクルで変換される。
コピーアウトコマンドの例
表示コピー動作のEFBソースおよび宛先は表4に例示するAPI関数を使用することによって特定される。
【0071】
【表4】
Figure 0004719363
【0072】
この関数は内部フレームバッファ(EFB)の内容を主メモリ中の表示バッファ113へコピーする。「コピーアウト(copy out)」なる用語は、すべての情報を単純に転送する意味ではなく、内部フレームバッファの内容が読み出され、さらに処理され(フィルタリング、再サンプリング、スケーリングなどされ)、その結果的に得られたデータが次いでどこか(たとえば、外部の点サンプル形式のフレームバッファ)へ送られることを意味する。矩形の原点がSrcLeft(X)およびSrcTop(Y) によって定義される。クリアフラグはカラーおよびzバッファの現在のカラーおよびz値へのクリアを可能にする。内部フレームバッファのクリアは好ましくは、コピー動作と同時に生じる。
【0073】
このコピー動作のための制御を設定するために表5で示す関数が使用される。
【0074】
【表5】
Figure 0004719363
【0075】
この関数は内部フレームバッファから表示バッファへのコピー中に使用される制御を設定する。これらの制御は1回設定され、その後多数のコピーコマンドが発行され得る。
【0076】
内部フレームバッファからのテクスチャとしてのデータのコピーのための例示的なAPIコマンドが表6に示される。
【0077】
【表6】
Figure 0004719363
【0078】
この関数は、グラフィクスパイプラインによる後続の使用のためのテクスチャイメージを発生するために、内部フレームバッファを主メモリ中のテクスチャイメージバッファへコピーする。
【0079】
上の例示的なAPIコマンドを使用して指定され得る例示的なパラメータのリストが表7〜表12に示される。
【0080】
【表7】
Figure 0004719363
【0081】
【表8】
Figure 0004719363
【0082】
【表9】
Figure 0004719363
【0083】
【表10】
Figure 0004719363
【0084】
【表11】
Figure 0004719363
【0085】
【表12】
Figure 0004719363
【0086】
ピクセルエンジンレジスタの例
図23−図25はコピーアウト動作に関連してピクセルエンジンによって使用される例示的なレジスタを示す。特に、図23は制御レジスタを示す。この制御レジスタのビット定義は表13に示す通りである。
【0087】
【表13】
Figure 0004719363
【0088】
ビット0−2はコピー動作のためのピクセル形式を指定する。この制御レジスタへの書き込みによって、エッジラスタライザ(RAS0)とピクセルエンジン(PE)との間のグラフィクスパイプラインステージがフラッシュされる。この実施例において、これは最小90サイクルを要する。この実施例への書き込みはまたコピーテクスチャをそのテクスチャを用いるプリミティブのレンダリングと同期化するために使用される。
【0089】
図24はテクスチャ動作へのコピーのための例示的なレジスタを示す。このレジスタのビット定義は表14に示す通りである。
【0090】
【表14】
Figure 0004719363
【0091】
この動作に許容されているピクセル形式はRGB8,RGBA6,RGB_AA(すなわち、エイリアス補正(R5G6B5)),YUV8およびYUV420である。ビット3−6はテクスチャバッファ中にコピーコマンドによってストアされるテクスチャのフォーマットを決定する。この実施例において、このテクスチャフォーマッティングは図13に示すテクスチャフォーマット部640において行われる。この実施例では、Clrはピクセル形式YUV420のためにはサポートされておらず、0に設定されるべきである。この実施例において、ガンマ補正もまたピクセル形式YUV420のためにはサポートされていない。
【0092】
図25は表示動作へのコピーのための例示的なレジスタを示す。このレジスタのビット定義は表15に示す。
【0093】
【表15】
Figure 0004719363
【0094】
この動作のために許容されているピクセル形式は、RGB8,RGBA6,RGB_AA(エイリアス補正)およびYUV420である。Clrはピクセル形式YUV420のためにはサポートされておらず、0に設定されるべきである。この実施例においては、ガンマ補正もまたピクセル形式YUV420のためにはサポートされていない。
互換性のある他の実施例
上述のシステム50は上で述べた家庭用ビデオゲームコンソールの構成以外としても実現できる。たとえば、或るものは、システム50をエミュレートする異なる構成を有するプラットフォームもしくはそれと同等のものにおいて、システム50のために書かれたグラフィクスアプリケーションや他のソフトウェアを実行させることができる。もし、他のプラットフォームがシステム50のいくつかのもしくはすべてのハードウェアおよびソフトウェアリソースをエミュレートしシミュレートしおよび/または提供することができれば、その他のプラットフォームはそのソフトウェアを成功裏に実行することができる。
【0095】
一例として、エミュレータがシステム50のハードウェアおよび/またはソフトウェア構成(プラットフォーム)とは異なるハードウェアおよび/またはソフトウェア構成(プラットフォーム)を提供できる。そのエミュレータシステムは、それのためにアプリケーションソフトウェアが書かれているシステムのいくつかのもしくはすべてのハードウェアおよび/またはソフトウェアコンポーネンツをエミュレートしもしくはシミュレートするソフトウェアおよび/またはハードウェアコンポーネンツを含む。たとえば、エミュレータシステムはパソコンのような汎用ディジタルコンピュータを含み、それはシステム50のハードウェアおよび/またはファームウェアをシミュレートするソフトウェアエミュレータプログラムを実行する。上述のオーディオシステムのDSP処理がパソコンによってエミュレートされ得る。
【0096】
或る汎用ディジタルコンピュータ(たとえばIBMやマッキントッシュのパソコンおよびそれらの同等物)は、ダイレクトX(DirectX)または他の標準的な3DグラフィクスコマンドAPIsに従った3Dグラフィクスパイプラインを提供する3Dグラフィクスカードを備える。それらはまた、音声コマンドの標準的なセットに基づいて高品質のステレオ音声を提供するステレオ音声カードを備える。エミュレータソフトウェアを実行するそのようなマルチメディアのハードウェアを備えるパソコンは、システム50のグラフィクスおよび音声性能とほぼ等しい十分な性能を有する。エミュレータソフトウェアはパソコンプラットフォーム上のハードウェアリソースを制御して、それのためにゲームプログラマがゲームソフトウェアを書いた家庭用ビデオゲームコンソールプラットフォームの処理,3Dグラフィクス,音声,周辺および他の能力をシミュレートする。
【0097】
図26はホストプラットフォーム1201,エミュレータコンポーネント1303および記憶媒体62上のゲームソフトウェア実行可能バイナリ映像を用いる全体のエミュレーション処理を図解する。ホスト1201は、たとえばパソコン,ビデオゲームコンソールあるいは十分な計算力を有する任意の他のプラットフォームのような汎用または特定目的ディジタル計算装置である。エミュレータ1303はそのホストプラットフォーム1201上で走るソフトウェアおよび/またはハードウェアであり、記憶媒体62からのコマンド,データおよび他の情報のそのホスト1201によって実行可能な形態へのリアルタイム変換を行う。たとえば、エミュレータ1303は記憶媒体62からシステム50によって実行されるように意図された「ソース」であるバイナリ映像プログラム命令を取り込み、これらのプログラム命令をホスト1201によって実行されもしくは処理され得るターゲットとなる形態に変換する。
【0098】
一例として、ソフトウェアがIBMパワーPCまたは他の特定のプロセサを用いるプラットフォーム上での実行のために書かれかつホスト1201が異なる(たとえばインテル)プロセサを用いるパソコンである場合、エミュレータ1203は記憶媒体1305からの1つのもしくは一連のバイナリ映像プログラム命令を取り込み、これらのプログラム命令を1つまたはそれ以上の同等のインテルのバイナリ映像プログラム命令に変換する。エミュレータ1203はまたグラフィクス/オーディオプロセサ114によって処理されるように意図されたグラフィクスコマンドおよびオーディオコマンドを取り込みかつ/あるいは生成し、そしてホスト1201上で利用可能なハードウェアおよび/またはソフトウェアグラフィクス/オーディオ処理リソースによって処理され得る形態にこれらのコマンドを変換する。一例として、エミュレータ1303はホスト1201の特別なグラフィクスおよび/または音声ハードウェア(たとえば標準的なダイレクトX,オープンGLおよび/または音声APIs)によって処理され得るコマンドにこれらのコマンドを変換する。
【0099】
上で述べたビデオゲームシステムのいくつかのもしくはすべての特徴を与えるために用いられるエミュレータ1303は、また、エミュレータを使ってゲームを走らせている種々のオプションおよびスクリーンモードの選択を簡単化しもしくは自動化するグラフィックユーザインタフェース(GUI)を備える。一例において、そのようなエミュレータ1303はさらにそのソフトウェアが本来的に目的とされたホストプラットフォームに比べてより増強された機能性を含むこともできる。
【0100】
図27はエミュレータ1303で用いるに適したエミュレーションホストシステム1201を図解的に示す。このシステム1201は処理ユニット1203およびシステムメモリ1205を含む。システムバス1207がシステムメモリ1205を含む種々のシステムコンポーネンツを処理ユニット1203に結合する。システムバス1207は多様なバスアーキテクチャのいずれかを用いるメモリバスもしくはメモリコントローラ,周辺バスおよびローカルバスを含むいくつかのタイプのバス構造の任意のものである。システムメモリ1207はROM1252およびRAM1254を含む。起動中においてのようにパソコンシステム1201中のエレメント(要素)間に情報を伝送する手助けをする基本ルーチンを含む基本入力/出力システム(BIOS)1256がROM1252中にストアされる。システム1201はさらに種々のドライブおよび関連のコンピュータ読出可能な媒体を含む。ハードディスクドライブ1209が(典型的には固定の)磁気ハードディスク1211から読み出しそれへ書き込む。付加的な(たぶんオプションとしての)磁気ディスクドライブ1213が着脱可能な「フロッピィ」または他の磁気ディスク1251から読み出しかつそれへ書き込む。光ディスクドライブ1217はCD−ROMあるいは他の光学媒体のような着脱自在な光ディスク1219から読み出しかつそれへ書き込む。ハードディスクドライブ1209および光ディスクドライブ1217は、ハードディスクドライブインタフェース1221および光ディスクドライブインタフェース1225によって、システムバス1207にそれぞれ接続される。これらのドライブおよびその関連するコンピュータ読出可能な媒体は、パソコンシステム1201のためのコンピュータ読出可能な命令,データ構造,プログラムモジュール,ゲームプログラムおよび他のデータの不揮発性の記憶媒体を提供する。他の構成では、コンピュータによってアクセス可能なデータをストアすることができる他のタイプのコンピュータ読出可能な媒体(たとえば磁気カセット,フラッシュメモリカード,ディジタルビデオディスク,ベルヌーイカートリッジ,RAM,ROMあるいはその他のもの)がまた使用できる。
【0101】
エミュレータ1303を含む多数のプログラムモジュールがハードディスク1211,着脱可能な磁気ディスク1215,光ディスク1219および/またはシステムメモリ1205のROM1252および/またはRAM1254にストアされ得る。このようなプログラムモジュールはグラフィクス/音声APIs,1つ以上のアプリケーションプログラム,他のプログラムモジュール,プログラムデータおよびゲームデータを提供するオペレーティングシステム(OS)を含む。ユーザは、キーボード1227,ポインティングデバイス1229,マイクロフォン,ジョイスティック,ゲームコントローラ,衛星アンテナ(satellite dish),スキャナあるいはその他のもののような入力デバイスを通して、パソコンシステム1201にコマンドおよび情報を入力することができる。これらのそして他の入力デバイスは、システムバス1207に結合されたシリアルポートインタフェース1231を通して処理ユニット1203に接続され得るが、パラレルポート,ゲームポートファイヤワイヤバス(Fire Wire)もしくはユニバーサルシリアルバス(USB)のような他のインタフェースによって接続されてもよい。モニタまたは他のタイプの表示デバイスがまたビデオアダプタ1235のようなインタフェースを介してシステムバス1207に接続される。
【0102】
システム1201はモデム1154またはインターネットのようなネットワーク1152を通しての通信を確立するための他のネットワークインタフェース手段を含む。内部もしくは外付けであってよいモデム1154はシリアルポートインタフェース1231を介してシステムバス123に接続される。システム1201がローカルエリアネットワーク1158を介して遠隔コンピュータ装置1150(たとえば他のシステム1201)と通信するのを許容するために、ネットワークインタフェース1156がまた設けられてもよい(もしくはそのような通信はダイヤルアップもしくは他の通信手段のようなワイドエリアネットワーク1152もしくは他の通信経路を介してもよい)。システム1201はプリンタのような周辺出力装置および他の標準的な周辺装置を含む。
【0103】
一例では、ビデオアダプタ1235は、マイクロソフト(Microsoft)のダイレクトX7.0、または他のバージョンのような標準的な3Dグラフィクスアプリケーションプログラマインタフェースに基づいて発行された3Dグラフィクスコマンドに応答して、高速の3Dグラフィクスレンダリングを提供する3Dグラフィクスパイプラインチップセットを含んでもよい。1組のスピーカ1237はまた、バス1207によって与えられる音声コマンドに基づいて高品質ステレオ音声を生成するハードウェアおよび埋め込みソフトウェアを提供する従来の「音声カード」のような音声生成インタフェースを介して、システムバス1207に接続される。これらのハードウェア能力によって記憶媒体1305中にストアされているソフトウェアを再生するためにシステム1201に十分なグラフィクスおよび音声の速度性能を与えることができる。
【0104】
最も現実的かつ好ましい実施例であると現在考えられているものに関連してこの発明が説明されたが、この発明は開示された実施例に限定されるものではなく、逆に、特許請求の範囲内に含まれる種々の変形例や等価的な構成をカバーするように意図されていることを理解されたい。
【図面の簡単な説明】
【図1】図1はインタラクティブコンピュータグラフィクスシステムの実施例を示す全体図である。
【図2】図2は図1実施例のコンピュータグラフィクスシステムのブロック図である。
【図3】図3は図2に示す実施例のグラフィクス/オーディオプロセサのブロック図である。
【図4】図4は図3に示す実施例の3Dグラフィクスプロセサのブロック図である。
【図5】図4のグラフィクス/オーディオプロセサの例示的な論理フロー図である。
【図6】図6は例示的な内部フレームバッファおよびここで使用する2つのRGBベースのフォーマットを示す。
【図7】図7はYUVフォーマットデータをストアするために図6を再構成した例示的なフレームバッファを示す。
【図8】図8はピクセルエンジンと内部フレームバッファとの間の例示的なインタフェースを示す。
【図9】図9はコピーパイプラインの例示的なブロック図を示す。
【図10】図10はRGBフォーマットからYUVフォーマットへの例示的な変換を図解する。
【図11】図11は垂直スケーリングのために使用されるデータ経路の例示的なブロック図を示す。
【図12】図12はシステムの種々のコンポーネント間でデータがどのように移動するかを示すグラフィクスシステムのブロック図である。
【図13】図13は図9のコピーパイプラインのより詳細なブロック図を示す。
【図14】図14はこの発明の好ましい実施例に従ったエイリアス補正のために使用される例示的な7タップの垂直フィルタを示す。
【図15】図15はこの発明の好ましい実施例に従って使用されるエイリアス補正バッファリングのブロック図を示す。
【図16】図16はデフリッカのために使用される図14の垂直フィルタを示す。
【図17】図17はこの発明の好ましい実施例に従って使用されるデフリッカバッファリングのブロック図である。
【図18】図18はこの発明の好ましい実施例に従った変換マトリクスを示す。
【図19】図19は主メモリ中にストアされているテクスチャタイルを示す。
【図20】図20はYUV444フォーマットからYUV422フォーマットへのダウンサンプリング変換を図解する。
【図21】図21はYUV422フォーマットからYUV444フォーマットへデータを変換するために使用される2変換の1つを図解する。
【図22】図22はYUV422フォーマットからYUV444フォーマットへデータを変換するために使用される2変換の他の1つを図解する。
【図23】図23は現在のピクセルフォーマットを定義する際に使用するための例示的な制御レジスタを示す。
【図24】図24はテクスチャコピーコマンドに関連して使用される例示的なレジスタを示す。
【図25】図25は表示コピーコマンドに関連して使用される例示的なレジスタを示す。
【図26】図26は他の互換性のある一実施例を示す図解図である。
【図27】図27は他の互換性のある他の実施例を示す図解図である。
【符号の説明】
50 …インタラクティブ3Dコンピュータグラフィクスシステム
54 …主ユニット
56 …表示装置
110 …主プロセサ
112 …主メモリ
113 …外部フレームバッファ
114 …グラフィクス/オーディオプロセサ
164 …ビデオインタフェース
500 …テクスチャユニット
502 …テクスチャメモリ
600 …テクスチャ環境ユニット
622 …エイリアス補正/デフリッカ部
623 …ガンマ補正部
624 …RGB−YUV変換部
625 …Yスケーリング部
700 …ピクセルエンジン
702 …内部フレームバッファ

Claims (11)

  1. 主プロセサ、関連する主メモリおよびグラフィックスパイプライン回路および内部フレームバッファを有するグラフィックスプロセサを含み、前記主メモリはグラフィックスパイプライン回路と同じグラフィックスプロセサ上には内蔵されていない外部メモリである、グラフィックスシステムであって、
    内部フレームバッファからのデータを読み出して外部主メモリへ転送する間にピクセルデータを或る画像フォーマットから他の画像フォーマットへ選択的に変換するコピーアウトパイプラインを備え、
    コピーアウトパイプラインはデータを主メモリ内の表示バッファまたはテクスチャバッファに選択的に転送するように動作可能であり、
    コピーアウトパイプラインは、データを表示バッファに転送するときには表示フォーマットに変換し、データをテクスチャバッファに転送するときにはテクスチャフォーマットに変換する、グラフィックスシステム。
  2. グラフィックスプロセサはさらにグラフィックスパイプラインを含み、そのグラフィックスパイプラインは後続するレンダリングプロセスにおいて主メモリのテクスチャバッファへコピーしたデータを使用するように動作可能である、請求項記載のグラフィクスシステム。
  3. 内部フレームバッファはピクセルデータをRGBカラーフォーマットもしくはYUVカラーフォーマットに選択的に変換する、請求項記載のグラフィクスシステム。
  4. コピーアウトパイプラインは、主メモリ中の外部フレームバッファへのピクセルデータのコピーの間に、内部フレームバッファからのデータをYUV表示フォーマットまたはRGBテクスチャフォーマットに選択的に変換する、請求項記載のグラフィクスシステム。
  5. コピーアウトパイプラインは、それが前記表示バッファへピクセルデータを転送しているときに、そのピクセルデータをYUV表示フォーマットへ変換する、請求項記載のグラフィックスシステム。
  6. 前記コピーアウトパイプラインは、エイリアス補正モードまたはデフリッカモードのどちらかで動作可能なピクセルフィルタ部、ピクセルカラー値に所定の補正値を与えるガンマ補正部、およびRGB‐YUVフォーマット変換部を含む、請求項記載のグラフィックスシステム。
  7. 前記ピクセルフィルタ部は7タップの垂直フィルタを含む、請求項記載のグラフィックスシステム。
  8. 前記コピーアウトパイプラインは、それがピクセルデータを表示バッファへ転送するとき、ピクセルデータの垂直スケーリングを行うYスケーリング部を含む、請求項記載のグラフィックスシステム。
  9. 前記コピーアウトパイプラインは、ピクセルデータを所定のテクスチャデータフォーマットへ変換し、変換したデータを複数のテクスチャタイルに形成する、請求項記載のグラフィックスシステム。
  10. 内部フレームバッファ中のピクセルデータの選択されたサブ領域はレンダリングされたグラフィックオブジェクト上のテクスチャとして重畳するストリーミングビデオ画像を作るためのMPEGデータを含む、請求項記載のグラフィックスシステム。
  11. 主プロセサと、グラフィックス処理パイプラインの少なくとも一部と同じ半導体チップ基板上に組み込まれた内部フレームバッファを有するパイプライングラフィックスプロセサと、前記グラフィックス処理パイプラインを含む半導体チップとは別の1つまたはそれ以上の半導体チップ上に形成されている主メモリ内に存在する外部テクスチャバッファとを含むグラフィックスシステムにおける、内部フレームバッファからのピクセルデータを前記外部テクスチャバッファへコピーするピクセルデータコピーアウトプロセスにおいて、コピーアウトプロセスは、ピクセルデータの前記内部フレームバッファから前記外部テクスチャバッファへの転送中に所定のピクセルデータ変換および/またはフィルタリング動作を実行し、
    内部フレームバッファ中のピクセルのサブ領域をピクセルデータコピー動作のためのソースとして選択し、
    主メモリの外部テクスチャバッファにおける宛先をピクセルデータコピー動作のために選択し、そして
    ピクセルデータの前記内部フレームバッファから前記外部テクスチャバッファへの転送動作中に表示データフォーマットからのピクセルの選択された矩形サブ領域を複数のテクスチャデータフォーマットの1つに変換することによって、外部テクスチャバッファ内でテクスチャタイルを作る方法。
JP2001051371A 2000-08-23 2001-02-27 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム Expired - Lifetime JP4719363B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US22703000P 2000-08-23 2000-08-23
US60/227030 2000-11-28
US09/722,663 US7184059B1 (en) 2000-08-23 2000-11-28 Graphics system with copy out conversions between embedded frame buffer and main memory
US09/722663 2000-11-28

Publications (2)

Publication Number Publication Date
JP2002063594A JP2002063594A (ja) 2002-02-28
JP4719363B2 true JP4719363B2 (ja) 2011-07-06

Family

ID=26921088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001051371A Expired - Lifetime JP4719363B2 (ja) 2000-08-23 2001-02-27 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム

Country Status (2)

Country Link
US (2) US7184059B1 (ja)
JP (1) JP4719363B2 (ja)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7749089B1 (en) 1999-02-26 2010-07-06 Creative Kingdoms, Llc Multi-media interactive play system
US7445550B2 (en) 2000-02-22 2008-11-04 Creative Kingdoms, Llc Magical wand and interactive play experience
US7878905B2 (en) 2000-02-22 2011-02-01 Creative Kingdoms, Llc Multi-layered interactive play experience
US6761637B2 (en) 2000-02-22 2004-07-13 Creative Kingdoms, Llc Method of game play using RFID tracking device
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7066781B2 (en) 2000-10-20 2006-06-27 Denise Chapman Weston Children's toy with wireless tag/transponder
US20070066396A1 (en) 2002-04-05 2007-03-22 Denise Chapman Weston Retail methods for providing an interactive product to a consumer
US6967566B2 (en) 2002-04-05 2005-11-22 Creative Kingdoms, Llc Live-action interactive adventure game
US7009655B2 (en) * 2002-07-23 2006-03-07 Mediostream, Inc. Method and system for direct recording of video information onto a disk medium
US7674184B2 (en) 2002-08-01 2010-03-09 Creative Kingdoms, Llc Interactive water attraction and quest game
US9446319B2 (en) 2003-03-25 2016-09-20 Mq Gaming, Llc Interactive gaming toy
CN100416649C (zh) * 2003-04-01 2008-09-03 松下电器产业株式会社 视频合成电路
US7366975B1 (en) * 2003-04-05 2008-04-29 Apple Inc Method and apparatus for allowing a media client to obtain media data from a media server
GB2403115B (en) * 2003-06-17 2006-02-08 Imagination Tech Ltd Texturing 3-dimensional computer graphic images
US7511714B1 (en) * 2003-11-10 2009-03-31 Nvidia Corporation Video format conversion using 3D graphics pipeline of a GPU
JP2006094415A (ja) * 2004-09-27 2006-04-06 Toshiba Corp 映像装置及び映像ストリーミング方法
US8427496B1 (en) 2005-05-13 2013-04-23 Nvidia Corporation Method and system for implementing compression across a graphics bus interconnect
US7927216B2 (en) 2005-09-15 2011-04-19 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
JP4805633B2 (ja) * 2005-08-22 2011-11-02 任天堂株式会社 ゲーム用操作装置
US7942745B2 (en) * 2005-08-22 2011-05-17 Nintendo Co., Ltd. Game operating device
US8313379B2 (en) * 2005-08-22 2012-11-20 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
JP4262726B2 (ja) 2005-08-24 2009-05-13 任天堂株式会社 ゲームコントローラおよびゲームシステム
US8870655B2 (en) 2005-08-24 2014-10-28 Nintendo Co., Ltd. Wireless game controllers
US8308563B2 (en) * 2005-08-30 2012-11-13 Nintendo Co., Ltd. Game system and storage medium having game program stored thereon
US8157651B2 (en) 2005-09-12 2012-04-17 Nintendo Co., Ltd. Information processing program
US20070126747A1 (en) * 2005-12-02 2007-06-07 Dijia Wu Interleaved video frame buffer structure
US7728841B1 (en) * 2005-12-19 2010-06-01 Nvidia Corporation Coherent shader output for multiple targets
JP4530419B2 (ja) * 2006-03-09 2010-08-25 任天堂株式会社 座標算出装置および座標算出プログラム
JP4151982B2 (ja) 2006-03-10 2008-09-17 任天堂株式会社 動き判別装置および動き判別プログラム
JP4684147B2 (ja) * 2006-03-28 2011-05-18 任天堂株式会社 傾き算出装置、傾き算出プログラム、ゲーム装置およびゲームプログラム
US8004535B2 (en) * 2006-06-01 2011-08-23 Qualcomm Incorporated Apparatus and method for selectively double buffering portions of displayable content
US7834873B2 (en) * 2006-08-25 2010-11-16 Intel Corporation Display processing line buffers incorporating pipeline overlap
US8139058B2 (en) * 2006-11-03 2012-03-20 Vivante Corporation Hierarchical tile-based rasterization algorithm
KR101089393B1 (ko) * 2006-12-22 2011-12-07 노키아 코포레이션 플래시 이미지 내의 아티팩트를 감소시키는 방법, 장치 및 컴퓨터 판독가능한 매체
JP5127242B2 (ja) 2007-01-19 2013-01-23 任天堂株式会社 加速度データ処理プログラムおよびゲームプログラム
US7746355B1 (en) * 2007-01-24 2010-06-29 Vivante Corporation Method for distributed clipping outside of view volume
JP4987070B2 (ja) * 2007-04-11 2012-07-25 パナソニック株式会社 画像生成装置及び画像生成方法
US8463997B2 (en) * 2007-08-16 2013-06-11 Samsung Electronics Co., Ltd. Apparatus and method of caching frame
US8013862B2 (en) * 2007-11-16 2011-09-06 Microsoft Corporation Texture codec
US8253728B1 (en) 2008-02-25 2012-08-28 Lucasfilm Entertainment Company Ltd. Reconstituting 3D scenes for retakes
US20090305782A1 (en) * 2008-06-10 2009-12-10 Oberg Gregory Keith Double render processing for handheld video game device
US9218792B2 (en) 2008-12-11 2015-12-22 Nvidia Corporation Variable scaling of image data for aspect ratio conversion
US8860781B2 (en) * 2009-06-30 2014-10-14 Qualcomm Incorporated Texture compression in a video decoder for efficient 2D-3D rendering
US20110063306A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation CO-PROCESSING TECHNIQUES ON HETEROGENEOUS GPUs INCLUDING IDENTIFYING ONE GPU AS A NON-GRAPHICS DEVICE
KR20110064722A (ko) * 2009-12-08 2011-06-15 한국전자통신연구원 영상 처리 정보와 컬러 정보의 동시 전송을 위한 코딩 장치 및 방법
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
JP4818450B1 (ja) * 2010-06-30 2011-11-16 株式会社東芝 グラフィクスプロセッシングユニットおよび情報処理装置
US8447134B1 (en) 2010-12-20 2013-05-21 Ambarella, Inc. Image warp caching
US9460546B1 (en) 2011-03-30 2016-10-04 Nvidia Corporation Hierarchical structure for accelerating ray tracing operations in scene rendering
US9142043B1 (en) 2011-06-24 2015-09-22 Nvidia Corporation System and method for improved sample test efficiency in image rendering
US8970584B1 (en) 2011-06-24 2015-03-03 Nvidia Corporation Bounding box-based techniques for improved sample test efficiency in image rendering
US9147270B1 (en) 2011-06-24 2015-09-29 Nvidia Corporation Bounding plane-based techniques for improved sample test efficiency in image rendering
US9269183B1 (en) 2011-07-31 2016-02-23 Nvidia Corporation Combined clipless time and lens bounds for improved sample test efficiency in image rendering
US9305394B2 (en) 2012-01-27 2016-04-05 Nvidia Corporation System and process for improved sampling for parallel light transport simulation
US9159158B2 (en) 2012-07-19 2015-10-13 Nvidia Corporation Surface classification for point-based rendering within graphics display system
US9171394B2 (en) 2012-07-19 2015-10-27 Nvidia Corporation Light transport consistent scene simplification within graphics display system
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US9591309B2 (en) 2012-12-31 2017-03-07 Nvidia Corporation Progressive lossy memory compression
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9723216B2 (en) 2014-02-13 2017-08-01 Nvidia Corporation Method and system for generating an image including optically zoomed and digitally zoomed regions
BR102014007666B1 (pt) * 2014-03-28 2023-01-10 Samsung Eletrônica Da Amazônia Ltda Método para autenticação de transações móveis usando criptografia de vídeo e método para criptografia de vídeo
US9760968B2 (en) 2014-05-09 2017-09-12 Samsung Electronics Co., Ltd. Reduction of graphical processing through coverage testing
US9842428B2 (en) 2014-06-27 2017-12-12 Samsung Electronics Co., Ltd. Dynamically optimized deferred rendering pipeline
CN105389776B (zh) 2014-09-02 2019-05-03 辉达公司 图像缩放技术
KR101701294B1 (ko) * 2015-05-29 2017-02-01 라인 가부시키가이샤 이미지 뷰 바인딩의 최적화를 위한 시스템 및 방법
KR102261962B1 (ko) 2015-07-21 2021-06-07 삼성전자주식회사 디스플레이 구동 장치, 이를 포함하는 디스플레이 장치 및 시스템
US10559112B2 (en) * 2016-03-11 2020-02-11 Intel Corporation Hybrid mechanism for efficient rendering of graphics images in computing environments
KR101823818B1 (ko) 2017-01-24 2018-01-30 라인업 주식회사 이미지 뷰 바인딩의 최적화를 위한 시스템 및 방법
US10209909B1 (en) * 2017-07-28 2019-02-19 EMC IP Holding Company LLC Storage element cloning in presence of data storage pre-mapper
CN113689707B (zh) * 2021-07-20 2022-09-06 浙江大华技术股份有限公司 视频数据处理方法、装置以及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11505644A (ja) * 1995-03-06 1999-05-21 セイコーエプソン株式会社 画像生成及び操作用装置
JP2000020044A (ja) * 1998-07-03 2000-01-21 Hitachi Ltd 画像処理装置

Family Cites Families (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218760A (en) * 1976-09-13 1980-08-19 Lexicon Electronic dictionary with plug-in module intelligence
US4275413A (en) 1978-03-30 1981-06-23 Takashi Sakamoto Linear interpolator for color correction
US4357624A (en) 1979-05-15 1982-11-02 Combined Logic Company Interactive video production system
US4491836A (en) 1980-02-29 1985-01-01 Calma Company Graphics display system and method including two-dimensional cache
US4425559A (en) 1980-06-02 1984-01-10 Atari, Inc. Method and apparatus for generating line segments and polygonal areas on a raster-type display
US4388620A (en) 1981-01-05 1983-06-14 Atari, Inc. Method and apparatus for generating elliptical images on a raster-type video display
US4463380A (en) 1981-09-25 1984-07-31 Vought Corporation Image processing system
US4570233A (en) 1982-07-01 1986-02-11 The Singer Company Modular digital image generator
US4600919A (en) 1982-08-03 1986-07-15 New York Institute Of Technology Three dimensional animation
US4615013A (en) 1983-08-02 1986-09-30 The Singer Company Method and apparatus for texture generation
GB8322438D0 (en) 1983-08-19 1983-10-12 Marconi Avionics Display systems
US4586038A (en) 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
US4808988A (en) 1984-04-13 1989-02-28 Megatek Corporation Digital vector generator for a graphic display system
US4725831A (en) 1984-04-27 1988-02-16 Xtar Corporation High-speed video graphics system and method for generating solid polygons on a raster display
US4829452A (en) 1984-07-05 1989-05-09 Xerox Corporation Small angle image rotation using block transfers
US4658247A (en) 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
US4695943A (en) 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
EP0184547B1 (en) 1984-12-07 1991-11-21 Dainippon Screen Mfg. Co., Ltd. Processing method of image data and system therefor
US4625289A (en) 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4710876A (en) 1985-06-05 1987-12-01 General Electric Company System and method for the display of surface structures contained within the interior region of a solid body
US5239624A (en) 1985-06-19 1993-08-24 Pixar Pseudo-random point sampling techniques in computer graphics
US4897806A (en) 1985-06-19 1990-01-30 Pixar Pseudo-random point sampling techniques in computer graphics
FR2586838B1 (fr) 1985-08-30 1989-07-28 Labo Electronique Physique Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions
US4974177A (en) 1985-10-04 1990-11-27 Daikin Industries Ltd. Mapping circuit of a CRT display device
US4692880A (en) 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
JPS62192878A (ja) 1986-02-20 1987-08-24 Nippon Gakki Seizo Kk 多角形の塗りつぶし方法
US4862392A (en) 1986-03-07 1989-08-29 Star Technologies, Inc. Geometry processor for graphics display system
JPS62231380A (ja) 1986-03-31 1987-10-09 Namuko:Kk 画像合成装置
US5504917A (en) 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US4768148A (en) 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
US4785395A (en) 1986-06-27 1988-11-15 Honeywell Bull Inc. Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement
US4817175A (en) 1986-08-26 1989-03-28 Schlumberger Systems And Services, Inc. Video stream processing system
US4855934A (en) 1986-10-03 1989-08-08 Evans & Sutherland Computer Corporation System for texturing computer graphics images
US4918625A (en) 1986-12-19 1990-04-17 Cae-Link Corporation Method and apparatus for processing translucent objects
US4965750A (en) 1987-03-31 1990-10-23 Hitachi, Ltd. Graphic processor suitable for graphic data transfer and conversion processes
US4833601A (en) 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US4935879A (en) 1987-08-05 1990-06-19 Daikin Industries, Ltd. Texture mapping apparatus and method
US4965751A (en) 1987-08-18 1990-10-23 Hewlett-Packard Company Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
US5170468A (en) 1987-08-18 1992-12-08 Hewlett-Packard Company Graphics system with shadow ram update to the color map
US4866637A (en) 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US5144291A (en) 1987-11-02 1992-09-01 Matsushita Electric Industrial Co., Ltd. Means for eliminating hidden surface
US4888712A (en) 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US4901064A (en) 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US4945500A (en) 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US5361386A (en) 1987-12-04 1994-11-01 Evans & Sutherland Computer Corp. System for polygon interpolation using instantaneous values in a variable
CA1309198C (en) 1987-12-10 1992-10-20 Carlo J. Evangelisti Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display
GB2214037A (en) 1987-12-18 1989-08-23 Ibm Solid modelling system
US4974176A (en) 1987-12-18 1990-11-27 General Electric Company Microtexture for close-in detail
US5136664A (en) 1988-02-23 1992-08-04 Bersack Bret B Pixel rendering
JPH0693181B2 (ja) 1988-03-18 1994-11-16 株式会社日立製作所 表示装置
DE68918886T2 (de) 1988-04-08 1995-06-01 Dainippon Screen Mfg. Co., Ltd., Kyoto Verfahren zur Gewinnung der Aussenlinie eines Objektes in einem Bild.
US4907174A (en) 1988-06-02 1990-03-06 Sun Microsystems, Inc. Z-buffer allocated for window identification
US5097427A (en) 1988-07-06 1992-03-17 Hewlett-Packard Company Texture mapping for computer graphics display controller system
US5315692A (en) 1988-07-22 1994-05-24 Hughes Training, Inc. Multiple object pipeline display system
US5003496A (en) 1988-08-26 1991-03-26 Eastman Kodak Company Page memory control in a raster image processor
US4989138A (en) 1988-09-02 1991-01-29 Tektronix, Inc. Single bus graphics data processing pipeline with decentralized bus arbitration
JPH0727581B2 (ja) 1988-09-09 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 図形処理装置
US5016183A (en) 1988-09-13 1991-05-14 Computer Design, Inc. Textile design system and method
US5018076A (en) 1988-09-16 1991-05-21 Chips And Technologies, Inc. Method and circuitry for dual panel displays
JP2685548B2 (ja) 1988-11-28 1997-12-03 株式会社日立製作所 ディジタル画像データの回転方法およびその装置
GB8828342D0 (en) 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
US5062057A (en) 1988-12-09 1991-10-29 E-Machines Incorporated Computer display controller with reconfigurable frame buffer memory
US5255353A (en) 1989-02-28 1993-10-19 Ricoh Company, Ltd. Three-dimensional shadow processor for an image forming apparatus
US5204944A (en) 1989-07-28 1993-04-20 The Trustees Of Columbia University In The City Of New York Separable image warping methods and systems using spatial lookup tables
EP0423653B1 (en) 1989-10-13 1997-08-06 Matsushita Electric Industrial Co., Ltd. Method and apparatus for compensating for color in color images
JPH0776991B2 (ja) 1989-10-24 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Nurbsデータ変換方法及び装置
US5056044A (en) 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
JP3005007B2 (ja) 1989-12-21 2000-01-31 キヤノン株式会社 画像符号化装置
GB2240015A (en) 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
GB2240017A (en) 1990-01-15 1991-07-17 Philips Electronic Associated New, interpolated texture values are fed back to texture memories
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
US5163126A (en) 1990-05-10 1992-11-10 International Business Machines Corporation Method for adaptively providing near phong grade shading for patterns in a graphics display system
EP0528837B1 (en) 1990-05-12 1997-06-18 THOMSON TRAINING & SIMULATION LIMITED Image generator
DE69122557T2 (de) 1990-06-29 1997-04-24 Philips Electronics Nv Bilderzeugung
US5241658A (en) 1990-08-21 1993-08-31 Apple Computer, Inc. Apparatus for storing information in and deriving information from a frame buffer
JP2725915B2 (ja) 1990-11-15 1998-03-11 インターナショナル・ビジネス・マシーンズ・コーポレイション 三角形描画装置及び方法
US5268995A (en) 1990-11-21 1993-12-07 Motorola, Inc. Method for executing graphics Z-compare and pixel merge instructions in a data processor
US5268996A (en) 1990-12-20 1993-12-07 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
US5307450A (en) 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
JPH07122908B2 (ja) 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元のソリッド物体を表す表示可能情報を生成する装置と方法
US5421028A (en) 1991-03-15 1995-05-30 Hewlett-Packard Company Processing commands and data in a common pipeline path in a high-speed computer graphics system
US5415549A (en) 1991-03-21 1995-05-16 Atari Games Corporation Method for coloring a polygon on a video display
JP3316592B2 (ja) 1991-06-17 2002-08-19 サン・マイクロシステムズ・インコーポレーテッド 二重バッファ・出力ディスプレー・システム、および、第1のフレーム・バッファおよび第2のフレーム・バッファ相互間の切り換えを行う方法
KR100319768B1 (ko) 1991-08-13 2002-04-22 마거리트 와그너-달 영상화및그래픽처리시스템내에서의다차원주소발생방법
TW225595B (ja) 1991-09-03 1994-06-21 Gen Electric
US5404445A (en) 1991-10-31 1995-04-04 Toshiba America Information Systems, Inc. External interface for a high performance graphics adapter allowing for graphics compatibility
US5353424A (en) 1991-11-19 1994-10-04 Digital Equipment Corporation Fast tag compare and bank select in set associative cache
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
US5377313A (en) 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
JP2760731B2 (ja) 1992-04-30 1998-06-04 株式会社東芝 グラフィックス互換性を可能にする高性能グラフィックスアダプタ用外部インターフェース回路
US5469535A (en) 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
GB2267203B (en) 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
US5366376A (en) 1992-05-22 1994-11-22 Atari Games Corporation Driver training system and method with performance data feedback
US5473736A (en) 1992-06-08 1995-12-05 Chroma Graphics Method and apparatus for ordering and remapping colors in images of real two- and three-dimensional objects
US5432900A (en) 1992-06-19 1995-07-11 Intel Corporation Integrated graphics and video computer display system
JPH0628485A (ja) 1992-07-09 1994-02-04 Toshiba Corp テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法
US5475803A (en) 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
GB2270243B (en) 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
US5431471A (en) * 1992-09-16 1995-07-11 Mi-Jack Products, Inc. Side fitting connection apparatus for lifting trailers and containers
US5432895A (en) 1992-10-01 1995-07-11 University Corporation For Atmospheric Research Virtual reality imaging system
GB2271259A (en) 1992-10-02 1994-04-06 Canon Res Ct Europe Ltd Processing image data
US5559954A (en) 1993-02-24 1996-09-24 Intel Corporation Method & apparatus for displaying pixels from a multi-format frame buffer
US5392393A (en) 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
US5408650A (en) 1993-06-29 1995-04-18 Digital Equipment Corporation Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program
US5490240A (en) 1993-07-09 1996-02-06 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures
DE69408473T2 (de) 1993-10-15 1998-08-27 Evans & Sutherland Computer Co Direktes rendering von texturierten höhenfeldern
JPH07146952A (ja) 1993-11-22 1995-06-06 Konami Kk 3次元画像処理装置
US5557712A (en) 1994-02-16 1996-09-17 Apple Computer, Inc. Color map tables smoothing in a color computer graphics system avoiding objectionable color shifts
US5548709A (en) 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
US5487146A (en) 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5506604A (en) * 1994-04-06 1996-04-09 Cirrus Logic, Inc. Apparatus, systems and methods for processing video data in conjunction with a multi-format frame buffer
US5461712A (en) 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5664162A (en) * 1994-05-23 1997-09-02 Cirrus Logic, Inc. Graphics accelerator with dual memory controllers
US5600763A (en) 1994-07-21 1997-02-04 Apple Computer, Inc. Error-bounded antialiased rendering of complex scenes
US5553228A (en) 1994-09-19 1996-09-03 International Business Machines Corporation Accelerated interface between processors and hardware adapters
US5593350A (en) 1994-11-04 1997-01-14 Thrustmaster, Inc. Video game card having interrupt resistant behavior
US5561752A (en) 1994-12-22 1996-10-01 Apple Computer, Inc. Multipass graphics rendering method and apparatus with re-traverse flag
US5777623A (en) * 1996-02-15 1998-07-07 Canon Kabushiki Kaisha Apparatus and method for performing perspectively correct interpolation in computer graphics in a variable direction along a line of pixels
US5977960A (en) * 1996-09-10 1999-11-02 S3 Incorporated Apparatus, systems and methods for controlling data overlay in multimedia data processing and display systems using mask techniques
US5987567A (en) * 1996-09-30 1999-11-16 Apple Computer, Inc. System and method for caching texture map information
US6026478A (en) * 1997-08-01 2000-02-15 Micron Technology, Inc. Split embedded DRAM processor
JP3681528B2 (ja) * 1997-12-22 2005-08-10 株式会社ルネサステクノロジ グラフィックプロセッサ及びデータ処理システム
US6650327B1 (en) * 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
US6747642B1 (en) * 1999-01-29 2004-06-08 Nintendo Co., Ltd. Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system
US6532018B1 (en) * 1999-04-19 2003-03-11 Microsoft Corporation Combined floating-point logic core and frame buffer
US6426753B1 (en) * 1999-07-01 2002-07-30 Microsoft Corporation Cache memory for high latency and out-of-order return of texture data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11505644A (ja) * 1995-03-06 1999-05-21 セイコーエプソン株式会社 画像生成及び操作用装置
JP2000020044A (ja) * 1998-07-03 2000-01-21 Hitachi Ltd 画像処理装置

Also Published As

Publication number Publication date
JP2002063594A (ja) 2002-02-28
US7317459B2 (en) 2008-01-08
US20070070083A1 (en) 2007-03-29
US7184059B1 (en) 2007-02-27

Similar Documents

Publication Publication Date Title
JP4719363B2 (ja) 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム
US6937245B1 (en) Graphics system with embedded frame buffer having reconfigurable pixel formats
US7576748B2 (en) Graphics system with embedded frame butter having reconfigurable pixel formats
JP4698052B2 (ja) グラフィクスシステムのエイリアス補正方法および装置
JP4731028B2 (ja) グラフィクスシステム用再循環シェードツリーブレンダ
JP4698893B2 (ja) 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム
JP4790150B2 (ja) 低価格のグラフィックスシステムにおけるシャドウマッピング
JP4863574B2 (ja) Zテクスチャリングを用いるイメージ生成方法
JP4890638B2 (ja) グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置
JP4808858B2 (ja) グラフィクスパイプラインおよびそれの同期化方法
JP4691273B2 (ja) グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法
US6707458B1 (en) Method and apparatus for texture tiling in a graphics system
JP2002269583A (ja) 描画モードに基づいて隠面処理の順番を動的に再構成する方法および装置
JPH08161525A (ja) 画像情報生成方法及び画像情報処理装置、並びに記録媒体
JPH09325759A (ja) 高速高効率3dグラフィックス及びデジタル音声信号処理を提供するコプロセッサを備える高性能低コストビデオゲームシステム
JP4672072B2 (ja) 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
US20020101435A1 (en) Apparatus and method for rendering antialiased image
JP4683760B2 (ja) 再構成可能なピクセルフォーマットを有する組み込みフレームバッファを有するグラフィックスシステム
JP2001143100A (ja) 三次元ビデオグラフィックスシステムにおける深度ぼかし効果提供方法および装置
EP1182617A2 (en) Graphics system with reconfigurable embedded frame buffer and copy out conversions between embedded frame buffer and main memory
JP4740476B2 (ja) グラフィックスシステム内におけるn個のアルファ演算の論理結合を提供する方法および装置
JP4698894B2 (ja) グラフィックスシステムにおけるテクスチャタイリングのための方法、装置およびプログラム
JP2003058905A (ja) グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110209

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110218

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: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110404

R150 Certificate of patent or registration of utility model

Ref document number: 4719363

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: 20140408

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

EXPY Cancellation because of completion of term