JP5028373B2 - 画像処理装置、画像処理方法及び画像処理プログラム - Google Patents
画像処理装置、画像処理方法及び画像処理プログラム Download PDFInfo
- Publication number
- JP5028373B2 JP5028373B2 JP2008251313A JP2008251313A JP5028373B2 JP 5028373 B2 JP5028373 B2 JP 5028373B2 JP 2008251313 A JP2008251313 A JP 2008251313A JP 2008251313 A JP2008251313 A JP 2008251313A JP 5028373 B2 JP5028373 B2 JP 5028373B2
- Authority
- JP
- Japan
- Prior art keywords
- canvas
- image processing
- transparency attribute
- transparency
- rectangular area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Generation (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Description
アルファブレンドとは、2つのそれぞれに色値を有する画像をある係数により半透明合成することである。この係数をアルファ値といい0.0〜1.0の値をとる。0.0が完全に透明、1.0が完全に不透明な重ね合わせであることを表している。PDF(Portable Document Format)、およびXPS(XML Paper Specification)ドキュメント形式ではパスによる図形や、フォント、イメージ等のオブジェクトに対してアルファ値が設定でき、描画の際に、下地の色とのアルファブレンド(透明度と色値との合成)が可能になっている。
(1):ソース側のアルファ値を求める。ソースのアルファ値にOpacityアトリビュートの値とOpacityMaskの値をかける。
As :ソースエレメントのアルファ値(図1参照)
Oe :ソースエレメントのOpacity値(図1参照)
Om :描画するピクセル位置のソースエレメントのOpacityMask値(図1参照)
(2):(1)で求まったアルファ値(As1)をソースの色値にかける。この処理をPre-multiply source alphaという。下記に示す式のCsはRGBや、Gray、CMYK等のカレントカラースペースにおけるプレーン毎の値である。
Cs :ソースの色値(図1参照)
Cs_tmp :ソース側カラー値のテンポラリ値
(3):デスティネーション側のアルファをデスティネーションの色値にかける。この処理をPre-multiply destination alphaという。下記に示す式のデスティネーションのピクセル色値Cdはソース側と同様に、RGBや、Gray、CMYK等のカレントカラースペースにおけるプレーン毎の値である。
Ad :デスティネーションのアルファ値
Cd :デスティネーションの描画ピクセル位置の色値
Cd_tmp :デスティネーション側カラー値のテンポラリ
(4):ブレンド処理を行う。
C_tmp = ( 1 - As1 ) * Cd_tmp + Cs_tmp
A_tmp :(5)のチェック用テンポラリ
C_tmp :(5)のチェック用テンポラリ
(5):デスティネーション結果に書き込む値を求める。この処理をReverse pre-multiplicationという。
{
Anew = Cnew = 0
}
Else
{
Anew = A_tmp
Cnew = min(C_tmp / A_tmp, 1)
}
(1)、(2)で現れるパラメータが図1のXPSドキュメント中に現れる(より詳細については非特許文献1を参照)。
ブレンド処理ステップ(3)において、ページへの描画処理では下地は不透明、すなわちAd=1.0ととることができる。この場合は、下記のようにソースの色値とアルファ値、および既にページに書かれているデスティネーションの色値のみでアルファブレンド処理ができる(図2(A)参照)。
Anew = 1.0 (不透明で変化なし)
Cnew = ( 1 - As1 ) Cd + As1 * Cs (単純なアルファブレンドの式として知られている)
[キャンバスに透明度属性がない場合]
ブレンド処理のステップ(3)において、キャンバスへの描画処理では、初期状態において下地は完全な透明、Ad=0.0で色なし、Cd=0.0(RGBなら黒)ととらえることができる。これはガラス板のイメージになる。
Anew = As1 (アルファの値が累積)
Cnew = Cs (ソースの色値はそのまま)
キャンバス上にまだ何も描画されていない状態で、ブレンド処理ステップに従うと、上記のように、キャンバス上のオブジェクトに透明度が含まれている場合、キャンバス上には、色値、アルファ値がそのまま累積することとなる。これは、キャンバスをページ等の一段下のレイヤーに描画するときに、累積している値がソースアルファ値として影響することを示す。
上述のように、オブジェクトが描画された領域には色値とアルファ値が累積していくが、その他の領域は0.0の完全に透明のまま残る。
図1は、本発明の実施例に係る画像処理装置の機能ブロック図である。
図5で示した入れ子構造を有するディスプレイリスト(中間言語)のアルファブレンドの演算は以下に示す再帰アルゴリズムにより効率よく計算される。
[擬似コードによるアルゴリズム表記]
C = Composite(C_0,O_0)
入力 C_0 :キャンバスの描画先の現在の色
O_0 :キャンバスに含まれるオブジェクト全体
出力 C :キャンバスの色値
{
S_0 = C_0 (式1)
全てのオブジェクト(i を1からnまで)で以下の処理を繰り返す。
Obj_i がキャンバスの場合は再帰呼び出し {
C_i = Composite(SC_(i-1),Obj_i) (式2)
} そうでない場合 {
C_i = Obj_i_Color (式3)
}
S_i = (1-Obj_i_Alpha) *SC_(i-1) + Obj_i_Alpha * C_i (式4)
}
C = S_i
} [アルゴリズム終了]
すなわち、キャンバス開始時にそれまでに描かれている色をコピーした領域を作成し(式1)、キャンバス終了時に、キャンバス自体のα値をもって、下地とブレンド処理(式4)すればよいこととなる。ページの開始時点は初期値S_0が白となっていれば良い。
前記した再帰アルゴリズムの処理内容の具体例について図6、図7を用いて以下に説明する。
最初に描画するための最終のページであるページバッファを確保する。
これまでページバッファに描かれている結果をCanvas1にコピーする(式1)。さらに、Canvas1上のObject1を描画する。(式3〜4)。また、Canvas1の透明度情報を何らかの形(例えば、再帰呼出しルーチンのローカル変数等)で保持しておく。
Canvas1に描かれている結果をCanvas2にコピーする。(式2による再帰呼出しと式1)。
Canvas2自体の透明度情報(エレメントのOpacity値、OpacityMask値)をもって、Canvas2をイメージとして一段下のCanvas1に描画する(式4)。
Canvas1自体の透明度属性情報(エレメントのOpacity値、OpacityMask値)をもって、Canvas1をイメージとしてページに描画(式4)。
図6(E)の例では、キャンバスに座標値の指定が無い場合について説明したが、キャンバスには座標値の指定が伴う場合もある。
プリンタの描画処理でブレンド処理を行う場合、(R,G,B,α)の要素毎に8bit、つまり1ピクセル当たり32bitの色情報が必要である。前述したように、透明度属性のあるキャンバス機能が使用された場合には、そのキャンバス上に描かれた描画結果を保持する為のメモリが必要になる。
本発明実施例の画像処理装置により、以下のことが可能となった。
色値は、実施例中ではRGBの三原色に基づくものを示したが、CMYKの色値であっても同様にアルファブレンド演算処理が可能である。
1.2 データ受信部
1.3 データ解析部
1.4 描画データ処理部(中間言語変換部)
1.4.1 キャンバスチェック部
1.4.2 BBOX情報算出部(描画領域情報算出部)
1.4.3 キャンバス用メモリ算出部
1.5 描画部(アルファブレンド演算部)
1.6 出力部
1.7 システム制御部
1.8 エラー制御部
1.9 メモリ管理部
Claims (4)
- 透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとの透明度属性の合成処理を行う画像処理装置であって
前記描画オブジェクト及び前記キャンバスの座標値より、前記描画オブジェクト及びキャンバスの描画される矩形領域の座標情報を算出する描画領域情報算出部と、
前記描画領域情報算出部により算出された矩形領域中でのみ前記透明度属性の合成処理を行う描画部と、
前記キャンバスの前記透明度属性が不透明であるかどうかを検出し、入れ子構造に連続しているキャンバスが不透明である場合は該キャンバスを仮キャンバスとして記録し、それ以外のキャンバスを実キャンバスとして記録するキャンバスチェック部と、
を有し、
前記描画領域情報算出部は、前記キャンバスチェック部により実キャンバスとして記録されたキャンバスの座標値に基づいて、前記矩形領域の座標情報を算出し、
前記描画部は、前記描画領域情報算出部により算出された矩形領域中でのみ描画処理を行う、
ことを特徴とする画像処理装置。 - 請求項1の画像処理装置であって、
前記キャンバスの前記透明度属性の合成処理に必要なメモリ量の計算をする際に、前記描画領域情報算出部により前記仮キャンバスと判断されたキャンバスについてはゼロとして計算し、前記実キャンバスと判断されたキャンバスについては該キャンバスの前記矩形領域に基づいて計算するメモリ領域算出部を有する
ことを特徴とする画像処理装置。 - 透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとの透明度属性の合成処理を画像処理装置で行う画像処理方法であって、
前記画像処理装置が、前記描画オブジェクト及び前記キャンバスの座標値より、前記描画オブジェクト及びキャンバスの描画される矩形領域の座標情報を算出し、
該算出された矩形領域中でのみ前記透明度属性の合成処理を行い、
前記キャンバスの前記透明度属性が不透明であるかどうかを検出し、入れ子構造に連続しているキャンバスが不透明である場合は該キャンバスを仮キャンバスとして記録し、それ以外のキャンバスを実キャンバスとして記録し、
前記実キャンバスとして記録されたキャンバスの座標値に基づいて、前記矩形領域の座標情報を算出し、
前記算出された矩形領域中でのみ描画処理を行う、
ことを特徴とする画像処理方法。 - コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとの透明度属性の合成処理機能を実現させる画像処理プログラムであって、
前記描画オブジェクト及び前記キャンバスの座標値より、前記描画オブジェクト及びキャンバスの描画される矩形領域の座標情報を算出する描画領域情報算出機能と、
該算出された矩形領域中でのみ前記透明度属性の合成処理を行う描画機能と、
前記キャンバスの前記透明度属性が不透明であるかどうかを検出し、入れ子構造に連続しているキャンバスが不透明である場合は該キャンバスを仮キャンバスとして記録し、それ以外のキャンバスを実キャンバスとして記録するキャンバスチェック機能とを
コンピュータに実現させ、
前記描画領域情報算出機能は、前記キャンバスチェック機能により実キャンバスとして記録されたキャンバスの座標値に基づいて、前記矩形領域の座標情報を算出し、
前記描画機能は、前記算出された矩形領域中でのみ描画処理を行う、
ことを特徴とする画像処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008251313A JP5028373B2 (ja) | 2008-09-29 | 2008-09-29 | 画像処理装置、画像処理方法及び画像処理プログラム |
US12/586,748 US8314951B2 (en) | 2008-09-26 | 2009-09-25 | Image processing apparatus, and computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008251313A JP5028373B2 (ja) | 2008-09-29 | 2008-09-29 | 画像処理装置、画像処理方法及び画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086042A JP2010086042A (ja) | 2010-04-15 |
JP5028373B2 true JP5028373B2 (ja) | 2012-09-19 |
Family
ID=42249989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008251313A Expired - Fee Related JP5028373B2 (ja) | 2008-09-26 | 2008-09-29 | 画像処理装置、画像処理方法及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5028373B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021245875A1 (ja) * | 2020-06-04 | 2021-12-09 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6870550B1 (en) * | 1999-04-26 | 2005-03-22 | Adobe Systems Incorporated | Digital Painting |
US7292255B2 (en) * | 2000-05-31 | 2007-11-06 | Canon Kabushiki Kaisha | Image data acquisition optimisation |
CN100545831C (zh) * | 2006-09-27 | 2009-09-30 | 北京大学 | 一种透明页面的光栅化处理方法及装置 |
-
2008
- 2008-09-29 JP JP2008251313A patent/JP5028373B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010086042A (ja) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5028372B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
US7519899B2 (en) | Planar mapping of graphical elements | |
US8314951B2 (en) | Image processing apparatus, and computer-readable recording medium | |
JP6494249B2 (ja) | 画像形成装置、画像形成方法、プログラム | |
US7164494B1 (en) | Color separation of pattern color spaces and form XObjects | |
JP5526874B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5732935B2 (ja) | 情報処理装置と印刷制御プログラムとコンピュータ読み取り可能な記録媒体 | |
JP5028373B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP4143613B2 (ja) | 描画方法、描画装置 | |
JP5033746B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP6904717B2 (ja) | 画像処理装置、その制御方法、およびプログラム | |
JP5033747B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP5007291B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
CN104461406B (zh) | 一种打印输出方法及装置 | |
JP2010087792A (ja) | 画像形成装置及び画像形成プログラム | |
JP5227898B2 (ja) | 画像形成装置及び画像形成プログラム | |
JP5094667B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2011065413A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2017097463A (ja) | 印刷制御システム、印刷制御装置およびプログラム | |
JP5603295B2 (ja) | 正しいzオーダーでのデータのレンダリング | |
JP2012109897A (ja) | ドライバープログラム、および、印刷装置 | |
JP2009101662A (ja) | 印刷処理装置 | |
JP2009066926A (ja) | 画像処理装置及び画像形成システム | |
JP2011186835A (ja) | 画像処理装置及び画像処理プログラム | |
JP2007122621A (ja) | 情報処理装置、情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120321 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120507 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120529 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120625 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150629 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |