(57)【要約】【課題】ユーザにとってより容易なハンドジェスチャ操作を実現可能にする。【解決手段】情報処理装置は、画面を表示する表示部２１と、ユーザを撮像することによって、撮像画像のデータを出力する撮像部２２と、を備えている。このような情報処理装置において、顔検出部５７は、撮像部２２から出力された撮像画像のデータに基づいて、ユーザと撮像手段との位置関係に応じて変化する、撮像画像内におけるユーザの顔の像の位置及び大きさを表す顔領域を撮像画像から検出する。GUI画像生成部５３は、表示部２１の画面における、顔領域の対応領域を求め、当該対応領域の位置及び大きさに基づいて当該対応領域の周囲にGUIとしてのボタンを配置した画像のデータを、GUI画像のデータとして生成する。表示制御部５４は、GUI画像のデータに基づいて、当該GUI画像を画面として表示部２１に表示させる。【選択図】図２
2011221787.tif 000002
【特許請求の範囲】
【請求項１】
画面を表示する表示手段と、
ユーザを撮像することによって、撮像画像のデータを出力する撮像手段と、
前記撮像手段から出力された撮像画像のデータに基づいて、前記ユーザと前記撮像手段との位置関係に応じて変化する、前記撮像画像内における前記ユーザの顔の像の位置と大きさを表す顔領域を前記撮像画像から検出する顔検出手段と、
前記表示手段の画面における、前記顔検出手段により検出された前記顔領域の対応領域を求め、当該対応領域の中心位置に対して、当該対応領域が大きくなる程遠距離になる位置を、GUIとしてのボタンの配置位置として決定し、当該配置位置に前記ボタンを配置した画像のデータを、GUI画像のデータとして生成するGUI画像生成手段と、
前記GUI画像生成手段により生成された前記GUI画像のデータに基づいて、前記GUI画像を画面として前記表示手段に表示させる制御を実行する表示制御手段と、
を備える情報処理装置。
【請求項２】
前記撮像手段、前記顔検出手段、前記GUI画像生成手段、及び前記表示制御手段が各々の動作を繰り返し実行することで、
顔検出手段が検出した顔領域の大きさが変化する都度、
前記GUI画像生成手段が、前記ボタンの配置位置を決め直し、決め直した配置位置に前記ボタンを配置し直した前記GUI画像を生成し、
前記表示制御手段が、当該GUI画像を前記表示手段に表示させる制御を実行する、
請求項１に記載の情報処理装置。
【請求項３】
画面を表示する表示手段と、
ユーザを撮像することによって、撮像画像のデータを出力する撮像手段と、
を備える情報処理装置を制御するコンピュータに、
前記撮像手段から出力された撮像画像のデータに基づいて、前記ユーザと前記撮像手段との位置関係に応じて変化する、前記撮像画像内における前記ユーザの顔の像の位置と大きさを表す顔領域を前記撮像画像から検出する顔検出機能と、
前記表示手段の画面における、前記顔検出機能の実現により検出された前記顔領域の対応領域を求め、当該対応領域の中心位置に対して、当該対応領域が大きくなる程遠距離になる位置を、GUIとしてのボタンの配置位置として決定し、当該配置位置に前記ボタンを配置した画像のデータを、GUI画像のデータとして生成するGUI画像生成機能と、
前記GUI画像生成機能の実現により生成された前記GUI画像のデータに基づいて、前記GUI画像を画面として前記表示手段に表示させる制御を実行する表示制御機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関し、特に、ユーザにとってより容易なハンドジェスチャ操作を実現可能にする技術に関する。
【背景技術】
【０００２】
近年、テレビジョン受像機等の表示装置の画面に対して、人間の手を用いた所定の所作をすることによって、表示装置を操作する技術が研究開発されている。
【０００３】
例えば、特許文献１には、ユーザをビデオカメラで撮像してモニタに表示し、表示された画面の中で、ユーザの手が所定の認識領域に入ったと判断されると、所定の処理を実行する、マルチメディア再生装置の技術が開示されている。
【０００４】
なお、「画面」とは、表示装置等の表示領域全体に表示される画像をいう。
また、以下、人間の手を用いた所作を、「ハンドジェスチャ」と呼び、また、ハンドジェスチャによる画面の操作を、「ハンドジェスチャ操作」と呼ぶ。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−７２５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術では、ユーザが画面（ビデオカメラ）の近くで動作する場合は、ユーザは画面の中で大きく表示されるため、モニタに表示される画面の中の所定の認識領域に手を到達させることは比較的容易である。一方で、例えば、ユーザが画面から遠く離れると、ユーザは画面の中で小さく表示されることになり、画面の中でユーザが占める領域が小さくなる。このため、ユーザが画面の中の所定の認識領域に手を届かせることが困難になる場合がある。このように、ユーザと画面との位置関係によってはハンドジェスチャ操作に支障が生じる場合も想定された。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、例えば、ユーザと画面との位置が離れた場合であっても、ユーザにとって容易なハンドジェスチャ操作を実現可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様によると、
画面を表示する表示手段と、
ユーザを撮像することによって、撮像画像のデータを出力する撮像手段と、
前記撮像手段から出力された撮像画像のデータに基づいて、前記ユーザと前記撮像手段との位置関係に応じて変化する、前記撮像画像内における前記ユーザの顔の像の位置と大きさを表す顔領域を前記撮像画像から検出する顔検出手段と、
前記表示手段の画面における、前記顔検出手段により検出された前記顔領域の対応領域を求め、当該対応領域の中心位置に対して、当該対応領域が大きくなる程遠距離になる位置を、GUIとしてのボタンの配置位置として決定し、当該配置位置に前記ボタンを配置した画像のデータを、GUI画像のデータとして生成するGUI画像生成手段と、
前記GUI画像生成手段により生成された前記GUI画像のデータに基づいて、前記GUI画像を画面として前記表示手段に表示させる制御を実行する表示制御手段と、
を備える情報処理装置を提供する。
【０００９】
本発明の一態様によると、上述した本発明の一態様に係る情報処理装置に対応するプログラムを提供する。
【発明の効果】
【００１０】
本発明によれば、ユーザにとって容易なハンドジェスチャ操作を実現可能にすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る情報処理装置の外観構成を模式的に示す図である。
【図２】図１の情報処理装置の機能的構成を示す機能ブロック図である。
【図３】図１の情報処理装置が実行するハンドジェスチャ操作対応処理の流れの一例を示すフローチャートである。
【図４】図３のハンドジェスチャ操作対応処理によって表示されたGUI画像の一例を示す図である。
【図５】図３のハンドジェスチャ操作対応処理によって表示されたGUI画像の一例であって、図４とは別の例を示す図である。
【図６】図２の情報処理装置を実現するハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を図面に基づいて説明する。
【００１３】
図１は、本発明の一実施形態に係る情報処理装置の外観構成を模式的に示す図である。
【００１４】
図１に示す情報処理装置１１は、液晶ディスプレイ等で構成される表示部２１と、デジタルカメラ等で構成される撮像部２２と、を備えている。情報処理装置１１は、例えばカメラ付きデジタルフォトフレーム等により構成することができる。
【００１５】
表示部２１は、情報処理装置１１の正面（ユーザＵに対向する面であって、図１に示される面）に設けられ、任意の画像を画面として表示することができる。図１の例では、GUI（Graphical  User  Interface）としてのカーソルＧＣ及び４つのボタンＧＢ−１乃至ＧＢ−４を含む画面が、表示部２１に表示されている。
撮像部２２は、情報処理装置１１の正面であって例えば表示部２１の上方に設けられ、情報処理装置１１の正面（表示部２１の画面）から前方の所定の画角の範囲内に存在する被写体を撮像することによって、当該被写体の像を含む撮像画像のデータを出力する。
本実施形態では、図１に示すように、撮像部２２は、ユーザＵを撮像し、ユーザＵの像を含む撮像画像のデータを出力する。
【００１６】
このような情報処理装置１１は、ユーザＵによるハンドジェスチャ操作を受け付けることができる。
【００１７】
ハンドジェスチャ操作の一形態として、本実施形態では、表示部２１の画面内でカーソルＧＣを移動させる操作が用いられる。このようなハンドジェスチャ操作を、以下、「カーソル移動操作」と呼ぶ。具体的には、ユーザＵが手の位置を移動させる操作が、カーソル移動操作である。
情報処理装置１１は、撮像部２２から出力された撮像画像のデータに基づいて、撮像画像内の肌色の領域（後述する顔領域除く）を、ユーザＵの手の領域として検出する。なお、以下、このようにして検出された領域を、「手領域」と呼ぶ。
情報処理装置１１は、手領域が移動した場合、カーソル移動操作が行われたと認識する。そこで、情報処理装置１１は、撮像画像内の手領域の位置に基づいて、表示部２１の画面内のカーソルＧＣの位置を求め、求めた位置にカーソルＧＣを配置した画面を表示部２１に表示させる、といった処理を所定間隔毎に繰り返し実行する。これにより、ユーザＵの手の移動に連動して、カーソルＧＣが表示部２１の画面内で移動する。
【００１８】
また、ハンドジェスチャ操作の別の形態として、本実施形態では、表示部２１に表示されたボタンＧＢ−１乃至ＧＢ−４のうち１つを押下する操作が用いられる。このようなハンドジェスチャ操作を、以下、「ボタン押下操作」と呼ぶ。
具体的には、ユーザＵは、カーソル移動操作をして、ボタンＧＢ―Ｋ（Ｋは、１乃至４のうちの任意の整数値）の上にカーソルＧＣを配置させる。このようにカーソルＧＣがボタンＧＢ―Ｋの上に配置された状態で、所定時間、ユーザが手の位置をほぼ固定する操作、即ちカーソルＧＣをボタンＧＢ―Ｋ内に留めておく操作が、ボタン押下操作である。
情報処理装置１１は、カーソル移動操作の時と同様に、ユーザＵの手領域を検出し、その検出結果に基づいて、表示部２１の画面内のカーソルＧＣの位置を求める。情報処理装置１１は、このようにして求めたカーソルＧＣの位置が、所定時間経過してもボタンＧＢ―Ｋの領域内に留まっている場合、ボタンＧＢ―Ｋに対するボタン押下操作が行われたと認識する。そして、情報処理装置１１は、ボタンＧＢ―Ｋに割り当てられたコマンドを実行する。
なお、ボタンＧＢ―Ｋに割り当てられるコマンドは、特に限定されない。即ち、情報処理装置１１の設計者等は、画像送り、画像戻し、或いはモード切替等任意のコマンドを、ボタンＧＢ−Ｋに割り当てることができる。
【００１９】
情報処理装置１１は、このようなハンドジェスチャ操作が行われる状況において、さらに、撮像部２２から出力された撮像画像のデータに基づいて、撮像画像内のユーザＵの顔の像の位置と大きさを表わす領域を検出することができる。なお、以下、このようにして検出された領域を、撮像画像内における「顔領域」と呼ぶ。顔領域は撮像画像内におけるユーザＵの顔の像を示しているので、ユーザＵと撮像部２２との位置関係に応じて顔領域の位置及びサイズは変化する。
そして、情報処理装置１１は、撮像画像内の顔領域の位置及びサイズに基づいて、表示部２１の画面内のボタンＧＢ−１乃至ＧＢ−４の各々の位置を求め、求めた位置にボタンＧＢ−１乃至ＧＢ−４を配置した画面を表示部２１に表示させる。
即ち、情報処理装置１１は、撮像画像内の顔領域の位置及びサイズに応じて、表示部２１の画面内のボタンＧＢ−１乃至ＧＢ−４の各々の配置位置を可変することができる。
例えば、撮像画像と表示部２１の画面とのアスペクト比が均一である場合に、撮像画像（反転画像）と表示部２１の画面との各々を同一サイズ（同一画素数）に拡大又は縮小したときに、撮像画像の反転画像の領域に１対１に対応する表示部２１の画面内の領域（１以上の画素の集合体）を、以下、「対応領域」と呼ぶものとする。この場合、情報処理装置１１は、表示部２１の画面における、顔領域の対応領域を求め、当該対応領域の位置及び大きさに基づいてボタンＧＢ−１乃至ＧＢ−４の画面内の配置位置を決定し、即ち当該対応領域の周囲の各位置を配置位置として決定し、決定した各々の配置位置にボタンＧＢ−１乃至ＧＢ−４を配置させることができる。
これにより、ユーザＵは、表示部２１の画面から、撮像部２２の画角のうち、ボタンＧＢ−１乃至ＧＢ−４に囲まれた範囲内に自身の顔が存在することを容易に視認することが可能になる。さらに、ユーザＵは、自身の顔の周囲近傍で手を動かすだけで、即ち、大きく手を動かさずに、ボタン押下操作を行うことが可能になる。
【００２０】
このような情報処理装置１１により実行される一連の処理、即ち、画面を表示部２１に表示し、その画面にカーソルＧＣやボタンＧＢ−１乃至ＧＢ−４等のGUIを表示し、カーソル移動操作やボタン押下操作等のハンドジェスチャ操作を認識して、その認識結果に基づく処理を実行するまでの一連の処理を、以下、「ハンドジェスチャ操作対応処理」と呼ぶ。
【００２１】
図２は、このようなハンドジェスチャ操作対応処理を実行するための情報処理装置１１の機能的構成を示す機能ブロック図である。
図２において、白抜き矢印は情報の流れを示しており、実践の矢印は命令の流れを示している。
【００２２】
情報処理装置１１は、上述した表示部２１と撮像部２２との他さらに、主制御部５１と、表示対象画像生成部５２と、GUI画像生成部５３と、表示制御部５４と、撮像画像取得部５５と、撮像画像記憶部５６と、顔検出部５７と、顔検出情報記憶部５８と、検出結果記憶部５９と、操作認識部６０と、を備えている。
【００２３】
主制御部５１は、情報処理装置１１全体の動作を制御する。即ち、主制御部５１は、各種命令を発行することによって、表示対象画像生成部５２、GUI画像生成部５３、表示制御部５４、撮像画像取得部５５、及び顔検出部５７の各々の動作を制御する。
【００２４】
表示対象画像生成部５２は、リムーバブルメディア７１に記憶された画像のデータ等に基づいて、表示部２１に表示させる対象の画像（以下、「表示対象画像」と呼ぶ）のデータを生成し、GUI画像生成部５３に供給する。
【００２５】
GUI画像生成部５３は、表示対象画像生成部５２から供給された表示対象画像のデータに基づいて、当該表示対象画像の上に、カーソルＧＣやボタンＧＢ−１乃至ＧＢ−４等のGUIを重畳した画像（以下、「GUI画像」と呼ぶ）のデータを生成する。
ここで、カーソルＧＣやボタンＧＢ−１乃至ＧＢ−４等のGUIの配置位置は、上述したように、ユーザＵの存在位置に応じて、即ち、撮像画像内における顔領域や手領域の位置に応じて可変する。このため、GUI画像生成部５３は、後述する顔検出部５７による顔領域や手領域の検出結果を検出結果記憶部５９から読み出すことによって、カーソルＧＣやボタンＧＢ−１乃至ＧＢ−４等のGUIの配置位置を決定する。ただし、検出結果記憶部５９及びその記憶内容の詳細については後述する。
GUI画像生成部５３により生成されたGUI画像のデータは、表示制御部５４に供給される。
なお、顔領域の検出結果が検出結果記憶部５９に記憶されていない場合、ハンドジェスチャ操作は行われないものとして、表示対象画像生成部５２により生成された表示対象画像のデータがそのまま、GUI画像生成部５３から表示制御部５４に供給される。
【００２６】
表示制御部５４は、GUI画像生成部５３から供給されたGUI画像又は表示対象画像のデータに基づいて、当該GUI画像又は表示対象画像を画面として表示部２１に表示させる制御を実行する。なお、表示部２１に表示されるGUI画像の具体例については、図４と図５を用いて後述する。
【００２７】
このようなGUI画像におけるカーソルＧＣやボタンＧＢ−１乃至ＧＢ−４等のGUIの配置位置は、上述したように、撮像画像内における顔領域や手領域の位置に応じて決定される。このような撮像画像内における顔領域や手領域の位置を特定するために、撮像画像取得部５５乃至検出結果記憶部５９が情報処理装置１１に設けられている。
【００２８】
撮像画像取得部５５は、撮像部２２から所定時間間隔毎に出力される撮像画像のデータを順次取得して、撮像画像記憶部５６に順次記憶させる。
ここで、撮像部２２から所定時間間隔毎に出力される撮像画像のデータの各々を、以下、「フレーム撮像画像のデータ」と呼ぶ。
撮像画像記憶部５６は、時間的に連続する２枚以上のフレーム撮像画像のデータを記憶する。
【００２９】
顔検出部５７は、撮像画像記憶部５６に記憶されたフレーム撮像画像のデータに基づいて、当該フレーム撮像画像から顔領域を検出する。
なお、顔領域を検出する手法は、特に限定されないが、本実施形態では、Adaboostの手法で学習した結果得られるアピアランスベース識別器を用いて、顔領域を検出する手法が採用されている。
このため、本実施形態では、顔検出情報記憶部５８は、アピアランスベース識別器を記憶している。
【００３０】
顔検出部５７は、さらに、撮像画像記憶部５６に記憶されたフレーム撮像画像のデータに基づいて、当該フレーム撮像画像から手領域を検出する。
なお、手領域を検出する手法は、特に限定されないが、本実施形態では、撮像画像の中に、顔領域以外の領域であって肌色の移動物体の領域を、手領域として検出する手法が採用されている。
即ち、本実施形態では、顔検出部５７は、顔領域の検出に用いられたフレーム撮像画像のデータを処理対象として、それよりも過去に撮像されたフレーム撮像画像のデータとの差分に基づいて、処理対象のフレーム撮像画像から移動物体の領域を検出する。また、顔検出部５７は、処理対象の撮像画像のデータに基づいて、当該処理対象のフレーム撮像画像の中から、HSV(Hue、Saturation、Value)表色系のHの値が規定範囲内の領域を肌色の領域として検出する。そして、顔検出部５７は、肌色の領域であり、かつ、移動物体の領域であると検出した領域を、手領域として検出する。
【００３１】
検出結果記憶部５９は、このような顔検出部５７の検出結果、即ち、処理対象のフレーム撮像画像から検出された顔領域や手領域を特定可能な情報を記憶する。
【００３２】
検出結果記憶部５９に記憶された顔検出部５７の検出結果は、GUI画像生成部５３に供給され、上述したように、カーソルＧＣやボタンＧＢ−１乃至ＧＢ−４等のGUIの表示対象画像内の配置位置を決定するために用いられる。
例えば、GUI画像生成部５３は、カーソルＧＣの配置位置を決定する場合、手領域を特定可能な情報を検出結果記憶部５９から読み出して、当該情報に基づいて、処理対象のフレーム撮像画像内の手領域の位置を認識する。そして、GUI画像生成部５３は、表示部２１の画面における手領域の対応領域を、カーソルＧＣの配置位置として決定する。
また例えば、GUI画像生成部５３は、ボタンＧＢ−１乃至ＧＢ−４の配置位置を決定する場合、顔領域を特定可能な情報を検出結果記憶部５９から読み出して、当該情報に基づいて、処理対象のフレーム撮像画像内の顔領域の位置及びサイズを認識する。GUI画像生成部５３は、認識した顔領域の位置及びサイズに基づいて、表示部２１の画面内のボタンＧＢ−１乃至ＧＢ−４の各々の位置を求める。具体的には、GUI画像生成部５３は、表示部２１の画面における顔領域の対応領域を求め、当該対応領域の位置及び大きさに基づいて当該対応領域の周囲近傍の上下左右の各位置を、ボタンＧＢ−１乃至ＧＢ−４の各配置位置としてそれぞれ決定する。
【００３３】
さらに、検出結果記憶部５９に記憶された顔検出部５７の検出結果は、操作認識部６０にも供給される。
操作認識部６０は、顔検出部５７の検出結果に基づいて、ユーザＵが行ったハンドジェスチャ操作を認識し、その認識結果を命令として主制御部５１に通知する。
例えば、操作認識部６０は、時間的に連続する複数のフレーム撮像画像の各々から検出られた手領域の各位置に基づいて、当該複数のフレーム撮像画像内での手領域の移動の軌跡を検出する。そして、操作認識部６０は、このような検出結果に基づいて、GUI画像内でのカーソルＧＣの移動の軌跡を特定し、その特定結果に基づいて、カーソル移動操作やボタン押下操作が行われたことを認識する。
【００３４】
以上、情報処理装置１１の機能的構成について説明した。
ただし、上述した機能的構成は例示にしか過ぎず、ハンドジェスチャ操作対応処理を実行可能であれば、情報処理装置１１は任意の機能的構成を取ることができる。
【００３５】
次に、図３を参照して、このような機能的構成を有する情報処理装置１１が実行するハンドジェスチャ操作対応処理について説明する。
【００３６】
図３は、ハンドジェスチャ操作対応処理の流れの一例を示すフローチャートである。
ハンドジェスチャ操作対応処理は、例えば、情報処理装置１１の電源が投入されて、リムーバブルメディア７１が情報処理装置１１に装着されたことを契機として開始する。
【００３７】
ステップＳ１において、図２の主制御部５１は、表示制御部５４を制御して、表示部２１における画面表示を開始させる。
即ち、この段階では、検出結果記憶部５９には、顔領域の検出結果が未だ記憶されていない。このため、リムーバブルメディア７１に記憶された画像のデータに基づいて表示対象画像生成部５２により生成された表示対象画像のデータがそのまま、GUI画像生成部５３を介して表示制御部５４に供給される。そこで、表示制御部５４は、当該表示対象画像、即ち、カーソルＧＣやボタンＧＢ−１乃至ＧＢ−４等のGUIを含まない表示対象画像を、表示部２１の画面として表示させる。
【００３８】
ステップＳ２において、主制御部５１は、顔検出部５７による顔検出処理を開始させる。
ここで、顔検出処理とは、顔領域を検出する処理のみならず、手領域を検出する処理も含む処理をいう。
【００３９】
ステップＳ３において、GUI画像生成部５３は、主制御部５１の制御の下、検出結果記憶部５９の記憶内容を監視することによって、一定時間顔領域を検出しないか否かを判定する。
一定時間の間に、撮像部２２から順次出力され、撮像画像取得部５５を介して撮像画像記憶部５６に順次記憶された複数のフレーム撮像画像のデータの各々を用いて、顔検出部５７は、顔領域の検出を試みる。
顔領域の検出の試みに失敗した場合、即ち、一定時間の間に顔検出部５７が顔領域を検出できなかった場合、検出結果記憶部５９には顔領域に関する情報は記憶されない。このような場合、ステップＳ３においてYESであると判定されて、後述するステップＳ４乃至Ｓ８の処理は実行されずに、即ち、GUI画像は生成されず、表示対象画像が表示部２１の画面として表示された状態を継続したまま、処理はステップＳ９に進む。なお、ステップＳ９以降の処理は後述する。
これに対して、顔領域の検出の試みに成功した場合、即ち、一定時間の間に顔検出部５７が顔領域を検出できた場合、当該顔領域を特定可能な情報が検出結果記憶部５９に記憶される。このような場合、ステップＳ３においてNOであると判定されて、処理はステップＳ４に進む。
【００４０】
ステップＳ４において、GUI画像生成部５３は、主制御部５１の制御の下、検出結果記憶部５９の記憶内容をさらに監視することによって、手領域を検出したか否かを判定する。
顔検出部５７が手領域を検出できなかった場合、検出結果記憶部５９には手領域に関する情報は記憶されない。このような場合、ステップＳ４においてNOであると判定されて、後述するステップＳ５乃至Ｓ８の処理は実行されずに、即ち、GUI画像は生成されず、表示対象画像が表示部２１の画面として表示された状態を継続したまま、処理はステップＳ９に進む。なお、ステップＳ９以降の処理は後述する。
これに対して、顔検出部５７が手領域を検出できた場合、当該手領域を特定可能な情報が検出結果記憶部５９に記憶される。このような場合、ステップＳ４においてYESであると判定されて、処理はステップＳ５に進む。
【００４１】
ステップＳ５において、GUI画像生成部５３は、主制御部５１の制御の下、表示制御部５４を介して、表示部２１の画面にカーソルＧＣを表示させる。
ステップＳ６において、GUI画像生成部５３は、主制御部５１の制御の下、表示部２１の画面における、顔領域の対応領域を求め、当該対応領域の中心位置から、当該対応領域の大きさに応じて可変する距離だけ離間した位置を、ボタンＧＢ−１乃至ＧＢ−４の配置位置として決定する。
ステップＳ７において、GUI画像生成部５３は、主制御部５１の制御の下、表示制御部５４を介して、ボタンＧＢ−1乃至ＧＢ−４の各々を、表示部２１の画面のうち、ステップＳ６の処理で決定された配置位置に、ボタンＧＢ−１乃至ＧＢ−４の各々を表示させる。
即ち、GUI画像生成部５３は、検出結果記憶部５９に記憶された顔領域や手領域を特定可能な情報に基づいて、フレーム撮像画像内の顔領域のサイズ及び位置並びに手領域の位置を特定する。
次に、GUI画像生成部５３は、特定された手領域の位置に基づいて、表示部２１の画面における、手領域の対応領域を求め、その対応領域内の位置をカーソルＧＣの配置位置として決定する。また、GUI画像生成部５３は、特定された顔領域のサイズ及び位置に基づいて、表示部２１の画面における、顔領域の対応領域を求め、その対応領域の周囲の各位置、例えば上下左右の四方の各位置を、ボタンＧＢ−１乃至ＧＢ−４の各配置位置として決定する。
そして、GUI画像生成部５３は、カーソルＧＣやボタンＧＢ−１乃至ＧＢ−４の各々を、先に決定した表示対象画像内の各々の配置位置に配置させたGUI画像のデータを生成する。これにより、表示制御部５４の制御の下、表示部２１の画面としてGUI画像が表示される。
【００４２】
図４は、このようなステップＳ５乃至Ｓ７の処理によって、表示部２１に画面として表示されたGUI画像の一例を示している。図４では、表示対象画像の一例として、道路標識の画像が表示部２１に表示されている。
具体的には、図４（Ａ）が、表示部２１に画面として表示されたGUI画像の一例を示しており、図４（Ｂ）が、フレーム撮像画像の一例を示している。
即ち、図４（Ｂ）のフレーム撮像画像１０２Ｎのデータから顔検出部５７によって検出された顔領域１２１Ｆ及び手領域１２２に基づいて、図４（Ａ）のGUI画像１０１ＮのデータがGUI画像生成部５３によって生成されている。
なお、図４（Ｂ）のフレーム撮像画像１０２Ｎは、説明の便宜上図示したものであって、実際には、表示部２１に表示されない。
図４（Ａ）のGUI画像１０１Ｎは、表示対象画像１１１の上に、カーソルＧＣ及びボタンＧＢ−１乃至ＧＢ−４が配置されて構成されている。
図４（Ａ）と図４（Ｂ）とを比較するに、カーソルＧＣは、画面（GUI画像１０１Ｎ）における、手領域１２２の対応領域内に配置され、ボタンＧＢ−１乃至ボタンＧＢ−４の各々は、画面（GUI画像１０１Ｎ）における、顔領域１２１Ｆの対応領域１２１Ｇの上下左右の四方の各位置に配置されていることがわかる。即ち、顔領域１２１Ｆの対応領域１２１Ｇの中心位置ＣＮから距離ＩＮだけ上下左右の各々に離間した各位置に、ボタンＧＢ−１乃至ボタンＧＢ−４の各々が配置されていることがわかる。
なお、図４（Ａ）において、対応領域１２１Ｇを示す下線、対応領域１２１Ｇの中心位置ＣＮを示す黒点、当該中心位置ＣＮからボタンＧＢ−Ｋまでの距離ＩＮを示す矢印は、説明の便宜上図示したものであって、実際には、表示部２１に表示されない。
【００４３】
図５は、ステップＳ５乃至Ｓ７の処理によって、表示部２１に画面として表示されたGUI画像の一例であって、図４とは別の例を示している。
具体的には、図５（Ａ）が、表示部２１に画面として表示されたGUI画像の別の例を示しており、図５（Ｂ）が、フレーム撮像画像の別の例を示している。
即ち、図５（Ｂ）のフレーム撮像画像１０２Ｆのデータから顔検出部５７によって検出された顔領域１３１Ｆ及び手領域１３２に基づいて、図５（Ａ）のGUI画像１０１ＦのデータがGUI画像生成部５３によって生成されている。
なお、図５（Ｂ）のフレーム撮像画像１０２Ｆは、説明の便宜上図示したものであって、実際には、表示部２１に表示されない。
図５（Ａ）のGUI画像１０１Ｆは、表示対象画像１１１の上に、カーソルＧＣ及びボタンＧＢ−１乃至ＧＢ−４が配置されて構成されている。
図５（Ａ）と図５（Ｂ）とを比較するに、カーソルＧＣは、画面（GUI画像１０１Ｆ）における、手領域１３２の対応領域内に配置され、ボタンＧＢ−１乃至ボタンＧＢ−４の各々は、画面（GUI画像１０１Ｆ）における、顔領域１３１Ｆの対応領域１３１Ｇの上下左右の四方の各位置に配置されていることがわかる。即ち、顔領域１３１Ｇの対応領域１３１Ｇの中心位置ＣＦから距離ＩＦだけ上下左右の各々に離間した各位置に、ボタンＧＢ−１乃至ボタンＧＢ−４の各々が配置されていることがわかる。
なお、図５（Ａ）において、対応領域１３１Ｇを示す下線、対応領域１３１Ｇの中心位置ＣＦを示す黒点、当該中心位置ＣＦからボタンＧＢ−Ｋまでの距離ＩＦを示す矢印は、説明の便宜上図示したものであって、実際には、表示部２１に表示されない。
【００４４】
図４（Ｂ）と図５（Ｂ）とを比較すると容易にわかることであるが、図４（Ａ）のGUI画像１０１Ｎは、ユーザＵが相対的に表示部２１の画面の近傍に存在する場合に生成されたものである。一方、図４（Ｂ）のGUI画像１０１Ｆは、ユーザＵが相対的に表示部２１の画面から遠方に存在する場合に生成されたものである。このため、図４（Ｂ）の顔領域１２１Ｆは図５（Ｂ）の顔領域１３１Ｆよりも大きい。このため、図４（Ａ）の顔領域１２１Ｆの対応領域１２１Ｇの方が、図５（Ａ）の顔領域１３１Ｆの対応領域１３１Ｇよりも大きくなる。また、図５（Ｂ）では、ユーザＵの像は小さく右に寄っているため、図５（Ａ）の顔領域１２１Ｆの対応領域では反転して、左に寄ることになる。
ここで、ボタンＧＢ−１乃至ボタンＧＢ−４の各々の配置位置は、表示部２１の画面における、ユーザＵの顔領域の対応領域の上下左右の四方の各位置である。このため、表示部２１の画面からユーザＵまでの距離が相互に異なる場合にそれぞれ生成された図４（Ａ）のGUI画像１０１Ｎと図５（Ｂ）のGUI画像１０１Ｆとでは、ボタンＧＢ−１乃至ボタンＧＢ−４の各々の配置位置が異なっている。
具体的には、図４の対応領域１２１の中心位置ＣＮが、図５の対応領域１３１Ｇの中心位置ＣＦに対して右下方向にズレているので、そのズレの分だけ、ボタンＧＢ−１乃至ボタンＧＢ−４の集合体の配置位置が移動している。そして、図４の対応領域１２１Ｇは図５（Ｂ）の対応領域１３１Ｇよりも大きいため、その大きさの違い分だけ、図４の対応領域１２１Ｇの中心位置ＣＮからボタンＣＢ−Ｋまでの距離ＩＮの方が、図５の対応領域１３１Ｇの中心位置ＣＦからボタンＣＢ−Ｋまでの距離ＩＦよりも長い。従って、図４（Ａ）のボタンＧＢ−１乃至ボタンＧＢ−４の方が図５（Ａ）のボタンＧＢ−１乃至ボタンＧＢ−４よりも間隔が大きくなる。また、図５（Ｂ）では、ユーザＵの像は小さくなり、かつ、右に寄っているため、図５（Ａ）のボタンＧＢ−１乃至ボタンＧＢ−４は反転して、左に寄ることになる。
このように、ボタンＧＢ−１乃至ボタンＧＢ−４の各々の配置位置は、撮像部２２、又は、撮像部２２が設置された表示部２１の画面からユーザＵまでの距離に応じて可変する。
これにより、ユーザＵは、表示部２１の画面から、撮像部２２の画角のうち、ボタンＧＢ−１乃至ＧＢ−４に囲まれた範囲内に自身の顔が存在することを容易に認識することが可能になる。さらに、ユーザＵは、自身の顔の周囲近傍で手を動かすだけで、即ち、大きく手を動かさずに、ボタン押下操作を行うことが可能になる。
【００４５】
図３に戻り、このようにして、ステップＳ５の処理でカーソルＧＣが表示され、かつ、ステップＳ６及びＳ７の処理でボタンＧＢ−１乃至ＧＢ−４が表示されると、即ち、GUI画像が表示されると、操作認識部６０は、ハンドジェスチャ操作を認識する動作を開始する。
例えば、操作認識部６０は、ユーザＵが手を動かす毎に、即ち、フレーム撮像画像における手領域の位置が移動する毎に、カーソル移動動作があったと認識する。主制御部５１は、GUI画像生成部５３や表示制御部５４等を制御して、手の動きに連動させてカーソルＧＣを表示部２１の画面（GUI画像）内で移動させる。
【００４６】
ステップＳ８において、操作認識部６０は、ボタンＧＢ−Ｋ（Ｋは、上述したように１乃至４のうちの何れかの整数値）の上に手領域（カーソルＧＣ）が長時間留まっているか否かを判定する。
ここで、ボタンＧＢ−Ｋの上に手領域が留まるとは、表示部２１の画面において、手領域の対応領域がボタンＧＢ−Ｋの領域内に含まれることを意味する。
従って、操作認識部６０は、表示部２１の画面において、手領域の対応領域がボタンＧＢ−Ｋの領域内に含まれた時点から、計時を開始する。その後、一定時間計時する前に、表示部２１の画面において、手領域の対応領域がボタンＧＢ−Ｋの領域外に移動してしまった場合、即ち、ユーザＵがカーソルＧＣをボタンＧＢ−Ｋ以外の位置に移動させた場合、操作認識部６０は、ステップＳ８においてＮＯであると判定する。この場合には、操作認識部６０は、ボタン押下操作が行われたとは認識しない。その結果、後述するステップ９８の処理は実行されずに、処理はステップＳ１０に進む。ただし、ステップＳ１０以降の処理は後述する。
これに対して、一定時間計時しても、表示部２１の画面において、手領域の対応領域がボタンＧＢ−Ｋの領域内に留まっている場合、即ち、ユーザＵがカーソルＧＣをボタンＧＢ−Ｋの上でほぼ固定させていた場合、操作認識部６０は、ステップＳ８においてＹＥＳであると判定する。この場合には、操作認識部６０は、ボタン押下操作が行われたと認識して、ボタンＧＢ−Ｋに割り当てられたコマンド（命令）を主制御部５１に発行する。これにより、処理はステップ９８に進む。
【００４７】
ステップＳ９において、主制御部５１は、当該コマンドを実行する。
これにより、処理はステップＳ１０に進む。
【００４８】
ステップＳ１０において、主制御部５１は、処理の終了が指示されたか否かを判定する。
ここで、処理の終了の指示は、特に限定されないが、本実施形態では、情報処理装置１１の電源が遮断されたこと又はリムーバブルメディア７１が情報処理装置１１から取り外されたことが、処理の終了の指示として採用されているものとする。
この場合、情報処理装置１１の電源が投入され、かつ、リムーバブルメディア７１が情報処理装置１１に装着されている間は、ステップＳ１０においてNOであると判定されて、処理はステップＳ３に戻され、それ以降の処理が繰り返される。
なお、この場合には、本実施形態では、ステップＳ３の処理でＹＥＳであると判定されるか、又はステップＳ４の処理でNOであると判定されると、カーソルＧＣ及びボタンＧＢ−１乃至ＧＢ−４の表示は消去されるものとする。
一方、この間に、ユーザＵの顔と手が撮像部２２の画角の範囲内に存在する場合には、ステップＳ３の処理でNOであると判定され、ステップＳ４の処理でYESであると判定されるとため、ステップＳ３乃至Ｓ１０のループ処理が繰り返される。即ち、ステップＳ３乃至Ｓ１０のループ処理が繰り返される度に、ステップＳ６の処理で、ボタンＧＢ−１乃至ボタンＧＢ−４の各々の配置位置が決定し直される。
【００４９】
従って、この間に、ユーザＵが移動した場合には、即ち、撮像部２２又は当該撮像部２２が設置された表示部２１の画面からユーザＵまでの距離が変化する場合には、ステップＳ３乃至Ｓ１０のループ処理が繰り返され、その都度、ステップＳ６の処理で、ボタンＧＢ−１乃至ボタンＧＢ−４の各々の配置位置が更新され、ステップＳ７の処理で更新後の配置位置にボタンＧＢ−１乃至ボタンＧＢ−４が配置される。
このようにして、ユーザＵの移動に応じて、即ち、撮像部２２又は当該撮像部２２が設置された表示部２１の画面からユーザＵまでの距離の変化に応じて、ボタンＧＢ−１乃至ボタンＧＢ−４の表示部２１の画面の表示位置が刻々と変化していく。
【００５０】
例えば、ユーザＵが表示部２１の画面に近づく程、ユーザＵの顔領域は大きくなっていくので、表示部２１の画面においては、対応領域も大きくなっていき、その結果、ボタンＧＢ−１乃至ボタンＧＢ−４の間隔が徐々に広がるように表示される。
これに対して例えば、ユーザＵが表示部２１の画面から遠ざかる程、ユーザＵの顔領域は小さくなっていくので、表示部２１の画面においては、対応領域も小さくなっていき、その結果、ボタンＧＢ−１乃至ボタンＧＢ−４の間隔が徐々に狭まるように表示される。
その後、情報処理装置１１の電源が遮断されるか、又は、リムーバブルメディア７１が情報処理装置１１から取り外されると、ステップＳ１０においてＹＥＳであると判定されて、ハンドジェスチャ操作対応処理は終了となる。
【００５１】
以上説明したように、本実施形態に係る情報処理装置１１は、画面を表示する表示部２１と、ユーザＵを撮像することによって、撮像画像のデータを出力する撮像部２２と、を備えている。このような情報処理装置１１において、顔検出部５７は、撮像部２２から出力された撮像画像のデータに基づいて、ユーザＵの顔領域を撮像画像から検出する。GUI画像生成部５３は、表示部２１の画面における、顔領域の対応領域を求め、当該対応領域の中心位置から、当該対応領域の大きさに連動して可変する距離だけ離間させた位置を、GUIとしてのボタンの配置位置として決定し、当該配置位置にボタンを配置した表示対象画像のデータを、GUI画像のデータとして生成する。表示制御部５４は、GUI画像のデータに基づいて、当該GUI画像を画面として表示部２１に表示させる。
これにより、ユーザＵは、表示部２１の画面から、撮像部２２の画角のうち、ボタンＧＢ−１乃至ＧＢ−４に囲まれた範囲内に自身の顔が存在することを容易に認識することが可能になる。さらに、ユーザＵは、自身の顔の周囲近傍で手を動かすだけで、即ち、大きく手を動かさずに、ボタン押下操作を行うことが可能になる。
即ち、ユーザＵにとってより容易なハンドジェスチャ操作が実現可能になる。
【００５２】
なお、本発明は上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００５３】
例えば、上述の実施形態では、４つのボタンＧＢ−１乃至ＧＢ−４が、表示部２１の画面における、顔領域の対応領域の上下左右の４方向に配置されている。
しかしながら、ボタンの個数や配置位置は、特にこれに限定されず、任意でよい。例えば、ユーザＵの顔の位置が想定できる範囲内であれば、表示部２１の画面において、顔領域の対応領域に対して任意の２方向に２つのボタンを配置することもできるし、任意の８方向にボタンを配置することもできる。
ここで、ボタンの個数を可変するということは、ボタンに割り当てられたコマンドの個数を可変することを意味する。よって、例えば、シーンに応じてボタンの個数を変更することで、シーンに応じたコマンド数の変更を実現でき、その結果、ユーザにとってより使いやすいGUIを提供することが可能になる。
【００５４】
また、上述の実施形態では、手領域の検出手法としては、肌色と動きとを用いた検出手法が採用されている。
しかしながら、手領域の検出手法は、特にこれに限定されず、任意の手法を採用することができる。例えば、顔領域の検出手法と同様の手法、即ち、予め用意した多数の手のパターンからAdaboostの手法で学習した結果得られるアピアランスベース識別器を用いて、手領域を検出する手法を採用することができる。当該手法を採用した場合には、より精度の高い検出が可能となる。
【００５５】
また例えば、上述した実施形態では、本発明が適用される情報処理装置は、カメラ付きデジタルフォトフレームとして構成される例として説明した。
しかしながら、本発明は、特にこれに限定されず、画像表示機能及び撮像機能を有する電子機器一般に適用することができ、例えば、本発明は、パーソナルコンピュータ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
【００５６】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【００５７】
図６は、上述した一連の処理をソフトウェアにより実行させる場合の、情報処理装置１１のハードウェア構成を示すブロック図である。
【００５８】
情報処理装置１１は、CPU（Central  Processing  Unit）３０１と、ROM（Read  Only  Memory）３０２と、RAM（Random  Access  Memory）３０３と、バス３０４と、入出力インターフェース３０５と、撮像部２２と、操作部３０６と、表示部２１と、記憶部３０７と、通信部３０８と、ドライブ３０９と、を備えている。
【００５９】
CPU３０１は、ROM３０２に記録されているプログラムに従って各種の処理を実行する。又は、CPU３０１は、記憶部３０７からRAM３０３にロードされたプログラムに従って各種の処理を実行する。
RAM３０３にはまた、CPU３０１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００６０】
例えば、上述した図２の機能的構成のうち、主制御部５１、表示対象画像生成部５２、GUI画像生成部５３、表示制御部５４、撮像画像取得部５５、顔検出部５７、及び操作認識部６０は、CPU３０１というハードウェアと、ROM３０２等に記憶されたプログラム（ソフトウェア）との組み合わせとして構成することができる。又、上述した図６の機能的構成を実現する場合は、該撮像部２２が設置された表示部２１の画面からユーザＵまでの距離を測定する測距センサ２５１を新たに設け、入出力インターフェース３０５を介して、CPU３０１というハードウェアと、ROM３０２等に記憶されたプログラム（ソフトウェア）との組み合わせによって制御されるようにすればよい。
また例えば、撮像画像記憶部５６及び検出結果記憶部５９は、RAM３０３若しくは記憶部３０７の一領域として構成することができる。例えば顔検出情報記憶部５８は、ROM３０２の一領域として構成することができる。
【００６１】
CPU３０１、ROM３０２、及びRAM３０３は、バス３０４を介して相互に接続されている。このバス３０４にはまた、入出力インターフェース３０５も接続されている。入出力インターフェース３０５には、上述した表示部２１及び撮像部２２に加えてさらに、操作部３０６、記憶部３０７、通信部３０８、及びドライブ３０９が接続されている。
【００６２】
操作部３０６は、キーボード、マウス、各種キー等により構成される。記憶部３０７は、ハードディスク等により構成される。通信部３０８は、インターネット等を介して他の装置との間で行う通信を制御する。
【００６３】
ドライブ３０９には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア７１が適宜装着される。ドライブ３０９によって読み出されたコンピュータプログラムは、必要に応じて記憶部３０７等にインストールされる。
【００６４】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００６５】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア７１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact  Disk-Read  Only  Memory)，DVD(Digital  Versatile  Disk)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM３０２や記憶部３０７に含まれるハードディスク等で構成される。
【００６６】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【符号の説明】
【００６７】
１１・・・情報処理装置、２１・・・表示部、２２・・・撮像部、５１・・・主制御部、５２・・・表示対象画像生成部、５３・・・GUI画像生成部、５４・・・表示制御部、５５・・・撮像画像取得部、５６・・・撮像画像記憶部、５７・・・顔検出部、５８・・・顔検出情報記憶部、５９・・・検出結果記憶部、６０・・・操作認識部、７１・・・リムーバブルメディア、３０１・・・CPU、３０２・・・ROM、３０３・・・RAM、３０７・・・記憶部
【図１】
2011221787.tif 000003
【図２】
2011221787.tif 000004
【図３】
2011221787.tif 000005
【図４】
2011221787.tif 000006
【図５】
2011221787.tif 000007
【図６】
2011221787.tif 000008