(57)【要約】【課題】タッチパネルにおいて、各点が移動してＹ座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できる入力装置および入力方法を提供する。【解決手段】タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力装置であって、操作面上の座標を互いに直交するＸ座標軸とＹ座標軸により表し、ユーザの手の長手方向に対応する方向をＹ座標軸とすると、Ｘ座標軸上で検出される座標数よりＹ座標軸上で検出される座標が少ない場合に、Ｘ座標軸上で検出される座標数をユーザの手の接触点数とする。【選択図】図７
2010182135.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力装置であって、
前記操作面上の座標を互いに直交するＸ座標軸とＹ座標軸により表し、ユーザの手の長手方向に対応する方向をＹ座標軸とすると、Ｘ座標軸上で検出される座標数よりＹ座標軸上で検出される座標数が少ない場合に、Ｘ座標軸上で検出される座標数をユーザの手の接触点数とすることを特徴とする入力装置。
【請求項２】
前記Ｘ座標軸上で検出される座標数より前記Ｙ座標軸上で検出される座標数が１つ少ない場合に、Ｙ座標軸上で新たな座標を検出すると、当該検出前後の検出位置のＹ座標の距離に基づいて、Ｙ座標が重複していた２つの検出位置を特定し、当該検出前後の前記２つの検出位置のうちＸ座標の変化の大きい方の検出位置をユーザの手の接触位置として特定することを特徴とする請求項１記載の入力装置。
【請求項３】
タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力方法であって、
前記操作面上の座標を互いに直交するＸ座標軸とＹ座標軸により表し、ユーザの手の長手方向に対応する方向をＹ座標軸とすると、Ｘ座標軸上で検出される座標数よりＹ座標軸上で検出される座標数が少ない場合に、Ｘ座標軸上で検出される座標数をユーザの手の接触点数とするステップを含むことを特徴とする入力方法。
【請求項４】
前記Ｘ座標軸上で検出される座標数より前記Ｙ座標軸上で検出される座標数が１つ少ない場合に、Ｙ座標軸上で新たな座標を検出すると、当該検出前後の検出位置のＹ座標の距離に基づいて、Ｙ座標が重複していた２つの検出位置を特定するステップと、当該検出前後の前記２つの検出位置のうちＸ座標の変化の大きい方の検出位置をユーザの手の接触位置として特定するステップをさらに含むことを特徴とする請求項３記載の入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが機器に対して命令等を入力するための入力装置および入力方法に関し、より特定的には、ユーザがディスプレイ等に表示された情報に基づいて手等の身体部分を用いて、命令等を入力することのできる入力装置および入力方法に関する。
【背景技術】
【０００２】
近年の情報機器端末の多機能化に伴って、ユーザがより使い易いユーザインターフェイスが求められている。使い易いユーザインターフェイスの一例として、タッチパネルディスプレイがある。タッチパネルディスプレイは、ディスプレイに表示されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）パーツを押す操作をすることによって、ユーザが命令等を情報機器端末等に入力する装置である。このことから、タッチパネルディスプレイは、初心者でも直感的に操作できるインターフェイスと言える。
【０００３】
しかし、タッチパネルディスプレイにおいては、タッチを検知するデバイス（以下、操作部という）と表示部とが一体であるので、当該タッチパネルディスプレイがユーザの手元にないと操作できないという課題があった。
【０００４】
この課題を解決するために、特許文献１の技術は、操作部と表示部とを分離し、操作部に置かれた操作者の手を検知し、コンピュータグラフィック（以下、ＣＧという）の手形状モデル（以下、単に、手モデルという）を、表示部に表示されるＧＵＩに重畳して表示する。このことによって、ユーザは、表示部から離れている場合でも、タッチパネルディスプレイの直感的な操作感を維持した操作を行うことができる。
【特許文献１】特開２００６−７２８５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来の技術は、複数の指の接触座標を検知するタッチパネルの種類によっては、初期段階で取得した接触座標と、操作中に移動した接触座標の座標同士の対応関係がとれなくなる場合が存在する。
【０００６】
例えば、タッチパネルの検知方式として、赤外線などの光を指で遮ることにより、座標を特定するという光学式が存在する。この光学式は、一般的にＡＴＭなどで多く用いられている。このような光学式で複数の指の接触を検知した場合、必ず接触した指の数より多くの座標の候補が抽出される。このときの例を図１９に示す。
【０００７】
図１９は、タッチパネル上で、実際は点Ａ（ｘ１，ｙ２）と点Ｂ（ｘ２，ｙ１）を接触しているにも関わらず、別の点Ｃ（ｘ１，ｙ１）と点Ｄ（ｘ２，ｙ２）が検出されるという例である。これは、Ｘ座標とＹ座標が独立して検知されるために、各座標の組み合わせの数だけ交点が抽出される。
【０００８】
このような方式の場合、座標検知の際のサンプリングレートが十分（約２０Ｈｚ以上）であれば、ユーザは意識的に同時に２点以上を接触させない限り時間差が生じるため、それぞれを区別して検知することができる。例えば、まず最初に点Ａが接触し、次に点Ｂが接触されたとする。ここで、まず検知した座標（ｘ１，ｙ２）を点Ａの座標として保存する。その後、次のタイミングでその他に新たに３点の座標である点Ｂ（ｘ２，ｙ１）、点Ｃ（ｘ１，ｙ１）、点Ｄ（ｘ２，ｙ２）が検知されるが、点Ａの座標成分（ｘ１，ｙ２）を除いたものが新たにユーザの指の接触によって検知されるべき点と推定できる。それにより、（ｘ２，ｙ１）をユーザが接触した点Ｂの座標として保存する。このような処理を行うことで、簡易的に２点以上の座標が検知することができるようになる。
【０００９】
しかしながら、図１９のように初期段階で各点が検出できたとしても、各点が移動し、Ｙ座標等が互いに重複した場合、その後の接触座標が正しく抽出できなくなる場合が存在する。この場合について、図２０を用いて説明する。
【００１０】
図２０は、タッチパネルが検知した接触箇所（斜線部）と、実際に操作者がタッチパネルに接触した点（点Ａと点Ｂ）の各状態と、そのときの各座標の抽出結果を表している。状態ａでは、上記の方法により各点（点Ａ、点Ｂ）の接触座標は検知できているものとする。次に、状態ａから状態ｂに点が移動した場合、状態ｂでは、どちらの点のＹ座標が移動したかが分からなくなってしまうという課題が有った。
【００１１】
本発明は、前記従来の課題を解決するもので、タッチパネルにおいて、各点が移動してＹ座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できる入力装置および入力方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記従来の課題を解決するために、本発明の第一の局面は入力装置に向けられている。本発明は、タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力装置であって、操作面上の座標を互いに直交するＸ座標軸とＹ座標軸により表し、ユーザの手の長手方向に対応する方向をＹ座標軸とすると、Ｘ座標軸上で検出される座標数よりＹ座標軸上で検出される座標が少ない場合に、Ｘ座標軸上で検出される座標数をユーザの手の接触点数とする。
【００１３】
また、Ｘ座標軸上で検出される座標数よりＹ座標軸上で検出される座標数が１つ少ない場合に、Ｙ座標軸上で新たな座標を検出すると、当該検出前後の検出位置のＹ座標の距離に基づいて、Ｙ座標が重複していた２つの検出位置を特定し、当該検出前後の２つの検出位置のうちＸ座標の変化の大きい方の検出位置をユーザの手の接触位置として特定する。
【００１４】
また、本発明の第二の局面は入力方法に向けられている。本発明は、タッチパネルの操作面上の検出位置からユーザの手の接触位置を特定して入力操作を行う入力方法であって、操作面上の座標を互いに直交するＸ座標軸とＹ座標軸により表し、ユーザの手の長手方向に対応する方向をＹ座標軸とすると、Ｘ座標軸上で検出される座標数よりＹ座標軸上で検出される座標数が少ない場合に、Ｘ座標軸上で検出される座標数をユーザの手の接触点数とするステップを含む。
【００１５】
また、Ｘ座標軸上で検出される座標数より前記Ｙ座標軸上で検出される座標数が１つ少ない場合に、Ｙ座標軸上で新たな座標を検出すると、当該検出前後の検出位置のＹ座標の距離に基づいて、Ｙ座標が重複していた２つの検出位置を特定するステップと、当該検出前後の２つの検出位置のうちＸ座標の変化の大きい方の検出位置をユーザの手の接触位置として特定するステップをさらに含む。
【発明の効果】
【００１６】
本発明の入力装置および入力方法によれば、タッチパネルにおいて、各点が移動してＹ座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できる。そのため、抽出した接触座標に基づいて手モデルを作成して表示部に表示する場合には、ユーザの手形状を手モデルに忠実に反映できる。この結果として、ユーザは、違和感を感じることなく操作を行うことができる。
【発明を実施するための最良の形態】
【００１７】
図１は、本発明の実施形態に係る入力装置の動作の概要を説明するための図である。以下では、図１を用いて、入力装置の動作について簡単に説明する。
【００１８】
図１に示す通り、入力装置は、接触座標検知部１と演算部２とを備える。接触座標検知部１は、当該接触座標検知部１の操作面上に置いたユーザ（以下、操作者という）の手が接触した領域を検出し、検出した接触領域の情報（以下、単に、接触領域情報という）を演算部２に出力する。接触座標検知部１は、例えば、多点で接触を検知するタッチパネルである。なお、接触座標検知部１は、複数点の接触を検知できればよく、光学式、静電容量方式、感圧方式、抵抗膜方式等を用いる一般的なデバイスでよい。
【００１９】
演算部２は、接触座標検知部１が検知した接触座標を用いて表示データを作成して表示部３に出力する。具体的には、演算部２は、接触座標を用いてＣＧの手モデルを作成し、当該手モデルをＧＵＩに重畳した表示データを作成して表示部３に出力する。また、演算部２は、作成した手モデルとＧＵＩパーツとの位置関係を用いて操作者が意図するコマンドを決定し、決定したコマンドを情報端末機器等である操作対象機器４に出力する。なお、演算部２は、一般的なパーソナルコンピュータ（以下、ＰＣという）でもよいし、専用のグラフィックＩＣ等を組み込んだ汎用性のない専用機でもよい。また、演算部２は、接触座標検知部１から入力される信号を受信するインターフェイスと、ＣＰＵ、ＲＯＭ、ＲＡＭと、各モジュール間を結ぶバスと、計算結果を映像として出力するインターフェイスとを含む。
【００２０】
表示部３は、演算部２から入力された表示データを用いて表示を行う。表示部３は、例えば、液晶ディスプレイやＣＲＴ等のディスプレイである。操作対象機器４は、演算部２から入力されたコマンドを実行する。
【００２１】
以上の構成によって、操作者は、表示部３に表示されたＧＵＩパーツ上に重畳された手モデルを目視しながら、接触座標検知部１の操作面上の手を動かして手モデルを操作することによって、操作対象機器４を操作することができる。
【００２２】
なお、本実施の形態において、接触座標検知部１の設置位置の例として、車への設置位置として図２のような形態を想定している。図２（ａ）は車両のセンターコンソールに取り付けられた場合の一例を示す図である。図２（ｂ）は、接触座標検知部１が車両のハンドルに取り付けられた場合の一例を示す図である。図２（ｃ）は、接触座標検知部１が、車両のドアの操作部に取り付けられた場合の一例を示す図である。図２（ａ）に示すような車両の位置に、接触座標検知部１を取り付けることで、ドライバである操作者は接触座標検知部１に対して左手を矢印の方向に置くことは予め分る。
【００２３】
ここで、手の方向とは、後述する図６（ａ）を用いて説明すると、手の付け根を示す付け根点から中指の指先位置点に向う方向（手の長手方向）を意味する。図６（ａ）に示すように接触座標検知部１の操作面上の座標を互いに直交するＸ座標軸とＹ座標軸により表すと、ユーザの手の長手方向に対応する方向はＹ座標軸の方向となる。
【００２４】
また、図２（ｂ）に示すような車両の位置に、取り付けることで、ドライバである操作者は接触座標検知部１に対して左手または右手を矢印の方向に置くことは予め分る。また、図２（ｃ）に示すような車両位置に、取り付けることで、ドライバである操作者は接触座標検知部１に対して右手を矢印の方向に置くことは予め分る。
【００２５】
以下では、入力装置の構成および動作について詳しく説明する。図３は、入力装置１００の機能ブロックを示す図である。図３に示すように、入力装置１００は、接触座標検知部１と演算部２とを備える。演算部２は、接触座標算出部２０１と、関連ＩＤ作成部２０２と、移動量算出部２０３と、指曲り角度算出部２０４と、モデル形状決定部２０５と、座標履歴格納部２０６と、モデル保持部２０７と、ＧＵＩパーツ保持部２０８と、重畳画像作成部２０９と、衝突判定部２１０と、コマンド送信部２１１とを含む。
【００２６】
図４は、入力装置の動作を説明するためのフローチャートである。操作者等によってスタートスイッチがオンにされると、入力装置は動作を開始する。
【００２７】
まず、ステップＳ１０１において、接触座標検知部１は、当該接触座標検知部１の操作面上に操作者の手が置かれているか否かを判定する。操作者の手が置かれていない場合、接触座標検知部１は、処理待ち状態となり、操作者の手が置かれると、ステップＳ１０２に移る。なお、ステップＳ１０１における判定は、接触が検知されたか否かによって行うことができる。
【００２８】
次に、ステップＳ１０２において、接触座標算出部２０１は、当該接触座標検知部１が出力する互いに直交した２軸（Ｘ、Ｙ座標）のそれぞれ独立した値を用いて、接触している操作者の４つの指先の位置を示す座標値（以下、指先位置点という）を算出する。なお、座標の算出方法は、後に詳細に説明する。
【００２９】
次に、ステップＳ１０３において、関連ＩＤ作成部２０２は、接触座標算出部１によって算出された座標値に対してそれぞれＩＤを付与し、座標履歴格納部２０６に格納する。なお、ＩＤの付与方法は、後に詳細に説明する。
【００３０】
次に、ステップＳ１０４において、移動量算出部２０３は、４つの指先位置点を取得済みかを判定し、取得するとステップＳ１０５に移る。取得していない場合は、ステップＳ１０２に戻る。
【００３１】
次に、ステップＳ１０５において、移動量算出部２０３は、操作者が手を開いた状態（指を伸ばした状態）の指先位置点である初期位置点が取得済みか否かを判定する。初期位置点が取得済みの場合は、ステップＳ１０７に移る。初期位置点が取得済みでない場合は、ステップＳ１０６に移る。ここで、初期位置点が取得済みか否かの判定は、入力装置が今回起動した後に初期位置点を取得したか否かを判定するものである。
【００３２】
ステップＳ１０６において、移動量算出部２０３は、操作者に接触座標検知部１に置いた手を開くように促すメッセージを通知して初期位置点を取得する。このメッセージは、例えば、表示部３に表示されて操作者に通知される。その後、移動量算出部２０３は、取得した初期位置点を用いて操作者が手を開いた状態の手モデル（以下、初期手モデルという）を作成する。ステップＳ１０６で取得された初期位置点および初期手モデルのデータは、モデル保持部２０７に保存される。その後、ステップＳ１０２に戻る。つまり、入力装置１００は、起動後最初に操作者が手を接触座標検知部１に置いた時点で、初期位置点および初期手モデルを取得する。初期位置点および初期手モデルの取得方法は、後に詳細に説明する。
【００３３】
なお、操作者が交代した場合や、操作者の左右の手が入れ替わった場合には、既に取得済みの初期位置点および初期手モデルを破棄し、ステップＳ１０６の動作を再度行うことで初期位置点および初期手モデルを更新してもよい。また、初期位置点および初期手モデルを起動毎に取得せず、操作者の指示に応答してステップＳ１０６の動作を行うことによって、初期位置点および初期手モデルを新たに取得してもよい。また、ステップＳ１０１において接触座標検知部１が所定期間手の接触を検知しない場合には、既に取得済みの初期位置点および初期手モデルを破棄し、ステップＳ１０６の動作を再度行って新たな初期位置点および初期手モデルを取得してもよい。
【００３４】
ステップＳ１０７において、移動量算出部２０３は、指先位置点の初期位置点からの移動量を算出する。
【００３５】
次に、ステップＳ１０８において、指曲り角度算出部２０４は、ステップＳ１０７で取得した指先位置点の初期位置点からの移動量に基づいて、手モデルの指の曲り角度を決定する。この指曲り角度を決定する方法については、後に詳細に説明する。
【００３６】
次に、ステップＳ１０９において、モデル形状決定部２０５は、Ｓ１０８で決定された手モデルの各指関節の曲り角度を用いて、モデル保持部２０７に保持された手モデルを読出して変形を反映させる。ここで、モデル保持部２０７に初期手モデルが保持されている場合には、当該初期手モデルを読出して変形を反映させる。
【００３７】
なお、モデル保持部２０７に保持される手モデルは、一般的な骨格（以下、ボーン構造という）を持つＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）モデルであることが好ましい。モデル保持部２０７が保持する手モデルの一例を図５に示す。図５に示す手モデルは、複数のポリゴンとボーン構造を示すラインとから構成される。また、手モデルをモデル保持部２０７に保持するファイル形式は、一般的な形式でよい。一例として、ポリゴンの頂点座標を格納したファイル形式が挙げられる。また、手モデルは、併せてテクスチャ情報も保持し、手モデルの現実感を増幅させてもよい。
【００３８】
次に、ステップＳ１１０において、重畳画像作成部２０９は、ＧＵＩパーツ保持部２０８が予め保持しているＧＵＩパーツを読み出し、読出したＧＵＩパーツを配置した操作画像を作成する。ここで、ＧＵＩパーツとは、表示部３に表示される制御命令を割り当てたボタン等である。なお、ＧＵＩパーツおよびその配置方法は、一般的なものでよい。その後、重畳画像作成部２０９は、ステップＳ１０９で変形を反映された手モデルと、ＧＵＩパーツが配置された操作画像とを重畳して重畳画像を作成し、当該重畳画像を表示部に表示する。
【００３９】
次に、ステップＳ１１１において、衝突判定部２１０は、ＧＵＩパーツと手モデルの指先位置点との衝突の有無を判定する。この衝突判定の詳細は、後述する。衝突がないと判定されている場合は、ステップＳ１０１〜Ｓ１１１の処理が繰り返されて、操作者の手の動きに応じて重畳画像内の手モデルが変形する。衝突が有ると判定されると、衝突判定部２１０は、衝突が有ったＧＵＩパーツに割当てられたコマンドをコマンド送信部２１１に通知し、ステップＳ１１２に移る。
【００４０】
ステップＳ１１２において、コマンド送信部２１１は、通知されたコマンドを操作対象機器４に送信し、ステップＳ１０１に戻る。操作対象機器４は、送信されたコマンドを受信して実行する。以上の処理が繰り返されることによって、入力装置１００は、コマンドの送信を繰り返して操作対象機器４を操作する。なお、操作者等によってスタートスイッチがオフにされると処理は終了する。
【００４１】
以上に説明した動作によって、操作者は、表示部に表示された重畳画像を目視しながら手を動かすことによって、重畳画像内の手モデルを操作できる。そして、操作者は、手モデルを操作して指先の位置をＧＵＩパーツに重ね合わせることによって、操作対象機器４を操作できることとなる。
【００４２】
以下では、図４を用いて説明した各ステップについて、詳細に説明する。
【００４３】
図６は、図４のステップＳ１０１における接触座標検知部１の動作について説明するための図である。図６（ａ）は、接触座標検知部１の操作面に操作者の手が置かれた状態の一例を示す。図６（ｂ）は、接触座標検知部１が検知した互いに直交し、それぞれ独立に反応した座標（ＸＹ座標）を斜線で表した図である。接触座標検知部１は、図６（ｂ）のように反応した座標を、Ｘ座標とＹ座標にして接触座標算出部２０１に出力する。
【００４４】
本実施形態では、図６のように操作者の指先位置点を検出する接触座標検知部１を想定している。これは、光学式や静電容量式などのタッチパネルやタッチスクリーンで数多く普及している。この光学式の原理を図６（ｃ）の模式図を用いて説明する。
【００４５】
図６（ｃ）に示すように、光学式のタッチパネルは、操作面に水平、かつＸ座標軸と垂直な方向に光を発する多数のＸ発光部と、当該多数のＸ発光部が発した光を受光する多数のＸ受光部を備えている。多数のＸ発光部は多数のＬＥＤの列や、１つのＬＥＤから発光された光を分岐した光ファイバー列等で構成することができる。また、多数のＸ受光部は多数のＸ発光部に対向する位置に設置されており、多数のフォトダイオードの列により構成することができる。。光学式のタッチパネルは、同様に、操作面に水平、かつ（Ｘ座標軸と直交する）Ｙ座標軸と垂直な方向に光を発する多数のＹ発光部と、当該多数のＹ発光部が発した光を受光する多数のＹ受光部とを備えている。
【００４６】
この操作面上に操作者の指が、接触（または接近）することで、Ｘ発光部、Ｙ発光部から発光している光を遮蔽すると、Ｘ受光部、Ｙ受光部が影を検知する。この影は、Ｘ座標とＹ座標の両方に出現するため、操作者が接触した座標を特定することができる。ここで、指の接触により検出されるのは、図６（ａ）、（ｂ）に示した様にある幅を持った領域としてである。その各領域は、幾つかのＸ受光部、Ｙ受光部により検出される点群であって、接触座標検知部１はその点群から検出座標を出力する。検出座標としては、例えば点群で表される領域の重心の座標とすることができる。
【００４７】
しかし、このような方式の場合、２点以上の箇所を接触すると、接触していない箇所も接触座標の候補として検知することになる。このときの指先位置点が示す座標の特定方法については、図７を用いたステップＳ１０２とステップＳ１０３の詳細説明にて併せて説明する。
【００４８】
図７は、図４のステップＳ１０２とステップＳ１０３を詳細に説明するためのフローチャートである。図８、図９、図１０、図１１は図７の各処理の詳細に説明するための図である。
【００４９】
まず、ステップＳ１２３−１において、接触座標算出部２０１は、接触座標検知部１が検知したＸ座標とＹ座標をそれぞれ取得する。
【００５０】
次に、ステップＳ１２３−２において、接触座標算出部２０１は、座標履歴格納部２０６に格納されている前回の座標値を読み出す。そして、ステップＳ１２３−３において、接触座標算出部２０１は、ステップＳ１２３−２で読み出した前回の座標値と、今回接触座標検知部１から取得した座標値とを比較し、新たにＸ座標が検知、消失したか、または変化がなかったかを判定する。
【００５１】
ここで、図８（ｃ）を用いて座標履歴格納部２０６について説明する。グループ名とは、同じタイミングで取得された各接触情報をグループ化したものであり、関連ＩＤ作成部２０２は、同じタイミングで取得された各接触情報に同様の名前、もしくは番号を付与し、グループ化する。座標値とは、関連ＩＤ作成部２０２によって算出された指先位置点の座標値を表している。また、ＩＤとは、座標値が操作面上で連続に移動した際に同様の点であることを示すためにタグ付けした番号のことであり、新規に座標値が出現した際には、異なるＩＤが関連ＩＤ作成部２０２によって付与され、座標履歴格納部２０６に格納される。
【００５２】
次に、ステップＳ１２３−３において、接触座標算出部２０１が、新たにＸ座標を検知した場合、ステップＳ１２３−４に処理を移行する。ステップＳ１２３−４において、接触座標算出部２０１は新規に出現したＸ座標、Ｙ座標を接触座標とする。この場合について、図８を用いて説明する。
【００５３】
前回接触座標検知部１に検知された状態を図８（ａ）、この時に座標履歴格納部２０６に格納されている座標などの各情報を図８（ｃ）に示す。また、今回接触座標検知部１に検知された状態を図８（ｂ）に示す。
【００５４】
図８（ｂ）のような場合、接触座標検知部１が検知したＸ座標はｘ１，ｘ２、Ｙ座標はｙ１，ｙ２となる。この場合、４通りの座標（ｘ１，ｙ１）、（ｘ１，ｙ２）、（ｘ２，ｙ１）、（ｘ２，ｙ２）が指先位置点の座標の候補として考えられる。ここで、座標履歴格納部２０６を参照し、前回の座標値（ｘ１，ｙ１）以外の座標を、今回取得した座標とする。つまり、本例においては、接触座標算出部２０１は、（ｘ２，ｙ２）を指先位置点の座標値とする。
【００５５】
なお、接触座標検知部１のサンプリングレートが十分（約２０Ｈｚ程度以上）であれば、操作者は意識的に同時に２点以上の指を接触させない限り時間差が生じるため、それぞれを区別して検知することができ、各指先位置点の座標値を算出することが可能になる。
【００５６】
次に、ステップＳ１２３−５において、関連ＩＤ作成部２０２は、今回算出した座標値に新規のＩＤを付与し、更に、その他の座標値と同様のグループ名を付与して座標履歴格納部２０６に格納する。図８（ｄ）に、図８（ｂ）における座標履歴格納部２０６に格納した各情報を示す。
【００５７】
次に、ステップＳ１２３−３において、接触座標算出部２０１が、Ｘ座標が消失を検出した場合について説明する。この場合は、ステップＳ１２３−６に処理を移行する。
【００５８】
ステップＳ１２３−６において、接触座標算出部２０１は、消失したＸ座標に対応するＹ座標を抽出する。この場合について、図９を用いて説明する。
【００５９】
前回接触座標検知部１に検知された状態を図９（ａ）、この時に座標履歴格納部２０６に格納されている座標などの各情報を図９（ｃ）、また、今回接触座標検知部１に検知された状態を図９（ｂ）に示す。
【００６０】
図９（ａ）から図９（ｂ）に変化した際に、図９（ｂ）ではＸ座標のｘ４が消失している。このときに、接触座標算出部２０１は、座標履歴格納部２０６に格納されているｘ４に関連しているＩＤを抽出する。本例の場合は、図９（ｃ）の座標履歴格納部２０６を参照して、ＩＤ：４を抽出する。
【００６１】
次に、ステップＳ１２３−７において、関連ＩＤ作成部２０２は、抽出したＩＤに対応する情報を除き（削除し）、その他の座標値、グループ名、ＩＤを更新して、座標履歴格納部２０６に格納する。図９（ｄ）に、図９（ｂ）における座標履歴格納部２０６に格納した各情報を示す。
なお、各ＩＤと座標値の関連方法については、前回と今回の座標値間の距離を算出して、前回の座標値と最も距離が短くなった座標値に対して、前回のＩＤを継承することとするが、その他の方法を用いても構わない。
【００６２】
次に、ステップＳ１２３−３において、接触座標算出部２０１が、Ｘ座標の出現、及び消失を検出しなかった（変化が無かった）場合について説明する。この場合は、ステップＳ１２３−８に処理を移行する。
【００６３】
ステップＳ１２３−８において、接触座標算出部２０１は、さらに新規にＹ座標が出現したかを判定する。このときに、新規にＹ座標が出現した場合、ステップＳ１２３−９に処理を移行し、しなかった場合は、ステップＳ１２３−１４に処理を移行する。まず、新規にＹ座標が出現しなかった場合について、図１０を用いて説明する。
【００６４】
例えば、前回接触座標検知部１に検知された状態を図１０（ａ）、この時に座標履歴格納部２０６に格納されている座標などの各情報を図１０（ｃ）、また、今回接触座標検知部１に検知された状態を図１０（ｂ）とした場合、Ｘ座標の数は変わらないが、Ｙ座標の数が減っていることになる。
【００６５】
このような場合、ステップＳ１２３−１４において、接触座標算出部２０１は、前回の座標値と今回接触座標検知部１が検知した全座標候補の各距離を算出する。この全座標候補とは、図１０（ｂ）の場合は、検知した全Ｘ座標（ｘ１’，ｘ２’，ｘ３’，ｘ４’）と全Ｙ座標（ｙ２’，ｙ３’，ｙ４’）の全ての交点（１２通り）のことを表している。この全ての交点と、図１０（ｃ）に示す前回の座標値（（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３）、（ｘ４，ｙ４））との距離を算出する。この算出結果の例を図１０（ｅ）に示す。
【００６６】
次に、ステップＳ１２３−１５において、接触座標算出部２０１は、今回取得したＸ座標の座標数をカウントする。本例の場合は、取得したＸ座標はｘ１’、ｘ２’、ｘ３’、ｘ４’となるため、４つになる。ここで、Ｘ座標軸上で検出される座標数をカウントして指先位置点数としているのは、図２の様に接触座標検知部１が設置されて予め手が置かれる方向が分っており、手の長手方向に対応する方向をＹ座標軸の方向としているため、Ｙ座標は指先位置が近接しているために重なりやすいが、Ｘ座標値は手の指の並びから重なることはないためである。
【００６７】
次に、ステップＳ１２３−１６において、接触座標算出部２０１は、前回と今回の座標同士、最も座標間の距離が短くなる座標を上記カウント数だけ抽出する。図１０の例の場合、４つの座標を抽出することとなり、前回の座標からの距離が最も短くなる座標は、図１０（ｅ）の算出結果から、（ｘ１，ｙ１）に対しては（ｘ１’，ｙ３’）、（ｘ２，ｙ２）に対しては（ｘ２’，ｙ２’）、（ｘ３，ｙ３）に対しては（ｘ３’，ｙ３’）、（ｘ４，ｙ４）に対しては（ｘ４’，ｙ４’）を抽出する。
【００６８】
次に、ステップＳ１２３−１７において、関連ＩＤ作成部２０２は、前回の座標のＩＤをペアとなった座標値に継承し、グループ名を付与して座標履歴格納部２０６に格納する。つまり、図１０の例の場合は、座標履歴格納部２０６に格納する各情報は、図１０（ｄ）に示す結果となる。
【００６９】
次に、ステップＳ１２３−８において、接触座標算出部２０１が、新規にＹ座標が出現したと判定した場合について、図１１を用いて説明する。
【００７０】
例えば、前回接触座標検知部１に検知された状態を図１１（ａ）、この時に座標履歴格納部２０６に格納されている座標などの各情報を図１１（ｃ）、また、今回接触座標検知部１に検知された状態を図１１（ｂ）とした場合、Ｘ座標の数は変わらないが、Ｙ座標の数が増え、新規にＹ座標が出現したことになる。
【００７１】
このような場合、ステップＳ１２３−９において、接触座標算出部２０１は、今回出現したＹ座標と前回取得した座標値のＹ座標間の距離を算出する。つまり、図１１の例の場合は、図１１（ａ）と図１１（ｂ）の差分から、新規に出現したＹ座標はｙ１’’であり、前回取得した座標のＹ座標は図１１（ｃ）から、ｙ２’、ｙ３’、ｙ４’となる。このＹ座標の距離を算出結果の例を図１１（ｅ）に示す。なお、新規に出現したＹ座標の特定方法としては、前回取得した各Ｙ座標と、今回取得した各Ｙ座標同士の距離を算出し、前回取得したＹ座標を基準に最も距離が短くなるＹ座標を短い順に確定していく。そして、図１１の例の場合は、前回のＹ座標の座標数が３であり、今回取得したＹ座標の座標数が４つであるため、最後に１つＹ座標があまることとなる。このＹ座標を新規に出現したＹ座標としている。
【００７２】
次に、ステップＳ１２３−１０において、接触座標算出部２０１は、前回取得した座標値の中で、最も距離が短くなるＹ座標に対応するＸ座標を、座標履歴格納部２０６を参照して抽出する。図１１の例の場合は、図１１（ｅ）の各Ｙ座標間の距離の算出結果より、ｙ１’’と最も距離が短くなる前回のＹ座標はｙ３’であるため、図１１（ｃ）の座標履歴格納部２０６を参照し、ｙ３’に対応するＸ座標としてＩＤ：１のｘ１’とＩＤ：３のｘ３’の２つを抽出する。
【００７３】
次に、ステップＳ１２３−１１とステップＳ１２３−１２において、接触座標算出部２０１は、抽出したＸ座標の前回の移動量を算出し、最も移動量の大きいＸ座標を新規に出現したＹ座標に対応する接触座標として抽出する。これは、図２に示すような設置位置に接触座標検知部１を設置することによって、接触座標検知部１に対して操作者の手が置かれる方向が予め分かっていることを前提としている。つまり、操作者が指をＹ軸方向に移動させた際に、手首を支点として指を動かすため、Ｙ軸方向の移動のみならずＸ軸方向にも移動することに着目している。図１１の例の場合、Ｘ座標の移動量の算出結果の例として図１１（ｆ）のようになった場合、ステップＳ１２３−９にて抽出したｙ１’’に対応するＸ座標はｘ１’’となる。それにより、接触座標算出部２０１は、（ｘ１’’，ｙ１’’）を接触座標として抽出する。
【００７４】
次に、ステップＳ１２３−１３において、関連ＩＤ作成部２０２は、ステップＳ１２３−１２で抽出したＸ座標に対応するＩＤを抽出した座標値に継承し、グループ名を付与して座標履歴格納部２０６に格納する。図１１の例の場合は、ｘ１’に対応するＩＤを図１１（ｃ）の座標履歴格納部２０６を参照して（ｘ１’’，ｙ１’’）に付与し、グループ名を付与して座標履歴格納部２０６に格納する。なお、その他の座標については、ステップＳ１２３−１４からステップＳ１２３−１７と同様の処理を行い、ＩＤとグループ名を付与して座標履歴格納部２０６に格納する（図７には図示せず）。
【００７５】
このような処理を行うことによって、従来、接触座標検知部１がＸＹ座標を独立で検知するような場合であっても、操作者の指先位置点に正確に追従した座標値を一位に特定することができ、さらには、後述する方法にて、操作者が指を曲げて操作した場合であっても、操作者の手形状を手モデルに忠実に反映できる。
【００７６】
図１２は、図４のステップＳ１０６の処理を詳しく説明するためのフローチャートである。まず、ステップＳ１０６−１において、移動量算出部２０３は、操作者に接触座標検知部１の操作面上の手を開くように促すメッセージを通知して４つの初期位置点を取得する。
【００７７】
次に、ステップＳ１０６−２において、移動量算出部２０３は、ステップＳ１０６−１で取得した初期位置点（指先位置点）と、モデル保持部２０７が当初から保持しているひな形であるひな形手モデルの対応する指先位置点とが重なるように、当該ひな形手モデルを変形して初期手モデルを作成する。ここで、４つの初期位置点は、それぞれ小指、薬指、中指、人差し指に対応する。操作者の操作が左手に限定される場合には、左手のひな形手モデルを使用して、左から小指、薬指、中指、人差し指の順番に初期位置点とが重なるように、当該ひな形手モデルを変形して初期手モデルを作成する。
【００７８】
ここで、初期手モデルを作成する際には、接触座標検知部１に対して操作者がどの方向に手を置いているかを知る必要がある。逆方向に手を置いた場合には、同じ４つの初期位置点であっても、初期手モデルが反対向きに作成されてしまう。そのため、接触座標検知部に対して操作者がどの方向から手を置いているかは、予め分っているものとする（図２を参照）。
【００７９】
その後、移動量算出部２０３は、作成した初期手モデルを、表示部３に表示する。この処理によって、移動量算出部２０３は、操作者の手の大きさを反映した初期手モデルを作成し、表示部３に表示できる。
【００８０】
次に、ステップＳ１０６−３において、移動量算出部２０３は、ステップＳ１０６−１で取得した初期位置点の位置と、ステップＳ１０６−２で作成した初期手モデルとをモデル保持部２０７に保存し、ステップＳ１０２に戻る（図４を参照）。
【００８１】
次に、図４のステップＳ１０８について詳細に説明する。ステップＳ１０８において、指曲り角度決定部２０４は、手モデルの付け根点と各指先位置点の座標値との距離を算出し、各指の各関節の曲がり角度を決定する。ここで、手モデルの付け根点は、手モデルの下部、中央の掌側の点であり、手モデルの基準位置となる。図１３は、手モデル１３０１の付け根点１３０２から各指先位置点１３１１〜１３１４までの距離Ｒ１〜Ｒ４を示す図である。操作者は、手全体は移動させずに指を曲げたもしくは伸ばしたため、手モデルの付け根点１３０２は移動していない。図１３に示すＲ１〜Ｒ４の長さの変化量は、それぞれ、指曲げにより生じる移動量である。
【００８２】
この各指の指曲げによる指先位置点の移動量を用いて、指曲り角度算出部２０４は、各指の各関節の曲り角度を決定する。ここで、指先の変位から指関節の曲り角度を求める方法として、ロボット工学分野等で周知であるインバースキネマティクス（以下、ＩＫという）技術がある。ＩＫ技術は、複数の可動部を持つアームの先端を目的位置に移動させるために用いられる。そして、アームが複数の可動部を持つ場合、ＩＫ技術を用いて目的位置にアームの先端を移動させるためには、可動部の曲り角度には複数の解が存在する。
【００８３】
本発明においても、指には複数の関節があるので、指関節の曲り角度には複数の解が存在する。このため、本発明では、一例として、操作者の掌および指先は操作面上（同一平面上）に存在するという拘束条件と、各指関節の曲り角度は等しいという拘束条件とを用いて、解を一意に求める。
【００８４】
図１４（ａ）は、一例として、人差し指を曲げた場合の指先位置点の変位を示している。図１４（ｂ）は、図１４（ａ）に示す曲げた状態の人差し指１４００の手モデルを側面から見た図である。図１４から分るように、通常、指を曲げると３つの指関節は同時に曲がるので、各指関節の曲り角度１４０１〜１４０３は等しいという拘束条件を用いて手モデルを変形すると、操作者は違和感無く操作を行うことができる。また、この様な拘束条件を用いて手モデルを変形すると、演算量が大幅に低減できるので、操作者の手の動きに瞬時に応答する手モデルの変形が可能である。
【００８５】
なお、指関節の曲り角度を算出するための拘束条件は、これには限定されず、解を一意に求めらる拘束条件であればよい。しかし、上記したように、指関節の曲り角度を算出するための拘束条件は、操作者が違和感を感じない手モデルとなる拘束条件が好ましく、操作者の操作行為が自然に行える手モデルとなる拘束条件が好ましい。また、ＩＫ技術において目的位置からアーム可動部の曲り角度を求める方法として、ヤコビ行列を用いて繰り返し計算を行う方法や幾何学的に算出する方法等が知られているが、本発明においてはいずれを用いてもよい。
【００８６】
以上に説明した図４のステップＳ１０８の処理を行い、指曲り角度算出部２０４は各指関節の曲り角度を算出する。そして、指曲り角度算出部２０４は、算出した手モデルの各指先位置点の各指関節の曲り角度をモデル保持部２０７に保存する。
【００８７】
図１５は、図４のステップＳ１０９における手モデルの変形の具体例を示す図である。図１５（ａ）は、初期位置点（操作者が手を開いた状態の指先位置点）を示す。図１５（ｂ）は、図１５（ａ）に示す初期位置点を用いて描画された初期手モデルである。図１５（ｃ）は、一例として、操作者が人差し指を曲げた場合の指先位置点を示す。図１５（ｄ）は、図１５（ｃ）に示す指先位置点を用いて変形された手モデルである。図１６（ａ）、（ｂ）はそれぞれ、図１５（ｂ）および（ｄ）に示した手モデルを側面から見た図である。図１５および図１６に示すように、図４のステップＳ１０９において、手モデルは、操作者の手の変形に応じてリアルに変形する。
【００８８】
図１７は、図４のステップＳ１１０の処理を説明するための図である。図１７に示す通り、ステップＳ１１０において、重畳画像作成部２０９は、ＧＵＩパーツ１７０１を配置した操作画像１７００と、変形された手モデル１７１０とを重畳して、重畳画像１７２０を作成し、表示部３に表示する。なお、重畳画像１７２０を作成する際、手モデル１７１０と重なるＧＵＩパーツ１７０１を視認し易くするために、手モデル１７１０を半透過等にしてもよい。
【００８９】
図１８は、図４のステップＳ１１１の処理について説明するための図である。衝突判定部２１０は、重畳画像においてＧＵＩパーツ１８０１〜１８０４と手モデル１８１０の指先位置点とが重なった場合には、当該ＧＵＩパーツと手モデル１８１０の指先位置点とが衝突したと判定する。図１８の場合には、衝突判定部２１０は、矢印１８２０で示す衝突が判定されたＧＵＩパーツ１８０２に割当てられたコマンドをコマンド送信部２１１に通知する。
【００９０】
その後、ステップＳ１１２でコマンドが操作対象機器４に送信される。操作対象機器４は、受信したコマンドを実行する。
【００９１】
以上に説明したように、本発明に係る入力装置によれば、タッチパネルにおいて、各点が移動してＹ座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できる。そのため、抽出した接触座標に基づいて手モデルを作成して表示部に表示する場合には、ユーザの手形状を手モデルに忠実に反映できる。この結果として、ユーザは、違和感を感じることなく操作を行うことができる。
【００９２】
なお、本実施形態の図４のステップＳ１０４においては、４つの指先位置点を取得することとしたが、４つに限られることはない。右手か左手かが分っており、接触する指が特定できる場合には（例えば、人差し指で接触）、接触座標検知部１に対して手を置いている方向が分っていれば手モデルの位置を決定できるため、１〜３つの指先位置点を取得することにしてもよい。
【００９３】
また、本実施形態においては指先位置点を一意に特定した後、手モデルを作成して表示部に表示する様にしたが、手モデルを作成・表示しない入力装置においても本発明は適応できる。例えば、各指に操作対象機器を操作するための命令が予め割り当てられており、操作者がそれら割り当てられている命令を覚えて操作する入力装置においては、手モデルを表示部に表示する必要はなく、入力装置が何指で操作されたかを一意に特定できていればよい。
【産業上の利用可能性】
【００９４】
本発明の入力装置および入力方法によれば、タッチパネルにおいて、各点が移動してＹ座標等が互いに重複した場合でも、その後の接触座標を正しく抽出できるという効果を有し、カーナビゲーション装置等の各種機器を操作するための入力装置等として有用である。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施形態に係る入力装置１００の動作の概要を説明するための図
【図２】接触座標検知部１の車への設置位置の例を示す図で、（ａ）車両のセンターコンソールに取り付けられた場合の一例を示す図、（ｂ）車両のハンドルに取り付けられた場合の一例を示す図、（ｃ）車両のドアの操作部に取り付けられた場合の一例を示す図
【図３】本発明の実施形態に係る入力装置１００の機能ブロック図
【図４】本発明の実施形態に係る入力装置１００の動作を説明するためのフローチャート
【図５】モデル保持部２０７が保持する手モデルの一例を示す図
【図６】図４のステップＳ１０１における接触座標検知部１の動作について説明するための図で、（ａ）接触座標検知部１の操作面に操作者の手が置かれた状態の一例を示す図、（ｂ）接触座標検知部１が検知した指先位置点を示す図、（ｃ）光学式の接触座標検知部１の動作原理を説明するための模式図
【図７】図４のステップＳ１０２、Ｓ１０３の処理を詳細に説明するためのフローチャート
【図８】図７のステップＳ１２３−４、Ｓ１２３−５の処理を説明するための図で、（ａ）前回接触座標検知部１に検知された状態を示す図、（ｂ）今回接触座標検知部１に検知された状態を示す図、（ｃ）前回の検知状態において座標履歴格納部２０６に格納されている各情報を示す図、（ｄ）今回の検知状態において座標履歴格納部２０６に格納される各情報を示す図
【図９】図７のステップＳ１２３−６、Ｓ１２３−７の処理を説明するための図で、（ａ）前回接触座標検知部１に検知された状態を示す図、（ｂ）今回接触座標検知部１に検知された状態を示す図、（ｃ）前回の検知状態において座標履歴格納部２０６に格納されている各情報を示す図、（ｄ）今回の検知状態において座標履歴格納部２０６に格納される各情報を示す図
【図１０】図７のステップＳ１２３−１４〜Ｓ１２３−１７の処理を説明するための図で、（ａ）前回接触座標検知部１に検知された状態を示す図、（ｂ）今回接触座標検知部１に検知された状態を示す図、（ｃ）前回の検知状態において座標履歴格納部２０６に格納されている各情報を示す図、（ｄ）今回の検知状態において座標履歴格納部２０６に格納される各情報を示す図、（ｅ）前回の座標値と今回検知した全座標候補の各距離の算出結果の一例を示す図
【図１１】図７のステップＳ１２３−９〜Ｓ１２３−１３の処理を説明するための図で、（ａ）前回接触座標検知部１に検知された状態を示す図、（ｂ）今回接触座標検知部１に検知された状態を示す図、（ｃ）前回の検知状態において座標履歴格納部２０６に格納されている各情報を示す図、（ｄ）今回の検知状態において座標履歴格納部２０６に格納される各情報を示す図、（ｅ）今回新規に出現したＹ座標と前回取得したＹ座標間の距離の算出結果の一例を示す図、（ｆ）抽出したＸ座標における前回と今回のＸ座標間の移動量の算出結果の一例を示す図
【図１２】図４のステップＳ１０６の処理を詳細に説明するためのフローチャート
【図１３】手モデル１３０１の付け根点１３０２から各指先位置点１３１１〜１３１４までの距離Ｒ１〜Ｒ４を示す図
【図１４】図４のステップＳ１０８において、手モデルの指曲り角度を算出する方法を説明するための図で、（ａ）人差し指１４００を曲げた場合の指先位置点の変位を示す図、（ｂ）曲げた状態の人差し指１４００の手モデルを側面から見た図
【図１５】図４のステップＳ１０９における手モデルの変形の具体例を示す図で、（ａ）初期位置点を示す図、（ｂ）初期位置点を用いて描画された初期手モデルを示す図、（ｃ）操作者が人差し指を曲げた場合の指先位置点を示す図、（ｄ）人差し指を曲げた時の指先位置点を用いて変形された手モデルを示す図
【図１６】図１５に示した手モデルを側面から見た図で、（ａ）図１５ｂに示した手モデルを側面から見た図、（ｂ）図１５ｄに示した手モデルを側面から見た図
【図１７】図４のステップＳ１１０の処理を説明するための図
【図１８】図４のステップＳ１１１の処理を説明するための図
【図１９】光学式のタッチパネルにおいて検知される座標の候補を説明する図
【図２０】光学式のタッチパネルにおいて接触座標を特定できない場合の一例を説明するための図
【符号の説明】
【００９６】
１    接触座標検知部
２    演算部
３    表示部
４    操作対象機器
１００    入力装置
２０１    接触座標算出部
２０２    関連ＩＤ作成部
２０３    移動量算出部
２０４    指曲り角度算出部
２０５    モデル形状決定部
２０６    座標履歴格納部
２０７    モデル保持部
２０８    ＧＵＩパーツ保持部
２０９    重畳画像作成部
２１０    衝突判定部
２１１    コマンド送信部
１７０１、１８０１〜１８０４    ＧＵＩパーツ
１７１０、１８１０    手モデル
１７２０    重畳画像
【図１】
2010182135.tif 000003
【図２】
2010182135.tif 000004
【図３】
2010182135.tif 000005
【図４】
2010182135.tif 000006
【図５】
2010182135.tif 000007
【図６】
2010182135.tif 000008
【図７】
2010182135.tif 000009
【図８】
2010182135.tif 000010
【図９】
2010182135.tif 000011
【図１０】
2010182135.tif 000012
【図１１】
2010182135.tif 000013
【図１２】
2010182135.tif 000014
【図１３】
2010182135.tif 000015
【図１４】
2010182135.tif 000016
【図１５】
2010182135.tif 000017
【図１６】
2010182135.tif 000018
【図１７】
2010182135.tif 000019
【図１８】
2010182135.tif 000020
【図１９】
2010182135.tif 000021
【図２０】
2010182135.tif 000022