JP3696561B2 - Drawing device - Google Patents

Drawing device Download PDF

Info

Publication number
JP3696561B2
JP3696561B2 JP2002062431A JP2002062431A JP3696561B2 JP 3696561 B2 JP3696561 B2 JP 3696561B2 JP 2002062431 A JP2002062431 A JP 2002062431A JP 2002062431 A JP2002062431 A JP 2002062431A JP 3696561 B2 JP3696561 B2 JP 3696561B2
Authority
JP
Japan
Prior art keywords
graphic
range
unit
processor
frame memory
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
JP2002062431A
Other languages
Japanese (ja)
Other versions
JP2003263645A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2002062431A priority Critical patent/JP3696561B2/en
Publication of JP2003263645A publication Critical patent/JP2003263645A/en
Application granted granted Critical
Publication of JP3696561B2 publication Critical patent/JP3696561B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Navigation (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Traffic Control Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータ・グラフィックスを用いた描画処理の技術に関する。
【0002】
【従来の技術】
近年、テレビゲームやカーナビゲーションシステムにおいて、コンピュータ・グラフィックスを用いた描画処理が広く利用されている。
上記描画処理を行う描画装置は、CPU、主記憶部、描画専用プロセッサ(以下、描画専用Pと呼ぶ)、フレームメモリ及びその他のユニットより構成される。前記描画専用Pは、CPUより出力される描画命令により描画処理を実行する演算回路である。前記フレームメモリは、画像データを記憶するRAMである。
【0003】
前記CPUは前記主記憶部より順に命令を取り出し、取出した命令のうち描画命令のみを前記描画専用Pへ出力する。前記描画専用Pは前記CPUより描画命令を受け取り、受取った描画命令に従って描画処理を実行することにより画像データを作成し、作成した画像データを前記フレームメモリに記憶させる。
【0004】
【発明が解決しようとする課題】
しかし、テレビゲーム機により表示される人物、乗り物及び背景といった画像をより現実感のある描写で描いたり、またカーナビゲーションシステムにより表示される道路、建物及び地形といった画像を高速に表示するには、従来技術の描画装置ではその処理能力は十分とはいえず、所定時間内に前記描画装置により描画される図形の数よりもさらに多くの図形を描画したいという要望がある。
【0005】
本発明は、上記要望を解決するために、所定時間内に従来よりもさらに多くの図形を描くことの可能な描画システム、描画方法、描画プログラム、描画プログラムを記録している記録媒体、及び描画プログラムを備えた描画装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記の目的を達成するために、本発明は、フレームメモリに複数の図形を描くことによりグラフィック画像を生成する描画装置であって、第1図形を描くための構成要素である第1図形情報と、第2図形を描くための構成要素である第2図形情報とを含む複数の図形情報を記憶している記憶手段と、各図形情報に基づいて前記フレームメモリに図形を描くプロセッサを複数個備え、前記複数あるプロセッサのうち、第1図形情報に基づいて前記フレームメモリに第1図形を描く第1プロセッサと、第2図形情報に基づいて前記フレームメモリに第2図形を描く第2プロセッサとは並行して動作することにより、前記第1図形と前記第2図形とは同一時間帯に同一フレームメモリ上に描かれ、前記第1プロセッサは前記フレームメモリに前記第1図形を描いている動作状態にあり、前記第2プロセッサは待機状態から前記第2図形を描く動作状態に遷移しようとしている場合において、前記描画装置は、さらに、前記記憶手段から第2図形情報を読み出す読出し手段と、前記第2図形情報により示される第2図形がフレームメモリ上に占めるはずの第2図形範囲を生成する範囲生成手段と、前記第2図形範囲が、動作状態にある第1プロセッサにより描かれている第1図形のフレームメモリ上に占める第1図形範囲と重なるか否かを判定する判定手段と、前記判定手段により重ならないと判定される場合、待機状態にある第2プロセッサに前記第2図形情報を割り当てる割当て手段とを備え、前記第2プロセッサが割当てられた前記第2図形情報に基づいて前記第2図形を描き始めることにより、前記第1プロセッサと前記第2プロセッサとは並行して動作し、フレームメモリに相当する図形領域は、所定数の画素から構成されるブロックごとに区分されており、前記範囲生成手段は、前記図形領域に第2図形を描いたと想定したときに前記第2図形が含まれるブロックの集まりを前記第2図形範囲とみなし、前記判定手段は、前記第2図形範囲に含まれるブロックのいずれかが、前記第1図形範囲に含まれるブロックのいずれかと一致する場合、前記第2図形範囲は前記第1図形範囲と重なると判定することを特徴とする。
【0008】
【発明の実施の形態】
本発明の実施の形態として、カーナビゲーションシステム1について説明する。
〔1〕カーナビゲーションシステム1
カーナビゲーションシステム1は、図1に示すように、GPS衛星2、VICS基地3及びカーナビゲーション装置10から構成される。
【0009】
前記GPS衛星2は、GPS(Global Positionning System)と呼ばれる位置情報サービスで用いられるGPS電波を発信する。前記VICS基地3は、VICS(Vehicle Information and Communication System)と呼ばれる道路渋滞、道路工事等の道路状況通知サービスで用いられるVICS電波を定期的に発信する。
前記カーナビゲーション装置10は、前記GPS衛星2よりGPS電波を受信し、さらに前記VICS基地3よりVICS電波を受信する。前記カーナビゲーション装置10は、受信した前記GPS電波により車の現在位置を認識し、さらに受信した前期VICS電波により道路状況を把握する。
〔2〕カーナビゲーション装置10
前記カーナビゲーション装置10は、図2に示すように、データ処理装置11、GPSアンテナ12、VICSアンテナ13、自車センサ14、リモコン装置15、受光装置16及び液晶画面装置17とより構成される。
【0010】
データ処理装置11は、GPSアンテナ12と専用ケーブルで接続される。データ処理装置11は、VICSアンテナ13と専用ケーブルで接続される。データ処理装置11は、自車センサ14と専用ケーブルで接続される。データ処理装置11は、液晶画面装置17と専用ケーブルで接続される。
また、データ処理装置11は、地図ディスク18を格納するためのディスクドライブを備える。リモコン装置15は、受光装置16へ赤外線でデータの送信を行う。
【0011】
前記GPSアンテナ12は、GPS信号をデータ処理装置11へ送信する。前記VICSアンテナ13は、VICS信号をデータ処理装置11へ送信する。前記自車センサ14は、位置補正データをデータ処理装置11へ送信する。位置補正データは、車に取り付けられた速度及びジャイロセンサにより得られる位置情報である。リモコン装置15は、操作情報を受光装置16へ送信する。操作情報は、利用者から出される指示内容である。受光装置16は、リモコン装置15より受信した操作情報をデータ処理装置11へ送信する。
【0012】
データ処理装置11は、受信したGPS信号、VICS信号、自車データ及び操作情報を用いて自車位置の算出を行い、利用者の指示に基づいた画像データの作成し、作成した前記画像データを液晶画面装置17へ送信する。
液晶画面装置17は、データ処理装置11より画像データを受信し、受信した画像データを液晶画面に表示する。
〔3〕 データ処理装置11
(データ処理装置11の構成)
前記データ処理装置11は、図3に示すように、レンダリング専用プロセッサ21、汎用プロセッサ22、フレームメモリ23、CPU24、主記憶部25、ディスプレイリスト用メモリ26、D/A27、DVD−ROM読取部28、外部入力インターフェース部29、フレーム・バス31及びシステム・バス32より構成される。
【0013】
前記レンダリング専用プロセッサ21(以下、レンダリング専用Pと呼ぶ)は、図形を描く描画処理のみを実行する演算回路である。
前記汎用プロセッサ22(以下、汎用Pと呼ぶ)は、描画処理を実行するだけでなく、CPUで行われる演算も実行する演算回路である。
フレームメモリ23は、描画処理された画像データを記憶するRAMである。
【0014】
CPU24は、主記憶より取り出した命令により各装置の制御を行う制御部と、前記制御部より受取ったデータの演算を行う演算部とを備えた中央演算回路である。
主記憶部25は、命令及びデータを記憶しているRAMである。
ディスプレイリスト用メモリ26(以下、DL用メモリと呼ぶ)は、描画コマンドを記憶するFIFO型のRAMである。描画コマンドは、図形を示す変数であり、具体的に図4に示すような、図形種、属性、色彩、頂点数及びモデリング座標値からなる。図形種は、直線、多角形、矩形、三角形等の図形の種類である。属性は、[シェーディングあり]、[幅3]のような図形に施す特殊処理の内容である。なお、属性が指定されない場合は、デフォルト設定で処理される。色彩は、図形に塗る色である。頂点数は、直線や多角形において、その図形の頂点の数である。モデリング座標値は、図形の各頂点の相対位置を表わす値である。
【0015】
D/A27は、デジタル信号をRGBアナログ信号に変換するコンバータである。
DVD−ROM読取部28は、格納ディスクよりデータを読み取るディスクリーダである。
外部入力インターフェース部29は、外部装置よりデータを受信し、受信した前記データを主記憶部に出力し、記憶させる制御回路である。
(データ処理装置11の動作)
外部入力インターフェース部29は、GPSアンテナ12、VICSアンテナ13、自車センサ14及び受光装置16よりGPS信号、VICS信号、自車データ及び操作情報を受信し、受信した前記GPS信号、VICS信号、自車データ及び操作情報をシステムバス32を介して、主記憶部25に出力し、記憶させる。
【0016】
CPU24は、主記憶部25より順に命令を読み出す。さらに、CPU24は、読出した前記命令に従って主記憶部25よりGPS信号、VICS信号、自車データ及び操作情報を読み出す。また、CPU24は、読出した前記命令に従ってDVD―ROM読取部28より地図データを読み出す。
CPU24は、読出した前記GPS信号、VICS信号、自車データ、操作情報及び地図データより自車位置を算出し、描画コマンドを作成する。
【0017】
CPU24は、作成した前記描画コマンドをフレームバス31を介して、DL用メモリ26へ出力し、記憶させる。
さらに、CPU24は、DL用メモリ26より前記描画コマンドを順に読み出し、読出した描画コマンドを解読し、描画パラメータを作成し、レンダリング専用P21又は汎用P22へ出力する。
【0018】
レンダリング専用P21は、CPU24より描画パラメータを受け取る。レンダリング専用P21は、受取った前記描画パラメータに基づいて描画処理を実行し、画像データを作成する。レンダリング専用P21は、作成した画像データをフレーム・バス31を介してフレームメモリ23へ出力し、記憶させる。
汎用P22は、CPU24より描画パラメータを受け取る。汎用P22は、受取った前記描画パラメータに基づいて描画処理を実行し、画像データを作成する。汎用P22は、作成した画像データをフレーム・バス31を介してフレーム・メモリ23へ出力し、記憶させる。
【0019】
D/A27は、フレーム・メモリ23より画像データを読み出す。D/A27は、読出した画像データをRGBアナログ信号へ変換し、変換したRGBアナログ信号を液晶画面装置17へ送信する。
〔4〕 CPU24
CPU24は、図5に示すように、制御部41、描画制御部42、描画パラメータ設定部43、描画範囲認識部44、描画範囲判定部45、描画割り当て部46、描画範囲記憶部47より構成される。
(制御部41)
制御部41は、主記憶部25よりシステムバス32を介して、命令及びデータを読み出し、読み出した命令に従って複数の描画コマンド(以降、描画コマンド列と呼ぶ)を作成する。
【0020】
制御部41は、作成した描画コマンド列を後述するレンダリングプロセッサが描画処理すべき順番に並べ替える。
制御部41は、並替えた前記描画コマンド列をフレームバス31を介してDL用メモリ26に出力し、記憶させる。
(描画制御部42)
描画制御部42は、DL用メモリ26に記憶される描画コマンド列より順に、1つの描画コマンドを読み出し、読出した当該描画コマンドを描画パラメータ設定部43へ出力する。
(描画パラメータ設定部43)
描画パラメータ設定部43は、当該描画コマンドを描画制御部42より受け取り、受取った当該描画コマンドを描画パラメータに変換する。描画パラメータは、描画プロセッサがフレームメモリに図形を描くために必要な変数であり、具体的に図6に示すように、図形種、属性、描画座標からなる。図形種は、直線、多角形、矩形、三角形等の図形の種類である。属性は、[シェーディングあり]、[幅3]のような図形に施す特殊処理の内容である。なお、属性が指定されない場合は、デフォルト設定で処理される。描画座標は、図形の各頂点における(X座標、Y座標)である。
【0021】
描画パラメータ設定部43は、変換した当該描画パラメータを描画範囲認識部44へ出力する。
(描画範囲認識部44)
描画範囲認識部44は、当該描画パラメータを描画パラメータ設定部43より受け取る。描画範囲認識部44は、当該描画パラメータに格納される描画座標を全て抽出する。
【0022】
描画範囲認識部44は、抽出した全ての描画座標におけるX座標の最大値XB、X座標の最小値XL、Y座標の最大値YB及びY座標の最小値YLを算出し、算出した(XL、YL)及び(XB、YB)を当該描画パラメータの描画範囲として描画範囲判定部45へ出力する。
(描画範囲判定部45)
描画範囲判定部45は、重なり判定フラグ、変数nを有している。重なり判定フラグは、2つの領域の重なり具合を示しており、重なり判定フラグ=0において、2つの領域は重ならないとし、重なり判定フラグ=1において、2つの領域は重なるとする。なお、デフォルト値は0である。変数nは、読出している範囲座標の描画処理を行っているレンダリング部を一意に識別する識別番号である。
【0023】
描画範囲判定部45は、描画範囲認識部44より当該描画パラメータの描画範囲(XL、YL)及び(XB、YB)を受け取る。さらに、描画範囲判定部45は、描画範囲記憶部47より範囲座標(X’L、Y’L)及び(X’B、Y’B)を順に1つ読み出す。
描画範囲判定部45は、判別式1(XL>X’B)又は判別式2(XB<X’L)が成り立つか否か判別する。
【0024】
描画範囲判定部45は、前記判別式1又は判別式2が成り立つ場合、描画範囲記憶部47より次の範囲座標を読み出す。
描画範囲判定部45は、前記判別式1及び判別式2が成り立たない場合、さらに、判別式3(YL>Y’B)又は判別式4(YB<Y’L)が成り立つか否か判別する。
【0025】
描画範囲判定部45は、前記判別式3又は判別式4が成り立つ場合、描画範囲記憶部47より次の範囲座標を読み出す。
描画範囲判定部45は、前記判別式3及び判別式4が成り立たない場合、変数nを記憶し、重なり判定フラグの値を0から1に変更し、描画範囲記憶部47より次の範囲座標を読み出す。
【0026】
描画範囲判定部45は、全ての範囲座標の読み出しを終了すると、重なり判定フラグの値を認識し、重なり判定フラグが0である場合、当該描画パラメータの描画範囲(XL、YL)及び(XB、YB)を描画範囲記憶部47に出力し、記憶させる。
また、描画範囲判定部45は、重なり判定フラグが1である場合、記憶している前記変数nのレンダリング部より終了信号を受け取ったか否か判別を行う。
【0027】
描画範囲判定部45は、前記レンダリング部より終了信号を受け取るまで、前記判定を繰り返す。
描画範囲判定部45は、前記レンダリング部より終了信号を受け取る場合、フラグPnを1から0に変更し、当該描画パラメータの描画範囲(XL、YL)及び(XB、YB)を描画範囲記憶部47に出力し、記憶させる。
【0028】
また、描画範囲判定部45は、当該描画パラメータを描画割り当て部46に出力する。
(描画割り当て部46)
描画割り当て部46は、フラグP1及びフラグP2を有している。フラグP1は、第一レンダリング部48の動作状態を示しており、P1=0において、第一レンダリング部48は動作しておらず、P1=1において、第一レンダリング部48は動作中とする。フラグP2は、第二レンダリング部49の動作状態を示しており、P2=0において、第二レンダリング部49は動作しておらず、P2=1において、第二レンダリング部49は動作中とする。
【0029】
また、描画割り当て部46は、図7に示すような処理可否一覧表103を記憶する。
描画割り当て部46は、当該描画パラメータを描画範囲判定部45より受け取り、受取った描画パラメータに含まれる図形種を読み出す。描画割り当て部46は、読出した図形種の描画処理を行うことの可能な描画プロセッサを処理可否一覧表103を用いて判別する。
(1)レンダリング専用Pのみ
描画割り当て部46は、判別した前記描画プロセッサがレンダリング専用Pのみの場合、レンダリング専用Pを備える第一レンダリング部48のフラグP1を判別する。
【0030】
フラグP1が1である場合、描画割り当て部46は、第一レンダリング部48より終了信号を受け取るまで、待機する。描画割り当て部46は、第一レンダリング部48より終了信号を受け取ると、フラグP1を0に変更し、描画範囲記憶部47に記憶される描画範囲を消去する。
さらに、描画割り当て部46は、当該描画パラメータと描画命令とを第一レンダリング部48へ出力し、フラグP1を0から1に変更する。
【0031】
また、フラグP1が0である場合、描画割り当て部46は、当該描画パラメータと描画命令とを第一レンダリング部48へ出力し、フラグP1を0から1に変更する。
(2)汎用Pのみ
描画割り当て部46は、判別した前記描画プロセッサが汎用Pのみの場合、汎用Pを備える第二レンダリング部49のフラグP2を判別する。
【0032】
フラグP2が1である場合、描画割り当て部46は、第二レンダリング部49より終了信号を受け取るまで、待機する。描画割り当て部46は、第二レンダリング部49より終了信号を受け取ると、フラグP2を0に変更し、描画範囲記憶部47に記憶される描画範囲を消去する。
さらに、描画割り当て部46は、当該描画パラメータと描画命令とを第二レンダリング部49へ出力し、フラグP2を0から1に変更する。
【0033】
また、フラグP2が0である場合、描画割り当て部46は、当該描画パラメータと描画命令とを第二レンダリング部49へ出力し、フラグP2を0から1に変更する。
(3)レンダリング専用P及び汎用P
描画割り当て部46は、判別したプロセッサがレンダリング専用P及び汎用Pの場合、まずレンダリング専用Pを備える第一レンダリング部48のフラグP1を判別する。
【0034】
フラグP1が0である場合、描画割り当て部46は、当該描画パラメータと描画命令とを第一レンダリング部48へ出力し、フラグP1を0から1に変更する。
フラグP1が1である場合、描画割り当て部46は、汎用Pを備える第二レンダリング部49のフラグP2を判別する。
【0035】
フラグP2が0である場合、描画割り当て部46は、当該描画パラメータと描画命令とを第二レンダリング部49へ出力し、フラグP2を0から1に変更する。
フラグP2が1である場合、描画割り当て部46は、第一レンダリング部48又は第二レンダリング部49より終了信号を受け取るまで待機する。
【0036】
描画割り当て部46は、第一レンダリング部48より終了信号を受け取ると、フラグP1を1から0に変更し、描画範囲記憶部47に記憶される描画範囲を消去する。さらに、描画割り当て部46は、当該描画パラメータと描画命令とを第一レンダリング部48へ出力し、フラグP1を0から1に変更する。
また、描画割り当て部46は、第二レンダリング部49より終了信号を受け取ると、フラグP2を1から0に変更し、描画範囲記憶部47に記憶される描画範囲を消去する。さらに、描画割り当て部46は、当該描画パラメータと描画命令とを第二レンダリング部49へ出力し、フラグP2を0から1に変更する。
(描画範囲記憶部47)
描画範囲記憶部47は、図8に示すような描画範囲データ104を記憶する。描画範囲データ104は、パラメータ番号と範囲座標とから成る。パラメータ番号は、描画パラメータを一意に特定する番号である。範囲座標は、パラメータ番号に該当する図形のフレームメモリに占める矩形範囲であり、前記図形の全頂点の座標における(X最小値、Y最小値)及び(X最大値、Y最大値)で表わす。[5] レンダリング専用P21
(レンダリング専用P21の構成)
レンダリング専用P21は、図9に示すように、描画用レジスタ211、命令レジスタ212、デコーダ213、描画実行回路214及びアキュムレータ215から構成される。
【0037】
描画用レジスタ211は、CPU24とフレームバス34を介して接続される。また、描画用レジスタ211は、描画実行回路214と内部バスで接続される。命令レジスタ212は、CPU24とフレームバス34を介して接続される。命令レジスタ212は、デコーダ213と内部バスで接続される。デコーダ213は、描画実行回路214と内部バスで接続される。描画実行回路214は、アキュムレータ215と内部バスで接続される。アキュムレータ215は、フレームバス33を介してフレームメモリ23と接続される。
(レンダリング専用P21の動作)
描画用レジスタ211は、CPU24より描画パラメータを受け取り、受取った前記描画パラメータを記憶する。
【0038】
命令レジスタ212は、CPU24より描画命令を受け取り、受取った前記描画命令を記憶する。
デコーダ213は、命令レジスタ212より描画命令を読み出し、読出した描画命令を解読し、解読した描画命令を描画実行回路214へ出力する。
描画実行回路214は、デコーダ213より描画命令を受け取る。描画実行回路214は、受取った描画命令に従って、描画用レジスタ211から描画パラメータを読み出す。さらに、描画実行回路214は、前記描画命令に従って、読出した前記描画パラメータの描画処理を実行し、画像データを作成する。描画実行回路214は、作成した画像データをアキュムレータ215へ出力する。さらに、描画実行回路214は、終了信号をCPU24へ出力する。
【0039】
アキュムレータ215は、描画実行回路214より画像データを受け取り、受取った画像データをフレーム・バス33を介してフレーム・メモリ23へ出力し、フレーム・メモリ23に記憶させる。
〔5〕 汎用P22
(汎用P22の構成)
汎用P22は、図4に示すように、プログラムカウンタ221、命令レジスタ222、データレジスタ223、デコーダ224、演算回路225及びアキュムレータ226から構成される。
【0040】
プログラムカウンタ221は、主記憶部36とフレームバス35で接続される。命令レジスタ222は、主記憶部36とフレームバス35で接続される。命令レジスタ222は、デコーダ224と内部バスで接続される。データレジスタ223は、CPU24とフレームバス34を介して接続される。また、データレジスタ223は、演算回路225と内部バスで接続される。デコーダ224は、演算回路225と内部バスで接続される。演算回路225は、アキュムレータ226と内部バスで接続される。アキュムレータ226は、フレームバス33を介してフレームメモリ23と接続される。
(汎用P22の動作)
PC221は、アドレス番号を主記憶部36へ出力し、主記憶部36に記憶されている命令を命令レジスタ222に出力させる。
【0041】
命令レジスタ222は、主記憶部36より命令を受け取り、受取った命令を記憶する。
データレジスタ223は、CPU24より描画パラメータを受け取り、受取った描画パラメータを記憶する。
デコーダ224は、命令レジスタ222より描画命令を読み出し、読出した命令を解読し、解読した命令を演算回路225へ出力する。
【0042】
演算回路225は、デコーダ224より命令を受け取る。演算回路225は、受取った命令に従って、演算処理を実行する。演算回路225は、受取った命令が描画命令である場合、データレジスタ223より描画パラメータを読み出す。演算回路225は、読出した描画パラメータに従って描画処理を実行し、画像データを作成する。演算回路225は、作成した画像データをアキュムレータ226へ出力する。さらに、演算回路225は、終了信号をCPU24に出力する。
【0043】
アキュムレータ226は、演算回路225より画像データを受け取り、受取った画像データをフレーム・バス33を介してフレーム・メモリ23へ出力し、フレーム・メモリ23に記憶させる。
[6] データ処理装置11の描画処理における動作
(a)データ処理装置11の各タイミングにおける動作を、図10及び図11を用いて説明する。
(タイミングt1)
タイミングt1における動作を以下に説明する。
【0044】
描画制御部42は、DL用メモリ26より描画コマンドAを読み出す。
描画パラメータ設定部43は、描画コマンドAを描画パラメータAに変換する。
描画範囲認識部44は、描画パラメータAにより描かれる図形f11の描画範囲g11を認識する。
【0045】
描画範囲判定部45は、描画範囲g11と重なっている描画範囲はないと判定する。
描画割り当て部46は、描画パラメータAを処理可能なレンダリング部は第一レンダリング部48及び第二レンダリング部49であると判別する。
(タイミングt2)
タイミングt2における動作を以下に説明する。
【0046】
描画割り当て部46は、第一レンダリング部48へ描画パラメータA及び描画命令を出力する。
第一レンダリング部48は、描画パラメータAの描画処理を開始する。
(タイミングt3)
タイミングt3における動作を以下に説明する。
【0047】
描画制御部42は、DL用メモリ26より描画コマンドBを読み出す。
描画パラメータ設定部43は、描画コマンドBを描画パラメータBに変換する。
描画範囲認識部44は、描画パラメータBにより描かれる図形f12の描画範囲g12を認識する。
【0048】
描画範囲判定部45は、描画範囲g12と重なっている描画範囲はないと判定する。
描画割り当て部46は、描画パラメータBを処理可能なレンダリング部は第一レンダリング部48及び第二レンダリング部49であると判別する。
第一レンダリング部48は、描画パラメータAの描画処理を行っている。
(タイミングt4)
タイミングt4における動作を以下に説明する。
【0049】
描画割り当て部46は、第二レンダリング部49へ描画パラメータB及び描画命令を出力する。
第二レンダリング部49は、描画パラメータBの描画処理を開始する。
(タイミングt5)
タイミングt5における動作を以下に説明する。
【0050】
描画制御部42は、DL用メモリ26より描画コマンドCを読み出す。
描画パラメータ設定部43は、描画コマンドCを描画パラメータCに変換する。
描画範囲認識部44は、描画パラメータCにより描かれる図形f13の描画範囲f13を認識する。
【0051】
描画範囲判定部45は、描画範囲f13と描画範囲g12とは重なっていると判定し、描画範囲g12を描画中である第二レンダリング部49からの終了信号を受信するまで、待機する。
第一レンダリング部48は、描画パラメータAの描画処理を行っている。
第二レンダリング部49は、描画パラメータBの描画処理を行っている。
(タイミングt6)
タイミングt6における動作を以下に説明する。
【0052】
第一レンダリング部48は、描画処理を終えて、描画制御部42へ終了信号を出力する。
(タイミングt7)
タイミングt7における動作を以下に説明する。
描画範囲判定部45は、第二レンダリング部49からの終了信号を受信するまで待機する。
【0053】
第二レンダリング部49は、描画パラメータBの描画処理を行っている。
(タイミングt8)
タイミングt8における動作を以下に説明する。
第二レンダリング部49は、描画処理を終えて、描画制御部42へ終了信号を出力する。
(タイミングt9)
タイミングt9における動作を以下に説明する。
【0054】
描画範囲判定部45は、描画制御部42より終了信号を受け取り、描画範囲f13と重なっている描画範囲はないと判定する。
描画割り当て部46は、描画パラメータCを処理可能なレンダリング部は第一レンダリング部48及び第二レンダリング部49であると判別する。
(タイミングt10)
タイミングt10における動作を以下に説明する。
【0055】
描画割り当て部46は、第一レンダリング部48へ描画パラメータC及び描画命令を出力する。
第一レンダリング部48は、描画パラメータCの描画処理を開始する。
(タイミングt11)
タイミングt11における動作を以下に説明する。
【0056】
描画制御部42は、DL用メモリ26より描画コマンドDを読み出す。
描画パラメータ設定部43は、描画コマンドDを描画パラメータDに変換する。
描画範囲認識部44は、描画パラメータDにより描かれる図形f14の描画範囲g14を認識する。
【0057】
描画範囲判定部45は、描画範囲g14と重なっている描画範囲はないと判定する。
描画割り当て部46は、描画パラメータDを処理可能なレンダリング部は第一レンダリング部48及び第二レンダリング部49であると判別する。
第一レンダリング部48は、描画パラメータCの描画処理を行っている。
(タイミングt12)
タイミングt12における動作を以下に説明する。
【0058】
描画割り当て部46は、第二レンダリング部49へ描画パラメータD及び描画命令を出力する。
第二レンダリング部49は、描画パラメータDの描画処理を開始する。
(タイミングt13)
タイミングt13における動作を以下に説明する。
【0059】
描画制御部42は、DL用メモリ26描画コマンドEを読み出す。
描画パラメータ設定部43は、描画コマンドEを描画パラメータEに変換する。
描画範囲認識部44は、描画パラメータEにより描かれる図形f15の描画範囲f15を認識する。
【0060】
描画範囲判定部45は、描画範囲f15と重なっている描画範囲はないと判定する。
描画割り当て部46は、描画パラメータEを処理可能なレンダリング部は第一レンダリング部48及び第二レンダリング部49であると判別する。
描画制御部42は、第一レンダリング部48のフラグP1が1であると認識する。
【0061】
描画制御部42は、第二レンダリング部49のフラグP2が1であると認識する。
描画割り当て部46は、信号終了信号を受信するまで、待機する。
第一レンダリング部48は、描画パラメータCの描画処理を行っている。
第二レンダリング部49は、描画パラメータDの描画処理を行っている。
(タイミングt14)
タイミングt14における動作を以下に説明する。
【0062】
第二レンダリング部49は、描画処理を終えて、描画制御部42へ終了信号を出力する。
(タイミングt15)
タイミングt15における動作を以下に説明する。
描画制御部42は、第二レンダリング部49より終了信号を受け取る。
【0063】
第一レンダリング部48は、描画パラメータCの描画処理を行っている。
(タイミングt16)
タイミングt16における動作を以下に説明する。
描画割り当て部46は、第二レンダリング部49へ描画パラメータE及び描画命令を出力する。
【0064】
第二レンダリング部49は、描画パラメータEの描画処理を開始する。
(タイミングt17)
タイミングt17における動作を以下に説明する。
描画制御部42は、DL用メモリ26より描画コマンドFを読み出す。
描画パラメータ設定部43は、描画コマンドFを描画パラメータFに変換する。
【0065】
描画範囲認識部44は、描画パラメータFにより描かれる図形f16の描画範囲g16を認識する。
描画範囲判定部45は、描画範囲g16と描画範囲f13とは重なっていると判定し、描画範囲f13を描画中である第一レンダリング部48からの終了信号を受信するまで、待機する。
【0066】
第一レンダリング部48は、描画パラメータCの描画処理を行っている。
第二レンダリング部49は、描画パラメータEの描画処理を行っている。
(タイミングt18)
タイミングt18における動作を以下に説明する。
第一レンダリング部48は、描画処理を終えて、描画制御部42へ終了信号を出力する。
(タイミングt19)
タイミングt19における動作を以下に説明する。
【0067】
描画範囲判定部45は、描画制御部42より終了信号を受け取り、描画範囲g16と重なっている描画範囲はないと判定する。
描画割り当て部46は、描画パラメータFを処理可能なレンダリング部は第二レンダリング部49のみであると判別する。
描画制御部42は、第二レンダリング部49のフラグP2が1であると認識する。
【0068】
描画割り当て部46は、信号終了信号を受信するまで、待機する。
第二レンダリング部49は、描画パラメータEの描画処理を行っている。
(タイミングt20)
タイミングt20における動作を以下に説明する。
第二レンダリング部49は、描画処理を終えて、描画制御部42へ終了信号を出力する。
(タイミングt21)
タイミングt21における動作を以下に説明する。
【0069】
描画制御部42は、第二レンダリング部49より終了信号を受け取る。
(タイミングt22)
タイミングt22における動作を以下に説明する。
描画割り当て部46は、第二レンダリング部49へ描画パラメータF及び描画命令を出力する。
【0070】
第二レンダリング部49は、描画パラメータFの描画処理を開始する。
(タイミングt23)
タイミングt23における動作を以下に説明する。
描画制御部42は、DL用メモリ26より描画コマンドGを読み出す。
描画パラメータ設定部43は、描画コマンドGを描画パラメータGに変換する。
【0071】
描画範囲認識部44は、描画パラメータGにより描かれる図形f17の描画範囲g17を認識する。
描画範囲判定部45は、描画範囲g17と重なっている描画範囲はないと判定する。
描画割り当て部46は、描画パラメータGを処理可能なレンダリング部は第一レンダリング部48及び第二レンダリング部49であると判別する。
(タイミングt24)
タイミングt24における動作を以下に説明する。
【0072】
描画割り当て部46は、第一レンダリング部48へ描画パラメータG及び描画命令を出力する。
第一レンダリング部48は、描画パラメータGの描画処理を開始する。
(b)データ処理装置11の描画処理における動作を、図12に示すフローチャートを用いて説明する。
【0073】
制御部41は、1フレーム分の描画コマンド列を作成し、DL用メモリ26に書き込む(ステップS101)。
描画制御部42は、順次、1描画コマンドをDL用メモリ26より読み出す(ステップS102)。
描画制御部42は、読出した描画コマンドがTRAPであるか判定する(ステップS103)。
【0074】
読出した描画コマンドがTRAPでない場合(ステップS103でNO)、描画パラメータ設定部43は、当該描画コマンドを描画制御部42より受け取り、受取った当該描画コマンドを描画パラメータに変換する(ステップS104)。
描画範囲認識を行う(ステップS105)。後で詳細に説明する。
描画範囲判定を行う(ステップS106)。後で詳細に説明する。
【0075】
描画制御部42は、描画可能なプロセッサを識別する(ステップS107)。
前記識別した描画プロセッサがレンダリング専用Pのみである場合(ステップS107で、レンダリング専用P)、処理Aに進む。
前記識別した描画プロセッサが汎用Pのみである場合(ステップS107で、汎用P)、処理Bに進む。
【0076】
前記識別した描画プロセッサがレンダリング専用P及び汎用Pである場合(ステップS107で、レンダリング専用P及び汎用P)、処理Cに進む。
読出した描画コマンドがTRAPである場合(ステップS103でYES)、D/A27は、フレームメモリ23に記憶される画像データを液晶画面装置17へ送信する(ステップS108)。
〔7〕 描画範囲認識
描画範囲認識の動作を、図13に示すフローチャートを用いて説明する。
【0077】
描画範囲認識部44は、当該描画パラメータを描画パラメータ設定部43より受け取る(ステップS111)。
描画範囲認識部44は、当該描画パラメータに格納されている描画座標を全て抽出する(ステップS112)。
描画範囲認識部44は、抽出した全ての描画座標におけるX座標の最大値、X座標の最小値、Y座標の最大値、Y座標の最小値を求め、座標(X最小値、Y最小値)及び(X最大値、Y最大値)を描画範囲判定部45へ出力する(ステップS113)。
〔8〕 描画範囲判定
描画範囲判定の動作を、図14に示すフローチャートを用いて説明する。
【0078】
描画範囲判定部45は、判定FLGを設け、初期設定を0にする(ステップS121)。
描画範囲判定部45は、描画範囲認識部44より座標(XL、YL)及び(XB、YB)を受け取る(ステップS122)。
描画範囲判定部45は、描画範囲記憶部47より範囲座標(X’L、Y’L)及び(X’B、Y’B)を順に1つ読み出す(ステップS123)。
【0079】
描画範囲判定部45は、読み出す範囲座標の有無を確認する(ステップS124)。
描画範囲判定部45は、読み出す範囲座標がある場合(ステップS124でNO)、判別式1(XL>X’B)又は判別式2(XB<X’L)が成り立つか否か判別する(ステップS125)。
【0080】
描画範囲判定部45は、前記判別式1又は判別式2が成り立つ場合(ステップS125でYES)、描画範囲記憶部47より次の範囲座標を読み出す。
描画範囲判定部45は、前記判別式1又は判別式2が成り立たない場合(ステップS125でNO)、さらに、判別式3(YL>Y’B)又は判別式4(YB<Y’L)が成り立つか否か判別する(ステップS126)。
【0081】
描画範囲判定部45は、前記判別式3又は判別式4が成り立つ場合(ステップS126でYES)、描画範囲記憶部47より次の範囲座標を読み出す。
描画範囲判定部45は、前記判別式3又は判別式4が成り立たない場合(ステップS126でNO)、読出している範囲座標の描画処理を行っているレンダリング部の識別番号を記憶する(ステップS127)。
【0082】
描画範囲判定部45は、判定FLGを0から1に変更する(ステップS128)。
また、描画範囲判定部45は、全ての範囲座標の読み出しを終了すると(ステップS124でYES)、判定FLGが0又は1であるか判別する(ステップS129)。
【0083】
描画範囲判定部45は、判定FLGが0である場合(ステップS129で=0)、処理を終了する。
描画範囲判定部45は、判定FLGが1である場合(ステップS129で=1)、記憶している前記レンダリング部より終了信号を受け取ったか否か判別を行う(ステップS130)。
【0084】
描画範囲判定部45は、前記レンダリング部より終了信号を受け取るまで、前記判定を繰り返す(ステップS130でNO)。
描画範囲判定部45は、前記レンダリング部より終了信号を受け取り、フラグPnの値を1から0に変更する(ステップS131)。
描画範囲判定部45は、記憶しているレンダリング部の番号nを消去する(ステップS132)。
〔9〕 処理A
処理Aの動作を、図15に示すフローチャートを用いて説明する。
【0085】
描画制御部42は、フラグP1の状態を認識する(ステップS141)。
フラグP1が1である場合(ステップS141で=1)、描画割り当て部46は、第一レンダリング部48より終了信号を受け取るまで待機する。描画制御部42は、第一レンダリング部48より終了信号を受け取ると、フラグP1の設定を1から0に変更する(ステップS142)。
【0086】
描画割り当て部46は、描画範囲記憶部47より第一レンダリング部48が描画していた描画範囲を消去する(ステップS143)。
フラグP1が0である場合(ステップS141で=0)、描画割り当て部46は、当該描画パラメータと描画命令とを第一レンダリング部48へ出力する(ステップS144)。
【0087】
描画制御部42は、フラグP1の設定を0から1に変更する(ステップS145)。
描画割り当て部46は、座標(XL、YL)及び(XB、YB)を描画範囲記憶部47の範囲座標へ書き込み(ステップS146)、処理Dに進む。
〔10〕 処理B
処理Bの動作を、図16に示すフローチャートを用いて説明する。
【0088】
描画制御部42は、フラグP2の状態を認識する(ステップS151)。
フラグP2が1である場合(ステップS151で=1)、描画割り当て部46は、第二レンダリング部49より終了信号を受け取るまで待機する。描画制御部42は、第二レンダリング部49より終了信号を受け取ると、フラグP2の設定を1から0に変更する(ステップS152)。
【0089】
描画割り当て部46は、描画範囲記憶部47より第二レンダリング部49が描画していた描画範囲を消去する(ステップS153)。
フラグP2が0である場合(ステップS151で=0)、描画割り当て部46は、当該描画パラメータと描画命令とを第二レンダリング部49へ出力する(ステップS154)。
【0090】
描画制御部42は、フラグP2の設定を0から1に変更する(ステップS155)。
描画割り当て部46は、座標(XL、YL)及び(XB、YB)を描画範囲記憶部47の範囲座標へ書き込み(ステップS156)、処理Dに進む。
〔11〕 処理C
処理Cの動作を、図17に示すフローチャートを用いて説明する。
【0091】
終了FLGを設け、初期設定を0にする(ステップS161)。
外ループ(終了条件は、終了FLG=1)を設け、以下の処理を行う(ステップS162)。
内ループ(終了条件は、i=1、2 又は FLG=1)を設け、以下の処理を行う(ステップS163)。
【0092】
描画制御部42は、フラグPiの状態を認識する(ステップS164)。
フラグPiが1である場合(ステップS164で=1)、処理なし。
フラグPiが0である場合(ステップS164で=0)、描画割り当て部46は、当該描画パラメータと描画命令とを第一レンダリング部48へ出力する(ステップS165)。
【0093】
描画制御部42は、フラグPiの設定を0から1に変更する(ステップS166)。
描画制御部42は、終了FLGの設定を0から1に変更する(ステップS167)。
描画割り当て部46は、座標(XL、YL)及び(XB、YB)を描画範囲記憶部47の範囲座標へ書き込む(ステップS168)。
【0094】
内ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS169)。
描画制御部42は、終了信号を受け取ったか否かを判別する(ステップS170)。
描画制御部42は、第一レンダリング部48より終了信号を受取った場合(ステップS170で第一レンダリング部)、フラグP1の設定を1から0に変更する(ステップS171)。
【0095】
描画割り当て部46は、描画範囲記憶部47より第一レンダリング部48が描画していた描画範囲を消去する(ステップS172)。
描画制御部42は、第二レンダリング部49より終了信号を受取った場合(ステップS170で第二レンダリング部)、フラグP2の設定を1から0に変更する(ステップS173)。
【0096】
描画割り当て部46は、描画範囲記憶部47より第二レンダリング部49が描画していた描画範囲を消去する(ステップS174)。
終了信号の受取りを判別できない場合(ステップS170でNO)、処理なし。
外ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS175)。
[12]描画範囲の認識及び判定に関する変形例
描画範囲認識部44による認識方法と、描画範囲判定部45による判定方法とに関する変形例について、以下に説明する。
【0097】
(1)第1の変形例
ブロック法による描画範囲の認識及び判定について、以下に説明する。
(描画範囲の認識)
描画範囲認識部44は、図18に示すように、1フレームを所定サイズのブロックごとに区切り、各ブロックのブロック番号及び領域認識フラグを記憶する。ブロック番号は、1フレームにおける当該ブロックの位置を一意に識別する識別番号である。領域認識フラグは、当該ブロックに図形を含むか否かを示している。領域認識フラグ=0の場合、図形は当該ブロックに含まれておらず、領域認識フラグ=1の場合、図形は当該ブロックに含まれるとする。
【0098】
描画範囲認識部44の動作を、図19に示すフローチャートを用いて説明する。
描画範囲認識部44は、当該図形の図形種と描画パラメータとを描画パラメータ設定部43より受け取る(ステップS181)。
描画範囲認識部44は、受取った図形種が直線又は矩形であるかの判定を行う(ステップS182)。
【0099】
受取った図形種が直線である場合(ステップS182で直線)、描画範囲認識部44は、始点の座標データから始点を含むブロックB1を求める(ステップS183)。変数iを設け、初期値を1とする(ステップS184)。ブロックBiの4辺のうち、描画する直線と交差する辺を含むブロックBi+1を求める(ステップS185)。なお、描画する直線がブロックBiの頂点を通る場合、その頂点をはさんで向かいにあるブロックBi+1を求める。変数iに1を加える(ステップS186)。さらに、描画範囲認識部44は、ブロックBiが直線の終点を含むか否かの判定を行う(ステップS187)。描画範囲認識部44は、ブロックBiが直線の終点を含まなければ(ステップS187でNO)、上記の処理を繰り返す。描画範囲認識部44は、ブロックBiが直線の終点を含む場合(ステップS187でYES)、ブロックB1,B2,・・・・,Biを当該図形の描画範囲とする(ステップS188)。描画範囲認識部44は、当該図形の描画範囲とした全てのブロックのアドレス番号を、アドレスデータとして描画範囲判定部45へ出力する(ステップS192)。
【0100】
また、受取った図形種が矩形である場合(ステップS182で矩形)、描画範囲認識部44は、左上頂点の座標データから左上頂点を含むブロックを求める(ステップS189)。描画範囲認識部44は、左上頂点の座標データと幅、高さを示すパラメータから縦及び横の必要なブロック数を求める(ステップS190)。描画範囲認識部44は、左上頂点を含むブロックから前記ブロック数分を縦横に伸ばして得られる2辺のブロックの集りを当該図形の描画範囲とする(ステップS191)。描画範囲認識部44は、当該図形の描画範囲とした全てのブロックのアドレス番号を、アドレスデータとして描画範囲判定部45へ出力する(ステップS192)。
【0101】
上記の動作により、図18の図形f21の描画範囲は、ブロック43、44、45、46、63、64、65及び66となる。また、直線f22の描画範囲は、ブロック23、24、42、43及び62となる。
(描画範囲の判定)
描画範囲判定部45の動作を、図20に示すフローチャートを用いて説明する。
【0102】
判定フラグを設け、初期値を0とする(ステップS201)。
描画範囲判定部45は、描画範囲認識部44よりアドレスデータAを受け取り、受取ったアドレスデータAよりアドレス番号ai(i=1,2,・・・・,n)を全て抽出する(ステップS202)。
描画範囲判定部45は、描画範囲記憶部47よりアドレスデータBを順に1つ読み出し、読出したアドレスデータBよりアドレス番号bj(j=1,2,・・・・,m)を全て抽出する(ステップS203)。
【0103】
EOF判定を行う(ステップS204)。
外ループ(終了条件は、i=1,2,・・・・,n)を設け、以下の処理を行う(ステップS205)。
内ループ(終了条件は、j=1,2,・・・・,m)を設け、以下の処理を行う(ステップS206)。
【0104】
描画範囲判定部45は、aiとbjとについて等しいか否か判定する(ステップS207)。
描画範囲判定部45は、aiとbjとが等しい場合(ステップS207で=)、読み出しているアドレスデータBを描画範囲とする描画パラメータの描画を処理しているレンダリング部を記憶し(ステップS208)、判定フラグを1に変更する(ステップS209)。
【0105】
内ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS210)。
外ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS211)。
さらに、描画範囲判定部45は、判定フラグの認識を行う(ステップS212)。
【0106】
描画範囲判定部45は、判定フラグが1である場合(ステップS212で=1)、記憶しているレンダリング部より終了信号を受け取ったか否か判別を行う(ステップS213)。
描画範囲判定部45は、前記レンダリング部より終了信号を受け取るまで、前記判定を繰り返す(ステップS213でNO)。
【0107】
描画範囲判定部45は、前記レンダリング部より終了信号を受け取る場合(ステップS213でYES)、フラグPnを1から0に変更し(ステップS214)、記憶している番号nを消去する(ステップS215)。
上記の動作により、図18の図形f21と直線f22との描画範囲は重なると判定される。
【0108】
(2)第2の変形例
三角形法による描画範囲の認識及び判定について、以下に説明する。
(描画範囲の認識)
描画範囲認識部44は、図21に示すように、フレームに描く図形を三角形ごとに区分する。例えば、図形f31は、S1とS2との2つの三角形に区分する。図形f32は、T1とT2との2つの三角形に区分する。図形f34は、T’1とT’2とT’3との3つの三角形に区分する。
【0109】
描画範囲認識部44の動作を、図22に示すフローチャートを用いて説明する。
描画範囲認識部44は、当該描画パラメータを描画パラメータ設定部43より受け取る(ステップS221)。
描画範囲認識部44は、受取った当該描画パラメータにより描画しようとするn角形の図形を(n−2)個の三角形Siに区分する(ステップS222)。
【0110】
ループ[終了条件は、i=1,2,・・・・,(n―2)]を設け、以下の処理を行う(ステップS223)。
描画範囲認識部44は、三角形Siの頂点座標を求める(ステップS224)。
ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS225)。
【0111】
描画範囲認識部44は、求めた頂点座標を三角形Siの描画範囲として、描画範囲判定部45へ出力する(ステップS226)。
(描画範囲の判定)
描画範囲判定部45の動作を、図23に示すフローチャートを用いて説明する。
【0112】
描画範囲判定部45は、判定フラグを設け、初期値を0とする(ステップS231)。
描画範囲判定部45は、描画範囲認識部44よりn−2個の三角形Si(i=1,2,・・・・・,n−2)の描画範囲を受け取る(ステップS232)。
描画範囲判定部45は、描画範囲記憶部47より順に1描画パラメータに該当するm個の三角形Tjの描画範囲を読み出す(ステップS233)。
【0113】
EOF判定を行う(ステップS234)。
外ループ[終了条件は、i=1,2,・・・・,(n−2)]を設け、以下の処理を行う(ステップS235)。
内ループ(終了条件は、j=1,2,・・・・,m)を設け、以下の処理を行う(ステップS236)。
【0114】
描画範囲判定部45は、三角形Siの描画範囲と三角形Tjの描画範囲とが重なるか否か判定する(ステップS237)。
描画範囲判定部45は、三角形Siの描画範囲と三角形Tjの描画範囲とが重なる場合(ステップS237で重なる)、読み出している描画パラメータを処理しているレンダリング部を記憶し(ステップS238)、判定フラグを1に変更する(ステップS239)。
【0115】
内ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS240)。
外ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS241)。
さらに、描画範囲判定部45は、判定フラグの認識を行う(ステップS242)。
【0116】
描画範囲判定部45は、判定フラグが1である場合(ステップS242で=1)、記憶しているレンダリング部より終了信号を受け取ったか否か判別を行う(ステップS243)。
描画範囲判定部45は、前記レンダリング部より終了信号を受け取るまで、前記判定を繰り返す(ステップS243でNO)。
【0117】
描画範囲判定部45は、前記レンダリング部より終了信号を受け取る場合(ステップS243でYES)、フラグPnを1から0に変更し(ステップS244)、記憶している番号nを消去する(ステップS245)。
上記の動作により、図21の三角形S2と三角形T1とはf33の部分で重なっているので、描画範囲判定部45は、図形f31と図形f32との描画範囲は重なると判定する。
【0118】
(3)第3の変形例
交線法による描画範囲の認識及び判定について、以下に説明する。
(描画範囲の認識)
描画範囲認識部44は、図24に示すように、フレームに描く図形を囲む外枠の線を全て認識する。例えば、図形f41の描画範囲は、頂点p41と頂点p42とを通る直線と、頂点p42と頂点p43とを通る直線と、頂点p43と頂点p44とを通る直線と、頂点p44と頂点p41とを通る直線とからなる。図形f42の描画範囲は、頂点p45と頂点p46とを通る直線と、頂点p46と頂点p47とを通る直線と、頂点p47と頂点p45とを通る直線とからなる。
【0119】
描画範囲認識部44の動作を、図25に示すフローチャートを用いて説明する。
描画範囲認識部44は、当該描画パラメータを描画パラメータ設定部43より受け取る(ステップS251)。
描画範囲認識部44は、当該描画パラメータに格納される描画座標を全て抽出する(ステップS252)。
【0120】
描画範囲認識部44は、抽出した描画座標より図形を囲む直線を示す式f(i=1,2,・・・・,n)、条件(x1<X<x2)を全て求める(ステップS253)。
描画範囲認識部44は、求めた式を当該描画パラメータの描画範囲として、描画範囲判定部45へ出力する(ステップS254)。
(描画範囲の判定)
描画範囲判定部45の動作を、図26に示すフローチャートを用いて説明する。
【0121】
描画範囲判定部45は、判定フラグを設け、初期値を0とする(ステップS261)。
描画範囲判定部45は、描画範囲認識部より当該描画パラメータの描画範囲を受け取り、直線を示す式f(i=1,2,・・・・,n)を抽出する(ステップS262)。
【0122】
描画範囲判定部45は、描画範囲記憶部47より順に1描画パラメータの描画範囲に該当する式f’(j=1,2,・・・・,m)を読み出す(ステップS263)。
EOF判定を行う(ステップS264)。
外ループ(終了条件は、i=1,2,・・・・,n)を設け、以下の処理を行う(ステップS265)。
【0123】
内ループ(終了条件は、j=1,2,・・・・,m)を設け、以下の処理を行う(ステップS266)。
描画範囲判定部45は、f(i)とf’(i)とは交わるか否か判定する(ステップS267)。
描画範囲判定部45は、f(i)とf’(i)とは交わる場合(ステップS267で交わる)、読み出している描画パラメータを処理しているレンダリング部を記憶し(ステップS268)、判定フラグを1に変更する(ステップS269)。
【0124】
内ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS270)。
外ループは、前記設定条件を満たすまで、上記の処理を繰り返す(ステップS271)。
さらに、描画範囲判定部45は、判定フラグの認識を行う(ステップS272)。
【0125】
描画範囲判定部45は、判定フラグが1である場合(ステップS272で=1)、記憶しているレンダリング部より終了信号を受け取ったか否か判別を行う(ステップS273)。
描画範囲判定部45は、前記レンダリング部より終了信号を受け取るまで、前記判定を繰り返す(ステップS273でNO)。
【0126】
描画範囲判定部45は、前記レンダリング部より終了信号を受け取る場合(ステップS273でYES)、フラグPnを1から0に変更し(ステップS274)、記憶している番号nを消去する(ステップS275)。
上記の動作により、描画範囲判定部45は、図24における頂点p43と頂点p44とを通る直線と、頂点p45と頂点p46とを通る直線とが交点p48で交わると判別する。さらに、描画範囲判定部45は、頂点p43と頂点p44とを通る直線と、頂点p47と頂点p45とを通る直線とが交点p49で交わると判別する。
[15]その他の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1) 本発明は、上記の実施の形態において、描画を行うプロセッサを2個備えるが、2個に限定するものではなく、2個以上備えてもよい。
(2) 本発明は、上記の実施の形態におけるレンダリング専用P21と汎用P22とを備える構成に限定されるものではなく、レンダリング専用P21のみを複数個備える構成でもよいし、又は汎用P22のみを複数個備える構成でもよい。
(3) 本発明は、レンダリング専用P21を複数個備える構成において、各レンダリング専用Pは個々に描画用レジスタ211を備えてもよいし、又は1つの描画用レジスタを共有するとしてもよい。その場合の相違点を中心に、図27を用いて説明する。
(構成)
レンダリング専用P21は、上記の実施の形態と同様な構成のため、説明を省略する。
【0127】
レンダリング専用P23は、描画用レジスタ231、命令レジスタ/アドレス232、デコーダ233、描画実行回路234、描画実行回路235、描画実行回路236及びアキュムレータ237から構成される。
(動作)
描画用レジスタ231は、CPU24より描画パラメータを受け取り、受取った前記描画パラメータを記憶する。
【0128】
命令レジスタ/アドレス232は、CPU24より描画命令及び割当て命令を受け取り、受取った前記描画命令及び前記割当て命令を記憶する。
デコーダ233は、命令レジスタ232より描画命令及び割当て命令を読み出し、読出した描画命令及び割当て命令を解読し、解読した描画命令を解読した割当て命令により指定される描画実行回路へ出力する。
【0129】
描画実行回路234は、デコーダ233より描画命令を受け取る。描画実行回路234は、受取った描画命令に従って、描画用レジスタ231から描画パラメータを読み出す。さらに、描画実行回路234は、前記描画命令に従って、読出した前記描画パラメータの描画処理を実行し、画像データを作成する。描画実行回路234は、作成した画像データをアキュムレータ237へ出力する。さらに、描画実行回路234は、終了信号をCPU24へ出力する。
【0130】
アキュムレータ237は、描画実行回路234より画像データを受け取り、受取った画像データをフレームバス33を介してフレームメモリ23へ出力し、フレームメモリ23に記憶させる。
また、描画実行回路235は、デコーダ233より描画命令を受け取る。描画実行回路235は、受取った描画命令に従って、描画用レジスタ231から描画パラメータを読み出す。さらに、描画実行回路235は、前記描画命令に従って、読出した前記描画パラメータの描画処理を実行し、画像データを作成する。描画実行回路235は、作成した画像データをアキュムレータ237へ出力する。さらに、描画実行回路235は、終了信号をCPU24へ出力する。
【0131】
アキュムレータ237は、描画実行回路235より画像データを受け取り、受取った画像データをフレームバス33を介してフレームメモリ23へ出力し、フレームメモリ23に記憶させる。
また、描画実行回路236は、デコーダ233より描画命令を受け取る。描画実行回路236は、受取った描画命令に従って、描画用レジスタ231から描画パラメータを読み出す。さらに、描画実行回路236は、前記描画命令に従って、読出した前記描画パラメータの描画処理を実行し、画像データを作成する。描画実行回路236は、作成した画像データをアキュムレータ237へ出力する。さらに、描画実行回路236は、終了信号をCPU24へ出力する。
【0132】
アキュムレータ237は、描画実行回路236より画像データを受け取り、受取った画像データをフレームバス33を介してフレームメモリ23へ出力し、フレームメモリ23に記憶させる。
(4) 本発明は、上記の実施の形態における描画範囲の認識及び判定方法に限定されるものではなく、その他の妥当な描画範囲の認識及び判定方法により動作する描画装置であってもよい。
(5) 本発明は、上記の実施の形態に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するためのコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0133】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【0134】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回路、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【0135】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(6)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【0136】
【発明の効果】
以上説明したように、本発明は、フレームメモリに複数の図形を描くことによりグラフィック画像を生成する描画装置であって、第1図形を描くための構成要素である第1図形情報と、第2図形を描くための構成要素である第2図形情報とを含む複数の図形情報を記憶している記憶手段と、各図形情報に基づいて前記フレームメモリに図形を描くプロセッサを複数個備え、前記複数あるプロセッサのうち、第1図形情報に基づいて前記フレームメモリに第1図形を描く第1プロセッサと、第2図形情報に基づいて前記フレームメモリに第2図形を描く第2プロセッサとは並行して動作することにより、前記第1図形と前記第2図形とは同一時間帯に同一フレームメモリ上に描かれることを特徴とする。
【0137】
この構成によると、フレームメモリに図形を描くプロセッサを複数個備えるので、所定時間内にフレームメモリに描くことの出来る図形の数を増やすことが可能となる。
ここで、前記描画装置は、さらに前記記憶手段から第3図形情報を読み出す読出し手段と、前記第3図形情報により示される第3図形がフレームメモリ上に占めるはずの第3図形範囲を生成する範囲生成手段と、前記第3図形範囲が、現在動作中にあるプロセッサにより描かれている図形のフレームメモリ上に占める第4図形範囲と重なるか否かを判定する判定手段と、前記判定手段により重ならないと判定される場合、待機状態にあるプロセッサに前記第3図形情報を割り当てる割当て手段とを備える。
【0138】
この構成によると、同一時間帯に複数のプロセッサがフレームメモリ内の同じ位置に対して別々の図形を描くことはなくなり、最終的にフレームメモリに描かれる各図形の前後配置に矛盾を生じないようにすることが出来る。
ここで、前記図形情報は、図形を構成する頂点の座標情報を含み、前記範囲生成手段は、前記座標情報より前記図形を構成する頂点のX座標の最大値XB、X座標の最小値XL、Y座標の最大値YB及びY座標の最小値YLを抽出し、座標(XL、YL)及び(XB、YB)の2点で囲まれた矩形範囲を前記第一図形範囲とみなす。
【0139】
この構成によると、図形の全ての頂点より抽出する座標(XL、YL)及び(XB、YB)のみを描画範囲データ104で扱えばよいこととなり、扱うデータ量を少なく抑えることが可能となる。
ここで、前記判定手段は、さらに前記XBが現在プロセッサが描いている図形の範囲におけるX座標の最小値より大きいか、または前記XLが現在プロセッサが描いている図形の範囲におけるX座標の最大値より小さいかを判別する第一判別部と、前記YBが現在プロセッサが描いている図形の範囲におけるY座標の最小値より大きいか、または前記YLが現在プロセッサが描いている図形の範囲におけるY座標の最大値より小さいかを判別する第二判別部と、前記第一判別部又は前記第二判別部による前記判別が成り立つ場合、前記図形の範囲は現在プロセッサが描いている図形の範囲と重ならないと判定する判定部とを含む。
【0140】
この構成によると、前記第一判別部又は前記第二判別部による前記判別が成り立つ場合、前記図形の範囲は現在プロセッサが描いている図形の範囲と重ならないと判定するので、図形範囲の判定を効率的に行うことが可能となる。
ここで、フレームメモリに相当する図形領域は、所定数の画素から構成されるブロックごとに区分されており、前記範囲生成手段は、前記図形領域に図形を描いたと想定したときに図形が含まれるブロックの集まりを前記第一図形範囲とみなす。
【0141】
この構成によると、図形が含まれるブロックの集まりのみを描画範囲データ104で扱えばよいこととなり、扱うデータ量を少なく抑えることが可能となる。
ここで、前記判定手段は、前記第一図形範囲に含まれるブロックのいずれかが、前記第二図形範囲に含まれるブロックのいずれかと一致する場合、前記第一図形範囲は前記第二図形範囲と重なると判定する。
【0142】
この構成によると、図形範囲の判定を効率的に行うことが可能となる。
ここで、前記各ブロックは、図形を含んでいるか否かを示すフラグ情報を含み、前記範囲生成手段は、各ブロックのフラグ情報を生成し、前記判定手段は、前記フラグ情報を用いて判定を行う。
この構成によると、図形範囲の生成及び判定を、フラグ情報の制御により行うことが可能となる。
【0143】
ここで、複数あるプロセッサの一部は、図形を描く描画命令のみを実行する描画専用プロセッサであり、複数あるプロセッサの残りは、全ての処理命令を実行する汎用プロセッサである。
この構成によると、図7に示したように、描画専用プロセッサと汎用プロセッサとの処理能力の違いを有効に活用した描画処理を行うことが可能となる。
【0144】
ここで、複数あるプロセッサの全ては、全ての処理命令を実行する汎用プロセッサである。
この構成によると、所定時間内にシェーディングのような高度な描画処理を施す必要のある図形をより多く描くことが可能となる。
ここで、複数あるプロセッサの全ては、図形を描く描画命令のみを実行する描画専用プロセッサである。
【0145】
この構成によると、所定時間内に描ける図形の数をさらに増やすことが出来る。
ここで、各描画専用プロセッサは、前記図形情報を記憶する描画レジスタを個別に備える。
この構成によると、各描画専用プロセッサは独自に動作することが出来るので、装備する描画専用プロセッサの個数を容易に変更することが可能となる。
【0146】
ここで、複数ある描画専用プロセッサは、前記図形情報を記憶する描画レジスタ1つを共有する。
この構成によると、描画レジスタを複数個用意しなくてもよいので、描画専用プロセッサを安価に構成することが可能となる。
ここで、前記汎用プロセッサが実行する処理命令は、描画命令に限定される。
【0147】
この構成によると、前記汎用プロセッサは描画命令のみを実行することとなるので、所定時間内に描ける図形の数を増やすことが出来る。
【図面の簡単な説明】
【図1】 カーナビゲーションシステム1の構成を示す図である。
【図2】 カーナビゲーション装置10の構成を示す図である。
【図3】 データ処理装置11の構成を示すブロック図である。
【図4】 描画コマンド表101の構成及び内容例を示す図である。
【図5】 CPU24の構成を示すブロック図である。
【図6】 描画パラメータ表102の構成及び内容例を示す図である。
【図7】 処理可否一覧表103の構成及び内容例を示す図である。
【図8】 描画範囲データ表104の構成及び内容例を示す図である。
【図9】 レンダリング専用P21及び汎用P22の構成を示すブロック図である。
【図10】 描画制御部42、第一レンダリング部48及び第二レンダリング部49による処理のタイミングを示すタイムチャートである。
【図11】 フレーム上に複数の図形が描かれている状態を示す図である。
【図12】 CPU24による描画処理の動作を示すフローチャートである。
【図13】 CPU24による描画範囲認識の動作を示すフローチャートである。
【図14】 CPU24による描画範囲判定の動作を示すフローチャートである。
【図15】 CPU24による処理Aの動作を示すフローチャートである。
【図16】 CPU24による処理Bの動作を示すフローチャートである。
【図17】 CPU24による処理Cの動作を示すフローチャートである。
【図18】 ブロック法によりフレーム上に複数の図形が描かれている状態を示す図である。
【図19】 ブロック法による描画範囲認識の動作を示すフローチャートである。
【図20】 ブロック法による描画範囲判定の動作を示すフローチャートである。
【図21】 三角形法によりフレーム上に複数の図形が描かれている状態を示す図である。
【図22】 三角形法による描画範囲認識の動作を示すフローチャートである。
【図23】 三角形法による描画範囲判定の動作を示すフローチャートである。
【図24】 交線法によりフレーム上に複数の図形が描かれている状態を示す図である。
【図25】 交線法による描画範囲認識の動作を示すフローチャートである。
【図26】 交線法による描画範囲判定の動作を示すフローチャートである。
【図27】 レンダリング専用P23の構成を示すブロック図である。
【符号の説明】
1 カーナビゲーションシステム
2 GPS衛星
3 VICS基地
10 カーナビゲーション装置
11 データ処理装置
12 GPSアンテナ
13 VICSアンテナ
14 自車センサ
15 リモコン装置
16 受光装置
17 液晶画面装置
18 地図ディスク
21 レンダリング専用プロセッサ
22 汎用プロセッサ
23 フレームメモリ
24 CPU
25 主記憶部
26 ディスプレイリスト用メモリ
28 DVD−ROM読取部
29 外部入力インターフェース部
31 フレームバス
32 システムバス
33 フレームバス
34 フレームバス
35 フレームバス
36 主記憶部
41 制御部
42 描画制御部
43 描画パラメータ設定部
44 描画範囲認識部
45 描画範囲判定部
46 描画割り当て部
47 描画範囲記憶部
48 第一レンダリング部
49 第二レンダリング部
103 処理可否一覧表
104 描画範囲データ
211 描画用レジスタ
212 命令レジスタ
213 デコーダ
214 描画実行回路
215 アキュムレータ
221 プログラムカウンタ(PC)
222 命令レジスタ
223 データレジスタ
224 デコーダ
225 演算回路
226 アキュムレータ
231 描画用レジスタ
232 命令レジスタ
233 デコーダ
234 描画実行回路3
235 描画実行回路2
236 描画実行回路1
237 アキュムレータ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a drawing processing technique using computer graphics.
[0002]
[Prior art]
In recent years, drawing processing using computer graphics has been widely used in video games and car navigation systems.
The drawing apparatus that performs the drawing process includes a CPU, a main storage unit, a drawing-dedicated processor (hereinafter referred to as drawing-dedicated P), a frame memory, and other units. The drawing-dedicated P is an arithmetic circuit that executes a drawing process according to a drawing command output from the CPU. The frame memory is a RAM that stores image data.
[0003]
The CPU sequentially fetches instructions from the main storage unit, and outputs only drawing commands to the drawing-dedicated P among the fetched commands. The drawing-dedicated P receives a drawing command from the CPU, creates drawing data by executing drawing processing according to the received drawing command, and stores the created image data in the frame memory.
[0004]
[Problems to be solved by the invention]
However, to draw images such as people, vehicles, and backgrounds displayed on video game machines with a more realistic depiction, and to display images such as roads, buildings, and terrain displayed by a car navigation system at high speed, The prior art drawing apparatus does not have sufficient processing capability, and there is a demand for drawing more figures than the number of figures drawn by the drawing apparatus within a predetermined time.
[0005]
In order to solve the above-described demand, the present invention provides a drawing system, a drawing method, a drawing program, a recording medium in which a drawing program is recorded, and a drawing capable of drawing more figures than before in a predetermined time. An object of the present invention is to provide a drawing apparatus having a program.
[0006]
[Means for Solving the Problems]
  In order to achieve the above object, the present invention provides a drawing apparatus that generates a graphic image by drawing a plurality of figures in a frame memory, and includes first graphic information that is a component for drawing the first figure, A plurality of graphic information including second graphic information that is a component for drawing the second graphic, and a plurality of processors for drawing the graphic in the frame memory based on each graphic information. Among the plurality of processors, a first processor that draws a first graphic in the frame memory based on first graphic information and a second processor that draws a second graphic in the frame memory based on second graphic information By operating in parallel, the first graphic and the second graphic are in the same time zone.It is drawn on the same frame memory, the first processor is in an operation state in which the first graphic is drawn in the frame memory, and the second processor tries to transition from a standby state to an operation state in which the second graphic is drawn. The drawing apparatus further generates a second graphic range that the second graphic indicated by the second graphic information should occupy on the frame memory, and a reading unit that reads the second graphic information from the storage unit. Range generating means for determining, and determining means for determining whether or not the second graphic range overlaps with the first graphic range occupied on the frame memory of the first graphic drawn by the first processor in the operating state; Allocating means for allocating the second graphic information to a second processor in a standby state when it is determined by the determining means that they do not overlap, By starting drawing the second graphic based on the second graphic information assigned by the processor, the first processor and the second processor operate in parallel, and the graphic area corresponding to the frame memory has a predetermined area. Each of the blocks is composed of a plurality of pixels, and when the range generation means assumes that the second graphic is drawn in the graphic area, a group of blocks including the second graphic is displayed in the second graphic The determination means determines that if any of the blocks included in the second graphic range coincides with any of the blocks included in the first graphic range, the second graphic range is the first graphic range. It is characterized by determining that it overlaps.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
A car navigation system 1 will be described as an embodiment of the present invention.
[1] Car navigation system 1
As shown in FIG. 1, the car navigation system 1 includes a GPS satellite 2, a VICS base 3, and a car navigation device 10.
[0009]
The GPS satellite 2 transmits GPS radio waves used in a location information service called GPS (Global Positioning System). The VICS base 3 periodically transmits VICS radio waves used in road traffic notification services such as road traffic congestion and road construction called VICS (Vehicle Information and Communication System).
The car navigation device 10 receives GPS radio waves from the GPS satellite 2 and further receives VICS radio waves from the VICS base 3. The car navigation device 10 recognizes the current position of the vehicle from the received GPS radio wave, and further grasps the road condition from the received previous VICS radio wave.
[2] Car navigation device 10
As shown in FIG. 2, the car navigation device 10 includes a data processing device 11, a GPS antenna 12, a VICS antenna 13, a vehicle sensor 14, a remote control device 15, a light receiving device 16, and a liquid crystal screen device 17.
[0010]
The data processing device 11 is connected to the GPS antenna 12 with a dedicated cable. The data processing device 11 is connected to the VICS antenna 13 with a dedicated cable. The data processing device 11 is connected to the vehicle sensor 14 with a dedicated cable. The data processing device 11 is connected to the liquid crystal screen device 17 with a dedicated cable.
Further, the data processing apparatus 11 includes a disk drive for storing the map disk 18. The remote control device 15 transmits data to the light receiving device 16 by infrared rays.
[0011]
The GPS antenna 12 transmits a GPS signal to the data processing device 11. The VICS antenna 13 transmits a VICS signal to the data processing device 11. The own vehicle sensor 14 transmits position correction data to the data processing device 11. The position correction data is speed information attached to the vehicle and position information obtained by a gyro sensor. The remote control device 15 transmits operation information to the light receiving device 16. The operation information is instruction contents issued from the user. The light receiving device 16 transmits the operation information received from the remote control device 15 to the data processing device 11.
[0012]
The data processing device 11 calculates the vehicle position using the received GPS signal, VICS signal, host vehicle data, and operation information, creates image data based on a user instruction, and creates the created image data. Transmit to the liquid crystal screen device 17.
The liquid crystal screen device 17 receives the image data from the data processing device 11 and displays the received image data on the liquid crystal screen.
[3] Data processor 11
(Configuration of data processing apparatus 11)
As shown in FIG. 3, the data processing apparatus 11 includes a rendering-dedicated processor 21, a general-purpose processor 22, a frame memory 23, a CPU 24, a main storage unit 25, a display list memory 26, a D / A 27, a DVD-ROM reading unit 28. , An external input interface unit 29, a frame bus 31, and a system bus 32.
[0013]
The rendering-dedicated processor 21 (hereinafter referred to as rendering-dedicated P) is an arithmetic circuit that executes only a drawing process for drawing a figure.
The general-purpose processor 22 (hereinafter referred to as general-purpose P) is an arithmetic circuit that not only executes drawing processing but also executes arithmetic operations performed by the CPU.
The frame memory 23 is a RAM that stores image data that has been subjected to drawing processing.
[0014]
The CPU 24 is a central processing circuit that includes a control unit that controls each device in accordance with an instruction fetched from the main memory, and a calculation unit that calculates data received from the control unit.
The main storage unit 25 is a RAM that stores instructions and data.
The display list memory 26 (hereinafter referred to as DL memory) is a FIFO type RAM that stores drawing commands. The drawing command is a variable indicating a figure, and specifically includes a figure type, attribute, color, number of vertices, and modeling coordinate values as shown in FIG. The figure type is a kind of figure such as a straight line, a polygon, a rectangle, or a triangle. The attribute is the content of special processing applied to the graphic such as [with shading] and [width 3]. If no attribute is specified, the default setting is used. A color is a color to be applied to a figure. The number of vertices is the number of vertices of the figure in a straight line or polygon. The modeling coordinate value is a value representing the relative position of each vertex of the figure.
[0015]
The D / A 27 is a converter that converts a digital signal into an RGB analog signal.
The DVD-ROM reading unit 28 is a disk reader that reads data from a storage disk.
The external input interface unit 29 is a control circuit that receives data from an external device, outputs the received data to the main storage unit, and stores it.
(Operation of the data processing apparatus 11)
The external input interface unit 29 receives GPS signals, VICS signals, own vehicle data, and operation information from the GPS antenna 12, the VICS antenna 13, the own vehicle sensor 14, and the light receiving device 16, and receives the received GPS signals, VICS signals, The vehicle data and the operation information are output to the main storage unit 25 via the system bus 32 and stored.
[0016]
The CPU 24 sequentially reads instructions from the main storage unit 25. Further, the CPU 24 reads a GPS signal, a VICS signal, own vehicle data, and operation information from the main storage unit 25 in accordance with the read command. The CPU 24 reads map data from the DVD-ROM reading unit 28 in accordance with the read command.
The CPU 24 calculates the vehicle position from the read GPS signal, VICS signal, vehicle data, operation information, and map data, and creates a drawing command.
[0017]
The CPU 24 outputs the created drawing command to the DL memory 26 via the frame bus 31 and stores it.
Further, the CPU 24 sequentially reads the drawing commands from the DL memory 26, decodes the read drawing commands, creates drawing parameters, and outputs them to the rendering-only P21 or the general-purpose P22.
[0018]
The rendering-only P21 receives drawing parameters from the CPU 24. The rendering-dedicated P21 executes drawing processing based on the received drawing parameters and creates image data. The rendering-dedicated P21 outputs the created image data to the frame memory 23 via the frame bus 31 and stores it.
The general-purpose P22 receives drawing parameters from the CPU 24. The general-purpose P22 executes drawing processing based on the received drawing parameters and creates image data. The general-purpose P22 outputs the created image data to the frame memory 23 via the frame bus 31 and stores it.
[0019]
The D / A 27 reads image data from the frame memory 23. The D / A 27 converts the read image data into an RGB analog signal, and transmits the converted RGB analog signal to the liquid crystal screen device 17.
[4] CPU 24
As shown in FIG. 5, the CPU 24 includes a control unit 41, a drawing control unit 42, a drawing parameter setting unit 43, a drawing range recognition unit 44, a drawing range determination unit 45, a drawing assignment unit 46, and a drawing range storage unit 47. The
(Control unit 41)
The control unit 41 reads commands and data from the main storage unit 25 via the system bus 32, and creates a plurality of drawing commands (hereinafter referred to as drawing command sequences) according to the read commands.
[0020]
The control unit 41 rearranges the created drawing command sequence in the order in which the rendering processor described later should perform the drawing process.
The control unit 41 outputs the rearranged drawing command sequence to the DL memory 26 via the frame bus 31 and stores it.
(Drawing control unit 42)
The drawing control unit 42 reads out one drawing command in order from the drawing command sequence stored in the DL memory 26 and outputs the read drawing command to the drawing parameter setting unit 43.
(Drawing parameter setting unit 43)
The drawing parameter setting unit 43 receives the drawing command from the drawing control unit 42 and converts the received drawing command into a drawing parameter. The drawing parameter is a variable necessary for the drawing processor to draw a figure in the frame memory, and specifically includes a figure type, an attribute, and drawing coordinates as shown in FIG. The figure type is a kind of figure such as a straight line, a polygon, a rectangle, or a triangle. The attribute is the content of special processing applied to the graphic such as [with shading] and [width 3]. If no attribute is specified, the default setting is used. The drawing coordinates are (X coordinate, Y coordinate) at each vertex of the figure.
[0021]
The drawing parameter setting unit 43 outputs the converted drawing parameter to the drawing range recognition unit 44.
(Drawing range recognition unit 44)
The drawing range recognition unit 44 receives the drawing parameter from the drawing parameter setting unit 43. The drawing range recognition unit 44 extracts all the drawing coordinates stored in the drawing parameter.
[0022]
The drawing range recognizing unit 44 determines the maximum value X of the X coordinates in all the extracted drawing coordinates.B, X coordinate minimum value XL, Y coordinate maximum value YBAnd the minimum value Y of the Y coordinateLAnd calculated (XL, YL) And (XB, YB) As a drawing range of the drawing parameter.
(Drawing range determination unit 45)
The drawing range determination unit 45 has an overlap determination flag and a variable n. The overlap determination flag indicates the degree of overlap between the two areas. When the overlap determination flag = 0, the two areas do not overlap. When the overlap determination flag = 1, the two areas overlap. The default value is 0. The variable n is an identification number that uniquely identifies the rendering unit that performs the drawing process of the read range coordinates.
[0023]
The drawing range determination unit 45 receives the drawing range (XL, YL) And (XB, YB). Further, the drawing range determination unit 45 receives range coordinates (X ′) from the drawing range storage unit 47.L, Y ’L) And (X 'B, Y ’B) In order.
The drawing range determination unit 45 uses the discriminant 1 (XL> X ’B) Or discriminant 2 (XB<X ’L) Is determined.
[0024]
The drawing range determination unit 45 reads the next range coordinates from the drawing range storage unit 47 when the discriminant 1 or the discriminant 2 is established.
When the discriminant 1 and the discriminant 2 are not satisfied, the drawing range determination unit 45 further determines the discriminant 3 (YL> Y ’B) Or discriminant 4 (YB<Y ’L) Is determined.
[0025]
The drawing range determination unit 45 reads the next range coordinates from the drawing range storage unit 47 when the discriminant 3 or 4 is satisfied.
When the discriminant 3 and discriminant 4 do not hold, the drawing range determination unit 45 stores the variable n, changes the value of the overlap determination flag from 0 to 1, and sets the next range coordinates from the drawing range storage unit 47. read out.
[0026]
When the drawing range determination unit 45 finishes reading all the range coordinates, the drawing range determination unit 45 recognizes the value of the overlap determination flag, and when the overlap determination flag is 0, the drawing range (XL, YL) And (XB, YB) Is output to the drawing range storage unit 47 and stored therein.
Further, when the overlap determination flag is 1, the drawing range determination unit 45 determines whether or not an end signal is received from the stored rendering unit of the variable n.
[0027]
The drawing range determination unit 45 repeats the determination until an end signal is received from the rendering unit.
When the drawing range determination unit 45 receives an end signal from the rendering unit, the drawing range determination unit 45 changes the flag Pn from 1 to 0, and draws the drawing range (XL, YL) And (XB, YB) Is output to the drawing range storage unit 47 and stored therein.
[0028]
In addition, the drawing range determination unit 45 outputs the drawing parameters to the drawing assignment unit 46.
(Drawing allocation unit 46)
The drawing assignment unit 46 has a flag P1 and a flag P2. The flag P1 indicates the operating state of the first rendering unit 48. The first rendering unit 48 is not operating at P1 = 0, and the first rendering unit 48 is operating at P1 = 1. The flag P2 indicates the operating state of the second rendering unit 49. The second rendering unit 49 is not operating at P2 = 0, and the second rendering unit 49 is operating at P2 = 1.
[0029]
Further, the drawing assignment unit 46 stores a process availability list 103 as shown in FIG.
The drawing assignment unit 46 receives the drawing parameter from the drawing range determination unit 45 and reads the figure type included in the received drawing parameter. The drawing assigning unit 46 determines a drawing processor capable of performing the drawing processing of the read graphic type using the processability list 103.
(1) P only for rendering
When the determined drawing processor is only the rendering-only P, the drawing allocation unit 46 determines the flag P1 of the first rendering unit 48 including the rendering-only P.
[0030]
When the flag P <b> 1 is 1, the drawing assignment unit 46 stands by until an end signal is received from the first rendering unit 48. When the drawing allocation unit 46 receives the end signal from the first rendering unit 48, it changes the flag P <b> 1 to 0 and erases the drawing range stored in the drawing range storage unit 47.
Further, the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the first rendering unit 48, and changes the flag P1 from 0 to 1.
[0031]
If the flag P1 is 0, the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the first rendering unit 48, and changes the flag P1 from 0 to 1.
(2) General-purpose P only
When the determined drawing processor is only the general-purpose P, the drawing allocation unit 46 determines the flag P2 of the second rendering unit 49 including the general-purpose P.
[0032]
When the flag P <b> 2 is 1, the drawing assignment unit 46 stands by until an end signal is received from the second rendering unit 49. When the drawing allocation unit 46 receives the end signal from the second rendering unit 49, it changes the flag P <b> 2 to 0 and erases the drawing range stored in the drawing range storage unit 47.
Further, the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the second rendering unit 49, and changes the flag P2 from 0 to 1.
[0033]
When the flag P2 is 0, the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the second rendering unit 49, and changes the flag P2 from 0 to 1.
(3) Rendering-only P and general-purpose P
When the determined processors are the rendering-only P and the general-purpose P, the drawing allocation unit 46 first determines the flag P1 of the first rendering unit 48 including the rendering-only P.
[0034]
When the flag P1 is 0, the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the first rendering unit 48, and changes the flag P1 from 0 to 1.
When the flag P1 is 1, the drawing assignment unit 46 determines the flag P2 of the second rendering unit 49 including the general purpose P.
[0035]
When the flag P2 is 0, the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the second rendering unit 49, and changes the flag P2 from 0 to 1.
When the flag P <b> 2 is 1, the drawing assignment unit 46 waits until an end signal is received from the first rendering unit 48 or the second rendering unit 49.
[0036]
When the drawing assigning unit 46 receives the end signal from the first rendering unit 48, the drawing assigning unit 46 changes the flag P 1 from 1 to 0 and erases the drawing range stored in the drawing range storing unit 47. Further, the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the first rendering unit 48, and changes the flag P1 from 0 to 1.
In addition, when the drawing allocation unit 46 receives the end signal from the second rendering unit 49, it changes the flag P <b> 2 from 1 to 0 and deletes the drawing range stored in the drawing range storage unit 47. Further, the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the second rendering unit 49, and changes the flag P2 from 0 to 1.
(Drawing range storage unit 47)
The drawing range storage unit 47 stores drawing range data 104 as shown in FIG. The drawing range data 104 is composed of parameter numbers and range coordinates. The parameter number is a number that uniquely specifies a drawing parameter. The range coordinates are rectangular ranges that occupy the frame memory of the graphic corresponding to the parameter number, and are represented by (X minimum value, Y minimum value) and (X maximum value, Y maximum value) in the coordinates of all the vertices of the graphic. [5] Rendering dedicated P21
(Configuration of rendering-only P21)
As shown in FIG. 9, the rendering-dedicated P21 includes a drawing register 211, an instruction register 212, a decoder 213, a drawing execution circuit 214, and an accumulator 215.
[0037]
The drawing register 211 is connected to the CPU 24 via the frame bus 34. The drawing register 211 is connected to the drawing execution circuit 214 via an internal bus. The instruction register 212 is connected to the CPU 24 via the frame bus 34. The instruction register 212 is connected to the decoder 213 through an internal bus. The decoder 213 is connected to the drawing execution circuit 214 via an internal bus. The drawing execution circuit 214 is connected to the accumulator 215 via an internal bus. The accumulator 215 is connected to the frame memory 23 via the frame bus 33.
(Operation of rendering-only P21)
The drawing register 211 receives drawing parameters from the CPU 24 and stores the received drawing parameters.
[0038]
The instruction register 212 receives a drawing command from the CPU 24 and stores the received drawing command.
The decoder 213 reads a drawing command from the command register 212, decodes the read drawing command, and outputs the decoded drawing command to the drawing execution circuit 214.
The drawing execution circuit 214 receives a drawing command from the decoder 213. The drawing execution circuit 214 reads drawing parameters from the drawing register 211 in accordance with the received drawing command. Further, the drawing execution circuit 214 executes drawing processing of the read drawing parameters in accordance with the drawing command, and creates image data. The drawing execution circuit 214 outputs the created image data to the accumulator 215. Further, the drawing execution circuit 214 outputs an end signal to the CPU 24.
[0039]
The accumulator 215 receives image data from the drawing execution circuit 214, outputs the received image data to the frame memory 23 via the frame bus 33, and stores it in the frame memory 23.
[5] General-purpose P22
(Configuration of general-purpose P22)
As shown in FIG. 4, the general-purpose P22 includes a program counter 221, an instruction register 222, a data register 223, a decoder 224, an arithmetic circuit 225, and an accumulator 226.
[0040]
The program counter 221 is connected to the main storage unit 36 through the frame bus 35. The instruction register 222 is connected to the main storage unit 36 by the frame bus 35. The instruction register 222 is connected to the decoder 224 via an internal bus. The data register 223 is connected to the CPU 24 via the frame bus 34. The data register 223 is connected to the arithmetic circuit 225 via an internal bus. The decoder 224 is connected to the arithmetic circuit 225 via an internal bus. The arithmetic circuit 225 is connected to the accumulator 226 via an internal bus. The accumulator 226 is connected to the frame memory 23 via the frame bus 33.
(Operation of general-purpose P22)
The PC 221 outputs the address number to the main storage unit 36 and causes the instruction register 222 to output an instruction stored in the main storage unit 36.
[0041]
The instruction register 222 receives an instruction from the main storage unit 36 and stores the received instruction.
The data register 223 receives the drawing parameters from the CPU 24 and stores the received drawing parameters.
The decoder 224 reads the drawing command from the command register 222, decodes the read command, and outputs the decoded command to the arithmetic circuit 225.
[0042]
The arithmetic circuit 225 receives an instruction from the decoder 224. The arithmetic circuit 225 executes arithmetic processing according to the received instruction. The arithmetic circuit 225 reads a drawing parameter from the data register 223 when the received command is a drawing command. The arithmetic circuit 225 executes drawing processing according to the read drawing parameters, and creates image data. The arithmetic circuit 225 outputs the created image data to the accumulator 226. Further, the arithmetic circuit 225 outputs an end signal to the CPU 24.
[0043]
The accumulator 226 receives image data from the arithmetic circuit 225, outputs the received image data to the frame memory 23 via the frame bus 33, and stores it in the frame memory 23.
[6] Operation in drawing processing of data processing device 11
(A) The operation | movement in each timing of the data processor 11 is demonstrated using FIG.10 and FIG.11.
(Timing t1)
The operation at the timing t1 will be described below.
[0044]
The drawing control unit 42 reads the drawing command A from the DL memory 26.
The drawing parameter setting unit 43 converts the drawing command A into the drawing parameter A.
The drawing range recognition unit 44 recognizes the drawing range g11 of the graphic f11 drawn by the drawing parameter A.
[0045]
The drawing range determination unit 45 determines that there is no drawing range that overlaps the drawing range g11.
The drawing assigning unit 46 determines that the rendering units that can process the drawing parameter A are the first rendering unit 48 and the second rendering unit 49.
(Timing t2)
The operation at the timing t2 will be described below.
[0046]
The drawing assignment unit 46 outputs the drawing parameter A and the drawing command to the first rendering unit 48.
The first rendering unit 48 starts drawing processing for the drawing parameter A.
(Timing t3)
The operation at the timing t3 will be described below.
[0047]
The drawing control unit 42 reads the drawing command B from the DL memory 26.
The drawing parameter setting unit 43 converts the drawing command B into the drawing parameter B.
The drawing range recognition unit 44 recognizes the drawing range g12 of the graphic f12 drawn by the drawing parameter B.
[0048]
The drawing range determination unit 45 determines that there is no drawing range that overlaps the drawing range g12.
The drawing assigning unit 46 determines that the rendering units that can process the drawing parameter B are the first rendering unit 48 and the second rendering unit 49.
The first rendering unit 48 performs drawing processing for the drawing parameter A.
(Timing t4)
The operation at the timing t4 will be described below.
[0049]
The drawing assignment unit 46 outputs the drawing parameter B and the drawing command to the second rendering unit 49.
The second rendering unit 49 starts drawing processing for the drawing parameter B.
(Timing t5)
The operation at the timing t5 will be described below.
[0050]
The drawing control unit 42 reads the drawing command C from the DL memory 26.
The drawing parameter setting unit 43 converts the drawing command C into a drawing parameter C.
The drawing range recognition unit 44 recognizes the drawing range f13 of the graphic f13 drawn by the drawing parameter C.
[0051]
The drawing range determination unit 45 determines that the drawing range f13 and the drawing range g12 overlap, and waits until an end signal is received from the second rendering unit 49 that is drawing the drawing range g12.
The first rendering unit 48 performs drawing processing for the drawing parameter A.
The second rendering unit 49 performs a drawing process for the drawing parameter B.
(Timing t6)
The operation at the timing t6 will be described below.
[0052]
The first rendering unit 48 finishes the drawing process and outputs an end signal to the drawing control unit 42.
(Timing t7)
The operation at the timing t7 will be described below.
The drawing range determination unit 45 waits until an end signal from the second rendering unit 49 is received.
[0053]
The second rendering unit 49 performs a drawing process for the drawing parameter B.
(Timing t8)
The operation at the timing t8 will be described below.
The second rendering unit 49 finishes the drawing process and outputs an end signal to the drawing control unit 42.
(Timing t9)
The operation at the timing t9 will be described below.
[0054]
The drawing range determination unit 45 receives the end signal from the drawing control unit 42, and determines that there is no drawing range overlapping the drawing range f13.
The drawing assigning unit 46 determines that the rendering units that can process the drawing parameter C are the first rendering unit 48 and the second rendering unit 49.
(Timing t10)
The operation at the timing t10 will be described below.
[0055]
The drawing assignment unit 46 outputs the drawing parameter C and the drawing command to the first rendering unit 48.
The first rendering unit 48 starts drawing processing for the drawing parameter C.
(Timing t11)
The operation at the timing t11 will be described below.
[0056]
The drawing control unit 42 reads the drawing command D from the DL memory 26.
The drawing parameter setting unit 43 converts the drawing command D into the drawing parameter D.
The drawing range recognition unit 44 recognizes the drawing range g14 of the graphic f14 drawn by the drawing parameter D.
[0057]
The drawing range determination unit 45 determines that there is no drawing range that overlaps the drawing range g14.
The drawing assigning unit 46 determines that the rendering units that can process the drawing parameter D are the first rendering unit 48 and the second rendering unit 49.
The first rendering unit 48 performs a drawing process for the drawing parameter C.
(Timing t12)
The operation at the timing t12 will be described below.
[0058]
The drawing assignment unit 46 outputs the drawing parameter D and the drawing command to the second rendering unit 49.
The second rendering unit 49 starts drawing processing of the drawing parameter D.
(Timing t13)
The operation at the timing t13 will be described below.
[0059]
The drawing control unit 42 reads the DL memory 26 drawing command E.
The drawing parameter setting unit 43 converts the drawing command E into the drawing parameter E.
The drawing range recognition unit 44 recognizes the drawing range f15 of the graphic f15 drawn by the drawing parameter E.
[0060]
The drawing range determination unit 45 determines that there is no drawing range that overlaps the drawing range f15.
The drawing assigning unit 46 determines that the rendering units that can process the drawing parameter E are the first rendering unit 48 and the second rendering unit 49.
The drawing control unit 42 recognizes that the flag P1 of the first rendering unit 48 is 1.
[0061]
The drawing control unit 42 recognizes that the flag P2 of the second rendering unit 49 is 1.
The drawing assignment unit 46 stands by until a signal end signal is received.
The first rendering unit 48 performs a drawing process for the drawing parameter C.
The second rendering unit 49 performs a drawing process for the drawing parameter D.
(Timing t14)
The operation at the timing t14 will be described below.
[0062]
The second rendering unit 49 finishes the drawing process and outputs an end signal to the drawing control unit 42.
(Timing t15)
The operation at the timing t15 will be described below.
The drawing control unit 42 receives an end signal from the second rendering unit 49.
[0063]
The first rendering unit 48 performs a drawing process for the drawing parameter C.
(Timing t16)
The operation at timing t16 will be described below.
The drawing assignment unit 46 outputs the drawing parameter E and the drawing command to the second rendering unit 49.
[0064]
The second rendering unit 49 starts drawing processing for the drawing parameter E.
(Timing t17)
The operation at the timing t17 will be described below.
The drawing control unit 42 reads the drawing command F from the DL memory 26.
The drawing parameter setting unit 43 converts the drawing command F into a drawing parameter F.
[0065]
The drawing range recognizing unit 44 recognizes the drawing range g16 of the graphic f16 drawn by the drawing parameter F.
The drawing range determination unit 45 determines that the drawing range g16 and the drawing range f13 overlap, and waits until an end signal is received from the first rendering unit 48 that is drawing the drawing range f13.
[0066]
The first rendering unit 48 performs a drawing process for the drawing parameter C.
The second rendering unit 49 performs a drawing process for the drawing parameter E.
(Timing t18)
The operation at the timing t18 will be described below.
The first rendering unit 48 finishes the drawing process and outputs an end signal to the drawing control unit 42.
(Timing t19)
The operation at timing t19 will be described below.
[0067]
The drawing range determination unit 45 receives the end signal from the drawing control unit 42, and determines that there is no drawing range that overlaps the drawing range g16.
The drawing assignment unit 46 determines that the second rendering unit 49 is the only rendering unit that can process the drawing parameter F.
The drawing control unit 42 recognizes that the flag P2 of the second rendering unit 49 is 1.
[0068]
The drawing assignment unit 46 stands by until a signal end signal is received.
The second rendering unit 49 performs a drawing process for the drawing parameter E.
(Timing t20)
The operation at the timing t20 will be described below.
The second rendering unit 49 finishes the drawing process and outputs an end signal to the drawing control unit 42.
(Timing t21)
The operation at the timing t21 will be described below.
[0069]
The drawing control unit 42 receives an end signal from the second rendering unit 49.
(Timing t22)
The operation at the timing t22 will be described below.
The drawing assignment unit 46 outputs the drawing parameter F and the drawing command to the second rendering unit 49.
[0070]
The second rendering unit 49 starts drawing processing of the drawing parameter F.
(Timing t23)
The operation at the timing t23 will be described below.
The drawing control unit 42 reads the drawing command G from the DL memory 26.
The drawing parameter setting unit 43 converts the drawing command G into a drawing parameter G.
[0071]
The drawing range recognition unit 44 recognizes the drawing range g17 of the graphic f17 drawn by the drawing parameter G.
The drawing range determination unit 45 determines that there is no drawing range that overlaps the drawing range g17.
The drawing assigning unit 46 determines that the rendering units that can process the drawing parameter G are the first rendering unit 48 and the second rendering unit 49.
(Timing t24)
The operation at the timing t24 will be described below.
[0072]
The drawing assignment unit 46 outputs the drawing parameter G and the drawing command to the first rendering unit 48.
The first rendering unit 48 starts drawing processing of the drawing parameter G.
(B) The operation | movement in the drawing process of the data processor 11 is demonstrated using the flowchart shown in FIG.
[0073]
The control unit 41 creates a drawing command sequence for one frame and writes it in the DL memory 26 (step S101).
The drawing control unit 42 sequentially reads one drawing command from the DL memory 26 (step S102).
The drawing control unit 42 determines whether the read drawing command is TRAP (step S103).
[0074]
If the read drawing command is not TRAP (NO in step S103), the drawing parameter setting unit 43 receives the drawing command from the drawing control unit 42, and converts the received drawing command into a drawing parameter (step S104).
Drawing range recognition is performed (step S105). This will be described in detail later.
The drawing range is determined (step S106). This will be described in detail later.
[0075]
The drawing control unit 42 identifies a processor that can draw (step S107).
When the identified drawing processor is only the rendering-only P (rendering-only P in step S107), the process proceeds to process A.
When the identified drawing processor is only general-purpose P (general-purpose P in step S107), the process proceeds to process B.
[0076]
If the identified drawing processor is a rendering-dedicated P and a general-purpose P (in step S107, rendering-dedicated P and general-purpose P), the process proceeds to process C.
If the read drawing command is TRAP (YES in step S103), the D / A 27 transmits the image data stored in the frame memory 23 to the liquid crystal screen device 17 (step S108).
[7] Drawing range recognition
The drawing range recognition operation will be described with reference to the flowchart shown in FIG.
[0077]
The drawing range recognition unit 44 receives the drawing parameters from the drawing parameter setting unit 43 (step S111).
The drawing range recognition unit 44 extracts all drawing coordinates stored in the drawing parameter (step S112).
The drawing range recognition unit 44 obtains the maximum value of the X coordinate, the minimum value of the X coordinate, the maximum value of the Y coordinate, and the minimum value of the Y coordinate in all the extracted drawing coordinates, and coordinates (X minimum value, Y minimum value). And (X maximum value, Y maximum value) are output to the drawing range determination unit 45 (step S113).
[8] Drawing range judgment
The drawing range determination operation will be described with reference to the flowchart shown in FIG.
[0078]
The drawing range determination unit 45 provides a determination FLG and sets the initial setting to 0 (step S121).
The drawing range determination unit 45 receives coordinates (XL, YL) And (XB, YB) Is received (step S122).
The drawing range determination unit 45 receives range coordinates (X ′) from the drawing range storage unit 47.L, Y ’L) And (X 'B, Y ’B) Are sequentially read out (step S123).
[0079]
The drawing range determination unit 45 confirms the presence or absence of range coordinates to be read (step S124).
When there is a range coordinate to be read (NO in step S124), the drawing range determination unit 45 determines the discriminant 1L> X ’B) Or discriminant 2 (XB<X ’L) Holds (step S125).
[0080]
The drawing range determination unit 45 reads the next range coordinates from the drawing range storage unit 47 when the discriminant 1 or 2 is satisfied (YES in step S125).
When the discriminant 1 or the discriminant 2 is not satisfied (NO in step S125), the drawing range determination unit 45 further determines the discriminant 3L> Y ’B) Or discriminant 4 (YB<Y ’L) Is satisfied (step S126).
[0081]
If the discriminant 3 or 4 is satisfied (YES in step S126), the drawing range determination unit 45 reads the next range coordinates from the drawing range storage unit 47.
When the discriminant 3 or 4 is not satisfied (NO in step S126), the drawing range determination unit 45 stores the identification number of the rendering unit that performs the drawing processing of the read range coordinates (step S127). .
[0082]
The drawing range determination unit 45 changes the determination FLG from 0 to 1 (step S128).
In addition, when the drawing range determination unit 45 finishes reading all the range coordinates (YES in step S124), the drawing range determination unit 45 determines whether the determination FLG is 0 or 1 (step S129).
[0083]
If the determination FLG is 0 (0 in step S129), the drawing range determination unit 45 ends the process.
When the determination FLG is 1 (1 in step S129), the drawing range determination unit 45 determines whether an end signal is received from the stored rendering unit (step S130).
[0084]
The drawing range determination unit 45 repeats the determination until an end signal is received from the rendering unit (NO in step S130).
The drawing range determination unit 45 receives an end signal from the rendering unit, and changes the value of the flag Pn from 1 to 0 (step S131).
The drawing range determination unit 45 deletes the stored rendering unit number n (step S132).
[9] Process A
The operation of processing A will be described using the flowchart shown in FIG.
[0085]
The drawing control unit 42 recognizes the state of the flag P1 (step S141).
When the flag P1 is 1 (= 1 in step S141), the drawing assignment unit 46 waits until an end signal is received from the first rendering unit 48. When receiving the end signal from the first rendering unit 48, the drawing control unit 42 changes the setting of the flag P1 from 1 to 0 (step S142).
[0086]
The drawing assignment unit 46 erases the drawing range that the first rendering unit 48 has drawn from the drawing range storage unit 47 (step S143).
If the flag P1 is 0 (= 0 in step S141), the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the first rendering unit 48 (step S144).
[0087]
The drawing control unit 42 changes the setting of the flag P1 from 0 to 1 (step S145).
The drawing assignment unit 46 uses coordinates (XL, YL) And (XB, YB) Is written to the range coordinates of the drawing range storage unit 47 (step S146), and the process proceeds to process D.
[10] Process B
The operation of the process B will be described using the flowchart shown in FIG.
[0088]
The drawing control unit 42 recognizes the state of the flag P2 (step S151).
If the flag P <b> 2 is 1 (= 1 in step S <b> 151), the drawing assignment unit 46 waits until an end signal is received from the second rendering unit 49. When receiving the end signal from the second rendering unit 49, the drawing control unit 42 changes the setting of the flag P2 from 1 to 0 (step S152).
[0089]
The drawing assigning unit 46 erases the drawing range drawn by the second rendering unit 49 from the drawing range storage unit 47 (step S153).
When the flag P2 is 0 (= 0 in step S151), the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the second rendering unit 49 (step S154).
[0090]
The drawing control unit 42 changes the setting of the flag P2 from 0 to 1 (step S155).
The drawing assignment unit 46 uses coordinates (XL, YL) And (XB, YB) Is written in the range coordinates of the drawing range storage unit 47 (step S156), and the process proceeds to process D.
[11] Process C
The operation of process C will be described using the flowchart shown in FIG.
[0091]
An end FLG is provided and the initial setting is set to 0 (step S161).
An outer loop (end condition is end FLG = 1) is provided, and the following processing is performed (step S162).
An inner loop (end condition is i = 1, 2 or FLG = 1) is provided, and the following processing is performed (step S163).
[0092]
The drawing control unit 42 recognizes the state of the flag Pi (step S164).
When the flag Pi is 1 (= 1 in step S164), no processing is performed.
When the flag Pi is 0 (= 0 in step S164), the drawing assignment unit 46 outputs the drawing parameter and the drawing command to the first rendering unit 48 (step S165).
[0093]
The drawing control unit 42 changes the setting of the flag Pi from 0 to 1 (step S166).
The drawing control unit 42 changes the setting of the end FLG from 0 to 1 (step S167).
The drawing assignment unit 46 uses coordinates (XL, YL) And (XB, YB) Is written in the range coordinates of the drawing range storage unit 47 (step S168).
[0094]
The inner loop repeats the above processing until the set condition is satisfied (step S169).
The drawing control unit 42 determines whether an end signal has been received (step S170).
When the drawing control unit 42 receives the end signal from the first rendering unit 48 (first rendering unit in step S170), the drawing control unit 42 changes the setting of the flag P1 from 1 to 0 (step S171).
[0095]
The drawing assignment unit 46 erases the drawing range that the first rendering unit 48 has drawn from the drawing range storage unit 47 (step S172).
When the drawing control unit 42 receives the end signal from the second rendering unit 49 (second rendering unit in step S170), the drawing control unit 42 changes the setting of the flag P2 from 1 to 0 (step S173).
[0096]
The drawing assignment unit 46 erases the drawing range that the second rendering unit 49 has drawn from the drawing range storage unit 47 (step S174).
If reception of the end signal cannot be determined (NO in step S170), no processing is performed.
The outer loop repeats the above processing until the set condition is satisfied (step S175).
[12] Modification regarding drawing range recognition and determination
A modification regarding the recognition method by the drawing range recognition unit 44 and the determination method by the drawing range determination unit 45 will be described below.
[0097]
(1) First modification
The recognition and determination of the drawing range by the block method will be described below.
(Drawing area recognition)
As shown in FIG. 18, the drawing range recognizing unit 44 divides one frame into blocks of a predetermined size, and stores the block number and area recognition flag of each block. The block number is an identification number that uniquely identifies the position of the block in one frame. The area recognition flag indicates whether or not a graphic is included in the block. When the area recognition flag = 0, the figure is not included in the block, and when the area recognition flag = 1, the figure is included in the block.
[0098]
The operation of the drawing range recognition unit 44 will be described with reference to the flowchart shown in FIG.
The drawing range recognition unit 44 receives the figure type and drawing parameters of the figure from the drawing parameter setting unit 43 (step S181).
The drawing range recognizing unit 44 determines whether the received graphic type is a straight line or a rectangle (step S182).
[0099]
When the received graphic type is a straight line (a straight line in step S182), the drawing range recognition unit 44 obtains a block B1 including the start point from the coordinate data of the start point (step S183). A variable i is provided and an initial value is set to 1 (step S184). Of the four sides of the block Bi, the block Bi including the side that intersects the straight line to be drawn+1Is obtained (step S185). If the straight line to be drawn passes through the vertex of the block Bi, the block Bi across the vertex+1Ask for. 1 is added to the variable i (step S186). Furthermore, the drawing range recognizing unit 44 determines whether or not the block Bi includes a straight line end point (step S187). If the block Bi does not include a straight line end point (NO in step S187), the drawing range recognizing unit 44 repeats the above processing. When the block Bi includes the end point of the straight line (YES in step S187), the drawing range recognizing unit 44 sets the blocks B1, B2,..., Bi as the drawing range of the graphic (step S188). The drawing range recognition unit 44 outputs the address numbers of all the blocks used as the drawing range of the graphic to the drawing range determination unit 45 as address data (step S192).
[0100]
If the received graphic type is rectangular (rectangular in step S182), the drawing range recognition unit 44 obtains a block including the upper left vertex from the coordinate data of the upper left vertex (step S189). The drawing range recognizing unit 44 obtains the required number of blocks in the vertical and horizontal directions from the coordinate data of the upper left vertex and the parameters indicating the width and height (step S190). The drawing range recognizing unit 44 sets a block of two sides obtained by extending the number of blocks in the vertical and horizontal directions from the block including the upper left vertex as the drawing range of the graphic (step S191). The drawing range recognition unit 44 outputs the address numbers of all the blocks used as the drawing range of the graphic to the drawing range determination unit 45 as address data (step S192).
[0101]
With the above operation, the drawing range of the graphic f21 in FIG. 18 becomes the blocks 43, 44, 45, 46, 63, 64, 65 and 66. The drawing range of the straight line f22 is blocks 23, 24, 42, 43, and 62.
(Drawing range judgment)
The operation of the drawing range determination unit 45 will be described with reference to the flowchart shown in FIG.
[0102]
A determination flag is provided, and the initial value is set to 0 (step S201).
The drawing range determination unit 45 receives the address data A from the drawing range recognition unit 44, and extracts all address numbers ai (i = 1, 2,..., N) from the received address data A (step S202). .
The drawing range determination unit 45 sequentially reads one address data B from the drawing range storage unit 47 and extracts all the address numbers bj (j = 1, 2,..., M) from the read address data B ( Step S203).
[0103]
EOF determination is performed (step S204).
An outer loop (end condition is i = 1, 2,..., N) is provided, and the following processing is performed (step S205).
An inner loop (end condition is j = 1, 2,..., M) is provided, and the following processing is performed (step S206).
[0104]
The drawing range determination unit 45 determines whether ai and bj are equal (step S207).
If ai and bj are equal (= step S207), the drawing range determination unit 45 stores the rendering unit that is processing drawing parameters with the read address data B as the drawing range (step S208). Then, the determination flag is changed to 1 (step S209).
[0105]
The inner loop repeats the above processing until the set condition is satisfied (step S210).
The outer loop repeats the above processing until the set condition is satisfied (step S211).
Further, the drawing range determination unit 45 recognizes a determination flag (step S212).
[0106]
When the determination flag is 1 (1 in step S212), the drawing range determination unit 45 determines whether an end signal is received from the stored rendering unit (step S213).
The drawing range determination unit 45 repeats the determination until an end signal is received from the rendering unit (NO in step S213).
[0107]
When the drawing range determination unit 45 receives an end signal from the rendering unit (YES in step S213), the drawing range determination unit 45 changes the flag Pn from 1 to 0 (step S214), and erases the stored number n (step S215). .
With the above operation, it is determined that the drawing ranges of the graphic f21 and the straight line f22 in FIG. 18 overlap.
[0108]
(2) Second modification
The recognition and determination of the drawing range by the trigonometric method will be described below.
(Drawing area recognition)
As shown in FIG. 21, the drawing range recognizing unit 44 divides the figure drawn in the frame into triangles. For example, the figure f31 is divided into two triangles S1 and S2. The figure f32 is divided into two triangles T1 and T2. The figure f34 is divided into three triangles T′1, T′2, and T′3.
[0109]
The operation of the drawing range recognition unit 44 will be described with reference to the flowchart shown in FIG.
The drawing range recognition unit 44 receives the drawing parameters from the drawing parameter setting unit 43 (step S221).
The drawing range recognition unit 44 divides the n-gon figure to be drawn by the received drawing parameter into (n−2) triangles Si (step S222).
[0110]
A loop [end condition is i = 1, 2,..., (N−2)] is performed, and the following processing is performed (step S223).
The drawing range recognition unit 44 obtains the vertex coordinates of the triangle Si (step S224).
The loop repeats the above processing until the set condition is satisfied (step S225).
[0111]
The drawing range recognition unit 44 outputs the obtained vertex coordinates as the drawing range of the triangle Si to the drawing range determination unit 45 (step S226).
(Drawing range judgment)
The operation of the drawing range determination unit 45 will be described with reference to the flowchart shown in FIG.
[0112]
The drawing range determination unit 45 provides a determination flag and sets the initial value to 0 (step S231).
The drawing range determination unit 45 receives the drawing range of n−2 triangles Si (i = 1, 2,..., N−2) from the drawing range recognition unit 44 (step S232).
The drawing range determination unit 45 sequentially reads the drawing range of m triangles Tj corresponding to one drawing parameter from the drawing range storage unit 47 (step S233).
[0113]
EOF determination is performed (step S234).
An outer loop [end condition is i = 1, 2,..., (N−2)] is provided, and the following processing is performed (step S235).
An inner loop (end condition is j = 1, 2,..., M) is provided, and the following processing is performed (step S236).
[0114]
The drawing range determination unit 45 determines whether or not the drawing range of the triangle Si overlaps the drawing range of the triangle Tj (step S237).
When the drawing range of the triangle Si and the drawing range of the triangle Tj overlap (overlapping in step S237), the drawing range determination unit 45 stores the rendering unit that is processing the read drawing parameter (step S238) and determines The flag is changed to 1 (step S239).
[0115]
The inner loop repeats the above processing until the set condition is satisfied (step S240).
The outer loop repeats the above processing until the set condition is satisfied (step S241).
Further, the drawing range determination unit 45 recognizes the determination flag (step S242).
[0116]
When the determination flag is 1 (1 in step S242), the drawing range determination unit 45 determines whether an end signal has been received from the stored rendering unit (step S243).
The drawing range determination unit 45 repeats the determination until an end signal is received from the rendering unit (NO in step S243).
[0117]
When receiving the end signal from the rendering unit (YES in step S243), the drawing range determination unit 45 changes the flag Pn from 1 to 0 (step S244), and erases the stored number n (step S245). .
Since the triangle S2 and the triangle T1 in FIG. 21 overlap at the portion f33 by the above operation, the drawing range determination unit 45 determines that the drawing ranges of the figure f31 and the figure f32 overlap.
[0118]
(3) Third modification
The recognition and determination of the drawing range by the intersection method will be described below.
(Drawing area recognition)
As shown in FIG. 24, the drawing range recognizing unit 44 recognizes all the lines of the outer frame surrounding the figure drawn on the frame. For example, the drawing range of the graphic f41 passes through a straight line passing through the vertex p41 and the vertex p42, a straight line passing through the vertex p42 and the vertex p43, a straight line passing through the vertex p43 and the vertex p44, and a vertex p44 and the vertex p41. It consists of a straight line. The drawing range of the graphic f42 includes a straight line passing through the vertex p45 and the vertex p46, a straight line passing through the vertex p46 and the vertex p47, and a straight line passing through the vertex p47 and the vertex p45.
[0119]
The operation of the drawing range recognition unit 44 will be described with reference to the flowchart shown in FIG.
The drawing range recognition unit 44 receives the drawing parameters from the drawing parameter setting unit 43 (step S251).
The drawing range recognition unit 44 extracts all drawing coordinates stored in the drawing parameter (step S252).
[0120]
The drawing range recognizing unit 44 obtains all the expressions f (i = 1, 2,..., N) and conditions (x1 <X <x2) indicating the straight line surrounding the figure from the extracted drawing coordinates (step S253). .
The drawing range recognition unit 44 outputs the obtained formula to the drawing range determination unit 45 as the drawing range of the drawing parameter (step S254).
(Drawing range judgment)
The operation of the drawing range determination unit 45 will be described with reference to the flowchart shown in FIG.
[0121]
The drawing range determination unit 45 provides a determination flag and sets the initial value to 0 (step S261).
The drawing range determination unit 45 receives the drawing range of the drawing parameter from the drawing range recognition unit, and extracts an expression f (i = 1, 2,..., N) indicating a straight line (step S262).
[0122]
The drawing range determination unit 45 sequentially reads the expression f ′ (j = 1, 2,..., M) corresponding to the drawing range of one drawing parameter from the drawing range storage unit 47 (step S263).
EOF determination is performed (step S264).
An outer loop (end condition is i = 1, 2,..., N) is provided, and the following processing is performed (step S265).
[0123]
An inner loop (end condition is j = 1, 2,..., M) is provided, and the following processing is performed (step S266).
The drawing range determination unit 45 determines whether f (i) and f ′ (i) intersect (step S267).
When f (i) and f ′ (i) intersect (interchange at step S267), the drawing range determination unit 45 stores the rendering unit that is processing the read drawing parameter (step S268), and the determination flag Is changed to 1 (step S269).
[0124]
The inner loop repeats the above processing until the set condition is satisfied (step S270).
The outer loop repeats the above processing until the set condition is satisfied (step S271).
Further, the drawing range determination unit 45 recognizes the determination flag (step S272).
[0125]
When the determination flag is 1 (1 in step S272), the drawing range determination unit 45 determines whether an end signal is received from the stored rendering unit (step S273).
The drawing range determination unit 45 repeats the determination until an end signal is received from the rendering unit (NO in step S273).
[0126]
When the drawing range determination unit 45 receives an end signal from the rendering unit (YES in step S273), the drawing range determination unit 45 changes the flag Pn from 1 to 0 (step S274), and erases the stored number n (step S275). .
With the above operation, the drawing range determination unit 45 determines that the straight line passing through the vertex p43 and the vertex p44 in FIG. 24 intersects with the straight line passing through the vertex p45 and the vertex p46 at the intersection point p48. Furthermore, the drawing range determination unit 45 determines that a straight line passing through the apex p43 and the apex p44 and a straight line passing through the apex p47 and the apex p45 intersect at an intersection p49.
[15] Other variations
Although the present invention has been described based on the above embodiment, it is needless to say that the present invention is not limited to the above embodiment. The following cases are also included in the present invention.
(1) In the above embodiment, the present invention includes two processors that perform drawing. However, the present invention is not limited to two, and two or more processors may be provided.
(2) The present invention is not limited to the configuration including the rendering-dedicated P21 and the general-purpose P22 in the above-described embodiment, and may be configured to include only a plurality of rendering-specific P21s, or may include only the general-purpose P22. The structure provided may be sufficient.
(3) According to the present invention, in a configuration including a plurality of rendering-dedicated P21s, each rendering-dedicated P may individually include a drawing register 211 or may share one drawing register. The difference will be mainly described with reference to FIG.
(Constitution)
Since the rendering-dedicated P21 has the same configuration as that of the above embodiment, the description thereof is omitted.
[0127]
The rendering-dedicated P23 includes a drawing register 231, an instruction register / address 232, a decoder 233, a drawing execution circuit 234, a drawing execution circuit 235, a drawing execution circuit 236, and an accumulator 237.
(Operation)
The drawing register 231 receives drawing parameters from the CPU 24 and stores the received drawing parameters.
[0128]
The instruction register / address 232 receives a drawing instruction and an assignment instruction from the CPU 24 and stores the received drawing instruction and the assignment instruction.
The decoder 233 reads the drawing command and the allocation command from the command register 232, decodes the read drawing command and the allocation command, and outputs the decoded drawing command to the drawing execution circuit designated by the decoded allocation command.
[0129]
The drawing execution circuit 234 receives a drawing command from the decoder 233. The drawing execution circuit 234 reads drawing parameters from the drawing register 231 in accordance with the received drawing command. Furthermore, the drawing execution circuit 234 executes drawing processing of the read drawing parameters in accordance with the drawing command, and creates image data. The drawing execution circuit 234 outputs the created image data to the accumulator 237. Further, the drawing execution circuit 234 outputs an end signal to the CPU 24.
[0130]
The accumulator 237 receives image data from the drawing execution circuit 234, outputs the received image data to the frame memory 23 via the frame bus 33, and stores it in the frame memory 23.
Further, the drawing execution circuit 235 receives a drawing command from the decoder 233. The drawing execution circuit 235 reads drawing parameters from the drawing register 231 in accordance with the received drawing command. Furthermore, the drawing execution circuit 235 executes drawing processing of the read drawing parameters in accordance with the drawing command, and creates image data. The drawing execution circuit 235 outputs the created image data to the accumulator 237. Further, the drawing execution circuit 235 outputs an end signal to the CPU 24.
[0131]
The accumulator 237 receives image data from the drawing execution circuit 235, outputs the received image data to the frame memory 23 via the frame bus 33, and stores it in the frame memory 23.
Further, the drawing execution circuit 236 receives a drawing command from the decoder 233. The drawing execution circuit 236 reads drawing parameters from the drawing register 231 in accordance with the received drawing command. Furthermore, the drawing execution circuit 236 executes drawing processing of the read drawing parameters in accordance with the drawing command, and creates image data. The drawing execution circuit 236 outputs the created image data to the accumulator 237. Further, the drawing execution circuit 236 outputs an end signal to the CPU 24.
[0132]
The accumulator 237 receives image data from the drawing execution circuit 236, outputs the received image data to the frame memory 23 via the frame bus 33, and stores it in the frame memory 23.
(4) The present invention is not limited to the drawing range recognition and determination method in the above embodiment, and may be a drawing apparatus that operates according to other appropriate drawing range recognition and determination methods.
(5) The present invention may be the method described in the above embodiment. Moreover, it may be a computer program for realizing these methods by a computer, or may be a digital signal composed of the computer program.
[0133]
The present invention also records the computer program or the digital signal on a computer-readable recording medium, such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, semiconductor memory, etc. It is also possible to have Further, the present invention may be the computer program or the digital signal recorded on these recording media.
[0134]
In the present invention, the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication circuit, a network represented by the Internet, or the like.
The present invention may be a computer system including a microprocessor and a memory, wherein the memory stores the computer program, and the microprocessor operates according to the computer program.
[0135]
In addition, the program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like, and is executed by another independent computer system. It is good.
(6) The above embodiment and the above modifications may be combined.
[0136]
【The invention's effect】
As described above, the present invention is a drawing apparatus that generates a graphic image by drawing a plurality of figures in a frame memory, and includes first graphic information that is a component for drawing the first graphic, A plurality of storage means for storing a plurality of pieces of graphic information including second graphic information that is a component for drawing a graphic; and a plurality of processors for drawing a graphic in the frame memory based on each piece of graphic information. Among the processors, a first processor that draws a first graphic in the frame memory based on first graphic information and a second processor that draws a second graphic in the frame memory based on second graphic information are in parallel. By operating, the first graphic and the second graphic are drawn on the same frame memory in the same time zone.
[0137]
According to this configuration, since a plurality of processors for drawing graphics in the frame memory are provided, the number of graphics that can be drawn in the frame memory within a predetermined time can be increased.
The drawing apparatus further includes a reading unit that reads out the third graphic information from the storage unit, and a range for generating a third graphic range that the third graphic indicated by the third graphic information should occupy on the frame memory. Generating means, determining means for determining whether or not the third graphic range overlaps with a fourth graphic range occupied on a frame memory of a graphic drawn by a processor currently operating; An allocation means for allocating the third graphic information to a processor in a standby state.
[0138]
According to this configuration, a plurality of processors do not draw different graphics at the same position in the frame memory in the same time zone, so that there is no contradiction in the arrangement of each figure drawn in the frame memory in the end. Can be made.
Here, the graphic information includes coordinate information of vertices constituting the graphic, and the range generating means uses the coordinate information to determine the maximum value X of the X coordinates of the vertices constituting the graphic.B, X coordinate minimum value XL, Y coordinate maximum value YBAnd the minimum value Y of the Y coordinateLIs extracted and the coordinates (XL, YL) And (XB, YB) Is regarded as the first graphic range.
[0139]
According to this configuration, the coordinates (XL, YL) And (XB, YB) Only with the drawing range data 104, and the amount of data to be handled can be reduced.
Here, the determination means further includes the XBIs greater than the minimum value of the X coordinate in the range of the graphic currently drawn by the processor, or the XLA first discriminating unit for discriminating whether or not Y is smaller than the maximum value of the X coordinate in the range of the graphic currently drawn by the processorBIs greater than the minimum value of the Y coordinate in the range of the graphic currently drawn by the processor, or said YLIf the determination by the second determination unit and the first determination unit or the second determination unit holds, the second determination unit determines whether the Y is smaller than the maximum value of the Y coordinate in the range of the graphic currently drawn by the processor Includes a determination unit that determines that it does not overlap the range of the graphic currently drawn by the processor.
[0140]
According to this configuration, when the determination by the first determination unit or the second determination unit is established, the graphic range is determined not to overlap with the graphic range currently drawn by the processor. It becomes possible to carry out efficiently.
Here, the graphic area corresponding to the frame memory is divided into blocks each composed of a predetermined number of pixels, and the range generation means includes a graphic when assuming that the graphic is drawn in the graphic area. A group of blocks is regarded as the first figure range.
[0141]
According to this configuration, only the group of blocks including the graphic needs to be handled by the drawing range data 104, and the amount of data to be handled can be reduced.
Here, when any of the blocks included in the first graphic range coincides with any of the blocks included in the second graphic range, the determination unit determines that the first graphic range is the second graphic range. It is determined that they overlap.
[0142]
According to this configuration, it is possible to efficiently determine the figure range.
Here, each block includes flag information indicating whether or not a graphic is included, the range generation unit generates flag information of each block, and the determination unit performs determination using the flag information. Do.
According to this configuration, it is possible to generate and determine a graphic range by controlling flag information.
[0143]
Here, a part of the plurality of processors is a drawing-dedicated processor that executes only a drawing instruction for drawing a graphic, and the rest of the plurality of processors is a general-purpose processor that executes all the processing instructions.
According to this configuration, as shown in FIG. 7, it is possible to perform a drawing process that effectively utilizes the difference in processing capability between the drawing-dedicated processor and the general-purpose processor.
[0144]
Here, all of the plurality of processors are general-purpose processors that execute all the processing instructions.
According to this configuration, it is possible to draw more figures that need to be subjected to advanced drawing processing such as shading within a predetermined time.
Here, all of the plurality of processors are drawing-only processors that execute only drawing commands for drawing graphics.
[0145]
According to this configuration, the number of figures that can be drawn within a predetermined time can be further increased.
Here, each drawing-dedicated processor individually has a drawing register for storing the graphic information.
According to this configuration, each drawing-dedicated processor can operate independently, so that the number of drawing-dedicated processors to be equipped can be easily changed.
[0146]
Here, a plurality of dedicated processors for drawing share one drawing register for storing the graphic information.
According to this configuration, it is not necessary to prepare a plurality of drawing registers, so that the drawing dedicated processor can be configured at low cost.
Here, the processing instruction executed by the general-purpose processor is limited to a drawing instruction.
[0147]
According to this configuration, since the general-purpose processor executes only a drawing command, the number of figures that can be drawn within a predetermined time can be increased.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a car navigation system 1. FIG.
FIG. 2 is a diagram showing a configuration of a car navigation device 10;
3 is a block diagram showing a configuration of a data processing device 11. FIG.
4 is a diagram showing a configuration and example contents of a drawing command table 101. FIG.
5 is a block diagram showing a configuration of a CPU 24. FIG.
6 is a diagram showing an example of the configuration and contents of a drawing parameter table 102. FIG.
7 is a diagram showing a configuration and an example of contents of a process availability table 103. FIG.
8 is a diagram showing a configuration and example contents of a drawing range data table 104. FIG.
FIG. 9 is a block diagram showing configurations of a rendering-only P21 and a general-purpose P22.
10 is a time chart showing the timing of processing by the drawing control unit 42, the first rendering unit 48, and the second rendering unit 49. FIG.
FIG. 11 is a diagram showing a state in which a plurality of figures are drawn on a frame.
12 is a flowchart showing an operation of a drawing process by a CPU 24. FIG.
FIG. 13 is a flowchart showing an operation for recognizing a drawing range by a CPU 24;
FIG. 14 is a flowchart showing the drawing range determination operation by the CPU 24;
FIG. 15 is a flowchart showing an operation of a process A by a CPU 24.
FIG. 16 is a flowchart showing an operation of processing B by the CPU 24;
FIG. 17 is a flowchart showing an operation of a process C performed by the CPU 24.
FIG. 18 is a diagram illustrating a state in which a plurality of figures are drawn on a frame by a block method.
FIG. 19 is a flowchart showing an operation of recognizing a drawing range by a block method.
FIG. 20 is a flowchart showing an operation of drawing range determination by a block method.
FIG. 21 is a diagram illustrating a state in which a plurality of figures are drawn on a frame by a triangulation method.
FIG. 22 is a flowchart illustrating an operation of recognizing a drawing range by a triangulation method.
FIG. 23 is a flowchart showing an operation of drawing range determination by a trigonometric method.
FIG. 24 is a diagram showing a state in which a plurality of figures are drawn on the frame by the intersection method.
FIG. 25 is a flowchart showing an operation of recognizing a drawing range by an intersection method.
FIG. 26 is a flowchart showing an operation of drawing range determination by an intersection method.
FIG. 27 is a block diagram illustrating a configuration of a rendering-dedicated P23.
[Explanation of symbols]
1 Car navigation system
2 GPS satellites
3 VICS base
10 Car navigation system
11 Data processing device
12 GPS antenna
13 VICS antenna
14 Vehicle sensor
15 Remote control device
16 Light receiver
17 LCD screen device
18 Map disc
21 Rendering processor
22 General-purpose processor
23 frame memory
24 CPU
25 Main memory
26 Display list memory
28 DVD-ROM reader
29 External input interface
31 frame bus
32 System bus
33 Frame bus
34 Frame bus
35 frame bus
36 Main memory
41 Control unit
42 Drawing controller
43 Drawing parameter setting section
44 Drawing range recognition unit
45 Drawing range determination unit
46 Drawing allocation part
47 Drawing range storage
48 First rendering part
49 Second Rendering Unit
103 Processability list
104 Drawing range data
211 Draw register
212 Instruction register
213 decoder
214 Drawing execution circuit
215 Accumulator
221 Program counter (PC)
222 Instruction register
223 data register
224 decoder
225 arithmetic circuit
226 Accumulator
231 Draw register
232 instruction register
233 decoder
234 Drawing execution circuit 3
235 Drawing execution circuit 2
236 Drawing execution circuit 1
237 Accumulator

Claims (9)

フレームメモリに複数の図形を描くことによりグラフィック画像を生成する描画装置であって、
第1図形を描くための構成要素である第1図形情報と、第2図形を描くための構成要素である第2図形情報とを含む複数の図形情報を記憶している記憶手段と、
各図形情報に基づいて前記フレームメモリに図形を描くプロセッサを複数個備え、
前記複数あるプロセッサのうち、第1図形情報に基づいて前記フレームメモリに第1図形を描く第1プロセッサと、第2図形情報に基づいて前記フレームメモリに第2図形を描く第2プロセッサとは並行して動作することにより、前記第1図形と前記第2図形とは同一時間帯に同一フレームメモリ上に描かれ、
前記第1プロセッサは前記フレームメモリに前記第1図形を描いている動作状態にあり、前記第2プロセッサは待機状態から前記第2図形を描く動作状態に遷移しようとしている場合において、
前記描画装置は、さらに、
前記記憶手段から第2図形情報を読み出す読出し手段と、
前記第2図形情報により示される第2図形がフレームメモリ上に占めるはずの第2図形範囲を生成する範囲生成手段と、
前記第2図形範囲が、動作状態にある第1プロセッサにより描かれている第1図形のフレームメモリ上に占める第1図形範囲と重なるか否かを判定する判定手段と、
前記判定手段により重ならないと判定される場合、待機状態にある第2プロセッサに前記第2図形情報を割り当てる割当て手段とを備え、
前記第2プロセッサが割当てられた前記第2図形情報に基づいて前記第2図形を描き始めることにより、前記第1プロセッサと前記第2プロセッサとは並行して動作し、
フレームメモリに相当する図形領域は、所定数の画素から構成されるブロックごとに区分されており、前記範囲生成手段は、前記図形領域に第2図形を描いたと想定したときに前記第2図形が含まれるブロックの集まりを前記第2図形範囲とみなし、
前記判定手段は、前記第2図形範囲に含まれるブロックのいずれかが、前記第1図形範囲に含まれるブロックのいずれかと一致する場合、前記第2図形範囲は前記第1図形範囲と重なると判定する
ことを特徴とする描画装置。
A drawing device that generates a graphic image by drawing a plurality of figures in a frame memory,
Storage means for storing a plurality of pieces of graphic information including first graphic information that is a component for drawing the first graphic and second graphic information that is a component for drawing the second graphic;
A plurality of processors for drawing graphics in the frame memory based on each graphics information,
Of the plurality of processors, a first processor that draws a first graphic in the frame memory based on first graphic information and a second processor that draws a second graphic in the frame memory based on second graphic information are parallel By operating as above, the first graphic and the second graphic are drawn on the same frame memory in the same time zone ,
In the case where the first processor is in an operation state of drawing the first graphic in the frame memory, and the second processor is about to transition from a standby state to an operation state of drawing the second graphic,
The drawing device further includes:
Reading means for reading second graphic information from the storage means;
Range generating means for generating a second graphic range that the second graphic indicated by the second graphic information should occupy on the frame memory;
Determining means for determining whether or not the second graphic range overlaps the first graphic range occupied on the frame memory of the first graphic drawn by the first processor in the operating state;
An allocation unit that allocates the second graphic information to a second processor in a standby state when the determination unit determines that they do not overlap,
The first processor and the second processor operate in parallel by starting to draw the second graphic based on the second graphic information assigned by the second processor,
The graphic area corresponding to the frame memory is divided into blocks each composed of a predetermined number of pixels, and the range generating means assumes that the second graphic is drawn when the second graphic is drawn in the graphic area. Consider a set of included blocks as the second figure range,
The determination unit determines that the second graphic range overlaps the first graphic range when any of the blocks included in the second graphic range matches any of the blocks included in the first graphic range. Do
A drawing apparatus characterized by that.
前記各ブロックは、図形を含んでいるか否かを示すフラグ情報を含み、
前記範囲生成手段は、さらに
各ブロックのフラグ情報を生成し、
前記判定手段は、さらに
前記フラグ情報を用いて判定を行う
ことを特徴とする請求項に記載の描画装置。
Each of the blocks includes flag information indicating whether or not a graphic is included,
The range generation means further generates flag information of each block,
The drawing apparatus according to claim 1 , wherein the determination unit further performs determination using the flag information.
複数あるプロセッサの一部は、図形を描く描画命令を専用に実行するために製造された描画専用プロセッサであり、
複数あるプロセッサの残りは、汎用な処理命令を実行するために製造された汎用プロセッサである
ことを特徴とする請求項1〜のいずれかに記載の描画装置。
A part of the plurality of processors is a drawing-dedicated processor manufactured in order to execute a drawing instruction for drawing a figure exclusively.
The remaining plurality of processors, the drawing device according to any one of claims 1-2, characterized in that a general-purpose processor that is manufactured to perform a general purpose processing instructions.
複数あるプロセッサの全ては、汎用な処理命令を実行するために製造された汎用プロセッサである
ことを特徴とする請求項1〜のいずれかに記載の描画装置。
All of a plurality of processors, the drawing device according to any one of claims 1-2, characterized in that a general-purpose processor that is manufactured to perform a general purpose processing instructions.
複数あるプロセッサの全ては、図形を描く描画命令を専用に実行するために製造された描画専用プロセッサである
ことを特徴とする請求項1〜のいずれかに記載の描画装置。
All of a plurality of processors, the drawing device according to any one of claims 1-2, characterized in that the drawing dedicated processor manufactured to perform a drawing command to draw a graphics dedicated.
各描画専用プロセッサは、前記図形情報を記憶する描画レジスタを個別に備える
ことを特徴とする請求項又は請求項に記載の描画装置。
Each drawing dedicated processor, drawing apparatus according to claim 3 or claim 5, characterized in that it comprises a drawing register for storing the graphic information separately.
複数ある描画専用プロセッサは、前記図形情報を記憶する描画レジスタ1つを共有する
ことを特徴とする請求項又は請求項に記載の描画装置。
Plurality of drawing-only processor, drawing apparatus according to claim 3 or claim 5, characterized in that sharing a drawing registers one for storing the graphic information.
前記汎用プロセッサが実行する処理命令は、描画命令に限定される
ことを特徴とする請求項又は請求項に記載の描画装置。
The processing apparatus executed by the general-purpose processor is limited to a drawing instruction. The drawing apparatus according to claim 3 or 4 , wherein:
フレームメモリに複数の図形を描くことによりグラフィック画像を生成する描画装置に用いられる描画方法であって、A drawing method used in a drawing apparatus that generates a graphic image by drawing a plurality of figures in a frame memory,
前記描画装置は、The drawing device includes:
第1図形を描くための構成要素である第1図形情報と、第2図形を描くための構成要素である第2図形情報とを含む複数の図形情報を記憶している記憶手段と、Storage means for storing a plurality of pieces of graphic information including first graphic information that is a component for drawing the first graphic and second graphic information that is a component for drawing the second graphic;
各図形情報に基づいて前記フレームメモリに図形を描くプロセッサを複数個備え、A plurality of processors for drawing graphics in the frame memory based on each graphics information,
前記複数あるプロセッサのうち、第1図形情報に基づいて前記フレームメモリに第1図形を描く第1プロセッサと、第2図形情報に基づいて前記フレームメモリに第2図形を描く第2プロセッサとは並行して動作することにより、前記第1図形と前記第2図形とは同一時間帯に同一フレームメモリ上に描かれ、Of the plurality of processors, a first processor that draws a first graphic in the frame memory based on first graphic information and a second processor that draws a second graphic in the frame memory based on second graphic information are parallel By operating as above, the first graphic and the second graphic are drawn on the same frame memory in the same time zone,
前記第1プロセッサは前記フレームメモリに前記第1図形を描いている動作状態にあり、前記第2プロセッサは待機状態から前記第2図形を描く動作状態に遷移しようとしている場合において、In the case where the first processor is in an operation state of drawing the first graphic in the frame memory, and the second processor is about to transition from a standby state to an operation state of drawing the second graphic,
前記描画方法は、The drawing method is:
前記記憶手段から第2図形情報を読み出す読出しステップと、A reading step of reading second graphic information from the storage means;
前記第2図形情報により示される第2図形がフレームメモリ上に占めるはずの第2図形範囲を生成する範囲生成ステップと、A range generating step for generating a second graphic range that the second graphic indicated by the second graphic information should occupy on the frame memory;
前記第2図形範囲が、動作状態にある第1プロセッサにより描かれている第1図形のフレームメモリ上に占める第1図形範囲と重なるか否かを判定する判定ステップと、A determination step of determining whether or not the second graphic range overlaps the first graphic range occupied on the frame memory of the first graphic drawn by the first processor in the operating state;
前記判定手段により重ならないと判定される場合、待機状態にある第2プロセッサに前記第2図形情報を割り当てる割当てステップとを含み、An allocation step of allocating the second graphic information to a second processor in a standby state when the determination means determines that they do not overlap,
前記第2プロセッサが割当てられた前記第2図形情報に基づいて前記第2図形を描き始めることにより、前記第1プロセッサと前記第2プロセッサとは並行して動作し、The first processor and the second processor operate in parallel by starting to draw the second graphic based on the second graphic information assigned by the second processor,
フレームメモリに相当する図形領域は、所定数の画素から構成されるブロックごとに区分されており、前記範囲生成ステップは、前記図形領域に第2図形を描いたと想定したときに前記第2図形が含まれるブロックの集まりを前記第2図形範囲とみなし、The graphic area corresponding to the frame memory is divided into blocks each having a predetermined number of pixels, and the range generation step assumes that the second graphic is drawn when the second graphic is drawn in the graphic area. A set of included blocks is regarded as the second figure range,
前記判定ステップは、前記第2図形範囲に含まれるブロックのいずれかが、前記第1図形範囲に含まれるブロックのいずれかと一致する場合、前記第2図形範囲は前記第1図形範囲と重なると判定するThe determination step determines that the second graphic range overlaps the first graphic range when any of the blocks included in the second graphic range matches with any of the blocks included in the first graphic range. Do
ことを特徴とする描画方法。A drawing method characterized by that.
JP2002062431A 2002-03-07 2002-03-07 Drawing device Expired - Fee Related JP3696561B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002062431A JP3696561B2 (en) 2002-03-07 2002-03-07 Drawing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002062431A JP3696561B2 (en) 2002-03-07 2002-03-07 Drawing device

Publications (2)

Publication Number Publication Date
JP2003263645A JP2003263645A (en) 2003-09-19
JP3696561B2 true JP3696561B2 (en) 2005-09-21

Family

ID=29196207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002062431A Expired - Fee Related JP3696561B2 (en) 2002-03-07 2002-03-07 Drawing device

Country Status (1)

Country Link
JP (1) JP3696561B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4826922B2 (en) * 2008-03-31 2011-11-30 アイシン・エィ・ダブリュ株式会社 MAP DISPLAY DEVICE, MAP DISPLAY PROGRAM, AND NAVIGATION DEVICE USING THE SAME
JP2013084224A (en) * 2011-10-12 2013-05-09 Ricoh Co Ltd Image forming apparatus

Also Published As

Publication number Publication date
JP2003263645A (en) 2003-09-19

Similar Documents

Publication Publication Date Title
JP5592011B2 (en) Multi-scale 3D orientation
US20080129734A1 (en) Apparatus and method of ray-triangle collision detection for ray-tracing
EP1526360A1 (en) Method for displaying three-dimensional map
US20080259076A1 (en) Tile Based Graphics Rendering
EP2075543A2 (en) Three-dimensional map display navigation device, three-dimensional map display system, and three-dimensional map display program
KR101136737B1 (en) Method of and appartus for processing graphics
JP2005514711A (en) Efficient graphics state management for zone rendering
JP2007004799A (en) Three-dimensional graphic display device, method and program, and recording medium recording three-dimensional graphic display program
JP2008027418A (en) Method and system for tile binning using half-plane edge function
CN115375828B (en) Model shadow generation method, device, equipment and medium
CN111870953A (en) Height map generation method, device, equipment and storage medium
JP3696561B2 (en) Drawing device
WO2006013849A1 (en) Drawing device
CN113761618A (en) 3D simulation road network automation construction method and system based on real data
EP3605459A1 (en) Three-dimensional data generation device, three-dimensional data generation method, three-dimensional data generation program, and computer-readable recording medium having three-dimensional data generation program recorded thereon
CN115018967B (en) Image generation method, device, equipment and storage medium
JP2023021469A (en) Positioning method, positioning apparatus, method of generating visual map, and apparatus thereof
KR20140103407A (en) Method for terrain rendering using bimodal vertex splitting
CN111870954A (en) Height map generation method, device, equipment and storage medium
CN114519762A (en) Model normal processing method and device, storage medium and electronic equipment
JP4042377B2 (en) Image processing apparatus, image processing method, and computer program
JP2001033269A (en) Three-dimensional road guidance image presenting method, three-dimensional guidance image presenting device and recording medium having three-dimensional guidance image presentation program recorded thereon
JP2004219182A (en) Navigation system
JP2002230584A (en) Device and method for displaying three-dimensional graphics
JP2006221199A (en) Three-dimensional map display device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050629

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees