本発明にかかる実施形態を、図面を参照して以下に説明する。本実施形態では、本発明をデジタルスチルカメラ(以下、「デジタルカメラ」)によって実現した場合を例示する。
図1は、本発明の実施形態にかかるデジタルカメラ1の構成を示すブロック図である。本実施形態にかかるデジタルカメラ1の概略的構成は、図示するように、撮像部100、データ処理部200、インタフェース(I/F)部300、などである。
撮像部100は、デジタルカメラ1の撮像動作をおこなう部分であり、図示するように、光学装置110やイメージセンサ部120などから構成され、後述する制御部210による制御によって動作する。
光学装置110は、例えば、レンズ、絞り機構、シャッタ機構、などを含み、撮像にかかる光学的動作をおこなう。すなわち、光学装置110の動作により、入射光が集光されるとともに、焦点距離や絞りなどといった、画角やピント、露出などにかかる光学的要素の調整がなされる。
イメージセンサ部120は、光学装置110によって集光された入射光に応じた電気信号を生成する、例えば、CCD(Charge Coupled Device:電荷結合素子)やCMOS(Complementally Metal Oxide Semiconductor:相補型金属酸化物半導体)などのイメージセンサから構成される。イメージセンサ部120は、光電変換をおこなうことで受光に応じた電気信号を生成し、後段のデータ処理部200に出力する。また、出力する電気信号を感度設定に応じて増幅させる増幅回路などもイメージセンサ部120に含まれる。
データ処理部200は、撮像部100による撮像動作によって生成された電気信号を処理し、撮像画像を示すデジタルデータを生成するとともに、撮像画像に対する画像処理などをおこなう。図1に示すように、データ処理部200は、制御部210、画像処理部220、画像メモリ230、画像出力部240、記憶部250、外部記憶部260、などから構成される。
制御部210は、例えば、CPU(Central Processing Unit:中央演算処理装置)などのプロセッサや、RAM(Random Access Memory)などの主記憶装置(メモリ)、などから構成され、後述する記憶部250などに格納されているプログラムを実行することで、デジタルカメラ1の各部を制御する。また、本実施形態では、所定のプログラムを実行することで、後述する各処理にかかる機能が制御部210によって実現される。
画像処理部220は、例えば、ADC(Analog-Digital Converter:アナログ−デジタル変換器)、バッファメモリ、画像処理用のプロセッサ(いわゆる、画像処理エンジン)などから構成され、撮像部100によって生成された電気信号に基づいて、撮像画像を示すデジタルデータを生成する。
すなわち、イメージセンサ部120から出力されたアナログ電気信号をADCがデジタル信号に変換して順次バッファメモリに格納すると、バッファされたデジタルデータに対し、画像処理エンジンがいわゆる現像処理などをおこなうことで、画質の調整(例えば、解像度、シャープネス、色強調、彩度、ホワイトバランスなどの調整)やデータ圧縮などをおこなう。
ここで、画像処理部220がおこなう画像データの圧縮方式として、画像データを周波数成分に変換する過程を含む方式が採用されているものとする。本実施形態では、直交変換によって画像データを周波数成分に変換する方式(例えば、JPEG)で画像データを圧縮するものとし、画像処理部220は、このようなデータ圧縮をおこなう専用のハードウェア回路であるデータ圧縮部221を備えているものとする。このデータ圧縮部221は、データ圧縮アルゴリズムなどを格納する記憶素子を包含し、制御部210の制御下でアルゴリズムに従った動作をすることでデータ圧縮動作をおこなう。
画像メモリ230は、例えば、RAMやフラッシュメモリなどの記憶装置から構成され、画像処理部220によって生成された撮像画像データや、制御部210によって処理される画像データなどを一時的に格納する。
画像出力部240は、例えば、RGB信号の生成回路などから構成され、画像メモリ230に展開された画像データをRGB信号などに変換し、後述する表示部310などに出力する。
記憶部250は、例えば、ROM(Read Only Memory)やフラッシュメモリなどの記憶装置から構成され、デジタルカメラ1の動作に必要なプログラムやデータなどを格納する。
外部記憶部260は、例えば、メモリカードなどといった、デジタルカメラ1に着脱可能な記憶装置から構成され、デジタルカメラ1で撮像した画像データなどを格納する。
I/F部300は、デジタルカメラ1とその使用者あるいは外部装置とのインタフェースにかかる構成であり、図1に示すように、表示部310、操作部320、などから構成される。
表示部310は、例えば、液晶表示装置などから構成され、デジタルカメラ1を操作するために必要な種々の画面や、撮影時のライブビュー画像(ファインダ画像)、撮像画像、などを表示出力する。本実施形態では、画像出力部240からの画像信号(RGB信号)などに基づいて撮像画像等の表示出力がおこなわれる。表示部310の典型例は、デジタルカメラ1の背面側の外面に構成されるディスプレイ装置となるが、いわゆるEVF(Electronic View Finder:電子ビューファインダ)なども表示部310に含まれる。
操作部320は、デジタルカメラ1の外面上に構成されている各種ボタンなどによって構成され、デジタルカメラ1の使用者による操作に応じた入力信号を生成して制御部210に入力する。操作部320を構成するボタンとして、例えば、シャッタ動作を指示するためのシャッタボタンや、デジタルカメラ1のもつ動作モードを指定するためのモードボタン、各種設定をおこなうための十字キーや機能ボタン、などが含まれているものとする。
ここで、本実施形態では、記憶部250に格納されている動作プログラムを制御部210が実行することで、後述する各処理が実現されるが、この場合に制御部210によって実現される機能を、図2を参照して説明する。
図2は、制御部210によって実現される機能を示した機能ブロック図である。本実施形態にかかるデジタルカメラ1は、撮影シーンに応じて予め用意された複数のパラメータ設定から、撮像対象として入力された画像に適したものを自動的に選別して提示する機能(以下、「アドバイス機能」とする)を有しているものとする。図2に示す機能ブロック図は、このようなアドバイス機能を実現するために必要な機能構成を示している。この場合、図示するように、制御部210は、動作モード処理部211、撮像制御部212、画像分析部213、特徴データ生成部214、シーン判別部215、などとして機能する。
動作モード処理部211は、デジタルカメラ1が備える各種の動作モードに応じた処理を実行する。この場合、動作モード処理部211は、操作部320からの入力信号に基づいて判別される動作モードに応じて、表示部310に各種画面を表示する他、後段の各機能構成に対する指示などをおこなう。本実施形態では、アドバイス機能を有効とするモード(以下、「アドバイスモード」とする)が選択されているものとし、アドバイスモードの実行下で必要となる各種処理が実現されるよう、後段の各部と協働して動作する。
撮像制御部212は、撮像部100を制御することで、デジタルカメラ1の撮像にかかる動作をおこなう。ここで、デジタルカメラ1はデジタルスチルカメラであるため、撮影者のシャッタボタン操作に応じた静止画像の記録がおこなわれる。シャッタボタンが操作されると、対応する入力信号が操作部320から制御部210に入力される。この場合、動作モード処理部211を介して撮像制御部212にシャッタ信号の入力が通知され、撮像制御部212が撮像部100を制御する。つまり、シャッタ信号の入力に応じて光学装置110やイメージセンサ部120を動作させ静止画撮像がおこなわれる。また、シャッタボタンの操作前においては、ファインダ画像となる動画像を表示部310から出力させるため、撮像制御部212は、比較的フレームレートの低い動画像を出力するよう撮像部100を制御しているものとする。
画像分析部213は、撮像部100によって入力されるライブビュー画像(ファインダ画像)を分析し、アドバイス機能にかかる提示動作をおこなうタイミングであるか判別する。本実施形態のアドバイス機能は、パラメータ設定の選出にあたり、撮像部100が出力するファインダ画像(動画像)から撮影シーンを判別する動作をおこなう(詳細後述)。しかしながら、撮影対象が定まっていないような場合のファインダ画像まで用いて撮影シーンの判別をおこなうことは、必要以上の処理負荷となり得る。通常、撮影対象が定まるとファインダ画像が安定するので、ファインダ画像を構成するフレーム画像間を比較し、変化の大きさが所定の閾値より小さくなった場合、撮影対象が定まったと推定することができる。よって、画像分析部213は、フレーム間の変化を分析し、変化が小さい場合に提示動作をおこなうタイミングであると判別する。
特徴データ生成部214は、画像分析部213によって提示動作をおこなうタイミングであると判別された場合に、データ圧縮部221を制御し、データ圧縮時におこなわれる周波数変換動作を利用して、そのときの画像の特徴を示す特徴データを生成する。ここで、特徴データの生成に際しては、対象となる画像に対する周波数変換を2回おこなう。つまり、アドバイスモード下で機能している特徴データ生成部214は、このような動作をおこなうようデータ圧縮部221を制御する。
ここで、本実施形態にかかるデータ圧縮部221は、JPEG(Joint Picture Expert Group)の圧縮アルゴリズムを用いてデータ圧縮をすることとする。この場合、データ圧縮部221は、8ドット×8ドットのMCU(Minimum Code Unit)毎に輝度や色差について、離散コサイン変換(DCT:Discrete Cosine Transform)などによる直交変換をおこなうことで、座標毎の値を周波数成分に分解した値に変換する(周波数変換)。
つまり、図3(a)に示すような、対象画像上に設定した8×8ドットのMCUについて直交変換(周波数変換)をおこなうと、図3(b)に示すように、DC(直流)成分〜14次の高調波までの64の周波数成分に変換される。この場合、左上のDCから右下の14次に向かって周波数成分が高くなるよう8×8マトリクスに変換される。ここで、DCと14次の周波数成分は、図3(b)に示すように、それぞれ1つの値をとるが、1次〜13次の周波数成分についてはそれぞれ複数の値に変換される。
つまり、DCより1つ高次となる1次周波数成分は、図4(a)でハッチングによって示すように、DCの1つ下とDCの1つ右のそれぞれに位置する。このため、1次周波数成分は2つの値をとることになる。
8×8マトリクスの左上(DC)から右下(14次)に向かって高次になるので、1次より1つ高次となる2次周波数成分は、図4(b)でハッチングによって示す位置となる。つまり、2次周波数成分は3つの値をとることになる。以後、同様に、3次周波数成分は4つの値をとり(図4(c))、7次になると、図4(d)に示すように、8×8マトリクスの対角線となるので8つの値をとる。すなわち、7次までは、高次になるにつれ1つずつ値の数が増していく。
この場合、7次周波数がとる値の数が最大値となるので、8次以降については、高次になるにつれ、1つずつ値の数が減少する。つまり、8次周波数は、図4(e)のハッチングで示すように7つの値をとり、12次周波数は、図4(f)のハッチングで示すように3つの値をとることになる。
このような直交変換後の周波数成分は、そのMCUにおける画像の特徴を表すものであり、例えば、DC成分だけがあり他の成分の値が「0」であるとすると、そのMCUでは、濃淡の差がない平板な画像ということになる。また、1次周波数成分のみに値がある場合は、左右または上下に黒から白へのグラデーションとなる画像ということになる。また、より高次の成分が大きい場合は、細かい模様が入り組んだような画像ということになる。
JPEGによる圧縮では、このような直交変換によって得られる周波数成分のうち、高次の成分を量子化によって省略することで画像データを圧縮しているが、本実施形態では、直交変換によって得られた値を、周波数成分毎にまとめて再度直交変換することで、画像全体の特徴を表す特徴データとして取得する。
この場合、図5(a)に示すように、対象画像上に64(8×8)個のMCU(MCU1〜MCU64)を設定する。この場合、対象画面上の全体で均等に配列するよう設定することが望ましい。
このように設定した64個のMCUのそれぞれで直交変換をおこなう。ここでは、理解を容易にするため、図5(b)に示したような、MCU1とMCU64の2つのMCUについて説明するが、実際には、64個のすべてのMCUにおいて以下の動作がおこなわれる。
まず、図5(b)に示すMCU1を直交変換すると、図5(c)に示すような、8×8マトリクスの周波数成分に変換される。同様に、図5(d)は、MCU64を直交変換した後の周波数成分を示している。上述したように、MCUを直交変換すると、DCから14次の周波数成分に変換される。よって、MCU1〜MCU64のそれぞれを直交変換すると、それぞれのMCUについて、8×8マトリクスでDC〜14次の周波数成分が得られる。
このようにして64個のMCUを周波数変換した後、それぞれのMCUから、同一の周波数成分を集め、8×8マトリクスの集合とする。ここでは、DC成分についての集合を図5(e)に示す。この場合、図5(e)に示す8×8マトリクスは、各MCUを直交変換することで得られたDC成分のみを8×8マトリクスに集合させたものである(以下、「DC値集合」とする)。ここで、図5(a)に示すように、8×8のMCUを対象画像全体に配置しているので、各MCUの配置位置に対応した位置となるようDC値を配置する。つまり、対象画像の左上端部に位置するMCU1のDC成分は、図5(c)から図5(e)にかけての矢印で示すように、DC値集合の左上端部に位置し、対象画像の右下端部に位置するMCU64のDC成分は、図5(d)から図5(e)にかけての矢印で示すように、DC値集合の右下端部に位置する。
このようにして、MCU1〜MCU64から得られたDC成分のみを集めた8×8のDC値集合が生成される。
このような集合の生成を、1回目の直交変換DC〜14次の各周波数成分についておこなう。ここで、1つの値をとるDCや14次周波数成分については図5に示した方法で集合を生成するが、複数の値をとる1次〜13次の周波数成分については、それぞれの値毎に集合を生成することになる。
ここで、2つの値をとる1次周波数成分の場合を例に、複数の値をとる周波数成分の集合を生成する方法を、図6を参照して説明する。ここでも、理解を容易にするため、図6(a)に示すような、MCU1とMCU64の2つについて説明するが、実際には、MCU1〜MCU64までの64個のMCUすべてにおいて以下の動作がおこなわれる。
複数の値をとる周波数成分の場合、同じ位置同士の値で集合を生成する。つまり、図6(b)および図6(c)に示すような、各MCUで2カ所に値のある1次周波数成分の場合、DC成分に対して縦方向の位置にある値のみを各MCUから集めた「1次値集合(1)」(図6(d))と、DC成分に対して横方向の位置にある値のみを各MCUから集めた「1次値集合(2)」(図6(e))の2つの集合が生成されることになる。
つまり、周波数成分毎にとり得る値の数と同数の集合が、1回目の直交変換によって得られる周波数成分毎に生成される。より詳細には、周波数成分がDCおよび14次の場合は1つの集合、周波数成分が1次および13次の場合は2つの集合、周波数成分が2次および12次の場合は3つの集合、周波数成分が3次および11次の場合は4つの集合、周波数成分が4次および10次の場合は5つの集合、周波数成分が5次および9次の場合は6つの集合、周波数成分が6次および8次の場合は7つの集合、周波数成分が7次の場合は8つの集合が生成される。
すなわち、MCU1〜MCU64を直交変換してからこのような集合を生成すると、64((1×2)+(2×2)+(3×2)+(4×2)+(5×2)+(6×2)+(7×2)+8)の集合が生成されることになる。
本実施形態では、このようにして生成した周波数成分毎の集合のそれぞれを周波数変換することで特徴データを生成する。この場合、ある集合について直交変換すると、図7(a)に示すような8×8マトリクスでDC〜14次の周波数成分に変換される。本実施形態では、このような変換後のデータを1次元化したものを特徴データとする。すなわち、図7(a)に示した変換後の周波数成分を、図7(b)に示すように、低次から高次となる順序で1次元配列する。図7では、周波数成分毎の配置をわかりやすくするため、奇数次をハッチングで示すようにしている。また、周波数変換後の各成分と1次元データ上での配置位置との対応を例示するため、一部の周波数成分(DC、2次、13次)についての配置位置を矢印によって示している。
このような再周波数変換と1次元化を生成された64の集合それぞれについておこなう。この結果、図8に示すように、64の1次元データが生成されることになる。このような1次元データの起源は、対象画像上の全体に設定した64のMCUであるので、生成された64の1次元データ群は、対象画像全体の特徴を示したものである。図8では1次元データの概念のみを示しているが、実際には各1次元データに64の数値が含まれているので、このような1次元データ群は、画像の特徴をパターン化したものとすることができる。
すなわち、図2に示した特徴データ生成部214は、データ圧縮部221がデータ圧縮の際におこなう周波数変換動作を利用して、図8に示すような特徴データを生成する。なお、特徴データ生成部214の制御によって生成された特徴データは、画像メモリ230に保持されるものとする。また、特徴データを生成する過程で発生する各データについても同様とする。
図2に戻り、制御部210によって実現される機能構成の説明を続ける。
シーン判別部215は、特徴データ生成部214が生成した特徴データに基づいて、撮像対象となっているシーンを判別する。本実施形態にかかるデジタルカメラ1は、撮影シーンを指定することでそのシーンに最適な撮影パラメータを設定するシーン別設定機能を有しているものとし、シーン判別部215は、このシーン別設定機能で指定される撮影シーンをユーザに代わって判別するための動作をおこなう。
このようなシーン別設定機能を実現するため、本実施形態では、複数の撮影シーン毎に設定されたシーン別パラメータが、記憶部250に予め格納されているものとする。このようなシーン別パラメータの例を図9に示す。
シーン別パラメータは、図9に示すように、例えば、「人物」、「風景」、「夜景」などのような種々の撮影シーン毎に最適な撮影パラメータが設定されている。この場合の撮影パラメータは、シャッタスピード(Tv)や絞り値(Av)、フォーカス設定、感度、などのような、撮像時の撮像部100の動作にかかるパラメータ(以下、「撮像時パラメータ」とする)と、ホワイトバランス(WB)や各種の画質設定などのような、撮像後の画像処理部220による画像処理にかかるパラメータ(以下、「画像処理パラメータ」とする)を含んでいる。
シーン判別部215は、このようなシーン別パラメータを選択する際に指定する撮影シーンを判別するものであるが、判別に際しては、シーン別パラメータに用意されている撮影シーンについての典型的な画像の特徴データサンプルと、特徴データ生成部214が生成する撮像画像の特徴データとを比較することで、撮像対象となっているシーンを判別する。
このため、シーン別パラメータの各シーンについての特徴データサンプルが予め記憶部250に格納されている。この場合の特徴データサンプルは、図10に示すように、特徴データ生成手段が生成する1次元データ(図8参照)と同形式の1次元データで用意される。すなわち、それぞれのシーンについて、64の1次元データを1セットとした特徴データが用意され記憶部250に予め格納されている。
このような特徴データサンプルは、それぞれの撮影シーンについての典型的な画像(サンプル画像)を、例えばデジタルカメラ1の製造者などが予め用意しておき、これを、上述した特徴データ生成部214による動作と同様の動作をおこなうことで生成される。つまり、サンプル画像を直交変換などで周波数変換し、変換後の周波数成分毎の集合を生成し、生成した集合を再度周波数変換してから1次元化することで、特徴データサンプルが生成される。
シーン判別部215は、このようにして予め用意された特徴データサンプルと、撮像時に生成された特徴データを比較することで、撮像対象画像がシーン別パラメータに用意されているシーンに該当するか判別する。この場合、シーン判別部215は、特徴データ生成部214によって生成された特徴データの各要素と、特徴データサンプル群の各要素とを比較し、その誤差が所定範囲内となるシーンがあれば、そのシーンに該当すると判別する。この場合、例えば、図11(a)に示すような、シーン毎に誤差基準を規定した「許容値テーブル」が記憶部250に予め格納されているものとする。
シーン判別部215による特徴データの比較では、例えば、生成された特徴データの各要素の2乗を加算していくことで算出された数値と、各シーンの特徴データサンプルについて同様に算出した数値とを比較し、その差分が許容値テーブルに規定された数値(許容値)以内となれば、当該シーンが該当するものと判別する。このような比較方法とする場合、特徴データサンプルは、1次元データ群ではなく、算出後の数値のみを記憶部250に格納するものであってもよい。
このような動作によって、シーン別パラメータに用意されたシーンに該当すると判別された場合、動作モード処理部211の動作により、現在の撮影状況に最適な撮影モードを提示するアドバイスを表示部310に表示する。
なお、このようなシーン別パラメータを設定して撮影をおこなう場合、記憶部250には、図11(b)に示すようなステータステーブルが作成され、シーン判別動作の際に参照される情報が記録される。このステータステーブルには、ユーザによるシーンの手動設定の履歴を示す情報(手動設定履歴)、アドバイス機能によるシーン提示の履歴を示す情報(アドバイス履歴)、現在の設定状況を示す情報(設定状況)、などが記録される。
「手動設定履歴」には、前回手動設定されたときに設定されたシーンを示す情報や、その設定がおこなわれた日時を示す情報などが含まれる。
「アドバイス履歴」には、前回提示したシーンとその提示日時を示す情報や、提示したアドバイスに対するユーザの許否結果を示す情報などが含まれる。
「設定状況」には、現在設定されているシーン、すなわち、その時点の撮像動作に有効となるシーン別パラメータを指定するシーンを示す情報などが含まれる。なお、シーン別パラメータを用いるためのシーン設定がなされていない場合は、「設定状況」にはNullが記録されるものとする。
以上のような構成により、本実施形態にかかるアドバイス機能が実現される。なお、本実施形態では、制御部210がプログラムを実行することによる論理的処理で図2に示した各機能が実現されるものとするが、これらの機能を、例えば、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)などのハードウェアによって構成してもよい。
以上説明したデジタルカメラ1の構成は、本発明を実現するために必要な構成であり、デジタルカメラとしての基本機能や種々の付加機能に用いられる構成は必要に応じて備えられているものとする。
このような構成のデジタルカメラ1による動作を以下に説明する。本実施形態では、上述したアドバイス機能を有効としている場合の動作を説明する。ここでは、アドバイス機能を有効とした場合に実行される「撮影サポート処理」を、図12に示すフローチャートを参照して説明する。この「撮影サポート処理」は、スチル撮像動作をおこなう動作モード(スチル撮影モード)が指定された場合や、スチル撮影モードでデジタルカメラ1を起動したときに開始されるものとする。この場合、撮像制御部212が撮像部100や画像処理部220を制御することで、スチル撮像のための動作がおこなわれ、光学装置110への入力に対応したファインダ画像が表示部310に表示される。
このような状態で処理が開始されると、動作モード処理部211は、アドバイス機能が有効(ON)となっているか否かを判別し(ステップS101)、アドバイス機能が有効となっている場合(ステップS101:Yes)、画像分析部213がファインダ画像として画像メモリ230に展開されている動画像フレームを分析することで、シーン判別タイミングとなったか判別する(ステップS102)。ここでは、ファインダ画像が安定した場合に被写体が決定したものと推定し、そのときの入力画像に基づいてシーン判別をおこなうタイミングであると判断する。
なお、シーン判別タイミングの検出方法は任意であり、例えば、合焦させるためにシャッタボタンが半押しされたタイミングをシーン判別タイミングとしてもよい。
シーン判別タイミングになると(ステップS102:Yes)、シーン判別部215は、記憶部250に記録されているステータステーブル(図11(b))を参照し、前回のアドバイス提示が拒否された場合(詳細後述)、アドバイスが拒否されてから任意の所定時間(例えば、1時間や24時間、など)経過したか否かを判別し(ステップS103)、所定時間経過していれば(ステップS103:Yes)、特徴データ生成部214に特徴データの生成を指示する。
この場合、特徴データ生成部214は、データ圧縮部221を制御することで特徴データを生成する(ステップS104)。この場合、特徴データ生成部214は、画像メモリ230に展開されている現時点の撮像画像について、図5(a)に示すようなMCUを設定し、データ圧縮部221に周波数変換(直交変換)させる。これにより、変換後のデータが画像メモリ230に展開されると、特徴データ生成部214は、変換後のデータを、シーン判別部215を介して画像メモリ230から取得し、図5(e)や図6(d)、図6(e)などで例示したような周波数成分毎の集合データを生成して画像メモリ230に展開する。
集合データを生成すると、特徴データ生成部214は、データ圧縮部221を制御し、画像メモリ230に展開した集合データを周波数変換(直交変換)させる。変換後のデータは画像メモリ230に展開されると、特徴データ生成部214は、変換後のデータを1次元化して、図8に示すような特徴データを生成し、画像メモリ230に格納する。
このようにして撮像対象画像についての特徴データが生成されると、シーン判別部215は、画像メモリ230に格納された特徴データと、記憶部250に格納されている特徴データサンプルとを比較し、撮像対象画像に好適なシーン設定があるか判別する。ここでは、特徴データを構成している各要素の数値の2乗を加算した数値を比較し、その差分(誤差)が許容値テーブルに規定されている許容値以下となるシーンがあるか判別する(ステップS105)。ここで、許容値以下となるシーンを推奨シーンとする。なお、許容値以下となるシーンが複数ある場合は、ステップS104で生成した特徴データとの差分(誤差)が最小となるシーンを推奨シーンとする。
撮像対象画像の特徴データとの誤差が許容値内となる推奨シーンがある場合(ステップS105:Yes)、シーン判別部215は、記憶部250のステータステーブル(図11(b))を参照し、現在の撮像動作に有効となるシーン設定がなされているか判別する(ステップS106)。
シーン設定がされている場合(ステップS106:Yes)、シーン判別部215は、設定されているシーンが推奨シーンと相違するか判別する(ステップS107)。
ここで、設定済のシーンと推奨シーンとが相違する場合(ステップS107:Yes)、シーン判別部215は、推奨シーンとして選出したシーンを動作モード処理部211に通知する。この場合、動作モード処理部211は、表示部310を制御し、現在のシーン設定よりも好ましいシーン設定がある旨を提示するアドバイス画面を表示する(ステップS108)。
ここで表示されるアドバイス画面の例を図14に示す。図示するように、アドバイス画面には、現在設定しているシーンよりも推奨されるシーンがある旨のメッセージとともに、推奨シーンに設定変更するか否かを指定させる選択肢などが表示される。
デジタルカメラ1のユーザは、アドバイス内容に同意し、推奨されたシーン設定に変更する場合は、操作部320を操作することで、シーン変更を肯定する選択肢を選択する。
一方、推奨されたシーン設定がユーザの撮影意図に合わない場合など、推奨シーンが適切ではないと思われる場合、ユーザは、操作部320を操作し、シーン変更を否定する選択肢を選択する。
このようなユーザの選択操作に応じた入力信号が操作部320から制御部210に入力され、動作モード処理部211によってユーザによる選択が判別される。
ここで、提示したアドバイスをユーザが受容し、シーン変更を肯定する選択肢を選択する操作がなされた場合(ステップS109:Yes)、動作モード処理部211は、記憶部250のステータステーブルに記録されている「アドバイス履歴」と「設定状況」を更新する。すなわち、ステップS108で提示した推奨シーンを示す情報と、その提示日時を示す情報を「アドバイス履歴」に記録し、推奨シーンを示す情報を「設定状況」に記録することで、特徴データに基づいて判別した推奨シーンが設定される(ステップS110)。この場合、撮像制御部212や画像処理部220などが「ステータステーブル」を参照し、「設定状況」に設定されているシーンに対応するシーン別パラメータで動作することになる。
このようにしてシーン設定の変更がおこなわれると、例えば、デジタルカメラ1の電源オフなどの終了イベントが発生するまで(ステップS111:No)、上記の処理が繰り返しおこなわれる。
ここで、撮像対象画像の特徴データに基づいて推奨シーンへの変更をアドバイスした場合でも、撮影者の意図や感覚に合わない場合は拒否されることがある(ステップS109:No)。このような場合、ステータステーブルの「アドバイス履歴」においてアドバイスが拒否されたこととアドバイス提示日時を記録するとともに、シーン判別の基準をユーザに合わせるため、許容値テーブルの許容値を修正する「許容値修正処理」を実行する(ステップS200)。
この「許容値修正処理」は、アドバイス機能が有効となっていない(OFF)場合(ステップS101:No)や、撮像対象画像から生成した特徴データとの差分(誤差)が許容値テーブルに設定されている許容値内となるシーンが見つからない場合(ステップS105:No)にも実行される。この「許容値修正処理」を、図13に示すフローチャートを参照して説明する。
アドバイス機能がOFFであるために本処理が実行された場合(ステップS201:Yes)、動作モード処理部211は、記憶部250に格納されているステータステーブルの「設定状況」を参照し、シーン設定がなされているか判別する(ステップS202)。
ここで、シーン設定がされている場合(ステップS202:Yes)、ユーザによるシャッタ操作に応じて撮像制御部212に撮像動作を指示するとともに、特徴データ生成部214に、当該シャッタ操作によって撮像・記録された画像から特徴データを生成するよう指示する(ステップS203:Yes)。
この場合、特徴データ生成部214は、データ圧縮部221による周波数変換(直交変換)動作を利用した特徴データの生成をおこなう(ステップS204)。
撮像画像からの特徴データが生成されると、シーン判別部215は、生成された特徴データと、現在設定されているシーンについての特徴データサンプルとを比較し、数値の差分(誤差)が許容値テーブルに規定されている許容値外となるか判別する(ステップS205、ステップS206)。
ここで、数値の差分(誤差)が許容値より大きい場合(ステップS206:Yes)、シーン判別部215は、当該シーンに設定されている許容値を増加させる修正をおこなう(ステップS207)。ここでは、例えば、誤差と許容値との差分以上の増分となるよう許容値を増加させる。
つまり、ユーザが所望するシーン設定で撮影した画像の特徴データと、そのシーンについての特徴データサンプルとの誤差が許容値より大きい場合、設定されている許容値を増加させることで、同様特徴を示す撮像対象について当該シーンが推奨されやすくなるようにする。これにより、アドバイス機能を有効にした場合に、よりユーザの感覚に合ったアドバイス提示ができるようになる。このようにして許容値を修正すると、「撮影サポート処理」(図12)のフローに戻る。
なお、今回撮影された画像の特徴データと、設定されているシーンの特徴データサンプルとの差分(誤差)が許容値テーブルに規定されている許容値内である場合(ステップS206:No)は、許容値テーブルの許容値はユーザの感覚から乖離していない適正値であるので、許容値の修正をおこなわずに「撮影サポート処理」(図12)のフローに戻る。
また、今回の撮影でシーン設定がなされていない場合(ステップS202:No)は、許容値の適否を判別することができないので、許容値の修正をおこなわずに「撮影サポート処理」(図12)のフローに戻る。
次に、「撮影サポート処理」(図12)において、ファインダ画像の特徴データとの差分(誤差)が許容値内となるシーンが存在せず(ステップS105:No)、シーン判別をおこなうことができずに「許容値修正処理」(図13)が実行された場合(ステップS201:No、ステップS208:Yes)、シーン判別部215は、許容値テーブルに記録されている全シーンについての許容値を増加修正する(ステップS209)。
この場合、例えば、全シーンの許容値を同率の増加率で一律に増加させるような修正をおこなう。このような増加修正をおこなうと、「撮影サポート処理」(図12)のフローに戻る。
次に、「撮影サポート処理」(図12)において、アドバイス機能によって提示したアドバイスで推奨したシーンへの設定変更をユーザがおこなわず(ステップS109:No)、これにより「許容値修正処理」(図13)が実行された場合(ステップS201:No、ステップS208:No)、シーン判別部215は、アドバイスした推奨シーンについての許容値を減少させる修正をおこなう(ステップS210)。
許容値を減少させることで、ユーザが拒否するようなアドバイスが提示される頻度を低くすることができる。このような減少修正をおこなうと、「撮影サポート処理」(図12)のフローに戻る。
「撮影サポート処理」(図12)では、上述のように、終了イベントが発生するまで、ステップS101〜ステップS110が繰り返される。ここで、前回提示したアドバイスが拒否され、当該アドバイスの提示から所定時間経過していないと判別された場合(ステップS103:No)は、アドバイスの提示をおこなわない。
これは、シーン設定についてのアドバイスが否定された場合、一定期間は同じ被写体を撮影することが予想されるので、その間はアドバイス提示をおこなわないようにして、撮影効率を阻害しないようにする。なお、アドバイス提示をおこなわない期間(所定時間)は、ユーザによって任意に設定できるものとする。
また、アドバイス機能が有効となっているときに、任意のシーン設定がなされており(ステップS106:Yes)、そのシーンと推奨シーンが同一である場合(ステップS107:No)は、シーン設定を変更する必要がないのでアドバイス提示をおこなわない。
なお、任意のシーン設定がなされていない場合(ステップS106:No)は、撮像対象画像から判別される推奨シーンを設定するアドバイス提示をおこなうことで(ステップS107)、適切な撮影設定を容易におこなえるようにする。
すなわち、これらの処理や「許容値修正処理」の動作により、アドバイス画面を提示する際の精度が制御される。
以上説明したように、本発明を上記実施形態の如く適用することで、適切な撮影設定を容易におこなうことができる。
ここで、データ圧縮部221による周波数変換動作を利用して特徴データを生成しているので、高速に特徴データを生成することができる。多くのデジタルスチルカメラにおいて、撮像画像の圧縮方式に、直交変換(周波数変換)をおこなうJPEGを採用していることが一般的である。このため、通常のデジタルスチルカメラでは、高速に圧縮がおこなえるよう、ハードウェア処理によって圧縮動作をおこなうことが一般的となっている。本発明は、このような既存のハードウェアによる動作を利用して特徴データを生成するので、特徴データ生成のための追加構成を必要としない。このため、高速な特徴データの生成を低コストで実現することができる。
この場合において、対象画像の全体に設定したMCUを周波数変換し、変換後の周波数成分毎の集合を再度周波数変換することで、対象画像全体の特徴を示す特徴データを生成することができる。このような複数回の周波数変換を伴う処理をおこなっても、ハードウェア処理を利用して周波数変換をおこなっているので、特徴データを高速に生成することができる。
このように生成される特徴データと同形式のサンプルデータを予め用意しておき、撮像時に生成した特徴データと比較することで、撮像対象画像のシーンを自動的に判別することができる。この場合、周波数変換による数値データを特徴データとするので、数値の差分を演算するという単純な処理によってシーン判別することができる。
さらに、判別したシーンに応じた撮影設定への変更を提示することで、ユーザは容易に最適な撮影設定で撮影することができる。このような、自動シーン判別による提示からシーン設定をおこなえるようにすることで、用意されているシーン別パラメータが多い場合などでも、少ない操作で最適なシーン設定をおこなうことができ、特に、表示画面の小さい撮像装置(例えば、携帯電話など)において有用となる。
ここで、シーン判別の際、シーン毎に数値差分の許容値を設定しておき、許容値の範囲内となるシーンを推奨シーンとすることで、シーン毎に判別精度を最適化することができる。さらに、撮像装置に対する操作に応じて許容値を自動的に変更することで、ユーザの感覚や嗜好にあったシーン判別をおこなうことができる。
この場合、シーン設定変更の提示に対して拒否した場合には、当該シーンについてのシーン設定変更の提示が表示されにくくなるよう許容値を変更することで、提示精度を制御することができる。
また、提示機能(アドバイス機能)を有効としない操作がされている場合には、撮像した画像の特徴データと、設定されているシーンについてのサンプルデータとの比較に基づいて許容値を変更することで、ユーザの感覚に近くなるよう提示精度を制御することができる。
さらに、提示したシーン設定変更が拒否された場合には、所定時間経過するまで提示動作をおこなわないよう制御することで、同じ被写体の撮影に対してはシーン設定変更の提示をおこなわないようにすることができる。
上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
上記実施形態では、デジタルスチルカメラによって本発明の撮像装置を実現した場合を例示したが、周波数変換をおこなうハードウェアを備えているものであれば、例えば、動画撮像用の撮像装置(ビデオカメラ)などに本発明を適用してもよい。また、撮像機能に特化した撮像装置だけでなく、撮像機能を付加機能として有する各種装置(例えば、携帯電話やパーソナルコンピュータなど)に本発明を適用してもよい。なお、周波数変換をおこなうハードウェア構成を有していることが望ましいが、周波数変換にかかる動作がソフトウェア処理によって実現されていてもよい。この場合、ソフトウェア処理を実行するCPUなどのハードウェアの能力が高ければ、ハードウェア処理の場合と同等の効果を得ることができる。
上記実施形態では、周波数変換動作を利用して生成した特徴データに基づいてシーン判別をおこない、推奨されるシーン設定への変更を提示するものとしたが、このような提示をおこなわず、自動的に設定変更をおこなうように動作してもよい。このような動作とすることで、シーンに応じた撮影設定が自動的になされるので、例えば、初心者や高齢者などのような撮影設定に不慣れな者が使用する場合であっても、適切な撮影設定で撮影することができる。
本発明にかかる機能を実現するための構成を予め備えた撮像装置として提供できることはもとより、プログラムの適用により、既存の撮像装置を本発明にかかる撮像装置として機能させることもできる。すなわち、上記実施形態で例示した制御部210による各機能構成を実現させるためのプログラムを、既存の撮像装置を制御するコンピュータ(CPUなど)が実行できるよう適用することで、本発明にかかる撮像装置として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカードやCD−ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。
1…デジタルカメラ、100…撮像部、110…光学装置、120…イメージセンサ部、200…データ処理部、210…制御部、211…動作モード処理部、212…撮像制御部、213…画像分析部、214…特徴データ生成部、215…シーン判別部、220…画像処理部、221…データ圧縮部、230…画像メモリ、240…画像出力部、250…記憶部、260…外部記憶部、300…I/F部、310…表示部、320…操作部