以下、図面を参照しながら本発明の実施の形態について説明する。
図3は、本発明を適用したデジタルスチルカメラ11の一実施の形態の構成を示すブロック図である。
デジタルスチルカメラ11は、その内部にタッチパネルを有する、表示装置の一例である。したがって、本実施の形態では、デジタルスチルカメラ11を例にして説明するが、これに限らず、例えば、デジタルビデオカメラ、パーソナルコンピュータ、テレビジョン受像機、PDA(Personal Digital Assistance)など、タッチパネルを有する機器にも適用することができる。
デジタルスチルカメラ11は、マイコン21、メモリ22、LCD(Liquid Crystal Display)23、タッチパネル24、スピーカ25、およびカメラ部26を含むようにして構成される。
マイコン21は、メモリ22に記憶されているプログラムに従って、例えば、LCD23、スピーカ25、またはカメラ部26など、デジタルスチルカメラ11の各部を制御する。また、メモリ22は、例えば、RAM、EEPROM、またはフラッシュメモリなどの不揮発性メモリなどから構成され、マイコン21が実行するプログラムや各種のデータを記憶する。
マイコン21は、LCD23の画面に画像が表示されるように表示を制御する。例えば、マイコン21は、カメラ部26により撮影された被写体の画像の画像データであって、カメラ部26から供給される画像データに対応する被写体の画像がLCD23の画面に表示されるように表示を制御する。
LCD23は、タッチパネル24に重ねて設けられている。タッチパネル24は、LCD23を透過するようになされており、LCD23の画面に表示された、デジタルスチルカメラ11による各種機能の動作を指示するためのボタン(アイコン)などを選択するユーザの押圧操作を受け付けて、その操作位置の位置情報を示す信号(以下、パネル操作信号と称する)をマイコン21に供給する。
マイコン21は、タッチパネル24から供給されるパネル操作信号を基に、パネル操作信号により示される機能の動作の指示に対応した処理を、LCD23またはスピーカ25に実行させる。
例えば、マイコン21は、パネル操作信号により示される機能の動作の指示に対応した画像がLCD23の画面に表示されるように、画像の表示を制御する。また、例えば、マイコン21は、パネル操作信号により示される機能の動作の指示に対応した音声がスピーカ27から出力されるように、音声の出力を制御する。
カメラ部26は、マイコン21の制御の基に、ユーザの操作に応じた各種撮影に関する処理を行う。カメラ部26は、映像音声入力部31、映像音声信号処理部32、ドライブ33、および記録媒体34を含むようにして構成される。
映像音声入力部31は、例えば、レンズなどの光学系、CCD(Charge Coupled Devices)などの撮像素子、映像信号の処理を行う映像信号回路などから構成される。映像音声入力部31は、撮影した画像を画像データに変換し、変換した画像データを映像音声信号処理部32に供給する。
また、映像音声入力部31は、例えば、(内蔵)マイクロフォン、音声信号の処理を行う音声信号処理回路などから構成される。映像音声入力部31は、マイクロフォンで集音した音声を音声データに変換し、変換した音声データを映像音声信号処理部32に供給する。
映像音声信号処理部32は、データを記録媒体34に記録する場合、映像音声入力部31から供給される、画像データまたは音声データを、記録媒体34に記録するのに適した方式に変調するなどの処理を行い、ドライブ33を介して記録媒体34に供給し、記録する。記録媒体34は、例えば、メモリスティック(商標)などのメモリカードなどにより構成され、必要に応じてデジタルスチルカメラ11に装着される。なお、このとき、映像音声信号処理部32は、画像データをマイコン21に供給することで、ユーザにより撮影されている画像がLCD23の画面に表示される。
また、映像音声信号処理部32は、記録媒体34に記録されているデータを再生する場合、ドライブ33を介して記録媒体34から読み出された画像データをLCD23に表示するのに適した方式に復調したり、記録媒体34から読み出された音声データをスピーカ25から出力するのに適した方式に復調するなどの処理を行い、それらの処理が施されたデータをマイコン21に供給する。さらに、映像音声信号処理部32は、必要に応じて、各種機能の動作を指示するためのボタン(アイコン)などの画像データと、記録媒体34から読み出された画像データとを重畳させ、重畳することにより得られた画像データをマイコン21に供給する。
なお、映像音声入力部31および映像音声信号処理部32は、それぞれ、画像(画像データ)と音声(音声データ)の両方を処理することはもちろん、画像データに対してのみ処理を行うことも可能である。例えば、映像音声入力部31および映像音声信号処理部32は、動画像を記録媒体34に記録する場合、画像データと音声データの両方に対して各種の処理を行い、それに対して、静止画像を記録媒体34に記録する場合、画像データに対して各種の処理を行うことになる。もちろん、再生の場合も同様である。
また、デジタルスチルカメラ11の構成は、図3の例に限定されず、後述する図4の機能的構成例を少なくとも有していればよい。
図4は、図3のデジタルスチルカメラ11の機能的構成例を示すブロック図である。図4に示す機能的構成例は、例えば、マイコン21が、メモリ22などに記録された所定のプログラムを実行することで実現される。
デジタルスチルカメラ11は、操作検出部51、操作判定部52、押圧エリア拡大部53、拡大エリア情報記憶部54、および拡大エリア情報処理部55を含むようにして構成される。
なお、本実施の形態では、デジタルスチルカメラ11は、上述した図3のハードウェア構成を有しているので、操作検出部51、操作判定部52、押圧エリア拡大部53、および拡大エリア情報処理部55は、例えば、図3のマイコン21が実行するソフトウェア(プログラム)として構成されている。ただし、デジタルスチルカメラ11のハードウェア構成を図3の構成とは異ならせることで、操作検出部51、操作判定部52、押圧エリア拡大部53、または拡大エリア情報処理部55は、ハードウェア単体として構成することもできるし、ソフトウェアとハードウェアの組み合わせとして構成することもできる。
操作検出部51は、タッチパネル24から供給されるパネル操作信号を基に、ユーザによるタッチパネル24への操作を検出する。操作検出部51は、検出結果を操作判定部52に供給する。
操作判定部52は、操作検出部51から供給される検出結果を基に、ユーザの操作により、LCD23の画面に表示されている各種機能の動作を指示するためのボタンが押圧操作されたか否かを判定する。操作判定部52は、判定結果を押圧エリア拡大部53に供給する。
また、操作判定部52は、操作検出部51から供給される検出結果および拡大エリア情報記憶部54から読み出した拡大エリア情報を基に、ユーザの操作により押圧操作が終了したとき、押圧操作されていたボタンが最初に押圧操作されたボタンであるか否かを判定する。操作判定部52は、判定結果を拡大エリア情報処理部55に供給する。
押圧エリア拡大部53は、操作判定部52から供給される判定結果が、ユーザの操作によりボタンが押圧操作されていることを示している場合、押圧エリアを拡大押圧エリアに拡大させる。また、押圧エリア拡大部53は、拡大押圧エリアの情報を拡大エリア情報記憶部54に供給し、記憶させる。
ここで、押圧エリアとは、ユーザの操作により押圧操作されている(触れられている)タッチパネル24上の領域(エリア)である。例えば、ユーザの指先やスタイラスなどにより、タッチパネル24が押圧された場合、押圧エリアは、その指先やスタイラスにより押圧操作されている(触れられている)エリアとなる。
また、拡大押圧エリアとは、ユーザにより押圧操作されている押圧エリアを、押圧エリアの形状と相似形となるように、所定の範囲で拡大したエリアである。例えば、拡大押圧エリアは、押圧エリアの形状が円形である場合、押圧エリアを中心とする所定の半径の円からなる円形のエリアとなる。なお、拡大押圧エリアは、例えば、タッチパネル24の分解能(タッチパネル24から出力される電圧値を読みとるデバイスの分解能)や、LCD23の画面に表示されている各種機能の動作を指示するためのボタン(エリア)のレイアウトなどから判断して最適となる範囲まで拡大させたエリアであり、上述した円形に限らず、例えば、多角形や楕円形など、相似形以外の任意の形状であってもよい。
拡大エリア情報記憶部54、押圧エリア拡大部53から供給される拡大押圧エリアの情報を、拡大エリア情報として記憶する。
拡大エリア情報とは、押圧エリア拡大部53により拡大された押圧エリア(拡大押圧エリア)に関する情報である。例えば、ユーザの操作により、LCD23の画面に表示されている操作項目の一覧であるメニュー画面の表示を指示するためのメニューボタン(後述するボタン101a)が押圧操作された場合、拡大エリア情報は、メニューボタンを押圧操作することにより拡大された拡大押圧エリアを示す情報となる。
拡大エリア情報処理部55は、操作判定部52から供給される判定結果を基に、拡大エリア情報により示される各種機能の動作に対応する処理を行う。
次に、図4の機能的構成例を有する、デジタルスチルカメラ11の動作について説明する。例えば、ユーザは、デジタルスチルカメラ11のLCD23の画面に表示されている、各種の動作を指示するためのボタンを操作するとき、指先(またはスタイラス)で、そのLCD23の画面に表示されているボタンに触れることになる。
マイコン21は、タッチパネル24を介してユーザの指先に接触されたとき、図5のフローチャートに示される処理を各部に実行させる。
ステップS11において、操作検出部51は、タッチパネル24から供給されるパネル操作信号を基に、タッチパネル24がユーザの指先に触れられたか否かを判定する。
例えば、LCD23の画面に、図6で示すような画像(静止画像)が表示され、その画像に、操作項目の一覧であるメニュー画面の表示を指示するためのボタン101a、LCD23の画面に表示されている画像の1つ前の画像の表示を指示するためのボタン101b、LCD23の画面に表示されている画像の1つ後の画像の表示を指示するためのボタン101cのそれぞれが重畳されているとき、ステップS11において、操作検出部51は、LCD23の画面に表示されている図6の画像に透過されているタッチパネル24が、ユーザの指先に触れられたか否かを判定する。
ステップS11において、ユーザの指先に触れられていないと判定された場合、デジタルスチルカメラ11の各種機能の動作は指示されていないので、ステップS11に戻り、上述した処理が繰り返される。すなわち、LCD23の画面には、図6の画像が表示されたままの状態となる。
一方、ステップS11において、ユーザの指先に触れられたと判定された場合、ステップS12に進み、操作判定部52は、操作検出部51から供給される検出結果を基に、LCD23の画面に表示されている各種機能の動作を指示するためのボタンが押圧操作されたか否かを判定する。
例えば、ステップS12において、操作判定部52は、図6で示すように、LCD23の画面に表示されている画像に、ボタン101a乃至ボタン101cのそれぞれが重畳されているとき、ユーザの操作により、ボタン101a乃至ボタン101cのうち、いずれかのボタンが押圧操作されたか否かを判定する。
ステップS12において、ボタンが押圧操作されていないと判定された場合、例えば、ボタン101a乃至ボタン101cのそれぞれが表示されているエリアとは、別のエリアにユーザの指先が触れているので、ステップS11に戻り、上述した処理が繰り返される。すなわち、LCD23の画面には、図6の画像が表示されたままの状態となる。
一方、ステップS12において、ボタンが押圧操作されたと判定された場合、ステップS13に進み、押圧エリア拡大部53は、操作判定部52から供給される判定結果を基に、押圧エリアを拡大押圧エリアに拡大させる。また、押圧エリア拡大部53は、拡大押圧エリアの情報を拡大エリア情報記憶部54に供給して、記憶させる。
例えば、ステップS13において、押圧エリア拡大部53は、図7の左側のボタン101aで示すように、ユーザの指先がボタン101a上の押圧エリアA2に触れている場合、図7の右側のボタン101aで示すように、押圧エリアA2を中心とする所定の半径の円となるようにエリアを拡大し、ユーザの指先に触れられている押圧エリアA2を拡大押圧エリアP1まで拡大させる。
すなわち、押圧エリア拡大部53は、押圧エリアA2を拡大押圧エリアP1に拡大させている。そして、押圧エリア拡大部53は、拡大押圧エリアP1の情報を拡大エリア情報記憶部54に供給して、記憶させる。
ステップS14において、拡大エリア情報記憶部54は、押圧エリア拡大部53から供給される拡大押圧エリアの情報を、拡大エリア情報として記憶する。例えば、ステップS14において、拡大エリア情報記憶部54は、押圧エリアA2が拡大押圧エリアP1に拡大されたことを示す情報を、拡大エリア情報として記憶する。なお、このとき、拡大エリア情報記憶部54は、押圧エリア拡大部53から供給される拡大押圧エリアP1の情報を基に、拡大押圧エリアP1により最初に押圧操作されたボタンが、ボタン101aであることを示す情報も、拡大エリア情報として記憶するようにしてもよい。
ステップS15において、操作検出部51は、タッチパネル24から供給されるパネル操作信号を基に、タッチパネル24に触れていた、ユーザの指先に離れられたか否かを判定する。
ステップS15において、ユーザの指先に離れられていないと判定された場合、ステップS15に戻り、上述した処理が繰り返される。すなわち、OFFエッジ検出では、ユーザの指先がタッチパネル24から離れたときに、各種機能の動作が指示されるので、LCD23の画面には、図6の画像が表示されたままの状態となる。
一方、ステップS15において、ユーザの指先に離れられたと判定された場合、ステップS16に進み、操作判定部52は、操作検出部51から供給される検出結果および拡大エリア情報記憶部54から読み出した拡大エリア情報を基に、最初に押圧操作されたボタンであるか否かを判定する。例えば、ステップS16において、操作判定部52は、操作検出部51から供給される検出結果および拡大エリア情報記憶部54から読み出した拡大エリア情報を基に、ユーザの指先に離れられたときの拡大押圧エリアP1が、最初に押圧操作されたボタン101aを押圧操作しているか否かを判定する。
ステップS16において、最初に押圧操作されたボタンではないと判定された場合、そのボタンにより指示される動作を実行せずに、ステップS11に戻り、上述した処理が繰り返される。
このように、操作判定部52は、ユーザによるタッチパネル24の操作を、最初に押圧操作されたボタン101aの操作に限定する。これにより、拡大押圧エリアP1が、他のボタンやエリア(例えば、ボタン101bやボタン101cなど)にまたがったときであっても、ボタン101aの操作に限定しているので、同時に2箇所を押圧操作したことにはならない。その結果、例えば、ボタンを小型化したり、不感領域を少なくすることができるなど、ボタン配置のレイアウトの自由度を広げることができる。
一方、ステップS16において、最初に押圧操作されたボタンであると判定された場合、そのボタンにより指示される動作を実行するので、ステップS17に進み、拡大エリア情報処理部55は、操作判定部52から供給される判定結果を基に、拡大エリア情報に対応する処理を行って、マイコン21による、押圧エリア拡大の処理は終了する。
例えば、ステップS17において、拡大エリア情報処理部55は、操作判定部52から供給される判定結果が、図7に示すように、拡大押圧エリアP1がボタン101aを押圧操作していることを示している場合、ボタン101aにより動作が指示されるメニュー画面を表示させる処理を行う。このとき、LCD23の画面には、操作項目の一覧であるメニュー画面(図示せず)が表示されることになる。
また、ステップS15乃至ステップS17の処理においては、図8に示すように、ユーザの指先のブレにより、図中左側の押圧エリアA2が、図中右側の押圧エリアA2のように、ボタン101aの外側にずれた場合、図中右上に示すように、押圧エリアA1が拡大押圧エリアP1に拡大されていないとき、ユーザの指先に離れられると、OFFエッジ検出では、ユーザの指先がタッチパネル24から離れたときに、各種機能の動作が指示されるので、ボタン101aを操作していないことになり、ボタン101aにより動作は指示されないことになる。
それに対して、図中右下に示すように、押圧エリアA2が拡大押圧エリアP1に拡大されている場合、ユーザの指先に離れられるとき、押圧エリアA2であるとボタン101aの動作は指示されないが、拡大された拡大押圧エリアP1がボタン101aを押圧操作しているので、OFFエッジ検出により、ボタン101aを操作していることになり、ボタン101aにより動作が指示されることになる。
このように、タッチパネル上のボタンを押圧操作する場合、ユーザにより押圧操作されている押圧エリアを、拡大押圧エリアまで拡大させることができるので、指先やスタイラスのブレによる、タッチパネルのボタンや領域の押し損ねを軽減することができる。換言すれば、ブレに対する、いわゆるロバスト性が向上するとも言える。
また、ユーザにより押圧操作されている押圧エリアを、拡大押圧エリアまで拡大させることにより、例えば、上述した、図1の不安定な画面のフィードバックを解消するとともに、図2のある境界に沿って範囲を指定するなどの押圧操作を確実に行うことができる。
ところで、上述した例では、押圧エリアを拡大することにより、タッチパネル24上のボタンの押し損ねが発生する頻度を低下させるとして説明したが、本実施の形態では、それに限らず、例えば、ユーザの押圧操作により触れられたボタンのエリアを拡大するようにしてもよい。以下、デジタルスチルカメラ11による、ボタンのエリアを拡大する動作について説明する。
図9は、図3のデジタルスチルカメラ11の機能的構成例の他の構成を示すブロック図である。図9に示す機能的構成例は、例えば、マイコン21が、メモリ22などに記録された所定のプログラムを実行することで実現される。
なお、図9では、図4と同様の箇所には、同一の符号が付してありその説明は省略する。すなわち、図9において、デジタルスチルカメラ11は、図3のブロック図と比較して、押圧エリア拡大部53の代わりに、ボタンエリア拡大部121を含むようにして構成されている。
ボタンエリア拡大部121は、操作判定部52から供給される判定結果が、ユーザの操作によりボタンが押圧操作されていることを示している場合、ボタンエリアを拡大ボタンエリアに拡大させる。また、ボタンエリア拡大部121は、拡大ボタンエリアの情報を拡大エリア情報記憶部54に供給し、記憶させる。
ここで、ボタンエリアとは、ユーザの操作により押圧されたLCD23の画面に表示されているボタンの、タッチパネル24上の領域(エリア)である。例えば、ユーザの指先やスタイラスなどにより、LCD23の画面に表示されているボタン101aが押圧操作された場合、ボタンエリアは、図6に示すように、その押圧操作されたボタン101aが表示されているエリアとなる。
また、拡大ボタンエリアとは、ユーザにより押圧操作されているボタンエリアを、ボタンエリアの形状と相似形となるように、所定の範囲で拡大したエリアである。例えば、拡大ボタンエリアは、ボタンエリアの形状が長方形である場合、ボタンエリアの上下左右の辺のそれぞれを所定の範囲ずつ拡大した長方形のエリアとなる。なお、拡大ボタンエリアは、例えば、タッチパネル24の分解能(タッチパネル24から出力される電圧値を読みとるデバイスの分解能)や、LCD23の画面に表示されている各種機能の動作を指示するためのボタン(エリア)のレイアウトなどから判断して最適となる範囲まで拡大させたエリアであり、上述した長方形に限らず、例えば、多角形や楕円形など、相似形以外の任意の形状であってもよい。
拡大エリア情報記憶部54は、ボタンエリア拡大部121から供給される拡大ボタンエリアの情報を、拡大エリア情報として記憶する。このとき、拡大エリア情報は、ボタンエリア拡大部121により拡大されたボタンエリア(拡大ボタンエリア)に関する情報となる。
次に、図9の機能的構成例を有する、デジタルスチルカメラ11の動作について説明する。例えば、ユーザは、デジタルスチルカメラ11のLCD23の画面に表示されている、各種の動作を指示するためのボタンを操作するとき、指先(またはスタイラス)で、そのLCD23の画面に表示されているボタンに触れることになる。
マイコン21は、タッチパネル24を介してユーザの指先に接触されたとき、図10のフローチャートに示される処理を各部に実行させる。
ステップS21およびステップS22の処理は、図5のステップS11およびステップS12の処理と同様であり、その説明は省略する。
ステップS23において、ボタンエリア拡大部121は、操作判定部52から供給される判定結果を基に、ボタンエリアを拡大ボタンエリアに拡大させる。また、ボタンエリア拡大部121は、拡大ボタンエリアの情報を拡大エリア情報記憶部54に供給して、記憶させる。
例えば、ステップS23において、ボタンエリア拡大部121は、図11の左側のボタン101aで示すように、ユーザの指先がボタン101a上の押圧エリアA3に触れている場合、図11の右側のボタン101aで示すように、ボタン101aのボタンエリアを囲むようにエリアを拡大し、ユーザの操作により、ボタン101aを押圧操作できるボタンエリアを拡大ボタンエリアB1まで拡大させる。
すなわち、ボタンエリア拡大部121は、ボタン101aを押圧操作できるボタンエリアを、拡大ボタンエリアB1に拡大させている。そして、ボタンエリア拡大部121は、拡大ボタンエリアB1の情報を拡大エリア情報記憶部54に供給して、記憶させる。
ステップS24において、拡大エリア情報記憶部54は、ボタンエリア拡大部121から供給される拡大ボタンエリアの情報を、拡大エリア情報として記憶する。例えば、ステップS24において、拡大エリア情報記憶部54は、ボタン101aのボタンエリアが拡大ボタンエリアB1に拡大されたことを示す情報を、拡大エリア情報として記憶する。なお、このとき、拡大エリア情報記憶部54は、ボタンエリア拡大部121から供給される拡大ボタンエリアB1の情報を基に、押圧エリアA3により最初に押圧操作されたボタンが、拡大ボタンエリアB1に拡大されたボタン101aであることを示す情報も、拡大エリア情報として記憶するようにしてもよい。
ステップS25の処理は、図5のステップS15の処理と同様であり、その説明は省略する。
ステップS26において、操作判定部52は、操作検出部51から供給される検出結果および拡大エリア情報記憶部54から読み出した拡大エリア情報を基に、最初に押圧操作されたボタンであるか否かを判定する。例えば、ステップS26において、操作判定部52は、操作検出部51から供給される検出結果および拡大エリア情報記憶部54から読み出した拡大エリア情報を基に、ユーザの指先に離れられたときの押圧エリアA3が、最初に押圧操作された、拡大ボタンエリアB1に拡大されたボタン101aを押圧操作しているか否かを判定する。
ステップS26において、最初に押圧操作されたボタンではないと判定された場合、そのボタンにより指示される動作を実行せずに、ステップS21に戻り、上述した処理が繰り返される。
このように、操作判定部52は、ユーザによるタッチパネル24の操作を、最初に押圧操作されたボタン101aの操作に限定する。これにより、押圧エリアA3が、拡大ボタンエリアB1に拡大されたボタン101a以外の、他のボタンやエリア(例えば、ボタン101bやボタン101cなど)にまたがったときであっても、ボタン101aの操作に限定しているので、同時に2箇所を押圧操作したことにはならない。その結果、例えば、ボタンを小型化したり、不感領域を少なくすることができるなど、ボタン配置のレイアウトの自由度を広げることができる。
一方、ステップS26において、最初に押圧操作されたボタンであると判定された場合、そのボタンにより指示される動作を実行するので、ステップS27に進み、拡大エリア情報処理部55は、操作判定部52から供給される判定結果を基に、拡大エリア情報に対応する処理を行って、マイコン21による、ボタンエリア拡大の処理は終了する。
例えば、ステップS26において、拡大エリア情報処理部55は、操作判定部52から供給される判定結果が、図11に示すように、押圧エリアA3が、拡大ボタンエリアB1に拡大されたボタン101aを押圧操作していることを示している場合、ボタン101aにより動作が指示されるメニュー画面を表示させる処理を行う。このとき、LCD23の画面には、操作項目の一覧であるメニュー画面(図示せず)が表示されることになる。
また、ステップS25およびステップS27の処理においては、図12に示すように、ユーザの指先のブレにより、図12の左側の押圧エリアA3が、図12の右側の押圧エリアA3のように、ボタン101aの外側にずれた場合、図中右上に示すように、ボタン101aのボタンエリアが拡大ボタンエリアB1に拡大されていないとき、ユーザの指先に離れられると、OFFエッジ検出では、ユーザの指先がタッチパネル24から離れたときに、各種機能の動作が指示されるので、ボタン101aを操作していないことになり、ボタン101aの動作は指示されないことになる。
それに対して、図中右下に示すように、ボタン101aのボタンエリアが、拡大ボタンエリアB1に拡大されている場合、ユーザの指先に離れられるとき、ボタン101aのボタンエリアであるとボタン101aの動作は指示されないが、押圧エリアA3が拡大された拡大ボタンエリアB1を押圧操作しているので、OFFエッジ検出により、ボタン101aを操作していることになり、ボタン101aの動作が指示されることになる。
このように、タッチパネル上のボタンを押圧操作する場合、ユーザにより押圧操作されているボタンのボタンエリアを、拡大ボタンエリアまで拡大させることができるので、指先やスタイラスのブレによる、タッチパネルのボタンや領域の押し損ねを軽減することができる。
また、ユーザにより押圧操作されているボタンエリアを、拡大ボタンエリアまで拡大させることにより、例えば、上述した、図1の不安定な画面のフィードバックを解消するとともに、図2のある境界に沿って範囲を指定するなどの押圧操作を確実に行うことができる。
ところで、上述した例では、押圧エリアとボタンエリアを、それぞれ別々に拡大することにより、タッチパネル24上のボタンの押し損ねが発生する頻度を低下させるとして説明したが、本実施の形態では、それに限らず、例えば、押圧エリアとボタンエリアの両方のエリアを拡大するようにしてもよい。以下、デジタルスチルカメラ11による、押圧エリアとボタンエリアの両方を拡大する動作について説明する。
図13は、図3のデジタルスチルカメラ11の機能的構成例のさらに他の構成を示すブロック図である。図13に示す機能的構成例は、例えば、マイコン21が、メモリ22などに記録された所定のプログラムを実行することで実現される。
なお、図13では、図4と同様の箇所には、同一の符号が付してありその説明は省略する。すなわち、図13において、デジタルスチルカメラ11は、図3のブロック図と比較して、押圧エリア拡大部53の代わりに、エリア拡大部141を含むようにして構成されている。
エリア拡大部141は、操作判定部52から供給される判定結果が、ユーザの操作によりボタンが押圧操作されていることを示している場合、押圧エリアを拡大押圧エリアに拡大させるとともに、ボタンエリアを拡大ボタンエリアに拡大させる。また、エリア拡大部141は、拡大押圧エリアと拡大ボタンエリアの情報を拡大エリア情報記憶部54に供給し、記憶させる。
拡大エリア情報記憶部54は、エリア拡大部141から供給される拡大押圧エリアと拡大ボタンエリアの情報を、拡大エリア情報として記憶する。このとき、拡大エリア情報は、エリア拡大部141により拡大された押圧エリア(拡大押圧エリア)とボタンエリア(拡大ボタンエリア)に関する情報となる。
エリア拡大部141は、押圧エリア拡大部151およびボタンエリア拡大部152を含むようにして構成される。
押圧エリア拡大部151は、図4の押圧エリア拡大部53と同様に、操作判定部52から供給される判定結果が、ユーザの操作によりボタンが押圧操作されていることを示している場合、押圧エリアを拡大押圧エリアに拡大させる。
ボタンエリア拡大部152は、図9のボタンエリア拡大部121と同様に、操作判定部52から供給される判定結果が、ユーザの操作によりボタンが押圧操作されていることを示している場合、ボタンエリアを拡大ボタンエリアに拡大させる。
次に、図13の機能的構成例を有する、デジタルスチルカメラ11の動作について説明する。例えば、ユーザは、デジタルスチルカメラ11のLCD23の画面に表示されている、各種の動作を指示するためのボタンを操作するとき、指先(またはスタイラス)で、そのLCD23の画面に表示されているボタンに触れることになる。
マイコン21は、タッチパネル24を介してユーザの指先に接触されたとき、図14のフローチャートに示される処理を各部に実行させる。
ステップS31およびステップS32の処理は、図5のステップS11およびステップS12の処理と同様であり、その説明は省略する。
ステップS33において、エリア拡大部141は、エリア拡大の処理を行う。
ここで、ステップS33における、エリア拡大部141による、エリア拡大の処理の詳細について、図15のフローチャートを参照して説明する。
ステップS41において、押圧エリア拡大部151は、操作判定部52から供給される判定結果を基に、押圧エリアを拡大押圧エリアに拡大させる。
例えば、ステップS41において、押圧エリア拡大部151は、図16の左側のボタン101aで示すように、ユーザの指先がボタン101a上の押圧エリアA4に触れている場合、図16の右側のボタン101aで示すように、押圧エリアA4を中心とする所定の半径の円となるようにエリアを拡大し、ユーザの指先に触れられている押圧エリアA4を拡大押圧エリアP2まで拡大させる。
ステップS42において、ボタンエリア拡大部152は、操作判定部52から供給される判定結果を基に、ボタンエリアを拡大ボタンエリアに拡大させる。
例えば、ステップS42において、ボタンエリア拡大部152は、図16の左側のボタン101aで示すように、ユーザの指先がボタン101a上の押圧エリアA4に触れている場合、図16の右側のボタン101aで示すように、ボタン101aのボタンエリアを囲むようにエリアを拡大し、ユーザの操作により、ボタン101aを押圧操作できるボタンエリアを拡大ボタンエリアB2まで拡大させる。
すなわち、エリア拡大部141は、押圧エリアA4を拡大押圧エリアP2に拡大させ、さらに、ボタン101aのボタンエリアを拡大ボタンエリアB2に拡大させている。そして、エリア拡大部141は、拡大押圧エリアP2と拡大ボタンエリアB2の情報を拡大エリア情報記憶部54に供給して、記憶させる。
図14のフローチャートに戻り、ステップS34において、拡大エリア情報記憶部54は、エリア拡大部141から供給される拡大押圧エリアと拡大ボタンエリアの情報を、拡大エリア情報として記憶する。例えば、ステップS34において、拡大エリア情報記憶部54は、押圧エリアA4が拡大ボタンエリアP2に拡大されたことを示す情報と、ボタン101aのボタンエリアが拡大ボタンエリアB2に拡大されたことを示す情報を、拡大エリア情報として記憶する。なお、このとき、拡大エリア情報記憶部54は、エリア拡大部141から供給される拡大押圧エリアと拡大ボタンエリアの情報を基に、拡大押圧エリアP2により最初に押圧操作されたボタンが、拡大ボタンエリアB2に拡大されたボタン101aであることを示す情報も、拡大エリア情報として記憶するようにしてもよい。
ステップS35の処理は、図5のステップS15の処理と同様であり、その説明は省略する。
ステップS36において、操作判定部52は、操作検出部51から供給される検出結果および拡大エリア情報記憶部54から読み出した拡大エリア情報を基に、最初に押圧操作されたボタンであるか否かを判定する。例えば、ステップS36において、操作判定部52は、操作検出部51から供給される検出結果および拡大エリア情報記憶部54から読み出した拡大エリア情報を基に、ユーザの指先に離れられたときの拡大押圧エリアP2が、最初に押圧操作された、拡大ボタンエリアB2に拡大されたボタン101aを押圧操作しているか否かを判定する。
ステップS36において、最初に押圧操作されたボタンではないと判定された場合、そのボタンにより指示される動作を実行せずに、ステップS31に戻り、上述した処理が繰り返される。
このように、操作判定部52は、ユーザによるタッチパネル24の操作を、最初に押圧操作されたボタン101aの操作に限定する。これにより、拡大押圧エリアP2が、拡大ボタンエリアB2に拡大されたボタン101a以外の、他のボタンやエリア(例えば、ボタン101bやボタン101cなど)にまたがったときであっても、ボタン101aの操作に限定しているので、同時に2箇所を押圧操作したことにはならない。その結果、例えば、ボタンを小型化したり、不感領域を少なくすることができるなど、ボタン配置のレイアウトの自由度を広げることができる。
一方、ステップS36において、最初に押圧操作されたボタンであると判定された場合、そのボタンにより指示される動作を実行するので、ステップS37に進み、拡大エリア情報処理部55は、操作判定部52から供給される判定結果を基に、拡大エリア情報に対応する処理を行って、マイコン21による、押圧エリアとボタンエリアの拡大の処理は終了する。
例えば、ステップS36において、拡大エリア情報処理部55は、操作判定部52から供給される判定結果が、図16に示すように、拡大押圧エリアP2が、拡大ボタンエリアB2に拡大されたボタン101aに押圧操作していることを示している場合、ボタン101aにより動作が指示されるメニュー画面を表示させる処理を行う。このとき、LCD23の画面には、操作項目の一覧であるメニュー画面(図示せず)が表示されることになる。
また、ステップS35およびステップS37の処理においては、図17に示すように、ユーザの指先のブレにより、図17の左側の押圧エリアA4が、図17の右側の押圧エリアA4のように、ボタン101aの外側にずれた場合、図中右上に示すように、拡大押圧エリアP2と拡大ボタンエリアB2を拡大していないとき、ユーザの指先に離れられると、OFFエッジ検出では、ユーザの指先がタッチパネル24から離れたときに、各種機能の動作が指示されるので、ボタン101aを操作していないことになり、ボタン101aの動作は指示されないことになる。
それに対して、図中右下に示すように、押圧エリアA4が拡大押圧エリアP2に拡大され、かつ、ボタン101aのボタンエリアが拡大ボタンエリアB2に拡大されている場合、ユーザの指先に離れられるとき、押圧エリアA4であるとボタン101aの動作は指示されないが、拡大押圧エリアP2と拡大ボタンエリアB2にエリアが拡大され、拡大押圧エリアP2が拡大された拡大ボタンエリアB2を押圧操作しているので、OFFエッジ検出により、ボタン101aを操作していることになり、ボタン101aの動作が指示されることになる。
このように、タッチパネル上のボタンを押圧操作する場合、ユーザにより押圧操作されている押圧エリアを拡大押圧エリアに拡大し、さらにボタンのボタンエリアを拡大ボタンエリアまで拡大させることができるので、指先やスタイラスのブレによる、タッチパネルのボタンや領域の押し損ねを軽減することができる。
また、ユーザにより押圧操作されている押圧エリアを拡大押圧エリアに拡大し、さらにボタンエリアを拡大ボタンエリアまで拡大させることにより、例えば、上述した、図1の不安定な画面のフィードバックを解消するとともに、図2のある境界に沿って範囲を指定するなどの押圧操作を確実に行うことができる。
また、上述した例のように、押圧エリアまたはボタンエリアを拡大させることにより、ボタン配置のレイアウトの自由度を広げることができる。以下、図18乃至図20を参照して、ボタンの配置のレイアウトについて説明する。
図18で示すように、例えば、縦×横の長さが、それぞれ、8(mm)×10(mm)であるボタンA乃至ボタンCをLCD23の画面に表示させる場合、押圧エリアとボタンエリアを拡大させないとき、ユーザの指先やスタイラスのブレに対応するために、ボタンA乃至ボタンCのそれぞれの間隔を5.0(mm)設けるなど、ある程度の不感領域を設ける必要がある。
それに対して、図19で示すように、例えば、縦×横の長さが、それぞれ、8(mm)×10(mm)であるボタンA乃至ボタンDのそれぞれのボタンエリアにおいて、ボタンエリアの上下左右の辺のそれぞれを、外周1.5(mm)外側に範囲を拡大させることにより、ユーザの指先やスタイラスによるブレを押圧エリアまたはボタンエリアにより検出することが可能となるので、不感領域を設ける必要がなくなる。その結果、ボタンの間に5.0(mm)などの間隔を設ける必要がないので、ボタンの間隔を詰めることができ、例えば、図18では、横方向に3つしかボタンを並べることができないが、図19では、4つのボタンを並べることができる。
また、同様に、例えば、図20に示すように、押圧エリアとボタンエリアを拡大していない図中上側のボタン配置の場合、不感領域が必要となるので、ボタンA乃至ボタンIの9個のボタンしか配置することができないが、それに対して、押圧エリアまたはボタンエリアを拡大している図中下側のボタン配置の場合、不感領域が必要ないので、ボタンA乃至ボタンPの16個のボタンを配置することが可能となる。
このように、押圧エリアまたはボタンエリアを拡大させることにより、ボタン配置のレイアウトの自由度を広げることができる。特に、デジタルスチルカメラ11のように、その機器の構成上、LCD23のパネルの大きさが制限されるような場合、ボタンの間隔を詰められるのでより大きな効果を得ることができる。
なお、一般的に、ボタンの間隔を大きくしたとき(不感領域が広いとき)と、ボタンの間隔を狭くしたとき(不感領域を狭くしたとき)とを比較した場合、ユーザは、ボタンの間隔を大きくしたときの方が操作することに安心感を覚えることが多いため、操作がラフ(おおまか)になり、操作時の指先のブレの量が大きくなることが想定される。そこで、ボタンレイアウトに応じて、例えば、ボタンの間隔が大きいとき、拡大する範囲をより大きくし、それに対して、ボタンの間隔が狭いとき、拡大する範囲を狭くするなど、拡大する範囲を動的に変化させるようにしてもよい。その結果、より操作性を向上させることができる。
さらにまた、ユーザによりタッチパネルが押圧操作された直後から、押されていたと認識する範囲を、タッチパネルの分解能や、ボタンのレイアウトなどから判断して最適と思われる範囲まで拡大させることにより、押し損ねの発生する頻度を低減させることができる。また、タッチパネルの受付を、最初に押圧操作されたボタン(エリア)に限定することにより、押されていたと認識する範囲の領域を拡大したとき、その拡大した領域が他のボタン(エリア)にまたがったとしても、2カ所を同時に押圧操作しているのではなく、最初に押圧操作されたボタンにより指示される動作を実行させることができる。その結果、例えば、ボタンの小型化や不感領域の削減など、ボタン配置のレイアウトの自由度を広げることができる。
図21は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)211は、ROM(Read Only Memory)212、または記録部218に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)213には、CPU211が実行するプログラムやデータなどが適宜記憶される。これらのCPU211、ROM212、およびRAM213は、バス214により相互に接続されている。
CPU211にはまた、バス214を介して入出力インターフェース215が接続されている。入出力インターフェース215には、スイッチ、マイクロホンなどよりなる入力部216、ディスプレイ、スピーカなどよりなる出力部217が接続されている。CPU211は、入力部216から入力される指令に対応して各種の処理を実行する。そして、CPU211は、処理の結果を出力部217に出力する。
入出力インターフェース215に接続されている記録部218は、例えばハードディスクからなり、CPU211が実行するプログラムや各種のデータを記録する。通信部219は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。また、通信部219を介してプログラムを取得し、記録部218に記録してもよい。
入出力インターフェース215に接続されているドライブ220は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア221が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部218に転送され、記録される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図21に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア221、または、プログラムが一時的もしくは永続的に格納されるROM212や、記録部218を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部219を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 デジタルスチルカメラ, 21 マイコン, 22 メモリ, 23 LCD, 24 タッチパネル, 25 スピーカ, 26 カメラ部, 31 映像音声入力部, 32 映像音声信号処理部, 33 ドライブ, 34 記録媒体, 51 操作検出部, 52 操作判定部, 53 押圧エリア拡大部, 54 拡大エリア情報記憶部, 55 拡大エリア情報処理部, 121 ボタンエリア拡大部, 141 エリア拡大部, 151 押圧エリア拡大部, 152 ボタンエリア拡大部