電子カメラ
【構成】イメージセンサ16は、撮像面で捉えられたシーンを表す画像を繰り返し出力する。CPU26は、イメージセンサ16から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する。グラフィックジェネレータ46は、イメージセンサ16の処理と並列してカメラ設定情報を出力する。CPU26はまた、グラフィックジェネレータ46によって出力されたカメラ設定情報に対する操作に従う処理を実行し、検出された動きに応じて異なるようにグラフィックジェネレータ46の出力態様を制御する。
【効果】操作性の向上が図られる。
【効果】操作性の向上が図られる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電子カメラに関し、特に撮像面の動きを判別する、電子カメラに関する。
【背景技術】
【0002】
この種のカメラの一例が、特許文献1に開示されている。この背景技術によれば、角速度センサを用いる手振れ補正回路がビデオカメラに搭載される。ビデオカメラを手で動かすことにより生じる角速度センサからの信号は、メニュー選択や画像入力の操作方法として使用される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−32359号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、背景技術では、カメラの軽量化やコスト削減のために角速度センサがカメラに搭載されなかった場合、メニュー選択や画像入力の操作が、カメラを手で動かすことによって実行されることはない。また、角速度センサがカメラに搭載された場合であっても、角速度センサの誤動作によって操作者の意図と異なる処理が実行されるおそれがある。このため、操作性が低下する恐れがある。
【0005】
それゆえに、この発明の主たる目的は、操作性の向上を図ることができる、電子カメラを提供することである。
【課題を解決するための手段】
【0006】
この発明に従う電子カメラ(10:実施例で相当する参照符号。以下同じ)は、撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段(16)、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出手段(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力手段(46)、出力手段によって出力されたカメラ設定情報に対する操作に従う処理を実行する処理手段(S11~S13, S19~S21)、および検出手段によって検出された動きに応じて異なるように出力手段の出力態様を制御する制御手段(S55~S71)を備える。
【0007】
好ましくは、検出手段は、撮像手段から出力されたシーンを表す画像から1または2以上の特徴画像を特定する特定手段(S87)、特定手段によって特定された1または2以上の特徴画像を特定手段の特定処理の後に撮像手段から出力されたシーンから探索する探索手段(S93)、および探索手段の探索結果に基づいて撮像面の動きを判別する判別手段(S99)を含む。
【0008】
さらに好ましくは、判別手段は、探索手段の探索結果に基づいて特定手段によって特定された1または2以上の特徴画像の各々の部分動きベクトルを作成する作成手段(S151)、作成手段によって作成された1または2以上の部分動きベクトルを解析する解析手段(S157~S159)、および解析手段の解析結果に基づいて撮像面の動きを判別する動き判別手段(S161)を含む。
【0009】
好ましくは、撮像面の前方に設けられたフォーカスレンズ(12)をさらに備え、処理手段は、撮像面の露光量を調整する露光量調整手段(S11)、フォーカスレンズと撮像面との距離を調整する距離調整手段(S13)、および撮像手段から出力された画像を記録する記録手段(S19~S21)を含む。
【0010】
好ましくは、制御手段は、検出手段によって検出された動きが既定条件を満足するか否かを判別する条件判別手段(S53, S163)、および条件判別手段の判別結果が否定的な結果から肯定的な結果に更新されたときカメラ設定情報を表示するための表示指令を発行する発行手段(S59, S65, S71)を含む。
【0011】
この発明に従う出力制御プログラムは、撮像面で捉えられたシーンを表す画像を出力する撮像手段(16)を備える電子カメラ(10)のプロセッサ(26)に、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出ステップ(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ(46)、出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ(S11~S13, S19~S21)、および検出ステップによって検出された動きに応じて異なるように出力ステップの出力態様を制御する制御ステップ(S55~S71)を実行させるための、出力制御プログラムである。
【0012】
この発明に従う出力制御方法は、撮像面で捉えられたシーンを表す画像を出力する撮像手段(16)を備える電子カメラ(10)によって実行される出力制御方法であって、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出ステップ(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ(46)、出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ(S11~S13, S19~S21)、および検出ステップによって検出された動きに応じて異なるように出力ステップの出力態様を制御する制御ステップ(S55~S71)を備える。
【0013】
この発明に従う外部制御プログラムは、撮像面で捉えられたシーンを表す画像を出力する撮像手段(16)、およびメモリ(44)に保存された内部制御プログラムに従う処理を実行するプロセッサ(26)を備える電子カメラ(10)に供給される外部制御プログラムであって、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出ステップ(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ(46)、出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ(S11~S13, S19~S21)、および検出ステップによって検出された動きに応じて異なるように出力ステップの出力態様を制御する制御ステップ(S55~S71)を内部制御プログラムと協働してプロセッサに実行させるための、外部制御プログラムである。
【0014】
この発明に従う電子カメラ(10)は、撮像面で捉えられたシーンを表す画像を出力する撮像手段(16)、外部制御プログラムを受信する受信手段(50)、および受信手段によって受信された外部制御プログラムとメモリ(44)に保存された内部制御プログラムとに従う処理を実行するプロセッサ(26)を備える電子カメラ(10)であって、外部制御プログラムは、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出ステップ(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ(46)、出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ(S11~S13, S19~S21)、および検出ステップによって検出された動きに応じて異なるように出力ステップの出力態様を制御する制御ステップ(S55~S71)を内部制御プログラムと協働して実行するプログラムに相当する。
【発明の効果】
【0015】
カメラ設定情報の出力態様は、光軸に直交する方向における撮像面の動きに応じて異なる。これによって、カメラ設定情報の出力態様の多様化ひいては操作性の向上が図られる。
【0016】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0017】
【図1】この発明の一実施例の基本的構成を示すブロック図である。
【図2】この発明の一実施例の構成を示すブロック図である。
【図3】撮像面における評価エリアの割り当て状態の一例を示す図解図である。
【図4】(A)は電子カメラの状態の一例を示す図解図であり、(B)は撮像面によって捉えられた被写界像の一例を示す図解図である。
【図5】基準エリア登録処理の一部を示す図解図である。
【図6】動き判別タスクにおいて参照されるレジスタの構成の一例を示す図解図である。
【図7】(A)は電子カメラの状態の他の一例を示す図解図であり、(B)は撮像面によって捉えられた被写界像の他の一例を示す図解図である。
【図8】基準エリア探索処理の一部を示す図解図である。
【図9】動き判別タスクにおいて参照される他のレジスタの構成の一例を示す図解図である。
【図10】動き解析処理の一部を示す図解図である。
【図11】図2実施例に適用されるCPUの動作の一部を示すフロー図である。
【図12】図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【図13】図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【図14】図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【図15】図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【図16】図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【図17】図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【図18】図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【図19】図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【図20】図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【図21】図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【図22】この発明の他の実施例の構成を示すブロック図である。
【発明を実施するための形態】
【0018】
以下、この発明の実施の形態を図面を参照しながら説明する。
[基本的構成]
【0019】
図1を参照して、この実施例の電子カメラは、基本的に次のように構成される。撮像手段1は、撮像面で捉えられたシーンを表す画像を繰り返し出力する。検出手段2は、撮像手段1から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する。出力手段3は、撮像手段1の処理と並列してカメラ設定情報を出力する。処理手段4は、出力手段3によって出力されたカメラ設定情報に対する操作に従う処理を実行する。制御手段5は、検出手段2によって検出された動きに応じて異なるように出力手段3の出力態様を制御する。
【0020】
カメラ設定情報の出力態様は、光軸に直交する方向における撮像面の動きに応じて異なる。これによって、カメラ設定情報の出力態様の多様化ひいては操作性の向上が図られる。
[実施例]
【0021】
図2を参照して、この実施例のディジタルカメラ10は、ドライバ18aおよび18bによってそれぞれ駆動されるフォーカスレンズ12および絞りユニット14を含む。これらの部材を経た被写界の光学像は、イメージセンサ16の撮像面に照射され、光電変換を施される。これによって、被写界像を表す電荷が生成される。
【0022】
電源が投入されると、CPU26は、動画取り込み処理を実行するべく、撮像タスクの下で露光動作および電荷読み出し動作の繰り返しをドライバ18cに命令する。ドライバ18cは、図示しないSG(Signal Generator)から周期的に発生する垂直同期信号Vsyncに応答して、撮像面を露光し、かつ撮像面で生成された電荷をラスタ走査態様で読み出す。イメージセンサ16からは、読み出された電荷に基づく生画像データが周期的に出力される。
【0023】
前処理回路20は、イメージセンサ16から出力された生画像データにディジタルクランプ,画素欠陥補正,ゲイン制御などの処理を施す。これらの処理を施された生画像データは、メモリ制御回路30を通してSDRAM32の生画像エリア32aに書き込まれる。
【0024】
後処理回路34は、生画像エリア32aに格納された生画像データをメモリ制御回路30を通して読み出し、読み出された生画像データに色分離処理,白バランス調整処理およびYUV変換処理を施す。後処理回路34はさらに、YUV形式に従う画像データに対して表示用のズーム処理と動作判別用のズーム処理とを並列的に実行する。この結果、YUV形式に従う表示画像データおよび動き判別画像データが個別に作成される。表示画像データは、メモリ制御回路30によってSDRAM32の表示画像エリア32bに書き込まれる。動き判別画像データは、メモリ制御回路30によってSDRAM32の動き判別画像エリア32cに書き込まれる。
【0025】
LCDドライバ36は、表示画像エリア32bに格納された表示画像データをメモリ制御回路30を通して繰り返し読み出し、読み出された画像データに基づいてLCDモニタ38を駆動する。この結果、被写界のリアルタイム動画像(スルー画像)がLCDモニタ38に表示される。
【0026】
図3を参照して、撮像面の中央には評価エリアEVAが割り当てられる。評価エリアEVAは水平方向および垂直方向の各々において16分割され、256個の分割エリアが評価エリアEVAを形成する。また、図2に示す前処理回路20は、上述した処理に加えて、生画像データを簡易的にRGBデータに変換する簡易RGB変換処理を実行する。
【0027】
AE評価回路22は、前処理回路20によって生成されたRGBデータのうち評価エリアEVAに属するRGBデータを、垂直同期信号Vsyncが発生する毎に積分する。これによって、256個の積分値つまり256個のAE評価値が、垂直同期信号Vsyncに応答してAE評価回路22から出力される。
【0028】
AF評価回路24は、前処理回路20によって生成されたRGBデータのうち評価エリアEVAに属するRGBデータの高周波成分を、垂直同期信号Vsyncが発生する毎に積分する。これによって、256個の積分値つまり256個のAF評価値が、垂直同期信号Vsyncに応答してAF評価回路24から出力される。
【0029】
シャッタボタン28shが非操作状態のときCPU26は、AE評価回路22からの出力に基づく簡易AE処理を撮像タスクの下で実行し、適正EV値を算出する。簡易AE処理は動画取り込み処理と並列して実行され、算出された適正EV値を定義する絞り量および露光時間はドライバ18bおよび18cにそれぞれ設定される。この結果、スルー画像の明るさが適度に調整される。
【0030】
撮像タスクと並列して実行されるキャラクタ制御タスクの下で、シャッタボタン28shが非操作状態のときCPU26は、ドライブ設定表示操作,シーン設定表示操作,またはメニュー表示操作がキー入力装置28によって行われたか否かを繰り返し判別する。
【0031】
キー入力装置28によってドライブ設定表示操作が行われたときCPU26は、ドライブ設定画面表示命令をグラフィックジェネレータ46に向けて発行する。グラフィックジェネレータ46は、与えられたドライブ設定画面表示命令に基づいてドライブ設定画面を表すグラフィック画像データを作成し、作成されたグラフィック画像データをLCDドライバ36に与える。LCDドライバ36は、与えられたグラフィック画像データに基づいてLCDモニタ38にドライブ設定画面を表示する。ドライブ設定画面において操作者は、1枚撮影モードおよび連続撮影モードのいずれかをキー入力装置28を通じて選択することができる。
【0032】
キー入力装置28によってシーン設定表示操作が行われたときCPU26は、シーン設定画面表示命令をグラフィックジェネレータ46に向けて発行する。グラフィックジェネレータ46は、与えられたシーン設定画面表示命令に基づいてシーン設定画面を表すグラフィック画像データを作成し、作成されたグラフィック画像データをLCDドライバ36に与える。LCDドライバ36は、与えられたグラフィック画像データに基づいてLCDモニタ38にシーン設定画面を表示する。
【0033】
ディジタルカメラ10には複数の撮像シーンが準備され、各々の撮像シーンは撮像条件の調整基準を示したものである。各々の撮像シーンに関連してAE基準およびAF基準が登録され、AE基準およびAF基準の組み合わせは撮像シーンごとに異なる。シーン設定画面において操作者は、風景シーン,スポーツシーン,ポートレートシーン,および夜景シーン等の準備された撮像シーンの中から、所望の撮像シーンをキー入力装置28を通じて選択することができる。
【0034】
キー入力装置28によってメニュー表示操作が行われたときCPU26は、メニュー画面表示命令をグラフィックジェネレータ46に向けて発行する。グラフィックジェネレータ46は、与えられたメニュー画面表示命令に基づいてメニュー画面を表すグラフィック画像データを作成し、作成されたグラフィック画像データをLCDドライバ36に与える。LCDドライバ36は、与えられたグラフィック画像データに基づいてLCDモニタ38にメニュー画面を表示する。メニュー画面において操作者は、顔検出,手ぶれ補正,赤目補正,記録画素数,および操作音等のディジタルカメラ10の各種の設定をキー入力装置28を通じて変更することができる。
【0035】
ドライブ設定画面,シーン設定画面,およびメニュー画面のいずれかがLCDモニタ28に表示された状態でキー入力装置28によって非表示操作が行われたとき、CPU26は、非表示命令をグラフィックジェネレータ46に向けて発行する。グラフィックジェネレータ46は、与えられた非表示命令に基づいて、LCDドライバ36へのグラフィック画像データの供給を停止する。この結果、LCDモニタ28に表示されていたドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。
【0036】
撮像タスクと並列して実行される動き判別タスクの下では、動き判別画像データから発見された基準エリアの位置の変化を検出することにより、撮像面の動きが判別される。動き判別タスクの下でCPU26はまず、動き判別画像エリア32cに格納された動き判別画像データから基準エリアを特定して登録するべく、基準エリア登録処理を垂直同期信号Vsyncに応答して実行する。
【0037】
基準エリア登録処理は次の要領で実行される。CPU26は、動き判別画像データの中から、色および輝度の同一性に基づいて基準エリアを特定する。図4(A)に示す例のように水平を保ってディジタルカメラ10を構え、図4(B)に示す被写界像がイメージセンサ16の撮像面で捉えられたとき、図5を参照して、木WD,雲CL,山MT,人物HB,および自動車CRの各々が、基準エリアとして特定される。
【0038】
CPU26は、特定された基準エリアの個数が2未満であったとき、撮像面の動き判別に必要な数の基準エリアが特定されなかったことを表明するべく、フラグFLGdtctに“0”を設定し、基準エリア登録処理を一旦終了する。そして、垂直同期信号Vsyncに応答して、基準エリア登録処理が再び実行される。
【0039】
一方、特定された基準エリアの個数が2以上であったとき、撮像面の動き判別に必要な基準エリアが特定されたことを表明するべく、CPU26はフラグFLGdtctに“1”を設定する。CPU26は次に、特定された各々の基準エリアの位置,サイズ,輝度,および色を、図6に示すレジスタRGSTrfrに登録する。なお、基準エリア登録処理において、基準エリアの位置は、レジスタRGSTrfrの“位置1”のカラムに登録される。登録が完了するとCPU26は、基準エリア登録処理を終了する。
【0040】
動き判別タスクの下でCPU26は、基準エリア登録処理の完了後にフラグFLGdtctが“1”を示すとき、撮像面の動き判別に必要な時間を確保するべく、垂直同期信号Vsyncが既定回数発生するまで待機する。既定回数は例えば5回とする。
【0041】
垂直同期信号Vsyncが既定回数発生すると、CPU26は、更新された動き判別画像データから登録された基準エリアの各々を探索するべく、基準エリア探索処理を次の要領で実行する。CPU26はまず、変数Nを“1”に設定し、変数Nの可変範囲を定義するべく、レジスタRGSTrfrに登録された基準エリアの数をNmaxに設定する。続いて、変数Nが“1”〜“Nmax”の各々に設定され、CPU26は、N番目の基準エリアに対応するサイズ,輝度,および色をレジスタRGSTrfrから読み出す。CPU26は次に、読み出されたサイズ,輝度,および色によって定義される基準エリアに対応する領域を動き判別画像データにおいて探索する。
【0042】
基準エリア登録処理の実行と基準エリア探索処理の実行との間に撮像面が動かされることがなかった場合は、基準エリア登録処理および基準エリア探索処理の各々の実行直前に撮像面で捉えられた被写界は、共通する。この場合、動物および乗り物等の動くものを対象に基準エリアが登録されていない限り、各々の基準エリアに対応する領域は、レジスタRGSTrfrに登録された各々の位置と同一の位置において発見される。
【0043】
一方、基準エリア登録処理の実行と基準エリア探索処理の実行との間に撮像面が動かされた場合は、基準エリア登録処理および基準エリア探索処理の各々の実行直前に撮像面で捉えられた被写界は、互いに異なるものとなる。この場合、各々の基準エリアに対応する領域は、レジスタRGSTrfrに登録された各々の位置と異なる位置において発見されるか、または更新後の動き判別画像データから発見されない。
【0044】
図5に示す例の基準エリアの各々が登録された後、垂直同期信号Vsyncが既定回数発生するまでの間に、ディジタルカメラ10が図7(A)に示すように光軸方向に対して垂直に時計回りに90度傾けられた場合、図7(B)に示す被写界が基準エリア探索処理の実行直前に撮像面で捉えられる。この場合、木WD,雲CL,山MT,人物HB,および自動車CRの各々の基準エリアに対応する領域が、基準エリア探索処理の実行によって図8に示す位置において発見される。
【0045】
基準エリア探索処理の下でCPU26は、各々の基準エリアに対応する領域を発見した場合は、当該基準エリアが移動したとみなし、移動後の位置をレジスタRGSTrfrの“位置2”のカラムに登録する。各々の基準エリアに対応する領域を発見できなかった場合CPU26は、当該基準エリアが被写界の外側に移動したとみなし、“0”をレジスタRGSTrfrの“位置2”のカラムに登録する。
【0046】
CPU26は、発見された領域の個数が2未満であったとき、撮像面の動き判別に必要な数の基準エリアが発見されなかったことを表明するべくフラグFLGdtctに“0”を設定し、基準エリア探索処理を終了する。そして、垂直同期信号Vsyncに応答して、基準エリア登録処理が再び実行される。一方、発見された領域の個数が2以上であったとき、CPU26は、“位置2”のカラムに“0”が登録されている基準エリアをレジスタRGSTrfrから削除し、基準エリア探索処理を終了する。
【0047】
動き判別タスクの下でCPU26は、基準エリア探索処理の完了後にフラグFLGdtctが“1”を示すとき、撮像面の動きを解析するべく、動き解析処理を次の要領で実行する。CPU26はまず、レジスタRGSTrfrの“位置1”のカラムと“位置2”のカラムとを参照して、基準エリア毎に部分動きベクトルを作成する。作成された各々の部分動きベクトルを表すベクトル量(ベクトルの大きさ)およびベクトル方向(ベクトルの向き)は、図9に示すレジスタRGSTvctに登録される。
【0048】
図5および図8に示す例によると、木WDについて特定された基準エリアの部分動きベクトルVCT1,雲CLについて特定された基準エリアの部分動きベクトルVCT2,山MTについて特定された基準エリアの部分動きベクトルVCT3,人物HBについて特定された基準エリアの部分動きベクトルVCT4,および自動車CRについて特定された基準エリアの部分動きベクトルVCT5は、図10に示すように作成される。図10を参照して、部分動きベクトルVCT1〜5の各々の矢印の指す向きがベクトル方向を示し、各々の矢印の長さがベクトル量を示す。
【0049】
CPU26は次に、作成された2以上の部分動きベクトルのベクトル量の平均値を算出し、算出された平均ベクトル量が閾値THvを超えるか否かを判別する。なお、閾値THvは、撮像面が操作者の意図によって動かされたか否かを判別するための閾値である。操作者がディジタルカメラ10を手持ちで構えている場合、基準エリア登録処理の実行と基準エリア探索処理の実行との間に、撮像面は操作者の意図とは無関係に多少は動かされる。したがって、算出された平均ベクトル量が閾値THvを超える場合、撮像面が操作者の意図によって動かされたとみなす一方、算出された平均ベクトル量が閾値THvを超えない場合、撮像面は操作者の意図と無関係に動かされたとみなす。
【0050】
算出された平均ベクトル量が閾値THvを超えるときCPU26は、各々の部分動きベクトルのベクトル方向およびベクトル量を解析し、特異な部分動きベクトルがあればその部分動きベクトルを除外する。
【0051】
図10に示す例によると、部分動きベクトルVCT1〜4の各々は、光軸方向に対して垂直に時計回りに90度傾けられたディジタルカメラ10の撮像面の動きに従って、撮像面中央周辺を中心として反時計回りの動きを示す。一方、部分動きベクトルVCT5は、始点が互いに近傍である部分動きベクトルVCT1と比較して、ベクトル方向およびベクトル量が大きく異なっている。よって、部分動きベクトルVCT5は除外される。部分動きベクトルVCT5は、自動車CRについて特定された基準エリアの動きを示すものである。よって、撮像面の動きに加えて自動車CRの走行による移動が、部分動きベクトルVCT5の発生の要因に挙げられる。このような部分動きベクトルは、撮像面の動きの判別に用いるのは不適切であることから、除外される。
【0052】
解析の結果、各々の部分動きベクトルのベクトル方向およびベクトル量が既定条件を満足するときCPU26は、撮像面の動きが既定動作であることを表明するべく、フラグFLGcndに“1”を設定する。一方、平均ベクトル量が閾値THv以下のときならびに各々の部分動きベクトルのベクトル方向およびベクトル量が既定条件を満足しないときCPU26は、撮像面の動きが既定動作でないことを表明するべく、フラグFLGcndに“0”を設定する。
【0053】
既定条件は例えば、光軸方向に対して垂直に時計回りに60度以上傾けられたディジタルカメラ10の撮像面の動きに2以上の部分動きベクトルの各々が従っていることとする。この場合、図10に示す例によると、部分動きベクトルVCT1〜4の各々が光軸方向に対して垂直に時計回りに90度傾けられたディジタルカメラ10の撮像面の動きに従っているので、既定条件は満足される。
【0054】
キャラクタ制御タスクの下で、シャッタボタン28shが非操作状態のときCPU26は、フラグFLGcndに“1”が設定されているか否かを繰り返し判別する。
【0055】
ドライブ設定画面,シーン設定画面,またはメニュー画面がLCDモニタ28に表示された状態で否定的な判別結果から肯定的な判別結果に更新されたとき、CPU26は、非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示中のドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。CPU26は続いて、メニュー画面が非表示とされた場合はドライブ設定画面の表示命令,ドライブ設定画面が非表示とされた場合はシーン設定画面の表示命令,またはシーン設定画面が非表示とされた場合はメニュー画面の表示命令を、それぞれグラフィックジェネレータ46に向けて発行する。この結果、ドライブ設定画面,シーン設定画面,またはメニュー画面がLCDモニタ38に表示される。したがって、ドライブ設定画面,シーン設定画面,またはメニュー画面がLCDモニタ28に表示された状態でフラグFLGcndに“1”が設定された場合は、LCDモニタ28の表示が他の画面に切り替えられる。
【0056】
なお、ドライブ設定画面,シーン設定画面,およびメニュー画面のいずれもLCDモニタ28に表示されていない状態でフラグFLGcndに“1”が設定された場合は、メニュー画面がLCDモニタ38に表示される。
【0057】
LCDモニタ38に表示されたドライブ設定画面,シーン設定画面,またはメニュー画面において操作者は、上述の通りそれぞれ、撮影モードの選択,撮像シーンの選択,または各種の設定変更をキー入力装置28を通じて行うことができる。
【0058】
ドライブ設定画面,シーン設定画面,およびメニュー画面のいずれかがLCDモニタ28に表示された状態で半押しまたは全押しによってシャッタボタン28shが操作状態となったとき、キャラクタ制御タスクにおいてCPU26は、非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示されていたドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。
【0059】
シャッタボタン28shが半押しされると、CPU26は、シーン設定画面で選択された撮像シーンが示す調整基準およびメニュー画面で変更された各種設定に沿って、AE評価回路22からの出力に基づく厳格AE処理を、撮像タスクの下で実行する。厳格AE処理によって算出された最適EV値を定義する絞り量および露光時間は、ドライバ18bおよび18cにそれぞれ設定される。この結果、選択された撮像シーンおよび変更された各種設定に基づいて、スルー画像の明るさが厳密に調整される。
【0060】
厳格AE処理が完了すると、CPU26は、シーン設定画面で選択された撮像シーンが示す調整基準およびメニュー画面で変更された各種設定に沿って、AF評価回路24からの出力に基づくAF処理を、撮像タスクの下で実行する。この結果、選択された撮像シーンおよび変更された各種設定に基づいた合焦点にフォーカスレンズ12が配置され、スルー画像の鮮鋭度が向上する。
【0061】
AF処理の完了後にシャッタボタン28shが全押しされると、CPU26は、ドライブ設定画面において選択された撮影モードに沿って、撮像タスクの下で静止画取り込み処理および記録処理を実行する。シャッタボタン28shが全押しされた時点の1フレームの画像データまたはシャッタボタン28shが全押しされた時点の前後の複数フレームの画像データは、静止画取り込み処理によってSDRAM32の静止画エリア32dに取り込まれる。取り込まれた画像データは、記録処理に関連して起動したI/F40によって静止画エリア32dから読み出され、ファイル形式で記録媒体42に記録される。
【0062】
CPU26は、図11に示す撮像タスク,図12〜図14に示すキャラクタ制御タスク,および図15〜図16に示す動き判別タスクを含む複数のタスクを並列的に実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ44に記憶される
【0063】
図11を参照して、ステップS1ではキャラクタ制御タスクを起動し、ステップS3では動き判別タスクを起動する。ステップS5では、動画取り込み処理を実行するべく、撮像タスクの下で露光動作および電荷読み出し動作の繰り返しをドライバ18cに命令する。この結果、イメージセンサ16からは、読み出された電荷に基づく生画像データが周期的に出力される。
【0064】
ステップS7ではシャッタボタン28shが半押しされたか否かを判別し、判別結果がNOであれば、ステップS9で簡易AE処理を実行する。この結果、スルー画像の明るさが適度に調整される。
【0065】
ステップS7の判別結果がNOからYESに更新されると、シーン設定画面で選択された撮像シーンが示す調整基準およびメニュー画面で変更された各種設定に沿って、ステップS11で厳格AE処理を実行する。この結果、選択された撮像シーンおよび変更された各種設定に基づいて、スルー画像の明るさが厳密に調整される。
【0066】
ステップS13では、シーン設定画面で選択された撮像シーンが示す調整基準およびメニュー画面で変更された各種設定に沿って、AF処理を実行する。この結果、選択された撮像シーンおよび変更された各種設定に基づいた合焦点にフォーカスレンズ12が配置され、スルー画像の鮮鋭度が向上する。
【0067】
ステップS15ではシャッタボタン28shが全押しされたか否かを繰り返し判別し、判別結果がNOであれば、ステップS17でシャッタボタン28shが解除されたか否かを判別する。ステップS17の判別結果がNOであればステップS15に戻る一方、ステップS17の判別結果がYESであればステップS7に戻る。
【0068】
ステップS15の判別結果がYESであれば、ドライブ設定画面において選択された撮影モードに沿って、ステップS19で静止画取り込み処理を実行する。これによって、シャッタボタン28shが全押しされた直後の1フレームの画像データまたはシャッタボタン28shが全押しされた時点の前後の複数フレームの画像データがSDRAM32の静止画エリア32dに取り込まれる。
【0069】
ステップS21では、ドライブ設定画面において選択された撮影モードに沿って記録処理を実行する。ステップS19で取り込まれた1フレームまたは複数フレームの画像データは、記録処理によって記録媒体42にファイル形式で記録される。記録処理が完了すると、その後にステップS7に戻る。
【0070】
図12を参照して、ステップS31ではシャッタボタン28shが操作状態であるか否かを判別し、判別結果がNOであればステップS37に進む一方、判別結果がYESであれば非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示されていたドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。ステップS35ではシャッタボタン28shが非操作状態であるか否かを繰り返し判別し、判別結果がNOからYESに更新されるとステップS31に戻る。
【0071】
ステップS37ではドライブ設定表示操作がキー入力装置28によって行われたか否かを判別し、判別結果がNOであればステップS41に進む一方、判別結果がYESであればドライブ設定画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にドライブ設定画面が表示される。
【0072】
ステップS41ではシーン設定表示操作がキー入力装置28によって行われたか否かを判別し、判別結果がNOであればステップS45に進む一方、判別結果がYESであればシーン設定画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にシーン設定画面が表示される。
【0073】
ステップS45ではメニュー表示操作がキー入力装置28によって行われたか否かを判別し、判別結果がNOであればステップS49に進む一方、判別結果がYESであればメニュー画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にメニュー画面が表示される。
【0074】
ステップS39,ステップS43,またはステップS47の処理が完了すると、ステップS49でキー入力装置28によって非表示操作が行われた否かを判別する。判別結果がNOであればステップS53に進む一方、判別結果がYESであればステップS51の処理を経てステップS53に進む。
【0075】
ステップS51では非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示されていたドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。ステップS53ではフラグFLGcndに“1”が設定されているか否かを判別し、判別結果がNOであればステップS31に戻る一方、判別結果がYESであればステップS55に進む。
【0076】
ステップS55では、LCDモニタ28にメニュー画面が表示中であるか否かを判別し、判別結果がNOであればステップS61に進む一方、判別結果がYESであればステップS57で非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示中のメニュー画面は非表示とされる。ステップS59ではドライブ設定画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にドライブ設定画面が表示される。
【0077】
ステップS61では、LCDモニタ28にドライブ設定画面が表示中であるか否かを判別し、判別結果がNOであればステップS67に進む一方、判別結果がYESであればステップS63で非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示中のドライブ設定画面は非表示とされる。ステップS65ではシーン設定画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にシーン設定画面が表示される。
【0078】
ステップS67では、LCDモニタ28にシーン設定画面が表示中であるか否かを判別し、判別結果がNOであればステップS71に進む一方、判別結果がYESであればステップS69で非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示中のシーン設定画面は非表示とされる。ステップS71ではメニュー画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にメニュー画面が表示される。
【0079】
ステップS59,ステップS65,またはステップS71の処理が完了すると、ステップS73でフラグFLGcndに“0”を設定し、その後にステップS31に戻る。
【0080】
図15を参照して、ステップS81では変数kに“5”を設定して初期化し、ステップS83ではレジスタRGSTrfrの登録内容を削除して、基準エリアをクリアする。ステップS85では垂直同期信号Vsyncが発生したか否かを繰り返し判別し、判別結果がNOからYESに更新されるとステップS87で基準エリア登録処理を実行する。
【0081】
ステップS89ではフラグFLGdtctに“1”が設定されているか否かを判別し、判別結果がNOであればステップS83に戻る一方、判別結果がYESであれば垂直同期信号Vsyncがk回発生したか否かをステップS91で繰り返し判別する。ステップS91の判別結果がNOからYESに更新されると、ステップS93で基準エリア探索処理を実行する。
【0082】
ステップS95ではフラグFLGdtctに“1”が設定されているか否かを判別し、判別結果がNOであればステップS83に戻る一方、判別結果がYESであればステップS97に進む。ステップS97では、レジスタRGSTvctの登録内容を削除して、部分動きベクトルをクリアする。ステップS99では動き解析処理を実行し、その後にステップS83に戻る。
【0083】
ステップS87の基準エリア登録処理は、図17〜図18に示すサブルーチンに従って実行される。ステップS101では、動き判別画像データの中から色および輝度の同一性に基づいて基準エリアを特定する。ステップS103では、変数Nの可変範囲を定義するべく、ステップS101で特定された基準エリアの数をNmaxに設定する。
【0084】
ステップS105ではNmaxが2以上であるか否かを判別し、判別結果がNOであれば、撮像面の動き判別に必要な数の基準エリアが特定されなかったことを表明するべく、ステップS107でフラグFLGdtctに“0”を設定し、その後に上階層のルーチンに復帰する。判別結果がYESであれば、撮像面の動き判別に必要な基準エリアが特定されたことを表明するべく、ステップS109でフラグFLGdtctに“1”を設定する。
【0085】
ステップS111では変数Nに“1”を設定し、ステップS113ではN番目に特定された基準エリアのサイズを判定する。ステップS115ではN番目に特定された基準エリアの位置,サイズ,輝度,および色をレジスタRGSTrfrに登録する。
【0086】
ステップS117では変数Nをインクリメントし、ステップS119では変数NがNmaxを超えたか否かを判別する。判別結果がNOであればステップS113に戻る一方、判別結果がYESであれば上階層のルーチンに復帰する。
【0087】
ステップS93の基準エリア探索処理は、図19〜図20に示すサブルーチンに従って実行される。ステップS121では変数Mに“0”を初期設定し、ステップS123では変数Nに“1”を初期設定する。
【0088】
ステップS125ではN番目に登録された基準エリアのサイズ,輝度,および色をレジスタRGSTrfrから読み出し、読み出された基準エリアのサイズ,輝度,および色に基づいて、N番目に登録された基準エリアを更新された動き判別画像データからステップS127で探索する。
【0089】
ステップS129では更新された動き判別画像データから基準エリアが発見されたか否かを判別し、判別結果がYESであればステップS131およびステップS133の処理を経てステップS137に進む一方、判別結果がNOであればステップS135の処理を経てステップS137に進む。
【0090】
ステップS131では新たに発見された基準エリアの位置をレジスタRGSTrfrの“位置2”のカラムに登録し、ステップS133では変数Mをインクリメントする。ステップS135ではレジスタRGSTrfrの“位置2”のカラムに“0”を登録する。
【0091】
ステップS137では変数Nをインクリメントし、ステップS139では変数NがNmaxを超えたか否かを判別する。判別結果がNOであればステップS125に戻る一方、判別結果がYESであればステップS141に進む。
【0092】
ステップS141では変数Mが2以上であるか否かを判別し、判別結果がYESであればステップS143に進む一方、判別結果がNOであればステップS145に進む。ステップS143では“位置2”のカラムに“0”が登録されている基準エリアをレジスタRGSTrfrから削除し、ステップS145ではフラグFLGdtctに“0”を設定する。ステップS143またはステップS145の処理が完了すると、その後に上階層に復帰する。
【0093】
ステップS99の動き解析処理は、図21に示すサブルーチンに従って実行される。ステップS151では、レジスタRGSTrfrの“位置1”のカラムと“位置2”のカラムとを参照して、基準エリア毎に部分動きベクトルを作成する。作成された各々の部分動きベクトルを表すベクトル量およびベクトル方向は、レジスタRGSTvctに登録される。
【0094】
ステップS153では作成された2以上の部分動きベクトルのベクトル量の平均値を算出し、算出された平均ベクトル量が閾値THvを超えるか否かをステップS155で判別する。判別結果がNOであればステップS165に進む一方、判別結果がYESであればステップS157に進む。
【0095】
ステップS157では各々の部分動きベクトルのベクトル方向およびベクトル量を解析し、特異な部分動きベクトルがあればその部分動きベクトルをステップS159で除外する。ステップS157の解析およびステップS159の除外の結果、各々の部分動きベクトルのベクトル方向およびベクトル量が既定条件を満足するか否かをステップS161で判別し、判別結果がYESであればステップS163に進み、判別結果がNOであればステップS165に進む。
【0096】
ステップS163では、撮像面の動きが既定動作であることを表明するべく、フラグFLGcndに“1”を設定し、ステップS165では、撮像面の動きが既定動作でないことを表明するべく、フラグFLGcndに“0”を設定する。ステップS163またはステップS165の処理が完了すると、その後に上階層に復帰する。
【0097】
以上の説明から分かるように、イメージセンサ16は、撮像面で捉えられたシーンを表す画像を繰り返し出力する。CPU26は、イメージセンサ16から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する。グラフィックジェネレータ46は、イメージセンサ16の処理と並列してカメラ設定情報を出力する。CPU26はまた、グラフィックジェネレータ46によって出力されたカメラ設定情報に対する操作に従う処理を実行し、検出された動きに応じて異なるようにグラフィックジェネレータ46の出力態様を制御する。
【0098】
カメラ設定情報の出力態様は、光軸に直交する方向における撮像面の動きに応じて異なる。これによって、カメラ設定情報の出力態様の多様化ひいては操作性の向上が図られる。
【0099】
なお、この実施例では、撮像面で捉えられた画像に基づいて撮像面の動きを検出し、検出された動きに応じて異なる処理を実行するようにした。しかし、撮像面で捉えられた画像に基づいて撮像面の動きを検出する一方、角速度センサ等をディジタルカメラ10に設けてその姿勢検出機能を併用することによって、検出精度を向上させるようにしてもよい。
【0100】
また、この実施例では、基準エリア登録処理において、動き判別画像データの中から、色および輝度の同一性に基づいて基準エリアを特定するようにした。しかし、色および輝度のいずれか一方の同一性に基づいて基準エリアを特定するようにしてもよい。
【0101】
また、この実施例では、撮像面の動きの判別結果に応じて、ドライブ設定画面,シーン設定画面,およびメニュー画面を表示し、各々の画面を互いに切り替えるようにした。しかし、撮像面の動きの判別結果に応じて、画面の表示および画面の切り替え以外の処理を実行するようにしてもよい。例えば、LCDモニタ38の明るさを変更するようにしてもよいし、画像圧縮率,画像の解像度,および手振れ検出機能のオン/オフ等を変更するようにしてもよい。
【0102】
また、この実施例では、マルチタスクOSおよびこれによって実行される複数のタスクに相当する制御プログラムは、フラッシュメモリ44に予め記憶される。しかし、外部サーバに接続するための通信I/F50を図22に示す要領でディジタルカメラ10に設け、一部の制御プログラムを内部制御プログラムとしてフラッシュメモリ44に当初から準備する一方、他の一部の制御プログラムを外部制御プログラムとして外部サーバから取得するようにしてもよい。この場合、上述の動作は、内部制御プログラムおよび外部制御プログラムの協働によって実現される。
【0103】
また、この実施例では、CPU26によって実行される処理を、図11に示す撮像タスク,図12〜図14に示すキャラクタ制御タスク,および図15〜図16に示す動き判別タスクを含む複数のタスクに区分するようにした。しかし、これらのタスクをさらに複数の小タスクに区分してもよく、さらには区分された複数の小タスクの一部を統合するようにしてもよい。また、転送タスクを複数の小タスクに区分する場合、その全部または一部を外部サーバから取得するようにしてもよい。
【0104】
また、この実施例では、ディジタルカメラを用いて説明したが、本発明は、ディジタルビデオカメラ,タブレット型コンピュータ,携帯電話端末またはスマートフォンなどにも適用することができる。
【符号の説明】
【0105】
10 … ディジタルカメラ
12 … フォーカスレンズ
16 … イメージセンサ
26 … CPU
36 … LCDドライバ
38 … LCDモニタ
46 … グラフィックジェネレータ
【技術分野】
【0001】
この発明は、電子カメラに関し、特に撮像面の動きを判別する、電子カメラに関する。
【背景技術】
【0002】
この種のカメラの一例が、特許文献1に開示されている。この背景技術によれば、角速度センサを用いる手振れ補正回路がビデオカメラに搭載される。ビデオカメラを手で動かすことにより生じる角速度センサからの信号は、メニュー選択や画像入力の操作方法として使用される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−32359号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、背景技術では、カメラの軽量化やコスト削減のために角速度センサがカメラに搭載されなかった場合、メニュー選択や画像入力の操作が、カメラを手で動かすことによって実行されることはない。また、角速度センサがカメラに搭載された場合であっても、角速度センサの誤動作によって操作者の意図と異なる処理が実行されるおそれがある。このため、操作性が低下する恐れがある。
【0005】
それゆえに、この発明の主たる目的は、操作性の向上を図ることができる、電子カメラを提供することである。
【課題を解決するための手段】
【0006】
この発明に従う電子カメラ(10:実施例で相当する参照符号。以下同じ)は、撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段(16)、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出手段(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力手段(46)、出力手段によって出力されたカメラ設定情報に対する操作に従う処理を実行する処理手段(S11~S13, S19~S21)、および検出手段によって検出された動きに応じて異なるように出力手段の出力態様を制御する制御手段(S55~S71)を備える。
【0007】
好ましくは、検出手段は、撮像手段から出力されたシーンを表す画像から1または2以上の特徴画像を特定する特定手段(S87)、特定手段によって特定された1または2以上の特徴画像を特定手段の特定処理の後に撮像手段から出力されたシーンから探索する探索手段(S93)、および探索手段の探索結果に基づいて撮像面の動きを判別する判別手段(S99)を含む。
【0008】
さらに好ましくは、判別手段は、探索手段の探索結果に基づいて特定手段によって特定された1または2以上の特徴画像の各々の部分動きベクトルを作成する作成手段(S151)、作成手段によって作成された1または2以上の部分動きベクトルを解析する解析手段(S157~S159)、および解析手段の解析結果に基づいて撮像面の動きを判別する動き判別手段(S161)を含む。
【0009】
好ましくは、撮像面の前方に設けられたフォーカスレンズ(12)をさらに備え、処理手段は、撮像面の露光量を調整する露光量調整手段(S11)、フォーカスレンズと撮像面との距離を調整する距離調整手段(S13)、および撮像手段から出力された画像を記録する記録手段(S19~S21)を含む。
【0010】
好ましくは、制御手段は、検出手段によって検出された動きが既定条件を満足するか否かを判別する条件判別手段(S53, S163)、および条件判別手段の判別結果が否定的な結果から肯定的な結果に更新されたときカメラ設定情報を表示するための表示指令を発行する発行手段(S59, S65, S71)を含む。
【0011】
この発明に従う出力制御プログラムは、撮像面で捉えられたシーンを表す画像を出力する撮像手段(16)を備える電子カメラ(10)のプロセッサ(26)に、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出ステップ(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ(46)、出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ(S11~S13, S19~S21)、および検出ステップによって検出された動きに応じて異なるように出力ステップの出力態様を制御する制御ステップ(S55~S71)を実行させるための、出力制御プログラムである。
【0012】
この発明に従う出力制御方法は、撮像面で捉えられたシーンを表す画像を出力する撮像手段(16)を備える電子カメラ(10)によって実行される出力制御方法であって、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出ステップ(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ(46)、出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ(S11~S13, S19~S21)、および検出ステップによって検出された動きに応じて異なるように出力ステップの出力態様を制御する制御ステップ(S55~S71)を備える。
【0013】
この発明に従う外部制御プログラムは、撮像面で捉えられたシーンを表す画像を出力する撮像手段(16)、およびメモリ(44)に保存された内部制御プログラムに従う処理を実行するプロセッサ(26)を備える電子カメラ(10)に供給される外部制御プログラムであって、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出ステップ(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ(46)、出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ(S11~S13, S19~S21)、および検出ステップによって検出された動きに応じて異なるように出力ステップの出力態様を制御する制御ステップ(S55~S71)を内部制御プログラムと協働してプロセッサに実行させるための、外部制御プログラムである。
【0014】
この発明に従う電子カメラ(10)は、撮像面で捉えられたシーンを表す画像を出力する撮像手段(16)、外部制御プログラムを受信する受信手段(50)、および受信手段によって受信された外部制御プログラムとメモリ(44)に保存された内部制御プログラムとに従う処理を実行するプロセッサ(26)を備える電子カメラ(10)であって、外部制御プログラムは、撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する検出ステップ(S87~S99)、撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ(46)、出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ(S11~S13, S19~S21)、および検出ステップによって検出された動きに応じて異なるように出力ステップの出力態様を制御する制御ステップ(S55~S71)を内部制御プログラムと協働して実行するプログラムに相当する。
【発明の効果】
【0015】
カメラ設定情報の出力態様は、光軸に直交する方向における撮像面の動きに応じて異なる。これによって、カメラ設定情報の出力態様の多様化ひいては操作性の向上が図られる。
【0016】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0017】
【図1】この発明の一実施例の基本的構成を示すブロック図である。
【図2】この発明の一実施例の構成を示すブロック図である。
【図3】撮像面における評価エリアの割り当て状態の一例を示す図解図である。
【図4】(A)は電子カメラの状態の一例を示す図解図であり、(B)は撮像面によって捉えられた被写界像の一例を示す図解図である。
【図5】基準エリア登録処理の一部を示す図解図である。
【図6】動き判別タスクにおいて参照されるレジスタの構成の一例を示す図解図である。
【図7】(A)は電子カメラの状態の他の一例を示す図解図であり、(B)は撮像面によって捉えられた被写界像の他の一例を示す図解図である。
【図8】基準エリア探索処理の一部を示す図解図である。
【図9】動き判別タスクにおいて参照される他のレジスタの構成の一例を示す図解図である。
【図10】動き解析処理の一部を示す図解図である。
【図11】図2実施例に適用されるCPUの動作の一部を示すフロー図である。
【図12】図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【図13】図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【図14】図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【図15】図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【図16】図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【図17】図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【図18】図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【図19】図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【図20】図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【図21】図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【図22】この発明の他の実施例の構成を示すブロック図である。
【発明を実施するための形態】
【0018】
以下、この発明の実施の形態を図面を参照しながら説明する。
[基本的構成]
【0019】
図1を参照して、この実施例の電子カメラは、基本的に次のように構成される。撮像手段1は、撮像面で捉えられたシーンを表す画像を繰り返し出力する。検出手段2は、撮像手段1から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する。出力手段3は、撮像手段1の処理と並列してカメラ設定情報を出力する。処理手段4は、出力手段3によって出力されたカメラ設定情報に対する操作に従う処理を実行する。制御手段5は、検出手段2によって検出された動きに応じて異なるように出力手段3の出力態様を制御する。
【0020】
カメラ設定情報の出力態様は、光軸に直交する方向における撮像面の動きに応じて異なる。これによって、カメラ設定情報の出力態様の多様化ひいては操作性の向上が図られる。
[実施例]
【0021】
図2を参照して、この実施例のディジタルカメラ10は、ドライバ18aおよび18bによってそれぞれ駆動されるフォーカスレンズ12および絞りユニット14を含む。これらの部材を経た被写界の光学像は、イメージセンサ16の撮像面に照射され、光電変換を施される。これによって、被写界像を表す電荷が生成される。
【0022】
電源が投入されると、CPU26は、動画取り込み処理を実行するべく、撮像タスクの下で露光動作および電荷読み出し動作の繰り返しをドライバ18cに命令する。ドライバ18cは、図示しないSG(Signal Generator)から周期的に発生する垂直同期信号Vsyncに応答して、撮像面を露光し、かつ撮像面で生成された電荷をラスタ走査態様で読み出す。イメージセンサ16からは、読み出された電荷に基づく生画像データが周期的に出力される。
【0023】
前処理回路20は、イメージセンサ16から出力された生画像データにディジタルクランプ,画素欠陥補正,ゲイン制御などの処理を施す。これらの処理を施された生画像データは、メモリ制御回路30を通してSDRAM32の生画像エリア32aに書き込まれる。
【0024】
後処理回路34は、生画像エリア32aに格納された生画像データをメモリ制御回路30を通して読み出し、読み出された生画像データに色分離処理,白バランス調整処理およびYUV変換処理を施す。後処理回路34はさらに、YUV形式に従う画像データに対して表示用のズーム処理と動作判別用のズーム処理とを並列的に実行する。この結果、YUV形式に従う表示画像データおよび動き判別画像データが個別に作成される。表示画像データは、メモリ制御回路30によってSDRAM32の表示画像エリア32bに書き込まれる。動き判別画像データは、メモリ制御回路30によってSDRAM32の動き判別画像エリア32cに書き込まれる。
【0025】
LCDドライバ36は、表示画像エリア32bに格納された表示画像データをメモリ制御回路30を通して繰り返し読み出し、読み出された画像データに基づいてLCDモニタ38を駆動する。この結果、被写界のリアルタイム動画像(スルー画像)がLCDモニタ38に表示される。
【0026】
図3を参照して、撮像面の中央には評価エリアEVAが割り当てられる。評価エリアEVAは水平方向および垂直方向の各々において16分割され、256個の分割エリアが評価エリアEVAを形成する。また、図2に示す前処理回路20は、上述した処理に加えて、生画像データを簡易的にRGBデータに変換する簡易RGB変換処理を実行する。
【0027】
AE評価回路22は、前処理回路20によって生成されたRGBデータのうち評価エリアEVAに属するRGBデータを、垂直同期信号Vsyncが発生する毎に積分する。これによって、256個の積分値つまり256個のAE評価値が、垂直同期信号Vsyncに応答してAE評価回路22から出力される。
【0028】
AF評価回路24は、前処理回路20によって生成されたRGBデータのうち評価エリアEVAに属するRGBデータの高周波成分を、垂直同期信号Vsyncが発生する毎に積分する。これによって、256個の積分値つまり256個のAF評価値が、垂直同期信号Vsyncに応答してAF評価回路24から出力される。
【0029】
シャッタボタン28shが非操作状態のときCPU26は、AE評価回路22からの出力に基づく簡易AE処理を撮像タスクの下で実行し、適正EV値を算出する。簡易AE処理は動画取り込み処理と並列して実行され、算出された適正EV値を定義する絞り量および露光時間はドライバ18bおよび18cにそれぞれ設定される。この結果、スルー画像の明るさが適度に調整される。
【0030】
撮像タスクと並列して実行されるキャラクタ制御タスクの下で、シャッタボタン28shが非操作状態のときCPU26は、ドライブ設定表示操作,シーン設定表示操作,またはメニュー表示操作がキー入力装置28によって行われたか否かを繰り返し判別する。
【0031】
キー入力装置28によってドライブ設定表示操作が行われたときCPU26は、ドライブ設定画面表示命令をグラフィックジェネレータ46に向けて発行する。グラフィックジェネレータ46は、与えられたドライブ設定画面表示命令に基づいてドライブ設定画面を表すグラフィック画像データを作成し、作成されたグラフィック画像データをLCDドライバ36に与える。LCDドライバ36は、与えられたグラフィック画像データに基づいてLCDモニタ38にドライブ設定画面を表示する。ドライブ設定画面において操作者は、1枚撮影モードおよび連続撮影モードのいずれかをキー入力装置28を通じて選択することができる。
【0032】
キー入力装置28によってシーン設定表示操作が行われたときCPU26は、シーン設定画面表示命令をグラフィックジェネレータ46に向けて発行する。グラフィックジェネレータ46は、与えられたシーン設定画面表示命令に基づいてシーン設定画面を表すグラフィック画像データを作成し、作成されたグラフィック画像データをLCDドライバ36に与える。LCDドライバ36は、与えられたグラフィック画像データに基づいてLCDモニタ38にシーン設定画面を表示する。
【0033】
ディジタルカメラ10には複数の撮像シーンが準備され、各々の撮像シーンは撮像条件の調整基準を示したものである。各々の撮像シーンに関連してAE基準およびAF基準が登録され、AE基準およびAF基準の組み合わせは撮像シーンごとに異なる。シーン設定画面において操作者は、風景シーン,スポーツシーン,ポートレートシーン,および夜景シーン等の準備された撮像シーンの中から、所望の撮像シーンをキー入力装置28を通じて選択することができる。
【0034】
キー入力装置28によってメニュー表示操作が行われたときCPU26は、メニュー画面表示命令をグラフィックジェネレータ46に向けて発行する。グラフィックジェネレータ46は、与えられたメニュー画面表示命令に基づいてメニュー画面を表すグラフィック画像データを作成し、作成されたグラフィック画像データをLCDドライバ36に与える。LCDドライバ36は、与えられたグラフィック画像データに基づいてLCDモニタ38にメニュー画面を表示する。メニュー画面において操作者は、顔検出,手ぶれ補正,赤目補正,記録画素数,および操作音等のディジタルカメラ10の各種の設定をキー入力装置28を通じて変更することができる。
【0035】
ドライブ設定画面,シーン設定画面,およびメニュー画面のいずれかがLCDモニタ28に表示された状態でキー入力装置28によって非表示操作が行われたとき、CPU26は、非表示命令をグラフィックジェネレータ46に向けて発行する。グラフィックジェネレータ46は、与えられた非表示命令に基づいて、LCDドライバ36へのグラフィック画像データの供給を停止する。この結果、LCDモニタ28に表示されていたドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。
【0036】
撮像タスクと並列して実行される動き判別タスクの下では、動き判別画像データから発見された基準エリアの位置の変化を検出することにより、撮像面の動きが判別される。動き判別タスクの下でCPU26はまず、動き判別画像エリア32cに格納された動き判別画像データから基準エリアを特定して登録するべく、基準エリア登録処理を垂直同期信号Vsyncに応答して実行する。
【0037】
基準エリア登録処理は次の要領で実行される。CPU26は、動き判別画像データの中から、色および輝度の同一性に基づいて基準エリアを特定する。図4(A)に示す例のように水平を保ってディジタルカメラ10を構え、図4(B)に示す被写界像がイメージセンサ16の撮像面で捉えられたとき、図5を参照して、木WD,雲CL,山MT,人物HB,および自動車CRの各々が、基準エリアとして特定される。
【0038】
CPU26は、特定された基準エリアの個数が2未満であったとき、撮像面の動き判別に必要な数の基準エリアが特定されなかったことを表明するべく、フラグFLGdtctに“0”を設定し、基準エリア登録処理を一旦終了する。そして、垂直同期信号Vsyncに応答して、基準エリア登録処理が再び実行される。
【0039】
一方、特定された基準エリアの個数が2以上であったとき、撮像面の動き判別に必要な基準エリアが特定されたことを表明するべく、CPU26はフラグFLGdtctに“1”を設定する。CPU26は次に、特定された各々の基準エリアの位置,サイズ,輝度,および色を、図6に示すレジスタRGSTrfrに登録する。なお、基準エリア登録処理において、基準エリアの位置は、レジスタRGSTrfrの“位置1”のカラムに登録される。登録が完了するとCPU26は、基準エリア登録処理を終了する。
【0040】
動き判別タスクの下でCPU26は、基準エリア登録処理の完了後にフラグFLGdtctが“1”を示すとき、撮像面の動き判別に必要な時間を確保するべく、垂直同期信号Vsyncが既定回数発生するまで待機する。既定回数は例えば5回とする。
【0041】
垂直同期信号Vsyncが既定回数発生すると、CPU26は、更新された動き判別画像データから登録された基準エリアの各々を探索するべく、基準エリア探索処理を次の要領で実行する。CPU26はまず、変数Nを“1”に設定し、変数Nの可変範囲を定義するべく、レジスタRGSTrfrに登録された基準エリアの数をNmaxに設定する。続いて、変数Nが“1”〜“Nmax”の各々に設定され、CPU26は、N番目の基準エリアに対応するサイズ,輝度,および色をレジスタRGSTrfrから読み出す。CPU26は次に、読み出されたサイズ,輝度,および色によって定義される基準エリアに対応する領域を動き判別画像データにおいて探索する。
【0042】
基準エリア登録処理の実行と基準エリア探索処理の実行との間に撮像面が動かされることがなかった場合は、基準エリア登録処理および基準エリア探索処理の各々の実行直前に撮像面で捉えられた被写界は、共通する。この場合、動物および乗り物等の動くものを対象に基準エリアが登録されていない限り、各々の基準エリアに対応する領域は、レジスタRGSTrfrに登録された各々の位置と同一の位置において発見される。
【0043】
一方、基準エリア登録処理の実行と基準エリア探索処理の実行との間に撮像面が動かされた場合は、基準エリア登録処理および基準エリア探索処理の各々の実行直前に撮像面で捉えられた被写界は、互いに異なるものとなる。この場合、各々の基準エリアに対応する領域は、レジスタRGSTrfrに登録された各々の位置と異なる位置において発見されるか、または更新後の動き判別画像データから発見されない。
【0044】
図5に示す例の基準エリアの各々が登録された後、垂直同期信号Vsyncが既定回数発生するまでの間に、ディジタルカメラ10が図7(A)に示すように光軸方向に対して垂直に時計回りに90度傾けられた場合、図7(B)に示す被写界が基準エリア探索処理の実行直前に撮像面で捉えられる。この場合、木WD,雲CL,山MT,人物HB,および自動車CRの各々の基準エリアに対応する領域が、基準エリア探索処理の実行によって図8に示す位置において発見される。
【0045】
基準エリア探索処理の下でCPU26は、各々の基準エリアに対応する領域を発見した場合は、当該基準エリアが移動したとみなし、移動後の位置をレジスタRGSTrfrの“位置2”のカラムに登録する。各々の基準エリアに対応する領域を発見できなかった場合CPU26は、当該基準エリアが被写界の外側に移動したとみなし、“0”をレジスタRGSTrfrの“位置2”のカラムに登録する。
【0046】
CPU26は、発見された領域の個数が2未満であったとき、撮像面の動き判別に必要な数の基準エリアが発見されなかったことを表明するべくフラグFLGdtctに“0”を設定し、基準エリア探索処理を終了する。そして、垂直同期信号Vsyncに応答して、基準エリア登録処理が再び実行される。一方、発見された領域の個数が2以上であったとき、CPU26は、“位置2”のカラムに“0”が登録されている基準エリアをレジスタRGSTrfrから削除し、基準エリア探索処理を終了する。
【0047】
動き判別タスクの下でCPU26は、基準エリア探索処理の完了後にフラグFLGdtctが“1”を示すとき、撮像面の動きを解析するべく、動き解析処理を次の要領で実行する。CPU26はまず、レジスタRGSTrfrの“位置1”のカラムと“位置2”のカラムとを参照して、基準エリア毎に部分動きベクトルを作成する。作成された各々の部分動きベクトルを表すベクトル量(ベクトルの大きさ)およびベクトル方向(ベクトルの向き)は、図9に示すレジスタRGSTvctに登録される。
【0048】
図5および図8に示す例によると、木WDについて特定された基準エリアの部分動きベクトルVCT1,雲CLについて特定された基準エリアの部分動きベクトルVCT2,山MTについて特定された基準エリアの部分動きベクトルVCT3,人物HBについて特定された基準エリアの部分動きベクトルVCT4,および自動車CRについて特定された基準エリアの部分動きベクトルVCT5は、図10に示すように作成される。図10を参照して、部分動きベクトルVCT1〜5の各々の矢印の指す向きがベクトル方向を示し、各々の矢印の長さがベクトル量を示す。
【0049】
CPU26は次に、作成された2以上の部分動きベクトルのベクトル量の平均値を算出し、算出された平均ベクトル量が閾値THvを超えるか否かを判別する。なお、閾値THvは、撮像面が操作者の意図によって動かされたか否かを判別するための閾値である。操作者がディジタルカメラ10を手持ちで構えている場合、基準エリア登録処理の実行と基準エリア探索処理の実行との間に、撮像面は操作者の意図とは無関係に多少は動かされる。したがって、算出された平均ベクトル量が閾値THvを超える場合、撮像面が操作者の意図によって動かされたとみなす一方、算出された平均ベクトル量が閾値THvを超えない場合、撮像面は操作者の意図と無関係に動かされたとみなす。
【0050】
算出された平均ベクトル量が閾値THvを超えるときCPU26は、各々の部分動きベクトルのベクトル方向およびベクトル量を解析し、特異な部分動きベクトルがあればその部分動きベクトルを除外する。
【0051】
図10に示す例によると、部分動きベクトルVCT1〜4の各々は、光軸方向に対して垂直に時計回りに90度傾けられたディジタルカメラ10の撮像面の動きに従って、撮像面中央周辺を中心として反時計回りの動きを示す。一方、部分動きベクトルVCT5は、始点が互いに近傍である部分動きベクトルVCT1と比較して、ベクトル方向およびベクトル量が大きく異なっている。よって、部分動きベクトルVCT5は除外される。部分動きベクトルVCT5は、自動車CRについて特定された基準エリアの動きを示すものである。よって、撮像面の動きに加えて自動車CRの走行による移動が、部分動きベクトルVCT5の発生の要因に挙げられる。このような部分動きベクトルは、撮像面の動きの判別に用いるのは不適切であることから、除外される。
【0052】
解析の結果、各々の部分動きベクトルのベクトル方向およびベクトル量が既定条件を満足するときCPU26は、撮像面の動きが既定動作であることを表明するべく、フラグFLGcndに“1”を設定する。一方、平均ベクトル量が閾値THv以下のときならびに各々の部分動きベクトルのベクトル方向およびベクトル量が既定条件を満足しないときCPU26は、撮像面の動きが既定動作でないことを表明するべく、フラグFLGcndに“0”を設定する。
【0053】
既定条件は例えば、光軸方向に対して垂直に時計回りに60度以上傾けられたディジタルカメラ10の撮像面の動きに2以上の部分動きベクトルの各々が従っていることとする。この場合、図10に示す例によると、部分動きベクトルVCT1〜4の各々が光軸方向に対して垂直に時計回りに90度傾けられたディジタルカメラ10の撮像面の動きに従っているので、既定条件は満足される。
【0054】
キャラクタ制御タスクの下で、シャッタボタン28shが非操作状態のときCPU26は、フラグFLGcndに“1”が設定されているか否かを繰り返し判別する。
【0055】
ドライブ設定画面,シーン設定画面,またはメニュー画面がLCDモニタ28に表示された状態で否定的な判別結果から肯定的な判別結果に更新されたとき、CPU26は、非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示中のドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。CPU26は続いて、メニュー画面が非表示とされた場合はドライブ設定画面の表示命令,ドライブ設定画面が非表示とされた場合はシーン設定画面の表示命令,またはシーン設定画面が非表示とされた場合はメニュー画面の表示命令を、それぞれグラフィックジェネレータ46に向けて発行する。この結果、ドライブ設定画面,シーン設定画面,またはメニュー画面がLCDモニタ38に表示される。したがって、ドライブ設定画面,シーン設定画面,またはメニュー画面がLCDモニタ28に表示された状態でフラグFLGcndに“1”が設定された場合は、LCDモニタ28の表示が他の画面に切り替えられる。
【0056】
なお、ドライブ設定画面,シーン設定画面,およびメニュー画面のいずれもLCDモニタ28に表示されていない状態でフラグFLGcndに“1”が設定された場合は、メニュー画面がLCDモニタ38に表示される。
【0057】
LCDモニタ38に表示されたドライブ設定画面,シーン設定画面,またはメニュー画面において操作者は、上述の通りそれぞれ、撮影モードの選択,撮像シーンの選択,または各種の設定変更をキー入力装置28を通じて行うことができる。
【0058】
ドライブ設定画面,シーン設定画面,およびメニュー画面のいずれかがLCDモニタ28に表示された状態で半押しまたは全押しによってシャッタボタン28shが操作状態となったとき、キャラクタ制御タスクにおいてCPU26は、非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示されていたドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。
【0059】
シャッタボタン28shが半押しされると、CPU26は、シーン設定画面で選択された撮像シーンが示す調整基準およびメニュー画面で変更された各種設定に沿って、AE評価回路22からの出力に基づく厳格AE処理を、撮像タスクの下で実行する。厳格AE処理によって算出された最適EV値を定義する絞り量および露光時間は、ドライバ18bおよび18cにそれぞれ設定される。この結果、選択された撮像シーンおよび変更された各種設定に基づいて、スルー画像の明るさが厳密に調整される。
【0060】
厳格AE処理が完了すると、CPU26は、シーン設定画面で選択された撮像シーンが示す調整基準およびメニュー画面で変更された各種設定に沿って、AF評価回路24からの出力に基づくAF処理を、撮像タスクの下で実行する。この結果、選択された撮像シーンおよび変更された各種設定に基づいた合焦点にフォーカスレンズ12が配置され、スルー画像の鮮鋭度が向上する。
【0061】
AF処理の完了後にシャッタボタン28shが全押しされると、CPU26は、ドライブ設定画面において選択された撮影モードに沿って、撮像タスクの下で静止画取り込み処理および記録処理を実行する。シャッタボタン28shが全押しされた時点の1フレームの画像データまたはシャッタボタン28shが全押しされた時点の前後の複数フレームの画像データは、静止画取り込み処理によってSDRAM32の静止画エリア32dに取り込まれる。取り込まれた画像データは、記録処理に関連して起動したI/F40によって静止画エリア32dから読み出され、ファイル形式で記録媒体42に記録される。
【0062】
CPU26は、図11に示す撮像タスク,図12〜図14に示すキャラクタ制御タスク,および図15〜図16に示す動き判別タスクを含む複数のタスクを並列的に実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ44に記憶される
【0063】
図11を参照して、ステップS1ではキャラクタ制御タスクを起動し、ステップS3では動き判別タスクを起動する。ステップS5では、動画取り込み処理を実行するべく、撮像タスクの下で露光動作および電荷読み出し動作の繰り返しをドライバ18cに命令する。この結果、イメージセンサ16からは、読み出された電荷に基づく生画像データが周期的に出力される。
【0064】
ステップS7ではシャッタボタン28shが半押しされたか否かを判別し、判別結果がNOであれば、ステップS9で簡易AE処理を実行する。この結果、スルー画像の明るさが適度に調整される。
【0065】
ステップS7の判別結果がNOからYESに更新されると、シーン設定画面で選択された撮像シーンが示す調整基準およびメニュー画面で変更された各種設定に沿って、ステップS11で厳格AE処理を実行する。この結果、選択された撮像シーンおよび変更された各種設定に基づいて、スルー画像の明るさが厳密に調整される。
【0066】
ステップS13では、シーン設定画面で選択された撮像シーンが示す調整基準およびメニュー画面で変更された各種設定に沿って、AF処理を実行する。この結果、選択された撮像シーンおよび変更された各種設定に基づいた合焦点にフォーカスレンズ12が配置され、スルー画像の鮮鋭度が向上する。
【0067】
ステップS15ではシャッタボタン28shが全押しされたか否かを繰り返し判別し、判別結果がNOであれば、ステップS17でシャッタボタン28shが解除されたか否かを判別する。ステップS17の判別結果がNOであればステップS15に戻る一方、ステップS17の判別結果がYESであればステップS7に戻る。
【0068】
ステップS15の判別結果がYESであれば、ドライブ設定画面において選択された撮影モードに沿って、ステップS19で静止画取り込み処理を実行する。これによって、シャッタボタン28shが全押しされた直後の1フレームの画像データまたはシャッタボタン28shが全押しされた時点の前後の複数フレームの画像データがSDRAM32の静止画エリア32dに取り込まれる。
【0069】
ステップS21では、ドライブ設定画面において選択された撮影モードに沿って記録処理を実行する。ステップS19で取り込まれた1フレームまたは複数フレームの画像データは、記録処理によって記録媒体42にファイル形式で記録される。記録処理が完了すると、その後にステップS7に戻る。
【0070】
図12を参照して、ステップS31ではシャッタボタン28shが操作状態であるか否かを判別し、判別結果がNOであればステップS37に進む一方、判別結果がYESであれば非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示されていたドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。ステップS35ではシャッタボタン28shが非操作状態であるか否かを繰り返し判別し、判別結果がNOからYESに更新されるとステップS31に戻る。
【0071】
ステップS37ではドライブ設定表示操作がキー入力装置28によって行われたか否かを判別し、判別結果がNOであればステップS41に進む一方、判別結果がYESであればドライブ設定画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にドライブ設定画面が表示される。
【0072】
ステップS41ではシーン設定表示操作がキー入力装置28によって行われたか否かを判別し、判別結果がNOであればステップS45に進む一方、判別結果がYESであればシーン設定画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にシーン設定画面が表示される。
【0073】
ステップS45ではメニュー表示操作がキー入力装置28によって行われたか否かを判別し、判別結果がNOであればステップS49に進む一方、判別結果がYESであればメニュー画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にメニュー画面が表示される。
【0074】
ステップS39,ステップS43,またはステップS47の処理が完了すると、ステップS49でキー入力装置28によって非表示操作が行われた否かを判別する。判別結果がNOであればステップS53に進む一方、判別結果がYESであればステップS51の処理を経てステップS53に進む。
【0075】
ステップS51では非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示されていたドライブ設定画面,シーン設定画面,またはメニュー画面は、非表示とされる。ステップS53ではフラグFLGcndに“1”が設定されているか否かを判別し、判別結果がNOであればステップS31に戻る一方、判別結果がYESであればステップS55に進む。
【0076】
ステップS55では、LCDモニタ28にメニュー画面が表示中であるか否かを判別し、判別結果がNOであればステップS61に進む一方、判別結果がYESであればステップS57で非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示中のメニュー画面は非表示とされる。ステップS59ではドライブ設定画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にドライブ設定画面が表示される。
【0077】
ステップS61では、LCDモニタ28にドライブ設定画面が表示中であるか否かを判別し、判別結果がNOであればステップS67に進む一方、判別結果がYESであればステップS63で非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示中のドライブ設定画面は非表示とされる。ステップS65ではシーン設定画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にシーン設定画面が表示される。
【0078】
ステップS67では、LCDモニタ28にシーン設定画面が表示中であるか否かを判別し、判別結果がNOであればステップS71に進む一方、判別結果がYESであればステップS69で非表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ28に表示中のシーン設定画面は非表示とされる。ステップS71ではメニュー画面表示命令をグラフィックジェネレータ46に向けて発行する。この結果、LCDモニタ38にメニュー画面が表示される。
【0079】
ステップS59,ステップS65,またはステップS71の処理が完了すると、ステップS73でフラグFLGcndに“0”を設定し、その後にステップS31に戻る。
【0080】
図15を参照して、ステップS81では変数kに“5”を設定して初期化し、ステップS83ではレジスタRGSTrfrの登録内容を削除して、基準エリアをクリアする。ステップS85では垂直同期信号Vsyncが発生したか否かを繰り返し判別し、判別結果がNOからYESに更新されるとステップS87で基準エリア登録処理を実行する。
【0081】
ステップS89ではフラグFLGdtctに“1”が設定されているか否かを判別し、判別結果がNOであればステップS83に戻る一方、判別結果がYESであれば垂直同期信号Vsyncがk回発生したか否かをステップS91で繰り返し判別する。ステップS91の判別結果がNOからYESに更新されると、ステップS93で基準エリア探索処理を実行する。
【0082】
ステップS95ではフラグFLGdtctに“1”が設定されているか否かを判別し、判別結果がNOであればステップS83に戻る一方、判別結果がYESであればステップS97に進む。ステップS97では、レジスタRGSTvctの登録内容を削除して、部分動きベクトルをクリアする。ステップS99では動き解析処理を実行し、その後にステップS83に戻る。
【0083】
ステップS87の基準エリア登録処理は、図17〜図18に示すサブルーチンに従って実行される。ステップS101では、動き判別画像データの中から色および輝度の同一性に基づいて基準エリアを特定する。ステップS103では、変数Nの可変範囲を定義するべく、ステップS101で特定された基準エリアの数をNmaxに設定する。
【0084】
ステップS105ではNmaxが2以上であるか否かを判別し、判別結果がNOであれば、撮像面の動き判別に必要な数の基準エリアが特定されなかったことを表明するべく、ステップS107でフラグFLGdtctに“0”を設定し、その後に上階層のルーチンに復帰する。判別結果がYESであれば、撮像面の動き判別に必要な基準エリアが特定されたことを表明するべく、ステップS109でフラグFLGdtctに“1”を設定する。
【0085】
ステップS111では変数Nに“1”を設定し、ステップS113ではN番目に特定された基準エリアのサイズを判定する。ステップS115ではN番目に特定された基準エリアの位置,サイズ,輝度,および色をレジスタRGSTrfrに登録する。
【0086】
ステップS117では変数Nをインクリメントし、ステップS119では変数NがNmaxを超えたか否かを判別する。判別結果がNOであればステップS113に戻る一方、判別結果がYESであれば上階層のルーチンに復帰する。
【0087】
ステップS93の基準エリア探索処理は、図19〜図20に示すサブルーチンに従って実行される。ステップS121では変数Mに“0”を初期設定し、ステップS123では変数Nに“1”を初期設定する。
【0088】
ステップS125ではN番目に登録された基準エリアのサイズ,輝度,および色をレジスタRGSTrfrから読み出し、読み出された基準エリアのサイズ,輝度,および色に基づいて、N番目に登録された基準エリアを更新された動き判別画像データからステップS127で探索する。
【0089】
ステップS129では更新された動き判別画像データから基準エリアが発見されたか否かを判別し、判別結果がYESであればステップS131およびステップS133の処理を経てステップS137に進む一方、判別結果がNOであればステップS135の処理を経てステップS137に進む。
【0090】
ステップS131では新たに発見された基準エリアの位置をレジスタRGSTrfrの“位置2”のカラムに登録し、ステップS133では変数Mをインクリメントする。ステップS135ではレジスタRGSTrfrの“位置2”のカラムに“0”を登録する。
【0091】
ステップS137では変数Nをインクリメントし、ステップS139では変数NがNmaxを超えたか否かを判別する。判別結果がNOであればステップS125に戻る一方、判別結果がYESであればステップS141に進む。
【0092】
ステップS141では変数Mが2以上であるか否かを判別し、判別結果がYESであればステップS143に進む一方、判別結果がNOであればステップS145に進む。ステップS143では“位置2”のカラムに“0”が登録されている基準エリアをレジスタRGSTrfrから削除し、ステップS145ではフラグFLGdtctに“0”を設定する。ステップS143またはステップS145の処理が完了すると、その後に上階層に復帰する。
【0093】
ステップS99の動き解析処理は、図21に示すサブルーチンに従って実行される。ステップS151では、レジスタRGSTrfrの“位置1”のカラムと“位置2”のカラムとを参照して、基準エリア毎に部分動きベクトルを作成する。作成された各々の部分動きベクトルを表すベクトル量およびベクトル方向は、レジスタRGSTvctに登録される。
【0094】
ステップS153では作成された2以上の部分動きベクトルのベクトル量の平均値を算出し、算出された平均ベクトル量が閾値THvを超えるか否かをステップS155で判別する。判別結果がNOであればステップS165に進む一方、判別結果がYESであればステップS157に進む。
【0095】
ステップS157では各々の部分動きベクトルのベクトル方向およびベクトル量を解析し、特異な部分動きベクトルがあればその部分動きベクトルをステップS159で除外する。ステップS157の解析およびステップS159の除外の結果、各々の部分動きベクトルのベクトル方向およびベクトル量が既定条件を満足するか否かをステップS161で判別し、判別結果がYESであればステップS163に進み、判別結果がNOであればステップS165に進む。
【0096】
ステップS163では、撮像面の動きが既定動作であることを表明するべく、フラグFLGcndに“1”を設定し、ステップS165では、撮像面の動きが既定動作でないことを表明するべく、フラグFLGcndに“0”を設定する。ステップS163またはステップS165の処理が完了すると、その後に上階層に復帰する。
【0097】
以上の説明から分かるように、イメージセンサ16は、撮像面で捉えられたシーンを表す画像を繰り返し出力する。CPU26は、イメージセンサ16から出力されたシーンを表す画像を参照して光軸に直交する方向における撮像面の動きを検出する。グラフィックジェネレータ46は、イメージセンサ16の処理と並列してカメラ設定情報を出力する。CPU26はまた、グラフィックジェネレータ46によって出力されたカメラ設定情報に対する操作に従う処理を実行し、検出された動きに応じて異なるようにグラフィックジェネレータ46の出力態様を制御する。
【0098】
カメラ設定情報の出力態様は、光軸に直交する方向における撮像面の動きに応じて異なる。これによって、カメラ設定情報の出力態様の多様化ひいては操作性の向上が図られる。
【0099】
なお、この実施例では、撮像面で捉えられた画像に基づいて撮像面の動きを検出し、検出された動きに応じて異なる処理を実行するようにした。しかし、撮像面で捉えられた画像に基づいて撮像面の動きを検出する一方、角速度センサ等をディジタルカメラ10に設けてその姿勢検出機能を併用することによって、検出精度を向上させるようにしてもよい。
【0100】
また、この実施例では、基準エリア登録処理において、動き判別画像データの中から、色および輝度の同一性に基づいて基準エリアを特定するようにした。しかし、色および輝度のいずれか一方の同一性に基づいて基準エリアを特定するようにしてもよい。
【0101】
また、この実施例では、撮像面の動きの判別結果に応じて、ドライブ設定画面,シーン設定画面,およびメニュー画面を表示し、各々の画面を互いに切り替えるようにした。しかし、撮像面の動きの判別結果に応じて、画面の表示および画面の切り替え以外の処理を実行するようにしてもよい。例えば、LCDモニタ38の明るさを変更するようにしてもよいし、画像圧縮率,画像の解像度,および手振れ検出機能のオン/オフ等を変更するようにしてもよい。
【0102】
また、この実施例では、マルチタスクOSおよびこれによって実行される複数のタスクに相当する制御プログラムは、フラッシュメモリ44に予め記憶される。しかし、外部サーバに接続するための通信I/F50を図22に示す要領でディジタルカメラ10に設け、一部の制御プログラムを内部制御プログラムとしてフラッシュメモリ44に当初から準備する一方、他の一部の制御プログラムを外部制御プログラムとして外部サーバから取得するようにしてもよい。この場合、上述の動作は、内部制御プログラムおよび外部制御プログラムの協働によって実現される。
【0103】
また、この実施例では、CPU26によって実行される処理を、図11に示す撮像タスク,図12〜図14に示すキャラクタ制御タスク,および図15〜図16に示す動き判別タスクを含む複数のタスクに区分するようにした。しかし、これらのタスクをさらに複数の小タスクに区分してもよく、さらには区分された複数の小タスクの一部を統合するようにしてもよい。また、転送タスクを複数の小タスクに区分する場合、その全部または一部を外部サーバから取得するようにしてもよい。
【0104】
また、この実施例では、ディジタルカメラを用いて説明したが、本発明は、ディジタルビデオカメラ,タブレット型コンピュータ,携帯電話端末またはスマートフォンなどにも適用することができる。
【符号の説明】
【0105】
10 … ディジタルカメラ
12 … フォーカスレンズ
16 … イメージセンサ
26 … CPU
36 … LCDドライバ
38 … LCDモニタ
46 … グラフィックジェネレータ
【特許請求の範囲】
【請求項1】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出手段、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力手段、
前記出力手段によって出力されたカメラ設定情報に対する操作に従う処理を実行する処理手段、および
前記検出手段によって検出された動きに応じて異なるように前記出力手段の出力態様を制御する制御手段を備える、電子カメラ。
【請求項2】
前記検出手段は、前記撮像手段から出力されたシーンを表す画像から前記1または2以上の特徴画像を特定する特定手段、前記特定手段によって特定された1または2以上の特徴画像を前記特定手段の特定処理の後に前記撮像手段から出力されたシーンから探索する探索手段、および前記探索手段の探索結果に基づいて前記撮像面の動きを判別する判別手段を含む、請求項1記載の電子カメラ。
【請求項3】
前記判別手段は、前記探索手段の探索結果に基づいて前記特定手段によって特定された1または2以上の特徴画像の各々の部分動きベクトルを作成する作成手段、前記作成手段によって作成された1または2以上の部分動きベクトルを解析する解析手段、および前記解析手段の解析結果に基づいて前記撮像面の動きを判別する動き判別手段を含む、請求項2記載の電子カメラ。
【請求項4】
前記撮像面の前方に設けられたフォーカスレンズをさらに備え、
前記処理手段は、前記撮像面の露光量を調整する露光量調整手段、前記フォーカスレンズと前記撮像面との距離を調整する距離調整手段、および前記撮像手段から出力された画像を記録する記録手段を含む、請求項1ないし3のいずれかに記載の電子カメラ。
【請求項5】
前記制御手段は、前記検出手段によって検出された動きが既定条件を満足するか否かを判別する条件判別手段、および前記条件判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき前記カメラ設定情報を表示するための表示指令を発行する発行手段を含む、請求項1ないし4のいずれかに記載の電子カメラ。
【請求項6】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段を備える電子カメラのプロセッサに、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出ステップ、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ、
前記出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ、および
前記検出ステップによって検出された動きに応じて異なるように前記出力ステップの出力態様を制御する制御ステップを実行させるための、出力制御プログラム。
【請求項7】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段を備える電子カメラによって実行される出力制御方法であって、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出ステップ、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ、
前記出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ、および
前記検出ステップによって検出された動きに応じて異なるように前記出力ステップの出力態様を制御する制御ステップを備える、出力制御方法。
【請求項8】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段、および
メモリに保存された内部制御プログラムに従う処理を実行するプロセッサを備える電子カメラに供給される外部制御プログラムであって、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出ステップ、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ、
前記出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ、および
前記検出ステップによって検出された動きに応じて異なるように前記出力ステップの出力態様を制御する制御ステップを前記内部制御プログラムと協働して前記プロセッサに実行させるための、外部制御プログラム。
【請求項9】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段、
外部制御プログラムを受信する受信手段、および
前記受信手段によって受信された外部制御プログラムとメモリに保存された内部制御プログラムとに従う処理を実行するプロセッサを備える電子カメラであって、
前記外部制御プログラムは、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出ステップ、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ、
前記出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ、および
前記検出ステップによって検出された動きに応じて異なるように前記出力ステップの出力態様を制御する制御ステップを前記内部制御プログラムと協働して実行するプログラムに相当する、電子カメラ。
【請求項1】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出手段、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力手段、
前記出力手段によって出力されたカメラ設定情報に対する操作に従う処理を実行する処理手段、および
前記検出手段によって検出された動きに応じて異なるように前記出力手段の出力態様を制御する制御手段を備える、電子カメラ。
【請求項2】
前記検出手段は、前記撮像手段から出力されたシーンを表す画像から前記1または2以上の特徴画像を特定する特定手段、前記特定手段によって特定された1または2以上の特徴画像を前記特定手段の特定処理の後に前記撮像手段から出力されたシーンから探索する探索手段、および前記探索手段の探索結果に基づいて前記撮像面の動きを判別する判別手段を含む、請求項1記載の電子カメラ。
【請求項3】
前記判別手段は、前記探索手段の探索結果に基づいて前記特定手段によって特定された1または2以上の特徴画像の各々の部分動きベクトルを作成する作成手段、前記作成手段によって作成された1または2以上の部分動きベクトルを解析する解析手段、および前記解析手段の解析結果に基づいて前記撮像面の動きを判別する動き判別手段を含む、請求項2記載の電子カメラ。
【請求項4】
前記撮像面の前方に設けられたフォーカスレンズをさらに備え、
前記処理手段は、前記撮像面の露光量を調整する露光量調整手段、前記フォーカスレンズと前記撮像面との距離を調整する距離調整手段、および前記撮像手段から出力された画像を記録する記録手段を含む、請求項1ないし3のいずれかに記載の電子カメラ。
【請求項5】
前記制御手段は、前記検出手段によって検出された動きが既定条件を満足するか否かを判別する条件判別手段、および前記条件判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき前記カメラ設定情報を表示するための表示指令を発行する発行手段を含む、請求項1ないし4のいずれかに記載の電子カメラ。
【請求項6】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段を備える電子カメラのプロセッサに、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出ステップ、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ、
前記出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ、および
前記検出ステップによって検出された動きに応じて異なるように前記出力ステップの出力態様を制御する制御ステップを実行させるための、出力制御プログラム。
【請求項7】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段を備える電子カメラによって実行される出力制御方法であって、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出ステップ、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ、
前記出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ、および
前記検出ステップによって検出された動きに応じて異なるように前記出力ステップの出力態様を制御する制御ステップを備える、出力制御方法。
【請求項8】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段、および
メモリに保存された内部制御プログラムに従う処理を実行するプロセッサを備える電子カメラに供給される外部制御プログラムであって、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出ステップ、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ、
前記出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ、および
前記検出ステップによって検出された動きに応じて異なるように前記出力ステップの出力態様を制御する制御ステップを前記内部制御プログラムと協働して前記プロセッサに実行させるための、外部制御プログラム。
【請求項9】
撮像面で捉えられたシーンを表す画像を繰り返し出力する撮像手段、
外部制御プログラムを受信する受信手段、および
前記受信手段によって受信された外部制御プログラムとメモリに保存された内部制御プログラムとに従う処理を実行するプロセッサを備える電子カメラであって、
前記外部制御プログラムは、
前記撮像手段から出力されたシーンを表す画像を参照して光軸に直交する方向における前記撮像面の動きを検出する検出ステップ、
前記撮像手段の処理と並列してカメラ設定情報を出力する出力ステップ、
前記出力ステップによって出力されたカメラ設定情報に対する操作に従う処理を実行する処理ステップ、および
前記検出ステップによって検出された動きに応じて異なるように前記出力ステップの出力態様を制御する制御ステップを前記内部制御プログラムと協働して実行するプログラムに相当する、電子カメラ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2012−182583(P2012−182583A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−43024(P2011−43024)
【出願日】平成23年2月28日(2011.2.28)
【出願人】(000001889)三洋電機株式会社 (18,308)
【Fターム(参考)】
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願日】平成23年2月28日(2011.2.28)
【出願人】(000001889)三洋電機株式会社 (18,308)
【Fターム(参考)】
[ Back to top ]