説明

描画装置及び描画方法

【課題】特別なメモリを使用することなく、高速に描画処理を実行することができる描画装置及び描画方法を提供する。
【解決手段】描画装置の領域判定部23は、矩形の描画領域の対角2頂点の座標を比較することで重複判定を行うものであって、前回の描画領域である第1描画領域のうち今回のオブジェクトが重複していない領域から最も大きい矩形領域を抽出してこれを更新した第1描画領域とし、今回のオブジェクトのうち第1描画領域が重複していない領域を第3領域とし、今回のオブジェクトのうち第1描画領域が重複している領域を第4領域とする。アルファブレンド部26は、第3領域については、現在のオブジェクトと背景色とブレンドした結果を出力バッファ15に出力し、第4領域については、現在のオブジェクトと出力バッファ15の値とをブレンドした結果を出力バッファ15に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画面にフォルダやチャンネル表などを描画する描画装置及び描画方法に関し、特に、描画速度の向上を図った描画装置及び描画方法に関する。
【背景技術】
【0002】
例えば、コンピュータグラフィックスシステムやエンジニアリングワークステーション等に用いられる画像描画装置では、その描画速度は、システム全体の処理能力に深く影響し、処理能力を決定する重要なファクタとなっている。したがって、描画速度の高速化のために種々の方式が開発されている。
【0003】
特許文献1には、低速大容量の画像メモリをアクセスするに際し、画素データの記録又は未記録状態を高速小容量の状態保持メモリに記憶し、画像メモリのアクセス回数を低減する画像メモリ状態管理装置が開示されている。この画像メモリ状態管理装置は、少なくとも1画面の画素データを記憶する画像メモリと、各座標の画素が画像メモリに既に記録済みか否かを記憶する画像状態保持メモリと、新たな画像を作成する前に画像状態保持メモリの全ての座標のフラグを未記録状態にクリアするフラグクリア装置と、1画面を構成する画像の座標と各画素の画素データを生成する画素生成装置と、画素生成装置によって生成された座標の画素データを画像メモリに記録する書込装置と、画素生成装置が生成した座標に対応する画像状態保持メモリのフラグを記録済みに変更する状態変更装置と、画像の作成終了後に画像状態保持メモリの全座標のフラグを調べ、画像メモリの記録済みでない座標の画素データをクリアする画像クリア装置と、を具備する。
【0004】
この画像メモリ状態管理装置においては、先ずフラグクリア装置は新たな画像を作成する画像状態保持メモリの全ての座標のフラグを未記録状態にクリアする。次に画素生成装置は1画面を構成する画像の座標と各画素の画素データを生成する。そして書込装置は画素生成装置によって生成された座標の画素データを画像メモリに記録する。状態変更装置は画素生成装置が生成した座標に対応する画像状態保持メモリのフラグを記録済みに変更する。画像クリア装置は画像の作成終了後に画像状態保持メモリの全座標のフラグを調べ、画像メモリの記録済みでない座標の画素データをクリアする。こうすると画像メモリの記録状態又は未記録状態を参照する代わりに、画像状態保持メモリの内容を参照するのみで、各画素の状態を調べることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平8−123951号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述の特許文献1においては、画像状態保持メモリの内容を参照し、画像メモリの各座標(アドレス)のうち、未記録部分を画像クリア装置によってクリアする。すなわち、全画素について、記録済みか記録済みではないかの画像状態を記憶しておく必要があるため、通常の表示用のメモリに加え、別途大きなメモリ(画像状態保持メモリ)が必要となってしまうという問題点がある。
【課題を解決するための手段】
【0007】
本発明に係る描画装置は、矩形のオブジェクトを1画面に1以上描画する描画装置であって、前回の描画領域を第1描画領域として記憶する第1レジスタと、前記第1描画領域と今回のオブジェクトとを比較し、その重複関係を判定する判定部と、前記判定部の判定結果に基づき、データをブレンドして出力バッファに出力する出力部とを有し、前記第1描画領域は、矩形領域であって、前記判定部は、前記描画領域の対角2頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち前記第1描画領域が重複していない領域を第3領域とし、前記今回のオブジェクトのうち前記第1描画領域が重複している領域を第4領域とし、前記出力部は、前記第3領域については、前記現在のオブジェクトと前記出力バッファの値とをブレンドした結果を前記出力バッファに出力し、前記第4領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力するものである。
【0008】
本発明に係る描画方法は、矩形のオブジェクトを1画面に1以上描画する描画方法であって、前回の描画領域を第1描画領域として記憶する第1レジスタを参照し、前記第1描画領域と今回のオブジェクトとの重複関係を判定する判定工程と、前記判定工程の判定結果に基づき、データをブレンドして出力バッファに出力する出力工程と、を有し、前記第1描画領域は、矩形領域であって、前記判定工程では、前記描画領域の対角2頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち前記第1描画領域が重複していない領域を第3領域とし、前記今回のオブジェクトのうち前記第1描画領域が重複している領域を第4領域とし、前記出力工程では、前記第3領域については、前記現在のオブジェクトと前記出力バッファの値とをブレンドした結果を前記出力バッファに出力し、前記第4領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力するものである。
【0009】
本発明においては、第1描画領域のうち第2領域が重複していない領域から上書きした第1描画領域を除いた残りを第3領域とし、第3領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力する。第2描画領域のうち第1描画領域が重複していない領域を第4領域とし、第4領域については、現在のオブジェクトと出力バッファの値とをブレンドした結果を前記出力バッファに出力する。このことにより、前回の描画領域全体をクリアする必要がなく、かつ描画領域は矩形であるため、対角の2頂点を記憶するのみで、形状を認識することができるため特別なメモリを必要とすることがない。
【発明の効果】
【0010】
本発明によれば、特別なメモリを使用することなく、高速に描画処理を実行することができる描画装置及び描画方法を提供することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施の形態にかかる描画システムを示す図である。
【図2】本発明の実施の形態にかかる描画システムの動作を示すフローチャートである。
【図3】本発明の実施の形態にかかる描画方法を説明するための図である。
【図4】(a)及び(b)は、様々な形のオブジェクトを描画する場合の、更新後の描画済み領域A及び領域o1〜o3を示す図である。
【図5】同じく、(a)及び(b)は、様々な形のオブジェクトを描画する場合の、更新後の描画済み領域A及び領域o1〜o3を示す図である。
【図6】同じく、(a)及び(b)は、様々な形のオブジェクトを描画する場合の、更新後の描画済み領域A及び領域o1〜o3を示す図である。
【図7】3枚のオブジェクトを描画する場合の各領域を示す図である。
【図8】3枚のオブジェクトを描画する場合の各領域を示す図である。
【図9】従来の描画方法を説明する図である。
【図10】従来の他の描画方法を説明する図である。
【発明を実施するための形態】
【0012】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、特別なメモリを有することなく、描画処理を高速化することができる描画装置に適用したものである。ここで、描画とは、例えばPCであれば、画面上にフォルダ等を描画するものであり、TVであればチャネル表などを画面に表示することを示す。また、画面上にフォルダ等を描画する際に、背景色とブレンドして描画する場合がある。これは、例えば、白い背景に白いマウスのポインタを重ねた場合、ポインタが視認できるように黒くしたり、又は黒い背景に黒いマウスのポインタを重ねた場合に、ポインタが視認できるよう、白くしたりすることを指す。すなわち、背景色とブレンド処理することで、背景色を考慮して描画することができる。
【0013】
図1は、本実施の形態にかかる描画システムを示す図である。本実施の形態にかかる描画システム1は、CPU(Central Processing Unit)11、描画装置12、バス13、オブジェクトバッファ14及び出力バッファ15を有する。
【0014】
CPU11は、全体の処理を制御する。オブジェクトバッファ14は、描画対象となるオブジェクトデータを保持する。出力バッファ15は、図示せぬ表示部に接続され、描画装置12から送られる描画用データを保持し、表示部に出力する。
【0015】
描画装置12は、今回描画済み領域記憶部21、前回描画済み領域記憶部22、領域判定部23、背景色保持部24、セレクタ25及びアルファブレンド部26を有する。この描画装置12は、矩形の今回のオブジェクトを1画面に1以上描画する。第2レジスタとしての今回描画済み領域記憶部21は、今回のオブジェクトの全てに外接する矩形領域を第2描画領域として記憶する。この第2描画領域は、前記今回のオブジェクトが描画される毎に随時上書きされ、次回の描画に使用される。第1レジスタとしての前回描画済み領域記憶部22は、1画面描画後の矩形の全オブジェクトに外接する矩形の領域を第1描画領域として記憶する。この第1描画領域は、今回のオブジェクトが描画される度に随時上書きされる。
領域判定部23は、前回の描画領域(第1描画領域)と今回のオブジェクトとを比較し、その重複関係を判定する。出力部としてのアルファブレンド部26は、領域判定部23の判定結果に基づき、第1及び第2描画領域の少なくとも一部のデータを出力バッファ15に出力する。ここで、第1描画領域、第2描画領域ともに矩形の領域を示す。
【0016】
領域判定部23は、描画領域の対角2頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち第1描画領域が重複していない領域を第3領域とし、今回のオブジェクトのうち第1描画領域が重複している領域を第4領域とする。また、第1描画領域のうち今回のオブジェクト又は第2描画領域が重複していない領域から最も大きい矩形領域を抽出してこれを更新後の第1描画領域として前回描画済み領域記憶部22を上書きする。
【0017】
アルファブレンド部26は、第3領域については、現在のオブジェクトと出力バッファ15の値とをブレンドした結果を出力バッファ15に出力し、第4領域については、現在のオブジェクトと背景色とブレンドした結果を出力バッファ15に出力する。なお、本実施の形態においては、アルファブレンド部26は、前景及び背景を使用したブレンド処理にアルファブレンドを使用するものとして説明するが、ラスタオペレーションを利用してブレンドしてもよい。
【0018】
背景色保持部24は、背景色のデータを保持する。セレクタ25は、出力バッファ15から読み出したデータか背景色保持部24に保持されている背景色かを選択してアルファブレンド部26に出力する。
【0019】
次に、本実施の形態にかかる描画システムの動作について説明する。図2は、本実施の形態にかかる描画システムの動作を示すフローチャートである。図3は、本実施の形態にかかる描画方法を説明するための図である。1画面描画完了後、全オブジェクトに外接するような矩形の描画済み領域A1を設定記憶する(ステップS1)。ここで、本実施の形態においては、オブジェクトa1、a2、a3は、全て矩形であり、描画済み領域も常に矩形の領域となる。
【0020】
この描画済み領域A1に、今回のオブジェクトOを描画する(ステップS2)。オブジェクトOの領域のうち、描画領域Aと重ならない領域o2については、出力バッファ15のデータとオブジェクトOのデータをブレンドし、これを出力バッファ15に書き込む(ステップS2−1)。このとき、セレクタ25は、出力バッファ15を選択する。
【0021】
オブジェクトOの領域のうち、描画領域Aと重なる領域o1については、背景色とオブジェクトOのデータをブレンドして、出力バッファ15に出力する(ステップS2−2)。このとき、セレクタ25は、背景色保持部24を選択する。
【0022】
次に、前回の描画済み領域A、今回の描画済み領域Bを更新する(ステップS3)。前回の描画済み領域Aのうち、オブジェクトOと重ならない領域の中で最も大きな矩形領域を、前回の描画済み領域Aとして更新する(ステップS3−3)。
【0023】
前回の描画済み領域Aのうち、オブジェクトO及び更新後の描画済み領域Aと重ならない領域o3は、背景色を出力してクリアする。こうしてオブジェクトOの描画、描画済み領域Aの更新が完了する。
【0024】
図4乃至6は、様々な形のオブジェクトOを描画する場合の、更新後の描画済み領域A2及び領域o1〜o3を示している。図4乃至図6に示すように、オブジェクトO、更新後の描画済み領域A及び領域o1〜o3はいずれも矩形である。したがって、対角の2頂点を記憶するのみでよく、メモリ容量が極めて小さくてすむ。
【0025】
次に、前回の描画済み領域Aに、3枚のオブジェクトを描画する場合の動作について説明する。図7及び図8は、3枚のオブジェクトを描画する場合の各領域を示す図である。先ず、図7(a)に示すように、前回の描画済み領域Aを定義する。描画領域Aには、前回のオブジェクトが描画されているが、本実施の形態においては、この描画領域Aには、何も描画されていないものとみなし、オブジェクトを描画する際には、背景色とブレンドする領域となる。描画済み領域Aは、上述したように、矩形であるため、対角の2頂点を記憶するのみよい(ステップS1)。
【0026】
次に、図7(b)に示すように、オブジェクトOを描画する。オブジェクトOの領域のうち、描画領域Aと重複する領域はo2、重複しない領域はo1となる。領域o2は、背景色とオブジェクトをブレンドして出力バッファ15に出力する。領域o1については、出力バッファ15のデータと、オブジェクトOのデータをブレンドして、出力バッファ15に出力する(ステップS2-1、2-2)。このとき、描画領域Aのうち、オブジェクトOに重複しない領域の中で最大の矩形領域が更新後の描画領域Aとなる。描画領域A1において、オブジェクトO、描画領域A2以外の領域は、領域o3として背景色を出力してクリアする。描画領域Aは、描画領域A1と同様、何も描画していないものとみなす。
【0027】
次に、図7(c)に示すように、オブジェクトOを描画する(ステップS4:No、ステップS1)。オブジェクトO2のうち、領域Aと重なる領域o2は、背景色とブレンドし(ステップS2−2)、領域A2と重ならない領域は、出力バッファ15のデータとブレンドして(ステップS2−1)、出力バッファ15に出力する。オブジェクトOに重複しない領域Aのうち、最大の矩形を更新後の描画領域Aとし(ステップS3−1)、前回描画済み領域記憶部22に上書きされる。領域AとオブジェクトOの重ならない領域のうち、描画領域A以外の領域o3は、背景色を出力してクリアする(ステップS3−2)。また、今回の描画領域は、今回のオブジェクトが描画される毎に、全オブジェクトに外接する矩形領域B2として随時、今回描画済み領域記憶部21に上書きされる。
【0028】
次に、図8(a)に示すように、オブジェクトOを描画する(ステップS4:No、ステップS2)。オブジェクト3の領域のうち、描画領域Aと重ならない領域o1は、出力バッファ15のデータとブレンドし(ステップS2−1)、オブジェクトOの領域のうち、描画領域Aと重複する領域o2は、背景色とブレンドして出力バッファ15に出力する(ステップS2−2)。次に、今回描画済み領域Bと、前回の描画済み領域Aを、それぞれ描画済み領域B3、描画済み領域A4に更新する。ここで、オブジェクトは、3つで終了であるためステップS5に進む。最後に、図8(b)に示すように、残った描画領域A4に背景色を出力してクリアする。以上で今回の描画が完了する。
【0029】
次に、本実施の形態の効果について説明する。図9及び図10は、従来の描画方法を説明する図である。図9に示すように、従来は、前回のオブジェクトO〜Oの描画済み領域Cの領域全体をクリアし、その後、新しいオブジェクトO〜Oを描画していた。又は、図10に示すように、前回のオブジェクトO〜Oの描画後、画面全体を背景色で塗りつぶし、その後に、今回のオブジェクトO〜Oを描画していた。
【0030】
このように、画面全面をクリアすると、画面全面を背景色で塗りつぶす必要があり、クリアに時間がかかる。また、図9に示す場合であっても、前回の描画領域全体をクリアしなければならず、同様にクリアに時間がかかるという問題点がった。
【0031】
これに対し、本実施の形態においては、前回の描画領域を全オブジェクトに外接する矩形の領域として認識するため、対角の2頂点を記憶するのみでよい。そして、この前回の描画領域は、何も描画されていない領域とみなし、この上にオブジェクトを描画するときは、出力バッファ15のデータは読まず、常に背景色とブレンドする。こうすることで、最終的に、前回の描画領域として定義した領域のうち、今回のオブジェクトが描画されなかった領域のみをクリアすればよくなるので、クリアする領域を格段に小さくすることができ、描画処理速度を向上させることができる。
【0032】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【0033】
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0034】
11 CPU
12 描画装置
13 バス
14 オブジェクトバッファ
15 出力バッファ
21 今回描画済み領域記憶部
22 前回描画済み領域記憶部
23 領域判定部
24 背景色保持部
25 セレクタ
26 アルファブレンド部

【特許請求の範囲】
【請求項1】
矩形のオブジェクトを1画面に1以上描画する描画装置であって、
前回の描画領域を第1描画領域として記憶する第1レジスタと、
前記第1描画領域と今回のオブジェクトとを比較し、その重複関係を判定する判定部と、
前記判定部の判定結果に基づき、データをブレンドして出力バッファに出力する出力部とを有し、
前記第1描画領域は、矩形領域であって、
前記判定部は、前記描画領域の対角2頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち前記第1描画領域が重複していない領域を第3領域とし、前記今回のオブジェクトのうち前記第1描画領域が重複している領域を第4領域とし、
前記出力部は、前記第3領域については、前記現在のオブジェクトと前記出力バッファの値とをブレンドした結果を前記出力バッファに出力し、前記第4領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力する、描画装置。
【請求項2】
前記判定部は、前記第1描画領域のうち前記今回のオブジェクトが重複していない領域から最も大きい矩形領域を抽出してこれを更新後の第1描画領域として前記第1レジスタを上書きする、請求項1記載の描画装置。
【請求項3】
前記第1描画領域は、1画面描画後の矩形の全オブジェクトに外接する矩形の領域である、請求項1又は2記載の描画装置。
【請求項4】
前記今回のオブジェクトの全てに外接する矩形領域を第2描画領域として記憶する第2レジスタを有し、
前記第2描画領域は、前記今回のオブジェクトが描画される毎に随時上書きされる、請求項1乃至3のいずれか1項記載の描画装置。
【請求項5】
前記判定部は、前記第1描画領域が前記今回のオブジェクトと重複していない場合、前記今回のオブジェクト全体を前記第4領域とする、請求項1乃至4のいずれか1項記載の描画装置。
【請求項6】
前記判定部は、前記今回のオブジェクトが前記第1描画領域を包含する場合は、前記第1描画領域を前記第3領域、前記今回のオブジェクトのうち当該第3領域以外の領域を前記第4領域とする、請求項1乃至5のいずれか1項記載の描画装置。
【請求項7】
前記出力部は、前記今回のオブジェクトの描画が全て終了した時点で前記第1描画領域が残る場合は、当該領域については、背景色を出力する、請求項1乃至6のいずれか1項記載の描画装置。
【請求項8】
前記今回のオブジェクトの描画領域を指定する制御部を有し、当該制御部が前記第2レジスタの前記第2描画領域を上書きする、請求項4項記載の描画装置。
【請求項9】
前記出力部は、背景色のデータを有する背景色レジスタを有し、前記今回のオブジェクトを前記背景色とブレンドする際に、当該背景色レジスタのデータを参照する、請求項1乃至8のいずれか1項記載の描画装置。
【請求項10】
矩形のオブジェクトを1画面に1以上描画する描画方法であって、
前回の描画領域を第1描画領域として記憶する第1レジスタを参照し、前記第1描画領域と今回のオブジェクトとの重複関係を判定する判定工程と、
前記判定工程の判定結果に基づき、データをブレンドして出力バッファに出力する出力工程と、を有し、
前記第1描画領域は、矩形領域であって、
前記判定工程では、前記描画領域の対角2頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち前記第1描画領域が重複していない領域を第3領域とし、前記今回のオブジェクトのうち前記第1描画領域が重複している領域を第4領域とし、
前記出力工程では、前記第3領域については、前記現在のオブジェクトと前記出力バッファの値とをブレンドした結果を前記出力バッファに出力し、前記第4領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力する、描画方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−216060(P2011−216060A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−86156(P2010−86156)
【出願日】平成22年4月2日(2010.4.2)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】