説明

入力装置及び入力方法

【課題】ユーザの手形状を手形状モデルとして忠実に再現できる入力装置を提供する。
【解決手段】操作面と手との接触領域を検知する接触領域検知部と、接触領域に基づいて、操作面に現在接触している手の指先位置を示す複数の指先位置点を所定時間毎に作成する位置座標データ作成部と、操作面に現在接触していない指先位置を示す擬似指先位置点を作成する擬似指先位置作成部と、指先位置点と擬似指先位置点とに基づいて、手の形状を反映したCGモデルを作成するモデル形状作成部と、機器に与える指示を割当てたGUIパーツを保持するGUIパーツ保持部と、モデル形状作成部で作成されたCGモデルとGUIパーツ保持部に保持されたGUIパーツとを重畳した画像を作成して表示部に表示させる重畳画像作成部と、GUIパーツとCGモデルとの位置関係に基づいて、機器に与えるユーザの指示を決定する操作内容決定部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが機器に対して命令等を入力するための入力装置及び入力方法に関し、より特定的には、ユーザがディスプレイ等に表示された情報に基づいて手等の身体部分を用いて、命令等を入力できる入力装置及び入力方法に関する。
【背景技術】
【0002】
近年の情報機器端末の多機能化に伴って、ユーザがより使い易いユーザインターフェイスが求められている。使い易いユーザインターフェイスの一例として、タッチパネルディスプレイがある。タッチパネルディスプレイは、ディスプレイに表示されるGUI(Graphical User Interface)パーツを手で押す操作をすることによって、ユーザが命令等を情報機器端末等に入力する装置である。このことから、タッチパネルディスプレイは、初心者でも直感的に操作できるインターフェイスと言える。
【0003】
しかし、タッチパネルディスプレイにおいては、タッチを検知するデバイス(以下、入力部という)と表示部とが一体であるので、タッチパネルディスプレイがユーザの手元にないと操作できないという課題があった。
【0004】
この課題を解決するために、特許文献1の技術は、入力部と表示部とを分離し、入力部に置かれたユーザの手を検知し、コンピュータグラフィック(以下、CGという)の手形状モデルを、表示部に表示されるGUIに重畳して表示する。このことによって、ユーザは、表示部から離れている場合でも、タッチパネルディスプレイの直感的な操作感を維持した操作を行うことができる。
【特許文献1】特開2006−72854号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記した従来の技術は、ユーザの手と入力部の操作面との複数の接触位置を同時に取得できる入力部(タッチパネル)を用いて、検知したユーザの手の指先位置や掌位置に基づいてCGによって手形状を復元している。そして、上記した従来の技術では、入力部の操作面にユーザの指先が接触していない場合は、指先位置は検知されず、ユーザの手形状を忠実に再現することができない。この結果として、上記した従来の技術には、CGによって復元された手形状モデルの形状とユーザの手の形状とが異なり、直感的な操作が困難になるという課題があった。
【0006】
それ故に、本発明の目的は、入力部の操作面に接触していないユーザの指先が存在する場合であっても、ユーザの手形状を手形状モデルとして忠実に再現できる入力装置及び入力方法を提供することである。
【課題を解決するための手段】
【0007】
本発明は、操作面に置かれたユーザの手のCGモデルを表示部に表示させ、この表示を利用して入力されるユーザの指示を機器に与える入力装置に向けられている。そして上記目的を達成させるために、本発明の入力装置は、操作面を有し、この操作面と手との接触領域を検知する接触領域検知部と、接触領域に基づいて、操作面に現在接触している手の指先位置を示す複数の指先位置点を所定時間毎に作成する位置座標データ作成部と、操作面に現在接触していない指先位置を示す擬似指先位置点を作成する擬似指先位置作成部と、指先位置点と擬似指先位置点とに基づいて、手の形状を反映したCGモデルを作成するモデル形状作成部と、機器に与える指示を割当てたGUIパーツを保持するGUIパーツ保持部と、モデル形状作成部で作成されたCGモデルとGUIパーツ保持部に保持されたGUIパーツとを重畳した画像を作成して表示部に表示させる重畳画像作成部と、GUIパーツとCGモデルとの位置関係に基づいて、機器に与えるユーザの指示を決定する操作内容決定部とを備える。
【0008】
これにより、本発明の入力装置は、操作面に接触していないユーザの指先の位置を推定できるので、ユーザの手形状とCGで描画される手形状モデルの形状とを一致させることができる。
【0009】
また、好ましくは、位置座標データ作成部は、接触領域検知部が検知した接触領域に基づいて、更に、操作面に現在接触している手の掌位置を示す掌位置点を所定時間毎に作成し、モデル形状作成部は、更に掌位置点に基づいて、手の形状を反映したCGモデルを作成する。
【0010】
これにより、本発明の入力装置は、ユーザの手の掌位置を検出してCGモデルの形状に反映できるので、より正確なユーザの手のCGモデルを作成できる。
【0011】
また、擬似指先位置作成部は、操作面に接触していた時点の指先位置を示す過去の指先位置点のうち直近の指先位置点を擬似指先位置点とすることによって、擬似指先位置点を作成してもよい。
【0012】
これにより、本発明の入力装置は、操作面に当初接触していた指先であって現在接触していない指先に対応する擬似指先位置点を作成できる。
【0013】
また、好ましくは、モデル形状作成部は、各指先位置点の動きベクトルを算出し、算出した動きベクトルを平均した平均動きベクトルに基づいて擬似指先位置点を移動させて、手の形状を反映したCGモデルを作成する。
【0014】
これにより、本発明の入力装置は、操作面に接触していない指先が移動した場合であっても、この移動した指先の位置を推定できるので、正確なユーザの手のCGモデルを作成できる。
【0015】
また、擬似指先位置作成部は、擬似指先位置点を、互いの間隔が所定値を超える隣合う指先位置点の間に作成してもよい。
【0016】
これにより、本発明の入力装置は、操作面に当初から接触していない指先に対応する擬似指先位置点を作成できる。
【0017】
また、モデル形状作成部は、擬似指先位置点の両隣に位置する指先位置点の中間に位置するように擬似指先位置点を移動させて、手の形状を反映したCGモデルを作成してもよい。
【0018】
これにより、本発明の入力装置は、操作面に接触していない指先が移動した場合であっても、この移動した指先の位置を推定できるので、正確なユーザの手のCGモデルを作成できる。
【0019】
また、本発明は、操作面に置かれたユーザの手のCGモデルを表示部に表示させ、この表示を利用して入力されるユーザの指示を機器に与える入力方法にも向けられている。そして上記目的を達成させるために、本発明の入力方法は、操作面と手との接触領域を検知する接触領域検知ステップと、接触領域に基づいて、操作面に現在接触している手の指先位置を示す複数の指先位置点を所定時間毎に作成する位置座標データ作成ステップと、操作面に現在接触していない指先位置を示す擬似指先位置点を作成する擬似指先位置作成ステップと、指先位置点と擬似指先位置点とに基づいて、手の形状を反映したCGモデルを作成するモデル形状作成ステップと、モデル形状作成ステップで作成されたCGモデルと機器に与える指示を割当てたGUIパーツとを重畳した画像を作成して表示部に表示させる重畳画像作成ステップと、GUIパーツとCGモデルとの位置関係に基づいて、機器に与えるユーザの指示を決定する操作内容決定ステップとを備える。
【0020】
これにより、本発明の入力方法は、操作面に接触していないユーザの指先の位置を推定できるので、ユーザの手形状とCGで描画される手形状モデルの形状とを一致させることができる。
【発明の効果】
【0021】
本発明の入力装置及び入力方法によれば、操作面に接触していないユーザの指先の位置を推定できるのでユーザの手の形状とCGで描画される手形状モデルの形状とを一致させることができる。この結果として、ユーザは違和感無く操作を行うことが可能となる。
【発明を実施するための最良の形態】
【0022】
(一実施形態)
以下、本発明の一実施形態に係る入力装置について図面を用いて説明する。なお、各図面において、視認性を考慮し、本発明の実施について特に重要ではない要素は省略している。
【0023】
図1は、本発明の一実施形態に係る入力装置100のハードウエア構成例を示す図である。図1に示すように、入力装置100は、接触領域検知部1と演算部2とを備える。演算部2は、データの入出力を行うI/O11と、データやプログラム等を記憶するHDD(Hard Disk Drive)12と、BIOS等の基本プログラムを格納するROM13と、HDD12に記憶されたプログラム及びROM13に格納されたプログラムを実行するCPU14と、データを保持するRAM15と、画像データを処理する画像プロセッサ17と、画像データを保持するVRAM18と、以上の構成要素を接続するバス線16とを備える。
【0024】
接触領域検知部1は、I/O11の入力側に接続され、操作面に接触したユーザの手19の接触領域を多点で検知し、検知した接触領域の位置データ(以下、接触位置データという)を出力するタッチパネルである。接触領域検知部1からI/O11の入力側に入力される接触位置データは、RAM15に保持される。
【0025】
I/O11の出力側には、表示部3が接続される。表示部3は、画像データに対応する画像を表示するディスプレイである。また、I/O11の出力側には、入力装置100によって操作されるカーナビゲーション装置、オーディオ装置、エアコン等の操作対象機器4が接続される。演算部2は、接触領域検知部1で検知されたユーザの指示に基づいて、操作対象機器4に指示を出力する。
【0026】
HDD12は、RAM15に保持された接触位置データに基づいてRAM15に予め保持されている標準の手形状モデル(以下、標準手モデルという)を変形させ、変形させた手形状モデルの画像データをGUIと共に表示部3に表示させるようにCPU14を機能させる制御プログラムを記憶している。
【0027】
なお、入力装置100における制御は、ハードウエア、又は、ハードウエア及びソフトウエアの協働によって実行される。
【0028】
以下では、入力装置100の構成及び動作について、より詳しく説明する。図2は、入力装置100の機能ブロックの一例を示す図である。図2に示すように、入力装置100は、接触領域検知部1と演算部2とを備える。演算部2は、位置座標データ作成部21と、擬似指先位置作成部22と、モデル形状作成部23と、手形状モデル保持部24と、GUIパーツ保持部25と、重畳画像作成部26と、操作内容決定部27と、コマンド送信部28とを含む。
【0029】
位置座標データ作成部21は、接触領域検知部1から入力される接触位置データから指先位置点及び掌位置点を生成する。
【0030】
擬似指先位置作成部22は、位置座標データ作成部21によって生成された指先位置点に基づいて、擬似指先位置点を生成する。
【0031】
手形状モデル保持部24は、標準手モデルを予め保持している。
【0032】
モデル形状作成部23は、手形状モデル保持部24から標準手モデルを読み出す。そして、モデル形状作成部23は、位置座標データ作成部21が生成した指先位置点と擬似指先位置作成部22が生成した擬似指先位置点とに基づいて標準手モデルを変形させることによって、接触領域検知部1の操作面に載せられているユーザの手の形状を反映した手形状モデルの画像を作成する。
【0033】
GUIパーツ保持部25は、表示部3に表示される操作画像に含まれるGUIパーツを保持する。GUIパーツ保持部25に保持されるGUIパーツは、例えば、操作対象機器4を操作する操作ボタンである。
【0034】
重畳画像作成部26は、GUIパーツ保持部25から読み出したGUIパーツの画像を作成し、作成した画像にモデル形状作成部23が作成した手形状モデルの画像を重畳させて、操作画像として表示部3に表示させる。
【0035】
操作内容決定部27は、表示部3に表示された操作画像を用いてユーザが行った操作(指示)を検出する。
【0036】
コマンド送信部28は、操作内容決定部27によって検出されたユーザの指示を、操作対象機器4に送信する。
【0037】
図3は、入力装置100の制御処理の一例を示すフローチャートである。以下、入力装置100の制御処理について、図3を用いて説明する。なお、以下の処理は、図1に示すCPU14がHDD12に記憶された制御プログラムをRAM15において展開して実行する。
【0038】
まず、ステップS301において、位置座標データ作成部21は、接触領域検知部1から接触位置データを取得する。接触位置データは、接触領域検知部1の操作面にユーザの手が接触した領域を、点郡(以下、接触点郡という)によって表すデータである。
【0039】
次に、ステップS302において、位置座標データ作成部21は、取得した接触点群を用いて指先位置点及び掌位置点を求める。図4は、ステップS302で求められる指先位置点及び掌位置点を説明するための図である。図4(a)に示すように、位置座標データ作成部21は、接触領域検知部1から取得した接触点群をそれぞれ楕円で囲んで複数の領域を指定する。そして、位置座標データ作成部21は、例えば、最も下に位置する楕円Bで示す接触点群を掌の接触点群と判断し、掌の接触点群よりも上側にある接触点群を指の接触点群と判断する。その後、位置座標データ作成部21は、例えば、楕円Aの上方向の先端を指先位置点とし(図4(b)を参照)、楕円Bの重心を掌位置点とする(図4(c)を参照)。なお、指先位置点及び掌位置点は、他の方法を用い、また、他の位置に決定してもよい。図4(d)には、上記した方法によって求められた指先位置点41〜45、及び掌位置点46を示す。
【0040】
次に、ステップS303において、位置座標データ作成部21は、手の指の並び方(手の構造)に基づいて、取得した指先位置点及び掌位置点にそれぞれIDを付与する。例えば、図4(d)に示すように、ステップS302で5つの指先位置点が得られた場合には、指先位置点41〜45に、それぞれ、親指、人差し指、中指、薬指、小指を示すIDを付与し、掌位置点46に掌を示すIDを付与する。ここで、上記した処理は、ユーザが接触領域検知部1を右手で操作していると仮定している。従って、例えば、ユーザに対して、接触領域検知部1の操作面に右手を置く旨の通知を音声や表示等を用いて行うことが好ましい。
【0041】
次に、ステップS304において、位置座標データ作成部21は、所定時間毎に接触領域検知部1から接触位置データを取得し、所定時間毎にステップS302と同様に指先位置点及び掌位置点を取得する。そして、位置座標データ作成部21は、所定時間毎に取得した指先位置点及び掌位置点を、ステップS303で付与した親指、人差し指、中指、薬指、小指及び掌のIDのそれぞれに対応させてRAM15に蓄積する。より具体的には、位置座標データ作成部21は、所定時間毎に、過去の指先位置点及び掌位置点のそれぞれについて全ての現在の指先位置点及び掌位置点との間の距離を計算し、最も近い距離の現在の指先位置点(又は掌位置点)を同じIDの指先位置点(又は掌位置点)として認識してペアリングする。このことによって、位置座標データ作成部21は、所定時間毎に取得する指先位置点及び掌位置点にIDを対応付けることができる。
【0042】
次に、ステップS305において、擬似指先位置作成部22は、擬似指先位置点を作成する。ここで、擬似指先位置点とは、接触領域検知部1の操作面に接触していない指先の位置(操作面から浮いている指先の位置)を表す指先位置点である。
【0043】
図5は、ステップS305の処理を説明するためのフローチャートである。以下、図5を用いて、ステップS305の処理について詳しく説明する。
【0044】
まず、ステップS501において、擬似指先位置作成部22は、ステップS304でRAM15に蓄積された所定時間毎の指先位置点の情報を用いて、浮いた指先を認識し、浮いた指先があるか否かを判定する。具体的には、擬似指先位置作成部22は、ステップS304でRAM15に蓄積された過去の指先位置点のうち、ペアリングすべき現在の指先位置点が存在しないものについては、指先が浮いたと認識し、浮いた指先があると判定する。浮いた指先があると判定された場合は、ステップS502に移る。浮いた指先がないと判定された場合は、ステップS504に移る。
【0045】
ステップS502において、擬似指先位置作成部22は、浮いた指先に対応する直近の過去の指先位置点を、この浮いた指先の擬似指先位置点として設定する。図6は、ステップS502の処理を説明するための図である。図6には、一例として、接触領域検知部1の操作面に接触していた中指が浮いた場合を示す。図6(a)において、5つの破線はそれぞれ過去の指先位置点の軌跡602を示し、4つの黒丸はそれぞれ現在の指先位置点601を示し、1つの白丸は中指が浮いたために検出されなくなる直前の指先位置点603を示す。なお、掌位置点は省略している。ステップS502において、擬似指先位置作成部22は、検出されなくなる直前の指先位置点603を、図6(b)に示すように、擬似指先位置点604として設定する。
【0046】
次に、ステップS503において、擬似指先位置作成部22は、ステップS502で設定した擬似指先位置点を、RAM15に蓄積する。
【0047】
次に、ステップS504において、擬似指先位置作成部22は、RAM15に蓄積された指先位置点(擬似指先位置点を含む場合もある)の合計が、5点存在するか否かを判断する。つまり、ステップS504において、擬似指先位置作成部22は、5本の指の指先が、指先位置点又は擬似指先位置点として全て検出されているか否かを判断する。5点存在する場合は、図3に示すステップS306に移る。5点存在しない場合は、ステップS505に移る。
【0048】
ステップS505において、擬似指先位置作成部22は、隣り合う指先位置点の距離を算出する。ここで、指先位置点の一部が、ステップS502で設定された擬似指先位置点である場合もある。
【0049】
次に、ステップS506において、擬似指先位置作成部22は、ステップS505で算出した距離のそれぞれに対して、所定の閾値以上か否かを判断する。所定の閾値以上の距離が存在する場合は、ステップS507に移る。所定の閾値以上の距離が存在しない場合は、図3に示すステップS306に移る。
【0050】
ステップS507において、擬似指先位置作成部22は、所定の閾値以上の距離と判断された隣り合う2つの指先位置点の間に、擬似指先位置点を設定する。その後、図3に示すステップS306に移る。
【0051】
図7は、図5に示すステップS505〜S507の処理を説明するための図である。以下、図7を用いて、中指が当初から浮いている場合を一例に挙げて、ステップS505〜S507の処理について具体的に説明する。
【0052】
まず、ステップS505において、図7(a)に示すように、指先位置点701〜704(一部がステップS502で設定された擬似指先位置点であってもよい)について、隣り合う指先位置点間の距離711〜713がそれぞれ算出される。より具体的には、親指に対応する指先位置点701と人差し指に対応する指先位置点702との間の距離711が算出され、人差し指に対応する指先位置点702と薬指に対応する指先位置点703との間の距離712が算出され、薬指に対応する指先位置点703と小指に対応する指先位置点704との間の距離713が算出される。
【0053】
次に、ステップS506において、算出された距離711〜713のそれぞれと、予めRAM15に保持されている所定の閾値とが比較される。ここで、予めRAM15に保持されている所定の閾値とは、a1〜a4である。閾値a1は、親指と人差し指との間の距離として通常有り得る値の最大値である。同様に、閾値a2は人差し指と中指との間の距離、閾値a3は中指と薬指との間の距離、閾値a4は薬指と小指との間の距離として、それぞれ通常有り得る値の最大値である。なお、手の構造を考慮して、各閾値の大小関係は、a1>a4>a2〜a3となるように設定されるのが好ましい。具体的には、親指に対応する指先位置点701と人差し指に対応する指先位置点702との間の距離711と、閾値a1とが比較される。同様に、人差し指に対応する指先位置点702と薬指に対応する指先位置点703との間の距離712と、閾値a2とが比較される。ここで、閾値a2は人差し指と中指との間の距離として通常有り得る値の最大値であるので、距離712が閾値a2以上であると判断される可能性は高い。距離712が閾値a2以上であると判断された場合には、中指が浮いていることが検知され、ステップS507に移る。
【0054】
次に、ステップS507において、図7(b)に示すように、人差し指に対応する指先位置点702と薬指に対応する指先位置点703との間に、浮いている中指に対応する擬似指先位置点730が作成され、RAM15に蓄積される。
【0055】
なお、ステップS506において、距離712が閾値a2以上であると判断されない場合には、中指が浮いていることは検知されない。この場合には、浮いている中指に対応する擬似指先位置点は作成されない。
【0056】
以上に説明したように、ステップS501及びS502の処理によって、当初は浮いていなかったが途中から浮いた指先について、擬似指先位置点が設定される。また、ステップS505〜S507の処理によって、当初から浮いていた指先について、擬似指先位置点が設定される。
【0057】
以下では、図3のフローチャートに戻り、説明を続ける。ステップS306において、モデル形状作成部23は、ステップS304でRAM15に蓄積された所定時間毎に取得された指先位置点及び掌位置点と、ステップS305で擬似指先位置作成部22が作成してRAM15に蓄積された擬似指先位置点とを用いて、手形状モデル保持部24が当初から保持しているひな形である標準手モデルの対応する指先位置点(一部が擬似指先位置点であってもよい)及び掌位置点とが重なるように、この標準手モデルを変形して手形状モデルを作成する。
【0058】
図8は、擬似指先位置点が存在する場合に、モデル形状作成部23が標準手モデルを変形する方法の一例について説明するための図である。以下では、図8を参照して、ステップS306において、擬似指先位置点が存在する場合に、モデル形状作成部23が標準手モデルを変形して手形状モデルを作成する方法について詳しく説明する。
【0059】
図8(c)に示すように、4つの指先位置点601が移動した場合について説明する。ここで、既に説明した通り、指先位置点601は、浮いていない指先(検知されている指先)に対応し、擬似指先位置点604は、浮いている指先(検知されていない指先)に対応する。モデル形状作成部23は、図8(c)に示すように、各指先位置点601の動きベクトルを算出し、算出した動きベクトルを平均して平均動きベクトルを算出する。その後、モデル形状作成部23は、図8(d)に示すように、算出した平均動きベクトルを用いて擬似指先位置点604を移動させる。この方法によって、浮いている指先の動きについても手形状モデルに反映させることができるので、実際の手の形状に近い形状をCGによって再現することができる。
【0060】
図9は、擬似指先位置点が存在する場合に、モデル形状作成部23が標準手モデルを変形する方法の別の一例について説明するための図である。図9(a)には、一例として、浮いている中指に対応する擬似指先位置点1010と、指先位置点1001〜1004とを示す。図9(a)に示す状態から、ユーザが人差し指を折り曲げることによって、図9(b)に示すように、指先位置点1002が下方向に移動した場合を考える。この場合、モデル形状作成部23は、図9(b)に示すように、移動後の指先位置点1002と指先位置点1003との中心位置に擬似指先位置点1010を移動させる。つまり、モデル形状作成部23は、擬似指先位置点を、この擬似指先位置点の両側に位置する2つの指先位置点の中心に位置するように移動させる。この方法によって、浮いている指先の動きについても手形状モデルに反映させることができるので、実際の手の形状に近い形状をCGによって再現することができる。ここで、上記した方法は、親指を除く他の4本の指が互いに連動して動く手の構造を利用したものである。従って、上記した方法は、中指又は薬指が浮いている場合に適用することが好ましい。
【0061】
次に、ステップS307において、重畳画像作成部26は、GUIパーツ保持部25から読み出したGUIパーツによって構成される画像に、ステップS306でモデル形状作成部23が作成した手形状モデルを重畳し、ユーザの操作に用いる操作画像として表示部3に表示させる。
【0062】
次に、図3のフローチャートでは省略しているが、操作内容決定部27は、ステップS307で表示部3に表示された操作画像を目視してユーザが行った操作を、検出する。具体的には、操作内容決定部27は、例えば、操作画像におけるGUIパーツと手形状モデルの指先との衝突を、ユーザの操作として検出する。その後、コマンド送信部28は、操作内容決定部27によって検出されたユーザの操作を、操作対象機器4に送信する。以上の動作によって、ユーザは入力装置100を用いて操作対象機器4を操作することができる。
【0063】
以下では、図3のステップS306で作成される手形状モデルにおいて、指関節の曲がり角度を求める方法について説明する。ステップ306で作成される手形状モデルは、指先位置点(一部が擬似指先位置点であってもよい)及び掌位置点の位置変化に応じて、適宜変形が行われる。ここで、指先位置点の変位量から指関節の曲がり角度を求める方法として、ロボット工学分野等で周知であるインバースキネマティクス(以下、IKという)技術がある。IK技術は、複数の可動部を持つアームの先端を目的位置に移動させるために用いられる。そして、アームが複数の可動部を持つ場合、IK技術を用いて目的位置にアームの先端を移動させるためには、可動部の曲り角度には複数の解が存在する。
【0064】
本発明においても、指には複数の関節があるので、指関節の曲り角度には複数の解が存在する。このため、本発明では、一例として、ユーザの掌及び指先は操作面上(同一平面上)に存在するという拘束条件と、各指関節の曲り角度は等しいという拘束条件とを用いて、解を一意に求める。図10は、指先位置点(一部が擬似指先位置点であってもよい)及び掌位置点が同一平面上に存在するという拘束条件及び各指関節の曲り角度は等しいという拘束条件を用いて変形した手形状モデルの一例を示す図である。図10(a)は、一例として、人指し指を曲げた場合の指先位置点の変位を示している。図10(b)は、図10(a)に示す曲げた状態の人指し指の手形状モデルを側面から視た図である。図10から解るように、通常、指を曲げると3つの指関節は同時に曲がるので、この様な拘束条件を用いて標準手モデルを変形して手形状モデルを作成すると、ユーザは違和感無く操作を行うことができる。また、この様な拘束条件を用いて標準手モデルを変形すると、演算量が大幅に低減できるので、ユーザの手の動きに瞬時に応答する変形が可能である。図11は、標準手モデル及び作成された手形状モデルを側面から視た図である。各指について位置の変位量から取得した各関節の角度に基づいて、図11(a)に示す標準手モデルを図11(b)に示すように変形させることができる。
【0065】
以上に説明したように、本発明の入力装置100は、接触領域検知部1の操作面に当初接触していたユーザの指先が浮いた場合には、浮いた指先の位置を推定して擬似指先位置点を設定する。また、本発明の入力装置100は、接触領域検知部1の操作面に当初から接触していないユーザの指先の位置を推定して擬似指先位置点を設定する。そして、本発明の入力装置100は、設定した擬似指先位置点の移動を推定して、操作画面に表示するユーザの手形状を再現した手形状モデル(CGモデル)に、浮いている指の形状を反映する。この結果として、本発明の入力装置100によれば、ユーザの手形状とCGモデルの形状とを一致させることができ、ユーザは違和感無く操作を行うことが可能となる。
【0066】
なお、以上では、図5のステップS505〜S507の処理によって、当初から浮いていた指先について、擬似指先位置点を設定した(図7を参照)。しかし、この処理では、端の指(親指又は小指)が当初から浮いていた場合には、この端の指に対応する擬似指先位置点を設定することは困難となる。従って、例えば、図12を用いて以下に説明する処理によって、親指又は小指が当初から浮いていた場合の擬似指先位置点を設定してもよい。
【0067】
図12(a)は、当初から浮いていた親指に対応する擬似指先位置点903が設定される場合を示す図である。擬似指先位置作成部22は、図12(a)の楕円に示すように、指先位置点901の集団を認定する。これは、例えば、隣の指先位置点901との間隔が所定間隔以下である指先位置点901を1つの集団と認定ことで可能となる。ここで、手の構造上、通常、親指の指先は他の指の指先の集団から離れて位置する。このことから、親指が浮いていた場合には、図12(a)のように、4つの指先位置点901から成る1つの集団が認定される可能性が高い。このことを利用して、4つの指先位置点901から成る1つの集団が認定される場合、擬似指先位置作成部22は、人差し指に対応する指先位置点901の左下方向に、親指に対応する擬似指先位置点903を設定する。このことによって、擬似指先位置作成部22は、当初から浮いていた親指に対応する擬似指先位置点903を設定できる。ここで、親指に対応する擬似指先位置点903と人差し指に対応する指先位置点901との距離は、例えば、人差し指に対応する指先位置点901と中指に対応する指先位置点901との距離の2倍にするとよい。
【0068】
図12(b)は、当初から浮いていた小指に対応する擬似指先位置点903が設定される場合を示す図である。擬似指先位置作成部22は、図12(b)の楕円に示すように、指先位置点901の集団を認定する。ここで、親指に対応する指先位置点901は、通常、人指し指に対応する指先位置点901から所定距離以上離れている。このことから、図12(b)に示すように、親指に対応する指先位置点901は、通常、指先位置点901の集団として認定されない。このことを利用して、3つの指先位置点901から成る1つの集団と1つの指先位置点とが認定される場合、擬似指先位置作成部22は、薬指に対応する指先位置点901の右下方向に、小指に対応する擬似指先位置点903を設定する。このことによって、擬似指先位置作成部22は、当初から浮いていた小指に対応する擬似指先位置点903を設定できる。ここで、小指に対応する擬似指先位置点903と薬指に対応する指先位置点901との距離は、例えば、薬指に対応する指先位置点901と中指に対応する指先位置点901との距離と等しくするとよい。
【産業上の利用可能性】
【0069】
本発明の入力装置は、ユーザが機器に対して命令を入力するための入力装置等に利用可能であり、特に、タッチパネルディスプレイの直感的な操作感を維持した操作感を実現したい場合等に有用である。
【図面の簡単な説明】
【0070】
【図1】本発明の一実施形態に係る入力装置100のハードウエア構成例を示す図
【図2】本発明の一実施形態に係る入力装置100の機能ブロックの一例を示す図
【図3】本発明の一実施形態に係る入力装置100の制御処理の一例を示すフローチャート
【図4】図3に示すフローチャートのステップS302で求められる指先位置点及び掌位置点を説明するための図
【図5】図3に示すフローチャートのステップS305の処理を説明するためのフローチャート
【図6】図3に示すフローチャートのステップS502の処理を説明するための図
【図7】図5に示すフローチャートのステップS505〜S507の処理を説明するための図
【図8】擬似指先位置点が存在する場合に、モデル形状作成部23が標準手モデルを変形する方法の一例について説明するための図
【図9】擬似指先位置点が存在する場合に、モデル形状作成部23が標準手モデルを変形する方法の別の一例について説明するための図
【図10】指先位置点(一部が擬似指先位置点であってもよい)及び掌位置点が同一平面上に存在するという拘束条件及び各指関節の曲り角度は等しいという拘束条件を用いて変形した手形状モデルの一例を示す図
【図11】標準手モデル及び作成された手形状モデルを側面から視た図
【図12】当初から浮いていた親指又は小指に対応する擬似指先位置点903が設定される場合を示す図
【符号の説明】
【0071】
1 接触領域検知部
2 演算部
11 I/O
12 HDD
13 ROM
14 CPU
15 RAM
16 バス線
17 画像プロセッサ
18 VRAM
21 位置座標データ作成部
22 擬似指先位置作成部
23 モデル形状作成部
24 手形状モデル保持部
25 GUIパーツ保持部
26 重畳画像作成部
27 操作内容決定部
28 コマンド送信部
41〜45、601、603、701〜704、720、901、1001〜1004 指先位置点
46、604、730、903、1010 掌位置点
100 入力装置

【特許請求の範囲】
【請求項1】
操作面に置かれたユーザの手のCGモデルを表示部に表示させ、当該表示を利用して入力されるユーザの指示を機器に与える入力装置であって、
前記操作面を有し、当該操作面と前記手との接触領域を検知する接触領域検知部と、
前記接触領域に基づいて、前記操作面に現在接触している前記手の指先位置を示す複数の指先位置点を所定時間毎に作成する位置座標データ作成部と、
前記操作面に現在接触していない指先位置を示す擬似指先位置点を作成する擬似指先位置作成部と、
前記指先位置点と前記擬似指先位置点とに基づいて、前記手の形状を反映したCGモデルを作成するモデル形状作成部と、
前記機器に与える指示を割当てたGUIパーツを保持するGUIパーツ保持部と、
前記モデル形状作成部で作成された前記CGモデルと前記GUIパーツ保持部に保持されたGUIパーツとを重畳した画像を作成して前記表示部に表示させる重畳画像作成部と、
前記GUIパーツと前記CGモデルとの位置関係に基づいて、前記機器に与えるユーザの指示を決定する操作内容決定部とを備える、入力装置。
【請求項2】
前記位置座標データ作成部は、前記接触領域検知部が検知した接触領域に基づいて、更に、前記操作面に現在接触している前記手の掌位置を示す掌位置点を所定時間毎に作成し、
前記モデル形状作成部は、更に前記掌位置点に基づいて、前記手の形状を反映したCGモデルを作成することを特徴とする、請求項1に記載の入力装置。
【請求項3】
前記擬似指先位置作成部は、前記操作面に接触していた時点の指先位置を示す過去の指先位置点のうち直近の指先位置点を、前記擬似指先位置点とすることを特徴とする、請求項1に記載の入力装置。
【請求項4】
前記モデル形状作成部は、各前記指先位置点の動きベクトルを算出し、算出した動きベクトルを平均した平均動きベクトルに基づいて前記擬似指先位置点を移動させて、前記手の形状を反映した前記CGモデルを作成することを特徴とする、請求項3に記載の入力装置。
【請求項5】
前記擬似指先位置作成部は、前記擬似指先位置点を、互いの間隔が所定値を超える隣合う前記指先位置点の間に作成することを特徴とする、請求項1に記載の入力装置。
【請求項6】
前記モデル形状作成部は、前記擬似指先位置点の両隣に位置する指先位置点の中間に位置するように当該擬似指先位置点を移動させて、前記手の形状を反映した前記CGモデルを作成することを特徴とする、請求項5に記載の入力装置。
【請求項7】
操作面に置かれたユーザの手のCGモデルを表示部に表示させ、当該表示を利用して入力されるユーザの指示を機器に与える入力方法であって、
前記操作面と前記手との接触領域を検知する接触領域検知ステップと、
前記接触領域に基づいて、前記操作面に現在接触している前記手の指先位置を示す複数の指先位置点を所定時間毎に作成する位置座標データ作成ステップと、
前記操作面に現在接触していない指先位置を示す擬似指先位置点を作成する擬似指先位置作成ステップと、
前記指先位置点と前記擬似指先位置点とに基づいて、前記手の形状を反映したCGモデルを作成するモデル形状作成ステップと、
前記モデル形状作成ステップで作成された前記CGモデルと前記機器に与える指示を割当てたGUIパーツとを重畳した画像を作成して前記表示部に表示させる重畳画像作成ステップと、
前記GUIパーツと前記CGモデルとの位置関係に基づいて、前記機器に与えるユーザの指示を決定する操作内容決定ステップとを備える、入力方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−49642(P2010−49642A)
【公開日】平成22年3月4日(2010.3.4)
【国際特許分類】
【出願番号】特願2008−215520(P2008−215520)
【出願日】平成20年8月25日(2008.8.25)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】