(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態の一例について説明する。まず
図1を参照して、本発明の実施形態における、文字入力の様子について説明する。
図1は、本発明の実施形態における、文字入力の様子の一例を示す図である。
【0013】
情報処理装置100は、ディスプレイ101、撮像装置102を備えており、ディスプレイ101には、文字入力部103、キーボード105、カーソル106等を含む表示画面が表示される。
【0014】
キーボード105は、情報処理装置100によって仮想空間上に配置された仮想キーボード104を、表示画面に、ユーザに識別可能に表示したものである。尚、ここでは、ディスプレイ101は、タッチパネルを兼ねるものとする。
【0015】
撮像装置102は、ユーザの指(指示媒体)を撮像、その位置、動きを検知する。文字入力部103は、情報処理装置100のCPU201が、仮想キーボード104に対するユーザからの押下指示を受け付けることで文字入力(出力)される文字入力部である。ここでいう仮想キーボードとは、ソフトウェアキーボードのように表示画面上に表示されたキーボードではなく、実空間上に仮想的に形成、配置される、実体を持たないキーボードのことである。
【0016】
仮想キーボード104のいずれのキーが押下されたかの判断は、撮像装置102から取得される映像、空間上のユーザの指の位置から特定される。カーソル106は、撮像装置102により撮影されるユーザの指の動作状態を示すカーソルである。
【0017】
カーソル106は、表示画面上に表示され、ユーザの指の動きに応じて移動、動作する。ユーザは、表示画面上のキーボード105、カーソル106を見ることにより、仮想キーボードへの入力動作の状態を確認可能となっている。以上が
図1の、本発明の実施形態における、文字入力の様子についての説明である。
【0018】
次に
図2を参照して、本発明の実施形態における、情報処理装置のハードウェア構成図の構成の一例について説明する。
図2は、本発明の実施形態における、情報処理装置のハードウェア構成図の構成の一例を示す図である。
【0019】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0020】
また、ROM203あるいは外部メモリ213には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラム(以下、OS)や、本発明の文字入力システムプログラム、各PCの実行する機能を実現するために必要な各種プログラムが記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
【0021】
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。
【0022】
また、入力コントローラ(入力C)205は、撮像装置209やタッチパネル210や不図示のマウス等のポインティングデバイスからの入力を制御する。
【0023】
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)211等の表示器への表示を制御するとともに、音声再生制御と繋がっている。発明の主体が、スマートフォンのようなタブレット端末であることを前提としているが、他の機器へのコントローラとしての本システムを応用する場合は、どのような表示装置でも良く、本発明と直接関係があるものではない。
【0024】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウェア、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク、或いはPCのカードスロットにアダプタを介して接続されるメモリカード等の外部メモリ213へのアクセス制御をする。
【0025】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信が可能である。
【0026】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT211上での表示を可能としている。また、CPU201は、CRT211の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0027】
本発明を実現する為の後述するプログラムは、外部メモリ213に記憶されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブルも外部メモリ213に格納されており、これらについての詳細な説明も後述する。音声再生装置は、外部メモリ213に記憶された音声データを再生する装置である。以上が
図2の、本発明の実施形態における、情報処理装置のハードウェア構成図の構成の一例についての説明である。
【0028】
次に
図3を参照して、本発明の実施形態における、情報処理装置の機能構成図の構成の一例について説明する。
図3は、本発明の実施形態における、情報処理装置の機能構成図の構成の一例を示す図である。
【0029】
図3に示す通り、情報処理装置100は、データ送受信部301、撮像制御部302、映像解析部303、仮想キーボード制御部304、データ演算処理部305、画像表示部306等から構成されている。
【0030】
本発明の実施携帯における情報処理装置は、例えば、スマートデバイス等の携帯端末を想定しているが、当該情報処理装置の形態はこれに限るものではない。例えば、PC、デジタルカメラ(撮像装置)、家電製品のリモコン、車輛の操作スイッチなどであっても良い。
【0031】
データ送受信部301は、インターネット(ネットワーク999)に無線アクセスを行い、本発明における処理を実行するためのプログラムの取得を行う。当該プログラムが、本発明における情報処理装置内に記憶されている場合、当該データ送受信部301は、当該情報処理装置内から、前記プログラムの取得を行う。
【0032】
撮像制御部302は、撮像装置109により撮影する指の映像を取得すべく、撮像装置109を制御する制御部である。当該指の映像は、後述する、ユーザからいずれの文字の入力を指示されたかを特定する処理に用いられる。
【0033】
映像解析部303は、撮像制御部302で取得した画像を解析して、指位置の特定を行う。例えば、測光距離の情報を用いて、空間上の指の位置を特定する(指示媒体位置特定手段に該当)。
【0034】
仮想キーボード制御部304は、仮想キーを空間上に、情報処理装置100に対して水平・垂直に配置する配置制御部である。尚、不図示のキーボード配置設定画面等の設定画面においてユーザからの指示を受け付けることにより、キーの間隔を水平・垂直に調整し、キーの反応する範囲を調整可能であるものとする。
【0035】
データ演算処理部305は、映像解析部303と仮想キーボード制御部304のデータを比較して、ユーザから入力指示を受け付けた文字を特定する処理部である。
【0036】
画像表示部306は、前記仮想キーボード制御部304で仮想空間上に配置したキーボードを表示し、また、前記データ演算処理部305でユーザから入力指示を受け付けた文字を、例えば、検索ボックスや文字入力欄等の対象エリアに出力して表示する表示部である。以上が
図3の、本発明の実施形態における、情報処理装置の機能構成図の構成の一例についての説明である。
【0037】
次に
図4を参照して、本発明の実施形態における、文字入力処理の概要について説明する。
図4は、本発明の実施形態における、文字入力処理の概要を示すフローチャートである。以下、説明する処理は、情報処理装置100のCPU201が、情報処理装置100のRAM202をワークエリアとして、外部メモリ213に格納された本発明のプログラムを実行することにより実現される。
【0038】
情報処理装置100のCPU201は、ユーザからの指示を受け付け、文字入力画面を起動、表示する(ステップS401、ステップS402)。つまり、入力を受け付けた文字の出力を行う領域(検索ボックス、文字入力欄等)と、撮像装置の起動、文字入力を受け付けるための前記仮想キーボードの仮想空間上への配置、および、当該仮想キーボードの表示画面への表示を実行する。
【0039】
ここでいうユーザからの指示とは、例えば、文字入力領域等のエリアに対して、ユーザからのタップ指示等のことである。文字入力画面の例については
図1の説明にて前述したため、ここでは説明を割愛する。
【0040】
尚、表示画面の一部に、キーボード、かな漢字変換入力キー、アルファベット変換入力キー等を表示できるようにしてもよい。
【0041】
ここで
図5〜
図7を参照して、本発明の実施形態における仮想キーボードの配置の様子の一例について説明する。
図5〜
図7は、拡張現実手法による仮想キーボードの配置の様子を示す。
【0042】
当該仮想キーボードは、例えば、
図1の仮想キーボード104のように、撮像装置の正面の空間上に、複数の層(階層)に分けて、仮想的に配置される、例えば文字入力を行うために用いられるキーボードである。層とは、例えば、
図5における、「あ」音のかな入力キーの属する階層、「い」音のかな入力キーの属する階層、等の階層のことをいう。
【0043】
ここでは、当該仮想キーボードの座標(各仮想キーの座標)は、予め設定されているものとし、当該設定の内容(座標の情報)は、情報処理装置100の外部メモリ213等の記憶領域に記憶されているものとする。
【0044】
また、仮想キー毎に、各仮想キーが押下された場合の指先の面積(後述する
図8の三角形801、
図11の三角形1101)が対応付けて記憶されているものとする。当該対応付けの情報は、情報処理装置100の外部メモリ213等の記憶領域に記憶されているものとする。
【0045】
尚、仮想キーボードの配置の座標は別途設定画面(不図示)より設定、変更可能であるものとする。当該仮想キーボードの配置の詳細、使用方法については、
図8以下の説明にて後述する。
【0046】
図5は、本発明の実施形態における、ひらがな漢字変換入力方式の場合の仮想キーボードの配置例を示す図である。
図6は、本発明の実施形態における、ローマ字入力方式の場合の仮想キーボードの配置例を示す図である。
図7は、本発明の実施形態における、文字変換キー含む仮想キーボードの配置例を示す図である。
【0047】
入力文字キーに加え、選択した文字を漢字変換し決定するキーや文字種を変更する為のキーを空間上に仮想キーとして形成する。以上が
図5〜
図7の、拡張現実手法による仮想キーボードの配置の様子の一例についての説明である。
【0048】
図4の説明に戻る。情報処理装置100のCPU201は、文字入力方式の切替指示を受け付けたか否かを判定する(ステップS403)。ここでいう文字入力方式とは、本発明の実施形態における仮想キーボード入力方式による入力方式、従来のスマートデバイスにおけるタッチパネル上のキーボード押下による文字入力方式、スマートデバイス本体に設置されたキーボード押下による文字入力方式等の入力方式のことである。
【0049】
尚、ここでは、ステップS401で文字入力画面を起動した段階での入力方式が、仮想キーボードによる文字入力方式であるものとする。よって、ステップS403では、仮想キーボードによる文字入力方式が、例えば、従来のスマートデバイスにおけるタッチパネル上のキーボード押下による文字入力方式や、スマートデバイス本体に設置されたキーボード押下による文字入力方式に変更されたか否かを判定するものとする。
【0050】
当該文字入力方式の変更処理は、例えば、ユーザからの文字入力欄に対する長押し(継続的な押下)を受け付けることで表示される、不図示の文字入力方式変更画面(ポップアップ画面等)等において、変更する文字入力方式の選択指示を受け付けることで実行されるものとする。
【0051】
文字入力方式の切替指示を受け付けたと判定した場合(ステップS403でYES)、処理をステップS404に移行して、他の文字入力方式における文字入力を行わせるための画面へ、表示画面の表示を移行する。例えば、表示画面上から仮想キーボードの表示を消去し、従来の、タッチパネル操作に応じて文字入力を実行するためのキーボードを表示するよう、表示画面の表示を移行する。
【0052】
文字入力方式の切替指示を受け付けていないと判定した場合(ステップS403でNO)、処理をステップS405に移行する。
【0053】
情報処理装置100のCPU201は、ユーザの指の動作を撮影(連続撮影)する。つまり、仮想キーボード中のいずれのキー(仮想キー)が押下されるかを特定するために、仮想キーを押下すべく動作する、ユーザの指の撮影を行う。ここでいう連続撮影とは、例えば、動画撮影である(ステップS405)。
【0054】
情報処理装置100のCPU201は、当該連続撮影によって得られた指の映像から、指の位置を特定する(ステップS406/指示媒体位置特定手段に該当)。例えば、当該動画(画像)中の指先の面積を特定し(面積特定手段に該当)、当該面積の大きさの情報と、当該動画(画像)中の指の位置から、実空間上の指の位置(座標)を特定する。尚、測光距離の情報を用いて当該指と撮像装置の間の距離を測定し、当該動画(画像)中の指の位置の情報と合わせて実空間上の指の位置を特定するようにしてもよい。
【0055】
ここで
図8〜10を参照し、本発明の実施形態における、仮想キーボードとユーザの指との位置関係について説明する。
【0056】
図8は、本発明の実施形態における、仮想キーボードの平面上の配置及び入力指示対象のキーの特定方法の一例を示す図である。
【0057】
仮想キーボードの平面上の座標はX軸、Y軸で規定される。情報処理装置100のCPU201は、撮像装置により撮影された映像から指を特定し、指の先端を頂点とし他の二つの頂点を
【0058】
指の輪郭に内接する正三角形(後述する三角形1101)を指の腹上に形成し、当該三角形上の点(例えば、三角形の中心点/点802・点1103)が、前記規定されたX軸、Y軸上のいずれの座標に位置するかを判断し、当該指が、平面座標上において、いずれのキーを押下可能な状態にあるのかを判定する。
【0059】
例えば、撮影映像を解析し、数値化して空間上の指位置を計測するのであるが、この時の画像抽象化の手法の一例として、
この正三角形の面積比較により指の撮像装置からの距離計測に適用する。
【0060】
ここで、
図11を参照して、本発明の実施形態における、ユーザの指の座標を特定するための点の特定方法の一例について説明する。つまり、当該指の腹の上に形成される三角形、及び当該三角形上の点の例について説明する。
図11は、本発明の実施形態における、ユーザの指の座標を特定するための点の特定方法の一例を示す図である。
【0061】
三角形1101は、指1102の腹の輪郭上の三点を起点として形成される。当該起点は、ユーザの指上であれば、いずれの場所に規定してもよいものとする。点1103は、いずれのキーが押下されたかを判定するために用いられる、ユーザの指の位置(X,Y軸上の座標)を特定するための点である。以上が
図11の、本発明の実施形態における、ユーザの指の座標を特定するための点の特定方法の一例についての説明である。
【0062】
図8の説明に戻る。例えば、
図8に示すように、「な」のキーが、“X=3、Y=6”、“X=4、Y=6”、“X=3、Y=5”、“X=4、Y=5”の4点の示す領域の内側に設定されている場合には、情報処理装置100のCPU201は、前述した三角形801(三角形1101)上の点802(点1103)が前述した4点の示す領域の内側にあると判定した場合であって、接触したキーから指を離す動作である反転動作(ユーザの指が撮像装置から離れる動作)を検知した場合に、「な」の入力を受け付けたものと特定する。また、「な」のキーの領域内に指が入ったものと判断された場合(つまり、前記三角形上の点が「な」の領域内に含まれると判断された場合)、表示画面上の文字入力部に、「な」の文字を表示するものとする。
【0063】
反転動作とは、例えば、ユーザの指が撮像装置から離れる動作を示す。つまり、例えば、撮像装置に指が近付いて、キーを押下した後、上方向に向けてキーから指を離す動作である。情報処理装置100のCPU201は、当該反転動作を検知することにより、当該入力候補の文字を入力する文字として確定する。
【0064】
つまり、一般のキーボード押下受付、文字入力処理の場合と同じく、仮想キー押下後、ユーザの指が仮想キーから離れて、手前(接触した面と反対の方向)に引かれる動作を検知した場合、当該手前に引く動作の直前に入力候補の文字として特定されていた文字を、入力文字として特定し、出力するものである。ここでは、手前方向(上方向)に向けて、仮想キーから指を離す動作(仮想キーに対応する空間上の位置から指が移動する動作)を反転動作として説明したが、例えば、情報処理装置100のCPU201が、横方向、下方向、斜め方向に指が移動する動作を検知した場合に、当該指の動作が反転動作であると判断するようにしてもよい。
【0065】
また、ユーザの指が、仮想キーに接触したまま一定時間が経過した場合、ユーザの指が接触しているキーに対応する文字を、前記接触を検知している間、連続して出力(文字入力のための領域に出力/表示)するようにしてもよい。ここでいう一定時間は予め設定されており、当該設定の情報は情報処理装置100の外部メモリ213等の記憶領域に記憶されているものとする。以上が
図8の説明である。
【0066】
図9は、本発明の実施形態における、仮想キーボードの側面の様子の一例を示す図である。情報処理装置100の撮像装置209が撮像可能な範囲に、仮想キーボード(仮想キー群)を配置する。
【0067】
当該仮想キーボードを配置する空間上の位置、座標は、例えば、不図示の仮想キーボード座標設定画面にて、ユーザより仮想キーボードの座標設定の指示を受け付けることにより、自由に設定、変更可能であるものとする。当該仮想キーボードのZ座標上の配置の詳細、及び、仮想キーボードとユーザの指の位置関係については、
図10を参照して後述する。以上が
図9の、本発明の実施形態における、仮想キーボードの側面の様子の一例についての説明である。
【0068】
図10は、本発明の実施形態における、仮想キーボードとユーザの指の位置関係を示す図である。
図10に示すように、仮想キーボード1001は、Z座標(Z軸)上において、所定の間隔を開けて、複数の階層に分けて配置・設定される。
【0069】
いずれのキーが押下されたかの判断にあたり、情報処理装置100のCPU201は、例えば、第1階層(変換キーの階層)と第2階層(「あ」音の階層)の間にあるホームポジション領域から、ユーザの指が撮像装置に接近したか否か、及び、どの程度接近したか、離れたかを特定する。つまり、指のZ軸上の位置を、前述した指の腹上の三角形の面積の大きさから判断して、いずれのキーが押下されたかを判断する。
【0070】
ここでは、指の接近の度合い(指のZ軸上の座標)について、撮像装置により取得された映像から特定される前述した三角形の面積の大きさの情報を用いて特定するものとする。
【0071】
尚、当該指の接近の度合いについては、撮像装置により取得された映像から特定される測光距離等から特定するようにしてもよいし、上記三角形の面積の大きさ及び測光距離の情報の両方を用いて特定するようにしてもよい。
【0072】
ホームポジション領域1002は、ユーザの指がいずれのキーにも触れない領域である。例えば、不図示の仮想キーボード座標設定画面にて受け付けた指示に基づき、仮想キーボードの空間上に座標を規定、設定する際に、ユーザの指の位置(初期位置)を基準として当該設定を行うことが可能である。
【0073】
この際のユーザの指の位置、撮像装置からの距離(情報処理装置100からの距離)は、撮像装置により取得された映像から特定される前記三角形の面積(大きさ)から特定するものとする。
【0074】
当該指の位置(X、Y、Z軸上の指の座標)に応じて、前記ホームポジション領域を設定する。指がいずれの座標に存在する場合に、前記ホームポジション領域をいずれの座標に設定するかは、仮想キーボードの配置の設定情報として、予め設定されているものとする。
【0075】
尚、ここでは、当該指の腹に仮想的に形成される三角形に中心点の平面座標(X,Y軸上の座標)が仮想キーボードの中心(X、Y軸上の中心の座標)であって、前記ホームポジション領域の中心(ホームポジション領域内のX、Y、Z軸上それぞれの中心点の位置)となるよう、ホームポジション領域の座標設定がされ、また、仮想キーボードの座標の設定がなされる。つまり、X、Y軸上の初期位置が設定される。ここでは、前記ホームポジション領域と、各仮想キーの座標の関係(位置関係)は固定値として、予め設定されているものとする。
【0076】
つまり、撮像された指上の三角形中の点が存在するZ軸上の位置が、第1階層に属するキーの底面のZ軸上の位置と、第2階層に属するキーの上面のZ軸上の位置と、の間の距離の中間点(中心点)に位置するように、前記仮想キーボードのZ軸上の座標を設定するものとする。
【0077】
前記三角形上の点の位置する指のZ軸上の座標(Z軸上の初期位置)と、第1階層に属するキーの底面のZ軸上の座標と、第2階層に属するキーの上面のZ軸上の座標と、の距離は等しいものである。以上が
図10の、本発明の実施形態における、仮想キーボードとユーザの指の位置関係についての説明である。
【0078】
次に
図12を参照して、本発明の実施形態における、仮想キーのX軸・Y軸グループ座標の一例について説明する。
図12は、本発明の実施形態における、仮想キーのX軸・Y軸グループ座標の一例を示す図である。
【0079】
図12に示すように、X軸・Y軸グループ座標1200は、各仮想キーのX軸座標1201、Y軸座標1202、グループ1203等から構成されている。
【0080】
X軸座標1201、Y軸座標1202は、それぞれ、各仮想キーのX軸Y軸の座標を示す。グループ1203は、X軸座標1201、Y軸座標1202の示すX軸、Y軸上の座標において、いずれの仮想キーが配置、設定されるかを示すグループを規定している。
【0081】
つまり、例えば、X軸=X3−X4、Y軸=Y5−Y6の座標には、Z軸の座標に応じて、「な、に、ぬ、ね、の、下矢印」の仮想キーが配置されることを示している。以上が
図12の、本発明の実施形態における、仮想キーのX軸・Y軸グループ座標の一例についての説明である。
【0082】
次に
図13を参照して、本発明の実施形態における、Z軸グループ座標の一例について説明する。
図13は、本発明の実施形態における、Z軸グループ座標の一例を示す図である。
【0083】
図13に示すように、Z軸グループ座標1300は、階層1301、Z軸座標1302、入力対象キー1303等から構成されている。Z軸グループ座標1300は、情報処理装置100の外部メモ213等の記憶領域に記憶されているものとする(請求項中の記憶機能に該当)。
【0084】
階層1301は、各仮想キーのZ軸グループが属する階層(
図10で示した各階層)を示す。Z軸座標1302は、各Z軸グループの仮想キーのZ軸上の座標を示す。
【0085】
入力対象キー1303は、各Z軸グループに属する仮想キーを示す。つまり、同一のX・Y軸上の座標上に設定され、異なるZ軸上座標に設定されている仮想キーのグループである。
【0086】
仮想キーの厚みは、Z軸座標1302に設定されており、例えば指を上から下へ降ろしているわずかな時間でも、その仮想キーの厚みの空間を移動中は、その仮想キーを押下可能な状態として判定する。例えば、指のX・Y軸上の位置が「あ」の仮想キー上にあり、指のZ軸上の座標が(Z軸座標1302における)Z5〜Z6の場合は、「あ」の仮想キーボードが押下中であるものと判定し、「あ」の仮想キーが拡大して表示画面に表示される。
【0087】
指のZ軸上の座標が(Z軸座標1302における)Z6より撮像装置に近く、且つより撮像装置から遠い位置の場合は、「い」行の仮想キーボードを表示画面に表示する。以上が
図13の、本発明の実施形態における、Z軸グループ座標の一例についての説明である。
【0088】
次に
図14を参照して、本発明の実施形態における、指の位置判定の様子について説明する。
図14は、本発明の実施形態における、指の位置判定の様子の一例を示す図である。
【0089】
図14に示すように、撮像装置209との距離がL1の場合に、三角形の面積は、面積S1であり、撮像装置209との距離がL2の場合に、三角形の面積は、面積S2であるものとする。ここでは、S1=前述した仮想キーボードの座標設定時に計測した初期位置における三角形の面積であるものとする。
【0090】
尚、情報処理装置100の外部記憶メモリ213には、前述した三角形の面積がどの程度の面積である場合に、いずれの仮想キーが押下可能な状態にあるか(つまり、ユーザの指上の点がいずれの座標に位置しているか、表示画面にいずれの階層の仮想キー群を表示するか、また、
図1のカーソル106を表示画面上のいずれの位置に表示するか)の判断基準となる情報である、各仮想キーと前記三角形の面積の対応付けデータが記憶されているものとする(
図15参照)。
【0091】
また、前記ホームポジションの設定時(仮想キーボードの座標設定時)に取得した、初期位置におけるユーザの指の大きさ(算定計測による前記三角形の面積)に応じた、仮想キーの設定を行うためのデータテーブルが情報処理装置100の外部記憶メモリ213に記憶されているものとする。
【0092】
ここで
図16を参照して、本発明の実施形態における、指の大きさに応じた仮想キー設定データテーブルの構成の一例について説明する。
図16は、本発明の実施形態における、指の大きさに応じた仮想キー設定データテーブルの構成の一例を示す図である。
【0093】
図16に示す仮想キー設定データテーブル1600の例においては、仮想キーID1601、ユーザの指の大きさに応じたキーの大きさ(キーのX軸長1602、キーのY軸長1603、)、厚み(キーのZ軸長1604)等が設定、記録されている。
【0094】
情報処理装置100のCPU201がホームポジション設定時に取得した、ユーザの指先の三角形の面積が、いずれの面積1605に近いかを判定し、三角形の面積に最も近い大きさの面積1605に対応する仮想キーを、空間上に配置するものとする。
【0095】
例えば、指の腹上に疑似的に設定される三角形の面積が150であった場合、当該150に最も近い面積の値を持つ、仮想キーID1601=KMを有する仮想キーボードを空間上に配置するものとする。以上が
図16の、本発明の実施形態における、指の大きさに応じた仮想キー設定データテーブルの構成の一例についての説明である。
【0096】
図15は、本発明の実施形態における、各仮想キーとユーザの指先に形成される三角形の面積の対応付けデータの構成の一例を示す図である。当該対応付けデータは、情報処理装置100の外部メモリ213等の記憶領域に記憶されている。
【0097】
当該対応付けデータ1500は、50音仮想キー1501のそれぞれについて、ホームポジション設定時(初期位置決定時)に撮像装置により取得、特定されたユーザの指先の三角形の面積に基づいて算出された面積値1502がそれぞれ設定される。
【0098】
当該算出処理は、撮像装置の位置と、前記撮像装置からの各仮想キー及び前記初期位置の距離と、前記初期位置に対応する前記三角形の面積と、の情報に基づいて、既存の技術を用いて算出されるものとする。尚、前記撮像装置からの各仮想キー及び前記初期位置の距離については、撮像装置からの測光距離の情報を用いるものとする。以上が
図15の、本発明の実施形態における、各仮想キーとユーザの指先に形成される三角形の面積の対応付けデータの構成の一例についての説明である。
【0099】
図17は、本発明の実施形態における、仮想キーと面積値の対応の様子の一例を示す図である。ここでは、
図15の対応付けデータ1500によって設定されている、「あ」行の各仮想キーと、指先の三角形の面積との対応の様子を示している。
【0100】
記号アは、あ。イは、い。ウは、う。エは、え。オは、お。画像が「あ」から「お」に変わるに従い、指の中で内接する正三角形の面積が大きくなっている。また、正三角形の中心点の移動がある。
【0101】
本実施形態の説明においては、
図15に示すように、各仮想キーと面積値の対応付けデータを記憶し、当該対応付けデータを用いて、いずれのキーが押下されたかを判定するものであるが、例えば、
図17に示すように、格仮想キーと、指の画像情報とを対応付けて記憶し、いずれのキーが押下されたかを判定するようにしてもよい。
【0102】
情報処理装置100のCPU201は、例えば、指の空間上の座標X,Yが、「あ」行の仮想キー上(
図12に示すX1−X2、且つ、Y7−Y8)に位置しており、
図14に示す前記面積S1(撮像装置から取得した指の大きさ)が「あ」の仮想キーと対応付けて記憶されている三角形の面積(
図15に示す適合面積=165)より小さい(または以下の)場合、「あ」の仮想キーと同一の階層に属する仮想キーボード(キー群/
図13に示す階層H3の各仮想キー)を表示し、また、カーソル106を「あ」の仮想キー上に表示する。
【0103】
また、指の空間上の座標X,Yが、「あ」行の仮想キー上(
図12に示すX1−X2、且つ、Y7−Y8)に位置しており、
図14に示す前記面積S2が「あ」の仮想キーと対応付けて記憶されている三角形の面積(
図15に示す適合面積=165)より大きく(または以上であり)、「い」の仮想キーと対応付けて記憶されている三角形の面積(
図15に示す適合面積=170)より小さい場合に(または以下である場合に)、「い」の仮想キーと同一の階層に属する仮想キーボード(キー群/
図13に示す階層H4の各仮想キー)を表示し、また、カーソル106を「い」の仮想キー上に表示する。
【0104】
つまり、情報処理装置100のCPU201は、ユーザの指のX,Y、Z軸上の位置の情報に応じて、表示画面に表示する仮想キーボードの表示を切り替える。
【0105】
ここで
図18を参照して、本発明の実施形態における、仮想キーボードの表示切替の様子について説明する。
図18は、本発明の実施形態における、仮想キーボードの表示切替の様子の一例を示す図である。
文字入力領域1801は、入力が確定した文字が入力、表示される領域である。入力が確定した場合の表示画面の表示の切り替えの様子については、
図19の説明にて後述する。
【0106】
キーボード表示部1802(キーボード表示部1806)は、ユーザの指1804の動作に応じて(撮像装置から取得した指画像より取得した指先の面積の大きさ、撮像装置から指までの距離に応じて)仮想キーボードの様子を表示し、また、当該表示を切り替える表示部である。
【0107】
カーソル1803は、仮想キーボードに対するユーザの指の位置を示すカーソルである。ユーザの指が仮想キーに接触したことが検知された場合、拡大表示キー1805に示すように、指が接触した仮想キーが拡大表示される(入力キー識別表示手段に該当)。
【0108】
例えば、ユーザの指が第1階層の上(ホームポジション)にある場合、キーボード表示部1802に示すように、表示画面に、かな漢字変換ボタン等のキーが表示される。
【0109】
また、ユーザの指が、第1階層と第2階層の間にある場合、表示画面には、あ音のキー(あ、か、さ、た、な、は、ま、や、ら、わ)が表示される。ユーザの指が、第2階層と第3階層の間にある場合、表示画面には、い音のキーが表示される。
【0110】
ユーザの指が、第3階層と第4階層の間にある場合、キーボード表示部1806に示すように、表示画面には、う音のキーが表示される。
【0111】
ユーザの指が、第4階層と第5階層の間にある場合、表示画面には、え音のキーが表示される。ユーザの指が、第5階層と第6階層間にある場合、表示画面には、お音のキーが表示される。ユーザの指が、第6階層より下にある場合、表示画面には、キーが表示されない。
【0112】
また、撮像装置から取得した指の座標位置が「た」行の仮想キー上(
図12に示すX1−X2、且つ、Y5−Y6)に位置しており、撮像装置から取得した指先の三角形の面積が
図15の適合面積=175に一致する場合に、「う」の仮想キーの表示画面上の表示を、拡大表示キー1805に示すように、他の仮想キーより拡大し、ユーザの指が仮想キーボードの「う」の仮想キーに接触していることを、ユーザに認識可能にする。以上が
図18の、本発明の実施形態における、仮想キーボードの表示切替の様子についての説明である。
【0113】
次に
図19を参照して、本発明の実施形態における、入力文字確定時の表示画面の表示切替の様子について説明する。
図19は、本発明の実施形態における、入力文字確定時の表示画面の表示切替の様子の一例を示す図である。
図19の構成については、
図18で説明したものとほとんど同様のため、ここでは説明を割愛する。
図19に示すように、ユーザの指が仮想キーに接触し、拡大表示キー1902が表示されている状態では、まだ入力される文字(入力文字)が未確定(未決定)であり、文字入力領域1901に入力文字は表示されない。
情報処理装置100のCPU201は、ユーザの指が、接触していた仮想キーから上方に向けて(より浅い階層に向けて/例えば第4階層から第3階層に向けて)離れたことを検知した場合、つまり、反転動作を検知知った場合に、入力文字を確定する。そして、拡大表示キーの表示をキー1903に示すように通常表示に戻し、文字入力領域1904に示すように、入力文字を文字入力領域に入力、表示する。以上が
図19の、本発明の実施形態における、入力文字確定時の表示画面の表示切替の様子についての説明である。
【0114】
図14の説明に戻る。尚、ここでは、“撮像装置から取得した指先の三角形の面積が175に一致する場合に”としているが、各仮想キーには厚み(
図16に示すキーのZ軸長1604)が設定されているため、ユーザの指が、当該仮想キーの厚みによって特定される空間を通過している間(当該仮想キーの底面に触れるまでの間)は、当該仮想キーを他の仮想キーに比べて拡大して表示するようにしてもよい。以上が
図14の、本発明の実施形態における、指の位置判定の様子についての説明である。
【0115】
図4の説明に戻る。情報処理装置100のCPU201は、撮像装置から取得した前記三角形の面積の情報、及び、三角形上の点情報を用いて、表示画面に表示すべき仮想キーボードを表示する(ステップS407)。
【0116】
そして、仮想キーと指の接触を検知する(ステップS408)。つまり、前記三角形上の点が存在するX/Y・Z軸上の位置と、前記三角形の面積と前記仮想キーと対応付けて記憶されている三角形の面積の位置と、の情報を以て、ユーザの指が接触した仮想キー、及び、その接触を検知する(接触キー判断手段/仮想キー特定手段に該当)。この際、接触した仮想キーを拡大表示して、いずれの仮想キーを押下している状態かをユーザに認識可能にする(ステップS409/
図18、
図19の説明で後述)。
【0117】
情報処理装置100のCPU201は、当該接触検知後、所定の時間内に反転動作を検知したかを(仮想キーから指を離す動作を検知したかを)判定し(ステップS410/検知手段に該当)、所定時間内に反転動作を検知していないと判定した場合(ステップS410でNO)、処理をステップS405に戻す。ここでいう所定時間は、情報処理装置100の外部メモリ213等の記憶領域に予め設定、記憶されているものとする。
【0118】
所定時間内に反転動作を検知したと判定した場合(ステップS410でYES/検知手段に該当)、当該反転動作を検知する前に接触を検知した仮想キーの文字(仮想キーに対応する情報)を、入力文字として確定して(ステップS411/入力情報決定手段に該当)、入力変換の候補を表示画面に表示し、入力変換操作(変換候補の選択操作指示)を受け付ける(ステップS412)。
【0119】
情報処理装置100のCPU201は、文字入力の終了指示を受け付けたか否かを判定し(ステップS413)、文字入力の終了指示を受け付けていないと判定した場合(ステップS413でNO)、処理をステップS405に戻し、文字入力の終了指示を受け付けたと判定した場合(ステップS413でYES)、文字入力処理を終了する。
【0120】
文字入力の終了指示とは、例えば、検索ボックスへの検索文字列の入力操作を受け付けていた場合、検索ボタンの押下指示や、検索処理の終了指示である。また、文書作成ソフトウェアにおける文字の入力操作を受け付けていた場合、当該ソフトウェアの終了等の操作指示のことであるものとする。以上が
図4の、本発明の実施形態における、文字入力処理の概要についての説明である。
【0121】
以下、本発明の実施形態における文字入力方法を用いて文字入力をした場合の文字入力回数と、携帯電話端末におけるテンキー、スマートデバイス等のディスプレイに表示される小型キーボード、を用いて文字入力した場合の文字入力回数と、を比較する(漢字変換をしないで、ひらがな文字入力のみ計数する)。
【0122】
全ての入力方式において、「時下ますますご清栄のこととお慶び申し上げます。」のひらがな入力である、「じかますますごせいえいのこととおよろこびもうしあげます。」の一文を入力するものとする。
【0123】
携帯電話端末におけるテンキーひらがな文字入力の場合、同じキーの押下を複数回受け付けることで、入力文字が変更される。例えば、「あ」のキーが2回押下されることにより「い」が入力され、3回押下されることにより「う」が入力される。以下、例えば、「い」の文字入力のために押下されたキーと押下された回数を「あい」と表現し、「う」の文字入力のために押下されたキーと押下された回数を「あいう」と表現する。「あい」の場合、押下されたキーの種類は「あい」の先頭の文字である「あ」のキーであり、情報処理装置100が当該キーの押下を受け付けた回数は2回である。「あいう」の場合、押下されたキーの種類は「あいう」の先頭の文字である「あ」のキーであり、情報処理装置100が当該キーの押下を受け付けた回数は3回であるものとする。
【0124】
例えば、「ますます」と入力された場合、「ま、さしす、ま、さしす」とキーの押下を受け付けたものとする。この場合のキーの押下受付回数は8回である。また、例えば「お」の文字入力を受け付ける場合、「あ」のキーの押下後に別キーの押下を受け付けることで、入力する文字の変更順を逆送りにし、「あいうえお」ではなく、「あお」と入力することが出来るものとする。
【0125】
携帯端末において、「じかますますごせいえいのこととおよろこびもうしあげます。」を入力するためには、「さし、゛、か、ま、さしす、ま、さしす、かこ、゛、さそせ、あい、あおえ、⇒、あい、なの、かこ、たと、⇒、たと、あお、やよ、らろ、かこ、はひ、゛、まも、あいう、さし、あ、かこけ、゛、ま、さしす、わ。」というキーの押下受付処理が必要であり、キーの押下受付回数は64回となる。
【0126】
また、スマートフォンのディスプレイにPCと同様の小型のキーボード(ローマ字入力)を表示してキーの押下を受け付ける場合、「JI、KA、MA、SU、MA、SU、GO、SE、I、E、I、NO、KO、TO、TO、O、YO、RO、KO、BI、MO、U、SHI、A、GE、MA、SU、。」というキーの押下受付処理が必要であり、キーの押下受付回数は50回となる。
【0127】
また、スマートフォンのフリック入力(ひらがな漢字変換)でキーの押下、フリックを操作受け付ける場合(ここでは1回のフリックを1回の押下受付処理としてカウントする)、「さし、゛、か、ま、さす、ま、さす、かこ、゛、させ、あい、⇒、あえ、⇒、あい、なの、かこ、たと、⇒、たと、あお、やよ、らろ、かこ、はひ、゛、まも、あう、さし、あ、かけ、゛、ま、さす、ー。」というキーの押下受付処理が必要であり、キーの押下受付回数は58回となる。
【0128】
本発明の実施形態における、仮想キーボードを用いた文字入力方法を利用した場合、「し、゛、か、ま、す、ま、す、こ、゛、せ、い、え、い、の、こ、と、と、お、よ、ろ、こ、ひ、゛、も、う、し、あ、け、゛、ま、す、。」というキーの押下受付処理が必要であり、キーの押下受付回数は32回であって、他の入力方式を用いた場合によりも少ない押下受付回数で文章を完成させることが出来る。
【0129】
以上説明したように、本発明によれば、簡易な操作での情報入力の補助を可能とする情報処理装置、制御方法及びそのプログラムを提供することができる。
【0130】
また、キー配置のための平面上の面積を縮小し、ユーザに何度も文字入力キーの押下をさせることのない文字入力を可能とするものである。
【0131】
以下、
図20、
図21を参照して、本発明の文字入力システムの別筐体を用いた実施形態について説明する。
【0132】
図20では、ケーブル2003でPCに繋げることが可能なポインティングデバイス2001に撮像装置2002を取り付けた場合の実施例を示している。当該撮像装置上の空間に、前述した本発明の実施形態に準じて、前記仮想キーボードを配置し、ユーザからの仮想キーの押下指示を受け付けた場合に、入力を受け付けた文字をPCの表示画面上に表示する。
【0133】
この場合、例えば、PCに搭載されたCPUが、ポインティングデバイス2001上に設置された撮像装置2002から映像を取得し、解析して、押下を受け付けたキーを特定し、入力する文字を特定して、不図示のPCの表示画面上に表示するものとする。
【0134】
つまり、
図4に示すステップS401〜S413の処理の内、ステップS405の撮像処理をポインティングデバイス上に設置された撮像装置を用いて、PCのCPUが行い、その他の処理を、PCのCPUがPCに搭載されたソフトウェア、及びハードウェアを用いて処理するものである。
【0135】
これにより、実態としてのキーボードが不要となり、ポインティングデバイス2001から手をキーボード上に移動させることなく文字入力を可能にすることが出来る。以上が
図20の、本発明の文字入力システムの別筐体を用いた実施形態についての説明である。
【0136】
図21では、例えば主に親指の動作を撮影するために薬指に装着された、撮像装置2102の搭載された指輪型装置2101を用いて、本発明を実施する例について示している。
【0137】
例えば、撮像装置の搭載されていない表示画面の表示機能を有する携帯端末と当該指輪型装置2101とを通信接続し、上述したような既存のキーボードを用いずに文字入力を実現させるものである。この場合、例えば、携帯端末に搭載されたCPUが、指輪型装置2101に設置された撮像装置2102からユーザの指の映像を取得し、解析して、押下を受け付けたキーを特定し、入力する文字を特定して、表示画面上に表示するものとする。
【0138】
つまり、
図4に示すステップS401〜S413の処理の内、ステップS405の撮像処理を指輪型装置2101上に設置された撮像装置2102を用いて、携帯端末のCPUが行い、その他の処理を、携帯端末のCPUが携帯端末に搭載されたソフトウェア、及びハードウェアを用いて処理するものである。以上が
図21の、本発明の文字入力システムの別筐体を用いた実施形態についての説明である。
【0139】
以上、当該撮像装置と、表示機能を有する装置が別筐体である場合の実施例について簡単に説明した。
【0140】
尚、本発明の実施例においては、入力される文字が確定した場合に、表示画面上の文字入力領域に、入力が確定した文字を表示するものとしたが、例えば、入力が確定した文字に対応する音声を、情報処理装置100に搭載される不図示の音声再生装置から発声させるようにしてもよい。こうすることで、表示画面を有さない情報処理装置においても、本発明を用いて入力される文字をユーザに認識させることが出来る。
【0141】
これにより、視覚しょうがい者の方等、表示画面に表示された文字を視認することが難しいユーザに対しても、入力された文字を認識させることを可能とすることが出来る。
【0142】
以上説明したように、本発明によれば、簡易な操作での情報入力の補助を可能とする情報処理装置、制御方法及びそのプログラムを提供することができる。
【0143】
尚、上述した実施形態においては、ユーザの指先の面積の情報を用いて、当該指の空間上の位置を特定したが、例えば、物体の位置を検知するためのセンサ等を情報処理装置100に搭載し、当該センサの機能を用いて前記指の空間上の位置を特定するようにしてもよい。
【0144】
また、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0145】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0146】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0147】
また、各装置が読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0148】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0149】
また、本発明は、例えば上述したように、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0150】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0151】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【0152】
また上記のソフトウェアで実現する各処理を、ファームウェアやハードウェア構成にして、各処理を各手段として実現することも可能であり、本発明の技術的範囲はこのようなファームウェアやハードウェア構成による実現も含むものである。