(57)【特許請求の範囲】
【請求項１】
操作者の手の位置と形状を取得する第１取得手段と、
前記操作者の手の一定の形状変化に応じて認識される指示の複数の候補のうち、認識可能な指示を特定する特定手段と、
前記認識される指示の複数の候補に対応づけて予め保持された複数の画像を含む複数の画像から、前記特定手段による特定の結果に対応する画像の種類を取得する第２取得手段と、
前記第１取得手段によって取得された前記操作者の手の位置に基づいて決定された表示面上の位置に、前記第２取得手段によって取得された種類の画像を、前記第１取得手段によって取得された前記操作者の手の形状に基づく状態で表示させる表示制御手段を有することを特徴とする情報処理装置。
【請求項２】
さらに、前記第１取得手段によって異なる時点において検出された前記操作者の手の形状が、前記一定の形状変化を示す場合に、前記特定手段によって特定された指示に従った処理を実行する実行手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記情報処理装置に設定された操作モードに基づいて、前記複数の候補のうち、前記設定された操作モードにおいて認識可能な指示を特定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記第１取得手段によって取得された前記操作者の手の位置が、仮想光源に近づくように移動した場合、前記第１取得手段によって取得された前記操作者の手の位置に基づいて決定された前記表示面上の位置に表示させた画像を大きく変化させ、前記第１取得手段によって取得された前記操作者の手の位置が、仮想光源に遠ざかるように移動した場合、前記第１取得手段によって取得された前記操作者の手の位置に基づいて決定された前記表示面上の位置に表示させた画像を小さく変化させることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記認識される指示の複数の候補に対応づけて予め保持された複数の画像を含む複数の画像と、前記特定手段によって認識可能な指示が特定されなかった場合に対応する画像とを含む複数の画像を保持する保持手段を更に備え、
前記表示制御手段は、前記保持手段によって保持された複数の画像のうち、第２取得手段によって取得された種類の画像を、前記第１取得手段によって取得された前記操作者の手の形状に従って変形した状態で表示させることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
第１取得手段が、操作者の手の位置と形状を取得する第１取得工程と、特定手段が、前記操作者の手の一定の形状変化に応じて認識される指示の複数の候補のうち、認識可能な指示を特定する特定工程と、
第２取得手段が、前記認識される指示の複数の候補に対応づけて予め保持された複数の画像を含む複数の画像から、前記特定工程での特定の結果に対応する画像の種類を取得する第２取得工程と、
表示制御手段が、前記第１取得工程において取得された前記操作者の手の位置に基づいて決定された表示面上の位置に、前記第２取得工程において取得された種類の画像を、前記第１取得工程において取得された前記操作者の手の形状に基づく状態で表示させる表示制御工程を有する
ことを特徴とする情報処理装置の制御方法。
【請求項７】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至５のいずれか１項に記載の情報処理装置の各手段として機能させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを格納した、コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器等のグラフィカルユーザインタフェースを提示する技術である。
【背景技術】
【０００２】
近年、テーブル型のディスプレイが登場してきている。このようなデバイスは、複数人でディスプレイを囲み、タッチ操作などで電子的なオブジェクトを操作することができるため、主に会議用途などに用いられる。
【０００３】
このようなディスプレイ上でユーザの手や指をカメラで撮影しておき、ディスプレイ上に表示されるオブジェクトの上でジェスチャを行った際に、該オブジェクトに対して、予めジェスチャに対応付けされているコマンドを実行する技術がある（特許文献１）。特許文献１では、コマンドを実行する対象のオブジェクトを選択した際に、選択したオブジェクトの見た目を変えることで、操作対象のオブジェクトを操作者に提示する。
【０００４】
また、オブジェクトを選択していることを操作者へ提示するための先行技術として、次のものがある（非特許文献１）。非特許文献１では、操作者の手の位置を取得し、システムが定めた仮想光源の位置と操作者の手の位置から、手の影画像を生成する。生成した手の影画像をディスプレイ上に表示することで、手の影画像を直感的なポインタとして扱うことができる。また、オブジェクトを選択していない場合でも、操作者の手がポインティングする位置を操作者に提示することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３０１６９３号公報
【非特許文献】
【０００６】
【非特許文献１】Ｓｈｏｅｍａｋｅｒ，Ｇ．，Ｔａｎｇ，Ａ．ａｎｄ  Ｂｏｏｔｈ，Ｉｎ  Ｐｒｏｃ．Ｏｆ  ＵＩＳＴ  ’０７，ｐｐ．５３−５６
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した先行技術をテーブル型のディスプレイに取り入れた場合、手の影画像を利用することで、操作の対象となるオブジェクトを明確に選択しながら、ジェスチャ（手の形状）をトリガとしたコマンドを入力することができる。
【０００８】
しかし、手の形状が機器に正しくコマンドとして認識されているかを操作者はコマンドの実行結果を確認するまで知ることができなかった。また、コマンドの実行処理が終了しない限り、操作者はジェスチャが機器に認識されていないのか、コマンドが入力できないのかもわからなかった。
【０００９】
本発明は、このような事情を鑑みてなされたものであり、手の形状に対応して実行されるコマンドが情報処理装置にどのように認識されているかを、操作者が認識しやすくすることを目的とする。
【課題を解決するための手段】
【００１０】
この課題を解決するために、例えば本発明の情報処理装置は、操作者の手の位置と形状を取得する第１取得手段と、前記操作者の手の一定の形状変化に応じて認識される指示の複数の候補のうち、認識可能な指示を特定する特定手段と、前記認識される指示の複数の候補に対応づけて予め保持された複数の画像を含む複数の画像から、前記特定手段による特定の結果に対応する画像の種類を取得する第２取得手段と、前記第１取得手段によって取得された前記操作者の手の位置に基づいて決定された表示面上の位置に、前記第２取得手段によって取得された種類の画像を、前記第１取得手段によって取得された前記操作者の手の形状に基づく状態で表示させる表示制御手段を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、手の一定の形状変化に対応して認識される複数のコマンド候補のうち、情報処理装置が認識可能なコマンドを操作者が認識しやすくなる。
【図面の簡単な説明】
【００１２】
【図１】情報処理装置のハードウェア構成図。
【図２】情報処理装置のブロック図。
【図３】情報処置装置１００のフローチャート。
【図４】表示の一例。
【図５】モードごとの影画像の一例。
【図６】本実施例のイメージ図。
【図７】影画像生成処理を表すフローチャート。
【図８】影画像生成処理を説明する図。
【発明を実施するための形態】
【００１３】
（実施例１）
図１は、実施例１における情報処理装置１００のハードウェア構成図である。
【００１４】
図１において、情報処理装置１００は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４から構成され、バス１０１と介して、入力装置１０５や出力装置１０６と接続する。１０２はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各種処理のための演算や論理判断などを行い、バス１０１に接続された各構成要素を制御する。  本情報処理装置は、プログラムメモリとデータメモリを含むメモリが搭載されている。プログラムメモリには、フローチャートにより後述する各種処理手順を含むＣＰＵによる制御のためのプログラムを格納する。このメモリはＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３であってもよいし、外部記憶装置などからプログラムがロードされるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４であってもよい。あるいは、これらの組合せで実現しても構わない。１０５はユーザからの指示や、各種センサ入力などを受付ける入力装置である。ユーザは入力装置１０５を介して、当該情報処理装置に指示を行う。１０６は本実施例における表示手段としての出力装置である。出力装置１０６は、例えば、出力のための回路を含むＣＲＴ（Ｃａｔｈｏｄｅ−Ｒａｙ  Ｔｕｂｅ）や液晶表示器などのディスプレイ装置により実現することができる。
【００１５】
図２は、実施例１における情報処理装置１００のブロック図である。
【００１６】
情報処理装置１００は、装置外部のディスプレイ２０１及びカメラ２０２と接続している。ディスプレイ２０１は、出力装置１０６であり、影画像生成部２０３で合成された影画像等を、表示制御部２０９を介して表示する。カメラ２０２は、入力装置１０５であり、操作者の手の画像を撮像する。撮像結果は、画像でもよいし、動画でもよい。尚、情報処理装置１００は、ディスプレイ２０１とカメラ２０２を装置内部に備えていないものとして説明するが、本発明はこれに限らない。例えば、情報処理装置１００は、ディスプレイ２０１を装置内部に備えていても良いし、カメラ２０２を装置内部に備えていても良い。
【００１７】
手の形状取得部２０４は、カメラ２０２で撮像した画像、もしくは動画より、操作者の手の位置や形状を公知の技術により取得する。モード取得部２０６が、設定されている操作モードを保持部２０８から取得する。本実施例では、操作モードには、電子オブジェクトをトリミングするトリミングモード、電子オブジェクトを削除する削除モード、通常モードが存在するものとする。通常モードは、トリミングモードと削除モードのいずれのモードでもないモードである。尚、操作モードの設定に関しては、ディスプレイ上に、各操作モードに設定するためのボタンを用意しておき、ボタンにタッチする方法をとってもよいし、モード設定用のジェスチャを設けておき、そのコマンドを実行する方法でもよい。
【００１８】
影画像取得部２０５は、モード取得部２０６から取得された操作モードに応じて、影画像の形状を保持部２０８から取得する。操作モードごとの影画像の一例を図５に示す。５０１、５０２は、トリミングモード時に表示する影画像、５０３、５０４は、削除モード時に表示する影画像、５０５、５０６は、通常モード時に表示する影画像である。トリミングモード時に表示する影画像は、はさみ、削除モード時に表示する影画像は、ごみ箱、通常モード時に表示する影画像は、手となっている。尚、それぞれのモードごとに、閉じた状態の影画像と開いた状態の影画像を保持している。保持部２０８は、設定されている操作モード、操作モードごとの影画像、手の形状取得部２０４で取得された手の形状や位置を保持する。尚、本実施例では、１つの保持部で保持する例を示したが、複数の保持部を設け、それぞれを異なる保持部で保持しても構わない。
【００１９】
影画像生成部２０３は、手の形状取得部２０４で取得した手の形状・位置と影画像取得部２０５で取得した影画像より、表示する影画像を生成する。判定処理部２０７は、各種判定及びコマンド実行処理を行う。判定処理部２０７は、保持部２０８で保持する情報を用いジェスチャを認識し、各種処理を実行する。本実施例で述べるジェスチャとは、親指とそれ以外の指の先が開かれた状態から閉じられた状態にすることを指す。このジェスチャにトリミングと削除を対応付け、ジェスチャとしておくことで、トリミングあるいは削除を実行することができるようになる。トリミングあるいは削除の判定は、設定されている操作モードによって判定する。尚、本実施例では、判定処理を１つの判定部で処理する例を示したが、複数の判定部を設け、それぞれを異なる判定部で処理しても構わない。表示制御部２０９は、影画像生成部で生成された影画像を、ディスプレイ２０１に表示する。
【００２０】
本実施例で説明する影画像は、実際の影ではなく、影を模した仮想画像である。手の影画像の表示位置が手の動きに追従するように生成するために、例えば次の方法で影画像の表示位置を決定してもよい。
【００２１】
操作者の頭頂部から顔の向きと反対側５０ｃｍの位置に仮想光源を配置する。仮想光源の位置と操作者の手の位置と、ディスプレイの位置から、仮想の影画像の生成位置を算出する。手の影画像の生成位置を算出する方法としては、次のルールが保たれればどのような方法をとってもよい。手の位置が仮想光源に近づけば、影画像を大きくする。仮想光源から手の位置を遠ざければ、影画像を小さくする。ディスプレイと手の距離が０であれば、手と影画像が重なる。この影画像生成処理の対象になる手を設定するため、別途メニュー画面などを設けておいてもよい。図６は、本実施例のイメージ図である。１００１が操作者を表しており、操作者の後方の１００２が仮想光源である。１００３が操作者の手を表しており、１００５で表されるディスプレイ上の１００４の位置に影画像が生成されている。
【００２２】
図３は、実施例１における情報処理装置１００のフローチャートである。情報処理装置１００が起動すると、図３のフローチャートの処理に入るものとする。
【００２３】
Ｓ３０１で、手の形状取得部２０４は、カメラ２０２で撮像した画像より、操作者の手の形状（第１の形状）と位置を取得し、取得した形状と位置、そのときの時間を保持部２０８に保持する。Ｓ３０２で、判定処理部２０７は、Ｓ３０１で検出した手の形状と位置から生成される影画像が、ディスプレイである表示部に表示されている電子オブジェクトを選択しているかを判定する。判定方法は、影画像が電子オブジェクトとオーバラップしているかをみる。影画像が電子オブジェクトを指しており、かつ、電子オブジェクトがジェスチャコマンドを受付けるのであれば、ＹｅｓのフローでＳ３０３へ進む。一方、影画像が電子オブジェクトを指していない、あるいは、影画像が電子オブジェクトを指しているが、電子オブジェクトがジェスチャコマンドを受付けないのであれば、ＮｏのフローでＳ３０５へ進む。
【００２４】
Ｓ３０３で、モード取得部２０６が、設定されている操作モードを保持部２０８から取得する。Ｓ３０４で、影画像取得部２０５は、Ｓ３０３で取得した操作モードに対応する影画像の形状を保持部２０８より取得する。Ｓ３０５で、影画像取得部２０５は、所定の影画像を保持部２０８より取得する。所定の画像は、ジェスチャを受付けないことを示すものであって、本実施例では通常モードの影画像とする。所定の影画像は、これに限らず、トリミングや削除などの特定の操作モードが受付けられないことをユーザに示すことができる画像であればよい。
【００２５】
Ｓ３０６で、影画像生成部２０３は、Ｓ３０１で取得した手の形状と、Ｓ３０４あるいはＳ３０５で取得した影画像の形状とにより、表示する影画像を生成する処理を行う。生成のフローに関しては、図７のフローチャートを用いて後述する。Ｓ３０７で、表示制御部２０９は、Ｓ３０６で生成された影画像を表示する。図４は、表示の一例である。４０１は、表示画面、４０２は、表示画面に表示されている電子オブジェクト、４０３、４０４は、影画像である。４０３は、Ｓ３０２で影画像が電子オブジェクトを指しており、かつ、電子オブジェクトがジェスチャコマンドを受付けると判定され、Ｓ３０４で、トリミングモードが取得された場合に生成される影画像である。４０４は、Ｓ３０２で影画像が電子オブジェクトを指していない、あるいは、影画像が電子オブジェクトを指しているが、電子オブジェクトがジェスチャコマンドを受付けないと判定される場合に生成される影画像である。尚、図４の４０５は、ジェスチャを行っている手である。
【００２６】
Ｓ３０８で、判定処理部２０７は、Ｓ３０１で手の形状を取得した時間から、所定の時間が経過したかを判定する。Ｓ３０８で、所定の時間が経過したと判定されたら、Ｓ３０９へ進む。Ｓ３０９で、手の形状取得部２０４は、カメラ２０２で撮像した画像より、操作者の手の形状（第２の形状）と位置を取得する。また、取得した形状と位置を保持部２０８に保持する。
【００２７】
Ｓ３１０で、判定処理部２０７は、手の形状が変化したかを検知する。検知方法は、Ｓ３０１で保持した手の形状（第１の形状）とＳ３０８で保持した手の形状（第２の形状）とが異なるかどうかで行う。Ｓ３１０でＹｅｓの場合は、Ｓ３１１で、影画像生成部２０３は、Ｓ３０９で取得した手の形状と、Ｓ３０３あるいはＳ３０４で取得した影画像の形状とにより、表示する影画像を生成する処理を行う。Ｓ３１１での処理は、Ｓ３０６の処理と同様である。Ｓ３１２で、表示制御部２０９は、Ｓ３１１で生成された影画像を表示する。
【００２８】
Ｓ３１３で、判定処理部２０７は、手の形状の変化が、ジェスチャかどうかを判定する。判定方法は、Ｓ３０１で保持した手の形状（第１の形状）からＳ３０９で保持した手の形状（第２の形状）への変化が、予め定められたジェスチャかどうかで判定する。Ｓ３１３でＹｅｓの場合は、Ｓ３１４で、判定処理部２０７は、判定したジェスチャに対応するコマンドを実行し、Ｓ３１３でＮｏの場合は、処理を終了する。
【００２９】
次に、図７を用いて、Ｓ３０６における、影画像を生成する処理を説明する。尚、図７における各処理は、いずれも、影画像生成部２０３で実行される。
【００３０】
まず、保持部２０８には、１つのモードに対して、２つの状態に対応する影画像を保持している。保持部２０８で保持するそれぞれの影画像には、図８（ａ）、（ｂ）のように、特徴点を２つ用意しておき、これをＡ１、Ｂ１とする。図８（ａ）はトリミングモードの影画像、図８（ｂ）は、削除モードの影画像である。Ａ１とＢ１の距離の最小をＤ１ｍｉｎ、最大の距離をＤ１ｍａｘとする。
【００３１】
Ｓ７０１で、Ｓ３０４、あるいはＳ３０５で取得した影画像における、特徴点Ａ１とＢ１を取得する。Ｓ７０２で、Ｓ３０１で取得した手の形状より、２つの特徴点を抽出する。この特徴点を、図８（ｃ）で示したように、Ａ２とＢ２とする。Ａ２とＢ２の距離の下限値をＤ２ｍｉｎ、上限値をＤ２ｍａｘとする。Ｓ７０３で、Ｓ７０２で取得した手の形状における特徴点Ａ２とＢ２との距離Ｄ２を取得する。
【００３２】
Ｓ７０４で、Ｄ２がＤ２ｍｉｎ以下か判定する。Ｄ２ｍｉｎよりＤ２が大きいのであれば、ＮｏのフローでＳ７０５へ進む。Ｄ２ｍｉｎがＤ２より大きいのであれば、ＹｅｓのフローでＳ７０８へ進む。Ｓ７０５で、Ｄ２がＤ２  ｍａｘ以上か判定する。Ｄ２ｍａｘよりＤ２が大きいのであれば、ＹｅｓのフローでＳ７０６へ進み、Ｄ２ｍａｘより大きいのであれば、ＮｏのフローでＳ７０９へ進む。Ｓ７０６で、Ｓ３０１で取得した手の形状に対応する影画像の特徴点Ａ１とＢ１の距離Ｄ１を求める処理を行う。Ｄ１を求めるためには、次のような数式（１）を用いる。
Ｄ１＝（Ｄ２−Ｄ２ｍｉｎ）×（Ｄ１ｍａｘ−Ｄ１ｍｉｎ）×１００÷（Ｄ２ｍａｘ−Ｄ２ｍｉｎ）      （１）
【００３３】
Ｓ７０７で、影画像の特徴点であるＡ１とＢ１の距離Ｄ１に最小値のＤ１ｍｉｎを代入し、Ｓ７０７へ進む。Ｓ７０８で、影画像の特徴点であるＡ１とＢ１の距離Ｄ１に最大値のＤ１ｍａｘを代入し、Ｓ７０７へ進む。Ｓ７０９で、Ｄ１を用いて、Ｓ３０１で取得した手の形状に対応する影画像を合成する処理を行う。予め用意してある２状態の影画像間を線形に補間するような補間画像を生成する。補間画像の生成はどのような公知技術を用いてもよいが、補間画像中にもＳ７０１で求めた特徴点Ａ１とＢ１が含まれるように生成する。例えば、特徴点Ａ１とＢ１の距離に関して、Ｄ１ｍｉｎとＤ１ｍａｘ間の距離を均等に１０等分するような間隔で１０枚の補間画像を生成する。そしてＤ１に最もＡ１とＢ１の距離が近い画像を補間画像として取得し、処理を終了する。
【００３４】
以上のようなフローで、手の形状変化の度合いに応じて、影画像の形状を生成する処理を行う。
【００３５】
本実施例では、操作モードにトリミングモード、削除モード、通常モードを用いて説明したが、他も操作モードであっても構わない。操作モードを連想しやすい影画像を用いることで、操作者は現在の操作モードを認識しやすくなる。
【００３６】
本実施例では、トリミングモードであっても、削除モードであっても、同じジェスチャで実行するようにしたが、異なるジェスチャであっても構わない。しかしながら、本実施例のように、操作モードごとに異なる影画像を表示することで、単一のジェスチャで複数のコマンドを実行することが可能となる。
【００３７】
以上述べたように、本実施例によれば、手の形状や動きがコマンドとなるような場合に、影画像へ手の形状や動きを反映させることで、手の形状に対応して実行されるコマンドが機器にどのように認識されているか操作者に明確に提示することができるようになる。
【００３８】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005676959.tif 000002
【図２】
0005676959.tif 000003
【図３】
0005676959.tif 000004
【図４】
0005676959.tif 000005
【図５】
0005676959.tif 000006
【図６】
0005676959.tif 000007
【図７】
0005676959.tif 000008
【図８】
0005676959.tif 000009