JP2017005738A - 画像処理装置、画像処理方法、プログラム - Google Patents
画像処理装置、画像処理方法、プログラム Download PDFInfo
- Publication number
- JP2017005738A JP2017005738A JP2016152471A JP2016152471A JP2017005738A JP 2017005738 A JP2017005738 A JP 2017005738A JP 2016152471 A JP2016152471 A JP 2016152471A JP 2016152471 A JP2016152471 A JP 2016152471A JP 2017005738 A JP2017005738 A JP 2017005738A
- Authority
- JP
- Japan
- Prior art keywords
- main subject
- candidate
- candidate image
- determination
- image
- 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.)
- Granted
Links
Images
Landscapes
- Image Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
Description
また例えば上記特許文献2,3,4に開示された技術を用いれば、任意の被写体の全身枠を取り囲んだ被写体追尾が実現できる。
また、オートフォーカス・自動露光などは、撮像画像内の所望の領域を検出・追跡し、その領域がもっとも好適になるように光学系等を制御するような機能も存在する。
これらのように、撮像画像内で、ユーザが主要被写体として指定した画像、例えば顔等の画像領域を追尾したり、顔領域にフォーカスを合わせる等の技術が知られている。
例えばカメラを所持した状態で、画面表示されたスルー画(シャッタ操作時点以外に表示される被写体のモニタリング画像)に写されている複数の顔の中からタッチパネルによって任意の顔を選択するというような行為で主要被写体が選定される。あるいはユーザ指定のタイミング(シャッタ半押し等)で所定の領域内に存在する被写体を主要被写体とするなどである。
たとえば動き回る被写体に焦点を合わせ続けたいためにこの機能を使いたいのに、ユーザがカメラを構えて被写体を狙いながら指で選択すること自体が難しい。
例を挙げれば、被写体の変化(移動)に対するユーザの反応速度により、指定が困難なこともある。例えば動き回る被写体を、スルー画の画面上でうまく指定できないような場合である。
また、そもそもカメラを手に持って、被写体に向けて被写体を選定しているような状況で、ユーザが画面上で主要被写体を指で選択する行為自体が難しい。
またタッチパネルを配した表示画面の解像度によって、ユーザにとって被写体が選択しにくいことがある。
また、タッチパネルを配した表示画面上の被写体サイズとユーザの指の大きさ(太さ)によっては、所望の被写体を適切に指定できないこともある。
また、カメラシステム上のタイムラグ、例えば実際の光景と撮像画像のスルー画のタイムラグによって、ユーザが適切に被写体を指定しにくいこともある。
そこで本開示では、撮像者等のユーザが意図的に被写体を選択する行為を行わなくとも、ユーザの求める対象被写体を判定し、主要被写体とする技術を実現することを目的とする。
<1.画像処理装置の構成>
<2.撮像装置の構成>
<3.主要被写体決定処理概要>
[3−1:処理タイプI]
[3−2:処理タイプII]
[3−3:主要被写体判定機会/目的等]
<4.具体的処理例>
[4−1:処理例1(タイプI;判定基準点;先着判定;累積存在)]
[4−2:処理例2(タイプI;判定基準点;先着判定;継続存在)]
[4−3:処理例3(タイプI;判定基準点;先着判定;累積存在;拡張例)]
[4−4:処理例4(タイプI;判定基準点;先着判定;累積存在;条件判定付き)]
[4−5:処理例5(タイプI;判定基準点;一定時間判定;累積存在)]
[4−6:処理例6(タイプI;判定基準点;一定時間判定;継続存在)]
[4−7:処理例7(タイプI;判定基準領域;先着判定;累積/継続存在)]
[4−8:処理例8(タイプI;判定基準領域;一定時間判定;累積/継続存在)]
[4−9:処理例9(タイプII;判定基準点;平均的存在)]
[4−10:処理例10(タイプII;判定基準点;累積存在)]
[4−11:処理例11(タイプII;判定基準点;継続存在)]
[4−12:処理例12(タイプII;判定基準領域;平均的存在)]
<5.プログラム及びコンピュータ装置への適用>
<6.変形例>
「画角空間」(Field of view)とは、撮像画像に表れる空間を意味する。主に撮像画像における画面平面としての2次元空間としての意味を有するが、これだけでなく、さらに撮像時のカメラ位置に対する被写体の相対的な距離も含む3次元空間としての意味でも用いる。なお、撮像画像について、撮像時のカメラ位置に対する被写体の相対的な距離のことを述べる場合、「被写体距離」という言葉を用いる。
実施の形態においては「画角空間」とは、主に画面平面の2次元空間(撮像画像におけるx−y座標空間)を表す意味で用い、本開示の技術は「画角空間」は画面平面の2次元空間であるとして適用できるが、特に画面平面に加えて「被写体距離」を考慮する場合は、「画角空間」は3次元空間(x−y−z座標空間)を意味するものとなる。
さらにいえば、後に変形例として述べるが、「画角空間」は、画面平面の横方向位置(x座標)のみ、又は画面平面の横方向位置(y座標)のみ、又は被写体距離(z座標)のみを考えた1次元空間と考えることも可能である。
「位置状態」の具体例としては、
・実施の形態で説明する判定基準点との相対距離
・実施の形態で説明する判定基準領域に対する相対的位置関係や相対距離
・撮像画像の二次元平面内での候補画像の位置
・被写体距離
・被写体距離と判定基準点又は判定基準領域との相対位置関係
などがある。
図1に、実施の形態の画像処理装置の構成例を示す。
画像処理装置1は、主要被写体判定部2と候補検出部3を有する。
即ち、時間軸上で連続的に入力される画像データDgのフレーム毎(又は間欠的なフレーム毎)に、顔画像検出、人体画像検出などを行って、主要被写体の候補となる画像を抽出する。
なお、顔検出、人体検出等は、撮像画像データに対しての画像解析におけるパターンマッチングの手法などで可能であるが、パターンマッチングに用いる辞書さえ差し替えれば他の検出器も原理的には実現可能である。例えば(特定種の)犬顔検出・猫顔検出などとして主要被写体の候補画像を抽出してもよい。
また例えばフレーム差分による動体検出の手法で、動体を検出し、当該動体を候補画像とすることも考えられるし、セイレンシ(Saliency)と呼ばれる注視領域抽出の手法を用いてもよい。
そして候補検出部3は、抽出した候補画像を示す情報、例えば候補画像の画面内の二次元方向の位置情報(x,y座標値)や、被写体距離、画像サイズ(ピクセル数)などを候補画像情報として出力する。
このため主要被写体判定部2は、例えばソフトウエアプログラムにより実現される演算処理機能として、位置状態判定部2a、安定存在度算出部2b、設定処理部2cが設けられる。
安定存在度算出部2bは、位置状態判定部2aで判定された、各フレームでの候補画像の位置状態から、各候補画像についての、複数フレームにわたる画像データ内での安定存在度を求める。
設定処理部2cは、安定存在度算出部2bで求められた安定存在度を用いて、各候補画像の中から主要被写体を判定し、或る候補画像を主要被写体と設定する処理を行う。主要被写体として設定された画像を示す情報が、主要被写体情報Dmとして出力され、他のアプリケーションソフトウエアや処理回路部等に受け渡される。
また主要被写体判定部2は演算処理装置としてCPUやDSPで実現できる。
また、主要被写体判定部2を構成するCPU等が、候補検出部3としての動作を実行する構成も想定される。つまり、画像解析を行う候補検出部3が、主要被写体判定部2となる演算処理装置内の一機能ブロックとして構成される場合もある。
ステップF1000として、画像データDgの入力が開始される。画像データDgは、図示しない撮像装置部、或いは別体の撮像装置から送信された画像データを受信する受信部等により入力されてくる。或いは撮像装置で撮像され、記録媒体に保存された動画像データが、再生されて入力される場合もある。
ステップF1002では、候補検出部3が、順次入力されてくる画像データDgの各フレームを対象として画像解析やフレーム差分検出、注視領域検出等を行い、所定の候補画像の検出を行う処理を開始する。
候補検出部3は、入力される全てのフレームを対象として候補画像抽出を行ってもよいし、1フレームおき、2フレームおきなど、間欠的なフレームを対象として候補画像抽出を行ってもよい。即ち候補検出部3は、主要被写体判定を行う期間は、少なくとも時系列上での複数のフレームに対して、候補画像の抽出処理を行っていけばよい。どのような画像を候補画像とするかは設定により多様であるが、例えば顔画像、人体画像、犬画像、猫画像などが考えられる。
そして候補検出部3は、各フレームについてそれぞれ、検出した候補画像を示す候補画像情報を主要被写体判定部2に出力する。
この主要被写体判定処理は図2Bのようになる。
ステップF1で、位置状態判定部2aが、順次入力される候補画像情報を取り込み、各候補画像の位置状態を判定する。候補画像は1フレームに付き、1又は複数存在することがあるし、フレーム内に候補画像が存在しないこともある。或るフレームに複数の候補画像が存在する場合、各候補画像について位置状態をそれぞれ判定することとなる。
そして図2AのステップF1004で、主要被写体判定部2は、主要被写体情報Dmをアプリケーションプログラム等に受け渡す。
アプリケーションプログラム等では、主要被写体と設定された画像が特定されたことに応じた処理を行う。例えば、フォーカス制御、追尾処理、画像効果処理などである。
例えばカメラを構えている撮像者が、ターゲットとして狙っていると思われる確度の高い被写体は、安定存在度が高くなる。つまり撮像者が主として狙っている被写体は、撮像画像内の位置として、撮像者が中心と考える点や領域になるべく入るようにするし、さらに撮像者がその被写体を狙うことで、自然に長時間、撮像画像に入ってくる。従って、位置的に安定し、かつ時間的に高い頻度で撮像画像内に存在する被写体(安定存在度が高い被写体)は、撮像者が狙っている主要被写体と推定できる。
このような安定存在度により主要被写体判定を行う。これにより、撮像者等のユーザが特に指定操作することなく、主要被写体が自動判定されることになり、主要被写体設定に応じた動作を行う各種電子機器においてユーザの操作性は格段に向上する。
以下では、上記のような画像処理装置を内蔵した撮像装置10を例に挙げ、主要被写体判定動作について詳しく説明する。
実施の形態の撮像装置10の構成例を図3に示す。この撮像装置10はいわゆるデジタルスチルカメラ或いはデジタルビデオカメラとされ、静止画や動画の撮像/記録を行う機器であり、請求項でいう画像処理装置を内蔵するものである。
また画像処理装置における上述の主要被写体判定部2に相当する構成は、撮像装置10における制御部30においてソフトウエアにより実装される。制御部30は、請求項でいうプログラムに基づく処理を実行することで、請求項でいう画像処理方法としての動作を行う。
イメージャ12は、例えば、CCD(Charge Coupled Device)型、CMOS(Complementary Metal OxideSemiconductor)型などの撮像素子を有する。
このイメージャ12では、撮像素子での光電変換で得た電気信号について、例えばCDS(Correlated Double Sampling)処理、AGC(Automatic Gain Control)処理などを実行し、さらにA/D(Analog/Digital)変換処理を行う。そしてデジタルデータとしての撮像信号を、後段のデジタル信号処理部20に出力する。
例えばデジタル信号処理部20は、前処理部21、同時化部22、YC生成部23、解像度変換部24、コーデック部25、候補検出部26を備えている。
同時化部22は、各画素についての画像データが、R,G,B全ての色成分を有するようにするデモザイク処理を施す。
YC生成部23は、R,G,Bの画像データから、輝度(Y)信号および色(C)信号を生成(分離)する。
解像度変換部24は、各種の信号処理が施された画像データに対して、解像度変換処理を実行する。
コーデック部25は、解像度変換された画像データについて、例えば記録用や通信用の符号化処理を行う。
また、候補画像枠情報としては、さらに、候補画像の属性情報(顔、人体、犬、猫等の種別や、個人(個体)識別情報、さらには画像データ自体を含むようにしてもよい。
候補検出部26は、上述のようにパターンマッチングの手法で候補の対象とする特定の画像を抽出してもよいし、例えばフレーム差分による動体検出の手法で、動体を検出し、当該動体を候補画像とすることなども考えられる。候補画像の抽出、選定の手法は以上に限定されず、多様に考えられる。
また、候補検出部26は、画像に平滑化処理、アウトライヤ(outlier)除去等の処理を行って、候補画像枠情報を生成してもよい。
CPUがROMやフラッシュメモリ等に記憶されたプログラムを実行することで、この撮像装置10全体を統括的に制御する。
RAMは、CPUの各種データ処理の際の作業領域として、データやプログラム等の一時的な格納に用いられる。
ROMやフラッシュメモリ(不揮発性メモリ)は、CPUが各部を制御するためのOS(Operating System)や、画像ファイル等のコンテンツファイルの他、各種動作のためのアプリケーションプログラムや、ファームウエア等の記憶に用いられる。例えば本例において後述する主要被写体判定処理を実行するためのプログラムや、さらに主要被写体判定結果を利用するアプリケーションプログラム等が記憶される。
さらに本実施の形態の場合、制御部30は、主要被写体判定部31としての機能を備え、後述する主要被写体判定処理を実行する。
主要被写体判定部31は、図1の主要被写体判定部2に相当する機能であり、上述した位置状態判定部2a、安定存在度算出部2b、設定処理部2cとしての処理を実行する。
この表示部34は、上記のディスプレイデバイスと、該ディスプレイデバイスに表示を実行させる表示ドライバとから成る。表示ドライバは、制御部30の指示に基づいて、ディスプレイデバイス上に各種表示を実行させる。例えば表示ドライバは、撮像して記録媒体に記録した静止画や動画を再生表示させたり、レリーズ(シャッタ操作)待機中に撮像される各フレームの撮像画像データによる動画としてのスルー画(被写体モニタリング画像)をディスプレイデバイスの画面上に表示させる。また各種操作メニュー、アイコン、メッセージ等、即ちGUI(Graphical User Interface)としての表示を画面上に実行させる。本実施の形態の場合、例えばスルー画や再生画上で、主要被写体判定による判定結果がユーザにわかるような表示も実行される。
この操作部35としては、例えば撮像装置10の筐体上に設けられた各種操作子や、表示部34に形成されたタッチパネルなどとして実現される。
筐体上の操作子としては、再生メニュー起動ボタン、決定ボタン、十字キー、キャンセルボタン、ズームキー、スライドキー、シャッターボタン(レリーズボタン)等が設けられる。
またタッチパネルと表示部34に表示させるアイコンやメニュー等を用いたタッチパネル操作により、各種の操作が可能とされてもよい。
画像ファイルは、例えばJPEG(Joint Photographic Experts Group)、TIFF(Tagged Image File Format)、GIF(Graphics Interchange Format)等の形式で記憶される。
記録部15の実際の形態は多様に考えられる。例えば記録部15は、撮像装置10に内蔵されるフラッシュメモリでもよいし、撮像装置10に着脱できるメモリカード(例えば可搬型のフラッシュメモリ)と該メモリカードに対して記録再生アクセスを行うカード記録再生部による形態でもよい。また撮像装置10に内蔵されている形態としてHDD(Hard Disk Drive)などとして実現されることもある。
また、本例において後述する主要被写体判定処理を実行するためのプログラムは、記録部15に記憶されてもよい。
例えば外部の表示装置、記録装置、再生装置等の間で撮像画像データ(静止画ファイルや動画ファイル)の通信を行う。
また、ネットワーク通信部として、例えばインターネット、ホームネットワーク、LAN(Local Area Network)等の各種のネットワークによる通信を行い、ネットワーク上のサーバ、端末等との間で各種データ送受信を行うようにしてもよい。
センサ部14の各種センサは、それぞれ検出した情報を制御部30に伝達する。制御部30は、センサ部14で検出された情報を用いて各種制御を行うことができる。
以上の構成の撮像装置10において、制御部30(主要被写体判定部31)が実行する主要被写体判定処理について、以下説明していく。
後に、具体的な処理例1〜12として、各種の主要被写体判定処理例を述べるが、主要被写体判定処理とは、候補画像情報で示される候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、候補画像のうちで主要被写体を判定する処理である。このような主要被写体判定処理として、以下に処理タイプI、処理タイプIIを例示する。但し本開示の主要被写体判定処理が2つのタイプのみに限定されるわけではなく、後述する処理例1〜12が、大きく分けるとタイプI、タイプIIに分けられるという意味である。
一方、処理タイプIIは、或る期間に、候補画像情報の取り込み(バッファリング)を行う。そして当該期間が経過したら、取り込んだ候補画像情報を用いて主要被写体判定を行う処理態様である。
処理タイプIの処理の流れを図4に示す。なお図4では、各ステップF10〜F15について、上記図2BのステップF1(取り込み/位置状態判定)、F2(安定存在度算出)、F3(主要被写体設定)に相当する処理の対応関係も示しておく。
以下は、制御部30の主要被写体判定部31による処理である。
ステップF11で制御部30は、取り込んだ候補画像枠情報で示される1又は複数の各候補画像枠について、それぞれ画角空間内の位置計算を行って位置状態を判定する。
この場合、位置状態として、画角空間内に設定した判定基準点に対する候補画像の距離を判定する。又は、位置状態として、画角空間内に設定した判定基準領域に対する候補画像の位置関係を判定する。
なお、安定存在度の算出には、算出の条件として、画角空間内での候補画像の位置情報、又は候補画像のサイズ情報を用いることもある。
ここでステップF13での判定は、主要被写体判定開始から、安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定する処理である。又は、主要被写体判定期間に、安定存在度の値が最も高い候補画像を、主要被写体と判定する処理である。
また主要被写体の判定には、安定存在度の値に加えて、画角空間内での候補画像の位置情報、又は候補画像のサイズ情報を用いることもある。
続いて処理タイプIIの処理の流れを図5に示す。図5でも、各ステップF20〜F24について、上記図2BのステップF1(取り込み/位置状態判定)、F2(安定存在度算出)、F3(主要被写体設定)に相当する処理の対応関係も示しておく。
以下は、制御部30の主要被写体判定部31による処理である。
ステップF21で制御部30は、取り込んだ候補画像枠情報で示される1又は複数の各候補画像枠について、それぞれ画角空間内の位置計算を行って位置状態を判定する。
例えば位置状態として、画角空間内に設定した判定基準点に対する候補画像の距離を判定する。又は、位置状態として、画角空間内に設定した判定基準領域に対する候補画像の位置関係を判定する。
そして制御部30は、算出した位置状態(距離や位置関係)の情報を内部RAM等に蓄積(バッファリング)する。
つまり所定期間が経過したか、又は所定フレーム数分、ステップF20,F21の処理を行ったか否かを判定する。
ステップF23で制御部30は、各候補画像枠についてバッファリングしていた例えば所定期間の位置状態の情報を用いて、安定存在度を計算する。
この場合制御部30は、安定存在度として、位置状態が所定条件を満たしている累積時間情報、又は、位置状態が継続して所定条件を満たしている継続時間情報を算出する。
なお、安定存在度の算出には、算出の条件として、画角空間内での候補画像の位置情報、又は候補画像のサイズ情報を用いることもある。
例えばバッファリングを行った主要被写体判定期間中に、安定存在度の値が最も高い候補画像を、主要被写体と判定し、主要被写体を設定する。
なお主要被写体の判定には、安定存在度の値に加えて、画角空間内での候補画像の位置情報、又は候補画像のサイズ情報を用いることもある。
本実施の形態では、以上の処理タイプI、IIによって主要被写体判定が行われるが、撮像装置10において主要被写体判定を行う機会や目的等について説明しておく。
主要被写体判定は、例えばユーザ(撮像者)がシャッタタイミング(レリーズタイミング)を狙っている際に実行されるが、制御部30は主要被写体を自動的に判定した後、次のような処理を行うことができる。
撮像される各フレームにおいて設定された主要被写体を追尾する。例えばスルー画表示上でユーザに主要被写体を明示して、ユーザの画角調整(例えばカメラを手に持っている状態における被写体決め)の用に供する。
なお、主要被写体の提示としては、表示部34でのスルー画表示上で主要被写体の枠を強調表示することが考えられる。また、強調表示等は、判定直後の一定期間でもよいし、スルー画内に主要被写体が存在する限り実行させてもよい。
主要被写体にオートフォーカス制御する。また、追尾処理と合わせて、主要被写体が動き回っていても、フォーカスが、その主要被写体に追尾して調整されるようにする。
・露光調整
主要被写体の明るさ(輝度)に基づいて自動露光調整を行う。
・指向性調整
撮像(例えば動画撮像)とともにマイクロホンにより音声収音を行う場合、画角空間内での主要被写体の方向に応じて、指向性調整を行う。
・画像効果処理
撮像される各フレームにおいて主要被写体の領域にのみ、画質調整、ノイズリダクション、肌色調整などの画像処理を加える。
或いは、主要被写体の領域以外に、画像効果、例えばモザイク処理、ぼかし処理、塗りつぶし処理等を加えることも考えられる。
撮像画像、もしくは記録された画像について、フレーミング、クロッピング等の編集処理を加える。
例えば主要被写体を含むフレーム内の一部領域の切り出しや、拡大等の処理を行うことができる。
また、撮像画像データのうちで、主要被写体が画像の中心に配置されるように画像周辺部のカット等を行い、構図調整を行うことができる。
例えば撮像装置10が電源オンとされて、撮像を行っているとき(表示部34にスルー画を表示している期間)は、常時主要被写体判定処理を行っていてもよい。
また、主要被写体を判定したら、追尾処理を行う場合、追尾が外れた時点で、再度主要被写体判定処理を行うようにしてもよい。
また、ユーザ操作により主要被写体判定処理が開始されるようにしてもよい。
またユーザが、判定実行モードを選択しているときに、常時実行されたり、追尾が外れたときに実行されるなどとしてもよい。
またユーザ操作にかかわらず、自動的に主要被写体判定処理が起動されることも考えられる。
先に述べたように、撮像者が撮像装置10をもって被写体を狙っているときには、そもそも主要被写体を指定するような操作は難しい。また何度も指定する行為は面倒である。主要被写体判定を自動的に実行することによれば、このようなことが解消され、ユーザストレスの低減効果が得られる。
またユーザが通常使用するデジタルスチルカメラ、携帯電話機内蔵カメラなど、ユーザが携帯して使用する撮像装置10としては、表示部34も小型であり、ユーザが主要被写体を画面上で指定する操作を行ったとしても、正確に行いにくい。本実施の形態のように自動判定することで、誤指定ということもなくなる。
また撮像装置10を自然に構えていれば主役を撮れる、という感覚で使用できるため、撮像機会の増加、対応ユースケースの増加ということができ、使いやすいカメラをユーザに提供できることにもなる。
[4−1:処理例1(タイプI;判定基準点;先着判定;累積存在)]
以下、制御部30が実行する主要被写体判定処理の具体例として処理例1〜処理例12を順次説明していく。
処理例1は、上述の処理タイプIの具体例である。
そして候補画像枠の位置状態としては、設定した判定基準点との距離を求める。
また、各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)が所定の閾値以内という条件を満たしている累積時間情報を算出する。
また、主要被写体判定開始から、安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定する。
図には、撮像装置10の光学系11,イメージャ12の動作によりデジタル信号処理部20に入力される撮像画像信号の各フレームFR1,FR2,FR3・・・を示している。候補検出部26は、このような順次入力される連続した各フレームのそれぞれ(或いは間欠的な各フレームについて)に候補画像の検出を行う。
例えば図示のように、フレームFR1について、3人の人が存在していた場合、それぞれの顔画像部分を候補画像として抽出し、その候補画像枠E1,E2,E3についての候補画像枠情報を出力する。例えば候補画像枠E1の候補画像枠情報は、例えばこの候補画像枠E1の画像内での位置情報(x,y位置情報、被写体距離情報)、サイズ情報(枠の幅、高さ、ピクセル数)、属性情報等である。
候補検出部26は、このような候補画像枠情報を、候補画像枠E2,E3についても生成し、制御部30(主要被写体判定部31)に受け渡す。
図7Aに判定基準点SPの例を示している。これは画像中央を判定基準点SPとした例である。判定基準点SPのxy座標値を(Cx,Cy)とする。
例えばフレームFR1の時点で、候補画像枠E1,E2,E3のそれぞれの候補画像枠情報が取り込まれた場合、制御部30は、図示する各候補画像枠E1,E2,E3の重心Gから判定基準点SPの距離Diff1、Diff2、Diff3を算出する。
例えば図7Bのように、中央よりやや左上方の位置に判定基準点SPを設定してもよい。例えば静止画の構図を考えた場合、このような中央でない位置に主たる被写体を配置するとよい場合が多々考えられるからである。
いずれにしても、図7Bのように、各候補画像枠(例えばE4,E5)と判定基準点SPの距離(例えばDiff4、Diff5)を算出するようにする。
即ち判定基準点SPについては、
・画像中央位置、或いは中央よりずれた位置などとして、予め決められた固定的な位置に設定される。
・ユーザが任意に指定する。
・いくつかの候補点をユーザに提示し、ユーザが選択することで設定される。
・制御部30が画像内容に応じて最適位置を判定し、自動的に可変設定する。
などが考えられる。
図8は、仮に候補画像枠E1,E2,E3が、ある期間継続してフレーム(FR1,FR2・・・)内に存在し続けたとして、算出される距離Diff1、Diff2、Diff3の変動の様子を示したものである。
例えば撮像者が撮像装置10で、ある期間、3人の被写体をとらえていた場合を想定している。3人の各人が、それぞれ動いていたり、或いは撮像者が撮像装置10の被写体方向を動かしていたり、手ぶれがあるなどにより、時間軸上では、算出される各距離Diff1、Diff2、Diff3は変動している。
図8下部には、距離Diff1、Diff2、Diff3の各時点での、距離閾値Thr-diff以内か否かの判定結果を示している。距離Diff(n)が距離閾値Thr-diff以下であれば、近い=「1」とされることとする。
この判定結果「1」を各時点で累積加算していったものが処理例1での安定存在度となる。
例えば図8の例では、候補画像枠E3は、継続して「1(=判定基準点SPに近い)」と判定されるが、この累積加算値が或る所定値に達した時点で、判定が終了され、候補画像枠E3が主要被写体と判定されることとなる。
制御部30は、主要被写体判定処理を開始すると、まずステップF100で変数TSF=0とし、またカウント値Cnt(n)=0とする。
変数TSFとは、主要被写体設定済みか否かを示すフラグである。TSF=「0」は、主要被写体が未判定の状態を示すこととなる。
またカウント値Cnt(n)は、上述の距離Diffの距離閾値Thr-diffとの比較判定結果の値を加算するカウンタの値である。
また、同様に距離Diff(n)とは、3つの候補画像枠E1,E2,E3の判定基準点SPからの距離Diff1、Diff2、Diff3を総称して表すものとしており、距離Diff(n)についての処理とは、例えば距離Diff1、Diff2、Diff3のそれぞれについての処理という意味で用いている。
なお、候補画像枠情報には被写体距離(上記二次元(x−y)座標平面に直交するz軸方向の値で表される、カメラ位置に対する被写体の相対的な距離:z値)やピクセル数等も含まれていてもよい。
例えば候補画像枠情報によっては、候補画像枠のx,y座標値として、方形の候補画像枠の左上頂点の座標値が与えられるとする。このx,y座標値を(E(n)_x,E(n)_y)とする。また図7に示したように、x,y座標は画面平面の左上を原点O(x,y座標値が(0,0))とする。
また候補画像枠E(n)の幅wをE(n)_w、高さhをE(n)_hとする。
そして候補画像枠E(n)の重心Gの座標値を(E(n)_cx,E(n)_cy)とすると、重心Gの座標値は、
E(n)_cx=E(n)_cx+E(n)_w/2
E(n)_cy =E(n)_cy+E(n)_h/2
として求められる。
Diff(n)=√{(E(n)_cx−Cx)2+(E(n)_cy−Cy)2}
で求められる。
なお、主要被写体判定処理を開始した後、常時、処理を継続する場合、判定不要時(変数TSF=1のとき)には、このステップF104での処理を抜けることとなる。ユーザ操作や自動的な起動判断で、必要時に図9の主要被写体判定処理を実行するようにする場合などではステップF104は不要としてもよい。後述する処理例2以降も同様である。
即ち判定基準点SPまでの距離Diff(n)が、判定基準点SPに近いか近くないかを、距離閾値Thr-diffを用いて判定する。
このため制御部30はステップF105で、各候補画像枠E(n)の判定基準点SPまでの距離Diff(n)と距離閾値Thr-diffを比較し、Diff(n)<Thr-diffであればステップF106でフラグFlg(n)=1(近い)とする。またDiff(n)<Thr-diffでなければステップF107でフラグFlg(n)=0(近くない)とする。
このカウント値Cnt(n)は、上述した累積加算値としての安定存在度の値となる。つまり、候補画像枠E(n)が判定基準点SPに「近い」状態の頻度を表す値となる。
制御部30はステップF111で、各候補画像枠E(n)のカウント値Cnt(n)が、カウント閾値CTthrに達しているか否かを確認する。
先に述べたステップF104で変数TSF=1が検出された場合、そのまま判定終了となる。
詳しい説明は省略するが、本例の自動的な主要被写体判定とは並行して、例えばユーザが主要被写体を表示部34の画面上のタッチ操作、或いは被写体を画面上に所定位置に合わせてシャッタボタンを半押しするなどの操作として、主要被写体選択ができるようにしてもよい。図9の処理の実行中に、ユーザがこのような指定操作を行った場合、ユーザの操作を優先することが好ましい。そこで、そのようなマニュアル操作として主要被写体設定が行われた場合、変数TSF=1とする。この場合、図9の処理はステップF104,F114の判断により、処理を終了(中断終了)することとすればよい。
すると或る時点で、カウント値Cnt3がカウント閾値CTthrに最初に到達することとなる。
このような場合、制御部30は処理をステップF111からF112に進める。
ステップF112で制御部30は、カウント値Cnt(n)がカウント閾値CTthrに達した候補画像枠E(n)を主要被写体と判定し、主要被写体設定を行う。そして変数TSF=1とする。
なお、この処理例1は変数TSF=1となるまで続けられることになるが、実際には、所定の制限時間を設けておくことが適切である。即ち図9の処理開始時点から所定時間を経過しても主要被写体が判定できない場合は、主要被写体無しとして、処理を終了するようにする。
特に処理例1は、判定基準点SPに「近い」状態の累積時間で安定存在度を判定している。動いている状況の被写体、或いは動物等の動きの早い被写体の場合、撮像者はある程度の時間(例えば数秒程度でも)、主としたい被写体を継続して画像中央に捕らえることは難しい場合がある。また撮像者の撮像技量によっては、手ぶれが激しいなどにより、なかなかとりたい被写体を画像中央に維持できないといったこともある。このような場合であっても、累積時間を用いることで、比較的迅速に主要被写体判定が可能となる。
従って動きの速い被写体を対象とする場合や、比較的不慣れなユーザには好適となる。
続いて、処理例2も、処理タイプIの具体例である。
そして候補画像枠の位置状態としては、設定した判定基準点との距離を求める。
また、各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)が所定の閾値以内という条件を継続して満たしている継続時間情報を算出する。
また、主要被写体判定開始から、安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定する。
処理例1との差異点は、安定存在度が、判定基準点SPに近い状態の継続時間とすることである。あくまで継続して所定時間(所定フレーム)以上、判定基準点SPに近い状態があった候補画像枠を、主要被写体と判定する。
なお、後述する処理例3〜処理例12でも、各フローチャートにおいて、説明済みの処理については同一のステップ番号を付して説明を省略することとする。
この図10は、図9の処理にステップF110が追加された例である。
処理例1と同様、カウント値Cnt(n)は安定存在度の値となる。つまり、候補画像枠E(n)が判定基準点SPに「近い」状態が検出されることに応じてカウント値が加算されていく。ところがこの処理例2では、ステップF110でカウント値Cnt(n)がクリアされる。
例えば或る候補画像枠が、判定基準点SPに近くなっていたとしても、或るフレームで遠い状態になっていると、対応するカウント値Cnt(n)はリセットされる。
そしてステップF111でカウント値Cnt(n)がカウント閾値CTthrに到達する場合とは、或る候補画像枠が、継続して、カウント閾値CTthrに相当するフレーム数(時間)だけ、判定基準点SPに近いという条件を満たし続けた場合となる。
他の各ステップの処理は図9と同様である。
なお、この処理例2も、処理開始時点から所定の制限時間を経過しても主要被写体が判定できない場合は、主要被写体無しとして、処理を終了するようにするとよい。
特に処理例2では、継続時間によって安定的な存在かどうかを評価している。この場合、動きの少ない被写体を対象とする場合、容易に画像中央等に継続して対象被写体をとらえることができるため、ユーザの望む主要被写体を正確に設定できる可能性が高い。また撮像者の技量によっては、主としてとりたい被写体を継続して画面中央等(判定基準点SPに近い位置)に維持できるため、正確に撮像者の希望の被写体を主要被写体と判定できる確率が高い。つまり、撮像技能の上級者や、被写体によっては、よりユーザの望む被写体を主要被写体と判定できる可能性を高くできる。
また、主要被写体判定処理は、一定時間を必ず行うものではなく、主要被写体が判定された時点で処理は終了されるため、被写体や撮像者の技量によっては、迅速に主要被写体判定が為される。
処理例3も上述の処理タイプIの具体例であるが、この処理例3は上記処理例1を発展させた例である。
候補画像枠の位置状態としては、設定した判定基準点との距離を求める。
各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)が所定の閾値以内という条件を満たしている累積時間情報を算出する。
主要被写体判定開始から、安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定する。
以上は処理例1と同様であるが、処理例3は安定存在度の算出に、重み付けを与えることを可能としている。また、同時に複数の候補画像枠について安定存在度が所定値に達した場合、つまり複数の候補画像枠が主要被写体と判定されてしまう場合の対応処理を付加するものである。
ステップF108,F121,F122,F123で制御部30は、各候補画像枠E(n)の安定存在度を算出する。
この場合、ステップF108で、各候補画像枠E(n)について、フラグFlg(n)=1であるか否かを確認する。
フラグFlg(n)=1であれば、制御部30はステップF121に進み、カウント変数OFSTに可変設定値Aを代入する。可変設定値Aは、A>0として設定された値である。
フラグFlg(n)=0であれば、制御部30はステップF122に進み、カウント変数OFSTに可変設定値Bを代入する。可変設定値Bは、A≦0として設定された値である。
そしていずれの場合も制御部30は、ステップF123で、安定存在度の値となるカウント値Cnt(n)について、
Cnt(n)= Cnt(n)+OFST
の演算を行う。
また各候補画像枠E(n)についての、平均距離Ave-Diff(n)を算出する。
そしてステップF111でカウント値Cnt(n)がカウント閾値CTthrに到達する場合とは、或る候補画像枠が、非連続的でもよいが、複数のフレームのうちで高い頻度で判定基準点SPに近いという条件を満たした場合となる。
ステップF113、F114の処理は図9と同様である。
また、この処理例3も、処理開始時点から所定の制限時間を経過しても主要被写体が判定できない場合は、主要被写体無しとして、処理を終了するようにするとよい。
可変設定値A、Bは、制御部30が固定的に設定してもよいし、ユーザ指示やアプリケーションプログラム等に基づいて設定してもよい。或いは、主要被写体判定を行っている期間中にフレーム数の進行、或いは経過時間に応じて変化させてもよい。つまり可変設定値A、Bの値は、当該主要被写体判定処理からみて外部設定可能とする。
以下、各種の可変設定値A、Bの設定例を(ex1)〜(ex7)として説明する。
このようにすると、図11の処理は、図9の処理と同一となる。つまりステップF108でフラグFlg(n)=1であればカウント値Cnt(n)がインクリメントされ、フラグFlg(n)=0であればカウント値Cnt(n)がインクリメントされずにキープされる。
例えば、通常は上記(ex1)であるが、ユーザ指示やアプリケーションプログラムの指示に応じて、可変設定値Aの値を高くする。この場合、カウント値Cnt(n)がカウント閾値CTthrに到達する時間を早めることができる。従って通常より迅速に主要被写体判定を終了させたい場合や、動きの多い被写体を対象とするため主要被写体判定の反応速度を高めたい場合などに好適な設定となる。
インクリメントは通常に行われるが、フラグFlg(n)=0であればカウント値Cnt(n)をデクリメントさせる例である。
つまり或る候補画像枠が、判定基準点SPから離れた場合(フラグFlg(n)=0の場合)、安定存在度を減少させるという処理となる。
これはなるべく判定基準点SPに近い状態に維持される被写体を重要視するという考え方に基づくもので、上述の処理例2に近い考え方であるが、継続時間に限定することなく、あくまで累積時間で判断するというものとなる。つまり処理例1の安定存在度の考え方を、処理例2の考え方に近づけるものとなる。
上記(ex3)と同様であるが、或る候補画像枠が、判定基準点SPから離れたフラグFlg(n)=0の場合に、安定存在度が阻害される度合いを大きくする例となる。逆にいえば、判定基準点SPに近いことの主要被写体判定への重要度を高めるものである。
上記(ex2)と(ex4)の考え方を複合的に適用する処理例となる。判定基準点SPに近いことの主要被写体判定への重要度を高めるとともに、判定応答性が向上される。
例えば図11の処理が実行される判定期間を、開始時点から所定時間単位で第1期間、第2期間・・・と分割期間を設定する。
そして、第1期間はA=1、第2期間はA=2、第3期間はA=3などのように可変設定値Aを変化させる。
これは、後半に行くほど、判定基準点SPに近いことの価値を重くするものである。
一般に撮像者が被写体を狙ってカメラを構える場合、最初は主役としたい被写体を画像中央などの所望の位置にとらえられず、撮像者が徐々にカメラの向きを調整していく。このことを考慮すると、最初は、撮像者が「主要被写体」と念頭においている被写体は、時間が進むにつれ徐々に画像中央にとらえられるようになる。
従って、主要被写体判定処理の実行中に、時間が進むほど、判定基準点SPに近いということの価値を重くすることは、撮像者の考えに合致した主要被写体判定ができる可能性を高めることになる。
例えば最初は静止している被写体の動きだしのタイミングで主要被写体判定を行うような場合である。
また、分割期間の設定や、どのように可変設定値Aを変化させるかは、ユーザが選択できるようにしてもよい。
また、この(ex6)の場合の可変設定値Bについては、上記(ex1)〜(ex5)、又は次に説明する(ex7)のいずれかを組み合わせることができる。
例えば図11の処理が実行される判定期間を、開始時点から所定時間単位で第1期間、第2期間・・・と分割期間を設定する。
そして、第1期間はB=1、第2期間はB=2、第3期間はB=3などのように可変設定値Aを変化させる。
これは、後半に行くほど、判定基準点SPから離れていることの重要性(非安定存在度)を重く見ることになり、考え方としては上記(ex6)と同様である。つまり撮像者が主要被写体とは考えていない被写体は、判定後期ほど、判定基準点SPから離れることが多いであろうという考え方である。これも撮像者の考えに合致した主要被写体判定ができる可能性を高めることになる。
また、分割期間の設定や、どのように可変設定値Bを変化させるかは、ユーザが選択できるようにしてもよい。
また、この(ex7)の場合の可変設定値Aについては、上記(ex1)〜(ex6)のいずれかを組み合わせることができる。
なお、処理例3では、処理例1と同様、判定基準点SPに近い累積時間情報としてのカウント値Cnt(n)を用いて主要被写体判定を行うが、このカウント値Cnt(n)に加減算する値は、可変設定値A、Bによって決まる。このため、カウント値Cnt(n)は累積の「時間」そのものではなく、条件に合わない時間が減算されたり、分割期間によって条件合致の重みが変化する。
このようにカウント値Cnt(n)は、判定基準点SPに近いという条件に合致している「時間(フレーム数)」そのものの累積時間を表すことにはならない場合があるが、各実施の形態において、「累積時間」とは、このように減算や重み付けを加えたうえでの累積の時間(又はフレーム数)も含む概念として用いている。
即ち上述の図10においてフラグFlg(n)=1の場合、ステップF109ではカウント値Cnt(n)をインクリメントするが、このときに
Cnt(n)= Cnt(n)+可変設定値A
という演算を行うようにしてもよい。可変設定値Aの設定によっては、上記(ex2)(ex6)で述べたような考え方の処理が実現できる。
なお、その場合、カウント値Cnt(n)は、判定基準点SPに近いという条件に合致している「時間(フレーム数)」そのものの「継続時間」を直接表すことにはならない場合があるが、「継続時間」も、このように減算や重み付けを加えたうえでの時間(又はフレーム数)も含む概念として用いている。
この場合に、複数の候補画像枠E(n)を、共に主要被写体と判定することも考えられるが、ここでは、一の候補画像枠のみを主要被写体と判定する場合の例を述べる。
カウント値Cnt(n)は、距離Diff(n)が距離閾値Thr-diff以下であるかのステップF105での判定結果「フラグFlg(n)=1」「フラグFlg(n)=0」に応じてカウントアップ/ダウンされる。従ってカウント値Cnt(n)は、絶対的な距離Diff(n)を表すものではない。
ここで、ステップF123で平均距離Ave-Diff(n)を求めるようにすると、複数の候補画像枠E(n)のうちで、どちらが、「より判定基準点SPに近い状態」であったかを判定できる。
ステップF123においては、平均距離Ave-Diff(n)は、
Ave-Diff(n)=(距離Diff(n)の累積加算値)/(距離Diff(n)の加算回数)
で求めることができる。
複数の候補画像枠E(n)の安定存在度(カウント値Cnt(n))が同時にカウント閾値CTthrに到達した場合は、ステップF112において、平均距離Ave-Diff(n)が一番小さいものを主要被写体と判定すればよい。
また、平均距離ではなく、平均的に所定の距離範囲にあったか、或いは平均的に所定の面積範囲にあったか、というような指標を用いて、1つの候補画像枠を選択することも考えられる。
また、被写体距離を用いてもよい。例えば各フレームでの候補画像枠E(n)の被写体距離としての位置(z値)について、判定基準点SPとしてのz軸方向の位置との差分を求める。そしてその平均値を算出する。この被写体距離差分平均値が最小の候補画像枠を選択する例である。
各候補画像枠E(n)は、撮像装置10と被写体の距離や、その被写体自体の大きさによってサイズが異なる。撮像者は、主として写したい被写体に対して、ある程度ズーム調整をしたり、自身の立ち位置を変えたりして、被写体の画像上のサイズを適切に調整することが通常である。従って撮像者が主要被写体と考えている被写体は、画像上である程度の範囲内となっていることが多い。また遠い被写体、撮像者がズーム/フォーカスを合わせていない被写体はかなり小さくなったり、大きすぎる状態となることが多い。
そこで、例えば候補画像枠のピクセル数PXに対して、判定上限PXmax、判定下限PXmimを設定し、
PXmax≧PX(n)≧PXmim
というサイズ条件を設定する。
複数の候補画像枠E(n)の安定存在度(カウント値Cnt(n))が同時にカウント閾値CTthrに到達した場合は、ステップF112においては、このサイズ条件を満たすものを主要被写体と判定すればよい。
なお、サイズ条件は、上限のみのPXmax≧PX(n)でもよいし、下限のみのPX(n)≧PXmimとしてもよい。
またピクセル数PXではなく、候補画像枠E(n)の幅w、高さhを用いてサイズ判定してもよい。
或る時点において、判定基準点SPに近いと判定された候補画像枠、又は判定基準点SPに最も近い候補画像枠を主要被写体とする。
或る時点とは、例えばステップF112に進んだ時点の最後のフレームや、主要被写体判定処理を開始した際の最初のフレーム、或いは中間の或るフレームなどである。
例えば、撮像者が主要と考える被写体を狙っていることから、最後の時点ほど、撮像者は主要と考える被写体が、判定基準点SPに近いことが多いと考えられる。上述の(ex6)等の後半重み付けと同様の考え方である。
そこで、複数の候補画像枠E(n)の安定存在度(カウント値Cnt(n))が同時にカウント閾値CTthrに到達した場合は、ステップF112では、最後のフレームで、距離Diff(n)が最小の候補画像枠E(n)を主要被写体と判定すればよい。
また最後のフレームではなく、最初のフレーム、或いは途中のフレームなどで、所定の距離範囲内、又は最小距離の候補画像枠を選択することも、撮像事情や被写体などに応じて適切となる場合がある。
また、被写体距離を用いてもよい。例えば最後のフレームなど、特定の時点での候補画像枠E(n)の被写体距離としての位置(z値)について、判定基準点SPとしてのz軸方向の位置との差分を求め、その被写体距離差分値が最小の候補画像枠を選択する例である。
これにより、最も適切な主要被写体を一つ設定するということが可能となる。
なお、このような複数のうちで1つを主要被写体として選択する手法は、処理例1,2でも適用可能である。
続いて処理例4も上述の処理タイプIの具体例であるが、この処理例4は上記処理例3をさらに発展させた例である。
候補画像枠の位置状態としては、設定した判定基準点との距離を求める。
各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)が所定の閾値以内という条件を満たしている累積時間情報を算出する。
そして主要被写体判定開始から、安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定する。
以上は処理例1、処理例3と同様であるが、処理例4は安定存在度の算出について、距離Diff(n)が距離閾値Thr-diff以下であるかの条件以外にも条件を加える例である。
ここでステップF130では、或る条件を満たしている過否かにより処理を分岐する。そして条件を満たしていればステップF105に進み、距離Diff(n)が距離閾値Thr-diff以下であるか否かの判定をおこなう。そしてその判定結果でステップF106,F107のいずれかでフラグFlg(n)を設定する。
またステップF130で条件を満たしていないと判定した場合は、ステップF107に進み、フラグFlg(n)=0とする。
つまりステップF130で条件を満たしていないとされた候補画像枠E(n)については距離Diff(n)に関わらずフラグFlg(n)=0とするものである。
ステップF106,F107のフラグFlg(n)の処理以降は、図11と同様である。
(条件11):被写体距離が所定範囲内である。
候補画像枠E(n)の被写体距離としての位置(z値)について、判定基準点SPとしてのz軸方向の位置との差分を求める。この被写体距離差分値が、所定の範囲内であることを条件とする。
各候補画像枠E(n)は、撮像装置10と被写体の距離や、その被写体自体の大きさによってサイズが異なる。上述の処理例3で述べた(条件2)と同様の考えで、撮像者は、主として写したい被写体に対して、ある程度ズーム調整をしたり、自身の立ち位置を変えたりして、被写体の画像上のサイズを適切に調整することが通常であるため、サイズが小さすぎたり大きすぎる画像は、撮像者が主要被写体と考えていないことが推定される。
そこで、例えば候補画像枠のピクセル数PXに対して、判定上限PXmax、判定下限PXmimを設定し、
PXmax≧PX(n)≧PXmim
というサイズ条件を設定する。なお、サイズ条件は、上限のみのPXmax≧PX(n)でもよいし、下限のみのPX(n)≧PXmimとしてもよい。
またピクセル数PXではなく、候補画像枠E(n)の幅w、高さhを用いてサイズ判定してもよい。
例えば候補検出部26の候補画像抽出処理での条件設定としても可能であるが、候補検出部26が特に条件を広く候補画像を抽出する場合、ステップF130で候補画像たる条件を絞るようにしてもよい。
例えばユーザの指定により、顔、人体、犬、猫等の画像であることを条件とする。犬画像であることを条件とした場合、ステップF130で候補画像枠E(n)の種別が顔画像、人体画像、猫画像等であれば、条件を満たさないと判定し、カウント値Cnt(n)のインクリメントを行わないようにする。
例えば抽出された画像自体の輝度情報、色情報が、所定の範囲、所定の色であること等を条件に加える。輝度情報であれば、画像自体が暗すぎる又は明るすぎるものは、条件を満たさないとする。またユーザが或る色を指定し、その色の被写体であれば条件を満たすといった判定も可能である。
なお、画像状態の判定のために制御部30は、候補画像データ自体、或いは輝度情報、色情報を候補検出部26から受け取るようにすればよい。
これにより、図12で説明した処理例4では、処理例1、3と同様の効果が得られると共に、条件設定により、より安定存在度の算出を適切なものとし、撮像者が主要と考える主要被写体を、より的確に自動判定できるものとなる。
処理例5も処理タイプIの具体例であるが、この処理例5は、これまでの処理例1〜処理例4とは異なり、或る一定時間で主要被写体判定を行う例である。
即ち制御部30は、或る一定の主要被写体判定期間に、安定存在度の値が最も高い候補画像を、主要被写体と判定する処理例である。
各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)が所定の閾値以内という条件を満たしている累積時間情報を算出する。
主要被写体判定としては、上記のように一定の主要被写体判定期間において、安定存在度の値が最も高くなった候補画像を選定する。
制御部30は、主要被写体判定処理を開始すると、まずステップF100Aで初期設定を行う。処理例1〜処理例4のステップF100と同様、変数TSF=0とし、またカウント値Cnt(n)=0とする。加えてこの場合、一定の主要被写体判定期間を計数するためにタイマTMをリセット/スタートさせる。
ステップF101〜F108、F121〜F122は図11と同様である。
図11では「平均距離Ave-Diff(n)」の算出としたが、ここでの「平均値算出」とは、平均距離Ave-Diff(n)だけでなく、平均的に所定の距離範囲にあったか否かを示す値の算出や、平均的に所定の面積範囲にあったか否かを示す値の算出でもよいという意味を含めたものである。前述のように、これら平均値は、最終的に複数の候補画像枠E(n)について、安定存在度の値(カウント値Cnt(n))が最も高いという結果になった場合に、1つの候補画像枠E(n)を選択するために用いることができる。
所定時間に達していなければ、ステップF101に戻って処理を継続する。
つまり、その時点での各候補画像枠E(n)についてのカウント値Cnt(n)を確認し、最大値になっている候補画像枠E(n)を、主要被写体と設定することとなる。またこれに応じて変数TSF=1とする。そして処理を終える。
なお、ステップF141の時点で、複数の候補画像枠E(n)のカウント値Cnt(n)が同数で最大値となることもある。その場合、上記処理例3で説明した(条件1)(条件2)(条件3)等により1つを選択すればよい。(条件1)の判定を行う場合はステップF123Aで求めている平均値を用いることができる。
特に処理例5は、判定基準点SPに「近い」状態の累積時間で安定存在度を判定している。動いている状況の被写体、或いは動物等の動きの早い被写体の場合、撮像者はある程度の時間(例えば数秒程度でも)、主としたい被写体を継続して画像中央に捕らえることは難しい場合がある。また撮像者の撮像技量によっては、手ぶれが激しいなどにより、なかなかとりたい被写体を画像中央に維持できないといったこともある。このような場合であっても、累積時間を用いることで、比較的迅速に主要被写体判定が可能となる。
つまり動きの速い被写体を対象とする場合や、比較的不慣れなユーザには好適となる。
但し、どの候補画像枠E(n)についても、あまりにカウントアップが進まない状況では、無理に主要被写体を選定するよりは、該当なしとの判定を行った方が良い場合もある。そこで、カウント値Cnt(n)について、主要被写体に該当するために下限値条件をつけてもよい。即ちステップF141において、最大として選ばれたカウント値Cnt(n)を下限値Lthと比較し、Cnt(n)<Lthであったら、主要被写体該当なしとすることも考えられる。これにより、本来主要被写体が存在しないような状況において主要被写体が決定されてしまうということを避けることができる。
なお、下限値Lthは、処理例1等におけるカウント閾値CTthrと同程度の値としてもよいが、より低い値としてもよい。即ち主要被写体と設定するには最低限のカウント値(安定存在度)と考えられる値とすることで、上記の、例えば動き回る被写体で、なかなか判定基準点SPの近くに捉えるのが難しいような場合でも、一定時間で主要被写体判定が完了できるという効果が得られるようにすることができる。
処理例6も処理タイプIの具体例である。
この処理例6では、候補画像枠の位置状態としては、設定した判定基準点との距離を求める。
また、各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)が所定の閾値以内という条件を継続して満たしている継続時間情報を算出する。
また、主要被写体判定については、処理例5と同様、一定の主要被写体判定期間において、安定存在度の値が最も高くなった候補画像を、主要被写体と判定する。
処理例5との差異点は、安定存在度が、判定基準点SPに近い状態の継続時間とすることである。つまり、一定の主要被写体判定期間内で、最も長く継続して判定基準点SPに近い状態があった候補画像枠を、主要被写体と判定する。
制御部30は、主要被写体判定処理を開始すると、まずステップF100Bで初期設定を行う。処理例5のステップF100Aと同様、変数TSF=0とし、またカウント値Cnt(n)=0とする。また、一定の主要被写体判定期間を計数するためにタイマTMをリセット/スタートさせる。加えてこの場合、継続時間保持変数CC(n)を初期化(=0)する。
ステップF108,F121,F123A,F124〜F126では、安定存在度の算出処理としてカウント値Cnt(n)の処理を行う。
制御部30はステップF108で、各候補画像枠E(n)について、フラグFlg(n)=1であるか否かを確認し、フラグFlg(n)=1であれば、ステップF121でカウント変数OFSTに可変設定値A(但しA>0)を代入する。そして制御部30はステップF123で、安定存在度の値となるカウント値Cnt(n)について、
Cnt(n)= Cnt(n)+OFST
の演算を行う。つまりカウント値Cnt(n)をA値だけカウントアップする。
CC(n)>Cnt(n)であれば、ステップF126でカウント値Cnt(n)をクリアする。
CC(n)>Cnt(n)でなければ、ステップF125で、その時点のカウント値Cnt(n)を継続時間保持変数CC(n)に代入したうえで、ステップF126でカウント値Cnt(n)をクリアする。
一方、候補画像枠E(n)が判定基準点SPに「近い」状態ではない(フラグFlg(n)=0)と判定されると、ステップF126でカウント値Cnt(n)がクリアされる。
これは処理例2で説明した場合と同様に、一旦、判定基準点SPから遠ざかると、安定存在度の値がゼロに戻されるという意味である。
従って各候補画像枠E(n)は、その被写体が、それぞれ継続的に判定基準点SPに近い状態にとらえられている限り、安定存在度の値(カウント値Cnt(n))が上昇していくが、継続状態がなくなれば、カウント値Cnt(n)=0となる。従ってカウント値Cnt(n)は、判定基準点SPに近い状態の「継続時間」を示すものとなる。
このため継続時間が途切れた際に、ステップF124,F125で継続時間保持変数CCが最大値更新される。つまり、継続が途切れた現時点の「継続時間」であるカウント値Cnt(n)が、継続時間保持変数CCで保持している「継続時間」より大きければ、カウント値Cnt(n)が継続時間保持変数CC(n)に代入されて最大値に更新される。
タイマTMの計数値が所定時間TMovに達したら、制御部30はステップF127でその時点のカウント値Cnt(n)を継続時間保持変数CC(n)と比較する。
CC(n)>Cnt(n)でなければ、ステップF128で、その時点のカウント値Cnt(n)を継続時間保持変数CC(n)に代入する。このステップF127,F128は、一定の主要被写体判定期間が終わる時点で、判定基準点SPに近い状態を継続していた場合であって、それが「継続時間」の最大値となっていた場合、継続時間保持変数CC(n)を更新する処理である。
つまり、その時点での各候補画像枠E(n)についての継続時間保持変数CC(n)の値を確認し、これが最大値になっている候補画像枠E(n)を、主要被写体と設定する。またこれに応じて変数TSF=1とする。そして処理を終える。
なお、ステップF141の時点で、複数の候補画像枠E(n)の継続時間保持変数CC(n)が同数で最大値となることもある。その場合、上記処理例3で説明した(条件1)(条件2)(条件3)等により1つを選択すればよい。
またステップF141では、継続時間保持変数CC(n)の最大値に対し下限値Lthとの比較を行い、CC(n)<Lthであったら、主要被写体該当なしとすることも考えられる。これにより、本来主要被写体が存在しないような状況において主要被写体が決定されてしまうということを避けることができる。
また、主要被写体判定処理は、一定時間で安定存在度(継続時間保持変数CC(n))が最も高いものを選択する処理となる。このため、処理例5と同様に、あまりカウント値Cnt(n)のカウントアップが進まないような状況であっても、一定時間で主要被写体判定が為されるといった利点もある。
さらに処理例6は、継続時間によって安定存在度を評価している。処理例2と同様に、撮像技能の上級者や、被写体によっては、よりユーザの望む被写体を主要被写体と判定できる可能性を高くできる。
処理例7も処理タイプIの具体例である。
この処理例7では、候補画像枠の位置状態としては、設定した判定基準領域との位置関係を求める。
また、各候補画像枠について安定存在度としては、位置状態(判定基準領域との関係)が所定の状態という条件を満たしている累積時間情報(又は継続時間情報)を算出する。
また、主要被写体判定については、処理例1〜処理例4と同様に、主要被写体判定開始から、安定存在度が最も早く所定値に達した候補画像を選択する。
図15は判定基準領域SAの例を示している。
図15Aは画像中央の正方形領域を判定基準領域SAとした例である。ここでは、或るフレームの時点で、候補画像枠E1,E2,E3のそれぞれの候補画像枠情報が取り込まれた場合の様子を示している。
各候補画像枠E(n)の判定基準領域SAとの位置関係とは、例えば、
・重心が判定基準領域SAに入っているか否か
・全体が判定基準領域SAに入っているか否か
・少なくとも一部が判定基準領域SAに入っているか否か
・判定基準領域の外縁との距離が所定以内か否か
などとする。
例えば図15Bのように、中央よりやや左上方の位置に判定基準領域SAを設定してもよい。例えば静止画の構図を考えた場合、このような中央でない位置に主たる被写体を配置するとよい場合が多々考えられるからである。
或いは図15Cのように、画像全体(フレーム全体)を判定基準領域SAとしてもよい。この場合の各候補画像枠E(n)の判定基準領域SAとの位置関係とは「画像内に候補画像が存在するか否か」ということとなる。
また判定基準領域SAの形状は図15Aの正方形に限らず、図15B、図15Cの長方形でもよい。また三角形、五角形以上の多角形、円形、楕円形、長円形、不定形などでもよい。
さらにサイズも多様に考えられる。
また表示部34の画面上でユーザにいくつかの判定基準領域SAの候補領域を提示し、ユーザが選択できるようにしてもよい。
さらには、画像内容、画像解析結果などに応じて制御部30が構図などを考慮して最適な領域を判定し、自動設定することも考えられる。
・画像中央位置、或いは中央よりずれた位置などを中心にして、予め決められた固定的な形状の領域に設定される。
・ユーザが中心位置、形状、サイズの全部又は一部を任意に指定する。
・いくつかの候補領域をユーザに提示し、ユーザが選択することで設定される。
・制御部30が画像内容に応じて最適領域を判定し、自動的に可変設定する。
などが考えられる。
例えば各候補画像枠E(n)の判定基準領域SAとの位置関係として、「重心が判定基準領域SAに入っているか否か」という判定を行う。
図16は、候補画像枠E1,E2,E3についての、各フレームでの位置関係、つまり重心が判定基準領域SAのエリア内かエリア外かの判定結果の変動の様子を示したものである。
処理例7では、安定存在度とは、重心が判定基準領域SAに入っている状態の累積時間とする。このため判定基準領域SAのエリア内と判定される回数をカウント値Cnt(n)でカウントしていくこととなる。
ステップF100〜F102、F104は図11と同様である。
この図17の場合、図11におけるステップF103に相当する距離Diff(n)の算出処理は不要となる。
ここで画面平面のxy座標の原点Oは図15Aのように画像左上頂点とする。
そして各候補画像枠E(n)の重心Gのxy座標値を(E(n)_cx,E(n)_cy)とする。
また判定基準領域SAについては例えば方形であるとし、判定基準領域SAの左上頂点のxy座標値を(SAx,SAy)、幅をSAw、高さをSAhとする。
すると、制御部30はステップF150で、各候補画像枠E(n)の重心Gについて、
SAx≦E(n)_cx≦(SAx+SAw)
であり、かつ、
SAy≦E(n)_cy≦(SAy+SAh)
であるかを判定することとなる。
この条件が満たされれば、候補画像枠E(n)の重心Gが、判定基準領域SA内であることとなる。
そして主要被写体判定開始から、安定存在度(累積時間)が最も早く所定値に達した候補画像が主要被写体と判定される。
従って、処理例1,処理例3と同様の効果が得られる。その上で、判定基準点SPではなく判定基準領域SAを用いることで、主要被写体の判定のための位置が広がり、撮像環境や被写体、ユーザの撮像技量などによっては、主要被写体判定に好適となる場合がある。
このステップF110でクリアする処理を採用する場合、処理例2で説明したように、カウント値Cnt(n)が、条件(図17の場合は判定基準領域SA内に存在という条件)を満たす累積時間ではなく、継続時間を示すものとなる。
つまりステップF110を採用する場合、図17の処理は、「継続時間」を安定存在度の指標とし、これに基づいて主要被写体を判定することとなる。
この場合、処理例2と同様の効果が得られる。
処理例8も処理タイプIの具体例である。これは処理例5を、判定基準領域SAを用いる例に変形したものといえる。
この処理例8では、候補画像枠の位置状態としては、設定した判定基準領域SAとの位置関係を求める。
また、各候補画像枠について安定存在度としては、位置状態(判定基準領域SAとの関係)が所定の状態という条件を満たしている累積時間情報(又は継続時間情報)を算出する。
また、一定の主要被写体判定期間において、安定存在度の値が最も高くなった候補画像を、主要被写体と判定する。
ステップF100A、F101、F102、F104は図11と同様である。
この図18の場合、図13におけるステップF103に相当する距離Diff(n)の算出処理は不要となる。
そして制御部30は各候補画像枠E(n)について、重心Gが、判定基準領域SA内であればステップF106でフラグFlg(n)=1(領域内)とする。また重心Gが、判定基準領域SAに含まれなければステップF107でフラグFlg(n)=0(領域外)とする。
そして主要被写体判定開始から一定時間において、安定存在度(累積時間)が最大となった候補画像が主要被写体と判定される。
従って、処理例5と同様の効果が得られる。その上で、判定基準点SPではなく判定基準領域SAを用いることで、主要被写体の判定のための位置が広がり、撮像環境や被写体、ユーザの撮像技量などによっては、主要被写体判定に好適となる場合がある。
その場合のフローチャートは省略するが、図14のステップF103を削除し、ステップF105に代えて上述のステップF150の処理を実行する処理とすればよい。
その処理によっては、処理例6と同様の効果が得られる。
また図18では、ステップF150で候補画像枠E(n)の重心が判定基準領域SA内であるか否かという条件判定を行ったが、候補画像枠E(n)の全体(又は一部)が判定基準領域SAに入っているか否かという条件や、候補画像枠E(n)の重心が判定基準領域の外縁との距離が所定以内か否かという条件をステップF150で判定するようにしてもよい。
処理例9を説明する。処理例9は、処理タイプIIの具体例である。
そしてこの処理例9では、候補画像枠の位置状態としては、設定した判定基準点SPとの距離を求める。
また、各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)の平均値(平均距離)を算出する。平均距離は、時間的にみて高い頻度で判定基準点に近い位置状態にあることを示す指標となる。例えば「平均距離の値が小さい」ということは、上述した各処理例でいう「累積時間が長い」ことと同様の意味となる。
そして、平均距離が最も小さく、かつこれが所定の閾値以内という条件を満たしている候補画像枠を主要被写体と判定する。
なお、処理タイプIIであるため、主要被写体判定処理は、ユーザ操作等で中断されない限り、候補画像枠情報のバッファリングが完了する一定時間以上は実行される。
制御部30は、主要被写体判定処理を開始すると、まずステップF200で主要被写体設定済みか否かを示すフラグである変数TSF=0とし、またカウント値BfC=0とする。
またカウント値BfCは、制御部30が候補検出部26からの候補画像枠情報を取得し、算出した各候補画像枠E(n)についての距離Diff(n)のバッファリング回数(フレーム数)値をカウントする値である。
ステップF203で制御部30は、各候補画像枠E(n)の重心Gから、判定基準点SPまでの距離Diff(n)を算出する。図9のステップF103で説明した処理と同様である。
ステップF205で制御部30は、カウント値BfCをインクリメントする。
ステップF206で制御部30は、カウント値BfCが、一定時間に相当するカウント閾値THrTMに達したか否かを判定し、達していなければステップF201に戻る。
例えば最初にステップF201でフレームFR(0)の候補画像枠情報を取り込んだ時点であって、そのフレームFR(0)において、候補画像枠E1、E2、E3が存在した場合、それぞれの候補画像枠についてステップF203で算出された距離Diff1、Diff2、Diff3が、領域Diff(1)[0]、Diff(2)[0]、Diff(3)[0]に格納される。
また次にステップF201で取り込んだフレームFR(1)において、候補画像枠E1、E2、E3が存在した場合、それぞれの候補画像枠についてステップF203で算出された距離Diff1、Diff2、Diff3が、領域Diff(1)[1]、Diff(2)[1]、Diff(3)[1]に格納される。
ステップF207で制御部30は、各候補画像枠E(n)について、平均距離Ave-Diff(n)を算出する。
Ave-Diff(n)=(バッファリングされた距離Diff(n)の累積加算値)/(距離Diff(n)の加算回数)
最小距離MIN[Ave-Diff(n)]を判定したら、制御部30はステップF209で、当該最小距離MIN[Ave-Diff(n)]が距離閾値Thr-diff以下であるか否かを判定する。
最小距離MIN[Ave-Diff(n)]が距離閾値Thr-diff以下でなければ、制御部30は処理をステップF211で変数TSF=0とする。この場合、主要被写体は該当無しという結果となる。
なお、少なくとも候補画像枠E(n)が存在したら必ず主要被写体を決めるという処理を実現する場合は、ステップF209を無くし、最小距離MIN[Ave-Diff(n)]となった候補画像枠E(n)をそのまま主要被写体と判定するようにしてもよい。
そして一定時間は候補画像枠情報を取得するものであるため、処理例5と同様の効果が得られる。
これに相当する処理を行う場合は、図19のステップF202、F203の処理を、ステップF206からF207に進む際に実行するものとすればよい。
つまりステップF204では候補画像枠情報自体をバッファリングしていき、各フレームでの各候補画像枠E(n)の距離Diff(n)は、バッファリング完了後に、バッファリングされた候補画像枠情報を用いて算出する例である。
処理例10も処理タイプIIの例であり、また判定基準点を用いる。各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)が所定の閾値以内という条件を満たしている累積時間情報を算出する。
そしてバッファリングを行う期間において、安定存在度の値が最も高くなった候補画像を、主要被写体と判定する。
制御部30は、主要被写体判定処理を開始すると、まずステップF200Aで変数TSF=0とし、またカウント値BfC=0とする。またループ制御のための変数L=0と初期化し、さらに安定存在度に相当するカウント値Cnt(n)=0と初期化する。
ステップF206でタイマとしてのカウント値BfCがカウント閾値THrTMに達したら、バッファリングは終了され、制御部30は処理をステップF206からF210に進む。
最初は変数L=0であるので、最初にステップF201でフレームFR(0)の候補画像枠情報を取り込んだ時点の、領域Diff(n)[0]にバッファリングされた各候補画像枠E(n)の距離Diff(n)が読み出される。
そしてDiff(n)<Thr-diffであればステップF212でフラグFlg(n)=1(近い)とする。またDiff(n)<Thr-diffでなければステップF213でフラグFlg(n)=0(近くない)とする。これは処理例1のステップF105、F106,F107と同様の処理である。
制御部30はステップF214で、各候補画像枠E(n)について、フラグFlg(n)=1であるか否かを確認し、フラグFlg(n)=1であれば、ステップF215でカウント変数OFSTに可変設定値A(但しA>0)を代入する。そして制御部30はステップF217で、安定存在度の値となるカウント値Cnt(n)について、
Cnt(n)= Cnt(n)+OFST
の演算を行う。つまりカウント値Cnt(n)をA値だけカウントアップする。
また制御部30はフラグFlg(n)=0であれば、ステップF216でカウント変数OFSTに可変設定値B(但しB≦0)を代入する。そして制御部30はステップF217で、安定存在度の値となるカウント値Cnt(n)について、
Cnt(n)= Cnt(n)+OFST
の演算を行う。つまりカウント値Cnt(n)をB値だけカウントダウン(又はキープ)する。
またステップF217では平均値算出も行う。
以上は図11のステップF108,F121,F123(又は図13のF123A)と同様である。
従って次は、ステップF210で、ステップF201でフレームFR(1)の候補画像枠情報を取り込んだ時点の、領域Diff(n)[1]にバッファリングされた各候補画像枠E(n)の距離Diff(n)が読み出される。
そしてステップF211〜F217の処理を行う。
その処理を終えたら、制御部30はステップF219に進み、主要被写体判定を行う。
つまり、その時点での各候補画像枠E(n)についてのカウント値Cnt(n)を確認し、最大値になっている候補画像枠E(n)を、主要被写体と設定する。またこれに応じて変数TSF=1とする。そして処理を終える。
なお、ステップF219の時点で、複数の候補画像枠E(n)のカウント値Cnt(n)が同数で最大値となったら、上記処理例3で説明した(条件1)(条件2)(条件3)等により1つを選択すればよい。(条件1)の判定を行う場合はステップF127で求めている平均値を用いることができる。
またステップF219では、カウント値Cnt(n)の最大値に対し下限値Lthとの比較を行い、Cnt(n)<Lthであったら、主要被写体該当なしとすることも考えられる。これにより、本来主要被写体が存在しないような状況において主要被写体が決定されてしまうということを避けることができる。
以上の処理例10によっても、処理例9と同様の効果が得られる。
処理例11も処理タイプIIの例であり、また判定基準点を用いる。各候補画像枠について安定存在度としては、位置状態(判定基準点との距離)が所定の閾値以内という条件を満たしている継続時間情報を算出する。
そしてバッファリングを行う期間において、安定存在度の値が最も高くなった候補画像を、主要被写体と判定する。
制御部30は、主要被写体判定処理を開始すると、まずステップF200Bで変数TSF=0とし、またカウント値BfC=0とする。またループ制御のための変数L=0と初期化し、さらに安定存在度に相当するカウント値Cnt(n)=0と初期化する。さらに継続時間保持変数CC(n)を初期化(=0)する。
ステップF206でタイマとしてのカウント値BfCがカウント閾値THrTMに達したら、バッファリングは終了され、制御部30は処理をステップF206からF210に進む。
一方、ステップF214でフラグFlg(n)=0であれば、制御部30はステップF224に進み、その時点のカウント値Cnt(n)を継続時間保持変数CC(n)と比較する。
CC(n)>Cnt(n)であれば、ステップF226でカウント値Cnt(n)をクリアする。
CC(n)>Cnt(n)でなければ、ステップF225で、その時点のカウント値Cnt(n)を継続時間保持変数CC(n)に代入したうえで、ステップF226でカウント値Cnt(n)をクリアする。
このステップF224,F225,F226は、図14のステップF124,F125,F126と同様の意味の処理であり、カウント値Cnt(n)を、継続時間を意味する値とするためのものである。
即ち制御部30はステップF227でその時点のカウント値Cnt(n)を継続時間保持変数CC(n)と比較する。CC(n)>Cnt(n)でなければ、ステップF228で、その時点のカウント値Cnt(n)を継続時間保持変数CC(n)に代入する。
この処理は、バッファリングを行った期間が終わる時点で、或る候補画像枠E(n)が判定基準点SPに近い状態を継続していた場合であって、それが「継続時間」の最大値となっていた場合、継続時間保持変数CC(n)を更新する処理となる。
つまり、その時点での各候補画像枠E(n)についてのカウント値Cnt(n)を確認し、最大値になっている候補画像枠E(n)を、主要被写体と設定する。またこれに応じて変数TSF=1とする。そして処理を終える。
なお、ステップF219の時点で、複数の候補画像枠E(n)のカウント値Cnt(n)が同数で最大値となったら、上記処理例3で説明した(条件1)(条件2)(条件3)等により1つを選択すればよい。(条件1)の判定を行う場合はステップF127で求めている平均値を用いることができる。
またステップF219では、カウント値Cnt(n)の最大値に対し下限値Lthとの比較を行い、Cnt(n)<Lthであったら、主要被写体該当なしとすることも考えられる。これにより、本来主要被写体が存在しないような状況において主要被写体が決定されてしまうということを避けることができる。
以上の処理例10によれば、処理例6と同様の効果が得られる。
処理例12は処理タイプIIの例であって、処理例9を、判定基準領域SAを用いる処理に変更した例である。
この処理例12では、候補画像枠の位置状態としては、設定した判定基準領域SAとの位置関係を求める。
また、各候補画像枠について安定存在度としては、位置状態(判定基準領域SAとの関係)が所定の状態という条件を満たしている平均時間(累積時間)を算出する。
そしてバッファリングを行う期間において、安定存在度の値が最も高くなった候補画像を、主要被写体と判定する。
ステップF200〜F202は図19と同様である。
バッファリング期間において、ステップF230では、各候補画像枠E(n)の重心Gが、判定基準領域SA内であるか否かを確認する。図17のステップF150と同様の処理である。
各候補画像枠E(n)について、重心Gが判定基準領域SA内でなければ、制御部30はステップF232で条件充足フラグAR(n)=0とする。
ステップF205で制御部30は、カウント値BfCをインクリメントする。
ステップF206で制御部30は、カウント値BfCが、一定時間に相当するカウント閾値THrTMに達したか否かを判定し、達していなければステップF201に戻る。
例えば最初にステップF201でフレームFR(0)の候補画像枠情報を取り込んだ時点であって、そのフレームFR(0)において、候補画像枠E1、E2、E3が存在した場合、それぞれの候補画像枠についてステップF230〜F232で設定された条件充足フラグAR1,AR2,AR3が、領域AR(1)[0]、AR(2)[0]、AR(3)[0]に格納される。
また次にステップF201で取り込んだフレームFR(1)において、候補画像枠E1、E2、E3が存在した場合、それぞれの候補画像枠についてステップF230〜F232で設定された条件充足フラグAR1,AR2,AR3が、領域AR(1)[1]、AR(2)[1]、AR(3)[1]に格納される。
ステップF240で制御部30は、各候補画像枠E(n)についての判定基準領域SA内の存在確度を算出する。
この存在確度は、条件充足フラグAR(n)の平均値Ave[AR(n)]とする。
平均値(存在確度)Ave[AR(n)]は、
Ave[AR(n)]=(候補画像枠E(n)についてバッファリングされた条件充足フラグAR(n)の累積加算値)/(AR(n)の加算回数)
とすればよい。
最大確度MAX[Ave[AR(n)]]が確度閾値Thr-AR以上でなければ、制御部30は処理をステップF244で変数TSF=0とする。この場合、主要被写体は該当無しという結果となる。
なお、少なくとも候補画像枠E(n)が存在したら必ず主要被写体を決めるという処理を実現する場合は、ステップF242を無くし、最大確度MAX[Ave[AR(n)]]となった候補画像枠E(n)をそのまま主要被写体と判定するようにしてもよい。
そして一定時間は候補画像枠情報を取得するものであるため、処理例8と同様の効果が得られる。
また累積時間ではなく、判定基準領域SA内に存在する継続時間が最大となる候補画像枠を主要被写体としてもよい。
その場合は、バッファリングされた条件充足フラグAR(n)が、「1」となっている連続フレーム数をカウントし、それを存在確度として用いればよい。
これに相当する処理を行う場合は、図22のステップF202〜F232の処理を、ステップF206からF240に進む際に実行するものとすればよい。
つまりステップF204では候補画像枠情報自体をバッファリングしていき、各フレームでの各候補画像枠E(n)の条件充足フラグAR(n)の設定は、バッファリング完了後に、バッファリングされた候補画像枠情報を用いて算出する例である。
以上、画像処理装置1、撮像装置10の実施の形態を説明してきたが、上述した主要被写体判定処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。
即ちこのプログラムは、画像データの複数のフレームについて、それぞれ主要被写体の候補として検出された候補画像を示す候補画像情報を取得し、上記候補画像情報で示される候補画像について、画角空間内における位置状態を判定する位置状態判定処理を演算処理装置に実行させる。
また、位置状態判定処理で判定された、各フレームでの候補画像の位置状態から、候補画像についての、複数フレームにわたる画像データ内での安定存在度を求める安定存在度算出処理を演算処理装置に実行させる。
また、安定存在度算出処理で求められた安定存在度を用いて、候補画像のうちで主要被写体を判定する主要被写体判定処理を演算処理装置に実行させる。
このようなプログラムにより、上述した主要被写体判定処理を実行する装置を、演算処理装置を用いて実現できる。
あるいはまた、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、MO(Magnet optical)ディスク、DVD(Digital Versatile Disc)、ブルーレイディスク、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
例えば、図23に示されるようなコンピュータ装置において、図1の画像処理装置1や撮像装置10における主要被写体判定処理と同様の処理が実行されるようにすることもできる。
CPU71、ROM72、およびRAM73は、バス74を介して相互に接続されている。このバス74にはまた、入出力インターフェース75も接続されている。
上述の実施の形態は、各種の変形例が考えられる。
特に具体的な主要被写体判定処理はさらに多様な例が想定される。
例えば候補画像枠E(n)の判定基準点SPとの距離Diff(n)や、判定基準領域SAとの位置関係に重心Gを用いたが、重心Gでなくてもよい。例えば候補画像枠E(n)の頂点位置などでもよい。
また候補画像枠の形状は、正方形や長方形に限らず円形、楕円形、多角形、不定形状等が考えられる。候補画像枠の形状に応じて、中心位置や端点位置を、距離Diffの算出に用いればよい。
さらに、画角空間を1次元空間と考え、候補画像のx座標値について、判定基準点SPや判定基準領域SAとの位置関係(例えば距離)を、候補画像についての画角空間内における位置状態としてもよい。もちろん同様に、y座標値のみ、或いはz座標値のみについての判定基準点SPや判定基準領域SAとの位置関係としてもよい。
さらには、各フレームでの候補画像枠のサイズ(ピクセル数)の変動度合いなどを安定存在度の指標としてもよい。
主要被写体指定の操作が行われた場合、それによって変数TSF=1とし、制御部30による主要被写体判定処理を中断終了させることが好適である。
(1)画像データの複数のフレームについて、それぞれ主要被写体の候補となる候補画像を検出する候補検出部と、
上記候補検出部で検出した候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、候補画像のうちで主要被写体を判定する主要被写体判定部と、
を備えた画像処理装置。
(2)上記主要被写体判定部は、
候補画像について、画角空間内における位置状態を判定する位置状態判定処理と、
上記位置状態判定処理で判定された、各フレームでの候補画像の位置状態から、候補画像についての、複数フレームにわたる画像データ内での安定存在度を求める安定存在度算出処理と、
上記安定存在度算出処理で求められた安定存在度を用いて、候補画像のうちで主要被写体を判定する主要被写体判定処理と、
を行う上記(1)に記載の画像処理装置。
(3)上記主要被写体判定部は、上記位置状態として、画角空間内に設定した判定基準点に対する候補画像の距離を判定する上記(2)に記載の画像処理装置。
(4)上記主要被写体判定部は、上記判定基準点を操作入力に応じて設定する上記(3)に記載の画像処理装置。
(5)上記主要被写体判定部は、上記位置状態として、画角空間内に設定した判定基準領域に対する候補画像の位置関係を判定する上記(2)に記載の画像処理装置。
(6)上記主要被写体判定部は、上記判定基準領域を操作入力に応じて設定する上記(5)に記載の画像処理装置。
(7)上記主要被写体判定部は、上記安定存在度として、上記位置状態が所定条件を満たしている累積時間情報を算出する上記(2)乃至(6)のいずれかに記載の画像処理装置。
(8)上記主要被写体判定部は、上記安定存在度として、上記位置状態が継続して所定条件を満たしている継続時間情報を算出する上記(2)乃至(6)のいずれかに記載の画像処理装置。
(9)上記主要被写体判定部は、主要被写体判定開始から、上記安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定する上記(1)乃至(8)のいずれかに記載の画像処理装置。
(10)上記主要被写体判定部は、主要被写体判定期間に、上記安定存在度の値が最も高い候補画像を、主要被写体と判定する上記(1)乃至(8)のいずれかに記載の画像処理装置。
(11)上記主要被写体判定部は、画角空間内での候補画像の位置情報、又は候補画像のサイズ情報を、上記安定存在度の算出処理、又は主要被写体の判定処理に用いる上記(1)乃至(10)のいずれかに記載の画像処理装置。
(12)上記主要被写体判定部は、上記安定存在度から、複数の候補画像が主要被写体と判定される場合、画角空間内での候補画像の位置情報又はサイズ情報を用いて、一の候補画像を選択し、選択した当該候補画像を主要被写体とする上記(1)乃至(11)のいずれかに記載の画像処理装置。
(13)上記候補検出部は人又は動物の、顔又は身体の画像を、主要被写体の候補となる候補画像として検出する上記(1)乃至(12)のいずれかに記載の画像処理装置。
Claims (15)
- 画像データの複数のフレームについて、それぞれ主要被写体の候補となる候補画像を検出する候補検出部と、
上記候補検出部で検出した候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、候補画像のうちで主要被写体を判定する主要被写体判定部と、
を備えた画像処理装置。 - 上記主要被写体判定部は、
候補画像について、画角空間内における位置状態を判定する位置状態判定処理と、
上記位置状態判定処理で判定された、各フレームでの候補画像の位置状態から、候補画像についての、複数フレームにわたる画像データ内での安定存在度を求める安定存在度算出処理と、
上記安定存在度算出処理で求められた安定存在度を用いて、候補画像のうちで主要被写体を判定する主要被写体判定処理と、
を行う請求項1に記載の画像処理装置。 - 上記主要被写体判定部は、上記位置状態として、画角空間内に設定した判定基準点に対する候補画像の距離を判定する請求項2に記載の画像処理装置。
- 上記主要被写体判定部は、上記判定基準点を操作入力に応じて設定する請求項3に記載の画像処理装置。
- 上記主要被写体判定部は、上記位置状態として、画角空間内に設定した判定基準領域に対する候補画像の位置関係を判定する請求項2に記載の画像処理装置。
- 上記主要被写体判定部は、上記判定基準領域を操作入力に応じて設定する請求項5に記載の画像処理装置。
- 上記主要被写体判定部は、上記安定存在度として、上記位置状態が所定条件を満たしている累積時間情報を算出する請求項2に記載の画像処理装置。
- 上記主要被写体判定部は、上記安定存在度として、上記位置状態が継続して所定条件を満たしている継続時間情報を算出する請求項2に記載の画像処理装置。
- 上記主要被写体判定部は、主要被写体判定開始から、上記安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定する請求項1に記載の画像処理装置。
- 上記主要被写体判定部は、主要被写体判定期間に、上記安定存在度の値が最も高い候補画像を、主要被写体と判定する請求項1に記載の画像処理装置。
- 上記主要被写体判定部は、画角空間内での候補画像の位置情報、又は候補画像のサイズ情報を、上記安定存在度の算出処理、又は主要被写体の判定処理に用いる請求項1に記載の画像処理装置。
- 上記主要被写体判定部は、上記安定存在度から、複数の候補画像が主要被写体と判定される場合、画角空間内での候補画像の位置情報又はサイズ情報を用いて、一の候補画像を選択し、選択した当該候補画像を主要被写体とする請求項1に記載の画像処理装置。
- 上記候補検出部は人又は動物の、顔又は身体の画像を、主要被写体の候補となる候補画像として検出する請求項1に記載の画像処理装置。
- 画像データの複数のフレームについて、それぞれ主要被写体の候補となる候補画像を検出し、
検出された候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、
該安定存在度を用いて、候補画像のうちで主要被写体を判定する画像処理方法。 - 画像データの複数のフレームについて、それぞれ主要被写体の候補として検出された候補画像について、画角空間内における位置状態を判定する位置状態判定処理と、
上記位置状態判定処理で判定された、各フレームでの候補画像の位置状態から、候補画像についての、複数フレームにわたる画像データ内での安定存在度を求める安定存在度算出処理と、
上記安定存在度算出処理で求められた安定存在度を用いて、候補画像のうちで主要被写体を判定する主要被写体判定処理と、
を演算処理装置に実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016152471A JP6274272B2 (ja) | 2016-08-03 | 2016-08-03 | 画像処理装置、画像処理方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016152471A JP6274272B2 (ja) | 2016-08-03 | 2016-08-03 | 画像処理装置、画像処理方法、プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011266408A Division JP5987306B2 (ja) | 2011-12-06 | 2011-12-06 | 画像処理装置、画像処理方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017005738A true JP2017005738A (ja) | 2017-01-05 |
JP6274272B2 JP6274272B2 (ja) | 2018-02-07 |
Family
ID=57754562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016152471A Active JP6274272B2 (ja) | 2016-08-03 | 2016-08-03 | 画像処理装置、画像処理方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6274272B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021149238A1 (ja) | 2020-01-24 | 2021-07-29 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
DE102022107959A1 (de) | 2021-04-06 | 2022-10-06 | Canon Kabushiki Kaisha | Bildverarbeitungsvorrichtung und Verfahren zur Steuerung dieser |
JP7428763B2 (ja) | 2018-10-29 | 2024-02-06 | Omデジタルソリューションズ株式会社 | 情報取得システム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010141849A (ja) * | 2008-12-15 | 2010-06-24 | Canon Inc | 主顔選択装置、その制御方法、撮像装置及びプログラム |
JP2012156704A (ja) * | 2011-01-25 | 2012-08-16 | Nikon Corp | 画像処理装置、撮像装置およびプログラム |
-
2016
- 2016-08-03 JP JP2016152471A patent/JP6274272B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010141849A (ja) * | 2008-12-15 | 2010-06-24 | Canon Inc | 主顔選択装置、その制御方法、撮像装置及びプログラム |
JP2012156704A (ja) * | 2011-01-25 | 2012-08-16 | Nikon Corp | 画像処理装置、撮像装置およびプログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7428763B2 (ja) | 2018-10-29 | 2024-02-06 | Omデジタルソリューションズ株式会社 | 情報取得システム |
WO2021149238A1 (ja) | 2020-01-24 | 2021-07-29 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
DE102022107959A1 (de) | 2021-04-06 | 2022-10-06 | Canon Kabushiki Kaisha | Bildverarbeitungsvorrichtung und Verfahren zur Steuerung dieser |
Also Published As
Publication number | Publication date |
---|---|
JP6274272B2 (ja) | 2018-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5987306B2 (ja) | 画像処理装置、画像処理方法、プログラム | |
US11012614B2 (en) | Image processing device, image processing method, and program | |
US10848662B2 (en) | Image processing device and associated methodology for determining a main subject in an image | |
JP6131948B2 (ja) | 表示制御装置、表示制御方法、プログラム | |
JP5867424B2 (ja) | 画像処理装置、画像処理方法、プログラム | |
US10455154B2 (en) | Image processing device, image processing method, and program including stable image estimation and main subject determination | |
US9942460B2 (en) | Image processing device, image processing method, and program | |
JP6274272B2 (ja) | 画像処理装置、画像処理方法、プログラム | |
JP2009157130A (ja) | 電子カメラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170807 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171225 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6274272 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |