(57)【特許請求の範囲】
【請求項１】
図形を構成する各ピクセルのＸ，Ｙ座標に対応した描画パラメータを生成する描画情報生成部と、
最前段にあっては、ピクセル毎に前記描画パラメータと定数とから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータと定数と前段側の演算結果とから任意に選択して演算を行い、さらに最後段にあっては、前記描画パラメータと定数と前段側の演算結果と着目するピクセルの座標に対応するフレームメモリ上のピクセルデータであるフレームデータとから任意に選択して演算を行う複数のピクセル演算部と、
前記フレームデータをフレームメモリから読み出し、前記最後段のピクセル演算部の演算結果をフレームメモリに書き込むメモリインターフェース部とを備え、
ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をフレームメモリに展開した後、同じ描画位置でフレームデータを最後段のピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されている
ことを特徴とする図形描画装置。
【請求項２】
図形を構成する各ピクセルのＸ，Ｙ座標に対応した描画パラメータを生成する描画情報生成部と、
最前段にあっては、ピクセル毎に前記描画パラメータと定数と着目するピクセルの座標に対応するフレームメモリ上のピクセルデータであるフレームデータとから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータと定数と前段側の演算結果と前記フレームデータとから任意に選択して演算を行う複数のピクセル演算部と、
前記フレームデータをフレームメモリから読み出し、前記最後段のピクセル演算部の演算結果をフレームメモリに書き込むメモリインターフェース部とを備え、
ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をフレームメモリに展開した後、同じ描画位置でフレームデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されている
ことを特徴とする図形描画装置。
【請求項３】
内蔵メモリであるワークメモリと、
図形を構成する各ピクセルのＸ，Ｙ座標に対応した描画パラメータを生成する描画情報生成部と、
最前段にあっては、ピクセル毎に前記描画パラメータと定数と着目するピクセルの座標に対応するワークメモリ上のピクセルデータであるワークデータとから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータと定数と前段側の演算結果と前記ワークデータとから任意に選択して演算を行う複数のピクセル演算部と、
前記ワークデータをワークメモリから読み出し、前記最後段のピクセル演算部の演算結果をワークメモリに書き込むワークメモリインターフェース部と、
前記最後段のピクセル演算部の演算結果のうち、最終段の演算結果のみフレームメモリに書き込むフレームメモリインターフェース部とを備えた
ことを特徴とする図形描画装置。
【請求項４】
ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をワークメモリに展開した後、同じ描画位置でワークデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されている
ことを特徴とする請求項３記載の図形描画装置。
【請求項５】
描画する図形の外接矩形の最小Ｘ，Ｙ座標値をワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標をワークメモリ上の座標に変換してワークメモリとアクセスするように構成されている
ことを特徴とする請求項３記載の図形描画装置。
【請求項６】
図形を描画する前のフレームデータを演算に用いるときには、図形描画を開始する前に描画しようとする図形の外接矩形領域分のフレームデータをフレームメモリからワークメモリに予め転送しておくように構成されている
ことを特徴とする請求項３記載の図形描画装置。
【請求項７】
内蔵メモリである第１及び第２ワークメモリと、
図形を構成する各ピクセルのＸ，Ｙ座標に対応した描画パラメータを生成する描画情報生成部と、
最前段にあっては、ピクセル毎に前記描画パラメータと定数と第１又は第２ワークメモリ上のワークデータとから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータと定数と前段側の演算結果と前記ワークデータとから任意に選択して演算を行う複数のピクセル演算部と、
描画演算処理を行う間、前記ワークデータを第１又は第２ワークメモリから読み出し、前記最後段のピクセル演算部の演算結果を第１又は第２ワークメモリに書き込み、さらに描画演算処理と並行して、フレームメモリから読み出された描画する図形の外接矩形領域に存在する全てのフレームデータを第１又は第２ワークメモリに書き込み、第１又は第２ワークメモリから演算が終了した図形の外接矩形領域に存在する全てのワークデータを読み出すワークメモリインターフェース部と、
描画する図形の外接矩形領域に存在する全てのフレームデータをフレームメモリから読み出し、第１又は第２ワークメモリから読み出された演算が終了した図形の外接矩形領域に存在する全てのワークデータをフレームメモリの描画位置に対して書き込むフレームメモリインターフェース部と、
前記ワークメモリインターフェース部又は前記フレームメモリインターフェース部に対して、図形の外接矩形領域転送に関わる制御を行い、第１及び第２ワークメモリに対する描画演算処理と外接矩形転送処理の割り当てとを決定する矩形転送制御部とを備えた
ことを特徴とする図形描画装置。
【請求項８】
ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果を第１又は第２ワークメモリに展開した後、同じ描画位置でワークデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されている
ことを特徴とする請求項７記載の図形描画装置。
【請求項９】
第１ワークメモリを用いる際に描画する図形の外接矩形の最小Ｘ，Ｙ座標値を第１ワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標を第１ワークメモリ上の座標に変換して第１ワークメモリとアクセスする一方、第２ワークメモリを用いる際に描画する図形の外接矩形の最小Ｘ，Ｙ座標値を第２ワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標を第２ワークメモリ上の座標に変換して第２ワークメモリとアクセスするように構成されている
ことを特徴とする請求項７記載の図形描画装置。
【請求項１０】
描画順が連続する２つの図形の外接矩形が重なるかどうか予め判定して、重なるときには、後の図形の描画順を遅らせて、描画順が連続する２つの図形の外接矩形が重ならないように構成されている
ことを特徴とする請求項７記載の図形描画装置。
【請求項１１】
描画機能毎にコード化された描画コマンドに基づいて各ピクセル演算部が演算に用いるパラメータを選択するための演算モード信号を各ピクセル演算部に供給する演算モード信号供給部を備えた
ことを特徴とする請求項１、２、３又は７記載の図形描画装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・グラフィックスの分野において図形を描画する装置に関するものであり、特に、図形を構成する各ピクセルの色を演算するものに関する。
【０００２】
【従来の技術】
近年のゲーム機やカーナビゲーションの高度化に伴い、図形を単色で描画するだけでなく、テクスチャマッピングを施したり、或いは、図形の各頂点間の色を補間するグーローシェーディングや、背景色との透明処理を行うアルファブレンディング等、図形を構成する各ピクセルに対して様々な処理を行うことがよくある。
【０００３】
尚、テクスチャマッピングやグーローシェーディングについての詳細は、James D.Foley，Andries van Dam，Steven K.Feiner，John F.Hughes共著、佐藤義雄監訳の「コンピュータグラフィックス理論と実践」を参照することができる。
【０００４】
図形に対してテクスチャマッピングとグーローシェーディングとを行うための従来の構成を図１６に示す。ピクセル情報生成部１は、描画対象となる図形の各頂点に与えられたＸ，Ｙ座標、テクスチャ座標であるＵ，Ｖ、輝度を表すＲ，Ｇ，Ｂといったパラメータを基に、図形を構成する各ピクセルのＸ，Ｙ座標に対応したＵ，ＶやＲ，Ｇ，Ｂを生成する。尚、Ｒ，Ｇ，Ｂはそれぞれ０．０〜１．０の範囲で取り扱うものとする。
【０００５】
ここで、図１７に示す三角形を例に、ピクセル情報生成部１が図形を構成する各ピクセルの値を生成する処理内容を説明する。図１７に示す三角形は、各頂点に（Ｘ，Ｙ，Ｕ，Ｖ，Ｒ，Ｇ，Ｂ）が与えられている。頂点Ｐ１は、（Ｘ，Ｙ，Ｕ，Ｖ，Ｒ，Ｇ，Ｂ）＝（Ｘ１，Ｙ１，Ｕ１，Ｖ１，Ｒ１，Ｇ１，Ｂ１）であり、また頂点Ｐ２は、（Ｘ，Ｙ，Ｕ，Ｖ，Ｒ，Ｇ，Ｂ）＝（Ｘ２，Ｙ２，Ｕ２，Ｖ２，Ｒ２，Ｇ２，Ｂ２）であり、さらに頂点Ｐ３は、（Ｘ，Ｙ，Ｕ，Ｖ，Ｒ，Ｇ，Ｂ）＝（Ｘ３，Ｙ３，Ｕ３，Ｖ３，Ｒ３，Ｇ３，Ｂ３）である。尚、Ｙ２とＹ３とは等しいものとする。
【０００６】
ピクセル情報生成処理の概念を図１８に示す。該処理はＹ座標が最も小さい頂点Ｐ１から開始され、各Ｙ座標毎に図形の左辺及び右辺のＸ座標を求める。その際、左辺に対応するＵ，Ｖ，Ｒ，Ｇ，Ｂの値も求める。着目するＹ座標の左辺の各値が求まった後、左辺のＸ座標から右辺のＸ座標までＸ軸に平行方向にＸ座標をインクリメントするとともに、対応するＵ，Ｖ，Ｒ，Ｇ，Ｂの値も求める。以上の処理を最終Ｙ座標であるＹ２まで行い、処理を終了する。
【０００７】
次に、図１９に示すフローチャートを参照しながらピクセル情報生成処理の流れを詳しく説明する。まず、同図中に示すパラメータを以下のように定義する。
【０００８】
ｄＸＬ/ｄＹ＝（Ｘ２-Ｘ１）/（Ｙ２-Ｙ１）
ｄＸＲ/ｄＹ＝（Ｘ３-Ｘ１）/（Ｙ２-Ｙ１）
ｄＵ/ｄＹ＝（Ｕ２-Ｕ１）/（Ｙ２-Ｙ１）
ｄＵ/ｄＸ＝（Ｕ３-Ｕ２）/（Ｘ３-Ｘ２）
ｄＶ/ｄＹ＝（Ｖ２-Ｖ１）/（Ｙ２-Ｙ１）
ｄＶ/ｄＸ＝（Ｖ３-Ｖ２）/（Ｘ３-Ｘ２）
ｄＲ/ｄＹ＝（Ｒ２-Ｒ１）/（Ｙ２-Ｙ１）
ｄＲ/ｄＸ＝（Ｒ３-Ｒ２）/（Ｘ３-Ｘ２）
ｄＧ/ｄＹ＝（Ｇ２-Ｇ１）/（Ｙ２-Ｙ１）
ｄＧ/ｄＸ＝（Ｇ３-Ｇ２）/（Ｘ３-Ｘ２）
ｄＢ/ｄＹ＝（Ｂ２-Ｂ１）/（Ｙ２-Ｙ１）
ｄＢ/ｄＸ＝（Ｂ３-Ｂ２）/（Ｘ３-Ｘ２）
【０００９】
尚、これらのパラメータはピクセル情報生成部１内部で算出してもよいし、外部で予め算出しておき、ピクセル情報生成部１に与えてもよい。また、ＸＬ，ＵＬ，ＶＬ，ＲＬ，ＧＬ，ＢＬは左辺上の各値を記憶するための変数で、左辺変数と呼ぶことにする。ＸＲは右辺上のＸ座標を記憶するための変数で、右辺変数と呼ぶことにする。そして、Ｘ，Ｙ，Ｕ，Ｖ，Ｒ，Ｇ，Ｂは図形を構成する各ピクセルの値を記憶するための変数で、ピクセル変数と呼ぶことにする。これらの値がピクセル情報生成部１から出力される。尚、これまで述べた変数は、回路上ではレジスタ等の記憶素子に記憶すると考えてよい。
【００１０】
処理が開始されると、ステップＳ１で、頂点Ｐ１の各値を左辺変数とＹ座標のピクセル変数とにそれぞれ設定し、ステップＳ２に進む。ステップＳ２では、左辺変数に記憶されている各値をピクセル変数にそれぞれ設定し、ステップＳ３に進む。このステップＳ２の時点でピクセル変数に記憶されている各値が、図形の左辺を構成するピクセルの値としてピクセル情報生成部１から出力される。
【００１１】
ステップＳ３では、Ｘ座標のピクセル変数が右辺変数と同じ値であればステップＳ５に進み、そうでなければステップＳ４に進む。ステップＳ４では、Ｘ座標のピクセル変数をインクリメントし、Ｕ，Ｖ，Ｒ，Ｇ，Ｂのピクセル変数にはＸ方向の変位をそれぞれ加算し、ステップＳ３に戻る。このステップＳ４の時点でピクセル変数に記憶されている各値が、左辺を除く図形を構成するピクセルの値としてピクセル情報生成部１から出力される。
【００１２】
ステップＳ５では、Ｙ座標のピクセル変数が頂点Ｐ２のＹ座標と同じ値であれば処理を終了し、そうでなければステップＳ６に進む。ステップＳ６では、Ｙ座標のピクセル変数をインクリメントし、左辺変数にはＹ方向の変位をそれぞれ加算し、ステップＳ２に戻る。
【００１３】
このように、ピクセル情報生成部１は図形を構成する各ピクセルのＸ，Ｙ，Ｕ，Ｖ，Ｒ，Ｇ，Ｂを生成する。
【００１４】
図１６おいて、テクスチャメモリ２は、テクスチャが格納されているメモリで、ピクセル情報生成部１から出力されたＵ，Ｖに対応するテクスチャデータを出力する。尚、該テクスチャデータは１つのデータの中にＲ，Ｇ，Ｂが含まれる。
【００１５】
乗算器３は、ピクセル情報生成部１から出力されたＲ，Ｇ，ＢとテクスチャデータのＲ，Ｇ，Ｂとをそれぞれ乗算する。
【００１６】
加算器４は、前記乗算器３から出力されたＲ，Ｇ，Ｂとバイアス値のＲ，Ｇ，Ｂとをそれぞれ加算し、図形のピクセルの色を決定するＲ，Ｇ，Ｂで構成されたピクセルデータを出力する。もし、加算結果のＲ，Ｇ，Ｂが１．０を超える場合は１．０に飽和させる。
【００１７】
フレームメモリ５は、図形を描画するためのメモリで、Ｒ，Ｇ，Ｂで構成されるピクセルデータを格納する。フレームメモリ５に展開された図形情報が図示しないディスプレイに表示される。
【００１８】
メモリインターフェース部６は、フレームメモリ５に対して、ピクセル情報生成部１から出力されたＸ，Ｙ座標に対応する場所にピクセルデータを書き込む。
【００１９】
【発明が解決しようとする課題】
図形に対してテクスチャマッピングとグーローシェーディングとを行うための従来の構成で、新たな機能としてアルファブレンディングを追加しようとした場合、グーローシェーディングで必要な演算は、
（テクスチャ）×（Ｒ，Ｇ，Ｂ）＋（バイアス値）
であるのに対して、アルファブレンディングで必要な演算は、
（１−透明度）×（テクスチャ）＋（透明度）×（背景色）
である。
【００２０】
このように、演算内容も異なれば、入力する変数も異なるので、アルファブレンディング機能を追加するには、専用の演算回路が必要であった。
【００２１】
描画機能毎に専用の演算回路を持つことは回路規模増加に繋がり、少ない回路規模では描画機能の種類を増やせないという問題があった。
【００２２】
本発明は、上記従来の問題を解決しようとするもので、機能に応じた専用回路を不要とし、少ない回路規模で多機能な描画を実現する図形描画装置を提供することを目的とする。
【００２３】
【課題を解決するための手段】
請求項１に係る発明は、図形を構成する各ピクセルのＸ，Ｙ座標に対応した描画パラメータを生成する描画情報生成部と、最前段にあっては、ピクセル毎に前記描画パラメータ及び定数から任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータ、定数、及び前段側の演算結果から任意に選択して演算を行い、さらに最後段にあっては、前記描画パラメータと定数と前段側の演算結果と着目するピクセルの座標に対応するフレームメモリ上のピクセルデータであるフレームデータとから任意に選択して演算を行う複数のピクセル演算部と、前記フレームデータをフレームメモリから読み出し、前記最後段のピクセル演算部の演算結果をフレームメモリに書き込むメモリインターフェース部とを備え、ピクセル演算部の段数よりも多い演算段数の描画を行うときに、まず、ピクセル演算部の段数で演算した結果をフレームメモリに展開した後、同じ描画位置でフレームデータを最後段のピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されていることを特徴とするものである。
【００２４】
また、請求項２に係る発明は、図形を構成する各ピクセルのＸ，Ｙ座標に対応した描画パラメータを生成する描画情報生成部と、最前段にあっては、ピクセル毎に前記描画パラメータ、定数、及び着目するピクセルの座標に対応するフレームメモリ上のピクセルデータであるフレームデータから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータ、定数、前段側の演算結果、及び前記フレームデータから任意に選択して演算を行う複数のピクセル演算部と、前記フレームデータをフレームメモリから読み出し、前記最後段のピクセル演算部の演算結果をフレームメモリに書き込むメモリインターフェース部とを備え、ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をフレームメモリに展開した後、同じ描画位置でフレームデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されていることを特徴とするものである。
【００２５】
また、請求項３に係る発明は、内蔵メモリであるワークメモリと、図形を構成する各ピクセルのＸ，Ｙ座標に対応した描画パラメータを生成する描画情報生成部と、最前段にあっては、ピクセル毎に前記描画パラメータ、定数、及び着目するピクセルの座標に対応するワークメモリ上のピクセルデータであるワークデータから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータ、定数、前段側の演算結果、及び前記ワークデータから任意に選択して演算を行う複数のピクセル演算部と、前記ワークデータをワークメモリから読み出し、前記最後段のピクセル演算部の演算結果をワークメモリに書き込むワークメモリインターフェース部と、前記最後段のピクセル演算部の演算結果のうち、最終段の演算結果のみフレームメモリに書き込むフレームメモリインターフェース部とを備えたことを特徴とするものである。
【００２６】
また、請求項４に係る発明は、請求項３に係る発明において、ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果をワークメモリに展開した後、同じ描画位置でワークデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されていることを特徴とするものである。
【００２７】
また、請求項５に係る発明は、請求項３に係る発明において、描画する図形の外接矩形の最小Ｘ，Ｙ座標値をワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標をワークメモリ上の座標に変換してワークメモリとアクセスするように構成されていることを特徴とするものである。
【００２８】
また、請求項６に係る発明は、請求項３に係る発明において、図形を描画する前のフレームデータを演算に用いるときには、図形描画を開始する前に描画しようとする図形の外接矩形領域分のフレームデータをフレームメモリからワークメモリに予め転送しておくように構成されていることを特徴とするものである。
【００２９】
また、請求項７に係る発明は、内蔵メモリである第１及び第２ワークメモリと、図形を構成する各ピクセルのＸ，Ｙ座標に対応した描画パラメータを生成する描画情報生成部と、最前段にあっては、ピクセル毎に前記描画パラメータ、定数、及び第１又は第２ワークメモリ上のワークデータから任意に選択して演算を行い、前記最前段よりも後段側にあっては、前記描画パラメータ、定数、前段側の演算結果、及び前記ワークデータから任意に選択して演算を行う複数のピクセル演算部と、描画演算処理を行う間、前記ワークデータを第１又は第２ワークメモリから読み出し、前記最後段のピクセル演算部の演算結果を第１又は第２ワークメモリに書き込み、さらに描画演算処理と並行して、フレームメモリから読み出された描画する図形の外接矩形領域に存在する全てのフレームデータを第１又は第２ワークメモリに書き込み、第１又は第２ワークメモリから演算が終了した図形の外接矩形領域に存在する全てのワークデータを読み出すワークメモリインターフェース部と、描画する図形の外接矩形領域に存在する全てのフレームデータをフレームメモリから読み出し、第１又は第２ワークメモリから読み出された演算が終了した図形の外接矩形領域に存在する全てのワークデータをフレームメモリの描画位置に対して書き込むフレームメモリインターフェース部と、前記ワークメモリインターフェース部又は前記フレームメモリインターフェース部に対して、図形の外接矩形領域転送に関わる制御を行い、第１及び第２ワークメモリに対する描画演算処理、及び外接矩形転送処理の割り当てを決定する矩形転送制御部とを備えたことを特徴とするものである。
【００３０】
また、請求項８に係る発明は、請求項７に係る発明において、ピクセル演算部の段数よりも多い演算段数の描画を行うときには、まず、ピクセル演算部の段数で演算した結果を第１又は第２ワークメモリに展開した後、同じ描画位置でワークデータを各ピクセル演算部に反映することで、前段までの演算結果に対する追加演算をするように構成されていることを特徴とするものである。
【００３１】
また、請求項９に係る発明は、請求項７に係る発明において、第１ワークメモリを用いる際に描画する図形の外接矩形の最小Ｘ，Ｙ座標値を第１ワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標を第１ワークメモリ上の座標に変換して第１ワークメモリとアクセスする一方、第２ワークメモリを用いる際に描画する図形の外接矩形の最小Ｘ，Ｙ座標値を第２ワークメモリにおける原点とし、ワークメモリインターフェース部はフレームメモリ上の座標を第２ワークメモリ上の座標に変換して第２ワークメモリとアクセスするように構成されていることを特徴とするものである。
【００３２】
また、請求項１０に係る発明は、請求項７に係る発明において、描画順が連続する２つの図形の外接矩形が重なるかどうか予め判定して、重なるときには、後の図形の描画順を遅らせて、描画順が連続する２つの図形の外接矩形が重ならないように構成されていることを特徴とするものである。
【００３３】
また、請求項１１に係る発明は、請求項１、２、３又は７に係る発明において、描画機能毎にコード化された描画コマンドに基づいて各ピクセル演算部が演算に用いるパラメータを選択するための演算モード信号を各ピクセル演算部に供給する演算モード信号供給部を備えたことを特徴とするものである。
【００３４】
【発明の実施の形態】
（実施形態１）
以下、本発明の実施形態１について詳しく説明する。図１は実施形態１における図形描画装置の構成を示すブロック図である。
【００３５】
図１中、テクスチャメモリ２とフレームメモリ５とは従来の技術で説明したもの（図１６参照）と同様のものである。
【００３６】
ピクセル情報生成部７は、従来の技術で説明したピクセル情報生成部１と同様に、描画対象となる図形の各頂点に与えられたＸ，Ｙ座標、テクスチャ座標であるＵ，Ｖ、輝度を表すＲ，Ｇ，Ｂといったパラメータを基に、図形を構成する各ピクセルのＸ，Ｙ座標に対応したＵ，ＶやＲ，Ｇ，Ｂを生成する。さらに、ピクセル情報生成部７は、透明度に用いたり輝度調整等に用いられるαを出力する。αは０．０〜１．０の範囲で取り扱うものとする。このαも、Ｕ，ＶやＲ，Ｇ，Ｂと同様の方法で図形を構成する各ピクセルのＸ，Ｙ座標に対応した値が求められる。
【００３７】
ピクセル演算部８は、ピクセル情報生成部７から出力されたピクセル毎のＲ，Ｇ，Ｂ，αと、テクスチャデータのＲ，Ｇ，Ｂと、定数ＲＧＢ(1)と、定数ＲＧＢ(2)といった値を演算の入力に用い、外部から入力される演算モード信号９に基づいて演算器に対する入力値の組み合わせを決定し、演算結果をピクセルデータとして出力する。
【００３８】
前記ピクセル演算部８の内部構造について、さらに詳しく説明する。演算入力選択部１０〜１３は、演算モード信号９に基づき、ピクセル毎のＲ，Ｇ，Ｂ，αやテクスチャデータ等から演算器に対する入力値を選択する。演算入力選択部１０，１１によって選択された値は乗算器１４で乗算され、演算入力選択部１２，１３によって選択された値は乗算器１５で乗算される。
【００３９】
演算モード信号９は、演算入力選択部１０が演算器に対する入力値を選択するための３ビットのＡ入力選択信号と、Ａ入力選択信号によって選択された値をＡとすると、Ａのまま演算器に対する入力値とするか、（１−Ａ）にして演算器に対する入力値とするかを決定するための１ビットのＡ入力変換信号と、演算入力選択部１１が演算器に対する入力値を選択するための３ビットのＢ入力選択信号と、演算入力選択部１２が演算器に対する入力値を選択するための３ビットのＣ入力選択信号と、演算入力選択部１３が演算器に対する入力値を選択するための３ビットのＤ入力選択信号とで構成される。
【００４０】
Ａ〜Ｄ入力選択信号によって、各演算入力選択部が演算器に対する入力値を選択する割り当てを図２に示す。尚、Ａ入力選択信号によって選択された値Ａは、Ａ入力変換信号が０であればＡのまま演算器に対する入力値とし、Ａ入力変換信号が１であれば（１−Ａ）にして演算器に対する入力値とする。
【００４１】
乗算器１４は、演算入力選択部１０から出力されたＲ，Ｇ，Ｂと、演算入力選択部１１から出力されたＲ，Ｇ，Ｂとをそれぞれ乗算する。尚、演算入力選択部１０，１１から出力された値が、ピクセル毎のαや定数０、定数１の場合は、それぞれをＲ，Ｇ，Ｂの乗算に用いる。
【００４２】
乗算器１５は、演算入力選択部１２から出力されたＲ，Ｇ，Ｂと、演算入力選択部１３から出力されたＲ，Ｇ，Ｂとをそれぞれ乗算する。尚、演算入力選択部１２，１３から出力された値が、ピクセル毎のαや定数０、定数１の場合は、乗算器１４と同様に、それぞれをＲ，Ｇ，Ｂの乗算に用いる。
【００４３】
加算器１６は、乗算器１４から出力されたＲ，Ｇ，Ｂと、乗算器１５から出力されたＲ，Ｇ，Ｂとをそれぞれ加算し、ピクセルデータを出力する。もし、加算結果のＲ，Ｇ，Ｂが１．０を超える場合は、１．０に飽和させる。
【００４４】
メモリインターフェース部１７は、フレームメモリ５に対して、ピクセル情報生成部７から出力されたＸ，Ｙ座標に対応する場所にピクセルデータを書き込む。
【００４５】
このような本実施形態の構成によると、同じ演算回路を用いて演算内容や入力する変数を自由に変更できるので、描画機能毎の専用の演算回路が不要となり、少ない回路規模で多機能な描画が可能である。
【００４６】
（実施形態２）
次に、本発明の実施形態２について詳しく説明する。図３は実施形態２における図形描画装置の構成を示すブロック図である。
【００４７】
同図中、テクスチャメモリ２とフレームメモリ５とピクセル情報生成部７とは実施形態１で説明したもの（図１参照）と同様である。
【００４８】
第１ピクセル演算部１８は、実施形態１で説明したピクセル演算部８と同じ構成であり、外部から入力される第１演算モード信号１９に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第１ピクセルデータとして出力する。尚、第１演算モード信号１９も、実施形態１で説明した演算モード信号９と同じである。
【００４９】
第２ピクセル演算部２０は、ピクセル毎のＲ，Ｇ，Ｂ，α、テクスチャデータのＲ，Ｇ，Ｂ、定数ＲＧＢ(1)、定数ＲＧＢ(2)、さらに第１ピクセル演算部１８の演算結果である第１ピクセルデータといった値を演算の入力に用い、外部から入力される第２演算モード信号２１に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第２ピクセルデータとして出力する。
【００５０】
前記第２ピクセル演算部２０の内部構造について、さらに詳しく説明すると、演算入力選択部２２〜２５は、第２演算モード信号２１に基づき、ピクセル毎のＲ，Ｇ，Ｂ，αやテクスチャデータ、第１ピクセルデータ等から演算器に対する入力値を選択する。演算入力選択部２２，２３によって選択された値は乗算器２６で乗算され、演算入力選択部２４，２５によって選択された値は乗算器２７で乗算される。
【００５１】
第２演算モード信号２１は、演算入力選択部２２が演算器に対する入力値を選択するための３ビットのＥ入力選択信号と、Ｅ入力選択信号によって選択された値をＥとすると、Ｅのまま演算器に対する入力値とするか、（１−Ｅ）にして演算器に対する入力値とするかを決定するための１ビットのＥ入力変換信号と、演算入力選択部２３が演算器に対する入力値を選択するための３ビットのＦ入力選択信号と、演算入力選択部２４が演算器に対する入力値を選択するための３ビットのＧ入力選択信号と、演算入力選択部２５が演算器に対する入力値を選択するための３ビットのＨ入力選択信号とで構成される。
【００５２】
Ｅ〜Ｈ入力選択信号によって、各演算入力選択部が演算器に対する入力値を選択する割り当てを図４に示す。尚、Ｅ入力選択信号によって選択された値Ｅは、Ｅ入力変換信号が０であればＥのまま演算器に対する入力値とし、Ｅ入力変換信号が１であれば（１−Ｅ）にして演算器に対する入力値とする。
【００５３】
乗算器２６は、演算入力選択部２２から出力されたＲ，Ｇ，Ｂと、演算入力選択部２３から出力されたＲ，Ｇ，Ｂとをそれぞれ乗算する。尚、演算入力選択部２２，２３から出力された値が、ピクセル毎のαや定数０、定数１の場合は、それぞれをＲ，Ｇ，Ｂの乗算に用いる。
【００５４】
乗算器２７は、演算入力選択部２４から出力されたＲ，Ｇ，Ｂと、演算入力選択部２５から出力されたＲ，Ｇ，Ｂとをそれぞれ乗算する。尚、演算入力選択部２４，２５から出力された値が、ピクセル毎のαや定数０、定数１の場合は、乗算器２６と同様に、それぞれをＲ，Ｇ，Ｂの乗算に用いる。
【００５５】
加算器２８は、乗算器２６から出力されたＲ，Ｇ，Ｂと、乗算器２７から出力されたＲ，Ｇ，Ｂとをそれぞれ加算し、第２ピクセルデータを出力する。もし、加算結果のＲ，Ｇ，Ｂが１．０を超える場合は、１．０に飽和させる。
【００５６】
メモリインターフェース部２９は、フレームメモリ５に対して、ピクセル情報生成部７から出力されたＸ，Ｙ座標に対応する場所に第２ピクセルデータを書き込む。
【００５７】
このような構成によると、実施形態１の演算回路を２段設け、前段の演算結果を後段の演算に反映できるようにしたため、演算の組み合わせが増加し、より多機能な描画が可能である。
【００５８】
尚、３段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、最後段の演算結果をフレームメモリに書き込むようにすればよい。
【００５９】
（実施形態３）
さらに、本発明の実施形態３について詳しく説明する。図５は本実施形態における図形描画装置の構成を示すブロック図である。
【００６０】
同図中、テクスチャメモリ２とフレームメモリ５とピクセル情報生成部７と第１ピクセル演算部１８と第１演算モード信号１９とは実施形態２で説明したもの（図３参照）と同様である。
【００６１】
第２ピクセル演算部３０は、ピクセル毎のＲ，Ｇ，Ｂ，α、テクスチャデータのＲ，Ｇ，Ｂ、定数ＲＧＢ(1)、定数ＲＧＢ(2)、第１ピクセル演算部１８の演算結果である第１ピクセルデータ、さらにフレームメモリ５のＸ，Ｙ座標に対応する場所に予め格納されているピクセルデータであるフレームデータといった値を演算の入力に用い、外部から入力される第２演算モード信号３１に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第２ピクセルデータとして出力する。
【００６２】
前記第２ピクセル演算部３０の内部構造について、さらに詳しく説明する。演算入力選択部３２〜３５は、第２演算モード信号３１に基づき、ピクセル毎のＲ，Ｇ，Ｂ，αやテクスチャデータ、第１ピクセルデータ、フレームデータ等から演算器に対する入力値を選択する。
【００６３】
演算入力選択部３２，３３によって選択された値は乗算器３６で乗算され、演算入力選択部３４，３５によって選択された値は乗算器３７で乗算される。
【００６４】
第２演算モード信号３１は、演算入力選択部３２が演算器に対する入力値を選択するための４ビットのＥ入力選択信号と、Ｅ入力選択信号によって選択された値をＥとすると、Ｅのまま演算器に対する入力値とするか、（１−Ｅ）にして演算器に対する入力値とするかを決定するための１ビットのＥ入力変換信号と、演算入力選択部３３が演算器に対する入力値を選択するための４ビットのＦ入力選択信号と、演算入力選択部３４が演算器に対する入力値を選択するための４ビットのＧ入力選択信号と、演算入力選択部３５が演算器に対する入力値を選択するための４ビットのＨ入力選択信号とで構成される。
【００６５】
Ｅ〜Ｈ入力選択信号によって、各演算入力選択部が演算器に対する入力値を選択する割り当てを図６に示す。尚、Ｅ入力選択信号によって選択された値Ｅは、Ｅ入力変換信号が０であればＥのまま演算器に対する入力値とし、Ｅ入力変換信号が１であれば（１−Ｅ）にして演算器に対する入力値とする。
【００６６】
乗算器３６は、演算入力選択部３２から出力されたＲ，Ｇ，Ｂと、演算入力選択部３３から出力されたＲ，Ｇ，Ｂとをそれぞれ乗算する。尚、演算入力選択部３２，３３から出力された値が、ピクセル毎のαや定数０、定数１の場合は、それぞれをＲ，Ｇ，Ｂの乗算に用いる。
【００６７】
乗算器３７は、演算入力選択部３４から出力されたＲ，Ｇ，Ｂと、演算入力選択部３５から出力されたＲ，Ｇ，Ｂとをそれぞれ乗算する。尚、演算入力選択部３４，３５から出力された値が、ピクセル毎のαや定数０、定数１の場合は、乗算器３６と同様に、それぞれをＲ，Ｇ，Ｂの乗算に用いる。
【００６８】
加算器３８は、乗算器３６から出力されたＲ，Ｇ，Ｂと、乗算器３７から出力されたＲ，Ｇ，Ｂとをそれぞれ加算し、第２ピクセルデータを出力する。もし、加算結果のＲ，Ｇ，Ｂが１．０を超える場合は、１．０に飽和させる。
【００６９】
メモリインターフェース部３９は、フレームメモリ５から、ピクセル情報生成部７から出力されたＸ，Ｙ座標に対応する場所に予め格納されているピクセルデータであるフレームデータを読み出す。また、メモリインターフェース部３９は、フレームメモリ５に対して、ピクセル情報生成部７から出力されたＸ，Ｙ座標に対応する場所に第２ピクセルデータを書き込む。
【００７０】
尚、第２演算モード信号３１がフレームデータを用いない設定である場合は、メモリインターフェース部３９は、フレームメモリ５からフレームデータを読み出す処理は行わず、第２演算モード信号３１がフレームデータを用いる設定である場合は、メモリインターフェース部３９は、フレームメモリ５に対して第２ピクセルデータを書き込む前に、フレームメモリ５からフレームデータを読み出す処理を行う。
【００７１】
このような本実施形態の構成によると、２段の演算回路の後段に、フレームメモリからの読み出しパスを設け、フレームデータを演算に反映できるようにしたため、アルファブレンディング等、より多機能な描画が可能である。
【００７２】
尚、３段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、最後段の演算にフレームデータを反映させ、最後段の演算結果をフレームメモリに書き込むようにすればよい。
【００７３】
そして、前記実施形態２においては、演算段数を増やせば、その段数分の演算回路が必要で回路規模が増大するが、実施形態３の構成では、存在する演算回路の段数よりも多い演算段数の描画を行いたい場合、まず、存在する演算回路の段数で演算した結果をフレームメモリに展開し、その後、同じ描画位置でフレームデータを最後段の演算回路に反映させることで、前段までの演算結果に対する追加演算ができる。このような追加演算を必要演算段数に達するまで行えばよい。
【００７４】
このように、演算回路を増やさずに演算段数を増やすことができるので、少ない回路規模で多機能な描画が可能である。
【００７５】
（実施形態４）
また、本発明の実施形態４について詳しく説明する。図７は実施形態４における図形描画装置の構成を示すブロック図である。
【００７６】
同図中、テクスチャメモリ２とフレームメモリ５とピクセル情報生成部７と第２ピクセル演算部３０と第２演算モード信号３１とは実施形態３で説明したもの（図５参照）と同様である。
【００７７】
第１ピクセル演算部４０は、ピクセル毎のＲ，Ｇ，Ｂ，α、テクスチャデータのＲ，Ｇ，Ｂ、定数ＲＧＢ(1)、定数ＲＧＢ(2)、さらにフレームデータといった値を演算の入力に用い、外部から入力される第１演算モード信号４１に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第１ピクセルデータとして出力する。
【００７８】
前記第１ピクセル演算部４０の内部構造について、さらに詳しく説明する。演算入力選択部４２〜４５は、第１演算モード信号４１に基づき、ピクセル毎のＲ，Ｇ，Ｂ，αやテクスチャデータ、フレームデータ等から演算器に対する入力値を選択する。
【００７９】
演算入力選択部４２，４３によって選択された値は乗算器４６で乗算され、演算入力選択部４４，４５によって選択された値は乗算器４７で乗算される。
【００８０】
第１演算モード信号４１は、演算入力選択部４２が演算器に対する入力値を選択するための３ビットのＡ入力選択信号と、Ａ入力選択信号によって選択された値をＡとすると、Ａのまま演算器に対する入力値とするか、（１−Ａ）にして演算器に対する入力値とするかを決定するための１ビットのＡ入力変換信号と、演算入力選択部４３が演算器に対する入力値を選択するための３ビットのＢ入力選択信号と、演算入力選択部４４が演算器に対する入力値を選択するための３ビットのＣ入力選択信号と、演算入力選択部４５が演算器に対する入力値を選択するための３ビットのＤ入力選択信号とで構成される。
【００８１】
Ａ〜Ｄ入力選択信号によって、各演算入力選択部が演算器に対する入力値を選択する割り当てを図８に示す。尚、Ａ入力選択信号によって選択された値Ａは、Ａ入力変換信号が０であればＡのまま演算器に対する入力値とし、Ａ入力変換信号が１であれば（１−Ａ）にして演算器に対する入力値とする。
【００８２】
乗算器４６は、演算入力選択部４２から出力されたＲ，Ｇ，Ｂと、演算入力選択部４３から出力されたＲ，Ｇ，Ｂとをそれぞれ乗算する。尚、演算入力選択部４２，４３から出力された値が、ピクセル毎のαや定数０、定数１の場合は、それぞれをＲ，Ｇ，Ｂの乗算に用いる。
【００８３】
乗算器４７は、演算入力選択部４４から出力されたＲ，Ｇ，Ｂと、演算入力選択部４５から出力されたＲ，Ｇ，Ｂとをそれぞれ乗算する。尚、演算入力選択部４４，４５から出力された値が、ピクセル毎のαや定数０、定数１の場合は、乗算器４６と同様に、それぞれをＲ，Ｇ，Ｂの乗算に用いる。
【００８４】
加算器４８は、乗算器４６から出力されたＲ，Ｇ，Ｂと、乗算器４７から出力されたＲ，Ｇ，Ｂとをそれぞれ加算し、第１ピクセルデータを出力する。もし、加算結果のＲ，Ｇ，Ｂが１．０を超える場合は、１．０に飽和させる。
【００８５】
メモリインターフェース部４９は、フレームメモリ５から、ピクセル情報生成部７から出力されたＸ，Ｙ座標に対応する場所に予め格納されているピクセルデータであるフレームデータを読み出す。また、メモリインターフェース部４９は、フレームメモリ５に対して、ピクセル情報生成部７から出力されたＸ，Ｙ座標に対応する場所に第２ピクセルデータを書き込む。
【００８６】
尚、第１演算モード信号４１又は第２演算モード信号３１がフレームデータを用いない設定である場合は、メモリインターフェース部４９は、フレームメモリ５からフレームデータを読み出す処理は行わず、第１演算モード信号４１又は第２演算モード信号３１がフレームデータを用いる設定である場合は、メモリインターフェース部４９は、フレームメモリ５に対して第２ピクセルデータを書き込む前に、フレームメモリ５からフレームデータを読み出す処理を行う。
【００８７】
このような構成によると、２段の演算回路のそれぞれに、フレームメモリからの読み出しパスを設け、フレームデータを演算に反映できるようにしたため、３段以上の追加演算をする際、１段目の演算回路にフレームデータを反映させれば、２段分の演算をフレームメモリからフレームデータを読み出すことなく行うことで、フレームメモリとのアクセス時間を削減し、高速に処理を行うことができる。
【００８８】
また、３段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、それぞれの演算回路にフレームデータを反映させ、最後段の演算結果をフレームメモリに書き込むようにすればよい。
【００８９】
ここで、実施形態４の構成の場合、処理が高速になるという効果について、図９を用いて説明する。図９は、実施形態３及び実施形態４で２段分の演算回路が存在する構成で６段の演算を行う場合の処理時間の目安を示す図で、図９（ａ）は実施形態３の場合を、また図９（ｂ）は実施形態４の場合をそれぞれ示す。
【００９０】
同図中、(1)の期間は１段目の演算回路に関係する処理期間を示し、(2)の期間は２段目の演算回路に関係する処理期間を示す。また、ＥＸＥは演算を実行することを意味し、ＦＷはフレームメモリへピクセルデータを書き込むことを意味し、ＦＲはフレームメモリからフレームデータを読み出すことを意味する。
【００９１】
フレームメモリへの書き込みに係る時間とフレームメモリからの読み出しに係る時間とが略同じであるとすると、ＥＸＥ，ＦＷ，ＦＲを組み合わせた処理時間の大小の目安は以下のようになる。
（ＥＸＥ）＜（ＦＲ+ＥＸＥ）≒（ＥＸＥ+ＦＷ）＜（ＦＲ+ＥＸＥ+ＦＷ）
【００９２】
実施形態３の構成では、フレームデータを演算に反映できるのは２段目の演算回路のみであるため、３段目以降の演算は毎回フレームメモリからフレームデータを読み出し、演算結果をフレームメモリに書き込む必要がある。６段の演算を行う場合、図９（ａ）に示すようにフレームメモリに書き込む処理が５段であり、フレームメモリから読み出す処理が４段である。
【００９３】
実施形態４の構成では，フレームデータ選択のための回路は増加するが、フレームデータをそれぞれの演算回路に反映できるため、３段目以降の演算は、１段目の演算回路にフレームメモリから読み出したフレームデータを反映させ、１段目の演算結果を２段目の演算回路に反映させて得られた演算結果をフレームメモリに書き込むことにより、フレームメモリに対する書き込み、読み出し時間を削減できる。６段の演算を行う場合、図９（ｂ）に示すようにフレームメモリに書き込む処理が３段となり、フレームメモリから読み出す処理が２段となって、高速に処理できることが判る。
【００９４】
（実施形態５）
本発明の実施形態５について詳しく説明する。これまで述べてきた実施形態における構成では、演算回路を多段に構成すればするほど、より多機能な描画ができ、多段の演算を行う際にフレームメモリとのアクセス頻度が少ないので、高速に描画できることを説明した。その反面、演算回路の構成が多段になると、演算器に対する入力を決定するための演算モード信号の設定量が増加し、制御が複雑になる。
【００９５】
本発明の実施形態５における図形描画装置は、この問題を解決するためもので、その構成のブロック図を図１０に示す。
【００９６】
同図中、描画コマンド５０と演算モード信号供給部５１と以外は実施形態４で説明したもの（図７参照）と同様である。
【００９７】
描画コマンド５０は、描画演算内容を判別するため、描画機能毎にコード化されたパラメータで、外部から供給される。
【００９８】
演算モード信号供給部５１は、前記描画コマンド５０に基づき、第１演算モード信号４１と第２演算モード３１とを生成し、第１ピクセル演算部４０と第２ピクセル演算部３０とに供給する。ここで、各描画機能に対する描画コマンド５０と、演算モード信号供給部５１で生成される第１演算モード信号４１及び第２演算モード信号３１との割り当て例を図１１に示す。勿論、同図に示されていない描画機能の割り当ても可能である。
【００９９】
図１１において、アルファブレンディングを例に挙げると、第１ピクセル演算部４０での演算内容は、
（テクスチャ）×（ピクセル毎のＲ，Ｇ，Ｂ）＋（定数ＲＧＢ(1)）×１→第１ピクセルデータ
となり、第２ピクセル演算部３０での演算内容は、
（１−ピクセル毎のα）×（第１ピクセルデータ）＋（ピクセル毎のα）×（フレームデータ）→第２ピクセルデータ
となる。
【０１００】
尚、存在する演算回路よりも多い段数の演算を行う場合、演算モード信号供給部５１は、各演算に必要な演算モード信号を記憶し、各演算回路が行う演算に対応した演算モード信号を割り当てる。
【０１０１】
このような構成によると、多段の演算を行う場合に、多数の描画モード信号を設定する必要がなく、情報量の少ない描画コマンドを設定すればよいので、制御が簡単で、外部から行う描画パラメータの準備や設定に係る時間が短縮される。
【０１０２】
（実施形態６）
さらに、本発明の実施形態６について詳しく説明する。フレームメモリはディスプレイに表示される図形情報を格納するため、大容量のメモリを必要とし、ＬＳＩに外付けで使用されることが多い。一般的に外付けのメモリは内蔵メモリに比べて書き込みや読み出しが低速である。
【０１０３】
これまで述べてきた実施形態における構成では、多段の演算を行うほどフレームメモリとのアクセス数が増加し、フレームメモリに対する低速なアクセスが描画性能に与える影響が大きくなる。
【０１０４】
本発明の実施形態６における図形描画装置は、この問題を解決するためのもので、その構成のブロック図を図１２に示す。
【０１０５】
同図中、テクスチャメモリ２とフレームメモリ５とピクセル情報生成部７は実施形態４で説明したもの（図７参照）と同様である。
【０１０６】
ワークメモリ５２は、存在する演算回路の段数より多段な演算を行う場合に、途中演算結果のピクセルデータを格納するためのメモリで、描画する図形の外接矩形の最小座標点を原点とする。
【０１０７】
フレームメモリ５が大容量の外付けメモリであるのに対し、ワークメモリ５２は最大図形の外接矩形領域分のピクセルデータを格納すればよいので、小容量の内蔵メモリである。
【０１０８】
第１ピクセル演算部５３は、実施形態４で説明した第１ピクセル演算部４０のフレームデータを、ワークメモリ５２に予め格納されているピクセルデータであるワークデータに置き換えた構成で、外部から入力される第１演算モード信号５４に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第１ピクセルデータとして出力する。
【０１０９】
第１演算モード信号５４は、実施形態４で説明した第１演算モード信号４１のフレームデータをワークデータに置き換えた構成である。
【０１１０】
第２ピクセル演算部５５は、実施形態４で説明した第２ピクセル演算部３０のフレームデータを、ワークデータに置き換えた構成で、外部から入力される第１演算モード信号５６に基づいて演算器に対する入力値の組み合わせを決定し、演算結果を第２ピクセルデータとして出力する。
【０１１１】
第２演算モード信号５６は、実施形態４で説明した第１演算モード信号３１のフレームデータをワークデータに置き換えた構成である。
【０１１２】
尚、第１演算モード信号５４と第２演算モード信号５６とは、外部から入力されてもよいし、実施形態５で説明したように描画コマンド５０に基づき演算モード信号供給部５１によって与えられてもよい。
【０１１３】
オフセット５７は、描画する図形の外接矩形の最小Ｘ，Ｙ座標値であり、原点からの平行移動量である。
【０１１４】
ワークメモリインターフェース部５８は、ワークメモリ５２から、ピクセル情報生成部７から出力されたＸ，Ｙ座標にオフセット５７のＸ，Ｙ値をそれぞれ減算して得られたＸ，Ｙ座標に対応するワークデータを読み出す。
【０１１５】
また、ワークメモリインターフェース部５８は、ワークメモリ５２に対して、ピクセル情報生成部７から出力されたＸ，Ｙ座標にオフセット５７のＸ，Ｙ値をそれぞれ減算して得られたＸ，Ｙ座標に対応する場所に第２ピクセルデータを書き込む。
【０１１６】
ここで、ピクセル情報生成部７から出力されたＸ，Ｙ座標にオフセット５７のＸ，Ｙ値をそれぞれ減算して得られたＸ，Ｙ座標が用いられるのは、ピクセル情報生成部７から出力されたＸ，Ｙ座標はフレームメモリ５上の座標で、これをワークメモリ５２上の座標に変換するためである。
【０１１７】
尚、第１演算モード信号５４又は第２演算モード信号５６がワークデータを用いない設定である場合は、ワークメモリインターフェース部５８は、ワークメモリ５２からワークデータを読み出す処理は行わず、第１演算モード信号５４又は第２演算モード信号５６がワークデータを用いる設定である場合は、ワークメモリインターフェース部５８は、ワークメモリ５２に対して第２ピクセルデータを書き込む前に、ワークメモリ５２からワークデータを読み出す処理を行う。
【０１１８】
フレームメモリインターフェース部５９は、第２ピクセル演算部５５が最終段の演算をしている場合のみ、フレームメモリ５に対して、ピクセル情報生成部７から出力されたＸ，Ｙ座標に対応する場所に第２ピクセルデータを書き込む。
【０１１９】
尚、図形を描画する前のフレームデータを必要とする場合は、図形描画を開始する前に、描画しようとする図形の外接矩形領域分のフレームデータをフレームメモリ５からワークメモリ５２に予め転送しておけばよい。
【０１２０】
このような構成によると、多段の演算を行う場合、途中演算結果を高速なワークメモリ５２に展開し、最終段の演算結果のみ低速なフレームメモリ５に書き込むことにより、途中演算結果をフレームメモリ５に展開する構成に比べて高速になる。
【０１２１】
また、３段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、それぞれの演算回路にワークデータを反映させ、最後段の演算結果をワークメモリ及びフレームメモリに書き込むようにすればよい。
【０１２２】
ここで、実施形態６の構成の場合、処理が高速になるという効果について、図１３を用いて説明する。図１３は、実施形態４及び実施形態６で２段分の演算回路が存在する構成で６段の演算を行う場合の処理時間の目安を示す図で、図１３（ａ）は実施形態４の場合を、また図１３（ｂ）は実施形態６の場合をそれぞれ示す。
【０１２３】
同図中、(1)の期間は１段目の演算回路に関係する処理期間を示し、(2)の期間は２段目の演算回路に関係する処理期間を示す。また、ＥＸＥは演算を実行することを意味し、ＦＷはフレームメモリへピクセルデータを書き込むことを意味し、ＦＲはフレームメモリからフレームデータを読み出すことを意味し、ＷＷはワークメモリへピクセルデータを書き込むことを意味し、ＷＲはワークメモリからワークデータを読み出すことを意味する。
【０１２４】
フレームメモリへの書き込みに係る時間とフレームメモリからの読み出しに係る時間とが略同じであり、また、ワークメモリへの書き込みに係る時間とワークメモリからの読み出しに係る時間が略同じであるとし、フレームメモリへの書き込み及び読み出しに係る時間がワークメモリへの書き込み及び読み出しに係る時間よりも長いとすると、ＥＸＥ，ＦＷ，ＦＲ，ＷＷ，ＷＲを組み合わせた処理時間の大小の目安は以下のようになる。
（ＥＸＥ）＜（ＷＲ+ＥＸＥ）≒（ＥＸＥ+ＷＷ）＜（ＦＲ+ＥＸＥ）≒（ＥＸＥ+ＦＷ）
【０１２５】
実施形態４の構成では、前にも述べたように、３段目以降の演算は、１段目の演算回路にフレームメモリから読み出したフレームデータを反映させ、１段目の演算結果を２段目の演算回路に反映させて得られた演算結果をフレームメモリに書き込むことになる。６段の演算を行う場合、図１３（ａ）が示すようにフレームメモリに書き込む処理が３段、フレームメモリから読み出す処理が２段となる。
【０１２６】
実施形態６の構成では、途中演算結果は高速なワークメモリに展開し、最終段の演算結果のみ低速なフレームメモリに書き込むようになっており、３段目以降の演算は、１段目の演算回路にワークメモリから読み出したワークデータを反映させ、１段目の演算結果を２段目の演算回路に反映させて得られた演算結果をワークメモリに書き込む。そして、最終段である６段目の演算結果のみフレームメモリに書き込む。６段の演算を行う場合、図１３（ｂ）が示すようにワークメモリに書き込む処理が２段、ワークメモリから読み出す処理が２段、フレームメモリに書き込む処理が１段となり、フレームメモリへの書き込み読み出し時間よりもワークメモリへの書き込み読み出し時間の方が短いため、高速に処理できることが判る。
【０１２７】
（実施形態７）
本発明の実施形態７について詳しく説明する。本実施形態における内蔵メモリを用いた図形描画装置の構成のブロック図を図１４に示す。
【０１２８】
同図中、テクスチャメモリ２とフレームメモリ５とピクセル情報生成部７と第１ピクセル演算部５３と第１演算モード信号５４と第２ピクセル演算部５５と第２演算モード信号５６は実施形態６で説明したもの（図１２参照）と同様である。
【０１２９】
第１ワークメモリ６０と第２ワークメモリ６１とは、それぞれ異なる図形について途中演算結果及び最終演算結果のピクセルデータを格納するためのメモリで、描画する図形の外接矩形の最小座標点を原点とする。また、第１ワークメモリ６０と第２ワークメモリ６１とは、実施形態６のワークメモリ５２と同様、最大図形の外接矩形領域分のピクセルデータを格納すればよいので、小容量の内蔵メモリである。
【０１３０】
第１オフセット６２は、第１ワークメモリ６０を用いる際に描画する図形の外接矩形の最小Ｘ，Ｙ座標値であり、原点からの平行移動量である。
【０１３１】
第２オフセット６３は、第２ワークメモリ６１を用いる際に描画する図形の外接矩形の最小Ｘ，Ｙ座標値であり、原点からの平行移動量である。
【０１３２】
ワークメモリインターフェース部６４は、第１ワークメモリ６０に対して処理を行う場合、ピクセル情報生成部７から出力されたＸ，Ｙ座標に第１オフセット６２のＸ，Ｙ値をそれぞれ減算して得られたＸ，Ｙ座標に対応する場所でワークデータを読み出したり、第２ピクセルデータを書き込む。
【０１３３】
また、ワークメモリインターフェース部６４は、第２ワークメモリ６１に対して処理を行う場合、ピクセル情報生成部７から出力されたＸ，Ｙ座標に第２オフセット６３のＸ，Ｙ値をそれぞれ減算して得られたＸ，Ｙ座標に対応する場所でワークデータを読み出したり、第２ピクセルデータを書き込む。
【０１３４】
ここで、ピクセル情報生成部７から出力されたＸ，Ｙ座標に第１オフセット６０及び第２オフセット６１のＸ，Ｙ値をそれぞれ減算して得られたＸ，Ｙ座標が用いられるのは、実施形態６と同様、フレームメモリ５上の座標を第１ワークメモリ６０及び第２ワークメモリ６１上の座標に変換するためである。以上の処理は、図形の演算を実行する際に行われる。
【０１３５】
さらに、ワークメモリインターフェース部６４は、フレームメモリ５から読み出された描画する図形の外接矩形領域に存在する全てのフレームデータを第１ワークメモリ６０又は第２ワークメモリ６１に書き込む。この際、外接矩形領域の最小座標がワークメモリの原点になるようにする。
【０１３６】
また、ワークメモリインターフェース部６４は、第１ワークメモリ６０又は第２ワークメモリ６１から、演算が終了した図形の外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリインターフェース部に送る。
【０１３７】
尚、ワークメモリインターフェース部６４は、図形の演算を実行する際に行う処理に用いるワークメモリと外接矩形領域について行う処理に用いるワークメモリは、別々のワークメモリを同時に用いる。
【０１３８】
フレームメモリインターフェース部６５は、描画する図形の外接矩形領域に存在する全てのフレームデータをフレームメモリ５から読み出し、ワークメモリインターフェース部６４に送る。
【０１３９】
また、フレームメモリインターフェース部６５は、第１ワークメモリ６０又は第２ワークメモリ６１から読み出された演算が終了した図形の外接矩形領域に存在する全てのワークデータをフレームメモリ５の描画位置に対して書き込む。
【０１４０】
矩形転送制御部６６は、ワークメモリインターフェース部６４やフレームメモリインターフェース部６５に対して、図形の外接矩形領域転送に関わる制御を行い、第１ワークメモリ６０と第２ワークメモリ６１に対する描画演算処理と外接矩形転送処理の割り当てを決定する。
【０１４１】
次に、実施形態７における動作について説明する。図１５は、実施形態７における図形描画装置で図形Ａ〜図形Ｄのそれぞれ異なる４つの図形を描画する場合の動作タイミングを示す図である。
【０１４２】
同図中、上段のタイミングチャートは第１ワークメモリ６０に対する処理、下段のタイミングチャートは第２ワークメモリ６１に対する処理を示す。以下、各タイミングについて説明する。
【０１４３】
［Ｓ１００］では、フレームメモリ５から、図形Ａを描画しようとする位置における図形Ａの外接矩形領域に存在するフレームデータを読み出し、第１ワークメモリ６０に書き込む。
【０１４４】
［Ｓ１０１］では、図形Ａの描画演算処理を、第１ワークメモリ６０を用いて行う。一方、それと並行して、フレームメモリ５から、図形Ｂを描画しようとする位置における図形Ｂの外接矩形領域に存在するフレームデータを読み出し、第２ワークメモリ６１に書き込む。
【０１４５】
図形Ａの最終演算結果が第１ワークメモリ６０に書き込まれ、かつ、フレームデータが第２ワークメモリ６１に書き込まれたら、次の［Ｓ１０２］へ進む。
【０１４６】
［Ｓ１０２］では、図形Ｂの描画演算処理を、第２ワークメモリ６１を用いて行う。一方、それと並行して、第１ワークメモリ６０から演算が終了した図形Ａの外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリ５の描画位置に書き込み、これで図形Ａの描画が完了する。
【０１４７】
その後、フレームメモリ５から、図形Ｃを描画しようとする位置における図形Ｃの外接矩形領域に存在するフレームデータを読み出し、第１ワークメモリ６０に書き込む。
【０１４８】
図形Ｂの最終演算結果が第２ワークメモリ６１に書き込まれ、かつ、フレームデータが第１ワークメモリ６０に書き込まれたら、次の［Ｓ１０３］へ進む。
【０１４９】
［Ｓ１０３］では、図形Ｃの描画演算処理を、第１ワークメモリ６０を用いて行う。一方、それと並行して、第２ワークメモリ６１から演算が終了した図形Ｂの外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリ５の描画位置に書き込み、これで図形Ｂの描画が完了する。
【０１５０】
その後、フレームメモリ５から、図形Ｄを描画しようとする位置における図形Ｄの外接矩形領域に存在するフレームデータを読み出し、第２ワークメモリ６１に書き込む。
【０１５１】
図形Ｃの最終演算結果が第１ワークメモリ６０に書き込まれ、かつ、フレームデータが第２ワークメモリ６１に書き込まれたら、次の［Ｓ１０４］へ進む。
【０１５２】
［Ｓ１０４］では、図形Ｄの描画演算処理を、第２ワークメモリ６１を用いて行う。一方、それと並行して、第１ワークメモリ６０から演算が終了した図形Ｃの外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリ５の描画位置に書き込み、これで図形Ｃの描画が完了する。
【０１５３】
図形Ｄの最終演算結果が第２ワークメモリ６１に書き込まれ、かつ、図形Ｃのワークデータがフレームメモリ５に書き込まれたら、次の［Ｓ１０５］へ進む。
【０１５４】
［Ｓ１０５］では、第２ワークメモリ６１から演算が終了した図形Ｄの外接矩形領域に存在する全てのワークデータを読み出し、フレームメモリ５の描画位置に書き込み、これで図形Ｄの描画が完了する。
【０１５５】
このような構成によると、複数の図形を描画する場合、ある図形の演算を最終段まで高速なワークメモリに対して行うのと並行して、別の図形について低速なフレームメモリとの転送を行うので、高速に複数の図形を描画できる。
【０１５６】
また、３段以上の演算回路を構成する場合は、前段の演算結果を後段の演算に反映させ、それぞれの演算回路に第１ワークメモリ６０又は第２ワークメモリ６１のワークデータを反映させ、最後段の演算結果を第１ワークメモリ６０又は第２ワークメモリ６１に書き込むようにすればよい。
【０１５７】
尚、描画順が連続する２つの図形の外接矩形が重なる場合、前の図形の描画結果が後の図形の演算に反映できないが、これは、描画順が連続する２つの図形の外接矩形が重なるかどうか予め判定し、もし重なれば、後の図形の描画順を遅らせて、描画順が連続する２つの図形の外接矩形が重ならないようにすればよい。
【０１５８】
【発明の効果】
以上説明したように、本発明によると、同じ演算回路を用いて演算内容や入力する変数を自由に変更できるので、描画機能毎の専用の演算回路が不要となり、少ない回路規模で多機能な描画が可能である。
【０１５９】
また、この演算回路を複数段設け、前段の演算結果を後段の演算に反映すれば、より多機能な描画が可能である。
【０１６０】
さらに、演算を多段にすることにより、回路規模が増えることに対しては、フレームメモリから演算結果を読み出して、次の演算に反映させることにより、演算回路の段数が少なくても多機能の描画が可能である。
【０１６１】
また、演算を多段にすることで、演算回路に対する設定量が増加して制御が複雑になることに対しては、情報量の少ない描画コマンドに基づいて演算回路に対する設定を行うことにより、外部から行う描画パラメータの準備や設定に係る時間が短縮される。
【０１６２】
多段演算を行う際、途中演算結果を低速なフレームメモリではなく高速なワークメモリに展開することにより、高速に演算処理が行える。
【０１６３】
また、ワークメモリを２つ設け、ある図形の描画演算処理と、別の図形の外接矩形領域転送を別々のワークメモリで並列に行うことにより、複数の図形を高速に描画できる。
【図面の簡単な説明】
【図１】  本発明の実施形態１における図形描画装置の構成を示すブロック図である。
【図２】  本発明の実施形態１における各演算入力選択部が演算器に対する入力値を選択する割り当てを示す図である。
【図３】  本発明の実施形態２における図形描画装置の構成を示すブロック図である。
【図４】  本発明の実施形態２における各演算入力選択部が演算器に対する入力値を選択する割り当てを示す図である。
【図５】  本発明の実施形態３における図形描画装置の構成を示すブロック図である。
【図６】  本発明の実施形態３における各演算入力選択部が演算器に対する入力値を選択する割り当てを示す図である。
【図７】  本発明の実施形態４における図形描画装置の構成を示すブロック図である。
【図８】  本発明の実施形態４における各演算入力選択部が演算器に対する入力値を選択する割り当てを示す図である。
【図９】  本発明の実施形態３及び実施形態４で２段分の演算回路が存在する構成で６段の演算を行う場合の処理時間の目安を示す図である。
【図１０】  本発明の実施形態５における図形描画装置の構成を示すブロック図である。
【図１１】  各描画機能に対する描画コマンドと、第１演算モード信号及び第２演算モード信号との割り当て例を示す図である。
【図１２】  本発明の実施形態６における図形描画装置の構成を示すブロック図である。
【図１３】  本発明の実施形態４及び実施形態６で２段分の演算回路が存在する構成で６段の演算を行う場合の処理時間の目安を示す図である。
【図１４】  本発明の実施形態７における図形描画装置の構成を示すブロック図である。
【図１５】  本発明の実施形態７における動作タイミングを示す図である。
【図１６】  図形に対してテクスチャマッピングとグーローシェーディングを行うための従来の構成を示す図である。
【図１７】  描画しようとする三角形を示す図である。
【図１８】  三角形のピクセル情報生成処理の概念を示す図である。
【図１９】  三角形のピクセル情報生成処理のフローチャートである。
【符号の説明】
１，７  ピクセル情報生成部
２  テクスチャメモリ
３，１４，１５，２６，２７，３６，３７，４６，４７  乗算器
４，１６，２８，３８，４８  加算器
５  フレームメモリ
６，１７，２９，３９，４９  メモリインターフェース部
８  ピクセル演算部
９  演算モード信号
１０，１１，１２，１３，２２，２３，２４，２５  演算入力選択部
３２，３３，３４，３５，４２，４３，４４，４５  演算入力選択部
１８，４０，５３  第１ピクセル演算部
１９，４１，５４  第１演算モード信号
２０，３０，５５  第２ピクセル演算部
２１，３１，５６  第２演算モード信号
５０  描画コマンド
５１  演算モード信号供給部
５２  ワークメモリ
５７  オフセット
５８，６４  ワークメモリインターフェース部
５９，６５  フレームメモリインターフェース部
６０  第１ワークメモリ
６１  第２ワークメモリ
６２  第１オフセット
６３  第２オフセット
６６  矩形転送制御部
【図１】
0004136432.tif 000002
【図２】
0004136432.tif 000003
【図３】
0004136432.tif 000004
【図４】
0004136432.tif 000005
【図５】
0004136432.tif 000006
【図６】
0004136432.tif 000007
【図７】
0004136432.tif 000008
【図８】
0004136432.tif 000009
【図９】
0004136432.tif 000010
【図１０】
0004136432.tif 000011
【図１１】
0004136432.tif 000012
【図１２】
0004136432.tif 000013
【図１３】
0004136432.tif 000014
【図１４】
0004136432.tif 000015
【図１５】
0004136432.tif 000016
【図１６】
0004136432.tif 000017
【図１７】
0004136432.tif 000018
【図１８】
0004136432.tif 000019
【図１９】
0004136432.tif 000020