説明

文字入力装置,文字入力プログラムおよび文字入力方法

【課題】空間での物体の動作により文字入力を行う場合において,メニュー操作を含む文字入力操作の利便性を向上させる技術を提供する。
【解決手段】例えば,トラッキングデバイス20が空間で動作するユーザの手のトラッキングを行う場合に,文字入力装置10の位置情報取得部11は,ユーザの手の位置情報を取得し,位置情報保持部14に蓄積する。ポインタ位置決定部12が,取得した位置情報を画面上のポインタの位置に変換し,ポインタ表示部13が,画面にポインタを表示する。文字特定部15は,連続した位置情報による軌跡に対する文字認識で,空間でユーザの手が描いた文字を特定する。メニュー表示部16は,特定された文字に対応する画面上のポインタの移動軌跡を囲むように,環状メニューを表示する。メニュー選択部110は,環状メニューに対するポインタの動作から,環状メニューへの選択操作を判断する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,ユーザによる文字入力を受け付ける文字入力装置,文字入力プログラムおよび文字入力方法に関するものである。
【背景技術】
【0002】
ユーザが離れた場所から身振りや手振りなどの動作を行うことで情報機器の操作を行う空間ジェスチャの技術において,ユーザが手などで空間に描いた文字を,情報機器が認識して入力する技術がある。例えば,光を反射する器具を用いてユーザが空間に描いた軌跡を検出し,その軌跡から文字認識を行う技術が知られている。この技術では,ユーザは,○や×などの所定の図形を描くことで,画面に表示された認識結果文字の確定/キャンセルを指定する。このような技術によって,ユーザによる直感的な情報機器への文字入力が可能となる。
【0003】
なお,手を所定の形状にするなどのユーザアクションの認識をトリガとして,画面にメニューを表示し,電子機器を遠隔制御する技術が知られている。また,特定領域に対するポインタの軌跡を検出することで,位置情報以外の意味のある入力を認識する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−234277号公報
【特許文献2】特開平9−128141号公報
【特許文献3】特開平10−91320号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
空間操作による文字入力の技術では,誤認識文字の訂正や,文字列の予測入力などをどのように行うかについて,さまざまな課題がある。
【0006】
例えば,上述の○や×などの所定の図形を描くことで,画面に表示された認識文字の確定/キャンセルを行う技術は,1文字ごとに確定/キャンセルを指定しなければならないので,ユーザにとってわずらわしく,不便である。また,何らかの特別なアクションで画面にメニューを表示する技術も,特別なアクションを覚えなければならない,メニューを開くたびに特別なアクションを行わなければならないなどの問題があり,ユーザにとってわずらわしく,不便である。
【0007】
画面にメニューを表示しておくにしても,ユーザの空間操作によって画面上に描画された文字の位置がメニューから遠かった場合など,メニューを利用する操作が不便となる。また,表示されたメニューの近くに文字が描画されるように空間操作を行わなければならないとすると,ユーザの自由な空間操作による文字描画が阻害され,ユーザにとってわずらわしく,不便である。
【0008】
一側面では,本発明は,空間での物体の動作により文字入力を行う場合において,メニュー操作を含む文字入力操作の利便性を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
1態様では,文字入力装置は,空間における特定の物体の位置情報を取得する位置情報取得部と,位置情報を蓄積する位置情報保持部と,位置情報に基づいて表示装置の画面におけるポインタの表示位置を決定するポインタ位置決定部と,決定された表示装置の画面におけるポインタの表示位置にポインタを表示するポインタ表示部と,位置情報保持部に蓄積された位置情報に基づいて特定の物体の移動により描画された文字を特定する文字特定部と,特定された文字に対応するポインタの移動軌跡を囲む環状メニューを表示するメニュー表示部と,環状メニューとポインタとの位置関係に基づいて環状メニューへの選択操作を判断するメニュー選択部とを備える。
【発明の効果】
【0010】
1態様では,空間での物体の動作によって文字入力を行う場合に,メニュー操作を含む文字入力操作の利便性が向上する。
【図面の簡単な説明】
【0011】
【図1】本実施の形態による文字入力装置の構成例を示す図である。
【図2】本実施の形態による文字入力装置を実現するコンピュータのハードウェア構成例を示す図である。
【図3】本実施の形態によるユーザの文字入力操作の例を説明する図である。
【図4】本実施の形態による環状メニューの例を示す図である。
【図5】本実施の形態による環状メニューへの操作の例を説明する図である。
【図6】本実施の形態による予測文字列が表示された環状メニューの例を示す図である。
【図7】本実施の形態1の文字入力装置による文字の特定・環状メニュー表示処理フローチャートである。
【図8】本実施の形態の文字入力装置による環状メニュー操作処理フローチャートである。
【図9】本実施の形態の文字入力装置による入力文字列予測処理フローチャートである。
【図10】本実施の形態の文字入力装置による予測文字列割り当て表示処理フローチャートである。
【図11】本実施の形態2による環状メニューの表示を説明する図である。
【図12】本実施の形態2の文字入力装置による文字の特定・環状メニュー表示処理フローチャートである。
【発明を実施するための形態】
【0012】
以下,本実施の形態について,図を用いて説明する。
【0013】
図1は,本実施の形態による文字入力装置の構成例を示す図である。
【0014】
図1に示す文字入力装置10は,特定の物体の空間での軌跡を認識して,文字入力の処理を行う装置である。特定の物体は,例えば,空間で文字入力を行うユーザの身体の一部や,ユーザが身体に装着する機器などである。文字入力装置10は,例えば,ユーザが空間で手などを動かすことにより直感的に描かれた文字を認識し,入力する。
【0015】
文字入力装置10は,位置情報取得部11,ポインタ位置決定部12,ポインタ表示部13,位置情報保持部14,文字特定部15,メニュー表示部16,文字列保持部17,文字列予測部18,予測文字列割り当て部19,メニュー選択部110,メニューリセット部111を備える。
【0016】
位置情報取得部11は,トラッキングデバイス20から,空間における特定の物体の位置情報を取得する。トラッキングデバイス20は,空間に存在する特定の物体を識別し,その動作を追跡する装置である。
【0017】
ポインタ位置決定部12は,位置情報取得部11により取得された位置情報に基づいて,表示装置30の画面におけるポインタの表示位置を決定する。ポインタ表示部13は,ポインタ位置決定部12により決定された表示装置30の画面における表示位置に,ポインタを表示する。
【0018】
位置情報取得部11により取得された位置情報は,位置情報保持部14に記憶される。位置情報保持部14は,位置情報取得部11により取得された位置情報を蓄積して記憶する記憶部である。位置情報取得部11に蓄積された連続する位置情報が,特定の物体の軌跡の情報となる。
【0019】
文字特定部15は,位置情報保持部14に蓄積された位置情報に基づいて,空間における特定の物体の移動により描画された文字を特定する。このとき,文字特定部15は,特定の物体の軌跡に対して文字認識を行うことで,空間で描画された文字の特定を行う。文字特定部15は,字形候補抽出部151,文字認識部152,認識文字特定部153を備える。
【0020】
字形候補抽出部151は,位置情報保持部14に蓄積された位置情報から,特定の物体の移動により文字が描かれていると推定される部分の軌跡の情報を抽出する。文字認識部152は,字形候補抽出部151により抽出された軌跡の情報に対して文字認識を行い,認識された文字の確からしさを示す認識確信度を求める。認識文字特定部153は,文字認識部152による認識文字の中に認識確信度が所定以上の認識文字がある場合に,最大の認識確信度を示す認識文字を,特定の物体の移動により描画された文字と特定する。
【0021】
メニュー表示部16は,文字特定部15により特定された文字に対応するポインタの移動軌跡を囲むように,ユーザによる文字入力を支援する環状メニューを,表示装置30に表示する。特定された文字に対応するポインタの移動軌跡は,特定された文字が認識されたときの字形候補抽出部151により抽出された軌跡に対応するポインタの移動軌跡である。メニュー表示部16は,メニュー位置決定部161を備える。メニュー位置決定部161は,環状メニューの表示位置やサイズ等を決定する。
【0022】
文字列保持部17は,文字特定部15により特定された文字を,描画された順に追加記録することで得られる文字列を記憶する記憶部である。文字列予測部18は,文字列保持部17に記憶された文字列から,ユーザが入力しようとしている文字列を予測する。予測文字列割り当て部19は,文字列予測部18により予測された文字列を,表示装置30の画面に表示された環状メニューに割り当てる。
【0023】
メニュー選択部110は,表示装置30の画面上の環状メニューとポインタとの位置関係に基づいて,ユーザによる環状メニューへの選択操作を判断する。環状メニューへの選択操作が判断されると,環状メニューから選択された項目に応じた処理が行われる。メニューリセット部111は,表示装置30の画面上の環状メニューとポインタとの位置関係に応じて,環状メニューを消去する。
【0024】
本実施の形態の文字入力装置10によって,空間での物体の動作により文字入力を行う際の,メニュー操作を含む文字入力操作の利便性が向上する。
【0025】
図2は,本実施の形態による文字入力装置を実現するコンピュータのハードウェア構成例を示す図である。
【0026】
図1に示す本実施の形態の文字入力装置10を実現するコンピュータ1は,例えば,CPU(Central Processing Unit )2,主記憶となるメモリ3,記憶装置4,通信装置5,媒体読取・書込装置6,入力装置7,出力装置8等を備える。記憶装置4は,例えばHDD(Hard Disk Drive )などである。媒体読取・書込装置6は,例えばCD−R(Compact Disc Recordable )ドライブやDVD−R(Digital Versatile Disc Recordable )ドライブなどである。入力装置7は,例えばキーボード・マウスなどである。本実施の形態では,トラッキングデバイス20を実現するカメラなども入力装置となる。出力装置8は,例えばディスプレイ等の表示装置30などである。
【0027】
図1に示す文字入力装置10および文字入力装置10が備える各機能部は,コンピュータ1が備えるCPU2,メモリ3等のハードウェアと,ソフトウェアプログラムとによって実現することが可能である。コンピュータ1が実行可能なプログラムは,記憶装置4に記憶され,その実行時にメモリ3に読み出され,CPU2により実行される。
【0028】
コンピュータ1は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータ1は,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。さらに,このプログラムは,コンピュータ1で読み取り可能な記録媒体に記録しておくことができる。
【0029】
以下では,本実施の形態の文字入力装置10による処理について,より具体的な例を示しながら説明を行う。
【0030】
〔実施の形態1〕
図3は,本実施の形態によるユーザの文字入力操作の例を説明する図である。
【0031】
図3に示すように,本実施の形態1の例では,表示装置30から少し離れた位置にいるユーザは,表示装置30の画面31に向かった状態で手40を動かすことで,文字入力操作を行う。本実施の形態1では,ユーザの手40が,トラッキングデバイス20による位置取得の対象となる特定の物体である。カメラ21は,表示装置30の画面31の前にいるユーザを撮像する。なお,図3では図示省略されているが,カメラ21と表示装置30は,文字入力装置10を実現するコンピュータ1に接続されている。
【0032】
カメラ21としては,例えばCCD(Charge Coupled Device )センサやCMOS(Complementary Metal Oxide Semiconductor )センサ等の視覚センサを用いて,リアルタイムに映像入力を行える程度の性能が求められる。例えば,市販の一般的なwebカメラなどでもよい。
【0033】
表示装置30としては,本実施の形態の文字入力装置10による各種表示内容を,十分に映し出せる性能が求められる。例えば,市販の液晶モニタ程度の解像度と表示速度があればよい。表示装置30は,例えば有機EL(Electroluminescence )方式や液晶方式,プロジェクション方式などのいずれの方式であってもよい。
【0034】
本実施の形態1では,トラッキングデバイス20は,カメラ21と,カメラ映像を解析して特定の物体の有無や位置を追跡するソフトウェアとによって実現される。
【0035】
カメラ映像の中から特定の図形または色分布に似た部分を探索する技術や,カメラ映像において現在のフレームと以前のフレームとを照合し,カメラ映像内の各部がどのように移動したのかを追跡する技術がある。これらの技術を組み合わせることで,カメラ映像に写る特定の物体の追跡が可能となる。例えば,OpenCV(登録商標)と呼ばれるオープンソースソフトウェアライブラリには,これらの機能が標準的に含まれている。
【0036】
また,映像各部への距離のセンシングが可能な距離画像センサと呼ばれるデバイスがある。距離画像センサを用いれば,立体的に映像を捉えることが可能となり,より高精度なトラッキングが可能となる。
【0037】
本実施の形態1では,トラッキングデバイス20によって,ユーザの手40の位置がトラッキングされる。手40の部分を高速かつ高精度に抽出することは,一般に困難である。例えば,手40のひらを常にカメラの方向に向ける,常に手40を握ったままにする,カメラ21に対して最も突き出ている肌色の部分を手40とみなすなどの制限を設けることによって,高速かつ高精度な手40の抽出が可能となる。
【0038】
文字入力装置10において,位置情報取得部11は,トラッキングデバイス20から,空間におけるユーザの手40の位置情報を取得する。位置情報取得部11で得られる位置情報は,奥行き情報が含まれる3次元座標であってもよいが,本実施の形態では特に必須ではない。本実施の形態では,位置情報取得部11により,2次元座標が得られるものとする。
【0039】
ポインタ位置決定部12は,位置情報取得部11により取得された位置情報から,表示装置30の画面31におけるポインタ50の表示位置を決定する。例えば,得られた位置情報がカメラ画像上で手40が写った位置の座標である場合に,ポインタ位置決定部12は,カメラ画像の中心位置が画面31の中心位置に,カメラ画像の端の位置が画面31の端の位置になるように,取得した座標を画面31上の座標に変換する。変換された画面31上の座標が,決定されたポインタ50の表示位置の座標となる。また,ユーザがあらかじめ設定したキャリブレーションに基づいて,トラッキングされる手40が無理なく動かせる範囲を画面31に割り当て,取得した位置情報をポインタ50の表示位置に変換するようにしてもよい。
【0040】
ポインタ表示部13は,ポインタ位置決定部12により決定された表示装置30の画面31における表示位置に,ポインタ50を表示する。図3に示すように,空間上でのユーザの手40の位置に対応する画面31の表示位置にポインタ50が表示され,空間上でのユーザの手40の移動に追従して,画面31上のポインタ50も移動する。なお,図3に示す例では,ポインタ50の移動軌跡が画面31に表示されているが,ポインタ50の移動軌跡を画面31上に表示するか否かの設計は,任意である。
【0041】
位置情報保持部14は,位置情報取得部11により得られた位置情報を蓄積する。位置情報取得部11により取得された位置情報を時系列に並べた情報は,ユーザの手40の移動軌跡の情報となる。すなわち,位置情報保持部14に蓄積された位置情報は,ユーザの手40の移動軌跡の情報であるともいえる。
【0042】
位置情報保持部14に蓄積される位置情報は,例えば,文字認識により所定以上の認識確信度を満たす文字が得られるまでか,位置情報保持部14に割り当てられた記憶領域がいっぱいになるまで,保持される。位置情報保持部14に割り当てられた記憶領域がいっぱいになった場合には,古い位置情報から消去され,新しい位置情報を蓄積できる領域が空けられる。仮に毎秒20回の位置情報の取得が行われ,ユーザが空間上に1文字を書くのに要する時間の最大値が3秒であるものとすれば,位置情報保持部14として,20×3=60個分以上の位置情報を記憶できる領域があればよい。
【0043】
文字特定部15において,字形候補抽出部151は,位置情報保持部14に蓄積されたユーザの手40の移動軌跡の情報から,文字と推定される部分を抽出する。ここでは,字形候補抽出部151により抽出された,文字と推定される部分の軌跡を,字形候補と呼ぶ。字形候補の抽出は,例えば,ユーザの手40の軌跡を構成する座標点の位置関係や軌跡の方向変化,軌跡のサイズ,停留時間などに基づいて行うことができる。
【0044】
例えば,文字は,通常,上から下に,左から右に向かって書かれるので,軌跡が大きく下から上へ,右から左へと移動している部分は,次の文字を書き始める直前の運筆である可能性が高い。したがって,そのような運筆部分の直前の部分は,文字の書き終わりである可能性が高いと考えられ,直後の部分は文字の書き始めである可能性が高いと考えられる。また,文字の書き始めや文字の書き終わりの部分では,軌跡の停留が起こることも多いので,停留部分を文字の区切り候補として抽出することもできる。
【0045】
また,文字の書き始めの点の候補と文字の書き終わりの点の候補の中で,それらの点の間に挟まれた区間の軌跡が小さ過ぎる場合や大き過ぎる場合には,その区間の軌跡が文字ではないと推定できる。軌跡の大きさのしきい値は,例えば,何人かの被験者に,それぞれにとって自然な大きさで空中手書き文字入力をしてもらい,採集された文字サイズの平均値と標準偏差とから,一定の信頼区間を取って決める方法が考えられる。
【0046】
文字特定部15において,文字認識部152は,字形候補抽出部151により抽出された字形候補に対して文字認識を行い,文字としての確からしさを得る。本実施の形態では,文字認識により得られる文字としての確からしさを,認識確信度と呼ぶ。例えば,文字認識部152は,抽出された字形候補のパターンと,あらかじめ登録された各文字のテンプレートパターンとを照合し,パターン間の類似度を得る。ここでは,照合により得られた類似度が,認識確信度となる。
【0047】
文字特定部15において,認識文字特定部153は,文字認識部152での文字認識により所定以上の類似度が得られた場合に,最大の類似度が得られた字形候補について,その認識文字を,ユーザの手40により空間に描画された文字として特定する。
【0048】
なお,文字特定部15は,文字が特定された際に,字形候補を抽出する対象の連続する位置情報すなわちユーザの手40の移動軌跡をリセットする。ここでのリセットとは,字形候補を抽出する対象のユーザの手40の移動軌跡を,文字が特定された字形候補より後のユーザの手40の移動軌跡に更新することをいう。リセットの方法としては,例えば,位置情報保持部14から文字が特定された字形候補の最後の点までの位置情報を削除する,次の字形候補を抽出する対象の連続する位置情報の開始位置を,文字が特定された字形候補の次の位置情報にするなどの方法が考えられる。
【0049】
文字特定部15は,文字列保持部17に保持される文字列に,文字認識により特定された文字を追加する。ここでは,文字列保持部17に保持される文字列を未確定文字列と呼ぶ。未確定文字列は,かな漢字変換や予測入力,文字入力対象のアプリケーションソフトウェアへの文字列送出を行う前の段階の入力文字列を指す。
【0050】
文字列予測部18は,文字列保持部17に記憶された未確定文字列から,ユーザが入力しようとしている文字列を予測する。例えば,文字列予測部18は,図1に示す構成では図示省略された文字列辞書から,未確定文字列の音で始まる文字列を抽出する。本実施の形態の文字列予測部18による入力文字列の予測機能は,携帯電話等に搭載されている文字列の予測入力機能などと同様の機能である。ここでは,文字列予測部18により予測される入力文字列を,予測文字列と呼ぶ。
【0051】
メニュー表示部16は,文字特定部15により文字が特定されたときに,特定された文字に対応するポインタ50の移動軌跡を取り囲むように,環状メニューを表示する。なお,ここでは,特定された文字に対応するポインタ50の移動軌跡を,字形軌跡と呼ぶ。
【0052】
図4は,本実施の形態による環状メニューの例を示す図である。
【0053】
文字特定部15により文字が特定されたときには,表示装置30の画面31において,図4に示すように,字形軌跡51を囲むように,環状メニュー60が表示される。図4に示す例では,環状メニュー60の領域の内側の領域上部に,文字特定部15により特定された文字として「な」が表示されている。
【0054】
環状メニュー60の表示位置やサイズは,メニュー位置決定部161により求められる。メニュー位置決定部161は,文字特定部15により文字が特定されたときに,特定された文字に対応するポインタ50の移動軌跡,すなわち字形軌跡51の位置とサイズとに基づいて,環状メニュー60の表示位置とサイズとを決定する。
【0055】
環状メニュー60の位置を求める方法としては,例えば,字形軌跡51の重心の座標を環状メニュー60の中心座標とする方法や,字形軌跡51の外接矩形の中心座標を環状メニュー60の中心座標とする方法などが考えられる。環状メニュー60のサイズとして半径を求める方法としては,例えば,環状メニュー60の中心座標と字形軌跡51を構成する点の各座標との距離の最大値に一定値を乗じて求める方法や,字形軌跡51の外接矩形の対角線の長さに一定値を乗じて求める方法などが考えられる。ここでの環状メニュー60の半径は,図4に示す環状メニュー60における内側の円の半径である。
【0056】
このように,環状メニュー60の表示位置とサイズの様々な有効な計算方法が考えられる。メニュー位置決定部161は,外観的に字形軌跡51をある程度の余裕を持った大きさで囲うように環状メニュー60が表示されるように,環状メニュー60の表示位置とサイズとを決定する。
【0057】
メニュー表示部16は,メニュー位置決定部161によって求められた位置とサイズとに基づいて,環状メニュー60を表示装置30の画面31に表示する。図4では,環状メニュー60として,円形状の環状メニュー60の例が示されているが,字形軌跡51を囲む環状メニュー60であれば,多角形などの他の形状の環状メニュー60であってもよい。
【0058】
なお,図4に示す例では,環状メニュー60の表示に合わせて,邪魔にならない位置に,未確定文字列や予測文字列が表示されている。図4に示す例において,文字列表示部61は,文字列保持部17に保持された未確定文字列の表示欄である。また,予測文字列表示部62は,文字列予測部18により得られた予測文字列の表示欄である。
【0059】
環状メニュー60に表示する項目としては,例えば,特定された文字以外の他の認識文字の候補や,各種編集機能,予測文字列選択などの項目がある。
【0060】
図4に示す環状メニュー60において,「た」,「る」,「ま」と表示された項目は,文字「な」が特定された字形候補の他の認識文字の候補が提示された項目である。これらの項目が環状メニュー60から選択された場合には,特定された文字が選択された項目の文字に置き換えられる。
【0061】
図4に示す環状メニュー60において,「改行」,「クリア」,「編集」と表示された項目は,各種編集機能の項目である。例えば,「改行」は,未確定文字列を確定する場合などに用いられる編集機能である。「クリア」は,未確定文字列をバックスペースで1文字消去する場合などに用いられる編集機能である。「編集」は,文字のコピーなどの編集で用いられる編集機能である。
【0062】
図4に示す環状メニュー60において,「予測選択」は,予測文字列選択の項目である。「予測選択」の項目が環状メニュー60から選択された場合には,予測文字列を選択する環状メニュー60への移行が行われる。
【0063】
ユーザは,空間で手40を動かすことによりポインタ50を動かし,環状メニュー60の項目を選択する操作を行う。なお,ユーザは,環状メニュー60の項目を選択せずに,続けて次の文字を入力することも可能である。例えば,ユーザが,環状メニュー60の領域の内側の領域内で,字形軌跡51に重ねる形でポインタ50を操作すると,文字入力装置10は,前の字形軌跡51を消去して,次の文字入力の処理に写る。
【0064】
図5は,本実施の形態による環状メニューへの操作の例を説明する図である。
【0065】
メニュー選択部110は,環状メニュー60とポインタ50の位置関係に基いて,メニュー選択の処理を行う。メニュー選択部110は,ユーザによる環状メニュー60への選択操作があったと判断される場合に,環状メニュー60から選択された項目に応じた処理を行う。
【0066】
例えば,ポインタ50が環状メニュー60の項目の1つに入った瞬間,または一定時間以上同じ項目内にポインタ50が留まっていることをトリガとして,メニュー選択の処理を行う方法が考えられる。
【0067】
また,図5(A)には,ユーザによる環状メニュー60への選択操作の例が示されている。図5(A)に示す例では,ユーザは,空間で手40を動かすことで,画面31上のポインタ50を,環状メニュー60の領域の内側の領域から環状メニュー60の目的の項目の領域に移動させ,さらに環状メニュー60の領域の内側の領域に移動させる操作を行う。メニュー選択部110は,所定時間以内に,ポインタ50が内側の領域から環状メニュー60の領域に移動し,さらに内側の領域に移動した場合に,環状メニュー60への選択操作があったと判断する。
【0068】
図5(A)に示すポインタ50の動作で,環状メニュー60への選択操作を判断することにより,メニュー選択操作に待機時間が不要となり,不用意に環状メニュー60の外側にポインタ50を動かすことによるメニュー選択の誤操作を防ぐことができる。
【0069】
図5(B)には,ユーザによるメニューリセット操作の例が示されている。例えば,表示された環状メニュー60を消去したいユーザは,空間で手40を動かすことで,画面31上のポインタ50を,環状メニュー60の領域の内側の領域から外側の領域に移動し,停留させる。メニューリセット部111は,ポインタ50が,所定時間以上,環状メニュー60の領域,または環状メニュー60の領域の外側の領域にあるときに,環状メニュー60を消去する。
【0070】
画面31上での文字の筆記位置を大きく移動させたい場合などに,環状メニュー60が邪魔になることもあるため,図5(B)に示すような環状メニュー60を手軽に消去する操作は,有効である。
【0071】
図6は,本実施の形態による予測文字列が表示された環状メニューの例を示す図である。
【0072】
例えば,図4に示す環状メニューにおいて,図5(A)に示す選択操作により,「予測選択」の項目が選択されたものとする。このとき,予測文字列割り当て部19は,図6に示すように,文字列予測部18により得られた各予測文字列を,環状メニュー60上の項目に割り当てる。このように,予測文字列を環状メニュー60の項目に割り当てることにより,ユーザは,環状メニュー60への選択操作で,容易に予測文字列を選択することができる。
【0073】
なお,図6に示す環状メニュー60において,「戻る」の項目が選択されると,画面31上の環状メニュー60が,図4に示す環状メニュー60に戻る。
【0074】
図7は,本実施の形態1の文字入力装置による文字の特定・環状メニュー表示処理フローチャートである。
【0075】
文字入力装置10において,位置情報取得部11は,トラッキングデバイス20から,空間におけるユーザの手40の位置情報を取得する(ステップS10)。
【0076】
ポインタ位置決定部12は,取得された位置情報から,表示装置30の画面31におけるポインタ50の表示位置を決定する(ステップS11)。ポインタ表示部13は,決定された表示装置30の画面31上の表示位置に,ポインタ50を表示する(ステップS12)。
【0077】
文字入力装置10は,取得した位置情報を,位置情報保持部14に追加記録する(ステップS13)。字形候補を抽出する対象のユーザの手40の移動軌跡の情報に,取得した位置情報が追加される。
【0078】
文字特定部15において,字形候補抽出部151は,位置情報保持部14に記憶された連続する位置情報,すなわちユーザの手40の移動軌跡の情報から,字形候補を抽出する(ステップS14)。文字認識部152は,抽出された字形候補に対する文字認識を行う(ステップS15)。字形候補に対する文字認識により,認識された文字の認識確信度が得られる。認識文字特定部153は,認識確信度が所定以上であるかを判定する(ステップS16)。認識確信度が所定以上でなければ(ステップS16のNO),文字入力装置10は,ステップS10の処理に戻り,次のユーザの手40の位置情報の取得を行う。
【0079】
認識確信度が所定以上であれば(ステップS16のYES),字形候補に対する文字認識により認識された文字を,ユーザの手40の移動により描画された文字として特定する(ステップS17)。文字特定部15は,字形候補を抽出する対象の連続する位置情報をリセットする(ステップS18)。
【0080】
メニュー位置決定部161は,字形軌跡51すなわち特定された文字に対応するポインタ50の移動軌跡の位置とサイズとから,字形軌跡51を囲むように表示する環状メニュー60の表示位置とサイズとを決定する(ステップS19)。メニュー表示部16は,決定された表示位置に,決定されたサイズの環状メニュー60を表示する(ステップS20)。文字入力装置10は,ステップS10の処理に戻り,次のユーザの手40の位置情報の取得を行う。
【0081】
このように,ユーザによる文字入力操作によって画面31上に描かれた字形軌跡51を囲む環状メニュー60を自動表示することで,文字入力操作からメニュー操作への移行が容易になる。また,環状メニュー60の領域の内側に領域が確保できるため,次の文字を描くスペースが保障される。
【0082】
図8は,本実施の形態の文字入力装置による環状メニュー操作処理フローチャートである。
【0083】
図8に示す環状メニュー操作処理は,図7のステップS20で表示装置30の画面31に環状メニュー60が表示された際に行われる処理の例である。
【0084】
表示装置30の画面31に環状メニュー60が表示されると(図7のステップS20),文字入力装置10は,ポインタ50の移動軌跡を取得する(ステップS30)。ポインタ50の移動軌跡は,ポインタ位置決定部12により求められたポインタ50の表示位置の情報を蓄積記録しておいてもよいし,位置情報保持部14に保持された直近の連続する位置情報から求めるようにしてもよい。ここでは,環状メニュー60への選択操作の判定や環状メニュー60の消去の判定に必要な時間分のポインタ50の移動軌跡が得られればよい。
【0085】
メニュー選択部110は,所定時間内に,ポインタ50が環状メニュー60の領域の内側の領域から環状メニュー60の領域に移動し,さらに環状メニュー60の領域の内側の領域に移動したかを判定する(ステップS31)。
【0086】
ポインタ50が,内側領域から環状メニュー60の領域へ,さらに内側領域へと移動していれば(ステップS31のYES),メニュー選択部110は,環状メニュー60への選択操作があったと判断する(ステップS32)。メニュー選択部110は,環状メニュー60への選択された項目に応じた処理を実行する(ステップS33)。文字入力装置10は,ステップS36の処理に進む。
【0087】
ポインタ50が,内側領域から環状メニュー60の領域へ,さらに内側領域へと移動していなければ(ステップS31のNO),メニューリセット部111は,ポインタ50が環状メニュー60の領域や外側領域に所定時間以上あるかを判定する(ステップS34)。ポインタ50が環状メニュー60の領域や外側領域に所定時間以上なければ(ステップS34のNO),文字入力装置10は,ステップS37の処理に進む。
【0088】
ポインタ50が環状メニュー60の領域や外側領域に所定時間以上あれば(ステップS34のYES),メニューリセット部111は,環状メニュー60を画面31から消去する(ステップS35)。文字入力装置10は,ステップS36の処理に進む。
【0089】
文字入力装置10は,ポインタ50の移動軌跡をリセットする(ステップS36)。ここでのリセットは,その後の文字入力操作や環状メニュー60への操作の判定の対象となる軌跡を,ステップS31やステップS34でYESと判定されたポインタ50の移動軌跡より後の軌跡に更新することをいう。例えば,文字入力装置10は,字形候補の対象となる軌跡の開始位置を,ステップS31やステップS34でYESと判定されたポインタ50の移動軌跡の次の点に対応する位置に設定するなどの処理を行う。
【0090】
文字入力装置10は,表示装置30の画面31に環状メニュー60が表示されているかを判定する(ステップS37)。環状メニュー60が表示されていれば(ステップS37のYES),文字入力装置10は,ステップS30の処理に戻る。環状メニュー60が表示されていなければ(ステップS37のNO),文字入力装置10は,環状メニュー操作処理を終了する。
【0091】
図9は,本実施の形態の文字入力装置による入力文字列予測処理フローチャートである。
【0092】
図9に示す入力文字列予測処理は,図7のステップS17でユーザの手40が空間に描いた文字が特定された際に行われる処理の例である。
【0093】
文字が特定されると(図7のステップS17),文字特定部15は,特定された文字を,文字列保持部17に記憶された未確定文字列に追加する(ステップS40)。文字入力装置10は,文字列保持部17に記憶された未確定文字列を,表示装置30の画面31の文字列表示部61に表示する(ステップS41)。
【0094】
文字列予測部18は,文字列保持部17に記憶された未確定文字列から,ユーザが入力しようとしている文字列を予測する(ステップS42)。文字列予測部18は,得られた各予測文字列を,表示装置30の画面31の予測文字列表示部62に表示する(ステップS43)。
【0095】
図10は,本実施の形態の文字入力装置による予測文字列割り当て表示処理フローチャートである。
【0096】
図10に示す環状メニュー操作処理は,図8に示す環状メニュー操作処理で,環状メニュー60から「予測選択」の項目が選択されたと判断された際に行われる処理の例である。
【0097】
環状メニュー60から「予測選択」の項目が選択されると,予測文字列割り当て部19は,文字列予測部18により得られた各予測文字列の,環状メニュー60の各項目への割り当てを行う(ステップS50)。メニュー表示部16は,各予測文字列の割り当てに従って,環状メニュー60の各項目の表示を変更する(ステップS51)。
【0098】
〔実施の形態2〕
上述の実施の形態1の例では,ユーザが手40を動かすことで画面31上の任意の位置に描いた字形軌跡51に応じて,表示される環状メニュー60の表示位置とサイズとを決定している。これに対して,以下で説明する本実施の形態2の例では,環状メニュー60を画面31上の一定位置に一定サイズで表示し,その環状メニュー60の領域の内側の領域に,ユーザが任意の位置で手40を動かして画面31上で移動させるポインタ50の表示位置を変換する。上述の実施の形態1と本実施の形態2とでは,アプローチの仕方は異なるが,ユーザが空間で手40を動かすことにより画面31上に描いた文字の周囲に環状メニュー60が表示されるという点で,結果が一致する。
【0099】
本実施の形態2では,図1に示す文字入力装置10における各機能部の動作は,上述の実施の形態1とほぼ同様である。文字入力装置10において,上述の実施の形態1と本実施の形態2とで大きく動作が異なるのは,ポインタ位置決定部12の動作と,メニュー表示部16の動作とである。
【0100】
環状メニュー60が表示されていない状態では,ポインタ位置決定部12が,上述の実施の形態1と同様の処理で,表示装置30の画面31におけるポインタ50の表示位置を決定する。すなわち,後の環状メニュー60の表示位置に関係なく,デフォルトの変換パラメータを用いて,取得された位置情報を変換することで,ポインタ50の表示位置を求める。デフォルトの変換パラメータを用いた位置変換は,例えば,上述の実施の形態1で説明したカメラ画像と画面31とを対応付けた位置変換や,ユーザがあらかじめ設定したキャリブレーションに基づいた位置変換などである。
【0101】
画面31に環状メニュー60が表示されていない状態で,文字特定部15により文字が特定されると,メニュー表示部16は,環状メニュー60を,表示装置30の画面31における所定の表示位置に所定のサイズで表示する。
【0102】
文字が特定されて画面31に環状メニュー60が表示されている状態では,ポインタ位置決定部12は,環状メニュー60の表示位置とサイズ,字形軌跡51の位置とサイズ,取得された位置情報に基づいて,表示装置30の画面31におけるポインタの表示位置を決定する。具体的には,環状メニュー60が表示された後では,ポインタ位置決定部12は,表示された環状メニュー60の領域の内側の領域に字形軌跡51が適度な余裕を持って収まるように変換パラメータを求め,取得された位置情報を変換してポインタ50の表示位置を決定する。
【0103】
例えば,字形軌跡51の外接矩形の中心点を(Xc ,Yc ),字形軌跡51を構成する点の中で中心点からの距離が最大となる点と,中心点との距離をRc とする。また,環状メニュー60の中心点を(Xm ,Ym ),環状メニュー60の領域の内側の領域の半径をRm とする。このとき,取得された位置情報(x,y)から,ポインタ50の表示位置(X,Y)を求める式は,例えば,次の通りとなる。
【0104】
X=(x−Xc )×Rm ×α/Rc +Xm
Y=(y−Yc )×Rm ×α/Rc +Ym
ここで,αは定数であり,1より小さい値を取る。αの値が小さいほど,ユーザの手40の振りに対してより小さい領域に,ポインタ50の表示位置が割り当てされる。αの値が小さい場合には,環状メニュー60を選択しにくくなる反面,ユーザが空中で手40を動かして文字入力を行う際に,誤ってメニュー選択操作を行ってしまう可能性が低くなる。逆に,αの値が大きい場合には,環状メニュー60を選択しやすくなる反面,ユーザが空中で手40を動かして文字入力を行う際に,誤って環状メニュー60への選択操作を行ってしまう可能性が高くなる。
【0105】
図11は,本実施の形態2による環状メニューの表示を説明する図である。
【0106】
図11(A)は,環状メニュー60が表示されていないときに,ユーザが手40の動作によって画面31上のポインタ50を動かしている状態を示す。図11(B)は,文字特定部15により文字が特定され,環状メニュー60が表示された後の状態を示す。
【0107】
例えば,ユーザは,空間で手40を動かすことにより,図11(A)に示すように,画面31の右側でポインタ50を操作して,文字入力を行っているものとする。環状メニュー60が表示されるまでは,この状態が維持される。
【0108】
ユーザが描画した文字が特定されると,環状メニュー60が所定位置に所定サイズで表示され,ポインタ50や字形軌跡51が,表示された環状メニュー60の領域の内側の領域に表示される。このとき,ユーザは,特に手40を動作させる位置を大きく変えておらず,当初と同じ空間の位置で手40を動作させている。文字入力装置10が,環状メニュー60や当初の字形軌跡51から求められた変換パラメータで,自動的にポインタ50や字形軌跡51の表示位置を,環状メニュー60の領域の内側の領域に変換させている。
【0109】
以降,環状メニュー60が画面31から消去されるまで,文字入力装置10は,環状メニュー60の表示時に求められた変換パラメータを用いて,ポインタ50の表示位置を決定し,表示画面にポインタ50を表示する。
【0110】
図12は,本実施の形態2の文字入力装置による文字の特定・環状メニュー表示処理フローチャートである。
【0111】
文字入力装置10において,位置情報取得部11は,トラッキングデバイス20から,空間におけるユーザの手40の位置情報を取得する(ステップS60)。
【0112】
ポインタ位置決定部12は,取得された位置情報に対して変換パラメータを用い,表示装置30の画面31におけるポインタ50の表示位置を決定する(ステップS61)。ここでは,ポインタ位置決定部12は,文字が特定されて環状メニュー60が表示される前には,デフォルトの変換パラメータを用い,環状メニュー60が表示された後には,ステップS69で求める変換パラメータを用いる。ポインタ表示部13は,決定された表示装置30の画面31上の表示位置に,ポインタ50を表示する(ステップS62)。
【0113】
文字入力装置10は,取得した位置情報を,位置情報保持部14に追加記録する(ステップS63)。字形候補を抽出する対象のユーザの手40の移動軌跡の情報に,取得した位置情報が追加される。
【0114】
文字特定部15において,字形候補抽出部151は,位置情報保持部14に記憶された連続する位置情報,すなわちユーザの手40の移動軌跡の情報から,字形候補を抽出する(ステップS64)。文字認識部152は,抽出された字形候補に対する文字認識を行う(ステップS65)。字形候補に対する文字認識により,認識された文字の認識確信度が得られる。認識文字特定部153は,認識確信度が所定以上であるかを判定する(ステップS66)。認識確信度が所定以上でなければ(ステップS66のNO),文字入力装置10は,ステップS60の処理に戻り,次のユーザの手40の位置情報の取得を行う。
【0115】
認識確信度が所定以上であれば(ステップS66のYES),字形候補に対する文字認識により認識された文字を,ユーザの手40の移動により描画された文字として特定する(ステップS67)。メニュー表示部16は,表示装置30の画面31の所定の表示位置に,所定のサイズの環状メニュー60を表示する(ステップS68)。
【0116】
ポインタ位置決定部12は,環状メニュー60の位置とサイズ,字形軌跡51の位置とサイズに基づいて,変換パラメータを算出する(ステップS69)。ポインタ位置決定部12は,算出された変換パラメータを用いて,画面31に表示されているポインタ50の変換後の表示位置を決定する(ステップS70)。ポインタ表示部13は,画面31に表示されているポインタ50を削除し,ステップS70で決定された表示位置にポインタ50を表示する(ステップS71)。ポインタ50の移動軌跡を画面31に表示している場合には,その移動軌跡も変換して表示し直す。
【0117】
文字特定部15は,字形候補を抽出する対象の連続する位置情報をリセットする(ステップS72)。文字入力装置10は,ステップS60の処理に戻り,次のユーザの手40の位置情報の取得を行う。
【0118】
本実施の形態2においても,ユーザにとって得られる利点は,上述の実施の形態1とほぼ同等である。本実施の形態2には,さらに,環状メニュー60が定位置に出るため,ユーザが見やすくなるという利点がある。
【0119】
以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【0120】
例えば,本実施の形態では,カメラ映像を用いて空間における特定の物体の位置を取得しているが,これに限るものではない。例えば,ジャイロセンサ,加速度センサ,超音波などを用いて位置取得が可能なユーザが身体に装着する端末機器を含む装置を用いて,空間における特定の物体の位置を取得するようにしてもよい。
【0121】
以上の本実施の形態に関し,さらに以下の付記を開示する。
【0122】
(付記1)
空間における特定の物体の位置情報を取得する位置情報取得部と,
前記位置情報を蓄積する位置情報保持部と,
前記位置情報に基づいて,表示装置の画面におけるポインタの表示位置を決定するポインタ位置決定部と,
前記決定された表示装置の画面におけるポインタの表示位置に,ポインタを表示するポインタ表示部と,
前記位置情報保持部に蓄積された前記位置情報に基づいて,前記特定の物体の移動により描画された文字を特定する文字特定部と,
前記特定された文字に対応する前記ポインタの移動軌跡を囲む環状メニューを表示するメニュー表示部と,
前記環状メニューと前記ポインタとの位置関係に基づいて,前記環状メニューへの選択操作を判断するメニュー選択部とを備える
ことを特徴とする文字入力装置。
【0123】
(付記2)
前記メニュー表示部は,前記特定された文字に対応する前記ポインタの移動軌跡の位置とサイズとに基づいて,前記環状メニューの表示位置とサイズとを決定する
ことを特徴とする付記1に記載の文字入力装置。
【0124】
(付記3)
前記メニュー表示部は,前記環状メニューを,所定の表示位置に所定のサイズで表示し,
前記ポインタ位置決定部は,前記環状メニューの表示位置とサイズ,前記特定された文字に対応する前記ポインタの移動軌跡の位置とサイズ,および前記位置情報に基づいて,前記表示装置の画面におけるポインタの表示位置を決定する
ことを特徴とする付記1に記載の文字入力装置。
【0125】
(付記4)
前記メニュー選択部は,所定時間内に,前記ポインタが前記環状メニューの領域の内側の領域から前記環状メニューの領域に移動し,さらに前記環状メニューの領域の内側の領域に移動した場合に,前記環状メニューへの選択操作があったと判断する
ことを特徴とする付記1から付記3までのいずれかに記載の文字入力装置。
【0126】
(付記5)
前記特定された文字を順に追加して得られる文字列を記憶する文字列保持部と,
前記文字列保持部に記憶された文字列から,入力文字列を予測する文字列予測部と,
前記環状メニューに,前記予測される入力文字列を割り当てる予測文字列割り当て部とを備える
ことを特徴とする付記1から付記4までのいずれかに記載の文字入力装置。
【0127】
(付記6)
前記ポインタが,所定時間以上,前記環状メニューの領域,または前記環状メニューの領域の外側の領域にあるときに,前記環状メニューを消去するメニューリセット部を備える
ことを特徴とする付記1から付記5までのいずれかに記載の文字入力装置。
【0128】
(付記7)
コンピュータに,
空間における特定の物体の位置情報を取得し,
前記位置情報に基づいて,表示装置の画面におけるポインタの表示位置を決定し,
前記決定された表示装置の画面におけるポインタの表示位置に,ポインタを表示し,
記憶部に蓄積して記憶される前記位置情報に基づいて,前記特定の物体の移動により描画された文字を特定し,
前記特定された文字に対応する前記ポインタの移動軌跡を囲む環状メニューを表示し,
前記環状メニューと前記ポインタとの位置関係に基づいて,前記環状メニューへの選択操作を判断する
処理を実行させるための文字入力プログラム。
【0129】
(付記8)
コンピュータが,
空間における特定の物体の位置情報を取得し,
前記位置情報に基づいて,表示装置の画面におけるポインタの表示位置を決定し,
前記決定された表示装置の画面におけるポインタの表示位置に,ポインタを表示し,
記憶部に蓄積して記憶される前記位置情報に基づいて,前記特定の物体の移動により描画された文字を特定し,
前記特定された文字に対応する前記ポインタの移動軌跡を囲む環状メニューを表示し,
前記環状メニューと前記ポインタとの位置関係に基づいて,前記環状メニューへの選択操作を判断する過程を実行する
ことを特徴とする文字入力方法。
【符号の説明】
【0130】
10 文字入力装置
11 位置情報取得部
12 ポインタ位置決定部
13 ポインタ表示部
14 位置情報保持部
15 文字特定部
151 字形候補抽出部
152 文字認識部
153 認識文字特定部
16 メニュー表示部
161 メニュー位置決定部
17 文字列保持部
18 文字列予測部
19 予測文字列割り当て部
110 メニュー選択部
111 メニューリセット部
20 トラッキングデバイス
30 表示装置

【特許請求の範囲】
【請求項1】
空間における特定の物体の位置情報を取得する位置情報取得部と,
前記位置情報を蓄積する位置情報保持部と,
前記位置情報に基づいて,表示装置の画面におけるポインタの表示位置を決定するポインタ位置決定部と,
前記決定された表示装置の画面におけるポインタの表示位置に,ポインタを表示するポインタ表示部と,
前記位置情報保持部に蓄積された前記位置情報に基づいて,前記特定の物体の移動により描画された文字を特定する文字特定部と,
前記特定された文字に対応する前記ポインタの移動軌跡を囲む環状メニューを表示するメニュー表示部と,
前記環状メニューと前記ポインタとの位置関係に基づいて,前記環状メニューへの選択操作を判断するメニュー選択部とを備える
ことを特徴とする文字入力装置。
【請求項2】
前記メニュー表示部は,前記特定された文字に対応する前記ポインタの移動軌跡の位置とサイズとに基づいて,前記環状メニューの表示位置とサイズとを決定する
ことを特徴とする請求項1に記載の文字入力装置。
【請求項3】
前記メニュー表示部は,前記環状メニューを,所定の表示位置に所定のサイズで表示し,
前記ポインタ位置決定部は,前記環状メニューの表示位置とサイズ,前記特定された文字に対応する前記ポインタの移動軌跡の位置とサイズ,および前記位置情報に基づいて,前記表示装置の画面におけるポインタの表示位置を決定する
ことを特徴とする請求項1に記載の文字入力装置。
【請求項4】
前記メニュー選択部は,所定時間内に,前記ポインタが前記環状メニューの領域の内側の領域から前記環状メニューの領域に移動し,さらに前記環状メニューの領域の内側の領域に移動した場合に,前記環状メニューへの選択操作があったと判断する
ことを特徴とする請求項1から請求項3までのいずれかに記載の文字入力装置。
【請求項5】
前記特定された文字を順に追加して得られる文字列を記憶する文字列保持部と,
前記文字列保持部に記憶された文字列から,入力文字列を予測する文字列予測部と,
前記環状メニューに,前記予測される入力文字列を割り当てる予測文字列割り当て部とを備える
ことを特徴とする請求項1から請求項4までのいずれかに記載の文字入力装置。
【請求項6】
コンピュータに,
空間における特定の物体の位置情報を取得し,
前記位置情報に基づいて,表示装置の画面におけるポインタの表示位置を決定し,
前記決定された表示装置の画面におけるポインタの表示位置に,ポインタを表示し,
記憶部に蓄積して記憶される前記位置情報に基づいて,前記特定の物体の移動により描画された文字を特定し,
前記特定された文字に対応する前記ポインタの移動軌跡を囲む環状メニューを表示し,
前記環状メニューと前記ポインタとの位置関係に基づいて,前記環状メニューへの選択操作を判断する
処理を実行させるための文字入力プログラム。
【請求項7】
コンピュータが,
空間における特定の物体の位置情報を取得し,
前記位置情報に基づいて,表示装置の画面におけるポインタの表示位置を決定し,
前記決定された表示装置の画面におけるポインタの表示位置に,ポインタを表示し,
記憶部に蓄積して記憶される前記位置情報に基づいて,前記特定の物体の移動により描画された文字を特定し,
前記特定された文字に対応する前記ポインタの移動軌跡を囲む環状メニューを表示し,
前記環状メニューと前記ポインタとの位置関係に基づいて,前記環状メニューへの選択操作を判断する過程を実行する
ことを特徴とする文字入力方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2013−30057(P2013−30057A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2011−166733(P2011−166733)
【出願日】平成23年7月29日(2011.7.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】