(57)【要約】      （修正有）【課題】タッチ操作を入力する際の誤入力を抑制する手段を備えた電子機器、および座標位置を補正するプログラムを提供する。【解決手段】電子機器１００は、補正部６１１と、出力部６１２とを備える。補正部６１１は、タッチパネル１０１の表示画面にかかる圧力を検出する圧力センサ１０２で検出された圧力値に応じて、閾値を補正する。出力部６１２は、タッチパネル１０１の表示画面に接触した接触物の接触開始位置から現在の接触位置までの距離が閾値を越えた場合、接触位置に対応する位置座標を出力する。【選択図】図６
2017076278.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルの表示画面にかかる圧力を検出する圧力センサで検出された圧力値に応じて、閾値を補正する補正部と、
前記タッチパネルの前記表示画面に接触した接触物の接触開始位置から現在の接触位置までの距離が前記閾値を越えた場合、前記接触位置に対応する位置座標を出力する出力部と、
を備える、電子機器。
【請求項２】
前記補正部は、前記圧力値が、第１の値から前記第１の値よりも高い第２の値に変化した場合に、前記閾値を、第１の閾値から前記第１の閾値よりも大きい第２の閾値に補正する、ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記補正部は、更に、前記接触開始位置から前記接触位置までの距離が前記閾値を越えた際の前記接触位置と、前記接触開始位置との間の位置のズレに基づいて決定されるオフセット値を用いて、前記接触位置を補正して前記位置座標を特定する、ことを特徴とする請求項１又は２に記載の電子機器。
【請求項４】
前記補正部は、前記圧力値が、第３の値から前記第３の値よりも低い第４の値に変化した場合に、前記オフセット値を、第１のオフセット値から前記第１のオフセット値よりも小さい第２のオフセット値に更新する、ことを特徴とする請求項３に記載の電子機器。
【請求項５】
タッチパネルの表示画面にかかる圧力を検出する圧力センサで検出された圧力値に応じて、閾値を補正し、
前記タッチパネルの前記表示画面に接触した接触物の接触開始位置から現在の接触位置までの距離が前記閾値を越えた場合に、前記接触位置に対応する位置座標を出力する、
処理を、コンピュータに実行させる補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器及び補正プログラムに関する。
【背景技術】
【０００２】
近年、例えば、スマートフォン、タブレット端末、パーソナルコンピュータ（ＰＣ）、ノートＰＣなどの電子機器において、タッチパネルを介した入力が行われている。
【０００３】
また、例えば、タッチパネルにかかる圧力を検出するための圧力センサを搭載する電子機器も増えている。圧力センサを備える電子機器では、例えば、ユーザが指などでタッチパネルに表示されたコンテンツを選択し、押圧すると、その押圧の際の圧力が圧力センサで検出され、選択の決定が行われることがある。
【０００４】
これに関し、タッチパネル面に対して斜めから押圧された場合であっても押圧位置の誤検出を防止するための技術が知られている（例えば、特許文献１）。また、ジェスチャに基づいて処理を行う装置においてユーザにとっての利便性を従来よりも向上させるための技術が知られている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２２１４２５号公報
【特許文献２】特開２０１４−１８６５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば、タッチパネルにかかる圧力を検出して、決定処理等を行う場合、ユーザが入力のために指を強くタッチパネルに押し付けることがある。また、タッチパネルには、指の滑りをよくするために表面加工が施されているものもある。そのため、タッチパネルに指を押し付けた際に、指が滑ってしまうことがあり、その結果、ユーザが意図した操作とは異なる操作が入力されてしまうことがある。１つの側面では本発明に係る目的は、操作を入力する際の誤入力を抑制することである。
【課題を解決するための手段】
【０００７】
本発明の一つの態様の電子機器は、補正部と、出力部とを備える。補正部は、タッチパネルの表示画面にかかる圧力を検出する圧力センサで検出された圧力値に応じて、閾値を補正する。出力部は、タッチパネルの表示画面に接触した接触物の接触開始位置から現在の接触位置までの距離が閾値を越えた場合、接触位置に対応する位置座標を出力する。
【発明の効果】
【０００８】
１つの側面によれば、操作を入力する際の誤入力を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】電子機器を例示する図である。
【図２】タッチパネルを押圧した際に滑りに起因して接触位置がズレる場合を例示する図である。
【図３】接触位置のズレに起因する誤入力について例示する図である。
【図４】第１の実施形態に係る圧力に応じたスロップ値の補正を例示する図である。
【図５】オフセット値を用いた位置の補正を例示する図である。
【図６】実施形態に係る電子機器の機能ブロック構成を例示する図である。
【図７】スロップ値の補正に用いる補正値の決定処理の動作フローを例示する図である。
【図８】接触位置の補正に用いるオフセット値の決定処理の動作フローを例示する図である。
【図９】第１の実施形態に係る位置情報出力処理を例示する図である。
【図１０】第２の実施形態に係る位置情報出力処理を例示する図である。
【図１１】実施形態に係る電子機器を実現するためのコンピュータのハードウェア構成を例示する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
【００１１】
図１は、電子機器１００を例示する図である。電子機器１００は、例えば、スマートフォン、タブレット端末、パーソナルコンピュータ（ＰＣ）、ノートＰＣなどのタッチパネル１０１を備える装置であってよい。タッチパネル１０１は、例えば、指などの接触物がタッチパネル１０１の表示画面上に接触した場合、その接触位置を検出してよい。また、電子機器１００は、例えば、タッチパネル１０１の表示画面にかかる圧力を検出する圧力センサ１０２を備える。ユーザは、例えば、タッチパネル１０１の表示画面に接触物を接触させて入力を行うことで、電子機器１００を操作することができる。ここで、ユーザがタッチパネル１０１に入力を行うために表示画面に接触物を押し当てた際、接触物が滑り接触位置がズレてしまうことがある。
【００１２】
図２は、タッチパネル１０１を押圧した際に接触物２０１が滑り接触位置がズレる場合を例示する図である。図２には、タッチパネル１０１と、タッチパネル１０１に接触させる接触物２０１とが示されている。接触物２０１は、例えば、タッチパネル１０１に接触した際に接触位置を検出することが可能な指やスタイラスなどであってよい。そして、例えば、ユーザが接触物２０１をタッチパネル１０１に接触させて、タッチパネル１０１を押圧したとする（図２（ａ）及び（ｂ））。この場合に、接触物２０１がタッチパネル１０１上で滑ってしまい、接触位置がズレてしまうことがある（図２（ｃ））。そして、この様な接触位置のズレにより、ユーザの本来の意図とは異なる操作が電子機器１００に入力されてしまうことがある。
【００１３】
例えば、タッチパネル１０１に入力される操作の種別を判定する手法の１つに、スロップ値（Ｓｌｏｐ値）と呼ばれる値を用いるものがある。スロップ値は、例えば、タッチパネル１０１に入力される操作が、スライド操作（ＭＯＶＥ：ムーヴ）であるのか、又は押圧操作（ＴＡＰ：タップ）であるのかの判定に用いられる。なお、スライド操作は、例えば、電子機器１００において動作しているアプリケーションに、タッチパネル１０１上の表示画面に表示されるコンテンツの表示領域を移動させる移動処理（例えば、スクロール）の実行指示を入力する操作であってよい。スライド操作は、例えば、フリックなどの更なる詳細な操作に分類されてもよい。また、押圧操作は、例えば、電子機器１００において動作しているアプリケーションに、タッチパネル１０１の表示画面に表示されているアイコンなどの項目のうちから項目の選択を決定する決定処理の実行指示を入力する操作であってよい。
【００１４】
図３は、押圧の際の滑りによる接触位置のズレに起因する誤入力について例示する図である。例えば、ユーザがタッチパネル１０１に接触物２０１を接触させると、その接触開始位置３０１を起点として、スロップ値に設定された距離の範囲３０３内が判定領域として設定される（図３（ａ））。なお、以降の説明では、この判定領域をスロップ値の範囲３０３と呼ぶことがある。そして、電子機器１００は、例えば、接触開始位置３０１から現在の接触物２０１の接触位置３０２までの距離が、スロップ値以上となり、接触位置３０２がスロップ値の範囲３０３の外に出た場合、スライド操作が行われたとみなし、移動処理を実行する。また、電子機器１００は、例えば、接触開始位置３０１から現在の接触位置３０２までの距離がスロップ値以下の状態でタッチパネル１０１が押圧された後、接触物２０１が離れた場合、スライド操作ではなく押圧操作が入力されたとみなし、決定処理を実行する。
【００１５】
この様に、スロップ値を用いて判定を行うことで、例えば、押圧操作の入力の際に接触位置３０２が僅かにズレたとしてもスライド操作と判定することを抑止でき、誤った操作の入力を抑制できる。しかしながら、押圧操作を入力する場合、ユーザが接触物２０１を強くタッチパネル１０１に押し付けることがあり、その結果、接触物２０１をタッチパネル１０１上で滑らせてしまい、接触位置３０２が大きくズレてしまうことがある。そして、接触位置３０２がスロップ値の範囲３０３の外までズレてしまうことがある（図３（ｂ））。この場合、ユーザは押圧操作を入力しようとしていたのにもかかわらず、例えば、ユーザが接触物２０１をタッチパネル１０１から離した際に、電子機器１００はスライド操作が入力されたと判定してしまう（図３（ｃ））。
【００１６】
この様に、例えば、ユーザがタッチパネルを押圧した際に、接触物２０１を滑らせてしまい、ユーザが意図した操作とは異なる操作が入力されてしまうことがある。特に、例えば、高齢者などのタッチパネル１０１に不慣れなユーザは、タッチパネル１０１を強く押圧する傾向がある。また、近年、タッチパネル１０１には、接触物２０１の滑りをよくするための表面加工が施されていることがある。そのため、接触物２０１をタッチパネル１０１上で滑らせてしまい、誤入力してしまうケースが増えており、この様な入力の際の誤入力を抑制することのできる技術が望まれている。
【００１７】
ここで、ユーザがタッチパネル１０１に押圧操作を入力する場合、ユーザは接触物２０１でタッチパネル１０１の表示画面を押圧する。一方、例えば、スライド操作を入力する場合、ユーザはタッチパネル１０１の表示画面をそれほど強くは押圧しない傾向がある。そのため、押圧操作では、スライド操作と比較して圧力センサ１０２で検出される圧力値は高くなる傾向がある。そこで、以下で述べる第１の実施形態では電子機器１００は、スロップ値を、圧力センサ１０２で検出された圧力に基づいて補正する。
【００１８】
図４は、第１の実施形態に係る圧力に応じたスロップ値の補正を例示する図である。図４（ａ）は、例えば、ユーザがタッチパネル１０１を１Ｎ（ニュートン）の圧力で押圧した場合を例示する図である。また、図４（ｂ）は、例えば、ユーザがタッチパネル１０１を３Ｎ（ニュートン）の圧力で押圧した場合を例示する図である。図示されるように、ユーザが押圧の圧力を１Ｎから３Ｎへと増加させたことに応じて、電子機器１００はスロップ値を増加させて、それによりスロップ値の範囲３０３が広がっている。この様に、電子機器１００は、例えば、タッチパネル１０１を押す圧力が増加すると、スロップ値を補正して、スロップ値の範囲３０３を広げる。また逆に圧力が低下すると、電子機器１００は、例えば、スロップ値を元の値に戻して行き、スロップ値の範囲３０３を狭める。そのため、例えば、ユーザが押圧操作を入力するために押圧を強くした際、接触物２０１を滑らせてしまったとしても、スロップ値の範囲３０３が広がっており、接触位置３０２がスロップ値の範囲３０３を越えることを抑制することができる。その結果、第１の実施形態によれば、入力の際の滑りに起因する誤入力を抑制することができる。
【００１９】
また、第１の実施形態では、接触物２０１の接触位置３０２がスロップ値の範囲３０３を越えた場合、電子機器１００はスライド操作が入力されたと判定し、移動処理を実行する。この場合に、接触開始位置３０１から、接触位置３０２がスロップ値の範囲３０３を越えた際の接触位置３０２までの距離をそのまま用いて移動処理を実行すると移動の幅が大きい。そのため、例えば、表示領域の急激なスクロールなど、急激な移動の実行を指示する入力となってしまう恐れがある。そこで、電子機器１００は、例えば、接触物２０１の接触開始位置３０１から、接触位置３０２がスロップ値の範囲を越えた際の接触位置３０２までの差分で、現在の接触位置３０２をオフセットした位置を用いて、移動処理を実行する。なお、この接触位置３０２のオフセットに用いる値を、以下、オフセット値と呼ぶことがある。
【００２０】
図５は、オフセット値を用いた移動処理を例示する図である。図５の例では、電子機器１００は、オフセット値：Ａ［ｍｍ］だけ接触位置３０２をオフセットした位置５０１を用いて移動処理を実行する。これにより、ユーザがタッチパネル１０１を強く押圧し、スロップ値の範囲３０３が広がっている場合にも、スロップ値を越えた際に急激な移動の実行を指示する入力となることを防ぐことができる。
【００２１】
また更に、このようにオフセット値を用いて接触位置３０２をオフセットして移動処理を行う場合、実際の接触位置３０２とオフセットした位置５０１との間にはズレが生じる。そして、例えば、ドローソフトなどの絵を描くアプリケーションなどでは、このような位置のズレが操作性の悪化につながることがある。そのため、第１の実施形態では、電子機器１００は圧力センサ１０２で検出された圧力に応じてオフセット値を補正する。例えば、電子機器１００は、接触位置３０２がスロップ値の範囲を越えた際に検出された圧力値が減少すると、オフセット値を減少させる。それにより、例えば、接触物２０１がタッチパネル１０１から離れる際に減少する圧力値に応じて、オフセット値も減少し、物理的な接触位置３０２と描画の先端となるオフセットした位置５０１とを最終的に合わせることができる。
【００２２】
以下、図６から図９を参照して第１の実施形態を詳細に説明する。
【００２３】
＜第１の実施形態＞
図６は、実施形態に係る電子機器１００の機能ブロック構成を例示する図である。電子機器１００は、例えば、制御部６０１、記憶部６０２、タッチパネル１０１、及び圧力センサ１０２を含む。制御部６０１は、例えば補正部６１１、及び出力部６１２などの機能部を含む。電子機器１００の記憶部６０２は、例えば、後述する所定の圧力値、所定値などの情報を記憶している。タッチパネル１０１は、例えば、制御部６０１の指示に従って、表示画面に情報を表示してよい。また、タッチパネル１０１は、例えば、接触物２０１が表示画面に接触した際の接触位置３０２を検出してよい。圧力センサ１０２は、例えば、接触物２０１が表示画面に接触した際の表示画面にかかる圧力を検出してよい。これらの各機能部及び記憶部６０２に格納されている情報の更なる詳細は後述する。
【００２４】
図７は、電子機器１００の制御部６０１が実行するスロップ値の補正に用いる補正値の決定処理の動作フローを例示する図である。一実施形態においては、電子機器１００のタッチパネル１０１の表示画面に接触物２０１が接触すると、制御部６０１は、補正値の決定処理を開始してよい。
【００２５】
Ｓ７０１において制御部６０１は、接触物２０１がタッチパネル１０１の表示画面に接触した状態でのタッチパネル１０１の表示画面にかかる圧力を検出し、その検出圧力値が所定の圧力値（例えば、１（Ｎ））よりも大きいか否かを判定する。なお、タッチパネル１０１の表示画面にかかる圧力は、例えば、接触物２０１がタッチパネル１０１を押圧する圧力であってよい。検出圧力値が所定の圧力値よりも大きい場合（Ｓ７０１がＹｅｓ）、フローはＳ７０２へと進む。Ｓ７０２において制御部６０１は、検出圧力値を用いて所定の演算を行い、０よりも大きい値を有する補正値を設定する。所定の演算は、例えば以下の式であってよい。なお、以下の式において所定値は、例えば、０よりも大きい値であり、一例では、０．９であってよい。
補正値＝（検出圧力値［ｎ］‐所定の圧力値）／所定値
【００２６】
また、Ｓ７０１において、検出圧力値が、所定の圧力値以下の場合（Ｓ７０１がＮｏ）、フローはＳ７０３へと進む。Ｓ７０３において制御部６０１は、補正値を０に設定する。続いて、Ｓ７０４において制御部６０１は、例えば、接触物２０１がタッチパネル１０１から離れたか否かを判定する。接触物２０１がタッチパネル１０１から離れていない場合（Ｓ７０４がＮｏ）、フローはＳ７０１へと戻り、制御部６０１は、処理を繰り返して補正値を更新する。一方、接触物２０１がタッチパネル１０１から離れた場合（Ｓ７０４がＹｅｓ）、本動作フローは終了する。
【００２７】
以上で述べた様に、図７の動作フローによれば、圧力センサ１０２で検出されたタッチパネル１０１の表示画面にかかる圧力値が、所定の圧力値よりも高い場合には、検出圧力値に応じて、補正値に０よりも大きい値が設定される。図７の動作フローで設定される補正値は、例えば、後述する図９の動作フローで、スロップ値を補正するために用いられる。
【００２８】
なお、図７の動作フローにおいて、制御部６０１は、例えば、補正部６１１として動作する。
【００２９】
図８は、電子機器１００の制御部６０１が実行する接触位置３０２の補正に用いるオフセット値の決定処理の動作フローを例示する図である。一実施形態においては、タッチパネル１０１に接触した接触物２０１の接触位置３０２がスロップ値を越えると、制御部６０１は、オフセット値の決定処理を開始してよい。
【００３０】
Ｓ８０１において制御部６０１は、スロップ値を越えた時の接触物２０１の接触位置（Ｘ［ｎ］，Ｙ［ｎ］）を、（Ｘ［ｓ］，Ｙ［ｓ］）として記憶する。Ｓ８０２において制御部６０１は、例えば、接触位置３０２がスロップ値を越えた際に圧力センサ１０２で検出された圧力値を圧力［ｓ］として取得する。
【００３１】
Ｓ８０３において制御部６０１は、タッチパネル１０１の表示画面にかかる現在の圧力を検出し、検出された圧力値のうちでの最小値をホールド（Ｍｉｎ  Ｈｏｌｄ）する。例えば、制御部６０１は、タッチパネル１０１に接触した接触物２０１の接触位置３０２がスロップ値を越えてから、現在までの間にタッチパネル１０１にかかった圧力のうちで、最小の圧力値を圧力＿ｍｉｎとして保存する。即ち、例えば、現在検出されている圧力値：圧力［ｎ］が、圧力＿ｍｉｎよりも低い場合、圧力＿ｍｉｎを圧力［ｎ］の値に更新する。一方、現在検出されている圧力値：圧力［ｎ］が、圧力＿ｍｉｎ以上の場合は、圧力＿ｍｉｎの値を更新しない。制御部６０１は、例えば、この様に圧力＿ｍｉｎを設定してよい。
【００３２】
Ｓ８０４において制御部６０１は、例えば、タッチパネル１０１の表示画面にかかる圧力値（例えば、圧力＿ｍｉｎ）が減るにつれてオフセット値を小さな値にする所定の演算を行い、オフセット値を設定する。所定の演算は例えば、以下の式による演算であってよい。
オフセット_Ｘ＝(X[s]−X[0])−[{(X[s]−X[0])/(圧力[s]−1.0)}*(圧力[s]−圧力_min)]
オフセット_Ｙ＝(Y[s]−Y[0])−[{(Y[s]−Y[0])/(圧力[s]−1.0)}*(圧力[s]−圧力_min)]
【００３３】
ここで、（Ｘ［ｓ］，Ｙ［ｓ］）は、例えば、スロップ値を越えた時の接触物２０１の接触位置３０２の座標（Ｘ［ｎ］，Ｙ［ｎ］）である。また、（Ｘ［０］，Ｙ［０］）は、接触物２０１がタッチパネル１０１に接触した際の接触開始位置３０１の座標である。圧力［ｓ］は、接触位置３０２がスロップ値を越えた時にタッチパネル１０１によって検出された圧力値である。また、圧力＿ｍｉｎは、タッチパネル１０１に接触した接触物２０１の接触位置３０２がスロップ値を越えてから現在までの間にタッチパネル１０１にかかった圧力のうちで、最小の圧力値である。なお、制御部６０１は、上記の式においてオフセット_Ｘの値が０以下となる場合には、オフセット_Ｘの値を０に固定（クリップ）する。また、制御部６０１は、オフセット_Ｙの値が０以下となる場合には、オフセット_Ｙの値を０に固定（クリップ）する。
【００３４】
そして、制御部６０１は、以上の式で得られたオフセット_ＸをＸ軸の値、オフセット_ＹをＹ軸の値としたオフセット値（オフセット_Ｘ，オフセット_Ｙ）を設定する。なお、オフセット値は、後述するように接触位置３０２の補正に用いられてよい。Ｓ８０５において制御部６０１は、例えば、接触物２０１がタッチパネル１０１から離れたか否かを判定する。接触物２０１がタッチパネル１０１から離れていない場合（Ｓ８０５がＮｏ）、フローはＳ８０３へと戻り、制御部６０１は、処理を繰り返してオフセット値を更新する。一方、接触物２０１がタッチパネル１０１から離れた場合（Ｓ８０５がＹｅｓ）、本動作フローは終了する。
【００３５】
以上で述べた様に、図８の動作フローによれば、タッチパネル１０１に接触した接触物２０１の接触位置３０２がスロップ値を越えた後、圧力センサ１０２で検出される検出圧力値が減少すると、オフセット値も減少する。図８の動作フローで求められるオフセット値は、例えば、後述する図９の動作フローで、接触位置３０２の補正のために用いられる。
【００３６】
なお、図８の動作フローにおいて、制御部６０１は、例えば、補正部６１１として動作する。
【００３７】
図９は、電子機器１００の制御部６０１が実行する位置情報出力処理を例示する図である。一実施形態においては、電子機器１００のタッチパネル１０１に接触物２０１が接触すると、制御部６０１は、図９の位置情報出力処理を開始してよい。
【００３８】
Ｓ９０１において電子機器１００の制御部６０１は、接触イベントの種別が、接触、離れる、又は移動のいずれであるかを判定する。接触は、例えば、接触物２０１が、タッチパネル１０１に接触することである。例えば、図９の動作フローの開始後、最初にＳ９０１の処理を実行する場合には、制御部６０１は接触と判定してよい。この場合、フローはＳ９０２へと進み、制御部６０１は、接触物２０１が接触した際のタッチパネル１０１上の座標を、接触開始位置３０１（Ｘ［０］，Ｙ［０］）として記憶部６０２に保存し、フローはＳ９０１へと戻る。
【００３９】
また、Ｓ９０１において接触していた接触物２０１が、タッチパネル１０１から離れた場合、本動作フローは終了する。
【００４０】
Ｓ９０１において、接触開始位置３０１が記憶部６０２に記憶されており、且つ、接触物２０１がタッチパネル１０１に接触し続けている場合、フローはＳ９０３に進む。Ｓ９０３において制御部６０１は、接触開始位置３０１（Ｘ［０］，Ｙ［０］）から接触物２０１が現在接触している接触位置（Ｘ［ｎ］，Ｙ［ｎ］）までの移動距離を取得する。移動距離は例えば、以下の式により算出されてよい。
移動距離 = √{(X[n]-X[0])^2+(Y[n]-Y[0])^2}
【００４１】
Ｓ９０４において制御部６０１は、タッチパネル１０１への押圧力に応じて、スロップ値を補正する。なお、スロップ値の補正は、Ｓ９０４の処理の実行時点において、例えば、制御部６０１が図７の動作フローを実行して決定した補正値を用いて行われてよい。制御部６０１は、例えば、圧力に応じて決定されている補正値を所定の距離に加算することで補正したスロップ値を取得してよい。所定の値は、例えば１．０ｍｍ〜２．０ｍｍであってよく、一例では１．５ｍｍであってよい。
【００４２】
Ｓ９０５において制御部６０１は、Ｓ９０３で取得した移動距離が、補正したスロップ値よりも大きいか否かを判定する。移動距離が、補正したスロップ値以下である場合（Ｓ９０５がＮｏ）、入力操作はスライド操作ではなく、この場合、フローはＳ９０１へと戻る。一方、移動距離が、補正したスロップ値よりも大きい場合（Ｓ９０５がＹｅｓ）、入力操作はスライド操作であり、フローはＳ９０６へと進む。
【００４３】
Ｓ９０６において制御部６０１は、接触位置３０２を圧力値に基づいて補正する。制御部６０１は、例えば、以下に示すように接触物２０１が現在接触している接触位置（Ｘ［ｎ］，Ｙ［ｎ］）から、オフセット値を引くことで、接触位置３０２を補正してよい。
【００４４】
補正位置（Ｘ，Ｙ）＝（Ｘ［ｎ］‐オフセット＿Ｘ，Ｙ［ｎ］‐オフセット＿Ｙ）
なお、オフセット値には、例えば、Ｓ９０６の処理の実行時点において、制御部６０１が図８の動作フローを実行することで決定した値を用いてよい。
【００４５】
Ｓ９０７において制御部６０１は、例えば、補正した位置の座標を示す位置情報を出力する。なお、位置情報は、例えば、スライド操作が入力されたアプリケーションにおいて、表示画面に表示されているコンテンツの表示領域を移動させる移動量の決定に用いられてよい。
【００４６】
Ｓ９０８において制御部６０１は、接触物２０１が、タッチパネル１０１から離れたか否かを判定する。接触物２０１が、タッチパネル１０１から離れていない場合（Ｓ９０８がＮｏ）、フローはＳ９０６へと戻り、処理を繰り返す。一方、接触物２０１が、タッチパネル１０１から離れた場合（Ｓ９０８がＹｅｓ）、本動作フローは終了する。
【００４７】
以上で述べた様に、第１の実施形態によれば、制御部６０１は、圧力センサ１０２で検出された圧力値に応じて、スロップ値を補正する。例えば、制御部６０１は、タッチパネル１０１にかかる圧力が増加すると、スロップ値の範囲３０３を広くする。そのため、例えば、ユーザが押圧操作を入力するために押圧を強くした際に、接触物２０１を滑らせてしまったとしても、スロップ値の範囲３０３が広くなっているので、接触位置３０２がスロップ値の範囲３０３を越えてしまうことを抑制できる。その結果、入力の際の滑りに起因する誤入力を抑制することができる。
【００４８】
また、接触位置３０２がスロップ値の範囲３０３を越えた場合、制御部６０１はスライド操作が入力されたと判定し、移動処理を実行する。この場合に、制御部６０１は、接触開始位置３０１から、接触位置３０２がスロップ値の範囲３０３を越えた位置までの差分を、オフセット値として用いて、接触位置３０２をオフセットした位置を出力する。それにより、例えば、押圧が強くスロップ値の範囲３０３が広がっている状態で、接触位置３０２がスロップ値の範囲を越えたとしても、急激な移動の入力となることを抑制できる。
【００４９】
また、制御部６０１は、接触位置３０２がスロップ値の範囲３０３を越えた際に検出された圧力値から、圧力値が減少するにつれて、オフセット値が小さくなるように補正を行う。それにより、制御部６０１は、例えば、接触位置３０２と、出力されるオフセットした位置５０１とを最終的に合わせることができる。
【００５０】
なお、図９の動作フローにおいて、Ｓ９０４及びＳ９０６の処理では制御部６０１は、例えば、補正部６１１として動作する。また、Ｓ９０７の処理では制御部６０１は、例えば、出力部６１２として動作する。
【００５１】
＜第２の実施形態＞
上述の第１の実施形態では、タッチパネル１０１の表示画面にかかる圧力値に応じて、入力操作の判定に用いるスロップ値を変更する場合が例示される。しかしながら、実施形態はこれに限定されるものではない。例えば、制御部６０１は、タッチパネル１０１の表示画面にかかる圧力値に応じて、接触物２０１の接触位置３０２の位置座標の変動を抑制するフィルタの強度を強めて位置座標を補正してよい。以下の第２の実施形態では、タッチパネル１０１の表示画面にかかる圧力値に応じて、接触位置３０２の位置座標の変動を抑制するフィルタの強度を強めて位置座標を補正する実施形態を例示する。
【００５２】
図１０は、第２の実施形態に係る電子機器１００の制御部６０１が実行する位置情報出力処理を例示する図である。一実施形態においては、電子機器１００のタッチパネル１０１に接触物２０１が接触すると、制御部６０１は、図１０の位置情報出力処理を開始してよい。
【００５３】
Ｓ１００１及びＳ１００２において、制御部６０１は、例えば、Ｓ９０１及びＳ９０２と同様の処理を実行してよい。例えば、Ｓ１００２では、制御部６０１は、接触物２０１が接触した際のタッチパネル１０１上の座標を、接触開始位置３０１（Ｘ［０］，Ｙ［０］）として記憶部６０２に保存する。また、Ｓ１００１において接触していた接触物２０１が、タッチパネル１０１から離れた場合、本動作フローは終了する。
【００５４】
Ｓ１００１において、接触開始位置３０１が記憶部６０２に記憶されており、且つ、接触物２０１がタッチパネル１０１に接触し続けている場合、例えば、制御部６０１は移動と判定し、フローはＳ１００３に進む。Ｓ１００３において制御部６０１は、接触位置３０２と、タッチパネル１０１の表示画面にかかる圧力値とを取得する。例えば、制御部６０１は、タッチパネル１０１からの情報に基づいて、現在の接触位置３０２（Ｘ［ｎ］，Ｙ［ｎ］）を取得する。また、制御部６０１は、例えば、圧力センサ１０２からの情報に基づいて、タッチパネル１０１の表示画面にかかる圧力値を取得する。
【００５５】
Ｓ１００４において制御部６０１は、取得した圧力値に基づいて、接触位置３０２（Ｘ［ｎ］，Ｙ［ｎ］）の位置座標を補正する。制御部６０１は、例えば、接触位置３０２（Ｘ［ｎ］，Ｙ［ｎ］）に対応する位置座標の変動を小さくするフィルタの強度を、圧力値が高くなるほど強めて位置座標を補正してよい。また、制御部６０１は、例えば、圧力値が下がると、フィルタの強度を弱めて位置座標を補正してよい。即ち、例えば、制御部６０１は、接触位置３０２の動きのうちで速い動きの移動距離を抑えるフィルタにおいて、移動の距離を抑え込むために用いる補正係数を、圧力の増加に応じて補正がより強くかかるように変更し、位置座標の補正を行ってよい。なお、フィルタは、例えば、ローパスフィルタやジッターフィルタなどであってよい。
【００５６】
Ｓ１００５において制御部６０１は、補正した位置を示す位置情報を出力する。なお、出力された位置情報は、例えば、入力操作が、スライド操作であるか、又は押圧操作であるかなどの判定を制御部６０１が実行するために用いられてよい。例えば、制御部６０１は、入力された位置情報に示される位置と、接触開始位置３０１との間の距離を、スロップ値と比較して、入力操作の種別を判定してよい。
【００５７】
Ｓ１００６において制御部６０１は、タッチパネル１０１から接触物２０１が離れたか否かを判定する。接触物２０１がタッチパネル１０１から離れていない場合（Ｓ１００６がＮｏ）、フローはＳ１００３へと戻り、制御部６０１は、処理を繰り返して補正された位置の出力を継続する。一方、接触物２０１がタッチパネル１０１から離れた場合（Ｓ１００６がＹｅｓ）、本動作フローは終了する。
【００５８】
以上で述べた様に、第２の実施形態によれば、制御部６０１は、圧力センサ１０２で検出された圧力値が増加するにつれて、接触位置３０２の位置座標の変動を抑制するフィルタの強度を強める。また、制御部６０１は、圧力センサ１０２の圧力値が減少した場合は、フィルタの強度を弱める。これにより、タッチパネル１０１を押し込んでいくとフィルタの強度が強まり、押し込みの際のズレが発生しにくくなる。そのため、例えば、ユーザが押圧操作を入力するために押圧を強くした際に、指を滑らせてしまったとしても、フィルタにより位置座標の変動が小さい値へと補正される。そして、制御部６０１は、出力された位置座標を用いて、例えばスロップ値による入力操作の種別の判定を行う。そのため、押圧操作の入力の際に、接触物２０１を滑らせてしまったとしても、スライド操作と誤判定してしまうことが抑制できる。従って、第２の実施形態によれば、入力の際の滑りに起因する誤入力を抑制することができる。また、接触物２０１を移動させてから離すスライド操作の場合は、離す際に圧力が低くなるので、フィルタの影響が弱まる。そのため、第２の実施形態に係るフィルタを用いた補正によるスライド操作への影響は抑えられる。
【００５９】
また、例えば、表示領域をスクロールしている最中に圧力が強くなった場合に、フィルタの強度をあげてしまうとスクロールがスムーズに動かなくなる場合がある。そのため、第２の実施形態において、制御部６０１は、接触物２０１が移動している場合は、圧力が増加してもフィルタの強度を強めることはしないようにフィルタの強度を制御してもよい。それにより、スクロールがスムーズに動かなくなることを抑制できる。
【００６０】
図１０の動作フローにおいて、Ｓ１００４の処理では制御部６０１は、例えば、補正部６１１として動作する。また、Ｓ１００５の処理では制御部６０１は、例えば、出力部６１２として動作する。
【００６１】
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。例えば、図８のＳ８０１、及びＳ８０２の処理は順序を入れ替えて実行されてもよい。
【００６２】
また、上述の実施形態において、押圧操作による決定処理の実行指示は、例えば、押圧の際に入力されても、押圧後に接触物２０１がタッチパネル１０１から離れた際に入力されてもよい。
【００６３】
図１１は、実施形態に係る電子機器１００を実現するためのコンピュータ（情報処理装置）１１００のハードウェア構成を例示する図である。図１１のハードウェア構成は、例えば、プロセッサ１１０１、メモリ１１０２、タッチコントローラ１１０３、タッチパネル１１０４、圧力センサ１１０５、通信インタフェース１１０６、及び入出力インタフェース１１０７を備える。なお、プロセッサ１１０１は、例えば、メモリ１１０２、タッチコントローラ１１０３、通信インタフェース１１０６、入出力インタフェース１１０７と接続されている。
【００６４】
プロセッサ１１０１は、メモリ１１０２を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した制御部６０１の一部または全部の機能を提供する。例えば、プロセッサ１１０１は、メモリ１１０２に格納されているプログラムを実行することで、補正部６１１、及び出力部６１２として動作してよい。また、記憶部６０２は、例えばメモリ１１０２を含む。メモリ１１０２は、例えば、図８の動作フローで用いる所定の圧力値、所定値などの動作フローで用いられる情報を記憶してよい。メモリ１１０２は、例えば半導体メモリであり、ＲＡＭ領域及びＲＯＭ領域を含んでよい。なお、ＲＡＭは、Random Access Memoryの略称である。また、ＲＯＭは、Read Only Memoryの略称である。
【００６５】
タッチコントローラ１１０３は、タッチパネル１１０４と接続されており、プロセッサ１１０１の指示に従ってタッチパネル１１０４を制御する。例えば、タッチコントローラ１１０３は、プロセッサ１１０１の指示に従って、タッチパネル１１０４の表示画面に情報を出力させる。また、タッチコントローラ１１０３は、ユーザが接触物２０１をタッチパネル１１０４に接触させて入力を行った場合、タッチパネル１１０４から取得された情報を基に、接触位置３０２の位置座標などを特定し、プロセッサ１１０１に出力してよい。また、圧力センサ１１０５は、例えば、ユーザがタッチパネル１１０４に接触物２０１を接触させて入力を行った場合に、接触物２０１がタッチパネル１１０４を押圧する圧力を検出する。タッチコントローラ１１０３は、例えば、圧力センサ１１０５で検出された圧力に関する情報をプロセッサ１１０１に出力する。
【００６６】
通信インタフェース１１０６は、例えば、プロセッサ１１０１の指示に従ってネットワークを介してデータを送受信する。入出力インタフェース１１０７は、例えば、入力装置及び出力装置との間のインタフェースであってよい。入力装置は、例えばマイクなどの音声を入力する装置、及びキーボードなどの装置であってよい。出力装置は、例えばスピーカなどの音声を出力する装置、及びプリンタなどの印刷装置である。
【００６７】
実施形態に係る各プログラムは、例えば、下記の形態で電子機器１００に提供される。
（１）メモリ１１０２に予めインストールされている。
（２）プログラムサーバなどのサーバからネットワークを介して提供される。 
【００６８】
なお、図１１を参照して述べた電子機器１００を実現するためのコンピュータ１１００のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がＦＰＧＡ及びＳｏＣなどによるハードウェアとして実装されてもよい。なお、ＦＰＧＡは、Field Programmable Gate Arrayの略称である。ＳｏＣは、System-on-a-chipの略称である。例えば、上述の第２の実施形態において、フィルタは、プロセッサ１１０１がローパスフィルタなどとして動作することで実装されてもよいし、ハードウェアで実装されたフィルタが用いられてもよい。
【００６９】
また、上記の例では、実施形態にかかる動作フローの処理を、プロセッサ１１０１が実行する場合を例示したが、実施形態はこれに限定されるものではなく、例えば、一部又は全部の処理が、タッチコントローラ１１０３によって実行されてもよい。この場合、タッチコントローラ１１０３は、例えば、プログラムを実行することで、制御部６０１として動作してよい。
【００７０】
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【００７１】
以上の第１及び第２の実施形態を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
タッチパネルの表示画面にかかる圧力を検出する圧力センサで検出された圧力値に応じて、閾値を補正する補正部と、
前記タッチパネルの前記表示画面に接触した接触物の接触開始位置から現在の接触位置までの距離が前記閾値を越えた場合、前記接触位置に対応する位置座標を出力する出力部と、
を備える、電子機器。
（付記２）
前記補正部は、前記圧力値が、第１の値から前記第１の値よりも高い第２の値に変化した場合に、前記閾値を、第１の閾値から前記第１の閾値よりも大きい第２の閾値に補正する、ことを特徴とする付記１に記載の電子機器。
（付記３）
前記補正部は、更に、前記接触開始位置から前記接触位置までの距離が前記閾値を越えた際の前記接触位置と、前記接触開始位置との間の位置のズレに基づいて決定されるオフセット値を用いて、前記接触位置を補正して前記位置座標を特定する、ことを特徴とする付記１又は２に記載の電子機器。
（付記４）
前記補正部は、前記圧力値が、第３の値から前記第３の値よりも低い第４の値に変化した場合に、前記オフセット値を、第１のオフセット値から前記第１のオフセット値よりも小さい第２のオフセット値に更新する、ことを特徴とする付記３に記載の電子機器。
（付記５）
タッチパネルの表示画面にかかる圧力を検出する圧力センサで検出された圧力値に応じて、閾値を補正し、
前記タッチパネルの前記表示画面に接触した接触物の接触開始位置から現在の接触位置までの距離が前記閾値を越えた場合に、前記接触位置に対応する位置座標を出力する、
処理を、コンピュータに実行させる補正プログラム。
（付記６）
前記タッチパネルの表示画面にかかる圧力を検出する圧力センサで検出された圧力値が、第１の値から前記第１の値よりも高い第２の値に変化した場合に、前記タッチパネルに接触した接触物の接触位置に対応する位置座標の変動を抑えるフィルタの強度を、第１の強度から前記第１の強度よりも強い第２の強度に変更し、前記フィルタで前記位置座標を補正する補正部と、
前記位置座標を出力する出力部と、
を備える、電子機器。
【符号の説明】
【００７２】
１００      電子機器
１０１      タッチパネル
１０２      圧力センサ
２０１      接触物
６０１      制御部
６０２      記憶部
６１１      補正部
６１２      出力部
１１００    コンピュータ
１１０１    プロセッサ
１１０２    メモリ
１１０３    タッチコントローラ
１１０４    タッチパネル
１１０５    圧力センサ
１１０６    通信インタフェース
１１０７    入出力インタフェース
【図１】
2017076278.tif 000003
【図２】
2017076278.tif 000004
【図３】
2017076278.tif 000005
【図４】
2017076278.tif 000006
【図５】
2017076278.tif 000007
【図６】
2017076278.tif 000008
【図７】
2017076278.tif 000009
【図８】
2017076278.tif 000010
【図９】
2017076278.tif 000011
【図１０】
2017076278.tif 000012
【図１１】
2017076278.tif 000013