(57)【特許請求の範囲】
【請求項１】
自宅を監視するシステムの動作方法であって、
シーン中のユーザアクションから第一ユーザ入力を自動的に認識するために、前記シーンから記録された第一センサデータを自動的に処理することと、
前記第一ユーザ入力の認識に応答して、
・  前記シーンからの前記第一センサデータの自動処理であって、前記第一ユーザ入力後の前記シーンから非定型の空間的イベントシーケンスを捕捉するための、前記第一センサデータの自動処理、および
・  前記シーンから後に記録され前記シーンの前記第一センサデータとは異なる第二センサデータの自動処理であって、前記後に記録された第二センサデータ中の、前記捕捉された空間的イベントシーケンスに対応する空間的イベントシーケンスを自動的に認識するための、前記第二センサデータの自動処理、
を可能にする学習状態に自動的に入ることと、
を含むと共に、前記学習状態の過程で、
・  前記シーン中の少なくともユーザの動きから第二の事前決定ユーザ入力を自動的に認識すべく、前記シーンの少なくとも第一映像及び／又はオーディオ及び／又は奥行きデータを自動的に処理することと、
・  前記認識に応答して、後に記録される前記シーンの第二映像及び／又はオーディオ及び／又は奥行きデータ中の空間的イベントシーケンスが前記捕捉された空間的イベントシーケンスに対応することの認識、への応答をプログラムすることと、
を含み、
ここで前記第二映像及び／又はオーディオ及び／又は奥行きデータは、前記第一映像及び／又はオーディオ及び／又は奥行きデータとは異なり、
前記プログラムされる応答は、前記自宅から前記ユーザが離れているか否かを条件とする、
方法。
【請求項２】
前記第一センサデータが、前記第一映像中のジェスチャユーザ入力を記録する、請求項１に記載の方法。
【請求項３】
前記シーンからの前記第一センサデータが前記シーンの前記第一映像を少なくとも含み、前記方法が、前記シーン中のユーザの動きから前記第一ユーザ入力を自動的に認識するため、記録された前記第一映像を自動的に処理することを含む、請求項２に記載の方法。
【請求項４】
前記第一ユーザ入力が、追跡対象ユーザにおける基準枠に対する前記追跡対象ユーザの動きによって定義される、時間進展的でシーン非依存性のシーケンスである、請求項１から３のいずれかに記載の方法。
【請求項５】
前記第一センサデータが前記第一映像および前記第一オーディオを含み、前記方法は、
前記第一ユーザ入力の後に、前記シーン中の非定型の映像イベントシーケンスを捕捉するため、記録された前記第一映像を処理することと、
前記第一ユーザ入力の後に、前記シーン中の非定型のオーディオイベントシーケンスを捕捉するため、記録された前記第一オーディオを処理することと、
前記第二映像中の、前記捕捉された映像イベントシーケンスに対応する映像イベントシーケンスを認識するために、前記第二映像を処理することと、
前記第二オーディオ中の、前記捕捉されたオーディオイベントシーケンスに対応するオーディオイベントシーケンスを認識するために、前記第二オーディオを処理することと、
を含む、請求項１から４のいずれかに記載の方法。
【請求項６】
前記第一ユーザ入力の後に、前記シーン中の非定型の空間的イベントシーケンスを捕捉するため、
・  前記第一ユーザ入力の後に、前記シーン中の非定型の空間的イベントシーケンスを識別することと、
・  記録されたセンサデータ中の、前記捕捉された空間的イベントシーケンスに対応する空間的イベントシーケンスを後に認識できるようにするために、前記非定型の空間的イベントシーケンスのシンボルの記録を格納することと、
による、記録センサデータの分析を含む、請求項１から５のいずれかに記載の方法。
【請求項７】
前記非定型の空間的イベントシーケンスが、追跡対象ユーザの動きにより指定されるオブジェクトまたは場所に関連する、時間進展的でシーン依存性のシンボルシーケンスである、および／または前記非定型の空間的イベントシーケンスが、追跡対象ユーザの前記オブジェクトとの相互作用により指定されるオブジェクト−ユーザ相互作用に関連する、時間進展的でシーン依存性のシンボルシーケンスである、請求項１から６のいずれかに記載の方法。
【請求項８】
前記シーン中の前記非定型の空間的イベントシーケンスを捕捉することが、前記ユーザの姿勢または位置の変化以外の、前記シーン中の変化を検出するため、前記シーンの前記第一映像を処理することを含む、請求項１から７のいずれかに記載の方法。
【請求項９】
前記第二の事前決定ユーザ入力が、追跡対象ユーザにおける基準枠に対する前記追跡対象ユーザの動きによって定義される、時間進展的でシーン非依存性のシンボルシーケンスである、請求項１から８のいずれかに記載の方法。
【請求項１０】
前記第二の事前決定ユーザ入力の認識との所定の時間的関係で、前記シーン中の前記非定型の空間的イベントシーケンスを捕捉することを含む、請求項１から９のいずれかに記載の方法。
【請求項１１】
モニタリング状態において、
前記シーンの第二センサデータを記録することと、
記録された前記第二映像中の、前記捕捉された空間的イベントシーケンスに対応する空間的イベントシーケンスを認識するため、前記シーンの前記記録された第二センサデータを処理することと、
を含む、請求項１から１０のいずれかに記載の方法。
【請求項１２】
前記捕捉された非定型の空間的イベントシーケンスのユーザ定義のためのオプションを提供することを含む、請求項１から１１のいずれかに記載の方法。
【請求項１３】
記録された前記第二映像中の、前記捕捉された空間的イベントシーケンスに対応する空間的イベントシーケンスの自動的な認識の結果のユーザ定義のためのオプションを提供することを含む、請求項１から１２のいずれかに記載の方法。
【請求項１４】
請求項１から１３のいずれかに記載の方法を実行する手段を備える、自宅監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はシーンのモニタリングに関する。特に、自動化されたモニタリングに関する。
【背景】
【０００２】
現在のモニタリングシステム、例えば監視システムは、音声付き又は無しのビデオを録画するための一つ又は複数のカメラを備え、これらのカメラは、有線又は無線で中央装置に接続される。中央装置は、シーンの録画データを保存したり、また保存することを可能にしたりする。操作者は、カメラや中央装置の設定をプログラムするために、当該中央装置を使用することができる場合がある。
【摘要】
【０００３】
本願が開示する様々な実施例（但し必ずしも全ての実施例ではない）によれば、請求項１から１４のいずれかに記載の方法が提供される。
【０００４】
本願が開示する様々な実施例（但し必ずしも全ての実施例ではない）によれば、請求項１５に記載の装置が提供されてもよい。
【０００５】
必ずしも全ての実施形態がそうであるわけではないが、いくつかの実施形態によれば、次のような装置が提供される。この装置は、少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリとを備える装置であって、前記少なくとも一つのメモリ及び前記プログラムコードが、前記少なくとも一つのプロセッサと共に、前記装置に少なくとも、請求項１から１４のいずれかに記載の方法を遂行させる。
【０００６】
本願が開示する様々な実施例（但し必ずしも全ての実施例ではない）によれば、コンピュータで実行されると、請求項１から１４のいずれかに記載の方法を遂行するコンピュータプログラムが提供される。
【図面の簡単な説明】
【０００７】
前述の簡単な説明を理解するために有用な種々の実施例の理解に資するべく、例として次の添付図面を参照する。
【図１】システムの例の概略図である。
【図２】状態マシンの例を描いた図である。
【図３】処理モジュールの例を描いた図である。
【図４】コンピュータプログラムの配送メカニズムの例を描いた図である。
【図５Ａ】状態マシンに対する、新規に学習される応答状態を生成する処理の一例を示す。
【図５Ｂ】モニタリング状態から新規に学習された応答状態への遷移処理、および関連する学習済み応答アクションの実行処理の一例を示す。
【図６】図５Ｂに示された状態マシンのバリエーションを示す。
【図７】図７Ａおよび７Ｂは、学習された応答状態の生成を制御するためのユーザインタフェースの一例を示す。
【図８】図８Ａおよび８Ｂは、学習された応答状態の生成を制御するための別のユーザインタフェースの一例を示す。
【詳細説明】
【０００８】
符号１００で示されているシステムは、少なくとも一つのシーンをモニターするシステムである。このシステムの動作は、シーンの中のユーザによってコントロールされることができる。そのようなコントロールは、シーンの中でアクションを実行することにより行われうる。例えば、ユーザが或る挙動（ｂｅｈａｖｉｏｕｒ）を演じると、このシステムはその後、同様な挙動を認識できる。ユーザはこのシステムを、そのように制御することができる。
【０００９】
図１はシステム１００の概略的に描いた図である。システム１００は、シーン１４０からセンサデータ１１２を記録するように構成される一つ又は複数のセンサ１１０と；シーン１４０から記録されたセンサデータ１１２を処理し、シーン１４０で起こったイベントを自動的に認識すると共に、前記認識の結果として自動的に判断を行うように構成される処理モジュール１２０と；前記処理モジュール１２０によって、通信するという判断がなされた場合、通信を行うように構成される通信モジュール１３０と；を備える。
【００１０】
認識されるイベントの幾つか（但し必ずしも全てではない）は、シーン１４０の中のオブジェクト１５２（又は特定のオブジェクト１５２）に関連していてもよい。このオブジェクトは、シーン１４０の中の非生物の物体であったり、動物であったり、人物であったり、特定の人物１５０であったりしてもよい。システム１００の実施例の幾つか（但し必ずしも全てではない）において、システム１００は、リアルタイムの認識システムであり、センサデータ１１２が記録されたら、それとほぼ同時に自動的に認識及び判断を行う。
【００１１】
システム１００は、監督や監視等のアプリケーションに使用されてもよい。システム１００は、ビジネスで使用されてもよいし、公共の場所や自宅で使用されてもよい。期待される利用分野の一つは自宅監視システムである。
【００１２】
システム１００は、ユーザがモニタリングを制御することを可能にする。例えば、ユーザがシーン１４０中の人物１５０であるときに、そのような制御を行うことを可能にする。システム１００はまた、ユーザが、認識および／または認識の結果を制御することを可能にする。例えばユーザがシーン１４０中の人物１５０であるときに、そのような制御を行うことを可能にする。
【００１３】
（必ずしも全ての例においてではないが）いくつかの例において、システム１００は、物理的に異なるいくつかの装置を備えていてもよい。例えば、複数のセンサ１１０を有してもよく、これらセンサ１１０はそれぞれ複数の異なる装置のいずれか配されていてもよい。また、処理モジュール１２０や通信モジュール１３０も、１つ以上の装置の中に配されていてもよい。システム１００の構成要素または構成要素群が物理的に異なる複数の装置に配される場合、これらの装置は全てローカルに存在していても、それぞれ互いにリモートに存在していてもよく、これらの装置がリモートにある場合、これらは、例えば、ネットワークを介して通信することができる。
【００１４】
（必ずしも全ての例においてではないが）いくつかの例において、システム１００は、単一の装置の中に収容されていてもよい。
【００１５】
センサ１１０は、シーン１４０からのセンサデータ１１２を記録するか記録を可能にするように構成される。
【００１６】
シーン１４０は、例として、例えば静的なオブジェクトなど、相対的位置が固定された静的な構成要素を有してもよい。これらの静的なオブジェクトは、シーンの三次元空間（シーン空間）においていろいろな静的位置を有する。シーン１４０は、例えば動くオブジェクトなど、動く構成要素を有してもよい。動くオブジェクトは、シーン空間中で時間経過とともに様々な位置をとる。様々なセンサデータ１１２、または様々な時間に関連する「シーン」への言及は、シーン１４０中で検出された静的構成要素の継続性を暗示するが、動的な構成要素の一部または全部の継続性は、それが生じることはあるにしても、必ずしも意味しない。
【００１７】
センサデータ１１２の記録は、一時的記録だけを含むこともあり、または恒久的記録を含むこともあり、または、一時的記録および恒久的記録の両方を含むこともある。一時的記録はデータを一時的に記録することを意味する。これは、例えば、検出する過程で行われることがあり、ダイナミックメモリで行われることがあり、循環バッファなどのバッファ、レジスタ、キャッシュ、または類似のものにおいて行われることもある。恒久的記録は、当該データがアドレス可能なメモリ空間から読み出し可能なアドレス可能データ構造の形式であることを暗示し、したがって削除または上書きされるまでは格納され読み出すことができるが、非揮発的な格納がされることもされないこともある。
【００１８】
センサ１１０は、音波および／または光波などの伝搬波を、電気信号に変換するように構成することができる。この電気信号は、シーン１４０からの伝搬波データを符号化するセンサデータ１１２である。
【００１９】
（必ずしも全ての例においてではないが）いくつかの例において、センサ１１０は、シーン空間に対して空間的に固定される。他の例では、センサ１１０は、シーン空間に対して移動しうるか、または移動している。
【００２０】
（必ずしも全ての実施形態においてではないが）いくつかの実施形態において、これらセンサは画像センサ１１４であるかまたは画像センサを備える。画像センサ１１４の一例は、カメラとして動作するように構成されたデジタル画像センサである。かかるカメラは、静的画像および／またはビデオ画像を記録するように動作することができる。
【００２１】
（必ずしも全ての実施形態においてではないが）いくつかの実施形態において、カメラは、シーン１４０がいろいろな視点から観察されうるように、立体的配置（または他の空間的配置）に構成することができる。これは、三次元画像の生成、および／または、例えば視差効果を介した、奥行きを設定するための処理を可能する。
【００２２】
（必ずしも全ての実施形態においてではないが）いくつかの実施形態において、センサ１１０はオーディオセンサ１１６であるか、またはオーディオセンサを備える。オーディオセンサ１１６の一例は、１つ又は複数のマイクロフォンである。マイクロフォンは、いろいろな収録点からシーン１４０がサンプリングされうるように、マイクロフォンアレイなど、立体的配置（または他の空間的配置）に構成することができる。これは、シーン１４０内のオーディオのポジショニングを可能にする三次元空間オーディオ処理を可能にできる。
【００２３】
（必ずしも全ての実施形態においてではないが）いくつかの実施形態において、これらのセンサは奥行きセンサ１１８であるか、または奥行きセンサを備える。奥行きセンサ１１８は、トランスミッタおよびレシーバを備えてもよい。トランスミッタは（例えば、超音波または赤外光など人間が検出できない信号などの）信号を送信し、レシーバは反射された信号を受信する。単一のトランスミッタおよび単一のレシーバを用い、送信から受信までの伝搬時間を測定することによっていくらかの奥行き情報を得ることができる。より多くのトランスミッタおよび／またはより多くのレシーバを用いることによってより良好な分解能（空間的ダイバーシチ）が達成できる。一例において、トランスミッタは、光、好ましくは、赤外光など不可視光を使い、空間依存的パターンで、シーンを「描く」ように構成される。レシーバによる特定のパターンの検出は、シーン１４０が空間的に分解されることを可能にする。シーン１４０の空間的に分解された部分への距離は、伝搬時間および／または（レシーバがトランスミッタに対し立体的な位置にある場合）立体視法によって測定ができる。
【００２４】
これらの奥行き検出の「受動的」または「非能動的」例では、検出対象の人物１５０またはオブジェクト１５２は受動的で、トランスミッタによって放射される光または音波を反射しているだけである。但し、検出されるオブジェクトの動きを必要とする「能動的」例を、追加してまたは代わりに用いることができる。一例として、人物は、測位装置を携行していてもよく、この測位装置は、シーン空間内で、当該測位装置の位置を決定しうるように構成されてもよい。この測位装置は、例えば加速度計を使って、基準位置からの当該測位装置の動きを測定することができる。実施例によっては、方位を測定するためにジャイロスコープを用いてもよい。上記に加えてまたは換えて、上記測位装置は、複数のレシーバに送信したり、複数のトランスミッタから受信したりすることによって、三角測量（三辺測量）を用い、位置決定を行ってもよい。
【００２５】
必ずしも全ての例ではないが、本願で示される例において、処理モジュール１２０は、メモリサブモジュール１２２、処理サブモジュール１２４、認識サブモジュール１２６、および制御サブモジュール１２８を備える。これらの「モジュール」は別々に記載され、示されているが、これらは、必須ではない。実施形態によってはこれらは別々のモジュールではないこともある。また、いろいろな組み合せに結合されている場合もある。例えば、処理サブモジュール１２４、認識サブモジュール１２６、および制御サブモジュール１２８は、同一の回路、または同一のコンピュータプログラムの制御の下で実装されることができる。上記に換えて、処理サブモジュール１２４、認識サブモジュール１２６、および制御サブモジュール１２８の１つ以上を、専用の回路または専用のコンピュータプログラムによって実装することもできる。これらサブモジュールは、ソフトウェア、専用のハードウェア、またはプログラムされたハードウェアとソフトウェアとの混成を使って実行することができる。
【００２６】
メモリサブモジュール１２２は、未処理のセンサデータ１１２および／または処理済みのセンサデータ１１２（シーンデータ）、コンピュータプログラム、シーン空間モデル、および処理モジュール１２０によって使われる他のデータを格納するために用いることができる。実施例によっては、他のサブモジュールがそれぞれ独自にメモリを有してもよい。
【００２７】
処理サブモジュール１２４は、シーン１４０について有意味なシーンデータを判断するために、センサデータ１１２を処理するように構成されてもよい。
【００２８】
処理サブモジュール１２４は、センサデータ１１２がカメラまたはカメラ群１１４からの画像データを含む場合に、画像処理を行うように構成されることができる。処理サブモジュール１２４は、センサデータ１１２がマイクロフォンまたはマイクロフォン群１１６からのオーディオデータを含む場合に、オーディオ処理を行うように構成されることができる。
【００２９】
処理サブモジュール１２４は、シーン１４０に対して有意味な可能性のあるシーンデータを生成するために、センサデータ１１２を用いて、以下のタスクの１つ以上を自動的に実行するように構成されることができる。
【００３０】
（ア）マシン（コンピュータ）ビジョンを用いて、
・  （移動しているまたは静的な）オブジェクトまたは人物を検出すること。
・  （移動しているまたは静的な）オブジェクトまたは人物を分類すること。
・  （移動しているまたは静的な）オブジェクトまたは人物を追跡すること。
の１つ以上を実行する。
【００３１】
（イ）空間分析を用い、
・  奥行き検出を使ってシーン空間中の（移動しているまたは静的な）オブジェクトの位置決めをすること。
・  シーン空間のマップを生成すること。
の１つ以上を実行する。
【００３２】
（ウ）挙動分析を用いて、シーン１４０中で生じるイベントを、有意味な可能性のあるシンボルとして記述する。
【００３３】
画像処理の一例に、画像に対する輝度勾配またはエッジ方向の分布を生成する「勾配特徴ヒストグラム（ｈｉｓｔｏｇｒａｍ  ｏｆ  ｇｒａｄｉｅｎｔ  ｆｅａｔｕｒｅｓ）」分析がある。画像は小さな結合された領域（セル）に分割することが可能で、各セルに対し、セル内の画素に対する勾配方向またはエッジ方位のヒストグラムが生成される。次いで、これらのヒストグラムの組み合せが、記述子（ｄｅｓｃｒｉｐｔｏｒ）を表現する。
【００３４】
オーディオ処理の例には、「メル周波数ケプストラル係数（ｍｅｌ−ｆｒｅｑｕｅｎｃｙ  ｃｅｐｓｔｒａｌ  ｃｏｅｆｆｉｃｉｅｎｔｓ）」決定、（例えばオーディオビーム形成技法を使う）空間オーディオ処理、オーディオイベント認識もしくは分類、話者認識もしくは検証、またはスピーチ認識がある。
【００３５】
動き検出は、例えば、背景モデルに対する差分（背景除去法）、もしくは先行画像に対する差分（時間差分）を用い、または、ベクトルベースのアプローチを使うオプティカルフロー分析など、何らかの他のアプローチを用いて達成することができる。
【００３６】
オブジェクト分類は、例えば、形状ベースの分析、および／または動きベースの分析を用いて達成することができる。
【００３７】
人物の分類処理は、オブジェクトが人間か否かという分類処理であってもよい。または、オブジェクトが特定の人間（身元）であるか否かという分類処理であってもよい。身元確認は、可能性のある人物群のセット内の人物を一意的に識別する属性または属性の組み合せを用いて達成ができる。属性の例は、顔または声など、人物の固有のまたは固有であり得るバイオメトリック特徴を含んでもよい。また、人物の外形およびサイズ、その挙動を含んでもよい。
【００３８】
オブジェクトの追跡は、オブジェクトを標識し、該標識されたオブジェクトのシーン１４０中での位置を記録することによって達成することができる。このアルゴリズムは、シーン１４０へのオブジェクトの入場、シーン１４０からのオブジェクトの退場、シーン１４０へのオブジェクトの再入場、オブジェクトの遮蔽、オブジェクトの統合、のイベントのうちの１つ以上を取り扱う必要があり得る。これらのイベントをどう取り扱うかは本願の技術分野で既に知られている。
【００３９】
オブジェクト追跡は、オブジェクトまたは人物がいつ変化したかを判断するために用いてもよい。例えば、オブジェクトを大きなマクロスケールで追跡することで、そのオブジェクトと共に移動する基準枠を生成することができる。この基準枠は、オブジェクトに対する時間差分を用いてオブジェクトの形状の時間進展的な変化を追跡するために使うことができる。これは、ジェスチャ、手の動き、顔面の動きなど小規模な人間の動きを検出するために用いることができる。これらは、ユーザに関連する、シーン非依存性のユーザ（だけ）の動きである。
【００４０】
システム１００は、例えば、人物の体の関節１つ以上など、人物の身体に関連する複数のオブジェクトおよび／またはポイントを追跡することができる。いくつかの例において、システム１００は、人物の身体の全身骨格的な追跡を実行することができる。
【００４１】
人物の身体に関連する１つ以上のオブジェクトおよび／またはポイントの追跡技術が、ジェスチャの認識などにおいて、システム１００によって使用されてよい。
【００４２】
行動分析（Ｂｅｈａｖｉｏｕｒ  ａｎａｌｙｓｉｓ）は、有意味シンボル体系を使って、シーン１４０中で生じるイベントを表すことを必要とする。イベントは、時空的なインスタンスで生じるある事柄でもよく、また時空的なシーケンス（時間経過における時空的インスタンスのパターン）でもよい。イベントは、オブジェクト（または人物）の動き、または人物とオブジェクトとの相互作用に関連するものでもよい。
【００４３】
（必ずしも全てではないが）いくつかの実装例において、イベントは、マシン（コンピュータ）ビジョン分析および／または空間分析から決定されたパラメータに関して定義された推定シンボルによって表現できる。これらのパラメータは、起こっていること、起こっている場所、起こっている時間、および誰がそれをしているかの、一つ以上を符号化する。
【００４４】
認識サブモジュール１２６は、シーン１４０中のイベントを、特定の意味に関連付けられた有意味シンボルとして符号化する推定シンボルを認識するように構成される。
【００４５】
認識サブモジュール１２６は、意味を有するとして、マシン（コンピュータ）ビジョン分析および／または空間分析から決定されたパラメータに関して定義され、処理サブモジュール１２４によって生成された推定シンボルを、認識するように構成することができる。認識サブモジュール１２６は、例えば、有意味参照シンボルのデータベースに格納を行い、またはアクセスすることが可能で、推定シンボルが或る有意味シンボルに「類似」しているかどうかを判断するための相似検査を用いることができる。
【００４６】
認識サブモジュール１２６は、パラメータ空間中の人工ニューラルネットワークまたはクラスタリングなど、マシン（コンピュータ）推論エンジンまたは他の認識エンジンとして構成してもよい。いくつかの例において、認識サブモジュール１２６には、有意味シンボルを参照シンボルと類似であると認識するために、教師あり学習（ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）を介して教育訓練を施すことができる。
【００４７】
制御サブモジュール１２８は、有意味なイベントがシーン１４０で生じたとの判断に、そのイベントに応じて応答する。
【００４８】
ａ）推定シンボルが、応答シンボルに類似している場合、有意味なイベントは「応答」イベントであり、制御サブモジュール１２８は、応答アクションを実行する。
【００４９】
（必ずしも全ての例においてではないが）いくつかの例において、実行されるアクションはユーザによってプログラムすることができる。（必ずしも全ての例においてではないが）いくつかの例において、このプログラミングは、シーン内のユーザの動きを介して行うことができる。後に、図５Ａおよび５Ｂを参照しながら例を提示する。実行されるアクションの例には、警告または通知の生成があってもよい。
【００５０】
警告または通知は、通信モジュール１３０を介して提示ができる。通信モジュール１３０は、電波を使って無線で、または有線接続で、ローカルまたはリモートの装置に通信することができる。かかる装置の例は、以下に限らないが、ディスプレイ、テレビジョン、オーディオ出力装置、携帯電話もしくはパーソナルコンピュータなどの個人用デバイス、プロジェクタ、その他のユーザ出力装置を含む。
【００５１】
（必ずしも全ての例においてではないが）いくつかの例において、この応答シンボルはユーザによってプログラムすることができる。例えば、後で図５Ａおよび５Ｂを参照しながらさらに詳しく説明するように、ユーザは、有意味な応答シンボルによって表される有意味なイベントをプログラムまたは教示することを可能にできてもよい。ユーザによって作成された応答シンボルは、参照シンボルのデータベースに加えることができ、または別途に推定シンボルを有意味シンボルとして認識するために用いることができる。（必ずしも全ての例においてではないが）いくつかの例において、このプログラミングは、シーン１４０内のユーザの動きを介して行うことができる。      有意味シンボルによって表される有意味なイベントの例は、ユーザの入力ジェスチャなど、行われた特定のアクションまたは動きを含む。
【００５２】
ｂ）推定シンボルがユーザ制御シンボルと類似している場合、有意味なイベントは「ユーザ制御」イベントであり、制御サブモジュール１２８は、モニタリングのユーザ制御および／または応答のユーザ制御を可能にする。
【００５３】
図５Ａおよび５Ｂを参照しながら後で更に詳しく説明するように、「ユーザ制御」イベントの一例に、学習シンボルで表される学習イベントがある。推定シンボルが学習シンボルと一致するとの認識は、ユーザが、有意味な応答イベントおよび／またはその応答イベントに対する応答アクションをプログラムまたは教示することを可能にする。実行されるアクションの例には、警告または通知の生成があってもよい。
【００５４】
処理モジュール１２０の動作は、処理モジュール１２０に対する状態マシン２００を示す図２から、さらに理解することができる。状態マシン２００は、モニタリング状態２１０、ユーザ制御状態２２０、および自動応答状態２３０を有する。
【００５５】
モニタリング状態２１０において、センサ１１０はセンサデータ１１２を提供し、処理サブモジュール１２４は、有意味な可能性のあるシーンデータを生成するために、センサデータ１１２（映像および／またはオーディオおよび／または奥行き）を自動的に処理する。認識サブモジュール１２６は、シーンデータ内の実際の意味、すなわち有意味シンボルを識別するため、該シーンデータを自動的に処理する。
【００５６】
有意味シンボルは事前決定されている、すなわち、認識の前に、シンボルを決める処置が取られている。但し、「事前決定」は厳密性または固定性を意味すると見なすべきではない。類似性の照合のために使われるシンボルは、単に先行の定めを有するのであり、これは動的に進展することもあり、または固定されることもある。
【００５７】
認識サブモジュール１２６が、シーン１４０中で有意味なイベントが発生したと判断した場合、制御サブモジュール１２８は、そのイベントに応じて自動的に応答する。有意味なイベントが「応答」イベントである場合、状態マシン２００は、応答状態２３０に遷移し、制御サブモジュール１２８は、当該応答イベントに関連する応答アクションを実行する。イベントが「ユーザ制御」イベントである場合、状態マシン２００は、ユーザ制御状態２２０に遷移し、モニタリングおよび／または応答のユーザ制御が、当該ユーザ制御状態２２０に関連付けられた仕方で有効化される。
【００５８】
「ユーザ制御」イベントとして、特定のジェスチャユーザ入力を用いることができる。ジェスチャユーザ入力は、システム１００に対しユーザ入力としての意味を有するジェスチャである。ジェスチャは、静的なものであっても動的なものであってもよい。動きジェスチャ（動的ジェスチャ）は、或る動き、または一連の動きを含む動きのパターンを含むことができる。例えばこれは、旋回動作、または脇から脇への動き、または上下の動きをすること、または空間中で符号を描くこととしてもよい。例えば、動きジェスチャは、装置非依存性のジェスチャ、または装置依存性のジェスチャとしてもよい。動きジェスチャは、例えば、ユーザ身体の部分もしくは部分群、または追加の装置などのユーザ入力オブジェクトのセンサ１１０に対する動きを伴ってもよい。身体の部分は、ユーザの手、または親指以外の１つ以上の指および親指などユーザの手の一部を含んでよい。他の例において、ユーザ入力オブジェクトは、ユーザの頭または腕などユーザの身体のいろいろな部分を含んでもよい。三次元の動きは、任意の３つの直交方向のユーザ入力オブジェクトの動きを含むことができる。ユーザ入力オブジェクトの動きには、センサ１１０に向かうように又はセンサから離れるように動くことや、センサと平行な面内で動くこと、またこのような動きの任意の組み合せを含んでもよい。ジェスチャは、非接触のジェスチャでもよい。非接触ジェスチャは、ジェスチャの間のどの時点でも装置のセンサに接触することはない。ジェスチャは、センサ１１０からの絶対変位に関連して定義される絶対的ジェスチャとすることもできる。かかるジェスチャは、それがシーン空間中の正確な場所において行われるという点で制限があり得る。あるいは、ジェスチャは、ジェスチャの間の相対変位に関連して定義される相対的ジェスチャであってもよい。かかるジェスチャは、それがシーン空間中に対し正確な場所において行われる必要がないという点で、制限がなくてよく、多数の任意の場所で行うことができる。ジェスチャは、時間経過による、当初点に対する追跡点の変位の進展として定義することができる。これは、例えば、変位、速度など時間的可変パラメータを用いる、または他の運動学的パラメータを用いる動きに関連させて定義することができよう。制限なしのジェスチャは、相対時間Δｔに対する相対変位Δｄの進展として定義することができる。ジェスチャは、一空間次元（１Ｄジェスチャ）、二空間次元（２Ｄジェスチャ）、または三空間次元（３Ｄジェスチャ）において実施することができる。
【００５９】
いくつかの例において、システム１００は、ジェスチャ認識において、人物の身体に関連する１つ以上のオブジェクトおよび／またはポイントを追跡することができる。例えば、システム１００は、ジェスチャ認識において、人の身体の全骨格的追跡を実行することができる。
【００６０】
処理モジュール１２０または処理モジュール１２０の部分の実装は、コントローラ回路としてであってもよい。コントローラ回路は、ハードウェアのみ（例えば、回路、プロセッサなど）のみにより実装されてもよく、（ファームウェアを含む）ソフトウェア主体で実装されてもよい。または、ハードウェアとソフトウェア（ファームウェアを含む）の組み合わせにより実装されてもよい。
【００６１】
図３に描かれるように、コントローラ１２０は、ハードウェア機能を実現する命令であって、例えば、汎用プロセッサまたは特定用途向けプロセッサ３１０で実行可能なコンピュータプログラム命令３２２を用いて実装されてもよい。こうした命令は、プロセッサ３１０で実行されうるように、コンピュータ可読記憶媒体（ディスクやメモリ等）に格納されてもよい。
【００６２】
プロセッサ３１０は、メモリ３２０から読み出し、かつメモリ２４へ書き込むように構成される。プロセッサ３１０は出力インタフェースと入力インタフェースを備えてもよい。データおよび／または命令は、プロセッサ３１０によって出力インタフェースを介して出力され、入力インタフェースを介してプロセッサ３１０に入力される。
【００６３】
メモリ３２０はコンピュータプログラム３２２を格納する。コンピュータプログラム３２２は、プロセッサ３１０にロードされて処理モジュール１２０の動作を制御するコンピュータプログラム命令（コンピュータプログラムコード）を含む。コンピュータプログラム３２２のコンピュータプログラム命令は、処理モジュールが、図１及び２を参照して紹介された方法を遂行することを可能とするロジックとルーチンとを提供する。プロセッサ３１０は、メモリ３２０を読み取ることによりコンピュータプログラム３２２をロードして実行することができる。
【００６４】
従ってシステム１００は装置１２０を含むことができ、この装置１２０は、少なくとも一つのプロセッサ３１０と、コンピュータプログラムコード３２２を含む少なくとも一つのメモリ３２０とを備える。コンピュータプログラムコード３２２は、プロセッサ３１０に実行されると、装置１２０に、図１のブロック１２４，１２６，１２８の一つ又は複数を遂行させるように構成される。
【００６５】
図４に描かれるように、コンピュータプログラム３２２は、任意の適切な配信機構３２４を介して装置に提供されてもよい。配信メカニズム３２４は、例えば、非一時的なコンピュータ読取り可能記憶媒体、コンピュータプログラム製品、メモリデバイス、記録媒体、例えば、コンパクトディスク・リードオンリーメモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）またはデジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）、コンピュータプログラム３２２を有形に具現した製造品であってもよい。配信機構はコンピュータプログラム３２２を確実に伝達するように構成される信号でもよい。装置１２０は、コンピュータデータ信号としてコンピュータプログラム３２２を伝達または伝送してもよい。
【００６６】
メモリ３２０は単独要素又は回路として示されているが、物理的に異なる複数の要素又は回路として実装されてもよい。こうした要素の一部または全部は組込み型でも着脱可能型でもよく、および／または永久／半永久／動的／キャッシュの記憶方式でもよい。
【００６７】
プロセッサ３１０は単独要素又は回路として示されているが、物理的に異なる複数の要素又は回路として実装されてもよい。こうした要素の一部または全部は組込み型でも着脱可能型でもよい。プロセッサ３１０はシングルコアのプロセッサでもよいし、マルチコアのプロセッサであってもよい。
【００６８】
「コンピュータ可読記憶媒体」や「コンピュータプログラム製品」，「有形物として具現化されたコンピュータプログラム」等の用語や、「コントローラ」，「コンピュータ」，「プロセッサ」等の用語は、様々なアーキテクチャを有するコンピュータだけでなく、特殊回路もカバーものと理解すべきである。こうしたコンピュータのアーキテクチャには、シングル／マルチプロセッサ・アーキテクチャや、直列（ノイマン型）／並列アーキテクチャ等がある。特殊回路にはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）や特定用途向け集積回路（ＡＳＩＣ），シグナルプロセッシングデバイス，その他の処理回路等がある。コンピュータプログラムや命令，コード等の用語は、プログラマブルプロセッサやファームウェア用のソフトウェアもカバーするものと理解すべきである。こうしたものとして例えば、プロセッサに対する命令や、固定機能デバイス，ゲートアレイ，プログラマブルロジックデバイス等の構成設定といったハードウェアデバイスのプログラマブルコンテンツ等がある。
【００６９】
なお本願において使用される「回路（ｃｉｒｃｕｉｔｒｙ）」との語句は、次の全てを表す。
（ａ）ハードウェアのみの回路実装（アナログおよび／またはデジタル回路のみの実装等）。
（ｂ）回路とソフトウェア（および／またはファームウェア）の組合せ、例えば（適用可能である場合）：（ｉ）一つまたは複数のプロセッサ、または（ｉｉ）一つまたは複数のプロセッサ／ソフトウェア（デジタルシグナルプロセッサを含む），ソフトウェア，一つまたは複数のメモリの一部（これらは協働して、携帯電話やサーバなどの装置に様々な機能を実行させる）。
（ｃ）一つまたは複数のマイクロプロセッサやその一部等の回路であって、動作するためにソフトウェアやファームウェアを必要とする回路（ソフトウェアやファームウェアは物理的に存在しなくてもよい）。
【００７０】
この「回路」の定義は、本願において当該用語を使う全ての場合において適用される。特許請求の範囲においても同様である。さらなる例として、本願で使用される場合、「回路（ｃｉｒｃｕｉｔｒｙ）」という用語は、単独（または複数）のプロセッサだけの実装やプロセッサの一部，付随するソフトウェアおよび／またはファームウェアによる実装も網羅するものである。「回路」という用語はまた、例えば、特許請求の範囲に記載される特定の要素をその範囲に含むことが可能な場合がある。例えば、携帯電話のベースバンド集積回路やアプリケーション処理集積回路を意味してもよく、サーバやセルラネットワークデバイス、その他のネットワークデバイスにおける同様の集積回路を意味してもよい。
【００７１】
図１に示すブロック１２４，１２６，１２８は、コンピュータプログラム３２２のコードにより具現化される、方法全体および／またはその一部のステップを表わしてもよい。ブロックを特定の順序で図示することは、必須順序又は推奨順序の存在を必ずしも示唆していない。こうしたブロックの順序や配置構成は変更することができる。また、一部のブロックを省略することも可能である。
【００７２】
図５Ａおよび５Ｂは、前述の状態マシン２００が、ユーザによってどのようにプログラム可能であるかを示す。特に、シーン１４０内のユーザアクションによってどのようにプログラムが可能かを示す。図５Ａは、状態マシン２００のために新規の応答状態２３０（学習された応答状態２３２）を生成するために、新規のユーザ制御状態２２０（学習状態２２２）を使う処理を示す。図５Ｂは、モニタリング状態２１０から新規に学習された応答状態２３２への遷移（２１３）する処理、および、関連する学習済み応答アクションを実行する処理を示す。
【００７３】
前述のように、モニタリング状態２１０において、センサ１１０はセンサデータ１１２を提供し、処理サブモジュール１２４は、有意味な可能性のあるシーンデータを生成するために、センサデータ１１２（映像および／またはオーディオおよび／または奥行きデータ）を自動的に処理する。認識サブモジュール１２６は、シーンデータ内の実際の意味、すなわち有意味シンボルを識別するため、該シーンデータを自動的に処理する。
【００７４】
有意味シンボルは事前決定されている、すなわち、認識の前に、シンボルを決める処置が取られている。但し、「事前決定」は厳密性または固定性を意味すると見なすべきではない。類似性の照合のために使われるシンボルは、単に先行の定めを有するのであり、これは動的に進展することもあり、または固定されることもある。
【００７５】
認識サブモジュール１２６が、有意味シンボルに基づいて、シーン１４０中で有意味なイベントが発生したと判断した場合、制御サブモジュール１２８は、そのイベント又はシンボルに応じて自動的に応答する。
【００７６】
認識サブモジュール１２６が、学習シンボルに基づいて、シーン１４０中で学習イベントが発生したと判断した場合、制御サブモジュール１２８は自動的に応答して、学習状態２２２へと遷移する（２１１）。ここで、ユーザにフィードバックを提供することができる。例えば、学習状態２２２に入ったことの聴覚的または視覚的確認などを提供してもよい。
【００７７】
図５Ｂに示されるように、学習状態２２２において、ユーザは、シーン１４０内でアクションを実施することにより、新規の「応答イベント」（学習された応答イベント）および対応する新規の応答シンボル（学習された応答シンボル）を定義し、状態マシン２００中に新規の応答状態（学習済み応答状態２３２）を生成することができる。
【００７８】
学習状態２２２において、ユーザは、シーン１４０内で追加のアクションを実施することにより、新規の学習済み応答状態２３２に関連付けられた応答アクション（学習された応答アクション）を定義することができてもよい。
【００７９】
図５Ｂを参照すると、前述のように、モニタリング状態２１０において、センサ１１０はセンサデータ１１２を提供し、処理サブモジュール１２４は、有意味な可能性のあるシーンデータを生成するために、センサデータ１１２（映像および／またはオーディオおよび／または奥行きデータ）を自動的に処理する。認識サブモジュール１２６は、シーンデータ内の実際の意味、すなわち有意味シンボルを識別するため、該シーンデータを自動的に処理する。
【００８０】
有意味シンボルは事前決定されている、すなわち、認識の前に、シンボルを決める処置が取られている。但し、「事前決定」は厳密性または固定性を意味すると見なすべきではない。類似性の照合のために使われるシンボルは、単に先行の定めを有するのであり、これは動的に進展することもあり、または固定されることもある。
【００８１】
認識サブモジュール１２６が、有意味シンボルに基づいて、シーン１４０中で有意味なイベントが発生したと判断した場合、制御サブモジュール１２８は、そのイベント又はシンボルに応じて自動的に応答する。
【００８２】
例えば有意味イベントが「学習された応答」イベントである場合、状態マシン２００は、学習済み応答状態２３２に遷移（２１３）し、制御サブモジュール１２８は、当該学習済み応答イベントに関連する学習済み応答アクションを実行する。状態マシン２００は、推定シンボルが、新規定義の学習済み応答シンボルに類似している場合、モニタリング状態２１０から学習済み応答状態２３２に遷移する。
【００８３】
図５Ａに戻ると、モニタリング状態２１０において、センサ１１０はセンサデータ１１２を提供し、処理サブモジュール１２４は、有意味な可能性のあるシーンデータを生成するために、センサデータ１１２（映像および／またはオーディオおよび／または奥行きデータ）を自動的に処理する。認識サブモジュール１２６は、シーンデータを自動的に処理して、シーンデータ１１２内の、ユーザによって生成された学習シンボルを、状態を学習状態２２２に変更するとのユーザ入力コマンドとして識別する。
【００８４】
学習シンボルは、例えば、センサデータ１１２から得られた映像データ、オーディオデータ、および奥行きデータの任意の１つ以上を用いて定義することができる。
【００８５】
（必ずしも全ての例においてではないが）いくつかの例において、学習シンボルを認識するために、映像データだけが使われる。この例において、前述のように、学習シンボルは、追跡対象ユーザの基準枠に対する追跡対象ユーザの動きによって定義される、時間進展的でシーン非依存性のシンボルシーケンスとすることができる。学習シンボルの一例は、ジェスチャユーザ入力である。
【００８６】
（必ずしも全ての例においてではないが）いくつかの例において、学習シンボルを認識するために、オーディオデータおよび／または奥行きデータが使われる。この例において、学習シンボルは、追跡対象ユーザアクションによって定義される、時間進展的でシーン非依存性のシンボルシーケンスとすることができる。例えば、奥行きマップを測定し、次いで機械学習を使ってユーザの変化する身体位置を推論することができる。これは、例えば、秒あたり約３０フレームの速度で行うことができる。ユーザの関節の位置が出力として生成され、ジェスチャは、ユーザの関節の位置を含むシンボルとして定義することができる。オーディオ入力の場合、検出可能なジェスチャの一例は、手をたたくこととできよう。
【００８７】
学習状態２２２において、処理モジュール１２０の処理サブモジュール１２４は、シーン１４０から記録されたセンサデータ１１２を自動的に処理する。これは、学習状態２２２への遷移２１１をさせるユーザにより入力された学習シンボルの認識後に、シーン中の非定型の空間的イベントシーケンスを捕捉するための、同時に生ずるシーン１４０の映像データおよび／またはオーディオデータおよび／または奥行きデータの処理を含む。
【００８８】
「空間的」イベントは、明示的にまたは暗示的に、空間的イベントを規定するその空間属性によって少なくとも部分的に定義されるイベントである。空間的イベントの間に類似性があるためには、それらの空間属性中に類似性がなければならない。空間属性は、例えば、シーン空間内の面、線、または点に関連して定義することができる。例えば、空間的イベントは、空間属性として、奥行きデータによって定まる奥行きを有し得る。奥行きは、シーン空間中の面を表す。例えば、空間的イベントは、空間属性として、映像データにより定まる画像面内の位置を有し得る。この位置は、シーン空間中の線を表す。例えば、空間的イベントは、空間属性として、ビーム形成のためオーディオデータを用いることによって定まる方向感覚を有し得る。この方向感覚はシーン空間中の線を表す。空間的イベントが、空間属性として、奥行きデータによって定まる奥行き、および映像データによって定まる画像面内の位置を有する場合、その空間的イベントは、シーン空間内の点である。空間的イベントが、空間属性として、奥行きデータによって定まる奥行き、およびオーディオデータによって定まる方向感覚を有する場合、その空間的イベントは、シーン空間内の点である。空間的イベントが、空間属性として、映像データにより定まる画像面内の位置、およびオーディオデータにより定まる方向感覚を有する場合、その空間的イベントは、シーン空間内の点または場所であり得る。空間的イベントが、空間属性として、奥行きデータにより定まる奥行き、映像データにより定まる画像面内の位置、およびオーディオデータにより定まる方向感覚を有する場合、その空間的イベントは、シーン空間内の点または場所である。
【００８９】
このシーケンスは、それが事前準備または事前決定されていないという点で「非定型」である。
【００９０】
非定型の空間的イベントシーケンスは、処理サブモジュール１２４によって、新規に学習される応答状態２３２を生成するため、およびその新規状態２３２に遷移２１３するための学習対象応答シンボルを生成するために使われる。
【００９１】
処理サブモジュール１２４は、記録されたセンサデータ１１２を分析することによって、シーン中の非定型の空間的イベントシーケンスを捕捉する。該サブモジュールは、学習シンボルの後のシーン中の非定型の空間的イベントシーケンスを識別し、記録されるセンサデータ（映像データおよび／またはオーディオデータおよび／または奥行きデータ）中の、捕捉された空間的イベントシーケンスに対応する空間的イベントシーケンスを後に認識できるようにするため、該非定型の空間的イベントシーケンスのシンボルの記録を格納する。
【００９２】
非定型の空間的イベントシーケンスは、追跡対象ユーザの動きにより指定されるオブジェクトまたは場所に関連する、時間進展的でシーン依存性のシンボルシーケンスを含んでいてもよい。上記に加えまたは換えて、非定型の空間的イベントシーケンスは、追跡対象ユーザとオブジェクトとの相互作用によって指定されるオブジェクト−ユーザ相互作用に関連する、時間進展的でシーン依存性のシンボルシーケンスを含んでいてもよい。
【００９３】
例えば、奥行きマップを測定し、次いで機械学習を使ってユーザの変化する身体位置を推論することができる。これは、例えば、秒あたり約３０フレームの速度で行うことができる。ユーザの関節の位置が、出力として生成され、ジェスチャは、ユーザの関節の位置を含むシンボルとして定義することができる。
【００９４】
シーン１４０中の非定型の空間的イベントシーケンスを捕捉することは、例えば、ユーザの姿勢または位置の変化以外の、シーン１４０中の変化を検出するために、シーン１４０の映像データおよび／または奥行きデータおよび／またはオーディオデータを処理することを備えてもよい。ユーザの変化よりもむしろユーザにより引き起こされた変化が検出されるように、ユーザは事実上映像から切り捨てられている。
【００９５】
シーン１４０中の非定型の空間的イベントシーケンスを捕捉することは、例えば、シーン１４０中の特徴的ノイズを検出するために、映像データおよび／または奥行きデータに加え、シーン１４０のオーディオデータを処理することをさらに含むことができる。
【００９６】
捕捉された非定型の空間的イベントシーケンスは、新規に学習される応答状態２３２を生成し、その新規状態２３２に遷移２１３するための学習された応答シンボルを生成するため、処理サブモジュール１２４によって使われる。これにより、モニタリング状態２１０の過程で、その後にシーン１４０から記録されたセンサデータ１１２を自動的に処理すること、および、後に記録されたシーンのセンサデータが、捕捉された空間的イベントシーケンスに対応する空間的イベントシーケンスを含むと自動的に認識された場合に、学習済み応答状態２３２へ遷移２１３することが可能になる。
【００９７】
図５Ｂに戻って参照すると、モニタリング状態において、処理モジュール１２０の処理サブモジュール１２４は、後に記録されるシーンのセンサデータを処理し、認識サブモジュール１２６による、該後に記録された映像中の、捕捉された空間的イベントシーケンスに対応する空間的イベントシーケンスの認識を可能にする。処理モジュール１２０の認識サブモジュール１２６は、その後に記録されたセンサデータ中の、捕捉された空間的イベントシーケンスに対応する空間的イベントシーケンスを認識するために、その後に記録されたシーンのセンサデータを処理する。
【００９８】
その後に記録された空間データ中の空間的イベントシーケンスが、捕捉された空間的イベントシーケンスに対応するとの認識サブモジュール１２６による認識を可能にするため、処理モジュール１２０によって処理されるセンサデータは、映像データおよび／またはオーディオデータおよび／または奥行きデータを含むことができる。
【００９９】
その後に記録されたセンサデータ中の空間的イベントシーケンスを捕捉された空間的イベントシーケンスに対応するものと認識するため、処理モジュール１２０の認識サブモジュール１２６によって処理される、その後に記録されたシーン１４０のセンサデータは、映像データおよび／またはオーディオデータおよび／または奥行きデータを含むことができる。
【０１００】
認識を可能にするため処理モジュール１２０によって処理されるセンサデータは、空間的イベントシーケンスを捕捉された空間的イベントシーケンスに対応するものと認識するために認識サブモジュール１２６によって処理されるその後のセンサデータよりも、より包括的で、より多くのセンサから得られるものとしてもよい。認識を可能にするため処理モジュール１２０によって処理されるセンサデータは、例えば、奥行きデータおよび映像データを備えてもよく、一方、空間的イベントシーケンスを捕捉された空間的イベントシーケンスに対応するものと認識するために、認識サブモジュール１２６によって処理されるその後のセンサデータは、例えば、映像データもしくは奥行きデータのいずれかを備えてもよい。
【０１０１】
図５Ａに戻って参照すると、学習状態２２２からモニタリング状態２１０への戻り遷移２１２は、いくつかの仕方で行うことができる。いくつかの例では、これは、ユーザが新規に学習された応答状態２３２およびその新規状態２３２への遷移２１３のための学習対象応答シンボルの生成を制御し終わった後、自動的に行うことが可能であり、あるいは、可聴イベントなどユーザアクションに応答して行うこともできる。他の例では、これは、ユーザが、学習された応答状態２３２に関連付けられた学習対象応答アクションを追加してプログラムした後、自動的に行うことができる。
【０１０２】
学習対象応答アクションのプログラミングは、処理サブモジュール１２４にてシーン１４０のセンサデータ１１２（映像および／またはオーディオおよび／または奥行きデータ）を自動的に処理し、認識サブモジュール１２６による、特定の学習済み応答アクションに関連付けられた所定のアクションシンボルの自動的認識を可能にすることにより、学習状態２２２において行ってもよい。前記認識に応答して、制御サブモジュール１２８は、学習済み応答アクションが、学習済み応答状態２３２に入ったとき実行されるように、状態マシン２００をプログラムする。
【０１０３】
事前決定のアクションシンボルは、追跡対象ユーザの基準枠に対する追跡対象ユーザの動きにより定義される、時間進展的でシーン非依存性のシンボルシーケンスとすることができる。この事前決定のアクションシンボルは、ユーザ入力ジェスチャとしてもよい。例えば、奥行きマップを測定し、次いで機械学習を使ってユーザの変化する身体位置を推論することができる。これは、例えば、秒あたり約３０フレームの速度で行うことができる。ユーザの関節の位置が、出力として生成され、ジェスチャは、ユーザの関節の位置を含むシンボルとして定義することができる。
【０１０４】
前述から当然のことながら、学習された応答イベントのプログラミングは、２つの事前決定されたイベントの間、すなわち学習状態２２２への遷移２１１を生じさせる学習イベントと、学習状態２２２からの遷移２１２を生じさせる別の事前決定イベントとの間で行うことができる。したがって、認識可能な学習済み応答イベントとして使用されることになる有意味なイベントは、これら２つの事前決定されたイベントの間に在ると想定でき、学習済み応答イベントを表す学習済み応答シンボルを判断するためのセンサデータ１１２の処理は時間制限されてもよい。例えば、学習される応答イベントに対応する学習対象応答シンボルを定義するための、シーン中の非定型の空間的イベントシーケンスの捕捉は、学習状態２２２への行き／帰り遷移をさせる事前決定されたイベントのいずれか１つまたは双方の認識に対する所定の時間的関係で行うことができる。
【０１０５】
図６は、図５Ｂ中に示された状態マシンの別形を示す。この状態マシン２００において、状態マシンは、学習状態２２２からモニタリング状態２１０に遷移せず、代わりに、別のユーザ制御状態２２０であるプログラミング制御状態２２４に遷移する。
【０１０６】
学習状態２２２は、前述したように動作するが、学習された応答状態、学習された応答シンボル、および学習された応答アクションはまだ実装されておらず、推定状態である。推定の学習された応答状態２３２（ならびに学習された応答シンボルおよび学習された応答アクション）の実装は、プログラミング制御状態２２４からモニタリング状態２１０への遷移まで行われない。
【０１０７】
プログラミング制御状態２２４において、処理モジュール１２０は、モニタリング状態２１０の過程でのその後の推定シンボルに対する類似性照合のため、学習済み応答シンボルとして学習済み応答イベントを表現する推定の学習された応答シンボルを受け入れる前に、あいまい性除去検査を行うことができる。
【０１０８】
例えば、新規推定の学習された応答シンボルが、既存の学習済み応答シンボルと類似している場合、該新規推定の学習された応答シンボルの追加的使用が防止されることになるか、または、新規の学習済み応答シンボルを生成できるように、ユーザは、その学習された応答イベントを繰り返すことを要求されることがある。
【０１０９】
あるいは、あいまい性除去アルゴリズムが、当該既存の学習済み応答シンボルおよび他の既存の学習済み応答シンボルと似ていないように、推定の学習された応答シンボルを調整適応させることもできる。この適応は、例えば、推定の学習された応答シンボルの定義中への、例えばユーザ、日時、曜日等の識別などの追加のコンテキストデータを含んでよい。このあいまい性除去アルゴリズムは自動でもよく、またはユーザ制御の下でもよい。ユーザ制御の下で行う場合、以下のように行えばよい。
【０１１０】
プログラミング制御状態２２４において、あいまい性除去検査が行われるかどうかを問わず、処理モジュール１２０は、学習される応答シンボルを定義する、捕捉対象の非定型のイベントシーケンスをユーザが定義するためのオプションを提供することができる。
【０１１１】
ユーザは、推定の学習対象応答シンボルが定められた元の「ターゲット映像」を含む映像データの提示を受けることができる。このターゲット映像は、映像のより長い部分の中で提示されてもよい。このターゲット映像は、推定学習対象応答シンボルを定義する中で重要性を付与された画像特徴、エリア、およびイベントを識別してもしなくてもよい。
【０１１２】
ユーザは、推定学習対象応答シンボルを定め、センサデータを再処理し、新規の推定学習対象応答シンボルを生成するために用いる処理の各側面を制御できてもよい。
【０１１３】
例えば、ユーザは、ターゲット映像が映像の違った部分で開始され、および／または映像の違った部分で終了するように制御することができてもよい。
【０１１４】
例えば、ユーザは、推定学習対象応答シンボルを定義する中で、どの画像特徴、エリア、およびイベントに重要性を付与するかを制御することができてもよい。ユーザは、例えば、推定学習対象応答シンボルを定義する中で、重要性を付与された既存の画像特徴、エリア、およびイベントに対し、追加または除去または編集することができてもよい。
【０１１５】
或るエリアが選択され、推定学習対象応答シンボルがオーディオデータに基づく場合、シーン１４０の当該エリアからのオーディオだけが推定学習対象応答シンボルを生成するのに使われるように、オーディオビーム形成を用いることができる。
【０１１６】
或るエリアが選択される場合、推定学習対象応答シンボルを生成するために、シーン１４０の当該エリアからのセンサデータだけを用いることができる。このセンサデータは、映像データおよび／またはオーディオデータおよび／または奥行きデータを含むことができる。
【０１１７】
推定学習対象応答シンボルを生成するために、オーディオデータおよび／または映像データおよび／または奥行きデータが用いられる場合、オーディオ、映像、および奥行きに対して重点的なエリアは、ユーザによって別個に制御することができる。
【０１１８】
このユーザ制御に使われるユーザインタフェースは、例えば、携帯セルラ電話、携帯情報端末など、ユーザのパーソナル通信デバイス上のユーザインタフェースであってよい。
【０１１９】
図７Ａおよび７Ｂは、かかるユーザインタフェースの一例を示す。この例において、上側ディスプレイ部分１０は、推定学習対象応答イベント以前のシーン１４０を表示し、下側ディスプレイ部分は、推定学習対象応答イベントの間の、ターゲット映像またはターゲット映像からの代表的静止画像を表示する。ユーザは、Ａ１がＡ２に変わったときに、学習された応答イベントを表すための推定学習対象応答シンボルを欲する。しかしながら、システム１００は、Ｂ１がＢ２に変わったときに、学習された応答イベントを表す推定学習対象応答シンボルを選択している。この選択は、インジケータ（点線）を使って、上側ディスプレイ部分１０および下側ディスプレイ部分２０に示されている。ユーザは、Ａ１を表示している下側ディスプレイ部分２０の当該部分にタッチすることによって、推定学習対象応答シンボルを制御し、横方向トレース移動によって映像をイベントＡ２にスクロールする。これは、Ｂ１からＢ２への変化ではなく、Ａ１からＡ２への変化に基づいて、新規の推定学習対象応答シンボルを定めるべきことを、システム１００に指示する。
【０１２０】
図８Ａおよび８Ｂは、かかるユーザインタフェースの別の例を示す。この例において、上側ディスプレイ部分１０は、推定学習対象応答イベント以前のシーン１４０を表示し、下側ディスプレイ部分は、推定学習対象応答イベントの間における、ターゲット映像またはターゲット映像からの代表的静止画像を表示する。ユーザは、Ａ１がＡ２に変わったときに、学習された応答イベントを表すための推定学習対象応答シンボルを欲する。しかしながら、システム１００は、Ｂ１がＢ２に変わったときに、学習された応答イベントを表す推定学習対象応答シンボルを選択している。この選択は、選択インジケータ（点線）を使って、上側ディスプレイ部分１０に示されている。ユーザは、選択インジケータを表示している上側ディスプレイ部分１０の当該部分にタッチし、タッチトレース移動４０を用いてＡ１にインジケータを移動しＡ１にドロップすることによって推定学習対象応答シンボルを制御する。これは、Ｂ１での変化ではなく、Ａ１での変化に基づいて、新規の推定学習対象応答シンボルを定めるべきことをシステム１００に指示する。
【０１２１】
これにより、当然ながら、ユーザは、時空中での非定型のイベントシーケンスの捕捉の発生を制御することができることになる。これは、捕捉が発生するシーン空間、および／または捕捉が発生する映像シーケンス内のシーン時間を制御することを含むことができる。
【０１２２】
例として、ユーザは、非定型のイベントシーケンスの捕捉をシーンの部分または部分群に制限する、あるいは全シーンに拡大することができてもよい。
【０１２３】
本発明のよりよい理解のために、家庭環境でこれがどのように使用できるかのいくつかの例を以下に提示する。但し、本発明はこれらの例には限定されない。
【０１２４】
ユーザは、例えば、一方の手をカメラの方に指し、次いで他方の手の人差し指を上げるなど、プログラミングジェスチャをする。あるいは、ユーザがその手をたたいて、これをオーディオから分析し検出することもできよう。これにより学習状態２２２が開始される。
【０１２５】
ユーザは、今後の認識のため自分が欲するプログラム対象の挙動を実行する。例えば、ユーザは、ドアを開く、明かりをともす、暖房を調節する、冷蔵庫を開く、部屋の外に出る、部屋に入る、床に寝転がる、ソファに座る、キャビネットの扉を開けるまたは閉める、皿を洗う、花に水をやる、コーヒーメーカまたはトースタを始動または停止する、洗濯機に衣類を入れる／取り出す、薬棚に行く、コップに水を注ぎそれを飲む、発作など病状の兆候を再現する、などができよう。
【０１２６】
また、ユーザは、随意的にやはり学習対象応答アクションをプログラムするプログラミング終了ジェスチャをする。
【０１２７】
例えば、ユーザは、学習される応答が自分への電話連絡であるべきことを示すためあたかも電話に応じるかのように、自分の耳の横に自分の手を持ってくる。別の例として、学習される応答が自分へのｅメールまたはテキストメッセージングでの連絡であるべきことを示すために、ユーザはユーザの前方に自分の手を持ってきて、あたかもその手の上にタイプするかのようなしぐさをする。
【０１２８】
これは、当該挙動に対する新規の学習された応答状態２３２、さらにその学習された応答状態に関連付けられた学習された応答アクションを生成する。
【０１２９】
その後において、同じシーン１４０、または場合によっては別のモニタリング対象シーン中で類似の挙動が生じたとき、システム１００は、当該学習済み応答アクションを自動的に実行する。
【０１３０】
例えば、窓、ドアまたは冷蔵庫を開ける／閉める；人物が座る、倒れる、横たわる；部屋から立ち去る、部屋に入る、発作を起こす、人物がコーヒーメーカ／トースタ／洗濯機などの機器と相互作用する、水を注ぐ、水を飲む、機器がオンである（オフでない）、外部のノイズ、犬の鳴き声、人による騒音などの何らかの音；あかりのオン／オフなどの多数の挙動を認識することができる。
【０１３１】
いくつかの例において、学習される応答アクションは他のパラメータを条件とすることが可能であり、したがって遅延することがある。例えば、ユーザは、ユーザが家を離れるときにだけ窓が開いている、または機器がオンになっていることの警告を受けてもよい。さらなるパラメータを提供するために、システム１００に他のシステムを統合することが望ましいことがある。
【０１３２】
前述の諸例において、当然のことながら、学習状態２２０において行われる映像捕捉は、モニタリング状態２１０において行われる映像モニタリングと同じシーン１４０に関するものとすることができる。実際には、学習状態２２０において行われる映像捕捉は、モニタリング状態２１０において行われる映像モニタリングと同じカメラとすることができる。
【０１３３】
本文書において用語「備える」または「含む」（ｃｏｍｐｒｉｓｅ）」は排他的意味でなく包括的意味で用いられている。つまり、Ｙを備えるＸへの一切の言及は、Ｘが１つだけのＹを備えてもよくまたは複数のＹを備えてもよいことを示す。「備える」を排他的意味で用いることが意図されている場合、それは、「１つだけを備える」と述べることによって、または「から成る（ｃｏｎｓｉｓｔｉｎｇ）」を用いることによって、文脈上で明瞭にされることになる。
【０１３４】
この簡潔な説明では、様々な例への参照がなされてきた。或る例に関連付けた特徴または機能の説明は、それらの特徴または機能がその例の中に存在することを示す。文中の用語「例（ｅｘａｍｐｌｅ）」または「例えば（ｆｏｒ  ｅｘａｍｐｌｅ）」または「あり得る（ｍａｙ）」の使用は、明示で述べられているかどうかに関わらず、かかる特徴または機能が、例として記述されているかどうか問わず、少なくとも記載された例の中に存在すること、および、それらが、必須ではないが、一部のまたは全部の他の例の中にも存在できることを意味する。しかして、「例」、「例えば」または「あり得る」は、或る区分の複数の例における特定の事例を指す。その事例の性質は当該事例だけの性質、またはその区分の性質、またはその区分中の事例の全部ではないが一部を含む区分の下位区分の性質であり得る。したがって、１つの例を参照するが別の例を参照せずに説明された特徴は、可能な場合はその別の例で使用できるが、必ずしもその別の例において使用しなければならないものではないことが、暗黙裡に開示されている。
【０１３５】
本願の開示から、発明の以下の例が開示されたことが明らかであろう。
【０１３６】
シーン中のユーザアクションから第一ユーザ入力を自動的に認識するために、シーンから記録された第一センサデータを自動的に処理することと；第一ユーザ入力の認識に応答して、シーンの第一映像の処理を含む、シーンからの第一センサデータの自動処理であって、第一ユーザ入力後のシーン中の非定型のイベントシーケンスを捕捉するための、第一センサデータの自動処理、およびシーンから後に記録されシーンの第一映像とは異なるシーンの第二映像を含む第二センサデータの自動処理であって、後に記録される第二映像中の、捕捉されたイベントシーケンスに対応するイベントシーケンスを自動的に認識するための、第二センサデータの自動処理、を可能にする学習状態に自動的に入ることと；を含む方法。
【０１３７】
シーン中のユーザアクションから第一ユーザ入力を自動的に認識するために、シーンから記録された第一センサデータを自動的に処理することと；第一ユーザ入力の認識に応答して、シーンの第一奥行きデータの処理を含む、シーンからの第一センサデータの自動処理であって、第一ユーザ入力後のシーン中の非定型のイベントシーケンスを捕捉するための、第一センサデータの自動処理、およびシーンから後に記録されシーンの第一奥行きデータとは異なるシーンの第二奥行きデータを含む、第二センサデータの自動処理であって、後に記録される第二映像中の、捕捉されたイベントシーケンスに対応するイベントシーケンスを自動的に認識するための、第二センサデータの自動処理、を可能にする学習状態に自動的に入ることと；を含む方法。
【０１３８】
シーン中のユーザアクションから第一ユーザ入力を自動的に認識するために、シーンから記録された第一センサデータを自動的に処理することと；第一ユーザ入力の認識に応答して、シーンの第一映像および／または第一奥行きデータの処理を含む、シーンからの第一センサデータの自動処理であって、第一ユーザ入力後のシーン中の非定型のイベントシーケンスを捕捉するための、第一センサデータの自動処理、およびシーンから後に記録されシーンの第一映像および／または奥行きデータとは異なるシーンの第二映像および／または第二奥行きデータを含む、第二センサデータの自動処理であって、後に記録された第二映像および／または奥行きデータ中の、捕捉されたイベントシーケンスに対応するイベントシーケンスを自動的に認識するための、第二センサデータの自動処理、を可能にする学習状態に自動的に入ることと；を含む方法。
【０１３９】
本願明細書及び図面において、本発明の様々な実施形態が様々な実施例と共に紹介されてきたが、当然のごとく、特許請求の範囲に特定される発明の範囲を逸脱することなく、紹介された実施形態を変形することができる。
【０１４０】
これまでに記述してきた事項は、明示的に記述された組合せだけでなく、それ以外の組合せで用いられてもよい。
【０１４１】
特定の事項を参照して種々の機能を記述してきたが、こうした機能は、記述の有無を問わずその他の事項によって遂行可能であってもよい。
【０１４２】
特定の実施形態を参照して種々の事項を記述してきたが、こうした事項は、記述の有無を問わずその他の実施形態で用いられてもよい。
【０１４３】
前述のように本明細書において、とりわけ重要であると考えられる本発明のこうした事項に注目するように努めてきた。しかし、前述した特許されうる全ての事項およびそれらの組合せに対して、参照された添付の図面にそうした事項が特段強調されていたかどうかにかかわらず、本出願人はその保護を求めるものである点を理解されたい。
【図１】
0006600359.tif 000002
【図２】
0006600359.tif 000003
【図３】
0006600359.tif 000004
【図４】
0006600359.tif 000005
【図５Ａ】
0006600359.tif 000006
【図５Ｂ】
0006600359.tif 000007
【図６】
0006600359.tif 000008
【図７】
0006600359.tif 000009
【図８】
0006600359.tif 000010