JP6620480B2 - 文字入力方法および文字入力用のプログラムならびに情報処理装置 - Google Patents

文字入力方法および文字入力用のプログラムならびに情報処理装置 Download PDF

Info

Publication number
JP6620480B2
JP6620480B2 JP2015181580A JP2015181580A JP6620480B2 JP 6620480 B2 JP6620480 B2 JP 6620480B2 JP 2015181580 A JP2015181580 A JP 2015181580A JP 2015181580 A JP2015181580 A JP 2015181580A JP 6620480 B2 JP6620480 B2 JP 6620480B2
Authority
JP
Japan
Prior art keywords
character
gesture
input
key
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015181580A
Other languages
English (en)
Other versions
JP2017058818A (ja
Inventor
八木 秀樹
秀樹 八木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2015181580A priority Critical patent/JP6620480B2/ja
Priority to US15/509,698 priority patent/US10444851B2/en
Priority to PCT/JP2016/073713 priority patent/WO2017047304A1/ja
Priority to EP16843207.8A priority patent/EP3336662B1/en
Publication of JP2017058818A publication Critical patent/JP2017058818A/ja
Application granted granted Critical
Publication of JP6620480B2 publication Critical patent/JP6620480B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Description

本発明は、空間内であらかじめ定めた形態のジェスチャーが行われたことに応じて、そのジェスチャーを文字入力用の操作として検出して、その検出結果に応じて入力対象の文字を決定する文字入力方法、およびこの方法が適用された情報処理装置ならびにプログラムに関する。
近年、小型の距離画像センサーにより空間内での人の手や指の動きを検出し、その動きのパターンを所定の情報処理を行うための操作として認識する技術が、実用化されている(たとえば、非特許文献1を参照。)。
「ジェスチャーインターフェースが実現するモバイル新時代」 小型低価格化距離画像センサーで空間を立体的にとらえる,TERA vol.59,2014年,エヌ・ティ・ティ・コムウェア株式会社広報室(https://www.nttcom.co.jp/tera/tera59/)
上記の認識技術は、今後、「ウエアラブル端末」と呼ばれる小型の情報処理装置を中心に、広く採用される可能性がある。特に、文字入力に関しては、現行のスマートフォンと同様のユーザインタフェースを小型のタッチパネル画面にそのまま導入しても、操作を行うのが困難という実情から、空間におけるジェスチャーにより文字入力を行う方法の実用化を検討する必要がある。
一般ユーザにとっては、使い慣れたタッチパネル用の文字入力操作を踏襲したジェスチャーインタフェースが提供されるのが望ましい。しかし、小型の画面に仮想キーボードの全体像を表示して、従来のタップ操作やフリック操作に該当するジェスチャーを受け付けると、入力ミスが生じたり、文字入力の効率が低下するおそれがある。
また、日本語入力用の12キーボードのような、1つの文字キーに複数の文字が割り当てられている構成の仮想キーボードを使用する場合には、文字キーを選択するジェスチャーと、選択された文字キーに割り当てられている文字を選択するジェスチャーとの判別に混同が生じる可能性がある。たとえば、ユーザは、タップ操作を模したジェスチャーにより、同じキーに対する操作を続けて文字を切り替えているつもりであるが、指を上下させる間にその指が前後方向または左右方向に位置ずれすると、その位置ずれが隣の文字キーへの選択の切り替え操作として誤判別されるおそれがある。文字キーからのフリック操作を模したジェスチャーにより文字が選択される場合にも、ユーザが指を移動させる間の指の高さの変化によって、タップ操作や文字キーを選択する操作への切り替えが行われたと誤判別されるおそれがある。
本発明は、上記の問題に着目してなされたもので、空間でのジェスチャーによる文字入力操作を精度良く認識して、正しい文字を入力できるようにすることを課題とする。
本発明は、文字の入力に応じて所定の処理を行うコンピュータにおいて、空間におけるジェスチャーを認識するジェスチャー認識装置を用いて文字入力用の操作としてあらかじめ定められた形態のジェスチャーを検出し、その検出結果に応じて入力対象の文字を決定する文字入力方法に適用される。ジェスチャー認識装置は、人体の一部の3次元形状を計測するための手段(距離画像センサなど)や、この手段による計測結果を処理してジェスチャーのパターンや移動方向および移動量を認識するソフトウェアが組み込まれたコンピュータ(本発明の文字入力方法を実施するコンピュータまたはそれとは別体のコンピュータ)などにより構成される。
本発明による文字入力方法では、それぞれ複数の文字が割り当てられた複数の文字キーを仮想の面に配列するための第1の定義情報と、配列された個々の文字キー毎にその文字キーに割り当てられた各文字を当該文字キーを貫く仮想の軸に対する相対位置をそれぞれ異ならせて前記仮想の面の外に配置するための第2の定義情報とを、上記のコンピュータに登録した上で、以下の第1〜第3のステップを実行する。
第1ステップでは、あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に第1の定義情報を適用して前記複数の文字キーを配列する。第2ステップでは、文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って文字キーの配列に対する選択位置を移動させる。第3ステップでは、配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が文字キーが設定されている仮想の面に沿う方向から仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第2の定義情報に基づき配置される複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する。
たとえば、指を特定の形状にした手の動きにより文字入力が行われるものとすると、ユーザが上記の形状の手を所定の方向(たとえば、操作のためのガイダンス画面が表示される面に並行になる方向に)に沿って動かし始めたことにより、第1ステップおよび第2ステップが実行される。上記の手が仮想の面に沿って移動する状態が続いている間は第2ステップの処理が続き、単位時間当たりの移動の方向や移動量に応じて文字キーの配列に対する選択が切り替えられる。目的の文字キーを選択した手が文字キーが配列されている仮想の面から離れる方向(たとえば仮想の面の下方)に動かされると、第2ステップから第3ステップへと移行し、選択された文字キーに対して第2の定義情報に基づき配置される文字のうちのいずれかに向かって手が動かされたことによって、当該文字が入力文字として選択される。
上記のとおり、本発明では、文字キーが配列されている仮想の面に沿う方向から当該仮想の面から離れる方向にジェスチャーの移動方向が切り替えられたことに応じて、文字キーを選択するモードから選択された文字キーに割り当てられた文字を選択するモードへと切り替えられるので、文字を選択するための操作が他の文字キーに選択を切り替えるための操作として誤判別されるおそれがなくなり、ユーザが意図する文字を正しく入力することができる。
本発明の第1の実施形態では、第2の定義情報として、同じ文字キーに割り当てられている複数の文字を、文字キーが配列されている仮想の面に沿う第2の仮想の面に配置することを表す情報が登録される。この第2の定義情報によれば、文字キーが配列された仮想の面に各文字キー毎の第2の仮想の面を紐付けた2層構造の仮想キーボードを空間に設定して、文字入力を受け付けることができる。
本発明の第2の実施形態では、日本語の仮名文字入力用の12キーボードのような、各文字キーに最大5個までの文字が割り当てられることを前提にする文字キーの配列に対し、第2の定義情報として、同じ文字キーに割り当てられている複数の文字のうちの1つを除く各文字を、前記仮想の面に沿う第2の仮想の面の前記仮想の軸への交差位置を含まない範囲に分布させると共に、第2の仮想の面を挟んで当該文字キーに対向する第3の仮想の面の前記仮想の軸との交差位置に残り1つの文字を配置することを表す情報を登録する。この定義情報によれば、文字キーが配列された仮想の面に文字キー毎の第2および第3の仮想の面を紐付けた3層構造の仮想キーボードを空間に設定して、文字入力を受け付けることができる。また文字キーに割り当てられる5個以内の文字を、タッチパネル用の仮想キーボードにおける配置を踏襲した関係をもたせて配置することができるので、タッチパネルの操作に慣れているユーザに受け入れやすいジェスチャーインタフェースを提供することができる。
本発明の第3の実施形態では、第2ステップに、前記コンピュータに接続された表示部に、前記文字キーの配列を表す画像のうちの一部の領域であって前記ジェスチャーの移動の方向に従って選択された文字キーを中心とする領域の画像を表示する処理が含まれる。また第3ステップには、第2ステップでの表示に代えて、第2の定義情報に基づき、選択された文字キーに割り当てられている各文字の配置の関係を表す画像を前記表示部に表示する処理が含まれる。これらの表示により、ユーザは、ジェスチャーにより選択されている文字キーや文字を認識して、入力文字の選択を正しく行うことができる。
さらに、上記第3の実施形態においては、第3ステップで入力文字が選択されたことに応じて、当該入力文字に適合する入力対象文字列の候補を抽出して抽出された候補のリストを前記表示部に表示する第4ステップを実行すると共に、当該リストが表示されている状態下で前記第1のジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を示す表示を更新する第5ステップを実行することができる。これらのステップによれば、複数の文字から成る文字列の入力を効率良く行うことができる。
本発明の第4の実施形態では、ジェスチャー認識装置を手を動かすジェスチャーを認識するように構成し、このジェスチャー認識装置の認識結果から1本指の形の手が検出されたことに応じて前記第1ステップを実行した後に、第1ステップにより設定された文字キーの配列の中のいずれかの文字キーの位置を初期の選択位置として第2ステップを開始する。さらに、1本指の形の手が選択されている文字キーを貫く仮想の軸に沿う方向に移動を開始したことが検出されたことに応じて第2ステップから第3ステップに移行する。この実施形態によれば、一本指の形の手を文字キーの配列に沿って移動させることで文字キーを選択した後に、選択された文字キーを貫く軸に沿う方向に手の移動方向を切り替えることにより、文字を選択するためのジェスチャーに移ることができる。
本発明の第5の実施形態では、各文字キーに割り当てられる文字の種類が異なる複数種の仮想キーボードについてそれぞれ第1の定義情報および第2の定義情報をコンピュータに登録する。そして、第1〜第3の各ステップに関するジェスチャーとは異なる所定の形態のジェスチャーが検出されたことに応じて有効にする仮想キーボードを切り替え、有効な仮想キーボードに対応する第1の定義情報および第2の定義情報を用いて第1〜第3の各ステップを実行する。この実施形態によれば、複数の字種の文字を空間でのジェスチャーにより入力することが可能になる。
本発明の第6の実施形態では、前記コンピュータに接続された表示部に入力位置を示すカーソルが設定された入力文字列表示領域を設定し、第2ステップにおいて入力文字が選択されたことに応じて当該選択された入力文字を前記入力文字列表示領域のカーソルの前に挿入する。この実施形態によれば、文字キーや文字を選択するためのジェスチャーを続けることによって、複数の入力文字を順に選択して、これらの文字を連ねた入力文字列を入力文字列表示領域に表示することができる。
さらに第6の実施形態においては、利便性を高めるために、入力文字列表示領域に所定長さの入力文字列が表示されている状態下において、第1〜第3の各ステップに関するジェスチャーとは異なる形態の第1のジェスチャーが検出されたことに応じて前記カーソルの位置を移動させ、第1〜第3の各ステップに関するジェスチャーおよび第1のジェスチャーとは異なる形態の第2のジェスチャーが検出されたことに応じて前記カーソルの前の文字を削除することもできる。
本発明は、さらに上記の方法を実施する文字入力装置として、情報処理装置のコンピュータを機能させるプログラムを提供する。このプログラムによる文字入力装置は、前述した第1および第2の定義情報が格納された定義情報記憶手段と、あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に第1の定義情報を適用して前記複数の文字キーの配列を設定する文字キー配列設定手段と、文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って前記文字キーの配列に対する選択位置を移動させる文字キー選択手段と、前記配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が前記文字キーが設定された仮想の面に沿う方向から仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第2の定義情報に基づき配置されている複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する入力文字選択手段とを具備するものとなる。
上記の文字入力装置には、文字キー選択手段および入力文字選択手段の動作に連動して、情報処理装置に設けられる表示部に、検出中のジェスチャーにより選択可能な文字キーまたは文字を示す画像を表示する表示制御手段を設けることができる。
さらに上記の文字入力装置には、入力文字選択手段により入力文字が選択されたことに応じて当該入力文字に適合する入力文字列の候補を抽出する候補抽出手段を設けることができる。この場合の表示制御手段には、候補抽出手段により抽出された候補のリストを前記表示部に表示すると共に、当該リストが表示されている状態下で文字キー選択手段の処理にかかるジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を更新する機能が設けられる。
本発明によれば、仮想の面に配列された複数の文字キーの中の1つを選択するためのジェスチャーと、選択された文字キーに割り当てられている複数の文字の中の1つを選択するためのジェスチャーとを、正しく判別することができる。よって、空間におけるジェスチャーによって効率良くかつ正しく文字を入力することが可能になる。
情報処理装置に対して文字入力用のジェスチャーが行われている例を示す説明図である。 文字入力装置の機能を示す機能ブロック図である。 日本語入力用の仮想キーボードの構成例を示す説明図である。 候補のリストに対する選択用のジェスチャーの例を示す説明図である。 入力エリアのカーソルの移動や入力文字の削除を指示するためのジェスチャーの例を示す説明図である。 仮想キーボードの種類を切り替えるためのジェスチャーの例を示す説明図である。 英字入力用の仮想キーボードの構成例を示す説明図である。 英数字入力用の仮想キーボードの構成例を示す説明図である。 文字入力装置におけるメインルーチンの処理手順を示すフローチャートである。 文字入力装置におけるメインルーチンの処理手順を示すフローチャートである。 メインルーチンのうちの文字入力受付処理の詳細手順を示すフローチャートである。 メインルーチンのうちの文字入力受付処理の詳細手順を示すフローチャートである。 メインルーチンのうちの候補選択処理の詳細手順を示すフローチャートである。 ユーザのジェスチャーに従って処理を進行させることにより生じる表示画面の変遷の例を示す説明図である。 ユーザのジェスチャーに従って処理を進行させることにより生じる表示画面の変遷の例を示す説明図である。
図1は、本発明が適用された情報処理装置S(図1では、その本体のみを示す。)に対して文字入力用のジェスチャーが行われている状態を例示したものである。この実施例の情報処理装置Sは腕時計型のウエアラブル端末であって、内部には、距離画像センサやマイクロコンピュータなどが搭載された回路基板(図示せず。)が組み込まれ、前面にタッチパネルなどによる表示部4が設けられている。
距離画像センサは、赤外線またはレーザを用いて近傍の物体の3次元形状を反映した距離画像データを生成する。マイクロコンピュータには、距離画像データから情報処理装置の近傍の空間における人の手指を検出し、その位置や形状などを認識するプログラムが組み込まれている。このプログラムと距離画像センサとにより情報処理装置Sに設定される機能を、以下では「ジェスチャー認識装置」と呼び、図2において、符号2により示す。
マイクロコンピュータには、ジェスチャー認識装置2により認識されたジェスチャーのうち、あらかじめ定められた数種類のジェスチャーを判別して、そのジェスチャーに応じて入力文字を決定する文字入力装置1として当該マイクロコンピュータを動かすためのプログラムや、決定された入力文字を用いて所定の処理を行うアプリケーション3のプログラムも組み込まれている。
図2は、文字入力装置1に設けられた機能を、ジェスチャー認識装置2,入力対象のアプリケーション3,および表示部4との関係と共に示したものである。この実施例の文字入力装置1には、ジェスチャー判別部10,仮想キーボード制御部11,入力文字列組立部12,候補検索部13,入力文字列確定部14,表示制御部15などの処理部や、キー配列定義テーブル101や、複数種の単語が登録された辞書データベース102が設けられる。
ジェスチャー判別部10は、ジェスチャー認識装置2の認識結果の中から文字入力用のジェスチャーを判別するもので、この判別結果を受けて他の処理部が動作することにより、ジェスチャーに応じた処理が行われる。
仮想キーボード制御部11は、ジェスチャー判別部10により文字入力のための最初のジェスチャーが検出されたことに応じて、キー配列定義テーブル101に登録された情報に基づき、ジェスチャーの指の位置に3層構造を有する仮想キーボード(詳細は後述する。)を設定する。さらに仮想キーボード制御部11は、その後にジェスチャー判別部10により判別されたジェスチャーに応じて、文字キーの配列に対する選択位置を切り替え、選択が確定した文字キーに割り当てられたいずれかの文字を選択する。
入力文字列組立部12は、仮想キーボード制御部11により選択された入力文字を順に連ねて入力文字列を組み立てる。入力文字列確定部14は、確定を表すジェスチャーが行われたことに応じて入力文字列を確定し、その確定文字列をアプリケーション3に出力する。候補検索部13は、入力文字列組立部12により組み立てられた入力文字列により辞書データベース102を検索して最終形態の入力文字列の候補(以下「予測変換候補」という。)を抽出する処理や、入力文字列確定部14により確定された文字列により辞書データベース102を検索して、確定された文字列に続いて入力され得る文字列(以下「繋がり候補」という。)を抽出する処理を実行する。
表示制御部15には、表示部4にナビゲーションウィンドウ41,入力エリア42,候補ウィンドウ43(図1を参照。)を表示するための表示処理部16,17,18が含まれる。ナビゲーションウィンドウ41には、文字入力操作の支援のための画像が表示される。入力エリア42には、入力文字列組立部12により組み立てられた入力文字列または入力文字列確定部14より確定された入力文字列が表示される。候補ウィンドウ43には、候補検索部13により抽出された予測変換候補や繋がり候補のリストが表示される。
図3は、キー配列定義テーブル101に登録されている仮名入力用の仮想キーボード11Jの構成例を示す。この仮想キーボード11Jは、従前のスマートフォンのユーザインターフェースに採用されている12キーボードを応用した3層構造となっている。具体的には、一番上の層(以下「第1レイヤL1」という。)に12個の文字キー100が配置され、それらの中の10個の文字キー100に、仮名文字が割り当てられ、残りの2個の文字キー100に記号などが割り当てられる。仮名文字の割り当てについては、50音表に基づき、子音を共通にする5個または3個の仮名文字が同一の文字キー100に割り当てられる。各文字キー100には、割り当てられた仮名文字の中の母音がア[a]となる文字「あ」「か」「さ」・・・「わ」(以下、これらを「代表文字」という。)が記されている。
2層目のレイヤ(以下「第2レイヤL2」という。)および3層目のレイヤ(以下「第3レイヤL3」という。)は、文字キー100毎に独立に設けられ、対応する文字キー100を貫く仮想の軸Cに中心を合わせて、第1レイヤL1に並行に配置される。第2レイヤL2には対応する文字キーに割り当てられた文字のうちの代表文字を除く複数の文字(4個以内)が配置され、第3レイヤL3に代表文字のみが配置される。なお、この実施例の仮名入力用の仮想キーボード11Jは平仮名を入力するためのものであるが、カタカナ入力についても、同様の3層構造の仮想キーボードを設けることができる。
この実施例では、空間内において、1本指の形にした手を情報処理装置Sの表示部4の上方にかざして動かすジェスチャーを文字入力用の操作としており(図1を参照。)、表示部4の面に対して並行な仮想の面に沿って各レイヤL1,L2,L3が配置される。以下、文字キー100の配列の横軸に沿う方向(「あ」「か」「さ」の各行の文字キー100が並ぶ方向)を左右方向とし、縦軸に沿う方向(「あ」「た」「ま」の各行の文字キー100が並ぶ方向)を前後方向とし、文字キー100の四方を、「前」「後」「左」「右」と表現する。
第2レイヤL2では、第1レイヤL1の対応する文字キー100に対して左側にずれた位置に母音をイ[i]とする文字が配置され、後側にずれた位置に母音をウ[u]とする文字が配置され、右側にずれた位置に母音をエ[e]とする文字が配置され、前側にずれた位置に母音をオ[o]とする文字が配置される。第3レイヤL3では、母音をア[a]とする代表文字が、第2レイヤL2を挟んで第1レイヤL1の文字キー100に対向する位置(仮想の軸Cとの交差位置)に配置される。よって、第2レイヤL2および第3レイヤL3を第1レイヤL1の側から透視すると、各文字は、タッチパネル用の仮想キーボードにおけるフリック操作用の文字配置と同じ位置関係をもって配置された状態となる。
なお、実際の表示部4の面は水平方向に対して任意の方向に傾いていることが多いが、その傾きの度合に応じて各レイヤL1,L2,L3の向きも変化する。また、ジェスチャーを行う手の指は、必ずしも表示部4に対向させる必要はなく、距離画像センサが検出できる範囲内であれば、表示部4に対向する範囲より外に置かれてもよい。高さについても同様に、任意の高さでジェスチャーを行うことができる。
この実施例では、空間内において、1本指の形にした手を表示部4の面にほぼ並行に移動させるジェスチャー(以下、このジェスチャーを「並行移動」という。)と、1本指の形にした手を表示部4に近づけるジェスチャーおよび表示部4から遠ざけるジェスチャー(以下、前者のジェスチャーを「下降動作」といい、後者のジェスチャーを「上昇動作」という。)を、上記の仮想キーボード11Jに対する操作としている。ジェスチャー判別部10は、ジェスチャー認識装置2による認識結果に基づき1本指の指先の特徴点群の位置を追跡して、それらの移動方向や移動量を求めることにより、並行移動、下降動作、上昇動作のいずれが行われているかを判別する。
1本指の形の手の検出が開始されると、仮想キーボード制御部11は、その手の指の位置に第1レイヤL1を設定し、第1レイヤL1内の所定の文字キー100(たとえば「あ」行の文字キー100)が選択された状態とする。その後に並行移動が検出されると、仮想キーボード制御部11は、この並行移動を第1レイヤL1での移動であるとみなして、その移動に従って文字キー100の配列に対する選択位置を切り替える。
いずれかの文字キー100(たとえば図3中の「た」行の文字キー100)が選択されている状態下で、1本指の形の手の下降動作が検出されると、仮想キーボード制御部11は、選択されている文字キー100に対する第2レイヤL2および第3レイヤL3を有効にする。その後に再び並行移動が検出されると、その並行移動は第2レイヤL2における移動として判別される。そして、前後左右のいずれかに向かう移動に応じて、第2レイヤL2に配置されている文字(「たとえば「ち」「つ」「て」「と」)の中から移動方向に対応する文字が入力文字として選択される。一方、並行移動が検出されないまま、下降動作の移動量が所定のしきい値を超えた場合には、その下降動作により第3レイヤL3に移動したと判別されて、第3レイヤL3に配置されている代表文字(たとえば「た」)が入力文字として選択される。
下降動作の移動量がしきい値以内に留まり、かつ並行移動が検出されることなく1本指の形の手の上昇動作が検出された場合には、その上昇動作は第1レイヤL1への戻り動作として判別される。上昇動作が終了して再び1本指の形の手による並行移動が検出された場合には、その移動に応じて第1レイヤL1の文字キー100の選択を切り替える処理が再開される。また、第2レイヤL2または第3レイヤの文字が選択された後も1本指の形の手が維持されている場合には、第1レイヤL1の文字キー100を選択する状態に戻ることにより、引き続き、文字入力用のジェスチャーに応じた処理が続けられる。
上記のとおり、この実施例では、1本指の形の手が並行移動から下降動作に切り替えられたことに応じて、文字キー100が配列されている第1レイヤL1に対する選択を受け付けるモードから選択された文字キー100に割り当てられた文字の選択を受け付けるモードに切り替えられる。よって、文字キー100を選択した後の文字を選択するためのジェスチャーが他の文字キーに選択を切り替える操作として取り違えられるおそれがなくなり、ユーザが意図する文字を入力文字として決定することができる。
またユーザは、目的の文字キー100まで指を動かしてその文字キー100を軽く押す動作(下降動作)を行った後、スマートフォンでのフリック操作と同様の指の動きによって入力文字を選択することができる。よって、スマートフォンの操作に慣れたユーザが馴染みやすいジェスチャーにより文字入力を行うことができる。
ナビゲーションウィンドウ表示処理部16は、1本指の形の手によるジェスチャーが検出されている間、単位時間当たりのジェスチャーにより選択されている文字キー100や選択された文字キー100に割り当てられている文字の配置のパターンを表す画像を含むナビゲーションウィンドウ41を表示部4に表示する(後述する図12を参照。)。この表示により、ユーザは、選択されている文字キー100や文字を確認しながら、上記のジェスチャーを行うことができる。
仮想キーボード11Jに対する操作以外の操作も、所定のルールに基づく空間内でのジェスチャーによって行われる。図4は、予測変換候補または繋がり候補のリストを含む候補ウィンドウ43の表示に対して候補選択用のジェスチャーが行われている状態を示している。この実施例では、2本指の形の手の指を候補ウィンドウ43の上方にかざして前後方向または左右方向に沿って移動させるジェスチャーが、候補の選択を切り替えるための操作に設定されており、指の移動方向や移動量に応じて選択中の候補が切り替えられる。
図5は、入力エリア42に対するジェスチャーとそのジェスチャーに応じて行われる処理の具体例を示す。この実施例では、所定長さの入力文字列が表示されている入力エリア42の上方で5本指の形の手をかざして、その手を入力文字列に沿って移動させるジェスチャーによって、入力エリア42の中のカーソル40の位置が切り替えられる(図5(1)(2)(3)を参照。)。また図5(4)に示すように、5本指の手を握ってグーの形の手に変更するジェスチャーが入力文字の削除を指示するための操作に設定されており、その動作に応じて入力エリア42内のカーソル40の前方の文字が削除される。また、手が握られた状態を所定時間以上維持すると、カーソル40の前方の文字が順に削除される。
図2に示したキー配列定義テーブル101には、図3に示した仮名入力用の仮想キーボード11Jの構成を示す定義情報のほか、図6(1)に示すような英文字入力用の仮想キーボード11Eおよび数字入力用の仮想キーボード11Nの定義情報が格納されている。また、英文字入力用の仮想キーボード11Eについては、図6(2)に示すような2種類の仮想キーボード11Ea,11Eb用の定義情報が格納されている。
この実施例では、3本指の形にした手を左右に振るジェスチャー(スワイプ)が、3種類の仮想キーボード11J,11N,11Eの間での切り替えを指示するための操作に設定されている(図6(1)を参照。)。さらに英文字入力用の仮想キーボード11Eについては、3本指の形の手を前後方向に振るジェスチャーが、大文字入力用の仮想キーボード11Eaと小文字入力用の仮想キーボード11Ebとの間での切り替えを指示するための操作に設定されている(図6(2)を参照。)。
上記のほか、日本語入力用、英文字入力用、数字入力用の各仮想キーボード11J,11E,11Nについて、それぞれ全角文字の入力モードと半角文字の入力モードとを、所定の形態のジェスチャーにより切り替えることもできる。
なお、英文字入力用の仮想キーボード11Eは、各文字キー100に割り当てられる文字が4個以内であるため、図7に示すように、文字キー100が配列された第1レイヤL1と文字キー毎の第2レイヤL2とによる2層構造に設定される。各文字キー100に対する第2レイヤL2では、対応する文字キー100に対して前後左右の各方向にずれた位置に文字が配置される。
数字入力用の仮想キーボード11Nでは、各文字キー100に割り当てられる文字の数は1個であるので、第1レイヤL1のみの1層構造に設定される。
英字や数字入力用の仮想キーボードの構成は上記に限らず、図8に示すように、10個の文字キー100のそれぞれに複数の英文字と1つの数字とを割り当て、それらのうちの1つを代表文字として第3レイヤL3に配置し、残りの文字を、文字キー100に対して前後左右に位置ずれさせて第2レイヤL2に配置することにより、3層構造の仮想キーボード11Tを設けることもできる。割り当て文字の数が4個以下の文字キー100についても同様に、代表文字(たとえば「T」)が第3レイヤL3に配置され、その他の文字(たとえば「U」「V」「8」)が第2レイヤL2の左側領域および上下の領域にそれぞれ配置される。この仮想キーボード11Tによれば、ユーザは、従前のスマートフォンの英数入力用の仮想キーボードに近い感覚で文字入力操作を行うことができる。
図9(図9−1および図9−2)は、上記した各種ジェスチャーに応じて文字入力装置1において実施される処理の流れ(以下「メインルーチン」という。)を示すものである。このメインルーチンでは、ジェスチャー判別部10がジェスチャー認識装置2から認識結果を取得して、その判別結果によりジェスチャーの内容を判別する処理(ステップS1,S2)が繰り返され、単位時間当たりの判別の内容に応じた手順が実行される。
1本指の形の手を移動させるジェスチャーが検出された場合には、仮想キーボード制御部11による文字入力受付処理(ステップS3)に進む。この処理により入力文字が決定すると、候補検索部13により予測変換候補が検索され(ステップS4)、この検索結果を受けた候補ウィンドウ表示処理部18により、予測変換候補の候補リストが表示される(ステップS5)。
2本指の手を移動させるジェスチャーが検出された場合には、候補ウィンドウ43が表示されていることを条件として(ステップS6が「YES」)、ステップS7の候補選択処理に進む。この候補選択処理により選択された候補により入力文字列が確定すると、候補検索部13により確定文字列に対する繋がり候補が検索され(ステップS8)、この検索の結果を受けた候補ウィンドウ表示処理部18により繋がり候補の候補リストが表示され(ステップS9)、候補ウィンドウ43の表示が更新される。
3本指の手によるスワイプが検出された場合には、仮想キーボード制御部11による仮想キーボードの切り替え処理が行われる。ただし、このスワイプが入力エリア42に入力文字列が表示されている状態下で行われた場合には、入力エリア42の入力文字列が確定されてから(ステップS10,S11)、仮想キーボードの切り替えに進む。
スワイプの方向が左方向または右方向であれば、図6(1)に示した3種類の仮想キーボード11J,11E,11Nの間での切り替えが行われる(ステップS13)。また、英文字用の仮想キーボード11Eとして、図6(2)に示した2種類の仮想キーボード11Ea,Ebの一方が選択されているときに、上記のスワイプが前または後に向かって行われた場合には、他方の英字用の仮想キーボードへの切り替えが行われる(ステップS14,S15)。
5本指の形の手によるジェスチャーが検出された場合には、入力エリア42に入力文字列が表示されていることを条件に、その手が左または右に移動するか、もしくは開いた状態から握られた状態に変化するか否かの判別が行われる(ステップS16,S17)。ここで左方向または右方向への移動が検出された場合には、入力エリア表示処理部17によって、入力エリア42のカーソル40を移動方向に対応する方向に沿って移動させる処理が行われる(ステップS18)。また5本指の形の手が開いた状態から握られた状態に変化した場合には、入力エリア表示処理部17によって、入力エリア42のカーソル40の前の文字を削除する処理が行われる(ステップS19)。
各ジェスチャーに対する処理が終了した後はステップS1に戻り、以後のジェスチャーに対しても、上記したのと同様の手順で処理が実行される。上記に示したジェスチャー以外の形態のジェスチャーが検出された場合には、そのジェスチャーは文字入力には関係がないものとして無視され、ステップS1に戻る。
図10(図10−1および図10−2)は、メインルーチンのステップS3において、3層構造の仮想キーボード11Jを用いて文字入力を受け付ける場合の詳細な手順を示したものである。文字入力受付処理は、1本指の形の手によるジェスチャーが検出されたことに応じて開始された後、適宜、ジェスチャー判別部10によるジェスチャー判別処理を行いながら、仮想キーボード制御部11がナビゲーションウィンドウ表示処理部16や入力文字列組立部12と協働して処理を進行させる。
文字入力受付処理が開始されると、仮想キーボード制御部11は、ジェスチャーをしている1本指に対応する位置に第1レイヤL1を設定し、この第1レイヤL1を、指が置かれているレイヤ(以下「滞在レイヤ」という。)として初期設定する(ステップS301)。この設定を受けて、ナビゲーションウィンドウ表示処理部16によるナビゲーションウィンドウ41の表示が開始される(ステップS302)。なお、ステップS302以降のナビゲーションウィンドウ41に対する表示制御については、後述する図12の具体例で説明を補足することとする。
この後、ジェスチャー判別部10によって、1本指の形の手によるジェスチャーが続いていることやその手の移動方向が判別され(ステップS303,S304,S305,S310)、その判別結果に応じて異なる手順が実施される。以下、各手順を、ユーザにより実施される可能性が高いジェスチャーに対応づけて説明する。
ユーザが手を1本指の形にした後にすぐに並行移動を開始すると、ステップS304で「NO」、ステップS305で「YES」と判定された後、ステップS306で滞在エリアは第1レイヤL1であると判定されてステップS307に進み、単位時間当たりの手指の特徴点群の移動の方向と移動量とに応じて選択中の文字キー100が切り替えられる(ステップS307)。この後も1本指の形の手の並行移動が続く間は、ステップS303〜307のループが繰り返されて、単位時間当たりの並行移動に応じて文字キー100の配列における選択位置が変更される。
文字キー100の選択を終えたユーザがジェスチャーを並行移動から下降動作に切り替えると、ステップS304およびステップS305で共に「NO」と判定された後に、ステップS310で移動方向は下であると判定される。さらにステップS311において滞在レイヤは第2レイヤL1であると判定されてステップS312に進み、滞在レイヤが第1レイヤL1から第2レイヤL2に変更される。
上記の滞在レイヤの変更後はステップS303に戻る。ユーザのジェスチャーが下降動作から再び並行移動に切り替えられた場合には、ステップS304で「NO」、ステップ305で「YES」と判定された後に、ステップS306で滞在レイヤは第2レイヤL2であると判定されてステップS308に進む。ステップS308では、仮想キーボード制御部11によって、第2レイヤL2に配置されている文字のうちの手の移動方向に対応する文字が入力文字として選択される。さらに、この選択を受けた入力エリア表示処理部17によって、選択された文字が入力エリア42に表示される(ステップS309)。この後はメインルーチンに戻り、予測変換候補の検索(ステップS4)へと進む。
ユーザが第3レイヤの代表文字を選択する意図をもって下降動作を続けた場合には、1本指の形の手の下降に応じて滞在レイヤが第1レイヤL1から第2レイヤL2に変更され(ステップS312)、その後に戻ったステップS303でも下降動作が検出される。よってこの場合には、ステップS304,S305,S310の判定を経て、ステップS311において滞在レイヤは第2レイヤL2であると判定され、その判定に応じて仮想キーボード制御部11によりステップS313およびS314が実行され、入力エリア表示処理部17によってステップS315が実行される。
ステップS313では、滞在エリアが第2レイヤL2から第3レイヤL3に変更され、ステップS314では、第3レイヤL3に配置されている代表文字が入力文字として選択される。ステップS315では、ステップS314で選択された文字が入力エリア42に表示される(ステップS315)。その後はメインルーチンに戻り、予測変換候補の検索(ステップS4)へと進む。
1本指の形の手による下降動作が開始された後、その手が文字が配置されている方向に向かわずに引き上げられた場合には、滞在レイヤが第1レイヤL1から第2レイヤL2に変更され(ステップS312)、その後のステップS303で上昇動作が検出される。この検出に応じてステップS304およびS305で「NO」と判定された後に、ステップS310で移動方向は上であると判定されてステップS316に進み、ステップS316において滞在エリアは第2レイヤL2であると判定される。これらの判定に応じてステップS317に進み、文字の選択が行われることなく、再び第1レイヤL1が滞在レイヤに設定される。
ステップS308またはステップS314で文字が選択された後も、一本指の形による手のジェスチャーが続けられた場合には、メインルーチンのステップS4およびS5が実行された後、ステップS1およびS2を経て再び文字入力受付処理が開始される。このときにも、滞在レイヤが第1レイヤL1に設定され(ステップS301)、第1レイヤL1における選択位置を表すナビゲーションウィンドウ41が表示されるので、前回の入力文字の選択を終えた手をそのまま並行移動させることによって、次の入力文字に対応する文字キー100を選択することができる。なお、ユーザは、前回の入力文字の選択後に、その選択を終えた指を持ち上げる可能性があるが、その上昇動作の検出に対しては、文字入力受付処理の再開直後のステップS301で第1レイヤL1が滞在レイヤに初期設定された後に、ステップS302〜S304,S305、S310,およびS316を経てステップS303に戻る流れにより、当該上昇動作は無視され、第1レイヤL1が滞在レイヤに設定された状態が維持される。
一本指の形の手が第1レイヤL1に留まったまま解除された場合や、下降動作に移行したがその後の並行移動や第3レイヤL3までの下降が生じることがないまま解除された場合には、ステップS304が「YES」となり、メインルーチンのステップS1に戻る。
なお、図6(1)(2)に示した英字入力用のキーボード11E(11Ea,11Eb)を用いた文字入力受付処理でも、第3レイヤL3に関する処理が行われないことを除いては、図10と同様の手順で処理が進められる。一方、数字入力用の第1レイヤL1のみのキーボード11Nを用いた文字入力受付処理では、処理開始後の並行移動に応じて、図10のステップS303〜S307と同様の手順で処理が進められ、並行移動から下降動作にジェスチャーが切り替えられたことに応じて、選択中の文字キー100に割り当てられている文字が入力文字として確定する。
図11は、メインルーチンのステップS7(候補選択処理)の詳細な手順を示すものである。この処理は、ステップS5での予測変換候補のリストの表示またはステップS9での繋がり候補のリストの表示に対し、2本指の形の手によるジェスチャーが開始されたことに応じて実施される。
最初のステップS71では、候補ウィンドウ表示処理部18によって、候補ウィンドウ43の先頭の候補の表示位置が選択位置として初期設定される。この後、ジェスチャー判別部10によって、2本指の形の手によるジェスチャーが続けられていること、およびその手指の特徴点群の移動方向が判別され(ステップS73,S74)、その判別結果に応じて異なる手順が実施される。
ユーザが2本指の形の手による並行移動を続けている間は、ステップS73で「NO」、ステップS74で「YES」と判定されて、ステップS75に進み、候補ウィンドウ表示処理部18は、単位時間当たりの手指の特徴点群の移動の方向と移動量とに応じて選択位置を変更する(ステップS75)。
候補の選択を終えたユーザが2本指の形の手を下降動作に切り替えると、ステップS73およびステップS74で「NO」と判定され、ステップS76で「YES」と判定されてステップS77に進み、候補ウィンドウ表示処理部18は、選択中の候補を入力文字列として確定する。
入力エリア表示処理部17は、上記の確定に応じて、確定された文字列により入力エリア42の表示を更新する(ステップS78)。具体的に説明すると、ステップS5で表示された予測変換候補のリストから入力文字列が確定された場合には、入力エリア42に表示されている仮名文字列(未確定表示)が確定文字列に置き換えられる。一方、ステップS9で表示された繋がり候補のリストから入力文字列が確定された場合には、入力エリア42に表示されている入力文字列に確定文字列が連ねられる。
ステップS78が終了すると、メインルーチンに戻って、確定した入力文字列に対する繋がり候補の検索(ステップS8)が実施される。
2本指の形の手によるジェスチャーが続いている場合でも、並行移動および下降動作以外のジェスチャーは無視される。また候補の選択が確定するより前に2本指の形が解除されると、ステップS73の判定が「YES」となり、メインルーチンのステップS1に戻る。
図12(図12−1および図12−2)は、1本指の手によるジェスチャーと2本指の手によるジェスチャーとに応じて表示部4に展開される表示の具体例を示したものである。以下、この図を参照して、ナビゲーションウィンドウ41や候補ウィンドウ43に対する表示制御に関する説明を補足する。
図12(a)は、空間内で一本指が最初に検出された直後、すなわち図10の文字入力受付処理が開始された時点の表示部4の表示状態を示すもので、ナビゲーションウィンドウ41と空白の入力エリア42とが表示されている。
図12(a)のナビゲーションウィンドウ41では、初期データに基づき選択された「あ」行の文字キー100の画像が中央に配置されている。この例のユーザは、「あ」行の文字キー100が選択された状態下で1本指の手を下降させており、その下降により滞在レイヤが第1レイヤL1から第2レイヤL2に変更される(図10のステップS312)。この変更に応じて、ナビゲーションウィンドウ41の表示は、第2レイヤL2および第3レイヤL3に配置されている各文字を俯瞰した状態を表す画像に切り替えられる(図12(b))。
図12(b)のナビゲーションウィンドウ41を確認したユーザは、1本指の手を前方に移動させており、この移動に応じて、ナビゲーションウィンドウ41の表示は、移動方向に配置されている文字「お」を中央に位置づけた状態に変化する(図12(c))。この後、手指の特徴点群の前方への移動量がしきい値を超えると、図10のステップS308,S309が実行され、入力エリア42に「お」が表示される。さらに図9のメインルーチンに戻って、ステップS4,S5が実行されることにより、「お」に対する予測変換候補のリストを含む候補ウィンドウ43が表示される。
図12の例では、ユーザが「お」の選択後も1本指の形の手を維持しているため、ステップS4,S5の実行後は、ステップS1,S2を経て、再び文字入力受付処理が開始される。図12(d)は、文字入力受付処理に復帰したときの表示例であって、確定された「お」を含む入力エリア42や予測変換候補のリストを含む候補ウィンドウ43と共に、ナビゲーションウィンドウ41が表示されている。
この後、1本指の形の手の並行移動に応じて第1レイヤL1における選択位置が変化し(図10のステップS307)、ナビゲーションウィンドウ41には、選択中の文字キー100を中心にその近傍の文字キー100にかかる所定範囲の画像が表示される(図12(e)(f))。
図12の例では、ユーザは「は」行の文字キー100を選択して、再び下降動作を行っている。この下降動作に応じて滞在レイヤが第1レイヤL1から第2レイヤL2に変更される(図10のステップS312)と、ナビゲーションウィンドウ41の表示は選択中の文字キー100の第2レイヤL2および第3レイヤL3に配置された文字を俯瞰する状態を表すものに更新される(図12(g))。この表示の更新後も、ユーザは下降動作を続けており、その下降動作に応じて滞在レイヤが第3レイヤL3に変更され(図10のステップS313)、ナビゲーションウィンドウ41は、第3レイヤL3に配置された文字「は」のみを表示する状態に変化する(図12(h))。
その後、図10のステップS314によって「は」の文字が選択され、続くステップS315によって入力エリア42にこの文字が加えられて、入力文字列が「おは」に更新される。さらにメインルーチンに戻って更新後の入力文字列による予測変換候補の検索(図9のステップS4)が行われ、これに続くステップS5によって、候補ウィンドウ43の表示が更新される(図12(i))。
図12の例では、「は」の選択後に手の形が1本指から2本指に切り替えられているため、文字入力受付処理は再開されず、図12(i)の画面ではナビゲーションウィンドウ41が消失している。さらに、メインルーチンのステップS6を経て候補選択処理(ステップS7,図11)が開始され、選択位置の初期設定(図11のステップS71)に応じて候補ウィンドウ43の先頭候補の表示欄が所定の色彩で着色される(図12(j))。この着色位置は、その後の並行移動に伴う選択位置の更新(図11のステップS75)に従って移動する(図12(k))。
図12の例では、2番目の候補の「おはよう」が選択されている状態下で2本指の形の手によるジェスチャーが下降動作に切り替えられている。この切り替えに応じて図11のステップS77,S78が実行され、入力エリア42の表示は「おはよう」に更新される。さらに確定後に復帰したメインルーチンにおいてステップS8,S9が実行されることによって、候補ウィンドウ43の表示は、「おはよう」に対する繋がり候補のリストを表示するものに更新される(図12(l))。
上記のとおり、複数の文字が割り当てられた文字キー100が複数配列された仮想の面(第1レイヤL1)と、各文字キー100毎に設けられた第2レイヤL2および第3レイヤL3による3層構造の仮想キーボード11Jを用いて文字入力用のジェスチャーを受け付ける実施例について、詳細に説明した。なお、この説明では、文字入力受付処理により選択された仮名文字または仮名文字列をそのまま確定するためのジェスチャーについては触れていないが、たとえば入力文字を選択した後の1本指の形の手の指を円を描くように動かすジェスチャーなど、これまでの説明に含まれていない形態のジェスチャーを、この確定処理にあてることができる。
上記の実施例では、1本指の形の手が検出されたことに応じて、その指の位置を含み、表示部4の面に沿って、文字キー100の配列を含む仮想の面(第1レイヤ)を設定したが、これに限らず、1本指の形の手が表示部4の面にほぼ並行な移動を開始したことに応じて、その移動方向に沿う仮想の面を第1レイヤL1として、文字キー100の配置を行ってもよい。
仮想キーボードの構成も上記の実施例に限定されるものではなく、様々な変形例が考えられる。たとえば仮名入力用の各文字キー100の代表文字を第2レイヤL2の中央(仮想の軸Cと交差する位置)に配置することにより、2層構造の仮想キーボードを設定することもできる。この仮想キーボードが使用される場合には、文字キー100を選択するための並行移動から下降動作に切り替えられた後、再び並行移動に切り替えられたことに応じて、その移動方向に配置されている文字(代表文字以外)を選択する一方、下降動作後の並行移動が行われることなく所定時間動作が停止したことに応じて代表文字を選択することができる。または、中央の代表文字以外の文字については、第1レイヤL1の指を目的とする文字が配置されている方向(斜め下)に直接に移動させるジェスチャーに応じて、その文字を入力文字として選択してもよい。
文字が配置されるレイヤを、第1レイヤL1の下方でなく、第1レイヤL1の上方に設定し、ジェスチャーの手が並行移動から上昇動作に切り替えられたことに応じて、文字キー100を選択するモードから文字を選択するモードに移行することもできる。さらに、所定の字種の文字(たとえば平仮名)が配置されたレイヤを第1レイヤL1の下方に設定し、他の字種の文字(たとえばカタカナ)が配置されたレイヤを第1レイヤL1の上方に設定し、文字キー100を選択するための並行移動をしていた手の移動方向が上下いずれの方向に切り替えられるかによって、入力対象の文字の字種を切り替えることもできる。
文字の配置に関しては、第1レイヤL1に並列な面への配置に限らず、たとえば、同じ文字キー100に割り当てられている複数の文字が、当該文字キー100を貫く仮想の軸Cに沿って異なる高さ位置に配置された構成の仮想キーボードを設定してもよい。この仮想キーボードが使用される場合には、並行移動に応じて第1レイヤL1における選択位置を変更し、ジェスチャーが並行移動から下降動作に切り替えられたことに応じて文字選択操作に移行したと判別し、表示部4に選択中の文字を表すナビゲーション表示を行いながら、その後の移動量に応じて文字の選択を切り替えることができる。また、下降動作から上昇動作に切り替えられたことに応じて文字の選択を逆順に切り替える処理や、移動が停止した位置に対応する文字を入力文字として決定する処理によって、入力文字の選択の精度を確保することができる。
文字キー100の選択や文字の選択以外の処理(候補の選択、仮想キーボードの切り替え、カーソル移動、入力文字の削除など)に関するジェスチャーの形態も、上記の実施例に限らず、適宜、ユーザに受け入れやすい形態のジェスチャーを定めることができる。またいずれのジェスチャーも手の動きに限らず、たとえば、頭部を動かすジェスチャーや視線を動かすジェスチャーに応じて上記実施例と同様の文字入力受付処理を行うこともできる。
上記した各種実施形態を含む本発明による文字入力方法は、ウエアラブル端末に限らず、スマートフォンなどの他の情報処理装置に導入することもできる。また大型のディスプレイの一部に、ナビゲーションウィンドウ41,入力エリア42,候補ウィンドウ43をエリアの表示領域を設けて、ディスプレイの前方空間でのジェスチャーに応じて本発明による文字入力方法により文字入力を受け付けることも可能である。
S 情報処理装置
1 文字入力装置
2 ジェスチャー認識装置
3 アプリケーション
4 表示部
10 ジェスチャー判別部
11 仮想キーボード制御部
12 入力文字列組立部
13 候補検索部
14 入力文字列確定部
15 表示制御部
16 ナビゲーションウィンドウ表示処理部
17 入力エリア表示処理部
18 候補ウィンドウ表示処理部
40 カーソル
41 ナビゲーションウィンドウ
42 入力エリア
43 候補ウィンドウ
11J,11E,11E1,11E2,11T 複数層の仮想キーボード
L1 第1レイヤ
L2 第2レイヤ
L3 第3レイヤ
C 仮想の軸
100 文字キー
101 キー配列定義テーブル
102 辞書データベース

Claims (10)

  1. 文字の入力に応じて所定の処理を行うコンピュータにおいて、空間におけるジェスチャーを認識するジェスチャー認識装置を用いて文字入力用の操作としてあらかじめ定められた形態のジェスチャーを検出し、その検出結果に応じて入力対象の文字を決定する方法であって、
    それぞれ複数の文字が割り当てられた複数の文字キーを仮想の面に配列するための第1の定義情報と、配列された個々の文字キー毎にその文字キーに割り当てられた各文字を当該文字キーを貫く仮想の軸に対する相対位置をそれぞれ異ならせて前記仮想の面の外に配置するための第2の定義情報とを、前記コンピュータに登録し、
    あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に前記第1の定義情報を適用して前記複数の文字キーの配列を設定する第1ステップと、
    前記文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って前記文字キーの配列に対する選択位置を移動させる第2ステップと、
    前記配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が前記文字キーが設定されている仮想の面に沿う方向から当該仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第2の定義情報に基づき配置される複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する第3ステップとを、実行し、
    前記第2ステップには、前記コンピュータに接続された表示部に、前記文字キーの配列を表す画像のうちの一部の領域であって前記ジェスチャーの移動の方向に従って選択された文字キーを中心とする領域の画像を表示する処理が含まれ、前記第3ステップには、前記第2ステップでの表示に代えて、前記第2の定義情報に基づき、選択された文字キーに割り当てられている各文字の配置の関係を表す画像を前記表示部に表示する処理が含まれ、
    前記第3ステップで入力文字が選択されたことに応じて、当該入力文字に適合する入力対象文字列の候補を抽出して抽出された候補のリストを前記表示部に表示する第4ステップを実行すると共に、当該リストが表示されている状態下で前記ジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を示す表示を更新する第5ステップを実行することを特徴とする文字入力方法。
  2. 前記第2の定義情報は、同じ文字キーに割り当てられている複数の文字を、前記仮想の面に沿う第2の仮想の面に分布させることを表すものである、請求項1に記載された文字入力方法。
  3. 前記仮想の面に配列される各文字キーには最大5個までの文字が割り当てられており、 前記第2の定義情報は、同じ文字キーに割り当てられている複数の文字のうちの1つを除く各文字を、前記仮想の面に沿う第2の仮想の面の前記仮想の軸への交差位置を含まない範囲に分布させると共に、前記第2の仮想の面を挟んで当該文字キーに対向する第3の仮想の面の前記仮想の軸との交差位置に残り1つの文字を配置することを表すものである、請求項1に記載された文字入力方法。
  4. 前記ジェスチャー認識装置は手を動かすジェスチャーを認識するものであり、このジェスチャー認識装置の認識結果から1本指の形の手が検出されたことに応じて前記第1ステップを実行した後に、第1ステップにより設定された文字キーの配列の中のいずれかの文字キーの位置を初期の選択位置として第2ステップを開始し、前記1本指の形の手が選択されている文字キーを貫く前記仮想の軸に沿う方向に移動を開始したことが検出されたことに応じて前記第2ステップから第3ステップに移行する、請求項1に記載された文字入力方法。
  5. 請求項1に記載された方法において、
    各文字キーに割り当てられる文字の種類が異なる複数種の仮想キーボードについてそれぞれ前記第1の定義情報および第2の定義情報を前記コンピュータに登録し、前記第1〜第3の各ステップに関するジェスチャーとは異なる所定の形態のジェスチャーが検出されたことに応じて有効にする仮想キーボードを切り替え、有効な仮想キーボードに対応する第1の定義情報および第2の定義情報を用いて前記第1〜第3の各ステップを実行する、文字入力方法。
  6. 請求項1に記載された方法において、
    前記コンピュータに接続された表示部に入力位置を示すカーソルが設定された入力文字列表示領域を設定し、前記第2ステップにおいて入力文字が選択されたことに応じて当該選択された入力文字を前記入力文字列表示領域のカーソルの前に挿入する文字入力方法。
  7. 請求項に記載された方法において、
    前記入力文字列表示領域に所定長さの入力文字列が表示されている状態下において、第1〜第3の各ステップに関するジェスチャーとは異なる形態の第1のジェスチャーが検出されたことに応じて前記カーソルの位置を移動させ、前記第1〜第3の各ステップに関するジェスチャーおよび第1のジェスチャーとは異なる形態の第2のジェスチャーが検出されたことに応じて前記カーソルの前の文字を削除する、文字入力方法。
  8. 空間におけるジェスチャーを認識するジェスチャー認識装置と、このジェスチャー認識装置を用いて文字入力用の操作としてあらかじめ定められた形態のジェスチャーを検出し、その検出結果に応じて入力対象の文字を決定する文字入力装置と、表示部とを具備する情報処理装置であって、
    前記文字入力装置は、
    それぞれ複数の文字が割り当てられた複数の文字キーを仮想の面に配列するための第1の定義情報と、配列された個々の文字キー毎にその文字キーに割り当てられた各文字を当該文字キーを貫く仮想の軸に対する相対位置をそれぞれ異ならせて前記仮想の面の外に配置するための第2の定義情報とが登録された定義情報記憶手段と、
    あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に前記第1の定義情報を適用して前記複数の文字キーの配列を設定する文字キー配列設定手段と、
    前記文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って前記文字キーの配列に対する選択位置を移動させる文字キー選択手段と、
    前記配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が前記文字キーが設定された仮想の面に沿う方向から前記仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第2の定義情報に基づき配置されている複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する入力文字選択手段と、
    前記文字キー選択手段および入力文字選択手段の動作に連動して、検出中のジェスチャーにより選択可能な文字キーまたは文字を示す画像を前記表示部に表示する表示制御手段と
    前記入力文字選択手段により入力文字が選択されたことに応じて、当該入力文字に適合する入力文字列の候補を抽出する候補抽出手段とを具備し、
    前記表示制御手段は、前記候補抽出手段により抽出された候補のリストを前記表示部に表示すると共に、当該リストが表示されている状態下で前記文字キー選択手段の処理にかかるジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を更新する、情報処理装置。
  9. 前記表示制御手段は、前記文字キー選択手段による処理が行われている間は、前記文字キーの配列を表す画像のうちの一部の領域であって前記ジェスチャーの移動の方向に従って選択された文字キーを中心とする領域の画像を前記表示部に表示し、前記入力文字選択手段の処理が開始されたことに応じて、前記文字キーの表示に代えて、前記第2の定義情報に基づき、選択された文字キーに割り当てられている各文字の間の配置の関係を表す画像を前記表示部に表示する、請求項に記載された情報処理装置。
  10. 空間におけるジェスチャーを認識するジェスチャー認識装置と、表示部とを備える情報処理装置のコンピュータを、前記ジェスチャー認識装置を用いて文字入力用の操作としてあらかじめ定められた形態のジェスチャーを検出し、その検出結果に応じて入力対象の文字を決定する文字入力装置として機能させるためのプログラムであって、
    前記文字入力装置は、
    それぞれ複数の文字が割り当てられた複数の文字キーを仮想の面に配列するための第1の定義情報と、配列された個々の文字キー毎にその文字キーに割り当てられた各文字を当該文字キーを貫く仮想の軸に対する相対位置をそれぞれ異ならせて前記仮想の面の外に配置するための第2の定義情報とが登録された定義情報記憶手段と、
    あらかじめ定めた条件を満たすジェスチャーが検出されたことに応じて、その検出位置を含む仮想の面に前記第1の定義情報を適用して前記複数の文字キーの配列を設定する文字キー配列設定手段と、
    前記文字キーの配列が設定されている仮想の面に沿う移動を伴うジェスチャーが検出されていることを条件に、当該ジェスチャーの移動に従って前記文字キーの配列に対する選択位置を移動させる文字キー選択手段と、
    前記配列の中の所定の文字キーが選択されている状態下において、検出されているジェスチャーの移動方向が前記文字キーが設定された仮想の面に沿う方向から前記仮想の面から離れる方向に切り替えられた後に、選択中の文字キーに対して前記第2の定義情報に基づき配置されている複数の文字のうちのいずれかに向かう移動を伴うジェスチャーが検出されたことに応じて、その移動先に配置される文字を入力文字として選択する入力文字選択手段と
    前記文字キー選択手段および入力文字選択手段の動作に連動して、検出中のジェスチャーにより選択可能な文字キーまたは文字を示す画像を前記表示部に表示する表示制御手段と、
    前記入力文字選択手段により入力文字が選択されたことに応じて、当該入力文字に適合する入力文字列の候補を抽出する候補抽出手段とを具備し、
    前記表示制御手段は、前記候補抽出手段により抽出された候補のリストを前記表示部に表示すると共に、当該リストが表示されている状態下で前記文字キー選択手段の処理にかかるジェスチャーとは異なる形態により前記文字キーが配列された仮想の面に沿う移動を伴うジェスチャーが検出されたとき、その移動に従って前記リストにおける候補の選択位置を更新する、文字入力用のプログラム。
JP2015181580A 2015-09-15 2015-09-15 文字入力方法および文字入力用のプログラムならびに情報処理装置 Active JP6620480B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015181580A JP6620480B2 (ja) 2015-09-15 2015-09-15 文字入力方法および文字入力用のプログラムならびに情報処理装置
US15/509,698 US10444851B2 (en) 2015-09-15 2016-08-12 Character input method, program for character input, recording medium, and information-processing device
PCT/JP2016/073713 WO2017047304A1 (ja) 2015-09-15 2016-08-12 文字入力方法および文字入力用のプログラム、記録媒体ならびに情報処理装置
EP16843207.8A EP3336662B1 (en) 2015-09-15 2016-08-12 Character input method, and character input program, recording medium, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015181580A JP6620480B2 (ja) 2015-09-15 2015-09-15 文字入力方法および文字入力用のプログラムならびに情報処理装置

Publications (2)

Publication Number Publication Date
JP2017058818A JP2017058818A (ja) 2017-03-23
JP6620480B2 true JP6620480B2 (ja) 2019-12-18

Family

ID=58289014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015181580A Active JP6620480B2 (ja) 2015-09-15 2015-09-15 文字入力方法および文字入力用のプログラムならびに情報処理装置

Country Status (4)

Country Link
US (1) US10444851B2 (ja)
EP (1) EP3336662B1 (ja)
JP (1) JP6620480B2 (ja)
WO (1) WO2017047304A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2671043C1 (ru) * 2017-06-15 2018-10-29 Борис Михайлович ПУТЬКО Способ, система и клавиатура для ввода иероглифов
KR102160297B1 (ko) * 2017-06-26 2020-09-28 서울대학교 산학협력단 손가락 동작 인식을 이용한 키보드 입력 시스템 및 키보드 입력 방법
WO2019000430A1 (en) * 2017-06-30 2019-01-03 Guangdong Virtual Reality Technology Co., Ltd. ELECTRONIC SYSTEMS AND TEXT INPUT METHODS IN A VIRTUAL ENVIRONMENT
US11720222B2 (en) * 2017-11-17 2023-08-08 International Business Machines Corporation 3D interaction input for text in augmented reality
KR20220080399A (ko) * 2020-12-07 2022-06-14 삼성전자주식회사 사용자 입력을 처리하는 전자 장치 및 방법
US11928263B2 (en) 2020-12-07 2024-03-12 Samsung Electronics Co., Ltd. Electronic device for processing user input and method thereof
JP7467391B2 (ja) 2021-06-18 2024-04-15 キヤノン株式会社 情報処理装置および情報処理装置の制御方法
CN113891160B (zh) * 2021-09-22 2024-02-13 百果园技术(新加坡)有限公司 内容卡片的滑动切换方法、装置、终端及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000268032A (ja) * 1999-03-15 2000-09-29 Internatl Business Mach Corp <Ibm> 階層化された文章の編集装置
TW546943B (en) * 1999-04-29 2003-08-11 Inventec Corp Chinese character input method and system with virtual keyboard
JP3974359B2 (ja) * 2000-10-31 2007-09-12 株式会社東芝 オンライン文字認識装置及び方法並びにコンピュータ読み取り可能な記憶媒体及びオンライン文字認識プログラム
JP2005196530A (ja) * 2004-01-08 2005-07-21 Alpine Electronics Inc 空間入力装置及び空間入力方法
KR20070036077A (ko) * 2004-06-29 2007-04-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 그래픽 사용자 인터페이스의 다중층 디스플레이
KR101134027B1 (ko) * 2004-06-29 2012-04-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 디스플레이 디바이스의 오염을 방지하는 방법 및 디바이스
US10521022B2 (en) 2006-03-17 2019-12-31 Conversant Wireless Licensing S.a.r.l. Mobile communication terminal and method therefor
JP4981701B2 (ja) * 2007-01-30 2012-07-25 三星電子株式会社 端末機のタッチスクリーンを用いる文字入力装置及び方法
KR100934514B1 (ko) * 2008-05-07 2009-12-29 엘지전자 주식회사 근접한 공간에서의 제스쳐를 이용한 사용자 인터페이스제어방법
JP5245708B2 (ja) 2008-10-16 2013-07-24 日本電気株式会社 文字入力装置、文字入力方法及び文字入力プログラム
US20110302518A1 (en) 2010-06-07 2011-12-08 Google Inc. Selecting alternate keyboard characters via motion input
JP5300825B2 (ja) 2010-11-17 2013-09-25 シャープ株式会社 指示受付装置、指示受付方法、コンピュータプログラム及び記録媒体
JP2012243153A (ja) * 2011-05-20 2012-12-10 Funai Electric Co Ltd 情報処理装置
JP5510473B2 (ja) * 2012-02-02 2014-06-04 富士通株式会社 文字入力装置、文字入力方法及び文字入力プログラム
JP2014016707A (ja) 2012-07-06 2014-01-30 Nec Saitama Ltd 情報処理装置
JP2014060640A (ja) 2012-09-19 2014-04-03 Sharp Corp 仮名文字入力装置
JP6232694B2 (ja) * 2012-10-15 2017-11-22 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム
US8914751B2 (en) * 2012-10-16 2014-12-16 Google Inc. Character deletion during keyboard gesture
JP6077285B2 (ja) * 2012-11-30 2017-02-08 富士通テン株式会社 文字入力装置、文字入力方法及びプログラム
US9983779B2 (en) * 2013-02-07 2018-05-29 Samsung Electronics Co., Ltd. Method of displaying menu based on depth information and space gesture of user
US9535603B2 (en) * 2013-03-14 2017-01-03 Carl F. Andersen Columnar fitted virtual keyboard
JP2014191782A (ja) * 2013-03-28 2014-10-06 Ntt Docomo Inc 情報処理装置および文字入力方法
JP6233064B2 (ja) 2014-01-31 2017-11-22 コニカミノルタ株式会社 入力装置、入力方法、および入力プログラム
JP6548358B2 (ja) * 2014-04-04 2019-07-24 タッチタイプ リミテッド マルチ入力ターゲットに関連付けられた1つ又はそれ以上の入力を入力するためのシステム及び方法

Also Published As

Publication number Publication date
US10444851B2 (en) 2019-10-15
US20170285761A1 (en) 2017-10-05
EP3336662B1 (en) 2021-10-06
EP3336662A4 (en) 2019-05-29
WO2017047304A1 (ja) 2017-03-23
EP3336662A1 (en) 2018-06-20
JP2017058818A (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
JP6620480B2 (ja) 文字入力方法および文字入力用のプログラムならびに情報処理装置
US10126941B2 (en) Multi-touch text input
US10936086B2 (en) System for inputting information by utilizing extension key and method thereof
JP4648898B2 (ja) テキスト入力システム及び方法
KR100478020B1 (ko) 화면표시식키이입력장치
US20110291940A1 (en) Data entry system
JP5915282B2 (ja) 文字入力用のプログラムおよび文字入力装置
US20120069027A1 (en) Input device
JPH06175762A (ja) キーボード入力装置
KR20130113622A (ko) 입력 장치 및 문자 입력 방법
US20150123907A1 (en) Information processing device, display form control method, and non-transitory computer readable medium
KR20080095811A (ko) 문자입력장치
KR101426843B1 (ko) 확장키를 이용한 정보입력시스템 및 정보입력방법
US20150089432A1 (en) Quick data entry systems and methods
JP2014512585A (ja) 拡張キーを利用した情報入力システム及び情報入力方法
JP2007213615A (ja) タッチ式キー入力装置、タッチ式キー入力方法およびプログラム
KR20120097921A (ko) 확장키를 이용한 정보입력시스템 및 정보입력방법
JP2003005902A (ja) 文字入力装置、情報処理装置、文字入力装置の制御方法、及び記憶媒体
KR101195625B1 (ko) 터치스크린을 이용한 문자입력방법
JP2012150713A (ja) 携帯情報端末
JPH08292944A (ja) 文字入力装置
KR101804069B1 (ko) 범아랍어용 문자입력장치
KR101652881B1 (ko) 터치 환경에서의 피커를 이용한 영문 입력 장치 및 방법
KR20130024389A (ko) 한글 입력 방법 및 입력 장치
JP2017004481A (ja) 入力装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20160603

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191023

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191105

R150 Certificate of patent or registration of utility model

Ref document number: 6620480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250