(57)【特許請求の範囲】
【請求項１】
三次元画像の作成を可能にする画像センサーおよび三次元空間音響処理を可能にする音響センサーを含むセンサーを備える装置のための方法であって、
メッセージを、１つ以上の提示基準およびあるシーンにおける物理的ロケーションに結び付けるステップと、
前記１つ以上の提示基準の充足を自動的に認識するために前記シーンからの記録されたセンサー・データを自動的に処理するステップと、
前記１つ以上の提示基準の充足の認識に応答して、前記物理的ロケーションにおける前記シーンへの前記メッセージの自動的提示を可能にするために、提示状態を入力するステップと、
を含み、
前記センサー・データは、三次元画像データおよび三次元空間音響データを含む、
方法。
【請求項２】
前記１つ以上の提示基準は、少なくとも１つの人特定的提示基準を含み、
前記した前記１つ以上の提示基準の充足を自動的に認識するために前記シーンからの記録されたセンサー・データを自動的に処理するステップは、前記シーン内の特定の人を自動的に認識するために前記シーンからの記録されたセンサー・データを処理するステップを含む、
請求項１に記載の方法。
【請求項３】
前記１つ以上の提示基準は、少なくとも１つの挙動特定的提示基準を含み、
前記した前記１つ以上の提示基準の充足を自動的に認識するために前記シーンからの記録されたセンサー・データを自動的に処理するステップは、前記シーンにおける特定の挙動を自動的に認識するために、前記シーンから記録されたセンサー・データを処理するステップを含む、
請求項１ないし２のいずれか１項に記載の方法。
【請求項４】
前記１つ以上の提示基準は、
前記シーンにおけるオブジェクトまたは人の存在、前記シーンにおけるオブジェクト
または人の特定の分類または識別、
前記シーンにおけるオブジェクトまたは人の特定の追跡、
前記シーンにおけるオブジェクトまたは人の特定の位置、
前記シーンの空間の特定の深さマップ、および、
前記シーンにおいて発生するイベントを描写する特定の決定されたシンボル、
のうちの１つ以上を含む、請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
前記１つ以上の提示基準は、日付、時刻、遅延、持続時間のうちの１つ以上を特定する時間基準を含む、請求項１ないし４のいずれか１項に記載の方法。
【請求項６】
１つ以上の提示基準、物理的ロケーション、メッセージ構成、のうちの１つ以上をユーザーがプログラミングできるようにするために、前記シーンにおけるユーザー・アクションに関して、前記シーンからの記録されたセンサー・データを自動的に処理するステップ、を含む、請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
前記ユーザー・アクションは発話を含み、前記した前記シーンからの記録されたセンサー・データを自動的に処理するステップは、発話認識処理を含む、請求項６に記載の方法。
【請求項８】
前記ユーザー・アクションの間の前記ユーザーのロケーション、前記メッセージのコンテンツ、のうちの１つ以上に基づいて、前記シーン内の前記物理的ロケーションを決定するステップを含む、請求項６または７に記載の方法。
【請求項９】
前記した前記１つ以上の提示基準の充足を自動的に認識するために前記シーンからの前記記録されたセンサー・データを自動的に処理するステップにおいて使用される、前記１つ以上の提示基準のいくつかまたは全てとして選択するための１つ以上の提示基準をユーザーに対して提案するステップを含む、請求項１ないし８のいずれか１項に記載の方法。
【請求項１０】
前記提案される提示基準は、ユーザーの物理的ロケーション、前記シーンにいる、または、前記シーンにおいてユーザー・アクションを行なうユーザーのロケーションにいる、人もしくは人々、および、前記メッセージのコンテンツ、のうちの１つ以上に基づいて決定される、請求項９に記載の方法。
【請求項１１】
前記メッセージの構成を可能にするために前記シーンからの記録されたセンサー・データを処理するステップを含む、請求項１ないし１０のいずれか１項に記載の方法。
【請求項１２】
１つ以上の提示基準、物理的ロケーション、メッセージ構成、のうちの１つ以上の定義をできるように、メッセージング状態の自動入力を可能にするため、前記シーンからの記録されたセンサー・データを自動的に処理するステップ、を含む、請求項１ないし１１のいずれか１項に記載の方法。
【請求項１３】
前記物理的ロケーションにおける前記シーンの中への前記メッセージの提示は、前記物理的ロケーションにおいてディスプレイからの前記メッセージを表示するステップ、または、前記物理的ロケーションにおいて表面上に前記メッセージを投影するステップを含む、請求項１ないし１２のいずれか１項に記載の方法。
【請求項１４】
１つ以上の提示基準、物理的ロケーション、メッセージ構成、のうちの１つ以上の前記シーンにおけるアクティビティの結果としての再プログラミングを可能にするステップを含む、請求項１ないし１３のいずれか１項に記載の方法。
【請求項１５】
請求項１ないし１４のいずれか１項に記載の方法を実行するための手段を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、シーンの監視に関する。詳細には、本発明の実施形態は、シーンの自動監視に関する。
【背景技術】
【０００２】
サーベイランス・システムなどの現行の監視システムは、録画のために１つ以上のカメラを備えることができる。そのカメラは、シーンから記録されたデータを格納するか、または、格納を可能にするハブに対して有線または無線で接続することができ、録音を伴うこともあり得る。
【発明の概要】
【０００３】
本発明の種々の実施形態によると、請求項１ないし１４のいずれか１項に記載の方法が提供されている。ただし、それらに限られるものではない。
【０００４】
本発明の種々の実施形態によると、請求項１５に記載の装置が提供される。ただし、それらに限られるものではない。
【０００５】
本発明の種々の実施形態によると、少なくとも１つのプロセッサ、および
コンピュータ・プログラム・コードを含む少なくとも１つのメモリ、
を含む装置において、少なくとも１つのメモリおよびコンピュータ・プログラム・コードが、少なくとも１つのプロセッサを用いて、装置に、少なくとも請求項１ないし１４のいずれか１項に記載の方法を行なわせるように構成されている、装置が提供されている。ただし、それらに限られるものではない。
【０００６】
本発明の種々の実施形態によると、コンピュータ上で実行された場合に、請求項１ないし１４のいずれか１項に記載の方法を行なうコンピュータ・プログラムが提供されている。ただし、それらに限られるものではない。
【０００７】
本願発明を理解するのに有用な種々の実施例をより良く理解するために、次に、例としてのみであるが、添付図面を参照する。
【図面の簡単な説明】
【０００８】
【図１】システムの一実施例を概略的に示す。
【図２】状態マシンの一実施例を示す。
【図３】処理モジュールの一実施例を示す。
【図４】コンピュータ・プログラムのためのデリバリ・メカニズムの一実施例を示す。
【図５Ａ】状態マシンのための新しい提示状態を作成するプロセスの一実施例を示す。
【図５Ｂ】１つの監視状態から新しい提示状態へと移行し、結び付けられた提示アクションを行なうプロセスの一実施例を示す。
【発明を実施するための形態】
【０００９】
ここに記載されるシステム１００は、少なくとも１つのシーンを監視するシステムである。システムの動作は、シーンの内部でアクションを実施することによりシーンの内部でユーザーにより制御され得る。例えば、ユーザーは、シーンからのセンサー・データが１つ以上の提示基準を充足する場合シーン内でメッセージが条件付きで提示されるように、システムを制御することができる。
【００１０】
図１は、概略的に、シーン１４０からのセンサー・データ１１２を記録するように構成された１つ以上のセンサー１１０と、シーン１４０内で発生する事象を自動的に認識し、この認識の結果として自動的に決断を下すために、シーン１４０から記録されたセンサー・データ１１２を処理するように構成された処理モジュール１２０と、処理モジュール１２０により通信する決断が下された場合に、通信するように構成された通信モジュールとを備えたシステムを、概略的に例示する。
【００１１】
認識された事象の必ずしも全てではないが、いくつかは、シーン１４０内のオブジェクト１５２または特定のオブジェクト１５２に関するものであることができる。オブジェクトは、シーン１４０内の無生物、動物、人または特定の人１５０であることができる。システム１００の必ずしも全てではないが、いくつかの実施例において、システム１００は、実時間認識システムであり、自動認識および決断がある場合、それは、センサー・データ１１２の記録と実質的に同時に発生する。
【００１２】
システム１００を、サーベイランス、監視または他のアプリケーションのために使用することができる。システム１００を、ビジネスで、公共の場でまたは自宅で使用することができる。期待される一つの用途は、ホーム・サーベイランス・システムである。
【００１３】
システム１００は、例えば、ユーザーがシーン１４０内の人１５０である場合は、このユーザーが監視を制御できるようにすることができる。システム１００は、例えばユーザーがシーン１４０内の人１５０である場合に、このユーザーが認識および／または認識の結果を制御できるようにすることができる。
【００１４】
必ずしも全てではないが、いくつかの実施例において、システム１００は、多くの離散的装置を備えることができる。例えば、センサー１１０を１つ以上の別個の装置内に収納することができ、処理モジュール１２０を１つ以上の装置内に収納でき、また通信モジュール１３０を１つ以上の装置内に収納することができる。システム１００の構成要素を離散的装置内に収納する場合、これらの装置は、互いに局所的であるかまたは遠隔していることができ、遠隔している場合、例えばネットワーク上で通信できる。
【００１５】
必ずしも全てではないが、いくつかの実施例において、システム１００を、単一の装置内に収納することができる。
【００１６】
センサー１１０は、シーン１４０からのセンサー・データ１１２を記録するかまたはその記録を可能にするように構成される。
【００１７】
シーン１４０は、例えば静止オブジェクトなどの、例えば固定した相対位置を有する静止構成要素を含むことができる。これらの静止オブジェクトは、シーンの三次元空間（シーン空間）内で異なる静止位置を有する。シーン１４０は、例えば移動オブジェクトなどの移動する構成要素を含むことができる。移動オブジェクトは、経時的に、シーン空間内で異なる位置を有する。異なるセンサー・データ１１２または異なる時刻との関係における「シーン」に対する言及は、シーン１４０の検知されている静止構成要素の連続性を暗に示し、発生する可能性があるにも関わらず、動的構成要素のいくつかまたは全ての連続性を必ずしも暗示しない。
【００１８】
センサー・データ１１２の記録は、一時的記録のみを含むことができるか、または永久的記録を含むことができるか、あるいは、一時的記録と永久的記録の両方を含むことができる。一時的記録は、データを一時的に記録することを暗に示す。例えば、これは、検知中に発生する、動的メモリにおいて発生する、循環バッファ、レジスタ、キャッシュまたはそれに類するものなどのバッファにおいて発生することができる。永久的記録は、データが、アドレス指定可能なメモリ空間から読出し可能なアドレス指定可能データ構造の形をしており、したがって削除または上書きされるまで記憶され検索され得るが、長期記憶は行なうことができる場合とできない場合がある、ということを暗に示す。
【００１９】
センサー１１０は、シーン１４０からの伝搬波データをセンサー・データ１１２としてエンコードする電気信号に音波および／または光波などの伝搬波を変換するように構成されることができる。
【００２０】
必ずしも全てではないが、いくつかの実施例において、センサー１１０は、シーン空間との関係において空間内で固定されている。他の実施例において、センサー１１０は、シーン空間との関係において移動可能または移動中である。
【００２１】
必ずしも全てではないが、いくつかの実施形態において、センサーは画像センサー１１４であるかまたは画像センサー１１４を含む。画像センサー１１４の一例は、カメラとして動作するように構成されるデジタル画像センサーである。このようなカメラは、静止画像および／またはビデオ画像を記録するように動作可能である。
【００２２】
必ずしも全てではないが、いくつかの実施形態において、シーン１４０を異なる視点から見るように、カメラを立体的配置または他の空間的に分散した配置で構成することができる。こうして、三次元画像の作成および／または視差効果などを介して深度を確立するための処理を可能にすることができる。
【００２３】
必ずしも全てではないが、いくつかの実施形態において、センサー１１０は音響センサー１１６であるかまたは音響センサー１１６を含む。音響センサー１１６の一例は、マイクロホンである。マイクロホンは、立体型または他の空間分散型配置、例えばマイクロホン・アレイの形で構成され、こうして、シーン１４０は異なる視点からサンプリングされる。こうして、３次元空間音響処理が可能になり、これにより、シーン１４０内の音響位置付けが可能となる。
【００２４】
必ずしも全てではないが、いくつかの実施形態において、センサーは、深度センサー１１８であるかまたは、深度センサー１１８を含む。深度センサー１１８は、送信機および受信機を含むことができる。送信機は、信号（例えば、超音波または赤外光などの人間が感知できない信号）を伝送し、受信機は、反射信号を受信する。単一の送信機と単一の受信機を使用して、伝送から受信への飛行時間の測定を介して、いくつかの深度情報を達成することができる。より多くの送信機および／またはより多くの受信機を使用することによって、より良い分解能を達成することができる（空間ダイバーシティ）。一実施例において、送信機は、光、好ましくは、空間依存パターンを伴う赤外光などの非可視光を用いてシーンを「ペイントする」ように構成されている。受信機による一定のパターンの検出により、シーン１４０を空間的に分解することが可能になる。シーン１４０の空間的に分解された部分までの距離は、飛行時間および／または立体映像（受信機が送信機との関係において立体視位置にある場合）によって決定できる。
【００２５】
深度検知のこれらの「受動的」または「非能動的」実施例において、検知されるべき人１５０またはオブジェクト１５２は受動的であり、単に送信機により発出される入射光または音波を反射するにすぎない。しかしながら、検知されたオブジェクトにおけるアクティビティを必要とする「能動的」実施例を、付加的にまたは代替的に使用することができる。一つの例として、人は、位置付け装置をシーン空間内部で位置付けするように構成されている位置付け装置を持つことができる。位置付け装置は、例えば、加速度計を用いて、基準位置から位置付け装置のモーションを測定することができる。任意には、向きを決定するためにジャイロスコープを使用することができる。付加的または代替的には、位置付け装置は、多数の受信機へと伝送したり、多数の送信機から受信したりすることによって、三角形分割（三辺測量）を介した位置付けを可能にすることができる。
【００２６】
必ずしも全ての実施例ではないものの例示された実施例において、処理モジュール１２０は、メモリ・サブモジュール１２２、処理サブモジュール１２４、認識サブモジュール１２６および制御サブモジュール１２８を備えている。「モジュール」は、別個に説明され例示されているものの、必然的にではないが、別個であるかまたは異なる組合せで組合わされることができる。例えば、処理サブモジュール１２４、認識サブモジュール１２６および制御サブモジュール１２８を、同じ回路によって、または同じコンピュータ・プログラムの制御下で実行することができる。代替的には、処理サブモジュール１２４、認識サブモジュール１２６および制御サブモジュール１２８の１つ以上を、専用回路または専用コンピュータ・プログラムにより実行することができる。ソフトウェア、専用ハードウェアまたは、プログラミングされたハードウェアとソフトウェアの融合体を用いて、サブモジュールを実行することができる。
【００２７】
未処理のセンサー・データ１１０および／または処理済みのセンサー・データ１１０（シーン・データ）、コンピュータ・プログラム、シーン空間モデルおよび処理モジュール１２０によって使用される他のデータを記憶するために、メモリ・サブモジュール１２２を使用することができるが、他のサブモジュールは、自身のメモリを有する可能性がある。
【００２８】
センサー・データ１１２を処理してシーン１４０についての意味のあるシーン・データを決定するように、処理サブモジュール１２４を構成することができる。
【００２９】
センサー・データ１１０がカメラ１１４からの画像データを含む場合に画像処理を行なうように、処理サブモジュール１２４を構成することができる。センサー・データ１１０がマイクロホン１１６からの音響データを含む場合に音響処理を行なうように、処理サブモジュール１２４を構成することができる。
【００３０】
シーン１４０にとって潜在的に意味のあるシーン・データを作成するためにセンサー・データ１１２を使用する以下のタスクのうちの１つ以上を自動的に行なうように、処理サブモジュール１２４を構成することができる。
以下のものの１つ以上を行なうためにマシン（コンピュータ）ビジョンを使用する。
（移動するまたは静止した）オブジェクトまたは人を検出すること、
（移動するまたは静止した）オブジェクトまたは人を分類すること、
（移動するまたは静止した）オブジェクトまたは人を追跡すること、
以下のものの１つ以上を行なうために空間解析を使用する。
深度決定を用いてシーン空間内に（移動するまたは静止した）オブジェクトを位置付けること、および／または、
シーン空間のマップを作成すること、および／または
潜在的に意味のあるシンボルとしてシーン１４０内に発生する事象を描写するために挙動解析を使用する。
【００３１】
画像処理の一例は、画像について強度勾配またはエッジ方向の分布を作成する「勾配特徴ヒストグラム」である。画像は、小さな連結された領域（セル）に分割でき、各セルについて、セル内部の画素のための勾配強度またはエッジの向きのヒストグラムが作成される。これらのヒストグラムの組合せは、このとき記述子を表わす。
【００３２】
音響処理の一例は、「メル周波数ケプストラム係数」の決定、例えば音響ビームフォーミング技術を用いた空間音響処理、音響事象の認識または分類、話者の認識または確認または発話認識、である。
【００３３】
モーション検出は、例えば背景モデルとの関係における（バックグラウンド除去）差分または先行する画像との関係における差分（時間的差分）を用いて、またはベクトルベースのアプローチを用いたオプティカルフロー解析などの他のいくつかのアプローチを用いて達成可能である。
【００３４】
オブジェクトの分類は、例えば、形状ベースの解析および／またはモーションベースの解析を用いて達成できる。
【００３５】
人の分類は、オブジェクトが人であるという分類または、オブジェクトが特定の人であるという分類（識別）であることができる。識別は、考えられる一群の人の中の人を一意的に識別する属性または属性の組合せを使用して達成できる。属性の例としては、人に特有のものであるかまたは特有である可能性のあるバイオメトリック特徴、例えばその人の顔または声、形態およびサイズ、挙動、が含まれる。
【００３６】
オブジェクト追跡は、オブジェクトを標識付けし、標識付けされたオブジェクトのシーン１４０内の位置を記録することにより達成できる。アルゴリズムは、シーン１４０へのオブジェクトの進入、シーン１４０からのオブジェクトの退出、シーン１４０へのオブジェクトの再進入、オブジェクトの閉鎖、オブジェクトのマージという事象のうちの１つ以上を扱かう必要がある可能性がある。これらの事象の扱い方は、当該技術分野において知られている。
【００３７】
オブジェクト追跡は、オブジェクトまたは人が変化する時点を決定するために使用可能である。例えば、大きなマクロスケールでオブジェクトを追跡することで、そのオブジェクトと共に移動する基準フレームを作成することができる。次に、オブジェクトとの関係における時間的差分を用いることによってオブジェクトの形状の時間的に推移する変化を追跡するために、この基準フレームを使用することができる。これは、ジェスチャー、手の動き、顔の動き、などの小規模な人間のモーションを検出するために使用され得る。これらは、ユーザーに関係する、シーンとは独立したユーザー（のみ）の動きである。
【００３８】
システム１００は、例えば、人体の１つ以上の関節などの人体との関係における複数のオブジェクトおよび／またはポイントを追跡することができる。いくつかの実施例において、システム１００は、人体の全身骨格追跡を行なうことができる。
【００３９】
人体との関係における１つ以上のオブジェクトおよび／またはポイントの追跡を、システム１００は、ジェスチャー認識などにおいて使用することができる。
【００４０】
挙動解析には、意味のあるシンボロジーを用いたシーン１４０内で発生する事象の描写が必要とされる。事象は、空間・時間インスタンスにおいて発生する何かであることができ、あるいは、空間・時間シーケンス（経時的な空間・時間インスタンスのパターン）であることもできる。事象は、オブジェクト（または人）のモーションまたは人とオブジェクトの相互作用に関係するものであることができる。
【００４１】
必ずしも全てではないが、いくつかの実装において、マシン（コンピュータ）ビジョン解析および／または空間解析から決定されたパラメータの観点から見て定義された推定シンボルにより、事象を表現することができる。これらのパラメータは、何が起こっているか、それがどこで発生しているか、何時発生しているか、そして誰がそれを行なっているかのうちの１つ以上をエンコードする。
【００４２】
認識サブモジュール１２６は、特定の意味と結び付けられた意味のあるシンボルとして、シーン１４０内の事象をコードする推定シンボルを認識するように構成される。
【００４３】
マシン（コンピュータ）ビジョン解析および／または空間解析から決定されたパラメータの観点から見て定義され、意味を有するものとして処理サブモジュール１２４によって生成された推定シンボルを認識するように、認識サブモジュール１２６を構成することができる。認識サブモジュール１２６は、例えば、意味のある基準シンボルのデータベースを記憶またはアクセスすることができ、推定シンボルが意味のあるシンボルと「類似しているか」否かを決定するために類似性テストを使用できる。
【００４４】
認識サブモジュール１２６を、マシン（コンピュータ）推論エンジンまたは他の認識エンジン、例えば、人工ニューラル・ネットワークまたはパラメータ空間内のクラスタリングなどとして構成することができる。いくつかの実施例において、意味のあるシンボルを基準シンボルに類似するものとして認識するように、認識サブモジュール１２６をトレーニングすることができる。
【００４５】
制御サブモジュール１２８は、以下のように、事象に基づいて、シーン１４０内で意味のある事象が発生したことの決定に対して応答する。
【００４６】
ａ）  推論シンボルが応答シンボルと類似している場合には、意味のあるシンボルは、「応答」事象であり、制御サブモジュール１２８は応答アクションを行なう。
【００４７】
必ずしも全てではないが、いくつかの実施例において、行なわれるアクションは、ユーザーがプログラミングできる。必ずしも全てではないが、いくつかの実施例において、プログラミングは、シーン内のユーザーのモーションを介して発生できる。以下では、図５Ａおよび５Ｂを参照して実施例が提供される。行なわれるアクションの例は、警告または通知の生成であることができる。
【００４８】
警告または通知は、通信モジュール１３０を介して提供することができる。通信モジュール１３０は、局所的なまたは遠隔の装置に対して、無線で、無線を介して、または有線接続を介して通信することができる。このような装置の実施例には、非限定的に、ディスプレイ、テレビ、音響出力装置、パーソナル・デバイス、例えば携帯電話またはパソコン、プロジェクタまたは他のユーザー出力装置が含まれる。
【００４９】
必ずしも全てではないが、いくつかの実施例において、ユーザーが応答シンボルをプログラミングすることができる。例えば、以下で図５Ａおよび５Ｂを参照してさらに詳述する通り、ユーザーは、意味のある応答シンボルにより表わされる意味のある事象をプログラミングまたは教示する能力を有することができる。ユーザーにより作成された応答シンボルを基準シンボルのデータベースに追加することができ、あるいは別の方法で推論シンボルを意味のあるシンボルとして認識するために使用することができる。必ずしも全てではないが、いくつかの実施例において、プログラミングはシーン１４０内でのユーザーのモーションを介して発生することができる。意味のあるプログラミングにより表わされる意味のある事象の例としては、ユーザー入力ジェスチャーなどの実行された特定のアクションまたは動きが含まれる。
【００５０】
ｂ）  推論シンボルがユーザー制御シンボルと類似している場合、意味のある事象は、「ユーザー制御」事象であり、制御サブモジュール１２８は、監視のユーザー制御および／または応答のユーザー制御を可能にする。
【００５１】
図５Ａおよび５Ｂを参照して以下でさらに詳述するように、「ユーザー制御」事象の一例は、メッセージング・シンボルにより表わされるメッセージング事象である。推論シンボルが学習シンボルとマッチングすることの認識は、ユーザーが意味のある応答事象および／またはこの応答事象のための応答アクションをプログラミングし教示できるようにする。行なわれるアクションの例は、警告または通知の生成であることができる。
【００５２】
処理モジュール１２０の動作は、処理モジュール１２０のための状態マシン２００を例示する図２からさらに理解できる。状態マシン２００は、監視状態２１０、ユーザー制御状態２２０および自動応答状態２３０を有する。
【００５３】
監視状態２１０において、センサー１１０はセンサー・データ１１２を提供し、処理サブモジュール１２４は、潜在的な意味を有するシーン・データを作成するために、自動的にセンサー・データ１１２（映像および／または音響および／または深度）を処理する。認識サブモジュール１２６は、シーン・データ内で実際の意味、すなわち意味のあるシンボルを識別するために、シーン・データを自動的に処理する。
【００５４】
意味のあるシンボルは所定のものである。すなわち認識に先立ってシンボルを決定するアクションが発生している。しかしながら、「所定」というのは、正確であるあるいは定まったものであることを意味するとみなされるべきではない。類似性マッチングのために用いられるシンボルは、先行する決定を有しているにすぎず、それは動的に進化することができ、あるいは固定されることができる。
【００５５】
意味のある事象がシーン１４０内で発生したことを認識サブモジュール１２６が決定した場合、制御サブモジュール１２８は、事象に応じて自動的に応答する。意味のある事象が「応答」事象である場合には、状態マシン２００は応答状態２３０へと移行し、制御サブモジュール１２８は、その応答事象に結び付けられた応答アクションを行なう。事象が「ユーザー制御」事象である場合には、状態マシン２００はユーザー制御状態２２０に移行し、監視および／または応答のユーザー制御が、ユーザー制御状態２２０と結び付けられた形で可能になる。
【００５６】
「ユーザー制御」事象として、特定のジェスチャー・ユーザー入力を使用することができる。ジェスチャー・ユーザー入力は、システム１００に対してユーザー入力としての意味を持つジェスチャーである。ジェスチャーは、静止ジェスチャーまたは移動ジェスチャーであることができる。移動ジェスチャーは、動きまたは一連の動きを含む動きパターンを含むことができる。例えば、それは、旋回モーションまたは横方向モーションまたは上下モーションまたは空間内での合図のトレーシングを行なうことであり得る。移動ジェスチャーは、例えば、装置独立型ジェスチャーまたは装置依存型ジェスチャーであることができる。移動ジェスチャーには、ユーザー入力オブジェクト、例えばユーザーの体の一部分またはさらなる装置の、センサー１１０との関係における動きが関与することができる。体の一部分は、ユーザーの手またはユーザーの手の一部分、例えば１本以上の指または親指を含むことができる。他の実施例において、ユーザー入力オブジェクトは、ユーザーの体の異なる部分、例えば頭または腕を含むことができる。三次元の動きは、任意の３つの直交する方向におけるユーザー入力オブジェクトのモーションを含むことができる。モーションは、センサー１１０に向かってまたはセンサーから離れるように動くオブジェクトならびにセンサーに対し平行な平面内で動くユーザー入力オブジェクトまたはこのようなモーションの任意の組合せを含むことができる。ジェスチャーは、非接触ジェスチャーであることができる。非接触ジェスチャーは、ジェスチャー中のどの時点においても装置センサーと接触しない。ジェスチャーは、センサー１１０からの絶対的変位の観点から見て定義される絶対ジェスチャーであることができる。このようなジェスチャーは、それがシーン空間内で正確なロケーションにおいて行なわれるという点で、束縛（ｔｅｔｈｅｒｄ）ジェスチャーであることができる。代替的には、ジェスチャーは、ジェスチャー中の相対変位の観点から見て定義される相対ジェスチャーであることができる。このようなジェスチャーは、それがシーン空間内で相対的に正確なロケーションにおいて行なわれる必要がなく、多数の任意のロケーションにおいて行なわれることができるという点において、非束縛（ｕｎ−ｔｅｔｈｅｒｄ）ジェスチャーであることができる。ジェスチャーは、原点との関係における追跡対照ポイントの経時的変位の推移として定義づけすることができる。例えば、ジェスチャーは、変位、速度などの時間変化型パラメータを用いて、または他の運動パラメータを用いてモーションの観点から見て定義することができる。非束縛（ｕｎ−ｔｅｔｈｅｒｄ）ジェスチャーを、相対的時間Δｔに伴う相対変位Δｄの推移として定義することができる。ジェスチャーを、１空間次元（１Ｄジェスチャー）、２空間次元（２Ｄジェスチャー）または３空間次元（３Ｄジェスチャー）で行なうことができる。
【００５７】
いくつかの実施例で、システム１００は、ジェスチャー認識において人体との関係において１つ以上のオブジェクトおよび／またはポイントを追跡することができる。例えば、システム１００は、ジェスチャー認識において人体の全骨格追跡を行なうことができる。
【００５８】
プロセッサ・モジュール１２０またはプロセッサ・モジュール１２０の一部分の実装は、コントローラ回路としてのものであることができる。コントローラ回路１２０は、ハードウェア単独で実装されるか、ファームウェア単独を含めたソフトウェア内に一定の態様を有することができ、または、ハードウェアとソフトウェア（ファームウェアを含む）の組合せであり得る。
【００５９】
図３に例示されているように、例えば、汎用または専用プロセッサ３１０により実行されるべきコンピュータ可読記憶媒体（ディスク、メモリなど）上に記憶できるこのようなプロセッサ３１０内の実行可能なコンピュータ・プログラム命令３２２を使用することによって、ハードウェア機能性を可能にする命令を用いてコントローラ１２０を実装することができる。
【００６０】
プロセッサ３１０は、メモリ３２０から読み取りメモリ３２０に書込むように構成される。プロセッサ３１０は同様に、データおよび／またはコマンドがプロセッサ３１０により出力されるときに経由する出力インタフェースおよびデータおよび／またはコマンドがプロセッサ３１０に入力されるときに経由する入力インタフェースを備えることもできる。
【００６１】
メモリ３２０は、プロセッサ３１０内にロードされた場合に処理モジュール１２０の動作を制御するコンピュータ・プログラム命令（コンピュータ・プログラム・コード）を含むコンピュータ・プログラム３２２を記憶する。コンピュータ・プログラム３２２のコンピュータ・プログラム命令は、図１および２を参照して論述されている方法を処理モジュールが行なうことができるようにする論理およびルーチンを提供する。プロセッサ３１０は、メモリ３２０を読み取ることにより、コンピュータ・プログラム３２２をロードし実行することができる。
【００６２】
したがって、システム１００は、少なくとも１つのプロセッサ３１０と、コンピュータ・プログラム・コード３２２を含む少なくとも１つのメモリ３２０とを備え、少なくとも１つのメモリ３２０およびコンピュータ・プログラム・コード３２２が、少なくとも１つのプロセッサ３１０を用いて装置１２０に図１のブロック１２４、１２６、１２８の１つ以上を行なわせるように構成されている装置１２０を含むことができる。
【００６３】
図４に例示されているように、コンピュータ・プログラム３２２は、任意の好適なデリバリ・メカニズム３２４を介してこのような装置に到達することができる。デリバリ・メカニズム３２４は、例えば、非一時的コンピュータ可読記憶媒体、コンピュータ・プログラム・プロダクト、メモリ・デバイス、記録媒体、例えばコンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）またはデジタル多用途ディスク（ＤＶＤ）、コンピュータ・プログラム３２２を有形で具体化する製造品であることができる。デリバリ・メカニズムは、コンピュータ・プログラムを高い信頼性で転送するように構成された信号であることができる。装置１２０は、コンピュータ・プログラム３２２をコンピュータ・データ信号として伝搬または伝送することができる。
【００６４】
メモリ３２０は単一の構成要素／回路として例示されているものの、そのいくつかまたは全てが一体型／着脱式であることのできるおよび／または永久／半永久的／ダイナミック／キャッシュ記憶装置を提供することができるものである、１つ以上の別個の構成要素／回路として、このメモリ３２０を実装することができる。
【００６５】
プロセッサ３１０は、単一の構成要素／回路として例示されているが、そのいくつかまたは全てが一体型／着脱式であることのできる１つ以上の別個の構成要素／回路としてこのプロセッサ３１０を実装することができる。プロセッサ３１０は、シングル・コアまたはマルチ・コア・プロセッサであることができる。
【００６６】
「コンピュータ可読記憶媒体」、「コンピュータ・プログラム・プロダクト」、「有形で具体化されたコンピュータ・プログラム」など、または「コントローラ」、「コンピュータ」、「プロセッサ」などに対する言及は、シングル／マルチ・プロセッサ・アーキテクチャおよびシーケンシャル（フォン・ノイマン）／パラレル・アーキテクチャなどの異なるアーキテクチャを有するコンピュータのみならず、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向け回路（ＡＳＩＣ）、信号処理デバイスおよび他の回路などの特殊回路を包含するものとして理解されるべきである。コンピュータ・プログラム、命令、コードなどに対する言及は、プログラマブル・プロセッサのためのソフトウェアまたはファームウェア、例えば、プロセッサのための命令であるかまたは固定機能デバイス、ゲート・アレイまたはプログラマブル論理デバイスなどのための構成設定値であるかに関わらず、ハードウェア・デバイスのプログラマブル・コンテンツなどを包含するものとして理解されるべきである。
【００６７】
本出願で使用されている「回路」なる用語は、以下のものの全てを意味する。
（ａ）ハードウェア専用回路実装（例えばアナログおよび／またはデジタル回路のみでの実装）および
（ｂ）回路とソフトウェア（および／またはファームウェア）の組合せ、例えば（該当する場合）、（ｉ）プロセッサの組合せ、または（ｉｉ）モバイル・フォンまたはサーバーなどの装置にさまざまな機能を行なわせるために協働するプロセッサ／ソフトウェア（デジタル信号プロセッサを含む）ソフトウェアの一部分、ソフトウェアおよびメモリ、および
（ｃ）たとえソフトウェアまたはファームウェアが物理的に存在しなくても、動作のためにソフトウェアまたはファームウェアを必要とするマイクロプロセッサまたはマイクロプロセッサの一部分などの回路。
【００６８】
「回路」のこの定義は、任意のクレーム内を含めた本出願中でのこの用語の全ての使用に適用される。さらなる例として、本出願中で使用されている「回路」なる用語は、同様にプロセッサ（または多数のプロセッサ）または一つのプロセッサの一部分、およびその（またはそれらの）随伴するソフトウェアおよび／またはファームウェアの実装をもカバーするものと考えられる。「回路」なる用語は、同様に、一つの例として、および特定のクレーム要素に該当する場合には、モバイル・フォン用のベースバンド集積回路またはアプリケーション・プロセッサ集積回路またはサーバー、セルラ・ネットワーク・デバイスまたは他のネットワーク・デバイス内の類似の集積回路をもカバーするものと考えられる。
【００６９】
図１に例示されているブロック１２４、１２６、１２８は、一つの方法中のステップおよび／またはコンピュータ・プログラム３２２内のコード・セクションを表わすことができる。ブロックに対する特定の順序の例示は、必ずしも、ブロックについての所要のまたは好ましい順序が存在することを暗示しておらず、ブロックの順序および配置は変動することができる。さらに、いくつかのブロックを削除することも可能であり得る。
【００７０】
［メッセージの提示の制御］
図５Ａおよび５Ｂは、前述の状態マシン２００がユーザーによって、および詳細にはシーン１４０内でのユーザー・アクションによっていかにプログラミングされ得るかを例示している。図５Ａは、状態マシン２００のための新しい応答状態２３０（提示状態２３２）を作成するために新しいユーザー制御状態２２０（メッセージング状態２２２）を使用するプロセスを例示している。図５Ｂは、監視状態２１０から新しい提示状態２３２へと移行し２１３、結び付けられた提示アクションを行なうプロセスを例示している。
【００７１】
前述のように、監視状態２１０において、センサー１１０は、センサー・データ１１２を提供し、処理サブモジュール１２４は、潜在的意味を有するシーン・データを作成するためにセンサー・データ１１２（映像および／または音響および／または深度データ）を自動的に処理する。認識サブモジュール１２６は、シーン・データ内の実際の意味を識別するために、シーン・データを自動的に処理する。
【００７２】
例えば、再び図１を参照すると、メッセージ１７０を、シーン内の１つ以上の提示基準および物理ロケーション１８０と結び付けることができる。認識サブモジュール１２６は、１つ以上の提示基準の充足を自動的に認識するために、シーン・データを自動的に処理することができる。１つ以上の提示基準の充足の認識に応答して、状態マシン２００は、提示エンジン１６０による物理ロケーション１８０におけるシーン１４０内へのメッセージ１７０の自動的提示を可能にする提示状態２３２を入力する。
【００７３】
提示エンジン１６０の例は、メッセージを視覚的に提示する可視提示エンジン、メッセージを視覚的に提示する可聴提示エンジンおよび、メッセージを接触を介して提示する触覚提示エンジンを含むことができる。
【００７４】
メッセージを提示する目的のためだけに、またはいくつかの他の目的のために、提示エンジンを提供することができる。
【００７５】
可視提示エンジンの例には、非限定的に、シーン１４０内でメッセージ１７０を表示するシーン１４０内の視覚表示スクリーン、および例えば壁および床などのシーン１４０内の表面上など、シーン１４０内でメッセージ１７０を投影する１つ以上の視覚プロジェクタが含まれる。
【００７６】
［メッセージング状態］
再び図５Ａを参照すると、監視状態２１０において、センサー１１０は、センサー・データ１１２を提供し、処理サブモジュール１２４は、潜在的意味を有するシーン・データを作成するためにセンサー・データ１１２（映像および／または音響および／または深度データ）を自動的に処理する。認識サブモジュール１２６はシーン・データを自動的に処理する。
【００７７】
認識サブモジュール１２６は、状態をメッセージング状態２２２に変化させるためユーザー入力コマンドとしてシーン・データ１１２内でユーザーにより作成されたメッセージング・シンボルを認識することにより、シーン１４０内でメッセージング事象が発生した時点を決定する。制御サブモジュール１２８は、メッセージング状態２２２に移行すること２１１によって、この決定に対して自動的に応答する。例えばメッセージング状態２２２が入力されたことの可聴または可視的確認などのフィードバック標示を、ユーザーに提供することができる。
【００７８】
例えば、センサー・データ１１２から取得した映像データ、音響データおよび深度データのうちのいずれか１つ以上を用いて、メッセージング・シンボルを定義することができる。
【００７９】
必ずしも全てではないが、いくつかの実施例において、メッセージング・シンボルを認識するために、映像データのみが使用される。この実施例において、メッセージング・シンボルは、先に説明したように、追跡対象のユーザーにおける基準フレームとの関係における追跡対象のユーザーのモーションによって定義される、時間的に推移しシーンとは独立したシンボル・シーケンスであることができる。メッセージング・シンボルの一例は、ジェスチャー・ユーザー入力である。
【００８０】
必ずしも全てではないが、いくつかの実施例において、メッセージング・シンボルを認識するために、音響データおよび／または深度データが使用される。この実施例において、メッセージング・シンボルは、追跡対象ユーザーのアクションによって定義される、時間的に推移しシーンとは独立したシンボル・シーケンスであることができる。例えば、深度マップを決定することができ、次にユーザーの変化する体の位置を、マシン学習を用いて推論することができる。これは、例えば、毎秒およそ３０フレームの速度で行なうことができる。ユーザーの関節の位置は出力として生成され、ユーザーの関節の位置を含むシンボルとしてジェスチャーを定義することができる。音響入力の場合、検出可能なジェスチャーの一例は、手をたたくことであり得る。
【００８１】
必ずしも全てではないが、いくつかの実施例において、認識サブモジュール１２６は、メッセージング事象がシーン１４０内で発生したことを決定でき、異常挙動などの異常な状況または認識された人についての異常挙動を検出するかまたは認識されていない人を検出した場合に、メッセージング状態２２２へと移行する２１１ことができる。異常の認識は、シーン１４０の履歴監視に基づくものであることができる。
【００８２】
プログラム・トリガー
メッセージング状態２２２において、ユーザーは、シーン１４０内でアクションを行なうことにより、新しい「応答事象」（提示事象）および対応する新たな応答シンボル（提示シンボル）を定義し、図５Ｂに例示されているように、状態マシン２００内で新しい応答状態（提示状態２３２）を作成することができる。
【００８３】
メッセージング状態２２２では、システム１００は、１つ以上の提示基準、物理ロケーション１８０、およびメッセージ１７０の構成（コンテンツ）のうちの１つ以上のユーザー・プログラミングを可能にするため、シーン１４０内のユーザー・アクションに関するシーン１４０からの記録されたセンサー・データ１１２を自動的に処理する。
【００８４】
ユーザー・プログラミング中、システム１００は、提示エンジン１６０を用いたプログラミングのためのユーザー・インターフェースを提供することができる。提示エンジン１６０は例えば、メニュまたはキーボードなどとして選択可能なオプションを提示することができる。ユーザーは、それぞれのオプションに関するポインティングなどのジェスチャーを行なうことにより、異なるオプションを選択することができる。
【００８５】
必ずしも全てではないが、いくつかの実施例において、ユーザー・アクションは、発話を含むことができ、記録されたセンサー・データの処理は、発話認識処理を含む。例えば発話することによって、ユーザー・プログラミングを達成することができる。
【００８６】
必ずしも全てではないが、いくつかの実施例において、ユーザー・アクションは、追跡対象ユーザーにおける基準フレームとの関係における追跡対象ユーザーのモーションによって定義される、時間的に推移しシーンとは独立したシンボル・シーケンスを含むことができる。ユーザー・プログラミングは、例えば空間内の文字描画によって達成できる。
【００８７】
シーン１４０内のユーザー・アクションにより、１つ以上の提示基準を決定することができる。
【００８８】
必ずしも全てではないが、いくつかの実施例において、１つ以上の提示基準は、
シーン１４０内のオブジェクトまたは人の存在、
シーン１４０内のオブジェクトまたは人の特定の分類または識別、
シーン１４０内のオブジェクトまたは人の特定の追跡、
シーン１４０内のオブジェクトまたは人の特定の位置付け、
シーン空間の特定の深さマップ、および／または
シーン１４０内で発生する事象を描写する特定の決定されたシンボル、
のうちの１つ以上を含むことができる。
【００８９】
多数の基準が使用される場合には、これらの基準を、ブール論理を用いて組合せることができる。例えば、基準のうちの１つだけの達成が必要である場合の代替基準を、「ＯＲ」を用いた組合せとして定義することができる。例えば、多数の基準の充足が必要である場合の必要基準を「ＡＮＤ」を用いた組合せとして定義することができる。当該技術分野において知られているように、他の組合せの内部で組合せをネスティングすることによって、複雑な論理的表現を作成できるということが分かるだろう。
【００９０】
必ずしも全てではないが、いくつかの実施例において、ユーザーにより定義される１つ以上の提示基準が、メッセージ１７０の提示のために必要な条件であることができる。
【００９１】
必ずしも全てではないが、いくつかの実施例において、ユーザーにより定義される１つ以上の提示基準が、メッセージ１７０の提示のための必要かつ充分な条件であることができる。
【００９２】
一つの例として、１つ以上の提示基準は、少なくとも１つの人特定的提示基準を含むことができる。システム１００は、シーン１４０内の特定の人を自動的に認識するためにシーン１４０からの記録されたセンサー・データ１１２を処理することにより、１つ以上の提示基準の充足を自動的に認識するためにシーン１４０からの記録されたセンサー・データ１１２を処理する。これは、顔認識処理および／または音声認識処理を行なうことによって達成可能である。
【００９３】
一つの例として、１つ以上の提示基準は、少なくとも１つの挙動特定的提示基準を含むことができる。システム１００は、シーン１４０内の特定の人を自動的に認識するためにシーン１４０からの記録されたセンサー・データ１１２を処理することにより、１つ以上の提示基準の充足を自動的に認識するためにシーン１４０からの記録されたセンサー・データ１１２を処理する。これは、マシン・ビジョン処理、空間解析処理、挙動解析処理、発話認識処理、および／または顔認識処理を行なうことによって達成可能である。このようにして、シーン１４０内の挙動またはアクティビティおよび該当する場合にはそのアクティビティに関与する人を特徴付けすることが可能であり得る。
【００９４】
１つ以上の提示基準は、メッセージ１７０がシーン１４０内で提示される前の充足のために必要である他の条件を含むことができる。
【００９５】
例えば、１つ以上の提示基準は、日付または時刻または遅延または持続時間を規定する１つ以上の時間基準を含むことができる。例えば、メッセージ１７０を、その日付および／またはその時刻においてのみ、シーン内で提示することができる。
【００９６】
代替的には、例えば、メッセージ１７０を遅延の後にのみシーン内で提示することができる。例えば、該持続時間の間のみメッセージ１７０を提示することができる。
【００９７】
シーン１４０内でのメッセージ１７０の提示を制御するために使用される１つ以上の提示基準のいくつかまたは全てとしての選択のために１つ以上の提示基準をユーザーに提案するように、システム１００を構成することができる。
【００９８】
例えば、ユーザーの物理ロケーション、通常シーン１４０内にいるかまたはシーン１４０内のユーザー・ロケーションにいる人、メッセージのコンテンツのうちの１つ以上に基づいて、提案された提示基準を自動的に決定することができる。
【００９９】
例えば、物理ロケーション１８０がユーザー・ロケーションであることを決定することができる。物理ロケーション１８０を、１つ以上の提示基準のうちの１つとして使用することができる。
【０１００】
プログラム提示
メッセージング・状態２２２において、ユーザーは、シーン１４０内で追加のアクションを行なうことによって、新しい提示状態２３２と結び付けられた応答アクション（提示アクション）を定義する能力を有することができる。
【０１０１】
提示アクションは、例えば、物理ロケーション１８０におけるユーザーが決定したコンテンツを有するメッセージを提示であることができる。
【０１０２】
シーン１４０内の物理ロケーション１８０は、ユーザー・アクション中のユーザーのロケーションおよびメッセージのコンテンツのうちの１つ以上に基づいて自動的に決定できる。
【０１０３】
提示アクションのプログラミングは、特定の提示アクションに結び付けられた所定のアクション・シンボルの認識サブモジュール１２６による自動認識を可能にするため、シーン１４０のセンサー・データ１１２（映像および／または音響および／または深度データ）をプロセッサ・サブモジュール１２４において自動的に処理することによって、メッセージング状態２２２で発生することができる。前記認識に応答して、制御サブモジュール１２８は、提示状態２３２が入力された時定で提示アクションが行なわれるように状態マシン２００をプログラミングする。
【０１０４】
所定のアクション・シンボルは、追跡対象ユーザーにおける基準フレームとの関係における追跡対象ユーザーのモーションによって定義される、時間的に推移しシーンとは独立したシンボル・シーケンスであることができる。所定のアクション・シンボルは、ユーザー入力ジェスチャーであることができる。例えば、深度マップを決定することができ、次にユーザーの変化する体の位置を、マシン学習を用いて推論することができる。これは、例えば、毎秒およそ３０フレームの速度で行なうことができる。ユーザーの関節の位置は出力として生成され、ユーザーの関節の位置を含むシンボルとしてジェスチャーを定義することができる。
【０１０５】
したがって、ユーザーは、空間内に文字を描画することおよび／または発話することおよび／または提示エンジン１６０を介して提供されるユーザー・インターフェースを使用することによって、シーン１４０内からのメッセージを構成する能力を有することができる。シーン１４０からの記録されたセンサー・データ１１２は、メッセージ１７０を作成するために処理される。
【０１０６】
必ずしも全てではないが、いくつかの実施例において、メッセージ１７０は、テキスト・メッセージであることができる。
【０１０７】
［監視状態への復帰］
再び図５Ａを参照すると、メッセージング状態２２２から監視状態２１０に戻る移行２１２は、多くの方法で発生することができる。いくつかの実施例において、それは、ユーザーが新しい提示状態２３２の作成およびその新しい状態２３２へと移行するための提示事象を制御した後に自動的に発生することができ、または可聴事象などのユーザー・アクションに応答して発生することができる。他の実施例においては、それは、提示状態２３２と結び付けられた提示アクション（メッセージ１７０および／または物理ロケーション１８０）をユーザーが付加的にプログラミングした後に、自動的に発生することができる。
【０１０８】
［提示状態］
図５Ｂを参照すると、前述のように、監視状態２１０において、センサー１１０は、センサー・データ１１２を提供し、処理サブモジュール１２４は、潜在的意味を有するシーン・データを作成するためにセンサー・データ１１２（映像および／または音響および／または深度データ）を自動的に処理する。認識サブモジュール１２６は、シーン・データ内の実際の意味のある事象を識別するため、シーン・データを自動的に処理する。意味のある事象が、例えば「提示」事象である場合には、状態マシン２００は提示状態２３２へと移行２１３し、制御サブモジュール１２８は、該提示状態２３２と結び付けられた提示アクションを行なう。
【０１０９】
システム１００は、メッセージ１７０を、シーン１４０内の物理ロケーション１８０および１つ以上の提示基準と結び付ける。システム１００は、１つ以上の提示基準の充足を自動的に認識するためにシーンからの記録されたセンサー・データ１１２を自動的に処理し、１つ以上の提示基準の充足の認識に応答して、提示状態２３２を入力する。提示状態２３２は、物理ロケーション１８０におけるシーン１４０内へのメッセージ１７０の自動的提示を可能にする。
【０１１０】
１つ以上の提示基準は、少なくとも１つの人特定的提示基準を含むことができる。このとき、１つ以上の提示基準の充足を自動的に認識するためにシーン１４０からの記録されたセンサー・データ１１２を処理することは、シーン１４０内の特定の人を自動的に認識するためにシーン１４０からの記録されたセンサー・データ１１２を処理することを含む。
【０１１１】
１つ以上の提示基準は、前述のように、メッセージング状態２２２において所定のものであることができる。
【０１１２】
物理ロケーション１８０は、前述のように、メッセージング状態２２２において所定のものであることができる。
【０１１３】
メッセージ１７０は、前述のように、メッセージング状態２２２において所定のものであることができる。
【０１１４】
メッセージ１７０が制限された持続時間の間一時的にシーン１４０内で提示されるように、提示状態２３２を一時的に入力することができる。
【０１１５】
物理ロケーション１８０におけるシーン１４０内のメッセージ１７０の提示は、前述のように、物理ロケーション１８０においてディスプレイからのメッセージ１７０を表示することおよび／または物理ロケーション１８０で表面上にメッセージを投影することを含むことができる。
【０１１６】
提示状態２３２において、ユーザーは、シーン１４０内で追加のアクションを行なうことにより、１つ以上の提示基準、物理ロケーション１８０、およびメッセージ構成のうちの１つ以上を再プログラミングする能力を有することができる。
【０１１７】
提示状態２３２において、ユーザーは、シーン１４０内で追加のアクションを行なうことにより、状態マシン２００を再プログラミングする能力を有することができる。
【０１１８】
例えば、ユーザーは、メッセージ１７０が読み取られたことを確認することができ、これは、そのユーザーまたは任意のユーザーに対するそのメッセージ１７０の将来にわたる提示を妨げるという結果をもたらすことができる。ユーザーは、メッセージ１７０が（彼女のために）読み取られたことを確認することができ、これは、彼女に対するそのメッセージ１７０の将来にわたる提示を妨げるという結果をもたらすことができる。ユーザーは、メッセージ１７０が（全ての人のために）読み取られたことを確認することができ、これは、他の誰かに対するそのメッセージ１７０の将来にわたる提示を妨げるという結果をもたらすことができる。
【０１１９】
例えば、ユーザーは、メッセージ１７０を拒絶することができる。これは、そのユーザーに対するそのメッセージ１７０の将来にわたる提示を妨げるという結果をもたらすことができる。その結果、１つ以上の提示基準および／または物理ロケーションおよび／またはメッセージ構成が変更され得る。例えば、これは、後に、同じ／異なるメッセージ１７０を同じ／異なる物理ロケーション１８０において異なるユーザーに提示させることができる。
【０１２０】
例えば、ユーザーは、特定の人に対しメッセージ１７０をデリゲートすることができる。ユーザーは、その特定の人を識別することができ、システム１００はその特定の人を自動的に識別することができる。これは、ユーザーに対するそのメッセージ１７０の将来にわたる提示を妨げるという結果をもたらすことができる。その結果、１つ以上の提示基準および／または物理ロケーションおよび／またはメッセージ構成が変更され得る。例えば、これは、後に、同じ／異なるメッセージ１７０を同じ／異なる物理ロケーション１８０において特定の人に提示させることができる。
【０１２１】
提示状態２３２において、ユーザーがシーン１４０内で追加のアクションを行ない、１つ以上の提示基準、物理ロケーション１８０、およびメッセージ構成のうちの１つ以上を再プログラミングする場合、これらのアクションは、全ての状況下で、１つ以上の提示基準、物理ロケーション１８０、およびメッセージ構成のうちの１つ以上を再プログラミングするために使用できる専用再プログラミング・アクションであることができる。すなわち、同じ再プログラミング・アクションが全ての提示状態のために使用される。例えば、提示されたメッセージ１７０を確認するための一般的ジェスチャー、提示されたメッセージ１７０を拒絶するための異なる一般的ジェスチャー、および提示されたメッセージ１７０をデリゲートするための異なる一般的ジェスチャーが存在できる。
【０１２２】
代替的には、他の実施例において、これらの追加のアクションは、この特定の提示状態２３２だけのために定義される再プログラミング・アクションであることができる。例えば、提示されたメッセージ１７０は、ユーザーが特定の挙動を行なうことを要求することができる。この挙動の実行が認識された場合、それは、ユーザー確認として自動的に使用されることができる。上述のように、これは、そのユーザーまたは任意のユーザーに対するそのメッセージの将来にわたる提示を妨げるという結果をもたらすことができる。
【実施例】
【０１２３】
本発明をより良く理解するために、家庭、事務所、工場または公共の環境内で本発明をいかに使用できるかのいくつかの実施例を以下で提供する。ただし、本発明は、これらの実施例に限定されない。
【０１２４】
一実施例において、サーベイランス・カメラ１１４がアパートの内部に組付けられる。サーベイランス・カメラ１１４は、映像データおよび光学的深度データおよび光学的音響データについての解析アルゴリズムを実行するコンピュータ・システムに接続される。解析は、映像データに対し適用される顔認識および任意には音響データに対して適用される発話者認識方法を用いた人の認識を含む。
【０１２５】
システムは同様に、人のアクティビティも監視する。典型的な認識されるアクティビティとしては、歩行、起立、花の水やり、ごみ出し、皿洗い、洗濯、窓ふき、床掃除、プリンタへの用紙補充などが含まれる可能性がある。認識されるアクティビティは、システム１００が展開されている状況、例えばそれが工場の床であるか人の自宅であるかに依存することができる。
【０１２６】
システム１００は同様に、人のジェスチャーを監視する。典型的なジェスチャーには、壁に手を保持すること、壁面ディスプレイとインタラクトすること、例えば投影されたボタン・アイコンを押すこと、または文字を書込むこと、が含まれる。
【０１２７】
ユーザー（夫）が植木鉢に歩いて近づき、映像サーベイランス・システム１００によって認識される。ユーザーは、手を壁に置き、数秒間そこに手を保持する。これは、映像サーベイランス・システム１００によって認識され、システムはユーザーに対し、ユーザーがその妻にメッセージ１７０を残したいか否かをプロンプトする。
【０１２８】
一実施形態において、メッセージ１７０の提示は、情報を壁または床上に投影できるようにする１つ以上のプロジェクタ１６０を用いて行なわれる。いくつかの他の実施形態においては、コンピュータ・ディスプレイまたはＴＶモニターなどの上にメッセージを示すことができると考えられる。
【０１２９】
システム１００は、妻が植木鉢に水をやりながら植木鉢のロケーションの近くで何度もインタラクトしたことをアクティビティ監視データに基づいて観察したことから、妻に対しメッセージ１７０を残すことを自動的に提案する。
【０１３０】
この場合、ユーザー（夫）は、妻に花の水やりを求めるメッセージ１７０を妻に残すことを決断する。
【０１３１】
ユーザーは、（ジェスチャー認識方法によって認識される）ジェスチャーで壁上に文字を作成することによって、または発話認識技術を用いて認識可能な音声プロンプトをシステム１００に与えることによって、メッセージ１７０を残す。メッセージ１７０は壁上に投影される。
【０１３２】
いくつかの実施形態において、システム１００は、メッセージのコンテンツおよび／またはメッセージ１７０が残される物理ロケーション１８０に基づいて、メッセージ１７０の受信者を自動的に提案することができる。メッセージ１７０が植木鉢の近くに残されている場合、システム１００は、最も頻繁に花とインタラクトするユーザーを決定することができる。システム１００は、提案された受信者を壁上に投影された形で示すことができ、ユーザーは、受信者の名前の上にスワイプ・ジェスチャーを適用することにより受信者間で選択または変更を行なうことができる。
【０１３３】
任意には、システム１００は、テキスト・コンテンツ解析を用いてメッセージ・コンテンツを解析する。詳細には、システム１００は、メッセージ内に言及されたアクションが存在するか否かを決定するために、メッセージ内のテキスト・コンテンツを解析することができる。この場合、メッセージ内に「花に水やり」のアクションが含まれている。
【０１３４】
ユーザー（夫）は立ち去り、メッセージ１７０は消失する。システム１００は、ユーザーが立ち去ったことを認識し、メッセージ１７０をフェード・アウェイさせるか、または、ユーザーが所定の時間中メッセージ１７０とのインタラクションを停止した後、自動的にフェード・アウェイする。
【０１３５】
妻がアパートに到着し植木鉢の近傍まで歩いた場合、妻を認識するために人認識方法が使用され、妻が植木鉢の近くにいることを認識するためにアクティビティ認識が使用される。
【０１３６】
システム１００は、人を認識した後、この人向けのメッセージ１７０が存在するか否かをチェックすることができる。
【０１３７】
任意には、システム１００は、ユーザーの特定のロケーションと結び付けられたメッセージ１７０が存在するか否かをチェックすることができる。
【０１３８】
提供すべきメッセージ１７０が存在する場合、システム１００は、そのメッセージに関与するアイテムの近くで、壁または天井にメッセージを表示するためにプロジェクタ１６０を使用する。
【０１３９】
メッセージ１７０を提示した後、システム１００は、ひきつづき、ユーザーのアクティビティを監視する。詳細には、システム１００は、メッセージ１７０を受け取ったばかりのユーザーのアクティビティを監視し続ける。一実施形態において、メッセージの受信者は、メッセージ１７０上またはメッセージ１７０の近傍に手でチェック・マークを描画することなどのジェスチャーを提供することによって、メッセージを確認することができる。この場合、メッセージは消失し、再び示されることはなく、それは完了したものとして確認される。ユーザーは同様に、例えばメッセージ１７０の頂部にジェスチャーで十字形を描画することなどにより、ジェスチャーでメッセージ１７０を拒絶することもできる。この場合、メッセージ１７０は、誰かがそれを確認したものとしてマークするまで、別のユーザーまたは同じユーザーに異なる時点で、再び示されることが可能である。メッセージ１７０が別のユーザーに関係するものであると考えた場合、ユーザーは、それをさらにデリゲートすることができる。例えば、ユーザーは、あたかもメッセージ１７０を掴み取るかのようなジェスチャーを行ない、次にそれを側方向にわずかに引っ張ることができる。結果として、システム１００は、別のユーザーにデリゲートするオプションを提起し、考えられる他の受信者のリストを示すことができる。他の受信者は、メッセージ１７０中で言及されているアクティビティを頻繁に行ない、および／またはメッセージ１７０中で言及されているオブジェクトとインタラクトする他の人として、決定されることができる。
【０１４０】
別の実施形態において、システム１００は、センサー・データ１１２についてのアクティビティ認識を実行し、妻がメッセージ１７０内に言及されているアクションを実行したことを決定する。システム１００は、それ以前にメッセージ１７０が花の水やりを含んでいたことを決定するためにテキスト・コンテンツ解析を使用した。この場合、システム１００は、メッセージ１７０が関係していたアクティビティを妻が行ない始めるか否かを決定するため、ユーザー・アクティビティを解析する。妻は今花に水をやっていることから、システム１００は、これを検出し、メッセージ１７０をフェード・アウェイさせる。
【０１４１】
いくつかの実施形態において、システム１００は、メッセージ１７０を残すことを自動的に提案することができる。詳細には、ユーザーが、所定の時間の間、アイテム（トイレット・ペーパー・ホルダー、植木鉢）を見ている場合、システム１００は、このアイテムを考慮するメッセージ１７０を残すべきか否か、自動的に提案／質問する。アイテムを見る行為は、サーベイランス・システム１００内のアクティビティ認識を用いて検出される。
【０１４２】
いくつかの実施形態において、システム１００は、この種の状況にある異なる人（最近花に水をやった人）の過去のインタラクションに基づいて、メッセージの受信者を提案することができる。
【０１４３】
システム１００は、現場でまたは遠隔でのいずれの形でも使用可能である。
【０１４４】
いくつかの実施形態において、システム１００は、異常な状況を検出し、それを次にユーザーに強調表示するために使用される。強調表示は、異常な状況が関係するオブジェクトの近くにメッセージ１７０を投影することを意味することができる。例えば、花がしおれている場合、サーベイランス・システム１００のプロジェクタ１６０で植木鉢を強調表示することができると考えられる。ユーザーがユーザー・インターフェースを介して遠隔でシステム１００にアクセスしている場合、植木鉢とマッチングするユーザー・インターフェース上の部分を強調表示できると考えられる。
【０１４５】
システム１００は、（行なわれる必要のあるアクションの近くで）メッセージ１７０に好適なロケーションを自動的に選択することができる。システム１００は、メッセージ１７０のテキスト・コンテンツを解析し、メッセージ１７０が関係するのはどのオブジェクトまたはアクティビティであるかを決定する。この決定に基づいて、システムは、例えばオブジェクトのロケーションの近く、またはアクティビティが典型的に行なわれるところなど、メッセージ１７０に好適な物理ロケーション１８０を決断する。
【０１４６】
各メッセージ１７０は、その後はもう提示されなくなる一定の有効期間を有することができる。有効期間は、システムの選好性において定義でき、または、ユーザー自身が有効期間を設定することができる。
【０１４７】
代替的には、システム１００は、メッセージがもはや関連性がないものであることを自動的に決定することができる。例えば、より多くの食料の購入に関するメッセージ１７０が存在し、次に誰かが食料品を持って来て冷蔵庫に入れた場合、メッセージ１７０を自動的に削除することができる。
【０１４８】
メッセージ１７０は同様に、タイミング情報と共に残される可能性もある。花の水やりの例では、夫は、旅行に出かけようとしている可能性があり、旅行中（現在から１週間）に一回花に水やりして欲しいと考えている。タイミング情報は、メッセージ内にテキストとして入力可能である。「花に水をやって下さい。（翌水曜日）」。これにより、メッセージは、メッセージ１７０内に標示された時間中のみ示されることになる。上述の例示的メッセージ「花に水をやって下さい。（翌水曜日）」に関して言うと、このメッセージは、規定された日付（翌水曜日）にのみ、妻に示されることになる。
【０１４９】
家族の他のメンバーに対して、「花に水をやって下さい」、「トイレット・ペーパーがなくなりました」などの一時的メッセージ１７０を残すため、または事務所、工場、店舗または他の仕事場の中の他の労働者に対して、例えば「プリンタに用紙を追加して下さい」、「コーヒーが切れています」、「この機械には注油が必要です」、「この部品は在庫切れです」などの一時的メッセージ１７０を残すために、システム１００を使用することができる。
【０１５０】
以上の実施例において、メッセージング状態２２０において発生する映像捕捉が、監視状態２１０において発生する映像監視と同じシーン１４０に関するものであることができるという点を、認識すべきである。事実、メッセージング状態２２０において発生する映像捕捉は、監視状態２１０において発生する映像監視と同じカメラによるものであることができる。
【０１５１】
本願明細書中では、「ｃｏｍｐｒｉｓｅ（備える、含む）」なる用語は、排他的な意味ではなく包括的な意味で使用されている。すなわち、「Ｙを含むＸ」との表現は、Ｘが１つだめＹを含む、または、２つ以上のＹを含むことができることを示す。排他的な意味で「ｃｏｍｐｒｉｓｅ」を使用することが意図されている場合には、「１つのみを含む（ｃｏｍｐｒｉｓｉｎｇ  ｏｎｌｙ  ｏｎｅ）」に表現することによって、または「〜で構成されている（ｃｏｎｓｉｓｔｉｎｇ）」を使用することによって、そのことが文脈内で明白にされる。
【０１５２】
本願明細書の説明において、さまざまな実施例が参照されてきた。１つの実施例に関係する特徴または機能の説明は、これらの特徴または機能がその実施例中に存在することを標示する。テキスト中の「ｅｘａｍｐｌｅ（実施例）」または「ｆｏｒ  ｅｘａｍｐｌｅ（例えば）」または「ｍａｙ（〜できる）」なる用語の使用は、明示的に述べられているか否かに関わらず、このような特徴または機能が、実施例として記載されているか否かに関わらず少なくとも記載された実施例の中に存在すること、およびそれらが、必ずしもそうであるわけではないものの、他の実施例のいくつかまたは全てにおいて存在し得ることを意味する。こうして、「ｅｘａｍｐｌｅ」、「ｆｏｒ  ｅｘａｍｐｌｅ」、または「ｍａｙ」は、実施例集合中の特定のインスタンスを意味する。インスタンスの特性は、このインスタンスのみの特性または、この集合の特性、またはこの集合のインスタンスの全てではないもののいくつかのインスタンスを含むこの集合の下位集合の特性であり得る。したがって、１つの実施例に関連して説明されたものの別の実施例に関連しては説明されていない特徴は、可能な場合、そのもう一方の実施例中で使用され得るものの、必ずしもそのもう一方の実施例の中で使用されなければならない訳ではない、ということが暗示的に開示される。
【０１５３】
以上の段落では、本発明の実施形態がさまざまな実施例に関連して説明されてきたが、提供された実施例に対し、請求されている本発明の範囲から逸脱することなく、修正を加えることができる、ということを認識すべきである。
【０１５４】
先の説明において記載されている特徴は、明示的に説明された組合せ以外の組合せでも使用することができる。
【０１５５】
一定の特徴に関連して機能を説明してきたが、これらの機能は、記載されているか否かに関わらず他の特徴によって行なうことができる。
【０１５６】
一定の実施形態に関連して特徴を説明してきたが、これらの特徴は、記載されているか否かに関わらず、他の実施形態にも同様に存在することができる。
【０１５７】
以上の明細書の記載において、特に重要であると考えている本発明の特徴が注目されるよう努めてきたが、特に強調されているか否かに関わらず、出願人は、上で述べられ、または、図面中に示されたあらゆる特許性のある特徴または特徴の組合せに関する保護を請求するものであることが、理解されなければならない。
【図１】
0006568224.tif 000002
【図２】
0006568224.tif 000003
【図３】
0006568224.tif 000004
【図４】
0006568224.tif 000005
【図５Ａ】
0006568224.tif 000006
【図５Ｂ】
0006568224.tif 000007