(57)【特許請求の範囲】
【請求項１】
可変長コードへと符号化されたイメージデータを表すビットストリームのビットレートを変更することなく透かしをそのビットストリームに導入する方法であって、
前記コードに対する正の変化及び負の変化の量を表す累積変化量を維持するステップと、
前記累積変化量が予め設定された制限を超える場合に任意の正の変化を停止するステップとを具え、
これによって、前記ビットストリームのビットレートを一定に維持することを特徴とする方法。
【請求項２】
可変長コードへと符号化されたイメージデータを表すビットストリームのビットレートを変更することなく透かしをそのビットストリームに導入する装置であって、
前記コードに対する正の変化及び負の変化の量を表す累積変化量を維持する手段と、
前記累積変化量が予め設定された制限を超える場合に任意の正の変化を停止する手段と
を具えることを特徴とする装置。
【請求項３】
前記累積変化量が予め設定された負の量を超える場合、負の変化を停止することを特徴とする請求項１記載の方法。
【請求項４】
前記計数が予め設定された負の制限を超える場合、任意の負の変化を停止する手段を有することを特徴とする請求項２記載の装置。
【請求項５】
一連のイメージを表す符号化記号のストリーム内に透かしを、該記号の値を選択的に増大し又は減少させることによって嵌め込む方法であって、
前記符号化記号のストリームのビットレートの制限を設定するステップと、
前記制限を超える場合、前記選択的に増大させることを停止するステップと、
を具えることを特徴とする方法。
【請求項６】
イメージを表す一連のビット内に透かしを、予め設定した制限を超えて前記イメージのビットレートを増大させることなく嵌め込む方法であって、
前記透かしを嵌め込むために前記イメージの選択ビットを変化させるステップと、
前記イメージに前記透かしを嵌め込むための前記変化の累積変化計数を維持するステップと、
前記累積変化計数が予め設定した制限を超える変化を停止するステップと、
を具えることを特徴とする方法。
【請求項７】
イメージを表す一連のビット内に透かしを、予め設定した制限を超えて前記イメージのビットレートを増大させることなく嵌め込む方法であって、
前記透かしを前記イメージに嵌め込む際に、前記ビットレートの変化を表す量を維持するステップと、
前記量が特定の制限を超えるときに前記イメージの変化を停止するステップと、を具えることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【技術の分野】
本発明は、ステノグラフィ(stenography)、コピー保護並びにビデオイメージへの電子透かしの付加及びその検出に関するものである。
【０００２】
【背景技術】
デジタル媒体上にイメージを記憶させる技術の到来によって、著作権侵害に対する保護方法の必要性が増大している。従来の媒体（例えば、ＶＨＳ、ベータ、オーディオテープ等）の形態で記憶されたイメージは、その性質上コピーの際に劣化される。デジタル符号化媒体上に記憶されたイメージを、劣化することなくコピーすることができる。したがって、コピーのコピーを完全な形で繰り返し行うことができる。
【０００３】
映画を有するデジタル多目的ディスク（ＤＶＤ）の導入によって、一般の及び専門的な不許可コピーを誘発する要因が増大している。映画産業の要望によって、正真正銘の消費者に利用される装置を用いたＤＶＤディスクの簡単な複製に対して保護する技術が必要とされている。これは、二つの市販されているＶＣＲを相互接続することによってＶＣＲテープの複製を防止する保護と同様である。
【０００４】
そのような保護機構は一部のテープに対する保護を行うが、ＤＶＤ装置に接続したパーソナルコンピュータは、一層複雑な問題を発生させる。パーソナルコンピュータのようなオープンアーキテクチャ装置は、「クリア」の信号を再生し、そのような装置は、一度「クリア」になるとマテリアルを複製するのに使用することができる複数のエントリポイントを有する。本発明は、上記問題を解決する電子透かしを用いる。本発明は他のアプリケーションも有する。
【０００５】
電子透かしの検出を容易にするために、グリッドを形成する透かし信号を挿入できることは既知である。グリッドを用いて、向き及びスケールを決定することができる。本発明によれば、データ信号及びグリッド信号を単一の透かし信号に統合して、透かしによって導入される視覚的なアーティファクトを最小にする。
【０００６】
ＤＶＤのような用途において、考察する必要がある重要な要素はビットストリームのビットレートである。透かしをビットストリームに導入することによってビットレートが変化する場合、不都合が生じる。例えば、イメージをＤＶＤディスクのような媒体に記録しようとする場合、ビットストリームのビット数が増大すると、単一ディスク上に記録できるイメージ数が減少する。一般に、イメージのストリームに透かしを付加すると、ビットストリームのビット数が増大する。本発明は、イメージに透かしを導入してもビットレートを維持する方法及び装置を提供する。
【０００７】
【発明の開示】
既知のＪＰＥＧ及びＭＰＥＧデータ圧縮技術は、ＤＣＴ係数のマトリックスを発生させる離散余弦変換（ＤＣＴ）を利用してイメージを変換する。これら係数をブロック（例えば、８×８の係数ブロック）に配置する。ＤＣＴ係数のブロックを、マクロブロック（例えば、４個の８×８のブロックを有する１６×１６のアレイ）に配置する。本発明によれば、各ブロックの選択したＤＣＴ係数を、透かし信号に応答して僅かに増大させ又は僅かに減少させる。各マクロブロックを具えるブロックの変更を、透かし信号の位相がブロック境界間で保持されるように調整する。ブロック境界間の位相を保持することによって、方向及びスケーリンググリッドとして使用することができる検出可能なグリッドを形成する。
【０００８】
本発明は、イメージ信号のビットレートも維持する。信号のビットレートは、（累積変化計数と称される）計数を維持することによって保持され、その計数は、係数変化によるビットレート減少量を係数変化によるビットレート増加量から差し引いた量を表す。累積変化計数が予め設定された制限を超える場合、累積変化計数を減少させる係数変化が続く。しかしながら、累積変化計数を増大させる係数変化は停止される。累積変化計数を増大させる係数変化の停止は、累積変化計数が予め設定された制限より下になるまで続く。上記プロセスを、組合わせ信号のエントロピーが予め設定された制限を超えないようにビットストリーム中の透かし信号の強度を選択的に変更するように説明することができる。
【０００９】
【発明を実施するための最良の形態】
周知のＭＰＥＧ（エムペグ）及びＪＰＥＧ（ジェイペグ）イメージ圧縮技術は、係数のマトリックスを発生させるためにＤＣＴ（離散余弦変換）を用いる。ここに示す本発明の好適な実施の形態は、ＤＣＴ係数を僅かに変更し（係数の値を僅かに増大し又は僅かに減少させ）て、イメージの電子透かしを実施する。そのような電子透かしを、通常の相互相関技術によって後に検出することができる。
【００１０】
図１に示すように、ＭＰＥＧ技術及びＪＰＥＧ技術は、８×８の画素ブロックに分割する。各画素ブロックを用いて、８×８のＤＣＴ係数ブロックを発生させる。８×８の係数ブロックを、各々が４個のオリジナルブロックからなる「マクロブロック」に分割する。これを図２に示す。各ブロックのＤＣＴ係数の行列に、図１に示すようにして上から下及び左から右に番号を付す。第１行及び第１列を、“０”行及び“０”列として示す。
【００１１】
各ブロックの所定のＤＣＴ係数を、電子透かし信号の選択したビットを保持する係数として選択する。好適な実施の形態において、図１において丸で囲んだ３個の係数を、電子透かしデータ信号の最初のすなわち“０”ビットを保持するのに用いる。これら３個の係数を、透かしデータの“０”ビットの値に応じて変更、すなわち、僅かに増大し又は僅かに減少させる。同様にして、他の係数を僅かに変更して、透かし信号のたきビットを保持する。
【００１２】
本発明の他の態様は、ＤＣＴ係数への変更によって発生した正弦曲線の連続性を保証すること、すなわち、各マクロブロックを構成する４ブロック間の同相を保証することを意図する。第１に、透かしを保持する正弦曲線が各マクロブロック間で連続である場合、エッジの影響(edge effect)が小さくなり、透かしが見えにくくなる。第２に、各マクロブロックの４ブロック全体に亘って連続する正弦曲線は、ローレベル方位すなわちグリッド信号を発生させる。このローレベルグリッド信号を検出して、透かしの向き及びスケールを決定することができる。グリッド信号を、相互相関技術を用いて検出することができる。相互相関検出技術は、例えば、１９９６年５月１６日に出願された同時係属出願０８／６４９，１４９号及び発行された特許番号第５，７４８，７６３号及び第５，７４８，７８３号に示される。
【００１３】
隣接するブロックの所定のＤＣＴ係数が同一方向に変更された場合、結果的に得られる正弦曲線は、ブロック境界間で連続でない。本発明によれば、マクロブロック中の４ブロックの各々の係数への変化は、結果的に得られる正弦曲線が各マクロブロック内のブロック境界間で連続するように調整される。その変化は、後に説明する規則を用いて調整される。
【００１４】
各マクロブロックのブロックに対して、図２に示すようにして番号を付す。ブロック１を基本ブロックと考える。このブロックの係数を、透かし信号の関連のビットによって通常のようにして変化させる。以下の段落は、図１で丸を付けた係数を透かしの“０”ビットに応答して変更する方法に関連するものである。透かしデータの他のビットを保持するために他の係数も同様に変更する必要があることを理解すべきである。
【００１５】
ブロック１において、図１で丸を付けた係数を、透かしデータの“０”ビットに応答して僅かに増大させ又は減少させる。ブロック２，３及び４において、図１に示す丸を付けた係数を、以下の規則に従う透かしの０ビットに応答して変更する。
ブロック２：係数が奇数行である場合、変更の方向を転換。
ブロック３：係数が奇数列である場合、変更の方向を転換。
ブロック４：係数が奇数行である又は奇数列である場合、変更の方向を転換するが、係数が奇数行かつ奇数列である場合、変更の方向を転換しない。
【００１６】
上記規則に従う場合、ＤＣＴ係数の変化によって発生した正弦曲線は、各マクロブロックを形成する４ブロックの境界間で連続する。その正弦曲線を、通常の相互相関技術を用いて検出することができ、イメージのスケール及び回転を決定するグリッドとして用いることができる。透かしのデータビットを、通常の透かし検出技術を用いて検出することもできる。したがって、透かしデータそれ自体は、スケール及び回転を決定するために用いることができるグリッドを形成するのに使用する。
【００１７】
図３は、好適な実施の形態の上記態様の全体に亘るプログラム流れ図である。装置は、イメージを表すデータストリームを受け入れる。ブロック３０１は、データストリームのイメージに対するＤＣＴ係数を発生させる通常の装置又はプログラムモジュールとする。その係数は決定ユニット３０２に供給され、その決定ユニット３０２は、データをマクロブロックに分離するととともに、データがマクロブロックのブロック１，２，３，４のうちのいずれを表すかに依存してそれをユニット３１１，３１２，３１３及び３１４に供給する。ユニット３１１−３１３は、ＤＣＴ係数を変更して、透かし信号を以下の規則に従って嵌め込む。
ユニット３１１：係数を通常の方法で変更して、透かしを嵌め込む。
ユニット３１２：係数が奇数行である場合、変更の方向を転換。
ユニット３１３：係数が奇数列である場合、変更の方向を転換。
ユニット３１４：係数が奇数行である又は奇数列である場合、変更の方向を転換するが、係数が奇数行かつ奇数列である場合、変更の方向を転換しない。
【００１８】
ユニット３１１−３１４の出力がユニット３２０によって結合されて、単一データストリームに戻される。図３に示すユニットの各々を、特定の機能を実行するためにプログラムされ又はハードワイヤードした個別のユニットとすることができる。また、全ての機能を、時分割に基づいてプログラムした単一のコンピュータで実行することができる。ＤＣＴ係数を発生させるユニットは通常のものであり、そのようなユニットは既知のものであり、本発明の一部ではない。
【００１９】
上記説明は、透かしをＤＣＴ領域に導入できる方法を記載する。全体に亘る透かし入れの耐久性を、２個の透かしを用いることによって増強することかできる。第１の透かしを、米国特許番号第５，７４８，７６３号又は第５，７４８，７８３号に記載された方法で元のイメージの画素の変更によって追加することができ、第２の透かしを、ここで説明するようにＤＣＴ領域の係数の変更によって追加することができる。
【００２０】
本発明によって指摘される他の問題は、透かしをイメージに追加した場合でも一連のイメージを表すビットストリームのビットレートを一定に維持する必要があることである。ＭＰＥＧシステム及びＪＰＥＧシステムは、データを表す可変長コードを使用し、したがって、透かしを追加すると、一般にデータストリームのビットレートが増大する。典型的には、透かしは、透かしを嵌め込んだイメージとは相関がなく、したがって、イメージに透かしを嵌め込むと、元のイメージよりも高いエントロピーを有するイメージを発生させる。イメージを転送するデータストリームのビットレートは、イメージのエントロピーと直接相関する。
【００２１】
典型的には、イメージを符号化するのに使用されるコード数、すなわち、符号化イメージのハフマンテーブルのエントリー数は、比較的多い（例えば、５００）。しかしながら、透かしがイメージに導入されるときに発生する変化を、以下の簡単な例によって示すことができる。４個の記号ｓ１，ｓ２，ｓ３及びｓ４のみを有するデータストリームを考え、それは、以下のように符号化される。
0004068301.tif 000002
【００２２】
この場合、データストリームは次のように考えられる。
ビットストリーム    ００１１０１０１１１０１０
復号化ストリーム    ０／０／１１０／１０／１１１／０／１０
復号化メッセージ    ｓ１，ｓ２，ｓ３，ｓ２，ｓ４，ｓ１，ｓ２
【００２３】
透かしをイメージに付加する場合、イメージ中のビットを僅かに変更する。既に説明した簡単に図示した例において、ある解決では、記号ｓ２を記号ｓ３に変更し、したがって、イメージを転送するビットストリームのビット数を増大させる。実際には、正規分布した透かし（すなわち、ガウス分布を有する透かし）をイメージに付加するとともに、可変長ハフマンコードを用いてイメージが転送される際に、ビットストリームの長さが、増大するのに必要なものとなることを示す（ここで説明しない）数学的な原理がある。
【００２４】
本発明は、透かしをデータストリームに付加するときにビットレートを一定に維持することを保証する技術を提供する。本発明は、上記数学的原理を妨げるものではない。その理由は、本発明によれば、透かしイメージに対して通常用いられる冗長の一部は、所定の状況下では減少するからである。すなわち、所定の状況において、透かしの強さが減少する。
【００２５】
本発明によれば、透かしは、イメージの特徴に応じて変更される。したがって、透かしは、透かしが嵌め込められるイメージに対してある程度相関される。このようにして、透かしをイメージに嵌め込むことができ、組み合わされたイメージ及び透かしのエントロピーは、透かしのみのエントロピーにほぼ等しくなる。
【００２６】
本発明によれば、系は、係数を任意の時間点に変更する量の累積計数を維持する。すなわち、ビットストリームの開始からの負の変化量を正の変化量から差し引いた量を計測する。この量を、ここでは累積変化計数と称する。累積変化計数が予め設定された正の制限を超える場合、それ以上の正の変化はない。
【００２７】
通常、変化によってビットレートを不当に増大させないことを保証するだけでよい。しかしながら、所定の場合には、変化によってビットレートを不当に増大させないことを保証するのが好ましい。このようなことが所望される場合、既に説明したのと同一の技術を用いて、累積変化量が予め設定された負の制限を超えないことを保証することができる。すなわち、累積変化量が、予め設定された負の値を超える場合、正の変化は通常どおり連続するが、更なる負の変化が生じない。
【００２８】
（正及び負方向の）予め確立された最大の目安は、特定の系において許容しうるビットレートの変化を構成する値で確立される。
【００２９】
図４は、透かしがデータストリーム中のイメージに付加されるにもかかわらずデータレートを一定に維持する方法を示すプログラム流れ図である。ブロック４０３Ａは、ＤＣＴ係数にすることができる正の変化量に対する制限を確立し及び格納することを示す。ブロック４０３Ｃは、累積変化量が格納されることを示す。累積変化量は、データストリームの開始からの係数に対する負の変化量より小さい正の変化量である。
【００３０】
ＤＣＴ係数は、ブロック４０１に示すように通常の方法で計算される。同様に、透かしを嵌め込むのに必要とされるＤＣＴ係数の各々の変化も、ブロック４０５に示すように通常の方法で計算される。ブロック４０５は、特定のＤＣＴ係数の必要な変化が正であるか負であるかを決定する検査を示す。ブロック４０９は、変化が正である場合において、ブロック４０３Ａに格納された最大の許容しうる累積変化量が、変化が行われた場合を超えているか否かを決定する、検査を表す。
【００３１】
ブロック４１５及び４１７は、変化によって累積変化量が４０３Ａの制限を超えない場合にのみ係数を変更することを表す。最後に、ブロック４２５及び４２７において、レジスタ４０３Ｃの累積変化量を、係数に対する変化が実際に生じる場合に増分し又は減少させる。ブロック４３１は、係数をこのプロセスの出力部に供給するとともに係数を通常の方法で送信し及び処理することを示す。
【００３２】
本発明は、イメージへの透かしの嵌め込みに関するものである。種々の既知の技術を用いて、本発明を利用してイメージに嵌め込んだ透かしを検出することができる。例えば、米国特許番号第５，７４８，７６３号及び第５，７４８，７８３号、“Communications of the ACM”July 1998/vol. 41, No. 7、又は１９９６年１１月１２日に出願された係続米国出願番号０８／７４６，６１３号及び１９９８年５月１６日に出願された出願番号０８／６４９，４１９号（ここに参照することによってこれらを組み込む）のような技術を用いることができる。
【００３３】
プロセスを、変化を行ったか否かのプロセスとして説明したが、累積変化値の制限に到達した場合に変化量を減少させることもできる。図４に示した装置は、累積変化値が予め設定された制限を超えるのを防止する。イメージに透かしを付加することによって一般的にイメージのエントロピーが増大し、かつ、通常はエントロピーが増大するとビットレートが増大するようにハフマンコードテーブルが構成されているので、正の制限のみを用いるのが通常適切である。しかしながら、ある状況において、累積変化量が正の方向と負の方向の両方の制限を超えたか否かを計測するのが適切である。このような検査を、図４のブロック４２７の前に追加することができる。
【００３４】
本発明を実現することによって、透かしの強度を場合によっては減少させることができる。しかしながら、減少は、透かしの検出を防止するのに十分でない。本発明に伴う変化は単に選択的な方法で透かしの強度を弱めるだけであり、ある場合には、透かしを検出するために更なる処理が要求される。
【００３５】
複数の装置において、各ハフマンコードは複数の記号をカバーする。そのような装置において、ブロック４０５で表された計算は、イメージへの透かしの付加に起因する単一記号の変化ではない。そのような装置において、ブロック４０５で表された計算は、記号を表すためにハフマンコードで用いられた記号のあらゆる組合わせのビット列となる変化の計算となる。ある場合において、計算を、記号の複数の組合わせに亘って行う必要がある。
【００３６】
本発明の種々の態様を、ここでは単一の好適な実施の形態で示す。他の実施の形態は、本発明の全てではなく一つの態様を用いる。例えば、ビットレートの維持に関する本発明の一部を、方向グリッドを確立するためにマクロブロックを使用しない実施の形態において用いることができる。同様に、マクロブロックの使用に関連する本発明の態様を、一定のビットレートの維持に関する本発明の一部を用いることなく使用することができる。最後に、本発明を、ＤＣＴ領域に透かしを挿入する実施の形態において示したが、本発明を、透かしを他の領域に挿入するアプリケーションに用いることができる。
【００３７】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。
【図面の簡単な説明】
【図１】  イメージ中の画素をブロックに配置する方法及び結果的に得られるＤＣＴ係数に番号を付す方法を示す図である。
【図２】  ＤＣＴ係数のブロックをマクロブロックに配置する方法を示す図である。
【図３】  各マクロブロックの透かし信号の位相を保持するようにマクロブロックの各ブロックの係数を処理する方法を示すプログラム流れ図である。
【図４】  データストリームのビットレートを一定に維持する方法を示すプログラム流れ図である。
【図１】
0004068301.tif 000003
【図２】
0004068301.tif 000004
【図３】
0004068301.tif 000005
【図４】
0004068301.tif 000006