JP2012173842A - 入力装置、入力制御方法及びプログラム - Google Patents

入力装置、入力制御方法及びプログラム Download PDF

Info

Publication number
JP2012173842A
JP2012173842A JP2011032997A JP2011032997A JP2012173842A JP 2012173842 A JP2012173842 A JP 2012173842A JP 2011032997 A JP2011032997 A JP 2011032997A JP 2011032997 A JP2011032997 A JP 2011032997A JP 2012173842 A JP2012173842 A JP 2012173842A
Authority
JP
Japan
Prior art keywords
thumb
value
pressure sensor
movement
sensor group
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.)
Abandoned
Application number
JP2011032997A
Other languages
English (en)
Inventor
Soji Tokunaga
聡司 徳永
Shin Mikuni
伸 三国
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.)
NEC Casio Mobile Communications Ltd
Original Assignee
NEC Casio Mobile Communications Ltd
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 NEC Casio Mobile Communications Ltd filed Critical NEC Casio Mobile Communications Ltd
Priority to JP2011032997A priority Critical patent/JP2012173842A/ja
Publication of JP2012173842A publication Critical patent/JP2012173842A/ja
Abandoned legal-status Critical Current

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 片手操作を行っているときの意図しないイベント発生を確実に回避しつつ、直感的な操作に対応させて適切なイベントを発生する。
【解決手段】 入力装置(105)は、手のひらに載る程度の大きさの筐体(100)、前記筐体の右側面に設けられた右側圧力センサ群(101)、前記筐体の左側面に設けられた左側圧力センサ群(102)、前記右側圧力センサ群及び左側圧力センサ群に加えられたそれぞれの圧力に基づいて、前記筐体を保持している手の親指の動く方向を判定する判定手段(103)、前記判定手段の判定結果に応じたイベントを発生するイベント発生手段(104)を備える。
【選択図】 図15

Description

本発明は、入力装置、入力制御方法及びプログラムに関し、詳しくは、手のひらに載る程度の大きさの平板(タブレット)状の筐体を有する小型電子機器に用いて好適な入力装置、入力制御方法及びプログラムに関する。
近年、タブレット型の電子機器の普及が著しい。タブレット型の電子機器のうち、とりわけ、手のひらに載る程度の小さな筐体を持つ小型電子機器は、片手で操作できるので、混雑した電車内のように両手が使えない場所での操作性に優れている。
タブレット型電子機器の多くは、主たる入力インターフェースをタッチパネルとしているので、片手で筐体を持ったまま、その手の親指をタッチパネル上で動かして所要の操作、たとえば、画面のスクロールやページめくりを行うことができ、あるいは、画面上のリンク先やグラフィックボタンなどを親指でタッチして入力操作を行うことができる。
ところで、このような片手操作を行っているときに、しばしば意図しない操作が行われることがある。たとえば、スクロールを意図して親指を動かしたにもかかわらず、不本意にリンク先が開かれたりすることがある。これは、両手で操作する場合(一方の手で筐体を持ち他方の手の指先でタッチ操作を行う場合)に比べて、微妙なタッチ操作を行いにくいからである。
<特許文献1>
タッチパネルの誤操作を防止する従来技術としては、たとえば、下記の特許文献1に記載のものが知られている。しかしながら、この技術は、タッチの時間が基準時間(タッチ操作の判定時間)に満たなかった場合に当該基準時間を短くするというものであり、シングルタッチやダブルタッチの応答性を改善する技術に過ぎないから、前記の不都合(スクロール操作中の不本意なシングルイベント発生)に対処できない。
他の従来技術としては、たとえば、下記の特許文献2、特許文献3、特許文献4、特許文献5、特許文献6、特許文献7に記載のものが知られている。
<特許文献2>
筐体の左側面と右側面にそれぞれ複数の圧力センサを設けるもの。複数の圧力センサのいずれかに触れたときの圧力センサの検出結果を登録し、その登録情報と特定の操作イベントとを関連付ける。以降、ユーザが登録された圧力センサに触れると、関連づけられた操作イベントが発生する。
<特許文献3>
手持ちグリップの一側面に板状の操作子を設け、その操作子とグリップの間に圧力センサを配置するもの。グリップの握る力の強さを圧力センサで検出する。<特許文献4>
筐体の両側面に圧力センサを内蔵したグリップ部を設け、グリップ部に加えられた握る力の強さを圧力センサで検出するもの。
<特許文献5>
親指用の圧力センサを筐体の右側面に設け、残り4指用の4つの圧力センサを左側面に設けるもの。各指ごとの押圧力をそれぞれの圧力センサで個別に検出する。
<特許文献6>
筐体の両側面に少なくとも一つずつの圧力センサを設けるもの。両側面に加えられた圧力を各々のセンサで検出する。右側面押圧力と左側面押圧力の差分値(圧力差)を演算し、その差分値に基づいて操作イベントを発生する。
<特許文献7>
筐体の左右側面と背面に複数の圧力センサを設け、それらの圧力センサの検出結果から、筐体の持ち方、すなわち、右手で持っているのか、左手で持っているのか、または、筐体のどの部分を持っているのかなどを判定する。
<特許文献8>
筐体の内側に、指先や手のひら等の人体の接近を検出することができるタッチパネル(静電容量式)を敷き詰めるもの。タッチパネルによって筐体の持ち方を判定する。
特開2007−109082号公報 特開2000−293289号公報 特開2003−186597号公報 特開2004−177993号公報 特開2006−201984号公報 特開2009−200665号公報 特開2010−154090号公報 特開2004−302734号公報
しかしながら、上記の特許文献2、特許文献3、特許文献4、特許文献5、特許文献6、特許文献7に記載の技術は、以下の問題点がある。
<特許文献2>
各々のセンサに操作イベントを割り付けるものにすぎない。たとえば、圧力センサのそれぞれに左スクロール、右スクロール、上スクロール及び下スクロールを割り付けることもできるが、意図したスクロールに対応した圧力センサを指で加圧しなければならず、加圧方向とスクロール方向が一致しないので、直感的な操作にならない。
<特許文献3、特許文献4、特許文献6>
単一の動作(握るという動作)にしか対応しない。たとえば、右スクロール、上スクロール及び下スクロールに適用する場合は、握る力の強さでしかそれらを区別できず、やはり直感的な操作にならない。
<特許文献5>
単なるメカニカルスイッチの置き換えに過ぎない。たとえば、圧力センサのそれぞれに左スクロール、右スクロール、上スクロール及び下スクロールを割り付けることもできるが、意図したスクロールに対応した圧力センサを指で加圧しなければならず、直感的な操作にならない。
<特許文献7>
持ち方を判定できるだけ。上下左右のスクロールに対応できない。
<特許文献8>
持ち方を判定できるだけ。上下左右のスクロールに対応できないうえ、タッチパネルを使用するのでコストがかかる。
そこで、本発明の目的は、片手操作を行っているときの意図しないイベント発生を確実に回避しつつ、直感的な操作に対応させて上下左右のスクロールイベントを発生できるようにすることにある。
本発明は、手のひらに載る程度の大きさの筐体と、前記筐体の右側面に設けられた右側圧力センサ群と、前記筐体の左側面に設けられた左側圧力センサ群と、前記右側圧力センサ群及び左側圧力センサ群に加えられたそれぞれの圧力に基づいて、前記筐体を保持している手の親指の動く方向を判定する判定手段と、前記判定手段の判定結果に応じたイベントを発生するイベント発生手段とを備えたことを特徴とする入力装置である。
本発明によれば、筐体を保持している手の親指の動く方向を判定し、その判定結果に応じて、たとえば、上下左右のスクロールイベントのいずれか一つ又は上下左右のページめくりイベントの一つを発生することができる。親指を動かしている間、タッチパネルに触れる必要がない。したがって、片手操作を行っているときの意図しないイベント発生を確実に回避しつつ、直感的な操作に対応させて上下左右のスクロールイベントやページめくりイベントを発生することができる。
実施形態に係る電子機器の外観図である。 電子機器の内部ブロック図である。 電子機器1の片手操作例を示す図(1/2)である。 電子機器1の片手操作例を示す図(2/2)である。 圧力センサの入出力特性図である。 圧力センサA1〜A4、B1〜B4の二値化検出パターンを示す図である。 第二の実施形態で用いられる制御変数格納部12の内容を示す図である。 重み値の一例を示す図である。 式1を具現化した回路構成の一例を示す図である。 スクロール速度と評価値の関係を示す図である。 重み値の学習動作の概念図である。 第二の実施形態を実装したソフトウェアの要部フローを示す図である。 修正時の学習動作(ステップS17)のサブルーチンフローを示す図である。 非修正時の学習動作(ステップS15)のサブルーチンフローを示す図である。 付記1の構成図である。
以下、本発明の実施形態を、図面を参照しながら説明する。
図1は、実施形態に係る電子機器の外観図である。この図において、電子機器1は、手のひらに載る程度の大きさのタブレット状の筐体2の主面(前面ともいう)にタッチパネル3付の表示部4を配置するとともに、その両側面(左側面5と右側面6)にそれぞれ複数個(ここでは一例として4個ずつとする)で群をなす圧力センサA1〜A4、B1〜B4を配置して構成されている。筐体2の左側面に位置する圧力センサA1〜A4は「左側圧力センサ群」ということができ、また、筐体2の右側面に位置する圧力センサB1〜B4は「右側圧力センサ群」ということができる。
圧力センサA1〜A4、B1〜B4は、たとえば、筐体2の両側面に左右対称(シンメトリック)に配置してもよいし、あるいは、非対象に配置してもよい。非対象にする場合は、筐体2を持つ手(右手か左手か)を特定し、その手に合わせて左右の圧力センサA1〜A4、B1〜B4の配置を決めればよい。たとえば、右手であれば、右手の親指を除く4指が触れる位置に右側の圧力センサA1〜A4を配置するとともに、右手の母指球(親指付け根のふくらみ部分)が触れる位置に左側の圧力センサB1〜B4を配置すればよい。左手の場合はこの逆になる。このように、圧力センサA1〜A4、B1〜B4を筐体2の両側面に非対象に配置した場合、その配置は右手または左手の専用になるが、筐体2の持ち方は人様々であるから、このような持ち方の制限は実用上好ましくない。左右の手兼用にするには、シンメトリックの配置にすればよい。
なお、図面では略しているが、筐体2の任意面の任意位置に電源スイッチや各種機能ボタンなどの物理スイッチ(メカニカルスイッチ)が設けられており、さらに必要であれば、任意面の任意位置に、SDカード等の記憶メディアスロットや充電及び外部インターフェース兼用のコネクタなどを設けてもよい。
図2は、電子機器の内部ブロック図である。この図において、電子機器1は、筐体2の内部に実装されたセンサI/F(インターフェース)部7、静電容量式のタッチパネル3、液晶ディスプレイ等の表示部4及び主制御部8を備え、筐体2の左側面に配置した4つの圧力センサA1〜A4からの信号と、筐体2の右側面に配置した4つの圧力センサB1〜B4からの信号とをセンサI/F部7を介して主制御部8に入力している。
主制御部8は、プログラム制御方式の制御要素であり、不揮発性且つ書き換え可能なメモリ(たとえば、フラッシュメモリ、ハードディスクまたはシリコンディスクなど)9にあらかじめ格納されているプログラムをコンピュータ(以下、CPU)10で実行することにより、この電子機器1に必要な様々な機能を実現する。
たとえば、任意のコンテンツ(電子図書など)の表示機能を実現するとともに、そのコンテンツの表示と閲覧に必要な様々なユーザ補助機能、たとえば、スクロール機能やページめくり機能、及び、コンテンツに埋め込まれたリンクやコントロールボタンなどのオブジェクト選択機能などを、CPU10などのハードウェアリソースと制御プログラムなどのソフトウェアリソースとの有機的結合によって実現する。
上記の機能はあくまでも一例に過ぎない。たとえば、電子機器1が携帯電話機であれば電話の送受話機能と読み替えてもよく、または、デジタルカメラであれば撮影や再生機能と読み替えてもよい。あるいは、インターネット端末であればホームページなどの表示閲覧機能やメールの送受信機能などと読み替えてもよく、さらには、在庫管理や販売管理などの特定用途に用いられるものであれば当該用途の機能と読み替えてもよい。または、携帯ゲーム機や電子辞書などであればそれらのゲーム機能や辞書機能などと読み替えてもよく、携帯型のナビゲーション装置であればナビゲーション機能と読み替えてもよい。その他、スクロール操作やページめくり操作などを必要とするあらゆる携帯型電子機器に適用できる。
さらに、主制御部8はスクロールやページめくり判定用の時間情報を発生する時計部11を有し、メモリ9は制御変数格納部12を有する。制御変数格納部12の具体的内容や用途等については、後で詳しく説明する。
主制御部8はまた、スクロールイベントやページめくりイベント等を適宜に発生するイベント発生手段としての機能を有している。イベントを“発行”するともいう。一般的にイベントの発行はオペレーティングシステム(メモリ9にあらかじめ格納されているプログラムの一つ:いわゆるOS)の基本機能であることから、本実施例におけるスクロールイベントやページめくりイベントの発行もOSによって行われるものとするが、これに限定されない。OS以外の任意のアプリケーションプログラムによって適宜に発行する態様であってもよく、あるいは、ハードウェア的に発行する態様であってもよい。
図3及び図4は、電子機器1の片手操作例を示す図である。これらの図に示すように、タッチパネル3付の表示部4を有する電子機器1を片手(ここでは多くの人の利き手である右手13とする)で操作する場合は、もっぱら自由になる親指14を動かして行うことになる。図3は、親指14を伸ばす動作(a)と縮める動作(b)を示し、図4は、親指14を上に動かす動作(a)と下に動かす動作(b)を示している。
さて、グラフィカルユーザインターフェース(GUI)操作の一つに「スクロール」や「ページめくり」がある。「スクロール」は一般的に画面表示を連続的にずらしていく操作のことをいい、「ページめくり」はフリックなどの操作を契機にして、あたかもページが捲られるような画面効果を伴いつつ、画面表示を切り替える操作のことをいう。このように「スクロール」と「ページめくり」は見た目の画面効果に大きな違いを持つとともに異なるイベントでもあるが、画面表示を更新する点で共通していることから、以下、説明を簡単化するためにスクロールで統一することにする。スクロールは、一般的にはウィンドウの右端や下端に表示される「スクロールバー」と呼ばれるコントロールオブジェクトをマウス等でドラッグして行われるが、タッチパネルを用いた場合のスクロール操作は、指先の「ずらし」(パネルに触れたまま滑らす動作)によって行われる。つまり、タッチパネル上で指先を左または右にずらすと左または右スクロールが行われ、あるいは、上または下にずらすと上または下スクロールが行われる。指先の動きとスクロール方向が一致するので、直感的な操作を行うことができる。また、マウス等を使用しないため、特に携帯型の電子機器に好適な操作手法である。
かかる直感的操作と、図3及び図4の親指14の動きとを対応させると、図3(a)の親指14を伸ばす動作は左スクロールに相当し、図3(b)の親指14を縮める動作は右スクロールに相当し、図4(a)の親指14を上に動かす動作は上スクロールに相当し、図4(b)の親指14を下に動かす動作は下スクロールに相当する。
説明の便宜上、図3及び図4の親指14の動きをスクロール方向に合わせていいかえることにする。すなわち、親指14を伸ばす動作のことを「左伸ばし」ということにし、同様に、親指14を縮める動作のことを「右伸ばし」、親指14を上に動かす動作のことを「上伸ばし」、親指14を下に動かす動作のことを「下伸ばし」ということにする。
さて、片手操作における不都合は、スクロール操作を行っているときに、しばしば不本意な操作イベント(シングルタッチ)が発生してしまうことにある。両手操作に比べて微妙なタッチを行いにくく、スクロール中に一瞬指先が強く触れてしまうからであり、その接触をシングルタッチと誤認してしまうからである。このような誤認はユーザの意図に反し、不快感を伴う。これを解決するためには、タッチパネル3の感度などを適正化することが考えられるが、根本的な解決に至らない。人によって操作の癖が違うからである。
片手操作における上記不都合の根本原因は、もっぱら同一の入力手段(タッチパネル3)に対して異なる操作(スクロールとシングルタッチ)を行っていることにある。つまり、同一の入力手段(タッチパネル3)では、それらの操作を正しく区別できないことがあるからである。
そこで、本実施形態では、筐体2の両側面に設けた複数の圧力センサA1〜A4、B1〜B4を第二の入力手段として利用することとし、その第二の入力手段によってスクロール操作等を検出することにより、上記不都合の確実な解消を図ることとしたものである。
本実施形態の具体的な内容は後で詳しく説明するが、まず始めに本実施形態を適用した場合のスクロール操作について、図3及び図4を用いて説明する。本実施形態におけるスクロール操作も「左伸ばし」や「右伸ばし」または「上伸ばし」や「下伸ばし」の動作によって行う点で従来と同様である。相違点は、タッチパネル3に“触れなくても”それらの動作を行うことができることにある。タッチパネル3に触れないので、不本意な操作イベント(シングルタッチ等)は起こりえない。したがって、上記の不都合を確実に解消することができる。
<第一の実施形態>
図5は、圧力センサの入出力特性図である。この図において、横軸(入力軸)はセンサに加えられる力の大きさを示し、縦軸(出力軸)はセンサ出力の大きさを示している。この図では、圧力センサは所定の最小圧(Pmin)から所定の最大圧(Pmax)までの間で非線形に出力が変化する特性(特性線15参照)を有しているものとして描いているが、これは説明上の一例に過ぎない。当然ながら、PminとPmaxおよびその間の特性線15の曲がり具合は、圧力センサの種類や型式などよって異なる。
一般的に、圧力センサは商品としての使い勝手を向上させるために、付加回路で圧力に比例した電圧を取り出せるようにしたものも存在するが、ここでは特にそれに限定されないが、反比例且つ非線形の入出力特性(特性線15参照)を持つものを例示することにする。圧力センサは、たとえば、炭素粒子を充填したものであって、且つ、圧力によって変化する「抵抗値」の「変化量」を測定するものであってもよい。たとえば、最大圧(Pmax)のときの出力を0、最小圧(Pmin)のときの出力を200とし、その間の圧力を0〜200の範囲で離散化(デジタル化)して表現してもよい。
この図から読み取るべき重要な点は、もっぱら圧力に応じて出力が変化する点にある。比例や反比例及び線形や非線型などは重要ではない。また、PmaxやPminの出力値(0、200)も一例に過ぎない。これ以外の値であっても当然かまわないし、あるいは、PmaxとPminの大小関係を逆にしてもよい。以下、説明の便宜上、Pmax=0、Pmin=200とする。
圧力センサは様々な種類が存在する。たとえば、NiとCuの合金を用いた抵抗線式、Si半導体を用いた拡散式や成膜式あるいは静電容量式、セラミックを用いた静電容量式、その他機械式などが存在するが、いずれも圧力を電気信号に変換して出力する点で原理は同じである。本実施形態の圧力センサA1〜A4、B1〜B4にいずれを用いてもかまわない。コストや見た目、加工のしやすさ、感度などを勘案して最適な種類を選定すればよい。
圧力センサの出力はアナログである。本実施形態の圧力センサA1〜A4、B1〜B4もアナログ信号を出力するが、デジタル技術の一般に倣い、それぞれの圧力センサA1〜A4、B1〜B4の出力をデジタル信号に変換して使用する。図5の縦軸に示されている「0」と「200」はデジタル変換後の最大値と最小値の一例である。つまり、この例の場合、それぞれの圧力センサA1〜A4、B1〜B4の出力を0〜200の値に離散化したデジタル信号を使用する。ここで、デジタル信号の「0」は最大圧(Pmax)のときのもの、デジタル信号の「200」は最小圧(Pmin)のときのものである。最小圧(Pmin)から最大圧(Pmax)までの間は0を超え且つ200未満の離散値(デジタル値)になる。
ここで、0〜200のデジタル信号を二値化する。すなわち、図示のように、0〜200の離散化範囲の略中間値に相当する閾値(ここでは90とする)を設定し、デジタル変換後のセンサ出力と閾値とを比較して、センサ出力が閾値を超えていれば第一の状態、超えていなければ第二の状態と判定する。第一の状態は圧力センサに力が加えられていない(または小さな力しか加えられていない)状態(無圧状態という)であり、第二の状態は圧力センサに力が加えられている状態(加圧状態という)である。
見やすくするために、無圧状態を×印で表し、加圧状態を○印で表すことにする。
図6は、圧力センサA1〜A4、B1〜B4の二値化検出パターンを示す図である。この図に示すように、「左伸ばし」を行った場合はA1、A2、A3、A4、B2、B3が○(加圧状態)、B1、B4が×(無圧状態)になり、「右伸ばし」を行った場合はA1〜A4とB1〜B4の全てが×(無圧状態)になる。また、「上伸ばし」を行った場合はA1、A2、A3、B1が○(加圧状態)、A4、B2、B3、B4が×(無圧状態)になり、「下伸ばし」を行った場合はA1、A2、A3、B1、B2が×(無圧状態)、A4、B3、B4が○(加圧状態)になる。
上記の検出パターンを検証する。今、「左伸ばし」を行った場合、つまり、図3(a)に示すような親指14を伸ばす動作を行った場合、手は自然に「握る」形になるので、親指14以外の4指が筐体2の左側面に強めに接するとともに、手のひらの母指球(親指付け根のふくらみ部分)のほぼ全体が筐体2の右側面に強めに接する。このとき、親指14以外の4指がA1〜A4の上に位置しているならば、それらのA1〜A4は○(加圧状態)になり、また、母指球に接するB2、B3も○(加圧状態)になる。したがって、図示の「左伸ばし」の検出パターンは正しいといえる。
次に、「右伸ばし」を行った場合、つまり、図3(b)に示すような親指14を縮める動作を行った場合、手のひらは自然に「開く」形になるので、親指14以外の4指が筐体2の左側面から離れる(または当接圧を減じる)とともに、手のひらの母指球(親指付け根のふくらみ部分)も筐体2の右側面から離れる(または当接圧を減じる)。このとき、親指14以外の4指がA1〜A4の上に位置しているならば、それらのA1〜A4は×(無圧状態)になり、また、同様に母指球に接するB2、B3も×(無圧状態)になる。したがって、図示の「右伸ばし」の検出パターンは正しいといえる。
次に、「上伸ばし」を行った場合、つまり、図4(a)に示すような親指14を上に動かす動作を行った場合、親指14以外の4指のうち小指を除く3指が自然に曲がって筐体2の左側面に強めに接するとともに、手のひらの母指球(親指付け根のふくらみ部分)の親指に近い部分が筐体2の右側面に強めに接する。このとき、親指14以外の4指がA1〜A4の上に位置しているならば、それらのA1〜A4のうち小指以外の指が接するA1〜A3が○(加圧状態)になり、また、母指球の親指に近い部分に接するB1も○(無圧状態)になる。したがって、図示の「上伸ばし」の検出パターンは正しいといえる。
最後に、「下伸ばし」を行った場合、つまり、図4(b)に示すような親指14を下に動かす動作を行った場合、親指14以外の4指のうち小指が自然に曲がって筐体2の左側面に強めに接するとともに、手のひらの母指球(親指付け根のふくらみ部分)の親指から離れた部分が筐体2の右側面に強めに接する。このとき、親指14以外の4指がA1〜A4の上に位置しているならば、それらのA1〜A4のうち小指が接するA4が○(加圧状態)になり、また、母指球の親指から離れた部分が接するB3、B4も○(無圧状態)になる。したがって、図示の「下伸ばし」の検出パターンは正しいといえる。
以上のとおり、図6に示す圧力センサA1〜A4、B1〜B4の二値化検出パターンは、「左伸ばし」、「右伸ばし」、「上伸ばし」及び「下伸ばし」の各々について特有の傾向を持っている。
したがって、第一の実施形態によれば、圧力センサA1〜A4、B1〜B4の二値化検出パターンから、上記4つの動作(左伸ばし、右伸ばし、上伸ばし及び下伸ばし)を判定することができ、その判定結果に応じて左スクロール、右スクロール、上スクロール及び下スクロールの各イベントを発生することができる。
また、この第一の実施形態によれば、親指14を動かしている間、親指14がタッチパネル3に触れないので、不本意な操作イベントが発生しない。
<第二の実施形態>
次に、前記の第一の実施形態を改良した第二の実施形態について説明する。第一の実施形態は、親指14の4つの動作(左伸ばし、右伸ばし、上伸ばし及び下伸ばし)に応じて左スクロール、右スクロール、上スクロール及び下スクロールの各イベントを発生することができるとともに、その間、親指14がタッチパネル3に触れないため、不本意な操作イベントが発生しないという利点があるものの、信頼性の点で不十分な面がある。
図6の二値化検出パターンは、前記検証のとおり、たしかに「そのような傾向になる」とはいえるものの、普遍的に(または必ず)そのようになるとはいい切れない。筐体2の持ち方が人によって異なるからである。また、関節の柔らさによっては上記の二値化検出パターンに当てはまらないことがあり得る。あるいは、小指を立てる癖のある人は、そもそもA4が常に×(無圧状態)のままになってしまう。
したがって、実用性の点で前記の第一の実施形態は改良の余地がある。ただし、実施形態の技術思想は、前記の第一の実施形態を排除しない。少なくとも特定の条件の元では、図6の二値化検出パターンから「左伸ばし」、「右伸ばし」、「上伸ばし」及び「下伸ばし」を判定し、その判定結果に応じて左スクロール、右スクロール、上スクロール及び下スクロールの各イベントを発生することができるからであり、しかも、それらの「左伸ばし」、「右伸ばし」、「上伸ばし」及び「下伸ばし」は、タッチパネル3に“触れなくても”行われるため、不本意な操作イベント(シングルタッチ等)が起こりえず、したがって、前記の不都合(スクロール操作中に不本意なシングルタッチが発生してしまう)を確実に解消できるからである。
図7は、第二の実施形態で用いられる制御変数格納部12の内容を示す図である。この図に示すように、制御変数格納部12は、測定値メモリブロック16、閾値メモリブロック17、相対値メモリブロック18、加算値メモリブロック19、平均値メモリブロック20、左伸ばし重み値メモリブロック21、右伸ばし重み値メモリブロック22、上伸ばし重み値メモリブロック23、下伸ばし重み値メモリブロック24、評価値メモリブロック25、前回検出方向記憶メモリ26、同方向検出カウンタ27及び前回スクロール方向記憶メモリ28を備える。
測定値メモリブロック16は、8個の圧力センサA1〜A4、B1〜B4の各々に対応した8個の記憶要素(以下、A1測定値メモリ16a〜B4測定値メモリ16h)からなる。所定の周期ごとに、圧力センサA1の測定値(以下、sA1とする)がA1測定値メモリ16aに格納され、圧力センサA2の測定値(以下、sA2とする)がA2測定値メモリ16bに格納され、圧力センサA3の測定値(以下、sA3とする)がA3測定値メモリ16cに格納され、・・・・、圧力センサB4の測定値(以下、sB4とする)がB4測定値メモリ16hに格納される。
8個の圧力センサA1〜A4、B1〜B4の出力値(測定値:sA1〜sB4)は、先に説明(図5参照)したとおり、加圧状態で「0」、無圧状態で「200」となる離散値である。したがって、A1測定値メモリ16a〜B4測定値メモリ16hには、対応する圧力センサA1〜A4、B1〜B4に加えられる圧力に応じて、「0」から「200」までの離散化された測定値sA1〜sB4が定期的に格納されることになる。
閾値メモリブロック17も圧力センサA1〜A4、B1〜B4と同数の8個の記憶要素(以下、A1閾値メモリ17a〜B4閾値メモリ17h)からなる。
以下同様に、相対値メモリブロック18も8個の記憶要素(以下、A1相対値メモリ18a〜B4相対値メモリ18h)からなり、加算値メモリブロック19も8個の記憶要素(以下、A1加算値メモリ19a〜B4加算値メモリ19h)からなり、平均値メモリブロック20も8個の記憶要素(以下、A1平均値メモリ20a〜B4平均値メモリ20h)からなり、左伸ばし重み値メモリブロック21も8個の記憶要素(以下、A1左伸ばし重み値メモリ21a〜B4左伸ばし重み値メモリ21h)からなり、右伸ばし重み値メモリブロック22も8個の記憶要素(以下、A1右伸ばし重み値メモリ22a〜B4右伸ばし重み値メモリ22h)からなり、上伸ばし重み値メモリブロック23も8個の記憶要素(以下、A1上伸ばし重み値メモリ23a〜B4上伸ばし重み値メモリ23h)からなり、下伸ばし重み値メモリブロック24も8個の記憶要素(以下、A1下伸ばし重み値メモリ24a〜B4下伸ばし重み値メモリ24h)からなる。
評価値メモリブロック25は、「左伸ばし」、「右伸ばし」、「上伸ばし」及び「下伸ばし」の4つの動作に対応した4個の記憶要素(以下、左伸ばし評価値メモリ25a、右伸ばし評価値メモリ25b、上伸ばし評価値メモリ25c及び下伸ばし評価値メモリ25d)からなり、その他のメモリ(前回検出方向記憶メモリ26、同方向検出カウンタ27及び前回スクロール方向記憶メモリ28)は、いずれも一つの記憶要素からなる。
A1閾値メモリ17a〜B4閾値メモリ17hには、圧力センサA1〜A4、B1〜B4のそれぞれに対応した閾値があらかじめ格納されている。以下、A1閾値メモリ17aに格納された圧力センサA1用の閾値を「A1S」ということにし、同様に、A2閾値メモリ17bに格納された圧力センサA2用の閾値を「A2S」、A3閾値メモリ17cに格納された圧力センサA3用の閾値を「A3S」、・・・・、B4閾値メモリ17hに格納された圧力センサB4用の閾値を「B4S」ということにする。
A1相対値メモリ18a〜B4相対値メモリ18hには、所定の周期ごとに「閾値」から「測定値」を差し引いた値(以下、相対値)が格納される。「閾値」は閾値メモリブロック17に格納されたもの、「測定値」は測定値メモリブロック16に格納されたものである。上記の差し引き演算と、その演算結果の格納は、圧力センサA1〜A4、B1〜B4ごとに行われる。すなわち、圧力センサA1に対応するA1相対値メモリ18aには、「A1S」から「sA1」を差し引いた値(A1S−sA1)が相対値として格納され、同様に、圧力センサA2に対応するA2相対値メモリ18bには、「A2S」から「sA2」を差し引いた値(A1S−sA1)が相対値として格納され、圧力センサA3に対応するA3相対値メモリ18cには、「A3S」から「sA3」を差し引いた値(A3S−sA3)が相対値として格納され、・・・・、圧力センサB4に対応するB4相対値メモリ18hには、「B4S」から「sB4」を差し引いた値(B4S−sB4)が相対値として格納される。
上記のとおり、相対値は「閾値」から「測定値」を差し引いた値で与えられる。閾値は、圧力センサ個々の特性のばらつきを吸収するためのものであり、工場出荷時に各々の圧力センサA1〜A4、B1〜B4の特性を調べて適切な値がA1閾値メモリ17a〜B4閾値メモリ17hに書き込まれる。このように、閾値は、圧力センサごとの特性に応じるため、その値を一様に特定できないが、説明の便宜上、仮に「閾値」=90とするならば、加圧状態(Pmax)における相対値は90−0=90で与えられ、無圧状態(Pmin)における相対値は90−200=−110で与えられる。また、Pmin〜Pmaxの間の相対値は90〜−110の間で与えられ、加圧状態と無圧状態のどちらともいえないとき相対値は90−90=0で与えられる。
この相対値0は、加圧と無圧の判定が最も敏感な境界値である。良好な検出感度を得る点で、図5の特性線15の曲がり具合が最も大きい部分に、この境界値(相対値0)が来るように、各々の圧力センサA1〜A4、B1〜B4の閾値を調整する。こうすると、微妙な加圧状態を感度よく検出できるから好ましい。
また、重み値の初期値(工場出荷時の初期値)を以下のように設定してもよい。
図8は、重み値の一例を示す図である。図示の重み値は、積算器(図9の符号29b〜29e、・・・・、30b〜30e参照)に加えられる「重み値」(A1L、A1R、A1U、A1D、・・・・、B4L、B4R、B4U、B4D)の一例である。
これらの重み値は、前出の図6における閾値に対応する。ちなみに、閾値は圧力センサA1〜A4、B1〜B4に圧力が加えられているかどうかを判断するための基準の値であって、図9では圧力センサの値を相対値に変換するために減算器(符号29a、・・・・、30a参照)に加えられる固定値である。つまり、閾値は高感度化手法のための値ではなく、圧力センサ固有の特性値である。これに対して、図8の重み値は、学習により変化する可変値である。図8の例では、各圧力センサの相対値は最大圧力を加えた場合や手を離した場合には、閾値と同じ程度の値が測定されることになるため、初期値として閾値と同程度の絶対値となる重み値(±90)を設定している。たとえば、図8の「左伸ばし」のA1の値(90)は図9のA1Lに相当し、また、図8の「右伸ばし」のA1の値(−90)は図9のA1Rに相当する。
図8の例は、特徴の二乗が加算されるようにしたものであり、特徴に合致したときに、非常に大きなピーク値を得ることができる高感度化手法の一つである。これは、手の力の加え方によって「複数のセンサに表れる特徴」が、その特徴と同じパターンを持ったベクトルと「積和を取るときに二乗され、加算される」ことを意味している。同じパターンの場合は、正と正、負と負を掛け算して和を取るので値は大きく、違うパターンを含むと正と負を掛け算して和を取るので値は小さくなるからである。図8の例はベクトルを表しており、このベクトルは学習により変化する。このため、重み値は、その初期値においてだいたい二乗であるといえる。いつまでも二乗ではないが、少なくとも初期値においてはだいたい二乗であるといって差し支えない。
加算値メモリブロック19(A1加算値メモリ19a〜B4加算値メモリ19h)、前回検出方向記憶メモリ26、同方向検出カウンタ27及び前回スクロール方向記憶メモリ28については、後で詳しく説明する。
評価値メモリブロック25(左伸ばし評価値メモリ25a、右伸ばし評価値メモリ25b、上伸ばし評価値メモリ25c及び下伸ばし評価値メモリ25d)には、各々の圧力センサA1〜A4、B1〜B4の「相対値」に所定の重み値を乗算し、その乗算結果を足し合わせた総和値(以下、評価値)が格納される。
所定の重み値は、左伸ばし重み値メモリブロック21、右伸ばし重み値メモリブロック22、上伸ばし重み値メモリブロック23及び下伸ばし重み値メモリブロック24に格納された各重み値である。この重み値は、圧力センサA1〜A4、B1〜B4ごとの「左伸ばし重み値」、「右伸ばし重み値」、「上伸ばし重み値」及び「下伸ばし重み値」からなり、それぞれを「A1L〜B4L」、「A1R〜B4R」、「A1U〜B4U」及び「A1D〜B4D」で表すことにする。ここで、“L”は左伸ばし重み値の“左”を意味し、“R”は右伸ばし重み値の“右”を意味し、“U”は上伸ばし重み値の“上”を意味し、“D”は下伸ばし重み値の“下”を意味する。
評価値メモリブロック25の左伸ばし評価値メモリ25aには、8個の圧力センサA1〜A4、B1〜B4の「相対値」に「A1L〜B4L」を乗算し、それらの乗算結果を足し合わせた左伸ばし評価値(以下、LV)が格納される。
同様に、評価値メモリブロック25の右伸ばし評価値メモリ25bには、8個の圧力センサA1〜A4、B1〜B4の「相対値」に「A1R〜B4R」を乗算し、それらの乗算結果を足し合わせた右伸ばし評価値(以下、RV)が格納される。また、評価値メモリブロック25の上伸ばし評価値メモリ25cには、8個の圧力センサA1〜A4、B1〜B4の「相対値」に「A1U〜B4U」を乗算し、それらの乗算結果を足し合わせた上伸ばし評価値(以下、UV)が格納され、同様に、評価値メモリブロック25の下伸ばし評価値メモリ25dには、8個の圧力センサA1〜A4、B1〜B4の「相対値」に「A1D〜B4D」を乗算し、それらの乗算結果を足し合わせた下伸ばし評価値(以下、DV)が格納される。
評価値(LV、RV、UV、DV)を式で表すと、以下のとおりになる。
xV=Σ(AkS−sAk)×Akx+Σ(BkS−sBk)×Bkx
・・・・(式1)
ただし、k=1〜4、x=L,R,U,Dである。
図9は、式1を具現化した回路構成の一例を示す図である。なお、ここでは「回路構成」(式1の構成をハードロジックで具現化したもの)としているが、これに限らない。DSP(Digital Signal Processor)などの演算装置とソフトウェア(ファームウェア)との組み合わせで具現化したものであっても当然かまわない。
まず、圧力センサA1〜A4、B1〜B4と同数の8個の回路ブロックを設ける。なお、ここでは図示の都合上、A1とB4に対応する2つの回路ブロック29、30を示すが、実際には8個の回路ブロックが存在することに留意されたい。8個の回路ブロック29、30の内部に各々1個の減算回路29a、30aと各々4個の乗算回路29b〜29e、30b〜30eとを配置する。また、回路ブロック29、30の外に親指の動き(左伸ばし、右伸ばし、上伸ばし及び下伸ばし)と同数の4個の加算回路31a〜31dを配置し、それぞれの加算回路31a〜31dの出力で、左伸ばし評価値メモリ25a、右伸ばし評価値メモリ25b、上伸ばし評価値メモリ25c及び下伸ばし評価値メモリ25dの各々の内容を書き換えられる(更新できる)ようにする。
そして、減算回路29aで閾値(A1S)から測定値(sA1)の減算を行い、・・・・、減算回路30aで閾値(B4S)から測定値(sB4)の減算を行い、それらの減算結果を各センサの「相対値」としてA1相対値メモリ18a、・・・・、B4相対値メモリ18hに格納する。次に、乗算回路29b〜29eで相対値と重み値(A1L、A1R、A1U、A1D)との乗算を行い、・・・・、乗算回路30b〜30eで相対値と重み値(B4L、B4R、B4U、B4D)との乗算を行い、それらの乗算結果を加算回路31a〜31dで加算し、各々の加算結果で、左伸ばし評価値メモリ25a、右伸ばし評価値メモリ25b、上伸ばし評価値メモリ25c及び下伸ばし評価値メモリ25dの内容を書き換えることにより、4つの評価値(LV、RV、UV、DV)を得る。
評価値(LV、RV、UV、DV)の大きさは、親指の動きの“確からしさ”を表す。これは、図8のベクトルと同じパターンを持つ伸ばし方をすると、正負が一致しているために正の値が出るからであり、このとき、大きく伸ばすと圧力センサの検出値(相対値)のうち、圧縮されるものの値が大きくなって、結果として大きな正の値が得られるからである。この「大きな正の値」が評価値(LV、RV、UV、DV)に現れたときに、親指が大きく動かされたことを判定することができる。したがって、最も大きい評価値がLVの場合は「左伸ばし」であると判定でき、最も大きい評価値がRVの場合は「右伸ばし」であると判定でき、最も大きい評価値がUVの場合は「上伸ばし」であると判定でき、最も大きい評価値がDVの場合は「下伸ばし」であると判定できるから、判定結果に応じて左スクロール、右スクロール、上スクロール及び下スクロールの各イベントを発生すればよい。あるいは、最も大きい評価値が複数ある場合は、いずれの動きともいえないので、この場合は、動きを無視してイベントを発生しなければよい。
このように、第二の実施形態によれば、前記の第一の実施形態と同様に、親指の4つの動き(左伸ばし、右伸ばし、上伸ばし及び下伸ばし)を判定することができ、その判定結果に応じて左スクロール、右スクロール、上スクロール及び下スクロールの各イベントを発生することができる。しかも、それらの「左伸ばし」、「右伸ばし」、「上伸ばし」及び「下伸ばし」は、タッチパネル3に“触れなくても”行われるので、不本意な操作イベント(シングルタッチ等)も起こりえない。
評価値(LV、RV、UV、DV)の利用は、親指の動き判定のみに限定されない。たとえば、スクロール速度の制御に利用してもよい。
図10は、スクロール速度と評価値の関係を示す図である。図において、横軸を評価値(右に行くほど評価値が大くなる)とすると、この評価値が大きくなるほど、スクロール速度が高くなるような特性にする。すなわち、縦軸にスクロール速度(上に行くほど速度が上がる)をとり、図示のような特性線32を設定する。この特性線32によれば、評価値が大きい場合にスクロール速度を速めることができ、意図した場所まで一気にスクロールすることができる。また、その逆に、評価値が大きくない場合にスクロール速度を遅くすることができ、意図した場所を通り過ぎないようゆっくりとした速度でスクロールすることができる。
このようにすれば、親指の動き判定だけでなく、親指の動きに合わせてスクロール速度を制御できるから好ましい。
加えて、この第二の実施形態では、親指の4つの動き(左伸ばし、右伸ばし、上伸ばし及び下伸ばし)に対応した重み値を格納するメモリ(左伸ばし重み値メモリブロック21、右伸ばし重み値メモリブロック22、上伸ばし重み値メモリブロック23及び下伸ばし重み値メモリブロック24)を備えたので、先に説明した第一の実施形態(二値化検出パターンに基づいて4つの動きを判定するもの)に比べて誤判定を招きにくく、信頼性の向上に寄与するという実用上の利点がある。
この利点は、書き換え可能な重み値の存在にある。すなわち、メモリに格納されている重み値を状況に応じて書き換える(学習する)ことにより、実際の親指の動きにマッチした判定特性とすることができるからである。
図11は、重み値の学習動作の概念図である。この図に示すように、学習ブロック33は、修正時学習ブロック34と、非修正時学習ブロック35の二つを備える。修正時とは、たとえば、左方向へのスクロールを意図して「左伸ばし」の動作を行っているときに、スクロールが行きすぎ、元に戻す動作(この場合は、右伸ばしの動作)を行ったときのことをいう。また、非修正時とは、任意方向へのスクロールを行い、そのままスクロールを終えたときのことをいう。両者の違いは、元に戻す動作(逆行動作)の有無にある。修正時は元に戻す動作があり、非修正時は元に戻す動作がない。
修正時学習ブロック34は、重み値リンク部34aと、重み値補正部34bとを含み、重み値リンク部34aは、前出の図7に示す左伸ばし重み値メモリブロック21の8個の記憶要素(A1左伸ばし重み値メモリ21a〜B4左伸ばし重み値メモリ21h)、右伸ばし重み値メモリブロック22の8個の記憶要素(A1右伸ばし重み値メモリ22a〜B4右伸ばし重み値メモリ22h)、上伸ばし重み値メモリブロック23の8個の記憶要素(A1上伸ばし重み値メモリ23a〜B4上伸ばし重み値メモリ23h)及び下伸ばし重み値メモリブロック24の8個の記憶要素(A1下伸ばし重み値メモリ24a〜B4下伸ばし重み値メモリ24h)にリンクされている。
なお、図面では、重み値リンク部34aのリンク先を「Pk※伸ばし重み値Pkx」としているが、これは、左伸ばし重み値メモリブロック21、右伸ばし重み値メモリブロック22、上伸ばし重み値メモリブロック23及び下伸ばし重み値メモリブロック24の各記憶要素(全部で8×4=32個)の一つを代表して示すものである。ここで、P=A,B、k=1〜4、※=左、右、上、下、x=L,R,U,Dである。
重み値補正部34bは、重み値リンク部34aから重み値(Pkx)を読み出し、その重み値(Pkx)に1より小さい所定の定数(たとえば、0.8)を掛け合わせた結果で、リンク先の重み値(Pkx)を更新する。
このように、修正時には重み値(Pkx)に1より小さい所定の定数(たとえば、0.8)を掛けて減少修正するようにしたので、スクロール直後に親指が逆行した場合(修正時)にスクロールのしすぎであると判断して評価値を下げることができる。したがって、スクロール速度を遅くすることができ、また、重み値が相当程度引き下げられた場合にはスクロール(意図しないスクロール)を発生しないようにできる。
非修正時学習ブロック35も重み値リンク部35aと、重み値補正部35bとを含む。重み値リンク部35aは、修正時学習ブロック34と同様に、前出の図7に示す左伸ばし重み値メモリブロック21の8個の記憶要素(A1左伸ばし重み値メモリ21a〜B4左伸ばし重み値メモリ21h)、右伸ばし重み値メモリブロック22の8個の記憶要素(A1右伸ばし重み値メモリ22a〜B4右伸ばし重み値メモリ22h)、上伸ばし重み値メモリブロック23の8個の記憶要素(A1上伸ばし重み値メモリ23a〜B4上伸ばし重み値メモリ23h)及び下伸ばし重み値メモリブロック24の8個の記憶要素(A1下伸ばし重み値メモリ24a〜B4下伸ばし重み値メモリ24h)にリンクされている。
修正時学習ブロック34との相違点は重み値補正部35bにある。すなわち、非修正時学習ブロック35の重み値補正部35bは、重み値リンク部35aからリンク先の重み値(Pkx)を読み出すとともに、図7の平均値メモリブロック20の8個の記憶要素(以下、A1平均値メモリ20a〜B4平均値メモリ20h)からPkの「平均値」を読み出して、「(Pkx+平均値)÷2」を演算し、その演算結果でリンク先の重み値(Pkx)を更新する。
ここで、「平均値」とは、加算値メモリブロック19の8個の記憶要素(以下、A1加算値メモリ19a〜B4加算値メモリ19h)に格納されている各々の「加算値」を加算回数で割った値のことをいう。加算回数は、図7の同方向検出カウンタ27に格納されている値であるが、厳密な加算回数は、同方向検出カウンタ27に格納されている値から規定回数を引く操作を行うことによって得られる。
「平均値」は親指の動きの安定値を示す。つまり、同じ親指の動きであっても時間軸上で見ると安定せず、多くの場合に揺れを伴うため、複数回の加算を行ってその加算値を加算回数で除して安定的な平均値を得るようにしている。このような安定値(平均値)を元にして重み値(Pkx)を更新することにより、重み値の不適正な設定を回避でき、制御の安定性を確保できる。
以上のとおりであるから、この第二の実施形態によれば、以下の効果を得ることができる。
(1)親指の動き検出:
評価値(LV、RV、UV、DV)に基づいて、直感的な親指の4つの動き、すなわち、「左伸ばし」、「右伸ばし」、「上伸ばし」及び「下伸ばし」を判定することができ、その判定結果に応じて、左スクロール、右スクロール、上スクロール及び下スクロールの各イベントを発生することができる。
(2)意図しないイベントの発生回避:
親指の4つの動きは、タッチパネル3に触れないまま行うことができる。このため、シングルタッチ等の意図しないイベントは発生しない。
(3)スクロール速度の制御:
評価値(LV、RV、UV、DV)は、親指の動き判定だけでなく、スクロール速度の制御にも利用することができる。すなわち、親指を早く大きく動かしたときにはスクロール速度を速め、親指を遅く小さく動かしたときにはスクロール速度を遅くすることができるから、より一層の操作性改善を図ることができる。
(4)親指の動き判定の学習:
評価値に必要な重み値を書き換え可能な変数とするとともに、親指の動き方向が逆行した場合(修正時)は重み値を適量減少させる一方、親指の動き方向が逆行しなかった場合(非修正時)は重み値を適量増加させるような学習特性を持たせたので、スクロール操作を重ねるにつれて、徐々にユーザ個々の好み(または癖)に適合した制御結果が得られるようになる。
次に、第二の実施形態をソフト的に実現する態様について、その一例を説明する。
図12は、第二の実施形態を実装したソフトウェア(プログラム、以下、PRGと略すこともある)の要部フローを示す図である。メモリ9は、このPRGをフォームウェアまたは制御プログラムもしくは応用プログラムの形であらかじめ保持し、CPU10は、タッチパネル3へのユーザ操作入力を必要とする他のソフトウェアリソース(基本プログラムや他の任意の応用プログラムなど)の実行期間中、継続的または周期的にこのPRGを実行する。PRGはあらかじめメモリ9に格納されていなくてもよい。この場合、必要に応じ、インターネット等のネットワークからダウンロードしてメモリ9に格納してもよいし、あるいは、SDカードやCD等の記録媒体から読み込んでメモリ9に格納してもよい。
CPU10はPRGを常駐プロセスとして起動する。起動後のPRGは操作待ち状態(操作待ちメインループ)になる。この待ち状態中に所定の時間イベント(時計部11からの周期的信号に応答して発生するイベント)が発生すると、そのイベントをフックし(ステップS1)、各圧力センサA1〜A4、R1〜R4の値(測定値)を読み込んで測定値メモリ16a〜18hに格納する(ステップS2)。次いで、閾値メモリ17a〜19hから「閾値」を読み出し、その「閾値」から「測定値」を差し引いた値を「相対値」として相対値メモリ18a〜20hに格納する(ステップS3)。次いで、左右上下の各重み値メモリ21a〜23h、24a〜24h、25a〜25h、26a〜26から左右上下の「重み値」を読み出し、「相対値」と「重み値」とを乗算した値の総和を求め、その総和値を「評価値(LV、RV、UV、DV)として上下左右の各評価値メモリ25a〜27dに格納する(ステップS4)。
次に、評価値(LV、RV、UV、DV)の中で最大値を有するものを選択し(ステップS5)、選択された評価値が0を超えているか否かを判定する(ステップS6)。そして、超えていない場合は、親指の動きが無いものと判断して、前回検出方向メモリ28をクリアし(ステップS7)、加算値メモリ19a〜21hの「加算値」に相対値メモリ18a〜20hの「相対値」を加えて更新(ステップS8)した後、操作待ち状態に復帰する。
一方、ステップS5で選択された評価値が0を超えている場合は、親指の動きが前回検出と同じ方向であるか否かを判定し(ステップS9)、前回検出と同じ方向でない場合(逆行の場合)は、前回検出方向メモリ28に今回の方向をセット(ステップS10)した後、スクロールを行わずに(スクロールを停止して)操作待ち状態に復帰する。
または、前回検出と同じ方向である場合は、同方向検出カウンタ27をカウントアップし(ステップS11)、同方向検出カウンタ27のカウント値が規定回数以上(たとえば、1秒以上に相当する回数)であるか否かを判定し(ステップS12)、規定回数以上でなければ、そのまま操作待ち状態に復帰し、以上であれば、評価値(LV、RV、UV、DV)に応じたスクロールイベントを発生する(ステップS13)。このとき、タッチパネル3へのユーザ操作入力を必要とする他のソフトウェアリソース(基本プログラムや他の任意の応用プログラムなど)は、このスクロールイベントをフックし、該当するスクロール操作を実行する。
次に、PRGは、再び、親指の動きが前回検出と同じ方向であるか否かを判定する(ステップS14)。前回と同方向である場合は、非修正時の学習動作(ステップS15)を実行し、次いで、ユーザの加圧の癖を覚えるために、加算値メモリ19a〜21hの「加算値」に相対値メモリ18a〜20hの「相対値」を加えて更新(ステップS16)した後、操作待ち状態に復帰する。
一方、前回と同方向でない場合(逆行の場合)は、修正時の学習動作(ステップS17)を実行し、加算値メモリ19a〜21hの「加算値」を相対値メモリ18a〜20hの「相対値」で書き換えて初期化(ステップS18)し、さらに、前回スクロール実行方向記録メモリ30に方向を格納(ステップS19)した後、操作待ち状態に復帰する。
図13は、修正時の学習動作(ステップS17)のサブルーチンフローを示す図である。このフローでは、まず、親指の動く方向が前回と反対(逆向き)であるか否かを判定する(ステップS21)。そして、反対でなければ、他方向へ新たなスクロールを指示されているだけなので学習を行わず、そのままフローを抜けるが、反対の場合は、次に、前回方向のA1伸ばし重み値に1未満の定数(たとえば、0.8)を乗算し、その乗算結果で同重み値を書き換える(ステップS22)。次いで、ステップS22と同じ処理をA2〜B4について同様に実行(ステップS23)した後、フローを抜ける。
図14は、非修正時の学習動作(ステップS15)のサブルーチンフローを示す図である。このフローでは、まず、A1加算値メモリ19aの「加算値」の「平均値」を求める(ステップS31)。「平均値」は、A1加算値メモリ19aの「加算値」を、同方向検出カウンタ27の値から規定値を引き、それに+1した値で割った値である。この「平均値」はユーザの安定した加圧パターンを表す。
次いで、検出方向のA1伸ばし重み値とA1平均値の平均を演算し(ステップS32)、その演算値を検出方向のA1伸ばし重み値に格納する(ステップS33)。次いで、A2〜B4の伸ばし重み値についてもステップS31〜ステップS33と同じ処理を実行(ステップS34)した後、フローを抜ける。このように、非修正時はスクロール方向が正しいので、ユーザの癖を覚える学習動作としている。また、加算値メモリの値をカウンタの値を利用して割ることで平均値を算出してメモリに格納し、その値と現在の重み設定値の平均(中間)の値を計算して新たな設定値として格納する。
このように、第二の実施形態をソフト的に実現することもできる。
なお、以上の説明では、右手の操作を例にしているが、これに限定されないことはもちろんである。加圧センサA1〜A4、B1〜B4を筐体2の両側面にシンメトリックに配置すれば、左手で筐体2を保持しても当然かまわない。この場合、以上の説明の“右手”を“左手”と読み替えればよい。また、実用性の観点から左右いずれの手にも適用できるようにすることが望ましい。そのためには、図7の右手用変数群と同様な変数群を左手用として備えればよい。すなわち、主制御部8の制御変数格納部12をもう1組追加すればよい。
ちなみに、図9の構成は左手用にも流用することができる。ただし、図8(重み付けのベクター)は左右逆にするのが好ましい。左右逆にしないと、左利きの人は必ず学習させる必要が出てくるからである。なお、ここでは「図7の変数群」としたが、これに限定されない。図7の演算自体を1つのモジュールで行い、図8の初期値を左手用と右手用の2つ持つようにしてもよい。
また、右側圧力センサ群(B1〜B4)や左側圧力センサ群(A1〜A4)の数は、前記の例示(4個ずつ)に限定されない。筐体2の左右側面の各々に複数のセンサで一群を構成していればよい。たとえば、図4の表によれば、左側面の2個の圧力センサ(A1、A4)と右側面の2個の圧力センサ(B1、B4)との結果を用いて上下左右の区別を行うことが可能である。
また、タッチパネル3の全域(全面)を操作対象とする態様に限らず、その一部を操作対象とする態様であってもよい。たとえば、タッチパネル3の下半分を操作対象とする場合を想定すると、この場合は筐体2の下半部分を手で保持することになるが、このような保持状態(筐体2の下半部分を手で保持する持ち方)は、右側圧力センサ群(B1〜B4)や左側圧力センサ群(A1〜A4)の出力に基づいて判定することができる。これは、筐体2の左右側面に各々複数個の圧力センサを備えておけば、主として検出する圧力センサが下の2つ又は3つに偏るためである。上半分を保持した場合も同様である。主として検出する圧力センサが上の2つ又は3つに偏るため、このような上半分の保持状態も判定することができる。このように、圧力センサの検出結果から筐体2の様々な保持状態を判定することもできる。
また、実施形態では、スクロールイベントやページめくりイベントを例にしているが、これらもあくまでも一例に過ぎない。たとえば、ピンチアウトやピンチインなどのイベントであってもよく、あるいはその他の任意のイベントであってもよい。アプリケーションで要求される適切なイベントを使用すればよく、イベントの割り当ては設計事項に過ぎない。
また、筐体2の保持の仕方も片手保持に限らず、両手で保持する態様であってもよい。両手保持の場合は、右手の状態を右側面の圧力センサB1〜B4で判定し、左手の状態を左側面の圧力センサA1〜A4で判定することができる。この場合、たとえば、左右側面に各々複数列の圧力センサを配置すれば、各々の手の状態をより正確に判定できるから好ましい。さらに、両手の場合に対応した圧力センサの配置は、片手で且つ片持ち状態で使用する際にも利用できる。
また、実施形態における親指の検出方向は、上下左右の4方向に限らない。上下左右の間を補間した8方向や16方向・・・・などであってもよく、または、複数方向の組み合わせ検出(“上右”などの検出)であってもよい。
また、実施形態では、筐体2の左右両側面を手で保持する態様を示したが、これは多くのユーザの一般的な持ち方を示したに過ぎない。左右いずれか一方側からの保持であってもよく、あるいは、下側からの保持や上側からの保持などであってもよい。
また、筐体2を「手のひら全体」で保持する点は必須ではない。手のひらを用いずに指だけで保持してもかまわない。
以下、本発明の諸態様を付記としてまとめて記載する。
(付記1)
図15は、付記1の構成図である。この図に示すように、付記1に記載の発明は、手のひらに載る程度の大きさの筐体100(図2では筐体2)と、前記筐体の右側面に設けられた右側圧力センサ群101(図2では圧力センサB1〜B4)と、前記筐体の左側面に設けられた左側圧力センサ群102(図2ではA1〜A4)と、前記右側圧力センサ群及び左側圧力センサ群に加えられたそれぞれの圧力に基づいて、前記筐体を保持している手の親指の動く方向を判定する判定手段103(図2では主制御部8)と、前記判定手段の判定結果に応じたイベントを発生するイベント発生手段104(図2では主制御部8)とを備えたことを特徴とする入力装置105(図2では電子機器1)である。
これによれば、筐体を保持している手の親指の動く方向を判定し、その判定結果に応じて、たとえば、上下左右のスクロールイベントのいずれか一つ又は上下左右のページめくりイベントの一つを発生することができる。親指を動かしている間、タッチパネルに触れる必要がない。したがって、片手操作を行っているときの意図しないイベント発生を確実に回避しつつ、直感的な操作に対応させて上下左右のスクロールイベントやページめくりイベントを発生することができる。
(付記2)
付記2に記載の発明は、前記判定手段は、前記右側圧力センサ群及び左側圧力センサ群に加えられたそれぞれの圧力のパターンが、親指を一の方向に動かしたときの圧力パターンに一致しまたは類似しているときに一の動きを判定し、前記イベント発生手段は、この一の動き判定に応じたイベントを発生することを特徴とする付記1記載の入力装置である。
これによれば、親指を一の方向に動かすだけで、その一の動きに対応した、たとえば、スクロールイベントやページめくりイベントを発生することができる。
(付記3)
付記3に記載の発明は、前記一の動きは、親指を伸ばす動き、親指を縮める動き、親指を上にずらす動き、親指を下にずらす動きのいずれかであることを特徴とする付記2に記載の入力装置である。
これによれば、親指を伸ばす動きをしたときに左スクロールイベントを発生することができ、親指を上にずらす動きをしたときに上スクロールイベントを発生することができ、親指を下にずらす動きをしたときに下スクロールイベントを発生することができる。
(付記4)
付記4に記載の発明は、前記判定手段は、前記右側圧力センサ群及び左側圧力センサ群に加えられたそれぞれの圧力の測定値に親指の動き方向に対応した重み値を適用する重み値適用手段と、重み値を適用した測定値の総和を動き方向ごとに求める総和演算手段と、それぞれの総和を動き方向ごとの評価値として設定する評価値設定手段とを備え、最大の評価値を持つ動きを親指の動きとして判定することを特徴とする付記1に記載の入力装置である。
これによれば、適切な重み値を設定することにより、判定の誤りを少なくすることができる。
(付記5)
付記5に記載の発明は、さらに、前記判定手段で判定された親指の動き方向が反転した場合に前記重み値を所定量減少補正する第一の補正手段と、前記判定手段で判定された親指の動き方向が反転しなかった場合に前記重み値を所定量増量補正する第二の補正手段とを備えたことを特徴とする付記4に記載の入力装置である。
これによれば、学習によって重み値を増減変更することができ、より一層、判定の誤りを少なくすることができる。
(付記6)
付記6に記載の発明は、さらに、前記評価値に基づいてスクロールやページめくりの速度を増減調節する速度調節手段を備えたことを特徴とする付記4に記載の入力装置である。
これによれば、イベントの発生だけでなく、スクロールやページめくりなどの速度も変えることができるので、操作性の改善を図ることができる。
(付記7)
付記7に記載の発明は、手のひらに載る程度の大きさの筐体の右側面に設けられた右側圧力センサ群及び同筐体の左側面に設けられた左側圧力センサ群に加えられたそれぞれの圧力に基づいて、前記筐体を保持している手の親指の動く方向を判定する判定工程と、前記判定工程の判定結果に応じたイベントを発生するイベント発生工程とを含むことを特徴とする入力制御方法である。
これによれば、付記1と同様に、筐体を保持している手の親指の動く方向を判定し、その判定結果に応じて、たとえば、上下左右のスクロールイベントのいずれか一つ又は上下左右のページめくりイベントの一つを発生することができる。親指を動かしている間、タッチパネルに触れる必要がない。したがって、片手操作を行っているときの意図しないイベント発生を確実に回避しつつ、直感的な操作に対応させて上下左右のスクロールイベントやページめくりイベントを発生することができる。
(付記8)
付記8に記載の発明は、手のひらに載る程度の大きさの筐体を有する電子機器のコンピュータに、前記筐体の右側面に設けられた右側圧力センサ群及び同筐体の左側面に設けられた左側圧力センサ群に加えられたそれぞれの圧力に基づいて、前記筐体を保持している手の親指の動く方向を判定する判定手段と、前記判定手段の判定結果に応じたイベントを発生するイベント発生手段としての機能を与えるためのプログラム。
これによれば、付記1の機能をソフトウェア(プログラム)の形で提供することができる。
A1〜A4 圧力センサ(左側圧力センサ群)
B1〜B4 圧力センサ(右側圧力センサ群)
1 電子機器(入力装置)
2 筐体
5 左側面
6 右側面
8 主制御部(判定手段、イベント発生手段、速度調節手段)
10 CPU(コンピュータ)
25a 左伸ばし評価値メモリ(評価値設定手段)
25b 右伸ばし評価値メモリ(評価値設定手段)
25c 上伸ばし評価値メモリ(評価値設定手段)
25d 下伸ばし評価値メモリ(評価値設定手段)
29b〜29e 乗算回路(重み値適用手段)
30b〜30e 乗算回路(重み値適用手段)
31a〜31d 加算回路(総和演算手段)
34 修正時学習ブロック(第一の補正手段)
35 非修正時学習ブロック(第二の補正手段)
100 筐体
101 右側圧力センサ群
102 左側圧力センサ群
103 判定手段
104 イベント発生手段
105 入力装置

Claims (8)

  1. 手のひらに載る程度の大きさの筐体と、
    前記筐体の右側面に設けられた右側圧力センサ群と、
    前記筐体の左側面に設けられた左側圧力センサ群と、
    前記右側圧力センサ群及び左側圧力センサ群に加えられたそれぞれの圧力に基づいて、前記筐体を保持している手の親指の動く方向を判定する判定手段と、
    前記判定手段の判定結果に応じたイベントを発生するイベント発生手段と
    を備えたことを特徴とする入力装置。
  2. 前記判定手段は、前記右側圧力センサ群及び左側圧力センサ群に加えられたそれぞれの圧力のパターンが、親指を一の方向に動かしたときの圧力パターンに一致しまたは類似しているときに一の動きを判定し、
    前記イベント発生手段は、この一の動き判定に応じたイベントを発生することを特徴とする請求項1記載の入力装置。
  3. 前記一の動きは、親指を伸ばす動き、親指を縮める動き、親指を上にずらす動き、親指を下にずらす動きのいずれかであることを特徴とする請求項2に記載の入力装置。
  4. 前記判定手段は、前記右側圧力センサ群及び左側圧力センサ群に加えられたそれぞれの圧力の測定値に親指の動き方向に対応した重み値を適用する重み値適用手段と、重み値を適用した測定値の総和を動き方向ごとに求める総和演算手段と、それぞれの総和を動き方向ごとの評価値として設定する評価値設定手段とを備え、最大の評価値を持つ動きを親指の動きとして判定することを特徴とする請求項1に記載の入力装置。
  5. さらに、前記判定手段で判定された親指の動き方向が反転した場合に前記重み値を所定量減少補正する第一の補正手段と、前記判定手段で判定された親指の動き方向が反転しなかった場合に前記重み値を所定量増量補正する第二の補正手段とを備えたことを特徴とする請求項4に記載の入力装置。
  6. さらに、前記評価値に基づいてスクロールやページめくりの速度を増減調節する速度調節手段を備えたことを特徴とする請求項4に記載の入力装置。
  7. 手のひらに載る程度の大きさの筐体の右側面に設けられた右側圧力センサ群及び同筐体の左側面に設けられた左側圧力センサ群に加えられたそれぞれの圧力に基づいて、前記筐体を保持している手の親指の動く方向を判定する判定工程と、
    前記判定工程の判定結果に応じたイベントを発生するイベント発生工程と
    を含むことを特徴とする入力制御方法。
  8. 手のひらに載る程度の大きさの筐体を有する電子機器のコンピュータに、
    前記筐体の右側面に設けられた右側圧力センサ群及び同筐体の左側面に設けられた左側圧力センサ群に加えられたそれぞれの圧力に基づいて、前記筐体を保持している手の親指の動く方向を判定する判定手段と、
    前記判定手段の判定結果に応じたイベントを発生するイベント発生手段と
    しての機能を与えるためのプログラム。
JP2011032997A 2011-02-18 2011-02-18 入力装置、入力制御方法及びプログラム Abandoned JP2012173842A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011032997A JP2012173842A (ja) 2011-02-18 2011-02-18 入力装置、入力制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011032997A JP2012173842A (ja) 2011-02-18 2011-02-18 入力装置、入力制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2012173842A true JP2012173842A (ja) 2012-09-10

Family

ID=46976719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011032997A Abandoned JP2012173842A (ja) 2011-02-18 2011-02-18 入力装置、入力制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2012173842A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012199888A (ja) * 2011-03-23 2012-10-18 Ntt Docomo Inc 携帯端末
CN102999277A (zh) * 2012-11-20 2013-03-27 中兴通讯股份有限公司 一种对信号进行处理的方法及电子设备
JP2014160426A (ja) * 2013-02-20 2014-09-04 Konica Minolta Inc データ処理装置、コンテンツ表示方法およびコンテンツ表示プログラム
JP2014216015A (ja) * 2013-04-22 2014-11-17 ネイバー ビジネス プラットフォーム コーポレーション 端末機のスクロール制御方法、その装置及びそのコンピュータ可読記録媒体
JP5869711B1 (ja) * 2015-04-07 2016-02-24 株式会社メディアドゥ コンテンツ表示装置、コンテンツ表示プログラム、コンテンツ表示方法
WO2016082215A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 一种移动屏幕界面的方法及终端
JP2017506785A (ja) * 2014-03-04 2017-03-09 ヒョンス パク 機器制御装置、システムおよび方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012199888A (ja) * 2011-03-23 2012-10-18 Ntt Docomo Inc 携帯端末
CN102999277A (zh) * 2012-11-20 2013-03-27 中兴通讯股份有限公司 一种对信号进行处理的方法及电子设备
WO2014079279A1 (zh) * 2012-11-20 2014-05-30 中兴通讯股份有限公司 对信号进行处理的方法及电子设备
CN102999277B (zh) * 2012-11-20 2019-04-23 中兴通讯股份有限公司 一种对信号进行处理的方法及电子设备
JP2014160426A (ja) * 2013-02-20 2014-09-04 Konica Minolta Inc データ処理装置、コンテンツ表示方法およびコンテンツ表示プログラム
JP2014216015A (ja) * 2013-04-22 2014-11-17 ネイバー ビジネス プラットフォーム コーポレーション 端末機のスクロール制御方法、その装置及びそのコンピュータ可読記録媒体
US10725644B2 (en) 2013-04-22 2020-07-28 Naver Corporation Method and apparatus for controlling scrolling on terminal, and computer-readable recording medium thereof
JP2017506785A (ja) * 2014-03-04 2017-03-09 ヒョンス パク 機器制御装置、システムおよび方法
WO2016082215A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 一种移动屏幕界面的方法及终端
JP5869711B1 (ja) * 2015-04-07 2016-02-24 株式会社メディアドゥ コンテンツ表示装置、コンテンツ表示プログラム、コンテンツ表示方法

Similar Documents

Publication Publication Date Title
US10234992B2 (en) Force-sensitive touch sensor compensation
JP2012173842A (ja) 入力装置、入力制御方法及びプログラム
US9612675B2 (en) Emulating pressure sensitivity on multi-touch devices
EP2533145B1 (en) Apparatus and method for providing a dynamic user interface in consideration of physical characteristics of a user
JP5674674B2 (ja) 表面に載せた手に合わせたジェスチャーの発生
JP5269648B2 (ja) 携帯端末装置及び入力装置
KR20140023428A (ko) 힘과 근접 조합의 감지
JP2014203183A (ja) 情報処理装置及びプログラム
US9465456B2 (en) Reduce stylus tip wobble when coupled to capacitive sensor
KR20100104884A (ko) 포인터 디스플레이가 가능한 터치스크린
TWI482064B (zh) 可攜式裝置與操作方法
JP2012027581A (ja) 携帯端末およびキー表示方法
JP5759659B2 (ja) タッチパネルに対する押下圧力を検出する方法および携帯式端末装置
CN109582126A (zh) 输入接口装置、控制方法及非暂态电脑可读取媒体
JP2016015181A (ja) 押圧の度合いによって異なる機能を発動可能なユーザインタフェース装置、プログラム及び機能発動方法
US10485056B2 (en) Sensor based interface adjustment
CN108008819A (zh) 一种便于用户单手操作的页面变换方法及终端设备
JP6556421B2 (ja) タッチパネル装置およびタッチ検出方法
KR102543867B1 (ko) 터치스크린 상의 터치의 신뢰성을 향상시키기 위한 모바일 디바이스 및 방법
JP6119291B2 (ja) 表示装置、電子機器、表示方法及びプログラム
JP5833511B2 (ja) マルチタッチ状態下で押圧位置を判別可能なユーザインタフェース装置、プログラム及び機能発動方法
JP2013175109A (ja) 携帯端末装置、タッチパネル感度設定方法、及びプログラム
CN104808873B (zh) 可适性dpi曲线的确定方法及使用所述方法的触控装置
JP5620018B2 (ja) タッチパネルシステムおよび電子機器
US10871848B2 (en) Method and apparatus for variable impedence touch sensor array gesture recognition

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20140414