(57)【要約】【課題】不要な触感生成処理を低減しつつ、操作子による操作に対するフィードバックを適切にユーザに認識させることを目的とする。【解決手段】ユーザによる操作子を用いた入力面へのタッチ入力のタッチ面積を特定する特定手段と、入力面を介して操作子に与える触感を生成する第１の触感生成手段と、タッチ面積が面積閾値以上である場合に、触感を生成すると判断し、タッチ面積が面積閾値未満である場合に、触感を生成しないと判断する判断手段と、触感を生成すると判断された場合に、第１の触感生成手段に対し、触感生成を指示する制御手段とを有する。【選択図】図１
2015176371.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによる操作子を用いた入力面へのタッチ入力のタッチ面積を特定する特定手段と、
前記入力面を介して操作子に与える触感を生成する第１の触感生成手段と、
前記タッチ面積が面積閾値以上である場合に、触感を生成すると判断し、前記タッチ面積が面積閾値未満である場合に、触感を生成しないと判断する判断手段と、
触感を生成すると判断された場合に、前記第１の触感生成手段に対し、触感生成を指示する制御手段と
を有する電子機器。
【請求項２】
タッチ入力中の第１のタイミングにおいて特定された第１のタッチ面積と、前記タッチ入力中のタイミングで、前記第１のタイミングよりも後の第２のタイミングにおいて特定された第２のタッチ面積と、の差分を算出する算出手段をさらに有し、
前記判断手段は、前記差分が差分閾値未満であって、かつ前記第２のタッチ面積が前記面積閾値以上である場合に、触感を生成すると判断する請求項１に記載の電子機器。
【請求項３】
前記制御手段は、触感を生成すると判断された場合に、前記タッチ入力が検出されなくなるまでの間、前記触感生成の指示を継続する請求項１又は２に記載の電子機器。
【請求項４】
前記制御手段は、触感を生成しないと判断された場合に、前記タッチ入力の検出タイミングから第１の時間が経過するまでの間、前記触感生成の指示を行わない請求項１乃至３何れか１項に記載の電子機器。
【請求項５】
前記電子機器の全体を振動させる第２の触感生成手段をさらに有し、
前記制御手段は、触感を生成しないと判断された場合に、前記第２の触感生成手段に対し、振動を指示し、かつ前記第１の触感生成手段に対し、触感生成の指示を行わない請求項１乃至４何れか１項に記載の電子機器。
【請求項６】
前記第１の触感生成手段は、電気刺激により前記操作子に与える触感を生成する請求項１乃至５何れか１項に記載の電子機器。
【請求項７】
振動により、前記操作子に与える触感を生成する第３の触感生成手段をさらに有し、
前記制御手段は、触感を生成しないと判断された場合に、前記第３の触感生成手段に対し、触感生成を指示し、かつ前記第１の触感生成手段に対し、触感生成の指示を行わない請求項６に記載の電子機器。
【請求項８】
ユーザによる操作子を用いた入力面へのタッチ入力を検出する検出手段と、
前記入力面を介して操作子に与える触感を生成する第１の触感生成手段と、
前記操作子がユーザの身体の一部か否かを推定する推定手段と、
前記操作子がユーザの身体の一部であると推定された場合に、前記第１の触感生成手段に対し、触感生成を指示する制御手段と
を有する電子機器。
【請求項９】
前記操作子としてのデバイスから情報を受信する受信手段をさらに有し、
前記推定手段は、前記受信手段が前記デバイスから情報を受信した場合に、前記操作子はユーザの体の一部でないと推定する請求項８に記載の電子機器。
【請求項１０】
タッチ入力中の異なるタイミングにおいて、前記タッチ入力の前記入力面におけるタッチ面積を特定する面積特定手段と、
タッチ入力中の第１時間内に特定されたタッチ面積のばらつきが基準範囲内になるまでに経過した経過時間を特定する時間特定手段と
をさらに有し、
前記推定手段は、前記経過時間が時間閾値以上である場合に、前記操作子がユーザの体の一部であると推定する請求項８に記載の電子機器。
【請求項１１】
電子機器が実行する触感制御方法であって、
ユーザによる操作子を用いた入力面へのタッチ入力のタッチ面積を特定する特定ステップと、
前記入力面を介して操作子に与える触感を生成する第１の触感生成ステップと、
前記タッチ面積が面積閾値以上である場合に、触感を生成すると判断し、前記タッチ面積が面積閾値未満である場合に、触感を生成しないと判断する判断ステップと、
触感を生成すると判断された場合に、触感生成を指示する制御ステップと
を含む触感制御方法。
【請求項１２】
電子機器が実行する触感制御方法であって、
ユーザによる操作子を用いた入力面へのタッチ入力を検出する検出ステップと、
前記入力面を介して操作子に与える触感を生成する第１の触感生成ステップと、
前記操作子がユーザの身体の一部か否かを推定する推定ステップと、
前記操作子がユーザの身体の一部であると推定された場合に、触感生成を指示する制御ステップと
を含む触感制御方法。
【請求項１３】
コンピュータを、
ユーザによる操作子を用いた入力面へのタッチ入力のタッチ面積を特定する特定手段と、
前記タッチ面積が面積閾値以上である場合に、触感を生成すると判断し、前記タッチ面積が面積閾値未満である場合に、触感を生成しないと判断する判断手段と、
触感を生成すると判断された場合に、前記入力面を介して操作子に与える触感を生成する第１の触感生成手段に対し、触感生成を指示する制御手段と
して機能させるためのプログラム。
【請求項１４】
コンピュータを、
ユーザによる操作子を用いた入力面へのタッチ入力を検出する検出手段と、
前記操作子がユーザの身体の一部か否かを推定する推定手段と、
前記操作子がユーザの身体の一部であると推定された場合に、前記入力面を介して操作子に与える触感を生成する第１の触感生成手段に対し、触感生成を指示する制御手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、触感制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、携帯電話、銀行のＡＴＭ、タブレットＰＣ、カーナビ等の電子機器において、操作者による入力操作を受け付ける入力装置として、タッチパネル等のタッチセンサが広く使用されている。このようなタッチセンサにおいては、抵抗膜方式、静電容量方式等の様々な方式が知られている。
タッチセンサ自体は、押しボタンスイッチのように物理的に変位するものではない。このため、実際に指やスタイラスペンでタッチしている操作者にとっては、いずれの方式においても、入力に対するフィードバックを得ることができない。したがって、操作者は、入力が行われたか確認することができない。さらに、操作者は、入力が確認できないため、何度もタッチ操作を行う場合もある。このように、タッチセンサにおいては、フィードバックがないことにより、操作者にストレスを与える可能性がある。
【０００３】
このような問題に対応し、例えば、特許文献１には、タッチセンサが入力を受け付けた場合に、タッチセンサのタッチ面を振動させて指等に触感を提示することで、操作者に対し、入力が受け付けられたことを触感として認識させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０４８６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術においては、操作子が指であるかスタイラスペンであるかを区別することなく、触感を与える処理を行っている。しかしながら、ユーザがスタイラスペン等の操作子で操作を行っている場合には、触感を生成したとしても、操作者に触感を認識させるのは難しい。また、消費電力の面でも非効率的である。
【０００６】
本発明はこのような問題点に鑑みなされたもので、不要な触感生成処理を低減しつつ、操作子による操作に対するフィードバックを適切にユーザに認識させることのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、ユーザによる操作子を用いた入力面へのタッチ入力のタッチ面積を特定する特定手段と、前記入力面を介して操作子に与える触感を生成する第１の触感生成手段と、前記タッチ面積が面積閾値以上である場合に、触感を生成すると判断し、前記タッチ面積が面積閾値未満である場合に、触感を生成しないと判断する判断手段と、触感を生成すると判断された場合に、前記第１の触感生成手段に対し、触感生成を指示する制御手段とを有する。
【発明の効果】
【０００８】
本発明によれば、不要な触感生成処理を低減しつつ、操作子による操作に対するフィードバックを適切にユーザに認識させることができる。
【図面の簡単な説明】
【０００９】
【図１】電子機器を示す図である。
【図２】ユーザが指でタッチパネル１２０に触れている例を示す図である。
【図３】ユーザがスタイラスペンでタッチパネル１２０に触れている例を示す図である。
【図４】触感制御処理を示すフローチャートである。
【図５】触感制御処理を示すフローチャートである。
【図６】触感制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
図１は、電子機器１００を示す図である。電子機器１００は、携帯電話等により構成することができる。図１に示すように、内部バス１５０に対して、ＣＰＵ１０１、メモリ１０２、不揮発性メモリ１０３、画像処理部１０４、ディスプレイ１０５、操作部１０６、記録媒体Ｉ／Ｆ１０７、外部Ｉ／Ｆ１０９及び通信Ｉ／Ｆ１１０が接続されている。また、内部バス１５０に対して、撮像部１１２、荷重検出部１２１、触感生成部１２２及び第２の触感生成部１２３が接続されている。内部バス１５０に接続される各部は、内部バス１５０を介して互いにデータのやりとりを行うことができる。
メモリ１０２は、例えばＲＡＭ（半導体素子を利用した揮発性のメモリ等）を有している。ＣＰＵ１０１は、例えば不揮発性メモリ１０３に格納されるプログラムに従い、メモリ１０２をワークメモリとして用いて、電子機器１００の各部を制御する。不揮発性メモリ１０３には、画像データや音声データ、その他のデータ、ＣＰＵ１０１が動作するための各種プログラム等が格納されている。不揮発性メモリ１０３は、例えばハードディスク（ＨＤ）やＲＯＭ等を有している。
【００１１】
画像処理部１０４は、ＣＰＵ１０１の制御に基づいて、画像データに対して各種画像処理を施す。画像処理が施される画像データとしては、不揮発性メモリ１０３や記録媒体１０８に格納された画像データ、外部Ｉ／Ｆ１０９を介して取得した映像信号、通信Ｉ／Ｆ１１０を介して取得した画像データ、撮像部１１２で撮像された画像データ等がある。
画像処理部１０４が行う画像処理には、Ａ／Ｄ変換処理、Ｄ／Ａ変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大／縮小処理（リサイズ）、ノイズ低減処理、色変換処理等が含まれる。画像処理部１０４は、例えば、特定の画像処理を施すための専用の回路ブロックである。また、画像処理の種別によっては、画像処理部１０４ではなく、ＣＰＵ１０１がプログラムに従って画像処理を実行することもできる。
【００１２】
ディスプレイ１０５は、ＣＰＵ１０１の制御に基づいて、画像やＧＵＩ（Graphical  User  Interface）を構成するＧＵＩ画面等を表示する。ＣＰＵ１０１は、プログラムに従い表示制御信号を生成し、ディスプレイ１０５に表示するための映像信号を生成し、これをディスプレイ１０５に出力するように、電子機器１００の各部を制御する。そして、ディスプレイ１０５は、映像信号に基づいて映像を表示する。
なお、他の例としては、電子機器１００は、ディスプレイ１０５を有さず、ディスプレイ１０５に表示させるための映像信号を出力するためのインターフェースを有することとしてもよい。この場合には、電子機器１００は、外付けのモニタ（テレビ等）に対し画像等を表示するものとする。
【００１３】
操作部１０６は、キーボード等の文字情報入力デバイスや、マウスやタッチパネル１２０等ポインティングデバイス、ボタン、ダイヤル、ジョイスティック、タッチセンサ、タッチパッド等、ユーザ操作を受け付けるための入力デバイスである。タッチパネル１２０は、ディスプレイ１０５に重ね合わせて平面的に構成され、接触された位置に応じた座標情報を出力する入力デバイスである。タッチパネル１２０は、入力面の一例である。
記憶媒体Ｉ／Ｆ１０７には、メモリーカードやＣＤ、ＤＶＤ等の記録媒体１０８が装着可能である。記憶媒体Ｉ／Ｆ１０７は、ＣＰＵ１０１の制御に基づき、装着された記録媒体１０８からのデータの読み出しや、装着された記録媒体１０８へのデータの書き込みを行う。
【００１４】
外部Ｉ／Ｆ１０９は、外部機器と有線ケーブルや無線によって接続し、映像信号や音声信号の入出力を行うためのインターフェースである。通信Ｉ／Ｆ１１０は、外部機器やインターネット１１１等と通信（電話通信を含む）して、ファイルやコマンド等の各種データの送受信を行うためのインターフェースである。
撮像部１１２は、ＣＣＤセンサやＣＭＯＳセンサ等の撮像素子、ズームレンズ、フォーカスレンズ、シャッター、絞り、測距部、Ａ／Ｄ変換器等を有するカメラユニットである。撮像部１１２は、静止画及び動画を撮像することができる。撮像部１１２により撮像された画像の画像データは、画像処理部１０４に送信され、画像処理部１０４において、各種処理を施された後、静止画ファイル又は動画ファイルとして記録媒体１０８に記録される。
システムタイマー１１３は、各種制御に用いる時間や、内蔵された時計の時間を計測する。
【００１５】
ＣＰＵ１０１は、タッチパネル１２０から出力されたタッチ位置の座標情報を、内部バス１５０を介して受信する。そして、ＣＰＵ１０１は、座標情報に基づいて、以下の操作や状態を検出する。
・タッチパネル１２０を指やペンで触れる操作（以下、タッチダウンと称する）。
・タッチパネル１２０を指やペンで触れている状態（以下、タッチオンと称する）。
・タッチパネル１２０を指やペンで触れたまま移動する操作（以下、ムーブと称する）。
・タッチパネル１２０へ触れていた指やペンを離す操作（以下、タッチアップと称する）。
・タッチパネル１２０に何も触れていない状態（以下、タッチオフと称する）。
ＣＰＵ１０１はさらに、ムーブを検出した場合には、タッチ位置の座標変化に基づいて、指やペンの移動方向を判定する。具体的には、ＣＰＵ１０１は、タッチパネル１２０上における移動方向の垂直成分及び水平成分それぞれを判定する。
【００１６】
ＣＰＵ１０１はまた、ストローク、フリック及びドラッグの各操作を検出する。ＣＰＵ１０１は、タッチダウンから一定のムーブを経てタッチアップが行われた場合に、ストロークを検出する。ＣＰＵ１０１は、所定距離以上且つ所定速度以上のムーブが検出され、続けてタッチアップが検出された場合に、フリックを検出する。ＣＰＵ１０１はまた、所定距離以上且つ所定速度未満のムーブが検出された場合に、ドラッグを検出する。
なお、フリックは、タッチパネル１２０上に指を触れたまま、ある程度の距離だけ素早く動かし、そのまま指をタッチパネル１２０から離す操作である。すなわち、フリックは、タッチパネル１２０上を指ではじくように素早くなぞる操作である。
【００１７】
タッチパネル１２０は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
荷重検出部１２１は、接着等によりタッチパネル１２０と一体に設けられている。荷重検出部１２１は、歪みゲージセンサであり、タッチ操作の押圧力に応じてタッチパネル１２０が微少量撓む（歪む）ことを利用して、タッチパネル１２０に加わる荷重（押圧力）を検出する。他の例としては、荷重検出部１２１は、ディスプレイ１０５と一体に設けられてもよい。この場合、荷重検出部１２１は、ディスプレイ１０５を介して、タッチパネル１２０に加わる荷重を検出する。
【００１８】
第１の触感生成部１２２は、タッチパネル１２０を操作する指やペン等の操作子に与える触感を生成する。第１の触感生成部１２２は、接着等によりタッチパネル１２０と一体に設けられている。第１の触感生成部１２２は、圧電（ピエゾ）素子、より具体的には圧電振動子であり、ＣＰＵ１０１の制御の下、任意の振幅及び周波数で振動する。これにより、タッチパネル１２０が湾曲振動し、タッチパネル１２０の振動が操作子に触感として伝わる。すなわち、第１の触感生成部１２２は、自身が振動することにより、操作子に触感を与えるものである。
他の例としては、第１の触感生成部１２２は、ディスプレイ１０５と一体に設けられていてもよい。この場合、第１の触感生成部１２２は、ディスプレイ１０５を介して、タッチパネル１２０を湾曲振動させる。
【００１９】
なお、ＣＰＵ１０１は、第１の触感生成部１２２の振幅及び周波数を変更し、様々なパターンで第１の触感生成部１２２を振動させることにより、様々なパターンの触感を生成させることができる。
【００２０】
また、ＣＰＵ１０１は、タッチパネル１２０おいて検出されたタッチ位置と、荷重検出部１２１により検出された押圧力に基づいて、触感を制御することができる。例えば、操作子のタッチ操作に対応し、ＣＰＵ１０１が、ディスプレイ１０５に表示されたボタンアイコンに対応するタッチ位置を検出し、荷重検出部１２１が、所定値以上の押圧力を検出したとする。この場合、ＣＰＵ１０１は、１周期前後の振動を生成する。これにより、ユーザは、あたかも機械的なボタンを押しこんだ際のクリック感のような触感を知覚することができる。
さらにＣＰＵ１０１は、ボタンアイコンの位置へのタッチを検出している状態で所定値以上の押圧力を検出した場合にのみ、ボタンアイコンの機能を実行するものとする。すなわち、ＣＰＵ１０１は、単にボタンアイコンに触れた場合のように弱い押圧力を検知した場合には、ボタンアイコンの機能を実行しない。これにより、ユーザは、機械的なボタンを押しこんだ際と同じような感覚で操作を行うことができる。
なお、荷重検出部１２１は、歪みゲージセンサに限定されるものではない。他の例としては、荷重検出部１２１は、圧電素子を有してもよい。この場合、荷重検出部１２１は、押圧力に応じて圧電素子から出力される電圧に基づいて、荷重を検出する。さらに、この場合の荷重検出部１２１としての圧力素子は、第１の触感生成部１２２としての圧力素子と共通であってもよい。
【００２１】
また、第１の触感生成部１２２は、圧力素子による振動を生成するものに限定されるものではない。他の例としては、第１の触感生成部１２２は、電気的な触感を生成するものであってもよい。例えば、第１の触感生成部１２２は、導電層パネルと絶縁体パネルを有する。ここで、導電層パネルと絶縁体パネルは、タッチパネル１２０と同様に、ディスプレイ１０５に重ね合わされ、平面的に設けられている。そして、ユーザが絶縁体パネルに触れると、導電層パネルに正電荷がチャージされる。すなわち、触感生成部１２２は、導電層パネルに正電荷をチャージすることにより、電気刺激としての触感を生成することができる。また、第１の触感生成部１２２は、ユーザに、クーロン力により皮膚が引っ張られるような感覚（触感）を与えるものであってもよい。
また他の例としては、第１の触感生成部１２２は、正電荷をチャージするか否かを、パネル上の位置毎に選択可能な導電層パネルを有してもよい。そして、ＣＰＵ１０１は、正電荷のチャージ位置を制御する。これにより、第１の触感生成部１２２は、ユーザに「ゴツゴツ感」、「ザラザラ感」、「さらさら感」等、様々な触感を与えることができる。
【００２２】
第２の触感生成部１２３は、電子機器１００の全体を振動させることにより、触感を生成する。第２の触感生成部１２３は、例えば偏心モーター等を有し、公知のバイブレーション機能等を実現する。これにより、電子機器１００は、第２の触感生成部１２３が生成する振動により、電子機器１００を持つユーザの手等に触感を与えることができる。
【００２３】
電子機器１００のタッチパネル１２０への操作入力を行う操作子として、図２に示すように、ユーザが自身の身体の一部、例えば指を用いる場合と、図３に示すように、スタイラスペン等のポインティングデバイスを用いる場合とがある。本実施形態にかかる電子機器１００は、操作子による操作に対するフィードバックとして、操作子に触感を与える処理を行う。
【００２４】
図４は、電子機器１００による、触感制御処理を示すフローチャートである。触感制御処理は、ＣＰＵ１０１が不揮発性メモリ１０３等に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。Ｓ４０１では、ＣＰＵ１０１は、ペンフラグの値を確認する。ここで、ペンフラグは、操作子の種類を示す情報であり、スタイラスペンを示す「オン」と、指を示す「オフ」の２値のうちいずれかを示す。ペンフラグは、メモリ１０２記憶されている。なお、ペンフラグの値は、ユーザによる直前の操作に対する、後述のＳ４０４の処理において設定される。
ＣＰＵ１０１は、ペンフラグの値が「オン」の場合には（Ｓ４０１でＹｅｓ）、処理をＳ４０２へ進める。ＣＰＵ１０１は、ペンフラグの値が「オフ」の場合には（Ｓ４０１でＮｏ）、処理をＳ４０５へ進める。
【００２５】
Ｓ４０２では、ＣＰＵ１０１は、ペンフラグタイマーがタイムアウトしていないかを判定する。ペンフラグタイマーは、スタイラスペンを置いて指でのタッチに切り替えたかどうかを判断するためのタイマーで、本実施形態においては、５００ｍｓｅｃに設定されている。なお、ペンフラグタイマーの設定時間は、実施形態に限定されるものではない。ペンフラグタイマーは、直前の操作に対する、後述のＳ４１８の処理において設定される。
ＣＰＵ１０１は、タイムアウトの場合には（Ｓ４０２でＹｅｓ）、処理をＳ４０４へ進める。ＣＰＵ１０１は、タイムアウトでない場合には（Ｓ４０２でＮｏ）、処理をＳ４０３に進める。
【００２６】
Ｓ４０３では、ＣＰＵ１０１は、タッチパネル１２０にユーザが触れたかどうか、すなわちタッチオンの有無を確認する。ＣＰＵ１０１は、タッチオンが検出された場合には（Ｓ４０３でＹｅｓ）、処理をＳ４１６へ進める。ＣＰＵ１０１は、タッチオンが検出されなかった場合には（Ｓ４０３でＮｏ）、処理をＳ４０２へ進める。ここで、Ｓ４０３の処理は、タッチ入力を検出する検出処理の一例である。
Ｓ４０４では、ＣＰＵ１０１は、ペンフラグを「オフ」にする。次に、Ｓ４０５では、ＣＰＵ１０１は、タッチオンの有無を確認する。ＣＰＵ１０１は、タッチオンが検出された場合には（Ｓ４０４でＹｅｓ）、処理をＳ４０６へ進める。ＣＰＵ１０１は、タッチオンが検出されなかった場合には（Ｓ４０４でＮｏ）、タッチオンが検出されるまで待機する。Ｓ４０６では、ＣＰＵ１０１は、タッチ面積を特定し、これをメモリ１０２に記録する。ここで、タッチ面積とは、操作子がタッチオン時にタッチパネル１２０に接している面積である。Ｓ４０６における処理は、タッチ面積を特定する特定処理の一例である。
【００２７】
次に、Ｓ４０７では、ＣＰＵ１０１は、操作部１０６からのイベントを待ち、イベント発生の通知を受けると（Ｓ４０７でＹｅｓ）、処理をＳ４０８へ進める。Ｓ４０８では、ＣＰＵ１０１は、再度タッチ面積を特定し、これをメモリ１０２に記録する。なお、メモリ１０２に既に格納されているタッチ面積は削除せず、メモリ１０２の面積記憶配列に、特定した順番にタッチ面積を蓄積していく。
次に、Ｓ４０９では、ＣＰＵ１０１は、メモリ１０２に記憶されているタッチ面積を参照し、最新のタッチ面積とその一つ前のタッチ面積の差分を算出する。そして、ＣＰＵ１０１は、差分と差分閾値とを比較する。差分閾値は、例えば不揮発性メモリ１０３等に予め格納されているものとする。ＣＰＵ１０１は、差分が差分閾値未満である場合には（Ｓ４０９でＹｅｓ）、タッチ面積の値が安定したと判断し、処理をＳ４１０へ進める。ＣＰＵ１０１は、差分が差分閾値以上である場合には（Ｓ４０９でＮｏ）、処理をＳ４１５へ進める。
【００２８】
なお、Ｓ４０９の処理は、Ｓ４０６で、タッチ入力中の第１のタイミングにおいて特定された第１のタッチ面積と、Ｓ４０８で、タッチ入力中の第２のタイミングにおいて特定された第２のタッチ面積との差分を算出する算出処理の一例である。
指によるタッチオンの場合には、タッチ面積は徐々に増加した後、ほぼ一定した値に安定することが想定される。Ｓ４０９の処理は、この動作に対応し、タッチ面積の値が一定したか否かの確認を行うものである。
【００２９】
Ｓ４１０では、ＣＰＵ１０１は、最新のタッチ面積と面積閾値とを比較する。面積閾値は、例えば不揮発性メモリ１０３等に予め格納されているものとする。なお、面積閾値は、操作子が指であるかスタイラスペンであるかを判別可能な値、すなわち、スタイラスペンのタッチ面積に比べて大きい値とする。ＣＰＵ１０１は、タッチ面積が面積閾値以上である場合には（Ｓ４１０でＹｅｓ）、処理をＳ４１１へ進める。ＣＰＵ１０１は、タッチ面積が面積閾値未満である場合には（Ｓ４１０でＮｏ）、処理をＳ４１５へ進める。
Ｓ４１１では、ＣＰＵ１０１は、触感を生成すると判断し（判断処理）、第１の触感生成部１２２に対し、触感生成を指示する（制御処理）。これに対応し、第１の触感生成部１２２は、ＣＰＵ１０１の指示に従い、ユーザに与える触感を生成する（触感生成処理）。Ｓ４１２では、ＣＰＵ１０１は、タッチダウンされたタッチ位置に応じた処理を行う。タッチ位置に応じた処理としては、タッチ位置に対応するディスプレイ１０５上の位置に表示されているボタンの表示を変更する、線を描画する等、タッチ操作によってＧＵＩを変化させる処理が挙げられる。
【００３０】
次に、Ｓ４１３では、ＣＰＵ１０１は、操作子がタッチパネル１２０から離れたか否か、すなわちタッチオフの有無を確認する。ＣＰＵ１０１は、タッチオフを検出した場合には（Ｓ４１３でＹｅｓ）、処理をＳ４１４へ進める。ＣＰＵ１０１は、タッチオフを検出しなかった場合には（Ｓ４１３でＮｏ）、処理をＳ４１１へ進める。
Ｓ４１４では、ＣＰＵ１０１は、第１の触感生成部１２２に対し、Ｓ４１１において処理を開始した触感生成を停止するように指示する。これに対応し、第１の触感生成部１２２は、触感生成を停止する。以上で、触感生成処理は、終了する。
すなわち、ＣＰＵ１０１は、触感を生成すると判断した場合には、タッチオフが検出される（タッチ入力が検出されなくなる）までの間、触感生成の指示を継続する。これに対応し、第１の触感生成部１２２は、タッチオフが検出されるまで、触感の生成を継続する。
【００３１】
一方、Ｓ４１５では、ＣＰＵ１０１は、触感を生成しないと判断し、ペンフラグを「オン」にする。なお、この場合（最新のタッチ面積が面積閾値未満の場合又は差分が差分閾値以上の場合）には、ＣＰＵ１０１は、触感生成の指示は行わない。次に、Ｓ４１６では、ＣＰＵ１０１は、タッチ位置に応じた処理を行う。Ｓ４１６における処理は、Ｓ４１２における処理と同様である。
次に、Ｓ４１７では、ＣＰＵ１０１は、タッチオフの有無を確認する。ＣＰＵ１０１は、タッチオフを検出した場合には（Ｓ４１７でＹｅｓ）、処理をＳ４１８へ進める。ＣＰＵ１０１は、タッチオフを検出しなかった場合には（Ｓ４１７でＮｏ）、処理をＳ４１６へ進める。Ｓ４１８では、ＣＰＵ１０１は、ペンフラグタイマーをスタートさせる。以上で、触感生成処理は、終了する。
【００３２】
すなわち、ＣＰＵ１０１は、触感を生成しないと判断した場合には、タッチオフが検出されるまでの間、触感生成の指示を行わない。これに対応し、第１の触感生成部１２２は、タッチオフが検出されるまで、触感の生成を行わない。
さらに、ＣＰＵ１０１は、触感を生成しないと判断した場合には、ペンフラグタイマーをオンし、ペンフラグタイマーがタイムアウトするまでの間は、Ｓ４０４〜Ｓ４１５の処理を行わない。すなわち、ＣＰＵ１０１は、この期間は、タッチ面積に関わらず、触感生成の指示を行わない。これにより、電子機器１００の処理負担を軽減することができる。ここで、ペンフラグタイマーがタイムアウトするタイミングは、タッチ入力の検出タイミングから第１の時間が経過するタイミングの一例である。
【００３３】
以上のように、電子機器１００は、最新のタッチ面積が面積閾値以上である場合には、触感を生成する一方で、タッチ面積が面積閾値未満である場合には、触感の生成は行わない。これにより、電子機器１００は、不要な触感生成処理を低減し、消費電力を抑えることができる。
さらに電子機器１００は、最新のタッチ面積と直前のタッチ面積との比較により、タッチ面積の値が一定したことを確認した上で、最新のタッチ面積と面積閾値との比較を行う。したがって、操作子が指であるか否かの判断を精度よく行うことができる。
【００３４】
なお、第１の実施形態の電子機器１００の第１の変更例としては、ＣＰＵ１０１は、単に最新タッチ面積と面積閾値との比較のみに基づいて、触感生成を行うか否かを判断してもよい。すなわち、ＣＰＵ１０１は、最新タッチ面積が面積閾値以上である場合に、触感を生成すると判断し、面積閾値未満である場合に、触感を生成しないと判断してもよい。
【００３５】
また、第２の変更例としては、ＣＰＵ１０１は、最新タッチ面積とその１つ前のタッチ面積の差分が面積差分以上である場合には、操作子は柔らかいもの、すなわち指であると推定し、触感を生成すると判断してもよい。そして、ＣＰＵ１０１は、面積閾値未満である場合には、操作子は堅いもの、すなわちスタイラスペンであると推定し、触感を生成しないと判断してもよい。
【００３６】
また、第３の変更例としては、Ｓ４１０において利用される面積閾値は、操作子が指であり、かつタッチ面積が、操作子に対し適切な触感を与えるために十分大きいサイズであるか否かを判断するための値であってもよい。操作子が指であっても、接触面積が小さすぎる場合には、適切な触感をユーザに知覚させるのは難しい。第３の変更例においては、電子機器１００は、ユーザに適切な触感を与える観点から設定された面積閾値を利用することにより、確実にユーザに触感を与えることができる場合に限り、触感を生成することができる。
【００３７】
（第２の実施形態）
次に、第２の実施形態にかかる電子機器１００について説明する。第２の実施形態にかかる電子機器１００は、第１の触感生成部１２２による触感生成を行わない場合には、第２の触感生成部１２３により、電子機器１００を振動させる。
図５は、第２の実施形態にかかる電子機器１００による、触感制御処理を示すフローチャートである。Ｓ５０１では、ＣＰＵ１０１は、タッチオンの有無を確認する。タッチオンが検出された場合には（Ｓ５０１でＹｅｓ）、処理をＳ５０２へ進める。ＣＰＵ１０１は、タッチオンが検出されなかった場合には（Ｓ５０１でＮｏ）、タッチオンが検出されるまで待機する。
【００３８】
Ｓ５０２では、ＣＰＵ１０１は、タッチ面積を特定する。Ｓ５０３では、ＣＰＵ１０１は、タッチ面積と面積閾値とを比較する。ＣＰＵ１０１は、タッチ面積が面積閾値以上である場合には（Ｓ５０３でＹｅｓ）、処理をＳ５０４へ進める。ＣＰＵ１０１は、タッチ面積が面積閾値未満である場合には（Ｓ５０３でＮｏ）、処理をＳ５０５へ進める。Ｓ５０４では、ＣＰＵ１０１は、第１の触感生成部１２２による触感生成を行うと判断し、第１の触感生成部１２２を選択する。そして、ＣＰＵ１０１は、選択した第１の触感生成部１２２に対し、触感生成を指示し、その後処理をＳ５０６へ進める。これに対応し、第１の触感生成部１２２は、ＣＰＵ１０１の指示に従い、触感を生成する。
一方、Ｓ５０５では、ＣＰＵ１０１は、第１の触感生成部１２２による触感生成を行わないと判断し、第２の触感生成部１２３を選択する。そして、ＣＰＵ１０１は、第２の触感生成部１２３に対し、触感生成を指示し、その後処理をＳ５０６へ進める。これに対応し、第２の触感生成部１２３は、ＣＰＵ１０１の指示に従い、触感を生成する。
すなわち、電子機器１００は、タッチ面積が面積閾値以上の場合には、タッチ位置への局所的な触感フィードバックを行い、タッチ面積が面積閾値未満の場合には、電子機器１００全体を振動させるフィードバックを行う。
【００３９】
Ｓ５０６では、ＣＰＵ１０１は、タッチ位置に応じた処理を行う。Ｓ５０６の処理は、Ｓ４１２における処理と同様である。次に、Ｓ５０７では、ＣＰＵ１０１は、タッチオフの有無を確認する。ＣＰＵ１０１は、タッチオフを検出した場合には（Ｓ５０７でＹｅｓ）、処理をＳ５０９へ進める。ＣＰＵ１０１は、タッチオフを検出しなかった場合には（Ｓ５０７でＮｏ）、処理をＳ５０８へ進める。
Ｓ５０８では、ＣＰＵ１０１は、Ｓ５０４又はＳ５０５において選択した触感生成部（第１の触感生成部１２２又は第２の触感生成部１２３）への触感生成の指示を継続する。Ｓ５０９では、ＣＰＵ１０１は、触感生成の停止を指示する。以上で、触感生成処理は終了する。
【００４０】
第２の実施形態にかかる電子機器１００は、タッチ面積が面積閾値未満の場合には、第１の触感生成部１２２による触感生成を行わないこととする。これにより、触感生成に係る不要な消費電力を抑えることができる。
さらに、第２の実施形態にかかる電子機器１００は、タッチ面積が面積閾値未満の場合には、第２の触感生成部１２３による触感生成を行うこととする。これにより、ユーザが操作子としてスタイラスペンを使用している場合や、指の接触が少ない場合等、操作子としての指への触感フォードバックが適さない状況においても、ユーザへのフィードバックを確実に実現することができる。すなわち、電子機器１００は、タッチ面積に応じて、第１の触感生成部１２２及び第２の触感生成部１２３の何れか一方を選択することにより、状況に応じたフィードバックを実現することができる。
なお、第２の実施形態にかかる電子機器１００のこれ以外の構成及び処理は、第１の実施形態にかかる電子機器１００の構成及び処理と同様である。
【００４１】
次に、第２の実施形態にかかる電子機器１００の第１の変更例について説明する。第２の実施形態においては、説明の便宜上、単にタッチ面積と面積閾値との比較のみにより、第１の触感生成部１２２による触感生成による触感フィードバックを行うか否かを決定したが、これに限定されるものではない。
他の例としては、電子機器１００は、第１の実施形態と同様に、タッチ面積が安定したことを確認した上で、最新のタッチ面積と面積閾値との比較を行うことにより、触感フィードバックを行うか否かを決定してもよい。すなわち、この場合には、図４に示すＳ４１６において、タッチ位置に応じた処理を行う直前に、第２の触感生成部１２３に対し、触感生成を指示する。そして、第２の触感生成部１２３は、ＣＰＵ１０１の指示に従い、電子機器１００を振動させる。
【００４２】
第２の変更例としては、電子機器１００は、第１の触感生成部１２２として、圧電振動子の振動により触感を生成する振動生成部と、電気的な触感を生成する電気刺激生成部とを有してもよい。さらに、この場合において、ＣＰＵ１０１は、タッチ面積が閾値以上である場合には、振動生成部に対し、振動生成を指示しつつ、電気刺激生成部に対し、電気刺激生成を指示する。一方で、ＣＰＵ１０１は、タッチ面積が閾値未満である場合には、振動生成部に対し、振動生成を指示し、電気刺激生成部への電気刺激生成の指示は行わないこととしてもよい。
電気刺激は、指にクーロン力により皮膚が引っ張られるような感覚（触感）を与えるものであり、タッチ面積が小さい場合には、ユーザに適切な触感を知覚させるのが難しい。一方、振動は、タッチ面積が小さくとも、電気刺激に比べて、ユーザに触感を知覚させ易い。本例にかかる電子機器１００は、これに対応し、タッチ面積が閾値未満の場合には、振動による触感のみを与え、電気刺激による触感は与えないこととした。
【００４３】
（第３の実施形態）
次に、第３の実施形態にかかる電子機器１００について説明する。第３の実施形態にかかる電子機器１００は、タッチ面積が安定するまでに要した時間に基づいて、操作子が指であるかスタイラスペンであるかを推定し、推定結果に応じて、第１の触感生成部１２２による触感生成を行うか否かを決定する。
図６は、第３の実施形態にかかる電子機器１００による、触感制御処理を示すフローチャートである。Ｓ６０１では、ＣＰＵ１０１は、タッチオンの有無を確認する。ＣＰＵ１０１は、タッチオンが検出された場合には（Ｓ６０１でＹｅｓ）、処理をＳ６０２へ進める。ＣＰＵ１０１は、タッチオンが検出されなかった場合には（Ｓ６０１でＮｏ）、タッチオンが検出されるまで待機する。
【００４４】
Ｓ６０２では、ＣＰＵ１０１は、システムタイマー１１３から得られる時間データに基づいて、タイマーのカウントをスタートする。次に、Ｓ６０３では、ＣＰＵ１０１は、タッチ面積を特定し、特定したタッチ面積をメモリ１０２に記録する。次に、Ｓ６０４では、ＣＰＵ１０１は、操作部１０６からのイベントを待ち、インベント発生の通知を受けると（Ｓ６０４でＹｅｓ）、処理をＳ６０５へ進める。
Ｓ６０５では、ＣＰＵ１０１は、再度タッチ面積を特定し、これをメモリ１０２に記録する。なお、メモリ１０２に既に格納されているタッチ面積は削除せず、メモリ１０２の面積記憶配列に、特定した順番にタッチ面積を蓄積していく。次に、Ｓ６０６では、ＣＰＵ１０１は、メモリ１０２に記憶されているタッチ面積を参照し、最新のタッチ面積とその一つ前のタッチ面積の差分を算出する。そして、ＣＰＵ１０１は、差分と差分閾値とを比較する。
【００４５】
ＣＰＵ１０１は、差分が差分閾値未満である場合には（Ｓ６０６でＹｅｓ）、タッチ面積の値が安定したと判断し、処理をＳ６０７へ進める。ＣＰＵ１０１は、差分が差分閾値以上である場合には（Ｓ６０６でＮｏ）、処理をＳ６１４へ進める。
Ｓ６１４では、ＣＰＵ１０１は、タッチ位置に応じた処理を行う。なお、このとき、ＣＰＵ１０１は、第１の触感生成部１２２に対し、触感生成の指示を行わない。次に、Ｓ６１５では、ＣＰＵ１０１は、タッチオフの有無を確認する。ＣＰＵ１０１は、タッチオフを検出した場合には（Ｓ６１５でＹｅｓ）、処理をＳ６１６へ進める。ＣＰＵ１０１は、タッチオフを検出しなかった場合には（Ｓ６１５でＮｏ）、処理をＳ６０５へ進め、再度タッチ面積を特定し、特定したタッチ面積をメモリ１０２に記録する。
以上の処理により、タッチ面積の差分が差分閾値未満になるまで、Ｓ６０４において、繰り返しタッチ面積が特定され、Ｓ６０６において、特定されたタッチ面積を対象として、差分と差分閾値との比較処理が繰り返される。なお、Ｓ６０３及びＳ６０５の処理は、タッチ入力中の異なるタイミングにおいて、タッチ面積を特定する面積特定処理の一例である。
【００４６】
Ｓ６０７では、ＣＰＵ１０１は、Ｓ６０２においてタイマーをスタートしてから、Ｓ６０６において、差分が差分閾値未満となるまでに要した経過時間を特定する。ここで、差分が差分閾値未満となる状態は、タッチ入力中の第１の時間内に特定されたタッチ面積のばらつきが基準範囲内の値となる状態の一例である。また、Ｓ６０７の処理は、時間特定処理の一例である。そして、ＣＰＵ１０１は、経過時間と、時間閾値とを比較する。なお、時間閾値は、例えば不揮発性メモリ１０３等に予め格納されているものとする。本実施形態においては、時間閾値は、０．１ｓｅｃとする。
ＣＰＵ１０１は、経過時間が時間閾値以上である場合には（Ｓ６０７でＹｅｓ）、処理をＳ６０８へ進める。ＣＰＵ１０１は、経過時間が時間閾値未満である場合には（Ｓ６０７でＮｏ）、処理をＳ６１２へ進める。
【００４７】
Ｓ６０８では、ＣＰＵ１０１は、操作子の種類は、指であると推定し、第１の触感生成部１２２による触感生成を行うと判断する。そして、ＣＰＵ１０１は、第１の触感生成部１２２に対し、触感生成を指示する。次に、Ｓ６０９では、ＣＰＵ１０１は、タッチ位置に応じた処理を行う。次に、Ｓ６１０では、ＣＰＵ１０１は、タッチオフの有無を確認する。ＣＰＵ１０１は、タッチオフを検出した場合には（Ｓ６１０でＹｅｓ）、処理をＳ６１１へ進める。ＣＰＵ１０１は、タッチオフを検出しなかった場合には（Ｓ６１０でＮｏ）、処理をＳ６０８へ進める。
Ｓ６１１では、ＣＰＵ１０１は、第１の触感生成部１２２に対し、触感生成の停止を指示する。これに対応し、第１の触感生成部１２２は、触感生成を停止する。次に、Ｓ６１６において、ＣＰＵ１０１は、タイマーカウントをリセットする。以上で、触感制御処理は、終了する。
【００４８】
一方、Ｓ６１２では、ＣＰＵ１０１は、操作子の種類は、スタイラスペンであると推定し、第１の触感生成部１２２による触感生成を行わないと判断する。そして、ＣＰＵ１０１は、タッチ位置に応じた処理を行う。次に、Ｓ６１３では、ＣＰＵ１０１は、タッチオフの有無を確認する。ＣＰＵ１０１は、タッチオフを検出した場合には（Ｓ６１３でＹｅｓ）、処理をＳ６１６へ進める。ＣＰＵ１０１は、タッチオフを検出しなかった場合には（Ｓ６１３でＮｏ）、処理をＳ６１２へ進める。
【００４９】
以上のように、第３の実施形態にかかる電子機器１００は、タッチ面積の差分が差分閾値未満になるまでの経過時間に基づいて、操作子が指なのかスタイラスペンなのかを推定する。そして、電子機器１００は、操作子が指であると推定された場合にのみ、第１の触感生成部１２２による触感生成を行う。すなわち、本実施形態にかかる電子機器１００は、操作子が指かスタイラスペンかを精度よく推定することができ、したがって、触感生成処理を行うか否かを適切に判断することができる。これにより、電子機器１００は、不要な触感生成処理を低減し、消費電力を抑えることができる。
【００５０】
なお、第３の実施形態の電子機器１００の第１の変更例としては、操作子の種類を推定するための処理は、実施形態に限定されるものではない。他の例としては、ユーザが、ＢｌｕｅＴｏｏｔｈ（登録商標）により、電子機器１００と通信可能なスタイラスペンを用いる場合がある。この場合には、電子機器１００は、ＢｌｕｅＴｏｏｔｈ通信を介して、スタイラスペンから情報を受信した場合には（受信処理）、ユーザはスタイラスペンを用いて操作を行う、すなわち操作子はスタイラスペンであると推定してもよい。
【００５１】
また、第２の変更例としては、電子機器１００は、視線やモーション検知により、ディスプレイ１０５上の位置の指定を受け付け可能な装置であってもよい。この場合、電子機器１００は、視線等による指示に対しては、第１の触感生成部１２２による触感フィードバックを行わないこととしてもよい。
【００５２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５３】
以上、上述した各実施形態によれば、不要な触感生成処理を低減しつつ、ユーザに操作子による操作に対するフィードバックを適切にユーザに認識させることができる。
【００５４】
本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
【００５５】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００５６】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【符号の説明】
【００５７】
１００  電子機器、１０１  ＣＰＵ、１０２  メモリ、１０３  不揮発性メモリ、１０５  ディスプレイ、１２０  タッチパネル、１２１  荷重検出部、１２２  第１の触感生成部、１２３  第２の触感生成部
【図１】
2015176371.tif 000003
【図２】
2015176371.tif 000004
【図３】
2015176371.tif 000005
【図４】
2015176371.tif 000006
【図５】
2015176371.tif 000007
【図６】
2015176371.tif 000008