JP3960597B2 - 符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体 - Google Patents
符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体 Download PDFInfo
- Publication number
- JP3960597B2 JP3960597B2 JP2002326544A JP2002326544A JP3960597B2 JP 3960597 B2 JP3960597 B2 JP 3960597B2 JP 2002326544 A JP2002326544 A JP 2002326544A JP 2002326544 A JP2002326544 A JP 2002326544A JP 3960597 B2 JP3960597 B2 JP 3960597B2
- Authority
- JP
- Japan
- Prior art keywords
- quantization coefficient
- code generation
- image
- coefficient
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 90
- 238000003860 storage Methods 0.000 title claims description 28
- 238000013139 quantization Methods 0.000 claims description 239
- 238000000034 method Methods 0.000 claims description 166
- 238000006243 chemical reaction Methods 0.000 claims description 96
- 230000008569 process Effects 0.000 claims description 45
- 238000001514 detection method Methods 0.000 claims description 29
- 238000004519 manufacturing process Methods 0.000 claims description 25
- 238000000354 decomposition reaction Methods 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 description 66
- 238000007906 compression Methods 0.000 description 44
- 230000006835 compression Effects 0.000 description 35
- 230000006866 deterioration Effects 0.000 description 28
- 238000007726 management method Methods 0.000 description 26
- 230000006837 decompression Effects 0.000 description 22
- 230000004075 alteration Effects 0.000 description 17
- 230000002441 reversible effect Effects 0.000 description 17
- 230000002427 irreversible effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 230000002265 prevention Effects 0.000 description 4
- 230000000593 degrading effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 241000872198 Serjania polyphylla Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
- G06T1/0057—Compression invariant watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32154—Transform domain methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32154—Transform domain methods
- H04N1/3217—Transform domain methods using wavelet transforms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32267—Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
- H04N1/32277—Compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32267—Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
- H04N1/32283—Hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0051—Embedding of the watermark in the spatial domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0052—Embedding of the watermark in the frequency domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0061—Embedding of the watermark in each block of the image, e.g. segmented watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0083—Image watermarking whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious
Description
【発明の属する技術分野】
本発明は、符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体に関する。
【0002】
【従来の技術】
デジタル画像等のデジタル情報(デジタルコンテンツ)は、コンピュータ等によって、情報を劣化させることなく、簡単にコピーすることができる。近年では、デジタル画像技術の発達にしたがって、デジタルカメラ等によって取得されたデジタル画像等を、証拠写真として使用することも可能になってきている。このようなデジタルコンテンツには、著作権等が付され、許可無くコピーしたり、コピーしたデジタルコンテンツを再利用したりすることが禁じられているものがある。
【0003】
ところで、デジタルコンテンツは、簡単な修飾処理等の操作を施して書換え等を行なうことによって、容易に改ざんすることができる。このため、デジタルコンテンツは、不正にコピーされて勝手に再利用されたり、一部が改ざんされて証拠写真に使用出来ないようにされたりすることがある。
【0004】
この対策として、デジタル画像等のデジタルコンテンツ中に該デジタルコンテンツを普通に再生した場合には視覚できない情報を付加する、いわゆる、電子透かしやデータハイディング等と呼ばれる方法によって、デジタルコンテンツの不正利用を防止するようにした技術がある。これにより、デジタルコンテンツが不正に利用されているか否かを、該デジタルコンテンツ中に埋め込まれた電子透かしによって判断することができる。
【0005】
電子透かしをデジタルコンテンツに埋め込む用途には、次のようなものがある。
A.著作権情報の記録
B.違法コピー者情報の追跡
C.IPアドレスの履歴記録
D.違法コピーの防止:不可視・高耐性型
E.改ざん防止への応用:不可視・低耐性型
F.認証
G.秘密通信
H.所有権者表示のためにデジタルコンテンツの注釈やラベルを埋め込む:可視・不可逆型
I.透かし除去可能化:可視・可逆型……コンテンツ配布
【0006】
その中で、例えば、コンテンツ著作者の権利保護を目的とする“E.改ざん防止への応用”を実現する用途としては、次のものが考案されている。
【0007】
例えば、デジタルカメラでの写真の撮影に際して、該デジタルカメラの製造番号や撮影日時等を、撮影されたデジタル画像に透かし込むとともに、電子署名を作成するようにした技術がある。電子署名の作成技術のみで可能であった改ざん検知に加えて電子透かし技術を活用することにより、デジタル画像に対する改ざんの有無を検知するとともに、写真を撮影したデジタルカメラや撮影日時等を特定することができるので、デジタル画像の改ざんをより効果的に抑止することができる(例えば、非特許文献1参照)。
【0008】
デジタルコンテンツ中に電子透かしを埋め込む技術(以降、電子透かし技術という)は、大きく分類して、(1)電子透かしを内容データの標本値に直接埋め込む技術と、(2)電子透かしを周波数成分に埋め込む技術と、の二つに分類することができる。
【0009】
(1)の電子透かしをデータの標本値に埋め込む方法は、デジタルコンテンツに対する加工や圧縮等の処理が軽いが、電子透かしを埋め込んだデジタルコンテンツに対して加工や圧縮等の処理を行なうと、埋め込まれた電子透かしが失われ易いという特性がある。
【0010】
これに対し、(2)の周波数成分に埋め込む方法は、デジタルコンテンツに対して電子透かしを埋め込んだり抽出したりする処理が重いが、電子透かしを埋め込んだデジタルコンテンツに対する加工や圧縮等の処理に強いという特性がある。
【0011】
ところで、モノクロデジタルコピーやFAX、新聞の白黒印刷等においては、白黒の2値画像を利用し、元画像が欠損無く復元できるLoss-Less画像圧縮方式が推奨され、一般化されている。このようなLoss-Less画像圧縮方式としては、例えば、国際電気通信連合(ITU−T)のG3,G4規格等で、MH,MR,MMR等がある。
【0012】
しかし、これらの方式は、中間調処理された画像や誤差拡散処理された画像等における符号化効率が悪く、圧縮できないことも多くある。
【0013】
このような問題を解決する方法としては、画像のエントロピーを基に符号化を行なう算術符号化方式と呼ばれる方式が注目されている。例えば、2値画像の新しい符号化方式の国際標準を検討しているグループのJBIGでは、QM−Coderと呼ばれる算術符号化方式が採用されている。このQM−Coderと呼ばれる算術符号化方式は、ITU−Tの標準として勧告化されている。
【0014】
例えば、デジタルスチルカメラやデジタルビデオカメラ等の、デジタルのカラー画像や濃淡画像等の多値画像を取り扱う製品においては、元画像の細かい情報が失われる等の少しの画質劣化は犠牲にして、保存時の圧縮効果を重要視したLossy圧縮技術を利用することが多くなっている。このようなLossy圧縮技術としては、離散コサイン変換(DCT:Discrete Cosine Transform)による周波数変換を利用したJPEGやMPEG等がある。
【0015】
また、述したJPEGの後継標準として、Lossy符号化方式とLoss-Less符号化方式との統一符号化、および、2値データと多値データとの統一符号化方式として、現在熱い期待が寄せられているJPEG2000がある。JPEG2000では、離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を使用することで高圧縮時の画質劣化を減少させるとともに、MQ−Coderを適用することで高圧縮率化を図ることができる。MQ−Coderは、上述したJBIGのQM−Coderに類似しており、JBIG2にも採用されている算術符号化方式である。
【0016】
【非特許文献1】
電子透かし技術に関する調査報告書1999年3月:日本電子工業振興協会編より(大元:日経ビジネス:電子情報の不正コピー防止,1998年2月23日号pp.68−70(1998))
【0017】
【発明が解決しようとする課題】
ところで、圧縮処理を施した多値画像のデジタルコンテンツに対して電子透かしを埋め込む際に、上述した(1)の方法で電子透かしを埋め込んだ場合、デジタルコンテンツの保存に際して画像圧縮のために符号化処理を施すことにより画質が劣化する。そして、この画質劣化によって、このデジタルコンテンツ中に埋め込んだ電子透かしも劣化してしまう。このため、圧縮のための符号化および伸長のための復号化を繰り返す程、デジタルコンテンツ中に埋め込まれた電子透かしを検知する能力が弱くなる。
【0018】
このようなことから、圧縮処理を施したデジタルコンテンツの保存に際して、デジタルコンテンツに対する改ざん発見(検出)を目的とした電子透かしを埋め込む場合、符号化および復号化を繰り返しても該電子透かしを発見できるように、上述した“(2)圧縮のための符号列データ(周波数成分)に電子透かしを埋め込む方法”を適用するのが適切と言える。
【0019】
本発明の目的は、画像データの符号化、復号化を繰り返しても電子透かしを劣化させることなく、また、改ざん位置をブロック単位で限定して検出することである。
【0020】
【課題を解決するための手段】
請求項1記載の発明の符号生成装置は、画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換して量子化した量子化係数を生成する量子化手段と、前記量子化係数をブロック単位に分割するブロック分割手段と、前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に符号化ハッシュ値を取得するハッシュ変換手段と、処理対象となる前記量子化係数の偶奇性を、この量子化係数が属する前記ブロックの前記符号化ハッシュ値の偶奇性に合わせる電子透かし埋め込み手段と、偶奇性を調整した量子化係数を含む前記量子化係数を符号化して符号列データを生成する符号化手段と、を具備する。
【0021】
したがって、量子化係数に電子透かしを埋め込むため画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうため、例えば、請求項21記載の画像処理装置を用いて改ざん検出を行なうことにより、改ざん位置をブロック単位で検出することができる。
【0022】
請求項2記載の発明は、請求項1記載の符号生成装置において、秘密情報を入力する秘密情報入力手段を具備し、前記ハッシュ変換手段は、前記量子化係数に加えて、前記秘密情報に基づいてハッシュ変換を行なう。
【0023】
したがって、量子化係数に加えて秘密情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0024】
請求項3記載の発明は、請求項1記載の符号生成装置において、日付情報を取得する日付情報取得手段を具備し、前記ハッシュ変換手段は、前記量子化係数に加えて、前記日付情報に基づいてハッシュ変換を行なう。
【0025】
したがって、量子化係数に加えて日付情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0026】
請求項4記載の発明は、請求項1記載の符号生成装置において、装置の製造番号を認識する製造番号認識手段を具備し、前記ハッシュ変換手段は、前記量子化係数に加えて、前記製造番号に基づく情報に基づいてハッシュ変換を行なう。
【0027】
したがって、量子化係数に加えて製造番号に基づく情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0028】
請求項5記載の発明は、請求項1記載の符号生成装置において、秘密入力情報を入力する秘密情報入力手段と、日付情報を取得する日付情報取得手段と、装置の製造番号を認識する製造番号認識手段と、を具備し、前記ハッシュ変換手段は、前記量子化係数に加えて、前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報に基づいてハッシュ変換を行なう。
【0029】
したがって、各ブロックの量子化係数に加えて、秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0030】
請求項6記載の発明は、請求項5記載の符号生成装置において、前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報を選択する選択手段を具備し、前記ハッシュ変換手段は、前記選択手段が選択した情報に基づいてハッシュ変換を行なう。
【0031】
したがって、例えば、ユーザ等が選択した任意の情報をハッシュ変換の種とすることができ、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0032】
請求項7記載の発明は、請求項1ないし6のいずれか一に記載の符号生成装置において、前記電子透かし埋め込み手段は、前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に+1して前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に−1する第1の方式、または、前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に+1して前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に−1する第2の方式のいずれかの方式により偶奇性を合わせる。
【0033】
したがって、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ量子化係数が元の量子化係数に対して+1または−1より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0034】
請求項8記載の発明は、請求項7記載の符号生成装置において、前記第1の方式と前記第2の方式とのいずれか一方を切替自在に設定する方式設定手段を具備し、前記電子透かし埋め込み手段は、前記方式設定手段が設定した方式にしたがって偶奇性を合わせる。
【0035】
したがって、第1の方式または第2の方式を切替自在に設定することができる。
【0036】
請求項9記載の発明は、請求項8記載の符号生成装置において、前記方式設定手段は、前記符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて、前記第1の方式または前記第2の方式を設定する。
【0037】
したがって、符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0038】
請求項10記載の発明は、請求項8記載の符号生成装置において、前記方式設定手段は、前記符号化ハッシュ値と秘密情報を入力する秘密情報入力手段が入力した前記秘密情報とに基づいて、前記第1の方式または前記第2の方式を設定する。
【0039】
したがって、秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0040】
請求項11記載の発明は、請求項1ないし10のいずれか一に記載の符号生成装置において、前記ブロック分割手段は、前記量子化係数を、隣り合う前記ブロックが一部重なり合うようにして分割する。
【0041】
したがって、例えば、請求項21記載の画像処理装置を用いて改ざん検出を行なうことにより、ブロック単位での画像の置き換えも改ざんとして検出することができる。
【0042】
請求項12記載の発明は、請求項11記載の符号生成装置において、前記ブロック分割手段は、隣り合う前記ブロックが一部重なり合う量を調整自在に分割する。
【0043】
したがって、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【0044】
請求項13記載の発明は、請求項1ないし12のいずれか一に記載の符号生成装置において、前記ブロック分割手段は、前記ブロックの大きさを調整自在に分割する。
【0045】
したがって、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【0046】
請求項14記載の発明は、請求項1ないし13のいずれか一に記載の符号生成装置において、前記量子化係数をビットプレーン単位に分解するビットプレーン分解手段を具備し、前記電子透かし埋め込み手段は、ビットプレーン単位でのビットのON/OFFにより偶奇性を合わせる。
【0047】
したがって、ビットプレーン毎に処理が独立しているため、後段の符号化に際して他のビットプレーンの切り捨てがあった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【0048】
請求項15記載の発明は、請求項14記載の符号生成装置において、前記電子透かし埋め込み手段は、有意となるビットのON/OFFにより偶奇性を合わせる。
【0049】
ここで、「有意である」状態とは、ビット表現した処理対象となる量子化係数を上位ビットから下位ビット方向に符号化する場合に、注目する係数値が0でないことが解っている状態をいい、1であるビットを既に符号化済みであることをいう。
【0050】
これに対し、「有意でない」状態とは、注目する係数値が0であるまたは0である可能性がある状態をいい、1であるビットをまた符号化していない状態をいう。
【0051】
したがって、有意となるビットのみを偶奇性合わせの対象とすることにより、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0052】
請求項16記載の発明は、請求項14または15記載の符号生成装置において、前記符号化手段は、上位のビットプレーンから下位のビットプレーン方向へ符号化を行ない、OFFビットをONにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをOFFにし、ONビットをOFFにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをONにする。
【0053】
したがって、ビットプレーンの上位から下位方向への符号化においてビットのON/OFFを均等に行ない、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0054】
請求項17記載の発明は、請求項1ないし16のいずれか一に記載の符号生成装置において、処理対象となる前記量子化係数を選択的に取得する量子化係数選択手段を具備し、前記電子透かし埋め込み手段は、取得した前記量子化係数の偶奇性を合わせる。
【0055】
したがって、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0056】
請求項18記載の発明は、請求項17記載の符号生成装置において、前記量子化係数選択手段は、隣り合う前記量子化係数との差がしきい値以上である前記量子化係数を選択する。
【0057】
したがって、隣り合う量子化係数との差がしきい値以上である、すなわち、隣り合う量子化係数に対して変化の激しい量子化係数における有意ビットをON/OFFすることにより、電子透かしを埋め込むことによる画質劣化をより効果的に抑えることができる。
【0058】
請求項19記載の発明は、請求項17または18記載の符号生成装置において、前記量子化係数選択手段が選択する頻度は調整可能である。
【0059】
したがって、例えば、目的とする画質程度等に応じた頻度で量子化係数を取得することにより、電子透かしを埋め込むことによる画質劣化の程度を管理することができる。
【0060】
請求項20記載の発明は、請求項1ないし19のいずれか一に記載の符号生成装置において、対象画像を光学的に読み取った画像を入力する画像入力手段を具備し、前記量子化手段は、前記画像入力手段が入力した画像を量子化する。
【0061】
したがって、例えば、デジタルカメラやスキャナ等の入力手段を用いて入力した画像に電子透かしを埋め込むことができる。
【0062】
請求項21記載の発明の画像処理装置は、請求項1ないし20のいずれか一に記載の符号生成装置で生成した符号列データを復号化して量子化係数を生成する復号化手段と、前記量子化係数をブロック単位に分割する復号ブロック分割手段と、前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に復号化ハッシュ値を取得する復号ハッシュ変換手段と、処理対象となる前記量子化係数の偶奇性とこの量子化係数が属する前記ブロックの前記復号化ハッシュ値の偶奇性とが一致する否かに基づいて改ざんの有無を検出する改ざん検出手段と、を具備する。
【0063】
したがって、請求項1ないし20のいずれか一に記載の符号生成装置で生成した符号列データに対する改ざんの有無をブロック単位で検出することができる。
【0064】
請求項22記載の発明は、請求項21記載の画像処理装置において、前記量子化係数を離散ウェーブレット変換して画像データを生成する画像生成手段と、改ざんを検出したブロック位置を記憶する改ざん位置記憶手段と、前記画像データに基づく画像を、記憶したブロック位置を強調して表示部に表示させる強調表示手段と、を具備する。
【0065】
ここで、強調表示手段は、例えば、記憶したブロック位置の画像を単色で表示させたり、反転表示させたりする。
【0066】
したがって、改ざんがある場合、改ざんされた位置をブロック単位で視認させることができる。
【0067】
請求項23記載の発明の符号生成プログラムは、コンピュータにインストールされ、このコンピュータに、画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換して量子化した量子化係数を生成する量子化機能と、前記量子化係数をブロック単位に分割するブロック分割機能と、前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に符号化ハッシュ値を取得するハッシュ変換機能と、処理対象となる前記量子化係数の偶奇性を、この量子化係数が属する前記ブロックの前記符号化ハッシュ値の偶奇性に合わせる電子透かし埋め込み機能と、偶奇性を調整した量子化係数を含む前記量子化係数を符号化して符号列データを生成する符号化機能と、を実行させる。
【0068】
したがって、量子化係数に電子透かしを埋め込むため画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうため、例えば、請求項42記載の発明の画像処理プログラムを実行して改ざん検出を行なうことにより、改ざん位置をブロック単位で検出することができる。
【0069】
請求項24記載の発明は、請求項23記載の符号生成プログラムにおいて、前記ハッシュ変換機能は、前記量子化係数に加えて、外部から入力された秘密情報に基づいてハッシュ変換を行なう。
【0070】
したがって、量子化係数に加えて秘密情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0071】
請求項25記載の発明は、請求項23記載の符号生成プログラムにおいて、前記ハッシュ変換機能は、前記量子化係数に加えて日付情報に基づいてハッシュ変換を行なう。
【0072】
したがって、量子化係数に加えて日付情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0073】
請求項26記載の発明は、請求項23記載の符号生成プログラムにおいて、前記ハッシュ変換機能は、前記量子化係数に加えて装置の製造番号に基づく情報に基づいてハッシュ変換を行なう。
【0074】
したがって、量子化係数に加えて製造番号に基づく情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0075】
請求項27記載の発明は、請求項23記載の符号生成プログラムにおいて、前記ハッシュ変換機能は、前記量子化係数に加えて外部から入力された秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報に基づいてハッシュ変換を行なう。
【0076】
したがって、各ブロックの量子化係数に加えて、秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0077】
請求項28記載の発明は、請求項27記載の符号生成プログラムにおいて、前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報を選択する選択機能を前記コンピュータに実行させ、前記ハッシュ変換機能は、選択した情報に基づいてハッシュ変換を行なう。
【0078】
したがって、例えば、ユーザ等が選択した任意の情報をハッシュ変換の種とすることができ、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0079】
請求項29記載の発明は、請求項23ないし28のいずれか一に記載の符号生成プログラムにおいて、前記電子透かし埋め込み機能は、前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に+1して前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に−1する第1の方式、または、前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に+1して前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に−1する第2の方式のいずれかの方式により偶奇性を合わせる。
【0080】
したがって、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ量子化係数が元の量子化係数に対して+1または−1より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0081】
請求項30記載の発明は、請求項29記載の符号生成プログラムにおいて、前記第1の方式と前記第2の方式とのいずれか一方を切替自在に設定する方式設定機能を前記コンピュータに実行させ、前記電子透かし埋め込み機能は、設定された方式にしたがって偶奇性を合わせる。
【0082】
したがって、第1の方式または第2の方式を切替自在に設定することができる。
【0083】
請求項31記載の発明は、請求項30記載の符号生成プログラムにおいて、前記方式設定機能は、前記符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて、前記第1の方式または前記第2の方式を設定する。
【0084】
したがって、符号化ハッシュ値と処理対象となる量子化係数の画像中での座標値とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0085】
請求項32記載の発明は、請求項30記載の符号生成プログラムにおいて、前記方式設定機能は、前記符号化ハッシュ値と秘密情報を入力する秘密情報入力手段によって入力された前記秘密情報とに基づいて、前記第1の方式または前記第2の方式を設定する。
【0086】
したがって、秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0087】
請求項33記載の発明は、請求項23ないし32のいずれか一に記載の符号生成プログラムにおいて、前記ブロック分割機能は、前記量子化係数を、隣り合う前記ブロックが一部重なり合うようにして分割する。
【0088】
したがって、例えば、請求項42記載の発明の画像処理プログラムを実行して改ざん検出を行なうことにより、ブロック単位での画像の置き換えも改ざんとして検出することができる。
【0089】
請求項34記載の発明は、請求項33記載の符号生成プログラムにおいて、前記ブロック分割機能は、隣り合う前記ブロックが一部重なり合う量を調整自在に分割する。
【0090】
したがって、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【0091】
請求項35記載の発明は、請求項23ないし34のいずれか一に記載の符号生成プログラムにおいて、前記ブロック分割機能は、前記ブロックの大きさを調整自在に分割する。
【0092】
したがって、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【0093】
請求項36記載の発明は、請求項23ないし35のいずれか一に記載の符号生成プログラムにおいて、前記量子化係数をビットプレーン単位に分解するビットプレーン分解機能を前記コンピュータに実行させ、前記電子透かし埋め込み機能は、ビットプレーン単位でのビットのON/OFFにより偶奇性を合わせる。
【0094】
したがって、ビットプレーン毎に処理が独立しているため、後段の符号化に際して他のビットプレーンの切り捨てがあった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【0095】
請求項37記載の発明は、請求項36記載の符号生成プログラムにおいて、前記電子透かし埋め込み機能は、有意となるビットのON/OFFにより偶奇性を合わせる。
【0096】
ここで、「有意である」状態とは、ビット表現した処理対象となる量子化係数を上位ビットから下位ビット方向に符号化する場合に、注目する係数値が0でないことが解っている状態をいい、1であるビットを既に符号化済みであることをいう。
【0097】
これに対し、「有意でない」状態とは、注目する係数値が0であるまたは0である可能性がある状態をいい、1であるビットをまた符号化していない状態をいう。
【0098】
したがって、有意となるビットのみを偶奇性合わせの対象とすることにより、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0099】
請求項38記載の発明は、請求項36または37記載の符号生成プログラムにおいて、前記符号化機能は、上位のビットプレーンから下位のビットプレーン方向へ符号化を行ない、OFFビットをONにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをOFFにし、ONビットをOFFにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをONにする。
【0100】
したがって、ビットプレーンの上位から下位方向への符号化においてビットのON/OFFを均等に行ない、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0101】
請求項39記載の発明は、請求項23ないし38のいずれか一に記載の符号生成プログラムにおいて、処理対象となる前記量子化係数を選択的に取得する量子化係数選択機能を前記コンピュータに実行させ、前記電子透かし埋め込み機能は、取得した前記量子化係数の偶奇性を合わせる。
【0102】
したがって、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0103】
請求項40記載の発明は、請求項39記載の符号生成プログラムにおいて、前記量子化係数選択機能は、隣り合う前記量子化係数との差がしきい値以上である前記量子化係数を選択する。
【0104】
したがって、隣り合う量子化係数との差がしきい値以上である、すなわち、隣り合う量子化係数に対して変化の激しい量子化係数における有意ビットをON/OFFすることにより、電子透かしを埋め込むことによる画質劣化をより効果的に抑えることができる。
【0105】
請求項41記載の発明は、請求項39または40記載の符号生成プログラムにおいて、前記量子化係数選択機能により取得する前記量子化係数の選択頻度は調整可能である。
【0106】
したがって、例えば、目的とする画質程度等に応じた頻度で量子化係数を取得することにより、電子透かしを埋め込むことによる画質劣化の程度を管理することができる。
【0107】
請求項42記載の発明の画像処理プログラムは、コンピュータにインストールされ、このコンピュータに、請求項23ないし41のいずれか一に記載の符号生成プログラムの実行により生成した符号列データを復号化して量子化係数を生成する復号化機能と、前記量子化係数をブロック単位に分割する復号ブロック分割機能と、前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に復号化ハッシュ値を取得する復号ハッシュ変換機能と、処理対象となる前記量子化係数の偶奇性とこの量子化係数が属する前記ブロックの前記復号化ハッシュ値の偶奇性とが一致する否かに基づいて改ざんの有無を検出する改ざん検出機能と、を実行させる。
【0108】
したがって、請求項23ないし41のいずれか一に記載の符号生成プログラムを実行することにより生成した符号列データに対する改ざんの有無をブロック単位で検出することができる。
【0109】
請求項43記載の発明は、請求項42記載の発明の画像処理プログラムにおいて、前記量子化係数を離散ウェーブレット変換して画像データを生成する画像生成機能と、前記画像データに基づく画像を、改ざんを検出したブロック位置を強調して表示部に表示させる強調表示機能と、を前記コンピュータに実行させる。
【0110】
したがって、改ざんがある場合、改ざんされた位置をブロック単位で視認させることができる。
【0111】
請求項44記載の発明の記憶媒体は、請求項23ないし41のいずれか一記載の符号生成プログラムを記憶し、コンピュータ読み取り可能である。
【0112】
したがって、請求項23ないし41のいずれか一記載の発明の作用を得ることができる。
【0113】
請求項45記載の発明の記憶媒体は、請求項42または43記載の符号生成プログラムを記憶し、コンピュータ読み取り可能である。
【0114】
したがって、請求項42または43記載の発明の作用を得ることができる。
【0115】
【発明の実施の形態】
最初に、本発明の実施の形態の前提となるJPEG2000アルゴリズムの概要について説明する。
【0116】
図1は、JPEG2000方式の基本となる階層符号化および復号化アルゴリズムを示す説明図である。図1に示すようなJPEG2000方式の階層符号化アルゴリズム(以降、JPEG2000アルゴリズム)によって、デジタル画像データを圧縮して符号列データを生成したり(符号化)、符号列データを伸長して画像データを生成したり(復号化)することができる。
【0117】
JPEG2000アルゴリズムが、従来のJPEGアルゴリズムと比較して、最も大きく異なる点の一つは、変換方式である。JPEGアルゴリズムでは離散コサイン変換(DCT:Discrete Cosine Transform)を用いているのに対し、JPEG2000方式の階層符号化アルゴリズムでは離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている。DWTは、DCTに比べて、高圧縮領域における画質が良いという長所を有し、この点がJPEGの後継アルゴリズムであるJPEG2000でDWTが採用された大きな理由の一つとなっている。
【0118】
また、JPEG2000アルゴリズムとJPEGアルゴリズムとの大きな相違点は、JPEG2000アルゴリズムでは、システムの最終段に符号形成を行なうために、画像の圧縮動作時には圧縮データを符号列データとして生成し、伸長動作時には伸長に必要な符号列データの解釈を行なう機能が追加されていることである。
【0119】
JPEG2000は、符号列データによって様々な便利な機能を実現できるようになっており、例えば、ブロック・ベースでのDWTにおけるオクターブ分割に対応した任意の階層(デコンポジションレベル)で、静止画像の圧縮伸長動作を自由に停止させることができるようになる(後述する図3参照)。また、JPEG2000では、一つのファイルから低解像度画像(縮小画像)を取り出したり、画像の一部(タイリング画像)を取り出したりすることができるようになる。
【0120】
入力/出力される原画像の画像データに対しては、例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUVあるいはYCbCr表色系への変換または逆変換が行なわれる。
【0121】
カラー画像は、一般に、図2に示すように、原画像の各コンポーネントが、矩形をした領域によって分割される。この分割された矩形領域は、一般にブロックあるいはタイルと呼ばれているものであるが、JPEG2000では、タイルと呼ぶことが一般的であるため、以下、このような分割された矩形領域をタイルと記述することにする。
【0122】
JPEG2000アルゴリズムにおける画像データの圧縮伸長プロセスを実行する際には、個々のタイルが基本単位となり、画像データの圧縮伸長動作は、コンポーネント毎、また、タイル毎に、独立に行われる。
【0123】
まず、JPEG2000アルゴリズムにおける画像データの符号化について説明する。JPEG2000アルゴリズムにおける画像データの符号化に際しては、図1に示すように、各コンポーネントの各タイルのデータに対して色空間変換を施した後、2次元ウェーブレット変換(順変換)を施して、周波数帯に空間分割する。
【0124】
ここで、図3は、デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示している。デコンポジションレベル数(施すウェーブレット変換の数)が3の場合、まず、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジションレベル0)に対して、2次元ウェーブレット変換を施し、デコンポジションレベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジションレベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジションレベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。図3では、各デコンポジションレベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジションレベル数を3としたとき、網掛けで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0125】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、定められた対象ビット周辺のビットからコンテキストを生成し(量子化)、量子化の処理が終わったウェーブレット係数を、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割する。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図4に示すように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。
【0126】
さらに、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。この「コード・ブロック」は、エントロピー・コーディングを行なう際の基本単位となる。
【0127】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行なうことができる。
【0128】
ここで、図5は、ビットプレーンに順位付けする手順の一例を示す説明図である。図5に示すように、この例は、原画像(32×32画素)を16×16画素のタイル4つで分割した場合で、デコンポジションレベル1のプレシンクトとコード・ブロックとの大きさを、各々8×8画素と4×4画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられており、この例では、プレンシクトが番号0から3まで、コード・ブロックが番号0から3まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行ない、デコンポジションレベル1のウェーブレット係数値を求めている。
【0129】
また、タイル0/プレシンクト3/コード・ブロック3について、代表的な「レイヤ」構成の概念の一例を示す説明図も図5に併せて示す。変換後のコード・ブロックは、サブバンド(1LL,1HL,1LH,1HH)に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【0130】
レイヤの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ0,1,2,3は、各々、1,3,1,3のビットプレーンから成っている。そして、LSB(Least Significant Bit:最下位ビット)に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、MSB(Most Significant Bit:最上位ビット)に近いレイヤは最後まで量子化されずに残ることになる。LSBに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0131】
続いて、コンテキストと対象ビットとから確率推定によって、各コンポーネントのタイルに対する符号化を行なう。これにより、原画像の全てのコンポーネントについて、タイル単位で符号化処理が行われる。
【0132】
最後に、全符号列データを1本の符号列データに結合するとともに、それにタグを付加する処理を行なう。
【0133】
次に、JPEG2000アルゴリズムにおける画像データの復号化について説明する。符号列データの復号化に際しては、画像データの符号化時とは逆に、各コンポーネントの各タイルの符号列データから画像データを生成する。この場合、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネントの各タイルの符号列データに分解し、その各コンポーネントの各タイルの符号列データ毎に復号化処理(伸長処理)を行なう。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、定められた対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストを生成し、このコンテキストと符号列データとから確率推定によって復号化を行なって対象ビットを生成し、それを対象ビットの位置に書き込む。
【0134】
このようにして復号化したデータは、周波数帯域毎に空間分割されているため、この画像データに対して2次元ウェーブレット逆変換を行なうことにより、画像データの各コンポーネントの各タイルを復元し、復元したデータに対して色空間逆変換を行なうことで元の表色系の画像データに変換する。
【0135】
以上が、JPEG2000アルゴリズムの概要である。
【0136】
画像データの符号化に際しては、入力された画像データをウェーブレット変換した結果の係数を量子化するまでは、可逆または非可逆な変換過程をとることができ、量子化の処理が終わったウェーブレット係数からエントロピー符号化等の符号列データを生成するまでは可逆変換過程となる。また、画像データの復号化に際して、入力された(圧縮保存済みの)符号列データからウェーブレット係数データ(または、量子化係数データ:可逆圧縮の場合は量子化しないため)を復号化するまでは、可逆変換過程をとなり、復号化したウェーブレット係数データから画像データを生成するまでは可逆または非可逆な変換過程をとることができる。
【0137】
以下に、本発明の第1の実施の形態について図6ないし図10を参照して説明する。本発明では、上述したJPEG2000アルゴリズムにおける量子化係数を使用して、JPEG2000圧縮処理内で、量子化係数に電子透かしを埋め込むとともに、電子透かしが埋め込まれた量子化係数を解読の可否により画像の流用の有無を検出する符号生成装置および画像処理装置としての画像管理装置への適用例を示す。
【0138】
図6は、本実施の形態の画像管理装置の構成を概略的に説明するブロック図である。図6中では、ハード構成とマイクロコンピュータによるソフト処理等の機能とが混在して示されている。
【0139】
本実施の形態の画像管理装置1は、全体制御部2、画像撮影部3、操作入力部4、表示部5、外部記憶装置6、メモリ7、非可逆圧縮部8、電子透かし埋め込み部9、Hash変換部10、可逆圧縮部11、画像再生部12、可逆伸長部13、電子透かし解読部14、非可逆伸長部15、および、改ざん表示制御部16等をバスライン17等によって接続することにより構成されている。
【0140】
全体制御部2は、画像管理装置1全体の動作および機能を制御する図示しないマイクロコンピュータを主体として構成されている。マイクロコンピュータは、画像管理装置1が備える各部を駆動制御するCPUや、CPUが実行する各種制御プログラムを格納するROM、可変的なデータを書き換え自在に記憶するとともにCPUのワークエリアとして機能するRAM等(いずれも図示せず)を接続することによって構成されており、一般的には、CPUのみを代表として、単に「CPU」と略称されることもある。マイクロコンピュータ(CPU)は、計時機能を有しており、後述する電子透かしの埋め込みに際しては、この計時機能により日付情報を取得することができる。ここに、日付情報取得手段としての機能が実現される。
【0141】
ROMには、全体制御部2が実行する各種制御プログラムが格納されており、画像撮影部3、操作入力部4、表示部5、外部記憶装置6、メモリ7、非可逆圧縮部8、電子透かし埋め込み部9、Hash変換部10、可逆圧縮部11、画像再生部12、可逆伸長部13、電子透かし解読部14、非可逆伸長部15、および、改ざん表示制御部16が実現する各機能は、全体制御部2が各種制御プログラムを実行することによって実現することができる。
【0142】
画像撮影部3は、セットされた写真や帳票等をスキャンすることで画像を読み取ってイメージ画像データを入力し、画像入力手段として機能する。公知の技術であるため図示および説明を省略するが、画像撮影部3は、例えば、スキャン光学系およびCCD等のイメージセンサとその駆動回路等を有するイメージスキャナやデジタルカメラ等によって実現することができる。
【0143】
操作入力部4は、操作者との間におけるインターフェイスとして機能し、操作者によって操作されることにより、各種入力信号を全体制御部2に出力する。全体制御部2は、操作入力部4からの出力信号に応じて、各種操作指示や機能選択指令を発行したり、編集データ等を入力したりする。公知の技術であるため図示および説明を省略するが、操作入力部4としては、例えば、キーボードやマウス、あるいは、タッチパネル等を用いることができる。本実施の形態では、操作入力部4が操作されることによって、後述するように電子透かしデータが埋め込まれた画像データの乱数化を開始したり、乱数化された画像データ中に埋め込まれた電子透かしの解読に際して必要情報を入力したりすることができる。
【0144】
表示部5は、画像撮影部3が入力したイメージ画像データに基づく画像や、操作ガイダンス等を表示する。本実施の形態の表示部5は、表示面上に配列された、R(Red)・G(Green)・B(Blue)の各色の図示しない入力端子を備えており、各色の入力端子に入力する信号を調整して各色の入力端子の明るさを変えることで、表示部5に配列されたRGBの各色の入力端子の明るさを最大にした白色から、表示部5に配列されたRGBの各色の入力端子の明るさを最小にした黒色までを段階的に合成することが可能である。表示部5における表示状態は、操作入力部4が操作されることにより、操作者の所望の表示状態に変更することができる。表示部5における表示状態として、例えば、電子透かし解読結果を入力イメージ画像データと重ね合わせて表示させたり、どちらか一方のみを選択して表示させたりすることができる。
【0145】
外部記憶装置6は、画像撮影部3で撮影した画像データや全体制御部2で実行する各種プログラムを、CD−ROM等の可搬性を有するメディア18に記憶させるとともに、可搬性を有するメディア18に記憶されたプログラムを読み取る。外部記憶装置6は、例えば、電子透かし埋め込み部9や可逆圧縮部11での処理によって電子透かしが埋め込まれた圧縮データ、電子透かし解読部14によって改ざんを検出した画像領域部のデータ等をメディア18に記憶させる。
【0146】
ところで、本実施の形態の外部記憶装置6は、可搬性を有するメディア18に記憶された、符号生成プログラムや画像処理プログラムを読み取ることが可能である。符号生成プログラムや画像処理プログラムは、実行することにより後述する電子透かしの埋め込みや電子透かしの検出を行なうプログラムであり、このため、本実施の形態では、可搬性を有するメディア18によって記憶媒体が実現されている。
【0147】
なお、本実施の形態では、可搬性を有するメディア18によって記憶媒体を実現するようにしたが、これに限るものではなく、符号生成プログラムや画像処理プログラムを記憶するフレキシブルディスク(FD)や光磁気ディスク(OMD)等の可搬性を有するメディアによって記憶媒体を実現するようにしてもよい。可搬性を有するメディア18に記憶された符号生成プログラムや画像処理プログラムは、外部記憶装置6によって読み取る(または、インストールする)ことにより、RAMに記憶され、全体制御部2がRAMに記憶された符号生成プログラムや画像処理プログラムを実行して、後述する電子透かしの埋め込みや電子透かしの検出を行なうことが可能であるため、メディア18から符号生成プログラムや画像処理プログラムがインストールされたRAMによっても記憶媒体を実現することができる。
【0148】
また、符号生成プログラムや画像処理プログラムは、可搬性を有する各種メディア(または、RAM)に記憶されているものに限るものではなく、例えば、インターネット等を介して、画像管理装置1以外の外部装置からダウンロードしたものであってもよい。
【0149】
メモリ7は、画像撮影部3によって読み取ったイメージ画像データや、図1に示すJPEG2000アルゴリズム内で生成される各種データ等を格納する大容量のメモリである。メモリ7は、例えば、RAMあるいはハードディスク等によって実現することができる。図1に示すJPEG2000アルゴリズム内で生成されるデータとしては、電子透かしが埋め込まれてJPEG2000圧縮された後に一旦保存された符号列データ、画像再生部12によって再生した電子透かしが埋め込まれた画像データ、および、可逆伸長部13から非可逆伸長部15における処理で伸長された画像データ等がある。また、メモリ7には、画像管理装置1の製造番号や、後述する電子透かしの埋め込みに際して画像管理装置1の外部から入力された秘密情報等を記憶するエリアが確保されている。これにより、後述する電子透かしの埋め込みに際して、エリアに記憶された画像管理装置1の製造番号に基づく情報を種としたHash変換を行なうことができ、ここに、製造番号認識手段が実現される。
【0150】
非可逆圧縮部8は、画像撮影部3で読み取って外部記憶装置6やメモリ7に格納されている画像データを使用して、デジタル画像データを非可逆に変換圧縮する処理を施して、量子化係数を生成する。すなわち、非可逆圧縮部8は、図1中Aで示す処理を行なう。非可逆圧縮部8が生成した量子化係数は、メモリ7に格納される。
【0151】
電子透かし埋め込み部9は、非可逆圧縮部8で変換され、メモリ7に格納されている量子化係数を使用して、上述したようなJPEG2000圧縮処理内で、量子化係数に電子透かしを埋め込む処理を施す。詳細は後述するが、電子透かし埋め込み部9は、図1中A処理とB処理との間に相当する箇所で電子透かしを埋め込む処理を行ない、埋め込む電子透かしとして、ハッシュ(Hash)変換部で乱数化した(Hash変換した)データを用いる。
【0152】
Hash変換部10は、電子透かし埋め込み部9で透かし情報を埋め込む際に、JPEG2000処理内の量子化係数に対して、ハッシュ(Hash)関数に基づくハッシュ(Hash)変換を施して乱数化する。
【0153】
本実施の形態では、元のデータが解読できないようにランダマイズすることを「乱数化」であるとし、この乱数化の機能に、元のデータを復元することができる機能を加えた機能である暗号化と区別して説明する。
【0154】
ここで、Hash関数とは、引数を種(タネ)にして生成する一方向性の乱数発生関数であり、以下に示す性質を持っている(出典:電子情報通信学会誌2000年2月 "公平性保証とプライバシー保護"佐古和恵)。
性質1:出力値から入力値は推測できない。
性質2:入力値が1bitでも変ると、出力値は全面的に変化する。
性質3:同じ出力になる異なる二つの入力の探索は現実的に不可能。
【0155】
Hash変換は、生成後のデータから元のデータを推定することが不可能であるため、電子透かしの埋め込みに際してHash変換を用いることにより、改ざんを確実に防止することができる。
【0156】
可逆圧縮部11は、図1中に示すB処理を行ない、電子透かし埋め込み部9によって電子透かしが埋め込まれた量子化係数に対して可逆変換を施すことにより、電子透かしが埋め込まれた量子化係数を劣化させることなく圧縮する。可逆圧縮部11で圧縮されたデータは、外部記憶装置6やメモリ7等に保存される。
【0157】
画像再生部12は、外部記憶装置6やメモリ7等に保存されている電子透かしが埋め込まれたJPEG2000圧縮データを読み取るための制御を行なう。
【0158】
可逆伸長部13は、図1中に示すC処理を行ない、画像再生部12で読み取られたJPEG2000圧縮データを使用して、可逆圧縮部10の変換処理に対応する逆変換を行なうによって量子化係数を可逆的に復元する。可逆伸長部13で伸長した量子化係数は、メモリ7に格納される。
【0159】
電子透かし解読部14は、図1中C処理とD処理との間に相当する箇所で、可逆伸長部13によって復元されてメモリ7に格納されている量子化係数を使用して、電子透かしが埋め込まれた画像データの中の電子透かしが解読可能かどうかで、画像の改ざんの有無を判断する。詳細は後述するが、電子透かし解読部14は、メモリ7に格納されている量子化係数をHash変換部で乱数化して埋め込まれた電子透かしを解読する。電子透かし解読部14において電子透かしが解読できない場合、解読できないブロック位置をメモリ7に記憶する。
【0160】
上述したHash変換部10は、電子透かし解読部14における暗号の解読に際して、図1に示すJPEG2000処理内の量子化係数に対してHash変換を施して乱数化する。
【0161】
非可逆伸長部15は、図1中に示すD処理を行ない、電子透かし解読部14による改ざん検出結果に基づいて、非可逆圧縮部8の変換処理に対応する逆変換を行なうことにより画像を復元する。
【0162】
改ざん表示制御部16は、後述する改ざん検出に際して、電子透かしが解読できないブロックがある場合、復元した画像データとメモリ7に記憶されたブロック位置情報とに基づいて、記憶したブロック位置の画像が黒色で塗り潰されて表示されるような画像データを展開する。
【0163】
次に、電子透かしの埋め込みに際して画像管理装置1が行なう動作について図7を参照して説明する。図7の処理は、画像撮影部3による画像撮影時に実行される。画像撮影部3による画像撮影に先立って、操作者は、操作入力部4において入力秘密キーを操作することにより秘密情報を入力する。ここに、秘密情報入力手段としての機能が実現される。秘密情報としては、例えば、操作者が任意に設定可能であって英数字によって構成される複数桁の暗証番号等がある。
【0164】
電子透かしの埋め込みに際しては、まず、操作入力部4における入力秘密キーの操作により入力された入力情報をメモリ7に保存し(ステップS1)、撮影された被写体の画像を多値画像で読み取りメモリ7に記憶する(S2)。
【0165】
続いて、メモリ7に記憶された多値画像に色変換を施し、非可逆圧縮部8によって、ウェーブレット変換を施して量子化する(S3)。本実施の形態では、ステップS3における処理を「JPEG2000(図7中、JP2と記載)圧縮プロセス1」とし、このJPEG2000圧縮プロセス1によって量子化手段および量子化機能が実現される。
【0166】
次に、JPEG2000圧縮プロセス1で量子化された量子化係数をn×nの大きさのブロックBLに分割する(S4)。ここに、ブロック分割手段およびブロック分割機能が実現される。このとき、隣り合うブロックBL同士は、図8(a)に示すようにそれぞれ独立に分離していてもよいし、図8(b)に示すようにそれぞれの一部を重ねあわせられていてもよい。また、このとき、ステップS3での量子化の際のタイルと同じ大きさにブロック分割しても、異なる大きさにブロック分割してもよい。
【0167】
続いて、分割したブロックにおける量子化係数対する処理において乱数を発生させる種となるデータ(シードデータ)を初期化する(S5)。このように、シードデータを初期化することにより、後述する改ざん検出に際して、改ざんが検出された場合に、該改ざん場所をブロック単位で特定することができる。
【0168】
さらに、メモリ7を参照して、メモリ7に記憶されている入力情報(秘密情報)、画像管理装置1の製造番号に基づく情報、あるいは、マイクロコンピュータの計時機能によって取得される日付情報等に基づいて、Hash変換部10によって新しいHash値(符号化ハッシュ値)を取得する(S6)。ここに、ハッシュ変換手段およびハッシュ変換機能が実現される。
【0169】
なお、ステップS6で取得するHash値は、入力情報、画像管理装置1の製造番号に限るものではなく、既に取得したHash値やステップS3で生成した量子化係数を用いてもよい。また、ステップS6で取得するHash値は、メモリに記憶されている入力情報、画像管理装置1の製造番号、日付、既に取得したHash値やステップS3で生成した量子化係数等を単独で使用してもよいし、複数を組み合せて使用してもよい。改ざんを防止するためにはより多くのデータを用いてHash値を取得する方がよい。
【0170】
本実施の形態では、Hash変換に際して、量子化係数に加えて、入力情報(秘密情報)、画像管理装置1の製造番号、日付等をHash変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0171】
このとき、入力情報(秘密情報)、画像管理装置1の製造番号に基づく情報、日付情報、既に取得したHash値やステップS3で生成した量子化係数等の各種情報から、例えば、操作入力部4の操作によって任意の情報を選択し、処理対象となる量子化係数に加えて、選択した任意の情報を種としてHash変換を行なうようにしてもよい。ここに、選択手段および選択機能が実現される。Hash変換の種となる引数を選択可能とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0172】
そして、隣り合うブロックBLと重なっていない位置であるか否かを判断することにより変更可能領域であるか否かを判断する(S7)。ステップS7では、例えば、図8(a)に示すようにそれぞれ独立に分離したブロックBLに分割されている場合、分割された隣り合う全てのブロックBL同士が重ならないので、太線で囲まれた範囲、すなわち、全てが変更可能領域BL’であると判断し、図8(b)に示すようにそれぞれの一部を重ねあわせてブロック分割されている場合、太線で囲む範囲内を変更可能領域BL’であると判断する。
【0173】
変更可能領域BL’であると判断した場合には(S7のY)、変更可能領域内の処理対象となる量子化係数の偶奇性をステップS6で取得したHash値の偶奇性に合わせる(S8)。ここに、電子透かし埋め込み手段および電子透かし埋め込み機能が実現される。
【0174】
ステップS8では、例えば、元の量子化係数が図9(a)に示すように並んでおり、このブロックBLのHash値が奇数である場合、処理対象となる量子化係数Qkも奇数になるように、該量子化係数Qkに「+1」または「−1」して、量子化係数の値を変更し、図9(b)に示すように処理対象となる量子化係数Qkが奇数になるように設定する。
【0175】
本実施の形態では、ステップS8において、処理対象となる量子化係数が属するブロックBLのHash値が偶数で処理対象となる量子化係数が奇数である場合にはこの量子化係数に+1し、ブロックBLのHash値が奇数で処理対象となる量子化係数が偶数である場合にはこの量子化係数に−1することで偶奇性を合わせて、電子透かしを埋め込む。
【0176】
例えば、処理対象となる量子化係数の値が「10」であり、この量子化係数が属するブロックBLのHash値が偶数であると、量子化係数を変更する必要はないが、処理対象となる量子化係数の値が「10」であり、この量子化係数が属するブロックBLのHash値が奇数であると−1して「9」(奇数)にすることによって、電子透かしを埋め込む。
【0177】
また、例えば、既に電子透かしが埋め込まれた「9」の値を有する量子化係数に対してさらに電子透かしを埋め込む場合、新たなHash値が奇数であるならばこの量子化係数を変更する必要はなく「9」のままとし、新たなHash値が偶数であるならば上述した方式にしたがい+1して「10」(偶数)とする。これによって、一旦電子透かしが埋め込まれた量子化係数に対してさらに電子透かしが埋め込まれる。
【0178】
なお、JPEG2000圧縮プロセス1で量子化された量子化係数(元データ)に+1または−1する、または、変更を加えずにそのまま後段の処理に用いる確率は、元データとステップS6で取得するHash値との関連性がなく互いに独立している場合には、当然50%となる。
【0179】
このような方式にしたがって電子透かしを埋め込むことにより、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ(偶奇性を合わせた)量子化係数が元の量子化係数に対して+1または−1より大きく変化することがない、すなわち、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ(偶奇性を合わせた)量子化係数が元の量子化係数は「9」または「10」のみを取り得る。
【0180】
本実施の形態では、処理対象となる量子化係数が属するブロックBLのHash値が偶数で処理対象となる量子化係数が奇数である場合にはこの量子化係数に+1し、ブロックBLのHash値が奇数で処理対象となる量子化係数が偶数である場合にはこの量子化係数に−1することで偶奇性を合わせる第1の方式と、処理対象となる量子化係数が属するブロックBLのHash値が奇数で処理対象となる量子化係数が偶数である場合にはこの量子化係数に+1し、ブロックBLのHash値が偶数で処理対象となる量子化係数が奇数である場合にはこの量子化係数に−1することで偶奇性を合わせる第2の方式と、のいずれか一方を切替自在に設定することができる。第1の方式または第2の方式の設定は、画像管理装置1の製造時(出荷前)に選択的に切り替えて設定してもよいし、操作入力部4の操作によって適宜切り替え可能にしてもよい。ここに、方式設定手段および方式設定機能が実現される。
【0181】
また、第1の方式または第2の方式の設定は、例えば、ステップS6で取得したハッシュ値と処理対象となる量子化係数の画像中での座標値とに基づき、ハッシュ値と座標値との積が偶数であるか奇数であるかに応じて、第1の方式または第2の方式のいずれか一方を切替自在に設定するようにしてもよい。このように、ハッシュ値と座標値との積が偶数であるか奇数であるかに応じて、第1の方式または第2の方式のいずれか一方を切替自在に設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0182】
さらに、第1の方式または第2の方式の設定は、例えば、操作入力部4の操作によって数値により構成される秘密情報が入力された場合には、ステップS6で取得したハッシュ値と操作入力部4の操作によって入力された秘密情報とに基づき、ハッシュ値と秘密情報との積が偶数であるか奇数であるかに応じて、第1の方式または第2の方式のいずれか一方を切替自在に設定するようにしてもよい。このように、操作入力部4の操作によって秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0183】
第1または第2の方式のいずれにしても、偶奇性を合わせる方式を上述したように設定して、+1または−1する条件を設定することにより、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ後の量子化係数が元の量子化係数に対して+1または−1より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0184】
なお、図9に示す例では、透かしを埋め込むかどうか注目しているQkの量子化係数の存在位置は、隣り合う量子化係数Qk−1に対する変化が激しいエッジ部に相当している。
【0185】
ステップS7で、注目している量子化係数Qkの位置が変更可能領域から外れていれば(S7のN)、透かし入れの処理は行なわず、元の量子化係数のままステップS9に進む。
【0186】
処理対象となる全ての量子化係数に対する電子透かし入れが終了したか否かを判断し(S9)、処理対象となる全ての量子化係数に対する電子透かし入れが終了していない場合には(S9のN)、ステップS6に進み、次の量子化係数に対してステップS6からステップS8までの処理を行なう。
【0187】
処理対象とするブロックBL内の全ての量子化係数に対する電子透かし入れが終了したと判断した場合には(S9のY)、全てのブロックBLに対して電子透かし入れが終了したか否かを判断する(S10)。
【0188】
全てのブロックBLに対して電子透かし入れが終了したと判断した場合には(S10のY)、可逆圧縮部11によって、電子透かし入れが終了した量子化係数に対して可逆圧縮変換を施して符号列データを生成して(S11)、生成した符号列データを外部記憶装置6またはメモリ7に保存する。なお、本実施の形態では、ステップS11の処理を「JPEG2000(図7中、JP2と記載)圧縮プロセス2」とし、このJPEG2000圧縮プロセス2によって符号化手段および符号化機能が実現される。これによって、メモリ7または外部記憶装置6には、電子透かしが埋め込まれた符号列データが保存される。
【0189】
次に、電子透かしが埋め込まれた符号列データの改ざん検出に際して画像管理装置1が行なう動作について図10を参照して説明する。図10の処理は、画像再生部12による画像再生時に実行される。画像再生部12による画像再生に先立って、操作者は、操作入力部4を操作することにより秘密情報を入力する。このときに入力する秘密情報は、解読したいデータの符号化に際して入力した秘密情報である。
【0190】
電子透かしが埋め込まれた符号列データの改ざん検出に際しては、まず、操作入力部4における入力秘密キーの操作により入力された入力情報をメモリ7に保存し(ステップS21)、外部記憶装置6またはメモリ7に記憶されたJPEG2000圧縮データ(符号列データ)を画像再生部12によって再生する(S22)。
【0191】
続いて、画像再生部12によって再生した多値画像の符号列データに対して色空間逆変換を施し、可逆伸長部13によって、符号列データを量子化する(S23)。本実施の形態では、ステップS23における処理を「JPEG2000(図10中、JP2と記載)伸長プロセス1」とし、このJPEG2000伸長プロセス1によって復号化手段および復号化機能が実現される。
【0192】
JPEG2000伸長プロセス1で量子化された量子化係数をn×nの大きさのブロックBLに分割する(S24)。ここに、復号ブロック分割手段および復号ブロック分割機能が実現される。このとき、隣り合うブロックBL同士は、図8(a)に示すようにそれぞれ独立に分離していてもよいし、図8(b)に示すようにそれぞれの一部を重ねあわせられていてもよい。また、このとき、ステップS23での量子化の際のタイルと同じ大きさにブロック分割しても、異なる大きさにブロック分割してもよい。
【0193】
続いて、分割したブロックにおける量子化係数対する処理において乱数を発生させる種となるデータ(シードデータ)を初期化する(S25)。このように、シードデータを初期化することにより、元データに対する改ざんが検出された場合に、該改ざん場所をブロック単位で特定することができる。
【0194】
さらに、メモリ7を参照して、メモリ7に記憶されている秘密情報、画像管理装置1の製造番号に基づく情報、日付情報等に基づいて新しいHash値(復号化ハッシュ値)を取得する(S26)。ここに、復号ハッシュ変換手段および復号ハッシュ変換機能が実現される。なお、ステップS26で取得するHash値は、入力情報、画像管理装置1の製造番号に限るものではなく、既に取得したHash値やステップS23で生成した量子化係数を用いてもよい。また、ステップS6で取得するハッシュ値は、メモリ7に記憶されている秘密情報、画像管理装置1の製造番号に基づく情報、日付情報、既に取得したHash値やステップS23で生成した量子化係数等を単独で使用してもよいし、複数を使用してもよい。改ざんを防止するためにはより多くのデータを用いてHash値を取得する方がよい。
【0195】
そして、隣り合うブロックBLと重なっていない位置であるか否かを判断することにより変更可能領域であるか否かを判断する(S27)。例えば、図8(a)に示すようにそれぞれ独立に分離してブロック分割されている場合、分割された隣り合う全てのブロックBL同士が重ならないので、全てを変更可能領域であると判断し、図8(b)に示すようにそれぞれの一部を重ねあわせてブロック分割されている場合、太線で囲む範囲内を変更可能領域であると判断する。
【0196】
変更可能領域であると判断した場合には(S27のY)、該変更可能領域内の処理対象箇所の量子化係数の偶奇性が、ステップS26で取得したHash値の偶奇性と同じであるか否かを判断する(S28)。ここに、改ざん検出手段および改ざん検出機能が実現される。
【0197】
変更可能領域内の処理対象箇所の量子化係数の偶奇性が、ステップS26で取得したHash値の偶奇性と異なると判断した場合(S28のY)、この処理対象箇所に改ざんがあったと判断してこのブロック位置をメモリ7に記憶する(S29)。ここに、改ざん位置記憶手段が実現される。
【0198】
ステップS27で、注目している量子化係数Qkの位置が変更可能領域から外れていれば(S27のN)、改ざん検出の処理は行なわず、ステップS30に進む。
【0199】
処理対象とするブロック内の全ての量子化係数に対する改ざん検出が終了したか否かを判断し(S30)、処理対象とするブロック内の全ての量子化係数に対する改ざん検出が終了していない場合には(S30のN)、ステップS26に進み、次の量子化係数に対して電子ステップS26からステップS29までの処理を行なう。
【0200】
なお、本実施の形態では、ステップS28において改ざんがあったと判断した場合に、このブロックBLの他の量子化係数に対しても改ざん検出を行なうようにしたが、これに限るものではなく、単一のブロックBL内のいずれかの量子化係数について改ざんがあったと判断した場合、このブロックBL内の他の量子化係数についての改ざん検出を行なわず次のブロックBLについての改ざん検出に移行するようにしてもよい。これにより、改ざん検出処理の負担を軽減することができる。
【0201】
処理対象とするブロックBL内の全ての量子化係数に対する改ざん検出が終了したと判断した場合には(S30のY)、全てのブロックBLに対して改ざん検出が終了したか否かを判断する(S31)。
【0202】
全てのブロックBLに対して改ざん検出が終了したと判断した場合には(S31のY)、非可逆伸長部15によって、改ざん検出が終了した量子化係数に対して非可逆圧縮変換を施して画像データを生成する(S32)。なお、本実施の形態では、ステップS32の処理を「JPEG2000(図10中、JP2と記載)伸長プロセス2」とし、このJPEG2000伸長プロセス2によって画像生成手段および画像生成機能が実現される。
【0203】
そして、JPEG2000伸長プロセス2で生成した画像データとステップS29で記憶した改ざんブロック位置とに基づいて、改ざんブロック位置が黒色で塗り潰された画像を表示部5に表示する(S33)。ここに、強調表示手段および強調機能が実行される。
【0204】
ステップS33では、表示部5に配列されたRGBの各色の入力端子のうち、改ざんブロック位置に相当する一の入力端子の明るさを最小にすることで、改ざんブロック位置の画像を黒色で表示する。
【0205】
このように、改ざんされたブロック位置を強調して表示部5に表示させることにより、改ざん場所を視覚することができる。また、改ざんブロック位置を単色で表示させることにより、実用上、容易な処理で改ざん場所を視覚させることができる。
【0206】
なお、本実施の形態では、ステップS33において、改ざんブロック位置が黒色で塗り潰された画像を表示部5に表示させるようにしたが、これに限るものではなく、例えば、改ざんブロック位置の表示色が反転された画像や、改ざんブロック位置が白色や赤色等単色で塗り潰された画像を表示部5に表示させるようにしてもよい。
【0207】
これによって、改ざんがある場合には、不自然な画像として表示されるので、改ざんの有無と改ざんされた位置とを視認することができる。
【0208】
また、このような改ざん検出の機能を予めユーザに通知しておくことにより、良識のあるユーザに対しての改ざん抑止効果を期待することができる。
【0209】
本実施の形態によれば、量子化係数に電子透かしを埋め込むことにより、画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうことにより、改ざん位置をブロック単位で検出することができる。
【0210】
このとき、隣り合うブロックBLが一部重なり合うようにブロック分割することにより、ブロック単位の置き換えでも改ざんとして検出することができるので、より高い精度で改ざんを検出することができる。
【0211】
なお、ブロック分割に際しては、隣り合うブロックBLが一部重なり合うように重なり量を調整自在としたり、また、隣り合うブロックBLを一部重なり合うようにしてもしなくても分割するブロックBLの大きさを調整自在としたりすることにより、電子透かしの埋め込みにおける処理やブロック単位の置き換えを改ざんとして検出する処理における処理量や処理速度等を調整することができる。
【0212】
次に、本発明の第2の実施の形態について説明する。なお、第1の実施の形態と同一部分は同一符号で示し、説明も省略する。以下、同様とする。
【0213】
特に図示しないが、本実施の形態の画像管理装置1は、図7に示すステップS8における処理が第1の実施の形態とは異なる。
【0214】
本実施の形態の画像管理装置1は、図7に示すステップS8に相当する処理として、量子化した量子化係数をビットプレーン単位に分解し、ビットプレーン毎に2値画像として偶奇性を合わせる。この処理においては、例えば、量子化係数の下位桁に電子透かしデータを埋め込む場合、切り捨てられるビットプレーンの量子化係数は使用せずに、そのすぐ上の桁を対象とする。
【0215】
これにより、後段のエントロピー符号化処理内では、ビットプレーン毎に処理が独立して行われるため、他のビットプレーンの切り捨て処理があった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【0216】
このとき、処理対象となる量子化係数をビット表現し、ビット表現した量子化係数を上位ビットから下位ビット方向に符号化する場合に注目する係数値が0でないことが解っている有意であるビットに対して、偶奇性を合わせ電子透かしを埋め込むことにより、後段のエントロピー符号化処理内で、下位ビット切り捨て処理がある場合にも、下位ビットの切り捨てによる影響を受けることがない。
【0217】
なお、本実施の形態では。「有意である」状態に対し、「有意でない」状態とは、注目する係数値が0であるまたは0である可能性がある状態をいい、1であるビットをまだ符号化していない状態をいう。
【0218】
次に、本発明の第3の実施の形態について説明する。
【0219】
特に図示しないが、本実施の形態の画像管理装置1は、図7に示すステップS8における処理が第1の実施の形態とは異なる。
【0220】
本実施の形態の画像管理装置1は、図7に示すステップS8に相当する処理として、処理対象となる量子化係数をビットプレーン単位に分解し、上位のビットプレーンから下位のビットプレーン方向へ符号化を行なう。このとき、OFFビットをONにする場合には、処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをOFFにし、また、ONビットをOFFにする場合には、処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをONにする。なお、本実施の形態では、ONビットを1としOFFビットを0とする。
【0221】
これによって、ビットプレーンの上位から下位方向への符号化においてビットのON/OFFを均等に行なって、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0222】
次に、本発明の第4の実施の形態について図11および図12を参照して説明する。
【0223】
図11は、本実施の形態の画像管理装置1による電子透かしの埋め込みに際して画像管理装置1が行なう動作について概略的に説明するフローチャートである。
【0224】
本実施の形態では、図11に示すように、ステップS7で、変更可能領域であると判断した場合には、変更可能領域内の処理対象箇所が間引き対象箇所であるか否かを判断する(S15)。ここに、量子化係数選択手段および量子化係数選択機能が実現される。
【0225】
変更可能領域内の処理対象箇所が間引き対象箇所であると判断した場合には(S15のY)、ステップS8に進み、処理対象となっているブロックBLの量子化係数の偶奇性をステップS6で取得したHash値の偶奇性に合わせる。
【0226】
ステップS15では、例えば、処理対象箇所が予め設定された間引き対象箇所であるか否かを判断したり、隣り合う量子化係数との差が予め設定された値よりも大きいか否か等を判断したりすることによって、変更可能領域内の処理対象箇所が間引き対象箇所であるか否かを判断する。
【0227】
一方、変更可能領域内の処理対象箇所が間引き対象箇所ではないと判断した場合には(S15のN)、ステップS9に進む。
【0228】
図12は、電子透かしが埋め込まれた符号列データの改ざん検出に際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【0229】
本実施の形態では、図12に示すように、変更可能領域であると判断した場合には(S27のY)、変更可能領域内の処理対象となる量子化係数が間引き対象となっているか否かを判断し(S35)、変更可能領域内の処理対象となる量子化係数が間引き対象となっていると判断した場合には(S35のY)、ステップS28に進み、ステップS26で取得したHash値の偶奇性と同じであるか否かを判断する。
【0230】
一方、変更可能領域内の処理対象となる量子化係数が間引き対象ではないと判断した場合には(S35のN)、ステップS30に進む。
【0231】
本実施の形態によれば、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0232】
このとき、図9に示す例にように、量子化係数Qk−1に対する変化が激しい(急激に変化する)、すなわち、エッジ部に相当するQkの量子化係数を、処理対象として選択することにより、全ての量子化係数に電子透かしを埋め込む場合と比較して画質劣化を抑えるとともに、電子透かしを埋め込むことによる画質劣化を目立ち難くして、電子透かしを埋め込むことによる画質劣化を効果的に抑えることができる。
【0233】
また、単一のブロックBLにおいて、処理対象として選択する量子化係数の選択頻度を調整可能とすることにより、電子透かしの埋め込みにおける処理における処理量や処理速度等を調整することができる。
【0234】
【発明の効果】
請求項1記載の発明の符号生成装置によれば、量子化係数に電子透かしを埋め込むため画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうため、例えば、請求項21記載の画像処理装置を用いて改ざん検出を行なうことにより、改ざん位置をブロック単位で検出することができる。
【0235】
請求項2記載の発明によれば、請求項1記載の符号生成装置において、量子化係数に加えて秘密情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0236】
請求項3記載の発明によれば、請求項1記載の符号生成装置において、量子化係数に加えて日付情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0237】
請求項4記載の発明によれば、請求項1記載の符号生成装置において、量子化係数に加えて製造番号に基づく情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0238】
請求項5記載の発明によれば、請求項1記載の符号生成装置において、各ブロックの量子化係数に加えて、秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0239】
請求項6記載の発明によれば、請求項5記載の符号生成装置において、例えば、ユーザ等が選択した任意の情報をハッシュ変換の種とすることができ、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0240】
請求項7記載の発明によれば、請求項1ないし6のいずれか一に記載の符号生成装置において、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ量子化係数が、元の量子化係数に対して+1または−1より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0241】
請求項8記載の発明によれば、請求項7記載の符号生成装置において、第1の方式または第2の方式を切替自在に設定することができる。
【0242】
請求項9記載の発明によれば、請求項8記載の符号生成装置において、符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0243】
請求項10記載の発明によれば、請求項8記載の符号生成装置において、秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0244】
請求項11記載の発明によれば、請求項1ないし10のいずれか一に記載の符号生成装置において、例えば、請求項20記載の画像処理装置を用いて改ざん検出を行なうことにより、ブロック単位での画像の置き換えも改ざんとして検出することができる。
【0245】
請求項12記載の発明によれば、請求項11記載の符号生成装置において、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【0246】
請求項13記載の発明によれば、請求項1ないし12のいずれか一に記載の符号生成装置において、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【0247】
請求項14記載の発明によれば、請求項1ないし13のいずれか一に記載の符号生成装置において、ビットプレーン毎に処理が独立しているため、後段の符号化に際して他のビットプレーンの切り捨てがあった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【0248】
請求項15記載の発明によれば、請求項14記載の符号生成装置において、有意となるビットのみを偶奇性合わせの対象とすることにより、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0249】
請求項16記載の発明によれば、請求項14または15記載の符号生成装置において、ビットプレーンの上位から下位方向への符号化においてビットのON/OFFを均等に行ない、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0250】
請求項17記載の発明によれば、請求項1ないし16のいずれか一に記載の符号生成装置において、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0251】
請求項18記載の発明によれば、請求項17記載の符号生成装置において、隣り合う量子化係数との差がしきい値以上である、すなわち、隣り合う量子化係数に対して変化の激しい量子化係数における有意ビットをON/OFFすることにより、電子透かしを埋め込むことによる画質劣化をより効果的に抑えることができる。
【0252】
請求項19記載の発明によれば、請求項17または18記載の符号生成装置において、例えば、目的とする画質程度等に応じた頻度で量子化係数を取得することにより、電子透かしを埋め込むことによる画質劣化の程度を管理することができる。
【0253】
請求項20記載の発明によれば、請求項1ないし19のいずれか一に記載の符号生成装置において、例えば、デジタルカメラやスキャナ等の入力手段を用いて入力した画像に電子透かしを埋め込むことができる。
【0254】
請求項21記載の発明の画像処理装置によれば、請求項1ないし20のいずれか一に記載の符号生成装置で生成した符号列データに対する改ざんの有無をブロック単位で検出することができる。
【0255】
請求項22記載の発明によれば、請求項21記載の画像処理装置において、改ざんがある場合、改ざんがあるとして記憶したブロック位置の画像を単色で表示させたり、反転表示させたりすることによって、改ざんされた位置をブロック単位で視認させることができる。
【0256】
請求項23記載の発明の符号生成プログラムによれば、量子化係数に電子透かしを埋め込むため画像データの符号化、復号化を繰り返しても埋め込んだ電子透かしが劣化してしまうことがなく、また、処理対象となる量子化係数が属するブロック毎に取得したハッシュ値に基づいて該量子化係数の偶奇性の調整を行なうため、例えば、請求項42記載の発明の画像処理プログラムを実行して改ざん検出を行なうことにより、改ざん位置をブロック単位で検出することができる。
【0257】
請求項24記載の発明によれば、請求項23記載の符号生成プログラムにおいて、量子化係数に加えて秘密情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0258】
請求項25記載の発明によれば、請求項23記載の符号生成プログラムにおいて、量子化係数に加えて日付情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0259】
請求項26記載の発明によれば、請求項23記載の符号生成プログラムにおいて、量子化係数に加えて製造番号に基づく情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを第三者に解読し難くすることができる。
【0260】
請求項27記載の発明によれば、請求項23記載の符号生成プログラムにおいて、各ブロックの量子化係数に加えて、秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報をハッシュ変換の種とすることにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0261】
請求項28記載の発明によれば、請求項27記載の符号生成プログラムにおいて、例えば、ユーザ等が選択した任意の情報をハッシュ変換の種とすることができ、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0262】
請求項29記載の発明によれば、請求項23ないし28のいずれか一に記載の符号生成プログラムにおいて、元の量子化係数に対して電子透かしを複数重ねて埋め込んだ場合にも、電子透かしを埋め込んだ量子化係数が、元の量子化係数に対して+1または−1より大きく変化することがないので、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0263】
請求項30記載の発明によれば、請求項29記載の符号生成プログラムにおいて、第1の方式または第2の方式を切替自在に設定することができる。
【0264】
請求項31記載の発明によれば、請求項30記載の符号生成プログラムにおいて、符号化ハッシュ値と処理対象となる量子化係数の画像中での座標値とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0265】
請求項32記載の発明は、請求項30記載の符号生成プログラムにおいて、秘密情報が入力された場合には、符号化ハッシュ値と秘密情報とに基づいて第1の方式または第2の方式を設定することにより、埋め込まれる電子透かしを、より効果的に第三者に解読し難くすることができる。
【0266】
請求項33記載の発明によれば、請求項23ないし32のいずれか一に記載の符号生成プログラムにおいて、例えば、請求項42記載の発明の画像処理プログラムを実行して改ざん検出を行なうことにより、ブロック単位での画像の置き換えも改ざんとして検出することができる。
【0267】
請求項34記載の発明によれば、請求項33記載の符号生成プログラムにおいて、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【0268】
請求項35記載の発明によれば、請求項23ないし34のいずれか一に記載の符号生成プログラムにおいて、電子透かしの埋め込みにおける処理量や処理速度等を調整することができる。
【0269】
請求項36記載の発明によれば、請求項23ないし35のいずれか一に記載の符号生成プログラムにおいて、ビットプレーン毎に処理が独立しているため、後段の符号化に際して他のビットプレーンの切り捨てがあった場合にも、ビットプレーンの切り捨てによる影響を受けることがない。
【0270】
請求項37記載の発明によれば、請求項36記載の符号生成プログラムにおいて、有意となるビットのみを偶奇性合わせの対象とすることにより、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0271】
請求項38記載の発明によれば、請求項36または37記載の符号生成プログラムにおいて、ビットプレーンの上位から下位方向への符号化においてビットのON/OFFを均等に行ない、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0272】
請求項39記載の発明によれば、請求項23ないし38のいずれか一に記載の符号生成プログラムにおいて、量子化係数に対して選択的に電子透かしを埋め込むことにより、全ての量子化係数に電子透かしを埋め込む場合と比較して、電子透かしを埋め込むことによる画質劣化を抑えることができる。
【0273】
請求項40記載の発明によれば、請求項39記載の符号生成プログラムにおいて、隣り合う量子化係数との差がしきい値以上である、すなわち、隣り合う量子化係数に対して変化の激しい量子化係数における有意ビットをON/OFFすることにより、電子透かしを埋め込むことによる画質劣化をより効果的に抑えることができる。
【0274】
請求項41記載の発明によれば、請求項39または40記載の符号生成プログラムにおいて、例えば、目的とする画質程度等に応じた頻度で量子化係数を取得することにより、電子透かしを埋め込むことによる画質劣化の程度を管理することができる。
【0275】
請求項42記載の発明の画像処理プログラムによれば、請求項23ないし41のいずれか一に記載の符号生成プログラムを実行することにより生成した符号列データに対する改ざんの有無をブロック単位で検出することができる。
【0276】
請求項43記載の発明によれば、請求項42記載の発明の画像処理プログラムにおいて、改ざんがある場合、改ざんされた位置をブロック単位で視認させることができる。
【0277】
請求項44記載の発明の記憶媒体によれば、請求項23ないし41のいずれか一記載の発明の効果を得ることができる。
【0278】
請求項45記載の発明の記憶媒体によれば、請求項42または43記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図1】JPEG2000方式の基本となる階層符号化および復号化アルゴリズムを示す説明図である。
【図2】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図3】デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示す説明図である。
【図4】プリシンクトを示す説明図である。
【図5】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図6】本発明の第1の実施の形態の画像処理装置の構成を概略的に説明するブロック図である。
【図7】電子透かしの埋め込みに際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【図8】ブロック分割を示す説明図である。
【図9】量子化係数の偶奇性調整を示す説明図である。
【図10】電子透かしが埋め込まれた符号列データの改ざん検出に際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【図11】本発明の第4の実施の形態の画像処理装置による電子透かしの埋め込みに際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【図12】電子透かしが埋め込まれた符号列データの改ざん検出に際して画像処理装置が行なう動作について概略的に説明するフローチャートである。
【符号の説明】
1 符号生成装置、画像処理装置
3 画像入力手段
5 表示部
18 記憶媒体
Claims (45)
- 画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換して量子化した量子化係数を生成する量子化手段と、
前記量子化係数をブロック単位に分割するブロック分割手段と、
前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に符号化ハッシュ値を取得するハッシュ変換手段と、
処理対象となる前記量子化係数の偶奇性を、この量子化係数が属する前記ブロックの前記符号化ハッシュ値の偶奇性に合わせる電子透かし埋め込み手段と、
偶奇性を調整した量子化係数を含む前記量子化係数を符号化して符号列データを生成する符号化手段と、
を具備する符号生成装置。 - 秘密情報を入力する秘密情報入力手段を具備し、
前記ハッシュ変換手段は、前記量子化係数に加えて、前記秘密情報に基づいてハッシュ変換を行なう請求項1記載の符号生成装置。 - 日付情報を取得する日付情報取得手段を具備し、
前記ハッシュ変換手段は、前記量子化係数に加えて、前記日付情報に基づいてハッシュ変換を行なう請求項1記載の符号生成装置。 - 装置の製造番号を認識する製造番号認識手段を具備し、
前記ハッシュ変換手段は、前記量子化係数に加えて、前記製造番号に基づく情報に基づいてハッシュ変換を行なう請求項1記載の符号生成装置。 - 秘密入力情報を入力する秘密情報入力手段と、
日付情報を取得する日付情報取得手段と、
装置の製造番号を認識する製造番号認識手段と、
を具備し、
前記ハッシュ変換手段は、前記量子化係数に加えて、前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報に基づいてハッシュ変換を行なう請求項1記載の符号生成装置。 - 前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報を選択する選択手段を具備し、
前記ハッシュ変換手段は、前記選択手段が選択した情報に基づいてハッシュ変換を行なう請求項5記載の符号生成装置。 - 前記電子透かし埋め込み手段は、前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に+1して前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に−1する第1の方式、または、前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に+1して前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に−1する第2の方式のいずれかの方式により偶奇性を合わせる請求項1ないし6のいずれか一に記載の符号生成装置。
- 前記第1の方式と前記第2の方式とのいずれか一方を切替自在に設定する方式設定手段を具備し、
前記電子透かし埋め込み手段は、前記方式設定手段が設定した方式にしたがって偶奇性を合わせる請求項7記載の符号生成装置。 - 前記方式設定手段は、前記符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて、前記第1の方式または前記第2の方式を設定する請求項8記載の符号生成装置。
- 前記方式設定手段は、前記符号化ハッシュ値と秘密情報を入力する秘密情報入力手段によって入力された前記秘密情報とに基づいて、前記第1の方式または前記第2の方式を設定する請求項8記載の符号生成装置。
- 前記ブロック分割手段は、前記量子化係数を、隣り合う前記ブロックが一部重なり合うようにして分割する請求項1ないし10のいずれか一に記載の符号生成装置。
- 前記ブロック分割手段は、隣り合う前記ブロックが一部重なり合う量を調整自在に分割する請求項11記載の符号生成装置。
- 前記ブロック分割手段は、前記ブロックの大きさを調整自在に分割する請求項1ないし12のいずれか一に記載の符号生成装置。
- 前記量子化係数をビットプレーン単位に分解するビットプレーン分解手段を具備し、
前記電子透かし埋め込み手段は、ビットプレーン単位でのビットのON/OFFにより偶奇性を合わせる請求項1ないし13のいずれか一に記載の符号生成装置。 - 前記電子透かし埋め込み手段は、有意となるビットのON/OFFにより偶奇性を合わせる請求項14記載の符号生成装置。
- 前記符号化手段は、上位のビットプレーンから下位のビットプレーン方向へ符号化を行ない、OFFビットをONにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをOFFにし、ONビットをOFFにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをONにする請求項14または15記載の符号生成装置。
- 処理対象となる前記量子化係数を選択的に取得する量子化係数選択手段を具備し、
前記電子透かし埋め込み手段は、取得した前記量子化係数の偶奇性を合わせる請求項1ないし16のいずれか一に記載の符号生成装置。 - 前記量子化係数選択手段は、隣り合う前記量子化係数との差がしきい値以上である前記量子化係数を選択する請求項17記載の符号生成装置。
- 前記量子化係数選択手段が選択する頻度は調整可能である請求項17または18記載の符号生成装置。
- 対象画像を光学的に読み取った画像を入力する画像入力手段を具備し、
前記量子化手段は、前記画像入力手段が入力した画像を量子化する請求項1ないし19のいずれか一に記載の符号生成装置。 - 請求項1ないし20のいずれか一に記載の符号生成装置で生成した符号列データを復号化して量子化係数を生成する復号化手段と、
前記量子化係数をブロック単位に分割する復号ブロック分割手段と、
前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に復号化ハッシュ値を取得する復号ハッシュ変換手段と、
処理対象となる前記量子化係数の偶奇性とこの量子化係数が属する前記ブロックの前記復号化ハッシュ値の偶奇性とが一致する否かに基づいて改ざんの有無を検出する改ざん検出手段と、
を具備する画像処理装置。 - 前記量子化係数を離散ウェーブレット変換して画像データを生成する画像生成手段と、
改ざんを検出したブロック位置を記憶する改ざん位置記憶手段と、
前記画像データに基づく画像を、記憶したブロック位置を強調して表示部に表示させる強調表示手段と、
を具備する請求項21記載の画像処理装置。 - コンピュータにインストールされ、このコンピュータに、画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換して量子化した量子化係数を生成する量子化機能と、
前記量子化係数をブロック単位に分割するブロック分割機能と、
前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に符号化ハッシュ値を取得するハッシュ変換機能と、
処理対象となる前記量子化係数の偶奇性を、この量子化係数が属する前記ブロックの前記符号化ハッシュ値の偶奇性に合わせる電子透かし埋め込み機能と、
偶奇性を調整した量子化係数を含む前記量子化係数を符号化して符号列データを生成する符号化機能と、
を実行させる符号生成プログラム。 - 前記ハッシュ変換機能は、前記量子化係数に加えて、外部から入力された秘密情報に基づいてハッシュ変換を行なう請求項23記載の符号生成プログラム。
- 前記ハッシュ変換機能は、前記量子化係数に加えて日付情報に基づいてハッシュ変換を行なう請求項23記載の符号生成プログラム。
- 前記ハッシュ変換機能は、前記量子化係数に加えて装置の製造番号に基づく情報に基づいてハッシュ変換を行なう請求項23記載の符号生成プログラム。
- 前記ハッシュ変換機能は、前記量子化係数に加えて外部から入力された秘密情報、日付情報、製造番号に基づく情報のうち二つ以上の情報に基づいてハッシュ変換を行なう請求項23記載の符号生成プログラム。
- 前記秘密情報、前記日付情報、前記製造番号に基づく情報のうち二つ以上の情報を選択する選択機能を前記コンピュータに実行させ、
前記ハッシュ変換機能は、選択した情報に基づいてハッシュ変換を行なう請求項27記載の符号生成プログラム。 - 前記電子透かし埋め込み機能は、前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に+1して前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に−1する第1の方式、または、前記符号化ハッシュ値が奇数であり処理対象となる前記量子化係数が偶数である場合にこの量子化係数に+1して前記符号化ハッシュ値が偶数であり処理対象となる前記量子化係数が奇数である場合にこの量子化係数に−1する第2の方式のいずれかの方式により偶奇性を合わせる請求項23ないし28のいずれか一に記載の符号生成プログラム。
- 前記第1の方式と前記第2の方式とのいずれか一方を切替自在に設定する方式設定機能を前記コンピュータに実行させ、
前記電子透かし埋め込み機能は、設定された方式にしたがって偶奇性を合わせる請求項29記載の符号生成プログラム。 - 前記方式設定機能は、前記方式設定機能は、前記符号化ハッシュ値と処理対象となる前記量子化係数の画像中での座標値とに基づいて、前記第1の方式または前記第2の方式を設定する請求項30記載の符号生成プログラム。
- 前記方式設定機能は、前記符号化ハッシュ値と外部から入力された秘密情報とに基づいて、前記第1の方式または前記第2の方式を設定する請求項30記載の符号生成プログラム。
- 前記ブロック分割機能は、前記量子化係数を、隣り合う前記ブロックが一部重なり合うようにして分割する請求項23ないし32のいずれか一に記載の符号生成プログラム。
- 前記ブロック分割機能は、隣り合う前記ブロックが一部重なり合う量を調整自在に分割する請求項33記載の符号生成プログラム。
- 前記ブロック分割機能は、前記ブロックの大きさを調整自在に分割する請求項23ないし34のいずれか一に記載の符号生成プログラム。
- 前記量子化係数をビットプレーン単位に分解するビットプレーン分解機能を前記コンピュータに実行させ、
前記電子透かし埋め込み機能は、ビットプレーン単位でのビットのON/OFFにより偶奇性を合わせる請求項23ないし35のいずれか一に記載の符号生成プログラム。 - 前記電子透かし埋め込み機能は、有意となるビットのON/OFFにより偶奇性を合わせる請求項36記載の符号生成プログラム。
- 前記符号化機能は、上位のビットプレーンから下位のビットプレーン方向へ符号化を行ない、OFFビットをONにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをOFFにし、ONビットをOFFにする場合は処理対象となるビットプレーンの下位ビットプレーン内の該当する全てのビットをONにする請求項36または37記載の符号生成プログラム。
- 処理対象となる前記量子化係数を選択的に取得する量子化係数選択機能を前記コンピュータに実行させ、
前記電子透かし埋め込み機能は、取得した前記量子化係数の偶奇性を合わせる請求項23ないし38のいずれか一に記載の符号生成プログラム。 - 前記量子化係数選択機能は、隣り合う前記量子化係数との差がしきい値以上である前記量子化係数を選択する請求項39記載の符号生成プログラム。
- 前記量子化係数選択機能により取得する前記量子化係数の選択頻度は調整可能である請求項39または40記載の符号生成プログラム。
- コンピュータにインストールされ、このコンピュータに、
請求項23ないし41のいずれか一に記載の符号生成プログラムの実行により生成した符号列データを復号化して量子化係数を生成する復号化機能と、
前記量子化係数をブロック単位に分割する復号ブロック分割機能と、
前記各ブロックの前記量子化係数に基づいてハッシュ変換を行ないブロック毎に復号化ハッシュ値を取得する復号ハッシュ変換機能と、
処理対象となる前記量子化係数の偶奇性とこの量子化係数が属する前記ブロックの前記復号化ハッシュ値の偶奇性とが一致する否かに基づいて改ざんの有無を検出する改ざん検出機能と、
を実行させる画像処理プログラム。 - 前記量子化係数を離散ウェーブレット変換して画像データを生成する画像生成機能と、
前記画像データに基づく画像を、改ざんを検出したブロック位置を強調して表示部に表示させる強調表示機能と、
を前記コンピュータに実行させる請求項42記載の発明の画像処理プログラム。 - 請求項23ないし41のいずれか一記載の符号生成プログラムを記憶し、コンピュータ読み取り可能である記憶媒体。
- 請求項42または43記載の符号生成プログラムを記憶し、コンピュータ読み取り可能である記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002326544A JP3960597B2 (ja) | 2002-11-11 | 2002-11-11 | 符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体 |
US10/703,509 US7545938B2 (en) | 2002-11-11 | 2003-11-10 | Digital watermarking which allows tampering to be detected on a block-specific basis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002326544A JP3960597B2 (ja) | 2002-11-11 | 2002-11-11 | 符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004165778A JP2004165778A (ja) | 2004-06-10 |
JP3960597B2 true JP3960597B2 (ja) | 2007-08-15 |
Family
ID=32805434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002326544A Expired - Fee Related JP3960597B2 (ja) | 2002-11-11 | 2002-11-11 | 符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7545938B2 (ja) |
JP (1) | JP3960597B2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3960597B2 (ja) | 2002-11-11 | 2007-08-15 | 株式会社リコー | 符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体 |
JP2006157831A (ja) * | 2004-12-01 | 2006-06-15 | Oki Electric Ind Co Ltd | 改ざん検出装置,透かし入り画像出力装置,透かし入り画像入力装置,透かし入り画像出力方法,および透かし入り画像入力方法 |
JP2006235959A (ja) * | 2005-02-24 | 2006-09-07 | Nikon Corp | 撮像画像のオリジナル性を証明する機能を備えた電子カメラと、その検証プログラム |
JP2006279850A (ja) * | 2005-03-30 | 2006-10-12 | Sanyo Electric Co Ltd | 画像処理装置 |
JP2006319949A (ja) * | 2005-04-11 | 2006-11-24 | Toshiba Tec Corp | 非可逆圧縮画像に対する電子透かし作成装置、電子透かし作成プログラム及び電子透かし作成方法 |
JP4618676B2 (ja) | 2005-04-28 | 2011-01-26 | 株式会社リコー | 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体 |
US20090136083A1 (en) * | 2005-09-09 | 2009-05-28 | Justin Picard | Coefficient Selection for Video Watermarking |
JP4789192B2 (ja) | 2006-04-12 | 2011-10-12 | 株式会社リコー | 符号処理装置、プログラム及び情報記録媒体 |
US8160293B1 (en) * | 2006-05-19 | 2012-04-17 | The Research Foundation Of State University Of New York | Determining whether or not a digital image has been tampered with |
JP4867583B2 (ja) * | 2006-10-31 | 2012-02-01 | 富士ゼロックス株式会社 | 印刷システム |
US7970165B2 (en) * | 2007-03-13 | 2011-06-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method for watermarking data |
US8135223B2 (en) * | 2007-03-16 | 2012-03-13 | Ricoh Company, Ltd. | Image processing apparatus and method of image processing |
JP4907487B2 (ja) * | 2007-10-24 | 2012-03-28 | 株式会社リコー | 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体 |
JP5194776B2 (ja) * | 2007-12-21 | 2013-05-08 | 株式会社リコー | 情報表示システム、情報表示方法およびプログラム |
JP4918026B2 (ja) | 2007-12-21 | 2012-04-18 | 株式会社リコー | 画像符号化装置、画像符号化方法、コンピュータプログラム、及び、情報記録媒体 |
US8818020B2 (en) * | 2009-09-18 | 2014-08-26 | Nanyang Technological University | Method of providing security for transmitting a digital medical image |
JP5548419B2 (ja) * | 2009-09-30 | 2014-07-16 | 富士通株式会社 | 署名生成装置、署名検証装置、署名生成方法、署名検証方法、署名生成プログラム、および署名検証プログラム |
AU2010238503B2 (en) * | 2010-10-29 | 2013-08-29 | Canon Kabushiki Kaisha | Two dimensional information symbol |
KR20130107539A (ko) * | 2012-03-22 | 2013-10-02 | 삼성전자주식회사 | 워터마크를 삽입 및 검출하는 방법 및 장치 |
JP2014059381A (ja) | 2012-09-14 | 2014-04-03 | Casio Comput Co Ltd | 画像処理装置、画像処理方法、及びプログラム |
CN105578182B (zh) * | 2014-10-15 | 2019-04-23 | 联想(北京)有限公司 | 一种视频编码、解码方法及装置 |
CN107908969B (zh) * | 2017-11-21 | 2021-03-02 | 中山大学 | 一种基于空域特性的jpeg图像自适应隐写方法 |
JP6497468B1 (ja) * | 2018-06-06 | 2019-04-10 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法、及び画像改ざん判定プログラム |
KR102646952B1 (ko) * | 2019-01-04 | 2024-03-14 | 주식회사 마크애니 | 비디오 콘텐츠에 대한 위변조를 방지하기 위한 부가데이터를 검출하여 디스플레이하는 장치, 방법 및 시스템, 상기 디스플레이 장치와 연동하는 재생장치, 상기 장치의 재생방법 |
TW202115613A (zh) * | 2019-08-28 | 2021-04-16 | 日商索尼半導體解決方案公司 | 資訊處理裝置、資訊處理方法及程式 |
RU2739936C1 (ru) * | 2019-11-20 | 2020-12-29 | Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) | Способ внесения цифровых меток в цифровое изображение и устройство для осуществления способа |
EP3840289A1 (en) * | 2019-12-18 | 2021-06-23 | Hahn-Schickard-Gesellschaft für angewandte Forschung e.V. | Apparatus for obtaining a hash value associated with an object, object identifier, methods and computer program |
CN117376613B (zh) * | 2023-12-07 | 2024-03-15 | 方图智能(深圳)科技集团股份有限公司 | 一种分布式音视频传输控制方法、系统及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US245245A (en) * | 1881-08-02 | Pants | ||
US6192139B1 (en) * | 1999-05-11 | 2001-02-20 | Sony Corporation Of Japan | High redundancy system and method for watermarking digital image and video data |
JP2001008019A (ja) * | 1999-06-18 | 2001-01-12 | Canon Inc | 画像処理装置およびその方法 |
US6671407B1 (en) * | 1999-10-19 | 2003-12-30 | Microsoft Corporation | System and method for hashing digital images |
JP2001211310A (ja) * | 2000-01-27 | 2001-08-03 | Hitachi Ltd | 画像データ操作方法およびその処理プログラムを記録した記録媒体 |
JP2001320584A (ja) | 2000-05-08 | 2001-11-16 | Ricoh Co Ltd | 画像処理装置及び画像形成装置 |
US6674982B2 (en) | 2000-09-26 | 2004-01-06 | Ricoh Company, Ltd. | Image forming apparatus including components mounted and/or dismounted in selected order |
JP3553912B2 (ja) | 2000-09-28 | 2004-08-11 | 株式会社リコー | 消費情報管理システムおよびサービスセンター装置 |
WO2002039714A2 (en) * | 2000-11-08 | 2002-05-16 | Digimarc Corporation | Content authentication and recovery using digital watermarks |
US7013049B2 (en) | 2001-02-28 | 2006-03-14 | Ricoh Company, Ltd. | Image processing scheme |
US7286717B2 (en) | 2001-10-31 | 2007-10-23 | Ricoh Company, Ltd. | Image data processing device processing a plurality of series of data items simultaneously in parallel |
US7411694B2 (en) | 2002-01-21 | 2008-08-12 | Ricoh Company, Ltd. | Data conversion apparatus for and method of data conversion for image processing |
JP3960597B2 (ja) | 2002-11-11 | 2007-08-15 | 株式会社リコー | 符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体 |
-
2002
- 2002-11-11 JP JP2002326544A patent/JP3960597B2/ja not_active Expired - Fee Related
-
2003
- 2003-11-10 US US10/703,509 patent/US7545938B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004165778A (ja) | 2004-06-10 |
US20050053239A1 (en) | 2005-03-10 |
US7545938B2 (en) | 2009-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3960597B2 (ja) | 符号生成装置、画像処理装置、符号生成プログラム、画像処理プログラムおよび記憶媒体 | |
JP3982686B2 (ja) | 符号生成装置、符号生成プログラム、および記憶媒体 | |
Spaulding et al. | BPCS steganography using EZW lossy compressed images | |
US7502488B2 (en) | Image processing apparatus, program, and storage medium that can selectively vary embedding specification of digital watermark data | |
Tian | High capacity reversible data embedding and content authentication | |
JP2002325170A (ja) | 画像処理装置及びその方法並びにプログラムコード、記憶媒体 | |
US7447314B2 (en) | Information processing method, information processing apparatus, program, and storage medium | |
Lu et al. | Lossless information hiding in images | |
Thanikaiselvan et al. | High security image steganography using IWT and graph theory | |
Singh et al. | A recent survey on data hiding techniques | |
Vanmathi et al. | A Survey of State of the Art techniques of Steganography | |
JP2004040233A (ja) | 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
Liu et al. | A reversible data hiding algorithm based on image camouflage and bit-plane compression | |
Chandrasekaran et al. | Applying reversible data hiding for medical images in hybrid domain using haar and modified histogram | |
Arivazhagan et al. | Colour Image Steganography Using Median Maintenance | |
JP2004040236A (ja) | 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
Negrat et al. | Variable length encoding in multiple frequency domain steganography | |
Kumar | Steganography using visual cryptography | |
Lee et al. | Reversible data embedding for tamper-proof watermarks | |
Gupta et al. | A review on watermarking techniques for compressed encrypted images | |
KR20040012272A (ko) | 디지털 영상 인증을 위한 디지털 워터마크의 삽입 및추출방법 | |
JP2007028402A (ja) | 画像処理方法、装置、プログラムおよび記録媒体 | |
Naghsh-Nilchi et al. | A new approach to steganography using sinc-convolution method | |
Yang et al. | Cryptographic and steganographic approaches to ensure multimedia information security and privacy | |
Shahade et al. | An Effective Data Hiding Mechanism Based on Encrypted Images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041007 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050223 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050526 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20060925 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070514 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |