(57)【特許請求の範囲】
【請求項１】
アナログデータストリームと、サブサンプリングされ及び／又は変換されたディジタルデータとのうちの１つから導出された一連のディジタル測定値中に、実質的な付加ディジタルデータを、ステガノグラフィック埋め込みする方法であって、
関数変換手段により、前記一連のディジタル測定値を、連続的な量子化され及び／又はエイリアシングされた要素からなる一組の出力データへと変換される一組の入力データからの関数変換を介して導出し、
ビットストリーム変換手段により、前記実質的な付加ディジタルデータを一連の連続するビットへと変換し、及び、
エンコーダ手段により、前記連続するビットを、前記量子化され及び／又はエイリアシングされた要素中に導入して、該要素の調節を介して、連続する要素を調整し、これにより、前記一連のディジタル測定値中に、その品質に実質的には影響を与えることなく前記付加ディジタルデータが埋め込まれるようにする
ことを含み、
前記埋め込みが、パリティエンコーディング、高位パリティエンコーディング、可変データレート及び可変長エンコーディング、及びブラックボックスエンコーディングからなるグループから選択されたエンコーディング技法によって行われ、及び、
前記ブラックボックスエンコーディングは、データエンコーディングプロセスをブラックボックス化することにより、前記関数変換を実行するソフトウェアコードの内部を変更する必要性を無くすようにするためのエンコーディングであることからなる、方法。
【請求項２】
前記測定値が、メディアファイルを表しており、前記埋め込まれた付加ディジタルデータが、前記メディアファイルの形式を変更することなく再生時において、該メディアファイルの形式に追加的なコンテンツを提供することからなる、請求項１に記載の方法。
【請求項３】
前記追加的なコンテンツが、追加の高帯域幅のディジタルチャネル、広告、対話型広告、ゲーム、追加的なプログラム要素、実行可能プログラムコード、及び／又はサブタイトルを含み、前記メディアが、オーディオか、イメージか、又はビデオであることからなる、請求項２に記載の方法。
【請求項４】
精度に対する影響を最小限にしながら、どの測定値か又はこれを表す要素又は係数が変更されるべきか及びどのビットにより変更されるべきかを選択するよう構成された最下位ビットパリティエンコーディングを、前記パリティエンコーディングが含むことからなる、請求項１に記載の方法。
【請求項５】
前記最下位ビットパリティエンコーディングにおける前記選択することは、最小ノイズが選択されることからなる、請求項４に記載の方法。
【請求項６】
前記エンコーディング技法が、ブラックボックスエンコーディングであり、及び、
前記測定値中への前記埋め込みは、エンコードが実施される前に、関数変換モデルを用いて前記測定値に変更を加えることを含み、該変更を加えることが、該測定値を、適応型フィードバックを用いることによって適正にデータをエンコードする値へと収束させることからなる、請求項１に記載の方法。
【請求項７】
前記最下位ビットパリティエンコーディングにおいて、ディジタルストリームのうちの選択されたビットのみが、変更され、その変更内容は、前記データ埋め込みのアルゴリズムを事前に実行することによって得られた情報に基づいて決定されることからなる、請求項４に記載の方法。
【請求項８】
前記エンコーダ手段によりエンコードされた前記測定値のデータが、そのエンコーディングプロセスとは全く逆のプロセスにより抽出されることからなる、請求項１に記載の方法。
【請求項９】
アナログデータストリームと、サブサンプリングされ及び／又は変換されたディジタルデータとのうちの１つから導出された一連のディジタル測定値中に、実質的な付加ディジタルデータを、ステガノグラフィック埋め込みするための装置であって、
前記一連のディジタル測定値を、連続的な量子化され及び／又はエイリアシングされた要素からなる一組の出力データへと変換される一組の入力データから導出するための関数変換手段と、
前記実質的な付加ディジタルデータを一連の連続するビットへと変換するための手段と、
前記連続するビットを、前記量子化され及び／又はエイリアシングされた要素中に導入して、該要素の調節を介して、連続する要素を変更することにより、前記一連のディジタル測定値中に、その品質に実質的には影響を与えることなく前記付加ディジタルデータが埋め込まれる、エンコーダ手段
とを、組み合わせて備え、
前記埋め込みが、パリティエンコーディング、高位パリティエンコーディング、可変データレート及び可変長エンコーディング、及びブラックボックスエンコーディングを行うためのエンコーダからなるグループから選択されたエンコーディング手段によって行われ、及び、
前記ブラックボックスエンコーディングは、データエンコーディングプロセスをブラックボックス化することにより、関数変換を実行するソフトウェアコードの内部を変更する必要性を無くすようにするためのエンコーディングであることからなる、装置。
【請求項１０】
前記測定値が、メディアファイルを表しており、前記埋め込まれた付加ディジタルデータが、前記メディアファイルの形式を実質的には変更することなく再生時において、該メディアファイルの形式に追加的なコンテンツを提供することからなる、請求項９に記載の装置。
【請求項１１】
前記追加的なコンテンツが、追加の高帯域幅のディジタルチャネル、広告、対話型広告、ゲーム、追加的なプログラム要素、実行可能プログラムコード、及び／又はサブタイトルを含み、前記メディアが、オーディオか、イメージか、又はビデオであることからなる、請求項１０に記載の装置。
【請求項１２】
精度に対する影響を最小限にしながら、どの測定値か又はこれを表す要素又は係数が変更されるべきか及びどのビットにより変更されるべきかを選択するよう構成された最下位ビットパリティエンコーディング手段を、前記パリティエンコーディングが含む、請求項９に記載の装置。
【請求項１３】
前記最下位ビットパリティエンコーディングにおける前記選択することは、最小ノイズが選択される、請求項１２に記載の装置。
【請求項１４】
前記エンコーダが、ブラックボックスエンコーダであり、及び、
前記測定値中への前記埋め込みは、エンコードが実施される前に、関数変換モデルを用いて前記測定値に変更を加えることを含み、該変更を加えることが、該測定値を、適応型フィードバック手段を用いることによって、適正にデータをエンコードする値へと収束させることからなる、請求項９に記載の装置。
【請求項１５】
前記最下位ビットパリティエンコーディングにおいて、ディジタルストリームのうちの選択されたビットのみが、変更され、その変更内容は、前記データ埋め込みのアルゴリズムを事前に実行することによって得られた情報に基いて決定されることからなる、請求項１２に記載の装置。
【請求項１６】
前記エンコードされた測定値のデータを、前記エンコーダ手段により行われたエンコーディングプロセスとは全く逆のプロセスにより抽出するよう構成されたデコーダが提供されている、請求項９に記載の装置。
【請求項１７】
前記エンコーディング手段は、知覚心理学的基準に応答して、より高いビットレートよりも、より低いビットレートの方が、前記メディアファイルに対する前記付加ディジタルデータの埋め込みの感度が高い可変データレートエンコーディング手段である、請求項９に記載の装置。
【請求項１８】
前記測定値が、無音部分を含むオーディオファイルを表しており、データの埋め込みにより該無音部分に可聴歪みが加えられる場合には、知覚心理学的基準に基づいていないエンコーディング手段よりもより高いレートにおいてデータを埋め込むための手段を、前記可変データレートエンコーディング手段が含むことからなる、請求項１７に記載の装置。
【請求項１９】
前記関数変換が、測定値データの一連の係数表現を提供するフーリエ、コサイン、サイン、及びウェーブレット変換のうちの何れかを含むことからなる、請求項１に記載の方法。
【請求項２０】
前記パリティエンコーディングにおいて、前記変換され及び量子化され及び／又はエイリアシングされた一連の測定値の係数の下位ビットは、連続する付加ディジタルデータビットが該下位ビット内に埋め込まれることによって変更されることからなる、請求項１９に記載の方法。
【請求項２１】
前記測定値が、メディアファイルを表しており、変更されるべき前記係数の選択が、知覚心理学的な情報に基づいて行われることによって、該メディアファイルの再生時に知覚に実質的には影響を与えずに、前記付加ディジタルデータの埋め込みが行われるようにすることからなる、請求項２０に記載の方法。
【請求項２２】
前記一連の測定値が、
メディアファイル形式データと、
ＰＣＭアルゴリズム、ＭＰ３等の圧縮されたオーディオファイル、のような測定値に関するオーディオ波形と、
走査されたイメージか、ＦＡＸか、又はＪＰＥＧ等の圧縮されたイメージファイル、のようなイメージ測定値と、
ディジタルムービーか、又はＭＰＥＧ等の圧縮されたビデオファイルのような、時間的に変動するイメージ測定値と、
機械制御データ、プロセス監視測定値、及び温度又は圧力測定値のような、一連の物理的な測定値からなるデータ
とのうちの何れかを含むことからなる、請求項１に記載の方法。
【請求項２３】
前記関数変換が、入力における連続的か又は離散的な一組のデータポイントＤから、出力における離散的な一組のデータポイントＤ’へと行われ、変更されたバージョンＤ”が生成され、該バージョンＤ”は、該Ｄ’に密接に関連付けられているだけでなく、追加された特徴も有しており、該追加された特徴とは、前記付加ディジタルデータのビットストリームのビットを使用して、及び、データの精度に対する影響が最小限な状態で且つ問題にはならない状態において、ＤからＤ’への変換に固有の量子化及び／又はエイリアシング成分を変更するか又は調整することを介して、第２のか又は付加的なディジタルデータビットストリームをエンコードするということであることからなる、請求項１に記載の方法。
【請求項２４】
前記入力データが、メディアファイル形式から導出され、前記付加ディジタルデータの前記エンコード及び埋め込みに伴う前記変更又は調整が、前記エンコードされたデータの再生時において、知覚に実質的には影響を与えないように、Ｄ’における十分に小さな変更によって行われることからなる、請求項２３に記載の方法。
【請求項２５】
前記エンコーディング技法は、知覚心理学的基準に応答して、より高いビットレートよりも、より低いビットレートの方が、前記メディアファイルに対する前記付加ディジタルデータの埋め込みの感度が高い可変データレートエンコーディング技法であることからなる、請求項１に記載の方法。
【請求項２６】
前記測定値が、無音部分を含むオーディオファイルを表しており、データの埋め込みにより該無音部分に可聴歪みが加えられる場合には、知覚心理学的基準に基づいていないエンコーディング技法よりもより高いレートにおいてデータを埋め込むことを、前記可変データレートエンコーディング技法が含むことからなる、請求項２５に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一連のディジタル信号、データストリーム、又は測定値（以下ではそれら全てを包括的に「測定値」と称す）中へのデータのステガノグラフィック埋め込み(steganographic embedding)に関するものであり、該測定値は、特に、例えば可聴周波数の音波形といったアナログデータストリームから直接取得された測定値、又はサブサンプリングされ及び／又は変換されたディジタルデータから直接取得された測定値である（但し、かかる「測定値」に専ら関係するものではない）。本出願の一部は、本出願人の米国特許出願第09/389941号（圧縮されたオーディオ、ビデオ、及びその他のメディアファイル及びその類中にデータを埋め込むためのプロセス、システム、及び装置）及び米国特許出願第09/389942号（ディジタルメディアプレーヤ及びビューワシステムにより実行するための実行可能プログラムコードをMP3等のメディアファイルフォーマット中にシームレスに埋め込むためのプロセス及びシステム）(1999年9月3日に出願)を分割したものであり、本出願の一部はまた、前記出願の基礎的な技術の根底にある全般的な概念を示す修正された資料及び補足的な資料を含むものである。
【０００２】
幾つかの側面では、本出願はまた、ディジタル電話（特にセルラー電話システム）の信号及びその類中に該ディジタル電話の信号の後方互換性に影響を与えることなくデータを埋め込むための方法、装置、及びシステムに関する2000年3月6日付け出願の米国特許出願第09/518875号に記載されている技術を含む。
【０００３】
【従来の技術】
上記の出願で解説されているように、これまで、データは、メディア情報及びフォーマットをアナログ形式で表現したものに埋め込まれることが多かった。これは、例えば、テレビ及びラジオ用途でテキストといった補足データを伝送するために広く使用されてきたが、その技術は、一般に、高ビットレートのディジタルデータを送信する能力を有さないものであった。
【０００４】
また、メディアの劣化及び操作に対して堅牢なものとするために、ウォーターマークデータが埋め込まれてきた。典型的なウォーターマーク技術は、メディアファイルに適用される一般的な形式の変換を介して維持される信号の全体的な特性に依存するものである。かかる技術もまた、かなり低いビットレートに制限されるものである。実際に、オーディオウォーターマーク技術における良好なビットレートは、およそ数十ビット（エンコードデータ）／秒である。
【０００５】
高ビットレートの使用を可能にするディジタルメディアの信号領域の低ビットにデータが埋め込まれる場合、かかるデータは、非圧縮状態となり、又は比較的低い圧縮率しか可能とならないものとなる。その上、最近の多くの圧縮ファイル形式は、かかる信号領域の表現を使用するものではなく、このため、この技術の使用には適さない。更に、この技術は、サウンドファイル中にデータをエンコードするために使用した際に可聴ノイズを導入する傾向を有するものである。
【０００６】
上述のような又はそれらに関連する技術及び用途を例示する先行特許の内でもとりわけ、米国特許第4379947号（オーディオと同時にデータを伝送することを扱ったもの）、米国特許第5185800号（精神聴覚(psychoauditive)基準に基づく適応型量子化(adaptive quantization)を用いて変換済みディジタルオーディオ放送信号にビット割り当てを使用するもの）、米国特許第5687236号（ステガノグラフィック技術）、米国特許第5710834号（グラフィックイメージを介して伝搬されたコード信号）、米国特許第5832119号（実験データ中に埋め込まれた制御信号によるシステムの制御）、米国特許第5850481号（任意のデータ用又はコンピュータコード用でない埋め込み文書）、米国特許第5889868号（ディジタルデータ中のディジタルウォーターマーク）、及び米国特許第5893067号（オーディオ信号中に隠れたエコーデータ）が挙げられる。
【０００７】
かかる技術に関する先行文献として次のものが挙げられる。
・ Bender, W.D.Gruhl, M.Morimoto, A.Lu著の「Techniques for data hiding」(IBM Systems Jounal, Vol.35, Numbers 3 and 4, 1996, p.313-336)
・MPEG Spec-ISO/IEC 11172, part1-3の「Information Technology-Coding of moving pictures and associated audio for digital storage media at up to about 1.5Mbit/s」(Copyright 1993, ISO/IEC)
・ID3v2 spec : http://www.id3.org/easy.html
http://www.id3.org/id3v2.3.0.html
マルチメディアデータのラベリング、特に低ビットレート情報のエンコードにおけるウォーターマークを使用した著作権ラベリングに関する技術の概観が、「Copy Protection For Multimedia Data based on Labeling Techniques」においてLangelaar, G.C.等により提示された（http://www-it.et.tudelft.nl/html/research/public/benlx96/benelux_cr.html）。
【０００８】
上記で引用した「MPEG Spec」及び「ID3v2 Spec」に特に関連して、本出願人は、上記米国特許出願第09/389942号において、特に、予め用意されたオーディオ、ビデオ、スチルイメージ、３Ｄ又はその他の一般に非圧縮のメディア形式のうちの１つ又は２つ以上に拡張された能力を持たせるための新規の埋め込み概念を応用した技術を開示した。該能力とは、ディジタルメディア再生装置において、前記予め用意されたメディア形式の表現に、追加のグラフィック表現、対話的表現、及び／又はe-コマースコンテンツ表現を補充する能力である。
【０００９】
上述の他の米国特許出願第09/389941号は、圧縮形式でのデータの埋め込み、及び周波数表現のデータの（典型的には、フーリエ変換、離散コサイン変換、ウェーブレット変換、又はその他の周知の関数を介した）エンコーディングに一層広範に関連するものである。その発明は、圧縮されたディジタル表現のメディア中に高ビットレートのデータを埋め込むものであり、これは、圧縮データの周波数表現の係数の低ビットの修正を介して行われ、これによりエンコーディング及びデコーディングが高速になるという付加的な利益を得ることが可能になる。これは、時間のかかる追加の解凍／圧縮プロセスを実行することなく、圧縮されたメディアの係数を直接変換することができるからである。また、かかる技術は、ウォーターマーク処理と共に使用することが可能であるが、かかる場合、ウォーターマークはデータエンコーディングプロセスの前に付与されることになる。
【００１０】
また、既述のLangeraa等の文献は、以下の更なる従来の文献を引用し、それらについて議論している。
・J. Zhao, E. Kochの「Embedding Robust Labels into Images for Copyright Protection」(Internet Congress on Intellectual Property Rights for Specialized Information, Knowledge and New Technologiesの議事録(Vienna, Austria, August 1995))
・E. Koch, J. Zhaoの「Towards Robust and Hidden Image Copyright Labeling」(Nonlinear Signal and Image Processing に関するIEEE研究会の議事録(Neos Marmaras, June, 1995))
・F.M.Boland, J.J.K O Ruanaidh, C.Dautzenbergの「Watermarking Digital Images for Copyright Protection」(the 5th International Conference on Image Processing and its Applicationsの議事録(No.410, Endinburgh, July, 1995))
また、Langelaarの更に別の論文は、MPEG圧縮ビデオ形式のラベリングについて一層早期に開示している。
・G.C.Langelaar, R.L.Lagendijk, J.Biemondの「Real-time Labeling Methods for MPEG Compressed Video」(18th Symposium on Information Theory in the Benelux, 15-16 May 1997, Veldhoven, The Netherlands)
これらZhao、Koch、及びBoland等、及びLangelaar等の開示は、本発明により採用される技術の構成要素に部分的に類似したエンコーディング技術を教示するものであるが、以下で一層詳細に解説するように、全体的な問題を解決することが予測されたりまたその解決のために実際に適用することができるものではなく、本発明により取り組まれ求められる所望の利点を有するものでもない。
【００１１】
まず、上記のZhao及びKochの手法について考察する。彼らはJPEGベースの技術を使用することによりイメージ中に信号を埋め込む（[JPEG] Digital Compression and Coding of Continuous-tone Still Images, Part1 : Requirements and guidelines, ISO/IEC DIS 10918-1）。彼らは、最初に、８ブロック又はオクテットDCTの中間周波数範囲から選択した３つの係数のサイズの順で信号をエンコードする。彼らは、それら３つの係数の間の順序の８つの順列を３つのグループに分割し、その１つのグループが「１」ビット（HML,MHL,HHL）をエンコードし、もう１つのグループが「０」ビット（MLH,LMH,LLH）をエンコードし、第３のグループが「データなし」（HLM,LHM,MMM）をエンコードする。彼らはまた、該技術をビデオデータのウォーターマークへと拡張させた。彼らの技術は、堅牢で修正に柔軟に対応できるものではあるが、大量のデータをエンコードすることができないものである。これは、既にエンコード中のデータに近いデータを有するブロックしか修正することができず、その他の場合には「データなし」をエンコードするよう係数を修正しなければならないからである。かかる技術はまた、大規模な係数の配列関係を変更しなければならないため、データを大幅に修正しなければならない。以降で一層詳細に説明するように、これらは、１つの係数における単一ビットのみを変更することによりデータをエンコードする本発明の技術により克服される欠点である。
【００１２】
Boland、Ruanaidh、及びDautzenbergの場合、彼らは、イメージのDCT Walsh 変換又はウェーブレット変換を生成し、次いで選択された係数に１を加算して「１」ビットをエンコードし、又は選択された係数から１を減算して「０」ビットをエンコードする、という技術を使用する。この技術は、一見したところ本発明の一構成要素の一態様に類似しているが、エンコードされたイメージをオリジナルイメージと比較することにより情報を抽出することしかできないという非常に大きな制限（本発明により解消されるもの）を有している。これは、ウォーターマーク処理を正しく機能させるために任意のメディアファイルのウォーターマークが付与されたコピー及びウォーターマークが付与されていないコピーを同時に送らなければならないことを意味している。これは、かなり厳しい制限であるが、本発明において下位ビットエンコーディング技術の使用を新規に含めることにより克服される。
【００１３】
しかし、かかる下位ビットエンコーディングは、これまで広く提案されてきたものではあるが、本発明で実施されるものとは態様が異なる。例えば、Langelaar、langendijk、及びBiemondの文献は、DCT係数を表す可変長コード(VLC)の下位ビットを修正することによりデータをMPEGビデオストリームにエンコードする技術を教示している。Langelaar等のエンコーディングは、同じ長さの別の値に置換することができると共に１だけ大きさの異なるVLC値のみその置換を可能とすることによりファイルの長さを一定に保つ。該エンコーディングは、単純にファイルをトラバースして適当な全てのVLC値を修正する。しかし、該技術の欠点は、適当なVLC値が比較的希少である点にある（1.4Mbit/secのビデオファイルでは167/secであり、このため、1,400,000ビットの情報において167ビットしかエンコードできないことになる）。
【００１４】
これに対し、本発明の技術は、ビデオに適用する場合には、かかる制限をなくし、一群又は一組の隣接する係数を共に修正することを可能にすることにより、遙かに高いビットレートを達成することができると共にファイル長を一定に保つものとなる。これはまた、知覚できる影響を伴うことなく遙かに大量の情報を格納することを可能にする。これは、知覚心理学的な（ｐｓｙｃｈｏ−ｐｅｒｃｅｐｔｕａｌ）モデルが、修正すべき係数の選択を決定することが可能となるからである。
【００１５】
実際に、本発明の改善された技術は、従来技術とは異なり、オーディオ、イメージ、又はビデオファイルへのディジタル情報のエンコーディングを上記文献に記載されているものよりも数桁高速で行うことを可能にする（300bit/secのオーダー、及びそれよりも遙かに速い800bit/secを上回るオーダー）。実際に、以降で解説するように、本発明は、128,000bit/secのオーディオファイル中に10,000bit/secのデータストリームを容易に埋め込むことができた。
【００１６】
従来技術では、比較的短い一連のデータがメディアファイル中に埋め込まれ、これにより典型的には単純な著作権情報又は所有権情報をエンコードしていた。我々の技術は、メディアファイルが完全に新規の種類のコンテンツ（例えば完全なコンピュータプログラム、マルチメディア注釈、又は非常に長い補足的な情報）を含むことを可能にする。前記の同時係属中の出願に記載されているように、マルチメディアファイル中に埋め込まれたコンピュータプログラムは、全ての種類の拡張され統合された業務上のメディアを可能にするものである。かかるメディアには、宣伝、対話的なコンテンツ、対話的かつ伝統的な広告、投票、CD又はコンサートチケットの購入といったe-コマースの勧誘、及びゲームやユーザのマウス動作に反応すると共に音楽のビートに同期する対話型の音楽ビデオといった完全に反応型のコンテンツが含まれる。これにより、かかるソフトウェア及びハードウェアプラットフォーム（テレビ、携帯型デバイス（SONY Walkmanや任天堂GameBoy等）、及び携帯型MP3プレーヤ（RioやNomad等））上で、購入及び販売の機会を音楽に統合させることが可能になる。この発明は、新たなビジネスモデルさえ提供するものとなる。例えば、レコード会社が、歌曲のコピーを止めさせようとするのではなく、音楽の料金支払い及び音楽の開放された配布を奨励して、埋め込まれた宣伝及びe-コマースメッセージが考え得る最大限の聴取者及び顧客に広めるようにすることが可能である。
【００１７】
更に、本出願は、上述のように、その親出願に記載されているような、一連のディジタル信号又は測定値中にデータを埋め込む（及び取り出す）ための高帯域幅のステガノグラフィ機能に特に関連するものである。これらの測定値は、既述のように、オーディオ波形等のアナログデータストリームから直接取得することが可能であり、又はサブサンプリングされ及び／又は変換されたディジタルデータ及びその類から取得することが可能である。これらの技術の重要な要件は、エイリアシング及び／又は量子化が変換プロセスに存在することであり、この場合、ディジタル信号又は測定値の品質に劇的な影響を与えることなく十分なデータを埋め込むように、導入されるエイリアシング及び／又は量子化が調整され又は修正される。
【００１８】
ここで、やはり既述のように、ディジタル測定値の下位ビットにデータを直接埋め込むといった従来技術は、高帯域幅のステガノグラフィが可能なものであるが、これは、大量の高周波ノイズをデータに導入するという代償を必要とするものであった。Ｎサンプルにつき１データビットという割合でデータが埋め込まれる場合、これは１／Ｎのオーダーでデータ中にノイズを導入するものとなる。前記の特許出願及び本出願の技術を用いると、埋め込まれる同一量のデータについて、データ中に導入されるノイズの量が大幅に低減され、詳細には、典型的なデータ分布の場合、導入されるノイズの低減は、１／Ｎ（従来の下位ビット技術の場合）のオーダーから１／Ｎ2のオーダーとなる。これは、従前の技術を使用することにより可能となる密度よりも遙かに高い密度のデータを知覚可能な変化を伴わずに導入することができることを意味している。
【００１９】
信号又は測定値中にデータを埋め込むのに本発明が特に有利となる場合の適用例として次のものが挙げられる。
・オーディオ波形測定値（CDで使用されるPCMアルゴリズム、又は上述のMP3等の圧縮されたオーディオファイルなど）
・イメージ測定値（走査されたイメージ、FAX、又はjpeg等の圧縮されたイメージファイルなど）
・時間と共に変動するイメージ測定値（ディジタル化されたムービー、又はmpeg等の圧縮されたイメージファイル）
・一連の物理的な測定値から構成される他のあらゆるデータ（温度又は圧力の読み、機械制御データ、プロセス監視など）
既存のメディア形式の内部に高帯域幅のディジタルチャネルを該メディア形式を変更することなく追加するという本発明により提供される能力は、実際に広範な用途及び適用可能性を有するものである。例えば、我々は、前記親特許出願に記載したように、宣伝、対話型コンテンツ、ゲーム、及びソフトウェアダウンロードを既存のメディアコンテンツに追加するといった用途に本発明を使用した。
【００２０】
【発明が解決しようとする課題】
したがって、本発明の主な目的は、前記親特許出願で開示するような、例えばオーディオ波形及びその類といったアナログデータストリームから直接取得され、又はサブサンプリングされ及び／又は変換されたディジタルデータ及びその類から直接取得された一連のディジタル信号又は測定値中に補充的なデータを埋め込むための、新規で改善された高帯域幅のステガノグラフィック技術を提供することにある。この場合には、入力データが量子化され及び／又はエイリアシングされて補充データビットが連続的にその内部に埋め込まれ、これは好適には新規の下位ビットパリティエンコーディング技術により行われ、該新規の技術により提供される上述の利点が得られることになる。
【００２１】
【課題を解決するための手段】
しかし、その広範な又は汎用的な特徴のうちの１つから要約すると、本発明は、アナログデータストリーム及びサブサンプリングされ及び／又は変換されたディジタルデータのうちの１つから導出された一連のディジタル測定値中に十分な量の補充ディジタルデータをステガノグラフィック埋め込みする方法を含むものである。該方法は、かかる一連のディジタル測定値を、連続的な量子化され及び／又はエイリアシングされた要素からなる一組の出力データへと変換される一組の入力データからの関数変換を介して導出し、該補充ディジタルデータを一連の連続するビットへと変換し、該連続するビットを、量子化され及び／又はエイリアシングされた要素中に導入し、その僅かな調節を介して連続する要素を調整することにより、一連のディジタル測定値中にその品質に実質的に影響を与えることなく補充データを埋め込む、という各ステップを含む。
【００２２】
本発明を実施するための、ベストモード及び好適な実施形態、技術、及び設計について、以下で詳細に説明する。
【００２３】
【発明の実施の形態】
本発明を図面に関連して説明する。図１ないし図１０は、本出願人の前記の親特許出願である米国特許出願第09/389941号で提示した図面と同じものである。
【００２４】
既に上述したように、及び前記親出願である米国特許出願第09/389941号で詳細に説明されているように、本発明のプロセス及びシステムの重要な用途は、補充的な比較的大量のデータを、周波数領域変換により圧縮された予め用意されたメディアファイルに追加し、ソースメディアを近似し又は表現する一組の係数を提供することにある。かかる大量の補充的なディジタルデータは該ファイル中にシームレスに且つ容易に埋め込まれる。その上、該埋め込みは、かかる補充データをディジタルメディア再生装置により抽出すること及び既存のメディアプレーヤとの後方互換性を維持することが可能となるように達成される。
【００２５】
適当な圧縮メディア形式は、メディアファイルを信号領域から一組の関数係数（例えばフーリエ、サイン、コサイン、又はウェーブレット変換及びそれらの変形形態）へと変換することにより該メディアファイルを圧縮するものである。かかる圧縮メディア形式では、上述のような一組の係数は、オリジナルデータファイルよりも小さな表現を有するがソースメディアを近似するものとなる。
【００２６】
本発明が機能することができる適当な圧縮メディア形式の例として、上記の引用文献に記載されているMP3、MP2、MPEG、及びJPEG形式が挙げられる（但しこれらには限定されない）。圧縮メディア形式はまた、ディジタルウォーターマークといった更なる埋め込まれたデータを有することが可能である。
【００２７】
圧縮メディア中に埋め込むことが可能なデータとして、テキストファイル、データベースファイル、実行可能プログラムコード（Javaファイル、Macromedia Director、Shockwave又はFlash、Perl、VRML、TCL、Visual Basic、機械コード、又はバイトコード等）、イメージファイル、オーディオファイル、3Dファイル、又はcab、jar、car、若しくはzip又はその類といったあらゆるアーカイブ形式が挙げられる（但しこれらには限定されない）。
【００２８】
オリジナルの予め用意されたメディアファイルコンテンツと補助データコンテンツとの両方を提供するタイプの再生装置には、メディアファイルを再生し又は見ることが可能なあらゆるコンピュータシステムが含まれる。プレーヤの特定の例として、携帯型音楽プレーヤ、ＰＤＡ、WebTV、ディジタルテレビ、カーステレオ、ホームオーディオシステム、ビデオウォール、及びコンソール及び携帯型ゲーム装置等が挙げられる（但しこれらには限定されない）。
【００２９】
概して、本発明の実施形態の基礎をなすものは、図示する様々なシステム及び用途に関連して以下で一層完全に説明するように、係数に対する小さな変更によりディジタルデータ信号のビットをエンコーディングする新規の技術である。予め用意されたデータファイルがディジタル形式で格納され伝送されるため、該小さな変更はそのまま維持される。しかし、高ビットレート情報のエンコーディングに使用する場合には、かかる技術は、データファイルの変更に対しては必ずしも堅牢なものとはならず、該データが損傷を受ける可能性がある。堅牢性は、データの反復により、及び変更すべき係数を慎重に選択することにより、改善することが可能であるが、本発明の技術の意図する用途の多くでは、堅牢性は、圧縮メディアのユーザによる再生上の経験を過度に劣化させることなく最大限の情報をエンコーディングすることよりも優先順位が低くなる。
・図１ないし図１０のシステム
ここで図１を参照する。既述のように、また図５の信号波形及び係数ベースの表に示すように、例えば既述のオーディオ、イメージ、ビデオ、3D若しくはその他のマルチメディアデータ又はその類といったメディアファイルが、フーリエ、コサイン、サイン、ウェーブレット、又はそれらに関連する離散変換表現を使用したメディアデータの（図中に記載するような）周波数変換により、係数表現でエンコードされる。係数表現に変換する結果として、圧縮メディアファイルコンテンツ形式が得られる。予め用意されたメディアファイルが、既に係数表現へとエンコードされている場合には、この更なる変換ステップは勿論不要となる。しかし、更なる圧縮ステップは使用することが可能である。
【００３０】
このため、圧縮メディアファイルコンテンツは、以降で一層完全に説明するように、あらゆる周知のタイプのエンコーディングプロセスにおいて、メディアファイル中に埋め込むための補充データコンテンツ（Data）と組み合わせて図式的に示されており、かかる付加的なデータは、既述のように任意のディジタルデータであり、オーディオ、ビデオ、イメージ、データベース、テキスト、実行可能コード、又はアプリケーション固有のデータ等を含むものである（但しこれらには限定されない）。結果的に、補充データが埋め込まれたメディアファイルが、既存のファイル形式との後方互換性に影響を与えることなく、また、該メディアファイルのユーザによる再生経験に実質的に影響を与えることなく、得られることになる。更に、必要に応じて、図１の変換ステップは、エンコーディングプロセスの一部とすることが可能であり、また随意選択的な圧縮ステップを含むことさえ可能であり、又は、これらを付加的な別個のステップとして実施することも可能である。実際に、かかる変換、圧縮、及びエンコーディングプロセスを組み合わせる場合に、知覚的な(perceptual)エンコーディング技術を使用して、データを埋め込むべき係数を選択することが可能である。
【００３１】
広範な概要に関する説明を続ける。図２には、デコーディング及び再生が図示されており、この場合、デコーディングプロセスは、同図に示し以降で一層完全に説明するように、メディアファイル中に補充データを埋め込むために図１において使用されるエンコーディングプロセスのタイプによって決まる。典型的には、かかるデコーディングプロセスは、周知のようなエンコーディングプロセスの単なる逆のプロセスを含むものである。図示するようなメディアファイルは通常は、デコーディングプロセスにおいて無変更のまま残される。これは、該データを除去することが適当でない場合が多いという理由からだけでなく、該データの除去が一般に再生環境において図２に示すメディアプレーヤ又はビューアでのユーザの再生体験を改善するものとならないからである。しかし、補充データは、周知のチェックサム又はディジタル署名により検証を行って（検証プロセス）、該データが図１で当初にエンコードされ埋め込まれたデータとビット単位で同一であることを保証することが可能である。
【００３２】
更に、再生環境では、メディアプレーヤ及び実行環境は、図２中でプレーヤとデータ操作環境との間の同期ラインで示すように、互いに通信することが可能であり、これにより補充データの実行をメディアファイルコンテンツの再生と同期させることが可能となっている。
【００３３】
ステガノグラフィック技術を用いたデータエンコーディングの考え得る用途については、文献を引用して上述した通りであり、本発明の技術に対するかかる適用を図３に例示する。同図に示す埋め込むべき補充データは、ビットストリームコードへと変換されて、該データのバイトがビット単位の表現へと抽出され、それらを小さな変化としてメディアファイル中に挿入できるようにする。該データビットを埋め込むべきメディアファイル中の適当な場所の選択は、図示するように、メディアファイルのユーザによる再生体験に対する影響を最小限にして実際のメディアコンテンツに対して実施することができる一層小さな変化を識別することに基づくものである。しかし、かかる変化は、自動的なデコーディングプロセスにより容易に検出することができ、また情報を回復させることができるようなものでなければならい。
【００３４】
図３における「実行可能コードの挿入」ステップでは、多数のステガノグラフィックエンコーディングプロセス（上記引用文献に記載されているものを含む）のうちの任意の１つを使用することが可能である。本発明によれば、メディアコンテンツが一組の関数係数として表される場合には、データビットは好適には、以下で一層完全に説明するように、幾つかの選択された係数の下位ビットを変更する技術により埋め込まれる。
【００３５】
結果的に得られる実行可能コードが埋め込まれたメディアファイルは、やはり後方互換性を有するものとなり、また埋め込みプロセスに起因してユーザの再生体験を場合によっては僅かに劣化させるが全体的には許容可能なものとする。
【００３６】
本発明のエンコーディング技術と共にディジタルウォーターマーキングを使用することが望ましい場合には、図４のシステムを採用することが可能であり、この場合には、同図に示すように、メディアファイルのウォーターマーキングプロセスが、エンコーディングプロセスによるデータ埋め込みに先立って実行されることになる。上記で引用した文献に記載されているものを含めて、採用可能な多数の異なるタイプのウォーターマーキングプロセスが存在する。殆どのウォーターマークは、堅牢なものであり、このため、メディアファイルの変更により容易に除去されるものではなく、したがって、図４に示すような、その後に実施されるデータを埋め込むための「エンコーディングプロセス」により影響を受けるものではない。しかし、データの埋め込みはウォーターマーキングの後に実施される。これは、データ埋め込み技術のなかには、メディアファイルの変更に対して堅牢でないものがあるからである。結果的に、埋め込みデータを有するウォーターマークメディアファイルが得られる。該ファイルは、堅牢なウォーターマークを有し、補充データが内部に埋め込まれたものである。
【００３７】
従来のウォーターマーキング技術は、比較的低いビットレート（例えば、約22バイナリディジット(bit)/secのオーディオデータ）でしかデータを埋め込むことができないものである。本発明によれば、10,000bit/secを上回るデータを128,000bit/secでエンコードされたMP3オーディオファイル中に容易に埋め込むことが可能である。
【００３８】
実際に、我々は、これらの様々な本発明のエンコーディング技術のうちの幾つかの予備試験の実行に成功している。Natalie Merchantの歌曲「Jealousy」から取得した例示的なオーディオファイルを利用し、これをFraunhoferのMP3エンコーダを使用して(MPEG)MP3として128kbit/secでエンコードした。該ファイルのエンコードされた部分は、30秒の長さ及び720kbyteのサイズを有するものである。選択した主要なエンコーディング技術は、位相／振幅周波数領域低ビットコーディング技術(Phase/Magnitude Frequency-Domain Low-Bit Coding Technique)であり、データがファイル中にエンコードされる間隔を変動させた。
【００３９】
成功裡の結果は次の通りである。
【００４０】
【表１】
0004695820.tif 000002
【００４１】
更に、オーディオメディアファイル用途に関連して、図６のオーディオファイルデータ及びコーディングシステムについて言及する。
【００４２】
図１の一般的な機構の場合のように、図６の予め用意されたオーディオファイルは、上述の係数領域への変換により圧縮されるよう示されており、該ファイルが未だ係数領域にエンコードされていないことが想定されている。しかし、このステップは、オーディオファイルが既にかかる形式（例えば上記で報告した試験における（DCT領域にエンコードされた）MPEGオーディオコンテンツ等）になっている場合には不要となる。図３のステガノグラフィック技術によるシステムの場合のように、オーディオファイル中に埋め込むべき補充データは、ビットストリームへと変換されるよう示されている。
【００４３】
ここで、オーディオファイル変換の適当な係数の組を（好適には規則的な時間間隔で）選択するために、本発明に従ってデータビットの埋め込みを実施する。既に指摘したように、本発明は、従来の技術による（例えばZhao及びKochの文献の場合のような）係数の関係における大規模な順序変更とは異なり、選択された係数における単一ビットの変更しか必要としない。この係数の組は、単純にオーディオファイル中の連続する一連の係数を選択することにより選定することが可能である。好適な技術は、オーディオファイル中の広い周波数範囲をエンコードした一組の係数を選択することである（図５参照）。
【００４４】
図６において、データビットストリーム中の各ビット毎に、選択された係数、及びエンコードすべき次のデータビットが組み合わされ、該ビットをエンコードするために該係数を再スケーリングする。可能であれば、これは好適には、該量子化及び再スケーリングステップに関連して行われ、これにより、変更すべき係数の選択を、所望の値に対するオリジナルの係数の近接度に基づいて行うことができるようにする。更に、多数の量子化及び再スケーリングの後には、該決定の基礎とすべきデータはそれほど存在しない。
【００４５】
更に、該再スケーリングは、既にエンコードされているオーディオファイル中の適所に実施することが可能であり、この場合には、ファイルサイズを一定に保つという制約が追加されることになる。かかる場合に、フレームレートを維持しつつ単一の係数の再スケーリングだけでビットをエンコードすることが不可能である場合には、それらの圧縮表現が同一長さを維持すると共にオーディオファイルに対する影響が最小限となるように複数の係数を変更することが可能である。
【００４６】
このエンコーディングは、LSBエンコーディングプロセス又は好適にはLSBパリティエンコーディング（図５参照）を介して達成することが可能である。かかるパリティエンコーディングは、変更すべき係数に関する一層多くの選択を可能にする。
【００４７】
図５における表の例示的な係数ベースの表現を参照する。係数のパリティは、それらを共に加算することにより計算することができる。
【００４８】
12 + 15 + 5 + 3 + 10 + 6 + 12 + 1 =64
64が偶数であるため、これらの係数で同時にエンコードされたビット値は０である。しかし、この一組の係数で１をエンコードすることが望まれる場合には、パリティを奇数にするだけで良い。これは、任意の振幅又は位相値を選択して１を加算し又は減算することにより行うことができる。この値の選択は、任意に行うことが可能であり、又は、既述のMPEGエンコーディングプロセスで現在使用されている精神音響(psycho-acoustic)モデルのタイプに基づいて行うことが可能である。
【００４９】
これは、振幅周波数領域(magnitude frequency-domain)下位ビットコーディングによるデータのエンコーディングにおいて一連の係数の下位ビットのパリティを使用することを示している。一例として、データ情報の単一ビットを一連の（例えば８つの）係数でエンコードすることが望まれているものと仮定する。本発明によれば、最初の係数の下位ビットを単純に変更するのではなく、８つの下位ビットのパリティを共に変更することによりエンコーディングが行われる。このアルゴリズムは、一組の連続する係数を検査し、下位ビットを抽出し、そのうちの幾つがセットされているかをカウントする。このため、本発明の技術の場合には、セットされているビットの数が偶数であろうと奇数であろうと（パリティ）データの単一ビットをエンコードすることができる。これは、変更すべき係数を決定する際にアルゴリズムの選択を提供するという利点を（必要であれば）提供するものとなる。
【００５０】
代替的に、この技術は、一層高位のパリティを使用すると共に一層広範囲の値に適用することが可能である。一例として、32個の係数の下位ビットを加算してその結果のモジューロ４（４で除算した際の余り）を計算することにより、同量のデータを、８つの係数領域２つにわたってエンコードすることができるように32個の係数にわたってエンコードすることができる。これは、変更すべき係数の選択に一層高い柔軟性を提供するものとなるが、ストリーム中に大量のデータを挿入可能とするものではない。
【００５１】
本書で引用した文献に記載されているものを含めて周知のタイプのエンコーディングプロセスを本発明の実施において使用可能であることを例えば図１の概略的な実施形態に関連して上述したが、既述のMPEG layer III（MP3）オーディオファイルに関する好適なエンコーディングプロセスをMPEGオーディオストリームに関して詳述することとする。以下の説明では、表記$xxは、16進法によるエンコードされたオクテットを表すために使用されるものであり、例えば、$00は、バイナリディジット（２進数）00000000を表している。このフレームは、ISO-8859-1(ASCII)キャラクタ「EXEC」である。この後に、ID3v2使用に記載されているように、４オクテットのサイズヘッダ及び２オクテットのフラグヘッダが続く。この後に、該フレーム内におけるISO-8859-1テキストエンコーディングの使用、又は（後述する）ISO/UEC 10646-1（Unicode）テキストエンコーディングの使用を表すために、$00が続く。ヘッダは、最初に作成され、実行可能コード及びそれが埋め込まれる態様に関する記述を含む。第１オクテットは、１ビットを表すために共にグループ化される係数の個数を表すを表す符号なし数である。これは８である場合が最も多い。この後、ヘッダに実行可能コードを加えた長さを表す８オクテットの符号なし数が続く。その次に、IETF RFC 2045に記載されているような実行可能コンテンツのISO 8859-1(ASCII）エンコードされたMIMEタイプが続き（これについても後述する）、更に$00が続く。例えば、上述のMacromedia Flash ファイルのMIMEタイプは「application/x-shockwave-flash」である。更に、実行可能コードのISO-8859-1(ASCII)による記述が続き、$00で終わる。次いで、単一のオクテットが続き、これは、図２に関連して説明するように、チェックサムが存在しない場合には$00となり、チェックサムが存在する場合には$01となる。チェックサムが存在する場合には、更に該チェックサム（実行可能コードの複数のオクテットを加算しその結果のモジューロ256を求めることにより作成されたもの）の単一のオクテットが続く。これは有用なものとなる。なぜなら、これは、実行可能コードをその実行前に検査して、誤りのある命令を実行させ得る伝送誤りが存在する可能性を低減させるからである。
【００５２】
このヘッダは、実行可能コンテンツの最初に配置される。次いで、該ヘッダにコンテンツを加えたパッケージ全体が、各オクテットを順に検査し、そのビットを最上位ビットから最下位ビットへの順でビット高ストリームへと配置することにより、ビットストリームへと変換される。この時点でビットストリームの生成が完了し、これをMPEGオーディオファイル中に埋め込むことが必要となる。これを実行するために、本書に記載する技術のうちの任意の技術を用いることが可能である。好適な１つの技術として、既述のLSBパリティエンコーディングの使用が挙げられる。ここで、それぞれ８つ（任意の数を使用可能）の係数からなる複数のグループのパリティを変更することが可能である。この係数グループの選択は、データファイル中の６つおき（７番目毎）の係数を選択することにより行われる。このようにして、全部で７ビットを、一組をなす56個の係数でエンコードすることが可能である。この場合、各係数グループは、広範囲の周波数を表す複数の係数を含む。既述のパリティエンコーディング技術を使用してデータが完全に埋め込まれるまで係数の各組で１ビットをエンコードすることが可能である。データが大きすぎてファイル内に納めることができない場合には、８つの係数よりも少ない係数のパリティを使用して１ビットを表すことが可能である。但し、これは聴取体験の品質を低下させる可能性がある。８以外の係数の数を使用する場合には、８つの係数を使用してデータファイルの第１バイトをエンコードし、次いでそれに続く全てのバイトを該第１バイトで指定した数の係数を使用してエンコードする。
【００５３】
本発明の好適な実施形態では、図２に関連して説明したように、デコーディングプロセスは、上述のエンコーディングプロセスの単純な逆のプロセスとなる。オーディオデータから第１オクテットを抽出し、該第１オクテットに基づいて、以降の全てのビットを抽出する。ヘッダ中にチェックサムが存在する場合には、実行可能コードのオクテットを加算し、その結果のモジューロ256を求めて、エンコードされているチェックサムと比較する。それらが等しければ実行へと処理を進める。
【００５４】
実行可能コードのMIMEタイプに基づき、適当な実行環境のインスタンスが生成される。上述のapplication/x-shockwave-flashタイプの場合、基準となる実行環境が、Macromediaにより、Flash Standards ウェブページ(http://www.macromedia.com/software/flash/open/)で解説されている。
【００５５】
次いで、該実行環境が呼び出されて、実行可能コードの実行が、オーディオファイルの再生と同時に開始される。更なるアプリケーションプログラミングインタフェイス(API)を実行環境に関して規定して、オーディオファイルの再生中に該オーディオファイルに対する実行環境の厳密な挙動を制御することが可能である。
【００５６】
本発明のエンコーディングプロセス及びデコーディングプロセスで使用可能な上述の技術の一層完全な詳細に関する特定の参考文献は次の通りである。
・[ISO 8859-1] ISO/IEC DIS 8859-1
8-bit single-byte coded graphic character sets, Part1 : Latin alphabet No.1. Technical committee/subcommittee : JTC1/SC2
・[MIME] Freed, N. 及び N. Borenstein "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996 (URL : ftp://ftp.isi.edu/in-notes/rfc2045.txt)
・Universal Multiple-Octet Coded Character Set (UCS), Part 1 : Architecture and Basic Multilingual Plain Technical committee/subcommittee : JTC 1/SC 2 (URL : http://www.unicode.org)
次に、図６に例示するMPEGオーディオ及びビデオファイル（及び後述する図８のビデオファイル）の使用について説明する。例えば（及び既述のMPEG及びMP3に関する文献を参照すると）、ファイルの周波数表現の振幅係数の最下位ビットを使用してプログラムコンテンツをエンコードする（いわゆる振幅周波数領域下位ビットコーディング）。例えば音楽ファイル中にエンコードすることが必要とされるデータの量に応じて、小さな割合の係数で（例えば９個おきの係数のみを変更することにより、又は疑似ランダム反復可能シーケンスを使用して変更すべき係数を決定することにより）データを格納することが可能である。データを更に圧縮するためにハフマンエンコーディングを行う更なるステップを用いるMP3形式に適用する場合には、該ハフマンエンコーディングの前に係数を変更することが可能である。この場合にはファイルサイズが僅かに増大する可能性がある。代替的に、及び本発明の好適な実施形態では、係数は、既述のようにエンコーディングプロセスの後に変更され又は再スケーリングされる。これにより、ファイルサイズの増大が回避され、またデータ抽出プロセスを一層迅速に実行することが可能になる。
【００５７】
データが埋め込まれウォーターマーキングされたオーディオファイルと同様に、イメージファイルを図７に示すように埋め込むことが可能である。図示のように、イメージファイルは、それが既にエンコードされている場合には、係数領域へと変換するだけでよい。イメージファイルが、DCT領域でエンコードされる既述のJPEG等の形式のものである場合には、このステップは不要である。この場合にも、（好適には広い周波数範囲を包含する）係数の組が選択される。データビットエンコーディングのための係数の再スケーリングではパリティエンコーディングが好適であり、これにより、既述のように変更すべき係数のより多くの選択が可能となる。
【００５８】
図８は、図６に類似したものであるが、オーディオファイルではなく圧縮済みビデオファイルを変換するためのものである。
【００５９】
図９のコーディングにおけるデータは、図７のコーディングを同様に辿るが、これは、3Dモデリングの領域全体にわたり使用されるような2D及び3Dスプラインデータポイントに関するものである。それらは、係数表現を使用して既に表現されており、２次元又は３次元でパラメトリック方程式の係数をエンコーディングしたものである。典型的なタイプのかかるスプラインの例して、Bezler曲線及びNURBS（Non-Uniform Rational B-Splines）が挙げられる。埋め込むデータビットストリームのために選択された係数の組は、単純にスプラインデータポイントファイル中の連続する一連の係数とすることが可能である。
【００６０】
本発明の汎用的な多用途性の更なる例として、図１０は、ボリューメトリック中への補充データのエンコーディングに対する本発明の原理の適用を示している。ボリューメトリックデータは、「ボクセル(voxel)」すなわち３次元を有するピクセルを使用して空間的なデータセットを表現するために使用される。ボクセルは、一般に、3Dアレイとして配列され、例えば3D空間モデル、磁気共鳴イメージング(MRI)データ、及び空間温度分布といった事象を表現するための3Dモデリングツール及び環境として使用される。かかるボリューメトリックデータのための一般的な圧縮技術が現時点で存在しないため、図示のように係数領域への変換が必要になる。これは、3D DCT 又は 3D高速フーリエ変換といった周知の3D変換を使用して行うことが可能である。
【００６１】
例えば圧縮済オーディオ又はビデオファイルの変換周波数表現の大きさ又は振幅係数の最下位ビットの好適な使用について解説したが、位相周波数領域下位ビットコーディング（メディアファイルの変換周波数表現の位相係数（図５参照）の最下位ビットを使用してプログラムをエンコードするもの）といった他の技術を使用することも可能である。その実施形態は、大きさ係数ではなく位相係数を使用してデータをエンコードすることを除いて上記と同じであり、またオーディオコンテンツの場合には、人間の耳が音の大きさに比べて音の位相に対して遙かに低い感受性を有するため、再生時に体感する歪みはより低いものとなる。
−図１２ないし図２２のステガノグラフィックシステム−
ここで、アナログデータストリーム及びその類から又はサブサンプリングされ及び／又は変換されたディジタルデータから得られる特定の高帯域幅測定値に特に重点をおく（本出願が切望するところである）。かかるステガノグラフィック技術は、次の何れも場合にもデータを埋め込むために使用することが可能である。
・連続関数が規則的な間隔でサンプリングされる場合。
・連続関数がそれを一連のディジタル測定値へと変換することにより量子化される場合。
・一連のディジタル測定値が精度を失うことにより量子化される場合。
・一連のディジタル測定値が（例えばイメージの回転又はオーディオサンプルの一層低いサンプリングレートへのサブサンプリングにより）エイリアシングを導入するよう変換される場合。
・一連のディジタル測定値が（例えばFFT又はDCT等の周波数領域信号分析技術を介して）変換され、その結果として得られる一連の測定値が次いで量子化される場合。
【００６２】
上記の共通する特徴は、それらが一組の入力側の連続的又は離散的なデータポイントDから一組の出力側の離散的なデータポイントD'への関数変換Fからなり、その変換プロセスで幾分かのデータが損失することを要件とすることである。実世界の値の時間的又は空間的なサンプリングの際に精度の損失を介してデータを失う可能性があり、該精度の損失は、ディジタル値を量子化することにより発生し、又は回転若しくはスケーリングといった離散変換により生じるエイリアシングを介して発生する。これは、例えば、ウォーターマーキングプロセスの一部としてかなりの量子化及びディザリング誤差を導入するものである米国特許第5889868号に開示されている既述のタイプのシステムと対比されるべきものである。これは、オーディオファイルが変更されてウォーターマークが除去されるのを防止することを意図したものであり、このため、実際に大きなノイズをファイルに加えるものであり、該ノイズは、ウォーターマーキングデータを除去しようとした際にファイルが大幅に劣化することになるようにするのに十分なものである。
【００６３】
本発明の量子化及びエイリアシング調整技術は、測定値内に埋め込まれた高帯域幅データを考慮したものであり、本出願人の先行特許で使用されたデータの係数ベースでの埋め込みのための技術を一般化したものである。この量子化調整は、この調整の最も一般的な有用な形態であると確信するが、エイリアシング調整もまたこれと非常に密接な関係にあり新規のものであると確信する。
【００６４】
本発明の技術では、D'の変形バージョンであり該D'に密接に関係するD"が生成されるが、これは、DからD'への変換に固有の量子化及び／又はエイリアシング成分の変更又は調整を介して第２のデータストリームEをエンコーディングするという更なる特徴を有するものである。
【００６５】
図１１ないし図２２に示す好適な実施形態の解説へと進む前に、本書で用いる様々な基礎をなす操作及び関数について解説するのが有用であると思われる。
−量子化の調整−
本発明によるデータのエンコードのためのかかる量子化の使用の更なる例示として、0.1単位の精度を有する一連の８つのディジタル測定値Dについて考察する。
【００６６】
1.1 2.4 3.5 5.7 6.2 4.9 3.6 2.0
これらの測定値を丸めて最も近い整数にする関数変換Frを使用して、出力D'が生成される。
【００６７】
1 2 4 6 6 5 4 2
次に、量子化誤差[D'-D]が検査される。
【００６８】
.1 .4 .5 .3 .2 .1 .4 0
値3.5を4に丸める代わりに3に丸める場合には量子化に誤差を加えない（.5のままとなる）ことが容易に分かる。更に、量子化誤差.4を有する２つの値は、それぞれ別様に丸めることが可能であり、この場合には小さな量子化誤差しか加算しない。以降の章では、D'に対するかかる小さな変化の使用による更なるデータエンコーディングを含む、D"を生成することができる技術についても解説する。−エイリアシングの調整−
上記と同じ８つのディジタル測定値D：
1.1 2.4 3.5 5.7 6.2 4.9 3.6 2.0
を使用して新たな関数変換Fsを選択することが可能である。該関数変換はそれら８つのディジタル測定値を４つにスケーリングするものである。これを行うために幾つかの方法が存在するが、おそらく最も単純な方法は、１つおきの値を使用して下記の出力D'を生成するものであろう。
【００６９】
1.1 3.5 6.2 3.6
各々の場合において２つの値のうちの１つを単純に選択していることに留意されたい。これを行う別の方法は、それ以外の値を選択することであろう。
【００７０】
2.4 5.7 4.9 2.0
また、第３のタイプの変換は、単一の値へとスケーリングされようとしている２つの値の平均を求めることであろう。
【００７１】
1.75 4.6 5.55 2.8
これらの３組の値の内の任意の値（又は実際にそれらの間で補間された連続体の内の任意の値）は、スケーリング変換を近似するものとして適当に使用することが可能である。既述の量子化調整の場合と同様に、異なるタイプの適当に選択されたFsの関連するバージョン（例えば上記３つのバージョン）により生成された値を含むようにD"を選択することができる。これにより、知覚的な体験に影響を与えることなく関数のエイリアシング要素中にデータをエンコードすることが可能になる。
−パリティエンコーディング−
上述の本発明の特定のパリティエンコーディング技術を用いと、一連のディジタル測定値の間の関係に情報を埋め込むことができる。更に、この技術により、変更すべき測定値を厳密に選択することが可能になると共に、データの精度に対する影響を最小限にすることが可能になる。
【００７２】
本発明で使用するタイプのパリティエンコーディングは、本書で用いる技術の核となる新規の特徴の１つである。これにより、ユーザの体験に実質的に影響を与えることなく、かかる前例のないデータレートが可能となる。
【００７３】
この場合に最も近い従来技術が、既述のようなデータの最下位ビット（LSB）エンコーディングであるが、これは、パリティエンコーディング技術と比べて遙かに多くのノイズを導入するものである。量子化／エイリアシング技術とこの新規のパリティエンコーディングとの組み合わせは、本発明の技術の真の力を生じさせるものである。
−LSBパリティエンコーディング−
パリティエンコーディングの基礎的な技術は、一連のディジタル測定値のパリティにデータをエンコードすることである。例えば、後述するLSBパリティエンコーディングの一実施形態では、一連のバイナリ測定値の和が奇数であろうと偶数であろうと１ビットのバイナリデータをエンコードする（それぞれ１又は０のビットをエンコードする）ことが可能である。
【００７４】
上記のデータ：
1.1 2.4 3.5 5.7 6.2 4.9 3.6 2.0
を使用し、及び、上述の量子化関数Fr,D':
1 2 4 6 6 5 4 2
を使用して、かかるパリティエンコーディングの一実施形態を例示する。
【００７５】
これらの数の和は30である。これが偶数であるため、この場合にはビット０をエンコードする。ビット０をエンコードすることが望まれる場合には、これをエンコードし、D'と同一のD''を使用することになる。しかし、この一連の数にビット１をエンコードしたい場合には、D'中の何れかの数に対して１を加算し又は減算することができる。既述のように、数3.5は、3と4の中間であり、それ故、更なる誤差を導入することなく切り上げの代わりに切り捨てにより丸めることができるため、ビット１をエンコードするために次のD"を生成することができる。
【００７６】
1 2 3 6 6 5 4 2
これらの数の和は29であり、したがってそれらはビット１をエンコードする。よって、十分に大きな一連のかかる複数グループの測定値を使用することにより、この技術は、多数のビット及び任意の量のディジタルデータをエンコードすることが可能である。
−導入される誤差−
この技術はまた、様々なサイズを有する複数グループの測定値に使用することが可能である。多数の測定値からなる一層大きなグループを使用する場合には、データストリームに導入される誤差は遙かに小さなものとなる。既に指摘したように、Ｎ個の測定値が存在する場合には、誤差は１／Ｎ2のオーダーとなる。これは、量子化関数Frを使用して極めて単純に例証することができる。次にこれについて説明する。
【００７７】
最初に、量子化すべき値が領域中に均等に分布している（これはあらゆる10進値が等しく同様のものであることを意味している）ものと仮定する。これは、10個の測定値からなる１グループについて、10進値.5を有する測定値を含む可能性が65％となり、10進値 .4, .5, 又は .6を有する測定値を含む可能性が97％となることを示唆するものとなる。10個の値からなる各グループのパリティにエンコーディングするため、平均で、該値のグループの１／２しか値の変更に必要ないことになる。これは、該グループの約18％のみが、この方法により導入された誤差を全く有さないことになり、この場合の1.5％のみが、考え得る最小量の誤差よりも多くの変化を加えることになることを意味している。
【００７８】
Ｎ個の測定値が使用される場合には、変更することが可能なＮ個の考え得る値が存在する。変更すべき測定値をランダムに選択した場合には、およそ１／Ｎのノイズを測定値に加えることになる。しかし、本発明の技術の新規の要素は、変更すべき測定値を選択することができるため、一層少ないノイズを加える測定値を選択することができる。これらの値が均等に（又はランダムに）分布している場合、該値は、Ｎ個というオーダーの選択すべき中間値を提供するものとなる。これら２つの要因の組み合わせは、導入されるノイズの総量を上述の１／Ｎ2という割合まで低減させるものとなる。
−高位パリティエンコーディング−
パリティエンコーディング技術の高位パリティ拡張を使用して一組の測定値に複数のビットを埋め込むことも可能である。例えば、通常の１ビットパリティは、一連の測定値の総和を参照し、及び該総和のモジューロ２（これは２で除算した余りを意味している）を使用し、２ビットパリティは、該総和のモジューロ４を使用する。考え得る高位パリティの全てのうち、２ビットパリティは最も有用なものである。これは、変更することになる測定値の決定を、同じデータ密度で一層柔軟性をもって行うことが可能になるからである。
【００７９】
ここで、上記の例で始まって２倍多い下記の一連の測定値：
1.1 2.4 3.5 5.7 6.2 4.9 3.6 2.0 1.9 1.8 1.9 2.1 2.2 2.9 3.2 3.9
を参照し、上述の量子化関数Fr,D'：
1 2 4 6 6 5 4 2 2 2 2 2 2 3 3 4
を使用する。
【００８０】
２ビットパリティエンコーディング技術では、値の総和（この例では50）を求め、該総和のモジューロ４（この例では0〜3の何れか）を求める。この２ビットパリティで２ビットのデータをエンコードすることができるため、所望の値もまた0〜3となる。
【００８１】
この２ビットパリティで既存の値から所望の値へ変更する際に直面し得る４つの場合、すなわち、総和を未変更のままにする、総和に１を加算する、総和から１を減算する、及び総和に２を加算し又は総和から２を減算する、という場合が存在する。この例では、２をエンコードしたい場合には未変更のままとし、３をエンコードしたい場合には１を加算し、１をエンコードしたい場合には１を減算し、０をエンコードしたい場合には２を加算し又は減算する必要がある。この例では、０をエンコードしたいものと仮定した場合には、２つの測定値を変更する必要がある。
【００８２】
１グループ中で２倍多い測定値を使用してデータをエンコードする場合には、平均すると１つの値を変更するだけでよいことになる。これは、１ビットのエンコードについて変更される測定値の数が一定に維持されるが、どの測定値を変更すべきかに関して更なる柔軟性が得られることを意味している。
【００８３】
ここで、量子化誤差D'-Dについて考察する（この場合には符号を考慮する）。
【００８４】
-.1 -.4 +.5 +.3 -.2 +.1 +.4 0 +.1 +.2 +.1 -.1 -.2 +.1 -.2 +.1
８つの測定値から各々なる２つのグループを用いて１ビットパリティを使用する場合、その第２組の８つの値は、データのエンコードのために容易に変更することができる値を全く有していないことになる（.5に近い値が全く存在しない）。しかし、２ビットパリティを使用するため、３番目及び７番目の値を変更して以下のD"を生成することができる（その総和は52になり、52のモジューロ４は０であり、これはエンコードしたい値である）。
【００８５】
1 2 3 6 6 5 3 2 2 2 2 2 2 3 3 4
２よりも高位のパリティエンコーディングを使用することも可能であるが、それらは、２ビットパリティエンコーディングほど有用なものではない。これは、かかる高位を使用する場合にデータ密度が急速に低下するからである。
【００８６】
本発明の思想と共に可変データレートエンコーディングといった他のタイプのエンコーディングを使用することも可能である。
−可変データレートエンコーディング−
本発明の可変レートデータ埋め込みプロセスでは、メディアの関連部分がデータの埋め込みに対して一層堅牢になることを知覚心理学的な基準が示す一層高いビットレートと、メディアがデータ埋め込みプロセスに対して一層高い感受性を有することになる一層低いビットレートとでデータが埋め込まれる。広いダイナミックレンジを有するメディア（例えば、無音、音楽、及び断続的な会話を有するオーディオファイル）の場合には、単に歪みが顕著になる前に高レートでデータを埋め込む場合よりも遙かに多くのデータを本可変レート技術を用いて埋め込むことが可能である。これは、上述のオーディオの例では、高レートでデータを埋め込むことにより行われ、該データ埋め込みにより無音部分に可聴歪みが加えられる。これは、現時点では最低のデータ埋め込みレートをサポートするものである。
【００８７】
更に、可変データレートエンコーディングは、ストリーム中に一層多くのデータを埋め込み次いで通常は達成可能となることを考慮したものである。これは、他のステガノグラフィック技術にも適用することが可能である。
【００８８】
既述のように、多数の既存のウォーターマーキング技術が存在するが、それらは、メディアの豊富な領域にウォーターマークを配置するものに過ぎず、データエンコーディングレートを明らかに変えるものではない。それどころか、かかる既存のウォーターマーキング技術は、データの周波数、時間、又はその他の領域に特定のパターンが現れる場合にメディア中にデータを埋め込むことのみに限定されるものである。更に、かかる技術は、かなり低いレートでデータを埋め込むことしかできないため、メディアの急速で動的な変化を保証するのに十分な迅速なデータレートの切替を行うためのオーバーヘッドを扱うことができない。
【００８９】
一方、本発明の技術によれば、該技術を知覚的エンコーディング技術（既述のＭＰＥＧアルゴリズム等）と組み合わせることにより極めて強力な改善が得られる。
−知覚心理学的な基準−
上述し本出願人の先の出願で言及した知覚心理学的な基準は２つの一般的な種類の技術（すなわち手動及び自動）に分けることができる。
【００９０】
手動技術では、訓練を受けた者が、メディアファイルを検査し、該ファイルのどの部分が一層多くのデータを含むことができるかを決定するが、該決定された部分に多すぎるデータ（又は任意のデータ）を配置することによって同部分に悪影響を与えることになる。オーディオファイルの場合には、これは、高強度又は無音の期間を手動で選択することにより達成される。この手動技術は、最良の知覚心理学的なモデルに依存し、特に、訓練を受けた人間に依存するものとなる。しかし、これは、コスト及び時間の面で欠点を有するものである。更に、訓練を受けた者は、データ埋め込みプロセスの微妙さを手動で保証できない可能性があり、また最適なデータレートでの埋め込みを達成できない可能性がある。
【００９１】
また、自動技術は、エンコーディングアルゴリズム自体を使用して、ファイルのどの部分が一層多くのデータを含むかを決定する。これは、知覚心理学的な基準を包含する既述のＭＰＥＧといったエンコーディングアルゴリズムにとって特に有用である。かかる圧縮技術の場合、単純な発見的方法は、オリジナルデータを表すのにどのくらいの量の圧縮データが使用されているかに注目することである。ファイルのうち表現するのに一層多くのデータを必要とする部分は、より多くの様々なデータを含むことになり、それ故、より多くの埋め込みの機会を提供するものとなる。
【００９２】
既述のMP3圧縮アルゴリズムオーディオデータを使用する場合、例えば、MP3アルゴリズムが、一度に576個のオーディオサンプルについてDCTを実行し、精神音響的な重みを付与し、次いでDCTの係数にスケールファクタを適用する場合について考察する。これらスケーリングされた係数の大きさは、オーディオストリームの部分にエンコードすることが可能なデータの量を測定するための良好なヒューリスティックである。その結果として、オーディオストリームの576個のサンプル部分の各々毎に測定値が計算されて、一連の測定値が生成され、該測定値が（遷移を除去するために）時間に関して平滑化され、次いで各区各毎に一定の一連の測定値がそれらにあてはめられ、その各々が、特定の情報密度を管理することができるファイル部分を規定する。密度の変更によるオーバーヘッドによって可変レートデータ埋め込みから得られる利益の陰が薄くならないよう十分な長さを前記部分が有していることを確認するのが最も良い。
−データのカプセル化−
可変ビットレートのためのデータのカプセル化は、多数の一般的な技術を使用することができる。かかる技術の１つがデータファイルの複数チャンクへの分割である。各チャンクは、指定されたビットレートでメディアファイルの特定部分に適合する大きさを有する。一実施形態では、例えば、かかる第１のチャンクの第１のデータは、それに続く全てのチャンクに関するチャンクサイズ及びデータレートのリストから構成することが可能である。次いで、後続のチャンクが既述のようにしてデータをエンコードする。
−ブラックボックスエンコーディング−
場合によっては、データエンコーディングプロセスを「ブラックボックス化」して、関数変換を実行するソフトウェアコードの内部を変更する必要をなくすことが可能である。この「ブラックボックス化」は、変換時に生成されるD'が所望のD"と同一になるようにDを変更することによりうまく機能する。
【００９３】
この技術は、適応型フィードバック技術を介して、測定値の変換に使用される関数の詳細とは部分的に独立して、測定値にデータを埋め込むことを考慮したものであり、他のステガノグラフィック技術にも適用することが可能である。
【００９４】
該技術は、特定の種類の関数、すなわち、データの副部分について実行される操作がデータ全体について実行される操作と同一である変換（「分離可能な」変換と称す）にとって好適なものとなる。換言すれば、測定値の適当なサブセットを選択してそれに変換を実行する結果として、測定値全体の組について該変換を実施する場合に前記サブセット中の要素に関して同じ値が得られることになる。
【００９５】
「ブラックボックス化」することができる様々なタイプの変換として次のものが挙げられる。
・規則的な間隔での連続関数の標本。
・連続関数がそれを一連のディジタル測定値へと変換することによりサンプリングされる。
・一連のディジタル測定値が精度を失うことにより量子化される。
・一連のディジタル測定値が（例えばイメージの回転又はオーディオサンプルの一層低いサンプリングレートへのサブサンプリングにより）エイリアシングを導入するよう変換される。
・一連のディジタル測定値が（例えばFFT又はDCT等の周波数領域信号分析技術を介して）変換され、該変換が分離可能な変換であり、その結果として得られる一連の測定値が次いで量子化される。
【００９６】
分離可能でなく、それ故「ブラックボックス化」することができない変換は、例えば、データストリームから以前に導出された情報を使用して異なる情報をエンコードするタイプの圧縮アルゴリズム、又は圧縮パイプラインの充填の度合いに応じてデータを異なる態様で圧縮するアルゴリズムである。
−「ブラックボックス」エンコーディング技術−
ブラックボックス埋め込みに関する基礎的な技術は、データDについて変換を実行し、該データから結果的に導出されたD'を参照することであり、（おそらくは単純化された）特定のモデルの逆変換を使用してDの一部を変更してD'が所望のD"に一層近くなるようにし、次いで必要に応じて上記を反復する。
【００９７】
これが如何に機能するかを例証するために既述の例を使用することとする。まず、次に示すDを参照する。
【００９８】
1.1 2.4 3.5 5.7 6.2 4.9 3.6 2.0
関数変換Frの出力D'は次の通りである。
【００９９】
1 2 4 6 6 5 4 2
ビット１をエンコードしたいものとする。総和が30であるため、Dの値を変更して総和が29になるようにする。
【０１００】
1.1 2.4 3.0 5.7 6.2 4.9 3.6 2.0
ここで、関数変換Frを実行すると、所望のD"に対応する正しいD'が得られる。
【０１０１】
1 2 3 6 6 5 4 2
明らかに、これは極めて単純な例であるが、該技術は、ソフトウェアの内部にあまり容易にアクセスできない場合に広い用途を有するものとなる。
−動的データ埋め込みのための事前計算−
これは、ディジタルストリームの選択されたビットのみを変更することを伴う技術に主に適したものであり、このため、本発明で使用するタイプのパリティエンコーディング技術にとって極めて有用なものである。
【０１０２】
多数の異なるデータファイルが埋め込まれたファイルを用意する必要のあるサーバベースのシステムでは、多くの場合、第１ステージの埋め込みを事前に計算することができる。この技術は、例えばユーザ統計データその他の情報に応じて異なる広告を内部に埋め込んでオーディオファイルを配布する場合に特に有用である。
【０１０３】
これは、本発明の技術によれば、埋め込みアルゴリズムを一回実行する一方、変更すべき測定値及び命令に関する記録を別個に維持することにより、達成することが可能である。
【０１０４】
これを示すために次のDの一例（上記と同じ）を使用する。
【０１０５】
1.1 2.4 3.5 5.7 6.2 4.9 3.6 2.0
関数変換Frの出力D'は次の通りである。
【０１０６】
1 2 4 6 6 5 4 2
説明の単純化のため、各係数グループにビット「０」をエンコードする。また「１」を容易にエンコードすることも可能である（また、各グループに何が格納されたかを追跡する意図がある場合には、この時点で各グループに異なる値をエンコードすることが可能である）。D'は、既にビット「０」をエンコードしているため、D"を生成するために変更する必要はない。
【０１０７】
1 2 4 6 6 5 4 2
ここで、更なる情報を格納する。ビット「１」を表すために該グループを変更する必要がある場合には、１を減算することにより第３の測定値を変更することが可能である。
【０１０８】
異なる情報が同じデータファイル中に埋め込まれる場合には、該データファイルを再度分析してどの測定値を変更すべきかを決定することなく、必要なデータの変更及び挿入に必要となる測定値のリストを参照するのが簡単で速い。この技術は、実行可能コード、Java、テキストファイル、及びデータベースといった各ユーザ毎に動的に変更することを必要とする種類の他のメディアの動的な配布にも使用することが可能である。
−可変長エンコーディングのための事前計算−
測定値の可変長（例えば既述のハフマン）エンコーディングを用いるMPEG-1 Layer 3 (MP3)といったアルゴリズムに関し、プロセスが一定の最大ビットレートを維持することが重要である場合には、エンコード時に一層長い長さを有する測定値が使用されるように、変更された測定値にデータを埋め込む必要がある。
【０１０９】
その一例として、次の可変長エンコーディングテーブルを使用する。
【０１１０】
測定値     エンコーディング
0 1
1 010
2 011
3 00001
4 001
5 00011
6 00010
ここで、既述のDの一例を再び使用する。
【０１１１】
1.1 2.4 3.5 5.7 6.2 4.9 3.6 2.0
関数変換Frの出力D'は次の通りである。
【０１１２】
1 2 4 6 6 5 4 2
ここで、第３の係数を変更してD"を生成することになるので、２つの値のエンコードされた表現を参照する必要がある。3のエンコードされた表現は00001であり、4のエンコードされた表現は001であり、したがって、長い方を使用する必要があり、これによりビット「１」をデータ中にエンコードする。
【０１１３】
1 2 3 6 6 5 4 2
ここで、ビット「１」がエンコードされているという更なる情報を格納し、また該グループをビット「０」を表すよう変更する必要がある場合には１を加算することにより第３の測定値を変更するという更なる情報を格納する。
【０１１４】
1 3 1
−データ抽出プロセス−
エンコードされたデータを抽出するプロセスは、幾つかの実施形態に関して既に解説しまた後述するように、エンコーディングプロセスの全く逆となる。
−図１１ないし図２２のシステム−
・図１１：データエンコーディングシステムの概要
一組の測定値及び該測定値中に埋め込まれる幾つかのディジタルデータが与えられた場合、基本的な技術は次の通りである。
１）埋め込みたいディジタルデータをｔで一連のビットへと変換する。
２）関数変換ａをディジタル測定値Ｍに適用すると共に、該変換の結果を最終的な出力で意図する分解能よりも高い分解能に保つ。かかる関数変換は、信号処理中にディジタル測定値に対して頻繁に適用され、かかる変換の例には、既述のように、量子化、スケーリング、フーリエ、DCTが含まれる。
３）次いで変換後の測定値にｂで僅かな調整を行って、ディジタルデータのビットの各々が出力において最終的な測定値の分解能でエンコードされるようにする。
【０１１５】
その結果、埋め込まれたデータを含む一組の変換された測定値がｃで得られる。
【０１１６】
既述のように、この新規の操作は、最下位ビット埋め込みといった従来の技術よりも遙かに優れたものである。これは、上記ステップ（２）を導入し、及び該ステップの結果を使用して、測定値に導入されるノイズが遙かに少なくなるように該測定値を調整するためである。
・図１２：データ抽出システムの概要
この場合も、データが埋め込まれた一組の測定値を仮定すると、該測定値からデータを抽出する基本的な技術は次の通りである。
１）測定値を分析し、図１１のステップ（３）で埋め込まれたデータをｄで抽出する。
２）随意選択的に、該データが精確で破損していないことをｅで検証する。
【０１１７】
これは、図１１のプロセスの全く逆である。
・図１３：メディア環境へのデータ抽出
本出願人の先の出願において及び上記で解説したように、測定値がメディアファイル（オーディオ、ビデオ、3D等）を表すものである場合、及び埋め込まれたデータがメディアファイル再生装置に対して付加的なコンテンツを提供するために使用される場合には、データをメディアファイル環境ｆ（ビデオ又はオーディオプレーヤ等）へ抽出する必要がある。その各ステップは次の通りである。
１）ｇで測定値を分析して、図１１のステップ（３）で埋め込まれたデータを抽出する。
２）随意選択的に、該データが精確で破損していないことをｈで検証する。
３）メディアをビューア又は再生装置ｆへ送る。
４）データをデータビューアｉ（例えば宣伝用のウィンドウ）へ送る。
５）随意選択的に、タイミング情報を使用して、メディアの再生を「考え得る同期タイミング」でデータと同期させる。
・図１４：エンコーディングと同時のウォーターマーキングの使用
既述のように、従来技術では、堅牢なウォーターマーキング技術を使用して、著作権又は著作者情報等の低帯域幅データをデータファイル中に埋め込んでいる。かかる技術は、信号処理又は再エンコーディングに対して柔軟なデータの特徴を変更することにより一般にうまく機能する。本発明の技術は、データに対して小さな変更しか行わないため、既存のあらゆるウォーターマークに影響を与えないものとなる。
【０１１８】
しかし、本発明のデータエンコーディングプロセスを堅牢なウォーターマーキング技術と併用する場合には、次のことが必要になる。
１）堅牢なウォーターマーキング技術をｊで適用する。
２）ｋでデータエンコーディングシステムを使用して、ウォーターマーキングされたファイル中にデータをエンコードする。
・図１５：量子化の調整を介したデータエンコーディング
関数変換が量子化（上述し又は本出願人の先の出願で解説したように後に量子化されることになるディジタルサンプリング、データの丸め、又は周波数変換等）を伴うものである場合には、本発明の技術は、次のように適応される。
１）埋め込みたいディジタルデータをｔで一連のビットに変換する。
２）結果的に量子化を行うことになる変換をａ’でディジタル測定値に適用すると共に、該変換の結果を、最終的な出力で意図されるよりも高い分解能に保つ。例えば、測定値の操作は、最終的に使用されることになる精度よりも高い精度で、データの量子化を行うことが可能である。
３）次いで変換された測定値の僅かな調整をｂで行って、最終的な測定値の分解能で量子化される際にｃでディジタルデータの各ビットを出力にエンコードする。
・図１６：エイリアシングの調整を介したデータエンコーディング
関数変換がエイリアシング（一連の測定値のスケーリング、回転、又はサブサンプリング等）を伴うものである場合には、本発明の技術は、次のように適応される。
１）埋め込みたいディジタルデータをｔで一連のビットに変換する。
２）結果的にエイリアシングを行うことになる変換をａ”でディジタル測定値に適用すると共に、一定範囲の考え得る結果値を生成する。例えば、スケーリング操作は、結果的に複数の異なる値を生成し、該値は何れも、スケーリング時に使用すべきフィルタリング操作に応じて値を指定するために割り当てることが可能なものとなる。
３）その結果値のうちの１つ、又は該結果値から生成された補間値を使用して、ｂ’でディジタルデータの各ビットを出力ｃにエンコードする。
・図１７：パリティエンコーディング
既述のように、ここで用いるパリティエンコーディングは、本技術の核となる新規のものであり、その精確なバージョンのデータが、LSBエンコーディングでどのビットを変更するかを決定する。これは、ユーザの体験に実質的に影響を与えることなく本発明で無比のデータレートを得ること可能にし、及び、測定値の品質に実質的に影響を与えることなく極めて高いビットレートでのデータの埋め込みを可能にするものである。図１７のエンコーディングフローチャートに概要を示すように、極めて高いデータのビットが一組の測定値間のパリティ関係中にエンコードされる。これはまた、データの埋め込み対象となる変更が最も容易な測定値を選択することを可能にする。
１）埋め込むべき次のデータビットを取得する（I）。
２）更にデータが存在する場合には処理を続行する。そうでない場合には残りの全ての測定値を未変更のままにして終了する（II）。
３）データを埋め込むべき測定値のサブセットを選択する（III）。
４）かかる測定値のパリティを計算する（すなわち、それらの値を加算してその総和が奇数であるか偶数であるかを判定する）（IV）。
５）該パリティが既にデータビットをエンコードしている場合（V）にはステップ（I）に戻り、
６）それ以外の場合には、変更すべき最も単純な部分を選択する（上記の量子化及びエイリアシング調整に関する章で解説したとおり）（VI）。
７）この値をデータを埋め込むよう変更する（VII）。
８）ステップ（I）以降を繰り返す。
・図１８：可変データレートエンコーディング
データを埋め込もうとしている測定値が広いダイナミックレンジを有する場合には、既述のように、可変レートでデータを埋め込むのが好適となり得る。これを行うプロセスは次の通りである。
１）ユーザの体験を劣化させることなく測定値のどの部分が一層多くのデータをエンコードすることができるかを手動的又は自動的に判定する（l）。該手動的な判定は、かかる決定を行う訓練を受けた者が必要となる。自動的な技術については、添付テキストにおいてより早期に完全に記述されている。
２）所与のレートでエンコードすることができる測定値の隣接する領域を確定する（m）。
３）これら領域に考え得る平滑化を施し（n）それらを共にあてはめて、それら領域を記述するのに必要となるデータの量を最適化する（これが不足しすぎると、それらを全く使用しない場合よりもそれらを記述するのに一層多くのデータが必要になる）。
４）これらのデータ密度領域の記述が、測定値中に埋め込むべきカプセル化された（o）データビットストリーム（t）を伴わずに共に結合される。
５）次いでカプセル化されたデータが既述のように埋め込まれる（p）。
・図１９：ブラックボックスエンコーディング
上述のように、この技術は、適応型フィードバック技術を介して、測定値を変換するために使用される関数の詳細とは幾分か独立して、該測定値にデータを埋め込むことを可能にする。
【０１１９】
関数変換の内部を変更することができない場合には、変換を適用する前に測定値を変更することによりデータをエンコードするのが有用である。これは、（おそらくは単純化された）変換モデルを必要とし、該変換モデルは、測定値の如何なる変更の結果としてデータがエンコードされることになるかを予測するために使用される。このプロセスは、該モデルが、所望のデータを成功裡にエンコードする一組の変更に収束するように、複数回実行する必要がある可能性がある。
１）埋め込みたいディジタルデータを一連のビットに変換する（t）。
２）関数変換の（おそらくは単純化された）モデルを使用して、結果的にデータストリーム中にエンコードされたディジタルデータを生じさせるべき測定値に変更を加える（q）。
３）関数変換を適用する（r）。
４）データが正しくエンコードされたか否かを判定する（s）。
５）データが正しくエンコードされていない場合には、ステップ（２）の測定値に対する変更を改善し（q）、上記を繰り返す。
・図２０：動的埋め込みのための事前計算
上記では、データ埋め込みのための事前計算は、ディジタルストリームの選択されたビットのみの変更を伴う技術に主に適したものとなり得ることを説明した。このため、かかる事前計算は、本発明のタイプのパリティエンコーディング技術にとって極めて有用なものである。
【０１２０】
図２０では、これが次のように示されている。
１）関数変換をディジタル測定値に適用する（a）と共に、該変換の結果を、最終的な出力に意図される分解能よりも高い分解能に保つ。
２）次いで変換された測定値の僅かな調整を（ｂ）で行って、ディジタルデータの同じビット（ファイル全体について１又は０）を、最終的な測定値の分解能の出力中にエンコードさせる。
３）結果的に得られる測定値を、変更された測定値及び命令に関する情報と共に、後の使用に備えて保存する（u）。
４）後に、（t）で埋め込みたいディジタルデータを一連のビットに変換する。
５）最後に、測定値が如何に変更されたかに関する保存された情報を使用して、格納されている測定値のリストを（v）で変更してディジタルデータをエンコードする。
・図２１：可変長エンコーディングのための事前計算
既述のMPEGエンコーディング等の圧縮技術に関し、一定の最大ビットレートを維持する必要がある場合には、やはり既述のように、この技術を僅かに変更する必要がある（下記参照）。
１）（a）で関数変換をディジタル測定値に適用すると共に、該変換の結果を、最終的な出力に意図される分解能よりも高い分解能に保つ。
２）ビット０又はビット１をエンコーディングする結果として一層大きなエンコードされた部分が生じるか否かを（b）で判定する。その一層大きなビットを選択する。次いで変換された測定値を僅かに調整してこのビットを最終的な測定値の分解能で出力中にエンコードする。
３）結果的に得られる測定値は、どのビットをエンコードするためにどの測定値が変更されどの命令が実行されたかに関する情報と共に後の使用に備えて（u）で保存される。
４）後に、埋め込みたいディジタルデータを一連のビットへ（t）で変換する。
５）最後に、測定値が如何に変更されたかに関する保存された情報を使用して、格納されている測定値のリストを（w）で変更してディジタルデータをエンコードする。所望のデータが、該データをエンコードするために使用されるビットと同一である場合には、変換は必要ない。
６）エンコードされた出力が以前よりも短い場合には（x）でヌルパディングが導入される。
図２２：パリティデコーディング
パリティデコーディングに関するデコーディング技術は、既述のように、単純な逆であり、既述のあらゆるエンコーディング技術に関して使用することが可能なものである。これは、例えば、図１２及び図１３に関して説明したように、埋め込まれたデータを測定値から抽出するための一要素として使用することが可能なものである。
【０１２１】
図２２のフローチャートの内容は次の通りである。
１）（VIII）で次の測定値の組を取得する。更なる組が存在しない場合には終了する。
２）（IX）でそれらの総和が奇数であるか偶数であるかを判定することにより、それらの測定値の組のパリティを計算する。該パリティに基づいてビット値を決定する（例えば、奇数は１、偶数は０を意味する）。
３）（X'）で該ビットをビットストリームに出力する（これがオリジナルデータへと変換される）。
４）上記ステップ（１）以降を繰り返す（VIII）。
【０１２２】
当業者であれば更なる変形が可能であり、かかる変形例は、特許請求の範囲に規定する本発明の思想及び範囲内に含まれるものと見なされる。
【図面の簡単な説明】
【図１】  本発明の好適な実施形態に従って動作する、データエンコーディングプロセス及びシステムの概要を示すブロック及びフロー図である。
【図２】  メディアプレーヤ又はビューアにより再生される場合における、図１のデータが埋め込まれたメディアファイルのデコーディングの概要を示す、図１と類似した図である。
【図３】  本書で解説するステガノグラフィック技術の、エンコーディングプロセスでの使用を示す、図１と類似した図である。
【図４】  本発明のエンコーディングプロセスと共に上述のディジタルウォーターマーキングプロセスを使用することを示す図である。
【図５】  例示的な信号波形、及び本発明にとって有用な係数領域パリティエンコーディングプロセスで使用するためのフーリエ変換ベースの圧縮された係数ベースの信号表現を示すグラフである。
【図６】  本発明のプロセスに従って、係数領域への変換を介して圧縮され、データが埋め込まれ、及びディジタルウォーターマークが付与された、オーディオデータのステガノグラフィックエンコーディングを一層詳細に示すブロック及びフロー図である。
【図７】  イメージファイル中へのデータのエンコーディングを示す図であり、この場合もイメージデータの係数領域への変換により圧縮が行われる。
【図８】  ビデオファイル中へのデータのエンコーディングを示す図であり、この場合もビデオデータの係数領域への変換により圧縮が行われる。
【図９】  複数のデータポイントからなる２Ｄ又は３Ｄスプライン中へのデータのエンコーディングに関する類似した図である。
【図１０】  ボリューメトリックデータファイル中へのデータのエンコーディングを示す図である。
【図１１】  一層汎用的な用語として「メディアファイル」の代わりに「測定値」を使用し、「埋め込まれた実行可能コードを有するメディアファイル」の代わりに「埋め込まれたデータを有する変換された測定値」を使用して図３（及び図１）と同様のシステムの概要を示す図である。
【図１２】  「データエンコーディング再生」でなく「データ抽出」として図２のシステムを一層汎用的に示す図である。
【図１３】  「データエンコーディング再生」でなく「データ抽出」として図２のシステムを一層汎用的に示す図である。
【図１４】  本発明のエンコーディング技術と共にウォーターマーキングを使用することを示す図４と同様の図であるが、この場合にも、一層汎用的な用語「測定値」が「メディアファイル」の代わりに使用されている。
【図１５】  データエンコーディングプロセスにおいて一層汎用的な用語「測定値」及び「変換」の「量子化」を使用し、及び一層汎用的な題名「調整」を図３の「修正」の代わりに使用した、図３（及び図６ないし図８）を辿る図である。
【図１６】  データエンコーディングプロセスにおいて一層汎用的な用語「測定値」及び「変換」の「エイリアシング」を使用し、及び一層汎用的な題名「調整」を図３の「修正」の代わりに使用した、図３（及び図６ないし図８）を辿る図である。
【図１７】  前記親出願で開示され本書で詳述されるパリティエンコーディングを示すフローチャートである。
【図１８】  本発明の原理による可変レートデータエンコーディングの使用を示す説明図である。
【図１９】  ブラックボックスエンコーディング修正例のシステム及び動作を示す説明図である。
【図２０】  動的埋め込みのための事前計算に適用される本発明の技術を示す説明図である。
【図２１】  動的埋め込みのための事前計算に適用される本発明の技術を示す説明図である。
【図２２】  パリティデコーディングを示すフローチャートである。
【図１】
0004695820.tif 000003
【図２】
0004695820.tif 000004
【図３】
0004695820.tif 000005
【図４】
0004695820.tif 000006
【図５】
0004695820.tif 000007
【図６】
0004695820.tif 000008
【図７】
0004695820.tif 000009
【図８】
0004695820.tif 000010
【図９】
0004695820.tif 000011
【図１０】
0004695820.tif 000012
【図１１】
0004695820.tif 000013
【図１２】
0004695820.tif 000014
【図１３】
0004695820.tif 000015
【図１４】
0004695820.tif 000016
【図１５】
0004695820.tif 000017
【図１６】
0004695820.tif 000018
【図１７】
0004695820.tif 000019
【図１８】
0004695820.tif 000020
【図１９】
0004695820.tif 000021
【図２０】
0004695820.tif 000022
【図２１】
0004695820.tif 000023
【図２２】
0004695820.tif 000024