(57)【特許請求の範囲】
【請求項１】
データの第１セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットの中に埋め込むためのデータ埋め込み方法であって、
前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測し、
前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第２セットを時間次元に沿って圧縮及び展開し、
前記データの第２セットの前記複数の部分から選択した選択部分を、前記データの第１セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第２セットに前記データの第１セットを埋め込む、
データ埋め込み方法。
【請求項２】
前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項１記載のデータ埋め込み方法。
【請求項３】
データの第１セットが埋め込まれた、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットから前記データの第１セットを抽出するためのデータ抽出方法であって、
前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分毎に、単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測すると共に、実際の前記速度を求め、
前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分の各々について、予測された前記速度と実際の前記速度とを比較し、
前記複数の部分についての比較に基づいて、前記データの第２セットの前記複数の部分から選択した選択部分の圧縮及び展開のパターンを生成し、
生成した前記パターンをデータの第１セットの値に変換することにより、前記データの第２セットから前記データの第１セットを抽出する、
データ抽出方法。
【請求項４】
前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項３記載のデータ抽出方法。
【請求項５】
データの第１セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットの中に埋め込み、前記データの第１セットが埋め込まれた前記データの第２セットから前記データの第１セットを抽出するためのデータ埋め込み抽出方法であって、
前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測し、
前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第２セットを時間次元に沿って圧縮及び展開し、
前記データの第２セットの前記複数の部分から選択した選択部分を、前記データの第１セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第２セットに前記データの第１セットを埋め込み、
前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分毎に、前記関数に基づいて、前記速度を予測すると共に、実際の前記速度を求め、
前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分の各々について、予測された速度と実際の速度とを比較し、
前記複数の部分についての比較に基づいて、前記選択部分の圧縮及び展開のパターンを生成し、
生成した前記パターンをデータの第１セットの値に変換することにより、前記データの第２セットから前記データの第１セットを抽出する、
データ埋め込み抽出方法。
【請求項６】
前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項５記載のデータ埋め込み抽出方法。
【請求項７】
データの第１セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットの中に埋め込むためのデータ埋め込みシステムであって、
前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測する速度予測回路またはルーチンと、
前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第２セットを時間次元に沿って圧縮及び展開する速度変更回路またはルーチンと、
前記データの第２セットの前記複数の部分から選択した選択部分を、前記データの第１セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第２セットに前記データの第１セットを埋め込むウォータマーク回路またはルーチンと、
を含むデータ埋め込みシステム。
【請求項８】
前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項７記載のデータ埋め込みシステム。
【請求項９】
データの第１セットが埋め込まれた、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットから前記データの第１セットを抽出するためのデータ抽出システムであって、
前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分毎に、単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測すると共に、実際の前記速度を求める速度決定回路またはルーチンと、
前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分の各々について、予測された速度と実際の速度とを比較する比較回路またはルーチンと、
前記複数の部分についての比較に基づいて、前記データの第２セットの前記複数の部分から選択した選択部分の圧縮及び展開のパターンを生成する速度マップ生成回路またはルーチンと、
生成した前記パターンをデータの第１セットの値に変換することにより、前記データの第２セットから前記データの第１セットを抽出するウォータマーク復号回路またはルーチンと、
を含むデータ抽出システム。
【請求項１０】
前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項９記載のデータ抽出システム。
【請求項１１】
前記ウォータマーク復号回路またはルーチンが、生成した前記パターンの少なくとも一部を少なくとも１つのテンプレートと比較することによって、生成した前記パターンを前記データの第１セットの値に変換する請求項９または請求項１０記載のデータ抽出システム。
【請求項１２】
データの第１セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットの中に埋め込み、前記データの第１セットが埋め込まれた前記データの第２セットから前記データの第１セットを抽出するためのデータ埋め込み抽出システムであって、
前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測する速度予測回路またはルーチンと、
前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第２セットを時間次元に沿って圧縮及び展開する速度変更回路またはルーチンと、
前記データの第２セットの前記複数の部分から選択した選択部分を、前記データの第１セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第２セットに前記データの第１セットを埋め込むウォータマーク回路またはルーチンと、
前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分毎に、前記関数に基づいて前記速度を予測すると共に、実際の前記速度を求める速度決定回路またはルーチンと、
前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分の各々について、予測された速度と実際の速度とを比較する比較回路またはルーチンと、
前記複数の部分についての比較に基づいて、前記選択部分の圧縮及び展開のパターンを生成する速度マップ生成回路またはルーチンと、
生成した前記パターンをデータの第１セットの値に変換することにより、前記データの第２セットから前記データの第１セットを抽出するウォータマーク復号回路またはルーチンと、
を含むデータ埋め込み抽出システム。
【請求項１３】
前記速度についての所定の関数が、一定の速度を予測するための関数、または周期的に変化する速度を予測するための関数である請求項１２記載のデータ埋め込み抽出システム。
【請求項１４】
前記ウォータマーク復号回路またはルーチンが、生成した前記パターンの少なくとも一部を少なくとも１つのテンプレートと比較することによって、生成した前記パターンを前記データの第１セットの値に変換する請求項１２または請求項１３記載のデータ埋め込み抽出システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に音声ファイル及び画像ファイル内に情報を隠すためのシステム及び方法に関する。
【０００２】
【従来の技術】
デジタル化画像、デジタル画像配給及びデジタルビデオ利用の到来を受けて、デジタル権利の管理または著作権保護などの目的のため、デジタル画像内に情報を「隠す」ことが、画像出版者及び著者にとって大きな問題になってきた。デジタル画像内に情報を埋め込むプロセスは「ウォータマーク（ｗａｔｅｒｍａｒｋｉｎｇ）」として知られている。このようなウォータマークは、意図的な汚染に対し、及びデータ圧縮処理に対し、安全で耐久性が大きくなければならず、埋め込み及び抽出が過度に複雑であってはならず、従来の画像処理システムと互換性があり、協同可能でなければならない。ウォータマークは、概して人の目に見えない。しかしながら、認可されている画像デコーダによって除去することができ、認可されていないデコーダによって除去できない可視ウォータマークを作ることが望ましい応用例もある。
【０００３】
ウォータマークは多くの場合デジタル画像に関して使用されるが、ウォータマーク技法は、音声ファイルにも適用できる。従来の画像ウォータマーク技法と同様に、従来の音声ウォータマーク技法は、データドメイン法及び周波数ドメイン法に分類することができる。データドメイン法は、ＰＣＭ表現の最下位ビットを変調する、あるいは圧縮されたドメイン表現内にデータを隠し込むなどの実際の音声データを修正することによって機能する。周波数ドメイン法は、例えばある特定の周波数成分を削除することによって、あるいは低振幅雑音内で偽装される情報を追加することによって信号のスペクトル成分を修正することにより機能する。
【０００４】
データドメインウォータマーク技法は、圧縮されたドメインウォータマーク、ビットディザリング、振幅変調及びエコー非表示（echo hiding）を含む。圧縮されたドメインウォータマークにおいては、データの圧縮された表現だけがウォータマークされるため、永続的なものではない。データが圧縮されていないとき、ウォータマークは使用できない。最下位ビット（ＬＳＢ）変調では、情報は、時間ドメインまたはデータ圧縮済み表現の最下位ビットを変調することにより符号化される。これは、潜在的に大きなデータ転送速度を有する一方でデータ圧縮またはアナログ伝送と再生に対して耐久性が大きくはなく、信号に雑音を生じさせる。
【０００５】
振幅変調においては、信号ピークは、所定の振幅バンドに該当するように修正される。この技法は変調歪みを生じさせ、アナログとデジタルの電話、放送、音声補強、及び雑音削除で幅広く使用されている振幅圧縮に対して耐久性が大きくはない。エコー非表示では、原信号の別個のコピーが原信号と混合される。エコー時間は十分に短く、コピー振幅は聞き取れないほど十分に低いが、エコーは自己相関を介して検出できる。この方法は、その周期がエコー遅延の倍数である周波数での位相相殺のためにスペクトル歪みを生じさせる。また、この技法は、微細なエコーが知覚コーディングによって廃棄されやすいため、データ圧縮の下では耐久性が大きくなくてよい。
【０００６】
周波数ドメインウォータマーク技法は、位相コーディング、周波数バンドの修正、及びスペクトル拡散の技法を含む。位相コーディングは、人間の聴覚器官の位相に対する相対的な鈍感さに依存している。信号がスペクトログラム内でのようにウィンドウ処理され、各ウィンドウの振幅及び位相が計算される。ウォータマークを符号化する人工的な絶対位相信号が、第１ウィンドウの中に入れられる。それ以降のフレームのための位相情報は、各フレームと絶対位相との位相差から反復して計算される。結果として生じる位相は、ウォータマークされた信号を構築するために元の振幅と結合される。この方法は信号の中に位相分散を生じさせ、おそらくデータ圧縮下で耐久性が大きくはない。
【０００７】
周波数バンド修正では、情報は、特定のスペクトルバンドを削除する、あるいは機能拡張し、ノッチフィルタを使用して狭いスペクトルバンドを削除することによって符号化されるか、あるいは周波数バンド差の中に符号化される。この方法はスペクトル歪みを生じさせ、知覚符号化に対して耐久性が大きくはない場合があり、変更された周波数成分がソース音声で十分に表現されていない限り機能しない。
【０００８】
スペクトル拡散技法では、ウォータマーク情報を伝搬する信号は、擬似ランダムシーケンスと掛け合せることによって広帯域雑音に変調される。変調関数が既知であるため、あるいは再生できるため、ウォータマーク信号は復調できる。この技法はウォータマークされた信号に雑音を追加し、低振幅のスペクトル拡散信号は、知覚コーディングの下で廃棄されやすい。さらに、サンプリング周波数は、受信機を同期させなくてよいように、変調搬送周波数として一般的に使用される。この場合、再サンプリングまたはアナログ伝送は、同期性、ひいてはウォータマークを破壊しやすい。
【０００９】
【発明が解決しようとする課題】
多くの方式、特に変調ドメインアプローチ及び周波数ドメインアプローチは、音声データ圧縮に対して耐久性が大きくはない。周波数修正はウォータマークされた音声データにおいて知覚的に聴こえないものでなければならないため、これは、特に問題である。それ以外の場合、ウォータマークは適切ではない。しかしながら、このような従来の周波数変調は、正確には、ＭＰ３などの知覚データ圧縮方式が使用されるときに、失われまたは変更される情報である。
【００１０】
また、画像をウォータマークする多くの手法が存在した。大部分のアプローチは、上述されたアプローチにきわめて類似している。例えば、スペクトル拡散技法は、音声だけではなく画像にも使用できる。テキストをウォータマークするための１つの関連する従来のアプローチは、ワードの間と文の間の白い空間を変調する。この方法は、ワード境界を検出する必要があり、走査済みのテキスト以外の一般的な画像には適用できない。ゼロックス（Ｘｅｒｏｘ）社で開発された記号技術ＰＡＲＣは、グレイ陰影に加えて情報を符号化するために変調できる小さなマークを使用して、情報をデジタルハードコピーに符号化する。Ｃｕｒｒｙに付与された米国特許第５，９４６，１０３号は、印刷された文書をデジタルでウォータマークするためにグリフ（図形符号）を使用する方法を開示する。しかしながら、グリフ技術は、典型的には、人目を引く構造を有する画像を生成する。これにより、この方法は、特定の用途に対してだけ適している。「パッチワーク」ウォータマークシステムは、画像内の点のランダムな対の強度を変える。テクスチャブロックコーディングと呼ばれる方法は、ランダムなテクスチャの領域をコピーすることによって情報を符号化する。これらの領域は、自己相関によって発見できる。
【００１１】
上記に概略したように、従来の情報埋め込み、つまりウォータマーク技法は、現代のデータ圧縮伝送方法の視点からは耐久性の大きいものではなく、その使用が特定の種類のデータに限られ、及び／または知覚されないまま、十分に密に及び／または耐久性があるように情報を埋め込むことができない。
【００１２】
【課題を解決するための手段】
本発明は、データファイル内に情報を隠し込むシステム及び方法を提供する。
【００１３】
本発明は、該データファイルの部分を選択的に次元展開し、次元圧縮することによって、データファイル内に情報埋め込むシステム及び方法を提供する。
【００１４】
本発明は、データの選択された次元に沿ってデータファイルの部分を選択的に次元展開及び次元圧縮するシステム及び方法をさらに備える。
【００１５】
本発明は、データの時間次元に沿って時間変化するデータの部分を選択的に時間展開及び時間圧縮することにより、時間変化するデータの中に情報を埋め込むシステム及び方法をさらに提供する。
【００１６】
本発明は、少なくとも１つの空間次元に沿って空間的に変化するデータの部分を選択的に空間的に展開し、空間的に圧縮することによって空間的に変化するデータの中に情報を埋め込むシステム及び方法をさらに提供する。
【００１７】
本発明は、埋め込まれた情報を含む修正されたデータファイルを、埋め込まれたデータを抽出するためにデータファイルの元のコピーと比較するためのシステム及び方法を別個に提供する。
【００１８】
本発明は、埋め込まれた情報を含む修正されたデータファイルの次元圧縮され、次元展開された部分の次元的な圧縮及び次元的な展開の場所及び期間を示すシステム及び方法を別個に提供する。
【００１９】
本発明は、データファイルの元のコピーに関係なく、埋め込まれた情報を含む修正されたデータファイルから埋め込まれた情報を抽出できるようにするシステム及び方法を別個に提供する。
【００２０】
本発明は、修正されたデータファイルの部分を選択的に次元圧縮し、次元展開することにより情報を埋め込むために、修正されたデータファイルを修正する前に所定の関数に一致する速度を有するようにデータファイルを修正するシステム及び方法をさらに提供する。
【００２１】
本発明は、予測された速度とデータファイル内での実際の速度の差を求めることによって、埋め込まれた情報を含むデータファイルから埋め込まれた情報を抽出するためのシステム及び方法をさらに提供する。
【００２２】
本発明による多様な例示的な実施形態において、情報は原データファイルの中に埋め込まれる。該原データファイルは指定された次元に沿って延び、その指定された次元に沿って延びる部分に分割できる、つまりその指定された次元に沿って延びる部分に自然に区分される。情報は、指定された次元に沿って部分のいくつかまたはすべてのそれぞれのサイズを選択的に次元圧縮する、または次元展開することによってデータファイルの中に埋め込まれる。多様な例示的な実施形態では、指定される次元とは空間または時間である。
【００２３】
多様な例示的な実施形態において、データファイルの部分は、指定された符号化方式によって選択的に次元展開または次元圧縮される。この符号化方式は、埋め込まれた情報の一部を記憶するために、次元圧縮または次元展開のどちらかである修正の種類を使用できる。代わりに、この符号化方式は、埋め込まれた情報の一部を記憶するために隣接する部分間で、次元圧縮または次元展開のどちらかである修正の種類の関係性を使用することができる。多様なそれ以外の例示的な実施形態では、次元圧縮または次元展開の期間または程度が、埋め込まれた情報の一部を記憶するために使用される。埋め込まれた情報の該部分は、バイナリ情報あるいは３値またはそれ以外の多値の離散情報の個々のビットであるか、あるいはアナログ情報の一部である場合がある。
【００２４】
多様な例示的な実施形態では、埋め込まれた情報は、修正されたデータファイルを、直接的または間接的のどちらかで未修正の原データファイルのコピーと比較することにより、修正されたデータファイルから抽出される。直接的または間接的な比較に基づいて、次元圧縮され、次元展開された部分のパターンを表すマップを求めることができる。求められたマップ及び使用されている特定の符号化方式に基づき、次元圧縮され、次元展開された部分のパターンを、埋め込まれたアナログ情報またはデジタル情報に変換し直すことができる。
【００２５】
多様な例示的な実施形態においては、情報が埋め込まれる前に、データファイルは、指定された次元に沿ったデータファイルの部分の速度が、指定された関数に一致するように最初に修正される。修正されたデータファイルの部分は、それからさらに、情報を埋め込むために、部分のいくつかを選択的に次元圧縮または次元展開することによって修正される。それから、該埋め込まれた情報は、指定された関数に基づいて予想される速度を予測するために修正されたデータファイルを分析することによって抽出することができる。特定の部分の予測速度と実際の速度間の差は、情報を埋め込むために使用されるその部分の修正の種類及び程度を定める。このようにして、その差は、符号化方式に基づいて埋め込まれたアナログ情報またはデジタル情報にその後変換し直すことができる、次元圧縮され、次元展開される部分のパターンを定める。
【００２６】
本発明によるシステム及び方法の多様な例示的な実施形態においては、きわめて低い周波数変調に対する人間の感覚器官の鈍感さのために、大部分のファイルについては、埋め込まれたデータまたはウォータマークは、実際には検出不可能だろう。同時に、変調を伝搬する、埋め込まれたデータは、伝送及びデータ圧縮に対して例外的に耐久性が大きい。
【００２７】
本発明のこれらの及びそれ以外の特徴及び優位点は、本発明による装置／システムならびに方法の以下の詳細な記述に説明され、そこから明らかになるだろう。
【００２８】
本発明の第１の態様は、データの第１セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットの中に埋め込むためのデータ埋め込み方法であって、前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測し、前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第２セットを時間次元に沿って圧縮及び展開し、前記データの第２セットの前記複数の部分から選択した選択部分を、前記データの第１セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第２セットに前記データの第１セットを埋め込むデータ埋め込み方法である。
【００２９】
本発明の第２の態様は、第１の態様において、データの第２セットの部分の少なくともいくらかの範囲を選択的に次元圧縮及び展開する前に、前記複数の部分ごとに予測される速度を求めるためにデータの第２セットを分析し、データの第２セットの複数の部分のそれぞれに、その部分についての実際の速度がその部分についての予測される速度に一致するように、その部分についての実際の速度を修正すること、をさらに備える方法である。
【００３０】
本発明の第３の態様は、第２の態様において、前記複数の部分のそれぞれについて予測される速度を求めるためにデータの第２セットを分析することが、速度についての所定の関数に基づいて予測される速度を求めることを備える、方法である。
【００３１】
本発明の第４の態様は、第３の態様において、前記速度についての所定の関数が一定の速度を予測するための関数である、方法である。
【００３２】
本発明の第５の態様は、第３の態様において、前記所定の関数が、周期的に変化する速度を予測するための関数である、方法である。
【００３３】
本発明の第６の態様は、第１の態様において、前記データの第１セットがウォータマークである、方法である。
【００３４】
本発明の第７の態様は、第６の態様において、前記ウォータマークが、ソース、作成の時間、作成の場所、識別値、識別名、作成者名、及び所有者名のうちの少なくとも１つを識別する、方法である。
【００３５】
本発明の第８の態様は、第１の態様において、前記データの第２セットが、音声データ及びビデオデータのうちの少なくとも１つであり、前記第１の次元が時間である、方法である。
【００３６】
本発明の第９の態様は、第１の態様において、前記データの第２セットが、静止画像データ及びビデオデータのうちの少なくとも１つであり、前記少なくとも１つの次元が少なくとも第１の空間次元であり、データの第２セットを複数の部分に分割することが、データの第２セットを、前記第１の空間次元に沿って延びる複数の部分に分割することを備え、前記少なくとも第１の次元に沿ってデータの第２セットの部分の少なくともいくつかの範囲を選択的に次元圧縮及び次元展開することが、前記第１の空間次元に沿ってデータの第２セットの部分の少なくともいくらかの範囲を選択的に次元圧縮及び展開することを備える、方法である。
【００３７】
本発明の第１０の態様は、第１の態様において、データの第２セットが、静止画像データ及びビデオデータのうちの少なくとも１つであり、前記少なくとも１つの次元が、第１の空間次元及び第２の空間次元を備え、データの第２セットを複数の部分に分割することが、データの第２セットを、第１の空間次元及び第２の空間次元のそれぞれに沿った成分を有する軸に沿って延びる複数の部分に分割することを備え、少なくとも第１の次元に沿ってデータの第２セットの部分の少なくともいくつかの範囲を選択的に次元圧縮及び展開することが、前記軸に沿ってデータの第２セットの部分の少なくともいくらかの範囲を選択的に次元圧縮及び展開することを備える、方法である。
【００３８】
本発明の第１１の態様は、データの第１セットを、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットの中に埋め込むためのデータ埋め込みシステムであって、前記複数の部分毎に単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測する速度予測回路またはルーチンと、前記複数の部分毎の実際の前記速度が、予測された前記速度と一致するように前記データの第２セットを時間次元に沿って圧縮及び展開する速度変更回路またはルーチンと、前記データの第２セットの前記複数の部分から選択した選択部分を、前記データの第１セットの値に対応させたパターンであって前記時間次元に沿って圧縮及び展開するためのパターンに従って、圧縮及び展開することにより前記データの第２セットに前記データの第１セットを埋め込むウォータマーク回路またはルーチンと、を備えるシステムである。
【００３９】
本発明の第１２の態様は、第１１の態様において、前記データの第２セットを分析し、前記複数の部分のそれぞれに予測される速度を求める速度予測回路またはルーチンと、前記データの第２セットの前記複数の部分のそれぞれについて、その部分の実際の速度がその部分の予測される速度と一致するように、その部分の実際の速度を修正する速度変更回路またはルーチンと、をさらに備える、システムである。
【００４０】
本発明の第１３の態様は、第１２の態様において、前記速度予測回路またはルーチンは、速度についての所定の関数に基づいて、前記複数の部分のそれぞれについて予測される速度を求める、システムである。
【００４１】
本発明の第１４の態様は、第１３の態様において、前記速度についての所定の関数が一定の速度を予測するための関数である、システムである。
【００４２】
本発明の第１５の態様は、第１３の態様において、前記所定の関数が、周期的に変化する速度を予測するための関数である、システムである。
【００４３】
本発明の第１６の態様は、第１１の態様において、前記データの第１セットがウォータマークである、システムである。
【００４４】
本発明の第１７の態様は、第１６の態様において、前記ウォータマークが、ソース、作成の時間、作成の場所、識別値、識別名、作成者名、及び所有者名のうちの少なくとも１つを識別する、システムである。
【００４５】
本発明の第１８の態様は、第１１の態様において、前記データの第２セットが、音声データ及びビデオデータの少なくとも１つであり、第１の次元が時間である、システムである。
【００４６】
本発明の第１９の態様は、第１１の態様において、前記データの第２セットが静止画像データ及びビデオデータのうちの少なくとも１つであり、前記少なくとも１つの次元が、少なくとも第１の空間次元であり、前記データの第２セットが、第１の空間次元に沿って延びる複数の部分に分割され、ウォータマーク回路またはルーチンが、前記第１の空間次元に沿ってデータの第２セットの部分の少なくともいくらかの範囲を選択的に次元圧縮、展開する、システムである。
【００４７】
本発明の第２０の態様は、第１１の態様において、前記データの第２セットが、静止画像データ及びビデオデータのうちの少なくとも１つであり、前記少なくとも１つの次元が、第１の空間次元及び第２の空間次元を備え、前記データの第２セットが、前記第１の空間次元及び前記第２の空間次元のそれぞれに沿った成分を有する軸に沿って延びる複数の部分に分割され、ウォータマーク回路またはルーチンが、前記軸に沿ってデータの第２セットの部分の少なくともいくらかの範囲を選択的に次元圧縮及び展開する、システムである。
【００４８】
本発明の第２１の態様は、データの第１セットを、前記データの第１セットが埋め込まれているデータの第２セットから抽出するための方法であって、該データの第２セットは、それに沿って延びる少なくとも１つの次元を有し、複数の部分を有し、該複数の部分のそれぞれが前記少なくとも１つの次元のうちの少なくとも第１の次元に沿った範囲を有し、前記方法は、前記データの第１セットが埋め込まれている前記データの第２セットを、データの第１セットを含まないデータの第２セットの基準コピーと比較し、比較に基づいてデータの第１セットを符号化する複数の部分の次元圧縮及び次元展開された部分のパターンを生成し、前記複数の部分の次元圧縮及び次元展開されたパターンを、データの第１セットに変換すること、を備える方法である。
【００４９】
本発明の第２２の態様は、第２１の態様において、前記データの第１セットが埋め込まれているデータの第２セットを、データの第１セットを含まないデータの第２セットの基準コピーと比較することが、前記データの第１セットが埋め込まれているデータの第２セットから代表的なデータの第１セットを生成し、前記データの第１セットを含まないデータの第２セットから代表的なデータの第２セットを生成し、前記代表データの第１セットを前記代表データの第２セットと比較すること、を備える方法である。
【００５０】
本発明の第２３の態様は、第２２の態様において、前記代表データの第１セット及び第２セットが、第１スペクトログラム及び第２スペクトログラムである、方法である。
【００５１】
本発明の第２４の態様は、第２１の態様において、前記データの第１セットがウォータマークである、方法である。
【００５２】
本発明の第２５の態様は、第２４の態様において、前記ウォータマークが、ソース、作成の時間、作成の場所、識別値、識別名、作成者名、及び所有者名のうちの少なくとも１つを識別する、方法である。
【００５３】
本発明の第２６の態様は、第２１の態様において、前記データの第２セットが、音声データ及びビデオデータのうちの少なくとも１つであり、第１の次元が時間である、方法である。
【００５４】
本発明の第２７の態様は、第２１の態様において、前記データの第２セットが、静止画像データ及びビデオデータのうちの少なくとも１つであり、前記少なくとも１つの次元が、少なくとも第１の空間次元である、方法である。
【００５５】
本発明の第２８の態様は、第２１の態様において、前記データの第２セットが、静止画像データ及びビデオデータのうちの少なくとも１つであり、前記少なくとも１つの次元が、第１の空間次元及び第２の空間次元を備え、前記データの第２セットが、第１の空間次元及び第２の空間次元のそれぞれに沿った成分を有する軸に沿って延びる複数の部分を備え、前記データの第１セットが埋め込まれているデータの第２セットを、データの第１セットを含まないデータの第２セットの基準コピーと比較することが、データの第１セットが埋め込まれているデータの第２セットを、前記軸に沿ったデータの第１セットを含まないデータの第２セットの基準コピーと比較することを備える、方法である。
【００５６】
本発明の第２９の態様は、第２１の態様において、前記複数の部分の次元圧縮、及び次元展開された部分のパターンを、データの第１セットに変換することが、前記パターンの少なくとも１つの部分を少なくとも１つのテンプレートと比較することを備える、方法である。
【００５７】
本発明の第３０の態様は、第２９の態様において、前記少なくとも１つのテンプレートが、少なくとも１つの予め定められたテンプレートである、方法である。
【００５８】
本発明の第３１の態様は、第２９の態様において、前記少なくとも１つのテンプレートを概算することをさらに備える、方法である。
【００５９】
本発明の第３２の態様は、第２１の態様において、前記複数の部分の次元圧縮及び次元展開された部分のパターンをデータの第１セットに変換することが、前記パターンの各部分を少なくとも１つの閾値と比較することを備える、方法である。
【００６０】
本発明の第３３の態様は、第３２の態様において、前記少なくとも１つの閾値が、少なくとも１つの予め定められた閾値である、方法である。
【００６１】
本発明の第３４の態様は、第３２の態様において、前記少なくとも１つの閾値を概算することをさらに備える、方法である。
【００６２】
本発明の第３５の態様は、データの第１セットが埋め込まれた、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットからデータの第１セットを抽出するためのデータ抽出方法であって、前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分ごとに、単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測すると共に、実際の速度を求め、前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分の各々について、予測された前記速度と実際の前記速度とを比較し、前記複数の部分についての比較に基づいて、前記データの第２セットの前記複数の部分から選択した選択部分の圧縮及び展開のパターンを生成し、生成した前記パターンを、データの第１セットの値に変換することにより、前記データの第２セットから前記データの第１セットを抽出すること、を備える方法である。
【００６３】
本発明の第３６の態様は、第３５の態様において、前記データの第２セットの各部分について、その部分の予測される速度を求めることが、所定の関数に基づいてデータの第２セットを分析することを備える、方法である。
【００６４】
本発明の第３７の態様は、第３６の態様において、前記所定の関数が一定の速度を予測するための関数である、方法である。
【００６５】
本発明の第３８の態様は、第３６の態様において、前記所定の関数が、周期的に変化する速度を予測するための関数である、方法である。
【００６６】
本発明の第３９の態様は、データの第１セットを、該データの第１セットが埋め込まれているデータの第２セットから抽出するシステムであって、前記データの第２セットが、それに沿って延びる少なくとも１つの次元を有し、複数の部分を有し、該複数の部分が、前記少なくとも１つの次元のうちの少なくとも第１の次元に沿った範囲を有し、前記システムは、前記データの第１セットが埋め込まれているデータの第２セットを、データの第１セットを含まないデータの第２セットの基準コピーと比較する比較回路またはルーチンと、比較に基づいてデータの第１セットを符号化する複数の部分の次元圧縮及び次元展開された部分のパターンを決定する速度生成回路またはルーチンと、前記複数の部分の次元圧縮及び次元展開された部分のパターンをデータの第１セットに変換するウォータマーク復号回路またはルーチンと、を備えるシステムである。
【００６７】
本発明の第４０の態様は、第３９の態様において、前記データの第１セットが埋め込まれているデータの第２セットから代表的なデータの第１セットを生成し、データの第１セットを含まないデータの第２セットから代表的なデータの第２セットを生成し、代表的なデータの第１セットを、代表的なデータの第２セットと比較することによって、比較回路またはルーチンが、前記データの第１セットが埋め込まれているデータの第２セットを、データの第１セットを含まないデータの第２セットの基準コピーと比較する、システムである。
【００６８】
本発明の第４１の態様は、第４０の態様において、前記代表的なデータの第１セット及び第２セットが、第１スペクトログラム及び第２スペクトログラムである、システムである。
【００６９】
本発明の第４２の態様は、第３９の態様において、前記データの第１セットがウォータマークである、システムである。
【００７０】
本発明の第４３の態様は、第４２の態様において、前記ウォータマークが、ソース、作成の時間、作成の場所、識別値、識別名、作成者名、及び所有者名のうちの少なくとも１つを識別する、システムである。
【００７１】
本発明の第４４の態様は、第３９の態様において、前記データの第２セットが、音声データ及びビデオデータのうちの少なくとも１つであり、第１の次元が時間である、システムである。
【００７２】
本発明の第４５の態様は、第３９の態様において、前記データの第２セットが、静止画像データ及びビデオデータのうちの少なくとも１つであり、前記少なくとも１つの次元が、少なくとも第１の空間次元である、システムである。
【００７３】
本発明の第４６の態様は、第３９の態様において、前記データの第２セットが、静止画像データ及びビデオデータのうちの少なくとも１つであり、前記少なくとも１つの次元が、第１の空間次元及び第２の空間次元を備え、前記データの第２セットが、第１の空間次元及び第２の空間次元のそれぞれに沿った成分を有する軸に沿って延びる複数の部分を備え、前記比較回路またはルーチンが、データの第１セットが埋め込まれているデータの第２セットを、前記軸に沿ってデータの第１セットを含まないデータの第２セットの基準コピーと比較する、システムである。
【００７４】
本発明の第４７の態様は、第３９の態様において、前記ウォータマーク復号回路またはルーチンが、パターンの少なくとも一部を少なくとも１つのテンプレートと比較することによって、データの第１セットに、複数の部分の次元圧縮及び次元展開された部分のパターンを変換する、システムである。
【００７５】
本発明の第４８の態様は、第４７の態様において、前記少なくとも１つのテンプレートが、少なくとも１つの予め定められたテンプレートである、システムである。
【００７６】
本発明の第４９の態様は、第４７の態様において、前記少なくとも１つのテンプレートを概算することを備える、システムである。
【００７７】
本発明の第５０の態様は、第３９の態様において、前記ウォータマーク復号回路またはルーチンが、パターンの各部分を少なくとも１つの閾値と比較することによって、前記複数の部分の次元圧縮及び次元拡大された部分のパターンをデータの第１セットに変換する、システムである。
【００７８】
本発明の第５１の態様は、第５０の態様において、前記少なくとも１つの閾値が少なくとも１つの予め定められた閾値である、システムである。
【００７９】
本発明の第５２の態様は、第５０の態様において、前記少なくとも１つの閾値を概算することをさらに備える、システムである。
【００８０】
本発明の第５３の態様は、データの第１セットが埋め込まれた、時間次元に沿って変化し、かつ予め定めた時間間隔で複数の部分に分割されたデータの第２セットから、データの第１セットを抽出するためのデータ抽出システムであって、前記データの第１セットが埋め込まれた前記データの第２セットの部分ごとに、単位時間当たりのデータの変化量で表される速度についての所定の関数に基づいて、前記速度を予測すると共に、実際の前記速度を求める速度決定回路またはルーチンと、前記データの第１セットが埋め込まれた前記データの第２セットの複数の部分の各々について、予測された速度と実際の速度とを比較する比較回路またはルーチンと、前記複数の部分についての比較に基づいて、前記データの第２セットの前記複数の部分から選択した選択部分の圧縮及び展開のパターンを生成する速度マップ生成回路またはルーチンと、生成した前記パターンを、データの第１セットの値に変換するウォータマーク復号回路またはルーチンと、 を備えるシステムである。
【００８１】
本発明の第５４の態様は、第５３の態様において、前記データの第２セットの部分ごとに、その部分についての予測される速度を求めることが、所定の関数に基づいてデータの第２セットを分析することを備える、システムである。
【００８２】
本発明の第５５の態様は、第５４の態様において、前記所定の関数が一定の速度を予測するための関数である、システムである。
【００８３】
本発明の第５６の態様は、第５４の態様において、前記所定の関数が、周期的に変化する速度を予測するための関数である、システムである。
【００８４】
【発明の実施の形態】
本発明の多様な例示的な実施形態が、以下に図を参照て詳細に説明される。
【００８５】
本発明によるシステム及び方法の多様で例示的な実施形態は、与えられた次元に沿って延びるデータファイルの部分を、気付かれないほどの量、選択的に次元圧縮または次元展開し、そのデータファイルの中にデータを埋め込むウォータマーク技術を利用する。多様な例示的な実施形態においては、音声信号の基調時間軸または画像の空間的偏位が、気付かれないほどの量、次元圧縮または次元展開される。
【００８６】
本発明によるシステム及び方法は、「時間ベースの」、あるいは類推によって「空間ベースの」埋め込み技法及び抽出技法を使用して、ウォータマークされた音声ファイル及び／またはウォータマークされた画像からウォータマーク及びその他のデジタルデータを埋め込まれ、抽出することを目的とする。ここに説明されるように、本発明によるこれらの時間ベースの技法及びこれらの空間ベースの技法が、同じ中心的な概念を表現する代替方法である、つまりウォータマークなどのそのデータが、音声ファイル及び／または画像の要素間の「時間的」または「空間的」な関係性を操作することによって、音声ファイル及び画像にデジタルで符号化することができることを理解されたい。したがって、以下で明らかになるように、本発明によるこれらの時間ベースの技法及び空間ベースの技法は、単に同じ普遍的な概念の異なる態様にすぎない。
【００８７】
図１は、本発明の基本的な概念を描く。図１に示されるように、第１の次元ｘに沿った範囲を有するデータ１０の基準セットは、異なる部分１１〜１５を含む。本発明に従って、これらの部分のいくつか、例えば、図１に示される部分１２と１３は、第２データセット２０を作成するために、相対的に次元圧縮または次元展開される。該第２データセット２０は、複数の部分２１〜２５も含む。各部分２１〜２５は、それぞれ第１データセット１０の部分１１〜１５に１対１に対応する。
【００８８】
図１に示されるように、次元ｘに沿った部分２２の範囲は、データセット１０の対応する部分１２の範囲を基準にして次元圧縮された。対照的に、次元ｘに沿った部分２４の範囲は、第１データセット１０の対応する部分１４の範囲を基準にして次元展開された。最後に、次元ｘに沿った残りの部分２１、２３及び２５の範囲は、それぞれ対応する部分１１、１３、及び１５の範囲を基準にして未変更のままである。したがって、データセット１０が基準データセットを定める場合、データセット２０は、なんらかの埋め込まれた情報を含むウォータマークされたデータを定める。情報は、対応する部分２１〜２５の次元ｘに沿った範囲を基準にして部分１１〜１５の次元ｘに沿った元の範囲の相対的な関係性に従って埋め込まれる。
【００８９】
記録される音声情報はタイムレスな状態で存在するが、その記録される音声データは流体媒体内の時間変化する圧力波を表す時間変化する電気信号を定める。その結果として、音声データファイル内に記憶されている情報は、時間次元に沿って音声データを表示することによって最もよく表される。それゆえに、音声データについて、図１に示される次元ｘは、時間次元に対応することがある。このようにして、図１に示される方法で音声データファイルの中にデータを埋め込むためには、原音声データファイルの部分が、ウォータマークされる音声ファイルを作成するために、時間圧縮あるいは時間展開される。言うまでもなく、音声データは、その他の次元に沿って表すことができることを理解されたい。適切な場合、本発明によるシステム及び方法は、このような次元及び表現とともに等しく使用できる。
【００９０】
対照的に、静止画像データは、音声データが空間次元を有さないのと同じように、時間次元を有さない。むしろ、静止画像データは、情報の空間的に変化するセットを定める。同様にして、ビデオデータは、時間次元と空間次元の両方を有する。結果的に、静止画像データに対しては、図１に示される次元ｘが、画像が広がる（延びる）ことのできる空間な１次元、２次元または３次元のうちの１つを定義する。ビデオデータの場合、次元ｘは、２つまたは３つ以上の空間的な次元または時間次元の内の１つである場合がある。このようにして、静止画像データまたはビデオ画像データについて、データセット１０に対応する原データセットの部分は、図１に示されるデータセット２０に対応するウォータマークされたデータを作成するために空間的に圧縮され、空間的に展開することができる。
【００９１】
言うまでもなく、次元ｘが、情報伝搬信号が第１レベルの情報を伝達するために変化するであろう任意の次元である場合があり、その結果、その次元で延びるその情報の部分が、第２レベルの情報を含むように選択的に次元圧縮、次元展開されることを理解されたい。
【００９２】
上記に概略されたように、図１は、任意の次元ｘで延びるデータセット１０などのデータセットが、ウォータマークされたデータセット２０を作成するためにデータセット１０の部分を選択的に次元展開し、次元圧縮することによって追加情報を埋め込むためにどのようにして修正できるのかを示す。しかしながら、その埋め込まれた情報を容易に抽出するためになんらかの方法を使用しない場合、図１に描かれている技法は本質的に無用である。したがって、図２は、ウォータマークされたデータセットから埋め込まれた情報を抽出するための技法の１つの例示的な実施形態を示す。特に、図２は、ウォータマークされたデータセット２０を、基準、つまり原データセット１０と比較することによって、埋め込まれたデータを抽出する方法を示す。特に、図２に示されるプロットは「速度マップ」として定められる。図２に示される速度マップは、次元ｘに沿ってウォータマークされたデータセット２０の対応する位置を基準にする、基準データセット１０の各部分の相対的な位置決めを示す。
【００９３】
図２に示されるように、基準部分１１、１３、及び１５、ならびにウォータマークされたデータセットの対応する部分２１、２３、及び２５について、これらの部分の各要素の次元ｘに沿った位置は、同じ相対的な位置の変化を有する。このようにして、次元ｘに沿ったこれらの部分の相対的な位置をプロットする線の傾きは「１」である。これは、対応する部分１３と２３に対しても当てはまる。このようにして、部分１３と２３は、図１に示されるように、互いを基準にして偏位されても、それらは部分１３と２３の始端から部分１３と２３の終端まで次元ｘに沿った位置での同じ相対的な変化を有する。しかしながら、部分１３と２３の絶対的な位置は次元ｘに沿って互いを基準にして偏位されるため、これらの部分１３と２３の速度マップの部分は、１という傾きを有する一方、１という傾斜を有し、原点を通過する線から偏位される。
【００９４】
その結果、基準データセット１０がＸ軸に沿ってプロットされ、ウォータマークされたデータセット２０が、部分２２などの基準データセット１０を基準にして次元圧縮されるウォータマークされたデータセット２０の部分についてＹ軸に沿ってプロットされると、時間マップの対応する部分は、１未満の傾きを有する。速度マップの任意のこのような部分の特定の傾きは、次元圧縮の程度に依存するだろう。同様に、部分２４などのウォータマークデータセットを基準にして次元展開されるウォータマークされたデータセット２０の部分について、速度マップの対応する部分は１より大きい傾きを有する。ここでも、速度マップのこのような対応する部分についての正確な傾きは、時限展開の程度に依存するだろう。
【００９５】
言うまでもなく、バイナリ情報、及びアナログ情報も、速度マップの形状及び既知の符号化方式に基づいてウォータマークデータセットから抽出することができる。例えば、簡略なコーディング方式は、１より大きい傾きを有する部分を「１」として定義する一方、１未満の傾きを有する任意の部分を「０」として定義することができる。代わりに、別の方式は、１未満の傾きを有する任意の部分を「−１」として、１より大きい傾きを有する任意の部分を「＋１」として、及び１に等しい傾きを有する任意の部分を「０」として定義できるだろう。対照的に、さらに別の方式は、１以外から１への傾きの変化を無視する一方で、１から１未満または１より大きいのどちらかに変化する傾きをそれぞれ「０」または「１」と定義できるだろう。
【００９６】
バイナリデータが傾きの変化においてだけではなく、修正された部分の期間においても符号化できることを、さらに理解されたい。さらに、アナログデータを、次元圧縮または次元展開の程度に基づいて埋め込むことができることも理解されたい。結果として、傾きは、２値、３値、またはその他の多値離散値より、むしろ、アナログ値を表すだろう。情報を符号化するために、次元圧縮及び次元展開の多くの異なるパターンが使用できることを理解されたい。このようにして、次元圧縮と次元展開の程度だけではなく、変更される領域の開始場所及び終了場所も、基準データセットを基準にしてウォータマークされたデータセットの中に情報を埋め込むために使用できる。
【００９７】
多様な例示的な実施形態において、ある特定のウォータマークされたデータセットについて、ウォータマークされるデータファイル内での次元圧縮の総量と次元限界の総量は同じであり、その結果、ウォータマークされたデータセットのサイズは、基準データセットのサイズと同じサイズである。これは厳密には必要ではないが、それが、ある特定のデータセットがウォータマークされたことと、同じデータセットのさまざまなコピーが異なるウォータマークを有することを識別することをさらに困難にし、特定のウォータマークされたデータセットによって伝搬される特定のウォータマークを特定することをさらに困難にするという点で、これは有利である。
【００９８】
本発明者は、約１％から２％という次元圧縮／展開率で満足の行く結果を得ることができることを経験的に突き止めた。次元圧縮／展開率が、このレベルを超えて増加できることを理解されたい。しかしながら、次元圧縮／展開率は、おそらく検出可能なアーティファクト（ａｒｔｉｆａｃｔｓ）をウォータマークされたデータセットに生じさせるだろう。すなわち、相対的に低い次元圧縮／展開率を使用する１つの優位点は、ウォータマークデータセットの部分の内の多様な部分の結果として生じる圧縮及び／または展開が、人間の感覚器官によって知覚できないという点である。
【００９９】
多様な例示的な実施形態においては、約８ｂｐｓ（毎秒８ビット）という符号化速度が、音声データファイルを修正する上で実現可能である。一般的には、符号化速度は、特定の次元ｘに沿った修正がどの程度好ましくなくなるのかによってだけ制限される。会話などの多くの用途については、最高５％から１０％の次元圧縮／展開率が使用可能であり、符号化速度も対応して増加する。
【０１００】
多様な例示的な実施形態においては、図２に示される速度マップは、基準データセット１０とウォータマークされたデータセット２０の間に、瞬間的な最良の整列の位置決めをすることにより作成される。多様な例示的な実施形態においては、この瞬間的な最良の整列は、動的なプログラミングを使用して位置決めされる。特に、多様な例示的な実施形態においては、基準データセットのある部分とウォータマークデータセットのある部分の間の距離は、特定の種類の信号及びデータセットが延びる特定の次元に応じて、任意の数の異なる測定基準を使用して定められる。この距離は、ウォータマークされたデータセット２０と基準データセット１０の間で最良の整列を見出すための従来の動的なプログラミング技法において使用される。この最良の適合は、ウォータマークされるデータセットを得るために使用される基準データセットのｘ次元ベースの修正の推定値としての役割を果たす。
【０１０１】
一般的には、上記に概略したように、直線距離からのあらゆる偏差は、ウォータマークされたデータセット２０のその部分の次元展開及び／圧縮によるものである。該偏差は、図２に示される速度マップを作成する際に検出し、使用することができる。一般的には、線形マップからの差が、図２に示されるようにプロットされるとき、次元圧縮される領域は、０と１の間の傾きを有するとして表示されるであろうが、展開された領域は、１より大きい傾きを有する領域として表示されるだろう。上記に概略されたように、「通常の」速度の領域は、１という傾きを有するであろうが、おそらく１という傾きを有する線から偏位（オフセット）され、原点を通って延びるだろう。この偏位は、過去に次元圧縮された領域及び／または過去に次元展開された領域のｘ次元に沿った累積的な偏位のために生じる。図２では、次元圧縮及び次元展開率は、通常、実践で使用されるであろうよりはるかに大きく示されることも理解されたい。ただし、単位元に大変近い現実的な次元圧縮係数を、この尺度で見ることは困難だろう。
【０１０２】
多様な例示的な実施形態では、音声データが使用されるとき、基準音声データセット及びウォータマーク音声データセットのスペクトログラムが作られる。多様な例示的な実施形態では、スペクトログラムは、従来の技法を使用して作られる。音声データのスペクトル含有量が、第一次近似では、データ圧縮及びアナログ伝送中で一様であるために、直線波形比較よりむしろスペクトログラムが使用されることを理解されたい。対照的に、音声データの時間ドメイン波形は、データ圧縮及び／またはアナログ変換の後に著しく異なってよい。本発明者によって実行された多様な実験においては、中間周波数成分のユークリッド距離は、音声データを分析するために使用されるスペクトログラムウィンドウの間の差を測定するための測定基準として使用された。
【０１０３】
ウォータマーク、つまりより一般的には研究に関し上述されたデータ埋め込みのために、ウォータマークされるデータのデータ値は、次元ｘに沿って明確なまたはかなりの程度まで変化しなければならないことを理解されたい。それ以外の場合、基準データを基準にして圧縮または展開されたウォータマークデータのそれらの部分を特定することにより、図２に示される速度マップを生成することは不可能になる。例えば、音声データの場合、該音声データは、図２に示される速度マップのためのかなりのスペクトル変化を生成可能としなければならない。このようにして、無音または試験音などのスペクトル変化のほとんどない音声は、基準データセットとして使用することはできない。
【０１０４】
特に、この種の音声データは大きなスペクトル変化を有さないため、音声データの多様な部分の次元圧縮及び次元展開は、データを大幅に変更しないだろう。その結果、基準データを基準にして、ウォータマークされたデータが次元圧縮、または次元展開された場所は特定することができない。ただし、重要な任意のデータセットは、概して重要な次元ｘに沿ってかなりの変化性を有するであろうため、これは、大部分のドメインでの大部分のデータセットのための主要な要件ではないことを理解されたい。例えば、音楽、話、サウンドトラック音声等の重要な大部分の音声データは、基準データとウォータマークされたデータ間の整列が特定できるように、十分なスペクトル変化を有するだろう。
【０１０５】
データセットのある特定の部分に十分な可変性があるかどうかを判断し、データ修正が検出可能であるかどうかを判断するために、データセットを分析できることを理解されたい。例えば、音声データセット内でのフレーム間スペクトル差の簡略な測定基準は、その音声データセットのウォータマーク検出可能性の推定値を示すだろう。分析に基づき、音声データセットの低スペクトル差の領域は、ウォータマークプロセスで無視することができる。同様にして、重要な次元ｘに沿った任意のデータセットの低変化性の領域も同じ方法で無視することができる。動的プログラミングウォータマーク復元または抽出は線形整合に基づいているため、これらの領域は、ウォータマークデータを抽出するプロセスを中断させないだろう。
【０１０６】
図１と図２は、不特定のデータセットと関心のある不特定の次元ｘとに関して上述された。上記に示されたように、図１と図２に関して上記に概略された技法は、特定の次元ｘに沿って十分な可変性を有する任意の種類のデータとともに使用できることを理解されたい。しかしながら、以下の説明は、本発明によるシステム及び方法が特に有効である、２つの重要な種類のデータ、つまり重要な異なる次元、すなわち時間と空間をそれぞれ有する音声データと画像データに焦点を当てる。
【０１０７】
特に、音声データに関して、本発明のシステム及び方法は、過去のアプローチに優るいくつかの重要な優位点を有する。１つの重要な優位点とは、大部分の音声データにとって、時間次元に沿って音声データを次元圧縮及び次元展開するときに作成される音声データに対する変更は、通常実質的に検出不可能であるという点である。これは、主に、きわめて低い周波数変調に対する人間の聴覚器官の鈍感さのためである。
【０１０８】
同時に、ウォータマークデータまたはその他のデータを音声データの中に埋め込むために使用される時間圧縮及び拡張は、伝送及びデータ圧縮に対してきわめて耐久性が大きい。これは、現在のデジタル音声技術が、毎時約数マイクロ秒の時間精度を有するために発生する。人間によって作り出される会話または音楽などの大部分の音声データは、本発明によるデータ埋め込みシステムすなわちウォータマークシステムによって生じる人工的な速度変化が、通常、容易に検出不可能であるような十分に自然な変動を有する。
【０１０９】
さらに、アナログ記録再生装置内での固有な速度変化などの意図されていない速度変化は、概して埋め込まれたデータと干渉しないだろう。例えば、不正確なプレイバック速度によって引き起こされる直線速度変化は、通常、埋め込まれたデータに変化をもたらさないだろう。さらに、ワウ（ｗｏｗ）とフラッタ（ｆｌｕｔｔｅｒ）などのアナログ記録欠陥は、本発明に従ってデータを埋め込むために使用される速度変化より大幅に短い時間スケールで発生する。したがって、これらのアナログ記録欠陥は、一般に平均化され、埋め込まれたデータに影響を及ぼさない。
【０１１０】
しかしながら、リスナー（聴取者）が、コンピュータシーケンサまたはその他の機械的な装置によって生成される厳密にリズミカルな音楽について、これらのデータ埋め込みシステム及び方法により引き起こされる人工的な速度変化を認識する可能性があることを理解されたい。この場合、ビート間の間隔の細かな分析が速度修正を明らかにする可能性がある。ただし、このような速度修正は、概して依然として平均的なリスナーにとっては気付かれないままであるだろう。
【０１１１】
埋め込まれたデータが、音声領域の時間スケールを故意に変更することによって部分的にわかりにくくされたり、劣化されることがあることも理解されたい。ウォータマークは、過去に埋め込まれた速度ベースのウォータマークの上に、別の速度ベースのウォータマークを重ね合わせることによってもおそらく分かりにくくされるか、劣化されることがある。しかしながら、これは、言うまでもなく、第２速度ベースのウォータマークがたまたま第１速度ベースのウォータマークの正確に逆でない限り、過去のウォータマークを削除しないだろう。それは、言うまでもなく、原未修正音声データセットへのアクセスを必要とする。
【０１１２】
音声データの中に埋め込まれるデータがデジタル署名であるときには、このこのような変更は、ウォータマークとデジタル署名の両方を無効にするだろう。このようにして、この変更は容易に検出できるだろう。存在する場合には、いくつかのそれ以外のウォータマーク方式が、複数のウォータマークの応用例の下で耐久性が大きいことを理解されたい。
【０１１３】
この同じ時間ベースの展開および時間ベースの圧縮ウォータマーク、つまりさらに一般的には、データ埋め込みの技法は、アナログビデオデータとデジタルビデオデータなどの、それ以外の種類の時間変化するデータとともに使用できることも理解されたい。ビデオデータについては、音声データのように、データは、ビデオデータの部分を選択的に時間圧縮、及び時間展開することによってビデオ信号の中に埋め込まれるだろう。
【０１１４】
同様に、これらの技法は、静止、つまり時間不変な画像データに適用することもできる。この場合、このような静止画像内で時間ベース圧縮および展開を使用するよりむしろ、データは、空間ベースの圧縮及び展開を使用することにより埋め込まれる。すなわち、画像の領域は、人間の視覚器官にとって見えないほどである量、選択的に空間圧縮及び空間展開される。例えば、周知のデジタル再サンプリング技法は、画像の選択された部分を、少量、引き伸ばし、あるいは圧縮することができる。代わりに、画像の選択された領域を選択的に展開または圧縮するために、機械的なまたは光学的な技法を使用することができる。このような機械的または光学的な技法は、ドラムまたはプラテンスキャナの速度を変化すること、用紙または印字ヘッド速度をプリンタ内で変化すること、またはドラムに関してコピー機内の円筒形の対物レンズの速度を変化させることを含む。
【０１１５】
時間変化するデータとは異なり、空間的に変化するデータは、多くの場合二次元または三次元でも変化することがさらに理解されなければならない。このようにして、２つまたは３つの軸に沿って画像データを選択的に圧縮、展開することができる。
【０１１６】
上記に示されたように、本発明によるシステム及び方法は、音声データの中にデータを埋め込むために特に有効である。音声信号のピッチのスケーリングのための時間スケール修正（ＴＳＭ）技法は、周知であり、一般的に使用されている。これらの技法は、それ以外の場合、単位速度を変更することだけで生じるであろう好ましくないピッチ修正を生じさせずに音声記録の長さを変更するために等しく使用することができる。ピッチのスケーリングは、多くの場合、さらに高速で音声記録をプレイバックするときに適用される。これは多くの場合、より短時間で音声記録を視聴するために適用される。次元圧縮及び展開が気付かれないほどでなければならないのであれば、単純な補間または再スケーリングがこのシステム及び方法とともに使用されてはならないことを理解されたい。すなわち、小さな率の場合にも、このような単純な補間は明らかなピッチの変更を引き起こす。
【０１１７】
一般的なＴＳＭ時間スケーリング技法は、短時間フーリエ変換に基づいている。しかしながら、位相ボコーダー法、時間ドメイン調和スケーリング法、及びピッチ同期重複追加（ＰＳＯＬＡ）法などのそれ以外の方法も幅広く使用されている。上記に概略されたものを含む任意の既知の時間スケーリング法あるいは後に開発される時間スケーリング法は、音声データセットの部分を圧縮、展開し、その音声データセットの中にデータを埋め込む、つまりウォータマークすることができる。一般的に、最も有効な方法とは、ほとんど可聴アーティファクトも生じさせない一方で、１に非常に近い率で圧縮または展開できる方法であることを理解されたい。
【０１１８】
図３は、ウォータマークデータを本発明に従って原データのセットの中に埋め込むための方法の１つの例示的な実施形態を概略するフローチャートである。図３に示されるように、方法の動作はステップＳ１００で開始し、原データセットが入力されるステップＳ１１０へ続く。次に、ステップＳ１２０では、原データの中に埋め込まれるデータのセット、つまり、ウォータマークデータが入力される。次に、ステップＳ１３０では、速度マップｆ（ｑ）が、埋め込まれるデータに基づいて生成される。それから、動作は、ステップＳ１４０へ続く。
【０１１９】
ステップＳ１４０では、ステップＳ１１０で入力される原データの部分が、ステップＳ１２０で入力される、埋め込み対象のデータが埋め込まれたウォータマークされたデータを生成するための速度マップｆ（ｑ）に基づいて、選択的に次元圧縮及び次元展開される。次に、Ｓ１５０では、ウォータマークされたデータが出力される。それから、ステップＳ１６０で、この方法の動作が終了する。
【０１２０】
ステップＳ１５０では、ウォータマークされたデータを様々な方法で出力することができることを理解されたい。例えば、ウォータマークされたデータが音声データである場合、ウォータマークされたデータはデジタル音声テープまたは標準アナログカセットテープの上に記憶することができる。代わりに、音声ファイルは、それがすでにデジタル形式となっているわけでない場合にはデジタル化し、コンパクトディスク、ＣＤ−ＲＯＭ、ＤＶＤ、または任意のそれ以外の揮発性または不揮発性のデジタルメモリデバイスに記憶することができる。さらに、ウォータマークされたデータファイルは、既知のまたは後に開発される、音声データファイルに適切なデータ圧縮技法を使用してデータ圧縮し、上述されたメモリデバイスの１つに記憶することができる。データが圧縮されているかどうかに関係なく、ウォータマークされた音声データは、インターネット、ローカルエリアネットワーク、広域ネットワーク、記憶領域ネットワーク、イントラネット、エクストラネット、公衆加入電話網、及び／またはケーブルテレビ網などの任意の既知の、あるいは後のプレイバックデバイスまたは分散ネットワークでの記憶及び／またはプレイバックのために、遠隔して位置するコンピュータまたは記憶装置に伝送できることも理解されたい。
【０１２１】
図４は、本発明に従ってウォータマークされたデータファイルから埋め込まれたデータを抽出するための方法の１つの例示的な実施形態を概略するフローチャートである。図４に示されるように、この方法の動作はＳ２００で開始し、ウォータマークされたデータファイルが入力されるステップＳ２１０へ続く。それから、Ｓ２２０では、ウォータマークされたデータファイルに対応する原データファイルが入力される。次に、ステップＳ２３０では、整列データが、ウォータマークされたデータファイル、及びウォータマークされたデータファイルと原データファイル間の整列を判断するために使用できる原データファイルから生成される。それから、動作はステップＳ２４０へ続く。
【０１２２】
ステップＳ２４０では、ウォータマークされたデータファイルからの整列データが、原データファイルからの整列データと整列される。次に、ステップＳ２５０では、ウォータマークされたデータのための整列データと原データのための整列データの間で決定された整列に基づいて、速度マップが生成される。それから、ステップＳ２６０では、速度マップは、ウォータマークされたデータの中に埋め込まれた、埋め込み済みのデータを得るために変換または復号される。それから、動作はステップＳ２７０へ続く。
【０１２３】
ステップＳ２７０では、埋め込まれたデータが、１つ以上のデータ受信側に出力される。それから、ステップＳ２８０で、この方法の動作は終了する。
【０１２４】
ステップ２３０が、埋め込まれたデータが埋め込まれている特定の種類のデータに応じて、必要とされない場合があることを理解されたい。例えば、空間的に圧縮及び／または空間的に展開された画像データは、ステップＳ２５０で速度マップを作成するために、ステップＳ２４０で直接整列することができる。このようにして、この場合、ステップＳ２３０は省略され、ステップＳ２４０が、ウォータマークされたデータと原データのそれぞれから生成される整列データを整列するよりむしろ、ウォータマークされたデータを原データと直接的に整列するだろう。
【０１２５】
対照的に、音声データについて上記に概略されたように、ステップＳ２３０は整列データとしてスペクトログラムデータを生成するために実行されるだろう。それから、ステップＳ２４０では、スペクトログラムデータが、ステップＳ２５０で速度マップを生成するために整列されるだろう。
【０１２６】
ステップＳ２７０では、ウォータマークされたデータから抽出された、埋め込まれたデータが、それを表示、または印刷することにより出力できることも理解されたい。埋め込まれたデータは、抽出されたデータを記憶することによって、あるいは表示、記憶または追加の伝送のために別個のサイトに抽出されたデータを伝送するために、図３に関して上述されたような、分散ネットワーク上で抽出されたデータを伝送することによっても出力することができる。
【０１２７】
図５は、本発明によるウォータマーク埋め込みシステム１００の１つの例示的な実施形態を示す。図５に示されるように、ウォータマーク埋め込みシステム１００は、それぞれが１本以上のデータバス／制御バスまたはアプリケーションプログラミングインタフェース１６０によって相互接続されている、入出力インタフェース１１０、制御装置１２０、メモリ１３０、速度マップ生成回路またはルーチン１４０、及びウォータマークデータ生成回路またはルーチン１５０を含む。さらに図５に示されるように、１台以上のユーザ入力装置１７０が、入出力インタフェース１１０に１つ以上のリンク１７２上で接続される。さらに、データソース３００は、リンク４１０上でデータ受信側４００が接続されるように、リンク３１０上で入出力インタフェース１１０に接続される。
【０１２８】
リンク１７２、３１０及び４１０のそれぞれが、１台以上のユーザ入力装置１７０、データソース３００、及びデータ受信側４００を、それぞれ、直接ケーブル接続、広域ネットワーク上での接続、ローカルエリアネットワークまたは記憶領域ネットワーク、イントラネット上での接続、インターネット上での接続、または任意のそれ以外の分散処理ネットワークまたはシステム上での接続を含む、ウォータマーク埋め込みシステム１００に接続するための任意の既知の、または後に開発されるデバイスまたはシステムを使用して実現できる。一般的には、リンク１７２、３１０及び４１０のそれぞれが、それぞれ１台以上のユーザ入力装置１７０、データソース３００、及びデータシンク４００をウォータマーク埋め込みシステム１００に接続するために有効な、任意の既知のまたは後に開発される接続システムまたは構造である場合がある。
【０１２９】
入出力インタフェース１１０は、データソース及び／または１台以上のユーザ入力装置１７０からデータを入力し、データ受信側４００にデータを出力する。入出力インタフェース１１０は、制御装置１２０、メモリ１３０、及び／または速度マップ生成回路またはルーチン１４０にデータも出力し、制御装置１２０、メモリ１３０、及び／またはウォータマークデータ生成回路またはルーチン１５０の１台以上からデータを受信する。
【０１３０】
メモリ１３０は、原データ部１３２、埋め込み済みデータ部１３４、速度マップ部１３６、及びウォータマーク済みデータ部１３８の１つ以上を含む。原データ部１３２は、埋め込み済みデータ部１３４内に記憶される、埋め込まれたデータが、ウォータマークされたデータを形成するために埋め込まれるであろう原データを記憶する。埋め込み済みデータ部１３４は、原データに埋め込まれる、埋め込みデータを記憶する。速度マップ部１３６は、速度マップ生成回路またはルーチン１４０によって生成される速度マップを記憶する。ウォータマーク済みデータ部１３８は、ウォータマークデータ生成回路またはルーチン１５０によって生成されるウォータマークされたデータを記憶する。メモリは、ウォータマーク埋め込みシステム１００を動作するために、制御装置１２０によって使用される１つ以上の制御ルーチンも記憶できる。
【０１３１】
メモリ１３０は、変更可能な揮発性または不揮発性のメモリ、または変更不可の、つまり固定されたメモリの任意の適切な組み合わせを使用して実現できる。変更可能なメモリは、揮発性であるのか、あるいは不揮発性であるのかに関係なく、静的または動的なＲＡＭ、フロッピー（Ｒ）ディスクとディスクドライブ、書き込み可能または再書き込み可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等の任意の１つ以上を使用して実現できる。同様に、変更不可の、つまり固定されたメモリは、ＣＤ−ＲＯＭ、またはＤＶＤ−ＲＯＭディスクなどのＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、光ＲＯＭディスク及びディスクドライブ等の任意の１つ以上を使用して実現できる。
【０１３２】
図５に図示されている回路またはルーチンのそれぞれが、適切にプログラミングされた汎用コンピュータの部分として実現できることを理解されたい。代わりに、図５に示される回路またはルーチンのそれぞれは、ＡＳＩＣ内の物理的に別個のハードウェア回路として、あるいはＦＰＧＡ、ＰＤＬ、ＰＬＡまたはＰＡＬ、デジタル信号プロセッサを使用して、あるいは離散論理素子または離散回路素子を使用して実現することができる。図５に示される回路またはルーチンのそれぞれが取るであろう特定の形式は、設計の選択肢であり、当業者に明らかで、予測可能である。
【０１３３】
動作中、データソース３００は、リンク３１０上で、原データのセット及び／または埋め込まれたデータのセットの１つまたは両方を入力出力インタフェース１１０に出力する。同様に、ユーザ入力装置１７０は、リンク１７２上で、所望される場合、原データ及び／または埋め込まれたデータの１つ以上を入力出力インタフェース１１０に入力するために使用できる。どのデータが入力されるのかに応じて、入力出力インタフェース１１０は、原データ部１３２内で原データの受信されたセット、及び／または埋め込み済みデータ部１３４での埋め込まれたデータを記憶するだろう。しかしながら、データのこれらのセットのどちらかまたは両方が、ある程度の初期に、ウォータマーク埋め込みシステム１１０に過去に入力されたものであろうことを理解されたい。
【０１３４】
それから、速度マップ生成回路またはルーチン１４０は、制御装置１２０の制御下で、埋め込み済みデータ部から埋め込まれるデータを入力し、原データの部分を次元圧縮及び／または次元展開し、埋め込まれるデータを原データの中に埋め込むために使用できる速度マップを生成する。速度マップ生成回路またはルーチン１４０は、埋め込まれるデータを、ウォータマークされたデータに原データを修正するために有効である速度マップに変換するために、本出願に開示されているものを含むが、それらに制限されない、任意の既知のまたは後に開発される符号化方式を使用できることを理解されたい。それから、速度マップ生成回路またはルーチン１４０は、制御装置１２０の制御下で、生成された速度マップを、メモリ１３０の速度マップ部１３６に、あるいはウォータマークデータ生成回路またはルーチン１５０に直接的に出力する。
【０１３５】
ウォータマークデータ生成回路またはルーチン１５０は、制御装置１２０の制御下で、速度マップ部１３６から、または速度マップ生成回路またはルーチン１４０から直接的に速度マップを入力する。ウォータマーク済みのデータ生成回路またはルーチン１５０は、制御装置１２０の制御下で、原データ部１３２に記憶される原データも入力する。それから、ウォータマークデータ生成回路またはルーチン１５０は、埋め込まれるデータを原データに埋め込み、ウォータマーク済みのデータを形成するために、速度マップに基づいて定められた次元に沿って原データを選択的に次元圧縮し、及び／または次元展開することによって、原データを修正する。それから、ウォータマークデータ生成回路またはルーチン１５０は、ウォータマークされたデータを出力し、制御装置１２０の制御下で、ウォータマーク済みデータ部１３８の中にそれを記憶するか、あるいは入力／出力インタフェース１１０に直接的にそれを提供するかのどちらかである。
【０１３６】
ウォータマークされたデータがウォータマークデータ生成回路またはルーチン１５０によって生成された後、ウォータマークされたデータは、メモリ１３０のウォータマーク済みデータ部１３８に無期限に記憶することができる。ウォータマークされたデータがウォータマーク埋め込みシステム１００の外で必要とされるときなどには、入力／出力インタフェース１１０が、制御装置１２０の制御下で、ウォータマークデータ生成回路またはルーチン１５０またはウォータマーク済みデータ部１３８から直接的にウォータマークされたデータを入力し、リンク４１０上でデータ受信側４００にウォータマークされたデータを出力する。
【０１３７】
図６は、本発明によるウォータマーク抽出システム２００の１つの例示的な実施形態を示す。図６に示されるように、ウォータマーク抽出システム２００は、それぞれが、１本以上のデータバス／制御バス、あるいはアプリケーションインタフェース２８０によって相互接続されている、入力／出力インタフェース２１０、制御装置２２０、メモリ２３０、分析データ生成回路またはルーチン２４０、整列回路またはルーチン２５０、速度マップ生成回路またはルーチン２６０、及び埋め込み済みデータ復号回路またはルーチン２７０を含む。
【０１３８】
図６に示されるように、入力／出力インタフェース２１０は、リンク３１２上でデータソース３００に、リンク４１２上でデータ受信側４００に、及び１つ以上のリンク２９２上で１つ以上のユーザ入力装置２９０に接続される。上述されたように、データソース３００及びデータ受信側４００のそれぞれが、図５に関して上記に概略された形式のどれかを取ることができる。
【０１３９】
リンク１９２、３１２、及び４１２のそれぞれは、１台以上のユーザ入力装置１９０、データソース３００、及びデータ受信側４００を、それぞれ、直接ケーブル接続、広域ネットワーク上の接続、ローカルエリアネットワークまたは記憶領域ネットワーク、イントラネット上の接続、インターネット上の接続、またはそのどれかが１つ以上の無線部分を含むであろう任意のそれ以外の分散処理ネットワークまたはシステムの上での接続を含む、ウォータマーク抽出システム２００に接続するための任意の既知の、または後に開発されるデバイスまたはシステムを使用して実現することができる。一般的には、リンク１９２、３１２、及び４１２のそれぞれは、１台以上のユーザ入力装置１９０、データソース３００、及びデータ受信側４００を、それぞれ、ウォータマーク抽出システム２００に接続するために有効な任意の既知のまたは後に開発される接続システムまたは構造である場合がある。
【０１４０】
メモリ２３０は、ウォータマーク済みデータ部２３２、原データ部２３４、分析データ部２３６、速度マップ部２３８及び埋め込み済みデータ部２３９を含む。メモリ２３０は、ウォータマーク抽出システム２００を制御するために制御装置２２０によって使用できる１つ以上の制御プログラムまたはルーチンを記憶することもできる。ウォータマーク済みデータ部２３２は、埋め込まれたデータを含むウォータマークされたデータを記憶する。原データ部２３４は、ウォータマーク済みデータ部２３２に記憶されるウォータマークされたデータを生成するために使用される原データのコピーを記憶する。分析データ部２３６は、必要とされる場合、分析データ生成回路またはルーチン２４０によって生成される分析データを記憶する。速度マップ部２３８は、速度マップ生成回路またはルーチン２６０によって生成される速度マップを記憶する。埋め込まれたデータ２３９は、速度マップ部２３８に記憶される速度マップから、埋め込み済みデータ復号回路またはルーチン２７０によって復号された埋め込み済みデータを記憶する。
【０１４１】
メモリ２３０は、変更可能な揮発性または不揮発性メモリまたは変更不可の、つまり固定されたメモリの任意の適切な組み合わせを使用して実現できる。変更可能なメモリは、揮発性であるのか、不揮発性であるのかに関係なく、静的または動的なＲＡＭ、フロッピー（Ｒ）ディスクとディスクドライブ、書き込み可能または再書き込み可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等の１つ以上を使用して実現できる。同様に、変更不可または固定されたメモリは、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭディスクなどの光ＲＯＭディスク、及びディスクドライブ等の任意の１つ以上を使用して実現できる。
【０１４２】
図６に示されている回路またはルーチンのそれぞれが、適切にプログラミングされた汎用コンピュータの部分として実現できることを理解されたい。代わりに、図６に示される回路またはルーチンのそれぞれは、ＡＳＩＣ内の物理的に別個のハードウェア回路として、またはＦＰＧＡ、ＰＤＬ、ＰＬＡ、またはＰＡＬ、デジタル信号プロセッサを使用して、あるいは離散論理素子または離散回路素子を使用して実現することができる。図６に示されている回路またはルーチンのそれぞれが取るであろう特定の形態は、設計の選択肢であり、当業者に明らかで、予測可能となるだろう。
【０１４３】
データソース３００は、ウォータマーク済みデータ部２３２に記憶されるウォータマークされたデータ及び／または原データ部２３４に記憶される原データを、ウォータマーク抽出システム２００に出力するために使用できる。同様に、該１つ以上のユーザ入力装置２９０は、ウォータマークされたデータ及び原データのどちらかあるいは両方を、ウォータマーク抽出システム２００に入力するために使用できる。データ受信側４００は、入力／出力インタフェース２１０から、ウォータマーク抽出システム２００によって抽出される、埋め込まれたデータを入力することができる。動作中、ウォータマーク抽出システム２００がウォータマークされたデータと原データの両方をすでに含んではいない場合、ウォータマーク抽出システム２００は、データソース３００及び／または１つ以上のユーザ入力装置２９０の１つまたは両方から見失われたデータまたはデータセットを得る。そのデータがデータソース３００及び／または１つ以上のユーザ入力装置２９０から得られる場合に、そのデータは、入力出力インタフェース２１０を通して入力され、ウォータマーク済みデータ部２３２及び原データ部２３４の適切な１つに記憶される。
【０１４４】
次に、制御装置２２０の制御下では、ウォータマーク済みデータ部２３２に記憶されるウォータマークされたデータ、及び原データ部２３４に記憶される原データのそれぞれが、分析データ生成回路またはルーチン２４０に出力される。分析データ生成回路またはルーチン２４０は、ウォータマークされたデータと原データのそれぞれに分析データのセットを生成する。それから、分析データ生成回路またはルーチン２４０は、制御装置２２０の制御下で、分析データを分析データ部２３６の中に記憶するか、あるいはそれを整列回路またはルーチン２５０に直接的に提供するかのどちらかである。
【０１４５】
整列回路またはルーチン２５０は、制御装置２２０の制御下で、分析データ生成回路またはルーチン２４０あるいはメモリ２３０のどちらかからウォータマークされたデータ及び原データのそれぞれについての分析データを入力する。整列回路またはルーチン２５０は、ウォータマークされたデータと原データの間の最良の整列を決定し、この整列情報を、制御装置２２０の制御下で速度マップ生成回路またはルーチン２６０に出力する。整列回路またはルーチン２５０によって提供される整列情報に基づいた速度マップ生成回路またはルーチン２６０が、ウォータマークされたデータのどの部分が、対応する原データを基準にして圧縮または展開されたのかを示す速度マップを生成する。速度マップ生成回路またはルーチン２６０は、制御装置２２０の制御下で、速度マップを速度マップ部２３８の中に記憶するか、あるいはそれを埋め込み済みデータ復号回路またはルーチン２７０に直接的に提供するかのどちらかである。
【０１４６】
埋め込み済みデータ復号回路またはルーチン２７０は、制御装置２２０の制御下で、速度マップ部２３８から、あるいは速度マップ生成回路またはルーチン２６０から直接的に速度マップを入力する。埋め込まれたデータ復号回路またはルーチン２７０は、埋め込まれたデータから速度マップを生成し、埋め込まれたデータを速度マップから得るために使用される元の符号化方式に基づいて速度マップを復号する。それから、埋め込み済みデータ符号化回路またはルーチン２７０は、データ受信側４００への伝送のために制御装置２２０の制御下で、復号された埋め込み済みデータを入力／出力インタフェース２１０に直接的に提供するか、あるいは埋め込み済みデータ部２３９にそれを記憶する。
【０１４７】
図４のステップＳ２３０とＳ２４０に関して上記に概略されたように、画像データなどのある特定の種類のデータについて、分析データを生成することが必要ではない場合、分析データ生成回路またはルーチン２４０及びメモリ２３０の対応する分析データ部２３６が、それぞれ省略できる。この場合、整列回路またはルーチン２５０は、速度マップを生成するために速度マップ生成回路またはルーチン２６０によって使用される整列情報を生成するために、ウォータマークされたデータ及び原データで直接的に動作するだろう。対照的に、ウォータマークされたデータが音声データであるとき、分析データ生成回路またはルーチン２４０は、ウォータマークされたデータと原データのそれぞれにスペクトログラムを生成する。それから、整列回路またはルーチン２５０は、速度マップ生成回路またはルーチン２６０によって使用される整列情報を生成するためにスペクトログラムを整列する。
【０１４８】
上記に概略されたように、データは、音声データファイルの一定の時間間隔を小さな係数で圧縮する及び／または展開することによって音声データファイル内に埋め込まれる。上記に概略されたように、この小さな係数はおよそ１％程度である。多様な例示的な実施形態において、音声アーティファクトを最小限に抑えるために、修正された間隔が、未修正の間隔に重複するように配列されることを理解されたい。この場合、重複領域はクロスフェードされるか、あるいはそれ以外の場合、圧縮済みのまたは展開済みの間隔と未修正間隔の間での円滑な遷移を提供するために補間される。上記に概略されたように、修正された間隔の圧縮及び／または展開の長さ、場所、及び／または程度が、データを音声データファイルの中に符号化する。特に、図３で上記に概略された方法及び図５に関して上記に概略されたウォータマーク埋め込みシステムは、以下のようにウォータマーク音声信号Ｘw（ｔ）を生成し、
【０１４９】
【数１】
0004186531.tif 000002
ここで、ｘkは、原時間変化音声信号のｋ番目のブロックまたは部分である。
Ｔkは、原時間変化音声信号のｋ番目のブロックまたは部分の速度マップ値である。
ｆTSMは、Ｔkに基づいたｋ番目のブロックまたは部分を時間圧縮する、あるいは時間展開するために使用できる時間スケール修正関数である。
Ｃは連結演算である。
【０１５０】
上記に概略されたように、この速度マップＴkは、ウォータマークを符号化する。速度マップＴkは、ウォータマークされた音声信号ｘw（ｔ）を元の変更されていない時間変化音声信号ｘ（ｔ）と比較することによって復元される。
【０１５１】
実際問題として、ブロック境界での可聴の不連続を生じさせるのを回避するために注意が必要とされることがある。これは、ブロック境界でのまたはブロック境界近くのデータを未変更のままとする時間スケール修正アルゴリズムを使用するか、あるいはセグメントをわずかに重複させ、ウォータマークされた信号の構築中に重複する領域内でデータを平均化することによって達成されよう。
【０１５２】
音声データに関して上記に概略されたように、多様な例示的な実施形態では、速度マップＴkは、原時間変化音声信号ｘ（ｔ）を、ウォータマークされた音声信号ｘw（ｔ）にもたらす最良の時間歪み関数を見出すことによって復元される。線形成分を差し引くと、ウォータマーク情報、すなわち速度マップＴkが生じる。この速度マップＴkの作成中、時間はｘ軸に沿ってプロットされ、時間の任意の値での速度マップＴkの値はｙ軸にプロットされることが理解される。これは、例えば図７に示される。この場合、速度マップＴkは、圧縮された領域では正の傾きを、展開された領域では負の傾きを有し、未修正の領域では０という傾きを有する。しかしながら、図２に関して上記に概略されたように、未修正の領域は、先行する圧縮または展開によって、中立な値から偏位されてよい。
【０１５３】
対照的に、図２に示されるように、速度マップＴkが１より大きいまたは１未満の傾きとともに変化し、傾き１で原点を通過する線の回りで変化するように、速度マップをプロットすることも可能である。
【０１５４】
上記に概略されたように、速度マップＴk、及びしたがって埋め込まれたデータを復元するために、ウォータマークされた音声データファイルは、原時間変化音声データファイルｘ（ｔ）と直接的にまたは間接的に比較される。多様な時間変化音声信号ｘ（ｔ）は、短時間フーリエ変換を使用して処理される。しかしながら、それ以外のパラメータによる表示は、線形予測または音響心理学的な考慮に基づいたものを含むことを理解されたい。以下の例では、標準周波数分析が使用されることを理解されたい。
【０１５５】
以下の例では、ウィンドウ、またはフレームは、１２８個のサンプル幅である。２２．０５Ｈｚでサンプリングされる音声データ信号について、これは、５．８ｍｓのフレーム幅、及び毎秒１７２フレームというフレーム速度を生じさせる。しかしながら、可変ウィンドウ幅及び可変ウィンドウ重複部も使用できることを理解されたい。
【０１５６】
各分析フレームは、２５６点ハミング（Ｈａｍｍｉｎｇ）ウィンドウでウィンドウ生成される。それから、高速フーリエ変換が、ウィンドウ内のスペクトル成分を概算するために使用される。結果の振幅の対数は、ウィンドウ生成されたフレームの電力スペクトルの推定値として使用される。スペクトル成分の結果として生じるベクトルは、対応するウィンドウのスペクトルコンテンツを特徴付ける。
【０１５７】
この標準音声処理技法がスペクトログラムと呼ばれる。スペクトルベクトルのシーケンスは、経時的な信号周波数コンテンツを表す。いくつかの周波数成分は、それらの周波数成分が類似性、したがって整列を決定するために有効ではない場合には、オプションで廃棄されてよいことを理解されたい。例えば、多くの場合、大きな電力を有さないきわめて低いバンドまたはきわめて高いバンドが、オプションで廃棄されてよい。
【０１５８】
一般的には、音声データは基準なし（ｒｅｆｅｒｅｎｃｅ−ｌｅｓｓ）であることを理解されたい。すなわち、音声データは、ウォータマークされた音声信号ｘw（ｔ）を原時間変化音声信号ｘ（ｔ）に直接的に整列するために使用できる直接的に認識できる内部基準を多くの場合欠いている。音声データでは、波形の絶対値が、多くの場合、損失のあるデータ圧縮中、及び／またはアナログ伝送中に変更される。このようにして、これらの信号を直接的に整列することは、不可能でなくても困難である。さらに、音声データを直接的に整列するには、例えば、毎秒４０Ｋサンプルなどの高サンプリング速度が、音声信号の高い変化速度のために使用されなければならない。
【０１５９】
その結果、多様な例示的な実施形態では、原時間変化音声信号ｘ（ｔ）をウォータマークされた音声信号ｘw（ｔ）に変換する最良の時間歪み関数を見つけ出すために、原時間変化音声信号ｘ（ｔ）用の、及びウォータマークされた音声信号ｘw（ｔ）用のスペクトログラムが決定され、比較される。スペクトログラムは、通常、損失のあるデータ圧縮及びアナログ伝送によって影響を及ぼされない。さらに、例えば、毎秒あたり数百スペクトル係数などの毎秒あたりのスペクトル係数の相対的に低い数が、スペクトログラムを整列するために比較される必要がある。原時間変化音声信号ｘ（ｔ）が歪まされる前に予測されるであろう、スペクトログラムが整列しない場合、原時間変化音声信号ｘ（ｔ）は、スペクトログラムが整列するまで制御自在に歪まされる。
【０１６０】
多様な例示的な実施形態において、原時間変化音声信号ｘ（ｔ）が、動的プログラミングを使用して歪まされることを理解されたい。動的プログラミングは、それぞれ全体として参照してここに組み込まれている、例えば、Ｄ．Ｓａｎｋｏｆｆら編集、１９９９年ＣＳＬＩ出版の「時間の歪み、文字列編集、及び高分子：文字列比較の理論と実践」（Ｔｉｍｅ  Ｗａｒｐｓ，  Ｓｔｒｉｎｇ  Ｅｄｉｔｓ，  ａｎ  Ｍａｃｒｏｍｏｌｅｃｕｌｅｓ：  Ｔｈｅ  Ｔｈｅｏｒｙ  ａｎｄ  Ｐｒａｃｔiｃｅ  ｏｆ  Ｓｔｒｉｎｇ  Ｃｏｍｐａｒｉｓｏｎ）のＪ．Ｋｒｕｓｋａｌらの「シーケンス比較のためのアルゴリズム及び概念のアンソロジー（Ａｎ  ａｎｔｈｏｌｏｇｙ  ｏｆ  Ａｌｇｏｒｉｔｈｍｓ  ａｎｄ  Ｃｏｎｃｅｐｔｓ  ｆｏｒ  Ｓｅｑｕｅｎｃｅ  Ｃｏｍｐａｒｉｓｏｎ）」及び米国特許第４，３８４，２７３号で文書により十分に立証されていることを理解されたい。動的プログラミングの詳細はここでは説明されない。ただし、動的プログラミングによって二次時間で最適な整列経路が見出されることが立証できることを理解されたい。
【０１６１】
動的プログラミング技法が、速度マップＴkを復元するのに特によく適しており、本発明によるシステム及び方法の多様な例示的な実施形態で容易に使用できることを理解されたい。例えば、動的プログラミング技法は、原時間変化音声信号ｘ（ｔ）及びウォータマークされた音声信号ｘ（ｔ）が正確に同時に開始し、終了しないときの状況を良好に処理する。従って、例えば、ウォータマークされた音声信号ｘw（ｔ）が連続的な一斉送信から抽出されると、ウォータマークされた音声信号ｘw（ｔ）として抽出される連続的な一斉送信の開始点と終了点を正確に特定することは必要ではないだろう。同様に、動的プログラミング技法は、複数のフレームスペクトルが正確に一致しない状況も良好に処理する。特に、動的プログラミング技法は、複数のフレームスペクトルがその隣接するものに対するよりも、互いがより類似している限り、速度マップＴkをうまく特定する。結果的に、動的プログラミング技法を使用するとき、本発明のシステム及び方法は、妥当なスペクトル歪みに対して耐久性が大きい。
【０１６２】
上記に概略されたように、ウォータマークされた音声信号ｘw（ｔ）の圧縮部分または展開部分と原時間変化音声信号ｘ（ｔ）の対応する部分の間の予想変位は、一般的にはきわめて小さいことも理解されたい。その結果、図２に示されるように、最良の時間歪み関数は、対角線から大幅には逸脱しない。この場合、動的プログラミング技法を、対角線の非常に近くにあるそれらの時間歪み関数だけを求めることによって実質的に線形の時間内で動作させることができる。同様に、例えば、サンプリング速度変換または不正確なアナログ再生速度によって引き起こされる全体的な時間修正は、動的プログラミング技法によって良好に処理されるだろう。この場合、速度マップＴkは、正方形よりむしろ２つの信号のクロス積によって形成される矩形の対角線を差し引くことによって復元することができる。
【０１６３】
すなわち、同じ長さの２つの信号を比較するとき、クロス積は正方形である。すなわち、正方形の一方の軸の１つの信号及び他方は、図２でのように他方の上にプロットされる。各信号が同じ長さである場合、結果は正方形となるだろう。一方の信号が他方より長い場合には、結果は矩形である。速度の偏差のない「線形一致」は、例えば、図２の対角点線などのその矩形の対角線に沿うだろう。
【０１６４】
速度関数ｆ（ｔ）の全体的なデータ転送速度が、速度マップＴkとウォータマークされた音声信号ｘw（ｔ）の劣化の間のトレードオフであることを理解されたい。これは、圧縮または展開間隔のための最小長さを１ブロックであると考えることによって説明することができる。説明をさらに容易にするために、すべてのブロックの長さは、同じ値に設定することができる。多様な例示的な実施形態では、各ブロックは、１±εという係数で圧縮または展開することができる。εが十分に小さい場合には、圧縮及び展開はεの整数倍数に離散化することができる。すなわち、各ブロックは、１±ｎεという係数で圧縮または展開することができ、ｎは小さい整数である。ブロックを非圧縮、つまりｎ＝０のままにすることもできることも理解されたい。
【０１６５】
可聴アーティファクトを低減するために、ｎの大きさがなんらかの小さな値ｎ未満に制限されることが、厳密に必要ではないが、得策である。同じ理由からｎの値の変化は、隣接するブロック間で小さくなくてはならない。ファイルの時間長を保存するために、多様な実施形態においては、ｎが信号内の全ブロック全体で総計して０になることも得策である。ただし、これは厳密に必要ではない。圧縮の総量が展開の総量に正確に等しくなるときに、ｎが総計して０になることを理解されたい。また、ｎが負の値をとることが許されていることも理解されたい。このようにして、あらゆるブロックｂは、以下のようになるよう関連付けられた符号値ｎbを有するだろう。
【０１６６】
−Ｎ≦ｎb≦Ｎ
Ｂ個のブロックを有するウォータマークされた音声信号ｘw（ｔ）の場合、埋め込まれたデータは、従って、シーケンスｎ0、ｎ1、…ｎBを備える。このシーケンスは、速度マップＴkの導関数を量子化することによって復元された速度マップＴkから得られることを理解されたい。
【０１６７】
本発明者は、ブロック長に約０．５ｓ、εの値に約０．０１（１％）、及びＮの値に２を使用することによって、データを音声データ信号に妥当に埋め込むことができることを確認した。これらの値を使用すると、毎秒の音声データ信号が約２ｌｏｇ２（２Ｎ＋１）ビットを符号化することができる。これは、毎秒８ビットよりわずかに多い。これが例外的に大きなデータ転送速度ではないことを理解されたい。ただし、典型的な流行歌の長さが少なくとも約１８０秒であることを考慮すると、約１８０バイトをその典型的な流行歌に符号化することは可能である。特に、１８０バイトは、通常、歌のタイトル、アーチスト、出版社、及び識別番号（ＩＤ番号）をその典型的な流行歌の音声データに符号化するのに十分なデータより多い。さらに、単一のウォータマークとして使用されるとき、埋め込まれるデータの１８０バイトは、１０400の個々の識別値より多くを生じさせるだろう。これは、通常、例えば、ソース識別子、デバイス識別子及びタイムスタンプの任意の考えられる組み合わせに十分な値より多いだろう。
【０１６８】
図７は、２つの例示的な速度マップｆ1とｆ2を示す。図７に示されるように、時間はｘ軸に沿ってプロットされるが、これらの速度マップに従って修正されウォータマークされた音声データ信号ｘw（ｔ）と原時間変化音声信号ｘ（ｔ）の間のフレーム偏位、つまり正味の偏位は、ｘ軸に沿ってプロットされる。これらの速度マップｆ1とｆ2によって符号化されるバイナリ値も、図７に図示されている。特に、この符号化方式は３つの部分から成る値を符号化し、＋１はフレーム偏位の増加で符号化され、−１はフレーム偏位の減少で符号化され、０は一定のフレーム偏位で符号化される。
【０１６９】
特に、これらの２つの速度マップｆ1とｆ2は、それぞれ流行歌の同じ１０秒の抜粋に適用された。この音声信号を修正するために使用される次元圧縮及び次元展開の率は、１秒の領域で２％であった。その結果、２０ｍｓつまり３．４４フレームの総変位が得られた。特に、第１速度マップｆ1を使用すると、１秒と８秒で出現する音声信号の第１コピーのブロックは次元展開されたが、３秒と６秒で出現するブロックは次元圧縮された。対照的に、第２速度マップｆ2に基づき、２秒と７秒で出現する音声信号の第２コピーは次元圧縮されたが、５秒と６秒で出現するブロックは次元展開された。
【０１７０】
図７では、速度マップｆ1とｆ2がスペクトログラムフレームの線形時間からの偏差を示すことを理解されたい。図７に示される速度マップｆ1とｆ2では、次元圧縮及び次元展開の領域は、多くの場合対応する原ブロックから偏位される通常の速度のブロックが出現する時間偏位の平坦部がそうであるように、容易に検出可能である。これらの平坦部は、多様な次元圧縮及び展開のブロックによって引き起こされた。
【０１７１】
特に、ウォータマークされた音声信号ｘw（ｔ）と原時間変化信号ｘ（ｔ）の間の時間差は±１フレーム以内まで求められた。これは、追加レベル及び／または展開が、この音声信号の中に埋め込まれる情報容量を効果的に倍増するために使用できるであろうことを示唆している。類似速度マップは、サウンドトラック、話、及びオーケストラ音楽などの他の音声ドメインからの音声信号にも適用され、同様に良好な結果を得た。
【０１７２】
速度マップｆ1とｆ2を使用してウォータマークされた音声信号を生成した後、ウォータマークされた音声信号はデータ圧縮され、その後データは６４ｋＢ  ＭＰ３符号化及び復号化を使用して復元された。速度マップｆ1とｆ2、したがって埋め込まれたデータは、この損失のある符号化と復号化を経ても容易に存続しつづけた。これらのウォータマークされた音声信号が非公式な傾聴試験で数多くの被験者のために再生されたとき、傾聴者は音声信号の時間ベースの圧縮と展開を概して検出できなかった。
【０１７３】
図８は、本発明に従って埋め込まれたウォータマークの復元性を試験した別の実験から得られた１つの例示的な結果を示す。この実験では、原時間変化音声信号は流行歌からの２０秒の抜粋であった。この２０秒の抜粋は、２０，０５０Ｈｚというサンプリング速度を有するモノラル表現に変換された。この実験では、きわめて単純な符号化方式が、原時間変化音声信号の１６の異なるコピーのそれぞれにウォータマークとして一意の４ビットデータ文字列を符号化するために使用された。すなわち、各コピーは異なる４ビットのウォータマークを与えられた。この符号化方式では、１ビットの情報は、１対の２秒ブロックを使用して符号化された。２秒ブロックの各対では、その対のブロックの一方が圧縮され、他方のブロックは展開された。特に、バイナリ（２進数）「１」は、第２ブロックを展開しながら、第１ブロックを圧縮することによって表された。対照的に、バイナリ「０」は、第２ブロックを圧縮しながら、第１ブロックを展開することによって表された。
【０１７４】
通常、１対の各ブロックは、他のブロックがそれぞれ次元圧縮または次元展開されたのと同じパーセンテージ分、次元展開または次元圧縮された。このようにして、２つの２秒ブロックの各対の全長は、名目上４秒のままであった。
【０１７５】
使用できるであろうさらに効率的なコーディング方式があることを理解されたい。特に、時間スケール修正のない領域を使用するコーディング方式は、追加の状態を符号化するために使用され、３つの部分から成るコーディング方式を生成できるだろう。
【０１７６】
上記に概略されたきわめて単純なコーディング方式を使用すると、ウォータマークされた音声信号は、原時間変化音声信号の次元圧縮及び次元展開された領域を連結することにより、時間変化する原音声信号からリアルタイムで生成できるだろう。この場合、原時間変化信号の次元圧縮されたバージョンと、原時間変化信号の次元展開されたバージョンは、それぞれ、２．５％という次元圧縮または展開の率を使用して生成された。各バージョンは、それぞれが２秒の長さの１０個の等しいブロックに均等に分割された。ウォータマークされた音声信号は、次元圧縮され、次元展開されたブロックを連結する簡略な方法によって作成された。ブロックは、原時間変化音声信号のその特定のコピーの中に符号化される特定の４ビットのデータに基づいて選択された。ウォータマークされた音声信号の始まりと最後でのブロックは圧縮されなかった。ウォータマークされた音声信号の真中の１６秒だけが変更された。
【０１７７】
次元圧縮及び次元展開の考えられるシーケンス、つまり０の場合の次元圧縮が後に続く次元展開、または「１」の場合の次元展開が後に続く次元圧縮は既知であるため、ウォータマークされた音声データに埋め込むことができるであろう１６個の４ビット値のそれぞれに対応する、速度マップが何である必要があるのかを概算することが比較的直截である。例えば、次元展開の領域が後に続く次元圧縮の指定された領域を考慮すると、速度マップは、加速してから再びバイナリ「１」に対応するゼロ偏位に減速する。対照的に、次元圧縮の領域が後に続く次元展開の領域を考慮すると、速度マップは減速してから、再び、バイナリ「０」を示すゼロ偏位まで加速するだろう。このようにして、速度マップは、バイナリ「１」の場合にピークを有するであろうが、速度マップはバイナリ「０」について谷を有するだろう。
【０１７８】
したがって、図８に示されるように、図８に示されるテンプレートｆ3のようなテンプレートは、予想される速度変化に対応する線形傾斜を有して構築することができる。特に、図８に示されているテンプレート速度マップｆ3は、４ビットバイナリ値「００１０」に一致する。図８は、上記に概略されたシステム及び方法に従って、バイナリ文字列「００１０」で埋め込まれたウォータマークされた音声データファイルから復元された速度マップｆ3’も示す。図８に示されるように、復元された速度マップｆ3’は、このバイナリ文字列のテンプレート速度マップｆ3と非常に近い。テンプレートのそれぞれを復元された速度マップのそれぞれと比較することによって、指定された速度マップがかなり高い精度でどのテンプレートに一致するのかを統計的に判断することができる。
【０１７９】
そこで、それは、次元圧縮及び展開されたデータファイルから復元される実際の速度マップを用いて、考えられるシーケンスのそれぞれに、テンプレートのそれぞれの類似性スコアを生成するという単純な問題である。例えば、復元された速度マップとテンプレートの間の角度のコサインは有効な測定基準である。このようにして、ｉ個の異なるテンプレートごとに、そのテンプレートと復元されたテンプレートマップの間でコサイン値を求めることができる。すなわち、
【０１８０】
【数２】
0004186531.tif 000003
であり、ここで、
0004186531.tif 000004
は、復元された速度マップを定義するベクトルである。
0004186531.tif 000005
は、ｉ番目のテンプレートを定めるベクトルである。そして、Ｄciは、
0004186531.tif 000006
と
0004186531.tif 000007
の間の角度のコサインである。
【０１８１】
この測定基準は、それが実際のベクトルの大きさに関係なく使用可能な類似性スコアを生成できるために特に有効である。
【０１８２】
上記に概略された実験では、この測定基準を使用するとき、復元された速度マップと一致すると演繹的に知られていたテンプレートが、それ以外の１５のテンプレートのどれよりもはるかに高い類似性スコアを示した。それぞれが１６のテンプレートの１つに対応する１６の異なる復元された速度マップは、１６の考えられるテンプレートのそれぞれと比較され、２５６（１６2）の異なる速度マップ対テンプレートの比較を生成する。復元された速度マップと対応するテンプレートの比較のための最小コサイン距離Ｄcは、．９１０であった。対照的に、復元された速度マップと対応しないテンプレートの比較のための最大コサイン距離Ｄcは、０．６１８であった。従って、類似性スコアは、明らかに及び正確に対応するテンプレートを識別した。
【０１８３】
スコア差は、復元された速度マップとテンプレートの間のハミング距離に比例していた。スコア距離を増加するためには、さらに大きなハミング距離を有するテンプレートの部分集合が使用できるだろう。例えば、偶数パリティのある８つの４ビット符号、つまり奇数個の１が使用できるだろう。これが、少なくとも２というハミング距離を保証する。この場合、復元された速度マップと対応しないテンプレートの間の比較のための最大コサイン距離Ｄcは、０．２３８まで低減された。
【０１８４】
テンプレート照合だけではなく、閾値処理も、バイナリ関数値、３値関数値、またはそれ以外の多価の関数値の文字列に、復元された速度マップを変換するために使用できることを理解されたい。例えば、図３に示されている３値数は、＋１フレームと−１フレームに設定される閾値を使用するときに得られる３値数を示す。
【０１８５】
上記に概略されたように、本発明によるシステム及び方法は、時間以外の次元に沿って変化する成分を有するデータに適用できる。例えば、上記に概略されたように、本発明によるシステム及び方法は、ビデオ画像、静止画像等の空間的に変化するデータを有するデータ型に適用することができる。例えば、空間的に変化するデータの選択された部分を、選択的に空間圧縮及び空間展開することによって、ビデオ画像及び静止画像などの空間的に変化するデータに適用されると、本発明によるウォータマークシステム及び方法は、損失のある圧縮及びアナログ再生の下で耐久性がある。
【０１８６】
空間的に変化するデータが画像データであるとき、ウォータマークされた符号化は、デジタル的にだけではなく、光学的にも、プリンタまたは複写機の機構で直接的にも容易に実現できる。例えば、ウォータマークされた符号化は、走査された、または印刷された画像の空間的に圧縮されまたは展開された領域を生じさせるために、スキャナでプリントを体系的に減速するまたは加速するなど、スキャナまたは印字ヘッドの速度を変更することによって画像データに導入することができる。ウォータマークの符号化を直接プリンタに実行することは、特に高い安全の適用において価値があるということを理解されたい。すなわち、複写機またはプリンタは、時間、日付、場所、デバイス識別（デバイスＩＤ）、ユーザ識別（ユーザＩＤ）及び／または類似物を、作成される、あるいは印刷されるあらゆるコピーの中に符号化できるだろう。このようにして、不正なコピーが発見されると、埋め込まれたウォータマーク情報が、その不正なコピーをいつ、どこで、及び／または誰が作成したのかを特定するのに役立つだろう。
【０１８７】
本発明によるシステム及び方法を、画像データなどの空間的に変化するデータに適用すると、空間的に変化するデータの領域は、気付かれないほどの量、次元圧縮または次元展開される。周知のデジタル再サンプリング技法は、少量、画像領域を引き伸ばすまたは圧縮することができる。代わりに、機械的な方法または光学的な方法が、上記に概略されるように、画像領域を少量引き伸ばす、あるいは動的に圧縮するために使用することができる。上記に概略されたように、画像が複数の次元で展開する場合、歪みの２つまたは３つ以上の軸が使用できる。
【０１８８】
２次元画像または空間的に変化するデータのそれ以外のセット全体で微分的に「ストライプ」を歪めることが可能であることも理解されたい。しかしながら、歪みに平行でない直線は、もはや完全にまっすぐにはならないので、これがさらに顕著なアーティファクトにつながる可能性があることを理解されたい。特に、画像の小さな集合について、特に対角に通る規則正しい線またはグリッドを有する画像について、これは目に見えるねじれにつながるだろう。
【０１８９】
音声データについて上記に概略されたように、画像データは、最も知覚できない変更を生じさせるであろうウォータマークの領域またはモードを見出すために分析することができる。例えば、画像のフーリエ分析は、その方向での空間周波数が最も低い角度を見出すことができる。この方向を歪みアクセスとして使用すると、知覚できるアーティファクトが最小限に抑えられるだろう。従って、例えば、複数の平行線を有する画像について、フーリエ分析は、線の方向を容易に見出すことができる。画像をその方向に平行に歪めると、より知覚しづらいアーティファクトが生じることになるだろう。
【０１９０】
一般的に、小さな程度の歪みを考慮して、本発明のシステム及び方法によるウォータマーク画像データは、通常、画像の大多数に知覚できる変化を生じさせないだろう。走査されたテキストは特に影響を受けない。これは、カーニング及び線塗りつぶしのための自然な変動が歪んだ領域を特によく隠す傾向があるために起こる。例えば、図９は、原画像、本発明のシステム及び方法によって生成された埋め込み済みのデータを含む画像、及び原画像データをウォータマークされた画像データに変換するために使用される速度マップを示す。特に、ウォータマークされたデータを最初に特定しないと、通常、それらが密接に隣接していようとも離れた２つの例を見分けることは不可能である。
【０１９１】
特に、図９では、テキスト部分３０が原画像データであるが、テキスト部分３２はウォータマークされた画像データである。図９に示される速度マップ３４は、音声データに関して上記に概略されたように、動的プログラミングを使用して復元される。ただし、直接の比較が上述された理由のために問題を含む時間変化する音声データとは異なり、図９に示される画像部分３０と３２は、直接比較することができる。これは、画像データが上縁と下縁及び側縁などの、通常は損失のあるデータ圧縮及びアナログ伝送によって影響を及ぼされず、相対的に低いサンプリング速度で識別することのできる内部基準点を含むために起こる。このように、画像部分３０と３２は、画像部分３０と３２を整理するために、直接に比較することができる。
【０１９２】
歪み軸に垂直なピクセルの列は、ちょうどスペクトルベクトルが音声データについて比較できるように、ユークリッド距離測定基準またはそれ以外の距離測定基準によって比較することができる。歪み方向が、画像軸のどれかに平行である必要はないことが理解されるべきである。ただし、歪み方向を画像軸の１つに平行に位置すると、速度マップ復元が簡略化される傾向がある。
【０１９３】
特に、図１０は、ウォータマークされた画像データ部分３２と原画像データ部分３０をピクセル単位で比較することによって得られる速度マップｆ4を示す。図１０に示されるように、空間次元、この場合ピクセルは、ｘ軸に沿ってプロットされるが、やはりピクセル単位の偏位はｙ軸に沿ってプロットされる。図１０に示されるように、偏位は０ピクセルと約３００ピクセルの間で０である。それから、３００ピクセルと４００ピクセルの間では、偏位は０から約−３ピクセルまで降下する。それから、偏位は、約４００ピクセルから約６００ピクセルまで一定のままとなり、その時点で偏位は６００ピクセルと８００ピクセルの間で約−３ピクセルから０ピクセルに上昇する。
【０１９４】
この速度マップによって符号化される情報が、この速度マップを作成するために使用される特定の符号化方式に依存することを理解されたい。しかしながら、速度マップｆ4を作成するため、あるいはウォータマークされた画像データの生成のため原画像データの部分を空間的に圧縮、展開するのに使用されるそれ以外の速度マップを作成するために、上記に概略された符号化方式のどれもが使用できることを理解されたい。
【０１９５】
図１１から図１６は、システムの多様な例示的な実施形態、システムの第２の例示的な実施形態による方法、及び本発明による方法を示す。本発明によるシステム及び方法のこの第２の例示的な実施形態では、音声データの場合でのように間接的であるのか、画像データの場合でのように直接的であるのかに関係なく、ウォータマークされたデータセットを原データセットと比較するよりむしろ、データセットは、この比較の必要性を排除するために修正することができる。すなわち、原データセットは、データの速度が、それが重要な次元ｘに沿って延びるにつれて事前に定義された速度を有するように、分析及び修正することができる。最も簡略な場合には、この事前に定められた速度は、一定の速度である場合がある。しかしながら、さらに複雑な状況においては、原データセットの速度は、それ自体、正弦関数等などの定められた関数に従って変化することがある。
【０１９６】
多くの従来のウォータマーク技法においてだけではなく、本発明によるシステム及び方法の第１の例示的な実施形態の多様な例示的な実施形態の１つの不利な点とは、埋め込まれたデータを復元するために、原データが必要とされるという点である。これは、デジタル権利管理などの、データセットの所有者が原データセットへのアクセスを有するであろう多くの応用例にとっては完全に許容できることを理解されたい。しかしながら、元の、変更されていないデータセットに対する参照を必要とせずに埋め込まれたデータを抽出することができることが望ましいであろう多くの応用例がある。
【０１９７】
例えば、時間変化するデータをウォータマークすることができ、時間変化するデータの実際の速度が推論または予測できる場合に、原データセットに対する参照を必要とせずに埋め込まれたデータを抽出することができる。例えば、音声データの速度または会話速度を分析し、求めることができるようにする方法が存在する。１つのこのような技法が、マルチメディア及びエクスポに関するＩＥＥＥ国際会議議事録（Ｐｒｏｃ．ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｕｌｔｉｍｅｄｉａ  ａｎｄ  Ｅｘｐｏ（ＩＣＭＥ）、２００１年、ＨＴＴＰ：／／ｗｗｗ．ｆｘｐａｌ．ｃｏｍ／ｐｅｏｐｌｅ／ｆｏｏｔｅ／ｐａｐｅｒｓ／ｉｃｍｅ２００１．ｈｔｍ）のＪ．Ｆｏｏｔｅらの「ビートスペクトル：リズム分析に対する新しいアプローチ（Ｔｈｅ  Ｂｅａｔ  Ｓｐｅｃｔｒｕｍ：  Ａ  Ｎｅｗ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｒｈｙｔｈｍ  Ａｎａｌｙｓｉｓ）」に開示されている。従って、将来のある短い時間で信号速度を予測するために、時間変化するデータセットを分析することは、通常簡単なことである。この情報は、原データ信号に対する参照を必要とせずに、本発明によるシステム及び方法を使用してデータセットを埋め込み、時間変化するデータセットから抽出するために使用することができる。
【０１９８】
このようにして、本発明によるシステム及び方法の第２の例示的な実施形態の多様な例示的な実施形態では、原データセットが分析され、重要な次元ｘに沿った原データセットの速度が、予測される速度と一致するように変更される。一次予測アルゴリズムが使用される場合、速度調整済みの信号が一定の速度を有するだろう。高次予測アルゴリズムが使用される場合、速度調整済みの信号は、この高次予測によって規定される速度を正確に有するだろう。それから、速度調整済みの信号は、図１から図１０に関して上記に概略されたシステム及び方法の多様な例示的な実施形態を使用して重要な次元ｘに沿って延びる速度調整済みの信号の部分を選択的に次元圧縮及び次元展開することによってさらに修正される。
【０１９９】
埋め込まれたデータを復元するためには、特定の一次または高次予測アルゴリズムに基づいて予測された速度とウォータマークされたデータセットの実際の速度の間の速度差だけが識別される必要がある。これは、出現するはずである速度差だけが、埋め込まれたデータをウォータマークされたデータセットに符号化する選択された次元展開及び次元圧縮のために発生する差であるためである。予測アルゴリズムが一貫している限り、予測アルゴリズムが特に正確である必要はないことを理解されたい。しかしながら、言うまでもなく、予測アルゴリズムが正確であるほど、速度調整済みの信号は原信号によりうまく一致するだろう。
【０２００】
図１１は、本発明により原データのセットにウォータマークデータを埋め込むための方法の第２の例示的な実施形態を概略するフローチャートである。図１１に示されるように、この方法の動作はステップＳ３００で開始し、原データセットが入力されるステップＳ３１０へ続く。それから、ステップＳ３２０で、原データセットが分析される。次に、ステップＳ３３０で、ステップＳ３２０での原データの分析に基づいて、原データの部分ごとに予測される速度が求められる。それから、動作はステップＳ３４０へ続く。
【０２０１】
ステップＳ３４０では、原データの各部分の速度は、ステップＳ３３０で求められたその部分の予測速度に一致するように変更される。次に、ステップＳ３５０では、原データの中に埋め込まれるデータのセット、つまりウォータマークデータが入力される。それから、ステップＳ３６０で、速度マップｆ（ｑ）が、埋め込まれるデータに基づいて生成される。それから、動作はステップＳ３７０へ続く。
【０２０２】
ステップＳ３７０では、ステップＳ３１０で入力された原データの部分が、ステップＳ３５０で入力される、埋め込まれるデータが埋め込まれているウォータマークされたデータを生成するために、速度マップｆ（ｑ）に基づいて選択的に次元圧縮及び次元展開される。次に、ステップＳ３８０では、ウォータマークされたデータが出力される。それから、ステップＳ３９０で、方法の動作が終了する。
【０２０３】
ステップＳ３５０では、ウォータマークされたデータが多岐に渡る方法で出力できることを理解されたい。例えば、ウォータマークされたデータが音声データである場合、ウォータマークされたデータは、デジタル音声テープまたは標準アナログカセットテープの上に記憶され、ＡＭ、ＦＭまたは衛星ラジオ放送として一斉送信し、ストリーミングＭＰ３またはリアル音声フォーマットを介して、分散ネットワーク上で流すことができる。代わりに、音声ファイルは、それがすでにデジタル形式ではない場合にはデジタル化し、コンパクトディスク、ＣＤ−ＲＯＭ、ＤＶＤ、または任意の他の揮発性または不揮発性のデジタルメモリデバイスに記憶することができる。さらに、ウォータマークされたデータファイルは、音声データファイルに適切な任意の既知の、あるいは後に開発されるデータ圧縮技法を使用してデータ圧縮し、上述されたメモリデバイスの１つに記憶することができる。データが圧縮されているかどうかに関係なく、ウォータマークされた音声データが、既知のあるいは後のプレイバックデバイス、あるいはインターネット、ローカルエリアネットワーク、広域ネットワーク、記憶領域ネットワーク、イントラネット、エクストラネット、公衆加入電話網及び／またはケーブルテレビ網などの分散ネットワーク上での記憶及び／またはプレイバックのために遠隔して位置するコンピュータまたは記憶装置に伝送することができることも理解されたい。
【０２０４】
図１２は、本発明に従ってウォータマークされたデータファイルから埋め込まれたデータを抽出するための方法の１つの例示的な実施形態を概略するフローチャートである。図１２に示されるように、この方法の動作はステップＳ４００で開始し、ウォータマークされたデータファイルが入力されるステップＳ４１０へ続く。それから、ステップＳ４２０では、ウォータマークされたデータファイルが分析される。次に、ステップＳ４３０では、ステップＳ４２０でのウォータマークされたデータの分析に基づいて、ウォータマークされたデータの各部分の予測された速度が求められる。それから、動作はステップＳ４４０へ続く。
【０２０５】
ステップＳ４４０では、ウォータマークされたデータの部分ごとに、その部分について予測される速度とその部分の実際の速度との差が求められる。次に、ステップＳ４５０では、ウォータマークされたデータの各部の予測された速度とウォータマークされたデータ各部の実際の速度との求められた差に基づいて、速度マップが生成される。それから、ステップＳ４６０では、該速度マップがウォータマークされたデータの中に埋め込まれた埋め込み済みデータを得るために変換または復号される。それから、動作はステップＳ４７０へ続く。
【０２０６】
ステップＳ４７０では、埋め込まれたデータは、１つ以上のデータ受信側に出力される。それから、ステップＳ４８０では、この方法の動作が終了する。
【０２０７】
ステップＳ４７０において、ウォータマークされたデータから抽出された埋め込み済みのデータが、それを表示または印刷することによって出力できることを理解されたい。埋め込み済みのデータは、表示記憶または追加伝送のために抽出されたデータを別個のサイトに伝送するために、抽出されたデータを記憶することによって、または図３に関して上述されたものなどの伝送システム上で抽出されたデータを伝送することによっても出力することができる。
【０２０８】
図１３は、本発明によるウォータマーク埋め込みシステム５００の１つの例示的な実施形態を示す。図１３に示されるように、ウォータマーク埋め込みシステム５００は、それぞれが１本以上のデータ／制御バスまたはアプリケーションプログラミングインタフェース５８０によって相互接続される、入力／出力インタフェース５１０、制御装置５２０、メモリ５３０、速度予測回路またはルーチン５４０、速度調整回路またはルーチン５５０、速度マップ生成回路またはルーチン５６０、及びウォータマークデータ生成回路またはルーチン５７０を含む。さらに図１３に示されるように、１つ以上のユーザ入力装置５９０が、入力／出力インタフェースに１つ以上のリンク５９２上で接続される。さらに、データ受信側４００がリンク４１０上で接続されるように、データソース３００は入力出力インタフェース５１０にリンク３１０上で接続される。
【０２０９】
リンク５７２、３１０、及び４１０のそれぞれは、その内のどれかが１つ以上の無線部分を含むであろう直接ケーブル接続、広域ネットワークまたはローカルエリアネットワーク上の接続、イントラネット上の接続、インターネット上の接続、または任意のそれ以外の分散型処理ネットワークまたはシステム上の接続を含むウォータマーク埋め込みシステム５００に、１つ以上のユーザ入力装置５７０、データソース３００及びデータ受信側４００をそれぞれ接続するために既知のまたは後に開発されるデバイスまたはシステムを使用して実現することができる。一般的には、リンク５７２、３１０及び４１０のそれぞれが、１つ以上のユーザ入力装置５７０、データソース３００、及びデータ受信側４００のそれぞれをウォータマーク埋め込みシステム５００に接続するために使用できる既知のまたは後に開発される接続システムまたは構造である場合がある。
【０２１０】
入力／出力インタフェース５１０は、データソース３００及び／または該１つ以上のユーザ入力装置５９０からデータを入力し、データをデータ受信側４００に出力する。また、入力出力インタフェース５１０は、制御装置５２０、メモリ５３０、及び／または速度予測回路またはルーチン５４０の１つ以上にデータを出力し、制御装置５２０、メモリ５３０、及び／またはウォータマークデータ生成回路またはルーチン５７０の１つ以上からデータを受信する。
【０２１１】
メモリ５３０は、原データ部５３２、埋め込み済みデータ部５３４、速度予測データ部分５３６、調整済み原データ部５３７、速度マップ部５３８、及びウォータマーク済みデータ部５３９の１つ以上を含む。原データ部５３２は、埋め込み済みデータ部５３４の中に記憶された埋め込みデータが、ウォータマークされたデータを形成するために埋め込まれるであろう原データを記憶する。埋め込み済みデータ部５３４は、原データの中に埋め込まれる埋め込み済みデータを記憶する。予測速度データ部５３６は、原データの部分ごとに予測される速度を記憶する。調整済み原データ部５３７は、原データの部分について予測される速度に一致する速度を有する速度調整済み原データを記憶する。速度マップ部５３８は、速度マップ生成回路またはルーチン５６０によって生成される速度マップを記憶する。ウォータマーク済みデータ部５３９は、ウォータマークデータ生成回路またはルーチン５７０によって生成されるウォータマーク済みデータを記憶する。メモリは、ウォータマーク埋め込みシステム５００を動作するために制御装置５２０によって使用される１つ以上の制御ルーチンを記憶することもできる。
【０２１２】
メモリ５３０は、変更可能な揮発性または不揮発性メモリ、あるいは変更不可の、つまり固定されたメモリの適切な組み合わせを使用して実現することができる。変更可能なメモリは、揮発性であるか、不揮発性であるかに関係なく、静的ＲＡＭまたは動的ＲＡＭ、フロッピー（Ｒ）ディスクとディスクドライブ、書き込み可能または再−再書き込み可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等のどれか１つ以上を使用して実現することができる。同様に、変更不可のつまり固定されたメモリは、ＣＤ−ＲＯＭディスクまたはＤＶＤ−ＲＯＭディスクなどのＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、光ＲＯＭディスクとディスクドライブ等のどれか１つ以上を使用して実現することができる。
【０２１３】
図１３に示される回路またはルーチンのそれぞれが、適切にプログラミングされた汎用コンピュータの部分として実現できることを理解されたい。代わりに、図１３に示される回路またはルーチンのそれぞれは、ＡＳＩＣ内の物理的に別個のハードウェア回路として、あるいはＦＰＧＡ、ＰＤＬ、ＰＬＡ、またはＰＡＬ、デジタル信号プロセッサを使用するか、あるいは離散論理素子または離散論理素子を使用して実現することができる。図１３に示される回路またはルーチンのそれぞれが取るであろう特定の形態は設計上の選択肢であり、当業者に明らかで、予測可能であろう。
【０２１４】
動作中、データソース３００は、入力出力インタフェース５９０に対し、リンク３１０上へ原データのセット及び／または埋め込まれたデータのセットの１つまたは両方を出力する。同様に、ユーザ入力装置５９０は、所望される場合、リンク５９２の上で入力出力インタフェース５１０に、原データ及び／または埋め込まれたデータのセットの１つ以上を入力するために使用できる。どのデータが入力されるのかに応じて、入力出力インタフェース５１０は、原データ部５３２の中に原データの受信されたセットを、及び／または埋め込み済みデータ部５３４の中に埋め込まれたデータを記憶する。しかしながら、データのこれらのセットのどちらかあるいは両方が、より早い時期に、ウォータマーク埋め込みシステム５１０の中に過去に入力できたであろうことを理解されたい。
【０２１５】
速度予測回路またはルーチン５４０は、制御装置５２０の制御下で、入力／出力インタフェース５１０または原データ部５３２のどちらかから、原データを入力する。速度予測回路またはルーチン５４０は、原データの部分ごとに、その部分の予測されるまたは予想される速度を求める。速度予測回路またはルーチン５４０は、制御装置５２０の制御下で、原データの各部分についての予測される速度を、予測速度データ部５３６に、または直接に速度調整回路またはルーチン５５０に出力する。
【０２１６】
それから、制御装置５２０の制御下の速度マップ生成回路またはルーチン５６０は、埋め込み済みデータ部５３４から埋め込まれたデータを入力し、埋め込まれたデータを速度調整済み原データの中に埋め込むために、速度調整済み原データの部分を次元圧縮する、及び／または次元展開するために使用できる速度マップを生成する。速度マップ生成回路またはルーチン５６０が、ウォータマーク済みデータに原データを修正するために使用できる速度マップに、埋め込まれるデータを変換するために、本出願に開示されるものを含むが、それらに限られない既知のまたは後に開発される符号化方式を使用することができることを理解されたい。それから、速度マップ生成回路またはルーチン５６０は、制御装置５２０の制御下で、メモリの速度マップ部５３８に、または直接的にウォータマークデータ生成回路またはルーチン５７０に生成された速度マップを出力する。
【０２１７】
ウォータマークデータ生成回路またはルーチン５７０は、制御装置５２０の制御下で、速度マップ部５３８から、または速度マップ生成回路またはルーチン５６０から直接に速度マップを入力する。ウォータマークデータ生成回路またはルーチン５７０は、制御装置５２０の制御下で、調整済み原データ部５３７に記憶された速度調整済み原データも入力する。それから、ウォータマークデータ生成回路またはルーチン５７０は、埋め込み済みデータを速度調整済み原データの中に埋め込み、ウォータマークされたデータを形成するために、速度マップに基づいて定められた次元に沿って速度調整済み原データを選択的に次元圧縮及び／または次元展開することによって、速度調整済み原データを修正する。それから、ウォータマークデータ生成回路またはルーチン５７０は、ウォータマークされたデータを出力し、制御装置５２０の制御下で、それをウォータマーク済みデータ部５３９の中に記憶するか、あるいは直接的に入力／出力インタフェース５１０に提供する。
【０２１８】
ウォータマークされたデータがウォータマークデータ生成回路またはルーチン５５０によって生成された後、ウォータマークされたデータは、メモリ５３０のウォータマーク済みデータ部５３９の中に無期限に記憶することができる。ウォータマークされた埋め込みシステム５００の外側でウォータマーク済みのデータが必要とされるときなどに、入力／出力インタフェース５１０は、制御装置５２０の制御下で、ウォータマークデータ生成回路またはルーチン５７０またはウォータマーク済みデータ部５３９から直接的にウォータマークデータを入力し、リンク４１０上でデータ受信側４００にウォータマーク済みデータを出力する。
【０２１９】
図１４は、本発明によるウォータマーク抽出システム６００の１つの例示的な実施形態を示す。図１４に示されるように、ウォータマーク抽出システム６００は、それぞれが１本以上のデータ／制御バスまたはアプリケーションインタフェース６７０によって相互接続される、入力／出力インタフェース６１０、制御装置６２０、メモリ６３０、速度予測回路またはルーチン６４０、速度マップ生成回路またはルーチン６５０、及び埋め込み済みデータ復号回路またはルーチン６６０を含む。
【０２２０】
図１４に示されるように、入力／出力インタフェース６１０は、リンク３１２上でデータソース３００に、リンク４１２上でデータ受信側４００に、及び１つ以上のリンク６９２上で１つ以上のユーザ入力装置６９０に接続される。上述されたように、データソース３００及びデータ受信側４００のそれぞれが、図５に関して上記に概略された形式のどれかを取ることができる。
【０２２１】
リンク６９２、３１２及び４１２のそれぞれが、ユーザ入力装置６９０、データソース３００及びデータ受信側４００のそれぞれを、そのどれかが１つ以上の無線部分を含む、直接ケーブル接続、広域ネットワークまたはローカルエリアネットワーク上の接続、イントラネット上の接続、インターネット上の接続、あるいはその他の分散処理ネットワークまたはシステムを含むウォータマーク抽出システム６００に接続するために、既知のまたは後に開発されるデバイスまたはシステムを使用して実現することができる。一般的には、リンク６９２、３１２、及び４１２のそれぞれが、１つ以上のユーザ入力装置６９０、データソース３００、及びデータ受信側４００をそれぞれウォータマーク抽出システム６００に接続するために使用できる既知の、あるいは後に開発される接続システムまたは構造である場合がある。
【０２２２】
メモリ６３０は、ウォータマーク済みデータ部６３２予測速度データ部６３４、速度マップ部６３６及び埋め込み済みデータ部６３８を含む。メモリ６３０は、ウォータマーク抽出システム６００を制御するために、制御装置６２０によって使用可能な１つ以上の制御プログラムまたはルーチンも記憶できる。ウォータマーク済みデータ部６３２は、埋め込まれたデータを含むウォータマーク済みデータを記憶する。予測速度データ部６３４は、速度予測回路またはルーチン６４０によって求められる予測速度を記憶する。速度マップ部６３６は、速度マップ生成回路またはルーチン６５０によって生成される速度マップを記憶する。埋め込み済みデータ６３８は、速度マップ部６３６の中に記憶される速度マップから埋め込み済みデータ復号回路またはルーチン６６０によって復号される埋め込みデータを記憶する。
【０２２３】
メモリ６３０は、変更可能な揮発性または不揮発性のメモリまたは変更不可の、つまり固定された、メモリの適切な組み合わせを使用して実現することができる。変更可能メモリは、揮発性であるか、あるいは不揮発性であるかに関係なく、静的または動的ＲＡＭ、フロッピー（Ｒ）ディスクとディスクドライブ、書き込み可能または再−再書き込み可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等のどれか１つ以上を使用して実現できる。同様に、変更不可つまり固定されたメモリは、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭなどのＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、光ＲＯＭディスクのどれか１つ以上を使用して実現できる。
【０２２４】
図１４に示される回路またはルーチンのそれぞれが、適切にプログラミングされた汎用コンピュータの部分として実現できることを理解されたい。代わりに、図１４の回路またはルーチンのそれぞれは、ＡＳＩＣ内の物理的に別個のハードウェア回路として、あるいはＦＰＧＡ、ＰＤＬ、ＰＬＡ、またはＰＡＬ、デジタル信号プロセッサを使用して、または離散論理素子または離散回路素子を使用して実現することができる。図１４に示される回路またはルーチンのそれぞれが取るであろう特定の形式は、設計選択肢であり、当業者に明らかで、予測可能となるだろう。
【０２２５】
データソース３００は、ウォータマーク抽出システム６００に対して、ウォータマーク済みデータ部６３２に記憶されるウォータマーク済みデータを出力するために使用できる。同様に、該１つ以上のユーザ入力装置６９０は、ウォータマーク済みデータを入力するために使用できる。データ受信側４００は、入力出力インタフェース６１０から、ウォータマーク抽出システム６００によって抽出される埋め込み済みデータを入力するために使用できる。動作中、ウォータマーク抽出システム６００がすでにウォータマーク済みデータを含んでいるわけではない場合、ウォータマーク抽出システム６００は、データソース３００または１つ以上のユーザ入力装置６９０の１つから失われたデータを得る。そのデータがデータソース３００あるいは１つ以上のユーザ入力装置６９０から受信される場合、そのデータは入力出力インタフェース６１０を通して入力され、ウォータマーク済みデータ部６３２に記憶される。
【０２２６】
次に、制御装置６２０の制御下で、ウォータマーク済みデータ部６３２に記憶されるウォータマーク済みデータは、速度予測回路またはルーチン６４０に出力される。速度予測回路またはルーチン６４０は、ウォータマーク済みデータの部分ごとに速度を予測する。それから、速度予測回路またはルーチン６４０は、制御装置６２０の制御下で、予測速度データを予測速度データ部６３４に記憶するか、あるいは速度マップ生成回路またはルーチン６５０にそれを直接的に提供するかのどちらかである。
【０２２７】
速度マップ生成回路またはルーチン６５０は、予測速度に基づき、ウォータマーク済みデータのその部分について予測または予想される速度を基準にして、ウォータマーク済みデータのどの部分が次元圧縮または次元展開されたのかを示す速度マップを生成する。速度マップ生成回路またはルーチン６５０は、制御装置６２０の制御下で速度マップを速度マップ部６３６に記憶するか、あるいは埋め込み済みデータ復号回路またはルーチン６６０にそれを直接的に提供するかのどちらかである。
【０２２８】
埋め込み済みデータ復号回路またはルーチン６６０は、制御装置６２０の制御下で、速度マップ部６３６から、または直接的に速度マップ生成回路またはルーチン６５０から速度マップを入力する。埋め込み済みデータ復号回路またはルーチン６６０は、埋め込まれたデータから速度マップを生成し、速度マップから埋め込まれたデータを得るために使用される元の符号化方式に基づいて、速度マップを復号する。それから、埋め込み済みデータ符号化回路またはルーチンが、制御装置６２０の制御下で、データ受信側４００への伝送のために、復号された埋め込み済みデータを直接的に入力出力インタフェース６１０に提供するか、あるいはそれを埋め込み済みデータ部６３８に記憶する。
【０２２９】
図１５は、本発明によるウォータマーク埋め込みシステム７００の第３の例示的な実施形態を示す。特に、図１５に示されるウォータマーク埋め込みシステムの第３の例示的な実施形態は、セルフクロッキング（自己計時）ウォータマークデータファイルを出力する。図１５に示されるように、データソース７１０は、原データ信号をデータ信号線路またはリンク７１２上で遅延回路７２０まで出力する。また、データソース７１０は、原データセットを、信号線路またはリンク７１４上で調整装置７５０に、信号線路またはリンク７１６上でコンパレータ７４０に出力する。遅延回路７２０は、原データ信号を遅延させ、遅延した原データ信号を信号線路またはリンク７２２上で速度予測装置７３０に出力する。
【０２３０】
速度予測装置７３０は、遅延された原データ信号を分析し、予測された速度を信号線路またはリンク７３２上でコンパレータ７４０に出力する。コンパレータ７４０は、速度予測装置７３０から復元されるデータ信号の予測される速度と、信号線路またはリンク７１６上で受信される原データ信号の実際の速度を比較する。比較に基づいてコンパレータ７４０によって求められる差の程度に基づき、コンパレータ７４０は、調整信号を信号線路７４２上で調整装置７５０に出力する。
【０２３１】
調整装置７５０は、原データ信号の実際の速度が、信号線路またはリンク７４２上で受信される調整信号に基づいて、原信号の予測される速度に一致するように、最初に、信号線路７１４上で受信される原データ信号を調整する。それから、調整装置７５０は、さらに、所望されるデータを速度調整済み原データセットに埋め込み、セルフクロッキングウォータマークデータセットを生成するために、所定の速度マップに基づいて速度調整済み原データ信号の速度を調整する。それから、調整装置７５０は、セルフクロッキングウォータマークデータセットを信号線路またはリンク７５２上でデータ受信側７６０に出力する。
【０２３２】
図１６は、本発明によるウォータマーク抽出システムまたはデバイス８００の第３の例示的な実施形態を示す。図１６に示されるように、ウォータマーク抽出デバイスまたはシステム８００の第３の例示的な実施形態は、ウォータマークデータ信号を信号線路またはリンク８１２上で遅延回路８２０に出力するデータソース８１０を含む。該データソース８１０は、信号線路８１４上でコンパレータ８４０にセルフクロッキングウォータマークデータ信号も出力する。遅延回路８２０は、所定量、セルフクロッキングウォータマークデータ信号を遅延させ、遅延したセルフクロッキングウォータマークデータ信号を、信号線路またはリンク８２２上で速度予測装置８３０に出力する。速度予測装置８３０は、遅延したセルフクロッキングウォータマークデータ信号を分析し、遅延したセルフクロッキングウォータマークデータ信号の各部についての予測される速度を、信号線路またはリンク８３２上でコンパレータ８４０に出力する。
【０２３３】
コンパレータ８４０は、ウォータマークデータセットの部分ごとに、信号線路またはリンク８１４上で受信されたセルフクロッキングウォータマークデータ信号の実際の速度を、信号線路５３２上で速度予測装置８３０から受信される予測される速度と比較する。比較に基づき、コンパレータ８４０は、ウォータマークデータセットの部分ごとに、セルフクロッキングウォータマークデータ信号の予測速度と実際の速度の差に対応する速度マップを生成する。それから、コンパレータ８４０は、速度マップを抽出され、復号された埋め込み済みデータの文字列に変換するために所定の符号化方式を適用する。それから、コンパレータ８４０は、信号線路またはリンク８４２上でデータ受信側８５０に抽出され、復号された埋め込み済みデータを出力する。
【０２３４】
上記に概略された多様な例示的な実施形態において、ウォータマーク埋め込みシステム１００と３００、及びウォータマーク抽出システム２００と４００は、それぞれ、プログラミングされた汎用コンピュータを使用して実現することができる。ただし、ウォータマーク埋め込みシステム１００と３００、及びウォータマーク抽出システム２００と４００は、それぞれ、専用コンピュータ、プログラミング済みマイクロプロセッサまたはマイクロコントローラ、及び周辺集積回路素子、ならびにＡＳＩＣまたはその他の集積回路、デジタル信号プロセッサ、離散素子回路などのハードウェア電子回路または論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ、ＰＡＬなどの書き込み可能論理回路等を使用して実現することができる。一般的には、図５、図６、図１１及び図１２に示されるフローチャートの１つ以上を実現することができる有限状態マシーンを実現することができる任意の素子が、それぞれ、ウォータマーク埋め込みシステム１００と３００、及びウォータマーク抽出システム２００と４００の１つ以上を実現するために使用できる。
【０２３５】
上記に概略されたウォータマーク埋め込みシステム１００と３００、及びウォータマーク抽出システム２００と４００の多様な例示的な実施形態の回路及び素子のそれぞれは、適切なプログラミングされた汎用コンピュータの部分として実現することができる。代わりに、上記に概略されたウォータマーク強調システム２００の多様な例示的な実施形態の回路及び素子のそれぞれは、ＡＳＩＣ内の物理的に別個のハードウェア回路として、あるいはＦＰＧＡ、ＰＤＬ、ＰＬＡまたはＰＡＬを使用して、または離散論理素子または離散回路素子を使用して、実現することができる。それぞれ上記に概略される、ウォータマーク埋め込みシステム１００と３００、及びウォータマーク抽出システム２００と４００の多様な例示的な実施形態の回路及び素子のそれぞれが取るであろう特定の形は、設計選択肢であり、当業者に明らかで、予測可能であろう。
【０２３６】
さらに、上記に概略されたウォータマーク埋め込みシステム１００と３００、及びウォータマーク抽出システム２００と４００の多様な例示的な実施形態、及び／または上述された多様な回路及び素子は、プログラミングされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサ等上で実行されるソフトウェアルーチン、マネージャまたはオブジェクトとしてそれぞれ実現することができる。この場合、ウォータマーク埋め込みシステム１００と３００、およびウォータマーク抽出システム２００と４００の多様な例示的な実施形態、及び／または上述された多様な回路及び素子のそれぞれは、通信網の中に埋め込まれる１つ以上のルーチンとして、サーバ上に常駐するリソースとして、プリンタドライバのリソース等として実現することができる。ウォータマーク埋め込みシステム１００と３００、及びウォータマーク抽出システム２００と４００の多様な例示的な実施形態、及び上述された多様な回路及びルーチンは、ウォータマーク埋め込みシステム１００と３００及びウォータマーク抽出システム２００と４００の１つ以上を、ウェブサーバまたはクライアントデバイスのハードウェア及びソフトウェアなどのソフトウェア及び／またはハードウェアシステムの中に物理的に組み込むことによって実現することもできる。
【０２３７】
本発明は、上記に概略された例示的な実施形態に関係して説明されてきたが、多くの代替策、変型及び変化が、当業者にとって明らかであろうことは明白である。結果的に、発明の例示的な実施形態は、上記に述べられたように、制限的ではなく、例示的であることが意図される。多様な変更は、発明の精神及び範囲から逸脱することなく加えられてよい。
【図面の簡単な説明】
【図１】  本発明に従って音声ファイルの中にウォータマークを埋め込むために、音声ファイルの部分をどのようにして時間展開及び時間圧縮することができるのかを示す。
【図２】  本発明の実施形態による例示的な速度マップを示す。
【図３】  画像の中にまたは音声ファイルの中にウォータマークを埋め込むための方法の第１の例示的な実施形態を概略するフローチャートである。
【図４】  ウォータマークされた画像またはウォータマークされた音声ファイルから、埋め込まれたウォータマークを抽出するための方法の第１の例示的な実施形態を概略するフローチャートである。
【図５】  本発明によるウォータマーク埋め込みシステムの第１の例示的な実施形態を示すブロック図である。
【図６】  本発明によるウォータマーク抽出システムの第１の例示的な実施形態を示すブロック図である。
【図７】  本発明に従って時間圧縮された、及び時間展開された部分を使用して音声ファイルの中にバイナリ情報を符号化するある方法を図解する。
【図８】  復元された速度マップの１つの例示的な実施形態及びバイナリ文字列「００１０」を本発明による音声ファイルの中に埋め込むために有効な予想テンプレートの１つの例示的な実施形態を示す。
【図９】  画像の部分が、本発明に従って画像の中にウォータマークを埋め込むためにどのようにして空間的に展開及び空間的に圧縮できるのかを示す。
【図１０】  図４に示される画像に対する空間的な修正を示す。
【図１１】  ウォータマークをデータファイルの中に埋め込むための方法の第２の例示的な実施形態を概略するフローチャートである。
【図１２】  ウォータマークされたデータファイルから埋め込まれたデータファイルを抽出するための方法の第２の例示的な実施形態を概略するフローチャートである。
【図１３】  本発明によるウォータマーク埋め込みシステムの第２の例示的な実施形態を示すブロック図である。
【図１４】  本発明によるウォータマーク抽出システムの第２の例示的な実施形態を示すブロック図である。
【図１５】  本発明に従って時間変化データの中にウォータマークを埋め込むシステムまたはデバイスの第３の例示的な実施形態を示す。
【図１６】  本発明に従ってウォータマークされた時間変化データファイルからウォータマークを抽出するシステムまたはデバイスの第３の例示的な実施形態を示す。
【符号の説明】
１０  基準
２０  ウォータマーク済み
１１０、２１０、５１０、６１０  入力／出力インタフェース
１２０、２２０、５２０、６２０  制御装置
１３０、２３０、５３０、６３０  メモリ
１３２、２３４、５３２  原データ部
１３４、２３９、６３８  埋め込み済みデータ部
１３６、２３８、５３８、６３６  速度マップ部
１３８、２３２、５３９、６３２  ウォータマーク済みデータ部
１４０、２６０、５６０  速度マップ生成回路またはルーチン
１５０、５７０  ウォータマークデータ回路またはルーチン
１７０、２９０、５９０、６９０  ユーザ入力装置
２３６  分析データ部
２４０  分析データ生成回路またはルーチン
２５０  整列回路またはルーチン
２７０  埋め込み済みデータ復号回路またはルーチン
３００、７１０、８１０  データソース
４００、７６０、８５０  データ受信側
５３４、６３４  予測速度データ部
５３６  調整済み原データ部
５５０  原データ変更回路またはルーチン
６４０  速度予測回路またはルーチン
７１０、８１０  データソース
７２０、８２０  遅延回路
７４０、８４０  コンパレータ
７５０  調整装置
７３０、８３０  速度予測装置
【図１】
0004186531.tif 000008
【図２】
0004186531.tif 000009
【図３】
0004186531.tif 000010
【図４】
0004186531.tif 000011
【図５】
0004186531.tif 000012
【図６】
0004186531.tif 000013
【図７】
0004186531.tif 000014
【図８】
0004186531.tif 000015
【図９】
0004186531.tif 000016
【図１０】
0004186531.tif 000017
【図１１】
0004186531.tif 000018
【図１２】
0004186531.tif 000019
【図１３】
0004186531.tif 000020
【図１４】
0004186531.tif 000021
【図１５】
0004186531.tif 000022
【図１６】
0004186531.tif 000023