JP4521399B2 - 描画装置、描画方法、及び描画プログラム - Google Patents

描画装置、描画方法、及び描画プログラム Download PDF

Info

Publication number
JP4521399B2
JP4521399B2 JP2006519083A JP2006519083A JP4521399B2 JP 4521399 B2 JP4521399 B2 JP 4521399B2 JP 2006519083 A JP2006519083 A JP 2006519083A JP 2006519083 A JP2006519083 A JP 2006519083A JP 4521399 B2 JP4521399 B2 JP 4521399B2
Authority
JP
Japan
Prior art keywords
pixels
pixel
processing unit
pixel processing
data
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 - Fee Related
Application number
JP2006519083A
Other languages
English (en)
Other versions
JPWO2005088548A1 (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of JPWO2005088548A1 publication Critical patent/JPWO2005088548A1/ja
Application granted granted Critical
Publication of JP4521399B2 publication Critical patent/JP4521399B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Description

この発明は、描画装置、描画方法、及び描画プログラムに関するもので、例えば複数のピクセルを同時に並列処理する描画装置に関する。
近年、CPU(Central Processing Unit)の動作の高速化に伴って、画像描画装置に対しても高速化の要求が高まってきている。
描画装置は、投入された図形をピクセルに分解するラスタライザと、ピクセルに描画処理を加えるピクセル処理部と、描画結果を読み書きするメモリとを備える。近年、CG(Computer Graphics)技術の進歩により、複雑なピクセル処理技術が頻繁に用いられるようになってきている。そのため、ピクセル処理部の負荷が大きく、そのためピクセル処理部を並列化することが行われている。更に、ピクセル処理部の並列度を上げるにつれて、処理速度のボトルネックは、メモリとの間のデータ転送となる。従って、データ転送バスを複雑化させることなく動作を高速化させるために、処理効率の向上のために、ピクセル処理部を並列化すると共に、各々のピクセル処理部にローカルメモリを割り当てる構成が、例えば特許第2901945号公報に提案されている。
しかしながら、上記手法であると、ピクセルの座標とピクセル処理部との対応が予め決まる。すなわち、ラスタライザは、各ピクセル処理部の処理状況を見て最も負荷の少ないピクセル処理部にピクセルを投入する、ということが出来ない。したがって、特定のピクセル処理部に負荷が集中することがあり、ピクセル処理部の負荷分散を均等にし難いという問題があった。そこで、各ピクセルに1つのピクセル処理部を対応させた構成も、例えばFuchs他著、“Fast Spheres, Shadows, Textures, Transparencies, and Image Enhancements in Pixel-Planes.”、Computer Graphics(Proc. SIGGRAPH 85)、Vol. 19、No. 3、p.111-120、1985年、及びFuchs他著、“Pixel-Planes 5: A Heterogeneous Multiprocessor Graphic System Using Processor-Enhanced Memories.”、Computer Graphics(Proc. SIGGRAPH 89)、Vol. 23、No.3、p.79-88、1989年に提案されている。
しかしながら、上記文献記載の方法であると、描画装置が非常に大規模にならざるを得ず、現実的でないという問題があった。
本発明は、回路規模を大型化することなく画像処理効率を向上出来る描画装置、描画方法、及び描画プログラムを提供する。
この発明の態様に係る描画装置は、図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、前記ラスタライザによって生成された前記ピクセルに対して描画処理を行うN個(N=2 (2n+2) 、nは1以上の自然数)のピクセル処理部と、前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと、を具備し、前記ピクセル処理部は、複数の前記ピクセルに対して描画処理を行い、同一の前記ピクセル処理部によって描画処理される前記ピクセル同士は、前記描画領域内において等距離且つ等方的に位置し、同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 より大きい三角形を形成する。
更に、この発明の一態様に係る描画方法は、図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザを用いた描画方法であって、図形情報に基づいてピクセルを生成するステップと、生成されたピクセルが描画領域内において占める位置に応じて、N個(N=2(2n+2)、nは1以上の自然数)のうちの対応するピクセル処理部に前記ピクセルを投入するステップと、投入されたピクセルに対して描画処理を行うステップと、描画処理を行ったピクセルデータを、前記ピクセル処理部に対応して設けられたメモリに格納するステップとを具備し、前記ラスタライザは、同一の前記ピクセル処理部によって描画処理される前記ピクセル同士が、前記描画領域内において等距離且つ等方的に位置し、且つ同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルが、前記描画領域において、三辺のうちで最も短い辺の長さがN1/2より大きい三角形を形成するように、前記ピクセル処理部に前記ピクセルを投入する。
更に、この発明の一態様に係る描画プログラムは、図形を描画するためにコンピュータを、入力された図形情報に応じたピクセルを生成するピクセル生成手段と、各々が、前記ピクセル生成手段によって生成された前記ピクセルのうち、描画領域内において実質的に等距離且つ等方的に位置する複数の前記ピクセルについて描画処理を行う複数の描画手段と、前記描画手段によって描画された前記ピクセルのデータを保持するN個(N=2 (2n+2) 、nは1以上の自然数)の保持手段として機能させ、同一の前記保持手段によって保持される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 より大きい三角形を形成する。
この発明の第1の実施形態に係る描画装置について、図1を用いて説明する。図1は、本実施形態に係る画像描画プロセッサシステムLSIのブロック図である。
図示するように、本実施形態に係る画像描画プロセッサシステムLSI10は、ホストプロセッサ20、I/Oプロセッサ30、メインメモリ40、及びグラフィックプロセッサ50を備えている。ホストプロセッサ20とグラフィックプロセッサ50とは、プロセッサバスBUSによって、相互に通信可能に接続されている。
ホストプロセッサ20は、メインプロセッサ21、I/O部22〜24、及び複数の信号処理部(DSP:Digital Signal Processor)25を備えている。これらの回路ブロックは、ローカルネットワークLN1によって相互に通信可能に接続されている。メインプロセッサ21は、ホストプロセッサ20内の各回路ブロックの動作を制御する。I/O部22は、I/Oプロセッサ30を介してホストプロセッサ20外部とデータの授受を行う。I/O部23は、メインメモリ40との間でデータの授受を行う。I/O部24は、プロセッサバスBUSを介してグラフィックプロセッサ50との間でデータの授受を行う。信号処理部25は、メインメモリ40や外部から読み込んだデータに基づいて信号処理を行う。
I/Oプロセッサ30は、ホストプロセッサ20と、例えば汎用バス、HDDやDVD(Digital Versatile Disc)ドライブ等の周辺機器並びにネットワークとを接続する。この際、HDDやDVDドライブは、LSI10に搭載されているものでも良いし、またはLSI10外部に設けられていても良い。
メインメモリ40は、ホストプロセッサ20が動作するために必要なプログラムを保持する。このプログラムは、例えば図示せぬHDD等から読み出されて、メインメモリ40に格納される。
グラフィックプロセッサ50は、コントローラ51、I/O部52、53、演算処理部54を備えている。コントローラ51は、ホストプロセッサ20との間の通信や、演算処理部54の制御を行う。I/O部52は、プロセッサバスBUSを介したホストプロセッサ20との間の入出力を司る。I/O部53は、PCI等の各種汎用バス、ビデオ及びオーディオ、更に外部メモリ等との入出力を司る。演算処理部54は、画像処理演算を行う。
演算処理部54は、ラスタライザ(rasterizer)55、及び複数の信号処理部56−0〜56−31を備えている。なお、本実施形態では信号処理部56の数を32個にしているが、これは一例に過ぎず、8個、16個、64個等でも良く、その数は限定されるものではない。演算処理部54の詳細な構成について、図2を用いて説明する。図2はグラフィックプロセッサ50のブロック図である。
図示するように、演算処理部54は、ラスタライザ55と、32個の信号処理部56−0〜56−31を備えている。ラスタライザ55は、入力された図形情報に従って、ピクセル(pixel)を生成する。ピクセルとは、所定の図形を描画する際に取り扱われる最小単位の領域のことであり、ピクセルの集合によって図形が描画される。生成されるピクセルは、図形の形状(図形の占める位置)によって決まっている。すなわち、ある位置を描画する際にはその位置に対応したピクセルが生成され、また別の位置を描画する際には、対応する別のピクセルが生成される。信号処理部56−0〜56−31はそれぞれ、ピクセル処理部PPU0〜PPU31、及びピクセル処理部毎に設けられたローカルメモリLM0〜LM31を含んでいる。
ピクセル処理部PPU0〜PPU31はそれぞれ、4個のリアライズパイプRP(realize pipe)を有しており、4個のリアライズパイプRPが1個のRPクラスタRPC(realize pipe cluster)を形成している。RPクラスタRPCのそれぞれは、SIMD(Single Instruction Multiple Data)動作を行って、4個のピクセルを同時に処理する。そして、図形のそれぞれの位置に対応するピクセルは各ピクセル処理部PPU0〜PPU31に割り当てられており、図形の占める位置に応じて、対応するピクセル処理部PPU0〜PPU31がピクセルを処理する。ピクセルの位置とピクセル処理部との関係は後に詳述する。
ローカルメモリLM0〜LM31はそれぞれ、ピクセル処理部PPU0〜PPU31によって生成されたピクセルデータを記憶する。ローカルメモリLM0〜LM31は、全体としてリアライズメモリ(realize memory)を形成する。リアライズメモリは、例えば1つのDRAMであり、その内の所定のデータ幅を有する各メモリ領域が、それぞれローカルメモリLM0〜LM31に相当する。
次に、本実施形態に係るグラフィックプロセッサにおける、ピクセルと描画位置との関係について図3を用いて説明する。図3は、図形を描画すべき全体の空間を示す概念図である。なお、図3に示す描画領域は、ローカルメモリ内においてピクセルデータを保持するメモリ空間(以下、フレームバッファ(frame buffer)と呼ぶ)に相当する。
図示するように、フレームバッファは、マトリクス状に配置された((m+1)×(l+1))個のブロックBLK0〜BLKnを含んでいる。図3ではl=29、m=19
、n=599の場合について示しているが、この数は一例に過ぎず、限定されるものではない。ピクセル処理部PPU0〜PPU31は、ブロックBLK0〜BLK599順にピクセルを生成する。各ブロックBLK0〜BLK599はそれぞれ、マトリクス状に配置された32個のスタンプS(stamp)を含んで形成されている。図4は、図3に示された各ブロックが複数のスタンプを有する様子を示している。
図示するように、各スタンプは、同一のピクセル処理部によって描画される複数のピクセルの集合体である。本実施形態では1個のスタンプは(4×4)=16個のピクセルを含んでいるが、この数は例えば1個、4個、…等でも良く、限定されるものではない。図4において各スタンプに記載された番号S(=0〜31)を、以下スタンプIDと呼ぶ。そしてスタンプIDは、当該スタンプ内のピクセルを描画するピクセル処理部の番号に一致する。従って、スタンプIDとしてS=0が割り当てられたスタンプ内のピクセルはピクセル処理部PPU0によって描画され、S=31が割り当てられたスタンプ内のピクセルはピクセル処理部PPU31によって描画される。
ブロックBLK0〜BLK599の各々には、上記スタンプが(8×4)=32個含まれている。1つのブロックに含まれる32個のスタンプは、全て異なるピクセル処理部によって描画される。従って、1つのブロックあたりのスタンプ数は、ピクセル処理部数に等しい。そして、ブロック内においてスタンプは、左上から右下に向かって、S=0からS=31まで順次割り当てられている。すなわち、左上から水平方向に並ぶ2つのスタンプが2段設けられ、この(2×2)個のスタンプが水平方向に2つ並び、この(4×2)個のスタンプが2段設けられ、この(4×4)個のスタンプが水平方向に2つ並んでいる。そして各スタンプは、この順序に従って、それぞれピクセル処理部PPU0〜PPU31によって描画される。換言すれば、この順序に従ってスタンプIDが割り付けられる。但し、各スタンプへのIDの割り当ては任意であり、上記方法には限られない。すなわち、1つのブロックにピクセル処理部数と等しい数のスタンプが含まれ、それらのスタンプの全てが、互いに異なるピクセル処理部によって処理されるものであれば良い。従って、全体として(640×480)個のピクセルによって、図形を描画すべき空間が形成されている。また、同一ピクセル処理部によって処理される最近接の3つのスタンプは、直角三角形を形作るようにして位置している(図4では、ピクセル処理部PPU0によって処理されるスタンプS=0が、直角三角形の頂点に位置している様子を示している)。
次に、図2に示すグラフィックプロセッサ50の動作について、図5を用いて説明する。図5は、図形描画時におけるグラフィックプロセッサ50の動作を示すフローチャートである。
まず図形を描画するにあたって、まずラスタライザ55に図形情報が入力される(ステップS10)。図形情報は、例えば図形の頂点座標や色情報などである。ここで、例として三角形を描画する場合について説明する。ラスタライザ55に入力された三角形は、描画空間において、図6に示すような位置を占めるとする。すなわち、三角形の3つの頂点座標が、ブロックBLK1のスタンプS=7、ブロックBLK40のスタンプS=19、及びブロックBLK42のスタンプS=0に相当すると仮定する。
すると、ラスタライザ55は描画すべき三角形が占める位置に対応するスタンプ(またはピクセル)を生成する(ステップS11)。この様子を示しているのが図7である。生成されたスタンプデータは、それぞれ予め対応付けられたピクセル処理部PPU0〜PPU31に送られる(ステップS12)。
そして、入力されたスタンプデータに基づいて、ピクセル処理部が自らの担当するピクセルについて描画処理を行う(ステップS13)。図7の例であると、ブロックBLK1について、ピクセル処理部PPU7、PPU11〜PPU15、PPU24、PPU26、PPU27が、それぞれが担当するピクセルについて描画処理を行う。ブロックBLK20については、ピクセル処理部PPU29〜PPU31が、それぞれが担当するピクセルについて描画処理を行う。ブロックBLK21については、ピクセル処理部PPU1〜PPU19、PPU22、PPU24〜PPU31が、それぞれが担当するピクセルについて描画処理を行う。ブロックBLK40については、ピクセル処理部PPU19〜PPU23が、それぞれが担当するピクセルについて描画処理を行う。ブロックBLK41については、ピクセル処理部PPU0〜PPU7、PPU16〜PPU18、PPU20、PPU21が、それぞれが担当するピクセルについて描画処理を行う。
以上の結果、図7に示されるような三角形が、複数のピクセルによって描画される。ピクセル処理部によって描画されたピクセルデータは、スタンプ単位でローカルメモリLM0〜LM31に格納される(ステップS14)。前述の通り、ピクセル処理部PPU0〜PPU31のそれぞれはローカルメモリLM0〜LM31に対応しており、ピクセル処理部PPU0〜PPU31によって処理されたピクセルデータは、それぞれローカルメモリLM0〜LM31に格納される。
上記のように、本実施形態に係る描画装置によれば、フレームバッファは複数のスタンプを有する複数のブロックが集まって形成されている。そして、個々のブロック内のスタンプは、それぞれ異なるピクセル処理部PPU0〜PPU31によって処理される。この際、同一ピクセル処理部によって処理される最近接の3つのスタンプは、直角三角形の頂点にそれぞれ位置する。
以上のようにしてスタンプをフレームバッファ内に配置することで、ピクセル処理部PPU0〜PPU31の負荷を、従来に比べて均等に分散させることが出来る。その結果、ピクセルの座標とピクセル処理部との対応が予め決まる、各々のピクセル処理部にローカルメモリを割り当てる構成において、特に回路規模を大型化することなく、描画処理を高速化することが出来る。
次に、この発明の第2の実施形態に係る描画装置について図8を用いて説明する。本実施形態は、上記第1の実施形態で説明したスタンプの配置をテクスチャにも適用したものである。図8は、本実施形態に係る画像描画プロセッサシステムLSI10の備えるグラフィックプロセッサ50のブロック図である。
図示するように、本実施形態に係るグラフィックプロセッサ50は、上記第1の実施形態で説明した構成において、信号処理部56−0〜56−31のそれぞれが、テクスチャユニットTU(texture unit)及び読み出し回路RCを更に有している。そしてローカルメモリLM0〜LM31のそれぞれは、参照画像(テクスチャ:texture)データを保持する。
読み出し回路RCは、ローカルメモリLM0〜LM31からテクスチャデータを読み出す。テクスチャユニットTUは、テクスチャ処理を行う。すなわち、読み出し回路RCによって読み出したテクスチャデータを、ピクセル処理部で処理中のピクセルに貼り付ける(以下、この処理をテクスチャマッピング(texture mapping)という)。
図9はテクスチャデータの一例を示す概念図である。図示するように、テクスチャデータは、マトリクス状に配置された((m+1)×(l+1))個のテクスチャブロックTBLK0〜TBLKnを含んでいる。図9ではl=29、m=19、n=599個の場合について示しているが、この数は一例に過ぎず、限定されるものではない。
テクスチャブロックTBLK0〜TBLKnのそれぞれは、(8×4)=32個のテクスチャスタンプ(texture stamp)を含んでいる。そして各テクスチャスタンプは、同一のローカルメモリに格納される複数のテクセル(texel)の集合体である。テクセルとは、所定のテクスチャを取り扱う際の最小単位であり、テクセルの集合によって、テクスチャが形成される。本実施形態では1個のテクスチャスタンプは(4×4)=16個のテクセルを含んでいるが、この数は例えば1個、4個、…などでも良く、限定されるものではない。但し、スタンプを形成するピクセル数と、テクスチャスタンプを形成するテクセル数とは等しいことが望ましい。図9において各スタンプに記載された番号T(0〜31)を、以下テクスチャスタンプIDと呼ぶ。そしてテクスチャスタンプIDは、当該テクスチャスタンプ内のテクセルを格納するローカルメモリの番号に一致する。従って、テクスチャスタンプIDとしてT=0が割り当てられたテクスチャスタンプ内のテクセルはローカルメモリLM0に格納され、T=31が割り当てられたテクスチャスタンプ内のテクセルはローカルメモリLM31に格納される。
なお図9において斜線が付されているのは、何らかの絵柄が描かれていることを示すためであり、フレームバッファと区別するためのものである。
そして、1つのテクスチャブロックに含まれる32個のテクスチャスタンプデータは、全て異なるローカルメモリに格納される。従って、1つのテクスチャブロックあたりのテクスチャスタンプ数は、ローカルメモリ数(=ピクセル処理部数)に等しい。そして、テクスチャブロック内においてテクスチャスタンプは、左上から右下に向かって、T=0からT=31まで順次割り当てられている。すなわち、左上から水平方向に並ぶ2つのテクセルが2段設けられ、この(2×2)個のテクセルが水平方向に2つ並び、この(4×2)個のテクセルが2段設けられ、この(4×4)個のテクセルが水平方向に2つ並んでいる。そして各テクスチャスタンプは、この順序に従って、それぞれローカルメモリLM0〜LM31に格納される。換言すれば、この順序に従ってIDが割り付けられる。従って、全体として(640×480)個のテクスチャスタンプによってテクスチャデータが形成されている。また、同一IDを有する最近接の3つのテクセルは、直角三角形を形作るようにして位置している。
以上のように、テクスチャデータは、上記第1の実施形態で説明したフレームバッファと同様の方法によって、IDが割り付けられている。各テクスチャスタンプへのIDの割り当ては任意であり、上記方法には限られない。すなわち、1つのテクスチャブロックにローカルメモリ数と等しい数のテクスチャスタンプが含まれ、それらのテクスチャスタンプの全てが、互いに異なるローカルメモリによって保持されるものであれば良い。但し、フレームバッファのスタンプと同じようにIDが割り当てられることが望ましい。
次に、図8に示すグラフィックプロセッサ50の動作について、図10を用いて説明する。図形を描画する方法は、基本的には上記第1の実施形態で説明したとおりである。すなわち、まずラスタライザ55に図形情報が入力される(ステップS10)。ここでは、第1の実施形態と同様に、図6に示す三角形を描画する場合について説明する。
次にラスタライザ55は、描画すべき三角形が占める位置に対応するスタンプ(またはピクセル)を生成する(ステップS11)。この様子は図7に示す通りである。生成されたスタンプデータは、それぞれ予め対応付けられたピクセル処理部PPU0〜PPU31に送られる(ステップS12)。
そして、入力されたスタンプデータに基づいて、ピクセル処理部が自らの担当するピクセルについて描画処理を行う。同時に、描画した図形にテクスチャデータを貼り付けるテクスチャマッピングを行う(ステップS20)。以下テクスチャマッピングについて詳述する。
信号処理部56−0〜56−31は、ピクセル処理部PPU0〜PPU31によってピクセルに対する描画処理を行うと共に、読み出し回路RCによって、対応するピクセルに貼り付けるべきテクスチャデータをローカルメモリLM0〜LM31から読み出す。例えば、ピクセル処理部が図7に示す三角形を描画するとする。そして、図7に示す三角形に貼り付けるテクスチャデータは、図11に示すように、テクスチャブロックTBLK1、TBLK20、TBLK21、TBLK41にまたがる三角形であったとする。そして、フレームバッファにおけるブロックBLK1、スタンプS=7に位置する頂点が、テクスチャにおけるテクスチャブロックTBLK20、テクスチャスタンプT=21に対応し、フレームバッファにおけるブロックBLK40、スタンプS=19に位置する頂点が、テクスチャにおけるテクスチャブロックTBLK41、テクスチャスタンプT=30に対応し、フレームバッファにおけるブロックBLK42、スタンプS=0に位置する頂点が、テクスチャにおけるテクスチャブロックTBLK1、テクスチャスタンプT=20に対応すると仮定する。
すると、信号処理部56−7の読み出し回路RCは、ローカルメモリLM21からテクスチャブロックTBLK20のテクスチャスタンプT=21に対応するテクセルデータを読み出す。すると信号処理部56−7のテクスチャユニットTUが、ブロックBLK1のスタンプS=7に、テクスチャブロックTBLK20のテクスチャスタンプT=21を貼り付ける。また信号処理部56−19の読み出し回路RCは、ローカルメモリLM30からテクスチャブロックTBLK41のテクスチャスタンプT=30に対応するテクセルデータを読み出す。すると信号処理部56−19のテクスチャユニットTUが、ブロックBLK40のスタンプS=19に、テクスチャブロックTBLK41のテクスチャスタンプT=30を貼り付ける。更に信号処理部56−0の読み出し回路RCは、ローカルメモリLM20からテクスチャブロックTBLK1のテクスチャスタンプT=20に対応するテクセルデータを読み出す。すると信号処理部56−0のテクスチャユニットTUは、ブロックBLK42のスタンプS=0に、テクスチャブロックTBLK1のテクスチャスタンプT=20を貼り付ける。
なお、以上の例は、描画すべき三角形の面積が、フレームバッファとテクスチャとで等しい場合である。一般的には、テクスチャは拡大または縮小されてフレームバッファに貼り付けられることが多いが、この場合でも、フレームバッファにおける三角形の座標に対応するテクスチャスタンプが選択されることには変わりはない。
以下同様にして、信号処理部56−0〜56−31は、それぞれが描画処理するスタンプに貼り付けるべきテクセルを、ローカルメモリLM0〜LM31のいずれかから読み出し、スタンプに貼り付ける。その結果、図12に示される三角形の形状を有するテクスチャデータが、図7に示される三角形の形状を有するスタンプの集合に貼り付けられる。
その後、テクスチャデータの貼り付けられたピクセルデータは、それぞれローカルメモリに格納される(ステップS14)。
上記のように、本実施形態に係る描画装置によれば、テクスチャは複数のテクスチャブロックが集まって形成されている。そして、個々のテクスチャブロック内のテクセルは、それぞれ異なるローカルメモリLM0〜LM31に格納される。この際、同一ローカルメモリに格納される最近接の3つのテクセルは、直角三角形の頂点にそれぞれ位置する。
以上のように、テクセルとローカルメモリとを関係付けることによって、ピクセル処理部によるローカルメモリへのアクセスを、従来に比べて均等に分散させることが出来る。その結果、回路規模を大型化することなく、描画処理を高速化することが出来る。
次に、この発明の第3の実施形態に係る描画装置について図13を用いて説明する。本実施形態は、上記第1、第2の実施形態において、ローカルメモリ内におけるフレームバッファに対するアドレス割り当て方法(以下、アドレッシング(addressing)と呼ぶ)に関するものである。図13は、本実施形態に係る画像描画プロセッサシステムLSI10の備えるグラフィックプロセッサ50における演算処理部54のブロック図である。画像描画プロセッサシステムLSI10の構成は、上記第1、第2の実施形態で説明した構成と同じであるが、ここでは簡単化の為に、信号処理部が4個の場合を例に挙げて説明する。
図示するように、演算処理部54は、ラスタライザ55及び4個の信号処理部56−0〜56−3を備えている。信号処理部56−0〜56−3のそれぞれは、ピクセル処理部PPU0〜PPU3及びローカルメモリLM0〜LM3を備えている。従って、フレームバッファは図12に示すようになる。すなわちフレームバッファは、ピクセル処理部PPU0〜PPU3で処理される(2×2)個のスタンプ群が、(2×2)個集まって形成されている。
なお以上の例は、説明の簡単化のために、極端に小さなフレームバッファを仮定しているものであり、実用上は、例えば(640×480)程度のフレームバッファが使用されることが通常である。
図14は、ローカルメモリLM0〜LM3のそれぞれ格納されるスタンプデータと、ローカルメモリLM0〜LM3に割り当てられるアドレスとの関係を示している。前述の通り、ローカルメモリLM0〜LM3には、ブロックBLK0〜BLK3についてのそれぞれスタンプIDがS=0、S=1、S=2、S=3のスタンプデータが格納される。従って、各ローカルメモリLM0〜LM3には、4つのスタンプデータが格納される。そして、各スタンプデータが格納されるメモリ空間のアドレスは次のようにして割り当てられている。
すなわち図15に示すように、スタンプID順ではなく、ブロックID順にアドレスが連続して割り当てられる。図15におけるアドレスは16進数で標記したものであって、1つのスタンプデータが格納されるメモリ空間は32バイトであったと仮定する。すると、まずローカルメモリLM0において、ブロックBLK0に対応するスタンプが格納されているメモリ領域の先頭アドレスに例えば“0000”が割り当てられる。先頭アドレスを“0000”としているのは説明の簡単化のためであり、特に限定されるものではない。当該メモリ領域が“0000”〜“001F”までのアドレスを占めるとすれば、次のアドレス“0020”は、ローカルメモリLM1において、ブロックBLK0に対応するスタンプが格納されているメモリ領域の先頭アドレスに割り当てられる。当該メモリ領域は“0020”〜“003F”までのアドレスを占めるから、次のアドレス“0040”は、ローカルメモリLM2において、ブロックBLK0に対応するスタンプが格納されているメモリ領域の先頭アドレスに割り当てられる。当該メモリ領域は“0040”〜“005F”までのアドレスを占めるから、次のアドレス“0060”は、ローカルメモリLM3において、ブロックBLK0に対応するスタンプが格納されているメモリ領域の先頭アドレスに割り当てられる。以上のようにして、ブロックBLK0について全てアドレスが割り当てられると、次にブロックBLK1についてアドレスが割り当てられる。以降、ブロックBLK1におけるスタンプS=0〜3についてアドレスが順次割り当てられ、その後ブロックBLK2におけるスタンプS=0〜3についてアドレスが順次割り当てられ、その後ブロックBLK3におけるスタンプS=0〜3についてアドレスが順次割り当てられる。
すなわち、スタンプ座標(X、Y)とブロックIDとの関係は、次に(1)式で表される。但し、スタンプ座標(X、Y)=(0、0)に相当する位置は、ブロック内の最も左上の位置であるとする。
B=X/w+(Y/h)×(fw/w) (1)
但し、BはブロックID、wはブロック1個あたりのX方向のスタンプ数、hはブロック1個あたりのY方向のスタンプ数、fwはフレームバッファ全体におけるX方向のスタンプ数である。
本実施形態で説明したアドレッシング方法によってローカルメモリへアドレスを割り付けると、スタンプ座標(X、Y)とメモリアドレスAとの関係は、下記の式(2)のようになる。
A=(B×N+S)×2 (2)
但し、スタンプのデータ幅を2バイトとし、Nをピクセル処理部数とし、アドレスAをバイト単位のアドレスとしている。
以上の結果、各ローカルメモリLM0〜LM3のメモリ空間のアドレスは図16のようになる。ローカルメモリLM0においては、ブロックBLK0に対応するデータはアドレス“0000”〜“001F”のメモリ空間に格納され、ブロックBLK1に対応するデータはアドレス“0080”〜“008F”のメモリ空間に格納され、ブロックBLK2に対応するデータはアドレス“0100”〜“011F”のメモリ空間に格納され、ブロックBLK3に対応するデータはアドレス“0180”〜“019F”のメモリ空間に格納される。
ローカルメモリLM1においては、ブロックBLK0に対応するデータはアドレス“0020”〜“003F”のメモリ空間に格納され、ブロックBLK1に対応するデータはアドレス“00A0”〜“00BF”のメモリ空間に格納され、ブロックBLK2に対応するデータはアドレス“0120”〜“013F”のメモリ空間に格納され、ブロックBLK3に対応するデータはアドレス“01A0”〜“01BF”のメモリ空間に格納される。
ローカルメモリLM2においては、ブロックBLK0に対応するデータはアドレス“0040”〜“004F”のメモリ空間に格納され、ブロックBLK1に対応するデータはアドレス“00C0”〜“00DF”のメモリ空間に格納され、ブロックBLK2に対応するデータはアドレス“0140”〜“015F”のメモリ空間に格納され、ブロックBLK3に対応するデータはアドレス“01C0”〜“01DF”のメモリ空間に格納される。
ローカルメモリLM3においては、ブロックBLK0に対応するデータはアドレス“0060”〜“006F”のメモリ空間に格納され、ブロックBLK1に対応するデータはアドレス“00E0”〜“00FF”のメモリ空間に格納され、ブロックBLK2に対応するデータはアドレス“0160”〜“017F”のメモリ空間に格納され、ブロックBLK3に対応するデータはアドレス“01E0”〜“01FF”のメモリ空間に格納される。
以上のように、同一ピクセル処理部によって描画されるスタンプのアドレスはとびとびの値となる。
上記のように、本実施形態に係る描画装置によれば、個々のローカルメモリ内においては、格納されるデータに割り当てられるアドレスはとびとびの値とし、ブロックID順に並べた際に連続した値となるように、アドレスを割り当てている。
このようなアドレッシングを行うことで、フレームバッファのブロック数を増やした場合であっても、メモリに対するアドレス割り当てが簡便となる。例えば図14の構成においてブロックBLK4を追加した場合を考える。すると、ブロックBLK4内のスタンプS=0〜S=3のデータを保持するローカルメモリLM0〜LM3のアドレスは、ブロックBLK3、S=3の次に連続してアドレスを割り当てられればよい。
なお、本実施形態ではフレームバッファに対するアドレッシングを例に挙げて説明した。しかし、第2の実施形態に係る構成において、テクスチャデータを格納すべきローカルメモリのメモリ空間についても、同様のアドレッシングを行うことが出来る。テクスチャデータに対しても同様のアドレッシングを行うことで、例えば描画結果としてのフレームバッファを、そのままテクスチャデータとして使用することが出来る。
次に、この発明の第4の実施形態に係る描画装置について、図2及び図17を用いて説明する。本実施形態は、上記第1、第3の実施形態に係る構成において、フレームバッファ内におけるスタンプの配置方法に関するものである。図17は、本実施形態に係るフレームバッファの概念図である。
本実施形態に係る演算処理部54は、32個のピクセル処理部56−0〜56−31を備えている。すなわち、32個のローカルメモリLM0〜LM31を備えている。従って、フレームバッファにおいて、1つのブロックが含むスタンプ数は32個である。そして、1つのブロック内のスタンプは、(8×4)のマトリクス配置されている。
各スタンプは、あるスタンプと、そのスタンプ周囲においてそのスタンプと同一のピクセル処理部によって描画される最近接の6個のスタンプが、ほぼ正六角形を形成するようにして配置されている。すなわち、同一ピクセル処理部で描画される近接する3個のスタンプは、ほぼ正三角形を形作る。図18は、同一ピクセル処理部によって描画されるスタンプの配置を概念的に示す。
図示するように、(6×6)個のスタンプ群を想定した際、同一ピクセル処理部に描画される3個のスタンプが、図16におけるA点、B点、及びC点に配置される。スタンプ群における左上の角部の座標を(0、0)とすれば、A点の座標は(0、6)、B点の座標は(2、0)、C点の座標は(6、4)である。そして、スタンプの縦方向(Y方向)及び横方向(X方向)の並びは、16スタンプ周期で同じ並びを繰り返す。従って、ピクセル処理部の番号S[4:0]は、スタンプのX座標の下位4ビットX[3:0]と、Y座標の下位4ビットY[3:0]とを用いて下記の(3)式で表される。
S[0]= X[0]
S[1]= Y[0]
S[2]=(X[2]xor !Y[1]and Y[2])or(X[1]and !Y[2])xor X[3]xor Y[3]
S[3]=(X[1]xor !X[2]and Y[2])or(Y[1]and !Y[2])xor X[3]xor Y[3]
S[4]= X[2]xor Y[2] (3)
但し、xorは排他的論理和演算、!は論理否定演算、orは論理和演算、andは論理積演算を示している。なお、ピクセル処理部の番号、X座標、Y座標のビットは、下位から数えたもので、スタンプ座標(X、Y)=(0、0)に相当する位置は、ブロック内の最も左上の位置であるとする。また、スタンプ座標(X、Y)とブロックIDとの関係は、上記第3の実施形態で説明した(1)式で表され、スタンプ座標(X、Y)とアドレスAとの関係は(2)式で表される。
図19は、各ローカルメモリLM0〜LM31に格納されるスタンプデータと、それぞれのスタンプデータに割り付けられるアドレスとの関係を示している。図示するように、同一ピクセル処理部によって描画されるスタンプのアドレスはとびとびの値となる。
すなわち、ラスタライザ55は、投入された図形に基づいてスタンプを生成する。そして生成したスタンプを、各スタンプの座標に従って、式(3)により選択されるピクセル処理部に渡す。するとピクセル処理部は、処理結果を式(2)で求められるアドレスに格納する。
なお、本実施形態に係るグラフィックプロセッサ50の動作は、第1の実施形態において図5を用いて説明したとおりである。但し、第1の実施形態と異なる点は、描画領域内におけるスタンプの配置が、図4のとおりでなく、図17に示す通りである点である。すなわち、ラスタライザ55が各ピクセル処理部PPU0〜PPU31へのスタンプの投入方法が異なる。本実施形態では、同一ピクセル処理部へ投入される複数のスタンプが、描画領域内において、等距離且つ等方的となる、換言すれば、各スタンプ周囲において近接する6つのスタンプが正六角形を為す。
上記構成の描画装置によれば、第1、第3の実施形態で説明した効果が得られる。同時に、第1の実施形態に比べて、より均等に負荷が分散される。この点につき、以下詳細に説明する。
第1の実施形態における図4のようにフレームバッファを各々異なるピクセル処理部で描画されるスタンプの集合としてのブロックをマトリクス配置して形成した場合、最適なスタンプ配置は、同一ピクセル処理部により描画される最近接スタンプ同士が正三角形を形成する場合である。この場合、同一ピクセル処理部によって描画されるスタンプの隣接間隔は、いずれの方向においても最大化される。すなわち、あるスタンプの周囲の近傍スタンプは正六角形を形成し、当該スタンプから等方的な配置となる。すると、1個のスタンプは周囲に存在する6個の正三角形の頂点であるから、正三角形の個数を3倍して頂点数を数えると6回重複することになる。よって、同一ピクセル処理部に対応するスタンプ数は、正三角形の数の半分である。そして、1ブロックは2つの正三角形に覆われることになる。つまり、正三角形の面積は、ブロック面積の半分である。正三角形の一辺の長さLは、次の(4)式で表される。
√3×(L/4)=w・h/2 (4)
従って、同一ピクセル処理部によって描画されるスタンプ同士の理想的な隣接間隔Lは、下記の(5)式で表される。
L=√(2・w・h/√3) (5)
従って、本実施形態では(3)式及び図17、図18に示すように、同一ピクセル処理部によって描画される3つの近接スタンプが、実質的な正三角形の頂点に位置するように、ピクセル処理部の割り当てを行っている。ブロックあたりに含まれるスタンプ数が(8×4)個である場合、同一ピクセル処理部に描画される近傍スタンプが形成する三角形の三辺の長さは、5.66、6.32、6.32である(図18参照)。従って、正確には正三角形ではないが、1個のブロックが(8×4)個のスタンプを含む場合において、同一ピクセル処理部で描画されるスタンプによって形成される三角形の三辺の長さを可能な限り均一にしようとすると、三辺の長さは上記のようになる。すなわち、1個のブロックが(8×4)個のスタンプを含むフレームバッファにおいて、実質的に正三角形をなしていると見ることが出来る。その結果、上記第1の実施形態と比べて、三辺の長さがより均等となり、1スタンプ周囲の6個のスタンプが実質的な正六角形を形作る。すなわち、同一ピクセル処理部によって処理されるスタンプは、互いに、実質的に等距離且つ等方的な配置となる。そのため、同一ピクセル処理部によって描画されるスタンプが、フレームバッファ上において偏りが少なくなるよう分布する。以上のように、同一ピクセル処理部に処理されるスタンプ間隔が均等になるため、どのような図形を描画する場合であっても、ピクセル処理部の負担を均等に分散させることが出来る。その結果、ピクセル処理の並列度が向上し、図形描画を高速化出来る。
なお、図18に示すように、同一ピクセル処理部が処理されるスタンプによって形成される三角形の頂点座標は偶数である。従って、頂点座標の値を、X方向及びY方向ともに1/2とすることで、ブロックサイズが(4×2)スタンプ、ピクセル処理部数が8個の場合でも、第1の実施形態と同様のスタンプの配置が可能となる。この様子を示しているのが図20である。また逆に、頂点座標を整数倍しても同様の配置が可能である。図21は、頂点座標を第1の実施形態の場合の2倍にしたものであり、この場合にはブロックサイズが(16×8)スタンプ、ピクセル処理部数が128個となる。このように、ピクセル処理部数が8j個(jは自然数)であれば、ブロックサイズを(4j×2j)スタンプ(または(2j×4j)スタンプ)として、上記第1の実施形態と同様の配置が適用できる。
次に、この発明の第5の実施形態に係る描画装置について、図22を用いて説明する。本実施形態は、上記第2の実施形態で説明したテクセルの配置方法に、上記第4の実施形態で説明したスタンプの配置方法を適用し、更にテクスチャスタンプのアドレッシングに対して上記第3の実施形態で説明した方法を適用したものである。本実施形態に係る画像描画プロセッサシステムLSI10の備えるグラフィックプロセッサ50の構成は、第2の実施形態で説明した図8の構成と同様であるので説明は省略する。また、フレームバッファにおけるスタンプの配置、及びフレームバッファ内のスタンプのアドレッシングは、上記第4の実施形態で説明したとおりである。図22は、本実施形態に係るテクスチャの概念図である。
図示するように、テクスチャにおけるテクスチャブロックは、32個のテクスチャスタンプを有しており、テクスチャスタンプは(8×4)のマトリクス配置されている。
各テクスチャスタンプは、第4の実施形態で説明したスタンプと同様に、各テクスチャスタンプは、あるテクスチャスタンプ周囲においてそのテクスチャスタンプと同一ローカルメモリに格納される最近接の6個のテクスチャスタンプが、ほぼ正六角形を形成するようにして配置されている。すなわち、同一ローカルメモリに格納される互いに最近接な3個のテクスチャスタンプは、ほぼ正三角形を形成する。更に換言すれば、同一ローカルメモリに格納されるテクスチャスタンプは、実質的に、互いに等距離且つ等方的に位置する。同一ローカルメモリに格納されるテクスチャスタンプの配置は、第4の実施形態で説明した図18と同様である。従って、テクスチャスタンプのX座標及びY座標と、ローカルメモリ番号LM0〜LM31との関係も(3)式で表される。
なお、本実施形態に係るグラフィックプロセッサ50の動作は、第2の実施形態において図10を用いて説明したとおりである。但し、第2の実施形態と異なる点は、画像データ内におけるテクスチャスタンプの配置が、図9のとおりでなく、図22に示す通りである点である。すなわち、ローカルメモリLM0〜LM31へのテクスチャスタンプの記憶方法が異なる。本実施形態では、同一ローカルメモリへ投入される複数のテクスチャスタンプが、画像データ内において、等距離且つ等方的となる、換言すれば、近接する6つのテクスチャスタンプが正六角形を為す。
本実施形態に係る描画装置によれば、上記第2、第3の実施形態で説明した効果が得られる。同時に、第2の実施形態に比べて、ローカルメモリへのアクセスをより均等に出来る。これは、第4の実施形態でスタンプについて説明したとおりである。すなわち、同一ローカルメモリに格納されるテクセルで形成される三角形の三辺の長さを可能な限り均一にしている。従って、1個のテクスチャブロックが(8×4)個のテクスチャスタンプを含むテクスチャにおいて、3個の近接テクスチャスタンプが実質的に正三角形をなしていると見ることが出来る。その結果、上記第2の実施形態と比べて、三辺の長さがより均等となり、1テクスチャスタンプ周囲の6個のテクスチャスタンプが実質的な正六角形を形作る等方的な配置となる。そのため、同一ローカルメモリに格納されるテクスチャスタンプが、テクスチャ上において偏りが少なくなるよう分布する。このように、同一ローカルメモリに格納されるテクスチャスタンプ間隔が均等になる。よって、図形の回転に依存してテクスチャデータの走査方法が変化した場合であっても、各ローカルメモリへのアクセスは均等に行われる。この点につき、以下説明する。
図形を描画する場合において、スタンプの処理は例えばブロックID順に行われる。すなわち図3において、横方向に順次描画がなされていく。他方、テクスチャマッピングを行う際、ピクセルに貼り付けるべきテクセルは、必ずしもブロックID順に読み出されるとは限らない。フレームバッファ上の図形に対して、テクスチャ上のデータが回転しているような場合には、テクセルはブロックIDと全く関係なく読み出されることになる。例えば貼り付けるべきテクスチャデータが、フレームバッファ上の図形に対して90°回転していれば、フレームバッファ上では横方向に走査されるのに対して、テクスチャデータは縦方向に走査されることになる。
しかし本実施形態に係る構成であると、同一ローカルメモリに格納されるテクセルは等方的に配置されている。従って、図形の回転によってある特定のローカルメモリに格納されるテクセルに対してアクセスが集中することを回避出来る。その結果、高速なテクスチャマッピングが可能となる。
次に、この発明の第6の実施形態に係る描画装置について説明する。本実施形態は、上記第4、第5の実施形態において、ローカルメモリ内におけるスタンプデータ及びテクセルデータの格納方法に関するものである。図23はローカルメモリのメモリ空間の概念図である。
本実施形態では、図23に示すように、1つのスタンプデータは複数のデータ幅を取り得る。スタンプデータが取り得るデータ幅は、2=1、2、4、8、…2バイト(k、dは自然数であり、k=0〜d)である。スタンプデータが格納されるメモリ領域の開始アドレスを“0000”とすれば、スタンプデータのデータ幅が32バイト(k=5)の場合、1つのスタンプデータが占めるメモリ空間のバイト単位のアドレスは、“0000”〜“001F”である。データ幅が16バイト(k=4)の場合には“0000”〜“000F”、データ幅が8バイト(k=3)の場合には“0000”〜“0007”である。
そして、本実施形態では、1つのスタンプデータが取り得る最大のデータ幅に合わせて、ローカルメモリにアドレスを割り当てる。すなわち図24に示すように、1つのスタンプデータの最大データ幅が2dバイトであったとすると、各ローカルメモリは、連続したアドレスが割り当てられた2dバイトのメモリ空間を複数備える。例えばスタンプデータの最大データ幅が32バイトであったとすれば、各ローカルメモリは、32バイト単位でメモリ領域を保持し、それぞれのメモリ空間には連続したアドレスが割り当てられる。なお、以下ではこのアドレスが連続した2バイトのメモリ領域を“単位メモリ領域UR”と便宜上呼ぶことにする。
次に、図24に示すようにローカルメモリにアドレスを割り当てた際の、実際のスタンプデータの格納方法について図25を用いて説明する。
前述の通り、ローカルメモリは、2バイトのメモリ領域(単位領域UR)毎に連続したアドレスが割り当てられている。また、1つのスタンプの最大データ幅は32バイトであると仮定する。すると、各ローカルメモリにおいて、単位領域URに割り当てられるアドレスは、(当該単位領域URの開始アドレス)〜(開始アドレス+“001F”)となる。
スタンプデータ幅が、取り得る最大値の2=32バイト(k=5)であった場合、図25に示すように、1つの単位領域URには1つのスタンプデータが格納される。これは、上記第3の実施形態で説明したとおりであり、すなわち、各ローカルメモリの単位領域URには、ブロックID順にスタンプデータが格納され、それぞれの単位領域UR内ではアドレスは連続しているが、単位領域UR間ではアドレスはとびとびの値となる。
次に、スタンプデータのデータ幅が、2d−1=16バイト(k=4)であったとする。するとこの場合には、図25に示すように、単位領域UR内にはブロックID順に2つのスタンプデータが格納される。勿論、個々の単位領域UR内には連続したアドレスが割り当てられる。図25の例であると、ローカルメモリLM0の最初の単位領域URには、ブロックBLK0、BLK1においてピクセル処理部PPU0によって処理されるスタンプデータが格納される。そしてローカルメモリLM0における次の単位領域URには、ブロックBLK2、BLK3におけるスタンプデータが格納される。
次に、スタンプデータのデータ幅が、2d−2=8バイト(k=3)であったとする。すると、この場合には図25に示すように、単位領域UR内にはブロックID順に4つのスタンプデータが格納される。勿論、個々の単位領域UR内には連続したアドレスが割り当てられる。図25の例であると、ローカルメモリLM0の最初単位URには、ブロックBLK0〜BLK3においてピクセル処理部PPU0に処理されるスタンプデータが格納される。そしてローカルメモリLM0における次の単位領域URには、ブロック4〜7におけるスタンプデータが格納される。
以下、スタンプデータ幅が2d−2=4バイト(k=2)の場合には、単位領域UR内には8つのスタンプデータがブロックID順に格納され、スタンプデータ幅が2d−2=2バイト(k=1)の場合には、単位領域UR内には16個のスタンプデータがブロックID順に格納され、スタンプデータ幅が2d−2=1バイト(k=0)の場合には、単位領域内には32個のスタンプデータがブロックID順に格納される。
すなわち、スタンプについてある所定のデータ幅を基準にして、ローカルメモリへのアドレスの割り当てが行われている。そして、スタンプのデータ幅が変化したときも、ローカルメモリへのアドレスの割り当ては変化させない。その代わり、データ幅が小さい場合には、隣接ブロックから取り出した複数のスタンプデータを結合(パッキング:packing)させることにより最大値に合わせこんで、ローカルメモリへ格納している。例えばデータ幅が2d−1、すなわち最大の1/2の場合には、隣接する2つのブロックにおける同一ピクセル処理部で処理される2つのスタンプをパッキングすることにより2バイトのデータとしてローカルメモリへ格納する。
以上の結果、各ローカルメモリLM0〜LM31のメモリ空間のアドレスは図26のようになる。スタンプデータ幅が最大値(32バイト)の場合には、上記第3の実施形態と同様のアドレスの割り当てになる。
スタンプデータ幅が16バイトの場合には、ローカルメモリLM0においてブロックBLK0、BLK1のスタンプデータは、アドレスが連続した単位領域UR内に格納され、それぞれのアドレスは“0000”〜“000F”、“0010”〜“001F”である。ブロックBLK2、BLK3のスタンプデータは、ブロックBLK0、BLK1のスタンプデータが格納される単位領域URとはアドレスが不連続な単位領域UR内に格納され、それぞれのアドレスは“0400”〜“040F”、“0410”〜“041F”である。以下、2つのブロック毎に、アドレスが連続したそれぞれの単位領域URにスタンプデータが格納される。勿論、単位領域間のアドレスは不連続である。
スタンプデータ幅が8バイトの場合には、ローカルメモリLM0においてブロックBLK0〜BLK3のスタンプデータは、アドレスが連続した単位領域UR内に格納され、それぞれのアドレスは“0000”〜“0007”、“0008”〜“000F”、“0010”〜“0017”、“0018”〜“001F”である。ブロックBLK4〜BLK7のスタンプデータは、ブロックBLK0〜BLK3のスタンプデータが格納される単位領域URとはアドレスが不連続な単位領域UR内に格納され、それぞれのアドレスは“0400”〜“0407”、“0408”〜“040F”、“0410”〜“0417”、“0418”〜“041F”である。以下、4つのブロック毎に、アドレスが連続したそれぞれの単位領域URにスタンプデータが格納される。勿論、単位領域間のアドレスは不連続である。
そして、上記の方法によってスタンプデータをローカルメモリへ格納した場合、各スタンプのメモリアドレスAは下記の式(6)で表される。
A=((B/2d−c)×N+S)×2+(B mod 2d−c)×2 (6)
なお、2はスタンプの最大データ幅であり、2d−cは、着目しているスタンプのデータ幅、modは剰余演算である。
すなわちラスタライザ55は、投入された図形に基づいてスタンプを生成する。そして生成したスタンプを、各スタンプの座標に従って、式(3)により選択されるピクセル処理部に渡す。するとピクセル処理部は、処理結果を式(6)で求められるアドレスに格納する。そして式(6)で求められるアドレスは、スタンプのデータ幅に依存して変化する。
上記のように、本実施形態に係る描画装置であると、ローカルメモリに対して、スタンプデータ幅の最大値でインターリーブするアドレッシングを行っている。そして、スタンプデータ幅が最大値よりも小さい場合には、複数のスタンプをパックして最大データ幅に合わせて、ローカルメモリ内に格納し、複数のスタンプデータにつき連続したアドレスを割り当てている。その結果、アドレスはスタンプの座標だけでなく、そのデータ幅にも依存する。これは、ローカルメモリへのアドレスの割り当てを変えることなく、ローカルメモリへのスタンプの格納方法をデータ幅に合わせて変化させることを意味する。
この結果、上記第1、第3の実施形態で説明したように、ピクセル処理部の負荷を均等に分散させつつ、ピクセル処理部毎のローカルメモリに割り当てられるアドレス領域を固定したまま、複数のピクセルデータ幅に対応でき、描画処理の自由度が向上する。
なお、上記実施形態ではスタンプデータをローカルメモリに格納する場合について説明したが、テクセルについても全く同様に適用できることは言うまでもない。
次に、この発明の第7の実施形態に係る描画装置について説明する。本実施形態は、上記第6の実施形態において、テクスチャユニットにテクスチャキャッシュ(texture cache)を設け、複数のテクセルデータをテクスチャキャッシュに読み出すものである。図27は、本実施形態に係る画像描画プロセッサシステムLSI10の備えるグラフィックプロセッサ50のブロック図である。
図示するように、本実施形態に係るグラフィックプロセッサ50は、上記第2の実施形態で説明した構成において、テクスチャユニットTUがテクスチャキャッシュTCを更に有している。テクスチャキャッシュTCは、ローカルメモリLM0〜LM31から読み出したテクスチャスタンプデータを一時的に保持する。
本実施形態におけるフレームバッファ上のスタンプの配置は、上記第4の実施形態で説明したとおりであり、例えば図17に示すような配置である。またテクスチャスタンプの配置も、上記第5の実施形態で説明したとおりであり、例えば図22に示すような配置である。更に、ローカルメモリにおいて、テクスチャスタンプデータを格納する領域についてのアドレッシングは、上記第6の実施形態で説明した通りである。図28は、ローカルメモリのメモリ空間の概念図である。
図示するように、ローカルメモリLM0〜LM31は、テクスチャスタンプデータの最大値である2バイトでインターリーブされるようにアドレッシングされている。また、図28の例であると、1つのテクスチャスタンプデータのデータ幅は2d−2バイトである。従って、同一ローカルメモリに格納される4つのテクセルには、連続したアドレスが割り当てられている。
上記構成において、テクスチャマッピングの際、信号処理部56−0〜56−31の読み出し回路RCは、ローカルメモリLM0〜LM31から読み出したテクスチャスタンプデータを、テクスチャキャッシュTCに格納する。図29は、一例としてローカルメモリLM0からテクスチャスタンプデータを読み出す様子を示している。
図示するように、読み出し回路RCは、テクスチャスタンプデータをアドレスが連続する一定サイズ単位で読み出す。例えば、テクスチャキャッシュTCに読み込まれるテクスチャスタンプデータ単位は2バイトである。すると、テクスチャスタンプデータ幅が図28に示すように2d−2バイトであったとすると、4つのテクスチャスタンプがテクスチャキャッシュTCに読み込まれる。また、テクセルデータ幅が2d−3バイトであれば、8つのテクスチャスタンプに対して連続したアドレスが割り当てられるから、この場合には1度に8つのテクスチャスタンプがテクスチャキャッシュに読み出される。
上記構成によれば、上記第6の実施形態で説明した効果に加えて、テクスチャマッピングを効率的に行うことが出来、ピクセル処理部の負担を軽減できる。この点について、以下説明する。
テクスチャマッピングは、エリアシングの軽減などの観点から、ミップマッピングなどの手法により、テクセルとスタンプのサイズが1:1に近くなるように行われることが多い。この際、フレームバッファとテクスチャとに対して同じアドレッシングを行うことによって、テクスチャキャッシュのヒット率を向上させることが出来る。フレームバッファとテクスチャとが同じようにアドレッシングされていれば、テクスチャスタンプのテクスチャ上における配置は、そのローカルメモリに直結するピクセル処理部に対応したスタンプの、フレームバッファ上での位置とほぼ一致する。
例えばフレームバッファが図17、テクスチャが図22のように形成されているものとする。そして、ピクセル処理部PPU0がその担当するスタンプ(S=0)を処理し、その際にローカルメモリLM21に保持されるテクスチャスタンプ(T=21)を要求したと仮定する。本実施形態では、テクスチャスタンプは1度に複数個読み出されるから、ピクセル処理部PPU0を備える信号処理部56−0のテクスチャキャッシュTUには、ローカルメモリLM21に保持される複数のテクスチャスタンプ(T=21)が格納される。すなわち、当該ピクセルに対応するテクスチャブロック以外の複数のテクスチャブロックに含まれるテクスチャスタンプも同時に読み出される。そして、ピクセル処理部PPU0が次に処理するスタンプは、最初に処理したスタンプの近傍である。
すると、フレームバッファにおけるスタンプの配置と、テクスチャにおけるテクスチャスタンプの配置とはほぼ同一である。すなわち、フレームバッファにおいては、あるスタンプの周囲において、そのスタンプと同一ピクセル処理部に処理される6個の最近接スタンプが実質的に正六角形を形成する。またテクスチャにおいては、あるテクスチャスタンプの周囲において、そのテクスチャスタンプと同一ローカルメモリに格納される6個の最近接テクスチャスタンプが実質的に正六角形を形成する。両者の配置がほぼ同一であるので、テクスチャスタンプとスタンプのサイズが1:1に近いような場合には、ピクセル処理部PPU0が次に要求するテクセルも、ローカルメモリLM21に格納されている確率が高い。そしてそのテクスチャスタンプデータは、直前の処理において、信号処理部56−0のテクスチャユニットTCに読み出されている。すなわち、ピクセル処理部PPU0が次に要求するテクスチャスタンプデータが、テクスチャキャッシュTC内に保持されている(ヒットする)確率が高い。従ってその場合、ピクセル処理部PPU0はローカルメモリLM21からテクスチャスタンプを読み出す必要が無い。そのため、高速なテクスチャマッピングが可能となる。
なお、1度のテクスチャアクセス(テクスチャスタンプデータをローカルメモリからテクスチャキャッシュに読み出すこと)でどれだけの近傍テクスチャスタンプがテクスチャキャッシュに格納されるかは、テクスチャスタンプデータ幅、テクスチャキャッシュTCが1度に取り扱うデータ幅、及びテクスチャ上におけるブロックの配置に依存する。従って、必ずしも、特定のテクスチャスタンプの6近傍テクセル、すなわち、特定のテクスチャスタンプの周囲で六角形を形成するテクスチャスタンプが全て読み出されるとは限らない。また、テクスチャスタンプ及びスタンプの配置は、完全に等方的であるわけではない。従って、当該スタンプを処理するピクセル処理部の番号(0〜31)と、当該スタンプに貼り付けるべきテクスチャスタンプを保持するローカルメモリの番号(0〜31)とが一致しない場合、スタンプの配置とテクスチャスタンプの配置とは異なることがある。更に、テクスチャは図形の回転角度に応じて回転して貼り付けられるため、スタンプの配置とテクスチャスタンプの配置とが一致していても、当該スタンプと同じ位置のテクスチャスタンプが当該スタンプに貼り付けられるわけではなく、やはり配置がずれる。しかし、本実施形態によれば、スタンプとテクスチャスタンプの配置が共に可能な限り等方的であるので、これらの配置ずれによる影響は最小限に抑えられる。
さらに図30に示すように、テクスチャが回転してマッピングされることで、スタンプとテクセルの配置がより近いものになりうる。図30において、フレームバッファにおける白い四角印は同一ピクセル処理部によって処理されるスタンプであり、テクスチャにおける黒い四角印はそのいずれかのスタンプを処理する際にテクスチャキャッシュに読み出されたテクスチャスタンプである。またフレームバッファにおける黒い四角印は、テクスチャキャッシュに読み出されたテクスチャスタンプが貼り付けられるスタンプの位置を示している。すなわちピクセル処理部の番号と、テクスチャスタンプを保持するローカルメモリの番号が異なることと回転角度の影響が重なっても、それぞれの効果を上回って配置がずれることはない。むしろ配置のずれは小さくなり得る。
なお本実施形態において、スタンプデータ幅とテクスチャスタンプデータ幅との間には相関は無い。従って、ピクセルと異なるデータ幅のテクスチャを貼ることも可能である。そのため、上記のテクスチャキャッシュに関する記載は、フレームバッファのデータ幅に依存するものではない。
次に、この発明の第8の実施形態に係る描画装置について説明する。本実施形態は、上記第7の実施形態において、ブロックをいくつかまとめた矩形の単位(以下、スーパーブロックと呼ぶ)で配置したものである。図31は、本実施形態に係るフレームバッファの概念図である。
図示するように、スーパーブロックSBLKは、(2×4)個のブロックを含んでいる。スーパーブロックSBLKに含まれる8つのブロックのIDは、スーパーブロックSBLK内において左上から右下に向かって昇順で割り当てられている。このようなスーパーブロックSBLKが、フレームバッファ内において、水平方向に並んでいる。
第4の実施形態で説明したとおり、スタンプの配置は、縦方向及び横方向において16スタンプ周期で同じ並びが繰り返される。従って、各々のスーパーブロックにおけるスタンプの配置は互いに同じ配置となる。そして、ブロックIDとスタンプ座標(X、Y)との関係は次の式(7)で表される。
B=(X/pw+(Y/ph)×(fw/pw))×nw×nh+(bX/w+(bY/h)×nw)
但し、
bX=X mod pw
bY=Y mod ph
nw=pw/w
nh=ph/h (7)
なる関係があり、pwはスーパーブロックのX方向のスタンプ数、phはY方向のスタンプ数である。
本実施形態に係る構成であると、上記第7の実施形態に比べて、よりキャッシュヒット率を向上できる。本実施形態では、同一ピクセル処理部が処理するスタンプによる六角形構造は、IDの近いブロックによって作られる。すると、式(6)から明らかなように、それらのスタンプのアドレスも近くなる。よって、このようなアドレッシングをテクスチャスタンプに適用した際に、ある特定のテクセルが読み出される際に同時にテクスチャキャッシュTCに読み出されるテクスチャスタンプには、当該テクセルの周囲に六角形を形成するものが多く含まれる。その結果、キャッシュヒット率が向上する。
なお、図形の境界に到達するまで走査線を変えずに水平方向に走査を続けるラスタライズ法ではなく、スーパーブロック単位で走査するラスタライズ法、すなわち、各スーパーブロックについて、その内部を順次走査する方法を用いることがより好ましい。この場合には、最初のテクセルを要求したスタンプに続いて処理されるスタンプには、直前に処理したスタンプの周囲に六角形を形成するスタンプが多く含まれる。よって、キャッシュヒット率がより向上する。
なお、本実施形態ではピクセル処理部の数が32個の場合を例に挙げて説明した。従って、16スタンプ周期でスタンプの配置が繰り返されるため、スーパーブロックのサイズも(16×16)スタンプである。しかし、ピクセル処理部の数は32個に限定されるものではなく、スーパーブロックのサイズはスタンプの繰り返し周期と一致すれば良い。また、スーパーブロックのサイズとスタンプの繰り返し周期も、必ずしも一致させる必要があるわけではない。しかし、スーパーブロック内には、少なくとも1つの、同一ピクセル処理部で処理されるスタンプによる六角形が含まれることが望ましい。
次に、この発明の第9の実施形態に係る描画装置について説明する。本実施形態は、上記第4乃至第7の実施形態において、ブロック内におけるスタンプの配置を変えたものである。
本実施形態に係るグラフィックプロセッサ50の演算処理部54は、図2、図8及び図27を用いて説明した構成と同様であり、ピクセル処理部数は32である。次に、フレームバッファの構成について図32を用いて説明する。
すなわち、図17に示す(16×16)個のスタンプの配置を、横方向に2つ並べる。そして、そのうちの一方について、縦方向に隣接するスタンプの組、すなわちX座標が同じでY=2i及びY=2i+1(iは自然数)となるスタンプ間で、処理するピクセル処理部を入れ替える。すると図示するように、第4の実施形態と同様に、あるスタンプの周囲において、そのスタンプと同一ピクセル処理部に処理される6つの最近接スタンプが、実質的な正六角形を形成する。そして、フレームバッファ内は、この実質的な正六角形によって覆われている。
但し第4の実施形態と異なるところは、6つの最近接スタンプによって形成される六角形に含まれる三角形が、必ずしも全て同じではないということである。図17で説明した正六角形は、図33に示すように、隣接する2列のブロックに跨るようにして形成される。すなわち、フレームバッファ内は正六角形で覆われているが、2列のブロック毎に、その辺の長さが変わる。この正六角形に含まれる正三角形は、図16で説明したとおりである。しかし、三辺が(6.32、6.32、5.66)である三角形のみで形成される六角形の、横方向での隣接距離は、図33に示すように、その他の長さとなる。例えば6.40、6.08、5.39、5.00、6.71である。すなわち、図34に示すような3つの三角形が更に含まれる。すなわち、頂点座標が(0、5)、(2、0)、(6、4)であるもの、(0、6)、(2、0)、(6、5)であるもの、(0、6)、(2、0)、(6、3)であるものである。
また、スタンプの配置は、横方向で32スタンプ、縦方向で16スタンプ周期で同じ並びが繰り返されることになる。その結果、ピクセル処理部の番号S[4:0]は、スタンプのX座標の下位5ビットX[4:0]とY座標の下位4ビットY[3:0]を用いて、下記の(8)式で表される。
S[0]= X[0]
S[1]= Y[0]xor X[4]
S[2]=(X[2]xor !Y[1]and Y[2])or(X[1]and !Y[2])xor X[3]xor Y[3]
S[3]=(X[1]xor !X[2]and Y[2])or(Y[1]and !Y[2])xor X[3]xor Y[3]
S[4]= X[2]xor Y[2] (8)
本実施形態に係る構成によれば、上記第3乃至第8の実施形態で説明した効果が得られると共に、比較的サイズの大きい図形を描画する際の処理効率を向上できる。この点について以下説明する。本実施形態に係る構成であると、上記第3乃至第8の実施形態に比べて、スタンプの横方向の繰り返し周期が大きい(32スタンプ周期)。従って、図形の境界に到達するまで走査線を変えずに水平方向に走査を続けるラスタライズ法を使用して、水平方向にサイズの大きい図形を描画する際に、ピクセル処理部にかかる負担を均等に分散できる。
なお、スタンプの配置の縦と横を入れ替えれば、縦方向の繰り返し周期を大きくできる。従って、垂直方向に走査するラスタライズ法を用いて、垂直方向にサイズの大きい図形を描画する際に、負荷を均等に分散できる。
次に、この発明の第10の実施形態に係る描画装置について、図35を用いて説明する。本実施形態は上記第4の実施形態の変形例とも言うべきもので、上記第4乃至第7の実施形態において、ブロック内におけるスタンプの配置を変えたものである。図35は、本実施形態に係るフレームバッファの概念図である。
本実施形態に係るグラフィックプロセッサ50の演算処理部54は、図2、図8及び図27を用いて説明した構成において、ピクセル処理部数を16としたものである。そして、1つのブロック内のスタンプは、(4×4)にマトリクス配置されている。
各スタンプは、同一のピクセル処理部によって描画される近接スタンプと共に、ほぼ正三角形を形成するように配置されている。但し、上記第4の実施形態と異なる点は、第4の実施形態では1種類の三角形が含まれるのに対し、本実施形態では2種類の三角形が含まれ、この2種類の三角形によって六角形が形成される点にある。図36は、同一ピクセル処理部によって描画されるスタンプの配置を概念的に示している。なお図36において、A〜I点は同一ピクセル処理部によって処理されるスタンプが配置される位置である。
図示するように、(4×4)個のスタンプ群を想定した際、まず1つ目の三角形の頂点が、図36におけるA点、B点、及びC点に配置される。スタンプ群における左上の角部の座標を(0、0)とすれば、A点の座標は(0、4)、B点の座標は(1、0)、C点の座標は(4、3)である。次に2つ目の三角形の頂点が、図36におけるD点、E点、及びF点に配置される。D点の座標は(0、4)、E点の座標は(1、0)、F点の座標は(4、5)である。スタンプの縦方向(Y方向)及び横方向(X方向)の並びは、8スタンプ周期で同じ並びを繰り返す。従って、ピクセル処理部の番号S[3:0]は、スタンプのX座標の下位3ビットX[2:0]と、Y座標の下位3ビットY[2:0]とを用いて、下記の(9)式で表される。
S[0]=X[0]xor Y[2]
S[1]=Y[0]xor X[2]
S[2]=X[1]
S[3]=Y[1] (9)
本実施形態によれば、上記第4乃至第7の実施形態と同様の効果が得られる。本実施形態において、図36を用いて説明したA、B、C点で形成される三角形の三辺の長さは、4.24、4.12、4.12であり、D、E、F点で形成される三角形の三辺の長さは、5.83、4.12、4.12である。従って、正確には正三角形ではないが、1個のブロックが(4×4)個のスタンプを含む場合において、同一ピクセル処理部で描画されるスタンプによって形成される三角形の三辺の長さを可能な限り均一にしようとすると、三辺の長さは上記のようになる。すなわち、1個のブロックが(4×4)個のスタンプを含むフレームバッファにおいて、実質的に正三角形をなしていると見ることが出来る。その結果、上記第1の実施形態と比べて、三辺の長さがより均等となり、1スタンプ周囲の6個のスタンプが略正六角形を形作る等方的な配置となる。そのため、同一ピクセル処理部によって描画されるスタンプが、フレームバッファ上において偏りが少なくなるよう分布する。その結果、ピクセル処理部の並列度が向上し、図形描画を高速化出来る。
なお、本実施形態はピクセル処理部が16個の場合を例に挙げて説明したが、ピクセル処理部数が16j個であれば、ブロックサイズを(4j×4j)スタンプとして、上記第10の実施形態と同様の配置が適用できる。
次に、この発明の第11の実施形態に係る描画装置について、図37を用いて説明する。本実施形態は上記第4の実施形態の変形例とも言うべきもので、上記第4乃至第7の実施形態において、ブロック内におけるスタンプの配置を変えたものである。図37は、本実施形態に係るフレームバッファの概念図である。
本実施形態に係るグラフィックプロセッサ50の演算処理部54は、図2、図8及び図27を用いて説明した構成において、ピクセル処理部数を32としたものである。そして、1つのブロック内のスタンプは、(8×4)にマトリクス配置されている。
各スタンプは、第4の実施形態と同様に、同一のピクセル処理部によって描画される近接スタンプと共に、ほぼ正三角形を形成するように配置されている。図38は、同一ピクセル処理部によって描画されるスタンプの配置を概念的に示している。
図示するように、(7×5)個のスタンプ群を想定した際、同一ピクセル処理部に描画される3個のスタンプが、図38におけるA点、B点、及びC点に配置される。スタンプ群における左上の角部の座標を(0、0)とすれば、A点の座標は(0、5)、B点の座標は(3、0)、C点の座標は(7、4)である。そして、スタンプの縦方向(Y方向)及び横方向(X方向)の並びは、16スタンプ周期で同じ並びを繰り返す。従って、ピクセル処理部の番号S[4:0]は、スタンプのX座標の下位4ビットX[3:0]と、Y座標の下位4ビットY[3:0]とを用いて、下記の(10)式で表される。
S[0]=X[2]xor !Y[0]and Y[2])or(X[0]and !Y[2])xor X[3]xor Y[3]
S[1]=X[0]xor !X[2]and Y[2])or(Y[0]and !Y[2])xor X[3]xor Y[3]
S[2]=X[1]
S[3]=Y[1]
S[4]=X[2]xor Y[2] (10)
本実施形態によれば、上記第4乃至第7の実施形態と同様の効果が得られる。本実施形態において、図38を用いて説明したA、B、C点で形成される三角形の三辺の長さは、5.66、5.83、7.07である。従って、正確には正三角形ではないが、第1の実施形態で説明した構成に比べれば、三角形の三辺の長さは均等に近づいている。そのため、同一ピクセル処理部によって描画されるスタンプが、フレームバッファ上において偏りが少なくなるよう分布する。その結果、ピクセル処理部の並列度が向上し、図形描画を高速化出来る。
なお、本実施形態はピクセル処理部数が32の場合を例に挙げて説明したが、頂点座標を整数倍しても同様の配置が可能である。すなわち、ピクセル処理部数が32j個であれば、ブロックサイズを(8j×4j)スタンプ(または(4j×8j)スタンプ)として、上記第11の実施形態と同様の配置が適用できる。
次に、この発明の第12の実施形態に係る描画装置について、図39を用いて説明する。本実施形態は上記第4の実施形態の変形例とも言うべきもので、上記第4乃至第7の実施形態において、ブロック内におけるスタンプの配置を変えたものである。図39は、本実施形態に係るフレームバッファの概念図である。
本実施形態に係るグラフィックプロセッサ50の演算処理部54は、図2、図8及び図27を用いて説明した構成において、ピクセル処理部数を32としたものである。そして、1つのブロック内のスタンプは、(8×4)にマトリクス配置されている。
各スタンプは、第4の実施形態と同様に、同一のピクセル処理部によって描画される近接スタンプと共に、三角形を形成するように配置されている。また、近傍の4つのスタンプは、正方形を形成する。図40は、同一ピクセル処理部によって描画されるスタンプの配置を概念的に示している。
図示するように、(8×4)個のスタンプ群を想定した際、同一ピクセル処理部に描画される3個のスタンプが、図38におけるA点、B点、及びC点に配置される。スタンプ群における左上の角部の座標を(0、0)とすれば、A点の座標は(0、0)、B点の座標は(4、4)、C点の座標は(8、0)である。そして、スタンプの縦方向(Y方向)及び横方向(X方向)の並びは、8スタンプ周期で同じ並びを繰り返す。従って、ピクセル処理部の番号S[4:0]は、スタンプのX座標の下位4ビットX[2:0]、Y座標の下位3ビットY[2:0]とを用いて、下記の(11)式で表される。
S[0]=X[0]
S[1]=Y[0]
S[2]=X[1]
S[3]=Y[1]
S[4]=X[2]xorY[2] (11)
本実施形態によれば、上記第4乃至第7の実施形態と同様の効果が得られる。本実施形態において、図40を用いて説明したA、B、C点で形成される三角形の三辺の長さは、8、5.66、5.66である。従って、正三角形ではないが、第1の実施形態で説明した構成に比べれば、三角形の三辺の長さは均等に近づいている。そのため、同一ピクセル処理部によって描画されるスタンプが、フレームバッファ上において偏りが少なくなるよう分布する。その結果、ピクセル処理部の並列度が向上し、図形描画を高速化出来る。
また、スタンプの繰り返し周期は第4の実施形態に比べて短く、ピクセル処理部の番号S[4:0]の計算式も第4の実施形態の場合に比べて単純である。従って、この計算に必要な回路のコストを低減できる。
なお、図40に示すように、同一ピクセル処理部が処理されるスタンプによって形成される三角形の頂点座標は全て4の倍数である。従って、頂点座標の値を、X方向及びY方向ともに1/2、または1/4とすることで、ブロックサイズが(4×2)スタンプ、ピクセル処理部数が8個の場合、及び(2×1)スタンプ、ピクセル処理部数が2個の場合でも、同様のスタンプの配置が可能となる。このように、ピクセル処理部数が2j個(jは自然数)であれば、ブロックサイズを(2j×j)スタンプ(または(j×2j)スタンプ)として、上記第12の実施形態と同様の配置が適用できる。
次に、この発明の第13の実施形態に係る描画装置について、図41を用いて説明する。本実施形態は上記第4の実施形態の変形例とも言うべきもので、上記第4乃至第7の実施形態において、ブロック内におけるスタンプの配置を変えたものである。図41は、本実施形態に係るフレームバッファの概念図である。
本実施形態に係るグラフィックプロセッサ50の演算処理部54は、図2、図8及び図27を用いて説明した構成において、ピクセル処理部数を16としたものである。そして、1つのブロック内のスタンプは、(4×4)にマトリクス配置されている。
各スタンプは、そのスタンプの周囲の同一のピクセル処理部によって描画される6個のスタンプがほぼ正六角形を形成するようにして配置されている。すなわち、同一ピクセル処理部で描画される互いに最近接な3個のスタンプは、正三角形に近い配置をとる。図42は、同一ピクセル処理部によって描画されるスタンプの配置を概念的に示す。
図示するように、(4×4)個のスタンプ群を想定した際、同一ピクセル処理部に描画される3個のスタンプが、図40におけるA点、B点、及びC点に配置される。スタンプ群における左上の角部の座標を(0、0)とすれば、A点の座標は(0、0)、B点の座標は(2、4)、C点の座標は(4、0)である。そして、スタンプの縦方向(Y方向)及び横方向(X方向)の並びは、それぞれ4スタンプ、8スタンプ周期で同じ並びを繰り返す。従って、ピクセル処理部の番号S[3:0]は、スタンプのX座標の下位2ビットX[1:0]と、Y座標の下位3ビットY[2:0]とを用いて、下記の(12)式で表される。
S[0]=X[0]
S[1]=Y[0]
S[2]=X[1]xorY[2]
S[3]=Y[1] (12)
本実施形態によれば、上記第4乃至第7の実施形態と同様の効果が得られる。本実施形態において、図42を用いて説明したA、B、C点で形成される三角形の三辺の長さは、4、4.47、4.47である。従って、正確には正三角形ではないが、第1の実施形態で説明した構成に比べれば、三角形の三辺の長さは均等に近づいている。その結果、1スタンプ周囲の6個のスタンプが実質的な正六角形を形作る等方的な配置となる。そのため、同一ピクセル処理部によって描画されるスタンプが、フレームバッファ上において偏りが少なくなるよう分布する。その結果、ピクセル処理部の並列度が向上し、図形描画を高速化出来る。
なお、図42に示すように、同一ピクセル処理部が処理されるスタンプによって形成される三角形の頂点座標は全て偶数である。従って、頂点座標の値を、X方向及びY方向ともに1/2、またはとすることで、ブロックサイズが(2×2)スタンプ、ピクセル処理部数が4個の場合でも、同様のスタンプの配置が可能となる。このように、ピクセル処理部数が4j個であれば、ブロックサイズを(2j×2j)スタンプとして、上記第13の実施形態と同様の配置が適用できる。
次に、この発明の第14の実施形態に係る描画装置について、図43を用いて説明する。本実施形態は上記第9の実施形態の変形例とも言うべきもので、上記第4乃至第9の実施形態において、ブロック内におけるスタンプの配置を変えたものである。図43は、本実施形態に係るフレームバッファの概念図である。
本実施形態に係るグラフィックプロセッサ50の演算処理部54は、図2、図8及び図27を用いて説明した構成において、ピクセル処理部数を16としたものである。そして、1つのブロック内のスタンプは、(4×4)にマトリクス配置されている。そして、フレームバッファは次のようにして形成されている。
すなわち、図33で示した(8×8)個のスタンプの配置を、横方向に2つ並べる。そして、そのうちの一方について、縦方向に1スタンプおきの組、すなわちX座標が同じでY=4i及びY=4i+2(iは自然数)となるスタンプ間と、X座標が同じでY=4i+1及びY=4i+3となるスタンプ間で、処理するピクセル処理部を入れ替える。すると、図示するように、隣接する2行のブロックに跨るようにして、図36で説明したA、B、C点で形成される三角形、すなわち実質的な正三角形が形作られる。スタンプの配置は、横方向で16スタンプ、縦方向で8スタンプ周期の繰り返しとなる。その結果、ピクセル処理部の番号S[3:0]は、スタンプのX座標の下位4ビットX[3:0]と、Y座標の下位3ビットY[2:0]とを用いて、下記の(13)式で表される。
S[0]=X[0]xor Y[2]
S[1]=Y[0]xor X[2]
S[2]=X[1]
S[3]=Y[1]xor X[3] (13)
本実施形態に係る構成によれば、上記第3乃至第7の実施形態で説明した効果が得られると共に、比較的サイズの大きい図形を描画する際の処理効率を向上できる。この点について以下説明する。本実施形態に係る構成であると、上記第3乃至第7の実施形態に比べて、スタンプの横方向の繰り返し周期が大きい(16スタンプ周期)。従って、図形の境界に到達するまで走査線を変えずに水平方向に走査を続けるラスタライズ法を使用して、水平方向にサイズの大きい図形を描画する際に、ピクセル処理部にかかる負担を均等に分散できる。但し本実施形態であると、三角形の頂点の一つが(3、1)となり、長さ3.16という、他より辺の短い三角形が含まれる。
なお、スタンプの配置の縦と横を入れ替えれば、縦方向の繰り返し周期を大きくできる。従って、垂直方向に走査するラスタライズ法を用いて、垂直方向にサイズの大きいの図形を描画する際に、負荷を均等に分散できる。
次に、この発明の第15の実施形態に係る描画装置について、図44を用いて説明する。本実施形態は上記第9の実施形態の変形例とも言うべきもので、上記第4乃至第9の実施形態において、ブロック内におけるスタンプの配置を変えたものである。図44は、本実施形態に係るフレームバッファの概念図である。
本実施形態に係るグラフィックプロセッサ50の演算処理部54は、図2、図8及び図27を用いて説明した構成において、ピクセル処理部数を16としたものである。そして、1つのブロック内のスタンプは、(4×4)にマトリクス配置されている。そして、フレームバッファは次のようにして形成されている。
すなわち、図43で示した構成において、横方向の周期を32スタンプとする。すると、図示するように、図36で説明したA、B、C点で形成される三角形、すなわち実質的な正三角形が形作られる。スタンプの配置は、横方向で32スタンプ、縦方向で8スタンプ周期の繰り返しとなる。その結果、ピクセル処理部の番号S[3:0]は、スタンプのX座標の下位5ビットX[4:0]と、Y座標の下位3ビットY[2:0]とを用いて、下記の(14)式で表される。
S[0]=(!X[0]xor X[2]xor Y[0]xor Y[1]and X[3])or(X[0]and !X[3])xor X[4]xor Y[2]
S[1]=Y[0]xor X[2]
S[2]=X[1]
S[3]=Y[1]xor X[3] (14)
本実施形態に係る構成によれば、上記第3乃至第7の実施形態で説明した効果が得られる。また第14の実施形態と同様に、比較的サイズの大きい図形を描画する際の処理効率を向上できる。また、第9、第14の実施形態のようにフレームバッファを覆う三角形のうちで、他より辺の短い三角形が含まれることがない。換言すれば、フレームバッファ内は第10の実施形態で述べた、実質的な正三角形と言うことの出来る図36で説明した2種類の三角形によって覆われている。本実施形態は、スタンプの繰り返し周期を長くすることによって、第14の実施形態において存在したスタンプ間距離が小さくなる部分を解消したものである。
勿論、スタンプの配置の縦と横を入れ替えれば、垂直方向にサイズの大きいの図形を描画する際に、負荷を均等に分散できる。
上記のように、この発明の第1乃至第15の実施形態によれば、フレームバッファを複数のブロックによって形成している。各々のブロックには、ピクセル処理部の数に等しい数のスタンプが設けられ、各ブロック内においては、それぞれのスタンプは異なるピクセル処理部で処理される。このようなスタンプ配置を採用することで、ピクセル処理部の負担を均等に分散出来る。更にこのようなスタンプ配置は、テクスチャにも適用出来る。テクスチャに適用した際には、ローカルメモリへのアクセスを均等に分散出来る。以上の結果、図形の描画速度を向上できる。また、ローカルメモリのアドレスは、各ローカルメモリ毎に連続した値が割り当てられるのではなく、異なるメモリ間で、同一のブロックに所属するスタンプ順に連続して割り当てられている。従って、ブロック数を増加させる場合のアドレスの割り当て方が簡便となり、描画装置の負担を軽減できる。
そして、例えば第4、第5の実施形態では、ブロック及びテクスチャブロックは(8×4)個のスタンプ及びテクスチャスタンプを含んでいる。そして、各スタンプ(テクスチャスタンプ)は、同一ピクセル処理部で処理される(同一ローカルメモリに格納される)3つのスタンプ(テクセル)が、実質的に正三角形の頂点に位置するように配置されている。更に第4、第5の実施形態では、フレームバッファ内において、前記三角形が隙間無く配列されている。従って、あるスタンプ周囲の6個の近傍スタンプは、当該スタンプを中心とした、実質的な正六角形の頂点に位置する。従って、同一ピクセル処理部によって処理されるスタンプは、フレームバッファ内において偏り無く均一に分布する。すなわち、同一ピクセル処理部によって処理されるスタンプは、実質的に、互いに等距離且つ等方的に位置する。また、フレームバッファとテクスチャとを同じアドレッシング方法でローカルメモリに格納しているため、描画結果としてのフレームバッファを、そのままテクスチャとして以降の描画処理に使用することが出来る。
また、スタンプ座標からピクセル処理部の番号を計算するには、座標データのビットを取り出して論理演算を行うのみで良い。従って、計算が簡単であり、そのための回路規模を縮小出来る。
また第6の実施形態では更に、ローカルメモリに対して、スタンプデータの最大値でインターリーブするようなアドレッシングを行っている。そして、スタンプデータのデータ幅が最大値より小さい場合には、複数のスタンプデータをパックしてローカルメモリに格納している。従って、ローカルメモリに対するアドレスの割り当てを変えることなく、複数のデータ幅のスタンプに対応することが出来、描画処理の自由度が向上する。
更に第7の実施形態では更に、テクスチャユニットにキャッシュメモリを設けている。そして、テクスチャマッピングの際に、1度に複数のテクセルをテクスチャキャッシュに読み出している。この際、フレームバッファとテクスチャとに対して、同じアドレッシングを行うことで、テクスチャキャッシュのヒット率を向上できる。
更に、スタンプの配置方法は、第8乃至第15の実施形態で説明した配置にすることも可能である。第8、第9、第14、第15の実施形態に係る配置方法であると、同一ピクセル処理部に対応するスタンプの、水平方向の繰り返し周期を大きくしている。従って、図形の境界に到達するまで走査線を変えずに水平に走査し続けるラスタライズ法を使用して大きい図形を描画する際の処理効率を向上できる。なお、第8乃至第15の実施形態では、スタンプの配置の例を挙げて説明したが、テクスチャスタンプについても同様の配置を適用できることは言うまでもない。
また、上記実施形態で説明したブロックは、縦と横とを入れ替えることも出来る。例えば、スタンプ及びテクセルが(8×4)個にマトリクス配置されているものについては、縦と横を入れ替えて、(4×8)個にマトリクス配置されている場合でも適用可能である。
また、上記実施形態では1個のスタンプが(4×4)個のピクセルを含む場合について説明した。しかし、スタンプに含まれるピクセルの数は特に限定されるものではない。例えば1個のスタンプに含まれるピクセルの数は1個であっても勿論良い。その場合には、上記実施形態における「スタンプ」を「ピクセル」と読み替えれば、そのまま適用できる。このことは、テクセルについても同様であり、「テクスチャスタンプ」を「テクセル」と読み替えても良い。但し、テクスチャスタンプ内に含まれるテクセル数は、スタンプ内に含まれるピクセル数と同じにすることが望ましい。
なお、上記第1乃至第15の実施形態に係る画像処理装置は、例えばゲーム機、ホームサーバー、テレビ、または携帯情報端末などに搭載することが出来る。図45は上記第1乃至第15の実施形態に係る画像処理装置を備えたデジタルテレビの備えるデジタルボードのブロック図である。デジタルボードは、画像・音声などの通信情報を制御するためのものである。図示するように、デジタルボード100は、フロントエンド部110、画像描画プロセッサシステム120、デジタル入力部130、A/Dコンバータ140、180、ゴーストリダクション部150、三次元YC分離部160、カラーデコーダ170、LAN処理LSI190、LAN端子200、ブリッジメディアコントローラ210、カードスロット220、フラッシュメモリ230、及び大容量メモリ(例えばDRAM:Dynamic Random Access Memory)240を備えている。フロントエンド部110は、デジタルチューナーモジュール111、112、OFDM(Orthogonal Frequency Division Multiplex)復調部113、QPSK(Quadrature Phase Shift Keying)復調部114を備えている。
画像描画プロセッサシステム120は、送受信回路121、MPEG2デコーダ122、グラフィックエンジン123、デジタルフォーマットコンバータ124、及びプロセッサ125を備えている。そして、例えばグラフィックエンジン123及びプロセッサ125が、上記第1乃至第15の実施形態で説明したグラフィックプロセッサ50及びホストプロセッサ20に対応する。
上記構成において、地上デジタル放送波、BSデジタル放送波、及び110°CSデジタル放送波は、フロントエンド部110で復調される。また地上アナログ放送波及びDVD/VTR信号は、3次元YC分離部160及びカラーデコーダ170でデコードされる。これらの信号は、画像描画プロセッサシステム120に入力され、送受信回路121で、映像・音声・データに分離される。そして、映像に関しては、MPEG2デコーダ122を介してグラフィックエンジン123に映像情報が入力される。するとグラフィックエンジン123は、上記実施形態で説明したようにして図形を描画する。
図46は、上記第1乃至第15の実施形態に係る画像処理装置を備えた録画再生機器のブロック図である。図示するように、録画再生機器200はヘッドアンプ210、モータードライバ220、メモリ230、画像情報制御回路240、ユーザI/F用CPU250、フラッシュメモリ260、ディスプレイ270、ビデオ出力部280、及びオーディオ出力部290を備えている。
画像情報制御回路240は、メモリインターフェース241、デジタル信号プロセッサ242、プロセッサ243、映像処理用プロセッサ244、及びオーディオ処理用プロセッサ245を備えている。そして、例えば映像処理用プロセッサ244及びデジタル信号プロセッサ242が、上記第1乃至第15の実施形態で説明したグラフィックプロセッサ50及びホストプロセッサ20に対応する。
上記構成において、ヘッドアンプ210で読み出された映像データが画像情報制御回路240に入力される。そして、デジタル信号処理プロセッサ242から映像情報用プロセッサに図形情報が入力される。すると映像情報用プロセッサ245は、上記実施形態で説明したようにして図形を描画する。
なお、上記第1乃至第14の実施形態で説明した描画装置は、コンピュータを用いてソフトウェアにて実施することも可能である。図47は、そのような場合について示しており、コンピュータのブロック図である。
図示するように、画像の描画処理に用いられるコンピュータ300は、CPU310、メモリ320、データ入出力部330、ドライバ回路340、及びディスプレイ350を備えている。
メモリ320は、画像描画プログラム、スタンプ(ピクセル)データ、及びテクスチャ(テクセル)データを保持する。データ入出力部330は、コンピュータ300と外部とのデータの授受を司る。ドライバ回路340は、CPU310における処理結果に基づいて、ディスプレイ350に画像を表示する。CPU310は、上記第1乃至第14の実施形態で説明したラスタライザ55及びピクセル処理部PPU0〜PPU31と同一の機能を果たすことが出来る。すなわちCPU310は、図形描画プログラムに従って、入力された図形情報に応じたスタンプ(ピクセル)を生成するピクセル生成手段と、各々が、ピクセル生成手段によって生成されたスタンプ(ピクセル)のうち、描画領域内において実質的に等距離且つ等方的に位置する複数のスタンプ(ピクセル)について描画処理を行う複数の描画手段として機能し、更に、テクスチャスタンプ(テクセル)データを保持手段から読み出す読み出し手段と、読み出し手段によって読み出したテクスチャスタンプ(テクセル)をスタンプ(ピクセル)に貼り付ける貼付手段として機能出来る。
CPU310は、外部から図形情報を得ると、メモリ320から図形描画プログラムを読み出す。図形描画プログラムは、例えば第1の実施形態で説明した図5、または第4の実施形態で説明した図10に示すフローチャートに示す処理を行わせるものである。また図形描画プログラムには、スタンプと描画手段との関係、及びテクスチャスタンプと該テクスチャスタンプを格納するメモリ領域との関係が規定してある。そしてそれらの関係は、上記第1乃至第14の実施形態で説明したように、スタンプ(またはテクスチャスタンプ)が、実質的に等距離及び等方的に位置するような関係である。
CPU310は、まず、図形情報と図形描画プログラムに従って、図形情報に対応したスタンプを生成する。そして、複数のスタンプに対して並列的に描画処理を行う。CPU320において、各ピクセルを処理する領域は、上記第1乃至第14の実施形態で説明した通り、各スタンプの位置に対応付けられている。この際CPU310は、図形描画プログラムに従って、必要があればメモリ320からテクスチャデータを読み出して、対応するピクセルに貼り付ける。以上のようにして描画処理が終了すると、CPU320はピクセルデータをメモリ320に格納する。
以上のように、上記第1乃至第14の実施形態は、図形描画プログラムを用いてコンピュータによって実現することが出来る。また本図形描画プログラムは、記憶媒体に記録させることによって自由に携帯可能であり、様々なハードウェアにおいて本実施形態に係る図形描画方法が可能となる。
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
本発明によれば、回路規模を大型化することなく画像処理効率を向上出来る描画装置、描画方法、及び描画プログラムが得られる。
図1は、この発明の第1の実施形態に係る画像処理装置のブロック図である。 図2は、この発明の第1の実施形態に係る画像処理装置の備えるグラフィックプロセッサのブロック図である。 図3は、この発明の第1の実施形態に係る画像処理装置におけるフレームバッファの一領域の概念図である。 図4は、この発明の第1の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図5は、この発明の第1の実施形態に係る画像処理装置による画像描画方法のフローチャートである。 図6は、この発明の第1の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図7は、この発明の第1の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図8は、この発明の第2の実施形態に係る画像処理装置の備えるグラフィックプロセッサのブロック図である。 図9は、この発明の第2の実施形態に係る画像処理装置におけるテクスチャデータの概念図である。 図10は、この発明の第2の実施形態に係る画像処理装置による画像描画方法のフローチャートである。 図11は、この発明の第2の実施形態に係る画像処理装置におけるテクスチャデータの概念図である。 図12は、この発明の第2の実施形態に係る画像処理装置におけるテクスチャデータの概念図である。 図13は、この発明の第3の実施形態に係るグラフィックプロセッサの一部領域のブロック図である。 図14は、この発明の第3の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図15は、この発明の第3の実施形態に係る画像処理装置におけるローカルメモリのメモリ空間の概念図である。 図16は、この発明の第3の実施形態に係る画像処理装置におけるローカルメモリのメモリ空間の概念図である。 図17は、この発明の第4の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図18は、この発明の第4の実施形態に係る画像処理装置におけるスタンプ配置の方法を示す概念図である。 図19は、この発明の第4の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図20は、この発明の第4の実施形態の第1変形例に係る画像処理装置におけるスタンプ配置の方法を示す概念図である。 図21は、この発明の第4の実施形態の第2変形例に係る画像処理装置におけるスタンプ配置の方法を示す概念図である。 図22は、この発明の第5の実施形態に係る画像処理装置におけるテクスチャデータの概念図である。 図23は、この発明の第6の実施形態に係る画像処理装置において、複数のデータ幅でスタンプデータを保持するローカルメモリのメモリ空間の概念図である。 図24は、この発明の第6の実施形態に係る画像処理装置におけるローカルメモリのメモリ空間の概念図である。 図25は、この発明の第6の実施形態に係る画像処理装置におけるローカルメモリのメモリ空間の概念図である。 図26は、この発明の第6の実施形態に係る画像処理装置におけるローカルメモリのメモリ空間の概念図である。 図27は、この発明の第7の実施形態に係る画像処理装置の備えるグラフィックプロセッサのブロック図である。 図28は、この発明の第7の実施形態に係る画像処理装置におけるローカルメモリのメモリ空間の概念図であり、テクスチャデータを格納する様子を示す図である。 図29は、この発明の第7の実施形態に係る画像処理装置におけるローカルメモリ及びテクスチャキャッシュのメモリ空間の概念図であり、ローカルメモリからテクスチャキャッシュにテクセルデータを読み出す様子を示す図である。 図30は、この発明の第7の実施形態に係る画像処理装置におけるフレームバッファとテクスチャデータの概念図である。 図31は、この発明の第8の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図32は、この発明の第9の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図33は、この発明の第9の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図34は、この発明の第9の実施形態に係る画像処理装置におけるスタンプ配置の方法を示す概念図である。 図35は、この発明の第10の実施形態に係る画像処理装置におけるフレームバッファのメモリ空間の概念図である。 図36は、この発明の第10の実施形態に係る画像処理装置におけるスタンプ配置の方法を示す概念図である。 図37は、この発明の第11の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図38は、この発明の第11の実施形態に係る画像処理装置におけるスタンプ配置の方法を示す概念図である。 図39は、この発明の第12の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図40は、この発明の第12の実施形態に係る画像処理装置におけるスタンプ配置の方法を示す概念図である。 図41は、この発明の第13の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図42は、この発明の第13の実施形態に係る画像処理装置におけるスタンプ配置の方法を示す概念図である。 図43は、この発明の第14の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図44は、この発明の第15の実施形態に係る画像処理装置におけるフレームバッファの概念図である。 図45は、この発明の第1乃至第15の実施形態に係る画像処理装置を備えたデジタルテレビのブロック図である。 図46は、この発明の第1乃至第15の実施形態に係る画像処理装置を備えた録画再生機器のブロック図である。 図47は、この発明の第1乃至第15の実施形態に係る画像描画方法を実現するコンピュータのブロック図である。

Claims (35)

  1. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行うN個(N=2 (2n+2) 、nは1以上の自然数)のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと、
    を具備し、前記ピクセル処理部は、複数の前記ピクセルに対して描画処理を行い、同一の前記ピクセル処理部によって描画処理される前記ピクセル同士は、前記描画領域内において等距離且つ等方的に位置し、
    同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 より大きい三角形を形成する
    ことを特徴とする描画装置。
  2. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行うN個(N=2 (2n+1) 、nは1以上の自然数)のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと、
    を具備し、前記ピクセル処理部は、複数の前記ピクセルに対して描画処理を行い、同一の前記ピクセル処理部によって描画処理される前記ピクセル同士は、前記描画領域内において等距離且つ等方的に位置し、
    同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 であり且つ三辺の長さの平均が(N 1/2 ×(2+2 1/2 )/3)より小さい三角形を形成する
    ことを特徴とする描画装置。
  3. 前記メモリは、前記図形に貼り付けるべき画像をマトリクス状に分割して得られる複数のテクセルのデータを更に保持し、
    各々の前記メモリは、前記画像内において互いに等距離且つ等方的に位置する複数の前記テクセルのデータを保持し、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部が扱うピクセルに対して貼り付けるべき前記テクセルのデータを、いずれかの前記メモリから読み出す読み出し回路と、
    前記ピクセル処理部毎に設けられ、対応する前記読み出し回路によって読み出した前記テクセルをピクセルに貼り付けるテクスチャユニットと
    を更に備えることを特徴とする請求項1または2記載の描画装置。
  4. 前記メモリにおいて個々の前記ピクセルのデータが格納される領域のアドレスは、個々の前記ピクセル毎に各々のメモリ順に順次割り当てられる
    ことを特徴とする請求項1または2記載の描画装置。
  5. 各々の前記メモリにおいて前記ピクセルのデータが格納される領域は、1つの前記ピクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記ピクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記ピクセルについて連続したアドレスが割り当てられる
    ことを特徴とする請求項1または2記載の描画装置。
  6. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行うN個(N=2 (2n+2) 、nは1以上の自然数)のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと
    を具備し、前記ピクセル処理部は、互いに異なる位置の複数の前記ピクセルに対して描画処理を行い、各々の前記ピクセル処理部によって描画処理される複数の前記ピクセルは、あるピクセルに最近接な6個のピクセルが前記描画領域内において正六角形の頂点に位置する関係を有し、
    同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 より大きい三角形を形成する
    ことを特徴とする描画装置。
  7. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行うN個(N=2 (2n+1) 、nは1以上の自然数)のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと
    を具備し、前記ピクセル処理部は、互いに異なる位置の複数の前記ピクセルに対して描画処理を行い、各々の前記ピクセル処理部によって描画処理される複数の前記ピクセルは、あるピクセルに最近接な6個のピクセルが前記描画領域内において正六角形の頂点に位置する関係を有し、
    同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 であり且つ三辺の長さの平均が(N 1/2 ×(2+2 1/2 )/3)より小さい三角形を形成する
    ことを特徴とする描画装置。
  8. 前記メモリは、前記図形に貼り付けるべき画像をマトリクス状に分割して得られる複数のテクセルのデータを更に保持し、
    各々の前記メモリは、あるテクセルに最近接な6個のテクセルが前記画像内において正六角形の頂点に位置する関係を有する複数の前記テクセルのデータを保持し、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部が扱うピクセルに対して貼り付けるべき前記テクセルのデータを、いずれかの前記メモリから読み出す読み出し回路と、
    前記ピクセル処理部毎に設けられ、対応する前記読み出し回路によって読み出した前記テクセルをピクセルに貼り付けるテクスチャユニットと
    を更に備えることを特徴とする請求項6または7記載の描画装置。
  9. 前記メモリにおいて個々の前記ピクセルのデータが格納される領域のアドレスは、個々の前記ピクセル毎に各々のメモリ順に順次割り当てられる
    ことを特徴とする請求項6または7記載の描画装置。
  10. 各々の前記メモリにおいて前記ピクセルのデータが格納される領域は、1つの前記ピクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記ピクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記ピクセルについて連続したアドレスが割り当てられる
    ことを特徴とする請求項6または7記載の描画装置。
  11. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行うN個(N=2 (2n+2) 、nは1以上の自然数)のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと
    を具備し、前記ピクセル処理部は、互いに異なる位置の複数の前記ピクセルに対して描画処理を行い、各々の前記ピクセル処理部によって描画処理される複数の前記ピクセルは、近接する3個のピクセルが前記描画領域内において正三角形の頂点に位置する関係を有し、
    同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 より大きい三角形を形成する
    ことを特徴とする描画装置。
  12. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行うN個(N=2 (2n+1) 、nは1以上の自然数)のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと
    を具備し、前記ピクセル処理部は、互いに異なる位置の複数の前記ピクセルに対して描画処理を行い、各々の前記ピクセル処理部によって描画処理される複数の前記ピクセルは、近接する3個のピクセルが前記描画領域内において正三角形の頂点に位置する関係を有し、
    同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 であり且つ三辺の長さの平均が(N 1/2 ×(2+2 1/2 )/3)より小さい三角形を形成する
    ことを特徴とする描画装置。
  13. 前記メモリにおいて個々の前記ピクセルのデータが格納される領域のアドレスは、個々の前記ピクセル毎に各々のメモリ順に順次割り当てられる
    ことを特徴とする請求項11または12記載の描画装置。
  14. 各々の前記メモリにおいて前記ピクセルのデータが格納される領域は、1つの前記ピクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記ピクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記ピクセルについて連続したアドレスが割り当てられる
    ことを特徴とする請求項11または12記載の描画装置。
  15. 前記メモリは、前記図形に貼り付けるべき画像をマトリクス状に分割して得られる複数のテクセルのデータを更に保持し、
    各々の前記メモリは、近接する3個のテクセルが前記画像内において正三角形の頂点に位置する関係を有する複数の前記テクセルのデータを保持し、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部が扱うピクセルに対して貼り付けるべき前記テクセルのデータを、いずれかの前記メモリから読み出す読み出し回路と、
    前記ピクセル処理部毎に設けられ、対応する前記読み出し回路によって読み出した前記テクセルをピクセルに貼り付けるテクスチャユニットと
    を更に備えることを特徴とする請求項11または12記載の描画装置。
  16. 前記メモリにおいて前記テクセルのデータが格納される領域のアドレスは、個々の前記テクセル毎に各々のメモリ順に、順次割り当てられる
    ことを特徴とする請求項3、8または15記載の描画装置。
  17. 各々の前記メモリにおいて前記テクセルのデータが格納される領域は、1つの前記テクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記テクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記テクセルについて連続したアドレスが割り当てられる
    ことを特徴とする請求項3、8または15記載の描画装置。
  18. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行う複数のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと
    を具備し、前記ピクセル処理部は、互いに異なる位置の複数の前記ピクセルに対して描画処理を行い、
    前記描画領域は、それぞれ異なる前記ピクセル処理部によって描画処理される複数の前記ピクセルの集合であるブロックがマトリクス配置され、
    前記描画領域内における前記ピクセルと前記ピクセル処理部との対応関係は、該描画領域の縦方向及び横方向の少なくともいずれかの方向において、2ブロック以上の周期で繰り返され
    各々の前記メモリにおいて前記ピクセルのデータが格納される領域は、1つの前記ピクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記ピクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記ピクセルについて連続したアドレスが割り当てられる
    ことを特徴とする描画装置。
  19. 前記メモリは、前記図形に貼り付けるべき画像をマトリクス状に分割して得られる複数のテクセルのデータを更に保持し、
    前記メモリは、互いに異なる位置の前記テクセルのデータを保持し、
    前記画像は、それぞれ異なる前記メモリに保持される複数の前記テクセルの集合であるテクスチャブロックがマトリクス配置され、
    前記画像内における前記テクセルと前記メモリとの対応関係は、該画像の縦方向及び横方向の少なくともいずれかの方向において、2テクスチャブロック以上の周期で繰り返され、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部が扱うピクセルに対して貼り付けるべき前記テクセルのデータを、いずれかの前記メモリから読み出す読み出し回路と、
    前記ピクセル処理部毎に設けられ、対応する前記読み出し回路によって読み出した前記テクセルをピクセルに貼り付けるテクスチャユニットと
    を更に備えることを特徴とする請求項18記載の描画装置。
  20. 前記メモリにおいて個々の前記ピクセルのデータが格納される領域のアドレスは、個々の前記ピクセル毎に各々のメモリ順に順次割り当てられる
    ことを特徴とする請求項18記載の描画装置。
  21. 前記メモリにおいて前記テクセルのデータが格納される領域のアドレスは、個々の前記テクセル毎に各々のメモリ順に、順次割り当てられる
    ことを特徴とする請求項19記載の描画装置。
  22. 各々の前記メモリにおいて前記テクセルのデータが格納される領域は、1つの前記テクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記テクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記テクセルについて連続したアドレスが割り当てられる
    ことを特徴とする請求項19記載の描画装置。
  23. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザを用いた描画方法であって、
    図形情報に基づいてピクセルを生成するステップと、
    生成されたピクセルが描画領域内において占める位置に応じて、N個(N=2(2n+2)、nは1以上の自然数)のうちの対応するピクセル処理部に前記ピクセルを投入するステップと、
    投入されたピクセルに対して描画処理を行うステップと、
    描画処理を行ったピクセルデータを、前記ピクセル処理部に対応して設けられたメモリに格納するステップと
    を具備し、前記ラスタライザは、同一の前記ピクセル処理部によって描画処理される前記ピクセル同士が、前記描画領域内において等距離且つ等方的に位置し、且つ同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルが、前記描画領域において、三辺のうちで最も短い辺の長さがN1/2より大きい三角形を形成するように、前記ピクセル処理部に前記ピクセルを投入する
    ことを特徴とする描画方法。
  24. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザを用いた描画方法であって、
    図形情報に基づいてピクセルを生成するステップと、
    生成されたピクセルが描画領域内において占める位置に応じて、N個(N=2(2n+1)、nは1以上の自然数)のうちの対応するピクセル処理部に前記ピクセルを投入するステップと、
    投入されたピクセルに対して描画処理を行うステップと、
    描画処理を行ったピクセルデータを、前記ピクセル処理部に対応して設けられたメモリに格納するステップと
    を具備し、前記ラスタライザは、同一の前記ピクセル処理部によって描画処理される前記ピクセル同士が、前記描画領域内において等距離且つ等方的に位置し、且つ同一の前記ピクセル処理部によって描画される近接する3つの前記ピクセルが、前記描画領域において、三辺のうちで最も短い辺の長さがN1/2であり且つ三辺の長さの平均が(N1/2×(2+21/2)/3)より小さい三角形を形成するように、前記ピクセル処理部に前記ピクセルを投入する
    ことを特徴とする描画方法。
  25. 前記描画処理を行うステップは、前記ピクセル処理部毎に設けられた読み出し回路が、対応するピクセル処理部が描画するピクセルに貼り付けるべきテクセルのデータを、前記メモリから読み出すステップと、
    それぞれの前記ピクセル処理部に投入された前記ピクセルに、対応する読み出し回路が読み出した前記テクセルを貼り付けるステップと
    を備えることを特徴とする請求項23または24記載の描画方法。
  26. 図形を描画するためにコンピュータを、
    入力された図形情報に応じたピクセルを生成するピクセル生成手段と、
    各々が、前記ピクセル生成手段によって生成された前記ピクセルのうち、描画領域内において等距離且つ等方的に位置する複数の前記ピクセルについて描画処理を行う複数の描画手段と、
    前記描画手段によって描画された前記ピクセルのデータを保持するN個(N=2 (2n+2) 、nは1以上の自然数)の保持手段と
    として機能させ、同一の前記保持手段によって保持される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 より大きい三角形を形成する描画プログラム。
  27. 図形を描画するためにコンピュータを、
    入力された図形情報に応じたピクセルを生成するピクセル生成手段と、
    各々が、前記ピクセル生成手段によって生成された前記ピクセルのうち、描画領域内において等距離且つ等方的に位置する複数の前記ピクセルについて描画処理を行う複数の描画手段と、
    前記描画手段によって描画された前記ピクセルのデータを保持するN個(N=2 (2n+1) 、nは1以上の自然数)の保持手段と
    として機能させ、同一の前記保持手段によって保持される近接する3つの前記ピクセルは、前記描画領域において、三辺のうちで最も短い辺の長さがN 1/2 であり且つ三辺の長さの平均が(N 1/2 ×(2+2 1/2 )/3)より小さい三角形を形成する描画プログラム。
  28. 前記保持手段の各々に、前記図形に貼り付けるべき画像をマトリクス状に分割して得られる複数のテクセルについて、前記画像内において互いに等距離且つ等方的に位置する前記テクセルのデータを更に保持させ、
    前記コンピュータを、前記テクセルのデータを前記保持手段から読み出す読み出し手段と、
    前記読み出し手段によって読み出したテクセルを前記ピクセルに貼り付ける貼付手段と
    して更に機能させることを特徴とする請求項26または27記載の描画プログラム。
  29. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行う複数のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータと、前記図形に貼り付けるべき画像をマトリクス状に分割して得られる複数のテクセルのデータとを保持する複数のメモリと、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部が扱うピクセルに対して貼り付けるべき前記テクセルのデータを、いずれかの前記メモリから読み出す読み出し回路と、
    前記ピクセル処理部毎に設けられ、対応する前記読み出し回路によって読み出した前記テクセルをピクセルに貼り付けるテクスチャユニットと
    を具備し、前記ピクセル処理部は、複数の前記ピクセルに対して描画処理を行い、同一の前記ピクセル処理部によって描画処理される前記ピクセル同士は、前記描画領域内において等距離且つ等方的に位置し、
    各々の前記メモリは、前記画像内において互いに等距離且つ等方的に位置する複数の前記テクセルのデータを保持する
    ことを特徴とする描画装置。
  30. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行う複数のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと、
    を具備し、前記ピクセル処理部は、複数の前記ピクセルに対して描画処理を行い、同一の前記ピクセル処理部によって描画処理される前記ピクセル同士は、前記描画領域内において等距離且つ等方的に位置し、
    各々の前記メモリにおいて前記ピクセルのデータが格納される領域は、1つの前記ピクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記ピクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記ピクセルについて連続したアドレスが割り当てられる
    ことを特徴とする描画装置。
  31. 前記メモリは、前記図形に貼り付けるべき画像をマトリクス状に分割して得られる複数のテクセルのデータを更に保持し、
    各々の前記メモリは、前記画像内において互いに等距離且つ等方的に位置する複数の前記テクセルのデータを保持し、
    前記描画装置は、前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部が扱うピクセルに対して貼り付けるべき前記テクセルのデータを、いずれかの前記メモリから読み出す読み出し回路と、
    前記ピクセル処理部毎に設けられ、対応する前記読み出し回路によって読み出した前記テクセルをピクセルに貼り付けるテクスチャユニットと
    を更に備えることを特徴とする請求項30記載の描画装置。
  32. 前記メモリにおいて個々の前記ピクセルのデータが格納される領域のアドレスは、個々の前記ピクセル毎に各々のメモリ順に順次割り当てられる
    ことを特徴とする請求項29または30記載の描画装置。
  33. 各々の前記メモリにおいて前記ピクセルのデータが格納される領域は、1つの前記ピクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記ピクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記ピクセルについて連続したアドレスが割り当てられる
    ことを特徴とする請求項29記載の描画装置。
  34. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行う複数のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータと、前記図形に貼り付けるべき画像をマトリクス状に分割して得られる複数のテクセルのデータとを保持する複数のメモリと、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部が扱うピクセルに対して貼り付けるべき前記テクセルのデータを、いずれかの前記メモリから読み出す読み出し回路と、
    前記ピクセル処理部毎に設けられ、対応する前記読み出し回路によって読み出した前記テクセルをピクセルに貼り付けるテクスチャユニットと
    を具備し、前記ピクセル処理部は、複数の前記ピクセルに対して描画処理を行い、
    前記描画領域は、マトリクス状に配置された複数の第1ブロックの集合であり、
    前記第1ブロックは、マトリクス状に配置され且つ互いに異なる前記ピクセル処理部によって描画される複数のピクセルの集合であり、
    前記描画領域内において、同一のピクセル処理部で描画され且つ互いに最近接の3つの前記ピクセルは、該ピクセルにより形成される三角形の各頂点間の距離が、該ピクセル間で取り得る範囲内において最も等しくなるように位置し、
    前記図形に貼り付けるべき画像は、マトリクス状に配置された複数の第2ブロックの集合であり、
    前記第2ブロックは、マトリクス状に配置され且つ互いに異なる前記メモリに保持される複数の前記テクセルの集合であり、
    前記画像内において、同一の前記メモリに保持され且つ互いに最近接の3つの前記テクセルは、該テクセルにより形成される三角形の各頂点間の距離が、該テクセル間で取り得る範囲内において最も等しくなるように位置する
    ことを特徴とする描画装置。
  35. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行う複数のピクセル処理部と、
    前記ピクセル処理部毎に設けられ、対応する前記ピクセル処理部によって描画された前記ピクセルのデータを保持する複数のメモリと、
    を具備し、前記ピクセル処理部は、複数の前記ピクセルに対して描画処理を行い、
    前記描画領域は、マトリクス状に配置された複数のブロックの集合であり、
    前記ブロックは、マトリクス状に配置され且つ互いに異なる前記ピクセル処理部によって描画される複数のピクセルの集合であり、
    前記描画領域内において、同一のピクセル処理部で描画され且つ互いに最近接の3つの前記ピクセルは、該ピクセルにより形成される三角形の各頂点間の距離が、該ピクセル間で取り得る範囲内において最も等しくなるように位置し、
    各々の前記メモリにおいて前記ピクセルのデータが格納される領域は、1つの前記ピクセルが取り得る最大のデータ幅毎に、各々のメモリ順に順次割り当てられ、
    前記ピクセルのデータ幅が前記最大のデータ幅よりも小さい場合には、該最大のデータ幅を上限として、複数の前記ピクセルについて連続したアドレスが割り当てられる
    ことを特徴とする描画装置。
JP2006519083A 2004-03-10 2004-03-10 描画装置、描画方法、及び描画プログラム Expired - Fee Related JP4521399B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/003092 WO2005088548A1 (ja) 2004-03-10 2004-03-10 描画装置、描画方法、及び描画プログラム

Publications (2)

Publication Number Publication Date
JPWO2005088548A1 JPWO2005088548A1 (ja) 2007-08-30
JP4521399B2 true JP4521399B2 (ja) 2010-08-11

Family

ID=34975791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006519083A Expired - Fee Related JP4521399B2 (ja) 2004-03-10 2004-03-10 描画装置、描画方法、及び描画プログラム

Country Status (3)

Country Link
US (1) US7817153B2 (ja)
JP (1) JP4521399B2 (ja)
WO (1) WO2005088548A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088548A1 (ja) 2004-03-10 2005-09-22 Kabushiki Kaisha Toshiba 描画装置、描画方法、及び描画プログラム
JP4843377B2 (ja) * 2006-05-18 2011-12-21 株式会社東芝 画像処理装置及び画像処理方法
GB2494903B (en) * 2011-09-22 2017-12-27 Advanced Risc Mach Ltd Graphics processing systems
CN110047123B (zh) * 2019-04-12 2023-01-10 腾讯大地通途(北京)科技有限公司 一种地图渲染方法、装置、存储介质及计算机程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161509A (ja) * 1994-12-01 1996-06-21 Internatl Business Mach Corp <Ibm> テクスチャ・マッピングを行うコンピュータ・システム
JP2004054647A (ja) * 2002-07-19 2004-02-19 Sony Corp 画像処理装置およびその方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727190A (en) * 1995-10-02 1998-03-10 Apple Computer, Inc. Method and system for the acceleration of graphics images in a multiprocessor or preemptive processing computer system
KR100269106B1 (ko) * 1996-03-21 2000-11-01 윤종용 멀티프로세서 그래픽스 시스템
TW376669B (en) 1997-02-10 1999-12-11 Shinsedai Kk Color graphic processor
JP2901945B2 (ja) 1997-11-13 1999-06-07 株式会社澁井鋼材店 鋼材積込装置
US6535218B1 (en) * 1998-05-21 2003-03-18 Mitsubishi Electric & Electronics Usa, Inc. Frame buffer memory for graphic processing
WO2000004482A2 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Multi-processor graphics accelerator
US6608625B1 (en) 1998-10-14 2003-08-19 Hitachi, Ltd. Three dimensional graphic processor
US7023442B2 (en) * 2000-06-28 2006-04-04 Sun Microsystems, Inc. Transferring a digital video stream through a series of hardware modules
US6819337B2 (en) * 2000-06-28 2004-11-16 Sun Microsystems, Inc. Initializing a series of video routers that employ source-synchronous signaling
US6864892B2 (en) * 2002-03-08 2005-03-08 Sun Microsystems, Inc. Graphics data synchronization with multiple data paths in a graphics accelerator
JP2004280157A (ja) * 2003-03-12 2004-10-07 Toshiba Corp 画像処理装置
JP3966832B2 (ja) * 2003-04-28 2007-08-29 株式会社東芝 描画処理装置、及び、描画処理方法
JP2005234727A (ja) * 2004-02-18 2005-09-02 Toshiba Corp 画像処理装置、画像処理システムおよび画像処理方法
WO2005088548A1 (ja) * 2004-03-10 2005-09-22 Kabushiki Kaisha Toshiba 描画装置、描画方法、及び描画プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161509A (ja) * 1994-12-01 1996-06-21 Internatl Business Mach Corp <Ibm> テクスチャ・マッピングを行うコンピュータ・システム
JP2004054647A (ja) * 2002-07-19 2004-02-19 Sony Corp 画像処理装置およびその方法

Also Published As

Publication number Publication date
US20060250399A1 (en) 2006-11-09
JPWO2005088548A1 (ja) 2007-08-30
WO2005088548A1 (ja) 2005-09-22
US7817153B2 (en) 2010-10-19

Similar Documents

Publication Publication Date Title
KR100817057B1 (ko) 동일한 픽셀 데이터 그룹에 포함되는 픽셀 데이터들을메모리의 동일한 뱅크 어드레스로 매핑하는 매핑 방법 및비디오 시스템
US20110035559A1 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
JP3639464B2 (ja) 情報処理システム
JP2006318178A (ja) データ転送調停装置およびデータ転送調停方法
JP3586991B2 (ja) テクスチャ・データ読出装置およびレンダリング装置
TW200947344A (en) Image processing apparatus
US7817153B2 (en) Graphic rendering apparatus which parallel-processes pixels at a time
WO2008063276A1 (en) System for interleaved storage of video data
JP4568950B2 (ja) グラフィックス描画装置
JP4182575B2 (ja) 記憶装置および画像データ処理装置
TWI548988B (zh) 記憶體控制器及單一指令多重資料處理器
JP2008048258A (ja) 画像データ記憶装置、および記憶方法
US8937624B2 (en) Method and apparatus for translating memory access address
TWI311727B (en) Drawing device, drawing method and drawing program
US6573902B1 (en) Apparatus and method for cache memory connection of texture mapping
JP4314655B2 (ja) 画像処理装置
JP2010118058A (ja) トリプル・バッファリングを使用するデータを処理する方法
JP4081860B2 (ja) 画像処理装置
JP3971448B2 (ja) 描画装置及び描画方法
JP2012063922A (ja) グラフィック処理装置、及び、グラフィック処理プログラム
JP6801001B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2009544067A (ja) デュアルインタフェースのメモリ装置および方法
JPS6348355B2 (ja)
JP2000148975A (ja) 画像処理装置
JP4997418B2 (ja) Dramアクセス方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100224

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100524

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees