(57)【要約】【課題】ジェスチャーによる操作対象機器の操作精度を向上させる情報処理装置、情報処理方法、およびプログラムを提供する。【解決手段】実施形態の情報処理装置は、検出部と、出力部と、を備える。検出部は、入力された動画像データに基づく動画像に含まれる顔画像の位置に従って動画像を構成するフレーム画像に対して検出領域を設定して、検出領域において操作者の操作指示の動きである第一の動きを検出するとともに、動画像における顔画像の動きである第二の動きに起因して第一の動きとして検出される動きの成分が相殺されるよう第一の動きを補正する。出力部は、検出部により補正した第一の動きによる操作指示を表す操作データを出力する。【選択図】図３
2013246516.tif 000002
【特許請求の範囲】
【請求項１】
入力された動画像データに基づく動画像に含まれる顔画像の位置に従って前記動画像を構成するフレーム画像に対して検出領域を設定して、前記検出領域において操作者の操作指示の動きである第一の動きを検出するとともに、前記動画像における前記顔画像の動きである第二の動きに起因して前記第一の動きとして検出される動きの成分が相殺されるよう前記第一の動きを補正する検出部と、
前記検出部により補正した前記第一の動きによる前記操作指示を表す操作データを出力する出力部と、
を備えた情報処理装置。
【請求項２】
前記検出部は、前記顔画像の位置が移動してから所定時間、移動前の前記顔画像の位置に従って設定された前記検出領域の位置を保持する請求項１に記載の情報処理装置。
【請求項３】
前記検出部は、前記顔画像の位置が所定時間以内に所定距離以上移動した場合に、前記顔画像の位置が移動してから前記所定時間、移動前の前記顔画像の位置に従って設定された前記検出領域の位置を保持する請求項２に記載の情報処理装置。
【請求項４】
前記検出部は、前記第二の動きを検出する周期よりも長い時間、前記検出領域の位置を保持する請求項１に記載の情報処理装置。
【請求項５】
情報処理装置で実行される情報処理方法であって、
検出部が、入力された動画像データに基づく動画像に含まれる顔画像の位置に従って前記動画像を構成するフレーム画像に対して検出領域を設定して、前記検出領域において操作者の操作指示の動きである第一の動きを検出するとともに、前記動画像における前記顔画像の動きである第二の動きに起因して前記第一の動きとして検出される動きの成分が相殺されるよう前記第一の動きを補正する工程と、
出力部が、前記検出部により補正した前記第一の動きによる前記操作指示を表す操作データを出力する工程と、
を含む情報処理方法。
【請求項６】
コンピュータを、
入力された動画像データに基づく動画像に含まれる顔画像の位置に従って前記動画像を構成するフレーム画像に対して検出領域を設定して、前記検出領域において操作者の操作指示の動きである第一の動きを検出するとともに、前記動画像における前記顔画像の動きである第二の動きに起因して前記第一の動きとして検出される動きの成分が相殺されるよう前記第一の動きを補正する検出部と、
前記検出部により補正した前記第一の動きによる前記操作指示を表す操作データを出力する出力部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
撮像装置により撮像された動画像データに基づく動画像から、操作者の操作指示の動きを検出し、検出した動きによる操作指示を表す操作データを操作対象機器に出力する情報処理装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２１７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術においては、撮像装置により撮像された動画像データに基づく動画像において操作者の操作指示の動きを検出する領域を、操作者が認識することができないため、操作者の操作指示の動き以外の動きも、操作者の操作指示の動きとして検出してしまうことがあり、ジェスチャーによる操作対象機器の操作精度が低い、という課題がある。また、従来技術においては、操作者が椅子から立ち上がった場合など、操作指示を行なうことを意図せずに操作指示を表す動きと同様の動きを行なってしまった場合に、当該動きが、操作指示を意図するものなのかを区別できないため、操作指示を意図しない動きも、操作者の操作指示の動きとして検出しまうことがある。
【０００５】
本発明は、上記に鑑みてなされたものであって、ジェスチャーによる操作対象機器の操作精度を向上させる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態の情報処理装置は、検出部と、出力部と、を備える。検出部は、入力された動画像データに基づく動画像に含まれる顔画像の位置に従って動画像を構成するフレーム画像に対して検出領域を設定して、検出領域において操作者の操作指示の動きである第一の動きを検出するとともに、動画像における顔画像の動きである第二の動きに起因して第一の動きとして検出される動きの成分が相殺されるよう第一の動きを補正する。出力部は、検出部により補正した第一の動きによる操作指示を表す操作データを出力する。
【図面の簡単な説明】
【０００７】
【図１】図１は、本実施形態にかかるコンピュータの外観を示す図である。
【図２】図２は、本実施形態にかかるコンピュータの構成を概略的に示すブロック図である。
【図３】図３は、本実施形態にかかるコンピュータの機能構成の一部を示すブロック図である。
【図４】図４は、本実施形態にかかるコンピュータにおいて操作データを出力する処理の流れを示すフローチャートである。
【図５】図５は、本実施形態にかかるコンピュータにおいて検出領域を設定する処理を説明するための図である。
【図６】図６は、本実施形態にかかるコンピュータにおいて検出領域を設定する処理を説明するための図である。
【図７】図７は、本実施形態にかかるコンピュータにおいて検出領域を設定する処理を説明するための図である。
【図８】図８は、本実施形態にかかるコンピュータにおいて検出領域を設定する処理を説明するための図である。
【図９】図９は、本実施形態にかかるコンピュータにおいて第一の動きを補正する処理を説明するための図である。
【図１０】図１０は、本実施形態にかかるコンピュータにおいて操作指示の動きを検出する処理を説明するための図である。
【図１１】図１１は、本実施形態にかかるコンピュータにおいて操作指示の動きを検出する処理を説明するための図である。
【図１２】図１２は、本実施形態にかかるコンピュータにおいて操作データを出力する処理を説明するための図である。
【図１３】図１３は、本実施形態にかかるコンピュータにおいて操作データを出力する処理を説明するための図である。
【発明を実施するための形態】
【０００８】
図１は、本実施形態にかかるコンピュータの外観を示す図である。本実施形態では、情報処理装置、情報処理方法、およびプログラムを、ノートブックタイプのパーソナルコンピュータ（以下、コンピュータとする）１０に適用した例について説明するが、これに限定するものではなく、例えば、リモートコントローラ、テレビジョン受像機、ハードディスクレコーダ等にも適用することができる。図１に示すように、本実施形態にかかるコンピュータ１０は、本体１１と、ディスプレイユニット１２と、を有している。ディスプレイユニット１２には、ＬＣＤ（Liquid  Crystal  Display）１７を備える表示装置が搭載されている。ディスプレイユニット１２には、さらに、ＬＣＤ１７の表面を覆うようにタッチパネル１４が搭載されている。ディスプレイユニット１２は、本体１１の上面が露出される開放位置と本体１１の上面を覆う閉塞位置との間を回動自在に本体１１に取り付けられている。ディスプレイユニット１２は、ＬＣＤ１７の上部にカメラモジュール２０を備える。カメラモジュール２０は、ディスプレイユニット１２が本体１１の上面を露出する開放位置にあるときに、コンピュータ１０の操作者等を撮像するために用いられる。
【０００９】
本体１１は、薄い箱形の筐体を有し、その上面に、キーボード１３、入力操作パネル１５、タッチパッド１６、スピーカ１８Ａ，１８Ｂ、コンピュータ１０を電源オンまたは電源オフにするためのパワーボタン１９などが配置されている。入力操作パネル１５上には、各種操作ボタンが設けられている。
【００１０】
また、本体１１の背面には、例えばＨＤＭＩ（High−Definition  Multimedia  Interface）規格に対応した外部ディスプレイ接続端子（図示しない）が設けられている。この外部ディスプレイ接続端子は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
【００１１】
図２は、本実施形態にかかるコンピュータの構成を概略的に示すブロック図である。本実施形態にかかるコンピュータ１０は、ＣＰＵ（Central  Processing  Unit）１１１、主メモリ１１２、ノースブリッジ１１３、グラフィックコントローラ１１４、ディスプレイユニット１２、サウスブリッジ１１６、ＨＤＤ（Hard  Disk  Drive）１１７、副プロセッサ１１８、ＢＩＯＳ（Basic  Input/Output  System）−ＲＯＭ（Read  Only  Memory）１１９、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）１２０、電源回路１２１、バッテリ１２２、ＡＣアダプタ１２３、タッチパッド１６、キーボード（ＫＢ）１３、カメラモジュール２０、およびパワーボタン１９等を備える。
【００１２】
ＣＰＵ１１１は、コンピュータ１０の動作を制御するプロセッサである。ＣＰＵ１１１は、ＨＤＤ１１７から主メモリ１１２にロードされる、オペレーティングシステム（ＯＳ）および各種のアプリケーションプログラムを実行する。また、ＣＰＵ１１１は、ＢＩＯＳ−ＲＯＭ１１９に格納されたＢＩＯＳも実行する。ＢＩＯＳは、周辺デバイスを制御するためのプログラムである。ＢＩＯＳは、コンピュータ１０の電源投入時に最初に実行される。
【００１３】
ノースブリッジ１１３は、ＣＰＵ１１１のローカルバスとサウスブリッジ１１６との間を接続するブリッジデバイスである。ノースブリッジ１１３は、ＡＧＰ（Accelerated  Graphics  Port）バスなどを介してグラフィックコントローラ１１４との通信を実行する機能を有している。
【００１４】
グラフィックコントローラ１１４は、コンピュータ１０のディスプレイユニット１２を制御する表示コントローラである。グラフィックコントローラ１１４は、ＯＳまたはアプリケーションプログラムによってＶＲＡＭ（Video  Random  Access  Memory）（図示しない）に書き込まれた表示データから、ディスプレイユニット１２に出力すべき表示信号を生成する。
【００１５】
サウスブリッジ１１６には、ＨＤＤ１１７、副プロセッサ１１８、ＢＩＯＳ−ＲＯＭ１１９、カメラモジュール２０、およびＥＣ／ＫＢＣ１２０が接続されている。また、サウスブリッジ１１６は、ＨＤＤ１１７および副プロセッサ１１８を制御するためのＩＤＥ（Integrated  Drive  Electronics）コントローラも備えている。
【００１６】
ＥＣ／ＫＢＣ１２０は、電力管理のためのエンベデッドコントローラ（ＥＣ）と、タッチパッド１６およびキーボード（ＫＢ）１３を制御するためのキーボードコントローラ（ＫＢＣ）が集積された、１チップマイクロコンピュータである。ＥＣ／ＫＢＣ１２０は、例えば、パワーボタン１９が操作された際に、電源回路１２１と共同してコンピュータ１０の電源をオンにする。コンピュータ１０は、ＡＣアダプタ１２３を介して外部電源が供給される場合、外部電源により駆動される。外部電源が供給されない場合、コンピュータ１０は、バッテリ１２２によって駆動される。
【００１７】
カメラモジュール２０は、例えば、ＵＳＢ（Universal  Serial  Bus）カメラである。カメラモジュール２０のＵＳＢコネクタは、コンピュータ１０の本体１１に設けられたＵＳＢポート（図示しない）に接続される。カメラモジュール２０により撮像された動画像データ（表示データ）は、主メモリ１１２等にフレームデータとして記憶され、ディスプレイユニット１２に表示させることができる。カメラモジュール２０によって撮像される動画像データを構成するフレーム画像のフレームレートは、例えば、１５フレーム／秒である。カメラモジュール２０は、外付けカメラであっても、コンピュータ１０の内蔵カメラであっても良い。
【００１８】
副プロセッサ１１８は、カメラモジュール２０から取得した動画像データの処理等を行う。
【００１９】
図３は、本実施形態にかかるコンピュータの機能構成の一部を示すブロック図である。本実施形態にかかるコンピュータ１０は、ＣＰＵ１１１が主メモリ１１２に格納されたオペレーティングシステムおよびアプリケーションプログラムを実行することにより、画像取得部３０１、検出部３０２、操作判定部３０３、および操作実行部３０４等を実現する。
【００２０】
画像取得部３０１は、カメラモジュール２０により撮像された動画像データを取得してＨＤＤ１１７等に記憶させる。
【００２１】
検出部３０２は、入力された動画像データ（画像取得部３０１により取得された動画像データ）に基づく動画像に含まれる顔画像の位置に従って当該動画像を構成するフレーム画像に対して検出領域を設定して、当該検出領域においてコンピュータ１０の操作者の操作指示の動きである第一の動きを検出するとともに、当該動画像における顔画像の動きである第二の動きに起因して第一の動きとして検出される動きの成分が相殺されるよう当該第一の動きを補正する。本実施形態では、検出部３０２は、顔検出・追跡部３１１、検出領域設定部３１２、禁止判定部３１３、動き検出部３１４、履歴取得部３１５、および第二の動き検出部３１６等を備えている。
【００２２】
操作判定部３０３は、検出部３０２により検出（または補正）した第一の動きによる操作指示を表す操作データを出力する出力部として機能する。操作実行部３０４は、操作判定部３０３により出力された操作データに従って操作対象機器（例えば、ディスプレイユニット１２、スピーカ１８Ａ，１８Ｂ、外部ディスプレイなど）を制御する。
【００２３】
次に、図４〜１３を用いて、本実施形態にかかるコンピュータ１０において操作データを出力する処理の流れについて説明する。図４は、本実施形態にかかるコンピュータにおいて操作データを出力する処理の流れを示すフローチャートである。
【００２４】
パワーボタン１９が操作されてコンピュータ１０の電源がオンされている間、画像取得部３０１は、カメラモジュール２０により撮像された動画像データを取得する（ステップＳ４０１）。本実施形態では、画像取得部３０１は、カメラモジュール２０により所定のフレームレートで撮像されたフレーム画像から、予め設定されたサンプリングレートでフレーム画像をサンプリングすることにより、動画像データを取得する。言い換えると、画像取得部３０１は、フレーム画像を連続的にサンプリングすることにより、動画像データを取得する。なお、取得された動画像データには、コンピュータ１０の操作者の顔の画像（以下、顔画像とする）が含まれることがある。
【００２５】
画像取得部３０１により動画像データが取得されると、顔検出・追跡部３１１は、取得された動画像データに基づく動画像から顔画像を検出するとともに、検出した顔画像を追跡する（ステップＳ４０２）。ここで、追跡とは、取得した動画像データを構成するフレーム画像間において、同一の操作者の顔画像を検出し続けることを意味している。
【００２６】
具体的には、顔検出・追跡部３１１は、図５に示すように、ＳＩＦＴ（Scale-Invariant  Feature  Transform）、ＳＵＲＦ（Speeded  Up  Robust  Features）等を用いて、取得された動画像データに基づく動画像を構成するフレーム画像５０１内における、顔画像５０２および顔以外の画像５０３を判別する。これにより、顔検出・追跡部３１１は、顔画像５０２の検出を行う。
【００２７】
次いで、顔検出・追跡部３１１は、ＫＬＴ（Kanade  Lucas  Tomasi）等の特徴点を追跡するトラッキング手法等を用いたＳＬＡＭ（Simultaneous  Localization  And  Mapping）（ＰＴＡＭ：Parallel  Tracking  And  Mappingの一例）等を用いて、取得された動画像データに基づく動画像を構成するフレーム画像５０１に含まれる顔画像５０２から、複数（例えば、鼻、左眼、および右眼の３つ）の特徴点を検出する。その際、顔検出・追跡部３１１は、フレーム画像５０１に含まれる顔画像５０２の特徴点のうち、当該フレーム画像５０１よりも前に撮像されたフレーム画像に含まれる顔画像５０２の特徴点と同じ特徴点を検出する。これにより、顔検出・追跡部３１１は、検出した顔画像５０２の追跡を行う。
【００２８】
また、顔検出・追跡部３１１は、取得した動画像データに基づく動画像を構成するフレーム画像５０１に含まれる顔画像のうち、カメラモジュール２０に対して正面を向いている顔の顔画像５０２を検出する。本実施形態では、顔検出・追跡部３１１は、取得した動画像データに基づく動画像を構成するフレーム画像５０１に含まれる顔画像のうち、両目が含まれている顔画像や耳が含まれていない顔画像を、正面を向いている顔の顔画像５０２として検出する。つまり、コンピュータ１０を操作する意思のある操作者はディスプレイユニット１２に対して正対していると考えられる。そのため、カメラモジュール２０に対して正面を向いている顔の顔画像５０２を検出することにより、コンピュータ１０を操作する意思のある操作者の顔画像５０２のみを検出することができる。また、操作者がディスプレイユニット１２に正対していることをトリガにして、以後の処理が行われるため、ジェスチャー等により操作指示を行なう際の余分な操作を省くことができる。
【００２９】
図４に戻り、検出領域設定部３１２は、顔検出・追跡部３１１による顔画像の追跡が成功したか否かを判断する（ステップＳ４０３）。検出領域設定部３１２は、顔検出・追跡部３１１による顔画像の追跡が所定時間（本実施形態では、１ｓ以下）継続して行われた場合に、顔画像の追跡が成功したと判断する。顔画像の追跡が成功していない場合（ステップＳ４０３：Ｎｏ）、検出領域設定部３１２は、顔検出・追跡部３１１による顔画像の追跡が成功するまで待つ。
【００３０】
顔画像の追跡に成功した場合（ステップＳ４０３：Ｙｅｓ）、検出領域設定部３１２は、取得された動画像データに基づく動画像に含まれる顔画像の位置を検出する（ステップＳ４０４）。本実施形態では、検出領域設定部３１２は、図５に示すように、動画像データを構成するフレーム画像５０１の左上の角を原点（０，０）とする予め設定された座標系（以下、ＸＹ座標系とする）における、顔検出・追跡部３１１により検出した顔画像５０２の中心位置（本実施形態では、鼻の位置）の位置座標（Ｘ１，Ｙ１）を、顔画像５０２の位置として検出する。また、検出領域設定部３１２は、取得された動画像データに基づく動画像に複数の顔画像が含まれる場合、当該複数の顔画像の位置を検出する。
【００３１】
また、検出領域設定部３１２は、取得された動画像データに基づく動画像に含まれる顔画像の上下方向に延びる軸（以下、顔画像の軸とする）の傾きを検出する。本実施形態では、検出領域設定部３１２は、ＸＹ座標系における、顔画像の軸の傾き（角度θ）を、顔画像の傾きとして検出する。具体的には、検出領域設定部３１２は、顔画像の上下方向に延びかつ顔画像が左右対称となる対称軸を通る軸を顔画像の軸とみなし、ＸＹ座標系における、当該顔画像の軸の傾きを顔画像の傾きとして検出する。または、検出領域設定部３１２は、顔画像の特徴点として検出した鼻、左眼、および右眼を結んだ三角形において、鼻の特徴点から、左眼の特徴点と右眼の特徴点とを結ぶ線分に下ろした垂線を、顔画像の軸とみなし、ＸＹ座標系における、当該顔画像の軸の傾きを顔画像の傾きとして検出しても良い。
【００３２】
図４に戻り、検出領域設定部３１２は、ディスプレイユニット１２に表示している表示データに応じて、ＸＹ座標系を基準にして操作者の操作指示の第一の動きを検出する第一のモードおよび顔画像の軸を座標軸とする座標系（以下、ｘｙ座標系とする）を基準にして操作者の操作指示の第一の動きを検出する第二のモードのうちいずれか一方のモードに切り換える（ステップＳ４０５）。ここで、ｘｙ座標系は、顔画像５０２の軸をｙ軸とし、当該ｙ軸に予め設定された位置で直交するｘ軸とする座標系である。本実施形態では、ｘｙ座標系は、顔画像５０２の軸をｙ軸とし、顔画像５０２の中心位置（位置座標（Ｘ１，Ｙ１））でｙ軸に直交するｘ軸とからなる座標系である。
【００３３】
本実施形態では、検出領域設定部３１２は、スクロール可能なウィンドウなど、ディスプレイユニット１２を基準にした方が操作指示を行いやすい表示データがディスプレイユニット１２に表示されている場合には、第一のモードに切り換える。一方、検出領域設定部３１２は、チャンネル番号の選局やスピーカ１８Ａ，１８Ｂから出力される音の音量に関わる表示画面など、操作者を基準にした方が操作指示を行いやすい表示データがディスプレイユニット１２に表示されている場合には、第二のモードに切り換える。
【００３４】
また、検出領域設定部３１２は、ステップＳ４０４において顔画像の位置が検出されてから所定時間経過したか否かを判断する（ステップＳ４１１）。そして、顔画像の位置が検出されてから所定時間経過していない場合（ステップＳ４１１：Ｎｏ）、検出領域設定部３１２は、検出された顔画像の位置を用いた検出領域の設定を行わず、前回検出された顔画像の位置に従って設定した検出領域の位置を保持する。これにより、検出された顔画像の位置が移動した場合に、顔画像の位置の移動と同時に検出領域が移動して、検出領域の位置が把握できなくなることを防止できる。
【００３５】
本実施形態では、検出領域設定部３１２は、前回検出した顔画像の位置を記憶しておくものとする。そして、検出領域設定部３１２は、ステップＳ４０４において検出した顔画像の位置と、記憶している顔画像の位置と、を比較して、顔画像の位置が第二の所定時間以内に所定距離以上移動した場合に、顔画像の位置が検出されてから所定時間経過したか否かを判断する。そして、顔画像の位置が検出されてから所定時間経過していない場合には、検出領域設定部３１２は、検出領域の位置を保持する。これにより、操作者が椅子から立ち上がった場合や操作者が横になった場合等、顔画像の位置が短い時間で大きく移動した場合に、顔画像の位置が検出されてから遅れて検出領域を移動させることができるので、検出領域の位置が把握できなくなることを防止できる。なお、顔画像の位置の移動が小さい場合や顔画像の位置の移動の速度が遅い場合には、顔画像の位置の移動と同時に検出領域を設定しても、検出領域が大きく移動することはないので、顔画像の位置の移動と同時に検出領域の設定を行うものとする。
【００３６】
また、本実施形態では、検出領域設定部３１２は、顔画像の位置が検出されてから所定時間、検出領域の位置を保持しているが、例えば、顔画像の位置を検出する周期よりも長い周期で検出領域の位置を設定することにより、検出領域の位置の移動を、顔画像の位置の移動よりも遅らせることができるので、顔画像の位置が短い時間に大きく移動した場合に、検出領域の位置が把握できなくなることを防止できる。
【００３７】
顔画像の位置が検出されてから所定時間経過すると（ステップＳ４１１：Ｙｅｓ）、検出領域設定部３１２は、検出した顔画像の位置に従って、動画像を構成するフレーム画像に対して検出領域を設定する（ステップＳ４０６）。ここで、検出領域とは、操作者の操作指示（例えば、ウィンドウに表示されたコンテンツ（例えば、テキスト、絵、画像など）のスクロール、チャンネル番号の選局、音量の変更など）の動きである第一の動き（操作者の操作指示の手の動き、操作者の操作指示による物の動きを含む）を検出する領域である。また、検出領域設定部３１２は、取得された動画像データに基づく動画像に複数の顔画像が含まれている場合、複数の顔画像の位置に従って、動画像を構成するフレーム画像に対して複数の検出領域を設定する。
【００３８】
本実施形態では、検出領域設定部３１２は、図５に示すように、顔画像５０２の位置（Ｘ１，Ｙ１）および顔画像５０２の軸の傾きに従って、操作者の操作指示の手５０５の動きである第一の動き５０６を検出する検出領域５０４に設定する。具体的には、検出領域設定部３１２は、顔画像５０２の軸の方向において、顔画像５０２の位置座標（Ｘ１，Ｙ１）よりも下方に位置する領域を、第一の動き５０６を検出する検出領域５０４に設定する。これにより、操作者の位置を基準にして検出領域５０４が設定されるので、操作者にとって分かりやすい位置を検出領域５０４とすることができる。また、検出領域５０４の位置を報知する処理など、操作者に対して複雑な情報を報知する必要がなく、検出領域５０４の位置の報知に必要なコストや、操作者が検出領域５０４の位置を確認する手間を低減することができる。
【００３９】
より具体的には、検出領域設定部３１２は、図６に示すように、顔画像５０２の位置座標（Ｘ１，Ｙ１）を原点とするｘｙ座標において、顔画像５０２の位置座標（Ｘ１，Ｙ１）を、下方（ｙ軸方向）に移動させた位置座標（ｘ１，ｙ１）を検出領域５０４の中心位置として求める。言い換えると、図６のように操作者の顔画像５０２が傾いていない場合（操作者の上半身が立っている場合）、検出領域設定部３１２は、ＸＹ座標系において、顔画像５０２の位置座標（Ｘ１，Ｙ１）を、予め設定された移動量（ΔＸ＝０，ΔＹ）移動させた位置座標（ｘ１，ｙ１）を検出領域５０４の中心位置として求める。また、検出領域設定部３１２は、顔画像５０２の大きさｒ（例えば、顔画像５０２を円と仮定した場合における半径）を検出する。そして、検出領域設定部３１２は、ｘｙ座標系において、位置座標（ｘ１，ｙ１）からｘ軸方向にｒ・Ｓ１離れかつｙ軸に平行な向かい合う２辺５０４ａと、位置座標（ｘ１，ｙ１）からｙ軸方向のｒ・Ｓ２離れかつｘ軸に平行な向かい合う２辺５０４ｂと、を有する矩形状の領域を、検出領域５０４に設定する。ここで、Ｓ１，Ｓ２は、位置座標（ｘ１，ｙ１）を中心位置とする検出領域５０４が矩形状の領域となるように予め設定された定数である。本実施形態では、Ｓ１，Ｓ２は、コンピュータ１０を操作する操作者によらず所定の値であるものとするが、これに限定するものではなく、コンピュータ１０の操作者毎に異なる値としても良い。
【００４０】
コンピュータ１０の操作者が横になっている場合等、顔画像５０２の軸がＸＹ座標系において角度θ傾いている場合も、検出領域設定部３１２は、同様に検出領域５０４を設定する。検出領域設定部３１２は、図７に示すように、顔画像５０２の位置座標（Ｘ１，Ｙ１）を原点としかつＸＹ座標系に対して角度θ傾いたｘｙ座標系において、顔画像５０２の位置座標（Ｘ１，Ｙ１）を、下方（ｙ軸方向）に移動させた位置座標（ｘ１，ｙ１）を検出領域５０４の中心位置として求める。言い換えると、図７のように操作者の顔画像５０２が角度θ傾いている場合、検出領域設定部３１２は、ＸＹ座標系において、顔画像５０２の位置座標（Ｘ１，Ｙ１）を、角度θ毎に予め設定された移動量（ΔＸ，ΔＹ）移動させた位置座標（ｘ１，ｙ１）を検出領域５０４の中心位置として求める。また、検出領域設定部３１２は、顔画像５０２の大きさｒを検出する。そして、検出領域設定部３１２は、位置座標（ｘ１，ｙ１）からｘ軸方向にｒ・Ｓ１離れかつｙ軸に平行な向かい合う２辺５０４ａと、位置座標（ｘ１，ｙ１）からｙ軸方向にｒ・Ｓ２離れかつｘ軸に平行な向かい合う２辺５０４ｂと、を有する矩形状の領域を、検出領域５０４に設定する。このように、操作者が横になっている場合等、顔画像５０２がＸＹ座標系において角度θ傾いている場合に、ＸＹ座標系に対して角度θ傾いたｘｙ座標系のｙ軸方向において、顔画像５０２よりも下方に位置する所定領域を検出領域５０４に設定することにより、操作者が横になっている場合等にも、操作者の上半身が立っている場合と同様の動きにより操作指示を行うことができる。
【００４１】
本実施形態では、検出領域設定部３１２は、矩形状の領域を検出領域５０４に設定しているが、顔画像５０２の位置に従って設定した領域であれば、形状を限定するものではない。例えば、検出領域設定部３１２は、図８に示すように、円弧状に湾曲した領域を検出領域５０４に設定しても良い。具体的には、検出領域設定部３１２は、コンピュータ１０の操作者が自身の顔よりも下の位置で肘を中心として腕を回動させた場合に手が描く軌跡に沿った領域（円弧状に湾曲した領域）を、検出領域５０４に設定するものとする。その際、円弧状に湾曲した領域の弧の半径は、コンピュータ１０の操作者毎に変更可能としても良い。例えば、コンピュータ１０は、当該コンピュータ１０にログインする操作者の操作者ＩＤに対応付けて、検出領域５０４の弧の半径を記憶しておく。そして、検出領域設定部３１２は、コンピュータ１０に操作者がログインした際に、ログインした操作者の操作者ＩＤと対応付けて記憶された弧の半径を読み出し、読み出した弧の半径を有する弧に沿った領域を検出領域５０４に設定する。
【００４２】
図４に戻り、第二の動き検出部３１６は、検出領域設定部３１２により設定された検出領域において検出される第一の動きの補正に用いられ、取得された動画像データに基づく動画像における顔画像の動きである第二の動きを検出する（ステップＳ４１２）。本実施形態では、第二の動き検出部３１６は、図９に示すように、前回検出された顔画像５０２Ａの中心位置（位置座標（Ｘ１，Ｙ１）と、ステップＳ４０４で検出された顔画像５０２Ｂの中心位置（位置座標（Ｘ１´，Ｙ１´）と、の距離を、第二の動き５０７として検出する。
【００４３】
図４に戻り、動き検出部３１４は、設定した検出領域において第一の動きを検出するとともに、検出した第一の動きを補正する（ステップＳ４０７）。また、動き検出部３１４は、検出領域設定部３１２により複数の検出領域が設定された場合、複数の検出領域において動きを検出する。本実施形態では、動き検出部３１４は、図５に示すように、画像取得部３０１により取得された動画像データに基づく動画像を構成するフレーム画像５０１の検出領域５０４における第一の動き５０６を検出する。また、動き検出部３１４は、検出領域設定部３１２により切り換えられたモード（第一のモードまたは第二のモード）に従って、検出領域５０４において第一の動き５０６を検出する。
【００４４】
具体的には、動き検出部３１４は、取得された動画像データに基づく動画像を構成するフレーム画像５０１のうち、最後のフレーム画像が撮像された時刻ｔと当該時刻ｔから所定時間（例えば、１０フレーム分の時間）前の時刻ｔ−１との間のフレーム画像５０１を抽出する。
【００４５】
次いで、動き検出部３１４は、抽出したフレーム画像５０１に含まれる検出領域５０４から、手５０５の第一の動き５０６を検出する。図１０に示す例は、時刻ｔ−１から時刻ｔまでの間に、検出領域５０４に含まれる手５０５が、点線で示す位置Ｐ１から実線で示す位置Ｐ２に移動した例である。具体的には、動き検出部３１４は、時刻ｔの検出領域５０４に含まれる手５０５を含む少なくとも１つの部分画像７０１、および時刻ｔ−１の検出領域５０４に含まれる手５０５の少なくとも１つの部分画像７０２を抽出する。そして、動き検出部３１４は、部分画像７０１，７０２に含まれる手５０５を構成する少なくとも１つの画素Ｇの、時刻ｔと時刻ｔ−１間における移動を、第一の動き５０６として検出する。その際、動き検出部３１４は、検出領域設定部３１２により第一のモードに切り換えられている場合には、ＸＹ座標系を基準にして、画素Ｇの移動を検出する。一方、動き検出部３１４は、検出領域設定部３１２により第二のモードに切り換えられている場合には、ｘｙ座標系を基準にして、画素Ｇの移動を検出する。
【００４６】
本実施形態では、動き検出部３１４は、図１０に示す例において、手５０５の動きを第一の動き５０６として検出しているが、操作者の操作指示の動きを検出するものであれば、これに限定するものではない。例えば、動き検出部３１４は、操作者の操作指示による物（操作者が手に持つ物）の動きを第一の動き５０６として検出しても良い。さらに、動き検出部３１４は、検出領域設定部３１２により複数の検出領域が設定された場合、複数の検出領域においてそれぞれ動きを検出するものとする。
【００４７】
また、動き検出部３１４は、図１１に示すように、検出領域５０４内での手５０５の動きに加えて、当該検出領域５０４の近傍の手５０５ｈの動きを第一の動き５０６として検出しても良い。ただし、検出した第一の動き５０６から操作者による操作指示を判定する際には、検出領域５０４において検出された手５０５の動きのみを用いるものとする。
【００４８】
また、動き検出部３１４は、検出領域５０４における第一の動き５０６のうち、予め設定された速度よりも速い速度で動く動きや、操作指示を意図しない動き（本実施形態では、Ｘ軸またはＹ軸に沿って手５０５を移動させる動きおよびｘ軸またはｙ軸に沿って手５０５を移動させる動き以外の動き）を検出せず、確実に検出することができる動きのみを第一の動き５０６として検出しても良い。これにより、より確実に操作指示の動きの検出を行うことができる。
【００４９】
以上のようにして第一の動き５０６を検出すると、動き検出部３１４は、ステップＳ４１２により検出された第二の動きに起因して第一の動きとして検出された動きの成分が相殺されるよう当該第一の動きを補正する。具体的には、動き検出部３１４は、図９に示すように、検出された第一の動き５０６（検出領域５０４における手５０５の移動距離）から、第二の動き５０７に起因する手５０５の動き５０６Ｓを減算することにより、第一の動き５０６を補正する。ここで、第二の動き５０７に起因する手５０５の動き５０６Ｓは、ＸＹ座標系における、顔画像５０２Ａの中心位置と顔画像５０２Ｂの中心位置との間の距離である。これにより、操作者が椅子から立ち上がった際や操作者が横になった際などに、操作者が操作指示を行うことを意図しないで操作指示を表す動きと同様の動きを行ってしまい、第一の動き５０６が検出されたとしても、第二の動き５０７に起因する動き成分を取り除くことができるので、意図しない手５０５の動きを操作指示の第一の動き５０６として検出されることを防止できる。また、操作者が椅子から立ち上がった際や操作者が横になった際に、操作指示を表す動きが行われ顔の動き（第二の動き５０７）と手５０５の動き（第一の動き５０６）が重なったとしても、第二の動き５０７に起因する動き成分が取り除かれるので、操作者の操作指示の第一の動き５０６のみを検出することができる。
【００５０】
図４に戻り、履歴取得部３１５は、動き検出部３１４により補正された第一の動きの履歴を取得する（ステップＳ４０８）。
【００５１】
次いで、禁止判定部３１３は、操作判定部３０３により操作データが最後に出力されてから操作指示を禁止する禁止期間が経過したか否かを判定する（ステップＳ４０９）。ここで、禁止期間とは、操作者による操作指示を禁止する期間であり、コンピュータ１０の操作者が任意に設定できる。禁止判定部３１３は、禁止期間が経過していない場合（ステップＳ４０９：Ｎｏ）、禁止期間が経過するまで待機する。これにより、操作者が操作指示を行なった直後に他の操作者が操作指示を行なうことで、先に操作指示を行なった操作者による操作指示が、他の操作者が行なった操作指示によって相殺されてしまうことを防止できる。また、操作者が同じ動きによる操作指示を連続して行なった場合（例えば、手５０５を上から下へ移動させる動きを連続して行なった場合）、手５０５を上から下へと移動させる動きを行なった後、手５０５を元の位置に戻す際に、手５０５を元の位置に戻す動きが検出されて、当該手５０５を元の位置に戻す動きによって、手５０５を上から下へと移動させる動きが相殺されることを防止できる。
【００５２】
また、禁止判定部３１３は、禁止期間が経過した後、操作指示が可能であることを報知する。本実施形態では、禁止判定部３１３は、操作指示が可能である場合、操作指示が可能であることを示すメッセージをディスプレイユニット１２に表示するなど、ディスプレイユニット１２の表示態様を変えることにより、操作指示が可能であることを報知する。なお、本実施形態では、禁止判定部３１３は、ディスプレイユニット１２の表示態様を変えることにより操作指示が可能であることを報知しているが、これに限定するものではなく、例えば、図示しないＬＥＤインジケータやスピーカ１８Ａ，１８Ｂを用いて、操作指示が可能であることを報知しても良い。
【００５３】
禁止期間が経過したと判定された場合（ステップＳ４０９：Ｙｅｓ）、操作判定部３０３は、履歴取得部３１５により取得された動きの履歴から、検出した動きによる操作指示を表す操作データを出力する（ステップＳ４１０）。本実施形態では、操作判定部３０３は、履歴取得部３１５により取得された動きが、ＸＹ座標系（またはｘｙ座標系）において、上下または左右に移動する動きである場合に、当該取得された動きによる操作指示を表す操作データを出力する出力部として機能する。
【００５４】
具体的には、検出領域設定部３１２により第一のモードに切り換えられ、履歴取得部３１５により取得された第一の動き５０６が、図１２（ａ）に示すように検出領域５０４を右から左に移動する動き（ＸＹ座標系のＸ軸に対して略平行に、プラス側からマイナス側へと移動する動き）である場合、操作判定部３０３は、ディスプレイユニット１２のウィンドウに表示された画像を右側にスクロールする操作指示を表す操作データを出力する。
【００５５】
また、検出領域設定部３１２により第一のモードに切り換えられ、履歴取得部３１５により取得された第一の動き５０６が、図１２（ｂ）に示すように検出領域５０４を左から右に移動する動き（ＸＹ座標系のＸ軸に対して略平行に、マイナス側からプラス側へと移動する動き）である場合、操作判定部３０３は、ディスプレイユニット１２のウィンドウに表示された画像を左側にスクロールする操作指示を表す操作データを出力する。
【００５６】
また、検出領域設定部３１２により第一のモードに切り換えられ、履歴取得部３１５により取得された第一の動き５０６が、図１２（ｃ）に示すように検出領域５０４を上から下に移動する動き（ＸＹ座標系のＹ軸に対して略平行に、マイナス側からプラス側へと移動する動き）である場合、操作判定部３０３は、ディスプレイユニット１２のウィンドウに表示された画像を下側にスクロールさせる操作指示を表す操作データを出力する。
【００５７】
また、検出領域設定部３１２により第一のモードに切り換えられ、履歴取得部３１５により取得された第一の動き５０６が、図１２（ｄ）に示すように検出領域５０４を下から上に移動する動き（ＸＹ座標系のＹ軸に対して略平行に、プラス側からマイナス側へと移動する動き）である場合、操作判定部３０３は、ディスプレイユニット１２のウィンドウに表示された画像を上側にスクロールさせる操作指示を表す操作データを出力する。
【００５８】
また、検出領域設定部３１２により第二のモードに切り換えられ、履歴取得部３１５により取得された第一の動き５０６が、図１３（ａ）に示すように検出領域５０４を右から左に移動する動き（ｘｙ座標系のｘ軸に対して略平行に、プラス側からマイナス側へと移動する動き）である場合、操作判定部３０３は、ディスプレイユニット１２に表示されている放送データのチャンネル番号の選局を増加する操作指示を表す操作データを出力する。
【００５９】
また、検出領域設定部３１２により第二のモードに切り換えられ、履歴取得部３１５により取得された第一の動き５０６が、図１３（ｂ）に示すように検出領域５０４を左から右に移動する動き（ｘｙ座標系のｘ軸に対して略平行に、マイナス側からプラス側へと移動する動き）である場合、操作判定部３０３は、ディスプレイユニット１２に表示されている放送データのチャンネル番号の選局を減らす操作指示を表す操作データを出力する。
【００６０】
また、検出領域設定部３１２により第二のモードに切り換えられ、履歴取得部３１５により取得された第一の動き５０６が、図１３（ｃ）に示すように検出領域５０４を上から下に移動する動き（ｘｙ座標系のｙ軸に対して略平行に、マイナス側からプラス側へと移動する動き）である場合、操作判定部３０３は、ディスプレイユニット１２に表示されている放送データに関わりかつスピーカ１８Ａ，１８Ｂから出力される音声の音量を下げる操作指示を表す操作データを出力する。
【００６１】
また、検出領域設定部３１２により第二のモードに切り換えられ、履歴取得部３１５により取得された第一の動き５０６が、図１３（ｄ）に示すように検出領域５０４を下から上に移動する動き（ｘｙ座標系のｙ軸に対して略平行に、プラス側からマイナス側へと移動する動き）である場合、操作判定部３０３は、ディスプレイユニット１２に表示されている放送データに関わりかつスピーカ１８Ａ，１８Ｂから出力される音声の音量を上げる操作指示を表す操作データを出力する。
【００６２】
また、操作判定部３０３は、動き検出部３１４により複数の検出領域において動きが検出された場合、複数の検出領域において検出した動きによる操作指示に基づく操作データを出力するものとする。例えば、操作判定部３０３は、複数の検出領域において検出された動きを蓄積する。
【００６３】
そして、操作判定部３０３は、蓄積した動きが同一の操作指示に対応する動きである場合には、蓄積した動きによる操作指示を表す操作データを出力する。例えば、ディスプレイユニット１２に表示されている放送データのチャンネル番号を増加する操作指示に対応する動きが略同時に検出された場合、放送データのチャンネル番号を減らす操作指示を表す操作データを出力する。
【００６４】
一方、操作判定部３０３は、蓄積した動きが、互いに打ち消しあう操作指示に対応する動きである場合には、操作データを出力しない。例えば、スピーカ１８Ａ，１８Ｂから出力される音量を上げる操作指示に対応する動きと、スピーカ１８Ａ，１８Ｂから出力される音量を下げる操作指示に対応する動きと、が略同時に検出された場合に、操作データを出力しない。
【００６５】
図４に戻り、操作判定部３０３から操作データが出力されると、操作実行部３０４は、出力された操作データに従って操作対象機器（例えば、ディスプレイユニット１２など）を制御する。
【００６６】
なお、複数のウィンドウをディスプレイユニット１２に表示可能なコンピュータ１０においては、操作者が視聴しているウィンドウ（表示データ）と同時に、入力された動画像データに基づく顔画像を含む動画像に検出領域を重ねた画像が表示されたウィンドウをディスプレイユニット１２に表示しても良い。これにより、コンピュータ１０の操作者は、動画像に含まれる顔画像および検出領域が表示されたウィンドウを見ることにより、どの位置で操作指示の動きを行えば操作指示を行なえるのかを容易に把握することができる。
【００６７】
このように本実施形態にかかるコンピュータ１０によれば、入力された動画像データに基づく動画像に含まれる顔画像の位置に従って当該動画像を構成するフレーム画像に対して検出領域を設定して、当該検出領域において、操作者の操作指示の動きである第一の動きを検出し、動画像における顔画像の動きである第二の動きに起因して第一の動きとして検出される動きの成分が相殺されるよう当該第一の動きを補正し、補正した第一の動きによる操作指示を表す操作データを出力することにより、操作者が椅子から立ち上がった場合など、操作指示を行うことを意図せずに操作指示の動きと同様の動きを行ってしまった場合に、当該動きを操作指示の動きとして検出することを防止できるので、ジェスチャーによる操作対象機器の操作精度を向上させることができる。また、操作者の操作指示の動きを検出する領域を操作者が容易に認識できるので、ジェスチャーによるコンピュータ１０の操作精度を向上させることができる。
【００６８】
本実施形態のコンピュータ１０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供されても良い。
【００６９】
また、本実施形態のコンピュータ１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のコンピュータ１０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００７０】
また、本実施形態のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００７１】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７２】
１０  コンピュータ
１１１  ＣＰＵ
１１２  主メモリ
３０２  検出部
３０３  操作判定部
３１１  顔検出・追跡部
３１２  検出領域設定部
３１４  動き検出部
３１５  履歴取得部
３１６  第二の動き検出部
【図１】
2013246516.tif 000003
【図２】
2013246516.tif 000004
【図３】
2013246516.tif 000005
【図４】
2013246516.tif 000006
【図５】
2013246516.tif 000007
【図６】
2013246516.tif 000008
【図７】
2013246516.tif 000009
【図８】
2013246516.tif 000010
【図９】
2013246516.tif 000011
【図１０】
2013246516.tif 000012
【図１１】
2013246516.tif 000013
【図１２】
2013246516.tif 000014
【図１３】
2013246516.tif 000015