JP5033747B2 - 画像処理装置、画像処理方法及び画像処理プログラム - Google Patents
画像処理装置、画像処理方法及び画像処理プログラム Download PDFInfo
- Publication number
- JP5033747B2 JP5033747B2 JP2008251315A JP2008251315A JP5033747B2 JP 5033747 B2 JP5033747 B2 JP 5033747B2 JP 2008251315 A JP2008251315 A JP 2008251315A JP 2008251315 A JP2008251315 A JP 2008251315A JP 5033747 B2 JP5033747 B2 JP 5033747B2
- Authority
- JP
- Japan
- Prior art keywords
- canvas
- image processing
- determined
- transparency
- page
- 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)
- Facsimile Image Signal Circuits (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の完全に透明のまま残る。
図4は、本発明の実施例に係る画像処理装置の機能ブロック図である。
図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)。
図8は本発明実施例の画像処理装置の動作のフローチャートである。
本発明実施例の画像処理装置により、以下のことが可能となった。
色値は、実施例中ではRGBの三原色に基づくものを示したが、CMYKの色値であってもよく、同様にアルファブレンド演算が可能である。
1.2 データ受信部
1.3 データ解析部
1.4 描画データ処理部(中間言語変換部)
1.4.1 キャンバスチェック部
1.4.3 キャンバス用メモリ算出部
1.5 描画部(アルファブレンド演算部)
1.6 出力部
1.7 システム制御部
1.8 エラー制御部
1.9 メモリ管理部
Claims (5)
- 透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理装置であって、
前記キャンバスの透明度属性が不透明であるかどうかを判定し、不透明と判定されたキャンバスが連続している場合には、前記連続したキャンバスを仮キャンバスと判断し、そうでないキャンバスを実キャンバスと判断するキャンバスチェック部と、
前記仮キャンバスと判断されたキャンバスへの描画は、直接ページ描画メモリに描画し、前記実キャンバスと判断されたキャンバスへの描画は、当該キャンバス上で透明度属性の合成であるアルファブレンド演算を行って描画する描画部とを有する
ことを特徴とする画像処理装置。 - 請求項1の画像処理装置であって、
前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する中間言語変換部を有し、
前記描画部は、前記入れ子構造を保った中間言語に基づいて前記アルファブレンド演算を行う
ことを特徴とする画像処理装置。 - 請求項1又は2の画像処理装置であって、
前記ページ記述言語がXML(Extended Markup Language)拡張形式により記述されたものである
ことを特徴とする画像処理装置。 - 透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理方法であって、
前記キャンバスの透明度属性が不透明であるかどうかを判定し、不透明と判定されたキャンバスが連続している場合には、前記連続したキャンバスを仮キャンバスと判断し、そうでないキャンバスを実キャンバスと判断し、
前記仮キャンバスと判断されたキャンバスへの描画は、直接ページ描画メモリに描画し、前記実キャンバスと判断されたキャンバスへの描画は、当該キャンバス上でアルファブレンド演算を行って描画する
ことを特徴とする画像処理方法。 - コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する機能を実現させる画像処理プログラムであって、
前記キャンバスの透明度属性が不透明であるかどうかを判定し、不透明と判定されたキャンバスが連続している場合には、前記連続したキャンバスを仮キャンバスと判断し、そうでないキャンバスを実キャンバスと判断するキャンバスチェック機能と、
前記キャンバスチェック機能により、前記仮キャンバスと判断されたキャンバスへの描画は、直接ページ描画メモリに描画し、前記実キャンバスと判断されたキャンバスへの描画は、当該キャンバス上でアルファブレンド演算を行って描画する描画機能とを
コンピュータに実現させることを特徴とする画像処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008251315A JP5033747B2 (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 |
---|---|---|---|
JP2008251315A JP5033747B2 (ja) | 2008-09-29 | 2008-09-29 | 画像処理装置、画像処理方法及び画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086044A JP2010086044A (ja) | 2010-04-15 |
JP5033747B2 true JP5033747B2 (ja) | 2012-09-26 |
Family
ID=42249991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008251315A Expired - Fee Related JP5033747B2 (ja) | 2008-09-26 | 2008-09-29 | 画像処理装置、画像処理方法及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5033747B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10891760B2 (en) * | 2018-09-20 | 2021-01-12 | Adobe Inc. | Digital overpainting controlled by opacity and flow parameters |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0887406A (ja) * | 1994-09-19 | 1996-04-02 | Fuji Electric Co Ltd | プログラム表示装置 |
JP4480160B2 (ja) * | 2005-06-08 | 2010-06-16 | キヤノン株式会社 | 印刷装置、印刷装置の制御方法、印刷装置の制御プログラム、記憶媒体、並びに、Webサーバ |
JP2007067865A (ja) * | 2005-08-31 | 2007-03-15 | Nec Corp | 画像処理装置、画像処理方法、および画像処理プログラム |
CN100545831C (zh) * | 2006-09-27 | 2009-09-30 | 北京大学 | 一种透明页面的光栅化处理方法及装置 |
-
2008
- 2008-09-29 JP JP2008251315A patent/JP5033747B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010086044A (ja) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5028372B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
US7894098B1 (en) | Color separation of pattern color spaces and form XObjects | |
US8314951B2 (en) | Image processing apparatus, and computer-readable recording medium | |
JP4960900B2 (ja) | 情報処理装置および画像形成装置 | |
JP2017228838A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP5732935B2 (ja) | 情報処理装置と印刷制御プログラムとコンピュータ読み取り可能な記録媒体 | |
JP5033747B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP5007291B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP5028373B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP5033746B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP6234417B2 (ja) | 情報処理装置及びその制御方法とプログラム | |
JP2001293936A (ja) | 描画情報処理装置および描画情報処理方法 | |
JP2011065413A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2011025539A (ja) | プリンタ装置、画像出力システム、レンダリング方法、及びプログラム | |
JP5171973B2 (ja) | 情報処理装置及びその制御方法 | |
JP6437076B2 (ja) | 情報処理装置及びその制御方法とプログラム | |
JP2010087792A (ja) | 画像形成装置及び画像形成プログラム | |
JP5094667B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2017097463A (ja) | 印刷制御システム、印刷制御装置およびプログラム | |
JP2008299845A (ja) | 透明オブジェクトのレンダリング・システムおよび方法 | |
JP2009101662A (ja) | 印刷処理装置 | |
US8913294B2 (en) | Image processing apparatus and image processing system | |
JP2010274534A (ja) | 画像形成装置及び画像形成プログラム | |
JP5228543B2 (ja) | 印刷ジョブ処理システムおよび印刷ジョブ処理方法 | |
JP2009066926A (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: 20120518 |
|
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: 20120605 |
|
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: 20120702 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5033747 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150706 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |