JP2016009315A - 触感制御装置、触感制御方法及びプログラム - Google Patents
触感制御装置、触感制御方法及びプログラム Download PDFInfo
- Publication number
- JP2016009315A JP2016009315A JP2014129205A JP2014129205A JP2016009315A JP 2016009315 A JP2016009315 A JP 2016009315A JP 2014129205 A JP2014129205 A JP 2014129205A JP 2014129205 A JP2014129205 A JP 2014129205A JP 2016009315 A JP2016009315 A JP 2016009315A
- Authority
- JP
- Japan
- Prior art keywords
- tactile sensation
- cpu
- touch
- touch operation
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【課題】ユーザによる入力操作を装置が受け付けた否かをユーザが直感的に認識できる仕組みを提供することを目的とする。【解決手段】 表示手段に対応して設けられた入力面への操作子によるタッチ操作の開始及び終了を検知する検知手段と、前記タッチ操作の開始が検知された場合に、前記操作子に与える触感を生成する第1の触感生成手段を制御して第1の触感を生成した後、前記タッチ操作の終了が検知された場合に、筐体を振動させることによりユーザに与える触感を生成する第2の触感生成手段を制御して第2の触感を生成する触感制御手段とを有することを特徴とする。【選択図】図1
Description
本発明は、触感制御装置、触感制御方法及びプログラムに関する。
近年、ユーザに振動を与えてイベントを通知する触覚フィードバック(以下、触感FB)を提供する装置が考えられている。また、ユーザの直感的操作でカメラを操作するジェスチャ機能としては、タップ操作や振る操作があり、タッチパネル上でのタッチ操作としては、プレス操作、ドラック操作、フリック操作がある。特許文献1には、フリックされたオブジェクトの終端に達すると振動する方法やフリックされたオブジェクトが静止するにつれて急速に減少していく振幅で振動する方法が開示されている。
しかしながら、従来技術においては、ユーザがフリック操作を行った際に、装置がフリック操作を受け付けたか否かを、ユーザが確認し難い。また、フリック操作後は、操作子がタッチパネル上にない。このため、タッチパネルを振動させることにより、操作子に触感を与えることができない。
本発明はこのような問題点に鑑みなされたもので、ユーザによる入力操作を装置が受け付けた否かをユーザが直感的に認識できる仕組みを提供することを目的とする。
そこで、本発明は、触感制御装置であって、表示手段に対応して設けられた入力面への操作子によるタッチ操作の開始及び終了を検知する検知手段と、前記タッチ操作の開始が検知された場合に、前記操作子に与える触感を生成する第1の触感生成手段を制御して第1の触感を生成した後、前記タッチ操作の終了が検知された場合に、筐体を振動させることによりユーザに与える触感を生成する第2の触感生成手段を制御して第2の触感を生成する触感制御手段とを有することを特徴とする。
本発明によれば、ユーザによる入力操作を装置が受け付けた否かをユーザが直感的に認識できる仕組みを提供することができる。
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1は、触感制御装置としての電子機器100を示す図である。電子機器100は、携帯電話等により構成することができる。図1に示すように、内部バス150に対して、CPU101、メモリ102、不揮発性メモリ103、画像処理部104、ディスプレイ105、操作部106、記録媒体I/F107、外部I/F109及び通信I/F110が接続されている。また、内部バス150に対して、撮像部112、荷重検出部121、触感生成部122及び触感生成部123が接続されている。内部バス150に接続される各部は、内部バス150を介して互いにデータのやりとりを行うことができる。
メモリ102は、例えばRAM(半導体素子を利用した揮発性のメモリ等)を有している。CPU101は、例えば不揮発性メモリ103に格納されるプログラムに従い、メモリ102をワークメモリとして用いて、電子機器100の各部を制御する。不揮発性メモリ103には、画像データや音声データ、その他のデータ、CPU101が動作するための各種プログラム等が格納されている。不揮発性メモリ103は、例えばハードディスク(HD)やROM等を有している。
なお、後述する電子機器100の機能や処理は、CPU101が不揮発性メモリ103に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
(第1の実施形態)
図1は、触感制御装置としての電子機器100を示す図である。電子機器100は、携帯電話等により構成することができる。図1に示すように、内部バス150に対して、CPU101、メモリ102、不揮発性メモリ103、画像処理部104、ディスプレイ105、操作部106、記録媒体I/F107、外部I/F109及び通信I/F110が接続されている。また、内部バス150に対して、撮像部112、荷重検出部121、触感生成部122及び触感生成部123が接続されている。内部バス150に接続される各部は、内部バス150を介して互いにデータのやりとりを行うことができる。
メモリ102は、例えばRAM(半導体素子を利用した揮発性のメモリ等)を有している。CPU101は、例えば不揮発性メモリ103に格納されるプログラムに従い、メモリ102をワークメモリとして用いて、電子機器100の各部を制御する。不揮発性メモリ103には、画像データや音声データ、その他のデータ、CPU101が動作するための各種プログラム等が格納されている。不揮発性メモリ103は、例えばハードディスク(HD)やROM等を有している。
なお、後述する電子機器100の機能や処理は、CPU101が不揮発性メモリ103に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
画像処理部104は、CPU101の制御に基づいて、画像データに対して各種画像処理を施す。画像処理が施される画像データとしては、不揮発性メモリ103や記録媒体108に格納された画像データ、外部I/F109を介して取得した映像信号、通信I/F110を介して取得した画像データ、撮像部112で撮像された画像データ等がある。
画像処理部104が行う画像処理には、A/D変換処理、D/A変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理等が含まれる。画像処理部104は、例えば、特定の画像処理を施すための専用の回路ブロックである。また、画像処理の種別によっては、画像処理部104ではなく、CPU101がプログラムに従って画像処理を実行することもできる。
画像処理部104が行う画像処理には、A/D変換処理、D/A変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理等が含まれる。画像処理部104は、例えば、特定の画像処理を施すための専用の回路ブロックである。また、画像処理の種別によっては、画像処理部104ではなく、CPU101がプログラムに従って画像処理を実行することもできる。
ディスプレイ105は、CPU101の制御に基づいて、画像やGUI(Graphical User Interface)を構成するGUI画面等を表示する。CPU101は、プログラムに従い表示制御信号を生成し、ディスプレイ105に表示するための映像信号を生成し、これをディスプレイ105に出力するように、電子機器100の各部を制御する。そして、ディスプレイ105は、映像信号に基づいて映像を表示する。
なお、他の例としては、電子機器100は、ディスプレイ105を有さず、ディスプレイ105に表示させるための映像信号を出力するためのインターフェースを有することとしてもよい。この場合には、電子機器100は、外付けのモニタ(テレビ等)に対し画像等を表示するものとする。
なお、他の例としては、電子機器100は、ディスプレイ105を有さず、ディスプレイ105に表示させるための映像信号を出力するためのインターフェースを有することとしてもよい。この場合には、電子機器100は、外付けのモニタ(テレビ等)に対し画像等を表示するものとする。
操作部106は、キーボード等の文字情報入力デバイスや、マウスやタッチパネル120等ポインティングデバイス、ボタン、ダイヤル、ジョイスティック、タッチセンサ、タッチパッド等、ユーザ操作を受け付けるための入力デバイスである。タッチパネル120は、ディスプレイ105に重ね合わせて平面的に構成され、接触された位置に応じた座標情報を出力する入力デバイスである。なお、タッチパネル120は、入力面の一例である。
記憶媒体I/F107には、メモリーカードやCD、DVD等の記録媒体108が装着可能である。記憶媒体I/F107は、CPU101の制御に基づき、装着された記録媒体108からのデータの読み出しや、装着された記録媒体108へのデータの書き込みを行う。
記憶媒体I/F107には、メモリーカードやCD、DVD等の記録媒体108が装着可能である。記憶媒体I/F107は、CPU101の制御に基づき、装着された記録媒体108からのデータの読み出しや、装着された記録媒体108へのデータの書き込みを行う。
外部I/F109は、外部機器と有線ケーブルや無線によって接続し、映像信号や音声信号の入出力を行うためのインターフェースである。通信I/F110は、外部機器やインターネット111等と通信(電話通信を含む)して、ファイルやコマンド等の各種データの送受信を行うためのインターフェースである。
撮像部112は、CCDセンサやCMOSセンサ等の撮像素子、ズームレンズ、フォーカスレンズ、シャッター、絞り、測距部、A/D変換器等を有するカメラユニットである。撮像部112は、静止画及び動画を撮像することができる。撮像部112により撮像された画像の画像データは、画像処理部104に送信され、画像処理部104において、各種処理を施された後、静止画ファイル又は動画ファイルとして記録媒体108に記録される。
撮像部112は、CCDセンサやCMOSセンサ等の撮像素子、ズームレンズ、フォーカスレンズ、シャッター、絞り、測距部、A/D変換器等を有するカメラユニットである。撮像部112は、静止画及び動画を撮像することができる。撮像部112により撮像された画像の画像データは、画像処理部104に送信され、画像処理部104において、各種処理を施された後、静止画ファイル又は動画ファイルとして記録媒体108に記録される。
CPU101は、タッチパネル120から出力されたタッチ位置の座標情報を、内部バス150を介して受信する。そして、CPU101は、座標情報に基づいて、以下の操作や状態を検出する。
・タッチパネル120を指やペンで触れる操作(以下、タッチダウンと称する)。
・タッチパネル120を指やペンで触れている状態(以下、タッチオンと称する)。
・タッチパネル120を指やペンで触れたまま移動する操作(以下、ムーブと称する)。
・タッチパネル120へ触れていた指やペンを離す操作(以下、タッチアップと称する)。
・タッチパネル120に何も触れていない状態(以下、タッチオフと称する)。
CPU101はまた、シングルタッチのタッチダウン、マルチタッチのタッチダウン等、操作の種類と接点数とを組み合わせを、異なる操作として検出することができる。
CPU101はさらに、ムーブを検出した場合には、タッチ位置の座標変化に基づいて、指やペンの移動方向を判定する。具体的には、CPU101は、タッチパネル120上における移動方向の垂直成分及び水平成分それぞれを判定する。
・タッチパネル120を指やペンで触れる操作(以下、タッチダウンと称する)。
・タッチパネル120を指やペンで触れている状態(以下、タッチオンと称する)。
・タッチパネル120を指やペンで触れたまま移動する操作(以下、ムーブと称する)。
・タッチパネル120へ触れていた指やペンを離す操作(以下、タッチアップと称する)。
・タッチパネル120に何も触れていない状態(以下、タッチオフと称する)。
CPU101はまた、シングルタッチのタッチダウン、マルチタッチのタッチダウン等、操作の種類と接点数とを組み合わせを、異なる操作として検出することができる。
CPU101はさらに、ムーブを検出した場合には、タッチ位置の座標変化に基づいて、指やペンの移動方向を判定する。具体的には、CPU101は、タッチパネル120上における移動方向の垂直成分及び水平成分それぞれを判定する。
CPU101はまた、ストローク、フリック及びドラッグの各操作を検出する。CPU101は、タッチダウンから一定のムーブを経てタッチアップが行われた場合に、ストロークを検出する。CPU101は、所定距離以上且つ所定速度以上のムーブが検出され、続けてタッチアップが検出された場合に、フリックを検出する。CPU101はまた、所定距離以上且つ所定速度未満のムーブが検出された場合に、ドラッグを検出する。
なお、フリックは、タッチパネル120上(入力面上)に指を触れたまま、ある程度の距離だけ素早く動かし、そのまま指をタッチパネル120から離す操作である。すなわち、フリックは、タッチパネル120上を指ではじくように素早くなぞる操作である。
なお、フリックは、タッチパネル120上(入力面上)に指を触れたまま、ある程度の距離だけ素早く動かし、そのまま指をタッチパネル120から離す操作である。すなわち、フリックは、タッチパネル120上を指ではじくように素早くなぞる操作である。
タッチパネル120は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
荷重検出部121は、接着等によりタッチパネル120と一体に設けられている。荷重検出部121は、歪みゲージセンサであり、タッチ操作の押圧力に応じてタッチパネル120が微少量撓む(歪む)ことを利用して、タッチパネル120に加わる荷重(押圧力)を検出する。他の例としては、荷重検出部121は、ディスプレイ105と一体に設けられてもよい。この場合、荷重検出部121は、ディスプレイ105を介して、タッチパネル120に加わる荷重を検出する。
荷重検出部121は、接着等によりタッチパネル120と一体に設けられている。荷重検出部121は、歪みゲージセンサであり、タッチ操作の押圧力に応じてタッチパネル120が微少量撓む(歪む)ことを利用して、タッチパネル120に加わる荷重(押圧力)を検出する。他の例としては、荷重検出部121は、ディスプレイ105と一体に設けられてもよい。この場合、荷重検出部121は、ディスプレイ105を介して、タッチパネル120に加わる荷重を検出する。
触感生成部122は、タッチパネル120を操作する指やペン等の操作子に与える触感を生成する。すなわち、触感生成部122は、タッチしている部位を通じて、タッチを行っているユーザが感知可能な刺激を発生させる。触感生成部122は、接着等によりタッチパネル120と一体に設けられている。触感生成部122は、圧電(ピエゾ)素子、より具体的には圧電振動子であり、CPU101の制御の下、任意の振幅及び周波数で振動する。これにより、タッチパネル120が湾曲振動し、タッチパネル120の振動が操作子に触感として伝わる。すなわち、触感生成部122は、自身が振動することにより、操作子に触感を与えるものである。
他の例としては、触感生成部122は、ディスプレイ105と一体に設けられていてもよい。この場合、触感生成部122は、ディスプレイ105を介して、タッチパネル120を湾曲振動させる。
他の例としては、触感生成部122は、ディスプレイ105と一体に設けられていてもよい。この場合、触感生成部122は、ディスプレイ105を介して、タッチパネル120を湾曲振動させる。
なお、CPU101は、触感生成部122の振幅及び周波数を変更し、様々なパターンで触感生成部122を振動させることにより、様々なパターンの触感を生成させることができる。
また、CPU101は、タッチパネル120おいて検出されたタッチ位置と、荷重検出部121により検出された押圧力に基づいて、触感を制御することができる。例えば、操作子のタッチ操作に対応し、CPU101が、ディスプレイ105に表示されたボタンアイコンに対応するタッチ位置を検出し、荷重検出部121が、所定値以上の押圧力を検出したとする。この場合、CPU101は、1周期前後の振動を生成する。これにより、ユーザは、あたかも機械的なボタンを押しこんだ際のクリック感のような触感を知覚することができる。
さらにCPU101は、ボタンアイコンの位置へのタッチを検出している状態で所定値以上の押圧力を検出した場合にのみ、ボタンアイコンの機能を実行するものとする。すなわち、CPU101は、単にボタンアイコンに触れた場合のように弱い押圧力を検知した場合には、ボタンアイコンの機能を実行しない。これにより、ユーザは、機械的なボタンを押しこんだ際と同じような感覚で操作を行うことができる。
なお、荷重検出部121は、歪みゲージセンサに限定されるものではない。他の例としては、荷重検出部121は、圧電素子を有してもよい。この場合、荷重検出部121は、押圧力に応じて圧電素子から出力される電圧に基づいて、荷重を検出する。さらに、この場合の荷重検出部121としての圧力素子は、触感生成部122としての圧力素子と共通であってもよい。
さらにCPU101は、ボタンアイコンの位置へのタッチを検出している状態で所定値以上の押圧力を検出した場合にのみ、ボタンアイコンの機能を実行するものとする。すなわち、CPU101は、単にボタンアイコンに触れた場合のように弱い押圧力を検知した場合には、ボタンアイコンの機能を実行しない。これにより、ユーザは、機械的なボタンを押しこんだ際と同じような感覚で操作を行うことができる。
なお、荷重検出部121は、歪みゲージセンサに限定されるものではない。他の例としては、荷重検出部121は、圧電素子を有してもよい。この場合、荷重検出部121は、押圧力に応じて圧電素子から出力される電圧に基づいて、荷重を検出する。さらに、この場合の荷重検出部121としての圧力素子は、触感生成部122としての圧力素子と共通であってもよい。
また、触感生成部122は、圧力素子による振動を生成するものに限定されるものではない。他の例としては、触感生成部122は、電気的な触感を生成するものであってもよい。例えば、触感生成部122は、導電層パネルと絶縁体パネルを有する。ここで、導電層パネルと絶縁体パネルは、タッチパネル120と同様に、ディスプレイ105に重ね合わされ、平面的に設けられている。そして、ユーザが絶縁体パネルに触れると、導電層パネルに正電荷がチャージされる。すなわち、触感生成部122は、導電層パネルに正電荷をチャージすることにより、電気刺激としての触感を生成することができる。また、触感生成部122は、ユーザに、クーロン力により皮膚が引っ張られるような感覚(触感)を与えるものであってもよい。
また他の例としては、触感生成部122は、正電荷をチャージするか否かを、パネル上の位置毎に選択可能な導電層パネルを有してもよい。そして、CPU101は、正電荷のチャージ位置を制御する。これにより、触感生成部122は、ユーザに「ゴツゴツ感」、「ザラザラ感」、「さらさら感」等、様々な触感を与えることができる。
また、他の例としては、触感生成部122は、タッチパネル120の表面を超音波振動させることにより触感を生成してもよい。超音波振動により、タッチパネル120と指との間に高圧の空気膜が形成される。そこで、触感生成部122は、この空気膜の浮揚作用により「ツルツル感」を与え、浮揚作用の大きさを瞬時に切り替えることにより「ザラザラ感」を与えてもよい。
また他の例としては、触感生成部122は、正電荷をチャージするか否かを、パネル上の位置毎に選択可能な導電層パネルを有してもよい。そして、CPU101は、正電荷のチャージ位置を制御する。これにより、触感生成部122は、ユーザに「ゴツゴツ感」、「ザラザラ感」、「さらさら感」等、様々な触感を与えることができる。
また、他の例としては、触感生成部122は、タッチパネル120の表面を超音波振動させることにより触感を生成してもよい。超音波振動により、タッチパネル120と指との間に高圧の空気膜が形成される。そこで、触感生成部122は、この空気膜の浮揚作用により「ツルツル感」を与え、浮揚作用の大きさを瞬時に切り替えることにより「ザラザラ感」を与えてもよい。
触感生成部123は、電子機器100の筐体(全体)を振動させることにより、触感を生成する。触感生成部123は、例えば偏心モーター等を有し、公知のバイブレーション機能等を実現する。これにより、電子機器100は、触感生成部123が生成する振動により、電子機器100を持つユーザの手等に触感を与えることができる。
図2は、電子機器100による、全体処理を示すフローチャートである。不図示の電源スイッチが操作され電源がオンに切り替わると、S200において、CPU101は、フラグや制御変数等を初期化する。次に、S201において、CPU101は、図3に例示した表示画面300をディスプレイ105上に表示出力する。図3に示す表示画面300は、拡大表示中のGUI画面である。表示画面300上には、拡大表示中の拡大画像301、タッチ操作可能なGUIボタン302及び全体表示中の全体画像303等が表示されている。
次に、S202において、CPU101は、タッチパネル120へのユーザによる操作子を用いたタッチ操作を検知したか否かを確認する(検知処理)。CPU101は、タッチ操作を検知した場合には(S202でYes)、処理をS203へ進める。CPU101は、タッチ操作を検知しなかった場合には(S202でNo)、処理をS202へ進め、タッチ操作の入力待ちの状態となる。
次に、S202において、CPU101は、タッチパネル120へのユーザによる操作子を用いたタッチ操作を検知したか否かを確認する(検知処理)。CPU101は、タッチ操作を検知した場合には(S202でYes)、処理をS203へ進める。CPU101は、タッチ操作を検知しなかった場合には(S202でNo)、処理をS202へ進め、タッチ操作の入力待ちの状態となる。
S203において、CPU101は、S202において受け付けた操作がタッチダウンか否かを確認する。CPU101は、タッチダウンである場合には(S203でYes)、処理をS204へ進める。CPU101は、タッチダウンでない場合には(S203でNo)、処理をS210へ進める。S204において、CPU101は、S202において受け付けた操作がシングルタッチか否かを確認する。CPU101は、シングルタッチの場合には(S204でYes)、処理をS205へ進める。CPU101は、シングルタッチでない場合、すなわちマルチタッチの場合には(S204でNo)、処理をS208へ進める。
S205において、CPU101は、シングルタッチ処理を行う。シングルタッチ処理については、図4を参照しつつ、後に詳述する。次に、S206において、CPU101は、タッチアップ操作の有無を確認する。CPU101は、タッチアップを検知した場合、すなわちタッチ操作の終了を検知した場合には(S206でYes)、処理をS207へ進める。CPU101は、タッチアップを検知しなかった場合には(S206でNo)、処理をS204へ進める。S207において、CPU101は、タッチアップ後処理を行う。タッチアップ後処理については、図6を参照しつつ、後に詳述する。その後、CPU101は、処理をS202へ進める。
一方、S208において、CPU101は、マルチタッチ処理を行う。マルチタッチ処理については、図5を参照しつつ、後に詳述する。次に、S209において、CPU101は、S202において受け付けたマルチタッチのうち先のタッチダウン操作のタッチに対するタッチアップ操作の有無を確認する。CPU101は、タッチアップ操作を検知した場合には(S209でYes)、処理をS207へ進める。CPU101は、タッチアップ操作を検知しなかった場合には(209でNo)、処理をS204へ進める。また、S210において、CPU101は、S202において入力されたタッチイベントに応じた、その他の処理を行う。その後、CPU101は、処理をS202へ進める。
一方、S208において、CPU101は、マルチタッチ処理を行う。マルチタッチ処理については、図5を参照しつつ、後に詳述する。次に、S209において、CPU101は、S202において受け付けたマルチタッチのうち先のタッチダウン操作のタッチに対するタッチアップ操作の有無を確認する。CPU101は、タッチアップ操作を検知した場合には(S209でYes)、処理をS207へ進める。CPU101は、タッチアップ操作を検知しなかった場合には(209でNo)、処理をS204へ進める。また、S210において、CPU101は、S202において入力されたタッチイベントに応じた、その他の処理を行う。その後、CPU101は、処理をS202へ進める。
図4は、図2を参照しつつ説明した、シングルタッチ処理(S205)における詳細な処理を示すフローチャートである。S400において、CPU101は、シングルタッチのタッチ位置が図3の拡大画像301上か否かを判断する。CPU101は、ユーザが拡大画像301上でシングルタッチしている場合(S400でYes)、S401において、ユーザ操作が拡大画像301のムーブであるか否かを判断する。
CPU101は、ユーザ操作が拡大画像301のムーブである場合(S401でYes)、S402において、CPU101は、ムーブ操作の実行中であることを示すムーブフラグにオンを設定する。なお、ムーブフラグは、メモリ102に記憶されているものとする。次に、S403において、CPU101は、触感生成部122を制御し、操作子に与える第1の触感を生成する(触感制御処理)。
CPU101は、ユーザ操作が拡大画像301のムーブである場合(S401でYes)、S402において、CPU101は、ムーブ操作の実行中であることを示すムーブフラグにオンを設定する。なお、ムーブフラグは、メモリ102に記憶されているものとする。次に、S403において、CPU101は、触感生成部122を制御し、操作子に与える第1の触感を生成する(触感制御処理)。
このように、ムーブ操作に基づいてユーザに対し触感が与えられるので、ユーザは、電子機器100がムーブ操作を受け付けたことを触感により認識することができる。
なお、S403において、CPU101は、触感生成部122を制御しムーブ操作中のタッチ位置のみ振動させても良いし、ムーブ操作中のタッチ位置を含むタッチパネル120全体を振動させても良い。
なお、S403において、CPU101は、触感生成部122を制御しムーブ操作中のタッチ位置のみ振動させても良いし、ムーブ操作中のタッチ位置を含むタッチパネル120全体を振動させても良い。
次に、S404において、CPU101は、ムーブ操作に基づいて拡大画像301の位置情報を更新する。ここで、位置情報は、拡大画像301のサイズ、表示位置を示す情報である。次に、S405において、CPU101は、ユーザ操作に応じた画面をディスプレイ105に表示する。ムーブ操作中の場合には、拡大表示中のGUI画面が表示される。
S401において、CPU101は、ユーザ操作が拡大画像301のムーブでない場合には(S401でNo)、処理をS406へ進める。S406において、CPU101は、ムーブフラグにオフを設定する。次に、S407において、CPU101は、ムーブしていない場合の処理、すなわちその他の処理を実行する。S407において、CPU101は、例えば、図3に示す表示画面300の端を四隅がタッチされた場合に、タッチ方向に拡大画像301の位置情報を更新する。そして、CPU101は、処理をS405へ進める。このように位置情報が更新された場合には、S405において、CPU101は、更新後の表示画面300をディスプレイ105に表示する。
S401において、CPU101は、ユーザ操作が拡大画像301のムーブでない場合には(S401でNo)、処理をS406へ進める。S406において、CPU101は、ムーブフラグにオフを設定する。次に、S407において、CPU101は、ムーブしていない場合の処理、すなわちその他の処理を実行する。S407において、CPU101は、例えば、図3に示す表示画面300の端を四隅がタッチされた場合に、タッチ方向に拡大画像301の位置情報を更新する。そして、CPU101は、処理をS405へ進める。このように位置情報が更新された場合には、S405において、CPU101は、更新後の表示画面300をディスプレイ105に表示する。
また、S400において、CPU101は、シングルタッチのタッチ位置が拡大画像301上でない場合(S400でNo)、処理をS408へ進める。S408において、CPU101は、シングルタッチのタッチ位置がGUIボタン302上か否かを確認する。CPU101は、タッチ位置がGUIボタン302上の場合(S408でYes)、処理をS409へ進める。S409において、CPU101は、ユーザがGUIボタン302の選択中であることを示す選択フラグにオンを設定する。選択フラグは、メモリ102に記憶されているものとする。
次に、S410において、CPU101は、GUIボタン302が選択されたことを示すためにGUIボタン302の色を選択色に変更し、処理をS405へ進める。この場合、S405において、CPU101は、変更結果をディスプレイ105上に表示出力する。
S408において、CPU101は、シングルタッチのタッチ位置がGUIボタン302上でない場合(S408でNo)、処理をS411へ進める。S411において、CPU101は、その他の機能を実施する。例えば、図3の表示画面300における全体画像303がシングルタッチされた場合には、S411において、CPU101は、画面表示を拡大画面(表示画面300)から全体表示に変更する。
次に、S410において、CPU101は、GUIボタン302が選択されたことを示すためにGUIボタン302の色を選択色に変更し、処理をS405へ進める。この場合、S405において、CPU101は、変更結果をディスプレイ105上に表示出力する。
S408において、CPU101は、シングルタッチのタッチ位置がGUIボタン302上でない場合(S408でNo)、処理をS411へ進める。S411において、CPU101は、その他の機能を実施する。例えば、図3の表示画面300における全体画像303がシングルタッチされた場合には、S411において、CPU101は、画面表示を拡大画面(表示画面300)から全体表示に変更する。
図5は、図2を参照しつつ説明した、マルチタッチ処理(S208)における詳細な処理を示すフローチャートである。S500において、CPU101は、マルチタッチの先にタッチしたタッチ位置が拡大画像301上か否かを判断する。CPU101は、タッチ位置が拡大画像301上である場合(S500でYes)、S501において、ユーザ操作が拡大画像301のムーブであるか否かを判断する。
CPU101は、ユーザ操作が拡大画像301のムーブである場合(S501でYes)、S502において、ムーブフラグにオンを設定する。CPU101は、ユーザ操作が拡大画像301のムーブでない場合(S501でNo)、処理をS506へ進める。S503において、CPU101は、触感生成部122を制御し、操作子に与える第1の触感を生成する(触感制御処理)。次に、S504において、CPU101は、ムーブ操作に基づいて拡大画像301の拡大縮小サイズを更新する。
CPU101は、ユーザ操作が拡大画像301のムーブである場合(S501でYes)、S502において、ムーブフラグにオンを設定する。CPU101は、ユーザ操作が拡大画像301のムーブでない場合(S501でNo)、処理をS506へ進める。S503において、CPU101は、触感生成部122を制御し、操作子に与える第1の触感を生成する(触感制御処理)。次に、S504において、CPU101は、ムーブ操作に基づいて拡大画像301の拡大縮小サイズを更新する。
この時、CPU101は、先にタッチダウンしたタッチ位置から他方のタッチダウンしたタッチ位置が近くなる方向にムーブした場合は表示中の拡大画像301を縮小するように位置情報を変更する。また、CPU101は、先にタッチダウンしたタッチ位置から他方のタッチダウンしたタッチ位置が遠くなる方向にムーブした場合は表示中の拡大画像301を拡大するように位置情報を更新する。
なお、S505,S506,S507の処理は、それぞれ図4を参照しつつ説明したS405,S406,S407の処理と同様である。
なお、S505,S506,S507の処理は、それぞれ図4を参照しつつ説明したS405,S406,S407の処理と同様である。
CPU101は、マルチタッチの先にタッチしたタッチ位置が拡大画像301上でない場合(S500でNo)、処理をS508へ進める。S508において、CPU101は、マルチタッチの先にタッチした位置がGUIボタン302上か否かを判断する。CPU101は、先にタッチした位置がGUIボタン302上である場合(S508でYes)、CPU101は、S509,S510及びS505を実行する。
また、S508において、CPU101は、マルチタッチの先にタッチしたタッチ位置がGUIボタン302上でない場合(S508でNo)、S511及びS505の処理を実行する。なお、S509,S510,S511の処理は、図4を参照しつつ説明したS409,S410,S411の処理と同様である。
また、S508において、CPU101は、マルチタッチの先にタッチしたタッチ位置がGUIボタン302上でない場合(S508でNo)、S511及びS505の処理を実行する。なお、S509,S510,S511の処理は、図4を参照しつつ説明したS409,S410,S411の処理と同様である。
図6は、図2を参照しつつ説明した、タッチアップ後処理(S207)における詳細な処理を示すフローチャートである。S600において、CPU101は、処理時点において第1の触感を生成中か否かを確認する。CPU101は、第1の触感生成中である場合には(S600でYes)、処理をS601へ進める。CPU101は、第1の触感を生成中でない場合には(S600でNo)、処理をS602へ進める。S601において、CPU101は、触感生成部122を制御し、第1の触感の生成を停止する。
次に、S602において、CPU101は、ユーザによるムーブ操作が実行中か否かを確認すべく、メモリ102に記憶されているムーブフラグを確認する。CPU101は、ムーブフラグにオンが設定されている場合には(S602でYes)、処理をS603へ進める。CPU101は、ムーブフラグにオフが設定されている場合には(S602でNo)、処理をS614へ進める。そして、S614において、CPU101は、必要に応じて表示画面の更新を行う。
S603において、CPU101は、フリック操作の有無を確認する。ここで、フリック操作は、所定速度以上でムーブ操作を行った後にタッチアップを行う操作である。CPU101は、フリック操作を検知した場合には(S603でYes)、処理をS604へ進める。CPU101は、フリック操作を検知しなかった場合には(S603でNo)、処理をS609へ進める。
次に、S602において、CPU101は、ユーザによるムーブ操作が実行中か否かを確認すべく、メモリ102に記憶されているムーブフラグを確認する。CPU101は、ムーブフラグにオンが設定されている場合には(S602でYes)、処理をS603へ進める。CPU101は、ムーブフラグにオフが設定されている場合には(S602でNo)、処理をS614へ進める。そして、S614において、CPU101は、必要に応じて表示画面の更新を行う。
S603において、CPU101は、フリック操作の有無を確認する。ここで、フリック操作は、所定速度以上でムーブ操作を行った後にタッチアップを行う操作である。CPU101は、フリック操作を検知した場合には(S603でYes)、処理をS604へ進める。CPU101は、フリック操作を検知しなかった場合には(S603でNo)、処理をS609へ進める。
S604において、CPU101は、触感生成部123を制御し、電子機器100の全体を振動させる第2の触感を生成する(触感制御処理)。次に、S605において、CPU101は、第2の触感の生成開始タイミングから所定時間が経過したか否かを確認する。なお、S605において参照される所定時間は、固定値であってもよく、フリック速度に応じて定まる値であってもよい。
CPU101は、所定時間が経過していない場合には(S605でNo)、処理をS606へ進める。S606において、CPU101は、第2の触感の強度を一定量だけ弱くする。すなわち、CPU101は、触感生成部123に対し、振動量を一定量だけ減少させる。その後、CPU101は、処理をS605へ進める。このように、フリック操作後にS605及びS606の処理を繰り返すことにより、CPU101は、第2の触感の強度を徐々に減少させることができる。なお、S606において弱める割合は、常に固定値であってもよく、また他の例としては、減少割合を繰り返し回数に応じて変化させてもよい。
CPU101は、所定時間が経過していない場合には(S605でNo)、処理をS606へ進める。S606において、CPU101は、第2の触感の強度を一定量だけ弱くする。すなわち、CPU101は、触感生成部123に対し、振動量を一定量だけ減少させる。その後、CPU101は、処理をS605へ進める。このように、フリック操作後にS605及びS606の処理を繰り返すことにより、CPU101は、第2の触感の強度を徐々に減少させることができる。なお、S606において弱める割合は、常に固定値であってもよく、また他の例としては、減少割合を繰り返し回数に応じて変化させてもよい。
S605において、所定時間が経過すると(S605でYes)、CPU101は、処理をS607へ進める。S607において、CPU101は、触感生成部123を制御し、第2の触感を停止する。次に、S608において、CPU101はフリック操作によって移動する位置に情報を更新する。次に、S614において、CPU101は、更新後の位置情報に基づいて表示画面の更新を行う。
また、S609において、CPU101は、タッチアップ操作が行われた位置がGUIボタン302上か否かを確認する。CPU101は、タッチアップ操作の位置がGUIボタン302上の場合には(S609でYes)、処理をS610へ進める。CPU101は、タッチアップ操作の位置がGUIボタン302上でない場合には(S609でNo)、処理をS613へ進める。
S610において、CPU101は、メモリ102に記憶されている選択フラグを確認する。CPU101は、選択フラグにオンが設定されている場合には(S610でYes)、処理をS611へ進める。CPU101は、選択フラグにオフが設定されている場合には(S610でNo)、処理をS614へ進める。この場合、CPU101は、S614において、必要に応じて画面表示の更新を行う。なお、本実施形態においては、ユーザがGUIボタン302上でタッチダウンしてムーブした場合において、GUIボタン302でタッチアップした場合には、電子機器100は、このGUIボタン302の機能を実行する。但し、ユーザがムーブして、タッチアップ位置がGUIボタン302から外れた場合には、電子機器100は、このGUIボタン302の機能を実行しないこととする。
S610において、CPU101は、メモリ102に記憶されている選択フラグを確認する。CPU101は、選択フラグにオンが設定されている場合には(S610でYes)、処理をS611へ進める。CPU101は、選択フラグにオフが設定されている場合には(S610でNo)、処理をS614へ進める。この場合、CPU101は、S614において、必要に応じて画面表示の更新を行う。なお、本実施形態においては、ユーザがGUIボタン302上でタッチダウンしてムーブした場合において、GUIボタン302でタッチアップした場合には、電子機器100は、このGUIボタン302の機能を実行する。但し、ユーザがムーブして、タッチアップ位置がGUIボタン302から外れた場合には、電子機器100は、このGUIボタン302の機能を実行しないこととする。
S611において、CPU101は、触感生成部123を制御し、電子機器100の全体を振動させる第2の触感を生成する(触感制御処理)。このように、電子機器100は、タッチアップ時に、電子機器100の全体を振動させることにより、タッチしていたGUIボタン302の機能を受け付けたことをユーザに通知することができる。
次に、S612において、CPU101は、直前にタッチされていたGUIボタン302に対応する機能を実行する。CPU101は、例えば、拡大表示画面から別ウィンドウに遷移する機能や拡大表示中の画像の拡縮を行う。次に、S614において、CPU101は、前述のように必要に応じて表示画面の更新を行う。CPU101は、例えば、タッチダウン時にGUIボタン302の色を変更した場合には、S614において、すなわちタッチアップ時に、元の色に戻した画面を表示する。
また、S613においては、CPU101は、必要に応じてその他の処理を行う。例えば、GUIボタン302でタッチダウンしたが有効範囲外の位置でタッチアップした場合は、CPU101は、選択したGUIボタン302の機能は実行しない。すなわち、その他の処理は行わない。その後、S614において、CPU101は、前述のように必要に応じて表示画面の更新を行う。
次に、S612において、CPU101は、直前にタッチされていたGUIボタン302に対応する機能を実行する。CPU101は、例えば、拡大表示画面から別ウィンドウに遷移する機能や拡大表示中の画像の拡縮を行う。次に、S614において、CPU101は、前述のように必要に応じて表示画面の更新を行う。CPU101は、例えば、タッチダウン時にGUIボタン302の色を変更した場合には、S614において、すなわちタッチアップ時に、元の色に戻した画面を表示する。
また、S613においては、CPU101は、必要に応じてその他の処理を行う。例えば、GUIボタン302でタッチダウンしたが有効範囲外の位置でタッチアップした場合は、CPU101は、選択したGUIボタン302の機能は実行しない。すなわち、その他の処理は行わない。その後、S614において、CPU101は、前述のように必要に応じて表示画面の更新を行う。
図7を参照しつつ、図4及び図6を参照しつつ説明した電子機器100の動作について説明する。図7には、図3に示す表示画面300が示されている。図7(a)に示すように、ユーザが拡大表示中の画像、すなわち拡大画像301を指710でタッチダウンし、表示画面300の右方向(矢印Aの方向)にムーブ操作を行ったとする。この場合、図7(b)に示すように、ムーブ操作に応じて拡大画像301の表示位置が表示画面300の右側に移動する。電子機器100は、ムーブ操作を検知後第1の触感を生成しており、指710には、第1の触感720が伝わっている。
そして、図7(c)に示すように、ユーザがムーブ操作を継続した後、タッチアップを行うと、電子機器100は、第1の触感の生成を停止し、第2の触感730を生成する。これにより、電子機器100の全体が振動する。このため、ユーザが指710を離した後においても、ユーザは、電子機器100が受け付けた入力操作を認識することができる。
そして、図7(c)に示すように、ユーザがムーブ操作を継続した後、タッチアップを行うと、電子機器100は、第1の触感の生成を停止し、第2の触感730を生成する。これにより、電子機器100の全体が振動する。このため、ユーザが指710を離した後においても、ユーザは、電子機器100が受け付けた入力操作を認識することができる。
以上のように、本実施形態に係る電子機器100は、ユーザがムーブ操作を行った際に、タッチ位置での触感を通じて、操作が受け付けられていることをユーザに通知することができる。また、電子機器100は、ムーブ後にタッチアップ(フリック操作)した後においては、電子機器100の全体を振動させることで、タッチアップ後に継続する処理をユーザに通知することができる。
また、本実施形態の変更例としては、図4に示すシングルタッチ処理におけるS403において第1の触感を生成させた状態で、CPU101は、S403の処理後さらに、電子機器100の全体を振動させる第2の触感を生成してもよい。電子機器100は同様に、図5に示すマルチタッチ処理におけるS503において第1の触感を生成させた状態において、CPU101は、S503の処理後さらに、第2の触感を生成してもよい。これにより、ユーザは、ムーブ操作中からムーブ操作後まで継続して、第2の触感を認識することができる。
このように、本例においては、電子機器100は、ムーブ操作と、ムーブ操作後に得られる第2の触感とに関連性を持たせることができる。これにより、ユーザは、フリック時の第2の触感がいずれの操作に応じて生じたものかを直感的に把握することができる。
このように、本例においては、電子機器100は、ムーブ操作と、ムーブ操作後に得られる第2の触感とに関連性を持たせることができる。これにより、ユーザは、フリック時の第2の触感がいずれの操作に応じて生じたものかを直感的に把握することができる。
さらに、本変更例において、電子機器100は、ムーブ時の位置変化に基づいて、第2の触感の強度、すなわち振動の大きさを変更してもよい。また、本変更例において、電子機器100は、第1の触感と共に第2の触感を生成し、その後タッチアップが検知された場合に、第2の触感の強度をタッチアップ検知前に比べて大きい値に変更してもよい。これにより、ユーザは、電子機器100がタッチアップを検知したことを把握することができる。また、電子機器100は、第1の触感と共に第2の触感を生成する場合の駆動に係る最大負荷量を減らすことができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、ユーザによる入力操作を装置が受け付けた否かをユーザが直感的に認識できる仕組みを提供することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 電子機器、101 CPU、102 メモリ、120 タッチパネル、122,123 触感生成部
Claims (7)
- 表示手段に対応して設けられた入力面への操作子によるタッチ操作の開始及び終了を検知する検知手段と、
前記タッチ操作の開始が検知された場合に、前記操作子に与える触感を生成する第1の触感生成手段を制御して第1の触感を生成した後、前記タッチ操作の終了が検知された場合に、筐体を振動させることによりユーザに与える触感を生成する第2の触感生成手段を制御して第2の触感を生成する触感制御手段と
を有することを特徴とする触感制御装置。 - 前記触感制御手段は、前記タッチ操作が、所定速度以上で操作子が入力面上を移動するフリック操作である場合に、前記フリック操作後に、前記第2の触感の強度を徐々に弱めることを特徴とする請求項1に記載の触感制御装置。
- 前記触感制御手段は、前記タッチ操作がフリック操作でない場合は、前記タッチ操作の終了が検知された場合において、前記第2の触感を生成しないことを特徴とする請求項2に記載の触感制御装置。
- 表示手段に対応して設けられた入力面への操作子によるタッチ操作の開始及び終了を検知する検知手段と、
前記タッチ操作の開始が検知された場合に、前記操作子に与える触感を生成する第1の触感生成手段を制御して第1の触感を生成し、さらに、筐体を振動させることによりユーザに与える触感を生成する第2の触感生成手段を制御して第2の触感を生成し、その後、タッチ操作の終了が検知されると、前記第2の触感の強度を前記タッチ操作の終了が検知される前に比べて大きくする触感制御手段と
を有することを特徴とする触感制御装置。 - 前記触感制御手段は、前記タッチ操作の終了が検知されると、前記第1の触感を停止することを特徴とする請求項4に記載の触感制御装置。
- 触感制御装置が実行する触感制御方法であって、
表示手段に対応して設けられた入力面への操作子によるタッチ操作の開始及び終了を検知する検知ステップと、
前記タッチ操作の開始が検知された場合に、前記操作子に与える触感を生成する第1の触感生成手段を制御して第1の触感を生成した後、前記タッチ操作の終了が検知された場合に、筐体を振動させることによりユーザに与える触感を生成する第2の触感生成手段を制御して第2の触感を生成する触感制御ステップと
を含むことを特徴とする触感制御方法。 - コンピュータを、
表示手段に対応して設けられた入力面への操作子によるタッチ操作の開始及び終了を検知する検知手段と、
前記タッチ操作の開始が検知された場合に、前記操作子に与える触感を生成する第1の触感生成手段を制御して第1の触感を生成した後、前記タッチ操作の終了が検知された場合に、筐体を振動させることによりユーザに与える触感を生成する第2の触感生成手段を制御して第2の触感を生成する触感制御手段と
して機能させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014129205A JP2016009315A (ja) | 2014-06-24 | 2014-06-24 | 触感制御装置、触感制御方法及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014129205A JP2016009315A (ja) | 2014-06-24 | 2014-06-24 | 触感制御装置、触感制御方法及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016009315A true JP2016009315A (ja) | 2016-01-18 |
Family
ID=55226835
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014129205A Pending JP2016009315A (ja) | 2014-06-24 | 2014-06-24 | 触感制御装置、触感制御方法及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016009315A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016110422A (ja) * | 2014-12-08 | 2016-06-20 | 富士通テン株式会社 | 操作装置 |
| WO2018025510A1 (ja) * | 2016-08-05 | 2018-02-08 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
| JP2018106480A (ja) * | 2016-12-27 | 2018-07-05 | キヤノン株式会社 | 電子機器、その制御方法およびプログラム |
-
2014
- 2014-06-24 JP JP2014129205A patent/JP2016009315A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016110422A (ja) * | 2014-12-08 | 2016-06-20 | 富士通テン株式会社 | 操作装置 |
| WO2018025510A1 (ja) * | 2016-08-05 | 2018-02-08 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
| CN109564468A (zh) * | 2016-08-05 | 2019-04-02 | 索尼公司 | 信息处理设备、信息处理方法以及程序 |
| JP2018106480A (ja) * | 2016-12-27 | 2018-07-05 | キヤノン株式会社 | 電子機器、その制御方法およびプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6300604B2 (ja) | 触感制御装置、触感制御方法及びプログラム | |
| JP6381240B2 (ja) | 電子機器、触感制御方法及びプログラム | |
| CN104714733B (zh) | 图像处理设备及触感控制方法 | |
| JP2015118605A (ja) | 触感制御装置、制御方法及びプログラム | |
| JP6071372B2 (ja) | 電子機器及び電子機器の制御方法 | |
| JP6289100B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
| US9405370B2 (en) | Electronic device and control method thereof | |
| US20150253852A1 (en) | Portable apparatus, control method and program | |
| US20150192998A1 (en) | Tactile sense control apparatus, tactile sense control method, and storage medium | |
| JP2016009315A (ja) | 触感制御装置、触感制御方法及びプログラム | |
| JP6061528B2 (ja) | 操作装置、その制御方法及びプログラム並びに記録媒体 | |
| JP5767148B2 (ja) | 触覚対象画像の奥行き・高低に応じた触覚振動を付与可能なユーザインタフェース装置、触覚振動付与方法及びプログラム | |
| JP6433144B2 (ja) | 電子機器、触感制御方法及びプログラム | |
| CN104793736B (zh) | 电子装置及其控制方法 | |
| JP6025920B2 (ja) | 触覚対象画像の奥行き・高低に応じた触覚振動を付与可能なユーザインタフェース装置、触覚振動付与方法及びプログラム | |
| JP2020057122A (ja) | 電子機器 | |
| JP2018132831A (ja) | 電子機器、電子機器の制御方法及びプログラム |