(57)【要約】【課題】符号化、復号化を繰り返しても埋め込んだ電子透かしを劣化させず、改ざん位置をブロック単位で限定して検出することができるようにする。【解決手段】画像を離散ウェーブレット変換して量子化した量子化係数をステップＳ４でブロック単位に分割し、各ブロックの量子化係数の偶奇性を、このブロック内の量子化係数に基づくハッシュ変換によりステップＳ６で取得されるハッシュ値の偶奇性に合わせることでステップＳ８で電子透かしを埋め込み、この量子化係数をステップＳ１１符号化することにより符号列データを生成する。画像データの再生に際しては、この符号列データを復号化した量子化係数をブロック単位に分割し、各ブロックの量子化係数と、このブロック内の量子化係数に基づくハッシュ変換により取得されるハッシュ値の偶奇性とが等しいか否かによって、改ざんの有無を検出するようにした。【選択図】    図７
2004165778.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換して量子化した量子化係数を生成する量子化手段と、
前記量子化係数をブロック単位に分割するブロック分割手段と、
前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に符号化ハッシュ値を取得するハッシュ変換手段と、
処理対象となる前記量子化係数の偶奇性を、この量子化係数が属する前記ブロックの前記符号化ハッシュ値の偶奇性に合わせる電子透かし埋め込み手段と、
偶奇性を調整した量子化係数を含む前記量子化係数を符号化して符号列データを生成する符号化手段と、
を具備する符号生成装置。
【請求項２】
秘密情報を入力する秘密情報入力手段を具備し、
前記ハッシュ変換手段は、前記量子化係数に加えて、前記秘密情報に基づいてハッシュ変換を行なう請求項１記載の符号生成装置。
【請求項３】
日付情報を取得する日付情報取得手段を具備し、
前記ハッシュ変換手段は、前記量子化係数に加えて、前記日付情報に基づいてハッシュ変換を行なう請求項１記載の符号生成装置。
【請求項４】
装置の製造番号を認識する製造番号認識手段を具備し、
前記ハッシュ変換手段は、前記量子化係数に加えて、前記製造番号に基づく情報に基づいてハッシュ変換を行なう請求項１記載の符号生成装置。
【請求項５】
秘密入力情報を入力する秘密情報入力手段と、
日付情報を取得する日付情報取得手段と、
装置の製造番号を認識する製造番号認識手段と、
を具備し、
前記ハッシュ変換手段は、前記量子化係数に加えて、前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報に基づいてハッシュ変換を行なう請求項１記載の符号生成装置。
【請求項６】
前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報を選択する選択手段を具備し、
前記ハッシュ変換手段は、前記選択手段が選択した情報に基づいてハッシュ変換を行なう請求項５記載の符号生成装置。
【請求項７】
前記電子透かし埋め込み手段は、前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に＋１して前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に−１する第１の方式、または、前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に＋１して前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に−１する第２の方式のいずれかの方式により偶奇性を合わせる請求項１ないし６のいずれか一に記載の符号生成装置。
【請求項８】
前記第１の方式と前記第２の方式とのいずれか一方を切替自在に設定する方式設定手段を具備し、
前記電子透かし埋め込み手段は、前記方式設定手段が設定した方式にしたがって偶奇性を合わせる請求項７記載の符号生成装置。
【請求項９】
前記方式設定手段は、前記符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて、前記第１の方式または前記第２の方式を設定する請求項８記載の符号生成装置。
【請求項１０】
前記方式設定手段は、前記符号化ハッシュ値と秘密情報を入力する秘密情報入力手段によって入力された前記秘密情報とに基づいて、前記第１の方式または前記第２の方式を設定する請求項８記載の符号生成装置。
【請求項１１】
前記ブロック分割手段は、前記量子化係数を、隣り合う前記ブロックが一部重なり合うようにして分割する請求項１ないし１０のいずれか一に記載の符号生成装置。
【請求項１２】
前記ブロック分割手段は、隣り合う前記ブロックが一部重なり合う量を調整自在に分割する請求項１１記載の符号生成装置。
【請求項１３】
前記ブロック分割手段は、前記ブロックの大きさを調整自在に分割する請求項１ないし１２のいずれか一に記載の符号生成装置。
【請求項１４】
前記量子化係数をビットプレーン単位に分解するビットプレーン分解手段を具備し、
前記電子透かし埋め込み手段は、ビットプレーン単位でのビットのＯＮ／ＯＦＦにより偶奇性を合わせる請求項１ないし１３のいずれか一に記載の符号生成装置。
【請求項１５】
前記電子透かし埋め込み手段は、有意となるビットのＯＮ／ＯＦＦにより偶奇性を合わせる請求項１４記載の符号生成装置。
【請求項１６】
前記符号化手段は、上位のビットプレーンから下位のビットプレーン方向へ符号化を行ない、ＯＦＦビットをＯＮにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＦＦにし、ＯＮビットをＯＦＦにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＮにする請求項１４または１５記載の符号生成装置。
【請求項１７】
処理対象となる前記量子化係数を選択的に取得する量子化係数選択手段を具備し、
前記電子透かし埋め込み手段は、取得した前記量子化係数の偶奇性を合わせる請求項１ないし１６のいずれか一に記載の符号生成装置。
【請求項１８】
前記量子化係数選択手段は、隣り合う前記量子化係数との差がしきい値以上である前記量子化係数を選択する請求項１７記載の符号生成装置。
【請求項１９】
前記量子化係数選択手段が選択する頻度は調整可能である請求項１７または１８記載の符号生成装置。
【請求項２０】
対象画像を光学的に読み取った画像を入力する画像入力手段を具備し、
前記量子化手段は、前記画像入力手段が入力した画像を量子化する請求項１ないし１９のいずれか一に記載の符号生成装置。
【請求項２１】
請求項１ないし２０のいずれか一に記載の符号生成装置で生成した符号列データを復号化して量子化係数を生成する復号化手段と、
前記量子化係数をブロック単位に分割する復号ブロック分割手段と、
前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に復号化ハッシュ値を取得する復号ハッシュ変換手段と、
処理対象となる前記量子化係数の偶奇性とこの量子化係数が属する前記ブロックの前記復号化ハッシュ値の偶奇性とが一致する否かに基づいて改ざんの有無を検出する改ざん検出手段と、
を具備する画像処理装置。
【請求項２２】
前記量子化係数を離散ウェーブレット変換して画像データを生成する画像生成手段と、
改ざんを検出したブロック位置を記憶する改ざん位置記憶手段と、
前記画像データに基づく画像を、記憶したブロック位置を強調して表示部に表示させる強調表示手段と、
を具備する請求項２１記載の画像処理装置。
【請求項２３】
コンピュータにインストールされ、このコンピュータに、画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換して量子化した量子化係数を生成する量子化機能と、
前記量子化係数をブロック単位に分割するブロック分割機能と、
前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に符号化ハッシュ値を取得するハッシュ変換機能と、
処理対象となる前記量子化係数の偶奇性を、この量子化係数が属する前記ブロックの前記符号化ハッシュ値の偶奇性に合わせる電子透かし埋め込み機能と、
偶奇性を調整した量子化係数を含む前記量子化係数を符号化して符号列データを生成する符号化機能と、
を実行させる符号生成プログラム。
【請求項２４】
前記ハッシュ変換機能は、前記量子化係数に加えて、外部から入力された秘密情報に基づいてハッシュ変換を行なう請求項２３記載の符号生成プログラム。
【請求項２５】
前記ハッシュ変換機能は、前記量子化係数に加えて日付情報に基づいてハッシュ変換を行なう請求項２３記載の符号生成プログラム。
【請求項２６】
前記ハッシュ変換機能は、前記量子化係数に加えて装置の製造番号に基づく情報に基づいてハッシュ変換を行なう請求項２３記載の符号生成プログラム。
【請求項２７】
前記ハッシュ変換機能は、前記量子化係数に加えて外部から入力された秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報に基づいてハッシュ変換を行なう請求項２３記載の符号生成プログラム。
【請求項２８】
前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報を選択する選択機能を前記コンピュータに実行させ、
前記ハッシュ変換機能は、選択した情報に基づいてハッシュ変換を行なう請求項２７記載の符号生成プログラム。
【請求項２９】
前記電子透かし埋め込み機能は、前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に＋１して前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に−１する第１の方式、または、前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に＋１して前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に−１する第２の方式のいずれかの方式により偶奇性を合わせる請求項２３ないし２８のいずれか一に記載の符号生成プログラム。
【請求項３０】
前記第１の方式と前記第２の方式とのいずれか一方を切替自在に設定する方式設定機能を前記コンピュータに実行させ、
前記電子透かし埋め込み機能は、設定された方式にしたがって偶奇性を合わせる請求項２９記載の符号生成プログラム。
【請求項３１】
前記方式設定機能は、前記方式設定機能は、前記符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて、前記第１の方式または前記第２の方式を設定する請求項３０記載の符号生成プログラム。
【請求項３２】
前記方式設定機能は、前記符号化ハッシュ値と外部から入力された秘密情報とに基づいて、前記第１の方式または前記第２の方式を設定する請求項３０記載の符号生成プログラム。
【請求項３３】
前記ブロック分割機能は、前記量子化係数を、隣り合う前記ブロックが一部重なり合うようにして分割する請求項２３ないし３２のいずれか一に記載の符号生成プログラム。
【請求項３４】
前記ブロック分割機能は、隣り合う前記ブロックが一部重なり合う量を調整自在に分割する請求項３３記載の符号生成プログラム。
【請求項３５】
前記ブロック分割機能は、前記ブロックの大きさを調整自在に分割する請求項２３ないし３４のいずれか一に記載の符号生成プログラム。
【請求項３６】
前記量子化係数をビットプレーン単位に分解するビットプレーン分解機能を前記コンピュータに実行させ、
前記電子透かし埋め込み機能は、ビットプレーン単位でのビットのＯＮ／ＯＦＦにより偶奇性を合わせる請求項２３ないし３５のいずれか一に記載の符号生成プログラム。
【請求項３７】
前記電子透かし埋め込み機能は、有意となるビットのＯＮ／ＯＦＦにより偶奇性を合わせる請求項３６記載の符号生成プログラム。
【請求項３８】
前記符号化機能は、上位のビットプレーンから下位のビットプレーン方向へ符号化を行ない、ＯＦＦビットをＯＮにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＦＦにし、ＯＮビットをＯＦＦにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＮにする請求項３６または３７記載の符号生成プログラム。
【請求項３９】
処理対象となる前記量子化係数を選択的に取得する量子化係数選択機能を前記コンピュータに実行させ、
前記電子透かし埋め込み機能は、取得した前記量子化係数の偶奇性を合わせる請求項２３ないし３８のいずれか一に記載の符号生成プログラム。
【請求項４０】
前記量子化係数選択機能は、隣り合う前記量子化係数との差がしきい値以上である前記量子化係数を選択する請求項３９記載の符号生成プログラム。
【請求項４１】
前記量子化係数選択機能により取得する前記量子化係数の選択頻度は調整可能である請求項３９または４０記載の符号生成プログラム。
【請求項４２】
コンピュータにインストールされ、このコンピュータに、請求項２３ないし４１のいずれか一に記載の符号生成プログラムの実行により生成した符号列データを復号化して量子化係数を生成する復号化機能と、
前記量子化係数をブロック単位に分割する復号ブロック分割機能と、
前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に復号化ハッシュ値を取得する復号ハッシュ変換機能と、
処理対象となる前記量子化係数の偶奇性とこの量子化係数が属する前記ブロックの前記復号化ハッシュ値の偶奇性とが一致する否かに基づいて改ざんの有無を検出する改ざん検出機能と、
を実行させる画像処理プログラム。
【請求項４３】
前記量子化係数を離散ウェーブレット変換して画像データを生成する画像生成機能と、
前記画像データに基づく画像を、改ざんを検出したブロック位置を強調して表示部に表示させる強調表示機能と、
を前記コンピュータに実行させる請求項４２記載の発明の画像処理プログラム。
【請求項４４】
請求項２３ないし４１のいずれか一記載の符号生成プログラムを記憶し、コンピュータ読み取り可能である記憶媒体。
【請求項４５】
請求項４２または４３記載の符号生成プログラムを記憶し、コンピュータ読み取り可能である記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体に関する。
【０００２】
【従来の技術】
デジタル画像等のデジタル情報（デジタルコンテンツ）は、コンピュータ等によって、情報を劣化させることなく、簡単にコピーすることができる。近年では、デジタル画像技術の発達にしたがって、デジタルカメラ等によって取得されたデジタル画像等を、証拠写真として使用することも可能になってきている。このようなデジタルコンテンツには、著作権等が付され、許可無くコピーしたり、コピーしたデジタルコンテンツを再利用したりすることが禁じられているものがある。
【０００３】
ところで、デジタルコンテンツは、簡単な修飾処理等の操作を施して書換え等を行なうことによって、容易に改ざんすることができる。このため、デジタルコンテンツは、不正にコピーされて勝手に再利用されたり、一部が改ざんされて証拠写真に使用出来ないようにされたりすることがある。
【０００４】
この対策として、デジタル画像等のデジタルコンテンツ中に該デジタルコンテンツを普通に再生した場合には視覚できない情報を付加する、いわゆる、電子透かしやデータハイディング等と呼ばれる方法によって、デジタルコンテンツの不正利用を防止するようにした技術がある。これにより、デジタルコンテンツが不正に利用されているか否かを、該デジタルコンテンツ中に埋め込まれた電子透かしによって判断することができる。
【０００５】
電子透かしをデジタルコンテンツに埋め込む用途には、次のようなものがある。
Ａ．著作権情報の記録
Ｂ．違法コピー者情報の追跡
Ｃ．ＩＰアドレスの履歴記録
Ｄ．違法コピーの防止：不可視・高耐性型
Ｅ．改ざん防止への応用：不可視・低耐性型
Ｆ．認証
Ｇ．秘密通信
Ｈ．所有権者表示のためにデジタルコンテンツの注釈やラベルを埋め込む：可視・不可逆型
Ｉ．透かし除去可能化：可視・可逆型……コンテンツ配布
【０００６】
その中で、例えば、コンテンツ著作者の権利保護を目的とする“Ｅ．改ざん防止への応用”を実現する用途としては、次のものが考案されている。
【０００７】
例えば、デジタルカメラでの写真の撮影に際して、該デジタルカメラの製造番号や撮影日時等を、撮影されたデジタル画像に透かし込むとともに、電子署名を作成するようにした技術がある。電子署名の作成技術のみで可能であった改ざん検知に加えて電子透かし技術を活用することにより、デジタル画像に対する改ざんの有無を検知するとともに、写真を撮影したデジタルカメラや撮影日時等を特定することができるので、デジタル画像の改ざんをより効果的に抑止することができる（例えば、非特許文献１参照）。
【０００８】
デジタルコンテンツ中に電子透かしを埋め込む技術（以降、電子透かし技術という）は、大きく分類して、（１）電子透かしを内容データの標本値に直接埋め込む技術と、（２）電子透かしを周波数成分に埋め込む技術と、の二つに分類することができる。
【０００９】
（１）の電子透かしをデータの標本値に埋め込む方法は、デジタルコンテンツに対する加工や圧縮等の処理が軽いが、電子透かしを埋め込んだデジタルコンテンツに対して加工や圧縮等の処理を行なうと、埋め込まれた電子透かしが失われ易いという特性がある。
【００１０】
これに対し、（２）の周波数成分に埋め込む方法は、デジタルコンテンツに対して電子透かしを埋め込んだり抽出したりする処理が重いが、電子透かしを埋め込んだデジタルコンテンツに対する加工や圧縮等の処理に強いという特性がある。
【００１１】
ところで、モノクロデジタルコピーやＦＡＸ、新聞の白黒印刷等においては、白黒の２値画像を利用し、元画像が欠損無く復元できるＬｏｓｓ−Ｌｅｓｓ画像圧縮方式が推奨され、一般化されている。このようなＬｏｓｓ−Ｌｅｓｓ画像圧縮方式としては、例えば、国際電気通信連合（ＩＴＵ−Ｔ）のＧ３，Ｇ４規格等で、ＭＨ，ＭＲ，ＭＭＲ等がある。
【００１２】
しかし、これらの方式は、中間調処理された画像や誤差拡散処理された画像等における符号化効率が悪く、圧縮できないことも多くある。
【００１３】
このような問題を解決する方法としては、画像のエントロピーを基に符号化を行なう算術符号化方式と呼ばれる方式が注目されている。例えば、２値画像の新しい符号化方式の国際標準を検討しているグループのＪＢＩＧでは、ＱＭ−Ｃｏｄｅｒと呼ばれる算術符号化方式が採用されている。このＱＭ−Ｃｏｄｅｒと呼ばれる算術符号化方式は、ＩＴＵ−Ｔの標準として勧告化されている。
【００１４】
例えば、デジタルスチルカメラやデジタルビデオカメラ等の、デジタルのカラー画像や濃淡画像等の多値画像を取り扱う製品においては、元画像の細かい情報が失われる等の少しの画質劣化は犠牲にして、保存時の圧縮効果を重要視したＬｏｓｓｙ圧縮技術を利用することが多くなっている。このようなＬｏｓｓｙ圧縮技術としては、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）による周波数変換を利用したＪＰＥＧやＭＰＥＧ等がある。
【００１５】
また、述したＪＰＥＧの後継標準として、Ｌｏｓｓｙ符号化方式とＬｏｓｓ−Ｌｅｓｓ符号化方式との統一符号化、および、２値データと多値データとの統一符号化方式として、現在熱い期待が寄せられているＪＰＥＧ２０００がある。ＪＰＥＧ２０００では、離散ウェーブレット変換（ＤＷＴ：Ｄｉｓｃｒｅｔｅ  Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍ）を使用することで高圧縮時の画質劣化を減少させるとともに、ＭＱ−Ｃｏｄｅｒを適用することで高圧縮率化を図ることができる。ＭＱ−Ｃｏｄｅｒは、上述したＪＢＩＧのＱＭ−Ｃｏｄｅｒに類似しており、ＪＢＩＧ２にも採用されている算術符号化方式である。
【００１６】
【非特許文献１】
電子透かし技術に関する調査報告書１９９９年３月：日本電子工業振興協会編より（大元：日経ビジネス：電子情報の不正コピー防止，１９９８年２月２３日号ｐｐ．６８−７０（１９９８））
【００１７】
【発明が解決しようとする課題】
ところで、圧縮処理を施した多値画像のデジタルコンテンツに対して電子透かしを埋め込む際に、上述した（１）の方法で電子透かしを埋め込んだ場合、デジタルコンテンツの保存に際して画像圧縮のために符号化処理を施すことにより画質が劣化する。そして、この画質劣化によって、このデジタルコンテンツ中に埋め込んだ電子透かしも劣化してしまう。このため、圧縮のための符号化および伸長のための復号化を繰り返す程、デジタルコンテンツ中に埋め込まれた電子透かしを検知する能力が弱くなる。
【００１８】
このようなことから、圧縮処理を施したデジタルコンテンツの保存に際して、デジタルコンテンツに対する改ざん発見（検出）を目的とした電子透かしを埋め込む場合、符号化および復号化を繰り返しても該電子透かしを発見できるように、上述した“（２）圧縮のための符号列データ（周波数成分）に電子透かしを埋め込む方法”を適用するのが適切と言える。
【００１９】
本発明の目的は、画像データの符号化、復号化を繰り返しても電子透かしを劣化させることなく、また、改ざん位置をブロック単位で限定して検出することである。
【００２０】
【課題を解決するための手段】
請求項１記載の発明の符号生成装置は、画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換して量子化した量子化係数を生成する量子化手段と、前記量子化係数をブロック単位に分割するブロック分割手段と、前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に符号化ハッシュ値を取得するハッシュ変換手段と、処理対象となる前記量子化係数の偶奇性を、この量子化係数が属する前記ブロックの前記符号化ハッシュ値の偶奇性に合わせる電子透かし埋め込み手段と、偶奇性を調整した量子化係数を含む前記量子化係数を符号化して符号列データを生成する符号化手段と、を具備する。
【００２１】
したがって、量子化係数に電子透かしを埋め込むため画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうため、例えば、請求項２１記載の画像処理装置を用いて改ざん検出を行なうことにより、改ざん位置をブロック単位で検出することができる。
【００２２】
請求項２記載の発明は、請求項１記載の符号生成装置において、秘密情報を入力する秘密情報入力手段を具備し、前記ハッシュ変換手段は、前記量子化係数に加えて、前記秘密情報に基づいてハッシュ変換を行なう。
【００２３】
したがって、量子化係数に加えて秘密情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【００２４】
請求項３記載の発明は、請求項１記載の符号生成装置において、日付情報を取得する日付情報取得手段を具備し、前記ハッシュ変換手段は、前記量子化係数に加えて、前記日付情報に基づいてハッシュ変換を行なう。
【００２５】
したがって、量子化係数に加えて日付情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【００２６】
請求項４記載の発明は、請求項１記載の符号生成装置において、装置の製造番号を認識する製造番号認識手段を具備し、前記ハッシュ変換手段は、前記量子化係数に加えて、前記製造番号に基づく情報に基づいてハッシュ変換を行なう。
【００２７】
したがって、量子化係数に加えて製造番号に基づく情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【００２８】
請求項５記載の発明は、請求項１記載の符号生成装置において、秘密入力情報を入力する秘密情報入力手段と、日付情報を取得する日付情報取得手段と、装置の製造番号を認識する製造番号認識手段と、を具備し、前記ハッシュ変換手段は、前記量子化係数に加えて、前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報に基づいてハッシュ変換を行なう。
【００２９】
したがって、各ブロックの量子化係数に加えて、秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【００３０】
請求項６記載の発明は、請求項５記載の符号生成装置において、前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報を選択する選択手段を具備し、前記ハッシュ変換手段は、前記選択手段が選択した情報に基づいてハッシュ変換を行なう。
【００３１】
したがって、例えば、ユーザ等が選択した任意の情報をハッシュ変換の種とすることができ、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【００３２】
請求項７記載の発明は、請求項１ないし６のいずれか一に記載の符号生成装置において、前記電子透かし埋め込み手段は、前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に＋１して前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に−１する第１の方式、または、前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に＋１して前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に−１する第２の方式のいずれかの方式により偶奇性を合わせる。
【００３３】
したがって、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ量子化係数が元の量子化係数に対して＋１または−１より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【００３４】
請求項８記載の発明は、請求項７記載の符号生成装置において、前記第１の方式と前記第２の方式とのいずれか一方を切替自在に設定する方式設定手段を具備し、前記電子透かし埋め込み手段は、前記方式設定手段が設定した方式にしたがって偶奇性を合わせる。
【００３５】
したがって、第１の方式または第２の方式を切替自在に設定することができる。
【００３６】
請求項９記載の発明は、請求項８記載の符号生成装置において、前記方式設定手段は、前記符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて、前記第１の方式または前記第２の方式を設定する。
【００３７】
したがって、符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【００３８】
請求項１０記載の発明は、請求項８記載の符号生成装置において、前記方式設定手段は、前記符号化ハッシュ値と秘密情報を入力する秘密情報入力手段が入力した前記秘密情報とに基づいて、前記第１の方式または前記第２の方式を設定する。
【００３９】
したがって、秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【００４０】
請求項１１記載の発明は、請求項１ないし１０のいずれか一に記載の符号生成装置において、前記ブロック分割手段は、前記量子化係数を、隣り合う前記ブロックが一部重なり合うようにして分割する。
【００４１】
したがって、例えば、請求項２１記載の画像処理装置を用いて改ざん検出を行なうことにより、ブロック単位での画像の置き換えも改ざんとして検出することができる。
【００４２】
請求項１２記載の発明は、請求項１１記載の符号生成装置において、前記ブロック分割手段は、隣り合う前記ブロックが一部重なり合う量を調整自在に分割する。
【００４３】
したがって、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【００４４】
請求項１３記載の発明は、請求項１ないし１２のいずれか一に記載の符号生成装置において、前記ブロック分割手段は、前記ブロックの大きさを調整自在に分割する。
【００４５】
したがって、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【００４６】
請求項１４記載の発明は、請求項１ないし１３のいずれか一に記載の符号生成装置において、前記量子化係数をビットプレーン単位に分解するビットプレーン分解手段を具備し、前記電子透かし埋め込み手段は、ビットプレーン単位でのビットのＯＮ／ＯＦＦにより偶奇性を合わせる。
【００４７】
したがって、ビットプレーン毎に処理が独立しているため、後段の符号化に際して他のビットプレーンの切り捨てがあった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【００４８】
請求項１５記載の発明は、請求項１４記載の符号生成装置において、前記電子透かし埋め込み手段は、有意となるビットのＯＮ／ＯＦＦにより偶奇性を合わせる。
【００４９】
ここで、「有意である」状態とは、ビット表現した処理対象となる量子化係数を上位ビットから下位ビット方向に符号化する場合に、注目する係数値が０でないことが解っている状態をいい、１であるビットを既に符号化済みであることをいう。
【００５０】
これに対し、「有意でない」状態とは、注目する係数値が０であるまたは０である可能性がある状態をいい、１であるビットをまた符号化していない状態をいう。
【００５１】
したがって、有意となるビットのみを偶奇性合わせの対象とすることにより、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【００５２】
請求項１６記載の発明は、請求項１４または１５記載の符号生成装置において、前記符号化手段は、上位のビットプレーンから下位のビットプレーン方向へ符号化を行ない、ＯＦＦビットをＯＮにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＦＦにし、ＯＮビットをＯＦＦにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＮにする。
【００５３】
したがって、ビットプレーンの上位から下位方向への符号化においてビットのＯＮ／ＯＦＦを均等に行ない、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【００５４】
請求項１７記載の発明は、請求項１ないし１６のいずれか一に記載の符号生成装置において、処理対象となる前記量子化係数を選択的に取得する量子化係数選択手段を具備し、前記電子透かし埋め込み手段は、取得した前記量子化係数の偶奇性を合わせる。
【００５５】
したがって、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【００５６】
請求項１８記載の発明は、請求項１７記載の符号生成装置において、前記量子化係数選択手段は、隣り合う前記量子化係数との差がしきい値以上である前記量子化係数を選択する。
【００５７】
したがって、隣り合う量子化係数との差がしきい値以上である、すなわち、隣り合う量子化係数に対して変化の激しい量子化係数における有意ビットをＯＮ／ＯＦＦすることにより、電子透かしを埋め込むことによる画質劣化をより効果的に抑えることができる。
【００５８】
請求項１９記載の発明は、請求項１７または１８記載の符号生成装置において、前記量子化係数選択手段が選択する頻度は調整可能である。
【００５９】
したがって、例えば、目的とする画質程度等に応じた頻度で量子化係数を取得することにより、電子透かしを埋め込むことによる画質劣化の程度を管理することができる。
【００６０】
請求項２０記載の発明は、請求項１ないし１９のいずれか一に記載の符号生成装置において、対象画像を光学的に読み取った画像を入力する画像入力手段を具備し、前記量子化手段は、前記画像入力手段が入力した画像を量子化する。
【００６１】
したがって、例えば、デジタルカメラやスキャナ等の入力手段を用いて入力した画像に電子透かしを埋め込むことができる。
【００６２】
請求項２１記載の発明の画像処理装置は、請求項１ないし２０のいずれか一に記載の符号生成装置で生成した符号列データを復号化して量子化係数を生成する復号化手段と、前記量子化係数をブロック単位に分割する復号ブロック分割手段と、前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に復号化ハッシュ値を取得する復号ハッシュ変換手段と、処理対象となる前記量子化係数の偶奇性とこの量子化係数が属する前記ブロックの前記復号化ハッシュ値の偶奇性とが一致する否かに基づいて改ざんの有無を検出する改ざん検出手段と、を具備する。
【００６３】
したがって、請求項１ないし２０のいずれか一に記載の符号生成装置で生成した符号列データに対する改ざんの有無をブロック単位で検出することができる。
【００６４】
請求項２２記載の発明は、請求項２１記載の画像処理装置において、前記量子化係数を離散ウェーブレット変換して画像データを生成する画像生成手段と、改ざんを検出したブロック位置を記憶する改ざん位置記憶手段と、前記画像データに基づく画像を、記憶したブロック位置を強調して表示部に表示させる強調表示手段と、を具備する。
【００６５】
ここで、強調表示手段は、例えば、記憶したブロック位置の画像を単色で表示させたり、反転表示させたりする。
【００６６】
したがって、改ざんがある場合、改ざんされた位置をブロック単位で視認させることができる。
【００６７】
請求項２３記載の発明の符号生成プログラムは、コンピュータにインストールされ、このコンピュータに、画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換して量子化した量子化係数を生成する量子化機能と、前記量子化係数をブロック単位に分割するブロック分割機能と、前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に符号化ハッシュ値を取得するハッシュ変換機能と、処理対象となる前記量子化係数の偶奇性を、この量子化係数が属する前記ブロックの前記符号化ハッシュ値の偶奇性に合わせる電子透かし埋め込み機能と、偶奇性を調整した量子化係数を含む前記量子化係数を符号化して符号列データを生成する符号化機能と、を実行させる。
【００６８】
したがって、量子化係数に電子透かしを埋め込むため画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうため、例えば、請求項４２記載の発明の画像処理プログラムを実行して改ざん検出を行なうことにより、改ざん位置をブロック単位で検出することができる。
【００６９】
請求項２４記載の発明は、請求項２３記載の符号生成プログラムにおいて、前記ハッシュ変換機能は、前記量子化係数に加えて、外部から入力された秘密情報に基づいてハッシュ変換を行なう。
【００７０】
したがって、量子化係数に加えて秘密情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【００７１】
請求項２５記載の発明は、請求項２３記載の符号生成プログラムにおいて、前記ハッシュ変換機能は、前記量子化係数に加えて日付情報に基づいてハッシュ変換を行なう。
【００７２】
したがって、量子化係数に加えて日付情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【００７３】
請求項２６記載の発明は、請求項２３記載の符号生成プログラムにおいて、前記ハッシュ変換機能は、前記量子化係数に加えて装置の製造番号に基づく情報に基づいてハッシュ変換を行なう。
【００７４】
したがって、量子化係数に加えて製造番号に基づく情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【００７５】
請求項２７記載の発明は、請求項２３記載の符号生成プログラムにおいて、前記ハッシュ変換機能は、前記量子化係数に加えて外部から入力された秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報に基づいてハッシュ変換を行なう。
【００７６】
したがって、各ブロックの量子化係数に加えて、秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【００７７】
請求項２８記載の発明は、請求項２７記載の符号生成プログラムにおいて、前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報を選択する選択機能を前記コンピュータに実行させ、前記ハッシュ変換機能は、選択した情報に基づいてハッシュ変換を行なう。
【００７８】
したがって、例えば、ユーザ等が選択した任意の情報をハッシュ変換の種とすることができ、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【００７９】
請求項２９記載の発明は、請求項２３ないし２８のいずれか一に記載の符号生成プログラムにおいて、前記電子透かし埋め込み機能は、前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に＋１して前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に−１する第１の方式、または、前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に＋１して前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に−１する第２の方式のいずれかの方式により偶奇性を合わせる。
【００８０】
したがって、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ量子化係数が元の量子化係数に対して＋１または−１より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【００８１】
請求項３０記載の発明は、請求項２９記載の符号生成プログラムにおいて、前記第１の方式と前記第２の方式とのいずれか一方を切替自在に設定する方式設定機能を前記コンピュータに実行させ、前記電子透かし埋め込み機能は、設定された方式にしたがって偶奇性を合わせる。
【００８２】
したがって、第１の方式または第２の方式を切替自在に設定することができる。
【００８３】
請求項３１記載の発明は、請求項３０記載の符号生成プログラムにおいて、前記方式設定機能は、前記符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて、前記第１の方式または前記第２の方式を設定する。
【００８４】
したがって、符号化ハッシュ値と処理対象となる量子化係数の画像中での座標値とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【００８５】
請求項３２記載の発明は、請求項３０記載の符号生成プログラムにおいて、前記方式設定機能は、前記符号化ハッシュ値と秘密情報を入力する秘密情報入力手段によって入力された前記秘密情報とに基づいて、前記第１の方式または前記第２の方式を設定する。
【００８６】
したがって、秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【００８７】
請求項３３記載の発明は、請求項２３ないし３２のいずれか一に記載の符号生成プログラムにおいて、前記ブロック分割機能は、前記量子化係数を、隣り合う前記ブロックが一部重なり合うようにして分割する。
【００８８】
したがって、例えば、請求項４２記載の発明の画像処理プログラムを実行して改ざん検出を行なうことにより、ブロック単位での画像の置き換えも改ざんとして検出することができる。
【００８９】
請求項３４記載の発明は、請求項３３記載の符号生成プログラムにおいて、前記ブロック分割機能は、隣り合う前記ブロックが一部重なり合う量を調整自在に分割する。
【００９０】
したがって、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【００９１】
請求項３５記載の発明は、請求項２３ないし３４のいずれか一に記載の符号生成プログラムにおいて、前記ブロック分割機能は、前記ブロックの大きさを調整自在に分割する。
【００９２】
したがって、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【００９３】
請求項３６記載の発明は、請求項２３ないし３５のいずれか一に記載の符号生成プログラムにおいて、前記量子化係数をビットプレーン単位に分解するビットプレーン分解機能を前記コンピュータに実行させ、前記電子透かし埋め込み機能は、ビットプレーン単位でのビットのＯＮ／ＯＦＦにより偶奇性を合わせる。
【００９４】
したがって、ビットプレーン毎に処理が独立しているため、後段の符号化に際して他のビットプレーンの切り捨てがあった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【００９５】
請求項３７記載の発明は、請求項３６記載の符号生成プログラムにおいて、前記電子透かし埋め込み機能は、有意となるビットのＯＮ／ＯＦＦにより偶奇性を合わせる。
【００９６】
ここで、「有意である」状態とは、ビット表現した処理対象となる量子化係数を上位ビットから下位ビット方向に符号化する場合に、注目する係数値が０でないことが解っている状態をいい、１であるビットを既に符号化済みであることをいう。
【００９７】
これに対し、「有意でない」状態とは、注目する係数値が０であるまたは０である可能性がある状態をいい、１であるビットをまた符号化していない状態をいう。
【００９８】
したがって、有意となるビットのみを偶奇性合わせの対象とすることにより、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【００９９】
請求項３８記載の発明は、請求項３６または３７記載の符号生成プログラムにおいて、前記符号化機能は、上位のビットプレーンから下位のビットプレーン方向へ符号化を行ない、ＯＦＦビットをＯＮにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＦＦにし、ＯＮビットをＯＦＦにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＮにする。
【０１００】
したがって、ビットプレーンの上位から下位方向への符号化においてビットのＯＮ／ＯＦＦを均等に行ない、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０１０１】
請求項３９記載の発明は、請求項２３ないし３８のいずれか一に記載の符号生成プログラムにおいて、処理対象となる前記量子化係数を選択的に取得する量子化係数選択機能を前記コンピュータに実行させ、前記電子透かし埋め込み機能は、取得した前記量子化係数の偶奇性を合わせる。
【０１０２】
したがって、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０１０３】
請求項４０記載の発明は、請求項３９記載の符号生成プログラムにおいて、前記量子化係数選択機能は、隣り合う前記量子化係数との差がしきい値以上である前記量子化係数を選択する。
【０１０４】
したがって、隣り合う量子化係数との差がしきい値以上である、すなわち、隣り合う量子化係数に対して変化の激しい量子化係数における有意ビットをＯＮ／ＯＦＦすることにより、電子透かしを埋め込むことによる画質劣化をより効果的に抑えることができる。
【０１０５】
請求項４１記載の発明は、請求項３９または４０記載の符号生成プログラムにおいて、前記量子化係数選択機能により取得する前記量子化係数の選択頻度は調整可能である。
【０１０６】
したがって、例えば、目的とする画質程度等に応じた頻度で量子化係数を取得することにより、電子透かしを埋め込むことによる画質劣化の程度を管理することができる。
【０１０７】
請求項４２記載の発明の画像処理プログラムは、コンピュータにインストールされ、このコンピュータに、請求項２３ないし４１のいずれか一に記載の符号生成プログラムの実行により生成した符号列データを復号化して量子化係数を生成する復号化機能と、前記量子化係数をブロック単位に分割する復号ブロック分割機能と、前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に復号化ハッシュ値を取得する復号ハッシュ変換機能と、処理対象となる前記量子化係数の偶奇性とこの量子化係数が属する前記ブロックの前記復号化ハッシュ値の偶奇性とが一致する否かに基づいて改ざんの有無を検出する改ざん検出機能と、を実行させる。
【０１０８】
したがって、請求項２３ないし４１のいずれか一に記載の符号生成プログラムを実行することにより生成した符号列データに対する改ざんの有無をブロック単位で検出することができる。
【０１０９】
請求項４３記載の発明は、請求項４２記載の発明の画像処理プログラムにおいて、前記量子化係数を離散ウェーブレット変換して画像データを生成する画像生成機能と、前記画像データに基づく画像を、改ざんを検出したブロック位置を強調して表示部に表示させる強調表示機能と、を前記コンピュータに実行させる。
【０１１０】
したがって、改ざんがある場合、改ざんされた位置をブロック単位で視認させることができる。
【０１１１】
請求項４４記載の発明の記憶媒体は、請求項２３ないし４１のいずれか一記載の符号生成プログラムを記憶し、コンピュータ読み取り可能である。
【０１１２】
したがって、請求項２３ないし４１のいずれか一記載の発明の作用を得ることができる。
【０１１３】
請求項４５記載の発明の記憶媒体は、請求項４２または４３記載の符号生成プログラムを記憶し、コンピュータ読み取り可能である。
【０１１４】
したがって、請求項４２または４３記載の発明の作用を得ることができる。
【０１１５】
【発明の実施の形態】
最初に、本発明の実施の形態の前提となるＪＰＥＧ２０００アルゴリズムの概要について説明する。
【０１１６】
図１は、ＪＰＥＧ２０００方式の基本となる階層符号化および復号化アルゴリズムを示す説明図である。図１に示すようなＪＰＥＧ２０００方式の階層符号化アルゴリズム（以降、ＪＰＥＧ２０００アルゴリズム）によって、デジタル画像データを圧縮して符号列データを生成したり（符号化）、符号列データを伸長して画像データを生成したり（復号化）することができる。
【０１１７】
ＪＰＥＧ２０００アルゴリズムが、従来のＪＰＥＧアルゴリズムと比較して、最も大きく異なる点の一つは、変換方式である。ＪＰＥＧアルゴリズムでは離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を用いているのに対し、ＪＰＥＧ２０００方式の階層符号化アルゴリズムでは離散ウェーブレット変換（ＤＷＴ：Ｄｉｓｃｒｅｔｅ  Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍ）を用いている。ＤＷＴは、ＤＣＴに比べて、高圧縮領域における画質が良いという長所を有し、この点がＪＰＥＧの後継アルゴリズムであるＪＰＥＧ２０００でＤＷＴが採用された大きな理由の一つとなっている。
【０１１８】
また、ＪＰＥＧ２０００アルゴリズムとＪＰＥＧアルゴリズムとの大きな相違点は、ＪＰＥＧ２０００アルゴリズムでは、システムの最終段に符号形成を行なうために、画像の圧縮動作時には圧縮データを符号列データとして生成し、伸長動作時には伸長に必要な符号列データの解釈を行なう機能が追加されていることである。
【０１１９】
ＪＰＥＧ２０００は、符号列データによって様々な便利な機能を実現できるようになっており、例えば、ブロック・ベースでのＤＷＴにおけるオクターブ分割に対応した任意の階層（デコンポジションレベル）で、静止画像の圧縮伸長動作を自由に停止させることができるようになる（後述する図３参照）。また、ＪＰＥＧ２０００では、一つのファイルから低解像度画像（縮小画像）を取り出したり、画像の一部（タイリング画像）を取り出したりすることができるようになる。
【０１２０】
入力／出力される原画像の画像データに対しては、例えば、原色系のＲ（赤）／Ｇ（緑）／Ｂ（青）の各コンポーネントからなるＲＧＢ表色系や、補色系のＹ（黄）／Ｍ（マゼンタ）／Ｃ（シアン）の各コンポーネントからなるＹＭＣ表色系から、ＹＵＶあるいはＹＣｂＣｒ表色系への変換または逆変換が行なわれる。
【０１２１】
カラー画像は、一般に、図２に示すように、原画像の各コンポーネントが、矩形をした領域によって分割される。この分割された矩形領域は、一般にブロックあるいはタイルと呼ばれているものであるが、ＪＰＥＧ２０００では、タイルと呼ぶことが一般的であるため、以下、このような分割された矩形領域をタイルと記述することにする。
【０１２２】
ＪＰＥＧ２０００アルゴリズムにおける画像データの圧縮伸長プロセスを実行する際には、個々のタイルが基本単位となり、画像データの圧縮伸長動作は、コンポーネント毎、また、タイル毎に、独立に行われる。
【０１２３】
まず、ＪＰＥＧ２０００アルゴリズムにおける画像データの符号化について説明する。ＪＰＥＧ２０００アルゴリズムにおける画像データの符号化に際しては、図１に示すように、各コンポーネントの各タイルのデータに対して色空間変換を施した後、２次元ウェーブレット変換（順変換）を施して、周波数帯に空間分割する。
【０１２４】
ここで、図３は、デコンポジションレベル数が３の場合の、各デコンポジションレベルにおけるサブバンドを示している。デコンポジションレベル数（施すウェーブレット変換の数）が３の場合、まず、原画像のタイル分割によって得られたタイル原画像（０ＬＬ）（デコンポジションレベル０）に対して、２次元ウェーブレット変換を施し、デコンポジションレベル１に示すサブバンド（１ＬＬ，１ＨＬ，１ＬＨ，１ＨＨ）を分離する。そして引き続き、この階層における低周波成分１ＬＬに対して、２次元ウェーブレット変換を施し、デコンポジションレベル２に示すサブバンド（２ＬＬ，２ＨＬ，２ＬＨ，２ＨＨ）を分離する。順次同様に、低周波成分２ＬＬに対しても、２次元ウェーブレット変換を施し、デコンポジションレベル３に示すサブバンド（３ＬＬ，３ＨＬ，３ＬＨ，３ＨＨ）を分離する。図３では、各デコンポジションレベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジションレベル数を３としたとき、網掛けで示したサブバンド（３ＨＬ，３ＬＨ，３ＨＨ，２ＨＬ，２ＬＨ，２ＨＨ，１ＨＬ，１ＬＨ，１ＨＨ）が符号化対象となり、３ＬＬサブバンドは符号化されない。
【０１２５】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、定められた対象ビット周辺のビットからコンテキストを生成し（量子化）、量子化の処理が終わったウェーブレット係数を、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割する。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図４に示すように、一つのプレシンクトは、空間的に一致した３つの矩形領域からなっている。
【０１２６】
さらに、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。この「コード・ブロック」は、エントロピー・コーディングを行なう際の基本単位となる。
【０１２７】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、ＪＰＥＧ２０００では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行なうことができる。
【０１２８】
ここで、図５は、ビットプレーンに順位付けする手順の一例を示す説明図である。図５に示すように、この例は、原画像（３２×３２画素）を１６×１６画素のタイル４つで分割した場合で、デコンポジションレベル１のプレシンクトとコード・ブロックとの大きさを、各々８×８画素と４×４画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられており、この例では、プレンシクトが番号０から３まで、コード・ブロックが番号０から３まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆（５，３）フィルタでウェーブレット変換を行ない、デコンポジションレベル１のウェーブレット係数値を求めている。
【０１２９】
また、タイル０／プレシンクト３／コード・ブロック３について、代表的な「レイヤ」構成の概念の一例を示す説明図も図５に併せて示す。変換後のコード・ブロックは、サブバンド（１ＬＬ，１ＨＬ，１ＬＨ，１ＨＨ）に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【０１３０】
レイヤの構造は、ウェーブレット係数値を横方向（ビットプレーン方向）から見ると理解し易い。１つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ０，１，２，３は、各々、１，３，１，３のビットプレーンから成っている。そして、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：最下位ビット）に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、ＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：最上位ビット）に近いレイヤは最後まで量子化されずに残ることになる。ＬＳＢに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【０１３１】
続いて、コンテキストと対象ビットとから確率推定によって、各コンポーネントのタイルに対する符号化を行なう。これにより、原画像の全てのコンポーネントについて、タイル単位で符号化処理が行われる。
【０１３２】
最後に、全符号列データを１本の符号列データに結合するとともに、それにタグを付加する処理を行なう。
【０１３３】
次に、ＪＰＥＧ２０００アルゴリズムにおける画像データの復号化について説明する。符号列データの復号化に際しては、画像データの符号化時とは逆に、各コンポーネントの各タイルの符号列データから画像データを生成する。この場合、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネントの各タイルの符号列データに分解し、その各コンポーネントの各タイルの符号列データ毎に復号化処理（伸長処理）を行なう。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、定められた対象ビット位置の周辺ビット（既に復号化を終えている）の並びからコンテキストを生成し、このコンテキストと符号列データとから確率推定によって復号化を行なって対象ビットを生成し、それを対象ビットの位置に書き込む。
【０１３４】
このようにして復号化したデータは、周波数帯域毎に空間分割されているため、この画像データに対して２次元ウェーブレット逆変換を行なうことにより、画像データの各コンポーネントの各タイルを復元し、復元したデータに対して色空間逆変換を行なうことで元の表色系の画像データに変換する。
【０１３５】
以上が、ＪＰＥＧ２０００アルゴリズムの概要である。
【０１３６】
画像データの符号化に際しては、入力された画像データをウェーブレット変換した結果の係数を量子化するまでは、可逆または非可逆な変換過程をとることができ、量子化の処理が終わったウェーブレット係数からエントロピー符号化等の符号列データを生成するまでは可逆変換過程となる。また、画像データの復号化に際して、入力された（圧縮保存済みの）符号列データからウェーブレット係数データ（または、量子化係数データ：可逆圧縮の場合は量子化しないため）を復号化するまでは、可逆変換過程をとなり、復号化したウェーブレット係数データから画像データを生成するまでは可逆または非可逆な変換過程をとることができる。
【０１３７】
以下に、本発明の第１の実施の形態について図６ないし図１０を参照して説明する。本発明では、上述したＪＰＥＧ２０００アルゴリズムにおける量子化係数を使用して、ＪＰＥＧ２０００圧縮処理内で、量子化係数に電子透かしを埋め込むとともに、電子透かしが埋め込まれた量子化係数を解読の可否により画像の流用の有無を検出する符号生成装置および画像処理装置としての画像管理装置への適用例を示す。
【０１３８】
図６は、本実施の形態の画像管理装置の構成を概略的に説明するブロック図である。図６中では、ハード構成とマイクロコンピュータによるソフト処理等の機能とが混在して示されている。
【０１３９】
本実施の形態の画像管理装置１は、全体制御部２、画像撮影部３、操作入力部４、表示部５、外部記憶装置６、メモリ７、非可逆圧縮部８、電子透かし埋め込み部９、Ｈａｓｈ変換部１０、可逆圧縮部１１、画像再生部１２、可逆伸長部１３、電子透かし解読部１４、非可逆伸長部１５、および、改ざん表示制御部１６等をバスライン１７等によって接続することにより構成されている。
【０１４０】
全体制御部２は、画像管理装置１全体の動作および機能を制御する図示しないマイクロコンピュータを主体として構成されている。マイクロコンピュータは、画像管理装置１が備える各部を駆動制御するＣＰＵや、ＣＰＵが実行する各種制御プログラムを格納するＲＯＭ、可変的なデータを書き換え自在に記憶するとともにＣＰＵのワークエリアとして機能するＲＡＭ等（いずれも図示せず）を接続することによって構成されており、一般的には、ＣＰＵのみを代表として、単に「ＣＰＵ」と略称されることもある。マイクロコンピュータ（ＣＰＵ）は、計時機能を有しており、後述する電子透かしの埋め込みに際しては、この計時機能により日付情報を取得することができる。ここに、日付情報取得手段としての機能が実現される。
【０１４１】
ＲＯＭには、全体制御部２が実行する各種制御プログラムが格納されており、画像撮影部３、操作入力部４、表示部５、外部記憶装置６、メモリ７、非可逆圧縮部８、電子透かし埋め込み部９、Ｈａｓｈ変換部１０、可逆圧縮部１１、画像再生部１２、可逆伸長部１３、電子透かし解読部１４、非可逆伸長部１５、および、改ざん表示制御部１６が実現する各機能は、全体制御部２が各種制御プログラムを実行することによって実現することができる。
【０１４２】
画像撮影部３は、セットされた写真や帳票等をスキャンすることで画像を読み取ってイメージ画像データを入力し、画像入力手段として機能する。公知の技術であるため図示および説明を省略するが、画像撮影部３は、例えば、スキャン光学系およびＣＣＤ等のイメージセンサとその駆動回路等を有するイメージスキャナやデジタルカメラ等によって実現することができる。
【０１４３】
操作入力部４は、操作者との間におけるインターフェイスとして機能し、操作者によって操作されることにより、各種入力信号を全体制御部２に出力する。全体制御部２は、操作入力部４からの出力信号に応じて、各種操作指示や機能選択指令を発行したり、編集データ等を入力したりする。公知の技術であるため図示および説明を省略するが、操作入力部４としては、例えば、キーボードやマウス、あるいは、タッチパネル等を用いることができる。本実施の形態では、操作入力部４が操作されることによって、後述するように電子透かしデータが埋め込まれた画像データの乱数化を開始したり、乱数化された画像データ中に埋め込まれた電子透かしの解読に際して必要情報を入力したりすることができる。
【０１４４】
表示部５は、画像撮影部３が入力したイメージ画像データに基づく画像や、操作ガイダンス等を表示する。本実施の形態の表示部５は、表示面上に配列された、Ｒ（Ｒｅｄ）・Ｇ（Ｇｒｅｅｎ）・Ｂ（Ｂｌｕｅ）の各色の図示しない入力端子を備えており、各色の入力端子に入力する信号を調整して各色の入力端子の明るさを変えることで、表示部５に配列されたＲＧＢの各色の入力端子の明るさを最大にした白色から、表示部５に配列されたＲＧＢの各色の入力端子の明るさを最小にした黒色までを段階的に合成することが可能である。表示部５における表示状態は、操作入力部４が操作されることにより、操作者の所望の表示状態に変更することができる。表示部５における表示状態として、例えば、電子透かし解読結果を入力イメージ画像データと重ね合わせて表示させたり、どちらか一方のみを選択して表示させたりすることができる。
【０１４５】
外部記憶装置６は、画像撮影部３で撮影した画像データや全体制御部２で実行する各種プログラムを、ＣＤ−ＲＯＭ等の可搬性を有するメディア１８に記憶させるとともに、可搬性を有するメディア１８に記憶されたプログラムを読み取る。外部記憶装置６は、例えば、電子透かし埋め込み部９や可逆圧縮部１１での処理によって電子透かしが埋め込まれた圧縮データ、電子透かし解読部１４によって改ざんを検出した画像領域部のデータ等をメディア１８に記憶させる。
【０１４６】
ところで、本実施の形態の外部記憶装置６は、可搬性を有するメディア１８に記憶された、符号生成プログラムや画像処理プログラムを読み取ることが可能である。符号生成プログラムや画像処理プログラムは、実行することにより後述する電子透かしの埋め込みや電子透かしの検出を行なうプログラムであり、このため、本実施の形態では、可搬性を有するメディア１８によって記憶媒体が実現されている。
【０１４７】
なお、本実施の形態では、可搬性を有するメディア１８によって記憶媒体を実現するようにしたが、これに限るものではなく、符号生成プログラムや画像処理プログラムを記憶するフレキシブルディスク（ＦＤ）や光磁気ディスク（ＯＭＤ）等の可搬性を有するメディアによって記憶媒体を実現するようにしてもよい。可搬性を有するメディア１８に記憶された符号生成プログラムや画像処理プログラムは、外部記憶装置６によって読み取る（または、インストールする）ことにより、ＲＡＭに記憶され、全体制御部２がＲＡＭに記憶された符号生成プログラムや画像処理プログラムを実行して、後述する電子透かしの埋め込みや電子透かしの検出を行なうことが可能であるため、メディア１８から符号生成プログラムや画像処理プログラムがインストールされたＲＡＭによっても記憶媒体を実現することができる。
【０１４８】
また、符号生成プログラムや画像処理プログラムは、可搬性を有する各種メディア（または、ＲＡＭ）に記憶されているものに限るものではなく、例えば、インターネット等を介して、画像管理装置１以外の外部装置からダウンロードしたものであってもよい。
【０１４９】
メモリ７は、画像撮影部３によって読み取ったイメージ画像データや、図１に示すＪＰＥＧ２０００アルゴリズム内で生成される各種データ等を格納する大容量のメモリである。メモリ７は、例えば、ＲＡＭあるいはハードディスク等によって実現することができる。図１に示すＪＰＥＧ２０００アルゴリズム内で生成されるデータとしては、電子透かしが埋め込まれてＪＰＥＧ２０００圧縮された後に一旦保存された符号列データ、画像再生部１２によって再生した電子透かしが埋め込まれた画像データ、および、可逆伸長部１３から非可逆伸長部１５における処理で伸長された画像データ等がある。また、メモリ７には、画像管理装置１の製造番号や、後述する電子透かしの埋め込みに際して画像管理装置１の外部から入力された秘密情報等を記憶するエリアが確保されている。これにより、後述する電子透かしの埋め込みに際して、エリアに記憶された画像管理装置１の製造番号に基づく情報を種としたＨａｓｈ変換を行なうことができ、ここに、製造番号認識手段が実現される。
【０１５０】
非可逆圧縮部８は、画像撮影部３で読み取って外部記憶装置６やメモリ７に格納されている画像データを使用して、デジタル画像データを非可逆に変換圧縮する処理を施して、量子化係数を生成する。すなわち、非可逆圧縮部８は、図１中Ａで示す処理を行なう。非可逆圧縮部８が生成した量子化係数は、メモリ７に格納される。
【０１５１】
電子透かし埋め込み部９は、非可逆圧縮部８で変換され、メモリ７に格納されている量子化係数を使用して、上述したようなＪＰＥＧ２０００圧縮処理内で、量子化係数に電子透かしを埋め込む処理を施す。詳細は後述するが、電子透かし埋め込み部９は、図１中Ａ処理とＢ処理との間に相当する箇所で電子透かしを埋め込む処理を行ない、埋め込む電子透かしとして、ハッシュ（Ｈａｓｈ）変換部で乱数化した（Ｈａｓｈ変換した）データを用いる。
【０１５２】
Ｈａｓｈ変換部１０は、電子透かし埋め込み部９で透かし情報を埋め込む際に、ＪＰＥＧ２０００処理内の量子化係数に対して、ハッシュ（Ｈａｓｈ）関数に基づくハッシュ（Ｈａｓｈ）変換を施して乱数化する。
【０１５３】
本実施の形態では、元のデータが解読できないようにランダマイズすることを「乱数化」であるとし、この乱数化の機能に、元のデータを復元することができる機能を加えた機能である暗号化と区別して説明する。
【０１５４】
ここで、Ｈａｓｈ関数とは、引数を種（タネ）にして生成する一方向性の乱数発生関数であり、以下に示す性質を持っている（出典：電子情報通信学会誌２０００年２月  ”公平性保証とプライバシー保護”佐古和恵）。
性質１：出力値から入力値は推測できない。
性質２：入力値が１ｂｉｔでも変ると、出力値は全面的に変化する。
性質３：同じ出力になる異なる二つの入力の探索は現実的に不可能。
【０１５５】
Ｈａｓｈ変換は、生成後のデータから元のデータを推定することが不可能であるため、電子透かしの埋め込みに際してＨａｓｈ変換を用いることにより、改ざんを確実に防止することができる。
【０１５６】
可逆圧縮部１１は、図１中に示すＢ処理を行ない、電子透かし埋め込み部９によって電子透かしが埋め込まれた量子化係数に対して可逆変換を施すことにより、電子透かしが埋め込まれた量子化係数を劣化させることなく圧縮する。可逆圧縮部１１で圧縮されたデータは、外部記憶装置６やメモリ７等に保存される。
【０１５７】
画像再生部１２は、外部記憶装置６やメモリ７等に保存されている電子透かしが埋め込まれたＪＰＥＧ２０００圧縮データを読み取るための制御を行なう。
【０１５８】
可逆伸長部１３は、図１中に示すＣ処理を行ない、画像再生部１２で読み取られたＪＰＥＧ２０００圧縮データを使用して、可逆圧縮部１０の変換処理に対応する逆変換を行なうによって量子化係数を可逆的に復元する。可逆伸長部１３で伸長した量子化係数は、メモリ７に格納される。
【０１５９】
電子透かし解読部１４は、図１中Ｃ処理とＤ処理との間に相当する箇所で、可逆伸長部１３によって復元されてメモリ７に格納されている量子化係数を使用して、電子透かしが埋め込まれた画像データの中の電子透かしが解読可能かどうかで、画像の改ざんの有無を判断する。詳細は後述するが、電子透かし解読部１４は、メモリ７に格納されている量子化係数をＨａｓｈ変換部で乱数化して埋め込まれた電子透かしを解読する。電子透かし解読部１４において電子透かしが解読できない場合、解読できないブロック位置をメモリ７に記憶する。
【０１６０】
上述したＨａｓｈ変換部１０は、電子透かし解読部１４における暗号の解読に際して、図１に示すＪＰＥＧ２０００処理内の量子化係数に対してＨａｓｈ変換を施して乱数化する。
【０１６１】
非可逆伸長部１５は、図１中に示すＤ処理を行ない、電子透かし解読部１４による改ざん検出結果に基づいて、非可逆圧縮部８の変換処理に対応する逆変換を行なうことにより画像を復元する。
【０１６２】
改ざん表示制御部１６は、後述する改ざん検出に際して、電子透かしが解読できないブロックがある場合、復元した画像データとメモリ７に記憶されたブロック位置情報とに基づいて、記憶したブロック位置の画像が黒色で塗り潰されて表示されるような画像データを展開する。
【０１６３】
次に、電子透かしの埋め込みに際して画像管理装置１が行なう動作について図７を参照して説明する。図７の処理は、画像撮影部３による画像撮影時に実行される。画像撮影部３による画像撮影に先立って、操作者は、操作入力部４において入力秘密キーを操作することにより秘密情報を入力する。ここに、秘密情報入力手段としての機能が実現される。秘密情報としては、例えば、操作者が任意に設定可能であって英数字によって構成される複数桁の暗証番号等がある。
【０１６４】
電子透かしの埋め込みに際しては、まず、操作入力部４における入力秘密キーの操作により入力された入力情報をメモリ７に保存し（ステップＳ１）、撮影された被写体の画像を多値画像で読み取りメモリ７に記憶する（Ｓ２）。
【０１６５】
続いて、メモリ７に記憶された多値画像に色変換を施し、非可逆圧縮部８によって、ウェーブレット変換を施して量子化する（Ｓ３）。本実施の形態では、ステップＳ３における処理を「ＪＰＥＧ２０００（図７中、ＪＰ２と記載）圧縮プロセス１」とし、このＪＰＥＧ２０００圧縮プロセス１によって量子化手段および量子化機能が実現される。
【０１６６】
次に、ＪＰＥＧ２０００圧縮プロセス１で量子化された量子化係数をｎ×ｎの大きさのブロックＢＬに分割する（Ｓ４）。ここに、ブロック分割手段およびブロック分割機能が実現される。このとき、隣り合うブロックＢＬ同士は、図８（ａ）に示すようにそれぞれ独立に分離していてもよいし、図８（ｂ）に示すようにそれぞれの一部を重ねあわせられていてもよい。また、このとき、ステップＳ３での量子化の際のタイルと同じ大きさにブロック分割しても、異なる大きさにブロック分割してもよい。
【０１６７】
続いて、分割したブロックにおける量子化係数対する処理において乱数を発生させる種となるデータ（シードデータ）を初期化する（Ｓ５）。このように、シードデータを初期化することにより、後述する改ざん検出に際して、改ざんが検出された場合に、該改ざん場所をブロック単位で特定することができる。
【０１６８】
さらに、メモリ７を参照して、メモリ７に記憶されている入力情報（秘密情報）、画像管理装置１の製造番号に基づく情報、あるいは、マイクロコンピュータの計時機能によって取得される日付情報等に基づいて、Ｈａｓｈ変換部１０によって新しいＨａｓｈ値（符号化ハッシュ値）を取得する（Ｓ６）。ここに、ハッシュ変換手段およびハッシュ変換機能が実現される。
【０１６９】
なお、ステップＳ６で取得するＨａｓｈ値は、入力情報、画像管理装置１の製造番号に限るものではなく、既に取得したＨａｓｈ値やステップＳ３で生成した量子化係数を用いてもよい。また、ステップＳ６で取得するＨａｓｈ値は、メモリに記憶されている入力情報、画像管理装置１の製造番号、日付、既に取得したＨａｓｈ値やステップＳ３で生成した量子化係数等を単独で使用してもよいし、複数を組み合せて使用してもよい。改ざんを防止するためにはより多くのデータを用いてＨａｓｈ値を取得する方がよい。
【０１７０】
本実施の形態では、Ｈａｓｈ変換に際して、量子化係数に加えて、入力情報（秘密情報）、画像管理装置１の製造番号、日付等をＨａｓｈ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【０１７１】
このとき、入力情報（秘密情報）、画像管理装置１の製造番号に基づく情報、日付情報、既に取得したＨａｓｈ値やステップＳ３で生成した量子化係数等の各種情報から、例えば、操作入力部４の操作によって任意の情報を選択し、処理対象となる量子化係数に加えて、選択した任意の情報を種としてＨａｓｈ変換を行なうようにしてもよい。ここに、選択手段および選択機能が実現される。Ｈａｓｈ変換の種となる引数を選択可能とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０１７２】
そして、隣り合うブロックＢＬと重なっていない位置であるか否かを判断することにより変更可能領域であるか否かを判断する（Ｓ７）。ステップＳ７では、例えば、図８（ａ）に示すようにそれぞれ独立に分離したブロックＢＬに分割されている場合、分割された隣り合う全てのブロックＢＬ同士が重ならないので、太線で囲まれた範囲、すなわち、全てが変更可能領域ＢＬ’であると判断し、図８（ｂ）に示すようにそれぞれの一部を重ねあわせてブロック分割されている場合、太線で囲む範囲内を変更可能領域ＢＬ’であると判断する。
【０１７３】
変更可能領域ＢＬ’であると判断した場合には（Ｓ７のＹ）、変更可能領域内の処理対象となる量子化係数の偶奇性をステップＳ６で取得したＨａｓｈ値の偶奇性に合わせる（Ｓ８）。ここに、電子透かし埋め込み手段および電子透かし埋め込み機能が実現される。
【０１７４】
ステップＳ８では、例えば、元の量子化係数が図９（ａ）に示すように並んでおり、このブロックＢＬのＨａｓｈ値が奇数である場合、処理対象となる量子化係数Ｑｋも奇数になるように、該量子化係数Ｑｋに「＋１」または「−１」して、量子化係数の値を変更し、図９（ｂ）に示すように処理対象となる量子化係数Ｑｋが奇数になるように設定する。
【０１７５】
本実施の形態では、ステップＳ８において、処理対象となる量子化係数が属するブロックＢＬのＨａｓｈ値が偶数で処理対象となる量子化係数が奇数である場合にはこの量子化係数に＋１し、ブロックＢＬのＨａｓｈ値が奇数で処理対象となる量子化係数が偶数である場合にはこの量子化係数に−１することで偶奇性を合わせて、電子透かしを埋め込む。
【０１７６】
例えば、処理対象となる量子化係数の値が「１０」であり、この量子化係数が属するブロックＢＬのＨａｓｈ値が偶数であると、量子化係数を変更する必要はないが、処理対象となる量子化係数の値が「１０」であり、この量子化係数が属するブロックＢＬのＨａｓｈ値が奇数であると−１して「９」（奇数）にすることによって、電子透かしを埋め込む。
【０１７７】
また、例えば、既に電子透かしが埋め込まれた「９」の値を有する量子化係数に対してさらに電子透かしを埋め込む場合、新たなＨａｓｈ値が奇数であるならばこの量子化係数を変更する必要はなく「９」のままとし、新たなＨａｓｈ値が偶数であるならば上述した方式にしたがい＋１して「１０」（偶数）とする。これによって、一旦電子透かしが埋め込まれた量子化係数に対してさらに電子透かしが埋め込まれる。
【０１７８】
なお、ＪＰＥＧ２０００圧縮プロセス１で量子化された量子化係数（元データ）に＋１または−１する、または、変更を加えずにそのまま後段の処理に用いる確率は、元データとステップＳ６で取得するＨａｓｈ値との関連性がなく互いに独立している場合には、当然５０％となる。
【０１７９】
このような方式にしたがって電子透かしを埋め込むことにより、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ（偶奇性を合わせた）量子化係数が元の量子化係数に対して＋１または−１より大きく変化することがない、すなわち、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ（偶奇性を合わせた）量子化係数が元の量子化係数は「９」または「１０」のみを取り得る。
【０１８０】
本実施の形態では、処理対象となる量子化係数が属するブロックＢＬのＨａｓｈ値が偶数で処理対象となる量子化係数が奇数である場合にはこの量子化係数に＋１し、ブロックＢＬのＨａｓｈ値が奇数で処理対象となる量子化係数が偶数である場合にはこの量子化係数に−１することで偶奇性を合わせる第１の方式と、処理対象となる量子化係数が属するブロックＢＬのＨａｓｈ値が奇数で処理対象となる量子化係数が偶数である場合にはこの量子化係数に＋１し、ブロックＢＬのＨａｓｈ値が偶数で処理対象となる量子化係数が奇数である場合にはこの量子化係数に−１することで偶奇性を合わせる第２の方式と、のいずれか一方を切替自在に設定することができる。第１の方式または第２の方式の設定は、画像管理装置１の製造時（出荷前）に選択的に切り替えて設定してもよいし、操作入力部４の操作によって適宜切り替え可能にしてもよい。ここに、方式設定手段および方式設定機能が実現される。
【０１８１】
また、第１の方式または第２の方式の設定は、例えば、ステップＳ６で取得したハッシュ値と処理対象となる量子化係数の画像中での座標値とに基づき、ハッシュ値と座標値との積が偶数であるか奇数であるかに応じて、第１の方式または第２の方式のいずれか一方を切替自在に設定するようにしてもよい。このように、ハッシュ値と座標値との積が偶数であるか奇数であるかに応じて、第１の方式または第２の方式のいずれか一方を切替自在に設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０１８２】
さらに、第１の方式または第２の方式の設定は、例えば、操作入力部４の操作によって数値により構成される秘密情報が入力された場合には、ステップＳ６で取得したハッシュ値と操作入力部４の操作によって入力された秘密情報とに基づき、ハッシュ値と秘密情報との積が偶数であるか奇数であるかに応じて、第１の方式または第２の方式のいずれか一方を切替自在に設定するようにしてもよい。このように、操作入力部４の操作によって秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０１８３】
第１または第２の方式のいずれにしても、偶奇性を合わせる方式を上述したように設定して、＋１または−１する条件を設定することにより、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ後の量子化係数が元の量子化係数に対して＋１または−１より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０１８４】
なお、図９に示す例では、透かしを埋め込むかどうか注目しているＱｋの量子化係数の存在位置は、隣り合う量子化係数Ｑｋ−１に対する変化が激しいエッジ部に相当している。
【０１８５】
ステップＳ７で、注目している量子化係数Ｑｋの位置が変更可能領域から外れていれば（Ｓ７のＮ）、透かし入れの処理は行なわず、元の量子化係数のままステップＳ９に進む。
【０１８６】
処理対象となる全ての量子化係数に対する電子透かし入れが終了したか否かを判断し（Ｓ９）、処理対象となる全ての量子化係数に対する電子透かし入れが終了していない場合には（Ｓ９のＮ）、ステップＳ６に進み、次の量子化係数に対してステップＳ６からステップＳ８までの処理を行なう。
【０１８７】
処理対象とするブロックＢＬ内の全ての量子化係数に対する電子透かし入れが終了したと判断した場合には（Ｓ９のＹ）、全てのブロックＢＬに対して電子透かし入れが終了したか否かを判断する（Ｓ１０）。
【０１８８】
全てのブロックＢＬに対して電子透かし入れが終了したと判断した場合には（Ｓ１０のＹ）、可逆圧縮部１１によって、電子透かし入れが終了した量子化係数に対して可逆圧縮変換を施して符号列データを生成して（Ｓ１１）、生成した符号列データを外部記憶装置６またはメモリ７に保存する。なお、本実施の形態では、ステップＳ１１の処理を「ＪＰＥＧ２０００（図７中、ＪＰ２と記載）圧縮プロセス２」とし、このＪＰＥＧ２０００圧縮プロセス２によって符号化手段および符号化機能が実現される。これによって、メモリ７または外部記憶装置６には、電子透かしが埋め込まれた符号列データが保存される。
【０１８９】
次に、電子透かしが埋め込まれた符号列データの改ざん検出に際して画像管理装置１が行なう動作について図１０を参照して説明する。図１０の処理は、画像再生部１２による画像再生時に実行される。画像再生部１２による画像再生に先立って、操作者は、操作入力部４を操作することにより秘密情報を入力する。このときに入力する秘密情報は、解読したいデータの符号化に際して入力した秘密情報である。
【０１９０】
電子透かしが埋め込まれた符号列データの改ざん検出に際しては、まず、操作入力部４における入力秘密キーの操作により入力された入力情報をメモリ７に保存し（ステップＳ２１）、外部記憶装置６またはメモリ７に記憶されたＪＰＥＧ２０００圧縮データ（符号列データ）を画像再生部１２によって再生する（Ｓ２２）。
【０１９１】
続いて、画像再生部１２によって再生した多値画像の符号列データに対して色空間逆変換を施し、可逆伸長部１３によって、符号列データを量子化する（Ｓ２３）。本実施の形態では、ステップＳ２３における処理を「ＪＰＥＧ２０００（図１０中、ＪＰ２と記載）伸長プロセス１」とし、このＪＰＥＧ２０００伸長プロセス１によって復号化手段および復号化機能が実現される。
【０１９２】
ＪＰＥＧ２０００伸長プロセス１で量子化された量子化係数をｎ×ｎの大きさのブロックＢＬに分割する（Ｓ２４）。ここに、復号ブロック分割手段および復号ブロック分割機能が実現される。このとき、隣り合うブロックＢＬ同士は、図８（ａ）に示すようにそれぞれ独立に分離していてもよいし、図８（ｂ）に示すようにそれぞれの一部を重ねあわせられていてもよい。また、このとき、ステップＳ２３での量子化の際のタイルと同じ大きさにブロック分割しても、異なる大きさにブロック分割してもよい。
【０１９３】
続いて、分割したブロックにおける量子化係数対する処理において乱数を発生させる種となるデータ（シードデータ）を初期化する（Ｓ２５）。このように、シードデータを初期化することにより、元データに対する改ざんが検出された場合に、該改ざん場所をブロック単位で特定することができる。
【０１９４】
さらに、メモリ７を参照して、メモリ７に記憶されている秘密情報、画像管理装置１の製造番号に基づく情報、日付情報等に基づいて新しいＨａｓｈ値（復号化ハッシュ値）を取得する（Ｓ２６）。ここに、復号ハッシュ変換手段および復号ハッシュ変換機能が実現される。なお、ステップＳ２６で取得するＨａｓｈ値は、入力情報、画像管理装置１の製造番号に限るものではなく、既に取得したＨａｓｈ値やステップＳ２３で生成した量子化係数を用いてもよい。また、ステップＳ６で取得するハッシュ値は、メモリ７に記憶されている秘密情報、画像管理装置１の製造番号に基づく情報、日付情報、既に取得したＨａｓｈ値やステップＳ２３で生成した量子化係数等を単独で使用してもよいし、複数を使用してもよい。改ざんを防止するためにはより多くのデータを用いてＨａｓｈ値を取得する方がよい。
【０１９５】
そして、隣り合うブロックＢＬと重なっていない位置であるか否かを判断することにより変更可能領域であるか否かを判断する（Ｓ２７）。例えば、図８（ａ）に示すようにそれぞれ独立に分離してブロック分割されている場合、分割された隣り合う全てのブロックＢＬ同士が重ならないので、全てを変更可能領域であると判断し、図８（ｂ）に示すようにそれぞれの一部を重ねあわせてブロック分割されている場合、太線で囲む範囲内を変更可能領域であると判断する。
【０１９６】
変更可能領域であると判断した場合には（Ｓ２７のＹ）、該変更可能領域内の処理対象箇所の量子化係数の偶奇性が、ステップＳ２６で取得したＨａｓｈ値の偶奇性と同じであるか否かを判断する（Ｓ２８）。ここに、改ざん検出手段および改ざん検出機能が実現される。
【０１９７】
変更可能領域内の処理対象箇所の量子化係数の偶奇性が、ステップＳ２６で取得したＨａｓｈ値の偶奇性と異なると判断した場合（Ｓ２８のＹ）、この処理対象箇所に改ざんがあったと判断してこのブロック位置をメモリ７に記憶する（Ｓ２９）。ここに、改ざん位置記憶手段が実現される。
【０１９８】
ステップＳ２７で、注目している量子化係数Ｑｋの位置が変更可能領域から外れていれば（Ｓ２７のＮ）、改ざん検出の処理は行なわず、ステップＳ３０に進む。
【０１９９】
処理対象とするブロック内の全ての量子化係数に対する改ざん検出が終了したか否かを判断し（Ｓ３０）、処理対象とするブロック内の全ての量子化係数に対する改ざん検出が終了していない場合には（Ｓ３０のＮ）、ステップＳ２６に進み、次の量子化係数に対して電子ステップＳ２６からステップＳ２９までの処理を行なう。
【０２００】
なお、本実施の形態では、ステップＳ２８において改ざんがあったと判断した場合に、このブロックＢＬの他の量子化係数に対しても改ざん検出を行なうようにしたが、これに限るものではなく、単一のブロックＢＬ内のいずれかの量子化係数について改ざんがあったと判断した場合、このブロックＢＬ内の他の量子化係数についての改ざん検出を行なわず次のブロックＢＬについての改ざん検出に移行するようにしてもよい。これにより、改ざん検出処理の負担を軽減することができる。
【０２０１】
処理対象とするブロックＢＬ内の全ての量子化係数に対する改ざん検出が終了したと判断した場合には（Ｓ３０のＹ）、全てのブロックＢＬに対して改ざん検出が終了したか否かを判断する（Ｓ３１）。
【０２０２】
全てのブロックＢＬに対して改ざん検出が終了したと判断した場合には（Ｓ３１のＹ）、非可逆伸長部１５によって、改ざん検出が終了した量子化係数に対して非可逆圧縮変換を施して画像データを生成する（Ｓ３２）。なお、本実施の形態では、ステップＳ３２の処理を「ＪＰＥＧ２０００（図１０中、ＪＰ２と記載）伸長プロセス２」とし、このＪＰＥＧ２０００伸長プロセス２によって画像生成手段および画像生成機能が実現される。
【０２０３】
そして、ＪＰＥＧ２０００伸長プロセス２で生成した画像データとステップＳ２９で記憶した改ざんブロック位置とに基づいて、改ざんブロック位置が黒色で塗り潰された画像を表示部５に表示する（Ｓ３３）。ここに、強調表示手段および強調機能が実行される。
【０２０４】
ステップＳ３３では、表示部５に配列されたＲＧＢの各色の入力端子のうち、改ざんブロック位置に相当する一の入力端子の明るさを最小にすることで、改ざんブロック位置の画像を黒色で表示する。
【０２０５】
このように、改ざんされたブロック位置を強調して表示部５に表示させることにより、改ざん場所を視覚することができる。また、改ざんブロック位置を単色で表示させることにより、実用上、容易な処理で改ざん場所を視覚させることができる。
【０２０６】
なお、本実施の形態では、ステップＳ３３において、改ざんブロック位置が黒色で塗り潰された画像を表示部５に表示させるようにしたが、これに限るものではなく、例えば、改ざんブロック位置の表示色が反転された画像や、改ざんブロック位置が白色や赤色等単色で塗り潰された画像を表示部５に表示させるようにしてもよい。
【０２０７】
これによって、改ざんがある場合には、不自然な画像として表示されるので、改ざんの有無と改ざんされた位置とを視認することができる。
【０２０８】
また、このような改ざん検出の機能を予めユーザに通知しておくことにより、良識のあるユーザに対しての改ざん抑止効果を期待することができる。
【０２０９】
本実施の形態によれば、量子化係数に電子透かしを埋め込むことにより、画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうことにより、改ざん位置をブロック単位で検出することができる。
【０２１０】
このとき、隣り合うブロックＢＬが一部重なり合うようにブロック分割することにより、ブロック単位の置き換えでも改ざんとして検出することができるので、より高い精度で改ざんを検出することができる。
【０２１１】
なお、ブロック分割に際しては、隣り合うブロックＢＬが一部重なり合うように重なり量を調整自在としたり、また、隣り合うブロックＢＬを一部重なり合うようにしてもしなくても分割するブロックＢＬの大きさを調整自在としたりすることにより、電子透かしの埋め込みにおける処理やブロック単位の置き換えを改ざんとして検出する処理における処理量や処理速度等を調整することができる。
【０２１２】
次に、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同一部分は同一符号で示し、説明も省略する。以下、同様とする。
【０２１３】
特に図示しないが、本実施の形態の画像管理装置１は、図７に示すステップＳ８における処理が第１の実施の形態とは異なる。
【０２１４】
本実施の形態の画像管理装置１は、図７に示すステップＳ８に相当する処理として、量子化した量子化係数をビットプレーン単位に分解し、ビットプレーン毎に２値画像として偶奇性を合わせる。この処理においては、例えば、量子化係数の下位桁に電子透かしデータを埋め込む場合、切り捨てられるビットプレーンの量子化係数は使用せずに、そのすぐ上の桁を対象とする。
【０２１５】
これにより、後段のエントロピー符号化処理内では、ビットプレーン毎に処理が独立して行われるため、他のビットプレーンの切り捨て処理があった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【０２１６】
このとき、処理対象となる量子化係数をビット表現し、ビット表現した量子化係数を上位ビットから下位ビット方向に符号化する場合に注目する係数値が０でないことが解っている有意であるビットに対して、偶奇性を合わせ電子透かしを埋め込むことにより、後段のエントロピー符号化処理内で、下位ビット切り捨て処理がある場合にも、下位ビットの切り捨てによる影響を受けることがない。
【０２１７】
なお、本実施の形態では。「有意である」状態に対し、「有意でない」状態とは、注目する係数値が０であるまたは０である可能性がある状態をいい、１であるビットをまだ符号化していない状態をいう。
【０２１８】
次に、本発明の第３の実施の形態について説明する。
【０２１９】
特に図示しないが、本実施の形態の画像管理装置１は、図７に示すステップＳ８における処理が第１の実施の形態とは異なる。
【０２２０】
本実施の形態の画像管理装置１は、図７に示すステップＳ８に相当する処理として、処理対象となる量子化係数をビットプレーン単位に分解し、上位のビットプレーンから下位のビットプレーン方向へ符号化を行なう。このとき、ＯＦＦビットをＯＮにする場合には、処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＦＦにし、また、ＯＮビットをＯＦＦにする場合には、処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをＯＮにする。なお、本実施の形態では、ＯＮビットを１としＯＦＦビットを０とする。
【０２２１】
これによって、ビットプレーンの上位から下位方向への符号化においてビットのＯＮ／ＯＦＦを均等に行なって、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２２２】
次に、本発明の第４の実施の形態について図１１および図１２を参照して説明する。
【０２２３】
図１１は、本実施の形態の画像管理装置１による電子透かしの埋め込みに際して画像管理装置１が行なう動作について概略的に説明するフローチャートである。
【０２２４】
本実施の形態では、図１１に示すように、ステップＳ７で、変更可能領域であると判断した場合には、変更可能領域内の処理対象箇所が間引き対象箇所であるか否かを判断する（Ｓ１５）。ここに、量子化係数選択手段および量子化係数選択機能が実現される。
【０２２５】
変更可能領域内の処理対象箇所が間引き対象箇所であると判断した場合には（Ｓ１５のＹ）、ステップＳ８に進み、処理対象となっているブロックＢＬの量子化係数の偶奇性をステップＳ６で取得したＨａｓｈ値の偶奇性に合わせる。
【０２２６】
ステップＳ１５では、例えば、処理対象箇所が予め設定された間引き対象箇所であるか否かを判断したり、隣り合う量子化係数との差が予め設定された値よりも大きいか否か等を判断したりすることによって、変更可能領域内の処理対象箇所が間引き対象箇所であるか否かを判断する。
【０２２７】
一方、変更可能領域内の処理対象箇所が間引き対象箇所ではないと判断した場合には（Ｓ１５のＮ）、ステップＳ９に進む。
【０２２８】
図１２は、電子透かしが埋め込まれた符号列データの改ざん検出に際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【０２２９】
本実施の形態では、図１２に示すように、変更可能領域であると判断した場合には（Ｓ２７のＹ）、変更可能領域内の処理対象となる量子化係数が間引き対象となっているか否かを判断し（Ｓ３５）、変更可能領域内の処理対象となる量子化係数が間引き対象となっていると判断した場合には（Ｓ３５のＹ）、ステップＳ２８に進み、ステップＳ２６で取得したＨａｓｈ値の偶奇性と同じであるか否かを判断する。
【０２３０】
一方、変更可能領域内の処理対象となる量子化係数が間引き対象ではないと判断した場合には（Ｓ３５のＮ）、ステップＳ３０に進む。
【０２３１】
本実施の形態によれば、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２３２】
このとき、図９に示す例にように、量子化係数Ｑｋ−１に対する変化が激しい（急激に変化する）、すなわち、エッジ部に相当するＱｋの量子化係数を、処理対象として選択することにより、全ての量子化係数に電子透かしを埋め込む場合と比較して画質劣化を抑えるとともに、電子透かしを埋め込むことによる画質劣化を目立ち難くして、電子透かしを埋め込むことによる画質劣化を効果的に抑えることができる。
【０２３３】
また、単一のブロックＢＬにおいて、処理対象として選択する量子化係数の選択頻度を調整可能とすることにより、電子透かしの埋め込みにおける処理における処理量や処理速度等を調整することができる。
【０２３４】
【発明の効果】
請求項１記載の発明の符号生成装置によれば、量子化係数に電子透かしを埋め込むため画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうため、例えば、請求項２１記載の画像処理装置を用いて改ざん検出を行なうことにより、改ざん位置をブロック単位で検出することができる。
【０２３５】
請求項２記載の発明によれば、請求項１記載の符号生成装置において、量子化係数に加えて秘密情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【０２３６】
請求項３記載の発明によれば、請求項１記載の符号生成装置において、量子化係数に加えて日付情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【０２３７】
請求項４記載の発明によれば、請求項１記載の符号生成装置において、量子化係数に加えて製造番号に基づく情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【０２３８】
請求項５記載の発明によれば、請求項１記載の符号生成装置において、各ブロックの量子化係数に加えて、秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０２３９】
請求項６記載の発明によれば、請求項５記載の符号生成装置において、例えば、ユーザ等が選択した任意の情報をハッシュ変換の種とすることができ、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０２４０】
請求項７記載の発明によれば、請求項１ないし６のいずれか一に記載の符号生成装置において、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ量子化係数が、元の量子化係数に対して＋１または−１より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２４１】
請求項８記載の発明によれば、請求項７記載の符号生成装置において、第１の方式または第２の方式を切替自在に設定することができる。
【０２４２】
請求項９記載の発明によれば、請求項８記載の符号生成装置において、符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０２４３】
請求項１０記載の発明によれば、請求項８記載の符号生成装置において、秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０２４４】
請求項１１記載の発明によれば、請求項１ないし１０のいずれか一に記載の符号生成装置において、例えば、請求項２０記載の画像処理装置を用いて改ざん検出を行なうことにより、ブロック単位での画像の置き換えも改ざんとして検出することができる。
【０２４５】
請求項１２記載の発明によれば、請求項１１記載の符号生成装置において、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【０２４６】
請求項１３記載の発明によれば、請求項１ないし１２のいずれか一に記載の符号生成装置において、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【０２４７】
請求項１４記載の発明によれば、請求項１ないし１３のいずれか一に記載の符号生成装置において、ビットプレーン毎に処理が独立しているため、後段の符号化に際して他のビットプレーンの切り捨てがあった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【０２４８】
請求項１５記載の発明によれば、請求項１４記載の符号生成装置において、有意となるビットのみを偶奇性合わせの対象とすることにより、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２４９】
請求項１６記載の発明によれば、請求項１４または１５記載の符号生成装置において、ビットプレーンの上位から下位方向への符号化においてビットのＯＮ／ＯＦＦを均等に行ない、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２５０】
請求項１７記載の発明によれば、請求項１ないし１６のいずれか一に記載の符号生成装置において、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２５１】
請求項１８記載の発明によれば、請求項１７記載の符号生成装置において、隣り合う量子化係数との差がしきい値以上である、すなわち、隣り合う量子化係数に対して変化の激しい量子化係数における有意ビットをＯＮ／ＯＦＦすることにより、電子透かしを埋め込むことによる画質劣化をより効果的に抑えることができる。
【０２５２】
請求項１９記載の発明によれば、請求項１７または１８記載の符号生成装置において、例えば、目的とする画質程度等に応じた頻度で量子化係数を取得することにより、電子透かしを埋め込むことによる画質劣化の程度を管理することができる。
【０２５３】
請求項２０記載の発明によれば、請求項１ないし１９のいずれか一に記載の符号生成装置において、例えば、デジタルカメラやスキャナ等の入力手段を用いて入力した画像に電子透かしを埋め込むことができる。
【０２５４】
請求項２１記載の発明の画像処理装置によれば、請求項１ないし２０のいずれか一に記載の符号生成装置で生成した符号列データに対する改ざんの有無をブロック単位で検出することができる。
【０２５５】
請求項２２記載の発明によれば、請求項２１記載の画像処理装置において、改ざんがある場合、改ざんがあるとして記憶したブロック位置の画像を単色で表示させたり、反転表示させたりすることによって、改ざんされた位置をブロック単位で視認させることができる。
【０２５６】
請求項２３記載の発明の符号生成プログラムによれば、量子化係数に電子透かしを埋め込むため画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうため、例えば、請求項４２記載の発明の画像処理プログラムを実行して改ざん検出を行なうことにより、改ざん位置をブロック単位で検出することができる。
【０２５７】
請求項２４記載の発明によれば、請求項２３記載の符号生成プログラムにおいて、量子化係数に加えて秘密情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【０２５８】
請求項２５記載の発明によれば、請求項２３記載の符号生成プログラムにおいて、量子化係数に加えて日付情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【０２５９】
請求項２６記載の発明によれば、請求項２３記載の符号生成プログラムにおいて、量子化係数に加えて製造番号に基づく情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【０２６０】
請求項２７記載の発明によれば、請求項２３記載の符号生成プログラムにおいて、各ブロックの量子化係数に加えて、秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０２６１】
請求項２８記載の発明によれば、請求項２７記載の符号生成プログラムにおいて、例えば、ユーザ等が選択した任意の情報をハッシュ変換の種とすることができ、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０２６２】
請求項２９記載の発明によれば、請求項２３ないし２８のいずれか一に記載の符号生成プログラムにおいて、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ量子化係数が、元の量子化係数に対して＋１または−１より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２６３】
請求項３０記載の発明によれば、請求項２９記載の符号生成プログラムにおいて、第１の方式または第２の方式を切替自在に設定することができる。
【０２６４】
請求項３１記載の発明によれば、請求項３０記載の符号生成プログラムにおいて、符号化ハッシュ値と処理対象となる量子化係数の画像中での座標値とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０２６５】
請求項３２記載の発明は、請求項３０記載の符号生成プログラムにおいて、秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第１の方式または第２の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【０２６６】
請求項３３記載の発明によれば、請求項２３ないし３２のいずれか一に記載の符号生成プログラムにおいて、例えば、請求項４２記載の発明の画像処理プログラムを実行して改ざん検出を行なうことにより、ブロック単位での画像の置き換えも改ざんとして検出することができる。
【０２６７】
請求項３４記載の発明によれば、請求項３３記載の符号生成プログラムにおいて、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【０２６８】
請求項３５記載の発明によれば、請求項２３ないし３４のいずれか一に記載の符号生成プログラムにおいて、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【０２６９】
請求項３６記載の発明によれば、請求項２３ないし３５のいずれか一に記載の符号生成プログラムにおいて、ビットプレーン毎に処理が独立しているため、後段の符号化に際して他のビットプレーンの切り捨てがあった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【０２７０】
請求項３７記載の発明によれば、請求項３６記載の符号生成プログラムにおいて、有意となるビットのみを偶奇性合わせの対象とすることにより、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２７１】
請求項３８記載の発明によれば、請求項３６または３７記載の符号生成プログラムにおいて、ビットプレーンの上位から下位方向への符号化においてビットのＯＮ／ＯＦＦを均等に行ない、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２７２】
請求項３９記載の発明によれば、請求項２３ないし３８のいずれか一に記載の符号生成プログラムにおいて、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【０２７３】
請求項４０記載の発明によれば、請求項３９記載の符号生成プログラムにおいて、隣り合う量子化係数との差がしきい値以上である、すなわち、隣り合う量子化係数に対して変化の激しい量子化係数における有意ビットをＯＮ／ＯＦＦすることにより、電子透かしを埋め込むことによる画質劣化をより効果的に抑えることができる。
【０２７４】
請求項４１記載の発明によれば、請求項３９または４０記載の符号生成プログラムにおいて、例えば、目的とする画質程度等に応じた頻度で量子化係数を取得することにより、電子透かしを埋め込むことによる画質劣化の程度を管理することができる。
【０２７５】
請求項４２記載の発明の画像処理プログラムによれば、請求項２３ないし４１のいずれか一に記載の符号生成プログラムを実行することにより生成した符号列データに対する改ざんの有無をブロック単位で検出することができる。
【０２７６】
請求項４３記載の発明によれば、請求項４２記載の発明の画像処理プログラムにおいて、改ざんがある場合、改ざんされた位置をブロック単位で視認させることができる。
【０２７７】
請求項４４記載の発明の記憶媒体によれば、請求項２３ないし４１のいずれか一記載の発明の効果を得ることができる。
【０２７８】
請求項４５記載の発明の記憶媒体によれば、請求項４２または４３記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図１】ＪＰＥＧ２０００方式の基本となる階層符号化および復号化アルゴリズムを示す説明図である。
【図２】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図３】デコンポジションレベル数が３の場合の、各デコンポジションレベルにおけるサブバンドを示す説明図である。
【図４】プリシンクトを示す説明図である。
【図５】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図６】本発明の第１の実施の形態の画像処理装置の構成を概略的に説明するブロック図である。
【図７】電子透かしの埋め込みに際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【図８】ブロック分割を示す説明図である。
【図９】量子化係数の偶奇性調整を示す説明図である。
【図１０】電子透かしが埋め込まれた符号列データの改ざん検出に際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【図１１】本発明の第４の実施の形態の画像処理装置による電子透かしの埋め込みに際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【図１２】電子透かしが埋め込まれた符号列データの改ざん検出に際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【符号の説明】
１      符号生成装置、画像処理装置
３      画像入力手段
５      表示部
１８      記憶媒体
【図１】
2004165778.tif 000003
【図２】
2004165778.tif 000004
【図３】
2004165778.tif 000005
【図４】
2004165778.tif 000006
【図５】
2004165778.tif 000007
【図６】
2004165778.tif 000008
【図７】
2004165778.tif 000009
【図８】
2004165778.tif 000010
【図９】
2004165778.tif 000011
【図１０】
2004165778.tif 000012
【図１１】
2004165778.tif 000013
【図１２】
2004165778.tif 000014