JPH1091801A - テクスチャーマップパッキング - Google Patents

テクスチャーマップパッキング

Info

Publication number
JPH1091801A
JPH1091801A JP9145362A JP14536297A JPH1091801A JP H1091801 A JPH1091801 A JP H1091801A JP 9145362 A JP9145362 A JP 9145362A JP 14536297 A JP14536297 A JP 14536297A JP H1091801 A JPH1091801 A JP H1091801A
Authority
JP
Japan
Prior art keywords
memory
texture map
free space
largest
priority
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
JP9145362A
Other languages
English (en)
Other versions
JP3086189B2 (ja
Inventor
Christopher W Shaw
ダブリュー. シャウ クリストファー
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.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
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 Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JPH1091801A publication Critical patent/JPH1091801A/ja
Application granted granted Critical
Publication of JP3086189B2 publication Critical patent/JP3086189B2/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
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

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

Abstract

(57)【要約】 【課題】 データの格納および取出し時間を最小化す
る、改良型グラフィックス情報格納方法および装置を提
供する。 【解決手段】 1群の情報ブロックを第1のメモリに格
納する方法であって、1群の情報ブロックが、表示され
得る画像の要素に関連付けられ、その情報についての少
なくとも1つの所定の特徴に従ってブロックのそれぞれ
をマークするステップと、その特徴についての所定の優
先順位計画に従って、そのブロックを第1のメモリに格
納するステップと、を包含する方法。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、広義には、コンピ
ュータグラフィックスに関し、より具体的には、メモリ
マッピングが最適化された、グラフィックスシステムの
ための情報格納および処理方法に関する。
【0002】
【従来の技術】多様化するシステム環境における、コン
ピュータグラフィックスの用途および適用範囲は成長し
続けている。情報の処理、保存、メモリ、および読み出
しを行う装置はますます高速化され、この成長にさらに
拍車をかけている。このような装置において、動作速度
は依然として優先度の高い設計課題である。このこと
は、グラフィックスシステム(なかでも3Dグラフィッ
クスシステム)において特に当てはまる。このようなグ
ラフィックスシステムにおいては、膨大な量のデータを
処理する必要があり、新しい製品・システムの開発ある
いは新しい用途に用いられるグラフィックスシステムを
設計する際には、データフロースピードが決定的に重要
となる。
【0003】コンピュータグラフィックスの分野におい
て、ポリゴンをピクセルグリッド上に描く方法は、数多
く存在する。GUI(Graphical User Interfaces)、CAD(C
omputer Aided Design)、および3Dコンピュータアニ
メーション等の多くの用途において、描画プリミティブ
としてポリゴンが用いられている。ほとんどのポリゴン
描画技術においては、ポリゴンを、ポリゴンの稜線(edg
es)とピクセルグリッドとに位置合わせする一連の走査
ラインに分解する。一般に、これらの方法をハードウェ
アで実現する場合、ピクセルグリッドはシーケンシャル
にアクセスされる。つまり、XYピクセルにアクセスす
る度に、そのXYアドレスに基づいてピクセルグリッド
が更新される。1回のピクセル更新を行うためのセット
アップ時間が長いピクセルグリッドの場合、この方法
は、システム全体の時間的なボトルネックになり得る。
【0004】あらゆるデータおよび情報処理システム
(特に、コンピュータグラフィックスシステム)におい
て多くの時間が費やされるのは、メモリ上のある位置
(格納位置)のデータブロックにアクセスしてその情報
を処理し、処理した情報を(その後、保持、アクセス、
処理および/または表示するために)別の格納位置に送
信する作業である。新しいプロセッサの速度が高まり続
けるにつれ、メモリ内のデータにアクセスしてメモリか
らデータを取出すのにかかるアクセス時間が、システム
速度の観点からますます重大なボトルネックになってき
ている。
【0005】近年のソフトウェアアプリケーションに要
求される多量のグラフィックデータを処理するために
は、グラフィックスシステムは、より洗練された機能を
より短い時間内で行えなければならない。フルカラー、
シェーディング、テクスチャーマッピング、および透明
の配合(transparency blending) を用いて3次元オブジ
ェクトを描くソフトウェアの方法およびハードウェアの
実現については、いまなお改善の必要性がある。ラスタ
ディスプレイシステムの開発によって、グラフィックシ
ステムの総コストは劇的に低減され、その性能も劇的に
向上した。ラスタディスプレイシステムにおいては、そ
れぞれピクセル列からなる水平および垂直走査ラインの
組が、ピクセルアレイ(ピクセルグリッド)を形成して
スクリーン領域全体を表す。スクリーンは、比較的高速
にピクセルグリッド全体を走査してフリッカを可能な限
り減少させることができる陰極線管(CRT)あるいは液晶
ディスプレイ(LCD)等であることが好ましい。
【0006】ピクセルデータは、好ましくは、ダイナミ
ックランダムアクセスメモリ(DRAM)を含むフレームバッ
ファに格納される。各ピクセルは、所望の解像度、色、
明るさ、および他の変数によって異なる1ビット以上の
ビットによって表される。典型的なディスプレイシステ
ムの場合、使用されるソフトウェアドライバおよびハー
ドウェアに応じて、複数の色を用いて、(これらに限定
されるものではないが)640×480、800×600、1024×76
8、1280×1024、あるいは他の組み合わせ等の様々なス
クリーン解像度で、スクリーンへの描画を行うことがで
きる。ビデオコントローラは、フレームバッファ内のピ
クセルデータを走査して、これを、スクリーンシステム
がスクリーン上に情報を表示するために必要な制御信号
へと変換する。ビデオコントローラは、各ピクセルを、
上から下、左から右にシーケンシャルに走査し、ピクセ
ルデータをスクリーン上の対応ピクセルの強度を表す値
に変換する。CRTを用いたカラーグラフィックスシステ
ムの場合、3本の別々のビーム(即ち、各原色毎に1
本)が制御される。各色に対応するピクセル値によっ
て、各ビームの強度が決まる。LCD装置にも、これと同
様のシステムが用いられる。各ピクセル値は、例えば、
24ビット(即ち、赤、緑および青の各原色毎に1バイト
(8ビット))で構成され得る。このバイト値によっ
て、各表示色の強度が決まる。
【0007】メモリ内のピクセルグリッドは、線形アク
セスメモリ内の2次元空間を表す。線形アクセスメモリ
は、各メモリ位置(即ち、1次元空間)毎に、増加する
アドレスを有する。「Y」パラメータにピッチ値を設け
ることによって(即ち、「Y」の1増分に対して複数の
ピクセルグリッド位置が「X」に存在する)、1次元ア
ドレッシングで2次元空間を表すことが可能になる。こ
れにより、2次元的なXYピクセルグリッドへのアクセ
スから、線形アドレスを算出できる。ピクセルグリッド
に描画を行うほとんど全ての方法においては、上記の方
法を用いてピクセルグリッドへのアクセスが行われる。
メモリ内の最新の2次元ピクセルグリッドに基づいてポ
リゴンが描かれている時に、XYマッピングが固定され
る。この時点以降は、そうでないことが示されない限
り、ピクセルグリッドは、線形アクセスメモリ内のピク
セルグリッドの固定2次元表記であると仮定される。
【0008】ポリゴンは、描かれるポリゴンの交差部分
に対応する、ピクセルグリッド上の点の組として表現さ
れる。ほとんどのラインまたはポリゴンは、最終的にピ
クセルグリッドによって近似可能な連続関数で定義され
る。コンピュータグラフィックスにおけるポリゴンは、
一般に、ポリゴンの定義を頂点という境界条件に分解す
ることによって描画される。頂点は、ポリゴンの端点(e
nd points)をピクセルグリッドへと近似したものであ
る。これらの頂点は、つぎに、X方向への各Y走査の組
へと分解される。各Y走査は、ポリゴン内に含まれるX
方向上の各ピクセルに対してなされる。
【0009】コンピュータグラフィックスアプリケーシ
ョンに限って言えば、画像の表示データは、Rambus方式
のDRAM(RDRAM)等のピクセル指向フレームバッファ
(ディスプレイメモリ)に格納される。ビデオバッファ
の基準フレームは、ピクセル値と、表示画像を規定する
ピクセル特性に関する情報とを格納する、格納位置マト
リクスに対するゼロ点(zero point)である。このゼロ点
格納位置は、格納されたピクセルを含む画像を表示する
ディスプレイスクリーン上のゼロ点ピクセル位置に対応
する。バッファ内のデータストリングあるいはデータ列
は、ディスプレイスクリーン上のピクセル列に対応す
る。ディスプレイスクリーン上で画像がリフレッシュさ
れる際、ビデオメモリに格納されたデータラインをそれ
ぞれメモリからシーケンシャルに読出し、これをディス
プレイ装置に転送して、対応するピクセルのシーケンシ
ャルなラインをディスプレイ上に埋めていく。このよう
なアクセスおよび転送の度に、これに付随して遅延時間
が生じる。この遅延時間は、これまで比較的調節が困難
であった。なぜなら、格納プロセスが走査プロセスに対
して固有の依存性を有する(即ち、走査ライン内の画像
定義データ第1ビットの格納位置に関わらず、各ライン
は、各ディスプレイ走査ライン内の最も左側のピクセル
から格納されていく)からである。
【0010】また、情報の格納および取出しを行う際
に、グラフィックスサブシステムの比較的高速なRDRAM
メモリではなく、システムメモリに対して、データの格
納および取出しを行うときに遅延が導入される。グラフ
ィックスサブシステムは、システムメモリに比べて比較
的高速なローカルメモリ(RDRAM)を有する。処理が非効
率的になるのは、情報ブロックを高速ローカルメモリに
格納することができず、システムメモリに転送せざるを
得ない場合である。後に、このような情報にアクセスす
る必要が生じた際、高速グラフィックスシステムは、シ
ステムメモリからの比較的低速なアクセスが完了するの
を待って、その後、システムメモリに格納せねばならな
かった情報の処理および表示を行う。さらに、グラフィ
ックスアプリケーションのデータオーバーヘッドのため
にある程度のデータをシステムメモリに格納することが
避けられない場合でも、これまでであれば、データの種
類によってデータを優先順位づけし、それによって、高
速RDRAMおよび比較的低速のシステムメモリに対する格
納および取出し時間を最適化する試みはなされたことが
なかった。
【0011】
【発明が解決しようとする課題】従って、テクスチャー
マップ情報を、情報の様々な特徴に応じて格納し、テク
スチャーマップデータの所定の特徴に従って格納デステ
ィネーションを決定することにより、データの格納およ
び取出し時間を最小化する、改良型グラフィックス情報
格納方法および装置を提供する課題がある。
【0012】
【課題を解決するための手段】本発明による方法は、1
群の情報ブロックを第1のメモリに格納する方法であっ
て、1群の情報ブロックが、表示され得る画像の要素に
関連付けられ、情報についての少なくとも1つの所定の
特徴に従ってブロックのそれぞれをマークするステップ
と、特徴についての所定の優先順位計画に従って、ブロ
ックを第1のメモリに格納するステップと、を包含する
方法であり、そのことにより上記目的が達成される。
【0013】ある実施形態では、情報ブロックはテクス
チャーマップを包含し、要素はディスプレイシステムの
ピクセルである。
【0014】ある実施形態では、所定の特徴は、第1の
メモリからブロックが取出される頻度に関する。
【0015】ある実施形態では、所定の特徴は、ブロッ
クのサイズに関する。
【0016】ある実施形態では、優先順位に基づいて、
ブロックの中でより大きなものが、ブロックの中でより
小さなもの以前に格納される。
【0017】ある実施形態では、ブロックが第2の所定
の特徴に従って格納される。
【0018】ある実施形態では、第2の所定の特徴は、
第1のメモリからブロックが取出される頻度に関する。
【0019】ある実施形態では、第1のメモリは、空き
スペース領域と使用中スペース領域とを含み、使用中ス
ペース領域は、情報ブロックの格納に利用できない第1
のメモリ内の領域を表し、空きスペース領域は、情報ブ
ロックの格納に利用できる第1のメモリ内のスペースを
表し、上記方法は、第1のメモリの空きスペース領域を
全て登録するステップと、情報ブロックの中で最大のも
のをフェッチするステップと、空きスペース領域の中で
最小のものを検索するステップと、ブロックの中の最大
のものが空きスペース領域の中の最小のものに適合する
かどうか試みるステップと、をさらに包含する。
【0020】ある実施形態では、情報ブロックの中の最
大のものが空きスペース領域の中の最小のものに適合し
ない場合、次に大きい空きスペース領域を反復的にフェ
ッチするステップをさらに包含する。
【0021】ある実施形態では、情報ブロックの中の最
大のものが、空きスペース領域の中の最小のものに適合
すると判定された場合、情報ブロックの中の最大のもの
を、空きスペース領域の中の最小のものに格納するステ
ップをさらに包含する。
【0022】ある実施形態では、情報ブロックの中の最
大のものが、空きスペース領域の中の最小のものに適合
不可能であり、且つ、より大きな空きスペース領域が第
1のメモリにそれ以上残っていない場合、情報ブロック
の中の最大のものを、第2のメモリに格納するステップ
をさらに包含する。
【0023】ある実施形態では、第1のメモリは第2の
メモリよりも高速である。
【0024】ある実施形態では、情報ブロックが1つ格
納される度に、情報ブロックがまだ他に残っているかど
うかを判定するステップと、情報ブロックがまだ残って
いると判定された場合、登録するステップ、フェッチす
るステップ、検索するステップおよび試行ステップを反
復的に繰り返すステップとをさらに包含し、情報ブロッ
クがそれ以上残っておらず、残っていた情報ブロックが
全て第1および第2のメモリの一方に格納されたと判定
されるまでさらに継続して動作可能である。
【0025】ある実施形態では、空きスペース領域に情
報ブロックが1つ格納される度に、空きスペース領域を
登録するステップを繰り返すステップをさらに包含す
る。
【0026】ある実施形態では、登録するステップは、
第1のメモリ内の空きスペース領域を検索するステップ
と、第1のメモリ内で見つかった空きスペース領域のい
ずれもが、以前に形成された空きスペース領域のサブセ
ットではないと判定された場合、新たな空きスペースフ
ァイルを選択的に形成するステップと、をさらに包含す
る。
【0027】ある実施形態では、検索ステップは、第1
のメモリ内のゼロ基準開始点を決定するステップと、ゼ
ロ基準開始点近傍にある使用中スペースメモリ領域の右
下側頂点を探すステップと、開始点の下側にあるメモリ
スペースをサーチし、見つかった空きスペースを登録す
るステップと、をさらに包含する。
【0028】ある実施形態では、開始点の右側にあるメ
モリスペースをサーチし、見つかった空きスペースを登
録するステップをさらに包含する。
【0029】ある実施形態では、第1のメモリの使用中
スペース領域が全て登録されるまで登録ステップを繰り
返すステップをさらに包含する。
【0030】ある実施形態では、試行ステップの後に、
情報ブロックの中の最大のものが、空きスペース領域の
中の最小のものに適合しない場合に、第1のメモリ内の
前記テクスチャーマップを必ずリシャフルするステップ
をさらに包含する。
【0031】ある実施形態では、リシャフルするステッ
プは、テクスチャーマップのサイズに基づいてテクスチ
ャーマップをサイズリシャフルするステップを包含し、
テクスチャーマップのサイズが、第1のメモリ内に存在
する空きスペースよりも大きく且つ第1のメモリ内に存
在するテクスチャーマップよりも小さい場合にはサイズ
リシャフルするステップを必ず行う。
【0032】ある実施形態では、テクスチャーマップサ
イズが、存在する空きスペースよりも大きくなく且つ存
在するテクスチャーマップよりも小さい場合に、テクス
チャーマップを必ず第2のメモリに入れるようさらに動
作可能である。
【0033】ある実施形態では、第1のメモリのアクセ
ス時間は、第2のメモリよりも高速である。
【0034】ある実施形態では、サイズリシャフルする
ステップは、第1のメモリの使用中スペース領域をクリ
アするステップと、第1のメモリ内に残っている空きス
ペース領域をクリアするステップと、第1のメモリ内に
残っている空きスペース領域を検索するステップと、残
っているテクスチャーマップの中で最大のものを得るス
テップと、テクスチャーマップの中の最大のものを第1
のメモリに入るかどうか試みるステップと、テクスチャ
ーマップの中の最大のものが第1のメモリに適合しない
場合、テクスチャーマップの中の最大のものを第2のメ
モリに入れるステップと、を包含する。
【0035】ある実施形態では、テクスチャーマップの
中の最大のものが第1のメモリに適合しない場合、テク
スチャーマップの中の最大のものをUVマックス化できる
かどうか試みるステップをさらに包含する。
【0036】ある実施形態では、リシャフルするステッ
プは、テクスチャーマップの優先順位に基づいてテクス
チャーマップを優先順位リシャフルするステップを包含
し、テクスチャーマップの優先順位が第1のメモリ内に
存在するテクスチャーマップの優先順位よりも高い場合
には優先順位リシャフルするステップを必ず行う。
【0037】ある実施形態では、テクスチャーマップの
優先順位が、第1のメモリ内に以前に形成されたテクス
チャーマップの優先順位よりも高くない場合に、テクス
チャーマップを必ず第2のメモリに入れるよう動作可能
である。
【0038】ある実施形態では、第1のメモリのアクセ
ス時間は、第2のメモリよりも高速である。
【0039】ある実施形態では、優先順位リシャフルす
るステップは、テクスチャーマップに優先順位を割り当
てるステップと、テクスチャーマップを割り当てられた
優先順位によってソートするステップと、所定回数の適
合が起こるまで、優先順位の中で相対的に高い優先順位
を有するさまざまなパーセンテージの該テクスチャーマ
ップを、第1のメモリの空きスペースに反復的に適合す
るかどうか試みるステップと、を包含する。
【0040】ある実施形態では、マックス化するステッ
プは、テクスチャーマップの寸法がマックス化可能であ
るかどうかを判定するステップと、寸法がマックス化可
能であると判定された場合、テクスチャーマップの寸法
を変化させるステップと、マックス化テクスチャーマッ
プを第1のメモリに入るかどうか試みるステップと、マ
ックス化テクスチャーマップが該第1のメモリに適合す
る場合、マックス化寸法をテクスチャーマップに割り当
てるステップと、を包含する。
【0041】ある実施形態では、マックス化テクスチャ
ーマップが前記第1のメモリに適合しない場合、テクス
チャーマップの元の寸法を復元するステップをさらに包
含する。
【0042】本発明による記憶媒体は、機械可読符号を
有する記憶媒体であって、記憶媒体は読取り装置に選択
的に接続され、読取り装置は処理回路部に接続され、読
取り装置は、機械可読符号を読取ってその符号を表すプ
ログラム信号を選択的に提供することができ、プログラ
ム信号は、1群の情報ブロックの第1のメモリへの格納
を処理回路部に行わせ得る信号であり、情報ブロックの
それぞれは、表示され得る画像の要素に関連付けられ、
プログラム信号は、その情報についての少なくとも1つ
の所定の特徴に従ってブロックのそれぞれをマークする
ステップと、特徴についての所定の優先順位計画に従っ
て、ブロックを第1のメモリに格納するステップと、を
さらに実行し得る信号である、記憶媒体であり、そのこ
とにより上記目的が達成される。
【0043】本発明によるグラフィックスステーション
は、メインバスと、ディスプレイ装置と、グラフィック
スサブシステムとを備えたコンピュータシステムを含
む、コンピュータを利用したグラフィックスステーショ
ンであって、グラフィックスサブシステムは、メインバ
スとディスプレイ装置とに接続されるグラフィックスプ
ロセッサ装置を備え、グラフィックスサブシステムは、
グラフィックスプロセッサ装置に接続されるグラフィッ
クスメモリをさらに含み、グラフィックスサブシステム
は、プログラム信号を選択的に提供することができ、プ
ログラム信号は、1群の情報ブロックの第1のメモリへ
の格納をグラフィックスステーションに行わせ得る信号
であり、情報ブロックのそれぞれは、表示され得る画像
の要素に関連付けられ、プログラム信号は、情報につい
ての少なくとも1つの所定の特徴に従ってブロックのそ
れぞれをマークするステップと、特徴についての所定の
優先順位計画に従って、ブロックを第1のメモリに格納
するステップと、をさらに実行し得る信号である、コン
ピュータを利用したグラフィックスステーションであ
り、そのことにより上記目的が達成される。
【0044】以下に作用を説明する。
【0045】グラフィックス情報の格納および取出しを
行う改良された方法および装置が提供される。この方法
および装置は、情報およびデータファイル(あるいはマ
ップ)をアクセス優先順位またはサイズに基づいてロー
カル高速メモリに格納してから、これらのファイルを、
格納および取出しのためにシステムメモリに送信する。
これにより、呼び出し頻度の多いデータファイルがロー
カルメモリに格納される。さらに、サイズに基づいて優
先順位が付けられる。同じ優先アクセス頻度を有するデ
ータファイルの中で、相対的にサイズの小さいデータフ
ァイルをローカルメモリに優先的に格納し、ローカルメ
モリの空きメモリスペースを使いきった後は、同じ優先
順位の相対的に大きなファイルをシステムメモリに格納
する。
【0046】
【発明の実施の形態】添付の図面を参照しながら、好適
な実施形態についての以下の詳細な説明を考慮すること
により、本発明がより良く理解される。
【0047】図1を参照して説明する。典型的なコンピ
ュータシステムあるいはワークステーション101におい
て、上記の様々な方法を用いることができる。コンピュ
ータシステムあるいはワークステーション101は、例え
ば、グラフィックスサブシステム(あるいは装置)117
を含み得る。本発明に使用可能なワークステーションの
典型的なハードウェア構成は、図に示すような、従来型
マイクロプロセッサ等の中央処理装置(CPU)103、およ
び、システムバス105を介して相互接続される複数のそ
の他の装置を含む。バス105は、他のワークステーショ
ンあるいはネットワーク等にさらに接続する拡張部分12
1を含み得る。図1に示すワークステーションは、シス
テムランダムアクセスメモリ(RAM)109およびシステムリ
ードオンリーメモリ(ROM)107を含む。システムバス105
は、典型的には、ユーザインターフェースアダプタ115
を介してキーボード装置111およびマウス(あるいは他
のポインティングデバイス)113にも接続される。ユー
ザインターフェースアダプタ115を介して、タッチスク
リーン装置(図示せず)等の他のユーザインターフェー
ス装置もシステムバス105に接続され得る。また、図示
されるように、グラフィックス装置117は、システムバ
ス105と、モニタすなわちディスプレイ装置119との間に
接続される。本発明が実施されるワークステーションあ
るいはコンピュータシステム101は、その多くの部分が
当該分野において公知であり、これを構成する電子部品
および回路もまた、当業者には公知である。したがっ
て、本発明に通底する概念の理解および正確な把握のた
め、あるいは、本発明の教示内容のあいまいな理解およ
び逸脱を防ぐために、図1に示さない回路の詳細につい
て、上述のような、必要と思われる範囲以上に説明をつ
けることはしない。
【0048】図2において、システムバス105は、グラ
フィックス装置あるいはサブシステム117に接続されて
いる。グラフィックス装置117は、例えば、グラフィッ
クスプロセッサ201を含み得る。グラフィックスプロセ
ッサ201は、比較的高速なローカルフレームバッファ装
置(本実施例の場合、RDRAMメモリ203)からの情報ある
いはデータの処理、送信および受信を行うように構成さ
れている。フレームバッファ装置あるいはRDRAM 203は
フレーム表示情報を有する。このフレーム表示情報への
アクセスは、ディスプレイ装置119に接続されるグラフ
ィックスプロセッサ201によって行われる。ディスプレ
イ装置119は、フレームバッファ203に格納された情報を
グラフィックスプロセッサ201によって処理したグラフ
ィックス表示を提供し得る。本実施例で示されるグラフ
ィックスプロセッサ201はシステムCPU 103とは別に設け
られている。しかし、本発明は、グラフィックスプロセ
ッサを別途設ける場合に限定されるものではなく、本明
細書中に教示される方法を、単一システムCPUあるいは
他のより大きなシステムチップ(集積回路)において、
またはその一部として実施するシステムも含む。
【0049】図3に示されるRDRAMメモリのメモリマッ
プには、例えば、ビデオバッファメモリおよび「Z」バ
ッファメモリによって占有され得る2つの使用中スペー
ス(NFS)領域301および305が存在する。また、このメモ
リマップには、ある時点では未使用オープンメモリ領域
である2つの空きスペース(FS)領域303および307が存在
する。本明細書中において使用する「テクスチャーマッ
プ」あるいは「TM」の用語は、ディスプレイスクリーン
上のある特定のピクセル領域上に表示され得る様々なグ
ラフィックスプリミティブあるいは基本描画要素に関連
する情報を有する、1ブロックあるいは1まとまりのメ
モリスペースを指す。例えば、TMは、ある既知の大きさ
の三角形の基本描画要素について、透明度あるいはシェ
ーディング情報を含み得る。テクスチャーマップは、可
変および所定の構成(即ち、メモリ領域のサイズおよび
形状)をとり得る。このようなTM(あるいは情報ブロッ
ク)は、TMに関連付けられたプリミティブが処理のため
にグラフィックスプログラムによって必要とされる際
に、格納およびアクセスあるいは呼び出される必要があ
る。プリミティブおよびそれに関連付けられたTMを呼び
出して表示する描画プロセスは、グラフィックス処理機
能の間中、連続的に行われ得る。従って、多くのアクセ
ス機能および格納機能が速い頻度で発生する。ローカル
グラフィックスRDRAMメモリがすべて使用中である場
合、残っているTMは、ホストあるいはシステムメモリに
送信して格納および取出しが行われる。本発明によれ
ば、TMに関連付けられたプリミティブの呼び出し頻度お
よびTMサイズによってTMが特徴付けられる。本発明の格
納および取出し方法を適用するシステムにとって最適な
方法でTMの格納が優先順位づけされ得る。本実施例で
は、TMを、まず呼び出し頻度によって、次にサイズによ
って特徴づける。プログラムが最も頻繁に使用するプリ
ミティブに用いられるTMに、最高の優先順位が付けら
れ、最初にRDRAMに格納される。その後、TMは、サイズ
に基づいてRDRAMに格納される。つまり、実質的に呼び
出し頻度優先順位が同じであるTMの中で、(ファイルを
完全に転送させるのにより多くのアクセスを必要とす
る)相対的に大きなTMを優先的にRDRAMに格納する。そ
の後、RDRAMが一杯になると、残りのTMはホストあるい
はシステムメモリに送信して格納する。このようにすれ
ば、最も頻繁に使用されるTMのアクセス時間が最小とな
る。また、最もサイズが大きなブロックあるいはTM(つ
まり、複数回のアクセスを必要とし得る、解像度あるい
はバイト/ピクセル(BPP)情報の量が最大のTM)もま
た、空きスペース優先順位に基づいて、高速RDRAMメモ
リに格納およびアクセスされる。場合によっては、重み
付けファクタを用いて、サイズの小さなTMの優先度を高
める。例えば、高速メモリ内の同一領域を、相対的に低
い優先順位「1」をもつ第1の12個のテクスチャーマッ
プと、相対的に高い優先順位「2」をもつ第2のただ1
つの相対的に大きいテクスチャーマップとのいずれかが
取り得る場合、優先順位は相対的に低くはあるが、12個
のテクスチャーマップを高速メモリに格納するのが、高
速メモリの最良の使用法である。この場合、相対的に優
先順位が高いTMは、相対的に低速のシステムメモリに格
納される。このようにすることにより、メモリへのアク
セスは、高速RDRAMに対して行われる方が多くなる。な
ぜなら、それらのTMの優先順位は相対的に低いにも関わ
らず、より多数のTMがRDRAMに格納されるからである。
【0050】特定のプリミティブの呼び出し(あるいは
使用)回数は、プログラムおよびアプリケーションによ
って異なる。したがって、TMの使用回数を記録してお
き、例えば、ホストメモリ内のTMの1つが、RDRAMメモ
リ内のあるTMよりも頻繁に使用され始めた場合、リシャ
フル(re-shuffle)あるいは入れ替え(swap)を行って、
TMの格納位置を互いに入れ換え得る。これにより、最も
頻繁に使用されるTMは、利用可能な最速のメモリに格納
される。メモリ格納位置のリシャフルが行われる頻度
も、アプリケーションによって異なり得る。さらに、開
示される方法は複合優先順位にも対応可能であり、サブ
システムベースで優先順位−サイズ混合TMを実現し得
る。
【0051】本実施例において示される基本的な方法に
よれば、さまざまな解像度およびBPPのテクスチャーマ
ップ(TM)をRDRAMに最適に格納できる。これを行うため
に、先ず、空きRDRAMスペース(FS)の最小単一ブロック
への最大のTMの適合(fit)を試みて、これにより、そ
れより大きなテクスチャーを登録する必要が後になって
生じた場合に、その大きいほうのテクスチャーがRDRAM
に適合する可能性がより高くなるようにする。例えば、
図4に示すRDRAM構成は、3つの使用中スペース領域(NF
S)ブロック501、503および505がある。図4〜図8を通
して、対応する部分には同一の参照符号を付している。
NFSブロック501はRDRAMの左上の一画を占有し、NFSブロ
ック503はNFS 501と同じ高さにあり、NFS 501のすぐ右
側の領域を占有している。NFS 501とNFS 503との間には
基準点「A」があり、NFSブロック503の右側には基準点
「C」がある。NFS 501のすぐ下にあるNFS 505には、NF
S 505の右下端の頂点を規定する頂点(基準点)「B」
がある。NFS領域501〜505は、グラフィックスシステム
のその他の機能に関する情報によって占有されており、
まだ残っているTMあるいは情報ブロックの収容に利用す
ることはできない。しかし、図示されるように、このRD
RAMの右下の一画には空きスペース(FS)407がある。本実
施例の目的に合わせて、サイズおよび呼び出し(または
使用)頻度(あるテクスチャーが使用される回数、即
ち、そのテクスチャーが登録される回数ではなく、その
テクスチャーあるいはTMを使用する多面体(polys)の
数)が異なる多数のTMが、アクセスが最適化されるよう
に格納されるものと仮定する。
【0052】図5においては、図4のFS 407が、2つの
空きスペース領域「FS2」507および「FS1」509に分割さ
れている。図6においては、空きスペース407が、別の
様式で分割されて空きスペースFS3 601およびFS4 603を
規定している。図8は、あるTMがFS4 603の領域内に割
り当てられ、NFS 801(割り当てられたTMが占有)とそ
れ以外の空きスペース803および804とにRDRAMが再構成
された場合を示す。図5〜図7は、RDRAM内の空きスペ
ースを検索するためのルーチンの一例の動作を示してい
る。それに対して、図8は、TMを空きスペースに格納し
て、RDRAMを再マッピングするための「プット」ルーチ
ンを説明するのに有用な図である。図5〜図8は、図13
〜図14に示されるフローチャートに関連して参照され
る。
【0053】次に、図9を参照して、TMの最適な格納に
用いられた方法の全体を示す。ステップ901からプログ
ラムを開始し、ステップ903において、RDRAMメモリのTM
を全てクリアする。その後、ステップ905において、RDR
AM内のFS領域を全て登録する。次のステップ907におい
て、格納するべき最大のテクスチャーマップTMをフェッ
チする。その後、ステップ909において、プログラム
は、RDRAM内の使用可能な最小の空きスペースFSを検索
する。次に、ステップ911において、上記最大のTMが、
上記最小の空きスペースFSに適合するかどうかを判定す
る。このTMが適合しない場合、ステップ913において、R
DRAM内に、より大きな空きスペースが残っているかどう
かを判定する。より大きな空きスペースが残っている場
合、ステップ915において、上記最小の空きスペースの
次に大きい空きスペースをフェッチし、ステップ911に
おいて、その空きスペースにTMが適合するかどうかを判
定する。このループは、十分な大きさの空きスペースが
見つかるまで繰り返される。十分な大きさの空きスペー
スが見つかると、ステップ923においてTMが格納され
る。十分な大きさの空きスペースが見つからず、ステッ
プ913において、もうそれ以上大きな空きスペースが残
っていないと判定された場合、ステップ917において、
ホストあるいはシステムメモリにTMを送信して格納す
る。この時、ステップ919において、まだ他にTMがある
かどうかを判定する。それ以上TMがない場合には、ステ
ップ921においてこの方法は終了する。逆に、まだ他に
格納するべきTMがある場合、上記方法を繰り返し、ステ
ップ907において、残っているTMの中で最大のTMをフェ
ッチする。いずれの場合においても、ステップ923にお
いてTMを空きスペースに格納した後に、ステップ925に
おいて、まだ他にTMがあるかどうかの判定が行われる。
もうそれ以上TMがない場合、ステップ926において、こ
のプロセスは終了する。まだ他にTMがある場合、方法は
終了せず、新しく格納したTMを差し引いた上で、ステッ
プ927において、残っている空きスペースの再登録ある
いは並び替えを行い、ステップ907において、残ってい
るTMの中で最大のTMをフェッチする。
【0054】図10に、TMの登録方法をより詳細に示す。
TMの優先順位およびサイズについてのファクタは、リシ
ャフルあるいは優先順位並び替えプロセスの必要性およ
び頻度に関係があり、これらも図10に示されている。例
えば、残っているTMの中で最大のTMをフェッチする機能
907(図9)が呼び出されると、TM登録ルーチン1001が
呼び出される。まず、ステップ1003において、まだ登録
するべきTMがあるかどうかを判定する。登録するべきTM
がない場合、ステップ1005において、このプロセスは終
了する。登録するべきTMがある場合には、ステップ1007
において、1つのTMをリストに追加する。次に、ステッ
プ1009において、残っているFS領域を見つけて、ステッ
プ1011において、優先順位リシャフルあるいはサイズリ
シャフルを行わずに、TMをFSに適合するかどうか試み
る。ステップ1013においてTMが適合した場合、そのTMを
TMリストに残したままプロセスはステップ1003にもど
り、まだ他にTMがあるかどうかの判定が行われる。逆
に、TMが適合しなかった場合、ステップ1015において、
優先順位のリシャフルを行うことが必要か(あるいは、
プログラムされているか)どうか(つまり、そのTMが他
のTMよりも頻繁に使用されるTMであるかどうか)の判定
を行う。優先順位リシャフルが必要とされない場合、ス
テップ1017において、サイズリシャフルを行うことが必
要か(あるいは、プログラムされているか)どうか(つ
まり、そのTMのサイズが所定サイズよりも大きく、TM全
体を転送するために数回のアクセスを必要とするかどう
か)を判定する。プロセスのこの時点においてはサイズ
リシャフルが適切ではないと思われる場合には、他のオ
プションがあってもよいが、本実施例においては、プロ
グラムのこの時点でサイズリシャフルが必ず行われるも
のと仮定する。優先順位リシャフルまたはサイズリシャ
フルのいずれかが必要とされると、方法は終了せずに、
適切な機能を実行する。
【0055】優先順位リシャフルのために、ステップ10
16において、小さなTMの優先順位に重みを付ける(即
ち、優先順位を、小さいTMほど優先順位が高くなるよう
に調整する)。その後、ステップ1019において、処理中
のTMの調整されたTM優先順位が、RDRAM内に既に存在す
るTMの調整優先順位よりも高いかどうかを判定する。判
定結果が偽の場合、ステップ1021において、TMをホスト
あるいはシステムメモリに格納して、ステップ1003にお
いて、まだ他に登録するべきTMがあるかどうかを判定す
る。まだ他に登録するべきTMがある場合、ステップ1007
において次のTMをリストに追加し、上記同様のプロセス
が継続される。一方、処理中のTMの優先順位がRDRAM 20
3内に既に存在するTMの優先順位よりも高い場合には、
ステップ1023において、TM優先順位リシャフルを行うこ
とにより、処理中のTMをRDRAMに格納し、それまでRDRAM
に格納されていた、相対的に優先順位が低いTMをRDRAM
から排除する。
【0056】サイズリシャフルが必要とされると、ステ
ップ1025において、TMのサイズが、存在する空きスペー
スのサイズよりも大きく且つ以前にRDRAMに格納された
既存TMよりも小さいかどうかを判定する。判定結果が真
の場合、ステップ1027において、TMをホストメモリに格
納した後、プロセスはステップ1003にもどり、まだ他に
TMがあるかどうかを判定する。逆に、上記判定結果が偽
の場合、ステップ1029において、サイズのリシャフルを
開始して、以前に格納された相対的にサイズが小さいTM
の代わりに、処理中のTMをRDRAMに格納する。
【0057】図11を参照しながら、優先順位リシャフル
方法1023をより詳細に説明する。ステップ1101において
プロセスが開始されると、ステップ1103において、TMに
優先順位が割り当てられる。ステップ1105において、優
先順位に従ってTMがソートされる。次に、ステップ1107
において、サイズ適合リシャフル方法(fit-by-size res
huffle method)を用いて、さまざまなパーセンテージの
最優先TMを、サイズを基準にして、残っている空きスペ
ースに適合するかどうか試みる。この処理は、この最高
パーセンテージ(top percentage)内のTMが全て適合する
まで行われ、全てのTMが適合した時点で、ステップ1109
において、プロセスを終了する。
【0058】図12に、図10のサイズリシャフルルーチン
1029をより詳細に示す。ステップ1201においてルーチン
が開始されると、ステップ1203において、使用中スペー
ス領域NFSメモリ領域が全てクリアされる。次に、ステ
ップ1205において、残っている空きスペースFS領域が全
てクリアされ、ステップ1207において、残っている空き
スペースを検索する機能が実行される。そして、方法は
ステップ1209に進み、残っているTMの中で最大のTMを得
て、ステップ1211において、そのTMをRDRAMに格納でき
るかどうか試みる。ステップ1213において、TMが適合し
た場合(即ち、残っているTMの中で最大のTMがそのまま
でRDRAMに適合した場合)、プログラムはステップ1215
に進み、まだ他にTMがあるかどうかの判定が行われる。
まだ他にTMがある場合、プログラムはステップ1209にも
どり、残っている最大のTMを得る。ステップ1213におい
てTMが適合しないと判定されるまで、あるいは、ステッ
プ1215においてそれ以上TMがないと判定されるまで、こ
のループが繰り返される。TMは適合したが、ステップ12
15においてもうそれ以上TMがないと判定された場合に
は、ステップ1225においてこのルーチンを終了する。ス
テップ1213において、TMが適合しないと判定された場
合、プログラムはステップ1217に進み、TMのUVマックス
化(UV mux)を試みる。
【0059】UVマックス化は、TMの合計サイズを維持し
ながらTMの寸法を変化させる方法である。例えば、ある
TMのUVマックス化は、そのTMの高さを半分にして、幅を
倍にすることにより行うことができる。このようにすれ
ば、TMのサイズおよび情報量は維持された状態で、その
寸法が変化することにより、RDRAM内に残っている空き
スペースにTMをより容易に適合し得る。
【0060】次に、ステップ1219において、TMがRDRAM
に全く適合しなかった場合、そのTMはホストメモリに送
られる。ステップ1219においてTMが適合した場合、ある
いは、ステップ1221において、TMがホストメモリに送ら
れた場合、プログラムはステップ1223に進み、まだ他に
TMがあるかどうかを調べる。その後、ループの先頭のス
テップ1209に戻って、残っているTMの中で最大のTMブロ
ックを得る。ステップ1223において、それ以上TMが残っ
ていないと判定された場合、このループは終了する。
【0061】図13に、空きスペースFS検索ルーチンをよ
り詳細に示す。図5〜図7も参照しながら説明を行う。
ステップ1301においてFS検索ルーチンが呼び出される
と、ステップ1303において、指定された「ゼロ」基準点
からプロセスを開始する。基準点は、システムおよびRD
RAMの制約によって変化し得る。本実施例においては、
ステップ1305において、次のNFSメモリブロックの右下
頂点が開始点として設定される。これは、図5において
は、点「A」に相当する。次に、ステップ1307におい
て、開始点のすぐ下方のスペースを調べて、そこに空き
スペースFSがあればそれを登録する。例えば、図5であ
ればFS1が登録される。次に、ステップ1309において、
開始点の右側のスペースを調べて、そこにFSがあればそ
れも登録する。その後、プログラムはステップ1311に進
み、まだ他にNFSブロックがあるかどうかを判定する。
まだ他にNFSブロックがある場合、ルーチンはステップ1
305にもどり、次のNFSメモリの右下頂点を探す。例え
ば、図6において、プログラムは点「B」に戻る。次
に、プログラムは、「B」の下方にあるFS(即ち、FS
4)を指定し、その後、「B」の右側にあるFS(即ち、F
S3)を指定する。FS3およびFS4を、図7のFS2およびFS1
のように分割してもよい。実行可能な様々な空きスペー
スの下位分割を記録しておき、このルーチンで行われる
「適合」テストにおいて、この記録を参照する。本明細
書中に示される方法は、空きメモリスペースを調べ、そ
の空きスペースを複数の空きスペースセグメントに分割
するための1つの方法である。しかし、この機能を行う
方法が他にも存在すること、また、そのような方法は全
て広義には本発明の範囲内にあると考えられていること
が理解される。RDRAM内の各NFS頂点からサーチが行われ
る度に、ステップ1311において、まだ他にNFSブロック
があるかどうかを調べる。まだ他にNFSブロックがある
場合、プロセスはステップ1305にもどり、空きスペース
の次の下位分割を行うための開始点となる(本実施例の
場合)右下頂点を探す。ステップ1311において、もうそ
れ以上NFSブロックがないと判定された場合、ステップ1
313において、このルーチンは終了する。
【0062】図14に、TMをRDRAMに格納するルーチンを
示す。これは、図8にも概略的に示されている。ステッ
プ1401においてルーチンが開始されると、ステップ1403
において、残っている空きスペースFSの中の最小の空き
スペースを決定する。次に、ステップ1405において、そ
の空きスペースの領域(面積)がテクスチャーマップ(T
M)以上であるかどうかを判定する。空きスペースがこの
判定にパスした場合、ステップ1413において、この空き
スペースの左上寄りの一画にTMを配置する。図6〜図8
に示されるように、FS4の方が、FS1よりも小さいので、
図8に示されるように、TM 801は、図6のFS4に配置さ
れる。
【0063】ステップ1405において、FSの領域(面積)
がTM未満であると判定された場合、ステップ1407におい
て、まだ他に空きスペースがあるかどうかを判定する。
まだ他に空きスペースがある場合、ステップ1409におい
て、次に大きい空きスペース領域を参照して、FS領域ル
ープ1405および1407を再び行う。ステップ1407におい
て、もうそれ以上FSブロックが見つからない場合、ステ
ップ1411において、このルーチンは終了する。ステップ
1413においてRDRAM内のFSにTMを入れた後、ステップ141
5において、登録されたFS領域をクリアし、ステップ141
7において、空きスペース検索機能を行う。その後、ス
テップ1419において、まだ他にTMがあると判定された場
合、ルーチンはループの先頭に戻り、次に大きいFSを得
た後、FS領域ループ1405および1407を行う。ステップ14
19において、もうそれ以上TMがないと判定された場合、
ステップ1421においてこのルーチンは終了する。
【0064】図15に、UVマックス化されたTMをFSに入れ
る「プット」プロセスをより詳細に示す。ステップ1501
においてルーチンが開始されると、ステップ1503におい
て、TMの寸法がマックス化可能であるかどうかを判定す
る。TMの寸法がマックス化不可能である場合、ステップ
1505において、このルーチンは終了する。逆に、ステッ
プ1503において、TMの寸法がマックス化可能であると判
定された場合、ステップ1507において、TMの寸法を変化
させ、ステップ1509において、TMをRDRAMに入るかどう
か試みる。ステップ1511において、TMが適合しないと判
定された場合、ステップ1515において、そのTMの元の寸
法を復元してルーチンは終了する。ステップ1511におい
て、寸法を変化させたTMがRDRAMに適合した場合、ステ
ップ1513において、マックス化された寸法をTMに割り当
ててルーチンは終了する。
【0065】図16に、FS登録方法を示す。ステップ1601
においてプロセスが開始されると、ステップ1603におい
て次のFSを参照し、ステップ1605において、この特定の
FSが、存在する指定FS領域のサブセットであるかどうか
を判定する。そのFSがサブセットである場合、ステップ
1607において、まだ他にFS領域があるかどうかを判定す
る。まだ他にFS領域がある場合、プロセスはループの先
頭に戻り、ステップ1603において次のFSを得る。ステッ
プ1605において、このFSが、存在するFSのサブセットで
ないと判定された場合、ステップ1611において、新たな
FSデータファイルを形成し、ステップ1607において、ま
だ他にFS領域があるかどうかを調べる。もうそれ以上FS
領域がない場合、ステップ1609においてこのルーチンは
終了する。
【0066】本発明の方法および装置を、本明細書中に
開示した好適な実施形態に関連して説明した。本明細書
中には、本発明の1つの実施形態を詳細に記載および説
明したが、当業者であれば、上記実施形態の特定の変形
例、および、本発明の教示内容を利用した他の変形実施
形態を容易に構築できる。従って、本発明が、本明細書
中に示された特別な形態に限定されるのではなく、逆
に、本発明が、その概念および範囲に妥当に含まれる代
替例、改変例および等価物を網羅することが意図されて
いる。
【0067】
【発明の効果】本発明によれば、テクスチャーマップ情
報を、情報の様々な特徴に応じて格納し、テクスチャー
マップデータの所定の特徴に従って格納デスティネーシ
ョンを決定することにより、データの格納および取出し
時間を最小化する、改良型グラフィックス情報格納方法
および装置を提供することができる。
【図面の簡単な説明】
【図1】グラフィックスシステムを有するコンピュータ
システムのブロック図である。
【図2】図1に示されるグラフィックス装置のブロック
図である。
【図3】典型的なメモリ構成を示すメモリマップであ
る。
【図4】本実施例の動作のある局面を説明するのに有用
なメモリマップである。
【図5】本実施例の動作のある局面を説明するのに有用
なメモリマップである。
【図6】本実施例の動作のある局面を説明するのに有用
なメモリマップである。
【図7】本実施例の動作のある局面を説明するのに有用
なメモリマップである。
【図8】本実施例の動作のある局面を説明するのに有用
なメモリマップである。
【図9】例示的な本実施形態の典型的な動作を示すフロ
ーチャートである。
【図10】本発明の方法のある局面を示すフローチャー
トである。
【図11】本実施例で行われるリシャフルルーチンを示
すフローチャートである。
【図12】本実施例で用いられる別のリシャフルルーチ
ンを示すフローチャートである。
【図13】本実施例で行われる「検索」機能を示すフロ
ーチャートである。
【図14】開示される実施例で行われる「プット」ルー
チンを示すフローチャートである。
【図15】本実施例で行われる「マックス化」ルーチン
を示すフローチャートである。
【図16】開示される方法において行われる「登録」機
能を示すフローチャートである。
【符号の説明】
103 中央処理装置(CPU) 105 システムバス 107 システムリードオンリーメモリ(ROM) 109 システムランダムアクセスメモリ(RAM) 115 ユーザインターフェースアダプタ 117 グラフィックス装置 119 ディスプレイ装置 201 グラフィックスプロセッサ 203 RDRAM 301、305、501、503、505 使用中スペ
ース 303、307、407、507、509、601、6
03、803 空きスペース 801 テクスチャーマップ
───────────────────────────────────────────────────── フロントページの続き (71)出願人 595158337 3100 West Warren Aven ue,Fremont,Californ ia 94538,U.S.A.

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】 1群の情報ブロックを第1のメモリに格
    納する方法であって、該1群の情報ブロックが、表示さ
    れ得る画像の要素に関連付けられ、該方法は、 該情報についての少なくとも1つの所定の特徴に従って
    該ブロックのそれぞれをマークするステップと、 該特徴についての所定の優先順位計画(priority schedu
    le)に従って、該ブロックを該第1のメモリに格納する
    ステップと、を包含する方法。
  2. 【請求項2】 前記情報ブロックはテクスチャーマップ
    を包含し、前記要素はディスプレイシステムのピクセル
    である、請求項1に記載の方法。
  3. 【請求項3】 前記所定の特徴は、前記第1のメモリか
    ら前記ブロックが取出される頻度に関する、請求項2に
    記載の方法。
  4. 【請求項4】 前記所定の特徴は、前記ブロックのサイ
    ズに関する、請求項2に記載の方法。
  5. 【請求項5】 優先順位に基づいて、前記ブロックの中
    でより大きなものが、該ブロックの中でより小さなもの
    以前に格納される、請求項4に記載の方法。
  6. 【請求項6】 前記ブロックが第2の所定の特徴に従っ
    て格納される、請求項4に記載の方法。
  7. 【請求項7】 前記第2の所定の特徴は、前記第1のメ
    モリから前記ブロックが取出される頻度に関する、請求
    項6に記載の方法。
  8. 【請求項8】 前記第1のメモリは、空きスペース領域
    と使用中スペース領域とを含み、該使用中スペース領域
    は、前記情報ブロックの格納に利用できない該第1のメ
    モリ内の領域を表し、該空きスペース領域は、該情報ブ
    ロックの格納に利用できる該第1のメモリ内のスペース
    を表し、前記方法は、 該第1のメモリの空きスペース領域を全て登録するステ
    ップと、 該情報ブロックの中で最大のものをフェッチするステッ
    プと、 該空きスペース領域の中で最小のものを検索するステッ
    プと、 該ブロックの中の該最大のものが該空きスペース領域の
    中の該最小のものに適合するかどうか試みるステップ
    と、をさらに包含する、請求項2に記載の方法。
  9. 【請求項9】 前記情報ブロックの中の前記最大のもの
    が前記空きスペース領域の中の前記最小のものに適合し
    ない場合、次に大きい空きスペース領域を反復的にフェ
    ッチするステップをさらに包含する、請求項8に記載の
    方法。
  10. 【請求項10】 前記情報ブロックの中の前記最大のも
    のが、前記空きスペース領域の中の前記最小のものに適
    合すると判定された場合、該情報ブロックの中の該最大
    のものを、該空きスペース領域の中の最小のものに格納
    するステップをさらに包含する、請求項9に記載の方
    法。
  11. 【請求項11】 前記情報ブロックの中の前記最大のも
    のが、前記空きスペース領域の中の前記最小のものに適
    合不可能であり、且つ、より大きな空きスペース領域が
    前記第1のメモリにそれ以上残っていない場合、該情報
    ブロックの中の該最大のものを、第2のメモリに格納す
    るステップをさらに包含する、請求項10に記載の方法。
  12. 【請求項12】 前記第1のメモリは前記第2のメモリ
    よりも高速である、請求項11に記載の方法。
  13. 【請求項13】 前記情報ブロックが1つ格納される度
    に、該情報ブロックがまだ他に残っているかどうかを判
    定するステップと、 該情報ブロックがまだ残っていると判定された場合、前
    記登録するステップ、前記フェッチするステップ、前記
    検索するステップおよび前記試行ステップを反復的に繰
    り返すステップとをさらに包含し、 情報ブロックがそれ以上残っておらず、残っていた情報
    ブロックが全て前記第1および第2のメモリの一方に格
    納されたと判定されるまでさらに継続して動作可能であ
    る、請求項12に記載の方法。
  14. 【請求項14】 前記空きスペース領域に前記情報ブロ
    ックが1つ格納される度に、該空きスペース領域を登録
    するステップを繰り返すステップをさらに包含する、請
    求項13に記載の方法。
  15. 【請求項15】 前記登録するステップは、 前記第1のメモリ内の空きスペース領域を検索するステ
    ップと、 該第1のメモリ内で見つかった該空きスペース領域のい
    ずれもが、以前に形成された空きスペース領域のサブセ
    ットではないと判定された場合、新たな空きスペースフ
    ァイルを選択的に形成するステップと、をさらに包含す
    る、請求項8に記載の方法。
  16. 【請求項16】 前記検索ステップは、 前記第1のメモリ内のゼロ基準開始点(zero reference
    starting point)を決定するステップと、 該ゼロ基準開始点近傍にある使用中スペースメモリ領域
    の右下側頂点を探すステップと、 該開始点の下側にあるメモリスペースをサーチし、見つ
    かった空きスペースを登録するステップと、をさらに包
    含する、請求項15に記載の方法。
  17. 【請求項17】 前記開始点の右側にあるメモリスペー
    スをサーチし、見つかった空きスペースを登録するステ
    ップをさらに包含する、請求項16に記載の方法。
  18. 【請求項18】 前記第1のメモリの使用中スペース領
    域が全て登録されるまで前記登録ステップを繰り返すス
    テップをさらに包含する、請求項17に記載の方法。
  19. 【請求項19】 前記試行ステップの後に、 前記情報ブロックの中の前記最大のものが、前記空きス
    ペース領域の中の前記最小のものに適合しない場合に、
    前記第1のメモリ内の前記テクスチャーマップを必ずリ
    シャフルするステップをさらに包含する、請求項8に記
    載の方法。
  20. 【請求項20】 前記リシャフルするステップは、前記
    テクスチャーマップのサイズに基づいて該テクスチャー
    マップをサイズリシャフルするステップを包含し、該テ
    クスチャーマップのサイズが、前記第1のメモリ内に存
    在する空きスペースよりも大きく且つ該第1のメモリ内
    に存在するテクスチャーマップよりも小さい場合には該
    サイズリシャフルするステップを必ず行う、請求項19に
    記載の方法。
  21. 【請求項21】 前記テクスチャーマップサイズが、存
    在する空きスペースよりも大きくなく且つ存在するテク
    スチャーマップよりも小さい場合に、該テクスチャーマ
    ップを必ず第2のメモリに入れるようさらに動作可能で
    ある、請求項20に記載の方法。
  22. 【請求項22】 前記第1のメモリのアクセス時間は、
    前記第2のメモリよりも高速である、請求項21に記載の
    方法。
  23. 【請求項23】 前記サイズリシャフルするステップ
    は、 前記第1のメモリの使用中スペース領域をクリアするス
    テップと、 該第1のメモリ内に残っている空きスペース領域をクリ
    アするステップと、 該第1のメモリ内に残っている空きスペース領域を検索
    するステップと、 残っているテクスチャーマップの中で最大のものを得る
    ステップと、 該テクスチャーマップの中の該最大のものを該第1のメ
    モリに入るかどうか試みるステップと、 該テクスチャーマップの中の該最大のものが該第1のメ
    モリに適合しない場合、該テクスチャーマップの中の該
    最大のものを第2のメモリに入れるステップと、 を包含する、請求項21に記載の方法。
  24. 【請求項24】 前記テクスチャーマップの中の前記最
    大のものが前記第1のメモリに適合しない場合、該テク
    スチャーマップの中の該最大のものをUVマックス化でき
    るかどうか試みるステップをさらに包含する、請求項23
    に記載の方法。
  25. 【請求項25】 前記リシャフルするステップは、前記
    テクスチャーマップの優先順位に基づいて該テクスチャ
    ーマップを優先順位リシャフルするステップを包含し、
    テクスチャーマップの優先順位が前記第1のメモリ内に
    存在するテクスチャーマップの優先順位よりも高い場合
    には該優先順位リシャフルするステップを必ず行う、請
    求項19に記載の方法。
  26. 【請求項26】 前記テクスチャーマップの前記優先順
    位が、前記第1のメモリ内に以前に形成されたテクスチ
    ャーマップの優先順位よりも高くない場合に、該テクス
    チャーマップを必ず第2のメモリに入れるよう動作可能
    である、請求項25に記載の方法。
  27. 【請求項27】 前記第1のメモリのアクセス時間は、
    前記第2のメモリよりも高速である、請求項26に記載の
    方法。
  28. 【請求項28】 前記優先順位リシャフルするステップ
    は、 前記テクスチャーマップに優先順位を割り当てるステッ
    プと、 該テクスチャーマップを該割り当てられた優先順位によ
    ってソートするステップと、 所定回数の適合が起こるまで、該優先順位の中で相対的
    に高い優先順位を有するさまざまなパーセンテージの該
    テクスチャーマップを、前記第1のメモリの空きスペー
    スに反復的に適合するかどうか試みるステップと、を包
    含する、請求項25に記載の方法。
  29. 【請求項29】 前記マックス化するステップは、 前記テクスチャーマップの寸法がマックス化可能である
    かどうかを判定するステップと、 該寸法がマックス化可能であると判定された場合、該テ
    クスチャーマップの寸法を変化させるステップと、 該マックス化テクスチャーマップを前記第1のメモリに
    入るかどうか試みるステップと、 該マックス化テクスチャーマップが該第1のメモリに適
    合する場合、該マックス化寸法を該テクスチャーマップ
    に割り当てるステップと、を包含する、請求項24に記載
    の方法。
  30. 【請求項30】 前記マックス化テクスチャーマップが
    前記第1のメモリに適合しない場合、該テクスチャーマ
    ップの元の寸法を復元するステップをさらに包含する、
    請求項29に記載の方法。
  31. 【請求項31】 機械可読符号(machine readable indi
    cia)を有する記憶媒体であって、該記憶媒体は読取り装
    置に選択的に接続され、該読取り装置は処理回路部に接
    続され、該読取り装置は、該機械可読符号を読取って該
    符号を表すプログラム信号を選択的に提供することがで
    き、該プログラム信号は、1群の情報ブロックの第1の
    メモリへの格納を該処理回路部に行わせ得る信号であ
    り、該情報ブロックのそれぞれは、表示され得る画像の
    要素に関連付けられ、該プログラム信号は、 該情報についての少なくとも1つの所定の特徴に従って
    該ブロックのそれぞれをマークするステップと、 該特徴についての所定の優先順位計画に従って、該ブロ
    ックを該第1のメモリに格納するステップと、をさらに
    実行し得る信号である、記憶媒体。
  32. 【請求項32】 メインバスと、ディスプレイ装置と、
    グラフィックスサブシステムとを備えたコンピュータシ
    ステムを含む、コンピュータを利用したグラフィックス
    ステーションであって、該グラフィックスサブシステム
    は、該メインバスと該ディスプレイ装置とに接続される
    グラフィックスプロセッサ装置を備え、該グラフィック
    スサブシステムは、該グラフィックスプロセッサ装置に
    接続されるグラフィックスメモリをさらに含み、該グラ
    フィックスサブシステムは、プログラム信号を選択的に
    提供することができ、該プログラム信号は、1群の情報
    ブロックの第1のメモリへの格納を該グラフィックスス
    テーションに行わせ得る信号であり、該情報ブロックの
    それぞれは、表示され得る画像の要素に関連付けられ、
    該プログラム信号は、 該情報についての少なくとも1つの所定の特徴に従って
    該ブロックのそれぞれをマークするステップと、 該特徴についての所定の優先順位計画に従って、該ブロ
    ックを該第1のメモリに格納するステップと、をさらに
    実行し得る信号である、コンピュータを利用したグラフ
    ィックスステーション。
JP09145362A 1996-06-27 1997-06-03 テクスチャーマップパッキング Expired - Lifetime JP3086189B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/670,299 US6121974A (en) 1996-06-27 1996-06-27 Priority storage system for fast memory devices
US08/670,299 1996-06-27

Publications (2)

Publication Number Publication Date
JPH1091801A true JPH1091801A (ja) 1998-04-10
JP3086189B2 JP3086189B2 (ja) 2000-09-11

Family

ID=24689849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09145362A Expired - Lifetime JP3086189B2 (ja) 1996-06-27 1997-06-03 テクスチャーマップパッキング

Country Status (4)

Country Link
US (2) US6121974A (ja)
EP (1) EP0817118A3 (ja)
JP (1) JP3086189B2 (ja)
TW (1) TW339435B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000004496A1 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Graphics processor with texture memory allocation system
EP1056014A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company System for providing a trustworthy user interface
US6822655B1 (en) * 2000-07-20 2004-11-23 International Business Machines Corporation Method and apparatus for caching variable size patterns into fixed size slots
US6917364B2 (en) * 2001-01-31 2005-07-12 International Business Machines Corporation Method and apparatus for managing texture memory in a data processing system
US7009620B2 (en) * 2003-07-30 2006-03-07 Hewlett-Packard Development Company, L.P. System and method for combining parametric texture maps
US7272606B2 (en) * 2003-11-26 2007-09-18 Veritas Operating Corporation System and method for detecting and storing file content access information within a file system
KR100555945B1 (ko) * 2004-01-08 2006-03-03 삼성전자주식회사 재기록 가능한 광 매체에 데이터를 추가 기록하기 위한기록제어방법 및 빈 영역 관리방법
TWI384488B (zh) * 2007-12-24 2013-02-01 Skymedi Corp Nonvolatile storage device and its data writing method
JP2009217135A (ja) * 2008-03-12 2009-09-24 Panasonic Corp 表示用データ出力装置
US8620859B2 (en) * 2008-04-28 2013-12-31 Hewlett-Packard Development Company, L.P. Data processing system and method of evaluating effectiveness of usage of a file system
US7542985B1 (en) * 2008-06-12 2009-06-02 International Business Machines Corporation System and method for log retrieval priority
KR101522985B1 (ko) * 2008-10-31 2015-05-27 삼성전자주식회사 영상처리 장치 및 방법
US9594527B2 (en) * 2009-12-16 2017-03-14 Teradata Us, Inc. Precedence based storage
US9392212B1 (en) 2014-04-17 2016-07-12 Visionary Vr, Inc. System and method for presenting virtual reality content to a user
US9665170B1 (en) 2015-06-10 2017-05-30 Visionary Vr, Inc. System and method for presenting virtual reality content to a user based on body posture
US10088898B2 (en) 2016-03-31 2018-10-02 Verizon Patent And Licensing Inc. Methods and systems for determining an effectiveness of content in an immersive virtual reality world
CN110674057A (zh) * 2019-09-06 2020-01-10 苏州浪潮智能科技有限公司 一种数据处理方法及系统
CN113792171B (zh) * 2021-11-15 2022-02-18 西安热工研究院有限公司 基于内存管理的图像检索方法、系统、设备及存储介质

Family Cites Families (16)

* 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
US4692880A (en) * 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
JPH0814842B2 (ja) * 1986-03-25 1996-02-14 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン イメ−ジ処理方法及び装置
CA1272312A (en) * 1987-03-30 1990-07-31 Arthur Gary Ryman Method and system for processing a two-dimensional image in a microprocessor
US5191642A (en) * 1987-04-09 1993-03-02 General Electric Company Method for efficiently allocating computer resource for real time image generation
JPS6453614A (en) 1987-08-25 1989-03-01 Mitsubishi Electric Corp Amplifier
US5056044A (en) * 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
EP0536414B1 (en) * 1991-04-15 1998-09-02 Oki Electric Industry Company, Limited Apparatus for processing image
JP3304413B2 (ja) * 1992-09-17 2002-07-22 三菱電機株式会社 半導体記憶装置
GB2276962B (en) * 1993-04-08 1997-05-28 Int Computers Ltd Cache replacement mechanism
JP3623972B2 (ja) 1993-06-04 2005-02-23 株式会社東芝 図形描画処理装置
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
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
EP0747859B1 (en) * 1995-06-06 2005-08-17 Hewlett-Packard Company, A Delaware Corporation Interrupt scheme for updating a local memory
US5790130A (en) * 1995-06-08 1998-08-04 Hewlett-Packard Company Texel cache interrupt daemon for virtual memory management of texture maps
US5742797A (en) * 1995-08-11 1998-04-21 International Business Machines Corporation Dynamic off-screen display memory manager

Also Published As

Publication number Publication date
US6121974A (en) 2000-09-19
JP3086189B2 (ja) 2000-09-11
EP0817118A2 (en) 1998-01-07
US6326975B1 (en) 2001-12-04
US20010043227A1 (en) 2001-11-22
EP0817118A3 (en) 1999-06-23
TW339435B (en) 1998-09-01

Similar Documents

Publication Publication Date Title
JP3086189B2 (ja) テクスチャーマップパッキング
KR100907154B1 (ko) 영상 처리 장치와 그의 구성요소, 렌더링 방법
US7920141B2 (en) Method and apparatus for rasterizer interpolation
JP2544429B2 (ja) イメ―ジ処理装置
USRE36145E (en) System for managing tiled images using multiple resolutions
US5841447A (en) System and method for improving pixel update performance
EP0356103B1 (en) Scan-conversion process and processor
JP3462211B2 (ja) 多態グラフィック・デバイス
JPS5975758A (ja) イメ−ジ・フイ−ルドの変換方法
EP1306810A1 (en) Triangle identification buffer
US7218317B2 (en) Mechanism for reducing Z buffer traffic in three-dimensional graphics processing
JPH06243262A (ja) 画像処理装置
JPH0610812B2 (ja) 表示装置
US5973701A (en) Dynamic switching of texture mip-maps based on pixel depth value
KR100233346B1 (ko) 그래픽 시스템에서 하나 이상의 가시 객체 식별 방법 및 장치
JPH0660173A (ja) 画像を縮小する方法および装置
EP0519694A2 (en) Method for allocating off-screen display memory
US6215501B1 (en) Method and filling a polygon and recording medium
JP2676116B2 (ja) 画像データ処理方法および装置
EP0817128A2 (en) Method and apparatus for drawing polygons
US5929869A (en) Texture map storage with UV remapping
US5926184A (en) Polygon sorting ordered by grouping according to distances in sorting groups
EP0817127B1 (en) Memory mapping method and apparatus
US5798763A (en) Object referenced memory segmentation
US20050052459A1 (en) Method and system for rendering macropixels in a graphical image

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000601

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

Free format text: PAYMENT UNTIL: 20070707

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080707

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080707

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090707

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090707

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 13

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