以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須で2あるとは限らない。
図1は、カメラ10の外観の一例を示す。カメラ10は、パネル50、カメラ本体130およびレンズユニット120を備える。カメラ10は、電子機器の一例としての撮像装置である。カメラ10は、一例としてレンズ交換式の一眼レフレックスカメラである。レンズユニット120は、カメラ本体130に着脱可能に装着される。
パネル50は、本体部の一例としてのカメラ本体130に対して可動に設けられる。図1は、パネル50がカメラ本体130に収容されている場合の外観の一例を示す。
パネル50は、連結部40によりカメラ本体130に連結される。連結部40は、パネル50およびカメラ本体130を、カメラ本体130に対する表示面60の角度を可変に連結する。連結部40は、カメラ本体130に対してパネル50を開閉可能に回転させるヒンジ部を有してよい。
レンズユニット120を通過した被写体光は、ファインダ窓163を通じてユーザに提供される。カメラ本体130は、パネル50が収容される位置の近傍に、ユーザにより操作される操作ボタン90が設けられる。
図2は、パネル50がカメラ本体130に対して変位している状態のカメラ10の外観の他の一例を示す。パネル50は、パネル50を開閉する第1の回転軸Aの周りに回転する。図2は、パネル50がカメラ本体130に収容された図1の状態から、パネル50を第1の回転軸であるA軸の周りに回転させた状態を示す。
カメラ本体130の筐体には、パネル50を収容する収容部30を有する。図2は、図1に示すようにパネル50が収容部30に収容された状態から、パネル50をA軸のまわりに回転させた状態を示す。図2は、パネル50が収容部30に収容された状態から、一例としてA軸周りに180°回転させた状態を示す。この状態からパネル50を反対方向に180°回転させると、図1に示すように表示面60を内側にして収容部30に収容された状態になる。図1に示す状態では、パネル50をカメラ本体130に収容し、表示面60を外部から保護することができる。このように、パネル50は、カメラ本体130に対して、A軸まわりに開閉可能に設けられる。本実施形態では、パネル50が収容部30に収容された状態からパネル50をA軸まわりに回転させる場合の回転方向を、回転の正方向として扱う。また、パネル50が収容部30に収容されている場合の回転角を0°とする。
図2に示すようにパネル50がA軸周りに180°回転した位置にある場合に、連結部40は、パネル50のA軸周りの回転を制限する回転制限機構を有する。例えば、連結部40は、A軸周りに180°回転した状態においては、パネル50を負の回転方向に一定値を超える大きさの力を加えなければ、負の回転方向に回転しない機構を有する。これに対し、連結部40は、パネル50の回転角がA軸周りに180°未満である状態では、A軸周りに180°回転した状態にある場合に比べて小さい力を加えるだけで回転する。
パネル50は、表示面60に種々のオブジェクトを表示する表示機能を有する。また、パネル50は、表示面60を介してユーザ操作を受け付けるタッチパネル機能を有する。図2には、タッチ操作用のオブジェクトの一例としてのオブジェクト70、オブジェクト71、オブジェクト72、オブジェクト73およびオブジェクト74が、被写体像とともに表示面60に表示された状態が例示されている。
オブジェクト70は、ユーザからの焦点距離を指定する操作の入力位置を示すオジェクトである。オブジェクト71は、閃光モードを指定するユーザ操作の入力位置を示すオブジェクトである。オブジェクト72は、接写モードで動作するか否かを選択するユーザ操作の入力位置を示すオブジェクトである。オブジェクト73は、カメラ10の露出補正を指示するユーザ操作の入力位置を示すオブジェクトである。オブジェクト73は、カメラ10の動作設定を指示するユーザ操作の入力位置を示すオブジェクトである。パネル50は、ユーザが操作する操作部位を有する操作部の一例である。表示面60においてオブジェクト70等を表示させた部位が、ユーザが操作する操作部位となる。
例えば、カメラ10は、表示面60においてオブジェクト71を表示させた部位がタッチされた場合、閃光モードを変更する。例えば、カメラ10は、現在の閃光モードが閃光を禁止する閃光禁止モードである場合に、閃光を許可する閃光許可モードに変更する。現在の閃光モードが閃光許可モードである場合に、閃光禁止モードに変更する。また、カメラ10は、表示面60においてオブジェクト72を表示させた部位がタッチされたと判断した場合、接写モードの状態を変更する。例えば、カメラ10は、接写モードで動作する状態にある場合に、接写モードで動作しない状態に変更し、接写モードで動作しない状態にある場合に、接写モードで動作する状態に変更する。
また、カメラ10は、表示面60においてオブジェクト73を表示させた部位がタッチされたと判断した場合、露出補正の補正量を変更するためのオブジェクトをパネル50に表示させる。カメラ10は、当該オブジェクトを表示した位置へのユーザ操作に基づき、露出補正の補正量を示す指示を取得する。カメラ10は、表示面60においてオブジェクト74を表示させた部位がタッチされたと判断した場合、設定メニューを表示させる。カメラ10は、当該設定メニューへのユーザ操作に基づき、カメラ10の撮影モードや撮像条件等の指示を取得する。
カメラ10は、表示面60においてオブジェクト70を表示させた部位がタッチされたと判断した場合、操作内容に応じて焦点距離を変更する。カメラ10は、オブジェクト70を表示させた部位に対してスライド操作がなされた場合に、スライドの方向に応じて焦点距離を増加させるか減少させるかを判断する。第1の方向のスライド操作を検出した場合に、焦点距離を増加させ、第1の方向とは反対の第2の方向のスライド操作を検出した場合に、焦点距離を減少させる。また、焦点距離の変化量を示す指示は、スライド量で判断される。カメラ10は、スライド量に応じた量だけ、レンズユニット120の焦点距離を変化させる。
カメラ10は、閾値を用いて、表示面60のオブジェクト70、オブジェクト71、オブジェクト72またはオブジェクト73の表示部位からの入力を受け付けるか否かを判断する。ここで、カメラ10は、表示面60のオブジェクト70、オブジェクト71、オブジェクト72またはオブジェクト73の表示部位が操作されたことを検出した場合に、パネル50のA軸周りの回転角が180°未満であるときには、比較的に大きい閾値を決定する。一方、パネル50のA軸周りの回転角が180°であるときには、カメラ10は、比較的に小さい閾値を決定する。
そして、カメラ10は、表示面60が操作された後に生じたパネル50の回転量が当該閾値を超えない場合に、表示面60からの入力を受け付ける。このように、パネル50が変位し易い状況にある場合には、比較的に大きい閾値を決定する。そのため、パネル50が変位し易い状況では、比較的に大きな変位が検出されても表示面60からの入力を受け付けることができる。一方、パネル50が変位しにくい状況にある場合には、比較的に小さい閾値を決定する。そのため、パネル50が変位しにくい状況では、比較的に小さな変位が検出されただけで表示面60からの入力を受け付けないようにすることができる。そのため、例えばパネル50を回転させる操作をしている最中に表示面60に偶然触れてしまうことで誤動作する可能性を低減できる。
図3は、カメラ10のブロック構成の一例を示す。本図ではレンズユニット120が装着された状態のカメラ10のブロック構成を示す。
レンズユニット120は、レンズマウント接点121を有するレンズマウントを備える。カメラ本体130は、カメラマウント接点131を有するカメラマウントを備える。レンズマウントとカメラマウントとが係合してレンズユニット120とカメラ本体130とが一体化されると、レンズマウント接点121とカメラマウント接点131とが接続される。レンズMPU123は、レンズマウント接点121およびカメラマウント接点131を介してカメラMPU140と接続され、相互に通信しつつ協働してレンズユニット120を制御する。
レンズユニット120は、レンズ群122、レンズ駆動部124およびレンズMPU123を有する。被写体光は、レンズユニット120が有する光学系としてのレンズ群122を光軸に沿って透過して、カメラ本体130に入射する。メインミラー145は、レンズ群122の光軸を中心とする被写体光束中に進出した進出状態と、被写体光束から退避した退避状態を取り得る。
メインミラー145が進出状態にある場合、メインミラー145は、レンズ群122を通過した被写体光束の一部を反射する。具体的には、進出位置にある場合のメインミラー145の光軸近傍領域は、ハーフミラーとして形成されている。光軸近傍領域に入射した被写体光束の一部は透過し、他の一部は反射する。メインミラー145により反射された被写体光束はファインダ部147に導かれて、ユーザに観察される。ユーザは、ファインダ部147を通じて構図等を確認することができる。ファインダ部147は、被写体光束に基づく被写体像とともに、撮像動作の設定状態を示す情報等を含む種々の情報をユーザに提示する表示デバイスを含んでよい。
メインミラー145の光軸近傍領域を透過した被写体光束の一部は、サブミラー146で反射されて、AFユニット142へ導かれる。AFユニット142は、被写体光束を受光する複数の光電変換素子列を有する。光電変換素子列は、合焦状態にある場合には位相が一致した信号を出力し、前ピン状態または後ピン状態にある場合には、位相ずれした信号を出力する。位相のずれ量は、焦点状態からのずれ量に対応する。AFユニット142は、光電変換素子列の出力を相関演算することで位相差を検出して、位相差を示す位相差信号をカメラMPU140へ出力する。
レンズ群122の焦点状態は、カメラMPU140等の制御により、AFユニット142からの位相差信号を用いて調節される。例えば、位相差信号から検出された焦点状態に基づき、カメラMPU140によってレンズ群122が含むフォーカスレンズの目標位置が決定され、決定された目標位置に向けてレンズMPU123の制御によってフォーカスレンズの位置が制御される。具体的には、レンズMPU123は、一例としてフォーカスレンズモータを含むレンズ駆動部124を制御して、レンズ群122を構成するフォーカスレンズを移動させる。このように、メインミラー145がダウンして進出状態にある場合に、位相差検出方式でレンズ群122の焦点状態が検出されて焦点調節が行われる。AFユニット142は、被写体像における複数の領域のそれぞれにおいて焦点状態を調節すべく、複数の領域にそれぞれ対応する複数の位置にそれぞれ光電変換素子列が設けられる。
測光素子144は、光学ファインダ部に導かれた光束の一部の光束を受光する。光学ファインダ部に導かれた他の光束は、ファインダ窓163に導かれて、ユーザに被写体像として提示される。測光素子144が有する光電変換素子で検出された被写体の輝度情報は、カメラMPU140に出力される。カメラMPU140は、測光素子144から取得した輝度情報に基づき、AE評価値を算出して露出制御に用いる。
メインミラー145が被写体光束から退避すると、サブミラー146はメインミラー145に連動して被写体光束から退避する。撮像素子132のレンズ群122側には、メカニカルシャッタの一例としてのフォーカルプレーンシャッタ143が設けられる。メインミラー145が退避状態にあり、フォーカルプレーンシャッタ143が開状態にある場合、レンズ群122を透過した被写体光束は、撮像素子132の受光面に入射する。
撮像素子132は、撮像部として機能する。撮像素子132は、レンズ群122を通過した被写体光束により被写体を撮像する。撮像素子132としては、例えばCCDセンサ、CMOSセンサ等の固体撮像素子を含む。撮像素子132は、被写体光束を受光する複数の光電変換素子を有しており、複数の光電変換素子でそれぞれ生じた蓄積電荷量に応じたアナログ信号をアナログ処理部133へ出力する。アナログ処理部133は、撮像素子132から出力されたアナログ信号に対して、感度補正処理、OBクランプ処理等のアナログ処理を施して、A/D変換器134へ出力する。A/D変換器134は、アナログ処理部133から出力されたアナログ信号を、画像データを表すデジタル信号に変換して出力する。撮像素子132、アナログ処理部133およびA/D変換器134は、カメラMPU140からの指示を受けた駆動部148により駆動される。
A/D変換器134からデジタル信号で出力した画像データは、ASIC135に入力される。ASIC135は、画像処理機能に関連する回路等を一つにまとめた集積回路である。ASIC135は、揮発性メモリの一例としてのRAM136の少なくとも一部のメモリ領域を、画像データを一時的に記憶するバッファ領域として使用して、RAM136に記憶させた画像データに対して種々の画像処理を施す。ASIC135による画像処理としては、欠陥画素補正、ホワイトバランス補正、色補間処理、色補正、ガンマ補正、輪郭強調処理、画像データの圧縮処理等を例示することができる。撮像素子132が連続して撮像した場合、順次に出力される画像データはバッファ領域に順次に記憶される。撮像素子132が連続して撮像することにより得られた複数の画像データは、連続する静止画の画像データ、または、動画を構成する各画像の画像データとして、バッファ領域に順次に記憶される。RAM136は、ASIC135において動画データを処理する場合にフレームを一時的に記憶するフレームメモリとしても機能する。
ASIC135における画像処理としては、記録用の画像データを生成する処理の他、表示用の画像データを生成する処理、自動焦点調節(AF)用の画像データ処理を例示できる。また、ASIC135における画像処理としては、AF処理用のコントラスト量を検出する処理等を含む。具体的には、ASIC135は、画像データからコントラスト量を検出してカメラMPU140に供給する。例えば、ASIC135は、光軸方向の異なる位置にフォーカスレンズを位置させて撮像することにより得られた複数の画像データのそれぞれからコントラスト量を検出する。カメラMPU140は、検出されたコントラスト量とフォーカスレンズの位置とに基づいて、レンズ群122の焦点状態を調節する。例えば、カメラMPU140は、コントラスト量を増大させるようフォーカスレンズの目標位置を決定して、レンズMPU123に、決定された目標位置に向けてフォーカスレンズの位置を制御させる。このように、メインミラー145がアップして退避状態にある場合に、コントラスト検出方式でレンズ群122の焦点状態が検出されて焦点調節が行われる。このように、カメラMPU140は、ASIC135およびレンズMPU123と協働して、レンズ群122の焦点調節を行う。
ASIC135は、A/D変換器134から出力された画像データを記録する場合、規格化された画像フォーマットの画像データに変換する。例えば、ASIC135は、静止画の画像データを、JPEG等の規格に準拠した符号化形式で符号化された静止画データを生成するための圧縮処理を行う。また、ASIC135は、複数のフレームを、QuickTime、H.264、MPEG2、Motion JPEG等の規格に準拠した符号化方式で符号化された動画データを生成するための圧縮処理を行う。
ASIC135は、生成した静止画データ、動画データ等の画像データを、不揮発性の記録媒体の一例としての外部メモリ180へ出力して記録させる。例えば、ASIC135は、静止画ファイル、動画ファイルとして外部メモリ180に記録させる。外部メモリ180としては、フラッシュメモリ等の半導体メモリを例示することができる。具体的には、外部メモリ180としては、SDメモリカード、CFストレージカード、XQDメモリカード等の種々のメモリカードを例示することができる。RAM136に記憶されている画像データは、記録媒体IF150を通じて外部メモリ180へ転送される。また、外部メモリ180に記録されている画像データは、記録媒体IF150を通じてRAM136へ転送され、表示等の処理に供される。記録媒体IF150としては、上述したメモリカードに対するアクセスを制御するカードコントローラを例示することができる。
ASIC135は、記録用の画像データの生成に並行して、表示用の画像データを生成する。例えば、ASIC135は、いわゆるライブビュー動作時に、液晶表示デバイス等の表示ユニット138に表示させる表示用の画像データを生成する。また、画像の再生時においては、ASIC135は、外部メモリ180から読み出された画像データから表示用の画像データを生成する。生成された表示用の画像データは、表示制御部137の制御に従ってアナログの信号に変換され、表示ユニット138に表示される。また、撮像により得られた画像データに基づく画像表示と共に、当該画像データに基づく画像表示をすることなく、カメラ10の各種設定に関する様々なメニュー項目や、オブジェクト71等のタッチパネル用のオブジェクトも、ASIC135および表示制御部137の制御により重畳される等して表示ユニット138に表示される。
表示ユニット138には、タッチセンサ52が設けられる。タッチセンサ52は、表示面60の略全面に設けられてよい。タッチセンサ52としては、抵抗膜方式、静電容量方式等の種々の検出方式のタッチセンサを適用できる。タッチセンサ52の出力は、接触位置検出部160に出力され、接触位置検出部160においてタッチ位置が算出され、カメラMPU140へ出力される。例えば、接触位置検出部160は、表示面60におけるタッチ位置のX座標およびY座標を算出して、カメラMPU140へ供給する。カメラMPU140は、接触位置検出部160から出力されたタッチ位置の座標および表示ユニット138に表示させている表示内容に応じてユーザ指示を特定して、表示面60に対するユーザ操作を受け付ける旨を判断した場合に、ユーザ指示に応じて10の各部を制御する。これにより、表示面60に対するユーザの指先やペン等先による操作に追従して、カメラ10の各部を制御することができる。
連結部40には、第1回転検出部42および第2回転検出部44が設けられる。第1回転検出部42および第2回転検出部44は、作部位が操作された場合におけるパネル50の変位を検出する変位検出部の一例である。第1回転検出部42は、A軸まわりのパネル50の回転角に応じた出力値をカメラMPU140へ出力する。第2回転検出部44は、パネル50の長辺に対応するB軸まわりのパネル50の回転角に応じた出力値をカメラMPU140へ出力する。カメラMPU140は、ASIC135、表示制御部137等と協働して、表示ユニット138に表示させる表示内容を、第1回転検出部42および第2回転検出部44の出力値に応じて制御する。例えば、カメラMPU140は、上述したように、表示面60におけるオブジェクト70等の表示位置を制御する。
操作入力部141は、ユーザから操作を受け付ける。操作入力部141は、操作ボタン90、レリーズボタン、再生ボタンや動画ボタン等のボタン式の操作部材、マルチセレクタやコマンドダイヤル等の回転式の操作部材、ライブビュースイッチや電源スイッチ等のスイッチ式の操作部材等、各種操作部材等を含む。カメラMPU140は、操作入力部141が操作されたことを検知して、操作に応じた動作を実行する。例えば、カメラMPU140は、レリーズボタン12が押し込まれた場合に、焦点位置の調節動作または撮影動作を実行するようにカメラ10の各部を制御する。
角度センサ170は、カメラ本体130の向きを検出する。例えば、角度センサ170は、カメラ本体130の3軸方向の傾きを検出する。レンズユニット120がカメラ本体130に装着されている場合、レンズユニット120の光軸は、カメラ本体130に対して固定される。したがって、角度センサ170は、レンズユニット120の光軸の向きを検出できる。角度センサ170としては、ジャイロセンサ等を例示することができる。アイセンサ172は、ファインダ窓163をユーザが見ているか否かを検出する。アイセンサ172は、例えばファインダ窓163の近傍に設けられ、近傍に存在するか否かを示す情報をカメラMPU140へ出力する。カメラMPU140は、アイセンサ172の出力に基づき、ユーザがファインダ窓163を見ているか否かを判断する。カメラMPU140は、ファインダ窓163の近傍に存在する物体がアイセンサ172によって検出されている場合に、ユーザがファインダ窓163を見ていると判断してよい。
カメラ10は、上記に説明した制御を含めて、カメラMPU140およびASIC135により直接的または間接的に制御される。カメラ10の動作に必要な定数、変数等のパラメータ、プログラム等は、システムメモリ139に格納される。システムメモリ139は、電気的に消去・記憶可能な不揮発性メモリであり、例えばフラッシュROM、EEPROM等により構成される。システムメモリ139は、パラメータ、プログラム等を、カメラ10の非動作時にも失われないように格納する。システムメモリ139に記憶されたパラメータ、プログラム等は、RAM136に展開され、カメラ10の制御に利用される。カメラ本体130内の、ASIC135、RAM136、システムメモリ139、表示制御部137、カメラMPU140、第1回転検出部42、および、第2回転検出部44は、バス等の接続インタフェース149により相互に接続され、各種のデータをやりとりする。
カメラ本体130の各部、パネル50の各部、レンズユニット120の各部および外部メモリ180は、カメラMPU140の制御により、電源回路192を介して電源190から電力供給を受ける。電源190は、ニッケル水素電池、リチウムイオン電池等の二次電池、乾電池等の非充電式の一次電池等であってよい。電池としての電源190は、カメラ本体130に対して着脱可能に装着される。電源190は、商用電源であってもよい。
図4は、パネル50がカメラ本体130に対して更に変位した状態のカメラ10の外観の一例を示す。図3は、図2に示すようにパネル50がA軸周りに180°回転された状態から、パネル50を回転軸Bの周りに回転させた状態を示す。一例として、パネル50をB軸の周りに45°回転させた状態を示す。図4の状態からパネル50をB軸の周りに−45°回転させることで、パネル50とカメラ本体130との位置関係は図2に示す位置関係に戻る。本実施形態では、図2に示した状態から図4に示した状態へパネル50をB軸まわりに回転させる場合の回転方向を、B軸周りの回転の正方向として扱う。また、図2に示した状態のB軸周りの回転角を0°として扱う。
連結部40は、パネル50を2軸のまわりに独立して回転させる2軸回転ヒンジを有する。したがって、パネル50は、カメラ本体130の位置を固定した状態で、2軸のまわりにそれぞれ独立して回転することができる。一例として、連結部40は、A軸周りの回転角は0°から180°の範囲で回転可能であり、B軸周りの回転角は−180°から180°の範囲で回転可能である。このように、カメラ10は、いわゆるバリアングルの表示・操作部材であるパネル50を有する。このため、ユーザは、様々な体勢でカメラ10を操作することができる。
カメラMPU140は、オブジェクト71の表示部位が操作された場合に、オブジェクト72の表示部位が操作された場合に適用した閾値より大きい閾値を適用する。このように、カメラMPU140は、B軸周りに回転し易い状況にある場合に、B軸周りに回転しにくい状況にある場合より大きい閾値を決定する。これにより、比較的に大きい回転が生じた場合でも、表示面60から入力された操作を受け付ける。
なお、カメラ本体130にはレリーズボタン12が設けられる。カメラ10は、レリーズボタン12の押し込みを検出した場合に、焦点位置を調節する動作または撮影動作を行う。カメラ10は、これらの操作部材や、パネル50のタッチパネル機能を通じて、ユーザから様々な指示を受け付けることができる。
図5は、パネル50がカメラ本体130に対して更に変位した状態のカメラ10の外観の一例を示す。図5は、図4に示すようにパネルがB軸周りに45°回転された状態から、パネル50をB軸周りにさらに135°回転させた状態を示す。図5に示されるように、表示面60を、図2に示す状態での表示面60の向きとは反対向きに向けることができる。なお、図2に示すようにB軸周りの回転角が0°の場合から、パネル50をB軸周りに−180°回転させることによっても、図5に示す状態にすることができる。
なお、連結部40は、B軸周りの回転を制限する回転制限機構を有する。例えば、図3に示すようにパネル50のB軸周りの回転角が0°である場合や、図5に示すようにパネル50のB軸周りの回転角が180°または−180°である場合は、B軸周りの回転が制限されている状態にある。これに対し、図4に示すように、B軸周りの回転角が0°、180°および−180°のいずれでもない場合は、パネル50はB軸周りの回転が制限されていない状態にある。例えば、連結部40は、B軸周りの回転が制限された状態にある場合、B軸周りに回転が制限された状態にない場合より、回転しにくい。したがって、カメラMPU140は、B軸周りの角度が180°または−180°である場合より、B軸周りの角度がそれら以外の角度である場合に、大きい閾値を適用する。
なお、カメラMPU140は、B軸周りの回転角が180°である場合と、B軸周りの角度が−180°である場合とで、表示面60における同じ部位が操作された場合に適用する閾値を異ならせる。具体的には、B軸周りの角度が180°である場合は、パネル50を正方向に更に回転させることはできない。一方、B軸周りの角度が−180°である場合は、パネル50を正方向に回転させることができる。そのため、カメラMPU140は、B軸周りの角度が−180°である場合には、B軸周りの角度が180°である場合より、正方向の回転方向についての閾値を大きくする。
逆に、B軸周りの角度が180°である場合は、パネル50を負方向に回転させることはできる。一方、B軸周りの角度が−180°である場合は、パネル50を負方向に更に回転させることができる。そのため、カメラMPU140は、B軸周りの角度が180°である場合には、B軸周りの角度が−180°である場合より、負方向の回転方向についての閾値を大きくする。
このように、連結部40によって、パネル50がカメラ本体130に対して第1の位置にある場合に、パネル50がカメラ本体130に対して第2の位置にある場合よりカメラ本体130に対する回転を強く制限される。カメラMPU140は、操作部位が操作されたときにパネル50がカメラ本体130に対して第2の位置にある場合の閾値を、パネル50が操作されたときにパネル50がカメラ本体130に対して第1の位置にある場合より大きくする。このため、A軸およびB軸まわりの回転制限機構による回転のしにくさを考慮して、適切な閾値を選択することができる。
図6は、パネル50がカメラ本体130に対して更に変位した状態のカメラ10の外観の一例を示す。図6は、表示面60を外側にしてパネル50が収容部30に収容された状態を示す。具体的には、図6は、図5に示すようにA軸周りの回転角が180°であり、B軸周りの回転角が180°または−180°である状態から、パネル50をA軸周りに−180°回転させた状態を示す。
パネル50が収容部30に収容されている場合、表示面60に対する操作によってパネル50は容易には回転しない。そのため、カメラMPU140は、パネル50が収容部30に収容されている場合、比較的に小さい閾値を適用する。カメラMPU140は、パネル50が収容部30に収容されていない場合に適用する閾値より小さい閾値を適用してよい。
図7は、操作部位が属するエリア毎に適用される閾値の変化を説明するための模式図である。カメラMPU140は、操作部位が属する表示面60のエリア毎に、異なる閾値を適用する。
例えば、A軸周りの回転について考えると、エリア3、エリア6およびエリア9のいずれかのエリア内の操作部位が操作された場合より、エリア1、エリア4およびエリア7のいずれかのエリア内の操作部位が操作された場合の方が、パネル50は小さい力で回転する。カメラMPU140は、ユーザが操作した操作部位がエリア1、エリア4およびエリア7のいずれかのエリア内にある場合に適用する閾値を、ユーザが操作した操作部位がエリア3、エリア6およびエリア9のいずれかのエリア内にある場合に適用する閾値より大きくする。
同様に、エリア3、エリア6およびエリア9のいずれかのエリア内の操作部位が操作された場合より、エリア2、エリア5およびエリア8のいずれかのエリア内の操作部位が操作された場合の方が、パネル50は小さい力で回転する。カメラMPU140は、ユーザが操作した操作部位がエリア2、エリア5およびエリア8のいずれかのエリア内にある場合に適用する閾値を、ユーザが操作した操作部位がエリア3、エリア6およびエリア9のいずれかのエリア内にある場合に適用する閾値より大きくする。
同様に、エリア2、エリア5およびエリア8のいずれかのエリア内の操作部位が操作された場合より、エリア1、エリア4およびエリア7のいずれかのエリア内の操作部位が操作された場合の方が、パネル50は小さい力で回転する。カメラMPU140は、ユーザが操作した操作部位がエリア1、エリア4およびエリア7のいずれかのエリア内にある場合に適用する閾値を、ユーザが操作した操作部位がエリア2、エリアおよびエリア8のいずれかのエリア内にある場合に適用する閾値より大きくする。
このように、カメラMPU140が、検出されたパネル50の回転量と、パネル50からの入力を受け付けるか否かを判断するためのパネル50の回転量の閾値とに基づいて、パネル50からの入力を受け付けるか否かを判断する。このとき、カメラMPU140は、パネル50が有する第1部位が操作される場合の閾値と、パネル50が有する第2部位が操作される場合の閾値とを異ならせる。
次に、B軸周りの正方向の回転について考えると、パネル50は、エリア4、エリア5およびエリア6のいずれかのエリア内の操作部位が操作された場合より、エリア1、エリア2およびエリア3のいずれかのエリア内の操作部位が操作された場合の方が、小さい力で回転する。カメラMPU140は、ユーザが操作した操作部位がエリア1、エリア2およびエリア3のいずれかのエリア内にある場合に適用する閾値を、ユーザが操作した操作部位がエリア4、エリア5およびエリア6のいずれかのエリア内にある場合の閾値より大きくする。
B軸周りの負方向の回転について考えると、パネル50は、エリア4、エリア5およびエリア6のいずれかのエリア内の操作部位が操作された場合より、エリア7、エリア8およびエリア9のいずれかのエリア内の操作部位が操作された場合の方が、小さい力で回転する。カメラMPU140は、ユーザが操作した操作部位がエリア7、エリア8およびエリア9のいずれかのエリア内にある場合に適用する閾値を、ユーザが操作した操作部位がエリア4、エリア5およびエリア6のいずれかのエリア内にある場合の閾値より大きくする。
なお、エリア7、エリア8およびエリア9のいずれかのエリア内の操作部位が操作された場合、パネル50はB軸周りの正方向には回転する可能性は小さい。そこで、カメラMPU140は、エリア7、エリア8およびエリア9のいずれかのエリア内の操作部位が操作された場合、パネル50のB軸周りの正方向の回転の閾値を、他のエリア内の操作部位が操作された場合に適用するいずれの閾値より低く決定する。また、エリア1、エリア2およびエリア3のいずれかのエリア内の操作部位が操作された場合、パネル50はB軸周りの負方向に回転する可能性は小さい。そこで、カメラMPU140は、エリア1、エリア2およびエリア3のいずれかのエリア内の操作部位が操作された場合、パネル50のB軸周りの負方向の回転の閾値を、他のエリア内の操作部位が操作された場合に適用するいずれの閾値より低く決定する。
このように、パネル50は、カメラ本体130に対して回転軸の周りに回転可能に設けられている。カメラMPU140は、パネル50の回転量の閾値として、回転軸まわりのパネル50の回転量の閾値を決定する。具体的には、カメラMPU140は、パネル50において回転軸から離れた第1部位が操作された場合に、当該第1部位より回転軸に近い第2部位が操作された場合と比較して、より大きい閾値を決定する。そして、カメラMPU140は、検出された回転軸まわりのパネル50の回転量が、決定した閾値を超えない場合に、パネル50からの入力を受け付ける旨を判断する。より具体的には、カメラMPU140は、パネル50において回転軸から離れた第1部位が操作された場合に、ユーザによって当該第1部位が操作された場合にパネル50が回転する第1回転方向への回転の閾値として第1閾値を決定し、回転軸に対して当該第1部位とは反対側の第2部位が操作された場合に、第1回転方向への回転の閾値として第1閾値より小さい第2閾値を決定する。このため、ユーザが表示面60を操作した場合と、誤操作によって表示面60に触れてしまった場合とを適切に判断することができる。
図8は、パネル50の位置に応じた閾値を適用するために記憶する情報の一例を、テーブル形式で示す。カメラMPU140は、パネル50とカメラ本体130との間の位置関係を示す情報に対応づけて、パネル50の変位しにくさを示すスコアを記憶する。後述するように、カメラMPU140は、スコアが低いほど、大きい閾値を適用する。図8に例示したスコアは、A軸周りの回転に対するスコアとしても、B軸周りの回転に対するスコアとしても適用できる。
カメラMPU140は、位置関係を示す情報として、パネル50が収容部30に収容された収容位置にあることを示す情報、A軸またはB軸に対して回転制限された回転制限位置にあることを示す情報、および、その他の位置にあることを示す情報に対応づけて、スコアを記憶する。具体的には、カメラMPU140は、パネル50が収容位置にあることを示す情報、回転制限位置にあることを示す情報、その他の位置にあることを示す情報の順に、大きいスコアを対応づけて記憶する。
図9は、操作部位に応じた閾値を適用するために記憶する情報の一例を、テーブル形式で示す。カメラMPU140は、接触部位を示す情報に対応づけて、パネル50の変位しにくさを示すスコアを記憶する。後述するように、カメラMPU140は、スコアが低いほど、大きい閾値を適用する。図9は、A軸周りの回転に対するスコアを示す。
カメラMPU140は、操作部位を示す情報として、接触位置がエリア3、エリア6およびエリア9を含む第1エリア内にあることを示す情報、接触位置がエリア2、エリア5およびエリア8を含む第2エリア内にあることを示す情報、ならびに、接触位置がエリア1、エリア4およびエリア7を含む第3エリア内にあることを示す情報に対応づけて、スコアを記憶する。具体的には、カメラMPU140は、接触位置が第1エリアにあることを示す情報、接触位置が第2エリアにあることを示す情報、接触位置が第3エリアにあることを示す情報の順に、大きいスコアを対応づけて記憶する。
図10は、操作部位に応じた閾値を適用するために記憶する情報の一例を、テーブル形式で示す。カメラMPU140は、接触位置を示す情報に対応づけて、パネル50の変位しにくさを示すスコアを記憶する。後述するように、カメラMPU140は、スコアが低いほど、大きい閾値を適用する。図10は、B軸周りの回転に対するスコアを示す。
カメラMPU140は、操作部位を示す情報として、接触位置がエリア1、エリア2およびエリア3を含む第4エリア内にあることを示す情報、接触位置がエリア4、エリア5およびエリア6を含む第5エリア内にあることを示す情報、ならびに、接触位置がエリア7、エリア8およびエリア9を含む第6エリア内にあることを示す情報に対応づけて、スコアを記憶する。具体的には、カメラMPU140は、接触位置が第4エリアにあることを示す情報に対応づけて、接触位置が第5エリアにあることを示す情報に対応づけて記憶されているスコア値より小さい値を記憶する。また、カメラMPU140は、接触位置が第6エリアにあることを示す情報に対応づけて、接触位置が第2エリアにあることを示す情報に対応づけてスコア値より小さい値を記憶する。
なお、図10に例示したスコアは、パネル50を操作することによってパネル50が回転する回転方向についてのスコアを示す。エリア1、エリア2およびエリア3を含む第4エリアに対応づけて記憶されるスコアは、B軸周りの正方向の回転方向についてのスコアを示す。また、エリア7、エリア8およびエリア9を含む第6エリアに対応づけて記憶されるスコアは、B軸周りの負方向の回転方向についてのスコアを示す。
図11は、操作内容に応じた閾値を適用するために記憶する情報の一例を、テーブル形式で示す。カメラMPU140は、操作内容を示す情報に対応づけて、パネル50の変位しにくさを示すスコアを記憶する。後述するように、カメラMPU140は、スコアが小さいほど、大きい閾値を適用する。図11に例示したスコアは、A軸周りの回転に対するスコアとしても、B軸周りの回転に対するスコアとしても適用できる。
カメラMPU140は、操作内容を示す情報として、操作内容がシングルタッチ操作であることを示す情報、操作内容がスライド操作であることを示す情報、操作内容がマルチタッチ操作であることを示す情報、および、操作内容が長押し操作であることを示す情報に対応づけて、スコアを記憶する。具体的には、カメラMPU140は、ユーザ操作がシングルタッチ操作であることを示す情報に対応づけて、ユーザ操作がスライド操作であることを示す情報、ユーザ操作がマルチタッチ操作にあることを示す情報およびユーザ操作が長押し操作であることを示す情報のいずれの情報に対応づけて記憶されているスコアより、大きいスコアを記憶する。
一例として、ユーザ操作がスライド操作であることを示す情報およびユーザ操作がマルチタッチ操作にあることを示す情報に対応づけて記憶されているスコアは、同じであってよい。また、ユーザ操作がスライド操作であることを示す情報およびユーザ操作がマルチタッチ操作にあることを示す情報に対応づけて記憶されているスコアは、ユーザ操作が長押し操作にあることを示す情報に対応づけて記憶されているスコアより大きくてよい。
なお、図11に示すスコアは、スコアの一例である。スライド操作であることを示す情報に対応づけて記憶されるスコアは、マルチタッチ操作であることを示す情報に対応づけて記憶されるスコアより大きくてもよく、小さくてもよい。パネル50が変位し易いか否かに応じてスコア値やスコアの大小関係が設定されてよい。
例えば、スライド操作をする場合とシングルタップ操作をする場合とを比較すると、スライド操作をする場合の方が、パネル50が回転し易い。そのため、スライド操作等のようにパネル50が回転し易い操作内容に対して大きい閾値を適用することで、誤操作と判断される可能性を低減することができる。なお、シングルタッチ操作とは、タップ操作を含む。マルチタッチ操作とは、ダブルタップ操作等、予め定められた時間内に複数回のタップ操作を続けて行う操作を含む。スライド操作とは、ドラッグ操作、フリック操作、ピンチ操作を含む。長押し操作は、予め定められた時間以上にわたって押し続けるホールド操作を含む。
図12は、合計スコアに応じた閾値を適用するために記憶する情報の一例を、テーブル形式で示す。カメラMPU140は、合計スコアを示す情報に対応づけて、閾値を記憶する。カメラMPU140は、より大きい合計スコアに対応づけて、より大きい閾値を記憶する。より具体的には、カメラMPU140は、合計スコアが0であることを示す情報、合計スコアが5〜20であることを示す情報、合計スコアが0であることを示す情報、合計スコアが25〜30であることを示す情報に対応づけて、回転量の閾値としてそれぞれ10°、5°および1°を記憶する。
カメラMPU140は、パネル50の位置、操作部位が属するエリアおよび操作内容のそれぞれについて、スコアの合計値を算出する。このとき、カメラMPU140は、軸A周りの回転方向およびB軸周りの回転方向のそれぞれについて、スコアの合計値を算出する。カメラMPU140は、算出したスコアの合計値に適合する合計スコアを示す情報に対応づけて記憶している閾値を、操作部位からの入力を受け付けるか否かを判断するための閾値として適用する。
このように、表示面60からの入力を受け付けるか否かを判断する場合に、パネル50が操作される場合にパネル50が回転する第1方向にパネル50が回転したことが検出された場合の閾値と、第1方向とは反対の第2方向にパネル50が回転したことが検出された場合の閾値とを異ならせることができる。また、操作部位が操作される操作内容が第1の操作内容である場合の閾値と、操作部位が操作される操作内容が第2の操作内容である場合の閾値とを異ならせることができる。例えば、操作内容が特定位置に対するタッチ操作である場合と、操作内容がスライド操作である場合とで、異なる閾値を適用することができる。また、操作部位が操作されたときにパネル50がカメラ本体130に対して第1の位置にある場合の閾値と、操作部位が操作されたときにパネル50がカメラ本体130に対して第2の位置にある場合の閾値とを異ならせることができる。
このように、カメラMPU140は、パネル50が回転し易い状況であるか否かを総合的に判断することができる。そして、カメラMPU140は、パネル50の回転し易い状況にあると判断した場合に、大きな閾値を適用して、表示面60からの入力を受け付けるか否かを判断する。そのため、パネル50が回転し易い状況でユーザが行った操作によってパネル50が大きく回転してしまった場合でも、有効な操作として受け付けられる可能性を高めることができる。
図13から図20に関連して、誤操作と判断された場合のユーザインタフェースの変更に関するカメラ10の動作について説明する。図13から図20においては、一例としてライブビューの動作を行っている場合に表示面60に表示される画面を用いて説明する。ライブビューの動作を行っている場合、撮像素子132における順次の撮像動作に応じて順次に生成される画像データに基づいて、順次に被写体像が領域1310に表示される。
図13は、誤操作があった場合のオブジェクトの表示位置の変更例を模式的に示す。画面1300において、オブジェクト70、オブジェクト71、オブジェクト72、オブジェクト73はおよびオブジェクト74は、被写体像が表示される領域1310に重畳して表示される。被写体像は、一例として表示面60の全領域に表示される。
カメラMPU140は、表示面60内におけるオブジェクト71の表示位置を含む領域1320が操作された場合において、当該操作が誤操作と判断すると、オブジェクト71に対応する指示を受け付けるオブジェクトの表示位置を変更する。これにより、オブジェクト71に対応する指示を受け付ける位置が変更される。
画面1350は、オブジェクト71の表示位置が変更された画面の一例を示す。カメラMPU140は、オブジェクト1371の表示位置に対するユーザ操作を、画面1300におけるオブジェクト71に対応する指示として受け付ける。カメラMPU140は、領域1320に重ならない位置にオブジェクト1371を表示させる。画面1350の例では、カメラMPU140は、オブジェクト1371の大きさをオブジェクト71より小さくする。一例としてオブジェクト1371の横方向の幅はオブジェクト71より小さく、オブジェクト1371の縦方向の幅はオブジェクト71と同じである。このように、オブジェクト1371の形状とオブジェクト71の形状は異なる。画面1350において表示面60におけるオブジェクト1371の表示位置の重心は、オブジェクト71の表示位置の重心とは異なる。
画面1350におけるオブジェクト1371以外のオブジェクトであるオブジェクト70、オブジェクト72〜オブジェクト74の表示位置は、画面1300と同じである。そのため、他のオブジェクトの表示位置に対するオブジェクト1371の相対的な表示位置は、他のオブジェクトの表示位置に対するオブジェクト71の相対的な表示位置とは異なる。
図14は、オブジェクト71の表示位置が変更された画面の他の一例を示す。画面1400において、カメラMPU140は、オブジェクト1471の表示位置に対するユーザ操作を、画面1300におけるオブジェクト71と同一の指示を受け付けるユーザ操作として受け付ける。
画面1400において、オブジェクト1471の大きさおよび形状はオブジェクト71と同じである。オブジェクト1471の表示位置は、オブジェクト71の表示位置から移動させた位置にある。画面1400において表示面60におけるオブジェクト1471の表示位置の重心は、オブジェクト71の表示位置の重心とは異なる。このように、カメラMPU140は、オブジェクト71と同一の指示を受け付けるオブジェクト1471を、領域1320に重ならない位置に表示させる。
画面1350と同様、画面1400におけるオブジェクト1471以外のオブジェクト70、オブジェクト72〜オブジェクト74の表示位置は、画面1300と同じである。そのため、画面1350と同様、他のオブジェクトの表示位置に対するオブジェクト1471の相対的な表示位置は、他のオブジェクトの表示位置に対するオブジェクト71の相対的な表示位置とは異なる。
図15は、オブジェクト71の表示位置が変更された画面の更なる他の一例を示す。画面1500において、カメラMPU140は、オブジェクト1571の表示位置に対するユーザ操作を、画面1300におけるオブジェクト71と同一の指示を受け付けるユーザ操作として受け付ける。
画面1500において、オブジェクト1571の大きさはオブジェクト71と同じである。オブジェクト1571の表示位置は、オブジェクト71の表示位置から移動させた位置にある。画面1500において表示面60におけるオブジェクト1571の表示位置の重心は、オブジェクト71の表示位置の重心とは異なる。
図14の例とは異なり、オブジェクト71からオブジェクト1571へのオブジェクトの移動方向は、画面1300におけるオブジェクト71、オブジェクト72およびオブジェクト73が並ぶ方向に一致する。具体的には、オブジェクト1571は、オブジェクト71の表示位置よりオブジェクト72の表示位置に近い位置に表示される。この場合、カメラMPU140は、オブジェクト72に対応するオブジェクトおよびオブジェクト73に対応するオブジェクトの表示位置も移動させる。オブジェクト1572は、オブジェクト72に対応するオブジェクトであり、カメラMPU140は、オブジェクト1572の表示位置に対するユーザ操作を、画面1300においてオブジェクト72と同一の指示を行うユーザ操作として受け付ける。オブジェクト1573は、オブジェクト73に対応するオブジェクトであり、カメラMPU140は、オブジェクト1573の表示位置に対するユーザ操作を、画面1300においてオブジェクト73と同一の指示を行うユーザ操作として受け付ける。
オブジェクト1571とオブジェクト1572との間の距離は、オブジェクト71とオブジェクト72との間の距離より小さい。オブジェクト1572とオブジェクト1573との間の距離は、オブジェクト72とオブジェクト73との間の距離より小さい。このように、カメラMPU140は、隣接するオブジェクトの間の表示間隔を短くする。
なお、オブジェクト1571は、オブジェクト71の表示位置より、オブジェクト72の表示位置から遠い位置に表示させてもよい。この場合、隣接するオブジェクトの間の表示間隔を長くしてよい。このように、カメラMPU140は、オブジェクトの表示位置を複数のオブジェクトが並ぶ方向に移動させる場合に、隣接するオブジェクトの間の表示間隔を変えて、隣接するオブジェクトの間隔を一致させてよい。
画面1500におけるオブジェクト70の表示位置は、画面1300と同じである。また、画面1500におけるオブジェクト74の表示位置は、画面1300と同じである。そのため、オブジェクト70の表示位置に対するオブジェクト1571の相対的な表示位置は、オブジェクト70の表示位置に対するオブジェクト71の相対的な表示位置とは異なる。また、オブジェクト74の表示位置に対するオブジェクト1571の相対的な表示位置は、オブジェクト74の表示位置に対するオブジェクト71の相対的な表示位置とは異なる。オブジェクト1572およびオブジェクト1573についても同様である。
図16は、誤操作があった場合の操作方法の変更例を模式的に示す。図16および図17では、露出補正の補正量を設定する操作方法を取り上げて、操作方法の変更例を説明する。
画面1600は、画面1300においてオブジェクト73がタッチされた場合に表示される。画面1600は、露出補正の補正量を設定する露出補正量設定画面である。画面1600において、オブジェクト1610およびオブジェクト1640は、被写体像が表示される領域1310に重畳して表示される。オブジェクト1640は、露出補正量設定画面から元の画面1300に戻る操作を受け付けるオブジェクトである。
オブジェクト1610は、露出補正の補正量を指示するユーザ操作を受け付けるオブジェクトである。オブジェクト1610は、スライダーオブジェクトであり、ユーザによるスライド操作を受け付ける。オブジェクト1610は、現在設定されている補正量を示すとともに、スライド操作を受け付ける位置を示すオブジェクト1612を含む。ユーザは、オブジェクト1612の表示位置をタッチしてスライド操作することにより、露出補正の補正量を一段ずつ指定する。
カメラMPU140は、表示面60内におけるオブジェクト1612の表示位置を含む領域1620が操作された場合において、当該操作が誤操作と判断すると、露出補正の補正量を設定する操作の操作方法を変更する。カメラMPU140は、露出補正の補正量を設定するユーザ操作の操作方法を、領域1620の位置とは異なる位置で当該ユーザ操作を受け付ける操作方法に変更する。
画面1650は、操作方法が変更された画面の一例を示す。カメラMPU140は、ユーザ操作の操作方法を、スライド操作を受け付けるオブジェクト1610からタッチ操作を受け付けるオブジェクト1660に変更する。オブジェクト1660は、被写体像が表示される領域1310に重畳して表示される。
オブジェクト1660は、オブジェクト1661、オブジェクト1662およびオブジェクト1663を含む。オブジェクト1663は、現在設定されている補正量を示すオブジェクトである。オブジェクト1663の表示位置が操作されても、露出補正の補正量を指示するユーザ操作としては受け付けられない。
カメラMPU140は、オブジェクト1661がタッチ操作された場合に、露出補正の補正量を一段上げる。カメラMPU140は、オブジェクト1662がタッチ操作された場合に、露出補正の補正量を一段下げる。オブジェクト1661およびオブジェクト1662は、領域1620とは異なる位置に表示される。
図17は、誤操作があった場合のオブジェクトの操作方法の他の変更例を模式的に示す。画面1700は、画面1650で説明した操作方法とは異なる操作方法で露出補正の補正量を設定する露出補正量設定画面である。画面1700において、オブジェクト1640およびオブジェクト1710は、被写体像が表示される領域1310に重畳して表示される。
オブジェクト1710は、タッチ操作によりユーザ操作を受け付ける。オブジェクト1710は、タッチ操作を受け付ける複数のオブジェクト1712a〜オブジェクト1712gを含む。オブジェクト1712a〜1712gは、それぞれ異なる補正量に対応する。カメラMPU140は、オブジェクト1712a〜1712gのいずれかの表示位置がタッチされた場合に、露出補正の補正量を、タッチされたオブジェクト1712に対応する補正量に変更する。オブジェクト1712a〜オブジェクト1712gは、領域1620とは異なる位置に表示される。
現在設定されている補正量は、対応するオブジェクト1712を他のオブジェクトとは異なる色で表示することにより示される。画面1700の例では、補正量0に対応するオブジェクト1712dが、他のオブジェクトとは異なる色で表示されている。
図18は、自動焦点調節(AF)に係る誤操作の判断方法の一例を説明する図である。ここでは、焦点調節を行うエリアをユーザが指定する場合を取り上げて説明する。例えば、カメラ10は、タッチされた位置をAFエリアに設定して焦点調節を行うタッチAFの機能と、タッチされた位置をAFエリアに設定して焦点調節を行うとともに撮影を行うタッチシャッタの機能とを有する。タッチAFおよびタッチシャッタのいずれの動作を行うかは、ユーザにより設定される。
ここでは、シングルポイントAFでAF動作を行う場合を取り上げて説明する。シングルポイントAFでは、焦点調節を行うエリアが、ユーザにより指定された位置を含むエリアに固定される。画面1800において、ユーザは、特定の位置にたいしてシングルクリックのタッチ操作を行うことにより、AF対象位置を指定する。カメラMPU140は、被写体像が表示される領域1310における、オブジェクト70〜オブジェクト74の表示位置以外の位置に対するタッチ操作を検出した場合に、タッチ操作された位置を含むエリアをAF対象位置として決定する。カメラMPU140は、決定したエリアを示すAF枠1810を、領域1310に重畳して表示させる。
カメラMPU140は、タッチ操作された位置を含むエリアに表示されている被写体像1820に対応する被写体を、追尾対象被写体に決定する。そして、カメラMPU140は、追尾対象被写体の動き量を検出して、検出した動き量に基づいて、AF対象位置を指定する操作が誤操作であるか否かを判断する。
画面1850は、追尾対象被写体が画面内において移動した場合の画面を示す。画面1850における被写体像1870は、被写体像1820に対応する被写体と判断した被写体の像である。カメラMPU140は、被写体像1820の位置から被写体像1870の位置までの被写体の動き量を算出して、動き量が予め定められた値より大きい場合に、AF対象位置を指定する操作が誤操作であったと判断する。
例えば、カメラMPU140は、被写体像1820の位置と被写体像1870の位置との間の距離が予め定められた値を超えた場合に、AF対象位置の指定操作が誤操作であったと判断する。例えば、カメラMPU140は、追尾対象被写体の動き速度が予め定められた速く、かつ、被写体像1820の位置と被写体像1870の位置との間の距離が予め定められた値を超えた場合に、AF対象位置の指定操作が誤操作であったと判断する。なお、被写体像1820の位置と被写体像1870の位置との間の距離として、追尾対象被写体の動きに沿う距離を適用してもよい。
図19は、AFに係る誤操作の判断方法の他の一例を説明する図である。画面1900は、追尾対象被写体の被写体像1920が、カメラ10の撮影範囲外に出ている状態を示す。カメラMPU140は、追尾対象被写体がカメラ10の撮影範囲外に出た場合にも、AF対象位置の指定操作が誤操作であったと判断する。例えば、カメラMPU140は、追尾対象被写体の動き速度が予め定められた速く、かつ、追尾対象被写体がカメラ10の撮影範囲外に出た場合に、AF対象位置の指定操作が誤操作であったと判断する。
なお、撮影範囲とは、画像データとして外部メモリ180に記録される範囲を示す。カメラ10で撮像される全領域が画像データとして記録される場合は、追尾対象被写体がカメラ10による撮像可能範囲外に出た場合に、AF対象位置の指定操作が誤操作であったと判断される。カメラ10で撮像される撮像可能範囲内のうちの一部の領域が画像データとして記録される場合は、当該一部の領域に対応する画角外に追尾対象被写体が出た場合に、AF対象位置の指定操作が誤操作であったと判断される。
図20は、AF対象位置を指定する操作方法の変更例の一例を模式的に示す。カメラMPU140は、画面2000において、オブジェクト70〜オブジェクト74の表示位置以外の位置に対するタッチ操作を検出した場合に、タッチ位置の軌跡2010を特定する。カメラMPU140は、軌跡2010に基づいてAF対象位置を決定する。例えば、カメラMPU140は、タッチ位置の軌跡が閉じていると判断した場合に、軌跡2010で囲まれる位置をAF対象位置として決定する。カメラMPU140は、タッチ位置の軌跡が閉じていないと判断した場合は、AF対象位置を指示する操作として受け付ない。カメラMPU140は、AF対象位置を指示する操作を受け付けた場合、画面2050に示すように、決定したAF対象位置を含むAF枠2060を表示させる。
このように、カメラMPU140は、AF対象位置の指定する操作方法を、シングルクリックのタッチ操作からスライド操作に変更する。なお、カメラMPU140は、AF対象位置の指定する操作方法を、例えばシングルクリックのタッチ操作からダブルクリックのタッチ操作に変更してもよい。このように、カメラMPU140は、AF対象位置を指定する操作方法を、予め定められた時間内に複数回続けて行わるタッチ操作に変更してもよい。
図21は、ユーザインタフェースを変更した場合に表示する確認画面2100の一例を模式的に示す。確認画面2100は、アイコンの位置を変更することを選択するためのオブジェクト2110と、操作方向を変更することを選択するためのオブジェクト2120と、ユーザインタフェースを変更しないことを選択するためのオブジェクト2130とを含む。
オブジェクト2110が選択された場合、図13から図15に関連して説明したように、誤操作と判断された操作がなされたオブジェクトの位置が変更される。オブジェクト2120が選択された場合、図16、図15、図18および図20に関連して説明したように、操作方法が変更される。オブジェクト2130が選択された場合、オブジェクトの位置および操作方法はいずれも変更されない。
図22は、カメラ10における動作フローの一例を示す。図22は、カメラ10の起動から終了までの処理フローを示す。本フローは、例えば操作入力部141の一部としての電源スイッチがON位置に切り替えられた場合に、開始される。本フローは、カメラMPU140が主体となってカメラ10の各部を制御することにより実行される。
ステップS2200において、カメラMPU140は、カメラ10の初期設定を行う。例えば、カメラMPU140は、カメラ10を制御するための各種パラメータ等を、システムメモリ139からRAM136に展開する。展開されたパラメータとしては、図8から図12にかけて説明した情報等を例示することができる。また、カメラMPU140は、例えば操作入力部141の一部としての撮影モードダイヤル等の状態、および、展開されたパラメータ等に基づき、カメラ10の各部の動作条件を設定する。動作条件としては、撮影モード、撮像条件等を例示できる。撮影モードとしては、連写モード、単写モード、バルブ撮影モード等を例示することができる。撮像条件としては、露光時間、絞り値、撮像感度等を例示できる。
また、ステップS2200において、表示面60からの入力を受け付けるか否かを判断する操作判断タスクも起動される。本操作判断タスクが実行する処理については、図23に関連して説明する。
続いて、ステップS2202において、カメラMPU140は、初期設定で設定された内容を表示ユニット138等に表示させる。例えば、カメラMPU140は、撮影モード、撮像条件等の情報を、アイコン表示等の種々の形式で表示ユニット138に表示させる。
続いて、ステップS2204において、カメラMPU140は、生じたイベントを特定する。ここでは、操作入力部141またはタッチセンサ52に対する操作に基づくイベントとして、設定操作に基づくイベント、レリーズボタン12に対する操作に基づくイベント、再生操作に基づくイベントを特に取り上げて説明する。
ステップS2204において、動作設定を行う旨の操作で生じたイベントと判断された場合、指示された設定処理を行う(ステップS2210)。例えば、カメラMPU140は、オブジェクト74を表示させた位置がタッチされたと判断した場合に、設定処理を行う。設定処理としては、撮像条件を設定する処理、AFエリアモードを設定する処理等を例示することができる。本ステップで動作設定が変更された場合、変更された動作設定に応じてパラメータ変数が変更される。
ステップS2204において、レリーズボタン12に対する操作に基づくイベントと判断された場合、レリーズボタン12の押し込みに応じて焦点調節または撮影を行う(ステップS2212)。
ステップS2204において、再生を行う旨の操作で生じたイベントと判断された場合、再生処理を行う(ステップS2214)。例えば、本ステップの処理としては、外部メモリ180に記録されている画像データに基づいてサムネイル表示等を行う処理、ユーザにより選択された画像データに基づいて表示ユニット138に画像を表示させる処理等を例示することができる。
ステップS2204において、イベントが生じていないと判断された場合、ステップS2220に処理を進める。ステップS2210、ステップS2212、ステップS2214の処理が完了した場合も、ステップS2220に処理を進める。
ステップS2220においては、電源をOFFするか否かを判断する。例えば、電源スイッチがOFF位置に切り換えられた場合や、カメラ10が動作を開始してから予め定められた期間、ユーザ指示が無い状態が継続した場合等に、電源をOFFすると判断する。電源をOFFすると判断した場合は、終了処理を行い(ステップS2222)、本フローを終了する。電源をOFFしないと判断した場合はステップS2204に処理を移行させる。
図23は、操作判断タスクによってカメラ10で実行される処理フローの一例を示す。本フローは、カメラMPU140が主体となって、操作判断タスクに従ってカメラ10の各部を制御することにより実行される。
本フローが開始すると、カメラMPU140は、タッチ操作の有無を判断する(ステップS2302)。タッチ操作がないと判断された場合、ステップS2316に処理を移行する。
タッチ操作があると判断された場合、タッチ操作に応じて処理を行う(ステップS2304)。例えば、カメラMPU140は、オブジェクト70の表示部位に対してスライド操作されることに応じて、焦点距離を変更する。また、カメラMPU140は、オブジェクト71の表示位置が操作されることに応じて、閃光モードを変更する。また、カメラMPU140は、オブジェクト72の表示位置が操作されることに応じて、接写モードの状態を変更する。また、カメラMPU140は、オブジェクト73の表示位置が操作されることに応じて、露出補正量設定画面を表示させる。また、カメラMPU140は、オブジェクト74の表示位置が操作されることに応じて、カメラ10の設定メニューを表示させる。また、タッチシャッタの設定が選択されている場合に、ライブビュー動作中においては、オブジェクト以外の領域に対するタッチ操作を検出した場合には、タッチ操作で指定された位置に対して焦点調節が行われ、撮影が行われる。
続いて、ステップS2306において、カメラMPU140は、誤操作を検出する処理を行う。ステップS2306の処理については、図24に関連して説明する。続いて、ステップS2308において誤操作の有無を判断する。誤操作があったと判断された場合、タッチ操作に応じた処理をキャンセルする(ステッS2310)。例えば、ステップS2304において焦点距離を変更した場合は、焦点距離を変更前に戻す。閃光モードを変更した場合は、閃光モードを変更前に戻す。接写モードを変更した場合は、接写モードを変更前の状態に戻す。また、露出補正設定画面を表示した場合は、露出補正設定画面の表示をキャンセルして、元の画面に戻す。また、設定メニューを表示した場合は、設定メニューの表示をキャンセルして、設定動作を行う動作モードを終了する。
続いて、ステップS2312において、タッチ操作をキャンセルした旨をユーザに通知する。タッチ操作をキャンセルした旨は、例えば表示面60の全体を予め定められた時間にわたってグレーアウト表示させることで通知してよい。その他、タッチ操作をキャンセルした旨のメッセージを予め定められた時間にわたって表示面60に表示させてもよい。また、表示面60の全体を点滅表示させることで通知してもよい。また、音声によって通知してもよい。
続いて、ユーザインタフェースの変更処理に関する処理を行う(ステップS2314)。ステップS2314の処理については、図26に関連して説明する。ステップS2314の処理が完了すると、ステップS2316に処理を移行する。
ステップS2316において、動作を終了するか否かを判断する。例えば、図22のステップS2222の終了動作において、操作判断タスクを終了する旨が通知された場合に、動作を終了すると判断する。動作を終了しないと判断された場合は、ステップS2302に処理を移行する。動作を終了すると判断された場合は、本フローを終了する。
図24は、ユーザインタフェースの変更処理に関する処理の一例を示す。本フローは、に図23のステップS2314の処理に適用できる。
本フローが開始すると、ステップS2302で検出されたタッチ操作から予め定められた時間が経過するまでの間に生じたパネル50の変位を検出して、変位方向の判断を行う(ステップS2402)。具体的には、カメラMPU140は、回転量および回転方向を検出して、パネル50の回転方向が、表示面60を操作することで回転する方向であるか、表示面60を操作することで回転する方向でないかを判断する。カメラMPU140は、第1回転検出部42および第2回転検出部44の出力に基づいて、パネル50の回転量および回転方向を検出する。ステップS2402の判断において、パネル50の回転方向が表示面60を操作することで回転する方向でない判断された場合、ステップS2422に処理を移行する。ステップS2422では、カメラMPU140は誤操作が検出されたと判断して、本フローを終了する。
ステップS2402の判断において、パネル50の回転方向が表示面60を操作することで回転する方向であると判断された場合、カメラMPU140は閾値を決定する(ステップS2404)。例えば、カメラMPU140は、上述したようにスコアの合計値に対応する閾値を選択する。
続いて、ステップS2406において、検出されたパネル50の回転量が、ステップS2404で決定した閾値を超えるか否かを判断する。パネル50の回転量が閾値を超えると判断された場合、ステップS2422に処理を移行する。
ステップS2406の判断においてパネル50の回転量が閾値を超ないと判断された場合、ステップS2302で検出された操作がすぐにキャンセルされたか否かを判断する(ステップS2408)。例えば、オブジェクト73の操作を検出して露出補正設定画面を表示した場合に、他のオブジェクトが操作されることなく予め定められた時間内にオブジェクト1640が操作された場合に、操作がすぐにキャンセルされたと判断する。
ステップS2408の判断において操作がすぐにキャンセルされたと判断した場合は、ステップS2422に処理を移行する。ステップS2408の判断において操作がすぐにキャンセルされていないと判断した場合は、ステップS2302で検出された操作がファインダ窓163を見ている最中に操作されたものであるか否かを判断する(ステップS2410)。ファインダ窓163を見ている最中に操作されたと判断した場合は、ステップS2422に処理を移行する。ファインダ窓163を見ている最中に操作されたと判断した場合は、ステップS2422に処理を移行する。ファインダ窓163を見ている最中に操作されたものでないと判断した場合は、ステップS2302で検出された操作があったタイミングが、操作入力部141が操作されたタイミング、または、ユーザがカメラ本体130を把持したタイミングに近いか否かを判断する(ステップS2412)。操作されたタイミングが、操作入力部141が操作されたタイミングに近いか、ユーザがカメラ本体130を把持したタイミングに近いと判断された場合、ステップS2422に処理を移行する。ステップS2412においては、カメラMPU140は、操作されたタイミングが、操作入力部141が操作されたタイミングの前後の予め定められた時間内にある場合に、ステップS2302で検出された操作があったタイミングが操作入力部141が操作されたタイミングに近いと判断する。ユーザがカメラ本体130を把持したタイミングに近いか否かを判断する場合も同様である。
ステップS2412の判断において、操作されたタイミングが、操作入力部141が操作されたタイミングに近くなく、かつ、ユーザがカメラ本体130を把持したタイミングにも近くないと判断された場合、ライブビューの動作を行っているか否かを判断する(ステップS2414)。ライブビューの動作を行っていると判断した場合、タッチAFまたはタッチシャッタの動作を行う設定であるか否かを判断する(ステップS2416)。タッチAまたはタッチシャッタを行う設定である場合、ライブビュー中の操作の有無を検出する(ステップS2418)。ステップS2418の処理については、図25に関連して説明する。
ステップS2416の判断において、タッチAFの動作を行う設定でもなく、タッチシャッタの動作を行う設定でもないと判断した場合は、誤操作が検出されなかったと判断して(ステップS2420)、本フローを終了する。ステップS2414の判断において、ライブビューの動作を行っていないと判断した場合は、ステップS2420に処理を移行する。
本フローのステップS2412においてタイミングの比較対象とする操作入力部141は、ステップS2302でユーザ操作が検出されたオブジェクトの表示位置に近い位置に位置する操作入力部に限定してよい。例えば、図6に示したように表示面60が外を向いた状態で収容部30に収容されている場合において、操作ボタン90が操作されたタイミングに近いタイミングでオブジェクト74が操作されたときには、誤操作と判断してよい。一方、操作ボタン90の操作を受け付けたタイミングに近いタイミングでオブジェクト73が操作されたときには、誤操作でないと判断してよい。
図25は、ライブビューの動作を行っている場合の誤操作検出処理の一例を示す。本フローは、図24のステップS2418の処理に適用できる。ここでは、AFエリアモードとして、シングルポイントAFまたはターゲット追尾AFに設定されている場合を取り上げて説明する。ターゲット追尾AFは、ユーザにより指定された位置の被写体を追尾してAFエリアを設定するAFエリアモードである。したがって、ターゲット追尾AFが選択されている場合、AFエリアは追尾対象被写体の移動に応じて移動する場合がある。
本フローが開始すると、AFエリアモードを判断する(ステップS2502)。AFエリアモードがシングルポイントAFに設定されている場合、AF対象の被写体の動きが高速であるか否かを判断する(ステップS2504)。例えば、追尾対象被写体の動く速さが予め定められた値より大きい場合に、AF対象の被写体の動きが高速であると判断する。タッチAFの動作を行う旨が選択されている場合は、AF位置の指定操作を受け付けてから予め定められた時間内の追尾対象被写体の動きが高速であるか否かを判断してよい。タッチシャッタの動作を行う旨が選択されている場合、撮影を行うまでの追尾対象被写体の動きが高速であるか否かを判断してよい。
AF対象の被写体の動きが高速である場合、カメラMPU140は、AF対象の被写体が予め定められた距離以上の距離を移動したか、撮影範囲外に移動したか否かを判断する(ステップS2506)。AF対象の被写体が予め定められた距離以上の距離を移動したと判断された場合、または、AF対象の被写体が撮影範囲外に移動したと判断された場合、誤操作があったと判断して(ステップS2508)、本フローを終了する。ステップS2506の判断において、AF対象の被写体が予め定められた距離以上の距離を移動しておらず、かつ、AF対象の被写体が撮影範囲外に移動していないと判断された場合、誤操作がんかったと判断して(ステップS2510)、本フローを終了する。ステップS2504の判断において、AF対象の被写体の動きが高速でないと判断した場合、ステップS2510に処理を移行する。
ステップS2502の判断において、AFエリアモードがターゲット追尾AFの設定であると判断した場合、カメラMPU140は、カメラ10の向きの変化の有無を検出して、カメラ10の向きの変化があったか否かを判断する(ステップS2512)。例えば、カメラMPU140は、角度センサ170の出力に基づいて、カメラ10の向きの変化量が予め定められた値より大きい場合に、カメラ10の向きの変化があったと判断する。カメラ10の向きの変化がなかったと判断された場合、ステップS2510に処理を移行する。カメラ10の向きの変化があったと判断された場合、AF対象の被写体の動きとカメラの向きの動きが異なるか否かを判断する(ステップS2514)。
ステップS2514においては、カメラMPU140は、追尾対象被写体が動く方向にカメラ10の向きが追従していると判断した場合に、AF対象の被写体の動きとカメラの向きの動きが異ならないと判断する。例えば、カメラMPU140は、カメラ10の向きの動きが、追尾対象被写体が動く方向の動き成分を有していると判断した場合に、AF対象の被写体の動きとカメラの向きの動きが異ならないと判断する。カメラ10の向きの動きが、追尾対象被写体が動く方向の動き成分を有している場合でも、例えばカメラ10の向きの動きが追尾対象被写体の動きに対して高速であり、予め定められた時間内に追尾対象被写体が撮影範囲外の位置に移動したと判断された場合は、AF対象の被写体の動きとカメラの向きの動きが異なると判断する。カメラ10の向きの動きに対する追尾対象被写体の相対的な動きは、撮像により得られた画像データから背景に対する追尾対象被写体の動きに基づいて検出してよい。
ステップS2514の判断において、AF対象の被写体の動きとカメラの向きの動きが異なると判断した場合は、ステップS2510に処理を移行する。ステップS2514の判断において、AF対象の被写体の動きとカメラの向きの動きが異ならないと判断した場合は、ステップS2508に処理を移行する。
図26は、ユーザインタフェースの変更処理に関する処理の一例を示す。本フローは、図23のステップS2314の処理に適用できる。
本フローが開始すると、カメラMPU140は、ステップS2302で検出された操作について、予め定められた時間内に生じた誤操作の回数をカウントする(ステップS2602)。例えば、カメラMPU140は、予め定められた時間内に生じた誤操作の回数を示す変数をインクリメントする。誤操作の回数を示す変数は、オブジェクト毎に用意されている。カメラMPU140は、当該変数に対応する誤操作が検出された最後のタイミングを示す情報を記憶しており、当該変数は、誤操作が検出された最後のタイミングから予め定められた時間が経過した場合に0に初期化されてよい。当該変数は、動作パラメータとしてシステムメモリ139に格納される。
続いて、カメラMPU140は、誤操作の頻度が基準値を超えるか否かを判断する(ステップS2604)。誤操作の頻度は、誤操作が生じた回数を予め定められた時間で除算した値を適用してよい。誤操作の頻度が基準値を超える場合、ユーザインタフェースを変更するか否かの確認画面を表示させる(S2606)。例えば、図21に関連して説明した確認画面2100を表示させる。
続いて、ユーザインタフェースを変更するか否かを判断する(ステップS2608)。例えば、オブジェクト2110またはオブジェクト2120が選択された場合に、ユーザインタフェースを変更すると判断し、オブジェクト2130が選択された場合に、ユーザインタフェースを変更しないと判断する。ユーザインタフェースを変更すると判断された場合、カメラMPU140はユーザインタフェースを変更して(ステップS2610)、本フローを終了する。ユーザインタフェースを変更しないと判断された場合、カメラMPU140はユーザインタフェースを変更することなく本フローを終了する。ステップS2604の判断において、誤操作の頻度が基準値を超えない場合、ユーザインタフェースを変更することなく本フローを終了する。
以上の説明において、カメラ10において本体部および表示部を連結する形態として、連結部40によってパネル50をカメラ本体130に対して可動に連結する形態を例示した。しかし、本体部と表示部とは任意の連結部材で連結されてよい。また、本実施形態のパネル50は、カメラ本体130に対して回転式の操作部である。他の形態として、スライド式の操作部であってもよい。すなわち、パネル50等の操作部の変位は、回転に限らず、様々な方向の変位を適用の対象とすることができる。また、本実施形態では閾値を用いて操作を受け付けるか否かを判断するとした。しかし、閾値に限らず、種々の基準値を用いて操作を受け付けるか否かを判断してよい。
カメラ10においてパネル50の角度を検出する検出器としては、連結部40内に第1回転検出部42および第2回転検出部44を例示した。しかし、パネル50の変位を検出する変位検出部として種々の検出方式の検出部を適用できる。例えば、パネル50の内部に設けた方位センサを、変位検出部として適用できる。また、パネル50の内部に磁石を設け、カメラ本体130に設けた磁気センサで磁力を検出する方式を採用してもよい。
上記の説明において、カメラMPU140の動作として説明した処理は、カメラMPU140がプログラムに従ってカメラ10が有する各ハードウェアを制御することにより実現される。また、上記の説明においてASIC135により実現される処理は、プロセッサによって実現することができる。例えば、ASIC135の動作として説明した処理は、プロセッサがプログラムに従ってカメラ10が有する各ハードウェアを制御することにより実現される。すなわち、本実施形態のカメラ10に関連して説明した処理は、プロセッサがプログラムに従って動作して各ハードウェアを制御することにより、プロセッサ、メモリ等を含む各ハードウェアとプログラムとが協働して動作することにより実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体から当該プログラムをロードすることができる。
また、本実施形態において、レンズユニット120が装着された状態のカメラ10を、撮像装置の一例として取り上げた。しかし、撮像装置とは、レンズユニット120が装着されていないカメラ本体130およびパネル50を含む概念である。撮像装置としては、レンズ交換式カメラの一例である一眼レフレックスカメラの他に、レンズ非交換式カメラの一例であるコンパクトデジタルカメラ、ミラーレス式カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能を有する種々の電子機器を適用の対象とすることができる。撮像装置は電子機器の一例である。電子機器としては、携帯電話、携帯情報端末、いわゆるタブレットやノートパソコン等のコンピュータ、音楽データ再生装置、カーナビ等のナビゲーション装置、リモートコントロール装置等、種々の機器を適用の対象とすることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。