JP2018121222A - 画像処理装置、および、コンピュータプログラム - Google Patents
画像処理装置、および、コンピュータプログラム Download PDFInfo
- Publication number
- JP2018121222A JP2018121222A JP2017011721A JP2017011721A JP2018121222A JP 2018121222 A JP2018121222 A JP 2018121222A JP 2017011721 A JP2017011721 A JP 2017011721A JP 2017011721 A JP2017011721 A JP 2017011721A JP 2018121222 A JP2018121222 A JP 2018121222A
- Authority
- JP
- Japan
- Prior art keywords
- color space
- data
- object data
- composite
- color
- 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.)
- Pending
Links
Images
Abstract
【課題】ユーザの意図に沿った合成オブジェクトを含む画像を出力する。【解決手段】画像処理装置は、第1のオブジェクトデータの色空間と、第2のオブジェクトデータの色空間と、の少なくとも一方が第1の色空間である特定の場合に、第1の合成オブジェクトデータを生成する第1の生成部と、第2の合成オブジェクトを示す第2の合成オブジェクトデータを生成する第2の生成部と、第1と第2の合成オブジェクトデータを用いて、複数個の合成オブジェクトを表示部に表示させる表示制御部と、ユーザの指示に基づき複数個の合成オブジェクトの中から出力オブジェクトを選択する選択部と、を備える。第1の合成オブジェクトデータを生成では、第1の色空間にて、第1のオブジェクトデータと第2のオブジェクトデータとを合成する。第2の合成オブジェクトデータの生成では、第2の色空間にて、第1のオブジェクトデータと第2のオブジェクトデータとを合成する。【選択図】 図5
Description
本明細書は、複数個のオブジェクトを示す複数個のオブジェクトデータを含む画像データに対する画像処理に関する。
特許文献1には、プリンタにて、複数個のオブジェクトを含む印刷ジョブを処理する技術が開示されている。この技術では、透過、合成属性値を持つαブレンドオブジェクトは、RGB色空間のデータに変換される。そして、RGB色空間にてαブレンドオブジェクトの合成が行われる。
オブジェクトの合成を行う際に用いられる色空間が異なる場合には、生成される画像の画質も異なり得る。しかしながら、上記技術では、常にRGB色空間にて、オブジェクトの合成が行われるので、ユーザの意図に沿った画像が生成できない可能性があった。
本明細書は、透過度データを用いて合成される合成オブジェクトを出力する画像処理において、ユーザの意図に沿った合成オブジェクトを含む画像を出力できる技術を開示する。
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]画像処理装置であって、第1のオブジェクトと、前記第1のオブジェクトが出力される際に、出力される領域が前記第1のオブジェクトと重なる重畳部分を含む第2のオブジェクトと、を含む対象画像を示す対象画像データを取得する取得部であって、前記対象画像データは、前記第1のオブジェクトを示す第1のオブジェクトデータと、前記第2のオブジェクトを示す第2のオブジェクトデータと、を含み、前記第1のオブジェクトデータと前記第2のオブジェクトデータと、の少なくとも一方は、透過度を示す透過度データを含む、前記取得部と、前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、をそれぞれ特定する特定部と、前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、の少なくとも一方が第1の色空間である特定の場合に、前記第1のオブジェクトと前記第2のオブジェクトとが合成された第1の合成オブジェクトを示す第1の合成オブジェクトデータを第1の生成する第1の生成部であって、前記第1の合成オブジェクトデータを生成する処理は、前記第1の色空間にて、前記第1のオブジェクトデータと前記第2のオブジェクトデータとを、前記透過度データを用いて合成する第1の合成処理を含み、前記第1の色空間は、M個(Mは、2以上の整数)の色成分を用いて色を表現する色空間である、前記第1の生成部と、前記特定の場合に、前記第1のオブジェクトと前記第2のオブジェクトとが合成された第2の合成オブジェクトを示す第2の合成オブジェクトデータを生成する第2の生成部であって、前記第2の合成オブジェクトデータを生成する処理は、前記第2の色空間にて、前記第1のオブジェクトデータと前記第2のオブジェクトデータとを、前記透過度データを用いて合成する第2の合成処理を含み、前記第2の色空間は、N個(Nは、M>Nを満たす整数)の色成分を用いて色を表現する色空間である、前記第2の生成部と、前記特定の場合に、前記第1の合成オブジェクトデータと、前記第2の合成オブジェクトデータと、を用いて、前記第1の合成オブジェクトと、前記第2の合成オブジェクトと、を含む複数個の合成オブジェクトを表示部に表示させる表示制御部と、ユーザの指示に基づいて、前記複数個の合成オブジェクトの中から1個の出力オブジェクトを選択する選択部と、前記1個の出力オブジェクトを含む画像を示す出力画像データを出力する出力部と、を備える画像処理装置。
第1のオブジェクトデータで用いられる色空間と、第2のオブジェクトデータで用いられる色空間と、の少なくとも一方が第1の色空間である特定の場合には、第1の色空間にて行われる第1の合成処理によって得られる第1の合成オブジェクトと、第2の色空間にて行われる第2の合成処理によって得られる第2の合成オブジェクトと、の画質が異なり得る。上記構成によれば、第1の合成オブジェクトを含む画像と、第2の合成オブジェクトを含む画像と、を含む複数個の合成オブジェクトが表示部に表示され、ユーザの指示に基づいて、複数個の合成オブジェクト画像の中から1個の出力オブジェクトが選択される。この結果、ユーザの意図に沿った合成オブジェクトを含む画像を示す出力画像データを出力できる。
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、印刷装置、印刷方法、画像処理方法、これら装置の機能または上記方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
A.実施例:
A−1:画像処理装置の構成
次に、実施の形態を実施例に基づき説明する。図1は、端末装置100と、実施例における画像処理装置としての印刷装置200と、の構成を示すブロック図である。
A−1:画像処理装置の構成
次に、実施の形態を実施例に基づき説明する。図1は、端末装置100と、実施例における画像処理装置としての印刷装置200と、の構成を示すブロック図である。
印刷装置200は、印刷装置200のコントローラとしてのCPU210と、RAMなどの揮発性記憶装置220と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置230と、液晶ディスプレイなどの表示部240と、液晶パネルと重畳されたタッチパネルやボタンなどの操作部250と、通信インタフェース(IF)270と、印刷実行部280と、を備えている。印刷装置200は、通信インタフェース270を介して、端末装置100などの外部装置と通信可能に接続される。通信インタフェース270は、例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェースである。
揮発性記憶装置220は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置230には、コンピュータプログラムPGが格納されている。揮発性記憶装置220や不揮発性記憶装置230は、印刷装置200の内部メモリである。
コンピュータプログラムPGは、印刷装置200の製造時に不揮発性記憶装置230に予め格納されて提供され得る。これに代えて、コンピュータプログラムPGは、例えば、インターネットを介して接続されたサーバからダウンロードされる形態、あるいは、CD−ROMなどに記録された形態で提供され得る。CPU210は、コンピュータプログラムPGを実行することにより、後述する印刷処理を実行する。
印刷実行部280は、本実施例では、シアン(C)、マゼンタ(M)、イエロ(Y)、ブラック(K)の4種類のインクを、色材として用いてカラー画像を印刷可能なインクジェット方式の印刷機構である。これに代えて、印刷実行部280は、色材としてトナーを用いてカラー画像を印刷可能なレーザ方式の印刷機構であっても良い。
端末装置100は、印刷装置200のユーザが利用する計算機であり、例えば、パーソナルコンピュータやスマートフォンである。端末装置100は、印刷装置200の製造者によって提供されるドライバプログラムを実行することによって、印刷装置200のためのプリンタドライバとして動作する。例えば、端末装置100は、プリンタドライバとして、印刷装置200に印刷指示を送信して、印刷装置200に印刷を実行させることができる。
A−2:印刷処理
図2は、印刷処理のフローチャートである。この印刷処理は、対象画像データを用いて、印刷実行部280に、対象画像を印刷させる処理である。この印刷処理は、印刷装置200のCPU210によって実行される。この印刷処理は、印刷装置200が、例えば、操作部250や端末装置100を介して、ユーザの印刷指示を取得した場合に、開始される。
図2は、印刷処理のフローチャートである。この印刷処理は、対象画像データを用いて、印刷実行部280に、対象画像を印刷させる処理である。この印刷処理は、印刷装置200のCPU210によって実行される。この印刷処理は、印刷装置200が、例えば、操作部250や端末装置100を介して、ユーザの印刷指示を取得した場合に、開始される。
S10では、CPU210は、印刷すべき対象画像を示す対象画像データを取得する。対象画像データは、例えば、不揮発性記憶装置230に格納された複数個の画像データの中から、ユーザの指定に基づいて選択される画像データである。あるいは、対象画像データは、端末装置100から印刷指示とともに送信される画像データである。
本実施例では、対象画像データは、例えば、特定のページ記述言語で記述された1以上のページ画像データを含む文書ファイルである。具体的には、対象画像データは、PDF(Portable Document Formatの略)と呼ばれるファイルフォーマットに従って記述された、いわゆるPDFファイルである。
図3は、対象画像の一例を示す図である。図3(A)の対象画像OIは、3個のオブジェクトOb1〜Ob3を含んでいる。図3(B)には、3個のオブジェクトOb1〜Ob3のそれぞれが分離して図示されている。以下では、対象画像データは、図3(A)の対象画像OIを示す1個のページ画像データを含むPDFファイルであるとして、説明する。変形例としては、対象画像データは、複数個の対象画像を示す複数個のページ画像データを含んでも良い。この場合には、図2のS20〜S50の処理が、ページ画像データの数だけ繰り返し実行される。
図4は、図3(A)の対象画像OIを示す対象画像データID(本実施例では、PDFファイル)を概念的に示す図である。この対象画像データIDは、図3(B)の3個のオブジェクトOb1〜Ob3を示す3個のオブジェクトデータOD1〜OD3を含んでいる。オブジェクトOb1〜Ob3は、例えば、写真、文字、描画(イラスト、表、線図、模様など)を含み得る。オブジェクトデータOD1〜OD3は、それぞれ、独立したデータである。
各オブジェクトデータは、オブジェクトを定義するための情報を含む。具体的には、オブジェクトデータは、例えば、オブジェクトが写真である場合には、写真を構成する複数個の画素の色を画素ごとに示すラスタデータを含み、オブジェクトが文字である場合には、文字の色、サイズ、種類を示すテキストデータを含み、オブジェクトが描画である場合には、該描画の色や形状を定義するベクトルデータを含む。オブジェクトデータは、さらに、オブジェクトを表現する際に用いられる色空間を示す色空間情報と、ページ画像内における位置やサイズ等を示す情報と、を含む。用いられる色空間は、例えば、デバイスに依存する機器依存色空間であるRGB色空間、CMYK色空間、デバイスに依存しない機器独立色空間であるCIELAB色空間、CIEXYZ色空間などが用いられ得る。
さらに、オブジェクトが、他のオブジェクトと、透過度に従って合成される場合には、オブジェクトデータは、合成する際の透過度を示す透過度データを含む。すなわち、該オブジェクトデータには、透過度データが関連付けられている。透過度データは、合成すべき2以上のオブジェクトの少なくとも重畳部分の透過度を示すデータである。透過度データは、例えば、0以上1以下の値(α値と呼ばれる)を画素ごとに規定する公知のデータ(αチャンネルと呼ばれる)である。透過度(α値)が0であることは、完全に透明であることを意味し、透過度が1であることは、完全に不透明であることを意味している。そして、透過度が0に近いほど、透明に近く、透過度が1に近いほど、不透明に近くなる。対象画像データにおいて、互いに合成される複数個のオブジェクトを示す複数個のオブジェクトデータは、一つのグループ(透明グループとも呼ぶ)を構成するように、互いに関連付けられている。透過度に従って、合成されるオブジェクトを、透明オブジェクトとも呼び、透明オブジェクトを示すオブジェクトデータを透明オブジェクトデータとも呼ぶ。なお、本実施例の透過度データTD1、TD2(後述)は、完全に透明でなく、かつ、完全に不透明でないことを示す透過度(0より大きく、かつ、1より小さいα値)を少なくとも一部の画素について規定している。
図3(A)、図3(B)の例では、第1のオブジェクトOb1と第2のオブジェクトOb2とは透明オブジェクトである。すなわち、第1のオブジェクトOb1と第2のオブジェクトOb2とは、対象画像OIが出力(例えば、印刷や表示)される際に、出力される領域が互いに重畳する重畳部分を含んでおり、互いに合成されるべき2個のオブジェクトである。このために、第1のオブジェクトOb1を示す第1のオブジェクトデータOD1は、透過度データTD1を含み、第2のオブジェクトOb2を示す第2のオブジェクトデータOD2は、透過度データTD2を含んでいる。そして、第1のオブジェクトデータOD1と第2のオブジェクトデータOD2は、1つの透明グループTGを構成するように、互いに関連付けられている。
図3(A)、図3(B)の例では、第3のオブジェクトOb3は、透明オブジェクトではなく、他のオブジェクトと合成されないオブジェクトである。このために、第3のオブジェクトOb3を示す第3のオブジェクトデータOD3は、透過度データを含んでおらず、かつ、他のオブジェクトデータとグループを構成していない。
図2のS20では、CPU210は、対象画像データを用いて、CMYK画像データを生成するCMYK画像データ生成処理を実行する。CMYK画像データは、印刷実行部280による印刷に用いられる複数種の色材(例えば、インク)に対応する複数種の成分値を含む色値(具体的には、C、M、Y、Kの4種の成分値を含むCMYK色空間の色値(CMYK値とも呼ぶ))で画素ごとの色を示すデータである。CMYK画像データ生成処理の詳細は、後述する。
S30では、CPU210は、生成されたCMYK画像データに対してハーフトーン処理を実行して、ドットの形成状態を画素ごと、かつ、インクごとに表すドットデータを生成する。ハーフトーン処理は、誤差拡散法やディザ法などの公知の方法を用いて実行される。ドットデータの画素の値は、少なくともドットの有無を示す。また、ドットデータの画素の値は、ドットの有無に加えて、ドットの種類(例えば、サイズ)を示しても良い。具体的には、ドットデータに含まれる各画素の値は、「ドット有り」、「ドット無し」の2つのドットの形成状態のいずれかを示しても良く、例えば、「大ドット」、「中ドット」、「小ドット」、「ドット無し」の4つのドットの形成状態のいずれかを示しても良い。
S40では、CPU210は、ドットデータを用いて印刷データを生成する。例えば、CPU210は、ドットデータを、印刷実行部280を用いて印刷を行う際に用いられる順番に並べ替える処理と、ドットデータにプリンタ制御コードやデータ識別コードを付加する処理と、を実行して、印刷データを生成する。S50では、CPU210は、生成された印刷データに基づいて、印刷実行部280を制御して、印刷実行部280に画像を印刷させる。
A−3:CMYK画像データ生成処理
図2のS20のCMYK画像データ生成処理について説明する。図5は、CMYK画像データ生成処理のフローチャートである。S100では、CPU210は、対象画像データIDに含まれる複数個のオブジェクトデータの色空間、すなわち、各オブジェクトデータによって示されるオブジェクトの色を表現するために用いられる色空間を特定する。具体的には、各オブジェクトデータに含まれる上述した色空間情報を参照することによって、図3のオブジェクトデータOD1〜OD3の色空間がそれぞれ特定される。
図2のS20のCMYK画像データ生成処理について説明する。図5は、CMYK画像データ生成処理のフローチャートである。S100では、CPU210は、対象画像データIDに含まれる複数個のオブジェクトデータの色空間、すなわち、各オブジェクトデータによって示されるオブジェクトの色を表現するために用いられる色空間を特定する。具体的には、各オブジェクトデータに含まれる上述した色空間情報を参照することによって、図3のオブジェクトデータOD1〜OD3の色空間がそれぞれ特定される。
S105では、CPU210は、対象画像データIDが透明オブジェクトデータを含むか否かを判断する。図4の例では、対象画像データIDは、透明オブジェクトデータOD1、OD2を含むので、透明オブジェクトデータを含むと判断される。
対象画像データIDが透明オブジェクトデータを含まない場合には(S105:NO)、S115にて、CPU210は、対象画像データIDに対して、ラスタライズ処理Aを実行して、対象画像OIを示すCMYK画像データが生成される。ラスタライズ処理Aでは、具体的には、対象画像データIDに含まれるオブジェクトデータOD1〜OD3は、それぞれ、各オブジェクトを示すラスタデータであって、複数個の画素の値を含むラスタデータにラスタライズされる。ラスタライズ後のオブジェクトデータ(すなわち、ラスタデータ)の各画素の値は、ラスタライズ前のオブジェクトデータに含まれる色空間情報によって示される色空間の色値、例えば、RGB色空間の色値(RGB値とも呼ぶ)や、CMYK色空間の色値(CMYK値とも呼ぶ)や、CIRLAB色空間の色値(Lab値とも呼ぶ)である。ラスタライズ後のオブジェクトデータの色空間がCMYK色空間とは異なる場合には、該色空間は、CMYK色空間に変換される。すなわち、ラスタライズ後のオブジェクトデータの各画素の値が、CMYK値とは異なる場合には、各画素の値は、CMYK値に変換される。これによって、オブジェクトOb1〜Ob3をそれぞれ示す3個のCMYK画像データが生成される。CPU210は、これらの3個のCMYK画像データを、生成すべき画像に対応するキャンバス上に配置することによって、1個の対象画像OIを示す1個のCMYK画像データを生成する。ラスタライズ処理Aによって生成されるCMYK画像データを、CMYK画像データAとも呼ぶ。CMYK画像データAが生成されると、CMYK画像データ生成処理は終了される。
対象画像データIDが1以上の透明オブジェクトデータを含む場合には(S105:YES)、S110にて、CPU210は、透明オブジェクトデータの色空間は、CMYK色空間を含むか否かを判断する。図4の例では、2個の透明オブジェクトデータOD1、OD2の色空間のいずれか、または、両方が、CMYK色空間であるか否かが判断される。
透明オブジェクトデータの色空間が、CMYK色空間を含まない場合には(S110:NO)、S120にて、CPU210は、対象画像データIDに対して、ラスタライズ処理Bを実行して、CMYK画像データ生成処理を終了する。これによって、対象画像OIを示すCMYK画像データが生成される。ラスタライズ処理Bは、詳細は後述するが、透明グループTGに属するオブジェクトデータOD1、OD2についてそれぞれ生成されたラスタデータを合成する合成処理を含む。ラスタライズ処理Bでは、合成処理は、RGB色空間にて実行される。ラスタライズ処理Bを実行することによって生成されるCMYK画像データを、CMYK画像データBとも呼ぶ。CMYK画像データBが生成されると、CMYK画像データ生成処理は終了される。
透明オブジェクトデータの色空間が、CMYK色空間を含む場合には(S110:YES)、S125にて、CPU210は、対象画像データIDに対して、ラスタライズ処理Cを実行することによって、対象画像OIを示すCMYK画像データを生成する。ラスタライズ処理Cは、詳細は後述するが、透明グループTGに属するオブジェクトデータOD1、OD2についてそれぞれ生成されたラスタデータを合成する合成処理を含む。ラスタライズ処理Cでは、合成処理は、CMYK色空間にて実行される。ラスタライズ処理Cを実行することによって生成されるCMYK画像データを、CMYK画像データCとも呼ぶ。
S130では、CPU210は、透明オブジェクトデータの色空間は、CMYK色空間とは異なる色空間を含むか否かを判断する。例えば、図4の例では、2個の透明オブジェクトデータOD1、OD2のいずれかの色空間が、CMYK色空間とは異なる色空間、例えば、RGB色空間、CIELAB色空間、CIEXYZ色空間である場合に、透明オブジェクトデータの色空間は、CMYK色空間とは異なる色空間を含むと判断される。
透明オブジェクトデータの色空間が、CMYK色空間とは異なる色空間を含まない場合には(S130:NO)、すなわち、対象画像データIDに含まれる全ての透明オブジェクトデータの色空間がCMYK色空間である場合には、S135にて、CPU210は、画質差判定処理を実行する。画質差判定処理は、CMYK画像データBによって示される画像と、CMYK画像データCによって示される画像と、の間に生じる画質の差(すなわち、画質の違い)が、大きいか否かを事前に判定する処理である。詳細は、後述するが、これらの2個の画像間には、比較的大きな画質の差が生じる場合がある。画質差判定処理によって判定される画質の差は、ラスタライズ処理Bを含む処理によって生成される印刷データによって示される印刷画像Bと、ラスタライズ処理Cを含む処理によって生成される印刷データによって示される印刷画像Cと、の間に生じる画質の差である、とも言うことができる。画質差判定処理の詳細は、後述する。
S140では、CPU210は、画質差判定処理の結果、印刷画像Bと印刷画像Cとの画質の差が大きいと判定されたか否かを判断する。印刷画像Bと印刷画像Cとの画質の差が大きいと判定された場合には(S140:YES)、S145に処理を進める。印刷画像Bと印刷画像Cとの画質の差が小さいと判定された場合には(S140:NO)、CPU210は、後述するS145〜S155を実行せずに、CMYK画像データ生成処理を終了する。
透明オブジェクトデータの色空間が、CMYK色空間とは異なる色空間を含む場合には(S130:YES)、CPU210は、上述のS135、S140をスキップして、S145に処理を進める。この場合には、CMYK画像データBによって示される画像と、CMYK画像データCによって示される画像と、の間に生じる画質の差が、大きくなりやすいので、画質差判定処理を行うことなく、後述するS145〜S155が実行される。
S145では、CPU210は、対象画像データIDに対して、ラスタライズ処理Bを実行して、CMYK画像データBを生成する。すなわち、この場合には、S125にて生成されるCMYK画像データCと、S145にて生成されるCMYK画像データBと、の2個のCMYK画像データが生成される。
S150では、CPU210は、プレビュー画面PWを表示部240に表示する。図6は、プレビュー画面PWの一例を示す図である。プレビュー画面PWは、印刷画像Bを示すプレビュー用の画像SIbと、印刷画像Cを示すプレビュー用の画像SIcと、これらの2個の画像SIb、SIcの中から1個の画像の選択を促すメッセージMS1と、を含んでいる。CPU210は、CMYK画像データB、Cの各画素の値をRGB値に変換して、画像SIb、SIcを示す表示用データをそれぞれ生成し、該表示用データを用いて、プレビュー画面PWを表示する。画像SIbに含まれる合成オブジェクトCObbと、SIcに含まれる合成オブジェクトCObcとは、画質が互いに異なる可能性が高い。
ユーザは、例えば、プレビュー画面PWに含まれる2個の画像SIb、SIcの中から、より好ましい画質を有する画像を押下することによって、2個の画像SIb、SIcの中から1個の画像を選択する選択指示を入力する。この結果、CPU210は、プレビュー画面PWを介して、該選択指示を取得する。
S155では、CPU210は、プレビュー画面PWを介して取得された選択指示に基づいて、印刷に使用すべきCMYK画像データを選択する。画像SIbの選択指示が取得された場合には、画像SIbに対応するCMYK画像データBが、使用すべきCMYK画像データとして選択され、画像SIcの選択指示が取得された場合には、画像SIcに対応するCMYK画像データCが、使用すべきCMYK画像データとして選択される。印刷に使用すべきCMYK画像データを選択することは、互いに画質が異なる合成オブジェクトを含む印刷画像Bと印刷画像Cとから、印刷すべき画像を選択することに等しい。使用すべきCMYK画像データが選択されると、CMYK画像データ生成処理は、終了される。
A−4:ラスタライズ処理B
図5のS120、S145のラスタライズ処理Bについて説明する。図7は、ラスタライズ処理Bのフローチャートである。S200では、CPU210は、対象画像データIDに含まれる複数個のオブジェクトデータOD1〜OD3の中から、1個の注目オブジェクトデータを選択する。以下、注目オブジェクトデータによって示されるオブジェクトを注目オブジェクトとも呼ぶ。
図5のS120、S145のラスタライズ処理Bについて説明する。図7は、ラスタライズ処理Bのフローチャートである。S200では、CPU210は、対象画像データIDに含まれる複数個のオブジェクトデータOD1〜OD3の中から、1個の注目オブジェクトデータを選択する。以下、注目オブジェクトデータによって示されるオブジェクトを注目オブジェクトとも呼ぶ。
S205では、CPU210は、注目オブジェクトデータが、透明オブジェクトを示す透明オブジェクトデータであるか否かを判断する。注目オブジェクトデータが、透明グループに属している場合には、注目オブジェクトデータは、透明オブジェクトデータであると判断される。例えば、図4の例では、オブジェクトデータOD1、OD2は、透明オブジェクトデータであり、第3のオブジェクトデータOD3は、透明オブジェクトデータではない。以下、注目オブジェクトデータが、透明オブジェクトデータである場合に、該注目オブジェクトデータが属する透明グループを、注目透明グループとも呼ぶ。
注目オブジェクトデータが透明オブジェクトデータではない場合には(S205:NO)、S210にて、CPU210は、注目オブジェクトデータをラスタライズして、注目オブジェクトを示すラスタデータを生成する。ラスタライズ後のオブジェクトデータ(すなわち、ラスタデータ)の各画素の値は、ラスタライズ前のオブジェクトデータに含まれる色空間情報によって示される色空間の色値である。S120のラスタライズ処理Bでは、各画素の値は、CMYK値とは異なる値、例えば、RGB値やLab値であり、S145のラスタライズ処理Bでは、各画素の値は、CMYK値である場合もあり、CMYK値とは異なる値である場合もある。
S215は、S210にて生成されたラスタデータの色空間が、CMYK色空間でない場合に実行され、該色空間がCMYK色空間である場合には実行されない。S215では、CPU210は、S210にて生成されたラスタデータの色空間を、CMYK色空間に変換する。すなわち、該ラスタデータの各画素値(RGB値やLab値)がCMYK値に変換される。RGB値からCMYK値への変換は、例えば、RGB値とCMYK値との対応関係を規定する公知のルックアップテーブルを用いて実行される。Lab値からCMYK値への変換は、例えば、公知の計算式を用いて、Lab値をRGB値に変換した後、変換後のRGB値を公知のルックアップテーブルを用いてCMYK値に変換することによって行われる。S210、S215にて、注目オブジェクトを示すCMYK画像データが生成される。該CMYK画像データが生成されると、S250に処理が進められる。
注目オブジェクトデータが透明オブジェクトデータである場合には(S205:YES)、S220にて、CPU210は、上記のS210と同様に、注目オブジェクトデータをラスタライズして、注目オブジェクトを示すラスタデータを生成する。
S225は、S220にて生成されたラスタデータの色空間が、RGB色空間でない場合に実行され、該色空間がRGB色空間である場合には実行されない。S225では、CPU210は、S220にて生成されたラスタデータの色空間を、RGB色空間に変換する。すなわち、該ラスタデータの各画素値(CMYK値やLab値)がRGB値に変換される。Lab値をRGB値へ変換する処理は、例えば、公知の計算式を用いて行われる。
CMYK値(Ci、Mi、Yi、Ki)をRGB値(Ro、Go、Bo)へ変換する処理は、成分値Ci、Mi、Yi、Ki、Ro、Go、Boが、0〜255の256階調の値である場合に、例えば、以下の式(1)〜(3)を用いて実行される。
Ro=255−min{255、(Ci+Ki)} …(1)
Go=255−min{255、(Mi+Ki)} …(2)
Bo=255−min{255、(Yi+Ki)} …(3)
ここで、min{A、B}は、AおよびBのうちの最小値を意味する。
Go=255−min{255、(Mi+Ki)} …(2)
Bo=255−min{255、(Yi+Ki)} …(3)
ここで、min{A、B}は、AおよびBのうちの最小値を意味する。
ここで、図5のS120のラスタライズ処理Bは、注目透明グループに属する透明オブジェクトデータの色空間がCMYK色空間を含まない場合(S110:NO)に実行される。このために、図5のS120のラスタライズ処理Bでは、S225にて、CMYK値をRGB値へ変換する色変換処理が実行されることはない。これに対して、図5のS145のラスタライズ処理Bは、注目透明グループに属する透明オブジェクトデータの色空間がCMYK色空間を含む場合(S110:YES)に実行される。このために、図5のS145のラスタライズ処理Bでは、少なくとも1個の透明オブジェクトデータについて、S225にて、CMYK値をRGB値へ変換する色変換処理が実行される。
S230では、CPU210は、注目透明グループに属する全てのオブジェクトデータを処理したか否かを判断する。図4の透明グループTGが注目透明グループである場合には、2個の透明オブジェクトデータOD1、OD2の両方が処理されたか否かが判断される。未処理のオブジェクトデータがある場合には(S230:NO)、CPU210は、S235にて、未処理のオブジェクトデータを注目オブジェクトデータとして選択して、S220に戻る。注目透明グループに属する全てのオブジェクトデータを処理した場合には(S230:YES)、CPU210は、S240に処理を進める。
S240に処理が進められた時点で、注目透明グループに属する全てのオブジェクトデータのラスタデータとして、RGB値で画素ごとの色を示す複数個のRGB画像データであって、複数個の透明オブジェクトを示す複数個のRGB画像データが生成されている。S240では、CPU210は、透明グループに属する全てのオブジェクトデータについてそれぞれ生成されたRGB画像データを合成する合成処理を実行して、1個の合成オブジェクトを示すRGB画像データを生成する。すなわち、S240では、RGB色空間にて、合成処理が行われる。合成処理は、各オブジェクトデータに含まれる透過度データを用いて、実行される。例えば、注目透明グループが、図4の透明グループTGである場合には、透過度データTD1、TD2を用いて、第1のオブジェクトOb1を示すRGB画像データと、第2のオブジェクトOb2を示すRGB画像データと、が合成される。その結果、図3の合成オブジェクトCObを示すRGB画像データが生成される。具体的な合成処理は、例えば、αブレンドとも呼ばれる公知の計算方法を用いて実行される。この計算方法は、PDFについてのISO規格であるISO 32000-1:2008(Document management -- Portable document format -- Part 1: PDF 1.7)の11章「Transparency」に記載されている。
S245では、CPU210は、S240にて生成された合成オブジェクトを示すRGB画像データの色空間を、RGB色空間からCMYK色空間に変換する色変換処理を実行する。この結果、合成オブジェクトを示すCMYK画像データが生成される。すなわち、該RGB画像データの各画素のRGB値が、CMYK値に変換される。この色変換処理は、例えば、上述したルックアップテーブルを用いて実行される。
S250では、CPU210は、S210、S215にて生成された注目オブジェクトを示すCMYK画像データ、または、S245にて生成された合成オブジェクトを示すCMYK画像データを、生成すべき対象画像に対応するキャンバス上に配置する。
S255では、CPU210は、対象画像データIDに含まれる全てのオブジェクトデータが処理されたか否か、すなわち、全てのオブジェクトデータがCMYK画像データに変換され、対象画像を示す1個のCMYK画像データが完成したか否かを判断する。未処理のオブジェクトデータがある場合には(S255:NO)、CPU210は、S200に戻る。全てのオブジェクトデータが処理された場合には(S255:YES)、CPU210は、ラスタライズ処理Bを終了する。
以上の説明から解るように、ラスタライズ処理Bでは、複数個の透明オブジェクトデータを用いて、複数個の透明オブジェクトを示す複数個のRGB画像データが生成され(S220〜S235)、該複数個のRGB画像データが合成されて、合成オブジェクトを示すRGB画像データが生成される(S240)。そして、合成オブジェクトを示すRGB画像データが、色変換処理によって、CMYK画像データに変換される(S245)。
A−5:ラスタライズ処理C
図5のS125のラスタライズ処理Cについて説明する。図8は、ラスタライズ処理Cのフローチャートである。S300では、CPU210は、図7のS200と同様に、対象画像データIDに含まれる複数個のオブジェクトデータOD1〜OD3の中から、1個の注目オブジェクトデータを選択する。
図5のS125のラスタライズ処理Cについて説明する。図8は、ラスタライズ処理Cのフローチャートである。S300では、CPU210は、図7のS200と同様に、対象画像データIDに含まれる複数個のオブジェクトデータOD1〜OD3の中から、1個の注目オブジェクトデータを選択する。
S305では、CPU210は、図7のS205と同様に、注目オブジェクトデータが、透明オブジェクトを示す透明オブジェクトデータであるか否かを判断する。
注目オブジェクトデータが透明オブジェクトデータではない場合には(S305:NO)、S310にて、CPU210は、図7のS210と同様に、注目オブジェクトデータをラスタライズして、注目オブジェクトを示すラスタデータを生成する。
S315は、図7のS215と同様に、S310にて生成されたラスタデータの色空間が、CMYK色空間でない場合に実行され、該色空間がCMYK色空間である場合には実行されない。S315では、CPU210は、図7のS215と同様に、S310にて生成されたラスタデータの色空間を、CMYK色空間に変換する。S310、S315にて、注目オブジェクトを示すCMYK画像データが生成される。該CMYK画像データが生成されると、S350に処理が進められる。
注目オブジェクトデータが透明オブジェクトデータである場合には(S305:YES)、S320にて、CPU210は、上記のS310と同様に、注目オブジェクトデータをラスタライズして、注目オブジェクトを示すラスタデータを生成する。
S325は、上記のS315と同様に、S320にて生成されたラスタデータの色空間が、CMYK色空間でない場合に実行され、該色空間がCMYK色空間である場合には実行されない。S325では、CPU210は、S320にて生成されたラスタデータの色空間を、CMYK色空間とは異なる色空間(例えば、RGB色空間やCIELAB色空間)からCMYK色空間に変換する。すなわち、該ラスタデータの画素の値が、RGB値やLab値から、CMYK値に変換される。3個の成分値を含むRGB値やLab値から、4個の成分値を含むCMYK値への変換は、色値に含まれる成分値の個数が増加するので、変換によって情報が失われる可能性は低い。したがって、この色変換処理では、画質が変化する可能性は低い。
S330では、CPU210は、注目透明グループに属する全てのオブジェクトデータを処理したか否かを判断する。未処理のオブジェクトデータがある場合には(S330:NO)、CPU210は、S335にて、未処理のオブジェクトデータを注目オブジェクトデータとして選択して、S320に戻る。注目透明グループに属する全てのオブジェクトデータを処理した場合には(S330:YES)、CPU210は、S337に処理を進める。
S337に処理が進められた時点で、注目透明グループに属する全てのオブジェクトデータのラスタデータとして、複数個の透明オブジェクトを示す複数個のCMYK画像データが生成されている。S337では、CPU210は、K成分の評価値Rkを算出する。
K成分の評価値Rkを算出法について説明する。複数個の透明オブジェクトを示す複数個のCMYK画像データのそれぞれは、C、M、Y、Kの成分値に対応し、対応する成分値を画素ごとに示すC、M、Y、Kの各成分データを含んでいる。CPU210は、複数個のCMYK画像データのそれぞれのK成分の成分データを取得し、該成分データに含まれる複数個の画素のK成分の値の合計値K_totalをそれぞれ算出する。例えば、図4の透明グループTGが注目透明グループである場合には、オブジェクトデータOD1のCMYK画像データのK成分の値の合計値K_total_1と、オブジェクトデータOD2のCMYK画像データのK成分の値の合計値K_total_2と、が算出される。
CPU210は、さらに、複数個のCMYK画像データの画素数の合計値P_totalをそれぞれ算出する。例えば、図4の透明グループTGが注目透明グループである場合には、オブジェクトデータOD1のCMYK画像データの画素数の合計値P_total_1と、オブジェクトデータOD2のCMYK画像データの画素数の合計値P_total_2と、が算出される。
CPU210は、複数個のCMYK画像データのそれぞれについて算出されたK成分の値の合計値K_totalの総和K_sumを、複数個のCMYK画像データのそれぞれについて算出された画素数の合計値P_totalの総和P_sumで除した値を、K成分の評価値Rkとして算出する(Rk=(K_sum/P_sum))。図4の透明グループTGが注目透明グループである場合には、K_sum=(K_total_1+K_total_2)であり、P_sum=(P_total_1+P_total_2)であるので、{(K_total_1+K_total_2)/(P_total_1+P_total_2)}が、K成分の評価値Rkとして算出される。このK成分の評価値Rkは、1画素辺りのK成分の量を示す値、と言うことができる。
S340では、CPU210は、透明グループに属する全てのオブジェクトデータについてそれぞれ生成されたCMYK画像データを合成する合成処理を実行して、1個の合成オブジェクトを示すCMYK画像データを生成する。すなわち、S340では、CMYK色空間にて、合成処理が行われる。合成処理は、RGB色空間での合成処理(図7のS240)と同様に、各オブジェクトデータに含まれる透過度データを用いて、実行される。例えば、処理対象のオブジェクトデータが、図4の透明グループTGである場合には、には、透過度データTD1、TD2を用いて、第1のオブジェクトOb1を示すCMYK画像データと、第2のオブジェクトOb2を示すCMYK画像データとが、合成される。その結果、図3の合成オブジェクトCObを示すCMYK画像データが生成される。具体的な合成処理は、RGB色空間での合成処理(図7のS240)と同様に、例えば、上述したαブレンドとも呼ばれる公知の計算方法を用いて実行される。
S350では、CPU210は、S310、S315にて生成された注目オブジェクトを示すCMYK画像データ、または、S340にて生成された合成オブジェクトを示すCMYK画像データを、生成すべき対象画像に対応するキャンバス上に配置する。
S355では、CPU210は、対象画像データIDに含まれる全てのオブジェクトデータが処理されたか否か、すなわち、全てのオブジェクトデータがCMYK画像データに変換され、対象画像を示す1個のCMYK画像データが完成したか否かを判断する。未処理のオブジェクトデータがある場合には(S355:NO)、CPU210は、S300に戻る。全てのオブジェクトデータが処理された場合には(S355:YES)、CPU210は、ラスタライズ処理Cを終了する。
以上の説明から解るように、ラスタライズ処理Cでは、複数個の透明オブジェクトデータを用いて、複数個の透明オブジェクトを示す複数個のCMYK画像データが生成され(S320〜S335)、該複数個のCMYK画像データが合成されて、合成オブジェクトを示すCMYK画像データが生成される(S340)。
A−6:画質差判定処理
図5のS135の画質差判定処理について説明する。図9は、画質差判定処理のフローチャートである。画質差判定処理は、上述したように、ラスタライズ処理Bが実行される場合に生成される印刷データによって示される印刷画像Bと、ラスタライズ処理Cが実行される場合に生成される印刷データによって示される印刷画像Cと、の間に生じる画質の差が、大きいか否かを判定する処理である。
図5のS135の画質差判定処理について説明する。図9は、画質差判定処理のフローチャートである。画質差判定処理は、上述したように、ラスタライズ処理Bが実行される場合に生成される印刷データによって示される印刷画像Bと、ラスタライズ処理Cが実行される場合に生成される印刷データによって示される印刷画像Cと、の間に生じる画質の差が、大きいか否かを判定する処理である。
S400では、CPU210は、判定の対象の合成オブジェクトのサイズ比SRを算出する。判定の対象の合成オブジェクトは、CMYK色空間が用いられる透明オブジェクトデータを含む透明グループに対応する合成オブジェクトである。すなわち、当該透明グループに属する複数個の透明オブジェクトデータを合成することによって生成された合成オブジェクトデータによって示される合成オブジェクトである。
例えば、該サイズ比SRは、対象画像OIの全体の面積に対する判定の対象の合成オブジェクトの面積の比率である。例えば、対象画像OIの全体の面積を示す値には、対象画像OIを構成する画素の総数が用いられ、合成オブジェクトの面積を示す値には、合成オブジェクトを構成する画素の総数が用いられる。なお、対象画像OIに複数個の判定の対象の合成オブジェクトが含まれる場合には、合成オブジェクトの面積を示す値には、例えば、複数個の判定の対象の合成オブジェクトの面積の合計が用いられる。
S410では、CPU210は、合成オブジェクトのサイズ比SRは、閾値TH1以上であるか否かを判断する。閾値TH1は、予め定められた値であり、例えば、20%〜50%の範囲内の値である。
サイズ比SRが、閾値TH1未満である場合には(S410:NO)、S430にて、CPU210は、印刷画像Bと印刷画像Cとの画質の差は、小さいと判定する。サイズ比SRが比較的小さい場合には、判定の対象の合成オブジェクトの画質の差があったとしても、印刷画像(対象画像OI)全体で見れば、目立たないと考えられるためである。
サイズ比SRが、閾値TH1以上である場合には(S410:YES)、S420にて、CPU210は、判定の対象の合成オブジェクトについて算出済みのK成分の評価値Rk(図8のS337)は、閾値TH2以上であるか否かを判断する。閾値TH2は、予め定められた値であり、例えば、CMYK画像データのK成分の値が、0〜255の256階調の値である場合に、50〜128の範囲内の値である。なお、対象画像OIに複数個の判定の対象の合成オブジェクトが含まれる場合には、例えば、該複数個の合成オブジェクトについてそれぞれ算出されたK成分の評価値Rkの平均値が、閾値TH2と比較される。
K成分の評価値Rkが、閾値TH2未満である場合には(S420:NO)、S430にて、CPU210は、印刷画像Bと印刷画像Cとの画質の差は、小さいと判定する。K成分の評価値Rkが、閾値TH2以上である場合には(S420:YES)、S440にて、CPU210は、印刷画像Bと印刷画像Cとの画質の差は、大きいと判定する。K成分の評価値Rkが大きいほど、印刷画像Bと印刷画像Cとの画質の差は、大きくなると、考えられるからである。以下に、その理由を説明する。
透明オブジェクトデータで用いられる色空間がCMYK色空間である場合に、ラスタライズ処理Bを採用し、該透明オブジェクトデータを用いる合成処理を、RGB色空間にて行うとする。すなわち、透明オブジェクトデータで用いられる色空間がCMYK色空間である場合に、ラスタライズ処理Bが採用されるとする。この場合には、該透明オブジェクトデータで用いられる色空間を、CMYK色空間からRGB色空間に変換する処理が必要となる。この変換処理では、上述した式(1)〜(3)から解るように、4個の成分値を含むCMYK値を、3個の成分値を含むRGB値に変換するので、色値に含まれる成分値の個数が減少する分、変換によって情報が失われる可能性がある。
より具体的には、K成分の値が比較的大きい場合には、上記の式(1)〜(3)に示すmin{255、(Ci+Ki)}、min{255、(Mi+Ki)}、min{255、(Yi+Ki)}の部分は、最大値255に固定されてしまう。この結果、K成分の値Kiが比較的大きい場合には、CMYK色空間からRGB色空間に変換すると、オブジェクトの画質が変化しやすい。これに対して、K成分の値が比較的小さい場合には、CMYK値は、C、M、Yの3種の成分値を含む色値であるCMY色空間の色値(CMY値とも呼ぶ)に近づく。CMY値は、RGB値と補色の関係にあるので、CMY値からRGB値に色変換を行っても画質は変化しがたい。したがって、K成分の値が比較的小さい場合には、CMYK色空間からRGB色空間に変換すると、オブジェクトの画質が変化し難い。
また、本実施例の合成処理の計算方法(いわゆるαブレンド)は、RGB色空間などの3個の成分値の色空間で行われることが想定されている。このために、RGB色空間にて、合成処理を行う場合と、CMYK色空間にて合成処理を行う場合とでは、合成オブジェクトの画質が異なる場合がある。特に、K成分の値が比較的大きい場合には、CMYK値は、該合成オブジェクトの画質の差が、比較的大きくなりやすいと考えられる。一方、K成分の値が比較的小さい場合には、CMYK値は、3個の成分値のCMY値に近づくので、合成オブジェクトの画質の差は、比較的小さくなると考えられる。
以上のことから、合成オブジェクトの生成に用いられる各透明オブジェクトを示すCMYK画像データのK成分の量を示す評価値Rkが閾値TH2以上である場合には、印刷画像Bと印刷画像Cとの画質の差は、比較的大きくなると考えられ、評価値Rkが閾値TH2未満である場合には、印刷画像Bと印刷画像Cとの画質の差は、比較的小さくなると考えられる。
以上説明した画質差判定処理によれば、印刷画像(対象画像OI)の面積に占める判定対象の合成オブジェクトの面積と、合成オブジェクトの生成に用いられる各透明オブジェクトを示すCMYK画像データのK成分の量と、を考慮して、印刷画像Bと印刷画像Cとの画質の差が大きいか否かを適切に判定することができる。
以上説明した本実施例によれば、CPU210は、第1のオブジェクトOb1と、第1のオブジェクトが印刷される際に、印刷される領域が第1のオブジェクトデータOD1と重なる重畳部分を含む第2のオブジェクトOb2と、を含む対象画像OI(図3)を示す対象画像データID(図4)を取得する(図2のS10)。CPU210は、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の少なくとも一方がCMYK色空間である特定の場合に、ラスタライズ処理Cを実行することによって生成されるCMYK画像データCを生成する(図5のS125)とともに、ラスタライズ処理Bを実行することによって生成されるCMYK画像データBを生成する(図5のS145)。CMYK画像データCは、第1のオブジェクトOb1と第2のオブジェクトOb2とがCMYK色空間において合成された第1の合成オブジェクトCObcを示す第1の合成オブジェクトデータを含む。また、CMYK画像データBは、第1のオブジェクトOb1と第2のオブジェクトOb2とがRGB色空間において合成された第2の合成オブジェクトCObbを示す第2の合成オブジェクトデータを含む。そして、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の少なくとも一方がCMYK色空間である特定の場合に、CPU210は、CMYK画像データBとCMYK画像データCとを用いて、これらの2種類のCMYK画像データによって示される2個の画像SIb、SIcを含むプレビュー画面PW(図6)を、表示部240に表示させる(図5のS150)。CPU210は、ユーザの指示に基づいて、2個の画像SIb、SIcに対応する2個の印刷画像B、Cから、印刷すべき印刷画像を選択する(図5のS155)。印刷すべき印刷画像を選択することは、換言すれば、印刷画像B、Cに含まれる互いに画質が異なる合成オブジェクトの中から、印刷すべき1個の合成オブジェクトを選択することである。この結果、ユーザの意図に沿った合成オブジェクトを含む印刷画像を印刷することができる。
より具体的に説明する。ラスタライズ処理Bでは、RGB色空間にて合成処理が行われるために、オブジェクトデータOD1、OD2の少なくとも一方の色空間をCMYK色空間からRGB色空間に変換する変換処理(図7のS225)が必要となる。また、この場合には、ラスタライズ処理Cでは、CMYK色空間にて合成処理が行われるため、当該変換処理は必要ない。当該変換処理は、上述したように、色成分の個数が減少する分、画質が変化しやすい。また、上述したように、合成処理が、RGB色空間で行われる場合と、CMYK色空間で行われる場合とでは、生成される合成オブジェクトの画質が変化し得る。これらのことから、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の少なくとも一方がCMYK色空間である場合には、ラスタライズ処理Bによって生成されるCMYK画像データBを用いて印刷される印刷画像Bと、ラスタライズ処理Cによって生成されるCMYK画像データCを用いて印刷される印刷画像Cと、の間で、互いに画質が異なり得る。本実施例では、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の少なくとも一方がCMYK色空間である特定の場合には、上述のように、プレビュー画面PWを、表示部240に表示させ、ユーザの指示に基づいて、2個の印刷画像B、Cから、印刷すべき印刷画像を選択する。この結果、ユーザの意図に沿った合成オブジェクトを含む印刷画像を印刷することができる。
さらに、具体的には、プレビュー画面PWが表示される特定の場合は、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の両方がCMYK色空間である場合であって(図5のS130:NO)、かつ、画質差判定処理(図5のS135)にて2個の印刷画像B、Cの画質の差が大きいと判定される場合(図5のS140:YES)、すなわち、2個の印刷画像B、Cに含まれる合成オブジェクト間の画質の差が大きいと判定される場合を含む。画質差判定処理では、ラスタライズ後の第1のオブジェクトデータOD1と第2のオブジェクトデータOD2とを用いて算出され、K成分の量を示す評価値RkがTH2以上である場合に(図9のS420:YES)、印刷画像B、Cの画質の差が大きいと判定される。換言すれば、CPU210は、該評価値Rkが、第1の値(具体的には閾値TH2以上の値)である場合には、プレビュー画面PWを表示させ、該評価値Rkが、第1の値よりK成分の量が少ないことを示す第2の値(具体的には閾値TH2未満の値)である場合には、プレビュー画面PWを表示させない。
第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の両方がCMYK色空間である場合には、基本的には、CMYK色空間にて合成処理を行うラスタライズ処理Cによって生成されるCMYK画像データCを用いて印刷することが好ましい場合が多いと考えられる。画質の観点からも計算時間を短縮する観点からも、CMYK色空間からRGB色空間への変換処理が発生しないことが好ましいからである。すなわち、この場合には、印刷画像Cが印刷されることが好ましい場合が多いと考えられる。ただし、2個の印刷画像B、Cの画質の差が大きい場合には、印刷画像Cが印刷されることが、ユーザの意図と異なる可能性もあるので、プレビュー画面PWを表示して、ユーザの選択に委ねることが好ましいと考えられる。本実施例では、上述のように、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の両方がCMYK色空間である場合には、2個の印刷画像B、Cの画質の差が大きいと判定される場合に限り、プレビュー画面PWが表示される。この結果、ユーザの意図に沿った合成オブジェクトを含む印刷画像を印刷できる。また、無駄にプレビュー画面PWが表示されることで、印刷が遅延することや、ユーザの負担が増加することを抑制できる。
さらに、本実施例では、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の両方がCMYK色空間であり(図5のS130:NO)、かつ、合成オブジェクトCObのサイズが、閾値TH2以上である(図9のS410:YES)特定の場合に、プレビュー画面PWを表示させ、合成オブジェクトCObのサイズが、閾値TH2未満である場合に(図9のS410:NO)、プレビュー画面PWを表示させない。この結果、合成オブジェクトCObのサイズが小さいために、画質の差が目立ち難い場合には、プレビュー画面PWを表示させないので、無駄にプレビュー画面PWが表示されることを、さらに抑制することができる。
さらに、プレビュー画面PWが表示される特定の場合は、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の一方がCMYK色空間であり、他方がCMYK色空間とは異なる色空間(例えば、RGB色空間)である場合(図5のS130:YES)を含む。
この場合には、一方のオブジェクトデータについてCMYK色空間からRGB色空間への変換処理が発生することを許容して、合成処理の計算方法が想定しているRGB色空間にて合成処理を行うことを優先させること(すなわち、ラスタライズ処理Bを採用すること)が好ましい場合もあると考えられる。また、CMYK色空間からRGB色空間への変換処理を行わないことを優先し、合成処理の計算方法が想定していないCMYK色空間にて合成処理を行うことを許容すること(すなわち、ラスタライズ処理Cを採用すること)が好ましい場合もあると考えられる。いずれが好ましいかは、判断が困難であるので、いずれを選択するかは、ユーザの意志に委ねることが好ましいと考えられる。本実施例では、この場合には、常に(画質差判定処理を行うことなく)プレビュー画面PWが表示されるので、よりユーザの意図に沿った合成オブジェクトを含む印刷画像を印刷することができる。
さらに、本実施例では、CPU210は、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータで用いられる色空間と、の両方が、CMYK色空間とは異なる色空間である場合に(S110:NO)、プレビュー画面PWを表示させない。
この場合には、CMYK色空間からRGB色空間への変換処理を行うことなく、合成処理の計算方法が想定しているRGB色空間にて合成処理を行うことができるので、RGB色空間にて合成処理を行うラスタライズ処理Bが採用されることが好ましいと考えられる。本実施例では、この場合には、プレビュー画面PWを表示させないので、無駄にプレビュー画面PWが表示されることを抑制することで、ユーザの負担の増大を抑制できる。
また、この場合には、プレビュー画面PWを表示させることなく、ラスタライズ処理Bが実行される(図5のS120)ので、適切な印刷画像を印刷することができる。
さらに、上記実施例では、CMYK色空間は、印刷に用いられる複数種の色材(例えば、インクやトナー)に対応する複数個の色成分を含む色空間であり、RGB色空間は、印刷に用いられる複数種の色材に対応しない複数種の色成分を含む色空間である。そして、CMYK画像データBは、RGB色空間にて合成された(図7のS240)後に、用いられる色空間をRGB色空間からCMYK色空間に変換されて、生成される(図7のS245)。この結果、最終的に、印刷に用いるためのCMYK画像データBを適切に生成することができる。
以上の説明から解るように、上記実施例のCMYK色空間は、第1の色空間の例であり、RGB色空間は、第2の色空間の例である。
C.変形例:
(1)上記実施例では、第1の色空間として、CMYK色空間が採用されているが、これに代えて、他の色空間が採用されても良い。例えば、印刷実行部280が、例えば、C、M、Y、Kのインクに加えて、ライトシアン(LC)、ライトマゼンタ(LM)、ライトイエロ(LY)のインクを用いて印刷を行う場合には、第1の色空間は、C、M、Y、K、LC、LM、LYの7種類の成分値を含む色空間であっても良い。また、第2の色空間として、RGB色空間に代えて、他の色空間、例えば、CIELAB色空間や、CIEXYZ色空間が採用されても良い。
(1)上記実施例では、第1の色空間として、CMYK色空間が採用されているが、これに代えて、他の色空間が採用されても良い。例えば、印刷実行部280が、例えば、C、M、Y、Kのインクに加えて、ライトシアン(LC)、ライトマゼンタ(LM)、ライトイエロ(LY)のインクを用いて印刷を行う場合には、第1の色空間は、C、M、Y、K、LC、LM、LYの7種類の成分値を含む色空間であっても良い。また、第2の色空間として、RGB色空間に代えて、他の色空間、例えば、CIELAB色空間や、CIEXYZ色空間が採用されても良い。
一般的に言えば、第1の色空間は、M個(Mは、2以上の整数)の色成分を用いて色を表現する色空間であることが好ましく、第2の色空間は、N個(Nは、M>Nを満たす整数)の色成分を用いて色を表現する色空間であることが好ましい。こうすれば、第1の色空間の色成分の数が、第2の色空間の色成分の数より多いことに起因して、第1の色空間から第2の色空間へとオブジェクトデータの色空間を変換する際に画質が変化し得る場合に、ユーザの意図に沿った合成オブジェクトを含む印刷画像を印刷することができる。
また、第1の色空間は、K成分を含む色空間であることが好ましく、第2の色空間は、K成分を含む色空間であることが好ましい。この場合には、画質差判定処理において、K成分の量を示す評価値Rkに基づいて、2個の印刷画像B、Cの画質の差に基づいて、プレビュー画面PWを表示させるか否かを適切に判定できる。
(2)上記実施例では、K成分の量を示す評価値として、透明オブジェクトにおける1画素辺りのK成分の量を示す値Rkが用いられているが、これに限られない。K成分の量を示す評価値は、対象画像OI全体における1画素辺りのK成分の量を示す値Rkbが用いられても良い。具体的には、この評価値Rkbは、上述したK成分の値の総和K_sumを、対象画像OIに含まれる全ての画素の総和Pb_sumで除した値であっても良い(Rkb=(K_sum/Pb_sum)))。この場合には、評価値Rkbは、対象画像OIに占める透明オブジェクトの面積が大きいほど大きくなる値であるので、図9の画質差判定処理において、サイズ比SRを用いた判定(図9のS410)を省略できる。
また、K成分の量を示す評価値として、例えば、複数個の透明オブジェクトを示すCMYK画像データデータにおいて、K成分の値が基準値(例えば、128)より大きな画素の個数が用いられても良い。
(3)上記実施例の評価値Rkに代えて、K成分とは異なる色成分の量を示す評価値が用いられても良い。一般的には、第1の色空間に含まれ、かつ、第2の色空間に含まれない特定の成分の量を示す評価値が算出されることが好ましい。
(4)上記実施例では、第1のオブジェクトデータOD1で用いられる色空間と、第2のオブジェクトデータOD2で用いられる色空間と、の一方がCMYK色空間であり、他方がCMYK色空間とは異なる色空間である場合には、常に、プレビュー画面PWが表示される。これに代えて、この場合であっても、CMYK色空間が用いられるオブジェクトデータによって示されるオブジェクトのK成分の評価値が、閾値以上である場合に限り、プレビュー画面PWを表示しても良い。
(5)上記実施例では、対象画像データは、PDFファイルであるが、他の形式の画像ファイルであっても良い。例えば、対象画像データには、αブレンドなどの合成処理を行うための透過度データを記録できる形式で記述された他の様々な画像ファイルであっても良い。例えば、対象画像データは、PNG(Portable Network Graphics)形式の画像ファイルであっても良いし、XPS(XML Paper Specification)形式の画像ファイルであっても良い。
(6)上記実施例では、ラスタライズ処理Bでは、RGB色空間にて合成処理が実行され、合成処理後のラスタデータの各画素の値は、最終的にCMYK色空間の色値(CMYK値)に変換される。これは、CMYKのインクを用いて印刷を行うための印刷データが最終的に生成されるためである。これに代えて、例えば、画像処理装置として、印刷装置200に代えて液晶ディスプレイなどの表示装置が採用される場合には、該表示装置は、該表示装置に画像を表示するための表示データとして、RGB画像データを最終的に生成する。この場合には、ラスタライズ処理Bでは、CMYK色空間の色値に変換する処理は行われない。また、この場合には、ラスタライズ処理Cでは、CMYK色空間にて合成処理が実行された後のラスタデータの各画素の値(CMYK値)が、RGB値に変換されても良い。
(7)上記実施例では、図9の画質差判定処理のS410において、判定の対象の合成オブジェクトCObのサイズ比が基準(閾値TH1)以上であるか否かを判定している。これに代えて、合成オブジェクトCObの合成に用いられた第1のオブジェクトOb1と第2のオブジェクトOb2の両方、または、一方の合成前のサイズ比が基準以上であるか否かが判定されても良い。この場合であっても、印刷画像A、Bにおいて合成オブジェクトCObの画質の差が目立つか否かを判定することができる。
(8)図2の印刷処理を実行する画像処理装置としての印刷装置200は、他の種類の装置、例えば、端末装置100であっても良い。この場合には、例えば、端末装置100は、ドライバプログラムを実行することによってプリンタドライバとして動作し、該プリンタドライバとしての機能の一部として図2の印刷処理を実行する。この場合には、プレビュー画面PWは、端末装置100の表示部(図示省略)に表示される。また、この場合には、端末装置100は、図2のS40にて生成される印刷データを、印刷装置200に供給することによって、印刷装置200に印刷を実行させる。
また、図2の印刷処理を実行する画像処理装置は、例えば、印刷装置200や端末装置100から対象画像データを取得して画像処理を実行するサーバであっても良い。このようなサーバは、ネットワークを介して互いに通信可能な複数個の計算機であっても良い。この場合には、ネットワークを介して互いに通信可能な複数個の計算機の全体が、画像処理装置に対応する。
(9)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の印刷装置200のCPU210が実行している処理の一部は、専用のハードウェア回路によって実現されてもよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100…端末装置、200…印刷装置、210…CPU、220…揮発性記憶装置、230…不揮発性記憶装置、240…表示部、250…操作部、255…最大値、270…通信インタフェース、280…印刷実行部、ID…対象画像データ、PG…コンピュータプログラム
Claims (8)
- 画像処理装置であって、
第1のオブジェクトと、前記第1のオブジェクトが出力される際に、出力される領域が前記第1のオブジェクトと重なる重畳部分を含む第2のオブジェクトと、を含む対象画像を示す対象画像データを取得する取得部であって、前記対象画像データは、前記第1のオブジェクトを示す第1のオブジェクトデータと、前記第2のオブジェクトを示す第2のオブジェクトデータと、を含み、前記第1のオブジェクトデータと前記第2のオブジェクトデータと、の少なくとも一方は、透過度を示す透過度データを含む、前記取得部と、
前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、をそれぞれ特定する特定部と、
前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、の少なくとも一方が第1の色空間である特定の場合に、前記第1のオブジェクトと前記第2のオブジェクトとが合成された第1の合成オブジェクトを示す第1の合成オブジェクトデータを生成する第1の生成部であって、前記第1の合成オブジェクトデータを生成する処理は、前記第1の色空間にて、前記第1のオブジェクトデータと前記第2のオブジェクトデータとを、前記透過度データを用いて合成する第1の合成処理を含み、前記第1の色空間は、M個(Mは、2以上の整数)の色成分を用いて色を表現する色空間である、前記第1の生成部と、
前記特定の場合に、前記第1のオブジェクトと前記第2のオブジェクトとが合成された第2の合成オブジェクトを示す第2の合成オブジェクトデータを生成する第2の生成部であって、前記第2の合成オブジェクトデータを生成する処理は、前記第2の色空間にて、前記第1のオブジェクトデータと前記第2のオブジェクトデータとを、前記透過度データを用いて合成する第2の合成処理を含み、前記第2の色空間は、N個(Nは、M>Nを満たす整数)の色成分を用いて色を表現する色空間である、前記第2の生成部と、
前記特定の場合に、前記第1の合成オブジェクトデータと、前記第2の合成オブジェクトデータと、を用いて、前記第1の合成オブジェクトと、前記第2の合成オブジェクトと、を含む複数個の合成オブジェクトを表示部に表示させる表示制御部と、
ユーザの指示に基づいて、前記複数個の合成オブジェクトの中から1個の出力オブジェクトを選択する選択部と、
前記1個の出力オブジェクトを含む画像を示す出力画像データを出力する出力部と、
を備える画像処理装置。 - 請求項1に記載の画像処理装置であって、さらに、
前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、の両方が前記第1の色空間である場合に、前記第1のオブジェクトデータと前記第2のオブジェクトデータとのうちの少なくとも一方を用いて算出される評価値であって、前記第1のオブジェクトと前記第2のオブジェクトとのうちの少なくとも一方に含まれる前記第1の色空間の特定の色成分の量を示す前記評価値を決定する第1の決定部を備え、
前記表示制御部は、前記評価値が、第1の値である場合には、前記複数個の合成オブジェクトを前記表示部に表示させ、前記評価値が、前記第1の値より前記特定の色成分の量が少ないことを示す第2の値である場合には、前記複数個の合成オブジェクトを前記表示部に表示させない、画像処理装置。 - 請求項1または2に記載の画像処理装置であって、
前記表示制御部は、前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、の一方が前記第1の色空間であり、他方が前記第1の色空間とは異なる色空間である場合に、前記複数個の合成オブジェクトを前記表示部に表示させる、画像処理装置。 - 請求項1〜4のいずれかに記載の画像処理装置であって、
前記表示制御部は、前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、の両方が、前記第1の色空間とは異なる色空間である場合に、前記複数個の合成オブジェクトを前記表示部に表示させない、画像処理装置。 - 請求項1〜4のいずれかに記載の画像処理装置であって、
前記第1の色空間は、印刷に用いられる複数種の色材に対応する複数種の色成分を含む色空間であり、
前記第2の色空間は、前記印刷に用いられる前記複数種の色材に対応しない複数種の色成分を含む色空間であり、
前記第2のオブジェクトデータの生成処理は、前記第2の合成処理の後に、用いられる色空間を前記第2の色空間から前記第1の色空間に変換する処理を含む、画像処理装置。 - 請求項1〜5のいずれかに記載の画像処理装置であって、さらに、
前記表示制御部は、
前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、の少なくとも一方が第1の色空間であり、かつ、前記第1のオブジェクトと前記第2のオブジェクトと前記第1の合成オブジェクトのうちの少なくとも1つのサイズ、または、前記第の合成オブジェクトのサイズが、基準以上である前記特定の場合に、前記複数個の合成オブジェクトを前記表示部に表示させ、
前記第1のオブジェクトと前記第2のオブジェクトと前記第1の合成オブジェクトのうちの少なくとも1つのサイズが前記基準未満である場合に、前記複数個の合成オブジェクトを前記表示部に表示させない、画像処理装置。 - 請求項1〜6のいずれかに記載の画像処理装置であって、
前記第1の色空間は、CMYK色空間であり、
前記第2の色空間は、RGB色空間である、画像処理装置。 - コンピュータプログラムであって、
第1のオブジェクトと、前記第1のオブジェクトが出力される際に、出力される領域が前記第1のオブジェクトと重なる重畳部分を含む第2のオブジェクトと、を含む対象画像を示す対象画像データを取得する取得機能であって、前記対象画像データは、前記第1のオブジェクトを示す第1のオブジェクトデータと、前記第2のオブジェクトを示す第2のオブジェクトデータと、を含み、前記第1のオブジェクトデータと前記第2のオブジェクトデータと、の少なくとも一方は、透過度を示す透過度データを含む、前記取得機能と、
前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、をそれぞれ特定する特定機能と、
前記第1のオブジェクトデータで用いられる色空間と、前記第2のオブジェクトデータで用いられる色空間と、の少なくとも一方が第1の色空間である特定の場合に、前記第1のオブジェクトと前記第2のオブジェクトとが合成された第1の合成オブジェクトを示す第1の合成オブジェクトデータを生成する第1の生成機能であって、前記第1の合成オブジェクトデータを生成する処理は、前記第1の色空間にて、前記第1のオブジェクトデータと前記第2のオブジェクトデータとを、前記透過度データを用いて合成する第1の合成処理を含み、前記第1の色空間は、M個(Mは、2以上の整数)の色成分を用いて色を表現する色空間である、前記第1の生成機能と、
前記特定の場合に、前記第1のオブジェクトと前記第2のオブジェクトとが合成された第2の合成オブジェクトを示す第2の合成オブジェクトデータを生成する第2の生成機能であって、前記第2の合成オブジェクトデータを生成する処理は、前記第2の色空間にて、前記第1のオブジェクトデータと前記第2のオブジェクトデータとを、前記透過度データを用いて合成する第2の合成処理を含み、前記第2の色空間は、N個(Nは、M>Nを満たす整数)の色成分を用いて色を表現する色空間である、前記第2の生成機能と、
前記特定の場合に、前記第1の合成オブジェクトデータと、前記第2の合成オブジェクトデータと、を用いて、前記第1の合成オブジェクトと、前記第2の合成オブジェクトと、を含む複数個の合成オブジェクトを表示部に表示させる表示制御機能と、
ユーザの指示に基づいて、前記複数個の合成オブジェクトの中から1個の出力オブジェクトを選択する選択機能と、
前記1個の出力オブジェクトを含む画像を示す出力画像データを出力する出力機能と、
をコンピュータに実現させる、コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017011721A JP2018121222A (ja) | 2017-01-25 | 2017-01-25 | 画像処理装置、および、コンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017011721A JP2018121222A (ja) | 2017-01-25 | 2017-01-25 | 画像処理装置、および、コンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018121222A true JP2018121222A (ja) | 2018-08-02 |
Family
ID=63045457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017011721A Pending JP2018121222A (ja) | 2017-01-25 | 2017-01-25 | 画像処理装置、および、コンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018121222A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023036181A1 (zh) * | 2021-09-10 | 2023-03-16 | 北京字跳网络技术有限公司 | 一种图像处理方法及装置 |
-
2017
- 2017-01-25 JP JP2017011721A patent/JP2018121222A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023036181A1 (zh) * | 2021-09-10 | 2023-03-16 | 北京字跳网络技术有限公司 | 一种图像处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8526061B2 (en) | Image processing apparatus, image processing method, and computer program product | |
US8467093B2 (en) | Image processing apparatus and computer program product storing image and print setting information associated with index used to suppress toner consumption | |
US8724171B2 (en) | Method of compressing color reproduction range and profile creation device using same | |
CN102035993B (zh) | 图像处理器、图像形成系统以及图像处理方法 | |
US20090168108A1 (en) | Image processing device, image processing method, and recording medium | |
JP2009069680A (ja) | 画像処理装置及びプログラム | |
US10101951B2 (en) | Image processing apparatus and image processing method that increase a width of a line constituting a white character in image data in a printing color saving mode | |
JP4793185B2 (ja) | 画像処理装置およびプログラム | |
US9715362B2 (en) | Print controlling apparatus, image forming apparatus, method of controlling print, method of image forming and computer-readable recording medium | |
JP2010288250A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
US9218552B2 (en) | Image processing apparatus and image processing method | |
US11157223B2 (en) | Color conversion method, color conversion device and program | |
JP6464695B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
JP2018121222A (ja) | 画像処理装置、および、コンピュータプログラム | |
JP6794821B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
JP7077451B2 (ja) | 画像形成装置および画像形成装置の制御方法、ならびにプログラム | |
US8576453B2 (en) | Method of printing document based on black optimization printing option and image forming apparatus and host device to perform the same | |
US9344602B2 (en) | Apparatus, printing apparatus, control method of printing, and storage medium | |
JP5012871B2 (ja) | 画像処理装置、画像形成装置、及び画像処理プログラム | |
JP2006260532A (ja) | 画像処理装置及び画像処理方法 | |
JP6844248B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
JP2006260533A (ja) | 画像処理装置及び画像処理方法 | |
US10306104B2 (en) | Image processing method and image processing apparatus that ensure efficient memory use, and recording medium therefor | |
JP4835735B2 (ja) | 画像処理装置、及び画像処理プログラム | |
JP2015114490A (ja) | 画像処理装置および画像処理方法ならびにプログラム |