説明

入力装置および入力方法

【課題】タッチパネルにおいて、各点が移動してY座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できる入力装置および入力方法を提供する。
【解決手段】タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力装置であって、操作面上の座標を互いに直交するX座標軸とY座標軸により表し、ユーザの手の長手方向に対応する方向をY座標軸とすると、X座標軸上で検出される座標数よりY座標軸上で検出される座標が少ない場合に、X座標軸上で検出される座標数をユーザの手の接触点数とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが機器に対して命令等を入力するための入力装置および入力方法に関し、より特定的には、ユーザがディスプレイ等に表示された情報に基づいて手等の身体部分を用いて、命令等を入力することのできる入力装置および入力方法に関する。
【背景技術】
【0002】
近年の情報機器端末の多機能化に伴って、ユーザがより使い易いユーザインターフェイスが求められている。使い易いユーザインターフェイスの一例として、タッチパネルディスプレイがある。タッチパネルディスプレイは、ディスプレイに表示されるGUI(Graphical User Interface)パーツを押す操作をすることによって、ユーザが命令等を情報機器端末等に入力する装置である。このことから、タッチパネルディスプレイは、初心者でも直感的に操作できるインターフェイスと言える。
【0003】
しかし、タッチパネルディスプレイにおいては、タッチを検知するデバイス(以下、操作部という)と表示部とが一体であるので、当該タッチパネルディスプレイがユーザの手元にないと操作できないという課題があった。
【0004】
この課題を解決するために、特許文献1の技術は、操作部と表示部とを分離し、操作部に置かれた操作者の手を検知し、コンピュータグラフィック(以下、CGという)の手形状モデル(以下、単に、手モデルという)を、表示部に表示されるGUIに重畳して表示する。このことによって、ユーザは、表示部から離れている場合でも、タッチパネルディスプレイの直感的な操作感を維持した操作を行うことができる。
【特許文献1】特開2006−72854号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記した従来の技術は、複数の指の接触座標を検知するタッチパネルの種類によっては、初期段階で取得した接触座標と、操作中に移動した接触座標の座標同士の対応関係がとれなくなる場合が存在する。
【0006】
例えば、タッチパネルの検知方式として、赤外線などの光を指で遮ることにより、座標を特定するという光学式が存在する。この光学式は、一般的にATMなどで多く用いられている。このような光学式で複数の指の接触を検知した場合、必ず接触した指の数より多くの座標の候補が抽出される。このときの例を図19に示す。
【0007】
図19は、タッチパネル上で、実際は点A(x1,y2)と点B(x2,y1)を接触しているにも関わらず、別の点C(x1,y1)と点D(x2,y2)が検出されるという例である。これは、X座標とY座標が独立して検知されるために、各座標の組み合わせの数だけ交点が抽出される。
【0008】
このような方式の場合、座標検知の際のサンプリングレートが十分(約20Hz以上)であれば、ユーザは意識的に同時に2点以上を接触させない限り時間差が生じるため、それぞれを区別して検知することができる。例えば、まず最初に点Aが接触し、次に点Bが接触されたとする。ここで、まず検知した座標(x1,y2)を点Aの座標として保存する。その後、次のタイミングでその他に新たに3点の座標である点B(x2,y1)、点C(x1,y1)、点D(x2,y2)が検知されるが、点Aの座標成分(x1,y2)を除いたものが新たにユーザの指の接触によって検知されるべき点と推定できる。それにより、(x2,y1)をユーザが接触した点Bの座標として保存する。このような処理を行うことで、簡易的に2点以上の座標が検知することができるようになる。
【0009】
しかしながら、図19のように初期段階で各点が検出できたとしても、各点が移動し、Y座標等が互いに重複した場合、その後の接触座標が正しく抽出できなくなる場合が存在する。この場合について、図20を用いて説明する。
【0010】
図20は、タッチパネルが検知した接触箇所(斜線部)と、実際に操作者がタッチパネルに接触した点(点Aと点B)の各状態と、そのときの各座標の抽出結果を表している。状態aでは、上記の方法により各点(点A、点B)の接触座標は検知できているものとする。次に、状態aから状態bに点が移動した場合、状態bでは、どちらの点のY座標が移動したかが分からなくなってしまうという課題が有った。
【0011】
本発明は、前記従来の課題を解決するもので、タッチパネルにおいて、各点が移動してY座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できる入力装置および入力方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
前記従来の課題を解決するために、本発明の第一の局面は入力装置に向けられている。本発明は、タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力装置であって、操作面上の座標を互いに直交するX座標軸とY座標軸により表し、ユーザの手の長手方向に対応する方向をY座標軸とすると、X座標軸上で検出される座標数よりY座標軸上で検出される座標が少ない場合に、X座標軸上で検出される座標数をユーザの手の接触点数とする。
【0013】
また、X座標軸上で検出される座標数よりY座標軸上で検出される座標数が1つ少ない場合に、Y座標軸上で新たな座標を検出すると、当該検出前後の検出位置のY座標の距離に基づいて、Y座標が重複していた2つの検出位置を特定し、当該検出前後の2つの検出位置のうちX座標の変化の大きい方の検出位置をユーザの手の接触位置として特定する。
【0014】
また、本発明の第二の局面は入力方法に向けられている。本発明は、タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力方法であって、操作面上の座標を互いに直交するX座標軸とY座標軸により表し、ユーザの手の長手方向に対応する方向をY座標軸とすると、X座標軸上で検出される座標数よりY座標軸上で検出される座標数が少ない場合に、X座標軸上で検出される座標数をユーザの手の接触点数とするステップを含む。
【0015】
また、X座標軸上で検出される座標数より前記Y座標軸上で検出される座標数が1つ少ない場合に、Y座標軸上で新たな座標を検出すると、当該検出前後の検出位置のY座標の距離に基づいて、Y座標が重複していた2つの検出位置を特定するステップと、当該検出前後の2つの検出位置のうちX座標の変化の大きい方の検出位置をユーザの手の接触位置として特定するステップをさらに含む。
【発明の効果】
【0016】
本発明の入力装置および入力方法によれば、タッチパネルにおいて、各点が移動してY座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できる。そのため、抽出した接触座標に基づいて手モデルを作成して表示部に表示する場合には、ユーザの手形状を手モデルに忠実に反映できる。この結果として、ユーザは、違和感を感じることなく操作を行うことができる。
【発明を実施するための最良の形態】
【0017】
図1は、本発明の実施形態に係る入力装置の動作の概要を説明するための図である。以下では、図1を用いて、入力装置の動作について簡単に説明する。
【0018】
図1に示す通り、入力装置は、接触座標検知部1と演算部2とを備える。接触座標検知部1は、当該接触座標検知部1の操作面上に置いたユーザ(以下、操作者という)の手が接触した領域を検出し、検出した接触領域の情報(以下、単に、接触領域情報という)を演算部2に出力する。接触座標検知部1は、例えば、多点で接触を検知するタッチパネルである。なお、接触座標検知部1は、複数点の接触を検知できればよく、光学式、静電容量方式、感圧方式、抵抗膜方式等を用いる一般的なデバイスでよい。
【0019】
演算部2は、接触座標検知部1が検知した接触座標を用いて表示データを作成して表示部3に出力する。具体的には、演算部2は、接触座標を用いてCGの手モデルを作成し、当該手モデルをGUIに重畳した表示データを作成して表示部3に出力する。また、演算部2は、作成した手モデルとGUIパーツとの位置関係を用いて操作者が意図するコマンドを決定し、決定したコマンドを情報端末機器等である操作対象機器4に出力する。なお、演算部2は、一般的なパーソナルコンピュータ(以下、PCという)でもよいし、専用のグラフィックIC等を組み込んだ汎用性のない専用機でもよい。また、演算部2は、接触座標検知部1から入力される信号を受信するインターフェイスと、CPU、ROM、RAMと、各モジュール間を結ぶバスと、計算結果を映像として出力するインターフェイスとを含む。
【0020】
表示部3は、演算部2から入力された表示データを用いて表示を行う。表示部3は、例えば、液晶ディスプレイやCRT等のディスプレイである。操作対象機器4は、演算部2から入力されたコマンドを実行する。
【0021】
以上の構成によって、操作者は、表示部3に表示されたGUIパーツ上に重畳された手モデルを目視しながら、接触座標検知部1の操作面上の手を動かして手モデルを操作することによって、操作対象機器4を操作することができる。
【0022】
なお、本実施の形態において、接触座標検知部1の設置位置の例として、車への設置位置として図2のような形態を想定している。図2(a)は車両のセンターコンソールに取り付けられた場合の一例を示す図である。図2(b)は、接触座標検知部1が車両のハンドルに取り付けられた場合の一例を示す図である。図2(c)は、接触座標検知部1が、車両のドアの操作部に取り付けられた場合の一例を示す図である。図2(a)に示すような車両の位置に、接触座標検知部1を取り付けることで、ドライバである操作者は接触座標検知部1に対して左手を矢印の方向に置くことは予め分る。
【0023】
ここで、手の方向とは、後述する図6(a)を用いて説明すると、手の付け根を示す付け根点から中指の指先位置点に向う方向(手の長手方向)を意味する。図6(a)に示すように接触座標検知部1の操作面上の座標を互いに直交するX座標軸とY座標軸により表すと、ユーザの手の長手方向に対応する方向はY座標軸の方向となる。
【0024】
また、図2(b)に示すような車両の位置に、取り付けることで、ドライバである操作者は接触座標検知部1に対して左手または右手を矢印の方向に置くことは予め分る。また、図2(c)に示すような車両位置に、取り付けることで、ドライバである操作者は接触座標検知部1に対して右手を矢印の方向に置くことは予め分る。
【0025】
以下では、入力装置の構成および動作について詳しく説明する。図3は、入力装置100の機能ブロックを示す図である。図3に示すように、入力装置100は、接触座標検知部1と演算部2とを備える。演算部2は、接触座標算出部201と、関連ID作成部202と、移動量算出部203と、指曲り角度算出部204と、モデル形状決定部205と、座標履歴格納部206と、モデル保持部207と、GUIパーツ保持部208と、重畳画像作成部209と、衝突判定部210と、コマンド送信部211とを含む。
【0026】
図4は、入力装置の動作を説明するためのフローチャートである。操作者等によってスタートスイッチがオンにされると、入力装置は動作を開始する。
【0027】
まず、ステップS101において、接触座標検知部1は、当該接触座標検知部1の操作面上に操作者の手が置かれているか否かを判定する。操作者の手が置かれていない場合、接触座標検知部1は、処理待ち状態となり、操作者の手が置かれると、ステップS102に移る。なお、ステップS101における判定は、接触が検知されたか否かによって行うことができる。
【0028】
次に、ステップS102において、接触座標算出部201は、当該接触座標検知部1が出力する互いに直交した2軸(X、Y座標)のそれぞれ独立した値を用いて、接触している操作者の4つの指先の位置を示す座標値(以下、指先位置点という)を算出する。なお、座標の算出方法は、後に詳細に説明する。
【0029】
次に、ステップS103において、関連ID作成部202は、接触座標算出部1によって算出された座標値に対してそれぞれIDを付与し、座標履歴格納部206に格納する。なお、IDの付与方法は、後に詳細に説明する。
【0030】
次に、ステップS104において、移動量算出部203は、4つの指先位置点を取得済みかを判定し、取得するとステップS105に移る。取得していない場合は、ステップS102に戻る。
【0031】
次に、ステップS105において、移動量算出部203は、操作者が手を開いた状態(指を伸ばした状態)の指先位置点である初期位置点が取得済みか否かを判定する。初期位置点が取得済みの場合は、ステップS107に移る。初期位置点が取得済みでない場合は、ステップS106に移る。ここで、初期位置点が取得済みか否かの判定は、入力装置が今回起動した後に初期位置点を取得したか否かを判定するものである。
【0032】
ステップS106において、移動量算出部203は、操作者に接触座標検知部1に置いた手を開くように促すメッセージを通知して初期位置点を取得する。このメッセージは、例えば、表示部3に表示されて操作者に通知される。その後、移動量算出部203は、取得した初期位置点を用いて操作者が手を開いた状態の手モデル(以下、初期手モデルという)を作成する。ステップS106で取得された初期位置点および初期手モデルのデータは、モデル保持部207に保存される。その後、ステップS102に戻る。つまり、入力装置100は、起動後最初に操作者が手を接触座標検知部1に置いた時点で、初期位置点および初期手モデルを取得する。初期位置点および初期手モデルの取得方法は、後に詳細に説明する。
【0033】
なお、操作者が交代した場合や、操作者の左右の手が入れ替わった場合には、既に取得済みの初期位置点および初期手モデルを破棄し、ステップS106の動作を再度行うことで初期位置点および初期手モデルを更新してもよい。また、初期位置点および初期手モデルを起動毎に取得せず、操作者の指示に応答してステップS106の動作を行うことによって、初期位置点および初期手モデルを新たに取得してもよい。また、ステップS101において接触座標検知部1が所定期間手の接触を検知しない場合には、既に取得済みの初期位置点および初期手モデルを破棄し、ステップS106の動作を再度行って新たな初期位置点および初期手モデルを取得してもよい。
【0034】
ステップS107において、移動量算出部203は、指先位置点の初期位置点からの移動量を算出する。
【0035】
次に、ステップS108において、指曲り角度算出部204は、ステップS107で取得した指先位置点の初期位置点からの移動量に基づいて、手モデルの指の曲り角度を決定する。この指曲り角度を決定する方法については、後に詳細に説明する。
【0036】
次に、ステップS109において、モデル形状決定部205は、S108で決定された手モデルの各指関節の曲り角度を用いて、モデル保持部207に保持された手モデルを読出して変形を反映させる。ここで、モデル保持部207に初期手モデルが保持されている場合には、当該初期手モデルを読出して変形を反映させる。
【0037】
なお、モデル保持部207に保持される手モデルは、一般的な骨格(以下、ボーン構造という)を持つCG(Computer Graphics)モデルであることが好ましい。モデル保持部207が保持する手モデルの一例を図5に示す。図5に示す手モデルは、複数のポリゴンとボーン構造を示すラインとから構成される。また、手モデルをモデル保持部207に保持するファイル形式は、一般的な形式でよい。一例として、ポリゴンの頂点座標を格納したファイル形式が挙げられる。また、手モデルは、併せてテクスチャ情報も保持し、手モデルの現実感を増幅させてもよい。
【0038】
次に、ステップS110において、重畳画像作成部209は、GUIパーツ保持部208が予め保持しているGUIパーツを読み出し、読出したGUIパーツを配置した操作画像を作成する。ここで、GUIパーツとは、表示部3に表示される制御命令を割り当てたボタン等である。なお、GUIパーツおよびその配置方法は、一般的なものでよい。その後、重畳画像作成部209は、ステップS109で変形を反映された手モデルと、GUIパーツが配置された操作画像とを重畳して重畳画像を作成し、当該重畳画像を表示部に表示する。
【0039】
次に、ステップS111において、衝突判定部210は、GUIパーツと手モデルの指先位置点との衝突の有無を判定する。この衝突判定の詳細は、後述する。衝突がないと判定されている場合は、ステップS101〜S111の処理が繰り返されて、操作者の手の動きに応じて重畳画像内の手モデルが変形する。衝突が有ると判定されると、衝突判定部210は、衝突が有ったGUIパーツに割当てられたコマンドをコマンド送信部211に通知し、ステップS112に移る。
【0040】
ステップS112において、コマンド送信部211は、通知されたコマンドを操作対象機器4に送信し、ステップS101に戻る。操作対象機器4は、送信されたコマンドを受信して実行する。以上の処理が繰り返されることによって、入力装置100は、コマンドの送信を繰り返して操作対象機器4を操作する。なお、操作者等によってスタートスイッチがオフにされると処理は終了する。
【0041】
以上に説明した動作によって、操作者は、表示部に表示された重畳画像を目視しながら手を動かすことによって、重畳画像内の手モデルを操作できる。そして、操作者は、手モデルを操作して指先の位置をGUIパーツに重ね合わせることによって、操作対象機器4を操作できることとなる。
【0042】
以下では、図4を用いて説明した各ステップについて、詳細に説明する。
【0043】
図6は、図4のステップS101における接触座標検知部1の動作について説明するための図である。図6(a)は、接触座標検知部1の操作面に操作者の手が置かれた状態の一例を示す。図6(b)は、接触座標検知部1が検知した互いに直交し、それぞれ独立に反応した座標(XY座標)を斜線で表した図である。接触座標検知部1は、図6(b)のように反応した座標を、X座標とY座標にして接触座標算出部201に出力する。
【0044】
本実施形態では、図6のように操作者の指先位置点を検出する接触座標検知部1を想定している。これは、光学式や静電容量式などのタッチパネルやタッチスクリーンで数多く普及している。この光学式の原理を図6(c)の模式図を用いて説明する。
【0045】
図6(c)に示すように、光学式のタッチパネルは、操作面に水平、かつX座標軸と垂直な方向に光を発する多数のX発光部と、当該多数のX発光部が発した光を受光する多数のX受光部を備えている。多数のX発光部は多数のLEDの列や、1つのLEDから発光された光を分岐した光ファイバー列等で構成することができる。また、多数のX受光部は多数のX発光部に対向する位置に設置されており、多数のフォトダイオードの列により構成することができる。。光学式のタッチパネルは、同様に、操作面に水平、かつ(X座標軸と直交する)Y座標軸と垂直な方向に光を発する多数のY発光部と、当該多数のY発光部が発した光を受光する多数のY受光部とを備えている。
【0046】
この操作面上に操作者の指が、接触(または接近)することで、X発光部、Y発光部から発光している光を遮蔽すると、X受光部、Y受光部が影を検知する。この影は、X座標とY座標の両方に出現するため、操作者が接触した座標を特定することができる。ここで、指の接触により検出されるのは、図6(a)、(b)に示した様にある幅を持った領域としてである。その各領域は、幾つかのX受光部、Y受光部により検出される点群であって、接触座標検知部1はその点群から検出座標を出力する。検出座標としては、例えば点群で表される領域の重心の座標とすることができる。
【0047】
しかし、このような方式の場合、2点以上の箇所を接触すると、接触していない箇所も接触座標の候補として検知することになる。このときの指先位置点が示す座標の特定方法については、図7を用いたステップS102とステップS103の詳細説明にて併せて説明する。
【0048】
図7は、図4のステップS102とステップS103を詳細に説明するためのフローチャートである。図8、図9、図10、図11は図7の各処理の詳細に説明するための図である。
【0049】
まず、ステップS123−1において、接触座標算出部201は、接触座標検知部1が検知したX座標とY座標をそれぞれ取得する。
【0050】
次に、ステップS123−2において、接触座標算出部201は、座標履歴格納部206に格納されている前回の座標値を読み出す。そして、ステップS123−3において、接触座標算出部201は、ステップS123−2で読み出した前回の座標値と、今回接触座標検知部1から取得した座標値とを比較し、新たにX座標が検知、消失したか、または変化がなかったかを判定する。
【0051】
ここで、図8(c)を用いて座標履歴格納部206について説明する。グループ名とは、同じタイミングで取得された各接触情報をグループ化したものであり、関連ID作成部202は、同じタイミングで取得された各接触情報に同様の名前、もしくは番号を付与し、グループ化する。座標値とは、関連ID作成部202によって算出された指先位置点の座標値を表している。また、IDとは、座標値が操作面上で連続に移動した際に同様の点であることを示すためにタグ付けした番号のことであり、新規に座標値が出現した際には、異なるIDが関連ID作成部202によって付与され、座標履歴格納部206に格納される。
【0052】
次に、ステップS123−3において、接触座標算出部201が、新たにX座標を検知した場合、ステップS123−4に処理を移行する。ステップS123−4において、接触座標算出部201は新規に出現したX座標、Y座標を接触座標とする。この場合について、図8を用いて説明する。
【0053】
前回接触座標検知部1に検知された状態を図8(a)、この時に座標履歴格納部206に格納されている座標などの各情報を図8(c)に示す。また、今回接触座標検知部1に検知された状態を図8(b)に示す。
【0054】
図8(b)のような場合、接触座標検知部1が検知したX座標はx1,x2、Y座標はy1,y2となる。この場合、4通りの座標(x1,y1)、(x1,y2)、(x2,y1)、(x2,y2)が指先位置点の座標の候補として考えられる。ここで、座標履歴格納部206を参照し、前回の座標値(x1,y1)以外の座標を、今回取得した座標とする。つまり、本例においては、接触座標算出部201は、(x2,y2)を指先位置点の座標値とする。
【0055】
なお、接触座標検知部1のサンプリングレートが十分(約20Hz程度以上)であれば、操作者は意識的に同時に2点以上の指を接触させない限り時間差が生じるため、それぞれを区別して検知することができ、各指先位置点の座標値を算出することが可能になる。
【0056】
次に、ステップS123−5において、関連ID作成部202は、今回算出した座標値に新規のIDを付与し、更に、その他の座標値と同様のグループ名を付与して座標履歴格納部206に格納する。図8(d)に、図8(b)における座標履歴格納部206に格納した各情報を示す。
【0057】
次に、ステップS123−3において、接触座標算出部201が、X座標が消失を検出した場合について説明する。この場合は、ステップS123−6に処理を移行する。
【0058】
ステップS123−6において、接触座標算出部201は、消失したX座標に対応するY座標を抽出する。この場合について、図9を用いて説明する。
【0059】
前回接触座標検知部1に検知された状態を図9(a)、この時に座標履歴格納部206に格納されている座標などの各情報を図9(c)、また、今回接触座標検知部1に検知された状態を図9(b)に示す。
【0060】
図9(a)から図9(b)に変化した際に、図9(b)ではX座標のx4が消失している。このときに、接触座標算出部201は、座標履歴格納部206に格納されているx4に関連しているIDを抽出する。本例の場合は、図9(c)の座標履歴格納部206を参照して、ID:4を抽出する。
【0061】
次に、ステップS123−7において、関連ID作成部202は、抽出したIDに対応する情報を除き(削除し)、その他の座標値、グループ名、IDを更新して、座標履歴格納部206に格納する。図9(d)に、図9(b)における座標履歴格納部206に格納した各情報を示す。
なお、各IDと座標値の関連方法については、前回と今回の座標値間の距離を算出して、前回の座標値と最も距離が短くなった座標値に対して、前回のIDを継承することとするが、その他の方法を用いても構わない。
【0062】
次に、ステップS123−3において、接触座標算出部201が、X座標の出現、及び消失を検出しなかった(変化が無かった)場合について説明する。この場合は、ステップS123−8に処理を移行する。
【0063】
ステップS123−8において、接触座標算出部201は、さらに新規にY座標が出現したかを判定する。このときに、新規にY座標が出現した場合、ステップS123−9に処理を移行し、しなかった場合は、ステップS123−14に処理を移行する。まず、新規にY座標が出現しなかった場合について、図10を用いて説明する。
【0064】
例えば、前回接触座標検知部1に検知された状態を図10(a)、この時に座標履歴格納部206に格納されている座標などの各情報を図10(c)、また、今回接触座標検知部1に検知された状態を図10(b)とした場合、X座標の数は変わらないが、Y座標の数が減っていることになる。
【0065】
このような場合、ステップS123−14において、接触座標算出部201は、前回の座標値と今回接触座標検知部1が検知した全座標候補の各距離を算出する。この全座標候補とは、図10(b)の場合は、検知した全X座標(x1’,x2’,x3’,x4’)と全Y座標(y2’,y3’,y4’)の全ての交点(12通り)のことを表している。この全ての交点と、図10(c)に示す前回の座標値((x1,y1)、(x2,y2)、(x3,y3)、(x4,y4))との距離を算出する。この算出結果の例を図10(e)に示す。
【0066】
次に、ステップS123−15において、接触座標算出部201は、今回取得したX座標の座標数をカウントする。本例の場合は、取得したX座標はx1’、x2’、x3’、x4’となるため、4つになる。ここで、X座標軸上で検出される座標数をカウントして指先位置点数としているのは、図2の様に接触座標検知部1が設置されて予め手が置かれる方向が分っており、手の長手方向に対応する方向をY座標軸の方向としているため、Y座標は指先位置が近接しているために重なりやすいが、X座標値は手の指の並びから重なることはないためである。
【0067】
次に、ステップS123−16において、接触座標算出部201は、前回と今回の座標同士、最も座標間の距離が短くなる座標を上記カウント数だけ抽出する。図10の例の場合、4つの座標を抽出することとなり、前回の座標からの距離が最も短くなる座標は、図10(e)の算出結果から、(x1,y1)に対しては(x1’,y3’)、(x2,y2)に対しては(x2’,y2’)、(x3,y3)に対しては(x3’,y3’)、(x4,y4)に対しては(x4’,y4’)を抽出する。
【0068】
次に、ステップS123−17において、関連ID作成部202は、前回の座標のIDをペアとなった座標値に継承し、グループ名を付与して座標履歴格納部206に格納する。つまり、図10の例の場合は、座標履歴格納部206に格納する各情報は、図10(d)に示す結果となる。
【0069】
次に、ステップS123−8において、接触座標算出部201が、新規にY座標が出現したと判定した場合について、図11を用いて説明する。
【0070】
例えば、前回接触座標検知部1に検知された状態を図11(a)、この時に座標履歴格納部206に格納されている座標などの各情報を図11(c)、また、今回接触座標検知部1に検知された状態を図11(b)とした場合、X座標の数は変わらないが、Y座標の数が増え、新規にY座標が出現したことになる。
【0071】
このような場合、ステップS123−9において、接触座標算出部201は、今回出現したY座標と前回取得した座標値のY座標間の距離を算出する。つまり、図11の例の場合は、図11(a)と図11(b)の差分から、新規に出現したY座標はy1’’であり、前回取得した座標のY座標は図11(c)から、y2’、y3’、y4’となる。このY座標の距離を算出結果の例を図11(e)に示す。なお、新規に出現したY座標の特定方法としては、前回取得した各Y座標と、今回取得した各Y座標同士の距離を算出し、前回取得したY座標を基準に最も距離が短くなるY座標を短い順に確定していく。そして、図11の例の場合は、前回のY座標の座標数が3であり、今回取得したY座標の座標数が4つであるため、最後に1つY座標があまることとなる。このY座標を新規に出現したY座標としている。
【0072】
次に、ステップS123−10において、接触座標算出部201は、前回取得した座標値の中で、最も距離が短くなるY座標に対応するX座標を、座標履歴格納部206を参照して抽出する。図11の例の場合は、図11(e)の各Y座標間の距離の算出結果より、y1’’と最も距離が短くなる前回のY座標はy3’であるため、図11(c)の座標履歴格納部206を参照し、y3’に対応するX座標としてID:1のx1’とID:3のx3’の2つを抽出する。
【0073】
次に、ステップS123−11とステップS123−12において、接触座標算出部201は、抽出したX座標の前回の移動量を算出し、最も移動量の大きいX座標を新規に出現したY座標に対応する接触座標として抽出する。これは、図2に示すような設置位置に接触座標検知部1を設置することによって、接触座標検知部1に対して操作者の手が置かれる方向が予め分かっていることを前提としている。つまり、操作者が指をY軸方向に移動させた際に、手首を支点として指を動かすため、Y軸方向の移動のみならずX軸方向にも移動することに着目している。図11の例の場合、X座標の移動量の算出結果の例として図11(f)のようになった場合、ステップS123−9にて抽出したy1’’に対応するX座標はx1’’となる。それにより、接触座標算出部201は、(x1’’,y1’’)を接触座標として抽出する。
【0074】
次に、ステップS123−13において、関連ID作成部202は、ステップS123−12で抽出したX座標に対応するIDを抽出した座標値に継承し、グループ名を付与して座標履歴格納部206に格納する。図11の例の場合は、x1’に対応するIDを図11(c)の座標履歴格納部206を参照して(x1’’,y1’’)に付与し、グループ名を付与して座標履歴格納部206に格納する。なお、その他の座標については、ステップS123−14からステップS123−17と同様の処理を行い、IDとグループ名を付与して座標履歴格納部206に格納する(図7には図示せず)。
【0075】
このような処理を行うことによって、従来、接触座標検知部1がXY座標を独立で検知するような場合であっても、操作者の指先位置点に正確に追従した座標値を一位に特定することができ、さらには、後述する方法にて、操作者が指を曲げて操作した場合であっても、操作者の手形状を手モデルに忠実に反映できる。
【0076】
図12は、図4のステップS106の処理を詳しく説明するためのフローチャートである。まず、ステップS106−1において、移動量算出部203は、操作者に接触座標検知部1の操作面上の手を開くように促すメッセージを通知して4つの初期位置点を取得する。
【0077】
次に、ステップS106−2において、移動量算出部203は、ステップS106−1で取得した初期位置点(指先位置点)と、モデル保持部207が当初から保持しているひな形であるひな形手モデルの対応する指先位置点とが重なるように、当該ひな形手モデルを変形して初期手モデルを作成する。ここで、4つの初期位置点は、それぞれ小指、薬指、中指、人差し指に対応する。操作者の操作が左手に限定される場合には、左手のひな形手モデルを使用して、左から小指、薬指、中指、人差し指の順番に初期位置点とが重なるように、当該ひな形手モデルを変形して初期手モデルを作成する。
【0078】
ここで、初期手モデルを作成する際には、接触座標検知部1に対して操作者がどの方向に手を置いているかを知る必要がある。逆方向に手を置いた場合には、同じ4つの初期位置点であっても、初期手モデルが反対向きに作成されてしまう。そのため、接触座標検知部に対して操作者がどの方向から手を置いているかは、予め分っているものとする(図2を参照)。
【0079】
その後、移動量算出部203は、作成した初期手モデルを、表示部3に表示する。この処理によって、移動量算出部203は、操作者の手の大きさを反映した初期手モデルを作成し、表示部3に表示できる。
【0080】
次に、ステップS106−3において、移動量算出部203は、ステップS106−1で取得した初期位置点の位置と、ステップS106−2で作成した初期手モデルとをモデル保持部207に保存し、ステップS102に戻る(図4を参照)。
【0081】
次に、図4のステップS108について詳細に説明する。ステップS108において、指曲り角度決定部204は、手モデルの付け根点と各指先位置点の座標値との距離を算出し、各指の各関節の曲がり角度を決定する。ここで、手モデルの付け根点は、手モデルの下部、中央の掌側の点であり、手モデルの基準位置となる。図13は、手モデル1301の付け根点1302から各指先位置点1311〜1314までの距離R1〜R4を示す図である。操作者は、手全体は移動させずに指を曲げたもしくは伸ばしたため、手モデルの付け根点1302は移動していない。図13に示すR1〜R4の長さの変化量は、それぞれ、指曲げにより生じる移動量である。
【0082】
この各指の指曲げによる指先位置点の移動量を用いて、指曲り角度算出部204は、各指の各関節の曲り角度を決定する。ここで、指先の変位から指関節の曲り角度を求める方法として、ロボット工学分野等で周知であるインバースキネマティクス(以下、IKという)技術がある。IK技術は、複数の可動部を持つアームの先端を目的位置に移動させるために用いられる。そして、アームが複数の可動部を持つ場合、IK技術を用いて目的位置にアームの先端を移動させるためには、可動部の曲り角度には複数の解が存在する。
【0083】
本発明においても、指には複数の関節があるので、指関節の曲り角度には複数の解が存在する。このため、本発明では、一例として、操作者の掌および指先は操作面上(同一平面上)に存在するという拘束条件と、各指関節の曲り角度は等しいという拘束条件とを用いて、解を一意に求める。
【0084】
図14(a)は、一例として、人差し指を曲げた場合の指先位置点の変位を示している。図14(b)は、図14(a)に示す曲げた状態の人差し指1400の手モデルを側面から見た図である。図14から分るように、通常、指を曲げると3つの指関節は同時に曲がるので、各指関節の曲り角度1401〜1403は等しいという拘束条件を用いて手モデルを変形すると、操作者は違和感無く操作を行うことができる。また、この様な拘束条件を用いて手モデルを変形すると、演算量が大幅に低減できるので、操作者の手の動きに瞬時に応答する手モデルの変形が可能である。
【0085】
なお、指関節の曲り角度を算出するための拘束条件は、これには限定されず、解を一意に求めらる拘束条件であればよい。しかし、上記したように、指関節の曲り角度を算出するための拘束条件は、操作者が違和感を感じない手モデルとなる拘束条件が好ましく、操作者の操作行為が自然に行える手モデルとなる拘束条件が好ましい。また、IK技術において目的位置からアーム可動部の曲り角度を求める方法として、ヤコビ行列を用いて繰り返し計算を行う方法や幾何学的に算出する方法等が知られているが、本発明においてはいずれを用いてもよい。
【0086】
以上に説明した図4のステップS108の処理を行い、指曲り角度算出部204は各指関節の曲り角度を算出する。そして、指曲り角度算出部204は、算出した手モデルの各指先位置点の各指関節の曲り角度をモデル保持部207に保存する。
【0087】
図15は、図4のステップS109における手モデルの変形の具体例を示す図である。図15(a)は、初期位置点(操作者が手を開いた状態の指先位置点)を示す。図15(b)は、図15(a)に示す初期位置点を用いて描画された初期手モデルである。図15(c)は、一例として、操作者が人差し指を曲げた場合の指先位置点を示す。図15(d)は、図15(c)に示す指先位置点を用いて変形された手モデルである。図16(a)、(b)はそれぞれ、図15(b)および(d)に示した手モデルを側面から見た図である。図15および図16に示すように、図4のステップS109において、手モデルは、操作者の手の変形に応じてリアルに変形する。
【0088】
図17は、図4のステップS110の処理を説明するための図である。図17に示す通り、ステップS110において、重畳画像作成部209は、GUIパーツ1701を配置した操作画像1700と、変形された手モデル1710とを重畳して、重畳画像1720を作成し、表示部3に表示する。なお、重畳画像1720を作成する際、手モデル1710と重なるGUIパーツ1701を視認し易くするために、手モデル1710を半透過等にしてもよい。
【0089】
図18は、図4のステップS111の処理について説明するための図である。衝突判定部210は、重畳画像においてGUIパーツ1801〜1804と手モデル1810の指先位置点とが重なった場合には、当該GUIパーツと手モデル1810の指先位置点とが衝突したと判定する。図18の場合には、衝突判定部210は、矢印1820で示す衝突が判定されたGUIパーツ1802に割当てられたコマンドをコマンド送信部211に通知する。
【0090】
その後、ステップS112でコマンドが操作対象機器4に送信される。操作対象機器4は、受信したコマンドを実行する。
【0091】
以上に説明したように、本発明に係る入力装置によれば、タッチパネルにおいて、各点が移動してY座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できる。そのため、抽出した接触座標に基づいて手モデルを作成して表示部に表示する場合には、ユーザの手形状を手モデルに忠実に反映できる。この結果として、ユーザは、違和感を感じることなく操作を行うことができる。
【0092】
なお、本実施形態の図4のステップS104においては、4つの指先位置点を取得することとしたが、4つに限られることはない。右手か左手かが分っており、接触する指が特定できる場合には(例えば、人差し指で接触)、接触座標検知部1に対して手を置いている方向が分っていれば手モデルの位置を決定できるため、1〜3つの指先位置点を取得することにしてもよい。
【0093】
また、本実施形態においては指先位置点を一意に特定した後、手モデルを作成して表示部に表示する様にしたが、手モデルを作成・表示しない入力装置においても本発明は適応できる。例えば、各指に操作対象機器を操作するための命令が予め割り当てられており、操作者がそれら割り当てられている命令を覚えて操作する入力装置においては、手モデルを表示部に表示する必要はなく、入力装置が何指で操作されたかを一意に特定できていればよい。
【産業上の利用可能性】
【0094】
本発明の入力装置および入力方法によれば、タッチパネルにおいて、各点が移動してY座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できるという効果を有し、カーナビゲーション装置等の各種機器を操作するための入力装置等として有用である。
【図面の簡単な説明】
【0095】
【図1】本発明の実施形態に係る入力装置100の動作の概要を説明するための図
【図2】接触座標検知部1の車への設置位置の例を示す図で、(a)車両のセンターコンソールに取り付けられた場合の一例を示す図、(b)車両のハンドルに取り付けられた場合の一例を示す図、(c)車両のドアの操作部に取り付けられた場合の一例を示す図
【図3】本発明の実施形態に係る入力装置100の機能ブロック図
【図4】本発明の実施形態に係る入力装置100の動作を説明するためのフローチャート
【図5】モデル保持部207が保持する手モデルの一例を示す図
【図6】図4のステップS101における接触座標検知部1の動作について説明するための図で、(a)接触座標検知部1の操作面に操作者の手が置かれた状態の一例を示す図、(b)接触座標検知部1が検知した指先位置点を示す図、(c)光学式の接触座標検知部1の動作原理を説明するための模式図
【図7】図4のステップS102、S103の処理を詳細に説明するためのフローチャート
【図8】図7のステップS123−4、S123−5の処理を説明するための図で、(a)前回接触座標検知部1に検知された状態を示す図、(b)今回接触座標検知部1に検知された状態を示す図、(c)前回の検知状態において座標履歴格納部206に格納されている各情報を示す図、(d)今回の検知状態において座標履歴格納部206に格納される各情報を示す図
【図9】図7のステップS123−6、S123−7の処理を説明するための図で、(a)前回接触座標検知部1に検知された状態を示す図、(b)今回接触座標検知部1に検知された状態を示す図、(c)前回の検知状態において座標履歴格納部206に格納されている各情報を示す図、(d)今回の検知状態において座標履歴格納部206に格納される各情報を示す図
【図10】図7のステップS123−14〜S123−17の処理を説明するための図で、(a)前回接触座標検知部1に検知された状態を示す図、(b)今回接触座標検知部1に検知された状態を示す図、(c)前回の検知状態において座標履歴格納部206に格納されている各情報を示す図、(d)今回の検知状態において座標履歴格納部206に格納される各情報を示す図、(e)前回の座標値と今回検知した全座標候補の各距離の算出結果の一例を示す図
【図11】図7のステップS123−9〜S123−13の処理を説明するための図で、(a)前回接触座標検知部1に検知された状態を示す図、(b)今回接触座標検知部1に検知された状態を示す図、(c)前回の検知状態において座標履歴格納部206に格納されている各情報を示す図、(d)今回の検知状態において座標履歴格納部206に格納される各情報を示す図、(e)今回新規に出現したY座標と前回取得したY座標間の距離の算出結果の一例を示す図、(f)抽出したX座標における前回と今回のX座標間の移動量の算出結果の一例を示す図
【図12】図4のステップS106の処理を詳細に説明するためのフローチャート
【図13】手モデル1301の付け根点1302から各指先位置点1311〜1314までの距離R1〜R4を示す図
【図14】図4のステップS108において、手モデルの指曲り角度を算出する方法を説明するための図で、(a)人差し指1400を曲げた場合の指先位置点の変位を示す図、(b)曲げた状態の人差し指1400の手モデルを側面から見た図
【図15】図4のステップS109における手モデルの変形の具体例を示す図で、(a)初期位置点を示す図、(b)初期位置点を用いて描画された初期手モデルを示す図、(c)操作者が人差し指を曲げた場合の指先位置点を示す図、(d)人差し指を曲げた時の指先位置点を用いて変形された手モデルを示す図
【図16】図15に示した手モデルを側面から見た図で、(a)図15bに示した手モデルを側面から見た図、(b)図15dに示した手モデルを側面から見た図
【図17】図4のステップS110の処理を説明するための図
【図18】図4のステップS111の処理を説明するための図
【図19】光学式のタッチパネルにおいて検知される座標の候補を説明する図
【図20】光学式のタッチパネルにおいて接触座標を特定できない場合の一例を説明するための図
【符号の説明】
【0096】
1 接触座標検知部
2 演算部
3 表示部
4 操作対象機器
100 入力装置
201 接触座標算出部
202 関連ID作成部
203 移動量算出部
204 指曲り角度算出部
205 モデル形状決定部
206 座標履歴格納部
207 モデル保持部
208 GUIパーツ保持部
209 重畳画像作成部
210 衝突判定部
211 コマンド送信部
1701、1801〜1804 GUIパーツ
1710、1810 手モデル
1720 重畳画像

【特許請求の範囲】
【請求項1】
タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力装置であって、
前記操作面上の座標を互いに直交するX座標軸とY座標軸により表し、ユーザの手の長手方向に対応する方向をY座標軸とすると、X座標軸上で検出される座標数よりY座標軸上で検出される座標数が少ない場合に、X座標軸上で検出される座標数をユーザの手の接触点数とすることを特徴とする入力装置。
【請求項2】
前記X座標軸上で検出される座標数より前記Y座標軸上で検出される座標数が1つ少ない場合に、Y座標軸上で新たな座標を検出すると、当該検出前後の検出位置のY座標の距離に基づいて、Y座標が重複していた2つの検出位置を特定し、当該検出前後の前記2つの検出位置のうちX座標の変化の大きい方の検出位置をユーザの手の接触位置として特定することを特徴とする請求項1記載の入力装置。
【請求項3】
タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力方法であって、
前記操作面上の座標を互いに直交するX座標軸とY座標軸により表し、ユーザの手の長手方向に対応する方向をY座標軸とすると、X座標軸上で検出される座標数よりY座標軸上で検出される座標数が少ない場合に、X座標軸上で検出される座標数をユーザの手の接触点数とするステップを含むことを特徴とする入力方法。
【請求項4】
前記X座標軸上で検出される座標数より前記Y座標軸上で検出される座標数が1つ少ない場合に、Y座標軸上で新たな座標を検出すると、当該検出前後の検出位置のY座標の距離に基づいて、Y座標が重複していた2つの検出位置を特定するステップと、当該検出前後の前記2つの検出位置のうちX座標の変化の大きい方の検出位置をユーザの手の接触位置として特定するステップをさらに含むことを特徴とする請求項3記載の入力方法。

【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2010−182135(P2010−182135A)
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2009−25746(P2009−25746)
【出願日】平成21年2月6日(2009.2.6)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】