以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の一実施形態に係る撮像装置の一例としてのデジタルカメラの構成を示すブロック図である。図1に示すデジタルカメラ1は、レンズ交換式のデジタルカメラである。しかしながら、必ずしもレンズ交換式のデジタルカメラである必要はなく、レンズ一体式のデジタルカメラであっても良い。また、撮像機能付き携帯電話機や撮像機能付き携帯端末等であっても本実施形態の技術が適用され得る。
図1に示すデジタルカメラ1は、交換式レンズ100と、カメラ本体200と、を有している。交換式レンズ100は、カメラ本体200に対して着脱自在に構成されている。カメラ本体200に交換式レンズ100が装着された場合に、交換式レンズ100は、カメラ本体200と通信自在に接続される。これにより、交換式レンズ100は、カメラ本体200の制御に従って動作可能な状態となる。
交換式レンズ100は、レンズ102と、絞り104と、ドライバ106と、マイクロコンピュータ108と、Flashメモリ110と、を有している。
レンズ102は、図示しない被写体からの光束をカメラ本体200内の撮像素子204に集光するための光学系である。このレンズ102は、フォーカスレンズ及びズームレンズ等の複数のレンズを有していても良い。
絞り104は、開閉自在に構成され、レンズ102を介して入射した光束の量を調整する。ドライバ106は、モータ等を有している。このドライバ106は、マイクロコンピュータ108の制御に従って、レンズ102内のフォーカスレンズやズームレンズをその光軸方向に駆動させたり、絞り104を開閉駆動させたりする。
マイクロコンピュータ108は、交換式レンズ100がカメラ本体200に装着された際にインターフェイス(I/F)112を介してカメラ本体200内のマイクロコンピュータ230と通信自在に接続される。このマイクロコンピュータ108は、マイクロコンピュータ230からの制御に従ってドライバ106を駆動させる。また、マイクロコンピュータ108は、Flashメモリ110に記憶されている交換式レンズ100のレンズ情報等を、I/F112を介してマイクロコンピュータ230に通信する。
Flashメモリ110は、レンズ102の収差情報等のレンズ情報や交換式レンズ100の動作を実行するために必要なプログラム等を記憶している。
カメラ本体200は、メカシャッタ202と、撮像素子204と、アナログ処理部206と、アナログ/デジタル(A/D)変換部208と、バス210と、SDRAM212と、AE処理部214と、AF処理部216と、画像処理部218と、表示ドライバ220と、表示パネル222と、画像圧縮伸張部224と、メモリインターフェイス(I/F)226と、記録媒体228と、マイクロコンピュータ230と、操作部232と、マップ生成部234と、Flashメモリ236と、を有している。
メカシャッタ202は、撮像素子204の光電変換面を遮光状態又は露出状態とするように移動自在に構成されている。このメカシャッタ202を移動させることにより撮像素子204の露出時間が調整される。
撮像素子204は、レンズ102を介して集光された被写体からの光束が結像される光電変換面を有している。光電変換面は、複数の画素が2次元状に配置されて構成されている。また、光電変換面の光入射側には、カラーフィルタが設けられている。このような撮像素子204は、光電変換面に結像された光束に対応した像(被写体像)を、その光量に応じた電気信号(以下、画像信号という)に変換して出力する。
ここで、撮像素子204は、CCD方式やCMOS方式等の種々の構成の撮像素子が知られている。また、カラーフィルタの色配列もベイヤ配列等の種々の配列が知られている。本実施形態は、撮像素子204の構成が特定の構成に限定されるものではなく、種々の構成の撮像素子を用いることが可能である。また、撮像素子204は、露出時間を電子的に制御する電子シャッタ機能を有していても良い。以下の説明においては撮像素子204が電子シャッタ機能を有しているものとする。
アナログ処理部206は、撮像素子204により得られた画像信号に対してCDS(相関二重サンプリング)処理やAGC(自動利得制御)処理等のアナログ処理を施す。A/D変換部208は、アナログ処理部206においてアナログ処理された画像信号をデジタル信号(以下、RAWデータという)に変換する。ここで、RAWデータとは、画像処理部218における画像処理が施される前の「生の」画像データである。
バス210は、カメラ本体200の内部で発生した各種のデータを転送するための転送路である。
SDRAM212は、カメラ本体200内部で発生した各種のデータを一時的に記憶するための記憶部である。このSDRAM212は、画像処理部218における画像処理の際のバッファメモリとしても使用される。また、本実施形態におけるSDRAM212は、マップ記憶部2121としての記憶領域も有している。マップ記憶部2121は、後述するタッチ入力部2321によってタッチ入力がされた際の、タッチ位置を示す座標とそのタッチ位置における圧力に応じた強度とを対応付けたマップを記憶するための記憶領域である。このマップの詳細については後で説明する。
AE処理部214は、画像データ(例えばRAWデータ)を用いて被写体輝度を算出する。AF処理部216は、画像データ(例えばRAWデータ)から高周波成分の信号を取り出し、取り出した高周波成分の信号を積算してAF用の合焦評価値を取得する。
画像処理部218は、RAWデータに対する各種の画像処理を行って記録用画像データ又は表示用画像データを生成する。記録用画像データ又は表示用画像データは、画像処理のパラメータが異なっている。ここで、画像処理部218で行われる画像処理は、記録用画像データ又は表示用画像データの仕上がりを所定のものとするための画像処理である。ここでの仕上がりとは、表示の際の見た目や作風等のことを言う。
本実施形態における画像処理部218は、基本画像処理部2181と、特殊画像処理部2182と、を有している。
基本画像処理部2181は、画像の表示や記録のために必要な基本的な画像処理を画像データに対して施す。この基本的な画像処理には、例えば、オプティカルブラック(OB)減算処理、ホワイトバランス(WB)補正処理、同時化処理、色再現処理、輝度変更処理、エッジ強調処理、ノイズ低減処理が含まれる。
オプティカルブラック減算処理は、RAWデータの暗電流成分(オプティカルブラック)を減算して除去する処理である。
ホワイトバランス補正処理は、RAWデータの各色成分を所定のゲイン量で増幅することにより、画像の色バランスを補正する処理である。
同時化処理は、ベイヤ配列に対応して撮像素子204を介して出力されるRAWデータ等の、1つの画素が1つの色成分に対応している画像データを、1つの画素が複数の色成分に対応しているRGBデータに変換する処理である。
色再現処理は、画像の色再現を適切なものとするための各種の処理である。この処理としては、例えばカラーマトリクス演算処理がある。このカラーマトリクス演算処理は、RGBデータに対して、例えばホワイトバランスモードに応じたカラーマトリクス係数を乗じる処理である。この他、色再現処理として彩度・色相の補正も行う。
輝度変更処理は、RGBデータをYC(輝度・色差)データに変換し、Yデータの輝度特性を、表示や記録に適するように変更する処理である。なお、輝度変更処理として、RGBデータの輝度特性を変更するようにしても良い。
エッジ強調処理は、画像データ(RGBデータ又はYCデータ)からバンドパスフィルタ等を用いて抽出したエッジ信号にエッジ強調係数を乗じ、この結果をもとの画像データに加算することによって、画像データにおけるエッジ(輪郭)成分を強調する処理である。
ノイズ低減処理は、コアリング処理等により、画像データ(RGBデータ又はYCデータ)におけるノイズ成分を除去する処理である。
特殊画像処理部2182は、画像データ(RGBデータ又はYCデータ)に対して特殊な視覚効果を与えるための特殊画像処理を施す。この特殊画像処理の詳細については後で説明する。
表示ドライバ220は、画像処理部218で得られた表示用画像データ又は画像圧縮伸張部224で記録用画像データを伸張して得られる表示用画像データを、表示パネル222の表示サイズに応じてリサイズし、リサイズした表示用画像データを映像信号に変換して表示パネル222に出力する。表示パネル222は、例えば液晶ディスプレイ(LCD)である。この表示パネル222は、表示ドライバ220から入力された映像信号に基づく画像を表示する。
画像圧縮伸張部224は、画像の記録時においては、画像処理部218における画像処理によって得られた記録用画像データに対してJPEG形式やTIFF形式等の静止画圧縮処理又はMPEG形式やH.264形式等の動画圧縮処理を施す。また、画像圧縮伸張部224は、画像の再生時においては、圧縮処理が施された記録用画像データに対して伸張処理を施す。
メモリI/F226は、マイクロコンピュータ230等が記録媒体228にアクセスするためのインターフェイスである。記録媒体228は、例えばカメラ本体200に着脱自在になされたメモリカードである。この記録媒体228は、画像ファイル等を記録する。画像ファイルは、画像圧縮伸張部224によって圧縮された記録用画像データに、ヘッダ情報を付加したファイルである。記録媒体228は、カメラ本体200に固定されていても良い(着脱できなくても良い)。
マイクロコンピュータ230は、メカシャッタ202、撮像素子204、表示ドライバ220といったカメラ本体200の各部の動作を統括的に制御する。また、マイクロコンピュータ230は、AE処理部214で演算された被写体輝度を用いてAE処理を行ったり、AF処理部216で演算されたAF評価値を用いてAF処理を行ったりもする。また、マイクロコンピュータ230は、交換式レンズ100の装着時には、交換式レンズ100の動作も制御する。ここで、本実施形態におけるマイクロコンピュータ230は、制御部としての機能も有し、後述のマップ生成部234で生成されるマップに応じてAE処理等の各種のカメラ動作を制御する。
操作部232は、ユーザによって操作される各種の操作部材である。本実施形態における操作部232は、操作部材として、例えば、レリーズボタンと、動画ボタンと、メニューボタンと、再生ボタンと、電源ボタンと、を有している。
レリーズボタンは、ファースト(1st)レリーズスイッチとセカンド(2nd)レリーズスイッチの2段スイッチを有している。レリーズボタンが半押しされて、ファーストレリーズスイッチがオンされた場合に、マイクロコンピュータ230は、AE処理やAF処理等の撮影準備処理を実行する。また、レリーズボタンが全押しされて、セカンドレリーズスイッチがオンされた場合に、マイクロコンピュータ230は、静止画記録処理を実行する。
動画ボタンは、マイクロコンピュータ230に対して動画撮影の実行を指示する。動画ボタンが押された場合、マイクロコンピュータ230は、動画記録処理を実行する。また、動画記録処理の実行中に動画ボタンが押された場合、マイクロコンピュータ230は、動画記録処理を終了する。
メニューボタンは、メニュー画面の表示を指示するための操作部である。メニュー画面上において、ユーザは、カメラ本体200の各種の設定を変更することが可能である。本実施形態においては、例えばメニュー画面上において、特殊画像処理モードを設定する。この特殊画像処理モードにより、特殊画像処理部2182で施される特殊画像処理の内容が設定される。
再生ボタンは、マイクロコンピュータ230に対して静止画ファイル又は動画ファイルの再生を指示するための操作部である。電源ボタンは、カメラ本体200の電源のオン又はオフを指示するための操作部である。
さらに、操作部232は、タッチ入力部2321を有している。タッチ入力部2321は、表示パネル222の上等の、ユーザの指等でタッチ可能な位置に設けられ、ユーザによるタッチ操作を検出する。このタッチ入力部2321は、2次元状に配置された検出点を有している。それぞれの検出点は、ユーザによる指等のタッチがあった場合に、その検出点における圧力を示す検出信号を、マイクロコンピュータ230及びマップ生成部234に入力する。このような圧力を検出可能なタッチ入力部として、例えば透明電極の間に有機材料(例えばポリ乳酸)を挟んで構成されるタッチ入力部が知られている。このような有機材料を用いたタッチ入力部では、有機材料に対する圧力によって有機材料の撓み量が変化し、この撓み量の変化に応じて検出点で検出される検出電圧信号の大きさが変化する。この検出電圧信号の大きさを、圧力として検出する。
ここで、前述したレリーズボタン、動画ボタン、メニューボタン、再生ボタンと同等の機能をタッチ入力部2321によって実現するようにしても良い。即ち、ボタン等の物理的な操作部材がなくとも良い。
マップ生成部234は、タッチ入力部2321から入力された検出信号より、タッチされた検出点の座標を識別し、この座標における圧力をマップの強度に変換する。そして、マップ生成部234は、座標位置と強度とを対応付けたマップを作成する。本実施形態では、例えばAE処理用のAE用マップと画像処理用の画像処理用マップを作成する。
以下、マップの作成方法について説明する。ここでは、AE用マップと画像処理用マップとを区別せずに説明する。例えば、ユーザが、図2に示すようにして、タッチ入力部2321のある座標に配置された検出点を指Fでタッチしたとする。このとき、タッチ入力部2321は、指Fがタッチしている範囲Aにおける圧力を示す検出信号をマップ生成部234に入力する。これを受けてマップ生成部234は、図3(a)及び図4(a)に示すようなマップを生成する。
図3(a)及び図4(a)に示すマップは、タッチされた検出点の座標毎の強度の分布を表したものである。図3(a)及び図4(a)に示すマップを画像として表示させるようにしても良い。この場合、マップの強度を輝度に変換する。この場合、例えば強度が大きい座標に対応した画素ほど黒く(低輝度に)し、強度が小さい座標に対応した画素ほど白く(高輝度に)する。このような画像の生成手法は一例であって適宜変更され得る。例えば、白黒のような無彩色を用いずに有彩色を用いても良い。有彩色を用いる場合には、強度に応じて画像を色分けするようにしても良い。
図3(a)に示すマップは、ユーザがタッチ入力部2321に軽くタッチした場合に生成されるマップの例である。ここで、図3(b)は、図3(a)のマップで示される強度のうちの、タッチ中心を通る線分Bに沿った方向の情報の分布を示している。ユーザがタッチ入力部2321を軽くタッチした場合には、図3(b)に示すように、強度分布がタッチ中心を中心とする正規分布状となる。
一方、図4(a)に示すマップは、ユーザがタッチ入力部2321に強くタッチした場合に生成されるマップの例である。ユーザがタッチ入力部2321に強くタッチした場合には、ユーザの指Fがタッチ入力部2321の表面に押し付けられて平面状にへこむ。したがって、生成されるマップは、図4(a)に示すように、軽くタッチした場合に生成されるマップよりも広がりを持つこととなる。また、図4(b)は、図4(a)のマップで示される強度のうちの、タッチ中心を通る線分Bに沿った方向の強度の分布を示している。前述したように、ユーザがタッチ入力部2321に強くタッチした場合には、タッチ入力部2321からの力を受けて指Fが平面状にへこむので、図4(b)の実線で示すように、一定範囲の座標が略同じ強度を有する分布となる。
ここで、図4(b)に示すような略一定の強度が生じた場合、図4(b)の破線で示すような正規分布状となるようにマップの補正を行うようにしても良い。このような補正を行わなくとも良い。
また、タッチ入力部2321の構成として、所定期間毎のタッチ位置の座標及び圧力の変化を検出するようにタッチ入力部2321を構成しても良い。このような構成を有するタッチ入力部2321は、指Fの移動を検出したり、複数の座標への指Fのタッチを検出したりすることができる。ここで、ユーザがタッチ入力部2321の表面をなぞるように指Fを動かして1点目のタッチをし、その後に別の点をタッチした場合に生成されるマップの例を図5に示す。図5の参照符号301が1点目、参照符号302が2点目である。
また、タッチ入力部2321から入力される圧力とマップの強度との対応関係は、そのマップの使用目的等の種々の条件に応じて適宜変更して良い。例えば、AE用マップと画像処理用マップとで圧力とマップの強度との対応関係を変更しても良い。
また、前述の例では、タッチ入力部2321の構成として圧力を検出可能なものを例示している。実際には、タッチ入力部2321の操作に対応して、タッチ入力部2321に設定される座標毎に強度の分布を表すマップを生成できれば良い。例えば、ある座標の検出点へのタッチ回数に応じて強度の値を増加させるようにタッチ入力部2321を構成しても良い。
また、マップの生成に際しては、タッチ入力部2321でタッチ操作を検出可能な全ての座標の値を用いてマップを生成する必要はない。例えば、タッチ入力部2321の検出値としてはタッチ中心の座標と強度をマップ生成に使用し、残りの範囲の強度は、タッチ中心の強度から正規分布状に減衰させるように順次算出するようにしても良い。また、複数の離散した検出点における強度から補間によってその間の強度を算出してマップを生成しても良い。
Flashメモリ236は、例えばホワイトバランス補正用のホワイトバランスゲイン、カラーマトリクス演算用のカラーマトリクス係数、輝度特性変更用の各種の関数といった画像処理部218の動作に必要なパラメータ等の、カメラ本体200の動作に必要な各種のパラメータを記憶している。また、Flashメモリ236は、マイクロコンピュータ230が実行する種々のプログラムも記憶している。さらに、本実施形態におけるFlashメモリ236は、ロック操作の識別をするためのタッチパターン、並びにデフォルトのAE用マップ及びデフォルトの画像処理用マップも記憶している。これらのマップについては後で詳しく説明する。
以下、前述したデジタルカメラの動作について説明する。図6は、本実施形態に係るデジタルカメラのメイン動作を示すフローチャートである。図6の動作は、例えば図1に示すデジタルカメラ1の電源がオンされた場合に行われる。
電源オン後において、マイクロコンピュータ230は、初期化処理を行う(ステップS101)。初期化処理において、マイクロコンピュータ230は、自身が有するレジスタに設定されている記録中フラグをOffにする等の処理を行う。記録中フラグは、動画記録中であるか否かを示すフラグである。記録中フラグがOffになっている間は、動画記録中でないことを示す。一方、記録中フラグがOnになっている間は、動画記録中であることを示す。さらに、初期化処理において、マイクロコンピュータ230は、マップ記憶部2121に記憶されているマップをリセットする。リセットは、例えば各座標の強度を初期値(例えばゼロ)にすることで行う。または、Flashメモリ236にデフォルトのマップが記憶されている場合には、そのデフォルトのマップをマップ記憶部2121に上書きするようにしても良い。
次に、マイクロコンピュータ230は、ユーザによって操作部232の再生ボタンが押されたか否かを判定する(ステップS102)。ステップS102において、再生ボタンが押されたと判定した場合に、マイクロコンピュータ230は、再生・編集処理を実行する(ステップS103)。再生・編集処理の詳細については後で説明する。
また、ステップS102において再生ボタンが押されていないと判定した場合に、マイクロコンピュータ230は、カメラ設定をするか否かを判定する(ステップS104)。例えば、ユーザによって操作部232のメニューボタンが押された場合に、マイクロコンピュータ230は、カメラ設定をすると判定する。
ステップS104において、カメラ設定をすると判定した場合に、マイクロコンピュータ230は、表示ドライバ220を制御して表示パネル222にメニュー画面を表示させた後、カメラ設定処理を実行する(ステップS105)。
カメラ設定処理において、マイクロコンピュータ230は、ユーザからのカメラ設定の変更の指示を待つ。そして、何らかのカメラ設定の変更の指示がなされた場合に、マイクロコンピュータ230は、その指示に従ってカメラ設定を変更する。このカメラ設定処理においては、例えば静止画撮影時や動画撮影時の画像の記録形式の設定、画質等の画像の仕上がりに関する設定等が変更される。また、カメラ設定処理において、特殊画像処理を実行するか否か、及び特殊画像処理を実行する際の特殊画像処理モードを設定することが可能である。さらに、本実施形態においては、カメラ設定処理において、タッチ入力部2321の動作モードやタッチパターンの設定をすることも可能である。
ステップS104において、カメラ設定をしないと判定した場合に、マイクロコンピュータ230は、ユーザによって操作部232の動画ボタンが押されたか否かを判定する(ステップS106)。ステップS106において、動画ボタンが押されたと判定した場合に、マイクロコンピュータ230は、記録中フラグを反転させる(ステップS107)。即ち、マイクロコンピュータ230は、記録中フラグがOffの場合にはOnに、Onの場合にはOffにする。その後、マイクロコンピュータ230は、現在、動画記録中であるか否か、即ち記録中フラグがOnであるか否かを判定する(ステップS108)。
ステップS108において、記録中フラグがOnであると判定した場合に、マイクロコンピュータ230は、動画ファイルを生成する(ステップS109)。ここで、本実施形態においては、動画ファイルのヘッダ情報として、後述のマップ操作・ロック操作処理で生成されたマップを記憶させる。詳細については後で説明する。
また、ステップS108において、記録中フラグがOnでないと判定した場合に、マイクロコンピュータ230は、動画ファイルを閉じる(ステップS110)。
また、ステップS106において動画ボタンが押されていないと判定した場合、ステップS109において動画ファイルを生成した後、ステップS110において動画ファイルを閉じた後、マイクロコンピュータ230は、タッチ入力部2321の現在の動作モードがマップ操作・ロック操作モードであるか否かを判定する(ステップS111)。本実施形態におけるタッチ入力部2321は、動作モードとして、通常モードとマップ操作・ロックモードとを有している。通常モードは、タッチレリーズを可能とするためのモードである。この通常モードにおいては、表示パネル222の上に配置されたタッチ入力部2321の特定の座標に対してユーザの指のタッチがあった場合には、表示パネル222に表示されている画像中におけるタッチされた座標に対応した被写体に対するAE処理及びAF処理が行われ、その後に撮影(静止画記録又は動画記録)が行われる。また、マップ操作・ロックモードは、マップ生成部234によって生成されるマップの変更操作やタッチ入力部2321の操作を無効とするロック操作を行うためのモードである。これらの動作モードの切り替えは、ステップS105のカメラ設定やタッチ入力部2321の操作によって行われる。
ステップS111において、タッチ入力部2321の現在の動作モードがマップ操作・ロック操作モードであると判定した場合に、マイクロコンピュータ230は、マップ操作・ロック操作モードの処理を実行する(ステップS112)。マップ操作・ロック操作モードの処理の詳細については後で説明する。
ステップS111においてタッチ入力部2321の現在の動作モードが通常モードであると判定した場合又はステップS112の後、マイクロコンピュータ230は、ユーザによって操作部232のレリーズボタンが半押しされてレリーズボタンの状態がOff状態から1stレリーズスイッチのOn状態に遷移したか否かを判定する(ステップS113)。ここで、タッチ入力部2321の現在の動作モードが通常モードの場合であって、表示パネル222の上に配置されたタッチ入力部2321の特定の座標に対してユーザの指のタッチがあった場合も、1stレリーズスイッチのOn状態に遷移したと判定することとする。
ステップS113において、レリーズボタンの状態が1stレリーズスイッチのOn状態に遷移したと判定した場合に、マイクロコンピュータ230は、AE処理を行う(ステップS114)。AE処理の詳細については後で説明する。
AE処理の後、マイクロコンピュータ230は、AF処理を行う(ステップS115)。
AF処理において、マイクロコンピュータ230は、AF処理部216によって合焦評価値を取得させる。そして、マイクロコンピュータ230は、AF処理部216で取得された合焦評価値により、コントラストを評価しつつ、レンズ102のフォーカスレンズを微少量ずつ駆動させるようにマイクロコンピュータ108に指示する。その後、マイクロコンピュータ230は、コントラストが最大となった時点でフォーカスレンズの駆動を停止させるようにマイクロコンピュータ108に指示する。このようなAF処理は、所謂コントラスト方式のAF処理である。AF処理として位相差AF処理を用いるようにしても良い。また、タッチ入力部2321の現在の動作モードが通常モードの場合であって、表示パネル222の上に配置されたタッチ入力部2321の特定の座標に対してユーザの指のタッチがあった場合には、表示パネル222に表示されている画像中におけるタッチされた座標に対応した被写体に合焦するようにフォーカスレンズを駆動する。
ここで、図6の例においては、AE処理の後にAF処理を行うようにしている。これは、被写体の露出を適正としてからAF処理を行ったほうが、AF処理の精度が向上するためである。後で説明するが、動画記録中やライブビュー表示中にはAE処理が繰り返して行われるので、ある程度、被写体の露出が適正となっている。したがって、必ずしもAE処理の後にAF処理を行う必要はない。即ち、AE処理とAF処理の順序は、逆順でも良い。
ステップS115の後、マイクロコンピュータ230は、デジタルカメラ1の電源がオフされたか否かを判定する(ステップS116)。ステップS116において、デジタルカメラ1の電源がオフされていないと判定した場合に、マイクロコンピュータ230は、ステップS102以後の処理を実行する。一方、ステップS116において、デジタルカメラの電源がオフされたと判定した場合に、マイクロコンピュータ230は、図6の処理を終了させる。
また、ステップS113において、レリーズボタンの状態が1stレリーズスイッチのOn状態に遷移していないと判定した場合に、マイクロコンピュータ230は、ユーザによって操作部232のレリーズボタンが全押しされてレリーズボタンの状態が2ndレリーズスイッチのOn状態となっているか否かを判定する(ステップS117)。ここで、タッチ入力部2321の現在の動作モードが通常モードの場合であって、表示パネル222の上に配置されたタッチ入力部2321の特定の座標に対してユーザの指のタッチがあった場合も、2ndレリーズスイッチのOn状態に遷移したと判定することとする。
ステップS117において、レリーズボタンの状態が2ndレリーズスイッチのOn状態である場合に、マイクロコンピュータ230は、メカシャッタ202を用いた撮影処理を実行する(ステップS118)。このために、マイクロコンピュータ230は、AE処理において決定されるISO感度に応じてアナログ処理部206におけるゲイン制御量(増幅率)を設定するとともに、AE処理において決定される絞り値をマイクロコンピュータ108に送信する。その後、マイクロコンピュータ230は、マイクロコンピュータ108の制御による絞り104の駆動と同期して、AE処理において決定した露出時間に応じてメカシャッタ202を動作させて撮像素子204の露出値を制御する。このような撮影処理により、RAWデータがSDRAM212に記憶される。
メカシャッタ202を用いた撮影処理を実行した後、マイクロコンピュータ230は、撮影処理によってSDRAM212に記憶されたRAWデータに対する画像処理を、画像処理部218に実行させる(ステップS119)。この画像処理の詳細については後で説明する。
画像処理の後、マイクロコンピュータ230は、画像処理の結果としてSDRAM212に記憶された記録用画像データを、設定されている静止画記録形式で静止画ファイルとして記録する処理を行う(ステップS120)。この際、マイクロコンピュータ230は、静止画記録処理の結果としてSDRAM212に記憶された静止画像データを画像圧縮伸張部224に入力して静止画圧縮処理を実行するように画像圧縮伸張部224に指示する。この指示を受けて画像圧縮伸張部224は、予め設定された記録モードに対応するように静止画圧縮処理を行い、圧縮された静止画像データをSDRAM212に記憶させる。その後、マイクロコンピュータ230は、画像圧縮伸張部224により圧縮された静止画像データをSDRAM212から読み出し、読み出した静止画像データから静止画ファイルを作成し、作成した静止画ファイルを記録媒体228に記録する。ここで、本実施形態においては、静止画ファイルのヘッダ情報として、後述のマップ操作・ロック操作処理において生成されたマップを記憶させておく。詳細については後で説明する。
また、ステップS117においてレリーズボタンの状態が2ndレリーズスイッチのOn状態でないと判定した場合に、マイクロコンピュータ230は、AE処理を実行する(ステップS121)。このAE処理は、動画撮影又はライブビュー表示のための処理である。詳細については後で説明する。
AE処理の後、マイクロコンピュータ230は、電子シャッタを用いた撮影処理を実行する(ステップS122)。この撮影処理において、マイクロコンピュータ230は、AE処理によって決定した露出時間に応じて撮像素子204の電子シャッタ機能を動作させて撮像素子204の露出値を制御する。このような撮影処理により、RAWデータがSDRAM212に記憶される。
電子シャッタを用いた撮影処理を実行した後、マイクロコンピュータ230は、撮影処理によってSDRAM212に記憶されたRAWデータに対する画像処理を、画像処理部218に実行させる(ステップS123)。この画像処理の詳細については後で説明する。
画像処理の後、マイクロコンピュータ230は、ステップS112のマップ操作・ロック操作がなされてからの経過時間が所定時間(例えば0.5秒)内であるか否かを判定する(ステップS124)。
ステップS124において、マップ操作・ロック操作がなされてからの経過時間が所定時間内であると判定した場合に、マイクロコンピュータ230は、マップ操作・ロック操作がなされたことによって変更されたマップの画像を表示パネル222に表示させる(ステップS125)。マップの画像を表示パネル222に表示させることにより、ユーザは、マップ操作の結果を画像として認識することが可能である。
ステップS124において、マップ操作がなされてからの経過時間が所定時間内でないと判定した場合に、マイクロコンピュータ230は、ライブビュー表示を行う(ステップS126)。このライブビュー表示において、マイクロコンピュータ230は、画像処理の結果としてSDRAM212に記憶された表示用画像データを表示ドライバ220に入力する。これを受けて表示ドライバ220は、入力された表示用画像データを映像信号に変換して表示パネル222に出力する。表示パネル222は、この映像信号に基づいて画像を表示する。このようなライブビュー表示により、ユーザは、表示パネル222を用いて構図の確認等を行うことができる。
マップの画像を表示させた後又はライブビュー表示の後、マイクロコンピュータ230は、現在、動画記録中であるか否か、即ち記録中フラグがOnであるか否かを判定する(ステップS127)。ステップS127において、記録中フラグがOffであると判定した場合に、マイクロコンピュータ230は、ステップS116の判定を行う。また、ステップS127において、記録中フラグがOnであると判定した場合に、マイクロコンピュータ230は、動画記録処理を実行する(ステップS128)。その後、マイクロコンピュータ230は、ステップS116の判定を行う。
図7は、マップ操作・ロック操作処理について示すフローチャートである。マップ操作・ロック操作処理においては、生成されたマップに対して各種の操作を実行することができる。ここで、マップ操作・ロック操作処理の開始時にSDRAM212のマップ記憶部2121にマップが記憶されている場合には、そのマップを表示パネル222に表示させる。また、マップ記憶部2121にマップが記憶されておらず、Flashメモリ236にデフォルトのマップが記録されている場合には、そのデフォルトのマップを表示パネル222に表示させるようにしても良い。
マップ操作・ロック操作処理の開始後、マイクロコンピュータ230は、操作ボタンを表示パネル222に表示させる(ステップS201)。操作ボタンは、マップ操作・ロック操作処理における各種の操作をユーザが実行するための、タッチ入力部2321で操作可能なソフトウェアボタンである。図8は、操作ボタンの例を示している。図8の例では、操作ボタンとして、変更ボタン401、リセットボタン402、消しゴムボタン403、記録ボタン404、読込ボタン405を表示させている。これらの操作ボタンは、後述するマップ操作の内容に対応している。
マイクロコンピュータ230は、ユーザによってロック操作がなされたか否かを判定する(ステップS202)。例えば、ユーザが、タッチ入力部2321に予め設定された検出エリアの座標を所定のタッチパターンでタッチした場合に、ロック操作がされたと判定される。このために、タッチパターン生成部及び比較部としてのマイクロコンピュータ230は、ステップS202においてタッチ入力部2321の検出結果からタッチパターンを生成し、生成したタッチパターンをタッチパターン記憶部の一例としてのFlashメモリ236に記憶された所定のタッチパターンと比較することを行う。生成したタッチパターンと所定のタッチパターンとが類似している場合にはロック操作がなされたとする。
ここで、タッチパターンは、タッチ開始からの時間とその間の圧力の変化とによって設定される。また、所定のタッチパターンは、固定のパターンとしても良いし、ユーザが任意に設定できるようにしても良い。
ユーザが設定する場合、例えばカメラ設定処理において、ユーザは、図9に示すように、タッチ入力部2321の任意の領域501を任意のタッチパターンでタッチする。タッチパターン生成部としてのマイクロコンピュータ230は、タッチ入力部2321からの検出信号によって検出される圧力の時間変化からタッチパターンを生成し、生成したタッチパターンを、タッチパターン記憶部の一例としてのFlashメモリ236に記憶させる。なお、タッチパターンの設定中には、そのことをユーザが認知できるよう、「タッチ学習」等のアイコン502を表示させることが望ましい。
図10(a)及び図10(b)にタッチパターンの設定例を示す。タッチパターンは、図10(a)に示すように1回のタッチについて設定されるものでも良いし、図10(b)に示すように複数回(例では2回)のタッチについて設定されるものでも良い。ここで、タッチパターンの設定中に、図10(a)や図10(b)で示すようなグラフを表示させるようにしても良い。
ステップS202において、ユーザによってロック操作がなされたと判定した場合に、マイクロコンピュータ230は、そのロック操作がタッチ操作禁止の指示であるか否かを判定する(ステップS203)。例えば、タッチ操作禁止の指示のロック操作とタッチ操作許可の指示のロック操作とでタッチパターンを異ならせるようにすれば、タッチパターンを識別することによってステップS203の判定を行うことができる。この他、ロック操作をタッチ操作禁止の指示とタッチ操作許可の指示とで兼用させるようにしても良い。この場合、ロック操作をタッチ操作禁止の指示とするか又はタッチ操作許可の指示とするかは、例えばロック操作がなされる毎に切り替える。
ステップS203において、ロック操作がタッチ操作禁止の指示でないと判定した場合に、マイクロコンピュータ230は、それ以後のタッチ入力部2321の入力を有効とするタッチ操作許可処理を行う(ステップS204)。その後、マイクロコンピュータ230は、図7の処理を終了させる。また、ステップS203において、ロック操作がタッチ操作禁止の指示であると判定した場合に、マイクロコンピュータ230は、それ以後のタッチ入力部2321の入力を無効とするタッチ操作禁止処理を行う(ステップS205)。その後、マイクロコンピュータ230は、図7の処理を終了させる。なお、タッチ入力部2321の入力を無効とした場合であっても、マイクロコンピュータ230は、ステップS202の判定については行う。
このように、本実施形態では、ユーザによる所定のタッチパターンのタッチ入力に応じてタッチ入力部2321による操作の許可/禁止を切り替えるようにしている。このため、例えばユーザがデジタルカメラ1を首から提げている場合には、タッチ入力部2321がユーザの体に触れたとしても、所定のタッチパターンのタッチ入力されずにロック操作とは識別されない。したがって、タッチ操作禁止処理がなされている場合には、タッチ操作の禁止状態が勝手に解除されてしまうことがない。
ここで、図10(a)及び図10(b)は、圧力を検出可能なタッチ入力部におけるタッチパターンの設定例である。タッチパターンの設定は、圧力を検出不能なタッチ入力部であっても行うことができる。圧力を検出不能なタッチ入力部2321であっても、タッチがあったか否かの検出はできる。したがって、図11に示すように、タッチの有無の時間変化をタッチパターンとすることが可能である。
また、圧力を検出可能なタッチ入力部の場合、その圧力の変化を検出することで、ユーザがタッチした指がどの指であるか検出したり、指紋を検出したりすることもできる。これにより、タッチパターンとして、さらに、ユーザがタッチした指や指紋を設定しておくようにしても良い。また、指の動きを設定できるようにしても良い。このようにしてタッチパターンを複雑化することにより、タッチ操作の禁止状態が勝手に解除されてしまう可能性をさらに低減できる。
また、図9は、検出エリア501が1箇所である。これに対し、図12に示すように、検出エリア501を複数個所としても良い。この場合、タッチパターンを設定するのではなく、単に複数個所の検出エリア501に同時に又は連続的にタッチがあった場合に、ロック操作がされたと判定されるようにしても良い。勿論、それぞれの検出エリア501についてタッチパターンを設定し、それぞれの検出エリアで予め設定されたタッチパターンでタッチがあった場合に、ロック操作がされたと判定されるようにしても良い。このようにしてタッチパターンを複雑化することにより、タッチ操作の禁止状態が勝手に解除されてしまう可能性をさらに低減できる。
ここで、図7の説明に戻る。ステップS202において、ユーザによってロック操作がなされていないと判定した場合に、マイクロコンピュータ230は、ユーザによってマップ種類変更操作がなされたか否かを判定する(ステップS206)。例えば、変更ボタン401へのタッチがあった場合に、マップ種類変更操作がなされたと判定する。
ステップS206において、ユーザによってマップ種類変更操作がなされたと判定した場合に、マイクロコンピュータ230は、マップの切り替えを行う(ステップS207)。例えば、マップ種類変更操作がなされる毎にマップの種類を切り替える。ここで、本実施形態においては、例として、AE処理用のマップであるAE用マップと画像処理用のマップである画像処理用マップとの間でマップの切り替えを行うこととする。マップの切り替え後、マイクロコンピュータ230は、図7の処理を終了させる。
ステップS206において、ユーザによってマップ種類変更操作がなされていないと判定した場合に、マイクロコンピュータ230は、ユーザによってマップ拡大操作がなされたか否かを判定する(ステップS208)。例えば、ユーザがタッチ入力部2321を2本の指でタッチし、これらの2本の指の間隔を広げるピンチ操作をした場合に、マップ拡大操作がなされたと判定する。
ステップS208において、ユーザによってマップ拡大操作がなされたと判定した場合に、マイクロコンピュータ230は、ユーザのマップ拡大操作に応じてマップを拡大する(ステップS209)。マップの拡大後、マイクロコンピュータ230は、図7の処理を終了させる。
ステップS208において、ユーザによってマップ拡大操作がなされていないと判定した場合に、マイクロコンピュータ230は、ユーザによってマップ縮小操作がなされたか否かを判定する(ステップS210)。例えば、ユーザがタッチ入力部2321を2本の指でタッチし、これらの2本の指の間隔を狭めるピンチ操作をした場合に、マップ縮小操作がなされたと判定する。
ステップS210において、ユーザによってマップ縮小操作がなされたと判定した場合に、マイクロコンピュータ230は、ユーザのマップ縮小操作に応じてマップを縮小する(ステップS211)。マップの縮小後、マイクロコンピュータ230は、図7の処理を終了させる。
ステップS209及びステップS211で示したマップのサイズ変更について説明する。マップのサイズ変更は、拡大の場合も縮小の場合も、ある位置を基準にしてサイズを変更する。例えば、図13(a)は、マップの重心(マップ作成時のタッチ中心となる位置)を基準としてマップのサイズを変更(図の例は縮小)する例である。マップの縮小率は、例えば2本の指の間隔に応じて設定するものとする。この他、図13(b)に示すように、タッチ入力部2321の中心(表示パネル222の画面中心)を基準として拡大縮小するようにしても良いし、図13(c)に示すように2本の指の中心を基準として拡大縮小するようにしても良い。図13(b)又は図13(c)の例では、マップの中心位置も変更する。
ここで、マップを縮小する場合、縮小後になくなる部分の強度については初期値(例えばゼロ)にする。また、マップを拡大する場合、マップの位置と拡大率によっては、マップがタッチ入力部2321の範囲(表示パネル222の画面範囲)からはみ出してしまうことが考えられる。この場合、はみ出た部分については情報を切り捨ててしまっても良いし、その後の縮小に備えてはみ出た部分の情報を保持しておくようにしても良い。
また、タッチ入力部2321以外の操作部232の操作によって拡大縮小を行えるようにしても良い。この場合には、図13(a)又は図13(b)に示した位置を基準として拡大縮小を行うことになる。
ここで、図7の説明に戻る。ステップS210において、ユーザによってマップ縮小操作がなされていないと判定した場合に、マイクロコンピュータ230は、ユーザによってリセット操作がなされたか否かを判定する(ステップS212)。例えば、リセットボタン402へのタッチがあった場合に、リセット操作がなされたと判定する。
ステップS212において、ユーザによってリセット操作がなされたと判定した場合に、マイクロコンピュータ230は、マップ記憶部2121に記憶されているマップをリセットする(ステップS213)。このリセットは、初期化処理のリセットと同様である。
ステップS212において、ユーザによってリセット操作がなされていないと判定した場合に、マイクロコンピュータ230は、ユーザによってタッチ入力部2321への1本指タッチがなされたか否かを判定する(ステップS214)。
ステップS214において、ユーザによってタッチ入力部2321への1本指タッチがなされたと判定した場合に、マイクロコンピュータ230は、現在、タッチ入力部2321の入力モードが消しゴムモードであるか否かを判定する(ステップS215)。例えば、ユーザが消しゴムボタン403にタッチした場合にタッチ入力部2321の入力モードが消しゴムモードに切り替えられ、その後に再びユーザが消しゴムボタン403にタッチした場合に消しゴムモードが解除される。
ステップS215において、現在、タッチ入力部2321の入力モードが消しゴムモードであると判定した場合に、マイクロコンピュータ230は、マップ生成部234に対してマップの生成を指示する。この際、マイクロコンピュータ230は、タッチ入力部2321で検出される圧力に応じてマップ記憶部2121に記憶されたマップの強度を減少させるよう、マップ生成部234に対して指示する(ステップS216)。なお、対応する座標の強度が初期値の場合には、そのままとする。
ステップS215において、現在、タッチ入力部2321の入力モードが消しゴムモードでないと判定した場合も、マイクロコンピュータ230は、マップ生成部234に対してマップの生成を指示する。この際、マイクロコンピュータ230は、タッチ入力部2321で検出される圧力に応じてマップの強度を増加させるよう、マップ生成部234に対して指示する(ステップS217)。なお、マップ記憶部2121にマップが記憶されていない場合には各座標のマップの強度を初期値から増加させる。
ステップS216及びステップS217の処理により、図3及び図4で示したようなマップが生成される。マップの生成後、マイクロコンピュータ230は、図7の処理を終了させる。
ここで、ステップS216及びステップS217の例では、ユーザの指で押された際の圧力に応じてマップの強度を増減させている。これに対し、タッチされた位置の圧力に応じた値にマップの強度を更新するようにしても良い。即ち、タッチ前のマップの強度がどのような値であっても、タッチ後の圧力に応じた値にマップの強度を変更しても良い。
ステップS214において、ユーザによって1本指タッチがなされていないと判定した場合に、マイクロコンピュータ230は、ユーザによってマップ記録操作がなされたか否かを判定する(ステップS218)。例えば、記録ボタン404へのタッチがあった場合に、マップ記録操作がなされたと判定する。
ステップS218において、ユーザによってマップ記録操作がなされたと判定した場合に、マイクロコンピュータ230は、マップ記憶部2121に記憶されているマップをFlashメモリ236に記録する(ステップS219)。マップの記録後、マイクロコンピュータ230は、図7の処理を終了させる。ステップS219において記録したマップは、前述したデフォルトのマップとして利用できる。
ステップS218において、ユーザによってマップ記録操作がなされていないと判定した場合に、マイクロコンピュータ230は、ユーザによってマップ読み込み操作がなされたか否かを判定する(ステップS220)。例えば、読込ボタン405へのタッチがあった場合に、マップ読み込み操作がなされたと判定する。
ステップS220において、ユーザによってマップ読み込み操作がなされたと判定した場合に、マイクロコンピュータ230は、Flashメモリ236に記録されたデフォルトのマップをマップ記憶部2121に読み込む(ステップS221)。マップの読み込み後、マイクロコンピュータ230は、図7の処理を終了させる。ここで、マップ記憶部2121へのマップの読み込みを行った場合には、読み込んだマップを表示パネル222に表示させることが望ましい。
ステップS220において、ユーザによってマップ読み込み操作がなされていないと判定した場合に、マイクロコンピュータ230は、図7の処理を終了させる。
ここで、図7の例で示したマップ操作・ロック操作は、主にタッチ入力部2321の操作を前提としている。マップ操作・ロック操作をタッチ入力部2321以外の操作部232の操作によって行えるようにしても良い。
図14は、AE処理について示すフローチャートである。本実施形態におけるAE処理においては、マップ生成部234によって生成されるAE用マップに従ってAEの評価値を算出することにより、ユーザの意図を反映したAE処理を行えるようにする。
AE処理が開始されると、マイクロコンピュータ230は、AE処理部214にAE処理の実行を指示する。これを受けて、AE処理部214は、マップ生成部234に記憶されたAE用マップを取得する(ステップS301)。
AE用マップの取得後、AE処理部214は、取得したマップがリセット状態であるか否か、即ち各座標の強度が全て初期値であるか否かを判定する(ステップS302)。
ステップS302において、取得したマップがリセット状態であると判定した場合に、AE処理部214は、Flashメモリ236に記憶されたデフォルトのAE用マップを取得する(ステップS303)。デフォルトのAE用マップは、特に限定されるものではないが、例えば中央重点測光等の所定の測光方式に対応したマップである。中央重点測光に対応したAE用マップとは、タッチ入力部2321の中央位置(表示パネル222の中央位置)付近に強度の分布を持つマップである。
取得したAE用マップがリセット状態でない場合又はデフォルトのAE用マップを取得した後、AE処理部214は、AE用マップを正規化する(ステップS304)。正規化処理として、AE処理部214は、取得したマップの強度の合計値が所定値(例えば1)となるように、マップの強度の合計値でマップの各座標の強度を除算する。なお、合計値がゼロの場合には、各マップの強度の値をゼロにする。
続いて、AE処理部214は、RAWデータとAE用マップとを用いてAE評価値を算出する(ステップS305)。例えば、正規化したマップの強度の値をRAWデータの各座標の値に乗じ、この乗算結果の総和をAE評価値とする。ここで、分割測光のように所定のエリア毎にAE評価値を求めても良いし、評価測光のように分割エリア毎に得られるAE評価値に重み付けをしても良い。
続いて、AE処理部214は、静止画記録時又は動画記録時の撮影条件(ISO感度、絞り値、露出時間)を算出する(ステップS306)。この処理において、AE処理部214は、AE評価値の算出に用いたRAWデータの撮影条件(ISO感度、絞り値、露出時間)とステップS305で算出したAE評価値とを用いて、静止画記録時又は動画記録時に得られるRAWデータの露出値が所定の目標値となるように静止画記録時又は動画記録時の撮影条件を算出する。
例えば、図3(a)で示した1点を軽くタッチした場合に得られるAE用マップに従ってAE評価値を算出した場合、タッチされた座標に対応した画素の露出値から撮影条件を算出するスポット測光となる。また、図4(a)で示した1点を強くタッチした場合に得られるAE用マップに従ってAE評価値を算出した場合、タッチされた座標付近の画素の露出値を重視して撮影条件を算出する重点測光となる。
このように、本実施形態によれば、ユーザは、タッチ操作の際のタッチの強さを変更するだけで、AE処理の際の測光形態を自由に変更することが可能である。
図15は、画像処理について示すフローチャートである。本実施形態では、マップ生成部234によって生成される画像処理用マップに従って画像処理を行うことにより、ユーザの意図を反映した画像処理を行えるようにする。なお、図15は、ホワイトバランス(WB)補正処理に対してマップを使用する例を示している。以下、画像処理用マップのうちのホワイトバランス補正処理用に生成されたマップをWB用マップと言う。
画像処理が開始されると、マイクロコンピュータ230は、画像処理部218に画像処理の実行を指示する。これを受けて画像処理部218の基本画像処理部2181は、マップ生成部234に記憶されたWB用マップを取得する(ステップS401)。
WB用マップの取得後、基本画像処理部2181は、取得したマップがリセット状態であるか否か、即ち各座標の強度が全て初期値であるか否かを判定する(ステップS402)。
ステップS402において、取得したマップがリセット状態であると判定した場合に、基本画像処理部2181は、マップを使用せずにホワイトバランス(WB)ゲインを取得する(ステップS403)。WBゲインの取得手法は、例えばプリセットホワイトバランスによるものやオートホワイトバランス(AWB)によるものが考えられる。プリセットホワイトバランスは、予め所定の光源毎に算出したWBゲインをFlashメモリ236に記憶させておくことで、ユーザによって設定された光源のWBゲインを読みだして使用できるようにする手法である。一方、オートホワイトバランスは、RAWデータを解析することにより、撮影時に被写体を照明している光源を推定し、推定した光源に応じたWBゲインを算出する手法である。
ステップS402において、取得したWB用マップがリセット状態でないと判定した場合、基本画像処理部2181は、取得したWB用マップを正規化する(ステップS404)。正規化処理としては、例えば取得したマップの強度の合計値が所定値(例えば1)となるように、マップの強度の合計値でマップの各座標の強度を除算することを行う。
続いて、基本画像処理部2181は、RAWデータを色成分毎に積算する(ステップS405)。この積算処理において、基本画像処理部2181は、正規化したマップの強度の値をRAWデータの各座標の値からOB値を減算した値に乗じ、この乗算結果を色成分毎に積算する。ただし、撮像素子204のカラーフィルタの色配列がベイヤ配列の場合には、エリア毎のGr画素とGb画素の平均値を積算する。また、RAWデータのうち、所定範囲の明るさを有する座標のみを積算値の算出に使用しても良い。このようにすることで、飽和部(所定範囲よりも明るい画素)や暗部(所定範囲よりも暗い画素)の影響を排除して積算値を算出することができる。
積算値の算出後、基本画像処理部2181は、WBゲインを算出する(ステップS406)。R成分の積算値をR、G成分の積算値をG、B成分の積算値をBとしたとき、WBゲインは、以下のように与えられる。
Rゲイン=G/R
Bゲイン=G/B
WBゲインを取得した後、基本画像処理部2181は、OB減算処理を行う(ステップS407)。OB減算処理において、基本画像処理部2181は、入力されたRAWデータからオプティカルブラック(OB)値を減算することでRAWデータにおける暗電流成分を除去する。
OB減算の後、基本画像処理部2181は、WB補正処理を行う(ステップS408)。WB補正処理において、基本画像処理部2181は、OB減算処理が施されたRAWデータの色成分毎にステップS403又はS406で取得したWBゲインを乗じることで画像としての色バランスを補正する。
WB補正処理の後、基本画像処理部2181は、RAWデータの形式がベイヤ形式の場合には、同時化処理を行う(ステップS409)。同時化処理において、基本画像処理部2181は、WB補正がなされたRAWデータを、補間処理を用いて同時化する。これにより、1画素がRGBのうちの1つの色成分を有しているRAWデータを1画素がRGB3つの色成分を有するRGBデータに変換する。
同時化処理の後、基本画像処理部2181は、色再現処理を行う(ステップS410)。色再現処理において、基本画像処理部2181は、RGBデータの各画素に、設定されているホワイトバランス(WB)モードに応じたカラーマトリクス係数を乗じることでRGBデータの色変換をする。さらに、基本画像処理部2181は、色変換したRGBデータの色相及び彩度が適切なものとなるように色を補正することにより、画像の色再現を調整する。
色再現処理の後、基本画像処理部2181は、輝度変更処理を行う(ステップS411)。輝度変更処理において、基本画像処理部2181は、色再現処理がされたRGBデータをガンマ変換し、さらにガンマ変換したRGBデータをYC(輝度・色差)データに変換した後、さらにYデータをガンマ変換する。
輝度変更処理の後、基本画像処理部2181は、エッジ強調処理を行う(ステップS412)。エッジ強調処理において、基本画像処理部2181は、輝度変更処理後のYデータに対し、バンドパスフィルタ処理を施してエッジ成分を抽出し、抽出したエッジ成分にエッジ強調量に応じた係数を乗じる。そして、基本画像処理部2181は、係数を乗じたエッジ成分をもとのYデータに加算することで画像のエッジ成分を強調する。
エッジ強調処理の後、基本画像処理部2181は、ノイズ低減(NR)処理を行う(ステップS413)。ノイズ低減処理において、基本画像処理部2181は、エッジ強調処理がされたYデータを周波数分解し、周波数に応じてコアリング処理等を施して画像におけるノイズ成分を低減させる。Cデータに対してノイズ成分を低減させても良い。ノイズ低減処理後のデータは、記録形式がTIFF形式の場合には所定のマトリクス演算を行って再度RGB形式に変換する。
ノイズ低減処理の後、特殊画像処理部2182は、特殊画像処理を行うか否かを判定する(ステップS414)。例えば、カメラ設定処理において、特殊画像処理を実行する旨の設定がされている場合には、特殊画像処理をすると判定される。ステップS414において、特殊画像処理を実行しないと判定された場合には、図15の処理が終了する。
ステップS414において、特殊画像処理を行うと判定した場合に、特殊画像処理部2182は、特殊画像処理を実行する(ステップS415)。特殊画像処理の終了後、図15の処理が終了する。
図16は、特殊画像処理について示すフローチャートである。本実施形態では、特殊画像処理においてもマップ生成部234によって生成される画像処理用マップに従って処理を行う。以下、画像処理用マップのうちの特殊画像処理用に生成されたマップを特殊効果用マップと言う。
特殊画像処理を実行すると判定した場合に、特殊画像処理部2182は、マップ生成部234に記憶された特殊効果用マップを取得する(ステップS501)。
続いて、特殊画像処理部2182は、シェーディング効果を付加するか否かを判定する(ステップS502)。ステップS502において、シェーディング効果を付加しないと判定した場合に、特殊画像処理部2182は、ステップS503の処理をスキップする。
また、ステップS502において、シェーディング効果を付加すると判定した場合に、特殊画像処理部2182は、Yデータにシェーディング効果を付加する(ステップS503)。
この処理において、特殊効果用マップがリセット状態でない場合に、特殊画像処理部2182は、特殊効果用マップに応じてゲインマップを生成する。ゲインマップは、例えば特殊効果用マップの強度の大きい座標に対応した画素ほど小さなゲインを有するマップとする。このようなゲインマップの各ゲインGは、例えば以下の式に従って算出する。
G=1−[特殊効果用マップにおける各座標の強度の値]/特殊効果用マップにおける強度の最大値]
ゲインマップを生成した後、特殊画像処理部2182は、Yデータの各画素にその画素の値に対応するゲインGを乗じる。
このような処理により、特殊効果用マップにおける強度の大きい座標に対応した画素、即ちユーザによって強くタッチされた部分の輝度を暗くするようなシェーディング効果が画像に付加される。
また、特殊効果用マップがリセット状態の場合には、例えば中心位置からの距離に応じて徐々に輝度の値が低下するような(ゲインが小さくなるような)ゲインマップを生成し、各画素にその画素の値に応じたゲインを乗じる。なお、ゲインの値は最大値が1である。
シェーディングの付加に際して必ずしも特殊効果用マップに応じてゲインマップを生成する必要はない。例えば、ゲインマップを所定のマップ(例えば特殊効果用マップがリセット状態の場合のゲインマップ)としておき、各画素にゲインを乗じた後で、特殊効果用マップに応じたシェーディングを付加させる(強度に応じて輝度を低下させる処理をする)ようにしても良い。
さらに、特殊効果用マップとゲインマップの関係も変更可能である。例えば、特殊効果用マップにおける強度の大きい座標に対応した画素ほど大きなゲインを有するゲインマップを作成した場合、ユーザによって強くタッチされた部分を明るくし、その他の部分を暗くするようなシェーディング効果を付加することができる。
続いて、特殊画像処理部2182は、ソフトフォーカス効果を付加するか否かを判定する(ステップS504)。ステップS504において、ソフトフォーカス効果を付加しないと判定した場合に、特殊画像処理部2182は、ステップS505の処理をスキップする。
また、ステップS504において、ソフトフォーカス効果を付加すると判定した場合に、特殊画像処理部2182は、YCデータにソフトフォーカス効果を付加する(ステップS505)。
この処理において、特殊効果用マップがリセット状態でない場合に、特殊画像処理部2182は、YCデータに対してローパスフィルタ処理を施してYCデータをぼかす。そして、特殊画像処理部2182は、ぼかし後のYCデータとぼかし前のYCデータとの合成割合αを、特殊効果用マップに応じて算出する。合成割合αは、例えば特殊効果用マップの強度の大きい座標に対応した画素ほど大きくぼけるように、即ちぼかし後のYCデータの合成割合が大きくなるように算出する。このような合成割合αは、例えば以下の式に従って算出する。
α=特殊効果用マップにおける各座標の強度の値]/特殊効果用マップにおける強度の最大値]
合成割合αを算出した生成した後、特殊画像処理部2182は、ぼかし後のYCデータの各画素にαを乗じたものと、ぼかし前のYCデータの各画素に(1−α)を乗じたものとを合成(加算)する。
このような処理により、タッチされた座標の周辺が大きくぼけるようなソフトフォーカス効果が画像に付加される。
また、特殊効果用マップがリセット状態の場合には、ぼかし後のYCデータとぼかし前のYCデータとを所定の割合(例えば、ぼかし後:ぼかし前=2:3)で合成する。
ここで、ソフトフォーカス効果の付加に際して、予め所定の合成割合Aを決めておき、以下の式に従って最終的な合成割合αを決めても良い。
α=A+(1−A)×[特殊効果用マップにおける各座標の強度の値]/特殊効果用マップにおける強度の理論上の最大値]
上式の場合、特殊効果用マップの強度がゼロの座標であってもαがAとなる。したがって、YCデータの全体にソフトフォーカス効果が付加されることとなる。
また、合成割合αを算出するのではなく、ぼかしの程度を特殊効果用マップに応じて変更するようにしても良い。例えば、強度が大きい座標に対応した画素ほど、高周波成分が低減されるようにぼかし処理に用いるローパスフィルタの値を設定する。このようにした場合も、ユーザが強くタッチした位置が大きくぼけるソフトフォーカス効果を付加することが可能である。
さらに、特殊効果用マップと合成割合αとの関係や特殊効果用マップとぼかしの程度の割合も変更可能である。例えば、特殊効果用マップにおける強度の大きい座標に対応した画素ほどαが小さくなるようにすれば、ユーザが強くタッチした部分を鮮明にし、その他の部分をぼかすようなソフトフォーカス効果を付加することができる。
続いて、特殊画像処理部2182は、ノイズ効果を重畳するか否かを判定する(ステップS506)。ステップS506において、ノイズ効果を重畳しないと判定した場合に、特殊画像処理部2182は、ステップS507の処理をスキップする。
ステップS506において、ノイズ効果を重畳すると判定した場合に、特殊画像処理部2182は、YCデータにノイズ効果を重畳する(ステップS507)。
この処理において、特殊効果用マップがリセット状態でない場合に、特殊画像処理部2182は、特殊効果用マップに応じてノイズ重畳用のゲインマップを生成する。ゲインマップは、例えば特殊効果用マップの強度の大きい座標に対応した画素ほど多くのノイズが重畳される(ノイズに乗じるゲインが大きくなる)マップとする。このようなゲインマップの各ゲインGは、例えば以下の式に従って算出する。
G=1−[特殊効果用マップにおける各座標の強度の値]/特殊効果用マップにおける強度の理論上の最大値]
ゲインマップを生成した後、特殊画像処理部2182は、所定のノイズデータの各画素にゲインGを乗じる。そして、特殊画像処理部2182は、ゲインGを乗じた後のノイズデータをYCデータに重畳する。ここで、ノイズデータは、予めFlashメモリ236に記憶させておいた固定パターンのノイズデータを用いるようにしても良いし、ノイズ効果を重畳する処理を行う毎に擬似乱数発生器等を用いて発生させるようにしても良い。
このような処理により、特殊効果用マップにおける強度の大きい座標に対応した画素、即ちユーザによって強くタッチされた部分に多くのノイズが重畳されるようなノイズ効果が画像に付加される。
ここで、特殊効果用マップの強度の大きい座標に対応した画素ほど少ないノイズが重畳されるようにしても良い。
続いて、特殊画像処理部2182は、ぼかし処理をするか否かを判定する(ステップS508)。ステップS508において、ぼかし処理しないと判定した場合に、特殊画像処理部2182は、ステップS509の処理をスキップする。
ステップS508において、ぼかし処理をすると判定した場合に、特殊画像処理部2182は、YCデータに対してぼかし処理を施す(ステップS509)。
この処理において、特殊効果用マップがリセット状態でない場合に、特殊画像処理部2182は、特殊効果用マップの強度が大きい座標に対応した画素ほど、高周波成分が低減されるようにぼかし処理に用いるローパスフィルタの値を設定してぼかし処理を施す。
また、特殊効果用マップがリセット状態の場合には、例えば被写体位置(AF位置等でも良い)を中心にして上下方向又は左右方向に徐々に高周波成分が低減されるようにぼかし処理に用いるローパスフィルタの値を設定してぼかし処理を施す。
ここで、被写体位置やAF位置等からの距離に応じて徐々に高周波成分が低減されるようにぼかし処理に用いるローパスフィルタの値を設定してぼかし処理を行うようにしても良い。
この他、ぼかし後のYCデータとぼかし前のYCデータと合成する処理を利用してぼかし処理を行うようにしても良い。この場合、例えば被写体位置やAF位置等を中心にして上下方向又は左右方向に徐々に高周波成分が低減されるように、ぼかし後のYCデータの合成割合を徐々に大きく(ぼかし前のYCデータの合成割合を徐々に小さく)して合成を行う。
続いて、特殊画像処理部2182は、クロスフィルタ処理をするか否かを判定する(ステップS510)。ステップS510において、クロスフィルタ処理をしないと判定した場合に、特殊画像処理部2182は、ステップS511の処理をスキップする。
ステップS510において、クロスフィルタ処理をすると判定した場合に、特殊画像処理部2182は、Yデータに対してクロスフィルタ処理を施す(ステップS511)。
この処理において、特殊効果用マップがリセット状態でない場合には、特殊画像処理部2182は、特殊効果用マップの強度が大きい座標に対応した画素ほど、クロスフィルタ処理による輝線の長さが長くなるようにする。具体的には、特殊画像処理部2182は、画像データ(Yデータ)中の輝点(高輝度画素)を検索する。続いて、特殊画像処理部2182は、検索した輝点と対応する特殊効果用マップの座標における強度を取得する。そして、特殊画像処理部2182は、取得した強度に応じた長さの輝線を画像データ上に描画する。
このような処理により、特殊効果用マップにおける強度の大きい座標に対応した画素、即ちユーザによって強くタッチされた部分の輝線の長さが長くなる。
ここで、特殊効果用マップの強度が大きい座標に対応した画素ほど、クロスフィルタ処理による輝線の長さが短くなるようにしても良い。
また、輝線の長さではなく、描画する輝線の濃さを変えるようにしても良い。このような処理により、例えば、輝線を描画した結果、描画した輝線が被写体にかかってしまったような場合にその部分を消す(濃さを薄くする)等の処理を行うことが可能である。
続いて、特殊画像処理部2182は、パートカラー処理をするか否かを判定する(ステップS512)。ステップS512において、パートカラー処理をしないと判定した場合に、特殊画像処理部2182は、ステップS513の処理をスキップして図16の処理を終了させる。
ステップS512において、パートカラー処理をすると判定した場合に、特殊画像処理部2182は、Cデータに対してパートカラー処理を施す(ステップS513)。その後、特殊画像処理部2182は、図16の処理を終了させる。
この処理において、特殊効果用マップがリセット状態でない場合に、特殊画像処理部2182は、特殊効果用マップの強度が大きい座標に対応した画素ほど、色が残るように色のゲインマップを作成する。このようなゲインマップの各ゲインGは、例えば以下の式に従って算出する。
G=特殊効果用マップにおける各座標の強度の値]/特殊効果用マップにおける強度の理論上の最大値]
ゲインマップを生成した後、特殊画像処理部2182は、Cデータ(無彩色は0になるように生成されている)の各画素にゲインGを乗じる。
このような処理により、特殊効果用マップにおける強度の大きい座標に対応した画素、即ちユーザによって強くタッチされた部分以外の部分の色が薄くなる。
ここで、タッチされた部分の色を全て残すのではなく、タッチされた部分のうちの特定の色(例えば赤)のみを残すようにしても良い。また、タッチされた部分の色を残す色とし、それ以外の色を残さない(無彩色にする)ようにしても良い。
このように、本実施形態によれば、ユーザは、タッチ操作の際のタッチの強さを変更するだけで、WB補正処理や各種の特殊画像処理における画像処理形態を自由に変更することが可能である。
図17は、再生・編集処理について示すフローチャートである。本実施形態においては、画像の撮影時だけでなく、画像の再生時においてもWB用マップや特殊効果用マップに応じた画像処理を行えるようにする。このために、画像ファイルの記録時に、その前のマップ操作・ロック操作で生成されたマップを記録しておく。
図18(a)は、記録形式がJPEG又はTIFFの場合(基本画像処理済みであって一部の特殊画像処理が施されていない場合)の静止画ファイルの例である。再生時には改めてAE処理を行う必要はない。したがって、AE用マップを記録する必要はない。また、基本画像処理が既に行われているので、WB用マップも記録する必要はない。したがって、特殊効果用マップ(マップに従った処理がなされていないもの)を少なくとも記録しておく。
図18(b)は、記録形式がRAWの場合(基本画像処理及び特殊画像処理が施されていない場合)の静止画ファイルの例である。この場合には、再生・編集処理時にRAWデータに対して基本画像処理及び特殊画像処理を行うことができる。したがって、WB用マップ及び特殊効果用マップを少なくとも記録しておく。図18(b)では、AE用マップも記録しているが、記録しなくとも良い。
図18(c)は、動画ファイルの例である。動画ファイルの場合も、静止画ファイル((基本画像処理済みであって一部の特殊画像処理が施されていない)と基本的には同様である。ただし、動画ファイルの場合には、画像データを複数の動画ブロック(例えば0.5秒単位。この他、圧縮形式がH.264形式等のフレーム間圧縮を伴う形式である場合には、フレーム内圧縮のみを行うフレームの挿入間隔)に分割し、ブロック毎に対応する特殊効果用マップを記録する。なお、マップのファイルを動画ファイルと別にしても良い。この場合には、動画ファイル内の各動画ブロックがマップファイルの内のどの特殊効果用マップと対応するかを示す情報を併せて記録しておく。
以下、図17についてさらに説明する。ここで、図17は、静止画ファイルに対して特殊画像処理を施す例を示している。しかしながら、動画ファイルに対して特殊画像処理を施すようにしても良い。
再生・編集処理の開始後、マイクロコンピュータ230は、記録媒体228に記録されている画像ファイルの一覧を表示パネル222に表示させる(ステップS611)。
ユーザは、一覧表示された画像ファイルの中から所望の画像ファイルを選択する(ステップS612)。この選択を受けて、マイクロコンピュータ230は、選択された画像ファイルが動画ファイルであるか否かを判定する(ステップS613)。
ステップS613において、選択された画像ファイルが動画ファイルであると判定した場合に、マイクロコンピュータ230は、選択された動画ファイルのフレーム数を読み込む(ステップS614)。続いて、マイクロコンピュータ230は、再生フレーム数を示すカウンタiの値を初期化(i=1)する(ステップS615)。その後、マイクロコンピュータ230は、ユーザによって選択された動画ファイルのiフレーム目に対応した画像を表示パネル222に表示させる(ステップS616)。具体的には、マイクロコンピュータ230は、ユーザによって選択された動画ファイルのiフレーム目を、画像圧縮伸張部224によって伸長し、伸長処理の結果としてSDRAM212に記憶された表示用画像データを表示ドライバ220に入力する。これを受けて表示ドライバ220は、入力された表示用画像データを映像信号に変換して表示パネル222に出力する。表示パネル222は、この映像信号に基づいて画像を表示する。
iフレーム目の表示後、マイクロコンピュータ230は、iに1を加える(ステップS617)。そして、マイクロコンピュータ230は、iがフレーム数以下であるか否かを判定する(ステップS618)。
ステップS618において、iがフレーム数以下であると判定した場合には、まだ再生すべきフレームが残っている。この場合には、マイクロコンピュータ230は、処理をステップS616に戻す。
ステップS618において、iがフレーム数より大きいと判定した場合に、マイクロコンピュータ230は、ユーザによって再生・編集処理の終了が指示されたか否かを判定する(ステップS619)。例えば、再生ボタンが再び押された場合に、再生・編集処理の終了が指示されたと判定される。
ステップS619において、再生・編集処理の終了が指示されていないと判定した場合に、マイクロコンピュータ230は、処理をステップS611に戻す。また、ステップS619において、再生・編集処理の終了が指示されたと判定した場合に、マイクロコンピュータ230は、図17の処理を終了させる。
ステップS613において、選択された画像ファイルが動画ファイルでないと判定した場合に、マイクロコンピュータ230は、選択された静止画ファイルを読み込む(ステップS620)。続いて、マイクロコンピュータ230は、選択された静止画ファイルに対応した画像を表示パネル222に表示させる(ステップS621)。具体的には、マイクロコンピュータ230は、ユーザによって選択された静止画ファイルを、画像圧縮伸張部224によって伸長し、伸長処理の結果としてSDRAM212に記憶された表示用画像データを表示ドライバ220に入力する。これを受けて表示ドライバ220は、入力された表示用画像データを映像信号に変換して表示パネル222に出力する。表示パネル222は、この映像信号に基づいて画像を表示する。
続いて、マイクロコンピュータ230は、表示パネル222に表示中の静止画に対する特殊画像処理の指示がなされたか否かを判定する(ステップS622)。例えば、タッチ入力部2321の所定の座標へのタッチがあった場合に、特殊画像処理の指示がなされたと判定される。
ステップS622において、特殊画像処理の指示がなされたと判定した場合に、マイクロコンピュータ230は、表示パネル222に表示中の静止画に対する特殊画像処理を実行させる(ステップS623)。ここで、ステップS623の特殊画像処理は、図16で説明したものと同様である。したがって、説明を省略する。特殊画像処理の後、マイクロコンピュータ230は、特殊画像処理が施された静止画を記録し(ステップS624)、その後に処理をステップS625に移行させる。なお、選択された画像ファイルの記録形式がRAW形式であった場合には、RAWデータに対して基本画像処理を行ってから特殊画像処理を行うようにしても良いし、スクリーンネールに特殊画像処理を行うようにしても良い。
ステップS624において静止画記録を行った後又はステップS623における特殊画像処理の実行後、マイクロコンピュータ230は、表示パネル222に表示中の静止画の表示終了が指示されたか否かを判定する(ステップS625)。例えば、タッチ入力部2321の所定の座標へのタッチがあった場合に、表示終了の指示がなされたと判定される。
ステップS625において、表示終了が指示されていないと判定した場合に、マイクロコンピュータ230は、処理をステップS622に戻す。また、ステップS625において、表示終了が指示されたと判定した場合に、マイクロコンピュータ230は、処理をステップS619に移行させる。
以上説明したように、本実施形態によれば、タッチ入力部2321の操作に応じた強度を有するマップを生成し、生成したマップに応じてAE処理や画像処理といった各種のカメラ制御の形態を変更できるようにしている。これにより、ユーザは、複雑なAE処理や画像処理等をより直感的にかつより適切に行うことが可能である。
[変形例]
以下、本実施形態の変形例について説明する。前述した実施形態では、カメラ制御の例としてAE処理と画像処理を例示している。本実施形態の技術は、これらの例示した処理以外の各種のカメラ制御に対して適用可能である。
図19は、拡大ライブビュー表示に本実施形態の技術を適用した場合のフローチャートである。図19の処理は、図6のステップS126の処理に代えて行われる。なお、拡大ライブビュー表示を可能とする場合、通常ライブビュー表示中のタッチレリーズを無効とする。
ライブビュー表示を実行する際、マイクロコンピュータ230は、ユーザによってタッチ入力部2321への1本指タッチがなされたか否かを判定する(ステップS701)。
ステップS701において、ユーザによってタッチ入力部2321への1本指タッチがなされたと判定した場合に、マイクロコンピュータ230は、マップ生成部234に対してマップの生成を指示する(ステップS702)。具体的には、タッチ入力部2321の操作に応じた強度を有するマップをマップ記憶部2121に記憶させる。例えば、タッチ入力部2321が圧力検知可能なタッチ入力部の場合、マップ生成部234は、タッチ入力部2321で検出された圧力に応じた強度を有するマップを生成する。
マップ記憶部2121にマップが記憶された後、マイクロコンピュータ230は、マップの強度分布から、タッチ中心とタッチ範囲とを検出する(ステップS703)。タッチ中心は、強度が最も大きい座標である。なお、図4で示したように、ユーザによってタッチ入力部2321が強くタッチされた場合のマップは、一定範囲の座標が略同じ強度を有する分布となる。この場合、この範囲の中心座標をタッチ中心とする。また、タッチ範囲は、強度が所定値(例えばゼロ)を超える範囲とする。
タッチ中心及びタッチ範囲の検出後、マイクロコンピュータ230は、拡大ライブビュー表示の際の拡大中心と拡大率とを決定する(ステップS704)。拡大中心は、タッチ中心とする。また、拡大率は、タッチ強さに応じて決定する。例えば、タッチ範囲に応じて決定するようにしても良い。
拡大率及びタッチ範囲の決定後、マイクロコンピュータ230は、拡大ライブビュー表示を行う(ステップS705)。
拡大ライブビュー表示においては、マイクロコンピュータ230は、通常のライブビュー表示と同様の画像処理の結果としてSDRAM212に記憶された表示用画像データのうちの所定の拡大範囲の表示用画像データを表示ドライバ220に入力する。拡大範囲は、例えば図20(a)に示すような拡大中心(タッチ中心)を中心とする所定の矩形範囲601とする。
拡大ライブビュー表示用の表示用画像データの入力を受けて表示ドライバ220は、入力された表示用画像データを、マイクロコンピュータ230によって指示される拡大率に応じて拡大し、この拡大した表示用画像データを映像信号に変換して表示パネル222に出力する。表示パネル222は、この映像信号に基づいて画像を表示する。
ステップS701において、ユーザによってタッチ入力部2321への1本指タッチがなされていないと判定した場合に、マイクロコンピュータ230は、マップ生成部234に対してマップのリセットを指示する(ステップS706)。マップのリセットは、前述のステップS101等で説明したのと同様の処理である。
続いて、マイクロコンピュータ230は、通常のライブビュー表示を行う(ステップS707)。この通常のライブビュー表示は、ステップS126で説明したのと同様の処理である。
図19で示したような拡大ライブビュー表示により、ユーザは、表示パネル222を用いて被写体の細部を確認したり、ピントの状態を確認したりすることができる。また、本実施形態では、拡大ライブビュー表示の際の拡大率をマップに応じて決定している。したがって、ユーザがタッチ入力部2321を弱くタッチしている間は、図20(b)に示すように小さな拡大率でのライブビュー表示がなされ、ユーザがタッチ入力部2321を強くタッチしている間は、図20(c)に示すように大きな拡大率でのライブビュー表示がなされる。このようにして、ユーザは、タッチの際の圧力を変更するのみで所望の拡大率の拡大ライブビュー表示を指示することが可能である。
ここで、タッチ入力部2321が圧力を検出不能なタッチ入力部であっても図19と同様の処理を行うことが可能である。図21は、1本の指で拡大中心を決定し、別の指で拡大率を決定できるようにする例の1つである。この場合、タッチ入力部の一部の領域に拡大率(マップの強度)決定用の領域を設けておく。ユーザは、指F1で被写体をタッチしつつ、拡大率決定用の領域をなぞるように指F2を移動させる。マップ生成部234は、指F2の移動量を強度として有するようなマップを生成する。例えば、指F2の停止位置を強度の最大値として有する正規分布状のマップを生成する。マップの生成後は、図19と同様にして拡大ライブビュー表示を行うことが可能である。
図21の例において、指F1と指F2の両方が離れたときに拡大ライブビュー表示を終了させるようにすることもできる。この場合、指F1によって被写体が隠れてしまう可能性を低減できる。
また、タッチ入力部2321を複数設けるようにしても良い。図22は、表示パネル222と一体的にタッチ入力部2321aを設けるのに加えて、カメラ本体200の例えば被写体側に別のタッチ入力部2321bを設ける例である。タッチ入力部2321bを圧力検出可能なタッチ入力部としておけば、タッチ入力部2321aで拡大中心を決定しつつ、タッチ入力部2321aで拡大率を決定することができる。
図23は、組み写真の生成に本実施形態の技術を適用した場合のフローチャートである。図23の処理は、ステップS120の処理の後に行われる。
静止画ファイルの記録後、マイクロコンピュータ230は、レックビュー表示を行う(ステップS801)。具体的には、マイクロコンピュータ230は、記録された静止画ファイルを、画像圧縮伸張部224によって伸長し、伸長処理の結果としてSDRAM212に記憶された表示用画像データを表示ドライバ220に入力する。これを受けて表示ドライバ220は、入力された表示用画像データを映像信号に変換して表示パネル222に出力する。表示パネル222は、この映像信号に基づいて画像を表示する。
続いて、マイクロコンピュータ230は、ユーザによってタッチ入力部2321への1本指タッチがなされたか否かを判定する(ステップS802)。ステップS802において、1本指タッチがなされていないと判定した場合に、マイクロコンピュータ230は、所定時間(例えば10秒)が経過したか否かを判定する(ステップS803)。ステップS802において、所定時間が経過していないと判定した場合に、マイクロコンピュータ230は、処理をステップS801に戻す。この場合には、レックビュー表示が継続される。ステップS802において、所定時間が経過したと判定した場合に、マイクロコンピュータ230は、図23の処理を終了させる。
ステップS802において、ユーザによってタッチ入力部2321への1本指タッチがなされたと判定した場合に、マイクロコンピュータ230は、ライブビュー表示を行う(ステップS804)。このライブビュー表示は、ステップS126で説明したのと同様の処理である。
ライブビュー表示の後、マイクロコンピュータ230は、マップ生成部234に対してマップの生成を指示する(ステップS805)。具体的には、タッチ入力部2321の操作に応じた強度を有するマップをマップ記憶部2121に記憶させる。例えば、タッチ入力部2321が圧力検知可能なタッチ入力部の場合、マップ生成部234は、タッチ入力部2321で検出された圧力に応じた強度を有するマップを生成する。
マップ記憶部2121にマップが記憶された後、マイクロコンピュータ230は、マップの強度分布から、切り出し範囲を検出する(ステップS806)。切り出し範囲は、強度が最大となる座標(タッチ中心)を中心とし、ある所定値(例えばゼロ)を超える強度を有する範囲とする。例えば、図24(a)に示すようにしてタッチ入力部2321のある座標をユーザがタッチすると、図24(b)に示すように、その座標を中心とする範囲701の範囲が切り出し範囲として決定される。ここで、図3及び図4で示したように、マップは、タッチ中心を中心として同心円状に略同じ大きさの強度が分布する。したがって、本来、切り出し範囲も円状となる。ただし、画像処理の観点でみれば、切り出し範囲は、図24(b)で示すような矩形範囲としたほうが良い。このため、実際の切り出し範囲としては、強度が最大となる座標(タッチ中心)を中心とし、ある所定値(例えばゼロ)を超える強度を有する範囲に対して外接又は内接する矩形範囲とすることが望ましい。
切り出し範囲の決定後、マイクロコンピュータ230は、ユーザによって操作部232のレリーズボタンが全押しされてレリーズボタンの状態が2ndレリーズスイッチのOn状態となっているか否かを判定する(ステップS807)。
ステップS807において、レリーズボタンの状態が2ndレリーズスイッチのOn状態でない場合に、マイクロコンピュータ230は、所定時間(例えば10秒)が経過したか否かを判定する(ステップS808)。ステップS808において、所定時間が経過していないと判定した場合に、マイクロコンピュータ230は、処理をステップS807に戻す。この場合には、ライブビュー表示が継続される。ステップS808において、所定時間が経過したと判定した場合に、マイクロコンピュータ230は、図23の処理を終了させる。
ステップS807において、レリーズボタンの状態が2ndレリーズスイッチのOn状態である場合に、マイクロコンピュータ230は、メカシャッタ202を用いた撮影処理を実行する(ステップS808)。ステップS808の撮影処理は、ステップS118と同様である。なお、ステップS808の撮影処理に先立って、先に決定した切り出し範囲に合焦するようにAF処理を行ったり、切り出し範囲の露出値を適正とするようにAE処理を行ったりしても良い。
メカシャッタ202を用いた撮影処理を実行した後、マイクロコンピュータ230は、撮影処理によってSDRAM212に記憶されたRAWデータに対する画像処理を、画像処理部218に実行させる(ステップS810)。ステップS810の画像処理は、ステップS119と同様である。
画像処理の後、マイクロコンピュータ230は、画像処理の結果としてSDRAM212に記憶された記録用画像データのうちの、切り出し範囲に対応した部分を取得する(ステップS811)。続いて、マイクロコンピュータ230は、画像処理部218の特殊画像処理部2182に対して組み写真の生成を指示する(ステップS812)。この際、マイクロコンピュータ230は、切り出した画像データ(YCデータ)と、図23の処理の開始に先立って得られた静止画ファイルに記録された圧縮済み画像データを伸長した画像データ(YCデータ)とを特殊画像処理部2182に入力する。特殊画像処理部2182は、入力された2つの画像データを合成して組み写真を生成する。組み写真は、例えば2つの画像データを並列に並べるように合成することで生成する。このような組み写真の生成手法は一例である。
組み写真の生成後、マイクロコンピュータ230は、生成された組み写真を、設定されている静止画記録形式で静止画ファイルとして記録する処理を行う(ステップS813)。
図23で示したような処理により、ユーザは、組み写真生成用の画像データの切り出し範囲を簡単に指定することができる。
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。また、前述の各動作フローチャートの説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
また、上述した実施形態における画像処理装置による各処理の手法、即ち、各フローチャートに示す処理は、何れもマイクロコンピュータ230に実行させることができるプログラムとして記憶させておくこともできる。この他、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、マイクロコンピュータ230は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。