(57)【要約】【課題】特別なメモリを使用することなく、高速に描画処理を実行することができる描画装置及び描画方法を提供する。【解決手段】描画装置の領域判定部２３は、矩形の描画領域の対角２頂点の座標を比較することで重複判定を行うものであって、前回の描画領域である第１描画領域のうち今回のオブジェクトが重複していない領域から最も大きい矩形領域を抽出してこれを更新した第１描画領域とし、今回のオブジェクトのうち第１描画領域が重複していない領域を第３領域とし、今回のオブジェクトのうち第１描画領域が重複している領域を第４領域とする。アルファブレンド部２６は、第３領域については、現在のオブジェクトと背景色とブレンドした結果を出力バッファ１５に出力し、第４領域については、現在のオブジェクトと出力バッファ１５の値とをブレンドした結果を出力バッファ１５に出力する。【選択図】図１
2011216060.tif 000002
【特許請求の範囲】
【請求項１】
矩形のオブジェクトを１画面に１以上描画する描画装置であって、
前回の描画領域を第１描画領域として記憶する第１レジスタと、
前記第１描画領域と今回のオブジェクトとを比較し、その重複関係を判定する判定部と、
前記判定部の判定結果に基づき、データをブレンドして出力バッファに出力する出力部とを有し、
前記第１描画領域は、矩形領域であって、
前記判定部は、前記描画領域の対角２頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち前記第１描画領域が重複していない領域を第３領域とし、前記今回のオブジェクトのうち前記第１描画領域が重複している領域を第４領域とし、
前記出力部は、前記第３領域については、前記現在のオブジェクトと前記出力バッファの値とをブレンドした結果を前記出力バッファに出力し、前記第４領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力する、描画装置。
【請求項２】
前記判定部は、前記第１描画領域のうち前記今回のオブジェクトが重複していない領域から最も大きい矩形領域を抽出してこれを更新後の第１描画領域として前記第１レジスタを上書きする、請求項１記載の描画装置。
【請求項３】
前記第１描画領域は、１画面描画後の矩形の全オブジェクトに外接する矩形の領域である、請求項１又は２記載の描画装置。
【請求項４】
前記今回のオブジェクトの全てに外接する矩形領域を第２描画領域として記憶する第２レジスタを有し、
前記第２描画領域は、前記今回のオブジェクトが描画される毎に随時上書きされる、請求項１乃至３のいずれか１項記載の描画装置。
【請求項５】
前記判定部は、前記第１描画領域が前記今回のオブジェクトと重複していない場合、前記今回のオブジェクト全体を前記第４領域とする、請求項１乃至４のいずれか１項記載の描画装置。
【請求項６】
前記判定部は、前記今回のオブジェクトが前記第１描画領域を包含する場合は、前記第１描画領域を前記第３領域、前記今回のオブジェクトのうち当該第３領域以外の領域を前記第４領域とする、請求項１乃至５のいずれか１項記載の描画装置。
【請求項７】
前記出力部は、前記今回のオブジェクトの描画が全て終了した時点で前記第１描画領域が残る場合は、当該領域については、背景色を出力する、請求項１乃至６のいずれか１項記載の描画装置。
【請求項８】
前記今回のオブジェクトの描画領域を指定する制御部を有し、当該制御部が前記第２レジスタの前記第２描画領域を上書きする、請求項４項記載の描画装置。
【請求項９】
前記出力部は、背景色のデータを有する背景色レジスタを有し、前記今回のオブジェクトを前記背景色とブレンドする際に、当該背景色レジスタのデータを参照する、請求項１乃至８のいずれか１項記載の描画装置。
【請求項１０】
矩形のオブジェクトを１画面に１以上描画する描画方法であって、
前回の描画領域を第１描画領域として記憶する第１レジスタを参照し、前記第１描画領域と今回のオブジェクトとの重複関係を判定する判定工程と、
前記判定工程の判定結果に基づき、データをブレンドして出力バッファに出力する出力工程と、を有し、
前記第１描画領域は、矩形領域であって、
前記判定工程では、前記描画領域の対角２頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち前記第１描画領域が重複していない領域を第３領域とし、前記今回のオブジェクトのうち前記第１描画領域が重複している領域を第４領域とし、
前記出力工程では、前記第３領域については、前記現在のオブジェクトと前記出力バッファの値とをブレンドした結果を前記出力バッファに出力し、前記第４領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力する、描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面にフォルダやチャンネル表などを描画する描画装置及び描画方法に関し、特に、描画速度の向上を図った描画装置及び描画方法に関する。
【背景技術】
【０００２】
例えば、コンピュータグラフィックスシステムやエンジニアリングワークステーション等に用いられる画像描画装置では、その描画速度は、システム全体の処理能力に深く影響し、処理能力を決定する重要なファクタとなっている。したがって、描画速度の高速化のために種々の方式が開発されている。
【０００３】
特許文献１には、低速大容量の画像メモリをアクセスするに際し、画素データの記録又は未記録状態を高速小容量の状態保持メモリに記憶し、画像メモリのアクセス回数を低減する画像メモリ状態管理装置が開示されている。この画像メモリ状態管理装置は、少なくとも１画面の画素データを記憶する画像メモリと、各座標の画素が画像メモリに既に記録済みか否かを記憶する画像状態保持メモリと、新たな画像を作成する前に画像状態保持メモリの全ての座標のフラグを未記録状態にクリアするフラグクリア装置と、１画面を構成する画像の座標と各画素の画素データを生成する画素生成装置と、画素生成装置によって生成された座標の画素データを画像メモリに記録する書込装置と、画素生成装置が生成した座標に対応する画像状態保持メモリのフラグを記録済みに変更する状態変更装置と、画像の作成終了後に画像状態保持メモリの全座標のフラグを調べ、画像メモリの記録済みでない座標の画素データをクリアする画像クリア装置と、を具備する。
【０００４】
この画像メモリ状態管理装置においては、先ずフラグクリア装置は新たな画像を作成する画像状態保持メモリの全ての座標のフラグを未記録状態にクリアする。次に画素生成装置は１画面を構成する画像の座標と各画素の画素データを生成する。そして書込装置は画素生成装置によって生成された座標の画素データを画像メモリに記録する。状態変更装置は画素生成装置が生成した座標に対応する画像状態保持メモリのフラグを記録済みに変更する。画像クリア装置は画像の作成終了後に画像状態保持メモリの全座標のフラグを調べ、画像メモリの記録済みでない座標の画素データをクリアする。こうすると画像メモリの記録状態又は未記録状態を参照する代わりに、画像状態保持メモリの内容を参照するのみで、各画素の状態を調べることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１２３９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１においては、画像状態保持メモリの内容を参照し、画像メモリの各座標（アドレス）のうち、未記録部分を画像クリア装置によってクリアする。すなわち、全画素について、記録済みか記録済みではないかの画像状態を記憶しておく必要があるため、通常の表示用のメモリに加え、別途大きなメモリ（画像状態保持メモリ）が必要となってしまうという問題点がある。
【課題を解決するための手段】
【０００７】
本発明に係る描画装置は、矩形のオブジェクトを１画面に１以上描画する描画装置であって、前回の描画領域を第１描画領域として記憶する第１レジスタと、前記第１描画領域と今回のオブジェクトとを比較し、その重複関係を判定する判定部と、前記判定部の判定結果に基づき、データをブレンドして出力バッファに出力する出力部とを有し、前記第１描画領域は、矩形領域であって、前記判定部は、前記描画領域の対角２頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち前記第１描画領域が重複していない領域を第３領域とし、前記今回のオブジェクトのうち前記第１描画領域が重複している領域を第４領域とし、前記出力部は、前記第３領域については、前記現在のオブジェクトと前記出力バッファの値とをブレンドした結果を前記出力バッファに出力し、前記第４領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力するものである。
【０００８】
本発明に係る描画方法は、矩形のオブジェクトを１画面に１以上描画する描画方法であって、前回の描画領域を第１描画領域として記憶する第１レジスタを参照し、前記第１描画領域と今回のオブジェクトとの重複関係を判定する判定工程と、前記判定工程の判定結果に基づき、データをブレンドして出力バッファに出力する出力工程と、を有し、前記第１描画領域は、矩形領域であって、前記判定工程では、前記描画領域の対角２頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち前記第１描画領域が重複していない領域を第３領域とし、前記今回のオブジェクトのうち前記第１描画領域が重複している領域を第４領域とし、前記出力工程では、前記第３領域については、前記現在のオブジェクトと前記出力バッファの値とをブレンドした結果を前記出力バッファに出力し、前記第４領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力するものである。
【０００９】
本発明においては、第１描画領域のうち第２領域が重複していない領域から上書きした第１描画領域を除いた残りを第３領域とし、第３領域については、現在のオブジェクトと背景色とブレンドした結果を前記出力バッファに出力する。第２描画領域のうち第１描画領域が重複していない領域を第４領域とし、第４領域については、現在のオブジェクトと出力バッファの値とをブレンドした結果を前記出力バッファに出力する。このことにより、前回の描画領域全体をクリアする必要がなく、かつ描画領域は矩形であるため、対角の２頂点を記憶するのみで、形状を認識することができるため特別なメモリを必要とすることがない。
【発明の効果】
【００１０】
本発明によれば、特別なメモリを使用することなく、高速に描画処理を実行することができる描画装置及び描画方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態にかかる描画システムを示す図である。
【図２】本発明の実施の形態にかかる描画システムの動作を示すフローチャートである。
【図３】本発明の実施の形態にかかる描画方法を説明するための図である。
【図４】（ａ）及び（ｂ）は、様々な形のオブジェクトを描画する場合の、更新後の描画済み領域Ａ２及び領域ｏ１〜ｏ３を示す図である。
【図５】同じく、（ａ）及び（ｂ）は、様々な形のオブジェクトを描画する場合の、更新後の描画済み領域Ａ２及び領域ｏ１〜ｏ３を示す図である。
【図６】同じく、（ａ）及び（ｂ）は、様々な形のオブジェクトを描画する場合の、更新後の描画済み領域Ａ２及び領域ｏ１〜ｏ３を示す図である。
【図７】３枚のオブジェクトを描画する場合の各領域を示す図である。
【図８】３枚のオブジェクトを描画する場合の各領域を示す図である。
【図９】従来の描画方法を説明する図である。
【図１０】従来の他の描画方法を説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、特別なメモリを有することなく、描画処理を高速化することができる描画装置に適用したものである。ここで、描画とは、例えばＰＣであれば、画面上にフォルダ等を描画するものであり、ＴＶであればチャネル表などを画面に表示することを示す。また、画面上にフォルダ等を描画する際に、背景色とブレンドして描画する場合がある。これは、例えば、白い背景に白いマウスのポインタを重ねた場合、ポインタが視認できるように黒くしたり、又は黒い背景に黒いマウスのポインタを重ねた場合に、ポインタが視認できるよう、白くしたりすることを指す。すなわち、背景色とブレンド処理することで、背景色を考慮して描画することができる。
【００１３】
図１は、本実施の形態にかかる描画システムを示す図である。本実施の形態にかかる描画システム１は、ＣＰＵ（Central Processing Unit）１１、描画装置１２、バス１３、オブジェクトバッファ１４及び出力バッファ１５を有する。
【００１４】
ＣＰＵ１１は、全体の処理を制御する。オブジェクトバッファ１４は、描画対象となるオブジェクトデータを保持する。出力バッファ１５は、図示せぬ表示部に接続され、描画装置１２から送られる描画用データを保持し、表示部に出力する。
【００１５】
描画装置１２は、今回描画済み領域記憶部２１、前回描画済み領域記憶部２２、領域判定部２３、背景色保持部２４、セレクタ２５及びアルファブレンド部２６を有する。この描画装置１２は、矩形の今回のオブジェクトを１画面に１以上描画する。第２レジスタとしての今回描画済み領域記憶部２１は、今回のオブジェクトの全てに外接する矩形領域を第２描画領域として記憶する。この第２描画領域は、前記今回のオブジェクトが描画される毎に随時上書きされ、次回の描画に使用される。第１レジスタとしての前回描画済み領域記憶部２２は、１画面描画後の矩形の全オブジェクトに外接する矩形の領域を第１描画領域として記憶する。この第１描画領域は、今回のオブジェクトが描画される度に随時上書きされる。
領域判定部２３は、前回の描画領域（第１描画領域）と今回のオブジェクトとを比較し、その重複関係を判定する。出力部としてのアルファブレンド部２６は、領域判定部２３の判定結果に基づき、第１及び第２描画領域の少なくとも一部のデータを出力バッファ１５に出力する。ここで、第１描画領域、第２描画領域ともに矩形の領域を示す。
【００１６】
領域判定部２３は、描画領域の対角２頂点の座標を比較することで重複判定を行うものであって、今回のオブジェクトのうち第１描画領域が重複していない領域を第３領域とし、今回のオブジェクトのうち第１描画領域が重複している領域を第４領域とする。また、第１描画領域のうち今回のオブジェクト又は第２描画領域が重複していない領域から最も大きい矩形領域を抽出してこれを更新後の第１描画領域として前回描画済み領域記憶部２２を上書きする。
【００１７】
アルファブレンド部２６は、第３領域については、現在のオブジェクトと出力バッファ１５の値とをブレンドした結果を出力バッファ１５に出力し、第４領域については、現在のオブジェクトと背景色とブレンドした結果を出力バッファ１５に出力する。なお、本実施の形態においては、アルファブレンド部２６は、前景及び背景を使用したブレンド処理にアルファブレンドを使用するものとして説明するが、ラスタオペレーションを利用してブレンドしてもよい。
【００１８】
背景色保持部２４は、背景色のデータを保持する。セレクタ２５は、出力バッファ１５から読み出したデータか背景色保持部２４に保持されている背景色かを選択してアルファブレンド部２６に出力する。
【００１９】
次に、本実施の形態にかかる描画システムの動作について説明する。図２は、本実施の形態にかかる描画システムの動作を示すフローチャートである。図３は、本実施の形態にかかる描画方法を説明するための図である。１画面描画完了後、全オブジェクトに外接するような矩形の描画済み領域Ａ1を設定記憶する（ステップＳ１）。ここで、本実施の形態においては、オブジェクトａ１、ａ２、ａ３は、全て矩形であり、描画済み領域も常に矩形の領域となる。
【００２０】
この描画済み領域Ａ１に、今回のオブジェクトＯ１を描画する（ステップＳ２）。オブジェクトＯ１の領域のうち、描画領域Ａ１と重ならない領域ｏ２については、出力バッファ１５のデータとオブジェクトＯ１のデータをブレンドし、これを出力バッファ１５に書き込む（ステップＳ２−１）。このとき、セレクタ２５は、出力バッファ１５を選択する。
【００２１】
オブジェクトＯ１の領域のうち、描画領域Ａ１と重なる領域ｏ１については、背景色とオブジェクトＯ１のデータをブレンドして、出力バッファ１５に出力する（ステップＳ２−２）。このとき、セレクタ２５は、背景色保持部２４を選択する。
【００２２】
次に、前回の描画済み領域Ａ１、今回の描画済み領域Ｂ１を更新する（ステップＳ３）。前回の描画済み領域Ａ１のうち、オブジェクトＯ１と重ならない領域の中で最も大きな矩形領域を、前回の描画済み領域Ａ２として更新する（ステップＳ３−３）。
【００２３】
前回の描画済み領域Ａ１のうち、オブジェクトＯ１及び更新後の描画済み領域Ａ２と重ならない領域ｏ３は、背景色を出力してクリアする。こうしてオブジェクトＯ１の描画、描画済み領域Ａｎの更新が完了する。
【００２４】
図４乃至６は、様々な形のオブジェクトＯ１を描画する場合の、更新後の描画済み領域Ａ２及び領域ｏ１〜ｏ３を示している。図４乃至図６に示すように、オブジェクトＯ１、更新後の描画済み領域Ａ２及び領域ｏ１〜ｏ３はいずれも矩形である。したがって、対角の２頂点を記憶するのみでよく、メモリ容量が極めて小さくてすむ。
【００２５】
次に、前回の描画済み領域Ａ１に、３枚のオブジェクトを描画する場合の動作について説明する。図７及び図８は、３枚のオブジェクトを描画する場合の各領域を示す図である。先ず、図７（ａ）に示すように、前回の描画済み領域Ａ１を定義する。描画領域Ａ１には、前回のオブジェクトが描画されているが、本実施の形態においては、この描画領域Ａ１には、何も描画されていないものとみなし、オブジェクトを描画する際には、背景色とブレンドする領域となる。描画済み領域Ａ１は、上述したように、矩形であるため、対角の２頂点を記憶するのみよい（ステップＳ１）。
【００２６】
次に、図７（ｂ）に示すように、オブジェクトＯ１を描画する。オブジェクトＯ１の領域のうち、描画領域Ａ１と重複する領域はｏ２、重複しない領域はｏ１となる。領域ｏ２は、背景色とオブジェクトをブレンドして出力バッファ１５に出力する。領域ｏ１については、出力バッファ１５のデータと、オブジェクトＯ１のデータをブレンドして、出力バッファ１５に出力する（ステップＳ２-１、２-２）。このとき、描画領域Ａ１のうち、オブジェクトＯ１に重複しない領域の中で最大の矩形領域が更新後の描画領域Ａ２となる。描画領域Ａ１において、オブジェクトＯ１、描画領域Ａ２以外の領域は、領域ｏ３として背景色を出力してクリアする。描画領域Ａ２は、描画領域Ａ１と同様、何も描画していないものとみなす。
【００２７】
次に、図７（ｃ）に示すように、オブジェクトＯ２を描画する（ステップＳ４：Ｎｏ、ステップＳ１）。オブジェクトＯ２のうち、領域Ａ２と重なる領域ｏ２は、背景色とブレンドし（ステップＳ２−２）、領域Ａ２と重ならない領域は、出力バッファ１５のデータとブレンドして（ステップＳ２−１）、出力バッファ１５に出力する。オブジェクトＯ２に重複しない領域Ａ２のうち、最大の矩形を更新後の描画領域Ａ３とし（ステップＳ３−１）、前回描画済み領域記憶部２２に上書きされる。領域Ａ２とオブジェクトＯ２の重ならない領域のうち、描画領域Ａ３以外の領域ｏ３は、背景色を出力してクリアする（ステップＳ３−２）。また、今回の描画領域は、今回のオブジェクトが描画される毎に、全オブジェクトに外接する矩形領域Ｂ２として随時、今回描画済み領域記憶部２１に上書きされる。
【００２８】
次に、図８（ａ）に示すように、オブジェクトＯ３を描画する（ステップＳ４：Ｎｏ、ステップＳ２）。オブジェクト３の領域のうち、描画領域Ａ３と重ならない領域ｏ１は、出力バッファ１５のデータとブレンドし（ステップＳ２−１）、オブジェクトＯ３の領域のうち、描画領域Ａ３と重複する領域ｏ２は、背景色とブレンドして出力バッファ１５に出力する（ステップＳ２−２）。次に、今回描画済み領域Ｂ２と、前回の描画済み領域Ａ３を、それぞれ描画済み領域Ｂ３、描画済み領域Ａ４に更新する。ここで、オブジェクトは、３つで終了であるためステップＳ５に進む。最後に、図８（ｂ）に示すように、残った描画領域Ａ４に背景色を出力してクリアする。以上で今回の描画が完了する。
【００２９】
次に、本実施の形態の効果について説明する。図９及び図１０は、従来の描画方法を説明する図である。図９に示すように、従来は、前回のオブジェクトＯ１〜Ｏ３の描画済み領域Ｃの領域全体をクリアし、その後、新しいオブジェクトＯ４〜Ｏ６を描画していた。又は、図１０に示すように、前回のオブジェクトＯ１〜Ｏ３の描画後、画面全体を背景色で塗りつぶし、その後に、今回のオブジェクトＯ４〜Ｏ６を描画していた。
【００３０】
このように、画面全面をクリアすると、画面全面を背景色で塗りつぶす必要があり、クリアに時間がかかる。また、図９に示す場合であっても、前回の描画領域全体をクリアしなければならず、同様にクリアに時間がかかるという問題点がった。
【００３１】
これに対し、本実施の形態においては、前回の描画領域を全オブジェクトに外接する矩形の領域として認識するため、対角の２頂点を記憶するのみでよい。そして、この前回の描画領域は、何も描画されていない領域とみなし、この上にオブジェクトを描画するときは、出力バッファ１５のデータは読まず、常に背景色とブレンドする。こうすることで、最終的に、前回の描画領域として定義した領域のうち、今回のオブジェクトが描画されなかった領域のみをクリアすればよくなるので、クリアする領域を格段に小さくすることができ、描画処理速度を向上させることができる。
【００３２】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００３３】
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００３４】
１１  ＣＰＵ
１２  描画装置
１３  バス
１４  オブジェクトバッファ
１５  出力バッファ
２１  今回描画済み領域記憶部
２２  前回描画済み領域記憶部
２３  領域判定部
２４  背景色保持部
２５  セレクタ
２６  アルファブレンド部
【図１】
2011216060.tif 000003
【図２】
2011216060.tif 000004
【図３】
2011216060.tif 000005
【図４】
2011216060.tif 000006
【図５】
2011216060.tif 000007
【図６】
2011216060.tif 000008
【図７】
2011216060.tif 000009
【図８】
2011216060.tif 000010
【図９】
2011216060.tif 000011
【図１０】
2011216060.tif 000012