(57)【特許請求の範囲】
【請求項１】
文字の入力に応じて所定の処理を行うコンピュータにおいて、空間におけるジェスチャーを認識するジェスチャー認識装置を用いて文字入力用の操作としてあらかじめ定められた形態のジェスチャーを検出し、その検出結果に応じて入力対象の文字を決定する方法であって、
それぞれ複数の文字が割り当てられた複数の文字キーを仮想の面に配列するための第１の定義情報と、配列された個々の文字キー毎にその文字キーに割り当てられた各文字を当該文字キーを貫く仮想の軸に対する相対位置をそれぞれ異ならせて前記仮想の面の外に配置するための第２の定義情報とを、前記コンピュータに登録し、
あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に前記第１の定義情報を適用して前記複数の文字キーの配列を設定する第１ステップと、
前記文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って前記文字キーの配列に対する選択位置を移動させる第２ステップと、
前記配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が前記文字キーが設定されている仮想の面に沿う方向から当該仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第２の定義情報に基づき配置される複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する第３ステップとを、実行し、
前記第２ステップには、前記コンピュータに接続された表示部に、前記文字キーの配列を表す画像のうちの一部の領域であって前記ジェスチャーの移動の方向に従って選択された文字キーを中心とする領域の画像を表示する処理が含まれ、前記第３ステップには、前記第２ステップでの表示に代えて、前記第２の定義情報に基づき、選択された文字キーに割り当てられている各文字の配置の関係を表す画像を前記表示部に表示する処理が含まれ、
前記第３ステップで入力文字が選択されたことに応じて、当該入力文字に適合する入力対象文字列の候補を抽出して抽出された候補のリストを前記表示部に表示する第４ステップを実行すると共に、当該リストが表示されている状態下で前記ジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を示す表示を更新する第５ステップを実行することを特徴とする文字入力方法。
【請求項２】
前記第２の定義情報は、同じ文字キーに割り当てられている複数の文字を、前記仮想の面に沿う第２の仮想の面に分布させることを表すものである、請求項１に記載された文字入力方法。
【請求項３】
前記仮想の面に配列される各文字キーには最大５個までの文字が割り当てられており、  前記第２の定義情報は、同じ文字キーに割り当てられている複数の文字のうちの１つを除く各文字を、前記仮想の面に沿う第２の仮想の面の前記仮想の軸への交差位置を含まない範囲に分布させると共に、前記第２の仮想の面を挟んで当該文字キーに対向する第３の仮想の面の前記仮想の軸との交差位置に残り１つの文字を配置することを表すものである、請求項１に記載された文字入力方法。
【請求項４】
前記ジェスチャー認識装置は手を動かすジェスチャーを認識するものであり、このジェスチャー認識装置の認識結果から１本指の形の手が検出されたことに応じて前記第１ステップを実行した後に、第１ステップにより設定された文字キーの配列の中のいずれかの文字キーの位置を初期の選択位置として第２ステップを開始し、前記１本指の形の手が選択されている文字キーを貫く前記仮想の軸に沿う方向に移動を開始したことが検出されたことに応じて前記第２ステップから第３ステップに移行する、請求項１に記載された文字入力方法。
【請求項５】
請求項１に記載された方法において、
各文字キーに割り当てられる文字の種類が異なる複数種の仮想キーボードについてそれぞれ前記第１の定義情報および第２の定義情報を前記コンピュータに登録し、前記第１〜第３の各ステップに関するジェスチャーとは異なる所定の形態のジェスチャーが検出されたことに応じて有効にする仮想キーボードを切り替え、有効な仮想キーボードに対応する第１の定義情報および第２の定義情報を用いて前記第１〜第３の各ステップを実行する、文字入力方法。
【請求項６】
請求項１に記載された方法において、
前記コンピュータに接続された表示部に入力位置を示すカーソルが設定された入力文字列表示領域を設定し、前記第２ステップにおいて入力文字が選択されたことに応じて当該選択された入力文字を前記入力文字列表示領域のカーソルの前に挿入する文字入力方法。
【請求項７】
請求項６に記載された方法において、
前記入力文字列表示領域に所定長さの入力文字列が表示されている状態下において、第１〜第３の各ステップに関するジェスチャーとは異なる形態の第１のジェスチャーが検出されたことに応じて前記カーソルの位置を移動させ、前記第１〜第３の各ステップに関するジェスチャーおよび第１のジェスチャーとは異なる形態の第２のジェスチャーが検出されたことに応じて前記カーソルの前の文字を削除する、文字入力方法。
【請求項８】
空間におけるジェスチャーを認識するジェスチャー認識装置と、このジェスチャー認識装置を用いて文字入力用の操作としてあらかじめ定められた形態のジェスチャーを検出し、その検出結果に応じて入力対象の文字を決定する文字入力装置と、表示部とを具備する情報処理装置であって、
前記文字入力装置は、
それぞれ複数の文字が割り当てられた複数の文字キーを仮想の面に配列するための第１の定義情報と、配列された個々の文字キー毎にその文字キーに割り当てられた各文字を当該文字キーを貫く仮想の軸に対する相対位置をそれぞれ異ならせて前記仮想の面の外に配置するための第２の定義情報とが登録された定義情報記憶手段と、
あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に前記第１の定義情報を適用して前記複数の文字キーの配列を設定する文字キー配列設定手段と、
前記文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って前記文字キーの配列に対する選択位置を移動させる文字キー選択手段と、
前記配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が前記文字キーが設定された仮想の面に沿う方向から前記仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第２の定義情報に基づき配置されている複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する入力文字選択手段と、
前記文字キー選択手段および入力文字選択手段の動作に連動して、検出中のジェスチャーにより選択可能な文字キーまたは文字を示す画像を前記表示部に表示する表示制御手段と、
前記入力文字選択手段により入力文字が選択されたことに応じて、当該入力文字に適合する入力文字列の候補を抽出する候補抽出手段とを具備し、
前記表示制御手段は、前記候補抽出手段により抽出された候補のリストを前記表示部に表示すると共に、当該リストが表示されている状態下で前記文字キー選択手段の処理にかかるジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を更新する、情報処理装置。
【請求項９】
前記表示制御手段は、前記文字キー選択手段による処理が行われている間は、前記文字キーの配列を表す画像のうちの一部の領域であって前記ジェスチャーの移動の方向に従って選択された文字キーを中心とする領域の画像を前記表示部に表示し、前記入力文字選択手段の処理が開始されたことに応じて、前記文字キーの表示に代えて、前記第２の定義情報に基づき、選択された文字キーに割り当てられている各文字の間の配置の関係を表す画像を前記表示部に表示する、請求項８に記載された情報処理装置。
【請求項１０】
空間におけるジェスチャーを認識するジェスチャー認識装置と、表示部とを備える情報処理装置のコンピュータを、前記ジェスチャー認識装置を用いて文字入力用の操作としてあらかじめ定められた形態のジェスチャーを検出し、その検出結果に応じて入力対象の文字を決定する文字入力装置として機能させるためのプログラムであって、
前記文字入力装置は、
それぞれ複数の文字が割り当てられた複数の文字キーを仮想の面に配列するための第１の定義情報と、配列された個々の文字キー毎にその文字キーに割り当てられた各文字を当該文字キーを貫く仮想の軸に対する相対位置をそれぞれ異ならせて前記仮想の面の外に配置するための第２の定義情報とが登録された定義情報記憶手段と、
あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に前記第１の定義情報を適用して前記複数の文字キーの配列を設定する文字キー配列設定手段と、
前記文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って前記文字キーの配列に対する選択位置を移動させる文字キー選択手段と、
前記配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が前記文字キーが設定された仮想の面に沿う方向から前記仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第２の定義情報に基づき配置されている複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する入力文字選択手段と、
前記文字キー選択手段および入力文字選択手段の動作に連動して、検出中のジェスチャーにより選択可能な文字キーまたは文字を示す画像を前記表示部に表示する表示制御手段と、
前記入力文字選択手段により入力文字が選択されたことに応じて、当該入力文字に適合する入力文字列の候補を抽出する候補抽出手段とを具備し、
前記表示制御手段は、前記候補抽出手段により抽出された候補のリストを前記表示部に表示すると共に、当該リストが表示されている状態下で前記文字キー選択手段の処理にかかるジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を更新する、文字入力用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間内であらかじめ定めた形態のジェスチャーが行われたことに応じて、そのジェスチャーを文字入力用の操作として検出して、その検出結果に応じて入力対象の文字を決定する文字入力方法、およびこの方法が適用された情報処理装置ならびにプログラムに関する。
【背景技術】
【０００２】
近年、小型の距離画像センサーにより空間内での人の手や指の動きを検出し、その動きのパターンを所定の情報処理を行うための操作として認識する技術が、実用化されている（たとえば、非特許文献１を参照。）。
【先行技術文献】
【非特許文献】
【０００３】
「ジェスチャーインターフェースが実現するモバイル新時代」  小型低価格化距離画像センサーで空間を立体的にとらえる，ＴＥＲＡ  ｖｏｌ．５９，２０１４年，エヌ・ティ・ティ・コムウェア株式会社広報室（https://www.nttcom.co.jp/tera/tera59/）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の認識技術は、今後、「ウエアラブル端末」と呼ばれる小型の情報処理装置を中心に、広く採用される可能性がある。特に、文字入力に関しては、現行のスマートフォンと同様のユーザインタフェースを小型のタッチパネル画面にそのまま導入しても、操作を行うのが困難という実情から、空間におけるジェスチャーにより文字入力を行う方法の実用化を検討する必要がある。
【０００５】
一般ユーザにとっては、使い慣れたタッチパネル用の文字入力操作を踏襲したジェスチャーインタフェースが提供されるのが望ましい。しかし、小型の画面に仮想キーボードの全体像を表示して、従来のタップ操作やフリック操作に該当するジェスチャーを受け付けると、入力ミスが生じたり、文字入力の効率が低下するおそれがある。
【０００６】
また、日本語入力用の１２キーボードのような、１つの文字キーに複数の文字が割り当てられている構成の仮想キーボードを使用する場合には、文字キーを選択するジェスチャーと、選択された文字キーに割り当てられている文字を選択するジェスチャーとの判別に混同が生じる可能性がある。たとえば、ユーザは、タップ操作を模したジェスチャーにより、同じキーに対する操作を続けて文字を切り替えているつもりであるが、指を上下させる間にその指が前後方向または左右方向に位置ずれすると、その位置ずれが隣の文字キーへの選択の切り替え操作として誤判別されるおそれがある。文字キーからのフリック操作を模したジェスチャーにより文字が選択される場合にも、ユーザが指を移動させる間の指の高さの変化によって、タップ操作や文字キーを選択する操作への切り替えが行われたと誤判別されるおそれがある。
【０００７】
本発明は、上記の問題に着目してなされたもので、空間でのジェスチャーによる文字入力操作を精度良く認識して、正しい文字を入力できるようにすることを課題とする。
【課題を解決するための手段】
【０００８】
本発明は、文字の入力に応じて所定の処理を行うコンピュータにおいて、空間におけるジェスチャーを認識するジェスチャー認識装置を用いて文字入力用の操作としてあらかじめ定められた形態のジェスチャーを検出し、その検出結果に応じて入力対象の文字を決定する文字入力方法に適用される。ジェスチャー認識装置は、人体の一部の３次元形状を計測するための手段（距離画像センサなど）や、この手段による計測結果を処理してジェスチャーのパターンや移動方向および移動量を認識するソフトウェアが組み込まれたコンピュータ（本発明の文字入力方法を実施するコンピュータまたはそれとは別体のコンピュータ）などにより構成される。
【０００９】
本発明による文字入力方法では、それぞれ複数の文字が割り当てられた複数の文字キーを仮想の面に配列するための第１の定義情報と、配列された個々の文字キー毎にその文字キーに割り当てられた各文字を当該文字キーを貫く仮想の軸に対する相対位置をそれぞれ異ならせて前記仮想の面の外に配置するための第２の定義情報とを、上記のコンピュータに登録した上で、以下の第１〜第３のステップを実行する。
【００１０】
第１ステップでは、あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に第１の定義情報を適用して前記複数の文字キーを配列する。第２ステップでは、文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って文字キーの配列に対する選択位置を移動させる。第３ステップでは、配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が文字キーが設定されている仮想の面に沿う方向から仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第２の定義情報に基づき配置される複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する。
【００１１】
たとえば、指を特定の形状にした手の動きにより文字入力が行われるものとすると、ユーザが上記の形状の手を所定の方向（たとえば、操作のためのガイダンス画面が表示される面に並行になる方向に）に沿って動かし始めたことにより、第１ステップおよび第２ステップが実行される。上記の手が仮想の面に沿って移動する状態が続いている間は第２ステップの処理が続き、単位時間当たりの移動の方向や移動量に応じて文字キーの配列に対する選択が切り替えられる。目的の文字キーを選択した手が文字キーが配列されている仮想の面から離れる方向（たとえば仮想の面の下方）に動かされると、第２ステップから第３ステップへと移行し、選択された文字キーに対して第２の定義情報に基づき配置される文字のうちのいずれかに向かって手が動かされたことによって、当該文字が入力文字として選択される。
【００１２】
上記のとおり、本発明では、文字キーが配列されている仮想の面に沿う方向から当該仮想の面から離れる方向にジェスチャーの移動方向が切り替えられたことに応じて、文字キーを選択するモードから選択された文字キーに割り当てられた文字を選択するモードへと切り替えられるので、文字を選択するための操作が他の文字キーに選択を切り替えるための操作として誤判別されるおそれがなくなり、ユーザが意図する文字を正しく入力することができる。
【００１３】
本発明の第１の実施形態では、第２の定義情報として、同じ文字キーに割り当てられている複数の文字を、文字キーが配列されている仮想の面に沿う第２の仮想の面に配置することを表す情報が登録される。この第２の定義情報によれば、文字キーが配列された仮想の面に各文字キー毎の第２の仮想の面を紐付けた２層構造の仮想キーボードを空間に設定して、文字入力を受け付けることができる。
【００１４】
本発明の第２の実施形態では、日本語の仮名文字入力用の１２キーボードのような、各文字キーに最大５個までの文字が割り当てられることを前提にする文字キーの配列に対し、第２の定義情報として、同じ文字キーに割り当てられている複数の文字のうちの１つを除く各文字を、前記仮想の面に沿う第２の仮想の面の前記仮想の軸への交差位置を含まない範囲に分布させると共に、第２の仮想の面を挟んで当該文字キーに対向する第３の仮想の面の前記仮想の軸との交差位置に残り１つの文字を配置することを表す情報を登録する。この定義情報によれば、文字キーが配列された仮想の面に文字キー毎の第２および第３の仮想の面を紐付けた３層構造の仮想キーボードを空間に設定して、文字入力を受け付けることができる。また文字キーに割り当てられる５個以内の文字を、タッチパネル用の仮想キーボードにおける配置を踏襲した関係をもたせて配置することができるので、タッチパネルの操作に慣れているユーザに受け入れやすいジェスチャーインタフェースを提供することができる。
【００１５】
本発明の第３の実施形態では、第２ステップに、前記コンピュータに接続された表示部に、前記文字キーの配列を表す画像のうちの一部の領域であって前記ジェスチャーの移動の方向に従って選択された文字キーを中心とする領域の画像を表示する処理が含まれる。また第３ステップには、第２ステップでの表示に代えて、第２の定義情報に基づき、選択された文字キーに割り当てられている各文字の配置の関係を表す画像を前記表示部に表示する処理が含まれる。これらの表示により、ユーザは、ジェスチャーにより選択されている文字キーや文字を認識して、入力文字の選択を正しく行うことができる。
【００１６】
さらに、上記第３の実施形態においては、第３ステップで入力文字が選択されたことに応じて、当該入力文字に適合する入力対象文字列の候補を抽出して抽出された候補のリストを前記表示部に表示する第４ステップを実行すると共に、当該リストが表示されている状態下で前記第１のジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を示す表示を更新する第５ステップを実行することができる。これらのステップによれば、複数の文字から成る文字列の入力を効率良く行うことができる。
【００１７】
本発明の第４の実施形態では、ジェスチャー認識装置を手を動かすジェスチャーを認識するように構成し、このジェスチャー認識装置の認識結果から１本指の形の手が検出されたことに応じて前記第１ステップを実行した後に、第１ステップにより設定された文字キーの配列の中のいずれかの文字キーの位置を初期の選択位置として第２ステップを開始する。さらに、１本指の形の手が選択されている文字キーを貫く仮想の軸に沿う方向に移動を開始したことが検出されたことに応じて第２ステップから第３ステップに移行する。この実施形態によれば、一本指の形の手を文字キーの配列に沿って移動させることで文字キーを選択した後に、選択された文字キーを貫く軸に沿う方向に手の移動方向を切り替えることにより、文字を選択するためのジェスチャーに移ることができる。
【００１８】
本発明の第５の実施形態では、各文字キーに割り当てられる文字の種類が異なる複数種の仮想キーボードについてそれぞれ第１の定義情報および第２の定義情報をコンピュータに登録する。そして、第１〜第３の各ステップに関するジェスチャーとは異なる所定の形態のジェスチャーが検出されたことに応じて有効にする仮想キーボードを切り替え、有効な仮想キーボードに対応する第１の定義情報および第２の定義情報を用いて第１〜第３の各ステップを実行する。この実施形態によれば、複数の字種の文字を空間でのジェスチャーにより入力することが可能になる。
【００１９】
本発明の第６の実施形態では、前記コンピュータに接続された表示部に入力位置を示すカーソルが設定された入力文字列表示領域を設定し、第２ステップにおいて入力文字が選択されたことに応じて当該選択された入力文字を前記入力文字列表示領域のカーソルの前に挿入する。この実施形態によれば、文字キーや文字を選択するためのジェスチャーを続けることによって、複数の入力文字を順に選択して、これらの文字を連ねた入力文字列を入力文字列表示領域に表示することができる。
【００２０】
さらに第６の実施形態においては、利便性を高めるために、入力文字列表示領域に所定長さの入力文字列が表示されている状態下において、第１〜第３の各ステップに関するジェスチャーとは異なる形態の第１のジェスチャーが検出されたことに応じて前記カーソルの位置を移動させ、第１〜第３の各ステップに関するジェスチャーおよび第１のジェスチャーとは異なる形態の第２のジェスチャーが検出されたことに応じて前記カーソルの前の文字を削除することもできる。
【００２１】
本発明は、さらに上記の方法を実施する文字入力装置として、情報処理装置のコンピュータを機能させるプログラムを提供する。このプログラムによる文字入力装置は、前述した第１および第２の定義情報が格納された定義情報記憶手段と、あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に第１の定義情報を適用して前記複数の文字キーの配列を設定する文字キー配列設定手段と、文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って前記文字キーの配列に対する選択位置を移動させる文字キー選択手段と、前記配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が前記文字キーが設定された仮想の面に沿う方向から仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第２の定義情報に基づき配置されている複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する入力文字選択手段とを具備するものとなる。
【００２２】
上記の文字入力装置には、文字キー選択手段および入力文字選択手段の動作に連動して、情報処理装置に設けられる表示部に、検出中のジェスチャーにより選択可能な文字キーまたは文字を示す画像を表示する表示制御手段を設けることができる。
【００２３】
さらに上記の文字入力装置には、入力文字選択手段により入力文字が選択されたことに応じて当該入力文字に適合する入力文字列の候補を抽出する候補抽出手段を設けることができる。この場合の表示制御手段には、候補抽出手段により抽出された候補のリストを前記表示部に表示すると共に、当該リストが表示されている状態下で文字キー選択手段の処理にかかるジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を更新する機能が設けられる。
【発明の効果】
【００２４】
本発明によれば、仮想の面に配列された複数の文字キーの中の１つを選択するためのジェスチャーと、選択された文字キーに割り当てられている複数の文字の中の１つを選択するためのジェスチャーとを、正しく判別することができる。よって、空間におけるジェスチャーによって効率良くかつ正しく文字を入力することが可能になる。
【図面の簡単な説明】
【００２５】
【図１】情報処理装置に対して文字入力用のジェスチャーが行われている例を示す説明図である。
【図２】文字入力装置の機能を示す機能ブロック図である。
【図３】日本語入力用の仮想キーボードの構成例を示す説明図である。
【図４】候補のリストに対する選択用のジェスチャーの例を示す説明図である。
【図５】入力エリアのカーソルの移動や入力文字の削除を指示するためのジェスチャーの例を示す説明図である。
【図６】仮想キーボードの種類を切り替えるためのジェスチャーの例を示す説明図である。
【図７】英字入力用の仮想キーボードの構成例を示す説明図である。
【図８】英数字入力用の仮想キーボードの構成例を示す説明図である。
【図９−１】文字入力装置におけるメインルーチンの処理手順を示すフローチャートである。
【図９−２】文字入力装置におけるメインルーチンの処理手順を示すフローチャートである。
【図１０−１】メインルーチンのうちの文字入力受付処理の詳細手順を示すフローチャートである。
【図１０−２】メインルーチンのうちの文字入力受付処理の詳細手順を示すフローチャートである。
【図１１】メインルーチンのうちの候補選択処理の詳細手順を示すフローチャートである。
【図１２−１】ユーザのジェスチャーに従って処理を進行させることにより生じる表示画面の変遷の例を示す説明図である。
【図１２−２】ユーザのジェスチャーに従って処理を進行させることにより生じる表示画面の変遷の例を示す説明図である。
【発明を実施するための形態】
【００２６】
図１は、本発明が適用された情報処理装置Ｓ（図１では、その本体のみを示す。）に対して文字入力用のジェスチャーが行われている状態を例示したものである。この実施例の情報処理装置Ｓは腕時計型のウエアラブル端末であって、内部には、距離画像センサやマイクロコンピュータなどが搭載された回路基板（図示せず。）が組み込まれ、前面にタッチパネルなどによる表示部４が設けられている。
【００２７】
距離画像センサは、赤外線またはレーザを用いて近傍の物体の３次元形状を反映した距離画像データを生成する。マイクロコンピュータには、距離画像データから情報処理装置の近傍の空間における人の手指を検出し、その位置や形状などを認識するプログラムが組み込まれている。このプログラムと距離画像センサとにより情報処理装置Ｓに設定される機能を、以下では「ジェスチャー認識装置」と呼び、図２において、符号２により示す。
【００２８】
マイクロコンピュータには、ジェスチャー認識装置２により認識されたジェスチャーのうち、あらかじめ定められた数種類のジェスチャーを判別して、そのジェスチャーに応じて入力文字を決定する文字入力装置１として当該マイクロコンピュータを動かすためのプログラムや、決定された入力文字を用いて所定の処理を行うアプリケーション３のプログラムも組み込まれている。
【００２９】
図２は、文字入力装置１に設けられた機能を、ジェスチャー認識装置２，入力対象のアプリケーション３，および表示部４との関係と共に示したものである。この実施例の文字入力装置１には、ジェスチャー判別部１０，仮想キーボード制御部１１，入力文字列組立部１２，候補検索部１３，入力文字列確定部１４，表示制御部１５などの処理部や、キー配列定義テーブル１０１や、複数種の単語が登録された辞書データベース１０２が設けられる。
【００３０】
ジェスチャー判別部１０は、ジェスチャー認識装置２の認識結果の中から文字入力用のジェスチャーを判別するもので、この判別結果を受けて他の処理部が動作することにより、ジェスチャーに応じた処理が行われる。
【００３１】
仮想キーボード制御部１１は、ジェスチャー判別部１０により文字入力のための最初のジェスチャーが検出されたことに応じて、キー配列定義テーブル１０１に登録された情報に基づき、ジェスチャーの指の位置に３層構造を有する仮想キーボード（詳細は後述する。）を設定する。さらに仮想キーボード制御部１１は、その後にジェスチャー判別部１０により判別されたジェスチャーに応じて、文字キーの配列に対する選択位置を切り替え、選択が確定した文字キーに割り当てられたいずれかの文字を選択する。
【００３２】
入力文字列組立部１２は、仮想キーボード制御部１１により選択された入力文字を順に連ねて入力文字列を組み立てる。入力文字列確定部１４は、確定を表すジェスチャーが行われたことに応じて入力文字列を確定し、その確定文字列をアプリケーション３に出力する。候補検索部１３は、入力文字列組立部１２により組み立てられた入力文字列により辞書データベース１０２を検索して最終形態の入力文字列の候補（以下「予測変換候補」という。）を抽出する処理や、入力文字列確定部１４により確定された文字列により辞書データベース１０２を検索して、確定された文字列に続いて入力され得る文字列（以下「繋がり候補」という。）を抽出する処理を実行する。
【００３３】
表示制御部１５には、表示部４にナビゲーションウィンドウ４１，入力エリア４２，候補ウィンドウ４３（図１を参照。）を表示するための表示処理部１６，１７，１８が含まれる。ナビゲーションウィンドウ４１には、文字入力操作の支援のための画像が表示される。入力エリア４２には、入力文字列組立部１２により組み立てられた入力文字列または入力文字列確定部１４より確定された入力文字列が表示される。候補ウィンドウ４３には、候補検索部１３により抽出された予測変換候補や繋がり候補のリストが表示される。
【００３４】
図３は、キー配列定義テーブル１０１に登録されている仮名入力用の仮想キーボード１１Ｊの構成例を示す。この仮想キーボード１１Ｊは、従前のスマートフォンのユーザインターフェースに採用されている１２キーボードを応用した３層構造となっている。具体的には、一番上の層（以下「第１レイヤＬ１」という。）に１２個の文字キー１００が配置され、それらの中の１０個の文字キー１００に、仮名文字が割り当てられ、残りの２個の文字キー１００に記号などが割り当てられる。仮名文字の割り当てについては、５０音表に基づき、子音を共通にする５個または３個の仮名文字が同一の文字キー１００に割り当てられる。各文字キー１００には、割り当てられた仮名文字の中の母音がア［ａ］となる文字「あ」「か」「さ」・・・「わ」（以下、これらを「代表文字」という。）が記されている。
【００３５】
２層目のレイヤ（以下「第２レイヤＬ２」という。）および３層目のレイヤ（以下「第３レイヤＬ３」という。）は、文字キー１００毎に独立に設けられ、対応する文字キー１００を貫く仮想の軸Ｃに中心を合わせて、第１レイヤＬ１に並行に配置される。第２レイヤＬ２には対応する文字キーに割り当てられた文字のうちの代表文字を除く複数の文字（４個以内）が配置され、第３レイヤＬ３に代表文字のみが配置される。なお、この実施例の仮名入力用の仮想キーボード１１Ｊは平仮名を入力するためのものであるが、カタカナ入力についても、同様の３層構造の仮想キーボードを設けることができる。
【００３６】
この実施例では、空間内において、１本指の形にした手を情報処理装置Ｓの表示部４の上方にかざして動かすジェスチャーを文字入力用の操作としており（図１を参照。）、表示部４の面に対して並行な仮想の面に沿って各レイヤＬ１，Ｌ２，Ｌ３が配置される。以下、文字キー１００の配列の横軸に沿う方向（「あ」「か」「さ」の各行の文字キー１００が並ぶ方向）を左右方向とし、縦軸に沿う方向（「あ」「た」「ま」の各行の文字キー１００が並ぶ方向）を前後方向とし、文字キー１００の四方を、「前」「後」「左」「右」と表現する。
【００３７】
第２レイヤＬ２では、第１レイヤＬ１の対応する文字キー１００に対して左側にずれた位置に母音をイ［ｉ］とする文字が配置され、後側にずれた位置に母音をウ［ｕ］とする文字が配置され、右側にずれた位置に母音をエ［ｅ］とする文字が配置され、前側にずれた位置に母音をオ［ｏ］とする文字が配置される。第３レイヤＬ３では、母音をア［ａ］とする代表文字が、第２レイヤＬ２を挟んで第１レイヤＬ１の文字キー１００に対向する位置（仮想の軸Ｃとの交差位置）に配置される。よって、第２レイヤＬ２および第３レイヤＬ３を第１レイヤＬ１の側から透視すると、各文字は、タッチパネル用の仮想キーボードにおけるフリック操作用の文字配置と同じ位置関係をもって配置された状態となる。
【００３８】
なお、実際の表示部４の面は水平方向に対して任意の方向に傾いていることが多いが、その傾きの度合に応じて各レイヤＬ１，Ｌ２，Ｌ３の向きも変化する。また、ジェスチャーを行う手の指は、必ずしも表示部４に対向させる必要はなく、距離画像センサが検出できる範囲内であれば、表示部４に対向する範囲より外に置かれてもよい。高さについても同様に、任意の高さでジェスチャーを行うことができる。
【００３９】
この実施例では、空間内において、１本指の形にした手を表示部４の面にほぼ並行に移動させるジェスチャー（以下、このジェスチャーを「並行移動」という。）と、１本指の形にした手を表示部４に近づけるジェスチャーおよび表示部４から遠ざけるジェスチャー（以下、前者のジェスチャーを「下降動作」といい、後者のジェスチャーを「上昇動作」という。）を、上記の仮想キーボード１１Ｊに対する操作としている。ジェスチャー判別部１０は、ジェスチャー認識装置２による認識結果に基づき１本指の指先の特徴点群の位置を追跡して、それらの移動方向や移動量を求めることにより、並行移動、下降動作、上昇動作のいずれが行われているかを判別する。
【００４０】
１本指の形の手の検出が開始されると、仮想キーボード制御部１１は、その手の指の位置に第１レイヤＬ１を設定し、第１レイヤＬ１内の所定の文字キー１００（たとえば「あ」行の文字キー１００）が選択された状態とする。その後に並行移動が検出されると、仮想キーボード制御部１１は、この並行移動を第１レイヤＬ１での移動であるとみなして、その移動に従って文字キー１００の配列に対する選択位置を切り替える。
【００４１】
いずれかの文字キー１００（たとえば図３中の「た」行の文字キー１００）が選択されている状態下で、１本指の形の手の下降動作が検出されると、仮想キーボード制御部１１は、選択されている文字キー１００に対する第２レイヤＬ２および第３レイヤＬ３を有効にする。その後に再び並行移動が検出されると、その並行移動は第２レイヤＬ２における移動として判別される。そして、前後左右のいずれかに向かう移動に応じて、第２レイヤＬ２に配置されている文字（「たとえば「ち」「つ」「て」「と」）の中から移動方向に対応する文字が入力文字として選択される。一方、並行移動が検出されないまま、下降動作の移動量が所定のしきい値を超えた場合には、その下降動作により第３レイヤＬ３に移動したと判別されて、第３レイヤＬ３に配置されている代表文字（たとえば「た」）が入力文字として選択される。
【００４２】
下降動作の移動量がしきい値以内に留まり、かつ並行移動が検出されることなく１本指の形の手の上昇動作が検出された場合には、その上昇動作は第１レイヤＬ１への戻り動作として判別される。上昇動作が終了して再び１本指の形の手による並行移動が検出された場合には、その移動に応じて第１レイヤＬ１の文字キー１００の選択を切り替える処理が再開される。また、第２レイヤＬ２または第３レイヤの文字が選択された後も１本指の形の手が維持されている場合には、第１レイヤＬ１の文字キー１００を選択する状態に戻ることにより、引き続き、文字入力用のジェスチャーに応じた処理が続けられる。
【００４３】
上記のとおり、この実施例では、１本指の形の手が並行移動から下降動作に切り替えられたことに応じて、文字キー１００が配列されている第１レイヤＬ１に対する選択を受け付けるモードから選択された文字キー１００に割り当てられた文字の選択を受け付けるモードに切り替えられる。よって、文字キー１００を選択した後の文字を選択するためのジェスチャーが他の文字キーに選択を切り替える操作として取り違えられるおそれがなくなり、ユーザが意図する文字を入力文字として決定することができる。
【００４４】
またユーザは、目的の文字キー１００まで指を動かしてその文字キー１００を軽く押す動作（下降動作）を行った後、スマートフォンでのフリック操作と同様の指の動きによって入力文字を選択することができる。よって、スマートフォンの操作に慣れたユーザが馴染みやすいジェスチャーにより文字入力を行うことができる。
【００４５】
ナビゲーションウィンドウ表示処理部１６は、１本指の形の手によるジェスチャーが検出されている間、単位時間当たりのジェスチャーにより選択されている文字キー１００や選択された文字キー１００に割り当てられている文字の配置のパターンを表す画像を含むナビゲーションウィンドウ４１を表示部４に表示する（後述する図１２を参照。）。この表示により、ユーザは、選択されている文字キー１００や文字を確認しながら、上記のジェスチャーを行うことができる。
【００４６】
仮想キーボード１１Ｊに対する操作以外の操作も、所定のルールに基づく空間内でのジェスチャーによって行われる。図４は、予測変換候補または繋がり候補のリストを含む候補ウィンドウ４３の表示に対して候補選択用のジェスチャーが行われている状態を示している。この実施例では、２本指の形の手の指を候補ウィンドウ４３の上方にかざして前後方向または左右方向に沿って移動させるジェスチャーが、候補の選択を切り替えるための操作に設定されており、指の移動方向や移動量に応じて選択中の候補が切り替えられる。
【００４７】
図５は、入力エリア４２に対するジェスチャーとそのジェスチャーに応じて行われる処理の具体例を示す。この実施例では、所定長さの入力文字列が表示されている入力エリア４２の上方で５本指の形の手をかざして、その手を入力文字列に沿って移動させるジェスチャーによって、入力エリア４２の中のカーソル４０の位置が切り替えられる（図５（１）（２）（３）を参照。）。また図５（４）に示すように、５本指の手を握ってグーの形の手に変更するジェスチャーが入力文字の削除を指示するための操作に設定されており、その動作に応じて入力エリア４２内のカーソル４０の前方の文字が削除される。また、手が握られた状態を所定時間以上維持すると、カーソル４０の前方の文字が順に削除される。
【００４８】
図２に示したキー配列定義テーブル１０１には、図３に示した仮名入力用の仮想キーボード１１Ｊの構成を示す定義情報のほか、図６（１）に示すような英文字入力用の仮想キーボード１１Ｅおよび数字入力用の仮想キーボード１１Ｎの定義情報が格納されている。また、英文字入力用の仮想キーボード１１Ｅについては、図６（２）に示すような２種類の仮想キーボード１１Ｅａ，１１Ｅｂ用の定義情報が格納されている。
【００４９】
この実施例では、３本指の形にした手を左右に振るジェスチャー（スワイプ）が、３種類の仮想キーボード１１Ｊ，１１Ｎ，１１Ｅの間での切り替えを指示するための操作に設定されている（図６（１）を参照。）。さらに英文字入力用の仮想キーボード１１Ｅについては、３本指の形の手を前後方向に振るジェスチャーが、大文字入力用の仮想キーボード１１Ｅａと小文字入力用の仮想キーボード１１Ｅｂとの間での切り替えを指示するための操作に設定されている（図６（２）を参照。）。
【００５０】
上記のほか、日本語入力用、英文字入力用、数字入力用の各仮想キーボード１１Ｊ，１１Ｅ，１１Ｎについて、それぞれ全角文字の入力モードと半角文字の入力モードとを、所定の形態のジェスチャーにより切り替えることもできる。
【００５１】
なお、英文字入力用の仮想キーボード１１Ｅは、各文字キー１００に割り当てられる文字が４個以内であるため、図７に示すように、文字キー１００が配列された第１レイヤＬ１と文字キー毎の第２レイヤＬ２とによる２層構造に設定される。各文字キー１００に対する第２レイヤＬ２では、対応する文字キー１００に対して前後左右の各方向にずれた位置に文字が配置される。
【００５２】
数字入力用の仮想キーボード１１Ｎでは、各文字キー１００に割り当てられる文字の数は１個であるので、第１レイヤＬ１のみの１層構造に設定される。
【００５３】
英字や数字入力用の仮想キーボードの構成は上記に限らず、図８に示すように、１０個の文字キー１００のそれぞれに複数の英文字と１つの数字とを割り当て、それらのうちの１つを代表文字として第３レイヤＬ３に配置し、残りの文字を、文字キー１００に対して前後左右に位置ずれさせて第２レイヤＬ２に配置することにより、３層構造の仮想キーボード１１Ｔを設けることもできる。割り当て文字の数が４個以下の文字キー１００についても同様に、代表文字（たとえば「Ｔ」）が第３レイヤＬ３に配置され、その他の文字（たとえば「Ｕ」「Ｖ」「８」）が第２レイヤＬ２の左側領域および上下の領域にそれぞれ配置される。この仮想キーボード１１Ｔによれば、ユーザは、従前のスマートフォンの英数入力用の仮想キーボードに近い感覚で文字入力操作を行うことができる。
【００５４】
図９（図９−１および図９−２）は、上記した各種ジェスチャーに応じて文字入力装置１において実施される処理の流れ（以下「メインルーチン」という。）を示すものである。このメインルーチンでは、ジェスチャー判別部１０がジェスチャー認識装置２から認識結果を取得して、その判別結果によりジェスチャーの内容を判別する処理（ステップＳ１，Ｓ２）が繰り返され、単位時間当たりの判別の内容に応じた手順が実行される。
【００５５】
１本指の形の手を移動させるジェスチャーが検出された場合には、仮想キーボード制御部１１による文字入力受付処理（ステップＳ３）に進む。この処理により入力文字が決定すると、候補検索部１３により予測変換候補が検索され（ステップＳ４）、この検索結果を受けた候補ウィンドウ表示処理部１８により、予測変換候補の候補リストが表示される（ステップＳ５）。
【００５６】
２本指の手を移動させるジェスチャーが検出された場合には、候補ウィンドウ４３が表示されていることを条件として（ステップＳ６が「ＹＥＳ」）、ステップＳ７の候補選択処理に進む。この候補選択処理により選択された候補により入力文字列が確定すると、候補検索部１３により確定文字列に対する繋がり候補が検索され（ステップＳ８）、この検索の結果を受けた候補ウィンドウ表示処理部１８により繋がり候補の候補リストが表示され（ステップＳ９）、候補ウィンドウ４３の表示が更新される。
【００５７】
３本指の手によるスワイプが検出された場合には、仮想キーボード制御部１１による仮想キーボードの切り替え処理が行われる。ただし、このスワイプが入力エリア４２に入力文字列が表示されている状態下で行われた場合には、入力エリア４２の入力文字列が確定されてから（ステップＳ１０，Ｓ１１）、仮想キーボードの切り替えに進む。
【００５８】
スワイプの方向が左方向または右方向であれば、図６（１）に示した３種類の仮想キーボード１１Ｊ，１１Ｅ，１１Ｎの間での切り替えが行われる（ステップＳ１３）。また、英文字用の仮想キーボード１１Ｅとして、図６（２）に示した２種類の仮想キーボード１１Ｅａ，Ｅｂの一方が選択されているときに、上記のスワイプが前または後に向かって行われた場合には、他方の英字用の仮想キーボードへの切り替えが行われる（ステップＳ１４，Ｓ１５）。
【００５９】
５本指の形の手によるジェスチャーが検出された場合には、入力エリア４２に入力文字列が表示されていることを条件に、その手が左または右に移動するか、もしくは開いた状態から握られた状態に変化するか否かの判別が行われる（ステップＳ１６，Ｓ１７）。ここで左方向または右方向への移動が検出された場合には、入力エリア表示処理部１７によって、入力エリア４２のカーソル４０を移動方向に対応する方向に沿って移動させる処理が行われる（ステップＳ１８）。また５本指の形の手が開いた状態から握られた状態に変化した場合には、入力エリア表示処理部１７によって、入力エリア４２のカーソル４０の前の文字を削除する処理が行われる（ステップＳ１９）。
【００６０】
各ジェスチャーに対する処理が終了した後はステップＳ１に戻り、以後のジェスチャーに対しても、上記したのと同様の手順で処理が実行される。上記に示したジェスチャー以外の形態のジェスチャーが検出された場合には、そのジェスチャーは文字入力には関係がないものとして無視され、ステップＳ１に戻る。
【００６１】
図１０（図１０−１および図１０−２）は、メインルーチンのステップＳ３において、３層構造の仮想キーボード１１Ｊを用いて文字入力を受け付ける場合の詳細な手順を示したものである。文字入力受付処理は、１本指の形の手によるジェスチャーが検出されたことに応じて開始された後、適宜、ジェスチャー判別部１０によるジェスチャー判別処理を行いながら、仮想キーボード制御部１１がナビゲーションウィンドウ表示処理部１６や入力文字列組立部１２と協働して処理を進行させる。
【００６２】
文字入力受付処理が開始されると、仮想キーボード制御部１１は、ジェスチャーをしている１本指に対応する位置に第１レイヤＬ１を設定し、この第１レイヤＬ１を、指が置かれているレイヤ（以下「滞在レイヤ」という。）として初期設定する（ステップＳ３０１）。この設定を受けて、ナビゲーションウィンドウ表示処理部１６によるナビゲーションウィンドウ４１の表示が開始される（ステップＳ３０２）。なお、ステップＳ３０２以降のナビゲーションウィンドウ４１に対する表示制御については、後述する図１２の具体例で説明を補足することとする。
【００６３】
この後、ジェスチャー判別部１０によって、１本指の形の手によるジェスチャーが続いていることやその手の移動方向が判別され（ステップＳ３０３，Ｓ３０４，Ｓ３０５，Ｓ３１０）、その判別結果に応じて異なる手順が実施される。以下、各手順を、ユーザにより実施される可能性が高いジェスチャーに対応づけて説明する。
【００６４】
ユーザが手を１本指の形にした後にすぐに並行移動を開始すると、ステップＳ３０４で「ＮＯ」、ステップＳ３０５で「ＹＥＳ」と判定された後、ステップＳ３０６で滞在エリアは第１レイヤＬ１であると判定されてステップＳ３０７に進み、単位時間当たりの手指の特徴点群の移動の方向と移動量とに応じて選択中の文字キー１００が切り替えられる（ステップＳ３０７）。この後も１本指の形の手の並行移動が続く間は、ステップＳ３０３〜３０７のループが繰り返されて、単位時間当たりの並行移動に応じて文字キー１００の配列における選択位置が変更される。
【００６５】
文字キー１００の選択を終えたユーザがジェスチャーを並行移動から下降動作に切り替えると、ステップＳ３０４およびステップＳ３０５で共に「ＮＯ」と判定された後に、ステップＳ３１０で移動方向は下であると判定される。さらにステップＳ３１１において滞在レイヤは第２レイヤＬ１であると判定されてステップＳ３１２に進み、滞在レイヤが第１レイヤＬ１から第２レイヤＬ２に変更される。
【００６６】
上記の滞在レイヤの変更後はステップＳ３０３に戻る。ユーザのジェスチャーが下降動作から再び並行移動に切り替えられた場合には、ステップＳ３０４で「ＮＯ」、ステップ３０５で「ＹＥＳ」と判定された後に、ステップＳ３０６で滞在レイヤは第２レイヤＬ２であると判定されてステップＳ３０８に進む。ステップＳ３０８では、仮想キーボード制御部１１によって、第２レイヤＬ２に配置されている文字のうちの手の移動方向に対応する文字が入力文字として選択される。さらに、この選択を受けた入力エリア表示処理部１７によって、選択された文字が入力エリア４２に表示される（ステップＳ３０９）。この後はメインルーチンに戻り、予測変換候補の検索（ステップＳ４）へと進む。
【００６７】
ユーザが第３レイヤの代表文字を選択する意図をもって下降動作を続けた場合には、１本指の形の手の下降に応じて滞在レイヤが第１レイヤＬ１から第２レイヤＬ２に変更され（ステップＳ３１２）、その後に戻ったステップＳ３０３でも下降動作が検出される。よってこの場合には、ステップＳ３０４，Ｓ３０５，Ｓ３１０の判定を経て、ステップＳ３１１において滞在レイヤは第２レイヤＬ２であると判定され、その判定に応じて仮想キーボード制御部１１によりステップＳ３１３およびＳ３１４が実行され、入力エリア表示処理部１７によってステップＳ３１５が実行される。
【００６８】
ステップＳ３１３では、滞在エリアが第２レイヤＬ２から第３レイヤＬ３に変更され、ステップＳ３１４では、第３レイヤＬ３に配置されている代表文字が入力文字として選択される。ステップＳ３１５では、ステップＳ３１４で選択された文字が入力エリア４２に表示される（ステップＳ３１５）。その後はメインルーチンに戻り、予測変換候補の検索（ステップＳ４）へと進む。
【００６９】
１本指の形の手による下降動作が開始された後、その手が文字が配置されている方向に向かわずに引き上げられた場合には、滞在レイヤが第１レイヤＬ１から第２レイヤＬ２に変更され（ステップＳ３１２）、その後のステップＳ３０３で上昇動作が検出される。この検出に応じてステップＳ３０４およびＳ３０５で「ＮＯ」と判定された後に、ステップＳ３１０で移動方向は上であると判定されてステップＳ３１６に進み、ステップＳ３１６において滞在エリアは第２レイヤＬ２であると判定される。これらの判定に応じてステップＳ３１７に進み、文字の選択が行われることなく、再び第１レイヤＬ１が滞在レイヤに設定される。
【００７０】
ステップＳ３０８またはステップＳ３１４で文字が選択された後も、一本指の形による手のジェスチャーが続けられた場合には、メインルーチンのステップＳ４およびＳ５が実行された後、ステップＳ１およびＳ２を経て再び文字入力受付処理が開始される。このときにも、滞在レイヤが第１レイヤＬ１に設定され（ステップＳ３０１）、第１レイヤＬ１における選択位置を表すナビゲーションウィンドウ４１が表示されるので、前回の入力文字の選択を終えた手をそのまま並行移動させることによって、次の入力文字に対応する文字キー１００を選択することができる。なお、ユーザは、前回の入力文字の選択後に、その選択を終えた指を持ち上げる可能性があるが、その上昇動作の検出に対しては、文字入力受付処理の再開直後のステップＳ３０１で第１レイヤＬ１が滞在レイヤに初期設定された後に、ステップＳ３０２〜Ｓ３０４，Ｓ３０５、Ｓ３１０，およびＳ３１６を経てステップＳ３０３に戻る流れにより、当該上昇動作は無視され、第１レイヤＬ１が滞在レイヤに設定された状態が維持される。
【００７１】
一本指の形の手が第１レイヤＬ１に留まったまま解除された場合や、下降動作に移行したがその後の並行移動や第３レイヤＬ３までの下降が生じることがないまま解除された場合には、ステップＳ３０４が「ＹＥＳ」となり、メインルーチンのステップＳ１に戻る。
【００７２】
なお、図６（１）（２）に示した英字入力用のキーボード１１Ｅ（１１Ｅａ，１１Ｅｂ）を用いた文字入力受付処理でも、第３レイヤＬ３に関する処理が行われないことを除いては、図１０と同様の手順で処理が進められる。一方、数字入力用の第１レイヤＬ１のみのキーボード１１Ｎを用いた文字入力受付処理では、処理開始後の並行移動に応じて、図１０のステップＳ３０３〜Ｓ３０７と同様の手順で処理が進められ、並行移動から下降動作にジェスチャーが切り替えられたことに応じて、選択中の文字キー１００に割り当てられている文字が入力文字として確定する。
【００７３】
図１１は、メインルーチンのステップＳ７（候補選択処理）の詳細な手順を示すものである。この処理は、ステップＳ５での予測変換候補のリストの表示またはステップＳ９での繋がり候補のリストの表示に対し、２本指の形の手によるジェスチャーが開始されたことに応じて実施される。
【００７４】
最初のステップＳ７１では、候補ウィンドウ表示処理部１８によって、候補ウィンドウ４３の先頭の候補の表示位置が選択位置として初期設定される。この後、ジェスチャー判別部１０によって、２本指の形の手によるジェスチャーが続けられていること、およびその手指の特徴点群の移動方向が判別され（ステップＳ７３，Ｓ７４）、その判別結果に応じて異なる手順が実施される。
【００７５】
ユーザが２本指の形の手による並行移動を続けている間は、ステップＳ７３で「ＮＯ」、ステップＳ７４で「ＹＥＳ」と判定されて、ステップＳ７５に進み、候補ウィンドウ表示処理部１８は、単位時間当たりの手指の特徴点群の移動の方向と移動量とに応じて選択位置を変更する（ステップＳ７５）。
【００７６】
候補の選択を終えたユーザが２本指の形の手を下降動作に切り替えると、ステップＳ７３およびステップＳ７４で「ＮＯ」と判定され、ステップＳ７６で「ＹＥＳ」と判定されてステップＳ７７に進み、候補ウィンドウ表示処理部１８は、選択中の候補を入力文字列として確定する。
【００７７】
入力エリア表示処理部１７は、上記の確定に応じて、確定された文字列により入力エリア４２の表示を更新する（ステップＳ７８）。具体的に説明すると、ステップＳ５で表示された予測変換候補のリストから入力文字列が確定された場合には、入力エリア４２に表示されている仮名文字列（未確定表示）が確定文字列に置き換えられる。一方、ステップＳ９で表示された繋がり候補のリストから入力文字列が確定された場合には、入力エリア４２に表示されている入力文字列に確定文字列が連ねられる。
【００７８】
ステップＳ７８が終了すると、メインルーチンに戻って、確定した入力文字列に対する繋がり候補の検索（ステップＳ８）が実施される。
【００７９】
２本指の形の手によるジェスチャーが続いている場合でも、並行移動および下降動作以外のジェスチャーは無視される。また候補の選択が確定するより前に２本指の形が解除されると、ステップＳ７３の判定が「ＹＥＳ」となり、メインルーチンのステップＳ１に戻る。
【００８０】
図１２（図１２−１および図１２−２）は、１本指の手によるジェスチャーと２本指の手によるジェスチャーとに応じて表示部４に展開される表示の具体例を示したものである。以下、この図を参照して、ナビゲーションウィンドウ４１や候補ウィンドウ４３に対する表示制御に関する説明を補足する。
【００８１】
図１２（ａ）は、空間内で一本指が最初に検出された直後、すなわち図１０の文字入力受付処理が開始された時点の表示部４の表示状態を示すもので、ナビゲーションウィンドウ４１と空白の入力エリア４２とが表示されている。
【００８２】
図１２（ａ）のナビゲーションウィンドウ４１では、初期データに基づき選択された「あ」行の文字キー１００の画像が中央に配置されている。この例のユーザは、「あ」行の文字キー１００が選択された状態下で１本指の手を下降させており、その下降により滞在レイヤが第１レイヤＬ１から第２レイヤＬ２に変更される（図１０のステップＳ３１２）。この変更に応じて、ナビゲーションウィンドウ４１の表示は、第２レイヤＬ２および第３レイヤＬ３に配置されている各文字を俯瞰した状態を表す画像に切り替えられる（図１２（ｂ））。
【００８３】
図１２（ｂ）のナビゲーションウィンドウ４１を確認したユーザは、１本指の手を前方に移動させており、この移動に応じて、ナビゲーションウィンドウ４１の表示は、移動方向に配置されている文字「お」を中央に位置づけた状態に変化する（図１２（ｃ））。この後、手指の特徴点群の前方への移動量がしきい値を超えると、図１０のステップＳ３０８，Ｓ３０９が実行され、入力エリア４２に「お」が表示される。さらに図９のメインルーチンに戻って、ステップＳ４，Ｓ５が実行されることにより、「お」に対する予測変換候補のリストを含む候補ウィンドウ４３が表示される。
【００８４】
図１２の例では、ユーザが「お」の選択後も１本指の形の手を維持しているため、ステップＳ４，Ｓ５の実行後は、ステップＳ１，Ｓ２を経て、再び文字入力受付処理が開始される。図１２（ｄ）は、文字入力受付処理に復帰したときの表示例であって、確定された「お」を含む入力エリア４２や予測変換候補のリストを含む候補ウィンドウ４３と共に、ナビゲーションウィンドウ４１が表示されている。
【００８５】
この後、１本指の形の手の並行移動に応じて第１レイヤＬ１における選択位置が変化し（図１０のステップＳ３０７）、ナビゲーションウィンドウ４１には、選択中の文字キー１００を中心にその近傍の文字キー１００にかかる所定範囲の画像が表示される（図１２（ｅ）（ｆ））。
【００８６】
図１２の例では、ユーザは「は」行の文字キー１００を選択して、再び下降動作を行っている。この下降動作に応じて滞在レイヤが第１レイヤＬ１から第２レイヤＬ２に変更される（図１０のステップＳ３１２）と、ナビゲーションウィンドウ４１の表示は選択中の文字キー１００の第２レイヤＬ２および第３レイヤＬ３に配置された文字を俯瞰する状態を表すものに更新される（図１２（ｇ））。この表示の更新後も、ユーザは下降動作を続けており、その下降動作に応じて滞在レイヤが第３レイヤＬ３に変更され（図１０のステップＳ３１３）、ナビゲーションウィンドウ４１は、第３レイヤＬ３に配置された文字「は」のみを表示する状態に変化する（図１２（ｈ））。
【００８７】
その後、図１０のステップＳ３１４によって「は」の文字が選択され、続くステップＳ３１５によって入力エリア４２にこの文字が加えられて、入力文字列が「おは」に更新される。さらにメインルーチンに戻って更新後の入力文字列による予測変換候補の検索（図９のステップＳ４）が行われ、これに続くステップＳ５によって、候補ウィンドウ４３の表示が更新される（図１２（ｉ））。
【００８８】
図１２の例では、「は」の選択後に手の形が１本指から２本指に切り替えられているため、文字入力受付処理は再開されず、図１２（ｉ）の画面ではナビゲーションウィンドウ４１が消失している。さらに、メインルーチンのステップＳ６を経て候補選択処理（ステップＳ７，図１１）が開始され、選択位置の初期設定（図１１のステップＳ７１）に応じて候補ウィンドウ４３の先頭候補の表示欄が所定の色彩で着色される（図１２（ｊ））。この着色位置は、その後の並行移動に伴う選択位置の更新（図１１のステップＳ７５）に従って移動する（図１２（ｋ））。
【００８９】
図１２の例では、２番目の候補の「おはよう」が選択されている状態下で２本指の形の手によるジェスチャーが下降動作に切り替えられている。この切り替えに応じて図１１のステップＳ７７，Ｓ７８が実行され、入力エリア４２の表示は「おはよう」に更新される。さらに確定後に復帰したメインルーチンにおいてステップＳ８，Ｓ９が実行されることによって、候補ウィンドウ４３の表示は、「おはよう」に対する繋がり候補のリストを表示するものに更新される（図１２（ｌ））。
【００９０】
上記のとおり、複数の文字が割り当てられた文字キー１００が複数配列された仮想の面（第１レイヤＬ１）と、各文字キー１００毎に設けられた第２レイヤＬ２および第３レイヤＬ３による３層構造の仮想キーボード１１Ｊを用いて文字入力用のジェスチャーを受け付ける実施例について、詳細に説明した。なお、この説明では、文字入力受付処理により選択された仮名文字または仮名文字列をそのまま確定するためのジェスチャーについては触れていないが、たとえば入力文字を選択した後の１本指の形の手の指を円を描くように動かすジェスチャーなど、これまでの説明に含まれていない形態のジェスチャーを、この確定処理にあてることができる。
【００９１】
上記の実施例では、１本指の形の手が検出されたことに応じて、その指の位置を含み、表示部４の面に沿って、文字キー１００の配列を含む仮想の面（第１レイヤ）を設定したが、これに限らず、１本指の形の手が表示部４の面にほぼ並行な移動を開始したことに応じて、その移動方向に沿う仮想の面を第１レイヤＬ１として、文字キー１００の配置を行ってもよい。
【００９２】
仮想キーボードの構成も上記の実施例に限定されるものではなく、様々な変形例が考えられる。たとえば仮名入力用の各文字キー１００の代表文字を第２レイヤＬ２の中央（仮想の軸Ｃと交差する位置）に配置することにより、２層構造の仮想キーボードを設定することもできる。この仮想キーボードが使用される場合には、文字キー１００を選択するための並行移動から下降動作に切り替えられた後、再び並行移動に切り替えられたことに応じて、その移動方向に配置されている文字（代表文字以外）を選択する一方、下降動作後の並行移動が行われることなく所定時間動作が停止したことに応じて代表文字を選択することができる。または、中央の代表文字以外の文字については、第１レイヤＬ１の指を目的とする文字が配置されている方向（斜め下）に直接に移動させるジェスチャーに応じて、その文字を入力文字として選択してもよい。
【００９３】
文字が配置されるレイヤを、第１レイヤＬ１の下方でなく、第１レイヤＬ１の上方に設定し、ジェスチャーの手が並行移動から上昇動作に切り替えられたことに応じて、文字キー１００を選択するモードから文字を選択するモードに移行することもできる。さらに、所定の字種の文字（たとえば平仮名）が配置されたレイヤを第１レイヤＬ１の下方に設定し、他の字種の文字（たとえばカタカナ）が配置されたレイヤを第１レイヤＬ１の上方に設定し、文字キー１００を選択するための並行移動をしていた手の移動方向が上下いずれの方向に切り替えられるかによって、入力対象の文字の字種を切り替えることもできる。
【００９４】
文字の配置に関しては、第１レイヤＬ１に並列な面への配置に限らず、たとえば、同じ文字キー１００に割り当てられている複数の文字が、当該文字キー１００を貫く仮想の軸Ｃに沿って異なる高さ位置に配置された構成の仮想キーボードを設定してもよい。この仮想キーボードが使用される場合には、並行移動に応じて第１レイヤＬ１における選択位置を変更し、ジェスチャーが並行移動から下降動作に切り替えられたことに応じて文字選択操作に移行したと判別し、表示部４に選択中の文字を表すナビゲーション表示を行いながら、その後の移動量に応じて文字の選択を切り替えることができる。また、下降動作から上昇動作に切り替えられたことに応じて文字の選択を逆順に切り替える処理や、移動が停止した位置に対応する文字を入力文字として決定する処理によって、入力文字の選択の精度を確保することができる。
【００９５】
文字キー１００の選択や文字の選択以外の処理（候補の選択、仮想キーボードの切り替え、カーソル移動、入力文字の削除など）に関するジェスチャーの形態も、上記の実施例に限らず、適宜、ユーザに受け入れやすい形態のジェスチャーを定めることができる。またいずれのジェスチャーも手の動きに限らず、たとえば、頭部を動かすジェスチャーや視線を動かすジェスチャーに応じて上記実施例と同様の文字入力受付処理を行うこともできる。
【００９６】
上記した各種実施形態を含む本発明による文字入力方法は、ウエアラブル端末に限らず、スマートフォンなどの他の情報処理装置に導入することもできる。また大型のディスプレイの一部に、ナビゲーションウィンドウ４１，入力エリア４２，候補ウィンドウ４３をエリアの表示領域を設けて、ディスプレイの前方空間でのジェスチャーに応じて本発明による文字入力方法により文字入力を受け付けることも可能である。
【符号の説明】
【００９７】
Ｓ    情報処理装置
１    文字入力装置
２    ジェスチャー認識装置
３    アプリケーション
４    表示部
１０  ジェスチャー判別部
１１  仮想キーボード制御部
１２  入力文字列組立部
１３  候補検索部
１４  入力文字列確定部
１５  表示制御部
１６  ナビゲーションウィンドウ表示処理部
１７  入力エリア表示処理部
１８  候補ウィンドウ表示処理部
４０  カーソル
４１  ナビゲーションウィンドウ
４２  入力エリア
４３  候補ウィンドウ
１１Ｊ，１１Ｅ，１１Ｅ１，１１Ｅ２，１１Ｔ  複数層の仮想キーボード
Ｌ１  第１レイヤ
Ｌ２  第２レイヤ
Ｌ３  第３レイヤ
Ｃ    仮想の軸
１００  文字キー
１０１  キー配列定義テーブル
１０２  辞書データベース
【図１】
0006620480.tif 000002
【図２】
0006620480.tif 000003
【図３】
0006620480.tif 000004
【図４】
0006620480.tif 000005
【図５】
0006620480.tif 000006
【図６】
0006620480.tif 000007
【図７】
0006620480.tif 000008
【図８】
0006620480.tif 000009
【図９−１】
0006620480.tif 000010
【図９−２】
0006620480.tif 000011
【図１０−１】
0006620480.tif 000012
【図１０−２】
0006620480.tif 000013
【図１１】
0006620480.tif 000014
【図１２−１】
0006620480.tif 000015
【図１２−２】
0006620480.tif 000016