説明

メディアコンテンツにエンコードされたデータを抽出する方法及び装置

【課題】メディアコンテンツにエンコードされたデータを抽出する方法及び装置を提供する。
【解決手段】規範的な方法は、メディアコンテンツ信号を受信し、メディアコンテンツ信号をサンプリングしてデジタルサンプルを生成し、そのデジタルサンプルの周波数ドメイン表現を決定し、その周波数ドメイン表現において第1周波数の第1ランクを決定し、その周波数ドメイン表現において第2周波数の第2ランクを決定し、その第1ランク及び第2ランクをランクのセットと結合して、ランクの結合セットを生成し、そのランクの結合セットを基準シーケンスのセットと比較し、その比較に基づいてランクの結合セットで表されたデータを決定し、更に、そのデータを有形メモリに記憶する、ことを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、メディアコンテンツの監視に関するもので、より詳細には、メディアコンテンツにエンコードされたデータを抽出する方法及び装置に関する。
【0002】
[関連出願]
本願は、2008年10月24日に出願された“STACKING METHOD FOR ENHANCEDWATERMARK DETECTION”と題する米国プロビジョナル特許出願第61/108,380号の優先権を主張するものであり、その開示をここにそのまま援用する。
【背景技術】
【0003】
[0003]メディア情報、特に、オーディオストリーム(例えば、オーディオ情報)を識別することは、テレビ、ラジオ、又は他のメディアへの視聴者の露出を評価する上で有用である。例えば、テレビ視聴率計測アプリケーションでは、メディアのオーディオ又はビデオにコードが挿入され、そのコードは、その後、監視サイトにおいて、メディアが提示される(例えば、監視される世帯で再生される)ときに検出される。オリジナル信号に埋め込まれるコード/透かしの情報ペイロードは、独特のソース識別、放送時間情報、トランザクション情報、又は付加的なコンテンツメタデータで構成される。
【0004】
[0004]監視サイトは、典型的に、例えば、世帯のような場所を含み、視聴者メンバーのメディア消費又はメディアへの視聴者メンバー露出が監視される。例えば、監視サイトでは、オーディオ及び/又はビデオからコードが捕獲され、このコードは、選択されたチャンネル、ラジオ局、メディアソース、等に関連したメディアのオーディオ又はビデオストリームに関連付けられる。収集されたコードは、次いで、分析のために中央のデータ収集施設へ送られる。しかしながら、メディア露出又は消費に関するデータの収集が家庭内での露出又は消費に限定される必要はない。
【図面の簡単な説明】
【0005】
【図1】メディアコンテンツ信号にデータをエンコードして、データをある場所へ送信し、そこで、メディアコンテンツ信号をデコードして、データを抽出するための規範的システムのブロック図である。
【図2】規範的な周波数スペクトル及びコードインデックスのグラフである。
【図3】図1の規範的エンコーダによりオーディオ信号にエンコードされる規範的シーケンスを示す。
【図4】規範的メッセージスレッドを示す。
【図5】スタック及びランク機能を含む図1のデコーダを具現化するための規範的装置のブロック図である。
【図6】オーディオのメッセージをデコードするための規範的プロセスのフローチャートである。
【図7】スタッキングを使用してオーディオのメッセージをデコードするための規範的プロセスのフローチャートである。
【図8】ここに述べる規範的システム、規範的装置及び/又は規範的方法のいずれか又は全部を具現化するために図6及び図7の規範的なマシンアクセス可能なインストラクションのいずれか又は全部を遂行するように使用され及び/又はプログラムされる規範的プロセッサプラットホームの概略図である。
【発明を実施するための形態】
【0006】
[0013]図1は、メディアコンテンツ信号にデータをエンコードして、データをある場所へ送信し、そこで、メディアコンテンツ信号をデコードして、データを抽出するための規範的システム100のブロック図である。この規範的システム100は、エンコーダ102と、スタック及びランク機能をもつデコーダ104とを備えている。ここに示す実施例によれば、エンコーダ102は、以下に詳細に述べるように、当該周波数を増幅又は減衰することにより、受信したオーディオ信号を受信したデータでエンコードする。エンコードされたオーディオ信号は、別の場所へ搬送され、そこで、デコーダ104により受信される。デコーダ104は、オーディオ信号の連続的に受信される部分をスタックするためのスタック機能を含む。更に、デコーダ104は、エンコーダ102により増幅又は減衰された周波数にランクを指定するためのランク機能も含む。例えば、5つの周波数が隣接するように周波数がグループ編成される場合には、各周波数に0から4のランクが指定される。次いで、デコーダ104は、以下に詳細に述べるように、スタックされたオーディオ信号からデータを抽出する。エンコードされたオーディオ信号をスタックすることは、例えば、そのスタックされた部分が冗長又は半冗長なエンコードされたデータを含むときに、デコーダ104の検出信頼性を改善する。図示された実施例には示さないが、オーディオ信号は、デコーダ104により、メディアプレゼンテーション装置(例えば、ラジオ、テレビ、等)で提示されるように出力されてもよい。或いは又、エンコードされたオーディオ信号は、規範的なデコーダ104と並列にメディアプレゼンテーション装置へ送信されてもよい。
【0007】
[0014]図1の実施例によれば、エンコーダ102は、オーディオ信号及びデータを入力として受信する。エンコーダ102は、更に、オーディオ信号を、デジタルオーディオサンプルのブロックであるフレームへと分割する。以下に詳細に述べるように、エンコーダ102は、フレーム化オーディオ信号へデータをエンコードし(埋め込み)、そしてオーディオのエンコード化フレームをエンコーダ102でテストして、(例えば、音響心理学的マスクを使用して)フレーム化オーディオ信号を視聴者に提示したときに、フレーム化オーディオ信号に対する変更が、人間の聴覚でエンコーディングに気付くに充分なほど大きなものであるかどうか決定する。フレーム化オーディオ信号に対する変更が大き過ぎて、オーディオに可聴変化を生じる場合には、フレーム化オーディオは、エンコードされずに送信される(例えば、放送され、放送局へ配信され、等々)。逆に、エンコードされたオーディオフレームのオーディオ特性が、エンコードされないオーディオフレームとは気付かないほど異なるだけである場合には、エンコードされたオーディオフレームが送信される。
【0008】
[0015]エンコーダ102は、独特の又は半独特の15ビット擬似ランダム番号(PN)同期シーケンスを各メッセージパケットのスタートに挿入する。同期シーケンスを送信すべきであることをデコーダ104に知らせるために、同期シーケンスの第1コードブロックは、トリプルトーンを使用する。トリプルトーンは、3つの周波数を増幅して、それらの周波数をそれらのスペクトル隣接部で最大にするものである。従って、トリプルトーンを探すことにより、デコーダ104は、全同期シーケンスをデコードする必要なく、同期シーケンスが送信されようとしていることを検出できる。トリプルトーンの具現化例が、米国特許第6,272,176号(以下、‘176特許)に説明されており、該特許は、参考としてここにそのまま援用する。この規範的な同期シーケンスは、デコーダ104が新たなメッセージパケットのスタートを検出できるようにする1つの解決策である。しかしながら、他の指示、信号、フラグ、又は解決策が使用されてもよい。
【0009】
[0016]規範的エンコーダ102は、同期に続いて、メッセージデータの15ビットPNシーケンスを10個程度送信する。従って、ここに示す実施例における各メッセージは、11個のグループ、即ち1つの15ビット同期シーケンスと、それに続く、10個の15ビットメッセージデータシーケンスとを含む。しかしながら、同期シーケンスと同期シーケンスとの間に多数のメッセージデータシーケンスが送信されてもよい。規範的なメッセージデータは、10個のエラー修正ビット及び5個のメッセージデータビットを有する15ビットPNシーケンスで送信される。換言すれば、メッセージデータは、各々5ビットのグループ(例えば、50ビットメッセージでは10個の5ビットグループ)に分割される。或いは又、メッセージデータビット及びエラー修正ビットの組み合わせがメッセージデータシーケンスに含まれてもよい。15ビットPNシーケンスの各ビットは、オーディオの512サンプルブロックへエンコードされる。規範的システム100では、一度に1ビットが送信される。15ビットシーケンスとしてエンコードされる各5ビットのペイロードデータは、512サンプルの15ブロック(即ち、合計7680サンプル)を使用する。規範的なエンコーダ102は、15ビットシーケンスを表す15ブロックの後のナルブロックと称される16番目のブロックを含む。従って、ここに示す実施例における各メッセージは、シーケンス当たり16ブロック、及びメッセージ当たり11シーケンスの、全176オーディオブロックを使用する。ここに示す実施例では、合計メッセージ期間を規範的エンコーディングにおいてほぼ2秒に調整するために、各メッセージの後に11個の未エンコードのブロックが続く。規範的なエンコーディング及びブロックサイズについて述べたが、任意の望ましいエンコーディング及びブロックサイズが使用されてもよい。
【0010】
[0017]データビット(例えば、15ビットシーケンスの1ビット)をオーディオフレームに挿入するために、規範的エンコーダ102は、オーディオフレームの第1の選択された周波数をローカル最大値とし、そしてオーディオフレームの第2の選択された周波数をローカル最小値とする。例えば、図2に示すように、エンコーダ102は、2つのオーディオ周波数帯域又は隣接部202及び204を使用し、その各々は、5つの周波数又はレジデント(resident)を含む。隣接部202及び204の一方は、ローカル最大値であるレジデントを含むようにエンコードされ、隣接部202及び204の他方は、ローカル最小値であるレジデントを含むようにエンコードされる。ローカル最大値及びローカル最小値として選択されるレジデントは、規範的エンコーダが動作するコード化ブロック及び送信されるべきデータビットの値に基づく。例えば、第5番目のエンコーディングブロックに論理“1”をエンコードするには、隣接部202にインデックス番号50を有するレジデントがローカル最大値とされ、隣接部204にインデックス番号60を有するレジデントがローカル最小値とされる。逆に、同じエンコーディングブロックに対して論理“0”をエンコードするには、隣接部202にインデックス番号50を有するレジデントがローカル最小値とされ、隣接部204にインデックス番号60を有するレジデントがローカル最大値とされる。換言すれば、選択される周波数は、送信されるビットを表さず、選択された周波数における振幅がビットの値を表す。というのは、ビットが論理“1”であるか又は論理“0”であるかに関わらず、同じ周波数が使用されるからである。エンコーディングの後に、オーディオ信号は、消費者の場所へ放送されてもよいし、放送のために放送局へ送信されてもよいし、記憶媒体に記憶されてもよいし、等々である。
【0011】
[0018]規範的なシステム100は、前記‘176特許に説明されたニールセンオーディオエンコーディングシステム(NAES)で具現化されるシステムにおいてスタッキング及びランキングを遂行するように構成される。本開示は、前記‘176特許に説明されたNAESシステムのエンコーディング及びデコーディング技術を一例として参照するが、ここに述べる方法及び装置は、前記‘176特許の技術に関連する動作に限定されない。逆に、この規範的方法及び装置は、いかなる形式のエンコーディング又はデコーディングシステムに関連して具現化されてもよい。例えば、データレート、データのグループ化、メッセージ長さ、パラメータ長さ、メッセージにおけるパラメータの順序、パラメータの数、等は、具現化されるエンコーディングシステムに基づいて変化してもよい。
【0012】
[0019]図3は、図1の規範的エンコーダ102によってオーディオ信号にエンコードされる規範的シーケンス300を示す。この規範的シーケンス300は、オーディオデータの15ブロックにエンコードされる15ビットを含む(例えば、512サンプルブロック)。メッセージビット302は、5ビットのメッセージデータを搬送する。メッセージビット302は、エンコーディングによって搬送されるべきペイロードデータである。エラー修正ビット304は、10ビットのエラー修正データを搬送し、これは、受け取ったメッセージを検証し修正するためにデコーダ104により使用される。シーケンス300の各ビットは、オーディオデータのブロックにエンコードされる。図1を参照して述べたように、オーディオデータの各ブロックに対して、第1の選択された周波数がローカル最大値とされ、そして第2の選択された周波数がローカル最小値とされる。
【0013】
[0020]図4は、規範的なメッセージスレッド400を示す。ここに示す実施例のメッセージスレッド400は、同期シーケンス402と、第1シーケンス406と、第2シーケンス410と、第3シーケンス414と、ノーマークブロック404、408及び412とを含む。規範的同期シーケンス402は、新たなメッセージスレッドのスタートを指示する15ビットシーケンスである。ここに示す実施例の第1シーケンス406、第2シーケンス410及び第3シーケンス414は、図3を参照して述べたように、5個のメッセージペイロードビット及び10個のエラー修正ビットを各々搬送する15ビットシーケンスである。ノーマークブロック404、408及び412は、エンコーディングを含まない単一ブロックである(例えば、エンコーダ102によって増幅又は減衰される周波数がないオーディオデータの512個のサンプル)。規範的メッセージスレッド400は、上述したようにフォーマットされるが、他のフォーマットを使用してもよい。例えば、メッセージスレッド400には、より多くのシーケンス又はより少ないシーケンスが含まれてもよく、シーケンス406、410及び414は、より多くの又はより少ないデータビット及び/又はエラー修正ビットを含んでもよく、ノーマークブロック404、408及び412は、複数のブロックを含んでもよく、より多くの又はより少ないノーマークブロック404、408及び412が含まれてもよく、等々である。
【0014】
[0021]図5は、スタック及びランク機能を含む図1のデコーダ104を具現化するための規範的装置のブロック図である。この規範的デコーダ104は、サンプラー502と、時間ドメイン/周波数コンバータ504と、ランカー506と、ランクバッファ508と、スタッカー510と、スタッカーコントロール512と、比較器514と、基準シーケンスデータストア516とを備えている。規範的デコーダ104は、入力オーディオ(例えば、テレビ番組のオーディオ部分)を受け取り、そのオーディオを処理して、オーディオにエンコードされたデータを抽出し、出力する。
【0015】
[0022]ここに示す実施例のサンプラー502は、到来するオーディオをサンプリングする。このサンプラー502は、エンコードされたオーディオがアナログ形態で送られるアナログ/デジタルコンバータ(A/D)又は他の適当な技術を使用して具現化される。サンプラー502は、例えば、48KHzのサンプリング周波数で、エンコードされたオーディオをサンプリングする。もちろん、解像度を高めるか、又はデコーディング時に計算負荷を下げるために、他のサンプリング周波数が選択されてもよい。或いは又、オーディオがデジタルフォーマットで与えられる場合には、サンプラー502を排除できる。
【0016】
[0023]ここに示す実施例の時間ドメイン/周波数ドメインコンバータ504は、離散的フーリエ変換(DFT)、又は時間ベース情報を周波数ベース情報に変換するための他の適当な技術を使用して具現化することができる。1つの実施例では、時間ドメイン/周波数ドメインコンバータ504は、4つの新たなサンプルが規範的な時間ドメイン/周波数ドメインコンバータ504に送られるたびに、当該コード周波数(例えば、図5に1からNで指示された周波数)のスペクトルが計算するスライディングDFTを使用して具現化される。換言すれば、4つの新たなサンプルが分析ウインドウへシフトインされ、4つの古いサンプルが分析ウインドウからシフトアウトされ、分析ウインドウのDFTが完了となる。デコーディング時には、ブロックの境界が分からないので、スライディングDFTは、一度に4つのサンプルをスライドさせて、受け取られる512個のオーディオサンプル当たり128個の分析すべき個別のメッセージスレッドを与える。従って、128のスライド(各々4個のサンプルの)の終わりに、全部で512のサンプル(即ち、サンプルの1ブロック分)が処理され、分析されることになる。時間ドメイン/周波数ドメインコンバータ504により生成されるスペクトルの解像度は、スペクトルを生成するのに使用されるサンプルの数(例えば、512以上)が増加するにつれて高くなる。従って、時間ドメイン/周波数ドメインコンバータ504により処理されるサンプルの数は、図2に示すレジデントを選択するのに使用される解像度に一致しなければならない。レジデントとレジデントとの間の周波数間隔が微細であるほど、レジデントを検出するためにスペクトルを生成するのに使用されるサンプルが多くなる。
【0017】
[0024]時間ドメイン/周波数ドメインコンバータ504によって生成されたスペクトルは、ランカー506へ通される。ここに示す実施例のランカー506は、受け取ったスペクトルの隣接部における各当該周波数の振幅を、その隣接部における他の周波数の振幅に対してランク付けする(例えば、図5における1からNの当該周波数インデックスに対してランク1からランクN)。例えば、各隣接部に5つの周波数がある場合には、各周波数の振幅は、0から4のスケールでランク付けされ、但し、0は、最も小さな振幅であり、4は、最も大きな振幅である。以上の実施例は、各スペクトル周波数をランク付けすることについて述べたが、例えば、オーディオデータに情報を埋め込むために増幅又は減衰された当該周波数のみのような周波数のサブセットがランク付けされてもよい。ランカー506は、ランク値のセットをランクバッファ508へ出力する。
【0018】
[0025]ランクバッファ508は、ランク値のセットを円形バッファに記憶し、バッファがいっぱいになると、ランクの各新たなセットが、バッファ内の最も古いランクセットに置き換わるようにされる。ここに示す実施例のランクバッファ508は、時間ドメイン/周波数ドメインコンバータ504の各スライドに対応するランクの128セット(例えば、ランク1からNの128セット)を記憶する。更に、ランクバッファ508は、ランクの複数メッセージ分を記憶することもできる。例えば、以下に詳細に述べるように、ランクバッファ508は、ランクの5つのメッセージ分を記憶して、メッセージのブロックを平均化できるようにする。ランクバッファ508は、円形バッファとして説明するが、任意の形式のデータ構造及び記憶装置が使用されてもよい。例えば、ランクバッファ508は、任意の形式の1つ以上のレジスタ、1つ以上のファイル、1つ以上のデータベース、1つ以上のバッファ、等で構成されてもよい。
【0019】
[0026]ランクの規範的なセットは、次の通りである。
【表1】

【0020】
[0027]スタッカー510は、メッセージ/メッセージ冗長性の利点を取り入れて、オーディオ信号にエンコードされたデータの検出を改善する。特に、スタッカーコントロール512によってイネーブルされると、スタッカー510は、ランクバッファ508から連続メッセージのランクを検索し、そして連続メッセージの対応ブロックのランクを追加する。次いで、スタッカー510は、追加されたメッセージの数で和を除算する。従って、スタッカー510は、連続ブロックに対するランクの平均値を決定する。メッセージが冗長性を含むときには、ノイズ又はホストオーディオにより導入されるエラーを排除するためにランクが平均化される。例えば、エンコードされたメッセージは、放送局識別子(例えば、16ビットの局識別子)と、それに続いて、タイムスタンプ(例えば、1995年1月1日以来経過した時間(秒)を表す32ビットタイムスタンプ)と、それに続いて、複数レベルのメッセージを含むことができるようにするレベル仕様(例えば、2ビットのレベル仕様)とを含めて50ビットである。規範的な50ビットメッセージでは、メッセージの最下位ビット以外の全ビットが、1つの行内の多数のメッセージに対して繰り返される。メッセージが10個のグループに分割され、そして1つの同期グループを含む(例えば、全部で11個のグループを含む)規範的エンコーディングでは、最初の10個のグループは、メッセージからメッセージへと繰り返され、そして最後のグループ(例えば、タイムスタンプの最下位3ビットと、2つのレベル仕様ビットとを含む)は、メッセージからメッセージへと変化する。最下位3ビットは、8秒を表すことができ、又、規範的エンコーディングのメッセージは、各々ほぼ2秒のオーディオへとエンコードされるので、4つのメッセージの後に、最下位から4番目のビットが変化する。従って、同期グループと、最初の9つのデータグループは、4つのメッセージに対して繰り返すと予想される(ほぼ8秒)。
【0021】
[0028]スタッキングプロセスは、次の式に基づいて行うことができる。
【数1】


但し、pは、5つの連続するメッセージを平均化するときのメッセージインデックスであり(例えば、0≦p≦5)、kは、ブロックインデックスであり(例えば、シーケンス当たり16ブロックであるときは、0≦k≦16)、Sは、平均化すべき連続メッセージの数であり(例えば、5つの連続するメッセージを平均化するときは、5)、r1kmnは、メッセージmのk番目のブロックにおける第1の当該周波数の平均ランクであり、そしてr2kmnは、メッセージmのk番目のブロックにおける第2の当該周波数の平均ランクである。例えば、メッセージは、局識別子と、2秒ごとにエンコードされるタイムスタンプである。タイムスタンプの最下位ビット(例えば、秒)は、メッセージからメッセージへと変化するが、他のビット(例えば、タイムスタンプのより上位のビット)は、メッセージとメッセージとの間に変化しない。従って、現在メッセージのランクが、以前の4つのメッセージのランクに追加されるときには、全部より少ないメッセージに対して存在したかもしれないノイズの影響を減少することにより、平均ランク付けで検出を改善することができる。スタッカー510は、それがイネーブルされると、ランクのスタックされたセット(例えば、図5においてRANK_S1からスタックされたRANK_S)を比較器514へ出力する。スタッカー512がイネーブルされないときには、スタッカー510は、ランクバッファ508から検索されたランク(例えば、RANK_S1からRANK_SN)のセットを比較器514へ出力する。
【0022】
[0029]一実施例では、同じメッセージの繰り返しである対応パケットに対して次のランクが決定される。
【表2】


ランクの和は、次の通りである。
【表3】


ランクの平均は、次の通りである。
【表4】


この実施例に示すように、メッセージ4のブロック0が、以前の4つのメッセージとして逆のデータビットを示唆する(即ち、4、2は、1のビット値を示唆するが、他の値は、0のビット値を示唆する)ようにランク付けされたときでも、ランキングの平均化で、0のビット値を示唆する平均を生じさせる。従って、ノイズによるエラーが導入されたときでも、ランクの平均化で、エンコードされたデータにより厳密に一致するランクを生じることができる。
【0023】
[0030]スタッカーコントロール512は、スタッカー510がイネーブルされるとき又はディスエイブルされるときに制御を行う。例えば、スタッカー510がディスエイブルされるときには、ランクを平均化せずに、メッセージが一度に1つ処理される。スタッカー510がスタッカーコントロール512によりイネーブルされると、メッセージのスタッキングは、ここに述べるように又は他のプロセスを使用して遂行される。スタッカーコントロール512は、任意の基準に基づいてスタッキングを行うことができる。例えば、スタッカーコントロール512は、ノイズが検出されたとき、質の悪いオーディオ接続が存在するとき(例えば、物理的な接続ではなくマイクロホンが使用されるとき)、デコーダ104がオーディオソースから離れているとき(例えば、移動装置がオーディオソースから部屋を横切るとき)、等々に、自動的にスタッキングをイネーブルすることにより、選択的なスタッキングを行うことができる。それに加えて又はそれとは別に、スタッカーコントロール512は、ユーザにより要求されたときにスタッキングをイネーブルするように手動で制御されてもよく、及び/又は中央位置、エンコーダ102、等からのメッセージにより遠隔制御されてもよい。
【0024】
[0031]ここに示す実施例の比較器514は、シーケンスに対するランク又はスタックされたランクのセット(ランクのセット)をスタッカー510から受け取り、そして同期シーケンスが確認されたかどうか決定する。同期シーケンスが検出されなかった場合には、比較器514は、受け取ったランクのセットを基準同期シーケンスと比較し、そしてそのランクのセットが同期シーケンスに対応すると決定される場合に同期検出フラグをセットする。同期シーケンスが以前に検出された場合は、比較器514は、ランクのセットを、基準シーケンスデータストア516に記憶されたシーケンスの基準セットと比較する。シーケンスの基準セットは、考えられるランクと、それに関連した、ブロックごとの当該周波数に対する高又は低の指示とのリストを含む。例えば、各シーケンスが、5個のデータビット、10個のエラー修正ビット及び1つのブランクブロックを含むときには、15ビットのボーズ及びレイ・チョードリー(BCH)コードワードがおそらく2個あり、その各ビットは、2つの当該周波数の各々が減衰されたか増幅されたかの指示を有する(即ち、30個の指示)。ランクのセットに対応するシーケンスを決定するため、ランクのセットが基準シーケンスの各々と比較される。ランクのセットとの相違が最も小さい基準シーケンスが、受信されたシーケンスとして識別される。
【0025】
[0032]例えば、スタッカー510により与えられて受信したランクのセットが次の通りであるとき、
【表5】


最も近い基準シーケンスは、データビット0、0、1、1、0に対して次のようなセットとなる。
【表6】


基準ランクと、受け取ったランクのセットとの差の絶対値又は距離を決定することにより比較するときには、差は、次の通りである。
【表7】


数値の差(例えば、ハミング距離)は、差の行の和であり、20に等しい。この差は、他の全ての考えられるシーケンスに対する差と比較される。この差が、他の全ての距離より小さい場合には、その基準シーケンスが、最も近い一致であると決定される。
【0026】
[0033]シーケンスの基準セットから最も近いシーケンスを決定するのに加えて、比較器514は、最も近いシーケンスに対する差がスレッシュホールドを越えるかどうかも決定する。例えば、比較器514は、その差がスレッシュホールドより大きく、最も近い基準シーケンスが、受信したランクのセットと著しく異なることを意味する場合には、結果を破棄する。換言すれば、比較器514は、受信したランクのセットが、シーケンスを出力する前に、決定された基準シーケンスに充分に近づくことを保証する。
【0027】
[0034]規範的な比較器514は、検出されたシーケンスの最下位ビット(LSB)を再構成するように更に構成される。LSBは、スタッカーがイネーブルされそして幾つかのメッセージが平均化されるときには、再構成される必要がある。このような平均化は、平均化されたメッセージ間で変化するLSB(又は他の迅速に変化するデータ)を再生成させる。データを再構成するいずれの方法を使用してもよい。例えば、再構成されるデータがタイムスタンプのLSBである場合には、スタッキングを使用せずに1つのメッセージが検出され、タイマーを使用して、既知のLSBと現在メッセージとの間の時間差を決定し、タイムスタンプのLSBを再生成すると共に、正しいLSBを含むようにその決定されたメッセージを変更することができる。
【0028】
[0035]ここに示す実施例の基準シーケンス516は、いずれの形式のデータストレージにより具現化されてもよい。例えば、基準シーケンスデータストア516は、ファイル、データベース、テーブル、リスト、アレイ、又は他の形式のデータストアでよい。規範的な基準シーケンス516は、32個の考えられるBCHシーケンスを記憶するが、いかなる数のシーケンスが記憶されてもよい。例えば、シーケンスの部分セットが記憶されてもよい。
【0029】
[0036]システム100及びデコーダ104の幾つかの又は全ての要素を具現化するように実行される規範的プロセスを表すフローチャートが、図6及び7に示されている。
【0030】
[0037]これらの実施例において、各フローチャートにより表されるプロセスは、(a)図8を参照して以下に述べる規範的コンピュータ800に示されたマイクロプロセッサ812のようなプロセッサ、(b)コントローラ、及び/又は(c)他の適当な装置、により実行するためのマシン読み取り可能なインストラクションを含む1つ以上のプログラムによって具現化することができる。この1つ以上のプログラムは、例えば、フラッシュメモリ、CD−ROM、フレキシブルディスク、ハードドライブ、DVD、又はプロセッサ812に関連したメモリのような有形媒体に記憶されたソフトウェアで実施できるが、全プログラム又はプログラム及び/又はその一部分は、マイクロプロセッサ812以外の装置によって実行でき及び/又はファームウェア又は専用ハードウェアでも実施できる(例えば、特定用途向け集積回路(ASIC)、プログラム可能な論理装置(PLD)、フィールドプログラマブル論理装置(FPLD)、個別ロジック、等により具現化できる)。例えば、規範的移動通信システムの1つ、幾つか又は全部のコンポーネントを、ソフトウェア、ハードウェア及び/又はファームウェアの組み合わせで具現化することができる。又、図6及び7のフローチャートにより表されたプロセスの幾つか又は全部を手動で具現化することもできる。
【0031】
[0038]更に、図6及び7に示すフローチャートを参照して規範的プロセスを説明するが、ここに述べる規範的な方法及び装置を具現化するために多数の他の技術が使用されてもよい。例えば、図6及び7に示すフローチャートを参照すれば、ブロックの実行順序が変更されてもよく、及び/又は幾つかのブロックが変更され、削除され、合成され、及び/又は複数のブロックへ細分化されてもよい。図6及び7のプロセスは、デコーダ104に関連して説明するが、いかなる装置又はシステムで図6及び7のプロセスを具現化してもよい。
【0032】
[0039]図6は、オーディオのメッセージをデコードするための規範的プロセスのフローチャートである。図6のプロセスは、サンプラー502が分析ウインドウから4個のサンプルをサンプリングしそして4個のサンプルを破棄することにより現在オーディオブロックを更新するときに始まる(ブロック602)。規範的な時間ドメイン/周波数ドメインコンバータ504は、スライディングFFTを遂行して、サンプリングされたオーディオを、時間ドメインから周波数ドメインへ変換する(ブロック604)。ランカー506は、変換されたオーディオにおけるコード周波数をランク付けする(ブロック606)。例えば、上述したように、当該周波数は、各隣接部に5つの周波数があるときは0から4のスケールでランク付けされる。決定されたランクは、ランクバッファ508に記憶される(ブロック608)。ランクバッファ508が円形バッファであるときには、決定されたランクを追加することで、以前に記憶されたランクが排除される。更に、ランクバッファ508が円形バッファであるときには、ランクの次のセットをランクバッファ508に挿入しなければならないポイントを指示するインデックスがインクリメントされる(ブロック610)。
【0033】
[0040]次いで、比較器512は、シーケンスにおけるブロックの数(例えば、15ブロック)を横切ってランク配布アレイを生成する(ブロック612)。次いで、比較器514は、同期シーケンスが既に検出されたかどうか決定する(ブロック614)。同期シーケンスは、メッセージのスタートを指示する。それ故、同期が既に検出されたときには、メッセージスレッドがスタートしている。同期シーケンスがまだ検出されないときには、制御がブロック624へ進み、これについて以下に述べる。
【0034】
[0041]同期シーケンスが既に検出されたときには(ブロック614)、比較器514は、全ての潜在的なシーケンス(例えば、32個の考えられるBCHシーケンス)に対して一致スコアを生成する(ブロック616)。例えば、比較器514は、ランクの配布と、各潜在的シーケンスとの間の距離を決定する。次いで、比較器514は、最も大きなスコア(例えば、最も小さな距離)をもつ潜在的シーケンスを選択する(ブロック618)。比較器514は、選択されたスコアがスレッシュホールドを越えるかどうか決定する(ブロック620)。例えば、スコアが距離の場合には、比較器514は、距離がスレッシュホールド距離より小さいかどうか決定する。スコアがスレッシュホールドを越えないときには、制御がブロック602へ進み、処理を続ける。
【0035】
[0042]スコアがスレッシュホールドを越えるときには(ブロック620)、比較器514は、シーケンスに値を指定する(ブロック622)。次いで、制御は、ブロック602へ進み、処理を続ける。
【0036】
[0043]ブロック624へ戻ると、一致がまだ検出されないときに(ブロック614)、比較器514は、同期シーケンスのための一致スコアを生成する(ブロック624)。例えば、上述したように、比較器514は、ランク配布と基準同期シーケンスとの間の距離を決定する。比較器514は、スコアがスレッシュホールドを越えるかどうか決定する(ブロック626)。スコアがスレッシュホールドを越えないときには、制御がブロック602へ進み、処理を続ける。スコアがスレッシュホールドを越えるときには、同期が検出されたことを示すフラグがセットされる(ブロック628)。次いで、制御はブロック602へ進み、処理を続ける。フラグについて上述したが、同期が検出されたといういかなる指示が使用されてもよい。例えば、変数が記憶されてもよいし、同期シーケンスがテーブルに記憶されてもよいし、等々である。更に、規範的なプロセスは、同期シーケンスを検出するための個別の岐路を含むが、同期シーケンスは、他のシーケンスと同じ岐路において検出されてもよく、そしてメッセージスレッドのスタートを指示する同期シーケンスを識別するように処理が後で行われてもよい。更に、図6のプロセスは、連続ループとして示されているが、いかなるフローが使用されてもよい。
【0037】
[0044]図7は、オーディオにおけるメッセージをデコードするための規範的プロセスのフローチャートである。図7のプロセスは、スタッキングを使用して、デコーディングの精度を改善する。図7のプロセスは、サンプラー502が分析ウインドウから4個のサンプルをサンプリングしそして4個のサンプルを破棄することにより現在オーディオブロックを更新するときに始まる(ブロック702)。規範的な時間ドメイン/周波数ドメインコンバータ504は、スライディングFFTを遂行して、サンプリングされたオーディオを、時間ドメインから周波数ドメインへ変換する(ブロック704)。ランカー506は、変換されたオーディオにおけるコード周波数をランク付けする(ブロック706)。例えば、上述したように、当該周波数は、各隣接部に5つの周波数があるときは0から4のスケールでランク付けされる。次いで、スタッカー510は、決定されたランクを以前のメッセージの対応ブロックのランクに追加し、そしてメッセージの数で除算して、平均ランクを決定する(ブロック707)。例えば、決定されたランクは、以前の4つのメッセージの対応ランクに追加される。
【0038】
[0045]平均ランクは、ランクバッファ508に記憶される(ブロック708)。ランクバッファ508が円形バッファであるときには、平均ランクを追加することで、以前に記憶されたランクが排除される。更に、ランクバッファ508が円形バッファであるときには、ランクの次のセットをランクバッファ508に挿入しなければならないポイントを指示するインデックスがインクリメントされる(ブロック710)。或いは又、ランクは、ブロック706の後にランクバッファ508に記憶され、そしてブロック707の一部分としてランクバッファ508から検索されてもよい。
【0039】
[0046]次いで、比較器514は、シーケンスにおけるブロックの数(例えば、15ブロック)を横切ってランク配布アレイを生成する(ブロック712)。次いで、比較器514は、同期シーケンスが既に検出されたかどうか決定する(ブロック714)。同期シーケンスは、メッセージのスタートを指示する。それ故、同期が既に検出されたときには、メッセージスレッドがスタートしている。同期シーケンスがまだ検出されないときには、制御がブロック724へ進み、これについて以下に述べる。
【0040】
[0047]同期シーケンスが既に検出されたときには(ブロック714)、比較器514は、全ての潜在的なシーケンス(例えば、32個の考えられるBCHシーケンス)に対して一致スコアを生成する(ブロック716)。例えば、比較器514は、ランクの配布と、各潜在的シーケンスとの間の距離を決定する。次いで、比較器514は、最も大きなスコア(例えば、最も小さな距離)をもつ潜在的シーケンスを選択する(ブロック718)。比較器514は、選択されたスコアがスレッシュホールドを越えるかどうか決定する(ブロック720)。例えば、スコアが距離の場合には、比較器514は、距離がスレッシュホールド距離より小さいかどうか決定する。スコアがスレッシュホールドを越えないときには、制御がブロック702へ進み、処理を続ける。
【0041】
[0048]スコアがスレッシュホールドを越えるときには(ブロック720)、比較器514は、シーケンスに値を指定する(ブロック722)。次いで、比較器512は、スタッキングプロセスにより崩壊されたかもしれないデータを再構成する。例えば、比較器512は、1つのメッセージをデコードし、そのデコードされたメッセージと、現在検出されたメッセージとの間に経過する時間の量を追跡することにより、タイムスタンプの崩壊した部分(例えば、第2の指示)を決定する。次いで、制御は、ブロック702へ進み、処理を続ける。
【0042】
[0049]ブロック724へ戻ると、一致がまだ検出されないときに(ブロック714)、比較器514は、同期シーケンスのための一致スコアを生成する(ブロック724)。例えば、上述したように、比較器514は、ランク配布と基準同期シーケンスとの間の距離を決定する。比較器514は、スコアがスレッシュホールドを越えるかどうか決定する(ブロック726)。スコアがスレッシュホールドを越えないときには、制御がブロック702へ進み、処理を続ける。スコアがスレッシュホールドを越えるときには、同期が検出されたことを示すフラグがセットされる(ブロック728)。次いで、制御はブロック702へ進み、処理を続ける。フラグについて上述したが、同期が検出されたといういかなる指示が使用されてもよい。例えば、変数が記憶されてもよいし、同期シーケンスがテーブルに記憶されてもよいし、等々である。更に、規範的なプロセスは、同期シーケンスを検出するための個別の岐路を含むが、同期シーケンスは、他のシーケンスと同じ岐路において検出されてもよく、そしてメッセージスレッドのスタートを指示する同期シーケンスを識別するように処理が後で行われてもよい。更に、図7のプロセスは、連続ループとして示されているが、いかなるフローが使用されてもよい。
【0043】
[0050]図8は、規範的システム100及びデコーダ104、及び/又はここに述べる他のコンポーネントのいずれか又は全部を具現化するように使用され及び/又はプログラムされる規範的なプロセッサプラットホーム800の概略図である。例えば、プロセッサプラットホーム800は、1つ以上の汎用プロセッサ、プロセッサコア、マイクロコントローラ、等により具現化することができる。更に、プロセッサプラットホーム800は、他の機能を有する装置の一部分として具現化されてもよい。例えば、プロセッサプラットホーム800は、移動電話又は他のハンドヘルド装置に設けられる処理パワーを使用して具現化されてもよい。
【0044】
[0051]図8の実施例のプロセッサプラットホーム800は、少なくとも1つの汎用のプログラム可能なプロセッサ805を含む。このプロセッサ805は、プロセッサ805のメインメモリ内(例えば、RAM815及び/又はROM820内)に存在するコード化インストラクション810及び/又は812を実行する。又、プロセッサ805は、プロセッサコア、プロセッサ及び/又はマイクロコントローラのような任意の形式の処理ユニットでよい。更に、プロセッサ805は、とりわけ、ここに述べるプロセスを具現化する規範的なマシンアクセス可能なインストラクションを実行する。又、プロセッサ805は、バス825を経てメインメモリ(ROM820及び/又はRAM815を含む)と通信する。RAM815は、DRAM、SDRAM、及び/又は任意の他の形式のRAM装置によって具現化され、そしてROMは、フラッシュメモリ及び/又は他の望ましい形式のメモリ装置によって具現化される。メモリ815及び820へのアクセスは、メモリコントローラ(図示せず)により制御される。
【0045】
[0052]又、プロセッサプラットホーム800は、インターフェイス回路830も備えている。このインターフェイス回路830は、USBインターフェイス、ブルーツースインターフェイス、外部メモリインターフェイス、シリアルポート、汎用入力/出力、等の任意の形式のインターフェイス規格によって具現化されてもよい。1つ以上の入力装置835及び1つ以上の出力装置840がインターフェイス回路830に接続される。
【0046】
[0053]幾つかの規範的な装置、方法及び製造物品を説明したが、他の具現化も考えられる。本発明の範囲は、ここに述べる特定の実施例に限定されない。逆に、本発明は、本発明の範囲内に入る全ての装置、方法及び製造物品を網羅するものである。
【符号の説明】
【0047】
100…システム、102…エンコーダ、104…デコーダ、202、204…隣接部、300…シーケンス、302…メッセージビット、304…エラー修正ビット、400…メッセージスレッド、402…同期シーケンス、404、408、412…ノーマークブロック、406…第1シーケンス、410…第2シーケンス、414…第3シーケンス、502…サンプラー、504…時間ドメイン/周波数ドメインコンバータ、506…ランカー、508…ランクバッファ、510…スタッカー、512…スタッカーコントロール、514…比較器、516…基準シーケンスデータストア。

【特許請求の範囲】
【請求項1】
メディアコンテンツから情報を抽出する方法において、
メディアコンテンツ信号を受信するステップと、
前記メディアコンテンツ信号をサンプリングしてデジタルサンプルを生成するステップと、
前記デジタルサンプルの周波数ドメイン表現を決定するステップと、
前記周波数ドメイン表現において第1周波数の第1ランクを決定するステップと、
前記周波数ドメイン表現において第2周波数の第2ランクを決定するステップと、
前記第1ランク及び第2ランクをランクのセットと結合して、ランクの結合セットを生成するステップと、
前記ランクの結合セットを基準シーケンスのセットと比較するステップと、
前記比較結果に基づいて前記ランクの結合セットで表された情報を決定するステップと、
前記データを有形メモリに記憶するステップと、
を備える方法。
【請求項2】
ランクの結合セットをランクの基準セットと比較する前記ステップは、ランクの結合セットと、シーケンスの基準セットにおける1つ以上のシーケンスとの間の距離のセットを決定することを含む、請求項1に記載の方法。
【請求項3】
ランクの結合セットで表されたデータを決定する前記ステップは、前記シーケンスの基準セットにおいて最も小さな距離を有するシーケンスを選択することを含む、請求項2に記載の方法。
【請求項4】
前記第1ランクは、第1の当該周波数の振幅を、その隣接部における他の周波数に対して指示する、請求項1に記載の方法。
【請求項5】
前記隣接部における周波数の数は、考えられるランク値の数に等しい、請求項4に記載の方法。
【請求項6】
前記第1ランク及び第2ランクは、第1の時間において第1のメッセージに関連付けられ、
前記第1ランク及び第2ランクをランクのセットと結合してランクの結合セットを生成する前記ステップは、
前記第1のランク及び前記第1の時間より早い時間における少なくとも別のメッセージの第1の当該周波数に対する少なくとも別のランクの平均を決定して第1の平均ランクを決定し、前記第2のランク及び前記第1の時間より早い時間における少なくとも別のメッセージの第2の当該周波数に対する少なくとも別のランクの平均を決定して第2の平均ランクを決定し、そして前記第1の平均ランク及び第2の平均ランクを前記ランクのセットと結合してランクの結合セットを生成すること、
を含む、請求項1に記載の方法。
【請求項7】
前記方法は、
前記周波数ドメイン表現における第1周波数に対する第1の平均ランクを決定すると共に、前記周波数ドメイン表現における第2周波数に対する第2の平均ランクを決定するステップ、
を更に含む、請求項1に記載の方法。
【請求項8】
前記情報は、T秒後に、前記メディアコンテンツ信号にエンコードされ、
第1周波数に対する第1平均ランクを決定することは、第1ランクを決定するほぼT秒前に第1周波数に対する第3ランクを決定し、そして前記第1ランク及びその第3ランクを加えること、を含む、請求項7に記載の方法。
【請求項9】
メディアコンテンツから情報を抽出する装置において、
メディアコンテンツ信号を受信し、メディアコンテンツ信号をサンプリングして、デジタルサンプルを生成するサンプラーと、
前記デジタルサンプルの周波数ドメイン表現を決定するための時間ドメイン/周波数ドメインコンバータと、
前記周波数ドメイン表現において第1周波数の第1ランクを決定すると共に、前記周波数ドメイン表現において第2周波数の第2ランクを決定するためのランカーと、
前記第1ランク及び第2ランクをランクのセットと結合してランクの結合セットを生成し、前記ランクの結合セットを基準シーケンスのセットと比較し、該比較結果に基づいて前記ランクの結合セットで表された情報を決定し、そのデータを有形メモリに記憶するための比較器と、
を備える装置。
【請求項10】
ランクの結合セットをランクの基準セットと比較することは、ランクの結合セットと、シーケンスの基準セットにおける1つ以上のシーケンスとの間の距離のセットを決定することを含む、請求項9に記載の装置。
【請求項11】
前記比較器は、前記シーケンスの基準セットにおいて最も小さな距離を有するシーケンスを選択することにより、ランクの結合セットで表されたデータを決定する、請求項10に記載の装置。
【請求項12】
前記第1ランクは、第1の当該周波数の振幅を、その隣接部における他の周波数に対して指示する、請求項9に記載の装置。
【請求項13】
前記隣接部における周波数の数は、考えられるランク値の数に等しい、請求項12に記載の装置。
【請求項14】
前記第1ランク及び第2ランクは、第1の時間において第1のメッセージに関連付けられ、
前記比較器は、
前記第1のランク及び前記第1の時間より早い時間における少なくとも別のメッセージの第1の当該周波数に対する少なくとも別のランクの平均を決定して第1の平均ランクを決定し、前記第2のランク及び前記第1の時間より早い時間における少なくとも別のメッセージの第2の当該周波数に対する少なくとも別のランクの平均を決定して第2の平均ランクを決定し、そして前記第1の平均ランク及び第2の平均ランクを前記ランクのセットと結合してランクの結合セットを生成することによって、前記第1ランク及び第2ランクをランクのセットと結合してランクの結合セットを生成する、
請求項9に記載の装置。
【請求項15】
前記装置は、
前記周波数ドメイン表現における第1周波数に対する第1の平均ランクを決定すると共に、前記周波数ドメイン表現における第2周波数に対する第2の平均ランクを決定するためのスタッカー、
を更に備えた、請求項9に記載の装置。
【請求項16】
前記情報は、T秒後に、前記メディアコンテンツ信号にエンコードされ、
第1周波数に対する第1平均ランクを決定することは、第1ランクを決定するほぼT秒前に第1周波数に対する第3ランクを決定し、そして前記第1ランク及びその第3ランクを加えることを含む、請求項15に記載の装置。
【請求項17】
コンピュータに、
メディアコンテンツ信号を受信する手順、
前記メディアコンテンツ信号をサンプリングしてデジタルサンプルを生成する手順、
前記デジタルサンプルの周波数ドメイン表現を決定する手順、
前記周波数ドメイン表現において第1周波数の第1ランクを決定する手順、
前記周波数ドメイン表現において第2周波数の第2ランクを決定する手順、
前記第1ランク及び第2ランクをランクのセットと結合して、ランクの結合セットを生成する手順、
前記ランクの結合セットを基準シーケンスのセットと比較する手順、
前記比較結果に基づいて前記ランクの結合セットにより表された情報を決定する手順、
前記データを有形メモリに記憶する手順、
を実行させるためのプログラムであって、メディアコンテンツから情報を抽出する当該プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項18】
前記ランクの結合セットを基準シーケンスのセットと比較する手順は、
ランクの結合セットと、シーケンスの基準セットにおける1つ以上のシーケンスとの間の距離のセットを決定すること、を含む、請求項17に記載のコンピュータ読み取り可能な記録媒体。
【請求項19】
前記ランクの結合セットにより表された情報を決定する手順は、
前記シーケンスの基準セットにおいて最も小さな距離を有するシーケンスを選択すること、を含む、請求項18に記載のコンピュータ読み取り可能な記録媒体。
【請求項20】
前記第1ランクは、第1の当該周波数の振幅を、隣接部における他の周波数に対して指示する、請求項17に記載のコンピュータ読み取り可能な記録媒体。
【請求項21】
前記隣接部における周波数の数は、考えられるランク値の数に等しい、請求項20に記載のコンピュータ読み取り可能な記録媒体。
【請求項22】
前記第1ランク及び第2ランクは、第1の時間において第1のメッセージに関連付けられ、
前記第1ランク及び第2ランクをランクのセットと結合してランクの結合セットを生成する手順は、
前記第1のランク及び前記第1の時間より早い時間における少なくとも別のメッセージの第1の当該周波数に対する少なくとも別のランクの平均を決定して第1の平均ランクを決定し、前記第2のランク及び前記第1の時間より早い時間における少なくとも別のメッセージの第2の当該周波数に対する少なくとも別のランクの平均を決定して第2の平均ランクを決定し、そして前記第1の平均ランク及び第2の平均ランクを前記ランクのセットと結合してランクの結合セットを生成すること、
を含む、請求項17に記載のコンピュータ読み取り可能な記録媒体。
【請求項23】
前記プログラムは、
前記コンピュータに、さらに、
前記周波数ドメイン表現における第1周波数に対する第1の平均ランクを決定すると共に、前記周波数ドメイン表現における第2周波数に対する第2の平均ランクを決定する手順、
を実行させる、請求項17に記載のコンピュータ読み取り可能な記録媒体。
【請求項24】
前記情報は、T秒後に、前記メディアコンテンツ信号にエンコードされ、
前記第1周波数の第1ランクを決定する手順は、
第1ランクを決定するほぼT秒前に第1周波数に対する第3ランクを決定し、そして前記第1ランク及びその第3ランクを加えること、
を含む、請求項23に記載のコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2012−507047(P2012−507047A)
【公表日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2011−533363(P2011−533363)
【出願日】平成21年10月23日(2009.10.23)
【国際出願番号】PCT/US2009/061827
【国際公開番号】WO2010/048498
【国際公開日】平成22年4月29日(2010.4.29)
【出願人】(510130723)ザ ニールセン カンパニー (ユー エス) エルエルシー (22)
【Fターム(参考)】