JP2014174801A - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2014174801A
JP2014174801A JP2013047746A JP2013047746A JP2014174801A JP 2014174801 A JP2014174801 A JP 2014174801A JP 2013047746 A JP2013047746 A JP 2013047746A JP 2013047746 A JP2013047746 A JP 2013047746A JP 2014174801 A JP2014174801 A JP 2014174801A
Authority
JP
Japan
Prior art keywords
information
input
event
touch
information processing
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
Application number
JP2013047746A
Other languages
English (en)
Inventor
Masaki Toyoura
雅貴 豊浦
Hiromitsu Fujii
浩光 藤井
Kentaro Ida
健太郎 井田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2013047746A priority Critical patent/JP2014174801A/ja
Priority to US14/196,737 priority patent/US20140253482A1/en
Priority to CN201410075605.7A priority patent/CN104049793A/zh
Publication of JP2014174801A publication Critical patent/JP2014174801A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation

Abstract

【課題】操作面へのタッチ操作に関して操作性を向上させることが可能な情報処理装置、情報処理方法、及びプログラムを提供すること。
【解決手段】上記目的を達成するため、本技術の一形態に係る情報処理装置は、入力部と、制御部とを具備する。前記入力部は、操作体の操作面への操作を検出するための操作情報として、前記操作面からのアップ操作を検出するための、前記アップ操作が行われた位置の情報としてのアップ位置の情報を含む第1の操作情報を入力可能である。前記制御部は、前記アップ位置を基準とした位置における前記操作体の前記操作面上の移動方向の変化量に基づいて、前記入力された第1の操作情報が有効か否かを判定する。
【選択図】図10

Description

本技術は、タッチパネル等を介した操作に応じて処理を実行可能な情報処理装置、情報処理方法、及びプログラムに関する。
特許文献1にも記載のように、タッチパネルやタッチスイッチ等のタッチセンサを備える電子機器が普及している。例えばスマートフォン等の携帯電話端末や、タブレット端末等の種々のPDA(Personal Digital Assistant)において、タッチセンサは広く用いられている。特許文献1には、操作者がタッチセンサに対する操作を行った際に、操作者の意図しない処理が行われる恐れを低減するための技術が記載されている。
特開2012−113645号公報
タッチパネル等を備えた電子機器はこれからも普及するものと考えられ、特許文献1に記載のような操作性を向上させるための技術は今後も求められる。すなわちタッチ操作を行うユーザに高い操作性を提供することが求められる。
以上のような事情に鑑み、本技術の目的は、操作面へのタッチ操作に関して操作性を向上させることが可能な情報処理装置、情報処理方法、及びプログラムを提供することにある。
上記目的を達成するため、本技術の一形態に係る情報処理装置は、入力部と、制御部とを具備する。
前記入力部は、操作体の操作面への操作を検出するための操作情報として、前記操作面からのアップ操作を検出するための、前記アップ操作が行われた位置の情報としてのアップ位置の情報を含む第1の操作情報を入力可能である。
前記制御部は、前記アップ位置を基準とした位置における前記操作体の前記操作面上の移動方向の変化量に基づいて、前記入力された第1の操作情報が有効か否かを判定する。
この情報処理装置では、操作体の操作面への操作を検出するための操作情報として、操作面からのアップ操作を検出するための第1の操作情報が入力される。そしてアップ位置を基準とした位置における操作体の移動方向の変化量に基づいて、入力された第1の操作情報が有効であるか否かが判定される。これによりアップ操作の誤検出に伴う誤った処理の実行を防ぐことができ、操作面へのタッチ操作に関して操作性を向上させることが可能となる。
前記制御部は、前記操作体の前記操作面上の移動方向の変化量が、所定の値よりも小さい場合に前記入力された第1の操作情報は有効ではないと判定してもよい。
移動方向の変化量が所定の値よりも小さい場合は、実際にはアップ操作が行われていない可能性が大きい。従って上記のように設定することで、アップ操作の誤検出に伴う誤った処理の実行を防ぐことができる。
前記入力部は、前記操作面へのダウン操作を検出するための、前記ダウン操作が行われた位置の情報としてのダウン位置の情報を含む第2の操作情報を入力可能であってもよい。この場合、前記制御部は、前記第1の操作情報の入力の次に、前記ダウン操作を検出するための前記第2の操作情報が入力された場合に、前記判定を実行してもよい。
このように第1の操作情報の次に第2の操作情報が入力された場合に、先に入力された第1の操作情報の有効性が判定されてもよい。これによりタッチ操作に関する操作性を向上させることが可能となる。
前記制御部は、前記アップ位置を基準として算出された基準方向と、前記アップ位置からその次の前記ダウン位置へ向かう方向として算出された算出方向との変位量をもとに、前記操作体の前記操作面上の移動方向の変化量を定めてもよい。
このように、アップ位置を基準として基準方向と、アップ位置とその次のダウン位置とから算出される算出方向との変位量をもとに、移動方向の変化量が定められてもよい。これにより簡単な演算で移動方向の変化量を判定することが可能となる。
前記制御部は、前記第2の操作情報の入力が前記第1の操作情報の入力から所定の時間内に行われた場合に、前記判定を実行してもよい。
このように、所定の条件を満たす場合に、第1の操作情報が有効か否かの判定が実行されてもよい。これにより種々のタッチ操作を操作性よく行うことが可能となる。
前記制御部は、前記アップ操作及び前記ダウン操作を少なくとも含む前記タッチ操作の感度が所定の値よりも小さい場合に、前記判定を実行してもよい。
このように、所定の条件を満たす場合に、第1の操作情報が有効か否かの判定が実行されてもよい。これにより種々のタッチ操作を操作性よく行うことが可能となる。
前記制御部は、前記アップ位置と前記ダウン位置との距離が所定の値よりも小さい場合に、前記判定を実行してもよい。
このように、所定の条件を満たす場合に、第1の操作情報が有効か否かの判定が実行されてもよい。これにより種々のタッチ操作を操作性よく行うことが可能となる。
本技術の一形態に係る情報処理方法は、コンピュータにより実行される情報処理方法であって、操作体の操作面への操作を検出するための操作情報として、前記操作面からのアップ操作を検出するための、前記アップ操作が行われた位置の情報としてのアップ位置の情報を含む第1の操作情報を入力することを含む。
前記アップ位置を基準とした位置における前記操作体の前記操作面上の移動方向の変化量に基づいて、前記入力された第1の操作情報が有効か否かが判定される。
本技術の一形態に係るプログラムは、コンピュータに以下のステップを実行させる。
操作体の操作面への操作を検出するための操作情報として、前記操作面からのアップ操作を検出するための、前記アップ操作が行われた位置の情報としてのアップ位置の情報を含む第1の操作情報を入力するステップ。
前記アップ位置を基準とした位置における前記操作体の前記操作面上の移動方向の変化量に基づいて、前記入力された第1の操作情報が有効か否かを判定するステップ。
以上のように、本技術によれば、操作面へのタッチ操作に関して操作性を向上させることが可能となる。
本技術の一実施形態に係る情報処理装置のハードウェア構成例を示す模式的なブロック図である。 本実施形態に係る情報処理方法を実行するためのソフトウェア構成例を示す模式的なブロック図である。 本実施形態に係るタブレット端末の動作の概要を説明するための図である。 本実施形態に係るタブレット端末の動作の概要を説明するための図である。 途切れ部分の発生について詳しく説明するための図である。 途切れ部分の発生について詳しく説明するための図である。 タブレット端末による詳細な処理の一例を示すフローチャートである。 タッチ操作の感度をもとにした判定を説明するためのグラフである。 タッチ操作の時間的な間隔をもとにした判定を説明するための図である。 基準方向と算出方向との角度をもとにした判定を説明するための図である。 アップ位置とダウン位置との距離をもとにした判定を説明するための図である。 アップイベントの有効性を判定するために用いられる各パラメータの調整について説明するための表である。 本実施形態に係るタブレット端末100の動作例を示す状態遷移図である。 本実施形態において定義されるイベントの一例を示す図である。 本実施形態において定義される状態の一例を示す図である。 本技術に係る有効性判定モジュールの実装例を示すブロック図である。 アップイベントの有効性を判定するためのパラメータが、状況に応じて動的に変更される例を示す図である。 本技術に関連した歪み補正技術の概要を説明するための図である。 本技術に関連した歪み補正技術の概要を説明するための図である。 本技術に関連した歪み補正技術の概要を説明するための図である。 歪み補正技術の詳細を説明するための図である。 歪み補正技術の詳細を説明するための図である。 歪み補正技術の詳細を説明するための図である。 歪み補正フィルタにて用いられるパラメータのチューニングについて説明するための表である。 歪み補正フィルタの効果を操作面全体にて観察するための図である。 歪み補正フィルタの効果を操作面全体にて観察するための図である。
以下、本技術に係る実施形態を、図面を参照しながら説明する。
[情報処理装置の構成]
図1は、本技術の一実施形態に係る情報処理装置のハードウェア構成例を示す模式的なブロック図である。情報処理装置としては、タッチパネル等の入力デバイスへ入力されたタッチ操作に応じて、情報処理を実行することが可能な種々のコンピュータが用いられる。例えばタッチパネル等を備えたスマートフォン等の携帯端末や、種々のPDAが用いられる。その他、上記入力デバイスに接続されたPC(Personal Computer)等が用いられてもよい。本実施形態では、情報処理装置として、タブレット端末100が用いられる。
タブレット端末100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、入出力インタフェース105、及び、これらを互いに接続するバス104を備える。
入出力インタフェース105には、表示部106、操作部107、記憶部108、通信部109、ドライブ部110等が接続される。
表示部106は、例えば液晶、EL(Electro-Luminescence)、CRT(Cathode Ray Tube)等を用いた表示デバイスである。
操作部107は、ユーザがタッチ操作を入力することが可能な操作面を有するデバイスからなる。本実施形態では、操作部107としてタッチパネル(以後、タッチパネル107と記載する)が用いられる。従って操作部107及び表示部106は一体となって構成されている。タッチパネル107の構成は限定されず、例えば静電容量方式、抵抗膜方式、表面弾性波方式、又は赤外線方式等の、種々の方式のタッチパネル107が用いられてよい。その他、タッチパッド等の他のタッチセンサが用いられてもよい。またタッチパネル107等と併用して、コントローラ、ポインティングデバイス、キーボード等の他の操作装置が用いられてもよい。
記憶部108は、不揮発性の記憶デバイスであり、例えばHDD(Hard Disk Drive)、フラッシュメモリ、その他の固体メモリである。
ドライブ部110は、例えば光学記録媒体、フロッピー(登録商標)ディスク、磁気記録テープ、フラッシュメモリ等、リムーバブルの記録媒体111を駆動することが可能なデバイスである。これに対し上記記憶部108は、主にリムーバブルでない記録媒体を駆動する、タブレット端末100に予め搭載されたデバイスとして使用される場合が多い。
通信部109は、LAN、WAN(Wide Area Network)等に接続可能な、他のデバイスと通信するためのモデム、ルータ、その他の通信機器である。通信部109は、有線及び無線のどちらを利用して通信するものであってもよい。通信部109は、タブレット端末100とは別体で使用される場合が多い。
上記のようなハードウェア構成を有するタブレット端末100による情報処理は、記憶部108またはROM102等に記憶されたソフトウェアと、タブレット端末100のハードウェア資源との協働により実現される。具体的には、CPU101が記憶部108またはROM102等に記憶された、ソフトウェアを構成するプログラムをRAM103にロードして実行することにより実現される。
プログラムは、例えば記録媒体111を介してタブレット端末100にインストールされる。あるいは、グローバルネットワーク等を介してプログラムがタブレット端末100にインストールされてもよい。またタブレット端末100が実行するプログラムは、時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
図2は、本実施形態に係る情報処理方法を実行するためのソフトウェア構成例を示す模式的なブロック図である。本実施形態では、入力部115、タイマー部116、方向変位量(角度)算出部117、感度算出部118、距離算出部119、判定部120、及び出力部121により、本技術に係る情報処理が実行される。これらのソフトウェアブロックは、タブレット端末100のCPU101が所定のプログラムを実行することにより実現される。すなわち本実施形態では、CPU101が制御部として機能する。なお各ブロックを実現するために専用のハードウェアが適宜用いられてもよい。
入力部115は、操作体(操作子)によるタッチパネル107の操作面へのタッチ操作を検出するための操作情報を入力する。操作面へのタッチ操作としては、操作面へ指等の操作体を接触させるダウン操作や、操作面との接触を解除するアップ操作がある。またダウン操作を継続したまま操作体を移動させるムーブ操作(ドラッグ操作)や、所定の方向に操作体を瞬間的に移動させながら接触を解除するフリック操作等ある。さらに操作面に2つの操作体を接触させて、互いの距離を変化させるピンチイン/アウト操作等のマルチタッチ操作も入力可能である。その他、種々のタッチ操作が入力される。
本実施形態では、タッチパネル107によりタッチ操作を検出するための操作情報が生成されて入力部115に出力される。操作情報として、操作面からのアップ操作を検出するための第1の操作情報と、操作面へのダウン操作を検出するための第2の操作情報とが出力される。第1の操作情報は、操作面上において操作体の接触が解除された位置であるアップ位置の位置情報を含む。また第2の操作情報は、操作面上に操作体が接触した位置であるダウン位置の位置情報を含む。位置情報は、典型的には、操作面上に設定されたxy座標系をもとにした座標情報である。
その他の操作情報としてはムーブ操作を検出するための操作情報が生成される。本実施形態では、所定のサンプリングレートで操作面上の接触が検出される。そしてダウン操作がダウン位置を変化させながら継続的に算出されている間は、ムーブ操作として検出される。従ってダウン位置を変化させながら継続的に生成される第2の操作情報が、ムーブ操作を検出するための操作情報に相当することになる。
生成された操作情報は、入出力インタフェース105を介してCPU101に出力される。従って入出力インタフェース105が入力部115の一部として機能してもよい。一方で、操作部107から、操作面への接触に関する情報や信号がCPU101に出力される。そしてその情報等をもとにCPU101により、操作面にどのようなタッチ操作が入力されたかが判定されてもよい。この場合、CPU101によりタッチ操作を検出するための操作情報が生成されることになる。そしてCPU101内で入力部115が構成されることになる。
タイマー部116は、アップ操作に応じた第1の操作情報の入力から、その次のダウン操作に応じた第2の操作情報の入力までの時間的な間隔を判定する。本実施形態では、発火のタイミングが適宜設定されたタイマーが用いられるが、第1及び第2の操作情報の入力の間隔を判定する方法やアルゴリズムは限定されない。
方向変位量算出部117は、アップ操作に応じた第1の操作情報の入力と、その次のダウン操作に応じた第2の操作情報の入力とに応じて、アップ位置を基準として算出された基準方向と、アップ位置からダウン位置へ向かう方向として算出された算出方向との変位量を算出する。本実施形態では、基準方向と算出方向との角度をもとにして上記変位量が算出される。その他、曲率等をもとに、基準方向と算出方向との変位量が算出されてもよい。
感度算出部118は、アップ操作及びダウン操作を少なくとも含む種々のタッチ操作の感度を算出する。例えば操作面にタッチ操作を入力する操作体として指が用いられる場合と、スタイラスペン(タッチペン)が用いられる場合とを比較する。この場合、互いを構成する物質、太さ(接触面積)等の特性の差により、タッチ操作の感度にも差がでる。典型的には、指を用いた方がタッチ操作の感度はよくなり、スタイラスペンが用いられる方が感度は低くなる。その他、操作方法等にもよって感度のばらつきは発生する。なお用いられる操作体が指やスタイラスペンに限定されるわけではない。
距離算出部119は、第1の操作情報と、次に入力された第2の操作情報とをもとに、アップ位置とダウン位置との距離を算出する。本実施形態では、2つの点の座標情報をもとに2点間の距離を算出する。他の方法により2点間の距離が算出されてもよい。
判定部120は、方向変位量算出部117により算出された基準方向と算出方向との変位量をもとに、入力された第1の操作情報が有効か否かを判定する。具体的には、基準方向と算出方向との変位量(角度)が所定の値よりも小さい場合に、第1の操作情報は有効でないと判定される。また本実施形態では判定部120により、タイマー部116の算出結果をもとに、第2の操作情報の入力が、その直前の第1の操作情報の入力から所定の時間内に行われたか否かが判定される。第2の操作情報の入力が所定の時間内に行われたと判定された場合、第1の操作情報の有効性の判定が実行される。
また本実施形態では、判定部120により、感度算出部118で算出されたタッチ操作の感度が所定の値よりも小さいか否かが判定される。タッチ操作の感度が所定の値よりも小さい場合は、第1の操作情報の有効性の判定が実行される。さらに本実施形態では、判定部120により、距離算出部119で算出された2点間の距離が所定の値よりも小さいか否かが判定される。2点間の距離が所定の値よりも小さい場合は、第1の操作情報の有効性の判定が実行される。判定部120により実行された判定の結果は、出力部121により出力される。出力部121は、CPU101及び入出力インタフェース105により実現される。
[情報処理装置の動作]
本実施形態に係る情報処理装置であるタブレット端末100の動作について説明する。図3及び図4は、その動作の概要について説明するための図である。図3に示すように、タッチペン1を用いてタッチパネル107の操作面10にタッチ操作が入力される場合を想定する。タッチ操作の入力は、種々のアプリケーションにおいて用いられる。例えば所定のアイコンの選択や移動、絵や文字等の描画等においてタッチペン1を用いたタッチ操作が入力される。
例えばタッチペン1の先端が非常に細い形状であるといったことが原因で、タッチ操作の感度が低くなってしまうことが起こり得る。そうすると、図4Aに示すように、操作面10の端部10aから端部10bまでムーブ操作を入力した場合に、タッチペン1が操作面10から離れていないにも関わらず、ムーブ操作が途切れてしまうことが起こり得る。この結果、描画される線11の開始点Sと終了点Eとの間に、描画が途切れてしまう途切れ部分12が発生する。そうすると、アイコン等の操作や絵の描画等にも大きな影響が出てしまう。本実施形態に係るタブレット端末100によれば、図4Bに示すように、途切れ部分12が補正された補正後の線13を描画することが可能となる。すなわち途切れ部分12の発生を防ぎことが可能となり、操作面10へのタッチ操作に関して操作性を向上させることが可能となる
図5及び図6は、途切れ部分12の発生について詳しく説明するための図である。図5及び6では、操作面10の左側の開始点Sから右側の終了点Eにむけてムーブ操作が入力される。ムーブ操作は、操作面10の上下方向に位置をずらしながら4回入力される。操作面10からタッチペン1が離されると、アップ操作を検出するための第1の操作情報として、アップイベント15(実線の丸印)が検出される。また操作面10にタッチペン1が接触すると、ダウン操作を検出するための第2の操作情報として、ダウンイベント16(破線の丸印)が検出される。ムーブ操作が入力されている間は、所定のサンプリングレートにおいて、ダウン位置を変化させながら継続的にダウンイベントが検出されている(ムーブ操作のダウンイベントは図示されていない)。
タッチ操作の感度が低い場合等では、ムーブ操作の入力中に誤ってアップイベント15が検出されてしまう場合ある。そうすると図5の4つの線11a‐11dに示すように、次にダウンイベント16が検出されまでの間は線11が描画されず途切れ部分12が発生してしまう。図5に示す線11aでは、描画の開始とともに繰り返しアップイベント15の誤検出が発生し、途中でも誤検出が発生してしまっている。線11bでは、前半部分と後半部分とでアップイベント15の誤検出が発生している。線11cでは、前半部分のほとんどの部分で、繰り返しアップイベント15の誤検出が発生している。線11dでは、中央部分でアップイベント15の誤検出が1回発生している。いずれの場合も、誤検出されたアップイベント15と次のダウンイベント16との間が途切れ部分12となっている。
本実施形態では以下に示す処理により、発生したアップイベント15は有効か否かが判定される。その結果、アップイベント15が有効であると判定された場合、そのアップイベント15がそのまま発行され、アップイベント15に基づいた処理が実行される。例えばドラッグされているアイコンをドロップする処理や、線や文字の描画の停止等が実行される。一方、アップイベント15が有効ではないと判定された場合、アップイベントが破棄される。そうすると図6に示すように、誤検出されたアップイベント15は破棄され、途切れ部分12が補正された補正後の線13a‐13dが描画される。タッチ操作がアイコンのドラッグ操作等であった場合に、その操作が中断されることなく適正に継続される。
なお図5の補正後の線13aには途切れ部分12が発生しているが、これは誤差である。その他の部分やその他の線13b−13dを見てみると、途切れ部分12の発生が十分に抑えられている。すなわちタッチ操作に関して高い操作性が発揮されていることがわかる。また図6では、途切れ部分12に描画された線12aがFilteredLineと記載されている。これはアップイベント15の有効性を判断する処理がフィルタとして設定され、そのフィルタの結果として描画される線12aであることを意味している。後述するが、本実施形態にでは、このフィルタを設定するか否かが動的に切り替えられる。
図7は、タブレット端末100による詳細な処理の一例を示すフローチャートである。アップイベント15が発生して入力部115へ入力されると(ステップ101)、タッチ操作の感度が所定の値よりも小さいか否かが判定される(ステップ102)。
図8は、タッチ操作の感度をもとにした判定を説明するためのグラフである。グラフには、指とタッチペンとのそれぞれで、操作面10の左右方向(図5等のx軸方向に相当)に複数回のムーブ操作が入力された場合の感度値が示されている。グラフの横軸は時間(msec)を表しており、グラフの縦軸は感度値を表している。感度値の算出方法は限定されず、例えば接触が検出される領域のサイズや、接触の強さ等が感度値として算出される。例えば、基本ソフト(OS:Operating System)機能を提供するAndroid上のMotionEvent.getSizeの値等が用いられてもよい。
グラフ上の×印は、指によるムーブ操作に対して検出されたムーブイベント17(継続的なダウンイベント)である。グラフの左下の一点鎖線で囲われた部分18の感度値は、操作面10への接触が行われる際の感度値である。ムーブ操作の開始時には、操作面10の開始点Sに指が押しつけられる。指が操作面10に接触する瞬間は接触面積が小さいので感度値は小さく、接触面積が大きくなるにつれて感度値は大きくな。グラフの右側の一点鎖線で囲われた部分19の感度値は、操作面10から指が離される際の感度値である。ムーブ操作が終了する終了点Eにおいて指が離されるにつれて接触面積が小さくなり、それに伴い感度値が小さくなる。開始点Sと終了点Eとの間の時間帯では、安定した感度値でムーブイベント17が検出されている。
指と比較して、タッチペンによるムーブ操作に対する感度値は、開始点S及び終了点Eにかかわらず総体的に低いものとなっている。そして誤って検出されたアップイベント15と、その次のダウンイベント16とが発生している。またグラフには、タッチペンによるムーブイベント20も図示されている。例えば所定の感度値を基準として、その値よりも大きい感度値が検出された場合はダウンイベントと判定され、小さい感度値が検出された場合はアップイベントとして判定される。図8に示すように、感度値が総体的に小さいタッチペンによるムーブ操作では、その操作の軌跡にもよるが、アップイベント15の誤検出が多く発生してしまっている。
本実施形態では、タッチ操作の感度が以下の式によりE(H)で表される。
なお式中のパラメータは以下の通りである。
Sn:タッチ開始からアップイベントが検出されるまでの感度値の履歴
NUM:履歴数
Size:閾値
すなわち、開始点Sからアップイベント15の発生までの間に検出されたタッチイベント(アップイベント15、ダウンイベント16、ムーブイベント20を含む)の感度値の平均値E(H)がタッチ操作の感度として算出され、その値が閾値Sizeよりも小さいか否かが判定される。なお感度値の履歴Snは、記憶部108に記憶されている。平均値E(H)が閾値Sizeよりも大きいと判定された場合(ステップ102のNo)、アップイベント15がそのまま発行される(ステップ103)。すなわち平均値E(H)が大きい場合には、指等の感度が高い操作体によりタッチ操作が入力されていると判断できる。そしてそのような場合には、アップイベント15の誤検出が発生する可能性は低いので、アップイベント15の有効性を判定する処理は実行されない。
平均値E(H)が閾値Sizeよりも小さいと判定された場合(ステップ102のYes)、タッチペン等の感度の低い操作体によりタッチ操作が入力されていると判定される。その場合アップイベント15の誤検出が発生している可能性があるので、アップイベント15に対する有効性の判定が実行される。そのために本実施形態では、タイマーが設定される(ステップ104)。従って本実施形態では、ステップ102のタッチ操作の感度の判定により、アップイベント15の有効性を判定する処理をフィルタとして設定するか否かが動的に切り替えられる。換言すれば、アップイベント15が有効か否かを判定するモードと、アップイベント15が有効か否かの判定を行わないモードとが、動的に切り替えられる。
アップイベント15の有効性を判定する場合には、フリック操作やマルチタッチ操作等において、有効であるアップイベント15が無効であるとして破棄される可能性が否定できない。そのために指等の感度値が高い操作体の場合には、有効性の判定が実行されないように動的に設定される。本実施形態では、低感度により誤検出が発生する可能性が高い状態と、高感度により安定して適正なタッチ操作が検出可能である状態とが判定され、有効性の判定の実行及び不実行が切り替えらえる。これによりタッチ操作に関する操作性を十分に高くすることが可能となる。
なお、タッチ操作の感度を算出する方法は限定されない。例えば上記したE(H)の式において、履歴数NUMの数が適宜設定されてもよい。アップイベント15の直前の所定の数のタッチイベントが履歴数NUMとして設定されてもよい。また感度の判定が適正に実行できるのであれば、1点のタッチイベントの感度値により判定が実行されてもよい。履歴数NUMを十分に大きい数とすれば、グラフの左下の部分18及び右側の部分19内の開始点S及び終了点Eにおける感度値に引っ張られない、適正な平均値E(H)を算出することが可能となる。履歴数NUMや閾値Sizeは、タッチパネルの特性や実行されるタッチ操作の種類等をもとに適宜設定されればよい。指等の感度値が高い操作体による操作を判定可能であれば、任意の設定が採用されてよい。
ステップ104からステップ108にて、タッチ操作の時間的な間隔をもとにした判定が実行される。図9は、タッチ操作の時間的な間隔をもとにした判定を説明するための図である。例えば図9に示すアップイベント15がムーブ操作中の誤検出であった場合、直後に次のダウンイベント16が期待できる。従って、アップイベント15の発行をタイマーによって遅延させて次のダウンイベント16を待つ。そして所定の時間内に次のダウンイベント16が検出された場合に、前に検出されたアップイベント15が破棄される。すなわちタイマーに設定する発火までの時間よりも図9に示すアップイベント15のタイムスタンプ(t−α)のαが小さくなる場合には、アップイベント15が破棄される。これにより途切れ部分12の発生を防止することができる。なお閾値として設置される時間の長さ、すなわちタイマーが発火するまでの時間の長さは適宜設定可能である。この時間は、適正なアップイベント15の発行までの遅延時間に直結するために、環境やデバイスに応じて適宜チューニングして設定されればよい。
図7に示すように、タイマーが開始され(ステップ105)、タイマーが発火したか否かが判定される(ステップ106)。次のダウンイベント16が検出される前にタイマーが発火した場合は(ステップ106のYes)、アップイベント15が発行される(ステップ103)。すなわちアップイベント15は誤検出ではないと判定される。これによりフィルタが無効化される。
タイマーが発火していないと判定された場合(ステップ106のNo)、次のダウンイベント16が検出されたか否かが判定される(ステップ107)。次のダウンイベント16が検出されていない場合(ステップ107のNo)はステップ106に戻る。次のダウンイベント16が検出された場合(ステップ107のYes)は、タイマーがキャンセルされる(ステップ108)。すなわちアップイベント15は誤検出である可能性があるとして、次の方向の変位量(角度)をもとにした判定が実行される。
図10は、基準方向と算出方向との変位量(角度)をもとにした判定を説明するための図である。アップイベント15の検出前の区間における、タッチイベントの履歴H(H1,H2,….)
から移動量の平均を取り基準点Bが算出される。例えば以下の式に示すように、開始点Sからアップイベント15のアップ位置であるアップ点Oまでの、各区間の移動量の平均が算出される。
(Bx,By)は、アップ点Oを基準とした基準点Bのx及びy座標である。そしてアップ点Oから基準点Bへ向かう方向(ベクトルK)が基準方向となる。基準方向の算出方向は限定されない。例えばアップ点O以前の所定の数の区間における平均移動量が算出されて基準方向が算出されてもよい。またアップ点Oと1つ前のダウン点H1とを結ぶ方向が基準方向として算出されてもよい。その他、アップ点O以降もムーブ操作が継続された場合に進むであろうと予測される方向が、任意の方法により算出されてよい。
またアップ点Oからダウン位置であるダウン点Aへ向かう方向(ベクトルM)が算出方向として算出される。そして基準方向と算出方向との変位量として、ベクトルKとベクトルMとの間の角度α(∠AOB)が判定される。この角度αが所定の値よりも小さい場合は、ムーブ操作中の誤検出であるとしてアップイベント15が破棄される。角度αが所定の値よりも大きい場合、操作面上の異なる位置へジャンプして移動したと判定され、アップイベント15がそのまま発行される。
この角度αの判定について、本実施形態では、アップ点O、基準点B、ダウン点Aのそれぞれの座標からcosαが算出される。そしてこのcosαが閾値Angleよりも大きいか否かが判定される。αの判定範囲を0°から180°として、その範囲ではcosαは減少関数である。従って、cosαが閾値Angleよいも小さい場合は、角度αが所定の閾値よりも大きいことになる。またcosαが閾値Angleよいも大きい場合は、角度αが所定の閾値よりも小さいことになる。
cosαの算出のために、まず線分OAの大きさ(ベクトルMの大きさ)、線分OBの大きさ(ベクトルKの大きさ)及び線分ABの大きさ(ベクトルDの大きさ)が、以下の式にて算出される。
そして以下の式に示すように、余弦定理を用いてcosαが算出され、閾値Angleとは比較される。
このcosαが閾値Angleよりも小さい場合(αの角度が大きい場合)、連続した点ではないと判断されフィルタが無効化される。すなわち図7のステップ109においてNoと判定され、アップイベント15が発行される。cosαが閾値Angleよりも大きい場合(αの角度が小さい場合)、アップイベント15の有効性を判定するために、次の2点間の距離をもとにした判定が実行される。上記した角度による判定は、主にタッチペンで文字を書く場合等において、感度不足と筆跡を勘違いし過剰に点を結線してしまう問題に有効である。
図11は、アップ位置とダウン位置との距離をもとにした判定を説明するための図である。以下の式に示すように、アップ点Oとその次のダウン点Aとの距離dが算出され、閾値Distanceと比較される。
距離dが閾値Distanceよりも大きい場合、連続した点ではないと判断されフィルタが無効化される。すなわち図7のステップ110においてNoと判定され、アップイベント15が発行される。距離dが閾値Distanceよりも小さい場合(ステップ110のYes)、アップイベント15は無効と判定され破棄される(ステップ111)。そしてムーブイベントが継続して発行される(ステップ112)。上記した2点間の距離dによる判定は、例えばマルチタッチ操作による距離の離れた2点間の交互の素早い連続タップ操作と、低感度によるアップイベント15の誤検出とを判別するのに有効である。
図12は、アップイベント15の有効性を判定するために用いられる各パラメータの調整について説明するための表である。上記した角度、時間、感度及び距離をパラメータとして、アップイベント15の有効性を判定する際には、以下に示すような影響が発生する可能性がある。従って各パラメータについて適切にチューニングすることが有効となる。
(1)フリック操作の判定のレスポンスが遅延する可能性がある。
(2)連続タップが困難となる可能性がある。
(3)分割して行った2つのムーブ操作が1つにまとめられてしまう過剰結線問題が発生する可能性がある。
特にタイマーを設定して判定する場合には、タイマーが発火するまでは判定は待たされるので、上記のフリック操作の判定レスポンスへの影響は大きくなる。
図23に示す「flag_senscomp」というパラメータは、アップイベント15を判定するためのフィルタ自体の有効及び無効の設定を意味する。フィルタを有効にする場合はパラメータは1となり、無効とする場合は0となる。このパラメータに関してチューニング時の注意点はない。なお図12の表に示すパラメータ名は適宜設定されてよい。
「delay」は、リリースイベント(アップイベント16)の最大遅延時間を意味する。これはタイマーの発火までの時間に相当する。この設定値の時間分だけリリースイベントが遅延する可能性がある。とくにフリック操作開始のレスポンスに影響を及ぼすため、値を大きくする場合には、影響を十分に確認する必要がある。「delay」の値は、例えばタッチパネル107のリフレッシュレートや取りこぼしを救う座標数等をもとに、アップイベントの有効性を判定するのに適正な時間が算出されればよい。
「size_enabled」は、タッチ操作の感度による補完契機判断機能の有効及び無効の設定を意味する。ここで補完の契機とはフィルタを設定するか否かに相当する。従って「size_enabled」は、この補完の契機にタッチ操作の感度を用いるか否か(図7のステップ102を設定するか否か)の設定を意味する。補完契機判断機能を有効とする場合パラメータ1となる。無効とする場合は0となり、タッチ操作の感度に関する閾値によらず、フィルタが設定され、すべてのアップイベント15に関して有効性が判定される。このパラメータは、指等の感度の高い操作体が用いられた場合に、フィルタの設定により影響が出てしまう可能性を抑えることができる。例えば、代替手段がない場合には、常に有効とする、といった設定が考えられる。
「size」は、感度による補完契機判断機能が有効である場合に、その判断に用いられる閾値である。図8の説明でも述べたように、例えば感度履歴の平均がこの値以下の場合は、フィルタが設定され、そのタッチ操作が補完対象となる。例えばタッチイベントを取りこぼし始めるサイズ以上、かつ指で触ったときと低感度のタッチペンで触ったときとの区別が十分にできる値が設定される。値が大きすぎると、フリック操作開始のレスポンスに影響を及ぼす可能性があるので、その点も注意する。
「distance_enabled」は、距離による補完契機判断機能の有効及び無効の設定を意味する。すなわち補完の契機に2点間の距離を用いるか否か(図7のステップ110を設定するか否か)のパラメータが「distance_enabled」となる。有効とする場合パラメータは1となる。無効とする場合は0となり距離の閾値によらず、アップイベント15に関して有効性が判定される。
「distance」は、距離による補完契機判断機能が有効である場合に、その判断に用いられる閾値である。アップ位置とダウン位置との距離(跳躍距離)がこの値以下の場合は、フィルタが設定され、そのタッチ操作が補完対象となる。例えば低感度状態で判別すべき連続タップの距離間隔以上の値に設定される。またUI(User Interface)上に表示された複数のボタン間の距離等も考慮にいれて閾値が設定されてもよい。また値が大きいと、文字を描画する場合等で、過剰結線(アップイベント15が破棄されて描画線が繋がり過ぎてしまう現象)を引き起こす可能性があるので注意する。
「angle_enabled」は、角度による補完契機判断機能の有効及び無効の設定を意味する。すなわち補完の契機に基準方向と算出方向との変位量を用いるか否か(図7のステップ109を設定するか否か)のパラメータが「angle_enabled」となる。有効とする場合パラメータは1となり、無効とする場合は0となり角度の大きさによらず、アップイベント15に関して有効性が判定される。このパラメータは、例えば文字を書く際の過剰結線を防止するのに有効である。
「angle」は、距離による補完契機判断機能が有効である場合に、その判断に用いられる閾値である。この値が小さい過ぎる場合、過剰結線が多く発生する可能性が高くなる。逆に大きすぎると、曲線を描いている場合等において、補完すべき状況でフィルタが動作しない可能性がでてくる。例えは、「distance」の閾値とバランスをとりながらチューニングされる。
「QTP_SENSCOMP_RECORDHISTORY_POS_MAX」は、記憶部108に記憶しておく座標履歴の数である。これは基準方向と算出方向との変位量の算出に用いられる。例えば、線を引いている際の算出方向が十分に算出できる数に設定される。また基準方向を算出するために最低2点以上を必要とするアルゴリズムが用いられる場合には、必ず2以上の値に設定される。
「QTP_SENSCOMP_RECORDHISTORY_SIZE_MAX」は、記憶部108に記憶しておく感度履歴の数である。これは感度の算出に用いらえる。値が小さすぎる場合、高感度時のタッチDown/Upによるサイズ値減少に過剰反応してしまう可能性がある。サイズ減少が生じる可能性のある座標数以上かつ減少したサイズ値を含めて平均をとっても閾値Sizeで十分に判断できる値とする。
図13は、本実施形態に係るタブレット端末100の動作例を示す状態遷移図である。図14は、本実施形態において定義されるイベントの一例を示す図である。図15は、本実施形態において定義される状態の一例を示す図である。
例えばタッチ操作に関する操作情報が判断され、図14に示すイベント「INIT」「SINGLETOUCH」「MOULTITOUCH」「NOFINGER」「TIMEOUT」及び「RESET」に適宜置換される。また図15に示す4つの状態「INACTIVE」「READY」「ACTIVE」及び「TRICK」はそれぞれ独立して存在しており、上記の内部イベント以外での遷移は発生しないとする。
図13に示すような状態の遷移が行われが、その中でイニシャライズされてからフィルタが動作し、待機状態に戻る場合の遷移を以下に示す。
(1)[INACTIVE]初期化完了。READYへ遷移。
(2)ユーザ操作によるドラッグ開始(ムーブ操作開始)。
(3)[READY]シングルタッチイベントを受信。フィルタ動作開始。ACTIVEへ遷移。
(4)低感度によるリリースイベント発生(ユーザはドラッグ中)。
(5)[ACTIVE]リリースイベント受信。タイマーを張ってTRICKへ遷移。この時、呼出し元のドライバに上位へのリリースイベント通知を抑止するメッセージを返却(アップイベントの発行を遅延させる)。
(6)低感度から復帰しシングルタッチ発生。
(7)[TRICK]シングルタッチ受信。タイマーをキャンセルしACTIVEへ遷移。
(8)ユーザ操作終了。
(9)[ACTIVE]リリースイベント受信。タイマーを張ってTRICKへ遷移。
(10)[TRICK]タイムアウト受信。ドライバ側へ上位へのリリースイベント発行を要求しREADY状態へ遷移(アップイベントの発行)。
以上、本実施形態に係る情報処理装置であるタブレット端末100では、操作体の操作面10へのタッチ操作を検出するための操作情報として、アップ操作を検出するためのアップイベント15と、ダウン操作を検出するためのダウンイベント16とが入力される。アップイベント15の次にダウンイベント16が入力された場合、アップ点Oを基準とした基準方向と、アップ点Oからダウン点Aへ向かう算出方向との変位量をもとに、入力されたアップイベント15が有効であるか否かが判定される。例えば、変位量が所定の値よりも小さい場合は、実際にはアップ操作が行われていない可能性が大きい。従ってそのような場合には、アップイベント15は破棄される。これにより、アップ操作の誤検出に伴う誤った処理の実行を防ぐことができ、操作面10へのタッチ操作に関して操作性を向上させることが可能となる。また間隔時間、感度、及び距離に関する所定の条件を満たす場合に、アップイベント15の有効性が判定されるように設定することで、種々のタッチ操作に適応した高い操作性を実現することが可能となる。
またユーザ操作の安定的な検出が困難な状況下においても、誤動作を防止し、より実際の操作に近いトラッキングを実現することが可能となる。また安定的に検出できている場合にはフィルタが自動的に無効化され、操作に悪影響を与える可能性を抑えることができる。また本技術は、タッチパネルデバイスの方式によらず適用可能である。例えば、静電方式でのタッチペン入力や細い指での入力、感圧方式での圧力不足による検出漏れ、ホバー方式での検出不足(手袋使用時も含む)等の対策として十分に効果を発揮することができる。
<その他の実施形態>
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
上記の実施形態では、図10に示すように、アップ位置を基準とした基準方向と、アップ位置からダウン位置へ向かう方向として算出された算出方向との変位量をもとに、第1の操作情報が有効であるか否かが判定された。これにより、タッチペンで文字を書く場合等における過剰結線問題の発生が防止されている。
この方法に限定されず、他の方法により、操作体の動きをもとにした第1の操作情報の有効性の判定が実行されてもよい。すなわちアップ位置又はアップ位置を基準とした位置における操作面上の移動方向の変化量に基づいて、入力された第1の操作情報の有効性が判定されてもよい。例えばアップ位置又はアップ位置を基準とした位置までの操作体の移動方向と、アップ位置又はアップ位置を基準とした位置を通過後の操作体の移動方向との変化量が算出され、その変化量が所定の値よりも小さい場合には、入力された第1の操作情報は有効でないと判定されてもよい。なおアップ位置を基準とした位置とは、例えばアップ位置の近傍領域に含まれる位置等のことである。その他、操作体の移動方向の変化量を算出するために用いられる位置(座標点)を含む概念である。以後、アップ位置及びアップ位置を基準とした位置というのを、アップ位置等と記載する。
アップ位置等における移動方向の変化量の算出方法は、限定されず、任意の技術が用いられてよい。例えばアップ位置等を通る曲線が近似的に算出され、アップ位置等における曲率をもとに移動方向の変化量が算出されてもよい。近似曲線の算出方法として、スプライン曲線の算出方法等が適宜用いられてもよい。また、ダウン位置の情報が用いられることなく、移動方向の変化量が算出されてもよい。その他、カメラ等を含む他のセンサ装置により操作体の動きが検出され、その結果をもとに移動方向の変化量が算出されてもよい。このように移動方向の変化量が算出されることで、上記した過剰結線問題を防止することが可能となる。
なお、上記の実施形態においては、アップ位置を基準とした基準方向と、アップ位置からダウン位置へ向かう方向として算出された算出方向との変位量をもとに、操作体の操作面上の移動方向の変化量が定められていることになる。すなわち、移動方向の変化量を判定する1つの方法として、基準方向と算出方向との変位量の判定が用いられている。これにより簡単な演算にて移動方向の変化量を判定することが可能となっている。
上記では、第1の操作情報の入力の次に第2の操作情報の入力された場合に、第1の操作情報の有効性が実行された。しかしながら、次に第2の操作情報が入力されたか否かにかかわらず第1の操作情報の有効性の判定が実行されてもよい。例えばダウン位置の情報を用いない場合等で、そのような処理が実行される。これにより判定処理の処理速度を向上させることができる。一方、次に第2の操作情報が入力された場合に信頼性の判定を実行させる場合では、全体の演算処理量を軽減させることが可能となる。
上記の図7に示すフローチャートでは、各パラメータによる判定が、以下の順番にて実行された。
(1)タッチ操作の感度の判定
(2)アップイベント検出からのタイマー判定
(3)方向の変異量(角度)の判定
(4)距離の判定
そして特に(3)の角度の判定を前提としてこれにその他のパラメータによる判定を加える形で実施形態を説明した。しかしながらタッチ操作の操作性を向上させるための技術は、(3)を前提とした技術に限定されるわけではない。
例えば上記の(1)から(4)のうちの任意の1つ、あるいは任意の組み合わせによって、アップイベントの有効性が判定されてもよい。例えば(2)のタイマー判定を基準として、そのタイマー判定で所定の時間内にダウンイベントが検出された場合に、その他の(1)(3)及び(4)のいずれか若しくは組み合わせにより、アップイベントの有効性が判定されてもよい。いずれのパラメータを用いるかは任意であり、アプリケーションの種類や入力されるタッチ操作の種類等により適宜設定されてよい。またその設定が自動的に実行されてもよい。
(2)のタイマー判定が基準となる場合に、上記でも述べたが、フリック動作等に影響がでてしまう可能性がある。その影響を軽減することを目的に、適宜(1)(3)及び(4)が追加として設定されてもよい。
タッチパネルの表示面等に表示されるUIに設定項目を設けて、各パラメータの機能のON/OFF等がユーザに選択可能であってもよい。これによりユーザ毎に適した使用感を実現することができる。また、アプリケーションやUI毎に機能をON/OFFする機構を利用することで、特定シーンにのみにアップイベントの有効性を判定するフィルタを設定させるといったことも可能である。
上記では、時間、感度、距離、軌跡の角度によって、有効性の判定が実行された。さらにその他の要素が有効性を判定するためのパラメータとして用いられてもよい。これにより、より厳密な判定を実行することが可能となる。例えば、筆跡や操作の癖、UI部品の位置等の実際に入力される操作を推測可能な要素が、パラメータとして用いられてもよい。
本技術の適用範囲は、タッチパネル等のタッチセンサデバイスに限定されない。例えば、カメラを用いたポインティングデバイスにおいて、画素の情報等から本アルゴリズムで定義するノード数(感度:サイズ)を算出することで、同様の効果が得られる。またポインティングデバイスがネットワーク越しに用意されていた場合、通信状況などをノード数として本技術を適用することで、同様の効果が得られる。
図16は、本技術に係る有効性の判定を実行するモジュールの実装例を示すブロック図である。タッチパネルデバイスの性能は年々向上してきており、その精度は非常に高いレベルにまで到達しつつある。一方で、さらに厳しいユーザ要求や様々な環境要因などもあり、必ずしもすべてのユースケースにおいて必要十分な性能があるとは言えない。現時点でそのような要求にこたえるためには、デバイスの限界性能の先を補う必要がある。本実施形態に係る有効性判定モジュールは、そのような厳しい要求をソフトウェア的に補完するために用意されたフィルタ群として実現させることが可能である。
図16に示すように、有効性判定モジュールは、タッチパネルイベントのHW⇒Driver⇒Kernelという一連のデータフローの間に挟み込む形で実装することが可能である。これにより、HWからKernelまでのフローを大きく変更することなく本技術を実施することができる。TouchPanelDriverはHWモジュールから通知されたタッチイベント(1)をkernelに通知する前に、有効性判定モジュールに通すことで(2)、補正された結果および補足情報を得ることができる(3)。その後、TouchPanelDriverは補足情報の判断などを行い、必要に応じてKernelに補正後のイベントデータを通知する(4)。このような実装が可能である。しかしながら、実装されるレイヤは限定されない。タッチパネルのドライバレイヤに実装されてもよいし、デバイスファームウェアからアプリ層までの、どのレイヤにも実装可能である。
アップイベントの有効性を判定するためのパラメータが、状況に応じて動的に変更されてもよい。図17は、その動的な変更例を示す図である。図17に示すように、操作面10の左上の点を基準点Qとして、x座標成分の範囲を0からX_Max、y座標成分を0からY_Maxとして座標系を設定する。そして(X_Max/2,Y_Max/2)を画面中心Pとして見た場合に、その画面中心Pにおいて最もノイズが少なく、画面端に行くにつれノイズレベルが高くなる。これに合わせて距離の閾値Distance及び角度の閾値Angleを動的に変える事により、より効果的にフィルタを有効化することが可能となる。例えばタッチ領域が画面の中央Pから端になりノイズレベルが(小→大)になったとする。それに合わせて閾値Distanceを(小→大)に動的に変え、また閾値Angleを(大→小)に動的に変更する。これにより高い操作性を実現することが可能となる。また、手書き入力エリアなどに限定して本アルゴリズムをOn/Offすることで操作性を向上させてもよい。
本技術に関連した技術として、以下に説明する歪み補正技術が用いられてもよい。例えばこの歪み補正がフィルタとして追加して設定されてもよい。
図18−図20は、その歪み補正技術の概要を説明するための図である。静電容量式のタッチパネルを搭載するデバイスでは、液晶ディスプレイ(LCD:Liquid Crystal Display)の画面端部201において座標精度が著しく低下するという問題が起こることが多い。この問題は、画面端部201においてGUI(Graphical User Interface)を操作しにくい等のユーザビリティを大きく損なう恐れがある。この問題の原因としては、図19に示すように、端部201におけるセンサ202の不存在が挙げられる。すなわち静電容量式のタッチパネル207では、一般的に接触点210の周囲のセンサ値をもとに座標値が算出される。しかしながら画面端部201においては、画面外側にセンサ202(図中の格子の頂点に位置する)が存在しないため座標検出の精度が十分に得られない。その結果図19及び図20に示すように、タッチパネル207により認識される認識点220の座標が、実施の接触点210の座標よりも画面端225に張り付くような方向にずれることが認識された。ここで説明する歪み補正技術では、機種ごとに歪み(座標のずれ)のパターンをモデル化し、画面端部201での線形性を高めることを目的とした補正が実行される。
図21−図23は、歪み補正技術の詳細を説明するための図である。画面端部201において線形性が低下する主な原因を座標値算出のための参照点不足(センサ不足)と考えると、図19及び図20にも示すように、Y方向のセンサ値が十分に参照できる位置においては、主にX方向のずれが発生すると考えられる。実際のデバイスにおいて、画面をY軸方向に4つの領域に分割し、各領域において実際の接触点210と認識点220とのずれ量を測定してみると、X方向の画面端部201でずれ量が大きくなっており、ずれの程度はY軸方向の位置にほとんど依存していないことが確認できた。従って、歪み補正フィルタはX方向とY方向とで互いに独立して補正を実行することが可能となる。
歪み補正フィルタの詳細な補正アルゴリズムの一例を説明する。まず画面端部201における真値からのずれ量を各軸方向での画面端205からの距離d(≧0)に関するf(d)で表現できるとする。ここでf(d)は複数のパラメータΘで決まるパラメトリックな非線形フィッティング関数としてfΘ(d)と表す。このfΘ(d)を、例えば以下の対数を用いた式にて表す。
この関数fΘ(d)を用いて、Θの値を調整すると画面端205からの距離dに関する真値からのずれ量は、図21に示すように近似される。図21の横軸はx座標であり、横軸はx軸方向における座標のずれである。パラメータ列Θの設計に関しては様々な手法が考えられるが、ここでは工業用ロボットを用いて精密にプロットした座標(≒真の値)とタッチパネルが通知してくる座標とのズレ量を評価値とする最小化問題として定式化し、一般的な探索的手法で準最適解を求めるアプローチを採用した。その他の方法が用いられてもよい。この近似されたずれ量を座標値の補正量として用いて、タッチパネルが認識した値pの値を以下の式に示すように画面端205から遠ざかる方向に補正する。ここで、p0は座標点pから最も近い画面端205の座標であり、p’は補正後の座標である。
実際に本歪み補正フィルタをドライバ内で実装する際には、数学関数を用いた連続関数としてfΘ(d)を実装することは難しいことが多い。そこで図22に示すように、Θの設計と同時にfΘ(d)をX、Y方向に関してそれぞれテーブル化し、実際の仕様の際には位置に応じた補正量をテーブル引きする等の処理も有効である。このようなアルゴリズムにより、図23に示すように、認識点220の座標を接触点210の実際の座標に近似することで、画面端部201の歪みを補正することが可能となる。
図24は、歪み補正フィルタにて用いられるパラメータのチューニングについて説明するための表である。各パラメータに対して、対象デバイスに適したチューニングを行うことで、高い効果を得ることが可能となる。この中で「array_x_edge_filter」及び「array_y_edge_filter」の各補正量テーブルは、事前に補正関数をテーブル化したものであり、典型的には、本テーブル内の一部分を直接変更することは行われない。チューニングの際には、まず関数の再設計を行ってから再テーブル化が行われる。しかしこれに限定されるわけではない。
図25及び26は、歪み補正フィルタの効果を操作面310全体にて観察するための図である。図25は補正前の図であり、図26は補正後の図である。図26の画面端部301の全領域において、座標値が適正に補正されていることがわかる。なお、歪み(座標のずれ)のパターンをモデル化することで、操作面310の全領域において座標値の補正を実行することも可能である。例えばフィッティング関数を適宜設定することでそのような補正が可能となる。
以上説明した各形態の特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。
なお、本技術は以下のような構成も採ることができる。
(1)操作体の操作面への操作を検出するための操作情報として、前記操作面からのアップ操作を検出するための、前記アップ操作が行われた位置の情報としてのアップ位置の情報を含む第1の操作情報を入力可能な入力部と、
前記アップ位置を基準とした位置における前記操作体の前記操作面上の移動方向の変化量に基づいて、前記入力された第1の操作情報が有効か否かを判定する制御部と
を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
前記制御部は、前記操作体の前記操作面上の移動方向の変化量が、所定の値よりも小さい場合に前記入力された第1の操作情報は有効ではないと判定する
情報処理装置。
(3)(1)又は(2)に記載の情報処理装置であって、
前記入力部は、前記操作面へのダウン操作を検出するための、前記ダウン操作が行われた位置の情報としてのダウン位置の情報を含む第2の操作情報を入力可能であり、
前記制御部は、前記第1の操作情報の入力の次に、前記ダウン操作を検出するための前記第2の操作情報が入力された場合に、前記判定を実行する
情報処理装置。
(4)(3)に記載の情報処理装置であって、
前記制御部は、前記アップ位置を基準として算出された基準方向と、前記アップ位置からその次の前記ダウン位置へ向かう方向として算出された算出方向との変位量をもとに、前記操作体の前記操作面上の移動方向の変化量を定める
情報処理装置。
(5)(3)又は(4)に記載の情報処理装置であって、
前記制御部は、前記第2の操作情報の入力が前記第1の操作情報の入力から所定の時間内に行われた場合に、前記判定を実行する
情報処理装置。
(6)(3)から(5)のうちいずれか1つに記載の情報処理装置であって、
前記制御部は、前記アップ操作及び前記ダウン操作を少なくとも含む前記タッチ操作の感度が所定の値よりも小さい場合に、前記判定を実行する
情報処理装置。
(7)(3)から(6)のうちいずれか1つに記載の情報処理装置であって、
前記制御部は、前記アップ位置と前記ダウン位置との距離が所定の値よりも小さい場合に、前記判定を実行する
情報処理装置。
O…アップ点
A…ダウン点
10…操作面
15…アップイベント
16…ダウンイベント
100…タブレット端末
101…CPU101
105…入出力インタフェース
107…操作部(タッチパネル)
115…入力部
116…タイマー部
117…方向変位量(角度)算出部
118…感度算出部
119…距離算出部
120…判定部
121…出力部

Claims (9)

  1. 操作体の操作面への操作を検出するための操作情報として、前記操作面からのアップ操作を検出するための、前記アップ操作が行われた位置の情報としてのアップ位置の情報を含む第1の操作情報を入力可能な入力部と、
    前記アップ位置を基準とした位置における前記操作体の前記操作面上の移動方向の変化量に基づいて、前記入力された第1の操作情報が有効か否かを判定する制御部と
    を具備する情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記制御部は、前記操作体の前記操作面上の移動方向の変化量が、所定の値よりも小さい場合に前記入力された第1の操作情報は有効ではないと判定する
    情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記入力部は、前記操作面へのダウン操作を検出するための、前記ダウン操作が行われた位置の情報としてのダウン位置の情報を含む第2の操作情報を入力可能であり、
    前記制御部は、前記第1の操作情報の入力の次に、前記ダウン操作を検出するための前記第2の操作情報が入力された場合に、前記判定を実行する
    情報処理装置。
  4. 請求項3に記載の情報処理装置であって、
    前記制御部は、前記アップ位置を基準として算出された基準方向と、前記アップ位置からその次の前記ダウン位置へ向かう方向として算出された算出方向との変位量をもとに、前記操作体の前記操作面上の移動方向の変化量を定める
    情報処理装置。
  5. 請求項3に記載の情報処理装置であって、
    前記制御部は、前記第2の操作情報の入力が前記第1の操作情報の入力から所定の時間内に行われた場合に、前記判定を実行する
    情報処理装置。
  6. 請求項3に記載の情報処理装置であって、
    前記制御部は、前記アップ操作及び前記ダウン操作を少なくとも含む前記タッチ操作の感度が所定の値よりも小さい場合に、前記判定を実行する
    情報処理装置。
  7. 請求項3に記載の情報処理装置であって、
    前記制御部は、前記アップ位置と前記ダウン位置との距離が所定の値よりも小さい場合に、前記判定を実行する
    情報処理装置。
  8. 操作体の操作面への操作を検出するための操作情報として、前記操作面からのアップ操作を検出するための、前記アップ操作が行われた位置の情報としてのアップ位置の情報を含む第1の操作情報を入力し、
    前記アップ位置を基準とした位置における前記操作体の前記操作面上の移動方向の変化量に基づいて、前記入力された第1の操作情報が有効か否かを判定する
    ことをコンピュータが実行する情報処理方法。
  9. 操作体の操作面への操作を検出するための操作情報として、前記操作面からのアップ操作を検出するための、前記アップ操作が行われた位置の情報としてのアップ位置の情報を含む第1の操作情報を入力するステップと、
    前記アップ位置を基準とした位置における前記操作体の前記操作面上の移動方向の変化量に基づいて、前記入力された第1の操作情報が有効か否かを判定するステップと
    をコンピュータに実行させるプログラム。
JP2013047746A 2013-03-11 2013-03-11 情報処理装置、情報処理方法、及びプログラム Pending JP2014174801A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013047746A JP2014174801A (ja) 2013-03-11 2013-03-11 情報処理装置、情報処理方法、及びプログラム
US14/196,737 US20140253482A1 (en) 2013-03-11 2014-03-04 Information processing apparatus, information processing method, and program
CN201410075605.7A CN104049793A (zh) 2013-03-11 2014-03-04 信息处理设备、信息处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013047746A JP2014174801A (ja) 2013-03-11 2013-03-11 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2014174801A true JP2014174801A (ja) 2014-09-22

Family

ID=51487276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013047746A Pending JP2014174801A (ja) 2013-03-11 2013-03-11 情報処理装置、情報処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US20140253482A1 (ja)
JP (1) JP2014174801A (ja)
CN (1) CN104049793A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016076156A (ja) * 2014-10-08 2016-05-12 ローム株式会社 タッチパネル、タッチパネルコントローラおよびその制御方法、および電子機器
JP2016128970A (ja) * 2015-01-09 2016-07-14 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
WO2017110257A1 (ja) * 2015-12-21 2017-06-29 ソニー株式会社 情報処理装置および情報処理方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6437775B2 (ja) * 2014-09-30 2018-12-12 エルジー ディスプレイ カンパニー リミテッド タッチパネル装置およびタッチパネルのタッチ位置座標算出方法
US9971442B2 (en) * 2014-10-29 2018-05-15 Microchip Technology Germany Gmbh Human interface device and method
JP2017134638A (ja) * 2016-01-28 2017-08-03 株式会社東海理化電機製作所 操作検出装置
CN105867822B (zh) * 2016-03-31 2019-12-24 联想(北京)有限公司 一种信息处理方法及电子设备
US10455115B2 (en) * 2017-05-19 2019-10-22 Microsoft Technology Licensing, Llc Adaptive stylus position interpolation
JP6961451B2 (ja) * 2017-10-12 2021-11-05 キヤノン株式会社 電子機器、その制御方法およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8896575B2 (en) * 2002-11-04 2014-11-25 Neonode Inc. Pressure-sensitive touch screen
US20060244733A1 (en) * 2005-04-28 2006-11-02 Geaghan Bernard O Touch sensitive device and method using pre-touch information
US20100185949A1 (en) * 2008-12-09 2010-07-22 Denny Jaeger Method for using gesture objects for computer control
TWI484380B (zh) * 2009-07-31 2015-05-11 Mstar Semiconductor Inc 觸控點位移量判斷方法與判斷裝置
US8072437B2 (en) * 2009-08-26 2011-12-06 Global Oled Technology Llc Flexible multitouch electroluminescent display
US8341558B2 (en) * 2009-09-16 2012-12-25 Google Inc. Gesture recognition on computing device correlating input to a template
US9201520B2 (en) * 2011-02-11 2015-12-01 Microsoft Technology Licensing, Llc Motion and context sharing for pen-based computing inputs
WO2012162826A1 (en) * 2011-05-30 2012-12-06 Ni Li Graphic object selection by way of directional swipe gestures

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016076156A (ja) * 2014-10-08 2016-05-12 ローム株式会社 タッチパネル、タッチパネルコントローラおよびその制御方法、および電子機器
JP2016128970A (ja) * 2015-01-09 2016-07-14 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
WO2017110257A1 (ja) * 2015-12-21 2017-06-29 ソニー株式会社 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
CN104049793A (zh) 2014-09-17
US20140253482A1 (en) 2014-09-11

Similar Documents

Publication Publication Date Title
JP2014174801A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6009454B2 (ja) コンピューティング装置の動きを利用するコンピューティング装置と相互作用するときに発生する入力イベントの解釈の強化
KR101892567B1 (ko) 단말기에서 콘텐츠 이동 방법 및 장치
JP6292673B2 (ja) 携帯端末装置、誤操作防止方法、及びプログラム
EP3037927B1 (en) Information processing apparatus and information processing method
US20140053113A1 (en) Processing user input pertaining to content movement
US8839130B2 (en) Electronic apparatus, program, and control method
KR20150012300A (ko) 터치 스크린의 오조작 방지방법, 터치 스크린, 이동단말장치, 프로그램 및 기록매체
US9864514B2 (en) Method and electronic device for displaying virtual keypad
US10152220B2 (en) System and method to control a touchscreen user interface
US9430089B2 (en) Information processing apparatus and method for controlling the same
US20120056831A1 (en) Information processing apparatus, information processing method, and program
US20110043372A1 (en) Remote controller, remote control system and program
WO2014024396A1 (en) Information processing apparatus, information processing method, and computer program
KR102117086B1 (ko) 단말기 및 그의 조작 방법
JP2016062183A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2015035092A (ja) 表示制御装置及び表示制御装置の制御方法
WO2014057929A1 (ja) ユーザインタフェース装置、ユーザインタフェース方法及びプログラム
JP2010211264A (ja) 座標入力装置
JP2014109883A (ja) 電子機器及びその制御方法
WO2016208099A1 (ja) 情報処理装置、情報処理装置に対する入力を制御する入力制御方法及び入力制御方法を情報処理装置に実行させるためのプログラム
JP6566767B2 (ja) 情報処理装置、情報処理装置の制御方法、コンピュータプログラム、及び記憶媒体
JP6032654B2 (ja) 情報処理装置
JP2014056519A (ja) 携帯端末装置、誤操作判定方法、制御プログラムおよび記録媒体
US20110119579A1 (en) Method of turning over three-dimensional graphic object by use of touch sensitive input device