(57)【要約】  エンコードおよびブロードキャストシステム、または、復号および受信システム200、202のプロセッサ内での使用のために適切な、オーディオコンテンツ内に埋め込まれた人間不可聴音響信号240をエンコードおよび復号する方法。バイナリメッセージが、4または8のシンボルのグループから選択されたシンボルのシーケンス1000、2000へエンコードされ、各シンボルは、関連付けられた周波数で2つまたは3つのバイナリビットをエンコードする。人間不可聴音響信号は、ヘッダ1002〜1008、2002〜2009においてエンコードされた信号の長さを有する可変長を有し得る。エンコードは、送信のロバスト性を高めるために、順方向誤り訂正と巡回冗長符号化との両方を使用する。さらに、シンボルによってエンコードされるバイナリビットは、単一のビット変換のハミング距離が、隣接する周波数に関連付けられたシンボル間に存在するように選択され、これによって、周波数誤りは、単一のビット誤りしか生成しないようになる。
2017536749.tif 000002
【特許請求の範囲】
【請求項１】
復号デバイスのプロセッサにおいて、オーディオコンテンツ内に埋め込まれた人間不可聴音響信号を復号する方法であって、
a.前記人間不可聴音響信号を含む前記オーディオコンテンツのデジタル化されたバージョンのサンプルを、復号デバイスの前記プロセッサにおいて受信するステップと、
b.前記人間不可聴音響信号の先頭に潜在的に関連付けられた候補サンプルを識別するために、前記サンプル内の前記オーディオコンテンツを、前記人間不可聴音響信号のプレフィクスのためのプレフィクステンプレートと相関付けるステップと、
c.シンボルシーケンスを生成するために、前記候補サンプルのうちのサンプルの周波数領域変換を繰り返し実行し、その周波数領域変換を、2つ以上の候補シンボルに関連付けられた周波数特性と比較するステップと、
d.前記シンボルシーケンスの有効性を判定するために、前記シンボルシーケンスに対して誤り訂正復号を実行するステップと、
e.有効なシンボルシーケンスが識別されると、前記シンボルシーケンスを、前記人間不可聴音響信号の復号された等価物として送信するステップと、
を備える方法。
【請求項２】
前記シンボルシーケンスは、誤り訂正符号を用いてエンコードされる、請求項1に記載の方法。
【請求項３】
前記誤り訂正符号は、順方向誤り訂正符号である、請求項2に記載の方法。
【請求項４】
前記誤り訂正符号は、巡回冗長検査符号である、請求項2に記載の方法。
【請求項５】
マイクロホン、内蔵スピーカ、オーディオ入力、およびオーディオ出力のうちの1つまたは複数の使用によって前記人間不可聴音響信号を検出するステップ、をさらに備える請求項1に記載の方法。
【請求項６】
人間不可聴音響信号の存在を評価するために、オーディオサンプルを求めて繰り返し問い合わせるステップ、をさらに備える請求項1に記載の方法。
【請求項７】
コンテンツ管理システムへのメッセージを生成するために、前記人間不可聴音響信号の前記復号された等価物を使用するステップと、ユーザへの提示のためのコンテンツを、前記コンテンツ管理システムから受信するステップと、をさらに備える請求項1に記載の方法。
【請求項８】
前記コンテンツ管理システムへの前記メッセージは、時間データ、日付データ、加速度計データ、地理的データ、人口統計データ、コンテンツ配信デバイスデータ、およびコンテンツ配信デバイスユーザデータのうちの1つまたは複数を備える、請求項7に記載の方法。
【請求項９】
前記コンテンツ管理システムによって提供された前記コンテンツが、前記受信の時間後、表示時間を示すインジケーションとともに配信される、請求項7に記載の方法。
【請求項１０】
候補シンボルの前記周波数特性は、一般的な人間の聴覚の範囲外の周波数範囲にある、請求項1に記載の方法。
【請求項１１】
前記音響信号は、30Hz未満および18kHz超のうちの1つまたは複数における周波数にある、請求項10に記載の方法。
【請求項１２】
前記候補シンボルは、2つ以上の論理ビットのシリーズをエンコードする、請求項1に記載の方法。
【請求項１３】
人間不可聴候補シンボルは、前記人間不可聴音響信号に含まれるシンボルの数のカウントを含む、請求項1に記載の方法。
【請求項１４】
有効であるべきと判定されたシンボルシーケンスから、シンボルの数のカウントを取得し、その後、サンプルの周波数領域変換を繰り返し実行し、その周波数領域変換を、2つ以上の候補シンボルに関連付けられた周波数特性と比較するステップと、前記人間不可聴音響信号における前記シンボルの前記数を生成するために、サンプルシーケンスについて誤り訂正を実行するステップと、をさらに備える請求項13に記載の方法。
【請求項１５】
少なくとも4つの候補シンボルが候補サンプルと比較され、前記4つの候補シンボルは各々、少なくとも2つのバイナリビットをエンコードする、請求項1に記載の方法。
【請求項１６】
前記候補シンボルによってエンコードされた前記バイナリビットが、隣接する周波数に関連付けられた候補シンボル間の1ビット変換のハミング距離を生成するために選択される、請求項15に記載の方法。
【請求項１７】
バイナリメッセージを、2つ以上のシンボルのグループから選択されたシンボルのシーケンスへエンコードすることによって、人間不可聴音響信号を生成するステップであって、各シンボルは、周波数特性に関連付けられた、生成するステップと、前記シンボルに関連付けられた前記周波数特性を使用して、サンプルのシーケンスのデジタル化されたバージョンのオーディオサンプルを生成するステップと、前記オーディオサンプルを、オーディオデバイスによる再生のために提供するステップと、をさらに備える請求項1に記載の方法。
【請求項１８】
前記バイナリメッセージは、順方向誤り訂正を使用して、シンボルのシーケンスへエンコードされる、請求項17に記載の方法。
【請求項１９】
前記バイナリメッセージは、巡回冗長符号化を使用して、シンボルのシーケンスへエンコードされる、請求項17に記載の方法。
【請求項２０】
受取人へのオーディオコンテンツとしての配信のために、バイナリメッセージを人間不可聴音響信号へエンコードする方法であって、
a.前記バイナリメッセージを、2つ以上のシンボルのグループから選択されたシンボルのシーケンスへエンコードするステップであって、各シンボルは、周波数特性に関連付けられ、順方向誤り訂正および巡回冗長符号化のうちの1つまたは複数の使用を備える、エンコードするステップと、
b.前記シンボルに関連付けられた前記周波数特性を使用して、サンプルのシーケンスのデジタル化されたバージョンのオーディオサンプルを生成するステップと、
c.オーディオデバイスによる再生のために、前記オーディオサンプルを提供するステップと、
を備える方法。
【請求項２１】
ユーザへの提示のためのコンテンツを配信することに応じて、復号された人間不可聴音響信号を使用して生成されたメッセージを受信するステップ、をさらに備える請求項20に記載の方法。
【請求項２２】
前記メッセージは、時間データ、日付データ、加速度計データ、地理的データ、人口統計データ、コンテンツ配信デバイスデータ、およびコンテンツ配信デバイスユーザデータのうちの1つまたは複数を備える、請求項21に記載の方法。
【請求項２３】
コンテンツ管理システムによって提供された前記コンテンツが、前記受信の時間後、表示時間を示すインジケーションとともに配信される、請求項21に記載の方法。
【請求項２４】
シンボルの前記周波数特性は、一般的な人間の聴覚の範囲外の周波数範囲にある、請求項20に記載の方法。
【請求項２５】
前記音響信号は、30Hz未満および18kHz超のうちの1つまたは複数における周波数にある、請求項24に記載の方法。
【請求項２６】
候補シンボルは、2つ以上の論理ビットのシリーズをエンコードする、請求項20に記載の方法。
【請求項２７】
人間不可聴候補シンボルは、前記人間不可聴音響信号に含まれるシンボルの数のカウントを含む、請求項20に記載の方法。
【請求項２８】
前記バイナリメッセージをエンコードする際に、少なくとも4つのシンボルが使用され、前記4つのシンボルは各々、少なくとも2つのバイナリビットをエンコードする、請求項20に記載の方法。
【請求項２９】
受取人へのオーディオコンテンツとしての配信のために、バイナリメッセージを人間不可聴音響信号へエンコードする方法であって、
a.前記バイナリメッセージを、2つ以上のシンボルのグループから選択されたシンボルのシーケンスへエンコードするステップであって、各シンボルは、周波数特性に関連付けられ、前記シンボルによってエンコードされたバイナリビットが、隣接する周波数に関連付けられたシンボル間の1ビット変換のハミング距離を生成するために選択される、エンコードするステップと、
b.前記シンボルに関連付けられた前記周波数特性を使用して、サンプルのシーケンスのデジタル化されたバージョンのオーディオサンプルを生成するステップと、
c.オーディオデバイスによる再生のために、前記オーディオサンプルを提供するステップと、
を備える方法。
【請求項３０】
ユーザへの提示のためのコンテンツを配信することに応じて、復号された人間不可聴音響信号を使用して生成されたメッセージを受信するステップ、をさらに備える請求項29に記載の方法。
【請求項３１】
前記メッセージは、時間データ、日付データ、加速度計データ、地理的データ、人口統計データ、コンテンツ配信デバイスデータ、およびコンテンツ配信デバイスユーザデータのうちの1つまたは複数を備える、請求項30に記載の方法。
【請求項３２】
コンテンツ管理システムによって提供された前記コンテンツが、前記受信の時間後、表示時間を示すインジケーションとともに配信される、請求項30に記載の方法。
【請求項３３】
シンボルの前記周波数特性は、一般的な人間の聴覚の範囲外の周波数範囲にある、請求項29に記載の方法。
【請求項３４】
前記音響信号は、30Hz未満および18kHz超のうちの1つまたは複数における周波数にある、請求項33に記載の方法。
【請求項３５】
候補シンボルは、2つ以上の論理ビットのシリーズをエンコードする、請求項29に記載の方法。
【請求項３６】
人間不可聴候補シンボルは、前記人間不可聴音響信号に含まれるシンボルの数のカウントを含む、請求項29に記載の方法。
【請求項３７】
前記バイナリメッセージをエンコードする際に、少なくとも4つのシンボルが使用され、前記4つのシンボルは各々、少なくとも2つのバイナリビットをエンコードする、請求項29に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、モバイルデバイスによって受信された1つまたは複数の不可聴信号に基づいて、遠隔コンテンツプロバイダからそのデバイスへコンテンツを配信するためのシステムおよび方法に関する。
【０００２】
関連出願の相互参照
本出願は、その全体を本明細書に組み込まれている2015年10月15日出願の米国仮特許出願第62/064,468号の利益を主張する。本出願は、公開第US2015-0113094号として2015年4月23日に米国において公開され、その各々が、その全体を参照によって本明細書に組み込まれている2013年3月14日出願の米国仮特許出願第61/781,107号と2012年5月1日出願の第61/640,900号との利益を主張する2013年5月1日出願のPCT出願第US/2013/039079号に関連する。
【背景技術】
【０００３】
不可聴シグナリングトーンを、公衆または個人の環境においてブロードキャストまたは可聴的に再生されるか、または電子的に配信されるオーディオコンテンツへ含めるための様々な提案がなされている。不可聴信号は、ポータブル多機能デバイスのような復号デバイスによる受信および復号のために設計される。たとえば、不可聴信号は、復号デバイスのマイクロホンによって受信されるオーディオコンテンツに埋め込まれ得る。この信号のソースは、ポータブル多機能デバイスの近傍内の任意のオーディオスピーカであり得るか、または、オーディオコンテンツは、音楽プレーヤモジュールのような内蔵オーディオ生成アプリケーション、または、ビデオプレーヤモジュールのような内蔵ビデオプレーヤアプリケーションによる復号のために供給され得るか、または、復号デバイスの(ヘッドホンジャックのような)ラインアウトポートへ提供され得るか、または、復号デバイスの外部スピーカへ提供され得る。
【０００４】
不可聴信号をオーディオコンテンツへ埋め込むための例示的なシステムおよび方法が、上記参照されたPCT出願においてのみならず、その全体が本明細書において参照によって組み込まれている以下の米国特許出願、すなわち、2011年11月1日出願の「SYSTEM EFFECTIVE TO MODULATE A CODE AND PROVIDE CONTENT TO A USER」と題された米国特許出願第13/286,613号、2011年11月1日出願の「SYSTEM EFFECTIVE TO DEMODULATE A MODULATED CODE AND PROVIDE CONTENT TO A USER」と題された米国特許出願第13/286,670号、および2011年11月1日出願の「DEVICE EFFECTIVE TO MODULATE A CODE AND TO PROVIDE CONTENT TO A USER」と題された米国特許出願第13/286,727号においても提供される。
【０００５】
これらの出願に記載されたような不可聴信号は、人間の聴覚の範囲外である信号であるか、または、他の方式でなければ人間によって検出可能ではない他の信号である。たとえば、いくつかの実施形態では、不可聴信号は、20,000Hzよりも高い、または、20Hz未満の周波数によって、または、通常は不可聴である20,000Hz付近または20Hz付近の周波数帯域において生成され得る。上記参照された特許出願において記載されるように、不可聴信号は、論理0と1とのシリーズである、変調された符号の形態であり得る。変調された符号は、音源によって繰り返しかつ定期的に出力され、これによって、復号デバイスは、不可聴信号に関連付けられた論理0と1とのシリーズを判定するために、不可聴信号における変調された符号を識別し、復調することが可能となる。いくつかの実施形態では、論理0と1とのシリーズは、たとえば、様々な通信プロトコルを介してコンテンツ管理システムへ送信され得る符号化された識別子であり得る。
【０００６】
本明細書で使用されるように、不可聴信号という用語は、任意のタイプの信号、符号、周波数、波形、またはその他の場合には、ソースによって送信され、復号デバイスによって検出され得るものを称するために広く使用される。不可聴信号は、復号デバイスにおいてパッシブに実行する処理またはルーチンによって、復号デバイスによって処理され得る。
【０００７】
不可聴信号を生成するための以前に記載されたシステムは、データを効率的に取り扱うために、たとえば、異なるアプリケーションのために異なるサイズのデータを埋め込むために、特に、データ送信の完全性、および、システムの柔軟性において、多くの制限を有する。したがって、以前に利用可能であったものよりも高い柔軟性および機能性を可能にするために、不可聴信号をフォーマットおよび送信する方法における改良のためのニーズがある。
【発明の概要】
【課題を解決するための手段】
【０００８】
本発明の原理に従って、これらのニーズは、エンコードおよびブロードキャストシステム、または、復号および受信システムのプロセッサ内での使用のために適切な、オーディオコンテンツ内に埋め込まれた人間不可聴音響信号をエンコードし復号する方法によって対処される。本発明の原理に従って、バイナリメッセージを、各々が周波数特性に関連付けられた2つ以上のシンボルのグループから選択されたシンボルのシーケンスへエンコードするステップと、シンボルに関連付けられた周波数特性を使用して、サンプルのシーケンスのデジタル化されたバージョンのオーディオサンプルを生成するステップと、オーディオサンプルを、オーディオデバイスによる再生のために提供するステップとによって、バイナリメッセージが、受取人へのオーディオコンテンツとしての配信のために、人間不可聴音響信号へエンコードされる。
【０００９】
本明細書に記載された実施形態では、エンコードするステップは、送信のロバスト性を高めるために、順方向誤り訂正および巡回冗長符号化のうちの1つまたは複数、または両方の使用を備え得る。さらに、シンボルによってエンコードされるバイナリビットは、単一のビット変換のハミング距離が、隣接する周波数に関連付けられたシンボル間に存在するように選択され、これによって、周波数誤りは、単一のビット誤りしか生成しないようになる。
【００１０】
信号の復号は、人間不可聴音響信号を含むオーディオコンテンツのデジタル化されたバージョンのサンプルを、復号デバイスのプロセッサへ配信するステップと、前記人間不可聴音響信号の先頭に潜在的に関連付けられた候補サンプルを識別するために、サンプル内のオーディオコンテンツを、人間不可聴音響信号のプレフィクスのためのプレフィクステンプレートと相関付けるステップと、シンボルシーケンスを生成するために、候補サンプルのうちのサンプルの周波数領域変換を繰り返し実行し、その周波数領域変換を、2つ以上の候補シンボルに関連付けられた周波数特性と比較するステップと、を含み得る。
【００１１】
サンプルシーケンスを有効化するために、その有効性を判定するために、シンボルシーケンスに対して誤り訂正復号が実行され得、これによって、有効なシンボルシーケンスが識別されると、このシンボルシーケンスは、人間不可聴音響信号の復号された等価物として送信され得る。
【００１２】
人間不可聴音響信号は、他のオーディオコンテンツとともに送信され得るか、または、他のオーディオコンテンツから個別に提供され得る。さらに、音響信号は、再生のために、ブロードキャストされ得るか、または、記録媒体に記憶され得る。人間不可聴音響信号の検出は、たとえば、マイクロホン、内蔵スピーカ、オーディオ入力、またはオーディオ出力によってなされ得る。パッシブな検出システムの場合、プロセッサは、人間不可聴音響信号の存在を評価するために、オーディオソースからのオーディオサンプルを求めて定期的に問い合わせ得る。
【００１３】
人間不可聴信号は、配信可能なコンテンツに関するメッセージングのために使用され得、このケースでは、人間不可聴音響信号の復号された等価物が、ユーザへの提示のためのコンテンツを提供し得るコンテンツ管理システムへのメッセージを生成するために使用される。復号された信号とともに提供され得る他の情報は、時間データ、日付データ、加速度計データ、地理的データ、人口統計データ、コンテンツ配信デバイスデータ、およびコンテンツ配信デバイスユーザデータを含む。さらに、コンテンツ管理システムによって提供されるコンテンツは、受信の時間後に、提示時間を示すインジケーションとともに配信され得る。
【００１４】
シンボルは、様々な実施形態において、2つ以上の論理ビットのシリーズをエンコードし得、たとえば、4つの候補シンボルが、各々2ビットをエンコードし得るか、または、8つの候補シンボルが、各々3ビットをエンコードし得る。さらに、エンコードされた人間不可聴信号のフォーマットは、人間不可聴音響信号に含まれるシンボルの数のカウントを含み得、これによって、復号時に、そのカウントが最初に復号され、その後、後続するシンボルが、そのカウントに対応する数において復号される。
【００１５】
本開示は、以下の図面と連携して採用されたいくつかの例示的な実施形態の詳細説明からより容易に理解されるであろう。
【図面の簡単な説明】
【００１６】
【図１】コンテンツ管理システムと通信しているポータブル多機能デバイスを例示する、本発明の使用の環境の実施形態を図示する図である。
【図２Ａ】本発明の原理の第1の実施形態に従ってデータを送信するために使用される、ビーコン反復1000のコンテンツを例示する図解である。
【図２Ｂ】不可聴オーディオトーンとして図2Aのビーコン反復において使用されるシンボルのエンコードを例示する図解である。
【図３】関連付けられたシンボル値を識別するためにそのシンボル長さの復号の一部として、受信されたビーコン反復のシンボル長さの区分を例示する図解である。
【図４】本発明の原理の第1の実施形態に従って、対応するシンボルをクライアントアプリケーションへ配信するために、受信されたビーコン反復を識別し復号するための処理を例示するフローチャートである。
【図５】本発明の原理の第2の実施形態に従ってデータを送信するために使用される可変長ビーコン反復2000のコンテンツを例示する図解である。
【図６】不可聴オーディオトーンとして、図5のビーコン反復において使用されるシンボルのエンコードを例示する図解である。
【図７Ａ】図5の可変長ビーコン反復2000のプレフィクス2002のフォーマットを例示する図である。
【図７Ｂ】図5の可変長ビーコン反復2000のための1バイトペイロードのためのペイロードフォーマットを例示する図である。
【図７Ｃ】図5の可変長ビーコン反復2000のための6バイトペイロードのためのペイロードフォーマットを例示する図である。
【図７Ｄ】図5の可変長ビーコン反復2000のための32バイトペイロードのためのペイロードフォーマットを例示する図である。
【図８】本発明の原理の第2の実施形態に従って、対応するシンボルをクライアントアプリケーションへ配信するために、図5のフォーマットにおいて受信されたビーコン反復を識別し復号する処理を例示するフローチャートである。
【発明を実施するための形態】
【００１７】
本明細書で開示されたコンテンツ配信および管理システムおよび処理の構成、機能、および使用の原理の全体的な理解を提供するために、本開示の様々な限定しない実施形態が記載されるであろう。これら限定しない実施形態の1つまたは複数の例が、添付図面に例示される。当業者は、具体的に本明細書に記載され、添付図面に例示されたシステムおよび方法が、限定しない実施形態であることを理解するであろう。1つの限定しない実施形態に関連付けて例示または記載された特徴は、他の限定しない実施形態の特徴と組み合わされ得る。そのような修正および変形は、本開示のスコープ内に含まれるべきであると意図される。
【００１８】
「様々な実施形態」、「いくつかの実施形態」、「1つの実施形態」、「いくつかの例示的な実施形態」、「1つの例示的な実施形態」、または「実施形態」に対する明細書にわたる参照は、実施形態に関連して記載された特定の特徴、構成、または特性が、少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書を通じた適所における「様々な実施形態において」、「いくつかの実施形態において」、「1つの実施形態において」、「いくつかの例示的な実施形態」、「1つの例示的な実施形態」、または「実施形態において」というフレーズの出現は、必ずしもすべてが同じ実施形態を参照している必要はない。さらに、特定の特徴、構成、または特性は、1つまたは複数の実施形態において任意の適切な方式で組み合わされ得る。
【００１９】
現在開示されている実施形態は一般に、データを不可聴シグナリングトーンで送信するために使用されるビーコン反復フォーマットと、送信された不可聴信号トーンを検出するための復号デバイスの構成とを対象とする。復号デバイスは、その後、受信された不可聴信号を示すインジケーションを、たとえばワイヤレスで、コンテンツ管理システムへ供給するように構成され得る。復号デバイスから受信された不可聴信号を示すインジケーションを受信すると、コンテンツ管理システムは、上記参照した先行特許出願に詳細に議論されているように、受信された特定の不可聴信号に基づいて、特定のコンテンツを復号デバイスへ提供し得る。
【００２０】
図1は、この実施形態では、ポータブル多機能デバイス202である復号デバイスによって復号された不可聴信号とともにアフィリエートされた情報を受信し処理するコンテンツ管理システム200を備えた本開示の1つの例示的な実施形態を例示する。この実施形態では、コンテンツ管理システム200はその後、どのコンテンツをユーザへ提供するのかを決定し得、その後、このコンテンツを、ユーザに関連付けられたポータブル多機能デバイス202へワイヤレスに提供し得る。コンテンツ管理システム200は、たとえば、パーソナルコンピュータ、ラップトップ、サーバ、メインフレーム、または多数のコンピュータの集合(たとえば、ネットワーク)のような、任意の適切なプロセッサベースのデバイスまたはシステムを使用して提供され得る。コンテンツ管理システム200は、1つまたは複数のプロセッサ214と、1つまたは複数のコンピュータメモリユニット216とを含み得る。便宜上、唯一のプロセッサ214および唯一のメモリユニット216が図1に図示されている。プロセッサ214は、メモリユニット216に記憶されたソフトウェア命令を実行し得る。プロセッサ214は、1つまたは多数のコアを有する集積回路(IC)として実施され得る。メモリユニット216は、揮発性および/または不揮発性のメモリユニットを含み得る。揮発性メモリユニットは、たとえば、ランダムアクセスメモリ(RAM)を含み得る。不揮発性メモリユニットは、読取専用メモリ(ROM)のみならず、たとえば、ハードディスクドライブ、光ディスクドライブ等のような機械的な不揮発性メモリシステムをも含み得る。RAMおよび/またはROMメモリユニットは、たとえば、ディスクリートなメモリICとして実施され得る。
【００２１】
メモリユニット216は、コンテンツ管理エンジン218のために実行可能なソフトウェアおよびデータを記憶し得る。コンテンツ管理システム200のプロセッサ214が、コンテンツ管理エンジン218のソフトウェアを実行する場合、プロセッサ214は、コンテンツ管理システム200の様々な動作を実行させられ得る。動作は、限定することなく、ポータブル通信デバイス202から不可聴信号を示すインジケーションを(たとえば、符号化された識別子234の形態で)受信するステップと、符号化された識別子に関連付けられたコンテンツを識別するステップと、ポータブル通信デバイス202から受信した補足情報を受信し分析するステップと、コンテンツ236をワイヤレス通信ネットワークを経由してポータブル通信デバイス202へ送信するステップとを含み得る。コンテンツ管理エンジン218によって使用されるデータは、たとえば電子コンピュータデータベースであり得るコンテンツデータベース220のような様々なソースからのものであり得る。コンテンツデータベース220に記憶されるデータは、ハードディスクドライブ、読取専用メモリ(たとえば、ROM IC)、または他のタイプの不揮発性メモリのような不揮発性コンピュータメモリに記憶され得る。また、コンテンツデータベース220のデータは、たとえば、遠隔電子コンピュータシステムに記憶され得る。コンテンツデータベース220内のデータは、限定することなく、ビデオコンテンツ、オーディオコンテンツ、テキストベースのコンテンツ等であり得る。コンテンツデータベース220内のコンテンツは、たとえば、特定の符号化された識別子に紐付けられ得る。いくつかの実施形態では、コンテンツプロバイダ230は、コンテンツ管理システム200のコンテンツを提供および管理するために、ウェブポータル、アプリケーションプログラムインターフェース(API)、または、他の形態のインターフェースを使用し得る。たとえば、コンテンツプロバイダ230は、符号化された識別子「X」を供給するポータブル多機能デバイス202へコンテンツ「A」、「B」、および「C」を送信するようにとの指示をコンテンツ管理システム200へ提供し得る。
【００２２】
たとえば、電子コンピュータデータベースであり得るユーザデータベース222もまた、コンテンツ管理エンジン218によって使用され得る。ユーザデータベース222に記憶されたデータは、ハードディスクドライブ、読取専用メモリ(たとえば、ROM IC)、または他のタイプの不揮発性メモリのような不揮発性コンピュータメモリに記憶され得る。また、ユーザデータベース222のデータは、たとえば、遠隔電子コンピュータシステムに記憶され得る。ユーザデータベース222に記憶されたデータは、トリガ、ユーザ選好等のような、コンテンツ管理システム200の特定のユーザに関する情報に関連し得る。
【００２３】
コンテンツ管理システム200は、電気通信ネットワーク232を経由してポータブル多機能デバイス202と通信し得る。通信ネットワークは、インターネット、LAN、WAN、GPRSネットワーク等を含む多くのコンピュータおよび/またはデータネットワークを含み得、ワイヤおよび/またはワイヤレス通信リンクを備え得る。コンテンツ管理システム200と通信するポータブル多機能デバイス202は、たとえば、パーソナルコンピュータ、ラップトップコンピュータ、またはネットブックコンピュータのようなネットワークを介した通信のために適切な任意のタイプのクライアントデバイスであり得る。いくつかの例示的な実施形態では、ユーザは、しばしばスマートフォンと称される、ハンドヘルドコンピュータとモバイル電話との結合であるポータブル多機能デバイス202を経由してネットワークと通信し得る。いくつかの実施形態は、例によれば、スマートフォンまたはラップトップを経由したユーザ通信と関連して記載され得るが、この通信は、モバイル電話、情報携帯端末(PDA)、コンビネーション携帯電話/PDA、ハンドヘルドデバイス、モバイルユニット、ゲームデバイス、メッセージングデバイス、メディアプレーヤ、または、他の適切なモバイル通信デバイスのような他のタイプのユーザ機器またはワイヤレスコンピューティングデバイスを使用して実施され得ることが認識され得る。
【００２４】
例示によって、図2は、タブレットコンピュータ204、スマートフォン206、およびラップトップ208を含む、本発明の原理の実践において利用される例示的なポータブル多機能デバイス202を図示する。他のタイプのポータブル多機能デバイスが使用され得る。
【００２５】
ポータブル多機能デバイス202のうちのいくつかはまた、インターネットアクセスを含むワイヤレス広域ネットワーク(WWAN)データ通信サービスをサポートし得る。WWANデータ通信サービスの例は、エボシューション-データオプティマイズドまたはエボリューション-データオンリー(EV-DO)、ロングタームエボリューション(LTE)、エボシューションフォーデータアンドボイス(EV-DV)、CDMA/1xRTT、汎用パケット無線サービスシステムを備えたGSM(登録商標)(GSM(登録商標)/GPRS)、エンハンストデータレートフォーグローバルエボリューション(EDGE)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)等を含み得る。ユーザデバイス102は、IEEE 802.11a/b/g/nシリーズの標準プロトコルおよび派生(「Wi-Fi」とも称される)、IEEE 802.16シリーズの標準プロトコルおよび派生(「WiMAX」とも称される)、IEEE 802.20シリーズの標準プロトコルおよび派生、もしくはその他のような電気電子学会(IEEE)802.xxシリーズのプロトコルに従うワイヤレスローカルエリアネットワーク(WLAN)データ通信機能を提供し得る。
【００２６】
いくつかの例示的な実施形態では、ポータブル多機能デバイス202はまた、Bluetooth(登録商標)に従ってBluetooth(登録商標)データ通信サービスを提供するワイヤレスパーソナルエリアネットワーク(PAN)のようなより短い距離のワイヤレスネットワークに従ってデータ通信機能を実行するように調整され得る。スペシャルインタレストグループ(SIG)シリーズのプロトコル、仕様、プロファイル等。より短い範囲のワイヤレスネットワークの他の例は、パッシブまたはアクティブな無線周波数識別情報(RFID)プロトコルおよびデバイスを含む電磁誘導(EMI)技術のような赤外線(IR)技術または近距離場通信技術およびプロトコルを適用し得る。
【００２７】
ポータブル多機能デバイス202は、ユーザが、コンテンツ管理システム200を使用して1つまたは複数の特定のタスクを達成することを可能にするための種々のアプリケーションを提供し得る。ポータブル多機能デバイス202は、記載された実施形態に従ってコンピューティング機能を提供するために、システムプログラムおよびアプリケーションのような様々なソフトウェアプログラムを備え得る。システムプログラムは、限定することなく、オペレーティングシステム(OS)、デバイスドライバ、プログラミングツール、ユーティリティプログラム、ソフトウェアライブラリ、アプリケーションプログラムインターフェース(API)等を含み得る。認識されるべきであるように、ポータブル多機能デバイス202は、たとえば、モバイルOS(ANDROID(登録商標)、BLACKBERRY(登録商標) OS、iOS、SYMBIAN OS、WINDOWS(登録商標) PHONE等)、デスクトップOS(MAC OS X、LINUX、WINDOWS(登録商標)、GOOGLE CHROME OS等)、またはテレビOS(GOOGLE TV、APPLE TV、または他のSmart TV OS)のような任意の適切なOSを含み得る。
【００２８】
AC主電源およびワイヤネットワークへ接続された固定デバイスのような他の復号デバイスもまた考慮され、本発明の原理のスコープ内である。
【００２９】
様々な実施形態では、復号デバイスは、一般にパッシブな検出処理を介して不可聴信号を検出し得る。言い換えれば、復号デバイスのユーザは、必ずしも、検出処理をルーチン的に開始する、または活性化する必要はない。代わりに、検出処理は、たとえば、復号デバイスのランダムアクセスメモリ(RAM)において動作するバックグランドルーチンであり得る。バックグランドルーチンは、不可聴信号が存在するか否かを検出するために、復号デバイスの様々な内蔵構成要素によって受信または生成された信号を、定期的に、または、少なくともルーチン的に問い合わせ得る。これらの問合せは、ユーザからの追加入力なしで実行され得る。この検出処理によって問い合わせられる構成要素は、限定することなく、内蔵マイクロホン、内蔵スピーカ、および(たとえば、ヘッドホン出力、またはラインレベル出力のような)他のオーディオ出力ポートを含み得る。
【００３０】
不可聴信号は、任意の適切なソースから、復号デバイスによって受信され得る。たとえば、不可聴信号は、復号デバイスのマイクロホンによって受信されたオーディオコンテンツ内に埋め込まれ得る。この点において、ソースは、復号デバイスの近傍内の任意のオーディオスピーカであり得る。オーディオコンテンツはまた、音楽プレーヤモジュールのような内蔵オーディオ生成アプリケーション、またはビデオプレーヤモジュールのような内蔵ビデオプレーヤアプリケーションによって提供され得るか、または、復号デバイスの(ヘッドホンジャックのような)ラインアウトポートまたは外部スピーカへ提供され得る。
【００３１】
不可聴信号が検出されると、復号デバイスは、符号化された識別子を抽出するために、不可聴信号を処理し得る。この抽出処理は一般に、復号デバイスのプロセッサによって実行され得るパッシブな処理であり得る。いくつかの実施形態では、符号化された識別子は、その後、ワイヤレス通信ネットワークを経由してコンテンツ管理システムへ提供され得る。時間/日付データ、加速度計データ、地理的データ、人口統計データ、デバイスデータ、所有者データ等のような補足情報もまた、符号化された識別子とともにコンテンツ管理システムへ提供され得る。コンテンツ管理システムは、復号デバイスへ送信するべきコンテンツを識別するために、受信した情報を処理し得る。コンテンツは、コンテンツ管理システムへローカルに記憶され得るか、または、コンテンツ管理システムから離れたデータストアに記憶され得る。何れの場合であれ、コンテンツは、任意の適切なファイルフォーマットまたはファイルタイプであり得る。復号デバイスへ提供され得る例示的なコンテンツの限定しない非網羅的なリストは、ビデオベースのコンテンツ、オーディオベースのコンテンツ、画像ベースのコンテンツ、およびテキストベースのコンテンツを含む。ビデオベースのコンテンツは、限定することなく、コンサート映画フィルム、音楽ビデオ、アーティストインタビュー、映画、コマーシャル等を含み得る。オーディオベースのコンテンツは、限定することなく、歌、着信メロディ等を含み得る。画像ベースのコンテンツは、限定することなく、写真、ロゴ、壁紙等を含み得る。テキストベースのコンテンツは、限定することなく、歌詞、引用、クーポン、パスワード、パスコード、電子メールメッセージ、テキストメッセージ、インスタントメッセージ等を含み得る。いくつかの実施形態では、コンテンツは、本来、広告または教育的であり得る。本開示は、コンテンツ管理システムに関連付けられた復号デバイスへ配信され得る任意の特定のコンテンツに限定されない。
【００３２】
様々な実施形態では、復号デバイスへ配信される特定のコンテンツは、符号化された識別子および1または複数のトリガに基づき得る。復号デバイス、または、このデバイスのユーザが、様々なしきい値を満たすと、経時的な追加のコンテンツが、アクセス可能であり(ロック解除され)得る。たとえば、特定の不可聴信号がデバイスによって受信された回数が、どのコンテンツがデバイスへ送信されるのかを決定し得る。不可聴信号が歌に埋め込まれているのであれば、不可聴信号が受信された回数は、この歌が、デバイスに関連付けられたユーザによって聞かれた回数を示し得る。ユーザがその歌をますます聞くと、追加のコンテンツ(「ロック解除されたコンテンツ」)が、そのユーザのデバイスへ配信され得る。認識されるべきであるように、その追加のコンテンツはラベル付けされ得るか、さもなければ、視聴者のいくつかのタイプまたはグループにのみ利用可能である「限定的な」コンテンツとして考慮され得る。たとえば、アーティストがコンサートを演じている間、不可聴信号が、コンサート開催地においてブロードキャストされ得る。不可聴信号をパッシブに検出するデバイスを有する視聴者メンバは、不可聴信号を受信し処理するであろう。デバイスは、その後、符号化された識別子を抽出し得、その情報を、ワイヤレス通信ネットワークを経由してコンテンツ管理システムへ提供し得る。コンテンツ管理システムは、符号化された識別子を、演じているアーティストに関連付けられた記憶されたコンテンツと照合し得る。コンテンツは、その後、符号化された識別子を元々送信した復号デバイスへプッシュされ得る。その後、ユーザは、それらの復号デバイスを経由してコンテンツへアクセスすることができるであろう。したがって、例示された実施形態では、復号デバイスは、不可聴信号をパッシブに検出し、符号化された識別子を抽出し、符号化された識別子を送信し、アフィリエートされたコンテンツを、ユーザからの何れの入力もインタラクションもなく受信した。
【００３３】
いくつかの実施形態では、復号デバイスへ配信される特定のコンテンツは、このデバイスが地理的に位置する場所の関数であり得る。言い換えれば、ある不可聴信号をパッシブに検出する、第1の都市内の復号デバイスが、第1のコンテンツのピースを受信し得る一方、同じ不可聴信号を検出する、第2の都市内の復号デバイスは、第2のコンテンツのピースを受信し得る。それに加えて、復号デバイスへ配信されるコンテンツは、復号デバイスが(車で)移動しているか否か、日時、ユーザ選好等のような他のトリガに依存し得る。
【００３４】
復号デバイスによって受信されたコンテンツは、任意の適切な構成で記憶され、調整され、および閲覧され得る。このコンテンツは、受信の時間において、または、後の時点において閲覧され得る。1つの実施形態では、コンテンツは、ユーザに関連付けられた電子メールボックスへ配信される。1つの実施形態では、コンテンツは、復号デバイスによって実行可能なアプリケーションまたはモジュールへ配信される。ユーザは、アプリケーションを実行し、コンテンツにアクセスし得る。認識されるべきであるように、コンテンツは、任意の適切な階層または図表でソートされ得る。いくつかの実施形態では、「ロックされた」コンテンツが、アプリケーションによってユーザへ表示され得る。コンテンツをロック解除するために、ユーザは、たとえば、いくつかのパラメータまたはしきい値を満たす必要がある。しきい値は、聴いた合計数、地理的位置等に関連し得る。何れの場合であれ、コンテンツが、復号デバイスによって受信された場合、復号デバイスによって、ユーザへ通知が提供され得る。1つの実施形態では、通知が受信されると、ユーザは、その後、受信したコンテンツを閲覧するために、関連付けられたアプリケーションをナビゲートし得る。
【００３５】
不可聴信号は、1つの実施形態では、オーディオ歌に埋め込まれ得る。しかしながら、本明細書における開示は、そのように限定されない。実際、本明細書に記載されたシステムおよび方法は、種々様々なプラットフォームおよび実施を介して使用され得る。たとえば、本明細書に記載されたパッシブな検出ルーチンは、テレビショー、コマーシャル、映画等に関連付けられた不可聴信号を抽出するために使用され得る。いくつかの実施形態では、本明細書に記載されたパッシブ検出ルーチンは、オーディオ信号に埋め込まれていないスタンドアロンの不可聴信号を検出するために使用され得る。そのようなスタンドアロンの不可聴信号は、たとえば、商業/買い物環境、ビジネス環境、音楽開催地、エンタテイメント開催地、または、他の任意の適切な環境または開催地において送信され得る。復号デバイスはまた、たとえば、その内蔵スピーカを使用して不可聴信号を送信するように構成され得る。不可聴信号は、送信している復号デバイスの近傍に位置する他の復号デバイスによって受信され処理され得る。何れの場合であれ、不可聴信号がパッシブに検出され、不可聴信号を示すインジケーションが、コンテンツ管理システムへ提供されると、特定のコンテンツが、本明細書に記載されたシステムおよび方法に従って、復号デバイスへ配信され得る。
【００３６】
図2Aは、本発明によって考慮されるタイプの固定長不可聴ビーコンのために適切なデータ送信フォーマットを例示する。このフォーマットは、各シンボルが40ミリ秒の放射音を備える52のシンボルからなる約2秒のシーケンスを構成する。52のシンボルのフルセットは、以降、ビーコン反復1000と称されるであろう。
【００３７】
ビーコン反復1000内では、第1の4つのシンボル1002は、送信されたビーコン反復に対する先頭を発見するために使用される固定開始シーケンスである。次の4つのシンボル1004は、残りのシンボルの時間的なアライメントを可能にする、固定シンボルからなるアライメントシーケンスを備える(以下を参照)。次の4つのシンボル1006は、ビーコン反復によって使用される符号化バージョンを識別するために使用される。これは、逆互換性を維持しながら、ビーコンインタラクションのエンコード方法の将来の修正を可能にする。次の8つのシンボルは、以下に記載されるように、送信誤りを検出するために使用されるセクションにおける40のシンボル1004乃至1016から生成される誤り検出コードワード1008を備える。後続する16のシンボルは、ビーコン反復によって送信されたコンテンツであるデータワード1010を備える。次の4つのシンボルは、送信されたコンテンツのソース(たとえば、出版者)を示すデータソース識別子1012を備える。後続する8つのシンボルは、ビーコン反復送信が送信されると、ビーコン反復送信をシーケンシャルに識別するために使用されるシーケンス番号1014を備える。コンテンツは、典型的には、繰り返し送信を含む反復のシーケンスで送信される。(送信の繰り返しは、大きな誤り復元力を可能にする。)最後の4つのシンボル1016は、図2Aに図示されるフォーマットにおいて未使用であり、これらのシンボルは、異なるビーコン反復エンコードバージョンを使用して、将来の可能なアプリケーションにおける追加または拡張データを保持するために使用され得る。
【００３８】
図2Bに例示されるように、各シンボルは、44.1kHzにおいてサンプルされたオーディオデータの1764のサンプルを備える。これは、44.1kHzのオーディオサンプリングレートにおいて40ミリ秒に及ぶ。シンボルを備える1764のサンプルは、18.7〜19.4kHzの範囲内での周波数で、オーディオトーンをエンコードする。これは、一般に、人間に対して不可聴である。
【００３９】
シンボルによって表されるデータ値は、シンボルの1764のサンプルへエンコードされた特定のオーディオ周波数によって示される。1つの実施形態では、00から11までの範囲の4つの2ビットのデータ値が、周波数18.7kHz(1020)、18.8kHz(1022)、18.9kHz(1024)、および19.0kHz(1026)を使用してシンボルによってエンコードされる。
【００４０】
図2Bの最終行で見られる代替実施形態では、000から111までの範囲の3ビットのデータが、上記で述べた4つの周波数と、19.1kHz(1028)、19.2kHz(1030)、19.3kHz(1032)、および19.42Hz(1034)の追加の4つの周波数とを使用してシンボルによってエンコードされ得る。
【００４１】
図4を参照して、上述したようなビーコン反復を復号するために使用され得る処理は、生のパルス符号変調(PCM)データが、マイクロホンまたは他のソースから取得されると実施される多くのステップを含む。生のPCMデータは、内部の先入れ先出し(FIFO)バッファへ記憶される。
【００４２】
データは、ビーコン反復を発見するためにデータの分析を開始するために十分な量のデータが利用可能になるまで、FIFOバッファ内に蓄積される。ステップ1040において、ビーコンの先頭場所を識別することを試みるために、送信されたビーコン反復によって使用されるプレフィクスに対応するプレフィクステンプレートが、FIFOにおける約2秒のデータに相関付けられる。プレフィクステンプレートに最も良く相関するFIFO内の場所が、第1の時間オフセットとして記憶される。この時間オフセットは、FIFO内の受信されたビーコン反復の先頭のための候補である。
【００４３】
ステップ1044において、FIFO内の約2秒のデータの第2の長さについて相関付け演算が繰り返され、プレフィクステンプレートへ最も高い相関付けを有する第2の時間オフセットを識別することが試みられる。これらステップの後、ステップ1046において、ステップ1042および1044において取得された時間オフセットが約1ビーコン反復長さによって間隔を開けられているか否かを判定するために、ステップ1042および1044において取得された時間オフセットが比較される。間隔を開けられていないのであれば、ステップ1050において、FIFO内の後続するデータにおける反復を求める探索を継続するために、FIFO内のデータが、第1のオフセットのポイントへ進められる。
【００４４】
ステップ1046において、2つの発見されたオフセットが、1つの反復の長さによって間隔を開けられているのであれば、ステップ1048において、プレフィクステンプレートに最も良く相関付けられた第3の時間オフセットを発見することを試みるバッファによって、さらなる相関付けが実行される。これが取得された場合、第2のオフセットと第3のオフセットも1ビーコン反復の長さに対応しているか否かを判定するために、第2のオフセットと第3のオフセットとの間隔が評価される。1ビーコン反復の長さに対応していないのであれば、ステップ1050において、FIFO内のデータが進められ、処理はステップ1044へ戻る。
【００４５】
上記の相関付け演算が、ほぼ適切なインタバルで間隔を開けられた3つのオフセットを発見した場合、ビーコン反復が受信され、復号され得る可能性が高い。この場合、ステップ1052において、先頭反復シンボルのためのデータの評価を開始するために、FIFO内のデータが、最も早い利用可能なオフセットへ戻される。
【００４６】
ビーコン反復における各シンボルを復号するために、精細な時間アライメント処理が実行され、送信されたシンボルの時間場所が離散的に識別される。ステップ1054において、受信されたプレフィクス1002の識別された場所に直ちに続く5つのサンプル長さの時間ウィンドウが復号される。この時間ウィンドウは、サブインタバルへ復号される。サブインタバルの各々は、期待される固定アライメントシンボル1004へ相関付けられる(図1)。最も高い相関は、固定アライメントシンボルが正確に位置決めされる場所であると仮定される。この時間基準はその後、受信されたビーコン反復から、後続するシンボルの正確な場所を選択するために使用され得る。
【００４７】
精細なタイミングアラインメントの後、これらシンボルのデータ値を識別するために、その後、ビーコン反復の残りの48のシンボルが分析される。この処理は、シンボルを、各々が441のサンプルを備える10のサブセグメントへ分割することによって各シンボルを分析する(図3参照)。10のサブセグメントの各々は、その後、たとえば、エンコード方法において使用される4つのシンボル周波数の各々において現われるサブセグメントにおける信号電力の量を測定するために、Goertzelフィルタリングアルゴリズムを通される。例示された実施形態では、エンコードシンボル値が00、01、10、および11である4つのエンコード周波数が使用され、各サブセグメントは、シンボルをエンコードするために使用される4つの周波数の各々における信号電力を識別するために、4つのフィルタリングアルゴリズムを通される。他の実施形態では、シンボルをエンコードするためにたとえば8つの周波数のようなより多くの数の周波数が使用され得、対応するGoertzelフィルタによって検出され得る。
【００４８】
ステップ1056乃至1060によって、シンボルのサブセグメントのすべてを評価することの一部として、候補周波数における全インタバルにおいて、どれくらい多くの信号電力が存在しているのかを反映しているシンボルインタバル全体のための全体値を生成するために、(4つの)候補周波数の各々のために生成された、結果的に得られる信号電力値が、平方和技法において組み合わされ得る。これら平方和値は、候補周波数のうちのどれが、全シンボルインタバルで最大の信号電力を有しているのかを判定するために比較され得る。具体的には、ステップ1062において、現在のシンボル値を判定するために、最大の平方和値が使用される。処理は、その後、同じ技法で分析されるために、次のシンボルへ移る。
【００４９】
すべてのシンボルが分析された後、処理はステップ1064へと続き、ここでは、ビーコン反復のセクションから取得された誤り検出符号シンボル1008を使用して、結果として得られた48のシンボルに対して誤り検出が実行される。誤り検出符号化が、誤りがないことを示すのであれば、結果として得られたシンボルは、ステップ1066において、クライアントアプリケーションへ配信される。
【００５０】
しかしながら、誤りが検出されると、ビーコン反復のシンボルが廃棄され、処理は、ステップ1068へ続くであろう。ここでは、(以前に復号されたビーコン反復に対応する)以前のシンボルのセットもまた誤っていたか否かが判定される。誤っていたと判定されなかった場合、処理はステップ1052へ続き、後続するビーコン反復のシンボルを復号することを試みるであろう。しかしながら、一行になった2つのビーコン反復インタバルが、誤りのあるデータへ復号されているのであれば、ビーコン送信がないか、または、送信のタイミングが誤っていると結論され得、このケースでは、処理は、将来のビーコン反復を探索し、将来のビーコン反復へ同期させる処理を再開するために、ステップ1068からステップ1042へ進む。
【００５１】
図5は、本発明によって考慮されるタイプの不可聴ビーコンのためにも適切である可変長データ送信フォーマットを使用するビーコン反復2000を例示しているが、これは、可変長ペイロードがこのフォーマットによって送信され得るという点において図1のビーコン反復1000とは異なり、このフォーマットは、データ送信のより高いロバスト性を可能にするためにより高い冗長性符号化を組み込んでいる。このフォーマットは、30乃至1554の送信シンボルを構成し、各シンボルは、1.1乃至57秒の間の合計ビーコン反復長のために、36 2/3ミリ秒の放射音を備える。シンボルのフルセットは、以降、ビーコン反復2000と称されるであろう。
【００５２】
ビーコン反復2000内では、最初の6つのシンボル2002は、送信されたビーコン反復にわたる先頭を発見するために使用される固定開始シーケンスである(下記の図7A参照)。次の6つのシンボル2006は、ビーコン反復によって使用されるエンコードバージョンを識別する、12ビット値を提供する。それは、逆互換性を維持しながら、ビーコン反復のエンコード方法の将来の修正を可能にする。
【００５３】
ビーコン反復2000における次の6つのシンボルは、ビーコンペイロードの長さを示すヘッダ長フィールド2008を備える。これは、この実施形態では、1乃至255のバイト数であり、これは、注目されるように、図7B、図7Cおよび図7Dを参照して以下に記載されるエンコード方法を使用して6乃至1530のシンボルを必要とする。ヘッダ長フィールド2008は、たとえば、6つのシンボルまたは12ビットを備え得、これは、ペイロードの(バイトの)長さを表す1乃至255の8ビット値をエンコードする。この8ビット値は、たとえば、2/3誤り訂正符号を使用して12ビットにおいてエンコードされ得る。
【００５４】
ヘッダ長フィールド2008の直後は、ヘッダバージョンフィールド2006およびヘッダ長フィールド2008のための冗長性を提供する冗長性ビットを含むヘッダ巡回冗長検査(CRC)フィールドを備える6つのシンボル2009である。誤り訂正符号化は、2/3巡回冗長エンコーディングを使用し、高いレベルのデータ保全性を提供する。これは、このフォーマットには特に重要である。なぜなら、不正確なペイロード長情報は、多くのビーコンペイロードの誤った喪失をもたらし得るからであり得る。
【００５５】
ヘッダフィールド2006、2008、および2009の後は、ペイロード2010である。これは、たとえば、図7B、図7C、および図7Dを参照して以下に記載される符号化方法の使用によって、6乃至1530のシンボルを使用して、1乃至255バイトのペイロードをエンコードする。
【００５６】
図6に例示されるように、各シンボルは、44.1kHzサンプルレートにおけるオーディオデータの1617個のサンプル、または、48kHzサンプルレートにおけるオーディオデータの1760個のサンプルを備え、36 2/3ミリ秒の期間にわたるオーディオトーンを生成する。シンボルを備える1617または1760個のサンプルは、一般に人間に不可聴である18.7〜19.2kHzの範囲の周波数においてオーディオトーンをエンコードする。
【００５７】
シンボルによって表されるデータ値は、シンボルの1617/1760のサンプルへエンコードされた特定のオーディオ周波数によって示される。1つの実施形態では、各シンボルは、2ビット値をエンコードし、00から11の範囲の4つのそのような2ビット値が、周波数18.7kHz(2020)、18.8kHz(2022)、18.9kHz(2024)、および19.0kHz(2026)を使用してシンボルによってエンコードされる。顕著なことに、シンボル値は、隣接する周波数を使用するシンボル間のハミング距離が1ビットのみになるように、シーケンス00、01、11、10においてエンコードされる。これは、誤り訂正有効性を増加させ、特に、直に隣接している周波数への誤復号が、シンボルの1ビット誤復号のみを引き起こし得る一方、誤り訂正符号化使用によって、誤符号化を引き起こすために、シンボルにおいて2ビットの誤りが必要とされる。
【００５８】
プレフィクスフィールド2002においてのみ使用されるシンボル値をエンコードするために、19.1kHzおよび19.2kHzの最も高い2つの周波数が使用される。したがって、プレフィクスの個別の検出における助けとなり、図7Aを参照して次に議論されるように、「prefix_low」シンボルのために19.1kHz周波数が使用され、「prefix_high」シンボルのために19.2kHz周波数が使用される。
【００５９】
図7Aは、220ミリ秒期間におよぶ6つのシンボルを含むシンボルプレフィクス2002のフォーマットを図示する。プレフィクスのフォーマットは、3つの「prefix_low」シンボルが後続する3つの「prefix_high」シンボルである。「prefix_high」および「prefix_low」シンボルが、データシンボルのために使用された範囲の外側にある周波数を使用するので、これらシンボルは、図8を参照して以下に記載されるように、ビーコン反復同期およびキャプチャのためにより容易に検出される。
【００６０】
図7B、図7Cおよび図7Dは、各々2010a、2010b、および2010cとして識別されるような1バイト、6バイト、および32バイトのペイロードフォーマットのためのペイロードフォーマットを例示する。他のフォーマットは、たとえば、これら図面に図示されるフォーマットの拡張によって、本発明によって考慮される。各フォーマットは、ペイロードに含まれるデータのための12のシンボル(24ビット)の巡回冗長検査(CRC)符号を含む。さらに、ペイロードのコンテンツは、3/2誤り訂正符号化を使用して、ペイロードのバイトをエンコードするための適切な数のシンボルを含む。したがって、1バイトのペイロード2010aでは、コンテンツは、6つのシンボル、すなわち12ビットを備え、8ビットバイトのコンテンツをエンコードする。6バイトのペイロード2010bは、36のシンボル、すなわち72ビットでコンテンツを提供し、3/2誤り訂正符号化を使用して、6つの8ビットバイトのコンテンツをエンコードする。最後に、32バイトのペイロード2010cにおいて、コンテンツは、192のシンボル、すなわち384ビットを備え、3/2誤り訂正符号化を使用して、32の8ビットバイトのコンテンツをエンコードする。
【００６１】
図8を参照して示すように、上述したように、可変長ビーコン反復を復号するために使用され得る処理は、生のパルス符号変調された(PCM)データが、マイクロホンまたは他のソースから取得されると実施される多くのステップを含む。生のPCMデータは、内部の先入れ先出し(FIFO)バッファへ記憶される。
【００６２】
ビーコン反復ヘッダを発見するためにデータの分析を開始するために利用可能な十分な量のデータが利用可能になるまで、データがFIFOバッファへ蓄積される。ステップ2040において、送信されたビーコン反復によって使用されるプレフィクスに対応するプレフィクステンプレートは、ビーコンの先頭場所を識別することを試みるために、ビーコンの長さにほぼ等しいFIFO内のデータへ相関付けられる。プレフィクステンプレートへ最も良く相関するFIFO内の場所が識別され(ステップ2042)、この場所におけるピーク相関が、しきい値と比較される。しきい値が満たされないのであれば、FIFOにおけるデータは、ビーコンヘッダを含まないと認められ、FIFOが進められる(ステップ2050)。しかしながら、プレフィクステンプレートへのピーク相関が、認識のためのしきい値を超えるのであれば、ステップ2054において、ヘッダのシンボルが、たとえば、図3および図4を参照して上述されたものに類似の方式で、いくつかのシンボル長さにわたってサブインタバルを精細に復号するステップ(ステップ2054)によって、正確に発見される。これは、その結果として、シンボル境界の時間を見つけ、ステップ2064において、ヘッダは、ヘッダに後続するペイロードにおけるバイト数を識別するバージョンおよびヘッダ長コンテンツを取得するために復号され得る。以降、シンボルは、誤りを訂正するために、誤り訂正符号化および冗長性符号を使用して、ペイロードから復号される(ステップ2064)。復号するべき追加のシンボルが存在する(ステップ2068)限り、この処理が継続する。誤りがあると、この処理は、新たなビーコンインタバルプレフィクスを求める探索を行うステップ2042へ戻る。ペイロードのすべてのシンボルがステップ2064において復号された後、結果として得られたコンテンツが、クライアントアプリケーションへ配信され(ステップ2066)、処理は、新たなビーコンインタバルプレフィクスを求める探索を行うステップ2042へ戻る。
【００６３】
本明細書に記載されるように、ソフトウェアアプリケーションは、ユーザが、コンテンツ管理システムから受信したコンテンツにアクセスし、記憶することを可能にするために、復号デバイスにおいて実行され得る。このアプリケーションによってまた、ユーザは、ユーザ選好をコンテンツ管理システムへ提供することが可能となり得る。認識されるべきであるように、アプリケーションは、多くの方式で構築され得る。
【００６４】
一般に、本明細書に記載された実施形態の少なくともいくつかが、ソフトウェア、ファームウェア、および/またはハードウェアからなる多くの異なる実施形態において実施され得ることが当業者に明らかになるであろう。ソフトウェアおよびファームウェアコードは、プロセッサまたは他の任意の類似のコンピューティングデバイスによって実行され得る。実施形態を実施するために使用され得るソフトウェアコードまたは専用制御ハードウェアは、限定されない。たとえば、本明細書に記載された実施形態は、たとえば、従来式またはオブジェクト指向の技術を使用して、任意の適切なコンピュータソフトウェア言語タイプを使用するコンピュータソフトウェアにおいて実施され得る。そのようなソフトウェアは、たとえば、磁気または光記憶媒体のように、任意のタイプの適切なコンピュータ可読媒体に記憶され得る。実施形態の動作および振舞は、特定のソフトウェアコードまたは専用のハードウェア構成要素に対する特定の参照なしで記載され得る。そのような特定の参照の欠如はあり得る。なぜなら、当業者であれば、単なる適切な努力があれば、過度な実験がなくても、本記載に基づいて実施形態を実施するためにソフトウェアを設計し、ハードウェアを制御することができるであろうことを明確に理解するからである。
【００６５】
さらに、本実施形態に関連付けられた処理は、コンピュータまたはコンピュータシステムおよび/またはプロセッサのようなプログラム可能な機器によって実行され得る。プログラム可能な機器に対して処理を実行させ得るソフトウェアは、たとえば、コンピュータシステム(不揮発性)メモリ、光ディスク、磁気テープ、または磁気ディスクのような任意の記憶デバイスに記憶され得る。さらに、処理の少なくともいくつかは、コンピュータシステムが製造されるときにプログラムされ、様々なタイプのコンピュータ可読媒体に記憶され得る。
【００６６】
本明細書に記載されたいくつかの処理態様はまた、コンピュータシステムに対して処理ステップを実行するように指示するコンピュータ可読媒体に記憶される命令を使用して実行され得ることが認識され得る。コンピュータ可読媒体は、たとえば、ディスケット、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、光ディスクドライブ、またはハードディスクドライブのようなメモリデバイスを含み得る。コンピュータ可読媒体はまた、物理的、仮想的、永久的、一時的、半永久的および/または半一時的であるメモリ記憶装置を含み得る。
【００６７】
「コンピュータ」、「コンピュータシステム」、「ホスト」、「サーバ」または「プロセッサ」は、たとえば、限定することなく、ネットワークを経由してデータを送信および/または受信するように構成されたプロセッサ、マイクロコンピュータ、ミニコンピュータ、サーバ、メインフレーム、ラップトップ、携帯情報端末(PDA)、ワイヤレス電子メールデバイス、セルラ電話、ページャ、プロセッサ、ファックスマシン、スキャナ、または、他の任意のプログラマブルデバイスであり得る。本明細書に開示されたコンピュータシステムおよびコンピュータベースのデバイスは、情報を取得、処理、および通信する際に使用されるいくつかのソフトウェアモジュールを記憶するためのメモリを含み得る。そのようなメモリは、開示された実施形態の動作に関して内部的または外部的であり得ることが認識され得る。メモリはまた、ハードディスク、光ディスク、フロッピーディスク、ROM(読取専用メモリ)、RAM(ランダムアクセスメモリ)、PROM(プログラマブルROM)、EEPROM(電子的に消去可能なPROM)、および/または、他のコンピュータ可読媒体を含むソフトウェアを記憶するための任意の手段を含み得る。
【００６８】
本明細書において開示された様々な実施形態において、所与の機能を実行するために、単一の構成要素が、多数の構成要素によって置き換えられ得、多数の構成要素が、単一の構成要素によって置き換えられ得る。そのような代用が効力がないであろう場合を除いて、そのような代用は、意図された実施形態のスコープ内にある。本明細書に記載された任意のサーバは、たとえば、協調的な機能のために配置され構成された「サーバファーム」または他のネットワーク化された(サーバブレードのような)サーバのグループによって置き換えられ得る。サーバファームが、このファームの個々の構成要素の間でワークロードを分散するようにサービス提供し得、多数のサーバの集合的および協調的な電力を利用することによってコンピューティング処理を早め得ることが認識され得る。そのようなサーバファームは、たとえば、異なるマシンからの処理電力のための要求を追跡するステップ、ネットワーク要求に基づいてタスクを優先付けしスケジュールするステップ、および/または、構成要素故障または操作性における低減の事象におけるバックアップ予備を提供するステップのようなタスクを達成する負荷平準化ソフトウェアを適用し得る。
【００６９】
コンピュータシステムは、1つまたは複数のデータバスを介してメモリ(たとえば、RAMまたはROM)と通信している1つまたは複数のプロセッサを備え得る。データバスは、プロセッサとメモリとの間で電気信号を伝送し得る。プロセッサおよびメモリは、電流を導く電気回路を備え得る。プロセッサおよび/またはメモリ回路のソリッドステートトランジスタのような様々な回路の構成要素の充電状態は、回路の動作中に変化し得る。
【００７０】
本明細書では、様々な実施形態が記載されたが、これら実施形態に対する様々な修正、変更、および適応が、これら利点の少なくともいくつかの達成とともに、当業者に対して思い浮かび得ることが明白であるべきである。したがって、開示された実施形態は、本明細書に記述されたような実施形態のスコープから逸脱することなく、そのようなすべての修正、変更、および適応を含むように意図される。
【符号の説明】
【００７１】
102  ユーザデバイス
200  コンテンツ管理システム
202  ポータブル多機能デバイス、ポータブル通信デバイス
204  タブレットコンピュータ
206  スマートフォン
208  ラップトップ
214  プロセッサ
216  メモリユニット
218  コンテンツ管理エンジン
220  コンテンツデータベース
222  ユーザデータベース
224  ウェブサーバ
226  アプリケーションサービス
228  通知サービス
230  コンテンツプロバイダ
232  電気通信ネットワーク
236  コンテンツ
240  人間不可聴音響信号
1000  ビーコン反復
1002  シンボル、プレフィクス
1004  シンボル
1006  シンボル
1008  検出コードワード
1010  データワード
1014  シーケンス番号、反復
1016  シンボル
1020  18.7kHz
1022  18.8kHz
1024  18.9kHz
1026  19.0kHz
1028  19.1kHz
1030  19.2kHz
1032  19.3kHz
1034  19.42Hz
2000  ビーコン反復
2002  シンボル、プレフィクス
2006  シンボル、ヘッダバージョンフィールド
2008  ヘッダ長フィールド
2009  シンボル
2010  ペイロード
2010a  1.32秒1バイトペイロード
2010b  2.42秒6バイトペイロード
2010c  8.14秒32バイトペイロード
2020  18.7kHz
2022  18.8kHz
2024  18.9kHz
2026  19.0kHz
2028  19.1kHz
2030  19.2kHz
【図１】
2017536749.tif 000003
【図２Ａ】
2017536749.tif 000004
【図２Ｂ】
2017536749.tif 000005
【図３】
2017536749.tif 000006
【図４】
2017536749.tif 000007
【図５】
2017536749.tif 000008
【図６】
2017536749.tif 000009
【図７Ａ】
2017536749.tif 000010
【図７Ｂ】
2017536749.tif 000011
【図７Ｃ】
2017536749.tif 000012
【図７Ｄ】
2017536749.tif 000013
【図８】
2017536749.tif 000014
【国際調査報告】
2017536749.tif 000015
2017536749.tif 000016
2017536749.tif 000017