説明

画像処理装置及び方法、及びプログラムを記録した記憶媒体

【課題】画像の明るさを補正する際に、彩度が低下した見栄えの悪い結果となることを防止する。
【解決手段】入力画像の階調を補正するための階調補正曲線を生成し、注目格子点と同一彩度、かつ、注目格子点の色相における色再現空間の境界画素に対して、階調補正曲線に基づく階調補正を行い、階調補正後の色再現空間の境界画素を用いて、等彩度ラインを設定し、階調補正曲線と等彩度ラインに基づき、注目格子点の彩度補正量を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に対して所望の階調補正を行った際に、適切な彩度コントロールを行うことにより、彩度低下感を防止した良好な補正結果を得ることができる画像処理装置、方法に関する。
【背景技術】
【0002】
従来より、画像中から人物などの主要被写体を検出し、該被写体の明るさを適切にするような階調補正を行う技術が提案されている。その際に課題となるのが、階調補正後の彩度低下感の防止である。このことを、図22、図23を用いて説明する。
【0003】
図22は、画像中の暗い領域に含まれる画素値の例で、横軸はRGB各成分を、縦軸は成分値を示している。暗い領域の画素であるため、RGB成分値が全体的に小さい値となっている。
【0004】
このような画素値に対して、RGB成分値を輝度色差空間(例えば、YCbCr空間)に変換し、該空間において輝度成分のみ所定量上昇し、再度RGB空間に変換したものが、図23である。
【0005】
図23に示すように、輝度成分において輝度値のみを所定量上昇すると、RGB空間において全ての成分に均等に該所定量2301が加算されることとなる。
【0006】
よく知られているように、画素値の彩度が高い状態とは、RGB成分間の相対的な差異が大きい状態である。もし、RGB成分間の相対比が1.0、つまり同値であれば、その画素は彩度0のグレー画素ということになる。例えば図22でいえば、R成分に対するG成分の相対比は2.0倍程度であるが、輝度上昇後の同比は、1.3倍程度となっており、彩度が低下していることが確認できる。
【0007】
このように、画像中の暗い領域に含まれる画素値を、輝度色差空間において輝度のみを上昇させてしまうと、彩度が低下したような見栄えの悪い画像となってしまう。
【0008】
上記課題を解決するために、特許文献1(特開2001-45311)では、輝度色差空間において、色空間境界までの相対距離を保つように彩度コントロールを行う方法が提案されている。また、類似例として、特許文献2(特開2002-271644)も知られている。特許文献2では、様々な色空間境界例を提示して、特許文献1とほぼ同様の処理を行うことで、輝度上昇処理の前後で、相対的に彩度を維持する方法を開示している。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2001-45311
【特許文献2】特開2002-271644
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかし、上記従来例には以下のような課題が存在する。
【0011】
まず、従来例に記載されているような色空間境界に対する相対距離を保つ方法を、全ての色相、彩度について一律に施すと、補正結果が過補正になる場合がある。例えば、肌色領域の再現性は、デジタルカメラやプリンタの出力では非常に重要となる要素である。この肌色領域に対して上記方式を適用すると、彩度が強調されすぎて人肌や顔が赤っぽくなりすぎて、好ましくない結果が得られることを、実験により確認している。
【0012】
また、特許文献1を適用した際の問題点について、図24を用いて説明する。同図において、縦軸は輝度、横軸はある色相における彩度を示しており、2405、2404は、それぞれ輝度補正前後の注目画素値の彩度値、輝度値を示している。また、2401は、任意の色空間(例えば、sRGB空間)の境界を示している。すなわち、sRGB色空間は、境界2401とY軸で囲まれる閉領域にのみ存在することができるとする。この場合、同図に示すように、注目画素の輝度上昇前後における色空間境界2401との相対距離2403,および2402が同じ場合には、輝度を上昇しても彩度が強調されず、やはり彩度低下感のある見栄えの悪い画像となってしまう。
【0013】
さらに、図25に示すように、補正前の注目画素2503の輝度が、注目画素の色相における最大彩度点2502の輝度値よりも高い場合を考える。この場合、色空間境界2501との相対関係を維持しようとすると、同図に示すように補正前に比べ補正後の画素2504の彩度が低下することになる。この場合、やはり彩度低下感のある見栄えの悪い画像となってしまう。
【0014】
本発明は上記課題を鑑みたもので、適切な彩度コントロールを行うことにより、階調補正を行った後でも過補正や彩度低下感を防止しながら、従来よりも見栄えの良い良好な画像を提供することが可能な画像処理装置、および方法を提案する。
【課題を解決するための手段】
【0015】
上記目的を達成するために、本発明においては、入力画像の階調を補正するための階調補正曲線を生成する手段と、輝度色差空間において、該階調補正曲線に基づいて、任意の色相に対して輝度補正後の等彩度ラインを設定する等彩度ライン設定手段と、該等彩度ラインに基づいて、輝度補正後の入力画像データに対して彩度補正を行う彩度補正手段を有する画像処理装置において、前記彩度補正手段が、前記輝度補正後の入力画像データに対して、輝度が低いほど輝度軸から遠ざかり、輝度が高いほど輝度軸に近づくように等彩度ラインを補正するように構成した。
【0016】
また、上記目的を達成するために、本発明においては、入力画像の階調を補正するための階調補正曲線を生成する工程と、輝度色差空間において、該階調補正曲線に基づいて、任意の色相に対して輝度補正後の等彩度ラインを設定する等彩度ライン設定工程と、該等彩度ラインに基づいて、輝度補正後の入力画像データに対して彩度補正を行う彩度補正工程を有する画像処理方法において、前記彩度補正工程が、前記輝度補正後の入力データに対して、輝度が低いほど輝度軸から遠ざかり、輝度が高いほど輝度軸に近づくように等彩度ラインを補正するように構成した。
【発明の効果】
【0017】
本発明によれば、画像の階調補正後に等彩度ラインを新たに設定し、該等彩度ラインに基づき彩度補正量を設定することで、階調補正後の彩度低下を防止でき、階調補正後の輝度値に応じた適切な彩度補正量を決定することができる。
【図面の簡単な説明】
【0018】
【図1】第1の実施例における補正パラメータ算出部のフローチャート
【図2】本発明の画像処理方法が実行可能なハードウェア構成例
【図3】第1の実施例における処理のブロック図
【図4】画像解析部のフローチャート
【図5】輝度ヒストグラムを説明するための図
【図6】露出適正度判定処理のフローチャート
【図7】補正パラメータ算出部のフローチャート
【図8】輝度補正のための階調補正曲線の説明図
【図9】彩度と色相の算出方法を説明するための図
【図10】色再現空間情報を説明するための図
【図11】注目格子点に対応した色空間境界位置の算出方法の説明図
【図12】輝度補正後の等彩度ライン設定方法の説明図
【図13】等彩度ラインのバリエーションを説明するための図
【図14】第2の実施例における画像解析部のフローチャート
【図15】第2の実施例における補正パラメータ算出部のフローチャート
【図16】撮影シーンに依存した等彩度ラインの設定方法の説明図
【図17】彩度の過補正を説明するための図
【図18】第3の実施例における補正パラメータ算出部のフローチャート
【図19】第4の実施例における処理のブロック図
【図20】第4の実施例における補正パラメータ算出部のフローチャート
【図21】色空間の違いによる色空間境界の違いを説明するための図
【図22】従来の彩度補正を説明するための図
【図23】従来の彩度補正を説明するための図
【図24】従来の彩度補正を説明するための図
【図25】従来の彩度補正を説明するための図
【発明を実施するための形態】
【0019】
(第1の実施例)
以下、本発明における好適な第1の実施例について説明する。なお、以下の記載はプリンタ本体内部の画像処理部を想定して説明を行うが、これはあくまで実施の1つの形態を例として示したものであり、本発明は以下の実施に限定されるものではない。
【0020】
(ハードウェアの説明)
図2は、本発明の画像処理方法が実行可能なプリンタのハードウェア構成200の例を示している。201はCPU、203が各種制御プログラム・テーブルが格納されているROM、202はRAM、204は2次記憶装置(たとえばハードディスク)である。205は操作部、表示装置などを含むユーザーインターフェースである。206は外部インターフェース(たとえばUSB(商標登録)、メモリカードリーダー)であり、該インターフェースを介して、メモリカード209から画像データを読み込んだり、パーソナルコンピュータ210に接続される。207は原稿読取装置(たとえばスキャナ)、208はプリントエンジンである。以上のリソースが、システムバス211に接続されている。
CPU 201は、ROM 203または2次記憶装置204に格納されたプログラム(以下で説明する処理プログラムを含む)をワークメモリであるRAM 202にロードして当該プログラムを実行する。そして、CPU201は、当該プログラムに従いシステムバス109を介して上記の各構成を制御することで、当該プログラムの機能を実現する。
【0021】
(処理のブロック図)
図3は、本実施例における処理のブロック図で、CPU201によって実行される処理である。ユーザーより、例えばプリンタにおける印刷処理などの指示(印刷指示)がUI205を介して入力された場合、まず301において、IF206に接続されたメモリカードや、画像読取装置207(たとえばスキャナ)から、処理対象となる画像データを読み込む。
【0022】
次に、画像解析部302において、画像の解析処理を行う。本実施例における画像解析部では、主に写真画像の露出の適正度について判定を行う。該判定処理には様々な方法が考えられ、例えば、画像中から公知の顔検出技術を用いて人物の顔領域を抽出し、該顔領域の明るさから、適正度判定を行うことが考えられる。
【0023】
次に、補正パラメータ算出部303において、該露出の適正度判定に基づいて、画像を補正するための各種パラメータを算出する。算出するパラメータについては、後に詳細を説明する。
【0024】
次に、画像補正部304において、該補正パラメータを用いて画像の補正を行い、色変換部305において、補正後の画像をインク色成分(たとえばCMYK)に変換する。その後、擬似階調処理部306において、該インク色成分毎に擬似諧調処理(たとえば誤差拡散、ディザ)を施し、プリントエンジン部307において、印字媒体にプリント処理が施される。
【0025】
以上が、ブロック図を用いた処理の概要説明である。
【0026】
(フローチャートの説明)
以下では、本実施例における処理のフローチャートを参照しながら、上記説明した各処理ブロックの詳細説明を行う。
【0027】
(画像読み込み部)
画像読み込み部301では、処理対象画像データの読み込みを行う。読み込みは、IF206を介して接続されているメモリカード内に含まれている画像データを読み込んだり、読み取り装置207によって原稿を光学的にスキャンして得られたデータを読み込むことで実現できる。読み込んだ画像データは、その色空間が、例えばsRGB空間であるのか、あるいはadobe RGB(米アドビ社の登録商標)空間であるのか、さらにはその他の色空間であるかを識別するためのフラグ情報と共に、次段の処理に送られる。
【0028】
(画像解析部)
図4は、画像解析部302が実行するフローチャートを示している。まずS401において、入力画像のリサイズを行う。以降のヒストグラム算出や顔検出処理は、例えば入力画像が4000×3000画素の場合、全ての画素に対して処理を行うと膨大な処理量が必要となる。上記顔検出処理やヒストグラム算出処理は、画像の特徴を捉えるだけの解像度に縮小し、該縮小画像に対して処理を行うことで、全体の処理量を低減することができる。本発明においては、縮小アルゴリズムや縮小解像度は特に規定しないが、例えば、VGAサイズ(640×480画素相当)に縮小すると効果的である。
【0029】
次に、S402において該縮小画像に対して、色変換処理を行う。これは、以降の解析処理において、共通の色空間で処理を行う方が、露出適正度判定部などにおけるパラメータ設計が容易になるからである。本実施例においては、共通色空間をsRGB空間とし、その他の色空間が入力された場合には、S402において公知の変換手段を用いてsRGB空間に変換する。
【0030】
次に、S403において、画像全体のヒストグラム算出を行う。ヒストグラム算出はどのような方法を用いてもよいが、ここでは、各画素のsRGB値を輝度色差空間(例えば、YCbCr空間)に変換し、各成分毎にヒストグラムを算出するものとする。入力画像が全体的に露出不足の状態で撮影された場合、輝度成分ヒストグラム(8bit精度とする)は図5に示すように、暗部に偏った分布となる。
【0031】
次に、S404において、画像中から所望の被写体を検出する。本発明において被写体は特に限定するものではないが、ここでは人物の顔を例に挙げて主要被写体検出を説明する。人物顔の検出に関しては、これまで様々な手法が提案されており、本実施例においてはそのいずれを用いても構わない。
【0032】
次に、S405において、上述したヒストグラム情報、および顔検出情報を用いて、露出の適正度判定を行う。
【0033】
図6は本実施例における簡単な適正度判定の例を示している。S601において、顔が検出できたか否かの判定を行い、検出できていれば、S602において顔領域内の平均輝度値を、予め定められた露出の適正度合いを決定するための閾値と比較する。比較の結果、顔領域内の平均輝度値が閾値を上回っていれば、適正露出と判断し、下回っていれば、露出不足と判断する。顔が検出できなかった場合、S603において、該ヒストグラムから算出した画像全体の平均輝度値を予め定められた閾値と比較し、閾値を上回っていれば適正露出と判断し、下回っていれば、露出不足と判断する。
【0034】
以上が、本実施例における画像解析部302の説明である。
【0035】
(補正パラメータ算出部)
以下では、補正パラメータ算出部303が実行する処理について、図7のフローチャートを用いて説明する。
【0036】
まず同図のS701において、該露出適正度判定の結果に応じて、輝度補正用のトーンカーブTc[256](階調補正曲線)を生成する。図8に、本実施例において露出不足と判定された場合のトーンカーブの生成例を示す。図8において、横軸は補正前の輝度、縦軸は補正後の輝度を示している。また、ObjYおよびTarYは、顔が検出できた場合には、ObjYが顔領域内平均輝度、TarYが予め設定されている顔領域の目標輝度値を意味する。一方、顔が検出できなかった場合には、ObjYは画像全体の平均輝度、TarYは予め設定されている画像全体平均輝度の目標値を意味する。もし、露出不足ではないと判定された場合には、該トーンカーブは、補正前輝度値と補正後輝度値が一致するような直線としてもよい。トーンカーブはどのような輝度レンジ、およびビット精度で生成してもよいが、本実施例では簡単のため、8bit精度(0〜255)の各入力輝度値に対する出力輝度値を、256個の配列に格納する1次元ルックアップテーブルを想定している。
【0037】
(3DLUTの生成)
次に図7のS702において、上記トーンカーブ(階調補正曲線)を用いて補正用の3次元ルックアップテーブル(以下、3DLUT)を生成する。
【0038】
ここで、入力画像データの解像度が、上述したような3000×4000画素といった高解像度画像の場合を考える。この場合、各画素毎に該トーンカーブを用いて輝度補正を行い、その後、後述する彩度強調量(彩度補正量)を算出して彩度補正を行おうとすると、膨大な計算量が必要となる。近年のパーソナルコンピュータのように、高速CPUと高速アクセスRAMを搭載したハードウェアであれば、後述するような膨大な演算処理も実現可能である。しかし、デバイス組込み機器(たとえばデジタルカメラやプリンタ)においては、現実的な速度で処理することは不可能である。
【0039】
このため、本実施例では3DLUTを用いた補正方法について説明する。3DLUT方式では、あらかじめ定められた格子点の画素値のみに対して上記補正演算を行い、格子点間の画素値に対しては、公知の補間演算を用いて補正後の画素値を算出する。例えば、公知の四面体補間演算では、数回の比較演算と4回の乗算を行うことで1画素1成分の値を算出することが可能であり、高速処理が可能というメリットがある。
【0040】
図1に、本実施例における3DLUT生成処理のフローチャートを示す。本実施例においては、例としてsRGB空間における格子点数729点の3DLUTを生成する。729格子点の3DLUTは、8bit精度のRGB各成分値(0〜255)を32間隔で均等に分割することで得られる。
【0041】
まず、最初の格子点RGB値(R, G, B)に対して、S101で輝度色差成分(ここではYCbCr成分)に変換する。変換は公知の公式によって行えばよい。
【0042】
次に、S102において、次式により、得られた輝度成分Yに対して図8に示したトーンカーブTcを適用し、補正後の輝度値Y’を得る。
Y’=Tc[Y]
【0043】
次に、S103において、S101で算出した色差成分CbCr値を用いて、注目格子点の色相および彩度を算出する。図9は、注目格子点901の色相および彩度の算出方法を説明するための図である。同図において、横軸はCb値、縦軸はCr値を示している。色相は、同図に示すように、CbCr平面において、角度Hで表現できる。また、彩度は、同図に示すように、CbCr平面において、原点からの距離Sで表現できる。
【0044】
次に、S104において、上記注目格子点のYCbCr値、および輝度補正後のY’値、さらに予め保持している色再現空間情報109を用いて、注目格子点に対応している色空間境界位置を算出する。
【0045】
本ステップの説明を行う前に、色再現空間情報109について説明する。図10は、輝度色差空間におけるsRGB色空間の境界を示している。図10において、横軸はある色相における彩度値(原点からの距離)を、縦軸は輝度成分(0〜255)を示している。同図において直線で囲まれた矩形領域の内側が、sRGB色空間の存在範囲を示しており、その境界は図のようにほぼ直線で近似することができる。そのため、本実施例においては、sRGB色空間の境界情報として、図中に示したような任意の色相hmにおける最大彩度点1001の、彩度値Smax[hm]と輝度値Ymax[hm]を予め算出し、ROM203に記憶しておく。Smax、Ymaxを保持しておく際の色相の間隔について、本実施例では特に限定するものではないが、例えば、色相0度から360度まで、1度刻みの色相間隔毎に保持しておくと、精度も高く効果的である。なお、同図は簡単のためある色相方向のみの2次元平面で示しているが、実際にはYCbCr3次元空間において、各色相毎に同様の色空間境界が形成されている。
【0046】
S104では、該色再現空間情報を基に、注目格子点に対応する色空間境界位置を算出する。以下では、色空間境界位置算出処理を、図11を用いて説明する。まず、注目格子点1101の色相がhであるとすると、該色再現空間情報のSmax[h]およびYmax[h]の値を参照し、輝度・彩度平面における色空間境界直線Lu, Llを形成する。Lu, Llは、点(Smax[h], Ymax[h])からそれぞれ、(255,0)、(0,0)に結んだ直線となる。さらに、注目格子点1101と同一彩度となる直線1102を形成し、該直線がLu, Llと交わる点1103, 1104を、注目格子点に対応する色空間境界の最上位点(Su, Yu)、最下位点(Sl, Yl)とする。
【0047】
次にS105において、算出した最上位点(境界画素)、最下位点(境界画素)に対して階調補正用トーンカーブを適用し、階調補正後の最上位点、最下位点を設定する(色空間境界位置を更新する)とともに、それらを用いて、階調補正後の等彩度ラインを設定する。ここで、等彩度ラインとは、輝度値が異なっても彩度が等しいと考えることができるラインのことである。
【0048】
本実施例における該等彩度ライン設定処理を、図12を用いて説明する。同図において、まず最上位点、最下位点の輝度成分に対して該トーンカーブ(階調補正曲線)を適用して補正後の輝度値Yu’、Yl’を算出する。
Yu’=Tc[Yu]
Yl’ = Tc[Yl]
【0049】
次に、最下位点について、最下位点は元々色空間境界直線Ll上に存在していたので、輝度補正後の最下位点も、直線Ll上に位置するように、図中(Sl’, Yl’)に設定する。次に、最上位点について、最上位点は元々色空間境界直線Lu上に存在していたが、輝度補正後の最上位点も直線Luに位置するように設定すると、彩度が補正前よりも低下することになり、見栄えの悪い画像を形成する恐れがある。そのため、本実施例においては、最上位点は彩度低下を生じないように、図中(Su, Yu’)に設定するものとする。このようにして色空間境界位置更新処理を行なう。上記点(Su, Yu’)および(Sl’, Yl’)を結んだ直線Lzを、輝度補正後(色空間境界位置更新後)の等彩度ラインとし、注目格子点の階調補正後の彩度は、該直線上に位置するように制御する。言い換えれば、補正前の注目画素の等彩度ラインは、点(Su,Yu)および(Sl,Yl)を結ぶ直線だったが、それが、階調補正により直線Lzに変化すると考えることができる。
【0050】
次にS106において、注目格子点の、輝度補正後の彩度強調量(彩度補正量)を算出する。該算出処理も図12を参照しながら説明する。本実施例では、上述したように、注目格子点の彩度を直線Lz上に制御する。すなわち、輝度補正前の注目格子点(S、Y)は、輝度補正後、直線Lz上の(S’, Y’)に設定する。S, およびS’により、彩度強調係数e=S’/Sが求まるので、以下の式により、注目格子点(Y, Cb, Cr)の階調補正後の値(Y’, Cb’, Cr’)は以下のようにして求まる。
Y’ = Tc[Y]
Cb’ = Cb × e
Cr’ = Cr × e
【0051】
この結果得られた補正後の格子点画素値(Y’, Cb’, Cr’)を、S107において公知の変換式により(R’,G’,B’)に変換し、3DLUTに格納する。
【0052】
以上の処理を、全ての格子点において処理することで(S110)、補正後の3DLUTを生成することが可能となる。
【0053】
3DLUT生成後は、画像補正部304において、入力画像データの各画素値に対して公知の補間方法(例えば四面体補間、三角柱補間、立方体補間)により該3DLUTを適用し、補正後の画像データを生成する。補正後画像データは、色変換部305においてインク色成分(たとえばCMYK)に変換され、擬似階調処理306(たとえば誤差拡散、ディザ)を経て、プリントエンジン部307で印字媒体上に画像として形成される。
【0054】
以上説明したように、本実施例に説明した画像処理によれば、輝度補正後の彩度を図12の直線Lzのように制御することで、中間長全域に渡って彩度を強調することができるため、彩度低下感を防止し、見栄えの良い画像データを生成することができる。
【0055】
本実施例の本質は、輝度補正後の等彩度ラインを再設定することにある。等彩度ラインとは、輝度が異なっても彩度が等しいと考えることができるラインのことである。輝度補正前(色空間境界位置更新前)、注目格子点の等彩度ラインは、図12中の点(Su, Yu)および点(Sl, Yl)を結ぶ、Y軸に平行なラインであり、この直線状に存在する点は全て彩度が等しい。一方で、本実施例における階調補正後の等彩度ラインは、階調補正後の最下点(Sl’, Yl’)および最上位点(Su, Yu’)を結ぶ直線として再設定し、注目格子点の補正後の彩度を、新たな等彩度ライン上に制御している。さらに、この新たな等彩度ラインが、Y軸に対して平行ではなく、輝度が高いほどY軸に近づくように設定されている。このことにより、輝度の低い格子点に対しては、十分彩度を強調することができ、輝度の高い格子点に対しては、彩度低下せず、さらに過補正も生じにくい彩度制御を行うことができるという、格別の効果が存在する。
【0056】
従って、上述したような、新しい等彩度ラインは、輝度が高いほどY軸に近く、輝度が低いほどY軸から遠ざかるようなラインであれば、本発明の目的を達成することができる。例えば、図13に示したように、本発明の等彩度ラインはLzで示したような直線に限られず、Lz1やLz2のように、曲線になったとしても、本発明の範疇に含まれることになる。
【0057】
また、本発明における等彩度ライン再設定は、色空間境界直線Ll、Luの傾きによって決定される。この傾きは、注目格子点の色相に応じて様々に変化する。言い換えれば、色相毎に色空間境界に応じて最適な等彩度ラインを設定することができるというメリットも、本発明には含まれることになる。
【0058】
なお、本実施例においては、高速化のために3DLUTを用いた補正方法について説明を行ったが、本発明はこれに限定されるものではない。全体の処理量は増加するが、3DLUTを生成せず、入力画像中の全ての画素値に対して本実施例で説明したような彩度強調処理を行っても構わない。
【0059】
以上が第1の実施例の説明である。
【0060】
(第2の実施例)
本実施例では、第1の実施例で述べた等彩度ラインを、入力画像の撮影シーンに応じて変化させる方法について説明する。
【0061】
図14は、本実施例における画像解析部302が実行するフローチャートである。第1の実施例と異なるのは、S1406で撮影シーン判定を行うことにある。図14のS1401〜S1405は、第1の実施例の図4のS401〜S405と同様である。
本実施例において、この撮影シーン判定はどのようなアルゴリズムを用いてもよく、例えば、入力画像に付加されている付加情報から判定してもよいし、画像のヒストグラムを解析し、その結果から撮影シーンを推定してもよい。本実施例では簡単のため、S1406において(風景シーン、人物シーン、夜景シーン、標準シーン)のいずれのシーンであるかが判定されるものとする。判定されたシーン種別情報は、補正パラメータ算出部303に入力され、同部において撮影シーン毎に適切な彩度制御を行った3DLUTを生成する。
【0062】
図15は、本実施例における補正パラメータ算出部303の処理のフローチャートを示している。第1の実施例と異なるのは、S1505に該撮影シーン情報1511とシーン毎等彩度ライン情報1512が入力されている点である。図15のS1501〜S1510は、第1の実施例の図1のS101〜S110と同様である。
【0063】
ここで、シーン毎等彩度ライン情報について、図16を用いて説明する。図16は、簡単のため、図12における階調補正後の等彩度ラインLzを横方向に回転した図となっている。本実施例では簡単のため、図16に示すように、撮影シーンが標準だった場合、直線Lstを等彩度ラインとして設定する。撮影シーンが夜景だった場合には、彩度強調量がやや多い直線Lyaを、風景だった場合には、彩度強調量がさらに多いLfuを設定する。さらに、撮影シーンが人物だった場合には、彩度強調をできるだけ抑えるために、直線Ljiを設定することが考えられる。
【0064】
このような実施形態を考えた場合、S1505の等彩度ライン情報は、例えば、図16中の中央部分の偏差量を、各シーン毎に保持していてもよい(シーン毎等彩度ライン情報保持手段)。同図中では、風景用偏差がdfu、夜景用偏差がdya、人物用偏差がdji、標準用偏差はdstだがこの場合0となっている。また、等彩度ラインは、それぞれの直線形状そのものを、テーブルとして保持しておいてもよい。
【0065】
いずれにせよ、各シーン毎に等彩度ラインの形状を変化させることが本実施例の特徴であり、ラインを形成できるだけの情報を保持しているのが、シーン毎等彩度ライン情報ということになる。
【0066】
その他の処理は、第1の実施例で説明したものと同様のため、ここでは割愛する。
【0067】
以上説明したように、本実施例においては、入力画像の撮影シーンに応じて等彩度ライン形状を変化させることにより、各シーン毎に更に適正な彩度制御を行うことができる。
【0068】
以上が第2の実施例の説明である。
【0069】
(第3の実施例)
本実施例では、以上述べた実施例において、注目格子点の色相毎に、過補正を防止するための制御方法について説明する。
【0070】
第1の実施例では、YCbCr空間において、色相毎に色再現空間情報として、図10に示すようなSmax[h]およびYmax[h]をあらかじめ保持しておき、直線によって色空間境界を形成することを説明した。このとき、ちょうど図17のY軸より右側が示すように、例えば青系の色相は、彩度Smax[h]が高く輝度Ymax[h]が低いことから、色空間境界の下端直線Llの傾きは非常に低くなる。このような第1の実施例をそのまま適用すると、以下のような問題が発生する。
【0071】
すなわち、例えば図17に示すように、補正前の最下点(Sl,Yl)に対して、補正後の最下点(Sl’, Yl’)の彩度が強調されすぎ、その結果直線Lz上に注目格子点の彩度を制御してしまうと、過補正になることがある。
【0072】
上記課題を鑑み、本実施例では第2の色再現空間情報を設定する際に、色相毎に彩度強調量に上限を設けることにより、過補正を防止する方法を述べる。
【0073】
本実施例におけるパラメータ算出部303のフローチャートを図18に示す。第1の実施例と異なる点は、S1805に対して色相毎抑制係数1811が入力される点にある。図18のS1801〜S1810は、第1の実施例の図1のS101〜S110と同様である。
本実施例における該色相毎抑制係数は、輝度補正後の最下位点の彩度の変動量を抑制するために利用する。本実施例においては、最下位点用の抑制係数をRl[360]とし、取りうる値の範囲を、例えば以下のように設定する。
Rl[360]=1.0〜2.5
【0074】
上記Rl[h]は、色相に応じて1.0〜2.5までの値が設定されている。特に直線Llの傾きが低い青系の色相付近では2.5に近い値が、傾きが急峻な黄色の色相付近では1.0に近い値となるようなテーブルとして設定されている(彩度抑制係数保持手段)。
【0075】
注目格子点の色相をhとした時、階調補正前後の最下点の彩度強調量Plは以下のように算出できる。
Pl = Sl’/Sl
【0076】
上記PlがRl[h]より大きい場合、Sl’を以下のように抑制する。
Sl’ = Sl × Rl[h]
【0077】
以上のように抑制した最下位点(Sl’, Yl’)値を用いて、等彩度ラインを設定し、注目格子点の彩度値を決定する。
【0078】
上記以外の処理については、第1の実施例と同様であるため、ここでは割愛する。
【0079】
以上説明したように、本実施例によれば、色相毎に最下点の彩度抑制係数を保持しておくことで、特に過補正が生じやすい色相領域において、過補正を防止することが可能となる。
【0080】
なお、上記実施例中に記載した具体的な数値は全て説明のための例であり、本発明の目的を達成可能であれば、いかなる数値を用いたとしても、本発明の範疇に含まれることは言うまでもない。
【0081】
以上が、第3の実施例の説明である。
【0082】
(第4の実施例)
これまでの実施例では、簡単のために色空間をsRGBに限定して説明を行ってきた。しかし、例えば本方式をプリンタの印刷システムの中に組み込んで行う場合、入力画像の色空間や出力色空間が必ずしもsRGBだけとは限らないため、他の色空間に対しても適用可能な形態を考える必要がある。本実施例においては、入力色空間を複数想定し、該色空間毎に色再現空間情報を保持し、必要に応じてそれらを切り替えて利用することで、上記課題に対応する方法を記載する。
【0083】
本実施例における処理のブロック図を図19に示す。第1の実施例と異なる点は、UI設定部1901が追加されている点である。UI設定部は、プリンタのUI205を介して、ユーザーが所望のプリント処理を設定、および実行を指示するためのステップを表している。以降の処理はユーザからの指示内容に応じて実行される。
【0084】
例えば、ユーザーがメモリカードからの写真プリントの実行を指示した場合、画像読み込み部1902では、IF206を介して接続されているメモリカード209から所望の画像データを読み込む。読み込まれた画像データは、入力画像の色空間を特定するための属性情報と共に次段の画像解析部へ入力する。
【0085】
また、ユーザーがコピーの実行を指示した場合、画像読み込み部1902は、プリンタに搭載されているスキャナを駆動させ、原稿の読み取りを行う。このとき、一般印刷物(たとえば雑誌、カタログ)には、sRGB色空間を越えるような広い色域をもつ場合が多いため、adobe RGBデータとして画像を読み取る。その結果得られた画像データは、adobe RGBであることが識別できる付加情報と共に、次段の画像解析部へ入力する。
【0086】
画像解析部の処理は、これまでの実施例と同様であるため、ここでの詳細説明は割愛する。
【0087】
図20は、本実施例における補正パラメータ算出部1904の処理のフローチャートを示している。これまでの実施例と異なる点は、出力色空間を決定するステップS2001が挿入されている点と、色再現空間情報2011が複数保持されている点である。
【0088】
本実施例においては、出力色空間、すなわち、補正パラメータ算出部で算出する3DLUTの色空間は、簡単のため、sRGBおよびadobe RGBの2種類とする。図21は、ある色相に関して、縦軸が輝度、横軸が彩度で表される平面において、sRGBとadobe RGB空間の色空間境界を示した模式図である。通常、sRGBに比べて太線で示したadobe RGBの方が広い色空間をカバーすることができる。本実施例においては、この2つの色空間に対応するため、sRGBの色空間情報としてS_Smax[h]およびS_Ymax[h]を、adobeRGBの色空間情報として、A_Smax[h]、A_Ymax[h]を予め算出し、保持しておく。上記配列の意味は第1の実施例で説明したものと同様のため、ここでの詳細説明は割愛する。
【0089】
S2001の出力色空間決定処理では、入力画像に付加されている色空間を表す付加情報を参照し、入力画像がsRGBであれば、2011のsRGB用色再現空間情報を選択し、sRGBの3DLUTを生成する。一方で、入力画像がadobe RGBであれば、2011のadobe RGB用色再現空間情報を選択し、adobe RGBの3DLUTを生成する。
【0090】
上記以外の処理については、これまでの実施例と同様のため、ここでは詳細説明を割愛する。
【0091】
以上説明したように、本実施例では入力が想定される様々な色空間に対して、予め輝度色差空間における色再現空間情報を保持しておく。さらに、読み取り装置で読み込んだ画像データの色空間に応じて所望の色再現空間情報を選択して利用することで、色空間に対して適応的な処理が可能となる。
【0092】
なお、本実施例では、入力画像の色空間に応じて、複数保持してある色空間境界テーブルを切り替える方法について述べたが、本発明はこれに限定されるものではない。例えば、UI設定部で設定した用紙の種類や印刷品位、プロファイルの選択によって切り替えることも本発明の範疇に含まれることは言うまでもない。
【0093】
また、色空間もsRGBおよびadobeRGBに限定されるものではなく、他の空間に対しても適用可能であることは言うまでもない。
【0094】
さらに、S2001における出力色空間決定方法も、本実施例では、簡単のため入力画像の色空間に応じて決定することを説明したが、本発明はこれに限定されるものではない。例えば、予め設定されたプリンタの動作モードや用紙、印刷品位によって、出力色空間が定められていてもよい。
【0095】
以上が、第4の実施例の説明である。
【0096】
(その他の実施例)
以上の実施例では、簡単のため、輝度色差空間はYCbCrに限定して説明したが、本発明はこれに限定されるものではない。例えば、既知の輝度色差空間(たとえばLab)に適用した場合においても、本発明の範疇に含まれることは言うまでもない。
【0097】
また、色再現空間情報の保持の方法であるが、本実施例においては、色空間の各色相毎に最大彩度値と最大彩度値における輝度値を保持しておき、任意の彩度値における色空間境界位置を算出する方法について説明したが、本発明はこれに限定されるものではない。
【0098】
色空間境界形状そのものを各色相毎に保持してもよいし、全ての色相角で保持するのはなく、例えば5度間隔で境界情報を保持しておき、その間は補間によって境界情報を求めることもできる。色再現空間情報は、その他類似するいかなる保持手段を採用したとしても、本発明の範疇に含まれることは言うまでもない。
【0099】
また、第1の実施例では階調補正後の最上位点は必ず彩度低下を生じないように設定するよう記載しているが、本発明はこれに限定されるものではない。例えば、補正処理後の画像の見栄えが低下しない範囲で、最上位点(Su, Yu’)が輝度軸側に設定されたとしても、本発明の目的を実現できる範囲であれば、本発明の範疇に含まれる。
【0100】
本発明の実施例は、簡単のためプリンタ200本体における組込み処理として説明したが、本発明はこれに限定されるものではない。例えば、他の画像処理装置(たとえばデジタルカメラ、ファクシミリ装置)の画像補正部に対して、本発明を適用することも容易に可能である。また、PC(パーソナルコンピュータ)で、上述した実施例の処理を実行してもよい。
【0101】
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置)に適用しても良い。
【0102】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0103】
301・・・画像読み込み部
302・・・画像解析部
303・・・補正パラメータ算出部
304・・・画像補正部
305・・・色変換部
306・・・擬似諧調処理部
307・・・プリントエンジン部

【特許請求の範囲】
【請求項1】
入力画像の階調を補正するための階調補正曲線を生成する生成手段と、
注目格子点と同一彩度、かつ、前記注目格子点の色相における色再現空間の境界画素に対して、前記階調補正曲線に基づく階調補正を行う階調補正手段と、
前記階調補正後の色再現空間の境界画素を用いて、等彩度ラインを設定する設定手段と、
前記階調補正曲線と前記等彩度ラインに基づき、前記注目格子点の彩度補正量を決定する決定手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記設定手段は、複数の前記色再現空間の前記境界画素を前記色再現空間で結んだ線を前記等彩度ラインとして設定することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記入力画像を前記階調補正手段によって階調補正した後の輝度値が大きいほど彩度補正量は小さくなり、前記輝度値が小さいほど彩度補正量は大きくなることを特徴とする請求項1または請求項2記載の画像処理装置。
【請求項4】
前記決定手段において決定した彩度補正量に基づき、前記階調補正曲線に基づく階調補正後の入力画像に対して彩度補正することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記生成手段は、前記入力画像から主要被写体を検出し、前記検出された主要被写体の明るさに基づき前記階調補正曲線を生成することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
入力画像の階調を補正するための階調補正曲線を生成する手段と、
輝度色差空間において、該階調補正曲線に基づいて、任意の色相に対して輝度補正後の等彩度ラインを設定する等彩度ライン設定手段と、
該等彩度ラインに基づいて、輝度補正後の入力画像データに対して彩度補正を行う彩度補正手段を有する画像処理装置において、
前記彩度補正手段は、前記輝度補正後の入力画像データに対して、輝度が低いほど輝度軸から遠ざかり、輝度が高いほど輝度軸に近づくように等彩度ラインを補正することを特徴とする。
【請求項7】
前記画像処理装置は、複数の色再現空間情報を保持する保持手段を有することを特徴とする請求項6に記載の画像処理装置。
【請求項8】
さらにユーザーからの印刷指示を入力するための印刷指示手段を備え、
前記等彩度ライン設定手段は、前記印刷指示手段の指示内容に応じて、前記複数の色再現空間情報の中から、所定の色再現空間情報を選択する選択手段を備えることを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記等彩度ライン設定手段は、
前記色再現空間情報に基づき、注目格子点の色相に対応する色空間境界位置を算出する色空間境界位置算出手段と、
前記階調補正曲線に基づき、輝度補正後の色空間境界位置を算出する色空間境界位置更新手段と、
前記更新後の色空間境界位置に応じて等彩度ラインを再設定する等彩度ライン再設定手段を備えることを特徴とする請求項6乃至8にいずれか1項記載の画像処理装置。
【請求項10】
前記色再現空間情報は、輝度色差空間において、色相毎に、最大彩度点における彩度値と輝度値を保持することを特徴とする請求項6乃至8のいずれか1項に記載の画像処理装置。
【請求項11】
前記等彩度ライン設定手段は、撮影シーン毎に等彩度ラインの形状を保持するシーン毎等彩度ライン情報保持手段を有し、入力画像データの撮影シーンに応じて、等彩度ライン形状を変化させることを特徴とする請求項6乃至8のいずれか1項に記載の画像処理装置。
【請求項12】
前記等彩度ライン設定手段は、輝度色差空間において、色相毎に彩度抑制係数を保持する彩度抑制係数保持手段を有し、該彩度抑制係数に応じて、等彩度ラインの傾きを制御することを特徴とする請求項6乃至8のいずれか1項に記載の画像処理装置。
【請求項13】
前記生成手段は、画像中から主要被写体を検出する主要被写体検出手段を有し、該主要被写体の明るさを適正にするための階調補正曲線を生成することを特徴とする請求項6乃至8のいずれか1項に記載の画像処理装置。
【請求項14】
入力画像の階調を補正するための階調補正曲線を生成する工程と、
輝度色差空間において、該階調補正曲線に基づいて、任意の色相に対して輝度補正後の等彩度ラインを設定する等彩度ライン設定工程と、
該等彩度ラインに基づいて、輝度補正後の入力画像データに対して彩度補正を行う彩度補正工程を有する画像処理方法において、
前記彩度補正工程は、前記輝度補正後の入力画像データに対して、輝度が低いほど輝度軸から遠ざかり、輝度が高いほど輝度軸に近づくように等彩度ラインを補正することを特徴とする。
【請求項15】
入力画像の階調を補正するための階調補正曲線を生成する生成工程と、
注目格子点と同一彩度、かつ、前記注目格子点の色相における色再現空間の境界画素に対して、前記階調補正曲線に基づく階調補正を行う階調補正工程と、
前記階調補正後の色再現空間の境界画素を用いて、等彩度ラインを設定する設定工程と、
前記階調補正曲線と前記等彩度ラインに基づき、前記注目格子点の彩度補正量を決定する決定工程と
を有することを特徴とする画像処理方法。
【請求項16】
コンピュータに、請求項14または請求項15記載の画像処理方法を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2013−93897(P2013−93897A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2013−5003(P2013−5003)
【出願日】平成25年1月15日(2013.1.15)
【分割の表示】特願2009−122804(P2009−122804)の分割
【原出願日】平成21年5月21日(2009.5.21)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】