(57)【特許請求の範囲】
【請求項１】
描画コマンドに基づいて描画データを生成する２以上のグラフィックコントローラと、生成された描画データのランダム書き込み及びフレーム画像データの順次読み出しを同時に行うことができる各グラフィックコントローラに共通のフレームメモリと、フレーム画像を構成するピクセルごとの描画時刻を記憶する各グラフィックコントローラに共通のオフスクリーンメモリとを備え、
各グラフィックコントローラが、オフスクリーンメモリから読み出した描画時刻に基づいて描画処理の有効性を判定するとともに、生成された描画データをフレームメモリへ書き込む際に上記オフスクリーンメモリへ描画時刻を書き込むことを特徴とするグラフィック処理装置。
【請求項２】
オブジェクトごとの描画コマンドに基づいて描画データを生成する２以上のグラフィックコントローラと、生成された描画データのランダム書き込み及びフレーム画像データの順次読み出しを同時に行うことができる各グラフィックコントローラに共通のフレームメモリと、描画フラグを記憶する各グラフィックコントローラに共通のオフスクリーンメモリとを備え、
各グラフィックコントローラが、描画コマンドに基づく描画処理の実行に先立ち、描画コマンドに基づきオブジェクトごとに生成した描画フラグをオフスクリーンメモリへ書き込み、描画処理実行時に、上記オフスクリーンメモリから読み出した描画フラグに基づいて描画処理の有効性を判定することを特徴とするグラフィック処理装置。
【請求項３】
各グラフィックコントローラは、描画フラグをオフスクリーンメモリへ書き込む際に他のグラフィックコントローラが既に書き込んだ描画フラグを読み出し、当該読み出された描画フラグの有効性を判定し、当該判定結果に基づいて、当該読み出された描画フラグをオフスクリーンメモリから削除することを特徴とする請求項２に記載のグラフィック処理装置。
【請求項４】
上記描画フラグが、グラフィックコントローラによって生成される描画データの及ぶ描画領域と、描画処理の順序を示す描画順序からなり、上記グラフィックコントローラは、描画領域に基づいて描画データ間の重複を判別し、描画順序に基づいて描画処理の有効性を判別することを特徴とする請求項３に記載のグラフィック処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、グラフィック処理装置に係り、更に詳しくは、グラフィック画像の描画処理、特に、重ね合わせによる描画処理を高速に実行するためのグラフィック処理装置に関する。
【０００２】
【従来の技術】
図１２は、従来のグラフィック処理装置の構成を示したブロック図である。図中の１は装置全体及び各ブロックの動作制御を行う中央演算処理装置（ＣＰＵ）、２はメインバス、３は画像の表示制御を行うグラフィックコントローラ（ＧＤＣ）、４はローカルバス、１１は画像情報を記憶するフレームメモリ、７は画像情報を直列変換する並列直列変換部、８は画像情報を色変換する変換テーブル（ＬＵＴ：Look-Up Table）である。
【０００３】
メインバス２には、ＣＰＵ１及びグラフィックコントローラ３が接続され、ＣＰＵ１が、メインバス２を介してグラフィックコントローラ３へ描画コマンドを出力すると、グラフィックコントローラ３は、描画コマンドに基づいて描画処理を行って描画データを生成する。生成された描画データは、ローカルバス４を介してフレームメモリ１１へ書き込まれる。また、ＣＰＵ１が、描画データを生成し、メインバス２及びローカルバス４を介して、この描画データをフレームメモリ１１へ書き込むこともできる。フレームメモリ１１は、フレームを構成する各ピクセルごとのデータを記憶することができ、１又は２以上の描画データが書き込まれることにより、これらの描画データが合成されたフレーム画像データがフレームメモリ１１内に生成される。
【０００４】
ローカルバス４には、グラフィックコントローラ３、フレームメモリ１１及び並列直列変換部７が接続されている。フレームメモリ１１に記憶されたフレーム画像データは、ローカルバス４を介して並列直列変換部７へ出力され、その出力フォーマットに応じて直列データに変換された後、ＬＵＴ８で色情報に変換され、ＬＣＤ，ＣＲＴ等の表示デバイス（不図示）へ出力され、所望の画像が表示される。
【０００５】
フレームメモリ１１は、一般に、グラフィックＲＡＭ（ＧＲＡＭ）と呼ばれるシングルポートメモリが用いられている。この場合、グラフィックコントローラ３による描画データの書き込みと、並列直列変換部７によるフレーム画像データの読み出しが、同一の入出力ポートを介して行われ、グラフィックコントローラ３および並列直列変換部７のフレームメモリ１１に対するアクセスは、時分割で行われることになる。
【０００６】
従って、フレームメモリが並列直列変換部７へデータ出力を行っている期間は、グラフィックコントローラ３が描画データを書き込むことができない待ち時間が発生し、グラフィック処理装置全体として、グラフィック処理能力の低下を引き起こしていた。つまり、ＣＰＵ１側からフレームメモリ１１へアクセスできないデッドタイムが発生し、描画処理速度を低下させるという問題があった。
【０００７】
また、２以上の描画データを合成してフレーム画像データを生成する場合など、複雑なグラフィック描画処理を実行させる場合には高速な描画処理が求められるが、グラフィックコントローラの描画処理速度には限界があるため、単一のグラフィックコントローラを用いてグラフィック処理装置を構成した場合、描画処理の高速化には限界があった。
【０００８】
【発明が解決しようとする課題】
この発明は上記事情を考慮してなされたものであり、複雑なグラフィック描画処理を高速に実行することができるグラフィック処理を提供することを目的とする。特に、２以上の描画データを合成してフレーム画像データを生成するグラフィック描画処理を高速に実行することができるグラフィック処理装置を提供することを目的とする。また、グラフィック描画処理の複雑さに応じて、スケーラブルに処理能力を向上させることができるグラフィック処理装置を提供とすることを目的とする。
【０００９】
【課題を解決するための手段】
請求項１に記載の本発明によるグラフィック処理装置は、描画コマンドに基づいて描画データを生成する２以上のグラフィックコントローラと、生成された描画データのランダム書き込み及びフレーム画像データの順次読み出しを同時に行うことができる各グラフィックコントローラに共通のフレームメモリと、フレーム画像を構成するピクセルごとの描画時刻を記憶する各グラフィックコントローラに共通のオフスクリーンメモリとを備え、各グラフィックコントローラが、オフスクリーンメモリから読み出した描画時刻に基づいて描画処理の有効性を判定するとともに、生成された描画データをフレームメモリへ書き込む際に上記オフスクリーンメモリへ描画時刻を書き込むように構成される。
【００１０】
請求項２に記載の本発明によるグラフィック処理装置は、オブジェクトごとの描画コマンドに基づいて描画データを生成する２以上のグラフィックコントローラと、生成された描画データのランダム書き込み及びフレーム画像データの順次読み出しを同時に行うことができる各グラフィックコントローラに共通のフレームメモリと、描画フラグを記憶する各グラフィックコントローラに共通のオフスクリーンメモリとを備え、各グラフィックコントローラが、描画コマンドに基づく描画処理の実行に先立ち、描画コマンドに基づきオブジェクトごとに生成した描画フラグをオフスクリーンメモリへ書き込み、描画処理実行時に、上記オフスクリーンメモリから読み出した描画フラグに基づいて描画処理の有効性を判定するように構成される。
【００１１】
請求項３に記載の本発明によるグラフィック処理装置は、各グラフィックコントローラは、描画フラグをオフスクリーンメモリへ書き込む際に他のグラフィックコントローラが既に書き込んだ描画フラグを読み出し、当該読み出された描画フラグの有効性を判定し、当該判定結果に基づいて、当該読み出された描画フラグをオフスクリーンメモリから削除するように構成される。
【００１２】
請求項４に記載の本発明によるグラフィック処理装置は、上記描画フラグが、グラフィックコントローラによって生成される描画データの及ぶ描画領域と、描画処理の順序を示す描画順序からなり、上記グラフィックコントローラは、描画領域に基づいて描画データ間の重複を判別し、描画順序に基づいて描画処理の有効性を判別するように構成される。
【００１７】
【発明の実施の形態】
実施の形態１．
図１は、本発明の実施の形態１によるグラフィック処理装置の一構成例を示したブロック図である。図中の１は装置全体及び各ブロックの動作制御を行う中央演算処理装置（ＣＰＵ）、２はメインバス、３は画像の表示制御を行うグラフィックコントローラ（ＧＤＣ）、４はローカルバス、５は画像情報を記憶するフレームメモリ、７は画像情報を直列変換する並列直列変換部、８は画像情報を色変換する変換テーブル（ＬＵＴ）である。
【００１８】
メインバス２には、ＣＰＵ１及びグラフィックコントローラ３が続され、ＣＰＵ１が、メインバス２を介してグラフィックコントローラ３へ描画コマンドを出力すると、グラフィックコントローラ３は、描画コマンドに基づいて描画処理を行って描画データを生成する。生成された描画データは、ローカルバス４を介してフレームメモリ５へ書き込まれる。また、ＣＰＵ１が、描画データを生成し、メインバス２及びローカルバス４を介して、この描画データをフレームメモリ５へ書き込むこともできる。フレームメモリ５は、１又は２以上の描画データが書き込まれることにより、これらの描画データが合成されたフレーム画像データがフレームメモリ５内に生成される。
【００１９】
フレームメモリ５は、フレームを構成する各ピクセルごとのデータを記憶することができる半導体記憶装置であり、グラフィックコントローラから描画データのランダム書き込みを行うための第１ポートと並列直列変換部７へフレーム画像データの順次読み出しを行うための第２ポートを有する、いわゆるデュアルポートメモリである。この様なデュアルポートメモリでは、フレームメモリ５上の異なるアドレスに対し、データ書き込みと、データ読み出しとを同時に行うことができる。
【００２０】
フレームメモリ５に記憶されたフレーム画像データは、フレームごとに順次に並列直列変換部７へ出力され直列変換された後、ＬＵＴ８で色情報に変換され、ＬＣＤ，ＣＲＴ等の表示デバイス（不図示）へ出力され、所望の画像が表示される。
【００２１】
本実施の形態によれば、フレームメモリ５から並列直列変換部７へのデータ出力によって、ＣＰＵ１及びグラフィックコントローラ３がフレームメモリ５へアクセスできないデッドタイムが発生しない。このため、ＣＰＵ１側からフレームメモリ５に常に描画データを書き込むことができ、グラフィック処理能力の低下を防止することができる。つまり、グラフィック処理装置の処理能力の向上を図ることができる。
【００２２】
実施の形態２．
実施の形態１では、１組のグラフィックコントローラ３及びフレームメモリ５を有するグラフィック処理装置の例について説明したが、本実施の形態では、２以上のグラフィックコントローラ３及び２以上のフレームメモリ５を有するグラフィック処理装置について説明する。
【００２３】
図２は、本発明の実施の形態２によるグラフィック処理装置の一構成例を示したブロック図である。図中の１は装置全体及び各ブロックの動作制御を行う中央演算処理装置（ＣＰＵ）、２はメインバス、２１〜２ｎは画像情報を生成するグラフィック処理部、６は画像情報を合成するフレーム合成回路、７は画像情報を直列変換する並列直列変換部、８は画像情報を色変換する変換テーブル（ＬＵＴ）である。
【００２４】
このグラフィック処理装置は、ｎ個のグラフィック処理部２１〜２ｎを備え（ｎは２以上の整数）、各グラフィック処理部２１〜２ｎは、ローカルバス４を介して接続されたグラフィックコントローラ３及びフレームメモリ５により構成される。フレームメモリ５には、実施の形態１と同様のデュアルポートメモリが使用され、第２ポートから順次に出力されるフレーム画像データはフレーム合成回路６へ入力される。
【００２５】
フレーム合成回路６は、各グラフィック処理部２１〜２ｎからの出力データについてピクセルごとに合成処理を行うハードウエア回路であり、合成された画像データが並列直列変換部７へ出力される。このため、２以上の画像データを合成する場合に、合成前の画像データの描画を各グラフィック処理部２１〜２ｎにおいて分散処理させるとともに、フレーム合成回路６においてハードウエア合成し、高速に処理することができる。
【００２６】
また、各グラフィック処理部２１〜２ｎからのデータについて所定の論理演算を行うようにフレーム合成回路６を構成すれば、各グラフィック処理部２１〜２ｎで生成された画像データの重なり具合の制御を行うこともできる。
【００２７】
従来のグラフィック処理装置では、１つのグラフィックコントローラ３しか有していないため、合成前の画像データを１つのグラフィックコントローラ３が生成するとともに、ＣＰＵ１又はグラフィックコントローラ３が合成前の各画像データについてピクセルごとの演算処理を行っていたために、グラフィック処理能力を低下させていた。
【００２８】
本実施の形態によれば、グラフィックコントローラ３及びフレームメモリ５からなる２以上のグラフィック処理部２１〜２ｎと、各グラフィック処理部２１〜２ｎの出力データをピクセル単位でハードウエア合成するフレーム合成回路６を備えることにより、合成前のフレーム画像データを各グラフィック処理部２１〜２ｎにおいて分散処理するとともに、フレーム合成回路６において高速に合成することができる。
【００２９】
実施の形態３．
実施の形態２では、複数組のグラフィックコントローラ３及びフレームメモリ５を有するグラフィック処理装置の例について説明したが、本実施の形態では、２以上のグラフィックコントローラ３が１つのフレームメモリ５を共用するグラフィック処理装置について説明する。
【００３０】
図３は、本発明の実施の形態３によるグラフィック処理装置の一構成例を示したブロック図である。図中の１は装置全体及び各ブロックの動作制御を行う中央演算処理装置（ＣＰＵ）、２はメインバス、３１〜３ｎは画像の表示制御を行うグラフィックコントローラ（ＧＤＣ）、４はローカルバス、５は画像情報を記憶するフレームメモリ、７は画像情報を直列変換する並列直列変換部、８は画像情報を色変換する変換テーブル（ＬＵＴ）である。
【００３１】
メインバス２には、ＣＰＵ１及びｎ個のグラフィックコントローラ３１〜３ｎが接続され、ＣＰＵ１が、メインバス２を介して各グラフィックコントローラ３１〜３ｎへ描画コマンドを出力すると、グラフィックコントローラ３１〜３ｎは、描画コマンドに基づいて描画処理を行って描画データを生成する。生成された描画データは、ローカルバス４を介してフレームメモリ５へ書き込まれる。
【００３２】
１又は２以上の描画データがフレームメモリ５に書き込まれることにより、これらの描画データが合成されたフレーム画像データがフレームメモリ５内に生成される。フレームメモリ５には、実施の形態１と同様のデュアルポートメモリが使用され、第２ポートから順次に出力されるフレーム画像データは並列直列変換部７へ出力される。
【００３３】
このグラフィック処理装置は、ｎ個のグラフィックコントローラ３１〜３ｎを備え、各グラフィックコントローラ３１〜３ｎは、共通のフレームメモリ５にアクセスすることができる。このため、ＣＰＵ１は、互いに相関又は依存関係のない描画データを異なるグラフィックコントローラに分散して描画処理させて、グラフィック処理能力を向上させることができる。
【００３４】
図４は、図３のグラフィック処理装置における動作の一例について説明する説明図であり、（ａ）〜（ｃ）には表示デバイス上でのイメージが示されている。図中の（ａ）は表示デバイスに表示させたいフレーム画像、（ｂ）はグラフィックコントローラ３１が描画するグラフィック画像、（ｃ）はグラフィックコントローラ３２が描画するグラフィック画像である。描画すべき２個のオブジェクト５１，５２の間に相関や依存関係がない場合、ＣＰＵ１は、各オブジェクトを異なるグラフィックコントローラ３１，３２に割り当てるように描画コマンドを生成する。そして、各グラフィックコントローラ３１，３２からの描画データが、共通のフレームメモリ５に書き込まれることにより合成され、所望のフレーム画像データが得られる。
【００３５】
本実施の形態によれば、２以上のグラフィックコントローラ３１〜３ｎと、各グラフィックコントローラによってアクセスされ、描画データのランダム書き込み及びフレーム画像データの順次読み出しを同時に行うことができるフレームメモリ５とを備えている。このため、描画処理を各グラフィックコントローラ３１〜３ｎに分散させて高速に処理することができ、グラフィック処理装置の処理能力の向上を図ることができる。
【００３６】
実施の形態４．
本実施の形態では、２以上のグラフィック処理部２１〜２ｎで描画された画像データをハードウエア合成する実施の形態２のグラフィック処理装置において、各グラフィック処理部２１〜２ｎを２以上のグラフィックコントローラ及び１つのフレームメモリで構成する実施の形態３の構成を適用する場合について説明する。
【００３７】
図５は、本発明の実施の形態４によるグラフィック処理装置の一構成例を示したブロック図である。図中の１は装置全体及び各ブロックの動作制御を行う中央演算処理装置（ＣＰＵ）、２はメインバス、２１〜２ｎは画像情報を生成するグラフィック処理部、６は画像情報を合成するフレーム合成回路、７は画像情報を直列変換する並列直列変換部、８は画像情報を色変換する変換テーブル（ＬＵＴ）である。
【００３８】
このグラフィック処理装置は、ｎ個のグラフィック処理部２１〜２ｎを備え（ｎは２以上の整数）、各グラフィック処理部２１〜２ｎは、ローカルバス４を介して接続されたｍ個のグラフィックコントローラ３１〜３ｍ及び１つのフレームメモリ５により構成される（ｍは２以上の整数）。フレームメモリ５には、実施の形態１と同様のデュアルポートメモリが使用され、第１ポートは、グラフィックコントローラ３１〜３ｍによる描画データの書き込みに共用され、第２ポートから順次に出力されるフレーム画像データはフレーム合成回路６へ入力され、実施の形態２と同様のハードウエア合成が行われる。
【００３９】
図２のグラフィック処理装置（実施の形態２）では、フレーム合成回路７においてハードウエア合成を行っているが、合成前の画像データの描画処理に時間を要するグラフィック処理の場合には、各グラフィック処理部２１〜２ｎの処理能力、すなわち、１つのグラフィックコントローラ３の処理能力がボトルネックとなり、それ以上にグラフィック処理装置の処理能力を向上させることができない。
【００４０】
これに対し、図５のグラフィック処理装置では、各グラフィック処理部２１〜２ｎが、２以上のグラフィックコントローラ３１〜３ｍを有するため、各グラフィックコントローラ３１〜３ｍによる分散処理により、各グラフィック処理部２１〜２ｎの描画処理能力を向上させることができる。
【００４１】
本実施の形態によれば、グラフィック描画処理が、２以上のグラフィック処理部２１〜２ｎにおいて分散処理され、さらに、各グラフィック処理部２１〜２ｎ内において、２以上のグラフィックコントローラ３１〜３ｍにより分散処理される。このため、ハードウエア合成前の描画処理を各グラフィックコントローラに分散させて高速に処理することができ、グラフィック処理装置の処理能力の向上を図ることができる。
【００４２】
実施の形態５．
実施の形態３及び４では、２以上のグラフィックコントローラが、共通のフレームメモリにアクセスする場合について説明した。各グラフィックコントローラに割り当てられた処理が、相互に相関や依存関係のない描画データであれば、実施の形態３及び４の回路構成により、ハードウエアに応じたパフォーマンスを得ることができる。
【００４３】
ところが、最近の３次元描画処理では、陰線消去などの様に描画順序が規定される処理が少なくない。このような処理順序が規定されている描画処理を分散化して実行する場合、描画シーケンスによっては、無効な処理が発生する可能性が高くなる。また、このような制御をＣＰＵ１が行うとすれば、結果として描画性能の劣化を招くことになる。
【００４４】
そこで、本実施の形態では、描画順序を有する描画処理を２以上のグラフィックコントローラにより分散処理する際に、描画時刻を記憶するオフスクリーンメモリを用いて、描画処理を高速化するグラフィック処理装置について説明する。
【００４５】
図６は、本発明の実施の形態５によるグラフィック処理装置の一構成例を示したブロック図である。図中の１は装置全体及び各ブロックの動作制御を行う中央演算処理装置（ＣＰＵ）、２はメインバス、３１〜３ｎは画像情報を生成するグラフィックコントローラ（ＧＤＣ）、４はローカルバス、５は画像情報を記憶するフレームメモリ、７は画像情報を直列変換する並列直列変換部、８は画像情報を色変換する変換テーブル（ＬＵＴ）、９は描画時刻を記憶するオフスクリーンメモリである。図３のグラフィック処理装置（実施の形態３）と比較すれば、オフスクリーンメモリ９を備えている点で異なる。
【００４６】
オフスクリーンメモリ９は、フレーム画像のピクセルごとに、当該ピクセルの描画処理が行われた時刻が書き込まれる記憶装置であり、オフスクリーンメモリ９に記憶された描画時刻は、フレームメモリ７の各ピクセルに対応している。この描画時刻は、各グラフィックコントローラ３１〜３ｎが、描画データをフレームメモリ５へ書き込む際に、ローカルバス４を介してオフスクリーンメモリ９へ書き込まれる。
【００４７】
各グラフィックコントローラ３１〜３ｎは、描画コマンドに基づく描画処理の実行に先立ち、オフスクリーンメモリ９から描画時刻データを読み出して、当該描画処理の必要性を判定する。描画処理に順序関係がある場合には、順序のより後の処理が先に行われていれば、順序が前の処理を行う必要がないことを判定できる場合がある。この結果、描画が不要である場合には、グラフィックコントローラ３１〜３ｎは当該描画処理を省略して、次の描画処理に移行することができる。
【００４８】
例えば、グラフィックコントローラ３１による描画処理後に、グラフィックコントローラ３２の描画処理が行われるという順序関係が規定されている場合、グラフィックコントローラ３２が、描画データをフレームメモリ９に書き込むとともに、オフスクリーンメモリ９に描画時刻を書き込めば、その後にグラフィックコントローラ３１が描画処理を行う際、オフスクリーンメモリ９から上記描画時刻を読み出せば、不要となった描画処理をピクセルごとに判定することができる。この様にして描画処理の有効性を判断することにより、不要な描画処理を省略して描画処理能力を向上させることができる。
【００４９】
本実施の形態によれば、フレーム画像を構成するピクセルごとの描画時刻データを記憶するオフスクリーンメモリ９を備え、各グラフィックコントローラ３１〜３ｎが、フレームメモリ５へ書き込みを行う際に共通のオフスクリーンメモリ９へ描画時刻データを書き込むとともに、オフスクリーンメモリ９から読み出した描画時刻データに基づいて描画処理を行う。このため、描画順序を有する描画処理を２以上のグラフィックコントローラ３１〜３ｎにより分散処理させる場合に、不要な描画処理を判別して省略して描画処理性能を向上させることができる。
【００５０】
実施の形態６．
本実施の形態では、依存関係を有する描画処理、つまり、後続する描画コマンドによって先行して処理されている描画データが無効になるような描画処理を２以上のグラフィックコントローラにより分散処理する際に、描画フラグを記憶するオフスクリーンメモリを用いて、描画処理を高速化するグラフィック処理装置について説明する。
【００５１】
図７は、本発明の実施の形態６によるグラフィック処理装置の一構成例を示したブロック図である。図中の１は装置全体及び各ブロックの動作制御を行う中央演算処理装置（ＣＰＵ）、２はメインバス、３１〜３ｎは画像情報を生成するグラフィックコントローラ（ＧＤＣ）、４はローカルバス、５は画像情報を記憶するフレームメモリ、７は画像情報を直列変換する並列直列変換部、８は画像情報を色変換する変換テーブル（ＬＵＴ）、９’は描画フラグを記憶するオフスクリーンメモリである。図６のグラフィック処理装置（実施の形態５）と比較すれば、描画フラグを記憶するオフスクリーンメモリ９’を備えている点で異なる。
【００５２】
オフスクリーンメモリ９’には、描画コマンドに基づく描画処理の実行に先立ち、各グラフィックコントローラ３１〜３ｎによって描画処理の依存関係が書き込まれる。各グラフィックコントローラ３１〜３ｎは、オフスクリーンメモリ９’に依存関係を書き込んだ後、描画処理実行時にオフスクリーンメモリ９’にアクセスして、描画処理の有効性を判断する。この結果、描画処理が無効である場合、グラフィックコントローラ３１〜３ｎは、当該描画処理を省略して、次の描画処理に移行することができる。
【００５３】
オフスクリーンメモリ９’には、描画順序、描画領域などが描画フラグとして書き込まれる。グラフィックコントローラ３１〜３ｎは、重複する描画領域について描画順序がより若い描画フラグが既に書き込まれている場合には、自分自身の描画フラグを書き込む際に、描画順序の若い当該描画フラグを消去する。このため、全てのグラフィックコントローラ３１〜３ｎが描画フラグを書き込んだ後は、無効な描画処理の描画フラグは、オフスクリーンメモリ９’から消去されている。
【００５４】
各グラフィックコントローラ３１〜３ｎは、描画処理実行時にオフスクリーンメモリ９’に記憶された描画フラグを読み出して、描画処理の有効性を判定する。この結果、描画処理が有効である場合には、当該描画処理を開始し、描画処理が無効である場合には、当該描画処理を省略して、次の描画処理に移行する。
【００５５】
図８は、図７のグラフィック処理装置によって描画処理されるグラフィック画像の表示デバイス上でのイメージの一例を示した図である。図中のＡ１，Ａ２，Ｂ１，Ｂ２は、それぞれが個別に描画処理されるオブジェクトであり、Ａ１，Ａ２は、グラフィックコントローラ３１により描画処理され、Ｂ１，Ｂ２は、グラフィックコントローラ３２により描画処理される。
【００５６】
これらのオブジェクトの描画順序は、Ｂ１→Ａ１→Ｂ２→Ａ２の順であり、オブジェクトの重複領域では、描画順序がより後のオブジェクトのみが表示される。このため、オブジェクトＡ１，Ａ２の重複領域では、オブジェクトＡ２が表示される。また、オブジェクトＢ１は、完全にオブジェクトＡ１と重複しているため表示されず、オブジェクトＢ１の描画処理は、オブジェクトＡ１の描画処理によって無効とされる処理である。
【００５７】
図９は、図８のグラフィック画像を生成する動作の一例を示したタイミングチャートである。描画処理の開始前にオフスクリーンメモリ９’への書込期間が設けられ、各グラフィックコントローラ３１，３２は、ＣＰＵ１から描画コマンドを受け取ると、まずオフスクリーンメモリ９’へ描画フラグの書き込みを行う。そして、全ての描画フラグがオフスクリーンメモリ９’に書き込まれた後に、描画処理が開始される。この描画処理は、オフスクリーンメモリ９’の描画フラグを参照して行われる。なお、実際のオフスクリーンメモリ９’への書込期間は、描画時間に比べて十分に短い時間である。
【００５８】
ＣＰＵ１は、描画順序に従って、Ｂ１，Ａ１，Ｂ２，Ａ２の順に描画コマンドを発行し、これを受け取ったグラフィックコントローラ３１，３２が、オフスクリーンメモリ９’へ描画フラグを書き込む。描画フラグは、描画コマンドに基づいて生成され、順序ＩＤ、描画領域および実行ＧＤＣからなる。
【００５９】
順序ＩＤは、描画コマンドの発行順を示す一連の番号であり、例えば、オブジェクトＢ１＝１、オブジェクトＡ１＝１、オブジェクトＢ２＝３、オブジェクトＡ２＝４となる描画順序を示すデータである。描画領域は、描画されるオブジェクトが及ぶ領域を示すデータであり、例えば、矩形であれば対向する頂点（左上及び右下）の座標、円形で有れば中心座標と半径からなる。実行ＧＤＣは、当該描画処理を実行するグラフィックコントローラの識別名である。
【００６０】
まず最初に、ＣＰＵ１がオブジェクトＢ１の描画コマンドを発行し、グラフィックコントローラ３２がこれを受け取る（Ｂ１ＲＣＶ）。グラフィックコントローラ３２は、この描画コマンドに基づいて描画フラグを生成し、オフスクリーンメモリ９’に書き込む（Ｂ１ＦＬＧＷ）。次に、グラフィックコントローラ３１が、ＣＰＵ１の発行するオブジェクトＡ１の描画コマンドを受け取り（Ａ１ＲＣＶ）、その描画フラグをオフスクリーンメモリ９’に書き込む（Ａ１ＦＬＧＷ）。このとき、既に書き込まれているオブジェクトＢ１の描画フラグをオフスクリーンメモリ９’から読み出し、その順序ＩＤ及び描画領域に基づいて、オブジェクトＢ１の描画処理が無効となることを判定し、オブジェクトＢ１の描画フラグを消去する。
【００６１】
この様にして、全てのオブジェクトＢ１，Ａ１，Ｂ２，Ａ２について、描画フラグが書き込まれた後に描画処理が開始される。このとき、オブジェクトＢ１の描画フラグは消去されているため、グラフィックコントローラ３２は、Ｂ１の描画を省略してＢ２の描画を実行する。一方、グラフィックコントローラＡは、オブジェクトＡ１，Ａ２の描画を順次に実行する。
【００６２】
図１０は、実施の形態３による描画処理と比較したタイミングチャートである。図中の（ａ）が実施の形態３による場合であり、（ｂ）が本実施の形態による場合である。実施の形態３では、描画処理を分散化しても、各描画処理は、描画順序に従って順に実行されているのに対し、（ｂ）では、無効な描画を省略するとともに、並列処理を行っている。
【００６３】
この場合、オブジェクトＡ１，Ａ２の描画処理時間をそれぞれｔA、オブジェクトＢ１，Ｂ２の描画処理時間をそれぞれｔBとすれば、（ａ）では、全描画時間が２ｔA＋２ｔBであるのに対し、（ｂ）では、全描画時間が２ｔAに短縮されていることがわかる。
【００６４】
本実施の形態によれば、描画順序及び描画領域からなる描画フラグを記憶するオフスクリーンメモリ９’を備え、各グラフィックコントローラ３１〜３ｎが、描画処理の開始前にオフスクリーンメモリ９’へ描画フラグを書き込むとともに、描画処理実行時にオフスクリーンメモリ９’の描画フラグを参照して描画処理を行う。このため、不要な描画処理を判別して省略して描画処理性能を向上させるとともに、並列に描画処理を実行し、グラフィック描画処理を高速に実行することができる。
【００６５】
実施の形態７．
実施の形態３、５及び６では、グラフィック処理装置が２以上のグラフィックコントローラと、各グラフィックコントローラに共通のフレームメモリにより構成されている。各グラフィックコントローラが、共通のフレームメモリにアクセスする場合には、グラフィックコントローラ数が増大するに従って、アクセスの衝突が生ずる可能性が高くなる。つまり、あるグラフィックコントローラの描画処理が終了していても、他のグラフィックコントローラがフレームメモリにアクセスしているために、フレームメモリにアクセスできないデッドタイムが生じる。このため、グラフィック処理装置としての描画処理能力を向上させることが困難な場合が生じ得る。
【００６６】
図１１は、本発明の実施の形態７によるグラフィック処理装置の一構成例を示したブロック図である。図中の１は装置全体及び各ブロックの動作制御を行う中央演算処理装置（ＣＰＵ）、２はメインバス、３１〜３ｎは画像情報を生成するグラフィックコントローラ（ＧＤＣ）、１０は画像情報を記憶するフレームメモリ、７は画像情報を直列変換する並列直列変換部、８は画像情報を色変換する変換テーブル（ＬＵＴ）である。図３のグラフィック処理装置（実施の形態３）と比較すれば、各グラフィックコントローラ３１〜３ｎがローカルバスを介することなくフレームメモリ１０に接続されている点で異なる。
【００６７】
フレームメモリ１０は、ｎ個のグラフィックコントローラ３１〜３ｎが同時にランダム書込を行うことができるｎ個の書込ポートと、並列直列変換部７へ対し画像データを順次に出力する順次読出ポートからなるｎ＋１個の入出力ポートを備えている。
【００６８】
このため、各グラフィックコントローラ３１〜３ｎは、常にフレームメモリ１０へアクセスすることができ、デッドタイムが発生しない。このため、デッドタイムの発生による描画処理能力の低下を防止することができる。
【００６９】
【発明の効果】
本発明によれば、２以上のグラフィックコントローラと、２以上の入力出ポートを有するフレームメモリを備えることにより、グラフィック描画処理を高速に実行することができる。特に、２以上のグラフィックコントローラを効率的に動作させることにより、２以上の描画データを合成してフレーム画像データを生成するグラフィック描画処理を高速に実行させることができる
【図面の簡単な説明】
【図１】  本発明の実施の形態１によるグラフィック処理装置の一構成例を示したブロック図である。
【図２】  本発明の実施の形態２によるグラフィック処理装置の一構成例を示したブロック図である。
【図３】  本発明の実施の形態３によるグラフィック処理装置の一構成例を示したブロック図である。
【図４】  図３のグラフィック処理装置における動作の一例について説明する説明図であり、（ａ）〜（ｃ）には表示デバイス上でのイメージが示されている。
【図５】  本発明の実施の形態４によるグラフィック処理装置の一構成例を示したブロック図である。
【図６】  本発明の実施の形態５によるグラフィック処理装置の一構成例を示したブロック図である。
【図７】  本発明の実施の形態６によるグラフィック処理装置の一構成例を示したブロック図である。
【図８】  図７のグラフィック処理装置によって描画処理されるグラフィック画像の表示デバイス上でのイメージの一例を示した図である。
【図９】  図８のグラフィック画像を生成する動作の一例を示したタイミングチャートである。
【図１０】  実施の形態３による描画処理と比較したタイミングチャートである。図中の（ａ）が実施の形態３による場合であり、（ｂ）が実施の形態６による場合である。
【図１１】  本発明の実施の形態７によるグラフィック処理装置の一構成例を示したブロック図である。
【図１２】  従来のグラフィック処理装置の構成を示したブロック図である。
【符号の説明】
１  中央演算処理装置（ＣＰＵ）、２  メインバス、
３，３１〜３ｎ，３１〜３ｍ  グラフィックコントローラ（ＧＤＣ）、
４  ローカルバス、５  フレームメモリ（デュアルポート）、
６  フレーム合成回路、
７  並列直列変換部、８  色変換テーブル（ＬＵＴ）、
９，９’  オフスクリーンメモリ、１０  フレームメモリ（ｎ＋１ポート）
１１  フレームメモリ（シングルポート）
２１〜２ｎ  グラフィック処理部
【図１】
0003740415.tif 000002
【図２】
0003740415.tif 000003
【図３】
0003740415.tif 000004
【図４】
0003740415.tif 000005
【図５】
0003740415.tif 000006
【図６】
0003740415.tif 000007
【図７】
0003740415.tif 000008
【図８】
0003740415.tif 000009
【図９】
0003740415.tif 000010
【図１０】
0003740415.tif 000011
【図１１】
0003740415.tif 000012
【図１２】
0003740415.tif 000013