(57)【要約】【課題】比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行う。【解決手段】ＣＰＵ１０１は、第１の図形の形状を示す形状情報に基づいて、第１の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出し、第１の図形の不透明度情報をＲＡＭ１０３に格納する。次に、ＣＰＵ１０１は、第２の図形の描画の際に使用可能な第１の図形の不透明度情報が格納されているか否かを判定する。次に、ＣＰＵ１０１は、第２の図形の描画の際に使用可能な第１の図形の不透明度情報が格納されていると判定された場合、第１の図形の不透明度情報に基づいて、第２の図形を描画する。【選択図】図１
2012128580.tif 000002
【特許請求の範囲】
【請求項１】
第１の図形の形状を示す形状情報に基づいて、前記第１の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出手段と、
前記算出手段により算出された前記第１の図形の不透明度情報を記憶手段に格納する格納手段と、
第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されているか否かを判定する判定手段と、
前記判定手段により前記第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されていると判定された場合、前記第１の図形の不透明度情報に基づいて、前記第２の図形の描画を行う描画手段とを有することを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記記憶手段において前記第１の図形の不透明度情報と関連付けて格納されている前記第１の図形の形状情報に基づいて、前記第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
第１の図形の一部分である第１の部分図形の外郭線を定義した形状情報に基づいて、前記第１の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第１の算出手段と、
前記第１の算出手段により算出された前記第１の部分図形の不透明度情報を第１の記憶手段に格納する第１の格納手段と、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第１の図形の他の部分である第２の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第２の算出手段と、
前記第２の算出手段により算出された前記第２の部分図形の不透明度情報を第２の記憶手段に格納する第２の格納手段と、
前記第１の部分図形の不透明度情報及び前記第２の部分図形の不透明度情報のうちの少なくとも何れか一方について、第２の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定手段と、
前記判定手段により前記第２の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第１の部分図形の不透明度情報及び前記第２の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第２の図形の描画を行う描画手段とを有することを特徴とする情報処理装置。
【請求項４】
前記判定手段は、前記第１の記憶手段において前記第１の部分図形の不透明度情報と関連付けて格納されている前記第１の部分図形の形状情報に基づいて、前記第２の図形の描画の際に使用可能な前記第１の部分図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記判定手段は、前記第２の記憶手段において前記第２の部分図形の不透明度情報と関連付けて格納されている前記第２の部分図形の形状情報及び前記線幅情報に基づいて、前記第２の図形の描画の際に使用可能な前記第２の部分図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
情報処理装置によって実行される情報処理方法であって、
第１の図形の形状を示す形状情報に基づいて、前記第１の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出ステップと、
前記算出ステップにより算出された前記第１の図形の不透明度情報を記憶手段に格納する格納ステップと、
第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されていると判定された場合、前記第１の図形の不透明度情報に基づいて、前記第２の図形の描画を行う描画ステップとを含むことを特徴とする情報処理方法。
【請求項７】
情報処理装置によって実行される情報処理方法であって、
第１の図形の一部分である第１の部分図形の外郭線を定義した形状情報に基づいて、前記第１の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第１の算出ステップと、
前記第１の算出ステップにより算出された前記第１の部分図形の不透明度情報を第１の記憶手段に格納する第１の格納ステップと、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第１の図形の他の部分である第２の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第２の算出ステップと、
前記第２の算出ステップにより算出された前記第２の部分図形の不透明度情報を第２の記憶手段に格納する第２の格納ステップと、
前記第１の部分図形の不透明度情報及び前記第２の部分図形の不透明度情報のうちの少なくとも何れか一方について、第２の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第２の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第１の部分図形の不透明度情報及び前記第２の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第２の図形の描画を行う描画ステップとを含むことを特徴とする情報処理方法。
【請求項８】
第１の図形の形状を示す形状情報に基づいて、前記第１の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出ステップと、
前記算出ステップにより算出された前記第１の図形の不透明度情報を記憶手段に格納する格納ステップと、
第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されていると判定された場合、前記第１の図形の不透明度情報に基づいて、前記第２の図形の描画を行う描画ステップとをコンピュータに実行させるためのプログラム。
【請求項９】
第１の図形の一部分である第１の部分図形の外郭線を定義した形状情報に基づいて、前記第１の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第１の算出ステップと、
前記第１の算出ステップにより算出された前記第１の部分図形の不透明度情報を第１の記憶手段に格納する第１の格納ステップと、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第１の図形の他の部分である第２の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第２の算出ステップと、
前記第２の算出ステップにより算出された前記第２の部分図形の不透明度情報を第２の記憶手段に格納する第２の格納ステップと、
前記第１の部分図形の不透明度情報及び前記第２の部分図形の不透明度情報のうちの少なくとも何れか一方について、第２の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第２の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第１の部分図形の不透明度情報及び前記第２の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第２の図形の描画を行う描画ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィックスの描画を行う技術に関するものである。
【背景技術】
【０００２】
従来、画像データ、図形データ及び文字データ等の描画オブジェクトを含むグラフィックスの描画処理においては、再描画時の処理高速化のために描画オブジェクト毎に描画結果のイメージを保存し、再利用する方法が知られている（例えば、特許文献１参照）。また、描画オブジェクトのスキャンライン毎のエッジ座標を保存し、再利用する方法も知られている（例えば、特許文献２参照）。これらの方法では、一度グラフィックスの描画処理を行った際に、描画結果のイメージや、スキャンライン毎のエッジ座標をメモリに格納していた。そして、再描画時にメモリに格納されたイメージデータやエッジ座標を使用することにより、描画速度の高速化を行っていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−２０４３５６号公報
【特許文献２】特開平９−２８１９４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、描画結果のイメージをメモリに保存する方法では、一般にイメージデータのデータサイズは大きくなるため、相応のメモリが必要となるという課題があった。また、イメージデータを保存する方法では、元となる描画オブジェクトの色に変更が発生した場合に再利用できなくなるという課題があった。
【０００５】
エッジ座標を保存する方法は、描画オブジェクトの色の変更が発生した場合にも再利用が可能であるが、アンチエイリアス処理（エッジ部分を滑らかに描画する処理）を行うためには、エッジ部分の色決定のために計算負荷のかかる処理が必要であった。また、高品質なアンチエイリアス処理を行うためにスキャンラインを増やす方法がしばしば用いられるが、その場合には保存すべきエッジ座標が増加するため、メモリ消費量も増加するという課題があった。
【０００６】
そこで、本発明の目的は、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことにある。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、第１の図形の形状を示す形状情報に基づいて、前記第１の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出手段と、前記算出手段により算出された前記第１の図形の不透明度情報を記憶手段に格納する格納手段と、第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されているか否かを判定する判定手段と、前記判定手段により前記第２の図形の描画の際に使用可能な前記第１の図形の不透明度情報が格納されていると判定された場合、前記第１の図形の不透明度情報に基づいて、前記第２の図形の描画を行う描画手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理装置の構成を示す図である。
【図２】実施形態に係る情報処理装置における描画用バッファの一部を模式的に示す図である。
【図３】図２に点線で表した円形を定義したＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）文書を示す図である。
【図４】アンチエイリアス処理の際のエッジ抽出を説明するための図である。
【図５】円形を構成するピクセルの不透明度の算出方法を説明するための図である。
【図６】図５を用いて説明した方法により円形を含む矩形の各ピクセルの不透明度を求めた結果を示す図である。
【図７】第１の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図８】実施形態に係る情報処理装置が描画するグラフィックスを定義したＸＭＬ文書を示す図である。
【図９】図８に示すグラフィックスのストローク部分の描画範囲を示す図である。
【図１０】図８に示すグラフィックスのストローク部分のみを描画する場合の各ピクセルのオパシティ情報を示す図である。
【図１１】第２の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
先ず、第１の実施形態について説明する。図１は、第１の実施形態に係る情報処理装置の構成を示す図である。以下、図１を参照しながら、本実施形態に係る情報処理装置の構成について説明する。
【００１２】
図１において、ＣＰＵ１０１は、システム制御部として情報処理装置全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１の制御プログラムや各種固定データを格納する読取専用のメモリである。ＲＡＭ１０３は、ＳＲＡＭ、ＤＲＡＭ等で構成された書換え可能なメモリであり、プログラム制御変数等を格納する。各種設定パラメータ、各種ワーク用バッファ等もＲＡＭ１０３に格納される。表示部１０４は、ＬＣＤ等を用いて構成され、画像表示を行うものである。操作部１０５は、キーボードやポインティングデバイス等で構成され、オペレータが各種入力操作を行うためのものである。システムバス１０６は、１０１〜１０５の各ユニットを通信可能に接続する。
【００１３】
図２は、本実施形態に係る情報処理装置における描画用バッファの一部を模式的に示す図である。図２に示すように、描画用バッファは左上を原点（０，０）とする座標空間を表し、２０１で示す一つの矩形が１つのピクセル（画素）に相当する。描画用バッファはＲＡＭ１０３に存在し、各ピクセルはＲＧＢ各１バイト（８ビット）、合計３バイト（２４ビット）で表現される。ここで、ＲＧＢはそれぞれ赤緑青の色成分を表す値である。図２の点線で示した円形は、本実施形態において、この座標空間に描画しようとする円形である。このような描画用バッファにおいて、特にＸ軸方向のピクセルの並びをスキャンラインと呼ぶ。描画用バッファに格納された各ピクセルの色情報に基づいて、表示部１０４に描画結果の表示が行われる。
【００１４】
図３は、図２に点線で表した円形を定義したＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）文書を示す図である。図３に示したＸＭＬ文書は、ＳＶＧ（Ｓｃａｌａｂｌｅ Ｖｅｃｔｏｒ Ｇｒａｐｈｉｃｓ）形式で記述されたものである。このＸＭＬ文書は、幅１６ピクセル、高さ１６ピクセルの座標空間に、座標（８，８）を中心とする半径５ピクセルの円を不透明の青色で描画することを意味する。本実施形態に係る情報処理装置は、図３に示したＸＭＬ文書を解析し、そのＸＭＬ文書で記述されたグラフィックスを表示部１０４に表示する。
【００１５】
図３に示すＸＭＬ文書は、円形を描画することが記述されているが、各ピクセルは矩形であるため、円形を表現するためにアンチエイリアスという手法が用いられる。アンチエイリアスは、図形のエッジ部分（端部分）のピクセルに半透明の処理を施すことにより、矩形のピクセルで表現されるギザギザを目立たなくする手法である。本実施形態に係る情報処理装置の処理を説明する前に、図４〜図６を用いてアンチエイリアス処理について説明する。
【００１６】
図４は、アンチエイリアス処理の際のエッジ抽出を説明するための図である。アンチエイリアス処理では、図形のエッジ部分の不透明度（オパシティ）を算出する必要がある。そのために、先ず各ピクセルをＸ軸方向、Ｙ軸方向ともに２分割した仮想の座標空間が想定され、描画しようとする円形のエッジ部分と各スキャンラインとの交点が求められる。図４に示した円周上の黒点がその交点である。このようにして求められたエッジ部分の座標集合（エッジ座標リスト）から、円形を構成する各ピクセルの不透明度が求められる。
【００１７】
図５は、円形を構成するピクセルの不透明度の算出方法を説明するための図である。図５の５０１で示したピクセルの場合、図４に示した交点から、４分割された仮想ピクセルのうち３個が塗り潰されることが算出できる。仮想ピクセル４個が実際の１個のピクセルに相当するため、完全不透明を４とした場合、このピクセルは不透明度が３であるとみなすことができる。このピクセルを描画バッファに描画する場合には、背景色とのアルファブレンドを行って色を決定した上で描画することになる。例えば、背景色が不透明の白であれば、円形は不透明の青であるため、５０１で示したピクセルは背景の白が１、青が３の割合で合成した色となる。
【００１８】
図６は、図５を用いて説明した方法により円形を含む矩形の各ピクセルの不透明度を求めた結果を示す図である。ここで、０は完全透明を意味し、４は完全不透明を意味する。描画する図形は不透明な円形であるが、図６に示すとおり、円形のエッジ部分では半透明（不透明度が１〜３）のピクセルが現れる。
【００１９】
図４及び図５においては、Ｘ軸方向、Ｙ軸方向ともに２分割した仮想の座標空間を想定したが、より細かく分割することにより、より高品質なアンチエイリアス処理を行うことも可能である。また、エッジ部分の不透明度を求める方法は他にもあり、必ずしもここで説明した方法を用いなくてもよい。
【００２０】
図７は、本実施形態に係る情報処理装置の処理の流れを示すフローチャートである。一般に、表示するグラフィックスは、複数の図形、画像及び文字によって構成される。これらの図形、画像及び文字のことを描画オブジェクトと称す。図７は、グラフィックスを構成する描画オブジェクトのうちの一つを処理する際の流れを示している。
【００２１】
図７に示すように、先ずＣＰＵ１０１は、描画しようとする描画オブジェクトに関して、使用可能なオパシティ情報（不透明度情報）がＲＡＭ（メモリ）１０３に格納されているか否かを判定する（ステップＳ７０１）。ここでオパシティ情報とは、図６に示す各ピクセルの不透明度を示す情報のことである。ここで、円形についてのオパシティ情報がＲＡＭ１０３に格納されていたとしても、円形の大きさが異なれば、ＣＰＵ１０１は使用可能ではないと判定する。円形の大きさが異なれば、特にエッジ部分のピクセルが変わってくるので、ＲＡＭ１０３に格納されたオパシティ情報をそのまま使用することができないためである。またＣＰＵ１０１は、矩形等の描画オブジェクトを描画する場合、描画オブジェクトの回転角が異なると使用可能ではないと判定する。なお、色が異なる描画オブジェクトについては、その描画オブジェクトのオパシティ情報がＲＡＭ１０３に格納されていれば、ＣＰＵ１０１は、使用可能なオパシティ情報がＲＡＭ１０３に格納されていると判定する。
【００２２】
ステップＳ７０１において、使用可能なオパシティ情報がＲＡＭ１０３に格納されていないと判定された場合、ＣＰＵ１０１は、図４で説明したように、描画オブジェクトのエッジ座標リストを作成する（ステップＳ７０２）。次にＣＰＵ１０１は、図５〜図６で説明したように、エッジ座標リストから各ピクセルの不透明度（オパシティ）を計算し、その結果（オパシティ情報）をＲＡＭ１０３に格納する（ステップＳ７０３）。次にＣＰＵ１０１は、オパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を算出する（ステップＳ７０４）。次にＣＰＵ１０１は、各ピクセルの描画色を描画バッファに描画する（ステップＳ７０５）。
【００２３】
一方、ステップＳ７０１において、使用可能なオパシティ情報がＲＡＭ１０３に格納されていると判定された場合、ＣＰＵ１０１は、ＲＡＭ１０３に格納されているオパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を算出する（ステップＳ７０４）。次にＣＰＵ１０１は、各ピクセルの描画色を描画バッファに描画する（ステップＳ７０５）。
【００２４】
ＣＰＵ１０１は、ステップＳ７０３において、或る描画オブジェクト（第１の図形）のオパシティ情報をＲＡＭ１０３に格納する際には、オパシティ情報とともにその描画オブジェクトの形状情報も関連付けてＲＡＭ１０３に格納する。ＣＰＵ１０１は、描画しようとする描画オブジェクト（第２の図形）に関して使用可能なオパシティ情報が格納されているか否かは、描画オブジェクト（第１の図形）の形状情報に基づいて判定する。
【００２５】
ステップＳ７０３で格納される各ピクセルのオパシティ情報は、図６に示したとおり、０〜４の値であるため、データ量としては１ピクセルあたり３ビットあれば十分である。一般に描画結果を全てＲＡＭ１０３に格納し、再利用する方法が知られているが、この場合には、ＲＧＢ各８ビットのグラフィックスの場合、１ピクセルあたり２４ビットのデータを必要とする。本実施形態では、ステップＳ７０５に示した処理、即ちオパシティ情報から各ピクセルの描画色を計算する処理が必要になるものの、キャッシュとしてＲＡＭ１０３に格納するデータは８分の１程度に抑えることができる。また、オブジェクトの色が異なる場合であっても、このオパシティ情報を再利用することが可能である。
【００２６】
なお、本実施形態では、各ピクセルがとり得るオパシティ情報の範囲を０〜４としたが、より高品質なグラフィックスを描画するために、オパシティ情報の範囲を０〜１６や０〜６４等にしてもよい。また、本実施形態では、図６に示す各ピクセルのオパシティ情報をＲＡＭ１０３に格納する方法を用いたが、図６に示すオパシティ情報のうち、円周（オブジェクトの外郭線）に沿ったピクセルのオパシティ情報のみを格納するようにしてもよい。このようにすることで、メモリ消費量をさらに抑えることができる場合がある。
【００２７】
次に、第２の実施形態について説明する。本実施形態に係る情報処理装置の構成も、図１に示す第１の実施形態に係る情報処理装置の構成と同様である。
【００２８】
図８は、本実施形態に係る情報処理装置が描画するグラフィックスを定義したＸＭＬ文書を示す図である。このＸＭＬ文書には、図３に示した円形に加えて、円周部分を幅４ピクセル、不透明度０．５の赤色で塗ることが記述されている。即ち、図８に示すＸＭＬ文書には、図３に示す円形（第１の部分図形）の外郭線を示す形状情報や第１の部分図形の色情報の他に、第２の部分図形を定義した当該外郭線からの線幅を示す線幅情報や第２の部分図形の色情報が記述されている。なお、ＳＶＧにおいては、ｓｔｒｏｋｅ−ｏｐａｃｉｔｙ属性で示された不透明度は、０〜１の値をとるものであり、０は完全透明、１は完全不透明を意味する。ＳＶＧの場合、定義されたオブジェクトのｆｉｌｌ属性で示された塗り色は図形の内側を塗る色であり、ｓｔｒｏｋｅ属性で示された塗り色は図形の外周部分を塗る色である。本実施形態では、図形の内側部分を塗る処理をフィル処理と呼び、図形の外周部分を塗る処理をストローク処理と呼ぶ。
【００２９】
図９は、図８に示すグラフィックスのストローク部分の描画範囲を示す図である。図８に示すＸＭＬ文書によれば、ストロークの幅（線幅情報）は４ピクセルであるから、図９の２つの点線（第１の部分図形９０１と第２の部分図形９０２）に挟まれた領域がストローク処理により塗られることになる。以下では、第１の部分図形９０１の内側の領域をフィル部分と称し、第１の部分図形９０１と第２の部分図形とに挟まれた領域をストローク部分と称する。
【００３０】
図１０は、図８に示すグラフィックスのストローク部分のみを描画する場合の各ピクセルのオパシティ情報を示す図である。ここで、０は完全透明を意味し、４は完全不透明を意味する。このオパシティ情報は、図４及び図５で説明した方法と同様に、エッジ座標リストを作成することにより算出することができる。図８に示すグラフィックスでは、ｓｔｒｏｋｅ−ｏｐａｃｉｔｙ属性が０．５となっているが、図１０に示すオパシティ情報ではｓｔｒｏｋｅ−ｏｐａｃｉｔｙ属性の値は考慮されていない。
【００３１】
図１１は、第２の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。図１１に示すとおり、先ずＣＰＵ１０１は、描画オブジェクトがフィル部分とストローク部分との両方から構成されるか否かを判定する（ステップＳ１１０１）。ここで、フィル部分とストローク部分とのうちの何れか一方しかないと判定された場合、以降の処理は図７に示す処理と同様であるため、説明を省略する。
【００３２】
一方、ステップＳ１１０１において、描画オブジェクトがフィル部分とストローク部分との両方から構成されると判定された場合、以降、ＣＰＵ１０は、フィル部分とストローク部分とを別々に処理する。先ずＣＰＵ１０１は、フィル部分に対応した使用可能なオパシティ情報がＲＡＭ１０３に格納されているか否かを判定する（ステップＳ１１０２）。ここで、フィル部分に対応した使用可能なオパシティ情報がＲＡＭ１０３に格納されてないと判定された場合、ステップＳ７０２及びＳ７０３と同様に、ＣＰＵ１０１は、フィル部分のエッジ座標リストを作成する（Ｓ１１０３）。次にＣＰＵ１０１は、フィル部分の各ピクセルのオパシティ情報を計算してＲＡＭ１０３に格納する（ステップＳ１１０４）。このとき、オパシティ情報はフィル部分の形状情報と関連付けてＲＡＭ１０３に格納される。ステップＳ１１０２における、フィル部分に対応した使用可能なオパシティ情報がＲＡＭ１０３に格納されているか否かの判定は、当該形状情報に基づいて行われる。なお、ステップＳ１１０４は、第１の算出手段及び第１の格納手段の処理例である。また、ステップＳ１１０４においてオパシティ情報が格納されるＲＡＭ１０３の一部記憶領域は、第１の記憶手段の適用例となる構成である。
【００３３】
次にＣＰＵ１０１は、ＲＡＭ１０３に格納されたオパシティ情報と描画オブジェクトの色情報とからフィル部分の各ピクセルの描画色を計算する（ステップＳ１１０５）。次にＣＰＵ１０１は、フィル部分の各ピクセルの描画色を描画バッファに描画する（ステップＳ１１０６）。
【００３４】
一方、ステップＳ１１０２において、フィル部分に対応した使用可能なオパシティ情報がＲＡＭ１０３に格納されていると判定された場合、ＣＰＵ１０１は、オパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を計算する（ステップＳ１１０５）。次にＣＰＵ１０１は、各ピクセルの描画色を描画バッファに描画する（ステップＳ１１０６）。
【００３５】
次にＣＰＵ１０１は、ストローク部分に対応した使用可能なオパシティ情報がＲＡＭ１０３に格納されているか否かを判定する（ステップＳ１１０７）。ここで、ストローク部分に対応した使用可能なオパシティ情報がＲＡＭ１０３に格納されてないと判定された場合、ＣＰＵ１０１は、ストローク部分のエッジ座標リストを作成する（ステップＳ１１０８）。次にＣＰＵ１０１は、ストローク部分の各ピクセルのオパシティ情報を計算してＲＡＭ１０３に格納する（ステップＳ１１０９）。このとき、オパシティ情報はフィル部分の形状情報及び線幅情報と関連付けてＲＡＭ１０３に格納される。ステップＳ１１０７における、ストローク部分に対応した使用可能なオパシティ情報がＲＡＭ１０３に格納されているか否かの判定は、当該形状情報及び当該線幅情報に基づいて行われる。なお、ステップＳ１１０９は、第２の算出手段及び第２の格納手段の処理例である。また、ステップＳ１１０９においてオパシティ情報が格納されるＲＡＭ１０３の一部記憶領域は、第２の記憶手段の適用例となる構成である。
【００３６】
次にＣＰＵ１０１は、ＲＡＭ１０３に格納されたオパシティ情報と描画オブジェクトの描画色とからストローク部分の各ピクセルの描画色を計算する（ステップＳ１１１０）。次にＣＰＵ１０１は、ストローク部分の各ピクセルの描画色を描画バッファに描画する（ステップＳ１１１１）。
【００３７】
一方、ステップＳ１１０７において、ストローク部分に対応した使用可能なオパシティ情報がＲＡＭ１０３に格納されていると判定された場合、ＣＰＵ１０１は、そのオパシティ情報と描画オブジェクトの色情報とからストローク部分の各ピクセルの描画色を計算する（ステップＳ１１１０）。次にＣＰＵ１０１は、ストローク部分の各ピクセルの描画色を描画バッファに描画する（ステップＳ１１１１）。
【００３８】
なお、ステップＳ１１０５及びＳ１１１０において各ピクセルの描画色を算出する際には、それぞれｆｉｌｌ−ｏｐａｃｉｔｙ属性とｓｔｒｏｋｅ−ｏｐａｃｉｔｙ属性の値も考慮する。本実施形態の方法を用いれば、フィル部分とストローク部分との両方が指定された描画オブジェクトに関しても、オパシティ情報をキャッシュし、再利用することが可能となる。また、フィル部分、ストローク部分以外にも複数の描画要素から成る描画オブジェクトに関して、同様の方法を用いて処理を行うことが可能である。
【００３９】
以上は、表示部１０４を有する情報処理装置を例に挙げて説明したが、本発明は、印刷装置、カメラ、複写機、スキャナ、テレビ等、表示部を有するあらゆる装置に適用可能である。また、本発明は、図形に限らず、画像、動画及び文字等のグラフィックスにも適用可能である。
【００４０】
以上のように、上述した実施形態によれば、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことが可能となる。
【００４１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012128580.tif 000003
【図２】
2012128580.tif 000004
【図３】
2012128580.tif 000005
【図４】
2012128580.tif 000006
【図５】
2012128580.tif 000007
【図６】
2012128580.tif 000008
【図７】
2012128580.tif 000009
【図８】
2012128580.tif 000010
【図９】
2012128580.tif 000011
【図１０】
2012128580.tif 000012
【図１１】
2012128580.tif 000013