(57)【要約】【課題】タッチパネルを備えた電子機器について、画面操作の利便性の向上を図ることができる電子機器、制御方法およびプログラムを提供すること。【解決手段】電子機器は、表示装置に対応して設けられたタッチパネルと、前記タッチパネルがタッチされたときの接触面積の大きさを検出する検出部と、前記接触面積の大きさに基づいて、前記タッチパネル上でのタッチ位置が変化したか否かを判定するための閾値を決定する閾値決定部と、前記タッチ位置の変化が前記閾値よりも大きい場合に、前記表示装置に対するスクロール指示であると判定する判定部と、を備える。【選択図】図３
2016197284.tif 000002
【特許請求の範囲】
【請求項１】
表示装置に対応して設けられたタッチパネルと、
前記タッチパネルがタッチされたときの接触面積の大きさを検出する検出部と、
前記接触面積の大きさに基づいて、前記タッチパネル上でのタッチ位置が変化したか否かを判定するための閾値を決定する閾値決定部と、
前記タッチ位置の変化が前記閾値よりも大きい場合に、前記表示装置に対するスクロール指示であると判定する判定部と、
を有することを特徴とする電子機器。
【請求項２】
前記閾値決定部は、
前記接触面積の変化が検出される度に、前記接触面積の変化量に基づいて、前記閾値の候補を算出し、前記閾値の候補の値に基づいて、前記閾値を設定することを特徴とする請求項１記載の電子機器。
【請求項３】
前記閾値決定部は、
前記閾値の候補が、設定されている閾値よりも大きいと判定された場合に、前記設定されている閾値を前記閾値の候補に更新することを特徴とする請求項３記載の電子機器。
【請求項４】
前記判定部によって、前記スクロール指示であると判定された場合に、前記表示装置の画面に表示されている画像の移動制御を実行する画面制御部を更に有することを特徴とする請求項１〜３のいずれか１項に記載の電子機器
【請求項５】
前記画面制御部は、
前記閾値の候補が、設定されている閾値よりも大きいと判定されなかった場合に、設定されている前記閾値に基づいて、前記画像の移動制御を実行することを特徴とする請求項４記載の電子機器。
【請求項６】
前記閾値決定部は、
前記接触面積の変化によって前記接触面積が大きくなったと判定された場合に、前記閾値の候補を算出し、前記設定されている閾値を前記閾値の候補に更新し、
前記接触面積が大きくなったと判定されなかった場合に、前記閾値の候補の算出を抑制する、
ことを特徴とする請求項２記載の電子機器。
【請求項７】
前記画面制御部は、
前記接触面積が大きくなったと判定されなかった場合に、設定されている前記閾値に基づいて、前記画像の移動制御を実行することを特徴とする請求項６記載の電子機器。
【請求項８】
前記移動制御を実行した後、物体の接触が維持されており、且つ前記物体の移動速度が所定の値以下である場合に、再び前記移動制御を実行することを特徴とする請求項１〜７のいずれか１項に記載の電子機器。
【請求項９】
表示装置に対応して設けられたタッチパネルを備えた電子機器による制御方法であって、
前記タッチパネルがタッチされたときの接触面積の大きさを検出し、
前記接触面積の大きさに基づいて、前記タッチパネル上でのタッチ位置が変化したか否かを判定するための閾値を決定し、
前記タッチ位置の変化が前記閾値よりも大きい場合に、前記表示装置に対するスクロール指示であると判定する、
ことを特徴とする制御方法。
【請求項１０】
表示装置に対応して設けられたタッチパネルを備えた電子機器に、
前記タッチパネルがタッチされたときの接触面積の大きさを検出する処理と、
前記接触面積の大きさに基づいて、前記タッチパネル上でのタッチ位置が変化したか否かを判定するための閾値を決定する処理と、
前記タッチ位置の変化が前記閾値よりも大きい場合に、前記表示装置に対するスクロール指示であると判定する処理と、
を実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、制御方法および制御プログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやパソコン等の電子機器において、タッチパネルによる操作が主流になってきている。タッチパネルに対して指またはタッチペンで操作することにより、例えば画面（操作面）を指で叩いて画面に表示されているアイコンを選択したり、画面に表示されているテキストまたは絵などの画像を画面の所定の方向にスライドさせる、所謂スクロールを行ったりすることができる。なお、画面を叩く操作は、タップとも呼ばれている。
【０００３】
多くのスマートフォンで採用されているプラットフォームであるＡｎｄｒｏｉｄ  ＯＳ（登録商標）では、例えば非特許文献１のように、画面に表示されている画像の移動を制御するために「ｔｏｕｃｈ  ｓｌｏｐ」と呼ばれる閾値が用いられている。この制御方法によれば、まずタッチパネルに備えられているタッチセンサによって、指またはタッチペンでタッチ（接触）した位置の座標情報を取得する。そして、座標情報の変化量、すなわち接触位置の移動量がｔｏｕｃｈ  ｓｌｏｐの値を超えた場合に、タッチ位置が変化したと判断され、画面のスクロールが行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０２０３３２号公報
【特許文献２】特開２０１５−０１１４０１号公報
【非特許文献】
【０００５】
【非特許文献１】「Managing Touch Events in a ViewGroup」、[online]、Android Developers、[平成２７年３月９日検索]、インターネット＜ＵＲＬ：http://developer.android.com/training/gestures/viewgroup.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
タッチパネルによる画面操作では、ユーザが意図する通りに行えないことがある。例えば、画面上のアイコンを選択しようとして画面を指で押した際に、画面がスクロールされてしまい、正しく選択できないことがある。
【０００７】
本発明の１つの側面では、タッチパネルを備えた電子機器について、画面操作の利便性の向上を図ることを目的とする。
【課題を解決するための手段】
【０００８】
発明の一観点によれば、表示装置に対応して設けられたタッチパネルと、前記タッチパネルがタッチされたときの接触面積の大きさを検出する検出部と、前記接触面積の大きさに基づいて、前記タッチパネル上でのタッチ位置が変化したか否かを判定するための閾値を決定する閾値決定部と、前記タッチ位置の変化が前記閾値よりも大きい場合に、前記表示装置に対するスクロール指示であると判定する判定部と、を有する電子機器が提供される。
【発明の効果】
【０００９】
一実施態様によれば、タッチパネルを備えた電子機器について、画面操作の利便性の向上を図ることができる電子機器、制御方法および制御プログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、タップ操作時における、電子機器による画像の移動制御の一例を示す図である。
【図２】図２は、スクロール操作時における、電子機器による画像の移動制御の一例を示す図である。
【図３】図３は、実施例１における、電子機器の機能ブロック図の一例を示す図である。
【図４】図４は、実施例１における、電子機器のハードウェア構成の一例を示す図である。
【図５】図５は、実施例１における、電子機器による制御方法の一例を示すフローチャートである。
【図６】図６は、実施例１に基づく画像の移動制御の一例を説明するための図である。
【図７】図７は、タップ操作時の接触面積の変化の一例を示す図である。
【図８】図８は、実施例２における、接触面積および指の移動距離の閾値の時系列の変化の一例を示す図である。
【図９】図９は、実施例２における、電子機器による制御方法の一例を示すフローチャートである。
【図１０】図１０は、実施例２における、電子機器による制御方法の一例を示すフローチャートの変形例である。
【図１１】図１１は、画像の移動制御が実行された後にタッチ座標が移動する例を示す図である。
【図１２】図１２は、スクロール操作中のタッチ座標の変化の一例を示す図である。
【図１３】図１３は、スクロール操作中の接触面積の変化および指速度の変化の一例を示す図である。
【図１４】図１４は、実施例３における、電子機器の機能ブロック図の一例を示す図である。
【図１５】図１５は、実施例３における、電子機器による制御方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図１から図１５を参照して具体的に説明する。
【００１２】
なお、本発明の電子機器の実施形態としてスマートフォンやパソコン等が挙げられるが、これらに限定されることはなく、タッチパネルを有する電子機器全般に適用することができる。また、以降では、指を使って画面の操作を行う例について説明するが、操作手段は指に限定されるものではない。例えば、画面を押すことによって接触面積が変化する弾性材料を先端部に備えた、タッチペンなどの操作ツールを操作手段とすることもできる。
【００１３】
発明者は、タッチパネルを使い慣れていないユーザが、タッチパネルを使って画面上のアイコンを選択する際には、（１）選択対象のアイコンに触れる、（２）触れた後に更に押し込む、（３）指を離す（リリースする）、の各動作を順次行う傾向があることを見出した。さらに出願人は、タッチパネルを使い慣れていないユーザが、タッチパネルを使って画面をスクロールさせる際には、（１）画面を指先で触れる、（２）動かしたい方向に指を動かす、（３）指を離す（リリースする）、の各動作を順次行う傾向があることを見出した。
【００１４】
一般的に、ボタンを押す際には、ボタンに触れてから押し込み動作を行う。このため、ユーザが前者の操作を行う場合は、ボタンを押すときと同様の動作を行っているものと推定される。また、一般的に、指を使って机の上にある紙を動かす際には、紙を指で押し込まずに動かして紙を移動させる。このため、ユーザが後者の操作を行う場合は、机の上にある紙を動かすときと同様の動作を行っているものと推定される。以下では、タッチパネルを操作したときに電子機器が実行する画面のスクロールの制御について説明する。以降では、スクロールの制御を移動制御と呼称する。
【００１５】
図１は、タップ操作時における、電子機器による画像の移動制御の一例を示す図である。図１において、
図１（ａ）は、指でタッチパネルの画面をタップしたときの様子を示す図である。図１（ａ）は、指６０が画面６１に接触（タッチ）したときの初期段階を示している。図１（ａ）において、指６０の内部に示されている点線で形成される領域は、画面６１における指６０の接触領域６２を示している。接触領域６２は、例えば楕円の形状を有している。
【００１６】
図１（ｂ）は、図１（ａ）に示す状況における、接触領域とタッチ座標との関係を示す図である。「Ｘ軸」は画面６１上のＸ軸を示しており、「Ｙ軸」は、画面６１上のＹ軸を示している。接触領域６２内の点は、タッチ座標を示している。タッチ座標とは、画面６１における指６０の接触位置の座標であり、例えば接触領域６２の中心の位置の座標である。図１（ｂ）の例では、タッチ座標は（Ｘ０，Ｙ０）である。
【００１７】
図１（ｃ）は、図１（ａ）に示す状態から、指で更に押し込んだときの様子を示す図である。指６０で更に押し込むと、図１（ｃ）の点線が示すように、接触領域６２の面積が図１（ａ）のときよりも大きくなる。
【００１８】
図１（ｄ）は、図１（ｃ）に示す状況における、接触領域とタッチ座標との関係を示す図である。タッチ座標は指６０の接触領域６２の位置に連動しており、指６０の動作によって接触領域６２が移動すると、移動量および移動方向に応じてタッチ座標の値は変化する。実線の円で囲まれた領域は、画像の移動制御が行われないタッチ座標の移動距離の閾値の範囲を示しており、円の半径が閾値を示している。すなわち、タッチ座標が移動しても実線の円で囲まれた領域から外れなければ、タッチ位置が変化したと判断されず、画像の移動制御は行われない。一方、タッチ座標が移動して実線の円で囲まれた領域から外れた場合には、タッチ位置が変化したと判断され、したがって表示装置５０へのスクロール指示であると判断され、画像の移動制御が行われることとなる。このように、閾値は、画像の移動制御を実行するか否かを判定するための、指の移動距離の閾値として用いられる。
【００１９】
図１（ａ）に示す状態から、指６０で更に押し込むと、図１（ｄ）に示すように、接触領域６２を示す楕円の長手方向の長さが、図１（ｂ）のときよりも長くなる。そして、接触領域６２の変化に伴ってタッチ座標が移動し、タッチ座標の値は初期の（Ｘ０，Ｙ０）から（Ｘｎ，Ｙｎ）に変化する。しかし、変化後のタッチ座標（Ｘｎ，Ｙｎ）は閾値の範囲内にあるため、画像の移動制御は行われない。
【００２０】
図１（ｅ）は、図１（ｃ）に示す状態よりも強く指で押し込んだときの様子を示す図である。図１（ｃ）に示す状態よりも強く指６０で押し込むと、図１（ｅ）の点線が示すように、接触領域６２の面積が、図１（ｃ）のときよりも更に大きくなる。
【００２１】
図１（ｆ）は、図１（ｅ）に示す状況における、接触領域とタッチ座標との関係を示す図である。図１（ｃ）に示す状態よりも強く指６０で押し込むと、図１（ｆ）に示すように、接触領域６２を示す楕円の長手方向の長さが、図１（ｄ）のときよりも更に長くなる。そして、これに伴ってタッチ座標が移動し、タッチ座標の値は初期の（Ｘ０，Ｙ０）から（Ｘｎ＋１，Ｙｎ＋１）に変化する。そして、変化後のタッチ座標（Ｘｎ＋１，Ｙｎ＋１）は、実線の円で囲まれた領域から外れてしまう。このため、図１（ｅ）の場合は、画像の移動制御が行われることとなる。ユーザがアイコンを選択するために画面６１をタップしたときに図１（ｅ）のように強く押し込むと、ユーザの意図に反して画像が移動してしまい、アイコンの選択が正しくできなくなることがある。
【００２２】
図２は、スクロール操作時における、電子機器による画像の移動制御の一例を示す図である。
【００２３】
図２（ａ）は、指でタッチパネルの画面に触れたときの様子を示す図である。図２（ａ）は、指６０が画面６１に接触したときの初期段階を示している。図２（ｂ）は、図２（ａ）に示す状況における、接触領域とタッチ座標との関係を示す図である。図２（ｂ）の点線が示すように、指６０でタッチパネルの画面６１に触れたときの接触領域６２は、楕円の形状を有している。図２（ｂ）の例では、タッチ座標は（Ｘ０，Ｙ０）である。
【００２４】
図２（ｃ）は、図２（ａ）に示す状態から、指でスクロ−ル操作を行ったときの様子を示す図である。図２（ｄ）は、図２（ｃ）に示す状況における、接触領域とタッチ座標との関係を示す図である。
【００２５】
指６０でスクロ−ル操作を行うと、図２（ｃ）に示すように、タッチ座標が移動し、座標の値が（Ｘ０，Ｙ０）から（Ｘｎ，Ｙｎ）に変化する。しかし、変化後のタッチ座標（Ｘｎ，Ｙｎ）は閾値の範囲内にあるため、画像の移動制御は行われない。
【００２６】
図２（ｅ）は、図２（ｃ）に示す操作よりもスクロールの長さが長くなるように操作した場合の様子を示す図である。図２（ｆ）は、図２（ｅ）に示す状況における、接触領域とタッチ座標との関係を示す図である。
【００２７】
図２（ｃ）に示す操作よりもスクロールの長さが長くなるように操作すると、タッチ座標の移動量（移動距離）が図２（ｃ）よりも更に大きくなり、移動後のタッチ座標（Ｘｎ+１，Ｙｎ+１）は閾値の範囲から外れる。これにより、スクロールの方向に応じた画像の移動制御を行うことができる。
【００２８】
このように、上述の制御方法によれば、タッチ座標の移動距離が閾値を超えるようにスクロール操作を行わないと画像を移動させることができない。このため、タップ操作時に画像が移動しないように閾値を大きめに設定しておくと、スクロール操作を行ったときに、閾値の大きさによっては画像が移動を開始するタイミングが遅くなり、指の移動に対する画像の移動の追従性が損なわれることがある。
【００２９】
（実施例１）
図３は、実施例１における、電子機器の機能ブロック図の一例を示す図である。図３に示すように、電子機器１００は、制御部１０と、記憶部２０と、タッチセンサ部３０と、制御部４０と、表示装置５０とを備えている。以下、各部の機能について説明する。
【００３０】
制御部１０は、電子機器１００全体の処理を管理するハードウェアである。制御部１０は、受信部１１と、面積算出部１２と、移動量算出部１３と、閾値決定部１４と、判定部１５と、画面制御部１６とを備えている。
【００３１】
受信部１１は、タッチセンサ部３０から静電容量の変化が発生したセルの座標の情報を受信する。
【００３２】
面積算出部１２は、受信部１１が受信した、静電容量の変化が検出されたセルの数の情報に基づいて、指などの物体がタッチされたときの接触領域の大きさを示す接触面積を算出する。そして、面積算出部１２は、算出した接触面積の情報を閾値決定部１４に送信する。面積算出部１２は、静電容量の変化が検出されたセルの数を計数することにより、接触面積Ｓ０を算出する。一方、移動量算出部１３は、例えば接触領域に対応する複数のセルの重心を各々の座標に基づいて算出することによって、タッチ座標を算出する。なお、面積算出部１２は、検出部の一例である。
【００３３】
移動量算出部１３は、受信部１１が受信した、静電容量の変化が検出された複数のセルの座標の情報に基づいて、タッチ座標を算出する。また、移動量算出部１３は、異なる時刻におけるタッチ座標同士の距離を求めることによって、指などの物体の移動量を算出する。
【００３４】
閾値決定部１４は、指などの物体の接触が維持された状態における接触面積の変化量に基づいて、タッチ位置が変化したか否かを判断するための閾値を決定する。閾値決定部１４は、まず閾値の候補を算出し、算出結果に応じて閾値を更新することによって、閾値を決定する。
【００３５】
判定部１５は、電子機器１００による画像の移動制御の中で行われる各種の判定処理を実行する。
【００３６】
画面制御部１６は、判定部１５によって実行される判定処理の結果に基づいて、表示装置５０の画面の移動を、スクロール指示などを行うことによって制御する。例えば、画面制御部１６は、タッチ座標の移動距離が閾値よりも大きいと判定された場合に、画像の移動制御を実行する。
【００３７】
記憶部２０は、制御部１０が実行する処理に用いられる情報およびプログラムを格納するハードウェアである。記憶部２０は、用途または必要とする記憶容量などに応じて、複数の記憶装置によって構成することができる。
【００３８】
タッチセンサ部３０は、画面に対する指などの物体の接触を検出する。タッチセンサ部３０は、例えばタッチパネルによって実現することができる。タッチセンサ部３０の構成の概要及び物体の検出方法については後述する。
【００３９】
制御部４０は、タッチセンサ部３０に接続されており、タッチセンサ部３０が検出した接触があった位置の座標を特定する。そして、制御部４０は、特定された座標の情報を、時刻の情報と対応付けて制御部１０に送信する処理を制御する。
【００４０】
表示装置５０は、画面制御部１６に接続され、画面制御部１６による制御に従って、画像を表示することができる。
【００４１】
次に、電子機器１００のハードウェア構成について説明する。
【００４２】
図４は、電子機器１００のハードウェア構成の一例を示す図である。図４に示すように、電子機器１００は、プロセッサ７０、オーディオ入出力部７１、ＲＯＭ（Read Only Memory）７２、ＲＡＭ（Random Access Memory）７３、ディスプレイ７４、およびタッチパネル７５等を備えている。
【００４３】
プロセッサ７０は、電子機器１００全体の動作を制御する処理を実行する演算処理装置である。図３に示す制御部１０に含まれる機能ブロックの各々の動作は、プロセッサ７０によって実現される。プロセッサ７０は、例えばＣＰＵ（Central Processing Unit）またはＭＰＵ（Micro Processing Unit）によって実現することができる。プロセッサ７０は、図３に示す制御部１０の一例である。
【００４４】
オーディオ入出力部７１は、例えばマイクなどのオーディオ入力デバイスやスピーカなどのオーディオ出力デバイスを備える。オーディオ入出力部７１は、例えば電子機器１００が通話可能なスマートフォンなどの携帯電話機である場合には、ユーザの発話音声の入力を受け付けたり、受話音声を出力したりする。
【００４５】
ＲＯＭ７２およびＲＡＭ７３は、図３に示す記憶部２０の一例である。ＲＯＭ７２は、電子機器１００の動作を制御するプログラム（情報処理プログラムを含む）を格納することができる不揮発性の記憶装置である。ＲＡＭ７３は、プログラムを実行する際に、必要に応じて作業領域として使用することができる揮発性の記憶装置である。なお、ＲＡＭ７３は、プロセッサ７０の内部に備えることもできる。
【００４６】
ディスプレイ７４は、図３に示す表示装置５０の一例であり、画像を表示するデバイスである。ディスプレイ７４は、例えば液晶ディスプレイ、プラズマディスプレイまたは有機ＥＬディスプレイ等によって実現される。
【００４７】
タッチパネル７５は、操作面に指などを接触させることによって電子機器１００を操作する入力装置である。タッチパネル７５は、例えばディスプレイ７４の上に重なるように配置して構成することができる。
【００４８】
タッチパネル７５は、例えば操作面と重なる位置に、直交する２本の電極を有している。操作面を格子状に分割したときに得られる複数の領域の各々は、セルと呼ばれている。２本の電極の交差点の各々が、１個のセルに対応している。指などが操作面に触れると、接触した位置に対応する電極間の静電容量が変化する。これにより、静電容量の変化が発生した交差点に対応する１またはそれ以上のセルが特定され、タッチ位置を特定することができる。
【００４９】
図３に示すタッチセンサ部３０および制御部４０は、タッチパネル７５が有する機能の一部である。制御部４０は、タッチパネル７５に内蔵されるＣＰＵまたはＭＰＵによって実現することができる。なお、制御部４０は、タッチパネル７５全体の動作を制御することもできる。
【００５０】
無線部７６は、アンテナ７７を介して信号を受信し、受信信号をプロセッサ７０へ出力するハードウェアである。また、無線部７６は、プロセッサ７０によって生成された信号を、アンテナ７７を介して送信する。無線部７６は、例えば電子機器１００が通話可能な携帯電話機である場合には、ユーザの発話音声や受話音声などの信号を送受信する。
【００５１】
次に、指による操作が行われた場合に、図３に示す電子機器１００により実行される制御の方法について説明する。
【００５２】
図５は、実施例１における、電子機器による制御方法の一例を示すフローチャートである。
【００５３】
まず、判定部１５は、タッチセンサ部３０が画面６１に対する指６０の接触を検出したか否かを判定する（Ｓ１０１）。タッチセンサ部３０は、画面６１に指６０が触れると、画面６０を構成する複数のセルの中のうち、触れた箇所に対応する複数のセルにおいて静電容量の変化を検出する。そして、制御部４０は、指６０の接触があった画面６１の箇所に対応する複数のセルの座標を特定する。そして、制御部４０は、特定した複数のセルの座標情報を、制御部１０内の受信部１１に送信する。判定部１５は、制御部４０から接触位置の座標情報を受信することによって、タッチセンサ部３０が画面６１に対する指６０の接触を検出したか否かを判定することができる。
【００５４】
Ｓ１０１において、指６０の接触を検出したと判定されなかった場合（Ｓ１０１否定）、Ｓ１０１の処理を再び実行する。一方、指６０の接触を検出したと判定された場合（Ｓ１０１肯定）、面積算出部１２は、指６０の接触面積Ｓ０を算出する。そして、移動量算出部１３は、タッチ座標を算出する（Ｓ１０２）。具体的には、面積算出部１２は、静電容量の変化が検出されたセルの数を計数することにより、接触面積Ｓ０を算出する。一方、移動量算出部１３は、例えば接触領域６２に対応する複数のセルの重心を各々の座標に基づいて算出することによって、タッチ座標を算出する。これにより、指６０が画面６１に接触した時点における、初期の接触面積とタッチ座標とを算出することができる。
【００５５】
続いて、判定部１５は、所定の時間が経過した後、指６０がリリースされているか否かを判定する（Ｓ１０３）。Ｓ１０３では、受信部１１が、制御部４０からの座標情報の受信がない場合、または、タッチセンサ部３０から指６０がリリースされたことを示す情報を受信した場合に、指６０がリリースされたと判定する。
【００５６】
指６０がリリースされていると判定された場合（Ｓ１０３肯定）、ユーザによる操作が終了したと判断され、一連の処理を終了する。一方、指６０がリリースされていないと判定された場合（Ｓ１０３否定）、画面６１への指６０の接触が維持されていると判断される。そして、面積算出部１２は、再び接触面積Ｓおよびタッチ座標を算出する（Ｓ１０４）。接触面積Ｓの算出方法は、接触面積Ｓ０の算出方法と同様である。
【００５７】
続いて、閾値決定部１４は、画面６１の移動制御を行うか否かの目安となる、タッチ座標の移動距離の閾値の候補Ａを接触面積の変化量Ｓ−Ｓ０に基づいて算出し、閾値をＡの値に更新する（Ｓ１０５）。移動距離の閾値の候補Ａは、例えば以下の式１に示すように、初期値Ａ０に、接触面積の変化量Ｓ−Ｓ０と係数ａの積を加算することによって算出することができる。初期値Ａ０は、例えば１ｍｍ〜２ｍｍ程度である。
Ａ＝ａ（Ｓ−Ｓ０）＋Ａ０・・・（式１）
続いて、判定部１５は、指６０の移動距離が、移動距離の閾値よりも大きいか否かを判定する（Ｓ１０６）。具体的には、判定部１５は、Ｓ１０４で算出したタッチ座標とＳ１０５で算出したタッチ座標との距離を算出することにより、指６０の移動距離を見積もる。そして、判定部１５は、見積もられた指６０の移動距離が、閾値として設定されているＡの値よりも大きいか否かを判定する。
【００５８】
指６０の移動距離が閾値以下であると判定された場合（Ｓ１０６否定）、タップ操作が行われているか、あるいはスクロール操作が完了していないと判断される。そして、Ｓ１０３に移り、Ｓ１０３以降の処理を再び実行する。すなわち、指６０が接触を維持している間は、Ｓ１０３からＳ１０５までの処理を繰り返し実行する。この方法により、閾値の値を接触面積の変化量に応じて動的に増減させることができる。
【００５９】
一方、指６０の移動距離が閾値よりも大きいと判定された場合（Ｓ１０６肯定）、スクロール操作のために指６０の移動が行われたと判断される。そして、画面制御部１６は、タッチ座標の移動方向に応じた画面６１の移動制御を実行する（Ｓ１０７）。
【００６０】
続いて、閾値決定部１４は、閾値を初期化し、閾値を初期値Ａ０に更新する（Ｓ１０８）。Ｓ１０８の処理が完了すると、一連の処理が終了する。このように、処理フローの最後に閾値を初期化する処理を実行しておくことによって、再び当該処理フローを実行したときに、指６０が画面６１に触れてから閾値の候補Ａを算出するまでの時間を短縮することができる。その結果、画面６１の移動制御の迅速化を図ることができる。
【００６１】
以上のようにして、指６０による操作が行われた場合に、電子機器１００による制御が実行される。
【００６２】
図６は、実施例１に基づく画像の移動制御の一例を説明するための図である。
【００６３】
図６（ａ）は、図１（ｃ）の場合と同等の力と操作で画面を押したときの様子を示す図である。なお、指６０が画面６１に接触したときの初期段階では、図１（ａ）の場合と同等の力と操作で画面６１を押したものとする。図１（ｃ）の場合と同等の力と操作で画面６１を押すと、図６（ａ）に示すように、図１（ｃ）の場合と同等の接触面積が得られる。
【００６４】
図６（ｂ）は、図６（ａ）に示す状況における、接触領域とタッチ座標との関係を示す図である。実施例１に基づく制御を実行すると、接触面積に応じて閾値が更新される。例えば、図６（ｂ）の例では、接触面積が初期段階よりも拡大しているため、閾値が初期段階よりも大きい値に設定されているのがわかる。したがって、タッチ座標の値が（Ｘ０，Ｙ０）から（Ｘｎ，Ｙｎ）に変化するものの、変化後のタッチ座標（Ｘｎ，Ｙｎ）は閾値の範囲内にあるため、画像の移動制御が実行されるのを抑えることができる。
【００６５】
図６（ｃ）は、図２（ｅ）の場合と同等のスクロール操作を行ったときの様子を示す図である。なお、指６０が画面６１に接触したときの初期段階では、図２（ａ）の場合と同等の力と操作で画面６１を押したものとする。図２（ｅ）の場合と同等の力と操作で画面６１を押すと、図６（ｃ）に示すように、図２（ｅ）の場合と同等の接触面積が得られる。
【００６６】
図６（ｄ）は、図６（ｃ）に示す状況における、接触領域とタッチ座標との関係を示す図である。実施例１の制御を実行すると、接触面積に応じて閾値が更新される。図６（ｄ）の例では、初期段階と比較して接触面積の大きな変化は見られないため、閾値が初期段階と略同等の値に設定される。したがって、図２（ｅ）に示す操作と同様の距離をスクロールすると、移動後のタッチ座標（Ｘｎ，Ｙｎ）は閾値の範囲から外れ、スクロールの方向に応じた画像の移動制御を行うことができる。
【００６７】
実施例１の実施形態によれば、タッチパネルの画面に指を接触させたときの接触面積の変化量に応じてタッチ座標の移動距離の閾値を変化させる。この方法によれば、タップ時に接触面積が増大してタッチ座標の移動が発生しても、接触面積の増大量に応じて移動距離の閾値が大きく変化する。閾値が大きくなると画像の移動制御を抑制しやすくなるため、ユーザの意図に反して画像が移動してしまい、例えばアイコンを正しく選択できなくなる不具合が発生するのを防ぐことができる。
【００６８】
さらに、実施例１の実施形態によれば、スクロール操作時にも接触面積の変化量に応じて移動距離の閾値を変化させる。上述の方法によれば、スクロール操作時では、画面を指で強く押したときにそれによる接触面積に応じて設定され得る値よりも小さい値が閾値として設定される可能性が高いため、指の移動に対する画像の移動の追従性を良好に保つことができる。
【００６９】
（実施例２）
次に、実施例２について説明する。実施例１では、接触面積の増減方向に応じて指の移動距離の閾値を増減させるため、接触面積が増大すると閾値は増大し、接触面積が減少すると閾値は減少する。これに対して実施例２では、算出した閾値の候補値が所定値以下である場合には、閾値を更新せずに保持することを特徴としている。なお、実施例２を実現するための電子機器は、図３および図４に例示されている電子機器の構成を用いることができるため、説明を省略する。
【００７０】
図７は、タップ操作時の接触面積の変化の一例を示す図である。図７は、タップ操作を３回行った際の接触面積の変化を示しており、線の種類を異ならせて３回分の測定結果を表示している。図７に示すように、接触面積は、初期の値から急激に増加した後に、変化量が小さい定常状態に推移している。しかしながら、定常状態においても接触面積の変化（増減）は生じており、定常値は一定とはならない。このように、指が画面に接触したときの接触面積は不安定であるため、接触面積の増減、すなわちノイズによって、ユーザが意図しない画面の移動が発生する可能性がある。
【００７１】
図８は、実施例２における、接触面積および指の移動距離の閾値の時系列の変化の一例を示す図である。図８（ａ）、図８（ｂ）ともに、横軸は時間軸を示しており、右方向に進むほど時刻が新しいことを示している。また、図８（ａ）の円内の点は、タッチ座標の位置を示しており、破線は、初期のタッチ座標の位置を示す基準線を示している。図８（ｂ）の縦軸は、移動距離の閾値の大きさを示しており、棒の長さが長いほど閾値が大きいことを示している。
【００７２】
図８（ａ）に示すように、時間の経過とともにタッチ位置はＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５の順に変化する。接触面積は、タッチ位置Ｐ１に対応する接触領域から徐々に増加して、タッチ位置Ｐ３に対応する接触領域において最大となり、その後、タッチ位置Ｐ５に対応する接触領域になるまで徐々に減少している。
【００７３】
一方、移動距離の閾値は、図８（ｂ）に示すように、タッチ位置Ｐ３に対応する接触領域までは接触面積の増加に伴って増加している。しかし、それ以降は接触面積が減少していくものの、タッチ位置Ｐ３のときに設定された閾値が更新されずに保持されているのがわかる。以下、実施例２における制御方法について説明する。
【００７４】
図９は、実施例２における、電子機器による制御方法の一例を示すフローチャートである。Ｓ１０１からＳ１０４までの処理は、実施例１で行う処理と同様であるので、説明は省略する。
【００７５】
Ｓ１０４の後、閾値決定部１４は、接触面積の変化量に基づいて、移動距離の閾値の候補値Ａを算出する（Ｓ１０５ａ）。
【００７６】
続いて、判定部１５は、Ｓ１０５ａで算出された移動距離の閾値の候補Ａが、設定されている閾値よりも大きいか否かを判定する（Ｓ１０５ｂ）。閾値の候補Ａが、設定されている閾値よりも大きいと判定された場合（Ｓ１０５ｂ肯定）、閾値決定部１４は、閾値をＡの値に更新する（Ｓ１０５ｃ）。Ｓ１０５ｃの処理の後、Ｓ１０６に移行する。一方、閾値の候補Ａが、設定されている閾値以下であると判定された場合（Ｓ１０５ｂ否定）、Ｓ１０５ｃの処理を実行せずに、Ｓ１０６に移行する。すなわち、Ｓ１０５ｂおよびＳ１０５ｃの処理は、Ｓ１０５ａで算出された閾値の候補Ａが閾値を超える場合には閾値を更新し、超えない場合には閾値を更新しないことを示しており、閾値の候補の最大値が、移動制御を実行するか否かを判定するための閾値として用いられることとなる。Ｓ１０６以降の処理は実施例１と同様であるため、説明を省略する。
【００７７】
以上のようにして、実施例２における、電子機器による制御を実行する。
【００７８】
実施例２の実施形態によれば、算出された閾値の候補が、設定されている閾値よりも大きいと判定された場合には、設定されている閾値を、算出された閾値の候補に更新する。一方、算出された閾値の候補が、設定されている閾値よりも大きいと判定されなかった場合には、設定されている前記閾値に基づいて、前記画像の移動制御を実行する。上述の方法によれば、接触面積が突発的に減少しても、閾値が変更されずに保持されるため、接触面積の減少によって閾値が小さくなり、ユーザが意図しない画像の移動が発生するのを抑制することができる。
【００７９】
次に、実施例２の変形例を説明する。図１０は、実施例２における、電子機器による制御方法の一例を示すフローチャートの変形例である。Ｓ１０１からＳ１０４までの処理は、実施例１で行う処理と同様であるので、説明は省略する。
【００８０】
Ｓ１０４の処理の後、判定部１５は、Ｓ１０４で算出した接触面積Ｓが、以前のＳ１０２で算出した接触面積Ｓ０よりも大きいか否かを判定する（Ｓ１０４ａ）。接触面積Ｓが接触面積Ｓ０以下であると判定された場合（Ｓ１０４ａ否定）、Ｓ１０６に移る。一方、接触面積Ｓが接触面積Ｓ０よりも大きいと判定された場合（Ｓ１０４ａ肯定）、閾値決定部１４は、閾値の候補Ａを算出し、閾値をＡに更新するＳ１０５の処理を実行する。Ｓ１０５の処理の後、Ｓ１０６に移る。Ｓ１０６以降の処理は、図５または図９に示す処理と同様であるので、説明を省略する。
【００８１】
接触面積Ｓが接触面積Ｓ０よりも大きい場合は、接触面積が拡大しているため、閾値の候補Ａを算出すれば、設定されている閾値よりも大きい値が得られるはずである。このため、このように判定された場合は、閾値の候補Ａを算出し、閾値をＡに更新するＳ１０５の処理を実行する。
【００８２】
一方、接触面積Ｓが接触面積Ｓ０以下である場合は、接触面積が拡大していないため、閾値の候補Ａを算出しても、設定されている閾値よりも大きくならないはずである。このため、このように判定された場合は、閾値の候補Ａの算出を行わず、既に設定されている閾値を用いて画像の移動制御を実行する。
【００８３】
このように、本変形例では、画面に対する指の接触が維持された状態で接触面積が大きくなったか否かを判定する。そして、接触面積が大きくなったと判定された場合に限り、閾値の候補Ａを算出し、閾値を閾値の候補Ａに更新する。この方法によれば、接触面積Ｓが接触面積Ｓ０以下であると判定された場合は、閾値の候補Ａの算出処理を省略することができるため、画像の移動制御の迅速化および処理負荷の低減を図ることができる。
【００８４】
（実施例３）
次に、実施例３について説明する。実施例１および実施例２では、最新の閾値をもとに画像の移動制御が実行された場合に、一連の処理が終了する。これに対して実施例３では、画像の移動制御が実行された後、指の挙動が所定の条件を満たす場合に再び画像の移動制御を実行することを特徴としている。
【００８５】
図１１は、画像の移動制御が実行された後にタッチ座標が移動する例を示す図である。
【００８６】
図１１（ａ）は、指でスクロ−ル操作を行ったときの様子を示す図である。図１１（ｂ）は、図１１（ａ）に示す状況における、接触領域とタッチ座標との関係を示す図である。横軸は画面６１のＹ軸、縦軸は画面６１のＸ軸を示している。図１１（ｂ）に示すように、指６０でスクロ−ル操作を行うと、接触面積が接触領域６２ａから接触領域６２ｂに移動する。すると、タッチ座標も移動し、タッチ座標の値は（Ｘｎ−１，Ｙｎ−１）から（Ｘｎ，Ｙｎ）に変化する。
【００８７】
図１１（ｃ）は、指でスクロ−ル操作を行ったときの様子を示す図である。図１１（ｄ）は、図１１（ｃ）に示す状況における、接触領域とタッチ座標との関係を示す図である。図１１（ｄ）において、実線の円で囲まれた領域は、画像の移動制御が行われないタッチ座標の移動距離の閾値の範囲を示しており、円の半径が閾値を示している。
【００８８】
ユーザは、スクロール操作を終えると、画面６１からの指６０のリリースを開始する。すると、図１１（ｄ）に示すように、指６０の動作によって、接触領域が接触領域６２ｂから接触領域６２ｃに移動する。すると、タッチ座標も移動し、タッチ座標の値は（Ｘｎ，Ｙｎ）から（Ｘｎ＋１，Ｙｎ＋１）に変化する。変化後のタッチ座標（Ｘｎ＋１，Ｙｎ＋１）は、実線の円で囲まれた閾値の範囲から外れてしまうため、画像の移動制御が行われてしまう。このように、ユーザが画面６１から指６０をリリースしたときに、ユーザの意図に反して画像が移動してしまうことがある。
【００８９】
図１２は、スクロール操作中のタッチ座標の変化の一例を示す図である。横軸は画面６１のＹ軸、縦軸は画面６１のＸ軸を示している。図１２の例では、画面６１の左下に原点が設定されている。そして、指６０を左上から右下の方向、すなわち、Ｙ軸の座標の値が小さくなり、且つＸ軸の座標の値が大きくなる方向に移動させ、その後リリースさせた場合の例を示している。図１２に示すように、指６０を画面６１に接触させた状態で指を移動させている間、タッチ座標はＹ軸の座標の値が小さくなり、Ｘ軸の座標の値が大きくなる方向に遷移している。ところが、指６０のリリースを開始したタイミングを境に、タッチ座標がスクロール操作時と異なる方向、即ちＹ軸の値が殆ど変らず、Ｘ軸の値が大きくなる方向に変化していることがわかる。そしてこの変化が、ユーザの意図に反して画像が移動してしまう原因となっている。
【００９０】
図１３は、スクロール操作中の接触面積の変化および指速度の変化の一例を示す図である。指速度とは、スクロール操作中の指６０の速度である。横軸は時間、縦軸は接触面積または指速度を示している。図１３中の白丸は、接触面積の情報を示しており、図１３の左側の縦軸の目盛りを参照することにより接触面積の値を知ることができる。また、図１３中の黒丸は、指速度の情報を示しており、図１３の右側の縦軸の目盛りを参照することにより指速度の値を知ることができる。
【００９１】
図１３に示すように、接触面積は、接触初期から不規則に増減した後、７０ｍｓあたりから一定の値を示している。そして、９０ｍｓ後あたりから指６０をリリースし、それによって接触面積が急激に低下している。一方、指速度は、接触面積よりも大きい振れ幅で増減しながら４０ｍｓ後あたりでピークを示しており、その後減少し、破線で囲んだ部分が示すように、８０ｍｓ後あたりからリリースが開始されるタイミングまで零を示している。これは、スクロール操作を行った後に、一旦指６０を画面上で停止させ、その後にリリース動作を行っていることを示している。そこで実施例３では、画面上で指６０の動きが停止に近い状態になったことを契機として、画面６１の移動制御を再び実行することとしている。
【００９２】
図１４は、実施例３における、電子機器の機能ブロック図の一例を示す図である。実施例１および２の電子機器に含まれる機能ブロックと共通の機能ブロックについては同一の符号を付し、説明を省略する。図１４に示すように、制御部１０ａは、実施例１および２の制御部１０に含まれる機能ブロック群の他に、指６０の移動速度を算出する速度算出部１７を備えている。受信部１１が制御部４０から受信する座標情報の各々は、時刻の情報と対応付けられている。このため、速度算出部１７は、２地点の座標間の距離を、当該２地点の座標に対応する時刻の差で除することによって、指６０の移動速度を測定することができる。なお、実施例３を実現するための電子機器のハードウェア構成は、図４に例示されている構成を用いることができるため、説明を省略する。
【００９３】
図１５は、実施例３における、電子機器による制御方法の一例を示すフローチャートである。
【００９４】
まず、電子機器１００ａは、実施例１の図５、または実施例２の図９および図１０に示す画像の移動制御、すなわち移動距離の閾値を動的に変更しながら画像の移動制御を行うための制御プログラムの実行を開始する（Ｓ３０１）。
【００９５】
そして、制御プログラムに基づく、例えば図５のＳ１０１からＳ１０８までの一連の処理が終了した後、判定部１５は、指６０がリリースされているか否かを判定する（Ｓ３０２）。
【００９６】
指６０がリリースされていないと判定された場合（Ｓ３０２否定）、速度算出部１７は、指６０の移動速度を算出する。
【００９７】
その後、判定部１５は、指６０の移動速度が所定値以下であるか否かを判定する（Ｓ３０３）。所定値は、例えば５ｍｍ／ｓである。指６０の移動速度が所定値以下でないと判定された場合（Ｓ３０３否定）、再びＳ３０２に戻り、Ｓ３０２以降の処理を実行する。一方、指６０の移動速度が所定値以下であると判定された場合（Ｓ３０３肯定）、指６０が画面上で停止している状態に近いと判断され、制御プログラムの実行を再び開始する（Ｓ３０４）。その後、再びＳ３０２に戻り、Ｓ３０２以降の処理を実行する。
【００９８】
Ｓ３０２において、指６０がリリースされていると判定された場合（Ｓ３０２肯定）、処理を終了する。
【００９９】
以上のようにして、実施例３における、電子機器１００ａによる制御を実行する。
【０１００】
実施例３の実施形態によれば、実施例１または実施例２に従った画像の移動制御が実行された後、画面への指の接触が維持されており、且つ指が停止している状態に近いと判定された場合に、再び画像の移動制御を実行する。この方法によれば、リリース時にタッチ座標の意図しない移動が発生しても、画像の移動を抑えることができる。
【０１０１】
以上、本発明の好ましい実施例について詳述したが、本発明は特定の実施例に限定されるものではなく、種々の変形や変更が可能である。例えば、図５に示すフローチャートでは、Ｓ１０６否定と判定された場合にはＳ１０３に移っているが、Ｓ１０１またはＳ１０２に移るようにしても良い。例えば、Ｓ１０２に移った場合は、Ｓ１０２以降の処理が再び実行されることとなる。
【０１０２】
また、タッチパネルは、ディスプレイ上に配置されていなくてもよい。つまり、タッチパネルは、ディスプレイに表示される画像を操作可能にディスプレイに対応付けて設けられていればよい。
【０１０３】
なお、前述した電子機器および情報処理方法をコンピュータに実行させるコンピュータプログラム、およびそのプログラムを記録した、非一時的なコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、非一時的なコンピュータ読み取り可能な記録媒体は、例えばＳＤメモリカードなどのメモリカードである。なお、前記コンピュータプログラムは、前記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【符号の説明】
【０１０４】
１０：制御部
１１：受信部
１２：面積算出部
１３：移動量算出部
１４：閾値決定部
１５：判定部
１６：画面制御部
１７：速度算出部
２０：記憶部
３０：タッチセンサ部
４０：制御部
５０：表示装置
６０：指
６１：画面
６２，６２ａ，６２ｂ：接触領域
７０：プロセッサ
７１：オーディオ入出力部
７２：ＲＯＭ
７３：ＲＡＭ
７４：ディスプレイ
７５：タッチパネル
７６：無線部
７７：アンテナ
１００，１００ａ：電子機器
【図１】
2016197284.tif 000003
【図２】
2016197284.tif 000004
【図３】
2016197284.tif 000005
【図４】
2016197284.tif 000006
【図５】
2016197284.tif 000007
【図６】
2016197284.tif 000008
【図７】
2016197284.tif 000009
【図８】
2016197284.tif 000010
【図９】
2016197284.tif 000011
【図１０】
2016197284.tif 000012
【図１１】
2016197284.tif 000013
【図１２】
2016197284.tif 000014
【図１３】
2016197284.tif 000015
【図１４】
2016197284.tif 000016
【図１５】
2016197284.tif 000017