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