(57)【要約】【課題】オーディオ透かし入れ、透かし検出及び抽出のための方法及び装置を提供する。【解決手段】規範的な方法によれば、異なる識別子が以前にエンコードされているときにメディアコンテンツに識別子がエンコードされる。別の規範的方法によれば、メディアコンテンツからデコードされたメッセージが確認されて、改善されたデコーディング精度が与えられる。更に別の規範的方法では、デコードされた記号がメモリに記憶され、そしてメディアコンテンツにエンコードされたメッセージを検出するために同期記号が位置付けられる。【選択図】図１
2012507044.tif 000002
【特許請求の範囲】
【請求項１】
エンコーディングを含むようにメディアコンテンツを変換する方法において、
エンコードされるべきオーディオサンプルを受け取るステップと、
前記オーディオサンプルにおいて第１のエンコードされた識別コードを検出するステップと、
前記検出に応答して、前記オーディオサンプルにおいて既存のコードフラグをエンコーディングすると共に、前記オーディオサンプルにおいて第２の識別コードをエンコーディングして、前記オーディオサンプルをエンコードされたオーディオサンプルへと変換するステップと、
前記エンコードされたオーディオサンプルを有形のメモリに記憶するステップと、
を備える方法。
【請求項２】
前記第１のエンコードされた識別コードをエンコーディングするときには、第１の識別記号ルックアップテーブルが使用され、前記第２の識別コードは、前記第１の識別記号ルックアップテーブルとは異なる第２の識別記号ルックアップテーブルを使用してエンコードされる、請求項１に記載の方法。
【請求項３】
前記第１のエンコードされた識別コードは、第１の時間に第１のエンコーディングを、第２の時間に第２のエンコーディングを、それぞれ含み、
前記第２の識別コードをエンコーディングすることは、前記第１のエンコーディングと第２のエンコーディングとの間で前記第２の識別コードをエンコーディングすること、を含む、請求項１に記載の方法。
【請求項４】
前記既存のコードフラグをエンコーディングすることは、
前記第１のエンコーディングと第２のエンコーディングとの間で前記既存のコードフラグをエンコーディングすること、
を含む、請求項３に記載の方法。
【請求項５】
前記第２の識別コードをエンコーディングすることは、
前記第２の識別コードに対応する周波数のセットを識別し、
前記周波数のセットにおける周波数を強調すること、
を含む請求項１に記載の方法。
【請求項６】
前記周波数を強調することは、
増幅された前記周波数のセットからの少なくとも１つの周波数を有する少なくとも１つのコード信号を発生し、
前記少なくとも１つのコード信号を前記オーディオサンプルに追加すること、
を含む請求項５に記載の方法。
【請求項７】
前記第１のエンコードされた識別コードは、第１の時間にオーディオサンプルのメディアコンテンツを放送する第１のメディアコンテンツディストリビュータを識別し、更に、第２の識別コードは、前記第１の時間より後の第２の時間にメディアコンテンツを放送する第２のメディアコンテンツディストリビュータを識別する、請求項１に記載の方法。
【請求項８】
エンコーディングを含むようにメディアコンテンツを変換する装置において、
エンコードされるべきオーディオサンプルを受け取り、そのオーディオサンプルにおいて第１のエンコードされた識別コードを検出するための事前コード検出器と、
第２の識別コードに対応する周波数のセットを識別するコード周波数セレクタと、
前記検出に応答して、増幅されるべき周波数のセットからの少なくとも１つの周波数を有する少なくとも１つのコード信号を発生するためのコード信号シンセサイザと、
前記少なくとも１つのコード信号及びオーディオサンプルを結合して、オーディオサンプルにおいて既存のコードフラグをエンコードすると共に、オーディオサンプルにおいて第２の識別コードをエンコードして、オーディオサンプルをエンコードされたオーディオサンプルへと変換し、更に、そのエンコードされたオーディオサンプルを有形のメモリに記憶するためのミクサと、
を備える装置。
【請求項９】
前記第１のエンコードされた識別コードをエンコーディングするときには、第１の識別記号ルックアップテーブルが使用され、更に、前記コード周波数セレクタは、第２の識別記号ルックアップテーブルを使用して、第２の識別コードに対応する周波数のセットを識別する、請求項８に記載の装置。
【請求項１０】
前記第１のエンコードされた識別コードは、第１の時間に第１のエンコーディングを、第２の時間に第２のエンコーディングを、それぞれ含み、
前記第２の識別コードをエンコーディングすることは、前記第１のエンコーディングと第２のエンコーディングとの間で前記第２の識別コードをエンコーディングすることを含む、請求項８に記載の装置。
【請求項１１】
前記既存のコードフラグをエンコーディングすることは、
前記第１のエンコーディングと第２のエンコーディングとの間で前記既存のコードフラグをエンコーディングすること、
を含む、請求項１０に記載の装置。
【請求項１２】
前記第１のエンコードされた識別コードは、第１の時間にオーディオサンプルのメディアコンテンツを放送する第１のメディアコンテンツディストリビュータを識別し、更に、第２の識別コードは、前記第１の時間より後の第２の時間にメディアコンテンツを放送する第２のメディアコンテンツディストリビュータを識別する、請求項８に記載の装置。
【請求項１３】
コンピュータに、
エンコードされるべきオーディオサンプルを受け取る手順、
前記オーディオサンプルにおいて第１のエンコードされた識別コードを検出する手順、
前記検出に応答して、前記オーディオサンプルにおいて既存のコードフラグをエンコーディングすると共に、前記オーディオサンプルにおいて第２の識別コードをエンコーディングして、前記オーディオサンプルをエンコードされたオーディオサンプルへと変換する手順、および、
前記エンコードされたオーディオサンプルを有形のメモリに記憶する手順、
を実行させるプログラムであって、エンコーディングを含むようにメディアコンテンツを変換させる当該プログラム、を記憶した有形のコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記第１のエンコードされた識別コードをエンコーディングするときには、第１の識別記号ルックアップテーブルが使用され、前記第２の識別コードは、前記第１の識別記号ルックアップテーブルとは異なる第２の識別記号ルックアップテーブルを使用してエンコードされる、請求項１３に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記第１のエンコードされた識別コードは、第１の時間に第１のエンコーディングを、第２の時間に第２のエンコーディングを、それぞれ含み、
前記第２の識別コードをエンコーディングすることは、前記第１のエンコーディングと第２のエンコーディングとの間で前記第２の識別コードをエンコーディングすることを含む、請求項１３に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記既存のコードフラグをエンコーディングすることは、前記第１のエンコーディングと第２のエンコーディングとの間で前記既存のコードフラグをエンコーディングすることを含む、請求項１５に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記第２の識別コードをエンコーディングすることは、
前記第２の識別コードに対応する周波数のセットを識別し、
前記周波数のセットにおける周波数を強調すること、
を含む請求項１３に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記周波数を強調することは、
増幅された前記周波数のセットからの少なくとも１つの周波数を有する少なくとも１つのコード信号を発生し、
前記少なくとも１つのコード信号を前記オーディオサンプルに追加すること、
を含む請求項１７に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記第１のエンコードされた識別コードは、第１の時間にオーディオサンプルのメディアコンテンツを放送する第１のメディアコンテンツディストリビュータを識別し、
更に、第２の識別コードは、前記第１の時間より後の第２の時間にメディアコンテンツを放送する第２のメディアコンテンツディストリビュータを識別する、請求項１３に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項２０】
メディアコンテンツをメッセージへと変換する方法において、
エンコードされたオーディオサンプルを受け取るステップと、
前記エンコードされたオーディオサンプルにエンコードされた第１の記号を決定するステップと、
前記第１の記号を有形のメモリに記憶するステップと、
前記エンコードされたオーディオサンプルにエンコードされた第２の記号を決定するステップと、
前記第２の記号を有形のメモリに記憶するステップと、
前記第１の記号が前記第２の記号に一致することを決定するステップと、
前記決定に応答して、前記第１の記号及び第２の記号が確認されたことを決定し、前記第１の記号を出力するステップと、
を備える方法。
【請求項２１】
前記第１の記号及び第２の記号は、前記有形のメモリのスタックに記憶される、請求項２０に記載の方法。
【請求項２２】
前記方法は、
前記決定に応答して前記スタックから前記第１の記号をポップさせるステップ、
を更に備える、請求項２１に記載の方法。
【請求項２３】
前記第１の記号は、第１サンプルでスタートする少なくとも１つのサンプルの第１セットにおいてエンコードされ、
前記第２の記号は、前記第１サンプルとは異なる第２サンプルでスタートする少なくとも１つのサンプルの第２セットにおいてエンコードされる、請求項２０に記載の方法。
【請求項２４】
前記方法は、
前記第１サンプルと第２サンプルとの間のサンプルの数を計算するステップ、
を更に備える、請求項２３に記載の方法。
【請求項２５】
前記第１の記号を出力することは、前記決定に応答して行われ、前記サンプルの数は、記号エンコーディング繰り返し率の倍数である、請求項２４に記載の方法。
【請求項２６】
前記方法は、
前記決定に応答して前記第２の記号を確認済みと識別するステップ、
を更に備える、請求項２０に記載の方法。
【請求項２７】
メディアコンテンツをメッセージへと変換するための装置において、
エンコードされたオーディオコンテンツを受け取り、そのエンコードされたオーディオコンテンツをエンコードされたオーディオサンプルへ変換するためのサンプラーと、
前記エンコードされたオーディオサンプルにエンコードされた第１の記号を決定し、その第１の記号を有形のメモリに記憶し、前記エンコードされたオーディオサンプルにエンコードされた第２の記号を決定し、その第２の記号を前記有形のメモリに記憶するための最大スコアセレクタと、
前記第１の記号が前記第２の記号に一致することを決定し、その決定に応答して、前記第１の記号及び第２の記号が確認されたことを決定し、そして前記第１の記号を出力するためのバリデータと、
を備える装置。
【請求項２８】
前記第１の記号及び第２の記号は、前記有形のメモリのスタックに記憶される、請求項２７に記載の装置。
【請求項２９】
前記バリデータは、更に、前記決定に応答して前記スタックから前記第１の記号をポップさせる、請求項２８に記載の装置。
【請求項３０】
前記第１の記号は、第１サンプルでスタートする少なくとも１つのサンプルの第１セットにおいてエンコードされ、
更に、前記第２の記号は、前記第１サンプルとは異なる第２サンプルでスタートする少なくとも１つのサンプルの第２セットにおいてエンコードされる、請求項２７に記載の装置。
【請求項３１】
前記バリデータは、更に、前記第１サンプルと第２サンプルとの間のサンプルの数を計算する、請求項３０に記載の装置。
【請求項３２】
前記バリデータは、前記決定に応答して前記第１の記号を出力し、前記サンプルの数は、記号エンコーディング繰り返し率の倍数である、請求項３１に記載の装置。
【請求項３３】
前記バリデータは、更に、前記決定に応答して前記第２の記号を確認済みと識別する、請求項２７に記載の装置。
【請求項３４】
前記最大スコアセレクタは、２つ以上の考えられる記号に対するエンコーディングの見込みを指示するスコアを受け取り、そして最も大きなスコアをもつ記号を選択することにより、前記第１のエンコードされた記号を決定する、請求項２７に記載の装置。
【請求項３５】
コンピュータに、
エンコードされたオーディオサンプルを受け取る手順、
前記エンコードされたオーディオサンプルにエンコードされた第１の記号を決定する手順、
前記第１の記号を有形のメモリに記憶する手順、
前記エンコードされたオーディオサンプルにエンコードされた第２の記号を決定する手順、
前記第２の記号を有形のメモリに記憶する手順、
前記第１の記号が前記第２の記号に一致することを決定する手順、および、
前記決定に応答して、前記第１の記号及び第２の記号が確認されたことを決定し、前記第１の記号を出力する手順、
を実行させるプログラムであって、メディアコンテンツをメッセージへと変換させる当該プログラム、を記憶した有形のコンピュータ読み取り可能な記録媒体。
【請求項３６】
前記第１の記号及び第２の記号は、前記有形のメモリのスタックに記憶される、請求項３５に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項３７】
前記プログラムは、前記コンピュータに、さらに、
前記決定に応答して前記スタックから前記第１の記号をポップさせる、請求項３６に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項３８】
前記第１の記号は、第１サンプルでスタートする少なくとも１つのサンプルの第１セットにおいてエンコードされ、更に、前記第２の記号は、前記第１サンプルとは異なる第２サンプルでスタートする少なくとも１つのサンプルの第２セットにおいてエンコードされる、請求項３５に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項３９】
前記プログラムは、前記コンピュータに、さらに、
前記第１サンプルと第２サンプルとの間のサンプルの数を計算させる、請求項３８に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項４０】
前記第１の記号を出力することは、前記決定に応答して行われ、
前記サンプルの数は、記号エンコーディング繰り返し率の倍数である、請求項３９に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項４１】
前記プログラムは、前記コンピュータに、さらに、
前記決定に応答して前記第２の記号を確認済みと識別させる、請求項３５に記載の有形のコンピュータ読み取り可能な記録媒体。
【請求項４２】
メディアコンテンツをメッセージへと変換する方法において、
エンコードされたオーディオサンプルを受け取るステップと、
前記エンコードされたオーディオサンプルにおいて第１の記号、第２の記号、第３の記号及び第４の記号を順次に検出するステップと、
前記第１の記号、第２の記号、第３の記号及び第４の記号を有形なメモリに記憶するステップと、
前記第１の記号が同期記号であることを決定するステップと、
前記決定に応答して、前記第１の記号及び第３の記号が第１のメッセージに関連し、前記第２の記号及び第４の記号が第２のメッセージに関連していることを決定するステップと、
前記第１のメッセージを出力するステップと、
を備える方法。
【請求項４３】
前記方法は、
前記第１のメッセージを有形なメモリに記憶するステップ、
を更に備える、請求項４２に記載の方法。
【請求項４４】
前記第１の記号、第２の記号、第３の記号及び第４の記号は、前記有形なメモリの少なくとも１つの循環バッファに記憶される、請求項４２に記載の方法。
【請求項４５】
第１の記号、第２の記号、第３の記号及び第４の記号を有形なメモリに記憶する前記ステップは、
前記第１の記号を第１の循環バッファの第１の位置に記憶し、前記第２の記号を第２の循環バッファの第１の位置に記憶し、前記第３の記号を第１の循環バッファの第２の位置に記憶し、そして前記第４の記号を第２の循環バッファの第２の位置に記憶すること、
を含み、
前記第１の循環バッファの第１の位置は、前記第２の循環バッファの第１の位置に対応し、前記第１の循環バッファの第２の位置は、前記第２の循環バッファの第２の位置に対応する、請求項４２に記載の方法。
【請求項４６】
前記方法は、
前記第１の記号、第２の記号、第３の記号及び第４の記号を少なくとも１つの循環バッファの第２セットに記憶するステップ、
を更に備える、請求項４５に記載の方法。
【請求項４７】
前記方法は、
前記第１の記号は、前記エンコードされたオーディオサンプルが、エンコードされたメッセージの第１セットとこのエンコードされたメッセージの第１セットがエンコードされた後にエンコードされたエンコードされたメッセージの第２セットとを含むことを指示する既存コード同期記号である、ことを決定するステップ、
を更に備える、請求項４６に記載の方法。
【請求項４８】
前記方法は、
前記第１の記号が既存コード同期記号であることを決定するのに応答して、少なくとも１つの循環バッファの第２セットを使用して前記エンコードされたメッセージの第２セットを決定するステップ、
を更に備える、請求項４７に記載の方法。
【請求項４９】
前記方法は、
前記第１の記号を前記有形なメモリに記憶するときに前記第１の記号に対応するサンプルインデックスを前記有形なメモリに記憶するステップ、
を更に備える、請求項４２に記載の方法。
【請求項５０】
前記方法は、
前記第１のメッセージが前記第２のメッセージに一致することを決定するステップ、
を更に備え、
前記第１のメッセージを出力する前記ステップは、
前記第１のメッセージが前記第２のメッセージに一致するという前記決定に応答して、前記第１のメッセージ及び第２のメッセージに対応する単一のメッセージを出力すること、
を含む、請求項４２に記載の方法。
【請求項５１】
メディアコンテンツをメッセージへ変換するための装置において、
エンコードされたオーディオコンテンツを受け取り、そのエンコードされたオーディオコンテンツをエンコードされたオーディオサンプルへ変換するためのサンプラーと、
前記エンコードされたオーディオサンプルにおいて第１の記号、第２の記号、第３の記号及び第４の記号を順次に検出し、そしてその第１の記号、第２の記号、第３の記号及び第４の記号を有形なメモリに記憶するための最大スコアセレクタと、
前記第１の記号が同期記号であることを決定し、この決定に応答して、前記第１の記号及び第３の記号が第１のメッセージに関連し、前記第２の記号及び第４の記号が第２のメッセージに関連していることを決定し、前記第１の記号を出力するためのメッセージ識別子と、
を備える装置。
【請求項５２】
前記メッセージ識別子は、更に、前記第１のメッセージを有形なメモリに記憶する、請求項５１に記載の装置。
【請求項５３】
前記第１の記号、第２の記号、第３の記号及び第４の記号は、前記有形なメモリの少なくとも１つの循環バッファに記憶される、請求項５１に記載の装置。
【請求項５４】
前記最大スコアセレクタは、前記第１の記号を第１の循環バッファの第１の位置に記憶し、前記第２の記号を第２の循環バッファの第１の位置に記憶し、前記第３の記号を第１の循環バッファの第２の位置に記憶し、そして前記第４の記号を第２の循環バッファの第２の位置に記憶することにより、前記第１の記号、第２の記号、第３の記号及び第４の記号を有形なメモリに記憶し、
前記第１の循環バッファの第１の位置は、前記第２の循環バッファの第１の位置に対応し、そして、前記第１の循環バッファの第２の位置は、前記第２の循環バッファの第２の位置に対応する、請求項５１に記載の装置。
【請求項５５】
前記最大スコアセレクタは、前記第１の記号、第２の記号、第３の記号及び第４の記号を少なくとも１つの循環バッファの第２セットに記憶する、請求項５４に記載の装置。
【請求項５６】
前記メッセージ識別子は、
前記第１の記号が既存コード同期記号であって、前記エンコードされたオーディオサンプルが、エンコードされたメッセージの第１セットと、このエンコードされたメッセージの第１セットがエンコードされた後にエンコードされたエンコードされたメッセージの第２セットとを含むことを指示することを決定するためのものである、請求項５５に記載の装置。
【請求項５７】
前記メッセージ識別子は、
前記第１の記号が既存コード同期記号であることを決定するのに応答して、少なくとも１つの循環バッファの第２セットを使用して前記エンコードされたメッセージの第２セットを決定するためのものである、請求項５６に記載の装置。
【請求項５８】
前記最大スコアセレクタは、更に、前記第１の記号を前記有形なメモリに記憶するときに前記第１の記号に対応するサンプルインデックスを前記有形なメモリに記憶する、請求項５１に記載の装置。
【請求項５９】
前記メッセージ識別子は、更に、前記第１のメッセージが前記第２のメッセージに一致することを決定するためのものであり、
前記第１のメッセージを出力することは、前記第１のメッセージが前記第２のメッセージに一致するという前記決定に応答して、前記第１のメッセージ及び第２のメッセージに対応する単一のメッセージを出力することを含む、請求項５１に記載の装置。
【請求項６０】
前記最大スコアセレクタは、２つ以上の考えられる記号に対するエンコーディングの見込みを指示するスコアを受け取り、そして最も大きなスコアをもつ記号を選択することにより、前記第１の記号を決定する、請求項５１に記載の装置。
【請求項６１】
コンピュータに、
エンコードされたオーディオサンプルを受け取る手順、
前記エンコードされたオーディオサンプルにおいて第１の記号、第２の記号、第３の記号及び第４の記号を順次に検出する手順、
前記第１の記号、第２の記号、第３の記号及び第４の記号を有形なメモリに記憶する手順、
前記第１の記号が同期記号であることを決定する手順、
前記決定に応答して、前記第１の記号及び第３の記号が第１のメッセージに関連し、前記第２の記号及び第４の記号が第２のメッセージに関連していることを決定する手順、および、
前記第１のメッセージを出力する手順、
を実行させるプログラムであって、メディアコンテンツをメッセージへと変換させる当該プログラム、を記憶した有形のコンピュータ読み取り可能な記録媒体。
【請求項６２】
前記プログラムは、前記コンピュータに、さらに、
前記第１のメッセージを有形なメモリに記憶させる、請求項６１に記載の有形なコンピュータ読み取り可能な記録媒体。
【請求項６３】
前記第１の記号、第２の記号、第３の記号及び第４の記号は、前記有形なメモリの少なくとも１つの循環バッファに記憶される、請求項６１に記載の有形なコンピュータ読み取り可能な記録媒体。
【請求項６４】
前記第１の記号、第２の記号、第３の記号及び第４の記号を有形なメモリに記憶することは、前記第１の記号を第１の循環バッファの第１の位置に記憶し、前記第２の記号を第２の循環バッファの第１の位置に記憶し、前記第３の記号を第１の循環バッファの第２の位置に記憶し、そして前記第４の記号を第２の循環バッファの第２の位置に記憶することを含み、
前記第１の循環バッファの第１の位置は、前記第２の循環バッファの第１の位置に対応し、そして前記第１の循環バッファの第２の位置は、前記第２の循環バッファの第２の位置に対応する、請求項６１に記載の有形なコンピュータ読み取り可能な記録媒体。
【請求項６５】
前記プログラムは、前記コンピュータに、さらに、
前記第１の記号、第２の記号、第３の記号及び第４の記号を少なくとも１つの循環バッファの第２セットに記憶させる、請求項６４に記載の有形なコンピュータ読み取り可能な記録媒体。
【請求項６６】
前記プログラムは、前記コンピュータに、さらに、
前記第１の記号が既存コード同期記号であって、前記エンコードされたオーディオサンプルが、エンコードされたメッセージの第１セットと、このエンコードされたメッセージの第１セットがエンコードされた後にエンコードされたエンコードされたメッセージの第２セットとを含むことを指示するという決定を記憶させる、請求項６５に記載の有形なコンピュータ読み取り可能な記録媒体。
【請求項６７】
前記プログラムは、前記コンピュータに、さらに、
前記第１の記号が既存コード同期記号であるという決定に応答して、少なくとも１つの循環バッファの第２セットを使用して前記エンコードされたメッセージの第２セットを決定させる、請求項６６に記載の有形なコンピュータ読み取り可能な記録媒体。
【請求項６８】
前記プログラムは、前記コンピュータに、さらに、
前記第１の記号を前記有形なメモリに記憶するときに前記第１の記号に対応するサンプルインデックスを前記有形なメモリに記憶させる、請求項６１に記載の有形なコンピュータ読み取り可能な記録媒体。
【請求項６９】
前記プログラムは、前記コンピュータに、さらに、
前記第１のメッセージが前記第２のメッセージに一致することを決定させ、
更に、前記第１のメッセージを出力することは、前記第１のメッセージが前記第２のメッセージに一致するという前記決定に応答して、前記第１のメッセージ及び第２のメッセージに対応する単一のメッセージを出力すること、を含む、請求項６１に記載の有形なコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、メディア監視に係り、より詳細には、オーディオ透かし入れ、透かし検出及び抽出を行う方法及び装置に係る。
【０００２】
［関連出願］
本出願は、２００９年５月１日に出願された“METHOD  AND  APPARATUS  TO  PERFORM  AUDIO  WATERMARKING  AND  WATERMARK  DETECTION  AND  EXTRACTION”と題する米国プロビジョナル特許出願第６１／１７４，７０８号、及び２００８年１０月２４日に出願された“STACKING  METHOD  FOR  ADVANCED  WATERMARK  DETECTION”と題する米国プロビジョナル特許出願第６１／１０８，３８０号の利益を主張するものであり、それらの開示は、ここに参考としてそのまま援用される。
【背景技術】
【０００３】
[0003]メディア情報、特に、オーディオストリーム（例えば、オーディオ情報）を識別することは、テレビ、ラジオ、又は他のメディアへの視聴者の露出を評価する上で有用である。例えば、テレビ視聴率計測アプリケーションでは、メディアのオーディオ又はビデオにコードが挿入され、そのコードは、その後、監視サイトにおいて、メディアが提示される（例えば、監視される世帯で再生される）ときに検出される。オリジナル信号に埋め込まれるコード／透かしの情報ペイロードは、独特のソース識別、放送時間情報、トランザクション情報、又は付加的なコンテンツメタデータで構成される。
【０００４】
[0004]監視サイトは、典型的に、例えば、世帯のような場所を含み、視聴者メンバーのメディア消費又はメディアへの視聴者メンバー露出が監視される。例えば、監視サイトでは、オーディオ及び／又はビデオからコードが捕獲され、このコードは、選択されたチャンネル、ラジオ局、メディアソース、等に関連したメディアのオーディオ又はビデオストリームに関連付けられる。収集されたコードは、次いで、分析のために中央のデータ収集施設へ送られる。しかしながら、メディア露出又は消費に関するデータの収集が家庭内での露出又は消費に限定される必要はない。
【図面の簡単な説明】
【０００５】
【図１】複合テレビ信号のオーディオ部分に追加される番組識別コードを使用する放送視聴率測定システムの概略図である。
【図２】図１の規範的エンコーダのブロック図である。
【図３】図２の規範的デコーダにより実行される規範的エンコーディングプロセスを示すフローチャートである。
【図４】図２のコード周波数セレクタに関連して使用される周波数インデックステーブルを発生するために実行される規範的プロセスを示すフローチャートである。
【図５】臨界帯域インデックスと、それらが短及び長ブロックサンプルインデックスにどのように対応するかを示す図である。
【図６】特定の情報記号を表す周波数成分を選択する一実施例を示す。
【図７】図４のプロセスにより発生されそして図２のコード周波数セレクタに関連して使用される規範的コード周波数構成を示す図である。
【図８】図４のプロセスにより発生されそして図２のコード周波数セレクタに関連して使用される別の規範的コード周波数構成を示す図である。
【図９】図４のプロセスにより発生されそして図２のコード周波数セレクタに関連して使用される別の規範的コード周波数構成を示す図である。
【図１０】オーディオエンコーディングインデックス間の周波数関係を示す。
【図１１】図１の規範的デコーダのブロック図である。
【図１２】図１１の規範的エンコーダにより実行される規範的デコーディングプロセスを示すフローチャートである。
【図１３】図１１のデコーダにおいてオーディオをスタックするために実行される規範的プロセスのフローチャートである。
【図１４】図１１のデコーダにおいてオーディオ信号にエンコードされる記号を決定するために実行される規範的プロセスのフローチャートである。
【図１５】図１１のデコーダにおいてメッセージを識別するようにバッファを処理するために実行される規範的プロセスのフローチャートである。
【図１６】メッセージ記号を記憶する循環バッファの規範的セットを示す。
【図１７】メッセージ記号を記憶する既存コードフラグ循環バッファの規範的セットを示す。
【図１８】図１１のデコーダにおいて識別されたメッセージを確認するために実行される規範的プロセスのフローチャートである。
【図１９】図１１のデコーダにおいて識別されたメッセージを記憶する規範的フィルタスタックを示す。
【図２０】ここに述べるプロセスのいずれか又は全部を遂行するか、或いは規範的システム、規範的装置及び／又は規範的方法のいずれか又は全部を具現化するために使用され及び／又はプログラムされる規範的プロセッサプラットホームの概略図である。
【発明を実施するための形態】
【０００６】
[0023]以下の説明は、オーディオ透かし入れ及び透かし検出としても通常知られている各々オーディオエンコーディング及びデコーディングを参照する。この状況において、オーディオとは、人間の通常の聴覚スペクトル内に入る周波数を有する任意の形式の信号であることに注意されたい。例えば、オーディオとは、スピーチ、音楽、オーディオ及び／又はビデオ番組又は作品（例えば、テレビ番組、映画、インターネットビデオ、ラジオ番組、コマーシャルスポット、等）のオーディオ部分、メディア番組、ノイズ、又は他のサウンドである。
【０００７】
[0024]一般的に、以下に詳細に述べるように、オーディオのエンコーディングは、１つ以上のコード又は情報（例えば、透かし）をオーディオへ挿入し、そして理想的には、そのコードがオーディオの聴取者に聞こえないままにする。しかしながら、ある聴取者にはコードが聞こえる幾つかの状況がある。オーディオに埋め込まれるコードは、適当な長さのものでよく、そしてそれらコードを情報に指定するための適当な技術を選択することができる。
【０００８】
[0025]以下に述べるように、オーディオに挿入されるべきコード又は情報は、その情報を表すためにオーディオに埋め込まれるべきコード周波数信号により表わされる記号へと変換される。コード周波数信号は、１つ以上のコード周波数を含み、情報の異なる記号を表すために異なるコード周波数又はコード周波数のセットが指定される。コード周波数を表すように記号をマッピングする１つ以上のテーブルを発生して、デコーダにおいて記号を互いに区別できるようにする技術も説明する。適当なエンコーディング又はエラー修正技術を使用して、コードを記号へと変換することができる。
【０００９】
[0026]これらのコード周波数信号がネーティブオーディオへ入力される振幅を制御することにより、コード周波数信号の存在が人間の聴覚に気付かれないようにすることができる。従って、一実施例では、異なる周波数におけるネーティブオーディオのエネルギーコンテンツ及び／又はネーティブオーディオのトーン又はノイズ状の性質に基づくマスキング動作を使用して、コード周波数信号の振幅の基礎となる情報を与えることができる。
【００１０】
[0027]更に、オーディオ信号が配信チェーンを経て送られることも考えられ、例えば、コンテンツは、コンテンツ発信者からネットワークディストリビュータ（例えば、ＮＢＣ全国）へ送られ、更に、地方のコンテンツディストリビュータ（例えば、シカゴのＮＢＣ）へ送られる。オーディオ信号が配信チェーンを経て送られる時に、ディストリビュータの１つが、ここに述べる技術により、透かしをオーディオ信号へとエンコードし、それにより、ディストリビュータのアイデンティティ又は配信時間の指示をオーディオ信号に含ませることができる。ここに述べるエンコーディングは、非常に頑強であり、それ故、オーディオ信号に挿入されたコードは、容易に除去されない。従って、オーディオコンテンツの後続ディストリビュータは、ここに述べる技術を使用して、その前にエンコードされているオーディオ信号を、その後続ディストリビュータのコードが検出でき且つその後続ディストリビュータによる信用が確認されるように、エンコードすることができる。
【００１１】
[0028]更に、信号内のコードの繰り返し又は部分的繰り返しのため、メッセージをスタックし、そしてエンコードされたオーディオ信号を、強調コードを有する信号へと変換することにより、コード検出を改善することができる。監視場所においてオーディオ信号がサンプリングされるときには、オーディオサンプルの実質的に等サイズのブロックが加算されて平均化される。このスタッキングプロセスは、オーディオ信号の時間的特性の利点を取り入れて、コード信号をオーディオ信号内で強調させる。従って、スタッキングプロセスは、これが使用されるとき、ノイズ又は他の干渉に対して高い頑強さを与えることができる。例えば、スタッキングプロセスは、スピーカにより出力されるオーディオ信号に加えて周囲のノイズを拾い上げることにあるマイクロホンがデコーディング動作に使用されるときに有用である。
【００１２】
[0029]ここに述べるデコーディング動作に頑強さを付加する更に別の技術は、デコーディング動作により識別されるメッセージの確認を与える。エンコードされたオーディオ信号においてメッセージが識別された後に、メッセージがスタックに追加される。次いで、メッセージのその後の繰り返しを比較して、一致を識別する。メッセージが、適切な繰り返しインターバルで識別される別のメッセージと一致するときは、それらメッセージが、確認されたと識別される。メッセージが、既に確認された別のメッセージに部分的に一致するときには、そのメッセージが部分的に確認されたとマークされ、その後続メッセージを使用して、崩壊したメッセージの部分を識別する。この規範的な確認技術によれば、メッセージは、それらが確認できるものである場合にのみデコーダから出力される。このような技術は、干渉及び／又は検出エラーによってメッセージのエラーが生じるのを防止する。
【００１３】
[0030]以下の実施例は、一般的に、オーディオ信号を、コードのような情報でエンコードし、そしてその情報を、デコーディングプロセスを経てオーディオから得ることに関する。以下の規範的エンコーディング及びデコーディングプロセスは、多数の異なる技術的アプリケーションにおいて１つの場所から別の場所へ情報を搬送するのに使用できる。
【００１４】
[0031]ここに述べる規範的なエンコーディング及びデコーディングプロセスは、放送の識別を行うのに使用できる。このような実施例では、作品が放送される前に、その作品は、作品の出所、作品の放送時間、作品の配信チャンネル、又はシステムのオペレータに対して考えられる他の情報を表すコードを含むようにエンコードされる。作品が提示される（例えば、テレビ、ラジオ、コンピューティング装置、又は他の適当な装置を経て再生される）ときに、その提示エリアにいる個人は、その作品に露出されるだけではなく、知らぬ間に、その作品に埋め込まれたコードにも露出される。従って、個人には、マイクロホンベースのプラットホームで動作するデコーダが与えられ、作品は、自由フィールド検出を使用してその検出器により得られ、そしてそこからコードを抽出するように処理される。次いで、コードは、ログされ、更なる処理のために中央施設へ報告されて戻される。マイクロホンベースのデコーダは、専用のスタンドアローン装置でもよいし、或いはデコーディング及びコードログ動作を遂行するようにセルラー電話又はマイクロホン及びソフトウェアを有する他の形式の装置を使用して具現化されてもよい。或いは又、作品及びその付随コードがハードワイヤード接続を経てピックアップされるときには、ワイヤベースのシステムが使用されてもよい。
【００１５】
[0032]ここに述べる規範的なエンコーディング及びデコーディングプロセスは、例えば、版権のあるオーディオ及び／又はそれに関連したビデオコンテンツを特定コードでマークすることにより、例えば、オーディオ及び／又はビデオ作品に関係した追跡及び／又は法廷において使用することができる。規範的なエンコーディング及びデコーディングプロセスは、消費者が作品を購入するときにその作品に独特のコードが挿入されるトランザクションエンコーディングシステムを具現化するのに使用できる。従って、作品の出所を識別するようにメディア配信を行うことができる。購入とは、作品が含まれた有形メディア（例えば、コンパクトディスク、等）を購入者が物理的に受け取ることを含み、又はインターネットのようなネットワークを経て作品をダウンロードすることを含む。トランザクションエンコーディングシステムに関しては、同じ作品の各購入者が作品を受け取るが、各購入者によって受け取られる作品は、異なるコードでエンコードされる。即ち、作品に挿入されるコードは、購入者個人のものであり、購入者により購入される各作品は、その購入者のコードを含む。或いは又、各作品は、シリアルに指定されたコードでエンコードされてもよい。
【００１６】
[0033]更に、ここに述べる規範的なエンコーディング及びデコーディング技術は、ステガノグラフィー的にコードを隠すことにより制御機能を実行するのに使用でき、隠されたコードは、コードに応答するようにプログラムされたターゲット装置を制御するのに使用される。例えば、制御データは、スピーチ信号又は他のオーディオ信号に隠すことができる。提示されるオーディオ信号のエリアにあるデコーダは、受信したオーディオを処理して、隠されたコードを得る。コードを得た後、ターゲット装置は、そのコードに基づいて幾つかの所定のアクションを行う。これは、例えば、ストア内の広告を、ストアに流れるオーディオ、等に基づいて変更する場合に有用である。例えば、ストア内の掲示板広告のスクロールを、オーディオコマーシャルに埋め込まれたコードを使用することによりストアに流されるオーディオコマーシャルに同期させることができる。
【００１７】
[0034]規範的なエンコーディング及びデコーディングシステム１００が図１に示されている。この規範的システム１００は、例えば、ここに述べるエンコーディング及びデコーディングプロセスを詳細に説明するための状況として働くテレビ視聴率測定システムである。この規範的なシステム１００は、オーディオ信号１０４にコード又は情報１０３を追加して、エンコードされたオーディオ信号を発生するためのエンコーダ１０２を備えている。情報１０３は、任意の選択された情報でよい。例えば、メディア監視状況では、情報１０３は、テレビ放送局、ラジオ放送局、等の放送メディア番組のアイデンティティを表してもよい。更に、情報１０３は、オーディオに情報１０３が挿入された時間、又はメディア放送時間を表すタイミング情報を含んでもよい。或いは又、コードは、１つ以上のターゲット装置の振る舞いを制御するのに使用される制御情報を含んでもよい。
【００１８】
[0035]オーディオ信号１０４は、例えば、音声、音楽、ノイズ、コマーシャル広告オーディオ、テレビ番組に関連したオーディオ、生演奏、等を含む任意の形態のオーディオである。図１の実施例では、エンコーダ１０２は、エンコードされたオーディオ信号を送信器１０６へ送る。送信器１０６は、エンコードされたオーディオ信号を、そのエンコードされたオーディオ信号に関連したビデオ信号１０８と共に送信する。ある場合に、エンコードされたオーディオ信号は、それに関連したビデオ信号１０８を有するが、エンコードされたオーディオ信号がそれに関連したビデオを有する必要はない。
【００１９】
[0036]一実施例において、オーディオ信号１０４は、アナログオーディオ信号のデジタルバージョンであり、アナログオーディオ信号は、４８キロヘルツ（ＫＨｚ）でサンプリングされたものである。以下に詳細に述べるように、４８ＫＨｚのサンプリングレートで９６０００個のオーディオサンプルに対応する２秒のオーディオを使用して、同期メッセージである１つのメッセージと、４９ビットの情報とを搬送することができる。記号当たり７ビットのエンコーディングスキームを使用すると、８記号の情報の送信を要求する。或いは、以下に述べるオーバーライトの状況では、１つの同期記号が使用され、この同期記号の後に、１２８状態の１つを搬送する１つの情報記号が続く。以下に詳細に述べるように、一実施例によれば、１つの７ビット情報記号が、９２１６個のサンプルに対応するオーディオサンプルの長ブロックに埋め込まれる。一実施例では、このような長ブロックは、２５６個のサンプルの重畳短ブロックを３６個含み、５０％の重畳ブロックでは、２５６個のサンプルが古いものであり、２５６個のサンプルが新しいものである。
【００２０】
[0037]図１に示す規範的システム１００の送信側は、単一の送信器１０６を示しているが、送信側は、非常に複雑で、オーディオ信号１０４が通される複数のレベルを配信チェーンに含んでもよい。例えば、オーディオ信号１０４は、全国ネットワークレベルで発生されて、地方配信のために地方ネットワークレベルへ送られてもよい。従って、エンコーダ１０２は、送信器１０６の前の送信ラインアップに示されているが、オーディオ信号１０４の配信チェーン全体に１つ以上のエンコーダが配置されてもよい。従って、オーディオ信号１０４は、複数のレベルでエンコードされてもよく、又、それら複数のレベルに関連した複数の埋め込みコードを含んでもよい。エンコーディング及び規範的エンコーダに関しては、以下に更に詳細に述べる。
【００２１】
[0038]送信器１０６は、自由空間伝播により（例えば、地上又は衛星通信リンクを経て）エンコードされたオーディオ信号を配信する高周波（ＲＦ）送信器、又はケーブル、ファイバ、等を経てエンコードされたオーディオ信号を配信するのに使用される送信器、の１つ以上を含む。１つの実施例では、送信器１０６は、広い地域全体にわたってエンコードされたオーディオ信号を放送するのに使用される。他の場合には、送信器１０６は、限定された地域を通してエンコードされたオーディオ信号を配信する。送信は、エンコードされたオーディオ信号を高周波へとアップ変換してそれを伝播できるようにすることを含む。或いは又、送信は、エンコードされたオーディオ信号を、デジタルビット又はデジタルビットのパケットの形態で配信することを含んでもよく、これは、インターネット、ワイドエリアネットワーク、又はローカルエリアネットワークのような１つ以上のネットワークを経て送信される。従って、エンコードされたオーディオ信号は、キャリア信号により搬送され、情報パケットにより搬送され、又はオーディオ信号を配信する適当な技術によって搬送される。
【００２２】
[0039]メディア監視状況では、統計学的に選択された計測サイト１１２に置かれた受信器１１０により、エンコードされたオーディオ信号が受信されると、そのエンコードされたオーディオ信号が受信器１１０のスピーカ１１４により提示されるときにそのコードの存在が聴取者に気付かれなくても（又は実質的に気付かれなくても）、受信した番組信号のオーディオ信号部分は、コードを回復するように処理される。このため、受信器１１０に得られるオーディオ出力１１８に、又はオーディオを再現するスピーカ１１４の付近に配置されたマイクロホン１２０に、デコーダ１１６が直結される。受信されたオーディオ信号は、モノラル又はステレオのいずれでもよい。デコーディング及び規範的デコーダに関しては、以下に更に詳細に述べる。
【００２３】
オーディオエンコーディング
[0040]上述したように、エンコーダ１０２は、１つ以上の聞こえない（又は実質的に聞こえない）コードをオーディオ１０４へ挿入して、エンコードされたオーディオを生成する。１つの規範的エンコーダ１０２が図２に示されている。１つの具現化において、図２の規範的エンコーダ１０２は、例えば、インストラクションでプログラムされるデジタル信号プロセッサを使用して具現化されて、事前コード検出器２０４の動作によって動作が影響されるエンコーディングラインアップ２０２と、マスキングラインアップ２０６とを具現化し、そのいずれか又は両方も、インストラクションでプログラムされるデジタル信号プロセッサを使用して具現化することができる。もちろん、規範的エンコーダ１０２の他の具現化も考えられる。例えば、エンコーダ１０２は、１つ以上のプロセッサ、プログラム可能なロジック装置、或いはハードウェア、ソフトウェア、ファームウェアの適当な組み合わせを使用して具現化することができる。
【００２４】
[0041]一般的に、動作中に、エンコーダ１０２は、オーディオ１０４を受信し、そして事前コード検出器２０４は、オーディオ１０４がそれ以前に情報でエンコードされているかどうか決定し、これは、エンコーダ１０２が付加的な情報を、以前にエンコードされたオーディオへエンコードするのを困難にする。例えば、事前エンコーディングは、オーディオ配信チェーンの事前の場所において（例えば、全国ネットワークレベルで）行われる。事前コード検出器２０４は、オーディオがそれ以前にエンコードされているかどうか、エンコーディングラインアップ２０２に通知する。事前コード検出器２０４は、ここに述べるデコーダによって具現化されてもよい。
【００２５】
[0042]エンコーディングラインアップ２０２は、情報１０３を受信し、それに基づいてコード周波数信号を発生し、コード周波数信号をオーディオ１０４と合成する。エンコーディングラインアップ２０２の動作は、事前コード検出器２０４の出力により影響を受ける。例えば、オーディオ１０４がそれ以前にエンコードされており、そして事前コード検出器２０４がそのことをエンコーディングラインアップ２０２に通知する場合には、エンコーディングラインアップ２０２は、オーディオ１０４にエンコードされるべき別のメッセージを選択し、そしてその別のメッセージがエンコードされるところの細部（例えば、メッセージ内の異なる時間的位置、記号を表すのに使用される異なる周波数、等）を変更することができる。
【００２６】
[0043]又、エンコーディングラインアップ２０２は、マスキングラインアップ２０６によっても影響を受ける。一般的に、マスキングラインアップ２０６は、エンコーディングラインアップ２０２が情報のエンコーディングを希望する時点に対応するオーディオ１０４を処理し、そしてエンコーディング遂行すべき振幅を決定する。以下に述べるように、マスキングラインアップ２０６は、コード周波数信号振幅を制御する信号を出力し、コード周波数信号を人間の知覚スレッシュホールドより低く保持することができる。
【００２７】
[0044]図２の実施例に示すように、エンコーディングラインアップは、メッセージジェネレータ２１０と、記号セレクタ２１２と、コード周波数セレクタ２１４と、シンセサイザ２１６と、逆フーリエ変換器２１８と、結合器２２０とを備えている。メッセージジェネレータ２１０は、情報１０３に応答し、参照番号２２２で一般的に示されたフォーマットを有するメッセージを出力する。メッセージジェネレータに送られる情報１０３は、現在時刻、テレビ又はラジオ局の識別、番組識別、等である。一実施例では、メッセージジェネレータ２１０は、２秒ごとにメッセージを出力する。もちろん、他のメッセージ間隔も可能である。
【００２８】
[0045]一実施例において、メッセージジェネレータ２１０からのメッセージ出力を表すメッセージフォーマット２２２は、同期記号２２４を含む。この同期記号２２４は、メッセージのスタートを表すタイミング情報を得るために、以下に幾つかの例を述べるデコーダにより使用される。従って、デコーダは、それが同期記号２２４を受信すると、同期記号２２４に続く付加的な情報を見ることを予想する。
【００２９】
[0046]図２の規範的メッセージフォーマット２２２において、同期記号２２４の後に、４２ビットのメッセージ情報２２６が続く。この情報は、局識別子及び粗いタイミング情報のバイナリ表現を含む。一実施例では、４２ビットのメッセージ情報２２６で表されるタイミング情報は、６４秒ごとに、又は３２個のメッセージインターバルごとに変化する。従って、４２ビットのメッセージ情報２２６は、６４秒間は静的状態のままである。７ビットのメッセージ情報２２８は、２秒ごとにインクリメントする高分解時間である。
【００３０】
[0047]又、メッセージフォーマット２２２は、既存のコードフラグ情報２３０も含む。しかしながら、この既存のコードフラグ情報２３０は、情報を搬送するために選択的に使用されるだけである。事前コード検出器２０４が、オーディオ１０４が以前にエンコードされたものでないことをメッセージジェネレータ２１０に通知するときは、既存のコードフラグ情報２３０が使用されない。従って、メッセージジェネレータにより出力されるメッセージは、同期記号２２４、４２ビットのメッセージ情報２２６及び７ビットのメッセージ情報しか含まず、既存のコードフラグ情報２３０は、ブランクであるか、又は未使用記号指示が充填される。対照的に、事前コード検出器２４が、メッセージ情報をエンコードすべきオーディオ１０４が以前にエンコードされたものであるという指示をメッセージジェネレータ２１０に与えるときには、メッセージジェネレータ２１０は、同期記号２２４、４２ビットのメッセージ情報２２６、又は７ビットのメッセージ情報２２８を出力しない。むしろ、メッセージジェネレータ２１０は、既存のコードフラグ情報２３０しか使用しない。一実施例では、既存のコードフラグ情報は、既存のコードフラグ情報が存在することを知らせる既存のコードフラグ同期記号を含む。この既存のコードフラグ同期記号は、同期記号２２４とは異なり、それ故、既存のコードフラグ情報のスタートを知らせるために使用できる。既存のコードフラグ同期記号を受信すると、デコーダは、同期記号２２４、４２ビットのメッセージ情報２２６、又は７ビットのメッセージ情報２２８と時間的に整列された事前に受信した情報を無視することができる。チャンネル指示、配信識別、又は他の適当な情報のような情報を搬送するため、単一の既存のコードフラグ情報記号が、既存のコードフラグ同期記号に続く。この既存のコードフラグ情報は、視聴率監視システムにおいて適切な信頼を与えるために使用される。
【００３１】
[0048]メッセージジェネレータ２１０からの出力は、代表的な記号を選択する記号セレクタ２１２へ送られる。同期記号２２４が出力されると、記号セレクタは、マッピングを行う必要がない。というのは、同期記号２２４が既に記号フォーマットにあるからである。或いは又、情報のビットがメッセージジェネレータ２１０から出力される場合には、記号セレクタがストレートマッピングを使用することができ、例えば、メッセージジェネレータ２１０からの７ビット出力が、７ビットのデシマル値を有する記号へマップされる。例えば、１０１０１０１の値がメッセージジェネレータ２１０から出力される場合には、記号セレクタがそれらのビットを記号８５へマップする。もちろん、ビットと記号との間の他の変換を使用してもよい。幾つかの実施例において、ビットを表すための記号の選択に冗長性又はエラーエンコーディングを使用してもよい。更に、７以外の他の適当なビット数が記号へと変換されるべく選択されてもよい。記号を選択するのに使用されるビットの数は、通信システムに利用できる最大記号スペースに基づいて決定される。例えば、通信システムが一度に４つの記号のうちの１つしか送信できない場合には、一度にメッセージジェネレータ２１０からの２ビットしか記号に変換されない。
【００３２】
[0049]記号セレクタ２１２からの記号は、記号を表すのに使用されるコード周波数を選択するコード周波数セレクタ２１４へ送られる。記号セレクタ２１２は、記号を、記号を表すコード周波数へマップするのに使用される１つ以上のルックアップテーブル（ＬＵＴ）２３２を備えている。即ち、記号は、送信されるエンコードされたオーディオを形成するためにエンコーダ１０２がオーディオにおいて強調する複数のコード周波数により表される。エンコードされたオーディオを受信すると、デコーダは、その強調されたコード周波数の存在を検出し、そしてその強調されたコード周波数のパターンを、送信される記号へとデコードする。従って、デコーダには、コード周波数を選択するためにエンコーダ２１０において選択された同じＬＵＴを使用する必要がある。図３ないし５を参照して１つの規範的ＬＵＴを説明する。更に、図７ないし９を参照してＬＵＴを発生する規範的技術を説明する。
【００３３】
[0050]コード周波数セレクタ２１４は、種々の基準に基づいて多数の異なるＬＵＴを選択することができる。例えば、特定の同期記号の以前の受信に応答して、コード周波数セレクタ２１４により、特定のＬＵＴ又はＬＵＴのセットを使用することができる。更に、メッセージがオーディオ１０４に以前にエンコードされていることを事前コード検出２０４が指示する場合には、コード周波数セレクタ２１４は、オーディオ１０４を以前にエンコードするために使用された周波数と、既存のコードフラグ情報を含むために使用される周波数との間の混同を回避するために、既存のコード状態に対して独特のルックアップテーブルを選択することができる。
【００３４】
[0051]特定の記号を表すために選択されたコード周波数の指示がシンセサイザ２１６に送られる。シンセサイザ２１６は、長ブロックを構成する各短ブロックに対して、コード周波数セレクタ２１４が指示する考えられるコード周波数の各々を表す３つの複素数フーリエ係数を記憶する。これらの係数は、位相角が短ブロックにおけるコードシヌソイドの出発位相角に対応しているウインドウ処理シヌソイドコード周波数信号の変換を表す。
【００３５】
[0052]以上、サイン波又はサイン波を表すデータを発生する規範的コードシンセサイザ２０８を説明したが、コードシンセサイザの他の規範的具現化も考えられる。例えば、サイン波を発生するのではなく、別の規範的コードシンセサイザ２０８は、結合器２２０へ送られるオーディオのある周波数の振幅を調整するのに使用されるフーリエ係数を周波数ドメインにおいて出力する。このように、必要なサイン波を含むようにオーディオのスペクトルを調整することができる。
【００３６】
[0053]送信されるべき記号に対応する３つの複素数振幅調整フーリエ係数は、シンセサイザ２１６から逆フーリエ変換器２１８へ送られ、この変換器は、それら係数を、既定の周波数及び振幅を有する時間ドメイン信号へと変換し、オーディオへ挿入して搬送できるようにし、希望の記号が結合器２２０へ接続されるようにする。結合器２２０は、オーディオも受信する。より詳細には、結合器２２０は、逆フーリエ変換器２１８からの信号をオーディオサンプルの１つの長ブロックへ挿入する。上述したように、４８ＫＨｚの所与のサンプリングレートでは、長ブロックが９２１６個のオーディオサンプルである。ここに示す実施例では、同期記号及び４９ビットの情報は、合計８個の長ブロックを必要とする。各長ブロックは９２１６個のオーディオサンプルであるから、所与のメッセージをエンコードするのに、オーディオ１０４の７３７２７個のサンプルしか必要とされない。しかしながら、メッセージは、２秒ごとに、即ち９６０００個のオーディオサンプルごとに開始するので、９６０００個のオーディオサンプルの終わりには、エンコードされない多数のサンプルがある。結合は、デジタルドメインでも、アナログドメインでも行うことができる。
【００３７】
[0054]しかしながら、既存のコードフラグの場合には、以前に挿入された７ビットのメッセージ情報を表す最後の記号の後にオーディオ１０４に既存のコードフラグが挿入される。従って、既存のコードフラグ情報の挿入は、サンプル７３７２９において開始され、そして２つの長ブロックの間、又は１８４３２個のサンプルの間、実行される。従って、既存のコードフラグ情報が使用されるときには、９６０００より少数のオーディオサンプル１０４が未エンコードとなる。
【００３８】
[0055]マスキングラインアップ２０６は、２５６個のサンプルが古いもので、２５６個のサンプルが新しいものである５１２個のオーディオサンプルの短ブロックを形成する重畳短ブロックメーカーを備えている。即ち、この重畳短ブロックメーカー２４０は、５１２個のサンプルのブロックを形成し、一度に２５６個のサンプルがバッファにシフトインされるか又はシフトアウトされる。例えば、２５６個のサンプルの第１セットがバッファに入ると、最も古い２５６個のサンプルがバッファからシフトアウトされる。その後の挿入時に、２５６個のサンプルの第１セットは、バッファの後部位置へシフトされ、そして２５６個のサンプルがバッファへシフトインされる。２５６個の新たなサンプルをシフトインし、そして最も古い２５６個のサンプルを除去することにより、新たな短ブロックが形成されるたびに、新たな短ブロックがマスキング評価器２４２へ送られる。重畳短ブロックメーカー２４０から出力される５１２サンプルブロックは、適当なウインドウ関数で乗算されて、「重畳・追加(overlap-and-add)」動作で、オーディオサンプルが出力においてその正しい値に回復する。ある５１２サンプルブロックから次の重畳される５１２サンプルブロックまでにコード振幅に変化があるときにブロック縁での急激な移行を防止するために、オーディオ信号に追加されるべき合成されたコード信号も同様にウインドウ処理される。これらの移行は、もし生じれば、可聴アーティファクトを生成する。
【００３９】
[0056]マスキング評価器２４２は、重畳短ブロックのサンプル（例えば、５１２個のサンプル）を受け取り、そしてそれが人間の聴覚に対してコード周波数を隠す能力を決定する。即ち、マスキング評価器は、オーディオの各臨界帯域を全体として評価してそのエネルギーを決定し、そして各臨界帯域のノイズ状又はトーン状属性を決定すると共に、その臨界帯域がコード周波数をマスクする総合計能力を決定することにより、短ブロックで表されたオーディオ内にコード周波数を隠せるかどうか決定する。ここに示す実施例によれば、臨界帯域の帯域巾は、周波数と共に増加する。コード周波数をオーディオ１０４に隠せるとマスキング評価器２４２が決定した場合に、マスキング評価器２０４は、コード周波数を、依然隠したまま、オーディオ１０４内に挿入できるところの振幅レベルを指示し、その振幅情報をコードシンセサイザ２１６に与える。
【００４０】
[0057]一実施例では、マスキング評価器２４２は、聴取者が気付く変化を招かずに臨界周波数帯域に生じさせることのできるマスキングエネルギーレベル又はエネルギーＥｂの最大変化を決定することにより、マスキング評価を行う。マスキング評価器２４２により行われるマスキング評価は、例えば、“Moving  Pictures  Experts  Group  -  Advanced  Audio  Encoding  (MPEG-AAC)”音声圧縮規格ＩＳＯ／ＩＥＣ１３８１８−７：１９９７年に概説されたように実行することができる。各臨界帯域における音響エネルギーは、隣接部のマスキングエネルギーに影響し、そしてマスキング作用を計算するためのアルゴリズムがＩＳＯ／ＩＥＣ１３８１８−７：１９９７年のような規格文書に説明されている。これらの分析を使用して、短ブロックごとに、トーン性（例えば、評価されているオーディオがどれほどトーンに似ているか）及びノイズ状（即ち、評価されているオーディオがどれほどノイズに似ているか）特性によるマスキング貢献を決定することができる。更なる分析は、典型的に、５０ないし１００ミリ秒（ｍｓ）の短い時間にわたりオーディオのマスキング能力を延長する一時的マスキングを評価することができる。マスキング評価器２４２により得られる分析は、臨界帯域ごとのベースで、オーディオの目立った質低下を生じずに（例えば、聞こえることなく）オーディオ１０４に追加できるコード周波数の振幅を決定する。
【００４１】
[0058]２５６サンプルブロックは、１つの短ブロックの開始と、次の短ブロックの終わりの両方に現れ、従って、マスキング評価器２４２により２回評価されるので、マスキング評価器は、２５６サンプルブロックを含む２つのマスキング評価を行う。シンセサイザ２１６に送られる振幅指示は、２５６サンプルブロックを含むこれら２つの評価の複合であり、又、振幅指示は、２５６サンプルに挿入されるコードの振幅が結合器２２０に到着するサンプルと調時されるように、調時される。
【００４２】
[0059]図３ないし５を参照すれば、記号を表す１つの列３０２と、番号付けされたコード周波数インデックスを表す７つの列３０４、３０６、３０８、３１０、３１２、３１４、３１６とを含む規範的ＬＵＴ２３２が示されている。このＬＵＴ２３２は、１２９行を含み、その１２８は、データ記号を表すのに使用され、そして１つは、同期記号を表すのに使用される。ＬＵＴ２３２は、１２８個の異なるデータ記号を含むので、データは、記号当たり７ビットのレートで送信される。このテーブルの周波数インデックスは、１８０ないし６５６の範囲であり、９２１６サンプルの長ブロックサイズ及び４８ＫＨｚのサンプリングレートに基づくものである。従って、これらのインデックスに対応する周波数は、９３７．５Ｈｚと３１２６．６Ｈｚとの範囲であり、これは、人間の聴覚範囲に入るものである。もちろん、他のサンプリングレート及び周波数インデックスが選択されてもよい。テーブル２３２のようなＬＵＴを発生するプロセスの説明は、図７ないし９を参照して行う。
【００４３】
[0060]コード周波数セレクタ２１４の１つの規範的動作において、記号２５（例えば、バイナリ値で００１１００１）が記号セレクタ２１２から受け取られる。コード周波数セレクタ２１４は、ＬＵＴ２３２にアクセスし、記号列３０２の行２５を読み取る。この行から、コード周波数セレクタは、記号２５をデコーダへ通信するためにコード周波数インデックス２１７、２８８、３２５、４０３、５１２、５４８及び６５５をオーディオ１０４において強調すべきであることを読み取る。次いで、コード周波数セレクタ２１４は、これらインデックスの指示をシンセサイザ２１６に与え、該シンセサイザは、それらインデックスに対応するフーリエ係数を出力することによりコード信号を合成する。
【００４４】
[0061]結合器２２０は、コードシンセサイザ２０８の出力及びオーディオ１０４の両方を受け取って結合し、エンコードされたオーディオを形成する。結合器２２０は、コードシンセサイザ２０８の出力及びオーディオ１０４をアナログ形態又はデジタル形態で結合することができる。結合器２１０がデジタル結合を遂行する場合には、コードシンセサイザ２０８の出力は、サンプラー２０２へ入力されるオーディオ１０４ではなく、サンプラー２０２の出力と結合される。例えば、デジタル形態のオーディオブロックは、デジタル形態のサイン波と結合される。或いは又、結合は、周波数ドメインで行われてもよく、ここでは、オーディオの周波数係数が、サイン波を表す周波数係数に基づいて調整される。更に別の態様として、サイン波及びオーディオがアナログ形態で結合されてもよい。エンコードされたオーディオは、結合器２２０からアナログ又はデジタル形態で出力される。結合器２２０の出力がデジタルである場合には、それが、その後、アナログ形態に変換されてから、送信器１０６へ結合される。
【００４５】
[0062]規範的エンコーディングプロセス６００が図６に示されている。この規範的プロセス６００は、図２の規範的エンコーダ１０２により実行されるか、又は他の適当なエンコーダにより実行される。この規範的プロセス６００は、エンコードされるべきオーディオサンプルが受信されたときに開始される（ブロック６０２）。次いで、プロセス６００は、受信されたサンプルがそれ以前にエンコードされたものであるかどうか決定する（ブロック６０４）。この決定は、例えば、図２の事前コードデコーダ２０４により行われるか、又はエンコードされるべきオーディオを事前エンコーディングの形跡について検査するように構成された適当なデコーダにより行われる。
【００４６】
[0063]受信されたサンプルが以前にエンコードされたものでない場合には（ブロック６０４）、プロセス６００は、図２に参照番号２２２で示すフォーマットを有する通信メッセージのような通信メッセージを発生する（ブロック６０６）。１つの特定の実施例において、オーディオが以前にエンコードされたものでないときには、通信メッセージは、同期部分と、データビットを含む１つ以上の部分とを含む。通信メッセージの発生は、例えば、図２のメッセージジェネレータ２１により実行される。
【００４７】
[0064]次いで、通信メッセージが記号へとマップされる（ブロック６０８）。例えば、同期情報が既に記号である場合には、同期情報が記号へとマップされる必要はない。別の実施例において、通信メッセージの一部分が一連のビットである場合には、そのようなビット又はビットのグループが１つの記号により表される。マッピング（ブロック６０８）が実行される１つの仕方である記号セレクタ２１２に関連して上述したように、１つ以上のテーブル又はエンコーディングスキームを使用して、ビットを記号へと変換することができる。例えば、ある技術は、エラー修正コード等を使用して、コード利得の使用によりメッセージの頑強さを高めることを含む。１２８個のデータ記号を収容するサイズの記号スペースを有する１つの特定の実施例において、７ビットが１つの記号へと変換される。もちろん、使用可能な記号スペース、エラー修正エンコーディング、等を含む多数のファクタに基づいて他の数のビットが処理されてもよい。
【００４８】
[0065]通信記号が選択された後に（ブロック６０８）、プロセス６００は、各記号を表すのに使用するコード周波数を決定するのに使用されるＬＵＴを選択する（ブロック６１０）。一実施例では、選択されるＬＵＴは、図３ないし５の規範的ＬＵＴ２３２でもよいし、又は他の適当なＬＵＴでもよい。更に、ＬＵＴは、図７ないし９を参照して述べるように発生されるＬＵＴでもよい。ＬＵＴの選択は、通信メッセージの発生中に選択される同期記号を含む多数のファクタに基づく（ブロック６０６）。
【００４９】
[0066]記号が発生され（ブロック６０８）、ＬＵＴが選択された（ブロック６１０）後に、その選択されたＬＵＴを使用して記号がコード周波数へとマップされる（ブロック６１２）。図３ないし５のＬＵＴ２３２が選択される一実施例では、例えば、３５という記号が、周波数インデックス２１８、２４５、３６０、４３８、４７６、５４１及び６５１へマップされる。ＬＵＴのデータスペースは、記号０と、記号１２７と、記号１２８との間であり、これは、テーブル内の他のコード周波数に一致しないコード周波数の独特のセットを使用するもので、同期記号を指示するために使用される。ＬＵＴの選択（ブロック６１０）及びマッピング（ブロック６１２）は、例えば、図２のコード周波数セレクタ２１４により実行することができる。コード周波数が選択された後に、その指示が、例えば、図２のシンセサイザ２１６へ送られる。
【００５０】
[0067]次いで、コード周波数を含むコード信号が、図２のブロック２４０及び２４２を参照して上述し且つプロセス６００に関連して以下に述べるマスキング評価に基づく振幅で合成される（ブロック６１４）。一実施例では、コード周波数信号の合成は、適当にスケーリングされたフーリエ係数を逆フーリエプロセスに与えることにより実行される。１つの特定の実施例では、コード周波数信号における各コード周波数を表すために３つのフーリエ係数が出力される。従って、コード周波数は、逆フーリエプロセスによって合成されるが、その合成される周波数をウインドウ処理して、コード周波数信号が埋め込まれる信号の他部分へこぼれるのを防止するようにする。ブロック６１４の合成を実行するのに使用される１つの規範的構成が、図２のブロック２１６及び２１８に示されている。もちろん、他の具現化及び構成も考えられる。
【００５１】
[0068]コード周波数を含むコード信号が合成された後に、それらにオーディオサンプルが結合される（ブロック６１６）。図２を参照して述べたように、コード信号及びオーディオの結合は、オーディオサンプルの各長ブロックに１つの記号が挿入されるというものである。従って、１つの同期記号及び４９のデータビットを通信するために、オーディオ情報の８つの長ブロックに情報がエンコードされ、１つの長ブロックは、同期記号のためのものであり、そして７ビットデータの各々に対して１つの長ブロックがある（７ビット／記号のエンコーディングを仮定すれば）。メッセージは、２秒のインターバルでオーディオに挿入される。従って、メッセージのスタート直後のオーディオの８個の長ブロックは、オーディオでエンコードされ、そして２秒のオーディオの残部を構成する残りの長ブロックは、未エンコードである。
【００５２】
[0069]オーディオへのコード信号の挿入は、コード信号のサンプルをホストオーディオ信号のサンプルに追加することにより実行され、このような追加は、アナログドメイン又はデジタルドメインにおいて行われる。或いは又、適当な周波数整列及び登録により、オーディオ信号の周波数成分が周波数ドメインにおいて調整され、そして調整されたスペクトルが時間ドメインへ変換されて戻される。
【００５３】
[0070]以上、受信したオーディオサンプルが以前にエンコードされたものではないことをプロセス６０が決定した（ブロック６０４）ときのプロセスの動作を説明した。しかしながら、メディアの一部分が配信チェーンに通されそして処理時にエンコードされた状況においては、ブロック６０４で処理されるオーディオの受信サンプルが既にコードを含んでいる。例えば、地方ニュース放送においてＣＮＮからのカーテシーニュースクリップを使用する地方テレビ局は、ＣＮＮの事前エンコーディングに基づくビューイングクレジットを得られないことがある。従って、付加的な情報が、既存のコードフラグ情報の形態で地方ニュース放送に追加される。オーディオの受信サンプルが以前にエンコードされたものである場合には（ブロック６０４）、このプロセスは、既存のコードフラグ情報を発生する（ブロック６１８）。この既存のコードフラグ情報は、既存のコードフラグ同期記号の発生、及び例えば、単一のデータ記号で表される７ビットデータの発生を含む。データ記号は、局識別、時間、又は他の適当な情報を表す。例えば、メディア監視サイト（ＭＭＳ）は、既存のコードフラグ情報を検出して、そこで識別された局を信用するようにプログラムされる。
【００５４】
[0071]既存のコードフラグ情報が発生された後に（ブロック６１８）、プロセス６００は、既存のコードフラグ情報を表すコード周波数を識別するのに使用される既存のコードフラグＬＵＴを選択する（ブロック６２０）。一実施例では、既存のコードフラグＬＵＴは、非既存コード条件で使用される他のＬＵＴとは異なってもよい。１つの特定の実施例では、既存のコードフラグ同期記号は、コード周波数２２０、２９２、３６４、４３６、５０８、５８０及び６５２によって表されてもよい。
【００５５】
[0072]既存のコードフラグ情報が発生されて（ブロック６１８）、既存のコードフラグＬＵＴが選択された後に（ブロック６２０）、既存のコードフラグ記号がコード周波数へマップされ（ブロック６１２）、そして処理の残りは、上述したように続く。
【００５６】
[0073]時々、コード信号が同期される前に（ブロック６１４）、プロセス６００は、人間の聴覚に聞こえないまま又は実質的に聞こえないままであるようコード信号を発生しなければならない振幅を決定するためにマスキング評価を行う。従って、プロセス６００は、５１２個のオーディオサンプルを各々含むオーディオサンプルの重畳短ブロックを発生する（ブロック６２２）。上述したように、重畳短ブロックは、５０％の古いサンプルと、５０％の新しいサンプルとを含む。この動作は、例えば、図２の重畳短ブロックメーカー２４０により実行される。
【００５７】
[0074]重畳短ブロックが発生された後に（ブロック６２２）、短ブロックに対してマスキング評価が遂行される（ブロック６２４）。例えば、これは、図２のブロック２４２を参照して述べたように実行される。マスキング評価の結果をプロセス６００によりブロック６１４において使用して、合成されるべきコード信号の振幅を決定する。重畳短ブロック方法は、オーディオの特定の２５６個のサンプルに対して２つのマスキング評価を生じ（１つは、２５６個のサンプルが「新たなサンプル」であるとき、及び１つは、２５６個のサンプルが「古いサンプル」であるとき）、プロセス６００のブロック６１４に与えられる結果は、これらのマスキング評価の複合である。もちろん、プロセス６００のタイミングは、オーディオの特定ブロックのマスキング評価を使用して、オーディオのそのブロックに対するコード振幅を決定するというものである。
【００５８】
ルックアップテーブルの生成
[0075]記号に対応するコード周波数を１つ以上のＬＵＴにポピュレートするためのシステム７００は、ハードウェア、ソフトウェア、ハードウェアおよびソフトウェアの組み合わせ、ファームウェア、等を使用して具現化することができる。図７のシステム７００は、図３ないし５のＬＵＴのような多数のＬＵＴを発生するのに使用される。図７及び図８を参照して以下に述べるように動作するシステム７００は、（１）テーブルの２つの記号が１つ以下の共通周波数インデックスにより表され、（２）１つ以下の周波数インデックスが、ＭＰＥＧ−ＡＡ圧縮規格ＩＳＯ／ＩＥＣ１３８１８−７：１９９７年により定義された１つのオーディオ臨界帯域に存在する記号を表し、及び（３）単一の記号を表すのに隣接臨界帯域のコード周波数が使用されない、というコード周波数インデックスＬＵＴを生じさせる。基準番号３は、オーディオエンコーディングプロセス中にオーディオの音質が妥協されないよう保証する上で助けとなる。
【００５９】
[0076]臨界帯域対定義器７０２は、臨界帯域対の数（Ｐ）を定義する。例えば、図９を参照すれば、テーブル９００は、ＡＡＣ臨界帯域インデックスを表す列９０２と、ＡＡＣインデックスの範囲の短ブロックインデックス９０４と、ＡＡＣインデックスの範囲の長ブロックインデックス９０６とを含む。一実施例では、Ｐの値が７であり、従って、ＡＡＣインデックスから７つの臨界帯域対が形成される（ブロック８０２）。図１０は、ＡＡＣインデックス間の周波数関係を示す。一実施例によれば、図１０に参照番号１００２で示され、臨界帯域対の周波数が点線で分離されて示されたように、ＡＡＣインデックスは、次のような対で選択され、即ち５及び６、７及び８、９及び１０、１１及び１２、１３及び１４、１５及び１６、１７及び１７である。１７のＡＡＣインデックスは、広範囲の周波数を含み、それ故、インデックス１７は、下部について１つ、上部について１つ、の２回示されている。
【００６０】
[0077]周波数定義器７０４は、各臨界帯域対で使用するために選択される周波数の数（Ｎ）を定義する。一実施例では、Ｎの値が１６であり、各臨界帯域対を形成する臨界帯域の組み合わせに１６個のデータ位置があることを意味している。図１０に参照番号１００４で示すように、１７個の周波数位置が示されている。丸で囲まれた位置４は、同期情報のために指定され、従って、データには使用されない。
【００６１】
[0078]数字ジェネレータ７０６は、臨界帯域対定義器７０２により定義された臨界帯域対における周波数位置の数を定義する。一実施例では、数字ジェネレータ７０６は、全部でＮＰのＰ桁数を発生する。例えば、Ｎが１６で、Ｐが７である場合には、プロセスは、数字０ないし２６８４３５４５６を発生するが、ベース１６の１６進でそれを行い、値０ないし１０００００００を生じる。
【００６２】
[0079]次いで、冗長性減少器７０８は、発生された数字リストから同じ位置においてそれらの間に２つ以上の共通桁を共有する全ての数字を排除する。これは、前記基準（１）との適合を保証する。というのは、以下に述べるように、桁は、記号を表すために選択された周波数を表すからである。次いで、過剰減少器７１０は、発生された数字リストからの残りの数字を必要な記号の数へと更に減少する。例えば、記号スペースが１２９個の記号である場合には、残りの数字が１２９のカウントに減少される。減少は、ランダムに行われてもよいし、又は残りの数字を最大ユークリッド距離で選択することにより行われてもよいし、或いは他の適当なデータ減少技術であってもよい。別の実施例では、減少は、擬似ランダム的に行われてもよい。
【００６３】
[0080]上述した減少の後、数字のリストのカウントが記号スペースにおける記号の数に等しくなる。従って、コード周波数定義器７１２は、臨界帯域対における記号を表す周波数インデックスを表現するために残りの数字をベースＰフォーマットで定義する。例えば、図１０を参照すれば、１６進数Ｆ１Ｅ４Ｂ０Ｆは、ベース１６であり、Ｐに一致する。１６進数の第１の桁は、第１の臨界帯域対における周波数成分へマップし、第２の桁は、第２の臨界帯域対へマップし、等々となる。各桁は、１６進数Ｆ１Ｅ４Ｂ０Ｆに対応する記号を表すのに使用される周波数インデックスを表している。
【００６４】
[0081]第１の１６進数を、特定の周波数インデックスへのマッピングの一例として使用して、Ｆｈの１０進値は、１５である。各臨界帯域対の位置４は、非データ情報のために指定されているから、４より大きい１６進桁の値は、１つの１０進値だけインクリメントされる。従って、１５は、１６となる。従って、１６は、１６進数Ｆ１Ｅ４Ｂ０Ｆに対応する記号を表すために第１の臨界帯域対におけるコード周波数成分として指定される（図１０にアスタリスクで示すように）。図１０に示されていないが、インデックス１位置（例えば、臨界帯域７の最も左から２番目の位置）は、１６進数Ｆ１Ｅ４Ｂ０Ｆを表すのに使用される。
【００６５】
[0082]ＬＵＴフィラー７１４は、記号指示及びそれに対応するコード周波数成分指示をコード周波数定義器７１２から受け取り、その情報をＬＵＴに充填する。
【００６６】
[0083]規範的なコード周波数インデックステーブル発生プロセス８００が図８に示されている。このプロセス８００は、図７のシステムを使用して具現化されてもよいし、他の適当な構成でもよい。図８のプロセス８００は、図３ないし５のＬＵＴのような多数のＬＵＴを発生するのに使用される。１つの規範的なプロセス８００が示されているが、他のプロセスが使用されてもよい。プロセス８００の結果は、（１）テーブルの２つの記号が１つ以下の共通周波数インデックスにより表され、（２）１つ以下の周波数インデックスが、ＭＰＥＧ−ＡＡ圧縮規格ＩＳＯ／ＩＥＣ１３８１８−７：１９９７年により定義された１つのオーディオ臨界帯域に存在する記号を表し、及び（３）単一の記号を表すのに隣接臨界帯域のコード周波数が使用されない、というコード周波数インデックスＬＵＴである。基準番号３は、オーディオエンコーディングプロセス中にオーディオの音質が妥協されないよう保証する上で助けとなる。
【００６７】
[0084]プロセス８００は、臨界帯域対の数（Ｐ）を定義することにより開始される。例えば、図９を参照すれば、テーブル９００は、ＡＡＣ臨界帯域インデックスを表す列９０２と、ＡＡＣインデックスの範囲の短ブロックインデックス９０４と、ＡＡＣインデックスの範囲の長ブロックインデックス９０６とを含む。一実施例では、Ｐの値が７であり、従って、ＡＡＣインデックスから７つの臨界帯域対が形成される（ブロック８０２）。図１０は、ＡＡＣインデックス間の周波数関係を示す。一実施例によれば、図１０に参照番号１００２で示され、臨界帯域対の周波数が点線で分離されて示されたように、ＡＡＣインデックスは、次のような対で選択され、即ち５及び６、７及び８、９及び１０、１１及び１２、１３及び１４、１５及び１６、１７及び１７である。１７のＡＡＣインデックスは、広範囲の周波数を含み、それ故、インデックス１７は、下部について１つ、上部について１つ、の２回示されている。
【００６８】
[0085]帯域対が定義された後（ブロック８０２）、各臨界帯域対で使用するために周波数の数（Ｎ）が選択される（ブロック８０４）。一実施例では、Ｎの値が１６であり、各臨界帯域対を形成する臨界帯域の組み合わせに１６個のデータ位置があることを意味している。図１０に参照番号１００４で示すように、１７個の周波数位置が示されている。丸で囲まれた位置４は、同期情報のために指定され、従って、データには使用されない。
【００６９】
[0086]臨界帯域対の数及びそれら対における周波数位置の数が定義された後に、プロセス８００は、１つ以下の１６進桁を共通にもつ全部でＮＰのＰ桁数字を発生する（ブロック８０６）。例えば、Ｎが１６で、Ｐが７である場合には、プロセスは、数字０ないし２６８４３５４５６を発生するが、ベース１６の１６進でそれを行い、０ないしＦＦＦＦＦＦＦを生じるが、２つ以上の共通の１６進桁を共有する数字は含まない。これは、前記基準（１）との適合を保証する。というのは、以下に述べるように、それらの桁が、記号を表すために選択された周波数を表すからである。
【００７０】
[0087]前記基準（１）（及び他の望ましい基準）に適合する数字のセットを決定するための規範的プロセスによれば、０からＮＰ−１の範囲の数字がテストされる。先ず、０に対応する値が結果セットＲの第１の数字として記憶される。次いで、１からＮＰ−１までの数字が、Ｒのメンバーと比較したときに基準（１）を満足するかどうか決定するための分析のために選択される。Ｒの全ての現在エントリーに対して比較したときに基準（１）を満足する各数字が結果セットに追加される。特に、この規範的プロセスによれば、数字Ｋをテストするために、Ｋにおける各当該１６進桁が、現在結果セットからのエントリーＭにおける対応する当該１６進桁と比較される。７つの比較では、Ｋの１つ以下の１６進桁が、Ｍの対応する１６進桁と等しくなるはずである。Ｋを、結果セットに現在ある全ての数字に対して比較した後に、後者のメンバーがどれも２つ以上の共通の１６進桁をもたない場合には、Ｋが結果セットＲに追加される。このアルゴリズムは、基準（１）を満足する全ての値が識別されるまで、考えられる数字のセットを通して繰り返される。
【００７１】
[0088]以上、基準（１）を満足する数字のセットを決定するための規範的プロセスについて説明したが、いかなるプロセス又はアルゴリズムを使用してもよく、本開示は、上述したプロセスに限定されるものではない。例えば、あるプロセスは、セット全体を通して繰り返す前に数字のセットから数字を排除するために、ヒューリスティック、ルール、等を使用してもよい。例えば、当該ビットが２つの０、２つの１、２つの２、等で開始し、そして２つの０、２つの１、２つの２、等で終了する全ての数字は、６未満のハミング距離を明確に有するので、直ちに除去することができる。それに加えて又はそれとは別に、規範的プロセスは、考えられる数字の全セットを通して繰り返さなくてもよい。例えば、あるプロセスは、充分な数字（１２８個の記号が望まれるときには、１２８個の数字）が見つかるまで繰り返すことができる。別の具現化では、このプロセスは、考えられる値のセットに含ませるために第１の値をランダムに選択し、次いで、望ましい基準（例えば、基準（１））を満足する値が見つかるまで残りの数字セットを通して繰り返し又はランダムにサーチすることができる。
【００７２】
[0089]次いで、プロセス８００は、発生された値から希望の数字を選択する（ブロック８１０）。例えば、記号スペースが１２９個の記号である場合には、残りの数字が１２９のカウントに減少される。この減少は、ランダムに行われてもよく、残りの数字を最大ユークリッド距離で選択することにより行われてもよく、又は他の適当なデータ減少技術であってもよい。
【００７３】
[0090]上述した減少の後、数字のリストのカウントが記号スペースにおける記号の数に等しくなる。従って、臨界帯域対における記号を表す周波数インデックスを表現するために残りの数字がベースＰフォーマットで定義される（ブロック８１２）。例えば、図１０を参照すれば、１６進数Ｆ１Ｅ４Ｂ０Ｆは、ベース１６であり、Ｐに一致する。１６進数の第１の桁は、第１の臨界帯域対における周波数成分へマップし、第２の桁は、第２の臨界帯域対へマップし、等々となる。各桁は、１６進数Ｆ１Ｅ４Ｂ０Ｆに対応する記号を表すのに使用される周波数インデックスを表している。
【００７４】
[0091]第１の１６進数を、特定の周波数インデックスへのマッピングの一例として使用して、Ｆｈの１０進値は、１５である。各臨界帯域対の位置４は、非データ情報のために指定されているから、４より大きい１６進桁の値は、１つの１０進値だけインクリメントされる。従って、１５は、１６となる。従って、１６は、１６進数Ｆ１Ｅ４Ｂ０Ｆに対応する記号を表すために第１の臨界帯域対におけるコード周波数成分として指定される（図１０にアスタリスクで示すように）。図１０には示されていないが、インデックス１位置（例えば、臨界帯域７の最も左から２番目の位置）は、１６進数Ｆ１Ｅ４Ｂ０Ｆを表すのに使用される。
【００７５】
[0092]代表的なコード周波数を指定した後に（ブロック８１２）、数字がＬＵＴへ充填される（ブロック８１４）。
【００７６】
[0093]もちろん、図８ないし１０を参照して説明したシステム及びプロセスは、ここに述べるエンコーディング及びデコーディングシステムに関して望ましい特性を有するＬＵＴを発生するのに使用できる実施例に過ぎない。他の構成及びプロセスが使用されてもよい。
【００７７】
オーディオデコーディング
[0094]一般的に、デコーダ１１６は、エンコーダ１０２においてエンコードされたオーディオを形成するために受信オーディオに挿入されたコード信号を検出する。即ち、デコーダ１１６は、それが処理するコード周波数における強調のパターンを探す。デコーダ１１６は、コード周波数のどれが強調されているか決定すると、その強調されたコード周波数に基づいて、エンコードされたオーディオ内に存在する記号を決定する。デコーダ１１６は、それら記号を記録するか、又はそれら記号を、オーディオへの挿入のためにエンコーダ１０２に与えられたコードへとデコードする。
【００７８】
[0095]１つの具現化において、図１１の規範的デコーダ１１６は、例えば、そのデコーダ１１６のコンポーネントを具現化するためにインストラクションでプログラムされたデジタル信号プロセッサを使用して具現化することができる。もちろん、規範的デコーダ１１６の他の具現化も考えられる。例えば、デコーダ１１６は、１つ以上のプロセッサ、プログラム可能なロジック装置、又はハードウェア、ソフトウェア及びファームウェアの適当な組み合わせを使用して具現化することができる。
【００７９】
[0096]図１１に示すように、規範的デコーダ１１６は、サンプラー１１０２を備え、これは、エンコードされたオーディオがアナログ形態で送られるアナログ／デジタルコンバータ（Ａ／Ｄ）又は他の適当な技術を使用して具現化される。図１に示すように、エンコードされたオーディオは、ワイヤード又はワイヤレス接続によって受信器１１０へ送られる。サンプラー１１０２は、エンコードされたオーディオを、例えば、８ＫＨｚのサンプリング周波数でサンプリングする。もちろん、解像度を高めるか、又はデコーディング時に計算負荷を下げるために、他のサンプリング周波数を選択するのも好都合である。８ＫＨｚのサンプリング周波数では、ナイキスト周波数が４ＫＨｚであり、それ故、埋め込まれたコード信号は、全て、保存される。というのは、そのスペクトル周波数がナイキシト周波数より低いからである。４８ＫＨｚのサンプリングレートにおける９２１６サンプルＦＦＴ長ブロック長さは、８ＫＨｚのサンプリングレートにおける１５３６サンプルへと減少される。しかしながら、この変更されたＤＦＴブロックサイズでも、コード周波数インデックスは、元のエンコード周波数と同じであり、１８０から６５６の範囲である。
【００８０】
[0097]サンプラー１１０２からのサンプルは、スタッカー１１０４へ送られる。一般的に、スタッカー１１０４は、メッセージがある期間中に繰り返され又は実質的に繰り返される（例えば、最下位ビットだけが変更される）ことの利点を取り入れることによりオーディオ信号情報においてコード信号を強調する。例えば、図２について上述した規範的メッセージの４９ビット（図２の２２６及び２２４）のうちの４２ビット（２２６）は、そのメッセージのデータ２２６の４２ビットが、局識別子と、６４秒ごとに一度インクリメントする粗いタイムスタンプとを含むときに、６４秒（３２個の２秒メッセージ間隔）間一定のままである。最後の７ビットグループ２３２における変数データは、秒単位の時間インクリメントを表し、従って、メッセージごとに変化する。規範的スタッカー１１０４は、オーディオ信号情報の複数のブロックを集計し、オーディオ信号情報においてコード信号を強調する。規範的な具現化において、スタッカー１１０４は、オーディオ情報の複数のサンプルを記憶するためのバッファを備えている。例えば、２秒のオーディオに完全なメッセージが埋め込まれる場合には、このバッファは、６つのメッセージを記憶するために１２秒の長さとなる。規範的スタッカー１１０４は、更に、６つのメッセージに関連したオーディオ信号情報を総計するための加算器と、選択された繰り返しメッセージの数（例えば、６）でその総計を除算するための除算器とを備えている。
【００８１】
[0098]一例として、透かし入り信号ｙ(ｔ)は、ホスト信号ｘ(ｔ)及び透かしｗ(ｔ)の和によって表すことができる。
ｙ(ｔ)＝ｘ(ｔ)＋ｗ(ｔ)
【００８２】
[0099]時間ドメインにおいて、既知の周期Ｔの後に透かしが繰り返される。
ｗ(ｔ)＝ｗ(ｔ−Ｔ)
【００８３】
規範的なスタッキング方法によれば、入力信号ｙ(ｔ)は、スタックされた信号Ｓ(ｔ)に置き換えられる。
【数１】
2012507044.tif 000003
【００８４】
スタックされた信号Ｓ(ｔ)において、ホスト信号の貢献が低下する。というのは、周期Ｔが充分に大きい場合には、サンプルｘ(ｔ)、ｘ(ｔ−Ｔ)、…ｘ(ｔ−ｎＴ)の値が独立しているからである。同時に、例えば、同相のシヌソイドで作られる透かしの貢献が向上される。
【数２】
2012507044.tif 000004
【００８５】
ｘ(ｔ)、ｘ(ｔ−Ｔ)、…ｘ(ｔ−ｎＴ)が、ゼロ平均Ｅ［Ｘ］＝０を伴う同じ分布Ｘから引き出された独立したランダム変数であると仮定すれば、次のようになる。
【数３】
2012507044.tif 000005
【００８６】
[0104]従って、その基礎となるホスト信号貢献ｘ(ｔ)、・・・ｘ(ｔ−ｎＴ)は、互いに効果的に打ち消しあうが、透かしは不変であって、透かしを容易に検出できるようにする。
【００８７】
[0105]ここに示す実施例では、それにより得られる信号の電力が、スタックされた信号の数ｎと共に直線的に減少する。それ故、ホスト信号の独立部分にわたって平均化することで、干渉の作用を減少することができる。透かしは、常に同相で加算されるので、影響を受けない。
【００８８】
[0106]スタッカー１１０４を具現化するための規範的なプロセスを、図１２を参照して説明する。
【００８９】
[0107]デコーダ１１６は、更に、スタッカー１１０４の動作を制御するためのスタッカーコントローラ１１０６も備えている。規範的なスタッカーコントローラ１１０６は、スタッカー１１０４をイネーブルすべきかディスエイブルすべきかを指示する信号を受け取る。例えば、スタッカーコントローラ１１０６は、受信したオーディオ信号を受け取り、その信号がそれを歪ませる著しいノイズを含むかどうか決定し、そしてその決定に応答して、スタッカーをイネーブルさせる。別の具現化では、スタッカーコントローラ１１０６は、デコーダ１１６の配置に基づいてスタッカー１１０４をイネーブル又はディスエイブルするように手動で制御できるスイッチから信号を受け取る。例えば、デコーダ１１６が受信器１１０へ配線されているか、又はマイクロホン１２０がスピーカ１１４に接近して配置されたときには、スタッカーコントローラ１１０６は、スタッキングが必要とされず且つ各メッセージの急速に変化するデータ（例えば、タイムスタンプの最下位ビット）を崩壊させるので、スタッカー１１０４をディスエイブルさせる。或いは又、デコーダ１１６がスピーカ１１４から離れて配置されるか、又は著しい干渉が予想される別の環境に配置されたときには、スタッカー１１０４がスタッカーコントローラ１１０６によりイネーブルされる。もちろん、スタッカーコントローラ１１０６により、いかなる形式の希望の制御が与えられてもよい。
【００９０】
[0108]スタッカー１１０４の出力は、時間／周波数ドメインコンバータ１１０８へ送られる。時間／周波数ドメインコンバータ１１０８は、離散的フーリエ変換（ＤＦＴ）又は時間ベース情報を周波数ベース情報へ変換するための他の適当な技術を使用して具現化することができる。１つの実施例では、時間／周波数ドメインコンバータ１１０８は、８つの新たなサンプルが規範的な時間／周波数ドメインコンバータ１１０８に送られるたびに当該コード周波数のスペクトルを計算するスライディング長ブロック高速フーリエ変換（ＦＦＴ）を使用して具現化される。一実施例では、時間／周波数ドメインコンバータ１１０８は、エンコードされたオーディオの１５３６個のサンプルを使用し、そして各々８個のサンプルの１９２のスライドを使用して、そこからスペクトルを決定する。時間／周波数ドメインコンバータ１１０８により発生されるスペクトルの解像度は、スペクトルを発生するのに使用されるサンプルの数が増加するにつれて高くなる。従って、時間／周波数ドメインコンバータ１１０８により処理されるサンプルの数は、図３ないし５のテーブルにおけるインデックスを選択するのに使用される解像度に一致しなければならない。
【００９１】
[0109]時間／周波数ドメインコンバータ１１０８により生成されるスペクトルは、臨界帯域ノーマライザ１１１０へ送られ、これは、各臨界帯域におけるスペクトルを正規化する。換言すれば、各臨界帯域において最も大きな振幅をもつ周波数が１にセットされ、各臨界帯域内の他の全ての周波数が適宜に正規化される。例えば、臨界帯域１が、１１２、５６、５６、５６、５６、５６、及び５６の振幅を有する周波数を含む場合には、臨界帯域ノーマライザは、それら周波数を１、0.5、0.5、0.5、0.5、0.5及び0.5に調整する。もちろん、正規化のための１に代わって希望の最大値を使用することができる。臨界帯域ノーマライザ１１１０は、当該周波数の各々に対して正規化されたスコアを出力する。
【００９２】
[0110]臨界帯域ノーマライザ１１１０によって発生されるスコアのスペクトルは、記号スコアラ１１１２へ送られ、これは、アクティブな記号テーブルにおける各々の考えられる記号に対して全スコアを計算する。規範的な具現化において、記号スコアラ１１１２は、記号テーブルの各記号を通して繰り返し、特定の記号に対する当該周波数ごとに臨界帯域ノーマライザ１１１０からの正規化されたスコアを総計して、特定の記号に対するスコアを発生する。記号スコアラ１１１２は、各記号に対するスコアを最大スコアセレクタ１１１４へ出力し、これは、最大スコアをもつ記号を選択し、記号及びスコアを出力する。
【００９３】
[0111]最大スコアセレクタ１１１４からの識別された記号及びスコアは、比較器１１１６へ送られ、これは、スコアをスレッシュホールドと比較する。スコアがスレッシュホールドを越えるときには、比較器１１１６は、受け取った記号を出力する。スコアがスレッシュホールドを越えないときには、比較器１１１６は、エラー指示を出力する。例えば、比較器１１１６は、スコアがスレッシュホールドを越えないときには、エラーを指示する記号（例えば、アクティブな記号テーブルに含まれない記号）を出力する。従って、メッセージが崩壊して、記号に対して充分に大きなスコア（即ち、スレッシュホールドを越えないスコア）が計算されないときには、エラー指示が与えられる。規範的な具現化において、エラーのスレッシュホールド数（例えば、ある期間にわたるエラーの数、連続エラーの数、等）が識別されたときにスタッカー１１０４をイネーブルさせるためにエラー指示がスタッカーコントローラ１１０６へ送られる。
【００９４】
[0112]比較器１１１６からの識別された記号又はエラーは、循環バッファ１１１８及び既存コードフラグ循環バッファ１１２０へ送られる。図１５を参照して、標準的バッファ１１１８の規範的具現化を説明する。規範的な循環バッファ１１１８は、時間ドメイン／周波数ドメインコンバータ１１０８の各スライドに対して１つの循環バッファを含む（例えば、１９２個のバッファ）。循環バッファ１１１８の各循環バッファは、メッセージにおける同期記号及び各記号ブロックに対して１つの記憶位置を含み（例えば、８位置循環バッファに８ブロックメッセージが記憶され）、各循環バッファに１つの全メッセージを記憶することができる。従って、時間ドメイン／周波数ドメインコンバータ１１０８によりオーディオサンプルが処理されるときには、識別された記号は、各循環バッファの同じ位置に、その位置がいっぱいになるまで記憶される。次いで、記号が各循環バッファの次の位置に記憶される。記号を記憶するのに加えて、循環バッファ１１１８は、更に、受け取られたオーディオ信号内のサンプルであって識別された記号を生じたサンプルを指示するサンプルインデックスを記憶するための位置も各循環バッファ内に含むことができる。
【００９５】
[0113]規範的な既存コードフラグ循環バッファ１１２０は、循環バッファ１１１８と同様に具現化されるが、既存コードフラグ循環バッファ１１２０は、既存コードフラグ同期記号のための１つの位置と、既存コードフラグメッセージにおける各記号のための１つの位置とを含む（例えば、１つのメッセージ記号を含む既存コードフラグ同期は、２位置循環バッファに記憶される）。既存コードフラグ循環バッファ１１２０は、円形バッファ１１１８と同時に且つ同様にポピュレートされる。
【００９６】
[0114]規範的メッセージ識別子１１２２は、循環バッファ１１１８及び既存コードフラグ循環バッファ１１２０を同期記号に対して分析する。例えば、メッセージ識別子１１２２は、循環バッファ１１１８における同期記号と、既存コードフラグ循環バッファ１１２０における既存コードフラグ同期記号とをサーチする。同期記号が識別されると、同期記号に続く記号（例えば、循環バッファ１１１８では同期記号の後の７つの記号、又は既存コードフラグ循環バッファ１１２０では既存コードフラグ同期記号の後の１つの記号）がメッセージ識別子１１２２により出力される。更に、処理された最後のオーディオ信号サンプルを識別するサンプルインデックスが出力される。
【００９７】
[0115]メッセージ識別子１１２２によって出力されるメッセージ記号及びサンプルインデックスは、各メッセージを確認するバリデータ１１２４へ送られる。バリデータ１１２４は、連続的に受け取られる多数のメッセージを記憶するフィルタスタックを備えている。メッセージが繰り返されるので（例えば、２秒ごとに、又は８ＫＨｚで１６０００個のサンプル）、各メッセージは、ほぼ単一メッセージ内のオーディオサンプルの数だけ分離されたフィルタスタック内の他のメッセージと比較されて、一致が存在するかどうか決定する。一致又は実質的な一致が存在する場合には、両メッセージが確認されたことになる。メッセージを識別できない場合には、メッセージがエラーであり、バリデータ１１２４から放出されないことが決定される。メッセージがノイズ干渉により影響を受ける場合には、メッセージにおける記号のサブセットが、既に確認された別のメッセージにおける同じサブセットに一致するときに、メッセージが一致するとみなされる。例えば、メッセージにおける７つの記号のうちの４つが、既に確認された別のメッセージにおける同じ４つの記号に一致する場合には、メッセージは、部分的に確認されたと識別することができる。次いで、繰り返されるメッセージのシーケンスを観察して、部分的に確認されたメッセージにおける不一致記号を識別することができる。
【００９８】
[0116]バリデータ１１２４からの確認されたメッセージは、記号／ビットコンバータ１１２６へ送られ、このコンバータは、アクティブな記号テーブルを使用して、各記号を、メッセージの対応データビットへ変換することができる。
【００９９】
[0117]規範的なデコーディングプロセス１２００が図１２に示されている。この規範的なプロセス１２００は、図１１に示す規範的デコーダ１１６により、又は他の適当なデコーダにより、実行される。この規範的プロセス１２００は、オーディオをサンプリングすることにより開始される（ブロック１２０２）。オーディオは、オーディオセンサ、ハードワイヤード接続を経て、オーディオファイルを経て、又は他の適当な技術により、得ることができる。上述したように、サンプリングは、８０００Ｈｚで行われてもよいし、他の適当な周波数で行われてもよい。
【０１００】
[0118]各サンプルが得られるにつれて、サンプルは、図１１の規範的スタッカー１１０４のようなスタッカーにより集計される（ブロック１２０４）。スタッキングを行う規範的プロセスを、図１３を参照して説明する。
【０１０１】
[0119]スタッカープロセス１２０４からの新たにスタックされたオーディオサンプルはバッファに挿入され、最も古いオーディオサンプルが除去される（ブロック１２０６）。各サンプルが得られると、多数の古いサンプルと、ブロック１２０２及び１２０４で得られた新たに追加されたサンプルとを含むサンプルの集合体に対してスライディング時間／周波数変換が行われる（ブロック１２０８）。一実施例では、スライディングＦＦＴを使用して、９２１５個の古いサンプルと、新たに追加された１つのサンプルとを含むストリーミング入力サンプルを処理する。一実施例では、９２１６個のサンプルを使用するＦＦＴは、５．２Ｈｚの解像度を有するスペクトルを生じる。
【０１０２】
[0120]時間／周波数変換によりスペクトルが得られた後（ブロック１２０８）、送信される記号が決定される（ブロック１２１０）。送信される記号を決定する規範的プロセスは、図１４を参照して説明する。
【０１０３】
[0121]送信されるメッセージが識別された後（ブロック１２１０）、バッファ後処理を行って、同期記号及びそれに対応するメッセージ記号を識別する（ブロック１２１２）。後処理を行う規範的プロセスは、図１５を参照して説明する。
【０１０４】
[0122]後処理を遂行して、送信されるメッセージを識別した後（ブロック１２１２）、メッセージ確認を遂行して、メッセージの有効性を検証する（ブロック１２１４）。メッセージ確認を遂行する規範的プロセスは、図１８を参照して説明する。
【０１０５】
[0123]メッセージが確認された後（ブロック１２１４）、メッセージは、アクティブな記号テーブルを使用して記号からビットへと変換される（ブロック１２１６）。次いで、制御は、ブロック１１０６へ復帰し、サンプルの次のセットが処理される。
【０１０６】
[0124]図１３は、図１２のオーディオスタックプロセス１２０４を具現化するために、エンコードされたコード信号を強調するようにオーディオ信号サンプルをスタックする規範的なプロセスを示す。この規範的プロセスは、図１１のスタッカー１１０４及びスタッカーコントローラ１１０６により実行される。この規範的なプロセスは、スタッカーコントロールがイネーブルされるかどうか決定することにより開始される（ブロック１３０２）。スタッカーコントロールがイネーブルされないときには、スタッキングが行われず、図１３のプロセスは終了となり、制御は図１２のブロック１２０６へ復帰し、スタックされていないオーディオ信号サンプルを処理する。
【０１０７】
[0125]スタッカーコントロールがイネーブルされると、新たに受け取られるオーディオ信号サンプルがバッファへ押し込まれ、最も古いサンプルが押し出される（ブロック１３０４）。バッファは、複数のサンプルを記憶する。例えば、特定のメッセージが２秒ごとにオーディオ信号において繰り返しエンコードされ、そしてエンコードされたオーディオが８ＫＨｚでサンプリングされるときには、各メッセージは、１６０００個のサンプルごとに繰り返し、バッファが１６０００個のサンプルのある倍数を記憶するようにする（例えば、バッファは、９６０００サンプルバッファで６個のメッセージを記憶する）。次いで、スタッカー１１０８は、バッファにおける実質的に等しいサンプルブロックを選択する（ブロック１３０６）。次いで、その実質的に等しいサンプルブロックが総計される（ブロック１３０８）。例えば、サンプル１がサンプル１６００１、３２００１、４８００１、６４００１及び８０００１に追加され、サンプル２がサンプル１６００２、３２００２、４８００２、６４００２、８０００２に追加され、サンプル１６０００がサンプル３２０００、４８０００、６４０００、８００００及び９６０００に追加される。
【０１０８】
[0126]バッファのオーディオ信号サンプルが追加された後に、それにより得られるシーケンスが、選択されたブロックの数（例えば、６ブロック）で分割され、サンプルの平均シーケンス（例えば、１６０００個の平均サンプル）を計算する（ブロック１３１０）。それにより得られるサンプルの平均シーケンスは、スタッカーにより出力される（ブロック１３１２）。次いで、図１３のプロセスが終了となり、制御は、図１２のブロック１２０６へ復帰する。
【０１０９】
[0127]図１４は、受信されたオーディオ信号が周波数ドメインへと変換された後の記号決定プロセス１２１０を具現化するための規範的プロセスを示す。図１４の規範的プロセスは、図１及び１１のデコーダ１１６によって遂行される。図１４の規範的プロセスは、臨界帯域の各々においてコード周波数を正規化することにより開始される（ブロック１４０２）。例えば、コード周波数は、最大振幅をもつ周波数が１にセットされ、そしてその臨界帯域における他の全ての周波数が適宜調整されるように、正規化される。図１１の規範的デコーダ１１６では、正規化は、臨界帯域ノーマライザ１１１０により遂行される。
【０１１０】
[0128]当該周波数が正規化された後に（ブロック１４０２）、規範的な記号スコアラ１１１２が、以前に決定された同期テーブルに基づいて適当な記号テーブルを選択する（ブロック１４０４）。例えば、システムは、２つの記号テーブルを含み、その１つのテーブルは、通常同期のためであり、そしてもう１つのテーブルは、既存コードフラグ同期のためである。或いは又、システムは、単一の記号テーブルを含んでもよく、或いは同期記号（例えば、クロステーブル同期記号）により識別される複数の同期テーブルを含んでもよい。記号スコアラ１１１２は、次いで、選択された記号テーブルの各記号に対する記号スコアを計算する（ブロック１４０６）。例えば、記号スコアラ１１１２は、記号テーブルの各記号にわたって繰り返し、そして記号に対し当該周波数ごとに正規化されたスコアを加算して記号スコアを計算する。
【０１１１】
[0129]各記号のスコアが決められた後（ブロック１４０６）、規範的な最大スコアセレクタ１１１４は、最大のスコアをもつ記号を選択する（ブロック１４０８）。次いで、規範的比較器１１１６は、選択された記号のスコアが最大スコアスレッシュホールドを越えるかどうか決定する（ブロック１４１０）。スコアが最大スコアスレッシュホールドを越えないときには、エラー指示が循環バッファ（例えば、循環バッファ１１１８及び既存コードフラグ循環バッファ１１２０）に記憶される（ブロック１４１２）。次いで、図１４のプロセスは、完了し、制御は、図１２のブロック１２１２へ復帰する。
【０１１２】
[0130]スコアが最大スコアスレッシュホールドを越えると（ブロック１４１０）、識別された記号は、循環バッファ（例えば、循環バッファ１１１８及び既存コードフラグ循環バッファ１１２０）に記憶される（ブロック１４１４）。次いで、図１４のプロセスは、完了し、制御は、図１２のブロック１２１２へ復帰する。
【０１１３】
[0131]図１５は、図１２のバッファ後処理を具現化するための規範的プロセスを示す。図１５の規範的プロセスは、図１１のメッセージ識別子１１２２が同期指示について循環バッファ１１１８及び循環バッファ１１２０をサーチするときに開始される（ブロック１５０２）。
【０１１４】
[0132]例えば、図１６は、循環バッファ１１１８の規範的具現化を示し、そして図１７は、既存コードフラグ循環バッファ１１２０の規範的具現化を示す。図１６に示す実施例において、埋められるべき循環バッファの最後の位置は、矢印で示された位置３である。従って、サンプルインデックスは、位置３に記憶される記号を生じる位置をオーディオ信号サンプルにおいて指示する。スライディングインデックス３７に対応する線が循環バッファであるから、連続的に識別される記号は、１２８、５７、２２、１１１、３７、２３、４７及び０である。ここに示す実施例において１２８は同期記号であるから、メッセージは、同期記号に続く記号として識別することができる。メッセージ識別子１１２２は、スライディングインデックス３７における同期記号の識別に続いて７つの記号が位置付けられるまで待機となる。
【０１１５】
[0133]図１７の既存コードフラグ循環バッファ１１２０は、各循環バッファに対して２つの位置を含む。というのは、ここに示す実施例の既存コードフラグメッセージは、１つの既存コードフラグ同期記号（例えば、記号２５４）と、それに続く単一メッセージ記号とを含むからである。図２に示す実施例によれば、既存コードフラグデータブロック２３０は、７ビットタイムスタンプ長ブロック２２８の直後の２つの長ブロックに埋め込まれる。従って、既存コードフラグデータに対して２つの長ブロックがあり、そしてここに示す実施例の各長ブロックは、８ＫＨｚのサンプリングレートで１５３６個のサンプルであるから、既存コードフラグデータ記号は、オリジナルメッセージの、３０７２個のサンプルの後に、既存コードフラグ循環バッファにおいて識別される。図１７に示す実施例では、スライディングインデックス３７は、図１６のスライディングインデックス３７（サンプルインデックス３５６７２）より３０７２個のサンプル後にあるサンプルインデックス３８７４４に対応する。従って、既存コードフラグデータ記号６８は、図１６のスライディングインデックス３７のメッセージに対応すると決定することができ、これは、図１６のスライディングインデックス３７のメッセージがオリジナルのエンコードされたメッセージを識別し（例えば、オーディオの基地放送局を識別し）、そしてスライディングインデックス３７が既存コードフラグメッセージを識別する（例えば、オーディオの再放送局を識別する）ことを示している。
【０１１６】
[0134]図１２へ戻ると、同期又は既存コードフラグ同期記号が検出された後に、メッセージの冗長性を排除するために、循環バッファ１１１８又は既存コードフラグ循環バッファ１１２０のメッセージが凝縮される。例えば、図１６に示したように、スライディング時間ドメイン／周波数ドメイン変換及び各メッセージに対するエンコーディングの期間のために、メッセージは、オーディオデータにおいてある時間周期中識別される（スライディングインデックス３７−３９は、同じメッセージを含む）。連続するスライディングインデックスにおける同一のメッセージは、エンコードされた１つのメッセージのみの代表であるから、単一のメッセージへと凝縮することができる。或いは又、凝縮を排除し、全てのメッセージを必要なときに出力してもよい。次いで、メッセージ識別子１１２２は、凝縮されたメッセージを、バリデータ１１２４に関連したフィルタスタックに記憶する（ブロック１５０６）。次いで、図１５のプロセスは、終了し、制御は、図１２のブロック１２１４へ戻る。
【０１１７】
[0135]図１８は、図１２のメッセージ確認プロセス１２１４を具現化するための規範的プロセスを示す。図１２の規範的プロセスは、図１１のバリデータ１１２４により遂行される。図１８の規範的プロセスは、バリデータ１１２４がフィルタスタックのトップメッセージを読み取るときに開始される（ブロック１８０２）。
【０１１８】
[0136]例えば、図１９は、フィルタスタックの規範的具現化を示す。規範的なフィルタスタックは、メッセージインデックスと、各メッセージインデックスに対する７つの記号位置と、サンプルインデックス識別と、各メッセージインデックスに対する確認フラグとを含む。各メッセージは、メッセージインデックスＭ７において追加され、位置Ｍ０におけるメッセージは、図１８のブロック１８０２で読み取られるトップメッセージである。サンプリングレートの変化及びメッセージ識別内のメッセージ境界の変化のために、メッセージが１６０００個のサンプルごとに繰り返されるときにほぼ１６０００個のサンプルの倍数のサンプルインデックスによってメッセージが分離されることが予想される。
【０１１９】
[0137]図１９に戻ると、フィルタスタックのトップメッセージが選択された後（ブロック１８０２）、バリデータ１１２４は、メッセージが以前に確認されていることを確認フラグが指示するかどうか決定する（ブロック１８０４）。例えば、図１９は、メッセージＭ０が確認されていることを示す。メッセージが以前に確認されているときは、バリデータ１１２４は、メッセージを出力し（ブロック１８１２）、制御は、ブロック１８１６へ進む。
【０１２０】
[0138]メッセージがまだ確認されないときには（ブロック１８０４）、バリデータ１１２４は、フィルタスタックに別の適当に一致するメッセージがあるかどうか決定する（ブロック１８０６）。メッセージは、それが別のメッセージと同一であるとき、又はメッセージ記号のスレッシュホールド数が別のメッセージ（例えば、７つのメッセージのうちの４つ）に一致するとき、又は２つのメッセージが、それらが同じであると推測するに充分なほど類似していることを他のエラー決定が指示するときに、適当に一致する。ここに示す実施例では、メッセージは、既に確認されている別のメッセージとで部分的に確認することしかできない。適当な一致が識別されないときには、制御は、ブロック１８１４へ進む。
【０１２１】
[0139]適当な一致が識別されると、バリデータ１１２４は、同一メッセージ間の時間幅（例えば、サンプル内）が適切であるかどうか決定する（ブロック１８０８）。例えば、メッセージが１６０００個のサンプルごとに繰り返されるときには、２つの適当に一致するメッセージ間の分離がほぼ１６０００個のサンプルの倍数であるかどうか決定される。時間幅が適切でないときには、制御はブロック１８１４へ進む。
【０１２２】
[0140]時間幅が適切であるときには（ブロック１８０８）、バリデータ１１２４は、各メッセージに対して確認フラグをセットすることにより両メッセージを確認する（ブロック１８１０）。メッセージが完全に確認されると（例えば、厳密な一致）、メッセージが完全に確認されたことをフラグが指示する（例えば、図１９における確認されたメッセージ）。メッセージが部分的に確認されただけである（例えば、７つの記号のうちの４つしか一致しない）ときには、メッセージは、部分的に確認されたとマークされる（例えば、図１９における部分的に確認されたメッセージ）。次いで、バリデータ１１２４は、トップメッセージを出力し（ブロック１８１２）、制御は、ブロック１８１６へ進む。
【０１２３】
[0141]トップメッセージに対し適当な一致がないと決定されるか（ブロック１８０６）又は適当な一致と一致との間の時間幅が適切でないと決定されると（ブロック１８０８）、トップメッセージは確認されない（ブロック１８１４）。確認されないメッセージは、バリデータ１１２４から出力されない。
【０１２４】
[0142]メッセージを確認しないと決定し（ブロック１８０６、１８０８及び１８１４）又はトップメッセージを出力した後に（ブロック１８１２）、バリデータは、フィルタスタックをポップし（１８１６）、フィルタスタックからトップメッセージを除去する。次いで、制御は、ブロック１８０２へ復帰し、フィルタスタックのトップにある次のメッセージを処理する。
【０１２５】
[0143]規範的エンコーダ１０２及び規範的デコーダ１１６のいずれか又は全部を具現化する規範的な仕方を図示して説明したが、添付図面に示して上述したデータ構造、要素、プロセス及び／又は装置の１つ以上を、他の仕方で結合し、分割し、再配置し、省略し、排除し、及び／又は具現化することができる。更に、規範的エンコーダ１０２及び規範的デコーダ１１６は、ハードウェア、ソフトウェア、ファームウェア、及び／又はそれらの組み合わせによって具現化することもできる。従って、例えば、規範的エンコーダ１０２及び規範的デコーダ１１６は、１つ以上の回路、プログラム可能なプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能なロジック装置（ＰＬＤ）、及び／又はフィールドプログラマブルロジック装置（ＦＰＬＤ）、等により具現化することができる。更に、デコーダ１１６は、移動電話のようなプラットホーム装置にソフトウェアを使用して具現化することができる。いずれの請求項も純粋なソフトウェア具現化を網羅するように書いてある場合に、事前コード検出器２０４、規範的メッセージジェネレータ２１０、記号セレクタ２１２、コード周波数セレクタ２１４、シンセサイザ２１６、逆ＦＦＴ２１８、ミクサ２２０、重畳短ブロックメーカー２４０、マスキング評価器２４２、臨界帯域対定義器７０２、周波数定義器７０４、数字ジェネレータ７０６、冗長性減少器７０８、過剰減少器７１０、コード周波数定義器７１２、ＬＵＴフィラー７１４、サンプラー１１０２、スタッカー１１０４、スタックコントロール１１０６、時間ドメイン／周波数ドメインコンバータ１１０８、臨界帯域ノーマライザ１１１０、記号スコアラ１１１２、最大スコアセレクタ１１１４、比較器１１１６、循環バッファ１１１８、既存コードフラグ循環バッファ１１２０、メッセージ識別子１１２２、バリデータ１１２４、及び記号／ビットコンバータ１１２６の少なくとも１つは、メモリ、ＤＶＤ、ＣＤ、等の有形メディアを含むことが明確に定義される。更に、規範的エンコーダ１０２及び規範的デコーダ１１６は、図示されて上述されたものに代わって又はそれに加えて、データ構造、要素、プロセス及び／又は装置を含んでもよく、及び／又はここに示すデータ構造、要素、プロセス及び／又は装置のいずれか１つ以上又は全部を含んでもよい。
【０１２６】
[0144]図２０は、規範的エンコーダ１０２及びデコーダ１１６、及び／又はここに述べる他のコンポーネントのいずれか又は全部を具現化するように使用され及び／又はプログラムされる規範的なプロセッサプラットホーム２０００の概略図である。例えば、プロセッサプラットホーム２０００は、１つ以上の汎用プロセッサ、プロセッサコア、マイクロコントローラ、等により具現化することができる。更に、プロセッサプラットホーム２０００は、他の機能を有する装置の一部分として具現化されてもよい。例えば、プロセッサプラットホーム２０００は、移動電話又は他のハンドヘルド装置に設けられる処理パワーを使用して具現化されてもよい。
【０１２７】
[0145]図２０の実施例のプロセッサプラットホーム２０００は、少なくとも１つの汎用のプログラム可能なプロセッサ２００５を含む。このプロセッサ２００５は、プロセッサ２００５のメインメモリ内（例えば、ＲＡＭ２０１５及び／又はＲＯＭ２０２０内）に存在するコード化インストラクション２０１０及び／又は２０１２を実行する。又、プロセッサ２００５は、プロセッサコア、プロセッサ及び／又はマイクロコントローラのような任意の形式の処理ユニットでよい。更に、プロセッサ２００５は、とりわけ、ここに述べるプロセスを具現化する規範的なマシンアクセス可能なインストラクションを実行する。又、プロセッサ２００５は、バス２０２５を経てメインメモリ（ＲＯＭ２０２０及び／又はＲＡＭ２０１５を含む）と通信する。ＲＡＭ２０１５は、ＤＲＡＭ、ＳＤＲＡＭ、及び／又は任意の他の形式のＲＡＭ装置によって具現化され、そしてＲＯＭは、フラッシュメモリ及び／又は他の望ましい形式のメモリ装置によって具現化される。メモリ２０１５及び２０２０へのアクセスは、メモリコントローラ（図示せず）により制御される。
【０１２８】
[0146]又、プロセッサプラットホーム２０００は、インターフェイス回路２０３０も備えている。このインターフェイス回路２０３０は、ＵＳＢインターフェイス、ブルーツースインターフェイス、外部メモリインターフェイス、シリアルポート、汎用入力／出力、等の任意の形式のインターフェイス規格により具現化されてもよい。又、１つ以上の入力装置２０３５及び１つ以上の出力装置２０４０がインターフェイス回路２０３０に接続される。
【０１２９】
[0147]幾つかの規範的な装置、方法及び製造物品を説明したが、他の具現化も考えられる。本発明の範囲は、ここに述べる特定の実施例に限定されない。逆に、本発明は、本発明の範囲内に入る全ての装置、方法及び製造物品を網羅するものである。
【符号の説明】
【０１３０】
１００…エンコーディング及びデコーディングシステム、１０２…エンコーダ、１０３…コード又は情報、１０４…オーディオ信号、１０６…送信器、１０８…ビデオ信号、１１０…受信器、１１４…スピーカ、１１６…デコーダ、１１８…オーディオ出力、１２０…マイクロホン、２０２…エンコーディングラインアップ、２０４…事前コード検出器、２０６…マスキングラインアップ、２１０…メッセージジェネレータ、２１２…同期セレクタ、２１４…コード周波数セレクタ、２１６…シンセサイザ、２１８…逆フーリエ変換、２２０…結合器、２２２…メッセージフォーマット、２２４…同期記号、２２６、２２８…メッセージ情報、２３０…既存コードフラグ情報、２３２…ＬＵＴ、２４０…重畳短ブロックメーカー、２４２…マスキング評価器。
【図１】
2012507044.tif 000006
【図２】
2012507044.tif 000007
【図３】
2012507044.tif 000008
【図４】
2012507044.tif 000009
【図５】
2012507044.tif 000010
【図６】
2012507044.tif 000011
【図７】
2012507044.tif 000012
【図８】
2012507044.tif 000013
【図９】
2012507044.tif 000014
【図１０】
2012507044.tif 000015
【図１１】
2012507044.tif 000016
【図１２】
2012507044.tif 000017
【図１３】
2012507044.tif 000018
【図１４】
2012507044.tif 000019
【図１５】
2012507044.tif 000020
【図１６】
2012507044.tif 000021
【図１７】
2012507044.tif 000022
【図１８】
2012507044.tif 000023
【図１９】
2012507044.tif 000024
【図２０】
2012507044.tif 000025
【国際調査報告】
2012507044.tif 000026
2012507044.tif 000027
2012507044.tif 000028
2012507044.tif 000029
2012507044.tif 000030