以下、図面に基づいて、実施形態を説明する。
図1は、入力装置および入力制御プログラムの一実施形態を示す。
図1に示した入力装置10は、タッチパネル11と、判別部12と、割り当て部13と、受け付け部14とを含んでいる。また、図1に示した処理装置PCは、入力装置10の動作を制御する上位装置である。入力装置10が、スマートフォンやタブレット型のコンピュータなどの携帯型の端末装置UEに含まれている場合に、上述の処理装置PCは、端末装置UEに搭載されたプロセッサなどである。
なお、端末装置UEは、スマートフォンやタブレット型のコンピュータに限られず、タッチパネル11へのタッチを伴う操作によって利用者からの入力を受ける機能を持っていれば、電子書籍リーダや携帯型ゲーム機などでもよい。
タッチパネル11は、処理装置PCからの指示に従って情報の表示を行う表示画面111を含み、表示画面111への接触を感知する機能を有している。
判別部12は、タッチパネル11により感知された接触の状況に基づいて、タッチパネル11が複数種類の持ち方のうちどの持ち方で把持されているかを判別する。タッチパネル11により感知された接触の状況は、例えば、接触が感知された箇所の数や、接触が感知された箇所の位置及び接触の際に描かれた軌跡の形状とによって示される。判別部12は、例えば、タッチパネル11の表示画面111において、接触が感知された位置と、接触が感知された箇所の数と、接触の際に描かれた軌跡の形状とのうち少なくとも一つに基づいて、次に述べるようにしてタッチパネル11の持ち方を判別する。
ここで、タッチパネル11が、携帯型の端末装置UEに搭載されている場合に、端末装置UEの持ち方とタッチパネル11の持ち方とは同等であるので、以下の説明では、タッチパネル11を搭載した端末装置UEの持ち方について説明する。
タッチパネル11が搭載された端末装置UEを把持する持ち方の例として、次に述べる第1の持ち方と第2の持ち方とを考える。
第1の持ち方は、端末装置UEを掌および親指で支え、親指以外の複数の指を端末装置UEの外周に掛けた状態で抱えるように把持する持ち方である。利用者が第1の持ち方で端末装置UEを下側から抱えるように把持している場合に、端末装置UEを把持している手h1は、図1に実線で示したように、端末装置UEの上側の辺に掛けられている。したがって、利用者が、第1の持ち方で端末装置UEを把持した状態でタッチパネル11に接触しようとすれば、表示画面111に複数の指が接触する可能性が高い。
一方、第2の持ち方は、人差し指から小指までの4本の指と掌とで端末装置UEを支え、掌と親指とで端末装置UEを挟み込むように把持する持ち方である。利用者が第2の持ち方で端末装置UEを挟み込むように把持している場合に、端末装置UEを把持している手h2の親指は、図1に破線で示したように、表示画面111の上に添えられる。また、利用者が第1の持ち方で端末装置UEを左または右側から抱えるように把持している場合に、端末装置UEを把持している手は、端末装置UEの右あるいは左側の辺に掛けられる。利用者の手が端末装置UEの上側の辺に掛けられる場合も、左または右側の辺に掛けられる場合も、少なくとも1本の指が表示画面111に接触する。したがって、利用者が、第2の持ち方で端末装置UEを把持した状態でタッチパネル11に接触しようとした場合には、利用者の親指が単独で表示画面111に接触する。
上述のように、端末装置UEが第1の持ち方で把持されている場合と、第2の持ち方で把持されている場合とでは、利用者がタッチパネル11に対して何らかのジェスチャをしようとする際に表示画面111において接触が感知される箇所の数が異なる。ここで、ジェスチャとは、表示画面111への接触を伴う操作であり、接触を感知した箇所の軌跡が点となるタップや、接触を感知した箇所の軌跡が直線または曲線を描くスワイプおよびタップとスワイプの組み合わせを含んでいる。
したがって、判別部12は、タッチパネル11により、例えば、表示画面111への接触が感知された際に、表示画面111への接触を感知した箇所が単数か複数かに基づいて、端末装置UEの持ち方を判別することができる。例えば、判別部12は、接触が感知された箇所から所定の範囲内に、別の指による接触が感知された箇所がある場合、即ち、接触を感知した箇所の数が複数である場合に、端末装置UEの持ち方として上述の第1の持ち方を判別する。一方、接触を感知した箇所が単一である場合に、判別部12は、タッチパネル11の表示画面111に接触した指は親指であると判断し、端末装置UEの持ち方として上述の第2の持ち方を判別する。
なお、判別部12は、第1の持ち方で端末装置UEが把持されている場合と、第2の持ち方で端末装置UEが把持されている場合とで、指が届く範囲が異なることを利用して、端末装置UEの持ち方を判別してもよい。例えば、判別部12は、表示画面111への接触が感知された箇所と、表示画面111の四辺のそれぞれとの距離を求め、求めた距離の最小値が所定値未満である場合に、端末装置UEは第1の持ち方で把持されていると判別してもよい。一方、表示画面111の四辺について求めた距離の全てが上述の所定値以上である場合に、判別部12は、端末装置UEの持ち方として第2の持ち方を判別してもよい。上述の所定値は、例えば、第1の持ち方で端末装置UEを把持している状態で人差し指をできるだけ伸ばして表示画面111に接触させた際に、表示画面111の四辺のそれぞれと接触箇所との距離よりも大きい値を設定することが望ましい。
また、判別部12は、接触が感知された箇所の数と、接触が感知された箇所の位置との両方に基づいて、端末装置UEの持ち方を判別してもよい。接触が感知された箇所の数と、接触が感知された箇所の位置との両方を考慮することにより、一方に基づいて判別する場合によりも、端末装置UEの持ち方を高い精度で判別することができる。
また、第1の持ち方と第2の持ち方とに対応してそれぞれ異なる形状の軌跡を設定しておき、判別部12が、表示画面111において接触が感知された箇所の軌跡と設定された軌跡とを比較して得られる結果に基づいて、持ち方を判別してもよい。例えば、判別部12は、表示画面111への接触が感知された箇所の軌跡と第1の持ち方及び第2の持ち方のそれぞれに対応して設定された軌跡との類似度を求め、求めた類似度により、どちらの持ち方で端末装置UEが把持されているかを判別してもよい。つまり、接触が感知された箇所の軌跡と第1の持ち方に対応して設定された持ち方との類似度の方が、第2の持ち方に対応して設定された持ち方との類似度よりも高い場合に、判別部12は、端末装置UEの持ち方として第1の持ち方を判別する。同様に、接触が感知された箇所の軌跡と第2の持ち方に対応して設定された持ち方との類似度の方が、第1の持ち方に対応して設定された持ち方との類似度よりも高い場合に、判別部12は、端末装置UEの持ち方として第2の持ち方を判別する。
割り当て部13は、複数種類の持ち方のそれぞれに対応して、予め設定された少なくとも一つのジェスチャのそれぞれを示す情報を内部に保持している。また、割り当て部13は、表示画面111に表示されたオブジェクトに対して実行可能な少なくとも一つの処理のそれぞれについて、判別された持ち方に対応して保持されたジェスチャを示す情報の中の一つを割り当てる。ここで、表示画面111に表示されるオブジェクトとは、表示画面に表示可能が情報であって、何らかの処理の対象となる情報であればどんなものでもよい。例えば、静止画像や動画像、アイコンなどの画像として表示される情報と、リンクなどのテキストとして表示される情報及びメニューのようにテキストと画像とを用いて示される情報はいずれもオブジェクトの例である。
例えば、割り当て部13は、上述の第1の持ち方および第2の持ち方のそれぞれに対応する第1のジェスチャ群及び第2のジェスチャ群のそれぞれに登録された各ジェスチャを示す情報を内部に保持していることが望ましい。割り当て部13は、例えば、図1に示した手h1の人差し指から小指によって表示画面111上に点または線分を描く場合に想定される動きのそれぞれを示す情報を、第1のジェスチャ群に含まれる各ジェスチャを示す情報として予め登録しておくことが望ましい。また、割り当て部13は、例えば、図1に示した親指h2によって表示画面111上に点や線分または曲線を描く場合に想定される動きのそれぞれを示す情報を、第2のジェスチャ群に含まれる各ジェスチャを示す情報として予め登録しておくことが望ましい。
図2は、図1に示した割り当て部13に、持ち方に対応して登録されたジェスチャの例を示す。図2(A)は、第1の持ち方に対応する第1のジェスチャ群に含まれる複数のジェスチャの例を示している。また、図2(B)は、第2の持ち方に対応する第2のジェスチャ群に含まれる複数のジェスチャの例を示している。
図1に示した割り当て部13は、図2(A)において破線で囲んで示したジェスチャA1,A2,A3,A4のそれぞれを示す情報を、第1のジェスチャ群に含まれる複数のジェスチャのそれぞれを示す情報の一部として保持している。例えば、割り当て部13は、ジェスチャA1を示す情報として、矢印M_A1で示したように、指の並び方向と概ね直交する方向に人差し指の指先を往復させる動きを示す情報を保持する。同様に、割り当て部13は、ジェスチャA2を示す情報として、矢印M_A2で示したように、指の並び方向と概ね直交する方向に人差し指及び中指の指先を往復させる動きを示す情報を保持する。また、割り当て部13は、ジェスチャA3を示す情報として、矢印M_A3で示したように、指の並び方向と概ね直交する方向に沿って、伸ばした人差し指の指先を縮める動きを示す情報を保持する。同様に、割り当て部13は、ジェスチャA4を示す情報として、矢印M_A4で示したように、指の並び方向と概ね直交する方向に沿って、伸ばした人差し指および中指の指先を縮める動きを示す情報を保持する。なお、第1のジェスチャ群に含まれるジェスチャは、図2(A)に示したジェスチャA1〜A4に限られず、3本あるいは4本の指で表示画面111をなぞる動きや、表示画面111をタップする動きでもよいし、なぞる動きとタップする動きの組み合わせでもよい。
同様に、割り当て部13は、図2(B)において破線で囲んで示したジェスチャB1,22,B3,b4のそれぞれを示す情報を、第2のジェスチャ群に含まれる複数のジェスチャのそれぞれを示す情報の一部として保持している。例えば、割り当て部13は、ジェスチャB1を示す情報として、矢印M_B1で示したように、親指の指先で反時計回りの弧を描く動きを示す情報を保持する。同様に、割り当て部13は、ジェスチャB2を示す情報として、矢印M_B2で示したように、親指の指先で時計回りの弧を描く動きを示す情報を保持する。また、割り当て部13は、ジェスチャB3を示す情報として、矢印M_B3で示したように、親指の指先で「L」字を描く動きを示す情報を保持する。同様に、割り当て部13は、ジェスチャB4を示す情報として、矢印M_B4で示したように、親指の指先で、ジェスチャB3とは逆の順序で「L」字を親指の指先で描く動きを示す情報を保持する。なお、第2のジェスチャ群に含まれるジェスチャは、上述のジェスチャB1〜B4に限られず、上述以外の図形あるいは文字または記号を描く動きや、表示画面111をタップする動きでもよいし、図形や文字を描く動きとタップとの組み合わせでもよい。
割り当て部13は、判別部12によって第1の持ち方が判別された場合に、表示画面111に表示されたオブジェクトに対応する処理のそれぞれに、上述の第1のジェスチャ群に含まれるジェスチャのいずれかを示す情報を割り当てる。一方、判別部12によって第2の持ち方が判別された場合に、割り当て部13は、表示画面111に表示されたオブジェクトに対応する処理のそれぞれに、上述の第2のジェスチャ群に含まれるジェスチャのいずれかを示す情報を割り当てる。つまり、割り当て部13は、判別部12で判別された持ち方が第1の持ち方である場合と第2の持ち方である場合とで、表示画面111に表示されたオブジェクトに対応する処理に異なるジェスチャを示す情報を割り当てる。
例えば、図1に示したタッチパネル11の表示画面111に少なくとも一つのアイコンが表示されている場合に、割り当て部13は、表示中のアイコンのそれぞれに対応する処理に、持ち方に対応して登録されたジェスチャのいずれかを示す情報を割り当てる。また、上述の表示画面111にメニューが表示されている場合に、割り当て部13は、メニューに含まれる各選択肢で示される処理に、持ち方に対応して登録されたジェスチャのいずれかを示す情報を割り当てる。同様に、上述の表示画面111にリンク先のリストが表示されている場合に、割り当て部13は、リストに含まれるリンク先のそれぞれに接続する処理に、持ち方に対応して登録されたジェスチャのいずれかを示す情報を割り当てる。
また、割り当て部13は、各種類のオブジェクトに対する処理を示す情報として登録された情報に基づき、表示されたオブジェクトに対応して想定される処理のそれぞれに、持ち方に対応して登録されたジェスチャのいずれかを示す情報を割り当ててもよい。
例えば、オブジェクトの一例である静止画像が表示画面111に表示されている状態で、静止画像に対する拡大や縮小あるいは回転などの処理に対応付けられたアイコンが表示されていない場合について考える。
割り当て部13は、オブジェクトの種類の一つである静止画像に対応して登録された情報に基づいて、静止画像に対して拡大、縮小、回転、上下反転を行う処理のそれぞれに、持ち方に対応するジェスチャ群に含まれるジェスチャを示す情報を割り当ててもよい。例えば、タッチパネル11が第1の持ち方で把持されている場合に、割り当て部13は、静止画像に対して拡大、縮小、回転、上下反転を行う処理のそれぞれに、図2(A)に示したジェスチャA1〜A4のそれぞれを示す情報を割り当てる。同様に、タッチパネル11が第2の持ち方で把持されている場合に、割り当て部13は、静止画像に対して拡大、縮小、回転、上下反転を行う処理のそれぞれに、図2(B)に示したジェスチャB1〜B4のそれぞれを示す情報を割り当てる。
なお、割り当て部13は、処理装置PCから、静止画像や動画像といったオブジェクトの種類を示す情報とともに、オブジェクトに対する処理として想定される処理のそれぞれを示す情報を受け、受けた情報に基づいて上述の割り当て処理を行ってもよい。
また、割り当て部13は、表示されたオブジェクトのそれぞれに対応する処理あるいはオブジェクトの種類から想定される処理のそれぞれを示す情報とともに、各処理に割り当てたジェスチャを示す情報を受け付け部14に渡す。
受け付け部14は、タッチパネル11によって表示画面111への接触を含む何らかのジェスチャが感知された場合に、感知されたジェスチャと、割り当て部13から受け取った情報で示されるジェスチャのそれぞれとを比較する。また、受け付け部14は、感知されたジェスチャが、割り当て部13から受け取った情報で示される登録されたジェスチャのいずれかと概ね一致する場合に、一致するとされたジェスチャを示す情報が割り当てられた処理を開始する旨の指示を受け付ける。
例えば、上述の割り当て部13により、図2(A)に示したジェスチャA1〜A4のそれぞれを示す情報と、表示画面111に表示された静止画像について処理「拡大」、「縮小」、「回転」、「上下反転」との対応を示す情報が受け付け部14に渡された場合を考える。
受け付け部14は、タッチパネル11によってジェスチャが感知される過程で利用者の指先で描かれた軌跡と、上述のジェスチャA1〜A4のそれぞれで描かれる軌跡とについて類似度を求める。また、受け付け部14は、求めた類似度に基づいて、例えば、タッチパネル11で感知されたジェスチャとジェスチャA1とがおおむね一致すると判定した場合に、ジェスチャA1を示す情報が割り当てられた処理「拡大」を開始する旨の指示を受け付ける。
受け付け部14は、感知されたジェスチャの軌跡と割り当て部13からの情報で示される登録されたジェスチャの軌跡のそれぞれとについて求めた類似度と所定の閾値との比較に基づき、感知されたジェスチャと登録されたジェスチャとの一致を判定してもよい。なお、受け付け部14は、上述の閾値として、例えば、各持ち方に対応して登録されたジェスチャ群に含まれる任意の2つのジェスチャについて軌跡を比較した場合に得られる類似度よりも類似性が高いことを示す値を設定しておくことが望ましい。
また、受け付け部14は、感知されたジェスチャの軌跡と割り当て部13からの情報で示される登録されたジェスチャの軌跡のそれぞれとの比較に基づいて受け付けた指示を処理装置PCに渡す。
ここで、上述した割り当て部13により、表示中のオブジェクトに対応する処理には、判別された持ち方に対応して登録されたジェスチャを示す情報が割り当てられている。また、持ち方毎に登録されたジェスチャのそれぞれは、それぞれの持ち方で利用者が端末装置UEを把持した状態で実行可能なジェスチャである。即ち、表示中のオブジェクトに対応する処理には、利用者が端末装置UEを把持している方の手で実行可能なジェスチャを示す情報が割り当てられている。
したがって、利用者は、図1に示した表示画面111で、端末装置UEを把持した手の指が届く範囲が限られていても、持ち方に対応して登録されたジェスチャを実行することで、所望の処理を開始させる指示を受け付け部14に受け付けさせることができる。
つまり、図1に示した入力装置10によれば、端末装置UEを把持した手の指が届かない位置にアイコンなどが表示された場合でも、持ち方に対応して登録されたジェスチャを実行することで、アイコンをタップした場合と同等の指示を入力することができる。これにより、端末装置UEを把持した手でタッチパネル11に対する操作を行う場合の操作性を従来に比べて向上させることができる。
図1に示した判別部12、割り当て部13および受け付け部14は、例えば、タッチパネル11と処理装置PCとの間を接続するインタフェースユニットに搭載されるプロセッサが、図3を用いて後述する入力制御プログラムを実行することで実現できる。
図3は、図1に示した入力装置10の動作を示す。すなわち、図3は、持ち方毎に登録されたジェスチャを用いた入力を受けるための入力制御プログラムの一実施形態を示す。
ステップS301において、タッチパネル11は、表示画面111への接触を感知する。
ステップS302において、判別部12は、ステップS301で感知された接触の状況に基づいて、タッチパネル11が搭載された端末装置UEが複数種類の持ち方のうち、どの持ち方で把持されているかを判別する。
ステップS303において、割り当て部13は、表示画面111に表示されたオブジェクトに対応する処理のそれぞれに、判別された持ち方に対応して登録されたジェスチャ群に含まれるジェスチャを示す情報のいずれかを割り当てる。
ステップS304において、受け付け部14は、タッチパネル11により新たに感知されたジェスチャが、ステップS303の処理の際に、表示中のオブジェクトに対応する処理に割り当てられた情報で示されるジェスチャのいずれかであるか否かを判定する。受け付け部14は、新たに感知されたジェスチャの特徴と、表示中のオブジェクトに対応する処理に対応付けられたジェスチャのそれぞれの特徴との類似度を求め、求めた類似度に基づいてステップS304の判定処理を行ってもよい。
感知されたジェスチャの特徴が、表示中のオブジェクトに対応する処理に割り当てられた情報で示されるジェスチャのいずれかの特徴と一致する場合に(ステップS304の肯定判定(YES))、受け付け部14は、ステップS305の処理を実行する。
ステップS305において、受け付け部14は、感知されたジェスチャに一致するとされたジェスチャを示す情報が対応付けられた処理を開始する旨の指示を受け付け、受け付けた指示を処理装置PCに送出する。
上述のステップS304の否定判定(NO)の場合と、上述のステップS305の処理が終了した後に、受け付け部14は、ステップS306の処理を実行する。
ステップS306において、受け付け部14は、ジェスチャによる入力を終了するか否かを判定する。受け付け部14は、タッチパネル11によってジェスチャが感知されない状態が継続している期間が所定時間以上となったか否かに基づいて、ステップS306の判定処理を行ってもよい。
ジェスチャが感知されない状態の継続期間が所定時間以下である場合に(ステップS306の否定判定(NO))、受け付け部14は、ステップS304の処理に戻り、タッチパネル11による新たなジェスチャの感知を待ち受ける。
一方、ジェスチャが感知されない状態の継続期間が所定時間を超えた場合に(ステップS306の肯定判定(YES))、受け付け部14は、ジェスチャによる入力を受け付ける処理を終了する。
図1〜図3を用いて説明したように、図1に示した入力装置10は、判別した持ち方に応じて、オブジェクトに対応する処理を開始させる指示として受け付けるジェスチャを変更することで、端末装置UEを把持した手によるタッチパネル11の操作を容易にできる。
これにより、例えば、電車の中で片方の手で吊革につかまりながら、もう一方の手で端末装置UEを把持した状態であっても、利用者は、片手が自由に使える場合とほぼ同等の快適さで端末装置UEの操作を行うことが可能になる。つまり、本件開示の入力装置10を端末装置UEに搭載することにより、端末装置UEの使い勝手を向上することができる。即ち、本件開示の入力装置10は、スマートフォンやタブレット型のコンピュータなどに代表される携帯型の端末装置において、タッチパネル11に対するタッチを含む操作を受け付ける際の操作性を向上させる上で有用である。
なお、本件開示の入力装置10の判別部12は、タッチパネル11を搭載した端末装置UEの左右の端部を左右の手の親指と親指以外の4本の指とでそれぞれ挟むように把持した持ち方を第3の持ち方として判別してもよい。また、割り当て部13は、第3の持ち方に対応して、両手で把持した場合に好適なジェスチャを登録しておき、第3の持ち方が判別された場合に、各オブジェクトに対応する処理に、上述したジェスチャを示す情報を割り当てることもできる。ここで、第3の持ち方で端末装置UEが把持されている場合に好適なジェスチャの例は、例えば、左右の親指で同時あるいは所定の時間差で表示画面111をタップする動きを含むジェスチャなどである。
即ち、本件開示の入力装置10によれば、タッチパネル11を搭載した端末装置UEの持ち方として想定可能な様々な持ち方での入力操作を支援することで、多様なシーンにおいて、従来よりも快適な操作環境を利用者に提供することができる。
図4は、入力装置10および入力制御プログラムの別実施形態を示す。なお、図4に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
図4に示した割り当て部13は、データベース131と、検索部132とを含んでいる。また、図4に示した受け付け部14は、表示部141と、比較部142と、制御部143とを含んでいる。
データベース131は、端末装置UEの複数種類の持ち方のそれぞれに対応して、各持ち方で実行可能な複数のジェスチャのそれぞれを示す情報として、各ジェスチャが実行される過程で表示画面111上に描かれる軌跡を示す情報を含む特徴情報を登録する。
データベース131は、各ジェスチャに対応する特徴情報として、当該ジェスチャで描かれる軌跡の形状の複雑さを示す第1指標を含んでもよい。各ジェスチャに対応してデータベース131に登録される第1指標は、例えば、各ジェスチャで描かれる軌跡に含まれる屈曲点の数や軌跡の長さの総和などから、複雑さが高いほど大きくなる値として求められてもよい。例えば、図2(A)に示したジェスチャA3の軌跡に比べて、ジェスチャA1の軌跡が長いことから、ジェスチャA1に対応して登録される第1指標の値は、ジェスチャA3に対応して登録される第1指標に比べて大きな値となる。
また、データベース131は、各ジェスチャに対応する特徴情報として、当該ジェスチャが過去に各オブジェクトに対応する処理のそれぞれを開始する指示として受け付けられた頻度を示す第2指標を含んでいてもよい。各ジェスチャに対応してデータベース131に登録される第2指標は、例えば、各オブジェクトに対応して想定される処理のそれぞれを開始させる指示として各ジェスチャが受け付けられた回数を計数することで得てもよい。なお、データベース131に登録された各ジェスチャが処理のそれぞれを開始させる指示として受け付けられた頻度を示す履歴情報を取得し、取得した履歴情報をデータベース131に反映する手法については、図10を用いて後述する。
検索部132は、判別部13で判別された持ち方と表示画面111に表示されたオブジェクトに対応する処理について指定される情報とに基づいて、データベース131を検索する。例えば、検索部132は、表示中のオブジェクトに対応する処理のそれぞれを示す情報を処理装置PCから受け、受けた情報で示される処理のそれぞれについて、データベース131を検索することで、持ち方に対応して登録されたジェスチャを示す情報を取得する。また、検索部132は、表示中のオブジェクトに対応する処理のそれぞれを示す情報と、各処理についての検索で得たジェスチャを示す情報との対応関係を示す情報を受け付け部14に渡すことで、各処理へのジェスチャの割り当て結果を示してもよい。
検索部132は、処理装置PCから受けた情報により、各処理の開始指示が入力された頻度が示された場合に、上述の第1指標に基づく検索を行ってもよい。例えば、検索部132は、指示が入力された頻度が高い順に、最小の第1指標を持つジェスチャを示す情報を検索することで、他の指示よりも高い頻度で入力される指示に、他のジェスチャよりも簡易な軌跡で示されるジェスチャを対応付けることができる。
また、検索部132は、処理装置PCから受けた情報で、表示中のオブジェクトに対応する各処理について、過去にジェスチャを示す情報を割り当てた履歴があることが示された場合に、上述の第2指標に基づく検索を行ってもよい。例えば、検索部132は、各処理につき、データベース131に登録された各ジェスチャに対応する第2指標を参照し、各処理に対応する指示として受け付けられた回数が最多のジェスチャを検索することで、毎回ほぼ同じジェスチャを各処理に対応付けてもよい。
図4に示したデータベース131、検索部132を有する割り当て部13によれば、表示中のオブジェクトに対応する各処理が持つ特徴に適合する特徴を持つジェスチャをデータベース131から検索し、検索したジェスチャと処理とを対応付けることができる。例えば、各処理を開始させる指示が入力される頻度に着目して検索したジェスチャと各処理とを対応付けることで、単純な軌跡で示されるジェスチャを、頻繁に入力される指示として受け付け部14に受け付けさせることができる。また、過去に各処理に割り当てた履歴に着目して検索したジェスチャを各処理に対応付けることで、処理とジェスチャとの対応関係を固定化してもよい。処理とジェスチャとの対応関係を固定化すれば、以前に、ある処理を開始させる指示として受け付けられたジェスチャは、同じ処理が対応付けられたオブジェクトが表示された際に、当該処理に再び対応付けられる。したがって、オブジェクトに対応する各処理にジェスチャを対応付ける度に異なるジェスチャを各処理に対応付けられる場合に比べて、利用者が混乱する度合いを少なくできる。
また、割り当て部13は、上述のデータベース131と検索部132とに加えて、対象テーブル133を含んでもよい。
対象テーブル133は、様々な種類のオブジェクトのそれぞれに対応して、当該オブジェクトについて想定される処理のそれぞれを特定する識別情報を保持するとともに、各処理に対応して、それぞれの処理の属性を示す属性情報を保持している。対象テーブル133は、各処理に対応する属性情報として、例えば、各処理を開始させる指示が入力される頻度を示す情報や、各処理がジェスチャを示す情報の割り当てを受けた履歴があるか否かを示す情報を含んでいてもよい。また、対象テーブル133は、各処理に最後に割り当てられたジェスチャを示す情報を属性情報の一部として保持してもよい。
また、検索部132は、表示中のオブジェクトに対応する各処理を示す情報の代わりに、オブジェクトを示す情報を処理装置PCから受け、受けた情報に基づいて対象テーブル133を参照することで、各処理を示す識別情報及び属性情報を取得してもよい。また、検索部132は、対象テーブル133から取得した属性情報に基づいて、各処理に対応付けるジェスチャをデータベース131から検索してもよい。
図4に示した表示部141および比較部142は、制御部143を介して、表示中のオブジェクトに対応する各処理とデータベース131に登録されたジェスチャとについて検索部132で得られた対応関係を示す情報を受け取る。表示部141は、表示中のオブジェクトに対応する各処理に対応付けられたジェスチャを示すガイド情報を表示画面111に表示させる。比較部142は、タッチパネル11で感知されたジェスチャの軌跡と、上述の対応関係で示されたジェスチャのそれぞれの軌跡との比較により、感知されたジェスチャがオブジェクトに対応する処理のいずれかに割り当てられたジェスチャを示すか否かを判定する。また、比較部142は、上述の対応関係を示す情報に基づき、感知されたジェスチャと一致すると判定したジェスチャが割り当てられた処理を特定し、特定した処理を開始させる指示を受け付けた旨を処理装置PCに通知する。
図5は、図4に示した表示部141によって表示されるガイド情報の例を示す。なお、図5に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
例えば、処理装置PCがアプリケーションプログラムを実行することで、表示画面111に動画像MVとアイコンQ1,Q2,Q3とが表示されている場合を考える。ここで、アイコンQ1,Q2,Q3は、動画像MVについて処理装置PCにより実行される処理「停止」、「一時停止」、「再生」のそれぞれに対応付けられており、アイコンQ1〜Q3をタップする操作は、対応する処理の開始指示を示す。
図4に示した割り当て部13により、上述の処理「停止」、「一時停止」、「再生」のそれぞれに、図2に示したジェスチャA1,A3,A4が対応付けられている場合に、表示部141は、図5において破線で囲んだガイド情報Gを表示させる。表示部141は、ガイド情報Gとして、アイコンQ1,Q2,Q3に対応する位置に、処理「停止」、「一時停止」、「再生」のそれぞれに対応付けられたジェスチャA1〜A3の軌跡を示す図を表示してもよい。また、表示部141は、ガイド情報Gとして、各ジェスチャA1〜A3の軌跡を示す図を半透明にした画像を生成し、上述のアイコンQ1〜Q3に重ねて表示させてもよい。
また、表示部141は、表示中のオブジェクトに対応する処理のそれぞれと各処理に対応付けられたジェスチャとをテキストで表現する情報をガイド情報Gとして生成し、生成したガイド情報Gを表示画面111に表示させてもよい。また、表示部141は、表示中のオブジェクトに対応する処理のそれぞれに対応付けられたジェスチャの動きを表す動画像を含むガイド情報Gを生成し、生成したガイド情報Gを表示画面111に表示させてもよい。
ここで、各ジェスチャに対応する軌跡を示す図や各ジェスチャの動きを表す動画像および各ジェスチャを表現するテキストなど、ガイド情報Gの生成に用いる情報は、予め、図4に示したデータベース131に各ジェスチャに対応して登録しておくことができる。
また、表示部141は、ガイド情報Gを生成する際に、例えば、制御部143を介して上述のデータベース131を参照することで、各ジェスチャの軌跡を示す図や各ジェスチャの動きを表す動画像および各ジェスチャを表現するテキストを取得してもよい。
図4に示した表示部141は、表示画面111を介してガイド情報Gを端末装置UEの利用者に提示することで、表示されたオブジェクトに対応する処理のそれぞれと、各処理に対応付けられたジェスチャとの対応関係を利用者に提示することができる。これにより、利用者は、ガイド情報Gを参照することで、オブジェクトについての処理のうち、開始させたい処理に対応付けられたジェスチャを直感的に把握することができる。すなわち、図4に示した表示部141によれば、利用者に対して、所望の処理を開始させる指示として受け付けられるジェスチャの実行を促すことができる。
ところで、タッチパネル11の表示画面111に表示されるオブジェクトの中には、階層構造を持つ選択肢の集合が含まれている場合がある。例えば、階層化されたメニューは、階層構造を持つ選択肢の集合の一例である。
図4に示した対象テーブル133は、オブジェクトの属性情報の一部として、階層構造を持つメニューの各階層の選択肢に対応する処理を示す情報と、メニューの階層構造を示す情報とを保持してもよい。また、検索部132は、処理装置PCから受けた情報で示されるオブジェクトに対応して、階層構造を持つメニューを示す情報が登録されている場合に、複数の階層に含まれる選択肢に対応する処理の集合についてジェスチャを示す情報を一括して検索してもよい。例えば、検索部132は、最上位の階層の選択肢に対応する各処理についての検索とともに、上述の各選択肢が選択された場合に派生する選択肢のそれぞれに対応する処理のそれぞれについての検索を行ってもよい。検索部132が、複数の階層に含まれる選択肢に対応する処理の集合についての検索を一括して行うことで、上位の選択肢の選択に先立って、次の階層に含まれる各選択肢に対応する処理にジェスチャを示す情報を割り当てておくことができる。
図6は、階層化されたメニューへのジェスチャの割り当て例を示す。なお、図6に示した要素のうち、図2に示した要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
処理装置PCがアプリケーションプログラムを実行することで、表示画面111に表示中の画像に対する処理を選択するための階層化されたメニューMを表示させている場合について説明する。
メニューMは、画像に対して適用する処理の種類を示す最上位の階層の選択肢を示すアイコンP1,P2,P3を含んでいる。アイコンP1,P2,P3のそれぞれは、処理の種類「拡大」、「縮小」及び「デコレーション」についての下位のメニューを表示させる処理に対応している。つまり、アイコンP1〜P3をタップする操作は、処理装置PCに対して、対応する下位のメニューを表示させる処理を開始させる指示を示す。なお、図6の例では、アイコンP1,P2,P3で示される選択肢以外の最上位の階層に含まれる選択肢に対応するアイコンの図示を省略している。
アイコンP3で示される選択肢から派生する下位のメニューは、処理の種類「デコレーション」に含まれる処理「フレーム」、「フィルタ」に対応する選択肢を示すアイコンP3_1,P3_2を含んでいる。なお、図6の例では、処理の種類「拡大」、「縮小」を示す選択肢から派生する下位の選択肢および処理の種類「デコレーション」を示す選択肢から派生する処理「フレーム」、「フィルタ」以外の選択肢の図示を省略している。
図6は、図4に示した割り当て部13により、処理の種類「拡大」、「縮小」及び「デコレーション」を示す選択肢に対応する処理について、図2(B)に示したジェスチャB1,B2,B3が対応付けられた例を示している。また、図6の例では、選択肢「デコレーション」から派生する下位の選択肢「フレーム」、「フィルタ」に対応する処理のそれぞれに、ジェスチャB5,B6のそれぞれが割り当てられている。
図4に示した受付部14は、複数の階層のそれぞれに属する選択肢のそれぞれへのジェスチャの割り当てが完了している場合に、上位階層の選択肢に対応するジェスチャに続けて、次の階層の選択肢に対応するジェスチャの入力を受けることもできる。
図4に示した制御部143は、割り当て部13から受け取った情報に基づいて、例えば、上位から順に各階層に含まれる選択肢で示される処理に割り当てられたジェスチャの軌跡を示す情報をデータベース131から取得し、取得した情報を比較部142に渡す。
また、制御部143は、比較部142で、タッチパネル11で感知されたジェスチャの軌跡と取得した情報で示されるジェスチャの軌跡とが一致するとされる毎に、対応する下位の選択肢に対応付けられたジェスチャを示す情報をデータベース131から取得する。
比較部142は、上位階層に属する選択肢に割り当てられたジェスチャの軌跡を描いた際の接触が継続中か否かにかかわらず、以降にタッチパネル11で感知されるジェスチャの軌跡を下位の階層に属する選択肢に対応するジェスチャの軌跡と比較してもよい。
上述の制御部143から渡される情報に基づき、比較部142が、タッチパネル11で感知されるジェスチャと各階層の選択肢に割り当てられたジェスチャとを比較することで、連続して描かれたジェスチャから、各階層に属する選択肢を受け付けることができる。
例えば、図6に示したジェスチャB3とジェスチャB5とが連続して、即ち、連続した軌跡を一筆で描くことで実行される場合を考える。図4に示したタッチパネル11で感知された軌跡が、図6に示したジェスチャB3の軌跡に一致するとされた場合に、制御部143は、階層構造の情報に基づき、ジェスチャB5及びジェスチャB6の軌跡を含む情報をデータベース131から取得する。比較部142は、ジェスチャB5及びジェスチャB6の軌跡を含む情報を制御部143から受け、受けた情報で示される軌跡のそれぞれと、ジェスチャB3の軌跡に連続して描かれた新たな軌跡とを比較する。即ち、一筆書きされた軌跡の一部が、各階層の選択肢のいずれかに割り当てられたジェスチャの軌跡に一致する毎に、対応する選択肢から派生する次の階層の選択肢に割り当てられたジェスチャの軌跡との比較を開始する。これにより、例えば、図6に示したジェスチャB3の軌跡とジェスチャB5の軌跡とを連結することで形成される矩形を一筆で描く操作を、メニューMの2番目の階層に属する選択肢「フレーム」を選択する指示として受け付けることができる。
図4に示した比較部142と制御部143とを含む受け付け部14によれば、各階層に含まれる選択肢に対応付けられたジェスチャの軌跡を連結して描く操作から、階層構造に従って、最後に描かれた部分に対応付けられた処理の開始指示を受け付けることができる。
また、比較部142で、上位階層に属する選択肢のいずれかに割り当てられたジェスチャが感知された旨の判定結果が得られる毎に、表示部141により、次の階層についてのガイド情報を表示してもよい。
更に、制御部143は、利用者の指が表示画面111に接触しているか否かを示す信号をタッチパネル11から受け、受けた信号に応じて異なるガイド情報を表示部141に表示させてもよい。
例えば、制御部143は、上述の信号により、利用者の指と表示画面111との接触が感知されていることが示される場合に、接触を感知できなくなったことが示された場合に比べて高い明度でガイド情報を表示する旨を表示部141に指示してもよい。
ここで、タッチパネル11の外周に近い部分には、利用者の指による接触が感知されない領域、即ち、無感領域が含まれている場合がある。そして、利用者が端末装置UEを把持した際に指が届く領域の一部が、上述の無感領域である場合もある。
上述の信号に応じて、制御部143が、表示部141によって表示されるガイド情報を変化させることにより、例えば、ジェスチャの途中で指先が無感領域に入った場合などに、その旨をガイド情報の変化によって利用者に知らせることができる。これにより、ジェスチャの検出が継続的に行われているか否かを端末装置UEの利用者に認識させることができるので、ジェスチャの検出が途切れた場合などに、利用者による自発的なジェスチャのやり直しなどを促すことができる。
図4に示した検索部132、表示部141、比較部142および制御部143とは、処理装置PCに含まれるプロセッサが、端末装置UEに含まれるメモリなどの記憶媒体に格納された入力制御プログラムを実行することで実現することもできる。また、図4に示したデータベース131、対象テーブル133は、端末装置UEに含まれるメモリなどの記憶媒体が持つ記憶領域の一部を用いて実現することができる。
図7は、図4に示した入力装置10を搭載した端末装置UEのハードウェア構成の一例を示す。なお、図7に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
端末装置UEは、プロセッサ21と、メモリ22と、ハードディスク装置23と、入出力インタフェース24と、ネットワークインタフェース25と、センサインタフェース26と、光学ドライブ装置28とを含んでいる。上述のプロセッサ21と、メモリ22と、ハードディスク装置23と、ネットワークインタフェース25と、センサインタフェース26と、光学ドライブ装置28とは、バスを介して互いに接続されている。上述のプロセッサ21は、入出力インタフェース24を介してタッチパネル11に接続されており、また、センサインタフェース26を介して視線検出センサ27に接続されている。更に、プロセッサ21は、ネットワークインタフェース25を介して、インターネットなどのネットワークNWに接続されており、ネットワークNW上に設けられたサーバ装置SVとの間で情報の授受が可能である。
また、上述のプロセッサ21と、メモリ22、ハードディスク装置23と、入出力インタフェース24と、タッチパネル11とは、入力装置10に含まれる。
また、図7に示した光学ドライブ装置28は、光ディスクなどのリムーバブルディスク29を装着可能であり、装着したリムーバブルディスク27に記録された情報の読出および記録を行う。
メモリ22またはハードディスク装置23は、端末装置UEのオペレーティングシステムとともに、プロセッサ21が、端末装置UEの持ち方に応じたジェスチャを入力として受ける入力制御処理のためのアプリケーションプログラムを格納している。なお、上述した入力制御処理のためのアプリケーションプログラムは、例えば、光ディスクなどのリムーバブルディスク29に記録して頒布することができる。そして、このリムーバブルディスク29を光学ドライブ装置28に装着して読み込み処理を行うことにより、入力制御処理のためのアプリケーションプログラムを、メモリ22およびハードディスク装置23に格納させてもよい。また、ネットワークインタフェース25を介してネットワークNWに接続し、入力制御処理のためのアプリケーションプログラムをダウンロードすることで、メモリ22およびハードディスク装置23に読み込ませることもできる。
また、プロセッサ21は、メモリ22に格納された入力制御処理のためのアプリケーションプログラムを実行することにより、図1または図4に示した判別部12、割り当て部13および受け付け部14の機能を果たしてもよい。なお、プロセッサ21は、メモリ22などに格納されたオペレーティングシステムなどを実行することにより、図1および図4に示した処理装置PCの機能を果たす。
また、メモリ22またはハードディスク装置23は、更に、視線検出センサ27で得られる検出結果に基づき、端末装置UEの利用者が注視している箇所に表示されたオブジェクトを特定する処理のためのアプリケーションプログラムを格納していてもよい。
図8は、入力制御プログラムの一例を示す。図8に示したステップS301〜ステップS306およびステップS311〜ステップS313の各処理は、入力制御処理のためのアプリケーションプログラムに含まれる処理の一例である。なお、図8に示したステップS301〜ステップS306の各処理は、図3に示したステップS301〜ステップS306の各処理と同等の処理を示す。また、上述のステップS301〜ステップS306およびステップS311〜ステップS313の各処理は、図7に示したプロセッサ21によって実行される。
ステップS301において、プロセッサ21は、図7に示した入出力インタフェース24を介してタッチパネル11から受ける情報に基づき、タッチパネル11への接触を感知する。
ステップS311において、プロセッサ21は、ステップS301の処理で接触を感知した箇所がオペレーティングシステムや動作中のアプリケーションプログラムによって表示されたアイコンなどのオブジェクトが表示された箇所であるか否かを判定する。
ステップS301の処理で接触が感知された箇所が、アプリケーションプログラムなどによってオブジェクトが表示された箇所である場合に(ステップS311の肯定判定(YES))、プロセッサ21は、ステップS312の処理に進む。
ステップS312において、プロセッサ21は、接触が感知された箇所に表示されたオブジェクトに応じた処理についての開始指示を受け付ける。その後、プロセッサ21は、ステップS314の処理に進む。
一方、オブジェクトが表示されていない箇所への接触が感知された場合に(ステップS311の否定判定(NO))、プロセッサ21は、ステップS302の処理に進み、持ち方に応じたジェスチャによる入力を受け付ける処理を開始する。
ステップS302において、プロセッサ21は、例えば、ステップS301の処理で感知した接触が、複数の指による接触であるか否かに基づいて、端末装置UEの持ち方を判別する。即ち、プロセッサ21が、ステップS302の処理を実行することは、図1または図4に示した判別部12の実施形態の一つである。なお、プロセッサ21は、図1を用いて説明した第1の持ち方および第2の持ち方とともに、端末装置UEの外形に相当する矩形の左右の辺を左右の手の親指と親指以外の指とで挟むようにしてそれぞれ把持する持ち方を第3の持ち方として判別してもよい。
ステップS303において、プロセッサ21は、タッチパネル11に表示中のオブジェクトに対応する処理のそれぞれに、ステップS302の処理で判別した持ち方に応じたジェスチャ群に含まれるジェスチャのいずれかを示す情報を割り当てる。例えば、図5に示したアイコンQ1,Q2,Q3が表示中のオブジェクトである場合について説明する。この場合に、プロセッサ21は、アイコンQ1,Q2,Q3に対応する処理「停止」、「一時停止」、「再生」に、判別された持ち方に対応するジェスチャ群から選択したジェスチャを示す情報を割り当てる。即ち、プロセッサ21が、ステップS303の処理を実行することは、図1または図4に示した割り当て部13の実施形態の一つである。なお、プロセッサ21は、ステップS303の処理として、図9を用いて後述するステップS321〜ステップS329の処理を実行してもよい。
ステップS313において、プロセッサ21は、図5を用いて説明したようにして、表示中のオブジェクトのそれぞれに対応する処理とジェスチャとの対応関係を示すガイド情報をタッチパネル11に表示する。プロセッサ21が、ステップS313の処理を実行することは、図4に示した表示部141の実施形態の一つである。
ステップS304において、プロセッサ21は、タッチパネル11で感知されたジェスチャが、表示中のオブジェクトに対応する処理のいずれかに割り当てられた情報で示されるジェスチャを示すか否かを判定する。プロセッサ21は、例えば、タッチパネル11から受けた情報で示されるジェスチャの軌跡と、表示中のオブジェクトに対応する処理のそれぞれに割り当てられた情報で示されるジェスチャの軌跡とを比較することで、ステップS304の判定を行う。また、ステップS304の処理の際に、プロセッサ21は、例えば、数秒〜十数秒程度に設定された待ち受け時間にわたって、タッチパネル11に対する利用者のジェスチャによる操作を待ち受けてもよい。つまり、プロセッサ21は、上述の待ち受け時間に、タッチパネル11から入出力インタフェース24を介して渡される情報に基づいて、ステップS304の判定処理を行ってもよい。
感知されたジェスチャの軌跡と表示中のオブジェクトに対応する処理のいずれかに対応付けられたジェスチャの軌跡との類似度が所定値以上である場合に(ステップS304の肯定判定(YES))、プロセッサ21は、ステップS305の処理を実行する。
ステップS305において、プロセッサ21は、利用者による入力として、タッチパネル11で感知されたジェスチャと同等のジェスチャを示す情報が割り当てられた処理について、開始指示を受け付ける。プロセッサ21は、ステップS305の処理として、図10を用いて後述するステップS331〜ステップS338の処理を実行してもよい。
即ち、プロセッサ21が、ステップS304の肯定判定ルートにおいてステップS305の処理を実行することは、図1または図4に示した受け付け部14の実施形態の一つである。
一方、感知された接触で描かれた軌跡が、表示中のオブジェクトに対応する処理に割り当てられた情報で示されるジェスチャの軌跡のいずれとも一致しなかった場合に(ステップS304の否定判定(NO))、プロセッサ21は、ステップS306の処理に進む。
ステップS306において、プロセッサ21は、持ち方に応じたジェスチャによる入力を終了するか否かを判定する。プロセッサ21は、例えば、タッチパネル11によってジェスチャが感知されない状態が継続している期間が所定時間以上となったか否かに基づいて、ステップS306の判定処理を行ってもよい。
タッチパネル11によってジェスチャが感知されない状態が継続している期間が所定時間未満である場合に(ステップS306の否定判定(NO))、プロセッサ21は、ステップS304の処理に戻り、新たなジェスチャの入力を待ち受ける。
一方、タッチパネル11によってジェスチャが感知されない状態が継続している期間が所定時間以上となった場合に(ステップS306の肯定判定(YES))、プロセッサ21は、ステップS314の処理に進む。
ステップS314において、プロセッサ21は、タッチパネル11からの入力の受け付けを終了するか否かを判定する。プロセッサ21は、例えば、端末装置UEのオペレーティングシステムを終了させる旨の指示が入力されたか否かなどに基づいて、ステップS314の判定処理を行ってもよい。
端末装置UEのオペレーティングシステムを終了させる旨の指示が入力されていない場合に(ステップS314の否定判定(NO))、プロセッサ21は、ステップS301の処理に戻り、タッチパネル11に対する新たな操作を待ち受ける。
一方、端末装置UEのオペレーティングシステムを終了させる旨の指示が入力された場合などに(ステップS314の肯定判定(YES))、プロセッサ21は、入力制御プログラムの処理を終了する。
以上に説明したように、プロセッサ21が、上述の各処理を実行することにより、図1または図4に示した判別部12、割り当て部13および受け付け部14の機能を実現し、タッチパネル11への持ち方に応じたジェスチャによる入力を受けることができる。なお、プロセッサ21は、上述のステップS311の判定処理に代えて、持ち方を判別するために設けた入力モードへの切り替えが指示されたか否かを判定してもよい。また、プロセッサ21は、上述の指示がなされたと判定した後に感知された接触について、上述のステップS302の処理を実行することで、端末装置UEの持ち方を判別してもよい。
次に、図9および図10を用いて、図8に示したステップS303の処理およびステップS305の処理について説明する。
図9は、ジェスチャを割り当てる処理の例を示す。図9に示したステップS321〜ステップS329の各処理は、図8に示したステップS303の処理の一例である。上述のステップS321〜ステップS329の各処理は、図7に示したプロセッサ21によって実行される。
ステップS321において、プロセッサ21は、図7に示したセンサインタフェース26を介して視線検出センサ27による検出結果を示す情報を受け、受けた情報で示される利用者の注視位置から、利用者が注視しているオブジェクトを特定する。以下の説明では、ステップS321の処理で特定されたオブジェクトを、注目オブジェクトと称する。
ステップS322において、プロセッサ21は、図7に示したメモリ22あるいはハードディスク装置23に設けられた対象テーブル133を参照することで、注目オブジェクトに対応する処理のそれぞれについて設定された属性情報を取得する。なお、注目オブジェクトが、階層化されたメニューなどである場合に、プロセッサ21は、各階層に含まれる選択肢のそれぞれに対応する属性情報とともに階層構造を示す情報を対象テーブル133から取得することが望ましい。
ステップS323において、プロセッサ21は、ステップS322で取得した属性情報に基づいて、注目オブジェクトに対応する処理のそれぞれについて、ジェスチャを示す情報を割り当てる順序を決定する。例えば、プロセッサ21は、取得した属性情報の中から、注目オブジェクトに対応する処理のそれぞれの開始が指示された頻度を示す情報を抽出し、抽出した情報の比較により、入力された頻度が高い順に従って、割り当てる順序を決定してもよい。
ステップS324において、プロセッサ21は、決定された順序に従って、注目オブジェクトに対応する処理の一つをジェスチャの割り当ての対象となる割り当て対象の処理として選択する。また、プロセッサ21は、割り当て対象の処理に対応して対象テーブル133に保持された属性情報に基づいて、当該処理に対して過去にジェスチャを示す情報を割り当てた履歴があるか否かを判定する。
割り当て対象の処理について、ステップS302の処理で判別された持ち方に対応して登録されたジェスチャのいずれかが割り当てられた旨の履歴がある場合に(ステップS324の肯定判定(YES))、プロセッサ21は、ステップS325の処理を実行する。
ステップS325において、プロセッサ21は、判別された持ち方に対応するジェスチャ群から、割り当て対象の処理に対して割り当てられた頻度が最も高いことを示す特徴情報を有するジェスチャを見つけ、見つけたジェスチャを上述の処理に割り当てる。プロセッサ21は、例えば、判別された持ち方と、割り当て対象の処理を示す情報とに基づいて、メモリ22またはハードディスク装置23に設けられたデータベース131を検索することで、上述の特徴情報を持つジェスチャを見つけてもよい。図4を用いて説明したように、データベース131は、持ち方毎に登録されたジェスチャ群に含まれるジェスチャのそれぞれを示す情報として、想定される処理のそれぞれに対して割り当てられた頻度を示す第2指標を含む特徴情報を保持している。したがって、プロセッサ21は、判別された持ち方に対応してデータベース131に登録されたジェスチャから、割り当て対象の処理に対応する第2指標として最も高い値を持つジェスチャを検索すればよい。
一方、割り当て対象の処理について、ジェスチャを割り当てた履歴が無い場合に(ステップS324の否定判定(NO))、プロセッサ21は、ステップS326の処理を実行する。
ステップS326において、プロセッサ21は、判別された持ち方に対応してデータベース131に登録されたジェスチャの中から、最も単純な軌跡を持つジェスチャを見つけ、見つけたジェスチャを示す情報を割り当て対象の処理に割り当てる。図4を用いて説明したように、データベース131は、持ち方毎に登録されたジェスチャ群に含まれるジェスチャのそれぞれを示す情報として、各ジェスチャの軌跡の形状の複雑さを示す第1指標を含む特徴情報を保持している。したがって、プロセッサ21は、判別された持ち方に対応してデータベース131に登録された各ジェスチャの特徴情報から上述の第1指標を抽出し、抽出した第1指標を互いに比較することで、最も単純な軌跡を持つジェスチャを見つけることができる。
ステップS324の肯定判定ルートの処理と否定判定ルートの処理は、ステップS327において合流する。
ステップS327において、プロセッサ21は、ステップS325またはステップS326の処理による割り当て結果をメモリ22に保持するとともに、割り当て結果に基づいて、割り当て対象の処理に対応して対象テーブル133に保持される属性情報を更新する。例えば、プロセッサ21は、割り当て対象の処理に対応して対象テーブル133に保持された属性情報の一部として、判別された持ち方を示す情報と、ステップS325,S326の処理で割り当て対象の処理に割り当てたジェスチャを示す情報とを設定してもよい。
なお、プロセッサ21は、上述のステップS325において、ステップS327の処理で更新した属性情報に基づく割り当て処理を行ってもよい。例えば、プロセッサ21は、まず、割り当て対象の処理に対応して対象テーブル133に保持された属性情報を参照し、判別された持ち方を示す情報が属性情報に含まれているか否かを判定する。判別された持ち方を示す情報が属性情報に含まれている場合に、プロセッサ21は、属性情報から、最近に割り当てられたジェスチャを示す情報を取得し、取得した情報で示されるジェスチャを割り当て対象の処理に割り当ててもよい。
ステップS328において、プロセッサ21は、注目オブジェクトに対応する処理の全てについて、ジェスチャの割り当てが終了したか否かを判定する。
まだ割り当てが完了していない処理がある場合に(ステップS328の否定判定(NO))、プロセッサ21は、ステップS324の処理に戻り、決定された順序に従って選択した割り当て対象の処理について、ジェスチャを割り当てる処理を開始する。
一方、注目オブジェクトに対応する処理の全てへのジェスチャの割り当てが終了したと判定された場合に(ステップS328の肯定判定(YES))、プロセッサ21は、ジェスチャを割り当てる処理を終了する前に、ステップS329の処理を実行してもよい。
ステップS329において、プロセッサ21は、図10を用いて後述するジェスチャの割り当てを再試行する処理に、判別された持ち方に対応して登録されたジェスチャのいずれかを割り当てる。プロセッサ21は、ジェスチャの割り当てを再試行する処理に所定のジェスチャを割り当ててもよいし、また、上述したステップS324からステップS326の処理を実行することで、ジェスチャの割り当てを行ってもよい。また、プロセッサ21は、ジェスチャの割り当てを再試行する処理へのジェスチャの割り当てを示す情報を、上述のステップS327でメモリ22に保持した情報に追加する。
なお、プロセッサ21は、注目オブジェクトが階層化されたメニューである場合に、上述したステップS322〜ステップS326の処理の代わりに、図6を用いて説明した手法で各選択肢にジェスチャを割り当ててもよい。各選択肢へのジェスチャの割り当てを実行する際に、プロセッサ21は、全ての選択肢について互いに異なるジェスチャを割り当ててもよいし、同時に提示されることのない選択肢の集合のそれぞれについて、重複を許容した割り当てを行ってもよい。例えば、プロセッサ21は、図5に示した選択肢「拡大」から派生する下位の選択肢の一つに、選択肢「デコレーション」から派生する選択肢「フレーム」と同一のジェスチャを割り当ててもよい。
図10は、ジェスチャが対応付けられた処理の開始指示を受け付ける処理の例を示す。図10に示したステップS331〜ステップS338の各処理は、図8に示したステップS305の処理の一例である。上述のステップS331〜ステップS338の各処理は、図7に示したプロセッサ21によって実行される。
ステップS331において、プロセッサ21は、図8のステップS303の処理結果としてメモリ22に保持された情報に基づいて、タッチパネル11によって感知されたジェスチャと同等のジェスチャを示す情報が割り当てられた処理を特定する。
ステップ332において、プロセッサ21は、ステップS331で特定した処理がジェスチャの割り当てを再試行する処理であるか否かを判定する。
ステップS331で特定した処理がジェスチャの割り当てを再試行する処理であった場合に(ステップS332の肯定判定(YES))、プロセッサ21は、ステップS333およびステップS334の処理を実行する。
ステップS333において、プロセッサ21は、上述したステップS327の処理により、注目オブジェクトに対応する処理のそれぞれについて、最近に割り当てられたジェスチャを示す情報として対象テーブル133に設定された情報をクリアする。
ステップS334において、プロセッサ21は、図9に示したステップS323〜ステップS328の処理を再び実行することで、注目オブジェクトに対応する処理のそれぞれにジェスチャを割り当てる処理を再試行する。
ステップS332の肯定判定ルートにおいて、プロセッサ21がステップS333,334の処理を実行することで、ジェスチャを受け付ける過程で、注目オブジェクトに対応する処理のそれぞれにジェスチャを割り当て直す機能を実現することができる。上述の機能を利用すれば、利用者は、注目オブジェクトに対応する処理のそれぞれに所望のジェスチャの組み合わせが割り当てられるまで、各処理へのジェスチャの割り当てをやり直させることができる。これにより、注目オブジェクトに対応する処理のそれぞれに割り当てられるジェスチャに、利用者の意向を反映させることができる。
一方、ステップS331で特定した処理が、ジェスチャの割り当てを再試行する処理以外の処理であった場合に(ステップS332の否定判定(NO))、プロセッサ21は、ステップS335〜ステップS338の処理を実行する。
ステップS335において、プロセッサ21は、ステップS331において特定された処理についての開始指示をタッチパネル11からの入力として受け付ける。つまり、プロセッサ21は、タッチパネル11で感知されたジェスチャを、同等のジェスチャを示す情報が割り当てられた処理についての開始指示として受け付ける。
ステップS336において、プロセッサ21は、ステップS331において特定された処理へのジェスチャの割り当てを示す情報に基づき、データベース131に登録された特徴情報と対象テーブル133に保持された属性情報とを更新する。プロセッサ21は、例えば、上述のジェスチャに対応してデータベース131に登録された特徴情報の中で、ステップS331において特定された処理に割り当てられた頻度を示す情報について、頻度を増加させる更新を行ってもよい。また、プロセッサ21は、例えば、ステップS331において特定された処理に対応して対象テーブル133に保持された属性情報について、当該処理についての開始指示の入力頻度を増大させる更新を行ってもよい。
ステップS337において、プロセッサ21は、ステップS331において特定された処理から派生して実行される処理があるか否かを判定する。プロセッサ21は、例えば、ステップS331において特定された処理に対応して対象テーブル133に保持された属性情報により、上述の処理が、階層化されたメニュー内の選択肢の一つに対応する旨が示されているか否かに基づいて、ステップS337の判定処理を行ってもよい。
ステップS331において特定された処理から派生して実行される処理がある場合に(ステップS337の肯定判定(YES))、プロセッサ21は、ステップS338の処理を実行する。
ステップS338において、プロセッサ21は、派生して実行される処理のそれぞれに割り当てられた情報で示されるジェスチャを示すガイド情報を生成し、タッチパネル11によって表示させることでガイド情報を更新する。
プロセッサ21は、上述のステップS338あるいはステップS334の処理を実行した後と、ステップS337の否定判定の場合に、図8に示したステップS306の処理に進む。
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で、前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更を容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
以上の説明に関して、更に、以下の各項を開示する。
(付記1)
表示画面を含み、前記表示画面への接触を感知するタッチパネルと、
前記タッチパネルで感知された前記接触の状況に基づいて、前記タッチパネルが複数種類の持ち方のうちどの持ち方で把持されているかを判別する判別部と、
前記判別部で判別された持ち方に対応して登録されたジェスチャを示す情報を、前記表示画面に表示されたオブジェクトに対応する処理に割り当てる割り当て部と、
前記タッチパネルで感知されたジェスチャが前記登録されたジェスチャを示す場合に、前記ジェスチャを示す情報が割り当てられた処理を開始する指示を受け付ける受け付け部と
を備えたことを特徴とする入力装置。
(付記2)
付記1に記載の入力装置において、
前記割り当て部は、
前記タッチパネルの持ち方毎に、前記持ち方で前記タッチパネルが把持されている場合に実行可能なジェスチャのそれぞれを示す情報と前記ジェスチャの実行過程で前記表示画面に描かれる軌跡を示す情報を含む情報である特徴情報とを対応付けて登録するデータベースと、
前記判別された持ち方と前記オブジェクトのそれぞれに対応する処理について指定される情報とに基づいて、前記データベースを検索する検索部とを有し、
前記検索部で得られたジェスチャを示す情報を前記オブジェクトに対応する処理に割り当て、
前記受け付け部は、前記タッチパネルでジェスチャを感知した際に描かれた軌跡と前記データベースに登録された情報で示される軌跡との間の類似度が所定値以上である場合に、前記タッチパネルで感知されたジェスチャが前記登録されたジェスチャを示すと判定する
ことを特徴とする入力装置。
(付記3)
付記2に記載の入力装置において、
前記データベースは、前記複数のジェスチャそれぞれの特徴情報として、前記ジェスチャで描かれる軌跡の複雑さを示す第1指標を含み、
前記検索部は、開始指示が入力される頻度が他の処理に比べて高い処理について、前記第1指標により、軌跡の複雑さが小さい旨が示されるジェスチャを優先的に検索する
ことを特徴とする入力装置。
(付記4)
付記2に記載の入力装置において、
前記データベースは、前記複数のジェスチャそれぞれの特徴情報として、前記ジェスチャを示す情報が過去に前記処理のそれぞれに割り当てられた頻度を示す第2指標を含み、
前記検索部は、前記表示されたオブジェクトに対応する処理のそれぞれについて、前記処理に割り当てられた頻度が他のジェスチャよりも高いことを示す第2指標を含む特徴情報に対応するジェスチャを優先的に検索する
ことを特徴とする入力装置。
(付記5)
付記1乃至付記4のいずれか一に記載の入力装置において、
前記受け付け部は、
前記表示されたオブジェクトに対応する処理のそれぞれと前記処理に割り当てられた情報で示されるジェスチャとを示すガイド情報を前記表示画面に表示させる表示部を有する
ことを特徴とする入力装置。
(付記6)
付記5に記載の入力装置において、
前記表示部は、前記表示されたオブジェクトに対応する処理のそれぞれと、前記処理に割り当てられた情報で示されるジェスチャを実行する過程で前記表示画面に描かれる軌跡とを、テキストと図形との少なくとも一方を用いて示す情報を含むガイド情報を表示させる
ことを特徴とする入力装置。
(付記7)
付記5に記載の入力装置において、
前記表示部は、前記表示されたオブジェクトに対応する処理のそれぞれをテキストと図形との少なくとも一方を用いてそれぞれ示す情報と、前記処理のそれぞれに割り当てられた情報で示されるジェスチャの実行過程を動画像によって示す情報とを含むガイド情報を表示させる
ことを特徴とする入力装置。
(付記8)
付記1乃至付記7のいずれか一に記載の入力装置において、
前記割り当て部は、前記表示されたオブジェクトが、階層化されたメニューである場合に、前記メニューに含まれる選択肢に対応する処理への前記ジェスチャの割り当てとともに、前記選択肢から派生する複数の選択肢のそれぞれに対応する処理への前記ジェスチャの割り当てを行い、
前記受け付け部は、
前記メニューに含まれる選択肢に対応する処理のそれぞれに割り当てられたジェスチャの特徴と前記タッチパネルで感知されたジェスチャの特徴とを比較することで、前記感知されたジェスチャが前記処理に割り当てられたジェスチャを示すか否かを判定する比較部と、
前記感知されたジェスチャが前記メニューに含まれる選択肢に対応する処理に割り当てられたジェスチャを示すと判定された場合に、以降に前記タッチパネルによって感知されるジェスチャについて、前記比較部に、前記選択肢から派生する選択肢に対応する処理に割り当てられたジェスチャの特徴との比較を行わせる制御部とを有する
ことを特徴とする入力装置。
(付記9)
付記1乃至付記8のいずれか1に記載の入力装置において、
前記判別部は、前記タッチパネルで接触が感知された箇所の数に基づいて、前記タッチパネルの持ち方を判別する
ことを特徴とする入力装置。
(付記10)
付記1乃至付記8のいずれか1に記載の入力装置において、
前記判別部は、前記タッチパネルで感知された接触の際に描かれた軌跡の形状に基づいて、前記タッチパネルの持ち方を判別する
ことを特徴とする入力装置。
(付記11)
表示画面を含み、前記表示画面への接触を感知するタッチパネルで前記接触が感知された位置と前記接触が感知された前記接触の状況に基づいて、前記タッチパネルが複数種類の持ち方のうちどの持ち方で把持されているかを判別し、
判別された持ち方に対応して登録されたジェスチャを示す情報を、前記表示画面に画像またはテキストとして表示されたオブジェクトに対応する処理に割り当て、
前記タッチパネルで感知されたジェスチャが前記登録されたジェスチャを示す場合に、前記ジェスチャを示す情報が割り当てられた処理を開始する指示を受け付ける
処理をコンピュータに実行させることを特徴とする入力制御プログラム。