(57)【要約】【課題】コマンドに対応付けて記憶されていない新規なジェスチャが入力された場合でも、当該ジェスチャに新たにコマンドを割り当てて記憶させることができる。【解決手段】ジェスチャと当該ジェスチャにより実行されるコマンドとを対応付けて記憶するジェスチャ・コマンド記憶部２１０と、ユーザーにより入力されるジェスチャを特定する入力ジェスチャ特定部２２０と、入力されるジェスチャに対応するコマンドをジェスチャ・コマンド記憶部２１０から読み出して実行するコマンド実行部２３０と、入力されるジェスチャがジェスチャ・コマンド記憶部２１０に記憶されていない新規ジェスチャである場合に、新規ジェスチャの入力情報を当該新規ジェスチャに対応付けて記憶する新規ジェスチャ記憶部２４０と、入力情報が所定のコマンド割当条件を満たした新規ジェスチャに対して、コマンドを対応付けてジェスチャ・コマンド記憶部２１０に記憶させるジェスチャ・コマンド割当部２５０と、を備えることを特徴とするジェスチャ・コマンド処理装置２００を提供する。【選択図】図５
2011209773.tif 000002
【特許請求の範囲】
【請求項１】
ジェスチャと当該ジェスチャにより実行されるコマンドとを対応付けて記憶するジェスチャ・コマンド記憶部と、
ユーザーにより入力されるジェスチャを特定する入力ジェスチャ特定部と、
入力される前記ジェスチャに対応付けて前記ジェスチャ・コマンド記憶部に記憶されている前記コマンドを実行するコマンド実行部と、
入力される前記ジェスチャが前記ジェスチャ・コマンド記憶部に記憶されていない新規ジェスチャである場合に、前記新規ジェスチャの入力情報を当該新規ジェスチャに対応付けて記憶する新規ジェスチャ記憶部と、
前記入力情報が所定のコマンド割当条件を満たした前記新規ジェスチャに対して、コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させるジェスチャ・コマンド割当部と、
を備えることを特徴とするジェスチャ・コマンド処理装置。
【請求項２】
前記新規ジェスチャ記憶部は、前記新規ジェスチャの累積入力回数を前記入力情報として前記新規ジェスチャに対応付けて記憶し、
前記ジェスチャ・コマンド割当部は、前記新規ジェスチャの前記累積入力回数が所定回数に達したことに応じて、前記新規ジェスチャに対して前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させることを特徴とする請求項１に記載のジェスチャ・コマンド処理装置。
【請求項３】
前記新規ジェスチャ記憶部は、前記新規ジェスチャの連続入力回数を前記入力情報として前記新規ジェスチャに対応付けて記憶し、
前記ジェスチャ・コマンド割当部は、前記新規ジェスチャの前記連続入力回数が所定回数に達したことに応じて、前記新規ジェスチャに対して前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させることを特徴とする請求項１または２に記載のジェスチャ・コマンド処理装置。
【請求項４】
いずれの前記ジェスチャにも対応付けられていない未登録の前記コマンドを記憶する未登録コマンド記憶部を更に備え、
前記ジェスチャ・コマンド割当部は、前記コマンド割当条件を満たした前記新規ジェスチャに対して、未登録の前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させることを特徴とする請求項１から３のいずれか１項に記載のジェスチャ・コマンド処理装置。
【請求項５】
前記ジェスチャ・コマンド割当部は、
入力される前記ジェスチャが前記ジェスチャ・コマンド記憶部に記憶されている前記ジェスチャである場合に、当該ジェスチャとともに前記コマンド変更要求が入力されたことに応じて、当該ジェスチャと対応付けて前記ジェスチャ・コマンド記憶部に記憶されている前記コマンドを他の前記コマンドに変更することを特徴とする請求項１から４のいずれか１項に記載のジェスチャ・コマンド処理装置。
【請求項６】
ジェスチャと当該ジェスチャにより実行されるコマンドとを対応付けて記憶し、
ユーザーにより入力されるジェスチャを特定し、
入力される前記ジェスチャに対応する前記コマンドを実行し、
入力される前記ジェスチャが記憶していない新規ジェスチャである場合に、前記新規ジェスチャの入力情報を当該新規ジェスチャに対応付けて記憶し、
前記入力情報が所定のコマンド割当条件を満たした前記新規ジェスチャに対して、前記コマンドを対応付けて記憶することを特徴とするジェスチャ・コマンド処理方法。
【請求項７】
コンピューターを、
ジェスチャと当該ジェスチャにより実行されるコマンドとを対応付けて記憶するジェスチャ・コマンド記憶部と、
ユーザーにより入力されるジェスチャを特定する入力ジェスチャ特定部と、
入力される前記ジェスチャに対応する前記コマンドを前記ジェスチャ・コマンド記憶部から読み出して実行するコマンド実行部と、
入力される前記ジェスチャが前記ジェスチャ・コマンド記憶部に記憶されていない新規ジェスチャである場合に、前記新規ジェスチャの入力情報を当該新規ジェスチャに対応付けて記憶する新規ジェスチャ記憶部と、
前記入力情報が所定のコマンド割当条件を満たした前記新規ジェスチャに対して、前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させるジェスチャ・コマンド割当部と、
を備えることを特徴とするジェスチャ・コマンド処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジェスチャ・コマンド処理装置、ジェスチャ・コマンド処理方法、およびプログラムに関し、特に、ユーザーの体の一部または専用の指示媒体を用いてジェスチャ入力を行うことにより、操作対象機器に対して当該ジェスチャ入力に対応して割り当てられるコマンドを実行することのできるジェスチャ・コマンド処理装置、ジェスチャ・コマンド処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、コンピューターやテレビ・オーディオなどの電子機器に対して所定の操作コマンドを実行するためのユーザーインターフェイスとしては、マウスやキーボードあるいはリモートコントローラーを用いた操作入力が一般的であるが、近年、ユーザーインターフェイスの新しい方法として、予めコマンドに対応付けて登録しておいたジェスチャをペンやマウスなどを用いて行うことにより、対応するコマンドを実行させるジェスチャ認識システムが知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２３３４５２号公報
【特許文献２】特開２００８−２８２０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、このようなシステムは、複数のユーザーで使用する場合や使用頻度が低い場合に、登録されているジェスチャとコマンドの対応関係が分からなくなることが課題であった。これに対し、例えば特許文献２に記載のように、ジェスチャとコマンドの対応関係の一覧を表示する方法が知られている。
【０００５】
このような方法では、システムに登録されているジェスチャとコマンドをユーザーに知らせることはできるが、当該ユーザーは、登録されているジェスチャを覚えなければならず、自分にとって分かり易いあるいは簡単なジェスチャを新規に登録したり、既登録のジェスチャに置き換えて登録するようなジェスチャ−コマンド対応関係の追加・変更が難しかった。
【課題を解決するための手段】
【０００６】
上記課題を解決することを目的とし、本発明は、ジェスチャと当該ジェスチャにより実行されるコマンドとを対応付けて記憶するジェスチャ・コマンド記憶部と、ユーザーにより入力されるジェスチャを特定する入力ジェスチャ特定部と、入力される前記ジェスチャに対応する前記コマンドを前記ジェスチャ・コマンド記憶部から読み出して実行するコマンド実行部と、入力される前記ジェスチャが前記ジェスチャ・コマンド記憶部に記憶されていない新規ジェスチャである場合に、前記新規ジェスチャの入力情報を当該新規ジェスチャに対応付けて記憶する新規ジェスチャ記憶部と、前記入力情報が所定のコマンド割当条件を満たした前記新規ジェスチャに対して、前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させるジェスチャ・コマンド割当部と、を備えることを特徴とするジェスチャ・コマンド処理装置を提供する。
【０００７】
このようなジェスチャ・コマンド処理装置によれば、コマンドに対応付けて記憶されていない新規なジェスチャが入力された場合でも、当該ジェスチャに新たにコマンドを割り当てて記憶させることができる。
【０００８】
また、上記ジェスチャ・コマンド処理装置において、前記新規ジェスチャ記憶部は、前記新規ジェスチャの累積入力回数を前記入力情報として前記新規ジェスチャに対応付けて記憶し、前記ジェスチャ・コマンド割当部は、前記新規ジェスチャの前記累積入力回数が所定回数に達したことに応じて、前記新規ジェスチャに対して前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させることが好ましい。
【０００９】
これにより、例えばユーザーが自分にとって分かり易いあるいは簡単なジェスチャを所定回数入力することで、当該ジェスチャに新たにコマンドを割り当てて記憶させることができる。
【００１０】
また、上記ジェスチャ・コマンド処理装置において、前記新規ジェスチャ記憶部は、前記新規ジェスチャの連続入力回数を前記入力情報として前記新規ジェスチャに対応付けて記憶し、前記ジェスチャ・コマンド割当部は、前記新規ジェスチャの前記連続入力回数が所定回数に達したことに応じて、前記新規ジェスチャに対して前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させることが好ましい。
【００１１】
これにより、例えばユーザーが自分にとって分かり易いあるいは簡単なジェスチャを連続で所定回数入力することで、当該ジェスチャに新たにコマンドを割り当てて記憶させることができる。
【００１２】
また、上記ジェスチャ・コマンド処理装置は、いずれの前記ジェスチャにも対応付けられていない未登録の前記コマンドを記憶する未登録コマンド記憶部を更に備え、前記ジェスチャ・コマンド割当部は、前記コマンド割当条件を満たした前記新規ジェスチャに対して、未登録の前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させることが好ましい。
【００１３】
これにより、予め設定されたコマンド割当条件を満たして入力された新規なジェスチャに対して、ジェスチャが割り当てられていないコマンドを割り当てて記憶させることができる。
【００１４】
また、上記ジェスチャ・コマンド処理装置において、前記ジェスチャ・コマンド割当部は、入力される前記ジェスチャが前記ジェスチャ・コマンド記憶部に記憶されている前記ジェスチャである場合に、当該ジェスチャとともに所定の前記コマンド変更要求が入力されたことに応じて、当該ジェスチャと対応付けて前記ジェスチャ・コマンド記憶部に記憶されている前記コマンドを他の前記コマンドに変更することが好ましい。
【００１５】
これにより、すでにコマンドが割り当てられているジェスチャであっても、所定のコマンド変更要求が入力されたことを条件として、当該ジェスチャに対応付けられているコマンドを変更することができる。
【００１６】
また、本発明は、他の形態として、ジェスチャと当該ジェスチャにより実行されるコマンドとを対応付けて記憶し、ユーザーにより入力されるジェスチャを特定し、入力される前記ジェスチャに対応する前記コマンドを実行し、入力される前記ジェスチャが記憶していない新規ジェスチャである場合に、前記新規ジェスチャの入力情報を当該新規ジェスチャに対応付けて記憶し、前記入力情報が所定のコマンド割当条件を満たした前記新規ジェスチャに対して、前記コマンドを対応付けて記憶することを特徴とするジェスチャ・コマンド処理方法を提供する。
【００１７】
また、本発明は、さらに他の形態として、コンピューターを、
ジェスチャと当該ジェスチャにより実行されるコマンドとを対応付けて記憶するジェスチャ・コマンド記憶部と、ユーザーにより入力されるジェスチャを特定する入力ジェスチャ特定部と、入力される前記ジェスチャに対応する前記コマンドを前記ジェスチャ・コマンド記憶部から読み出して実行するコマンド実行部と、入力される前記ジェスチャが前記ジェスチャ・コマンド記憶部に記憶されていない新規ジェスチャである場合に、前記新規ジェスチャの入力情報を当該新規ジェスチャに対応付けて記憶する新規ジェスチャ記憶部と、前記入力情報が所定のコマンド割当条件を満たした前記新規ジェスチャに対して、前記コマンドを対応付けて前記ジェスチャ・コマンド記憶部に記憶させるジェスチャ・コマンド割当部と、を備えることを特徴とするジェスチャ・コマンド処理装置として機能させるプログラムを提供する。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るジェスチャ入力システム１０の機能ブロック図である。
【図２】ジェスチャ入力装置１００の機能ブロック図である。
【図３】撮像データの一例を示す。
【図４】図３の撮像データにおけるユーザーの手が存在する領域から特定される当該領域の重心位置の移動方向・移動速度をベクトルで示した例である。
【図５】ジェスチャ・コマンド処理装置２００の機能ブロック図である。
【図６】ユーザーによりジェスチャが入力されたときのジェスチャ入力装置１００における処理フローの一例を示す。
【図７】ユーザーによりジェスチャが入力されたときのジェスチャ・コマンド処理装置２００における処理フローの一例を示す。
【図８】表示装置３００の表示画面に表示される候補コマンド一覧の一例である。
【図９】コンピューター１０００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１９】
以下、添付図面に基づいて本発明の一実施形態について説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また、実施形態における特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２０】
図１は、本発明の実施形態に係るジェスチャ入力システム１０の機能ブロック図である。本実施形態のジェスチャ入力システム１０は、図１に示すように、ジェスチャ入力装置１００、ジェスチャ・コマンド処理装置２００、表示装置３００、および操作対象機器４００で構成され、ジェスチャ入力装置１００を通じてユーザーが予め登録されているジェスチャを入力すると、ジェスチャ・コマンド処理装置２００において入力されたジェスチャに対応するコマンドが実行されて、例えばテレビ、ゲーム機、あるいはオーディオ装置などの操作対象機器４００に対して当該コマンドの内容に応じた操作を行うことができるシステムである。
【００２１】
図２は、ジェスチャ入力システム１０を構成するジェスチャ入力装置１００の機能ブロック図である。ジェスチャ入力装置１００は、本例では動画を撮影可能なカメラであり、図２に示すように、撮像部１１０、撮像データ処理部１２０、記憶部１３０、および制御部１４０を備える。
【００２２】
なお、ジェスチャ入力装置１００は、例えばジェスチャ・コマンド処理装置２００に無線または有線により接続されたマウスやペンデバイスであってもよく、この場合は、ユーザーはマウスやペンデバイスを動かすことでジェスチャ・コマンド処理装置２００に対してジェスチャを入力する。また、これに替えて、ジェスチャ入力装置１００は、表示装置３００がＬＣＤなどの表示画面を有するデバイスである場合は、当該表示画面上に設けられたタッチパネルなどであってもよい。この場合は、ユーザーは例えば表示画面を指でなぞることでジェスチャ・コマンド処理装置２００に対してジェスチャを入力する。
【００２３】
撮像部１１０は、光学レンズなどの光学系およびイメージセンサーを有し、撮像範囲内の動画あるいは静止画の撮像信号を撮像データ処理部１２０に出力する。イメージセンサーには、例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等の撮像素子アレイが用いられる。
【００２４】
撮像データ処理部１２０は、信号増幅回路、ノイズ補正回路、および各種の信号処理回路を有し、撮像部１１０からの撮像信号から所定のフレームレートで撮像データを生成する。また、撮像データ処理部１２０は、生成した撮像データからユーザーの顔検出処理および顔向き判定処理を実行する。具体的には、撮像データ処理部１２０は、例えば、生成した撮像データから肌色領域を抽出して当該領域の形状を特定し、その形状と予め記憶されたパターンデータとの比較演算を行うことにより、撮像データにユーザーの顔が存在するか否かを判別する。
【００２５】
そして、撮像データ処理部１２０は、ユーザーの顔が検出された場合、その顔領域内の特徴点を抽出して上記パターンデータに対応付けて記憶された特徴点との比較演算を行うことにより、ユーザーの顔の向きを検出する。そして、撮像データ処理部１２０は、ユーザーの顔が撮像部１１０側（正面）を一定時間以上向いていることが検出された場合、ユーザーの手の位置およびその動きを検出する。
【００２６】
例えば、撮像データ処理部１２０は、撮像データから抽出した肌色領域におけるユーザーの顔以外の領域の形状を特定し、その形状と予め記憶されたパターンデータとの比較演算を行うことにより、撮像データからユーザーの手が存在する領域を検出する。より具体的には、撮像データ処理部１２０は、例えば生成した撮像データが図３に示すようなものである場合、当該撮像データから抽出される肌色領域のうち、形状特徴などからユーザーの手が存在する領域として、図３に「Ｈ１」および「Ｈ２」で示す領域を特定する。
【００２７】
図４は、図３の撮像データにおけるユーザーの手が存在する領域から特定される当該領域の重心位置の移動方向・移動速度をベクトルで示した例である。撮像データ処理部１２０は、図３に示す撮像データから特定した上記「Ｈ１」および「Ｈ２」で示す領域の特徴量を抽出する。本例では、撮像データ処理部１２０は、図４に示すように、「Ｈ１」および「Ｈ２」の各領域の長手方向の長さと重心位置を特定するとともに、直前フレームの撮像データからの重心位置の移動距離を特定する。これにより、上記各領域の重心位置の移動方向および移動速度が特定される（図４では「Ｈ１」および「Ｈ２」の各領域の移動方向および移動速度をベクトル「Ｖ１」および「Ｖ２」で示している）。
【００２８】
そして、撮像データ処理部１２０は、上記各領域の重心位置とその移動方向および移動速度をユーザーの手の位置と移動方向および移動速度、すなわちジェスチャの特徴量として記憶部１３０へと出力する。なお、撮像データ処理部１２０は、ジェスチャの特徴量を、生成した撮像データの一または複数のフレームに対応付けて記憶部１３０へと出力してもよい。また、撮像データ処理部１２０による上記特徴量の特定は、例えばジェスチャ・コマンド処理装置２００における後述の入力ジェスチャ特定部２２０が行ってもよい。
【００２９】
制御部１４０は、ジェスチャ入力装置１００の各部の動作状況や設定情報を検出して当該各部を制御する。例えば、制御部１４０は、撮像データ処理部１２０による上記の各検出結果に基づいて、撮像データ処理部１２０で生成された撮像データおよび上記特徴量を記憶部１３０に記憶させるか否かを制御する。
【００３０】
例えば、制御部１４０は、予め設定された条件に基づいて、撮像データの記憶を開始すべき旨のキャプチャ命令を記憶部１３０へ出力する。本例では、制御部１４０は、ユーザーの顔が正面を向いていることを撮像データ処理部１２０が検出したことを条件として、キャプチャ命令を記憶部１３０へ出力する。なお、制御部１４０がキャプチャ命令を出力するための条件はこれに限られず、例えばキャプチャを開始すべき旨のジェスチャを予め設定しておき、ユーザーが当該ジェスチャを行ったことを撮像データ処理部１２０が検出したことを条件としても良い。
【００３１】
そして、制御部１４０は、予め設定された条件に基づいて、撮像データの記憶を停止すべき旨のキャプチャ停止命令を記憶部１３０へ出力する。本例では、制御部１４０は、ユーザーの顔が正面を向かなくなった、または、ユーザーの顔や手が撮像部１１０の撮像範囲外に出たことを撮像データ処理部１２０が検出したことを条件として、キャプチャ停止命令を記憶部１３０へ出力する。また、これに替えて、制御部１４０は、ユーザーの手の重心位置が所定の領域内に一定時間留まっていること、または記憶部１３０にキャプチャ命令を出力してから一定時間が経過したことを上記条件としてキャプチャ停止命令を記憶部１３０へ出力してもよい。
【００３２】
記憶部１３０は、撮像データ処理部１２０から入力される撮像データおよび上記特徴量を記憶する。本例では、記憶部１３０は、撮像データ処理部１２０からの撮像データをフレーム単位で記憶する。そして、記憶部１３０は、ジェスチャ・コマンド処理装置２００からのアクセスに応じて、記憶している撮像データおよび上記特徴量をジェスチャ・コマンド処理装置２００へと出力する。本例では、記憶部１３０は、制御部１４０からのキャプチャ命令を受け付けたことに応じて、撮像データ処理部１２０から入力される撮像データおよび上記特徴量の記憶を開始し、制御部１４０からのキャプチャ停止命令を受け付けたことに応じて、撮像データおよび上記特徴量の記憶を終了する。この記憶部１３０には、例えばフラッシュメモリーなどの記憶素子やハードディスクなどの記憶媒体が用いられる。
【００３３】
図５は、ジェスチャ・コマンド処理装置２００の機能ブロック図である。ジェスチャ・コマンド処理装置２００は、図２に示すように、ジェスチャ・コマンド記憶部２１０、入力ジェスチャ特定部２２０、コマンド実行部２３０、新規ジェスチャ記憶部２４０、ジェスチャ・コマンド割当部２５０、設定条件記憶部２６０、および未登録コマンド記憶部２７０を備える。
【００３４】
ジェスチャ・コマンド記憶部２１０は、ジェスチャと当該ジェスチャにより実行されるべきコマンドとを対応付けて記憶する。例えば、ジェスチャ・コマンド記憶部２１０は、「右手（左手）で丸を描く」というジェスチャと「操作対象機器４００の電源を入れる」とのコマンド（操作コマンド）とを対応付けて記憶する。なお、ここでいうコマンドは、操作対象機器４００に対する特定の操作を指すものである。
【００３５】
入力ジェスチャ特定部２２０は、ジェスチャ入力装置１００を通じてユーザーにより入力されるジェスチャを特定する。より具体的には、入力ジェスチャ特定部２２０は、ジェスチャ入力装置１００の記憶部１３０にアクセスして記憶部１３０に記憶された撮像データおよび上記特徴量を取り込む。そして、入力ジェスチャ特定部２２０は、撮像データをおよび上記特徴量に基づいて、ユーザーにより入力されるジェスチャを特定する。
【００３６】
そして、入力ジェスチャ特定部２２０は、ジェスチャ・コマンド記憶部２１０にアクセスして特定されたジェスチャに対応するコマンドを読み出して当該コマンドをコマンド実行部２３０へと出力する。より具体的には、入力ジェスチャ特定部２２０は、例えば、ユーザーが行ったジェスチャが「右手（左手）で丸を描く」ジェスチャであると特定された場合、当該ジェスチャに対応する「操作対象機器４００の電源を入れる」とのコマンドをジェスチャ・コマンド記憶部２１０から読み出して当該コマンドをコマンド実行部２３０へと出力する。
【００３７】
なお、入力ジェスチャ特定部２２０による上記ジェスチャの特定方法は特に限定されないが、例えば、入力ジェスチャ特定部２２０は、ジェスチャ・コマンド記憶部２１０にアクセスして、コマンドと対応して記憶されている全てのジェスチャを読み出し、その特徴量と入力されたジェスチャの特徴量との類似度を算出し、当該類似度が最も高いジェスチャをユーザーが行ったジェスチャとしてもよい。
【００３８】
コマンド実行部２３０は、入力ジェスチャ特定部２２０において特定されたジェスチャに対応付けてジェスチャ・コマンド記憶部２１０に記憶されているコマンドを実行する。より具体的には、コマンド実行部２３０は、例えば、入力ジェスチャ特定部２２０から「操作対象機器４００の電源を入れる」とのコマンドが入力された場合、操作対象機器４００に対して電源をオンすべき旨の信号を出力する。
【００３９】
新規ジェスチャ記憶部２４０は、入力ジェスチャ特定部２２０に入力されるジェスチャがジェスチャ・コマンド記憶部２１０に記憶されていないジェスチャ（以下、「新規ジェスチャ」と称する）である場合に、当該新規ジェスチャの入力情報を記憶する。本例では、新規ジェスチャ記憶部２４０は、入力ジェスチャ特定部２２０に新規ジェスチャが入力される度に、その入力情報を当該新規ジェスチャに対応付けて記憶する。ここで、入力情報には、上記新規ジェスチャが入力されたタイミング（時間）、累積入力回数、連続入力回数、および最後に入力されてからの経過時間などが含まれる。
【００４０】
ジェスチャ・コマンド割当部２５０は、上記入力情報が所定のコマンド割当条件を満たした新規ジェスチャに対して、操作対象機器４００に対する特定の操作などを行うためのコマンドを対応付けてジェスチャ・コマンド記憶部２１０に記憶させる。より具体的には、ジェスチャ・コマンド割当部２５０は、例えば新規ジェスチャの累積入力回数が予め設定した回数に達した場合、あるいは、新規ジェスチャの連続入力回数が予め設定した回数に達した場合に、上記コマンド割当条件を満たしたとして、当該新規ジェスチャに対して上記コマンドを対応付けてジェスチャ・コマンド記憶部２１０に記憶させる。
【００４１】
なお、本例では、上記コマンド割当条件は、設定条件記憶部２６０に記憶されている。したがって、ジェスチャ・コマンド割当部２５０は、新規ジェスチャ記憶部２４０に記憶されている各新規ジェスチャの入力情報のいずれかが更新されると、設定条件記憶部２６０に記憶された上記コマンド割当条件を読み出して更新された新規ジェスチャの入力情報と比較する。なお、設定条件記憶部２６０を、外部からの操作入力あるいは内部プログラムによって記憶内容を書換え可能な記憶素子で構成してもよい。
【００４２】
未登録コマンド記憶部２７０は、いずれのジェスチャにも対応付けられていない未登録のコマンドを記憶する。例えば、未登録コマンド記憶部２７０は、ジェスチャ・コマンド記憶部２１０に記憶されていない全てのコマンドを記憶してもよいが、それら全てのコマンドのうち、ジェスチャの入力に応じて実行されるべきコマンドのみを記憶してもよい。
【００４３】
本例では、ジェスチャ・コマンド割当部２５０は、上記コマンド割当条件を満たした新規ジェスチャに対して、未登録の全てのコマンドを未登録コマンド記憶部２７０から読み出す。そして、未登録の全てのコマンドの一覧を表示装置３００へと出力する。そして、表示装置３００に表示されたコマンドの一覧からユーザーが特定のコマンドを選択するためのジェスチャを行うと、ジェスチャ・コマンド割当部２５０は、新規ジェスチャに対して選択されたコマンドを対応付けてジェスチャ・コマンド記憶部２１０に記憶させる。
【００４４】
なお、新たにコマンドと対応付けてジェスチャ・コマンド記憶部２１０に記憶されたジェスチャを次にユーザーが行った場合は、そのコマンドがコマンド実行部２３０により実行される。
【００４５】
また、ジェスチャ・コマンド割当部２５０は、ユーザーにより入力されるジェスチャが、ジェスチャ・コマンド記憶部２１０において既にいずれかのコマンドと対応付けて記憶されているジェスチャ（既登録ジェスチャ）である場合は、通常は、そのコマンドが実行される。しかしながら、既登録ジェスチャとともに所定のコマンド割当条件が入力されたことに応じて、当該ジェスチャと対応付けてジェスチャ・コマンド記憶部２１０に記憶されているコマンドを他のコマンドに変更する。
【００４６】
具体的には、本例では、特定のジェスチャを、続けて入力される既登録ジェスチャに割り当てられているコマンドを他のコマンドへ変更するための変更操作を開始すべき旨を示すコマンド変更ジェスチャとして予めジェスチャ・コマンド記憶部２１０に記憶させておく。そして、ジェスチャ・コマンド割当部２５０は、コマンド変更ジェスチャに続けて既登録ジェスチャが入力されたことに応じて、未登録の全てのコマンドを未登録コマンド記憶部２７０から読み出して、その一覧を表示装置３００へと出力する。そして、表示装置３００に表示されたコマンドの一覧からユーザーが特定のコマンドを選択するためのジェスチャを行うと、ジェスチャ・コマンド割当部２５０は、上記既登録ジェスチャに対応付けられていたコマンドを選択されたコマンドに変更してジェスチャ・コマンド記憶部２１０に記憶させる。なお、上記変更操作を開始するためのコマンド割当条件は、上記のコマンド変更ジェスチャの入力に限られず、他のインターフェイスによる特定のコマンド入力を、上記変更操作を開始するためのコマンド割当条件としてもよい。
【００４７】
以下において、本システムを用いてジェスチャ入力により操作対象機器４００を操作する際の具体的なフローを説明する。図６は、ユーザーによりジェスチャが入力されたときのジェスチャ入力装置１００における処理フローの一例を示す。本フローでは、まず、ジェスチャ入力装置１００の撮像部１１０により動画の撮像を開始する（ステップＳ５００）。
【００４８】
そして、撮像データ処理部１２０において、撮像部１１０からの撮像信号に基づいて生成された撮像データからユーザーの顔検出処理および顔向き判定処理が行われる（ステップＳ５０５）。そして、ユーザーの顔が撮像部１１０側（正面）を向いていることが検出されると（ステップＳ５１０：ＹＥＳ）、記憶部１３０によって撮像データが記憶される（ステップＳ５１５）。また、このとき、撮像データ処理部１２０でジェスチャの特徴量が抽出されて撮像データとともに記憶部１３０に記憶される（ステップＳ５２０）。なお、上記顔検出処理および顔向き判定処理の結果、ユーザーの顔が正面を向いていない場合は（ステップＳ５１０：ＮＯ）、引き続き顔検出処理および顔向き判定処理が行われる（ステップＳ５０５）。
【００４９】
そして、記憶部１３０による撮像データおよびジェスチャの特徴量のキャプチャを停止すべきか否かが制御部１４０によって判定される（ステップＳ５２５）。本例では、ユーザーの手の重心位置が所定の領域内に一定時間留まっているか、または制御部１４０から記憶部１３０にキャプチャ命令が出力されてからの経過時間が予め設定した時間に達した場合に、記憶部１３０によるキャプチャを停止すべき条件が満たされたものと判定され（ステップＳ５３０：ＹＥＳ）、制御部１４０から記憶部１３０にキャプチャ停止命令が出力される。
【００５０】
これにより、記憶部１３０による撮像データおよびジェスチャの特徴量のキャプチャが終了し（ステップＳ５３５）、当該撮像データおよびジェスチャの特徴量がジェスチャ・コマンド処理装置２００へと出力される（ステップＳ５４０）。以上により、本フローは終了する。なお、上記の条件を満たしていない状態では（ステップＳ５３０：ＮＯ）、引き続き撮像データ処理部１２０でジェスチャの特徴量が抽出されて撮像データとともに記憶部１３０に記憶される（ステップＳ５２０）。
【００５１】
図７は、ユーザーによりジェスチャが入力されたときのジェスチャ・コマンド処理装置２００における処理フローの一例を示す。本フローでは、まず、入力ジェスチャ特定部２２０によって、ユーザーがジェスチャを行った際の撮像データおよび当該ジェスチャの特徴量がジェスチャ入力装置１００から取得される（ステップＳ６００）。そして、入力ジェスチャ特定部２２０によって、既にコマンドが割当られてジェスチャ・コマンド記憶部２１０に記憶されているジェスチャが検索される（ステップＳ６０５）。ここでは、各ジェスチャの特徴量と入力されたジェスチャの特徴量とが比較される（ステップＳ６１０）。なお、ジェスチャの比較は、例えばＤＰマッチングが用いられる。また、ジェスチャ・コマンド記憶部２１０に記憶されているジェスチャのデータについてハッシュ値で索引付けを行うことで、ジェスチャの検索を高速化することができる。
【００５２】
そして、入力されたジェスチャと一致するジェスチャがあれば（ステップＳ６１０：ＹＥＳ）、既登録ジェスチャに割り当てられているコマンドを他のコマンドへ変更するための変更操作を開始すべき旨のコマンド割当条件（コマンド変更要求）が併せて入力されているか否かがジェスチャ・コマンド割当部２５０によって確認される（ステップＳ６１５）。
【００５３】
そして、既登録ジェスチャとともにコマンド変更要求が併せて入力されていれば（ステップＳ６１５：ＹＥＳ）、ジェスチャ・コマンド割当部２５０は、未登録の全てのコマンドを変更後に割り当てるべき候補コマンドとして、表示装置３００の表示画面に表示させる（ステップＳ６５０）。
【００５４】
図８は、表示装置３００の表示画面に表示される候補コマンド一覧の一例である。図８に示すように、上記候補コマンドは、例えば、当該候補コマンドを選択するために行うべきジェスチャと対応させた一覧表として表示装置３００の表示画面に表示される。図８に示す一覧において、例えば、候補コマンド「Ａ」、「Ｂ」、「Ｃ」は、それぞれ、「電源を入れる」、「電源を切る」、「入力を切り替える」である。
【００５５】
表示装置３００に表示されたコマンドの一覧からユーザーが特定のコマンドを選択するためのジェスチャを行うと、ジェスチャ・コマンド割当部２５０は、既登録ジェスチャに対応付けられていたコマンドを選択されたコマンドに変更してジェスチャ・コマンド記憶部２１０に記憶させる（ステップＳ６５５）。
【００５６】
これに対し、コマンド変更要求が併せて入力されていなければ（ステップＳ６１５：ＮＯ）、特定されたジェスチャに対応付けてジェスチャ・コマンド記憶部２１０に記憶されているコマンドがコマンド実行部２３０によって実行される（ステップＳ６２０）。
【００５７】
一方、上記ステップＳ６１０において、入力されたジェスチャと一致するジェスチャがなければ（ステップＳ６１０：ＮＯ）、入力ジェスチャ特定部２２０によって新規ジェスチャ記憶部２４０に入力情報とともに記憶されているジェスチャが検索される。すなわち、入力されたジェスチャが以前に入力されたことのあるジェスチャか否か判別される（ステップＳ６２５）。
【００５８】
そして、入力されたジェスチャが新規ジェスチャ記憶部２４０に入力情報とともに記憶されているジェスチャであれば（ステップＳ６２５：ＹＥＳ）、当該入力情報が更新される（ステップＳ６３５）。そして、ジェスチャ・コマンド割当部２５０は、設定条件記憶部２６０に記憶されたコマンド割当条件を読み出し、上記ステップＳ６３５において更新された入力情報と比較する（ステップＳ６４０）。
【００５９】
そして、入力されたジェスチャに対応する入力情報がコマンド割当条件を満たせば（ステップＳ６４５：ＹＥＳ）、ジェスチャ・コマンド割当部２５０は、未登録の全てのコマンドを変更後に割り当てるべき候補コマンドとして、その一覧を表示装置３００に表示させる（ステップＳ６５０）。そして、表示装置３００に表示されたコマンドの一覧からユーザーが特定のコマンドを選択するためのジェスチャを行うと、ジェスチャ・コマンド割当部２５０は、既登録ジェスチャに対応付けられていたコマンドを選択されたコマンドに変更してジェスチャ・コマンド記憶部２１０に記憶させる（ステップＳ６５５）。
【００６０】
一方、上記ステップＳ６２５において、入力されたジェスチャが新規ジェスチャ記憶部２４０に記憶されていない新しいジェスチャであれば（ステップＳ６２５：ＮＯ）、新規ジェスチャ記憶部２４０は、当該ジェスチャの入力時間および入力回数などの入力情報を記憶する（ステップＳ６３０）。以上により本フローは終了する。
【００６１】
以上のように、本実施形態に係るジェスチャ入力システム１０によれば、コマンドに対応付けて記憶されていない新規なジェスチャが入力された場合でも、当該ジェスチャに新たにコマンドを割り当てて記憶させることができる。また、新規なジェスチャに対してコマンドを割り当てる条件を設定することができるので、例えばユーザーが自分にとって分かり易いあるいは簡単なジェスチャを連続であるいは累積で所定回数入力することで、当該ジェスチャに新たにコマンドを割り当てて記憶させておくことができる。
【００６２】
また、本システムによれば、新規に入力されたジェスチャに対してコマンドを割り当てるためのコマンド割当条件を設定しておくことで、当該コマンド割当条件を満たして入力された新規なジェスチャに対して、ジェスチャが割り当てられていないコマンドを割り当てて記憶させることができる。また、本システムによれば、すでにコマンドが割り当てられている既登録ジェスチャについても、既登録ジェスチャに割り当てられているコマンドを変更するためのコマンド変更要求として特定のジェスチャ入力などを設定しておくことにより、既登録ジェスチャに対応付けられているコマンドを変更することができる。
【００６３】
また、本システムにおけるジェスチャ入力装置１００のようにユーザーのジェスチャを撮像して特定する形態に替えて、例えば、加速度センサーやＧＰＳセンサーを内蔵したコントローラーをジェスチャ入力装置１００として備え、ユーザーがこれらのコントローラーを介してジェスチャを入力しても良い。また、ジェスチャ入力装置１００は、ユーザーが入力したジェスチャの確認および修正などを行うことのできるコントローラーを含んでも良い。
【００６４】
また、本システムにおけるジェスチャ入力装置１００、ジェスチャ・コマンド処理装置２００、および表示装置３００は、一体の装置であっても良く、また、操作対象機器４００に組み込まれても良い。
【００６５】
図９は、コンピューター１０００のハードウェア構成の一例を示す。コンピューター１０００は、与えられるプログラムに基づいて、図１から図８を参照して説明したジェスチャ入力システム１０のジェスチャ・コマンド処理装置２００として機能する。例えば、コンピューター１０００がジェスチャ・コマンド処理装置２００として機能する場合、プログラムは、コンピューター１０００を、ジェスチャ・コマンド処理装置２００のジェスチャ・コマンド記憶部２１０、入力ジェスチャ特定部２２０、コマンド実行部２３０、新規ジェスチャ記憶部２４０、ジェスチャ・コマンド割当部２５０、設定条件記憶部２６０、および未登録コマンド記憶部２７０として機能させてよい。
【００６６】
コンピューター１０００は、ＣＰＵ周辺部、入出力部、およびレガシー入出力部を備える。ＣＰＵ周辺部は、ホスト・コントローラー１０８２により相互に接続されるＣＰＵ１００５、ＲＡＭ１０２０、グラフィック・コントローラー１０７５、および表示装置１０８０を有する。入出力部は、入出力コントローラー１０８４によりホスト・コントローラー１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、およびＣＤ−ＲＯＭドライブ１０６０を有する。レガシー入出力部は、入出力コントローラー１０８４に接続されるＲＯＭ１０１０、フレキシブルディスク・ドライブ１０５０、および入出力チップ１０７０を有する。
【００６７】
ホスト・コントローラー１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１００５およびグラフィック・コントローラー１０７５とを接続する。ＣＰＵ１００５は、ＲＯＭ１０１０およびＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラー１０７５は、ＣＰＵ１００５等がＲＡＭ１０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィック・コントローラー１０７５は、ＣＰＵ１００５等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００６８】
入出力コントローラー１０８４は、ホスト・コントローラー１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、ＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介してジェスチャ入力装置１００、表示装置３００、および操作対象機器４００などと通信する。ハードディスクドライブ１０４０は、コンピューター１０００内のＣＰＵ１００５が使用するプログラムおよびデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０を介してハードディスクドライブ１０４０に提供する。
【００６９】
また、入出力コントローラー１０８４には、ＲＯＭ１０１０と、フレキシブルディスク・ドライブ１０５０、および入出力チップ１０７０の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、コンピューター１０００が起動時に実行するブート・プログラムや、コンピューター１０００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、ＲＡＭ１０２０を介してハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク・ドライブ１０５０や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して、ジェスチャ入力装置１００、表示装置３００、および操作対象機器４００などの各種の入出力装置との間でデータの入出力を行う。
【００７０】
ＲＡＭ１０２０を介してハードディスクドライブ１０４０に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されてユーザーによって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ１０２０を介してコンピューター１０００内のハードディスクドライブ１０４０にインストールされ、ＣＰＵ１００５において実行される。
【００７１】
当該プログラムは、コンピューター１０００にインストールされる。当該プログラムは、ＣＰＵ１００５等に働きかけて、コンピューター１０００を、前述したジェスチャ・コマンド記憶部２１０、入力ジェスチャ特定部２２０、コマンド実行部２３０、新規ジェスチャ記憶部２４０、ジェスチャ・コマンド割当部２５０、設定条件記憶部２６０、および未登録コマンド記憶部２７０として機能させる。
【００７２】
以上に示したプログラムは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピューター１０００に提供してもよい。
【００７３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることができることは当業者に明らかである。
【符号の説明】
【００７４】
１０…ジェスチャ入力システム、１００…ジェスチャ入力装置、１１０…撮像部、１２０…撮像データ処理部、１３０…記憶部、１４０…制御部、２００…ジェスチャ・コマンド処理装置、２１０…ジェスチャ・コマンド記憶部、２２０…入力ジェスチャ特定部、２３０…コマンド実行部、２４０…新規ジェスチャ記憶部、２５０…ジェスチャ・コマンド割当部、２６０…設定条件記憶部、２７０…未登録コマンド記憶部、３００…表示装置、４００…操作対象機器、１０００…コンピューター、１００５…ＣＰＵ、１０１０…ＲＯＭ、１０２０…ＲＡＭ、１０３０…通信インターフェイス、１０４０…ハードディスクドライブ、１０５０…フレキシブルディスク・ドライブ、１０６０…ＣＤ−ＲＯＭドライブ、１０７０…入出力チップ、１０７５…グラフィック・コントローラー、１０８０…表示装置、１０８２…ホスト・コントローラー、１０８４…入出力コントローラー、１０９０…フレキシブルディスク、１０９５…ＣＤ−ＲＯＭ
【図１】
2011209773.tif 000003
【図２】
2011209773.tif 000004
【図３】
2011209773.tif 000005
【図４】
2011209773.tif 000006
【図５】
2011209773.tif 000007
【図６】
2011209773.tif 000008
【図７】
2011209773.tif 000009
【図８】
2011209773.tif 000010
【図９】
2011209773.tif 000011