JP5094667B2 - 画像処理装置、画像処理方法及び画像処理プログラム - Google Patents
画像処理装置、画像処理方法及び画像処理プログラム Download PDFInfo
- Publication number
- JP5094667B2 JP5094667B2 JP2008253942A JP2008253942A JP5094667B2 JP 5094667 B2 JP5094667 B2 JP 5094667B2 JP 2008253942 A JP2008253942 A JP 2008253942A JP 2008253942 A JP2008253942 A JP 2008253942A JP 5094667 B2 JP5094667 B2 JP 5094667B2
- Authority
- JP
- Japan
- Prior art keywords
- canvas
- memory
- image
- alpha
- image processing
- 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)
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 (ソースの色値はそのまま)
キャンバス上にまだ何も描画されていない状態で、ブレンド処理ステップに従うと、上記のように、キャンバス上のオブジェクトに透明度が含まれている場合、キャンバス上には、色値、アルファ値がそのまま累積することとなる。これは、キャンバスをページ等の一段下のレイヤに描画するときに、累積している値がソースアルファ値として影響することを示す。
この場合、図2(B)のようにページとは別のバッファに描画を実行する必要はなく、キャンバスが定義されていないときと同様の処理を行えばよい。
上述のように、オブジェクトが描画された領域には色値とアルファ値が累積していくが、その他の領域は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を用いて以下に説明する。
図7に三層に重なるキャンバスのレイヤについての例を示す。図7(A)に透明度属性を有するキャンバス上に三角形の描画オブジェクトが載っており、図7(B)にその下層にある透明度属性を有するキャンバス、図7(C)にさらにその下層にあるキャンバス(キャンバスではなく、最終のメモリイメージを描画するページであっても良い)を示す。
図8は本発明実施例の画像処理装置の動作のフローチャートである。
本発明実施例の画像処理装置により、以下のことが可能となった。
色値は、実施例中ではRGBの三原色に基づくものを示したが、CMYKの色値であってもよく、同様にアルファブレンド演算が可能である。
1.2 データ受信部
1.3 データ解析部
1.4 描画データ処理部(中間言語変換部)
1.5 描画部(アルファブレンド演算部)
1.6 出力部
1.7 システム制御部
1.8 エラー制御部
1.9 メモリ管理部
1.10 ストレージデバイス管理部
1.11 ストレージデバイス(補助メモリ;二次記憶装置)
Claims (5)
- 透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理装置であって、
前記透明度属性の合成処理であるアルファブレンド演算によるキャンバスのメモリイメージを展開するための記憶容量を主メモリに確保し、前記合成処理後のキャンバスのメモリイメージを複数層重ねて前記アルファブレンド演算を行うアルファブレンド演算部と、
前記アルファブレンド演算中に直近には必要としない前記合成処理後のキャンバスのメモリイメージを前記主メモリから補助メモリに退避させ、前記メモリイメージが前記アルファブレンド演算処理のために必要な時には、前記補助メモリから前記主メモリに呼び戻すストレージデバイス管理部と、を有する
ことを特徴とする画像処理装置。 - 請求項1の画像処理装置であって、
前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの前記入れ子構造を保ったまま中間言語に変換する中間言語変換部を有し、
前記アルファブレンド演算部は、前記入れ子構造を保った前記中間言語に基づいて前記透明度属性の合成を行う
ことを特徴とする画像処理装置。 - 請求項1又は2の画像処理装置であって、
前記ページ記述言語がXML(Extended Markup Language)拡張形式により記述されたものである
ことを特徴とする画像処理装置。 - 画像形成装置が透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理方法であって、
前記画像形成装置が備えるアルファブレンド演算手段が前記透明度属性の合成処理であるアルファブレンド演算によるキャンバスのメモリイメージを展開するための記憶容量を主メモリに確保し、前記合成処理後のキャンバスのメモリイメージを複数層重ねて前記アルファブレンド演算を行うアルファブレンド演算工程と、
前記画像形成装置が備えるストレージデバイス管理手段が前記アルファブレンド演算中に直近には必要としない前記合成処理後のキャンバスのメモリイメージを前記主メモリから補助メモリに退避し、前記メモリイメージが前記アルファブレンド演算処理のために必要な時には、前記補助メモリから前記主メモリに呼び戻すストレージデバイス管理工程と、を有する
ことを特徴とする画像処理方法。 - コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する機能を実現させる画像処理プログラムであって、
前記透明度属性の合成処理であるアルファブレンド演算によるキャンバスのメモリイメージを展開するための記憶容量を主メモリに確保し、前記合成処理後のキャンバスのメモリイメージを複数層重ねて前記アルファブレンド演算を行うアルファブレンド演算機能と、
前記アルファブレンド演算中に直近には必要としない前記合成処理後のキャンバスのメモリイメージを前記主メモリから補助メモリに退避し、前記メモリイメージが前記アルファブレンド演算処理のために必要な時には、前記補助メモリから前記主メモリに呼び戻すストレージデバイス管理機能と、をコンピュータに実現させる
ことを特徴とする画像処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008253942A JP5094667B2 (ja) | 2008-09-30 | 2008-09-30 | 画像処理装置、画像処理方法及び画像処理プログラム |
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 |
---|---|---|---|
JP2008253942A JP5094667B2 (ja) | 2008-09-30 | 2008-09-30 | 画像処理装置、画像処理方法及び画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086239A JP2010086239A (ja) | 2010-04-15 |
JP5094667B2 true JP5094667B2 (ja) | 2012-12-12 |
Family
ID=42250146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008253942A Expired - Fee Related JP5094667B2 (ja) | 2008-09-26 | 2008-09-30 | 画像処理装置、画像処理方法及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5094667B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4231684B2 (ja) * | 2002-12-12 | 2009-03-04 | 任天堂株式会社 | ゲーム装置及びゲームプログラム |
US7486294B2 (en) * | 2003-03-27 | 2009-02-03 | Microsoft Corporation | Vector graphics element-based model, application programming interface, and markup language |
JP4303518B2 (ja) * | 2003-05-12 | 2009-07-29 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及び画像生成装置 |
-
2008
- 2008-09-30 JP JP2008253942A patent/JP5094667B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010086239A (ja) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5028372B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
US8314951B2 (en) | Image processing apparatus, and computer-readable recording medium | |
US7813577B2 (en) | Image editing apparatus and image editing method | |
US11281849B2 (en) | System and method for printable document viewer optimization | |
JP2009188816A (ja) | プリンタドライバおよび画像形成装置 | |
JP3935127B2 (ja) | 画像形成方法 | |
JP5094667B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2011065413A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP4143613B2 (ja) | 描画方法、描画装置 | |
JP6904717B2 (ja) | 画像処理装置、その制御方法、およびプログラム | |
JP5007291B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP5033747B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP5028373B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP6330790B2 (ja) | 印刷制御システム、印刷制御装置およびプログラム | |
JP5033746B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP5227898B2 (ja) | 画像形成装置及び画像形成プログラム | |
JP2011025539A (ja) | プリンタ装置、画像出力システム、レンダリング方法、及びプログラム | |
JP5171973B2 (ja) | 情報処理装置及びその制御方法 | |
JP2009101662A (ja) | 印刷処理装置 | |
US8756491B2 (en) | PDL data processing device | |
JP4840604B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2008287440A (ja) | 画像処理装置及びプログラム | |
JP4991429B2 (ja) | 着色材料使用量削減プログラム | |
JP2009141921A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2006079475A (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: 20120313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120416 |
|
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: 20120821 |
|
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: 20120918 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150928 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |