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