JP4186531B2 - データ埋め込み方法、データ抽出方法、データ埋め込み抽出方法、及びシステム - Google Patents

データ埋め込み方法、データ抽出方法、データ埋め込み抽出方法、及びシステム Download PDF

Info

Publication number
JP4186531B2
JP4186531B2 JP2002203346A JP2002203346A JP4186531B2 JP 4186531 B2 JP4186531 B2 JP 4186531B2 JP 2002203346 A JP2002203346 A JP 2002203346A JP 2002203346 A JP2002203346 A JP 2002203346A JP 4186531 B2 JP4186531 B2 JP 4186531B2
Authority
JP
Japan
Prior art keywords
data
speed
portions
embedded
routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002203346A
Other languages
English (en)
Other versions
JP2003283802A (ja
Inventor
ティー. フート ジョナサン
アドコック ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/104,017 external-priority patent/US6999598B2/en
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Publication of JP2003283802A publication Critical patent/JP2003283802A/ja
Application granted granted Critical
Publication of JP4186531B2 publication Critical patent/JP4186531B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、一般に音声ファイル及び画像ファイル内に情報を隠すためのシステム及び方法に関する。
【0002】
【従来の技術】
デジタル化画像、デジタル画像配給及びデジタルビデオ利用の到来を受けて、デジタル権利の管理または著作権保護などの目的のため、デジタル画像内に情報を「隠す」ことが、画像出版者及び著者にとって大きな問題になってきた。デジタル画像内に情報を埋め込むプロセスは「ウォータマーク(watermarking)」として知られている。このようなウォータマークは、意図的な汚染に対し、及びデータ圧縮処理に対し、安全で耐久性が大きくなければならず、埋め込み及び抽出が過度に複雑であってはならず、従来の画像処理システムと互換性があり、協同可能でなければならない。ウォータマークは、概して人の目に見えない。しかしながら、認可されている画像デコーダによって除去することができ、認可されていないデコーダによって除去できない可視ウォータマークを作ることが望ましい応用例もある。
【0003】
ウォータマークは多くの場合デジタル画像に関して使用されるが、ウォータマーク技法は、音声ファイルにも適用できる。従来の画像ウォータマーク技法と同様に、従来の音声ウォータマーク技法は、データドメイン法及び周波数ドメイン法に分類することができる。データドメイン法は、PCM表現の最下位ビットを変調する、あるいは圧縮されたドメイン表現内にデータを隠し込むなどの実際の音声データを修正することによって機能する。周波数ドメイン法は、例えばある特定の周波数成分を削除することによって、あるいは低振幅雑音内で偽装される情報を追加することによって信号のスペクトル成分を修正することにより機能する。
【0004】
データドメインウォータマーク技法は、圧縮されたドメインウォータマーク、ビットディザリング、振幅変調及びエコー非表示(echo hiding)を含む。圧縮されたドメインウォータマークにおいては、データの圧縮された表現だけがウォータマークされるため、永続的なものではない。データが圧縮されていないとき、ウォータマークは使用できない。最下位ビット(LSB)変調では、情報は、時間ドメインまたはデータ圧縮済み表現の最下位ビットを変調することにより符号化される。これは、潜在的に大きなデータ転送速度を有する一方でデータ圧縮またはアナログ伝送と再生に対して耐久性が大きくはなく、信号に雑音を生じさせる。
【0005】
振幅変調においては、信号ピークは、所定の振幅バンドに該当するように修正される。この技法は変調歪みを生じさせ、アナログとデジタルの電話、放送、音声補強、及び雑音削除で幅広く使用されている振幅圧縮に対して耐久性が大きくはない。エコー非表示では、原信号の別個のコピーが原信号と混合される。エコー時間は十分に短く、コピー振幅は聞き取れないほど十分に低いが、エコーは自己相関を介して検出できる。この方法は、その周期がエコー遅延の倍数である周波数での位相相殺のためにスペクトル歪みを生じさせる。また、この技法は、微細なエコーが知覚コーディングによって廃棄されやすいため、データ圧縮の下では耐久性が大きくなくてよい。
【0006】
周波数ドメインウォータマーク技法は、位相コーディング、周波数バンドの修正、及びスペクトル拡散の技法を含む。位相コーディングは、人間の聴覚器官の位相に対する相対的な鈍感さに依存している。信号がスペクトログラム内でのようにウィンドウ処理され、各ウィンドウの振幅及び位相が計算される。ウォータマークを符号化する人工的な絶対位相信号が、第1ウィンドウの中に入れられる。それ以降のフレームのための位相情報は、各フレームと絶対位相との位相差から反復して計算される。結果として生じる位相は、ウォータマークされた信号を構築するために元の振幅と結合される。この方法は信号の中に位相分散を生じさせ、おそらくデータ圧縮下で耐久性が大きくはない。
【0007】
周波数バンド修正では、情報は、特定のスペクトルバンドを削除する、あるいは機能拡張し、ノッチフィルタを使用して狭いスペクトルバンドを削除することによって符号化されるか、あるいは周波数バンド差の中に符号化される。この方法はスペクトル歪みを生じさせ、知覚符号化に対して耐久性が大きくはない場合があり、変更された周波数成分がソース音声で十分に表現されていない限り機能しない。
【0008】
スペクトル拡散技法では、ウォータマーク情報を伝搬する信号は、擬似ランダムシーケンスと掛け合せることによって広帯域雑音に変調される。変調関数が既知であるため、あるいは再生できるため、ウォータマーク信号は復調できる。この技法はウォータマークされた信号に雑音を追加し、低振幅のスペクトル拡散信号は、知覚コーディングの下で廃棄されやすい。さらに、サンプリング周波数は、受信機を同期させなくてよいように、変調搬送周波数として一般的に使用される。この場合、再サンプリングまたはアナログ伝送は、同期性、ひいてはウォータマークを破壊しやすい。
【0009】
【発明が解決しようとする課題】
多くの方式、特に変調ドメインアプローチ及び周波数ドメインアプローチは、音声データ圧縮に対して耐久性が大きくはない。周波数修正はウォータマークされた音声データにおいて知覚的に聴こえないものでなければならないため、これは、特に問題である。それ以外の場合、ウォータマークは適切ではない。しかしながら、このような従来の周波数変調は、正確には、MP3などの知覚データ圧縮方式が使用されるときに、失われまたは変更される情報である。
【0010】
また、画像をウォータマークする多くの手法が存在した。大部分のアプローチは、上述されたアプローチにきわめて類似している。例えば、スペクトル拡散技法は、音声だけではなく画像にも使用できる。テキストをウォータマークするための1つの関連する従来のアプローチは、ワードの間と文の間の白い空間を変調する。この方法は、ワード境界を検出する必要があり、走査済みのテキスト以外の一般的な画像には適用できない。ゼロックス(Xerox)社で開発された記号技術PARCは、グレイ陰影に加えて情報を符号化するために変調できる小さなマークを使用して、情報をデジタルハードコピーに符号化する。Curryに付与された米国特許第5,946,103号は、印刷された文書をデジタルでウォータマークするためにグリフ(図形符号)を使用する方法を開示する。しかしながら、グリフ技術は、典型的には、人目を引く構造を有する画像を生成する。これにより、この方法は、特定の用途に対してだけ適している。「パッチワーク」ウォータマークシステムは、画像内の点のランダムな対の強度を変える。テクスチャブロックコーディングと呼ばれる方法は、ランダムなテクスチャの領域をコピーすることによって情報を符号化する。これらの領域は、自己相関によって発見できる。
【0011】
上記に概略したように、従来の情報埋め込み、つまりウォータマーク技法は、現代のデータ圧縮伝送方法の視点からは耐久性の大きいものではなく、その使用が特定の種類のデータに限られ、及び/または知覚されないまま、十分に密に及び/または耐久性があるように情報を埋め込むことができない。
【0012】
【課題を解決するための手段】
本発明は、データファイル内に情報を隠し込むシステム及び方法を提供する。
【0013】
本発明は、該データファイルの部分を選択的に次元展開し、次元圧縮することによって、データファイル内に情報埋め込むシステム及び方法を提供する。
【0014】
本発明は、データの選択された次元に沿ってデータファイルの部分を選択的に次元展開及び次元圧縮するシステム及び方法をさらに備える。
【0015】
本発明は、データの時間次元に沿って時間変化するデータの部分を選択的に時間展開及び時間圧縮することにより、時間変化するデータの中に情報を埋め込むシステム及び方法をさらに提供する。
【0016】
本発明は、少なくとも1つの空間次元に沿って空間的に変化するデータの部分を選択的に空間的に展開し、空間的に圧縮することによって空間的に変化するデータの中に情報を埋め込むシステム及び方法をさらに提供する。
【0017】
本発明は、埋め込まれた情報を含む修正されたデータファイルを、埋め込まれたデータを抽出するためにデータファイルの元のコピーと比較するためのシステム及び方法を別個に提供する。
【0018】
本発明は、埋め込まれた情報を含む修正されたデータファイルの次元圧縮され、次元展開された部分の次元的な圧縮及び次元的な展開の場所及び期間を示すシステム及び方法を別個に提供する。
【0019】
本発明は、データファイルの元のコピーに関係なく、埋め込まれた情報を含む修正されたデータファイルから埋め込まれた情報を抽出できるようにするシステム及び方法を別個に提供する。
【0020】
本発明は、修正されたデータファイルの部分を選択的に次元圧縮し、次元展開することにより情報を埋め込むために、修正されたデータファイルを修正する前に所定の関数に一致する速度を有するようにデータファイルを修正するシステム及び方法をさらに提供する。
【0021】
本発明は、予測された速度とデータファイル内での実際の速度の差を求めることによって、埋め込まれた情報を含むデータファイルから埋め込まれた情報を抽出するためのシステム及び方法をさらに提供する。
【0022】
本発明による多様な例示的な実施形態において、情報は原データファイルの中に埋め込まれる。該原データファイルは指定された次元に沿って延び、その指定された次元に沿って延びる部分に分割できる、つまりその指定された次元に沿って延びる部分に自然に区分される。情報は、指定された次元に沿って部分のいくつかまたはすべてのそれぞれのサイズを選択的に次元圧縮する、または次元展開することによってデータファイルの中に埋め込まれる。多様な例示的な実施形態では、指定される次元とは空間または時間である。
【0023】
多様な例示的な実施形態において、データファイルの部分は、指定された符号化方式によって選択的に次元展開または次元圧縮される。この符号化方式は、埋め込まれた情報の一部を記憶するために、次元圧縮または次元展開のどちらかである修正の種類を使用できる。代わりに、この符号化方式は、埋め込まれた情報の一部を記憶するために隣接する部分間で、次元圧縮または次元展開のどちらかである修正の種類の関係性を使用することができる。多様なそれ以外の例示的な実施形態では、次元圧縮または次元展開の期間または程度が、埋め込まれた情報の一部を記憶するために使用される。埋め込まれた情報の該部分は、バイナリ情報あるいは3値またはそれ以外の多値の離散情報の個々のビットであるか、あるいはアナログ情報の一部である場合がある。
【0024】
多様な例示的な実施形態では、埋め込まれた情報は、修正されたデータファイルを、直接的または間接的のどちらかで未修正の原データファイルのコピーと比較することにより、修正されたデータファイルから抽出される。直接的または間接的な比較に基づいて、次元圧縮され、次元展開された部分のパターンを表すマップを求めることができる。求められたマップ及び使用されている特定の符号化方式に基づき、次元圧縮され、次元展開された部分のパターンを、埋め込まれたアナログ情報またはデジタル情報に変換し直すことができる。
【0025】
多様な例示的な実施形態においては、情報が埋め込まれる前に、データファイルは、指定された次元に沿ったデータファイルの部分の速度が、指定された関数に一致するように最初に修正される。修正されたデータファイルの部分は、それからさらに、情報を埋め込むために、部分のいくつかを選択的に次元圧縮または次元展開することによって修正される。それから、該埋め込まれた情報は、指定された関数に基づいて予想される速度を予測するために修正されたデータファイルを分析することによって抽出することができる。特定の部分の予測速度と実際の速度間の差は、情報を埋め込むために使用されるその部分の修正の種類及び程度を定める。このようにして、その差は、符号化方式に基づいて埋め込まれたアナログ情報またはデジタル情報にその後変換し直すことができる、次元圧縮され、次元展開される部分のパターンを定める。
【0026】
本発明によるシステム及び方法の多様な例示的な実施形態においては、きわめて低い周波数変調に対する人間の感覚器官の鈍感さのために、大部分のファイルについては、埋め込まれたデータまたはウォータマークは、実際には検出不可能だろう。同時に、変調を伝搬する、埋め込まれたデータは、伝送及びデータ圧縮に対して例外的に耐久性が大きい。
【0027】
本発明のこれらの及びそれ以外の特徴及び優位点は、本発明による装置/システムならびに方法の以下の詳細な記述に説明され、そこから明らかになるだろう。
【0028】
本発明の第1の態様は、データの第1セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットの中に埋め込むためのデータ埋め込み方法であって、前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測し、前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第2セットを時間次元に沿って圧縮及び展開し、前記データの第2セットの前記複数の部分から選択した選択部分を、前記データの第1セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第2セットに前記データの第1セットを埋め込むデータ埋め込み方法である。
【0029】
本発明の第2の態様は、第1の態様において、データの第2セットの部分の少なくともいくらかの範囲を選択的に次元圧縮及び展開する前に、前記複数の部分ごとに予測される速度を求めるためにデータの第2セットを分析し、データの第2セットの複数の部分のそれぞれに、その部分についての実際の速度がその部分についての予測される速度に一致するように、その部分についての実際の速度を修正すること、をさらに備える方法である。
【0030】
本発明の第3の態様は、第2の態様において、前記複数の部分のそれぞれについて予測される速度を求めるためにデータの第2セットを分析することが、速度についての所定の関数に基づいて予測される速度を求めることを備える、方法である。
【0031】
本発明の第4の態様は、第3の態様において、前記速度についての所定の関数が一定の速度を予測するための関数である、方法である。
【0032】
本発明の第5の態様は、第3の態様において、前記所定の関数が、周期的に変化する速度を予測するための数である、方法である。
【0033】
本発明の第6の態様は、第1の態様において、前記データの第1セットがウォータマークである、方法である。
【0034】
本発明の第7の態様は、第6の態様において、前記ウォータマークが、ソース、作成の時間、作成の場所、識別値、識別名、作成者名、及び所有者名のうちの少なくとも1つを識別する、方法である。
【0035】
本発明の第8の態様は、第1の態様において、前記データの第2セットが、音声データ及びビデオデータのうちの少なくとも1つであり、前記第1の次元が時間である、方法である。
【0036】
本発明の第9の態様は、第1の態様において、前記データの第2セットが、静止画像データ及びビデオデータのうちの少なくとも1つであり、前記少なくとも1つの次元が少なくとも第1の空間次元であり、データの第2セットを複数の部分に分割することが、データの第2セットを、前記第1の空間次元に沿って延びる複数の部分に分割することを備え、前記少なくとも第1の次元に沿ってデータの第2セットの部分の少なくともいくつかの範囲を選択的に次元圧縮及び次元展開することが、前記第1の空間次元に沿ってデータの第2セットの部分の少なくともいくらかの範囲を選択的に次元圧縮及び展開することを備える、方法である。
【0037】
本発明の第10の態様は、第1の態様において、データの第2セットが、静止画像データ及びビデオデータのうちの少なくとも1つであり、前記少なくとも1つの次元が、第1の空間次元及び第2の空間次元を備え、データの第2セットを複数の部分に分割することが、データの第2セットを、第1の空間次元及び第2の空間次元のそれぞれに沿った成分を有する軸に沿って延びる複数の部分に分割することを備え、少なくとも第1の次元に沿ってデータの第2セットの部分の少なくともいくつかの範囲を選択的に次元圧縮及び展開することが、前記軸に沿ってデータの第2セットの部分の少なくともいくらかの範囲を選択的に次元圧縮及び展開することを備える、方法である。
【0038】
本発明の第11の態様は、データの第1セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットの中に埋め込むためのデータ埋め込みシステムであって、前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測する速度予測回路またはルーチンと、前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第2セットを時間次元に沿って圧縮及び展開する速度変更回路またはルーチンと、前記データの第2セットの前記複数の部分から選択した選択部分を、前記データの第1セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第2セットに前記データの第1セットを埋め込むウォータマーク回路またはルーチンと、を備えるシステムである。
【0039】
本発明の第12の態様は、第11の態様において、前記データの第2セットを分析し、前記複数の部分のそれぞれに予測される速度を求める速度予測回路またはルーチンと、前記データの第2セットの前記複数の部分のそれぞれについて、その部分の実際の速度がその部分の予測される速度と一致するように、その部分の実際の速度を修正する速度変更回路またはルーチンと、をさらに備える、システムである。
【0040】
本発明の第13の態様は、第12の態様において、前記速度予測回路またはルーチンは、速度についての所定の関数に基づいて、前記複数の部分のそれぞれについて予測される速度を求める、システムである。
【0041】
本発明の第14の態様は、第13の態様において、前記速度についての所定の関数が一定の速度を予測するための関数である、システムである。
【0042】
本発明の第15の態様は、第13の態様において、前記所定の関数が、周期的に変化する速度を予測するための数である、システムである。
【0043】
本発明の第16の態様は、第11の態様において、前記データの第1セットがウォータマークである、システムである。
【0044】
本発明の第17の態様は、第16の態様において、前記ウォータマークが、ソース、作成の時間、作成の場所、識別値、識別名、作成者名、及び所有者名のうちの少なくとも1つを識別する、システムである。
【0045】
本発明の第18の態様は、第11の態様において、前記データの第2セットが、音声データ及びビデオデータの少なくとも1つであり、第1の次元が時間である、システムである。
【0046】
本発明の第19の態様は、第11の態様において、前記データの第2セットが静止画像データ及びビデオデータのうちの少なくとも1つであり、前記少なくとも1つの次元が、少なくとも第1の空間次元であり、前記データの第2セットが、第1の空間次元に沿って延びる複数の部分に分割され、ウォータマーク回路またはルーチンが、前記第1の空間次元に沿ってデータの第2セットの部分の少なくともいくらかの範囲を選択的に次元圧縮、展開する、システムである。
【0047】
本発明の第20の態様は、第11の態様において、前記データの第2セットが、静止画像データ及びビデオデータのうちの少なくとも1つであり、前記少なくとも1つの次元が、第1の空間次元及び第2の空間次元を備え、前記データの第2セットが、前記第1の空間次元及び前記第2の空間次元のそれぞれに沿った成分を有する軸に沿って延びる複数の部分に分割され、ウォータマーク回路またはルーチンが、前記軸に沿ってデータの第2セットの部分の少なくともいくらかの範囲を選択的に次元圧縮及び展開する、システムである。
【0048】
本発明の第21の態様は、データの第1セットを、前記データの第1セットが埋め込まれているデータの第2セットから抽出するための方法であって、該データの第2セットは、それに沿って延びる少なくとも1つの次元を有し、複数の部分を有し、該複数の部分のそれぞれが前記少なくとも1つの次元のうちの少なくとも第1の次元に沿った範囲を有し、前記方法は、前記データの第1セットが埋め込まれている前記データの第2セットを、データの第1セットを含まないデータの第2セットの基準コピーと比較し、比較に基づいてデータの第1セットを符号化する複数の部分の次元圧縮及び次元展開された部分のパターンを生成し、前記複数の部分の次元圧縮及び次元展開されたパターンを、データの第1セットに変換すること、を備える方法である。
【0049】
本発明の第22の態様は、第21の態様において、前記データの第1セットが埋め込まれているデータの第2セットを、データの第1セットを含まないデータの第2セットの基準コピーと比較することが、前記データの第1セットが埋め込まれているデータの第2セットから代表的なデータの第1セットを生成し、前記データの第1セットを含まないデータの第2セットから代表的なデータの第2セットを生成し、前記代表データの第1セットを前記代表データの第2セットと比較すること、を備える方法である。
【0050】
本発明の第23の態様は、第22の態様において、前記代表データの第1セット及び第2セットが、第1スペクトログラム及び第2スペクトログラムである、方法である。
【0051】
本発明の第24の態様は、第21の態様において、前記データの第1セットがウォータマークである、方法である。
【0052】
本発明の第25の態様は、第24の態様において、前記ウォータマークが、ソース、作成の時間、作成の場所、識別値、識別名、作成者名、及び所有者名のうちの少なくとも1つを識別する、方法である。
【0053】
本発明の第26の態様は、第21の態様において、前記データの第2セットが、音声データ及びビデオデータのうちの少なくとも1つであり、第1の次元が時間である、方法である。
【0054】
本発明の第27の態様は、第21の態様において、前記データの第2セットが、静止画像データ及びビデオデータのうちの少なくとも1つであり、前記少なくとも1つの次元が、少なくとも第1の空間次元である、方法である。
【0055】
本発明の第28の態様は、第21の態様において、前記データの第2セットが、静止画像データ及びビデオデータのうちの少なくとも1つであり、前記少なくとも1つの次元が、第1の空間次元及び第2の空間次元を備え、前記データの第2セットが、第1の空間次元及び第2の空間次元のそれぞれに沿った成分を有する軸に沿って延びる複数の部分を備え、前記データの第1セットが埋め込まれているデータの第2セットを、データの第1セットを含まないデータの第2セットの基準コピーと比較することが、データの第1セットが埋め込まれているデータの第2セットを、前記軸に沿ったデータの第1セットを含まないデータの第2セットの基準コピーと比較することを備える、方法である。
【0056】
本発明の第29の態様は、第21の態様において、前記複数の部分の次元圧縮、及び次元展開された部分のパターンを、データの第1セットに変換することが、前記パターンの少なくとも1つの部分を少なくとも1つのテンプレートと比較することを備える、方法である。
【0057】
本発明の第30の態様は、第29の態様において、前記少なくとも1つのテンプレートが、少なくとも1つの予め定められたテンプレートである、方法である。
【0058】
本発明の第31の態様は、第29の態様において、前記少なくとも1つのテンプレートを概算することをさらに備える、方法である。
【0059】
本発明の第32の態様は、第21の態様において、前記複数の部分の次元圧縮及び次元展開された部分のパターンをデータの第1セットに変換することが、前記パターンの各部分を少なくとも1つの閾値と比較することを備える、方法である。
【0060】
本発明の第33の態様は、第32の態様において、前記少なくとも1つの閾値が、少なくとも1つの予め定められた閾値である、方法である。
【0061】
本発明の第34の態様は、第32の態様において、前記少なくとも1つの閾値を概算することをさらに備える、方法である。
【0062】
本発明の第35の態様は、データの第1セットが埋め込まれた、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットからデータの第1セットを抽出するためのデータ抽出方法であって、前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分ごとに、単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測すると共に、実際の速度を求め、前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分の各々について、予測された前記速度と実際の前記速度とを比較し、前記複数の部分についての比較に基づいて、前記データの第2セットの前記複数の部分から選択した選択部分の圧縮及び展開のパターンを生成し、生成した前記パターンを、データの第1セットの値に変換することにより、前記データの第2セットから前記データの第1セットを抽出すること、を備える方法である。
【0063】
本発明の第36の態様は、第35の態様において、前記データの第2セットの各部分について、その部分の予測される速度を求めることが、所定の関数に基づいてデータの第2セットを分析することを備える、方法である。
【0064】
本発明の第37の態様は、第36の態様において、前記所定の関数が一定の速度を予測するための関数である、方法である。
【0065】
本発明の第38の態様は、第36の態様において、前記所定の関数が、周期的に変化する速度を予測するための数である、方法である。
【0066】
本発明の第39の態様は、データの第1セットを、該データの第1セットが埋め込まれているデータの第2セットから抽出するシステムであって、前記データの第2セットが、それに沿って延びる少なくとも1つの次元を有し、複数の部分を有し、該複数の部分が、前記少なくとも1つの次元のうちの少なくとも第1の次元に沿った範囲を有し、前記システムは、前記データの第1セットが埋め込まれているデータの第2セットを、データの第1セットを含まないデータの第2セットの基準コピーと比較する比較回路またはルーチンと、比較に基づいてデータの第1セットを符号化する複数の部分の次元圧縮及び次元展開された部分のパターンを決定する速度生成回路またはルーチンと、前記複数の部分の次元圧縮及び次元展開された部分のパターンをデータの第1セットに変換するウォータマーク復号回路またはルーチンと、を備えるシステムである。
【0067】
本発明の第40の態様は、第39の態様において、前記データの第1セットが埋め込まれているデータの第2セットから代表的なデータの第1セットを生成し、データの第1セットを含まないデータの第2セットから代表的なデータの第2セットを生成し、代表的なデータの第1セットを、代表的なデータの第2セットと比較することによって、比較回路またはルーチンが、前記データの第1セットが埋め込まれているデータの第2セットを、データの第1セットを含まないデータの第2セットの基準コピーと比較する、システムである。
【0068】
本発明の第41の態様は、第40の態様において、前記代表的なデータの第1セット及び第2セットが、第1スペクトログラム及び第2スペクトログラムである、システムである。
【0069】
本発明の第42の態様は、第39の態様において、前記データの第1セットがウォータマークである、システムである。
【0070】
本発明の第43の態様は、第42の態様において、前記ウォータマークが、ソース、作成の時間、作成の場所、識別値、識別名、作成者名、及び所有者名のうちの少なくとも1つを識別する、システムである。
【0071】
本発明の第44の態様は、第39の態様において、前記データの第2セットが、音声データ及びビデオデータのうちの少なくとも1つであり、第1の次元が時間である、システムである。
【0072】
本発明の第45の態様は、第39の態様において、前記データの第2セットが、静止画像データ及びビデオデータのうちの少なくとも1つであり、前記少なくとも1つの次元が、少なくとも第1の空間次元である、システムである。
【0073】
本発明の第46の態様は、第39の態様において、前記データの第2セットが、静止画像データ及びビデオデータのうちの少なくとも1つであり、前記少なくとも1つの次元が、第1の空間次元及び第2の空間次元を備え、前記データの第2セットが、第1の空間次元及び第2の空間次元のそれぞれに沿った成分を有する軸に沿って延びる複数の部分を備え、前記比較回路またはルーチンが、データの第1セットが埋め込まれているデータの第2セットを、前記軸に沿ってデータの第1セットを含まないデータの第2セットの基準コピーと比較する、システムである。
【0074】
本発明の第47の態様は、第39の態様において、前記ウォータマーク復号回路またはルーチンが、パターンの少なくとも一部を少なくとも1つのテンプレートと比較することによって、データの第1セットに、複数の部分の次元圧縮及び次元展開された部分のパターンを変換する、システムである。
【0075】
本発明の第48の態様は、第47の態様において、前記少なくとも1つのテンプレートが、少なくとも1つの予め定められたテンプレートである、システムである。
【0076】
本発明の第49の態様は、第47の態様において、前記少なくとも1つのテンプレートを概算することを備える、システムである。
【0077】
本発明の第50の態様は、第39の態様において、前記ウォータマーク復号回路またはルーチンが、パターンの各部分を少なくとも1つの閾値と比較することによって、前記複数の部分の次元圧縮及び次元拡大された部分のパターンをデータの第1セットに変換する、システムである。
【0078】
本発明の第51の態様は、第50の態様において、前記少なくとも1つの閾値が少なくとも1つの予め定められた閾値である、システムである。
【0079】
本発明の第52の態様は、第50の態様において、前記少なくとも1つの閾値を概算することをさらに備える、システムである。
【0080】
本発明の第53の態様は、データの第1セットが埋め込まれた、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットから、データの第1セットを抽出するためのデータ抽出システムであって、前記データの第1セットが埋め込まれた前記データの第2セットの部分ごとに、単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測すると共に、実際の前記速度を求める速度決定回路またはルーチンと、前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分の各々について、予測された速度と実際の速度とを比較する比較回路またはルーチンと、前記複数の部分についての比較に基づいて、前記データの第2セットの前記複数の部分から選択した選択部分の圧縮及び展開のパターンを生成する速度マップ生成回路またはルーチンと、生成した前記パターンを、データの第1セットの値に変換するウォータマーク復号回路またはルーチンと、 を備えるシステムである。
【0081】
本発明の第54の態様は、第53の態様において、前記データの第2セットの部分ごとに、その部分についての予測される速度を求めることが、所定の関数に基づいてデータの第2セットを分析することを備える、システムである。
【0082】
本発明の第55の態様は、第54の態様において、前記所定の関数が一定の速度を予測するための関数である、システムである。
【0083】
本発明の第56の態様は、第54の態様において、前記所定の関数が、周期的に変化する速度を予測するための数である、システムである。
【0084】
【発明の実施の形態】
本発明の多様な例示的な実施形態が、以下に図を参照て詳細に説明される。
【0085】
本発明によるシステム及び方法の多様で例示的な実施形態は、与えられた次元に沿って延びるデータファイルの部分を、気付かれないほどの量、選択的に次元圧縮または次元展開し、そのデータファイルの中にデータを埋め込むウォータマーク技術を利用する。多様な例示的な実施形態においては、音声信号の基調時間軸または画像の空間的偏位が、気付かれないほどの量、次元圧縮または次元展開される。
【0086】
本発明によるシステム及び方法は、「時間ベースの」、あるいは類推によって「空間ベースの」埋め込み技法及び抽出技法を使用して、ウォータマークされた音声ファイル及び/またはウォータマークされた画像からウォータマーク及びその他のデジタルデータを埋め込まれ、抽出することを目的とする。ここに説明されるように、本発明によるこれらの時間ベースの技法及びこれらの空間ベースの技法が、同じ中心的な概念を表現する代替方法である、つまりウォータマークなどのそのデータが、音声ファイル及び/または画像の要素間の「時間的」または「空間的」な関係性を操作することによって、音声ファイル及び画像にデジタルで符号化することができることを理解されたい。したがって、以下で明らかになるように、本発明によるこれらの時間ベースの技法及び空間ベースの技法は、単に同じ普遍的な概念の異なる態様にすぎない。
【0087】
図1は、本発明の基本的な概念を描く。図1に示されるように、第1の次元xに沿った範囲を有するデータ10の基準セットは、異なる部分11〜15を含む。本発明に従って、これらの部分のいくつか、例えば、図1に示される部分12と13は、第2データセット20を作成するために、相対的に次元圧縮または次元展開される。該第2データセット20は、複数の部分21〜25も含む。各部分21〜25は、それぞれ第1データセット10の部分11〜15に1対1に対応する。
【0088】
図1に示されるように、次元xに沿った部分22の範囲は、データセット10の対応する部分12の範囲を基準にして次元圧縮された。対照的に、次元xに沿った部分24の範囲は、第1データセット10の対応する部分14の範囲を基準にして次元展開された。最後に、次元xに沿った残りの部分21、23及び25の範囲は、それぞれ対応する部分11、13、及び15の範囲を基準にして未変更のままである。したがって、データセット10が基準データセットを定める場合、データセット20は、なんらかの埋め込まれた情報を含むウォータマークされたデータを定める。情報は、対応する部分21〜25の次元xに沿った範囲を基準にして部分11〜15の次元xに沿った元の範囲の相対的な関係性に従って埋め込まれる。
【0089】
記録される音声情報はタイムレスな状態で存在するが、その記録される音声データは流体媒体内の時間変化する圧力波を表す時間変化する電気信号を定める。その結果として、音声データファイル内に記憶されている情報は、時間次元に沿って音声データを表示することによって最もよく表される。それゆえに、音声データについて、図1に示される次元xは、時間次元に対応することがある。このようにして、図1に示される方法で音声データファイルの中にデータを埋め込むためには、原音声データファイルの部分が、ウォータマークされる音声ファイルを作成するために、時間圧縮あるいは時間展開される。言うまでもなく、音声データは、その他の次元に沿って表すことができることを理解されたい。適切な場合、本発明によるシステム及び方法は、このような次元及び表現とともに等しく使用できる。
【0090】
対照的に、静止画像データは、音声データが空間次元を有さないのと同じように、時間次元を有さない。むしろ、静止画像データは、情報の空間的に変化するセットを定める。同様にして、ビデオデータは、時間次元と空間次元の両方を有する。結果的に、静止画像データに対しては、図1に示される次元xが、画像が広がる(延びる)ことのできる空間な1次元、2次元または3次元のうちの1つを定義する。ビデオデータの場合、次元xは、2つまたは3つ以上の空間的な次元または時間次元の内の1つである場合がある。このようにして、静止画像データまたはビデオ画像データについて、データセット10に対応する原データセットの部分は、図1に示されるデータセット20に対応するウォータマークされたデータを作成するために空間的に圧縮され、空間的に展開することができる。
【0091】
言うまでもなく、次元xが、情報伝搬信号が第1レベルの情報を伝達するために変化するであろう任意の次元である場合があり、その結果、その次元で延びるその情報の部分が、第2レベルの情報を含むように選択的に次元圧縮、次元展開されることを理解されたい。
【0092】
上記に概略されたように、図1は、任意の次元xで延びるデータセット10などのデータセットが、ウォータマークされたデータセット20を作成するためにデータセット10の部分を選択的に次元展開し、次元圧縮することによって追加情報を埋め込むためにどのようにして修正できるのかを示す。しかしながら、その埋め込まれた情報を容易に抽出するためになんらかの方法を使用しない場合、図1に描かれている技法は本質的に無用である。したがって、図2は、ウォータマークされたデータセットから埋め込まれた情報を抽出するための技法の1つの例示的な実施形態を示す。特に、図2は、ウォータマークされたデータセット20を、基準、つまり原データセット10と比較することによって、埋め込まれたデータを抽出する方法を示す。特に、図2に示されるプロットは「速度マップ」として定められる。図2に示される速度マップは、次元xに沿ってウォータマークされたデータセット20の対応する位置を基準にする、基準データセット10の各部分の相対的な位置決めを示す。
【0093】
図2に示されるように、基準部分11、13、及び15、ならびにウォータマークされたデータセットの対応する部分21、23、及び25について、これらの部分の各要素の次元xに沿った位置は、同じ相対的な位置の変化を有する。このようにして、次元xに沿ったこれらの部分の相対的な位置をプロットする線の傾きは「1」である。これは、対応する部分13と23に対しても当てはまる。このようにして、部分13と23は、図1に示されるように、互いを基準にして偏位されても、それらは部分13と23の始端から部分13と23の終端まで次元xに沿った位置での同じ相対的な変化を有する。しかしながら、部分13と23の絶対的な位置は次元xに沿って互いを基準にして偏位されるため、これらの部分13と23の速度マップの部分は、1という傾きを有する一方、1という傾斜を有し、原点を通過する線から偏位される。
【0094】
その結果、基準データセット10がX軸に沿ってプロットされ、ウォータマークされたデータセット20が、部分22などの基準データセット10を基準にして次元圧縮されるウォータマークされたデータセット20の部分についてY軸に沿ってプロットされると、時間マップの対応する部分は、1未満の傾きを有する。速度マップの任意のこのような部分の特定の傾きは、次元圧縮の程度に依存するだろう。同様に、部分24などのウォータマークデータセットを基準にして次元展開されるウォータマークされたデータセット20の部分について、速度マップの対応する部分は1より大きい傾きを有する。ここでも、速度マップのこのような対応する部分についての正確な傾きは、時限展開の程度に依存するだろう。
【0095】
言うまでもなく、バイナリ情報、及びアナログ情報も、速度マップの形状及び既知の符号化方式に基づいてウォータマークデータセットから抽出することができる。例えば、簡略なコーディング方式は、1より大きい傾きを有する部分を「1」として定義する一方、1未満の傾きを有する任意の部分を「0」として定義することができる。代わりに、別の方式は、1未満の傾きを有する任意の部分を「−1」として、1より大きい傾きを有する任意の部分を「+1」として、及び1に等しい傾きを有する任意の部分を「0」として定義できるだろう。対照的に、さらに別の方式は、1以外から1への傾きの変化を無視する一方で、1から1未満または1より大きいのどちらかに変化する傾きをそれぞれ「0」または「1」と定義できるだろう。
【0096】
バイナリデータが傾きの変化においてだけではなく、修正された部分の期間においても符号化できることを、さらに理解されたい。さらに、アナログデータを、次元圧縮または次元展開の程度に基づいて埋め込むことができることも理解されたい。結果として、傾きは、2値、3値、またはその他の多値離散値より、むしろ、アナログ値を表すだろう。情報を符号化するために、次元圧縮及び次元展開の多くの異なるパターンが使用できることを理解されたい。このようにして、次元圧縮と次元展開の程度だけではなく、変更される領域の開始場所及び終了場所も、基準データセットを基準にしてウォータマークされたデータセットの中に情報を埋め込むために使用できる。
【0097】
多様な例示的な実施形態において、ある特定のウォータマークされたデータセットについて、ウォータマークされるデータファイル内での次元圧縮の総量と次元限界の総量は同じであり、その結果、ウォータマークされたデータセットのサイズは、基準データセットのサイズと同じサイズである。これは厳密には必要ではないが、それが、ある特定のデータセットがウォータマークされたことと、同じデータセットのさまざまなコピーが異なるウォータマークを有することを識別することをさらに困難にし、特定のウォータマークされたデータセットによって伝搬される特定のウォータマークを特定することをさらに困難にするという点で、これは有利である。
【0098】
本発明者は、約1%から2%という次元圧縮/展開率で満足の行く結果を得ることができることを経験的に突き止めた。次元圧縮/展開率が、このレベルを超えて増加できることを理解されたい。しかしながら、次元圧縮/展開率は、おそらく検出可能なアーティファクト(artifacts)をウォータマークされたデータセットに生じさせるだろう。すなわち、相対的に低い次元圧縮/展開率を使用する1つの優位点は、ウォータマークデータセットの部分の内の多様な部分の結果として生じる圧縮及び/または展開が、人間の感覚器官によって知覚できないという点である。
【0099】
多様な例示的な実施形態においては、約8bps(毎秒8ビット)という符号化速度が、音声データファイルを修正する上で実現可能である。一般的には、符号化速度は、特定の次元xに沿った修正がどの程度好ましくなくなるのかによってだけ制限される。会話などの多くの用途については、最高5%から10%の次元圧縮/展開率が使用可能であり、符号化速度も対応して増加する。
【0100】
多様な例示的な実施形態においては、図2に示される速度マップは、基準データセット10とウォータマークされたデータセット20の間に、瞬間的な最良の整列の位置決めをすることにより作成される。多様な例示的な実施形態においては、この瞬間的な最良の整列は、動的なプログラミングを使用して位置決めされる。特に、多様な例示的な実施形態においては、基準データセットのある部分とウォータマークデータセットのある部分の間の距離は、特定の種類の信号及びデータセットが延びる特定の次元に応じて、任意の数の異なる測定基準を使用して定められる。この距離は、ウォータマークされたデータセット20と基準データセット10の間で最良の整列を見出すための従来の動的なプログラミング技法において使用される。この最良の適合は、ウォータマークされるデータセットを得るために使用される基準データセットのx次元ベースの修正の推定値としての役割を果たす。
【0101】
一般的には、上記に概略したように、直線距離からのあらゆる偏差は、ウォータマークされたデータセット20のその部分の次元展開及び/圧縮によるものである。該偏差は、図2に示される速度マップを作成する際に検出し、使用することができる。一般的には、線形マップからの差が、図2に示されるようにプロットされるとき、次元圧縮される領域は、0と1の間の傾きを有するとして表示されるであろうが、展開された領域は、1より大きい傾きを有する領域として表示されるだろう。上記に概略されたように、「通常の」速度の領域は、1という傾きを有するであろうが、おそらく1という傾きを有する線から偏位(オフセット)され、原点を通って延びるだろう。この偏位は、過去に次元圧縮された領域及び/または過去に次元展開された領域のx次元に沿った累積的な偏位のために生じる。図2では、次元圧縮及び次元展開率は、通常、実践で使用されるであろうよりはるかに大きく示されることも理解されたい。ただし、単位元に大変近い現実的な次元圧縮係数を、この尺度で見ることは困難だろう。
【0102】
多様な例示的な実施形態では、音声データが使用されるとき、基準音声データセット及びウォータマーク音声データセットのスペクトログラムが作られる。多様な例示的な実施形態では、スペクトログラムは、従来の技法を使用して作られる。音声データのスペクトル含有量が、第一次近似では、データ圧縮及びアナログ伝送中で一様であるために、直線波形比較よりむしろスペクトログラムが使用されることを理解されたい。対照的に、音声データの時間ドメイン波形は、データ圧縮及び/またはアナログ変換の後に著しく異なってよい。本発明者によって実行された多様な実験においては、中間周波数成分のユークリッド距離は、音声データを分析するために使用されるスペクトログラムウィンドウの間の差を測定するための測定基準として使用された。
【0103】
ウォータマーク、つまりより一般的には研究に関し上述されたデータ埋め込みのために、ウォータマークされるデータのデータ値は、次元xに沿って明確なまたはかなりの程度まで変化しなければならないことを理解されたい。それ以外の場合、基準データを基準にして圧縮または展開されたウォータマークデータのそれらの部分を特定することにより、図2に示される速度マップを生成することは不可能になる。例えば、音声データの場合、該音声データは、図2に示される速度マップのためのかなりのスペクトル変化を生成可能としなければならない。このようにして、無音または試験音などのスペクトル変化のほとんどない音声は、基準データセットとして使用することはできない。
【0104】
特に、この種の音声データは大きなスペクトル変化を有さないため、音声データの多様な部分の次元圧縮及び次元展開は、データを大幅に変更しないだろう。その結果、基準データを基準にして、ウォータマークされたデータが次元圧縮、または次元展開された場所は特定することができない。ただし、重要な任意のデータセットは、概して重要な次元xに沿ってかなりの変化性を有するであろうため、これは、大部分のドメインでの大部分のデータセットのための主要な要件ではないことを理解されたい。例えば、音楽、話、サウンドトラック音声等の重要な大部分の音声データは、基準データとウォータマークされたデータ間の整列が特定できるように、十分なスペクトル変化を有するだろう。
【0105】
データセットのある特定の部分に十分な可変性があるかどうかを判断し、データ修正が検出可能であるかどうかを判断するために、データセットを分析できることを理解されたい。例えば、音声データセット内でのフレーム間スペクトル差の簡略な測定基準は、その音声データセットのウォータマーク検出可能性の推定値を示すだろう。分析に基づき、音声データセットの低スペクトル差の領域は、ウォータマークプロセスで無視することができる。同様にして、重要な次元xに沿った任意のデータセットの低変化性の領域も同じ方法で無視することができる。動的プログラミングウォータマーク復元または抽出は線形整合に基づいているため、これらの領域は、ウォータマークデータを抽出するプロセスを中断させないだろう。
【0106】
図1と図2は、不特定のデータセットと関心のある不特定の次元xとに関して上述された。上記に示されたように、図1と図2に関して上記に概略された技法は、特定の次元xに沿って十分な可変性を有する任意の種類のデータとともに使用できることを理解されたい。しかしながら、以下の説明は、本発明によるシステム及び方法が特に有効である、2つの重要な種類のデータ、つまり重要な異なる次元、すなわち時間と空間をそれぞれ有する音声データと画像データに焦点を当てる。
【0107】
特に、音声データに関して、本発明のシステム及び方法は、過去のアプローチに優るいくつかの重要な優位点を有する。1つの重要な優位点とは、大部分の音声データにとって、時間次元に沿って音声データを次元圧縮及び次元展開するときに作成される音声データに対する変更は、通常実質的に検出不可能であるという点である。これは、主に、きわめて低い周波数変調に対する人間の聴覚器官の鈍感さのためである。
【0108】
同時に、ウォータマークデータまたはその他のデータを音声データの中に埋め込むために使用される時間圧縮及び拡張は、伝送及びデータ圧縮に対してきわめて耐久性が大きい。これは、現在のデジタル音声技術が、毎時約数マイクロ秒の時間精度を有するために発生する。人間によって作り出される会話または音楽などの大部分の音声データは、本発明によるデータ埋め込みシステムすなわちウォータマークシステムによって生じる人工的な速度変化が、通常、容易に検出不可能であるような十分に自然な変動を有する。
【0109】
さらに、アナログ記録再生装置内での固有な速度変化などの意図されていない速度変化は、概して埋め込まれたデータと干渉しないだろう。例えば、不正確なプレイバック速度によって引き起こされる直線速度変化は、通常、埋め込まれたデータに変化をもたらさないだろう。さらに、ワウ(wow)とフラッタ(flutter)などのアナログ記録欠陥は、本発明に従ってデータを埋め込むために使用される速度変化より大幅に短い時間スケールで発生する。したがって、これらのアナログ記録欠陥は、一般に平均化され、埋め込まれたデータに影響を及ぼさない。
【0110】
しかしながら、リスナー(聴取者)が、コンピュータシーケンサまたはその他の機械的な装置によって生成される厳密にリズミカルな音楽について、これらのデータ埋め込みシステム及び方法により引き起こされる人工的な速度変化を認識する可能性があることを理解されたい。この場合、ビート間の間隔の細かな分析が速度修正を明らかにする可能性がある。ただし、このような速度修正は、概して依然として平均的なリスナーにとっては気付かれないままであるだろう。
【0111】
埋め込まれたデータが、音声領域の時間スケールを故意に変更することによって部分的にわかりにくくされたり、劣化されることがあることも理解されたい。ウォータマークは、過去に埋め込まれた速度ベースのウォータマークの上に、別の速度ベースのウォータマークを重ね合わせることによってもおそらく分かりにくくされるか、劣化されることがある。しかしながら、これは、言うまでもなく、第2速度ベースのウォータマークがたまたま第1速度ベースのウォータマークの正確に逆でない限り、過去のウォータマークを削除しないだろう。それは、言うまでもなく、原未修正音声データセットへのアクセスを必要とする。
【0112】
音声データの中に埋め込まれるデータがデジタル署名であるときには、このこのような変更は、ウォータマークとデジタル署名の両方を無効にするだろう。このようにして、この変更は容易に検出できるだろう。存在する場合には、いくつかのそれ以外のウォータマーク方式が、複数のウォータマークの応用例の下で耐久性が大きいことを理解されたい。
【0113】
この同じ時間ベースの展開および時間ベースの圧縮ウォータマーク、つまりさらに一般的には、データ埋め込みの技法は、アナログビデオデータとデジタルビデオデータなどの、それ以外の種類の時間変化するデータとともに使用できることも理解されたい。ビデオデータについては、音声データのように、データは、ビデオデータの部分を選択的に時間圧縮、及び時間展開することによってビデオ信号の中に埋め込まれるだろう。
【0114】
同様に、これらの技法は、静止、つまり時間不変な画像データに適用することもできる。この場合、このような静止画像内で時間ベース圧縮および展開を使用するよりむしろ、データは、空間ベースの圧縮及び展開を使用することにより埋め込まれる。すなわち、画像の領域は、人間の視覚器官にとって見えないほどである量、選択的に空間圧縮及び空間展開される。例えば、周知のデジタル再サンプリング技法は、画像の選択された部分を、少量、引き伸ばし、あるいは圧縮することができる。代わりに、画像の選択された領域を選択的に展開または圧縮するために、機械的なまたは光学的な技法を使用することができる。このような機械的または光学的な技法は、ドラムまたはプラテンスキャナの速度を変化すること、用紙または印字ヘッド速度をプリンタ内で変化すること、またはドラムに関してコピー機内の円筒形の対物レンズの速度を変化させることを含む。
【0115】
時間変化するデータとは異なり、空間的に変化するデータは、多くの場合二次元または三次元でも変化することがさらに理解されなければならない。このようにして、2つまたは3つの軸に沿って画像データを選択的に圧縮、展開することができる。
【0116】
上記に示されたように、本発明によるシステム及び方法は、音声データの中にデータを埋め込むために特に有効である。音声信号のピッチのスケーリングのための時間スケール修正(TSM)技法は、周知であり、一般的に使用されている。これらの技法は、それ以外の場合、単位速度を変更することだけで生じるであろう好ましくないピッチ修正を生じさせずに音声記録の長さを変更するために等しく使用することができる。ピッチのスケーリングは、多くの場合、さらに高速で音声記録をプレイバックするときに適用される。これは多くの場合、より短時間で音声記録を視聴するために適用される。次元圧縮及び展開が気付かれないほどでなければならないのであれば、単純な補間または再スケーリングがこのシステム及び方法とともに使用されてはならないことを理解されたい。すなわち、小さな率の場合にも、このような単純な補間は明らかなピッチの変更を引き起こす。
【0117】
一般的なTSM時間スケーリング技法は、短時間フーリエ変換に基づいている。しかしながら、位相ボコーダー法、時間ドメイン調和スケーリング法、及びピッチ同期重複追加(PSOLA)法などのそれ以外の方法も幅広く使用されている。上記に概略されたものを含む任意の既知の時間スケーリング法あるいは後に開発される時間スケーリング法は、音声データセットの部分を圧縮、展開し、その音声データセットの中にデータを埋め込む、つまりウォータマークすることができる。一般的に、最も有効な方法とは、ほとんど可聴アーティファクトも生じさせない一方で、1に非常に近い率で圧縮または展開できる方法であることを理解されたい。
【0118】
図3は、ウォータマークデータを本発明に従って原データのセットの中に埋め込むための方法の1つの例示的な実施形態を概略するフローチャートである。図3に示されるように、方法の動作はステップS100で開始し、原データセットが入力されるステップS110へ続く。次に、ステップS120では、原データの中に埋め込まれるデータのセット、つまり、ウォータマークデータが入力される。次に、ステップS130では、速度マップf(q)が、埋め込まれるデータに基づいて生成される。それから、動作は、ステップS140へ続く。
【0119】
ステップS140では、ステップS110で入力される原データの部分が、ステップS120で入力される、埋め込み対象のデータが埋め込まれたウォータマークされたデータを生成するための速度マップf(q)に基づいて、選択的に次元圧縮及び次元展開される。次に、S150では、ウォータマークされたデータが出力される。それから、ステップS160で、この方法の動作が終了する。
【0120】
ステップS150では、ウォータマークされたデータを様々な方法で出力することができることを理解されたい。例えば、ウォータマークされたデータが音声データである場合、ウォータマークされたデータはデジタル音声テープまたは標準アナログカセットテープの上に記憶することができる。代わりに、音声ファイルは、それがすでにデジタル形式となっているわけでない場合にはデジタル化し、コンパクトディスク、CD−ROM、DVD、または任意のそれ以外の揮発性または不揮発性のデジタルメモリデバイスに記憶することができる。さらに、ウォータマークされたデータファイルは、既知のまたは後に開発される、音声データファイルに適切なデータ圧縮技法を使用してデータ圧縮し、上述されたメモリデバイスの1つに記憶することができる。データが圧縮されているかどうかに関係なく、ウォータマークされた音声データは、インターネット、ローカルエリアネットワーク、広域ネットワーク、記憶領域ネットワーク、イントラネット、エクストラネット、公衆加入電話網、及び/またはケーブルテレビ網などの任意の既知の、あるいは後のプレイバックデバイスまたは分散ネットワークでの記憶及び/またはプレイバックのために、遠隔して位置するコンピュータまたは記憶装置に伝送できることも理解されたい。
【0121】
図4は、本発明に従ってウォータマークされたデータファイルから埋め込まれたデータを抽出するための方法の1つの例示的な実施形態を概略するフローチャートである。図4に示されるように、この方法の動作はS200で開始し、ウォータマークされたデータファイルが入力されるステップS210へ続く。それから、S220では、ウォータマークされたデータファイルに対応する原データファイルが入力される。次に、ステップS230では、整列データが、ウォータマークされたデータファイル、及びウォータマークされたデータファイルと原データファイル間の整列を判断するために使用できる原データファイルから生成される。それから、動作はステップS240へ続く。
【0122】
ステップS240では、ウォータマークされたデータファイルからの整列データが、原データファイルからの整列データと整列される。次に、ステップS250では、ウォータマークされたデータのための整列データと原データのための整列データの間で決定された整列に基づいて、速度マップが生成される。それから、ステップS260では、速度マップは、ウォータマークされたデータの中に埋め込まれた、埋め込み済みのデータを得るために変換または復号される。それから、動作はステップS270へ続く。
【0123】
ステップS270では、埋め込まれたデータが、1つ以上のデータ受信側に出力される。それから、ステップS280で、この方法の動作は終了する。
【0124】
ステップ230が、埋め込まれたデータが埋め込まれている特定の種類のデータに応じて、必要とされない場合があることを理解されたい。例えば、空間的に圧縮及び/または空間的に展開された画像データは、ステップS250で速度マップを作成するために、ステップS240で直接整列することができる。このようにして、この場合、ステップS230は省略され、ステップS240が、ウォータマークされたデータと原データのそれぞれから生成される整列データを整列するよりむしろ、ウォータマークされたデータを原データと直接的に整列するだろう。
【0125】
対照的に、音声データについて上記に概略されたように、ステップS230は整列データとしてスペクトログラムデータを生成するために実行されるだろう。それから、ステップS240では、スペクトログラムデータが、ステップS250で速度マップを生成するために整列されるだろう。
【0126】
ステップS270では、ウォータマークされたデータから抽出された、埋め込まれたデータが、それを表示、または印刷することにより出力できることも理解されたい。埋め込まれたデータは、抽出されたデータを記憶することによって、あるいは表示、記憶または追加の伝送のために別個のサイトに抽出されたデータを伝送するために、図3に関して上述されたような、分散ネットワーク上で抽出されたデータを伝送することによっても出力することができる。
【0127】
図5は、本発明によるウォータマーク埋め込みシステム100の1つの例示的な実施形態を示す。図5に示されるように、ウォータマーク埋め込みシステム100は、それぞれが1本以上のデータバス/制御バスまたはアプリケーションプログラミングインタフェース160によって相互接続されている、入出力インタフェース110、制御装置120、メモリ130、速度マップ生成回路またはルーチン140、及びウォータマークデータ生成回路またはルーチン150を含む。さらに図5に示されるように、1台以上のユーザ入力装置170が、入出力インタフェース110に1つ以上のリンク172上で接続される。さらに、データソース300は、リンク410上でデータ受信側400が接続されるように、リンク310上で入出力インタフェース110に接続される。
【0128】
リンク172、310及び410のそれぞれが、1台以上のユーザ入力装置170、データソース300、及びデータ受信側400を、それぞれ、直接ケーブル接続、広域ネットワーク上での接続、ローカルエリアネットワークまたは記憶領域ネットワーク、イントラネット上での接続、インターネット上での接続、または任意のそれ以外の分散処理ネットワークまたはシステム上での接続を含む、ウォータマーク埋め込みシステム100に接続するための任意の既知の、または後に開発されるデバイスまたはシステムを使用して実現できる。一般的には、リンク172、310及び410のそれぞれが、それぞれ1台以上のユーザ入力装置170、データソース300、及びデータシンク400をウォータマーク埋め込みシステム100に接続するために有効な、任意の既知のまたは後に開発される接続システムまたは構造である場合がある。
【0129】
入出力インタフェース110は、データソース及び/または1台以上のユーザ入力装置170からデータを入力し、データ受信側400にデータを出力する。入出力インタフェース110は、制御装置120、メモリ130、及び/または速度マップ生成回路またはルーチン140にデータも出力し、制御装置120、メモリ130、及び/またはウォータマークデータ生成回路またはルーチン150の1台以上からデータを受信する。
【0130】
メモリ130は、原データ部132、埋め込み済みデータ部134、速度マップ部136、及びウォータマーク済みデータ部138の1つ以上を含む。原データ部132は、埋め込み済みデータ部134内に記憶される、埋め込まれたデータが、ウォータマークされたデータを形成するために埋め込まれるであろう原データを記憶する。埋め込み済みデータ部134は、原データに埋め込まれる、埋め込みデータを記憶する。速度マップ部136は、速度マップ生成回路またはルーチン140によって生成される速度マップを記憶する。ウォータマーク済みデータ部138は、ウォータマークデータ生成回路またはルーチン150によって生成されるウォータマークされたデータを記憶する。メモリは、ウォータマーク埋め込みシステム100を動作するために、制御装置120によって使用される1つ以上の制御ルーチンも記憶できる。
【0131】
メモリ130は、変更可能な揮発性または不揮発性のメモリ、または変更不可の、つまり固定されたメモリの任意の適切な組み合わせを使用して実現できる。変更可能なメモリは、揮発性であるのか、あるいは不揮発性であるのかに関係なく、静的または動的なRAM、フロッピー(R)ディスクとディスクドライブ、書き込み可能または再書き込み可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等の任意の1つ以上を使用して実現できる。同様に、変更不可の、つまり固定されたメモリは、CD−ROM、またはDVD−ROMディスクなどのROM、PROM、EPROM、EEPROM、光ROMディスク及びディスクドライブ等の任意の1つ以上を使用して実現できる。
【0132】
図5に図示されている回路またはルーチンのそれぞれが、適切にプログラミングされた汎用コンピュータの部分として実現できることを理解されたい。代わりに、図5に示される回路またはルーチンのそれぞれは、ASIC内の物理的に別個のハードウェア回路として、あるいはFPGA、PDL、PLAまたはPAL、デジタル信号プロセッサを使用して、あるいは離散論理素子または離散回路素子を使用して実現することができる。図5に示される回路またはルーチンのそれぞれが取るであろう特定の形式は、設計の選択肢であり、当業者に明らかで、予測可能である。
【0133】
動作中、データソース300は、リンク310上で、原データのセット及び/または埋め込まれたデータのセットの1つまたは両方を入力出力インタフェース110に出力する。同様に、ユーザ入力装置170は、リンク172上で、所望される場合、原データ及び/または埋め込まれたデータの1つ以上を入力出力インタフェース110に入力するために使用できる。どのデータが入力されるのかに応じて、入力出力インタフェース110は、原データ部132内で原データの受信されたセット、及び/または埋め込み済みデータ部134での埋め込まれたデータを記憶するだろう。しかしながら、データのこれらのセットのどちらかまたは両方が、ある程度の初期に、ウォータマーク埋め込みシステム110に過去に入力されたものであろうことを理解されたい。
【0134】
それから、速度マップ生成回路またはルーチン140は、制御装置120の制御下で、埋め込み済みデータ部から埋め込まれるデータを入力し、原データの部分を次元圧縮及び/または次元展開し、埋め込まれるデータを原データの中に埋め込むために使用できる速度マップを生成する。速度マップ生成回路またはルーチン140は、埋め込まれるデータを、ウォータマークされたデータに原データを修正するために有効である速度マップに変換するために、本出願に開示されているものを含むが、それらに制限されない、任意の既知のまたは後に開発される符号化方式を使用できることを理解されたい。それから、速度マップ生成回路またはルーチン140は、制御装置120の制御下で、生成された速度マップを、メモリ130の速度マップ部136に、あるいはウォータマークデータ生成回路またはルーチン150に直接的に出力する。
【0135】
ウォータマークデータ生成回路またはルーチン150は、制御装置120の制御下で、速度マップ部136から、または速度マップ生成回路またはルーチン140から直接的に速度マップを入力する。ウォータマーク済みのデータ生成回路またはルーチン150は、制御装置120の制御下で、原データ部132に記憶される原データも入力する。それから、ウォータマークデータ生成回路またはルーチン150は、埋め込まれるデータを原データに埋め込み、ウォータマーク済みのデータを形成するために、速度マップに基づいて定められた次元に沿って原データを選択的に次元圧縮し、及び/または次元展開することによって、原データを修正する。それから、ウォータマークデータ生成回路またはルーチン150は、ウォータマークされたデータを出力し、制御装置120の制御下で、ウォータマーク済みデータ部138の中にそれを記憶するか、あるいは入力/出力インタフェース110に直接的にそれを提供するかのどちらかである。
【0136】
ウォータマークされたデータがウォータマークデータ生成回路またはルーチン150によって生成された後、ウォータマークされたデータは、メモリ130のウォータマーク済みデータ部138に無期限に記憶することができる。ウォータマークされたデータがウォータマーク埋め込みシステム100の外で必要とされるときなどには、入力/出力インタフェース110が、制御装置120の制御下で、ウォータマークデータ生成回路またはルーチン150またはウォータマーク済みデータ部138から直接的にウォータマークされたデータを入力し、リンク410上でデータ受信側400にウォータマークされたデータを出力する。
【0137】
図6は、本発明によるウォータマーク抽出システム200の1つの例示的な実施形態を示す。図6に示されるように、ウォータマーク抽出システム200は、それぞれが、1本以上のデータバス/制御バス、あるいはアプリケーションインタフェース280によって相互接続されている、入力/出力インタフェース210、制御装置220、メモリ230、分析データ生成回路またはルーチン240、整列回路またはルーチン250、速度マップ生成回路またはルーチン260、及び埋め込み済みデータ復号回路またはルーチン270を含む。
【0138】
図6に示されるように、入力/出力インタフェース210は、リンク312上でデータソース300に、リンク412上でデータ受信側400に、及び1つ以上のリンク292上で1つ以上のユーザ入力装置290に接続される。上述されたように、データソース300及びデータ受信側400のそれぞれが、図5に関して上記に概略された形式のどれかを取ることができる。
【0139】
リンク192、312、及び412のそれぞれは、1台以上のユーザ入力装置190、データソース300、及びデータ受信側400を、それぞれ、直接ケーブル接続、広域ネットワーク上の接続、ローカルエリアネットワークまたは記憶領域ネットワーク、イントラネット上の接続、インターネット上の接続、またはそのどれかが1つ以上の無線部分を含むであろう任意のそれ以外の分散処理ネットワークまたはシステムの上での接続を含む、ウォータマーク抽出システム200に接続するための任意の既知の、または後に開発されるデバイスまたはシステムを使用して実現することができる。一般的には、リンク192、312、及び412のそれぞれは、1台以上のユーザ入力装置190、データソース300、及びデータ受信側400を、それぞれ、ウォータマーク抽出システム200に接続するために有効な任意の既知のまたは後に開発される接続システムまたは構造である場合がある。
【0140】
メモリ230は、ウォータマーク済みデータ部232、原データ部234、分析データ部236、速度マップ部238及び埋め込み済みデータ部239を含む。メモリ230は、ウォータマーク抽出システム200を制御するために制御装置220によって使用できる1つ以上の制御プログラムまたはルーチンを記憶することもできる。ウォータマーク済みデータ部232は、埋め込まれたデータを含むウォータマークされたデータを記憶する。原データ部234は、ウォータマーク済みデータ部232に記憶されるウォータマークされたデータを生成するために使用される原データのコピーを記憶する。分析データ部236は、必要とされる場合、分析データ生成回路またはルーチン240によって生成される分析データを記憶する。速度マップ部238は、速度マップ生成回路またはルーチン260によって生成される速度マップを記憶する。埋め込まれたデータ239は、速度マップ部238に記憶される速度マップから、埋め込み済みデータ復号回路またはルーチン270によって復号された埋め込み済みデータを記憶する。
【0141】
メモリ230は、変更可能な揮発性または不揮発性メモリまたは変更不可の、つまり固定されたメモリの任意の適切な組み合わせを使用して実現できる。変更可能なメモリは、揮発性であるのか、不揮発性であるのかに関係なく、静的または動的なRAM、フロッピー(R)ディスクとディスクドライブ、書き込み可能または再書き込み可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等の1つ以上を使用して実現できる。同様に、変更不可または固定されたメモリは、ROM、PROM、EPROM、EEPROM、CD−ROMまたはDVD−ROMディスクなどの光ROMディスク、及びディスクドライブ等の任意の1つ以上を使用して実現できる。
【0142】
図6に示されている回路またはルーチンのそれぞれが、適切にプログラミングされた汎用コンピュータの部分として実現できることを理解されたい。代わりに、図6に示される回路またはルーチンのそれぞれは、ASIC内の物理的に別個のハードウェア回路として、またはFPGA、PDL、PLA、またはPAL、デジタル信号プロセッサを使用して、あるいは離散論理素子または離散回路素子を使用して実現することができる。図6に示されている回路またはルーチンのそれぞれが取るであろう特定の形態は、設計の選択肢であり、当業者に明らかで、予測可能となるだろう。
【0143】
データソース300は、ウォータマーク済みデータ部232に記憶されるウォータマークされたデータ及び/または原データ部234に記憶される原データを、ウォータマーク抽出システム200に出力するために使用できる。同様に、該1つ以上のユーザ入力装置290は、ウォータマークされたデータ及び原データのどちらかあるいは両方を、ウォータマーク抽出システム200に入力するために使用できる。データ受信側400は、入力/出力インタフェース210から、ウォータマーク抽出システム200によって抽出される、埋め込まれたデータを入力することができる。動作中、ウォータマーク抽出システム200がウォータマークされたデータと原データの両方をすでに含んではいない場合、ウォータマーク抽出システム200は、データソース300及び/または1つ以上のユーザ入力装置290の1つまたは両方から見失われたデータまたはデータセットを得る。そのデータがデータソース300及び/または1つ以上のユーザ入力装置290から得られる場合に、そのデータは、入力出力インタフェース210を通して入力され、ウォータマーク済みデータ部232及び原データ部234の適切な1つに記憶される。
【0144】
次に、制御装置220の制御下では、ウォータマーク済みデータ部232に記憶されるウォータマークされたデータ、及び原データ部234に記憶される原データのそれぞれが、分析データ生成回路またはルーチン240に出力される。分析データ生成回路またはルーチン240は、ウォータマークされたデータと原データのそれぞれに分析データのセットを生成する。それから、分析データ生成回路またはルーチン240は、制御装置220の制御下で、分析データを分析データ部236の中に記憶するか、あるいはそれを整列回路またはルーチン250に直接的に提供するかのどちらかである。
【0145】
整列回路またはルーチン250は、制御装置220の制御下で、分析データ生成回路またはルーチン240あるいはメモリ230のどちらかからウォータマークされたデータ及び原データのそれぞれについての分析データを入力する。整列回路またはルーチン250は、ウォータマークされたデータと原データの間の最良の整列を決定し、この整列情報を、制御装置220の制御下で速度マップ生成回路またはルーチン260に出力する。整列回路またはルーチン250によって提供される整列情報に基づいた速度マップ生成回路またはルーチン260が、ウォータマークされたデータのどの部分が、対応する原データを基準にして圧縮または展開されたのかを示す速度マップを生成する。速度マップ生成回路またはルーチン260は、制御装置220の制御下で、速度マップを速度マップ部238の中に記憶するか、あるいはそれを埋め込み済みデータ復号回路またはルーチン270に直接的に提供するかのどちらかである。
【0146】
埋め込み済みデータ復号回路またはルーチン270は、制御装置220の制御下で、速度マップ部238から、あるいは速度マップ生成回路またはルーチン260から直接的に速度マップを入力する。埋め込まれたデータ復号回路またはルーチン270は、埋め込まれたデータから速度マップを生成し、埋め込まれたデータを速度マップから得るために使用される元の符号化方式に基づいて速度マップを復号する。それから、埋め込み済みデータ符号化回路またはルーチン270は、データ受信側400への伝送のために制御装置220の制御下で、復号された埋め込み済みデータを入力/出力インタフェース210に直接的に提供するか、あるいは埋め込み済みデータ部239にそれを記憶する。
【0147】
図4のステップS230とS240に関して上記に概略されたように、画像データなどのある特定の種類のデータについて、分析データを生成することが必要ではない場合、分析データ生成回路またはルーチン240及びメモリ230の対応する分析データ部236が、それぞれ省略できる。この場合、整列回路またはルーチン250は、速度マップを生成するために速度マップ生成回路またはルーチン260によって使用される整列情報を生成するために、ウォータマークされたデータ及び原データで直接的に動作するだろう。対照的に、ウォータマークされたデータが音声データであるとき、分析データ生成回路またはルーチン240は、ウォータマークされたデータと原データのそれぞれにスペクトログラムを生成する。それから、整列回路またはルーチン250は、速度マップ生成回路またはルーチン260によって使用される整列情報を生成するためにスペクトログラムを整列する。
【0148】
上記に概略されたように、データは、音声データファイルの一定の時間間隔を小さな係数で圧縮する及び/または展開することによって音声データファイル内に埋め込まれる。上記に概略されたように、この小さな係数はおよそ1%程度である。多様な例示的な実施形態において、音声アーティファクトを最小限に抑えるために、修正された間隔が、未修正の間隔に重複するように配列されることを理解されたい。この場合、重複領域はクロスフェードされるか、あるいはそれ以外の場合、圧縮済みのまたは展開済みの間隔と未修正間隔の間での円滑な遷移を提供するために補間される。上記に概略されたように、修正された間隔の圧縮及び/または展開の長さ、場所、及び/または程度が、データを音声データファイルの中に符号化する。特に、図3で上記に概略された方法及び図5に関して上記に概略されたウォータマーク埋め込みシステムは、以下のようにウォータマーク音声信号Xw(t)を生成し、
【0149】
【数1】
Figure 0004186531
ここで、xkは、原時間変化音声信号のk番目のブロックまたは部分である。
kは、原時間変化音声信号のk番目のブロックまたは部分の速度マップ値である。
TSMは、Tkに基づいたk番目のブロックまたは部分を時間圧縮する、あるいは時間展開するために使用できる時間スケール修正関数である。
Cは連結演算である。
【0150】
上記に概略されたように、この速度マップTkは、ウォータマークを符号化する。速度マップTkは、ウォータマークされた音声信号xw(t)を元の変更されていない時間変化音声信号x(t)と比較することによって復元される。
【0151】
実際問題として、ブロック境界での可聴の不連続を生じさせるのを回避するために注意が必要とされることがある。これは、ブロック境界でのまたはブロック境界近くのデータを未変更のままとする時間スケール修正アルゴリズムを使用するか、あるいはセグメントをわずかに重複させ、ウォータマークされた信号の構築中に重複する領域内でデータを平均化することによって達成されよう。
【0152】
音声データに関して上記に概略されたように、多様な例示的な実施形態では、速度マップTkは、原時間変化音声信号x(t)を、ウォータマークされた音声信号xw(t)にもたらす最良の時間歪み関数を見出すことによって復元される。線形成分を差し引くと、ウォータマーク情報、すなわち速度マップTkが生じる。この速度マップTkの作成中、時間はx軸に沿ってプロットされ、時間の任意の値での速度マップTkの値はy軸にプロットされることが理解される。これは、例えば図7に示される。この場合、速度マップTkは、圧縮された領域では正の傾きを、展開された領域では負の傾きを有し、未修正の領域では0という傾きを有する。しかしながら、図2に関して上記に概略されたように、未修正の領域は、先行する圧縮または展開によって、中立な値から偏位されてよい。
【0153】
対照的に、図2に示されるように、速度マップTkが1より大きいまたは1未満の傾きとともに変化し、傾き1で原点を通過する線の回りで変化するように、速度マップをプロットすることも可能である。
【0154】
上記に概略されたように、速度マップTk、及びしたがって埋め込まれたデータを復元するために、ウォータマークされた音声データファイルは、原時間変化音声データファイルx(t)と直接的にまたは間接的に比較される。多様な時間変化音声信号x(t)は、短時間フーリエ変換を使用して処理される。しかしながら、それ以外のパラメータによる表示は、線形予測または音響心理学的な考慮に基づいたものを含むことを理解されたい。以下の例では、標準周波数分析が使用されることを理解されたい。
【0155】
以下の例では、ウィンドウ、またはフレームは、128個のサンプル幅である。22.05Hzでサンプリングされる音声データ信号について、これは、5.8msのフレーム幅、及び毎秒172フレームというフレーム速度を生じさせる。しかしながら、可変ウィンドウ幅及び可変ウィンドウ重複部も使用できることを理解されたい。
【0156】
各分析フレームは、256点ハミング(Hamming)ウィンドウでウィンドウ生成される。それから、高速フーリエ変換が、ウィンドウ内のスペクトル成分を概算するために使用される。結果の振幅の対数は、ウィンドウ生成されたフレームの電力スペクトルの推定値として使用される。スペクトル成分の結果として生じるベクトルは、対応するウィンドウのスペクトルコンテンツを特徴付ける。
【0157】
この標準音声処理技法がスペクトログラムと呼ばれる。スペクトルベクトルのシーケンスは、経時的な信号周波数コンテンツを表す。いくつかの周波数成分は、それらの周波数成分が類似性、したがって整列を決定するために有効ではない場合には、オプションで廃棄されてよいことを理解されたい。例えば、多くの場合、大きな電力を有さないきわめて低いバンドまたはきわめて高いバンドが、オプションで廃棄されてよい。
【0158】
一般的には、音声データは基準なし(reference−less)であることを理解されたい。すなわち、音声データは、ウォータマークされた音声信号xw(t)を原時間変化音声信号x(t)に直接的に整列するために使用できる直接的に認識できる内部基準を多くの場合欠いている。音声データでは、波形の絶対値が、多くの場合、損失のあるデータ圧縮中、及び/またはアナログ伝送中に変更される。このようにして、これらの信号を直接的に整列することは、不可能でなくても困難である。さらに、音声データを直接的に整列するには、例えば、毎秒40Kサンプルなどの高サンプリング速度が、音声信号の高い変化速度のために使用されなければならない。
【0159】
その結果、多様な例示的な実施形態では、原時間変化音声信号x(t)をウォータマークされた音声信号xw(t)に変換する最良の時間歪み関数を見つけ出すために、原時間変化音声信号x(t)用の、及びウォータマークされた音声信号xw(t)用のスペクトログラムが決定され、比較される。スペクトログラムは、通常、損失のあるデータ圧縮及びアナログ伝送によって影響を及ぼされない。さらに、例えば、毎秒あたり数百スペクトル係数などの毎秒あたりのスペクトル係数の相対的に低い数が、スペクトログラムを整列するために比較される必要がある。原時間変化音声信号x(t)が歪まされる前に予測されるであろう、スペクトログラムが整列しない場合、原時間変化音声信号x(t)は、スペクトログラムが整列するまで制御自在に歪まされる。
【0160】
多様な例示的な実施形態において、原時間変化音声信号x(t)が、動的プログラミングを使用して歪まされることを理解されたい。動的プログラミングは、それぞれ全体として参照してここに組み込まれている、例えば、D.Sankoffら編集、1999年CSLI出版の「時間の歪み、文字列編集、及び高分子:文字列比較の理論と実践」(Time Warps, String Edits, an Macromolecules: The Theory and Practice of String Comparison)のJ.Kruskalらの「シーケンス比較のためのアルゴリズム及び概念のアンソロジー(An anthology of Algorithms and Concepts for Sequence Comparison)」及び米国特許第4,384,273号で文書により十分に立証されていることを理解されたい。動的プログラミングの詳細はここでは説明されない。ただし、動的プログラミングによって二次時間で最適な整列経路が見出されることが立証できることを理解されたい。
【0161】
動的プログラミング技法が、速度マップTkを復元するのに特によく適しており、本発明によるシステム及び方法の多様な例示的な実施形態で容易に使用できることを理解されたい。例えば、動的プログラミング技法は、原時間変化音声信号x(t)及びウォータマークされた音声信号x(t)が正確に同時に開始し、終了しないときの状況を良好に処理する。従って、例えば、ウォータマークされた音声信号xw(t)が連続的な一斉送信から抽出されると、ウォータマークされた音声信号xw(t)として抽出される連続的な一斉送信の開始点と終了点を正確に特定することは必要ではないだろう。同様に、動的プログラミング技法は、複数のフレームスペクトルが正確に一致しない状況も良好に処理する。特に、動的プログラミング技法は、複数のフレームスペクトルがその隣接するものに対するよりも、互いがより類似している限り、速度マップTkをうまく特定する。結果的に、動的プログラミング技法を使用するとき、本発明のシステム及び方法は、妥当なスペクトル歪みに対して耐久性が大きい。
【0162】
上記に概略されたように、ウォータマークされた音声信号xw(t)の圧縮部分または展開部分と原時間変化音声信号x(t)の対応する部分の間の予想変位は、一般的にはきわめて小さいことも理解されたい。その結果、図2に示されるように、最良の時間歪み関数は、対角線から大幅には逸脱しない。この場合、動的プログラミング技法を、対角線の非常に近くにあるそれらの時間歪み関数だけを求めることによって実質的に線形の時間内で動作させることができる。同様に、例えば、サンプリング速度変換または不正確なアナログ再生速度によって引き起こされる全体的な時間修正は、動的プログラミング技法によって良好に処理されるだろう。この場合、速度マップTkは、正方形よりむしろ2つの信号のクロス積によって形成される矩形の対角線を差し引くことによって復元することができる。
【0163】
すなわち、同じ長さの2つの信号を比較するとき、クロス積は正方形である。すなわち、正方形の一方の軸の1つの信号及び他方は、図2でのように他方の上にプロットされる。各信号が同じ長さである場合、結果は正方形となるだろう。一方の信号が他方より長い場合には、結果は矩形である。速度の偏差のない「線形一致」は、例えば、図2の対角点線などのその矩形の対角線に沿うだろう。
【0164】
速度関数f(t)の全体的なデータ転送速度が、速度マップTkとウォータマークされた音声信号xw(t)の劣化の間のトレードオフであることを理解されたい。これは、圧縮または展開間隔のための最小長さを1ブロックであると考えることによって説明することができる。説明をさらに容易にするために、すべてのブロックの長さは、同じ値に設定することができる。多様な例示的な実施形態では、各ブロックは、1±εという係数で圧縮または展開することができる。εが十分に小さい場合には、圧縮及び展開はεの整数倍数に離散化することができる。すなわち、各ブロックは、1±nεという係数で圧縮または展開することができ、nは小さい整数である。ブロックを非圧縮、つまりn=0のままにすることもできることも理解されたい。
【0165】
可聴アーティファクトを低減するために、nの大きさがなんらかの小さな値n未満に制限されることが、厳密に必要ではないが、得策である。同じ理由からnの値の変化は、隣接するブロック間で小さくなくてはならない。ファイルの時間長を保存するために、多様な実施形態においては、nが信号内の全ブロック全体で総計して0になることも得策である。ただし、これは厳密に必要ではない。圧縮の総量が展開の総量に正確に等しくなるときに、nが総計して0になることを理解されたい。また、nが負の値をとることが許されていることも理解されたい。このようにして、あらゆるブロックbは、以下のようになるよう関連付けられた符号値nbを有するだろう。
【0166】
−N≦nb≦N
B個のブロックを有するウォータマークされた音声信号xw(t)の場合、埋め込まれたデータは、従って、シーケンスn0、n1、…nBを備える。このシーケンスは、速度マップTkの導関数を量子化することによって復元された速度マップTkから得られることを理解されたい。
【0167】
本発明者は、ブロック長に約0.5s、εの値に約0.01(1%)、及びNの値に2を使用することによって、データを音声データ信号に妥当に埋め込むことができることを確認した。これらの値を使用すると、毎秒の音声データ信号が約2log2(2N+1)ビットを符号化することができる。これは、毎秒8ビットよりわずかに多い。これが例外的に大きなデータ転送速度ではないことを理解されたい。ただし、典型的な流行歌の長さが少なくとも約180秒であることを考慮すると、約180バイトをその典型的な流行歌に符号化することは可能である。特に、180バイトは、通常、歌のタイトル、アーチスト、出版社、及び識別番号(ID番号)をその典型的な流行歌の音声データに符号化するのに十分なデータより多い。さらに、単一のウォータマークとして使用されるとき、埋め込まれるデータの180バイトは、10400の個々の識別値より多くを生じさせるだろう。これは、通常、例えば、ソース識別子、デバイス識別子及びタイムスタンプの任意の考えられる組み合わせに十分な値より多いだろう。
【0168】
図7は、2つの例示的な速度マップf1とf2を示す。図7に示されるように、時間はx軸に沿ってプロットされるが、これらの速度マップに従って修正されウォータマークされた音声データ信号xw(t)と原時間変化音声信号x(t)の間のフレーム偏位、つまり正味の偏位は、x軸に沿ってプロットされる。これらの速度マップf1とf2によって符号化されるバイナリ値も、図7に図示されている。特に、この符号化方式は3つの部分から成る値を符号化し、+1はフレーム偏位の増加で符号化され、−1はフレーム偏位の減少で符号化され、0は一定のフレーム偏位で符号化される。
【0169】
特に、これらの2つの速度マップf1とf2は、それぞれ流行歌の同じ10秒の抜粋に適用された。この音声信号を修正するために使用される次元圧縮及び次元展開の率は、1秒の領域で2%であった。その結果、20msつまり3.44フレームの総変位が得られた。特に、第1速度マップf1を使用すると、1秒と8秒で出現する音声信号の第1コピーのブロックは次元展開されたが、3秒と6秒で出現するブロックは次元圧縮された。対照的に、第2速度マップf2に基づき、2秒と7秒で出現する音声信号の第2コピーは次元圧縮されたが、5秒と6秒で出現するブロックは次元展開された。
【0170】
図7では、速度マップf1とf2がスペクトログラムフレームの線形時間からの偏差を示すことを理解されたい。図7に示される速度マップf1とf2では、次元圧縮及び次元展開の領域は、多くの場合対応する原ブロックから偏位される通常の速度のブロックが出現する時間偏位の平坦部がそうであるように、容易に検出可能である。これらの平坦部は、多様な次元圧縮及び展開のブロックによって引き起こされた。
【0171】
特に、ウォータマークされた音声信号xw(t)と原時間変化信号x(t)の間の時間差は±1フレーム以内まで求められた。これは、追加レベル及び/または展開が、この音声信号の中に埋め込まれる情報容量を効果的に倍増するために使用できるであろうことを示唆している。類似速度マップは、サウンドトラック、話、及びオーケストラ音楽などの他の音声ドメインからの音声信号にも適用され、同様に良好な結果を得た。
【0172】
速度マップf1とf2を使用してウォータマークされた音声信号を生成した後、ウォータマークされた音声信号はデータ圧縮され、その後データは64kB MP3符号化及び復号化を使用して復元された。速度マップf1とf2、したがって埋め込まれたデータは、この損失のある符号化と復号化を経ても容易に存続しつづけた。これらのウォータマークされた音声信号が非公式な傾聴試験で数多くの被験者のために再生されたとき、傾聴者は音声信号の時間ベースの圧縮と展開を概して検出できなかった。
【0173】
図8は、本発明に従って埋め込まれたウォータマークの復元性を試験した別の実験から得られた1つの例示的な結果を示す。この実験では、原時間変化音声信号は流行歌からの20秒の抜粋であった。この20秒の抜粋は、20,050Hzというサンプリング速度を有するモノラル表現に変換された。この実験では、きわめて単純な符号化方式が、原時間変化音声信号の16の異なるコピーのそれぞれにウォータマークとして一意の4ビットデータ文字列を符号化するために使用された。すなわち、各コピーは異なる4ビットのウォータマークを与えられた。この符号化方式では、1ビットの情報は、1対の2秒ブロックを使用して符号化された。2秒ブロックの各対では、その対のブロックの一方が圧縮され、他方のブロックは展開された。特に、バイナリ(2進数)「1」は、第2ブロックを展開しながら、第1ブロックを圧縮することによって表された。対照的に、バイナリ「0」は、第2ブロックを圧縮しながら、第1ブロックを展開することによって表された。
【0174】
通常、1対の各ブロックは、他のブロックがそれぞれ次元圧縮または次元展開されたのと同じパーセンテージ分、次元展開または次元圧縮された。このようにして、2つの2秒ブロックの各対の全長は、名目上4秒のままであった。
【0175】
使用できるであろうさらに効率的なコーディング方式があることを理解されたい。特に、時間スケール修正のない領域を使用するコーディング方式は、追加の状態を符号化するために使用され、3つの部分から成るコーディング方式を生成できるだろう。
【0176】
上記に概略されたきわめて単純なコーディング方式を使用すると、ウォータマークされた音声信号は、原時間変化音声信号の次元圧縮及び次元展開された領域を連結することにより、時間変化する原音声信号からリアルタイムで生成できるだろう。この場合、原時間変化信号の次元圧縮されたバージョンと、原時間変化信号の次元展開されたバージョンは、それぞれ、2.5%という次元圧縮または展開の率を使用して生成された。各バージョンは、それぞれが2秒の長さの10個の等しいブロックに均等に分割された。ウォータマークされた音声信号は、次元圧縮され、次元展開されたブロックを連結する簡略な方法によって作成された。ブロックは、原時間変化音声信号のその特定のコピーの中に符号化される特定の4ビットのデータに基づいて選択された。ウォータマークされた音声信号の始まりと最後でのブロックは圧縮されなかった。ウォータマークされた音声信号の真中の16秒だけが変更された。
【0177】
次元圧縮及び次元展開の考えられるシーケンス、つまり0の場合の次元圧縮が後に続く次元展開、または「1」の場合の次元展開が後に続く次元圧縮は既知であるため、ウォータマークされた音声データに埋め込むことができるであろう16個の4ビット値のそれぞれに対応する、速度マップが何である必要があるのかを概算することが比較的直截である。例えば、次元展開の領域が後に続く次元圧縮の指定された領域を考慮すると、速度マップは、加速してから再びバイナリ「1」に対応するゼロ偏位に減速する。対照的に、次元圧縮の領域が後に続く次元展開の領域を考慮すると、速度マップは減速してから、再び、バイナリ「0」を示すゼロ偏位まで加速するだろう。このようにして、速度マップは、バイナリ「1」の場合にピークを有するであろうが、速度マップはバイナリ「0」について谷を有するだろう。
【0178】
したがって、図8に示されるように、図8に示されるテンプレートf3のようなテンプレートは、予想される速度変化に対応する線形傾斜を有して構築することができる。特に、図8に示されているテンプレート速度マップf3は、4ビットバイナリ値「0010」に一致する。図8は、上記に概略されたシステム及び方法に従って、バイナリ文字列「0010」で埋め込まれたウォータマークされた音声データファイルから復元された速度マップf3’も示す。図8に示されるように、復元された速度マップf3’は、このバイナリ文字列のテンプレート速度マップf3と非常に近い。テンプレートのそれぞれを復元された速度マップのそれぞれと比較することによって、指定された速度マップがかなり高い精度でどのテンプレートに一致するのかを統計的に判断することができる。
【0179】
そこで、それは、次元圧縮及び展開されたデータファイルから復元される実際の速度マップを用いて、考えられるシーケンスのそれぞれに、テンプレートのそれぞれの類似性スコアを生成するという単純な問題である。例えば、復元された速度マップとテンプレートの間の角度のコサインは有効な測定基準である。このようにして、i個の異なるテンプレートごとに、そのテンプレートと復元されたテンプレートマップの間でコサイン値を求めることができる。すなわち、
【0180】
【数2】
Figure 0004186531
であり、ここで、
Figure 0004186531
は、復元された速度マップを定義するベクトルである。
Figure 0004186531
は、i番目のテンプレートを定めるベクトルである。そして、Dciは、
Figure 0004186531

Figure 0004186531
の間の角度のコサインである。
【0181】
この測定基準は、それが実際のベクトルの大きさに関係なく使用可能な類似性スコアを生成できるために特に有効である。
【0182】
上記に概略された実験では、この測定基準を使用するとき、復元された速度マップと一致すると演繹的に知られていたテンプレートが、それ以外の15のテンプレートのどれよりもはるかに高い類似性スコアを示した。それぞれが16のテンプレートの1つに対応する16の異なる復元された速度マップは、16の考えられるテンプレートのそれぞれと比較され、256(162)の異なる速度マップ対テンプレートの比較を生成する。復元された速度マップと対応するテンプレートの比較のための最小コサイン距離Dcは、.910であった。対照的に、復元された速度マップと対応しないテンプレートの比較のための最大コサイン距離Dcは、0.618であった。従って、類似性スコアは、明らかに及び正確に対応するテンプレートを識別した。
【0183】
スコア差は、復元された速度マップとテンプレートの間のハミング距離に比例していた。スコア距離を増加するためには、さらに大きなハミング距離を有するテンプレートの部分集合が使用できるだろう。例えば、偶数パリティのある8つの4ビット符号、つまり奇数個の1が使用できるだろう。これが、少なくとも2というハミング距離を保証する。この場合、復元された速度マップと対応しないテンプレートの間の比較のための最大コサイン距離Dcは、0.238まで低減された。
【0184】
テンプレート照合だけではなく、閾値処理も、バイナリ関数値、3値関数値、またはそれ以外の多価の関数値の文字列に、復元された速度マップを変換するために使用できることを理解されたい。例えば、図3に示されている3値数は、+1フレームと−1フレームに設定される閾値を使用するときに得られる3値数を示す。
【0185】
上記に概略されたように、本発明によるシステム及び方法は、時間以外の次元に沿って変化する成分を有するデータに適用できる。例えば、上記に概略されたように、本発明によるシステム及び方法は、ビデオ画像、静止画像等の空間的に変化するデータを有するデータ型に適用することができる。例えば、空間的に変化するデータの選択された部分を、選択的に空間圧縮及び空間展開することによって、ビデオ画像及び静止画像などの空間的に変化するデータに適用されると、本発明によるウォータマークシステム及び方法は、損失のある圧縮及びアナログ再生の下で耐久性がある。
【0186】
空間的に変化するデータが画像データであるとき、ウォータマークされた符号化は、デジタル的にだけではなく、光学的にも、プリンタまたは複写機の機構で直接的にも容易に実現できる。例えば、ウォータマークされた符号化は、走査された、または印刷された画像の空間的に圧縮されまたは展開された領域を生じさせるために、スキャナでプリントを体系的に減速するまたは加速するなど、スキャナまたは印字ヘッドの速度を変更することによって画像データに導入することができる。ウォータマークの符号化を直接プリンタに実行することは、特に高い安全の適用において価値があるということを理解されたい。すなわち、複写機またはプリンタは、時間、日付、場所、デバイス識別(デバイスID)、ユーザ識別(ユーザID)及び/または類似物を、作成される、あるいは印刷されるあらゆるコピーの中に符号化できるだろう。このようにして、不正なコピーが発見されると、埋め込まれたウォータマーク情報が、その不正なコピーをいつ、どこで、及び/または誰が作成したのかを特定するのに役立つだろう。
【0187】
本発明によるシステム及び方法を、画像データなどの空間的に変化するデータに適用すると、空間的に変化するデータの領域は、気付かれないほどの量、次元圧縮または次元展開される。周知のデジタル再サンプリング技法は、少量、画像領域を引き伸ばすまたは圧縮することができる。代わりに、機械的な方法または光学的な方法が、上記に概略されるように、画像領域を少量引き伸ばす、あるいは動的に圧縮するために使用することができる。上記に概略されたように、画像が複数の次元で展開する場合、歪みの2つまたは3つ以上の軸が使用できる。
【0188】
2次元画像または空間的に変化するデータのそれ以外のセット全体で微分的に「ストライプ」を歪めることが可能であることも理解されたい。しかしながら、歪みに平行でない直線は、もはや完全にまっすぐにはならないので、これがさらに顕著なアーティファクトにつながる可能性があることを理解されたい。特に、画像の小さな集合について、特に対角に通る規則正しい線またはグリッドを有する画像について、これは目に見えるねじれにつながるだろう。
【0189】
音声データについて上記に概略されたように、画像データは、最も知覚できない変更を生じさせるであろうウォータマークの領域またはモードを見出すために分析することができる。例えば、画像のフーリエ分析は、その方向での空間周波数が最も低い角度を見出すことができる。この方向を歪みアクセスとして使用すると、知覚できるアーティファクトが最小限に抑えられるだろう。従って、例えば、複数の平行線を有する画像について、フーリエ分析は、線の方向を容易に見出すことができる。画像をその方向に平行に歪めると、より知覚しづらいアーティファクトが生じることになるだろう。
【0190】
一般的に、小さな程度の歪みを考慮して、本発明のシステム及び方法によるウォータマーク画像データは、通常、画像の大多数に知覚できる変化を生じさせないだろう。走査されたテキストは特に影響を受けない。これは、カーニング及び線塗りつぶしのための自然な変動が歪んだ領域を特によく隠す傾向があるために起こる。例えば、図9は、原画像、本発明のシステム及び方法によって生成された埋め込み済みのデータを含む画像、及び原画像データをウォータマークされた画像データに変換するために使用される速度マップを示す。特に、ウォータマークされたデータを最初に特定しないと、通常、それらが密接に隣接していようとも離れた2つの例を見分けることは不可能である。
【0191】
特に、図9では、テキスト部分30が原画像データであるが、テキスト部分32はウォータマークされた画像データである。図9に示される速度マップ34は、音声データに関して上記に概略されたように、動的プログラミングを使用して復元される。ただし、直接の比較が上述された理由のために問題を含む時間変化する音声データとは異なり、図9に示される画像部分30と32は、直接比較することができる。これは、画像データが上縁と下縁及び側縁などの、通常は損失のあるデータ圧縮及びアナログ伝送によって影響を及ぼされず、相対的に低いサンプリング速度で識別することのできる内部基準点を含むために起こる。このように、画像部分30と32は、画像部分30と32を整理するために、直接に比較することができる。
【0192】
歪み軸に垂直なピクセルの列は、ちょうどスペクトルベクトルが音声データについて比較できるように、ユークリッド距離測定基準またはそれ以外の距離測定基準によって比較することができる。歪み方向が、画像軸のどれかに平行である必要はないことが理解されるべきである。ただし、歪み方向を画像軸の1つに平行に位置すると、速度マップ復元が簡略化される傾向がある。
【0193】
特に、図10は、ウォータマークされた画像データ部分32と原画像データ部分30をピクセル単位で比較することによって得られる速度マップf4を示す。図10に示されるように、空間次元、この場合ピクセルは、x軸に沿ってプロットされるが、やはりピクセル単位の偏位はy軸に沿ってプロットされる。図10に示されるように、偏位は0ピクセルと約300ピクセルの間で0である。それから、300ピクセルと400ピクセルの間では、偏位は0から約−3ピクセルまで降下する。それから、偏位は、約400ピクセルから約600ピクセルまで一定のままとなり、その時点で偏位は600ピクセルと800ピクセルの間で約−3ピクセルから0ピクセルに上昇する。
【0194】
この速度マップによって符号化される情報が、この速度マップを作成するために使用される特定の符号化方式に依存することを理解されたい。しかしながら、速度マップf4を作成するため、あるいはウォータマークされた画像データの生成のため原画像データの部分を空間的に圧縮、展開するのに使用されるそれ以外の速度マップを作成するために、上記に概略された符号化方式のどれもが使用できることを理解されたい。
【0195】
図11から図16は、システムの多様な例示的な実施形態、システムの第2の例示的な実施形態による方法、及び本発明による方法を示す。本発明によるシステム及び方法のこの第2の例示的な実施形態では、音声データの場合でのように間接的であるのか、画像データの場合でのように直接的であるのかに関係なく、ウォータマークされたデータセットを原データセットと比較するよりむしろ、データセットは、この比較の必要性を排除するために修正することができる。すなわち、原データセットは、データの速度が、それが重要な次元xに沿って延びるにつれて事前に定義された速度を有するように、分析及び修正することができる。最も簡略な場合には、この事前に定められた速度は、一定の速度である場合がある。しかしながら、さらに複雑な状況においては、原データセットの速度は、それ自体、正弦関数等などの定められた関数に従って変化することがある。
【0196】
多くの従来のウォータマーク技法においてだけではなく、本発明によるシステム及び方法の第1の例示的な実施形態の多様な例示的な実施形態の1つの不利な点とは、埋め込まれたデータを復元するために、原データが必要とされるという点である。これは、デジタル権利管理などの、データセットの所有者が原データセットへのアクセスを有するであろう多くの応用例にとっては完全に許容できることを理解されたい。しかしながら、元の、変更されていないデータセットに対する参照を必要とせずに埋め込まれたデータを抽出することができることが望ましいであろう多くの応用例がある。
【0197】
例えば、時間変化するデータをウォータマークすることができ、時間変化するデータの実際の速度が推論または予測できる場合に、原データセットに対する参照を必要とせずに埋め込まれたデータを抽出することができる。例えば、音声データの速度または会話速度を分析し、求めることができるようにする方法が存在する。1つのこのような技法が、マルチメディア及びエクスポに関するIEEE国際会議議事録(Proc.IEEE International Conference on Multimedia and Expo(ICME)、2001年、HTTP://www.fxpal.com/people/foote/papers/icme2001.htm)のJ.Footeらの「ビートスペクトル:リズム分析に対する新しいアプローチ(The Beat Spectrum: A New Approach to Rhythm Analysis)」に開示されている。従って、将来のある短い時間で信号速度を予測するために、時間変化するデータセットを分析することは、通常簡単なことである。この情報は、原データ信号に対する参照を必要とせずに、本発明によるシステム及び方法を使用してデータセットを埋め込み、時間変化するデータセットから抽出するために使用することができる。
【0198】
このようにして、本発明によるシステム及び方法の第2の例示的な実施形態の多様な例示的な実施形態では、原データセットが分析され、重要な次元xに沿った原データセットの速度が、予測される速度と一致するように変更される。一次予測アルゴリズムが使用される場合、速度調整済みの信号が一定の速度を有するだろう。高次予測アルゴリズムが使用される場合、速度調整済みの信号は、この高次予測によって規定される速度を正確に有するだろう。それから、速度調整済みの信号は、図1から図10に関して上記に概略されたシステム及び方法の多様な例示的な実施形態を使用して重要な次元xに沿って延びる速度調整済みの信号の部分を選択的に次元圧縮及び次元展開することによってさらに修正される。
【0199】
埋め込まれたデータを復元するためには、特定の一次または高次予測アルゴリズムに基づいて予測された速度とウォータマークされたデータセットの実際の速度の間の速度差だけが識別される必要がある。これは、出現するはずである速度差だけが、埋め込まれたデータをウォータマークされたデータセットに符号化する選択された次元展開及び次元圧縮のために発生する差であるためである。予測アルゴリズムが一貫している限り、予測アルゴリズムが特に正確である必要はないことを理解されたい。しかしながら、言うまでもなく、予測アルゴリズムが正確であるほど、速度調整済みの信号は原信号によりうまく一致するだろう。
【0200】
図11は、本発明により原データのセットにウォータマークデータを埋め込むための方法の第2の例示的な実施形態を概略するフローチャートである。図11に示されるように、この方法の動作はステップS300で開始し、原データセットが入力されるステップS310へ続く。それから、ステップS320で、原データセットが分析される。次に、ステップS330で、ステップS320での原データの分析に基づいて、原データの部分ごとに予測される速度が求められる。それから、動作はステップS340へ続く。
【0201】
ステップS340では、原データの各部分の速度は、ステップS330で求められたその部分の予測速度に一致するように変更される。次に、ステップS350では、原データの中に埋め込まれるデータのセット、つまりウォータマークデータが入力される。それから、ステップS360で、速度マップf(q)が、埋め込まれるデータに基づいて生成される。それから、動作はステップS370へ続く。
【0202】
ステップS370では、ステップS310で入力された原データの部分が、ステップS350で入力される、埋め込まれるデータが埋め込まれているウォータマークされたデータを生成するために、速度マップf(q)に基づいて選択的に次元圧縮及び次元展開される。次に、ステップS380では、ウォータマークされたデータが出力される。それから、ステップS390で、方法の動作が終了する。
【0203】
ステップS350では、ウォータマークされたデータが多岐に渡る方法で出力できることを理解されたい。例えば、ウォータマークされたデータが音声データである場合、ウォータマークされたデータは、デジタル音声テープまたは標準アナログカセットテープの上に記憶され、AM、FMまたは衛星ラジオ放送として一斉送信し、ストリーミングMP3またはリアル音声フォーマットを介して、分散ネットワーク上で流すことができる。代わりに、音声ファイルは、それがすでにデジタル形式ではない場合にはデジタル化し、コンパクトディスク、CD−ROM、DVD、または任意の他の揮発性または不揮発性のデジタルメモリデバイスに記憶することができる。さらに、ウォータマークされたデータファイルは、音声データファイルに適切な任意の既知の、あるいは後に開発されるデータ圧縮技法を使用してデータ圧縮し、上述されたメモリデバイスの1つに記憶することができる。データが圧縮されているかどうかに関係なく、ウォータマークされた音声データが、既知のあるいは後のプレイバックデバイス、あるいはインターネット、ローカルエリアネットワーク、広域ネットワーク、記憶領域ネットワーク、イントラネット、エクストラネット、公衆加入電話網及び/またはケーブルテレビ網などの分散ネットワーク上での記憶及び/またはプレイバックのために遠隔して位置するコンピュータまたは記憶装置に伝送することができることも理解されたい。
【0204】
図12は、本発明に従ってウォータマークされたデータファイルから埋め込まれたデータを抽出するための方法の1つの例示的な実施形態を概略するフローチャートである。図12に示されるように、この方法の動作はステップS400で開始し、ウォータマークされたデータファイルが入力されるステップS410へ続く。それから、ステップS420では、ウォータマークされたデータファイルが分析される。次に、ステップS430では、ステップS420でのウォータマークされたデータの分析に基づいて、ウォータマークされたデータの各部分の予測された速度が求められる。それから、動作はステップS440へ続く。
【0205】
ステップS440では、ウォータマークされたデータの部分ごとに、その部分について予測される速度とその部分の実際の速度との差が求められる。次に、ステップS450では、ウォータマークされたデータの各部の予測された速度とウォータマークされたデータ各部の実際の速度との求められた差に基づいて、速度マップが生成される。それから、ステップS460では、該速度マップがウォータマークされたデータの中に埋め込まれた埋め込み済みデータを得るために変換または復号される。それから、動作はステップS470へ続く。
【0206】
ステップS470では、埋め込まれたデータは、1つ以上のデータ受信側に出力される。それから、ステップS480では、この方法の動作が終了する。
【0207】
ステップS470において、ウォータマークされたデータから抽出された埋め込み済みのデータが、それを表示または印刷することによって出力できることを理解されたい。埋め込み済みのデータは、表示記憶または追加伝送のために抽出されたデータを別個のサイトに伝送するために、抽出されたデータを記憶することによって、または図3に関して上述されたものなどの伝送システム上で抽出されたデータを伝送することによっても出力することができる。
【0208】
図13は、本発明によるウォータマーク埋め込みシステム500の1つの例示的な実施形態を示す。図13に示されるように、ウォータマーク埋め込みシステム500は、それぞれが1本以上のデータ/制御バスまたはアプリケーションプログラミングインタフェース580によって相互接続される、入力/出力インタフェース510、制御装置520、メモリ530、速度予測回路またはルーチン540、速度調整回路またはルーチン550、速度マップ生成回路またはルーチン560、及びウォータマークデータ生成回路またはルーチン570を含む。さらに図13に示されるように、1つ以上のユーザ入力装置590が、入力/出力インタフェースに1つ以上のリンク592上で接続される。さらに、データ受信側400がリンク410上で接続されるように、データソース300は入力出力インタフェース510にリンク310上で接続される。
【0209】
リンク572、310、及び410のそれぞれは、その内のどれかが1つ以上の無線部分を含むであろう直接ケーブル接続、広域ネットワークまたはローカルエリアネットワーク上の接続、イントラネット上の接続、インターネット上の接続、または任意のそれ以外の分散型処理ネットワークまたはシステム上の接続を含むウォータマーク埋め込みシステム500に、1つ以上のユーザ入力装置570、データソース300及びデータ受信側400をそれぞれ接続するために既知のまたは後に開発されるデバイスまたはシステムを使用して実現することができる。一般的には、リンク572、310及び410のそれぞれが、1つ以上のユーザ入力装置570、データソース300、及びデータ受信側400のそれぞれをウォータマーク埋め込みシステム500に接続するために使用できる既知のまたは後に開発される接続システムまたは構造である場合がある。
【0210】
入力/出力インタフェース510は、データソース300及び/または該1つ以上のユーザ入力装置590からデータを入力し、データをデータ受信側400に出力する。また、入力出力インタフェース510は、制御装置520、メモリ530、及び/または速度予測回路またはルーチン540の1つ以上にデータを出力し、制御装置520、メモリ530、及び/またはウォータマークデータ生成回路またはルーチン570の1つ以上からデータを受信する。
【0211】
メモリ530は、原データ部532、埋め込み済みデータ部534、速度予測データ部分536、調整済み原データ部537、速度マップ部538、及びウォータマーク済みデータ部539の1つ以上を含む。原データ部532は、埋め込み済みデータ部534の中に記憶された埋め込みデータが、ウォータマークされたデータを形成するために埋め込まれるであろう原データを記憶する。埋め込み済みデータ部534は、原データの中に埋め込まれる埋め込み済みデータを記憶する。予測速度データ部536は、原データの部分ごとに予測される速度を記憶する。調整済み原データ部537は、原データの部分について予測される速度に一致する速度を有する速度調整済み原データを記憶する。速度マップ部538は、速度マップ生成回路またはルーチン560によって生成される速度マップを記憶する。ウォータマーク済みデータ部539は、ウォータマークデータ生成回路またはルーチン570によって生成されるウォータマーク済みデータを記憶する。メモリは、ウォータマーク埋め込みシステム500を動作するために制御装置520によって使用される1つ以上の制御ルーチンを記憶することもできる。
【0212】
メモリ530は、変更可能な揮発性または不揮発性メモリ、あるいは変更不可の、つまり固定されたメモリの適切な組み合わせを使用して実現することができる。変更可能なメモリは、揮発性であるか、不揮発性であるかに関係なく、静的RAMまたは動的RAM、フロッピー(R)ディスクとディスクドライブ、書き込み可能または再−再書き込み可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等のどれか1つ以上を使用して実現することができる。同様に、変更不可のつまり固定されたメモリは、CD−ROMディスクまたはDVD−ROMディスクなどのROM、PROM、EPROM、EEPROM、光ROMディスクとディスクドライブ等のどれか1つ以上を使用して実現することができる。
【0213】
図13に示される回路またはルーチンのそれぞれが、適切にプログラミングされた汎用コンピュータの部分として実現できることを理解されたい。代わりに、図13に示される回路またはルーチンのそれぞれは、ASIC内の物理的に別個のハードウェア回路として、あるいはFPGA、PDL、PLA、またはPAL、デジタル信号プロセッサを使用するか、あるいは離散論理素子または離散論理素子を使用して実現することができる。図13に示される回路またはルーチンのそれぞれが取るであろう特定の形態は設計上の選択肢であり、当業者に明らかで、予測可能であろう。
【0214】
動作中、データソース300は、入力出力インタフェース590に対し、リンク310上へ原データのセット及び/または埋め込まれたデータのセットの1つまたは両方を出力する。同様に、ユーザ入力装置590は、所望される場合、リンク592の上で入力出力インタフェース510に、原データ及び/または埋め込まれたデータのセットの1つ以上を入力するために使用できる。どのデータが入力されるのかに応じて、入力出力インタフェース510は、原データ部532の中に原データの受信されたセットを、及び/または埋め込み済みデータ部534の中に埋め込まれたデータを記憶する。しかしながら、データのこれらのセットのどちらかあるいは両方が、より早い時期に、ウォータマーク埋め込みシステム510の中に過去に入力できたであろうことを理解されたい。
【0215】
速度予測回路またはルーチン540は、制御装置520の制御下で、入力/出力インタフェース510または原データ部532のどちらかから、原データを入力する。速度予測回路またはルーチン540は、原データの部分ごとに、その部分の予測されるまたは予想される速度を求める。速度予測回路またはルーチン540は、制御装置520の制御下で、原データの各部分についての予測される速度を、予測速度データ部536に、または直接に速度調整回路またはルーチン550に出力する。
【0216】
それから、制御装置520の制御下の速度マップ生成回路またはルーチン560は、埋め込み済みデータ部534から埋め込まれたデータを入力し、埋め込まれたデータを速度調整済み原データの中に埋め込むために、速度調整済み原データの部分を次元圧縮する、及び/または次元展開するために使用できる速度マップを生成する。速度マップ生成回路またはルーチン560が、ウォータマーク済みデータに原データを修正するために使用できる速度マップに、埋め込まれるデータを変換するために、本出願に開示されるものを含むが、それらに限られない既知のまたは後に開発される符号化方式を使用することができることを理解されたい。それから、速度マップ生成回路またはルーチン560は、制御装置520の制御下で、メモリの速度マップ部538に、または直接的にウォータマークデータ生成回路またはルーチン570に生成された速度マップを出力する。
【0217】
ウォータマークデータ生成回路またはルーチン570は、制御装置520の制御下で、速度マップ部538から、または速度マップ生成回路またはルーチン560から直接に速度マップを入力する。ウォータマークデータ生成回路またはルーチン570は、制御装置520の制御下で、調整済み原データ部537に記憶された速度調整済み原データも入力する。それから、ウォータマークデータ生成回路またはルーチン570は、埋め込み済みデータを速度調整済み原データの中に埋め込み、ウォータマークされたデータを形成するために、速度マップに基づいて定められた次元に沿って速度調整済み原データを選択的に次元圧縮及び/または次元展開することによって、速度調整済み原データを修正する。それから、ウォータマークデータ生成回路またはルーチン570は、ウォータマークされたデータを出力し、制御装置520の制御下で、それをウォータマーク済みデータ部539の中に記憶するか、あるいは直接的に入力/出力インタフェース510に提供する。
【0218】
ウォータマークされたデータがウォータマークデータ生成回路またはルーチン550によって生成された後、ウォータマークされたデータは、メモリ530のウォータマーク済みデータ部539の中に無期限に記憶することができる。ウォータマークされた埋め込みシステム500の外側でウォータマーク済みのデータが必要とされるときなどに、入力/出力インタフェース510は、制御装置520の制御下で、ウォータマークデータ生成回路またはルーチン570またはウォータマーク済みデータ部539から直接的にウォータマークデータを入力し、リンク410上でデータ受信側400にウォータマーク済みデータを出力する。
【0219】
図14は、本発明によるウォータマーク抽出システム600の1つの例示的な実施形態を示す。図14に示されるように、ウォータマーク抽出システム600は、それぞれが1本以上のデータ/制御バスまたはアプリケーションインタフェース670によって相互接続される、入力/出力インタフェース610、制御装置620、メモリ630、速度予測回路またはルーチン640、速度マップ生成回路またはルーチン650、及び埋め込み済みデータ復号回路またはルーチン660を含む。
【0220】
図14に示されるように、入力/出力インタフェース610は、リンク312上でデータソース300に、リンク412上でデータ受信側400に、及び1つ以上のリンク692上で1つ以上のユーザ入力装置690に接続される。上述されたように、データソース300及びデータ受信側400のそれぞれが、図5に関して上記に概略された形式のどれかを取ることができる。
【0221】
リンク692、312及び412のそれぞれが、ユーザ入力装置690、データソース300及びデータ受信側400のそれぞれを、そのどれかが1つ以上の無線部分を含む、直接ケーブル接続、広域ネットワークまたはローカルエリアネットワーク上の接続、イントラネット上の接続、インターネット上の接続、あるいはその他の分散処理ネットワークまたはシステムを含むウォータマーク抽出システム600に接続するために、既知のまたは後に開発されるデバイスまたはシステムを使用して実現することができる。一般的には、リンク692、312、及び412のそれぞれが、1つ以上のユーザ入力装置690、データソース300、及びデータ受信側400をそれぞれウォータマーク抽出システム600に接続するために使用できる既知の、あるいは後に開発される接続システムまたは構造である場合がある。
【0222】
メモリ630は、ウォータマーク済みデータ部632予測速度データ部634、速度マップ部636及び埋め込み済みデータ部638を含む。メモリ630は、ウォータマーク抽出システム600を制御するために、制御装置620によって使用可能な1つ以上の制御プログラムまたはルーチンも記憶できる。ウォータマーク済みデータ部632は、埋め込まれたデータを含むウォータマーク済みデータを記憶する。予測速度データ部634は、速度予測回路またはルーチン640によって求められる予測速度を記憶する。速度マップ部636は、速度マップ生成回路またはルーチン650によって生成される速度マップを記憶する。埋め込み済みデータ638は、速度マップ部636の中に記憶される速度マップから埋め込み済みデータ復号回路またはルーチン660によって復号される埋め込みデータを記憶する。
【0223】
メモリ630は、変更可能な揮発性または不揮発性のメモリまたは変更不可の、つまり固定された、メモリの適切な組み合わせを使用して実現することができる。変更可能メモリは、揮発性であるか、あるいは不揮発性であるかに関係なく、静的または動的RAM、フロッピー(R)ディスクとディスクドライブ、書き込み可能または再−再書き込み可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等のどれか1つ以上を使用して実現できる。同様に、変更不可つまり固定されたメモリは、CD−ROMまたはDVD−ROMなどのROM、PROM、EPROM、EEPROM、光ROMディスクのどれか1つ以上を使用して実現できる。
【0224】
図14に示される回路またはルーチンのそれぞれが、適切にプログラミングされた汎用コンピュータの部分として実現できることを理解されたい。代わりに、図14の回路またはルーチンのそれぞれは、ASIC内の物理的に別個のハードウェア回路として、あるいはFPGA、PDL、PLA、またはPAL、デジタル信号プロセッサを使用して、または離散論理素子または離散回路素子を使用して実現することができる。図14に示される回路またはルーチンのそれぞれが取るであろう特定の形式は、設計選択肢であり、当業者に明らかで、予測可能となるだろう。
【0225】
データソース300は、ウォータマーク抽出システム600に対して、ウォータマーク済みデータ部632に記憶されるウォータマーク済みデータを出力するために使用できる。同様に、該1つ以上のユーザ入力装置690は、ウォータマーク済みデータを入力するために使用できる。データ受信側400は、入力出力インタフェース610から、ウォータマーク抽出システム600によって抽出される埋め込み済みデータを入力するために使用できる。動作中、ウォータマーク抽出システム600がすでにウォータマーク済みデータを含んでいるわけではない場合、ウォータマーク抽出システム600は、データソース300または1つ以上のユーザ入力装置690の1つから失われたデータを得る。そのデータがデータソース300あるいは1つ以上のユーザ入力装置690から受信される場合、そのデータは入力出力インタフェース610を通して入力され、ウォータマーク済みデータ部632に記憶される。
【0226】
次に、制御装置620の制御下で、ウォータマーク済みデータ部632に記憶されるウォータマーク済みデータは、速度予測回路またはルーチン640に出力される。速度予測回路またはルーチン640は、ウォータマーク済みデータの部分ごとに速度を予測する。それから、速度予測回路またはルーチン640は、制御装置620の制御下で、予測速度データを予測速度データ部634に記憶するか、あるいは速度マップ生成回路またはルーチン650にそれを直接的に提供するかのどちらかである。
【0227】
速度マップ生成回路またはルーチン650は、予測速度に基づき、ウォータマーク済みデータのその部分について予測または予想される速度を基準にして、ウォータマーク済みデータのどの部分が次元圧縮または次元展開されたのかを示す速度マップを生成する。速度マップ生成回路またはルーチン650は、制御装置620の制御下で速度マップを速度マップ部636に記憶するか、あるいは埋め込み済みデータ復号回路またはルーチン660にそれを直接的に提供するかのどちらかである。
【0228】
埋め込み済みデータ復号回路またはルーチン660は、制御装置620の制御下で、速度マップ部636から、または直接的に速度マップ生成回路またはルーチン650から速度マップを入力する。埋め込み済みデータ復号回路またはルーチン660は、埋め込まれたデータから速度マップを生成し、速度マップから埋め込まれたデータを得るために使用される元の符号化方式に基づいて、速度マップを復号する。それから、埋め込み済みデータ符号化回路またはルーチンが、制御装置620の制御下で、データ受信側400への伝送のために、復号された埋め込み済みデータを直接的に入力出力インタフェース610に提供するか、あるいはそれを埋め込み済みデータ部638に記憶する。
【0229】
図15は、本発明によるウォータマーク埋め込みシステム700の第3の例示的な実施形態を示す。特に、図15に示されるウォータマーク埋め込みシステムの第3の例示的な実施形態は、セルフクロッキング(自己計時)ウォータマークデータファイルを出力する。図15に示されるように、データソース710は、原データ信号をデータ信号線路またはリンク712上で遅延回路720まで出力する。また、データソース710は、原データセットを、信号線路またはリンク714上で調整装置750に、信号線路またはリンク716上でコンパレータ740に出力する。遅延回路720は、原データ信号を遅延させ、遅延した原データ信号を信号線路またはリンク722上で速度予測装置730に出力する。
【0230】
速度予測装置730は、遅延された原データ信号を分析し、予測された速度を信号線路またはリンク732上でコンパレータ740に出力する。コンパレータ740は、速度予測装置730から復元されるデータ信号の予測される速度と、信号線路またはリンク716上で受信される原データ信号の実際の速度を比較する。比較に基づいてコンパレータ740によって求められる差の程度に基づき、コンパレータ740は、調整信号を信号線路742上で調整装置750に出力する。
【0231】
調整装置750は、原データ信号の実際の速度が、信号線路またはリンク742上で受信される調整信号に基づいて、原信号の予測される速度に一致するように、最初に、信号線路714上で受信される原データ信号を調整する。それから、調整装置750は、さらに、所望されるデータを速度調整済み原データセットに埋め込み、セルフクロッキングウォータマークデータセットを生成するために、所定の速度マップに基づいて速度調整済み原データ信号の速度を調整する。それから、調整装置750は、セルフクロッキングウォータマークデータセットを信号線路またはリンク752上でデータ受信側760に出力する。
【0232】
図16は、本発明によるウォータマーク抽出システムまたはデバイス800の第3の例示的な実施形態を示す。図16に示されるように、ウォータマーク抽出デバイスまたはシステム800の第3の例示的な実施形態は、ウォータマークデータ信号を信号線路またはリンク812上で遅延回路820に出力するデータソース810を含む。該データソース810は、信号線路814上でコンパレータ840にセルフクロッキングウォータマークデータ信号も出力する。遅延回路820は、所定量、セルフクロッキングウォータマークデータ信号を遅延させ、遅延したセルフクロッキングウォータマークデータ信号を、信号線路またはリンク822上で速度予測装置830に出力する。速度予測装置830は、遅延したセルフクロッキングウォータマークデータ信号を分析し、遅延したセルフクロッキングウォータマークデータ信号の各部についての予測される速度を、信号線路またはリンク832上でコンパレータ840に出力する。
【0233】
コンパレータ840は、ウォータマークデータセットの部分ごとに、信号線路またはリンク814上で受信されたセルフクロッキングウォータマークデータ信号の実際の速度を、信号線路532上で速度予測装置830から受信される予測される速度と比較する。比較に基づき、コンパレータ840は、ウォータマークデータセットの部分ごとに、セルフクロッキングウォータマークデータ信号の予測速度と実際の速度の差に対応する速度マップを生成する。それから、コンパレータ840は、速度マップを抽出され、復号された埋め込み済みデータの文字列に変換するために所定の符号化方式を適用する。それから、コンパレータ840は、信号線路またはリンク842上でデータ受信側850に抽出され、復号された埋め込み済みデータを出力する。
【0234】
上記に概略された多様な例示的な実施形態において、ウォータマーク埋め込みシステム100と300、及びウォータマーク抽出システム200と400は、それぞれ、プログラミングされた汎用コンピュータを使用して実現することができる。ただし、ウォータマーク埋め込みシステム100と300、及びウォータマーク抽出システム200と400は、それぞれ、専用コンピュータ、プログラミング済みマイクロプロセッサまたはマイクロコントローラ、及び周辺集積回路素子、ならびにASICまたはその他の集積回路、デジタル信号プロセッサ、離散素子回路などのハードウェア電子回路または論理回路、PLD、PLA、FPGA、PALなどの書き込み可能論理回路等を使用して実現することができる。一般的には、図5、図6、図11及び図12に示されるフローチャートの1つ以上を実現することができる有限状態マシーンを実現することができる任意の素子が、それぞれ、ウォータマーク埋め込みシステム100と300、及びウォータマーク抽出システム200と400の1つ以上を実現するために使用できる。
【0235】
上記に概略されたウォータマーク埋め込みシステム100と300、及びウォータマーク抽出システム200と400の多様な例示的な実施形態の回路及び素子のそれぞれは、適切なプログラミングされた汎用コンピュータの部分として実現することができる。代わりに、上記に概略されたウォータマーク強調システム200の多様な例示的な実施形態の回路及び素子のそれぞれは、ASIC内の物理的に別個のハードウェア回路として、あるいはFPGA、PDL、PLAまたはPALを使用して、または離散論理素子または離散回路素子を使用して、実現することができる。それぞれ上記に概略される、ウォータマーク埋め込みシステム100と300、及びウォータマーク抽出システム200と400の多様な例示的な実施形態の回路及び素子のそれぞれが取るであろう特定の形は、設計選択肢であり、当業者に明らかで、予測可能であろう。
【0236】
さらに、上記に概略されたウォータマーク埋め込みシステム100と300、及びウォータマーク抽出システム200と400の多様な例示的な実施形態、及び/または上述された多様な回路及び素子は、プログラミングされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサ等上で実行されるソフトウェアルーチン、マネージャまたはオブジェクトとしてそれぞれ実現することができる。この場合、ウォータマーク埋め込みシステム100と300、およびウォータマーク抽出システム200と400の多様な例示的な実施形態、及び/または上述された多様な回路及び素子のそれぞれは、通信網の中に埋め込まれる1つ以上のルーチンとして、サーバ上に常駐するリソースとして、プリンタドライバのリソース等として実現することができる。ウォータマーク埋め込みシステム100と300、及びウォータマーク抽出システム200と400の多様な例示的な実施形態、及び上述された多様な回路及びルーチンは、ウォータマーク埋め込みシステム100と300及びウォータマーク抽出システム200と400の1つ以上を、ウェブサーバまたはクライアントデバイスのハードウェア及びソフトウェアなどのソフトウェア及び/またはハードウェアシステムの中に物理的に組み込むことによって実現することもできる。
【0237】
本発明は、上記に概略された例示的な実施形態に関係して説明されてきたが、多くの代替策、変型及び変化が、当業者にとって明らかであろうことは明白である。結果的に、発明の例示的な実施形態は、上記に述べられたように、制限的ではなく、例示的であることが意図される。多様な変更は、発明の精神及び範囲から逸脱することなく加えられてよい。
【図面の簡単な説明】
【図1】 本発明に従って音声ファイルの中にウォータマークを埋め込むために、音声ファイルの部分をどのようにして時間展開及び時間圧縮することができるのかを示す。
【図2】 本発明の実施形態による例示的な速度マップを示す。
【図3】 画像の中にまたは音声ファイルの中にウォータマークを埋め込むための方法の第1の例示的な実施形態を概略するフローチャートである。
【図4】 ウォータマークされた画像またはウォータマークされた音声ファイルから、埋め込まれたウォータマークを抽出するための方法の第1の例示的な実施形態を概略するフローチャートである。
【図5】 本発明によるウォータマーク埋め込みシステムの第1の例示的な実施形態を示すブロック図である。
【図6】 本発明によるウォータマーク抽出システムの第1の例示的な実施形態を示すブロック図である。
【図7】 本発明に従って時間圧縮された、及び時間展開された部分を使用して音声ファイルの中にバイナリ情報を符号化するある方法を図解する。
【図8】 復元された速度マップの1つの例示的な実施形態及びバイナリ文字列「0010」を本発明による音声ファイルの中に埋め込むために有効な予想テンプレートの1つの例示的な実施形態を示す。
【図9】 画像の部分が、本発明に従って画像の中にウォータマークを埋め込むためにどのようにして空間的に展開及び空間的に圧縮できるのかを示す。
【図10】 図4に示される画像に対する空間的な修正を示す。
【図11】 ウォータマークをデータファイルの中に埋め込むための方法の第2の例示的な実施形態を概略するフローチャートである。
【図12】 ウォータマークされたデータファイルから埋め込まれたデータファイルを抽出するための方法の第2の例示的な実施形態を概略するフローチャートである。
【図13】 本発明によるウォータマーク埋め込みシステムの第2の例示的な実施形態を示すブロック図である。
【図14】 本発明によるウォータマーク抽出システムの第2の例示的な実施形態を示すブロック図である。
【図15】 本発明に従って時間変化データの中にウォータマークを埋め込むシステムまたはデバイスの第3の例示的な実施形態を示す。
【図16】 本発明に従ってウォータマークされた時間変化データファイルからウォータマークを抽出するシステムまたはデバイスの第3の例示的な実施形態を示す。
【符号の説明】
10 基準
20 ウォータマーク済み
110、210、510、610 入力/出力インタフェース
120、220、520、620 制御装置
130、230、530、630 メモリ
132、234、532 原データ部
134、239、638 埋め込み済みデータ部
136、238、538、636 速度マップ部
138、232、539、632 ウォータマーク済みデータ部
140、260、560 速度マップ生成回路またはルーチン
150、570 ウォータマークデータ回路またはルーチン
170、290、590、690 ユーザ入力装置
236 分析データ部
240 分析データ生成回路またはルーチン
250 整列回路またはルーチン
270 埋め込み済みデータ復号回路またはルーチン
300、710、810 データソース
400、760、850 データ受信側
534、634 予測速度データ部
536 調整済み原データ部
550 原データ変更回路またはルーチン
640 速度予測回路またはルーチン
710、810 データソース
720、820 遅延回路
740、840 コンパレータ
750 調整装置
730、830 速度予測装置

Claims (14)

  1. データの第1セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットの中に埋め込むためのデータ埋め込み方法であって、
    前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測し、
    前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第2セットを時間次元に沿って圧縮及び展開し、
    前記データの第2セットの前記複数の部分から選択した選択部分を、前記データの第1セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第2セットに前記データの第1セットを埋め込む、
    データ埋め込み方法。
  2. 前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項1記載のデータ埋め込み方法。
  3. データの第1セットが埋め込まれた、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットから前記データの第1セットを抽出するためのデータ抽出方法であって、
    前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分毎に、単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測すると共に、実際の前記速度を求め、
    前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分の各々について、予測された前記速度と実際の前記速度とを比較し、
    前記複数の部分についての比較に基づいて、前記データの第2セットの前記複数の部分から選択した選択部分の圧縮及び展開のパターンを生成し、
    生成した前記パターンをデータの第1セットの値に変換することにより、前記データの第2セットから前記データの第1セットを抽出する、
    データ抽出方法。
  4. 前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項3記載のデータ抽出方法。
  5. データの第1セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットの中に埋め込み、前記データの第1セットが埋め込まれた前記データの第2セットから前記データの第1セットを抽出するためのデータ埋め込み抽出方法であって、
    前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測し、
    前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第2セットを時間次元に沿って圧縮及び展開し、
    前記データの第2セットの前記複数の部分から選択した選択部分を、前記データの第1セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第2セットに前記データの第1セットを埋め込み、
    前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分毎に、前記関数に基づいて、前記速度を予測すると共に、実際の前記速度を求め、
    前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分の各々について、予測された速度と実際の速度とを比較し、
    前記複数の部分についての比較に基づいて、前記選択部分の圧縮及び展開のパターンを生成し、
    生成した前記パターンをデータの第1セットの値に変換することにより、前記データの第2セットから前記データの第1セットを抽出する、
    データ埋め込み抽出方法。
  6. 前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項5記載のデータ埋め込み抽出方法。
  7. データの第1セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットの中に埋め込むためのデータ埋め込みシステムであって、
    前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測する速度予測回路またはルーチンと、
    前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第2セットを時間次元に沿って圧縮及び展開する速度変更回路またはルーチンと、
    前記データの第2セットの前記複数の部分から選択した選択部分を、前記データの第1セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第2セットに前記データの第1セットを埋め込むウォータマーク回路またはルーチンと、
    を含むデータ埋め込みシステム。
  8. 前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項7記載のデータ埋め込みシステム。
  9. データの第1セットが埋め込まれた、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットから前記データの第1セットを抽出するためのデータ抽出システムであって、
    前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分毎に、単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測すると共に、実際の前記速度を求める速度決定回路またはルーチンと、
    前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分の各々について、予測された速度と実際の速度とを比較する比較回路またはルーチンと、
    前記複数の部分についての比較に基づいて、前記データの第2セットの前記複数の部分から選択した選択部分の圧縮及び展開のパターンを生成する速度マップ生成回路またはルーチンと、
    生成した前記パターンをデータの第1セットの値に変換することにより、前記データの第2セットから前記データの第1セットを抽出するウォータマーク復号回路またはルーチンと、
    を含むデータ抽出システム。
  10. 前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項9記載のデータ抽出システム。
  11. 前記ウォータマーク復号回路またはルーチンが、生成した前記パターンの少なくとも一部を少なくとも1つのテンプレートと比較することによって、生成した前記パターンを前記データの第1セットの値に変換する請求項9または請求項10記載のデータ抽出システム。
  12. データの第1セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第2セットの中に埋め込み、前記データの第1セットが埋め込まれた前記データの第2セットから前記データの第1セットを抽出するためのデータ埋め込み抽出システムであって、
    前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測する速度予測回路またはルーチンと、
    前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第2セットを時間次元に沿って圧縮及び展開する速度変更回路またはルーチンと、
    前記データの第2セットの前記複数の部分から選択した選択部分を、前記データの第1セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第2セットに前記データの第1セットを埋め込むウォータマーク回路またはルーチンと、
    前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分毎に、前記関数に基づいて前記速度を予測すると共に、実際の前記速度を求める速度決定回路またはルーチンと、
    前記データの第1セットが埋め込まれた前記データの第2セットの複数の部分の各々について、予測された速度と実際の速度とを比較する比較回路またはルーチンと、
    前記複数の部分についての比較に基づいて、前記選択部分の圧縮及び展開のパターンを生成する速度マップ生成回路またはルーチンと、
    生成した前記パターンをデータの第1セットの値に変換することにより、前記データの第2セットから前記データの第1セットを抽出するウォータマーク復号回路またはルーチンと、
    を含むデータ埋め込み抽出システム。
  13. 前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項12記載のデータ埋め込み抽出システム。
  14. 前記ウォータマーク復号回路またはルーチンが、生成した前記パターンの少なくとも一部を少なくとも1つのテンプレートと比較することによって、生成した前記パターンを前記データの第1セットの値に変換する請求項12または請求項13記載のデータ埋め込み抽出システム。
JP2002203346A 2002-03-25 2002-07-12 データ埋め込み方法、データ抽出方法、データ埋め込み抽出方法、及びシステム Expired - Fee Related JP4186531B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/104,017 US6999598B2 (en) 2001-03-23 2002-03-25 Systems and methods for embedding data by dimensional compression and expansion
US104017 2002-03-25

Publications (2)

Publication Number Publication Date
JP2003283802A JP2003283802A (ja) 2003-10-03
JP4186531B2 true JP4186531B2 (ja) 2008-11-26

Family

ID=29248163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002203346A Expired - Fee Related JP4186531B2 (ja) 2002-03-25 2002-07-12 データ埋め込み方法、データ抽出方法、データ埋め込み抽出方法、及びシステム

Country Status (1)

Country Link
JP (1) JP4186531B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644282B2 (en) 1998-05-28 2010-01-05 Verance Corporation Pre-processed information embedding system
US6737957B1 (en) 2000-02-16 2004-05-18 Verance Corporation Remote control signaling using audio watermarks
EP2782337A3 (en) 2002-10-15 2014-11-26 Verance Corporation Media monitoring, management and information system
US7369677B2 (en) 2005-04-26 2008-05-06 Verance Corporation System reactions to the detection of embedded watermarks in a digital host content
US7616776B2 (en) 2005-04-26 2009-11-10 Verance Corproation Methods and apparatus for enhancing the robustness of watermark extraction from digital host content
US20060239501A1 (en) 2005-04-26 2006-10-26 Verance Corporation Security enhancements of digital watermarks for multi-media content
JP5165555B2 (ja) * 2005-04-26 2013-03-21 ベランス・コーポレイション マルチメディアコンテンツ用の電子透かしのセキュリティ強化
US8020004B2 (en) 2005-07-01 2011-09-13 Verance Corporation Forensic marking using a common customization function
US8781967B2 (en) 2005-07-07 2014-07-15 Verance Corporation Watermarking in an encrypted domain
US8259938B2 (en) 2008-06-24 2012-09-04 Verance Corporation Efficient and secure forensic marking in compressed
US8838977B2 (en) 2010-09-16 2014-09-16 Verance Corporation Watermark extraction and content screening in a networked environment
US8923548B2 (en) 2011-11-03 2014-12-30 Verance Corporation Extraction of embedded watermarks from a host content using a plurality of tentative watermarks
US8682026B2 (en) 2011-11-03 2014-03-25 Verance Corporation Efficient extraction of embedded watermarks in the presence of host content distortions
US8533481B2 (en) 2011-11-03 2013-09-10 Verance Corporation Extraction of embedded watermarks from a host content based on extrapolation techniques
US8615104B2 (en) 2011-11-03 2013-12-24 Verance Corporation Watermark extraction based on tentative watermarks
US8745403B2 (en) 2011-11-23 2014-06-03 Verance Corporation Enhanced content management based on watermark extraction records
US9323902B2 (en) 2011-12-13 2016-04-26 Verance Corporation Conditional access using embedded watermarks
US9547753B2 (en) 2011-12-13 2017-01-17 Verance Corporation Coordinated watermarking
US9571606B2 (en) 2012-08-31 2017-02-14 Verance Corporation Social media viewing system
US8726304B2 (en) 2012-09-13 2014-05-13 Verance Corporation Time varying evaluation of multimedia content
US8869222B2 (en) 2012-09-13 2014-10-21 Verance Corporation Second screen content
US9106964B2 (en) 2012-09-13 2015-08-11 Verance Corporation Enhanced content distribution using advertisements
US9262793B2 (en) 2013-03-14 2016-02-16 Verance Corporation Transactional video marking system
US9251549B2 (en) 2013-07-23 2016-02-02 Verance Corporation Watermark extractor enhancements based on payload ranking
US9208334B2 (en) 2013-10-25 2015-12-08 Verance Corporation Content management using multiple abstraction layers
WO2015138798A1 (en) 2014-03-13 2015-09-17 Verance Corporation Interactive content acquisition using embedded codes

Also Published As

Publication number Publication date
JP2003283802A (ja) 2003-10-03

Similar Documents

Publication Publication Date Title
JP4186531B2 (ja) データ埋め込み方法、データ抽出方法、データ埋め込み抽出方法、及びシステム
US6999598B2 (en) Systems and methods for embedding data by dimensional compression and expansion
KR101271825B1 (ko) 디지털 워터마크를 유용 신호에 임베딩하는 방법
CN100380975C (zh) 用于从压缩多媒体内容中生成散列的方法
JP2008529046A5 (ja)
JP2001119555A (ja) 時系列化された一次元のデータにおける電子透かし
JP2000172282A (ja) オ―ディオデ―タへ付加情報を埋め込む方法およびシステム
JP2004513557A (ja) オーディオ信号のパラメトリック符号化方法及び装置
JP2005513543A (ja) マルチメディア信号のqimデジタルウォーターマーキング
Foote et al. Time base modulation: a new approach to watermarking audio
KR100762722B1 (ko) 1차원 정보 신호들에 워터마크들을 삽입 및 검출하기 위한방법 및 장치
EP1695337B1 (en) Method and apparatus for detecting a watermark in a signal
Wei et al. Controlling bitrate steganography on AAC audio
Megías et al. An audio watermarking scheme robust against stereo attacks
Jenkins et al. Steganography in audio
JP2007514976A (ja) 透かしの埋め込み
Bhattacharyya et al. Hiding data in audio signal
Megías et al. Robust frequency domain audio watermarking: a tuning analysis
Tanwar et al. Audio Watermarking Using Beat Detection and Pitch Estimation
Gera et al. Embedding and Retrieving the Audio File using Audio Steganography
Nishimura Reversible audio data hiding in spectral and time domains
Zmudzinski et al. Watermark embedding using audio fingerprinting
Paul et al. A Robust Audio Steganographic Technique based on Phase Shifting and Psycho–acoustic Persistence of Human Hearing Ability
GB2365296A (en) Encoder/decoder for watermarking a covertext signal
Jorj et al. Data Hiding in Audio File by Modulating Amplitude

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080901

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130919

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees