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