情報処理装置、情報処理方法及びプログラム
【課題】比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行う。
【解決手段】CPU101は、第1の図形の形状を示す形状情報に基づいて、第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出し、第1の図形の不透明度情報をRAM103に格納する。次に、CPU101は、第2の図形の描画の際に使用可能な第1の図形の不透明度情報が格納されているか否かを判定する。次に、CPU101は、第2の図形の描画の際に使用可能な第1の図形の不透明度情報が格納されていると判定された場合、第1の図形の不透明度情報に基づいて、第2の図形を描画する。
【解決手段】CPU101は、第1の図形の形状を示す形状情報に基づいて、第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出し、第1の図形の不透明度情報をRAM103に格納する。次に、CPU101は、第2の図形の描画の際に使用可能な第1の図形の不透明度情報が格納されているか否かを判定する。次に、CPU101は、第2の図形の描画の際に使用可能な第1の図形の不透明度情報が格納されていると判定された場合、第1の図形の不透明度情報に基づいて、第2の図形を描画する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、グラフィックスの描画を行う技術に関するものである。
【背景技術】
【0002】
従来、画像データ、図形データ及び文字データ等の描画オブジェクトを含むグラフィックスの描画処理においては、再描画時の処理高速化のために描画オブジェクト毎に描画結果のイメージを保存し、再利用する方法が知られている(例えば、特許文献1参照)。また、描画オブジェクトのスキャンライン毎のエッジ座標を保存し、再利用する方法も知られている(例えば、特許文献2参照)。これらの方法では、一度グラフィックスの描画処理を行った際に、描画結果のイメージや、スキャンライン毎のエッジ座標をメモリに格納していた。そして、再描画時にメモリに格納されたイメージデータやエッジ座標を使用することにより、描画速度の高速化を行っていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−204356号公報
【特許文献2】特開平9−281948号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、描画結果のイメージをメモリに保存する方法では、一般にイメージデータのデータサイズは大きくなるため、相応のメモリが必要となるという課題があった。また、イメージデータを保存する方法では、元となる描画オブジェクトの色に変更が発生した場合に再利用できなくなるという課題があった。
【0005】
エッジ座標を保存する方法は、描画オブジェクトの色の変更が発生した場合にも再利用が可能であるが、アンチエイリアス処理(エッジ部分を滑らかに描画する処理)を行うためには、エッジ部分の色決定のために計算負荷のかかる処理が必要であった。また、高品質なアンチエイリアス処理を行うためにスキャンラインを増やす方法がしばしば用いられるが、その場合には保存すべきエッジ座標が増加するため、メモリ消費量も増加するという課題があった。
【0006】
そこで、本発明の目的は、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことにある。
【課題を解決するための手段】
【0007】
本発明の情報処理装置は、第1の図形の形状を示す形状情報に基づいて、前記第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出手段と、前記算出手段により算出された前記第1の図形の不透明度情報を記憶手段に格納する格納手段と、第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定する判定手段と、前記判定手段により前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されていると判定された場合、前記第1の図形の不透明度情報に基づいて、前記第2の図形の描画を行う描画手段とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことが可能となる。
【図面の簡単な説明】
【0009】
【図1】実施形態に係る情報処理装置の構成を示す図である。
【図2】実施形態に係る情報処理装置における描画用バッファの一部を模式的に示す図である。
【図3】図2に点線で表した円形を定義したXML(Extensible Markup Language)文書を示す図である。
【図4】アンチエイリアス処理の際のエッジ抽出を説明するための図である。
【図5】円形を構成するピクセルの不透明度の算出方法を説明するための図である。
【図6】図5を用いて説明した方法により円形を含む矩形の各ピクセルの不透明度を求めた結果を示す図である。
【図7】第1の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図8】実施形態に係る情報処理装置が描画するグラフィックスを定義したXML文書を示す図である。
【図9】図8に示すグラフィックスのストローク部分の描画範囲を示す図である。
【図10】図8に示すグラフィックスのストローク部分のみを描画する場合の各ピクセルのオパシティ情報を示す図である。
【図11】第2の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0011】
先ず、第1の実施形態について説明する。図1は、第1の実施形態に係る情報処理装置の構成を示す図である。以下、図1を参照しながら、本実施形態に係る情報処理装置の構成について説明する。
【0012】
図1において、CPU101は、システム制御部として情報処理装置全体を制御する。ROM102は、CPU101の制御プログラムや各種固定データを格納する読取専用のメモリである。RAM103は、SRAM、DRAM等で構成された書換え可能なメモリであり、プログラム制御変数等を格納する。各種設定パラメータ、各種ワーク用バッファ等もRAM103に格納される。表示部104は、LCD等を用いて構成され、画像表示を行うものである。操作部105は、キーボードやポインティングデバイス等で構成され、オペレータが各種入力操作を行うためのものである。システムバス106は、101〜105の各ユニットを通信可能に接続する。
【0013】
図2は、本実施形態に係る情報処理装置における描画用バッファの一部を模式的に示す図である。図2に示すように、描画用バッファは左上を原点(0,0)とする座標空間を表し、201で示す一つの矩形が1つのピクセル(画素)に相当する。描画用バッファはRAM103に存在し、各ピクセルはRGB各1バイト(8ビット)、合計3バイト(24ビット)で表現される。ここで、RGBはそれぞれ赤緑青の色成分を表す値である。図2の点線で示した円形は、本実施形態において、この座標空間に描画しようとする円形である。このような描画用バッファにおいて、特にX軸方向のピクセルの並びをスキャンラインと呼ぶ。描画用バッファに格納された各ピクセルの色情報に基づいて、表示部104に描画結果の表示が行われる。
【0014】
図3は、図2に点線で表した円形を定義したXML(Extensible Markup Language)文書を示す図である。図3に示したXML文書は、SVG(Scalable Vector Graphics)形式で記述されたものである。このXML文書は、幅16ピクセル、高さ16ピクセルの座標空間に、座標(8,8)を中心とする半径5ピクセルの円を不透明の青色で描画することを意味する。本実施形態に係る情報処理装置は、図3に示したXML文書を解析し、そのXML文書で記述されたグラフィックスを表示部104に表示する。
【0015】
図3に示すXML文書は、円形を描画することが記述されているが、各ピクセルは矩形であるため、円形を表現するためにアンチエイリアスという手法が用いられる。アンチエイリアスは、図形のエッジ部分(端部分)のピクセルに半透明の処理を施すことにより、矩形のピクセルで表現されるギザギザを目立たなくする手法である。本実施形態に係る情報処理装置の処理を説明する前に、図4〜図6を用いてアンチエイリアス処理について説明する。
【0016】
図4は、アンチエイリアス処理の際のエッジ抽出を説明するための図である。アンチエイリアス処理では、図形のエッジ部分の不透明度(オパシティ)を算出する必要がある。そのために、先ず各ピクセルをX軸方向、Y軸方向ともに2分割した仮想の座標空間が想定され、描画しようとする円形のエッジ部分と各スキャンラインとの交点が求められる。図4に示した円周上の黒点がその交点である。このようにして求められたエッジ部分の座標集合(エッジ座標リスト)から、円形を構成する各ピクセルの不透明度が求められる。
【0017】
図5は、円形を構成するピクセルの不透明度の算出方法を説明するための図である。図5の501で示したピクセルの場合、図4に示した交点から、4分割された仮想ピクセルのうち3個が塗り潰されることが算出できる。仮想ピクセル4個が実際の1個のピクセルに相当するため、完全不透明を4とした場合、このピクセルは不透明度が3であるとみなすことができる。このピクセルを描画バッファに描画する場合には、背景色とのアルファブレンドを行って色を決定した上で描画することになる。例えば、背景色が不透明の白であれば、円形は不透明の青であるため、501で示したピクセルは背景の白が1、青が3の割合で合成した色となる。
【0018】
図6は、図5を用いて説明した方法により円形を含む矩形の各ピクセルの不透明度を求めた結果を示す図である。ここで、0は完全透明を意味し、4は完全不透明を意味する。描画する図形は不透明な円形であるが、図6に示すとおり、円形のエッジ部分では半透明(不透明度が1〜3)のピクセルが現れる。
【0019】
図4及び図5においては、X軸方向、Y軸方向ともに2分割した仮想の座標空間を想定したが、より細かく分割することにより、より高品質なアンチエイリアス処理を行うことも可能である。また、エッジ部分の不透明度を求める方法は他にもあり、必ずしもここで説明した方法を用いなくてもよい。
【0020】
図7は、本実施形態に係る情報処理装置の処理の流れを示すフローチャートである。一般に、表示するグラフィックスは、複数の図形、画像及び文字によって構成される。これらの図形、画像及び文字のことを描画オブジェクトと称す。図7は、グラフィックスを構成する描画オブジェクトのうちの一つを処理する際の流れを示している。
【0021】
図7に示すように、先ずCPU101は、描画しようとする描画オブジェクトに関して、使用可能なオパシティ情報(不透明度情報)がRAM(メモリ)103に格納されているか否かを判定する(ステップS701)。ここでオパシティ情報とは、図6に示す各ピクセルの不透明度を示す情報のことである。ここで、円形についてのオパシティ情報がRAM103に格納されていたとしても、円形の大きさが異なれば、CPU101は使用可能ではないと判定する。円形の大きさが異なれば、特にエッジ部分のピクセルが変わってくるので、RAM103に格納されたオパシティ情報をそのまま使用することができないためである。またCPU101は、矩形等の描画オブジェクトを描画する場合、描画オブジェクトの回転角が異なると使用可能ではないと判定する。なお、色が異なる描画オブジェクトについては、その描画オブジェクトのオパシティ情報がRAM103に格納されていれば、CPU101は、使用可能なオパシティ情報がRAM103に格納されていると判定する。
【0022】
ステップS701において、使用可能なオパシティ情報がRAM103に格納されていないと判定された場合、CPU101は、図4で説明したように、描画オブジェクトのエッジ座標リストを作成する(ステップS702)。次にCPU101は、図5〜図6で説明したように、エッジ座標リストから各ピクセルの不透明度(オパシティ)を計算し、その結果(オパシティ情報)をRAM103に格納する(ステップS703)。次にCPU101は、オパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を算出する(ステップS704)。次にCPU101は、各ピクセルの描画色を描画バッファに描画する(ステップS705)。
【0023】
一方、ステップS701において、使用可能なオパシティ情報がRAM103に格納されていると判定された場合、CPU101は、RAM103に格納されているオパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を算出する(ステップS704)。次にCPU101は、各ピクセルの描画色を描画バッファに描画する(ステップS705)。
【0024】
CPU101は、ステップS703において、或る描画オブジェクト(第1の図形)のオパシティ情報をRAM103に格納する際には、オパシティ情報とともにその描画オブジェクトの形状情報も関連付けてRAM103に格納する。CPU101は、描画しようとする描画オブジェクト(第2の図形)に関して使用可能なオパシティ情報が格納されているか否かは、描画オブジェクト(第1の図形)の形状情報に基づいて判定する。
【0025】
ステップS703で格納される各ピクセルのオパシティ情報は、図6に示したとおり、0〜4の値であるため、データ量としては1ピクセルあたり3ビットあれば十分である。一般に描画結果を全てRAM103に格納し、再利用する方法が知られているが、この場合には、RGB各8ビットのグラフィックスの場合、1ピクセルあたり24ビットのデータを必要とする。本実施形態では、ステップS705に示した処理、即ちオパシティ情報から各ピクセルの描画色を計算する処理が必要になるものの、キャッシュとしてRAM103に格納するデータは8分の1程度に抑えることができる。また、オブジェクトの色が異なる場合であっても、このオパシティ情報を再利用することが可能である。
【0026】
なお、本実施形態では、各ピクセルがとり得るオパシティ情報の範囲を0〜4としたが、より高品質なグラフィックスを描画するために、オパシティ情報の範囲を0〜16や0〜64等にしてもよい。また、本実施形態では、図6に示す各ピクセルのオパシティ情報をRAM103に格納する方法を用いたが、図6に示すオパシティ情報のうち、円周(オブジェクトの外郭線)に沿ったピクセルのオパシティ情報のみを格納するようにしてもよい。このようにすることで、メモリ消費量をさらに抑えることができる場合がある。
【0027】
次に、第2の実施形態について説明する。本実施形態に係る情報処理装置の構成も、図1に示す第1の実施形態に係る情報処理装置の構成と同様である。
【0028】
図8は、本実施形態に係る情報処理装置が描画するグラフィックスを定義したXML文書を示す図である。このXML文書には、図3に示した円形に加えて、円周部分を幅4ピクセル、不透明度0.5の赤色で塗ることが記述されている。即ち、図8に示すXML文書には、図3に示す円形(第1の部分図形)の外郭線を示す形状情報や第1の部分図形の色情報の他に、第2の部分図形を定義した当該外郭線からの線幅を示す線幅情報や第2の部分図形の色情報が記述されている。なお、SVGにおいては、stroke−opacity属性で示された不透明度は、0〜1の値をとるものであり、0は完全透明、1は完全不透明を意味する。SVGの場合、定義されたオブジェクトのfill属性で示された塗り色は図形の内側を塗る色であり、stroke属性で示された塗り色は図形の外周部分を塗る色である。本実施形態では、図形の内側部分を塗る処理をフィル処理と呼び、図形の外周部分を塗る処理をストローク処理と呼ぶ。
【0029】
図9は、図8に示すグラフィックスのストローク部分の描画範囲を示す図である。図8に示すXML文書によれば、ストロークの幅(線幅情報)は4ピクセルであるから、図9の2つの点線(第1の部分図形901と第2の部分図形902)に挟まれた領域がストローク処理により塗られることになる。以下では、第1の部分図形901の内側の領域をフィル部分と称し、第1の部分図形901と第2の部分図形とに挟まれた領域をストローク部分と称する。
【0030】
図10は、図8に示すグラフィックスのストローク部分のみを描画する場合の各ピクセルのオパシティ情報を示す図である。ここで、0は完全透明を意味し、4は完全不透明を意味する。このオパシティ情報は、図4及び図5で説明した方法と同様に、エッジ座標リストを作成することにより算出することができる。図8に示すグラフィックスでは、stroke−opacity属性が0.5となっているが、図10に示すオパシティ情報ではstroke−opacity属性の値は考慮されていない。
【0031】
図11は、第2の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。図11に示すとおり、先ずCPU101は、描画オブジェクトがフィル部分とストローク部分との両方から構成されるか否かを判定する(ステップS1101)。ここで、フィル部分とストローク部分とのうちの何れか一方しかないと判定された場合、以降の処理は図7に示す処理と同様であるため、説明を省略する。
【0032】
一方、ステップS1101において、描画オブジェクトがフィル部分とストローク部分との両方から構成されると判定された場合、以降、CPU10は、フィル部分とストローク部分とを別々に処理する。先ずCPU101は、フィル部分に対応した使用可能なオパシティ情報がRAM103に格納されているか否かを判定する(ステップS1102)。ここで、フィル部分に対応した使用可能なオパシティ情報がRAM103に格納されてないと判定された場合、ステップS702及びS703と同様に、CPU101は、フィル部分のエッジ座標リストを作成する(S1103)。次にCPU101は、フィル部分の各ピクセルのオパシティ情報を計算してRAM103に格納する(ステップS1104)。このとき、オパシティ情報はフィル部分の形状情報と関連付けてRAM103に格納される。ステップS1102における、フィル部分に対応した使用可能なオパシティ情報がRAM103に格納されているか否かの判定は、当該形状情報に基づいて行われる。なお、ステップS1104は、第1の算出手段及び第1の格納手段の処理例である。また、ステップS1104においてオパシティ情報が格納されるRAM103の一部記憶領域は、第1の記憶手段の適用例となる構成である。
【0033】
次にCPU101は、RAM103に格納されたオパシティ情報と描画オブジェクトの色情報とからフィル部分の各ピクセルの描画色を計算する(ステップS1105)。次にCPU101は、フィル部分の各ピクセルの描画色を描画バッファに描画する(ステップS1106)。
【0034】
一方、ステップS1102において、フィル部分に対応した使用可能なオパシティ情報がRAM103に格納されていると判定された場合、CPU101は、オパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を計算する(ステップS1105)。次にCPU101は、各ピクセルの描画色を描画バッファに描画する(ステップS1106)。
【0035】
次にCPU101は、ストローク部分に対応した使用可能なオパシティ情報がRAM103に格納されているか否かを判定する(ステップS1107)。ここで、ストローク部分に対応した使用可能なオパシティ情報がRAM103に格納されてないと判定された場合、CPU101は、ストローク部分のエッジ座標リストを作成する(ステップS1108)。次にCPU101は、ストローク部分の各ピクセルのオパシティ情報を計算してRAM103に格納する(ステップS1109)。このとき、オパシティ情報はフィル部分の形状情報及び線幅情報と関連付けてRAM103に格納される。ステップS1107における、ストローク部分に対応した使用可能なオパシティ情報がRAM103に格納されているか否かの判定は、当該形状情報及び当該線幅情報に基づいて行われる。なお、ステップS1109は、第2の算出手段及び第2の格納手段の処理例である。また、ステップS1109においてオパシティ情報が格納されるRAM103の一部記憶領域は、第2の記憶手段の適用例となる構成である。
【0036】
次にCPU101は、RAM103に格納されたオパシティ情報と描画オブジェクトの描画色とからストローク部分の各ピクセルの描画色を計算する(ステップS1110)。次にCPU101は、ストローク部分の各ピクセルの描画色を描画バッファに描画する(ステップS1111)。
【0037】
一方、ステップS1107において、ストローク部分に対応した使用可能なオパシティ情報がRAM103に格納されていると判定された場合、CPU101は、そのオパシティ情報と描画オブジェクトの色情報とからストローク部分の各ピクセルの描画色を計算する(ステップS1110)。次にCPU101は、ストローク部分の各ピクセルの描画色を描画バッファに描画する(ステップS1111)。
【0038】
なお、ステップS1105及びS1110において各ピクセルの描画色を算出する際には、それぞれfill−opacity属性とstroke−opacity属性の値も考慮する。本実施形態の方法を用いれば、フィル部分とストローク部分との両方が指定された描画オブジェクトに関しても、オパシティ情報をキャッシュし、再利用することが可能となる。また、フィル部分、ストローク部分以外にも複数の描画要素から成る描画オブジェクトに関して、同様の方法を用いて処理を行うことが可能である。
【0039】
以上は、表示部104を有する情報処理装置を例に挙げて説明したが、本発明は、印刷装置、カメラ、複写機、スキャナ、テレビ等、表示部を有するあらゆる装置に適用可能である。また、本発明は、図形に限らず、画像、動画及び文字等のグラフィックスにも適用可能である。
【0040】
以上のように、上述した実施形態によれば、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことが可能となる。
【0041】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、グラフィックスの描画を行う技術に関するものである。
【背景技術】
【0002】
従来、画像データ、図形データ及び文字データ等の描画オブジェクトを含むグラフィックスの描画処理においては、再描画時の処理高速化のために描画オブジェクト毎に描画結果のイメージを保存し、再利用する方法が知られている(例えば、特許文献1参照)。また、描画オブジェクトのスキャンライン毎のエッジ座標を保存し、再利用する方法も知られている(例えば、特許文献2参照)。これらの方法では、一度グラフィックスの描画処理を行った際に、描画結果のイメージや、スキャンライン毎のエッジ座標をメモリに格納していた。そして、再描画時にメモリに格納されたイメージデータやエッジ座標を使用することにより、描画速度の高速化を行っていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−204356号公報
【特許文献2】特開平9−281948号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、描画結果のイメージをメモリに保存する方法では、一般にイメージデータのデータサイズは大きくなるため、相応のメモリが必要となるという課題があった。また、イメージデータを保存する方法では、元となる描画オブジェクトの色に変更が発生した場合に再利用できなくなるという課題があった。
【0005】
エッジ座標を保存する方法は、描画オブジェクトの色の変更が発生した場合にも再利用が可能であるが、アンチエイリアス処理(エッジ部分を滑らかに描画する処理)を行うためには、エッジ部分の色決定のために計算負荷のかかる処理が必要であった。また、高品質なアンチエイリアス処理を行うためにスキャンラインを増やす方法がしばしば用いられるが、その場合には保存すべきエッジ座標が増加するため、メモリ消費量も増加するという課題があった。
【0006】
そこで、本発明の目的は、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことにある。
【課題を解決するための手段】
【0007】
本発明の情報処理装置は、第1の図形の形状を示す形状情報に基づいて、前記第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出手段と、前記算出手段により算出された前記第1の図形の不透明度情報を記憶手段に格納する格納手段と、第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定する判定手段と、前記判定手段により前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されていると判定された場合、前記第1の図形の不透明度情報に基づいて、前記第2の図形の描画を行う描画手段とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことが可能となる。
【図面の簡単な説明】
【0009】
【図1】実施形態に係る情報処理装置の構成を示す図である。
【図2】実施形態に係る情報処理装置における描画用バッファの一部を模式的に示す図である。
【図3】図2に点線で表した円形を定義したXML(Extensible Markup Language)文書を示す図である。
【図4】アンチエイリアス処理の際のエッジ抽出を説明するための図である。
【図5】円形を構成するピクセルの不透明度の算出方法を説明するための図である。
【図6】図5を用いて説明した方法により円形を含む矩形の各ピクセルの不透明度を求めた結果を示す図である。
【図7】第1の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図8】実施形態に係る情報処理装置が描画するグラフィックスを定義したXML文書を示す図である。
【図9】図8に示すグラフィックスのストローク部分の描画範囲を示す図である。
【図10】図8に示すグラフィックスのストローク部分のみを描画する場合の各ピクセルのオパシティ情報を示す図である。
【図11】第2の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0011】
先ず、第1の実施形態について説明する。図1は、第1の実施形態に係る情報処理装置の構成を示す図である。以下、図1を参照しながら、本実施形態に係る情報処理装置の構成について説明する。
【0012】
図1において、CPU101は、システム制御部として情報処理装置全体を制御する。ROM102は、CPU101の制御プログラムや各種固定データを格納する読取専用のメモリである。RAM103は、SRAM、DRAM等で構成された書換え可能なメモリであり、プログラム制御変数等を格納する。各種設定パラメータ、各種ワーク用バッファ等もRAM103に格納される。表示部104は、LCD等を用いて構成され、画像表示を行うものである。操作部105は、キーボードやポインティングデバイス等で構成され、オペレータが各種入力操作を行うためのものである。システムバス106は、101〜105の各ユニットを通信可能に接続する。
【0013】
図2は、本実施形態に係る情報処理装置における描画用バッファの一部を模式的に示す図である。図2に示すように、描画用バッファは左上を原点(0,0)とする座標空間を表し、201で示す一つの矩形が1つのピクセル(画素)に相当する。描画用バッファはRAM103に存在し、各ピクセルはRGB各1バイト(8ビット)、合計3バイト(24ビット)で表現される。ここで、RGBはそれぞれ赤緑青の色成分を表す値である。図2の点線で示した円形は、本実施形態において、この座標空間に描画しようとする円形である。このような描画用バッファにおいて、特にX軸方向のピクセルの並びをスキャンラインと呼ぶ。描画用バッファに格納された各ピクセルの色情報に基づいて、表示部104に描画結果の表示が行われる。
【0014】
図3は、図2に点線で表した円形を定義したXML(Extensible Markup Language)文書を示す図である。図3に示したXML文書は、SVG(Scalable Vector Graphics)形式で記述されたものである。このXML文書は、幅16ピクセル、高さ16ピクセルの座標空間に、座標(8,8)を中心とする半径5ピクセルの円を不透明の青色で描画することを意味する。本実施形態に係る情報処理装置は、図3に示したXML文書を解析し、そのXML文書で記述されたグラフィックスを表示部104に表示する。
【0015】
図3に示すXML文書は、円形を描画することが記述されているが、各ピクセルは矩形であるため、円形を表現するためにアンチエイリアスという手法が用いられる。アンチエイリアスは、図形のエッジ部分(端部分)のピクセルに半透明の処理を施すことにより、矩形のピクセルで表現されるギザギザを目立たなくする手法である。本実施形態に係る情報処理装置の処理を説明する前に、図4〜図6を用いてアンチエイリアス処理について説明する。
【0016】
図4は、アンチエイリアス処理の際のエッジ抽出を説明するための図である。アンチエイリアス処理では、図形のエッジ部分の不透明度(オパシティ)を算出する必要がある。そのために、先ず各ピクセルをX軸方向、Y軸方向ともに2分割した仮想の座標空間が想定され、描画しようとする円形のエッジ部分と各スキャンラインとの交点が求められる。図4に示した円周上の黒点がその交点である。このようにして求められたエッジ部分の座標集合(エッジ座標リスト)から、円形を構成する各ピクセルの不透明度が求められる。
【0017】
図5は、円形を構成するピクセルの不透明度の算出方法を説明するための図である。図5の501で示したピクセルの場合、図4に示した交点から、4分割された仮想ピクセルのうち3個が塗り潰されることが算出できる。仮想ピクセル4個が実際の1個のピクセルに相当するため、完全不透明を4とした場合、このピクセルは不透明度が3であるとみなすことができる。このピクセルを描画バッファに描画する場合には、背景色とのアルファブレンドを行って色を決定した上で描画することになる。例えば、背景色が不透明の白であれば、円形は不透明の青であるため、501で示したピクセルは背景の白が1、青が3の割合で合成した色となる。
【0018】
図6は、図5を用いて説明した方法により円形を含む矩形の各ピクセルの不透明度を求めた結果を示す図である。ここで、0は完全透明を意味し、4は完全不透明を意味する。描画する図形は不透明な円形であるが、図6に示すとおり、円形のエッジ部分では半透明(不透明度が1〜3)のピクセルが現れる。
【0019】
図4及び図5においては、X軸方向、Y軸方向ともに2分割した仮想の座標空間を想定したが、より細かく分割することにより、より高品質なアンチエイリアス処理を行うことも可能である。また、エッジ部分の不透明度を求める方法は他にもあり、必ずしもここで説明した方法を用いなくてもよい。
【0020】
図7は、本実施形態に係る情報処理装置の処理の流れを示すフローチャートである。一般に、表示するグラフィックスは、複数の図形、画像及び文字によって構成される。これらの図形、画像及び文字のことを描画オブジェクトと称す。図7は、グラフィックスを構成する描画オブジェクトのうちの一つを処理する際の流れを示している。
【0021】
図7に示すように、先ずCPU101は、描画しようとする描画オブジェクトに関して、使用可能なオパシティ情報(不透明度情報)がRAM(メモリ)103に格納されているか否かを判定する(ステップS701)。ここでオパシティ情報とは、図6に示す各ピクセルの不透明度を示す情報のことである。ここで、円形についてのオパシティ情報がRAM103に格納されていたとしても、円形の大きさが異なれば、CPU101は使用可能ではないと判定する。円形の大きさが異なれば、特にエッジ部分のピクセルが変わってくるので、RAM103に格納されたオパシティ情報をそのまま使用することができないためである。またCPU101は、矩形等の描画オブジェクトを描画する場合、描画オブジェクトの回転角が異なると使用可能ではないと判定する。なお、色が異なる描画オブジェクトについては、その描画オブジェクトのオパシティ情報がRAM103に格納されていれば、CPU101は、使用可能なオパシティ情報がRAM103に格納されていると判定する。
【0022】
ステップS701において、使用可能なオパシティ情報がRAM103に格納されていないと判定された場合、CPU101は、図4で説明したように、描画オブジェクトのエッジ座標リストを作成する(ステップS702)。次にCPU101は、図5〜図6で説明したように、エッジ座標リストから各ピクセルの不透明度(オパシティ)を計算し、その結果(オパシティ情報)をRAM103に格納する(ステップS703)。次にCPU101は、オパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を算出する(ステップS704)。次にCPU101は、各ピクセルの描画色を描画バッファに描画する(ステップS705)。
【0023】
一方、ステップS701において、使用可能なオパシティ情報がRAM103に格納されていると判定された場合、CPU101は、RAM103に格納されているオパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を算出する(ステップS704)。次にCPU101は、各ピクセルの描画色を描画バッファに描画する(ステップS705)。
【0024】
CPU101は、ステップS703において、或る描画オブジェクト(第1の図形)のオパシティ情報をRAM103に格納する際には、オパシティ情報とともにその描画オブジェクトの形状情報も関連付けてRAM103に格納する。CPU101は、描画しようとする描画オブジェクト(第2の図形)に関して使用可能なオパシティ情報が格納されているか否かは、描画オブジェクト(第1の図形)の形状情報に基づいて判定する。
【0025】
ステップS703で格納される各ピクセルのオパシティ情報は、図6に示したとおり、0〜4の値であるため、データ量としては1ピクセルあたり3ビットあれば十分である。一般に描画結果を全てRAM103に格納し、再利用する方法が知られているが、この場合には、RGB各8ビットのグラフィックスの場合、1ピクセルあたり24ビットのデータを必要とする。本実施形態では、ステップS705に示した処理、即ちオパシティ情報から各ピクセルの描画色を計算する処理が必要になるものの、キャッシュとしてRAM103に格納するデータは8分の1程度に抑えることができる。また、オブジェクトの色が異なる場合であっても、このオパシティ情報を再利用することが可能である。
【0026】
なお、本実施形態では、各ピクセルがとり得るオパシティ情報の範囲を0〜4としたが、より高品質なグラフィックスを描画するために、オパシティ情報の範囲を0〜16や0〜64等にしてもよい。また、本実施形態では、図6に示す各ピクセルのオパシティ情報をRAM103に格納する方法を用いたが、図6に示すオパシティ情報のうち、円周(オブジェクトの外郭線)に沿ったピクセルのオパシティ情報のみを格納するようにしてもよい。このようにすることで、メモリ消費量をさらに抑えることができる場合がある。
【0027】
次に、第2の実施形態について説明する。本実施形態に係る情報処理装置の構成も、図1に示す第1の実施形態に係る情報処理装置の構成と同様である。
【0028】
図8は、本実施形態に係る情報処理装置が描画するグラフィックスを定義したXML文書を示す図である。このXML文書には、図3に示した円形に加えて、円周部分を幅4ピクセル、不透明度0.5の赤色で塗ることが記述されている。即ち、図8に示すXML文書には、図3に示す円形(第1の部分図形)の外郭線を示す形状情報や第1の部分図形の色情報の他に、第2の部分図形を定義した当該外郭線からの線幅を示す線幅情報や第2の部分図形の色情報が記述されている。なお、SVGにおいては、stroke−opacity属性で示された不透明度は、0〜1の値をとるものであり、0は完全透明、1は完全不透明を意味する。SVGの場合、定義されたオブジェクトのfill属性で示された塗り色は図形の内側を塗る色であり、stroke属性で示された塗り色は図形の外周部分を塗る色である。本実施形態では、図形の内側部分を塗る処理をフィル処理と呼び、図形の外周部分を塗る処理をストローク処理と呼ぶ。
【0029】
図9は、図8に示すグラフィックスのストローク部分の描画範囲を示す図である。図8に示すXML文書によれば、ストロークの幅(線幅情報)は4ピクセルであるから、図9の2つの点線(第1の部分図形901と第2の部分図形902)に挟まれた領域がストローク処理により塗られることになる。以下では、第1の部分図形901の内側の領域をフィル部分と称し、第1の部分図形901と第2の部分図形とに挟まれた領域をストローク部分と称する。
【0030】
図10は、図8に示すグラフィックスのストローク部分のみを描画する場合の各ピクセルのオパシティ情報を示す図である。ここで、0は完全透明を意味し、4は完全不透明を意味する。このオパシティ情報は、図4及び図5で説明した方法と同様に、エッジ座標リストを作成することにより算出することができる。図8に示すグラフィックスでは、stroke−opacity属性が0.5となっているが、図10に示すオパシティ情報ではstroke−opacity属性の値は考慮されていない。
【0031】
図11は、第2の実施形態に係る情報処理装置の処理の流れを示すフローチャートである。図11に示すとおり、先ずCPU101は、描画オブジェクトがフィル部分とストローク部分との両方から構成されるか否かを判定する(ステップS1101)。ここで、フィル部分とストローク部分とのうちの何れか一方しかないと判定された場合、以降の処理は図7に示す処理と同様であるため、説明を省略する。
【0032】
一方、ステップS1101において、描画オブジェクトがフィル部分とストローク部分との両方から構成されると判定された場合、以降、CPU10は、フィル部分とストローク部分とを別々に処理する。先ずCPU101は、フィル部分に対応した使用可能なオパシティ情報がRAM103に格納されているか否かを判定する(ステップS1102)。ここで、フィル部分に対応した使用可能なオパシティ情報がRAM103に格納されてないと判定された場合、ステップS702及びS703と同様に、CPU101は、フィル部分のエッジ座標リストを作成する(S1103)。次にCPU101は、フィル部分の各ピクセルのオパシティ情報を計算してRAM103に格納する(ステップS1104)。このとき、オパシティ情報はフィル部分の形状情報と関連付けてRAM103に格納される。ステップS1102における、フィル部分に対応した使用可能なオパシティ情報がRAM103に格納されているか否かの判定は、当該形状情報に基づいて行われる。なお、ステップS1104は、第1の算出手段及び第1の格納手段の処理例である。また、ステップS1104においてオパシティ情報が格納されるRAM103の一部記憶領域は、第1の記憶手段の適用例となる構成である。
【0033】
次にCPU101は、RAM103に格納されたオパシティ情報と描画オブジェクトの色情報とからフィル部分の各ピクセルの描画色を計算する(ステップS1105)。次にCPU101は、フィル部分の各ピクセルの描画色を描画バッファに描画する(ステップS1106)。
【0034】
一方、ステップS1102において、フィル部分に対応した使用可能なオパシティ情報がRAM103に格納されていると判定された場合、CPU101は、オパシティ情報と描画オブジェクトの色情報とから各ピクセルの描画色を計算する(ステップS1105)。次にCPU101は、各ピクセルの描画色を描画バッファに描画する(ステップS1106)。
【0035】
次にCPU101は、ストローク部分に対応した使用可能なオパシティ情報がRAM103に格納されているか否かを判定する(ステップS1107)。ここで、ストローク部分に対応した使用可能なオパシティ情報がRAM103に格納されてないと判定された場合、CPU101は、ストローク部分のエッジ座標リストを作成する(ステップS1108)。次にCPU101は、ストローク部分の各ピクセルのオパシティ情報を計算してRAM103に格納する(ステップS1109)。このとき、オパシティ情報はフィル部分の形状情報及び線幅情報と関連付けてRAM103に格納される。ステップS1107における、ストローク部分に対応した使用可能なオパシティ情報がRAM103に格納されているか否かの判定は、当該形状情報及び当該線幅情報に基づいて行われる。なお、ステップS1109は、第2の算出手段及び第2の格納手段の処理例である。また、ステップS1109においてオパシティ情報が格納されるRAM103の一部記憶領域は、第2の記憶手段の適用例となる構成である。
【0036】
次にCPU101は、RAM103に格納されたオパシティ情報と描画オブジェクトの描画色とからストローク部分の各ピクセルの描画色を計算する(ステップS1110)。次にCPU101は、ストローク部分の各ピクセルの描画色を描画バッファに描画する(ステップS1111)。
【0037】
一方、ステップS1107において、ストローク部分に対応した使用可能なオパシティ情報がRAM103に格納されていると判定された場合、CPU101は、そのオパシティ情報と描画オブジェクトの色情報とからストローク部分の各ピクセルの描画色を計算する(ステップS1110)。次にCPU101は、ストローク部分の各ピクセルの描画色を描画バッファに描画する(ステップS1111)。
【0038】
なお、ステップS1105及びS1110において各ピクセルの描画色を算出する際には、それぞれfill−opacity属性とstroke−opacity属性の値も考慮する。本実施形態の方法を用いれば、フィル部分とストローク部分との両方が指定された描画オブジェクトに関しても、オパシティ情報をキャッシュし、再利用することが可能となる。また、フィル部分、ストローク部分以外にも複数の描画要素から成る描画オブジェクトに関して、同様の方法を用いて処理を行うことが可能である。
【0039】
以上は、表示部104を有する情報処理装置を例に挙げて説明したが、本発明は、印刷装置、カメラ、複写機、スキャナ、テレビ等、表示部を有するあらゆる装置に適用可能である。また、本発明は、図形に限らず、画像、動画及び文字等のグラフィックスにも適用可能である。
【0040】
以上のように、上述した実施形態によれば、比較的少ないメモリ使用量で元データの色変更にも対応可能な方法で、高速に再描画を行うことが可能となる。
【0041】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
第1の図形の形状を示す形状情報に基づいて、前記第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出手段と、
前記算出手段により算出された前記第1の図形の不透明度情報を記憶手段に格納する格納手段と、
第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定する判定手段と、
前記判定手段により前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されていると判定された場合、前記第1の図形の不透明度情報に基づいて、前記第2の図形の描画を行う描画手段とを有することを特徴とする情報処理装置。
【請求項2】
前記判定手段は、前記記憶手段において前記第1の図形の不透明度情報と関連付けて格納されている前記第1の図形の形状情報に基づいて、前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
第1の図形の一部分である第1の部分図形の外郭線を定義した形状情報に基づいて、前記第1の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第1の算出手段と、
前記第1の算出手段により算出された前記第1の部分図形の不透明度情報を第1の記憶手段に格納する第1の格納手段と、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第1の図形の他の部分である第2の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第2の算出手段と、
前記第2の算出手段により算出された前記第2の部分図形の不透明度情報を第2の記憶手段に格納する第2の格納手段と、
前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方について、第2の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定手段と、
前記判定手段により前記第2の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第2の図形の描画を行う描画手段とを有することを特徴とする情報処理装置。
【請求項4】
前記判定手段は、前記第1の記憶手段において前記第1の部分図形の不透明度情報と関連付けて格納されている前記第1の部分図形の形状情報に基づいて、前記第2の図形の描画の際に使用可能な前記第1の部分図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記判定手段は、前記第2の記憶手段において前記第2の部分図形の不透明度情報と関連付けて格納されている前記第2の部分図形の形状情報及び前記線幅情報に基づいて、前記第2の図形の描画の際に使用可能な前記第2の部分図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項3又は4に記載の情報処理装置。
【請求項6】
情報処理装置によって実行される情報処理方法であって、
第1の図形の形状を示す形状情報に基づいて、前記第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出ステップと、
前記算出ステップにより算出された前記第1の図形の不透明度情報を記憶手段に格納する格納ステップと、
第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されていると判定された場合、前記第1の図形の不透明度情報に基づいて、前記第2の図形の描画を行う描画ステップとを含むことを特徴とする情報処理方法。
【請求項7】
情報処理装置によって実行される情報処理方法であって、
第1の図形の一部分である第1の部分図形の外郭線を定義した形状情報に基づいて、前記第1の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第1の算出ステップと、
前記第1の算出ステップにより算出された前記第1の部分図形の不透明度情報を第1の記憶手段に格納する第1の格納ステップと、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第1の図形の他の部分である第2の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第2の算出ステップと、
前記第2の算出ステップにより算出された前記第2の部分図形の不透明度情報を第2の記憶手段に格納する第2の格納ステップと、
前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方について、第2の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第2の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第2の図形の描画を行う描画ステップとを含むことを特徴とする情報処理方法。
【請求項8】
第1の図形の形状を示す形状情報に基づいて、前記第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出ステップと、
前記算出ステップにより算出された前記第1の図形の不透明度情報を記憶手段に格納する格納ステップと、
第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されていると判定された場合、前記第1の図形の不透明度情報に基づいて、前記第2の図形の描画を行う描画ステップとをコンピュータに実行させるためのプログラム。
【請求項9】
第1の図形の一部分である第1の部分図形の外郭線を定義した形状情報に基づいて、前記第1の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第1の算出ステップと、
前記第1の算出ステップにより算出された前記第1の部分図形の不透明度情報を第1の記憶手段に格納する第1の格納ステップと、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第1の図形の他の部分である第2の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第2の算出ステップと、
前記第2の算出ステップにより算出された前記第2の部分図形の不透明度情報を第2の記憶手段に格納する第2の格納ステップと、
前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方について、第2の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第2の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第2の図形の描画を行う描画ステップとをコンピュータに実行させるためのプログラム。
【請求項1】
第1の図形の形状を示す形状情報に基づいて、前記第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出手段と、
前記算出手段により算出された前記第1の図形の不透明度情報を記憶手段に格納する格納手段と、
第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定する判定手段と、
前記判定手段により前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されていると判定された場合、前記第1の図形の不透明度情報に基づいて、前記第2の図形の描画を行う描画手段とを有することを特徴とする情報処理装置。
【請求項2】
前記判定手段は、前記記憶手段において前記第1の図形の不透明度情報と関連付けて格納されている前記第1の図形の形状情報に基づいて、前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
第1の図形の一部分である第1の部分図形の外郭線を定義した形状情報に基づいて、前記第1の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第1の算出手段と、
前記第1の算出手段により算出された前記第1の部分図形の不透明度情報を第1の記憶手段に格納する第1の格納手段と、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第1の図形の他の部分である第2の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第2の算出手段と、
前記第2の算出手段により算出された前記第2の部分図形の不透明度情報を第2の記憶手段に格納する第2の格納手段と、
前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方について、第2の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定手段と、
前記判定手段により前記第2の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第2の図形の描画を行う描画手段とを有することを特徴とする情報処理装置。
【請求項4】
前記判定手段は、前記第1の記憶手段において前記第1の部分図形の不透明度情報と関連付けて格納されている前記第1の部分図形の形状情報に基づいて、前記第2の図形の描画の際に使用可能な前記第1の部分図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記判定手段は、前記第2の記憶手段において前記第2の部分図形の不透明度情報と関連付けて格納されている前記第2の部分図形の形状情報及び前記線幅情報に基づいて、前記第2の図形の描画の際に使用可能な前記第2の部分図形の不透明度情報が格納されているか否かを判定することを特徴とする請求項3又は4に記載の情報処理装置。
【請求項6】
情報処理装置によって実行される情報処理方法であって、
第1の図形の形状を示す形状情報に基づいて、前記第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出ステップと、
前記算出ステップにより算出された前記第1の図形の不透明度情報を記憶手段に格納する格納ステップと、
第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されていると判定された場合、前記第1の図形の不透明度情報に基づいて、前記第2の図形の描画を行う描画ステップとを含むことを特徴とする情報処理方法。
【請求項7】
情報処理装置によって実行される情報処理方法であって、
第1の図形の一部分である第1の部分図形の外郭線を定義した形状情報に基づいて、前記第1の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第1の算出ステップと、
前記第1の算出ステップにより算出された前記第1の部分図形の不透明度情報を第1の記憶手段に格納する第1の格納ステップと、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第1の図形の他の部分である第2の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第2の算出ステップと、
前記第2の算出ステップにより算出された前記第2の部分図形の不透明度情報を第2の記憶手段に格納する第2の格納ステップと、
前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方について、第2の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第2の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第2の図形の描画を行う描画ステップとを含むことを特徴とする情報処理方法。
【請求項8】
第1の図形の形状を示す形状情報に基づいて、前記第1の図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する算出ステップと、
前記算出ステップにより算出された前記第1の図形の不透明度情報を記憶手段に格納する格納ステップと、
第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第2の図形の描画の際に使用可能な前記第1の図形の不透明度情報が格納されていると判定された場合、前記第1の図形の不透明度情報に基づいて、前記第2の図形の描画を行う描画ステップとをコンピュータに実行させるためのプログラム。
【請求項9】
第1の図形の一部分である第1の部分図形の外郭線を定義した形状情報に基づいて、前記第1の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第1の算出ステップと、
前記第1の算出ステップにより算出された前記第1の部分図形の不透明度情報を第1の記憶手段に格納する第1の格納ステップと、
前記外郭線からの線幅を示す線幅情報に基づいて、前記線幅情報によって定義される第1の図形の他の部分である第2の部分図形のエッジ部分を構成する各ピクセルの不透明度を示す不透明度情報を算出する第2の算出ステップと、
前記第2の算出ステップにより算出された前記第2の部分図形の不透明度情報を第2の記憶手段に格納する第2の格納ステップと、
前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方について、第2の図形の描画の際に使用可能な不透明度情報が格納されているか否かを判定する判定ステップと、
前記判定ステップにより前記第2の図形の描画の際に使用可能な不透明度情報が格納されていると判定された場合、格納されている前記第1の部分図形の不透明度情報及び前記第2の部分図形の不透明度情報のうちの少なくとも何れか一方に基づいて、前記第2の図形の描画を行う描画ステップとをコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−128580(P2012−128580A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−278404(P2010−278404)
【出願日】平成22年12月14日(2010.12.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願日】平成22年12月14日(2010.12.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]