[デジタルカメラの構成について]
(a)外観図
図1(a)は本実施例によるデジタルカメラの外観図である。
図1(a)において、28は表示部であり、画像や各種情報を表示する。72は電源スイッチであり、電源オン、電源オフを切り替える。61はシャッターボタンである。また、シャッターボタン61の外側にはズームレバーが設けられている。60はモード切替スイッチであり、デジタルカメラ100における各種モードを切り替える。より具体的には、静止画記録モード、動画記録モード、再生モード等のモードの切り替えが可能である。111は接続ケーブルであり、デジタルカメラ100と外部機器を接続する。112はコネクタであり、接続ケーブル111とデジタルカメラ100とを接続する。
70は操作部であり、ユーザからの各種操作を受け付ける。操作部70は図示の各種ボタンや、画像表示部28の画面上に設けられたタッチパネル等の操作部材を有する。操作部70の各種ボタンとは、具体的に例示すると、消去ボタン、メニューボタン、SETボタン、十字に配置された4方向ボタン(上ボタン、下ボタン、右ボタン、左ボタン)、ホイール73等である。200はメモリカードやハードディスク等の記録媒体である。201は記録媒体スロットであり、記録媒体200を格納する。記録媒体スロット201に格納された記録媒体200は、デジタルカメラ100との通信が可能となる。202は記録媒体スロット201の蓋である。
(b)ブロック図
図1(b)は、本実施例によるデジタルカメラ100の構成例を示すブロック図である。図1(b)において、103は撮影レンズ、101は絞り機能を備えるシャッター、22は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像部である。23はA/D変換器であり、アナログ信号をデジタル信号に変換する。A/D変換器23は、撮像部22から出力されるアナログ信号をデジタル信号に変換する場合や、音声制御部11から出力されるアナログ信号をデジタル信号に変換する場合に用いられる。102はバリアであり、デジタルカメラ100の、レンズ103を含む撮像部を覆うことにより、撮影レンズ103、シャッター101、撮像部22を含む撮像系の汚れや破損を防止する。
12はタイミング発生部であり、撮像部22、音声制御部11、A/D変換器23、D/A変換器13にクロック信号や制御信号を供給する。タイミング発生部12は、メモリ制御部15及びシステム制御部50により制御される。24は画像処理部であり、A/D変換器23からのデータ、又は、メモリ制御部15からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部24では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部50が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部24では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
A/D変換器23からの出力データは、画像処理部24及びメモリ制御部15を介して、或いは、直接メモリ制御部15を介して、メモリ32に書き込まれる。メモリ32は、撮像部22によって得られA/D変換器23によりデジタルデータに変換された画像データや、画像表示部28に表示するための画像データを格納する。尚、メモリ32は、マイク10において録音された音声データ、静止画像、動画像および画像ファイルを構成する場合のファイルヘッダを格納するのにも用いられる。従って、メモリ32は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
圧縮/伸張部16は、適応離散コサイン変換(ADCT)等により画像データを圧縮、伸張する。圧縮/伸張部16は、シャッター101をトリガにしてメモリ32に格納された撮影画像を読み込んで圧縮処理を行い、処理を終えたデータをメモリ32に書き込む。また、記録媒体200の記録部19などからメモリ32に読み込まれた圧縮画像に対して伸張処理を行い、処理を終えたデータをメモリ32に書き込む。圧縮/伸張部16によりメモリ32に書き込まれた画像データは、システム制御部50のファイル部においてファイル化され、インターフェース18を介して記録媒体200に記録される。また、メモリ32は画像表示用のメモリ(ビデオメモリ)を兼ねている。13はD/A変換器であり、メモリ32に格納されている画像表示用のデータをアナログ信号に変換して画像表示部28に供給する。28は画像表示部であり、LCD等の表示器上に、A/D変換器23からのアナログ信号に応じた表示を行う。こうして、メモリ32に書き込まれた表示用の画像データはD/A変換器13を介して画像表示部28により表示される。
10はマイクである。マイク10から出力された音声信号は、アンプ等で構成される音声制御部11を介してA/D変換器23に供給され、A/D変換器23においてデジタル信号に変換された後、メモリ制御部15によってメモリ32に格納される。一方、記録媒体200に記録されている音声データは、メモリ32に読み込まれた後、D/A変換器13によりアナログ信号に変換される。音声制御部11は、このアナログ信号によりスピーカ39を駆動し、音声出力する。
不揮発性メモリ56は電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ56には、システム制御部50の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施例にて後述する各種フローチャートを実行するためのプログラムのことである。
50はシステム制御部であり、デジタルカメラ100全体を制御する。システム制御部50は、上述した不揮発性メモリ56に記録されたプログラムを実行することで、後述する本実施例の各処理を実現する。52はシステムメモリであり、RAMが用いられる。システムメモリ52には、システム制御部50の動作用の定数、変数、不揮発性メモリ56から読み出したプログラム等を展開する。
モード切替スイッチ60、第1シャッタースイッチ62、第2シャッタースイッチ64、操作部70はシステム制御部50に各種の動作指示を入力するための操作手段である。
モード切替スイッチ60は、システム制御部50の動作モードを静止画記録モード、動画記録モード、再生モード等のいずれかに切り替えることができる。第1シャッタースイッチ62は、デジタルカメラ100に設けられたシャッターボタン61の操作途中(半押し)でONとなり第1シャッタースイッチ信号SW1を発生する。システム制御部50は、第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作を開始する。
第2シャッタースイッチ64は、シャッターボタン61の操作完了(全押し)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部50は、第2シャッタースイッチ信号SW2により、撮像部22からの信号読み出しから記録媒体200に画像データを書き込むまでの一連の撮影処理の動作を開始する。
操作部70の各操作部材は、画像表示部28に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種設定が可能なメニュー画面が画像表示部28に表示される。利用者は、画像表示部28に表示されたメニュー画面と、4方向ボタンやSETボタンとを用いて直感的に各種設定を行うことができる。電源スイッチ72は、電源オン、電源オフを切り替える。
80は電源制御部であり、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部80は、その検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体200を含む各部へ供給する。
30は電源部であり、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。33及び34はコネクタであり、電源部30と電源制御部80とを接続する。
40はRTC(Real Time Clock)であり、日付及び時刻を計時する。RTC40は、電源制御部80とは別に内部に電源部を保持しており、電源部30が落ちた状態であっても、計時状態を続ける。システム制御部50は起動時にRTC40より取得した日時を用いてシステムタイマを設定し、タイマ制御を実行する。
18はメモリカードやハードディスク等の記録媒体200とのインターフェースである。35は該記録媒体200とインターフェース18との接続のためのコネクタである。98は記録媒体着脱検知部であり、コネクタ35に記録媒体200が装着されているか否かを検知する。
200はメモリカードやハードディスク等の記録媒体である。記録媒体200は、半導体メモリや磁気ディスク等から構成される記録部19、デジタルカメラ100とのインターフェース37、及び、記録媒体200とデジタルカメラ100とを接続するためのコネクタ36を備えている。
通信部110は、RS232CやUSB、IEEE1394、P1284、SCSI、モデム、LAN、無線通信、等の各種通信処理を行う。コネクタ(無線通信の場合はアンテナ)112は、通信部110を介してデジタルカメラ100を他の機器と接続する。
[デジタルカメラ100の全体的な動作]
図2は、本実施例のデジタルカメラ100の全体的な動作を説明するフローチャートである。
電源スイッチ72が操作され電源がオンに切り替わると、ステップS201においてシステム制御部50はフラグや制御変数等を初期化する。続いて、ステップS202において、記録媒体200に記録されているファイルに関する管理処理を開始する。
次に、ステップS203、S205、S207において、システム制御部50は、モード切替スイッチ60の設定位置を判断する。静止画記録モードに設定されていたならば処理はステップS203からステップS204へ進み、静止画記録モード処理を実行する。ステップS204の静止画記録モード処理の詳細は図3を用いて後述する。モード切替スイッチ60が動画記録モードに設定されていたならば、処理はステップS203、S205を経てステップS206へ進み、動画記録モード処理を実行する。また、モード切替スイッチ60が再生モードに設定されていた場合、処理はステップS203、S205、S207を経てステップS208へ進み、再生モード処理を実行する。ステップS208の再生モード処理は図6を用いて後述する。
また、その他のモードに設定されていた場合、処理はステップS209へ進み、システム制御部50は選択されたモードに応じた処理を実行する。その他のモードとしては例えば記録媒体200に格納されたファイルの送信を行う送信モード処理、外部機器からファイルを受信して記録媒体200に格納する受信モード処理が含まれる。
ステップS204、S206、S208、S209のうちのモード切替スイッチ60によって設定されたモードに対応した処理を実行した後、処理はステップS210へ進む。ステップS210において、システム制御部50は電源スイッチ72の設定位置を判断する。電源スイッチ72が電源オンに設定されていれば、ステップS203に処理を戻す。一方、電源スイッチ72が電源オフに設定されていたならば、処理はステップS210からステップS211へ進み、制御部50は終了処理を行う。終了処理には、例えば以下の処理が含まれる。すなわち、画像表示部28の表示を終了状態に変更し、レンズバリア102を閉じて撮像部を保護し、フラグや制御変数等を含むパラメータや設定値、設定モードを不揮発性メモリ56に記録し、電源供給が不要な部分への電源を遮断する。ステップS311の終了処理が完了すると、本処理を終了し、電源をOFF状態へ移行する。
[静止画記録モード]
図3は、図2のステップS204における静止画記録モード処理を示すフローチャートである。尚、図3に示される静止画記録モード処理は、モード切替スイッチ60により他のモードへの切替が行われた場合や電源スイッチ72がOFFにセットされた場合に、割り込み処理等により終了するものとする。
システム制御部50は、静止画記録モードを開始すると、ステップS301において撮影モードを確定する。撮影モードの確定は、
(1)不揮発性メモリ56より前回の静止画記録モード終了時における撮影モードを取得してシステムメモリ52に格納する、或は、
(2)ユーザにより操作部70が操作されて撮影モードの設定入力があった場合に、その設定入力された撮影モードをシステムメモリ52に格納する、ことでなされる。ここで、撮影モードとは撮影シーンに適したシャッター速度や絞り値、ストロボ発光状態、感度設定等を組み合わせて実現されるモードのことである。本実施例のデジタルカメラ100は以下のような撮影モードを有する。
・オートモード:カメラの各種パラメータが、計測された露出値に基づいてデジタルカメラ100に組み込まれたプログラムにより自動的に決定されるモード、
・マニュアルモード:カメラの各種パラメータをユーザが自由に変更可能なモード、
・シーンモード:撮影シーンに適したシャッター速度や絞り値、ストロボ発光状態、感度設定等の組み合わせが自動で設定される。
尚、シーンモードには以下のようなモードが含まれる。
・ポートレートモード:背景をぼかして人物を浮き立たせるようにして人物撮影に特化したモード、
・夜景モード:人物にストロボ光をあて背景を遅いシャッター速度で記録する、夜景シーンに特化したモード、
・風景モード:広がりのある風景シーンに特化したモード、
・ナイト&スナップモード:三脚なしで夜景と人物をきれいに撮るのに適したモード、
・キッズ&ペットモード:よく動き回る子供やペットをシャッターチャンスを逃さず撮影可能にしたモード、
・新緑&紅葉モード:新緑等の木々や葉を色鮮やかに撮影するのに適したモード、
・パーティーモード:蛍光灯や電球のもとで、手振れを抑えて被写体に忠実な色味で撮影するモード、
・スノーモード:雪景色をバックにしても人物が暗くならず、青みも残さず撮影するモード、
・ビーチモード:太陽光の反射の強い海面や砂浜でも、人物などが暗くならずに撮影可能なモード、
・花火モード:打ち上げ花火を最適な露出で鮮やかに撮影するためのモード
・水族館モード:屋内の水槽内の魚などを撮影するのに適した感度、ホワイトバランス、色味を設定するモード、
・水中モード:水中に最適なホワイトバランスに設定し、青みを押さえた色合いで撮影するモード。
ステップS402において、システム制御部50は、ステップS301において撮影モードが確定すると、続いて撮像部22からの画像データを表示するスルー表示を行う。続いて、ステップS303において、システム制御部50は,電源制御部80を用いて電池等により構成される残容量や、記録媒体200の有無や残容量がデジタルカメラ100の動作に問題があるか否かを判定する。問題があるならば、ステップS304において、画像表示部28を用いて画像や音声により所定の警告表示を行い、処理をステップS301に戻す。
記録媒体200の状態に問題が無いならば、ステップS305において、システム制御部50は、必要に応じて分類情報の自動付与入/切設定を行う。自動付与入/切設定は、操作部70に含まれるメニューボタンを押すことで画像表示部28に表示されるメニュー画面(不図示)によりユーザが任意に設定可能である。分類情報の自動付与入/切設定は、シーンモードならびに被写体条件により分類情報を自動付与するか否かのフラグであり、設定値(フラグのON/OFF値)はシステムメモリ52において保持される。このように分類情報の自動付与入/切設定を持たせることで、ユーザによって意図しない分類情報が付与されることを時々に応じて防止することが可能となる。尚、分類情報については後述する。
続いて、ステップS306において、システム制御部50は、スルー表示される画像信号中に人の顔が存在するか否かを検知する顔検出を行う。この顔検出処理については図4を用いて後述する。システム制御部50は、顔検出処理において人の顔が検出された場合、画像信号中において検出した顔の位置座標、サイズ(幅、高さ)、検出個数、信頼性係数等を顔情報としてシステムメモリ52に記憶する。顔検出処理において顔が検出されなかった場合はシステムメモリ52内の位置座標、サイズ(幅、高さ)、検出個数、信頼性係数等の領域に0を設定する。
続いてステップS307において、システム制御部50は、第1シャッタースイッチ信号SW1がONしているか否かを判定する。第1シャッタースイッチ信号SW1がOFFの場合は、処理はステップS305に戻り、上記ステップS305、S306を繰り返す。一方、第1シャッタースイッチ信号SW1がONの場合は、ステップS308に進む。ステップS308において、システム制御部50は、測距処理を行って撮影レンズ103の焦点を被写体に合わせるとともに、測光処理を行って絞り値及びシャッター時間(シャッタースピード)を決定する。尚、測光処理において、必要であればフラッシュの設定も行われる。また、検出した顔の範囲で測距を行う顔優先AFが事前に設定されている場合、ステップS306において顔が検出されていれば検出した顔の範囲で測距を行う。
次に、ステップS309、S310では、第1シャッタースイッチ信号SW1と第2シャッタースイッチ信号SW2のON/OFF状態を判定する。第1シャッタースイッチ信号SW1がONした状態で第2シャッタースイッチ信号SW2がONになると、処理はステップS309からステップS311へ進む。第1シャッタースイッチ信号SW1がOFFになると(第2シャッタースイッチ信号SW2がONせずに、更に第1シャッタースイッチ信号SW1も解除された場合)、処理はステップS310からステップS305へ戻る。また、第1シャッタースイッチ信号SW1がON、第2シャッタースイッチ信号SW2がOFFの間は、ステップS309,S310の処理が繰り返される。
第2シャッタースイッチSW2が押されると、ステップS311において、システム制御部50は、画像表示部28の表示状態をスルー表示から固定色表示状態に設定する。そして、ステップS312において、システム制御部50は、露光処理や現像処理を含む撮影処理を実行する。尚、露光処理では、A/D変換器23を経て得られた画像データ、或いはA/D変換器23から直接メモリ32に書き込まれる。また、現像処理では、システム制御部50が、必要に応じてメモリ32に書き込まれた画像データを読み出して各種処理を行う。この撮影処理の詳細は図5を用いて後述する。
次に、システム制御部50は、ステップS313において、画像表示部28に対し撮影処理で得られた画像データのレックレビュー表示を行う。レックレビューとは、撮影画像の確認のために、被写体の撮影後記録媒体への記録前に、予め決められた時間(レビュー時間)だけ画像データを画像表示部28に表示する処理である。このレックレビュー処理の詳細は図7を用いて後述する。レックレビュー表示後、ステップS314において、システム制御部50は撮影処理で得られた画像データを画像ファイルとして記録媒体200に対して書き込む記録処理を実行する。
ステップS314の記録処理が終了すると、ステップS315において、システム制御部50は、第2シャッタースイッチ信号SW2のON/OFF状態を判定する。第2シャッタースイッチ信号SW2がONの場合は、ステップS315の判定を繰り返し、第2シャッタースイッチ信号SW2がOFFになるのを待つ。この間、上記レックレビューの表示を継続させる。即ち、ステップS414の記録処理が終了した際に、第2シャッタースイッチ信号SW2が放されるまで画像表示部28におけるレックレビュー表示を継続させる。このように構成することにより、ユーザは、シャッターボタン61の全押し状態を継続することで、レックレビューを用いた撮影画像データの確認を入念に行うことが可能となる。
ユーザがシャッターボタン61を全押し状態にして撮影を行った後、シャッターボタン61から手を放すなどして全押し状態が解除されると、処理はステップS315からステップS316へ進む。ステップS316において、システム制御部50は、予め定められたレビュー時間が経過したか否かを判断し、レビュー時間が経過していればステップS317に進む。ステップS317において、システム制御部50は、画像表示部28の表示状態をレックレビュー表示からスルー表示状態に戻す。この処理により、レックレビュー表示によって撮影画像データを確認した後、画像表示部28の表示状態は次の撮影のために撮像部22からの画像データを逐次表示するスルー表示状態に自動的に切り替わることになる。
そして、ステップS318において、システム制御部50は、第1シャッタースイッチ信号SW1のON/OFFを判定し、第1シャッタースイッチ信号SW1がONの場合はステップS309へ、OFFの場合はステップS305へ処理を戻す。即ち、シャッターボタン61の半押し状態が継続している(第1シャッタースイッチ信号SW1がON)場合は、システム制御部50は次の撮影に備える(ステップS309)。一方、シャッターボタン61が放された状態(第1シャッタースイッチ信号SW1がOFF)であったならば、システム制御部50は、一連の撮影動作を終えて撮影待機状態に戻る(ステップS305)。
[顔検出]
次に、図3のステップS306の顔検出処理の一例を、図4を用いて説明する。ステップS401において、システム制御部50は顔検出対象の画像データを画像処理部24に送る。ステップS402において、システム制御部50の制御下で画像処理部24は、当該画像データに水平方向バンドパスフィルタを作用させる。また、ステップS403において、システム制御部50の制御下で画像処理部24は、ステップS402で処理された画像データに垂直方向バンドパスフィルタを作用させる。これら水平及び垂直方向のバンドパスフィルタにより、画像データよりエッジ成分が検出される。
その後、ステップS404において、システム制御部50は、検出されたエッジ成分に関してパターンマッチングを行い、目及び鼻、口、耳の候補群を抽出する。そして、ステップS405において、システム制御部50は、ステップS404で抽出された目の候補群の中から、予め設定された条件(例えば2つの目の距離、傾き等)を満たすものを、目の対と判断し、目の対があるもののみ目の候補群として絞り込む。そして、ステップS406において、システム制御部50は、ステップS405で絞り込まれた目の候補群とそれに対応する顔を形成する他のパーツ(鼻、口、耳)を対応付け、また、予め設定した非顔条件フィルタを通すことで、顔を検出する。ステップS407において、システム制御部50は、ステップS406による顔の検出結果に応じて上記顔情報を出力し、処理を終了する。このとき、顔の数などの特徴量をシステムメモリ52に記憶する。
以上のようにスルー表示で表示される画像データを用いて、画像データの特徴量を抽出して被写体情報を検出することが可能である。本実施例では被写体情報として顔情報を例に挙げたが、被写体情報には他にも赤目判定等の様々な情報がある。
[撮影]
図5は、図3のステップS312における撮影処理を示すフローチャートである。
ステップS501において、システム制御部50は、撮影開始時にその日時をシステムタイマより取得し、システムメモリ52に記憶する。続いて、ステップS502において、システムメモリ52に記憶されている測光データに従い、絞り機能を有するシャッター101を絞り値に応じて開放する。こうして、露光が開始される(ステップS503)。
ステップS504において、システム制御部50は、測光データに従って撮像部22の露光終了を待つ。露光終了時刻に到達すると、ステップS505において、システム制御部50はシャッター101を閉じる。そして、ステップS506において、撮像部22から電荷信号を読み出し、A/D変換器23、或いはA/D変換器23から直接メモリ32に画像データを書き込む。以上、ステップS501〜S506が露光処理に対応する。
続いて、ステップS507において、システム制御部50は必要に応じて、メモリ32に書き込まれた画像データを読み出して画像処理を順次施す。この画像処理は、例えば、ホワイトバランス処理や、圧縮/伸張部16を用いた圧縮処理等が含まれる。処理を終えた画像データはメモリ32に書き込まれる。そして、ステップS508において、システム制御部50は、メモリ32から画像データを読み出し、これを圧縮/伸張部16を用いて伸張し、画像表示部28の表示用にリサイズする。そして、リサイズされた画像データを画像表示部28に表示するべくD/A変換器13に転送する。一連の処理を終えたならば、撮影処理を終了する。
[再生モードの動作]
図6は、本実施例のデジタルカメラ100の再生モードの動作を説明するフローチャートである。図6のフローチャートは、図2のステップS208の詳細を示している。
ステップS601において、システム制御部50は、記録媒体200から最新画像情報を取得する。最新画像情報の取得を総枚数計算や検索リスト作成よりも先に行うことで、再生モードに入るとすばやくそれらの処理の画像表示ができるというメリットがある。ステップS602において、システム制御部50は、ステップS601における最新画像情報の取得が正しく行われたかどうかをチェックする。最新画像情報を取得できなかった場合、処理はステップS609に進む。ステップS609において、システム制御部50は、画像なし時の入力待ち状態となる。尚、最新画像情報を取得できない場合とは、画像が一枚もないような状態や、メディア不良によって画像情報が取得できなかったような状態等が考えられる。最新画像情報が取得できれば、少なくとも画像が1枚は存在すると判断され、処理はステップS603へ進む。
ステップS603において、システム制御部50は、ステップS601で取得した最新画像情報を元に記録媒体200から最新画像データを読み込む。そして、ステップS604において、システム制御部50は、ファイル解析処理を行い、読み込んだ最新画像データにおける画像の撮影情報や属性情報等を取得する。ステップS605において、システム制御部50は、読み込んだ最新画像データを表示する。さらに、このとき、ステップS604で取得された撮影情報や属性情報等も表示する。また、ステップS604のファイル解析結果に応じて、ファイルの一部が壊れているなど不正なデータということがわかればエラー表示も合わせて行われる。
ステップS606において、システム制御部50は、記録媒体200に記録されている画像の総枚数取得処理を開始する。このステップS606の処理はバックグランドで稼動し、その完了を待たずに次の処理に進むことができる。このようにすることで、多くの画像データが記録媒体200に納められており、総枚数計算に時間がかかるような場合でも、総枚数の計算の完了を待たずに画像を閲覧することが可能になる。この処理は、記録モードから再生モードに移行した際に、記録モードで新たに画像データが記録、或いは削除され、総枚数に違いが発生した場合に特に有効な処理である。記録モードで新たに画像データが記録或いは削除されていない場合には、既に計算済みの総枚数を利用するため、総枚数計算の処理は行わなくても良い。
次に、ステップS607において、システム制御部50は、検索リストの作成を開始する。検索リストとは画像データに付与された属性情報を予め取得し管理するリストである。予め検索リストを作っておくことで属性ごとの再生や消去といった処理を迅速に行うことが可能となる。検索リスト作成処理も総枚数計算同様にバックグランドで実行されるので、その完了を待たずに次の処理を実行させることができる。ステップS608において、システム制御部50は、入力待ち状態に入る。この入力待ち状態における処理は図10のフローチャートにより後述する。
[レックレビュー表示]
図7は、図3のステップS313におけるレックレビュー表示処理を示すフローチャートである。尚、図7に示されるレックレビュー表示処理は、システム制御部50は、ステップS701においてシステムメモリ52に一時記憶されているレビュー時間を取得する。レビュー時間が0秒の場合は、レックレビュー表示処理を終了する(ステップS702)。
ステップS703において、システム制御部50は、システムメモリ52に一時記憶されているレビューモードを取得する。レビューモードが通常表示の場合(ステップS704)は、システム制御部50はメモリ制御部15を介し、メモリ32に格納されている撮影画像のみを画像表示部28に表示する(ステップS708)。
レビューモードが詳細表示の場合(ステップS705)は、システム制御部50はメモリ制御部15を介し、メモリ32に格納されている撮影画像と撮影画像に付帯する撮影情報を画像表示部28に表示する(ステップS707)。
通常表示及び詳細表示でない場合は、ピント確認表示を画像表示部28に表示する(ステップS706)。このピント確認処理については図9を用いて後述する。
ステップS709において、レビュー表示中に撮影画像全体を表示する全体表示領域を大きく表示する状態と、撮影画像の一部を表示する拡大表示領域を大きく表示する状態が切り替え可能である。このレビューモード切替処理については図8を用いて後述する。
ステップS710において、レビュー時間を監視しレビュー時間が経過したらレビューを停止する(ステップS712)。レビュー時間が経過しない場合でもSW1または、SW2が押下場合は、レビューを終了し次の撮影準備を開始する。
[レビューモード切替え]
図8は、図7のステップS709におけるレビューモード切替処理を示すフローチャートである。
図8に示すレビューモード切替処理により、表示部28は図14の14−(a)に示す表示状態となる(ステップS801)。具体的には、撮影画像全体を表示する全体表示領域を画面の左上に表示し、画面の右下には、撮影画像の一部を表示する拡大表示領域を、画面の左上に表示される全体表示領域よりも小さく表示する。
次に、ズームレバーがテレ側に押されたとき(ステップS802)は、図14の14−(b)に示すように、画面の左上に表示される全体表示領域を小さく、右下に表示される拡大表示領域が大きく表示される(ステップS804)。尚、拡大表示領域に表示される画像が人の顔、登録済みのオブジェクト等、領域を特定できるものに関しては、倍率を記憶せず特定領域で拡大することも可能である。また、再生モードにおいて、ズームレバーがワイド側に押されたときに(ステップS803)、画像表示部28に複数の静止画画像を表示する(ステップS805)。
画面の右下に表示される拡大表示領域が大きく表示されている状態で、ズームレバーがテレ側に押されたとき(ステップS806)、当該領域に表示される画像の表示倍率を上げる(ステップS811)。このときの画像表示部28の表示例を図14の14−(c)に示す。
また、画面の右下に表示される拡大表示領域が大きく表示されている状態で、ズームレバーがワイド側に押されたとき(ステップS807)、表示倍率が最低倍率か確認する(ステップS809)。最低倍率のときは、表示倍率を記憶し(ステップS812)、ステップS801の処理に戻る。最低倍率でないときは、画像の表示倍率を下げる(ステップS810)。
画面の右下に表示される拡大表示領域が大きく表示されている状態で、MENU釦が押された場合(ステップS808)、現在の表示倍率を記憶し、ステップS801の処理に戻る。尚、表示倍率の記憶は、システムメモリ52でカメラ起動中のみの一時記憶としても良いし、不揮発性メモリ56に記憶し次回起動時にも表示倍率を有効にしても良い。
以上説明したように、ズームレバーとMENU釦のみで、撮影画像とその一部の拡大画像の表示倍率の切り替え、および拡大表示の倍率変更、表示倍率の記憶を簡便に行うことが可能となる。
また、MENU釦等の所定の操作部材が操作されたときにのみ、画像の表示倍率を記憶し、次の再生の際に、その表示倍率から表示することができるので、操作者にとって使い勝手の良いレビューモードを提供することができる。
また、操作部材はズームレバー、MENU釦に限らない。MENU釦は、DISP釦等の他の釦でも良い。
また、画面の右下に表示される画像が大きく表示されている状態で画像送りを行った場合、左上の撮影画像を大きくする表示状態(図14の14−(a))に戻っても良いし、その状態を維持して画像送りをしても良い。その状態を維持して画像送りをした場合は、最初の表示する枠で拡大しても良いし、拡大座標位置を固定したままで画像送りしても良い。連写モードで撮影した画像等の撮影条件に応じて、この切り替えを行うことも可能である。
[ピント確認]
図9は、図7のステップS706におけるピント確認処理を示すフローチャートである。
ステップS901ではまず、システムメモリ52から画像に関連する合焦枠情報と顔情報を取得し、取得した合焦枠情報と顔情報に基づいて、合焦枠の総数を合焦枠数I、顔の総数を顔枠数Jとする。この時点において、I個の合焦枠とJ個の顔枠について、それぞれ合焦枠1>合焦枠2>・・・>合焦枠I、顔枠1>顔枠2>・・・>顔枠Jの順に順位付けがなされているものとする。順位付けの指標としては例えば、合焦枠についてはAF評価値の高い順、顔枠については大きくかつ中央に近い順などが挙げられる。もちろん、順位付けの指標についてはこれに限定するものではない。
ステップS902では、合焦枠数Iが0より大きいか、すなわち画像に合焦した場所があるか否かを判定する。合焦した場所がある(合焦枠数I>0)と判定されるとS903に進み、合焦した場所がないと判定されるとS908に進む。
ステップS903では顔優先AFを実行したか否かを判定する。顔優先AFを実行していないと判定された場合はステップS904に進み、顔優先AFを実行したと判定されるとステップS906に進む。
ステップS904ではレックレビュー中の画像のうち拡大すべき範囲を決定する。ここでは合焦枠の中心を中心としてレックレビュー中の画像全体の大きさに対して一定の割合の大きさとなる範囲を拡大すべき範囲として決定する。合焦枠が複数存在する場合は、ステップS901で設定した順位付けにもとづいて、順位の一番高い合焦枠1について拡大すべき範囲を決定する。なお拡大すべき範囲としては、ここで述べた例以外にユーザが予め任意に設定している範囲や、ピクセル等倍にして合焦枠の中心から後述する拡大表示領域に収まる範囲などでも良い。ユーザが予め任意に設定する範囲としては、画像全体の大きさに対する相対的な割合の範囲でもよいし、ピクセルに対する倍率で示される範囲でも良い。顔優先AF以外のAF方法によって撮影された画像は、撮影者が人物の顔以外の被写体に注目して測距を行った画像であるが、合焦枠の大きさは固定であり、撮影者が注目した被写体の領域全体を示すものではない。そのため合焦枠の大きさ自体には撮影者の意図は反映されていないと考え、合焦枠の示す範囲全体に限らず、合焦枠中央部分から一定範囲を拡大すべき範囲と決定する。これによって合焦枠内の被写体が合焦しているか否かを詳細に確認可能に表示する。
ステップS905では画像全体と共に、ステップS904で決まったレックレビュー中の画像のうち拡大すべき範囲を拡大表示領域に収まるように拡大して表示する。
図15(a)にステップS905での表示例を示す。全体表示領域1501にはレックレビュー中の画像の全体を認識可能に表示する。全体表示領域1501に表示された全体画像に重畳して表示されている合焦枠1502はレックレビュー中の画像のうち図3のステップS308で測距した際に合焦した領域を示している。合焦枠が複数存在する場合は、合焦枠1のみを表示したり、複数の合焦枠を全て表示して合焦枠1の色を他の合焦枠と変えるなどして表示してもよい。同じく全体画像に重畳表示されている部分拡大枠1503は、ステップS904で決定した範囲の枠であり、全体画像のうち拡大表示領域1505に表示されている部分の範囲を示している。顔枠1504はシステムメモリ52に記録されている撮影時の顔検出で検出された顔情報にもとづいて得られる顔枠1〜Jを示している。拡大表示領域1505では全体表示領域1501に表示された画像のうち、部分拡大枠1503で示された範囲が拡大表示領域1505に収まるように拡大して表示している。合焦枠1502、部分拡大枠1503、顔枠1504は、それぞれ異なる色で表示することにより各枠の意味が識別できるような表示となっている。このような表示をすることで、ユーザはレックレビュー中の画像の全体と、レックレビュー中の画像のどの部分で測距したか、測距した位置でどの程度合焦しているのかを素早く確認することができる。
ステップS906では、レックレビュー中の画像のうち拡大すべき範囲として、合焦枠1に含まれる顔の全体が含まれる範囲を決定する。顔優先AFによって撮影された画像はユーザが人物の顔に特に注目して撮影した可能性の高い画像である。そのため、注目被写体である人物の顔の確認が詳細に行えるよう、合焦枠1に含まれる顔の全体が含まれるはんいを拡大すべき範囲と決定する。
具体的には、合焦枠1あるいは合焦枠1で顔優先AF時に測距を行った部分の顔についての顔情報で示される顔の領域を拡大/縮小した範囲を拡大すべき範囲として決定する。ここでの合焦枠1は顔優先AFした合焦枠であるため、ほとんどの場合は合焦枠内に顔が含まれている。そこで、合焦枠1に含まれる顔の全体が確認できるように拡大すべき範囲を決定する。図4で説明した顔検出処理では顔の目及び鼻、口、耳の候補群の抽出を元に顔領域を判定している。したがって判定に用いられないその他の顔部分(例えば輪郭や髪の毛の部分など)を含む実際の顔全体を表す領域は必ずしも顔情報によって示される顔の領域に含まれるものではない。そこで、顔情報で示される顔の領域を顔の全体を含むように特定の倍率で拡大した範囲を拡大すべき範囲として決定するという処理を行っている。
図15(c)にその例を示す。顔検出処理で得られる顔情報で示される顔の領域1506は、顔検出処理の判定に用いられる部分のみを示しているため、実際の顔の全体より狭くなっている。このため、顔情報で示される顔の領域1506を顔の全体を含むように特定の倍率で拡大した範囲を拡大すべき範囲として決定する。この拡大すべき範囲は後述するステップS907で部分拡大枠1503として表示される。なお、顔優先AFによる合焦枠である合焦枠1502も顔情報で示される顔の領域1506を基に大きさを決定しているため、顔情報で示される顔の領域1506に変えて合焦枠1502から拡大すべき範囲を決定してもよい。拡大すべき範囲を決定するための拡大/縮小率は、顔検出処理が顔のどの部分を基に顔領域を判定しているかによるので、顔検出のアルゴリズム依存の値である。
ステップS907では画像全体と共に、ステップS906で決まったレックレビュー中の画像のうち合焦枠1に含まれる顔の全体が含まれる領域を拡大表示領域に収まるように拡大/縮小して表示する。
図15(b)にステップS907での表示例を示す。全体表示領域1501、合焦枠1502、顔枠1504は図15(a)と同様である。なお、本実施例では顔AFした合焦枠は顔枠1の範囲と一致するので、顔枠1の表示については合焦枠1502の表示で代用する。部分拡大枠1503は、ステップS906で決定した範囲の枠であり、全体画像のうち拡大表示領域1505に表示されている部分の範囲を示している。図15(a)と異なり、この部分拡大枠1503は前述したように合焦枠1に含まれる顔の全体が含まれる範囲である。拡大表示領域1505では全体表示領域1501に表示された画像のうち、部分拡大枠1503で示された範囲が収まるように拡大して表示している。なおこの例では拡大表示となっているが、全体表示領域1501で表示された画像の合焦枠1に含まれる顔の全体の領域が拡大表示領域1505より大きい場合は縮小して表示されることとなる。このような表示をすることにより、ユーザはレックレビュー中の画像の全体と、レックレビュー中の画像のどの人物が合焦したか、また合焦した人物の表情などを素早く確認することができる。すなわち、撮影の際にユーザが注目した被写体である「人物」に特化した確認が可能となっている。
ステップS908では顔枠数Jが0より大きいか、すなわち画像に顔が存在するか否かを判定する。顔が存在する(顔枠数J>0)と判定されるとステップS909に進み、顔が存在しないと判定されるとステップS911に進む。
ステップS909ではステップS901で設定した顔枠1について、顔情報で示される顔の領域を拡大/縮小して求めた範囲を拡大すべき範囲として決定する。顔情報で示される顔の領域を拡大/縮小して拡大すべき範囲を決定する理由と方法は図15(c)を用いて前述したとおりである。
ステップS910では顔枠1〜Jを示す顔枠とステップS909で決定した拡大すべき範囲を部分拡大枠として全体表示領域に重畳表示する。また、部分拡大枠が示す領域を拡大表示領域に収まる倍率で拡大/縮小して画像全体と共に表示する。
ステップS911では画像の中央から画像全体の大きさに対して一定の割合の大きさとなる範囲を拡大すべき範囲として決定する。
ステップS912ではステップS911で決定した拡大すべき範囲を部分拡大枠として全体表示領域に重畳表示する。また、部分拡大枠が示す領域を拡大表示領域に収まる倍率で拡大/縮小して画像全体と共に表示する。この場合は合焦枠も顔枠も存在しないため、全体表示領域には部分拡大枠のみが重畳表示される。
ステップS905、ステップS907、ステップS910、ステップS912の表示を終えると、ステップS913でレックレビュー中に可能なその他の操作を受け付けた後、ピント確認処理を終了する。
[再生モード処理における入力待ち]
図10は、再生モード処理における入力待ち状態の処理を説明するフローチャートである。
ステップS1001において、システム制御部50は、ユーザによる操作入力があるかどうかをチェックする。ここでいう操作入力とは、ユーザによるボタン、電池蓋に対する操作や、電源の低下などを知らせるイベントなどが含まれる。何も入力がなければ入力があるまで待つ。何らかの操作入力があった場合、処理はステップS1002へ進む。
ステップS1002において、システム制御部50は、当該操作入力が操作部70に含まれる画像送りボタンの入力かどうかを判定する。操作入力が画像送りボタンであった場合、処理はステップS1003へ進み、システム制御部50は次の表示画像を読み込む。画像送りのボタンは送り方向に応じた一対のボタンで構成されており、操作されたボタンに対応する送り方向に応じて次の表示画像が読み込まれることになる。次に、ステップS1004において、システム制御部50は、ステップS1003で読み込まれた画像データに対して撮影情報や属性情報などのファイル解析処理を行う。そして、ステップS1005において、システム制御部50は、ステップS1003で読み込んだ画像データの表示を行う。このとき、ステップS1004におけるファイル解析処理の結果を用いて、撮影情報や属性情報等を表示する。また、ステップS1004のファイル解析結果に応じて、ファイルの一部が壊れているなど不正なデータと判別された場合は、エラー表示も合わせて行う。表示が完了するとステップS1001の入力待ち状態へ戻る。
ステップS1002において入力が画像送りボタンではないと判定された場合、ステップS1006において、システム制御部50は、当該操作入力が終了ボタンかどうかを判定する。終了ボタンであると判定された場合、処理はステップS1007へ進み、システム制御部50は、検索リスト作成処理を終了する。ここでは、検索リストが作成途中ならばその作成処理を中断させ、既に作成が完了していれば何も行わない。次にステップS1008において、システム制御部50は、総画像枚数計算の終了処理を行う。この処理もステップS1007の処理同様、総枚数計算がまだ途中だったならばその計算処理を中断し、既に完了していれば何も行わない。そして、再生モード処理を終了し、図2のステップS210へ進む。
ステップS1006で操作入力が終了ボタンではないと判定された場合、処理はステップS1009へ進む。ステップS1009において、システム制御部50は、ステップS606(図6)で開始した総画像枚数計算の処理が完了しているかチェックする。そして、まだ完了していない場合はステップS1001の操作入力待ち状態へ戻る。このとき、まだ完了していない旨を伝えるメッセージやアイコン表示を行うことも考えられる。以上の処理により、画像送りボタンによる画像送り操作と終了ボタンによる終了操作は画像枚数計算の完了を待たずに実行されるが、他の操作入力理は総画像枚数計算処理が完了するまでは無視されることになる。
ステップS1009で総画像枚数が終了していると判定された場合、処理はステップS1010へ進む。ステップS1010において、システム制御部50は、操作部70の操作により分類情報設定メニューが選択されたかどうかを判定する。分類情報設定メニューが選択されたと判断された場合、処理はステップS1011へ進み、システム制御部50は分類情報設定モードの処理を実行する。ステップS1010において、分類情報設定メニューの選択ではなかった場合、処理はステップS1012へ進む。
ステップS1012において、システム制御部50は、当該操作入力が操作部70に含まれる消去ボタンの操作であるかどうかを調べる。消去ボタンの操作入力であると判定された場合、処理はステップS1013へ進む。ステップS1013において、システム制御部50は、現在画像表示部28に表示されている画像データの消去を実行する。画像データの消去が完了するとステップS1014において消去後の総枚数をチェックする。総枚数が0になっていた場合はステップS1015へ進み、画像なし時入力待ち状態へ移る。
一方、消去後に画像データが残っている場合はステップS1016へ進み、システム制御部50は、次の画像データを表示するべく、次の表示対象の画像データを読み込む。ここで表示対象となる画像データは、消去された画像データのファイル番号の次のファイル番号の画像データとする。尚、最新の画像データが消去された場合は、消去された画像データのファイル番号よりも1つ前のファイル番号の画像データを表示対象とする。ステップS1017において、システム制御部50は、ステップS1016で表示対象として読み込んだ画像データに対してファイル解析処理を行い、撮影情報や属性情報などを得る。そして、ステップS1018において、システム制御部50は、ステップS1016で読み込んだ画像データを画像表示部28に表示する。このとき、ステップS1017で取得された撮影情報や属性情報なども表示する。また、ステップS1017のファイル解析結果に応じて、ファイルの一部が壊れているなど不正なデータであると判定されたならば、その旨のエラー表示も行う。表示が完了するとステップS1001の操作入力待ち状態へ戻る。
ステップS1012において当該操作入力が消去ボタンでない場合、処理はステップS1019に進む。ステップS1019において、システム制御部50は、ステップS607(図6)で開始された検索リスト作成処理が完了しているかどうかをチェックする。まだ検索リスト作成処理が完了していない場合は、ステップS1001の操作入力待ち状態へ戻る。このとき、上述した総枚数計算が完了していないときと同様に、まだ検索リスト作成処理が完了していない旨を伝えるメッセージやアイコン表示を行うようにしてもよい。以上の処理により、上述した処理以外の操作入力理は総画像枚数計算処理が完了するまでは無視されることになる。ここで、上述した処理とは、画像送り操作(S1002〜S1005)、終了操作(S1006〜S1008)、分類情報設定モードの実行(S1010、S1011))及び画像消去操作(S1012〜S1018)である。
ステップS1019で検索リスト作成が完了していると判定された場合、処理はステップS1020へ進む。ステップS1020において、システム制御部50は、当該操作入力がジャンプ指示かどうかを判定する。操作入力がジャンプ指示であると判断された場合はステップS1021のジャンプモードへ遷移する。
操作入力がジャンプ指示でない場合、処理はステップS1022に進み、システム制御部50は、当該操作入力が選択操作か否かを判定する。操作入力が選択操作と判断された場合はステップS1023の選択操作へ遷移する。
操作入力が選択操作指示でない場合、処理はステップS1024に進み、システム制御部50は、当該操作入力が表示切替指示か否かを判定する。操作入力が表示切替指示と判断された場合はステップS1025の表示切替へ遷移する。この表示切替処理については図11を用いて後述する。
操作入力が表示切替指示でない場合、処理はステップS1026に進み、システム制御部50は、当該操作入力が顔確認指示か否かを判定する。操作入力が顔確認操作と判断された場合はステップS1027の顔確認処理へ遷移する。この顔確認処理については図13を用いて後述する。
ステップS1026で操作入力が顔確認指示ではないと判断された場合、処理はステップS1028へ進む。なお、顔ボタンのような顔確認指示用の操作部材が無い場合も同様にステップS1028に進む。ステップS1028ではそれ上記以外の操作入力に応じた処理を行う。たとえば、画像の編集処理や、マルチ再生への切り替えや、メニューボタンによるメニュー表示などである。尚、マルチ再生とは、画像データの縮小画像を画像表示部28の一画面に複数枚並べて表示する再生モードである。
[表示切替]
図11は、図10のステップS1025における表示切替処理を示すフローチャートである。
システム制御部50は、ステップS1101においてシステムメモリ52に一時記憶されている現在の表示モードを参照し、現在の表示モードが通常表示の場合は簡易表示処理を行う(ステップS1102)。簡易表示処理ではシステム制御部50はメモリ制御部15を介し、メモリ32に格納されている撮影画像に加えてファイル番号、日付などの一部の情報も画像表示部28に表示する。また、システムメモリ52に一時記憶されている現在の表示モードを簡易表示に更新する。通常表示中でない場合は(ステップS1102)、ステップS1103に進む。
ステップS1103において、システム制御部50は、システムメモリ52に一時記憶されている現在の表示モードを参照し、現在の表示モードが簡易表示の場合は詳細表示処理を行う(ステップS1104)。詳細表示処理ではシステム制御部50はメモリ制御部15を介し、メモリ32に格納されている撮影画像、ステップS1102の簡易表示処理で表示する簡易情報に加えて、露出やヒストグラムなど詳細な撮影情報も合わせて画像表示部28に表示する。また、システムメモリ52に一時記憶されている現在の表示モードを詳細表示に更新する。簡易表示中でない場合は(ステップS1103)、ステップS1105に進む。
ステップS1105において、システム制御部50は、システムメモリ52に一時記憶されている現在の表示モードを参照し、現在の表示モードが詳細表示の場合は現在再生している画像がピント確認処理に対応しているか否かを判断する(ステップS1106)。ピント確認処理に対応していない画像としては、認識できない画像、動画などが挙げられる。ステップS1106において再生画像がピント確認処理に対応していると判断された場合は再生ピント確認処理に進む(ステップS1107)。この再生ピント確認処理については図12を用いて後述する。
ステップS1105において現在の表示モードが詳細表示でなかった場合、およびステップS1106において再生画像がピント確認処理に対応していないと判断された場合には、システム制御部50は通常表示処理を行う(ステップS1108)。通常表示処理では、システム制御部50はメモリ制御部15を介し、メモリ32に格納されている撮影画像のみを画像表示部28に表示する。また、システムメモリ52に一時記憶されている現在の表示モードを通常表示に更新する。
[再生ピント確認]
図12は、図11のステップS1107における再生ピント確認処理を示すフローチャートである。
ステップS1201ではまず、メモリ32に格納されている再生中の画像に対して図4で前述した顔検出処理を行う。
ステップS1202では、検出された顔の領域と合焦枠の領域の関連度を計算する。計算結果に基づいて、関連度が高い場合はジャンプ対象を変更する。この領域関連度の計算処理については図18を用いて後述する。なおこの際、ステップS1201において検出された顔の総数を顔枠数J、再生中の撮影画像の付加情報を参照して得られる合焦枠の総数を合焦枠数Iとする。この時点において、I個の合焦枠とJ個の顔枠について、それぞれ合焦枠1>合焦枠2>・・・>合焦枠I、顔枠1>顔枠2>・・・>顔枠Jの順に順位付けがなされているものとする。
ステップS1203では、枠のインデックスを初期化する。iは合焦枠の中の次の拡大表示候補を示すインデックス、jは顔枠の中の次の拡大表示候補を示すインデックスであり、ステップS1203においてともに1に初期化する。
ステップS1204では、初めに部分拡大対象とする枠を合焦枠とするか、顔枠とするかを決定し、初期表示を行う。この初期選択枠決定および表示処理は図16を用いて後述する。
ステップS1205では、操作部70に含まれる枠ジャンプボタンが操作されたか否かを判定する。枠ジャンプボタンが操作されていればステップS1206に進み、枠ジャンプボタンが操作されていなければステップS1230に進む。
ステップS1206では、合焦枠数Iおよび顔枠数Jがともに0か否かを判定する。合焦枠数Iと顔枠数Jがともに0の場合はステップS1205に戻り、合焦枠数Iもしくは顔枠数Jの少なくとも一方が0ではない場合は、ステップS1207へ進む。
ステップS1207では、現在の選択枠が合焦枠か顔枠かを判定する。合焦枠が選択されていればステップS1208に進み、顔枠が選択されていればステップS1219へ進む。
ステップS1208では、合焦枠の次の表示候補のインデックスiが合焦枠数Iを超えていないかどうかを判定する。インデックスiが合焦枠数Iを超えていなければ(i≦I)ステップS1209へ進み、インデックスiが合焦枠数Iを超えていれば(i>I)ステップS1213へ進む。
ステップS1209では、システムメモリ52に記録された合焦枠情報リストを参照し、i番目の合焦枠がジャンプ対象であるか否かを判定する。合焦枠情報リストについては図18、図19を用いて後述する。i番目の合焦枠がジャンプ対象でなかった場合はステップS1210に進んでインデックスiをインクリメントしてステップS1208に戻る。i番目の合焦枠がジャンプ対象であった場合はステップS1211に進む。
ステップS1211ではi番目の合焦枠へジャンプする。具体的には、直前までの選択枠を合焦枠iに変更し、再生中の画像のうち直前まで拡大表示していた範囲を合焦枠iをもとに決定した範囲に変更する。合焦枠iをもとに決定した範囲については図9で前述したものと同様である。このときも、再生中の画像が顔AFを実行して撮影された画像であれば合焦枠をもとにして顔の全体を含む領域を拡大範囲とすることが可能である。
ステップS1211での表示例を図17に示す。
図17(a)〜(d)は画像表示部28に表示される表示例を示しており、全体表示領域1710には再生中の画像の全体が認識可能に表示されている。全体表示領域1710には合焦枠1711(合焦枠1)、合焦枠1712(合焦枠2)、顔枠1713(顔枠1)、顔枠1714(顔枠2)、及び部分拡大枠1715が重畳表示されている。
拡大表示領域1720には全体表示領域1710に表示された再生中の画像のうち、部分拡大枠1715で示される範囲が拡大して表示されている。ステップS1211の時点でインデックスi=2であるとすると、ステップS1211の時点では図17(b)のような表示となる。直前の表示は図17(a)のようになる。図17(a)と比べると合焦枠1(合焦枠1711)を選択して表示していた部分拡大枠1715が図17(b)では合焦枠2(合焦枠1712)にジャンプしており、拡大表示領域1720の表示も部分拡大枠1715の示す範囲に応じて変更されている。
ステップS1212では合焦枠のインデックスiをインクリメントし、次の合焦枠に合焦枠表示候補を更新する。その後S1205に戻る。
ステップS1208でインデックスiが合焦枠数Iを超えていれば(i>I)、ステップS1213に進み、ステップS1213では顔枠のインデックスjが顔枠数Jを超えているか否か(j≦J)を判定する。インデックスjが顔枠数Jを超えていなければ(j≦J)ステップS1214へ進み、インデックスjが顔枠数Jを超えていれば(j>J)ステップS1218へ進む。
ステップS1214ではシステムメモリ52に記録された顔枠情報リストを参照し、j番目の顔枠がジャンプ対象であるか否かを判定する。顔枠情報リストについては図18、図19を用いて後述する。j番目の顔枠がジャンプ対象でなかった場合はステップS1215に進んでインデックスjをインクリメントしてステップS1213に戻る。j番目の顔枠がジャンプ対象であった場合はステップS1216に進む。
ステップS1216ではj番目の顔枠へジャンプする。具体的には、直前までの選択枠を顔枠jに変更し、再生中の画像のうち直前まで拡大表示していた範囲を顔枠jをもとに決定した範囲に変更する。顔枠jをもとに決定した範囲については図9で前述したものと同様である。このときも、再生中の画像の顔情報をもとにして顔の全体を含む領域を拡大範囲とすることが可能である。
ステップS1216での表示例を図17に示す。
ステップS1216の時点でインデックスj=1であるとすると、ステップS1216の時点では図17(c)のような表示となる。直前の表示は図17(b)のようになる。図17(b)と比べると合焦枠2(合焦枠1712)を選択して表示していた部分拡大枠1715が図17(c)では顔枠1(顔枠1713)にジャンプしており、拡大表示領域1720の表示も部分拡大枠1715の示す範囲に応じて変更されている。
ステップS1217では顔枠のインデックスjをインクリメントし、次の顔枠に顔枠表示候補を更新する。その後S1205に戻る。
ステップS1218では、ステップS1213において顔枠のインデックスjが顔枠数Jを超えており、すべての合焦枠および顔枠の選択、拡大表示が一巡したことになる。そのため、インデックスiおよびjをともに1に設定し、現在選択枠を顔枠に設定した後S1206に戻る。これにより、合焦枠および顔枠を繰り返し拡大表示できる。
ステップS1207で現在の選択枠が顔枠であれば、ステップS1219に進み、ステップS1219では顔枠の次の表示候補のインデックスjが顔枠数Jを超えていないかどうかを判定する。インデックスjが顔枠数Jを超えていなければ(j≦J)ステップS1220へ進み、インデックスjが顔枠数Jを超えていれば(j>J)ステップS1224へ進む。
ステップS1220では、システムメモリ52に記録された顔枠情報リストを参照し、j番目の顔枠がジャンプ対象であるか否かを判定する。顔枠情報リストについては図18、図19を用いて後述する。j番目の顔枠がジャンプ対象でなかった場合はステップS1221に進んでインデックスjをインクリメントしてステップS1219に戻る。j番目の顔枠がジャンプ対象であった場合はステップS1222に進む。
ステップS1222ではj番目の顔枠へジャンプする。具体的には、直前までの選択枠を顔枠jに変更し、再生中の画像のうち直前まで拡大表示していた範囲を顔枠jをもとに決定した範囲に変更する。顔枠jをもとに決定した範囲については図9で前述したものと同様である。このときも、再生中の画像の顔情報をもとにして顔の全体を含む領域を拡大範囲とすることが可能である。
ステップS1222での表示例を図17に示す。
ステップS1222の時点でインデックスj=2であるとすると、ステップS1222の時点では図17(d)のような表示となる。直前の表示は図17(c)のようになる。図17(c)と比べると顔枠1(顔枠1713)を選択して表示していた部分拡大枠1715が図17(d)では顔枠2(顔枠1714)にジャンプしており、拡大表示領域1720の表示も部分拡大枠1715の示す範囲に応じて変更されている。
ステップS1223では顔枠のインデックスjをインクリメントし、次の顔枠に顔枠表示候補を更新する。その後S1205に戻る。
ステップS1219でインデックスjが顔枠数Jを超えていれば(j>J)、ステップS1224に進み、ステップS1224では合焦枠のインデックスiが合焦枠数Iを超えているか否か(i≦I)を判定する。インデックスiが合焦枠数Iを超えていなければ(i≦I)ステップS1225へ進み、インデックスiが合焦枠数Iを超えていれば(i>I)ステップS1229へ進む。
ステップS1225ではシステムメモリ52に記録された合焦枠情報リストを参照し、i番目の合焦枠がジャンプ対象であるか否かを判定する。合焦枠情報リストについては図18、図19を用いて後述する。i番目の合焦枠がジャンプ対象でなかった場合はステップS1226に進んでインデックスiをインクリメントしてステップS1224に戻る。i番目の合焦枠がジャンプ対象であった場合はステップS1227に進む。
ステップS1227ではi番目の合焦枠へジャンプする。具体的には、直前までの選択枠を合焦枠iに変更し、再生中の画像のうち直前まで拡大表示していた範囲を合焦枠iをもとに決定した範囲に変更する。合焦枠iをもとに決定した範囲については図9で前述したものと同様である。このときも、再生中の画像が顔AFを実行して撮影された画像であれば合焦枠をもとにして顔の全体を含む領域を拡大範囲とすることが可能である。
ステップS1227での表示例を図17に示す。
ステップS1227の時点でインデックスi=1であるとすると、ステップS1227の時点では図17(a)のような表示となる。直前の表示は図17(d)のようになる。図17(d)と比べると顔枠2(顔枠1714)を選択して表示していた部分拡大枠1715が図17(a)では合焦枠1(合焦枠1711)にジャンプしており、拡大表示領域1720の表示も部分拡大枠1715の示す範囲に応じて変更されている。
ステップS1228では合焦枠のインデックスiをインクリメントし、次の合焦枠に合焦枠表示候補を更新する。その後S1205に戻る。
ステップS1229では、ステップS1224において合焦枠のインデックスiが合焦枠数Iを超えており、すべての合焦枠および顔枠の選択、拡大表示が一巡したことになる。そのため、インデックスiおよびjをともに1に設定し、現在選択枠を合焦枠に設定した後S1206に戻る。これにより、合焦枠および顔枠を繰り返し拡大表示できる。
ステップS1230では、操作部70に含まれる顔ボタンが操作されたか否かを判定する。顔ボタンが操作されたと判定されるとステップS1231に進み、顔ボタンが操作されていないと判定されるとステップS1240へ進む。
ステップS1231では、顔枠数Jが0であるか、すなわち検出された顔の数が0か否かを判定、Jが0である場合はステップS1205へ戻る。Jが0で無い場合はステップS1232へ進む。
ステップS1232では、顔枠の表示候補のインデックスjがJを超えていないかどうかを判定。インデックスjが顔枠数Jを超えている場合は顔枠の拡大表示が一巡したことになるためステップS1236へ進んでインデックスjを1に設定し、S1231に戻る。インデックスjがJを超えていない場合はステップS1233へ進む。
ステップS1233では、システムメモリ52に記録された顔枠情報リストを参照し、j番目の顔枠がジャンプ対象であるか否かを判定する。顔枠情報リストについては図18、図19を用いて後述する。j番目の顔枠がジャンプ対象でなかった場合はステップS1237に進んでインデックスjをインクリメントしてステップS1232に戻る。j番目の顔枠がジャンプ対象であった場合はステップS1234に進む。なお、ここでの処理は顔ボタンが操作された場合の処理であって、合焦枠にジャンプすることはない。したがッて枠ボタンでのジャンプのように同じ被写体に対して2度ジャンプする恐れはないため、このステップS1233でのジャンプ対象であるか否かの判定をせず、全ての顔枠にジャンプするようにしてもよい。
ステップS1234ではj番目の顔枠へジャンプする。具体的には、直前までの選択枠を顔枠jに変更し、再生中の画像のうち直前まで拡大表示していた範囲を顔枠jをもとに決定した範囲に変更する。顔枠jをもとに決定した範囲については図9で前述したものと同様である。このときも、再生中の画像の顔情報をもとにして顔の全体を含む領域を拡大範囲とすることが可能である。このときの表示は前述した図17(c)や図17(d)のようになる。
ステップS1235では顔枠のインデックスjをインクリメントし、次の顔枠に顔枠表示候補を更新する。その後S1205に戻る。
ステップS1240では操作部70に含まれるズームレバーが操作されたか否かを判定する。ズームレバーが操作された場合はステップS1241に進み、レビューモード切替処理を行う。レビューモード切替処理は図8で前述した処理を行う。ズームレバーが操作されていないと判定された場合はステップS1250に進む。
ステップS1250では操作部70に含まれる表示切替ボタンが操作されたか否かを判定する。表示切替ボタンが操作されたと判定された場合はピント確認表示を終了し、ステップS1251に進み通常表示処理を行う。通常表示処理では、システム制御部50はメモリ制御部15を介し、メモリ32に格納されている撮影画像のみを画像表示部28に表示する。また、システムメモリ52に一時記憶されている現在の表示モードを通常表示に更新する。表示を通常表示に切り替えたら図10の再生入力待ち処理に戻る。ステップS1250で表示切替ボタンが操作されていないと判定された場合はステップS1260へ進む。
ステップS1260ではその他の入力があったか否かを判定する。その他の入力があった場合はステップS1261に進み操作入力に応じた処理を行う。その他の入力が無い場合はS1205に戻る。
図17は、図12の再生ピント確認処理中の画像表示部28の表示例である。
再生画像の全体表示領域1710と、部分拡大枠1715の領域の拡大表示領域1720、合焦枠1711(合焦枠1)、合焦枠1712(合焦枠2)、顔枠1713(顔枠1)、顔枠1714(顔枠2)が表示される。
図17(a)、は合焦枠1711(合焦枠1)の拡大表示、図17(b)は合焦枠1712(合焦枠2)の拡大表示、図17(c)は顔枠1713(顔枠1)の拡大表示、図17(d)は顔枠1714(顔枠2)の拡大表示を行っている。
図12の再生ピント確認処理において、ステップS1205で決定される初期選択枠が合焦枠であった場合、枠ジャンプボタンを繰り返し押下した場合、下記のように画面が遷移する。具体的には、図17(a)→図17(b)→図17(c)→図17(d)→図17(a)→・・・となり、初めに合焦枠を部分拡大し、合焦枠をジャンプし終わったら顔枠の部分拡大表示に移る。
逆に、ステップS1205で決定される初期選択枠が顔枠であった場合、枠ジャンプボタンを繰り返し押下した場合、下記のように画面が遷移する。具体的には、図17(c)→図17(d)→図17(a)→図17(b)→図17(c)→・・・となり、初めに顔枠を部分拡大し、顔枠をジャンプし終わったら合焦枠の部分拡大表示に移る。
なお、枠ジャンプボタンで合焦枠を拡大表示した後に顔ボタンで顔枠を拡大表示し、再び枠ジャンプボタンで合焦枠にジャンプしたとき、図12では直前に拡大表示していた合焦枠の次の合焦枠を拡大表示することになる。しかしこれに限られるものではなく、インデックスiを操作することで1つ目の合焦枠に戻るようにしてもよいし、直前に表示されていた合焦枠に戻るようにしてもよい。
また、一度枠ジャンプボタンで部分拡大枠を別の枠にジャンプさせた後、ピント確認モードを抜け、再びピント確認モードに入ったときに前回拡大していた枠を拡大表示できるように、前回の情報を例えばシステムメモリ52に一時記憶しておいてもよい。
さらに、合焦枠の中でも顔優先AFモードで合焦した合焦枠については顔枠と同じ扱いとして顔ボタンでジャンプできるようにしてもよいし、合焦枠および顔枠よりも高い優先度を与えて最優先で拡大表示できるようにしてもよい。
また、合焦枠専用の操作部材がある場合には、図12の顔ボタンと同様に合焦枠のみをジャンプできるようにしてもよい。
また、顔ボタンがない場合においても、再生時の顔認識情報を優先して表示する方法として合焦枠数Iを0として扱うことで人物の顔枠のみをジャンプできるようにしてもよい。
[顔確認]
図13は、図10のステップS1027における顔確認処理を示すフローチャートである。
システム制御部50は、メモリ32に格納されている再生中の撮影画像に対して顔検出処理を行う(ステップS1301)。顔検出処理については図4のような処理を行う。
ステップS1301において検出された顔の総数を顔枠数Jとする(ステップS1302)。この時点において、J個の顔枠について、顔枠1>顔枠2>・・・>顔枠Jの順に順位付けがなされているものとする。順位付けの指標としては例えば、大きくかつ中央に近い順などが挙げられる。もちろん、順位付けの指標についてはこれに限定するものではない。
ステップS1303において、Jが0か否かを判断し、Jが0すなわちステップS1301において再生画像から顔が検出されなかった場合は、図10の再生入力待ち処理(ステップS1001)に戻る。
Jが0でない場合はステップS1304に進み、システム制御部50はメモリ制御部15を介し、顔確認用の初期表示を画像表示部28を用いて行う。ここではメモリ32に格納されている撮影画像の全体表示および部分拡大表示、J個の顔枠などを表示する。合焦枠の表示は行わない。
図12の再生ピント確認時の表示例(図17)と比べて、1711、1712の合焦枠が非表示となり、合焦枠にはジャンプできなくなる。撮影画像全体の内、顔枠に対応する部分のみを部分拡大表示することによって、顔部分のみ連続してピント確認することが可能となる。
ステップS1305において拡大表示する顔枠のインデックスを初期化する。jは顔枠の次の拡大表示候補を示すインデックスであり、ステップS1305において1に初期化する。
ステップS1306において顔枠表示候補のインデックスjが顔枠数Jを超えている場合は、すべての顔枠の拡大表示が一巡したことになり、システム制御部50はメモリ制御部15を介し、画像表示部28の表示を顔確認表示前の表示に戻す(ステップS1309)。この際、システムメモリ52に一時記憶されている表示モードを参照し、表示を更新したら図10の再生入力待ち処理(ステップS1001)に戻る。顔確認時には、すべての顔の拡大表示が一巡した時点で部分拡大表示による確認処理を終了する。
ステップS1306において、顔枠の次の表示候補のインデックスjが顔枠数Jを超えていないかどうかを判断し、jがJを超えていなければj番目の顔枠を部分拡大表示領域とし(S1307)、S1308へ進む。このとき、全体表示中の部分拡大表示領域に相当する位置を示す部分拡大表示枠を併せて表示する。ステップS1308ではインデックスjをインクリメントし、次の顔枠に顔枠表示候補を更新する。
ステップS1310において、システム制御部50は、ユーザによる操作入力があるかどうかをチェックする。何も入力がなければ入力があるまで待つ。何らかの操作入力があった場合、システム制御部50は、操作入力を識別し、当該操作入力が操作部70に含まれる顔ボタンであった場合はS1306に戻る。
当該操作入力が操作部70に含まれるズームレバーであった場合は(ステップS1310)、レビューモード切替処理を行う(ステップS1311)。レビューモード切替処理では図8のような処理を行う。
当該操作入力がその他の入力であった場合は(ステップS1310)、操作入力に応じた処理を行う(ステップS1312)。ここでは枠ジャンプボタンによる合焦枠ジャンプや、表示切替ボタンによる表示切替処理は行わない。
図23は、図13の顔確認処理中の画像表示部28の表示例である。
再生画像の全体表示領域2310と部分拡大枠2315の領域の拡大表示領域2320、顔枠12313、顔枠22314が表示される。合焦枠は表示されない。
また、初期状態で全体表示領域2310より拡大表示領域2320のほうが大きく表示される。図23−(a)は顔枠12313の拡大表示、図23−(b)は顔枠22314の拡大表示を行っている。
図13の顔確認処理において、顔ボタンを繰り返し押下した場合の画面遷移は、図23−(a)→図23−(b)→顔確認処理終了となる。
[初期選択枠決定および表示]
図16は、図12のステップS1204における初期選択枠決定および表示処理を示すフローチャートである。
ステップS1601ではまず、再生中の画像に付加されている分類情報を参照し、人物が移っている画像であることを意味する分類情報である人物タグが付加されているか否かを判定する。人物タグが付加されている場合はステップS1607に進み、初期選択枠として顔枠を優先する枠とする。ここで初期選択枠として顔枠を優先するのは、人物タグが付加されている場合は主被写体が人物である可能性が高いためである。人物タグが付加されていない場合はステップS1602に進む。
ステップS1602では、再生中の画像に付加されている撮影時の撮影モードを参照し、撮影モードがポートレートモードであるか否かを判定する。撮影モードがポートレートモードの場合はステップS1607に進み、初期選択枠として顔枠を優先する枠とする。ここでも初期選択枠として顔枠を優先するのは、ポートレートモードで撮影した場合は主被写体が人物である可能性が高いためである。なお、ポートレートモード以外の、被写体が人物であることが予想される撮影モードにおいても同様の判定を行うことが好ましい。再生中の画像がポートレートモードで撮影されたものでないと判断した場合はステップS1603へ進む。
ステップS1603では、再生中の画像に付加されている撮影時の設定情報を参照し、再生中の画像が顔優先AFを実行して撮影された画像であるか否かを判定する。顔優先AFを実行して撮影された画像であればステップS1605に進み、顔優先AFを実行して撮影された画像でなければステップS1604へ進む。
ステップS1604では、AF時と撮影時の画角に変化があるか否かを判定する。画角の変化の検出には、加速度センサや角速度センサの出力を利用したり、画像に付加された合焦枠などの座標情報および色、輝度などを用いる。ステップS1604で画角変化があると判定された場合はステップS1607へ進み、初期選択枠として顔枠を優先する枠とする。顔優先AF以外でAFが行われた場合でも、撮影までの間に画角変化があった場合には、合焦枠が実際にAFした位置に表示されないことや、人物にピントを合わせた後画角を変えて撮影する可能性があることを考慮し、人物の顔を優先する。ステップS1604でAF時と撮影時の画角に変化がないと判定された場合はステップS1606へ進み、合焦枠を優先する枠とする。顔優先AF以外で測距されている場合はユーザが意図的に合焦枠を指定して撮影した可能性が高いこと、画角変化がないため実際に合焦した部分を正しく表示できることを考慮し、合焦枠を優先する。
ステップS1605では、再生中の画像に付加されている撮影時の設定情報を参照してその画像が顔指定モードで撮影された画像か否かを判定する。顔指定モードとは顔優先AFにおいて、ユーザが指定した特定の顔に追従してAFを行う特殊モードである。顔指定モードで撮影されたものではないと判定された場合は、ステップS1607に進み顔枠を優先選択枠とする。逆に、顔指定モードで撮影されたものと判定された場合はステップS1606に進み、合焦枠を優先選択枠とする。顔指定モードではユーザが任意の顔を合焦対象として選択でき、画面端の小さい顔でも主被写体としてピントを合わせることができる。そのため、画面中央に近い大きい顔が表示されていても、顔指定モードでユーザが画面端の小さい顔を指定していればそちらにより注目して撮影した画像と考えられる。しかし初期表示として顔枠を選択してしまうと大きくかつ画像中央近い顔である顔枠1が選択されてしまい、所望の被写体とは異なる顔が拡大表示されてしまう。このことを考慮し、顔優先AFを実行して撮影した画像でも顔指定モードで顔を指定して撮影された画像に対しては初期選択枠として顔枠ではなく合焦枠を優先する枠とする。
ステップS1606では、初期選択枠として合焦枠を優先する枠に決定し、システムメモリ52に一時記憶するなどして後段の処理で参照可能とする。一方ステップS1607では、初期選択枠として顔枠を優先する枠に決定し、同様にシステムメモリ52に一時記憶などするなどして後段の処理で参照可能とする。
ステップS1610では、合焦枠数Iが0より大きいか、すなわち画像に合焦した場所があるか否かを判定する。合焦した場所がある(合焦枠数I>0)と判定されるとステップS1611に進み、合焦した場所がないと判定されるとステップS1620に進む。
ステップS1611では再生中の画像が顔優先AFを実行して撮影された画像であるか否かを判定する。顔優先AFを実行していないと判定された場合はステップS1612に進み、顔優先AFを実行したと判定されるとステップS1615に進む。
ステップS1612では初期選択枠を合焦枠に決定し、再生中の画像のうち拡大すべき範囲を決定する。ここでは合焦枠の中心を中心として再生中の画像全体の大きさに対して一定の割合の大きさとなる範囲を拡大すべき範囲として決定する。合焦枠が複数存在する場合は、図12のステップS1202で設定した順位付けにもとづいて、順位の一番高い合焦枠1について拡大すべき範囲を決定する。なお拡大すべき範囲としては、ここで述べた例以外にユーザが予め任意に設定している範囲や、ピクセル等倍にして合焦枠の中心から後述する拡大表示領域に収まる範囲などでも良い。
ステップS1613では画像全体と共に、ステップS1612で決まったレックレビュー中の画像のうち拡大すべき範囲を拡大表示領域に収まるように拡大して表示する。この表示は、図15(a)を用いて前述したものとほぼ同様であるので詳述は省略する。ただし、表示される顔枠を取得するための顔検出処理のタイミングが画像の再生時である図12のステップS1201である点と、図12のステップS1202での領域関連度の計算が反映されている点は異なる。この点については図19、図20を用いて後述する。
ステップS1614では、図12のステップS1203で初期化したインデックスiをインクリメントし、次の合焦枠に合焦枠表示候補を更新して初期選択枠決定および表示の処理を終了する。
ステップS1615では初期選択枠を合焦枠に決定し、再生中の画像のうち拡大すべき範囲として、合焦枠1に含まれる顔の全体が含まれる範囲を決定する。ここでは初期選択枠として合焦枠を優先するため、再生時の顔検出で得られる顔の領域を拡大/縮小した範囲を拡大すべき範囲として決定するのではなく、合焦枠1を拡大/縮小した範囲を拡大すべき範囲として決定する。図15(c)で前述したとおり、顔AFで撮影された画像の合焦枠の大きさは、撮影時に検出された顔の領域をもとに決定されている。そのため、顔検出のアルゴリズム依存の特定の値で顔AFの合焦枠の範囲を拡大/縮小すれば合焦枠に含まれる顔の全体が含まれる範囲を決定することができる。
ステップS1616では画像全体と共に、ステップS1615で決まった再生中の画像のうち合焦枠1に含まれる顔の全体が含まれる領域を拡大表示領域に収まるように拡大/縮小して表示する。この表示は、図15(b)を用いて前述したものとほぼ同様であるので詳述は省略する。ただし、表示される顔枠を取得するための顔検出処理のタイミングが画像の再生時である図12のステップS1201である点と、図12のステップS1202での領域関連度の計算が反映されている点は異なる。この点については図19、図20を用いて後述する。
ステップS1617では、図12のステップS1203で初期化したインデックスiをインクリメントし、次の合焦枠に合焦枠表示候補を更新して初期選択枠決定および表示の処理を終了する。
ステップS1620では図12のステップS1202で取得した再生時に検出された顔枠数Jが0より大きいか、すなわち画像に顔が存在するか否かを判定する。顔が存在する(顔枠数J>0)と判定されるとステップS1621に進み、顔が存在しないと判定されるとステップS1624に進む。
ステップS1621では初期選択枠を顔枠に決定し、図12のステップS1202で設定した顔枠1についての顔情報で示される顔の領域を拡大/縮小して求めた範囲を拡大すべき範囲として決定する。再生時の顔情報で示される顔の領域を拡大/縮小して拡大すべき範囲を決定する理由と方法は図15(c)を用いて前述したとおりである。
ステップS1622では再生時に検出された顔枠1〜Jを示す顔枠とステップS1621で決定した拡大すべき範囲を部分拡大枠として全体表示領域に重畳表示する。また、部分拡大枠が示す領域を拡大表示領域に収まる倍率で拡大/縮小して画像全体と共に表示する。
ステップS1623では図12のステップS1203で初期化したインデックスjをインクリメントし、次の顔枠に顔枠表示候補を更新する。
ステップS1624では合焦枠も顔枠も存在しないため初期選択枠は決定せず、画像の中央から画像全体の大きさに対して一定の割合の大きさとなる範囲を拡大すべき範囲として決定する。
ステップS1625ではステップS1624で決定した拡大すべき範囲を部分拡大枠として全体表示領域に重畳表示する。また、部分拡大枠が示す領域を拡大表示領域に収まる倍率で拡大/縮小して画像全体と共に表示する。この場合は合焦枠も顔枠も存在しないため、全体表示領域には部分拡大枠のみが重畳表示される。
ステップS1630では図12のステップS1202で取得した再生時に検出された顔枠数Jが0より大きいか、すなわち画像に顔が存在するか否かを判定する。顔が存在する(顔枠数J>0)と判定されるとステップS1631に進み、顔が存在しないと判定されるとステップS1640に進む。ここでは、S1607で初期選択枠として顔枠が優先されているため、ステップS1606で初期選択枠として合焦枠が優先された場合と異なり、まず顔が存在するか否かを判定する。したがって以降の処理では、顔が存在すれば合焦枠よりも再生時に検出した顔を示す顔枠を優先して拡大表示する。
ステップS1631、ステップS1632、ステップS1633の処理はそれぞれ前述したステップS1621、ステップS1622、ステップS1623の処理と同様なので詳述は省略する。
ステップS1640では、合焦枠数Iが0より大きいか、すなわち画像に合焦した場所があるか否かを判定する。合焦した場所がある(合焦枠数I>0)と判定されるとステップS1641に進み、合焦した場所がないと判定されるとステップS1650に進む。
ステップS1641、ステップS1642、ステップS1643、ステップS1644の処理はそれぞれ、前述したステップS1611、ステップS1612、ステップS1613、ステップS1614の処理と同様なので詳述は省略する。また、ステップS1650、ステップS1651の処理はそれぞれ前述したステップS1624、ステップS1625の処理と同様なので詳述は省略する。
ステップS1641で顔AFを実行して撮影された画像であると判定されるとS1645に進む。ステップS1645、ステップS1646、ステップS1647の処理はそれぞれ前述したステップS1615、ステップS1616、ステップS1617の処理と同様なので詳述は省略する。なお、ステップS1645においては、ステップS1615と同様に合焦枠1を拡大/縮小した範囲を拡大すべき範囲として決定するが、理由はステップS1615と異なり、再生時の顔検出で画像に顔が存在しないと判定されたためである。
[領域関連度の計算]
図18は、図12のステップS1202における領域関連度の計算処理を示すフローチャートである。
ステップS1801ではまず、再生中の画像の付加情報を参照して得られる合焦枠情報を取得する。
ステップS1802ではシステムメモリ52を参照して図12のステップS1201での再生時の顔検出で検出された顔情報をもとに、検出された顔の総数と各顔の領域を含む再生時顔枠情報を取得する。
ステップS1803では、ステップS1801で取得した合焦枠の総数を合焦枠数I、ステップS1802で取得した顔の総数を顔枠数Jとする。この時点において、I個の合焦枠とJ個の顔枠について、それぞれ合焦枠1>合焦枠2>・・・>合焦枠I、顔枠1>顔枠2>・・・>顔枠Jの順に順位付けがなされているものとする。順位付けの指標としては例えば、合焦枠についてはAF評価値の高い順、顔枠については大きくかつ中央に近い順などが挙げられる。もちろん、順位付けの指標についてはこれに限定するものではない。
ステップS1804では、ステップS1802で取得した各顔の領域の中心座標を計算し、システムメモリ52に一時記憶する。
ステップS1805では、ステップS1801で取得した合焦枠の範囲を計算し、システムメモリ52に一時記憶する。
ステップS1806では、合焦枠数と顔枠数のインデックスを初期化する。iは合焦枠を示すインデックス、jは顔枠を示すインデックスであり、ステップS1806においてともに0に初期化する。
ステップS1807では、ステップS1803で設定した合焦枠数Iが0または顔枠数Jが0か否か、すなわち合焦枠と顔枠の双方ともが存在しているか否かを判定する。合焦枠と顔枠の両方が存在していると判定された場合はステップS1808へ進み、合焦枠と顔枠のどちらか一方が存在しない(I=0またはJ=0)と判定された場合は本処理を終了する。
ステップS1808で、合焦枠のインデックスiをインクリメントする。
ステップS1809で、顔枠のインデックスjをインクリメントする。
ステップS1810では、合焦枠と顔枠の関連度を判定する。ここでは合焦枠と顔枠の関連度の判定は、画像における合焦枠と顔枠の距離にもとづいて判定すする。本実施例では、システムメモリ52を参照し、ステップS1804で求めた各顔の領域の中心座標が、ステップS1805で求めた合焦枠の範囲内に存在するのか否かで合焦枠と顔枠の距離が近いか否かを判別する。もちろん距離の判別の方法はこれに限定されるものではなく、合焦枠と顔枠の中心座標の距離から判別しても良いし、合焦枠と顔枠の範囲の重なりの割合等から距離を判別することなどが考えられる。合焦枠と顔枠の距離が近いと判別できる、すなわち各顔の中心座標が合焦枠内に存在する場合は、当該顔の顔枠と、当該合焦枠は関連度有りと判定し、ステップS1811に進む。顔の中心座標が合焦枠内に存在しない場合は、当該顔の顔枠と当該合焦枠は関連度無しと判定し、ステップS1812に進む。
ステップS1811では、ステップS1810で関連度有りと判定された顔枠と合焦枠について、合焦枠情報リストあるいは再生時顔枠情報リストを更新する。このリストはシステムメモリ52に記録されているものとし、図19を用いて後述する。
ステップS1812では、顔枠のインデックスjが顔枠の総数Jに達した(j=J)か否かを判定する。顔枠のインデックスjが顔枠の総数Jに達していなければステップS1809で顔枠のインデックスjをインクリメントし、次の顔枠と合焦枠との関連度を判定する。顔枠のインデックスjが顔枠の総数Jに達していた(j=J)ならばステップS1813に進む。
ステップS1813では顔枠のインデックスjを0に初期化する。
ステップS1814では、合焦枠のインデックスiが合焦枠の総数Iに達した(i=I)か否かを判定する。合焦枠のインデックスiが合焦枠の総数Iに達していなければステップS1808で合焦枠のインデックスiをインクリメントし、次の合焦枠を全ての顔枠と比較して関連度を判定する。合焦枠のインデックスiが合焦枠の総数Iに達していれば全ての合焦枠と全ての顔枠の組み合わせについて関連度を比較したことになるので、処理を終了する。
図19にシステムメモリ52に記録される合焦枠情報リストと再生時顔枠情報リストの例を示す。
図19(c)の画像1940は顔優先AFを実行して撮影された画像であり、合焦枠1921、合焦枠1922、合焦枠1923が存在するものとする。ステップS1803における順位付けでこの合焦枠1921、合焦枠1922、合焦枠1923はそれぞれ合焦枠1、合焦枠2、合焦枠3に順位付けされたものとする。本実施例においては図1、図3で前述したとおり、第1シャッタースイッチ信号SW1で測距・測光を行い、その後第2シャッタースイッチ信号SW2よって実際に露光し、撮影する。そのため、第1シャッタースイッチ信号SW1によって合焦枠が決定してから第2シャッタースイッチ信号SW2があるまでに、撮影者がデジタルカメラ100を動かして画角を変更した場合や被写体が動いた場合には合焦枠は実際に測距を行った被写体からずれる。このため、画像1940においては合焦枠と顔優先AFを実際に行った被写体(顔)とがずれている。この画像1940を図12のステップS1201で顔検出すると、画像1940に写っている顔が検出され、顔枠1931、顔枠1932、顔枠1933が得られる。ステップS1803における順位付けでこの顔枠1931、顔枠1932、顔枠1933はそれぞれ顔枠1、顔枠2、顔枠3に順位付けされたものとする。
図19(a)は図19(c)に示す画像1940を例とした合焦枠情報リストの例である。合焦枠情報リストは
各合焦枠のインデックス1901、
各合焦枠の中心位置1902、
各合焦枠の大きさ、範囲を含むその他の合焦枠情報1903、
各合焦枠がジャンプ対象であるか否かを示すジャンプ対象情報1904、
各合焦枠が表示すべき枠であるか否かを示す表示対象情報1905
から構成される。
図19(b)は図19(c)に示す画像1940を例とした再生時顔枠情報リストの例である。再生時顔枠情報リストは
各顔枠のインデックス1911、
各顔枠の中心位置1912、
各顔枠の大きさ、範囲を含むその他の顔情報1913、
各顔枠がジャンプ対象であるか否かを示すジャンプ対象情報1914、
各顔枠が表示すべき枠であるか否かを示す表示対象情報1915
から構成される。本実施例では、合焦枠と顔枠に関連度があると判定されると、再生時顔枠情報リストのジャンプ対象情報1914と表示対象情報1915を更新し、関連度があると判定された顔枠については表示対象と図12等で前述したジャンプ対象から外す。このように、関連度があると判定された合焦枠と顔枠は双方ほぼ同じ被写体を示す枠であると考え、片方はジャンプ対象とせず、枠表示もしない。このようにすることで、同じ被写体に対して2度ジャンプするといった工程を省略し、2種類の枠が表示されるという煩雑な表示を避けることができる。図19(c)の画像1940では、合焦枠1922と顔枠1932、合焦枠1923と顔枠1933が距離が近く関連度があると判定されるため、顔枠1932(顔枠2)と顔枠1933(顔枠3)はジャンプ対象と表示対象では無くなっている。
このようにして更新された合焦枠情報リストと再生時顔枠情報リストを反映して画像1940と合焦枠、顔枠を表示した例を図20に示す。図20においては再生時顔枠情報リストの表示対象情報1915を反映して顔枠2と顔枠3は表示していない。合焦枠と顔枠をすべて表示すると図19(c)のようになるが、これに比べて不必要な枠の表示を省略し、簡明な枠表示となっている。また、顔枠2と顔枠3はジャンプ対象からも外れるため、ジャンプの回数を減らして合焦位置と顔の確認が効率良く行える。
なお、本実施例では関連度のある合焦枠と顔枠については顔枠の方をジャンプ対象、表示対象から外すことによって合焦枠についての確認を優先としたが、逆に顔枠についての確認を優先とすることもできる。図12のステップS1201において再生時の画像から検出された顔枠を優先して表示するとで、再生中の画像から検出された人物の表情等を効率良く確認することができる。この場合は、図18のステップS1810で合焦枠と顔枠に関連度があると判定された場合に、合焦枠情報リストの方のジャンプ対象情報1904と表示対象情報1905を更新すれば良い。
関連度があると判定された場合に合焦枠の確認を優先とするか顔枠の確認を優先とするかは、ユーザが事前に任意に設定できるようにしても良いし、場合に応じてデジタルカメラ100が自動で設定するようにしてもよい。例えば、撮影時に顔優先AFを実行して撮影された画像である場合は、人物中心の撮影を行っていることから、デジタルカメラ100が自動で顔枠の確認を優先するよう設定することなどが考えられる。また、撮影時に中央1点AFを実行して撮影された画像の場合は、撮影者が合焦枠で示される被写体に注目して撮影したか、合焦枠にユーザの意図が強く反映されていると考え、デジタルカメラ100が自動で合焦枠を優先するように設定してもよい。
また、図20では合焦枠と関連のある顔枠2と顔枠3を非表示にしているが、非表示ではなく色/形のみを変更しジャンプ対象から除外することも可能である。枠位置を確認しつつ、ジャンプ回数が減るので、正確で効率の良い確認が可能となる。
他の表示方法として、関連度が高い場合は、一度のジャンプでの表示の際に顔枠と合焦枠の双方を含む範囲で拡大表示することも可能である。その場合の表示画面を図21(a)に示す。また、関連度が高い顔枠と合焦枠をそれぞれ同時に拡大表示することも可能である。その場合の表示画面を図21(b)に示す。このような表示を行っても、ほぼ同じ被写体に対して2度ジャンプするといった工程を省略して効率の良い確認を行うことができる。なお、図21(a)、図21(b)においては、関連度のある顔枠と合焦枠の両方とも表示した上でジャンプ工程を統一しているため、どの枠について関連度があるのかも識別することが可能である。
図18のステップS1810の関連度の判定においては、合焦枠と再生時に検出した顔枠との距離が近いものを関連度ありとしたが、距離が遠いものについても関連度の判定をすることができる。
顔AFを実行して撮影された画像で、合焦枠の付近で再生時に顔が検出できなかった画像の例を図22(a)に示す。この図に示す画像は、測距を行った時点から実際に撮影を行った時点までに、撮影者によるフレーミングの変化か被写体自身の移動のために、合焦枠の位置に被写体が存在しない。しかし再生時に検出された顔枠のうち合焦枠と同じ大きさの顔枠は、顔AFした時点から実際の撮影までに同一被写界深度内で移動した被写体である可能性が高く、合焦している可能性も高い。この場合、合焦枠と検出された顔枠の大きさを比較し、大きさが近い顔枠が存在すれば距離が離れていても関連度ありと判定してもよい。付近に顔が検出されなかった合焦枠については、合焦している被写体がいる可能性が低く確認する必要性が低いと考えられるため、ジャンプ対象や表示対象から外すように合焦枠情報リストを変更する。この合焦枠情報リストを変更して表示した例を図22(b)に示す。あるいは、再生時に検出した顔枠が実際に合焦している被写体を示している可能性が高いことを考慮し、再生時に検出した顔枠を合焦枠としてジャンプや枠表示を行うようにしてもよい。このようにした表示例を図22(c)に示す。逆に、顔AFでの合焦枠の付近に、顔が検出できた場合でも、枠の大きさが大きく異なれば合称している被写体では無いと考えられるため、関連度なしと判定しても良い。
なお、関連度には係らず、顔AFでの合焦枠付近に再生時に顔が検出できなかった場合は、合焦枠の確認の必要性が低いと考えて合焦枠の色や形を変えて警告表をしたり、合焦枠を単にジャンプ対象や枠表示対象から外しても良い。付近に顔枠が検出できなかった合焦枠を、色を変えることで警告表示している例を図22(d)に示す。
また、再生中の画像が顔AFを実行した画像であった場合、撮影の際の顔AF時に検出した顔の特徴量が記録されていれば、顔AF時の顔の特徴量と再生時に検出した顔の特徴を比較することによっても関連度の判定が可能である。顔AF時に検出した顔と再生時に検出された顔で同一人物の顔であると判定されれば、関連度が有りと判定できる。さらに上述した合焦枠と顔枠の距離や大きさの条件を組み合わせて判定すれば、より制度の高い関連度の判定が可能となる。
上述した関連度の判定は合焦枠と再生時に検出した顔枠を例に挙げたが、これに限られるものでなく、本発明は異なるタイミングで同一の被写体について重複した情報を抽出してしまうようなものに適用可能である。例えば撮影時に顔の情報を検出し、再生時に赤目の情報を検出するようなものであれば、同じ被写体について重複した情報を抽出している可能性がある。このような場合も本発明のような関連度の判定を反映した表示をすることで簡明な表示となり、効率のよい画像の確認が可能となる。
本実施形態によれば、合焦枠および顔領域が同時に表示され、ユーザ操作によって双方の枠位置の拡大表示を容易に行うことができる。
(他の実施例)
本発明の目的は以下のように達成されることは言うまでもない。まず、前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけではない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーションシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
さらに、以下のような処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。まず、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。