JP4018245B2 - 画像処理方法、装置および記録媒体 - Google Patents
画像処理方法、装置および記録媒体 Download PDFInfo
- Publication number
- JP4018245B2 JP4018245B2 JP17713198A JP17713198A JP4018245B2 JP 4018245 B2 JP4018245 B2 JP 4018245B2 JP 17713198 A JP17713198 A JP 17713198A JP 17713198 A JP17713198 A JP 17713198A JP 4018245 B2 JP4018245 B2 JP 4018245B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- color
- images
- processing
- processing method
- 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
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Description
【発明の属する技術分野】
本発明は画像処理を行う画像処理方法、装置および記録媒体に関するものである。
【0002】
【従来の技術】
画像データに基づく出力画像をプリンタやディスプレイにて良好に出力する場合、出力画像を構成する複数のオブジェクトの各々に対し、オブジェクトの種類に応じた色補正処理、色変換処理、二値化処理等の色処理を行うことが必要となる。一般にコンピュータアプリケーションによって作成された画像の印刷やディスプレイへの表示はアプリケーションからの描画命令群をデバイスドライバあるいはデバイスが描画命令を画像化し、ページ全体の画像データを作成して印刷、表示を行なう。
【0003】
ドキュメントを構成する描画命令群は、バイスドライバに対してたとえば写真画像部分はイメージ描画命令、テキスト部分はテキスト描画命令、グラフィックス部分はグラフィックス描画命令が発行され、デバイスドライバは命令の種類ごとにそのオブジェクトに適した色処理を行ない、出力デバイスの出力可能な画像に変換する。
【0004】
この時、グラフィックス部分には「鮮やかさ優先の色処理」、テキスト部分は「測色的一致」、写真部分は「色み優先の色処理」のようにカラーマッチング処理を切り替え、ページ全体の全てのオブジェクトで良好な出力を得る事ができる。
【0005】
近年、システムやアプリケーションによっては、それらオブジェクトに対して「ソースカラースペース」の指定が行なわれ、デバイスドライバはその指定内容を使用して、より高品位な出力を得ることが可能になっている。これは例えばスキャナ入力画像がドキュメントに貼られた場合、その画像のイメージ描画命令にスキャナのデバイス特性を記述したカラープロファイルを指定したり、あるいはディスプレイ上でカラーキャリブレーション等を行なった場合、編集者の見た目の色を再現するために使用したモニタの特性を記述したカラープロファイルを指定することができる。これらのカラープロファイルは例えばICCプロファイルであり、これを利用できるシステムとしてMicrosoft社WindowsのICM, Apple社のColorSyncなどが知られている。
【0006】
また、写真画像において、オリジナルの画像イメージ自体が劣悪であった場合には、当然美しい高品位の出力を得る事ができない。例えば近年普及したデジタルカメラで撮影した画像なども露出が不適当であったとすれば、画像レタッチソフトを用いて、原稿画像の露出を補正する非線形色バランス処理等の画像補正処理を行っている。
【0007】
【発明が解決しようとする課題】
メモリの使用効率と処理速度を最適化をしようとする比較的高級なアプリケーションにおいては図8のように大きなイメージを内部的に分割して複数のイメージ描画命令で処理する事がある。例えばAdobe PhotoShop v4.0などでこの処理が行われていることが良く知られている。
【0008】
したがって、例えば原稿画像の露出を補正する処理などの原稿画像の色分布に応じて処理条件を求める処理をオブジェクト画像毎に行おうとすると、以下のような問題が生じる。
【0009】
本来1つのイメージに対してアプリケーションによって内部的に分割されたパーツ毎に異なった色処理条件が設定されてしまい、出力画像において各パーツの境界に色調の不連続が生じてしまう場合がある。
【0010】
本発明は上述の点に鑑みてなされたものであり、本来1つのオブジェクトに対しては同一の色処理条件を設定することにより良好な出力画像を得ることができるようにすることを目的とする。
【0011】
また、原稿画像の露出を補正する非線形色バランス処理等の画像補正処理を自動的に設定する場合は、原稿画像の色分布を解析することが必要である。従来は、処理の高速化をはかるために、画像条件にかかわらず一定のサンプリング条件により画像データをサンプリングしていた。しかしながら、様々な画像データサイズの画像が入力される昨今のシステムにおいて従来の方法を用いると、画像データのサンプル数が足りず最適な処理条件を設定することができない、または画像データのサンプリング数が多くなりすぎ処理時間に時間がかかるという問題が生じる。すなわち、従来の方法では、最適な処理条件の設定を効率的に設定することができない。
【0012】
本願請求項7の発明は、さらに、サンプリング条件を画像データサイズに応じて設定することにより、色処理条件を効率よく求められるようにすることを目的とする。
【0013】
【課題を解決するための手段】
上記目的を達成するために本願請求項1記載の発明は、入力画像に含まれるイメージ画像に応じた色処理を行う画像処理方法であって、複数のイメージ画像を示す画像データを入力し、前記複数のイメージ画像間の関係を解析し、前記解析結果に基づき1つのイメージ画像から分割された複数のイメージ画像をグループ化し、前記グループ化された複数のイメージ画像の色分布を求め、前記求められた色分布に応じて前記グループ化された複数のイメージ画像に対する色処理条件を設定し、前記グループ化された複数のイメージ画像を示す前記画像データに対して、前記色処理条件を用いて色処理を行うことを特徴とする。
【0014】
本願請求項7記載の発明は、さらに、前記イメージ画像のサイズに基づきサンプリング条件を設定し、前記設定されたサンプリング条件で前記イメージ画像の画像データをサンプリングし、該イメージ画像の記ヒストグラムを作成することを特徴とする。
【0015】
【発明の実施の形態】
(第1の実施形態)
以下、図面を参照して本発明に係る発明の実施の形態の一例を詳細に説明する。本実施形態におけるシステムの概略の1例を図1に示す。
【0016】
ホストコンピュータ100には、例えばインクジェットプリンタなどのプリンタ105とモニタ106が接続されている。ホストコンピュータ100は、ワープロ、表計算、インターネットブラウザ等のアプリケーションソフトウエア101と、該アプリケーションによってOS102に発行される出力画像を示す各種描画命令群(イメージ描画命令、テキスト描画命令、グラフィックス描画命令)を処理して印刷データを作成するプリンタドライバ103、アプリケーションが発行する各種描画命令群を処理してモニタ106に表示を行なうモニタドライバ104、およびドライバがアプリケーションの要求に応じてカラーマッチング処理を行うカラーマッチングモジュール111をソフトウエアとして持つ。
【0017】
ホストコンピュータ100は、これらソフトウエアが動作可能な各種ハードウエアとして中央演算処理装置CPU108、ハードディスクドライバHD107、ランダムアクセスメモリRAM109、リードオンリーメモリROM110等を備える。
【0018】
図1で示される実施形態として、例えば一般的に普及しているIBM ATコンパチのパーソナルコンピュータにMicrosoft Windows95をOSとして使用し、任意の印刷可能なアプリケーションをインストールし、モニタとプリンタを接続した形態が1実施形態として考えられる。
【0019】
ホストコンピュータ100では、モニタに表示された表示画像にもとづき、アプリケーション101で、文字などのテキストに分類されるテキストデータ、図形などのグラフィックスに分類されるグラフィックスデータ、自然画などに分類されるイメージ画像データなどを用いて出力画像データを作成する。そして、出力画像データを印刷出力するときには、アプリケーション101からOS102に印刷出力要求を行ない、グラフィックスデータ部分はグラフィックス描画命令、イメージ画像データ部分はイメージ描画命令で構成される出力画像を示す描画命令群をOS102に発行する。OS102はアプリケーションの出力要求を受け、出力プリンタに対応するプリンタドライバ103に描画命令群を発行する。プリンタドライバ103はOS102から入力した印刷要求と描画命令群を処理しプリンタ105で印刷可能な印刷データを作成してプリンタ105に転送する。プリンタ105がラスタープリンタである場合は、プリンタドライバ103では、OSからの描画命令を順次RGB24ビットページメモリにラスタライズし、全ての描画命令をラスタライズした後にRGB24ビットページメモリの内容をプリンタ105が印刷可能なデータ形式、例えばCMYKデータに変換を行ないプリンタに転送する。
【0020】
次に、プリンタドライバ103で行われる印刷処理について説明する。
【0021】
プリンタドライバ103で行われる印刷処理には、大別すると以下の5つの処理がある。
【0022】
(1)識別処理
OS102から入力したオブジェクト画像の描画命令の種類を判別することにより、該描画命令で示されるオブジェクトが写真画像部分、テキスト部分グラフィックス部分のいずれであるかを識別する。
【0023】
(2)画像補正処理
画像補正処理は撮影条件などの影響によって崩れている色バランスを補正する。
【0024】
写真画像に対して輝度のヒストグラムを作成し、非線形色バランス補正条件を求める。そして、該写真画像に対して非線形色バランス補正を行うことにより写真画像の色バランス、コントラスト、彩度を良好に補正する。
【0025】
以下、図11〜13を用いて画像補正処理方法を説明する。
【0026】
本実施形態の画像補正処理では色バランス補正とコントラスト補正および彩度補正処理を行う。
【0027】
(色バランス補正)
画像の中からハイライトポイントとシャドーポイントを決定する。その際は、例えば、入力信号の各色信号R,G,Bの重み付け加算した明度信号について累積度数ヒストグラムを作成し、その累積度数ヒストグラムにおいて、予め設定した所定の累積度数に対応する明度信号の上限値をハイライトポイント、下限値をシャドーポイントとして決定する。
【0028】
画像のハイライトポイント及びシャドーポイントの明度を有する画素の色差信号(C1,C2)
C1=R−Y
C2=B−Y
を格納する。そして、その平均値をそれぞれハイライトポイントの色差量(C1(HL),C2(HL))、シャドーポイントの色差量(C1(SD),C2(SD))とする。
【0029】
このハイライトポイントの色差量及びシャドーポイントの色差量によって図12(b)に示すように、入力された画像の色立体軸I(、即ち、無彩色軸)を推測することができる。
【0030】
色バランスがずれていない理想的な画像の色立体は図12(a)に示すように色立体軸Iが明度軸Yに合っている。
【0031】
よって、本実施形態の色バランス補正では、入力されたオブジェクト画像の色立体軸I(ハイライト及びシャドーポイントで定義される)を明度軸Yに変換する回転行列及び平行移動量を求め、該回転行列及び平行移動量を用いて入力されたオブジェクト画像を補正することにより入力された画像の色バランスを補正する。
【0032】
なお、回転行列は回転軸とその角度が決まれば簡単に求めることができる。
【0033】
図12のように入力画像の各画素の(C1,C2,Y)を3次元色空間忠で変換し図12(c)のような(C1’,C2’,Y’)にする。このようにして、該画像の色バランスを3次元の色空間中で補正する。
【0034】
(コントラスト及び彩度の調整)
次にコントラスト及び彩度の調整について説明する。つまり該画像の露出オーバー・アンダーを簡易的に判定し、それに応じて輝度信号にガンマをかける方法を説明する。
【0035】
コントラストの調整は、該画像の露出状態に応じたガンマ補正によりシャドーポイントの輝度を“0”あるいはそれに近い値(例えば“10”)、ハイライトポイントの輝度を“255”あるいはそれに近い値(例えば“245”)に調整する。該画像の露出のオーバー・アンダーを簡易的に判定しそれに応じたガンマをかける際の一実施例を示す。
【0036】
まず、画像の色立体軸と輝度軸の最小距離となる点、つまり図12(b)におけるT,T’を求める。これは幾何学的な関係から簡単に求めることができる。
【0037】
そして、T’がTとなるようにコントラストを調整する。つまり図13に示すように(T,T’)を変曲点としY’がT’より小さい場合は直線aでY”に補正し、T’より大きい場合は直線bによってY”に補正する。なお、該画像の軸が輝度軸と並行になる場合などは、T自体がナンセンスとなるので、このような特殊なケースはI2で補正すればよい。
【0038】
このT,T’による補正の効果は、とくに露出のオーバーあるいはアンダーの画像に作用すると考えられる。露出がオーバーになるのは空などの明るいところに全体が引っ張られるわけだが、この際デジタルカメラを代表する入力機器では、高輝度色抑圧が行われ、高輝度部の彩度がおとされる。
【0039】
すなわち、該画像の色立体軸を図14(a)に示すように、彩度と輝度を軸とする2次元平面で考えると高輝度の部分で、もっとも無彩色に近いところがあらわれる。
【0040】
逆に、アンダーの画像に対しては低輝度色抑圧がかかるため図12(b)のようになる。従って、このT,T’の値によって簡易的に該画像がオーバーなのか、アンダーなのか判定できる。
【0041】
また、実際の画像で色立体の輝度軸を輝度−彩度平面で考えると露出オーバーの画像に関しては例えば、図14(c)のようになる。逆にアンダーの画像に関しては例えば、図14(d)のようになる。
【0042】
そもそも本来あるべき(理想的な状態の)色立体からなんらかの撮影状況や入力時(A/D変換時)の影響で、実際の色立体がずれるのだと考えれば、T,T’の位置がもっともズレの小さい場所と考えられる。従って、本実施形態はこれを戻してやることで簡易的に適切なグレー、つまり全体の明るさ補正を行うものである。
【0043】
彩度調整は、非常に簡単に行うことができ、例えば、彩度を20%あげる場合は
C1”=1.2×C1’
C2”=1.2×C2’
という処理を行うことにより彩度補正を行うことができる。これは、
【0044】
【外1】
で定義されることによる。
【0045】
なお、彩度調整の度合いは、プリンタドライバのユーザーインターフェース上で設定されたユーザの指示に基づき決定されるようにしても構わない。
【0046】
以上説明したように、本願実施形態の画像補正処理は輝度色差空間上で行う。
【0047】
したがって、画像補正処理で用いる補正パラメータは、入力したRGB信号を輝度色差信号に変換するパラメータ1と、輝度色差空間上で色バランス補正、コントラスト補正、彩度補正を行うパラメータ2と、輝度色差信号をRGB信号に変換するパラメータ3に基づき作成される3次元LUTである。
【0048】
パラメータ2は、色バランス補正で説明した回転行列、コントラスト補正で説明した図13に示すような輝度成分を変換するテーブル、そして彩度補正で説明した色バランス補正された色差信号を補正する係数で構成される。
【0049】
そして、回転行列および輝度成分を変換するテーブルは、オブジェクト画像の輝度成分のヒストグラムに基づき求められる。
【0050】
(3)カラーマッチング処理
描画命令に含まれる入力色情報に応じたソースプロファイルと、プリンタに対応するプリンタプロファイルを用いてカラーマッチングモジュール111により行われ、入力色情報をプリンタに依存したプリンタ色情報に変換する。
【0051】
入力プロファイルは、描画命令の関数のヘッダ部分にプロファイルが付加されている場合は、付加されているプロファイルを用いる。プロファイルが付加されていない場合は、ホストコンピュータ100において設定されているシステムモニタに対応するプロファイルを用いたり、またはプリンタドライバによって設定に応じたプロファイルを用いる。
【0052】
プリンタの色再現範囲はモニタの色再現範囲に比べて狭い。したがって入力色情報で示される色をプリンタで忠実に再現できない場合がある。そこで、カラーマッチング処理では入力色情報が示す画像の種類に応じたカラーマッチング処理方法を用いて入力色情報をプリンタの色再現範囲内の色を示すプリンタ色情報に変換する。
【0053】
カラーマッチング処理方法としては、「色み優先(perceptual)」、「鮮やかさ優先(Saturation)」、「測色的一致(Colorimetric)」という3つの方法をサポートしている。
【0054】
「色み優先」は、写真部分に適したカラーマッチング処理方法であり、画像の色あい及び色の階調性を重視し、プリンタの色再現範囲外の色の階調を保存するように画像全体をプリンタの色再現範囲内にマッピングする。
【0055】
「鮮やかさ優先」はグラフィック部分に適したカラーマッチング処理方法であり、画像が有する鮮やかな色の再現を重視し、プリンタの色再現範囲外の色の彩度成分をできるだけ保存するようにプリンタの色再現範囲内にマッピングする。
【0056】
「測色的一致」はユーザがアプリケーション上で特定色を指定することにより生成される文字やロゴ等のテキスト画像に適したカラーマッチング処理である。このカラーマッチング処理方法では特定色を忠実に再現すべく色差(ΔE)を最小にするようにマッピングする。
【0057】
(4)ラスタライズ処理
画像補正処理およびカラーマッチング処理が行われた色情報に基づき描画命令からプリンタの解像度に応じたRGBラスターデータを生成し、RGB24ビットページメモリに順次ラスタライズする。
【0058】
(5)プリンタ用色処理
RGBラスターデータに対して輝度/濃度変換処理、マスキング処理、ガンマ処理、N値化処理を行い、プリンタで使用する記録剤CMYKに応じたCMYKデータに変換する。
【0059】
以下、図面を用いて本願実施形態にかかるプリンタドライバの処理の流れについて図2及び図3を用いて説明する。
【0060】
プリンタドライバは印刷ページイメージを構成する印刷データ(描画命令群)をアプリケーション、あるいはOSに2回要求する。1回目、2回目の要求に対して、アプリケーションはページを出力するのに必要な全ての描画命令群セットを発行する。
【0061】
図2は1回目の印刷データ処理フローを示し、図3は2回目の処理フローを示す。
【0062】
1回目の印刷データ処理フローにおいて印刷データの解析を行ない画像補正処理に必要な情報を収集し、画像補正処理実行の準備を行なう。2回目の印刷データ処理フローにおいて、先に準備した画像補正処理実行の準備結果を用いて、イメージ描画命令のうち画像補正処理が必要と判定された部分にのみ画像補正処理を行なうとともに、カラーマッチング補正処理を行い、描画命令をページメモリにラスタライズし、印刷画像を作成してプリンタに転送する。
【0063】
図3が示す1回目の印刷データ処理フローについて説明する。
【0064】
S10にてアプリケーションあるいはOSから1つづつ描画命令を受け取り、S20にて描画命令の内容の解析を行ない、該描画命令で示されるオブジェクト画像の種類の識別を行う。描画命令がテキストやグラフィックスなどイメージ描画命令と異なる場合には、該オブジェクト画像の種類が写真でないと判断しS30に進み、1回目の処理フローにおいては何も行なわず(S40)、S100に進む。
【0065】
S20にて印刷データがイメージ描画命令であった場合はS50に進む。本実施形態で使用する画像補正処理は撮影条件などの影響によって崩れている色バランスを補正する処理であるため、対象となるのは写真画像である。一般的に写真画像は24ビットRGBのオブジェクト画像である事が多く、それより小さなビット深さ(例えば、8ビットパレット)のイメージ画像は原画が写真でない場合が多く、補正処理の対象として適切でない。このためS60にてイメージ描画命令の関数のヘッダを参照し、イメージのビット深さが24ビット以上である場合のみS70に進み、それ以外は処理対象外と判定してS100に進む。
【0066】
次にS70においてイメージ描画命令の関数のヘッダを参照し、Intentの指定を受けていた場合はその値を参照し、自然画写真に適正とされる「色み優先」のIntentが指定されていた場合に処理対象としてS80に進む。しかしながら、画像のビット深さが24ビットであっても例えば「測色的一致」が指定されている場合は画像内容は会社のロゴであったり、また「彩度優先」が指定されている場合は、インターネットのホームページにあるjpeg画像のバナーイメージであったりして、自然画写真ではない場合があるため処理対象外としてS100に進む。
【0067】
次にS80にてイメージ描画命令によって渡されたオブジェクト画像の内容のサンプリングを行なう。本実施形態で使用する補正ロジックではオブジェクト画像の輝度ヒストグラムの概要が得られれば十分であるため、ある程度以上の大きさを持つオブジェクト画像である場合、その全ての画素をサンプリングする必要はなく、ある程度間引きしながらのサンプリングを行なっても結果の品位は変わらない。従って、S80にてオブジェクト画像の大きさから判定して、サンプリングの間引き率を求め、間引きサンプリングを行なう事で処理速度を速くする。
【0068】
例えばオブジェクト画像のサイズが100x100ピクセルであれば全ての画素をサンプリングして輝度ヒストグラムを作成するが、200x200ピクセルであるならば、1ラインおきに処理し、さらに各処理ラインにおいても1画素おきにサンプリングする。
【0069】
例えば、オブジェクト画像の幅をW、高さをHとし、縦横の間引き率をSkipX, SkipYとした場合、
SkipX = (W / 100) + 1
SkipY = (H / 100) + 1
のような方法で間引き率を得る事ができる。
【0070】
間引き率の求め方はこれに特定するものでは無く、使用する補正ロジックに適した値を適用すれば良い。
【0071】
次にS90にて、RAMに図4に示すテーブル〔 〕に1つエントリを作成し、S80で作成したサンプリング処理結果と、イメージ描画命令に含まれていた描画命令情報を格納する。
【0072】
テーブル〔 〕に格納される描画命令情報ImageInfoの内容の例を図5に示す。
【0073】
ImageInfoの内容はイメージ描画命令が指示したオブジェクト画像の描画位置X, Y,幅 W,高さ H、オブジェクト画像のビット深さ、CMSによって指定されたSource Color Space情報およびCMSによって指定されたカラーマッチング Intent指定値等である。
【0074】
該ImageInfoに含まれるSource Color Space情報の内容の例を図6に示す。
【0075】
Source Color Spaceの内容はオブジェクト画像のRGB24ビット値が想定するガンマ値、ホワイトポイント値、および該RGB24ビット値が依存する特性を示す各種情報が格納されているICCプロファイルである。
【0076】
S100にて全ての描画命令に対して上述の処理が終了するまで、S10からS100の処理を繰り返し、全ての印刷データの処理が終了したらS110に進む。
【0077】
S110に到った時には、図4に示すテーブルに出力ページに含まれる画像補正処理対象のオブジェクト画像を示すイメージ描画命令の数だけエントリが作成されている。各々のエントリには各オブジェクト画像の描画命令情報ImageInfoとサンプリング情報HistInfoが格納されている。S110ではテーブルの全てのエントリの描画命令情報ImageInfoを相互に比較判定して、アプリケーションによって1つのイメージを分割して複数のイメージ描画命令になっている物のグループ化を行なう。
【0078】
アプリケーションで作成されたドキュメントの1例を図8に示す。この例では1つのテキストオブジェクト、2つのグラフィックスオブジェクト、6つのイメージオブジェクトによってページが構成されている。
【0079】
このうち、テキストオブジェクトとグラフィックスオブジェクトは、図2ーS20においてS30へ分岐されておりテーブルにエントリが作成されていない。また、図8イメージ1は8ビットパレットイメージであるため、図3ーS60の判定でNOと判定され、テーブルにエントリが作成されていない。イメージ2、3、4、5、6の計5つのイメージ描画命令は図3-S80に進み、テーブルにエントリが作成されている。
【0080】
すなわち、図8に示されたページでは、図2−S110に到った時には、テーブルに計5つのエントリが作成されている。
【0081】
図8のアプリケーションの使用者はドキュメント作成時に3つのイメージを貼り込んでおり、1つはイメージ1であり、1つはアプリケーションによって内部的にイメージ2とイメージ3に分割された物であり、1つはアプリケーションによって内部的にイメージ4、イメージ5、イメージ6に分割された物である。
【0082】
アプリケーションによっては貼り込まれたオブジェクト画像をそのまま内部的にも1つのオブジェクト画像として扱い、出力時も1つのイメージ描画命令を発行する物も多い。しかしメモリの使用効率と処理速度を最適化をしようとする比較的高級なアプリケーションにおいては図8のように大きなイメージを内部的に分割して複数のイメージ描画命令で処理する事がある。例えばAdobe PhotoShop v4.0などでこの処理が行われていることが良く知られている。
【0083】
本実施形態では、補正処理対象イメージ描画命令に対して独立にヒストグラムを作成しているので、図8のページの場合図2-S110に到った時には、本来1つのイメージに対して、アプリケーションによって内部的に分割されたパーツ毎に異なったヒストグラムが作成されてしまう。
【0084】
例えば図8の「風景」の写真部分においては、イメージ4部分は「明るい空」が多く、イメージ6部分は「暗い地面」が多い。それぞれのヒストグラムの結果から導き出される補正パラメータはおのずと異なった物となってしまう。
【0085】
したがって、各ヒストグラムから補正パラメータを求め画像補正を行った場合、各パーツに対して異なった補正パラメータを用いて画像補正処理を施すことになる。この結果、出力画像において本来1つのイメージであるはずの領域において、各パーツの境目に色調のずれが生じる場合がある。
【0086】
本来1つのイメージに対して、アプリケーションが内部的に分割したパーツ毎にバラバラな補正処理を行うことは出力画像の画質の点から不適当である。
【0087】
この弊害を避けるためにはイメージ4、イメージ5、イメージ6が、元は1つのイメージオブジェクト画像であり、それぞれがその構成要素の一部を成すグループである事を認識し、該グループのヒストグラムを合成することが必要である。そして、該グループの複数のヒストグラムを合成し、グループ全体に対する合成ヒストグラムを得、該合成ヒストグラムからグループ全体に適用する補正パラメータを算出し、グループ全体に対して同じ1つの補正パラメータによる画像補正処理を行なう必要がある。
【0088】
S110によってテーブルに格納されたエントリのグループ化を行なう方法は様々な方法が考えられる。
【0089】
簡単な1例を上げる。テーブルの全てのエントリのImageInfoを相互に参照し、描画位置情報X,Y,W,Hから判定して互いに隣接すると判定されたエントリを同じグループと判定する。
【0090】
例えば図9のイメージ4とイメージ5は、それぞれのXとW値が一致し、かつイメージ4のY+Hとイメージ5のYが一致するので、お互いが上下に隣接している事が分かる。同様にイメージ5とイメージ6も上下に隣接することも分かり、結果として、イメージ4、イメージ5、イメージ6は1つのグループとして見た目に1つ画像を構成していると判定できる。
【0091】
図9にこの判定結果として、グループIDが確定したテーブルの内容を示す。
【0092】
インデックス0、1は図8のイメージ2、3のエントリであり、両者は同じグループID=0が設定されるインデックス2、3、4、は図8のイメージ4、5、6であり、同じグループID=1が設定される。
【0093】
この判定により、tableには5つのエントリがあるが、グループは2つに分類される。
【0094】
グループ化を行なう他の方法として、画像位置以外にも、ImageInfoのビット深さの一致を条件に追加したり、指定されたSource Color Spaceの一致をさらに条件に追加する事でより厳密なグループ化が可能である。
【0095】
例えば、アプリケーションの使用者によって、サイズの等しい2つのオブジェクト画像をたまたま上下に隣接してドキュメントのレイアウトが行なわれた場合、描画位置情報だけでグループ化を行なうと2つの別のイメージが1つのグループと判定されてヒストグラムの合成が行なわれ、適切な補正パラメータが得られない場合がある。しかしながら、それら2つのオブジェクト画像が異なる入力デバイスから得られた場合には、例えば1つにはA社のデジタルカメラのSource Color Spaceが指定されており、またもう1つにはB社のスキャナのSource Color Spaceが指定されている。したがって、指定されたSource Color Spaceの一致を判定することにより、別の独立したイメージである事を認識できる。
【0096】
他のグループ化認識方法としては、例えばプリンタドライバがイメージ分割を行なうアプリケーションの名前の一覧をデータベースとして備え、印刷時に印刷を行なっているアプリケーションの名前を取り出し、イメージ分割を行なわないアプリケーションである場合にはグループ化を行なわない方法もある。
【0097】
他のグループ化認識方法としては、例えば、印刷画像をプレビュウ画面としてモニタに表示し、グループ化の結果をユーザの目で確認して、誤認識がある場合にはユーザの手作業で明示的に各イメージのグループIDを指定させるインターフェイスを備える事が考えられる。印刷画像をプレビュウ画面に出す手法に関しては、市場製品であるCanon BJ Printer Driverへの印刷出力をプレビュウしテキスト部分の色をユーザが変更するためのアプリケーションである「ColorAdvisor」の手法が一般的に良く知られている。
【0098】
他のグループ化認識方法として、アプリケーションによっては分割したイメージが隣接ではなく相互にのりしろ部分を持って重なり合っている例があるので、これに対応するために、ImageInfoの描画位置情報から判定して「相互に重なっている部分がある場合には同じグループに属する」とする方法もある。
【0099】
グループ化の方法は使用するアプリケーションに応じて任意に切り換えてもよく、分割されたイメージの各パーツのエントリに同じグループIDを割りつけられる方法であれば、どのような手法であっても構わない。
【0100】
S110において、例えば図9のグループIDのようにグループ化処理が完了したら、次にS110において、同じグループIDを持つサンプリング情報HistInfoの合成処理を行う。サンプリング情報の合成処理では、同一の輝度に対する頻度情報を単に加算する。例えば、グループID=0を有するインデックス0と1のエントリがそれぞれ図10のHistgram1とHistgram2をHistInfo内の「輝度ヒストグラム」に持っていた場合、2つのヒストグラムを合成して図10ののHistgram0(HistInfo0)を得る。
【0101】
この結果、テーブルのインデックス0と1は合成されて同じ内容のサンプリング情報HistInfo0を持つようになる(図9)。
【0102】
同様にインデックス2、3、4の3つのヒストグラムも合成され、3者とも合成された同じ内容のサンプリング情報HistInfo1を持つようになる(図9)。
【0103】
次にS130において、グループ化されたイメージの輝度ヒストグラムから、上述した画像補正処理で用いる補正パラメータを算出し、算出結果をテーブルのエントリのHistInfoに格納する。
【0104】
以上で、図3に示す第1回目の印刷データ処理フローを終了し、プリンタドライバはOSあるいはアプリケーションに第2回目の印刷データ送信を依頼する。
【0105】
第2回目の印刷データ処理フローを図3に示す。
【0106】
第1回目の印刷データ処理フロー同様にS200にてアプリケーションあるいはOSから1つづつ印刷データ(描画命令)を受け取り、S210にて描画命令の内容の解析を行ない、描画命令がテキストやグラフィックスなどイメージ描画命令でない場合には、S220、S260へと進みオブジェクトの種別に応じたカラーマッチング処理を行ない、S270にてページメモリにラスタライズする。
【0107】
S210にてイメージ描画命令の場合は、S230へ進む。
【0108】
S240において、該イメージ描画命令がテーブルにエントリされたオブジェクトであるか否かを、その描画位置、オブジェクト画像のビット深さ、ColorSpace情報、Intent値をテーブルのエントリのImageInfoに格納した情報と比較し、全てが一致する物を検索する。エントリに登録されていない場合は、S260に進みカラーマッチング処理を行ない、S270にてページメモリにラスタライズする。
【0109】
S240においてテーブルに一致エントリが存在した場合、S250に進む。S250においてImageInfoがすべて一致するテーブルのエントリが持つHistInfoに格納された補正処理パラメータを使用し、イメージ描画命令によって描画要求されたオブジェクト画像に対して画像補正処理を行う。
【0110】
S250において、補正処理の施されたオブジェクト画像に対してS260において写真に対応するカラーマッチング処理である「色味優先」のカラーマッチング処理を行ない、S270にてページメモリにラスタライズする。
【0111】
S280にて全ての印刷データの処理が行なったか否かの判定を行ない、ページ全部の印刷データの処理が終わるまで前記S200ーS280の処理を繰り返す。
【0112】
S280にて全ての印刷データの処理が終了したと判定されると、次にS290に進み、ページメモリに作成された印刷画像データに対してプリンタ用色処理を行い、プリンタが出力可能な画像に変換する。
【0113】
S300にてプリンタが出力可能な画像に変換された印刷画像をプリンタの処理可能な印刷データに加工して転送する。これは通常ラスタープリンタでは1ラスタラインづつデータ圧縮を行ない簡単なプリンタコマンドにパックして転送する。
【0114】
(第2の実施形態)
実施形態1では、印刷処理におけるカラーマッチング処理をプリンタドライバの色処理の1つとして行っている。本実施形態では、色編集などを行うアプリケーション101がカラーマッチングモジュールを用いて入力画像にカラーマッチング処理を行う場合の処理を説明する。
【0115】
アプリケーションにおいて、入力画像に対して予めカラーマッチング処理が行われていることは、ユーザがアプリケーションを用いて画像に対して色補正を完成させていると考えられる。したがって、プリンタにおいて画像補正処理およびカラーマッチング処理を行うことは、ユーザが満足した色補正を崩す可能性があり不適切である。
【0116】
そこで、本実施形態では、プリンタドライバが入力したオブジェクト画像を示す描画命令の関数のヘッダに、すでにカラーマッチング処理が行われていることを示す情報が含まれている時は、該オブジェクト画像に対して第1の実施形態で説明した画像補正処理およびカラーマッチング処理を行わないようにする。
【0117】
第2の実施形態によれば、アプリケーションで行われた色処理に基づきプリンタドライバの色処理を制御することができ、高品質の画像を出力することができる。
【0118】
(変形例)
上記実施形態では画像補正処理としてヒストグラムに基づく画像補正処理(色バランス補正、コントラスト補正、彩度補正)を行っているが、本願実施形態におけるサンプリング処理方法およびグループ化処理方法は他の画像処理にも適用することができる。
【0119】
たとえば、本願実施形態ではプロファイルに予め格納されているカラーマッチング方法を用いてカラーマッチング処理を行っているが、カラーマッチング処理条件を入力画像に応じて動的に作成することも特開平04-260121に提案されている。本願実施形態におけるサンプリング処理方法およびグループ化処理方法を動的に入力画像に応じたカラーマッチング処理方法を設定する際に適用することにより、良好なカラーマッチング処理条件を高率良く求めることができる。
【0120】
また、上記実施形態ではアプリに2回印刷要求を出しているが、本発明はこれに限らず、1回目の印刷要求で入力した描画命令を記憶し、2回目の印刷要求を必要としないようにしても構わない。
【0121】
また、上記実施形態ではプリンタドライバ内で画像補正処理を行う形態を説明したが、本発明をモニタドライバで行うことも当然可能である。さらには、上記画像補正処理を色修正アプリケーションで行うことも可能である。
【0122】
また、上記実施形態ではプリンタドライバとしてラスタードライバを用いて説明したが、ポストスクリプトなどのページ記述言語対応のプリンタドライバにも適用することができる。
【0123】
また、本発明は複数の機器(たとえばホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても一つの機器(たとえば複写機、ファクシミリ装置)からなる装置に適用してもよい。
【0124】
また、上記実施形態では明度のヒストグラムを作成したが、輝度などの他の明るさを示す成分に基づきヒストグラムを作成しても構わない。
【0125】
また、上記実施形態のカラーマッチング処理において描画関数のヘッダ部分にプロファイルが付加されていると述べたが、描画関数のヘッダ部分には単にメモリに格納されているプロファイルを読み出すための情報が格納されているだけでも構わない。
【0126】
また、プリンタドライバのユーザインターフェイス上から上記画像補正処理を行うか否かマニュアルで指示できるようにしても構わない。
【0127】
また前述した実施形態の機能を実現する様に各種のデバイスを動作させる様に該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前記実施形態機能を実現するためのソフトウエアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)を格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも本発明の範疇に含まれる。
【0128】
またこの場合、前記ソフトウエアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。
【0129】
かかるプログラムコードを格納する記憶媒体としては例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM,、磁気テープ、不揮発性のメモリカード、ROM等を用いることが出来る。
【0130】
またコンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0131】
更に供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【0132】
【発明の効果】
本発明によれば、本来1つのオブジェクトに対してはオブジェクト全体の色分布に応じて設定された色処理条件を用いて色処理を行うことができ、良好な出力画像を得ることができる。
【0133】
本願請求項7の発明によれば、さらに、サンプリング条件を画像データサイズに応じて設定することにより、色処理条件を効率よく求めることができる。
【図面の簡単な説明】
【図1】システムの構成の1例を示すブロック図。
【図2】 1回目の印刷データ処理フローを示すフローチャート。
【図3】 2回目の印刷データ処理フローを示すフローチャート。
【図4】テーブルの構成例を示す図。
【図5】 Image Info値の構成例を示す図。
【図6】 Source Color Spaceの構成例を示す図。
【図7】 Histgram Info値の構成例を示す図。
【図8】入力画像の1例を示す図。
【図9】 1回目の処理フロー終了時のテーブルの1例を示す図。
【図10】ヒストグラムの合成処理を説明する図。
【図11】ハイライト/シャドーの輝度の求め方を説明する図。
【図12】色バランス補正の原理を説明する図。
【図13】コントラスト調整を説明する図。
【図14】輝度−彩度平面でみた露出オーバー/アンダーの特徴を説明する図。
Claims (11)
- 入力画像に含まれるイメージ画像に応じた色処理を行う画像処理方法であって、
複数のイメージ画像を示す画像データを入力し、
前記複数のイメージ画像間の関係を解析し、前記解析結果に基づき1つのイメージ画像から分割された複数のイメージ画像をグループ化し、
前記グループ化された複数のイメージ画像の色分布を求め、
前記求められた色分布に応じて前記グループ化された複数のイメージ画像に対する色処理条件を設定し、
前記グループ化された複数のイメージ画像を示す前記画像データに対して、前記色処理条件を用いて色処理を行うことを特徴とする画像処理方法。 - さらに、前記各イメージ画像ごとにヒストグラムを作成し、
前記グループ化の結果に基づき、複数のヒストグラムを合成することを特徴とする請求項1記載の画像処理方法。 - 前記イメージ画像は描画命令で示され、
前記解析は前記描画命令のヘッダ情報に基づき行うことを特徴とする請求項1記載の画像処理方法。 - 前記解析は、イメージ画像の描画位置情報に基づき行うことを特徴とする請求項1乃至3のいずれかに記載の画像処理方法。
- 前記解析は、イメージ画像のビット深さに基づき行うことを特徴とする請求項1乃至4のいずれかに記載の画像処理方法。
- 前記解析は、イメージ画像の色空間に基づき行うことを特徴とする請求項1乃至4のいずれかに記載の画像処理方法。
- 前記イメージ画像のサイズに基づきサンプリング条件を設定し、
前記設定されたサンプリング条件で前記イメージ画像の画像データをサンプリングし、該イメージ画像の記ヒストグラムを作成することを特徴とする請求項2記載の画像処理方法。 - 画像データは描画命令で示され、該描画命令に含まれるヘッダ情報に基づき画像データサイズを求めることを特徴とする請求項7記載の画像処理方法。
- 前記オブジェクト画像が写真画像であるか判別し、
前記写真画像であると判別されたオブジェクト画像に対して、前記色処理を行うことを特徴とする請求項1乃至8のいずれかに記載の画像処理方法。 - 請求項1乃至9のいずれかに記載の画像処理方法をコンピュータにて実現するためにプログラムが記録されている記録媒体。
- 入力画像に含まれるイメージ画像に応じた色処理を行う画像処理装置であって、
複数のイメージ画像を示す画像データを入力する手段と、
前記複数のイメージ画像間の関係を解析し、前記解析結果に基づき1つのイメージ画像から分割された複数のイメージ画像をグループ化する手段と、
前記グループ化された複数のイメージ画像の色分布を求める手段と、
前記求められた色分布に応じて前記グループ化された複数のイメージ画像に対する色処理条件を設定する手段と、
前記グループ化された複数のイメージ画像を示す前記画像データに対して、前記色処理条件を用いて色処理を行う手段とを有することを特徴とする画像処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17713198A JP4018245B2 (ja) | 1998-06-24 | 1998-06-24 | 画像処理方法、装置および記録媒体 |
US09/336,987 US6791711B1 (en) | 1998-06-24 | 1999-06-21 | Image processing method, image processing apparatus, and recording medium |
US10/894,012 US7321450B2 (en) | 1998-06-24 | 2004-07-20 | Image processing method, image processing apparatus, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17713198A JP4018245B2 (ja) | 1998-06-24 | 1998-06-24 | 画像処理方法、装置および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000013622A JP2000013622A (ja) | 2000-01-14 |
JP4018245B2 true JP4018245B2 (ja) | 2007-12-05 |
Family
ID=16025728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17713198A Expired - Fee Related JP4018245B2 (ja) | 1998-06-24 | 1998-06-24 | 画像処理方法、装置および記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4018245B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3619143B2 (ja) | 1999-11-18 | 2005-02-09 | キヤノン株式会社 | 画像処理装置およびその方法 |
JP4920814B2 (ja) * | 2000-04-27 | 2012-04-18 | キヤノン株式会社 | 画像処理方法、装置および記録媒体 |
US8243325B2 (en) * | 2005-07-08 | 2012-08-14 | Xerox Corporation | Method for prepress-time color match verification and correction |
JP4995772B2 (ja) * | 2008-06-12 | 2012-08-08 | 富士フイルム株式会社 | 画像再現システム及び方法 |
DE102009046594A1 (de) | 2009-11-10 | 2011-05-12 | Manroland Ag | Verfahren zur Regelung eines Druckprozesses |
US9002109B2 (en) * | 2012-10-09 | 2015-04-07 | Google Inc. | Color correction based on multiple images |
-
1998
- 1998-06-24 JP JP17713198A patent/JP4018245B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000013622A (ja) | 2000-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6791711B1 (en) | Image processing method, image processing apparatus, and recording medium | |
US6954288B2 (en) | Image-processing method, image-processing device, and storage medium | |
US6608926B1 (en) | Image processing method, image processing apparatus and recording medium | |
JP4368880B2 (ja) | 画像処理装置、画像形成装置、画像処理方法、画像処理プログラム、コンピュータ読み取り可能な記録媒体 | |
JP5032911B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4725057B2 (ja) | 画質調整情報の生成および画質調整情報を用いた画質調整 | |
US6469805B1 (en) | Post raster-image processing controls for digital color image printing | |
AU2002300994B2 (en) | Method and Apparatus for Processing Image Data, Storage Medium and Program | |
US7310167B2 (en) | Color converting device emphasizing a contrast of output color data corresponding to a black character | |
JP5116393B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2001216498A (ja) | 画像信号処理方法、画像信号処理装置及び画像信号処理プログラムを記録した媒体 | |
US20080062484A1 (en) | Image processing device and image processing method | |
US20100182620A1 (en) | Image processing device and image processing method | |
JP2008160306A (ja) | 結合ルックアップテーブルを生成する方法、画像処理装置、画像形成装置 | |
JP4466565B2 (ja) | 出力画像データ生成装置および出力画像データ生成方法 | |
JP2001292331A (ja) | 画像処理方法及び装置、画像処理システム及び記録媒体 | |
JP4018245B2 (ja) | 画像処理方法、装置および記録媒体 | |
JP3950551B2 (ja) | 画像処理方法、装置および記録媒体 | |
JP4581999B2 (ja) | 画像処理装置および画像処理方法 | |
JP3990816B2 (ja) | 画像処理方法、装置および記録媒体 | |
JP4095234B2 (ja) | 画像処理方法、装置および記録媒体 | |
JP2004336521A (ja) | 画像処理方法、画像処理装置及び画像記録装置 | |
JP4150490B2 (ja) | 画像処理システムおよび画像処理方法および記録媒体 | |
JP4112413B2 (ja) | 画像処理装置、画像形成装置、画像処理方法、画像処理プログラム、及び画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2003234916A (ja) | 画像処理装置、画像処理方法、印刷装置、画像処理プログラムおよび画像処理プログラムを記録した媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050328 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050901 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070920 |
|
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: 20100928 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100928 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110928 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110928 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120928 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120928 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130928 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |