特許第5709227号(P5709227)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

特許5709227情報処理装置、情報処理方法及びプログラム
<>
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000002
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000003
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000004
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000005
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000006
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000007
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000008
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000009
  • 特許5709227-情報処理装置、情報処理方法及びプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5709227
(24)【登録日】2015年3月13日
(45)【発行日】2015年4月30日
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 3/01 20060101AFI20150409BHJP
【FI】
   G06F3/01 310C
【請求項の数】9
【全頁数】16
(21)【出願番号】特願2013-512493(P2013-512493)
(86)(22)【出願日】2012年4月27日
(86)【国際出願番号】JP2012061470
(87)【国際公開番号】WO2012147960
(87)【国際公開日】20121101
【審査請求日】2013年10月23日
(31)【優先権主張番号】特願2011-101894(P2011-101894)
(32)【優先日】2011年4月28日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】黒河 尊文
【審査官】 岩橋 龍太郎
(56)【参考文献】
【文献】 特開2011−192081(JP,A)
【文献】 特開2004−356819(JP,A)
【文献】 特開2003−131785(JP,A)
【文献】 特開2001−216069(JP,A)
【文献】 特開2002−196855(JP,A)
【文献】 特開平09−185456(JP,A)
【文献】 特開2010−257093(JP,A)
【文献】 特開平08−315154(JP,A)
【文献】 特開2011−054118(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/033− 3/041
G06F 3/048
G06F 3/14− 3/153
(57)【特許請求の範囲】
【請求項1】
カメラで撮像された被写体の撮像画像を入力する入力部と、
前記カメラと前記被写体との距離を示す情報を取得する取得部と、
前記被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶部と、
前記記憶部に記憶された前記基準データの中から、前記取得部で取得された情報によって示される距離に対応する基準データを選択する選択部と、
前記選択部で選択された基準データを参照して、前記入力部に入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定部と、
を備える情報処理装置。
【請求項2】
前記記憶部は、
前記カメラと前記被写体との距離が近くなるほど、より多くの態様を特定するための基準データを記憶する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記記憶部は、
前記被写体としての手の動きと形状と傾きとを、前記態様として特定するための基準データを記憶する、
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記特定部は、
前記入力部によって入力された撮像画像における被写体の画像を抽出し、
抽出した被写体の画像が表す被写体の態様を、前記選択部で選択された基準データに基づいて特定する、
ことを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
前記取得部は、
前記カメラによって撮像された画像データを解析して、前記カメラと前記被写体との距離を示す情報を取得する、
ことを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
【請求項6】
前記カメラで撮像された被写体の撮像画像を表示する表示部をさらに備える、
ことを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
前記表示部は、
前記選択部で選択された基準データに基づいて特定される前記被写体の態様及びその態様に対応する入力データを表示する、
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
カメラで撮像された被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶ステップと、
前記カメラで撮像された被写体の撮像画像を入力する入力ステップと、
前記カメラと前記被写体との距離を示す情報を取得する取得ステップと、
前記記憶ステップで記憶された前記基準データの中から、前記取得ステップで取得された情報によって示される距離に対応する基準データを選択する選択ステップと、
前記選択ステップで選択された基準データを参照して、前記入力ステップで入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定ステップと、
を含む情報処理方法。
【請求項9】
コンピュータを、
カメラで撮像された被写体の撮像画像を入力する入力部、
前記カメラと前記被写体との距離を示す情報を取得する取得部、
前記被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶部、
前記記憶部に記憶された前記基準データの中から、前記取得部で取得された情報によって示される距離に対応する基準データを選択する選択部、
前記選択部で選択された基準データを参照して、前記入力部に入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
ユーザをカメラで撮像し、撮像されたユーザのジェスチャによって操作指令を入力する情報処理装置が提案されている。
【0003】
例えば、特許文献1には、撮像した画像におけるユーザの手の輪郭を求め、その手の動き及び形状変化に対応して、表示部の仮想スイッチへのカーソル移動及び仮想スイッチの選択を行うインタフェース装置が開示されている。
【0004】
特許文献2には、撮像した画像からユーザの手の形状を認識し、第1の形状を認識した場合に、実行可能な複数の機能のメニューを表示する情報処理装置が開示されている。当該情報処理装置は、画像における認識した形状の位置に従って実行可能な機能を選択し、第2の形状が認識されると、選択された機能を実行する。
【0005】
また、特許文献3には、カメラで撮像したユーザの手の平の画像の一部をマスクして、マスクした画像によって手の平の動きを検出し、その手の動きに対応したコマンドを認識する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−78977号公報
【特許文献2】特開2008−146243号公報
【特許文献3】特開2002−83302号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記特許文献1〜3に記載された情報処理装置は、いずれも、ユーザの手を撮像し、撮像した画像中の手の画像を抽出し、さらに、手の動き又は形状を認識する。しかし、ユーザの手の画像の抽出、さらに手の動き又は形状を認識することは容易ではない。例えば、ユーザとカメラとの距離が離れるに従って、手の画像が小さくなり、抽出処理に時間がかかるうえ、認識率が低下する。このため、適切な操作指令を入力することが困難となる。
【0008】
本発明は、上記事情に鑑みてなされたものであり、撮像された被写体の態様に基づいて、より適切なデータを入力することができる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の第1の観点に係る情報処理装置は、
カメラで撮像された被写体の撮像画像を入力する入力部と、
前記カメラと前記被写体との距離を示す情報を取得する取得部と、
前記被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶部と、
前記記憶部に記憶された前記基準データの中から、前記取得部で取得された情報によって示される距離に対応する基準データを選択する選択部と、
前記選択部で選択された基準データを参照して、前記入力部に入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定部と、
を備える。
【0010】
本発明の第2の観点に係る情報処理方法は、
カメラで撮像された被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶ステップと、
前記カメラで撮像された被写体の撮像画像を入力する入力ステップと、
前記カメラと前記被写体との距離を示す情報を取得する取得ステップと、
前記記憶ステップで記憶された前記基準データの中から、前記取得ステップで取得された情報によって示される距離に対応する基準データを選択する選択ステップと、
前記選択ステップで選択された基準データを参照して、前記入力ステップで入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定ステップと、
を含む。
【0011】
本発明の第3の観点に係るプログラムは、
コンピュータを、
カメラで撮像された被写体の撮像画像を入力する入力部、
前記カメラと前記被写体との距離を示す情報を取得する取得部、
前記被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶部、
前記記憶部に記憶された前記基準データの中から、前記取得部で取得された情報によって示される距離に対応する基準データを選択する選択部、
前記選択部で選択された基準データを参照して、前記入力部に入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定部、
として機能させる。
【発明の効果】
【0012】
本発明によれば、撮像された被写体の態様に基づいて、より適切なデータを入力することができる。
【図面の簡単な説明】
【0013】
図1】本発明の実施の形態に係る情報処理装置の斜視図である。
図2図1の情報処理装置の機能ブロック図である。
図3】遠距離用のジェスチャとしての手の動きの例を示す図である。
図4】(A)、(B)、(C)及び(D)は、中距離用のジェスチャとしての手の形状の例を示す図である。
図5】(A)、(B)、(C)及び(D)は、近距離用のジェスチャとしての手の傾きの例を示す図である。
図6】カメラとユーザとの距離を示す情報を取得する方法を説明するための図である。
図7】実施の形態における入力処理を説明するためのフローチャートである。
図8】表示部における手の画像及びメッセージの表示の例を示す図である。
図9】表示部における手の画像及び特定可能なジェスチャの表示の例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態に係る情報処理装置について図面を参照して説明する。なお、図面中同一又は相当する部分には同一符号を付す。
【0015】
本実施の形態に係る情報処理装置100は、被写体としての手200の動きと形状と傾き等に現れるジェスチャ(態様)を特定し、特定したジェスチャに対応するコマンド等の入力データを入力するジェスチャ入力機能を備える。図1に示すように、情報処理装置100は、操作部1、撮像部としてのカメラ2、表示部3を備えている。
【0016】
情報処理装置100は、一般的に用いられるコンピュータである。情報処理装置100は、手200のジェスチャに対応する入力データ及び操作部1の操作により入力されたデータを処理する。
【0017】
操作部1は、キーボード、マウス等を備える。操作部1は、ユーザの操作入力に対応するデータを情報処理装置100に入力する。
【0018】
カメラ2は、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子を備える。カメラ2は、視野内に位置する被写体として、例えば、情報処理装置100のユーザの手200を撮像する。ユーザは、手200をカメラ2の視野内で移動させ、手200の形状を変化させることにより、種々のデータを入力する。
【0019】
表示部3は、LCD(Liquid Crystal Display)等を備える。表示部3は、情報処理装置100で実行中のアプリケーションに関連する画像を表示する。また、表示部3は、常時或いは所定の操作に応答して、ジェスチャ入力支援用ウインドウ3Wを表示する。ジェスチャ入力支援用ウインドウ3Wには、メニュー項目、ファイル、アイコン等の選択対象Sと選択用のカーソルCとが表示される。
【0020】
図2は、情報処理装置100の機能構成を示す。情報処理装置100は、上記の操作部1、カメラ2、表示部3の他に、記憶部4と、制御部5とを備える。
【0021】
記憶部4は、RAM(Random Access Memory)やハードディスク等の記憶装置等を備える。記憶部4は、各種データを記憶する。例えば、記憶部4は、手200によるユーザのジェスチャを特定するための基準データとそのジェスチャに対応する入力データとを、カメラ2と手200との距離ごとに記憶する。このため、記憶部4は、遠距離用基準データ記憶部41と、中距離用基準データ記憶部42と、近距離用基準データ記憶部43とを備える。基準データは、図3乃至図5に示すような手200の移動、形状、傾き等で現されるジェスチャ(ハンドジェスチャ操作パターンともいう)を特定するためのデータである。
【0022】
遠距離用基準データ記憶部41は、遠距離からでも特定できる手200によるユーザの単純なジェスチャを特定するための基準データを記憶する。遠距離用基準データ記憶部41は、例えば、図3に例示するような、手200の形状と、手200の左、右、上、下方向への動きを特定するための基準データを記憶する。手200の形状を特定するための基準データは、例えば、手の形状をデータ化したパターンデータ等である。手200の左、右、上、下方向への動きを特定するための基準データは、例えば、手の重心の単位時間当たりの移動量に関するデータや手が移動した際の重心の軌跡をデータ化したパターンデータ等である。遠距離用基準データ記憶部41に記憶される基準データは、カメラ2と手200との距離が遠くて画像データにおける手200の領域が小さい場合における手200によるユーザのジェスチャの特定に用いられる。
【0023】
中距離用基準データ記憶部42は、相対的に特定が難しい手200によるユーザのジェスチャを特定するための基準データを記憶する。中距離用基準データ記憶部42は、例えば、図4に例示するような、手200の形状を特定するための基準データを記憶する。図4(A)は、全ての指を伸ばした手の形状である。図4(B)は、人差し指を伸ばして残りの指を折り曲げた手の形状である。図4(C)は、人差し指と中指とを伸ばして残りの指を折り曲げた手の形状である。図4(D)は、人差し指と中指と薬指とを伸ばして残りの指を折り曲げた手の形状である。
【0024】
近距離用基準データ記憶部43は、相対的にさらに特定が難しい手200によるユーザのジェスチャを特定するための基準データを記憶する。近距離用基準データ記憶部43は、例えば、図5に例示するような、手200の形状を特定するための基準データを記憶する。図5(A)乃至図5(D)は、いずれも手自体の形状は同一であるが、手200の傾きが異なる例である。近距離用基準データ記憶部43に記憶される基準データは、カメラ2と手200との距離が近くて画像データにおける手200が大きい場合における手200のジェスチャの特定に用いられる。
【0025】
なお、中距離用基準データ記憶部42は、遠距離用基準データ記憶部41によって記憶されている基準データも記憶する。また、近距離用基準データ記憶部43は、遠距離用基準データ記憶部41によって記憶されている基準データ及び中距離用基準データ記憶部42によって記憶されている基準データも記憶している。換言すると、基準データは、手のジェスチャの特定の難しさに応じて階層化されており、近距離用基準データ記憶部43を上位、遠距離用基準データ記憶部41を下位とすると、上位の基準データは、下位の基準データを含む。このようにして、記憶部4は、カメラ2と手200との距離が近くなるほど、より多くのジェスチャを特定するための基準データを記憶する。
【0026】
また、記憶部4は、手200によるユーザのジェスチャに対応付けられた入力データを、カメラ2と手200との距離ごとに記憶する。手200によるユーザのジェスチャにどのようなデータを対応付けるかは任意である。
【0027】
例えば、遠距離用基準データ記憶部41は、記憶した基準データによって特定される図3に示す手200の動きの方向と、ジェスチャ入力支援用ウインドウ3W内のカーソルCをその方向に移動させるコマンドとを対応付けて記憶する。
【0028】
例えば、中距離用基準データ記憶部42は、記憶した基準データによって特定される図4(A)乃至図4(D)に示す手200の伸ばした指の数と、ジェスチャ入力支援用ウインドウ3W内でその指の数と一致するメニューの番号を指定するコマンドとを対応付けて記憶する。この他、中距離用基準データ記憶部42は、手200の伸ばした指の数と、その指の数と一致する数値データを入力するコマンドとを対応付けて記憶してもよい。
【0029】
例えば、近距離用基準データ記憶部43は、記憶した基準データによって特定される図5(A)乃至図5(D)に示す手200の形状と、ジェスチャ入力支援用ウインドウ3W内の画像をその形状における人差し指が示す方向にスクロールさせるコマンドとを対応付けて記憶する。この他、近距離用基準データ記憶部43は、手200の形状と、その形状における人差し指が指す方向にカーソルを移動させる等のコマンドとを対応付けて記憶してもよい。
【0030】
制御部5は、プロセッサ(Processing Unit)等を備える。プロセッサは、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ハードディスク装置等の補助記憶装置と、ワークメモリであるRAM等を有する。プロセッサは、EEPROMに格納されたプログラムに従って、画像データ及びその他のデータをRAMに一時的に記憶して、情報処理のアルゴリズムを実行する。
【0031】
制御部5は、入力部51と、取得部52と、選択部53と、特定部54と、実行部55とを備える。制御部5は、記憶部4に記憶されているプログラムに従って動作し、ユーザによって入力されたコマンド等の入力データに応じて種々の処理を実行する。
【0032】
入力部51は、カメラ2で撮像された手200の撮像画像を入力する。入力部51は撮像画像のアナログ信号をデジタル信号に変換して、フレーム単位の画像データを生成する。入力部51は、フレーム単位の画像データを表示部3に出力してスルー画像として表示させる。
【0033】
取得部52は、カメラ2(撮像部)と手200との距離を示す情報を取得する。取得部52は、カメラ2によって撮像された画像データを解析して、カメラ2と手200との距離を示す情報を取得する。取得部52は、カメラ2と手200との距離を示す情報として、図6に示すような、撮像されたユーザの顔の領域におけるこめかみ間の長さL1、目の間隔の長さL2、手200の甲の幅L3又は手首の幅L4(以下、こめかみの長さL1等)を取得する。例えば、取得部52は、後述する特定部54によって生成される画像解析データからこめかみの長さL1等を取得する。こめかみの長さL1等は、個人差の影響をあまりうけずに、カメラ2とユーザとの距離に相関する。このため、こめかみの長さL1等が短ければ短いほど、カメラ2と手200との距離は近いと言える。
【0034】
選択部53は、取得部52で取得されたL1等によって示される距離に対応する基準データを選択する。選択部53は、取得部52によって取得されたL1に基づいて、カメラ2とユーザの手200との距離Dを検出する。例えば、距離Dの検出では、まず、選択部53は、L1を、これらの長さ及びカメラ2とユーザとの距離の関係式に代入することにより、カメラ2とユーザとの距離を求める。カメラ2とユーザとの距離は、カメラ2と手200との距離Dにほぼ一致するため、選択部53は、求めた距離をカメラ2と手200との距離Dとして検出する。
【0035】
例えば、選択部53は、検出した距離Dが基準値D1以下である場合、近距離用基準データ記憶部43に記憶された基準データを選択する。選択部53は、距離Dが基準値D1より大きい基準値D2以下である場合、中距離用基準データ記憶部42に記憶された基準データを選択する。選択部53は、距離Dが基準値D2より大きい場合、遠距離用基準データ記憶部41に記憶された基準データを選択する。
【0036】
特定部54は、選択部53で選択された基準データを参照して、入力部51に入力された撮像画像における手200によるユーザのジェスチャを特定し、特定されたジェスチャに対応する入力データを特定する。手200によるユーザのジェスチャの特定においては、例えば、特定部54は、入力部51によって生成されたフレーム単位の画像データから手200を抽出して画像解析データを生成する。
【0037】
ここで、画像解析データの生成について詳細に説明する。特定部54は、複数のフレームの画像データを記憶するメモリを備える。特定部54は、今回撮像されたフレームの画像と以前撮像されたフレームの画像間との差分画像を求める。さらに、特定部54は、得られた差分画像を二値化し、二値化した画像上の各白画素の周囲8近傍の画素値があらかじめ設定した閾値よりも大きければ、その白画素の領域を拡張する。こうすることで、特定部54は、白領域を連結して拡張する拡張処理を実行する。また、特定部54は、二値化した画像上の各黒画素の周囲8近傍の画素値があらかじめ設定した閾値よりも小さければ、その黒画素の領域を縮小する。こうすることで、ノイズとなる黒ドットを除去する縮小処理を実行する。このようにして特定部54は、画像データから動きのある物体として手200の画像を抽出することにより画像解析データを生成する。
【0038】
また、特定部54は、上記差分画像を用いて、手200の重心の単位時間当たりの移動量に関するデータや手200が移動した際の重心の軌跡をデータ化したパターンデータ等を画像解析データに含めるようにしてもよい。こうして生成された画像解析データは、取得部52によるカメラ2とユーザとの距離を示す情報の取得に用いられる。なお、特定部54は、画像データについて肌色度情報や輝度情報等を解析することによって手200の画像を抽出し、画像解析データを生成するようにしてもよい。
【0039】
特定部54は、入力部51によって入力された撮像画像における手200の画像を抽出し、抽出した手200の画像が表す手200によるユーザのジェスチャを、選択部53で選択された基準データに基づいて特定する。より具体的には、特定部54は、生成した画像解析データから手200に対応するデータを抽出し、抽出したデータと選択部53によって選択された基準データと比較する。画像解析データに含まれる手200によるユーザのジェスチャが基準データに一致する場合、特定部54は、一致した基準データに対応する手200のジェスチャを特定する。特定部54は、特定したジェスチャに対応付けられた入力データを記憶部4から読み出し、実行部55に入力する。
【0040】
実行部55は、特定部54によって特定された手200によるユーザのジェスチャに対応付けられた入力データに応じた処理を実行する。例えば、実行部55は、遠距離用基準データ記憶部41、中距離用基準データ記憶部42、近距離用基準データ記憶部43を参照し、特定部54によって特定された手200のジェスチャに対応付けられたコマンドを実行する。例えば、カーソルCを移動させるコマンドの場合、実行部55は、カーソルCの移動指示を表示部3に出力する。これにより、表示部3のジェスチャ入力支援用ウインドウ3W内のカーソルCが移動する。
【0041】
次に、情報処理装置100による入力処理のフローを説明する。
情報処理装置100は、種々のアプリケーションソフトウェアを実行可能である。情報処理装置100は、アプリケーションソフトウェアへの入力のために、操作部1からの入力処理に加えて、以下に説明するように、ユーザがジェスチャで入力した場合の入力処理を行う。
【0042】
制御部5は、図7に示す入力処理を、例えば、時分割で実行する。なお、制御部5は、入力処理の開始に伴いジェスチャ入力支援用ウインドウ3Wを表示してもよく、或いは、ジェスチャ或いは操作部1からの入力によりジェスチャ入力支援用ウインドウ3Wの表示及び非表示を切り換えるようにしてもよい。
【0043】
入力処理を開始すると、まず、特定部54は、入力部51から出力されたフレームの画像データを記憶する(ステップS1)。
【0044】
次に特定部54は、画像解析データを生成する(ステップS2)。画像解析データの解析において手200の画像が抽出されなかった場合(ステップS3;NO)、制御部5は、ステップS1に戻る。一方、画像解析データの解析において手200の画像が抽出された場合(ステップS3;YES)、取得部52は、こめかみの長さL1等を取得する(ステップS4)。続いて、選択部53は、こめかみの長さL1等に基づいて、距離Dを検出する(ステップS5)。
【0045】
検出した距離Dが基準値D1以下である場合(ステップS6;YES)、選択部53は、近距離用基準データ記憶部43に記憶された基準データを選択する(ステップS7)。
【0046】
検出した距離Dが基準値D1より大きい場合であって(ステップS6;NO)、かつ検出した距離Dが、基準値D2以下である場合(ステップS8;YES)、選択部53は、中距離用基準データ記憶部42に記憶された基準データを選択する(ステップS9)。
【0047】
検出した距離DがD2より大きい場合(ステップS8;NO)、選択部53は、遠距離用基準データ記憶部41に記憶された基準データを選択する(ステップS10)。
【0048】
選択部53によって基準データが選択されると、特定部54は、生成した画像解析データと選択部53によって選択された基準データとを比較し、手200のジェスチャが基準データに一致するか否かを判定する(ステップS11)。
【0049】
手200のジェスチャが基準データに一致しない場合(ステップS11;NO)、制御部5は、ステップS1に戻る。一方、手200のジェスチャが基準データに一致した場合(ステップS11;YES)、特定部54は、手200のジェスチャ及び特定したジェスチャに対応付けられたコマンドを特定する(ステップS12)。
【0050】
続いて、実行部55は、特定部54によって特定された手200のジェスチャに対応付けられたコマンドを実行する(ステップS13)。そして、制御部5は、入力処理を終了する。
【0051】
以上詳細に説明したように本実施の形態によれば、カメラ2と手200との距離に応じて、手200によるユーザのジェスチャを特定するための基準データが選択される。これにより、カメラ2と手200との距離で特定可能な手200によるユーザのジェスチャが特定されるため、カメラ2で撮像された手200によるユーザのジェスチャに基づいて、より適切なデータを入力することができる。
【0052】
また、上記実施の形態では、記憶部4は、カメラ2と手200との距離が近くなるほど、より多くのジェスチャを特定するための基準データを記憶するようにした。こうすることで、カメラ2と手200との距離が近い場合は、より多くのジェスチャを特定できるため、多様なコマンド等の入力データを入力できる。
【0053】
カメラ2と手200とが中距離に位置する場合は、近距離の場合と比較して、特定可能な手200によるユーザのジェスチャの数は減少するが、特定できないジェスチャの基準パターンと画像解析データとが比較されないので処理負担及び誤特定を軽減することができる。
【0054】
カメラ2と手200との距離が遠い場合は、近距離、中距離の場合と比較して、特定可能な手200によるユーザのジェスチャの数はさらに減少するが、特定できないジェスチャの基準パターンと画像解析データとが比較されないので処理負担及び誤特定をさらに軽減することができる。また、カメラ2と手200との距離が遠い場合でも特定可能なジェスチャの基準パターンと画像解析データとが比較されるので、手200によるユーザのジェスチャに対応付けられた入力データを確実に入力することができる。
【0055】
なお、上記実施の形態では、記憶部4は、被写体としての手200の動きと形状と傾きとを、態様として特定するための基準データを記憶するようにした。これにより、ユーザは、多様なジェスチャを表現することができる手200の動作(ハンドジェスチャ)によってデータを入力できるので多くの種別のデータを入力できる。
【0056】
また、上記実施の形態では、前記入力部51によって入力された撮像画像における手200の画像を抽出し、抽出した手200の画像が表す手200によるユーザのジェスチャを、選択部53で選択された基準データに基づいて特定するようにした。こうすることで、情報処理装置100は、ユーザのジェスチャをリアルタイムで特定して、迅速にデータを入力することができる。
【0057】
また、上記実施の形態では、取得部52は、カメラ2によって撮像された画像データを解析してカメラ2とユーザとの距離を示す情報を取得するようにした。これにより、光学センサ等を用いる場合と比べて、装置構成を簡単にできる。
【0058】
また、表示部3は、カメラ2によって撮像された画像データに対応する画像を表示するようにしてもよい。この場合、例えば、図8に示すように、ジェスチャ入力支援用ウインドウ3W内に、画像データから抽出された手200の画像が表示される。こうすることで、ユーザは、手200のジェスチャを確認しながら操作入力できるので、より確実にデータを入力できる。さらに、表示部3は、検出された距離Dと、その距離で特定可能なコマンドの種類を報知するメッセージとをウインドウ3iを表示してもよい。これにより、ユーザは、どのようなコマンドがジェスチャで入力できるかを把握することができる。
【0059】
また、表示部3は、選択部53によって選択された基準データに基づいて特定される手200のジェスチャ及び手200のジェスチャに対応付けられたコマンド等を表示するようにしてもよい。例えば、表示部3は、図9に示すように、手200の画像を表示するジェスチャ入力支援用ウインドウ3Wに加えて、手200とカメラ2との現在の距離において特定可能な中距離用基準データ記憶部42に記憶された基準データに対応する手200のジェスチャと、そのジェスチャが特定されたときに入力されるメニューの番号を指定するコマンドとをウインドウ3iに表示する。これにより、ユーザは、特定され得る手200によるジェスチャとそれに対してどのようなコマンドが入力できるかを把握することができる。
【0060】
なお、本実施の形態では、カメラ2とユーザとの距離を示す情報を、画像データから求める例を示したが、例えば、取得部52は、赤外線発光部を備え、赤外線発光部から発光された赤外線が手200で反射された反射光によってカメラ2とユーザとの距離を示す情報を取得するようにしてもよい。また、カメラを複数台配置し、取得部52は、複数のカメラからのステレオ画像を取得し、視差に基づいて、カメラ2とユーザとの距離を示す情報を求めるようにしてもよい。その他、取得部52は、カメラ2とユーザとの距離を示す情報の取得に光学センサ等の各種センサを用いてもよい。
【0061】
また、情報処理装置100は、カメラ2として赤外線カメラ等を用いて、手200を撮像してもよい。また、光学カメラ、赤外線カメラ等に限らず、例えば、情報処理装置100は、手200の撮像に深度センサ等を用いてもよい。
【0062】
なお、本実施の形態においては、カメラ2と手200との距離を3段階に分けたが、2段階に分けても、4段階以上に分けてもよい。
【0063】
また、図3乃至図5に示した手200の動き、形状、傾き等に現れるユーザのジェスチャは一例であって、これらに限定されるものではない。例えば、特定部54は、左手又は右手によるジェスチャを特定してもよいし、両手を用いたジェスチャを特定してもよい。
【0064】
また、高速の動きを伴うジェスチャは、動きが無いジェスチャに比べて、遠距離での特定が困難である。このため、例えば、カメラ2と手200との距離Dが所定の距離より遠い場合には、手が静止している状態においてのみ、特定部54は、手の形状を特定するようにしてもよい。ここで、距離Dが所定の距離より近い場合には、特定部54は、手200の形状と移動とを組み合わせたジェスチャを特定するようにしてもよい。
【0065】
また、本実施の形態では、手200によるジェスチャにより入力を行う例を示したが、例えば、情報処理装置100は、目、口、瞼、舌等を撮像し、これらによるジェスチャや態様(例えば、相対位置、動き、向き、開度、閉度等)に基づいて入力できるようにしてもよい。
【0066】
なお、本実施の形態においては、記憶部4は、距離ごとに基準データを記憶したが、これに限定されない。例えば、記憶部4は、基準データに全距離用、近距離用、中距離用、遠距離用を識別する識別子を付して記憶してもよい。この場合、選択部53によって検出された距離Dに応じて、その距離に対応する識別子が付された基準データを読み出し、画像解析データに含まれる手200のジェスチャと一致するか否かを判定してもよい。
【0067】
また、本実施の形態では、情報処理装置100とカメラ2とを一体に構成したが、例えば、カメラ2を情報処理装置100から独立させて設置することもできる。この場合、カメラ2が通信ネットワークを介して画像データを情報処理装置100に送信することによって、ユーザは情報処理装置100に手200のジェスチャによる操作入力を行う。こうすることで、ユーザは、カメラ2が情報処理装置100本体と離して設置されたような遠隔操作の仕様であっても、適切なデータを入力することができる。
【0068】
本実施の形態の情報処理装置100は、専用のシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによって入力装置100を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、例えばコンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトウェアとの共同により実現してもよい。この場合には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
【0069】
上記プログラムを記録する記録媒体としては、USBメモリ、フレキシブルディスク、CD、DVD、Blu−ray Disc(登録商標)、MO、SDカード、メモリースティック(登録商標)、その他、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ、磁気テープ等のコンピュータ読取可能な記録媒体を使用することができる。また、ハードディスクやSSD(ソリッドステートドライブ)等、通常、システム又は装置に固定して使用する記録媒体を使用することもできる。
【0070】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【0071】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0072】
(付記1)
カメラで撮像された被写体の撮像画像を入力する入力部と、
前記カメラと前記被写体との距離を示す情報を取得する取得部と、
前記被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶部と、
前記記憶部に記憶された前記基準データの中から、前記取得部で取得された情報によって示される距離に対応する基準データを選択する選択部と、
前記選択部で選択された基準データを参照して、前記入力部に入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定部と、
を備える情報処理装置。
【0073】
(付記2)
前記記憶部は、
前記カメラと前記被写体との距離が近くなるほど、より多くの態様を特定するための基準データを記憶する、
ことを特徴とする付記1に記載の情報処理装置。
【0074】
(付記3)
前記記憶部は、
前記被写体としての手の動きと形状と傾きとを、前記態様として特定するための基準データを記憶する、
ことを特徴とする付記1又は2に記載の情報処理装置。
【0075】
(付記4)
前記特定部は、
前記入力部によって入力された撮像画像における被写体の画像を抽出し、
抽出した被写体の画像が表す被写体の態様を、前記選択部で選択された基準データに基づいて特定する、
ことを特徴とする付記1乃至3のいずれか一つに記載の情報処理装置。
【0076】
(付記5)
前記取得部は、
前記撮像部によって撮像された画像データを解析して、前記カメラと前記被写体との距離を示す情報を取得する、
ことを特徴とする付記1乃至4のいずれか一つに記載の情報処理装置。
【0077】
(付記6)
前記カメラで撮像された被写体の撮像画像を表示する表示部をさらに備える、
ことを特徴とする付記1乃至5のいずれか一つに記載の情報処理装置。
【0078】
(付記7)
前記表示部は、
前記選択部で選択された基準データに基づいて特定される前記被写体の態様及びその態様に対応する入力データを表示する、
ことを特徴とする付記6に記載の情報処理装置。
【0079】
(付記8)
カメラで撮像された被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶ステップと、
前記カメラで撮像された被写体の撮像画像を入力する入力ステップと、
前記カメラと前記被写体との距離を示す情報を取得する取得部と、
前記記憶ステップで記憶された前記基準データの中から、前記取得ステップで取得された情報によって示される距離に対応する基準データを選択する選択ステップと、
前記選択ステップで選択された基準データを参照して、前記入力ステップで入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定ステップと、
を含む情報処理方法。
【0080】
(付記9)
コンピュータを、
カメラで撮像された被写体の撮像画像を入力する入力部、
前記カメラと前記被写体との距離を示す情報を取得する取得部、
前記被写体の態様を特定するための基準データとその態様に対応する入力データとを、前記カメラと前記被写体との距離ごとに記憶する記憶部、
前記記憶部に記憶された前記基準データの中から、前記取得部で取得された情報によって示される距離に対応する基準データを選択する選択部、
前記選択部で選択された基準データを参照して、前記入力部に入力された撮像画像における前記被写体の態様を特定し、特定された態様に対応するデータを特定する特定部、
として機能させるプログラムを記録した記録媒体。
【0081】
本発明は、2011年4月28日に出願された日本国特許出願2011−101894号に基づく。本明細書中に日本国特許出願2011−101894号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【産業上の利用可能性】
【0082】
本発明は、ユーザのジェスチャによってデータを入力する情報処理装置、情報処理方法及び記録媒体に好適である。
【符号の説明】
【0083】
1 操作部
2 カメラ
3 表示部
3W ジェスチャ入力支援用ウインドウ
3i ウインドウ
4 記憶部
5 制御部
41 遠距離用基準データ記憶部
42 中距離用基準データ記憶部
43 近距離用基準データ記憶部
51 入力部
52 取得部
53 選択部
54 特定部
55 実行部
100 情報処理装置
200 手
図1
図2
図3
図4
図5
図6
図7
図8
図9