以下、本発明の実施形態について図面に基づいて説明する。
図1及び図2を参照して、電子機器を適用したデジタルカメラの構成及び機能について説明する。図1は、デジタルカメラ100を示す図である。撮影レンズ104は、ズームレンズ、フォーカスレンズを含むレンズ群である。シャッター105は、絞り機能を備えるシャッターである。撮像部106は、光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器107は、アナログ信号をデジタル信号に変換する。A/D変換器107は、撮像部106から出力されるアナログ信号をデジタル信号に変換する。バリア103は、デジタルカメラ100の、撮影レンズ104を含む撮像系を覆うことにより、撮影レンズ104、シャッター105、撮像部106を含む撮像系の汚れや破損を防止する。
画像処理部102は、A/D変換器107からのデータ、又は、メモリ制御部108からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部102は、撮像した画像データを用いて所定の演算処理を行う。得られた演算結果は、システム制御部101に送られ、システム制御部101は、演算結果に基づいて露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部102は更に、撮像した画像データを用いて所定の演算処理を行い、システム制御部101は、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行う。
A/D変換器107からの出力データは、画像処理部102及びメモリ制御部108を介して、或いは、メモリ制御部108を介してメモリ109に直接書き込まれる。メモリ109は、撮像部106によって得られA/D変換器107によりデジタルデータに変換された画像データや、表示部111に表示するための画像データを格納する。メモリ109は、所定枚数の静止画像や所定時間の動画像及び音声を格納するのに十分な記憶容量を備えている。また、メモリ109は、画像表示用のメモリ(ビデオメモリ)を兼ねている。
D/A変換器110は、メモリ109に格納されている画像表示用のデータをアナログ信号に変換して表示部111に供給する。こうして、メモリ109に書き込まれた表示用の画像データは、D/A変換器110を介して表示部111により表示される。表示部111は、LCD等の表示器上に、D/A変換器110からのアナログ信号に応じた表示を行う。A/D変換器107によって一度A/D変換されメモリ109に蓄積されたデジタル信号をD/A変換器110においてアナログ変換し、表示部111に逐次転送して表示することで、電子ビューファインダとして機能し、スルー画像表示を行える。
不揮発性メモリ114は、電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ114には、システム制御部101の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。
システム制御部101は、デジタルカメラ100全体を制御する。前述した不揮発性メモリ114に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。113はシステムメモリであり、RAMが用いられる。システムメモリ113には、システム制御部101の動作用の定数、変数、不揮発性メモリ114から読み出したプログラム等を展開する。また、システム制御部101は、メモリ109、D/A変換器110及び表示部111等を制御することにより表示制御も行う。システムタイマ112は、各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
モード切替スイッチ117、第1シャッタースイッチ116a、第2シャッタースイッチ116b及び操作部115は、システム制御部101に各種の動作指示を入力するための操作手段である。モード切替スイッチ117は、システム制御部101の動作モードを静止画記録モード、動画記録モード、再生モード等のいずれかに切り替える。静止画記録モードに含まれるモードとして、オート撮影モード、オートシーン判別モード、マニュアルモード、撮影シーン別の撮影設定となる各種シーンモード、プログラムAEモード、カスタムモード等がある。モード切替スイッチ117で、静止画撮影モードに含まれるこれらのモードのいずれかに直接切り替えられる。あるいは、モード切替スイッチ117で静止画撮影モードに一旦切り替えた後に、静止画撮影モードに含まれるこれらのモードのいずれかに、他の操作部材を用いて切り替えるようにしてもよい。同様に、動画撮影モードにも複数のモードが含まれていてもよい。
第1シャッタースイッチ116aは、デジタルカメラ100に設けられたシャッターボタン116の操作途中、いわゆる半押し(撮影準備指示)でONとなり第1シャッタースイッチ信号SW1を発生する。第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作を開始する。第2シャッタースイッチ116bは、シャッターボタン116の操作完了、いわゆる全押し(撮影指示)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部101は、第2シャッタースイッチ信号SW2により、撮像部106からの信号読み出しから記録媒体122に画像データを書き込むまでの一連の撮影処理の動作を開始する。
操作部115の各操作部材は、表示部111に表示される種々の機能アイコンを選択操作すること等により、場面毎に適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部111に表示される。利用者は、表示部111に表示されたメニュー画面と、上下左右の4方向ボタンやSETボタンとを用いて直感的に各種設定を行うことができる。
電源制御部119は、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部119は、その検出結果及びシステム制御部101の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体122を含む各部へ供給する。電源部120は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。記録媒体I/F121は、メモリカードやハードディスク等の記録媒体122とのインターフェースである。記録媒体122は、撮影された画像を記録するためのメモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
デジタルカメラ100はまた、操作部115の1つとして、表示部111に対する接触を検知可能なタッチパネル123を有する。タッチパネル123と表示部111とは一体的に構成することができる。例えば、タッチパネル123を光の透過率が表示部111の表示を妨げないように構成し、表示部111の表示面の上層に取り付ける。そして、タッチパネル123における入力座標と、表示部上の表示座標とを対応付ける。これにより、恰もユーザが表示部上に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。システム制御部101は、タッチパネル123への以下の操作を検出できる。
・タッチパネル123を指やペンで触れたこと(以下、タッチダウン)。
・タッチパネル123を指やペンで触れている状態であること(以下、タッチオン)。
・タッチパネル123を指やペンで触れたまま移動していること(以下、タッチムーブ)。
・タッチパネル123へ触れていた指やペンを離したこと(以下、タッチアップ)。
・タッチパネル123に何も触れていない状態(以下、タッチオフ)。
これらの操作や、タッチパネル123上に指やペンが触れている位置座標は内部バス124を通じてシステム制御部101に通知され、システム制御部101は通知された情報に基づいてタッチパネル123上にどのような操作が行なわれたかを判定する。タッチムーブについてはタッチパネル123上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル123上の垂直成分・水平成分毎に判定できる。また、タッチパネル123を指やペンでタッチムーブしながら特定領域に入る操作(以下、ムーブイン)、タッチムーブしながら特定領域から外に出る操作(以下、ムーブアウト)を検知することもできる。タッチパネル123は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。角速度検出部125は、水準器機能等の各種制御に用いる回転角度を検出する部位である。
図2は、デジタルカメラ100の外観を示す図である。図2は、デジタルカメラ100を背面から見た図である。デジタルカメラ100の本体の背面には表示部111と、表示部111に重ねられ一体になったタッチパネル123が備えられている。また、背面には、メニューボタン201と、セットボタン202等の操作ボタンが設けられている。これら操作ボタンは操作部115の1つである。
図2に示す表示部111には、設定画面が表示されている。設定画面は、メニューボタン201が押下されたことに対応して表示される画面である。設定画面には、例えば記録画質メニューが表示されている。システム制御部101は、このメニューの表示領域がユーザによりタッチされると、デジタルカメラ100で撮影する画像の記録画質を設定する画面を表示部111に表示する。また、表示部111の上部にAFタブが表示されている。システム制御部101は、AFタブの表示領域がタッチされると、AF関連の設定メニューを表示部111に表示する。
ここで、タッチパネル123上の領域、すなわちタッチ検出可能な領域のうち、タッチが検出された場合に、検出されたタッチ位置に関連付けされた表示アイテムに割り当てられた機能が実行される領域をアイテム反応領域と定義する。これに対して、タッチ検出は可能であるが、表示アイテムとは関連付けられていない(つまりアイテム反応領域ではない)領域をタッチ反応領域と定義する。すなわち、アイテム反応領域はタッチ反応領域と重なるが、タッチ反応領域はアイテム反応領域と重ならない領域を含む。
図3(a)は、システム制御部101により表示部111に表示される設定画面300の一例を示す図である。以下、表示部111の短辺方向を上下方向350、長辺方向を横方向351とする。設定画面300の上部から順に、大タブ表示領域310と、小タブ表示領域320と、メニュー項目表示領域330とが設けられている。すなわち、小タブ表示領域320は大タブ表示領域310の下側で大タブ表示領域310に隣接する位置に配置されている。メニュー項目表示領域330は、小タブ表示領域320の下側で小タブ表示領域320に隣接する位置に配置されている。さらに、小タブ表示領域320の右側には、フォーカスタブ表示領域340が設けられている。フォーカスタブ表示領域340には、フォーカスされている小タブの名前が表示される。
大タブ表示領域310には、複数の大タブ311〜316が表示部111の横方向351に沿って配置されている。なお、図3(a)の例では、大タブ311がフォーカスされており、大タブ311が他の大タブ312〜316と異なる表示態様で表示されている。図3(a)に示す例では、大タブ311〜316は、それぞれ撮影、AF、再生、設定、CFn、マイメニューの項目を示すものである。
また、小タブ表示領域320には、複数の小タブ321〜327が横方向351に沿って配置されている。小タブ表示領域320に配置される小タブ321〜327は、フォーカスされた大タブに属する選択項目である。図3(a)の例では、小タブ321がフォーカスされており、小タブ321が他の小タブ322〜327と異なる表示態様で表示されている。大タブに属する小タブの種類及び数は、大タブ毎に異なっており、小タブ表示領域320には、フォーカスされた大タブに属するすべての小タブが表示される。
例えば、撮影の大タブ311には、撮影関連の設定に係る7個の小タブが属している。AFの大タブ312には、撮影関連の設定、主にオートフォーカス時の設定に係る5個の小タブが属している。再生の大タブ313には、撮影画像の再生に関連する3個の小タブが属している。設定の大タブ314には、デジタルカメラ100の設定や周辺機器との接続設定等に係る4個の小タブが属している。CFnの大タブ315には、撮影機能の詳細設定に係る4個の小タブが属している。マイメニューの大タブ316には、マイメニュー以外の大タブに属する小タブ又はこの小タブに属するメニュー項目をユーザが登録するための1〜6個の小タブが属している。
メニュー項目表示領域330には、複数のメニュー項目331〜337が上下方向350に沿って配置されている。メニュー項目表示領域330に配置されるメニュー項目331〜337は、フォーカスされた小タブに属するメニュー項目である。図3(a)の例ではメニュー項目331がフォーカスされており、メニュー項目331が他のメニュー項目332〜337と異なる表示態様で表示されている。小タブに属する表示項目の種類及び数は、小タブ毎に異なっており、メニュー項目表示領域330には、フォーカスされた小タブに属するすべてのメニュー項目が表示される。本実施形態においては、各小タブには最大7つのメニュー項目が属している。
大タブ表示領域310、小タブ表示領域320及びメニュー項目表示領域330のフォーカス位置は操作部115の操作又はタッチパネル123へのタッチ操作に応じて変更される。そして、システム制御部101は、フォーカスされたメニュー項目に対する操作部115やタッチパネル123での選択操作を受け付けると、フォーカスされたメニュー項目に応じた画面を表示部111に表示する。例えば、図3(a)に示すように記録画質のメニュー項目331にフォーカスされた状態でユーザがセットボタン202を押したとする。この場合、システム制御部101は、図3(b)に示すように、撮影した画像の記録画質を選択させるための記録画質選択画面360を表示部111に表示する。
以上のように、表示画面に表示されるメニュー項目は小タブに属し、各小タブは大タブに属するというように、メニュー項目は大タブを筆頭とした階層構造で構成されている。なお、大タブ311〜316、小タブ321〜327及びメニュー項目331〜337は、それぞれアイテムの一例である。また、大タブ表示領域310、小タブ表示領域320及びメニュー項目表示領域330は、それぞれ複数のアイテムを含むアイテム群の表示領域の一例である。また、システム制御部101が表示部111に設定画面を表示する処理は、第1のアイテム群と第2のアイテム群を表示手段の隣接する位置に表示する表示制御処理の一例である。
図4は、設定画面300の各表示領域に対応するアイテム反応領域を示す図である。大タブ群反応領域401は、大タブ表示領域310に対応するアイテム反応領域である。大タブ群反応領域401は、大タブ表示領域310と、大タブ表示領域310の下側の領域とを含んでいる。小タブ群反応領域402は、小タブ表示領域320に対応するアイテム反応領域である。また、小タブ群反応領域402の下側の領域404は、小タブ群反応領域402に対応して予め設定された特定領域である。特定領域404は、メニュー項目表示領域330と重なる領域である。特定領域404については後述する。メニュー項目群反応領域403は、メニュー項目表示領域330に対応するアイテム反応領域である。なお、メニュー項目群反応領域403は、メニュー項目表示領域330に対応する領域のうち特定領域404と重ならない領域である。
図5(a)は、大タブ反応領域を示す図である。大タブ反応領域は、各大タブに対応するアイテム反応領域である。表示アイテムとしての大タブ311〜316それぞれに対応し、大タブ反応領域511〜516が割り当てられている。大タブ反応領域511〜516は、いずれも大タブ群反応領域401内の領域である。図5(b)は、小タブ反応領域を示す図である。小タブ反応領域は、各小タブに対応するアイテム反応領域である。表示アイテムとしての小タブ321〜327それぞれに対応し、小タブ反応領域521〜527が割り当てられている。小タブ反応領域521〜526は、いずれも小タブ群反応領域402内の領域である。図5(c)は、メニュー項目反応領域を示す図である。メニュー項目反応領域は、各メニュー項目に対応するアイテム反応領域である。表示アイテムとしてのメニュー表示項目それぞれに対応し、メニュー項目反応領域531〜537が割り当てられている。メニュー項目反応領域531〜537は、いずれもメニュー項目群反応領域403内の領域である。
図6は、ユーザ操作制御処理を示すフローチャートである。本処理は、システム制御部101が不揮発性メモリ114に記録されたプログラムをシステムメモリ113に展開し、これを実行することにより実現される。S601において、システム制御部101は、タッチパネル123がタッチダウンを検出するまで待機し、タッチダウンを検出すると(S601でYes)、処理をS602へ進める。ここで、タッチダウンは、タッチの開始に相当する操作であり、予め定められた特定のタッチ操作の一例である。S602において、システム制御部101は、タッチダウンの位置が大タブ群反応領域401内の位置か否かを判定する。システム制御部101は、タッチダウンの位置が大タブ群反応領域401内の位置である場合には(S602でYes)、処理をS603へ進める。システム制御部101は、タッチダウンの位置が大タブ群反応領域401内の位置でない場合には(S602でNo)、処理をS604へ進める。
S603において、システム制御部101は、大タブタッチ処理を行う。大タブタッチ処理(S603)については、図7を参照しつつ後に詳述する。S604において、システム制御部101は、タッチダウンの位置が小タブ群反応領域402内の位置か否かを判定する。システム制御部101は、タッチダウンの位置が小タブ群反応領域402内の位置である場合には(S604でYes)、処理をS605へ進める。101は、タッチダウンの位置が小タブ群反応領域402内の位置でない場合には(S604でNo)、処理をS606へ進める。S605において、システム制御部101は、小タブタッチ処理を行う。小タブタッチ処理(S605)については、図8を参照しつつ後に詳述する。
S606において、システム制御部101は、タッチダウンの位置がメニュー項目群反応領域403内の位置か否かを判定する。システム制御部101は、タッチダウンの位置がメニュー項目群反応領域403内の位置である場合には(S606でYes)、処理をS607へ進める。システム制御部101は、タッチダウンの位置がメニュー項目群反応領域403内の位置でない場合には(S606でNo)、処理を終了する。S607において、システム制御部101は、メニュー項目タッチ処理を行う。メニュー項目タッチ処理(S606)については、図9を参照しつつ後に詳述する。
なお、システム制御部101は、タッチダウンの位置がアイテム反応領域以外の領域(特定領域404を含む)であった場合には、その後タッチムーブやタッチアップが検出されても、タッチムーブやタッチアップ後の位置に応じた処理は実行しない。したがって、表示部111に表示されている内容は変化しない。また、特定領域404は、小タブ群反応領域402及びメニュー項目群反応領域403のいずれとも重ならない領域である。したがって、システム制御部101は、S601〜S607の処理において、特定領域へのタッチダウンが検出された場合には、タッチダウンの位置に応じた処理を実行しないよう制御することとなる(実行制御処理)。
図7は、図6を参照しつつ説明した大タブタッチ処理(S603)における詳細な処理を示すフローチャートである。S701において、システム制御部101は、タッチダウンの位置に対応する大タブ反応領域511〜516を特定する。次に、S702において、システム制御部101は、S701において特定された大タブ反応領域に対応する大タブ311〜316に大タブのフォーカスを移動する。次に、S703において、システム制御部101は、S701において特定された大タブ反応領域に対応する大タブに属する小タブを小タブ表示領域320に表示する。このとき、大タブに属する複数の小タブのうち予め設定された一の小タブがフォーカスされるものとする。次に、S704において、システム制御部101は、フォーカスされた小タブに属するメニュー項目をメニュー項目表示領域330に表示する。すなわち、システム制御部101は、メニュー項目の表示を更新する。
次に、S705において、システム制御部101は、タッチパネル123がタッチムーブを検出したか否かを判定する。ここで、タッチムーブは、タッチ位置の移動に相当する操作である。システム制御部101は、タッチムーブが検出された場合は(S705でYes)、処理をS706へ進める。システム制御部101は、タッチムーブが検出されなかった場合には(S705でNo)、処理をS708へ進める。S706において、システム制御部101は、タッチムーブ後の位置が大タブ反応領域であるか否か、すなわち大タブ反応領域へのムーブインであるか否かを判定する。ここで、ムーブインとは、タッチムーブによりタッチ位置がある領域外からこの領域内に移動することである。システム制御部101は、大タブ反応領域へのムーブインである場合には(S706でYes)、処理をS707へ進める。システム制御部101は、大タブ反応領域へのムーブインでない場合には(S706でNo)、処理をS705へ進める。
S707において、システム制御部101は、タッチムーブ後の位置に対応する大タブ反応領域を特定し、その後処理をS702へ進める。なお、この場合、システム制御部101は、S707において特定された大タブ反応領域を処理対象として、S702以降の処理を行う。すなわち、S702においては、システム制御部101は、S707において特定された大タブ反応領域に対応する大タブにフォーカスを移動する。また、S703においては、システム制御部101は、S707において特定された大タブ反応領域に対応する大タブに属する複数の小タブを小タブ表示領域320に表示する。
S708において、システム制御部101は、タッチパネル123がタッチアップを検出したか否かを判定する。ここで、タッチアップは、タッチの終了に相当する操作である。システム制御部101は、タッチアップが検出された場合には(S708でYes)、大タブタッチ処理(S603)を終了する。システム制御部101は、タッチアップが検出されなかった場合には(S708でNo)、処理をS705へ進める。
以上のように、ユーザが、最初に大タブ群反応領域を指等の操作子で触れた(タッチダウン)とする。この場合、その後に操作子を各大タブ反応領域511〜516になぞるように移動(タッチムーブ)させることで、大タブのフォーカスを順次移動させることができる。さらに、デジタルカメラ100は、タッチダウンの位置が大タブ群反応領域であった場合には、タッチムーブのユーザ操作を受け付け可能なアイテム反応領域を大タブ反応領域に制限する。したがって、ユーザが、大タブ以外のアイテム反応領域に操作子を移動させた場合には、システム制御部101は、操作子の移動後の位置に応じたフォーカスを移動する処理を実行しないよう制御する。すなわち、システム制御部101は、タッチダウンの位置が大タブ群反応領域内だった場合はタッチアップを検出するまで大タブのフォーカス移動とこれに伴う処理(S702〜S704)以外の表示制御は行わない。また大タブの以外の機能が実行されることもない。
図8は、図6を参照しつつ説明した小タブタッチ処理(S605)における詳細な処理を示すフローチャートである。S801において、システム制御部101は、タッチダウンの位置に対応する小タブ反応領域521〜527を特定する。次に、S802において、システム制御部101は、S801において特定された小タブ反応領域に対応する小タブ321〜327に小タブのフォーカスを移動する。次に、S803において、システム制御部101は、フォーカスされた小タブに属するメニュー項目をメニュー項目表示領域330に表示する。すなわち、システム制御部101は、メニュー項目の表示を更新する。
次に、S804において、システム制御部101は、タッチパネル123がタッチムーブを検出したか否かを判定する。システム制御部101は、タッチムーブが検出された場合は(S804でYes)、処理をS805へ進める。システム制御部101は、タッチムーブが検出されなかった場合には(S804でNo)、処理をS807へ進める。S805において、システム制御部101は、タッチムーブ後の位置が小タブ反応領域であるか否か、すなわち小タブ反応領域へのムーブインであるか否かを判定する。システム制御部101は、小タブ反応領域へのムーブインである場合には(S805でYes)、処理をS806へ進める。システム制御部101は、小タブ反応領域へのムーブインでない場合には(S805でNo)、処理をS804へ進める。
S806において、システム制御部101は、タッチムーブ後の位置に対応する小タブ反応領域を特定し、その後処理をS802へ進める。なお、この場合、システム制御部101は、S806において特定された小タブ反応領域を処理対象として、S802以降の処理を行う。すなわち、S802においては、システム制御部101は、S806において特定された小タブ反応領域に対応する小タブにフォーカスを移動する。
S807において、システム制御部101は、タッチパネル123がタッチアップを検出したか否かを判定する。システム制御部101は、タッチアップが検出された場合には(S807でYes)、小タブタッチ処理(S605)を終了する。システム制御部101は、タッチアップが検出されなかった場合には(S807でNo)、処理をS804へ進める。
以上のように、ユーザが、最初に小タブ群反応領域を操作子で触れた(タッチダウン)とする。この場合、その後に操作子を各小タブ反応領域521〜527になぞるように移動(タッチムーブ)させることで、小タブのフォーカスを順次移動させることができる。さらに、デジタルカメラ100は、タッチダウンの位置が小タブ群反応領域であった場合には、タッチムーブのユーザ操作を受け付け可能なアイテム反応領域を小タブ反応領域に制限する。したがって、ユーザが小タブ以外のアイテム反応領域に操作子を移動させた場合には、システム制御部101は、操作子の移動後の位置に応じたフォーカスを移動する処理を実行しないよう制御する。すなわち、システム制御部101は、タッチダウンの位置が小タブ群反応領域内だった場合は、タッチアップを検出するまで小タブのフォーカス移動とこれに伴う処理(S802,S803)以外の表示制御は行わない。また、小タブの以外の機能が実行されることもない。
図9は、図6を参照しつつ説明したメニュー項目タッチ処理(S607)における詳細な処理を示すフローチャートである。S901において、システム制御部101は、タッチダウンの位置に対応するメニュー項目反応領域531〜537を特定する。次に、S902において、システム制御部101は、S901において特定されたメニュー項目反応領域に対応するメニュー項目331〜337にメニュー項目のフォーカスを移動する。
次に、S903において、システム制御部101は、タッチパネル123がタッチムーブを検出したか否かを判定する。システム制御部101は、タッチムーブが検出された場合は(S903でYes)、処理をS904へ進める。システム制御部101は、タッチムーブが検出されなかった場合には(S903でNo)、処理をS906へ進める。S904において、システム制御部101は、タッチムーブ後の位置がメニュー項目反応であるか否か、すなわちメニュー項目反応領域へのムーブインであるか否かを判定する。システム制御部101は、メニュー項目反応領域へのムーブインである場合には(S904でYes)、処理をS905へ進める。システム制御部101は、メニュー項目反応領域へのムーブインでない場合には(S904でNo)、処理をS903へ進める。
S905において、システム制御部101は、タッチムーブ後の位置に対応するメニュー項目反応領域を特定し、その後処理をS902へ進める。なお、この場合、システム制御部101は、S905において特定されたメニュー項目反応領域を処理対象として、S902以降の処理を行う。すなわち、S902においては、システム制御部101は、S905において特定されたメニュー項目反応領域に対応するメニュー項目にフォーカスを移動する。
S906において、システム制御部101は、タッチパネル123がタッチアップを検出したか否かを判定する。システム制御部101は、タッチアップが検出された場合には(S906でYes)、処理をS907へ進める。システム制御部101は、タッチアップが検出されなかった場合には(S906でNo)、処理をS903へ進める。S907において、システム制御部101は、タッチアップの位置がメニュー項目反応領域内か否かを判定する。システム制御部101は、タッチアップの位置がメニュー項目反応領域内である場合には(S907でYes)、処理をS908へ進める。システム制御部101は、タッチアップの位置がメニュー項目反応領域内でない場合には(S907でNo)、メニュー項目タッチ処理(S607)を終了する。
S908において、システム制御部101は、タッチアップの位置を含むメニュー項目反応領域に対応するメニュー項目の機能を実行する。具体的には、システム制御部101は、メニュー項目の下位階層画面(サブ画面)を表示する。例えば、メニュー項目反応領域531におけるタッチアップが検出された場合には、システム制御部101は、対応するメニュー項目331のサブ画面としての記録画質選択画面360を表示する。以上で、メニュー項目タッチ処理(S607)を終了する。
なお、本実施形態においては、メニュー項目反応領域531は、特定領域404を含まない領域であるものとした。ただし、他の例としては、メニュー項目群反応領域は、特定領域404を含まない一方で、メニュー項目反応領域は特定領域を含むものとしてもよい。タッチダウン後のムーブインの操作時(S904)や、タッチダウン後のタッチアップの操作時(S906,S907)には、もはやメニュー項目に隣接する小タブが誤って選択されることはない。そこで、S904において、システム制御部101は、特定領域404へのムーブインをメニュー項目反応領域531へのムーブインとして検出し、S902において、対応するメニュー項目331にフォーカスを移動することとしてもよい。また、S907において、システム制御部101は、特定領域404でのタッチアップをメニュー項目反応領域531内でのタッチアップとして検出し、S908において、対応する機能を実行してもよい。
以上のように、ユーザが、最初にメニュー項目群藩反応領域を操作子で触れた(タッチダウン)とする。この場合、その後に、操作子をメニュー項目反応領域531〜537になぞるように移動(タッチムーブ)させることで、メニュー項目のフォーカスを順次移動させることができる。
さらに、デジタルカメラ100は、タッチダウンの位置がメニュー項目群反応領域であった場合には、タッチムーブのユーザ操作を受け付け可能なアイテム反応領域をメニュー項目反応領域に制限する。したがって、ユーザが、メニュー項目以外のアイテム反応領域に操作子を移動させた場合には、システム制御部101は、操作子の移動後の位置に応じたフォーカスを移動する処理を実行しないよう制御する。すなわち、システム制御部101は、タッチダウンの位置がメニュー項目群反応領域内だった場合はタッチアップを検出するまでメニュー項目のフォーカス移動とこれに伴う処理(S902,S908)以外の表示制御は行わない。またメニュー項目の以外の機能が実行されることもない。なお、S701〜S704、S801〜S803、S901、S902の処理は、特定領域以外の領域アイテム群の表示領域へのタッチダウンが検出された場合に、タッチダウンの位置に応じた処理を実行するよう制御する実行制御処理の一例である。
以上のように、本実施形態に係るデジタルカメラ100によれば、小タブ群反応領域の下側に、タッチダウンに応じた処理を実行しない特定領域を設けることとした。これにより、ユーザが小タブを選択するつもりで誤って特定領域へのタッチ操作を行った場合に、タッチダウンに応じた処理が実行されないことから、タッチダウンの位置を修正する必要があると認識することができる。そこで、ユーザは、すぐにタッチ位置を修正し、所望の小タブへのタッチ操作を再度行うことができる。このように、本実施形態に係るデジタルカメラ100は、タッチパネルへのユーザ操作における操作性を向上させることができる。
特に、表示アイテム群が上下に隣接している場合には、上のアイテムをタッチしようとしているにも関わらず下のアイテムをタッチしてしまうという誤操作が多く見られる。これは、タッチする指によって表示アイテムが隠れてしまういわゆる指隠れの問題が、左右方向よりも上下方向の方が大きいことに起因する。また、指でのタッチを行う場合、実際タッチが検出される領域は上下に広い楕円状になることが多い(画面下から指を進入させた場合)。そのため、タッチが検出された楕円状の重心をタッチ位置として判定した場合、ユーザがタッチしたと思っている指先よりもやや下がタッチ位置と判定されることがあることにも起因する。
これに対し、本実施形態のデジタルカメラ100は、上下に隣接したアイテム群(小タブ群とメニュー項目群)の間にタッチダウンに対応する処理を実行しない特定領域を設けることで、上述の誤動作を防ぐことができる。
さらに、上述のようにタッチ位置として特定される位置が、ユーザが思っている位置よりもやや下になることがある。また、本実施形態においては、小タブ群表示領域に比べて、その下側に配置されたメニュー項目群表示領域の方が、表示面積が広い。これらのことから、特定領域を小タブ群表示領域よりも下側に設けることとした。これにより、誤動作を防止することができる。
(第2の実施形態)
次に、第2の実施形態に係るデジタルカメラ100について説明する。第2の実施形態に係るデジタルカメラ100は、ユーザがデジタルカメラ100を図10に示すように縦位置に構えた場合には、特定領域404にタッチした場合であっても、タッチダウンに対応する処理を実行するように制御する。ここで、縦位置とは、表示部111の横方向と、鉛直方向が対応する方向、より具体的には横方向と鉛直方向の角度差が閾値未満となるようなデジタルカメラ100の姿勢である。ここで、閾値は予めデジタルカメラ100に設定されているものとする。
図11は、第2の実施形態に係るデジタルカメラ100による、ユーザ操作制御処理を示すフローチャートである。図11に示す各処理のうち図6を参照しつつ説明した第1の実施形態に係るユーザ操作制御処理の各処理と同一の処理には同一の番号を付している。システム制御部101は、S604においてタッチダウンの位置が小タブ群反応領域内でない場合には(S604でNo)、処理をS1101へ進める。S1101において、システム制御部101は、デジタルカメラ100の姿勢を特定する。具体的には、システム制御部101は、角速度検出部125からデジタルカメラ100の角度情報を取得し、角度情報と上述の閾値とに基づいて、デジタルカメラ100の姿勢を特定する(姿勢特定処理)。そして、システム制御部101は、システム制御部101の姿勢が縦位置の縦位置状態か否かを判定する。システム制御部101は、縦位置状態である場合には(S1101でYes)、処理をS1102へ進める。システム制御部101は、縦位置状態でない場合には(S1101でNo)、処理をS606へ進める。
S1102において、システム制御部101は、タッチダウンの位置がメニュー項目群反応領域又は特定領域のいずれかの領域内か否かを判定する。システム制御部101は、タッチダウンの位置がいずれかの領域内の場合には(S1102でYes)、処理をS607へ進める。システム制御部101は、タッチダウンの位置がいずれかの領域内でない場合には(S1102でNo)、ユーザ操作制御処理を終了する。なお、第2の実施形態に係るデジタルカメラ100のこれ以外の構成及び処理は、第1の実施形態に係るデジタルカメラ100の構成及び処理と同様である。なお、S1102の処理は、メニュー項目群反応領域が特定領域を含むものとした上で、タッチダウンの位置が特定領域を含むメニュー項目群反応領域内か否かを判定する処理である。
上述のように、タッチ位置として判定される位置が、ユーザが思う位置よりもやや下になることがあるために特定領域を設けることとした。これに対し、デジタルカメラ100が縦位置の状態に保持された場合には、小タブを選択するつもりで誤って特定領域へのタッチ操作を行う可能性は低い。そこで、本実施形態のデジタルカメラ100においては、デジタルカメラ100の姿勢が縦位置の状態にある場合には、特定領域へのタッチ操作については、重複する位置に表示されたメニュー項目へのタッチ操作として受け付けることとした。これにより、本実施形態に係るデジタルカメラ100は、ユーザ操作における操作性を向上させることができる。
(第3の実施形態)
次に、第3の実施形態に係るデジタルカメラ100について説明する。第3の実施形態に係るデジタルカメラ100は、小タブの表示項目数が1個のみの場合には、特定領域404にタッチした場合であっても、タッチダウンに対応する処理を実行するように制御する。図12は、第3の実施形態に係るデジタルカメラ100による、ユーザ操作制御処理を示すフローチャートである。図12に示す各処理のうち図6を参照しつつ説明した第1の実施形態に係るユーザ操作制御処理の各処理と同一の処理には同一の番号を付している。
システム制御部101は、S604において、タッチダウンの位置が小タブ群反応領域内の場合には(S604でYes)、処理をS1201へ進める。また、システム制御部101は、S604において、タッチダウンの位置が小タブ群反応領域内でない場合には(S604でNo)、処理をS1202へ進める。S1201において、システム制御部101は、小タブ表示領域に表示される小タブの数が1個か否かを判定する。システム制御部101は、1個でない場合、すなわち2個以上の場合には(S1201でNo)、処理をS605へ進める。システム制御部101は、1個の場合には(S1201でYes)、小タブのフォーカス移動先の小タブが存在しないため、ユーザ操作制御処理を終了する。
S1202において、システム制御部101は、小タブ表示領域に表示される小タブの数が1個か否かを判定する。システム制御部101は、1個でない場合には(S1202でNo)、処理をS606へ進める。システム制御部101は、1個の場合には(S1202でYes)、処理をS1203へ進める。S1203において、システム制御部101は、タッチダウンの位置がメニュー項目群反応領域又は特定領域のいずれかの領域内か否かを判定する。システム制御部101は、タッチダウンの位置がいずれかの領域内の場合には(S1203でYes)、処理をS607へ進める。システム制御部101は、タッチダウンの位置がいずれかの領域内でない場合には(S1203でNo)、ユーザ操作制御処理を終了する。なお、第3の実施形態に係るデジタルカメラ100のこれ以外の構成及び処理は、他の実施形態に係るデジタルカメラ100の構成及び処理と同様である。
以上、上述した各実施形態によれば、ユーザ操作における操作性をさらに向上させることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
なお、上述のシステム制御部101の制御は、1つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
また、上述した実施形態においては、本発明をデジタルカメラに適用した場合を例にして説明したが、これはこの例に限定されずタッチパネルを有する電子機器であれば適用可能である。すなわち、本発明は、パーソナルコンピュータやPDA、携帯電話端末や携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダー等に適用可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。