JP4136432B2 - 図形描画装置 - Google Patents
図形描画装置 Download PDFInfo
- Publication number
- JP4136432B2 JP4136432B2 JP2002111905A JP2002111905A JP4136432B2 JP 4136432 B2 JP4136432 B2 JP 4136432B2 JP 2002111905 A JP2002111905 A JP 2002111905A JP 2002111905 A JP2002111905 A JP 2002111905A JP 4136432 B2 JP4136432 B2 JP 4136432B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- pixel
- memory
- work
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータ・グラフィックスの分野において図形を描画する装置に関するものであり、特に、図形を構成する各ピクセルの色を演算するものに関する。
【0002】
【従来の技術】
近年のゲーム機やカーナビゲーションの高度化に伴い、図形を単色で描画するだけでなく、テクスチャマッピングを施したり、或いは、図形の各頂点間の色を補間するグーローシェーディングや、背景色との透明処理を行うアルファブレンディング等、図形を構成する各ピクセルに対して様々な処理を行うことがよくある。
【0003】
尚、テクスチャマッピングやグーローシェーディングについての詳細は、James D.Foley,Andries van Dam,Steven K.Feiner,John F.Hughes共著、佐藤義雄監訳の「コンピュータグラフィックス理論と実践」を参照することができる。
【0004】
図形に対してテクスチャマッピングとグーローシェーディングとを行うための従来の構成を図16に示す。ピクセル情報生成部1は、描画対象となる図形の各頂点に与えられたX,Y座標、テクスチャ座標であるU,V、輝度を表すR,G,Bといったパラメータを基に、図形を構成する各ピクセルのX,Y座標に対応したU,VやR,G,Bを生成する。尚、R,G,Bはそれぞれ0.0〜1.0の範囲で取り扱うものとする。
【0005】
ここで、図17に示す三角形を例に、ピクセル情報生成部1が図形を構成する各ピクセルの値を生成する処理内容を説明する。図17に示す三角形は、各頂点に(X,Y,U,V,R,G,B)が与えられている。頂点P1は、(X,Y,U,V,R,G,B)=(X1,Y1,U1,V1,R1,G1,B1)であり、また頂点P2は、(X,Y,U,V,R,G,B)=(X2,Y2,U2,V2,R2,G2,B2)であり、さらに頂点P3は、(X,Y,U,V,R,G,B)=(X3,Y3,U3,V3,R3,G3,B3)である。尚、Y2とY3とは等しいものとする。
【0006】
ピクセル情報生成処理の概念を図18に示す。該処理はY座標が最も小さい頂点P1から開始され、各Y座標毎に図形の左辺及び右辺のX座標を求める。その際、左辺に対応するU,V,R,G,Bの値も求める。着目するY座標の左辺の各値が求まった後、左辺のX座標から右辺のX座標までX軸に平行方向にX座標をインクリメントするとともに、対応するU,V,R,G,Bの値も求める。以上の処理を最終Y座標であるY2まで行い、処理を終了する。
【0007】
次に、図19に示すフローチャートを参照しながらピクセル情報生成処理の流れを詳しく説明する。まず、同図中に示すパラメータを以下のように定義する。
【0008】
dXL/dY=(X2-X1)/(Y2-Y1)
dXR/dY=(X3-X1)/(Y2-Y1)
dU/dY=(U2-U1)/(Y2-Y1)
dU/dX=(U3-U2)/(X3-X2)
dV/dY=(V2-V1)/(Y2-Y1)
dV/dX=(V3-V2)/(X3-X2)
dR/dY=(R2-R1)/(Y2-Y1)
dR/dX=(R3-R2)/(X3-X2)
dG/dY=(G2-G1)/(Y2-Y1)
dG/dX=(G3-G2)/(X3-X2)
dB/dY=(B2-B1)/(Y2-Y1)
dB/dX=(B3-B2)/(X3-X2)
【0009】
尚、これらのパラメータはピクセル情報生成部1内部で算出してもよいし、外部で予め算出しておき、ピクセル情報生成部1に与えてもよい。また、XL,UL,VL,RL,GL,BLは左辺上の各値を記憶するための変数で、左辺変数と呼ぶことにする。XRは右辺上のX座標を記憶するための変数で、右辺変数と呼ぶことにする。そして、X,Y,U,V,R,G,Bは図形を構成する各ピクセルの値を記憶するための変数で、ピクセル変数と呼ぶことにする。これらの値がピクセル情報生成部1から出力される。尚、これまで述べた変数は、回路上ではレジスタ等の記憶素子に記憶すると考えてよい。
【0010】
処理が開始されると、ステップS1で、頂点P1の各値を左辺変数とY座標のピクセル変数とにそれぞれ設定し、ステップS2に進む。ステップS2では、左辺変数に記憶されている各値をピクセル変数にそれぞれ設定し、ステップS3に進む。このステップS2の時点でピクセル変数に記憶されている各値が、図形の左辺を構成するピクセルの値としてピクセル情報生成部1から出力される。
【0011】
ステップS3では、X座標のピクセル変数が右辺変数と同じ値であればステップS5に進み、そうでなければステップS4に進む。ステップS4では、X座標のピクセル変数をインクリメントし、U,V,R,G,Bのピクセル変数にはX方向の変位をそれぞれ加算し、ステップS3に戻る。このステップS4の時点でピクセル変数に記憶されている各値が、左辺を除く図形を構成するピクセルの値としてピクセル情報生成部1から出力される。
【0012】
ステップS5では、Y座標のピクセル変数が頂点P2のY座標と同じ値であれば処理を終了し、そうでなければステップS6に進む。ステップS6では、Y座標のピクセル変数をインクリメントし、左辺変数にはY方向の変位をそれぞれ加算し、ステップS2に戻る。
【0013】
このように、ピクセル情報生成部1は図形を構成する各ピクセルのX,Y,U,V,R,G,Bを生成する。
【0014】
図16おいて、テクスチャメモリ2は、テクスチャが格納されているメモリで、ピクセル情報生成部1から出力されたU,Vに対応するテクスチャデータを出力する。尚、該テクスチャデータは1つのデータの中にR,G,Bが含まれる。
【0015】
乗算器3は、ピクセル情報生成部1から出力されたR,G,BとテクスチャデータのR,G,Bとをそれぞれ乗算する。
【0016】
加算器4は、前記乗算器3から出力されたR,G,Bとバイアス値のR,G,Bとをそれぞれ加算し、図形のピクセルの色を決定するR,G,Bで構成されたピクセルデータを出力する。もし、加算結果のR,G,Bが1.0を超える場合は1.0に飽和させる。
【0017】
フレームメモリ5は、図形を描画するためのメモリで、R,G,Bで構成されるピクセルデータを格納する。フレームメモリ5に展開された図形情報が図示しないディスプレイに表示される。
【0018】
メモリインターフェース部6は、フレームメモリ5に対して、ピクセル情報生成部1から出力されたX,Y座標に対応する場所にピクセルデータを書き込む。
【0019】
【発明が解決しようとする課題】
図形に対してテクスチャマッピングとグーローシェーディングとを行うための従来の構成で、新たな機能としてアルファブレンディングを追加しようとした場合、グーローシェーディングで必要な演算は、
(テクスチャ)×(R,G,B)+(バイアス値)
であるのに対して、アルファブレンディングで必要な演算は、
(1−透明度)×(テクスチャ)+(透明度)×(背景色)
である。
【0020】
このように、演算内容も異なれば、入力する変数も異なるので、アルファブレンディング機能を追加するには、専用の演算回路が必要であった。
【0021】
描画機能毎に専用の演算回路を持つことは回路規模増加に繋がり、少ない回路規模では描画機能の種類を増やせないという問題があった。
【0022】
本発明は、上記従来の問題を解決しようとするもので、機能に応じた専用回路を不要とし、少ない回路規模で多機能な描画を実現する図形描画装置を提供することを目的とする。
【0023】
【課題を解決するための手段】
請求項1に係る発明は、図形を構成する各ピクセルのX,Y座標に対応した描画パラメータを生成する描画情報生成部と、最前段にあっては、ピクセル毎に前記描画パラメータ及び定数から任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータ、定数、及び前段側の演算結果から任意に選択して演算を行い、さらに最後段にあっては、前記描画パラメータと定数と前段側の演算結果と着目するピクセルの座標に対応するフレームメモリ上のピクセルデータであるフレームデータとから任意に選択して演算を行う複数のピクセル演算部と、前記フレームデータをフレームメモリから読み出し、前記最後段のピクセル演算部の演算結果をフレームメモリに書き込むメモリインターフェース部とを備え、ピクセル演算部の段数よりも多い演算段数の描画を行うときに、まず、ピクセル演算部の段数で演算した結果をフレームメモリに展開した後、同じ描画位置でフレームデータを最後段のピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されていることを特徴とするものである。
【0024】
また、請求項2に係る発明は、図形を構成する各ピクセルのX,Y座標に対応した描画パラメータを生成する描画情報生成部と、最前段にあっては、ピクセル毎に前記描画パラメータ、定数、及び着目するピクセルの座標に対応するフレームメモリ上のピクセルデータであるフレームデータから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータ、定数、前段側の演算結果、及び前記フレームデータから任意に選択して演算を行う複数のピクセル演算部と、前記フレームデータをフレームメモリから読み出し、前記最後段のピクセル演算部の演算結果をフレームメモリに書き込むメモリインターフェース部とを備え、ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をフレームメモリに展開した後、同じ描画位置でフレームデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されていることを特徴とするものである。
【0025】
また、請求項3に係る発明は、内蔵メモリであるワークメモリと、図形を構成する各ピクセルのX,Y座標に対応した描画パラメータを生成する描画情報生成部と、最前段にあっては、ピクセル毎に前記描画パラメータ、定数、及び着目するピクセルの座標に対応するワークメモリ上のピクセルデータであるワークデータから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータ、定数、前段側の演算結果、及び前記ワークデータから任意に選択して演算を行う複数のピクセル演算部と、前記ワークデータをワークメモリから読み出し、前記最後段のピクセル演算部の演算結果をワークメモリに書き込むワークメモリインターフェース部と、前記最後段のピクセル演算部の演算結果のうち、最終段の演算結果のみフレームメモリに書き込むフレームメモリインターフェース部とを備えたことを特徴とするものである。
【0026】
また、請求項4に係る発明は、請求項3に係る発明において、ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をワークメモリに展開した後、同じ描画位置でワークデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されていることを特徴とするものである。
【0027】
また、請求項5に係る発明は、請求項3に係る発明において、描画する図形の外接矩形の最小X,Y座標値をワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標をワークメモリ上の座標に変換してワークメモリとアクセスするように構成されていることを特徴とするものである。
【0028】
また、請求項6に係る発明は、請求項3に係る発明において、図形を描画する前のフレームデータを演算に用いるときには、図形描画を開始する前に描画しようとする図形の外接矩形領域分のフレームデータをフレームメモリからワークメモリに予め転送しておくように構成されていることを特徴とするものである。
【0029】
また、請求項7に係る発明は、内蔵メモリである第1及び第2ワークメモリと、図形を構成する各ピクセルのX,Y座標に対応した描画パラメータを生成する描画情報生成部と、最前段にあっては、ピクセル毎に前記描画パラメータ、定数、及び第1又は第2ワークメモリ上のワークデータから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータ、定数、前段側の演算結果、及び前記ワークデータから任意に選択して演算を行う複数のピクセル演算部と、描画演算処理を行う間、前記ワークデータを第1又は第2ワークメモリから読み出し、前記最後段のピクセル演算部の演算結果を第1又は第2ワークメモリに書き込み、さらに描画演算処理と並行して、フレームメモリから読み出された描画する図形の外接矩形領域に存在する全てのフレームデータを第1又は第2ワークメモリに書き込み、第1又は第2ワークメモリから演算が終了した図形の外接矩形領域に存在する全てのワークデータを読み出すワークメモリインターフェース部と、描画する図形の外接矩形領域に存在する全てのフレームデータをフレームメモリから読み出し、第1又は第2ワークメモリから読み出された演算が終了した図形の外接矩形領域に存在する全てのワークデータをフレームメモリの描画位置に対して書き込むフレームメモリインターフェース部と、前記ワークメモリインターフェース部又は前記フレームメモリインターフェース部に対して、図形の外接矩形領域転送に関わる制御を行い、第1及び第2ワークメモリに対する描画演算処理、及び外接矩形転送処理の割り当てを決定する矩形転送制御部とを備えたことを特徴とするものである。
【0030】
また、請求項8に係る発明は、請求項7に係る発明において、ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果を第1又は第2ワークメモリに展開した後、同じ描画位置でワークデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されていることを特徴とするものである。
【0031】
また、請求項9に係る発明は、請求項7に係る発明において、第1ワークメモリを用いる際に描画する図形の外接矩形の最小X,Y座標値を第1ワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標を第1ワークメモリ上の座標に変換して第1ワークメモリとアクセスする一方、第2ワークメモリを用いる際に描画する図形の外接矩形の最小X,Y座標値を第2ワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標を第2ワークメモリ上の座標に変換して第2ワークメモリとアクセスするように構成されていることを特徴とするものである。
【0032】
また、請求項10に係る発明は、請求項7に係る発明において、描画順が連続する2つの図形の外接矩形が重なるかどうか予め判定して、重なるときには、後の図形の描画順を遅らせて、描画順が連続する2つの図形の外接矩形が重ならないように構成されていることを特徴とするものである。
【0033】
また、請求項11に係る発明は、請求項1、2、3又は7に係る発明において、描画機能毎にコード化された描画コマンドに基づいて各ピクセル演算部が演算に用いるパラメータを選択するための演算モード信号を各ピクセル演算部に供給する演算モード信号供給部を備えたことを特徴とするものである。
【0034】
【発明の実施の形態】
(実施形態1)
以下、本発明の実施形態1について詳しく説明する。図1は実施形態1における図形描画装置の構成を示すブロック図である。
【0035】
図1中、テクスチャメモリ2とフレームメモリ5とは従来の技術で説明したもの(図16参照)と同様のものである。
【0036】
ピクセル情報生成部7は、従来の技術で説明したピクセル情報生成部1と同様に、描画対象となる図形の各頂点に与えられたX,Y座標、テクスチャ座標であるU,V、輝度を表すR,G,Bといったパラメータを基に、図形を構成する各ピクセルのX,Y座標に対応したU,VやR,G,Bを生成する。さらに、ピクセル情報生成部7は、透明度に用いたり輝度調整等に用いられるαを出力する。αは0.0〜1.0の範囲で取り扱うものとする。このαも、U,VやR,G,Bと同様の方法で図形を構成する各ピクセルのX,Y座標に対応した値が求められる。
【0037】
ピクセル演算部8は、ピクセル情報生成部7から出力されたピクセル毎のR,G,B,αと、テクスチャデータのR,G,Bと、定数RGB(1)と、定数RGB(2)といった値を演算の入力に用い、外部から入力される演算モード信号9に基づいて演算器に対する入力値の組み合わせを決定し、演算結果をピクセルデータとして出力する。
【0038】
前記ピクセル演算部8の内部構造について、さらに詳しく説明する。演算入力選択部10〜13は、演算モード信号9に基づき、ピクセル毎のR,G,B,αやテクスチャデータ等から演算器に対する入力値を選択する。演算入力選択部10,11によって選択された値は乗算器14で乗算され、演算入力選択部12,13によって選択された値は乗算器15で乗算される。
【0039】
演算モード信号9は、演算入力選択部10が演算器に対する入力値を選択するための3ビットのA入力選択信号と、A入力選択信号によって選択された値をAとすると、Aのまま演算器に対する入力値とするか、(1−A)にして演算器に対する入力値とするかを決定するための1ビットのA入力変換信号と、演算入力選択部11が演算器に対する入力値を選択するための3ビットのB入力選択信号と、演算入力選択部12が演算器に対する入力値を選択するための3ビットのC入力選択信号と、演算入力選択部13が演算器に対する入力値を選択するための3ビットのD入力選択信号とで構成される。
【0040】
A〜D入力選択信号によって、各演算入力選択部が演算器に対する入力値を選択する割り当てを図2に示す。尚、A入力選択信号によって選択された値Aは、A入力変換信号が0であればAのまま演算器に対する入力値とし、A入力変換信号が1であれば(1−A)にして演算器に対する入力値とする。
【0041】
乗算器14は、演算入力選択部10から出力されたR,G,Bと、演算入力選択部11から出力されたR,G,Bとをそれぞれ乗算する。尚、演算入力選択部10,11から出力された値が、ピクセル毎のαや定数0、定数1の場合は、それぞれをR,G,Bの乗算に用いる。
【0042】
乗算器15は、演算入力選択部12から出力されたR,G,Bと、演算入力選択部13から出力されたR,G,Bとをそれぞれ乗算する。尚、演算入力選択部12,13から出力された値が、ピクセル毎のαや定数0、定数1の場合は、乗算器14と同様に、それぞれをR,G,Bの乗算に用いる。
【0043】
加算器16は、乗算器14から出力されたR,G,Bと、乗算器15から出力されたR,G,Bとをそれぞれ加算し、ピクセルデータを出力する。もし、加算結果のR,G,Bが1.0を超える場合は、1.0に飽和させる。
【0044】
メモリインターフェース部17は、フレームメモリ5に対して、ピクセル情報生成部7から出力されたX,Y座標に対応する場所にピクセルデータを書き込む。
【0045】
このような本実施形態の構成によると、同じ演算回路を用いて演算内容や入力する変数を自由に変更できるので、描画機能毎の専用の演算回路が不要となり、少ない回路規模で多機能な描画が可能である。
【0046】
(実施形態2)
次に、本発明の実施形態2について詳しく説明する。図3は実施形態2における図形描画装置の構成を示すブロック図である。
【0047】
同図中、テクスチャメモリ2とフレームメモリ5とピクセル情報生成部7とは実施形態1で説明したもの(図1参照)と同様である。
【0048】
第1ピクセル演算部18は、実施形態1で説明したピクセル演算部8と同じ構成であり、外部から入力される第1演算モード信号19に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第1ピクセルデータとして出力する。尚、第1演算モード信号19も、実施形態1で説明した演算モード信号9と同じである。
【0049】
第2ピクセル演算部20は、ピクセル毎のR,G,B,α、テクスチャデータのR,G,B、定数RGB(1)、定数RGB(2)、さらに第1ピクセル演算部18の演算結果である第1ピクセルデータといった値を演算の入力に用い、外部から入力される第2演算モード信号21に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第2ピクセルデータとして出力する。
【0050】
前記第2ピクセル演算部20の内部構造について、さらに詳しく説明すると、演算入力選択部22〜25は、第2演算モード信号21に基づき、ピクセル毎のR,G,B,αやテクスチャデータ、第1ピクセルデータ等から演算器に対する入力値を選択する。演算入力選択部22,23によって選択された値は乗算器26で乗算され、演算入力選択部24,25によって選択された値は乗算器27で乗算される。
【0051】
第2演算モード信号21は、演算入力選択部22が演算器に対する入力値を選択するための3ビットのE入力選択信号と、E入力選択信号によって選択された値をEとすると、Eのまま演算器に対する入力値とするか、(1−E)にして演算器に対する入力値とするかを決定するための1ビットのE入力変換信号と、演算入力選択部23が演算器に対する入力値を選択するための3ビットのF入力選択信号と、演算入力選択部24が演算器に対する入力値を選択するための3ビットのG入力選択信号と、演算入力選択部25が演算器に対する入力値を選択するための3ビットのH入力選択信号とで構成される。
【0052】
E〜H入力選択信号によって、各演算入力選択部が演算器に対する入力値を選択する割り当てを図4に示す。尚、E入力選択信号によって選択された値Eは、E入力変換信号が0であればEのまま演算器に対する入力値とし、E入力変換信号が1であれば(1−E)にして演算器に対する入力値とする。
【0053】
乗算器26は、演算入力選択部22から出力されたR,G,Bと、演算入力選択部23から出力されたR,G,Bとをそれぞれ乗算する。尚、演算入力選択部22,23から出力された値が、ピクセル毎のαや定数0、定数1の場合は、それぞれをR,G,Bの乗算に用いる。
【0054】
乗算器27は、演算入力選択部24から出力されたR,G,Bと、演算入力選択部25から出力されたR,G,Bとをそれぞれ乗算する。尚、演算入力選択部24,25から出力された値が、ピクセル毎のαや定数0、定数1の場合は、乗算器26と同様に、それぞれをR,G,Bの乗算に用いる。
【0055】
加算器28は、乗算器26から出力されたR,G,Bと、乗算器27から出力されたR,G,Bとをそれぞれ加算し、第2ピクセルデータを出力する。もし、加算結果のR,G,Bが1.0を超える場合は、1.0に飽和させる。
【0056】
メモリインターフェース部29は、フレームメモリ5に対して、ピクセル情報生成部7から出力されたX,Y座標に対応する場所に第2ピクセルデータを書き込む。
【0057】
このような構成によると、実施形態1の演算回路を2段設け、前段の演算結果を後段の演算に反映できるようにしたため、演算の組み合わせが増加し、より多機能な描画が可能である。
【0058】
尚、3段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、最後段の演算結果をフレームメモリに書き込むようにすればよい。
【0059】
(実施形態3)
さらに、本発明の実施形態3について詳しく説明する。図5は本実施形態における図形描画装置の構成を示すブロック図である。
【0060】
同図中、テクスチャメモリ2とフレームメモリ5とピクセル情報生成部7と第1ピクセル演算部18と第1演算モード信号19とは実施形態2で説明したもの(図3参照)と同様である。
【0061】
第2ピクセル演算部30は、ピクセル毎のR,G,B,α、テクスチャデータのR,G,B、定数RGB(1)、定数RGB(2)、第1ピクセル演算部18の演算結果である第1ピクセルデータ、さらにフレームメモリ5のX,Y座標に対応する場所に予め格納されているピクセルデータであるフレームデータといった値を演算の入力に用い、外部から入力される第2演算モード信号31に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第2ピクセルデータとして出力する。
【0062】
前記第2ピクセル演算部30の内部構造について、さらに詳しく説明する。演算入力選択部32〜35は、第2演算モード信号31に基づき、ピクセル毎のR,G,B,αやテクスチャデータ、第1ピクセルデータ、フレームデータ等から演算器に対する入力値を選択する。
【0063】
演算入力選択部32,33によって選択された値は乗算器36で乗算され、演算入力選択部34,35によって選択された値は乗算器37で乗算される。
【0064】
第2演算モード信号31は、演算入力選択部32が演算器に対する入力値を選択するための4ビットのE入力選択信号と、E入力選択信号によって選択された値をEとすると、Eのまま演算器に対する入力値とするか、(1−E)にして演算器に対する入力値とするかを決定するための1ビットのE入力変換信号と、演算入力選択部33が演算器に対する入力値を選択するための4ビットのF入力選択信号と、演算入力選択部34が演算器に対する入力値を選択するための4ビットのG入力選択信号と、演算入力選択部35が演算器に対する入力値を選択するための4ビットのH入力選択信号とで構成される。
【0065】
E〜H入力選択信号によって、各演算入力選択部が演算器に対する入力値を選択する割り当てを図6に示す。尚、E入力選択信号によって選択された値Eは、E入力変換信号が0であればEのまま演算器に対する入力値とし、E入力変換信号が1であれば(1−E)にして演算器に対する入力値とする。
【0066】
乗算器36は、演算入力選択部32から出力されたR,G,Bと、演算入力選択部33から出力されたR,G,Bとをそれぞれ乗算する。尚、演算入力選択部32,33から出力された値が、ピクセル毎のαや定数0、定数1の場合は、それぞれをR,G,Bの乗算に用いる。
【0067】
乗算器37は、演算入力選択部34から出力されたR,G,Bと、演算入力選択部35から出力されたR,G,Bとをそれぞれ乗算する。尚、演算入力選択部34,35から出力された値が、ピクセル毎のαや定数0、定数1の場合は、乗算器36と同様に、それぞれをR,G,Bの乗算に用いる。
【0068】
加算器38は、乗算器36から出力されたR,G,Bと、乗算器37から出力されたR,G,Bとをそれぞれ加算し、第2ピクセルデータを出力する。もし、加算結果のR,G,Bが1.0を超える場合は、1.0に飽和させる。
【0069】
メモリインターフェース部39は、フレームメモリ5から、ピクセル情報生成部7から出力されたX,Y座標に対応する場所に予め格納されているピクセルデータであるフレームデータを読み出す。また、メモリインターフェース部39は、フレームメモリ5に対して、ピクセル情報生成部7から出力されたX,Y座標に対応する場所に第2ピクセルデータを書き込む。
【0070】
尚、第2演算モード信号31がフレームデータを用いない設定である場合は、メモリインターフェース部39は、フレームメモリ5からフレームデータを読み出す処理は行わず、第2演算モード信号31がフレームデータを用いる設定である場合は、メモリインターフェース部39は、フレームメモリ5に対して第2ピクセルデータを書き込む前に、フレームメモリ5からフレームデータを読み出す処理を行う。
【0071】
このような本実施形態の構成によると、2段の演算回路の後段に、フレームメモリからの読み出しパスを設け、フレームデータを演算に反映できるようにしたため、アルファブレンディング等、より多機能な描画が可能である。
【0072】
尚、3段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、最後段の演算にフレームデータを反映させ、最後段の演算結果をフレームメモリに書き込むようにすればよい。
【0073】
そして、前記実施形態2においては、演算段数を増やせば、その段数分の演算回路が必要で回路規模が増大するが、実施形態3の構成では、存在する演算回路の段数よりも多い演算段数の描画を行いたい場合、まず、存在する演算回路の段数で演算した結果をフレームメモリに展開し、その後、同じ描画位置でフレームデータを最後段の演算回路に反映させることで、前段までの演算結果に対する追加演算ができる。このような追加演算を必要演算段数に達するまで行えばよい。
【0074】
このように、演算回路を増やさずに演算段数を増やすことができるので、少ない回路規模で多機能な描画が可能である。
【0075】
(実施形態4)
また、本発明の実施形態4について詳しく説明する。図7は実施形態4における図形描画装置の構成を示すブロック図である。
【0076】
同図中、テクスチャメモリ2とフレームメモリ5とピクセル情報生成部7と第2ピクセル演算部30と第2演算モード信号31とは実施形態3で説明したもの(図5参照)と同様である。
【0077】
第1ピクセル演算部40は、ピクセル毎のR,G,B,α、テクスチャデータのR,G,B、定数RGB(1)、定数RGB(2)、さらにフレームデータといった値を演算の入力に用い、外部から入力される第1演算モード信号41に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第1ピクセルデータとして出力する。
【0078】
前記第1ピクセル演算部40の内部構造について、さらに詳しく説明する。演算入力選択部42〜45は、第1演算モード信号41に基づき、ピクセル毎のR,G,B,αやテクスチャデータ、フレームデータ等から演算器に対する入力値を選択する。
【0079】
演算入力選択部42,43によって選択された値は乗算器46で乗算され、演算入力選択部44,45によって選択された値は乗算器47で乗算される。
【0080】
第1演算モード信号41は、演算入力選択部42が演算器に対する入力値を選択するための3ビットのA入力選択信号と、A入力選択信号によって選択された値をAとすると、Aのまま演算器に対する入力値とするか、(1−A)にして演算器に対する入力値とするかを決定するための1ビットのA入力変換信号と、演算入力選択部43が演算器に対する入力値を選択するための3ビットのB入力選択信号と、演算入力選択部44が演算器に対する入力値を選択するための3ビットのC入力選択信号と、演算入力選択部45が演算器に対する入力値を選択するための3ビットのD入力選択信号とで構成される。
【0081】
A〜D入力選択信号によって、各演算入力選択部が演算器に対する入力値を選択する割り当てを図8に示す。尚、A入力選択信号によって選択された値Aは、A入力変換信号が0であればAのまま演算器に対する入力値とし、A入力変換信号が1であれば(1−A)にして演算器に対する入力値とする。
【0082】
乗算器46は、演算入力選択部42から出力されたR,G,Bと、演算入力選択部43から出力されたR,G,Bとをそれぞれ乗算する。尚、演算入力選択部42,43から出力された値が、ピクセル毎のαや定数0、定数1の場合は、それぞれをR,G,Bの乗算に用いる。
【0083】
乗算器47は、演算入力選択部44から出力されたR,G,Bと、演算入力選択部45から出力されたR,G,Bとをそれぞれ乗算する。尚、演算入力選択部44,45から出力された値が、ピクセル毎のαや定数0、定数1の場合は、乗算器46と同様に、それぞれをR,G,Bの乗算に用いる。
【0084】
加算器48は、乗算器46から出力されたR,G,Bと、乗算器47から出力されたR,G,Bとをそれぞれ加算し、第1ピクセルデータを出力する。もし、加算結果のR,G,Bが1.0を超える場合は、1.0に飽和させる。
【0085】
メモリインターフェース部49は、フレームメモリ5から、ピクセル情報生成部7から出力されたX,Y座標に対応する場所に予め格納されているピクセルデータであるフレームデータを読み出す。また、メモリインターフェース部49は、フレームメモリ5に対して、ピクセル情報生成部7から出力されたX,Y座標に対応する場所に第2ピクセルデータを書き込む。
【0086】
尚、第1演算モード信号41又は第2演算モード信号31がフレームデータを用いない設定である場合は、メモリインターフェース部49は、フレームメモリ5からフレームデータを読み出す処理は行わず、第1演算モード信号41又は第2演算モード信号31がフレームデータを用いる設定である場合は、メモリインターフェース部49は、フレームメモリ5に対して第2ピクセルデータを書き込む前に、フレームメモリ5からフレームデータを読み出す処理を行う。
【0087】
このような構成によると、2段の演算回路のそれぞれに、フレームメモリからの読み出しパスを設け、フレームデータを演算に反映できるようにしたため、3段以上の追加演算をする際、1段目の演算回路にフレームデータを反映させれば、2段分の演算をフレームメモリからフレームデータを読み出すことなく行うことで、フレームメモリとのアクセス時間を削減し、高速に処理を行うことができる。
【0088】
また、3段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、それぞれの演算回路にフレームデータを反映させ、最後段の演算結果をフレームメモリに書き込むようにすればよい。
【0089】
ここで、実施形態4の構成の場合、処理が高速になるという効果について、図9を用いて説明する。図9は、実施形態3及び実施形態4で2段分の演算回路が存在する構成で6段の演算を行う場合の処理時間の目安を示す図で、図9(a)は実施形態3の場合を、また図9(b)は実施形態4の場合をそれぞれ示す。
【0090】
同図中、(1)の期間は1段目の演算回路に関係する処理期間を示し、(2)の期間は2段目の演算回路に関係する処理期間を示す。また、EXEは演算を実行することを意味し、FWはフレームメモリへピクセルデータを書き込むことを意味し、FRはフレームメモリからフレームデータを読み出すことを意味する。
【0091】
フレームメモリへの書き込みに係る時間とフレームメモリからの読み出しに係る時間とが略同じであるとすると、EXE,FW,FRを組み合わせた処理時間の大小の目安は以下のようになる。
(EXE)<(FR+EXE)≒(EXE+FW)<(FR+EXE+FW)
【0092】
実施形態3の構成では、フレームデータを演算に反映できるのは2段目の演算回路のみであるため、3段目以降の演算は毎回フレームメモリからフレームデータを読み出し、演算結果をフレームメモリに書き込む必要がある。6段の演算を行う場合、図9(a)に示すようにフレームメモリに書き込む処理が5段であり、フレームメモリから読み出す処理が4段である。
【0093】
実施形態4の構成では,フレームデータ選択のための回路は増加するが、フレームデータをそれぞれの演算回路に反映できるため、3段目以降の演算は、1段目の演算回路にフレームメモリから読み出したフレームデータを反映させ、1段目の演算結果を2段目の演算回路に反映させて得られた演算結果をフレームメモリに書き込むことにより、フレームメモリに対する書き込み、読み出し時間を削減できる。6段の演算を行う場合、図9(b)に示すようにフレームメモリに書き込む処理が3段となり、フレームメモリから読み出す処理が2段となって、高速に処理できることが判る。
【0094】
(実施形態5)
本発明の実施形態5について詳しく説明する。これまで述べてきた実施形態における構成では、演算回路を多段に構成すればするほど、より多機能な描画ができ、多段の演算を行う際にフレームメモリとのアクセス頻度が少ないので、高速に描画できることを説明した。その反面、演算回路の構成が多段になると、演算器に対する入力を決定するための演算モード信号の設定量が増加し、制御が複雑になる。
【0095】
本発明の実施形態5における図形描画装置は、この問題を解決するためもので、その構成のブロック図を図10に示す。
【0096】
同図中、描画コマンド50と演算モード信号供給部51と以外は実施形態4で説明したもの(図7参照)と同様である。
【0097】
描画コマンド50は、描画演算内容を判別するため、描画機能毎にコード化されたパラメータで、外部から供給される。
【0098】
演算モード信号供給部51は、前記描画コマンド50に基づき、第1演算モード信号41と第2演算モード31とを生成し、第1ピクセル演算部40と第2ピクセル演算部30とに供給する。ここで、各描画機能に対する描画コマンド50と、演算モード信号供給部51で生成される第1演算モード信号41及び第2演算モード信号31との割り当て例を図11に示す。勿論、同図に示されていない描画機能の割り当ても可能である。
【0099】
図11において、アルファブレンディングを例に挙げると、第1ピクセル演算部40での演算内容は、
(テクスチャ)×(ピクセル毎のR,G,B)+(定数RGB(1))×1→第1ピクセルデータ
となり、第2ピクセル演算部30での演算内容は、
(1−ピクセル毎のα)×(第1ピクセルデータ)+(ピクセル毎のα)×(フレームデータ)→第2ピクセルデータ
となる。
【0100】
尚、存在する演算回路よりも多い段数の演算を行う場合、演算モード信号供給部51は、各演算に必要な演算モード信号を記憶し、各演算回路が行う演算に対応した演算モード信号を割り当てる。
【0101】
このような構成によると、多段の演算を行う場合に、多数の描画モード信号を設定する必要がなく、情報量の少ない描画コマンドを設定すればよいので、制御が簡単で、外部から行う描画パラメータの準備や設定に係る時間が短縮される。
【0102】
(実施形態6)
さらに、本発明の実施形態6について詳しく説明する。フレームメモリはディスプレイに表示される図形情報を格納するため、大容量のメモリを必要とし、LSIに外付けで使用されることが多い。一般的に外付けのメモリは内蔵メモリに比べて書き込みや読み出しが低速である。
【0103】
これまで述べてきた実施形態における構成では、多段の演算を行うほどフレームメモリとのアクセス数が増加し、フレームメモリに対する低速なアクセスが描画性能に与える影響が大きくなる。
【0104】
本発明の実施形態6における図形描画装置は、この問題を解決するためのもので、その構成のブロック図を図12に示す。
【0105】
同図中、テクスチャメモリ2とフレームメモリ5とピクセル情報生成部7は実施形態4で説明したもの(図7参照)と同様である。
【0106】
ワークメモリ52は、存在する演算回路の段数より多段な演算を行う場合に、途中演算結果のピクセルデータを格納するためのメモリで、描画する図形の外接矩形の最小座標点を原点とする。
【0107】
フレームメモリ5が大容量の外付けメモリであるのに対し、ワークメモリ52は最大図形の外接矩形領域分のピクセルデータを格納すればよいので、小容量の内蔵メモリである。
【0108】
第1ピクセル演算部53は、実施形態4で説明した第1ピクセル演算部40のフレームデータを、ワークメモリ52に予め格納されているピクセルデータであるワークデータに置き換えた構成で、外部から入力される第1演算モード信号54に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第1ピクセルデータとして出力する。
【0109】
第1演算モード信号54は、実施形態4で説明した第1演算モード信号41のフレームデータをワークデータに置き換えた構成である。
【0110】
第2ピクセル演算部55は、実施形態4で説明した第2ピクセル演算部30のフレームデータを、ワークデータに置き換えた構成で、外部から入力される第1演算モード信号56に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第2ピクセルデータとして出力する。
【0111】
第2演算モード信号56は、実施形態4で説明した第1演算モード信号31のフレームデータをワークデータに置き換えた構成である。
【0112】
尚、第1演算モード信号54と第2演算モード信号56とは、外部から入力されてもよいし、実施形態5で説明したように描画コマンド50に基づき演算モード信号供給部51によって与えられてもよい。
【0113】
オフセット57は、描画する図形の外接矩形の最小X,Y座標値であり、原点からの平行移動量である。
【0114】
ワークメモリインターフェース部58は、ワークメモリ52から、ピクセル情報生成部7から出力されたX,Y座標にオフセット57のX,Y値をそれぞれ減算して得られたX,Y座標に対応するワークデータを読み出す。
【0115】
また、ワークメモリインターフェース部58は、ワークメモリ52に対して、ピクセル情報生成部7から出力されたX,Y座標にオフセット57のX,Y値をそれぞれ減算して得られたX,Y座標に対応する場所に第2ピクセルデータを書き込む。
【0116】
ここで、ピクセル情報生成部7から出力されたX,Y座標にオフセット57のX,Y値をそれぞれ減算して得られたX,Y座標が用いられるのは、ピクセル情報生成部7から出力されたX,Y座標はフレームメモリ5上の座標で、これをワークメモリ52上の座標に変換するためである。
【0117】
尚、第1演算モード信号54又は第2演算モード信号56がワークデータを用いない設定である場合は、ワークメモリインターフェース部58は、ワークメモリ52からワークデータを読み出す処理は行わず、第1演算モード信号54又は第2演算モード信号56がワークデータを用いる設定である場合は、ワークメモリインターフェース部58は、ワークメモリ52に対して第2ピクセルデータを書き込む前に、ワークメモリ52からワークデータを読み出す処理を行う。
【0118】
フレームメモリインターフェース部59は、第2ピクセル演算部55が最終段の演算をしている場合のみ、フレームメモリ5に対して、ピクセル情報生成部7から出力されたX,Y座標に対応する場所に第2ピクセルデータを書き込む。
【0119】
尚、図形を描画する前のフレームデータを必要とする場合は、図形描画を開始する前に、描画しようとする図形の外接矩形領域分のフレームデータをフレームメモリ5からワークメモリ52に予め転送しておけばよい。
【0120】
このような構成によると、多段の演算を行う場合、途中演算結果を高速なワークメモリ52に展開し、最終段の演算結果のみ低速なフレームメモリ5に書き込むことにより、途中演算結果をフレームメモリ5に展開する構成に比べて高速になる。
【0121】
また、3段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、それぞれの演算回路にワークデータを反映させ、最後段の演算結果をワークメモリ及びフレームメモリに書き込むようにすればよい。
【0122】
ここで、実施形態6の構成の場合、処理が高速になるという効果について、図13を用いて説明する。図13は、実施形態4及び実施形態6で2段分の演算回路が存在する構成で6段の演算を行う場合の処理時間の目安を示す図で、図13(a)は実施形態4の場合を、また図13(b)は実施形態6の場合をそれぞれ示す。
【0123】
同図中、(1)の期間は1段目の演算回路に関係する処理期間を示し、(2)の期間は2段目の演算回路に関係する処理期間を示す。また、EXEは演算を実行することを意味し、FWはフレームメモリへピクセルデータを書き込むことを意味し、FRはフレームメモリからフレームデータを読み出すことを意味し、WWはワークメモリへピクセルデータを書き込むことを意味し、WRはワークメモリからワークデータを読み出すことを意味する。
【0124】
フレームメモリへの書き込みに係る時間とフレームメモリからの読み出しに係る時間とが略同じであり、また、ワークメモリへの書き込みに係る時間とワークメモリからの読み出しに係る時間が略同じであるとし、フレームメモリへの書き込み及び読み出しに係る時間がワークメモリへの書き込み及び読み出しに係る時間よりも長いとすると、EXE,FW,FR,WW,WRを組み合わせた処理時間の大小の目安は以下のようになる。
(EXE)<(WR+EXE)≒(EXE+WW)<(FR+EXE)≒(EXE+FW)
【0125】
実施形態4の構成では、前にも述べたように、3段目以降の演算は、1段目の演算回路にフレームメモリから読み出したフレームデータを反映させ、1段目の演算結果を2段目の演算回路に反映させて得られた演算結果をフレームメモリに書き込むことになる。6段の演算を行う場合、図13(a)が示すようにフレームメモリに書き込む処理が3段、フレームメモリから読み出す処理が2段となる。
【0126】
実施形態6の構成では、途中演算結果は高速なワークメモリに展開し、最終段の演算結果のみ低速なフレームメモリに書き込むようになっており、3段目以降の演算は、1段目の演算回路にワークメモリから読み出したワークデータを反映させ、1段目の演算結果を2段目の演算回路に反映させて得られた演算結果をワークメモリに書き込む。そして、最終段である6段目の演算結果のみフレームメモリに書き込む。6段の演算を行う場合、図13(b)が示すようにワークメモリに書き込む処理が2段、ワークメモリから読み出す処理が2段、フレームメモリに書き込む処理が1段となり、フレームメモリへの書き込み読み出し時間よりもワークメモリへの書き込み読み出し時間の方が短いため、高速に処理できることが判る。
【0127】
(実施形態7)
本発明の実施形態7について詳しく説明する。本実施形態における内蔵メモリを用いた図形描画装置の構成のブロック図を図14に示す。
【0128】
同図中、テクスチャメモリ2とフレームメモリ5とピクセル情報生成部7と第1ピクセル演算部53と第1演算モード信号54と第2ピクセル演算部55と第2演算モード信号56は実施形態6で説明したもの(図12参照)と同様である。
【0129】
第1ワークメモリ60と第2ワークメモリ61とは、それぞれ異なる図形について途中演算結果及び最終演算結果のピクセルデータを格納するためのメモリで、描画する図形の外接矩形の最小座標点を原点とする。また、第1ワークメモリ60と第2ワークメモリ61とは、実施形態6のワークメモリ52と同様、最大図形の外接矩形領域分のピクセルデータを格納すればよいので、小容量の内蔵メモリである。
【0130】
第1オフセット62は、第1ワークメモリ60を用いる際に描画する図形の外接矩形の最小X,Y座標値であり、原点からの平行移動量である。
【0131】
第2オフセット63は、第2ワークメモリ61を用いる際に描画する図形の外接矩形の最小X,Y座標値であり、原点からの平行移動量である。
【0132】
ワークメモリインターフェース部64は、第1ワークメモリ60に対して処理を行う場合、ピクセル情報生成部7から出力されたX,Y座標に第1オフセット62のX,Y値をそれぞれ減算して得られたX,Y座標に対応する場所でワークデータを読み出したり、第2ピクセルデータを書き込む。
【0133】
また、ワークメモリインターフェース部64は、第2ワークメモリ61に対して処理を行う場合、ピクセル情報生成部7から出力されたX,Y座標に第2オフセット63のX,Y値をそれぞれ減算して得られたX,Y座標に対応する場所でワークデータを読み出したり、第2ピクセルデータを書き込む。
【0134】
ここで、ピクセル情報生成部7から出力されたX,Y座標に第1オフセット60及び第2オフセット61のX,Y値をそれぞれ減算して得られたX,Y座標が用いられるのは、実施形態6と同様、フレームメモリ5上の座標を第1ワークメモリ60及び第2ワークメモリ61上の座標に変換するためである。以上の処理は、図形の演算を実行する際に行われる。
【0135】
さらに、ワークメモリインターフェース部64は、フレームメモリ5から読み出された描画する図形の外接矩形領域に存在する全てのフレームデータを第1ワークメモリ60又は第2ワークメモリ61に書き込む。この際、外接矩形領域の最小座標がワークメモリの原点になるようにする。
【0136】
また、ワークメモリインターフェース部64は、第1ワークメモリ60又は第2ワークメモリ61から、演算が終了した図形の外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリインターフェース部に送る。
【0137】
尚、ワークメモリインターフェース部64は、図形の演算を実行する際に行う処理に用いるワークメモリと外接矩形領域について行う処理に用いるワークメモリは、別々のワークメモリを同時に用いる。
【0138】
フレームメモリインターフェース部65は、描画する図形の外接矩形領域に存在する全てのフレームデータをフレームメモリ5から読み出し、ワークメモリインターフェース部64に送る。
【0139】
また、フレームメモリインターフェース部65は、第1ワークメモリ60又は第2ワークメモリ61から読み出された演算が終了した図形の外接矩形領域に存在する全てのワークデータをフレームメモリ5の描画位置に対して書き込む。
【0140】
矩形転送制御部66は、ワークメモリインターフェース部64やフレームメモリインターフェース部65に対して、図形の外接矩形領域転送に関わる制御を行い、第1ワークメモリ60と第2ワークメモリ61に対する描画演算処理と外接矩形転送処理の割り当てを決定する。
【0141】
次に、実施形態7における動作について説明する。図15は、実施形態7における図形描画装置で図形A〜図形Dのそれぞれ異なる4つの図形を描画する場合の動作タイミングを示す図である。
【0142】
同図中、上段のタイミングチャートは第1ワークメモリ60に対する処理、下段のタイミングチャートは第2ワークメモリ61に対する処理を示す。以下、各タイミングについて説明する。
【0143】
[S100]では、フレームメモリ5から、図形Aを描画しようとする位置における図形Aの外接矩形領域に存在するフレームデータを読み出し、第1ワークメモリ60に書き込む。
【0144】
[S101]では、図形Aの描画演算処理を、第1ワークメモリ60を用いて行う。一方、それと並行して、フレームメモリ5から、図形Bを描画しようとする位置における図形Bの外接矩形領域に存在するフレームデータを読み出し、第2ワークメモリ61に書き込む。
【0145】
図形Aの最終演算結果が第1ワークメモリ60に書き込まれ、かつ、フレームデータが第2ワークメモリ61に書き込まれたら、次の[S102]へ進む。
【0146】
[S102]では、図形Bの描画演算処理を、第2ワークメモリ61を用いて行う。一方、それと並行して、第1ワークメモリ60から演算が終了した図形Aの外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリ5の描画位置に書き込み、これで図形Aの描画が完了する。
【0147】
その後、フレームメモリ5から、図形Cを描画しようとする位置における図形Cの外接矩形領域に存在するフレームデータを読み出し、第1ワークメモリ60に書き込む。
【0148】
図形Bの最終演算結果が第2ワークメモリ61に書き込まれ、かつ、フレームデータが第1ワークメモリ60に書き込まれたら、次の[S103]へ進む。
【0149】
[S103]では、図形Cの描画演算処理を、第1ワークメモリ60を用いて行う。一方、それと並行して、第2ワークメモリ61から演算が終了した図形Bの外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリ5の描画位置に書き込み、これで図形Bの描画が完了する。
【0150】
その後、フレームメモリ5から、図形Dを描画しようとする位置における図形Dの外接矩形領域に存在するフレームデータを読み出し、第2ワークメモリ61に書き込む。
【0151】
図形Cの最終演算結果が第1ワークメモリ60に書き込まれ、かつ、フレームデータが第2ワークメモリ61に書き込まれたら、次の[S104]へ進む。
【0152】
[S104]では、図形Dの描画演算処理を、第2ワークメモリ61を用いて行う。一方、それと並行して、第1ワークメモリ60から演算が終了した図形Cの外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリ5の描画位置に書き込み、これで図形Cの描画が完了する。
【0153】
図形Dの最終演算結果が第2ワークメモリ61に書き込まれ、かつ、図形Cのワークデータがフレームメモリ5に書き込まれたら、次の[S105]へ進む。
【0154】
[S105]では、第2ワークメモリ61から演算が終了した図形Dの外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリ5の描画位置に書き込み、これで図形Dの描画が完了する。
【0155】
このような構成によると、複数の図形を描画する場合、ある図形の演算を最終段まで高速なワークメモリに対して行うのと並行して、別の図形について低速なフレームメモリとの転送を行うので、高速に複数の図形を描画できる。
【0156】
また、3段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、それぞれの演算回路に第1ワークメモリ60又は第2ワークメモリ61のワークデータを反映させ、最後段の演算結果を第1ワークメモリ60又は第2ワークメモリ61に書き込むようにすればよい。
【0157】
尚、描画順が連続する2つの図形の外接矩形が重なる場合、前の図形の描画結果が後の図形の演算に反映できないが、これは、描画順が連続する2つの図形の外接矩形が重なるかどうか予め判定し、もし重なれば、後の図形の描画順を遅らせて、描画順が連続する2つの図形の外接矩形が重ならないようにすればよい。
【0158】
【発明の効果】
以上説明したように、本発明によると、同じ演算回路を用いて演算内容や入力する変数を自由に変更できるので、描画機能毎の専用の演算回路が不要となり、少ない回路規模で多機能な描画が可能である。
【0159】
また、この演算回路を複数段設け、前段の演算結果を後段の演算に反映すれば、より多機能な描画が可能である。
【0160】
さらに、演算を多段にすることにより、回路規模が増えることに対しては、フレームメモリから演算結果を読み出して、次の演算に反映させることにより、演算回路の段数が少なくても多機能の描画が可能である。
【0161】
また、演算を多段にすることで、演算回路に対する設定量が増加して制御が複雑になることに対しては、情報量の少ない描画コマンドに基づいて演算回路に対する設定を行うことにより、外部から行う描画パラメータの準備や設定に係る時間が短縮される。
【0162】
多段演算を行う際、途中演算結果を低速なフレームメモリではなく高速なワークメモリに展開することにより、高速に演算処理が行える。
【0163】
また、ワークメモリを2つ設け、ある図形の描画演算処理と、別の図形の外接矩形領域転送を別々のワークメモリで並列に行うことにより、複数の図形を高速に描画できる。
【図面の簡単な説明】
【図1】 本発明の実施形態1における図形描画装置の構成を示すブロック図である。
【図2】 本発明の実施形態1における各演算入力選択部が演算器に対する入力値を選択する割り当てを示す図である。
【図3】 本発明の実施形態2における図形描画装置の構成を示すブロック図である。
【図4】 本発明の実施形態2における各演算入力選択部が演算器に対する入力値を選択する割り当てを示す図である。
【図5】 本発明の実施形態3における図形描画装置の構成を示すブロック図である。
【図6】 本発明の実施形態3における各演算入力選択部が演算器に対する入力値を選択する割り当てを示す図である。
【図7】 本発明の実施形態4における図形描画装置の構成を示すブロック図である。
【図8】 本発明の実施形態4における各演算入力選択部が演算器に対する入力値を選択する割り当てを示す図である。
【図9】 本発明の実施形態3及び実施形態4で2段分の演算回路が存在する構成で6段の演算を行う場合の処理時間の目安を示す図である。
【図10】 本発明の実施形態5における図形描画装置の構成を示すブロック図である。
【図11】 各描画機能に対する描画コマンドと、第1演算モード信号及び第2演算モード信号との割り当て例を示す図である。
【図12】 本発明の実施形態6における図形描画装置の構成を示すブロック図である。
【図13】 本発明の実施形態4及び実施形態6で2段分の演算回路が存在する構成で6段の演算を行う場合の処理時間の目安を示す図である。
【図14】 本発明の実施形態7における図形描画装置の構成を示すブロック図である。
【図15】 本発明の実施形態7における動作タイミングを示す図である。
【図16】 図形に対してテクスチャマッピングとグーローシェーディングを行うための従来の構成を示す図である。
【図17】 描画しようとする三角形を示す図である。
【図18】 三角形のピクセル情報生成処理の概念を示す図である。
【図19】 三角形のピクセル情報生成処理のフローチャートである。
【符号の説明】
1,7 ピクセル情報生成部
2 テクスチャメモリ
3,14,15,26,27,36,37,46,47 乗算器
4,16,28,38,48 加算器
5 フレームメモリ
6,17,29,39,49 メモリインターフェース部
8 ピクセル演算部
9 演算モード信号
10,11,12,13,22,23,24,25 演算入力選択部
32,33,34,35,42,43,44,45 演算入力選択部
18,40,53 第1ピクセル演算部
19,41,54 第1演算モード信号
20,30,55 第2ピクセル演算部
21,31,56 第2演算モード信号
50 描画コマンド
51 演算モード信号供給部
52 ワークメモリ
57 オフセット
58,64 ワークメモリインターフェース部
59,65 フレームメモリインターフェース部
60 第1ワークメモリ
61 第2ワークメモリ
62 第1オフセット
63 第2オフセット
66 矩形転送制御部
Claims (11)
- 図形を構成する各ピクセルのX,Y座標に対応した描画パラメータを生成する描画情報生成部と、
最前段にあっては、ピクセル毎に前記描画パラメータと定数とから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータと定数と前段側の演算結果とから任意に選択して演算を行い、さらに最後段にあっては、前記描画パラメータと定数と前段側の演算結果と着目するピクセルの座標に対応するフレームメモリ上のピクセルデータであるフレームデータとから任意に選択して演算を行う複数のピクセル演算部と、
前記フレームデータをフレームメモリから読み出し、前記最後段のピクセル演算部の演算結果をフレームメモリに書き込むメモリインターフェース部とを備え、
ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をフレームメモリに展開した後、同じ描画位置でフレームデータを最後段のピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されている
ことを特徴とする図形描画装置。 - 図形を構成する各ピクセルのX,Y座標に対応した描画パラメータを生成する描画情報生成部と、
最前段にあっては、ピクセル毎に前記描画パラメータと定数と着目するピクセルの座標に対応するフレームメモリ上のピクセルデータであるフレームデータとから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータと定数と前段側の演算結果と前記フレームデータとから任意に選択して演算を行う複数のピクセル演算部と、
前記フレームデータをフレームメモリから読み出し、前記最後段のピクセル演算部の演算結果をフレームメモリに書き込むメモリインターフェース部とを備え、
ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をフレームメモリに展開した後、同じ描画位置でフレームデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されている
ことを特徴とする図形描画装置。 - 内蔵メモリであるワークメモリと、
図形を構成する各ピクセルのX,Y座標に対応した描画パラメータを生成する描画情報生成部と、
最前段にあっては、ピクセル毎に前記描画パラメータと定数と着目するピクセルの座標に対応するワークメモリ上のピクセルデータであるワークデータとから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータと定数と前段側の演算結果と前記ワークデータとから任意に選択して演算を行う複数のピクセル演算部と、
前記ワークデータをワークメモリから読み出し、前記最後段のピクセル演算部の演算結果をワークメモリに書き込むワークメモリインターフェース部と、
前記最後段のピクセル演算部の演算結果のうち、最終段の演算結果のみフレームメモリに書き込むフレームメモリインターフェース部とを備えた
ことを特徴とする図形描画装置。 - ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をワークメモリに展開した後、同じ描画位置でワークデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されている
ことを特徴とする請求項3記載の図形描画装置。 - 描画する図形の外接矩形の最小X,Y座標値をワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標をワークメモリ上の座標に変換してワークメモリとアクセスするように構成されている
ことを特徴とする請求項3記載の図形描画装置。 - 図形を描画する前のフレームデータを演算に用いるときには、図形描画を開始する前に描画しようとする図形の外接矩形領域分のフレームデータをフレームメモリからワークメモリに予め転送しておくように構成されている
ことを特徴とする請求項3記載の図形描画装置。 - 内蔵メモリである第1及び第2ワークメモリと、
図形を構成する各ピクセルのX,Y座標に対応した描画パラメータを生成する描画情報生成部と、
最前段にあっては、ピクセル毎に前記描画パラメータと定数と第1又は第2ワークメモリ上のワークデータとから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータと定数と前段側の演算結果と前記ワークデータとから任意に選択して演算を行う複数のピクセル演算部と、
描画演算処理を行う間、前記ワークデータを第1又は第2ワークメモリから読み出し、前記最後段のピクセル演算部の演算結果を第1又は第2ワークメモリに書き込み、さらに描画演算処理と並行して、フレームメモリから読み出された描画する図形の外接矩形領域に存在する全てのフレームデータを第1又は第2ワークメモリに書き込み、第1又は第2ワークメモリから演算が終了した図形の外接矩形領域に存在する全てのワークデータを読み出すワークメモリインターフェース部と、
描画する図形の外接矩形領域に存在する全てのフレームデータをフレームメモリから読み出し、第1又は第2ワークメモリから読み出された演算が終了した図形の外接矩形領域に存在する全てのワークデータをフレームメモリの描画位置に対して書き込むフレームメモリインターフェース部と、
前記ワークメモリインターフェース部又は前記フレームメモリインターフェース部に対して、図形の外接矩形領域転送に関わる制御を行い、第1及び第2ワークメモリに対する描画演算処理と外接矩形転送処理の割り当てとを決定する矩形転送制御部とを備えた
ことを特徴とする図形描画装置。 - ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果を第1又は第2ワークメモリに展開した後、同じ描画位置でワークデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されている
ことを特徴とする請求項7記載の図形描画装置。 - 第1ワークメモリを用いる際に描画する図形の外接矩形の最小X,Y座標値を第1ワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標を第1ワークメモリ上の座標に変換して第1ワークメモリとアクセスする一方、第2ワークメモリを用いる際に描画する図形の外接矩形の最小X,Y座標値を第2ワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標を第2ワークメモリ上の座標に変換して第2ワークメモリとアクセスするように構成されている
ことを特徴とする請求項7記載の図形描画装置。 - 描画順が連続する2つの図形の外接矩形が重なるかどうか予め判定して、重なるときには、後の図形の描画順を遅らせて、描画順が連続する2つの図形の外接矩形が重ならないように構成されている
ことを特徴とする請求項7記載の図形描画装置。 - 描画機能毎にコード化された描画コマンドに基づいて各ピクセル演算部が演算に用いるパラメータを選択するための演算モード信号を各ピクセル演算部に供給する演算モード信号供給部を備えた
ことを特徴とする請求項1、2、3又は7記載の図形描画装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002111905A JP4136432B2 (ja) | 2002-04-15 | 2002-04-15 | 図形描画装置 |
US10/376,291 US6965382B2 (en) | 2002-04-15 | 2003-03-03 | Graphic image rendering apparatus |
CNB031104339A CN100435128C (zh) | 2002-04-15 | 2003-04-15 | 图形描绘装置 |
US11/148,381 US7075549B2 (en) | 2002-04-15 | 2005-06-09 | Graphic image rendering apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002111905A JP4136432B2 (ja) | 2002-04-15 | 2002-04-15 | 図形描画装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003308537A JP2003308537A (ja) | 2003-10-31 |
JP2003308537A5 JP2003308537A5 (ja) | 2005-09-15 |
JP4136432B2 true JP4136432B2 (ja) | 2008-08-20 |
Family
ID=28786658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002111905A Expired - Lifetime JP4136432B2 (ja) | 2002-04-15 | 2002-04-15 | 図形描画装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US6965382B2 (ja) |
JP (1) | JP4136432B2 (ja) |
CN (1) | CN100435128C (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4692956B2 (ja) * | 2004-11-22 | 2011-06-01 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置および描画処理方法 |
US20070135202A1 (en) * | 2005-12-13 | 2007-06-14 | Cyberscan Technology, Inc. | Gaming sidekick |
JP4856445B2 (ja) * | 2006-02-22 | 2012-01-18 | ルネサスエレクトロニクス株式会社 | 画像合成装置及びその画像合成方法 |
CN101416216B (zh) * | 2006-03-30 | 2012-11-21 | 日本电气株式会社 | 并行图像处理系统控制方法和设备 |
KR100803216B1 (ko) | 2006-09-28 | 2008-02-14 | 삼성전자주식회사 | 3차원 그래픽 데이터를 저작하는 방법 및 장치 |
CN101630501B (zh) * | 2008-07-14 | 2011-11-16 | 比亚迪股份有限公司 | 一种图像显示方法及系统 |
JP5051156B2 (ja) * | 2009-03-05 | 2012-10-17 | カシオ計算機株式会社 | 画像処理装置及びプログラム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US138136A (en) * | 1873-04-22 | Improvement in devices for holding cutter-bars in grinding | ||
US5243551A (en) * | 1989-05-17 | 1993-09-07 | The Secretary Of State For Defence In Her Britannic Majesty's Government Of The United Kingdom Of Great Britain And Northern Ireland | Processor suitable for recursive computations |
JP3546437B2 (ja) * | 1993-03-31 | 2004-07-28 | ソニー株式会社 | 適応形ビデオ信号演算処理装置 |
JPH07141325A (ja) * | 1993-11-17 | 1995-06-02 | Oki Electric Ind Co Ltd | 信号処理装置 |
DE4344157A1 (de) * | 1993-12-23 | 1995-06-29 | Philips Patentverwaltung | Funkgerät |
JPH0822556A (ja) | 1994-07-08 | 1996-01-23 | Ricoh Co Ltd | テクスチャマッピング装置 |
JPH0830577A (ja) * | 1994-07-15 | 1996-02-02 | Mitsubishi Electric Corp | Simdプロセッサ |
US5892518A (en) | 1995-07-28 | 1999-04-06 | Matsushita Electric Industrial Co., Ltd. | Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation |
DE69624578T2 (de) * | 1995-08-31 | 2003-09-04 | Intel Corporation, Santa Clara | Multiplixier-addierungsvorrichtung für gepackte daten |
DE19625569A1 (de) * | 1996-06-26 | 1998-01-02 | Philips Patentverwaltung | Signalprozessor |
US6157386A (en) * | 1997-10-10 | 2000-12-05 | Cirrus Logic, Inc | MIP map blending in a graphics processor |
US6292191B1 (en) * | 1996-12-30 | 2001-09-18 | Cirrus Logic, Inc. | Dynamically selectable MIP map blending for a software graphics engine |
JPH10269377A (ja) | 1997-03-27 | 1998-10-09 | Toshiba Corp | 表示制御システムおよび3次元グラフィクスデータの表示制御方法 |
JP4056118B2 (ja) | 1997-12-26 | 2008-03-05 | 株式会社日立製作所 | 画像処理装置 |
US6259455B1 (en) * | 1998-06-30 | 2001-07-10 | Cirrus Logic, Inc. | Method and apparatus for applying specular highlighting with specular components included with texture maps |
US6924816B2 (en) * | 2000-03-17 | 2005-08-02 | Sun Microsystems, Inc. | Compensating for the chromatic distortion of displayed images |
-
2002
- 2002-04-15 JP JP2002111905A patent/JP4136432B2/ja not_active Expired - Lifetime
-
2003
- 2003-03-03 US US10/376,291 patent/US6965382B2/en not_active Expired - Lifetime
- 2003-04-15 CN CNB031104339A patent/CN100435128C/zh not_active Expired - Lifetime
-
2005
- 2005-06-09 US US11/148,381 patent/US7075549B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7075549B2 (en) | 2006-07-11 |
US20050225555A1 (en) | 2005-10-13 |
JP2003308537A (ja) | 2003-10-31 |
US20030193507A1 (en) | 2003-10-16 |
CN1452132A (zh) | 2003-10-29 |
CN100435128C (zh) | 2008-11-19 |
US6965382B2 (en) | 2005-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101138378B1 (ko) | 화상 처리 장치 | |
JP3478568B2 (ja) | 画像データ処理方法及び装置 | |
JP3359120B2 (ja) | 画像データ処理方法及び装置 | |
JPH05307610A (ja) | テクスチャマッピング方法およびその装置 | |
JPH04222070A (ja) | コンピュータグラフィックスシステム用演算処理装置 | |
JPH09319891A (ja) | 画像処理装置及びその処理方法 | |
JPH06203179A (ja) | 画像データ処理方法及び装置 | |
US7075549B2 (en) | Graphic image rendering apparatus | |
US6549209B1 (en) | Image processing device and image processing method | |
US20020171672A1 (en) | Graphics data accumulation for improved multi-layer texture performance | |
JP2005077522A (ja) | 画像処理装置および画像処理方法 | |
US5771046A (en) | Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions | |
US6867778B2 (en) | End point value correction when traversing an edge using a quantized slope value | |
JP2003066943A (ja) | 画像処理装置及びプログラム | |
JPH09245191A (ja) | 透明度変換方法及びその装置、画像処理装置 | |
EP1288863B1 (en) | Method and device for drawing | |
JP3979162B2 (ja) | 画像処理装置およびその方法 | |
JP2007128180A (ja) | 演算処理装置 | |
US6927775B2 (en) | Parallel box filtering through reuse of existing circular filter | |
US6646650B2 (en) | Image generating apparatus and image generating program | |
EP0425573A1 (en) | Texture mapping for computer graphics display controller system | |
JP3556517B2 (ja) | 3次元画像処理装置 | |
JPH1131236A (ja) | ポリゴンデータのソート方法及びこれを用いた画像処理装置 | |
JPH06203177A (ja) | 画像データ処理方法及び装置 | |
JP3358891B2 (ja) | Z値の透視変換処理方法及び画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050405 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050405 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080401 |
|
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: 20080507 |
|
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: 20080603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4136432 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
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 |
|
EXPY | Cancellation because of completion of term |