(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024005829
(43)【公開日】2024-01-17
(54)【発明の名称】情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G06F 3/041 20060101AFI20240110BHJP
【FI】
G06F3/041 522
G06F3/041 512
G06F3/041 600
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022106231
(22)【出願日】2022-06-30
(71)【出願人】
【識別番号】318012780
【氏名又は名称】FCNT株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】丸山 晃平
(72)【発明者】
【氏名】一瀬 岳
(57)【要約】
【課題】タッチパネルの表面に水滴が付着している状態でも一定程度正確なタッチ操作が可能な情報処理装置を提供することを目的とする。
【解決手段】ユーザの操作指示を受け付けるタッチパネルと、前記操作指示をタッチイベントとして検知する検知手段と、前記タッチイベントをもとに、前記タッチパネルが水に濡れた状態であるか否かを判定する判定手段と、前記タッチパネルが水に濡れた状態であると判定されている間、前記タッチパネルの検出感度を、基準感度よりも低い所定感度に切り替える切替手段と、を、備える、情報処理装置。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ユーザの操作指示を受け付けるタッチパネルと、
前記操作指示をタッチイベントとして検知する検知手段と、
前記タッチイベントをもとに、前記タッチパネルが水に濡れた状態であるか否かを判定する判定手段と、
前記タッチパネルが水に濡れた状態であると判定されている間、前記タッチパネルの検出感度を、基準感度よりも低い所定感度に切り替える切替手段と、
を、備える、情報処理装置。
【請求項2】
前記検知手段は、前記タッチパネルの静電容量の変化が、楕円状の領域に生じているかどうかを判断し、前記タッチイベントを、長径と短径とを有する楕円として取得する、
請求項1に記載の情報処理装置。
【請求項3】
前記検知手段は、前記タッチイベントを、ユーザの指毎の時系列情報として取得し、
前記判定手段は、前記タッチイベントに含まれる前記長径の変化率に対する前記短径の値を取得し、
前記長径の変化率に対する前記短径の値の対応関係が基準を超えた場合に、前記タッチパネルが水に濡れた状態であると判定する、
請求項2に記載の情報処理装置。
【請求項4】
前記判定手段は、前記長径の変化率のうちの最大値から最小値を引いたものと、前記短径の平均値とを算出し、
前記長径の変化率のうちの最大値から最小値を引いたものと、前記短径の前記平均値との対応関係が基準を超えた場合に、前記タッチパネルが水に濡れた状態であると判定する、
請求項3に記載の情報処理装置。
【請求項5】
前記基準は、前記タッチパネルが水に濡れている状態で前記タッチイベントをプロットした値と、前記タッチパネルが水に濡れていない状態で前記タッチイベントをプロットした値とを線形分離した分離直線である、
請求項3または4に記載の情報処理装置。
【請求項6】
前記判定手段は、前記分離直線を、ユーザの操作履歴を参照して変更する、
請求項5に記載の情報処理装置。
【請求項7】
タッチパネルへのユーザの操作指示を受け付けて、
前記操作指示をタッチイベントとして検知する検知ステップと、
前記タッチイベントをもとに、前記タッチパネルが水に濡れた状態であるか否かを判定する判定ステップと、
前記タッチパネルが水に濡れた状態であると判定された場合に、前記タッチパネルの検出感度を、基準感度よりも低い所定感度に切り替える切替ステップと、
を、備える、情報処理方法。
【請求項8】
ユーザの操作指示を受け付けるタッチパネルを備えるコンピュータに、
前記操作指示をタッチイベントとして検知する検知ステップと、
前記タッチイベントをもとに、前記タッチパネルが水に濡れた状態であるか否かを判定する判定ステップと、
前記タッチパネルが水に濡れた状態であると判定された場合に、前記タッチパネルの検出感度を、基準感度よりも低い所定感度に切り替える切替ステップと、
を、実行させる、情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
タッチパネルまたはタッチスクリーンと呼ばれる、表示装置と入力装置を組み合わせた装置が知られている。タッチパネルの検出方式の一例としては、静電容量式が知られている。静電容量式タッチパネルは、指とタッチパネルの間に発生する微弱な静電容量の変化を取得してタッチ位置を検出するが、静電容量は水滴によっても変化するため、表面に水滴が付着していると誤検出を起こすことがある。
【0003】
このため、水滴による誤検出を防止する技術が提案されている。一例として、水濡れを検出した場合にタッチ操作を禁止する技術(特許文献1、2)、また、タッチパネルから水滴を除去する技術(特許文献3)などが提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012-123740号公報
【特許文献2】特開2012-216053号公報
【特許文献3】特開2018-180745号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
タッチパネルを利用した情報処理装置の一例として、スマートフォン等の携帯情報端末が知られており、防塵防水性を有するものも知られている。特許文献1、2に開示されている技術では、表面に水滴が付着していることを検出した場合にタッチパネルの使用を制限する。しかし、タッチパネルの使用を制限すると、情報処理装置自体は防塵防水性を有しているにも関わらず、装置を操作可能な環境が限定されてしまう。また、特許文献3のようにタッチパネルから水滴を除去するためには、別途タッチパネルを振動させるアクチュエータが必要である。
【0006】
開示の技術の1つの側面は、タッチパネルの表面に水滴が付着している状態でも一定程度正確なタッチ操作が可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術の1つの側面は、次のような情報処理装置によって例示される。
ユーザの操作指示を受け付けるタッチパネルと、
前記操作指示をタッチイベントとして検知する検知手段と、
前記タッチイベントをもとに、前記タッチパネルが水に濡れた状態であるか否かを判定する判定手段と、
前記タッチパネルが水に濡れた状態であると判定されている間、前記タッチパネルの検出感度を、基準感度よりも低い所定感度に切り替える切替手段と、
を、備える、情報処理装置。
【発明の効果】
【0008】
開示の技術によれば、タッチパネルの表面に水滴が付着している状態でも一定程度正確なタッチ操作が可能な情報処理装置が提供できる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、タッチパネルを備える情報処理装置の一例を示す図である。
【
図3】
図3は、タッチパネルに指が触れている際の模式図である。
【
図5】
図5は、タッチパネルコントローラの処理の流れ図である。
【
図6】
図6は、タッチパネル全体の感度変更処理を示す流れ図である。
【
図7】
図7は、乾燥時と水濡れ時のタッチイベントの散布図である。
【
図8】
図8は、パラメータを変形した乾燥時と水濡れ時のタッチイベントの散布図である。
【
図9】
図9は、水濡れタッチであるかどうかを判別する閾値を示した図である。
【発明を実施するための形態】
【0010】
<実施形態>
以下に示す実施形態の構成は例示であり、開示の技術は実施形態の構成に限定されない。
【0011】
(情報処理装置の構成)
図1は、タッチパネルを備える情報処理装置の一例を示す図である。情報処理装置1は、その表面に対応する大部分に液晶ディスプレイや有機ELディスプレイ等の表示部が設けられており、当該表示部には、タッチパネル11が組み込まれている。このため、ユーザは表示部を視認しつつ、指でタッチパネルに触れて操作をすることができる。情報処理装置1は、タッチパネル11の裏側であってその筐体の内部に、高性能なプロセッサやバッテリー、通信部などを備えている。情報処理装置1の高性能なプロセッサと通信部を用いることにより、ユーザは通話等の外部との情報通信が可能である。また、情報処理装置1が備えるバッテリーは重量エネルギー密度が高く、ユーザは電源が存在しない場所にも情報処理装置1を運搬して使用できる。本開示に係る情報処理装置1は、一例としては、所謂スマートフォンやタブレットコンピュータである。勿論、情報処理装置1は、パーソナルコンピュータであってもよいし、その他の可搬性を有する情報処理端末であってよい。
【0012】
図2は、情報処理装置のブロック図である。情報処理装置1は、プロセッサ10と、タッチパネル11と、タッチパネルコントローラ12と、センサ13と、ディスプレイドライバ14と、メモリ15と、ストレージ16と、通信部17と、音声処理部18と、バッテリー19とを備えている。プロセッサ10は、単数または複数の演算コアを有するCPU(中央演算処理装置)、サウンドコントローラ、メモリコントローラ、単数または複数のグラフィックコアを有するGPU、通信モデム等を備えるSoC(System on
a Chip)であって、情報処理装置1の機能を制御する。なお、プロセッサ10が備える機能の一部または全部の機能を担う専用の半導体チップが用いられてもよい。
【0013】
タッチパネル11は、入力部11Aと、表示部11Bを備えている。表示部11Bは、タッチパネル11に情報を表示するディスプレイであり、液晶ディスプレイや有機ELディスプレイなどが挙げられる。入力部11Aは、タッチパネル11に対するユーザの操作を取得する。本実施形態では、入力部11Aのユーザの操作取得方式として静電容量方式が用いられる。静電容量式タッチパネルは、一例としては短冊状の透明電極を格子状に並べ、片方向の電極に信号を印加し、交差する方向で信号を測定し、交差点における静電容量を計測する。人間の手指のように接地した導電体が交差点に接近した場合、交差点付近の電界が減少する。静電容量式タッチパネルは、当該電界の変化を計測することで操作を検出可能である。
【0014】
タッチパネルコントローラ12は、タッチパネル11の感度を制御し、ユーザの操作を取得する機能を備える半導体チップ群である。タッチパネルコントローラ12は、タッチIC12Aと、コントロールIC12Bを備えている。タッチIC12Aは、タッチパネル11の直近に設けられる半導体チップであり、タッチパネル11に流す微弱電流や、タッチ入力取得モードの制御を行う。コントロールIC12Bは、プロセッサ10近傍に設けられる半導体チップであり、タッチIC12Aから取得した情報を解析し、タッチ操作情報をプロセッサ10に提供する機能を備えている。なお、コントロールICを設けず、プロセッサ10がコントロールICの機能を担うこととしてもよい。
【0015】
タッチパネルコントローラ12では、タッチパネル11の機能を規定する情報処理プログラムが動作する。タッチIC12Aと、コントロールIC12Bまたはプロセッサ10は、当該情報処理プログラムに基づいて、ユーザのタッチ入力に対応する処理を行う。情報処理プログラムは、タッチパネルコントローラ12の内部に格納されていてもよいし、ファームウエアとしてメモリ15またはストレージ16に格納されていてよく、OSの機能として提供されていてもよい。
【0016】
センサ13には、具体的にはマイク、カメラ、角速度センサ、GPSセンサ、磁気センサ等の各種センサと、必要な場合にはその制御用半導体チップが含まれる。センサ13が取得した情報も、プロセッサ10に提供される。ディスプレイドライバ14は、表示部の表示を制御する半導体チップであり、表示部が液晶パネルである場合にはバックライトの輝度、表示部が有機ELパネルである場合には各画素に提供する電圧を制御する。
【0017】
メモリ15は、プロセッサ10が使用するプログラムやデータを一時的に格納する揮発性のメモリである。ストレージ16は、プロセッサ10が使用するプログラムやデータを格納するメモリ15と比べると低速のストレージであって、フラッシュメモリ等の不揮発性メモリが用いられる。なお、ストレージ16としてハードディスクドライブ等が用いられてもよい。
【0018】
通信部17は、情報処理装置1の通信を制御する。通信は、無線タグ、無線LAN等の短距離無線通信、モバイルデータ通信回線等を含む。また、通信には、USB端子等を経由した他端末との有線通信を含む。音声処理部18は、ユーザに電話機としての機能を提供する。また、動画に含まれる音声や音楽を再生し、発声による操作を可能とする。バッテリー19は、リチウムイオンバッテリー等の重量エネルギー密度の高い蓄電池であり、情報処理装置1が電源に接続されていない場合に情報処理装置1に対して動作電力を供給する。バッテリー19から動作電力を供給されることにより、ユーザは情報処理装置1を任意の場所で使用することができる。
【0019】
ユーザは、タッチパネル11に一または複数の指を触れ、また必要に応じて触れたまま移動させることで、情報処理装置1に対して操作指示を出す。情報処理装置1のプロセッサ10は、情報処理装置1のメモリ15またはストレージ16上に搭載されたオペレーティングシステムやアプリケーションプログラム等の情報処理プログラムに従ってユーザの操作指示に応じ、電話、動画再生、ゲーム、ウェブサイト閲覧等の処理を実行し、ディスプレイドライバ14を介してタッチパネル11の表示部11Bに処理結果を表示する。
【0020】
(タッチパネルコントローラの動作)
以下に、タッチパネルコントローラ12の動作について詳述する。タッチパネルコントローラ12が有するタッチIC12Aは、タッチパネル11の感度を設定する感度レジスタを有しており、当該感度レジスタの内容は外部から制御可能である。表1に、感度レジスタの具体例を示す。
【表1】
【0021】
表1に示す感度レジスタであるレジスタTMODE_CFGのサイズは、一例としては1Byteである。値は、タッチパネル11の感度を示す値であり、一例としては、値が小さいほどタッチ位置を正確に判断する。この場合、レジスタTMODE_CFGの値が大きくなるとタッチ感度を低下させることができる。例えば、レジスタTMODE_CFGの値が大きく設定されている場合、ユーザがタッチパネル11に指先で触れたような場合にはタッチ入力を受け付けず、ユーザがタッチパネル11を指の腹でしっかりと押さえた場合にのみタッチ入力を受け付ける。
【0022】
タッチ感度が上昇すると、タッチパネル11は精密な操作を受け付けやすくなる反面、表面に水滴が付着している場合等、画面上に伝導性ノイズが存在する場合に誤作動を誘発することがある。一方、タッチ感度を低下させると、大まかな操作しか受け付けなくなる反面、ノイズによる影響が低減される。例えば、タッチIC12Aは、レジスタTMODE_CFGの値が0の場合には、高精度でタッチ入力を受け付け、レジスタTMODE_CFGの値が1の場合には、タッチ感度を低下させてノイズの影響を軽減する。この場合、TMODE_CFGの値が0の場合が基準感度の一例に相当し、1の場合が基準感度より低い所定感度の一例に相当する。本開示の例では、レジスタTMODE_CFGに格納可能な値は256種であり、タッチパネルの感度をより段階的に変化させることも可能である。プログラムまたは論理回路により感度レジスタTMODE_CFGの値を変更することで、タッチパネルコントローラ12は、タッチパネル11の検出感度を必要に応じて低下させる切替手段として機能する。なお、「基準感度」とは、表面に水滴が付着していない通常状態におけるタッチ感度であり、例えば、非水濡れ状態のタッチ操作でユーザの意図するタッチ位置を検知できる感度いう。また、「所定の感度」とは、表面に水滴が付着している水濡れ状態におけるタッチ感度であり、例えば、水濡れ状態のタッチ操作でユーザの意図するタッチ位置を検知できる感度をいう。
【0023】
タッチパネル11に対してユーザがタッチ入力を行うと、タッチパネルコントローラ12は、プログラムまたは論理回路によりタッチイベント検知手段として機能し、表2に示すようなタッチイベント情報を生成する。タッチパネルコントローラ12は、意図しないタッチイベントの発生や、手指以外の物体の接触による反応を抑制するため、静電容量の変化が楕円形状の領域に発生している場合にのみタッチイベントを認識する。このため、タッチイベントが発生している箇所は楕円として検出される。本実施形態のようにタッチパネルコントローラ12が複数の半導体チップから構成されている場合、タッチイベント情報は、タッチパネルコントローラ12が共通利用可能なキャッシュメモリに展開されてよく、必要に応じてタッチパネル近傍に設けられたタッチIC12Aからプロセッサ10近傍に設けられたコントロールIC12Bに対して送信されてよい。
【表2】
【0024】
パラメータSLOTは、タッチパネル11に同時にタッチしている指を識別するために割り当てられる値である。タッチパネルコントローラ12は、タッチパネル11に複数の指を当接させて複雑な操作を実現する、所謂マルチタッチ入力を受け付けることができる。タッチパネル11に接している指毎にIDを付加し、その動きを個別に管理する。例えば、SLOTが0の場合、1本目の指によるタッチイベントを示し、他のタッチイベントが発生していない場合には、シングルタッチを示す。SLOTが1以上の場合、1本目の指によるタッチイベントが継続している間に別の指によるタッチイベントが発生したことを示す。表2の例では、SLOTの値が2であるため、タッチイベントが開始した際、タッチパネル11に指が3本触れていたことを示す。
【0025】
パラメータPOSITION_Xは、楕円の中心のX座標の値であり、POSITION_Yは、楕円の中心のY座標の値である。TOUCH_MAJORは、楕円の長径を示し、TOUCH_MINORは、楕円の短径を示す。ORIENTATIONは、楕円の傾きを示す。PRESSUREは、指の押圧を示す値である。
【0026】
AREA_CHG_RATEは、指が触れたときの楕円の長径に対する変化率を示す値であり、タッチパネルコントローラ12が他のパラメータから演算することにより算出する。タッチIC12Aが表2に係るパラメータをメモリに書き込んでいる状態では、AREA_CHG_RATEパラメータは空欄であってよく、タッチパネルコントローラ12が後の解析工程において演算により求めて挿入する値である。
【0027】
ユーザがタッチパネル11に対してタッチ操作を行い、タッチパネルコントローラ12がタッチ操作を検知したとき、その情報はタッチイベントとしてタッチパネルコントローラ12からプロセッサ10に送られる。タッチイベントは、操作信号として情報処理装置1のオペレーティングシステムに認識される。タッチイベントは、指がタッチパネル11上に触れている場合には一定時間継続する。このため、タッチパネルコントローラ12は、同一のSLOT値のタッチイベントを時系列的に管理する。
【0028】
図3は、タッチパネルに指が触れている際の模式図である。タッチIC12Aは、ノイズを防ぐため、楕円状の静電容量変化を検出した場合にタッチ操作を検出する。図中に表示されているパラメータは表2と対応する。
【0029】
図4は、タッチICの処理の流れ図である。タッチIC12Aは、タッチパネル11の静電容量を定期的にスキャンする(ステップS200)。静電容量の変化が検出された場合、タッチIC12Aはスキャンデータを取得し、表2に示すタッチイベント情報を生成する(ステップS201)。続いて、タッチIC12Aは、表1に示す感度レジスタの値
を参照して読み取り感度の規定値を定める(ステップS202)。次に、タッチIC12Aは、タッチ半径を算出し、タッチ半径が、感度レジスタの値から設定された規定値を超えているかどうかを判断する(ステップS203)。タッチ半径は、表2に示すスキャンパラメータ、より具体的にはTOUCH_MAJORとTOUCH_MINERの値から算出できる。
【0030】
タッチ半径が規定値を超えている場合(S203でYES)、タッチIC12Aは、ホスト側、すなわちコントロールIC12Bに対してタッチを検出したことを送信する(ステップS204)。タッチ半径が規定値を超えていない場合(S203でNO)、タッチIC12Aは、コントロールIC12Bに対してタッチ情報を送信しない。
【0031】
図5は、タッチパネルコントローラの処理の流れ図である。タッチIC12Aからタッチ情報が発生すると、コントロールIC12Bには割り込み処理が発生し、コントロールIC12Bは、タッチ操作処理を開始する(ステップS300)。割り込みを受けたコントロールIC12Bは、指毎、すなわち各SLOT値毎にタッチイベント情報を継続的に入手する(ステップS301)。コントロールIC12Bは、指毎、すなわち各SLOT値毎にタッチイベント情報を時系列的に管理し、管理している指のうち、タッチ情報が途絶したものがあるかを判断する(ステップS302)。任意の指が離れた場合(ステップS302でYES)、コントロールIC12Bは、プロセッサ10に対してタッチイベントの終了を通知する(ステップS305)。
【0032】
タッチパネル11を離れた指がない場合(ステップS302でNO)、コントロールIC12Bは、指毎に、タッチが新たに開始されたものかを判断する(ステップS303)。具体的には、コントロールIC12Bは、タッチIC12Aから報告されている同一SLOT値のタッチイベントが、直前に存在しているかを判断する。タッチイベントが直前に存在していない場合(ステップS303でYES)、コントロールIC12Bは、プロセッサ10に対して新たなタッチイベントの開始を通知する(ステップS304)。更に、コントロールIC12Bは、タッチイベント継続中の指の位置をプロセッサ10に対して送信する(ステップS305)。同じSLOT情報のタッチ情報が直前に存在している場合(ステップS303でNO)、コントロールIC12Bは、指の位置をプロセッサ10に対して引き続き送信する。
【0033】
タッチイベント情報は、プロセッサ10を介してプロセッサ10のキャッシュメモリまたはメモリ15に時系列的に格納され、情報処理装置1の制御のために適時用いられる。なお、タッチパネルコントローラ12自体がタッチイベント情報を一時的に格納するメモリを有して保存処理を行い、当該メモリにタッチイベント情報を保持してプロセッサ10が必要に応じて参照できるようにしてもよい。
【0034】
タッチパネルを有する一般的な情報処理装置は、同時に複数のタッチを検出するマルチタッチ機能を備えていることがある。マルチタッチ機能に対応したタッチパネルにおいて、タッチイベント情報は、タッチが検出されている状態において、SLOT値に紐づけられて格納される。そして、特定のSLOT値のタッチイベントが検出されなくなり、情報処理が不要となった場合には、各SLOT値毎にタッチ終了処理がなされて追跡が終了する。タッチイベント情報は、必要に応じてストレージ16等にログとして保管され、例えばタッチパネル11の性能向上のために活用される。
【0035】
図6は、タッチパネル全体の感度変更処理を示す流れ図である。ユーザがタッチ操作を開始した場合、タッチパネルコントローラ12は、タッチイベントの記録を開始する(ステップS100)。タッチイベントはタッチパネル11に触れた指毎に異なるSLOT値を付与され管理される。タッチパネルコントローラ12は、タッチイベントが記録されて
いる各指について、タッチイベントが継続しているかどうかを判断する(ステップS101)。タッチイベントが途絶えた場合(ステップS101でYES)、タッチパネルコントローラ12は、当該SLOT値に関するタッチイベント情報の記録を終了する(ステップS103)。また、タッチパネルコントローラ12は、指が時系列的に連続してタッチパネル11に触れている場合(ステップS101でNO)、各指について、タッチイベントの継続時間を判断する(ステップS102)。特定の指が、タッチイベント開始から所定時間(一例としては、1秒以上)タッチパネル11に触れている場合(ステップS102でYES)、タッチパネルコントローラ12は一旦当該SLOT値に関するタッチイベントの記録を終了する(S103)。タッチパネル接触時間が所定時間に満たない場合(ステップS102でNO)、タッチパネルコントローラ12は、当該指についてタッチイベントの記録を終了する(ステップS103)。ステップS100からS103は、本開示における検知ステップに相当する。
【0036】
タッチパネルコントローラ12は、指がタッチパネル11から離れた場合に、またタッチパネル11がマルチタッチ機能を有している場合には、一例としては、全てのSLOT値のタッチイベントが終了した場合に、ステップ104以下の処理、すなわちタッチが水に濡れた状態で行われたかどうかを判定し、判定結果に応じてタッチパネル11の感度を変更する。
【0037】
具体的には、タッチイベントの時系列情報から、短径情報(TOUCH_MINOR)と長径情報(TOUCH_MAJOR)とを取得し、長径の変化率に対する平均値であるAREA_CHG_RATEを取得する(ステップS104)。
【0038】
タッチパネルコントローラ12は、タッチイベントが終了すると、終了したタッチイベントから短径情報(TOUCH_MINOR)と長径情報(TOUCH_MAJOR)の時系列情報を取得し、長径の変化率に対する短径の平均値を取得する(ステップS104)。
【0039】
タッチパネルコントローラ12は、取得したタッチイベント情報から、タッチパネル11が水に濡れているかどうかを判定する(ステップS105)。水濡れ判定の具体的な方法は後述するが、タッチパネルコントローラ12は、長径情報(TOUCH_MEJOR)の変化率に対する短径情報(TOUCH_MINOR)の値が基準を超えた場合に、タッチパネル11が水に濡れた状態であると判定する。ステップS104、ステップS105は、本開示における判定ステップに相当し、当該判定は、タッチパネルコントローラ12のコントロールIC12Bまたはプロセッサ10で動作するプログラムによって実行される判定手段である。
【0040】
タッチパネル11が水に濡れている状態でタッチイベントが発生したと判定した場合には(ステップS106でYES)、タッチパネルコントローラ12は、タッチIC12Aが参照する感度レジスタの値をより低感度に変更をする(ステップS107)、一例としては、感度レジスタTMODE_CFGの値を0x00から0x01に変更する。感度レジスタの値は、水濡れ度合いに合わせて多段階で変更してもよい。なお、タッチパネル11が水に濡れていない状態でタッチイベントが発生したと判定した場合には(ステップS106でNO)、タッチパネルコントローラ12は、感度レジスタの値を維持する。なお、タッチパネルコントローラ12は、感度レジスタの値が低感度となっている場合、一定回数のタッチイベントにおいてタッチパネル11の水漏れが検出できなかった場合には、感度レジスタの値を高感度に戻してよい。また、タッチパネルコントローラ12は、前回タッチイベントが発生してから一定時間経過した後に、感度レジスタの値を高感度に戻してもよい。ステップ106は、本開示における切替ステップに相当する。
【0041】
タッチパネルコントローラ12は、タッチパネル感度が低下した状態では、例えばユーザの指先などによる微細なタッチ操作を認識しにくくなるものの、水滴による影響も低減されるため、タッチ操作が不可能な状態になることは少ない。また、ユーザは、タッチパネル11の感度が低下すると無意識的に指の腹などを使用してよりしっかりとタッチ操作をするようになるため、タッチパネル11の感度が一定程度低下した状態でも、ユーザは感度低下をあまり意識せずに情報処理装置1を操作可能である。なお、情報処理装置1は、タッチパネル11が濡れていることを検出した際に画面上に何らかの通知を表示してもよい。タッチパネルコントローラ12は、このようにして、タッチパネル11が水に濡れた状態であると判定されている間、タッチパネル11の検出感度を低下させることができる。
【0042】
(水濡れ検出の具体的手法)
以下に、タッチパネル11が水に濡れているかどうかをタッチイベント情報から判定する方法について示す。本実施形態では、タッチイベント情報から、タッチパネル11が水で濡れているか否かを、指が触れたときの楕円の長径に対する変化率であるAREA_CHG_RATEパラメータを使用して検出する。
【0043】
AREA_CHG_RATEは、以下のように求めることができる。1つのタッチイベントをtとすると、タッチイベントtには、短径情報(TOUCH_MINOR)と、長径情報(TOUCH_MAJOR)が含まれている。なお、マルチタッチの際にはそれぞれの指を識別するため、タッチイベントtには、指が触れた順番に、0から始まる非負整数であるSLOT番号が割り振られる。記録されたタッチイベントtについてt(SLOT)=iであることをtiと表すとき、tiの時系列情報を、0から始まる非負整数jで表現する。このようにしたとき、j番目に通知されたtiは、ti[j]と表現する。
【0044】
タッチパネルコントローラ12は、任意のSLOT番号の0番目のタッチイベントt
i[0]に対する時系列上のt
i(TOUCH_MAJOR)の増加率を算出し、これをt
i(AREA_CHG_RATE)とする。t
i(AREA_CHG_RATE)は、数1のように求められる。
【数1】
【0045】
図7は、乾燥時と水濡れ時のタッチイベントの散布図である。具体的には、タッチイベント毎のAREA_CHG_RATE(楕円の長径の変化率)と、TOUCH_MINOR(楕円の短径情報)との散布図であり、縦軸がTOUCH_MINOR、横軸がAREA_CHG_RATEである。色の濃い点は、乾燥時のタッチイベントから得られた値であり、色の薄い点は、タッチパネル11が水に濡れている状態で得られた値である。
【0046】
t(AREA_CHG_RATE)は、タッチパネル11が水で濡れていた場合、タッチIC12Aが、パネルに残った水の軌跡部分もタッチと認識し続けることがあり、触れ始めからタッチ操作が完了するまでの間に大きくなっていく傾向が見られる。また、t(TOUCH_MINOR)については、タッチパネル11が水で濡れていた場合、指に付着した水が横に広がることで、値が大きくなる傾向にある。
【0047】
このように、タッチパネル11が水に濡れている状態では、タッチイベント情報から得られる楕円の短径情報と楕円の長径の変化率の分散が非常に大きくなることが分かる。よって、タッチパネルコントローラ12は、AREA_CHE_RATEとTOUCH_MINORの値の対応関係を一定期間プロットしていくことで、現在タッチパネル11が水
に濡れているか乾いているかを判断可能である。しかし、
図7からは、タッチパネル11が乾いた状態のタッチにより対応関係をプロットできるエリアと、タッチパネル11が水に濡れている状態のタッチにより対応関係をプロットできるエリアが重複していることも読み取れる。すなわち、タッチパネル11が水に濡れている状態でも、タッチパネル11が乾いている状態と変わらないAREA_CHG_RATEとTOUCH_MINORの値が取得できてしまうことがある。
【0048】
そこで、本願発明者は、鋭意検討の結果、t(AREA_CHG_RATE)とt(TOUCH_MINOR)のパラメータを変形させることにより、タッチパネル11が乾いた状態でのタッチイベントとタッチパネル11が水に濡れている状態でのタッチイベントを分離させた。
【0049】
具体的には、タッチイベントの集合をS
multiとし、当該S
multiの部分集合として、SLOTの値が全てc(cは非負整数)となるタッチイベントの集合、すなわち特定の指から得られるタッチイベントの集合をS
cとする。S
cはSとも表し、以下の式により表現可能である。
【数2】
【0050】
また、Sの要素であるタッチイベントから、あるパラメータであるPARAMのみを抽出した集合を、S(PARAM)として表し、以下のように表現可能である。この集合の要素は、全て数値となる。
【数3】
【0051】
そして、S(PARAM)≠φであるときSのすべての要素についての平均値、最大値、最小値をそれぞれavgS(PARAM)、maxS(PARAM)、minS(PARAM)とする。
【0052】
図8は、パラメータを変形した乾燥時と水濡れ時のタッチイベントの散布図である。
図8では、横軸の値をmaxS(AREA_CHG_RATE)-minS(AREA_CHG_RATE)とし、横軸の値をavgS(TOUCH_MINOR)とした値の対応関係をプロットした図である。色が濃い点は、タッチパネル11が乾いた状態でのタッチイベントから得られた値、色が薄い点は、タッチパネル11が水に濡れている状態でのタッチイベントから得られた値を示す。
【0053】
図8では、
図7よりもタッチパネル11が濡れている状態のプロット範囲とタッチパネル11が乾いている状態のプロット範囲の重複が軽減されていることが分かる。このように、パラメータを適切に変形することで、プロット位置からタッチパネル11が濡れているかどうかを高精度で判断可能となる。
図8では、このようにして得られた水濡れ状態と乾いた状態の各点の集合に対してロジスティック回帰モデルを用いて分離直線を描き、これをタッチパネル11が濡れているかどうかを判定する基準値、すなわち閾値としている。ロジスティック回帰では、乾燥状態でのタッチと水に濡れている状態のタッチに分類されたデータについて、水に濡れている状態の発生確率を示すロジスティック曲線を作成し、その曲線の係数から分離直線を求めたものである。
図8の例では、タッチイベントが分離線の左下側にプロットされた場合には、タッチパネル11が乾いていることを仮定可能であり、タッチイベントが分離線の右上にプロットされた場合には、タッチパネル11が水に濡れていることを仮定可能である。
【0054】
図9は、水濡れタッチであるかどうかを判別する閾値を示した図である。
図9は、
図8において求めた分離直線を基準または閾値としてプロット範囲を分離したものである。色が薄い領域は、タッチパネル11は水に濡れていることが想定される水濡れ領域であり、色が濃い領域は、タッチパネル11が乾いていることが想定される乾燥領域である。タッチイベントからmaxS(AREA_CHE_RATE)-minS(AREA_CHG_RATE)とavg(TOUGH_MINOR)を導いて
図9にプロットすると、タッチイベントが水濡れ状態で発生したか、タッチパネル11が乾いた状態で発生したかを容易に判断できる。例えば、
図9には点Aがプロットされている。点Aは水濡れ領域にプロットされているため、タッチパネルコントローラ12は、タッチイベントが、タッチパネル11が水に濡れた状態で発生したものであることを容易に判断できる。
【0055】
図9に示す分離直線は、一例としては、タッチパネル11の特性と、情報処理装置1の試験時に取得した水濡れ状態と乾燥状態のタッチイベント情報から事前に算出され、工場出荷状態でタッチパネルコントローラ12の不揮発性メモリ等に格納されている。
【0056】
本実施形態に係るパラメータ変形による方法では、タッチイベントをSLOT情報で分離してプロットするため、マルチタッチにおいて、一部のタッチのみが水濡れである場合などでも水濡れを正確に判定可能である。なお、タッチパネルコントローラ12は、マルチタッチの一点のみが水濡れ領域にプロットされた場合に、感度レジスタを低感度モードに変更してもよい。また、タッチパネル11を複数領域に分割し、水濡れが判定されている領域についてのみ検出感度を低下させるようにしてもよい。更に、特定のSLOT情報についてのみ水濡れが判定されている場合には、タッチパネル11ではなく特定の指が水に濡れているものとし、水濡れが検出された特定のSLOT値のタッチイベント情報に対してのみタッチ感度を低下させてもよい。
【0057】
(実験)
本実施形態に係る、防水防塵機能を有する情報処理装置1を試作し、テストを行った。情報処理装置1のタッチパネル11には、12キータイプのオンスクリーンキーボードを表示し、これに水滴を付着させて、入力試験を行った。第1の実験では、オンスクリーンキーボードの各キー部分に対応するように、実験前にスポイトで水滴を付着させた。この状態で、実験者は、オンスクリーンキーボードへの17文字程度の入力を試みた。タッチパネル11の水濡れによる検出感度変化を無効化した状態では、入力間違いや、1回のタッチで複数の文字が入力される事象も多発し、入力された文字のうち40%が誤入力であった。これに対して、タッチパネル11の水濡れによる検出感度変化を有効化した状態では、入力間違いは低減されており、誤入力は21.1%であった。
【0058】
第2の実験では、タッチパネル11に霧吹きで2回水を噴射することで、オンスクリーンキーボードにランダムな水しぶきを付着させ、第1の実験と同様の入力試験を行った。タッチパネル11の水濡れによる検出感度変化を無効化した状態では、入力間違いに加えて入力漏れも頻発し、誤入力と入力漏れの割合は30.4%であった。これに対して、タッチパネル11の水濡れによる検出感度変化を有効化した状態では、入力間違いおよび入力漏れが低減されており、誤入力と入力漏れの割合は9.5%であった。
【0059】
本実験の結果から、タッチ入力に応じてタッチパネル11の感度を変化させる本実施形態に係る情報処理装置1は、タッチパネル11の水濡れによる入力精度低下を顕著に抑制可能であると言える。
【0060】
(使用者への適応)
本実施形態に係る水濡れ判定精度を、使用者の特性に適合するように向上させていくこ
とも考えられる。情報処理装置1の使用者であるヒトの指の大きさは年齢や性別によって差があり、タッチ操作の癖(例えば、指先で軽くタッチをするか、指の腹で強くタッチするか)についても個人差がある。また、情報処理装置1がスマートフォンやタブレットコンピュータであると仮定すると、主要操作者は端末所有者であり、他者がこれを操作することは例外的である。そこで、端末所有者の操作履歴から、端末所有者の癖を検出することにより情報処理装置1のタッチパネル11の水濡れ検出基準値を調整し、より適切なタイミングでタッチパネル11の感度の切替を行うことが考えられる。
【0061】
情報処理装置1のタッチパネル11は、通常状態では乾いた状態で操作され、水滴が付着した状態で操作されることは限定的である。このため、同一ユーザのタッチイベントを記録して中央値を取得すると、通常状態、すなわちタッチパネル11が濡れていない状態でのタッチ操作記録を得ることができる。
【0062】
情報処理装置1には、事前にタッチ操作基準値が記録されている。タッチ操作基準値は、例えば、端末設計者または試験者がタッチパネル11を一定回数操作した記録に対してパラメータ変形を行ったものである。パラメータ変形は上述のものを使用し、プロット領域としては
図8と同じものを使用する。具体的には、各タッチイベントについて、maxS(AREA_CHG_RATE)-minS(AREA_CHG_RATE)をX軸とし、avgS(TOUCH_MINOR)をY軸として対応関係をプロットした際のX軸上の中央値をx
0とし、Y軸上の中央値をy
0とする。
【0063】
情報処理装置1は、ユーザのタッチイベントを定期的に記録する。一例としては、ユーザの任意のタッチイベントを、1日あたり10回程度抽出して記録しておく。タッチパネルコントローラ12は、この抽出されたタッチイベント記録を参照し、基準値xと同様の方法によってパラメータ変形を行ってユーザ操作中央値x´,y´を得る。タッチイベントが水濡れ状態かどうかを分離する分離直線としては、以下のものを調整用として用いる。
【数4】
【0064】
情報処理装置1は、タッチ操作基準値x
0,y
0と、ユーザ操作中央値x´,y´を用いて以下の式を用いて分離直線を更新する。
【数5】
【0065】
このように、定期的に分離直線を更新することにより、タッチパネル11の反応を調整し、ユーザの特性に適合したタッチパネル11を有する情報処理装置1を提供できる。分離直線の更新は、重み付け処理により徐々に行われてよい。
【0066】
このように、本開示に係る情報処理装置1のユーザは、タッチパネル11が水に濡れている状態でも、タッチパネル11を利用してタッチ操作を継続することができる。このため、先行技術に記載されているように、タッチパネル11から水滴を排除するメカニズムを設ける必要はない。また、水濡れを判定した場合にタッチパネル11を使用禁止にする措置も不要であり、情報処理装置1に必要以上の物理スイッチを設ける必要もない。
【0067】
上述の特徴により、本開示に係る情報処理装置1は、情報処理装置1が防水防塵機能を発揮している状態でもなお通常状態とほとんど同じ感覚での操作が可能である。このため
、ユーザの利便性は大きく向上する。
【0068】
以上、本実施形態について説明したが、本発明の内容は上記実施の形態に限られるものではない。本実施形態では、水濡れ状態でのタッチを識別するための基準値を規定する分離線を生成するため、ロジスティック回帰を用いた。しかし、分離線の生成に用いる方法はこれに限られない。例えば、分離線はサポートベクターマシンを用いて生成してもよい。サポートベクターマシンは、乾燥状態でのタッチと水濡れ状態でのタッチに分類されたデータについて、それぞれのエリアから最もマージンが確保できる位置に直線を引く方法であり、各エリアが完全に線形分離できない場合には、マージン内に入り込んだ要素についてペナルティを課し、よりマージンが確保できペナルティが少なくなる直線を求める手法であり、この方法によっても分離線を生成できる。なお、分離線の生成手法はこれに限られず、情報処理装置1の特性に応じて適切な手法を用いることができる。
【0069】
以上で開示した各実施形態やその変形例に含まれる特徴は、それぞれ組み合わせることができる。
【符号の説明】
【0070】
1・・情報処理装置
10・・プロセッサ
11・・タッチパネル
11A・・入力部
11B・・表示部
12・・タッチパネルコントローラ
13・・センサ
14・・ディスプレイドライバ
15・・メモリ
16・・ストレージ
17・・通信部
18・・音声処理部
19・・バッテリー