以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明を省略する場合がある。
<実施の形態1>
図1は、本発明の実施の形態1に係る入力システム1000の構成の一例を示す図である。図1において、X,Y,Z方向の各々は、互いに直交する。以下の図に示されるX,Y,Z方向の各々も、互いに直交する。以下においては、X方向と、当該X方向の反対の方向(−X方向)とを含む方向を「X軸方向」ともいう。また、以下においては、Y方向と、当該Y方向の反対の方向(−Y方向)とを含む方向を「Y軸方向」ともいう。また、以下においては、Z方向と、当該Z方向の反対の方向(−Z方向)とを含む方向を「Z軸方向」ともいう。
また、以下においては、X軸方向およびY軸方向を含む平面を、「XY面」ともいう。また、以下においては、X軸方向およびZ軸方向を含む平面を、「XZ面」ともいう。また、以下においては、Y軸方向およびZ軸方向を含む平面を、「YZ面」ともいう。
また、以下においては、3次元空間を、「xyz座標空間」ともいう。本明細書では、xyz座標空間おける位置は、「座標(xn,yn,zn)」で表現する。xnは、X軸方向における位置を示す座標である。ynは、Y軸方向における位置を示す座標である。znは、Z軸方向における位置を示す座標である。以下においては、xyz座標空間おける原点を、「座標(x0,y0,z0)」で表現する。当該原点とは、座標を定める際の基準となる点である。
入力システム1000は、ユーザが、当該ユーザの手によって表現する操作(以下、「操作U」ともいう)を入力するためのシステムである。操作Uは、例えば、ユーザの手の様態で表現される。手の様態とは、手の形状、手の位置、手の動作等により表現される手の状態である。また、操作Uは、例えば、ユーザの手によるジェスチャ(動作)により表現される。
入力システム1000は、入力装置100と、表示装置200とを含む。表示装置200は、ユーザにより操作される装置(被操作機器)である。以下においては、操作Uにより、表示装置200を操作するユーザを、「ユーザU1」ともいう。
表示装置200は、例えば、テレビジョン受像機である。なお、表示装置200はテレビジョン受像機に限定されず、ユーザが操作可能な装置であれば他の装置であってもよい。表示装置200は、例えば、PC(Personal Computer)であってもよい。
表示装置200は、表示領域R1を有する。表示領域R1は、表示装置200が画像(映像)を表示するための領域(画面)である。以下においては、ユーザU1の操作Uにより操作の対象となる画像を、「操作対象画像G10」ともいう。また、以下においては、特定の領域である操作対象画像G10において、ユーザU1の選択対象となる範囲(領域)を、「選択範囲SR1」ともいう。
なお、図1では、一例として、表示領域R1に操作対象画像G10が示される。操作対象画像G10は、一例として、オブジェクト画像OB1,OB2,OB3が配置される。オブジェクト画像OB1,OB2,OB3の各々は、ユーザU1の選択対象となる画像である。また、操作対象画像G10には、選択範囲SR1が示される。
図1に示される選択範囲SR1は、一例として、オブジェクト画像OB1,OB2を囲んでいる。図1に示される選択範囲SR1の形状は、一例として、円である。なお、選択範囲SR1の形状は、円に限定されず、矩形、楕円等であってもよい。
なお、ユーザU1は、視聴位置から、表示装置200が表示する画像を視聴する。視聴位置とは、表示領域R1と対向する位置である。
次に、入力装置100について説明する。入力装置100は、ユーザU1(視聴位置)と対向するように設けられる。入力装置100は、例えば、図1のように、表示装置200の上部に配置される。
図2は、本発明の実施の形態1に係る入力装置100の構成を示すブロック図である。図1および図2を参照して、入力装置100は、撮影部10と、手抽出部20と、データベース40と、手認識部30と、選択範囲特定部50とを備える。
撮影部10は、被写体を撮影する機能を有するカメラである。撮影部10は、図示しないレンズを有する。撮影部10は、例えば、CCDカメラである。撮影部10は、ユーザU1の手が撮影可能な位置に設けられる。具体的には、撮影部10は、ユーザU1(視聴位置)と対向するように設けられる。以下においては、撮影部10が、被写体を撮影することにより当該撮影部10が取得した画像を、「撮影画像」ともいう。
なお、ユーザU1は、手の様態により、前述の選択範囲SR1を指定する。前述したように、手の様態とは、手の形状、手の位置、手の動作等により表現される手の状態である。なお、本実施の形態における手の様態は、静止している手の状態であるとする。
以下においては、撮影部10が、選択範囲SR1を指定するための様態を有する、ユーザU1の手の撮影により当該撮影部10が取得した画像を、「撮影画像HG」ともいう。すなわち、撮影画像HGには、選択範囲SR1を指定するための様態を有する手が示される。
撮影部10が撮影画像HGを取得することにより、入力装置100は、撮影部10から、当該撮影画像HGを取得する。
手抽出部20は、詳細は後述するが、入力装置100により取得された撮影画像HGが示す、ユーザU1の手の様態を抽出する。
以下においては、選択範囲SR1を指定するための、認識用の手の様態を、「認識用手様態」ともいう。
データベース40は、詳細は後述するが、認識用手様態と、範囲特定情報とを対応づけて示す。範囲特定情報とは、当該範囲特定情報に対応する当該認識用手様態により指定される選択範囲SR1を特定するための規則である。範囲特定情報は、例えば、選択範囲SR1の形状を示す情報である。なお、範囲特定情報は、選択範囲SR1を求めるための計算式等であってもよい。
具体的には、データベース40は、図3に示される構成を有する。データベース40は、複数の手様態データから構成される。各手様態データは、図3の表の各行に対応するデータである。各手様態データは、ID、手様態画像、前述の範囲特定情報を示す。
図3を参照して、「ID」とは、手様態データを特定するための識別子である。手様態画像は、認識用手様態を示す画像である。図3では、一例として、手様態画像RG1,RG2が示される。手様態画像RG1は、円状の選択範囲SR1を指定するための認識用手様態を示す画像である。手様態画像RG2は、矩形状の選択範囲SR1を指定するための認識用手様態を示す画像である。
図3において、手様態画像RG1に対応する範囲特定情報は、例えば、手様態画像RG1が示す指の内側に沿った円K1を特定する情報である。また、手様態画像RG1に対応する範囲特定情報は、例えば、円K1の形状を示す情報である。
手様態画像RG2に対応する範囲特定情報は、例えば、手様態画像RG1が示す2本手の親指および人差し指で構成される矩形K2を特定する情報である。また、手様態画像RG2に対応する範囲特定情報は、例えば、矩形K2の形状を示す情報である。
再び、図2を参照して、手認識部30は、詳細は後述するが、撮影画像HGが示す、ユーザU1の手の様態を認識するための処理を行う。選択範囲特定部50は、詳細は後述するが、選択範囲を特定するための処理を行う。
なお、手抽出部20、手認識部30および選択範囲特定部50の全てまたは一部は、LSI(Large Scale Integration)等のハードウエアで構成されてもよい。また、手抽出部20、手認識部30および選択範囲特定部50の全てまたは一部は、CPU(Central Processing Unit)等のプロセッサにより実行される、プログラムのモジュールであってもよい。
次に、ユーザU1が選択範囲SR1を指定するための動作を行った場合において、入力装置100が行う処理(以下、「範囲特定制御処理N」ともいう)について説明する。図4は、範囲特定制御処理Nのフローチャートである。範囲特定制御処理Nでは、まず、ステップS100の処理が行われる。
ステップS100では、画像取得処理が行われる。画像取得処理では、撮影部10が、選択範囲SR1を指定するための様態を有する、ユーザU1の手の撮影を行う。これにより、撮影部10は、前述の撮影画像HGを取得する。そして、撮影部10は、撮影画像HGを、手抽出部20へ送信する。
ステップS200では、手様態抽出処理が行われる。手様態抽出処理では、手抽出部20が、撮影画像HGが示す手の様態を抽出する。以下においては、撮影画像HGが示す手を、「撮影手」ともいう。また、以下においては、撮影手のみを示す矩形状の画像を、「撮影手画像」ともいう。撮影手画像は、例えば、図3の手様態画像RG1に類似する画像である。
具体的には、手抽出部20が、撮影画像HGのうち、撮影手のみを抽出し、抽出した撮影手を示す矩形状の画像を、撮影手画像とする。手の抽出の処理は、一般的な、手を抽出するための画像処理により行われる。例えば、手抽出部20は、複数種類の手形状を予め記憶しているとする。当該手形状とは、手の形状である。この場合、手抽出部20は、複数種類の手形状のうち、撮影画像HGが示す、手の色の部分の形状に最も類似する手形状(以下、「類似手形状」ともいう)を特定する。当該手の色とは、例えば、肌色に類似する複数の色である。そして、手抽出部20は、類似手形状の輪郭を利用して、撮影画像HGが示す、手の色の部分を、撮影手として抽出する。そして、手抽出部20は、抽出した撮影手を示す矩形状の画像を、撮影手画像とする。
以下においては、手様態抽出処理において、手抽出部20が抽出した撮影手の様態を、「抽出手様態」ともいう。抽出手様態は、撮影手画像が示す手の様態である。
ステップS300では、手認識部30が手認識処理を行う。手認識処理は、要約すれば、手認識部30が、抽出手様態と、データベース40が示す認識用手様態(手様態画像)とを比較することにより、当該抽出手様態を認識するための処理である。以下に、手認識処理について詳細に説明する。
図5は、手認識処理のフローチャートである。手認識処理では、まず、ステップS310の処理が行われる。
ステップS310では、手認識部30が、n(1以上の整数)番目の手様態画像を選択する。なお、nの初期値は1である。具体的には、手認識部30が、図3のデータベース40のうち、n番目の手様態データが示す手様態画像を選択する。
例えば、n=1の場合、図3のデータベース40から、ID“0”である手様態データが示す手様態画像RG1が選択される。以下においては、ステップS310の処理により選択された手様態画像を、「選択手様態画像」ともいう。
ステップS320では、サイズ調整処理が行われる。サイズ調整処理では、手認識部30が、撮影手画像のサイズと選択手様態画像のサイズとが同じになるように、選択手様態画像のサイズを調整する。手認識部30は、例えば、撮影手画像の縦および横のサイズが、それぞれ、選択手様態画像の縦および横のサイズと同じになるように、選択手様態画像を拡大または縮小する。以下においては、サイズ調整処理によりサイズが調整された選択手様態画像を、「比較対象画像」ともいう。
ステップS330では、類似度算出処理が行われる。類似度算出処理では、手認識部30が、撮影手画像と比較対象画像との類似度(以下、「類似度SM」ともいう)を算出する。撮影手画像と比較対象画像との類似度の算出は、一般的な、パターンマッチングにより行われる。
以下においては、撮影手画像を構成する各画素を、「撮影手画素」ともいう。また、以下においては、比較対象画像を構成する各画素を、「比較対象画素」ともいう。
類似度SMの算出は、各撮影手画素の画素値と、各比較対象画素の画素値との比較により行われる。比較される各撮影手画素および各比較対象画素は、同一の座標の画素である。類似度SMは、以下の式1により算出される。
式1において、一致画素数とは、各撮影手画素の画素値と、各比較対象画素の画素値との比較において、画素値が一致した画素の数である。以下においては、撮影手画素の画素値を、「撮影手画素値」ともいう。また、以下においては、比較対象画素の画素値を、「比較対象画素値」ともいう。
類似度算出処理において、手認識部30は、撮影手画素の画素値(撮影手画素値)と、当該撮影手画素と比較される比較対象画素の画素値(比較対象画素値)との差分値の絶対値が、閾値TH1以下であるか否かを判定する。手認識部30は、撮影手画素値と比較対象画素値との差分値の絶対値が閾値TH1以下である場合、撮影手画素値と比較対象画素値が一致すると判定する。閾値TH1は、例えば、入力装置の開発者により予め設定された値である。
ここで、仮に、画素値が0〜255(8ビット)で表現されるとする。この場合、閾値TH1は、例えば、8/255〜12/255の範囲の値である。また、式1において、総画素数とは、撮影手画像を構成する画素の数である。
ステップS340では、全ての画像との比較が終了したか否かが判定される。具体的には、手認識部30が、図3のデータベース40に示される全ての手様態画像と、撮影手画像との比較が終了したかが判定される。ステップS340においてYESならば処理は、ステップS350へ移行する。一方、ステップS340においてNOならば、nの値が1インクリメントされて、再度、ステップS310の処理が行われる。
以下においては、ステップS340でYESと判定された場合において、複数回行われた類似度算出処理により算出された複数の類似度SMのうち、最も値が大きい類似度SMを、「最高類似度」ともいう。
ステップS350では、撮影手画像と類似する比較対象画像が存在するか否かが判定される。具体的には、手認識部30が、最高類似度が、閾値TH2以上であるか否かを判定する。閾値TH2は、例えば、入力装置の開発者により予め設定された値である。
ここで、類似度SMは、一例として、0〜100の範囲で表現されるとする。この場合、閾値TH2は、例えば、50〜80の範囲の値である。最高類似度が、閾値TH2以上である場合、撮影手画像と類似する比較対象画像が存在する。
ステップS350においてYESならば、処理はステップS360へ移行する。なお、ステップS350においてYESの場合、手認識部30が、撮影手画像が示す抽出手様態を認識したことになる。一方、ステップS350においてNOならば、この手認識処理は終了し、図4の範囲特定制御処理Nも終了する。
ステップS360では、最類似画像特定処理が行われる。最類似画像特定処理では、手認識部30が、最高類似度の算出に使用された比較対象画像(手様態画像)を、最類似画像として特定する。そして、手認識部30は、特定した最類似画像と、最高類似度とを、選択範囲特定部50へ送信する。そして、この最類似画像特定処理は終了し、処理は図4のステップS400へ移行する。
ステップS400では、範囲特定対応処理Nが行われる。範囲特定対応処理Nでは、要約すれば、選択範囲特定部50が、手認識部30が認識した抽出手様態に基づいて、ユーザU1の手で表現される選択範囲SR1を特定する。少し具体的には、選択範囲特定部50が、手認識部30が認識した抽出手様態と比較された認識用手様態(手様態画像)に対応する範囲特定情報に基づいて、当該抽出手様態により指定される選択範囲SR1を特定する。以下に、範囲特定対応処理Nについて詳細に説明する。
図6は、範囲特定対応処理Nのフローチャートである。範囲特定対応処理Nでは、まず、ステップS410の処理が行われる。
ステップS410では、選択範囲特定部50が、データベース40から、受信した最類似画像である比較対象画像(手様態画像)に対応付けられている範囲特定情報を取得する。
ここで、一例として、最類似画像が、ID“0”の手様態データが示す手様態画像RG1であるとする。この場合、選択範囲特定部50は、データベース40から、手様態画像RG1に対応付けられている範囲特定情報を取得する。
また、他の例として、最類似画像が、ID“1”の手様態データが示す手様態画像RG2であるとする。この場合、選択範囲特定部50は、データベース40から、手様態画像RG2に対応付けられている範囲特定情報を取得する。
ステップS420では、範囲特定処理Nが行われる。範囲特定処理Nでは、選択範囲特定部50が、取得した範囲特定情報に基づいて、選択範囲SR1を特定する。
ここで、一例として、範囲特定情報が、手様態画像RG1に対応付けられている情報であるとする。この場合、選択範囲特定部50は、当該範囲特定情報が特定する円K1を、選択範囲SR1として特定する。
また、他の例として、範囲特定情報が、手様態画像RG2に対応付けられている情報であるとする。この場合、選択範囲特定部50は、当該範囲特定情報が特定する矩形K2を、選択範囲SR1として特定する。
そして、選択範囲特定部50は、選択範囲情報を、外部装置である表示装置200へ送信する。選択範囲情報とは、特定した選択範囲SR1の形状等の情報である。そして、この範囲特定対応処理Nは終了し、図4の範囲特定制御処理Nも終了する。
表示装置200は、選択範囲情報の受信に応じて、選択範囲情報で特定される選択範囲SR1を示す枠線を、例えば、図1のように、表示領域R1に表示する。
以上説明したように、本実施の形態によれば、入力装置100は、ユーザU1の手の撮影を行う撮影部10から、当該手の撮影により撮影部10が取得した撮影画像HGを取得する。手認識部30は、手抽出部20が抽出した抽出手様態(撮影手画像)と、データベース40が示す認識用手様態(比較対象画像)とを比較することにより、当該抽出手様態を認識するための処理を行う。選択範囲特定部50は、手認識部30が抽出手様態を認識した場合、当該抽出手様態に基づいて、ユーザU1の手で表現される選択範囲SR1を特定する。
これにより、ユーザの手で表現される範囲を特定することができる。
また、本実施の形態では、選択範囲特定部50が、手認識部30が認識した抽出手様態と比較された認識用手様態(手様態画像)に対応する範囲特定情報に基づいて、当該抽出手様態により指定される選択範囲SR1を特定する。これにより、ユーザの手で表現される選択範囲SR1を特定することができる。
なお、本実施の形態では、閾値TH1,TH2は、開発者により設定された値とされたがこれに限定されない。本実施の形態では、ユーザが、閾値TH1,TH2を、任意の値に設定できるように構成されてもよい。
なお、入力システム1000は、ユーザが操作を入力するためのシステムであればどのようなシステムであってもよい。入力システム1000は、例えば、車内に設けられる構成としてもよい。この構成における表示装置200は、例えば、カーナビゲーション用のディスプレイである。
<実施の形態2>
実施の形態1では、静止している手により、範囲を指定する構成を示した。本実施の形態では、動いている手の様態により、範囲を指定する構成について説明する。
以下においては、本実施の形態に係る入力システムを、「入力システムA」ともいう。入力システムAは、後述の入力装置100Aと、図1の表示装置200とを含む。
図7は、本発明の実施の形態2に係る入力装置100Aの構成を示すブロック図である。入力装置100Aは、ユーザU1が、ジェスチャとしての操作Uを入力するためのジェスチャ入力装置である。
図7を参照して、入力装置100Aは、図2の入力装置100と比較して、データベース40の代わりにデータベース40Aを備える点と、選択範囲特定部50の代わりに選択範囲特定部50Aを備える点とが異なる。入力装置100Aのそれ以外の構成は、入力装置100と同様なので詳細な説明は繰り返さない。
データベース40Aは、図8に示される構成を有する。データベース40Aは、図3のデータベース40と比較して、各手様態データに、項目「軌跡」が追加されている点が異なる。データベース40Aのそれ以外の構成は、データベース40と同様なので詳細な説明は繰り返さない。
項目「軌跡」とは、手の軌跡を使用して、選択範囲SR1を特定するか否かを示す項目である。項目「軌跡」に「不使用」と記載されている場合、選択範囲SR1の特定のために、手の軌跡を使用しないことを意味する。項目「軌跡」に「使用」と記載されている場合、選択範囲SR1の特定のために、手の軌跡を使用することを意味する。
図8では、手の軌跡を使用する手様態画像の一例として、手様態画像RG3が示される。手様態画像RG3は、人差し指を伸ばした手の状態を示す画像である。なお、手様態画像RG3に対応する範囲特定情報は、例えば、人差し指の先端の軌跡で構成される形状を示す情報である。
再び、図7を参照して、選択範囲特定部50Aは、図2の選択範囲特定部50と比較して、軌跡特定部51を含む点が異なる。選択範囲特定部50Aのそれ以外の構成は、選択範囲特定部50と同様なので詳細な説明は繰り返さない。
軌跡特定部51は、詳細は後述するが、予め定められた軌跡特定時間における、前述の抽出手様態を示す、ユーザU1の手の軌跡を特定するための軌跡特定処理を行う。当該抽出手様態は、例えば、図8の手様態画像RG3が示す手の様態である。
次に、ユーザU1が選択範囲SR1を指定するための動作を行った場合において、入力装置100Aが行う処理(以下、「範囲特定制御処理A」ともいう)について説明する。
図9は、範囲特定制御処理Aのフローチャートである。図9において、図4のステップ番号と同じステップ番号の処理は、実施の形態1で説明した処理と同様な処理が行われるので詳細な説明は繰り返さない。以下、実施の形態1と異なる点を中心に説明する。
範囲特定制御処理Aでは、実施の形態1と同様に、ステップS100,S200,S300の処理が行われる。なお、本実施の形態における図5のステップS360の最類似画像特定処理では、手認識部30は、特定した最類似画像と、最高類似度とを、選択範囲特定部50Aへ送信する。
ステップS400Aでは、範囲特定対応処理Aが行われる。以下に、範囲特定対応処理Aについて詳細に説明する。
図10は、範囲特定対応処理Aのフローチャートである。範囲特定対応処理Aでは、まず、実施の形態1の範囲特定対応処理Nと同様に、ステップS410の処理が行われる。
ステップS411では、軌跡を使用するか否かが判定される。具体的には、選択範囲特定部50が、受信した最類似画像である比較対象画像(手様態画像)に対応付けられている項目「軌跡」の欄(図8参照)が「使用」であるか否かを判定する。
ステップS411においてYESならば処理はステップS412へ移行する。一方、ステップS411においてNOならば処理はステップS420へ移行する。
ステップS420では、実施の形態1と同様な処理が行われるので詳細な説明は繰り返さない。
ここで、一例として、最類似画像は、ID“2”の手様態データが示す手様態画像RG3であるとする。この場合、ステップS411でYESと判定され、処理はステップS412へ移行する。
ステップS412では、軌跡特定部51が軌跡特定処理を行う。軌跡特定処理は、ユーザU1の手の動きにより形成される、当該手の軌跡を特定するための処理である。また、軌跡特定処理は、予め定められた軌跡特定時間における、抽出手様態を示す、ユーザU1の手の軌跡を特定するための処理である。当該抽出手様態は、例えば、図8の手様態画像RG3が示す手の様態である。軌跡特定時間は、例えば、10〜30秒の範囲の任意の時間である。
軌跡特定処理は、軌跡特定時間にわたって行われた後、終了する。すなわち、軌跡特定処理は、軌跡特定時間経過後、終了する。軌跡特定時間の終了後、ステップS413の処理が行われる。
具体的には、軌跡特定処理では、撮影部10が、所定時間経過毎に、撮影画像送信処理を行う。当該所定時間は、例えば、1〜3秒の範囲の任意の値である。撮影画像送信処理では、撮影部10が、ユーザU1の手の撮影を行うことにより取得した前述の撮影画像HGを、手抽出部20および手認識部30を介して、選択範囲特定部50Aへ送信する。なお、撮影部10は、撮影画像HGを、直接、選択範囲特定部50Aへ送信してもよい。
また、軌跡特定処理では、軌跡特定部51が、受信した最類似画像(手様態画像)と、撮影部10から、順次、受信する撮影画像HGとをパターンマッチングすることにより、ユーザU1の手の動きにより形成される、当該手の軌跡を特定する。以下においては、軌跡特定部51が特定した軌跡を、「特定手軌跡」ともいう。
ここで、一例として、手認識部30が認識した手態様を示す撮影手画像に最も類似する画像(最類似画像)が、図8の手様態画像RG3であるとする。また、ユーザU1は、軌跡特定時間において、人差し指の先端を、円状に移動させたとする。この場合、軌跡特定処理では、軌跡特定部51が、特定手軌跡が、円状、すなわち、閉ループ状であると特定する。
ステップS413では、軌跡特定処理(軌跡特定部51)により特定された特定手軌跡の形状が閉ループ状であるか否かが判定される。閉ループ状とは、特定手軌跡の一部が、当該特定手軌跡の他の部と交わることにより形成される形状である。なお、特定手軌跡の一部が、当該特定手軌跡の他の部と交わらない場合、閉ループ状は構成されない。
ステップS413においてYESならば処理はステップS420Aへ移行する。なお、ステップS413においてYESならば、特定手軌跡の形状は、閉ループ状である。一方、ステップS413においてNOならば、この範囲特定対応処理Aは終了し、図9の範囲特定制御処理Aは終了する。
ステップS420Aでは、範囲特定処理Aが行われる。範囲特定処理Aでは、軌跡特定部51が、特定手軌跡に基づいて、選択範囲SR1を特定する。少し具体的には、軌跡特定部51が、選択範囲SR1の形状を、閉ループ状と特定する。
ここで、一例として、ユーザU1は、軌跡特定時間において、人差し指の先端を、円状に移動させたとする。この場合、軌跡特定部51が、特定手軌跡が、円状、すなわち、閉ループ状であると特定する。
そして、軌跡特定部51は、選択範囲情報を、外部装置である表示装置200へ送信する。選択範囲情報とは、特定した選択範囲SR1の形状等の情報である。そして、この範囲特定対応処理Aは終了し、図9の範囲特定制御処理Aは終了する。
以上説明したように、本実施の形態によれば、ユーザU1の手の動きによって、範囲を入力することが可能となる。そのため、本実施の形態では、実施の形態1のように、静止している手の様態のみで範囲を入力する場合より、ユーザによる選択範囲の入力の自由度を向上させることができる。また、本実施の形態では、ユーザU1の手の動きによって、複雑な形状の選択範囲SR1の入力を、容易に行うことができる。
また、ユーザが、手の動きにより、選択範囲SR1が入力できる。そのため、例えば、矩形状の選択範囲を指定するために、手様態画像RG2のような複雑な手の様態を形成することが不要となる。その結果、ユーザは、選択範囲の入力が行いやすいという利点がある。本実施の形態では、特に、ドライビング中に、ユーザがハンドルを操作している場合など、両手を使用できない場合に役立つ。
<実施の形態3>
本実施の形態では、ユーザU1の目の位置を考慮して、選択範囲を特定する構成について説明する。以下においては、本実施の形態に係る入力システムを、「入力システムB」ともいう。入力システムBは、後述の入力装置100Bと、図1の表示装置200とを含む。
図11は、本発明の実施の形態3に係る入力装置100Bの構成を示すブロック図である。図11を参照して、入力装置100Bは、図7の入力装置100Aと比較して、選択範囲特定部50Aの代わりに選択範囲特定部50Bを備える点とが異なる。入力装置100Bのそれ以外の構成は、入力装置100Aと同様なので詳細な説明は繰り返さない。
選択範囲特定部50Bは、図7の選択範囲特定部50Aと比較して、投影処理部52をさらに含む点が異なる。選択範囲特定部50Bのそれ以外の構成は、選択範囲特定部50Aと同様なので詳細な説明は繰り返さない。
投影処理部52は、詳細は後述するが、選択範囲を投影するための処理を行う。
次に、ユーザU1が選択範囲SR1を指定するための動作を行った場合において、入力装置100Bが行う処理(以下、「範囲特定制御処理B」ともいう)について説明する。
図12は、範囲特定制御処理Bのフローチャートである。図12において、図4のステップ番号と同じステップ番号の処理は、実施の形態1で説明した処理と同様な処理が行われるので詳細な説明は繰り返さない。以下、実施の形態1と異なる点を中心に説明する。
範囲特定制御処理Bでは、実施の形態1と同様に、ステップS100,S200,S300の処理が行われる。なお、本実施の形態のステップS100では、撮影部10が、手に加え、ユーザU1の顔(目)も撮影する。これにより、撮影部10は、ユーザU1の手および顔(目)を示す撮影画像HGを取得する。
また、本実施の形態における図5のステップS360の最類似画像特定処理では、手認識部30は、特定した最類似画像と、最高類似度とを、選択範囲特定部50Bへ送信する。
ステップS400Bでは、範囲特定対応処理Bが行われる。以下に、範囲特定対応処理Bについて詳細に説明する。
図13は、範囲特定対応処理Bのフローチャートである。図13において、図10のステップ番号と同じステップ番号の処理は、実施の形態2で説明した処理と同様な処理が行われるので詳細な説明は繰り返さない。以下、実施の形態2と異なる点を中心に説明する。
範囲特定対応処理Bでは、ステップS420またはステップS420Aの処理の後、ステップS430の処理が行われる。
以下においては、ユーザU1の目を、「目E1」ともいう。また、以下においては、目E1の位置を、「目位置EL1」ともいう。また、以下においては、目位置EL1の位置の座標(xn,yn,zn)を、「座標(xe,ye,ze)」と表現する。なお、本実施の形態の撮影部10は、オートフォーカスの機能を有するとする。撮影部10は、オートフォーカスの機能により、当該撮影部10から被写体までの距離を測定することができる。
ステップS430では、投影変換対応処理が行われる。図14および図15は、投影変換対応処理を説明するための図である。
ここで、以下の前提Aにおいて、投影変換対応処理が行われる場合の処理について説明する。前提Aでは、ユーザU1は表示領域R1を見ながら、手の態様を、選択範囲SR1を指定するための様態にする。
また、前提Aでは、ステップS420またはステップS420Aで特定された選択範囲SR1の形状は、一例として、図14および図15に示される矩形である。また、前提Aでは、撮影部10は、図15の表示領域R1のY軸方向の位置と、撮影部10のレンズのY軸方向の位置とが一致するように、図1のように、表示装置200の上部に配置されている。
また、前提Aでは、一例として、xyz座標空間における図1の表示領域R1の左上端の座標を、XZ面における原点とする。XZ面における原点の座標は、(x0,z0)である。また、前提Aでは、xyz座標空間における、撮影部10のレンズのY軸方向の座標を、Y軸方向の原点(y0)とする。すなわち、xyz座標空間における図1の表示領域R1の左上端の座標は、(x0,y0,z0)である。
以下においては、ステップS420またはステップS420Aにより特定された選択範囲SR1を、「特定選択範囲」ともいう。また、以下においては、特定選択範囲(選択範囲SR1)を指定するためにユーザU1の手により構成される範囲を、「手構成範囲SR1n」ともいう。
手構成範囲SR1nは、3次元空間における実際の範囲である。手構成範囲SR1nは、例えば、手様態画像RG2の矩形K2を構成する範囲である。また、手構成範囲SR1nは、例えば、実施の形態2で説明した、ユーザU1の手の軌跡により構成される範囲である。以下においては、3次元空間における手構成範囲SR1nの実際のサイズを、「実範囲サイズ」ともいう。また、以下においては、3次元空間における手構成範囲SR1nの位置を、「手構成範囲位置」ともいう。
また、前提Aでは、ユーザU1が、手構成範囲SR1nが表示領域R1内に見えるように、当該ユーザU1の手の態様を、選択範囲SR1を指定するための様態とする。また、前提Aでは、ユーザU1の手により手構成範囲SR1nが構成された後の当該ユーザU1の手の位置は、一例として、図14のように、3次元空間における手構成範囲SR1nを構成する枠の左上端に存在する。
なお、図15において、距離L10は、目位置EL1から表示領域R1までのY軸方向の距離である。距離L1は、目位置EL1から手構成範囲SR1nまでのY軸方向の距離である。距離L2は、手構成範囲SR1nから、表示領域R1までのY軸方向の距離である。なお、距離L10は、距離L1と距離L2とを加算した距離である。
次に、投影変換対応処理について説明する。投影変換対応処理では、要約すれば、選択範囲特定部50B(投影処理部52)が、ユーザU1の目の位置に基づいて、選択範囲SR1を指定するために、前述の抽出手様態を示す、ユーザU1の手により構成される手構成範囲SR1nを、表示領域R1に投影することにより、選択範囲SR1を特定する。当該表示領域R1は、操作対象画像G10を表示する領域である。換言すれば、投影変換対応処理では、選択範囲特定部50B(投影処理部52)が、手構成範囲SR1nを表示領域R1内に投影した領域に選択範囲SR1を配置するためのサイズおよび位置(当該選択範囲SR1のサイズおよび位置)を特定する。
具体的には、投影変換対応処理では、目特定処理、距離測定処理、目位置特定処理、範囲サイズ特定処理、範囲位置特定処理、および、投影変換処理が行われる。
まず、目特定処理では、目E1が特定される。具体的には、まず、撮影部10が、ユーザU1の顔(目E1)を示す撮影画像HGを、選択範囲特定部50Bへ送信する。選択範囲特定部50Bでは、受信した撮影画像HGに対し、一般的な顔認識技術により、目E1を特定する処理を行う。撮影画像HGは、被写体がXZ面に投影された画像である。これにより、選択範囲特定部50Bは、XZ面における目位置EL1(座標(xe,ze))を特定する。
距離測定処理では、撮影部10が、オートフォーカスの機能により、ユーザU1の顔((目E1))に焦点をあわせることにより、距離L10を測定する。また、撮影部10が、オートフォーカスの機能により、ユーザU1の手に焦点をあわせることにより、距離L2を測定する。
なお、距離L10,L2は、オートフォーカスの機能を利用しない方法により測定されてもよい。例えば、距離L10は、撮影画像HGが示す顔のサイズ、および、顔のサイズと当該顔のサイズに対応する距離L10の値とを対応づけた表を利用して、算出されてもよい。また、例えば、入力装置100Bが距離を測定するためのセンサ等を備え、当該センサにより距離を測定する構成としてもよい。
そして、撮影部10は、距離L10,L2を、選択範囲特定部50Bへ送信する。
目位置特定処理では、選択範囲特定部50Bが、距離L10を座標yeで表現することにより、xyz座標空間(3次元空間)における目位置EL1(座標(xe,ye,ze)を特定する。なお、当該座標xe,zeは、前述の目特定処理により特定された座標である。
なお、入力システムAが車内に設けられる構成であり、かつ、ユーザU1の頭が車のヘッドレストに固定される場合、ユーザU1の目の位置(目位置EL1)は、固定された位置である。この場合、目位置特定処理を行わず、選択範囲特定部50Bが、予め記憶していた目位置EL1(座標(xe,ye,ze))を参照して、目位置EL1を特定するようにしてもよい。
範囲サイズ特定処理では、選択範囲特定部50Bが、受信した距離L2の値に基づいて、手構成範囲SR1nの実範囲サイズを算出する。ここで、選択範囲特定部50Bは、距離L2の各値と、当該各値に対応する、手構成範囲SR1nの実範囲サイズとを対応づけたサイズ算出テーブルを予め記憶している。
具体的には、選択範囲特定部50Bは、受信した距離L2の値に対応する、サイズ算出テーブルが示す実範囲サイズを特定することにより、当該実範囲サイズを算出する。
以下においては、手構成範囲位置の座標(xn,yn,zn)を、「座標(xh,yh,zh)」と表現する。
範囲位置特定処理では、選択範囲特定部50Bが、受信した撮影画像HGが示す手の位置(座標)を、XZ面における手構成範囲位置(座標(xh,zh))として特定する。また、選択範囲特定部50Bが、距離L10を座標yhで表現することにより、xyz座標空間(3次元空間)における手構成範囲位置(座標(xh,yh,zh))を特定する。なお、当該座標xh,zhは、前述の処理により特定された座標である。
投影変換処理では、投影処理部52が、投影変換を行う。ここで、投影処理部52は、予め、3次元空間における表示領域R1の実際のサイズ(以下、「実領域サイズ」ともいう)を記憶している。
具体的には、まず、投影処理部52は、(距離L10−距離L2)の式より、距離L1を算出する。そして、投影処理部52は、例えば、ソフトウエアによるシミュレーションにより、距離L1,L2,L10と、特定された目位置EL1と、手構成範囲SR1nの実範囲サイズと、手構成範囲位置と、実領域サイズとを利用して、図14および図15のように、仮想のxyz座標空間に、目位置EL1、手構成範囲SR1n、表示領域R1を配置する。
そして、投影処理部52は、図14および図15のように、目位置EL1を拡大投影の開始点(起点)として、手構成範囲SR1nを、xyz座標空間の表示領域R1へ拡大投影する。これにより、投影処理部52は、表示領域R1へ投影された手構成範囲SR1nのサイズおよび位置を、それぞれ、表示領域R1における選択範囲SR1のサイズおよび位置として特定する。特定されたサイズおよび位置で示される選択範囲SR1は、図14および図15に示される選択範囲SR1である。
なお、選択範囲SR1のサイズおよび位置の特定方法は、上記方法に限定されない。例えば、投影処理部52は、まず、手構成範囲SR1nを構成する矩形を、光を透過させない面で構成する。そして、投影処理部52は、目位置EL1から表示領域R1に向けて光を出射した場合において、表示領域R1へ投影された手構成範囲SR1nの影のサイズおよび位置を、それぞれ、表示領域R1における選択範囲SR1のサイズおよび位置として特定してもよい。
以上により、この投影変換処理は終了する。
そして、軌跡特定部51は、選択範囲情報を、外部装置である表示装置200へ送信する。選択範囲情報とは、特定した選択範囲SR1の形状、サイズおよび位置の情報である。そして、この投影変換対応処理は終了し、範囲特定対応処理Bは終了し、図12の範囲特定制御処理Bは終了する。
表示装置200は、選択範囲情報の受信に応じて、選択範囲情報で特定される選択範囲SR1を示す枠線を、例えば、図1のように、表示領域R1に表示する。
以上説明したように、本実施の形態によれば、ユーザU1の目から見える、表示領域R1に配置された選択範囲SR1を推定することができる。すなわち、ユーザU1が、実際に見ている選択範囲SR1を推定することができる。また、ユーザU1が見ている表示領域R1(画面)に、選択範囲SR1を表示することができる。したがって、ユーザにとって、より直観的な操作の入力を実現することができる。
なお、本実施の形態の処理は、ユーザU1の手の位置から表示領域R1までの距離が長い場合に特に有効である。
なお、本実施の形態の入力装置100Bは、入力装置100Aに投影処理部52を追加した構成としたがこれに限定されない。入力装置100Bは、図2の入力装置100に投影処理部52を追加した構成であってもよい。この構成においても、上記の処理と同様な処理を行うことができる。
(その他の変形例)
以上、本発明に係る入力装置について、実施の形態に基づいて説明したが、本発明は、これら実施の形態に限定されるものではない。本発明の主旨を逸脱しない範囲内で、当業者が思いつく変形を本実施の形態に施したものも、本発明に含まれる。つまり、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
例えば、入力装置100,100A,100Bは、図2、図7、図11等に示される全ての構成要素を含まなくてもよい。すなわち、入力装置100,100A,100Bは、本発明の効果を実現できる最小限の構成要素のみを含めばよい。
また、本発明は、入力装置100,100A,100Bが備える特徴的な構成部の動作をステップとする入力方法として実現してもよい。また、本発明は、当該入力方法に含まれる各ステップをコンピュータが実行してもよい。また、本発明は、そのような入力方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現してもよい。また、本発明は、そのようなプログラムを格納するコンピュータ読み取り可能な記録媒体として実現されてもよい。また、当該プログラムは、インターネット等の伝送媒体を介して配信されてもよい。
上記実施の形態で用いた全ての数値は、本発明を具体的に説明するための一例の数値である。すなわち、本発明は、上記実施の形態で用いた各数値に制限されない。
また、本発明に係る入力方法は、図4、図9または図12に相当する。入力方法における各処理の実行される順序は、本発明を具体的に説明するための一例であり、上記以外の順序であってもよい。また、入力方法における処理の一部と、他の処理とは、互いに独立して並列に実行されてもよい。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
例えば、入力装置100,100A,100Bの全てまたは一部が、撮影部10を備えない構成(以下、「変形構成A」ともいう)としてもよい。変形構成Aでは、入力装置100,100A,100Bの全てまたは一部は、撮影部10と通信可能に接続される。そして、入力装置100,100A,100Bの全てまたは一部は、撮影部10から撮影画像を受信することにより、当該撮影画像を取得する。