(57)【要約】【課題】ＪＰＥＧ画像データの認証のためのシステム及び方法の提供。【解決手段】ＪＰＥＧ圧縮画像データの第１のセクションについて行われる任意の変更が、同セクションの同データから得られる別のハッシュ関数に反映されるように、同セクションの同データから、ハッシュ関数を得る。ハッシュ関数は、数値Ｐを生成し、この数値Ｐは、画像データの次のセクションに埋め込まれる。この処理は、全セクションのデータに対して自主的に反復され、データの最終セクションにおいて、シグネチャ・ストリングは、データへ自己埋め込みされる。画像データは、次に、対象となる受け手へ転送されるか、または、セクションの整合性チェック処理が完了した時点で対象となる受け手へシーケンシャルに転送され得る。【選択図】　　　図６
2004080756.tif 000002
【特許請求の範囲】
【請求項１】
ａ）ＪＰＥＧ圧縮画像データの第１のセクションに対して引き続いて行われる任意の変更が、同データの同セクションから得られる別のハッシュ関数に反映されるように、同データの同セクションからハッシュ関数を取得して、整合性チェック番号を生成するステップと、
ｂ）前記整合性チェック番号をシグネチャ・ストリングへ暗号化するステップと、
ｃ）前記暗号化されたシグネチャ・ストリングをデータの第２のセクションに埋め込むステップと、
ｄ）画像データの最後のセクションの画像データに達するまでに、ステップａ）−ｃ）を反復するステップと、
ｅ）画像データの最後のセクションに対応するシグネチャ・ストリングをデータ自体に自己埋め込みするステップと、
を含む符号化ステップを有する、ＪＰＥＧ圧縮画像データの認証方法。
【請求項２】
前記符号化ステップの前記埋め込みステップが、前記ＪＰＥＧ圧縮画像の単一のブロック又は複数のブロックの係数の合計のパリティを維持するために得られた前記ハッシュ関数のＤＣＴ（離散コサイン変換）係数のＬＳＢ（最小有効ビット）を変更する、ことを含む請求項１に記載の方法。
【請求項３】
前記符号化ステップの前記埋め込みステップが、前記ＪＰＥＧ圧縮画像の単一のブロック又は複数のブロックの係数の合計のパリティを維持するために得られた前記ハッシュ関数のＷＴ（ウェーブレット変換）係数のＬＳＴＢ（最小有効伝送ビット）を変更する、ことを含む請求項１に記載の方法。
【請求項４】
ａ）ＪＰＥＧ圧縮画像データの第１のセクションに対して引き続いて行われる任意の変更が、同データの同セクションから得られる別のハッシュ関数に反映されるように、同データの同セクションからハッシュ関数を取得して、得られた前記ハッシュ関数から第１の整合性チェック番号を生成するステップと、
ｂ）データの第２のセクションを識別し、同データの同セクションから、埋め込まれているシグネチャ・ストリングを復号化するステップと、
ｃ）第２の整合性チェック番号を復元するために前記シグネチャ・ストリングを復号するステップと、
ｄ）復元された前記第２の整合性チェック番号と得られた前記第１の整合性チェック番号とを比較し、二つの番号が整合した場合、該データを認証するステップと、
ｅ）最終データセクションに達するまで、連続するデータセクションの各々に対して、ステップａ）−ｄ）を反復するステップと、
ｆ）最終データセクションにおいて、データの前記最終セクションを前記第２のセクションと等化させるとともに、ステップａ）−ｄ）を実行するステップと、
を含む、復号化ステップを有する、ＪＰＥＧ圧縮画像データの認証方法。
【請求項５】
ＪＰＥＧ圧縮画像データを受信する手段と、
符号化ステップを可能とするＣＰＵ及びメモリと、
を有し、
前記符号化ステップは、
ａ）ＪＰＥＧ圧縮画像データの第１のセクションに対して引き続いて行われる任意の変更が、同データの同セクションから得られる別のハッシュ関数に反映されるように、同データの同セクションからハッシュ関数を取得して、整合性チェック番号を生成するステップと、
ｂ）前記整合性チェック番号をシグネチャ・ストリングへ暗号化するステップと、
ｃ）暗号化された前記シグネチャ・ストリングをデータの第２のセクションに埋め込むステップと、
ｄ）画像データの最後のセクションの画像データに達するまで、ステップａ）−ｃ）を反復するステップと、
ｅ）最終データセクションに対応するシグネチャ・ストリングをデータ自体に自己埋め込みするステップと、
を含む、
多機能装置でＪＰＥＧ圧縮画像データを認証するシステム。
【請求項６】
前記符号化ステップの前記埋め込むステップが、前記ＪＰＥＧ圧縮画像の単一のブロック又は複数のブロックの係数の合計のパリティを維持するために得られた前記ハッシュ関数のＤＣＴ係数のＬＳＢを変更する、請求項５に記載のシステム。
【請求項７】
前記符号化ステップの前記埋め込むステップが、前記ＪＰＥＧ圧縮画像の単一のブロック又は複数のブロックの係数の合計のパリティを維持するために得られた前記ハッシュ関数のＷＴ係数のＬＳＴＢを変更する、請求項５に記載のシステム。
【請求項８】
ＪＰＥＧ圧縮画像データを受信する手段と、
復号化ステップを可能とするＣＰＵ及びメモリと、
を有し、
前記復号化ステップは、
ａ）ＪＰＥＧ圧縮画像データの第１のセクションに対して引き続いて行われる任意の変更が、同データの同セクションから得られる別のハッシュ関数に反映されるように、同データの同セクションからハッシュ関数を取得して、得られた前記ハッシュ関数から第１の整合性チェック番号を生成するステップと、
ｂ）データの第２のセクションを識別し、同データの同セクションから、埋め込まれているシグネチャ・ストリングを復号化するステップと、
ｃ）第２の整合性チェック番号を復元するために前記シグネチャ・ストリングを復号するステップと、
ｄ）復元された前記第２の整合性チェック番号と得られた前記第１の整合性チェック番号とを比較し、二つの番号が整合した場合、該データを認証するステップと、
ｅ）最終データセクションに達するまで、連続するデータセクションの各々に対して、ステップａ）−ｄ）を反復するステップと、
ｆ）最終データセクションにおいて、最終データセクションを前記第２のセクションと等化させ、ステップａ）−ｄ）を実行するステップと、
を含む、
多機能装置でＪＰＥＧ圧縮画像データを認証するシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、変換コード化画像の認証のためのシステム及び方法に係り、より詳細には、受け取られた画像がある識別されたソースから発生したものか又はその画像データが転送から受信までのある時点で変更されていないかを受け手側で確認することを可能とする、ＪＰＥＧ（Ｊｏｉｎｔ　Ｐｈｏｔｏｇｒａｐｈｉｃ　Ｅｘｐｅｒｔ　Ｇｒｏｕｐ）圧縮画像を認証するシステム及び方法に関する。
【０００２】
【従来の技術】
従来の技術において、画像データの暗号化は、許可された個人及び／又はエンティティのみが任意のメカニズムを用いて暗号化された転送ファイルを復号化できることを確実とするための手段としてしばしば用いられる。画像及び適切な復号キーへアクセスすることによって、転送ファイル及び／又はメッセージの受け手はその中に含まれる情報を復号化することができる。このような技術においては、データを暗号化するためのいくつかの方法が提供されており、相対的に広く知られている。最も注目すべきは、データを復号するために必要とされる単一のキーが送り手側と受け手側の双方によって秘密裏に保持される方法についてである。この場合、送り手によって使用されるものと同一のキーを所有することによってのみ、受け取られたファイルの適切な復号化が可能となる。
【０００３】
しかしながら、公開キーは当技術分野においてかなり支持を得ている。公開キーは、ユーザが一つのキーを用いてデータを暗号化するとともに、受け手側が他のキーを用いて転送されたファイルの暗号を復号することを可能とする。このような方法において、ユーザは暗号化キー又は復号キーのいずれかを公開することができるが、両方のキーを露呈する必要はないのである。このように、ユーザは、だれ一人として両方のキーを所有しない状態で、情報を確実に送受信することができる。復号キーが公開される場合は、データが「サインされた」といわれる（即ち、どの復号キーを利用すべきかを識別するシグネチャについて知識を持った誰かによって復号され得る）。このようにして、暗号化キーは秘密裏に保持され、公（おおやけ）に使用可能ではなくなることから、だれも暗号を再作成（リクリエート）することはできなくなる。
【０００４】
一方、電子透かし（ウォータマーク：ｗａｔｅｒｍａｒｋ）は、オリジナル入力データへ「目に見えない」電子透かしのエキストラデータを埋め込み、これによって、許可された転送ファイルの受け手が送り手を認証することができる。しかしながら、許可されない転送ファイルの受け手でも、埋め込まれた電子透かしの発生源（オリジナリティ）を認識することによって、その著者（オーサ）を認識することが可能である場合もある。また、電子透かしは、現代の演算及びグラフィックアート技術（装置）によって再生がかなり容易であることから、未知の第三者が受け手にファイルを送ることが可能となり、受け手は、送られて来たこれらのファイルを、埋め込まれた電子透かしの著者として既に（受け手が）認識する誰かによって送られてきたオリジナルであると信じる。
【０００５】
【発明が解決しようとする課題】
当技術に必要とされることは、ファイルの著者が対象とする受け手へ（ファイルを）転送する前に実行される、確認情報をＪＰＥＧ画像データファイルへ符号化するためのシステム及び方法を提供することであり、これによって、受け取られた画像ファイルが既知の識別されるソースから発生したものか及び／又はファイルの内容がファイルを受け取る前に何らかの方法で変更されていないかを確認するために受け手側で確認情報を復号化することが可能となる。
【０００６】
【課題を解決するための手段】
本発明は、対象となる受け手への（ファイルの）転送前に実行されるＪＰＥＧ画像データの認証のためのシステム及び方法であって、受け取られた画像ファイルが既知の識別されるソースから発生したものか及び／又はファイルを受け取る前に何らかの方法でファイルの内容が変更されていないかを受け手側で確認することを可能とすることを目的とする。
【０００７】
本発明によれば、確認情報を符号化するためには、ＪＰＥＧ圧縮画像に含まれる画像データの第１のセクションに対して引き続いて行われる任意の変更が同データの同セクションから得られる別のハッシュ関数に反映されるように、特有のハッシュ関数を、同データの同セクションから得る。同データの同セクションのハッシュ関数は、引き続いて、シグネチャ・ストリングへ暗号化される。シグネチャ・ストリングは、画像データの次のセクションへ埋め込まれる。この処理は、全セクションの画像データの処理が終わるまで反復される。最終のデータセクションでは、ハッシュ関数は自己符号化される。直前のセクションの整合性チェック番号の埋め込みは、ＪＰＥＧビットストリームを変更せずに行われることから、当技術において発見される任意のＪＰＥＧデコーダは、その後も続けて、画像を適切に復号化することができる。次に、画像ファイルは、対象とされる受け手へ転送される。
【０００８】
本発明によれば、受け手によってＪＰＥＧ画像ファイルが受け取られた際に、既に埋め込まれている確認情報を復号化するためには、受け取られた画像ファイルに含まれる画像データの第１のセクションから、第１のハッシュ関数が受け手によって演算される。データの第１のセクションに対するシグネチャ・ストリングが埋め込まれている、データの第２のセクションが識別される。シグネチャは同データから復号化される。シグネチャ・ストリングはその後復号され、その中に含まれるハッシュ関数を出力する。二つのハッシュ関数は相互に比較される。
第１のハッシュ関数と著者によって予め埋め込まれたリトリーブされたシグネチャ・ストリングに含まれるハッシュ関数とが整合した場合、この第１セクションに対する画像データが認証されたことを確認する。この処理は、画像ファイルの全セクションのデータ部分の処理が完了するまで、データの連続したセクションの各々に対して反復される。
【０００９】
本発明の一つの態様は、ａ）ＪＰＥＧ圧縮画像データの第１のセクションに対して引き続いて行われる任意の変更が同データの同セクションから得られる別のハッシュ関数に反映されるように同データの同セクションからハッシュ関数を取得して、整合性チェック番号を生成するステップと、ｂ）整合性チェック番号をシグネチャ・ストリングへ暗号化するステップと、ｃ）暗号化されたシグネチャ・ストリングをデータの第２のセクションに埋め込むステップと、ｄ）画像データの最後のセクションの画像データに達するまでに、ステップａ）−ｃ）を反復するステップと、ｅ）画像データの最後のセクションに対応するシグネチャ・ストリングをデータ自体に自己埋め込みするステップと、を含む符号化ステップを有する、ＪＰＥＧ圧縮画像データの認証方法である。
【００１０】
本発明の他の態様は、ａ）ＪＰＥＧ圧縮画像データの第１のセクションに対して引き続いて行われる任意の変更が、同データの同セクションから得られる別のハッシュ関数に反映されるように、同データの同セクションからハッシュ関数を取得して、得られたハッシュ関数から第１の整合性チェック番号を生成するステップと、ｂ）データの第２のセクションを識別し、同データの同セクションから、埋め込まれているシグネチャ・ストリングを復号化するステップと、ｃ）第２の整合性チェック番号を復元するためにシグネチャ・ストリングを復号するステップと、ｄ）復元された第２の整合性チェック番号と第１の得られた整合性チェック番号を比較し、二つの番号が整合した場合、該データを認証するステップと、ｅ）最終データセクションに達するまで、連続するデータセクションの各々に対して、ステップａ）−ｄ）を反復するステップと、　ｆ）最終データセクションにおいて、データの最終セクションを第２のセクションと等化させるとともに、ステップａ）−ｄ）を実行するステップと、を含む、復号化ステップを有するＪＰＥＧ圧縮画像データの認証方法である。
【００１１】
本発明のまた他の態様は、ＪＰＥＧ圧縮画像データを受信する手段と、符号化ステップを可能とするＣＰＵ及びメモリと、を有し、符号化ステップは、ａ）ＪＰＥＧ圧縮画像データの第１のセクションに対して引き続いて行われる任意の変更が、同データの同セクションから得られる別のハッシュ関数に反映されるように、同データの同セクションからハッシュ関数を取得し、整合性チェック番号を生成するステップと、ｂ）整合性チェック番号をシグネチャ・ストリングへ暗号化するステップと、ｃ）暗号化されたシグネチャ・ストリングをデータの第２のセクションに埋め込むステップと、ｄ）画像データの最後のセクションの画像データに達するまで、ステップａ）−ｃ）を反復するステップと、ｅ）最終データセクションに対応するシグネチャ・ストリングをデータ自体に自己埋め込みするステップと、を含む、多機能装置でＪＰＥＧ圧縮画像データを認証するシステムである。
【００１２】
本発明のさらに他の態様は、ＪＰＥＧ圧縮画像データを受信する手段と、復号化ステップを可能とするＣＰＵ及びメモリと、を有し、復号化ステップは、ａ）ＪＰＥＧ圧縮画像データの第１のセクションに対して引き続いて行われる任意の変更が、同データの同セクションから得られる別のハッシュ関数に反映されるように、同データの同セクションからハッシュ関数を取得して、得られたハッシュ関数から第１の整合性チェック番号を生成するステップと、ｂ）データの第２のセクションを識別し、同データの同セクションから、埋め込まれているシグネチャ・ストリングを復号化するステップと、ｃ）第２の整合性チェック番号を復元するためにシグネチャ・ストリングを復号するステップと、ｄ）復元された第２の整合性チェック番号と得られた第１の整合性チェック番号とを比較し、二つの番号が整合した場合、該データを認証するステップと、　ｅ）最終データセクションに達するまで、連続するデータセクションの各々に対して、ステップａ）−ｄ）を反復するステップと、ｆ）最終データセクションにおいて、最終データセクションを第２のセクションと等化させ、ステップａ）−ｄ）を実行するステップと、を含む、多機能装置でＪＰＥＧ圧縮画像データを認証するシステムである。
【００１３】
【発明の実施の形態】
図１を参照されたい。図１は、公知の技術によって圧縮するために、画像データに実行される一連のオペレーションを概略的に示す。一般に、画像の個別画素は最初に離散コサイン変換（ＤＣＴ）又はウェーブレット変換（ＷＴ）を用いて他のドメインへ変換される。ＤＣＴドメインにおいて、画像は、８×８（６４）画素のブロックへ分割され、各ブロックは、その後、最小周波数変換サンプルがＤＣ係数（ＤＣＣ）であるとともに残りの６３個のサンプルがＡＣ係数（ＡＣＣ）である、ＤＣＴ係数のブロックに変換される。その後、量子化された係数は、８×８ブロックを好ましくはジグザグにスキャンすることによってベクトルＶに配列される。ベクトルＶは、次に、ランレングス・カウンティング（ＲＬＣ）と可変長コーディング（ＶＬＣ）を組合せることによって符号化され得る。ＷＴドメインにおいて、画像の特別なスペクトル帯域に関連するウェーブレット変換係数（ＷＴＣ）を含むサブバンドを出力するように、フィルタリングの連続した段階を踏むことによって、画像は、変換される。次に、すべての得られた係数（ＤＣＣ、ＡＣＣ又はＷＴＣ）は、好ましくは、量子化器によって変換される。量子化は、一般に、係数を整数によって除算し、結果を丸めることによって、いくつかの固定点数値的表示になるように変換することによって実行される。ＤＣＴドメインにおいて、量子化されたデータは、好ましくは、各ＤＣＴ係数が、その符号及び大きさによって表される固定点表示によって示される。ＷＴドメインにおいて、係数の大きさは好ましくは複数のビットによって表され、サブバンドは、画像データのビット平面又はビットスライスによって表される。ＪＰＥＧ／ＷＴの符号化された画像のウェーブレット係数の一般的な表示は、概して、（ＪＰＥＧ圧縮方法の当業者がこの画像の階層型サブバンド分解によって得たサブバンドの図として認識できる）図２に示された方法に従う。変換及び量子化されたデータは次にエントロピーエンコーダ１３０を介してバイナリストリームへ符号化され得る。
【００１４】
次に、図３を参照されたい。図３は、ＪＰＥＧ／ＷＴ圧縮画像のサブバンドのＷＴ係数２２０の１行からのビット平面（又はスライス平面）を示す。ビット平面は、通常、シーケンシャルに符号化される。画像データがしばしば最大有効ビット（ＭＳＢ）から最小有効ビット（ＬＳＢ）まで伝送されることから、一般に、最大有効ビットのスライスが最初に符号化される。最後に伝送されるビット平面は次に参照番号３５０で示される最小有効伝送ビット（ＬＳＴＢ）平面となる。しかしながら、ＬＳＴＢ平面が決してＬＳＢ平面レベルに到達しないことは稀ではない。連続的なビット平面は、一つ以上のブロックに分割され、いくつかの停止クリテリア（基準）が一致するまで（例えば、バッファの充填等）、コンテキスト上の演算コーダを介して符号化される。或いは、一つのサブバンドに対する全てのビット平面が他のサブバンドの全てのビット平面よりも先に符号化されるように（あるいは全てのサブバンドが均等に処理されるように）、ビット平面はサブバンドによってその優先順位が決定されてもよい。図４は、ＪＰＥＧ／ＷＴ圧縮画像のサブバンド中のブロックのセクションのロケーションを示す。図５は、ＪＰＥＧ／ＤＣＴ圧縮画像の複数のブロック５２０のセクション５１０を示す。
【００１５】
本発明の符号化システム及び方法については、図６を参照されたい。図６の本発明のシステム及び方法によれば、第１のステップにおいて、データの第１のセクションについて行われる任意の変更が同セクションから得られる別のハッシュ関数に必ず反映されるように、ハッシュ関数が画像データの第１のセクションから得られる。ハッシュ関数は、数値Ｐを生成し、この数値Ｐはシグネチャ・ストリングＱに暗号化される。シグネチャ・ストリングＱは画像データの次のセクションに埋め込まれる。この処理は、全セクションのデータに対して自主的に反復され、データの最終のセクションにおいてシグネチャ・ストリングはデータへ自己埋め込みされる。次に画像データは対象となる受け手へ転送されるか、または、セクションの整合性チェック処理が完了した時点で対象となる受け手へセクションはシーケンシャルに転送され得る。
【００１６】
次に、図７を参照されたい。図７は、受け取られた画像データを認証のために復号化する本発明のステップを示す。データの第１のセクションが識別され、受け手は、受け取られたデータの同セクションから、ハッシュ関数を演算する。また、同セクションから、第１の数値Ｐ１が得られる。画像データの第２の連続セクションが識別される。埋め込まれたシグネチャス・ストリングＱは、識別され、同データから復号化される。シグネチャ・ストリングは次に復号されてその中に含まれるハッシュ関数の数値Ｐ２を出力する。数値Ｐ１とＰ２とが比較される。
整合性があれば、データの第１のセクションは認証される。これらの処理は、直前の整合性チェック番号が暗号化されて存在する、埋め込まれたシグネチャ・ストリングを符号化した連続データセクションを有するデータの各セクションに対して自主的に反復される。これらの処理は、データファイルの全セクションの識別及び認証が終了するまで自主的に反復される。
【００１７】
次に、図８を参照されたい。図８は、シグネチャ・ストリングＱの演算がデータのある一つのセクションにおいて一回で実行されるブロック図を示す。この例において、ハッシュ関数は、数値Ｐを生成するセクションの中に含まれる画像データの量子化された係数から演算される。数値Ｐは暗号化されてシグネチャ・ストリングＱを出力し、このシグネチャ・ストリングＱは次に同データセクションに埋め込まれる。この埋め込まれたシグネチャを含むデータのセクションは、次に、符号化され、対象となる受け手へ転送される。この処理は、データの全セクションに対する処理が終了するまで反復される。
【００１８】
受け手側では、データの第１のセクションに対応する量子化された係数を復元するために、同セクションのデータを復号化することによって認証が達成される。ハッシュ関数は、第１の数値Ｐ’を生成する量子化された係数から得られる。
データの次のセクションが識別され、同セクションから埋めこまれたシグネチャ・ストリングＱを同セクションから取り除くために復号化される。シグネチャ・ストリングＱは、直前のデータセクションに対応付けられて埋めこまれた数値Ｐ”を得るために、引き続き、復号される。次に、比較段階において、数値Ｐ”とＰ’とは比較される。整合性が確認（ベリファイ）されない場合、対応付けられたセクションは、認証されない。そうでない場合（整合性が確認された場合）、このセクションは認証される。また他の数値Ｐ’を生成する、受け取られたデータの次のセクションの量子化された係数から、引き続き、ハッシュ関数は、求められる。データの次のセクションに埋め込まれたシグネチャ・ストリングは、同セクションから復号化され、暗号復号されて、その直前のセクションの数値を出力する。次に、認証のための手段として、これらの値は、互いに比較される。この処理は、データの全セクションに対する処理が終了するまで、反復される。
【００１９】
データの最終セクションについては、ハッシュ関数の数値は、自己埋め込みされる。自己埋め込みは、処理されるデータの各セクションが最初の時点で二つの部分に分割されるという点で、前述したデータのセクション毎にベリファイするシーケンシャルな方法とは異なる。第１のデータ部分は、ハッシュ関数を演算するために使用されるデータを有する。第２のデータ部分は、暗号化された整合性チェック番号をその中に有する、対応付けられたシグネチャ・ストリングを埋め込むために使用される。ハッシュ関数は、ＭＳＢ平面と、ＭＳＢ平面とＬＳＴＢが除外されたＬＳＴＢ平面との間の平面と、を含む特定のセクションの全ての量子化されたデータから演算される。次に、特定のセクションのシグネチャ・ストリングは、量子化された係数のＬＳＴＢ平面のビットを変更することによって、上記の第２のデータ部分へ埋め込まれる。
【００２０】
各ブロックへビットを埋め込む手順は、以下のように、より形式的に記述されてもよい。Ｖ（ｎ）をブロックのＮＢエントリによって形成されたベクトルとする。ＪＰＥＧ／ＤＣＴに関しては、サンプルは、８×８ブロックのＡＣＣが用いられる。従って、ＮＢ＝６３となる。ＪＰＥＧ／ＷＴに関しては、ブロックは、サイズが圧縮パラメータに応じて変化し得るサブバンドの区分である。ブロック内のＬＳＴＢまでのすべての絶対量子化サンプルの合計をＳとすると、式（１）となり、Ｓのパリティを設定することによって、情報は特定のブロックの中に埋め込まれる。
【００２１】
【数１】
2004080756.tif 000003
（１）
【００２２】
例えば、１ビットを各ブロックのなかに埋め込むためには、Ｓに偶数又は奇数のパリティをもたせる。２ビットを埋め込むためには、パリティモジューロを４とする。
2004080756.tif 000004
サンプルＶ（ｎ）は絶対値で考えられ、それらの絶対値（Ａｎ）は、Ａｎ＝Ｃｎ２＋Ｂｎとなり、ここで、Ｂｎは、ＡｎのＬＳＴＢであり、Ｃｎは、残りのビットに対応する。当業者は、ＳモジューロＭ＝２Ｋを演算することによってＫ個のビットを埋め込むことができる。パリティを強制する方法としては、可能なときはいつでも、Ｓを減算することである。ブロックがＳ＝Ｓ０を有し、埋め込まれるＫ−ビットのコードのワードがＲ（Ｒ＜Ｍ）であるとすると、Ｓｆ＝ｍＭ＋Ｒとなり、この等式において、ｍは、（Ｓｆ≦Ｓ０）最大整数値を選択する。Ｄ＝Ｓｆ−Ｓ０の場合、ベクトルを、Ｄ回、変更する。毎回変更する毎に、一つのエントリはその絶対値を１だけ減算することによって調整される。小さいＫと小さい圧縮比に関しては、埋め込みは、透過的に行われ得る（即ち、ＪＰＥＧ圧縮解除後は、埋め込みのある画像と埋め込みのない画像が視覚的に区別できない）数値の減算が、必ずしも、常に可能であり有利であるとは限らないことが理解されよう。埋め込みを実行する方法は、以下の通りである。Ｋ個のビットを埋め込むためにブロックが使用可能であるとする判断は、ＥとＦとの量に左右される。即ち、Ｅは式（２）で表され、この等式において、Ｆは、ノンゼロであるＢｎの数値である。
ここで、（Ｅ＞Ｔ１）であることと（Ｆ≧Ｔ２≧Ｋ）ことをチェックする。ここで、Ｔ１とＴ２は予め定められた定数である。両方の条件が満たされたとき、そのブロックはデータ埋め込み用として採用される。全てのＡｎの合計（即ち、Ｓ）のパリティは、ＢｎがノンゼロであるときのＡｎを変更することによって調整される。これを達成するため、ビットを１→０にトグルしようとする（係数の振幅を減らす）。このトグルが不可能である場合、逆方向のトグルが実行される。ブロック当り１又は２ビットを埋め込み、Ｔ１が５又は１０とされ得ることが好ましい。圧縮画像のキャパシティＣは、Ｔ１、Ｔ２　及びＫ（即ち、条件が満たされたときのブロック数のＫ倍）が与えられたとき、ビットストリームのなかに埋め込まれ得るビットの数である。セクションにおけるブロックは、シグネチャ・ストリングＱを収容するために必要なキャパシティより大きいことが前提とされる。減算すべきＶ（ｎ）を選択する方法としては、例えば、操作によって生じる平均二乗誤差を最小とするために最小の量子化ステップを有するエントリを削減することである。品質レベルを維持するためには、良好な視覚品質を維持するためにブロックがサポートするよりも多くのレベルを変更することよりも、（Ｓ＞Ｔ）の場合に適正に選択されたＴに対してブロックを変更するだけにすることが望ましい。さらに、１のもののＶ（ｎ）の変更はしないこと（即ち、係数をゼロにノックダウンしないこと）が望ましい。
【００２３】
【数２】
2004080756.tif 000005
（２）
【００２４】
上記のように、埋め込みは一般に目に見えない。１ビット及びＴ１＝５の場合、Ｆは常に満たされ、ＪＰＥＧ（質ファクタ７５）のデフォルトな量子化器の表を用いた場合、ラフに見積もって、０．３から０．７までの一般的なキャパシティ（ブロックあたりのビットにおいて）が提供される。６００ｐｐｉでは、８．５インチ（２１．５９ｃｍ）×１１インチ（２７．９４ｃｍ）の全ページに対して、ラフに見積もって、５０Ｋバイト（大きな閾値及びＫ＝１）のキャパシティに変換される。５０ＫＢでは、整合性チェックのみよりはるかに多くの情報を埋め込むことができるため、埋め込みは更なる目的のために使用され得る。例えば、ハッシングデータを反復（複写）したり、電子透かしで畳み込んだりすることもできる。これには、整合性チェックデータを得るためにハッシュ関数を演算することが含まれる。ＣＲＣ又はＭＤ５などの従来のハッシュ関数を使用することもできる。スタンダードなコンピュータ装置のみを使って同一ハッシングで他のセットのデータを演算することは難しいという意味において、約１２８ビットのハッシュ関数が安全であると一般的に考えられていることは当業者に知られている。即ち、約１２８ビットのシグネチャは悪意のある攻撃に対して安全であると一般的に考えられている。本発明の実用化の際に使用され得るスタンダートな暗号化アルゴリズムがいくつかある。一つの例としては、非対称（非公開及び公開）キーに依存するＰＧＰ（公開キー暗号）アルゴリズムがあげられる。チェック合計及びハッシュ関数が完全であると仮定した場合、何人かの悪意ある人物がチェックをごまかす自由度は、１より大きな係数のうちのいずれかの大きさを有するＬＳＴＢを変更することに限定される。それらの全てのビットが変更された後もなお、画質を保持する。
【００２５】
少なくともモジューロＭを介したＳの分散が均一であると仮定した場合のエラーの確率に関しては、一致画像の確率は、２−ｂとなり、ここで、ｂは埋め込まれるビットの数である。いくつかの係数の最小有効ビットを微調整するやり方とは別に、チェックの合計数をごまかす確率は、無視できるとはいわないまでも、ＰＧＰのような良好に選択されたアルゴリズムに対しても非常に少ない確率に維持される。画像を検出する際のエラーは、サインされた画像を偽に検出することによって冒されるエラーと、そのシグネチャを検出又は認証し損なうことによって冒されるエラーである。シグネチャを保持しながらも、入力される画像を変更するためには、整合性のチェックを保持するように暗号化されたデータを抽出し、それを暗号化されたまま維持し、データを変更することができる。即ち、以下の式（３）を用いることによって受け手のチェッキング・アルゴリズムをごまかすことである。即ち、
Ｐ（偽）＝Ｐ（一致画像）＋Ｐ（偽造暗号）＋Ｐ（チェック合計のごまかし）（３）
更に、チェッキングテストに一致して合格する画像が存在するか又は第三者がシグネチャを何らかのかたちで偽造したかについての偽の検出が発生し得る。異なる画像上でシグネチャを偽造するためにはまず暗号化アルゴリズムをブレーク若しくはクラックしなければならないことは当業者によって容易に理解されよう。
これらの可能性又は確率の度合は識別可能なソースによって使用される暗号化及び埋め込みアルゴリズムの複雑さにほぼ全体的に左右される。
【図面の簡単な説明】
【図１】認識済みＪＰＥＧスタンダードと適合するように圧縮するために画像上で一般的に実行される一連の圧縮オペレーションを示す図である。
【図２】画像の階層型サブバンド分解を介して得られるサブバンドを示す図である。
【図３】与えられたサブバンドのＷＴ表示画像の係数２２０の１行からのビットスライスを示す図である。
【図４】ウェーブレット変換画像のサブバンドでのセクションの位置を示す図である。
【図５】８×８ブロック５２０が明確にマークされているＤＣＴ／ＪＰＥＧのコンテキストにおいてのセクション５１０を示す図である。
【図６】本発明の認証システム及び方法のハッシングステップ、暗号化ステップ、及び埋め込みステップを示す図である。
【図７】著者を認証するためのステップを示す図である。
【図８】シグネチャ・ストリング（ハッシングと暗号化）を一つのセクションで一回で実行する本発明の技術を示す図である。
【図１】
2004080756.tif 000006
【図２】
2004080756.tif 000007
【図３】
2004080756.tif 000008
【図４】
2004080756.tif 000009
【図５】
2004080756.tif 000010
【図６】
2004080756.tif 000011
【図７】
2004080756.tif 000012
【図８】
2004080756.tif 000013