(57)【特許請求の範囲】
【請求項１】
ユーザの動作に対応する処理を実行可能な複数の情報処理装置のうちの１つとして用いられる情報処理装置であって、
ユーザの動作を認識する認識手段と、
前記認識手段が認識したユーザの第１の動作に基づいて、前記複数の情報処理装置のうち、前記ユーザの動作に対応する処理を実行させる候補となる情報処理装置の少なくとも一部を示す画像を表示部に表示させる表示制御手段と、
前記認識手段が認識したユーザの第２の動作に基づいて、前記表示部に表示された画像が示す前記候補となる情報処理装置の中から、前記ユーザの動作に対応する処理を実行させる情報処理装置を特定する特定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記候補となる情報処理装置の少なくとも一部を、優先順位が判るように表示すること特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記優先順位は、前記候補となる情報処理装置のそれぞれから取得した優先度の指標に基づいて決定されることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記優先度の指標には、前記候補となる情報処理装置が前記ユーザの第１の動作に基づいて指定された可能性を示すスコアを含むことを特徴とする
請求項３に記載の情報処理装置。
【請求項５】
前記ユーザの第１の動作とは、ユーザが情報処理装置を凝視する動作であり、
前記特定手段は、前記認識手段が、撮像部に撮影されたユーザの画像に基づいて、ユーザに凝視されたことを認識した場合に、前記ユーザの視線方向と自装置の位置関係に応じたスコアを設定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ユーザの第１の動作とは、ユーザが情報処理装置を指差す動作であり、
前記特定手段は、前記認識手段が、撮像部に撮影されたユーザの画像に基づいて、ユーザに指を差されたことを認識した場合に、前記ユーザの指が差す方向と自装置の位置関係に応じたスコアを設定することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
ユーザと情報処理装置の間の距離を測定する測定手段を更に備え、
前記特定手段は、前記測定手段によって測定されたユーザとの間の距離と自装置の所定の視聴距離との差が小さいほど、高いスコアを設定することを特徴とする請求項４に記載の情報処理装置。
【請求項８】
コンピュータに読み込み込ませ実行させることで、前記コンピュータを請求項１乃至７のいずれか１項に記載の情報処理装置として機能させることを特徴とするプログラム。
【請求項９】
ユーザの動作に対応する処理を実行可能な複数の情報処理装置のうちの１つとして用いられる情報処理装置の制御方法であって、
認識手段により、ユーザの第１の動作を認識する第１の認識工程と、
表示制御手段により、前記第１の認識工程で認識したユーザの第１の動作に基づいて、前記複数の情報処理装置のうち、前記ユーザの動作に対応する処理を実行させる候補となる情報処理装置の少なくとも一部を示す画像を表示部に表示させる表示制御工程と、
前記認識手段によりユーザの第２動作を認識する第２の認識工程と、
特定手段により、前記第２の認識工程で認識したユーザの第２の動作に基づいて、前記表示部に表示された画像が示す前記候補となる情報処理装置の中から、前記ユーザの動作に対応する処理を実行させる情報処理装置を特定する特定工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
ユーザの動作に対応する処理を実行可能な複数の情報処理装置のうちの１つとして用いられる情報処理装置であって、
前記複数の情報処理装置に接続しているサーバ装置と情報を交換する通信手段と、
前記ユーザの動作を認識する認識手段と、
前記サーバ装置に対して、自装置を表す識別情報を送信する送信手段と、
前記サーバ装置から、前記複数の情報処理装置のうち、第１の動作を認識した情報処理装置を表す識別情報を取得する取得手段と、
前記取得した識別情報に基づき、前記第１の動作を認識した情報処理装置の少なくとも一部を示す画像を表示部に表示させる表示制御手段と
前記認識手段が認識したユーザの第２の動作に基づいて、前記表示部に表示された画像が示す情報処理装置の中から、前記ユーザの動作に対応する処理を実行させる情報処理装置を特定する特定手段と
を備えることを特徴とする情報処理装置。
【請求項１１】
ユーザの動作を認識し、該動作に対応する処理を実行する複数の情報処理装置を含む情報処理システムであって、
前記複数の情報処理装置のそれぞれは、
他の情報処理装置との間で情報を交換する通信手段と、
ユーザの動作を認識する認識手段と、
前記認識手段がユーザの第１の動作を認識したことに応じて、前記通信手段を介して、接続された少なくとも１つの前記情報処理装置に対して、自装置を表す識別情報を送信する送信手段と、
前記複数の情報処理装置のうち、前記第１の動作を認識した他の情報処理装置が送信した識別情報を、前記通信手段を介して取得する取得手段と、
前記取得手段が、前記第１の動作を認識した他の情報処理装置が送信した識別情報を取得したことに応じて、前記接続された複数の情報処理装置のうち、前記第１の動作を認識した情報処理装置を示す画像を表示部に表示させる表示制御手段と
前記認識手段がユーザの第２の動作を認識したことに応じて、前記表示部に表示された画像が示す情報処理装置の中から、前記第２の動作によってユーザに選択された情報処理装置を特定する特定手段と
備えることを特徴とする情報処理システム。
【請求項１２】
ユーザの動作を認識し、該動作に対応する処理を実行する複数の情報処理装置及びサーバ装置を含む情報処理システムであって、
前記複数の情報処理装置のそれぞれは、
前記サーバ装置と情報を交換する第１の通信手段と、
前記ユーザの動作を認識する認識手段と、
前記認識手段がユーザの第１の動作を認識したことに応じて、前記サーバ装置に対して、自装置を表す識別情報を送信する送信手段と、
前記サーバ装置から、前記複数の情報処理装置のうち、前記第１の動作を認識した情報処理装置を表す識別情報を取得する第１の取得手段と、
前記第１の取得手段が取得した識別情報に基づき、前記第１の動作を認識した情報処理装置を示す画像を表示部に表示させる表示制御手段と
前記認識手段がユーザの第２の動作を認識したことに応じて、前記表示部に表示された画像が示す情報処理装置の中から、前記第２の動作によってユーザに選択された情報処理装置を特定する特定手段とを備え、
前記サーバ装置は、
前記複数の情報処理装置と情報を交換する第２の通信手段と、
前記複数の情報処理装置のうち、前記ユーザの第１の動作を認識した情報処理装置が前記送信手段によって送信した各装置を表す識別情報を取得する第２の取得手段と、
前記第２の取得手段が取得した情報に基づき、前記複数の情報処理装置のうち、前記第１の動作を認識した情報処理装置を表す識別情報を、前記第２の通信手段を介して前記第１の動作を認識した情報処理装置に配信する配信手段とを
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザのジェスチャによる指示に応じて動作させる情報処理装置に関する。
【背景技術】
【０００２】
ユーザの動き（ジェスチャ）による操作を認識することによって、対応する処理を実行可能な情報処理装置が知られている。このような操作方法を、ジェスチャ操作という。ジェスチャ操作が可能な情報処理装置が複数存在する環境では、ユーザのジェスチャがいずれの機器に対するジェスチャ操作であるかを正しく判断できなければ、誤動作の原因となるという問題がある。
そこで特許文献１では、ユーザを撮影した映像を解析することでユーザの動きと視線の方向を判断し、ユーザが入力部を見ている情報処理装置と、指で差した情報処理装置が一致した場合に、その機器をジェスチャ操作の対象として特定している。また、特許文献１では、視線方向及び指差し方向を判定するための映像情報が類似する場合、特定した操作対象が正しいか否かを確認するための選択画面を提示し、ユーザにＹｅｓまたはでＮｏを回答させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３７４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、制御対象とする情報処理装置が誤って判断された場合に、ユーザが選択画面に対してＮｏと選択しても、本来はいずれの機器を操作したいかを示すことができなかったため、次回以降再び同様の誤りが生じ得るという課題があった。
本発明は、上記の課題を鑑みてなされたものであり、ジェスチャによる操作が可能な情報処理装置が複数存在する環境において、ユーザが意図する情報処理装置を操作対象として特定するための操作性を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上記課題を鑑みてなされたものであり、ユーザの動作に対応する処理を実行可能な複数の情報処理装置のうちの１つとして用いられる情報処理装置であって、ユーザの動作を認識する認識手段と、前記認識手段が認識したユーザの第１の動作に基づいて、前記複数の情報処理装置のうち、前記ユーザの動作に対応する処理を実行させる候補となる情報処理装置の少なくとも一部を示す画像を表示部に表示させる表示制御手段と、前記認識手段が認識したユーザの第２の動作に基づいて、前記表示部に表示された画像が示す前記候補となる情報処理装置の中から、前記ユーザの動作に対応する処理を実行させる情報処理装置を特定する特定手段とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ジェスチャによる操作が可能な情報処理装置が複数存在する環境において、ユーザが意図する情報処理装置を操作対象として特定するための操作性が向上する。
【図面の簡単な説明】
【０００７】
【図１】システムの構成と情報処理装置のハードウェア構成を示す概要図
【図２】情報処理装置の機能ブロック図とリストの一例を示す概要図
【図３】情報処理装置のメイン処理の一例を示すフローチャート
【図４】情報処理装置の情報取得処理の一例を示すフローチャート
【図５】情報処理装置の制御対象選択処理の一例を示すフローチャート
【図６】情報処理装置の情報処理装置選択用画像の一例を示す図
【図７】情報処理装置のメイン処理の一例を示すフローチャート
【図８】情報処理装置の操作対象選択処理の一例を示すフローチャート
【図９】情報処理装置のメイン処理の一例を示すフローチャート
【図１０】情報処理装置の機能ブロック図とリストの一例を示す概要図
【図１１】情報処理装置のメイン処理の一例を示すフローチャート
【図１２】システムの概要図と情報取得処理の一例を示すフローチャート
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。
【０００９】
［実施形態１］
図１（ａ）は、本実施形態における情報処理装置による情報処理システムの構成を示す概要図である。本実施形態では、ネットワーク上に３つの情報処理装置１０〜１２が接続されている。各情報処理装置には、ディスプレイ１３〜１５、及びカメラ１６〜１８が接続あるいは搭載されている。情報処理装置１０〜１２は、それぞれが単体に処理を行うものとする。なお、ここでは３つの情報処理装置が接続された環境を基に説明するが、本発明は複数の情報処理装置が接続される環境であれば、情報処理装置の数に関わらず実施可能である。
【００１０】
図１（ｂ）は、本実施形態における情報処理装置１０のハードウェア構成図である。なお、以下では情報処理装置１０を例に説明するが、情報処理装置１１及び情報処理装置１２も同じハードウェア構成であるものとする。
【００１１】
ディスプレイ１３は、例えば液晶ディスプレイ、ＣＲＴディスプレイ等で構成され、情報処理装置１０から出力された画面情報の信号を表示し、情報処理装置１０の表示部として機能する。
【００１２】
情報処理装置１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ディスプレイインターフェース１０４、入力インターフェース１０５、通信インターフェース１０６、ＨＤＤ１０７、バス１０８から構成される。
【００１３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０６に格納された制御プログラムを実行し、各デバイスを制御する。ＲＯＭ１０２は、各種の制御プログラムやデータを保持する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３は、ＣＰＵ１０１のワーク領域、エラー処理時の情報の退避領域、制御プログラムのロード領域などを有する。ディスプレイインターフェース１０４は、ディスプレイデバイスドライバからの画面情報をディスプレイ１３が表示処理可能な信号に変換し、出力する。入力インターフェース１０５は、カメラ１６でユーザの動画像を撮影し、ユーザの視線の向き、ジェスチャの入力等を解析するためのインターフェースとして機能する。通信インターフェース１０６は、インターネットやホームネットワーク等のネットワークを介して接続された他の情報処理装置と通信し、情報を交換するためのインターフェースである。本実施形態では、情報処理装置１０〜１２が、無線通信によって接続されることを可能とする通信インターフェースとする。ただし、ネットワークは、情報処理装置が相互に情報を交換可能であれば無線、有線に関わらず利用できる。ＨＤＤ１０７は、ＣＰＵ１０１に実行される各種の制御プログラムや、情報処理装置１０で再生される画像や文章、音声その他のファイル等を記憶している。バス１０８は、アドレスバス、データバス及びコントロールバスを含む。
【００１４】
尚、以下特に断らない限り、既に示された図を用いて説明されたものには同一の符号を付し、その説明を省略する。
【００１５】
図２（ａ）は情報処理装置１０の機能構成の一例を示すブロック図である。
本実施形態の情報処理装置１０は、記憶部２０、取得部２１、撮像部２２、認識部２３、設定部２４、特定部２５、表示制御部２６、調整部２７から構成される。
【００１６】
記憶部２０は、例えば、ＨＤＤ１０７の記憶領域を使用して、後述する認識フラグ、認識スコア、補正値等を記憶する。ここで、認識フラグとは、情報処理装置１０がユーザのジェスチャによる操作を認識するかどうかを判定する為のフラグである。認識フラグは、初期値が「０」であり、情報処理装置がユーザのジェスチャを認識すると「１」となる。さらに、ジェスチャ操作が終了した場合、または、他の情報処理装置がジェスチャ操作の対象として選択された場合には「０」となる。情報処理装置１０は、認識フラグが「１」である場合にのみ、ユーザのジェスチャ操作を認識し、そのジェスチャによって指示された処理を実行する。また、認識スコアとは、後述する設定部２４によりユーザの顔画像を解析した結果、情報処理装置１０が操作対象の候補と判断された場合、操作対象の候補としての優先度を示す指標である。認識スコアが高いほど、ユーザに操作対象として指定された可能性が高いことを示すため、優先順位が高くなる。本実施形態において、認識スコアの最大値は「１００」、最小値は「０」である。本実施形態では、撮像部２２が撮像したユーザの動画像を解析した結果、ユーザが情報処理装置１０を凝視する動作が認識された場合に、ユーザがジェスチャ操作を行う対象として当該情報処理装置を選択していると判断する。その際、ユーザが正面からカメラ１６を凝視している場合には、認識スコアを最大値「１００」と設定し、カメラを見るユーザの視線方向の角度が大きくなるほどに認識スコアを低く設定する。補正値とは、情報処理装置毎に認識スコアを補正する際に用いる。例えば、ユーザを撮影するカメラの性能や位置の違い、計算処理能力の違いなどによって視線方向の認識精度が異なるような場合にも、認識スコアを一律に判断の基準として用いられるように補正を加える。補正値の初期値は「０」であり、後述する調整部２７により、補正値は調整される。補正値が高い場合は、認識スコアは高く補正され、補正値が低い場合は、認識スコアは低く補正される。
【００１７】
取得部２１は、ＣＰＵ１０１、ＲＯＭ１０２，ＲＡＭ１０３、通信インターフェース１０６によって構成される。本実施形態の情報処理装置１０では、取得部２１は、認識フラグが「１」である場合に、ネットワークで接続されている他の情報処理装置のうち認識フラグが「１」である情報処理装置から、識別情報及び認識スコアを示す情報を取得し、ＲＡＭ１０３に記憶する。また、取得部２１は、他の情報処理装置１１〜１２から認識フラグが「１」であるかの問い合わせ信号を受けた場合には、情報処理装置１０の識別情報及び後述する設定部２４によって設定された認識スコアを示す情報を、ネットワークを通じて返す。
【００１８】
撮像部２２は、カメラ１６及び入力インターフェース１０５によって構成され、ユーザの顔画像を含む動画像を撮影し、撮影した動画像のフレームをＲＡＭ１０３に記憶する。
【００１９】
認識部２３は、ＣＰＵ１０１、ＲＯＭ１０２，ＲＡＭ１０３によって構成され、撮像部２２によって撮影され、ＲＡＭ１０３に記憶されたフレームの画像を解析する。そして、ユーザの顔を撮影している画像の解析した結果からユーザの視線の方向を判断し、ユーザがカメラ１６を凝視しているかどうかを判定する。ここで凝視とは、一定時間同じものを見続ける動作のことをいう。本実施形態では、ユーザの顔の向きから視線方向を推定するため、ユーザを撮像した動画像を解析し、一定以上の数連続したフレームに渡って、ユーザの顔の向きが変わらない場合に、ユーザが視野内にある対象物を凝視していると判断する。ユーザの顔の画像を解析した結果、ユーザの顔が、カメラ１６が視野に含まれる角度を向いた状態で一定以上の時間が経過したと判断される場合には、認識フラグを「１」にして、ＲＡＭ１０３に保持するとともに記憶部２０に記憶する。また、認識部２３は、ＲＡＭ１０３上に保持された認識フラグが「１」である場合には、更にユーザの動きを撮影した動画像を解析し、ユーザが情報処理装置１０を操作するために行うジェスチャを認識する。
【００２０】
設定部２４は、ＣＰＵ１０１、ＲＯＭ１０２，ＲＡＭ１０３によって構成され、ユーザユーザがカメラ１６を凝視していると判定された場合に、認識スコアを決定する。本実施形態では、ユーザの顔画像と予め用意された複数の顔テンプレートとのマッチング度を求めることで、ユーザの顔の向きを求め、求められた顔の向きから推定される視線方向に対して認識スコアを決定する。詳細には、まず情報処理装置１０のカメラ１６をユーザが真正面に見る場合の顔の角度を９０度と定義する。認識スコアは、ユーザの顔以外の身体的部分が向く方向や、表示部であるディスプレイ１３の視野方向には依存しない。本実施形態では、ユーザがディスプレイ１３やカメラ１６の前に立っているかいないかに関わらず、ユーザの顔の真正面方向にカメラ１６が存在する場合に、「ユーザはカメラ１６を見ている」という推定をする。そして、ユーザが真正面にカメラ１６を見る状態からユーザ自身の右側（カメラ１６から見て左側）を向く顔の角度を１０度間隔で１００度〜１８０度、ユーザ自身の左側（カメラ１６から見て右側）を向く顔の角度を１０度間隔で８０度〜０度と定義する。情報処理装置１０は、これら１９パターン方向を向いた場合のユーザの顔を示す顔テンプレートを、予め記憶部２０に保持している。そして、カメラが撮影した顔画像と顔テンプレートとのマッチング度を求め、最もマッチング度の高かったテンプレートを基に、顔の向きから推定される視線方向に対して認識スコアを算出する。例えば、マッチング度が高かったテンプレートが、ユーザの顔の向きが９０度のテンプレートである場合、ユーザの視線方向も真正面にカメラ１６を見る向きであると推定して、認識スコアを１００とする。同様に、マッチング度の高かったテンプレートが８０度あるは１００度の場合には、ユーザの顔の向きは９０度±１０度であることから、推定される視線方向の認識スコアを１００−１０＝９０とする。
【００２１】
表示制御部２６は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ディスプレイインターフェース１０４によって構成され、ディスプレイ１３に表示させる表示画像を生成して、ディスプレイ１３に出力する。本実施形態では、主に取得部２１が取得した他の情報処理装置の識別情報（装置名称）と認識スコア、及び設定部２４が設定した情報処理装置１０の認識スコアに基づいて、ユーザがジェスチャ操作の対象とする情報処理装置の候補名を優先順が判るように表示する。本実施形態では、認識スコアの高い順に表示させる。
【００２２】
特定部２５は、ＲＡＭ１０３で保持されている情報処理装置１０の認識フラグが「１」である場合に認識部２３がユーザのジェスチャ操作を認識した結果を取得する。そして、ユーザの認識されたジェスチャ操作による情報処理装置１０への指示を特定し、ユーザが操作した結果を表示制御部２６及び調整部２７に伝える。本実施形態では主に、ディスプレイ１３に表示されたリストが示す複数の情報処理装置の中から、ユーザが１つの情報処理装置を選択するために行うジェスチャ操作を判定し、ユーザが選択した１つの情報処理装置を特定する。
【００２３】
調整部２７は、特定部２５が特定した結果を用いて、情報処理装置１０が選択された場合は記憶部２０に記憶される情報処理装置１０の補正値を大きくし、他の情報処理装置が選択された場合は、補正値を小さくする。
【００２４】
図３に、本実施形態における情報処理装置１０による処理の流れを示すメイン処理のフローチャートを示す。このフローチャートに対応するプログラムは例えばＨＤＤ１０７に記憶されており、このプログラムの起動指示に応じてＲＡＭ１０３にロードされ、ＣＰＵ１０１によって実行される。引き続き情報処理装置１０を例として処理の流れを説明するが、情報処理装置１１及び情報処理装置１２においても、同様の処理が実行されているものとする。また、以下では、図１（ａ）の情報処理装置１０がフォトフレームＡ、情報処理装置１１がテレビ、情報処理装置１２がフォトフレームＢという識別情報をもった機器であるとして説明していく。
【００２５】
まず、キャリブレーション処理を行う（ステップＳ３０１）。キャリブレーション処理では、予め記憶部２０に記憶されている認識スコアの補正値を読み出して、ＲＡＭ１０３上に保持する。補正値は、情報処理装置毎のカメラの性能や位置の違い、計算処理能力の違いなどによって、ユーザの視線方向の認識精度がばらつく場合にも、認識スコアが一定の基準として用いられるように利用する。
【００２６】
続いて、撮像部２２がユーザの動画像を撮影し、その撮影した動画像のフレーム毎を認識部２３が解析し、ユーザによって情報処理装置１０をジェスチャ操作の対象として指定するために行う第１の動作がなされたかを判定する。本実施形態では、第１の動作として、認識部２３が、ユーザによってカメラ１６が凝視されているかを判断する（ステップＳ３０２）。その際、認識部２３は、撮像部２２がユーザを撮影した動画像のフレームうち、ユーザの顔部分の画像を解析し、ユーザの顔の向きが、カメラ１６が存在する方向に一致した状態で一定時間以上続く場合に、ユーザの凝視という第１の動作を認識する。ユーザによって凝視されていることを認識しなかった場合（ステップＳ３０２でＮＯ）、ステップＳ３０２に戻って処理を繰り返す。ユーザによって凝視されていることを認識した場合（ステップＳ３０２でＹＥＳ）、認識部２３は認識フラグを「１」に更新してＲＡＭ１０３上に保持する（ステップＳ３０３）。
【００２７】
ここで、本実施形態では、図１（ａ）のように、３つの情報処理装置１０〜１２のうち、情報処理装置１１の前にユーザ１９が立ち、情報処理装置１１（テレビ）に対象としてジェスチャ操作を行おうとしているとする。また、本実施形態では、ユーザが５秒以上対象物を見続けた場合に、凝視していると判断することとする。まず、ユーザは情報処理装置１１に搭載されたカメラ１７を５秒以上凝視する。しかし、３つの情報処理装置が並べて設置されているため、情報処理装置１０及び情報処理装置１２もユーザの視野範囲内に存在する。従って、情報処理装置１０及び情報処理装置１２の認識部２３も、ユーザによって凝視されていることを認識し、それぞれが独立してメイン処理を継続する。
【００２８】
情報処理装置１０においては、続いて、設定部２４は、ユーザの顔部分の画像（顔画像）を基に視線方向を判断し、その結果から認識スコアを算出する。ステップＳ３０１のキャリブレーションによって補正値が設定されていた場合には、補正値を用いて認識スコアを補正し、ＲＡＭ１０３上に保持する（ステップＳ３０４）。本実施形態では、上述したように、情報処理装置１０のカメラ１６を真正面から見るユーザの顔の角度を顔の角度を９０度と定義して、視線方向に対して設定する認識スコアの基準としている。そして、１９パターンの方向を向いた場合のユーザの顔を示す顔テンプレートと、カメラが撮影した顔画像とのマッチング度を求め、最もマッチング度の高かったテンプレートを基に認識スコアを算出する。
【００２９】
本実施形態で説明する例では、ユーザ１９は、情報処理装置１１を真正面に見ている。そして、情報処理装置１０の設定部２４が、カメラ１６が撮影したユーザの顔画像と、顔テンプレートとのマッチングを行った結果、ユーザの顔の向きが１１０度のテンプレートが最もマッチング度が高かったとする。この場合、情報処理装置１０におけるユーザの視線方向に対する評価値である認識スコアは１００−２０＝８０となる。同様に、情報処理装置１２でのマッチングの結果、ユーザの顔の向きは６０度のテンプレートとのマッチング度が最も高かったとすると、情報処理装置１２におけるユーザの視線方向に対する評価値である認識スコアは１００−３０＝７０となる。
【００３０】
情報処理装置１０におけるメイン処理は、ステップＳ３０５の情報取得処理に進む。ここで、図４のフローチャートを参照して本実施形態の情報取得処理（ステップＳ３０５）を説明する。情報取得処理（ステップＳ３０５）が開始すると、まず取得部２１が、ネットワークで接続された複数の情報処理装置の中で、保持している認識フラグが「１」の装置があるかを問い合わせるための信号を、ネットワーク上の他の情報処理装置に送信する。ここで送信する問い合わせ信号には、情報処理装置１０の識別情報及び認識スコアが含まれる。なお、ここでの識別情報は、装置の名称に限らず、ネットワーク上でのアドレス情報を利用してもよい。問い合わせ信号を送信した取得部２１は、一定時間の間、ネットワークに接続された他の情報処理装置から信号を受け付ける状態になる。続いて、取得部２１が問い合わせに対する応答を受信したかを判定する（ステップＳ４０２）。本実施形態では、取得部２１が、ネットワークで接続された他の情報処理装置から送信された問い合わせ信号を受信したかによって判定を行う。なお、認識フラグが「０」であった場合には、情報取得処理（ステップＳ３０５）は実行されないので、問い合わせ信号が送信されることはすなわち認識フラグが「１」であることを示めしている。認識フラグが「１」である情報処理装置があった場合には（ステップＳ４０２でＹＥＳ）、問い合わせ信号に含まれる識別情報に基づいて、認識フラグが「１」である情報処理装置の識別情報と認識スコアを対応させたリストを生成する（ステップＳ４０３）。図２（ｂ）は、実施形態１の情報処理装置１０で生成されるリストの一例であり、情報処理装置１０が、情報処理装置１１（テレビ）及び情報処理装置１２（フォトフレームＢ）から取得した情報が格納されている。取得部２１が生成したリストをＲＡＭ１０３に保持して、情報取得処理（ステップＳ３０５）は終了し、メイン処理にリターンする。一方、認識フラグが「１」である情報処理装置がなかった場合には（ステップＳ４０２でＮｏの場合）、空のリストを生成してＲＡＭ１０３に保持し（ステップＳ４０４）、メイン処理にリターンする。
【００３１】
ステップＳ３０５からメイン処理に戻ると、表示制御部２６が、ＲＡＭ１０３上に保持されているリストが空かどうかを判断する（ステップＳ３０６）。リストが空であれば（ステップＳ３０６でＹｅｓの場合）、ステップＳ３１２に進み、ユーザによるジェスチャ操作を認識可能となる（ステップＳ３１１）。リストが空ではない場合には（ステップＳ３０６でＮｏの場合）、表示制御部２６は、リストと情報処理装置１０の情報を基に、認識スコアが大きい順に、認識フラグが「１」である全ての情報処理装置の識別情報を上位の候補として表示する画像を生成する。そして、ディスプレイ１３に操作対象選択用画像を表示させる（ステップＳ３０７）。なお、本実施形態では、認識フラグが「１」である全ての情報処理装置の識別情報を表示するが、認識スコアが上位である一部の情報処理装置、例えば３つずつ、５つずつを一覧にして表示することもできる。図６は、本実施形態における３つの情報装置それぞれに、操作対象選択画像が表示された様子を示している。図６では、情報処理装置１１がテレビ６６、情報処理装置１０がフォトフレームＡ６７、情報処理装置１２がフォトフレームＢ６８であり、全ての情報処理装置で同一の画像を表示している。また、カメラ６９〜７１はそれぞれに搭載されたカメラであり、ユーザはこれらを凝視する第１の動作によって、ジェスチャ操作の対象として指定しようとする意思を示す。状態表示領域６１では、ユーザのジェスチャを認識可能な複数の機器が認識されている状態であることを示している。また、アイコン表示領域６２〜６４は、それぞれテレビ、フォトフレームＡ、フォトフレームＢのアイコンが表示される領域を表している。太枠６５は、操作対象として選択する候補を示すフォーカスを表すためものであり、図６では、最も認識スコアが高いテレビ６６のアイコン表示領域６２にフォーカスが当たった状態である。なお、本実施形態の操作対象選択用の画像では、識別情報として情報処理装置の名称を表示したがこれに限らない。例えば、名称ではなく、筐体の画像をそれぞれ識別情報に関連付けた上で表示してもよい。
【００３２】
続いて、メイン処理では、操作対象選択処理が開始される（ステップＳ３０８）。ここで、図５のフローチャートを参照して、ユーザがジェスチャ操作によって操作対象を選択する処理を説明する。まず、操作対象選択処理が開始されると、ユーザのジェスチャによる選択操作を認識部２３が認識したかを判定する（ステップＳ５０１）。詳細には、撮像部２２が撮影しているユーザの動画像を認識部２３が解析し、ユーザがジェスチャ操作によって、操作対象選択用画像において表示された操作対象の候補の中から、１つの情報処理装置を選択するために行う第２の動作を認識したか判定する。第２の動作は、ディスプレイに表示されている画像が示す中から、操作対象を選択及び特定するための動作として、全ての情報処理装置に共通して登録されているジェスチャのパターンである。第１の動作を認識した情報処理装置のうち、認識スコアが上位である一部をだけ表示している場合には、第２の動作によって、表示されていない候補を順次表示させることができる。第２の動作としては、例えば、右腕を上下に動かすジェスチャによってフォーカスするアイコン表示領域６２〜６４を変更したり、一定時間以上腕の動きを静止することでフォーカスした対象の選択を決定したり、といったジェスチャを登録しておくことができる。また、表示されるアイコンに番号付し、ユーザが指で示す番号に対応する装置を操作対象として決定するというジェスチャを登録することもできる。これらは一例であり、他のジェスチャであっても構わない。ユーザの動画像の解析により、操作対象を選択するための動作を認識した場合は（ステップＳ５０１でＹｅｓの場合）、認識部２３は、認識されたジェスチャを特定部２５に伝える。そして特定部２５は、ユーザのジェスチャによる操作の内容を特定し、表示制御部２６にディスプレイ１３の表示内容の変更を指示する。そして、最終的に操作対象として選択される情報処理装置が特定されたかを判定する（ステップＳ５０２）。最終的な操作対象が特定されず、候補を選択する操作が継続されている場合は（ステップＳ５０２でＮｏの場合）、特定するための動作を認識するまで待機する。操作対象が特定された場合（ステップＳ５０２でＹｅｓの場合）、特定部２５は、選択された操作対象の識別情報をＲＡＭ１０３上に保持し、メイン処理に返し、操作対象選択処理を終了する（ステップＳ５０３）。本実施形態で説明している例では、ユーザは情報処理装置１１（テレビ６６）を操作対象として選択しようとしている。従って、図６の操作対象選択用画像に対しては、フォーカスするアイコンを変更する必要はなく、フォーカスしたアイコンに対応する情報処理装置を操作対象として選択する動作を行えばよい。
【００３３】
一方、認識部２３によるユーザの動画像の解析の結果、操作対象を選択するための第２の動作を認識しなかった場合（ステップＳ５０１でＮｏの場合）は、操作対象の選択をキャンセルするためのジェスチャ操作を認識したかを判定する（ステップＳ５０４）。例えば、ユーザの意思に途中で変更が生じたり、メイン処理のステップＳ３０２におけるユーザの凝視の認識に誤りがあったりした場合、ユーザが操作対象としたい情報処理装置が、操作対象の候補に含まれていない可能性がある。そのような場合に、操作対象の選択の中止を指示するためのジェスチャも、予め全ての情報処理装置に登録されているものとする。例として、タイムアウトや両腕を交差するようなジェスチャが、操作対象の選択の中止を指示するための操作として予め登録されているものとする。認識部２３が、キャンセル操作を認識しない場合（ステップＳ５０４でＮｏの場合）には、ステップＳ５０１に戻り、ユーザが操作対象を選択するためのジェスチャ操作を認識するまで待機する。一方、認識部２３が、キャンセル操作を認識した場合（ステップＳ５０４でＹｅｓの場合）には、メイン処理のステップＳ３０２に戻り、ユーザによる第１の動作を認識するまで待機する。
【００３４】
操作対象選択処理（ステップＳ３０８）からメイン処理に戻ると、特定部２５が、ＲＡＭ１０３上に保持している識別情報を基に、選択された操作対象が情報処理装置１０自身であったかを判定する（ステップＳ３０９）。選択された情報処理装置が他の情報処理装置の場合（ステップＳ３０９でＮｏの場合）、認識部２３は、認識フラグを「０」にする（ステップＳ３１２）。認識フラグが「０」の間は、認識部２３は、ユーザのジェスチャ操作を認識しないため、ユーザが他の情報処理装置を操作するために行ったジェスチャによって誤動作することはない。続いて、調整部２７は、最終的に選択された情報処理装置よりも、認識スコアが高かった場合、補正値を認識スコアの５％小さくする（ステップＳ３１３）。ただし、選択された情報処理装置よりも認識スコアが低かった場合は、調整は行わない。本実施形態で説明している例では、ユーザは最も認識スコアが高い情報処理装置１１を選択したため、情報処理装置１０では、補正値を調整する処理は行われない。例えば、情報処理装置１０自身の認識スコア「８０」が、情報処理装置１１よりも高かった場合には、調整部２７は補正値（初期値「０」）を５小さくして、「−５」に更新する。次回以降、ユーザの同じ顔の向きが同じであった場合に設定される認識スコアは「７５」となる。
【００３５】
一方、選択されたのが情報処理装置１０自身である場合（ステップＳ３０９でＹｅｓの場合）、調整部２７は、記憶部２０に記憶されている情報処理装置１０の認識スコアを求めるための補正値を、大きくする。ただし、自身の認識スコアが最も高かった場合、調整は行わず、そうでない場合は、補正値を認識スコアの５％上げる（ステップＳ３１０）。例えば、図６の操作対象選択用画像に対する操作対象選択処理で、情報処理装置１０（フォトフレームＡ６７）が選択されていたとすると、元々の認識スコアは「８０」であったので、調整部２７は補正値（初期値「０」）を４に更新する。従って、次回、ユーザが同じ顔の向きで情報処理装置１０を凝視した際の認識スコアは「８４」となる。次回以降、ユーザの顔の向きが同じであった場合に設定される認識スコアは８４となる。そして、ユーザによるジェスチャ操作を認識可能な状態（認識フラグが「１」）を維持して、本実施形態によるメイン処理を終了する。なお、本実施形態では、調整部２７による補正値の調整量は、認識スコアの５％としたが、これは一例でありこれに限らない。本実施形態によって、ユーザのジェスチャによる操作対象として特定された情報処理装置では、以降認識部２３が認識したジェスチャに対応する処理が実行される。
【００３６】
以上のように、実施形態１は、複数の情報処理装置がそれぞれユーザによって凝視されたことを並行して略同時に認識し、ユーザによるジェスチャで操作される対象の候補となった場合にも、候補を表示部に表示して操作対象をユーザに選択させる。選択されなかった情報処理装置では、操作対象選択後はユーザのジェスチャを認識しないため、ユーザは確実に操作したい情報処理装置に対してジェスチャ操作ができると共に、他の情報処理装置が誤ってジェスチャを認識して誤動作することがない。また、ユーザによって凝視されたことを認識した際に、ユーザの視線方向を評価した認識スコアを設定し、認識スコアの高い順に、操作対象候補の情報処理装置を上位の候補として表示するので、ユーザが操作対象を少ない操作数で選択できる可能性が高い。認識スコアが最も高い候補が選択されなかった場合には、次回以降の処理における認識スコアを補正する補正値を設定するので、認識精度の誤差を修正し誤った認識が繰り返されることを防ぐことができる。
【００３７】
＜変形例１＞
ここで、本発明の変形例１について図面を参照して詳細に説明する。なお、実施形態１に準ずる箇所については、説明を省略する。
【００３８】
実施形態１では、図６の操作対象選択用画像のように表示された候補から特定の情報処理装置を選択させるために、ユーザによるジェスチャ操作を認識する。この際、例えば、ユーザによる第１の動作（凝視）を認識した後で、ユーザとカメラとの間に障害物が発生すると、操作対象の候補として表示されているにも関わらず、ユーザの第２の動作（ジェスチャ操作）が認識されないない情報処理装置が発生してしまう。そこで変形例１では、ユーザによる凝視を認識し操作対象選択用画像を出力したにも関わらず、続くジェスチャ操作を認識しなかった場合には、取得部２１が、認識フラグが「１」である他の装置から、ユーザによる操作の結果を取得するものである。
【００３９】
変形例１では、記憶部２０はジェスチャ操作フラグを保持する。ジェスチャ操作フラグとは、ユーザによるジェスチャ操作を認識したかを表すフラグである。ジェスチャ操作フラグは、初期値が「０」であり、ユーザによるジェスチャ操作を認識すると「１」となる。
【００４０】
図７は、変形例１におけるメインの処理の流れを示すフローチャートである。実施形態１１との違いは、ステップＳ３０８Ａの操作対象選択処理である。ステップＳ３０１〜ステップＳ３０７、及びステップＳ３０９以降の処理は、実施形態１と同様であるので、説明を省略する。
【００４１】
図８は、操作対象選択処理（ステップＳ３０８Ａ）の詳細を示すフローチャートである。取得部２１は、ネットワークを介して接続されている情報処理装置のうち認識フラグが「１」である情報処理装置のジェスチャ操作フラグを取得し、ＲＡＭ１０３に保持する。続いて、記憶部２０に保持されているジェスチャ操作フラグを「０」に初期化する（ステップＳ８０１）。
【００４２】
続いて、認識部２３は、実施形態１と同様、ユーザが操作対象とする装置を選択するために行うジェスチャ操作を認識したかどうかを判定する（ステップＳ８０２）。選択操作が認識されなかった場合（ステップＳ８０２でＮｏの場合）、実施形態１と同様、操作対象の選択をキャンセルするためのジェスチャ操作を認識したかを判定する（ステップＳ８０３）。例えば、タイムアウトや両腕を交差するようなジェスチャが、操作対象の選択の中止を指示するための操作として予め登録されているものとする。認識部２３が、そのようなキャンセル操作を認識した場合（ステップＳ８０３でＹｅｓの場合）には、メイン処理のステップＳ３０２に戻り、ユーザによる第１の動作を認識するまで待機する。一方、認識部２３が、キャンセル操作を認識しない場合（ステップＳ８０３でＮｏの場合）には、ステップＳ８０４に進む。そして、ネットワークで接続された情報処理装置の中に、認識フラグが「１」であってかつジェスチャ操作フラグが「１」である装置が存在するかどうかを問い合わせる信号を送信する（ステップＳ８０４）。ここで送信される信号には、送信元となる情報処理装置の識別情報が含まれる。次に、問い合わせに対して応答があったかを判定する（ステップＳ８０５）。応答があった場合（ステップＳ８０５でＹｅｓの場合）には、応答を返した情報処理装置の認識部２３が認識したからジェスチャ操作を取得し（ステップＳ８０６）、ステップＳ８１０に進む。
【００４３】
一方、ステップＳ８０２で選択操作を認識した場合（ステップＳ８０２でＹｅｓの場合）、ジェスチャ操作フラグを「１」にする（ステップＳ８０７）。そして、ネットワークで接続された他の情報処理装置からの問い合わせ信号（ステップＳ８０４で送信される信号）を、取得部２１が取得したかを判定する（ステップＳ８０８）。問い合わせ信号があれば（ステップＳ８０８でＹｅｓの場合）、問い合わせ信号を送信した情報処理装置を、ジェスチャ操作を認識した結果を送信する送信先に設定する（ステップＳ８０９）。以降、認識部２３がジェスチャ操作を認識する度にネットワークを介して操作情報を送信する。問い合わせ信号を取得しない場合（ステップＳ８０８でＮｏの場合）には、送信先を設定しない。そして、実施形態１と同様、認識部２３がユーザのジェスチャ操作を認識した結果、あるいは取得部２１から取得した操作情報を基に、最終的に操作対象として選択される情報処理装置が特定されたかを判定する（ステップＳ８１０）。最終的な操作対象が特定されず、候補を選択する操作が継続されている場合は（ステップＳ８１０でＮｏの場合）、特定するための動作を認識するまで待機する。操作対象が特定された場合（ステップＳ８１０でＹｅｓの場合）、特定部２５は、選択された操作対象の識別情報をＲＡＭ１０３上に保持し、メイン処理に返し、操作対象選択処理を終了する（ステップＳ８１１）。
【００４４】
変形例１によれば、操作対象選択用画像を提示した後、ユーザに操作対象の装置を特定させる際に、ジェスチャの認識が困難になった場合あっても、操作対象の候補である全ての情報処理装置に対して操作を行うことが可能となる。なお、実施形態１及びその変形例１で説明した図１（ａ）の情報処理システムでは、システムを構成する全ての情報処理装置にカメラが搭載され、それぞれが自装置のカメラによって撮影された動画像を基にして、ユーザの動作を認識していた。しかし、変形例１のように、他の情報処理装置に対して、認識部２３が認識した第１及び第２操作の内容を送信することで、カメラを有さない情報処理装置においても、ジェスチャ操作を行うことも可能になる。その場合は、カメラを有する情報処理装置が、ネットワークに接続されたジェスチャ操作可能な全ての情報処理装置に位置関係を把握し、ユーザの顔の向きから、操作対象の候補とその認識スコアを設定する。
【００４５】
［実施形態２］
次に、本発明の実施形態２について図面を参照して詳細に説明する。なお、実施形態１に準ずる箇所については、説明を省略する。
【００４６】
実施形態１では、ユーザをジェスチャ認識の対象と判定する際に視線の方向を用いた。本実施形態は、視線の方向に代わって、ユーザが指差した方向を用いてジェスチャ認識の対象を判定するものである。なお、実施形態２においても、図１（ａ）の情報処理システムにおける情報処理装置１０を主として説明するが、情報処理装置１１〜１２にいても同様に処理が実行されるものとする。
【００４７】
実施形態２における、ハードウェアの構成図は実施形態１と同様、図１（ｂ）に示される。また、本実施形態における機能の構成図も、第１の実施形態同様に図２（ａ）で表される。ただし、実施形態１との違いは、認識部２３と設定部２４の機能、及び記憶部２０に記憶されたテンプレートの内容である。本実施形態の認識部２３は、ユーザによる第１の動作として、実施形態１ではユーザによる凝視を認識するのに替わり、ユーザによる指差し方向を認識する。従って、撮像部２２により撮影されたユーザの動画像から、ユーザが指差した方向を解析し情報処理装置が操作対象として選択されているかどうかを判定する。ユーザの指差した方向を解析するには、ユーザが指差した画像と予め記憶部２０に用意された複数のテンプレート画像とのマッチング度を求めることで、ユーザが指差した方向を特定する。そして、設定部２４は、認識された指差し方向に対して認識スコアを特定する。実施形態１では、ユーザがカメラ１６を凝視する動作を第１の動作としていたが、実施形態２では、ディスプレイ１３の中心部を指差す動作を第１の動作として登録するものとする。ここでテンプレートは、ユーザがディスプレイ１３の中心部分を正面から指差した状態を、カメラ１６の位置から撮影した場合を示す画像情報を基準として、角度９０度の状態として定義している。そして、左右９０度ずつ０〜１８０度の範囲を１０度間隔の角度から指を差す１９パターンの状態の画像情報を基に用意されている。なお、このような１９パターンのテンプレートは一例であり、本発明の実施形態はこれに限られない。例えば、ユーザが右手を使った場合と左手を使った場合を想定し、さらに複数のパターンを用意してもいい。
【００４８】
図９は、本実施形態におけるメイン処理のフローチャートである。実施形態１との違いは、ステップＳ３０２Ｂ及びステップＳ３０４Ｂである。なお、その他のステップの各処理は、実施形態１と同様に実行されるため、説明を省略する。
【００４９】
ステップＳ３０２Ｂでは、実施形態１と同様、撮像部２２がユーザの動画像を撮影し、その撮影した動画像のフレーム毎を認識部２３が解析し、ユーザによって情報処理装置１０をジェスチャ操作の対象とするために行う第１の動作がなされたかを判定する。ここで、本実施形態では、第１の動作として、認識部２３が、ユーザによってカメラ１６が指差されていることを認識する（ステップＳ３０２Ｂ）。その際、認識部２３は、撮像部２２がユーザを撮影した動画像のフレームうち、ユーザの上半身部分の画像を解析し、ユーザの腕及び指の向きが、カメラ１６が存在する方向に一致した状態で一定時間以上続く場合に、ユーザの指差しという第１の動作を認識する。ユーザによって指を差されていることを認識しなかった場合（ステップＳ３０２ＢでＮＯの場合）、ステップＳ３０２Ｂに戻って処理を繰り返す。ユーザによって指を差されていることを認識した場合（ステップＳ３０２ＢでＹＥＳの場合）、認識部２３は認識フラグを「１」に更新してＲＡＭ１０３上に保持する（ステップＳ３０３）。
【００５０】
そして、設定部２４は、ユーザの画像を基に指差し方向を判断し、その結果から認識スコアを算出する。これにより、ユーザがジェスチャによって複数の情報処理装置が並べられているような環境においても、ユーザの意思を推定して、複数の候補に対し最も操作対象である可能性が高い順を設定することになる。ステップＳ３０１のキャリブレーションによって補正値が設定されていた場合には、補正値を用いて認識スコアを補正し、ＲＡＭ１０３上に保持する（ステップＳ３０４Ｂ）。本実施形態では、上述したように、情報処理装置１０のカメラ１６を真正面から指差す角度を９０度と定義して、指差し方向に対して設定する認識スコアの基準としている。そして、１９パターンの方向を指差した場合のユーザの様子を示すテンプレートと、カメラが撮影した画像とのマッチング度を求め、最もマッチング度の高かったテンプレートを基に認識スコアを算出する。
【００５１】
そして、以降の処理ステップによって、実施形態１と同様、優先順として認識スコアが高い順に一覧にされたジェスチャ操作を認識可能な操作対象の候補の中から、第２の動作となるジェスチャ操作によって、ユーザに所望とする情報処理装置を特定させる。
【００５２】
以上説明したように、本実施形態によれば、複数の情報処理装置がそれぞれユーザによって指差されたことを同時に認識し、ユーザによるジェスチャで操作される対象の候補となった場合にも、候補を表示して操作対象をユーザに選択させる。選択されなかった情報処理装置では、操作対象選択後はユーザのジェスチャを認識しないため、ユーザは確実に操作したい情報処理装置に対してジェスチャ操作を行うことができると共に、他の情報処理装置が誤ってジェスチャを認識して誤動作することがない。また、ユーザによって指を差されたことを認識した際に、ユーザの指差し方向を評価した認識スコアを設定し、認識スコアの高い順に、操作対象候補の情報処理装置を上位の候補として表示する。これにより、ユーザは、意図した操作対象を少ない操作数で選択できる可能性が高い。認識スコアが最も高い候補が選択されなかった場合には、次回以降の処理における認識スコアを補正する補正値を設定するので、認識精度の誤差を修正し誤った認識が繰り返されることを防ぐことができる。
【００５３】
また、本実施形態における第１の動作は、ユーザが情報処理装置のディスプレイを指差す動作とした。指を差すという動作は、ユーザにとっては特定の物を示すために用いる最も直感的で簡単な動作の１つである。ユーザが操作したい情報処理装置は、ユーザがディスプレイに表示される映像を見たいと所望している情報処理装置である可能性が高いため、本実施形態によれば、見たいディスプレイを指差すというより直感的な動作で、操作対象を選択することが可能になる。ユーザは、ディスプレイから視線を外してカメラを凝視する必要はなくなり、デザイン上カメラの位置がわかりにくい情報処理装置に対しても、選択操作がしやすくなる。また、左右だけでなく上下方向にも複数の角度からユーザが情報処理装置を指差している状態をテンプレートとして保持していれば、例えばテレビの上にフォトフレームが設置されているなど、上下に設置された複数の情報処理装置に対しても、本発明が適応できる。
【００５４】
なお、実施形態２においても、実施形態１と同様に、ユーザによる指差しを認識し、操作対象選択用画像を表示した後、取得部２１が、認識フラグが「１」である他の装置から、ユーザによる操作の結果を取得する変形例を用いることができる。このような変形例によれば、操作対象選択用画像を提示した後で、ユーザに操作対象の装置を特定させる際に、ジェスチャの認識が困難になった場合あっても、操作対象の候補である全ての情報処理装置に対して操作を行うことが可能となる。
【００５５】
［実施形態３］
次に、本発明の実施形態３について図面を参照して詳細に説明する。なお、実施形態２と同様、実施形態１に準ずる箇所については、説明を省略する。
【００５６】
実施形態１及び実施形態２では、操作対象選の候補を表示する際には認識スコアに基づいた順で情報処理装置名を表示したが、本実施形態では認識スコアに代わって、ユーザと情報処理装置との距離に基づいて情報処理装置名を並び変えるものである。なお、実施形態３においても、図１（ａ）の情報処理システムにおける情報処理装置１０を主として説明するが、情報処理装置１１〜１２にいても同様に処理が実行されるものとする。
【００５７】
実施形態３についても、ハードウェア構成図は実施形態１と同様に図１（ｂ）に示される。図１０（ａ）は、本実施形態における情報処理装置１０の機能の構成図である。実施形態１との違いは、認識部２３、調整部２７が無く、測定部２８が追加されていることである。測定部２８は、情報処理装置からユーザまでの距離を赤外線センサで測定する。なお、距離の測定するためセンサとしては、例えば、超音波センサ、深度センサ、光センサを用いてもよい。また、実施形態３の情報処理装置は、記憶部２０に、ユーザが情報処理装置を視聴するのに最適な距離を、所定の視聴距離情報として保持している。
【００５８】
図１１は、本実施形態におけるメイン処理を示すフローチャートである。まず、取得部２１はネットワークで接続している全ての情報処理装置から、それぞれの識別情報とともに最適な視聴距離を取得する（ステップＳ３０１Ｃ）。続いて、撮像部２２はユーザの動画像を撮影し、認識部２３は、撮影した動画像のフレームを解析して、ユーザによる第１の動作を認識したかを判定する（ステップＳ３０２）。実施形態３では、第１の動作は実施形態１と同様に、ユーザによる第１の動作は、情報処理装置１０のカメラ１６を凝視する動作とする。ユーザによる第１の動作を認識しなかった場合（ステップＳ３０２でＮｏの場合）、ステップＳ３０２に戻って認識するまで待機する。ユーザによる第１の動作を認識した場合（ステップＳ３０２でＹｅｓの場合）、認識部２３は認識フラグを「１」にする（ステップＳ３０３）。続いて、測定部２８がユーザと情報処理装置１０との距離を測定（ステップＳ３０４Ｃ）する。次に、取得部２１は情報取得処理を行い（ステップＳ３０５Ｃ）、ネットワークで接続されている情報処理装置のうち、ジェスチャ認識の対象となった情報処理装置リストを生成しＲＡＭ１０３に保持する。本実施形態における情報取得処理（ステップＳ３０５Ｃ）は、実施形態１における情報取得処理（ステップＳ３０５）に準じるが、認識スコアに代わって、ユーザと情報処理装置との距離情報を用いる点が異なる。すなわち、ここでリスト化される情報は、情報処理装置の識別情報（名称）とステップＳ３０４Ｃで測定したユーザとの距離である。なお、識別情報はネットワークにおけるアドレス情報を利用してもよい。取得部２１は、情報取得処理（ステップＳ３０５Ｃ）からメイン処理に戻ると、表示制御部２６が、ＲＡＭ１０３上に保持されているリストが空かどうかを判断する（ステップＳ３０６）。情報処理装置リストが空の場合（ステップＳ３０６でＮｏの場合）、他の情報処理装置がジェスチャ認識の対象として認識されていない為、表示制御部２６によりジェスチャ操作が可能な状態にする（ステップＳ３１１）。リストが空ではない場合（ステップＳ３０６でＹｅｓの場合）、表示制御部２６は、ステップＳ３０５Ｃで取得したユーザとの距離と、ステップＳ３０１Ｃにより取得した所定の視聴距離との差分が小さい順番に情報処理装置名を一覧にした画面を生成する。生成した操作対象選択用の画像を、ディスプレイ１３に表示させる（ステップＳ３０７Ｃ）。
【００５９】
図１０（ｂ）は本実施形態において、ユーザによる凝視を認識し、操作対象の候補となった情報処理装置１０（フォトフレームＡ）、情報処理装置１１（テレビ）、情報処理装置１２（フォトフレームＢ）の最適な視聴距離及びユーザとの距離の一例である。テレビの最適な視聴距離は２ｍと設定されており、フォトフレームの最適な視聴距離は０．５ｍと設定されている。また、ユーザとテレビの距離は２ｍ、ユーザとフォトフレームＡの距離も２ｍ、ユーザとであったとする。この場合、ユーザとの距離と視聴距離との差分は、テレビは０ｍ、フォトフレームは１．５ｍである為、操作対象の候補を表示する画像では、テレビ、フォトフレームの順番に表示される。同順となるフォトフレームＡとフォトフレームＢは、識別情報に基づき名称順やアドレス順に表示してもよいし、並列関係を示すように横並び等でアイコンを表示してもよい。
【００６０】
続いて、実施形態１と同様の操作対象選択処理が実行され（ステップＳ３０８）、ユーザが選択した情報処理装置の識別情報を取得する。続いて、特定部２５は、ＲＡＭ１０３上に保持している選択された情報処理装置の識別情報を基に、選択された操作対象が情報処理装置１０自身であったかを判定する（ステップＳ３０９）。ユーザが選択した情報処理装置が自身の場合（ステップＳ３０９でＹｅｓの場合）、ジェスチャ操作が可能な状態を維持する（ステップＳ３１０）。選択された情報処理装置が他の情報処理装置の場合（ステップＳ３０９でＮｏの場合）、認識部２３は、認識フラグを「０」にする（ステップＳ３１２）。
【００６１】
本実施形態では、認識部２３によりユーザの視線の方向を用いてユーザをジェスチャ認識の対象であるかどうかを判定したが、これに限らない。実施形態２のように、認識部２３により、ユーザによって指差されたことを第１の動作として認識してもよい。
【００６２】
以上、説明したように、本実施形態では、ユーザと情報処理装置との距離が、情報処理装置の最適な視聴距離に近い順番に候補を表示する。ユーザが操作したい情報処理装置は、ユーザがディスプレイに表示される映像を見たいと所望している可能性が高いため、ユーザがいる位置から最適な視聴距離で見ることができる情報処理装置は、操作対象として選択される可能性が高いと推定できる。従って、本実施形態のように、情報処理装置それぞれの最適な視聴距離と、実際のユーザとの距離との差分が小さい順に、上位の候補とすることで、ユーザは、少ない操作数で、所望とする操作対象を選択し易くなる。
【００６３】
なお、実施形態３においても、実施形態１と同様に、ユーザによる指差しを認識し、操作対象選択用画像を出力した後、取得部２１が、認識フラグが「１」である他の装置から、ユーザによる操作の結果を取得する変形例を用いることができる。このような変形例によれば、操作対象選択用画像を提示した後で、ユーザに操作対象の装置を特定させる際に、ジェスチャの認識が困難になった場合あっても、操作対象の候補である全ての情報処理装置に対して操作を行うことが可能となる。
【００６４】
［実施形態４］
次に、実施形態４を説明する。なお、これまで説明した実施形態と同様、実施形態１に準ずる箇所については、説明を省略する。
【００６５】
実施形態１で説明した情報処理装置では、ユーザによる凝視を認識した場合には、ネットワーク上の装置が互いに問い合わせ信号を送信し、その信号を受信したことによって、他の操作対象候補の情報処理装置の存在を判断していた（ステップＳ３０５）。実施形態４では、ネットワーク上にサーバ装置を配置する。サーバ装置は、ネットワークに接続された全情報処理装置の数を把握し、全ての情報処理装置の状態情報を管理する。図１２（ａ）は、実施形態１における図１（ａ）に対応するもので、ネットワーク上にサーバ装置１２００が含まれる情報処理システムの一例を示す概要図である。各情報処理装置のハードウェア構成、及び機能構成は実施形態１に準ずるため、説明を省略する。実施形態１と同様図３のフローチャートに示されたメイン処理に従い、ステップＳ３０１〜ステップＳ３０４までの処理を実行した後、実施形態４では、図１２（ｂ）のフローチャートに示される情報取得処理（ステップＳ３０５Ｄ）に進む。ユーザによる凝視を認識した各情報処理装置は、ステップＳ３０５Ｄの情報取得処理では、まず、サーバ装置に対して、認識フラグが「１」となったことを示すため、識別情報と認識スコア含む信号を送信する（ステップＳ１２０１）。そして、サーバ装置からの応答があったかを確認する（ステップＳ１２０２）。応答がないときには（ステップＳ１２０２でＮｏの場合）、応答を受信するまで待機する。サーバ装置は、認識フラグが「１」である情報処理装置からの信号を最初に受信してから一定時間、受付状態となり、その時間内に同様の信号を送信してきた全ての装置が、ユーザの操作対象の候補であると判断する。この際には、信号が受信されなかった情報処理装置と通信し、認識フラグが「０」であることを確認してもよい。そして、サーバ装置が、候補となっている情報処理装置の識別情報と認識スコアを集計して、優先順として認識スコアが高い順のリストを生成し、候補である情報処理装置に配信する。操作候補である判断された情報処理装置は、サーバ装置の配信情報を応答として受け付け（ステップＳ１２０２でＹｅｓの場合）、リストを取得する（ステップＳ１２０３）し、メイン処理にリターンする。以降の処理は、実施形態１に準じるため、説明を省略する。
【００６６】
このように、全ての情報処理装置を統括するサーバ装置を設ける場合は、各装置が独立して同じ処理を行うのに比較して、全体の負荷を抑えて複数の対象を管理することが容易になるという利点がある。なお、変形例として、ネットワークにサーバ専用の装置を設けるのではなく、ネットワークに接続された複数の情報処理装置の１つが代表となり、サーバ装置の役割を果たしてもよい。すなわち、１つの情報処理装置が代表となり、応答を返した他の候補の情報処理装置の識別情報と認識スコアを示す情報を集計して認識スコアが高い順に整理したリストを生成し、ネットワーク上の各情報処理装置に配信してもよい。代表となる情報処理装置は、例えば最先で問い合わせ信号を送信したものや、認識スコアが最大値であったものを選択するようにルール化しておけばよい。
【００６７】
実施形態４では、実施形態１と同様に、第１の動作としてユーザによる凝視を認識する例を説明したが、第１の動作は、実施形態２のように情報処理装置を指差す動作であっても構わない。さらに、認識スコアを用いず、実施形態３のようにユーザと情報処理装置との距離に基づいて、操作対象の候補を上位から順に表示する順番を特定してもよい。また、操作対象の候補の識別情報のリストを、ユーザが操作対象として選択しようとする可能性が高い順に並び替える処理、その候補を表示する画像を生成する処理の少なくとも１つは、上述したサーバ装置あるいは代表の情報処理装置で実行されてもよい。
【００６８】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005868128.tif 000002
【図２】
0005868128.tif 000003
【図３】
0005868128.tif 000004
【図４】
0005868128.tif 000005
【図５】
0005868128.tif 000006
【図６】
0005868128.tif 000007
【図７】
0005868128.tif 000008
【図８】
0005868128.tif 000009
【図９】
0005868128.tif 000010
【図１０】
0005868128.tif 000011
【図１１】
0005868128.tif 000012
【図１２】
0005868128.tif 000013