(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
<第1実施形態の説明>
図1は、画像処理装置、撮像装置の一例である第1実施形態の電子カメラの構成例を示す図である。
【0011】
電子カメラ11は、撮影光学系12と、撮像部13と、画像処理エンジン14と、第1メモリ15と、第2メモリ16と、記録I/F17と、表示部18と、操作部19とを備えている。ここで、撮像部13、第1メモリ15、第2メモリ16、記録I/F17、表示部18および操作部19は、それぞれ画像処理エンジン14と接続されている。
【0012】
撮像部13は、撮影光学系12によって結像された被写体の像を撮像(撮影)するモジュールである。例えば、撮像部13は、光電変換を行う撮像素子と、撮像素子の出力にアナログ信号処理やA/D変換処理などを施す信号処理回路とを含んでいる。ここで、撮像素子の画素には、例えば公知のベイヤ配列に従ってRGBのカラーフィルタが配置されており、カラーフィルタでの色分解によって各色に対応する画像信号を出力する。これにより、撮像部13は、撮影時にカラーの画像を取得できる。なお、撮像部13で撮影された画像のデータは、画像処理エンジン14に入力される。
【0013】
画像処理エンジン14は、電子カメラ11の動作を統括的に制御するプロセッサであって、画像のデータに対して、色補間、階調変換、ホワイトバランス補正、輪郭強調、ノイズ除去などの画像処理を施す。また、画像処理エンジン14は、プログラムの実行により、信号変換部21、係数決定部22、座標変換部23として機能する(信号変換部21、係数決定部22、座標変換部23の動作については後述する)。
【0014】
第1メモリ15は、各画像のデータを一時的に記憶するメモリであって、例えば揮発性の記憶媒体であるSDRAMで構成される。また、第2メモリ16は、画像処理エンジン14で実行するプログラムや、このプログラムで使用される各種データを記憶するメモリであって、例えばフラッシュメモリ等の不揮発性メモリで構成される。
【0015】
記録I/F17は、不揮発性の記憶媒体20を接続するためのコネクタを有している。そして、記録I/F17は、コネクタに接続された記憶媒体20に対して画像のデータの書き込み/読み込みを実行する。上記の記憶媒体20は、例えば、ハードディスクや、半導体メモリを内蔵したメモリカードである。なお、
図1では記憶媒体20の一例としてメモリカードを図示する。
【0016】
表示部18は、各種画像を表示する表示装置である。表示部18は、例えば、撮像部13の出力による画像のライブビュー表示や、記憶媒体20からの出力による再生表示を行う。また、操作部19は、ユーザの各種操作(例えば被写体の撮影指示や、色調整の設定変更の指示など)を受け付けるスイッチを含む。
【0017】
次に、
図2の流れ図を参照しつつ、第1実施形態の電子カメラの動作例を説明する。なお、
図2の処理は、静止画像の撮像時に画像処理エンジン14がプログラムを実行することで開始される。
【0018】
ステップ#101:画像処理エンジン14は、ユーザの撮影指示に応じて、記録用の静止画像を撮像部13に撮像させる。これにより、画像処理エンジン14は、処理対象のカラー画像を撮像部13から取得する。なお、#101の段階でのカラー画像は色補間前のRAW画像であって、各画素の信号値はRGBのいずれかの成分に対応する。
【0019】
ステップ#102:画像処理エンジン14は、取得したカラー画像に対して、それぞれ公知のホワイトバランス調整および色補間(ベイヤ補間)を行う。なお、#102の色補間により、カラー画像の各画素でRGB全成分が揃う。
【0020】
ステップ#103:画像処理エンジン14は、カラー画像のうち、色調整を行う注目画素を指定する。ここで、画像処理エンジン14は、カラー画像の全画素を順次注目画素として指定する。また、画像処理エンジン14は、注目画素を変更するときには、画像の左上隅を起点として1行ずつ左から右に注目画素を順番に指定するものとする。
【0021】
ステップ#104:画像処理エンジン14は、注目画素の画素値に対して、標準のsRGBガンマの階調変換曲線G1(2.2乗相当)による第1の階調変換処理を施す。なお、第1の階調変換処理で適用される階調変換曲線G1を
図3に示す。
図3の横軸は、階調変換前の入力画素値(撮像素子の出力)であり、
図3の縦軸は、階調変換後の出力画素値である。
【0022】
ステップ#105:信号変換部21は、注目画素の色空間をRGBからYCbCrへ変換する。なお、#105の処理では、撮像素子の色空間(センサRGB)のままG1で階調変換を施した後のRGB信号値から輝度信号Yを生成している。そのため、上記の処理では、センサRGBからsRGBへの行列変換で生じるような高彩度部での階調段差の発生はない。
【0023】
例えば、#105での信号変換部21は、以下の式(1)〜式(3)により注目画素のRGBの信号値からYCbCrの信号値を求めればよい。
Y = 0.299*R+0.587*G+0.114*B …(1)
Cb=-0.194*R-0.709*G+0.903*B …(2)
Cr= 0.872*R-0.809*G-0.063*B …(3)
上記の式(1)では、便宜的にYはITU−R BT.601で定義されている係数で変換される。また、上記の式(2)、式(3)でのCb,Crは、色票を用いて最適化された係数が適用されている。
【0024】
ステップ#106:係数決定部22は、注目画素の色差信号(Cb,Cr)の値に応じて、色調整に用いる座標変換係数を決定する。#106での係数決定部22は、注目画素の色差信号(Cb,Cr)をCbCr色差平面に写像し、色差平面において注目画素の対応座標が属する色領域から座標変換係数を決定する。
【0025】
(色領域について)
ここで、係数決定部22は、色差平面を色相別に6つの色領域に分割し、各色領域にそれぞれ座標変換係数を予め対応付けする。例えば、係数決定部22は、CbCrの色差平面の原点(Cb,Cr=0)を基準として、上記の色差平面を回転方向に6つの色領域に分割する。
【0026】
図4は、色差平面の分割例を示す図である。
図4では、色差平面の原点を通過する3本の直線によって、赤−黄の色領域(hue=0)、黄−緑の色領域(hue=1)、緑−シアンの色領域(hue=2)、シアン−青の色領域(hue=3)、青−マゼンダの色領域(hue=4)、マゼンダ−赤の色領域(hue=5)で、色差平面が6分割されている。なお、
図4の6角形の範囲は、CbCrが取り得る最大の彩度の軌跡を示している。
【0027】
YCbCrの色空間において、赤(R)、黄(Y)、緑(G)、シアン(C)、青(B)、マゼンダ(M)の頂点の座標はそれぞれ以下の値となる。
R(1,0,0): (y:0.29891; cb:-0.16874; cr: 0.50000)
Y(1,1,0): (y:0.88552; cb:-0.50000; cr: 0.08131)
G(0,1,0): (y:0.58661; cb:-0.33126; cr:-0.41869)
C(0,1,1): (y:0.70109; cb: 0.16874; cr:-0.50000)
B(0,0,1): (y:0.11448; cb: 0.50000; cr:-0.08131)
M(1,0,1): (y:0.41339; cb: 0.33126; cr: 0.41869)
また、
図4に示したCbCrの色差平面を分割する3本の直線(直線R−C,直線Y−B,直線G−M)の傾きkは、それぞれ以下の値となる。
k(R-C)=-2.96314
k(Y-B)=-0.16262
k(G-M)= 1.26393
なお、#106での係数決定部22は、上記の直線で色差平面を区画する条件式を用いて、色差平面に写像された注目画素の座標がhue=0〜5のいずれの色領域に属するかを判定すればよい。なお、上記のように、色差平面の原点を通過する直線で色差平面を複数の色領域に分割した場合、注目画素の属する色領域を判定するときの演算量は小さくなる。
【0028】
(座標変換係数について)
また、第1実施形態での座標変換係数は、hue=0〜5の色領域別に6種類準備されている。各色領域の座標変換係数は、いずれも以下に示す2×2の行列係数で表現される。
【0029】
【数2】
(但し、k1〜k4は任意の変数)
ここで、第1実施形態における各色領域の座標変換係数(k1〜k4)は、色領域の境界の座標を、色調整によって色差平面上で移動させたときの移動量から求めることができる。
【0030】
図5は、或る色領域の境界の座標を色調整で移動させた場合を示す図である。色領域の境界の初期座標をYcc1,Ycc2とし、色調整後に変換される座標をYcc1mv,Ycc2mvとする。また、各座標でのcb成分は「.cb」、各座標でのcr成分は「.cr」で示す。
【0031】
このとき、Ycc1mv.cbは式(4)で示すことができ、Ycc2mv.cbは式(5)で示すことができる。式(4)および式(5)の連立方程式を解くことで、その色領域に対応するk1,k2の値を求めることができる。
Ycc1mv.cb=k1*Ycc1.cb+k2*Ycc1.cr …(4)
Ycc2mv.cb=k1*Ycc2.cb+k2*Ycc2.cr …(5)
また、Ycc1mv.crは式(6)で示すことができ、Ycc2mv.crは式(7)で示すことができる。式(6)および式(7)の連立方程式を解くことで、その色領域に対応するk3,k4の値を求めることができる。
Ycc1mv.cr=k3*Ycc1.cb+k4*Ycc1.cr …(6)
Ycc2mv.cr=k3*Ycc2.cb+k4*Ycc2.cr …(7)
上記の演算を各色領域の座標を用いて行うことで、各色領域のk1〜k4の値をそれぞれ求めることができる。
【0032】
図6は、色調整後の各色領域の変化例を示す図である。色領域の境界の座標は、いずれも隣接する色領域と共通している。或る色領域の境界の座標を色調整で移動させた場合、隣接する色領域の境界の座標も同一方向に移動する。そして、或る色領域の座標変換係数と、隣接する色領域の座標変換係数は、いずれも共通の座標を用いて求められる。そのため、各々の座標変換係数は、色領域の境界において、隣接する色領域の座標変換係数との間で変換後の色差信号の値が一致することとなる。したがって、上記の座標変換係数による色調整では、色領域の境界においても色の連続性が保たれる。
【0033】
また、係数決定部22は、色調整をしたときの色領域境界の座標(R、Y、G、C、B、M)を、ユーザの指定操作に応じて変更する。例えば、係数決定部22は、予め測色的に設定されたプリセットのパターン(例えばSTANDARD,NEUTRAL,VIVID等)をユーザに指定させてもよい。
【0034】
また、係数決定部22は、ユーザの指示に応じて任意の色領域境界の座標を移動させて、関連する色領域の座標変換係数を設定してもよい。このとき、係数決定部22は、CbCrの移動量の入力に応じて色領域境界の座標を移動させてもよく、彩度および色相の移動量の入力に応じて色領域境界の座標を移動させてもよい。なお、係数決定部22は、式(8)および式(9)により、彩度および色相の移動量から色領域境界の座標位置を求めればよい。
mvcb= sat*(cos(th)*cb-sin(th)*cr) …(8)
mvcr= sat*(sin(th)*cb+cos(th)*cr) …(9)
なお、式(8)、式(9)において、「cb,cr」は移動前の座標のcb,cr値を示し、「mvcb,mvcr」は移動後の座標のcb,cr値を示す。また、「sat」は彩度の移動量を示し、「th」は色相の移動量を示す。
【0035】
ステップ#107:座標変換部23は、#106で決定された座標変換係数を用いて、注目画素の色差信号の色空間座標を変換する。この処理により、注目画素のCbCr値が調整される。
【0036】
例えば、第1実施形態の座標変換部23は、式(10)により色差信号Cb,Crの色空間座標を変換すればよい。
【0037】
【数3】
なお、「k1[hue]〜kn[hue]」は、注目画素の属する色領域hueを指定することでk1〜knの係数値を返す関数である(ただし、nは整数)。
【0038】
ステップ#108:画像処理エンジン14は、注目画素の色調整後の画素値に対して、階調変換曲線G2による第2の階調変換処理を施す。なお、第2の階調変換処理で適用される階調変換曲線G2を
図7に示す。
図7の横軸は、階調変換前の入力画素値であり、
図7の縦軸は、階調変換後の出力画素値である。この階調変換曲線G2は、低輝度部分および高輝度部分での階調変化を小さくするS字状のカーブである。第2の階調変換処理では、画像のコントラスト強調や、低輝度部分の階調を圧縮する黒締めが行われる。
【0039】
ステップ#109:画像処理エンジン14は、カラー画像の全画素の処理が終了したか否かを判定する。上記要件を満たす場合(YES側)には#110に処理が移行する。一方、上記要件を満たさない場合(NO側)には#103に戻って、画像処理エンジン14は上記の動作を繰り返す。
【0040】
ステップ#110:画像処理エンジン14は、必要に応じて輪廓強調処理やノイズ除去処理をカラー画像に施した後、記録I/F17を介してカラー画像のデータを記憶媒体20に記録する。以上で、
図2の流れ図の説明を終了する。
【0041】
第1実施形態の電子カメラは、色差平面を色相別に6つの色領域に分割し、各色領域にそれぞれ異なる座標変換係数を対応付けする。各々の座標変換係数は、色領域の境界において、隣接する色領域の座標変換係数との間で変換後の色差信号の値が一致するように設定される。そして、電子カメラは、注目画素の色差信号を色差平面に写像し、色差信号が属する色領域から求めた座標変換係数を用いて色調整を行う(#106,#107)。
【0042】
これにより、第1実施形態の電子カメラでは、色領域境界で色の連続性を保持しつつ、特定の色の彩度、色相の調整を簡易な構成で行うことができる。
【0043】
<第2実施形態の説明>
第2実施形態は、上記の第1実施形態の変形例であって、注目画素の輝度信号(Y)も含めて座標変換を行う場合を説明する。
【0044】
ここで、第2実施形態の電子カメラの構成は第1実施形態と共通するので、同一符号を付して重複説明は省略する。また、第2実施形態の動作例については、第1実施形態の説明および
図2を前提として、第1実施形態と相違する部分のみを説明し、第1実施形態との重複説明は省略する。
【0045】
第2実施形態でのhue=0〜5での各座標変換係数は、いずれも以下に示す3×3の行列係数で表現される。
【0046】
【数4】
(但し、k1〜k6は任意の変数)
以下、第2実施形態における各色領域の座標変換係数(k1〜k6)の求め方を説明する。k1〜k4については、第1実施形態と同様の手法で求めることができる。
【0047】
図8は、或る色領域の境界の座標を輝度方向に移動させた場合を示す図である。上記のように色領域の座標を輝度方向に移動させた場合、Ycc1mv.Yは式(11)で示すことができ、Ycc2mv.Yは式(12)で示すことができる。式(11)および式(12)の連立方程式を解くことで、その色領域に対応するk5,k6の値を求めることができる。
Ycc1mv.Y=Ycc1.Y+k5*Ycc1.cb+k6*Ycc1.cr …(11)
Ycc2mv.Y=Ycc2.Y+k5*ycc2.cb+k6*Ycc2.cr …(12)
上記の演算を各色領域の座標を用いて行うことで、各色領域のk5,k6の値をそれぞれ求めることができる。
【0048】
そして、#107での座標変換部23は、#106で決定された座標変換係数を用いて、注目画素の輝度信号および色差信号の色空間座標を変換する。この処理により、注目画素のYCbCr値が調整される。
【0049】
例えば、第2実施形態の座標変換部23は、式(13)により輝度信号Yおよび色差信号Cb,Crの色空間座標を変換すればよい。なお、式(13)は、無彩色(Cb=0,Cr=0)のときにYは変化せず、かつCbCrの変化はYに関係しない場合の行列である。
【0050】
【数5】
第2実施形態の場合には、上記の第1実施形態の作用効果に加えて、輝度方向(Y)の調整も可能となる。
【0051】
<第3実施形態の説明>
図9は、第3実施形態での画像処理装置の構成例を示す図である。第3実施形態での画像処理装置は、入力画像に対して色調整処理を施すプログラムがインストールされたコンピュータである。
【0052】
図9に示すコンピュータ31は、データ読込部32、記憶装置33、CPU34、メモリ35および入出力I/F36、バス37を有している。データ読込部32、記憶装置33、CPU34、メモリ35および入出力I/F36は、バス37を介して相互に接続されている。さらに、コンピュータ31には、入出力I/F36を介して、入力デバイス38(キーボード、ポインティングデバイスなど)とモニタ39とがそれぞれ接続されている。なお、入出力I/F36は、入力デバイス38からの各種入力を受け付けるとともに、モニタ39に対して表示用のデータを出力する。
【0053】
データ読込部32は、処理対象のカラー画像(色補間前のRAW画像)のデータや、プログラムを外部から読み込むときに用いられる。データ読込部32は、例えば、着脱可能な記憶媒体からデータを取得する読込デバイス(光ディスク、磁気ディスク、光磁気ディスクの読込装置など)や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス(USBインターフェース、LANモジュール、無線LANモジュールなど)である。
【0054】
記憶装置33は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体である。この記憶装置33には、上記のプログラムや、プログラムの実行に必要となる各種データが記憶されている。なお、記憶装置33には、データ読込部32から読み込んだ画像のデータなどを記憶しておくこともできる。
【0055】
CPU34は、コンピュータ31の各部を統括的に制御するプロセッサである。このCPU34は、プログラムの実行によって、第1実施形態、第2実施形態の画像処理エンジン14、信号変換部21、係数決定部22、座標変換部23として機能する。
【0056】
メモリ35は、プログラムでの各種演算結果を一時的に記憶する。このメモリ35は、例えば揮発性のSDRAMである。
【0057】
ここで、第3実施形態での画像処理装置では、CPU34が、データ読込部32または記憶装置33から処理対象のカラー画像を取得する。そして、CPU34は、第1実施形態または第2実施形態の#102〜#110の処理を実行する。かかる第3実施形態においても、第1実施形態または第2実施形態とほぼ同様の効果を得ることができる。
【0058】
<実施形態の補足事項>
(補足1):上記実施形態では、画像のYCbCrデータを用いて被写体抽出を行う例を説明した。しかし、本発明はYCbCr色空間に限定されず、他の色空間(L
*a
*b
*など)の場合にも適用できる。
【0059】
(補足2):上記実施形態では色差平面を6つの色領域に分割する例を説明したが、本発明において色差平面の分割数は適宜変更してもよい。例えば、RGBの座標を色領域の境界として、色差平面を3つの色領域で分割するようにしてもよい。
【0060】
(補足3):上記実施形態では、画像処理装置の各機能をプログラムによってソフトウェア的に実現する例を説明した。しかし、本発明の画像処理装置は、信号変換部21、係数決定部22、座標変換部23の各機能を、例えばASIC(Application Specific Integrated Circuit)を用いてハードウェア的に実現するものであってもよい。
【0061】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。