(57)【要約】【課題】利便性の高いバーチャル入力装置を提供する。【解決手段】情報処理装置１００は、検出対象の形状を検出する形状検出部３１１を備える。また、情報処理装置１００は、検出した検出対象の形状に基づいて表示するバーチャル入力装置を選択し、選択したバーチャル入力装置を表示する制御を行う出力制御部３３０を備える。また、情報処理装置１００は、出力制御部３３０による制御に基づいて、選択されたバーチャル入力装置を表示する入力装置表示部１２０を備える。【選択図】図４
2017174177.tif 000002
【特許請求の範囲】
【請求項１】
検出対象の形状を検出する形状検出手段と、
検出した前記検出対象の形状に基づいて表示するバーチャル入力装置を選択し、選択した前記バーチャル入力装置を表示する制御を行う出力制御手段と、
前記出力制御手段による制御に基づいて、選択された前記バーチャル入力装置を表示する表示手段と、
を備える情報処理装置。
【請求項２】
前記形状検出手段が検出する検出対象は、ユーザの手である、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記形状検出手段は、ユーザの伸びた指の本数を検出し、
前記出力制御手段は、検出した前記指の本数に基づき、表示する前記バーチャル入力装置を選択する、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
特定のエリアを撮影する撮影手段を備え、
前記形状検出手段は、前記撮影手段が撮影した画像から前記検出対象の形状を特定する、
ことを特徴とする請求項１から３の何れか一項に記載の情報処理装置。
【請求項５】
前記検出対象の形状と表示する前記バーチャル入力装置とを対応付けたテーブルを記憶する記憶手段を設け、
前記出力制御手段は、前記形状検出手段が検出した前記検出対象の形状と前記テーブルとに基づいて、表示する前記バーチャル入力装置を選択する、
ことを特徴とする請求項１から４の何れか一項に記載の情報処理装置。
【請求項６】
前記撮影手段が撮影した前記検出対象の動作から、前記検出対象が入力した入力情報を特定する特定手段をさらに備える、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記表示手段は、前記バーチャル入力装置の入力画面を表示するとともに、光を、前記入力画面に重なるように送信し、
前記撮影手段は、表示された前記バーチャル入力装置の入力画面上で動作する前記検出対象に反射した前記光を撮影し、
前記撮影手段が撮影した前記光と前記入力画面の情報とに基づいて、前記検出対象が入力した入力情報を特定する特定手段をさらに備える、
ことを特徴とする請求項４または６に記載の情報処理装置。
【請求項８】
前記光は、赤外線レーザにより照射された光である、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記検出対象が入力中であるか否かを、前記特定手段による前記入力情報の処理状況により判断する入力状況判断手段を設け、
前記出力制御手段は、前記入力状況判断手段が入力中であると判断している時は、表示する前記バーチャル入力装置を変更しない、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
前記特定手段が特定した入力情報を他の情報処理装置へ送信する送信手段をさらに備える、
ことを特徴とする請求項６または９に記載の情報処理装置。
【請求項１１】
検出対象の形状を検出する形状検出工程と、
検出した前記検出対象の形状に基づいて表示するバーチャル入力装置を選択し、選択した前記バーチャル入力装置を表示する制御を行う出力制御工程と、
前記出力制御工程による制御に基づいて、選択された前記バーチャル入力装置を表示する表示工程と、
を含む情報処理方法。
【請求項１２】
コンピュータを、
検出対象の形状を検出する形状検出手段、
検出した形状に基づいて表示するバーチャル入力装置を選択し、選択した前記バーチャル入力装置を表示する制御を行う出力制御手段、
前記出力制御手段による制御に基づいて、選択された前記バーチャル入力装置を表示する表示手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
表示されたキーボードを打つ指の動きを検出することにより、入力処理を行うバーチャルキーボードの開発が進められている。
【０００３】
例えば、特許文献１は、ユーザの手の骨格情報を抽出し、指先や関節の動きを追跡することにより、ユーザがバーチャルキーボードで入力した情報を特定する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１６５６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的なＱＷＥＲＴＹ型のキーボード、テンキー、タッチパッドなど、いろんな種類の入力装置が存在する。ユーザは、利用目的に応じて利便性の高い入力装置を選択して使い分ける。しかしながら、特許文献１は、複数種類のバーチャル入力装置を自動的に選択してユーザに提供する技術については開示していない。
【０００６】
本発明は、以上の状況に鑑みてなされたものであり、利便性の高いバーチャル入力装置を提供可能な情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る情報処理装置は、
検出対象の形状を検出する形状検出手段と、
検出した前記検出対象の形状に基づいて表示するバーチャル入力装置を選択し、選択した前記バーチャル入力装置を表示する制御を行う出力制御手段と、
前記出力制御手段による制御に基づいて、選択された前記バーチャル入力装置を表示する表示手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、利便性の高いバーチャル入力装置を提供できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る情報処理装置の物理構成を示す図である。
【図２】バーチャルキーボードの表示イメージについて説明するための図である。
【図３】検出した指の本数と表示するバーチャル入力装置との関係について説明するための図である。
【図４】実施形態１に係る情報処理装置の機能構成を示す図である。
【図５】（ａ）検出した指の本数が１０本であることを説明する図である。（ｂ）は表示されるバーチャル入力装置がキーボードであることを説明するための図である。
【図６】（ａ）検出した指の本数が５本であることを説明する図である。（ｂ）は表示されるバーチャル入力装置がテンキーであることを説明するための図である。
【図７】（ａ）検出した指の本数が１本であることを説明する図である。（ｂ）は表示されるバーチャル入力装置がタッチパッドであることを説明するための図である。
【図８】実施形態１に係る情報処理装置が行う情報取得処理について説明するためのフローチャート図である。
【図９】変形例１における検出した指の本数と表示するバーチャル入力装置との関係について説明するための図である。
【図１０】変形例１に係る情報処理装置が行う情報取得処理について説明するためのフローチャート図である。
【図１１】変形例２に係る情報処理装置による入力キーの特定方法について説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態に係る情報処理装置、情報処理方法およびプログラムについて、図面を参照しながら説明する。なお、図面中同一又は相当する部分には同一符号を付す。
【００１１】
（実施形態１）
本実施形態では、情報処理装置１００が、バーチャル入力装置に入力された情報を取得し、パーソナルコンピュータ２００に取得した情報を送信し、パーソナルコンピュータ２００が取得した情報を表示する場合について説明する。情報処理装置１００は、ユーザが情報の入力時に使用する指の本数により、表示するバーチャル入力装置を自動的に変更する。例えば、ユーザは、文字入力を行う場合には、入力装置としてキーボードを用いると便利である。この場合、ユーザは、１０本の指を伸ばした両手を、撮影部１１０の撮影エリアに置く。一方、数値計算を行う場合には、入力装置としてテンキーを用いると便利である。この場合、ユーザは、５本の指を伸ばした片手を、撮影部１１０の撮影エリアに置く。また、利用目的によっては、タッチパッドを使用したい場合もある。この場合、ユーザは人差し指だけを伸ばした片手を、撮影部１１０の撮影エリアに置く。情報処理装置１００は、ユーザが提示した伸びた指の本数を検出することにより、その指の本数に対応するユーザの利用目的に適したバーチャル入力装置を提供する。
【００１２】
実施形態１に係る情報処理装置１００は、物理的には図１に示すように、撮影部１１０、入力装置表示部１２０、記憶部１３０、通信部１４０、制御部１５０を備える。
【００１３】
撮影部１１０は、バーチャル入力装置を利用するユーザの手（検出対象）を撮影するために、情報処理装置１００近傍の特定のエリアを撮影する。撮影部１１０は、ＣＭＯＳ（Complementally Metal-Oxide Semiconductor）センサ等の撮像素子で構成される。
【００１４】
入力装置表示部１２０は、制御部１５０の制御を受けて、バーチャル入力装置のイメージ画像を机等の平面に投影する。図２は、制御部１５０の制御を受けた入力装置表示部１２０が、指定されたバーチャルキーボードのイメージ画像４１０（入力画面）を机５００に投影しているイメージ図である。入力装置表示部１２０は、赤色半導体レーザ、ホログラフィック光学素子等で構成される。投影するイメージ画像の色を白色や緑色にしたい場合には、半導体レーザの色を変えれば良い。
【００１５】
図１に示す記憶部１３０は、図３に示すように、撮影部１１０が撮影したユーザの手の画像から抽出したユーザの伸びた指の本数に対応させるバーチャル入力装置を記憶する。また、記憶部１３０は、バーチャル入力装置のイメージ画像情報を記憶する。
【００１６】
通信部１４０は、ユーザがバーチャル入力装置を利用して入力した情報を他装置であるパーソナルコンピュータ２００に送信する機能を有する。通信部１４０は、無線ＬＡＮ（Local Area Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）、ＲＦ−ＩＤ（Radio Frequency Identifier）、ＵＷＢ（Ultra Wide Band、超広帯域無線通信）などの無線通信モジュールから構成される場合と、ＵＳＢ（Universal Serial Bus）、ＲＳ−２３２Ｃ（Recommended Standard−２３２Ｃ）等の有線通信モジュールから構成される場合がある。
【００１７】
制御部１５０は、バーチャル入力装置のアプリケーションプログラムを実行することにより、バーチャル入力装置のイメージ画像を表示し、ユーザが入力する情報を取得する。詳細は後述する。制御部１５０は、図示しないＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＣＰＵ（Central Processing Unit）等から構成される。ＲＯＭは、バーチャル入力装置のアプリケーションプログラムを記憶する。ＲＡＭは、ＣＰＵのワークエリアとして機能する。ＣＰＵは、バーチャル入力装置のアプリケーションプログラムを実行することにより、以下に説明する機能を実現する。
【００１８】
パーソナルコンピュータ２００は、ユーザがバーチャル入力装置を利用して入力した情報を情報処理装置１００から取得し、表示部２１０に取得した情報を表示する。
【００１９】
次に、制御部１５０の機能構成について、図４を参照しながら説明する。制御部１５０は、図４に示すように、画像解析部３１０、出力制御部３３０の機能を有する。また、画像解析部３１０は、形状検出部３１１、入力情報特定部３１２、入力状況判断部３１３の機能を有する。また、記憶部１３０の記憶領域に、テーブル記憶部３２０を設ける。  
【００２０】
画像解析部３１０は、ユーザの伸びた指の本数を検出するために形状検出部３１１を備える。また、バーチャル入力装置を利用してユーザが入力した情報を特定する入力情報特定部３１２を備える。また、ユーザに提供するバーチャル入力装置を変更するタイミングを調整するために入力状況判断部３１３を備える。
【００２１】
形状検出部３１１は、撮影部１１０が撮影した画像を解析して、ユーザの伸びた指の本数（検出対象の形状）を特定する。伸びた指の本数の検出方法は、例えば、撮影したユーザの手の画像から手の骨格情報を抽出することにより、伸びた指の本数を検出することができる。例えば、５本の指が伸びた「パー」の状態であれば、伸びた指の本数を５本と検出する。２本の指が伸びた「チョキ」の状態であれば、伸びた指の本数を２本と検出する。
【００２２】
入力情報特定部３１２は、バーチャル入力装置の入力画面上のユーザの指の動きから、ユーザが入力しようとする情報を特定する。本実施形態では、撮影したユーザの手の画像から手の骨格情報を抽出して指先や関節の動きを追跡することにより、ユーザがバーチャル入力装置のどのキーを入力したかを特定する。また、入力情報特定部３１２は、後述する出力制御部３３０が選択したバーチャル入力装置に対応する画像解析プログラムを使用して、ユーザの指の動きから入力情報を特定する。この情報を特定するための技術として、例えば、特許文献１が開示する技術を用いることもできる。
【００２３】
入力状況判断部３１３は、ユーザに提供するバーチャル入力装置を変更するタイミングを制御するために、入力情報特定部３１２の処理状況を監視する。そして、入力状況判断部３１３は、ユーザがバーチャル入力装置を使用して入力中の場合には、バーチャル入力装置を変更しないようにするために、ユーザによる入力状況を出力制御部３３０に伝える。
【００２４】
テーブル記憶部３２０は、形状検出部３１１が検出したユーザの伸びた指の本数と、表示するバーチャル入力装置と、を対応付けるテーブルを記憶する。例えば、図３に示すような対応テーブルを記憶する。ここでは、バーチャル入力装置として、一般的なパーソナルコンピュータに使用するＱＷＥＲＴＹ型のキーボード、電子卓上計算機の入力用に使用するテンキー、マウス入力の代わりに使用するタッチパッドの３種類を記憶する場合について説明する。
【００２５】
出力制御部３３０は、形状検出部３１１が検出したユーザの伸びた指の本数に対応するバーチャル入力装置を、テーブル記憶部３２０に記憶されたテーブルに基づいて選択する。そして、出力制御部３３０は、記憶部１３０から該当するバーチャル入力装置の情報を取得し、該当するバーチャル入力装置のイメージ画像を表示するように入力装置表示部１２０を制御する。また、出力制御部３３０は、ユーザが入力中であるという情報を入力状況判断部３１３から取得している場合には、バーチャル入力装置を変更しないように制御する。
【００２６】
形状検出部３１１が検出したユーザの伸びた指の本数と、表示されるバーチャル入力装置と、の関係について、図５〜図７を参照しながら具体的に説明する。
【００２７】
最初に、形状検出部３１１が検出したユーザの伸びた指の本数が、１０本であった場合について、図５を参照しながら説明する。出力制御部３３０は、検出した伸びた指の本数が６本以上であるので、図３に示すテーブルに基づいて、投影するバーチャル入力装置として項番１の「キーボード」を選択する。そして、出力制御部３３０は、選択した「キーボード」のイメージ画像情報を記憶部１３０から取得し、入力装置表示部１２０に供給する。そして、入力装置表示部１２０は、図５（ｂ）に示すように、バーチャルキーボードのイメージ画像４１０を投影する。ユーザが、例えば、投影されたバーチャルキーボードで「はつめい」と入力すると、入力情報特定部３１２は、撮影部１１０が取得した画像を解析してユーザが入力した情報を「はつめい」と特定する。そして、通信部１４０は、特定した情報「はつめい」をパーソナルコンピュータ２００に送信する。パーソナルコンピュータ２００は、取得した情報「はつめい」を表示部２１０に表示する。
【００２８】
次に、形状検出部３１１が検出したユーザの伸びた指の本数が、５本であった場合について、図６を参照しながら説明する。出力制御部３３０は、検出した伸びた指の本数が５本であるので、図３に示すテーブルに基づいて、投影するバーチャル入力装置として項番２の「テンキー」を選択する。そして、出力制御部３３０は、選択した「テンキー」のイメージ画像情報を記憶部１３０から取得し、入力装置表示部１２０に供給する。そして、入力装置表示部１２０は、図６（ｂ）に示すように、バーチャルテンキーのイメージ画像４２０を投影する。ユーザが、例えば、投影されたバーチャルテンキーで情報「２＋３＝」を入力すると、入力情報特定部３１２は、撮影部１１０が取得した画像を解析してユーザが入力した情報を「２＋３＝」と特定する。そして、通信部１４０は、特定した情報をパーソナルコンピュータ２００に送信する。パーソナルコンピュータ２００は、取得した情報「２＋３＝」を表示部２１０に表示する。
【００２９】
次に、形状検出部３１１が検出したユーザの伸びた指の本数が、１本であった場合について、図７を参照しながら説明する。出力制御部３３０は、検出した伸びた指の本数が１本であるので、図３に示すテーブルに基づいて、投影するバーチャル入力装置として項番３の「タッチパッド」を選択する。そして、出力制御部３３０は、選択した「タッチパッド」のイメージ画像情報を記憶部１３０から取得し、入力装置表示部１２０に供給する。そして、入力装置表示部１２０は、図７（ｂ）に示すように、バーチャルタッチパッドのイメージ画像４３０を投影する。ユーザは、例えば、図７（ｂ）に示すタッチパッドの右下エリアを押下する指動作をすることにより、ファンクション表示を選択することができる。入力情報特定部３１２は、撮影部１１０が取得した画像からユーザが入力した情報が「ファンクション表示」であると特定する。そして、通信部１４０は、特定した情報をパーソナルコンピュータ２００に送信する。パーソナルコンピュータ２００は、該当する「ファンクション表示」を表示部２１０に表示する。
【００３０】
次に、以上の構成を有する情報処理装置１００が実行する情報取得処理について、図８に示すフローチャートを参照しながら説明する。図３に示すテーブルは、予め記憶部１３０に記憶されているものとする。ユーザが、バーチャル入力装置のアプリケーションプログラムを実行することにより、図８に示すフローチャートは開始される。
【００３１】
情報処理装置１００は、バーチャル入力装置のアプリケーションプログラムが実行されると、情報処理装置１００とパーソナルコンピュータ２００との通信回線の接続を行う（ステップＳ１１）。パーソナルコンピュータ２００との回線接続が完了すると、形状検出部３１１は、撮影部１１０が撮影した画像を解析して、ユーザの伸びた指の本数を検出する（ステップＳ１２）。撮影した画像からユーザの指を検出できない場合は（ステップＳ１３：Ｎｏ）、形状検出部３１１は、ユーザの伸びた指の本数の検出を継続する。
【００３２】
一方、撮影した画像からユーザの指を検出した場合は（ステップＳ１３：Ｙｅｓ）、形状検出部３１１は、ユーザの伸びた指の本数が何本であるかを判定する（ステップＳ１４）。ユーザの伸びた指の本数が確定すると、出力制御部３３０は、テーブル記憶部３２０に記憶された図３に示すテーブルに基づいて、投影するバーチャル入力装置を選択する。そして、出力制御部３３０は、該当するバーチャル入力装置のイメージ画像情報を記憶部１３０から取得し、入力装置表示部１２０に供給する。そして、入力装置表示部１２０は、供給されたバーチャル入力装置のイメージ画像を投影する（ステップＳ１５）。
【００３３】
バーチャル入力装置を投影する処理中も、形状検出部３１１は、ユーザの伸びた指の本数の検出を継続する（ステップＳ１６）。そして、ユーザの伸びた指の本数を検出できなくなった場合は（ステップＳ１７：Ｎｏ）、ステップＳ１２に戻って処理をやり直す。また、ユーザの伸びた指を検出している場合で（ステップＳ１７：Ｙｅｓ）、ユーザの伸びた指の本数に変化があった場合には（ステップＳ１８：Ｙｅｓ）、ステップＳ１４の処理に戻り、指本数の判定を再度行い、投影するバーチャル入力装置の選択をやり直す。
【００３４】
一方、画像から検出される伸びた指の本数に変化が無い場合には（ステップＳ１８：Ｎｏ）、ユーザが入力する情報の特定処理に移行する。画像解析部３１０は、入力情報の特定処理中も、継続してユーザの指の動作を検出する（ステップＳ１９）。所定時間の間、指の動きが無い場合には（ステップＳ２０：Ｎｏ）、ステップＳ１６に移行して、ユーザの伸びた指の本数の再検出を行う。表示しているバーチャル入力装置が、ユーザの所望する入力装置とは異なる可能性があるからである。ここで、指の動作の有無を判断する期間として、所定の時間（例えば５秒）を設ける。入力状況判断部３１３は、入力情報特定部３１２がユーザの入力する入力情報を所定時間処理していない場合、ユーザによる入力が中断していると判断する。このように入力状況を監視することにより、出力制御部３３０は、ユーザが入力中にバーチャル入力装置を変更しないように処理する。
【００３５】
ユーザが指を継続的に動作させて情報入力を行った場合には（ステップＳ２０：Ｙｅｓ）、入力情報特定部３１２は、ユーザの指の動きからユーザが入力した情報を特定する（ステップＳ２１）。本実施形態では、入力情報特定部３１２は、ユーザの指の位置と動きから、ユーザがバーチャル入力装置の入力画面上で指定したキーを特定する。また、選択されたバーチャル入力装置がタッチパッドであった場合には、ユーザの指の動作に基づいて入力された情報を特定する。
【００３６】
そして、送信部１４０は、特定した入力情報をパーソナルコンピュータ２００に送信する（ステップＳ２２）。ユーザによる終了指示がなければ（ステップＳ２３：Ｎｏ）、情報処理装置１００は、ステップＳ１９からステップＳ２３の処理を継続して繰り返す。一方、ユーザによる終了指示があった場合には（ステップＳ２３：Ｙｅｓ）、情報処理装置１００は処理を終了する。
【００３７】
（変形例１）
情報処理装置１００による情報取得処理の方法は、実施形態１で図８に示すフローチャートを用いて説明した方法に限定されることはなく、様々な変形も可能である。例えば、図３に示したテーブルを図９に示すテーブルに変更した場合について、図１０に示すフローチャートを参照しながら説明する。つまり、検出した指の本数が９本とか３本のような場合に、対応するバーチャル入力装置が設定されていない場合である。図９に示すテーブルは、予め記憶部１３０に記憶されているものとする。ユーザが、バーチャル入力装置のアプリケーションプログラムを実行することにより、図１０に示すフローチャートは開始される。
【００３８】
情報処理装置１００は、バーチャル入力装置のアプリケーションプログラムが実行されると、情報処理装置１００とパーソナルコンピュータ２００との通信回線の接続を行う（ステップＳ３１）。パーソナルコンピュータ２００との回線接続が完了すると、形状検出部３１１は、撮影部１１０が撮影した画像を解析して、ユーザの伸びた指の本数を検出する（ステップＳ３２）。撮影した画像からユーザの指を検出できない場合は（ステップＳ３３：Ｎｏ）、ステップＳ３２に戻り、形状検出部３１１は、ユーザの伸びた指の本数の検出を継続する。
【００３９】
一方、撮影した画像からユーザの指を検出した場合は（ステップＳ３３：Ｙｅｓ）、形状検出部３１１は、ユーザの伸びた指の本数が何本であるかを判定する（ステップＳ３４）。ユーザの伸びた指の本数が確定すると、出力制御部３３０は、テーブル記憶部３２０に記憶された図９に示すテーブルを参照して、検出した伸びた指の本数に対応するバーチャル入力装置が登録されているか否かを判断する（ステップＳ３５）。例えば、検出した伸びた指の本数が８本であった場合、図９に示すテーブルには伸びた指の本数８本に該当するバーチャル入力装置は登録されていない。このように、検出された伸びた指の本数に該当するバーチャル入力装置が登録されていない場合には（ステップＳ３５：Ｎｏ）、エラー表示を行い（ステップＳ３６）、ステップＳ３２の処理に戻る。
【００４０】
一方、検出した伸びた指の本数に該当するバーチャル入力装置が登録されていた場合には（ステップＳ３５：Ｙｅｓ）、出力制御部３３０は、投影するバーチャル入力装置を選択し、記憶部１３０から該当するバーチャル入力装置のイメージ画像情報を取得し、入力装置表示部１２０に供給する。そして、入力装置表示部１２０は、該当するバーチャル入力装置のイメージ画像を投影する（ステップＳ３７）。
【００４１】
バーチャル入力装置の入力画面（イメージ画像）を投影している間も、画像解析部３１０は、継続してユーザの指の動作を検出する（ステップＳ３８）。所定時間の間、指の動きが無い場合には（ステップＳ３９：Ｎｏ）、ステップＳ４２に移行して、伸びた指の本数の再検出を行う（ステップＳ４３）。投影しているバーチャル入力装置が、ユーザの所望する入力装置とは異なる可能性があるからである。入力状況判断部３１３は、入力情報特定部３１２がユーザの入力する入力情報を所定時間処理していない場合、ユーザによる入力が中断していると判断する。このように入力状況を観察することにより、出力制御部３３０は、ユーザが入力中にバーチャル入力装置を変更しないように処理する。
【００４２】
伸びた指の本数の再検出の結果、伸びた指の本数が０本であった場合には（ステップＳ４４：Ｙｅｓ）、ステップＳ３２の処理に戻り、伸びた指の本数の検出処理をやり直す。一方、検出した伸びた指の本数が０本ではない場合で（ステップＳ４４：Ｎｏ）、検出した伸びた指の本数に対応するバーチャル入力装置が図９に示すテーブルに登録されていた場合には（ステップＳ４５：Ｙｅｓ）、ステップＳ３７に戻って、新たなバーチャル入力装置を選択し直して投影する。例えば、ユーザが最初は１０本の指を提示して文字入力を所望していたが、数値計算をしたくなり、片手を隠した場合などである。この場合、最初は、検出される伸びた指の本数が１０本であるので、項番１のキーボードを投影している。その後、片手を隠すと、検出される伸びた指の本数は５本となり、図９に示すテーブルの項番２のテンキーが対応するので、投影するバーチャル入力装置をテンキーに変更するといった場合である。
【００４３】
一方、検出した伸びた指の本数に変化はあるが、検出した伸びた指の本数に対応するバーチャル入力装置が図９に示すテーブルに登録されていない場合には（ステップＳ４５：Ｎｏ）、ステップＳ３８に戻って、入力動作検出を継続する。例えば、小指が撮影部１１０の撮影エリアからはみ出したような場合である。このような場合には、ユーザはバーチャル入力装置の変更を所望しているとは推定できないので、情報処理装置１００は、投影しているバーチャル入力装置を変更せず、ユーザが入力している入力情報の取得を継続する。
【００４４】
一方、ユーザが指を動作させて情報入力を継続している場合には（ステップＳ３９：Ｙｅｓ）、入力情報特定部３１２は、ユーザの指の動きからユーザが入力した情報を特定する（ステップＳ４０）。そして、送信部１４０は、特定した入力情報をパーソナルコンピュータ２００に送信する（ステップＳ４１）。ユーザによる終了指示がなければ、情報処理装置１００は、ステップＳ３８からステップＳ４０の処理を継続して繰り返す。一方、ユーザによる終了指示があった場合には、情報処理装置１００は処理を終了する。
【００４５】
（変形例２）
実施形態１の説明では、表示されたバーチャル入力装置の入力画面上で動作するユーザの指を撮影し、撮影したユーザの指の動作から、ユーザが入力した入力情報を特定する方法について説明した。しかし、ユーザが入力する情報を特定する方法はこれに限定する必要はない。例えば、入力装置表示部１２０が、バーチャル入力装置の入力画面を表示するとともに、光を、入力画面に重なるように投射する。そして、撮影部１１０が、表示されたバーチャル入力装置の入力画面上で動作するユーザの指に反射した光を撮影する。そして、入力情報特定部３１２が、撮影した光からユーザの指が指示している位置を特定し、特定された位置から入力キーの情報を解析し、ユーザが入力した入力情報を特定するようにしても良い。
【００４６】
例えば、図１１に示すように、入力装置表示部１２０ａから、バーチャル入力装置として図３項番１の「キーボード」のイメージ画像を赤色半導体レーザで表示する。そして、入力装置表示部１２０ａが表示する「キーボード」のイメージ画像と重なるように、入力装置表示部１２０ｂから、赤外線レーザ（光）で投射する。ユーザの指が無い場合には、遮蔽物がないので赤外線レーザは直進し、撮影部１１０がその赤外線レーザを撮影することはない。一方、ユーザがバーチャルキーボードの例えばキー「ｋ」を入力すると、キー「ｋ」の位置に投射されている赤外線レーザがユーザの指で反射する。撮影部１１０は、その反射した赤外線レーザを撮影することになるので、ユーザの指で反射した赤外線によってユーザの指の位置の情報を取得する。入力情報特定部３１２は、この情報を解析することにより、ユーザが入力した情報を特定することができる。
【００４７】
光としては、赤外線レーザの他に、光通信に使用する光通信モジュールを利用した光を使用することもできる。また、直進性が高い高周波の電波を用いることもできる。
【００４８】
以上に説明したように、本実施形態に係る情報処理装置１００は、ユーザの伸びた指の本数を特定し、特定した指の本数に対応するバーチャル入力装置を選択し、選択したバーチャル入力装置のイメージ画像を表示する。これにより、情報処理装置１００は、複数種類のバーチャル入力装置の中からユーザの利用目的に合ったバーチャル入力装置を自動的に選択して提供することができる。
【００４９】
また、本実施形態に係る情報処理装置１００は、形状検出部３１１を備え、ユーザが提示した伸びた指の本数に対応したバーチャル入力装置を表示する。これにより、情報処理装置１００は、バーチャル入力装置を選択するための物理的なキーボード等を必要としない。また、ユーザによるバーチャル入力装置の選択操作を簡略化できる。
【００５０】
また、本実施形態に係る情報処理装置１００は、ユーザが提示する伸びた指の本数と選択するバーチャル入力装置とを対応付けるテーブル記憶部３２０を備える。これにより、このテーブルの定義を変更するだけで、選択するバーチャル入力装置の変更と選択方法の変更とをフレキシブルに設定することができる。
【００５１】
また、本実施形態に係る情報処理装置１００は、入力情報特定部３１２を備え、バーチャル入力装置の入力画面上のユーザの指の動きから、ユーザが入力しようとする入力情報を特定する。これにより、情報処理装置１００は、バーチャル入力装置としての機能を実現する。
【００５２】
また、バーチャル入力装置に含まれる複数の入力キーの情報を直進性の高い赤外線レーザ等を用いた光を投射することにより、ユーザが入力した情報を特定する精度を高めることができる。
【００５３】
また、本実施形態に係る情報処理装置１００は、入力状況判断部３１３を備え、ユーザが入力操作中であるか否かを判断する。これにより、情報処理装置１００は、ユーザの意に反して、バーチャル入力装置を変更することを防止できる。
【００５４】
また、本実施形態に係る情報処理装置１００は、通信部１４０を備える。これにより、情報処理装置１００は、ユーザが入力した情報を他装置に転送することができ、他装置の外部入力装置として機能することができる。
【００５５】
なお、上記の説明では、情報処理装置１００とパーソナルコンピュータ２００とが別装置に実装されている場合について説明した。しかし、情報処理装置１００とパーソナルコンピュータ２００とが、１つの装置に実装されていても良い。
【００５６】
また、上記の説明では、形状検出部３１１がユーザの伸びた指の本数を検出する場合について説明した。しかし、バーチャル入力装置を指定する方法はこれに限定する必要はない。例えば、グー、チョキ、パーの手の形でバーチャル入力装置を選択するようにしても良い。また、マル、バツ、三角、四角等の形状とバーチャル入力装置とを対応付けて、バーチャル入力装置を選択できるようにしても良い。
【００５７】
また、上記の説明では、バーチャル入力装置として、キーボード、テンキー、タッチパッドを例として説明した。しかし、バーチャル入力装置の対象はこれに限定する必要はない。例えば、ジョイスティック、マウス等を対象とすることもできる。また、ゲーム用の入力装置を想定する場合には、車のハンドルや、ピアノ、ギター、太鼓等をバーチャル入力装置の対象とすることもできる。
【００５８】
また、上記の説明では、図２及び図１１を用いて、入力装置表示部１２０が、選択したバーチャル入力装置のイメージ画像を机等に表示する場合について説明した。しかし、入力装置表示部１２０によるバーチャル入力装置の表示方法はこれに限定する必要はない。例えば、入力装置表示部１２０が、複数のＬＥＤ（Light Emitting Diode）から構成される表示パネルの該当するＬＥＤを点灯させることにより、選択したバーチャル入力装置のイメージ画像を表示パネルに表示するようにしても良い。また、表示パネルとして、タッチパネルを使用することもできる。
【００５９】
また、上記の説明では、入力状況判断部３１３が、入力情報特定部３１２の処理状況に基づいて、ユーザの入力状況を判断する説明をした。しかし、入力状況の判断はこれに限定する必要はない。例えば、入力状況判断部３１３は、撮影部１１０が撮影しているユーザの指の動きに基づいて入力状況を判断するようにしても良い。
【００６０】
また、バーチャル入力装置を変更するタイミングとしては、例えば、撮影部１１０が撮影しているユーザの伸びた指の本数の変化に基づいて入力状況を判断するようにしても良い。具体的には、撮影している画面からユーザの手を検出していない状況をトリガとして、バーチャル入力装置の変更を行うようにしても良い。また、特定の手の形状又は動きを定義しておき、その手の形状又は動きをトリガとして、バーチャル入力装置の変更を行うようにしても良い。
【００６１】
また、本発明に係る機能を実現するための構成を予め備えた情報処理装置１００として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る情報処理装置１００として機能させることもできる。すなわち、上記実施形態で例示した情報処理装置１００による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するＣＰＵ等が実行できるように適用することで、本発明に係る情報処理装置１００として機能させることができる。また、本発明に係る情報処理方法は、情報処理装置１００を用いて実施できる。
【００６２】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、コンピュータが読取可能な記録媒体（ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto Optical disc）等）に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
【００６３】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本発明の当初の特許請求の範囲に記載された発明を付記する。
【００６４】
（付記１）
検出対象の形状を検出する形状検出手段と、
検出した前記検出対象の形状に基づいて表示するバーチャル入力装置を選択し、選択した前記バーチャル入力装置を表示する制御を行う出力制御手段と、
前記出力制御手段による制御に基づいて、選択された前記バーチャル入力装置を表示する表示手段と、
を備える情報処理装置。
【００６５】
（付記２）
前記形状検出手段が検出する検出対象は、ユーザの手である、
ことを特徴とする付記１に記載の情報処理装置。
【００６６】
（付記３）
前記形状検出手段は、ユーザの伸びた指の本数を検出し、
前記出力制御手段は、検出した前記指の本数に基づき、表示する前記バーチャル入力装置を選択する、
ことを特徴とする付記１または２に記載の情報処理装置。
【００６７】
（付記４）
特定のエリアを撮影する撮影手段を備え、
前記形状検出手段は、前記撮影手段が撮影した画像から前記検出対象の形状を特定する、
ことを特徴とする付記１から３の何れか一に記載の情報処理装置。
【００６８】
（付記５）
前記検出対象の形状と表示する前記バーチャル入力装置とを対応付けたテーブルを記憶する記憶手段を設け、
前記出力制御手段は、前記形状検出手段が検出した前記検出対象の形状と前記テーブルとに基づいて、表示する前記バーチャル入力装置を選択する、
ことを特徴とする付記１から４の何れか一に記載の情報処理装置。
【００６９】
（付記６）
前記撮影手段が撮影した前記検出対象の動作から、前記検出対象が入力した入力情報を特定する特定手段をさらに備える、
ことを特徴とする付記４に記載の情報処理装置。
【００７０】
（付記７）
前記表示手段は、前記バーチャル入力装置の入力画面を表示するとともに、光を、前記入力画面に重なるように送信し、
前記撮影手段は、表示された前記バーチャル入力装置の入力画面上で動作する前記検出対象に反射した前記光を撮影し、
前記撮影手段が撮影した前記光と前記入力画面の情報とに基づいて、前記検出対象が入力した入力情報を特定する特定手段をさらに備える、
ことを特徴とする付記４または６に記載の情報処理装置。
【００７１】
（付記８）
前記光は、赤外線レーザにより照射された光である、
ことを特徴とする付記７に記載の情報処理装置。
【００７２】
（付記９）
前記検出対象が入力中であるか否かを、前記特定手段による前記入力情報の処理状況により判断する入力状況判断手段を設け、
前記出力制御手段は、前記入力状況判断手段が入力中であると判断している時は、表示する前記バーチャル入力装置を変更しない、
ことを特徴とする付記６に記載の情報処理装置。
【００７３】
（付記１０）
前記特定手段が特定した入力情報を他の情報処理装置へ送信する送信手段をさらに備える、
ことを特徴とする付記６または９に記載の情報処理装置。
【００７４】
（付記１１）
検出対象の形状を検出する形状検出工程と、
検出した前記検出対象の形状に基づいて表示するバーチャル入力装置を選択し、選択した前記バーチャル入力装置を表示する制御を行う出力制御工程と、
前記出力制御工程による制御に基づいて、選択された前記バーチャル入力装置を表示する表示工程と、
を含む情報処理方法。
【００７５】
（付記１２）
コンピュータを、
検出対象の形状を検出する形状検出手段、
検出した形状に基づいて表示するバーチャル入力装置を選択し、選択した前記バーチャル入力装置を表示する制御を行う出力制御手段、
前記出力制御手段による制御に基づいて、選択された前記バーチャル入力装置を表示する表示手段、
として機能させるためのプログラム。
【符号の説明】
【００７６】
１００…情報処理装置、１１０…撮影部、１２０，１２０ａ，１２０ｂ…入力装置表示部、１３０…記憶部、１４０…通信部、１５０…制御部、２００…パーソナルコンピュータ、２１０…表示部、３１０…画像解析部、３１１…形状検出部、３１２…入力情報特定部、３１３…入力状況判断部、３２０…テーブル記憶部、３３０…出力制御部、４１０…バーチャルキーボードのイメージ画像、４２０…バーチャルテンキーのイメージ画像、４３０…バーチャルタッチパッドのイメージ画像、５００…机
【図１】
2017174177.tif 000003
【図２】
2017174177.tif 000004
【図３】
2017174177.tif 000005
【図４】
2017174177.tif 000006
【図５】
2017174177.tif 000007
【図６】
2017174177.tif 000008
【図７】
2017174177.tif 000009
【図８】
2017174177.tif 000010
【図９】
2017174177.tif 000011
【図１０】
2017174177.tif 000012
【図１１】
2017174177.tif 000013