図1は、本発明を実施した撮像装置の概略を示す図である。撮像装置10は、撮像光学系15によって取り込まれた被写体光を撮像素子16によって光電変換し、光電変換後の電気信号を画像信号として取得する。撮像光学系15は、図示を省略したズームレンズやフォーカスレンズなどを含むレンズ群から構成される。これらズームレンズやフォーカスレンズはレンズ駆動機構17によって光軸L方向に移動する。
撮像素子16は、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal−Oxide Semiconductor)などから構成される。この撮像素子16は、ドライバ18によって駆動制御される。この撮像素子16の駆動制御としては、撮像素子16の各画素における信号電荷の蓄積、及び蓄積された各画素の信号電荷の出力を制御することが挙げられる。なお、各画素の信号電荷は画素信号として出力される。なお、撮像素子16から出力される画像信号は、各画素の画素信号をまとめた信号となる。この撮像素子16から出力される画像信号は、A/D変換部19に出力される。A/D変換部19は、入力されるアナログの画像信号を、デジタルの画像信号に変換する。このデジタルの画像信号は、バッファメモリ20に書き込まれる。
画像処理回路21は、バッファメモリ20に書き込まれた画像信号に対して、ホワイトバランス処理、色補間処理、輪郭補償処理、ガンマ処理などの画像処理を施す。上述したように、A/D変換部19によりデジタルの信号に変換された画像信号は、各画素の輝度を示す信号であることから、以下、該画像信号に対して施されるホワイトバランス処理、色補間処理、輪郭補償処理、ガンマ処理などの画像処理を現像処理と称して説明する。
例えば絵画調の画像を生成しない場合には、現像処理が施された画像信号(以下、現像処理済みの画像データ)が記録用の画像データとなる。この場合、画像処理回路21は、記録用の画像データに対して、解像度変換処理を実行する。これにより、例えば撮像装置10に設けられた表示装置33に合わせた解像度の縮小画像データ等が生成される。
一方、絵画調の画像を生成する場合には、画像処理回路21は、現像処理済みの画像データに対して特殊効果を付与する処理を実行する。この特殊効果を付与する処理を行う機能として、画像処理回路21は、エッジ検出部25、第1エッジ領域調整部26、第2エッジ領域調整部27を備えている。
エッジ検出部25は、現像処理済みの画像データを用いて、該画像データに含まれるエッジ部分(以下、エッジ領域)の検出を行う。このエッジ領域の検出については周知であることから、ここではその詳細については省略する。なお、一般的なエッジ検出処理は、画像の明るさ(輝度)が鋭敏に変化している箇所をエッジ領域として抽出する処理である。このようなエッジ検出処理を行う場合には、細かいテクスチャー部分に生じた鋭敏な明るさの変化部分についてもエッジ領域として検出されてしまう恐れがあるので、本実施形態においては、細かなテクスチャー部分に生じる鋭敏な明るさの変化部分についてはエッジ領域として検出されないように、エッジ検出処理を行う際のパラメータが設定される。なお、この細かな部分に生じる鋭敏な明るさの変化部分がエッジ領域として検出されないように、画像データに対してローパスフィルタ処理等の処理を予め施してもよい。
このエッジ領域を検出する方法としては、例えばRobertsフィルタ、Sobelフィルタ、Prewittフィルタなどの一次微分タイプの空間フィルタ、ラプラシアンフィルタに代表される二次微分タイプの空間フィルタが挙げられる。なお、一次微分タイプの空間フィルタの場合には、一方向に対する処理のみでエッジ領域を求めることから、例えばx方向(水平方向)に対する処理と、x方向に直交するy方向(鉛直方向)に対する処理とをそれぞれ行った後、これら処理の結果を足し合わせることで、エッジ領域を検出してもよい。
また、これら一次、二次微分タイプの空間フィルタを用いてエッジ領域を検出する他に、モルフォロジー演算の膨張−収縮を用いてエッジを抽出するモルフォロジーグラジエントの方法を用いることでエッジ領域を検出する、又は、元画像と該元画像をぼかした画像との差分からエッジ領域を検出することも可能である。
なお、Canny法を用いてエッジ領域を検出する方法や、領域分割による分割線をエッジ領域として検出する方法など、細線化されたエッジ領域が検出される手法は本発明には適していないので、これら方法は除外される。
上述したバッファメモリ20に記憶される現像処理済みの画像データが例えばR(赤)色、G(緑)色、B(青)色からなる色空間で示される画像データ(以下、RGB画像データ)の場合、エッジ検出部25は、RGB画像データの色成分毎にエッジ領域を検出し、色成分毎に検出したエッジ領域を足し合わせることで、画像全体のエッジ領域を検出する。つまり、画像に生じる色収差の色成分が必ずしも単一の色成分であるとは限らないことから、全ての色成分に対して色成分毎のエッジ検出処理を行って、検出される色成分毎のエッジ領域を足し合わせることで、色収差の影響を低減する。
なお、エッジ検出に係る処理時間や処理速度を考慮した場合には、必ずしもR色、G色、B色の全ての色成分を用いてエッジ検出処理を実行する必要はなく、例えばG色成分のみなど、少なくともいずれか1つの色成分を用いてエッジ検出処理を実行することも可能である。
また、現像処理済みの画像データがYCbCr画像データやYUV画像データに代表される、輝度及び色差からなる色空間で示される画像データの場合には、輝度(Y)成分を用いてエッジ領域を検出すればよい。なお、このような画像データを用いる場合には、輝度成分のみを用いたエッジ検出処理となり処理時間を抑えることができるので、例えば動画像データから絵画調の動画像データを生成する場合に有利である。なお、この場合、輝度(Y)成分だけでなく、色差成分(YCbCr画像データの場合にはCb成分及びCr成分、YUV画像信号の場合にはU成分及びV成分)を用いてエッジ検出処理を行うことも可能である。
このエッジ検出部25によるエッジ検出処理を行うことで、抽出されるエッジ領域のアドレス(位置)データが内蔵メモリ41に書き込まれる。なお、エッジ領域の位置データとは、エッジ領域に含まれる画素の位置データである。
第1エッジ領域調整部26は、エッジ検出部25によって検出されるエッジ領域の輝度を調整する。詳細には、この第1エッジ領域調整部26は、エッジ検出部25により抽出されたエッジ領域の位置データと、バッファメモリ20に書き込まれた現像処理済みの画像データとを用いて、エッジ領域の輝度を下げる処理を実行する。
例えば現像処理済みの画像データがRGB画像データからなる場合には、第1エッジ領域調整部26は、エッジ領域に含まれる各画素の画素値にゲインγ(0<γ<1)を乗算する。このエッジ領域に含まれる各画素の画素値は、R色、G色及びB色の各色成分の値からなるので、これら各色成分の値にゲインγを乗算する。これにより、各色成分の値が同一の割合で低下する。これにより、エッジ領域の輝度が低減される。
また、現像処理済みの画像データがYCbCr画像データやYUV画像データとなる場合、第1エッジ領域調整部26は、検出されたエッジ領域に含まれる各画素の画素値のうち、輝度(Y)成分の値に対して、ゲインγ’(0<γ’<1)を乗算する。これにより、輝度(Y)成分の値が低下する。これにより、エッジ領域の輝度が低減される。
第2エッジ領域調整部27は、輝度が低減されたエッジ領域の彩度を調整する。詳細には、この第2エッジ領域調整部27は、第1エッジ領域調整部26により、輝度が低減されたエッジ領域の彩度を低減する処理を実行する。
例えば現像処理済みの画像データがRGB画像データからなる場合には、例えば下記の式に示すマトリクス演算を用いて彩度を低減する。
なお、上述した式における[R,G,B]は、調整処理前のエッジ領域に含まれる画素のR色成分、G色成分、B色成分の画素値であり、[R’,G’,B’]は調整処理後のエッジ領域に含まれる画素のR色成分、G色成分、B色成分の画素値である。また、係数αは、エッジ領域における信号レベルであり、この係数αは0≦α≦1となる。
一方、現像処理済みの画像データがYCbCr画像データやYUV画像データからなる場合には、第2エッジ領域調整部27は、エッジ領域に含まれる画素の画素値のうち、色差成分(YCbCr画像データの場合にはCb成分及びCr成分、YUV画像データの場合にはU成分及びV成分)の値に対して、ゲインδ(0<δ<1)を乗算する。これにより、色差成分の値が低下するので、結果的にエッジ領域の彩度が低減される。なお、ゲインδを乗算する他に、例えばU’=α×U+(1−α)×U(U:調整処理前の色差値、U’:調整処理後の色差値、α:エッジ領域の信号レベル)などの式を用いてもよい。
なお、画像処理回路21は、これら第1エッジ領域調整部26及び第2エッジ領域調整部27によって輝度及び彩度が調整(低減)された画像データに対して、色・階調調整処理を実行する。なお、この色・階調調整処理は、画像全体、又はエッジ領域を除いた領域に対して実行される。この色・階調調整処理としては、該当する領域の階調を調整する処理である。この色・階調調整処理を実行することで、少なくともエッジ領域以外の領域の彩度を上げることができる。なお、画像全体に対して色・階調調整処理を実行した場合には、エッジ領域の彩度も上げることになるが、第2エッジ領域調整部27によってエッジ領域の彩度を一旦低減させているので、エッジ領域の彩度は、色収差を目立たせる原因とはならない。これにより、絵画調の画像データが生成される。なお、絵画調の画像を生成する場合には、生成される絵画調の画像データが記録用の画像データとなる。なお、この場合も、画像処理回路21は、記録用の画像データに対して解像度変換処理を行うことで、縮小画像データを生成する。
圧縮/伸長回路30は、記録用の画像データに対する圧縮(符号化)処理を行う他、記憶媒体32に記憶される画像データに対する伸長(復号化)処理を行う。接続I/F31は、例えばメモリカードなどの記憶媒体32を電気的に接続する。この記憶媒体32は、撮影条件、撮影日時の他、撮像装置10の情報等が付帯情報として付帯された圧縮処理済みの画像データを格納する。なお、記録用の画像データに対して解像度変換を行うことで取得される縮小画像データは、圧縮/伸長回路30にて圧縮処理された後、付帯情報として記録用の画像データに付帯される。
表示装置33は、例えばLCDやELディスプレイなどから構成され、スルー画像や、撮影により得られた画像を表示する。また、この他に、表示装置33は、撮像装置10の設定を行う際の設定用の画像を表示する。なお、符号34は表示制御回路であり、この表示制御回路34は表示装置33における表示制御を実行する。
CPU40は、バッファメモリ20、画像処理回路21、圧縮/伸長回路30、接続I/F31、表示制御回路34、内蔵メモリ41などとバス42を介して接続される。このCPU40は、図示を省略した制御プログラムを実行することで、撮像装置10の各部を統括的に制御する。このCPU40にはレリーズボタン45や操作部46が接続され、これらボタンや操作部の操作に基づく操作信号がCPU40に入力される。この操作信号の入力を受けて、CPU40は、操作信号に基づく処理を実行する。例えばレリーズボタン45が操作されたときには、CPU40は、周知のAE処理、AF処理を行い、これら処理に基づいて撮影条件を決定し、決定された撮影条件に基づいた撮像処理を実行する。なお、AE処理やAF処理については、周知であることから、ここではその詳細については省略する。また、操作部46が操作されたときには、撮像感度やシャッタ速度などを設定する、又は撮影モードを設定する処理を実行する。
以下、撮影により絵画調の静止画像を取得する際の処理の流れを、図2のフローチャートに基づいて説明する。
ステップS101は、レリーズボタンの操作があるか否かを判定する処理である。撮影者によりレリーズボタン45が操作されると、レリーズボタン45の内部に設けられたスイッチがオンとなり、その旨を示す信号がCPU40に出力される。CPU40は、レリーズボタン45の操作を受けて入力される信号の有無により、レリーズボタン45の操作があるか否かを判定する。例えば、レリーズボタン45からの信号がCPU40に入力された場合には、CPU40は、レリーズボタン45の操作があると判定する。この場合、ステップS101の判定処理はYesとなり、ステップS102に進む。一方、レリーズボタン45からの信号がCPU40に入力されない場合には、CPU40は、レリーズボタン45の操作がないと判定する。この場合、ステップS101の判定処理はNoとなり、図2のフローチャートに示す処理が終了する。
ステップS102は、撮像処理である。CPU40は、AE処理を実行することで撮影条件を決定した後、AF処理を実行する。これら処理が終了した後、CPU40は、予め設定された撮影条件に基づいて撮像処理を実行する。このステップS102の処理が実行されることで、撮像素子16から出力される画像信号がバッファメモリ20に書き込まれる。
ステップS103は、取得された画像信号に対する現像処理である。画像処理回路21は、バッファメモリ20に書き込まれた画像信号を読み出して、ホワイトバランス処理、色補間処理、輪郭補償処理、ガンマ処理などの現像処理を実行する。このステップS103の処理が実行されることで現像処理済みの画像データが生成され、バッファメモリ20に書き込まれる。
ステップS104は、現像処理済みの画像データに対するエッジ検出処理である。画像処理回路21は、バッファメモリ20に書き込まれた現像処理済みの画像データを読み出し、エッジ検出処理を実行する。画像データがRGB画像データとなる場合には、画像処理回路21は、色成分毎にエッジ領域を検出し、検出された色成分毎のエッジ領域を足し合わせる。これにより、画像データ全体のエッジ領域が抽出される。
一方、画像データがYCbCr画像データやYUV画像データであれば、画像処理回路21は、輝度(Y)成分を用いてエッジ領域を検出する。これにより、画像データに含まれるエッジ領域が抽出される。なお、抽出されたエッジ領域の位置データは、内蔵メモリ41に書き込まれる。
ステップS105は、検出されたエッジ領域に対する輝度低減処理である。画像処理回路21は、内蔵メモリ41に書き込まれた位置データと、バッファメモリ20に書き込まれた画像データとを用いて、エッジ領域に含まれる各画素の画素値を読み出す。例えば画像データがRGB画像データとなる場合には、エッジ領域に含まれる各画素の画素値のそれぞれに対してゲインγを乗算する。一方、画像データがYCbCr画像データやYUV画像データであれば、エッジ領域に含まれる各画素値のうち、輝度(Y)成分の値に対してゲインγ’を乗算する。なお、ゲインγ、γ’が取り得る範囲は、それぞれ0<γ<1、0<γ’<1であることから、これらゲインγ、γ’をそれぞれ乗算することで、エッジ領域における輝度が低減される。なお、ステップS105の処理が施された画像データは、バッファメモリ20に書き込まれる。
ステップS106は、検出されたエッジ領域に対する彩度低減処理である。画像処理回路21は、内蔵メモリ41に書き込まれた位置データと、ステップS106の処理後にバッファメモリ20に書き込まれた画像データとを用いて、エッジ領域に含まれる各画素の画素値を読み出す。例えばRGB画像データの場合には、エッジ領域に含まれる各画素の画素値に対して、上述した式を用いたマトリックス演算を行う。一方、画像データがYCbCr画像データやYUV画像データであれば、エッジ領域に含まれる各画素の画素値のうち、色差成分に対してゲインδを乗算する。このゲインδが取り得る範囲は0<δ<1であることから、ゲインδを乗算することで、エッジ領域の彩度が低減される。なお、ステップS106の処理が施された画像データは、バッファメモリ20に書き込まれる。
ステップS107は、色・階調調整処理である。画像処理回路21は、ステップS105及びステップS106の処理によりエッジ領域の輝度と彩度とが低減処理された画像データをバッファメモリ20から読み出して、エッジ領域以外の領域、又は画像全体に対して色・階調調整処理を実行する。この色・階調調整処理は、ステップS106において実行される彩度低減処理の度合いに応じて実行される。なお、このステップS107における色・階調調整処理は、必ずしも行う必要はない。
この色・階調調整処理は、彩度を上げる調整となる。例えばエッジ領域以外の領域に色・階調調整処理を実行する場合には、エッジ領域以外の領域の彩度が上がる。また、画像全体に対して色・階調調整処理を実行する場合には、エッジ領域以外の領域だけでなく、エッジ領域の彩度も上がるが、第2エッジ領域調整部27によってエッジ領域の彩度を一旦低減させているので、エッジ領域の彩度は色収差を目立たせる原因とはならない。この処理を実行することで、絵画調の画像データが生成される。この場合には、絵画調の画像データが記録用の画像データとなる。画像処理回路21は、このステップS107の処理を実行することで得られる記録用の画像データに対して解像度変換処理を行い、例えば表示装置33の解像度に合わせた画像サイズ等となるように縮小画像データを生成する。
ステップS108は、記録用の画像データを記録する処理である。圧縮/伸長回路30は、ステップS107の処理を実行することで得られる記録用の画像データや、縮小画像データに対して圧縮処理を施す。CPU40は、圧縮処理された記録用画像データに、撮影条件や撮影日時、撮像装置10の機種などの情報や縮小画像データを付帯情報として付帯し、記憶媒体32に書き込む。この処理を行うことで、図2に示すフローチャートの処理が終了する。
図3(a)に示す静止画像に対してエッジ検出処理を行う場合について考慮する。この静止画像に対して一般的なエッジ検出処理を実行すると、矩形にて示す符号51の領域においては、ハッチングにて塗りつぶされた領域52〜56がエッジ領域としてそれぞれ検出される(図3(b)参照)。なお、エッジ領域52、エッジ領域55の周辺部には、赤色、緑色、青色、又は、これら色成分が組み合わされた色の色収差が発生している。なお、図3(b)において色収差が発生している領域は、斜線のハッチングで示す領域57〜59である。
そこで、上述したステップS104のエッジ検出処理では、図3(a)に示す画像がRGB画像であれば、R色成分、G色成分及びB色成分のそれぞれに対してエッジ検出処理を実行する。これにより、図3(b)に示すエッジ領域52〜56の他に、色収差が発生する領域57〜59もエッジ領域として抽出される。
そして、ステップS104のエッジ検出処理が終了した後のステップS105の処理では、エッジ領域に対する輝度を低減することから、ステップS104にて抽出されたエッジ領域52〜59の輝度が低減される、言い換えればR色、G色、B色の各色成分の値(階調値)が低くなる。さらに、ステップS106の処理では、エッジ領域に対する彩度を低減する処理であることから、ステップS104にて抽出されたエッジ領域52〜59の彩度が低減される、言い換えればR色、G色、B色の各色成分の値(階調値)がさらに低くなる。つまり、ステップS105及びステップS106の処理を実行することで、エッジ領域の色味が無くなり、これら領域は無彩色に近づく。これによれば、ステップS105及びステップS106の処理を実行することで、エッジ領域周辺の色収差が発生している画素の領域がエッジ領域として表現される。なお、領域51以外についても同様であり、上述したステップS104にて抽出されたエッジ領域に対してステップS105及びステップS106の処理を行うことで、色収差が低減された絵画調の静止画像が生成される(図3(c)参照)。
次に、撮影により絵画調の動画像を取得する際の処理の流れを説明する。以下、撮影により得られる動画像データがYUV画像データからなる場合について説明する。
ステップS201は、動画撮影の開始指示があるか否かを判定する処理である。なお、撮像装置10において、動画撮影を行う場合には、レリーズボタン45の操作が動画撮影を開始する契機となることが一般的であることから、このステップS201の判定処理は、レリーズボタン45の操作が行われたか否かを判定する処理となる。なお、このレリーズボタン45の操作が行われたか否かを判定する処理は、ステップS101の判定処理を同様である。CPU40がレリーズボタン45の操作が行われたと判定したときには、ステップS201の判定処理がYesとなり、ステップS202に進む。一方、CPU40がレリーズボタン45の操作が行われていないと判定したときには、ステップS201の判定処理がNoとなり、このフローチャートの処理の流れが終了する。
ステップS202は、撮像処理である。CPU40は、予め設定された撮影条件に基づいて、撮像素子16を制御する。これにより、画像信号が撮像素子16から出力される。この画像信号は、バッファメモリ20に格納される。
ステップS203は、取得された画像信号に対する現像処理である。なお、この現像処理については、ステップS103と同一の処理である。これにより、画像信号に対する現像処理が実行される。なお、この撮像素子16から出力される画像信号は、動画像の構成するフレーム画像の元になる画像信号である。以下では、現像処理済みの画像データをフレーム画像データと称する。
ステップS204は、フレーム画像データに対するエッジ検出処理である。このステップS204のエッジ検出処理は、ステップS104と同一の処理である。なお、このフローチャートにおいては、フレーム画像データがYUV画像データからなるので、画像処理回路21は、フレーム画像データのうち、輝度(Y)成分を用いて、エッジ検出処理を実行する。これにより、エッジ領域が検出される。
ステップS205は、検出されたエッジ領域に対する輝度低減処理である。なお、このステップS205の処理は、ステップS105の処理と同一である。これにより、エッジ領域における輝度が低減される。
ステップS206は、検出されたエッジ領域に対する彩度低減処理である。なお、このステップS206の処理は、ステップS106と同一である。これにより、エッジ領域における彩度が低減される。これにより、絵画調のフレーム画像データが生成される
ステップS207は、フレーム画像データに対する圧縮処理である。圧縮/伸長回路30は、輝度及び彩度が低減された、絵画調のフレーム画像データに対して圧縮処理を実行する。
ステップS208は、フレーム画像データを記録する処理である。CPU40は、上述したステップS207の圧縮処理により符号化されたフレーム画像データを記憶媒体32に書き込む。
ステップS209は、動画撮影の終了指示があるか否かを判定する処理である。撮像装置10において動画撮影を終了する場合、レリーズボタン45の操作が動画撮影を終了する契機となることが一般的であることから、このステップS209の判定処理は、レリーズボタン45の操作が行われたか否かを判定する処理となる。なお、このレリーズボタン45の操作が行われたか否かを判定する処理は、ステップS201の判定処理を同様である。CPU40がレリーズボタン45の操作が行われたと判定したときには、ステップS209の判定処理はYesとなる。この場合、CPU40は、動画撮影に係る処理を終了させる。一方、CPU40がレリーズボタン45の操作が行われていないと判定したときには、ステップS209の判定処理はNoとなる。この場合、動画撮影が引き続き実行されるので、ステップS202に戻る。つまり、動画撮影を終了するためのレリーズボタン45の操作が行われないときには、ステップS202〜ステップS209の処理が繰り返し実行される。
この場合も、上述したステップS204からステップS206の処理(エッジ領域の輝度及び彩度を低減する処理)を行うだけで容易に色収差を低減した絵画調の動画像を取得することができる。
なお、撮影により絵画調の動画像を取得する際の処理の流れを示す図4のフローチャートにおいては、色・階調調整処理については省略しているが、ステップS206の処理を行った後に、実行することも可能である。
また、撮影により絵画調の動画像を取得する場合、取得される動画像データをYUV画像データとしているが、これに限定される必要はなく、取得される動画像データはRGB画像データであってもよい。
上述した実施形態では、撮像装置を例に挙げて説明しているが、これに限定される必要はなく、例えば画像処理装置に適用することもできる。以下、画像処理装置の例を取り上げて説明する。図5に示すように、画像処理装置60は、CPU61、ROM62、RAM63、画像処理回路64、圧縮/伸長回路65及び接続I/F66がバス67を介して電気的に接続されている。
CPU61は、ROM62に記憶された制御プログラムを実行することで、画像処理装置60の各部を制御する。ROM62は、制御プログラムや制御データなどを記憶する。RAM63は、制御プログラムを実行することで得られる演算子を一時記憶する他、記憶媒体68から読み出された画像信号を記憶する。画像処理回路64は、RAM63に一時記憶された画像データに対して、上述した特殊効果を付与する処理を実行する。圧縮/伸長回路65は、画像処理回路64によって処理された画像データに対する圧縮(符号化)処理を行う他、記憶媒体68から読み出された画像データに対する伸長(復号化)処理を実行する。接続I/F66は、メモリカードなどの記憶媒体68と接続され、記憶媒体68に記憶された画像データの読み出しや、画像データの書き込みを実行する。
図6に示すように、画像処理回路64は、エッジ検出部71、第1エッジ領域調整部72、第2エッジ領域調整部73及び色・階調調整部74を備えている。なお、エッジ検出部71、第1エッジ領域調整部72及び第2エッジ領域調整部73の構成は、図1に示すエッジ検出部25、第1エッジ領域調整部26、第2エッジ領域調整部27の構成と同一であることから、ここでは、その説明を省略する。
色・階調調整部74は、エッジ領域の輝度及び彩度が調整(低減)された画像データに対して、色・階調調整する処理を行う。この色・階調調整は、例えばエッジ領域を除く領域、又は画像全体に対して実行される。
次に、上述した画像処理装置60を用いて絵画調の静止画像を生成する処理の流れについて、図7のフローチャートを参照して説明する。なお、このフローチャートは、記憶媒体68が画像処理装置60に装着されていることを前提にして実行される。以下、記憶媒体68に記憶されている静止画像データとして、現像処理済みのRGB画像データを挙げて説明する。
ステップS301は、静止画像データを読み出す処理である。CPU61は、記憶媒体68に記憶された静止画像データを読み出し、RAM63に書き込む。圧縮/伸長回路65は、RAM63に記憶された静止画像データに対して伸長(復号化)処理を実行する。この伸長(復号化)処理が施された静止画像データは、再度RAM63に書き込まれる。
ステップS302は、読み出された静止画像データに対するエッジ検出処理である。画像処理回路64は、RAM63に書き込まれた静止画像データを読み出してエッジ検出処理を実行する。なお、このエッジ検出処理は、静止画像データのR成分、G成分及びB成分の全ての色成分に対して実行される。この色成分毎に検出されるエッジ領域を足し合わせることで、静止画像データに含まれるエッジ領域が抽出される。この抽出されるエッジ領域の位置データは、RAM63に記憶される。なお、このエッジ検出処理は、R色成分、G色成分及びB色成分の少なくともいずれか一つの色成分を用いて実行してもよい。
ステップS303は、検出されたエッジ領域に対する輝度低減処理である。なお、このステップS303の処理は、ステップS105と同様の処理であることから、ここでは、その説明を省略する。このステップS303の処理により、エッジ領域の輝度が低減される。
ステップS304は、検出されたエッジ領域に対する彩度低減処理である。なお、このステップS304の処理は、ステップS106と同一の処理であることから、ここでは、その説明を省略する。このステップS304の処理により、エッジ領域の彩度が低減される。
ステップS305は、色・階調調整処理である。このステップS305の処理は、ステップS107と同一の処理であることから、ここでは、その説明を省略する。例えば、このステップS305の処理を、画像全体に実行する場合には、画像全体の彩度が上げられる。このとき、エッジ領域の彩度も上がるが、ステップS304の処理を実行していることから、他の領域に比べて彩度が抑えられる。これにより、エッジ領域における色収差の影響を低減させることができる。一方、このステップS305の処理を、エッジ領域以外の領域に実行した場合、エッジ領域の彩度は変化しないので、この場合も、エッジ領域における色収差は低減された状態で保持される。これにより、絵画調の静止画像データが生成される。なお、このステップS305の処理が終了したときに、画像処理回路64は、色・階調調整処理が施された静止画像データに対して解像度変換処理を施して縮小画像データを生成する。なお、これら画像データは、RAM63に書き込まれる。これにより、絵画調の画像データが生成される。なお、ステップS305の処理は必ずしも実行されるものではなく、省略することも可能である。
ステップS306は、処理済みの静止画像データを記録する処理である。圧縮/伸長回路65は、RAM63に書き込まれた画像データを読み出し、圧縮処理を実行する。この圧縮処理の後、CPU61は、ステップS302からステップS305の処理に係る処理内容と新たに生成された縮小画像データとを付帯情報に追加する。そして、新たな情報が付加された付帯情報と、圧縮処理が施された画像データとを記憶媒体68に書き込む。
この場合も、エッジ検出処理により抽出されるエッジ領域の輝度及び彩度を低減させることで、エッジ領域の周辺に生じる色収差を抑制した絵画調の静止画像データを生成することが可能となる。
次に、画像処理装置60を用いて絵画調の動画像を生成する処理の流れについて、図8のフローチャートを用いて説明する。以下、動画像データがYCbCr画像データからなる場合について説明する。
ステップS401は、動画像データを読み出す処理である。CPU61は、記憶媒体68に記憶された動画像データを読み出し、RAM63に書き込む。圧縮/伸長回路65は、RAM63に記憶された動画像データに対して伸長(復号化)処理を実行する。伸長(復号化)処理が施された動画像データは、再度RAM63に書き込まれる。
ステップS402は、フレーム画像データに対するエッジ検出処理である。画像処理回路64は、RAM63に書き込まれた動画像データから、n(n=1,2,3,・・・)フレーム目のフレーム画像データを読み出してエッジ検出処理を実行する。なお、このエッジ検出処理は、フレーム画像データの輝度(Y)成分を用いて実行される。これにより、フレーム画像データに含まれるエッジ領域が抽出される。この抽出されるエッジ領域の位置データは、RAM63に記憶される。
ステップS403は、検出されたエッジ領域に対する輝度低減処理である。なお、このステップS403の処理は、ステップS303と同様の処理であることから、ここでは、その説明を省略する。このステップS403の処理により、nフレーム目のフレーム画像データにおけるエッジ領域の輝度が低減される。
ステップS404は、検出されたエッジ領域に対する彩度低減処理である。なお、このステップS404の処理は、ステップS304と同一の処理であることから、ここでは、その説明を省略する。このステップS404の処理により、nフレーム目のフレーム画像データにおけるエッジ領域の彩度が低減される。
ステップS405は、色・階調調整処理である。このステップS405の処理は、ステップS305と同一の処理であることから、ここでは、その説明を省略する。例えば、このステップS405の処理を、画像全体に実行する場合には、画像全体の彩度が上げられる。このとき、エッジ領域の彩度も上がるが、ステップS404の処理を実行していることから、他の領域に比べて彩度が抑えられる。これにより、エッジ領域における色収差の影響を低減させることができる。一方、このステップS405の処理を、エッジ領域以外の領域に実行した場合、エッジ領域の彩度は変化しないので、この場合も、エッジ領域における色収差は低減された状態で保持される。これにより、nフレーム目のフレーム画像データが、絵画調のフレーム画像データとして生成される。なお、このnフレーム目のフレーム画像データは、RAM63に格納される。
ステップS406は、最終のフレーム画像データであるか否かを判定する処理である。画像処理装置64は、ステップS402〜ステップS405の処理を実行したフレーム画像データのフレーム数を読み出して、動画像データにおける最終フレームとなる画像データであるか否かを判定する。例えばステップS402〜ステップS405の処理を実行したフレーム画像データが最終のフレーム画像データとなる場合には、画像処理回路64は、このステップS406の判定処理をYesとする。この場合、ステップS407に進む。一方、ステップS402〜ステップS405の処理を実行したフレーム画像データが最終のフレーム画像データでない場合には、画像処理回路64は、このステップS406の判定処理をNoとする。この場合には、ステップS402に進み、次フレームのフレーム画像データに対して、ステップS402〜ステップS405の処理を実行する。このように、ステップS406の判定処理がNoとなる場合には、動画像データのフレーム画像データ全てに対して、ステップS402〜ステップS405の処理が実行される。このようにして、絵画調の動画像データが生成される。
ステップS407は、処理済みの動画像データを記録する処理である。圧縮/伸長回路65は、処理済みの動画像データを圧縮(符号化)処理する。CPU61は、圧縮処理済みの動画像データを記憶媒体68に書き込む。
この場合も、エッジ検出処理により抽出されるエッジ領域の輝度及び彩度を低減させることで、エッジ領域の周辺に生じる色収差を抑制した絵画調の動画像データを生成することが可能となる。
上述した実施形態における撮像装置10及び画像処理装置60においては、検出されたエッジ領域の輝度を低減する処理を行った後、エッジ領域の彩度を低減する処理を行っているが、これら処理の順番は、これに限定される必要はなく、エッジ領域の彩度を低減する処理を行った後に、エッジ領域の輝度を低減する処理を行ってもよい。また、エッジ領域の輝度を低減する処理、エッジ領域の彩度を低減する処理を2段階で実行しているが、これに限定される必要はなく、1回の処理でエッジ領域の輝度と彩度とを低減する処理を行ってもよい。
また、上述した実施形態における撮像装置10及び画像処理装置60においては、検出されたエッジ領域に対して彩度を低減する処理を行っているが、このエッジ領域に対する彩度を低減する処理は、必ずしも行う必要はない。例えば、絵画調の画像を生成する際に用いる画像データから色収差(倍率色収差、軸上色収差)の情報を取得し、この色収差の情報に基づいて、エッジ領域における彩度を低減する処理を実行するか否かを決定してもよい。また、エッジ領域における彩度を低減する処理を実行する場合には、色収差の程度に基づいて彩度を低減する際の補正値(ゲイン)を調整することも可能である。なお、画像データを用いて色収差の情報を取得する方法としては、例えば、画像データがRGBデータとなる場合には、各色成分のデータから抽出されるエッジ領域の位置に基づいて色収差の情報を取得することができる。
また、撮像装置の場合、予め撮像光学系における色収差のデータを保持していれば、撮影時に得られた画像データから色収差の情報を取得せずに、撮像光学系における色収差のデータに基づいて、抽出されたエッジ領域における彩度を低減する処理を実行するか否かを決定することも可能である。なお、この撮像光学系における色収差のデータとしては、例えば撮像光学系の焦点距離、撮影距離、絞り値のそれぞれと、色収差とが対応付けられたテーブルデータからなる。この色収差のデータは、予め内蔵メモリに記憶されていることが好ましい。また、レンズユニットと該レンズユニットが着脱される装置本体とから構成される、所謂一眼レフタイプの撮像装置であれば、色収差のデータをレンズユニットに予め記憶させておき、レンズユニットを装置本体に取り付けたときに、レンズユニットから装置本体に送信するようにしてもよい。
さらに、撮像装置の場合には、撮像光学系における色収差のデータを保持していれば、該色収差のデータと、撮影にて得られた画像データから得られる色収差の情報との双方を用いて、彩度を低減するか否かを決定することも可能である。
一方、画像処理装置の場合には、画像データに予め撮像光学系における色収差のデータを付帯情報として付帯させておき、該色収差のデータに基づいて、抽出されたエッジ領域における彩度を低減する処理を実行するか否かを決定すればよい。
上述した実施形態における撮像装置10や画像処理装置60で実行されるエッジ検出処理として、色収差を考慮したエッジ検出処理であってもよい。この場合、現像処理済みの画像データから取得される色収差のデータ、又は予め保持している色収差のデータから、エッジ検出処理におけるパラメータを調整してもよい。このエッジ検出処理におけるパラメータとは、例えばエッジとして検出される輝度差の閾値などが挙げられる。
上述した実施形態における撮像装置10や画像処理装置60においては、エッジ検出処理で生成される画像データ(エッジ画像データ)と、エッジ領域の輝度、彩度をそれぞれ低減する処理が施された画像データとを合成する処理については述べていないが、このエッジ画像データと、エッジ領域の輝度、彩度をそれぞれ低減する処理が施された画像データとを合成してもよい。
周知のように、画像データに対してエッジ検出処理を行うと、エッジ領域が白(信号値1)、エッジ領域以外の領域が黒(信号値0)で示されるエッジ画像データが生成される。このエッジ画像データに対して白黒反転処理を行うと、エッジ領域が黒、エッジ領域以外の領域が白となるエッジ画像データが生成される。画像処理回路は、白黒反転処理が施されたエッジ画像データと、エッジ領域の輝度、彩度をそれぞれ低減する処理が施された画像データと合成する。この場合、合成された画像データにおいては、エッジ領域以外の領域においては、所謂白飛びする場合もあるので、このような場合には、上述した色・階調調整処理を行うことで、エッジ領域以外の領域に色味を付ける調整を行う。このような処理を行うことで、色収差を低減した絵画調の画像を生成することが可能となる。
上述した実施形態では、画像データとして、R色、G色、B色からなる色空間で示される画像データや、YCbCr画像データやYUV画像データなどの輝度及び色差からなる色空間で示される画像データを例に取り上げて説明しているが、これらに限定される必要はなく、明度(L)、彩度(C)、色相(H)からなる色空間で示される画像データや、他の色空間で示される画像データを用いてもよい。例えば、画像データとしてLCH画像データを用いる場合には、L成分、C成分及びH成分の成分毎にエッジ領域を検出し、成分毎に検出されるエッジ領域を足し合わせることで、画像データに含まれるエッジ領域を抽出する。そして、抽出されたエッジ領域に含まれる各画素のL成分に対してゲインγ”(0<γ”<1)を乗算し、エッジ領域における輝度を低減する。また、エッジ領域に含まれる各画素のC成分に対してゲインδ”(0<δ”<1)を乗算し、エッジ領域における彩度を低減する。この場合、エッジ領域に含まれる各画素のC成分に乗算されるゲインδ”は、撮像光学系の色収差に基づいて調整される。
上述した実施形態では、画像データの色空間を変更せずに、エッジ検出処理、輝度低減処理、彩度低減処理を行っているが、これに限定される必要はなく、画像データの色空間を変更した後に、これら処理を実行することも可能である。この場合、エッジ検出処理、輝度低減処理、彩度低減処理を実行した後、元の色空間に変換すればよい。
なお、上述した実施形態では、撮像装置10及び画像処理装置60を例に取り上げて説明したが、これに限定される必要はなく、図7や図8に示すフローチャートに示す機能をコンピュータに実行させることが可能な画像処理プログラムであってもよい。なお、この画像処理プログラムは、メモリカード、光学ディスク、磁気ディスクなど、コンピュータで読み取りが可能な記憶媒体に記憶されていることが好ましい。