(57)【要約】      （修正有）【課題】ユーザの所望どおりの仮想入力装置、入力方法及びプログラムを提供する。【解決手段】仮想入力装置は、複数の入力キーを備える仮想入力機器領域が所定の面に形成されており、仮想入力機器領域への操作を行うことで情報を入力する装置であり、外視野用の撮像部１６と、ジェスチャー認識部５４と、仮想キーボード設定処理部５５とを備える。外視野用撮像部１６は、仮想入力機器領域より広い領域を撮像する。ジェスチャー認識部５４は、外視野用撮像部１６によって撮像される領域内で行う所定の形状又は動作を検出する。仮想キーボード設定処理部５５は、ジェスチャー認識部５４によって検出された所定の形状又は動作に応じて仮想入力機器の仕様を設定する。【選択図】図３
2016177658.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力キーを備える仮想入力機器領域が所定の面に形成されており、前記仮想入力機器領域への操作を行うことで情報を入力する仮想入力装置であって、
前記仮想入力機器領域より広い領域を撮像する撮像手段と、
前記撮像手段によって撮像される領域内で行う所定の形状又は動作を検出する検出手段と、
前記検出手段によって検出された所定の形状又は動作に応じて仮想入力機器の仕様を設定する設定手段と、
を備えることを特徴とする仮想入力装置。
【請求項２】
前記検出手段は、通常のデータ入力の操作とは異なる所定の形状又は動作を検出する、
ことを特徴とする請求項１記載の仮想入力装置。
【請求項３】
前記検出手段は、通常のデータ入力の操作を行う領域よりも広い領域で所定の形状又は動作を検出する、
ことを特徴とする請求項１又は２記載の仮想入力装置。
【請求項４】
前記検出手段は、前記仮想入力機器への通常のデータ入力の操作モードと、仮想入力機器の仕様の設定操作モードとの切り替えを所定のショートカット操作で検出する、
ことを特徴とする請求項１乃至３のいずれか１項に記載の仮想入力装置。
【請求項５】
前記検出手段は、所定の動作として、形状の変化、位置の変化、動作速度のうちの少なくともいずれか一つを検出する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の仮想入力装置。
【請求項６】
前記設定手段は、前記検出手段によって検出される所定の形状又は動作と、前記仮想入力機器の仕様を、あらかじめ対応づけされた条件に基づいて、前記仮想入力機器の仕様を設定する、
ことを特徴とする請求項１乃至５のいずれか１項に記載の仮想入力装置。
【請求項７】
前記設定手段は、前記仮想入力機器の種類、設定領域、形状、向き、又はキー配列の仕様を設定する、
ことを特徴とする請求項１乃至６のいずれか１項に記載の仮想入力装置。
【請求項８】
複数の入力キーを備える仮想入力機器領域が所定の面に形成されており、前記仮想入力機器領域への操作を行うことで情報を入力し、当該仮想入力機器領域を撮像する撮像手段を備える仮想入力装置で実行される入力方法であって、
前記撮像手段によって撮像される領域内で行う所定の形状又は動作を検出する検出ステップと、
前記検出ステップによって検出された所定の形状又は動作に応じて仮想入力機器の仕様を設定する設定ステップと、
を含むことを特徴とする入力方法。
【請求項９】
複数の入力キーを備える仮想入力機器領域が所定の面に形成されており、前記仮想入力機器領域への操作を行うことで情報を入力し、当該仮想入力機器領域より広い領域を撮像する撮像手段を備える仮想入力装置を制御するコンピュータを、
前記撮像手段によって撮像される領域内で行う所定の形状又は動作を検出する検出手段、
前記検出手段によって検出された所定の形状又は動作に応じて仮想入力機器の仕様を設定する設定手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を入力するための仮想入力装置、入力方法、およびプログラムに関する。
【背景技術】
【０００２】
従来より、メガネ型や頭部装着型などの情報通信端末において、視界の表示部に、外視野スルー像と重畳して、仮想キーボードを表示し、外視野カメラ映像から手指と仮想キーとの位置関係を検出し、手指が仮想キー相当位置に打鍵する姿勢動作を識別して、打鍵入力されたキーに対応する文字やコマンドを入力できるようにするとともに、入力結果を仮想表示部に表示し、入力に応じた処理を実行する技術が、特許文献１及び２に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０６７０６２号公報
【特許文献２】特開２０１２−０５３５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１及び２に記載の技術では、仮想表示するキーボードは、個人の嗜好の違いなどにより、必ずしも使いやすいものではなかった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、ユーザの所望どおりの仮想入力装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の仮想入力装置は、
複数の入力キーを備える仮想入力機器領域が所定の面に形成されており、前記仮想入力機器領域への操作を行うことで情報を入力する仮想入力装置であって、
前記仮想入力機器領域より広い領域を撮像する撮像手段と、
前記撮像手段によって撮像される領域内で行う所定の形状又は動作を検出する検出手段と、
前記検出手段によって検出された所定の形状又は動作に応じて仮想入力機器の仕様を設定する設定手段と、
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ユーザが所望どおりの仮想入力装置を得ることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る仮想入力装置のハードウェアの構成を示すブロック図である。
【図２】姿勢動作に応じた仮想キーボードの選択／指定（表示）や仕様の変更の対応動作の具体例について説明するための模式図である。
【図３】図１の仮想入力装置の機能的構成のうち、仮想キーボード入力処理を実行するための機能的構成を示す機能ブロック図である。
【図４】図３の機能的構成を有する図１の仮想入力装置が実行する仮想キーボード入力処理の流れを説明するフローチャートである。
【図５】図３の機能的構成を有する図１の仮想入力装置が実行する仮想キーボード入力処理の流れを説明するフローチャートである。
【図６】図３の機能的構成を有する図１の仮想入力装置が実行する仮想キーボード入力処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
【００１０】
図１は、本発明の一実施形態に係る仮想入力装置のハードウェアの構成を示すブロック図である。
仮想入力装置１は、例えば、メガネ型や頭部装着型の情報通信端末として構成される。このような仮想入力装置１では、装置を装着したユーザの視界に、ユーザに提供する視界（本実施形態においては、装置を装着しない状態で見える視界）を撮影し、当該撮影した視界の映像（以下、「外視野のスルー画像」という。）と、当該外視野のスルー画像に重畳して、キーボードやテンキー等を模した仮想の入力機器（以下、「仮想キーボード」という。）を投影する。仮想入力装置１では、仮想キーボードへの所定の姿勢動作、即ち、所定の空間へのジェスチャー、（以下、単に「ジェスチャー」という。）によって、対応する入力操作が行われ、ユーザは実際にキーボードを操作しているような視覚的な体験を伴いながら、入力操作を行う。
【００１１】
仮想入力装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、入出力インターフェース１５と、撮像部１６と、入力部１７と、出力部１８と、記憶部１９と、通信部２０と、ドライブ２１と、を備えている。
【００１２】
ＣＰＵ１１は、ＲＯＭ１２に記録されているプログラム、又は、記憶部１９からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００１３】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１４】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インターフェース１５も接続されている。入出力インターフェース１５には、撮像部１６、入力部１７、出力部１８、記憶部１９、通信部２０及びドライブ２１が接続されている。
【００１５】
撮像部１６は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
【００１６】
光学レンズ部は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。
フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。
光学レンズ部にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【００１７】
イメージセンサは、光電変換素子や、ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）等から構成される。
光電変換素子は、例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、被写体像を光電変換（撮像）して画像信号を一定時間蓄積し、蓄積した画像信号をアナログ信号としてＡＦＥに順次供給する。
ＡＦＥは、このアナログの画像信号に対して、Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換処理等の各種信号処理を実行する。各種信号処理によって、ディジタル信号が生成され、撮像部１６の出力信号として出力される。
このような撮像部１６の出力信号を、以下、「撮像画像のデータ」と呼ぶ。撮像画像のデータは、ＣＰＵ１１や図示しない画像処理部等に適宜供給される。
【００１８】
このように構成される撮像部１６は、仮想入力装置１の装着者（ユーザ）の視界である外視野を撮影する外視野用撮像部１６−１と、仮想入力装置１の装着者の視線を検出するために用いる視線検出用撮像部１６−２とを有する。なお、視線の検出については、例えば、直接目を撮影して虹彩の位置に基づいて、行ったり、赤外線ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）等を眼球に照射し、当該赤外線の反射光の角膜上の位置（角膜反射の位置）に対する瞳孔の位置に基づいて、行ったりする。赤外線ＬＥＤによる視線の検出の手法を用いる場合は、視線検出用撮像部１６−２は、赤外線カメラにて構成する。
【００１９】
入力部１７は、各種釦等で構成され、ユーザの指示操作に応じて各種情報を入力する。
【００２０】
出力部１８は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。また、ディスプレイで構成される出力部１８は、ユーザの視界に外視野用撮像部１６−１から出力された外視野のスルー画像を表示し、当該外視野のスルー画像の内容に対応して仮想キーボードを重畳表示させる。仮想入力装置１では、仮想キーボードに対するユーザの手指の姿勢動作（ジェスチャー）に対応して仮想キーボードの表示や入力処理を行うために、ユーザは、現実世界にはない仮想キーボードに対して入力操作を行っているような感覚を惹起させる。
なお、視線検出用撮像部１６−２による視線の検出用の撮影や出力部１８による表示は、目を直接撮影したり、直接表示させたりしてもよいが、ハーフミラー等を用いて、間接的に行うように構成してもよい。このように構成することで、撮影部分や出力部分を実際にユーザの目の前に配置する必要がなくなり機構を単純化でき、例えば、出力部分を半透過型に構成すれば実世界の視界を用いるようにすることができ、外視野の映像を表示させる必要がなくなる。
【００２１】
記憶部１９は、ハードディスク或いはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種画像のデータを記憶する。
通信部２０は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００２２】
ドライブ２１には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２１によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部１９にインストールされる。また、リムーバブルメディア３１は、記憶部１９に記憶されている画像のデータ等の各種データも、記憶部１９と同様に記憶することができる。
【００２３】
このように構成される仮想入力装置１では、複数種の仮想キーボードの中から所定の仮想キーボードの選択／指定（表示）し、選択した仮想キーボードへの入力／入力の取り消し、仮想キーボードの終了（非表示）等の仮想キーボードへの操作を行うことができる機能を有する。仮想キーボードへの操作とは、表示される仮想キーボードに対して、対応する所定の姿勢動作（ジェスチャー）を行うことで実現する。
また、仮想入力装置１では、仮想キーボードの選択／指定（表示）、指定した仮想キーボードに対するサイズや形状や位置の変更等の仮想キーボードの仕様の変更（仮想キーボードの種類、設定領域、形状、又はキー配列の仕様の設定）を行うことができる機能を有する。仮想キーボードの仕様の変更は、仮想キーボードの仕様に対応した所定の姿勢動作（ジェスチャー）を行うことで実現する。
【００２４】
詳細には、仮想入力装置１では、仮想キーボードの動作として起動（１）・打鍵入力（２）・仕様変更（３）・終了（４）を行うことができる。
図２は、姿勢動作に応じた仮想キーボードの選択／指定（表示）や仕様の変更の対応動作の具体例について説明するための模式図である。
【００２５】
（１）起動
外視野用撮像部１６−１の映像（外視野のスルー画像）から、手指を検出して、ユーザの手が、机、壁、膝などの平曲面上や空間上で、打鍵（キー入力）の準備や開始を示す動作姿勢（ジェスチャー）を識別すると、仮想キーボードを出現させて起動させるＵＩ（Ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）の処理を起動する。
仮想キーボードを起動するための所定の動作姿勢とは、例えば、以下の図２の例に示すようなものがある。
両手の各指をやや開いて、掌を下側に、眼下の左右にそろえて構えるようにしたり、両手をキーボードのニュートラル位置（ホームポジション）に構えている（各指を置く）ようにしたりする動作姿勢をする。その結果、ＱＷＥＲＴＹ配列の仮想キーボードが指定されて表示される（仮想キーボード表示の開始）。
片手を手前に開いて、前（上）に出すような操作姿勢をする。その結果、携帯電話等で用いられるキー配列の仮想キーボードが指定されて表示される（仮想キーボード表示の開始）。
【００２６】
（２）打鍵入力
仮想キーボードに重なったユーザの手指を、外視野カメラ映像から認識し、ユーザの手指に重なる、あるいは影となる位置の仮想キーを、隠蔽表示（や半透過表示）する。そして、仮想キーボードへの手指の打鍵を検知すると、打鍵されたキーの仮想表示を、押し下げ表示や区別確認表示する。また、入力された文字やコマンドを、仮想の入力結果表示部に表示する。その後、入力に応じた処理を実行する。
また、図２の例に示すように、片手で手の甲を手前に向けた姿勢で、手を左右に振るような動作をすることで、入力を取り消す。
【００２７】
（３）仕様の設定
手指を使用に合わせた大きさにしたりする等の所定の姿勢動作によって仮想キーボードの仕様を設定する処理を開始する。所定の姿勢動作は、通常の打鍵入力操作であると誤認識してしまうことを防ぐために、通常の打鍵入力の時の動作では行うことのない特殊な動作を設定しておくことが望ましい。あるいは、手指の動作の他にも、例えば、通常のキーボード操作におけるショートカットキーを、予め設定しておき、その入力が検出された場合に、いずれかのモードに切り替えるようにしてもよい。
仕様の設定の例としては、（３−１）仮想キーボードの種類の選択、（３−２）仮想キーボードの形状、（３−３）仮想キーボードの拡大縮小、（３−４）仮想キーボードのキー配列があり、以下の図２の例に示すようなものがある。
【００２８】
（３−１）仮想キーボードの種類の選択
片手の掌を手前に開き、片手を掌の上に１つの指（本実施形態においては、人差し指）を置くような動作姿勢をする。その結果、テンキー／電卓型（電卓キー）／電話キー（電話型）の仮想キーボードが選択される。
対応する仮想キーボードの数を示すように指で指定文字を表現する（対応する仮想キーボード表示の開始）。例えば、仮想キーボード１：ＱＷＥＲＴＹ配列の仮想キーボード、仮想キーボード２：テンキーの仮想キーボード、仮想キーボード３：楽器の鍵盤の仮想キーボードが予め対応付けられており、対応する数字（１乃至３）を指で表現することで、対応する仮想キーボードが選択される（仮想キーボード表示の開始）。
【００２９】
（３−２）仮想キーボードの形状
ＱＷＥＲＴＹ配列の仮想キーボードの場合には、仮想キーボードの表示状態において、ホームポジションに構えているような姿勢から、両手の幅を広げたり狭めたりすることで仮想キーボードのサイズ（キーの大きさ、幅、ピッチ）を変更する。
即ち、両手の指で囲った矩形枠を左右に開く動作と、その時の手指の縦幅と開く横の長さに応じて、大きさを決める。この際、手指の大きさ、太さ、長さを検出して、表示仕様とするデフォルトキーボードの仕様（キー配置、キーの数）とに応じて、その手指の大きさ、太さ、長さにて入力しやすいと推定されるような、適切な大きさ、形状、ピッチの仮想キーに自動的に切り替えるようにしてもよい。さらに、投影面が平坦でなく一部凹凸がある場合には、一部領域に指をかざして動作することにより、その領域の表示のみを変更することもできる。例えば、曲面上に仮想キーボードを表示する場合、両端のキーを斜めから見ると幅が狭くなってしまうが、このような場合には、両端のキーの幅を広げる動作によって、そこだけ拡大することができる。
【００３０】
（３−３）仮想キーボードの拡大・縮小
仮想キーボードの大きさを、増減や拡大縮小するよう変更して、自由に設定できる。例えば、向い合わせた両手を左右に開く、すぼめる姿勢動作等で行う。
【００３１】
（３−４）キー配列
向かい合わせた両手を開く動きと軌跡から、直線状や曲線状の配列などを選択する。仮想キーボードにかざした両手を鏡面対象となるように逆方向に回転させると、仮想キーボードの中央を境に、左右半分のキーボードの向きが、それに追随するように回転する。
具体的には、ＱＷＥＲＴＹ配列の仮想キーボードの場合には、仮想キーボードの表示状態において、ホームポジションに構えているような姿勢から、両手の位置を変えて、曲線状に広げたり、狭めたりすることで、各手に対応して仮想キーボードが分離すると共に、曲線配列の仮想キーボードに変更され、位置変更の度合いに応じて、仮想キーボードのサイズ（キーの大きさ、幅、ピッチ）を変更する。
仮想キーボードの中央を中心に両手を回転させると、仮想キーボード全体が回転する。具体的には、ＱＷＥＲＴＹ配列の仮想キーボードの場合には、両手の相対的な位置を移動させて、互いに回転させることで、仮想キーボードの向き、位置、傾きを変更する。
また、アルファベット順、あるいは五十音順のキー配列、さらにはそれをユーザ自身にとって使いやすい配列に並び替えることもできる。
【００３２】
（３−５）キー配置
図２には示していないが、キーを個別あるいは領域で、指や掌などによって、仮想キーボードが表示されている面をなぞるように移動させると、ＱＷＥＲＴＹ配列のキーボードを独自のキー配置に変えることができる。
例えば、テンキーが仮想キーボードの左端にしたい場合、テンキー全体を掌で包み込むようにして、仮想キーボードの左側まで移動させると、本来、右端にあるテンキーを左端に配置させることができる。
【００３３】
（４）終了
打鍵の終了を示す所定の姿勢動作（ジェスチャー）により、仮想キーボードの処理を終了する。
仮想キーボードを終了するための姿勢や動作とは、以下の図２の例に示すようなものがある。
片手の掌を手前にして握ったような姿勢（キーボードを閉じる姿勢動作）から、手を広げたような姿勢にする。その結果、仮想キーボードが表示から消える（仮想キーボード表示の終了）。また、キーボードを閉じる姿勢動作に続けて、掌を上に開き、空中に捨てるようにしたり霧消したりさせたりる。
また、その他にも、「さよなら」を示す動作姿勢となるように手を振ったり、両手の掌を左右から近づけて、キーボードを縮め／畳み／つぶしたり、片手の掌を閉じたり（テンキーを終了）するように構成できる。
【００３４】
図３は、このような仮想入力装置１の機能的構成のうち、仮想キーボード入力処理を実行するための機能的構成を示す機能ブロック図である。
仮想キーボード入力処理とは、認識したジェスチャーに基づいて、仮想キーボードの開始／終了／操作／仕様変更を行う一連の処理をいう。
【００３５】
仮想キーボード入力処理を実行する場合には、図３に示すように、ＣＰＵ１１において、撮像制御部５１と、手指検出処理部５２と、入力管理部５３と、ジェスチャー認識部５４と、仮想キーボード設定処理部５５と、出力制御部５６と、が機能する。
また、記憶部１９の一領域には、仮想キーボード情報記憶部７１が設定される。
仮想キーボード情報記憶部７には、仮想キーボードの画像や仮想キーボードの設定に関する情報（以下、「仮想キーボード情報」という。）が記憶される。具体的には、仮想キーボード情報記憶部７１には、図２の例に示すような姿勢動作（ジェスチャー）に対応した仮想キーボード情報が記憶される。
【００３６】
撮像制御部５１は、撮影を行うように外視野用撮像部１６−１を制御する。その結果、外視野用撮像部１６−１では、仮想キーボード設定領域を含む外視野の撮影が行われ、外視野のスルー画像が出力される。
【００３７】
手指検出処理部５２は、外視野用撮像部１６−１から出力されたスルー画像を取得し、取得した外視野のスルー画像から、仮想キーボードを操作する人の手指を含む画像（以下、「手指画像」という。）を検出する。手指画像の検出は、画像認識や肌色物体を特定することで行う。
また、手指検出処理部５２は、検出された手指画像において、各指の位置の検出と、掌の重心位置の検出を行う。各指の位置の検出と、掌の重心位置の検出に際して、手指検出処理部５２は、より精度の高い検出を行うために、手指画像における手指の背景画像や手指以外の画像の除去を行う。また、手指検出処理部５２は、手指画像を各手に分離する（両手画像の分離）。
さらに、手指検出処理部５２は、各指単位での指先の位置や掌の重心位置検出を可能にするために各手における手指の輪郭抽出または、指を骨格として特定する骨格化（細線化）処理を行う。各指の位置の検出と、掌の重心位置の検出は、手指の輪郭または骨格化（細線化）された手指の形状から行う。
【００３８】
入力管理部５３は、設定フラグを用いて仮想キーボードの入力の開始や終了を管理する。
【００３９】
ジェスチャー認識部５４は、手指の所定の姿勢動作として、手指の形状の変化、位置の変化、動作速度を検出し、手指検出処理部５２によって検出された手の各指先の位置や掌の重心位置に基づいて、手指画像における手指の位置や姿勢動作（ジェスチャー）を認識する。
ジェスチャー認識部５４によって認識される姿勢動作（ジェスチャー）は、具体的には、図２の例に示すような仮想キーボードの入力の開始や終了の姿勢動作（ジェスチャー）、キー押し動作（打鍵）の姿勢動作（ジェスチャー）、仮想キーボードの仕様変更のジェスチャー等の各種姿勢動作（ジェスチャー）である。
【００４０】
仮想キーボード設定処理部５５は、仮想キーボードの入力の開始のジェスチャーが認識された場合には、画像を解析して、両手の掌の位置・幅、各手の指先の位置、ピッチを計測して、掌や指先の位置に応じたサイズの仮想キーボードを設定する。仮想キーボードの設定は、仮想キーボード情報記憶部７１に仮想キーボード情報として記憶される。
また、仮想キーボード設定処理部５５は、キー押し動作のジェスチャーが認識された場合には、キーの打鍵／離鍵に応じて、キー入力処理を実行する。その結果、対応するキーの入力が行われる。
また、仮想キーボード設定処理部５５は、仮想キーボードの仕様の変更のジェスチャーであった場合には、仮想キーボードの仕様の変更のジェスチャーの態様に応じて、ジェスチャーに対応するキー仕様（英字キー／カナキー／１０キー／電話キー等）に変更する。
また、仮想キーボード設定処理部５５は、仮想キーボードの位置、向き、サイズの変更のジェスチャー認識された場合には、仮想キーボードの位置、向き、サイズの変更のジェスチャーの態様に応じて、ジェスチャーに対応する位置、向き、サイズに変更する。
【００４１】
出力制御部５６は、仮想キーボード情報記憶部７１に記憶される仮想キーボード情報に基づいて、仮想キーボードを表示出力するように出力部１８を制御する。
具体的には、出力制御部５６は、仮想キーボード設定処理部５５によって設定された仮想キーボード情報に基づいて、仮想キーボードを掌、指先の位置に応じた位置に配置するように外視野のスルー画像に重ねた状態で、仮想表示を行うように出力部１８を制御する。また、出力制御部５６は、認識されたジェスチャーに基づいて、仮想キーボードの表示を終了して仮想キーボードを消去するように出力部１８を制御する。
また、出力制御部５６は、認識されたジェスチャーに基づいて、対応する仮想キーボードに変更する表示するように出力部１８を制御する。
【００４２】
図４乃至図６は、図３の機能的構成を有する図１の仮想入力装置１が実行する仮想キーボード入力処理の流れを説明するフローチャートである。
仮想キーボード入力処理は、ユーザによる入力部１７への仮想キーボード入力処理開始の操作により開始される。仮想キーボード入力処理が開始されることにより、撮像制御部５１は、撮影を行うように外視野用撮像部１６−１を制御する。その結果、外視野用撮像部１６−１では、外視野である仮想キーボード設定領域を含む外視野の撮影が行われ、外視野のスルー画像が出力される。
【００４３】
ステップＳ１１において、手指検出処理部５２は、外視野用撮像部１６−１から取得した外視野を撮影した映像データである外視野のスルー画像を取得する。
【００４４】
ステップＳ１２において、手指検出処理部５２は、手指検出処理部５２によって取得された外視野のスルー画像を解析して、対象の画像認識または肌色物体の特定を行い、手指画像を検出する。
【００４５】
ステップＳ１３において、手指検出処理部５２は、手指画像が検出されたか否かを判定する。
手指画像が検出されなかった場合には、ステップＳ１３においてＮＯと判定されて、処理はステップＳ１４に進む。
【００４６】
ステップＳ１４において、ＣＰＵ１１は、その他の画像認識処理を実行する。その後、仮想キーボード入力処理は終了する。
【００４７】
これに対して、手指画像が検出された場合には、ステップＳ１３においてＹＥＳと判定されて、処理はステップＳ１５に進む。
【００４８】
ステップＳ１５において、手指検出処理部５２は、手指のジェスチャーの検出を容易にするために、ジェスチャー検出の前処理として、手指画像における背景画像の除去、手指以外の画像の除去し、両手画像の分離する処理を実行する。
【００４９】
ステップＳ１６において、手指検出処理部５２は、手指のジェスチャーの検出を容易にするために、ジェスチャー検出の前処理として、手指画像における手指の輪郭抽出、または骨格化（細線化）処理を実行する。
【００５０】
ステップＳ１７において、手指検出処理部５２は、手指のジェスチャーの検出を容易にするために、ジェスチャー検出の前処理として、手指画像における手の各指先の位置の検出、掌の重心位置を検出する。
【００５１】
ステップＳ１８において、入力管理部５３は、仮想キーボード入力中であるか否かを判定する。入力管理部５３は、現在の設定が［ＦＬＡＧ＝０］の場合には、仮想キーボード入力中でないと判定し、現在の設定が［ＦＬＡＧ＝１］の場合には、仮想キーボード入力中であると判定する。
仮想キーボード入力中である場合には、ステップＳ１８においてＮＯと判定されて、処理はステップＳ４１に進む。ステップＳ４１以降の処理は後述する。
これに対して、仮想キーボード入力中でない場合には、ステップＳ１８においてＹＥＳと判定されて、処理はステップＳ１９に進む。
【００５２】
ステップＳ１９において、ジェスチャー認識部５４は、手指画像を解析して、手指によるジェスチャー認識を行う。
【００５３】
ステップＳ２０において、ジェスチャー認識部５４は、ジェスチャー認識の結果、認識されたジェスチャーが仮想キーボード入力開始のジェスチャーが検出されたか否かを判定する。
仮想キーボード入力開始のジェスチャーでなかった場合には、ステップＳ２０においてＮＯと判定されて、処理はステップＳ２４に進む。
【００５４】
ステップＳ２４において、ＣＰＵ１１は、その他のジェスチャー検出処理を実行する。その後、ジェスチャーに対応する処理が実行されることになる。その後、仮想キーボード入力処理は終了する。
【００５５】
これに対して、仮想キーボード入力開始のジェスチャーであった場合には、ステップＳ２０においてＹＥＳと判定されて、処理はステップＳ２１に進む。
【００５６】
ステップＳ２１において、仮想キーボード設定処理部５５は、手指画像を解析して、掌の位置・幅、指先の位置・ピッチを計測する。仮想キーボード設定処理部５５は、計測結果に基づいて、キーボードのサイズやキートップのピッチを設定する。
【００５７】
ステップＳ２２において、出力制御部５６は、仮想キーボード設定処理部５５によって設定されたキーボードを掌、指先の位置に応じた位置に、指先の幅、ピッチに応じたサイズの仮想キーボードを外視野映像（外視野のスルー画像）に重ねて仮想表示を行うように出力部１８を制御する。
【００５８】
ステップＳ２３において、入力管理部５３は、仮想キーボードの入力中でない［ＦＬＡＧ＝０］から、仮想キーボードの入力中となる［ＦＬＡＧ＝１］にセットする。その後、処理はステップＳ４１に進む。
【００５９】
ステップＳ４１おいて、ジェスチャー認識部５４は、ジェスチャー認識の結果、認識されたジェスチャーが仮想キーボード入力終了のジェスチャーが検出されたか否かを判定する。
仮想キーボード入力終了のジェスチャーでなかった場合には、ステップＳ４１においてＮＯと判定されて、処理はステップＳ４４に進む。ステップＳ４４以降の処理は後述する。
仮想キーボード入力終了のジェスチャーであった場合には、ステップＳ４１においてＹＥＳと判定されて、処理はステップＳ４２に進む。
【００６０】
ステップＳ４２において、出力制御部５６は、仮想キーボードの表示を終了して仮想キーボードを消去するように出力部１８を制御する。
【００６１】
ステップＳ４３において、入力管理部５３は、仮想キーボードの入力中である［ＦＬＡＧ＝１］から、仮想キーボードの入力中でない［ＦＬＡＧ＝０］にセットする。その後、仮想キーボード入力処理を終了する。
【００６２】
ステップＳ４４において、ジェスチャー認識部５４は、ジェスチャー認識の結果、認識されたジェスチャーがキー押し動作のジェスチャーであったか否かを判定する。
キー押し動作のジェスチャーでなかった場合には、ステップＳ４４においてＮＯと判定されて、処理はステップＳ６１に進む。ステップＳ６１以降の処理については後述する。
キー押し動作のジェスチャーであった場合には、ステップＳ４４においてＹＥＳと判定されて、処理はステップＳ４５に進む。
【００６３】
ステップＳ４５において、仮想キーボード設定処理部５５は、キーの打鍵／離鍵に応じて、キー入力処理を実行する。
【００６４】
ステップＳ４６において、出力制御部５６は、キーの打鍵／離鍵に応じたキー画像の変更表示を行うように出力部１８を制御する。その後、仮想キーボード入力処理を終了する。
【００６５】
ステップＳ６１において、ジェスチャー認識部５４は、ジェスチャー認識の結果、仮想キーボードの仕様の変更のジェスチャーが検出されたか否かを判定する。
仮想キーボードの仕様の変更のジェスチャーでない場合には、ステップＳ６１においてＮＯと判定されて、処理はステップＳ６４に進む。ステップＳ６４以降の処理は後述する。
仮想キーボードの仕様の変更のジェスチャーである場合には、ステップＳ６１においてＹＥＳと判定されて、処理はステップＳ６２に進む。
【００６６】
ステップＳ６２において、仮想キーボード設定処理部５５は、仮想キーボードの仕様の変更のジェスチャーの態様に応じて、ジェスチャーに対応するキー仕様（英字キー／カナキー／１０キー／電話キー等）に変更する。
【００６７】
ステップＳ６３において、出力制御部５６は、仮想キーボード設定処理部５５によって変更されたキー仕様の仮想キーボードに変更表示するように出力部１８を制御する。
【００６８】
ステップＳ６４において、ジェスチャー認識部５４は、ジェスチャー認識の結果、認識されたジェスチャーが仮想キーボードの位置、向き、サイズの変更のジェスチャーが検出されたか否かを判定する。
仮想キーボードの位置、向き、サイズの変更のジェスチャーでない場合には、ステップＳ６４においてＮＯと判定されて、処理はステップＳ６５に進む。
【００６９】
ステップＳ６５において、ジェスチャー認識部５４は、その他のジェスチャー検出処理を実行する。その後、ジェスチャーに対応する処理が実行されることになる。その後、仮想キーボード入力処理は終了する。
【００７０】
これに対して、仮想キーボードの位置、向き、サイズの変更のジェスチャーであった場合には、ステップＳ６４においてＹＥＳと判定されて、処理はステップＳ６６に進む。
【００７１】
ステップＳ６６において、仮想キーボード設定処理部５５は、仮想キーボードの位置、向き、サイズの変更のジェスチャーの態様に応じて、ジェスチャーに対応する位置、向き、サイズに変更する。
【００７２】
ステップＳ６７において、出力制御部５６は、仮想キーボード設定処理部５５によって変更された位置、向き、サイズの仮想キーボードに変更表示するように出力部１８を制御する。その後、仮想キーボード入力処理は終了する。
【００７３】
したがって、手指の動作によって、ユーザの所望どおりに仮想入力装置の仕様を決定できる。
【００７４】
このように構成される仮想入力装置１は、複数の入力キーを備える仮想キーボード領域が所定の面に形成されており、手指による仮想キーボード設定領域への操作を行うことで情報を入力する装置であり、外視野用撮像部１６−１と、ジェスチャー認識部５４と、仮想キーボード設定処理部５５と、を備える。
外視野用撮像部１６−１は、仮想キーボード領域より広い領域を撮像する。
ジェスチャー認識部５４は、外視野用撮像部１６−１によって撮像される領域内で行う手指による所定の形状又は動作姿勢を認識する。
仮想キーボード設定処理部５５は、ジェスチャー認識部５４によって検出された手指による所定の形状又は動作に応じて仮想キーボードの仕様を設定する。
これにより、仮想入力装置１においては、仮想キーボードの仕様を、ユーザの手指の動作姿勢に応じて決定するために、手指の動作姿勢によって、ユーザの所望どおりに仮想キーボードの仕様を決定できる。
【００７５】
ジェスチャー認識部５４は、通常の打鍵入力の操作とは異なる動作姿勢を認識する。
これにより、仮想入力装置１においては、通常の打鍵入力の操作とは異なる動作姿勢を認識するために、確実に仮想キーボードの仕様を変更することができる。
【００７６】
ジェスチャー認識部５４は、通常の打鍵入力の操作を行う領域よりも広い領域で動作姿勢を認識する。
これにより、仮想入力装置１においては、通常の打鍵入力の操作を行う領域よりも広い領域で動作姿勢を認識するために、仮想キーボードの仕様を打鍵入力の範囲に捕らわれずに変更することができ、サイズや形状変更等の仕様を変更することができる。
【００７７】
ジェスチャー認識部５４は、仮想キーボードへの通常の打鍵入力の操作モードと、仮想キーボードの仕様の設定操作モードとの切り替えを所定のショートカット操作によって行う。
これにより、仮想入力装置１においては、仮想キーボードへの通常の打鍵入力の操作モードと、仮想キーボードの仕様の設定操作モードとの切り替えを所定のショートカット操作によって行うことで、モード違いによる誤操作を防止することができる。
【００７８】
ジェスチャー認識部５４は、手指の所定の動作姿勢として、手指の形状の変化、位置の変化、動作速度のうちの少なくともいずれか一つを検出する。
これにより、仮想入力装置１においては、仮想キーボードの仕様を、ユーザの所望する仕様に細かく変更することができる。
【００７９】
仮想キーボード設定処理部５５は、ジェスチャー認識部５４によって検出される手指の所定の動作姿勢と、仮想キーボードの仕様を、あらかじめ対応づけされた条件に基づいて、仮想キーボードの仕様を設定する。
これにより、仮想入力装置１においては、仮想キーボードの仕様を、手指の所定の動作姿勢に対応付けて設定することができる。
【００８０】
仮想キーボード設定処理部５５は、仮想キーボードの種類、設定領域、形状、向き、又はキー配列の仕様を設定する。
これにより、仮想入力装置１においては、種々の仮想キーボードの仕様を変更することができる。
【００８１】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００８２】
上述の実施形態では、メガネ型端末において、出力部１８に仮想キーボードを表示させて使用するように構成したが、例えば、打鍵位置に仮想キーボードを投影するようにして構成してもよい。
【００８３】
また、上述の実施形態では、仮想キーボードとして打鍵入力機器を想定して説明したがこれに限られず、種々の入力機器を仮想入力装置化することができる。例えば、マウスやタッチパネルを仮想入力装置化して、当該動きを検出して動作させるようにしてもよい。
【００８４】
また、上述の実施形態では、誤動作防止を目的として手指を検出するように構成したがこれに限られない。検出対象において、特定の形状や動作を検出できればよく、例えば、予め登録した特定の形状において動作を含めて検出するように構成することができる。
【００８５】
また、上述の実施形態では、本発明が適用される仮想入力装置１は、メガネ型端末を例として説明したが、特にこれに限定されない。
例えば、本発明は、仮想キーボード入力処理機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、デジタルカメラ、携帯型ナビゲーション装置、携帯電話機、スマートフォン、ポータブルゲーム機等に適用可能である。
【００８６】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図３の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が仮想入力装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図３の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００８７】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００８８】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図１のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ），Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ（ブルーレイディスク）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図１のＲＯＭ１２や、図１の記憶部１９に含まれるハードディスク等で構成される。
【００８９】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【００９０】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００９１】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
複数の入力キーを備える仮想入力機器領域が所定の面に形成されており、前記仮想入力機器領域への操作を行うことで情報を入力する仮想入力装置であって、
前記仮想入力機器領域より広い領域を撮像する撮像手段と、
前記撮像手段によって撮像される領域内で行う所定の形状又は動作を検出する検出手段と、
前記検出手段によって検出された所定の形状又は動作に応じて仮想入力機器の仕様を設定する設定手段と、
を備えることを特徴とする仮想入力装置。
［付記２］
前記検出手段は、通常のデータ入力の操作とは異なる所定の形状又は動作を検出する、
ことを特徴とする付記１記載の仮想入力装置。
［付記３］
前記検出手段は、通常のデータ入力の操作を行う領域よりも広い領域で所定の形状又は動作を検出する、
ことを特徴とする付記１又は２記載の仮想入力装置。
［付記４］
前記検出手段は、前記仮想入力機器への通常のデータ入力の操作モードと、仮想入力機器の仕様の設定操作モードとの切り替えを所定のショートカット操作で検出する、
ことを特徴とする付記１乃至３のいずれか１つに記載の仮想入力装置。
［付記５］
前記検出手段は、所定の動作として、形状の変化、位置の変化、動作速度のうちの少なくともいずれか一つを検出する、
ことを特徴とする付記１乃至４のいずれか１つに記載の仮想入力装置。
［付記６］
前記設定手段は、前記検出手段によって検出される所定の形状又は動作と、前記仮想入力機器の仕様を、あらかじめ対応づけされた条件に基づいて、前記仮想入力機器の仕様を設定する、
ことを特徴とする付記１乃至５のいずれか１つに記載の仮想入力装置。
［付記７］
前記設定手段は、前記仮想入力機器の種類、設定領域、形状、向き、又はキー配列の仕様を設定する、
ことを特徴とする付記１乃至６のいずれか１つに記載の仮想入力装置。
［付記８］
複数の入力キーを備える仮想入力機器領域が所定の面に形成されており、前記仮想入力機器領域への操作を行うことで情報を入力し、当該仮想入力機器領域を撮像する撮像手段を備える仮想入力装置で実行される入力方法であって、
前記撮像手段によって撮像される領域内で行う所定の形状又は動作を検出する検出ステップと、
前記検出ステップによって検出された所定の形状又は動作に応じて仮想入力機器の仕様を設定する設定ステップと、
を含むことを特徴とする入力方法。
［付記９］
複数の入力キーを備える仮想入力機器領域が所定の面に形成されており、前記仮想入力機器領域への操作を行うことで情報を入力し、当該仮想入力機器領域より広い領域を撮像する撮像手段を備える仮想入力装置を制御するコンピュータを、
前記撮像手段によって撮像される領域内で行う所定の形状又は動作を検出する検出手段、
前記検出手段によって検出された所定の形状又は動作に応じて仮想入力機器の仕様を設定する設定手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【００９２】
１・・・仮想入力装置，１１・・・ＣＰＵ，１２・・・ＲＯＭ，１３・・・ＲＡＭ，１４・・・バス，１５・・・入出力インターフェース，１６・・・撮像部，１７・・・入力部，１８・・・出力部，１９・・・記憶部，２０・・・通信部，２１・・・ドライブ，３１・・・リムーバブルメディア，５１・・・撮像制御部，５２・・・手指検出処理部，５３・・・入力管理部，５４・・・ジェスチャー認識部，５５・・・仮想キーボード設定処理部，５６・・・出力制御部，７１・・・仮想キーボード情報記憶部
【図１】
2016177658.tif 000003
【図２】
2016177658.tif 000004
【図３】
2016177658.tif 000005
【図４】
2016177658.tif 000006
【図５】
2016177658.tif 000007
【図６】
2016177658.tif 000008