(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-19
(54)【発明の名称】電波を利用したアイテムレベルの3次元ローカライゼーションおよびイメージング
(51)【国際特許分類】
G06T 7/20 20170101AFI20220112BHJP
G01S 13/50 20060101ALI20220112BHJP
G08B 13/181 20060101ALI20220112BHJP
【FI】
G06T7/20 300Z
G01S13/50
G08B13/181
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021546190
(86)(22)【出願日】2019-10-10
(85)【翻訳文提出日】2021-06-18
(86)【国際出願番号】 US2019055628
(87)【国際公開番号】W WO2020081358
(87)【国際公開日】2020-04-23
(32)【優先日】2018-10-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-07-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521167822
【氏名又は名称】パンチ インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ヴィヴェク ジャヤン
(72)【発明者】
【氏名】アンドリュー マックエルロイ
(72)【発明者】
【氏名】クマル ウジワル
【テーマコード(参考)】
5C084
5J070
5L096
【Fターム(参考)】
5C084AA02
5C084AA03
5C084AA09
5C084AA13
5C084CC26
5C084CC33
5C084DD07
5C084EE07
5C084GG52
5C084GG54
5C084GG78
5J070AC20
5J070AD05
5J070AE09
5J070AF01
5J070AK13
5L096AA06
5L096BA02
5L096CA04
5L096DA02
5L096FA69
5L096HA05
5L096HA11
5L096JA11
(57)【要約】
環境内の製品に対するユーザーの活動を追跡するシステムおよび方法が開示されている。一実施形態では、プロセッサは、ユーザーが環境に入ったことを検出し、ユーザーを応答的にかつ一意的に識別する。プロセッサは、ユーザーが環境内の複数の製品のうちの一つの製品と相互作用したことを判定し、応答的に、製品の指標でユーザーのプロファイルを更新する。プロセッサは、ユーザーが環境から出ようとしているかを判定し、ユーザーが環境から出ようとしていると判定したことに応答して、更新されたプロファイルに基づいて、ユーザーが環境から製品を持ち出すつもりであることを確認するようにユーザーに促す。プロセッサは、ユーザーが環境から製品を持ち出そうとすることを確認する入力をユーザーから受信し、応答的に、入力に基づいてプロファイルをさらに更新する。
【特許請求の範囲】
【請求項1】
ユーザーが環境に入ったことを検出することと、
前記ユーザーが前記環境に入ったことを検出することに応答して、前記ユーザーを一意的に識別することと、
前記ユーザーが、前記環境内の複数の製品のうちの製品と相互作用したかを判定することと、
前記ユーザーが前記製品と相互作用したと判定することに応答して、前記製品の指標で前記ユーザーのプロファイルを更新することと、
前記ユーザーが前記環境から出ようとしているかを判定することと、
前記ユーザーが前記環境から出ようとしていると判定することに応答して、前記更新されたプロファイルに基づいて、前記ユーザーが前記環境から前記製品を持ち出そうとしたことを確認するよう前記ユーザーに促すことと、
前記ユーザーが前記環境から前記製品を持ち出そうとしていることを確認する入力を前記ユーザーから受信することと、
前記入力に基づいて前記プロファイルをさらに更新することと、
を備える方法。
【請求項2】
前記ユーザーを一意的に識別することは、
前記ユーザーの特徴に対応する信号パターンを検出することと、
前記信号パターンに基づいて署名を生成することと、
前記固有の署名が、署名をユーザーのプロファイルに対応付けるデータベースのエントリー内の格納された署名に一致するかを判定することによって、前記ユーザーが既知であるかを判定することと、
前記ユーザーが既知であると判定することに応答して、前記プロファイルから検索された識別子を前記ユーザーに帰属させることと、
を備える、請求項1に記載の方法。
【請求項3】
前記更新されたプロファイルに基づいて、前記ユーザーが前記環境から前記製品を持ち出そうとしていることを確認するよう、前記ユーザーに促すことは、
前記プロファイルから前記ユーザーのモバイルデバイスのアドレスを判定することと、
前記アドレスを用いて、前記モバイルデバイスに通知をプッシュすることであって、前記通知は、前記ユーザーが前記製品を前記環境から持ち出そうとしていることを確認するための選択可能なオプションを含む、ことと、
を備える、請求項2に記載の方法。
【請求項4】
前記ユーザーが未知と判定することに応答して、
前記固有の署名を前記データベースの前記エントリーに追加することと、
前記データベースの前記エントリーに識別子を関連付けることと、
前記識別子を用いて前記ユーザーを一意的に識別する工程と、
をさらに備える、請求項2に記載の方法。
【請求項5】
前記製品の前記指標で、前記プロファイルを更新することは、
前記環境内の信号が遭遇した物体の特性を示す前記信号のパターンを前記製品ごとに識別することと、
製品を既知のパターンにマッピングするデータベースの1つ以上のエントリー内の既知のパターンに、前記パターンが対応しているかを判定することであって、前記データベースの前記エントリーは、吸収特性、反射特性、および屈折特性のうちの少なくとも一つを示す、ことと、
前記パターンが前記データベースのエントリーに一致すると判定することに応答して、前記エントリーに基づいて前記製品の前記指標を識別することと、
を備える、請求項1に記載の方法。
【請求項6】
前記パターンが前記データベースの2つ以上の前記エントリーと一致することを判定することと、
前記パターンが前記データベースの2つ以上の前記エントリーに一致すると判定することに応答して、センサーに前記製品の重量を問い合わせることと、
前記データベースの2つ以上の前記エントリーのうちの1つが、前記製品の前記重量と一致する重量を示しているかを判定することと、
前記データベースの2つ以上の前記エントリーのうちの1つが、前記製品の重量に一致する重量を示していると判定することに応答して、前記2つ以上の前記エントリーのうちの前記1つに基づいて、前記製品の前記指標を識別することと、
をさらに備える、請求項5に記載の方法。
【請求項7】
前記パターンは吸収パターンであり、前記環境内の前記信号の前記吸収パターンを前記製品ごとに識別することは、
高い信号吸収率を有する前記製品の位置に基づいて、前記製品に埋め込まれた放射線不透過性マーカーを検出することを備え、
製品を既知の吸収パターンにマッピングするデータベースのエントリー内の既知のパターンに、前記吸収パターンが対応しているかを判定することは、
前記データベースのエントリーが、検出された前記放射線不透過性マーカーに前記製品をマッピングしているかを判定することを備える、
請求項5に記載の方法。
【請求項8】
プロセッサによって実行可能な格納された命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令は、
ユーザーが環境に入ったことを検出する命令と、
前記ユーザーが前記環境に入ったことを検出することに応答して、前記ユーザーを一意的に識別する命令と、
前記ユーザーが前記環境内の複数の製品のうちの製品と相互作用したかを判定する命令と、
前記ユーザーが前記製品と相互作用したことを判定することに応答して、前記製品の指標で前記ユーザーのプロファイルを更新する命令と、
前記ユーザーが前記環境から出ようとしているかを判定する命令と、
前記ユーザーが前記環境から出ようとしていると判定することに応答して、前記更新されたプロファイルに基づいて、前記ユーザーが前記環境から前記製品を持ち出そうとしていることを確認するよう前記ユーザーに促す命令と、
前記ユーザーが前記環境から前記製品を持ち出そうとしていることを確認する入力を前記ユーザーから受信する命令と、
前記入力に基づいて、前記プロファイルをさらに更新する命令と、
を備える、非一時的コンピュータ可読記憶媒体。
【請求項9】
前記ユーザーを一意的に識別する前記命令は、
前記ユーザーの特徴に対応する信号パターンを検出する命令と、
前記信号パターンに基づいて署名を生成する命令と、
前記固有の署名が、署名をユーザーのプロファイルに対応付けるデータベースのエントリー内の格納された署名に一致するかを判定することによって、前記ユーザーが既知であるかを判定する命令と、
前記ユーザーが既知であると判定することに応答して、前記プロファイルから検索された識別子を前記ユーザーに帰属させる命令と、
を備える、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項10】
前記更新されたプロファイルに基づいて、前記ユーザーが前記環境から前記製品を持ち出そうとしていることを確認するよう、前記ユーザーに促す前記命令は、
前記プロファイルから前記ユーザーのモバイルデバイスのアドレスを判定する命令と、
前記アドレスを用いて、前記モバイルデバイスに通知をプッシュする命令であって、前記通知は、前記ユーザーが前記製品を前記環境から持ち出そうとしていることを確認するための選択可能なオプションを含む、命令と、
を備える、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項11】
前記命令が、
前記ユーザーが未知と判定することに応答して、
前記固有の署名を前記データベースの前記エントリーに追加する命令と、
前記データベースの前記エントリーに識別子を関連付ける命令と、
前記識別子を用いて前記ユーザーを一意的に識別する命令と、
をさらに備える、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記製品の前記指標で、前記プロファイルを更新する前記命令は、
前記環境内の信号が遭遇した物体の特性を示す前記信号のパターンを前記製品ごとに識別する命令と、
前記パターンが、製品を既知の吸収パターンにマッピングするデータベースの1つ以上のエントリー内の既知のパターンに対応しているかを判定する命令と、
前記パターンが前記データベースのエントリーに一致すると判定することに応答して、前記エントリーに基づいて前記製品の前記指標を識別する命令と、
を備える、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項13】
前記命令は、
前記パターンが前記データベースの2つ以上の前記エントリーと一致することを判定する命令と、
前記パターンが前記データベースの2つ以上の前記エントリーに一致すると判定することに応答して、センサーに前記製品の重量を問い合わせる命令と、
前記データベースの2つ以上の前記エントリーのうちの1つが、前記製品の前記重量と一致する重量を示しているかを判定する命令と、
前記データベースの2つ以上の前記エントリーのうちの1つが、前記製品の重量に一致する重量を示していると判定することに応答して、2つ以上の前記エントリーのうちの1つに基づいて、前記製品の前記指標を識別する命令と、
をさらに備える、請求項12に記載の非一時的コンピュータ可読記憶媒体。
【請求項14】
前記パターンは吸収パターンであり、前記環境内の前記信号の前記吸収パターンを前記製品ごとに識別する前記命令は、
高い信号吸収率を有する前記製品の位置に基づいて、前記製品に埋め込まれた放射線不透過性マーカーを検出する命令を備え、
製品を既知の吸収パターンにマッピングするデータベースのエントリー内の既知のパターンに、前記吸収パターンが対応しているかを判定する前記命令は、
前記データベースのエントリーが、検出された前記放射線不透過性マーカーに前記製品をマッピングしているかを判定する命令を備える、請求項12に記載の非一時的コンピュータ可読記憶媒体。
【請求項15】
システムであって、
センサーを用いて、ユーザーが環境に入ったことを検出し、
前記ユーザーが前記環境に入ったことを検出することに応答して、署名生成モジュールを用いて前記ユーザーを一意的に識別し、
インベントリモジュールを用いて、前記ユーザーが前記環境内の複数の製品のうちの製品と相互作用したかを判定し、
前記ユーザーが前記製品と相互作用したと判定することに応答して、ユーザープロファイルモジュールを用いて、前記製品の指標で前記ユーザーのプロファイルを更新し、
位置追跡情報モジュールを用いて、前記ユーザーが前記環境から出ようとしているかを判定し、
前記ユーザーが前記環境から出ようとしていると判定することに応答して、前記更新されたプロファイルに基づいて、前記ユーザーが前記環境から前記製品を持ち出そうとしたことを確認するよう前記ユーザーに促し、
前記ユーザーが前記環境から前記製品を持ち出そうとしていることを確認する入力を、前記ユーザーから受信し、
前記入力に基づいて、前記ユーザープロファイルモジュールを用いて、前記プロファイルをさらに更新する、
ように構成されたプロセッサを備えた、システム。
【請求項16】
前記プロセッサは、前記ユーザーを一意的に識別するようにさせるとき、
前記ユーザーの特徴に対応する信号パターンを検出し、
前記信号パターンに基づいて署名を生成し、
前記固有の署名が、前記署名と前記ユーザーの前記プロファイルに対応したデータベースのエントリーに格納された署名とが一致するかを判定することによって、前記ユーザーが既知であるかを判定し、
前記ユーザーが既知であると判定することに応答して、前記プロファイルから検索された識別子を前記ユーザーに帰属させる、
ように更に構成される、請求項15に記載のシステム。
【請求項17】
前記プロセッサは、前記更新されたプロファイルに基づいて、前記ユーザーが前記環境から前記製品を持ち出そうとしていることを確認するよう、前記ユーザーに促すようにさせようとするとき、
前記プロファイルから前記ユーザーのモバイルデバイスのアドレスを判定し、
前記アドレスを用いて、前記モバイルデバイスに通知をプッシュし、前記通知は、前記ユーザーが前記製品を前記環境から持ち出そうとしていることを確認するための選択可能なオプションを含む、
ように更に構成される、請求項16に記載のシステム。
【請求項18】
前記プロセッサは、
前記ユーザーが未知と判定することに応答して、
前記固有の署名を前記データベースの前記エントリーに追加し、
前記データベースの前記エントリーに識別子を関連付け、
前記識別子を用いて前記ユーザーを一意的に識別する、
ように更に構成される、請求項16に記載のシステム。
【請求項19】
前記プロセッサは、前記製品の前記指標で前記プロファイルを更新するようにさせようとするとき、
前記環境内の信号が遭遇した物体の特性を示す前記信号のパターンを前記製品ごとに識別し、
製品を既知のパターンにマッピングするデータベースの1つ以上のエントリー内の既知のパターンに、前記パターンが対応しているかを判定し、前記データベースの前記エントリーは、吸収特性、反射特性、および屈折特性のうちの少なくとも一つを示し、
前記パターンが前記データベースのエントリーに一致すると判定することに応答して、前記エントリーに基づいて前記製品の前記指標を識別する、
ように更に構成される、請求項15に記載のシステム。
【請求項20】
前記プロセッサは、
前記パターンが前記データベースの2つ以上の前記エントリーと一致することを判定し、
前記パターンが前記データベースの2つ以上の前記エントリーに一致すると判定することに応答して、センサーに前記製品の重量を問い合わせ、
前記データベースの2つ以上の前記エントリーのうちの1つが、前記製品の前記重量と一致する重量を示しているかを判定し、
前記データベースの2つ以上の前記エントリーのうちの1つが、前記製品の重量に一致する重量を示していると判定することに応答して、前記2つ以上の前記エントリーのうちの前記1つに基づいて、前記製品の前記指標を識別する、
ようにさらに構成される、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、3次元ローカライゼーション、およびイメージングの分野に関するものであり、具体的には、ユーザー、およびユーザーと相互作用する有形のアイテムを監視するプロセスに適用される。
【背景技術】
【0002】
関連する技術システムは、クイックレスポンス(QR)コード、コンピュータビジョン、およびカスタムハードウェア(エミッタとレシーバの両方の配置を含む)の複雑なシステムを通じて、ユーザーと有形のアイテム(例えば、小売店環境)を監視する。しかし、これらのシステムは、少なくともコンピュータビジョンセンサーの視線方向に限定されるため、高価で手間がかかるだけでなく、3次元環境の完全なイメージングを提供していない。
【0003】
本明細書では、3次元(3D)環境の完全なイメージングを提供するシステム、および方法について説明する。完全なイメージングは、視線を遮る壁や、他の不透明な物体を介してイメージングすることができるシステムの実装によって可能になる。具体的には、ここで開示されているシステムと方法は、例えば、WiFiアクセスポイントや携帯電話などから発せられる信号を受信する、信号受信機を配置することを含む。プロセッサは、受信機によって受信された信号を合成し、例えば店舗環境における、アイテムや人をイメージングする。アイテムや人がその環境内を移動すると、プロセッサは、それらの物品や人に起因する吸収、屈折、反射などの信号特性の変化に基づいて画像の変化を検出し、その結果、受信機とアイテムや人との間の視線に障害があっても、環境全体の変化を監視、および追跡することができる。
【0004】
例示的な実施形態では、プロセッサは、ユーザーが環境に入ったことを検出し、応答的かつ一意的に、そのユーザーを識別する(例えば、ユーザーによる信号吸収特性に基づいて、ユーザーの身長、衣服などを示す)。プロセッサは、ユーザーが環境内の複数の製品のうちの一つの製品と相互作用していることを判定し(例えば、ユーザーが移動する際の経時的なユーザーおよび製品の吸収パターンに基づいて、ユーザーが製品を棚から取ったことを判定することに基づいて)、応答的に、製品の指標(例えば、製品がユーザーのショッピングカートまたはバスケット内にあることを示す)で、ユーザーのプロファイルを更新する。プロセッサは、ユーザーが環境からでようとしているかを判定し、ユーザーが環境から退出しようとしていると判定したことに応答して、更新されたプロファイルに基づき、ユーザーが環境から製品を取るつもりであることを確認するようにユーザーに促す(例えば、キオスクで、またはモバイルデバイスアプリケーションを使用してユーザーに促す)。プロセッサは、ユーザーが環境から製品を取るつもりであることを確認する入力をユーザーから受信し、応答的に、入力に基づいてプロファイルをさらに更新する。
【図面の簡単な説明】
【0005】
開示された実施形態は、詳細な説明、添付の請求項、および添付の図(または図面)からより容易に明らかとなるだろう他の利点および特徴を有する。以下に、図の簡単な紹介を行う。
【0006】
【
図1】信号受信機から得られる3次元画像によって人やアイテムが追跡される環境の一実施形態を示している。
【
図2】信号受信機から得られたデータを処理するためのシステム構成の一実施形態を示している。
【
図3】人およびアイテムを追跡するための信号受信機から得られたデータを処理するために用いられるサーバーの一実施形態を示している。
【
図4】機械可読媒体からインストラクションを読み取り、プロセッサ(またはコントローラ)で実行することができる、機械の例の構成要素を示すブロック図である。
【
図5】人およびアイテムを追跡するための信号受信機から得られるデータを処理するための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【0007】
図および以下の説明は、例示のみを目的とした好ましい実施形態に関するものである。以下の議論から、本明細書に開示された構造および方法の代替的な実施形態が、請求されているものの原理から逸脱することなく採用され得る、実行可能な代替として容易に認識されることに留意すべきである。
【0008】
添付の図に例示されているいくつかの実施形態を詳細に参照する。可能な限り、類似または同様の参照番号が図中で使用され得、類似または同様の機能を示し得ることに留意されたい。図は、説明のみを目的として、開示されたシステム(または方法)の実施形態を描いている。当業者は、以下の説明から、本明細書に記載された原理から逸脱することなく、本明細書に例示された構造および方法の代替的な実施形態が採用され得ることを容易に認識するであろう。
【0009】
構成概要
3次元ローカライゼーションおよびイメージング技術を含む、開示されたシステム、方法、およびコンピュータ可読記憶媒体の一実施形態は、電波を用いて、例えば小売店環境で、ローカライゼーションおよびイメージングを実行する。
図1は、信号受信機から得られる3次元イメージングの方法により、人やアイテムが追跡される環境の一実施形態を示している。 環境100は、人および/またはアイテムが追跡或いは監視される任意の環境である。環境100は、本明細書では小売店環境として説明されることが多いが、この説明は例示に過ぎず、人や有形のアイテムを含む、あらゆる環境が環境100の範囲内である。
【0010】
送信機116は、環境100の全体に信号を送信する。送信機116は、環境100内の、または環境100の信号範囲内の任意の場所に配置された送信機を含んでもよい。送信機116は、環境100内のアイテムおよび/または人を追跡する目的で、環境100内に、または環境100の近くに設置されてもよい。あるいは、送信機116は、環境100内のアイテムおよび/または人を追跡する以外の目的で使用される送信機である、またはそれを含む。例えば、送信機116は、環境100内の人が携帯するデバイス(例えば、人112が携帯するスマートフォンデバイス)、環境100内に設置された恒久的または半恒久的なデバイス(例えば、環境100内の人にWiFiアクセスを提供することを目的とした無線インターネットルータまたはゲートウェイ)、および受信機アレイ114の受信機によって検出される信号を生成する他の送信機からの送信機を含んでもよい。
【0011】
受信機アレイ114は、送信機116からの信号を検出する受信機を含む。受信機アレイ114は、環境100の一つの場所にクラスタ化された複数の受信機として描かれているが、受信機は、環境100全体に散らばっていてもよく、環境100の外にあっても、環境100の近傍にあってもよい。受信機アレイ114の受信機は、検出された信号をプロセッサに中継し、プロセッサは、(以下でさらに詳細に説明するように)データを処理し、そこから画像データおよび位置データを合成する。任意で、参照受信機108は、環境100内の既知の位置に配置される。参照受信機108は、受信機アレイ114の受信機を較正して、画像および位置データを簡素化し、その精度を確保するために用いられる。一実施形態では、参照受信機108は、送信機116から既知の距離に参照受信機108を配置することによって較正される。別の実施形態では、参照受信機108は、送信機116からの参照受信機108の距離を概算するために使用されるRSSI(Received Signal Strength Indicator)計算法によって較正される。参照受信機108は、較正された後、送信機116のベースラインまたは補正信号として使用されてもよい。例えば、送信機116からの信号は、送信機116からの信号を較正および/または標準化するために、参照受信機108によって受信された参照信号によって分割されてもよい。参照受信機108は、環境100が経時的に変化する可能性があるため、精度を維持するために定期的に再較正されてもよい。受信機アレイ114の受信機、および参照受信機108は、所定のチャンネルもしくは周波数、またはそのサブパートの信号の検出を制限するように、またはプロセッサへのイメージング/ローカライゼーションを目的とした中継を制限するように構成されてもよい。プロセッサは、光と同様の方法で波形を処理するように構成されており、プロセッサは、受信機によって検出された信号帯がどこでどのように合体するかに基づいて、視覚的なマッピングを作成する。信号帯の合体は、信号がどのように吸収、反射、屈折されるか、あるいは製品や人の特性(後述の通り)により、どのように操作されるかに依存する。
【0012】
プロセッサは、任意の時間に送信機によって放出された信号の量を追跡し、その信号の量が送信機116および/または受信機アレイ114および/または参照受信機108に戻って再び検出された量を判定することにより、環境100における吸収の測定値を判定してもよい。これらの追跡されたパラメータに基づいて、プロセッサは、任意の放出された波形の吸収率を判定してもよい。プロセッサは、波形タイプの吸収率の媒体への既知のマッピングに基づいて、任意の波形が当たる媒体に関する特性を推測してもよい。例えば、プロセッサは、波形の吸収率がXである場合、その波形が当たる媒体が液体であるか、固体であるか、あるレベルの密度を有するか、ある色の属性を有するか、などの相関関係を示すエントリーを有するデータベースを参照することしてもよい。
【0013】
プロセッサはまた、参照受信機108に到達する前に送信機116によって送信された信号の予想経路に対する位相シフト、偏向、およびその他の影響を測定することにより、波形によって当たった媒体の屈折特性を判定してもよい。プロセッサは、その屈折特性に基づいて、所定の波形によって当たった媒体の幾何学的特性を判定してもよい。このような屈折特性はまた、上で吸収の測定について述べたように、波形の物理的特性を示してもよい。 プロセッサは、偏向、位相シフトなどの屈折特性を観察し、その特性、ならびに波形特性を幾何学的特性および/または物理的特性にマッピングするデータベースを参照することにより、これらの判定を行ってもよい。プロセッサはまた、例えばドップラー効果などを用いて、異なる物体の速度を追跡するために屈折特性を利用してもよい。例えば、プロセッサが、送信機116の送信機よりも受信機アレイ114の受信機で位相シフトが大きいことを検出した場合、プロセッサは、(例えば、データベースエントリーに基づいて)個人が環境100を走っていることを判定してもよい。
【0014】
プロセッサは、波形が当たった媒体の反射特性を判定してもよい。反射特性とは、材料が特定の波形をどのように反射するかを示す特性を言う。これらの特性は、プロセッサが色を推測することを可能にし得る(例えば、ある色はラジオの波形を反射する反面、他の色は反射しないため)。また、反射特性から、材料の特性を推測してもよい(例えば、金属は高い比率で反射するため、高い反射率は材料が金属であることを指示してもよい)。さらに、反射率を利用して、プロセッサは異常や潜在的なエラーを識別してもよい。例えば、高レベルの反射率は、誰かが環境100から製品を盗もうと試みて、反射率の高い材料を用いて無線の波形を遮断し、悪事を隠していることを示しているかも知れない。
【0015】
データベースは、吸収、屈折、および反射特性を関連づけてもよい。このようなデータベースは、人と製品とで別々に相関関係を示してもよく、エントリーは、所定の波形について一緒に検出された吸収、屈折、および/または反射特性が、人および/または製品の特定の特性を示すことを指示してもよい。このようなデータベースは、これらの特性を一つ以上の信号のパターンに関連付けてもよく、パターンは、特性(例えば、吸収特性、屈折特性、および/または反射特性)の組み合わせのことを言う。一実施形態では、データベースの相関関係を使用するというよりはむしろ、モデル(例えば、ニューラルネットワークのような機械学習モデル)が、吸収、屈折、および/または反射特性を入力として受信するように訓練されてもよく、それらの入力に基づいて、物体または人の可能性の高い識別または属性を出力してもよい。
【0016】
信号波を用いた製品および顧客の3Dローカライゼーションとイメージング
環境100が小売店環境である例示的な実施形態に続いて、環境100の3Dローカライゼーションおよびイメージングを実行するサーバーのプロセッサは、入口102を経由して環境100に入る人112を検出してもよい。プロセッサは、エンティティが入口102の平面を横切ったことを判定し、エンティティのイメージングに基づいて(例えば、データベースと比較した吸収、屈折、または反射特性に基づいて)、エンティティが人間であることを判定することにより、人112の入場を検出してもよい。プロセッサは、人112の一意的に識別可能な特徴に対応する観測された信号パターンに基づいて、人112の署名を生成してもよい。例えば、固有の署名を生成するための信号パターンは、人の固有の特徴(例えば、エンティティをイメージングする方法によって検出された、身長、サイズ、および衣服の特徴)に対応する吸収、屈折、および/または反射などの信号特性に依存させてもよい。固有の署名は、メモリ(例えば、長期的な固定記憶装置)内のデータベースに格納される。さらに、固有の署名は、固有の識別子を含んでもよく、または、固有の識別子を生成するためにハッシュ化されていてもよい。この署名に基づいて、プロセッサは、人112が環境100内を移動する際に、人112の移動を追跡してもよく、その際、人112のこれらの特性が一定であるため、追跡された人が人112であるという知識を維持しながら追跡する。
【0017】
プロセッサは、人112が入口102を介して環境100に入ったときに、人112をさらに明確に識別してもよい。一実施形態では、プロセッサは、店舗に入る人112に対して署名を生成する。その署名は、データベース内に格納された署名と比較される。署名についてデータベース内で一致するものが見つかった場合、人112に対応するプロファイルデータ(プロファイルデータおよびその管理については、
図3を参照して後述される)が検索される。いくつかの実施形態では、プロセッサは、人112だけでなく、人112によって携行されるモバイルデバイスを検出してもよい。モバイルデバイスの位置に基づいて、または信号自体の固有の属性に基づいて、プロセッサは、特定の信号が人112のモバイルデバイスからのものであることを検出することができる。その後、プロセッサは、信号に埋め込まれた識別情報に基づいて、人のアイデンティティを判定してもよい。例えば、モバイルデバイスが、環境100と通信するように設計されたアプリ(例えば、本明細書の上および下に記載されたアプリ)をインストールしている場合、アプリ自体が、モバイルデバイスに人112を識別する信号を発するようにさせてもよい。いくつかの実施形態では、コンピュータビジョンを用いて、人112のアイデンティティを判定または検証してもよい。ユーザーのプロファイルは、そのユーザーのモバイルデバイスのアドレスを示してもよい。
【0018】
署名が既知でない場合、署名を格納するために人112の記録が作成されてもよく、その署名は、データベースのエントリーに格納されてもよい。保存された署名には、人112に対応する追加情報が受信されたときに、その署名を持つ記録に追加されることが可能となるよう、識別子が付与されてもよい。例えば、人112の署名がサーバーにとって未知である場合、人112は識別情報を入力するように促され、その識別情報が署名のある記録に追加される。別の例として、人112の観察された行動(例えば、購買習性)は、人112が匿名であることにかかわらず、署名(および識別子)とともに記録に保存されてもよい。
【0019】
例示的な実施形態では、そのような識別情報の入力は、環境100の入口102にあるバリアを通過する、または通過した後に進むための前提条件であってもよい。プロンプトは、人112が携行するパーソナルデバイス上で(例えば、環境100に入る前提条件としてパーソナルデバイスにインストールされることが要求されるアプリによって)発生してもよいし、入口102またはその近くのキオスクで発生してもよい。識別情報は、例えば、人112が環境100から持ち出した製品110に対し、人112に請求書(または課金)を発行するのに十分な情報を含んでもよい。プロンプトは、識別情報および/または請求書情報を処理装置に提供する、環境100内でスキャンされる、QRコードを人112がスキャンまたは表示することによって満たされてもよい。いくつかの実施形態では、人112は、環境100の各エントリーで自分自身を識別するように促される。他の実施形態では、人112の署名がプロセッサに認知された後は、人112は、環境100への将来のエントリーで自分自身を識別する必要はない。
【0020】
人112のアイデンティティおよび動きの追跡を超えて、プロセッサは、一つまたは複数の製品110のアイデンティティおよび動きも追跡する。いくつかの実施形態では、製品110は、その物に対し、検出可能な固有の信号パターンに基づいて識別されてもよい。 信号パターンは、部分的には、物体の特性(例えば、吸収、屈折、および/または反射特性)に基づいていてもよい。例えば、製品110の物理的特性により、送信機116の信号が吸収、反射、屈折される、あるいは固有の方法で製品110を覆う。プロセッサは、そのような固有の特性に基づいて、所定の製品を識別できるようにしてもよい。
【0021】
製品の固有の特性を用いて製品をイメージングすることに基づき、プロセッサが製品110の二つの異なる製品を識別できない場合がある。例えば、インゲン豆やエンドウ豆などの野菜の缶、またはシリアルの箱は、同一、或いはほぼ同一の画像を有する場合があり、そのため、プロセッサによって同一の製品であると誤って判定される場合がある。場合によっては、これらの製品の特性のわずかな違いを検出することで、この誤認識を回避してもよい。例えば、プロセッサは、食品の特性に基づいて、信号が異なる缶を透過したことを検出してもよいし、箱またはラベルの異なる配色に基づいて、信号がわずかに異なるように吸収されたことを検出してもよい。他のケースでは、またはそれに加えて、この誤識別は、各所定の製品110が置かれている環境100内の場所を事前にマッピングすることによって回避することしてもよく、プロセッサは、製品110がイメージングされた位置に基づいて、その製品であろう固有の特性と併せ、類似してイメージングされた二つの製品のうちのどちらであるかを認知する。
【0022】
いくつかの実施形態では、サーバーのプロセッサは、製品110の包装にエンコードされた特徴の吸収特性を分析することにより、製品110の異なるものを区別してもよい。例えば、コード化されたインク(例えば、QRコード、バーコード、シリアルナンバリング、または任意の他の形態における一意的な識別子)、または他の放射線不透過性マーカーが、製品のパッケージ上に埋め込まれてもよく、インク(または放射線不透過性マーカー)が、送信機116によって送信される信号の高い吸収特性を有する所定の製品110上で、プロセッサによって検出されてもよい。プロセッサは、環境100の画像を生成する際、インクを要因とする方法で製品をイメージングすることにより、製品自体にあるコード自体を画像に含めることによって、インクを検出してもよい。プロセッサは、シンボル(例えば、単語、テキスト、バーコード、QRコードなど)を、シンボルが既知の製品にマッピングするデータベースのエントリーと比較し、その比較に基づいて、所定の製品のアイデンティティを判定してもよい。
【0023】
製品を識別するためのさらなる実施形態として、製品110の追加の物理的特性が、追加のセンサーを使用して判定されてもよい。例えば、人112は、二つ以上の候補製品のうちの一つと思われる製品110の製品が追加されたときに、その製品の重量が計算される重量センサーを備えた容器(例えば、買い物かご)を運んでいてもよい。プロセッサは、重量を受信し、その重量が、二つ以上の候補製品のうちの一つだけに対応するデータベース内のエントリーと一致することに基づいて、製品のアイデンティティを判定してもよい(画像の固有の特性など、本明細書に記載された他の要因も考慮に加える)。
【0024】
店舗環境において、人(例えば、人112)が環境100から出ているとき、プロセッサは、その人が製品110のうち、どの商品を運んでいるかを判定し、それに応じて記録を更新する(
図2~3を参照して後述する)。プロセッサは、人112がチェックアウト境界106に入ったとき、または人112が出口平面104を横切ったときに、人112が環境100を出ていると判定してもよい。いくつかの実施形態では、プロセッサは、人112が環境100に入った時点から人112が環境112を出るまで、人112を追跡し、さらに、その期間中に人112がどの製品110を取ったかを追跡する。プロセッサは、人が環境100を出るときに、人112が製品110の取った製品の各々を獲得したという記録(例えば、購入を示す)を更新する。
【0025】
他の実施形態では、プロセッサは、プロンプトを人112に表示させ、そのプロンプトは、人112が、イメージングした製品110を獲得または購入することを確認するように要求する。プロンプトは、チェックアウト境界106内のキオスクで表示するために生成されてもよく、或いは、プロセッサは、人112がチェックアウト境界106に入ったことを判定することに応答して、人112が携行するモバイルデバイスに表示するためにプロンプトを生成させてもよい(例えば、モバイルデバイスのアドレスを示すプロファイル情報に基づいて、ユーザーのモバイルデバイスにプロンプトをアドレス指定する)。プロンプトは、購入することを確認するために、人112が選び得る選択可能なオプションを含んでよく、取られた製品の項目別にされたリストを含んでいてもよい。さらに、またはその代わりに、プロンプトは、人112がチェックアウトすることを確認するためにスキャンし得るQRコードを含んでもよい。環境100は、出口104に障壁を有してもよく、プロセッサは、人112がチェックアウトすることを確認したことに応答して、人112が出口104を通って環境100を出られるように、障壁を解除してもよい。
【0026】
プロセッサは、人112が、自分が取りたい、または購入したい製品110を変更したいと判定してもよい。例えば、上記の実施形態に続いて、プロセッサは、環境100から持ち出すべきアイテムから取った所定の製品を持ち出したいという入力を、人112から受信してもよい。別の実施形態では、プロセッサは、人112がチェックアウト境界106に入った後に、チェックアウトすることを確認せず、代わりにチェックアウト境界106を出て環境100の残りの部分に向かって再び入ったと判定してもよい。ユーザーが環境100の残りの部分に再び入ったことを検出したことに応答して、プロセッサは、プロセッサがプロンプトを表示させた任意のデバイスからプロンプトを削除してもよく、ユーザー112によってどの製品110が取られるか、または戻されるかの監視を再開してもよい。このように、プロセッサが、人112がチェックアウト境界106に再び入ったと判定すると、プロセッサは、人112がチェックアウトすることに用いるための新しいプロンプトを表示させてもよい。
【0027】
システム構成
図2は、信号受信機から得られるデータを処理するためのシステム構成の一実施形態を示している。受信機アレイ202は、受信した信号データを収集し、そのデータを計算ユニット204に送信する。受信機アレイ202は、
図1を参照して上述した受信機アレイ114と同じ機能を有する。一実施形態では、計算ユニット204は、ネットワーク206の受信機アレイ202と同じ側にあり、計算ユニット204は、合成されたデータをサーバー208に送信する前に、受信機アレイ202の各受信機から受信したデータを合成する。合成されたデータは、環境100の画像を生成するために、サーバー208のプロセッサによって使用される生データを含んでもよく、あるいは代替的に画像そのものであってもよい。代替的な実施形態では、計算ユニット204の一部または全部がサーバー208内に(例えば、サーバー208の前述のプロセッサとして)実装され、その場合、受信機アレイ202からの生データ、または部分的に合成されたデータがネットワーク206を介してサーバー208に送信される。計算ユニット204は一つだけ描かれているが、これは便宜上のものであり、
図2の環境では複数の計算ユニットが使用されてもよい。
【0028】
ネットワーク206は、環境100のローカルエリアネットワーク、アドホックネットワーク、インターネットなど、任意のネットワークであってよい。生または処理された信号データ、または画像データは、サーバー208のプロセッサによる処理のために、ネットワーク206を介して送信されてもよい。サーバー208は、環境100およびそこにいる人や製品の画像を生成してもよく、さらにメモリを使用して、それらの人や製品に関するデータを追跡してもよい。サーバー208の構成要素は、
図3から
図4を参照し、以下に説明される。
【0029】
サーバーの構成要素
図3は、人やアイテムを追跡するための信号受信機から得られたデータを処理するために使用される、例示的なサーバーの一実施形態を示す。
図3はサーバー300を描写しており、サーバー300は、
図1を参照して説明したサーバーの機能を有してもよく、また、
図2のサーバー208の機能を有してもよい。サーバー300は、一つ以上のプロセッサ302を含んでもよく、このプロセッサは、サーバーのプロセッサについて言及されているところではどこでも、
図1を参照して上述した方法でデータを処理する。また、サーバー300は、例えば、
図4を参照して説明したように、他のコンピューティングコンポーネントを含んでもよい。サーバー300はまた、一つまたは複数のメモリ304を含み、これは、任意の既知の形態のメモリ(例えば、ランダムアクセスメモリなど、以下に
図4を参照してさらに説明する)であってもよい。一つのプロセッサブロックおよび一つのメモリブロックを有する一つのサーバーのみが描写されているが、サーバー300の機能は、複数のサーバーに分散されてもよく、その各々が本明細書に記載された機能を実行するために複数のプロセッサまたはメモリブロックを有してもよい。本明細書でさらに説明するように、サーバー300は、一つまたは複数のモジュールを含む。モジュールは、モジュールの特定の機能に対応するプログラムコード(一つまたは複数の命令で構成される)を含んでもよい。モジュールは、メモリ304に格納されていてもよい。モジュールは、サーバー302によって実行できるようになっていてもよい。
【0030】
さらに、サーバー300は、様々なモジュールを含み得る。ユーザープロファイルモジュール306は、ユーザープロファイルデータを管理するためにプロセッサ302によって使用される。ユーザープロファイルデータは、サーバー300内に格納されてもよいし、サーバー300の外部にあるデータベースを介して(例えば、トランシーバ310を用いて)アクセスされてもよい。ユーザープロファイルデータは、検出可能な固有の特性、例えば、上述したように環境100をイメージングすることによって判定されるようなユーザーの固有のデジタル署名などを含む、ユーザーの識別情報を含む。ユーザープロファイルデータは、さらに、上述したように、ユーザーがキオスクやアプリに入力した情報など、ユーザーの他の識別情報を含んでもよい。さらに、ユーザープロファイルデータは、プロセッサ302が所定のユーザーに、ユーザーが購入した任意の製品110の代金を請求するために使用し得る支払情報(例えば、クレジットカード情報または支払口座情報)を含んでもよい。プロセッサ302は、ユーザープロファイルモジュール306を呼び出して、本明細書に開示される任意の方法で、ユーザープロファイル情報の任意の更新または検索を実行し得る。
【0031】
サーバー300はまた、インベントリモジュール308を含んでもよい。インベントリモジュール308は、環境100の製品110に関連する情報を追跡する。情報は、上述のイメージングプロセスを通じて追跡可能な製品110の固有の特性であってもよく、上述の追加情報(例えば、所定の製品を識別するためのシンボル情報)を含んでもよい。インベントリモジュール308は、所定のユーザーによる購入を示すために、インベントリデータ(例えば、サーバー300のメモリ304、またはリモートデータベースに格納されている)を更新するために使用されてもよく、また、その所定のユーザーに対応するユーザープロファイルデータも、購入を示すためにプロセッサ302によって(例えば、ユーザープロファイルモジュール306を使用して)更新されてもよい。
【0032】
サーバー300はまた、署名生成モジュール312を含んでもよい。プロセッサ302は、本明細書に開示される任意の方法で署名を生成するために、署名生成モジュール312を呼び出してもよい。サーバー300は、さらに、位置追跡モジュール314を含んでもよい。位置追跡モジュール314は、一人またはそれ以上の人(例えば、人112)および/または一つまたはそれ以上の製品(例えば、製品110)の環境(例えば、環境100)内の位置を追跡するように構成される。位置追跡モジュール314は、ユーザープロファイルモジュール306を呼び出して、所定の人のプロファイルを、環境100を通る所定の人の移動経路で更新してもよい。さらに、サーバー300は、信号較正モジュール316を含んでよく、このモジュールは、本明細書に記載される任意の方法で参照受信機108を使用して送信機116を較正するプロトコルを実行してもよい。
【0033】
計算機の構成
図4は、機械可読媒体から命令を読み取り、プロセッサ(またはコントローラ)(例えば、サーバー208、または
図1を参照して上述したような、クライアントデバイスまたはキオスク)で実行することができる例示的な機械の構成要素を示すブロック図である。具体的には、
図4は、本明細書で論じられる方法論のうちの任意の一つまたはそれ以上を機械に実行させるためのプログラムコード(例えば、ソフトウェア)が実行されてもよいコンピュータシステム400の例示的な形態の機械の図を示している。プログラムコードは、一つまたは複数のプロセッサ402によって実行可能な命令424で構成されてもよい。代替的な実施形態では、機械は、スタンドアロンデバイスとして動作し、または他の機械に接続(例えば、ネットワーク化)されてもよい。ネットワーク接続された配置では、機械は、サーバー・クライアントネットワーク環境におけるサーバーマシンまたはクライアントマシンの能力で動作してもよいし、ピア・ツー・ピア(または分散)ネットワーク環境におけるピアマシンとして動作してもよい。
【0034】
機械は、サーバーコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、スマートフォン、ウェブアプライアンス、ネットワークルータ、スイッチ、ブリッジ、または、そのマシンによって実行されるアクションを指定する命令424(シーケンシャル、またはそれ以外)を実行することができる任意の機械であってもよい。さらに、単一の機械のみが図示されているが、「機械」という用語は、個別にまたは共同で命令124を実行して、本明細書で論じられている方法論のうちの任意の一つまたは複数を実行する機械の任意の集合体も含むとみなされる。
【0035】
例示するコンピュータシステム400は、プロセッサ402(例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、一つまたは複数の特定用途向け集積回路(ASIC)、一つまたは複数の無線周波数集積回路(RFIC)、またはこれらの任意の組み合わせ)、メインメモリ404、およびスタティックメモリ406を含み、これらはバス408を介して互いに通信するように構成されている。コンピュータシステム400は、ビジュアルインターフェース410をさらに含んでもよい。ビジュアルインターフェースは、ユーザーインターフェースを画面(またはディスプレイ)に表示することを可能にするソフトウェア・ドライバを含んでもよい。ビジュアルインターフェースは、ユーザーインターフェースを直接(例えば、スクリーン上に)表示してもよいし、表面や窓などに間接的に(例えば、ビジュアルプロジェクションユニットを介して)表示してもよい。議論を容易にするために、ビジュアルインターフェースは、スクリーンとして説明され得る。ビジュアルインターフェース410は、タッチ対応のスクリーンを含んでもよいし、タッチ対応のスクリーンとインターフェースしてもよい。コンピュータシステム400は、英数字入力装置412(例えば、キーボードまたはタッチスクリーンキーボード)、カーソル制御装置414(例えば、マウス、トラックボール、ジョイスティック、モーションセンサー、または他のポインティング用具)、記憶装置416、信号生成装置418(例えば、スピーカー)、およびネットワークインターフェース装置420を含んでいてもよく、これらもバス408を介して通信するように構成されている。
【0036】
記憶装置416は、本明細書に記載された方法論または機能のいずれか一つまたはそれ以上を具現化する命令424(例えば、ソフトウェア)が格納されている機械可読媒体422を含む。また、命令424(例えば、ソフトウェア)は、コンピュータシステム400によって実行されている間に、完全にまたは少なくとも部分的に、メインメモリ404内またはプロセッサ402内(例えば、プロセッサのキャッシュメモリ内)に存在してもよく、メインメモリ404およびプロセッサ402も機械可読媒体を構成する。命令424(例えば、ソフトウェア)は、ネットワークインターフェース装置420を介して、ネットワーク426上で送信または受信されてもよい。
【0037】
機械可読媒体422は、例示的な実施形態では単一の媒体であることが示されているが、「機械読取可能媒体」という用語は、命令(例えば、命令424)を格納することができる単一の媒体または複数の媒体(例えば、集中型または分散型データベース、または関連するキャッシュおよびサーバー)を含むとみなされるべきである。また、「機械可読媒体」という用語は、機械による実行のための命令(例えば、命令424)を格納することができ、本明細書に開示された方法論のいずれか一つまたはそれ以上を機械に実行させる任意の媒体を含む。「機械可読媒体」という用語は、ソリッドステートメモリ、光学媒体、および磁気媒体の形態のデータリポジトリを含むが、これらに限定されない。
【0038】
製品と顧客の3Dローカリゼーションとイメージングの例示的なプロセス
図5は、人やアイテムを追跡するための信号受信機から得られるデータを処理するための例示的なプロセスを示すフローチャートである。工程500の要素は、サーバー(例えば、サーバー300)を使用して実行されてもよく、それぞれが本明細書に記載された様々なモジュールによって実行されてもよい。工程500は、プロセッサ(例えば、サーバー300のプロセッサ302)が、ユーザー(例えば、ユーザー112)が環境(例えば、環境100)に入ったことを検出502することから始まる。 ユーザーが環境に入ったことの検出に応答して、プロセッサは、ユーザーを一意的に識別504する(例えば、署名生成モジュール312を使用して、一意的な署名を生成し、ユーザープロファイルモジュール306を使用して、一意的な署名を既知のユーザープロファイルにマッピングする、またはユーザーが未知である場合には、新しいユーザープロファイルを生成する)。 プロセッサは、ユーザーが複数の製品(例えば、製品110の製品)と相互作用したかを判定506する。ユーザーが製品と相互作用すると判定することに応答して、プロセッサは、製品の指標でユーザーのプロファイルを更新508する(例えば、インベントリモジュール308を使用して製品の指標を判定し、ユーザープロファイルモジュール306を使用してその指標をユーザープロファイルに適用する)。
【0039】
プロセッサは、ユーザーが環境から出ようとしているかを判定510する(例えば、位置追跡モジュール314を使用して、ユーザー112が出口104に近づいているかを判定する)。ユーザーが環境から出ようとしていると判定することに応答して、プロセッサは、ユーザーが更新されたプロファイルに基づいて環境から製品を持ち出そうとしていることを確認するために、ユーザーにプロンプト512を送信する(例えば、ユーザーのモバイルデバイスにプロンプトをプッシュする)。プロセッサは、ユーザーが環境から製品を持ち出そうとしていることを確認する入力をユーザーから受信514し、入力に基づいてプロファイルをさらに更新516する(例えば、製品の販売をユーザープロファイルに帰属させる)。プロセッサは、インベントリモジュール308を使用して、製品が環境100から持ち出されたことを示すために、製品110のインベントリをさらに調整してもよい。
【0040】
その他の構成上の注意点
本明細書では、複数のインスタンスが、単一のインスタンスとして記載された構成要素、操作、または構造を実装することがある。一つまたはそれ以上の方法の個々の操作は、別々の操作として図示および説明されているが、個々の操作の一つまたはそれ以上は、同時に実行されてもよく、操作が図示された順序で実行されることを要求するものではない。例示された構成において、別々の構成要素として提示された構造および機能は、結合された構造または構成要素として実装されてもよい。同様に、単一の構成要素として提示された構造と機能は、別の構成要素として実装されてもよい。これらおよびその他の変形、変更、追加、および改良は、本明細書の主題の範囲内である。
【0041】
特定の実施形態は、本明細書において、ロジックまたは多数の構成要素、モジュール、または機構を含むものとして記載されている。モジュールは、ソフトウェアモジュール(例えば、機械可読媒体上または伝送信号内に具現化されたコード)またはハードウェアモジュールのいずれかを構成し得る。ハードウェアモジュールは、特定の操作を行うことができる有形のユニットであり、特定の方法で構成または配置されてもよい。例示的な実施形態では、一つまたはそれ以上のコンピュータシステム(例えば、スタンドアロン、クライアントまたはサーバーコンピュータシステム)またはコンピュータシステムの一つまたはそれ以上のハードウェアモジュール(例えば、プロセッサまたはプロセッサ群)は、本明細書に記載されているような特定の動作を実行するように動作するハードウェアモジュールとして、ソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって構成されてもよい。
【0042】
様々な実施形態において、ハードウェアモジュールは、機械的または電子的に実装されてもよい。例えば、ハードウェアモジュールは、特定の動作を実行するように恒久的に構成された(例えば、フィールドプログラマブルゲートアレイ(FPGA)や特定用途向け集積回路(ASIC)などの特殊目的のプロセッサとして)専用の回路またはロジックで構成されてもよい。また、ハードウェアモジュールは、特定の動作を行うようにソフトウェアによって一時的に構成されたプログラミングで制御可能なロジックまたは回路(例えば、汎用プロセッサまたは他のプログラマブルなプロセッサに包含されるようなもの)で構成されてもよい。ハードウェアモジュールを機械的に実装するか、専用の恒久的に構成された回路に実装するか、一時的に構成された回路(例えば、ソフトウェアによって構成されたもの)に実装するかは、コストと時間を考慮して判定されることが理解されるであろう。
【0043】
したがって、「ハードウェアモジュール」という用語は、本明細書に記載されている特定の方法で動作する、または特定の操作を実行するように、物理的に構築されている、恒久的に構成されている(例えば、ハードワイヤード)、または一時的に構成されている(例えば、プログラムされている)、有形のエンティティを包含すると理解すべきである。本明細書では、「ハードウェア実装モジュール」とは、ハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成されている(例えば、プログラムされている)実施形態を考慮すると、ハードウェアモジュールの各々は、時間内の任意の一つのインスタンスで構成またはインスタンス化される必要はない。例えば、ハードウェアモジュールが、ソフトウェアを用いて構成された汎用プロセッサからなる場合、汎用プロセッサは、異なる時間にそれぞれ異なるハードウェアモジュールとして構成されてもよい。ソフトウェアは、例えば、ある時点では特定のハードウェアモジュールを構成し、別の時点では異なるハードウェアモジュールを構成するように、プロセッサを設定してもよい。
【0044】
ハードウェアモジュールは、他のハードウェアモジュールに情報を提供したり、他のハードウェアモジュールから情報を受信したりすることが可能である。したがって、説明したハードウェアモジュールは、通信可能に結合されているとみなしてよい。そのようなハードウェアモジュールが複数同時に存在する場合、通信は、ハードウェアモジュールを接続する信号の伝送(例えば、適切な回路およびバスを介して)によって達成され得る。複数のハードウェアモジュールが異なるタイミングで構成またはインスタンス化される実施形態では、そのようなハードウェアモジュール間の通信は、例えば、複数のハードウェアモジュールがアクセスを有するメモリ構造への情報の保存および取得を通じて達成されてもよい。例えば、あるハードウェアモジュールが操作を行い、その操作の出力を、通信可能に接続されたメモリデバイスに格納してもよい。後日、別のハードウェアモジュールがメモリデバイスにアクセスし、格納された出力を取り出して処理してもよい。また、ハードウェアモジュールは、入力デバイスまたは出力デバイスとの通信を開始し得、リソース(例えば、情報の集合体)上で動作することが可能である。
【0045】
本明細書に記載されている例示的な方法の様々な動作は、関連する動作を実行するように一時的に(例えば、ソフトウェアによって)または恒久的に構成されている一つまたはそれ以上のプロセッサによって、少なくとも部分的に実行されてもよい。一時的または恒久的に構成されているかにかかわらず、そのようなプロセッサは、一つまたはそれ以上の動作或いは機能を実行するように動作するプロセッサ実装モジュールを構成してもよい。本明細書で言及されるモジュールは、いくつかの例示的な実施形態では、プロセッサ実装モジュールを構成してもよい。
【0046】
同様に、本明細書に記載されている方法は、少なくとも部分的にプロセッサを実装してもよい。例えば、ある方法の操作の少なくとも一部は、一つまたはそれ以上のプロセッサ、またはプロセッサを実装したハードウェアモジュールによって実行されてもよい。操作のうちの特定のものの実行は、一つの機械内に常駐するだけでなく、複数の機械にまたがって配置される、一つまたはそれ以上のプロセッサの間で分散されてもよい。いくつかの例示的な実施形態では、プロセッサまたはプロセッサは、単一の場所(例えば、家庭環境、オフィス環境内、またはサーバファームとして)に配置されてもよいが、他の実施形態では、プロセッサは、多数の場所に分散されてもよい。
【0047】
一つまたは複数のプロセッサは、「クラウドコンピューティング」環境で、または「サービスとしてのソフトウェア」(SaaS)として、関連する操作の実行をサポートするように動作してもよい。例えば、オペレーションの少なくとも一部は、(プロセッサを含む機械の例として)コンピュータのグループによって実行されてもよく、これらのオペレーションは、ネットワーク(例えば、インターネット)を介して、一つまたはそれ以上の適切なインターフェース(例えば、アプリケーションプログラムインターフェース(API))を介してアクセスできるようになっている。
【0048】
特定の操作の実行は、一つの機械内に存在するだけでなく、複数の機械にまたがって配置され、一つまたはそれ以上のプロセッサに分散されてもよい。いくつかの例示的な実施形態では、一つまたはそれ以上のプロセッサ、またはプロセッサ実装モジュールは、単一の地理的な場所(例えば、家庭環境、オフィス環境、またはサーバファーム内)に配置されてもよい。他の例示的な実施形態では、一つまたはそれ以上のプロセッサまたはプロセッサが実装されたモジュールは、多数の地理的な場所に分散していてもよい。
【0049】
本明細書のいくつかの部分は、機械のメモリ(例えば、コンピュータのメモリ)内のビットまたは二進デジタル信号として格納されたデータに対する操作のアルゴリズムまたは記号的表現の観点から提示されている。これらのアルゴリズムまたは記号的表現は、データ処理技術の当業者が自分の仕事の本質を当業者に伝えるために使用する技術の例である。本明細書では、「アルゴリズム」とは、所望の結果を導く自己矛盾のない操作のシーケンスまたは同様の処理のことである。この文脈では、アルゴリズムと操作は、物理量の物理的な操作を含む。必ずしもそうではないが、このような量は、電気信号、磁気信号、または光学信号の形態をしており、機械によって格納、アクセス、転送、結合、比較、またはその他の方法で操作され得る。データ、コンテンツ、ビット、バリュー、エレメント、シンボル、キャラクター、ターム、ナンバー、ナンバリングなどの用語を使って、このような信号を参照することは、主に一般的な使用方法の理由から、時に便利である。しかし、これらの用語は単なる便利なラベルであり、適切な物理量と関連付ける必要がある。
【0050】
特に明記しない限り、本明細書で「処理」、「コンピューティング」、「計算」、「判定」、「提示」、「表示」などの言葉を用いた議論は、情報を受信、格納、送信、または表示する一つまたはそれ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、またはそれらの組み合わせ)、レジスタ、または他の機械の構成要素内の物理的(例えば、電子的、磁気的、または光学的)な量として表されるデータを操作または変換する機械(例えば、コンピュータ)の動作またはプロセスを指すことがある。
【0051】
本明細書で使用される「一実施形態」または「一実施形態」へのあらゆる言及は、実施形態に関連して説明される特定の要素、特徴、構造、または特性が、少なくとも一つの実施形態に含まれることを意味する。本明細書の様々な場所で「一実施形態で」という表現が登場するが、必ずしもすべてが同じ実施形態を指しているわけではない。
【0052】
いくつかの実施形態は、「結合した」および「接続された」という表現を、その派生語とともに用いて説明することがある。これらの用語は、互いに同義語として意図されていないことを理解すべきである。例えば、いくつかの実施形態は、二つ以上の要素が物理的または電気的に直接接触していることを示すために、「接続された」という用語を用いて説明され得る。別の例では、いくつかの実施形態は、二つ以上の要素が物理的または電気的に直接接触していることを示すために、「結合した」という用語を用いて説明され得る。しかし、「結合した」という用語は、二つ以上の要素が互いに直接接触していなくても、互いに協力または相互作用していることを意味してもよい。本実施形態は、この文脈において限定されるものではない。
【0053】
本明細書で使用されているように、「備える」、「備えている」、「含む」、「含んでいる」、「有する」、「有している」、またはそれらの他の変形という用語は、非排他的な包含を網羅することを意図している。例えば、要素のリストから構成されるプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的にリストされていない他の要素や、そのようなプロセス、方法、物品、または装置に固有の要素を含み得る。さらに、明確に反対のことを述べない限り、「または」は包括的なまたはを意味し、排他的なまたはを意味しない。例えば、条件AまたはBは、以下のいずれか一つによって満たされる。:Aが真(または存在)でBが偽(または存在しない)である場合、Aが偽(または存在しない)でBが真(または存在)である場合、AとBの両方が真(または存在)である場合
【0054】
さらに、本明細書の実施形態の要素および構成要素を説明するために、「a」または「an」の使用が採用されている。これは、単に便宜上、本発明の一般的な感覚を与えるために行われている。本明細書は、別の意味であることが明らかでない限り、一つまたは少なくとも一つを含むように読まれるべきであり、単数形は複数形も含む。
【0055】
本開示を読めば、当業者であれば、本明細書に開示された原理により、視線を必要としない信号を使用して環境内のユーザーおよび製品を監視するためのシステムおよびプロセスについて、さらに別の代替的な構造および機能設計を理解するであろう。このように、特定の実施形態およびアプリケーションを図示および説明してきたが、開示された実施形態は、本明細書に開示された正確な構造および構成要素に限定されるものではないことを理解されたい。当業者には明らかになるだろう様々な修正、変更、変形が、添付の特許請求の範囲で定義された精神と範囲から逸脱することなく、本明細書で開示された方法と装置の配置、動作、および詳細においてなされ得る。
【国際調査報告】