(57)【要約】本明細書では、クライアントコンピューティングデバイスの位置を示すデータを計算することに関する様々な技術を説明する。クライアントコンピューティングデバイスは、オーディオ信号をキャプチャするように構成され、オーディオ信号は、クライアントコンピューティングデバイスの周囲の音響を示す。シグネチャは、キャプチャされたオーディオ信号の高周波数の部分に基づいて生成され、シグネチャは他のシグネチャと比較される。他のシグネチャは、他のコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波の部分に基づいて生成される。クライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同配置されていることに関する判断は、シグネチャと他のシグネチャとの比較に基づいて行われる。
2017528687.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステムであって、
プロセッサと、
前記プロセッサによって実行されるロケーションシステムを備えるメモリと、
を備え、前記ロケーションシステムは：
クライアントコンピューティングデバイスの位置を示すデータを、前記クライアントコンピューティングデバイスの周囲のオーディオベースのシグネチャに基づいて計算し、前記オーディオベースのシグネチャが、前記クライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分に基づいており；
前記クライアントコンピューティングデバイスの前記位置を示す前記データを、前記クライアントコンピューティングデバイスに提供する；
ように構成される、コンピューティングシステム。
【請求項２】
前記ロケーションシステムは、前記クライアントコンピューティングデバイスによってキャプチャされる前記オーディオ信号の高周波部分に基づいて、前記オーディオベースのシグネチャを生成するように構成されるシグネチャ生成コンポーネントを備え、該シグネチャ生成コンポーネントは、前記オーディオ信号の高周波部分に対してハッシュを実行するように構成される、
請求項１に記載のコンピューティングシステム。
【請求項３】
前記ロケーションシステムは、前記クライアントコンピューティングデバイスの位置を示す前記データを、前記オーディオ信号に割り当てられるタイムスタンプに基づいて計算するように構成される、
請求項１に記載のコンピューティングシステム。
【請求項４】
前記ロケーションシステムは、前記オーディオベースのシグネチャと部屋のオーディオベースのプロファイルとの間の比較を行うように構成される比較コンポーネントを備え、前記ロケーションシステムは、前記比較に基づいて、前記クライアントコンピューティングデバイスが前記部屋内に配置されていることを判断するように構成される、
請求項１に記載のコンピューティングシステム。
【請求項５】
前記ロケーションシステムは、オーディオベースのシグネチャの基となったオーディオ信号がコンピューティングデバイスによってキャプチャされたときに前記部屋内にあるものとしてラベル付けされた、前記コンピューティングデバイスに対応する前記オーディオベースのシグネチャに基づいて、前記部屋のオーディオベースのプロファイルを構築するように構成されるプロファイル構築コンポーネントを備える、
請求項４に記載のコンピューティングシステム。
【請求項６】
前記クライアントコンピューティングデバイスの位置を示す前記データは、相対位置であり、前記ロケーションシステムは、前記クライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと部屋内に共同設置されていると判断するように構成される、
請求項１に記載のコンピューティングシステム。
【請求項７】
前記ロケーションシステムは、前記クライアントコンピューティングデバイスの位置を示す前記データを、第２のオーディオベースのシグネチャに基づいて計算するように構成され、前記第２のオーディオベースのシグネチャは、前記第２のクライアントコンピューティングデバイスによってキャプチャされる第２のオーディオ信号の高周波部分に基づく、
請求項６に記載のコンピューティングシステム。
【請求項８】
前記ロケーションシステムは、前記クライアントコンピューティングデバイスに命令を送信するように構成されるトランスミッタコンポーネントを備え、前記命令は、前記クライアントコンピューティングデバイスに、前記クライアントコンピューティングデバイスの周囲に関する追加の情報を取得させる、
請求項６に記載のコンピューティングシステム。
【請求項９】
前記追加の情報は、前記クライアントコンピューティングデバイスと通信する無線トランシーバの識別情報と、前記第２のクライアントコンピューティングデバイスの識別情報を備える、
請求項８に記載のコンピューティングシステム。
【請求項１０】
第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されていることを判断するための方法であって、当該方法は、
第１のシグネチャを第２のシグネチャと比較するステップであって、前記第１のシグネチャは、前記第１のクライアントコンピューティングデバイスによってキャプチャされる第１のオーディオ信号の高周波部分に基づき、前記第２のシグネチャは、前記第２のクライアントコンピューティングデバイスによってキャプチャされる第２のオーディオ信号の高周波部分に基づく、ステップと；
前記第１のシグネチャを前記第２のシグネチャと比較したことに基づいて、前記第１のクライアントコンピューティングデバイスが前記第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップと；
前記第１のクライアントコンピューティングデバイスと前記第２のクライアントコンピューティングデバイスが共同設置されているという指示を、前記第１のクライアントコンピューティングデバイス又は前記第２のクライアントコンピューティングデバイスの少なくとも一方に送信するステップと；
を備える、方法。
【請求項１１】
前記第１のオーディオ信号の高周波部分は、前記第１のオーディオ信号のうち18KHz未満の周波数を除外し、前記第２のオーディオ信号の高周波部分は、前記第２のオーディオ信号のうち18KHz未満の周波数を除外する、
請求項１０に記載の方法。
【請求項１２】
前記第１のクライアントコンピューティングデバイスが前記第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップは、
前記第１のクライアントコンピューティングデバイスから、前記第１のクライアントコンピューティングデバイスがアクセスポイントと通信していることを示す第１のデータを受信するステップと、
前記第２のクライアントコンピューティングデバイスから、前記第２のクライアントコンピューティングデバイスが前記アクセスポイントと通信していることを示す第２のデータを受信するステップと、
前記第１のデータを前記第２のデータと比較するステップと、
前記第１のデータを前記第２のデータと比較したことに基づいて、前記第１のクライアントコンピューティングデバイスが前記第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップと、
を備える、請求項１０に記載の方法。
【請求項１３】
前記第１のクライアントコンピューティングデバイスが前記第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップは、
前記第１のクライアントコンピューティングデバイスから、前記第２のクライアントコンピューティングデバイスを識別するデータを受信するステップと、
前記第２のクライアントコンピューティングデバイスを識別する前記データに基づいて、前記第１のクライアントコンピューティングデバイスが前記第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップと、
を備える、請求項１０に記載の方法。
【請求項１４】
前記第１のシグネチャを前記第２のシグネチャと比較したことに応答して、前記第２のクライアントコンピューティングデバイスに命令を送信するステップであって、前記命令は、前記第２のクライアントコンピューティングデバイスにオーディオ信号を出力させ、前記第２のクライアントコンピューティングデバイスを識別するデータが前記オーディオ信号内に符号化されている、ステップと、
前記命令を送信したことに応答して、前記第１のクライアントコンピューティングデバイスから、前記第２のクライアントコンピューティングデバイスを識別する前記データを受信するステップと、
を更に備える、請求項１３に記載の方法。
【請求項１５】
プロセッサによって実行されると、該プロセッサに、
第１のクライアントコンピューティングデバイスと第２のクライアントコンピューティングデバイスが部屋内に共同設置されていると判断するステップであって、該判断は、前記部屋の第１のオーディオシグネチャと前記部屋の第２のオーディオシグネチャとに基づき、前記部屋の前記第１のオーディオシグネチャは、前記第１のクライアントコンピューティングデバイスによってキャプチャされる第１のオーディオ信号に基づき、前記部屋の前記第２のオーディオシグネチャは、前記第２のクライアントコンピューティングデバイスによってキャプチャされる第２のオーディオ信号に基づく、ステップと、
前記第１のクライアントコンピューティングデバイスと前記第２のクライアントコンピューティングデバイスが前記部屋内に共同設置されていると判断したことに応答して、前記第１のクライアントコンピューティングデバイス又は前記第２のクライアントコンピューティングデバイスの少なくとも一方に命令を送信するステップであって、前記命令は、コンテンツを、前記第１のクライアントコンピューティングデバイスと前記第２のクライアントコンピューティングデバイスに同期的に表示させる、ステップと、
を含む動作を実行させる命令を備える、コンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
モバイルコンピューティングデバイスは、現在、典型的には全地球測位システム（ＧＰＳ）センサのような位置センサをその中に備えている。ＧＰＳセンサは、軌道衛星によって放出される検出位置に基づいてその位置を計算する。したがって、モバイルコンピューティングデバイスが屋内にあるとき、ＧＰＳセンサは、モバイルコンピューティングデバイスの位置を正確に計算することができない可能性があることが確認されている。
【発明の概要】
【０００２】
下記は、本明細書で更に詳細に説明される主題の簡単な概要である。この概要は、特許請求の範囲に関して限定するようには意図されていない。
【０００３】
本明細書ではコンピューティングシステムが説明される。コンピューティングシステムは、プロセッサ及びメモリを備え、メモリは、プロセッサによって実行されるロケーションシステムを備える。ロケーションシステムは、クライアントコンピューティングデバイスの周囲についてのオーディオベースのシグネチャに基づいて、クライアントコンピューティングデバイスの位置を示すデータを計算するように構成される。オーディオベースのシグネチャは、クライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分に基づく。ロケーションシステムは更に、クライアントコンピューティングデバイスに、クライアントコンピューティングデバイスの位置を示すデータを提供するように構成される。
【図面の簡単な説明】
【０００４】
【図１】クライアントコンピューティングデバイスの位置データを計算するように構成される、例示のコンピューティングシステムの機能ブロック図である。
【０００５】
【図２】２つ以上のクライアントコンピューティングデバイスが部屋内に共同設置されていることを判断することを容易にする例示のシステムの機能ブロック図である。
【０００６】
【図３】２つの部屋のビューを図示しており、コンピューティングシステムは、どのモバイルコンピューティングデバイスがこれら２つの部屋のうちの１つに共同設置されているかを確認することができる。
【０００７】
【図４】クライアントコンピューティングデバイスが別のクライアントコンピューティングデバイスと共同設置されていることをそのクライアントコンピューティングデバイスに通知する指示を、クライアントコンピューティングデバイスに出力するための例示の方法を示すフロー図である。
【０００８】
【図５】クライアントコンピューティングデバイスが部屋内で第２のクライアントコンピューティングデバイスと共同設置されているという指示を、クライアントコンピューティングデバイスに出力するための例示の方法を示すフロー図である。
【０００９】
【図６】クライアントコンピューティングデバイスが部屋内で第２のクライアントコンピューティングデバイスと共同設置されているという指示を、クライアントコンピューティングデバイスに出力するための例示の方法を示すフロー図である。
【００１０】
【図７】部屋のオーディオベースのシグネチャに基づいて、部屋について時間変化型のプロファイルを構築するための例示の方法を示すフロー図である。
【００１１】
【図８】クライアントコンピューティングデバイスが特定の場所にあることを識別するための例示の方法を示すフロー図である。
【００１２】
【図９】部屋のオーディオベースのシグネチャを生成するための例示の方法を示すフロー図である。
【００１３】
【図１０】部屋内の他のコンピューティングデバイスに関する情報を取得するための例示の方法を示すフロー図である。
【００１４】
【図１１】例示のコンピューティングシステムを示す図である。
【発明を実施するための形態】
【００１５】
クライアントコンピューティングデバイスによってキャプチャされるオーディオ信号に基づいて、クライアントコンピューティングデバイスの位置に関する情報を計算することに関する様々な技術を、図面に関連して説明する。図面では、同様の参照符号が、全体を通して同様の要素を指すのに使用される。以下の説明では、説明の目的で、１つ以上の態様の完全な理解を提供するために、様々な特有の詳細が説明される。しかしながら、これらの特有の詳細を用いることなく、そのような態様が実施されてもよいことが明らかであり得る。他の例では、１つ以上の態様の説明を容易にするために、周知の構造及びデバイスが、ブロック図の形で図示されていることがある。さらに、特定のシステムコンポーネントによって実行されるものとして説明される機能が、複数のコンポーネントによって実行されてもよいことが理解されよう。同様に、例えば１つのコンポーネントが、複数のコンポーネントによって実行されるものとして説明されている機能を実行するように構成されてもよい。
【００１６】
さらに、「又は（or）」という用語は、排他的な「又は」ではなく、包括的な「又は」を意味するように意図される。すなわち、特段の定めがない限り、あるいは文脈から明らかでない限り、「ＸがＡ又はＢを用いる」というフレーズは、自然な包括的順列のいずれかを意味するように意図される。すなわち、「ＸがＡ又はＢを用いる」というフレーズは、以下の例のいずれか：すなわち、ＸがＡを用いる；ＸがＢを用いる；あるいは、ＸがＡとＢの双方を用いる、という例のいずれかを満たす。加えて、本明細書及び添付の特許請求の範囲において、「a」及び「an」という冠詞は、特段の定めがない限り、あるいは文脈から単数形を指示することが明らかでない限り、一般的に、「１つ以上（１つ又は複数）」を意味するように解釈されるものとする。
【００１７】
さらに、本明細書において、「コンポーネント」及び「システム」という用語は、プロセッサによって実行されると特定の機能を実行させるコンピュータ実行可能命令とともに構成される、コンピュータ読取可能データストレージを包含するように意図される。コンピュータ実行可能命令は、ルーチン、関数等を含み得る。また、コンピュータ又はシステムは単一のデバイスに局所化されてもよく、幾つかのデバイスにわたって分散されてもよいことも理解されよう。さらに、本明細書で使用されるとき、「例示」という用語は、何らかの説明又は例として機能することを意味するように意図されており、好ましいものを示すように意図されていない。
【００１８】
次に図１を参照すると、クライアントコンピューティングデバイス１０２の位置を示すデータを計算することを容易にする例示のシステム１００が図示されている。クライアントコンピューティングデバイス１０２の位置を示すデータは、本明細書で更に詳細に説明されるように、絶対位置であり得る（例えば特定の部屋や特定の建物内等）。別の例では、クライアントコンピューティングデバイス１０２の位置を示すデータは、相対位置であってもよい。例えばクライアントコンピューティングデバイス１０２の位置を示すデータは、クライアントコンピューティングデバイス１０２が別のクライアントコンピューティングデバイスと部屋内に共同設置されていることを示す可能性がある。クライアントコンピューティングデバイス１０２は、携帯電話、タブレットコンピューティングデバイス、ラップトップコンピューティングデバイス、ウェアラブルコンピューティングデバイス（時計、眼鏡又は同様のもの）等であってよい。
【００１９】
システム１００は更に、通信リンク１０６によってクライアントコンピューティングデバイス１０２と通信するコンピューティングシステム１０４を含む。コンピューティングシステム１０４は、コンピューティングデバイスであっても分散コンピューティングシステムであってもよい。例えばコンピューティングシステム１０４は、企業コンピューティングシステム、データセンタ等であってよく、あるいはこれらに含まれてもよい。別の例では、コンピューティングシステム１０４は、モバイルコンピューティングデバイス１０２に含まれてもよい。
【００２０】
コンピューティングシステム１０４は、プロセッサ１０８及びメモリ１１０を含み、メモリ１１０は、プロセッサ１０８によって実行可能なロケーションシステム１１２を備える。一般的に、ロケーションシステム１１２は、モバイルコンピューティングデバイス１０２によって生成されたデータを（例えば通信リンク１０６を介して）受信し、受信したデータに基づいて、モバイルコンピューティングデバイス１０２の位置を示すデータを計算するように構成される。ロケーションシステム１１２は、モバイルコンピューティングデバイス１０２が屋内にあるときにモバイルコンピューティングデバイス１０２の位置を示すデータを計算するのに特に良く適している。
【００２１】
コンピューティングシステム１０４は更に、複数のシグネチャ１１６を備えるデータストア１１４を含む。例えばシグネチャ１１６は幾つかの部屋をそれぞれ表すことができる。このため、シグネチャ１１６のうちのあるシグネチャは、ある部屋の特徴を示すデータ構造を含み、したがって、シグネチャを用いて部屋を特定することができる。例えばシグネチャ１１６は、それぞれの部屋のオーディオベースのシグネチャとすることができる。シグネチャ１１６は、部屋内でクライアントコンピューティングデバイスのマイクロフォンによってキャプチャされるオーディオ信号に基づくものとすることができる。例えばシグネチャ１１６は、幾つかの部屋内でクライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分に基づくものとすることができる。オーディオ信号の高周波部分は、例えば18kHz超のオーディオ信号の周波数であってよい。別の例では、オーディオ信号の高周波部分は、20kHz超のオーディオ信号の周波数とすることができる。更に別の例では、オーディオ信号の高周波部分は、25kHz超のオーディオ信号の周波数であってよい。オーディオ信号の周波数範囲の上限は、オーディオ信号をキャプチャするのに用いられるマイクロフォンによって制限され得る。したがって、例えばクライアントコンピューティングデバイス１０２のマイクロフォンによってキャプチャされるオーディオ信号の高周波部分は、18kHzと80kHzの間、20kHzと50kHzの間等であってよい。一例では、ある時間範囲（例えば10秒、1分、2時間）内に部屋内でキャプチャされるオーディオ信号の高周波部分のハッシュは、特にオーディオ信号の低周波部分（例えばオーディオ信号の人間の耳に可聴な部分）と比べたときに、互いに対して一貫性があることがわかっている。ハッシュ間のこの一貫性は、ハッシュを使用して部屋についてのオーディオベースのプロファイルを構築することを可能にし、さらに、ハッシュを比較して２つのデバイスが共同設置されているかどうかを確認することを可能にする。非限定的な例では、シグネチャ１１６は、部屋内でクライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分のそれぞれのハッシュとすることができる。さらに、シグネチャ１１６は、そのシグネチャに関連付けられるそれぞれの識別子を有することができ、この場合、識別子は、シグネチャ１１６が基づいているオーディオ信号をキャプチャするクライアントコンピューティングデバイスを識別する。
【００２２】
ロケーションシステム１１２は、任意選択でシグネチャ生成コンポーネント１１８を含む。シグネチャ生成コンポーネント１１８は、少なくとも、クライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分を受け取り、その高周波部分に基づいてシグネチャを生成するように構成される。一例に従うと、シグネチャ生成コンポーネント１１８は、部屋内でクライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分に対してハッシュアルゴリズムを実行することができ、結果として得られるハッシュがシグネチャに含まれる。
【００２３】
ロケーションシステム１１２は更に、クライアントコンピューティングデバイス（例えばクライアントコンピューティングデバイス１０２）によってキャプチャされるオーディオ信号に基づくシグネチャを、データストア１１４内のシグネチャ１１６と比較する比較コンポーネント１２０を含むことができる。ロケーションシステム１１２は更に、部屋内でクライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分に基づいて部屋プロファイルを構築することができるプロファイル構築コンポーネント１２２を含む。一例において、プロファイル構築コンポーネント１２２は、部屋の高周波の音響を経時的に表す、その部屋の時間変化型プロファイルを生成することができる。例えば部屋は、第１の時間（例えばエアコン装置が動作しているとき）には第１のシグネチャによって表され、第２の時間（例えばエアコン装置が動作してないとき）には第２の高周波シグネチャによって表されることがある。ロケーションシステム１１２は更に、クライアントコンピューティングデバイスの決定された（絶対又は相対）位置を示すデータを、クライアントコンピューティングデバイスに送信するように構成される、トランスミッタコンポーネント１２４を含む。
【００２４】
次にシステム１００の動作を、クライアントコンピューティングデバイス１０２との関連で説明することにする。クライアントコンピューティングデバイス１０２は部屋内に配置されることがあり、クライアントコンピューティングデバイス１０２にとって、該クライアントコンピューティングデバイス１０２がどの部屋内に配置されているかを確認し、かつ／又はいずれかの他のクライアントコンピューティングデバイスがその部屋内にクライアントコンピューティングデバイス１０２と共同設置されているかどうかを確認することが望ましいことがある。したがって、クライアントコンピューティングデバイス１０２は、その部屋のオーディオクリップをキャプチャすることができる。オーディオクリップの長さは、0.5秒、1秒、3秒、6秒、8秒等であってよい。一例において、クライアントコンピューティングデバイス１０２は、キャプチャされたオーディオクリップに対してハイパスフィルタを適用することができ、これによりオーディオクリップから低周波部分を取り除くことができる。したがって、残りの部分は、オーディオクリップの高周波部分である。クライアントコンピューティングデバイス１０２は、任意選択でオーディオクリップの高周波部分を圧縮し、オーディオクリップの圧縮した高周波部分を、通信リンク１０６を介してコンピューティングシステム１０４へ送信してもよい。別の例では、クライアントコンピューティングデバイス１０２は、オーディオクリップの全体を圧縮し、圧縮したオーディオクリップをコンピューティングシステム１０４に送信することができ、その後、コンピューティングシステム１０４が上述のフィルタリングを実行することができる。またさらに、クライアントコンピューティングデバイス１０２は、未圧縮のオーディオクリップをコンピューティングシステム１０４に送信することもできる。
【００２５】
一例において、ロケーションシステム１１２は、オーディオクリップの圧縮された高周波部分を受け取り、クライアントコンピューティングデバイス１０２によってキャプチャされたオーディオクリップの高周波部分を得るよう、オーディオクリップの圧縮された高周波部分に対して圧縮解除アルゴリズムを実行する。シグネチャ生成コンポーネント１１８は次いで、クライアントコンピューティングデバイス１０２によってキャプチャされたオーディオクリップの高周波部分に基づいて、クライアントコンピューティングデバイス１０２が存在する部屋のオーディオベースのシグネチャを生成する。以前に示したように、シグネチャ生成コンポーネント１１８は、オーディオクリップの高周波部分に対してハッシュアルゴリズムを実行し、これにより、部屋のオーディオベースのシグネチャを生成することができる。加えて、シグネチャ生成コンポーネント１１８は、クライアントコンピューティングデバイス１０２（又はそのユーザ）の識別情報がシグネチャ内に包含されるようにするか、他の方法でシグネチャに関連付ける（例えばシグネチャに添付される）ようにすることができる。
【００２６】
比較コンポーネント１２０は、シグネチャ生成コンポーネント１１８によって生成されたシグネチャを、データストア１１４内のシグネチャ１１６と比較することができる。データストア１１４内のシグネチャ１１６は、関連するシグネチャ１１６によって表される部屋の識別子を有することができる。あるいはまた、シグネチャ１１６は、該シグネチャ１１６が基づいているオーディオ信号をキャプチャしたクライアントコンピューティングデバイスの識別子を有することができる。一例に従うと、比較コンポーネント１２０は、データストア１１４内のシグネチャ１１６で識別されるように、受け取ったシグネチャを部屋の場所にマップするようにトレーニングされた分類子を含む。別の例では、比較コンポーネント１２０は、シグネチャ生成コンポーネント１１８によって生成されたシグネチャと、シグネチャ１１６内の各シグネチャとの間の一対比較を実行することができる。比較コンポーネント１２０は、一対比較を実行するときに、距離ベースのアルゴリズムを用いて、２つのシグネチャ間の類似性を示す距離値を取得することができる。比較コンポーネント１２０は、シグネチャ生成コンポーネント１１８によって生成されるシグネチャに対する合致（match）を、シグネチャと、その合致するシグネチャ（matching  signature）との間の距離値が所定の閾値未満のときに出力することができる。この場合、次いで、シグネチャ生成コンポーネント１１８によって生成されるシグネチャは、シグネチャ１１６内の２つ以上のシグネチャと合致していることが分かる可能性がある。そのようなアプローチは、クライアントコンピューティングデバイス１０２と部屋内に共同設置される複数のクライアントコンピューティングデバイスの識別情報を確認することが望ましいときに特により良く適している。しかしながら、やはり、シグネチャ生成コンポーネント１１８によって生成されるシグネチャを部屋の識別情報にマッピングするための任意の適切な技術が理解されよう。
【００２７】
別の例において、比較コンポーネント１２０は、シグネチャ１１６内で単一の合致するシグネチャを探すことができる。比較コンポーネント１２０は、１）シグネチャ生成コンポーネント１１８によって生成されるシグネチャと、シグネチャ１１６内のシグネチャとの間の距離値が全ての距離値の中で最も低く；かつ、２）その距離値が所定の閾値未満のとき、シグネチャ１１６内のそのシグネチャが、シグネチャ生成コンポーネント１１８によって生成されるシグネチャに合致していると判断することができる。このアプローチは、クライアントコンピューティングデバイス１０２が配置される部屋を識別するときに、特により良く適していることがある。別の実施形態では、比較コンポーネント１２０は、クラスタリングアルゴリズムの使用を通じて、シグネチャ生成コンポーネント１１８によって生成されるシグネチャをデータストア１１４内のシグネチャと比較することができる。そのような場合、比較コンポーネント１２０は、同じクラスタ内のシグネチャを、シグネチャ生成コンポーネント１１８によって生成されたシグネチャとともに、合致するシグネチャとして出力することができる。
【００２８】
プロファイル構築コンポーネント１２２は、任意選択で、シグネチャ生成コンポーネント１１８によって生成されたシグネチャに基づいて、部屋のプロファイルを作成又は更新することができる。例えば部屋が（例えば比較コンポーネント１２０によって実行される比較に基づいて）一旦識別されると、プロファイル構築コンポーネント１２２は、部屋のプロファイルを作成又は更新することができる。したがって、例えばプロファイル構築コンポーネント１２２は、シグネチャ生成コンポーネント１１８によって生成されるシグネチャに基づいて、上述の部屋のプロファイルにおける不確実性を低減させることができる。さらに、プロファイルは時間とともに変化し得るので、シグネチャに割り当てられたタイムスタンプを用いて、プロファイルを更新することができる。
【００２９】
トランスミッタコンポーネント１２４は、比較コンポーネント１２０が、シグネチャ１１６のうち、シグネチャ生成コンポーネント１１８によって生成されたシグネチャに対応する（例えば十分に類似する）、少なくとも１つのシグネチャを識別したことに応答して、クライアントコンピューティングデバイス１０２の計算された位置を示すデータを、クライアントコンピューティングデバイス１０２に（及び任意選択で、クライアントコンピューティングデバイス１０２と共同設置される他のクライアントコンピューティングデバイスに）送信することができる。クライアントコンピューティングデバイス１０２に送信されるデータは、そのクライアントコンピューティングデバイス１０２が配置される部屋を識別するデータであり得る。別の例では、クライアントコンピューティングデバイスに送信されるデータは、部屋内でクライアントコンピューティングデバイス１０２と共同設置される他のクライアントコンピューティングデバイスを識別するデータであり得る。
【００３０】
クライアントコンピューティングデバイス１０２は、該クライアントコンピューティングデバイス１０２の位置を示すこのデータを様々な方法で利用し得る。例えばクライアントコンピューティングデバイス１０２は、環境のマップ（map）をクライアントコンピューティングデバイス１０２のユーザに提示することができる。別の例では、クライアントコンピューティングデバイス１０２は、該クライアントコンピューティングデバイス１０２と共同設置される他のクライアントコンピューティングデバイスの識別情報を受け取ったことに応答して、コンテンツ共有アプリケーションを実行することができる。例えばクライアントコンピューティングデバイス１０２は、該クライアントコンピューティングデバイス１０２と部屋内で共同設置される他のクライアントコンピューティングデバイス上にコンテンツを表示させることができる。別の例では、クライアントコンピューティングデバイス１０２に、該クライアントコンピューティングデバイス１０２とともに部屋内にある他のクライアントコンピューティングデバイスとの共有のファイル空間へのアクセスを提供することができる。更に別の例では、広告のような電子通信データを、クライアントコンピューティングデバイス１０２が配置されている部屋の識別情報に基づいて、クライアントコンピューティングデバイス１０２にプッシュすることができる。他の例も考えられる。
【００３１】
一部の状況において、ロケーションシステム１１２は、例えばクライアントコンピューティングデバイス１０２が別のクライアントコンピューティングデバイスと共同設置されているかどうかに関して十分な確実性で確かめることができないことが、確認される可能性がある。例えばシグネチャ生成コンポーネント１１８によって生成されるシグネチャと、第２のクライアントコンピューティングデバイスによって生成されるシグネチャ１１６内のあるシグネチャとの間の距離値は、（シグネチャが相互に近い時間内に生成された場合）閾値を超えるが、やはり幾らか類似することがある。クライアントコンピューティングデバイス１０２と第２のクライアントコンピューティングデバイスが同じ部屋内に共同設置されているかどうかに関する曖昧さを低減するために、トランスミッタコンポーネント１２４は、追加の情報を求めてクライアントコンピューティングデバイス１０２（及び第２のクライアントコンピューティングデバイス）に要求を送信することができる。この追加の情報には、これに限定されないが、クライアントコンピューティングデバイス１０２が通信しているアクセスポイント（例えばWi-Fiアクセスポイント、セルラタワー、Bluetooth（登録商標）エミッタ等）の識別情報が含まれ得る。
【００３２】
別の例では、トランスミッタコンポーネント１２４は、信号をクライアントコンピューティングデバイス１０２に送信することができる。この信号は、クライアントコンピューティングデバイス１０２に、その中に識別子が符号化されるオーディオ信号を放出させる。識別子は、クライアントコンピューティングデバイス１０２及び／又はそのユーザを識別する。一例では、オーディオ信号は高周波オーディオ信号であってよい。別の例では、オーディオ信号は、高周波部分と低周波部分（例えば20Hz）を含んでよく、この場合、低周波部分は、人間の耳に非可聴である。同様に、トランスミッタコンポーネント１２４は、部屋内の第２のクライアントコンピューティングデバイスに、該第２のクライアントコンピューティングデバイス又はそのユーザの識別情報がその中に符号化される非可聴オーディオ信号を送信させることができる。クライアントコンピューティングデバイス１０２のマイクロフォンは、非可聴オーディオ信号をキャプチャすることができ、クライアントコンピューティングデバイス１０２は、その信号を圧縮して、圧縮した信号をコンピューティングシステム１０４に送信することができる。ロケーションシステム１１２は、このオーディオ信号を圧縮解除して、その中に符号化された識別子を探すことができる。この場合、比較コンポーネント１２０は、オーディオ信号から抽出される識別子を、第２のクライアントコンピューティングデバイス（又はそのユーザ）の既知の識別子と比較することができる。比較コンポーネント１２０は、オーディオ信号内に符号化された識別子と既知の識別子とが合致すると判断すると、比較コンポーネント１２０は、クライアントコンピューティングデバイス１０２及び第２のクライアントコンピューティングデバイスが部屋内に共同設置されているかどうかに関する曖昧さを低減することができる。例えばクライアントコンピューティングデバイス１０２は、その中に符号化される第２のクライアントコンピューティングデバイスの識別子を備えるオーディオ信号をキャプチャすると、妥当な確実性でクライアントコンピューティングデバイス１０２と第２のクライアントコンピューティングデバイスが相互に共同設置されていると判断することができる。
【００３３】
図１はシステム１００の例示の設定を図示しているが、他の配置も考えられることが理解されよう。例えばクライアントコンピューティングデバイス１０２が圧縮されたオーディオ信号をコンピューティングシステム１０４に送信する代わりに、クライアントコンピューティングデバイス１０２はシグネチャ生成コンポーネント１１８を含んでもよい。したがって、クライアントコンピューティングデバイス１０２が、コンピューティングシステム１０４にシグネチャを送信し、次いでコンピューティングシステム１０４が、上述のような比較を実行することもできる。同様に、クライアントコンピューティングデバイス１０２が、その中に符号化された識別情報を含む高周波オーディオ信号をコンピューティングシステム１０４に送信するのではなく、クライアントコンピューティングデバイス１０２が、高周波オーディオ信号を分析してその中の識別情報を抽出するように構成されることも可能である。次いで、クライアントコンピューティングデバイス１０２は、抽出した識別情報をコンピューティングシステム１０４に送信し、コンピューティングシステム１０４が上述の比較を実行することもできる。他の代替形態も考えられる。
【００３４】
図２を参照すると、クライアントコンピューティングデバイス１０２の位置を示すデータを計算するように構成される別の例示のシステム２００が図示されている。システム２００は、クライアントコンピューティングデバイス１０２、コンピューティングシステム１０４及び第２のクライアントコンピューティングデバイス２０２０を含む。第２のクライアントコンピューティングデバイス２０２は、携帯電話であるように図示されているが、第２のクライアントコンピューティングデバイス２０２は、デスクトップコンピューティングデバイス、ビデオゲームコンソール、テレビジョン、セットトップボックス等のような固定のデバイスであってもよい。さらに、第２のクライアントコンピューティングデバイス２０２は、携帯電話、タブレットコンピューティングデバイス、ラップトップコンピューティングデバイス、ウェアラブル等のようなモバイルデバイスであってもよい。図示されるように、クライアントコンピューティングデバイス１０２はコンピューティングシステム１０４と通信し、第２のクライアントコンピューティングデバイス２０２もコンピューティングシステム１０４と通信する。
【００３５】
クライアントコンピューティングデバイス１０２は、クライアントプロセッサ２０４及びクライアントメモリ２０６を含み、クライアントメモリ２０６は、クライアントプロセッサ２０４によって実行可能なコンポーネント及びアプリケーションを含む。そのようなコンポーネント及びアプリケーションを以下で説明する。
【００３６】
クライアントコンピューティングデバイス１０２は、オーディオ信号をキャプチャするように構成されるマイクロフォン２０８を更に含む。例えばマイクロフォン２０８は、（人間の耳に可聴な）低周波部分と、（人間の耳に非可聴の）高周波部分の双方を有するオーディオ信号をキャプチャするように構成され得る。クライアントコンピューティングデバイス１０２は、オーディオ信号を放出することができるスピーカ２１０を更に含む。一例によると、スピーカ２１０は、高周波オーディオ信号を放出することが可能である。
【００３７】
クライアントコンピューティングデバイス１０２は、他のデバイスとの無線通信リンクを形成するように構成される無線チップセット２１２も含む。例えば無線チップセット２１２は、Wi-Fiチップセット、Bluetooth（登録商標）チップセット、光通信チップセット等であってよい。またさらに、クライアントコンピューティングデバイス１０２はセンサ２１４を含むことができる。センサ２１４は、ＧＰＳセンサ、加速度計、速度計、ジャイロスコープ、気圧計、温度計等であってもよい。
【００３８】
クライアントメモリ２０６内のコンポーネント及びアプリケーションを次に説明する。クライアントメモリ２０６は、クライアントコンピューティングデバイス１０２のマイクロフォン２０８にオーディオクリップをキャプチャさせるように構成されるサンプラコンポーネント２１６を含む。サンプラコンポーネント２１６は、クライアントコンピューティングデバイス１０２のマイクロフォン２０８によってキャプチャされるオーディオ信号に対してハイパスフィルタを適用するようにも構成され得る。
【００３９】
クライアントメモリ２０６は、任意選択で、マイクロフォン２０８によってキャプチャされるオーディオ信号の少なくとも高周波部分を圧縮するように構成される圧縮コンポーネント２１８を含む。クライアントメモリ２０６は、任意選択で、シグネチャ生成コンポーネント１１８を更に含むことができ、シグネチャ生成コンポーネント１１８は、マイクロフォン２０８によってキャプチャされるオーディオ信号の高周波部分に基づいて、オーディオベースのシグネチャを生成することができる。エミッタコンポーネント２２０は、オーディオ信号の圧縮された高周波部分をコンピューティングシステム１０４に放出するように構成され得る。あるいは、エミッタコンポーネント２２０は、シグネチャ生成コンポーネント１１８によって生成されるシグネチャを、コンピューティングシステム１０４に放出するように構成されることも可能である。更に別の例では、エミッタコンポーネント２２０は、スピーカ２１０の動作を制御するように構成されることも可能である。例えばエミッタコンポーネント２２０は、高周波オーディオ信号を、その中に符号化されるクライアントコンピューティングデバイス１０２（又はそのユーザの）識別子とともにスピーカ２１０に出力させることができる。クライアントコンピューティングデバイス１０２を識別するデータは、コンピューティングシステム１０４に対して既知であり得る。例えばコンピューティングシステム１０４は、クライアントコンピューティングデバイス１０２に命令を伝送することができ、この場合、命令は、エミッタコンポーネント２２０に、高周波オーディオ信号を出力するようにスピーカ２１０を制御させる。
【００４０】
クライアントメモリ２０６は、位置ベースのアプリケーション２２２を更に含んでもよく、位置ベースのアプリケーション２２２は、コンピューティングシステム１０４によって計算される位置を示すデータに基づいて、少なくとも１つの動作を実行することができる。例示の動作は、図１に関連して上記で説明されている。
【００４１】
次にシステム２００の動作を説明する。クライアントコンピューティングデバイス１０２は屋内環境内にあってよく、クライアントコンピューティングデバイス１０２と部屋内に共同設置される他のクライアントコンピューティングデバイスを識別することが望ましいことがある。図２に図示されるように、第２のクライアントコンピューティングデバイス２０２は、クライアントコンピューティングデバイス１０２と部屋内に共同設置される。サンプラコンポーネント２１６は、オーディオ信号をキャプチャするようにマイクロフォン２０８を制御することができる。オーディオ信号は、クライアントコンピューティングデバイス１０２の周囲に関する音響情報を含む。さらに、サンプラコンポーネント２１６は、オーディオ信号の低周波部分をフィルタアウトすることができ、これによりオーディオ信号の高周波部分を生成することができる。
【００４２】
圧縮コンポーネント２１８は、任意選択で、オーディオ信号の高周波部分を圧縮し、オーディオ信号の圧縮された高周波部分をコンピューティングシステム１０４に送信させることができる。あるいは、シグネチャ生成コンポーネント１１８はオーディオ信号の高周波部分を受け取って、オーディオ信号の高周波部分に基づいて、オーディオベースのシグネチャを生成することができる。シグネチャ生成コンポーネント１１８は、その後、シグネチャをコンピューティングシステム１０４に送信させることができる。
【００４３】
一方、第２のクライアントコンピューティングデバイス２０２は、サンプラコンポーネント２１６、圧縮コンポーネント２１８、シグネチャ生成コンポーネント１１８及びエミッタコンポーネント２２０のインスタンスをそれぞれ含むことができる。したがって、第２のクライアントコンピューティングデバイス２０２は、同様のポイントで時間内に（例えばマイクロフォン２０８がクライアントコンピューティングデバイス１０２でオーディオ信号をキャプチャした時から閾値時間内に）、オーディオ信号をキャプチャすることができ、（第２のクライアントコンピューティングデバイス２０２又はコンピューティングシステム１０４で）そのようなオーディオ信号に基づいてシグネチャを生成することができる。上述のように、コンピューティングシステム１０４は、クライアントコンピューティングデバイス１０２及び第２のクライアントコンピューティングデバイス２０２によってキャプチャされたオーディオ信号に基づいて生成されたシグネチャを比較することができる。
【００４４】
この例において、コンピューティングシステム１０４は、クライアントコンピューティングデバイス１０２と第２のクライアントコンピューティングデバイス２０２が同じ部屋に共同設置されていることを示すように、そのようなシグネチャが相互に十分に類似していることを判断することができる。この判断は、そのようなシグネチャに割り当てられるタイムスタンプに部分的に基づいて行うことができ、この場合、タイムスタンプの間の時間は、所定の閾値（例えば1分、2分、5分等）未満である。コンピューティングシステム１０４は、クライアントコンピューティングデバイス１０２及び／又は第２のクライアントコンピューティングデバイス２０２が同じ部屋内に共同設置されていることをこれらのデバイスに指示する信号を、クライアントコンピューティングデバイス１０２及び／又は第２のクライアントコンピューティングデバイス２０２に送信し得る。このことは、位置ベースのアプリケーション２２２を起動することができ、位置ベースのアプリケーション２２２は、そのようなコンピューティングデバイス１０２及び２０２が同じ部屋内にあることがわかると、コンピューティングデバイス１０２と２０２との間でのコンテンツ共有を可能にするように構成され得る。例えば位置ベースのアプリケーション２２２は、クライアントコンピューティングデバイス１０２のディスプレイ上に表示されるコンテンツを、クライアントコンピューティングデバイス２０２のディスプレイ上に同時に表示させることができる。
【００４５】
クライアントコンピューティングデバイス１０２と第２のクライアントコンピューティングデバイス２０２が同じ部屋内に共同設置されていることを、コンピューティングシステム１０４が十分な確実性で確かめることができないとき、コンピューティングシステム１０４は、クライアントコンピューティングデバイス１０２及び／又は第２のクライアントコンピューティングデバイス２０２に命令を送信して、それらのデバイスの周囲に関する更なる情報を取得することができる。一例において、コンピューティングシステム１０４は、スピーカ２１０に高周波オーディオ信号を出力させる命令をクライアントコンピューティングデバイス１０２に送信することができ、この場合、高周波オーディオ信号は、その信号内に符号化されるクライアントコンピューティングデバイス１０２の識別子を有する。第２のクライアントコンピューティングデバイス２０２は、例えば高周波オーディオ信号を（バックグラウンドで）リッスンすることができ、高周波オーディオ信号内に符号化される第１のクライアントコンピューティングデバイス１０２の識別情報を確かめることができる。第２のクライアントコンピューティングデバイス２０２は、その後、クライアントコンピューティングデバイス１０２の識別情報をコンピューティングシステム１０４に送信し、コンピューティングシステム１０４は、（例えば第２のクライアントコンピューティングデバイス２０２は、高周波オーディオ信号内に符号化されるクライアントコンピューティングデバイス１０２の識別除法を確認することができるので）第２のクライアントコンピューティングデバイス２０２がクライアントコンピューティングデバイス１０２に近接しているという知識に基づいて、クライアントコンピューティングデバイス１０２と第２のクライアントコンピューティングデバイス２０２が同じ部屋内に共同設置されていると判断することができる。
【００４６】
次に図３を参照すると、本明細書で説明される態様が特に良く適している例示の環境３００が図示されている。環境３００は、第１の部屋３０２と、（第１の部屋に隣接しているように図示される）第２の部屋３０４を含む。第１の部屋３０２では、ミーティングが実施されている。具体的に、第１の部屋３０２では、第１のユーザ３０６がラップトップコンピューティングデバイス３０８を使用しており、第２のユーザ３１０が携帯電話３１２を使用しており、第３のユーザ３１４がタブレットコンピューティングデバイス３１６を使用している。また、第１のユーザ３０６、第２のユーザ３１０及び第３のユーザ３１４には、第１の部屋３０２内に位置するディスプレイ３１８上に表示されるコンテンツが提供され得る。例えばディスプレイ３１８はテレビであってよい。第１の部屋３０２は無線アクセスポイント３２０も含む。無線アクセスポイント３２０は無線ルータであってよい。
【００４７】
第２の部屋３０４は、携帯電話３２２を使用している第４のユーザ３２１を含む。したがって、第４のユーザ３２０は、第１の部屋３０２で実施されているミーティングには含まれていない。
【００４８】
以前に説明したように、第１の部屋内の高周波オーディオは、第１の部屋３０２についてのオーディオベースのシグネチャとして機能することができ、一方、第２の部屋３０４内の高周波オーディオは、第２の部屋３０４についてのオーディオベースのシグネチャとして機能することができる。例えば第１の部屋３０２及び第２の部屋３０４内の異なる家具により、部屋３０２及び３０４内で観察される高周波オーディオが異なるものとなり得る。さらに、第１の部屋３０２及び第２の部屋３０４のサイズにより、部屋３０２及び３０４内で観測される高周波オーディオが異なるものとなることがある。同じ部屋内の異なるデバイスによって時間的に対応する時間にキャプチャされる高周波オーディオ信号によって生成される異なるハッシュは、部屋につき一意であり、相互に類似することがわかっている。これは、コンピューティングシステム１０４が、どのデバイスが第１の部屋３０２内に共同設置されているか、そしてどのデバイスが第２の部屋３０４内に共同設置されているかを区別することを可能にする。
【００４９】
動作において、ラップトップコンピューティングデバイス３０８、携帯電話３１２、タブレットコンピューティングデバイス３１６及びディスプレイ３１８（まとめて「デバイス」とも呼ばれる）は、オーディオ信号をキャプチャするように構成されることが可能であり、高周波オーディオ信号のハッシュを（例えばデバイス３０８、３１２、３１６及び３１８及び／又はコンピューティングシステム１０４によって）生成することができる。同様に、第２の部屋３０４内の携帯電話３２２は、オーディオ信号をキャプチャするように構成されることが可能であり、オーディオ信号の高周波部分のハッシュを（例えば携帯電話３２２又はコンピューティングシステム１０４によって）生成することができる。コンピューティングシステム１０４は、これらのハッシュを受け取り、これらのハッシュに対してクラスタリングアルゴリズムを実行することができる。この例では、結果として得られるクラスタは、１）第１の部屋３０２内のデバイス３０８、３１２、３１６及び３１８によってキャプチャされるオーディオ信号の高周波部分に基づくハッシュを備える第１のクラスタと；２）第２の部屋３０４内の携帯電話３２２によってキャプチャされるオーディオ信号の高周波部分に基づいて生成されるハッシュを含む第２のクラスタを含むことになる。したがって、コンピューティングシステム１０４は、デバイス３０８、３１２、３１６及び３１８が相互に第１の部屋３０２内に共同設置されていると判断することができ、また、コンピューティングシステム１０４は、クライアントコンピューティングデバイス３２２が異なる部屋にある（例えばデバイス３０８、３１２、３１６及び３１８とは同じ場所に設置されていない）と判断することができる。
【００５０】
上述のように、デバイス３０８、３１２、３１６及び３１８と携帯電話３２２は、それぞれの周囲に関する追加の情報をコンピューティングシステム１０４に送信することもできる。例えばデバイス３０８、３１２、３１６及び３１８はアクセスポイント３２０と通信してよく、一方、第２の部屋３０４内の携帯電話３２２は、異なるアクセスポイント（図示せず）と通信してもよい。デバイス３０８、３１２、３１６及び３１８は、アクセスポイント３２０の識別情報をコンピューティングシステム１０４に送信することができ、コンピューティングシステム１０４は、ハッシュをクラスタリングするときにアクセスポイント３２０の識別情報を用いることができる（例えばコンピューティングデバイスの２つ以上が、同じアクセスポイント３２０の識別情報を報告するとき、報告を行ったこれら２つのデバイスは、相互に比較的近接している可能性が高い）。
【００５１】
さらに、以前に示したように、１つ以上のデバイス３０８、３１２、３１６及び３１８並びに／又は携帯電話３２２に、それぞれのデバイス識別情報が符号化されている高周波オーディオ信号を放出させることもできる。デバイス３０８、３１２、３１６及び３１８並びに／又は携帯電話３２２のうちの１つ以上が、バックグラウンドで高周波オーディオ信号をリッスンしていることがあり、検出された識別情報をコンピューティングシステム１０４に報告することができる。例えばデバイス３１２が高周波オーディオ信号を放出すると、ラップトップコンピューティングデバイス３０８は、そのようなオーディオ信号をキャプチャし、その中に符号化されたデバイス３１２の識別情報を決定するように構成され、一方、第２の部屋３０４内のデバイス３２２は、（壁が部屋３０２と３０４を分離していることに起因して）高周波オーディオ信号を取得することができない。コンピューティングシステム１０４は、第１の部屋３０２内の１つ以上のデバイス３０８、３１２、３１６及び３１８からこの情報を提供され、どのデバイスが相互に第１の部屋３０２内に共同設置されているかを確かめることができる。
【００５２】
デバイス３０８、３１２、３１６及び３１８が相互に第１の部屋３０２内に共同設置されていると判断したことに応答して、コンピューティングシステム１０４は、例えばデバイス３０８、３１２、３１６及び３１８の間でコンテンツを共有することができるように（コンテンツは第２の部屋３０４内の携帯電話３２２とは共有されなくてよいが）、第１の部屋３０２内のデバイスのうちの少なくとも１つにおいて、位置ベースのアプリケーションを実行させることができる。例えばコンピューティングシステム１０４は、ディスプレイ３１８に表示される情報に対応するコンテンツを、（携帯電話３２２のディスプレイ上には提示されないが）コンピューティングデバイス３０８、３１２及び３１６のディスプレイ上にも同時に提示させ得る。
【００５３】
図４〜図１０は、クライアントコンピューティングデバイスの位置を示すコンピューティングデータに関する例示の方法を図示している。これらの方法は、順次実行される一連の動作として図示され、説明されるが、方法はその一連の順番によって限定されないことを理解され、認識されたい。例えば一部の動作は、本明細書で説明されるものと異なる順序で起こる可能性がある。加えて、ある動作が別の動作と同時に起こる可能性がある。さらに、一部の例では、本明細書で説明される方法を実装するために、必ずしも全ての動作が必要とされないことがある。
【００５４】
さらに、本明細書で説明される動作は、１つ以上のプロセッサによって実施され、かつ／又はコンピュータ読取可能媒体上に記憶されるコンピュータ実行可能命令であってよい。コンピュータ実行可能命令は、ルーチン、サブルーチン、プログラム、実行スレッド及び／又は同様のものを含むことができる。またさらに、方法の動作の結果を、コンピュータ読取可能媒体内に記憶して、ディスプレイデバイス上に表示し、かつ／又は同様のことが可能である。
【００５５】
次に図４を参照すると、クライアントコンピューティングデバイスが部屋内で第２のクライアントコンピューティングデバイスと共同設置されているという指示を、クライアントコンピューティングデバイスに出力することを容易にする例示の方法４００が図示されている。一例において、方法４００は、データセンタ内の少なくとも１つのサーバ上で実行され得る。方法４００は、４０２において開始し、４０４において、クライアントコンピューティングデバイスからオーディオ信号を受信する。オーディオ信号は、例えば人間の耳に非可聴の周波数を有する、高周波オーディオ信号とすることができ、あるいはこのような高周波オーディオ信号を含むことができる。さらに、４０４において受信されるオーディオ信号を圧縮してもよい。４０６において、高周波信号に基づいてシグネチャが生成される。シグネチャは、高周波オーディオ信号に対するハッシュアルゴリズムの実行によって生成されるハッシュであってよい。
【００５６】
４０８において、４０６で生成されたシグネチャを、第２のクライアントコンピューティングデバイスに対応する第２のシグネチャと比較する。例えば第２のシグネチャを、第２のクライアントコンピューティングデバイスによってキャプチャされるオーディオ信号に基づいて生成することができ、第１のシグネチャと第２のシグネチャは、接近した時間内に生成される。例えば第１のシグネチャは、該第１のシグネチャに割り当てられる第１のタイムスタンプを有することができ、第２のシグネチャは、該第２のシグネチャに割り当てられる第２のタイムスタンプを有することができ、この場合、第１のタイムスタンプ及び第２のタイムスタンプは、相互から所定の閾値時間内である。
【００５７】
４１０において、シグネチャが対応するかどうかに関する判断を行う。例えば２つのシグネチャが一緒にクラスタ内に含まれるかどうかに基づいて、この判断を行うことができる。別の例では、この判断は、２つのシグネチャ間の距離値が所定の閾値未満であるかどうかに基づいて、この判断を行うことができる。更に別の例では、シグネチャの高速フーリエ変換（ＦＦＴ）を相互に比較して、これらの変換が十分に類似している場合、シグネチャは対応すると考えることができる。４１０において、シグネチャが対応するとわかった場合、次いで４１２において、クライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されているという指示を、クライアントコンピューティングデバイスに（及び任意選択で第２のクライアントコンピューティングデバイスに）出力することができる。動作４１２の後、あるいは４１０においてシグネチャが対応しないと判断された場合、方法４００は４１４において完了する。
【００５８】
次に図５を参照すると、クライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されているという指示を出力することを容易にする例示の方法５００が図示されている。一例において、方法５００は、データセンタ内の少なくとも１つのサーバコンピューティングデバイスによって実行され得る。方法５００は、５０２において開始し、５０４において、クライアントコンピューティングデバイスからオーディオシグネチャを受け取る。オーディオシグネチャは、クライアントコンピューティングデバイスが存在する部屋を示す。したがって、方法５００では、クライアントコンピューティングデバイスが、そのシグネチャを生成することを確認することができる。
【００５９】
５０６において、５０４で受け取ったシグネチャを、第２のクライアントコンピューティングデバイスから受け取った第２のシグネチャと比較する。５０８において、シグネチャが対応するかどうか（例えばシグネチャが相互に十分類似するかどうか）に関する判断を行う。シグネチャが相互に対応する場合、方法は５１０に進み、５１０において、クライアントコンピューティングデバイスと第２のクライアントコンピューティングデバイスが同じ部屋内に共同設置されているという指示を、クライアントコンピューティングデバイスに（及び任意選択で第２のクライアントコンピューティングデバイスに）出力する。動作５１０の後、あるいは５０８においてシグネチャが対応しないと判断された場合、方法５００は５１２において完了する。
【００６０】
次に図６を参照すると、クライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されているという指示を出力することを容易にする例示の方法６００が図示されている。一例において、方法６００は、データセンタ内の少なくとも１つのサーバコンピューティングデバイスによって実行され得る。方法６００は、６０２において開始し、６０４において、第１のシグネチャを第２のシグネチャと比較する。第１のシグネチャは、第１のクライアントコンピューティングデバイスによってキャプチャされるオーディオ信号に基づいており、第２のシグネチャは、第２のクライアントコンピューティングデバイスによってキャプチャされるオーディオ信号に基づいている。
【００６１】
６０６において、シグネチャが対応するかどうかに関する判断を行う。以前に説明したように、シグネチャが対応するかどうかに関する判断は、シグネチャがいつ生成されたかを示す時間と、シグネチャ間の類似性の度合いに基づくものとすることができる。６０６においてシグネチャが対応することがわかった場合、次いで、６０８において、命令が第１のクライアントコンピューティングデバイスに送信される。この命令は、第１のクライアントコンピューティングデバイスに、その周囲に関する追加の情報を取得させる。この追加の情報は、クライアントコンピューティングデバイス上のセンサによって取得されるデータ（温度、湿度等）、第１のクライアントコンピューティングデバイスのスピーカによってキャプチャされる情報（例えばその中に第２のクライアントコンピューティングデバイスの識別情報が符号化される、高周波オーディオ信号）等を含み得る。６１０において、クライアントコンピューティングデバイスから追加の情報を受け取る。
【００６２】
６０６においてシグネチャが対応することがわかったことと、６１０における第１のクライアントコンピューティングデバイスからの追加の情報に基づいて、６１２において、第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されているかどうかに関する判断が行われる。６１２においてクライアントコンピューティングデバイスが共同設置されていることがわかった場合、次いで６１４において、第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されているという指示を、第１のクライアントコンピューティングデバイスに出力する。動作６１２の後、あるいは６０６においてシグネチャが対応していないとわかったこと、あるいは６１２においデバイスが共同設置されていないとわかった場合、方法６００は６１６において完了する。
【００６３】
次に図７を参照すると、部屋の時間変化型プロファイルを構築することを容易にする例示の方法７００が図示されている。例えば方法７００は、データセンタ内の少なくとも１つのサーバコンピューティングデバイスによって実行され得る。方法７００は、７０２において開始し、７０４において、位置についてのオーディオベースのシグネチャを受信する。これらのオーディオベースのシグネチャを、その位置（例えば特定の部屋）でキャプチャされたオーディオ信号の高周波部分に基づくものとしてラベル付けすることができる。さらに、これらのシグネチャは、これらのシグネチャに対応するタイムスタンプを有することができ、タイムスタンプは、時刻や時期等を指示することができる。
【００６４】
７０６において、その位置についての時間変化型プロファイルを、７０４で受信したシグネチャに基づいて構築する。したがって、例えばクライアントコンピューティングデバイスによってキャプチャされたオーディオ信号の高周波部分に基づいて生成されたシグネチャを受信すると、このシグネチャを時間変化型プロファイルと比較することができ、そのような比較に基づいて、高周波オーディオ信号が、プロファイルされた位置でキャプチャされたものであるかどうかに関する判断を行うことができる。方法７００は７０８において完了する。
【００６５】
次に図８を参照すると、クライアントコンピューティングデバイスが特定の（屋内の）位置にあることを判断することを容易にする例示の方法８００が図示されている。方法８００は、一例において、データセンタ内の少なくとも１つのサーバコンピューティングデバイスによって実行され得る。方法８００は、８０２において開始し、８０４において、クライアントコンピューティングデバイスからオーディオベースのシグネチャを受信する。あるいは、オーディオベースのシグネチャを受信するのではなく、クライアントコンピューティングデバイスによってキャプチャされたオーディオ信号の高周波部分を受信することができる。８０６において、オーディオベースのシグネチャを、位置についての時間変化型プロファイルと比較する。例えば時間変化型プロファイルは方法７００に従って構築され得る。８０８において、比較に基づいて、クライアントコンピューティングデバイスがその位置にあることを示す信号が生成される。例えばオーディオベースのシグネチャは、位置の時間変化型プロファイルに対応し得る。方法８００は８１０において完了する。
【００６６】
次に図９を参照すると、位置に対応するオーディオベースのシグネチャを送信するための例示の方法９００が図示されている。方法９００は、例えばクライアントコンピューティングデバイスによって実行され得る。方法９００は、９０２において開始し、９０４においてオーディオ信号をキャプチャする。特に、マイクロフォンに、特定の時間長のオーディオ信号をキャプチャさせることができる。９０６において、ハイパスフィルタをオーディオ信号に適用して、オーディオ信号の高周波部分を取得する。高周波部分は、例えば18kHz超、20kHz超等の周波数を含み得る。９０８において、オーディオ信号の高周波部分に基づいてシグネチャを生成する。例えばオーディオ信号の高周波部分のハッシュを生成することができ、シグネチャはそのようなハッシュを含むことができる。シグネチャは任意選択で、オーディオ信号がいつキャプチャされたかを示すタイムスタンプと、オーディオ信号をキャプチャしたクライアントコンピューティングデバイスの識別情報も含み得る。９１０において、シグネチャが、ネットワークアクセス可能なコンピューティングシステムに送信され、該ネットワークアクセス可能なコンピューティングシステムが、そのシグネチャを、他のクライアントコンピューティングデバイスによってキャプチャされたオーディオ信号に基づいて生成された他のシグネチャと比較することができる。方法９００は９１２において完了する。
【００６７】
次に図１０を参照すると、コンピューティングシステムへのクライアントコンピューティングデバイスの周囲に関するデータの供給を容易にする例示の方法１０００が図示されている。例えば方法１０００は、クライアントコンピューティングデバイスによって実行され得る。方法１０００は、１００２において開始し、１００４において、クライアントコンピューティングデバイスの周囲に関する情報を取得するよう、コンピューティングシステムから命令を受信する。これらの命令は、クライアントコンピューティングデバイスのセンサに、観測値等をキャプチャさせ得る。１００６において、１００４における命令の受信に応答して、クライアントコンピューティングデバイスと通信する無線アクセスポイントの識別情報を取得することができる。この情報は、Wi-Fi  SSID、Bluetooth（登録商標）トランスミッタのMACアドレス等を含み得る。
【００６８】
１００８において、１００４で受信した命令に基づいてオーディオ信号がキャプチャされる。例えばクライアントコンピューティングデバイスは、他のクライアントコンピューティングデバイスによって生成され得る高周波オーディオ信号を（バックグラウンドタスクとして）リッスンすることができ、この場合、そのような高周波オーディオ信号は、信号内に符号化される別のクライアントコンピューティングデバイスの識別情報を有し得る。１０１０において、クライアントコンピューティングデバイスと共同設置される第２のクライアントコンピューティングデバイスの識別情報が、キャプチャされたオーディオ信号に基づいて識別される。１０１２において、この情報（例えば１００６で決定された無線アクセスポイントの識別情報と、１０１０で決定された第２のクライアントコンピューティングデバイスの識別情報）をコンピューティングシステムに送信することができる。方法１０００は１０１４で完了する。
【００６９】
次に様々な例を説明する。
【００７０】
例１：コンピューティングシステムであって、プロセッサと、プロセッサによって実行されるロケーションシステムを備えるメモリとを備え、ロケーションシステムは：クライアントコンピューティングデバイスの位置を示すデータを、該クライアントコンピューティングデバイスの周囲のオーディオベースのシグネチャに基づいて計算し、オーディオベースのシグネチャが、クライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分に基づいており；クライアントコンピューティングデバイスの位置を示すデータを、クライアントコンピューティングデバイスに提供するように構成される、コンピューティングシステム。
【００７１】
例２：例１に係るコンピューティングシステムにおいて、ロケーションシステムは、クライアントコンピューティングデバイスによってキャプチャされるオーディオ信号の高周波部分に基づいて、オーディオベースのシグネチャを生成するように構成されるシグネチャ生成コンポーネントを備え、該シグネチャ生成コンポーネントは、オーディオ信号の高周波部分に対してハッシュを実行するように構成される。
【００７２】
例３：例１−２のいずれかに係るコンピューティングシステムにおいて、ロケーションシステムは、クライアントコンピューティングデバイスの位置を示すデータを、オーディオ信号に割り当てられるタイムスタンプに基づいて計算するように構成される。
【００７３】
例４：例１−３のいずれかに係るコンピューティングシステムにおいて、ロケーションシステムは、オーディオベースのシグネチャと部屋のオーディオベースのプロファイルとの間の比較を行うように構成される比較コンポーネントを備え、ロケーションシステムは、比較に基づいて、クライアントコンピューティングデバイスが部屋内に配置されていることを判断するように構成される。
【００７４】
例５：例１−４のいずれかに係るコンピューティングシステムにおいて、ロケーションシステムは、オーディオベースのシグネチャの基となったオーディオ信号がコンピューティングデバイスによってキャプチャされたときに部屋内にあるものとしてラベル付けされた、コンピューティングデバイスに対応するオーディオベースのシグネチャに基づいて、部屋のオーディオベースのプロファイルを構築するように構成されるプロファイル構築コンポーネントを備える。
【００７５】
例６：例５に係るコンピューティングシステムにおいて、プロファイル構築コンポーネントは、ロケーションシステムがクライアントコンピューティングデバイスは部屋内に配置されていると判断したことに応答して、オーディオベースのシグネチャに基づいて、オーディオベースのプロファイルを更新するように構成される。
【００７６】
例７：例１−６のいずれかに係るコンピューティングシステムにおいて、クライアントコンピューティングデバイスの位置を示すデータは、相対位置であり、ロケーションシステムは、クライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと部屋内に共同設置されていると判断するように構成される。
【００７７】
例８：例７に係るコンピューティングシステムにおいて、ロケーションシステムは、クライアントコンピューティングデバイスの位置を示すデータを、第２のオーディオベースのシグネチャに基づいて計算するように構成され、第２のオーディオベースのシグネチャは、第２のクライアントコンピューティングデバイスによってキャプチャされる第２のオーディオ信号の高周波部分に基づく。
【００７８】
例９：例８に係るコンピューティングシステムにおいて、オーディオベースのシグネチャは、該オーディオベースのシグネチャに割り当てられた第１のタイムスタンプを有し、第２のオーディオベースのシグネチャは、該第２のオーディオベースのシグネチャに割り当てられた第２のタイムスタンプを有し、第１のタイムスタンプと第２のタイムスタンプとの間の差は閾値以内である。
【００７９】
例１０：例８に係るコンピューティングシステムにおいて、ロケーションシステムは、クライアントコンピューティングデバイスに命令を送信するように構成されるトランスミッタコンポーネントを備え、命令は、クライアントコンピューティングデバイスに、クライアントコンピューティングデバイスの周囲に関する追加の情報を取得させる。
【００８０】
例１１：例８に係るコンピューティングシステムにおいて、追加の情報は、クライアントコンピューティングデバイスと通信する無線トランシーバの識別情報と、第２のクライアントコンピューティングデバイスの識別情報を備える。
【００８１】
例１２：例１０に係るコンピューティングシステムにおいて、命令は、クライアントコンピューティングデバイスに、クライアントコンピューティングデバイスの識別情報がその中に符号化される非可聴のオーディオ信号を放出するスピーカを駆動させる。
【００８２】
例１３：例１−１２のいずれかに係るコンピューティングシステムにおいて、オーディオ信号の高周波部分は、オーディオ信号のうち、少なくとも18KHz超の周波数である。
【００８３】
例１４：第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されていることを判断するための方法であって、当該方法は：第１のシグネチャを第２のシグネチャと比較するステップであって、第１のシグネチャは、第１のクライアントコンピューティングデバイスによってキャプチャされる第１のオーディオ信号の高周波部分に基づき、第２のシグネチャは、第２のクライアントコンピューティングデバイスによってキャプチャされる第２のオーディオ信号の高周波部分に基づく、ステップと；第１のシグネチャを第２のシグネチャと比較したことに基づいて、第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップと；第１のクライアントコンピューティングデバイスと前記第２のクライアントコンピューティングデバイスが共同設置されているという指示を、第１のクライアントコンピューティングデバイス又は第２のクライアントコンピューティングデバイスの少なくとも一方に送信するステップと；を備える。
【００８４】
例１５：例１４に係る方法において、第１のオーディオ信号の高周波部分は、第１のオーディオ信号のうち18KHz未満の周波数を除外し、第２のオーディオ信号の高周波部分は、第２のオーディオ信号のうち18KHz未満の周波数を除外する。
【００８５】
例１６：例１４−１５のいずれかに係る方法において、第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップは：第１のクライアントコンピューティングデバイスから、第１のクライアントコンピューティングデバイスがアクセスポイントと通信していることを示す第１のデータを受信するステップと；第２のクライアントコンピューティングデバイスから、第２のクライアントコンピューティングデバイスがアクセスポイントと通信していることを示す第２のデータを受信するステップと；第１のデータを第２のデータと比較するステップと；第１のデータを第２のデータと比較したことに基づいて、第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップとを備える。
【００８６】
例１７：例１４−１５のいずれかに係る方法において、第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップは：第１のクライアントコンピューティングデバイスから、第２のクライアントコンピューティングデバイスを識別するデータを受信するステップと；第２のクライアントコンピューティングデバイスを識別する前記データに基づいて、第１のクライアントコンピューティングデバイスが第２のクライアントコンピューティングデバイスと共同設置されていると判断するステップとを備える。
【００８７】
例１８：例１７に係る方法において、第１のシグネチャを第２のシグネチャと比較したことに応答して、第２のクライアントコンピューティングデバイスに命令を送信するステップであって、命令は、第２のクライアントコンピューティングデバイスにオーディオ信号を出力させ、第２のクライアントコンピューティングデバイスを識別するデータがオーディオ信号内に符号化されている、ステップと；命令を送信したことに応答して、第１のクライアントコンピューティングデバイスから、第２のクライアントコンピューティングデバイスを識別するデータを受信するステップと；を更に備える。
【００８８】
例１９：例１４−１８のいずれかに係る方法において、第１のシグネチャ及び第２のシグネチャに基づいて、部屋の時間変化型プロファイルを構築するステップを更に備える。
【００８９】
例２０：プロセッサによって実行されると、該プロセッサに：第１のクライアントコンピューティングデバイスと第２のクライアントコンピューティングデバイスが部屋内に共同設置されていると判断するステップであって、該判断は、部屋の第１のオーディオシグネチャと部屋の第２のオーディオシグネチャとに基づき、部屋の第１のオーディオシグネチャは、第１のクライアントコンピューティングデバイスによってキャプチャされる第１のオーディオ信号に基づき、部屋の第２のオーディオシグネチャは、第２のクライアントコンピューティングデバイスによってキャプチャされる第２のオーディオ信号に基づく、ステップと；第１のクライアントコンピューティングデバイスと第２のクライアントコンピューティングデバイスが部屋内に共同設置されていると判断したことに応答して、第１のクライアントコンピューティングデバイス又は前記第２のクライアントコンピューティングデバイスの少なくとも一方に命令を送信するステップであって、命令は、コンテンツを、第１のクライアントコンピューティングデバイスと第２のクライアントコンピューティングデバイスに同期的に表示させる、ステップと；を含む動作を実行させる命令を備えるコンピュータ読取可能記憶媒体。
【００９０】
次に、図１１を参照すると、本明細書で開示されるシステム及び方法に従って用いることができる例示のコンピューティングデバイス１１００の高レベルな図が示されている。例えばコンピューティングデバイス１１００は、クライアントコンピューティングデバイスの位置を示すデータを計算するシステムにおいて使用され得る。別の例として、コンピューティングデバイス１１００は、オーディオベースのシグネチャを計算するシステムにおいて使用され得る。コンピューティングデバイス１１００は、メモリ１１０４内に記憶される命令を実行する少なくとも１つのプロセッサ１１０２を含む。命令は、例えば上述の１つ以上のコンポーネントによって実行されるように説明される機能を実施するための命令、あるいは上述の方法のうちの１つ以上を実施するための命令であり得る。プロセッサ１１０２は、システムバス１１０６によってメモリ１１０４にアクセスすることができる。実行可能命令を記憶することに加えて、メモリ１１０４は、位置のプロファイル、オーディオベースのシグネチャ等も記憶することができる。
【００９１】
コンピューティングデバイス１１００は、システムバス１１０６を介してプロセッサ１１０２によってアクセス可能なデータストア１１０８を更に含む。データストア１１０８は、実行可能命令、クライアントコンピューティングデバイスの識別情報、オーディオベースのシグネチャ等を含み得る。コンピューティングデバイス１１００は、外部デバイスがコンピューティングデバイス１１００と通信することを可能にする入力インタフェース１１１０も含む。例えば入力インタフェース１１１０を使用して、外部コンピュータデバイスから、ユーザ等から命令を受け取ることができる。コンピューティングデバイス１１００は、該コンピューティングデバイス１１００を１つ以上の外部デバイスとインタフェースする出力インタフェース１１１２も含む。例えばコンピューティングデバイス１１００は、出力インタフェース１１１２によりテキスト、イメージ等を表示し得る。
【００９２】
入力インタフェース１１１０及び出力インタフェース１１１２を介してコンピューティングデバイス１１００と通信する外部デバイスを、ユーザが対話することができる実質的に任意のタイプのユーザインタフェースを提供する環境内に含めることができる。ユーザインタフェースのタイプの例には、グラフィカルユーザインタフェース及びナチュラルユーザインタフェース等が含まれる。例えばグラフィカルユーザインタフェースは、キーボード、マウス、リモートコントロール等のような入力デバイスを用いるユーザからの入力を受け入れ、ディスプレイのような出力デバイス上に出力を提供し得る。さらに、ナチュラルユーザインタフェースは、ユーザが、キーボード、マウス、リモートコントロール等といった入力デバイスによって課される制約から解放されるやり方でコンピューティングデバイス１１００と対話することを可能にし得る。むしろ、ナチュラルユーザインタフェースは、音声認識、タッチ及びスタイラス認識、画面上又は画面に近接するジェスチャ認識、エアジェスチャ、頭部及びアイトラッキング、ボイス及び音声、ビジョン、タッチ、ジェスチャ、マシンインテリジェンス等に依拠し得る。
【００９３】
加えて、単一のシステムとして図示されているが、コンピューティングデバイス１１００は分散システムであってもよいことが理解されよう。したがって、例えば幾つかのデバイスが、通信接続を介して通信し、コンピューティングデバイス１１００によって実行されるものとして説明されるタスクを集合的に実行してもよい。
【００９４】
本明細書で説明される様々な機能を、ハードウェア、ソフトウェア又はその任意の組合せによって実装することができる。ソフトウェアで実装されるとき、その機能は、コンピュータ読取可能媒体上に１つ以上の命令又はコードとして記憶されてもよく、あるいはこれらにまたがって送信されてもよい。コンピュータ読取可能媒体はコンピュータ読取可能記憶媒体を含む。コンピュータ読取可能記憶媒体は、コンピュータによってアクセスすることができる任意の利用可能な記憶媒体とすることができる。限定ではなく例として、そのようなコンピュータ読取可能記憶媒体は、RAM、ROM、EEPROM、CD-ROM又は他の光ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージデバイス、あるいは命令又はデータ構造の形で所望のプログラムコードを担持又は記憶するのに使用することができ、かつコンピュータによってアクセス可能な任意の他の媒体を備え得る。本明細書で使用されるとき、ディスク（disk、disc）は、コンパクトディスク（CD）、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク（DVD）、フロッピーディスク及びBlu-ray（登録商標）ディスク（BD）を含み、ここで、diskは通常データを磁気的に再生し、discは通常レーザを用いてデータを光学的に再生する。さらに、伝搬信号は、コンピュータ読取可能記憶媒体の範囲内に含まれない。コンピュータ読取可能媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、通信媒体も含む。例えば接続（コネクション）は通信媒体とすることができる。例えばソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（DSL）、あるいは赤外線、無線及びマイクロ波のような無線技術を使用して、ウェブサイト、サーバ又は他のリモートソースから送信される場合、その同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（DSL）、あるいは赤外線、無線及びマイクロ波のような無線技術は、通信媒体の定義に含まれる。上記の任意の組合せもコンピュータ読取可能媒体の範囲内に含まれるものとする。
【００９５】
あるいはまた、本明細書で説明される機能を、少なくとも部分的に１つ以上のハードウェアロジックコンポーネントによって実行することができる。限定ではないが、例えば使用することができるハードウェアロジックコンポーネントの例示のタイプには、フィールドプログラマブルゲートアレイ（FPGA）、特定プログラム向け集積回路（ASIC）、特定プログラム向け規格品（ASSP）、システムオンチップシステム（SOC）、結合プログラム可能論理回路（CPLD）等が含まれる。
【００９６】
上記の説明には、１つ以上の実施形態の例が含まれる。当然ながら、上述の態様を説明する目的のために上記したデバイス又は方法について考えられる修正又は代替の全てを説明することはできないが、当業者には、様々な態様の多くの更なる修正又は組合せが可能であることが認識されよう。したがって、説明される態様は、添付の特許請求の範囲の精神及び範囲内にあるそのような代替、修正及び変形を全て包含するように意図される。さらに、詳細な説明又は特許請求の範囲のいずかで使用される「含む」という用語の範囲について、そのような用語は、「備える」という用語が請求項で遷移語（transitional  word）として用いられるときに解釈されるとおりに、「備える」という用語と同様に包括的であるように意図される。
【図１】
2017528687.tif 000003
【図２】
2017528687.tif 000004
【図３】
2017528687.tif 000005
【図４】
2017528687.tif 000006
【図５】
2017528687.tif 000007
【図６】
2017528687.tif 000008
【図７】
2017528687.tif 000009
【図８】
2017528687.tif 000010
【図９】
2017528687.tif 000011
【図１０】
2017528687.tif 000012
【図１１】
2017528687.tif 000013
【国際調査報告】
2017528687.tif 000014
2017528687.tif 000015