JP2004236201A - Image processor and image processing method - Google Patents

Image processor and image processing method Download PDF

Info

Publication number
JP2004236201A
JP2004236201A JP2003024963A JP2003024963A JP2004236201A JP 2004236201 A JP2004236201 A JP 2004236201A JP 2003024963 A JP2003024963 A JP 2003024963A JP 2003024963 A JP2003024963 A JP 2003024963A JP 2004236201 A JP2004236201 A JP 2004236201A
Authority
JP
Japan
Prior art keywords
profile
image
correction
input
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.)
Withdrawn
Application number
JP2003024963A
Other languages
Japanese (ja)
Inventor
Yasuo Fukuda
康男 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003024963A priority Critical patent/JP2004236201A/en
Publication of JP2004236201A publication Critical patent/JP2004236201A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Processing Of Color Television Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enable correction information to be left while storing an original image and to facilitate reproduction of the image. <P>SOLUTION: A method of image processing includes: receiving an image and a profile related to the image (S1201); determining a color conversion equivalent to the correction to be applied to the image (S1202, S1203); creating a correction profile resulting from compositing the received profile with the color conversion (S1204); and relating the correction profile to the image and outputting them (S1205). <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は画像処理装置およびその方法に関し、例えば、プロファイルを利用した画像補正に関する。
【0002】
【従来の技術】
近年、インクジェット方式による低価格プリンタ、スキャナ、ディジタルカメラなどのカラー画像入出力機器が普及し、所謂エンドユーザによるカラー画像の扱いが増えている。
【0003】
しかし、エンドユーザは必ずしもカラー画像入出力機器に通熟しているわけではない。例えば、ディジタルカメラを用いたすべての撮影結果が良好であるとは限らない。撮影直後にディジタルカメラに付属する液晶ディスプレイで撮影画像を確認し、撮影結果が不良であれば撮影し直すこともできるが、確認しない場合、ディスプレイが付属しないなどの理由で確認できない場合もあるし、さらに一瞬のシャッタチャンスしかなければそもそも撮影し直しができない。
【0004】
そのため、自動もしくは半自動で画像を補正する方式が提案されている。これは、全画素もしくはサンプル画素を調べて画像の特徴量を算出し、その特徴量に基づき不良な画像(暗すぎる、明るすぎる、色かぶり等)と判断される場合、その特徴量に応じて各画素値を補正して、良好な画像を得ようというものである。
【0005】
画素値は整数値で表現され、典型的には画像の1チャネル当り8ビット符号なし整数で表現される。例えばRGBの場合、各チャネル8ビットとして一画素当り24ビットで表現されている。従って、画像補正を行うと、一般に、補正前の情報の一部が欠落する。
【0006】
図1は補正曲線の一例を示す図である。入力信号Inputおよび出力信号Outputは8ビット整数で、0から255の値をとる。補正曲線1001は式(1)の特性を示し、すなわち変更のない状態を表す。一方、補正曲線1002は式(2)の特性を示し、所謂ガンマ補正曲線である。なお、補正曲線1002のガンマ値γは2.2である。例えば、入力画像信号をYCbCr色空間で表し、Y成分に式(2)の補正を適用すると、画像は全体的に明るく補正される。
Output = Input …(1)
Output = (Input/255)1/2.2×255 …(2)
【0007】
式(2)自体は連続的な実数値にも適用可能であるが、先に述べたように、画素値を8ビット符号なし整数のような不連続な整数値で表す場合、小数部の丸めが発生する。その結果、階調性が失われたり、階調ジャンプが発生することになる。
【0008】
図2は式(2)が表す変換を、8ビット符号なし整数に適用した場合の入力信号値と出力信号値の対応を表す図である。図2に示すように、例えば入力信号値241から243に対応する出力信号値は何れも249で、階調性が失われることがわかる。一方、入力信号値0および1に対応する出力信号値は0および21で、階調ジャンプが発生することがわかる。
【0009】
上記のような、ガンマ補正により階調性が失われたり、階調ジャンプが発生した画像に、ガンマ値が異なるガンマ補正などを施すことは好ましくない。その場合は、原画像を保持しておき、保持した原画像にガンマ補正などを施すべきである。勿論、画像の補正結果は参照するだけにして、原画像を保持することも考えられる。しかし、毎回同じ補正処理を実行するのは冗長であるし、その補正処理を実行可能なモジュールがなければ、同様の補正結果が得られない問題もある。
【0010】
例えば特開2000−137806公報は、算出した補正パラメータを画像ファイルに付加することで、原画像を保持しながら補正情報を残す技術を開示する。しかし、残るのは補正パラメータであって、画像を再生する際は、その補正パラメータを解釈して画像を補正することが可能な装置やモジュールを必要とする。
【0011】
【特許文献1】
特開2000−137806公報
【0012】
【発明が解決しようとする課題】
本発明は、上述の問題を個々にまたはまとめて解決するためのもので、原画像を保持しながら、補正情報を残すことができ、かつ、画像の再生を容易にすることを目的とする。
【0013】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0014】
本発明は、画像、および、前記画像に関連するプロファイルを入力し、前記画像に適用すべき補正に相当する色変換を決定し、入力したプロファイルと、前記色変換とを合成した補正プロファイルを作成し、前記補正プロファイルを前記画像に関連付けて出力することを特徴とする。
【0015】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【0016】
[概要]
以下では、本発明にかかる実施形態の画像処理方法として、画像およびそれに関連するプロファイルを入力し、画像に適用すべき補正に相当する色変換を決定し、入力したプロファイルと、色変換とを合成した補正プロファイルを作成し、補正プロファイルを画像に関連付けて出力する例、並びに、画像に関連付けられた補正プロファイルを画像に適用する例を説明する。もし、画像に関連するプロファイルがない場合は、入力プロファイルの代わりに既定のプロファイルと、色変換を合成した補正プロファイルを作成する。また、補正プロファイルには、画像補正を行う色空間を規定するプロファイルを合成してもよい。
【0017】
また、画像を入力し、画像に適用すべき補正に相当する色変換を決定し、色変換から補正プロファイルを作成し、補正プロファイルを、画像に関連するプロファイルとは別に関連付けて出力する例、並びに、画像に関連付けられた補正プロファイルを画像に適用する例を説明する。この場合、補正プロファイルはICCプロファイルのアブストラクトプロファイル形式などである。
【0018】
【第1実施形態】
[構成]
図3は実施形態の画像処理を実行可能な画像処理装置の構成例を示すブロック図である。
【0019】
CPU 201は、ROM 202などに記憶された情報データ(プロファイル等)、制御プログラム、OS(オペレーティングシステム)、アプリケーションプログラム、カラーマッチングモジュール(CMM)、デバイスドライバなどに従って、RAM 203をワークエリアとして、システムバス209を介して後述する各構成を制御する。
【0020】
入力デバイス207は、CCDセンサを含むイメージスキャナなどの画像読取装置、ホストコンピュータ、スチルビデオ(SV)カメラ、ビデオカメラなどの外部機器で、図示しないインタフェイスを介して画像を入力する。出力デバイス208は、インクジェットプリンタ、熱転写プリンタ、ワイヤドットプリンタ、レーザビームプリンタなどの外部機器で、図示しないインタフェイスを介して画像を出力する。
【0021】
操作部204は、後述する出力デバイス設定部207の設定やデータの入力を行う。画像処理部205は、カラーマッチング処理を含む各種の画像処理を行う。モニタ206は、画像処理部205の処理結果や、操作部204から入力されたデータなどを表示する。
【0022】
[画像処理部]
図4はCMMに基づき実行される画像処理部205の処理を示す図である。
【0023】
カラーマッチング処理を行うカラーマッチング部301は、OSを介して入力される入力デバイス207の色空間に依存する画像データを、出力デバイス208の色空間に依存する画像データに変換する。
【0024】
入力プロファイル読出部302は、入力デバイス207の種類を示す情報が入力されると、その情報に対応するプロファイル、つまり入力デバイス207の入力特性が記述されたプロファイルを入力プロファイル記憶部304から読み出す。同様に、出力プロファイル読出部303は、出力デバイス208の種類を示す情報が入力され、出力デバイス208に設定されている「記録メディアの種類」「設定されている二値化方法」「解像度」および「インクの種類」などが入力されると、それらの情報に対応するプロファイル、つまり出力デバイス208およびその各種設定に対応する出力特性が記述された出力プロファイルを出力プロファイル記憶部305から読み出す。
【0025】
なお、実施形態の画像処理装置のROM 202には、予め接続される各種入力デバイス207および出力デバイス208の入出力特性を記述した、複数の入出力プロファイルが格納されている。従って、入力プロファイル読出部302や出力プロファイル読出部303によって、ROM 202から対応するプロファイルが読み出される。
【0026】
[プロファイルの構造]
図5はプリンタプロファイルの概略を示す図である。
【0027】
プロファイルには、各種プロファイルに関する基本情報が記述されるヘッダ、および、カラーマッチング処理に用いられる情報が記述されるテーブルが含まれる。ヘッダには、例えば、ID情報、バージョン情報、デバイスの基本的なタイプを示すデバイスクラス情報などが格納される。
【0028】
また、テーブルには、デバイスに依存しないPCS (Profile Connection Space)における画像データBを、あるデバイスの色空間に依存する画像データAに変換する処理の色処理パラメータが記載されるBtoA情報、並びに、あるデバイスの色空間に依存する画像データAをPCSの画像データBに変換する処理の色処理パラメータが記載されるAtoB情報が格納される。これらBtoAおよびAtoB情報は、CMMがサポートするカラーマッチング方法「色味優先」(Perceptual)、「測色的一致」(Colorimetric)、「彩やかさ優先」(Saturation)のそれぞれに対応して格納されている。
【0029】
色味優先は、写真などの画像に適したカラーマッチングで、色の階調を重視する。測色的一致は、ロゴなどの画像に適したカラーマッチングで、測色的に一致した色を再現することを目的とする。鮮やかさ優先は、グラフやCG(コンピュータグラフィクス)などの画像に適したカラーマッチングで、色の鮮やかさを重視する。また、図5に示す、これら色処理パラメータは、どのカラーマッチング方法に対応するかを区別するために色味優先は「01」、測色的一致は「02」、鮮やかさ優先は「03」という番号を付している。
【0030】
[カラーマッチング]
図6および図7は、図5に示すプリンタプロファイルを用いた画像形成処理およびプレビュー処理にかかるカラーマッチング処理を説明する図である。
【0031】
例えばDTP (Desk Top Publication)アプリケーションなどで生成された画像がOSを介して入力されると、CMM 40によって、画像表示デバイスであるモニタ206の色空間に依存したRGBデータ(モニタRGB)が、出力デバイス208のプリンタの色空間に依存するCMYKデータ(プリンタCMKY)に変換される(S10、S20)。具体的には、入力プロファイル読出部302によってモニタプロファイル42を読み出してAtoB情報43をCMM 40に設定し、出力プロファイル読出部303によってプリンタプロファイル45を読み出して、指定されたカラーマッチング方法に応じたBtoA情報47をCMM 40に設定する。
【0032】
AtoB情報43には、図8に示すように、入力デバイスであるモニタ206のガンマ特性に応じた逆ガンマ処理を行う三つの一次元ルックアップテーブル(1D LUT)群32と、標準空間で定義されるRGBデータをXYZデータに変換する3×3マトリクス33とが格納されている。なお、この場合、図8に示すN次元LUT(ND LUT) 31およびM個の1D LUT群30を用いる処理はスキップされる。一方、BtoA情報47には、図9に示すように、XYZ色空間で定義された画像データをL*a*b*色空間の画像データに変換する3×3マトリクス20、1D LUT群21、指定されたカラーマッチングを画像データに施してプリンタの色再現範囲内に変換する3D LUT 22、および、プリンタの階調特性に応じたガンマ補正を行う1D LUT群23が格納されている。
【0033】
そして、AtoB情報43に基づきモニタRGBデータがXYZデータ(PCSデータ)に変換され(S10)、BtoA情報46に基づきXYZデータがプリンタCMKYデータに変換される(S20)。ここで、プレビューか画像形成かに応じて(S21)、画像を形成する場合はプリンタCMKYデータを出力デバイス208に出力し(S25)、カラーマッチングを終了する。
【0034】
一方、プレビューの場合、CMM 40によって生成されたプリンタCMYKデータは、CMM 41によって、プレビュー画像を表示するモニタ206の色空間に依存するRGBデータに変換される(S30、S40)。具体的には、入力プロファイル読出部302によってプリンタプロファイル45を読み出して、指定されたカラーママッチング方法に応じたAtoB情報46をCMM 41に設定し、出力プロファイル読出部303によってモニタプロファイル42を読み出してBtoA情報44をCMM 41に設定する。
【0035】
AtoB情報46には、図8に示す、プリンタの階調特性に応じたガンマ補正を行う1D LUT群23(図9参照)の逆変換を行う1D LUT群30、1D LUT群30で処理されたプリンタCMYKデータをL*a*b*データに変換するND LUT 31、L*a*b*データをXYZデータ(PCSデータ)に変換する1D LUT群32および3×3マトリクス33を格納されている。一方、BtoA情報44には、図9に示す、3×3マトリクス33(図8参照)の逆処理を行う3×3マトリクス20、および、1D LUT群30(図8参照)の逆処理に相当するモニタガンマ補正を行う1D LUT群23が格納されている。
【0036】
そして、AtoB情報46に基づきプリンタCMYKデータがXYZデータ(PCSデータ)に変換され(S30)、BtoA情報44に基づきPCSデータがモニタRGBデータに変換され(S40)、モニタRGBデータがモニタ206に出力され(S45)、プレビュー表示される。
【0037】
[画像処理]
次に、実施形態の画像処理を説明するが、まず、補正プロファイルの作成について説明する。
【0038】
図10は一般的な画像補正とCMSの処理を示す図で、例えば図3に示した構成の装置などで実行される。
【0039】
図10において、色空間Aは原画像1501の色空間、色空間Bは補正処理1521の処理色空間、色空間Cは出力画像データ1503の色空間である。
【0040】
原画像データ1501は、色空間変換1511(色空間AからPCSへの変換)および色空間変換1512(PCSから色空間Bへの変換)により、補正前画像データ1502に変換され、さらに、補正における変換1521により補正後画像データ1503に変換される。続いて、補正後画像データ1503は、色空間変換1513(色空間BからPCSへの変換)および色空間変換1514(PCSから色空間Cへの変換)により、出力画像データ1503に変換され、表示や印刷に供される。
【0041】
なお、例えば色空間AとBが同一の色空間の場合は、色空間変換1511および1512による変換は無変換と同じである。従って、これら変換処理自体を省略することが可能であるが、その場合も、実施形態の処理が意図するところと同じである。勿論、同様に色空間BとCが同一の場合も同様である。
【0042】
図11は補正を含む変換を表すプロファイル(以下「補正プロファイル」と呼ぶ)の作成を示すフローチャートである。
【0043】
まず、画像を読み込む(S1201)。画像は例えば図3に示すRAM 203の所定領域、あるいは、図示しないハードディスクなどの補助記憶装置などに、所定のフォーマットで格納されている。画像を読み込む際には、画像に関連付けられたプロファイルがあるか否かを調べて、あればそのプロファイルを読み込み、また、処理色空間を規定するプロファイルと合わせて色空間を変換し、原画像にその色変換を適用する。なお、処理色空間は予め定めておく、あるいは、幾つかの色空間を提示してユーザに選択させる、などでよい。また、関連付けられたプロファイルがない場合は、既定の画像入力用プロファイルを適用すればよい。
【0044】
続いて、読み込んだ画像を解析する(S1202)。この解析は、この後実行する補正処理のパラメータを決定するために画像の特徴量を算出する処理で、補正処理に依存する。なお、実施形態の画像補正は、任意かつ公知のもので構わないが、以後では、次のような画像補正を例として説明する。
・処理色空間はsRGB
・RGBの各チャネル(各チャネル8ビット符号なし、256階調)の平均値に応じて、平均値の信号が入力された場合にそれが128になるようなガンマ補正を各チャネル独立に施す。
・ガンマ補正は式(3)に従う。
y = 255×(x/255)1/ γ …(3)
ここで、x: 入力信号のレベル
y: 出力レベルの信号
【0045】
従って、ステップS1202での解析処理では、入力画像の各画素を調べて各チャネルのレベル値を合計し、合計値を画素数で割ることで各チャネルの平均レベルを算出する。なお、算出された入力画像のRGB各チャネルの平均値をRave、Gave、Baveとする。
【0046】
続いて、画像に適用する補正を決定する(S1203)。上記の画像補正の場合、原画像のRGB各チャネルの平均値から、各チャネルに対するガンマ補正値γR、γG、γBを算出する。このガンマ補正値は、式(3)の変形式(4)に基づく式(5)から算出される。
γ = log(x/255)/log(y/255) …(4)
γR = log(Rave/255)/log(128/255)
γG = log(Gave/255)/log(128/255) …(5)
γB = log(Bave/255)/log(128/255)
【0047】
続いて、補正プロファイルを作成する(S1204)。図12は補正プロファイルの合成を示すフローチャートである。
【0048】
まず、原画像に関連付けられたプロファイルがあるか否かを判定する(S1301)。画像フォーマットに、画像に関連付けられたプロファイルが含まれる場合、そのプロファイルを入力プロファイルに設定する(S1302)。画像に関連付けられたプロファイルがない場合は、既定のプロファイルを入力プロファイルに設定する(S1303)。そして、補正を含む変換を表すプロファイルを合成する(S1304)。
【0049】
プロファイルの合成は、先に説明した図10に符号1531で示す変換群を表す変換を求める処理である。図10に示す色空間変換1511に対応するプロファイルは、ステップS1302もしくはS1303で設定される入力プロファイルである。また、色空間変換1512および1513に対応するプロファイルは、本実施形態の処理色空間がsRGBであるから、sRGBのプロファイルが相当する。これは予めシステムに保持されている。
【0050】
プロファイルの合成は、色空間Aによる入力値の範囲を幾つかサンプリングし、変換群1531による変換をサンプル値に逐次適用して、最終的に得られたPCSの値を求める。具体的は、色空間Aの各チャネル(チャネル数M)の定義域をそれぞれN等分し、(N+1)通りの値について変換群1531を適用した結果のPCS値を算出する。このサンプリングした入力値と、それに対応するPCS値とからM次元LUTを構成して、先に説明したプロファイルのフォーマットに整形する。
【0051】
図11に戻ると、ステップS1204で作成した補正プロファイルを出力する(S1205)。この補正プロファイルは、原画像のフォーマットに従い、プロファイル格納用領域に格納することが好ましい。例えば、公知の、JPEG方式の画像フォーマットとして広く用いられているJFIFの場合、APP2マーカ内部のICC_PROFILEタグによって参照される領域が、プロファイル格納用領域である。また、ICCプロファイルのInput Device profile(入力デバイスプロファイル)形式でもよいし、画像ファイルと関連付けられた別ファイルとして、補正プロファイルを格納してもよい。例えば、補正プロファイルのファイル識別子の一部として、原画像のファイル識別子などを用いるなどで容易に実現される。さらに、画像ファイルと補正プロファイルの関連付けを公知のデータベースなどを用いて管理してもよい。
【0052】
[補正適用処理]
図13は補正プロファイルの適用処理を示すフローチャートである。
【0053】
まず、読み込む画像を指定を受け付ける(S1401)。例えば、RAM 203もしくは図示しないハードディスクなどに格納されている画像の一覧をモニタ206に提示し、ユーザに操作部204を操作させて、画像を選択(指定)させる。画像一覧の表示方法としては、例えば縮小画像(サムネイル)を表示したり、ファイル識別子の一覧を表示したり、それらを組み合わせてもよい。
【0054】
続いて、指定された画像の補正プロファイルを検出する(S1402)。例えば、画像のフォーマトが、JFIFなど、ファイル内にプロファイルを格納可能なフォーマットの場合、画像を読み込みながらフォーマットを解析して、プロファイルが格納されているか否かを調べる。フォーマットがJFIFの場合、APP2マーカを検出し、さらにICC_PROFILEタグを検出することで実現される。あるいは、補正プロファイルが別ファイルの場合は、画像ファイルと関連付けられたプロファイルファイルがあるか否かを調べればよい。そして、補正プロファイルが検出された場合はそのプロファイルを読み込む。
【0055】
続いて、補正プロファイルが検出されなかった場合は、補正プロファイルを適用せずに、指定された画像を読み込む(S1407)。あるいは、システムに既定のプロファイルを適用してもよい。
【0056】
補正プロファイルが検出された場合は、補正プロファイルを適用するか否かを示すユーザ指示を受付ける。これは、モニタ206に補正プロファイルを適用するか否かを問い合せるメッセージなどを表示し、操作部204を介してユーザの指示を受付ければよい。
【0057】
ユーザが補正プロファイルを適用しないと指示した場合、補正プロファイルが検出されなかった場合は、補正プロファイルを適用せずに、指定された画像を読み込む(S1407)。また、ユーザが補正プロファイルの適用を指示した場合、検出した補正プロファイルを適用して、選択された画像を変換して読み込む(S1406)。補正プロファイルの適用は、通常のプロファイルの適用と同様である。しかし、補正プロファイルにより、図10に符号1531で示す補正群と等価な変換、つまり画像補正が行われるから、補正プロファイルの適用により補正が施された画像が得られることになる。
【0058】
なお、上記では、好適な例として、補正プロファイルを適用するか否かをユーザに問い合わせる処理と、ユーザ指示による処理の分岐とを含むが、これらを省略して、補正プロファイルを検出したか否かだけで補正プロファイルを適用するか否か決定するように構成してもよい。
【0059】
また、上記では、補正方式として単純なガンマ補正を例として説明したが、例えばYCbCr色空間やCIE L*a*b*色空間のような輝度、色相、彩度に分離された色空間において、色相を変換したり、または、彩度を上げ下げするような処理、あるいは、それらの組み合わせのような複雑な補正処理であってもよい。
【0060】
また、上記では、画像を自動的に補正する場合を説明したが、補正方式は任意で、例えばユーザが補正値を直接指示するような補正方式でもよい。その場合、ステップS1202の画像解析処理は省略可能である。
【0061】
このように、本実施形態によれば、画像を読み込む際に補正プロファイルを適用するだけで画像に補正が施される。従って、原画像を保持しながら、補正情報を残すことができ、かつ、補正済みの画像を再生する際はカラーマッチングを行う画像処理部によって画像を補正することが可能になる。
【0062】
【第2実施形態】
以下、第2実施形態を説明するが、第1実施形態と同様な構成には、同一符号を付して、その詳細説明を省略する。
【0063】
第1実施形態では補正処理を含む補正プロファイルを多次元LUTの形で画像ファイルに格納する例を説明したが、幾つかの特定の場合、多次元LUT以外の形式のプロファイルを作成することが可能である。例えば、図10において、色空間AとBが同一の場合、かつ、第1実施形態で説明したような補正方式の場合、その補正処理は色空間変換処理1513の1D LUTと合成することが可能である。この場合、色空間変換処理1513が1D LUTのみ、もしくは、1D LUTとマトリクス演算の構成である場合、合成後の補正プロファイルによる変換も色空間変換処理1513と同じ形式にすることができる。
【0064】
また、例えば色空間BがYCbCr色空間のような明るさ、色相および彩度によって既定される空間で、補正処理が色空間Bにおける回転処理や拡大処理といったマトリクス演算で表現可能な形式である場合も、色空間変換処理1513の1D LUTが入力信号に比例するような変換であれば、補正プロファイルをマトリクス演算の形式で表すことができる。
【0065】
これらの場合、多次元LUTを参照する処理における格子間の値を得る補間処理が不要になり、補正プロファイルによる変換精度が向上する利得がある。
【0066】
【第3実施形態】
以下、第3実施形態を説明するが、第1実施形態と同様な構成には、同一符号を付して、その詳細説明を省略する。
【0067】
第1実施形態では、画像の元々のプロファイル(入力プロファイル)と補正処理とを結合して一つの補正プロファイルにする処理例を説明したが、第3実施形態では、入力プロファイルと補正プロファイルとを別ける例を説明する。
【0068】
ICC (International Color Consortium)が規定するICCプロファイルには、Abstract profile(アブストラクトプロファイル)が規定されている。このAbstract profileによる変換は入出力ともにPCSで、ユーザの主観的な色変換を表すのに用いられる。第3実施形態では、図10に示す変換群1532による変換をAbstract profile形式にするもので、第1実施形態で説明した手順に従い、画像補正処理を決定し、さらに変換群1532を合成したAbstract profile形式の補正プロファイルを出力する。
【0069】
ICCプロファイルの仕様によれば、このAbstract profileを画像ファイルに格納してはいけないことになっている。そこで、プロファイルが通常格納される領域には入力プロファイル(図10の場合は色空間Aのプロファイル)を格納し、それ以外の領域に補正プロファイルを格納する。例えば画像フォーマットのユーザ領域、コメント領域などをあてることができる。ユーザ領域およびコメント領域の例としては、公知のExifフォーマットのメーカノート領域やユーザコメント領域があげられる。そして、補正プロファイルを適用する際は、画像ファイルの読込時に、通常のプロファイル検出するほか、ユーザ領域やコメント領域に格納された補正プロファイルを探す。
【0070】
図14は第3実施形態の補正プロファイルの適用処理を示すフローチャートである。
【0071】
ユーザが読み込む画像を指定すると(S1401)、第1実施形態(図13参照)に示した処理では補正プロファイルを検出し読み込むが、第3実施形態では入力プロファイルを検出し読み込む(S1601)。
【0072】
続いて、入力プロファイルが検出された否かを判定し(S1602)、検出された場合は入力プロファイルを適用するか否かを示すユーザ指示を受け付ける(S1603)。例えば、モニタ206に入力プロファイルを適用をするか否かを問い合せるメッセージなどを表示して、操作部204を介してユーザの指示を受け付ければよい。
【0073】
次に、ユーザ指示を判定して(S1604)、入力プロファイルを適用する場合は読み込んだ入力プロファイルをセットする(S1605)。
【0074】
また、入力プロファイルが検出されなかった場合、あるいは、ユーザが入力プロファイルを適用しないことを指示した場合、入力プロファイルとして既定のプロファイルをセットする(S1606)。
【0075】
続いて、指示された画像から補正プロファイルを検出し読み込む(S1402)。ただし、第1実施形態とは異なり、上述したように、画像ファイルフォーマットのユーザ領域やコメント領域などを調べて補正プロファイルを検出する。
【0076】
以降の処理は第1実施形態と同様であるから、説明を省略する。
【0077】
このうように、第3実施形態によれば、入力プロファイルとは別に補正プロファイルを画像ファイルに格納して、補正プロファイルの適用ありなしに加え、入力プロファイルによるカラーマッチングありなしをユーザに選択させることができる。
【0078】
上述した実施形態によれば、原画像を保持することができるから、補正なし画像、補正あり画像を選択的に容易に再現することが可能になる。また、補正あり画像を再生する場合は、一般のCMSシステムがあればよく、補正のための専用の装置やモジュールを用意する必要がない。
【0079】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0080】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0081】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0082】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0083】
【発明の効果】
以上説明したように、本発明によれば、原画像を保持しながら、補正情報を残すことができ、かつ、画像の再生を容易にすることができる。
【図面の簡単な説明】
【図1】補正曲線の一例を示す図、
【図2】ガンマ補正を、8ビット符号なし整数に適用した場合の入力信号値と出力信号値の対応を表す図、
【図3】実施形態の画像処理を実行可能な画像処理装置の構成例を示すブロック図、
【図4】CMMに基づき実行される画像処理部の処理を示す図、
【図5】プリンタプロファイルの概略を示す図、
【図6】プリンタプロファイルを用いた画像形成処理およびプレビュー処理にかかるカラーマッチング処理を説明する図、
【図7】プリンタプロファイルを用いた画像形成処理およびプレビュー処理にかかるカラーマッチング処理を説明する図、
【図8】AtoB情報に格納される変換処理を説明する図、
【図9】BtoA情報に格納される変換処理を説明する図、
【図10】一般的な画像補正とCMSの処理を示す図、
【図11】補正プロファイルの作成を示すフローチャート、
【図12】補正プロファイルの合成を示すフローチャート、
【図13】補正プロファイルの適用処理を示すフローチャート、
【図14】第3実施形態の補正プロファイルの適用処理を示すフローチャートである。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus and method, for example, to image correction using a profile.
[0002]
[Prior art]
In recent years, color image input / output devices such as low-cost printers, scanners, and digital cameras using an ink jet system have become widespread, and the handling of color images by so-called end users has increased.
[0003]
However, end users are not necessarily familiar with color image input / output devices. For example, not all imaging results using a digital camera are good. Immediately after shooting, you can check the captured image on the LCD display attached to the digital camera, and if the shooting result is poor, you can retake the image, but if you do not check it, sometimes you can not check it because the display is not attached. In addition, if there is only a momentary shutter chance, it is impossible to retake the image in the first place.
[0004]
Therefore, a method of correcting an image automatically or semi-automatically has been proposed. This is because the feature amount of an image is calculated by examining all the pixels or the sample pixels, and when it is determined that the image is defective (too dark, too bright, color cast, etc.) based on the feature amount, it is determined according to the feature amount. This is to correct each pixel value to obtain a good image.
[0005]
Pixel values are represented by integer values, typically represented as 8-bit unsigned integers per channel of the image. For example, in the case of RGB, each channel is represented by 24 bits per pixel as 8 bits. Therefore, when the image is corrected, a part of the information before the correction is generally lost.
[0006]
FIG. 1 is a diagram illustrating an example of a correction curve. The input signal Input and the output signal Output are 8-bit integers and take values from 0 to 255. The correction curve 1001 shows the characteristic of the equation (1), that is, represents a state where there is no change. On the other hand, the correction curve 1002 shows the characteristics of Expression (2) and is a so-called gamma correction curve. The gamma value γ of the correction curve 1002 is 2.2. For example, when the input image signal is represented in the YCbCr color space, and the correction of Expression (2) is applied to the Y component, the image is corrected as a whole to be bright.
Output = Input (1)
Output = (Input / 255)1 / 2.2× 255… (2)
[0007]
Equation (2) itself can be applied to a continuous real value. However, as described above, when a pixel value is represented by a discrete integer value such as an 8-bit unsigned integer, rounding of a decimal part is performed. Occurs. As a result, the gradation property is lost or a gradation jump occurs.
[0008]
FIG. 2 is a diagram illustrating a correspondence between an input signal value and an output signal value when the conversion represented by Expression (2) is applied to an 8-bit unsigned integer. As shown in FIG. 2, for example, the output signal values corresponding to the input signal values 241 to 243 are all 249, indicating that the gradation is lost. On the other hand, the output signal values corresponding to the input signal values 0 and 1 are 0 and 21, which indicates that a gradation jump occurs.
[0009]
As described above, it is not preferable to perform gamma correction with different gamma values or the like on an image in which gradation is lost or a gradation jump occurs due to gamma correction. In that case, the original image should be held, and the held original image should be subjected to gamma correction or the like. Of course, it is also conceivable to hold the original image while referring only to the correction result of the image. However, it is redundant to execute the same correction processing every time, and there is also a problem that a similar correction result cannot be obtained unless there is a module that can execute the correction processing.
[0010]
For example, Japanese Patent Application Laid-Open No. 2000-137806 discloses a technique in which calculated correction parameters are added to an image file to retain correction information while retaining an original image. However, what remains is a correction parameter, and when reproducing an image, an apparatus or module that can interpret the correction parameter and correct the image is required.
[0011]
[Patent Document 1]
JP 2000-137806 A
[0012]
[Problems to be solved by the invention]
An object of the present invention is to solve the above-mentioned problems individually or collectively, and it is an object of the present invention to be able to leave correction information while retaining an original image and to facilitate reproduction of an image.
[0013]
[Means for Solving the Problems]
The present invention has the following configuration as one means for achieving the above object.
[0014]
According to the present invention, an image and a profile related to the image are input, a color conversion corresponding to a correction to be applied to the image is determined, and a correction profile is created by combining the input profile and the color conversion. The correction profile is output in association with the image.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an image processing apparatus according to an embodiment of the present invention will be described in detail with reference to the drawings.
[0016]
[Overview]
Hereinafter, as an image processing method according to an embodiment of the present invention, an image and a profile related thereto are input, a color conversion corresponding to a correction to be applied to the image is determined, and the input profile and the color conversion are combined. An example in which a corrected profile is created and a correction profile is associated with an image and output, and an example in which a correction profile associated with an image is applied to an image will be described. If there is no profile related to the image, a default profile and a correction profile combining color conversion are created instead of the input profile. Further, a profile that defines a color space in which image correction is performed may be combined with the correction profile.
[0017]
An example of inputting an image, determining a color conversion corresponding to a correction to be applied to the image, creating a correction profile from the color conversion, and outputting the correction profile in association with a profile related to the image, and An example in which a correction profile associated with an image is applied to an image will be described. In this case, the correction profile is in the form of an abstract profile of the ICC profile.
[0018]
[First Embodiment]
[Constitution]
FIG. 3 is a block diagram illustrating a configuration example of an image processing apparatus capable of executing image processing according to the embodiment.
[0019]
The CPU 201 uses the RAM 203 as a work area according to information data (profiles and the like) stored in the ROM 202 and the like, a control program, an OS (operating system), an application program, a color matching module (CMM), a device driver, and the like. Each component described later is controlled via the bus 209.
[0020]
The input device 207 is an external device such as an image reading device such as an image scanner including a CCD sensor, a host computer, a still video (SV) camera, or a video camera, and inputs an image via an interface (not shown). The output device 208 is an external device such as an ink jet printer, a thermal transfer printer, a wire dot printer, or a laser beam printer, and outputs an image via an interface (not shown).
[0021]
The operation unit 204 performs setting of an output device setting unit 207 described later and input of data. The image processing unit 205 performs various image processes including a color matching process. The monitor 206 displays a processing result of the image processing unit 205, data input from the operation unit 204, and the like.
[0022]
[Image processing unit]
FIG. 4 is a diagram showing processing of the image processing unit 205 executed based on CMM.
[0023]
The color matching unit 301 that performs a color matching process converts image data that is input via the OS and depends on the color space of the input device 207 into image data that depends on the color space of the output device 208.
[0024]
When information indicating the type of the input device 207 is input, the input profile reading unit 302 reads a profile corresponding to the information, that is, a profile in which the input characteristics of the input device 207 are described, from the input profile storage unit 304. Similarly, the output profile reading unit 303 receives information indicating the type of the output device 208, and sets “recording medium type”, “set binarization method”, “resolution”, and When “ink type” or the like is input, a profile corresponding to the information, that is, an output profile in which output characteristics corresponding to the output device 208 and various settings thereof are described is read from the output profile storage unit 305.
[0025]
The ROM 202 of the image processing apparatus according to the embodiment stores a plurality of input / output profiles describing input / output characteristics of various input devices 207 and output devices 208 connected in advance. Therefore, the corresponding profile is read from the ROM 202 by the input profile reading unit 302 and the output profile reading unit 303.
[0026]
[Profile structure]
FIG. 5 is a diagram showing an outline of a printer profile.
[0027]
The profile includes a header in which basic information on various profiles is described, and a table in which information used for color matching processing is described. The header stores, for example, ID information, version information, device class information indicating a basic type of device, and the like.
[0028]
The table also includes BtoA information in which color processing parameters for converting image data B in a device-independent PCS (Profile Connection Space) into image data A in a device-dependent color space are described; AtoB information in which color processing parameters for converting image data A depending on the color space of a certain device into image data B of PCS is stored. The BtoA and AtoB information are stored in correspondence with the color matching methods “Color priority” (Perceptual), “Colorimetric matching” (Colorimetric), and “Saturation priority” (Saturation) supported by the CMM. I have.
[0029]
The color priority is color matching suitable for an image such as a photograph, and emphasizes color gradation. The purpose of colorimetric matching is to reproduce colorimetrically consistent colors by color matching suitable for images such as logos. The vividness priority is color matching suitable for images such as graphs and CG (computer graphics), and places importance on vividness of colors. The color processing parameters shown in FIG. 5 are “01” for color priority, “02” for colorimetric matching, and “03” for vividness priority in order to distinguish which color matching method corresponds to which color processing method. Number.
[0030]
[Color matching]
FIG. 6 and FIG. 7 are diagrams illustrating color matching processing relating to image forming processing and preview processing using the printer profile shown in FIG.
[0031]
For example, when an image generated by a DTP (Desk Top Publication) application or the like is input via the OS, the CMM 40 outputs RGB data (monitor RGB) depending on the color space of the monitor 206 as an image display device. The data is converted into CMYK data (printer CMKY) depending on the color space of the printer of the device 208 (S10, S20). More specifically, the monitor profile 42 is read by the input profile reading unit 302, the AtoB information 43 is set in the CMM 40, the printer profile 45 is read by the output profile reading unit 303, and the BtoA corresponding to the designated color matching method is used. The information 47 is set in the CMM 40.
[0032]
As shown in FIG. 8, the AtoB information 43 includes three one-dimensional look-up tables (1D LUTs) 32 for performing inverse gamma processing according to the gamma characteristic of the monitor 206 as an input device, and is defined in a standard space. And a 3 × 3 matrix 33 for converting RGB data into XYZ data. In this case, the process using the N-dimensional LUT (ND LUT) 31 and the M 1D LUT groups 30 shown in FIG. 8 is skipped. On the other hand, as shown in FIG. 9, the BtoA information 47 includes a 3 × 3 matrix 20 for converting image data defined in the XYZ color space into image data in the L * a * b * color space, a 1D LUT group 21, A 3D LUT 22 that performs designated color matching on image data and converts the image data into a color reproduction range of the printer, and a 1D LUT group 23 that performs gamma correction according to the gradation characteristics of the printer are stored.
[0033]
Then, the monitor RGB data is converted into XYZ data (PCS data) based on the AtoB information 43 (S10), and the XYZ data is converted into printer CMKY data based on the BtoA information 46 (S20). If an image is to be formed (S21), printer CMKY data is output to the output device 208 (S25), and the color matching ends.
[0034]
On the other hand, in the case of the preview, the printer CMYK data generated by the CMM 40 is converted by the CMM 41 into RGB data depending on the color space of the monitor 206 that displays the preview image (S30, S40). Specifically, the printer profile 45 is read by the input profile reading unit 302, the AtoB information 46 corresponding to the designated color matching method is set in the CMM 41, and the monitor profile 42 is read by the output profile reading unit 303. The BtoA information 44 is set in the CMM 41.
[0035]
The AtoB information 46 is processed by the 1D LUT group 30 and the 1D LUT group 30 that perform inverse conversion of the 1D LUT group 23 (see FIG. 9) that performs gamma correction according to the gradation characteristics of the printer, as shown in FIG. An ND LUT 31 that converts printer CMYK data into L * a * b * data, a 1D LUT group 32 that converts L * a * b * data into XYZ data (PCS data), and a 3 × 3 matrix 33 are stored. . On the other hand, the BtoA information 44 corresponds to the 3 × 3 matrix 20 for performing the inverse processing of the 3 × 3 matrix 33 (see FIG. 8) and the inverse processing of the 1D LUT group 30 (see FIG. 8) shown in FIG. A 1D LUT group 23 for performing monitor gamma correction is stored.
[0036]
Then, the printer CMYK data is converted into XYZ data (PCS data) based on the AtoB information 46 (S30), the PCS data is converted into monitor RGB data based on the BtoA information 44 (S40), and the monitor RGB data is output to the monitor 206. (S45), and a preview is displayed.
[0037]
[Image processing]
Next, image processing according to the embodiment will be described. First, generation of a correction profile will be described.
[0038]
FIG. 10 is a diagram showing general image correction and CMS processing, which is executed by, for example, an apparatus having the configuration shown in FIG.
[0039]
In FIG. 10, a color space A is a color space of the original image 1501, a color space B is a processing color space of the correction processing 1521, and a color space C is a color space of the output image data 1503.
[0040]
The original image data 1501 is converted into pre-correction image data 1502 by a color space conversion 1511 (conversion from color space A to PCS) and a color space conversion 1512 (conversion from PCS to color space B), and further, in the correction. Conversion 1521 converts the image data into corrected image data 1503. Subsequently, the corrected image data 1503 is converted into output image data 1503 by color space conversion 1513 (conversion from color space B to PCS) and color space conversion 1514 (conversion from PCS to color space C), and is displayed. And printing.
[0041]
For example, when the color spaces A and B are the same color space, the conversion by the color space conversions 1511 and 1512 is the same as the non-conversion. Therefore, it is possible to omit the conversion processing itself, but in that case, the processing of the embodiment is the same as intended. Of course, the same applies to the case where the color spaces B and C are the same.
[0042]
FIG. 11 is a flowchart showing the creation of a profile representing a conversion including correction (hereinafter, referred to as “correction profile”).
[0043]
First, an image is read (S1201). The image is stored in a predetermined format in, for example, a predetermined area of the RAM 203 shown in FIG. 3 or an auxiliary storage device such as a hard disk (not shown). When reading an image, it checks whether there is a profile associated with the image, reads that profile if it exists, converts the color space with the profile that defines the processing color space, and converts it to the original image. Apply that color transformation. Note that the processing color space may be determined in advance, or some color spaces may be presented to allow the user to select. If there is no associated profile, a default image input profile may be applied.
[0044]
Subsequently, the read image is analyzed (S1202). This analysis is a process of calculating a feature amount of an image in order to determine parameters of a correction process to be executed thereafter, and depends on the correction process. The image correction according to the embodiment may be arbitrary and known, but hereinafter, the following image correction will be described as an example.
・ The processing color space is sRGB
In accordance with the average value of each of the RGB channels (each channel has no 8-bit code, 256 gradations), when a signal of the average value is input, gamma correction is performed so that the signal becomes 128 when the signal is input, independently for each channel.
-Gamma correction follows equation (3).
y = 255 × (x / 255)1 / γ    … (3)
Where x is the level of the input signal
y: output level signal
[0045]
Therefore, in the analysis processing in step S1202, each pixel of the input image is examined, the level value of each channel is summed, and the average value of each channel is calculated by dividing the total value by the number of pixels. Note that the calculated average values of the RGB channels of the input image are Rave, Gave, and Bave.
[0046]
Next, a correction to be applied to the image is determined (S1203). In the case of the above-described image correction, gamma correction values γR, γG, and γB for each channel are calculated from the average values of the RGB channels of the original image. The gamma correction value is calculated from Expression (5) based on Expression (4), which is a modification of Expression (3).
γ = log (x / 255) / log (y / 255) (4)
γR = log (Rave / 255) / log (128/255)
γG = log (Gave / 255) / log (128/255) (5)
γB = log (Bave / 255) / log (128/255)
[0047]
Subsequently, a correction profile is created (S1204). FIG. 12 is a flowchart showing the synthesis of the correction profiles.
[0048]
First, it is determined whether there is a profile associated with the original image (S1301). If the image format includes a profile associated with the image, the profile is set as an input profile (S1302). If there is no profile associated with the image, the default profile is set as the input profile (S1303). Then, a profile representing the conversion including the correction is synthesized (S1304).
[0049]
The synthesis of the profile is a process of obtaining the conversion representing the conversion group indicated by the reference numeral 1531 in FIG. 10 described above. The profile corresponding to the color space conversion 1511 shown in FIG. 10 is the input profile set in step S1302 or S1303. Further, the profiles corresponding to the color space conversions 1512 and 1513 correspond to the sRGB profiles since the processing color space of the present embodiment is sRGB. This is stored in the system in advance.
[0050]
In the composition of the profile, several ranges of the input values in the color space A are sampled, and the conversion by the conversion group 1531 is sequentially applied to the sample values to obtain a finally obtained PCS value. Specifically, the domain of each channel (the number of channels M) of the color space A is divided into N equal parts, and (N + 1)MThe PCS value as a result of applying the conversion group 1531 to the different values is calculated. An M-dimensional LUT is constructed from the sampled input values and the corresponding PCS values, and shaped into the profile format described above.
[0051]
Returning to FIG. 11, the correction profile created in step S1204 is output (S1205). This correction profile is preferably stored in a profile storage area in accordance with the format of the original image. For example, in the case of JFIF, which is widely used as a known JPEG image format, an area referred to by an ICC_PROFILE tag inside an APP2 marker is an area for storing a profile. The input device profile (input device profile) of the ICC profile may be used, or the correction profile may be stored as a separate file associated with the image file. For example, this is easily realized by using the file identifier of the original image or the like as a part of the file identifier of the correction profile. Further, the association between the image file and the correction profile may be managed using a known database or the like.
[0052]
[Correction application processing]
FIG. 13 is a flowchart showing a process of applying a correction profile.
[0053]
First, designation of an image to be read is received (S1401). For example, a list of images stored in the RAM 203 or a hard disk (not shown) is presented on the monitor 206, and the user operates the operation unit 204 to select (designate) an image. As a method of displaying the image list, for example, a reduced image (thumbnail) may be displayed, a list of file identifiers may be displayed, or a combination thereof may be displayed.
[0054]
Next, a correction profile of the designated image is detected (S1402). For example, if the format of the image is a format such as JFIF that can store a profile in a file, the format is analyzed while reading the image to check whether the profile is stored. When the format is JFIF, this is realized by detecting an APP2 marker and further detecting an ICC_PROFILE tag. Alternatively, if the correction profile is another file, it is sufficient to check whether there is a profile file associated with the image file. Then, when a correction profile is detected, the profile is read.
[0055]
Next, if no correction profile is detected, the specified image is read without applying the correction profile (S1407). Alternatively, a default profile may be applied to the system.
[0056]
When a correction profile is detected, a user instruction indicating whether to apply the correction profile is received. This may be achieved by displaying a message or the like inquiring whether or not to apply the correction profile on the monitor 206 and receiving a user's instruction via the operation unit 204.
[0057]
If the user instructs not to apply the correction profile, and if no correction profile is detected, the specified image is read without applying the correction profile (S1407). If the user instructs to apply a correction profile, the detected correction profile is applied, and the selected image is converted and read (S1406). The application of the correction profile is similar to the application of the normal profile. However, since a conversion equivalent to the correction group denoted by reference numeral 1531 in FIG. 10, that is, image correction is performed by the correction profile, an image corrected by applying the correction profile is obtained.
[0058]
In the above description, a preferred example includes a process of inquiring the user whether or not to apply a correction profile and a process branch according to a user instruction. It may be configured to determine whether or not to apply the correction profile alone.
[0059]
In the above description, a simple gamma correction has been described as an example of a correction method. However, in a color space separated into luminance, hue, and saturation, such as a YCbCr color space or a CIE L * a * b * color space, It may be a process of converting hue, increasing or decreasing saturation, or a complex correction process such as a combination thereof.
[0060]
In the above description, the case where the image is automatically corrected has been described. However, the correction method is arbitrary, and for example, a correction method in which a user directly indicates a correction value may be used. In that case, the image analysis processing in step S1202 can be omitted.
[0061]
As described above, according to the present embodiment, the image is corrected only by applying the correction profile when reading the image. Therefore, the correction information can be left while retaining the original image, and when the corrected image is reproduced, the image can be corrected by the image processing unit that performs color matching.
[0062]
[Second embodiment]
Hereinafter, the second embodiment will be described. The same components as those in the first embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0063]
In the first embodiment, an example has been described in which a correction profile including a correction process is stored in an image file in the form of a multidimensional LUT. However, in some specific cases, a profile other than the multidimensional LUT can be created. It is. For example, in FIG. 10, when the color spaces A and B are the same, and in the case of the correction method described in the first embodiment, the correction processing can be combined with the 1D LUT of the color space conversion processing 1513. It is. In this case, when the color space conversion processing 1513 has only the 1D LUT or the configuration of the 1D LUT and the matrix operation, the conversion using the correction profile after the combination can be performed in the same format as the color space conversion processing 1513.
[0064]
Further, for example, when the color space B is a space defined by brightness, hue, and saturation, such as a YCbCr color space, and the correction process is a format that can be expressed by a matrix operation such as a rotation process or an enlargement process in the color space B. Also, if the conversion is such that the 1D LUT of the color space conversion processing 1513 is proportional to the input signal, the correction profile can be represented in the form of a matrix operation.
[0065]
In these cases, there is no need to perform an interpolation process for obtaining values between lattices in the process of referring to the multidimensional LUT, and there is a gain that the conversion accuracy by the correction profile is improved.
[0066]
[Third embodiment]
Hereinafter, the third embodiment will be described. The same components as those in the first embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0067]
In the first embodiment, an example in which an original profile (input profile) of an image and a correction process are combined into one correction profile has been described. In the third embodiment, however, the input profile and the correction profile are separated. An example will be described.
[0068]
An Abstract profile is defined in an ICC profile defined by an ICC (International Color Consortium). The conversion by Abstract Profile is a PCS for both input and output, and is used to represent a user's subjective color conversion. In the third embodiment, the conversion by the conversion group 1532 shown in FIG. 10 is converted into an Abstract profile format. According to the procedure described in the first embodiment, an image correction process is determined, and the Abstract profile obtained by combining the conversion group 1532 is further processed. Output the correction profile of the format.
[0069]
According to the specification of the ICC profile, this Abstract profile must not be stored in the image file. Therefore, the input profile (the profile of the color space A in FIG. 10) is stored in the area where the profile is normally stored, and the correction profile is stored in other areas. For example, a user area and a comment area in an image format can be allocated. Examples of the user area and the comment area include a well-known Exif format maker note area and a user comment area. When applying a correction profile, when reading an image file, a normal profile is detected, and a correction profile stored in a user area or a comment area is searched.
[0070]
FIG. 14 is a flowchart illustrating a correction profile application process according to the third embodiment.
[0071]
When the user specifies an image to be read (S1401), the correction profile is detected and read in the processing shown in the first embodiment (see FIG. 13), but the input profile is detected and read in the third embodiment (S1601).
[0072]
Subsequently, it is determined whether or not an input profile has been detected (S1602). If detected, a user instruction indicating whether to apply the input profile is received (S1603). For example, a message for inquiring whether or not to apply the input profile may be displayed on the monitor 206, and the user's instruction may be received via the operation unit 204.
[0073]
Next, a user instruction is determined (S1604), and when an input profile is applied, the read input profile is set (S1605).
[0074]
If no input profile is detected, or if the user instructs not to apply the input profile, a default profile is set as the input profile (S1606).
[0075]
Subsequently, a correction profile is detected and read from the designated image (S1402). However, different from the first embodiment, as described above, the correction profile is detected by checking the user area and the comment area of the image file format.
[0076]
Subsequent processing is the same as in the first embodiment, and a description thereof will not be repeated.
[0077]
As described above, according to the third embodiment, the correction profile is stored in the image file separately from the input profile, and the user is allowed to select whether or not the input profile has color matching in addition to whether or not the correction profile is applied. Can be.
[0078]
According to the above-described embodiment, since the original image can be held, the image without correction and the image with correction can be selectively and easily reproduced. To reproduce an image with correction, a general CMS system is sufficient, and it is not necessary to prepare a dedicated device or module for correction.
[0079]
[Other embodiments]
The present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but may be a device including one device (for example, a copying machine, a facsimile machine, etc.). May be applied.
[0080]
Further, an object of the present invention is to supply a storage medium (or a recording medium) in which a program code of software for realizing the functions of the above-described embodiments is recorded to a system or an apparatus, and a computer (or a CPU or a CPU) of the system or the apparatus. Needless to say, the present invention can also be achieved by an MPU) reading and executing a program code stored in a storage medium. In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where some or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.
[0081]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is executed based on the instruction of the program code. It goes without saying that the CPU included in the expansion card or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0082]
When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.
[0083]
【The invention's effect】
As described above, according to the present invention, it is possible to leave correction information while retaining an original image, and to facilitate reproduction of an image.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of a correction curve;
FIG. 2 is a diagram showing a correspondence between an input signal value and an output signal value when gamma correction is applied to an 8-bit unsigned integer;
FIG. 3 is a block diagram illustrating a configuration example of an image processing apparatus capable of executing image processing according to the embodiment;
FIG. 4 is a diagram showing processing of an image processing unit executed based on CMM;
FIG. 5 is a diagram showing an outline of a printer profile.
FIG. 6 is a view for explaining color matching processing related to image forming processing and preview processing using a printer profile.
FIG. 7 is a view for explaining color matching processing relating to image forming processing and preview processing using a printer profile.
FIG. 8 is a view for explaining conversion processing stored in AtoB information;
FIG. 9 is a view for explaining conversion processing stored in BtoA information;
FIG. 10 is a diagram showing general image correction and CMS processing;
FIG. 11 is a flowchart showing creation of a correction profile,
FIG. 12 is a flowchart showing the synthesis of a correction profile;
FIG. 13 is a flowchart showing a correction profile application process;
FIG. 14 is a flowchart illustrating a correction profile application process according to a third embodiment.

Claims (11)

画像、および、前記画像に関連するプロファイルを入力し、
前記画像に適用すべき補正に相当する色変換を決定し、
入力したプロファイルと、前記色変換とを合成した補正プロファイルを作成し、
前記補正プロファイルを前記画像に関連付けて出力することを特徴とする画像処理方法。
Enter an image and a profile associated with the image,
Determine a color conversion corresponding to the correction to be applied to the image,
Create a correction profile by combining the input profile and the color conversion,
An image processing method, wherein the correction profile is output in association with the image.
前記画像に関連するプロファイルがない場合、前記入力プロファイルの代わりに既定のプロファイルを用いて、前記色変換を合成した補正プロファイルを作成することを特徴とする請求項1に記載された画像処理方法。2. The image processing method according to claim 1, wherein when there is no profile related to the image, a correction profile obtained by synthesizing the color conversion is created using a predetermined profile instead of the input profile. 前記補正プロファイルには、画像補正を行う色空間を規定するプロファイルも合成されることを特徴とする請求項1または請求項2に記載された画像処理方法。The image processing method according to claim 1, wherein a profile that defines a color space for performing image correction is also combined with the correction profile. 前記補正プロファイルはICCプロファイル形式であることを特徴とする請求項1から請求項3の何れかに記載された画像処理方法。4. The image processing method according to claim 1, wherein the correction profile is in an ICC profile format. 前記補正プロファイルはICCプロファイルの入力デバイスプロファイル形式であることを特徴とする請求項1から請求項3の何れかに記載された画像処理方法。4. The image processing method according to claim 1, wherein the correction profile is an input device profile format of an ICC profile. 画像、および、前記画像に関連するプロファイルを入力する入力手段と、
前記画像に適用すべき補正に相当する色変換を決定する決定手段と、
入力したプロファイルと、前記色変換とを合成した補正プロファイルを作成する作成手段と、
前記補正プロファイルを前記画像に関連付けて出力する出力手段とを有することを特徴とする画像処理装置。
An image, and input means for inputting a profile associated with the image,
Determining means for determining a color conversion corresponding to the correction to be applied to the image,
Creating means for creating a correction profile by combining the input profile and the color conversion;
Output means for outputting the correction profile in association with the image.
画像を入力し、
前記画像に適用すべき補正に相当する色変換を決定し、
前記色変換から補正プロファイルを作成し、
前記補正プロファイルを、前記画像に関連するプロファイルとは別に関連付けて出力することを特徴とする画像処理方法。
Enter the image,
Determine a color conversion corresponding to the correction to be applied to the image,
Create a correction profile from the color conversion,
An image processing method, wherein the correction profile is output in association with a profile related to the image.
前記補正プロファイルはICCプロファイルのアブストラクトプロファイル形式であることを特徴とする請求項7に記載された画像処理方法。The image processing method according to claim 7, wherein the correction profile is in the form of an abstract profile of an ICC profile. 請求項1から請求項8の何れかに記載された画像処理を画像処理装置に実行させることを特徴とするプログラム。A non-transitory computer-readable storage medium storing a program for causing an image processing apparatus to execute the image processing according to claim 1. 請求項9に記載されたプログラムが記録されたことを特徴とする記録媒体。A recording medium on which the program according to claim 9 is recorded. 画像を入力する入力手段と、
前記画像に適用すべき補正に相当する色変換を決定する決定手段と、
前記色変換から補正プロファイルを作成する作成手段と、
前記補正プロファイルを、前記画像に関連するプロファイルとは別に関連付けて出力する出力手段とを有することを特徴とする画像処理装置。
Input means for inputting an image,
Determining means for determining a color conversion corresponding to the correction to be applied to the image,
Creating means for creating a correction profile from the color conversion;
An image processing apparatus comprising: an output unit configured to output the correction profile in association with a profile related to the image.
JP2003024963A 2003-01-31 2003-01-31 Image processor and image processing method Withdrawn JP2004236201A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003024963A JP2004236201A (en) 2003-01-31 2003-01-31 Image processor and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003024963A JP2004236201A (en) 2003-01-31 2003-01-31 Image processor and image processing method

Publications (1)

Publication Number Publication Date
JP2004236201A true JP2004236201A (en) 2004-08-19

Family

ID=32953358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003024963A Withdrawn JP2004236201A (en) 2003-01-31 2003-01-31 Image processor and image processing method

Country Status (1)

Country Link
JP (1) JP2004236201A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011859A (en) * 2005-07-01 2007-01-18 Fujifilm Holdings Corp Image processor, method and program
JP2007036559A (en) * 2005-07-26 2007-02-08 Fuji Xerox Co Ltd Image processor, table generator, image formation system, table generating method and program
JP2007274637A (en) * 2006-03-31 2007-10-18 National Institute Of Information & Communication Technology Image processing device
JP2009232046A (en) * 2008-03-21 2009-10-08 Fuji Xerox Co Ltd Image processing apparatus, image processing system and image processing program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011859A (en) * 2005-07-01 2007-01-18 Fujifilm Holdings Corp Image processor, method and program
JP4515341B2 (en) * 2005-07-01 2010-07-28 富士フイルム株式会社 Image processing apparatus and method, and program
JP2007036559A (en) * 2005-07-26 2007-02-08 Fuji Xerox Co Ltd Image processor, table generator, image formation system, table generating method and program
JP4596155B2 (en) * 2005-07-26 2010-12-08 富士ゼロックス株式会社 Image processing apparatus, table generation apparatus, image forming system, table generation method, and program
JP2007274637A (en) * 2006-03-31 2007-10-18 National Institute Of Information & Communication Technology Image processing device
JP2009232046A (en) * 2008-03-21 2009-10-08 Fuji Xerox Co Ltd Image processing apparatus, image processing system and image processing program

Similar Documents

Publication Publication Date Title
US7697167B2 (en) Color processing method and apparatus
US7330286B2 (en) Apparatus, method and computer program product for providing output image adjustment for image files
US9538046B2 (en) Image reproduction using a particular color space
US20020027603A1 (en) Apparatus, method, signal and computer program product configured to provide output image adjustment for image files
US7965427B2 (en) Color processing apparatus and its method
US20080018920A1 (en) Image processing apparatus
JP2005354372A (en) Apparatus and method for image recording device, method and system for image processing
WO2003036960A1 (en) Control of image output using image processing control data
US8207985B2 (en) Image reproduction using a particular color space
US8730343B2 (en) Color processing apparatus and method for performing color conversion using a color appearance model
JP4315176B2 (en) Printing apparatus, printing method, and printing program
JP4150490B2 (en) Image processing system, image processing method, and recording medium
JP2004236201A (en) Image processor and image processing method
JP2004240992A (en) Output image adjustment of image file
US20040042025A1 (en) Image processing method, image processing apparatus, image recording apparatus, program and recording medium
JP2004297390A (en) Color reproduction adjustment in output image
JP2004120253A (en) Image processing method and image processor
JP2004178428A (en) Image processing method
JP2000059638A (en) Image reparation device and recording medium
JP2004297383A (en) Color reproduction adjustment in output image
JP2004297378A (en) Color reproduction adjustment in output image
JP2005341500A (en) Image processing apparatus, image processing method, and image processing program
JP2006173822A (en) Image processing apparatus and method
JP2009177610A (en) Image data generating apparatus and image data generating method
JP2005284521A (en) Printing control utilizing color transformation profile corresponding to color reproduction of multiple sorts

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060404