(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024028748
(43)【公開日】2024-03-05
(54)【発明の名称】イベントクリップを提供するための、方法、電子装置、サーバシステム、およびプログラム
(51)【国際特許分類】
H04N 21/854 20110101AFI20240227BHJP
H04N 23/60 20230101ALI20240227BHJP
H04N 5/765 20060101ALI20240227BHJP
【FI】
H04N21/854
H04N23/60 500
H04N5/765
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023199026
(22)【出願日】2023-11-24
(62)【分割の表示】P 2022513272の分割
【原出願日】2020-09-04
(31)【優先権主張番号】62/897,233
(32)【優先日】2019-09-06
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ノルド,ジョン・ジョーダン
(72)【発明者】
【氏名】ベンタース,ジョー・デローン
(72)【発明者】
【氏名】マリンズ,スコット
(72)【発明者】
【氏名】コング,リアナ
(57)【要約】 (修正有)
【課題】必要に応じて、装置機能を最適化し、特定の装置動作を改善し、イベント識別、分類及び/又は提示を行うシステム、装置並びに方法を提供する。
【解決手段】電子装置は、画像センサを有するカメラと、1つ以上のプロセッサと、命令を記憶するメモリとを備え、命令は、位置種類または電力種類を含む電子装置の設定データに基づいてイベント記録プロファイルを受信することと、画像センサによって取得したシーンの複数の画像を受信することと、シーンの複数の画像のうちの1つ以上に基づいてトリガイベントを検出することと、トリガイベントの検出に応答して、シーンの複数の画像のうちの1つ以上から目標物体を特定することと、目標物体を含む保存画像からイベントクリップを作成することと、を含む。イベントクリップの作成は、イベント記録プロファイルに基づいてクリップ長を設定することと、表示のためにイベントクリップを提供することと、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
方法であって、
電子装置のイベント記録プロファイルを受信することを含み、前記イベント記録プロファイルは、前記電子装置の設定データに基づき、前記設定データは、位置種類または電力種類を含み、
前記電子装置の1つ以上の画像センサによって取得されたシーンの複数の画像を受信することと、
前記シーンの前記複数の画像のうちの1つ以上に基づいて、トリガイベントを検出することと、
前記トリガイベントの検出に応答して、前記シーンの前記複数の画像のうちの1つ以上から目標物体を特定することと、
前記目標物体を含む前記保存画像からイベントクリップを作成することとを含み、前記イベントクリップを作成することは、前記イベント記録プロファイルに基づいてクリップ長を設定することを含み、
表示のために前記イベントクリップを提供することを含む、方法。
【請求項2】
前記クリップ長を設定することは、パディング値、無活動閾値、および/または最大イベント長を設定することを含む、請求項1に記載の方法。
【請求項3】
前記クリップ長を設定することは、パディング値を選択することを含み、
前記パディング値は、検出された前記目標物体を含む前記複数の画像のうちの1つ以上の前に取得されたいくつかの画像に対応し、
前記イベントを作成することは、前記いくつかの画像を検出された前記目標物体を含む前記複数の画像に追加することを含む、請求項1から2のいずれか一項に記載の方法。
【請求項4】
前記クリップ長を設定することは、無活動閾値を選択することを含み、
前記無活動閾値は、目標物体が検出されていない取得されたいくつかの画像に対応し、
前記イベントを作成することは、検出された前記目標物体を含む前記複数の画像に前記いくつかの画像を追加することを含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記クリップ長を設定することは、最大イベント長を選択することを含み、
前記最大イベント長は、前記イベントの最大画像数に対応し、
前記イベントを作成することは、前記最大画像数に到達すると、前記イベントを終了することを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記設定データは、環境の構造体の特定の領域に対応する位置種類を含み、
前記イベント記録プロファイルに基づいて前記イベント長を設定することは、前記電子装置が配置される前記構造体または環境の前記特定の領域に基づいて、前記パディング値、前記無活動閾値、および/または前記最大イベント長を選択することを含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記設定データは、電力種類を含み、
前記イベント記録プロファイルに基づいて前記イベント長を設定することは、前記電子装置の前記電力種類が有線であるかまたはバッテリ駆動であるかに基づいて、前記パディング値、前記無活動閾値、および/または前記最大イベント長を選択することを含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記設定データは、物体優先度データを更に含み、
前記イベント記録プロファイルに基づいて前記イベント長を設定することは、前記物体
優先度データに従って特定された前記目標物体の優先度に基づいて、前記パディング値、前記無活動閾値、および/または前記最大イベント長を選択することを含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記クリップ長を設定することは、閾値時間内に2つ以上の物体検出を行った後、連続する物体検出の間に待機する時間に対応するクールオフ値を設定することを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記クリップ長を設定することは、前記イベント記録プロファイルに関連する値の組み合わせに従って、パディング値、無活動閾値、および最大イベント長を設定することを含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記トリガイベントを検出することは、前記シーンの前記複数の画像のうちの2つ以上の分析に基づいて、前記シーン内のモーションを検出することを含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記トリガイベントを検出することは、前記シーンの前記複数の画像のうちの1つ以上の分析に基づいて、前記シーン内の前記目標物体を検出することを含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記イベントクリップを以前に作成されたイベントクリップに合成することによって、複合イベントクリップを形成することをさらに含み、
表示のために前記イベントクリップを提供することは、表示のために前記複合イベントクリップを提供することを含む、請求項1から12のいずれか一項に記載の方法。
【請求項14】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項1から13のいずれか一項に記載の前記方法を実行させる命令を記憶するメモリとを備える、電子装置。
【請求項15】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項1から13のいずれか一項に記載の前記方法を実行させる命令を記憶するメモリとを備える、サーバシステム。
【請求項16】
1つ以上のプロセッサを備える電子装置によって実行されると、前記1つ以上のプロセッサに請求項1から13のいずれか一項に記載の前記方法を実行させる命令を記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は、2019年9月6日に提出された米国特許仮出願第62/897233号の優先権を主張し、当該出願の全体が参照により本明細書に組み込まれる。
【0002】
技術分野
本願は、一般的に、電力の強化および帯域幅の節約を提供しながら、目標イベントに関連するビデオクリップを提供するカメラおよび電子支援装置を含むがこれらに限定されない、電子装置に関する。
【背景技術】
【0003】
背景
ストリーミング装置は、ますます普及されている。ストリーミング装置の数が増加するにつれて、ストリーミング需要が増加し、帯域幅の制限が懸念される。例えば、セキュリティカメラおよびストリーミング娯楽サービスを装備している戸建ては、特にこれらの装置が24時間に高精細度ビデオデータをストリーミングする場合、住宅インターネットサービスプロバイダによって設定された毎月の帯域幅の最大割当量を容易に超えてしまう。
【発明の概要】
【発明が解決しようとする課題】
【0004】
帯域幅の問題に加えて、ストリーミングは、多くの電力を消耗する。多くの電力を消耗するストリーミング装置は、電気請求料金を増加させると共に、高電力予算は、装置のサイズの縮小およびポータブルになる能力を妨げる。一方、電子装置をよりコンパクト且つモバイルに設計すると、連続ビデオストリーミングなどの多くの電力を消耗する動作を継続的にサポートすることが困難である。
【0005】
連続ストリーミングアプリケーションによって引き起こされた帯域幅および電力の問題に対して提案された解決策は、目的を絞ったストリーミング手法を含む。しかしながら、ストリーミング装置がデータを取得し、ネットワークを介して取得したデータを送信することができるシナリオを制限すると、装置機能の様々なトレードオフが生じてしまう。例えば、帯域幅および電力を節約するために、記録およびストリーミングを最小限に抑えるようにセキュリティカメラを設計することができるが、これによって、カメラの使用を減らすことになり、重要なセキュリティ関連イベントを見逃してしまう危険性がある。
【課題を解決するための手段】
【0006】
概要
したがって、より効率的、正確且つ直感的な方法で、装置機能への影響を低減すると共に、帯域幅および電力を節約するためのストリーミングシステムおよび/または装置が必要とされている。このようなシステム、装置および方法は、必要に応じて、装置機能を最適化すると共に、特定の装置動作を改善することによって、イベント識別、分類、および/または提示を行うための従来のシステム、装置および方法を補完するまたは置換する。
【0007】
本明細書に記載された概念は、動的定式の使用を含み、動的定式とは、装置の配置、意図した装置の用途、および装置が経時的に環境を学習することによる適応に基づいて、それ自体を変更するものである。動的定式は、調整可能なパラメータ、例えば、パディング(例えば、目標物体を検出する前後の記録時間)、無活動(例えば、後続の活動を含むようにイベントを継続する代わりに、イベントを終了する前に待機する時間)、最大長(例
えば、装置が記録を停止するまでにイベントが継続する時間)、クールオフ(例えば、それを超えるとイベントの記録が停止する物体検出の速度)、および/または物体フィルタおよび優先度(例えば、イベントを記録する基準となる物体の決定)を実装することによって、装置の的を絞った動作(例えば、イベントの的を絞った記録)に使用される。これらの調整可能なパラメータは、(i)装置の位置(例えば、室内、室外、部屋)、(ii)装置の用途(例えば、装置の視野内にあるもの、およびユーザが見たいもの)、および/または(iii)装置の種類(例えば、有線またはバッテリ駆動)のうち、1つ以上に依存する。
【0008】
一態様において、方法が開示される。この方法は、画像センサと、1つ以上のプロセッサと、1つ以上のプロセッサによる実行のための命令を記憶するメモリとを備える電子装置が、電子装置のイベント記録プロファイルを取得することを含み、イベント記録プロファイルは、電子装置の設定データに基づき、設定データは、位置種類または電力種類を含み、画像センサからシーンの複数の画像を取得し、電子装置上に記憶することと、シーンの複数の画像のうちの1つ以上に基づいて、トリガイベントを検出することと、トリガイベントの検出に応答して、シーンの複数の画像のうちの1つ以上から目標物体を特定することと、目標物体を含む保存画像からイベントクリップを作成することとを含み、イベントクリップを作成することは、イベント記録プロファイルに基づいてクリップ長を設定することを含み、表示のためにイベントクリップを提供することを含む。
【0009】
いくつかの実施形態において、クリップ長を設定することは、パディング値、無活動閾値、および/または最大イベント長を設定することを含む。
【0010】
いくつかの実施形態において、クリップ長を設定することは、パディング値を選択することを含み、パディング値は、検出された目標物体を含む複数の画像のうちの1つ以上の前に取得されたいくつかの画像に対応し、イベントを作成することは、いくつかの画像を検出された目標物体を含む複数の画像に追加することを含む。
【0011】
いくつかの実施形態において、クリップ長を設定することは、無活動閾値を選択することを含み、無活動閾値は、目標物体が検出されていない取得されたいくつかの画像に対応し、イベントを作成することは、検出された目標物体を含む複数の画像にいくつかの画像を追加することを含む。
【0012】
いくつかの実施形態において、クリップ長を設定することは、最大イベント長を選択することを含み、最大イベント長は、イベントの最大画像数に対応し、イベントを作成することは、最大画像数に到達すると、イベントを終了することを含む。
【0013】
いくつかの実施形態において、設定データは、環境の特定の領域に対応する位置種類を含み、イベント記録プロファイルに基づいてイベント長を設定することは、電子装置が配置される環境の特定の領域に基づいて、パディング値、無活動閾値、および/または最大イベント長を選択することを含む。
【0014】
いくつかの実施形態において、設定データは、電力種類を含み、イベント記録プロファイルに基づいてイベント長を設定することは、電子装置の電力種類が有線であるかまたはバッテリ駆動であるかに基づいて、パディング値、無活動閾値、および/または最大イベント長を選択することを含む。
【0015】
いくつかの実施形態において、設定データは、物体優先度データを更に含み、イベント記録プロファイルに基づいてイベント長を設定することは、物体優先度データに従って特定された目標物体の優先度に基づいて、パディング値、無活動閾値、および/または最大
イベント長を選択することを含む。
【0016】
いくつかの実施形態において、クリップ長を設定することは、閾値時間内に2つ以上の物体検出を行った後、連続する物体検出の間に待機する時間に対応するクールオフ値を設定することを含む。
【0017】
いくつかの実施形態において、クリップ長を設定することは、イベント記録プロファイルに関連する値の組み合わせに従って、パディング値、無活動閾値、および最大イベント長を設定することを含む。
【0018】
いくつかの実施形態において、トリガイベントを検出することは、シーンの複数の画像のうちの2つ以上の分析に基づいて、シーン内のモーションを検出することを含む。
【0019】
いくつかの実施形態において、トリガイベントを検出することは、シーンの複数の画像のうちの1つ以上の分析に基づいて、シーン内の目標物体を検出することを含む。
【0020】
いくつかの実施形態において、この方法はイベントクリップを以前に作成されたイベントクリップに合成することによって、複合イベントクリップを形成することをさらに含み、表示のためにイベントクリップを提供することは、表示のために複合イベントクリップを提供することを含む。
【0021】
別の態様において、電子装置は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項1から13のいずれか一項に記載の方法を実行させる命令を記憶するメモリとを備える。
【0022】
別の態様において、非一時的なコンピュータ可読記憶媒体は、1つ以上のプロセッサを備える電子装置によって実行されると、1つ以上のプロセッサに請求項1から13のいずれか一項に記載の方法を実行させる命令を記憶する。
【0023】
以下の図面と共に、以下の実施形態の説明を参照すれば、記載された様々な実施形態をより良く理解するであろ。なお、全ての図面において、同様の参照番号は、同様の部材を示す。
【図面の簡単な説明】
【0024】
【
図1A】いくつかの実施形態に従って、例示的な環境を示す図である。
【
図1B】いくつかの実施形態に従って、代表的なネットワークアーキテクチャを示すブロック図である。
【
図2】いくつかの実施形態に従って、例示的な動作環境を示すブロック図である。
【
図3】いくつかの実施形態に従って、例示的な電子装置を示すブロック図である。
【
図4】いくつかの実施形態に従って、代表的なサーバシステムを示すブロック図である。
【
図5】いくつかの実施形態に従って、例示的なイベント定式を示すブロック図である。
【
図6】いくつかの実施形態に従って、代表的なクライアント装置を示すブロック図である。
【
図7】いくつかの実施形態に従って、例示的なイベント処理システムを示すブロック図である。
【
図8】いくつかの実施形態に従って、例示的なイベントを示す図である。
【
図9】いくつかの実施形態に従って、例示的な複合イベントを示す図である。
【
図10】いくつかの実施形態に従って、イベントを表示するための例示的なユーザインターフェイスを示す図である。
【
図11】いくつかの実施形態に従って、設定データを取得するための例示的なユーザインターフェイスを示す図である。
【
図12】いくつかの実施形態に従って、例示的なイベント処理プロセスを示す流れ図である。
【発明を実施するための形態】
【0025】
実施形態の説明
同様の参照番号は、いくつかの図面において同様の部材を示す。
【0026】
以下、添付の図面に示されている実施形態を詳細に説明する。以下の詳細な説明において、多くの具体的な詳細を記載することによって、記載された様々な実施形態の完全な理解を提供する。しかしながら、これらの具体的な詳細がなくても、記載された様々な実施形態を実施することができることは、当業者には明らかであろう。また、実施形態の特徴を曖昧にしないように、周知の方法、手順、構成要素、回路、およびネットワークは、詳しく説明されない。
【0027】
カメラ、例えばセキュリティカメラ、ドアベルカメラを備える装置、およびカメラと一体化された支援装置をシーンに設置するまたは配置することによって、これらの装置を用いて、当該シーン(視野とも称される)から視覚入力を収集することができる。いくつかの実施形態において、これらの装置は、ビデオデータ(本明細書ではイベントとも称される)のクリップを記録し、サーバシステム、ハブ、または他のネットワーク接続装置を介して、環境の居住者による閲覧のためにクリップを提供する。いくつかの実施形態において、どのイベントを記録するか、どのイベントを閲覧に提供するか、およびどのようにイベントビデオクリップを合成するかを決定するために使用されるパラメータは、装置の位置、用途および電力種類を含むがこれらに限定されない装置のいくつかの特徴に基づいて修正される。
【0028】
図1Aは、いくつかの実施形態に従って、例示的な環境100を示す。「環境」という用語は、1つ以上のネットワークに接続されるまたは相互に接続される電子装置(1つ以上のサポート機能を実行する装置、例えば、セキュリティカメラ、音声支援装置)を含む任意の空間を指す。例示的な環境は、住宅(例えば、戸建て、アパート、連続住宅、マルチユニットアパート)、ホテル、小売店、事務所ビル、工業用ビル、庭、公園、およびより一般的には任意の生活空間または作業空間を含む。環境は、本明細書において、住宅環境、住宅、または環境と称されてもよい。
【0029】
また、「ユーザ」、「顧客」、「設置者」、「住宅所有者」、「居住者」、「来客」、「借家人」、「家主」、「修理人」などの用語は、本明細書に記載されたいくつかの特定の状況で行動する人物を言及するのに利用される。しかしながら、これらの言及は、人物やこのような行動を実行しているまたは環境の近くまたは中に存在している人々に関して、本教示の範囲を限定しない。したがって、例えば、「ユーザ」、「顧客」、「購入者」、「設置者」、「加入者」、および「住宅所有者」という用語は、戸建て住宅の場合、戸建ての購入決定を行い、装置(例えば、ネットワーク接続電子装置)を購入し、装置を設置し、装置を設定し、および/または装置を使用する同一の人物を指してもよい。しかしながら、他の場合に、例えば家主-借家人環境の場合に、顧客は、装置を購入する家主であってもよく、設置者は、アパート管理人であってもよく、第1のユーザは、借家人であってもよく、第2のユーザは、遠隔制御機能に関する家主であってもよい。重要なことに、行動を実行する人物の身分は、実施態様のうちの1つ以上によって提供される特定の利点に密接に関連してもよい。以下の説明において、このような身分は、必ずしも本教示の範囲を、特定の身分を有する特定の個人に限定すると解釈されるべきではない。
【0030】
環境100は、様々な一体化装置(本明細書において、「接続装置」、「ネットワーク接続装置」、「相互接続装置」、または「スマート」装置とも称される)を備える構造体150(例えば、住宅、事務所ビル、車庫、または移動住宅)を含む。図示された構造体150は、複数の部屋152を含み、複数の部屋152は、壁154を介して、互いに少なくとも部分的に分割される。壁154は、内壁または外壁を含んでもよい。各部屋は、床156および天井158をさらに含んでもよい。ネットワーク接続装置は、構造体150の全体を含まない環境100、例えばアパート、分譲アパート、または事務所ビルに一体化されてもよい。いくつかの実施形態において、装置は、モバイル装置104(例えば、タブレット、ラップトップ、モバイルフォン、スマートフォン)、ディスプレイ装置106、メディアキャスティングまたはストリーミング装置108、サーモスタット122、ホーム保護装置124(例えば、煙、火および二酸化炭素検出器)、接続されたドアベル/カメラ126、接続されたロックセット128、接続されたアラームシステム130およびカメラ132を含むホームセキュリティ装置(例えば、モーション検出器、窓およびドアのセンサ、および警報器)、接続された壁スイッチ応答機136、接続された電気製品138、WiFi(登録商標)通信装置160(例えば、ハブ、ルータ、エクステンダ)、接続された家庭掃除装置168(例えば、真空掃除機または床掃除機)、通信および制御ハブ180、および/または電子支援装置190(本明細書において音声支援装置および表示支援装置とも称される)のうち、1つ以上を含む。
【0031】
1つ以上のメディア装置を環境100に配置することによって、ユーザは、ローカルに記憶されているまたはリモートコンテンツソース(例えば、コンテンツホスト114)からストリーミングされているメディアコンテンツにアクセスすることができる。いくつかの実施形態において、メディア装置は、メディアコンテンツを視聴者に直接に出力/表示/再生するためのメディア出力装置106と、1つ以上のネットワークを介して受信したメディアコンテンツをメディア出力装置106にストリーミングするためのキャスト装置108とを含む。メディア出力装置106の例は、テレビ(TV)ディスプレイ装置、音楽プレーヤ、およびコンピュータモニタを含むが、これらに限定されない。キャスト装置108の例は、メディアストリーミングボックス、キャスティング装置(例えば、グーグル(登録商標)クロームキャスト装置)、セットトップボックス(STB)、DVDプレーヤ、およびTVボックスを含むが、これらに限定されない。
【0032】
例示的な環境100において、メディア出力装置106は、複数の場所に配置され、各メディア出力装置106は、対応するキャスト装置108に接続されるまたは埋め込みキャスティングユニットを含む。メディア出力装置106-1は、TVディスプレイを含み、このTVディスプレイは、配線を介して、DVDプレーヤまたはセットトップボックス108-1に接続される。メディア出力装置106-3は、ネットワーク接続TV装置を含み、ネットワーク接続TV装置は、メディアコンテンツをストリーミングして視聴者に表示するための埋め込みキャスティングユニットを含む。メディア出力装置106-2は、通常のTVディスプレイを含み、このTVディスプレイは、ネットワーク接続TVボックス108-1(例えば、グーグル(登録商標)TVまたはアップル(登録商標)TV)に接続される。このようなTVボックス108-2は、メディアコンテンツホストサーバ114から受信したメディアコンテンツをストリーミングし、インターネットベースのコンテンツをメディア出力装置106-2上に表示するために、インターネットへのアクセスを提供する。
【0033】
メディア装置106および108に加えて、1つ以上の電子支援装置190が環境100に配置される。電子支援装置190は、電子支援装置190ならびに/またはメディア装置106および108の様々なメディア再生機能を起動するための音声入力を収集する。いくつかの実施形態において、電子支援装置190は、ローカルに記憶されているメデ
ィアコンテンツまたはリモートコンテンツソースからストリーミングされているメディアコンテンツを提供するように構成される。いくつかの実施形態において、電子支援装置190は、音声によって作動され、メディア装置に近接して、例えばキャスト装置108およびメディア出力装置106と同じ部屋に配置される。代替的には、いくつかの実施形態において、音声作動電子支援装置(例えば、190-1または190-3)は、1つ以上の装置を有するがメディア装置を有しない部屋に配置される。代替的には、いくつかの実施形態において、音声作動電子支援装置190は、ネットワーク接続電子装置を有しない場所に配置される。これによって、電子支援装置190は、メディア装置と通信することができ、ある装置上に表示されているコンテンツを別の装置に(例えば、装置190-1から装置190-2および/またはメディア装置108に)共有することができる。
【0034】
音声作動電子支援装置190は、少なくとも1つのマイクロフォンと、スピーカと、プロセッサと、プロセッサによって実行される少なくとも1つのプログラムを記憶するメモリとを含む。スピーカは、電子支援装置190が音声メッセージ(例えば、再生されているメディアコンテンツアイテムに関連するメッセージ、またはユーザと電子支援装置190との間の会話の一部としてのメッセージ)を配信することを可能にするように構成される。いくつかの実施形態において、電子支援装置190は、ユーザクエリに応答して、スピーカを介して、可聴情報をユーザに提供する。音声メッセージの代わりに、視覚信号を用いて、音声入力の処理状態に関するフィードバック、例えば、装置上で表示されている視覚通知を電子支援装置190のユーザに提供することができる。
【0035】
いくつかの実施形態によれば、電子装置190は、サーバシステム140を用いて音声認識機能を提供するように構成された音声作動インターフェイス装置である。いくつかの実施形態において、サーバシステム140は、クラウドキャストサービスサーバ116および/または音声/表示支援サーバ112を含む。例えば、いくつかの実施形態において、電子装置190は、音楽(例えば、電子支援装置190またはディスプレイ装置106上で再生されているビデオコンテンツの音声)をユーザに提供すると共に、音声補助サービス(例えば、グーグル(登録商標)アシスタント)へのアイフリーアクセスおよび/またはハンズフリーアクセスを可能にするネットワーク接続スピーカを含む。場合によって、電子装置190は、スピーカ装置などの音声インターフェイス装置、またはタッチ検出機能を有するまたは有しないディスプレイスクリーンを含む装置である。
【0036】
いくつかの実施形態において、電子支援装置190は、マイクロフォン、スピーカ、プロセッサ、およびメモリ(例えば、190-2および190-4)に加えて、一体型ディスプレイスクリーンを含む。このディスプレイスクリーンは、電子支援装置190のスピーカを介してブロードキャストすることができる音声情報に加えて、追加の視覚情報(例えば、メディアコンテンツ、メディアコンテンツに関する情報)を提供するように構成される。ユーザが近くに位置し且つユーザの視線が遮られていない場合、ユーザは、電子支援装置のディスプレイスクリーン上で追加の視覚情報を直接に確認することができる。必要に応じて、追加の視覚情報は、音声入力の処理状態に関するフィードバックを電子装置190のユーザに提供する。必要に応じて、追加の視覚情報は、ユーザの以前の音声入力(例えば、ユーザクエリ)に応答して提供され、スピーカによってブロードキャストされた音声情報に関連してもよい。いくつかの実施形態において、音声作動電子装置190のディスプレイスクリーンは、タッチ感知式ディスプレイスクリーンであり、その表面上のタッチ入力(例えば、タッチ感知式ディスプレイスクリーンを介して提供された命令)を検出するように構成される。代替的には、いくつかの実施形態において、音声作動電子装置190のディスプレイスクリーンは、タッチ感知式ディスプレイスクリーンではない。
【0037】
電子装置190からの音声入力を用いて電子装置190を制御するおよび/またはキャスト装置108を介してメディア出力装置106を制御する場合、電子支援装置190は
、それ自体がディスプレイを有するか否かに関係なく、キャスト対応メディア装置を制御することができる。一例において、電子装置190は、遠距離音声アクセス機能を有するスピーカを含み、ネットワーク実装支援サービス(例えば、グーグル(登録商標)アシスタント)の音声インターフェイス装置として機能する。
【0038】
電子装置190は、環境100内の任意の部屋に配置されてもよい。いくつかの実施形態において、複数の電子支援装置190が分散して複数の部屋に配置された場合、電子支援装置190は、複数の部屋の各部屋からの音声入力を受信ように同期された音声受信器になる。例えば、第1の電子装置190-1は、第2の電子装置190-2に向かって送信されたユーザ指示(例えば、「オッケーグーグル、台所の装置上でこのフォトアルバムを表示して」)を受信することができる。
【0039】
具体的には、いくつかの実施形態において、電子装置190は、(例えば、WiFi(登録商標)ネットワークを介して接続された)ネットワーク接続スピーカを備え、このネットワーク接続スピーカは、音声作動パーソナル支援サービス(例えば、グーグル(登録商標)アシスタント)に接続されたマイクロフォンを有する。ユーザは、電子支援装置190のマイクロフォンを介してメディア再生要求を発行し、電子支援装置190上でおよび/または別の接続されたメディア出力装置106上でメディアコンテンツを再生するようにパーソナル支援サービスに要請することができる。例えば、ユーザは、スピーカの近くで「オッケーグーグル、居間のテレビで猫のビデオを再生して」と話すことによって、メディア再生要求を発行することができる。パーソナルアシスタントサービスは、デフォルトまたは指定のメディアアプリケーションを使用して、要求された装置上で要求されたメディアコンテンツを再生することによって、メディア再生要求を実行する。
【0040】
また、ユーザは、電子支援装置190のマイクロフォンを介して、電子支援装置190上で既に再生されたおよび/または現在再生されているメディアコンテンツに関する音声要求を行うことができる。例えば、ユーザは、現在再生されているメディアコンテンツアイテムに関連する情報、例えば、このメディアコンテンツの所有権情報または主題を提供するように、電子支援装置に指示することができる。いくつかの実施形態において、リモートコントロールがない場合またはユーザが第2のディスプレイ装置を利用できる場合、音声によって現在表示されているメディアコンテンツの限定字幕(closed caption)をディスプレイ装置上でオンまたはオフにすることができる。したがって、ユーザは、物理的ユーザインターフェイスを有する任意の他の装置を使用せず、アイフリーおよびハンズフリー音声作動電子支援装置190を介して、ディスプレイ装置上で字幕をオンにすることができる。
【0041】
いくつかの実施形態において、電子支援装置190は、ディスプレイスクリーンと、1つ以上の内蔵カメラとを含む。カメラは、画像および/またはビデオを取得するように構成される。取得された画像および/またはビデオは、クライアント装置(例えば、許可されたクライアント装置104)上で表示するために、サーバシステム140に送信(例えば、ストリーミング)される。
【0042】
いくつかの実施形態において、音声作動電子支援装置190は、環境100の壁154、床156、または天井158上に搭載され、それと一体化され、および/またはそれによって支持されてもよい。一体化装置は、様々な有用な機能を提供するために、ネットワークにおいて互いにシームレスに一体化されるおよび/または中央サーバもしくはクラウドコンピューティングシステムとシームレスに一体化されるインテリジェントなマルチセンシングネットワーク接続装置を含む。いくつかの実施形態において、1つの装置は、キャスト装置108および/または出力装置106と同じ環境100の位置に配置され、したがって、キャスト装置108および出力装置106に近接してまたはそれらに対して既
知の距離を有するように配置される。
【0043】
いくつかの実施形態において、環境100は、1つ以上のネットワーク接続カメラシステム132(本明細書ではカメラ132とも称される)を含む。いくつかの実施形態において、カメラ132によって取得されたコンテンツは、ユーザからの要求(例えば、「オッケーグーグル、ベビー部屋のモニタを見せて」というユーザ指示)に応じておよび/または環境100の設定(例えば、夜にまたは侵入者の検出に応答して、特定のカメラ132によって取得されたコンテンツを表示する設定)に従って、電子支援装置190上で表示される。
【0044】
いくつかの実施形態において、環境100は、1つ以上のネットワーク接続サーモスタット122、ハザード検出器124、ドアベル126、ドアロック128、アラームシステム130、カメラシステム132、壁スイッチ136、電気製品138(例えば、冷蔵庫、ストーブ、オーブン、テレビ、洗濯機、および/または乾燥機)、ライト、ステレオ、インターホンシステム、車庫ドア開閉装置、フロアファン、天井ファン、壁空調装置、プールヒータ、灌漑システム、セキュリティシステム、室内暖房器、窓型エアコン(AC)ユニット、電動ダクトベントなどを含む。
【0045】
環境100は、1つ以上の他の占有センサ(例えば、タッチスクリーン、IRセンサ、周囲光センサおよびモーション検出器)を含む。いくつかの実施形態において、環境100は、(例えば、各部屋152またはその一部に配置された)無線周波数識別(RFID)リーダを含み、RFIDリーダは、居住者の身体に配置されたまたは埋め込まれたRFIDタグに基づいて、占有を判定する。例えば、RFIDリーダは、ネットワーク接続ハザード検出器に一体化されてもよい。
【0046】
いくつかの実施形態において、検知機能を含むことに加えて、環境100に含まれた1つ以上の装置は、他の装置、中央サーバ、クラウドコンピューティングシステム、および/またはネットワーク接続にされた他の装置(例えば、クライアント装置104、キャスト装置108、および/または電子支援装置190)との情報共有を含み、データ通信を行うことができる。同様に、いくつかの実施形態において、キャスト装置108および電子支援装置190の各々は、他のキャスト装置108、他の電子支援装置190、中央サーバまたはクラウドコンピューティングシステム140、および/またはネットワークに接続された他の装置(例えば、クライアント装置104)との情報共有を含み、データ通信を行うことができる。データ通信は、特定のカスタムまたは標準の無線ネットワークプロトコル(例えば、IEEE 802.15.4、Wi-Fi(登録商標)、ZigBee(登録商標)、6L0WPAN、Thread、Z-Wave(登録商標)、ブルートゥース(登録商標)スマート、ISA100.lla、WirelessHART、MiWi)および/または特定のカスタムまたは標準の有線ネットワークプロトコル(例えば、イーサネット(登録商標)、HomePlug)、または本願の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の好適な通信プロトコルを使用して行われてもよい。
【0047】
いくつかの実施形態において、環境100に含まれたキャスト装置108、電子支援装置190および他の装置は、無線または有線中継器として機能する。いくつかの実施形態において、キャスト装置108のうちの第1のキャスト装置は、無線ルータを介して、キャスト装置108のうちの第2のキャスト装置または1つ以上の他の装置と通信する。また、キャスト装置108、電子支援装置190および1つ以上の他の装置は、インターネット110などのネットワークへの接続(例えば、ネットワークインターフェイス160)を介して、互いに通信することができる。キャスト装置108、電子支援装置190および/または1つ以上の他の装置は、インターネット110を介して、(本明細書において、中央サーバシステムおよび/またはクラウドコンピューティングシステムとも称され
る)サーバシステム140と通信することができる。必要に応じて、サーバシステム140は、環境100に含まれた1つ以上の装置および/またはユーザに対して表示もしくは提示されているメディアコンテンツに関連する、製造業者、サポート法人、またはサービスプロバイダに関連付けられてもよい。
【0048】
一般的に、環境100に含まれた接続電子装置のいずれは、環境100内のユーザと対話するための様々な機能を有するように構成されてもよい。例えば、電子装置は、1つ以上のマイクロフォン、1つ以上のスピーカ、および/または音声対話機能を有するように構成されてもよい。これによって、ユーザは、マイクロフォンによって受信される音声入力、および、スピーカによってユーザに情報を提示するために再生される可聴出力を介して、電子装置と対話する。同様に、電子装置は、ユーザ入力を受信するためのボタン、スイッチおよび/または他のタッチ応答センサ(例えば、タッチスクリーン、タッチパネル、または容量性若しくは抵抗性タッチセンサ)、および触覚出力をユーザに提供するための触覚機能または他の触覚フィードバック機能を有するように構成されてもよい。また、電子装置は、参照により本明細書に組み込まれ、「音声ユーザインターフェイスの視覚アフォーダンスを行うためのLED設計言語」と題された米国特許出願第15/592120号に記載されたように、情報をユーザに視覚的に出力するための視覚出力機能、例えばディスプレイパネルおよび/または1つ以上のインジケータライトを有するように構成されてもよい。さらに、環境100に含まれた電子装置は、参照により本明細書に組み込まれ、「レーダベースのタッチインターフェイスを利用するためのシステム、方法、および装置」と題された米国特許出願第15/481289号に記載されたように、電子装置の近くの物体および人物の運動を検出することができる運動センサ、例えばレーダトランシーバまたはPIR検出器を有するように構成されてもよい。
【0049】
これらのセンサのいずれかによって受信された入力は、電子装置によっておよび/または電子装置と通信可能に連結されたサーバ(例えば、
図1Aのサーバシステム140)によって処理されてもよい。いくつかの実施形態において、電子装置および/またはサーバは、ユーザの入力に対する応答を処理および/または準備し、電子装置は、電子装置の出力機能のうちの1つ以上を介して、その応答を出力する。いくつかの実施形態において、電子装置は、電子装置の1つ以上の出力機能を介して、ユーザ入力に直接に応答しないが、環境100内の第2の電子装置によってまたは電子装置と通信可能に連結されたサーバによって電子装置に送信された情報を出力する。送信されたこの情報は、電子装置の出力機能によって表示可能/再生可能な任意の種類のものであってもよい。
【0050】
サーバシステム140は、環境100に含まれた装置、例えば、ビデオカメラ132、(内蔵カメラを備える)ドアベル126、および電子支援装置190によって取得されたデータからのイベント(例えば、モーション、音声、およびセキュリティ)の監視および確認を容易にするためのデータ処理を提供する。いくつかの実施形態において、サーバシステム140は、(例えば、電子支援装置190、ドアベル/カメラ126、またはビデオカメラ132によって収集された)ビデオおよび/または音声入力を処理するための音声/表示支援サーバ112と、環境100に含まれた1つ以上の装置上で表示するためのメディアコンテンツを提供するための1つ以上のコンテンツホスト114と、分散装置端末に基づいて仮想ユーザドメインを作成するためのクラウドキャストサービスサーバ116とを含んでもよい。いくつかの実施形態において、サーバシステム140は、仮想ユーザ環境内の分散装置端末の記録を保持するための装置レジストリ118を含む。分散型装置端末の例は、環境100に含まれた電子支援装置190、キャスト装置108、メディア出力装置106、および/または任意の他の装置を含むが、これらに限定されない。いくつかの実施形態において、これらの分散型装置端末は、仮想ユーザドメイン内のユーザアカウントにリンクされる。いくつかの実施形態において、これらの機能およびコンテンツホストの各々は、サーバシステム140内の別個のサーバである。いくつかの実施形態
において、これらの機能の一部は、サーバシステム140に一体化される。
【0051】
いくつかの実施形態において、ネットワークインターフェイス160は、従来のネットワーク装置(例えば、ルータ)を含む。いくつかの実施形態において、環境100は、ハブ装置180をさらに含み、ハブ装置180は、ネットワーク110に直接にまたはネットワークインターフェイス160を介して通信可能に連結される。また、ハブ装置180は、環境100環境100に含まれた1つ以上の装置に通信可能に連結される。いくつかの実施形態において、環境100に含まれた1つ以上のネットワーク接続装置は、必要に応じて、1つ以上の無線通信ネットワーク(例えば、ZigBee(登録商標)、Z-Wave、Insteon、ブルートゥース(登録商標)、WiFi(登録商標)および/または他の無線通信
ネットワーク)を用いて、ハブ装置180と通信する。いくつかの実施形態において、クライアント装置104(例えば、モバイルフォン、家庭用コントローラ、ラップトップ、タブレットコンピュータ、ゲームコンソール、または類似の電子装置)上で実行されているアプリケーションを介して、ハブ装置180およびハブ装置180に連結された装置を制御するまたはそれらと対話することができる。いくつかの実施形態において、このようなアプリケーションのユーザは、ハブ装置またはハブ装置に連結されたネットワーク接続装置の状態情報を確認することができ、ホームネットワークに新たに導入された装置と相互運用するようにハブ装置を構成することができ、新しい装置を作動させることができ、および接続された装置の設定を調整または閲覧することなどを行うことができる。
【0052】
図1Bは、いくつかの実施形態に従って、ネットワーク102を含む代表的なネットワークアーキテクチャ170を示すブロック図である。
【0053】
いくつかの実施形態において、環境100の一体化装置は、本明細書においてまとめて装置120と称される、インテリジェントなマルチセンシングネットワーク接続装置(例えば、装置122、124、126、128、130、132、136および/または138)を含む。これらの装置は、ネットワーク(例えば、
図1Bの102)において互いにシームレスに一体化され、および/または中央サーバもしくはクラウドコンピューティングシステム(例えば、サーバシステム164)とシームレスに一体化され、様々な有用な機能を提供する。
【0054】
いくつかの実施形態において、環境100内の装置120とハブ装置180とを組み合わせることによって、ネットワーク102内でメッシュネットワークを作成する。いくつかの実施形態において、ネットワーク102内の1つ以上の装置120は、コントローラとして動作する。追加的におよび/または代替的に、ハブ装置180は、コントローラとして動作する。いくつかの実施形態において、コントローラは、他の装置よりも多くの計算能力を有する。いくつかの実施形態において、コントローラは、(例えば、装置120、電子装置190(
図1A)、および/またはサーバシステム164からの)入力を処理し、コマンドを(例えば、ネットワーク102内の装置120に)送信することによって、環境100の動作を制御する。いくつかの実施形態において、ネットワーク102(例えば、メッシュネットワーク)内の装置120の一部は、「スポークスマン」ノード(例えば、120-1)であり、他の装置は、「低電力」ノード(例えば、120-6)である。環境100内の一部の装置は、バッテリ駆動であるが、他の装置は、環境の壁154の後ろの配線(例えば、120ボルト線間電圧を有する配線)に接続することによって、規則的且つ信頼可能な電源を有する。規則的且つ信頼可能な電源を有する装置は、「スポークスマン」ノードと称される。これらのノードは、典型的には、環境100内の様々な他の装置およびサーバシステム164との双方向通信を容易にするために、無線プロトコルを使用する機能を備える。いくつかの実施形態において、1つ以上の「スポークスマン」ノードは、コントローラとして動作する。バッテリ駆動される装置は、「低電力」ノードである。これらの低電力ノードは、スポークスマンノードよりも小さくなる傾向があり
、典型的には、Zigbee(登録商標)、Z-Wave(登録商標)、6L0WPAN、Thread、ブルート
ゥース(登録商標)などのごくわずかな電力しか必要としない無線プロトコルのみを使用して通信する。
【0055】
いくつかの実施形態において、一部の低電力ノードは、双方向通信を行うことができない。これらの低電力ノードは、メッセージを送信することはできるが、「リッスンする」ことはできない。したがって、環境100内の他の装置、例えば、スポークスマンノードは、これらの低電力ノードに情報を送信することができない。いくつかの実施形態において、一部の低電力ノードは、限定的な双方向通信のみを行うことができる。例えば、他の装置は、一定の期間中に限り、低電力ノードと通信することができる。
【0056】
上述したように、いくつかの実施形態において、装置は、低電力およびスポークスマンノードとして機能して、環境100内でメッシュネットワークを作成する。いくつかの実施形態において、環境内の一部の低電力ノードは、検知しているものに関するメッセージを定期的に送信し、環境内の他の低電力ノードは、それ自体のメッセージの送信に加えて、前述のメッセージを転送することによって、メッセージをネットワーク102の全体にわたってノード間(すなわち、装置間)に移動させる。いくつかの実施形態において、IEEE802.11などの比較的高電力の通信プロトコルを使用して通信することができるネットワーク102内のスポークスマンノードは、IEEE802.15.4などの比較的低電力の通信プロトコルに切り替えられ、これらのメッセージを受信し、これらのメッセージを他の通信プロトコルに変換し、変換されたメッセージを(例えば、比較的高電力の通信プロトコルを使用する)他のスポークスマンノードおよび/またはサーバシステム164に送信することができる。したがって、低電力通信プロトコルを使用する低電力ノードは、ネットワーク102全体にわたってメッセージを送受信することができ、およびインターネット110を介してメッセージをサーバシステム164に送受信することができる。いくつかの実施形態において、メッシュネットワークによって、サーバシステム164は、家の中の大部分または全ての装置からのデータを定期的に受信することと、データに基づいて推論を行うことと、ネットワーク102の内部および外部の装置の状態同期を促進することと、環境内でタスクを行うようにコマンドを1つ以上の装置に送信することとを可能にする。
【0057】
上述したように、スポークスマンノードおよび一部の低電力ノードは、「リッスンする」ことができる。したがって、ユーザ、他の装置、および/またはサーバシステム164は、制御コマンドを低電力ノードに通信することができる。例えば、ユーザは、電子装置104(例えば、電話または他のモバイル通信装置)を用いて、インターネットを介して、コマンドをサーバシステム164に送信することができ、サーバシステム164は、このコマンドをネットワーク102内の1つ以上のスポークスマンノードに中継する。スポークスマンノードは、低電力プロトコルを使用して、コマンドをネットワーク102内の低電力ノードにおよびサーバシステム164からコマンドを直接に受信しなかった他のスポークスマンノードに通信することができる。
【0058】
いくつかの実施形態において、装置120の一例である常夜灯170(
図1A)は、低電力ノードである。常夜灯170は、光源を収容することに加えて、超音波または受動IRセンサなどの占有センサと、部屋の光を測定するためのフォトレジスタまたはシングルピクセルセンサなどの周囲光センサとを収容する。いくつかの実施形態において、常夜灯170は、周囲光センサが部屋が暗くなったことを検出したときおよび占有センサがだれかが部屋にいることを検出したときに、光源を作動させるように構成される。他の実施形態において、常夜灯170は、単に周囲光センサが部屋が暗くなることを検出したときに光源を作動させるように構成される。いくつかの実施形態において、常夜灯170は、占有センサが部屋の中の人物の存在を検出すること一致する瞬間メッセージを含み、部屋の
占有および部屋の中の光量に関するメッセージを定期的に送信するための低電力ワイヤレス通信チップ(例えば、ZigBeeチップ)を含む。上述したように、これらのメッセージは、(例えば、メッシュネットワークを使用して)ネットワーク102内のノード間(すなわち、装置間)におよびインターネット110を介してサーバシステム164に無線で送信されてもよい。
【0059】
低電力ノードの他の例は、ハザード検出器124、カメラ132、ドアベル126などのバッテリ駆動装置を含む。これらのバッテリ駆動装置は、通常、一定且つ信頼できる電力にアクセスできない領域に配置され、必要に応じて、画像センサ、占有/モーションセンサ、周囲光センサ、周囲温度センサ、湿度センサ、煙/火/熱センサ(例えば、熱放射センサ)、一酸化炭素/二酸化炭素センサなどの任意の数および種類のセンサを含む。さらに、これらのバッテリ駆動装置は、例えば上述したメッシュネットワークを用いて、各センサからのメッセージを他の装置および/またはサーバシステム164に送信することができる。
【0060】
スポークスマンノードの例は、配線から給電されるドアベル126、サーモスタット122、壁スイッチ136、および壁プラグ142を含む。これらの装置は、信頼できる電源の近くに配置され、信頼できる電源に接続されるため、より多くの電力消費要素、例えば、様々なプロトコルで双方向通信を行うことができる1つ以上の通信チップを含んでもよい。
【0061】
いくつかの実施形態において、環境100は、特定の家庭タスクを自律的に実行するように構成されたサービスロボット168(
図1A)を含む。
【0062】
図1A~1Bを参照して上述したように、いくつかの実施形態において、
図1A~1Bの環境100は、ネットワーク110に直接にまたはネットワークインターフェイス160を介して通信可能に連結されたハブ装置180を含む。また、ハブ装置180は、少なくとも環境100に利用可能な無線通信ネットワークを使用する1つ以上の装置に通信可能に連結される。無線通信ネットワークによって使用される通信プロトコルは、ZigBee(登録商標)、Z-Wave(登録商標)、Insteon、EuOcean、Thread、OSIAN、ブルートゥース
(登録商標)ローエネルギーなどを含むが、これらに限定されない。いくつかの実施形態において、ハブ装置180は、各装置から受信されたデータを、ネットワークインターフェイス160またはネットワーク110のデータフォーマット要件を満たすように変換するだけでなく、ネットワークインターフェイス160またはネットワーク110から受信された情報を、特定の装置に関連する各々の通信プロトコルのデータフォーマット要件を満たすように変換する。いくつかの実施形態において、データフォーマット変換に加えて、ハブ装置180はさらに、装置から受信されたデータまたはネットワークインターフェイス160もしくはネットワーク110から受信された情報を予備的に処理する。例えば、ハブ装置180は、複数のセンサ/接続された装置(同じ種類および/または異なる種類のセンサ/装置を含む)からの入力を集約し、これらの入力に対してより高いレベルの処理(例えば、全体的な環境の評価、異なるセンサ/装置の間の動作の調整)を実行し、および/または収集された入力およびプログラムされた処理に基づいて命令を異なる装置に提供することができる。なお、いくつかの実施形態において、ネットワークインターフェイス160およびハブ装置180は、1つのネットワーク装置に一体化されてもよい。本明細書に記載された機能は、装置、代表的な電子装置(例えば、電話または他のモバイル通信装置)上で実行される制御アプリケーション、ハブ装置180、およびインターネットまたは他のワイドエリアネットワークを介してハブ装置に連結されたサーバの特定の実装例を表す。この機能および関連する動作の全てまたは一部は、記載されたシステムの任意の要素によって実行されてもよい。例えば、ハブ装置の実装例によって実行されるものとして本明細書に記載された機能の全てまたは一部は、異なるシステムの実施形態にお
いて、サーバ、1つ以上の接続装置および/または制御アプリケーション、またはそれらの異なる組み合わせ上で全体的にまたは部分的に実行されてもよい。
【0063】
図2は、代表的な動作環境200を示す。この動作環境200において、(場合によって、「ハブ装置サーバシステム」、「ビデオサーバシステム」、「ハブサーバシステム」と称される)サーバシステム164は、ビデオカメラ132によって取得されたビデオストリーム内のモーションイベントの監視および確認を容易にするためのデータ処理を提供する。
図2に示すように、サーバシステム164は、様々な物理位置(例えば、家庭、レストラン、店舗、街路、駐車場、および/または
図1の環境100内)に配置された(カメラ132、ドアベル126、および/または電子装置190を含む)ビデオソース222からビデオデータを受信する。各ビデオソース222は、1つ以上の確認者アカウントに結び付けられてもよい。サーバシステム164は、ビデオソース222のビデオ監視データを、確認者アカウントに関連付けられたクライアント装置204に提供する。例えば、ポータブル電子装置104は、クライアント装置204の一例である。
【0064】
いくつかの実施形態において、プロバイダサーバシステム164またはその構成要素は、
図1Aおよび1Bを参照して説明したサーバシステムに対応する。いくつかの実施形態において、サーバシステム164は、専用ビデオ処理サーバである、または
図1Aおよび1Bを参照して説明したように、サーバシステムによって提供される他のサービスから独立して、ビデオ処理サービスをビデオソースおよびクライアント装置204に提供するための専用ビデオ処理要素を含む。
【0065】
いくつかの実施形態において、各ビデオソース222は、(イベントおよびビデオクリップを参照して以下でより詳細に説明するように)ビデオを取得し、取得されたビデオを実質的にリアルタイムでまたはクリップごとにサーバシステム164に送信するための1つ以上のビデオカメラ132を含む。いくつかの実施形態において、1つ以上のビデオソース222は、必要に応じて、1つ以上のカメラ132とサーバシステム164との間の仲介として機能するコントローラ装置(図示せず)を含む。このコントローラ装置は、1つ以上のカメラ132からビデオデータを受信し、必要に応じて、ビデオデータに対していくつかの予備処理を実行し、1つ以上のカメラ132の代理として実質的にリアルタイムでビデオデータをサーバシステム164に送信する。いくつかの実施形態において、各カメラは、取得されたビデオデータに対していくつかの予備処理を実行するためのオンボード処理能力を有し、(予備処理によって取得されたメタデータと共に)処理したビデオデータをコントローラ装置および/またはサーバシステム164に送信する。本開示の全ての実施形態は、ビデオソース222としてのビデオカメラ132を参照して説明される。しかしながら、各実施形態は、カメラを備える環境100内の任意の他の装置、例えば、ドアベル126またはカメラを備える支援装置190にも適用されてもよい。
【0066】
図2に示されるように、いくつかの実施形態によれば、各々のクライアント装置204は、クライアント側モジュール202を含む。クライアント側モジュール202は、1つ以上のネットワーク110を介して、サーバシステム164上で実行されるサーバ側モジュール206と通信する。クライアント側モジュール202は、イベントの監視および確認処理、およびサーバ側モジュール206との通信を行うクライアント側機能を提供する。サーバ側モジュール206は、対応するクライアント装置204上で各々常駐する任意の数のクライアント側モジュール202に対して、イベントの監視および確認処理を行うサーバ側機能を提供する。また、サーバ側モジュール206は、任意の数の制御装置およびカメラ132を含む任意の数のビデオソース222に対して、ビデオ処理およびカメラ制御を行うサーバ側機能を提供する。
【0067】
いくつかの実施形態において、サーバ側モジュール206は、1つ以上のプロセッサ2
12と、ビデオ記憶データベース214と、装置およびアカウントデータベース216と、1つ以上のクライアント装置へのI/Oインターフェイス218と、1つ以上のビデオソースへのI/Oインターフェイス222とを含む。1つ以上のクライアントへのI/Oインターフェイスは、クライアント側入力およびサーバ側モジュール206への出力処理を容易にする。データベース216は、ビデオ処理サーバに登録された複数の確認者アカウントのプロファイルを記憶する。各ユーザプロファイルは、対応する確認者アカウントのアカウント証明書と、対応する確認者アカウントにリンクされた1つ以上のビデオソースとを含む。1つ以上のビデオソースへのI/Oインターフェイス222は、1つ以上のビデオソース222(例えば、1つ以上のカメラ132および関連するコントローラ装置からなるグループ)との通信を容易にする。ビデオ記憶データベース214は、ビデオソース222から受信された生ビデオデータと、イベント監視のデータ処理および各確認者アカウントの確認に使用される様々な種類のメタデータ、例えば、モーションイベント、イベントカテゴリ、イベントカテゴリモデル、イベントフィルタ、およびイベントマスクとを記憶する。
【0068】
代表的なクライアント装置204の例は、ハンドヘルドコンピュータ、ウェアラブルコンピューティング装置、携帯情報端末(PDA)、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セルラーフォーン、モバイルフォン、メディアプレーヤ、ナビゲーション装置、ゲームコンソール、テレビ、リモートコントロール、店頭(POS)端末、車載コンピュータ、電子書籍リーダ、またはこれらのデータ処理装置もしくは他のデータ処理装置の任意の2つ以上の組み合わせを含むが、これらに限定されない。
【0069】
1つ以上のネットワーク110の例は、ローカルエリアネットワーク(LAN)およびインターネットなどのワイドエリアネットワーク(WAN)を含む。1つ以上のネットワーク110は、必要に応じて、イーサネット(登録商標)、ユニバーサルシリアルバス(USB)、ファイアーワイヤ(登録商標)、ロングタームエボリューション(LTE)、GSM(登録商標)、エンハンストデータGSM環境(EDGE)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、ブルートゥース(登録商標)、Wi-Fi(登録商標)、ボイスオーバーインターネットプロトコル(VoIP)、Wi-MAX、または任意の他の適切な通信プロトコルなどの様々な有線または無線プロトコルを含む任意の既知のネットワークプロトコルを使用して実装される。
【0070】
いくつかの実施形態において、サーバシステム164は、1つ以上のスタンドアロンデータ処理装置またはコンピュータ分散ネットワーク上で実装される。いくつかの実施形態において、サーバシステム164は、様々な仮想装置および/または第三者サービスプロバイダ(例えば、第三者クラウドサービスプロバイダ)のサービスを利用して、サーバシステム164の基礎的なコンピューティングリソースおよび/またはインフラストラクチャリソースを提供する。いくつかの実施形態において、サーバシステム164は、ハンドヘルドコンピュータ、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、またはこれらのデータ処理装置もしくは他のデータ処理装置のうちの任意の2つ以上の組み合わせを含むが、これらに限定されない。
【0071】
図2に示すサーバ-クライアント環境200は、クライアント側部分(例えば、クライアント側モジュール202)とサーバ側部分(例えば、サーバ側モジュール206)との両方を含む。動作環境200のクライアント部分とサーバ部分との間の機能の分割は、異なる実施形態では異なってもよい。同様に、ビデオソース222とサーバシステム164との間の機能の分割は、異なる実施形態では異なってもよい。例えば、いくつかの実施形態において、クライアント側モジュール202は、ユーザ側入力および出力処理機能のみを提供し、全ての他のデータ処理機能をバックエンドサーバ(例えば、サーバシステム1
64)に委任するシンクライアントである。同様に、いくつかの実施形態において、各ビデオソース222は、ビデオデータ(例えば、ビデオクリップの形態のイベント)を取得し、ビデオデータに対してローカル予備処理を全く実行せずまたは限定的に実行した後、サーバシステム164にストリーミングする単純なビデオ取得装置である。サーバシステム164の観点から本技術の多くの態様を説明したが、クライアント装置204および/またはビデオソース222が対応する動作を実行することができることは、創造的な努力なしに当業者には明らかであろう。同様に、クライアント装置またはビデオソースの観点から本技術のいくつかの態様を説明してもよく、ビデオサーバが対応する動作を実行することができることは、創造的な努力なしに当業者には明らかであろう。さらに、本技術のいくつかの態様は、サーバシステム164、クライアント装置204、およびビデオソース222によって協働して実行されてもよい。
【0072】
なお、サーバシステム164、ビデオソース222、およびビデオカメラ132を含む動作環境200は、単なる例である。一般的に、動作環境200の多くの態様は、他の動作環境に適用可能である。この場合、サーバシステムは、他の種類の電子装置(例えば、サーモスタット122、ハザード検出器124、ドアベル126、壁プラグ142、電気製品138)によって取得されたデータの監視および確認を容易にするためのデータ処理を提供する。
【0073】
電子装置、クライアント装置、およびサーバシステムは、1つ以上の通信ネットワーク110を介して互いに通信する。例示的な環境において、2つ以上の装置(例えば、ネットワークインターフェイス装置160、ハブ装置180、およびクライアント装置204-m)は、有線接続、WLANまたはブルートゥース(登録商標)パーソナルエリアネットワーク(PAN)を介して、同じサブネットワーク110A内で通信可能に連結され得るように、相互に近接して配置される。ブルートゥース(登録商標)PANは、必要に応じて、古典的なブルートゥース(登録商標)技術またはブルートゥース(登録商標)ローエネルギー(Bluetooth Low Energy:BLE)技術に基づいて確立される。この環境は、1つ以上の他の無線通信ネットワーク110Bをさらに含み、ビデオソース222-nの電子装置のうち、少なくとも一部は、無線通信ネットワーク110Bを介して、ハブ装置180とデータを交換する。代替的には、いくつかの状況において、ビデオソース222-nの電子装置の一部は、装置160、180および204-mを連結する同じサブネットワーク110Aを介して、ネットワークインターフェイス装置160と直接に通信する。いくつかの実施形態において(例えば、ネットワーク110Cの場合)、クライアント装置204-mとビデオソース222-nの電子装置との両方は、ネットワークインターフェイス装置160またはハブ装置180を通さず、ネットワーク110を介して直接に通信する。
【0074】
いくつかの実施形態において、通常動作中に、ネットワークインターフェイス装置160およびハブ装置180は、互いに通信することによって、ビデオソース222~nの電子装置とデータを交換するためのネットワークゲートウェイを形成する。上述したように、ネットワークインターフェイス装置160およびハブ装置180は、必要に応じて、サブネットワーク110Aを介して互いに通信する。
【0075】
図3は、いくつかの実施形態に従って、環境100内の例示的な電子装置222を示すブロック図である。例えば、電子装置222は、セキュリティカメラ132、ドアベルカメラ126、またはカメラを備える支援装置190であってもよい。電子装置222は、通常、1つ以上のプロセッサ(CPU)302と、1つ以上のネットワークインターフェイス304と、メモリ306と、これらの要素(チップセットとも称される)を相互接続するための1つ以上の通信バス308とを含む。電子装置222は、画像および/またはビデオを取得するように構成された1つ以上のカメラ362を含む。電子装置222は、
カメラ362の状態の視覚指示を表示するように構成された1つ以上の出力装置312、例えば、1つ以上のスピーカ、ディスプレイ、および/または1つ以上のインジケータライト(例えば、LED)を含む。いくつかの実施形態において、電子装置222は、イベントまたは変化を検出するためのセンサ363(例えば、モーションセンサ、レーダセンサ、および/または存在センサ)を含む。いくつかの実施形態において、イベントまたは変化の検出は、カメラ362の視野内のモーションの検出によってトリガされる。
【0076】
電子装置222(例えば、支援装置190)のいくつかの実装例において、電子装置222は、ユーザ入力を容易にするための1つ以上の入力装置310、例えば、1つ以上のマイクロホン、音量調節およびプライバシー制御を含む。音量調節は、スピーカの音量レベルを調節するまたは表示支援装置300をリセットするためのユーザ動作(例えば、ボリュームアップボタンまたはボリュームダウンボタンを押す動作、ボリュームアップボタンおよびボリュームダウンボタンの両方を長時間押す動作)を受け入れるように構成される。プライバシー制御は、表示支援装置のプライバシー設定(例えば、マイクロフォンおよび/またはカメラ362を停止するか否か)を制御するためのユーザ動作を受け入れるように構成される。いくつかの実施形態において、プライバシー制御は、電子装置222上に配置された物理ボタンである。いくつかの実施形態において、電子装置222の入力装置310は、ディスプレイパネル上に一体化され、ディスプレイパネル表面上のタッチ入力を検出するように構成されたタッチ検出モジュールを含む。いくつかの実施形態において、電子装置222の入力装置310は、視野内の画像および/またはビデオストリームを取得するように構成されたカメラモジュールを含む。
【0077】
いくつかの実施形態において、電子装置222は、表示支援装置190の周りの所定の領域内のユーザの存在を検出するように構成された存在センサ363を含む。いくつかの状況において、表示支援装置190は、音声入力の検出および処理を停止するスリープまたはハイバネーションモードで動作し、存在センサが所定の領域内のユーザの存在を検出するまで、スリープまたはハイバネーションモードからウェイクアップしないまたは周囲をリッスンしない(すなわち、環境から収集されたオーディオ信号を処理しない)。存在センサの例は、ユーザの存在を検出するように構成された超音波センサである。
【0078】
メモリ306は、DRAM、SRAM、DDR RAM、または他のランダムアクセスソリッドステートメモリ装置などの高速ランダムアクセスメモリを含み、必要に応じて、1つ以上の磁気ディスク記憶装置、1つ以上の光ディスク記憶装置、1つ以上のフラッシュメモリ装置、または1つ以上の他の不揮発性ソリッドステート記憶装置などの不揮発性メモリを含む。メモリ306は、必要に応じて、1つ以上のプロセッサ(またはCPU)302から離れて配置される1つ以上の記憶装置を含む。メモリ306または代替的にメモリ306内の不揮発性メモリは、非一時的なコンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ306またはメモリ306の非一時的なコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらの下位集合もしくは上位集合を記憶する。プログラム、モジュール、およびデータ構造は、
様々な基本的なシステムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム316と、
1つ以上の(有線または無線)ネットワークインターフェイス304および1つ以上のネットワーク110、例えば、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークを介して、電子装置222を他の装置(例えば、サーバシステム164、クライアント装置104、クライアント装置204、装置120、ハブ装置180、および/または他の電子装置222)に接続するためのネットワーク通信モジュール318と、
ディスプレイ上で情報の提示を可能にする1つ以上の入力装置310を介して、入力を受信するための入力/出力制御モジュール320とを含み、
この入力/出力制御モジュール320は、
電子装置222の周りの環境から収集された音声入力または音声メッセージを処理する、またはサーバシステム164(音声/表示支援サーバ112)による処理のために収集された音声入力または音声メッセージを準備するための音声処理モジュール322と、
メディアコンテンツアイテム(例えば、ユーチューブ(登録商標)ビデオクリップ)、ニュース投稿、ソーシャルメディアメッセージ、天気情報、個人写真、音声入力処理の状態、および装置の読取り値を含むがこれらに限定されない追加の視覚情報を表示するための表示支援モジュール324と、
電子装置222の上面のタッチイベントを検知するためのタッチ検知モジュール326とを含み、
上述したプログラム、モジュール、およびデータ構造は、
イベントを検出し、当該イベントに関連するビデオクリップを処理するためのイベント処理モジュール350とを含み、
このイベント処理モジュール350は、
イベントトリガ(例えば、シーン内のモーションまたは前景物体の存在)を検出するためのトリガ検出モジュール350と、
(例えば、物体がイベントの作成をトリガすべきか否かに関する判定の一部として)シーンから検出された物体に対して物体認識分析を実行するための物体認識モジュール354と、
イベントを含むフレームおよび/またはイベントの前後の追加のフレームを含むビデオクリップを合成するためのイベント合成モジュール356とを含み、合成することは、無活動閾値および最大イベント長などのイベントパラメータを考慮することを含み、
上述したプログラム、モジュール、およびデータ構造は、
カメラ362の画像センサから画像フレームを取得し、ビデオストリーム(例えば、連続ビデオストリーム、ビデオクリップ、および/または1つ以上の静止画像)を処理するためのビデオ処理モジュール358を含み、処理することは、いくつかの実施形態において、ネットワークを介して送信するために、処理されたビデオデータを圧縮することを含み、
上述したプログラム、モジュール、およびデータ構造は、
電子装置222の電力種類(例えば、装置がバッテリによって駆動されているか、または有線電源によって駆動されているか)を検出するための電力検出モジュール359と、
データ330とを含み、
データ330は、
電子装置222に関連する情報、例えば、装置の共通設定(例えば、サービス層、装置モデル、記憶容量、処理能力、通信能力)および電子装置222にリンクされている仮想ユーザドメイン内のユーザアカウントの情報を記憶するための装置設定332と、
イベントを生成するためにイベント処理モジュール350によって使用されるパラメータ、例えば、パディング382、無活動閾値384、最大イベント長386、クールオフ閾値388、および/または物体フィルタおよび/または優先度390を含むイベントプロファイル設定380とを含み、
パディング382は、プレロール値(例えば、
図8および
図9のパディングウィンドウ814および914に示すように、物体または目標オカレンスを検出する前のイベントクリップに含まれる時間、または目標物体またはオカレンスを含む画像フレームの前に取得された画像の数)と、ポストロール値(例えば、
図8および
図9のパディングウィンドウ816および916に示すように、検出された目標物体またはオカレンスがカメラのシーンまたは視野に存在していないのイベントクリップに含まれる時間、または目標物体もしくはオカレンスが検出されなくなるまで取得された画像の数)とを含み、
無活動閾値384は、例えば、
図8の時間D/Eと
図9の時間D/FとI/Jとの間の無活動ウィンドウに示すように、後続の活動を含むようにイベントを継続する代わりに、イベントを終了する前の待機時間、または目標物体もしくはオカレンスが検出されなく
なるまで取得された画像の数であり、この画像の数は、イベントを終了する前の待機時間に対応しており、
最大イベント長386は、例えば、
図8および
図9のイベントセグメント812および912に示すように、目標物体またはオカレンスがカメラのシーンまたは視野内に存在しているか否かにかかわらず、イベントが終了する前のイベント持続時間、または最大イベント長として特定された時間に関連する画像の最大数であり、いくつかの実施形態において、最大イベント長は、パディングウィンドウを含み、いくつかの実施形態において、最大イベント長は、パディングウィンドウを含まない、
クールオフ閾値388は、例えば、それを超えるとイベントの記録が停止する物体検出の速度であり、
物体フィルタおよび/または優先度390は、例えば、
図5の例示的な定式442内のイベント優先度リストに示すように、イベントを記録する基準となる物体を決定するためのものであり、
上述したプログラム、モジュール、およびデータ構造は、
カメラ362の画像センサによって取得された画像フレームを記憶するための画像バッファ(入力バッファとも称される)392と、
電子装置222の音声インターフェイス機能に関連する音声信号、音声メッセージ、応答メッセージ、および他のデータを記憶するための音声制御データ336と、
表示支援装置を使用することを許可されたユーザの情報、例えば、許可ユーザの画像、音声情報、および指紋情報を記憶するための許可ユーザデータ338とを含み、
電子装置222に関連する生データまたは処理済みデータ、例えば、カメラ362によって取得されたイベントデータおよび/またはビデオデータを選択的に記憶するためのローカルデータストレージ340とを含む。
【0079】
上述した要素の各々は、前述した1つ以上のメモリ装置に記憶されてもよく、上述した機能を実行するための命令セットに対応する。上述したモジュールまたはプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要はない。したがって、様々な実施形態において、これらのモジュールを様々なサブセットで組み合わせるまたは再編成することができる。いくつかの実施形態において、メモリ306は、必要に応じて、上述したモジュールおよびデータ構造のサブセットを記憶する。また、メモリ306は、必要に応じて、上述で説明されていない追加のモジュールおよびデータ構造を記憶する。
【0080】
いくつかの実施形態において、上述した1つ以上の要素は、サーバシステム(例えば、サーバシステム164)に記憶されてもよく、またはこのサーバシステムに実装されてもよい。例えば、イベント処理モジュール350は、サーバシステム164に格納されてもよい。このような実施形態において、電子装置222は、カメラ362から取得された画像データを含むビデオストリームをサーバシステム164に送信し、イベント処理モジュール350は、サーバシステム164においてトリガ検出、物体認識、および/またはイベント合成を実行する。前述した1つ以上のプロセスの結果として、サーバシステム164は、イベントクリップ(例えば、
図7を参照して以下でより詳細に説明されるイベントクリップ740)を電子装置222に送信し、(例えば、電子装置222の出力装置312上で)表示する。
【0081】
図4は、いくつかの実施形態に従って、サーバシステム164を示すブロック図である。サーバシステム164は、1つ以上のプロセッサ(例えば、CPU)402と、1つ以上のネットワークインターフェイス404と、メモリ406と、これらの要素(チップセットとも称される)を相互接続するための1つ以上の通信バス408とを含む。メモリ406は、DRAM、SRAM、DDR SRAM、または他のランダムアクセスソリッドステートメモリ装置などの高速ランダムアクセスメモリを含み、必要に応じて、1つ以上
の磁気ディスク記憶装置、1つ以上の光ディスク記憶装置、1つ以上のフラッシュメモリ装置、または1つ以上の他の不揮発性ソリッドステート記憶装置などの不揮発性メモリを含む。メモリ406は、必要に応じて、1つ以上のプロセッサ402から離れて配置される1つ以上の記憶装置を含む。メモリ406または代替的にメモリ406内の不揮発性メモリは、非一時的なコンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ406またはメモリ406の非一時的なコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらの下位集合もしくは上位集合を記憶する。プログラム、モジュール、およびデータ構造は、
様々な基本的なシステムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム410と、
1つ以上の(有線または無線)ネットワークインターフェイス404を介して、サーバシステム164を他のシステムおよび装置(例えば、1つ以上のネットワーク110に接続されたクライアント装置、電子装置およびシステム)に接続するためのネットワーク通信モジュール412と、
装置制御、データ処理、およびデータ確認などのサーバ側機能を提供するサーバ側モジュール414とを含み、
サーバ側モジュール414は、
電子装置からのデータ(例えば、電子装置222からのイベントデータ)を受信し、さらなる処理を行うおよびサーバデータベース428に記憶するために、受信したデータを準備するように構成されたデータ受信モジュール416と、
電子装置(例えば、電子装置222)の動作モードを修正するように、サーバ起動御コマンドを生成および送信し、および/または電子装置の動作モードを修正するように、(例えば、クライアント装置204およびクライアント装置104から)ユーザ起動制御コマンドを受信および転送する(例えば、電子装置222の装置設定データ438を受信し、設定データ438に対応する1つ以上のイベント処理定式442を転送する)ように構成された装置制御モジュール418と、
電子装置によって提供されたデータを処理し、および/または処理されたデータを準備し、確認用装置(例えば、ユーザによって確認されるクライアント装置204)に送信するように構成されたデータ処理モジュール420とを含むがこれらに限定されず、データ処理モジュール420は、受信されたビデオクリップ(例えば、電子装置222から受信され、検出されたイベントに対応するビデオクリップ)から検出された実体および/またはイベント候補を処理する(例えば、分類および/または認識する)ためのビデオ処理モジュール422と、ユーザと通信する(例えば、警告、タイムラインイベントなどを送信する、およびユーザの編集およびゾーンの定義などを受信する)ためのユーザインターフェイスモジュール424と、環境から検出された人物を分析および/または特定するための実体認識モジュール426とを含むがこれらに限定されず、
上述したプログラム、モジュール、およびデータ構造は、サーバデータベース428を含み、
サーバデータベース428は、
装置およびアカウントデータを格納するための装置およびアカウントデータベース216を含み、
この装置およびアカウントデータベース216は、
1つ以上の装置(例えば、電子装置222)に関連する装置情報436と、
装置識別子448、設置場所データ449a、装置用途情報449b、および/または装置電力種類データ449cを含む装置設定データ438と、
ユーザアカウント情報、例えば、ユーザプロファイル、リンクされたハブ装置および電子装置の情報および設定(例えば、ハブ装置ID)、ハブ装置の固有のシークレット、関連ユーザおよびハードウェア特性(例えば、サービス層、サブスクリプション、装置モデル、記憶容量、処理能力)、ユーザインターフェイス設定、データ確認好み設定を含み、ユーザアカウントに関連するアカウントデータ432とを含み、電子装置に関連する情
報は、1つ以上の装置識別子(例えば、MACアドレスおよびUUID)、装置の固有のシークレット、表示されたタイトル、およびビデオ処理サーバに登録された確認者アカウントのプロファイルを含むがこれらに限定されず、各ユーザプロファイルは、対応する確認者アカウントのアカウント証明書と、対応する確認者アカウントにリンクされた1つ以上のビデオソースとを含み、
サーバデータベース428は、
ビデオソースから受信したビデオデータ(例えば、1つ以上の電子装置222から受信したビデオクリップ)、およびイベント監視のデータ処理および各確認者アカウントの確認に使用される様々な種類のメタデータ、例えば、モーションイベント、イベントカテゴリ、イベントカテゴリモデル、イベントフィルタ、およびイベントマスクを記憶するためのビデオ記憶データベース214(
図2参照)と、
各ユーザアカウントの各電子装置(例えば、各電子装置222)に関連するデータ、データ処理モデル、データ処理結果、および当該データに関連する他のメタデータ(例えば、データ結果の名前、電子装置の位置、作成時間、持続時間、電子装置の設定)を記憶するためのデータストレージ430とを含み、当該データおよび/またはハブ装置180または装置に関連する処理結果の全部または一部は、(必要に応じて)安全に記憶され、
電子装置(例えば、電子装置222)の許可ユーザの情報、例えば、画像、声紋、指紋および信頼レベルを記憶するための許可人物データベース242と、
イベント記録およびコンテキスト情報(例えば、接近している訪問者の周囲の状況を記述するコンテキストデータ)などのイベント情報440と、
特定の設定データ438に対応するイベントパラメータの予め決められたまたはプログラムされた定式(本明細書ではレシピとも称される)、例えば、パディング値443a、無活動値443b、長さ値443c、クールオフ値、および/または優先度値443dの特定の組み合わせを含むイベント定式442と、
様々な照明条件においてカメラによって取得された以前の背景画像および/または実体画像などの過去画像444と、
(例えば、環境100内の)実体を特定するおよび/または特徴付ける情報などの実体情報446とを含むがこれらに限定されない。
【0082】
上述した要素の各々は、前述した1つ以上のメモリ装置に記憶されてもよく、上述した機能を実行するための命令セットに対応する。上述したモジュールまたはプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、またはモジュールとして実装される必要はない。したがって、様々な実施形態において、これらのモジュールを様々なサブセットで組み合わせるまたは再編成することができる。いくつかの実施形態において、メモリ406は、必要に応じて、上述したモジュールおよびデータ構造のサブセットを記憶する。また、メモリ406は、必要に応じて、上述していない追加のモジュールおよびデータ構造(例えば、クライアント装置、装置および環境をリンクするためのアカウント管理モジュール)を記憶する。
【0083】
いくつかの実施形態において、メモリ406は、音声/表示支援アプリケーション(図示せず)を含み、この音声/表示支援アプリケーションは、実行されると、音声作動電子装置190から受信された音声メッセージの音声処理を準備し、音声メッセージを直接に処理することによって、ユーザ音声コマンドとキャスト装置108または別の音声作動電子装置190の指示とを抽出し、および/または音声作動電子装置190にメディアコンテンツ(オーディオまたはビデオ)を再生させる。
【0084】
いくつかの実施形態において、サーバシステム164は、クラウドキャストサービス(例えば、
図1Aのクラウドキャストサーバ116)を含む。いくつかの実施形態において、メモリ406は、キャスト装置アプリケーションをさらに含み、このキャスト装置アプリケーションは、実行されると、キャスト装置108に関連する装置プロビジョニング、
装置制御、およびユーザアカウント管理を実行するためのサーバ側機能を提供する。クラウドキャスト機能のさらなる詳細は、2019年12月7日に提出され、「表示支援装置」と題されたPCT出願PCT/US2015/64449に記載される。当該出願の全体は、参照により本明細書に組み込まれる。
【0085】
図5は、いくつかの実施形態に従って、2つの例示的なイベント定式(例えば、
図4の定式442)を含む。
【0086】
室外定式502は、室外環境に配置される電子装置222(例えば、室外セキュリティカメラまたはドアベルカメラである)用のものである。室外定式502において、イベントは、初期イベントトリガの前(例えば、モーションが最初に検出される前、またはシーンに進入した目標物体が認識される前)に2秒のビデオでパディングされ、各イベントが完了した後(例えば、モーションが検出されなくなった後)に2秒のビデオでパディングされる。これらのパディング値は、本明細書において、プリロール値およびポストロール値と称されることがある。無活動閾値は、30秒であり、最大イベント長は、5時間である。また、室外定式は、目標物体/イベントおよびそれらの優先度のリストを含む。いくつかの実施形態において、イベントの特定の部分で2つの物体/イベントを同時に検出した場合、イベントのその部分は、より高い優先度の物体/イベントを用いて標記される。いくつかの実施形態において、閾値より高い優先度を有する物体/イベントのみは、イベントを作成するための基準、および/またはクライアント装置に通知を送信するための基準として使用される。
【0087】
室内定式504は、屋内環境に配置される電子装置222(例えば、室内防犯カメラまたはカメラ付き支援装置)用のものである。この例において、屋内で発生するイベントには、追加のポストロールパディング時間(室外定式のわずかに2秒に対して5秒)が与えられる。無活動閾値は、同様に30秒であるが、最大イベント長は、1時間のみである。また、ペット、ドアノック、ガラス割れ、および乳児泣きなどの物体/イベントが屋内環境に発生しやすく、したがってより関連性が高いであるため、イベント優先度リストには、これらの物体/イベントは、室外定式502の物体/イベントの優先度よりも高い優先度が与えられる。
【0088】
定式502および504は、例示である。他の値の組み合わせ、他の装置位置および構成は、本明細書に記載された概念の範囲から逸脱することなく、イベント定式に実装されてもよい。いくつかの実施形態において、以下で説明するように、定式442は、最新の設定データ、ユーザ好み、および/または装置学習アルゴリズムに基づいて変更するように構成される基準パラメータ値(例えば、
図5の例に示されたもの)を含んでもよい。
【0089】
図6は、いくつかの実施形態に従って、ユーザアカウントに関連する代表的なクライアント装置204(
図2のクライアント装置204および
図1のクライアント装置104)を示すブロック図である。クライアント装置204は、通常、1つ以上のプロセッサ(例えば、CPU)602と、1つ以上のネットワークインターフェイス604と、メモリ606と、これらの要素(チップセットと称されることがある)を相互接続するための1つ以上の通信バス608とを含む。また、必要に応じて、クライアント装置は、ユーザインターフェイス610と、1つ以上のセンサ690(例えば、加速度計およびジャイロスコープ)とを含む。ユーザインターフェイス610は、メディアコンテンツの提示を可能にする1つ以上の出力装置612、例えば、1つ以上のスピーカおよび/または1つ以上の表示装置を含む。ユーザインターフェイス610は、1つ以上の入力装置614を含み、1つ以上の入力装置614は、ユーザ入力を容易にするユーザインターフェイス要素、例えば、キーボード、マウス、音声コマンド入力ユニットまたはマイクロフォン、タッチスクリーンディスプレイ、タッチ感知式入力パッド、ジェスチャ捕捉カメラ、または他の入
力ボタンもしくはつまみを含む。さらに、いくつかのクライアント装置は、キーボードを補完するまたは置換するために、マイクロフォンおよび音声認識またはカメラおよびジェスチャ認識を使用する。いくつかの実施形態において、クライアント装置は、画像を取得するための1つ以上のカメラ、スキャナ、またはフォトセンサユニット(図示せず)を含む。必要に応じて、クライアント装置は、クライアント装置の位置(例えば、屋内、室外、または環境内の特定の部屋もしくは領域)を決定するための位置検出要素616、例えば、GPS(全地球測位衛星)センサまたは他の地理位置受信器を含む。
【0090】
メモリ606は、DRAM、SRAM、DDR SRAM、または他のランダムアクセスソリッドステートメモリ装置などの高速ランダムアクセスメモリを含み、必要に応じて、1つ以上の磁気ディスク記憶装置、1つ以上の光ディスク記憶装置、1つ以上のフラッシュメモリ装置、または1つ以上の他の不揮発性ソリッドステート記憶装置などの不揮発性メモリを含む。メモリ606は、必要に応じて、1つ以上のプロセッサ(またはCPU)602から離れて配置される1つ以上の記憶装置を含む。メモリ606または代替的にメモリ606内の不揮発性メモリは、非一時的なコンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ606またはメモリ606の非一時的なコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらの下位集合もしくは上位集合を記憶する。プログラム、モジュール、およびデータ構造は、
様々な基本的なシステムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム618と、
1つ以上の(有線または無線)ネットワークインターフェイス604を介して、クライアント装置204を他のシステムおよび装置(例えば、1つ以上のネットワーク110に接続されたクライアント装置、電子装置、およびシステム)に接続するためのネットワーク通信モジュール620と、
1つ以上の入力装置614のうちの1つからの1つ以上のユーザ入力または相互作用を検出し、検出された入力または相互作用を翻訳するための入力処理モジュール622と、
装置を制御すること(例えば、コマンドをハブ装置および/または他のクライアント装置もしくは電子装置に送信すること、設定を構成すること、電子装置222の設定データを入力すること)を行うため、および装置によって取得されたデータ(例えば、装置状態および設定、取得されたデータ、イベントビデオクリップ、またはハブ装置もしくは他の接続装置に関する他の情報)を確認するために、クライアント装置によって実行される1つ以上のアプリケーション623(例えば、ゲーム、ソーシャルネットワークアプリケーション、アプリケーション624、および/または他のウェブベースもしくは非ウェブベースのアプリケーション)とを含み、いくつかの実施形態において、ユーザは、アプリケーション624を用いて、表示支援装置190の設定、例えば、オン/オフモード監視(例えば、ライブビュー、イベント履歴、通知)、ホーム/アウェイアシストおよび活動ゾーンの設定を構成することができる。いくつかの実施形態において、ユーザは、アプリケーション624を用いて、ホームを監視するためにカメラ362を起動する時間をスケジュールすることができる。いくつかの実施形態において、ユーザは、アプリケーション624を介して、画像および/またはビデオを配信する品質、使用される帯域幅、およびマイクロホンの設定を構成することができる。いくつかの実施形態において、アプリケーション624は、電子装置222を移動させると、活動ゾーン内で何を記録するかまたは何を記録しないかを影響するというユーザ教育(例えば、トレーニングビデオ、マニュアル、ポップアップメッセージ通知)を提供する。いくつかの実施形態において、アプリケーション624は、電子装置222が移動されると、ゾーンを無効にするかまたはゾーンを調整する。いくつかの実施形態において、電子装置222は、移動されると、クラウド(例えば、サーバシステム164)に通知を送信するように構成され、
上述したプログラム、モジュール、およびデータ構造は、
1つ以上の装置(例えば、環境100内の装置120および音声作動表示支援装置190)の設定、取得データ、および/または他のデータを構成および/または閲覧すること
ができるユーザインターフェイスを提供および表示するためのユーザインターフェイスモジュール626と、
装置制御、データ処理、およびデータ確認を行うためのクライアント側機能を提供するクライアント側モジュール628とを含み、
クライアント側モジュール628は、
ユーザ入力に従って、装置(例えば、電子装置222、必要に応じて、他の電子装置)の動作モードを変更するための制御コマンドを生成するための装置制御モジュール630と、
人物、物体、動物、およびイベントを検出および/または認識するために、受信したビデオデータ(例えば、イベントビデオクリップ)を閲覧および/または分析するためのビデオ分析モジュール632と、
サーバシステム164またはビデオソース222からのデータを確認するためのユーザインターフェイスを提供するためのデータ確認モジュール634とを含み、データ確認モジュール634は、イベント(例えば、モーションおよび/または音声イベント)を確認し、必要に応じて、イベントに対するユーザ編集および/または更新を可能にするイベント確認モジュール636と、検出された人物および他の実体に関するデータおよび/または画像を確認し、必要に応じて、人物のデータに対するユーザ編集および/または更新を可能にするための人物確認モジュール638とを含むが、これらに限定されず、
クライアント側モジュール628は、
電子装置222および/またはサーバシステム164と対話するためのユーザインターフェイスおよび応答オプションを提示するための提示モジュール640と、
例えば、電子装置222および/またはサーバシステム164を介して、遠隔の人物(例えば、環境100の訪問者)と対話するための遠隔対話モジュール642とを含み、
上述したプログラム、モジュール、およびデータ構造は、
ユーザアカウントおよび電子装置に関連するデータを記憶するクライアントデータ644を含み、
クライアントデータ644は、
クライアント装置上にロードされたユーザアカウントと、ユーザアカウントに関連する(例えば、ビデオソース501の)電子装置との両方に関する情報を格納するためのアカウントデータ646を含み、このような情報は、キャッシュされたログイン認証情報、ハブ装置識別子(例えば、MACアドレスおよびUUID)、電子装置識別子(例えば、MACアドレスおよびUUID)、ユーザインターフェイス設定、表示好み、認証トークンおよびタグ、パスワードキーを含み、
(例えば、ビデオソース222の)電子装置に関連する生データまたは処理データ、必要に応じて前述した実体データを選択的に格納するためのローカルデータストレージ648と、
様々な照明条件下で、カメラによって取得された以前の背景画像および/または実体画像などの以前の画像650とを含むがこれらに限定されない。
【0091】
上述した要素の各々は、前述した1つ以上のメモリ装置に記憶されてもよく、上述した機能を実行するための命令セットに対応する。上述したモジュールまたはプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、モジュール、またはデータ構造として実装される必要はない。したがって、様々な実施形態において、これらのモジュールを様々なサブセットで組み合わせるまたは再編成することができる。いくつかの実施形態において、メモリ606は、必要に応じて、上述したモジュールおよびデータ構造のサブセットを記憶する。また、メモリ606は、必要に応じて、上記で説明されていない追加のモジュールおよびデータ構造を記憶する。
【0092】
図7は、いくつかの実施形態に従って、イベント処理システム700を示すブロック図である。
図3と同様の特徴は、同様の番号で示され、簡潔のためにその一部をさらに説明
しない。いくつかの実施形態において、システム700は、カメラを備えた電子装置(例えば、電子装置222)上で実装される。いくつかの実施形態において、システム700の様々なモジュール、例えば物体認識モジュール354は、サーバシステム(例えば、サーバシステム164)に実装される。システム700は、検出された目標物体に対応するイベントを処理する。本開示において、「イベント」という用語は、居住者にとって興味のあるもの(例えば、人物または物体)を含むまたは興味のあるオカレンス(例えば、モーション)を含むビデオデータ(例えば、ビデオクリップ)の一部を指す。また、「イベント」という用語は、ビデオクリップの基礎であるオカレンス自身(例えば、モーションイベント)を指してもよい。特に指定がない限り、「イベント」、「クリップ」、「イベントクリップ」、および「ビデオクリップ」という用語は、本開示において互換的に使用される。以下、
図8および
図9を参照して、イベント、エベントの要素および要素の合成をさらに説明する。
【0093】
再び
図7を参照して、カメラ362の画像センサは、画像データを取得し、取得した画像データを画像フレームとしてバッファ392に格納する。いくつかの実施形態において、このバッファは、環状バッファである。環状バッファとは、最も古いフレームが最新のフレームによって絶えずに書き換えられるため、以前に取得されたフレームの常に最新のログの利用可能性を保証するものである。トリガ検出モジュール352は、イベントトリガを検出する。いくつかの実施形態において、トリガを検出することは、(例えば、視野内に移動している物体を示すピクセル値の変化を検出するように後続のフレームを比較することによって、またはモーションセンサ363を用いてモーションを検出することによって)カメラの視野内のモーションを検出することを含む。いくつかの実施形態において、トリガを検出することは、(例えば、背景参照画像から現在の画像を減算して前景物体を検出することによって、または存在センサ363を用いて存在を検出することによって)カメラの視野の前景における物体の存在を検出することを含む。トリガを検出すると、物体認識モジュール354は、当該トリガがイベントを生成するための目標物体またはオカレンスを表すか否かを判断する。いくつかの実施形態において、物体認識モジュール354は、(例えば、コンピュータビジョン技術を使用する)物体またはパターン認識プロセスを実行することによって、物体のID、人物のID、物体の種類(例えば、人物、動物、車、または荷物)、またはトリガ検出時に処理モジュール350に対して未知である物体の属性を検出する。イベント合成モジュール356は、イベントプロファイル設定380に従って、イベントクリップ740(
図8および
図9を参照して以下で詳細に説明する)を合成する。いくつかの実施形態において、イベントプロファイル設定380は、サーバ164から受信された定式442に基づく。いくつかの実施形態において、サーバは、装置222の装置設定データに基づいて定式442を選択し、装置設定データの少なくとも一部は、装置の電力種類に基づく。この目的のために、電力検出モジュール359は、装置222が外部電源712またはバッテリ714によって駆動されているかを判断する。いくつかの実施形態において、電力検出モジュール359は、外部電力バスおよびバッテリ電力バスに接続され、電力検出モジュール359は、使用されている電力バスに基づいて電力種類を決定する。いくつかの実施形態において、イベントプロファイル設定380に格納された定式は、二種類の電力に対する最適化を含む。したがって、イベント合成モジュール356は、電力検出モジュール359によって現在検出されている電力種類に従って、イベントクリップを合成する。
【0094】
いくつかの実施形態において、電力種類情報は、設定プロセス中にユーザによって設定される。いくつかの実施形態において、電力種類は、装置自身(例えば、電力検出モジュール359)によって検出され、装置222(例えば、イベント処理モジュール350)は、検出された電力種類に基づいて、イベントパラメータ380を調整する。いくつかの実施形態において、検出された電力種類は、サーバ164に送信され、装置制御モジュール418によって実行される定式設定プロセスに含まれる。いくつかの実施形態において
、サーバ164と通信する必要なく、(例えば、電力種類などの設定データの変化に基づいて)イベント記録パラメータ380を動的に更新する。これらの実施形態において、様々なイベントプロファイルは、例えば、電力種類の変化の検出時に自動的に調整されるように構成される。例えば、いくつかの実施形態において、装置222が抜かれたとき、当該装置は、バッテリ駆動モードに切り替える。これによって、イベント処理モジュールに、省電力のために様々なイベント記録パラメータを変更させる(例えば、無活動閾値およびイベント長設定をより短くする、優先度設定390に含まれる目標物体をより少なくする)。
【0095】
いくつかの実施形態において、イベント記録定式は、バッテリによって駆動されている装置222のバッテリ寿命を最適化するようにさらに更新される。例えば、バッテリレベルおよび/または推定バッテリ寿命値が減ると、バッテリ電力をさらに節約するように、無活動閾値および最大イベント長などのイベント記録パラメータを減らしてもよく、クールオフパラメータ(例えば、新しいイベントが処理されるまで待機する時間)を増やしてもよく、イベントに含まれる物体および目標オカレンスの数を減らしてもよい。
【0096】
いくつかの実施形態において、上述した要素のうちの1つ以上は、サーバシステム(例えば、サーバシステム164)に格納されてもよく、またはサーバシステムに実装されてもよい。例えば、イベント処理モジュール350(またはイベント処理モジュール350に関連するモジュール352、354、356および380のうちの1つ以上)は、サーバシステム164に格納されてもよい。このような実施形態において、電子装置222は、カメラ362および/または画像バッファ392から取得された画像データを含むビデオストリームをサーバシステム164に送信し、イベント処理モジュール350は、サーバシステム164においてトリガの検出、物体の認識、および/またはイベントの合成を実行する。前述したプロセスのうちの1つ以上の結果としてのイベントクリップ(例えば、イベントクリップ740)は、サーバシステム164から電子装置222に送信され、(例えば、電子装置222の出力装置312上で)表示される。
【0097】
図8は、いくつかの実施形態に従って、例示的なイベント810を示す。このイベントは、(例えば、
図7のイベント処理システム700によって)電子装置222上で処理される。この例のために、装置222は、居間に配置される。しかしながら、この例において、装置の正確な位置は、本明細書に記載された概念を限定することを意味していない。システム700は、装置の居間位置に従って定式802を使用する。居間定式802は、2秒のプレロールおよび2秒のポストロールを含むパディングパラメータ、30秒の無活動閾値、および5時間の最大イベント長を指定する。図中のタイミングマーク(A~E)は、経時的に順次に出現する。時間Aでは、(例えば、トリガ検出モジュール352によって)モーションが検出される。物体認識モジュール354は、モーションの識別属性を決定する。時間Bにおいて、このモーションは、システム700に対して既知の人物(ボブ)と認識された人物によって引き起こされたものとして特定される。したがって、システム700は、検出された物体の識別情報およびイベントに関する他の情報(例えば、「居間でボブを検知した」)でイベントを標記する。このイベントは、イベント時間(例えば、時間Aで初期トリガを検出してから経過した時間)が最大イベント長に達すまで継続する。時間Cではボブが居間から退室し、時間Dではモーションがないため、イベントが予備的に終了する。時間Dでイベントが予備的に終了すると、無活動カウントが始まる。この例では無活動閾値が30秒であるため、無活動カウントは、時間Dで始まり、30秒後の時間Eで終了する。(時間Dと時間Eとの間の)30秒の無活動ウィンドウにトリガが検出されない場合、イベント合成モジュール356は、イベントを終了し、パディングパラメータに従ってイベントのビデオクリップを合成する。ビデオクリップは、トリガを検出した時刻Aの2秒前の時刻A′で開始し、イベントの主体が部屋から退室した時刻Dの2秒後の時刻D′で終了する。2つの2秒ウィンドウ814および816(時間A′と
Aの間のウィンドウ、および時間DとD′の間のウィンドウ)は、プレロールおよびポストロールのパディング値を表し、イベントのユーザ追加コンテキスト(例えば、ボブが進入する直前の部屋の状態、およびボブが退室した直後の部屋の状態)を示すために有用である。イベント810のビデオクリップは、パディングウィンドウ814および816中に取得された画像フレームからの画像データと、モーションウィンドウ812中に取得された画像フレームからの画像データとを含む。
【0098】
図9は、いくつかの実施形態に従って、例示的な複合イベント910を示す。イベントは、居間に配置されている電子装置222で処理され、居間定式802に従う。
図8と同様に、時間Aでモーションが検出され、時間Bでシーン内の物体がボブであると認識され、時間Cでボブが部屋から退室し、これによって、時間Dで検出されたトリガに関連するオカレンスが終了する。また、
図8と同様に、30秒の無活動閾値カウンタが時間Dで始まる。しかしながら、時間Fで30秒の閾値が達する前に、時間Eで別のモーショントリガが検出される。このモーションは、時間Gで別の既知の人物チャーリに関連するものと決定される。チャーリが時間Hで退室し、これによって、時間Iで後続のモーションに関連するオカレンスが終了する。別の無活動ウィンドウは、時間Iで始まり、30秒後の時間Jで、ウィンドウ中に追加のトリガが検出されないため、終了する。(後続のイベントが最初のイベントの後の無活動ウィンドウ中に始まったため)(無活動閾値に達したことによって)無活動ウィンドウの終了は、両方のイベントのビデオクリップの作成をトリガする。複合イベント910のビデオクリップは、パディング値914および916に従って作成される。したがって、クリップは、(時間Aでモーションが始まる2秒前の)時間A′で始まり、(時間Iでモーションが終了した2秒後の)時間I′で終了する。重要なことに、複合イベント910のビデオクリップは、単一のプレロールウィンドウ914および単一のポストロールウィンドウ916のみを含み、モーションウィンドウ912は、検出された両方のイベントのオカレンス(例えば、ボブおよびチャーリの両方の検出)を含む。したがって、システム700は、両方のオカレンスを記述する単一のラベル(例えば、「居間でボブおよびチャーリを検知した」)を用いて、複合イベントを標記する。この単一のラベルは、より簡単なユーザインターフェイスの表示を通してより合理的なユーザ体験を提供すると共に、複数のオカレンスからの情報を伝達する。換言すれば、近い時間に発生した複数のイベントを別々のイベント/要素としてディスプレイ上でユーザに伝達するのではなく、全てのオカレンスまたはその一部を要約する複合イベントは、要約しない場合にオカレンスの数に起因して無視される可能性がある大量の情報を表示するためのよりクリーンなアプローチを提供する。
【0099】
図10は、イベント(例えば、イベント810および910)を表示するための例示的なユーザインターフェイスを示す。いくつかの実施形態において、ユーザインターフェイスは、クライアント装置204のユーザインターフェイスモジュール626によって実装される。
【0100】
ユーザインターフェイス1002は、イベントリスト1004を含む。一部のイベント、例えば(イベント910に対応する)イベント1006は、ビデオベースのものであり、他のイベントは、ビデオベースのものではない。例えば、居住者が(例えば、「何時ですか」)という質問をすることによってまたは(例えば、ジャズ音楽を再生してください)というコマンドを発行することによって支援装置190と対話する時に、(例えば、映画を再生することによって)TV108と対話する時に、(例えば、加熱器をオンにすることによって)サーモスタット122と対話する時に、または任意の方法で任意の装置と相互作用する時に、イベントを生成してもよい。イベントが画像またはビデオデータ1006を含む場合、イベントのリスト1004は、必要に応じて、イベントに関連するスクリーンショットを含むサムネイル1008(例えば、ボブとチャーリとの両方を含む画像)を含んでもよい。
【0101】
ユーザが(例えば、入力614を介して)イベント1006を選択すると、ユーザインターフェイス1022が表示される。いくつかの実施形態において、ユーザインターフェイス1022の一部または全部は、ユーザインターフェイス1002に含まれる。いくつかの実施形態において、ユーザインターフェイス1022は、(図示のように)別個に表示される本明細書に記載された概念の範囲から逸脱することなく、他の組み合わせで両方のユーザインターフェイス内の要素を混合および整合してもよい。ユーザインターフェイス1022は、イベントに関連するビデオデータ1024を表示する。いくつかの実施形態において、ビデオデータ1024は、ビデオ制御(例えば、再生、一時停止)を選択することによって再生することができる。インターフェイスは、イベントの記述1026、例えば、要約データ(例えば、「ボブおよびチャーリが検知された」)、時間および位置データ(例えば、3:32PM-居間)、および/またはイベントを記述する他の情報を含む。また、インターフェイスは、イベントタイミングを示すイベントの長さの視覚表現1030を表示する。いくつかの実施形態において、視覚表現1030は、実質的に長方形(ピルと称されることもある)であり、その長さは、イベントの長さに基づく。いくつかの実施形態において、視覚表現1030は、ビデオクリップ1024が再生するにつれてその長軸に沿って移動する(例えば、スクロールする)。このことは、イベントの全体に対して現在再生されているクリップ1024の位置を示す。図面において、これは、クリップ1030が既に2秒前進したタイムラインとして示されている。本明細書に記載された概念の範囲から逸脱することなく、イベントの他の視覚表現を実装してもよい。いくつかの実施形態において、インターフェイスは、検出されたイベントに関連する属性1032(例えば、物体認識プロセスの結果)を含む。図面において、これらの属性は、シーンから検出された既知の人物のID(ボブ、チャーリ)、シーンから検出された物体の種類(人物)、およびシーンから検出されたオカレンスの種類(会話)を含む。
【0102】
図11は、電子装置222の装置設定データ438(例えば、
図4の位置、用途、および電力データ449)を取得するための例示的なユーザインターフェイスを示す。いくつかの実施形態において、ユーザインターフェイスは、クライアント装置204のユーザインターフェイスモジュール626によって実装される。いくつかの実施形態において、居住者は、環境の装置を構成する時に、設置プロセスの一部として、アプリケーション(例えば、
図6のアプリケーション624)を使用する。
【0103】
ユーザインターフェイス1110は、アプリケーションに設定するための特定の装置(例えば、電子装置222)を追加するように居住者に促す。いくつかの実施形態において、居住者は、特定の装置を特定するために、コード(例えば、QRコード(登録商標))をスキャンするまたは手動でアプリケーションによって使用される情報を入力する。
【0104】
ユーザインターフェイス1120は、装置の用途(例えば、家庭または企業の監視、ベビーモニタとしての役割を示す装置プロファイル)を選択するように居住者に促す。いくつかの実施形態において、選択されたプロファイルは、装置の用途情報449b(
図4)としてサーバシステム164に格納される。
【0105】
ユーザインターフェイス1130は、装置の位置(例えば、設置場所、または装置がポータブル装置、例えばバッテリ駆動の防犯カメラである場合に、動作中に当該装置を設置しようとする場所)を選択するように居住者に促す。いくつかの実施形態において、位置は、位置の種類(例えば、室内、室外)、特定の部屋(例えば、居間、育児室)、および/または領域もしくはゾーン(例えば、入口、廊下)を含む。いくつかの実施形態において、選択された位置データは、装置の位置情報449a(
図4)としてサーバシステム164に格納される。
【0106】
ユーザインターフェイス1140は、装置の通知(例えば、検出された物体および/またはオカレンスのうち、居住者がクライアント装置204で電子通知を受信したい物体および/またはオカレンス)を選択するように居住者に促す。いくつかの実施形態において、通知は、識別された人物(例えば、既知の人物、未知の人物)、物体の種類(例えば、動物、車両、荷物、人物)、音声オカレンス(例えば、犬吠え、ガラス割れ、乳児泣き、騒音)、または任意の他の種類の物体またはオカレンス(例えば、
図5の例示的な定式442に含まれるもの)に対応する。いくつかの実施形態において、選択された通知データは、装置の用途情報449b(
図4)としてサーバシステム164に格納される。
【0107】
図12は、いくつかの実施形態に従って、イベント処理プロセス1200を示す流れ図である。このプロセスは、1つ以上のプロセッサ(例えば、CPU302)と、1つ以上のプロセッサによって実行される1つ以上のプログラムを記憶するメモリ(例えば、メモリ306)とを含む電子装置(例えば、電子装置222)、1つ以上のプロセッサ(例えば、CPU402)と、1つ以上のプロセッサによって実行される1つ以上のプログラムを記憶するメモリ(例えば、メモリ406)とを含むサーバシステム(例えば、サーバシステム164)、および/または1つ以上のプロセッサ(例えば、CPU)602と、1つ以上のプロセッサによって実行される1つ以上のプログラムを記憶するメモリ(例えば、メモリ606)とを含むクライアント装置(例えば、クライアント装置204)上で実行されてもよい。いくつかの実施形態において、電子装置、サーバシステム、およびクライアント装置は、1つ以上のプログラムと、1つ以上のプロセッサによってそれぞれ実行される1つ以上のプログラムを記憶するメモリとを含み、1つ以上のプログラムは、プロセス1200を実行するための命令を含む。いくつかの実施形態において、各非一時的なコンピュータ可読記憶媒体は、対応する1つ以上のプログラムを記憶し、1つ以上のプログラムは、命令を含み、これらの命令は、1つ以上のプロセッサを含む電子装置、1つ以上のプロセッサを含むサーバシステム、および1つ以上のプロセッサを含むクライアント装置によって実行されると、電子装置、サーバシステム、およびクライアント装置にプロセス1200を実行させる。
【0108】
クライアント装置204が特定の電子装置222の設定データ(例えば、位置データ449a、用途データ449b、および/または電力データ449cのうちの1つ以上)を受信すると、プロセス1200が開始する(1202)。いくつかの実施形態において、設定データは、
図11を参照して上述した1つ以上のインターフェイスを用いて受信される。イベントの位置に基づいて、ユーザが異なる種類のイベント関連データを確認することに興味を有し得ることを認識すると、位置データは、(例えば、ユーザインターフェイス1130に対する)装置の設置位置、または装置を用いて監視しようとする位置を指定する。さらに、イベントの種類に基づいて、ユーザが異なる種類のイベント関連データを確認することに興味を有し得ることを認識すると、用途データは、例えば、(例えば、ユーザインターフェイス1120に示す)装置プロファイルまたは(例えば、ユーザインターフェイス1140に示す)通知選択に基づいて、装置の所定の用途を指定する。例えば、ユーザは、室外セキュリティカメラによって取得されたイベントがカメラの視野内の人物または荷物に関連するオカレンスを含む場合、室外セキュリティカメラからイベントを受信したいことがある。一方、ユーザは、室外セキュリティカメラによって取得されたイベントが騒音または車両に関連するオカレンスを含む場合、室外セキュリティカメラからイベントを受信したくないことがある。同様に、育児室に設置され、ベビーモニタとして使用されている電子装置222の場合、ユーザは、乳児の泣きに関連するイベントを受信したいが、車両および荷物などに関連するオカレンスを受信したくない可能性が高い。
【0109】
クライアント装置204は、設定データをサーバ164に送信する。サーバ164は、(例えば、装置制御モジュール418を用いて)設定データ438に基づいて、1つ以上のイベント定式442を決定し、特定の電子装置222に送信する(1204)。装置制
御モジュール418は、設定データに基づいて、イベント定式を決定する。換言すれば、サーバは、装置の位置および意図した用途に基づいて、装置のイベントパラメータ、例えば、パディング、無活動閾値および最大イベント長を決定する。いくつかの実施形態において、定式は、動的なものであり、換言すれば、パラメータは、イベントの種類、検出された物体の種類、イベントの長さ、および/またはイベントを定義または記述する任意の他の属性に基づいて動的に変化する。いくつかの実施形態において、動的定式は、パラメータ443を、前述したイベント関連属性に基づいて動的に変化するように構成された初期値に設定する。いくつかの実施形態において、サーバは、1つ以上のイベント定式442をイベント記録プロファイルとして電子装置222に送信する。いくつかの実施形態において、サーバは、定式442を電子装置222に個別に送信する。
【0110】
電子装置222は、サーバ164からイベント定式を取り込む、受信する、または取得する(1206)。いくつかの実施形態において、装置は、サーバから、プロファイル記録パラメータ380を含むイベント記録プロファイルを取得する。いくつかの実施形態において、パラメータ380は、イベント公式および/または公式を含むイベント記録プロファイルに従って設定される。イベント記録パラメータ380は、装置222の特定のイベントの記録動作(例えば、特定のイベントの記録)に使用され、パディングパラメータ382(例えば、
図9の914および916によって示すように、目標物体を検出する前後の記録時間)と、無活動閾値384(例えば、
図9の時間DおよびIによって示すように、後続の活動を含むイベントを継続する代わりに、イベントを終了する前の待機時間)と、最大イベント長パラメータ386(例えば、装置が記録を停止するまでにイベントの継続時間)と、クールオフパラメータ388(例えば、それを超えるとイベントの記録が停止する物体検出の速度)と、および/または物体フィルタおよび優先度設定390(例えば、
図5の例示的な定式によって示すように、イベントを記録する基準となる物体の決定)とを含む。いくつかの実施形態において、サーバは、電子装置222の設定データ438、例えば、(i)装置の位置(例えば、室内、室外、部屋)、(ii)装置の意図した用途(例えば、装置の視野内にあるもの、およびユーザが見たいもの)、および/または(iii)装置の電力種類(例えば、有線またはバッテリ駆動)に基づいて、これらの調整可能なパラメータを設定する。
【0111】
電子装置222は、ビデオストリーム(例えば、カメラ362によって撮影されたシーンの複数の画像)を取り込む、受信する、または取得する(1208)。いくつかの実施形態において、電子装置222は、ビデオストリームの少なくとも一部を装置222上で(例えば、バッファ392に)ローカルに格納する。装置222は、取得されたビデオストリームに基づいて(例えば、トリガ検出モジュール352を参照して上記で説明したように、モーションまたは別のトリガを検出することによって得られたシーンの1つ以上の複数の画像に基づいて)トリガイベントを検出する(1210)。トリガイベントの検出に応答して、装置222は、(例えば、物体認識モジュール354を参照して上記で説明したように、1つ以上の物体認識プロセスを実行することによって)シーンの1つ以上の複数の画像から、目標物体またはオカレンスを特定する(1212)。装置222は、(例えば、イベント合成モジュール356を参照して上記で説明したように)イベント記録および処理設定380に従って、目標物体を含む画像からイベントクリップを作成する(1214)。装置222は、表示のためにイベントクリップを提供する。いくつかの実施形態において、表示のためにイベントクリップを提供することは、格納のためにイベントクリップをサーバ164またはハブ180に送信すること(1216)、およびクライアント装置204で後で閲覧すること(1218)を含む。いくつかの実施形態において、特に装置222がディスプレイスクリーンを含む場合、表示のためにイベントクリップを提供することは、イベントクリップをローカルに格納することと、(例えば、ユーザが表示のためにイベントクリップを開くまたは選択することに応答して)装置222でイベントクリップを表示することとを含む。
【0112】
いくつかの実施形態において、ユーザの視点からのイベント検出および処理の質をさらに最適化するために、イベント記録定式は、装置222またはサーバ164のいずれかにおいて実装された機械学習アルゴリズムに提供される。例えば、いくつかの実施形態において、居住者は、クライアント装置204を用いて、1つ以上のイベント(例えば、
図10のイベント1006)に関するフィードバックを入力する。例示的なフィードバックは、(例えば、居住者によって関係のないまたは興味のないものとして分類されたイベントおよび/またはその基礎をなす物体またはイベントに対する)拒否フィードバック、および/または特定の定式内の1つ以上のイベント記録パラメータを調整する(例えば、特定の種類の物体を検出するためのパディング値を調整する、特定の種類のオカレンスを検出するための最大イベント長値を調整する)ためのカスタマイズフィードバックを含む。いくつかの実施形態において、機械学習モジュールは、居住者のフィードバックに基づいて、特定の種類のイベントおよび装置構成のイベントプロファイル設定380を調整する。
【0113】
本明細書に記載された様々な実施形態の説明に使用された用語は、特定の実施形態のみを説明するためのものであり、限定を意図するもんではない。記載された様々な実施形態の説明および添付の特許請求の範囲に使用された「a」、「an」、および「the」という
単数形は、文脈上他の意味を明記しない限り、複数形のものを含む。本明細書に使用された「および/または」という用語は、列挙された1つ以上の関連項目の任意の組み合わせおよび可能な組み合わせを指すまたはそれを包含すると理解すべきである。用語「含む」(include)、「含んでいる」(including)、「備える」(comprise)および/または「備えている」(comprising)」は、本明細書に使用された場合、記載された特徴、整数型変数、ステップ、動作、要素、および/またはコンポーネントの存在を指定するが、1つ以上の他の特徴、整数型変数、ステップ、動作、要素、コンポーネント、および/またはそれらの組み合わせの存在または追加を排除しないと理解すべきである。さらに、本明細書において「第1の」、「第2の」などの用語を用いて様々な要素を説明するが、これらの要素は、これらの用語によって限定されない。これらの用語を用いて、1つの要素を別の要素と区別するのみである。
【0114】
本明細書に使用された「ならば」という用語は、文脈に応じて、「したとき」または「すると」または「判定することに応答して」または「検出することに応答して」または「という判定に従って」を意味すると解釈される。同様に、「判定されれば」または「[所定の条件またはイベントが]検出されれば」という句は、文脈に応じて、「判定すると」または「判定に応答して」または「[述べた条件またはイベントを]検出すると」または「[述べた条件またはイベントを]検出するのに応答して」または「[所定の条件またはイベントが]検出されるという判定に従って」を意味すると解釈される。
【0115】
説明の目的のために、具体的な実施形態を参照して以上の説明を記載した。しかしながら、例示的な上記の説明は、網羅的であることまたは特許請求の範囲を記載された形態に厳格に限定することを意図していない。上記教示に鑑みて、多くの修正例および変更例が可能である。これらの実施形態は、動作の原理および実用的な用途を最もよく説明するために選択され説明されたものである。これによって、他の当業者は、これらの実施形態を実施することができる。
【0116】
様々な図面は、特定の順序で複数のロジックステージを示すが、順序に依存しないステージを並べ替えてもよく、他のステージを組み合わせてもよく、または切離してもよい。一部の並べ替えまたはグループ分けを具体的に言及したが、他の並べ替えまたはグループ分けは、当業者には自明であり、そのため、本明細書に記載された順序付けおよびグループ分けは、代替の網羅的な列挙ではない。さらに、ハードウェア、ファームウェア、ソフトウェア、またはその任意の組み合わせでステージを実現可能であることを認識すべきで
ある。
【0117】
説明の目的のために、具体的な実装例を参照して以上の説明を記載した。しかしながら、例示的な上記の説明は、網羅的であることまたは特許請求の範囲を記載された形態に厳格に限定することを意図していない。上記教示に鑑みて、多くの修正例および変更例が可能である。実装例は、特許請求の範囲の基礎をなす原則およびそれらの実践的な適用例を最良に説明するために選択される。これによって、他の当業者は、意図した特定の用途に適するような様々な修正例と共に実装例を最良に使用することができる。
【手続補正書】
【提出日】2023-12-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
イベント記録プロファイルを受信することを含み、前記イベント記録プロファイルは、電子装置のプロファイル記録パラメータを含み、前記イベント記録プロファイルの前記プロファイル記録パラメータは、前記電子装置の設定データに基づいており、前記設定データは、前記電子装置の位置種類または電力種類を含み、前記方法は、
前記電子装置の1つ以上の画像センサによって取得されたシーンの複数の画像を受信することと、
前記シーンの前記複数の画像のうちの少なくとも1つの画像に基づいて、トリガイベントを検出することと、
前記トリガイベントの検出に応答して、前記シーンの前記複数の画像のうちの1つ以上の画像から目標物体を特定することと、
前記1つ以上の画像からイベントクリップを作成することとを含み、前記イベントクリップは、前記目標物体を含み、前記イベントクリップを作成することは、
前記イベント記録プロファイルの前記プロファイル記録パラメータに基づいてクリップ長を設定することを含み、前記クリップ長を設定することは、前記目標物体を検出できない取得画像の数に対応する無活動閾値を選択することを含み、前記取得画像の数は、前記トリガイベントを終了する前に待機する時間に対応し、
前記イベントクリップを作成することは、前記取得画像の数を、前記目標物体を含む前記複数の画像のうちの前記1つ以上の画像と組み合わせることを含み、前記方法は、
表示のために前記イベントクリップを提供することを含む、方法。
【請求項2】
前記クリップ長を設定することは、パディング値または最大イベント長のうち少なくとも1つを設定することを含む、請求項1に記載の方法。
【請求項3】
前記クリップ長を設定することは、前記パディング値を選択することを含み、前記パディング値は、前記目標物体を含む前記複数の画像のうちの前記1つ以上の画像より前の取得画像の数に対応し、
前記取得画像の数を、前記目標物体を含む前記複数の画像のうちの前記1つ以上の画像と組み合わせることは、前記目標物体を含む前記複数の画像のうちの前記1つ以上の画像より前の取得画像の数を組み合わせることをさらに含む、請求項2に記載の方法。
【請求項4】
前記クリップ長を設定することは、前記最大イベント長を選択することを含み、
前記最大イベント長は、前記イベントクリップの最大画像数に対応し、
前記イベントクリップを作成することは、前記最大画像数に達した時点で前記イベントクリップを終了することを含む、請求項2に記載の方法。
【請求項5】
前記設定データは、環境の特定の領域に対応する位置種類を含み、
前記イベント記録プロファイルの前記プロファイル記録パラメータに基づいて前記クリップ長を設定することは、前記電子装置が配置される前記環境の前記特定の領域に基づいて、前記パディング値、前記無活動閾値、または前記最大イベント長のうち少なくとも1つを選択することを含む、請求項2に記載の方法。
【請求項6】
前記設定データは、電力種類であり、
前記イベント記録プロファイルの前記プロファイル記録パラメータに基づいて前記クリップ長を設定することは、前記電子装置の前記電力種類が有線であるかまたはバッテリ駆動であるかに基づいて、前記パディング値、前記無活動閾値、または前記最大イベント長のうち少なくとも1つを選択することを含む、請求項2に記載の方法。
【請求項7】
前記設定データは、物体優先度データをさらに含み、
前記イベント記録プロファイルの前記プロファイル記録パラメータに基づいて前記クリップ長を設定することは、前記物体優先度データに従って前記目標物体の優先度に基づいて、前記パディング値、前記無活動閾値、または前記最大イベント長のうち少なくとも1つを選択することを含む、請求項2に記載の方法。
【請求項8】
前記クリップ長を設定することは、閾値時間内に2つ以上の物体検出を行った後、連続する物体検出の間に待機する時間に対応するクールオフ値を設定することをさらに含む、請求項1に記載の方法。
【請求項9】
前記クリップ長を設定することは、前記イベント記録プロファイルの前記プロファイル記録パラメータに関連する値の組み合わせに従って、パディング値、前記無活動閾値、または最大イベント長のうち少なくとも1つを設定することを含む、請求項1に記載の方法。
【請求項10】
前記トリガイベントを検出することは、前記シーンの前記複数の画像のうちの2つ以上の画像の分析に基づいて、前記シーン内のモーションを検出することを含む、請求項1に記載の方法。
【請求項11】
前記トリガイベントを検出することは、前記シーンの前記複数の画像のうちの1つ以上の画像の分析に基づいて、前記シーン内の前記目標物体を検出することを含む、請求項1に記載の方法。
【請求項12】
前記イベントクリップを以前に作成されたイベントクリップと合成することによって、複合イベントクリップを形成することをさらに含み、
表示のために前記イベントクリップを提供することは、表示のために前記複合イベントクリップを提供することを含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項1から12のいずれか一項に記載の前記方法を実行させる命令を記憶するメモリとを備える、電子装置。
【請求項14】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項1から12のいずれか一項に記載の前記方法を実行させる命令を記憶するメモリとを備える、サーバシステム。
【請求項15】
1つ以上のプロセッサを備える電子装置によって実行されると、前記1つ以上のプロセッサに請求項1から12のいずれか一項に記載の前記方法を実行させる命令を含む、コンピュータプログラム。
【外国語明細書】