以下、図面を参照しながら本発明の電子機器をデジタルカメラなどの撮像装置に適用した実施の形態について詳細に説明する。
<装置構成>図1及び図2を参照して、本発明の電子機器を適用したデジタルカメラの構成及び機能について説明する。
本実施形態のデジタルカメラ(以下、カメラ)100の内部構成を示す図1において、撮影レンズ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が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部102では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいて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は、撮影された画像を記録するためのメモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
なお、操作部115の1つとして、表示部111に対する接触を検知可能なタッチパネル123を有する。タッチパネル123と表示部111とは一体的に構成することができる。例えば、タッチパネル123を光の透過率が表示部111の表示を妨げないように構成し、表示部111の表示面の上層に取り付ける。そして、タッチパネル123における入力座標と、表示部上の表示座標とを対応付ける。これにより、恰もユーザが表示部上に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。システム制御部101はタッチパネルへの以下の操作を検出できる。タッチパネル123を指やペンで触れたこと(以下、タッチダウン)。タッチパネル123を指やペンで触れている状態であること(以下、タッチオン)。タッチパネル123を指やペンで触れたまま移動していること(以下、ムーブ)。タッチパネル123へ触れていた指やペンを離したこと(以下、タッチアップ)。タッチパネル123に何も触れていない状態(以下、タッチオフ)。これらの操作や、タッチパネル123上に指やペンが触れている位置座標は内部バス124を通じてシステム制御部101に通知され、システム制御部101は通知された情報に基づいてタッチパネル123上にどのような操作が行なわれたかを判定する。ムーブについてはタッチパネル123上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル123上の垂直成分・水平成分毎に判定できる。またタッチパネル123上をタッチダウンから一定のムーブを経てタッチアップをしたとき、ストロークを描いたこととする。素早くストロークを描く操作をフリックと呼ぶ。フリックは、タッチパネル123上に指を触れたままある程度の距離だけ素早く動かして、そのまま離すといった操作であり、言い換えればタッチパネル123上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行なわれたと判定できる。また、所定距離以上を、所定速度未満でムーブしたことが検出された場合はドラッグが行なわれたと判定するものとする。また、タッチパネル123を指やペンでムーブしながら特定領域に入る操作(以下、ムーブイン)、ムーブしながら特定領域から外に出る操作(以下、ムーブアウト)を検知することもできる。タッチパネル123は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
本実施形態のデジタルカメラ100の外観を示す図2において、(a)はカメラを背面から見た図であり、カメラ本体200には表示部111と、表示部111に重ねられ一体になったタッチパネル123が備えられている。またカメラ外装の一部として表示部111の周囲を取り囲むように枠体201が設けられている。枠体201はタッチパネル123の感応範囲外であるためタッチに反応しない領域である。表示部111には撮像部106からのスルー画像や記録媒体122に記録された画像が表示され、そのスルー画像や画像の上にタッチによって機能を実行するボタンが重畳表示されている。例えば表示部111の右上にFUNCボタン202があり、ユーザはこのボタン部分をタッチすることでFUNCボタン202に割り当てられた機能であるカメラ機能設定画面を表示できる。また、表示部111の左上に撮影モードボタン203が表示されており、ユーザはこのボタン部分をタッチすることで、撮影モードボタン203に割り当てられた機能である撮影モード変更画面を表示できる。ここで、タッチパネル上で(つまりタッチ検出可能な領域で)、その領域へのタッチが検出されると、その領域に関連付けされたボタンに割り当てられた機能が実行される領域をボタン反応領域と定義する。これに対して、後述するムーブインやムーブの方向を検出するために設けられた領域であって、タッチ検出は可能であるが、ボタンとは関連付けられていない(つまりボタン反応領域ではない)領域をタッチ反応領域と定義する。すなわち、ボタン反応領域はタッチ反応領域に含まれるが、タッチ反応領域がボタン反応領域を含むとは限らない。
図2(b)は撮影時のカメラ本体を保持した指を示している。カメラのグリップ部分が小さいと右親指が不意にタッチパネル123に触れることがある。例えばFUNCボタン202に触れてしまうとユーザが意図しないタイミングでカメラ機能設定画面が表示されてしまい、シャッターチャンスを逃してしまうことも考えられる。
そこで、以下の各実施形態では、カメラ本体200を保持する指がタッチ無反応の表示部の枠体201からタッチパネル上に移動(ムーブ)して、ボタンを誤操作してしまうことを防止する手段について説明する。
[実施形態1]実施形態1では、タッチパネル上においてムーブの方向を検出することにより特定方向からのボタン操作を無効とする方法について説明する。
図3は表示部のタッチパネル上に表示されたボタンと、当該ボタンに関連付けられたボタン反応領域との関係を示している。ボタン反応領域はボタンの外形とほぼ同じ範囲に設定されてもよいが、本実施形態では同図のようにタッチする指の大きさやタッチ位置の精度を考慮して表示されたボタンよりも大きい範囲に設定するものとする。ボタンに割り当てられた機能を実行するのは、ボタン反応領域内でタッチダウンが検出され、同領域外にムーブアウトされずにタッチアップされた場合と、ボタン反応領域へムーブインした後に同領域外にムーブアウトされずにタッチアップされた場合である。図3では、ボタン反応領域(第1の領域)に対して上方、下方、左方向からのムーブは有効として、ボタンに割り当てられた機能の実行を許可する。一方、右方向からのムーブは無効として、ボタンに割り当てられた機能の実行を禁止する。これにより、表示部の右方向から不意に指がムーブインしたときのボタン操作を無効とし、誤操作による機能の実行を防ぐことができる。
<ムーブ方向の判定方法>次に、図4を参照して、ムーブ方向の判定方法について説明する。タッチパネルには左上を原点に横軸X、縦軸Yの座標が定義されており、一定時間間隔でタッチパネル上のタッチされている座標の検出が行われる。時刻T1における座標を(X1,Y1)、T1の次の検出時刻T2における座標を(X2,Y2)とすると時刻T1からT2までの時間の座標変位はそれぞれΔX=X2−X1、ΔY=Y2−Y1として求められる。ΔX≧0の場合はムーブのX座標成分が正方向に移動したことを意味するためタッチパネルの右方向、ΔX<0の場合は左方向となる。同様にΔY≧0の場合は下方向、ΔY<0の場合は上方向となる。またムーブの向きは座標変位のX成分とY成分の絶対値を比較し、|ΔX|≧|ΔY|であればX軸方向、|ΔX|<|ΔY|であればY軸方向と判定できる。以上から、右方向からボタン反応領域へムーブインしたことを検出するためには、ΔX<0かつ|ΔX|≧|ΔY|の条件を満たしているか否かを判定すればよい。
<タッチ処理>次に、図5を参照して、本実施形態によるタッチ処理について説明する。なお、図5の処理は、不揮発性メモリ114に記録されたプログラムを、システムメモリ113に読み出してシステム制御部101が実行することにより実現する。また図5の処理では、前述のFUNCボタン202に対する操作についての処理を説明する。
図5のS500において、システム制御部101は、FUNCボタン202のボタン反応領域に対するタッチダウンがあったか否かを判定し、タッチダウンがあった場合にはS504に進み、そうでない場合はS501に進む。
S501では、システム制御部101は、ムーブ検出処理によりFUNCボタン202のボタン反応領域へのムーブインがあったか否かを判定する。そして、ムーブインがあったと判定した場合(ボタン反応領域へのムーブインを検出した場合)はS502に進んで、システム制御部101は図6で後述するムーブ方向判定処理を行い、そうでない場合はS500に戻る。
S503では、システム制御部101は、ムーブ方向判定処理の結果、ムーブの方向がX軸左方向である場合(S503でYES)、誤操作と判定してボタン操作を無効にしてボタンに割り当てられた機能を実行せずに、本処理を終了する。また、ムーブの方向がX軸左方向ではない場合(S503でNO)は、ボタンに対する操作を有効としてS504に進む。
S504では、システム制御部101は、ボタンを操作した状態(FUNCボタン202に対するタッチオン状態)の色に変更して、ボタン操作が有効であることをユーザに視覚的に知らせる。
S505では、システム制御部101は、ボタンを操作した状態が継続している間に、ムーブアウトが検出されたか判定し、ムーブアウトが検出されると、タッチ操作を無効とする。すなわち、その後タッチアップしてもFUNCボタン202の機能は実行しない。一方、ムーブアウトが検出されずにタッチアップが検出されると(S506)、システム制御部101は、FUNCボタン202に割り当てられた機能処理を実行する(S507)。すなわち、システム制御部101は、カメラ機能設定画面を表示部111に表示する。FUNCボタン202に割り当てられた機能を実行すると、ボタン色を通常色に戻して(S508)、本処理を終了する。
<ムーブ方向判定処理>ここで、図6を参照して、図5のS502におけるムーブ方向判定処理について説明する。
図6において、システム制御部101はまず、ムーブインを検出した時刻T2と前回の検出時刻T1の座標変位ΔXとΔYを取得する(S601)。ムーブインを検出した時刻T2はすなわち、ムーブインがあったと判定された時点あり、この時点で検出されたタッチ位置の座標が(X2、Y2)である。前回の検出時刻T1はすなわち、ムーブを検出する前の時点であり、この時点で検出されたタッチ位置の座標が(X1,Y1)である。ΔXとΔYは、この(X2,Y2),(X1,Y1)に基づいて前述したように求める。
次に、システム制御部101は、X座標の変位ΔXとY座標の変位ΔYの絶対値を比較し(S602)、|ΔX|が|ΔY|以上であればX軸方向のムーブ、|ΔX|が|ΔY|未満であればY軸方向のムーブと判定する。X軸方向のムーブの場合、システム制御部101は、X軸方向成分の変位の正負を判定し(S603)、正の値であればX軸右方向のムーブ(S604)、負の値であればX軸左方向のムーブ(S605)と判定する。また、システム制御部101は、Y軸方向のムーブの場合、Y軸方向成分の変位の正負を判定し(S606)、正の値であればY軸下方向のムーブ(S607)、負の値であればY軸上方向のムーブ(S608)と判定する。
以上のように、本実施形態によれば、ムーブの方向を検出し特定方向からのボタン操作を無効にすることによって誤操作による機能の実行を防ぐことができる。なお、図5,6は、FUNCボタン202に対する処理として説明した。FUNCボタン202は、図2(a)に示したように表示部111(タッチパネル123)の右上部に表示される。この位置は、図2(b)のように、カメラ本体200のグリップ部を保持する右手の親指で誤って触れてしまい易い位置であり、この位置のタッチボタンに対しては誤操作が起こりやすい。従って上述のようにグリップ部側からムーブインしてきたタッチではFUNCボタン202の機能が実行されないようにすることで、誤操作を効果的に抑制することができる。逆に、カメラ本体200を保持する手で誤って触るということが起こりにくい位置に配置されるタッチボタン(例えば撮影モードボタン203)に対しては、いずれの方向からのムーブインに対してもボタン操作を有効とするものとする。なおグリップ部とは、撮像装置で言えば、図2(b)のようにシャッターボタン116に右手人差し指を置いた状態でカメラ本体200を保持できる部分である。
ただし、撮影モードボタン203も画面端部(左上端部)近傍にあるため、カメラ本体200を両手で保持した場合に、カメラ本体200を保持した左手の指で誤って触れる可能性がある。そのため、FUNCボタン202の場合とは逆に、左からのムーブインによるボタン操作を無効とするように制御しても良い。すなわち、ボタン操作を無効にするムーブインの方向は、タッチボタンの配置された位置に応じて異なり、ボタンが配置された位置から近い側の画面端部からのムーブインを無効にしても良い。
また、図2(b)はカメラ本体200を横向き(正位置)に構えた場合の例であるが、カメラ本体200を縦向きに構えた場合などには保持の仕方が変わる可能性があり、誤って触りやすい位置が横向きの場合とは異なる可能性がある。そこで、カメラ100に搭載された姿勢検出センサ(不図示)でカメラ本体200を構える向きが変わったことが検出された場合には、特定方向からのムーブインに合わせてボタン操作を無効とするタッチボタンを、姿勢に合わせて別のボタンとしても良い。あるいは、無効とするムーブインの方向を変えても良い。
さらに、上述の図5で、S504の後にボタン反応領域に対するタッチオン状態(S505,S506ともにNOとなる状態)が所定時間(数秒程度)以上継続した場合は、そのタッチはユーザが意図したものではないとみなして無効としてもよい。無効となった場合はその後ボタン反応領域からのタッチアップを検出しても該当するボタンの機能は実行しない。
[実施形態2]実施形態2では、2つのボタン反応領域を隣接して設けることでムーブの方向を検出し特定方向からのボタン操作を無効とする方法について説明する。
図7は表示部のタッチパネル上に表示されたボタンと、当該ボタンに関連付けられたボタン反応領域との関係を示している。
図7において、ボタン反応領域1(第1の領域)とボタン反応領域2(第2の領域)が隣接して設けられており、ボタン反応領域2は主にムーブ方向を判定するために使用される。タッチ操作を無効にしたいムーブの方向、すなわち実施形態では右方向からのムーブインを検出可能にするため、ボタン反応領域2をボタン反応領域1の右側に隣接して配置している。このように、ボタン反応領域2からボタン反応領域1へのムーブを検出した場合にボタン操作を無効にすることによって誤操作による機能の実行を防ぐことができる。なお、FUNCボタン202の表示範囲はボタン反応領域1の範囲内としてボタン反応領域2には重ならないようにしているが、ボタン反応領域2に重なるようにしてもよい。その場合、FUNCボタン202の表示範囲はボタン反応領域1と2の双方に重なる。
図8は、図7に示すボタンとボタン反応領域との関係においてボタン操作が有効になる場合と無効になる場合を説明する図である。
図8(a)はボタン操作が有効になる場合を示している。ボタン反応領域1、2以外の領域でタッチダウンが検出されてボタン反応領域1へのムーブインが検出されて、ボタン反応領域1でタッチアップが検出された場合(801)。ボタン反応領域1でタッチダウンが検出されてボタン反応領域1内でムーブが検出されて(ムーブはしなくてもよい)、さらにボタン反応領域1でタッチアップが検出された場合(802)。ボタン反応領域1でタッチダウンが検出されてボタン反応領域1からボタン反応領域2へのムーブインが検出されて、ボタン反応領域2でタッチアップが検出された場合(803)。ボタン反応領域2でタッチダウンが検出されてボタン反応領域2内でムーブが検出されて(ムーブはしなくてもよい)、さらにボタン反応領域2でタッチアップが検出された場合(804)。上記の場合ではいずれもボタン操作が有効になりタッチアップ後にボタンに割り当てられた機能が実行される。
図8(b)はボタン操作が無効になる場合を示している。ボタン反応領域1でタッチダウンが検出されてボタン反応領域1、2以外の領域へのムーブアウトとタッチアップが検出された場合(805)。ボタン反応領域2でタッチダウンが検出されてボタン反応領域2からボタン反応領域1へのムーブインが検出されてボタン反応領域1でタッチアップが検出された場合(806)。ボタン反応領域1、2以外の領域でタッチダウンが検出されてボタン反応領域2へのムーブインが検出されてボタン反応領域2でタッチアップが検出された場合(807)。ボタン反応領域1、2以外の領域でタッチダウンが検出されてボタン反応領域2を通過してボタン反応領域1へのムーブインとタッチアップが検出された場合(808)。ボタン反応領域1でタッチダウンが検出されボタン反応領域2を通過してボタン反応領域1、2以外の領域でタッチアップが検出された場合(809)。上記の場合ではいずれもボタン操作が無効になりタッチアップされてもボタンに割り当てられた機能は実行されない。
<タッチ処理>次に、図9を参照して、本実施形態によるタッチ処理について説明する。なお、図9の処理は、不揮発性メモリ114に記録されたプログラムを、システムメモリ113に読み出してシステム制御部101が実行することにより実現する。また図9の処理では、前述のFUNCボタン202に対する操作についての処理を説明する。
図9のS900において、システム制御部101は、FUNCボタン202のボタン反応領域1または2に対するタッチダウンがあったか否かを判定し、タッチダウンがあった場合にはS903に進み、そうでない場合はS901に進む。
S901では、システム制御部101は、ボタン反応領域1へのムーブインがあったか否かを判定し、ボタン反応領域1へのムーブインがあった場合はS902に進み、そうでない場合はS900に戻る。
S902では、システム制御部101は、直前にボタン反応領域2でムーブアウトを検出したか否かを判定する。ボタン反応領域2でムーブアウトを検出した場合(S902でYES)は、システム制御部101は、ユーザの誤操作と判定してボタン操作を無効にしてボタンに割り当てられた機能を実行せずに、本処理を終了する。一方、ボタン反応領域2のムーブアウトを検出していない場合(S902でNO)は、システム制御部101は、タッチ操作を有効にしてS903に進む。そしてS903〜S907の処理で、ボタン反応領域1または2からのタッチアップを検出した場合には、FUNCボタン202に割り当てられた機能を実行する。S903〜S907は、図5のS504〜S508と同じであるため詳細な説明は省略する。なお、S904では、ボタン反応領域2からボタン反応領域1へムーブしたことを検出した場合にもムーブアウトしたものとしてS907進む(ボタン反応領域2からのムーブアウト)。
以上のように、本実施形態によれば、2つのボタン反応領域を隣接して設けることでムーブの方向を検出し特定方向からのボタン操作を無効にすることによって誤操作による機能の実行を防ぐことができる。また、最初からボタン反応領域2に意図してタッチした場合に、ボタンの機能を実行することができる。実施形態2では、ボタン反応領域ではないタッチ有効領域をFUNCボタン202より左側に配置しなくて良い分、実施形態1よりもボタン反応領域を画面端まで寄せることができる。そのため、FUNCボタン202の表示も実施形態1よりも画面端まで寄せることができるため、画面中央よりの主要画像(被写体画像など)の視認がし易くなる。
なお、上述した実施形態2の処理も、実施形態1と同様に、FUNCボタン202に対して行うものとする。すなわち、カメラ本体200を保持する手で誤って触るということが起こりにくい位置に配置されるタッチボタン(例えば撮影モードボタン203)に対しては、ボタン反応領域を2つに分けることなく、いずれの方向からのムーブインに対してもボタン操作を有効とするものとする。
また、FUNCボタン202の場合とは逆に、左からのムーブインによるボタン操作を無効とするように制御しても良い。すなわち、ボタン反応領域1に対するボタン反応領域2の配置は、タッチボタンの配置された位置に応じて異なり、ボタンが配置された位置から近い側の画面端部側に配置されるようにしてもよい。
また、カメラ100に搭載された姿勢検出センサ(不図示)でカメラ本体200を構える向きが変わったことが検出された場合には、FUNCボタン202のようにボタン反応領域を2つに分けるタッチボタンを、姿勢に合わせて別のボタンとしても良い。あるいは、ボタン反応領域1に対するボタン反応領域2の配置を変えても良い。
さらに、上述の図9で、S903の後にボタン反応領域に対するタッチオン状態(S904,S905ともにNOとなる状態)が所定時間(数秒程度)以上継続した場合は、そのタッチはユーザが意図したものではないとみなして無効としてもよい。無効となった場合はその後ボタン反応領域からのタッチアップを検出しても該当するボタンの機能は実行しない。
[実施形態3]実施形態3では、ボタン反応領域に接する直線で区切られた2つのタッチ反応領域を設けることでムーブ開始位置(つまりタッチダウン検出位置)を判定して特定方向からのボタン操作を無効とする方法について説明する。
図10は表示部のタッチパネル上に表示されたボタンと、当該ボタンに関連付けられたボタン反応領域との関係を示している。
図10において、ボタン反応領域の右辺に接する境界線Lで左右に区切られるように、それぞれタッチ反応領域1(第1の領域)とタッチ反応領域2(第2の領域)が定義されている。上記実施形態と同様に、右側からのムーブインを検出してボタン操作を無効にすることによって誤操作による機能の実行を防ぐことができる。
図11は、図10に示すボタンとボタン反応領域とタッチ反応領域との関係においてボタン操作が有効になる場合と無効になる場合を説明する図である。
図11(a)はボタン操作が有効になる場合を示している。ムーブ開始位置がボタン反応領域外のタッチ反応領域1である場合、ボタン反応領域へムーブインしかつタッチアップが検出されると、ボタン操作が有効になりボタンに割り当てられた機能が実行される。
図11(b)はボタン操作が無効になる場合を示している。ムーブ開始位置がタッチ反応領域2である場合、ボタン反応領域へのムーブインが検出されてもボタン操作が無効になりボタンに割り当てられた機能は実行されない。
<タッチ処理>次に、図12を参照して、本実施形態によるタッチ処理について説明する。なお、図12の処理は、不揮発性メモリ114に記録されたプログラムを、システムメモリ113に読み出してシステム制御部101が実行することにより実現する。
図12のS1200において、システム制御部101は、FUNCボタン202のボタン反応領域に対するタッチダウンがあったか否かを判定し、タッチダウンがあった場合にはS1203に進み、そうでない場合はS1201に進む。
S1201では、システム制御部101は、ボタン反応領域でムーブイン検出したか否かを判定し、ムーブインがあった場合はS1202に進み、そうでない場合はS1200に戻る。
S1202では、システム制御部101は、ムーブ開始位置(タッチダウン時点のタッチ位置がどこであったか)を判定する。ムーブ開始位置の座標がタッチ反応領域2であった場合(S1202でYES)は、システム制御部101は、ユーザの誤操作と判定してタッチ操作を無効にしてボタンに割り当てられた機能を実行せずに、本処理を終了する。一方、ムーブ開始位置の座標がタッチ反応領域1であった場合(S1202でNO)は、システム制御部101は、タッチ操作を有効にしてS1203に進む。そしてS1203〜S1207の処理で、ボタン反応領域からのタッチアップを検出した場合には、FUNCボタン202に割り当てられた機能を実行する。なお、S1203〜S1207は、図5のS504〜S508と同じであるため説明は省略する。
なお、実施形態3では矩形のボタン反応領域を例示したが、ボタン反応領域の形状はどのような形状でもよい。例えば図13のように円形のボタン反応領域に対して右方向からのムーブインを禁止する場合は、ボタン反応領域の最も右側の座標に接するY軸方向の直線で区切った領域1、2を定義すればよい。
以上のように、本実施形態によれば、ボタン反応領域に接する直線で区切られた2つのタッチ反応領域を設けることでムーブ開始位置を判定して特定方向からのボタン操作を無効にすることによって誤操作による機能の実行を防ぐことができる。
なお、上述した実施形態3の処理も、実施形態1と同様に、FUNCボタン202に対して行うものとする。すなわち、カメラ本体200を保持する手で誤って触るということが起こりにくい位置に配置されるタッチボタン(例えば撮影モードボタン203)に対しては、ボタン反応領域へのムーブインのタッチダウン位置がいずれであってもボタン操作を有効とするものとする。
また、FUNCボタン202の場合とは逆に、左からのムーブインによるボタン操作を無効とするように制御しても良い。すなわち、反応領域1に対する反応領域2の配置は、タッチボタンの配置された位置に応じて異なり、ボタンが配置された位置から近い側の画面端部側に配置されるようにしてもよい。
また、カメラ100に搭載された姿勢検出センサ(不図示)でカメラ本体200を構える向きが変わったことが検出された場合には、FUNCボタン202のように隣接する領域2に対するタッチダウンからのムーブインを無効にするタッチボタンを、姿勢に合わせて別のボタンとしても良い。あるいは、領域1に対する領域2の配置を変えても良い。
さらに、上述の図12で、S1203の後にボタン反応領域に対するタッチオン状態(S1204,S1205ともにNOとなる状態)が所定時間(数秒程度)以上継続した場合は、そのタッチはユーザが意図したものではないとみなして無効としてもよい。無効となった場合はその後ボタン反応領域からのタッチアップを検出しても該当するボタンの機能は実行しない。
[実施形態4]カメラや携帯電話などの小型の電子機器ではボタンなどの表示アイテムは、なるべく表示部に表示される画像を邪魔しないように画面の端部に配置することが望ましい。実施形態1ではムーブ方向を検出することにより特定方向からのボタン操作を無効にする方法を説明したが、例えばタッチ反応領域が表示部を囲む枠体に接している場合、実施形態1の方法では以下の理由によりムーブ方向を検出できない。
図15(a)において、タッチ座標検出周期のうち連続した3つの時刻T1、T2、T3における座標をP1、P2、P3とすると、P1ではタッチ無反応の枠体201をタッチしているためタッチは検出されない。P2ではタッチ非検出状態からタッチ検出状態になるのでタッチダウンが検出される。P3ではP2をムーブ開始位置とするムーブが検出される。しかしながら、ボタン反応領域へのムーブインは検出されないためムーブの方向を検出することはできない。
このような課題を解決するため、本実施形態では、実施形態1のボタン反応領域がタッチパネルの端部に隣接して配置されているときに、ムーブの方向を判定する領域を設けて特定方向からのボタン操作を無効にする。
図14は表示部のタッチパネル上に表示されたFUNCボタン202と、当該ボタンに関連付けられたボタン反応領域との関係を示している。
図14において、タッチ反応領域1(第1の領域)はボタン反応領域でもある。また、タッチ反応領域1に隣接する領域2(第2の領域)はムーブ方向を検出するために設けられたタッチ反応領域である。FUNCボタン202の表示範囲は、領域1と領域2の双方に重なっている。
図15(b)は、図14に示すボタンとボタン反応領域とタッチ反応領域の関係においてボタン操作が無効になる場合を説明する図である。
図15(b)において、P1ではタッチ無反応の枠体201をタッチしているためタッチは検出されない。P2では領域2においてタッチ非検出状態からタッチ検出状態になるためタッチダウンが検出されるが、ボタン反応領域ではないのでボタンへのタッチ検出はされない。P3ではP2から反応領域1へのムーブインが検出される。このときのタッチ処理は図5と同様であり、P3では右方向からのムーブが検出されてタッチ操作を無効にする。
また、領域2をボタン反応領域とした場合は実施形態2と同様に、領域2がある右方向から反応領域1へのムーブが検出されるとタッチ操作を無効にする。このときのタッチ処理は図9のS903〜S907と同様である。
なお、本実施形態のようにムーブ方向を検出しない場合であっても、ボタン反応領域へのムーブインを無効にすることにより誤操作を防止することができる。図15(a)は、図14において領域2がない場合を示している。反応領域1へのムーブインの有効/無効にかかわらず、P2でタッチダウンが検出されてしまうとタッチダウンによってタッチ処理が実行されてしまう。そこで、図15(b)のように領域2を反応領域1に隣接させることで、P3でムーブインが検出されるので、このムーブインを無効にすることによりムーブ方向を検出しない場合であっても、領域2からのタッチ操作による機能の実行を防ぐことが可能になる。
以上のように、本実施形態によれば、ボタン反応領域がタッチパネルの端部に隣接している場合に、ムーブ方向を判定するための領域を設けて特定方向からのボタン操作を無効にすることによって誤操作による機能の実行を防ぐことができる。
なお、システム制御部101の制御は1つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
また、上述した実施形態においては、本発明をデジタルカメラに適用した場合を例にして説明したが、これはこの例に限定されず、タッチ入力可能な装置であれば適用可能である。すなわち、本発明はパーソナルコンピュータやPDA、携帯電話端末や携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダーなどに適用可能である。
[他の実施形態]
本発明は、以下の処理を実行することによっても実現される。即ち上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。