JP2004236229A - Image processor, image processing program and storage medium - Google Patents

Image processor, image processing program and storage medium Download PDF

Info

Publication number
JP2004236229A
JP2004236229A JP2003025135A JP2003025135A JP2004236229A JP 2004236229 A JP2004236229 A JP 2004236229A JP 2003025135 A JP2003025135 A JP 2003025135A JP 2003025135 A JP2003025135 A JP 2003025135A JP 2004236229 A JP2004236229 A JP 2004236229A
Authority
JP
Japan
Prior art keywords
data
digital watermark
boundary position
image
wavelet transform
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.)
Pending
Application number
JP2003025135A
Other languages
Japanese (ja)
Inventor
Takayuki Nishimura
隆之 西村
Yasuyuki Nomizu
泰之 野水
Hiroyuki Sakuyama
宏幸 作山
Junichi Hara
潤一 原
Nekka Matsuura
熱河 松浦
Takanori Yano
隆則 矢野
Taku Kodama
児玉  卓
Toshio Miyazawa
利夫 宮澤
Yasuyuki Shinkai
康行 新海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003025135A priority Critical patent/JP2004236229A/en
Publication of JP2004236229A publication Critical patent/JP2004236229A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enable a boundary position of a block on an original image to be collected at a high speed with as small the number of collation times as possible in order to surely restore digital watermarks even when an image with the digital watermarks embedded thereto is partially segmented. <P>SOLUTION: Although it is required to settle the boundary position of higher-order blocks in wavelet transform in order to take out digital watermark information included in blocks of each layer in the wavelet transform from in the partial image with an optional size segmented at an optional position of an original image, since the block boundary position of each layer divided with the magnitude of the power of 2 can be obtained in horizontal / vertical directions at a probability of 1/2 respectively by sequentially calculating the block boundary position from a lower-order layer to an upper-order layer, the proper block boundary position can be settled by shifting four ways of collation block positions at maximum for each layer and the number of collation times is reduced to attain high speed processing. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、電子透かしを扱う画像処理装置、画像処理用プログラム及び記憶媒体に関する。
【0002】
【従来の技術】
デジタル画像等のデジタル情報(デジタルコンテンツ)は、コンピュータ等によって、情報を劣化させることなく、簡単にコピーすることができる。近年では、デジタル画像技術の発達に伴い、デジタルカメラ等によって取得されたデジタル画像等を、証拠写真として使用することも可能になってきている。このようなデジタルコンテンツには、著作権等が付され、許可無くコピーしたり、コピーしたデジタルコンテンツを再利用したりすることが禁じられているものがある。
【0003】
ところで、デジタルコンテンツは、簡単な修飾処理等の操作を施して書換え等を行なうことによって、容易に改ざんすることができる。このため、デジタルコンテンツは、不正にコピーされて勝手に再利用されたり、一部が改ざんされて証拠写真に使用出来ないようにされたりすることがある。
【0004】
この対策として、デジタル画像等のデジタルコンテンツ中に該デジタルコンテンツを普通に再生した場合には視覚できない情報を付加する、いわゆる、電子透かしやデータハイディング等と呼ばれる方法によって、デジタルコンテンツの不正利用を防止するようにした技術がある。これにより、デジタルコンテンツが不正に利用されているか否かを、該デジタルコンテンツ中に埋め込まれた電子透かしによって判断することができる。
【0005】
電子透かしをデジタルコンテンツに埋め込む用途には、次のようなものがある。
A.著作権情報の記録
B.違法コピー者情報の追跡
C.IPアドレスの履歴記録
D.違法コピーの防止:不可視・高耐性型
E.改ざん防止への応用:不可視・低耐性型
F.認証
G.秘密通信
H.所有権者表示のためにデジタルコンテンツの注釈やラベルを埋め込む:可視・不可逆型
I.透かし除去可能化:可視・可逆型……コンテンツ配布
【0006】
このように電子透かしを用いる目的・用途には種々のものがあるが、著作権侵害、改ざん等を目的とする場合、元の画像そのままではなく、元の画像中から欲しい部分のみを部分的に切り出して悪用することも多々あり、このような場合の大半は、任意位置で切り取られるため、元の画像との位置関係が判らなくなってしまい、所定の電子透かしを抽出・照合できないこととなってしまう。
【0007】
このようなことから、画像の一部が切り出された場合でも電子透かしを復元できるようにした提案例がある。その一つとして、画像データを矩形領域に分割して所定規則に基づく情報を電子透かしとして埋め込む上で、デコードの際に矩形位置が不明になるのを防ぐために各矩形内のデジタルデータに対して所定規則に基づく矩形位置判定用情報も電子透かしとして埋め込むことで、一部分が切り取られた画像でも、電子透かしを復元できるようにした提案例がある(例えば、特許文献1参照)。また、ROIのような特定領域を含む原画像に対して署名画像を埋め込む電子透かし法に関して、署名画像のデータが特定領域により実質上削除されることなく、かつ、その特定領域以外の領域に署名画像のデータを埋め込むことにより、ROIの任意領域を切り出した場合でも、電子透かしを復元できるようにした提案例がある(例えば、特許文献2参照)。
【0008】
【特許文献1】
特開2000−59610公報
【特許文献2】
特開2000−101822公報
【非特許文献1】
The 22nd Symposium on Information Theory and Its Applications(SITA99) Yuzawa,Niigata,Japan,Nov.30−Dec.3,1999“ウェーブレット変換の特性を利用した画像へのインデクス情報の埋め込み方法”岩田基、汐崎陽
【非特許文献2】
The 23nd Symposium on Information Theory and Its Applications(SITA2000) Aso,Kumamoto,Japan,Oct.10−13,2000“ウェーブレット係数の大小関係を利用してインデクス情報を埋め込む電子透かし法”岩田基、汐崎陽
【0009】
【発明が解決しようとする課題】
ところが、特許文献1の場合、例えば3×3画素のウインドウによる走査(捜索)をベースとしているものであり、切り出された部分的な画像の元の画像に対する矩形領域の位置を確定するための照合回数が必ずしも激減するわけでなく、元の画像との位置照合処理の高速化が十分ではない。また、画像圧縮などにより画像劣化の影響がある場合については特に考慮されていないものである。
【0010】
また、特許文献2の場合、主に医用のROIに特化しており、部分的に切り出された場合でもこのROIを抽出することにより場所を特定しているものであり、ROIのような特定領域の有無を問わない一般的な各種画像用としての汎用性に欠ける。
【0011】
本発明の目的は、特定領域の有無を問わず、電子透かしが埋め込まれた画像が部分的に切り出された場合でも、電子透かしを確実に復元するために、元の画像上におけるブロックのバウンダリ位置の照合を極力少ない照合回数で高速に行うことができるようにすることである。
【0012】
【課題を解決するための手段】
請求項1記載の発明の画像処理装置は、画像を複数に分割したブロック毎にその画素値に対して2次元ウェーブレット変換処理、量子化処理を行う画像処理装置において、量子化されたウェーブレット変換係数に所定の電子透かし情報を埋め込む電子透かし埋め込み手段を備え、この電子透かし埋め込み手段は、前記所定の電子透かし情報に加えて、分割されたブロックのバウンダリ位置を特定するために、元の前記画像の2のべき乗の水平/垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づくバウンダリ位置照合用データを電子透かしとして埋め込む。
【0013】
従って、元の画像の2のべき乗の水平/垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づくバウンダリ位置照合用データを分割されたブロックのバウンダリ位置を特定するための電子透かしとして埋め込むことにより、ウェーブレット変換係数が2のべき乗の大きさのブロックを利用している点に対応するバウンダリ位置照合用データの埋め込みとなるので、任意の箇所から任意の大きさに部分的に切り出された画像であっても、元の画像上におけるブロックのバウンダリ位置を確定させるための照合作業を極力少ない照合回数で高速に行わせることができる。
【0014】
請求項2記載の発明は、請求項1記載の画像処理装置において、前記電子透かし埋め込み手段は、圧縮処理しても有効性が保たれる量子化データの最下位ビットにバウンダリ位置照合用データを電子透かしとして埋め込む。
【0015】
従って、画像が圧縮処理を受ける場合であっても除去されることのない有効性が保たれる量子化データの最下位ビットにバウンダリ位置照合用データが電子透かしとして埋め込まれていることにより、部分的に切り出された場合でも元の画像上におけるブロックのバウンダリ位置の照合作業を確実に行わせることができるとともに、最下位ビットへの埋め込みであり、画像に対する画質劣化も抑制することができる。
【0016】
請求項3記載の発明は、請求項1又は2記載の画像処理装置において、前記電子透かし埋め込み手段は、2次元ウェーブレット変換における上位階層のバウンダリ位置照合用データとしてその直下の下位階層の該当箇所の4ビットのバウンダリ位置照合用データの排他的論理和演算に基づき算出されたデータを用いるように各階層のバウンダリ位置照合用データを決定する。
【0017】
従って、ウェーブレット変換において各階層毎に2のべき乗の大きさ関係を有するブロックに関して、各階層毎に新たにバウンダリ位置照合用データを生成するのではなく、各々その直下の下位階層の該当箇所の4ビットのバウンダリ位置照合用データの排他的論理和演算に基づき算出されたデータを用いることにより、ブロックバウンダリ位置照合の照合回数の削減化・高速化のために有効に活用できる。
【0018】
請求項4記載の発明は、請求項3記載の画像処理装置において、前記電子透かし埋め込み手段は、バウンダリ位置照合用データとして2次元ウェーブレット変換における水平/垂直方向に関して各階層毎に独立した組合せの基本パターンを有する。
【0019】
従って、バウンダリ位置照合用データとして2次元ウェーブレット変換における水平/垂直方向に関して各階層毎に独立した組合せの基本パターンを有することにより、各階層毎のバウンダリ位置照合用データの区分けが明確となり、階層順に行うブロックバウンダリ位置照合作業のために有効に活用できる。
【0020】
請求項5記載の発明は、請求項1ないし4の何れか一記載の画像処理装置において、ブロック毎に画像データに関して統計計算して所定の電子透かしとして埋め込むたたみ込み符号を算出し、かつ、算出された当該たたみ込み符号のデータをファジー表現するためのファジー処理を施すたたみ込み符号算出手段を備え、前記電子透かし埋め込み手段は、算出されファジー処理化されたたたみ込み符号を量子化されたウェーブレット変換係数に前記所定の電子透かしとして埋め込む。
【0021】
従って、ブロックバウンダリ位置を照合し確定した後に、本来の所定の電子透かしの照合・検証処理を行うが、このような所定の電子透かしとなるたたみ込み符号のデータ耐性のファジー化により、電子透かし埋め込みによる画質の劣化を回避しており、かつ、電子透かしデータの耐性を高めるために画質を変換させるのに代えて電子透かしとなるたたみ込み符号の統計処理値に基づいているので、画質劣化が少ない上に電子透かしの情報量の増大を図ることもでき、用途に応じた電子透かしとすることができ、かつ、統計処理値が画像の90°回転に対しても区別がなく共通となる対称性を有しているので、部分的に切り出されて90゜回転されたような画像の場合でもその所定の電子透かしを確実に復元することができる。
【0022】
請求項6記載の発明は、請求項5記載の画像処理装置において、前記たたみ込み符号算出手段は、統計計算値を種にして算出された乱数値をたたみ込み符号として用いる。
【0023】
従って、統計計算値を種にして算出された乱数値をたたみ込み符号とすることにより、電子透かしとしての特性をより適正に発揮させることができ、特に、画像の90°回転に対しても有効に機能させることができる。
【0024】
請求項7記載の発明は、請求項3ないし6の何れか一記載の画像処理装置において、画像データ中に埋め込まれている電子透かしデータを抽出する抽出手段と、抽出された電子透かしデータ中のバウンダリ位置照合用データに基づき、2次元ウェーブレット変換における下位階層側から上位階層側に向けて、照合ブロック位置をずらして順次各々の階層におけるバウンダリ位置を確定するバウンダリ位置確定手段と、バウンダリ位置が確定されたウェーブレット変換における上位階層の元の画像における分割されたブロック位置に割り当てられた所定の電子透かし情報と当該ブロックの復号画像データから統計計算により算出されたデータとを照合する電子透かし照合手段と、を備える。
【0025】
従って、任意の箇所で任意の大きさに切り出された部分的な画像中から、ウェーブレット変換における各階層のブロックに含まれている電子透かし情報を取り出すためには、元の画像座標の2のべき乗位置であり、かつ、ウェーブレット係数の低階層のブロックのバウンダリ位置を兼ねているウェーブレット係数の高階層のブロックのバウンダリ位置を確定することが必要であるが、2のべき乗の大きさに分割された各階層のブロックバウンダリ位置の算出は、下位階層側から上位階層側に向けて順に行わせることで、下位階層ほど精度が高い上に、水平/垂直方向に関して各々1/2の確率で求まるため、1階層につき各々最大でも4通りの照合ブロック位置のずらしで妥当なブロックバウンダリ位置を確定できることとなり、照合回数を削減して高速化を図ることができる。
【0026】
これらの請求項1ないし7記載の発明の作用は、請求項8ないし14記載の画像処理用プログラム又は請求項15記載の発明の記憶媒体によっても同様に奏することができる。
【0027】
【発明の実施の形態】
本発明の実施の一形態を図面に基づいて説明する。
【0028】
[JPEG2000について概略説明]
本実施の形態は、JPEG2000アルゴリズム、特に2次元ウェーブレット変換を利用するものであり、まず、JPEG2000について概略説明する。
【0029】
図1は、JPEG2000アルゴリズムの基本を説明するための機能ブロック図である。図1に示すように、JPEG2000アルゴリズムは、色空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105によって構成されている。以下、各部について説明する。
【0030】
色空間変換・逆変換部101及び2次元ウェーブレット変換・逆変換部102について図2及び図3を参照しながら説明する。
【0031】
図2は、カラー画像である原画像の分割された各コンポーネントの一例を示す模式図である。カラー画像は、一般に、図2に示すように、原画像の各コンポーネントR、G、B(111)が、例えばRGB原色系によって分離されている。そして、原画像の各コンポーネントR、G、Bは、さらに、矩形をした領域であるタイル112によって分割される。個々のタイル112、例えば、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15は、圧縮伸長プロセスを実行する際の基本単位を構成する。従って、圧縮伸長動作は、コンポーネントR、G、B(111)毎、そしてタイル112毎に、独立して行なわれる。
【0032】
ここで、画像データの符号化時、各タイル112のデータは、図1に示す色空間変換・逆変換部101に入力され、色空間変換を施された後、2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット変換(順変換)が適用されて周波数帯に空間分割される。
【0033】
図3は、デコンポジションレベル数が3である場合の各デコンポジションレベルにおけるサブバンドを示す模式図である。2次元ウェーブレット変換・逆変換部102は、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジションレベル0)に対して、2次元ウェーブレット変換を施し、デコンポジションレベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして、2次元ウェーブレット変換・逆変換部102は、引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジションレベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。2次元ウェーブレット変換・逆変換部102は、順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジションレベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。図3中、各デコンポジションレベルにおいて符号化の対象となるサブバンドはグレーで示されている。例えば、デコンポジションレベル数を3とした場合、グレーで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0034】
次いで、量子化・逆量子化部103では、指定した符号化の順番で符号化の対象となるビットが定められた後、対象ビット周辺のビットからコンテキストが生成される。
【0035】
図4は、プレシンクトを例示する模式図である。量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図4に示すように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。さらに、個々のプレシンクトは、重複しない矩形の「コードブロック」に分けられる。これは、エントロピーコーディングを行う際の基本単位となる。
【0036】
図5は、2次元ウェーブレット変換後の2次元ウェーブレット係数の値を「ビットプレーン」単位に分解し、画素或いはコードブロック毎に「ビットプレーン」に順位付けを行う処理の概要を示す模式図である。ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素或いはコードブロック毎に「ビットプレーン」に順位付けを行うことができる。図5には、その手順を簡単に示した。この例は、原画像(32×32画素)を16×16画素のタイル4つで分割した場合の例であり、デコンポジションレベル1のプレシンクトとコードブロックとの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコードブロックの番号とは、ラスター順に付けられる。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジションレベル1のウェーブレット係数値を求めている。
【0037】
また、図5には、タイル0/プレシンクト3/コードブロック3について、代表的な「レイヤ」についての概念的な模式図も併せて示している。レイヤの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ0、1、2、3は、各々、1、3、1という3つのビットプレーンからなっている。そして、LSBに近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、MSBに近いレイヤは最後まで量子化されずに残ることになる。LSBに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0038】
次いで、エントロピー符号化・復号化部104について図6を参照しながら説明する。図6は、符号化された画像データのコードストリームを例示する模式図である。エントロピー符号化・復号化部104(図1参照)では、コンテキストと対象ビットとから、確率推定によって各コンポーネントRGBのタイル112に対する符号化を行う。こうして、原画像の全てのコンポーネントRGBについて、タイル112単位で符号化処理が行われる。
【0039】
次いで、タグ処理部105について説明する。タグ処理部105は、エントロピー符号化・復号化部104からの全符号化データを1本のコードストリームに結合するとともに、それにタグを付加する処理を行う。図6に、コードストリームの構造を簡単に示している。このようなコードストリームの先頭と各タイル112を構成する部分タイルの先頭には、ヘッダと呼ばれるタグ情報が付加され、その後に、各タイル112の符号化データが続く。そして、コードストリームの終端には、再びタグが置かれる。
【0040】
一方、復号化時には、符号化時とは逆に、各コンポーネントRGBの各タイル112のコードストリームから画像データを生成する。このような処理について、図1を用いて簡単に説明する。タグ処理部105は、外部より入力したコードストリームに付加されたタグ情報を解釈し、コードストリームを各コンポーネントRGBの各タイル112のコードストリームに分解し、その各コンポーネントRGBの各タイル112のコードストリーム毎に復号化処理を行う。この際、コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部103において、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストを生成する。そして、エントロピー符号化・復号化部104では、そのコンテキストとコードストリームとから確率推定によって復号化を行なって対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは、周波数帯域毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット逆変換を行うことにより、画像データ中の各コンポーネントRGBにおける各タイル112が復元される。復元されたデータは、色空間変換・逆変換部101によって元の表色系のデータに変換される。
【0041】
次に、JPEG2000の符号フォーマット例を説明する。図7はJPEG2000の符号フォーマットを示す概略図である。当該符号フォーマットは、符号データの始まりを示すSOC(Start of Codestream)マーカで始まり、その後に、符号化のパラメータや量子化のパラメータを記述したメインヘッダが続き、さらに、実際の符号データが続く構成である。実際の符号データは、SOT(Start of Tile−part)マーカで始まり、タイルヘッダ、SOD(Start of Data)マーカ、タイルデータ(符号)で構成される。これら画像全体に相当する符号データの後に、符号の終了を示すEOC(End of Codestream)マーカが付加される。
【0042】
以上が、「JPEG2000アルゴリズム」の概要である。
【0043】
[画像処理装置]
本発明が適用される画像処理装置の例としては、各種あるが、本実施の形態では、その一例として、デジタルカメラ、スキャナ、その他の各種入力機器等から入力され、或いは、自身で作成された画像データに関して、著作権保護、改ざん検出等、各々の目的・用途に応じた所定の電子透かし情報を埋め込んで圧縮符号化する一方、当該画像データに関する著作権侵害、改ざんの有無検出等を立証するパーソナルコンピュータに適用した例で説明する。
【0044】
図8は、このような画像処理装置に相当するパーソナルコンピュータ31のハードウェア構成を概略的に示すブロック図である。図8に示すように、コンピュータ31は、当該コンピュータの主要部であって各部を集中的に制御するCPU(Central Processing Unit)32を備えている。このCPU32には、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)33と、各種データを書換え可能に記憶するRAM(Random Access Memory)34とがバス35で接続されている。RAM34は、各種データを書換え可能に記憶する性質を有していることから、CPU32の作業エリアとして機能し、例えば入力バッファ等の役割を果たす。
【0045】
さらにバス35には、HDD(Hard Disk Drive)36と、配布されたプログラムであるコンピュータソフトウェアを読み取るための機構としてCD(Compact Disc)−ROM37を読み取るCD−ROMドライブ38と、相手方となるコンピュータとネットワーク39との通信を司る通信制御装置40と、キーボードやマウスなどの入力装置41と、CRT(Cathode Ray Tube)やLCD(LiquidCrystal Display)である表示装置42とが、図示しないI/Oを介して接続されている。
【0046】
そして、パーソナルコンピュータ31の場合であれば、ネットワーク39を介してサーバからダウンロードした圧縮符号化された符号データは、HDD36に格納されることになる。
【0047】
また、CD−ROM37は、本発明の記憶媒体を実施するものであり、OS(Operating System)や各種コンピュータソフトウェアが記憶されている。CPU36は、CD−ROM37に記憶されているコンピュータソフトウェアをCD−ROMドライブ38で読み取り、HDD36にインストールする。
【0048】
なお、記憶媒体としては、CD−ROM37のみならず、DVDなどの各種の光ディスク、各種光磁気ディスク、FDなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、通信制御装置40を介してインターネットなどのネットワーク39からコンピュータソフトウェアをダウンロードし、HDD36にインストールするようにしてもよい。この場合に、送信側のサーバでコンピュータソフトウェアを記憶している記憶装置も、本発明の記憶媒体である。なお、コンピュータソフトウェアは、所定のOS(Operating System)上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【0049】
このような構成のコンピュータ31には、コンピュータソフトウェアの一つとして、画像を処理する画像処理プログラムが記憶されている。この画像処理プログラムは本発明のプログラムを実施するものである。そして、この画像処理プログラムに基づいてCPUが実行する処理により、コンピュータ31の各部の各種機能を実現する。その一つとして、図1を参照して説明したJPEG2000アルゴリズムの各機能ブロックを備え、前述のようなJPEG2000アルゴリズムにより画像データの圧縮符号化、又は、符号データの復号化を行う。即ち、図1に示したような圧縮符号化手段及び復号化手段の機能は、HDD36に記憶されているプログラムに基づいてCPU32が行う処理により実行される(もっとも、論理回路等を利用したハードウェア構成により実行させてもよい)。
【0050】
[画像符号化処理]
本実施の形態では、基本的に図1等で説明したJPEG2000アルゴリズム、特に2次元ウェーブレット変換を利用して画像データの圧縮符号化を行うものであり、その際、ユーザの必要性・目的に応じた耐性を付与した所定の電子透かし情報を埋め込み、併せて、部分的に切り出された画像からもこのように埋め込まれた電子透かしを有効に抽出できるように、バウンダリ位置照合用データも電子透かしとして埋め込むものである。ここでは、バウンダリ位置照合用データに関する説明に先立ち、著作権保護用、改ざん検出用等の本来の電子透かし情報の埋め込み及びその復元について説明する。
【0051】
パーソナルコンピュータ31においてこのような画像符号化処理を行うJPEG2000アルゴリズムによる圧縮符号化手段を適宜簡略化して書き直すと、図9のように示すことができる。即ち、デジタルカメラ、スキャナ等の画像入力機器、その他から画像データの入力を受付ける入力部51、受付けた画像データに対して色空間変換等の処理を経た後、2次元ウェーブレット変換処理を行う2次元ウェーブレット変換部52(102に相当)、変換された離散ウェーブレット変換係数に対して効率のよい圧縮を行うためにそのダイナミックレンジを削減するポスト量子化等の非可逆な量子化処理を行う係数量子化部53(103に相当)、量子化された離散ウェーブレット変換係数に対して前述のエントロピー符号化(係数モデリング+算術符号化)等の可逆圧縮符号化処理を行う可逆圧縮符号化部54(104に相当)、符号化された符号データの並べ替え処理等を行い、必要箇所に出力する符号データ出力部55(105に相当)による圧縮符号化手段56を有する。ここに、可逆圧縮符号化部54の“可逆圧縮符号化”とは、変換しても完全に元に戻せる変換処理のことをいい、前述の算術符号化等の処理が該当する。
【0052】
このような通常のJPEG2000アルゴリズムによる圧縮符号化手段56の機能に加え、圧縮符号化手段56により可逆圧縮符号化される直前のデータ、ここでは、係数量子化部53により量子化された離散ウェーブレット変換係数に対して、符号化された電子透かしデータを埋め込む電子透かし埋め込み手段又は電子透かし埋め込み機能として作用する電子透かし埋め込み部57が付加されている。この電子透かし埋め込み部57による処理等についての詳細は後述するが、ここでは、たたみ込み符号化部58において元の画像データに関する分割領域=ブロック毎の画像統計値(平均値、分散値等)を種(タネ)にした乱数値により生成されたたたみ込み符号を電子透かしデータとして用いて埋め込むものである。
【0053】
[符号復号化処理]
本実施の形態のパーソナルコンピュータ31は、例えば著作権を侵害すると思われる行為や、画像を改ざんすると思われる行為があった場合に、その画像データの所有者(著作権者等)が、このような不正を立証するために証拠として取得した画像データに関して所定の電子透かし情報を照合・検証するために、JPEG2000アルゴリズムによる符号データをJPEG2000アルゴリズムにより復号化するものである。このような符号復号化処理を行うJPEG2000アルゴリズムによる復号化手段を適宜簡略化して書き直すと、図10(b)のように示すことができる。即ち、前述のように、電子透かしデータが埋め込まれた符号データの入力を受付ける入力部61に対して、受付けた符号データに対してエントロピー復号化処理等の可逆圧縮符号の復号化処理を行う可逆圧縮符号の復号化部62、2次元ウェーブレット逆変換等を行って元の画像データに復元する2次元ウェーブレット逆変換部63(103,102,101等に相当)による復号化手段64を有する。
【0054】
加えて、復号化部62と2次元ウェーブレット逆変換部63との間には、符号データ中に埋め込まれている電子透かしデータを復号するための抽出手段又は抽出機能として作用する電子透かし復号部65が付加されている。この電子透かし復号部65の処理等の詳細についても後述するが、たたみ込み方式に対して対をなす復号化方式として周知のビタビ(Viterbi)復号方式が用いられている。また、電子透かし復号部65から得られるビタビ復号信号と、復号された画像データに関する分割領域=ブロック毎の画像統計値(平均値、分散値等)とを比較照合することにより、電子透かしの改ざんの有無等をチェックする電子透かし照合手段又は電子透かし照合機能として作用する照合部66も付加されている。
【0055】
なお、図10(a)は符号化されたデータからの復号・照合方式を示したが、画像自体からの電子透かしデータを照合する場合であれば、図10(b)に示すように示すことができる。即ち、符号化時と同様に、画像データ(後述するように部分的に切り取られた画像データ)の入力を受付ける入力部71、受付けた画像データに対して色空間変換等の処理を経た後、2次元ウェーブレット変換処理を行う2次元ウェーブレット変換部72(102に相当)、変換された離散ウェーブレット変換係数に対してそのダイナミックレンジを削減するポスト量子化等の非可逆な量子化処理を行う係数量子化部73(103に相当)とともに、係数量子化部53により量子化された離散ウェーブレット変換係数中から、電子透かしデータを抽出する抽出手段又は抽出機能として作用する電子透かしデータ抽出部74と、入力された画像データに関する分割領域=ブロック毎の画像統計値(平均値、分散値等)を種(タネ)にした乱数値によりたたみ込み符号を生成するたたみ込み符号化部75と、抽出された電子透かしデータと生成されたたたみ込み符号とを照合・検証する電子透かし照合手段又は電子透かし照合機能として作用する照合部76とが設けられている。
【0056】
以下、埋め込み側・復号側で対応する各処理に分けて順に説明する。
【0057】
[電子透かし埋め込み処理−電子透かし抽出照合処理]
この処理は、図9にあっては、入力部51、2次元ウェーブレット変換部52、係数量子化部53、電子透かし埋め込み部57の処理であり、図10(a)にあっては、電子透かし復号部65及び2次元ウェーブレット逆変換部63の処理である。
【0058】
この処理に関しては、基本的には、JPEG2000のウェーブレット変換の特徴及び非特許文献1,2の方式を利用するものである。即ち、ウェーブレット変換によれば、画像データを周波数成分に分割した場合、サブバンドLL,LH,HL,HHの各成分に分割することができる。ここに、サブバンドLLは原画像の解像度を1/2にした画像を表現する最低周波成分であり、サブバンドLH,HL,HHは画像の横、縦、斜め方向の差分情報を表現する周波数成分であり、サブバンドHHが最高周波成分である。このうち、サブバンドLLは原画像の特徴を大きく表しているため、サブバンドLLに情報を埋め込むと、埋め込み後の画像に顕著な変化が出やすく、一方、サブバンドHHは一般的な画像変換処理や画像圧縮処理により取り除かれてしまうので、情報の埋め込みには向いていないものの、情報を埋め込んでも画像には変化が出にくいので埋め込み情報量を増やすには必要な場所である。
【0059】
そこで、一般的には、非特許文献1中にも記載されているように、サブバンドLH又はHLなる箇所のウェーブレット変換係数に情報を埋め込むことが好適といえるが、サブバンドLHは図11(a)に示すように原画像の水平方向の変化量を表しており、水平方向のウェーブレット変換中はサブバンドLLに対して垂直方向に位置するLH画像が類似し、サブバンドHLは図11(b)に示すように原画像の垂直方向の変化量を表しており、垂直方向のウェーブレット変換中はサブバンドLLに対して水平方向に位置するHL画像が類似する特性を持つ。そして、非特許文献1の場合と同様に、これらのサブバンドLHとHLとの局所的な画素の値の和の大小関係を利用して電子透かしデータを埋め込むことを基本とする。
【0060】
もっとも、非特許文献1等では、例えばデジタルカメラ等から入力されるrawデータであるRGBデータを対象としているが、本実施の形態では、色空間変換処理によりRGB→YCbCr(YUV)変換されたYUVデータのウェーブレット変換係数を対象として電子透かしデータを埋め込むように改良しているものである。より具体的には、輝度成分Y,色差成分Cb(U),Cr(V)の重要度(輝度成分Yは画質に大きく影響する)に応じた一般的な変換例である4:2:2YUVへの適用例とされている。
【0061】
そこで、例えば図12に示すように、16×16画素の色変換された原画像(YUYV)の各々についてウェーブレット変換を施してサブバンドLL,LH,HL,HHに周波数分割したウェーブレット変換係数に関して、輝度成分Y0,Y1にはなるべく電子透かし情報を埋め込まないようにするため非特許文献1に準じてサブバンドLH,HLの何れかの領域にそれらの局所的な画素の値の和の大小関係を利用して電子透かしデータを埋め込むものとする一方、画質への影響の少ない色差成分U,Vにはより多くの電子透かし情報を埋め込むようにするため非特許文献2に準じてサブバンドHHをも考慮してサブバンドLH,HH又はサブバンドHL,HHの一方の組合せの領域にそれらの局所的な画素の値の和の大小関係を利用して電子透かしデータを埋め込むようにしたものである。図12中に示す+,−の表記は非特許文献1中のものと同様であり、非特許文献2中のP,Qに相当し、演算処理等はこれらの非特許文献1,2の場合と同様であるので、その詳細は省略する。
【0062】
よって、ウェーブレット変換係数中に電子透かしデータを埋め込む手法として、基本的には、非特許文献1,2等の方式を利用しているものの、色分解された4:2:2YUVデータを対象とし、輝度成分Yと色差成分U,Vとで電子透かしデータ量を異ならせているので、画質を落とすことなく、電子透かしとして埋め込むデータ量を4倍に増大させることができる。よって、基本的に電子透かし量が最重視される改ざん防止用に効果的な上に、著作権保護用等であっても画質劣化が少ないことが判る。
【0063】
[たたみ込み符号−ビタビ復号方式]
本実施の形態では、電子透かしとして埋め込むデータに関して、ブロック符号化変調技術、符号理論等で周知なたたみ込み符号−ビタビ復号の組合せを利用するものであり、この処理は、図9にあっては、たたみ込み符号化部58の処理であり、図10(a)にあっては、電子透かし復号部65の処理である。
【0064】
まず、たたみ込み符号に関しては、例えば、“符号理論入門”岩垂好裕著、昭晃堂‘97なる文献中に記載されている図13に示すような演算処理を利用することができる。図中、Iは元の信号、Cmnは算出された信号、+は排他的論理和演算を表している。図示例は、2個のメモリを使用したたたみ込み拘束長2、符号化率1/2の例を示しており、2つの信号
1j=I+Ij−2
0j=I+Ij−1+Ij−2
が算出される。このようなたたみ込み符号を用いることにより、荒っぽい処理がされてもデータが残り、結果として、耐性が高いことがよく知られており(例えば、NASA宇宙技術でも利用)、信号Cijのi,jの数、Ij+Ij−2の数が多いほど、即ち、たたみ込み拘束長の値が大きいほど耐性が大きいことも知られており、このたたみ込み拘束長の値を可変させることにより耐性の程度を調整することができる。
【0065】
ここに、図13に示したたたみ込み演算方式の演算例を示すと、表1のようにまとめることができる(これは、同文献中にも記載されている)。
【0066】
【表1】

Figure 2004236229
【0067】
この結果、このようなたたみ込み拘束長2、符号化率1/2の方法に関して、逆変換による画素値を算出すると(変数(独立):12変数C )、
=C0,(j+1)+C1,(j+1)
=C1,j +C0,(j−1) +C1,(j−1)
=C1,(j+2)+C0,(j+3) +C1,(j+3)
=C0,(j+1)+C0,j +C1,j +C0,(j+2) +C1,(j+2)
=C0,(j+2)+C0,(j+3) +C0,(j+4) +C1,(j+4)
となる。これにより、たたみ込み拘束長2、符号化率1/2の方法に関して5票による多数決が適用でき、信頼性が向上することが裏付けられる。例えば、1信号の読取り正解率が92%以上の場合であれば、5票の多数決により99%以上を復元し得る信頼性の高いものとなる。
【0068】
ちなみに、特許文献2等で用いられている単純多数決方式と対比した結果を示すと、表2に示すようになる。
【0069】
【表2】
Figure 2004236229
【0070】
即ち、多数決に3票用いる単純多数決方式の場合、情報量として元の3倍必要として98.2%の信頼性に留まるのに対して、前述のたたみ込み拘束長2の場合で情報量として元の2倍で5票による多数決、99.5%の信頼性が得られ、さらには、たたみ込み拘束長3の場合で情報量として元の2倍で7票による多数決、99.9%の信頼性が得られ、たたみ込み拘束長4以上の場合で情報量として元の2倍で9票による多数決、信頼性向上がみられたものである。従って、強い耐性が要求される著作権保護用の電子透かしの場合であれば、符号化率は1/2、たたみ込み拘束長を6の如く設定する一方、耐性がある程度低いことが要求される改ざん検出用の電子透かしの場合であれば、符号化率は1/2で一律とするものの、たたみ込み拘束長を2〜3の如く設定すれば、各々の目的に応じた耐性レベルの設定が可能となる。
【0071】
電子透かしとして埋め込まれたこのようなたたみ込み符号を復号・抽出する電子透かし復号部65での処理として行われる復元性の高いビタビ復号処理は、たたみ込み符号と対をなす復号方式として周知であり(例えば、前述の文献や特開2000−174628公報等参照)、このような一般的な技術を利用すればよいので、詳細説明は省略する。図14は前述したようにたたみ込み符号の拘束長が2、符号化率が1/2の場合のビタビ復号の基本的な一般図を示すもので(前述の文献中に記載されている)、図14(a)は電子透かし復号部65の内部状態を各時刻毎に示した格子状表現によるトレリス線図、図14(b)はその状態遷移図である。
【0072】
[電子透かしデータの耐性をファジー化する処理]
この処理は、図9にあっては、たたみ込み符号化部58において統計計算値に基づき算出されたたたみ込み符号のデータをファジー表現するためのファジー処理を施す処理であり、図10にあっては、照合部66の処理である。このファジー化処理は、例えば、平均値、分散値等の統計計算値が非可逆圧縮によって低下する信頼性を補完するための技術であり、例えば、2bitの場合であれば、図15に数量表現の基本パターンとして模式的に示すように、数量を表すbit情報の変化が滑らかとなるように、数値が1増える毎に1bitずつしか変化させない表現内容を取るようにすればよい。即ち、通常のビット表現であれば、0(意味)=00(bit)、1(意味)=01(bit)、2(意味)=10(bit)、3(意味)=11(bit)となるが、ファジー化により図14中に示すような表現内容に変更するものである(2,3の対応関係が崩れる)。
【0073】
また、3bitの場合も、図16に示すように数値が1増える毎に1bitずつ変化する表現内容を取るようにすればよい。即ち、通常のビット表現であれば、0(意味)=000(bit)、1(意味)=001(bit)、2(意味)=010(bit)、3(意味)=011(bit)、4(意味)=100(bit)、5(意味)=101(bit)、6(意味)=110(bit)、7(意味)=111(bit)となるが、ファジー化により図16中に示すような表現内容に変更するものである(2〜6の対応関係が崩れる)。この3bitの場合のファジー化によれば、上述のような非可逆圧縮に伴う画質低下、埋め込みデータの信頼性低下をハミング距離で判断することができる。即ち、ハミング距離が小さい場合には画像データの改ざんとは見倣さず、ハミング距離が大きい場合のみ改ざんありと判断することができる。例えば、図16に示す例であれば、1bitの不一致があっても改ざんとは看做さないように判断することができる。
【0074】
このように、ファジー処理によりたたみ込み符号のデータを表現するビット数が、例えば2ビット、3ビットの如く、可変設定自在であるので、電子透かしとしてのデータをファジー化する処理において改ざん発見レベルの調整が可能となる。よって、改ざん検出用の電子透かしの場合であれば、そのデータ耐性のファジー化のビット数を3bitに設定すれば改ざん検出のより一層の適正化を図れる一方、著作権保護用の電子透かしの場合であれば、データ耐性のファジー化のビット数を2bitに設定すれば情報量を少しでも減らして画質劣化の抑制を図ることができる。
【0075】
結局、本実施の形態においては、2次元ウェーブレット変換係数への電子透かしの埋め込み、耐性調整が可能なたたみ込み符号−ビタビ復号の組合せに加えて、電子透かしとなるたたみ込み符号のデータ耐性のファジー化(Gray符号の類)を組合せることで、電子透かし埋め込みによる画質の劣化を回避しており、電子透かしデータの耐性を高めるために画質を変換させるのに代えて電子透かしとなるたたみ込み符号の統計処理値に基づいているので、画質劣化が少ない上に電子透かしの情報量の増大を図ることもでき、用途に応じた電子透かしとすることができる。よって、画質劣化の抑制や電子透かしの情報量の増大を図れる点で、特許文献1等に示される従来技術に対して、目的に応じた最適な電子透かしとなる。
【0076】
[部分切り出し画像に対する電子透かしの有効化]
上述の著作権保護用〜改ざん検出用等の電子透かしに関しては、元の画像が部分的に切り出されて不正に利用されるようなケースを特に想定していないが、以下に、画像がブロック位置に無関係に任意の位置から任意の大きさで部分的に切り出された場合にも有効となる電子透かしの埋め込み方式及びその抽出・照合方式について説明する。
【0077】
概略的には、図9等を利用した電子透かし埋め込み系の処理においては、ウェーブレット変換係数が2のべき乗の大きさの領域を使用している点に着目し、元の画像の2のべき乗の垂直/水平方向の座標線に囲まれた領域であるブロック単位に独立したデータ=バウンダリ位置(ブロック間の境界位置)照合用データを電子透かしとして埋め込むようにする。一方、改ざんの有無等を検証する図10を利用した照合側では、任意の箇所で任意の大きさに部分的に切り出された画像は、元の画像の任意の位置から開始しているので、ウェーブレット変換における各階層のブロックに含まれている所定の電子透かし情報を抽出するには、ウェーブレット変換における高階層側のブロックのバウンダリ位置(即ち、元の画像における座標の2のべき乗位置であり、かつ、ウェーブレット変換における下位階層側のブロックのバウンダリ位置を兼用している)を確定することが必要である。このようなウェーブレット変換における高階層側のブロックのバウンダリ位置を確定させる上で、下位階層側のブロックのバウンダリ位置の方が、下位階層ほど精度が高い(細かい)ため、下位階層側のブロックのバウンダリ位置を確定してから、順に、より上位階層側のブロックのバウンダリ位置を確定することにより、最終的に、最上位階層のブロックのバウンダリ位置を確定する方式をとる。この際、ウェーブレット変換によれば、2のべき乗の大きさに各階層のブロックが分割されているので、各階層におけるブロックバウンダリ位置の確定は、水平方向及び垂直方向に各々1/2の確率で求まるため、結果的に、1階層につき、各々4通りの照合ブロックの位置ずらしによる照合処理を行うだけで、妥当なブロックバウンダリ位置を確定することができる。詳細は、後述するが、このような方式によれば、ブロックバウンダリ位置の確定を高速に行うことができる。
【0078】
例えば、8×8画素の大きさのブロックのバウンダリ位置を確定する場合を想定すると、1画素ずつずらして合致する箇所を探す従来の連続調査方式による場合には、64通りの統計調査を行いその結果を比較して判断しなければならないが、上述した本実施の形態のバウンダリ位置照合確定方式によれば、各階層が何れも4通りの統計調査だけで済むので、8×8画素=2のブロックの場合であれば、3階層分の統計調査、即ち、4×3=12通りの統計調査で済み、照合回数を大幅に削減させることができ、処理の高速化を図れる。
【0079】
同様にして、各種ブロック画素数に関して従来の連続調査法と本実施の形態のようにウェーブレット変換の階層を利用した調査法とで、必要とする調査回数を対比して示すと、
Figure 2004236229
となり、本実施の形態の方式によれば、ブロック画素数が多くなるほど照合回数を激減させ得ることが判る。
【0080】
[バウンダリ位置照合用データの電子透かし埋め込み]
ブロック間のバウンダリを求めるための各階層の電子透かし状態(バウンダリ位置照合用データ)の決定には、ハッシュ(Hash)関数が用いられる。即ち、
Hash(“パスワード”,n(階層),(0:横方向、1:縦方向)→奇数(1)/偶数(0)決定 ………▲1▼
なる関数を用いる。この演算結果に関して、
A.横方向:▲1▼式の算出結果が奇数(又は、偶数)なら、奇数桁座標のデータとして奇数値(又は、偶数値)が多くなるようにする。
B.縦方向:▲1▼式の算出結果が奇数(又は、偶数)なら、奇数行座標のデータとして奇数値(又は、偶数値)が多くなるようにする。
ように活用する。
【0081】
このようなバウンダリ位置照合用データの電子透かしは、画像データに関する圧縮処理を受けても捨てられることなく有効性が保たれるように量子化係数のデータの最下位1bitに埋め込むものとする。
【0082】
ここで、各階層毎のバウンダリ位置照合用データ例について説明する。まず、第0階層(=最下位階層)のバウンダリ位置照合用データとしては、
・横の奇数桁座標のデータ:(Hash(“パスワード”,0,0)=1(奇数の場合)→奇数値を多くする
・縦の奇数桁座標のデータ:(Hash(“パスワード”,0,1)=0(偶数の場合)→偶数値を多くする
という条件の場合であれば、図17(a)〜(d)に示すようなデータ例の画像が考えられる。図中、“1”は奇数値(最下位bitがON)、“0”は偶数値(最下位bitがOFF)を表している。
【0083】
次に、1つ上位の第1階層のバウンダリ位置照合用データについて説明する。このデータとしては、
・第1階層の偶数値(0):第0階層の該当箇所の1(bitON)の数が偶数個であることを表す場合、
【0084】
【数1】
Figure 2004236229
【0085】
等、第0階層のバウンダリ位置照合用データ4bitの排他的論理和の結果が第1階層のバウンダリ位置照合用データの1bitとなり、
・第1階層の奇数値(1):第0階層の該当箇所の1(bitON)の数が奇数個であることを表す場合、
【0086】
【数2】
Figure 2004236229
【0087】
等、第0階層のバウンダリ位置照合用データ4bitの排他的論理和の結果が第1階層のバウンダリ位置照合用データの1bitとなる。従って、図17に示した第0階層のデータ例の場合について、第1階層のデータ例で表現すると、次式のようになる。
【0088】
【数3】
Figure 2004236229
【0089】
従って、第1階層の演算結果が、
・横の奇数桁座標のデータ:(Hash(“パスワード”,1,0)=0(偶数の場合)→偶数値を多くする
・縦の奇数桁座標のデータ:(Hash(“パスワード”,1,1)=0(偶数の場合)→偶数値を多くする
の場合、第0階層との整合性は、上例の場合、(b)又は(d)が適合するといえる。
【0090】
次に、最上位の第n階層のバウンダリ位置照合用データについて説明する。この第n階層のバウンダリ位置照合用データ(1bitデータ)も同様に、第(n−1)階層の該当箇所の4bitの排他的論理和演算により求める。即ち、バウンダリ位置照合用データとしては、各階層毎に新たに電子透かしデータとして生成して埋め込むのではなく、ウェーブレット変換における上位階層のバウンダリ位置照合用データとしてその直下の下位階層の該当箇所の4ビットのバウンダリ位置照合用データの排他的論理和演算に基づき算出されたデータを用いるように各階層のバウンダリ位置照合用データを決定するものである。
【0091】
図18はこのような各階層毎のバウンダリ位置照合用データを電子透かしデータとして確定させるための処理例を示す概略フローチャートであり、後で検証するためのパスワードが入力された後(ステップS1)、階層数nを変数kに設定し(S2)、変数kが負でなければ(S3のN)、横の奇数桁座標のデータ:(Hash(“パスワード”,k,0)により横方向の電子透かし値を算出し(S4)、引き続き、縦の奇数桁座標のデータ:(Hash(“パスワード”,k,1)により縦方向の電子透かし値を算出する(S5)。これらの演算結果に基づき、透かし確定値(“0”/“1”)として、数4に示す各階層毎の基本パターンが何れであるかを決定する。そして、その基本パターンに従い、“?”で示す浮動値(未確定電子透かし値)を上位階層処理時の決定値に基づき決定する(S6)。このような処理を上位階層から下位階層に向けて順に行う(S7)。
【0092】
【数4】
Figure 2004236229
【0093】
従って、Hash()関数の演算結果に関して、
・Hash(“パスワード”,0,0)=0…第0階層の横奇数桁の偶奇性(偶)
・Hash(“パスワード”,0,1)=0…第0階層の横奇数桁の偶奇性(偶)
・Hash(“パスワード”,1,0)=0…第1階層の横奇数桁の偶奇性(偶)
・Hash(“パスワード”,1,1)=1…第1階層の横奇数桁の偶奇性(奇)
・Hash(“パスワード”,2,0)=1…第2階層の横奇数桁の偶奇性(奇)
・Hash(“パスワード”,2,1)=0…第2階層の横奇数桁の偶奇性(偶)
によって、各階層の電子透かしデータ(バウンダリ位置照合用データ)として
【0094】
【数5】
Figure 2004236229
【0095】
のような内容を決定する。行列式中、“0”/“1”が各階層の基本パターンを示す確定値であり、“?”が未確定の浮動値である。
【0096】
このような内容を上位階層から順に明確化していく。例えば、図19(a)〜図20(c)はこの様子を示している。図中、アンダーラインを付して示す数値0,1は各々行列式中で示した確定値に相当する。そして、第0階層について決定された電子透かしデータ(バウンダリ位置照合用データ)を例えば図19(d)に示すように元の画像データへの配置として同じ内容を4回繰り返すことにより、各ブロックに電子透かしとして埋め込むようにする。この処理が、図9等で前述の電子透かし埋め込み部57により実行される。
【0097】
[バウンダリ位置照合用データの抽出等]
対象となる画像データに関して、その著作権保護用〜改ざん検出用などの本来の電子透かし情報を抽出・照合・検証する前に行われる、ブロックバウンダリ位置を確定するためのバウンダリ位置照合用データの抽出処理について図20を参照して説明する。図20はこの処理例を示す概略フローチャートであり、符号化時と同じパスワードの入力を確認した後(ステップS11)、変数kを0に初期設定し(S12)、変数kがウェーブレット変換の階層数nより大きくなければ(S13のN)、横の奇数桁座標のデータ:(Hash(“パスワード”,k,0)により横方向の電子透かし値を算出し(S14)、引き続き、縦の奇数桁座標のデータ:(Hash(“パスワード”,k,1)により縦方向の電子透かし値を算出する(S15)。これらの演算結果に基づき、透かし確定値(“0”/“1”)として、数4に示したような各階層毎の基本パターンが何れであるかを決定する。そして、その階層の基本パターンにおける透かし確定値に基づきブロックバウンダリ位置を確定する(S16)。このステップS16の処理がバウンダリ位置確定手段又はバウンダリ位置確定機能として実行される。このような処理を下位階層から上位階層に向けて順に行う(S17)。これにより、最終的に最上位の階層のバウンダリ位置を確定することで、任意の位置で任意の大きさに部分的に切り取られた画像であっても、元の画像上における位置を確定することができ、適正に本来の電子透かしの照合処理等に移行することができる。
【0098】
即ち、元の画像の任意の位置から任意の大きさで部分的に切り出された画像について、ブロックバウンダリ位置を確定するためのバウンダリ位置照合用データの抽出例について説明すると、当該データを電子透かしとして埋め込む場合と同様にHash()関数によって各階層の電子透かし(バウンダリ位置照合用データ)の状態を決定する。即ち、数4等で説明したように、バウンダリ位置照合用データの電子透かしとしての埋め込み時の場合と同様の内容が決定される。これは、図18及び図20の概略フローチャート中に示したように、埋め込み時と同じパスワードを使用して各階層の電子透かし(バウンダリ位置照合用データ)を復元することにより、埋め込み時と同じ内容となる。
【0099】
そして、図20に示したフローチャートのように、下位階層側から順にブロックバウンダリ位置を確定していくわけであるが、例えば、図21に示すように、元の画像における任意の位置で任意の大きさに部分的に切り出された画像の場合を例にとり、順に説明する。この場合の各階層のバウンダリ位置照合用データ例は、図19に示した例とする。図22はこのように任意に切り出された画像の各ブロックの最下位1bitのデータ例一覧を示す説明図である。
【0100】
まず、抽出されたこのような各ブロックの最下位1bitのデータ例一覧に対して、図23(a)に示すような第0階層の基本パターンを適用し、この基本パターンから判断すると、
・横方向は、
(大きい合計値の列)→(列バウンダリ位置)→(小さい合計値の列)
・縦方向は、
(大きい合計値の行)→(行バウンダリ位置)→(小さい合計値の行)
の並びになる。従って、図24に示すように第0階層の列、行各々の合計値に基づき第0階層のブロックバウンダリ位置を確定すると、図25中に太線で示す位置がブロックバウンダリ位置となる。このような確定処理は、図23(a)に示すような第0階層の基本パターンを適用することで、1/4の確率、即ち、4回の照合ブロックずらしで済む。
【0101】
このように第0階層のブロックバウンダリ位置が確定したら、今度は、図23(b)に示すような第1階層の基本パターンを適用し、この基本パターンから判断すると、
・横方向は、
(大きい合計値の列)→(列バウンダリ位置)→(小さい合計値の列)
・縦方向は、
(小さい合計値の行)→(行バウンダリ位置)→(大きい合計値の行)
の並びになる。従って、図25に示すように第1階層の列、行各々の合計値(第0階層で行・列バウンダリ位置に囲まれている領域内のデータのみを有効とし、周辺のブロックが中途半端な数値は無視している)に基づき第1階層のブロックバウンダリ位置を確定すると、図25中に太実線で示す位置が第1階層のブロックバウンダリ位置となる。このような確定処理は、図24に示すような第0階層の基本パターンを適用することで、1/4の確率、即ち、4回の照合ブロックずらしで済む。
【0102】
このように第1階層のブロックバウンダリ位置が確定したら、今度は、図23(c)に示すような第2階層の基本パターンを適用し、同様の処理により第2階層のブロックバウンダリ位置を確定することとなるが、図22の例では対象領域の大きさが小さすぎるので、当該第2階層のバウンダリ位置の確定処理はできないので、省略する。
【0103】
このようにして、切り出された画像に関する各階層のバウンダリ位置の確定が終了したら、今度は、その確定したバウンダリ位置を利用することにより、図26に示すように切り出された部分的な画像を元の画像中にはめ込むことにより、元の画像上での位置関係を明らかにする。
【0104】
よって、この後は、任意の位置から切り出された画像であっても、元の画像における位置関係(元の画像上での各ブロックの位置)が判るので、各ブロック等に埋め込まれた本来の電子透かしに関する照合・検証処理等を適正に行わせることができ、部分切り出しされた画像についても電子透かしの有効性を確保することができる。
【0105】
このように、ブロックバウンダリ位置を照合し確定した後に、本来の所定の電子透かしの照合・検証処理を行うが、このような所定の電子透かしとなるたたみ込み符号のデータ耐性のファジー化により、電子透かし埋め込みによる画質の劣化を回避しており、かつ、電子透かしデータの耐性を高めるために画質を変換させるのに代えて電子透かしとなるたたみ込み符号の統計処理値に基づいているので、画質劣化が少ない上に電子透かしの情報量の増大を図ることもでき、用途に応じた電子透かしとすることができる。さらには、統計処理値が画像の90°回転に対しても区別がなく共通となる対称性を有しているので、部分的に切り出されて90゜回転されたような画像の場合でもその所定の電子透かしを確実に復元し、その照合・検証に利用することができる。
【0106】
【発明の効果】
請求項1,8記載の発明によれば、元の画像の2のべき乗の水平/垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づくバウンダリ位置照合用データをブロックバウンダリ位置を特定するための電子透かしとして埋め込むことにより、ウェーブレット変換係数が2のべき乗の大きさのブロックを利用している点に対応するバウンダリ位置照合用データの埋め込みとなるので、任意の箇所から任意の大きさに部分的に切り出された画像であっても、元の画像上におけるブロックのバウンダリ位置を確定させるための照合作業を極力少ない照合回数で高速に行わせることができる。
【0107】
請求項2,9記載の発明によれば、請求項1,8記載の発明において、画像が圧縮処理を受ける場合であっても除去されることのない有効性が保たれる量子化データの最下位ビットにバウンダリ位置照合用データが電子透かしとして埋め込まれていることにより、部分的に切り出された場合でも元の画像上におけるブロックのバウンダリ位置の照合作業を確実に行わせることができるとともに、最下位ビットへの埋め込みであり、画像に対する画質劣化も抑制することができる。
【0108】
請求項3,10記載の発明によれば、請求項1,2,8,9記載の発明において、ウェーブレット変換において各階層毎に2のべき乗の大きさ関係を有するブロックに関して、各階層毎に新たにバウンダリ位置照合用データを生成するのではなく、各々その直下の下位階層の該当箇所の4ビットのバウンダリ位置照合用データの排他的論理和演算に基づき算出されたデータを用いることにより、ブロックバウンダリ位置照合の照合回数の削減化・高速化のために有効に活用することができる。
【0109】
請求項4,11記載の発明によれば、請求項3,10記載の発明において、バウンダリ位置照合用データとして2次元ウェーブレット変換における水平/垂直方向に関して各階層毎に独立した組合せの基本パターンを有することにより、各階層毎のバウンダリ位置照合用データの区分けが明確となり、階層順に行うブロックバウンダリ位置照合作業のために有効に活用することができる。
【0110】
請求項5,12記載の発明によれば、請求項1ないし4,8ないし11の何れか一記載の発明において、ブロックバウンダリ位置を照合し確定した後に、本来の所定の電子透かしの照合・検証処理を行うが、このような所定の電子透かしとなるたたみ込み符号のデータ耐性のファジー化により、電子透かし埋め込みによる画質の劣化を回避しており、かつ、電子透かしデータの耐性を高めるために画質を変換させるのに代えて電子透かしとなるたたみ込み符号の統計処理値に基づいているので、画質劣化が少ない上に電子透かしの情報量の増大を図ることもでき、用途に応じた電子透かしとすることができ、かつ、統計処理値が画像の90°回転に対しても区別がなく共通となる対称性を有しているので、部分的に切り出されて90゜回転されたような画像の場合でもその所定の電子透かしを確実に復元することができる。
【0111】
請求項6,13記載の発明は、請求項5,12記載の発明において、統計計算値を種にして算出された乱数値をたたみ込み符号とすることにより、電子透かしとしての特性をより適正に発揮させることができ、特に、画像の90°回転に対しても有効に機能させることができる。
【0112】
請求項7,14記載の発明によれば、請求項3ないし6,10ないし13の何れか一記載の発明において、任意の箇所で任意の大きさに切り出された部分的な画像中から、ウェーブレット変換における各階層のブロックに含まれている電子透かし情報を取り出すためには、元の画像座標の2のべき乗位置であり、かつ、ウェーブレット係数の低階層のブロックのバウンダリ位置を兼ねているウェーブレット係数の高階層のブロックのバウンダリ位置を確定することが必要であるが、2のべき乗の大きさに分割された各階層のブロックバウンダリ位置の算出は、下位階層側から上位階層側に向けて順に行わせることで、下位階層ほど精度が高い上に、水平/垂直方向に関して各々1/2の確率で求まるため、1階層につき各々最大でも4通りの照合ブロック位置のずらしで妥当なブロックバウンダリ位置を確定できることとなり、照合回数を削減して高速化を図ることができる。
【0113】
請求項15記載の発明によれば、請求項8ないし14の何れか一記載の発明と同様の効果を奏することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態の前提となるJPEG2000方式の基本となるアルゴリズムを実現するシステムの機能ブロック図である。
【図2】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図3】デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示す説明図である。
【図4】プリシンクトを示す説明図である。
【図5】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図6】符号化された画像データのコードストリームを例示する模式図である。
【図7】JPEG2000の符号フォーマットを示す概略図である。
【図8】パーソナルコンピュータのハードウェア構成を概略的に示すブロック図である。
【図9】画像圧縮符号化の処理系を書き直して示す機能的ブロック図である。
【図10】符号復号化の処理系を書き直して示す機能的ブロック図である。
【図11】ウェーブレット変換の特徴を示す模式的な説明図である。
【図12】YUVデータに関する電子透かし埋め込み方式を示す模式的な説明図である。
【図13】文献から抽出したたたみ込み符号方式の基本を示す模式的説明図である。
【図14】文献から抽出したビタビ復号方式の基本を示す模式的説明図である。
【図15】2bitの場合のデータのファジー化方式を示す説明図である。
【図16】3bitの場合のデータのファジー化方式を示す説明図である。
【図17】第0階層のデータ例を模式的に示す説明図である。
【図18】各階層毎のバウンダリ位置照合用データを電子透かしとして確定させるための処理例を示す概略フローチャートである。
【図19】バウンダリ位置照合用データを上位階層側から順に明確化していく様子を模式的に示す説明図である。
【図20】ブロックバウンダリ位置を確定するためのバウンダリ位置照合用データの抽出処理例を示す概略フローチャートである。
【図21】元の画像中から任意に切り出される部分的な画像例を模式的に示す説明図である。
【図22】切り出された部分的な画像の下位1bitのデータ例一覧を模式的に示す説明図である。
【図23】第0,1,2階層の各々の基本パターンを示す模式的な説明図である。
【図24】第0階層のバウンダリ位置が確定された様子を示す模式的な説明図である。
【図25】第1階層のバウンダリ位置が確定された様子を示す模式的な説明図である。
【図26】確定したバウンダリ位置に基づき元の画像中にはめ込んだ様子を示す模式的な説明図である。
【符号の説明】
57 電子透かし埋め込み手段、電子透かし埋め込み機能
65 抽出手段、抽出機能
66 電子透かし照合手段、電子透かし照合機能
74 抽出手段、抽出機能
76 電子透かし照合手段、電子透かし照合機能[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing device that handles digital watermarks, an image processing program, and a storage medium.
[0002]
[Prior art]
Digital information (digital content) such as a digital image can be easily copied by a computer or the like without deteriorating the information. In recent years, with the development of digital image technology, it has become possible to use a digital image or the like acquired by a digital camera or the like as a proof photograph. Some of such digital contents have a copyright or the like and are prohibited from being copied without permission or reused.
[0003]
By the way, digital contents can be easily falsified by performing operations such as simple modification processing and rewriting. For this reason, the digital content may be copied illegally and reused without permission, or a part of the digital content may be falsified so that the digital content cannot be used for an evidence photograph.
[0004]
As a countermeasure against this, illegal use of digital content is performed by a method called digital watermarking or data hiding, which adds information that cannot be viewed when digital content is normally reproduced in digital content such as digital images. There are techniques to prevent this. This makes it possible to determine whether or not the digital content has been illegally used based on the digital watermark embedded in the digital content.
[0005]
Applications for embedding a digital watermark in digital content include the following.
A. Recording of copyright information
B. Tracking pirate information
C. IP address history record
D. Prevention of piracy: invisible and highly resistant
E. FIG. Application to Tamper Prevention: Invisible / Low Resistance Type
F. Authentication
G. FIG. Secret communication
H. Embed digital content annotations and labels for ownership display: visible and irreversible
I. Watermark removal enabled: Visible / reversible type ... Content distribution
[0006]
As described above, there are various purposes and uses of the digital watermark. However, in the case of infringement of copyright, falsification, etc., only a desired portion of the original image is partially obtained instead of the original image as it is. It is often cut out and abused, and in most of these cases, since it is cut out at an arbitrary position, the positional relationship with the original image cannot be understood, and it is impossible to extract and collate a predetermined digital watermark. I will.
[0007]
For this reason, there is a proposal example in which a digital watermark can be restored even when a part of an image is cut out. One of them is to divide the image data into rectangular areas and embed information based on a predetermined rule as a digital watermark. There is a proposal example in which information for determining a rectangular position based on a predetermined rule is embedded as a digital watermark so that a digital watermark can be restored even from a partially cut image (for example, see Patent Document 1). Also, with respect to a digital watermarking method for embedding a signature image in an original image including a specific area such as an ROI, the data of the signature image is not substantially deleted by the specific area and a signature is applied to an area other than the specific area. There is a proposal example in which a digital watermark can be restored even when an arbitrary region of the ROI is cut out by embedding image data (for example, see Patent Document 2).
[0008]
[Patent Document 1]
JP 2000-59610 A
[Patent Document 2]
JP 2000-101822 A
[Non-patent document 1]
The 22nd Symposium on Information Theory and Its Applications (SITA99) Yuzawa, Niigata, Japan, Nov. 30-Dec. 3, 1999 "A method of embedding index information in images using characteristics of wavelet transform" Moto Iwata, Yo Shiozaki
[Non-patent document 2]
The 23rd Symposium on Information Theory and Its Applications (SITA2000) Aso, Kumamoto, Japan, Oct. 10-13, 2000 "Digital watermarking method for embedding index information using the magnitude relation of wavelet coefficients" Moto Iwata, Yo Shiozaki
[0009]
[Problems to be solved by the invention]
However, Patent Document 1 is based on scanning (searching) using, for example, a 3 × 3 pixel window, and performs collation for determining the position of a rectangular region of a cut-out partial image with respect to the original image. The number of times does not always decrease drastically, and the speedup of the position matching process with the original image is not sufficient. Also, no consideration is given to the case where the image is affected by image degradation due to image compression or the like.
[0010]
In the case of Patent Literature 2, a medical ROI is mainly specialized, and even when the ROI is partially cut out, the location is specified by extracting the ROI, and a specific area such as the ROI is specified. Lack of versatility for general various images regardless of presence or absence.
[0011]
SUMMARY OF THE INVENTION An object of the present invention is to provide a method for reliably restoring a digital watermark even when an image in which a digital watermark is embedded is partially cut out regardless of the presence or absence of a specific area. Is to be performed at high speed with a minimum number of times of collation.
[0012]
[Means for Solving the Problems]
The image processing apparatus according to the first aspect of the present invention is an image processing apparatus which performs two-dimensional wavelet transform processing and quantization processing on pixel values of each block obtained by dividing an image into a plurality of blocks. Digital watermark embedding means for embedding predetermined digital watermark information into the digital watermark information. The digital watermark embedding means includes, in addition to the predetermined digital watermark information, a boundary position of the divided block in order to specify a boundary position of the divided block. Data for boundary position matching based on predetermined independent rules is embedded as a digital watermark in block units surrounded by power / horizontal horizontal / vertical coordinate lines.
[0013]
Accordingly, an electronic watermark for specifying the boundary position of a divided block of the data for boundary position verification based on a predetermined rule which is independent in units of blocks surrounded by power / horizontal horizontal / vertical coordinate lines of the original image. By embedding as, the data for the boundary position matching corresponding to the point where the wavelet transform coefficient uses a block of the size of a power of 2 is embedded. Even in the case of an extracted image, the collation operation for determining the boundary position of the block on the original image can be performed at high speed with the minimum number of collations.
[0014]
According to a second aspect of the present invention, in the image processing apparatus according to the first aspect, the digital watermark embedding unit stores the boundary position matching data in the least significant bit of the quantized data which maintains its validity even after compression processing. Embed as a digital watermark.
[0015]
Therefore, since the boundary position matching data is embedded as an electronic watermark in the least significant bit of the quantized data, which remains effective even if the image is subjected to the compression processing, and is not removed, the partial Even if the image is cut out, the collation operation of the boundary position of the block on the original image can be surely performed, and since the block is embedded in the least significant bit, the deterioration of the image quality of the image can be suppressed.
[0016]
According to a third aspect of the present invention, in the image processing apparatus according to the first or second aspect, the electronic watermark embedding means outputs the data of the corresponding position in the lower hierarchy immediately below the data as the boundary position matching data of the upper hierarchy in the two-dimensional wavelet transform. The boundary position collation data of each layer is determined so as to use the data calculated based on the exclusive OR operation of the 4-bit boundary position collation data.
[0017]
Therefore, for a block having a power-of-two size relationship for each layer in the wavelet transform, new boundary position matching data is not newly generated for each layer, but each block of the corresponding portion of the lower layer immediately below it is not generated. By using the data calculated based on the exclusive OR operation of the bit boundary position matching data, the data can be effectively used for reducing and increasing the number of times of the block boundary position matching.
[0018]
According to a fourth aspect of the present invention, in the image processing apparatus according to the third aspect, the electronic watermark embedding means includes a combination of independent combinations for each layer in the horizontal / vertical direction in the two-dimensional wavelet transform as the data for boundary position matching. Has a pattern.
[0019]
Therefore, by having a basic pattern of an independent combination for each layer in the horizontal / vertical direction in the two-dimensional wavelet transform as the data for boundary position matching, the division of the data for boundary position matching for each layer becomes clear, and It can be effectively used for the block boundary position collation work to be performed.
[0020]
According to a fifth aspect of the present invention, in the image processing apparatus according to any one of the first to fourth aspects, a convolutional code to be statistically calculated for each block of image data and embedded as a predetermined digital watermark is calculated and calculated. The digital watermark embedding means comprises a convolutional code calculating means for performing fuzzy processing for fuzzy representation of the data of the obtained convolutional code, wherein the digital watermark embedding means performs a quantized wavelet transform on the calculated and fuzzy processed convolutional code. The predetermined digital watermark is embedded in the coefficient.
[0021]
Therefore, after the block boundary position is collated and confirmed, the original predetermined digital watermark verification / verification process is performed. However, the digital watermark embedding is performed by fuzzing the data resistance of the convolutional code serving as the predetermined digital watermark. Image quality degradation due to digital watermarking and avoiding image quality conversion to enhance the robustness of digital watermark data. In addition, the amount of information of the digital watermark can be increased, the digital watermark can be adapted to the application, and the statistical processing value is common without any distinction even for 90 ° rotation of the image. Therefore, even in the case of an image that is partially cut out and rotated by 90 °, the predetermined digital watermark can be reliably restored.
[0022]
According to a sixth aspect of the present invention, in the image processing apparatus according to the fifth aspect, the convolution code calculation means uses a random value calculated using a statistical calculation value as a seed.
[0023]
Therefore, by using the random number value calculated using the statistical calculation value as a seed as a convolutional code, the characteristics as a digital watermark can be more appropriately exhibited, and it is particularly effective for a 90 ° rotation of an image. Can function.
[0024]
According to a seventh aspect of the present invention, in the image processing apparatus according to any one of the third to sixth aspects, an extracting means for extracting digital watermark data embedded in the image data; Boundary position determining means for sequentially determining the boundary position in each layer by shifting the matching block position from the lower layer side to the upper layer side in the two-dimensional wavelet transform based on the data for boundary position verification, and the boundary position is determined. Means for comparing predetermined digital watermark information assigned to the divided block position in the original image of the upper layer in the wavelet transform and data calculated by statistical calculation from the decoded image data of the block; , Is provided.
[0025]
Therefore, in order to extract the digital watermark information included in each layer block in the wavelet transform from a partial image cut out at an arbitrary position and an arbitrary size, a power of 2 of the original image coordinates is required. It is necessary to determine the boundary position of the higher layer block of the wavelet coefficient which is the position and also the boundary position of the lower layer block of the wavelet coefficient, but it is divided into the power of two. The calculation of the block boundary position of each layer is performed in order from the lower layer to the upper layer, so that the lower layer has higher accuracy and can be obtained with a probability of 1/2 in each of the horizontal and vertical directions. It is possible to determine an appropriate block boundary position by shifting at most four types of collation block positions for each hierarchy, and reduce the number of collation times. Hesi it is possible to increase the speed by.
[0026]
The effects of the inventions according to claims 1 to 7 can be similarly exerted by the image processing program according to claims 8 to 14 or the storage medium according to claim 15.
[0027]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described with reference to the drawings.
[0028]
[Outline of JPEG2000]
The present embodiment utilizes a JPEG2000 algorithm, particularly a two-dimensional wavelet transform. First, JPEG2000 will be briefly described.
[0029]
FIG. 1 is a functional block diagram for explaining the basics of the JPEG2000 algorithm. As shown in FIG. 1, the JPEG2000 algorithm includes a color space transform / inverse transform unit 101, a two-dimensional wavelet transform / inverse transform unit 102, a quantization / inverse quantize unit 103, an entropy encoding / decode unit 104, a tag process It is configured by the unit 105. Hereinafter, each unit will be described.
[0030]
The color space transform / inverse transform unit 101 and the two-dimensional wavelet transform / inverse transform unit 102 will be described with reference to FIGS.
[0031]
FIG. 2 is a schematic diagram illustrating an example of each of the divided components of an original image that is a color image. In a color image, as shown in FIG. 2, components R, G, and B (111) of the original image are generally separated by, for example, an RGB primary color system. Then, the components R, G, and B of the original image are further divided by the tiles 112, which are rectangular regions. Each tile 112, for example, R00, R01, ..., R15 / G00, G01, ..., G15 / B00, B01, ..., B15 constitutes a basic unit when executing the compression / decompression process. Therefore, the compression / expansion operation is performed independently for each of the components R, G, B (111) and for each tile 112.
[0032]
Here, at the time of encoding the image data, the data of each tile 112 is input to the color space conversion / inverse conversion unit 101 shown in FIG. At 102, a two-dimensional wavelet transform (forward transform) is applied and spatially divided into frequency bands.
[0033]
FIG. 3 is a schematic diagram showing subbands at each decomposition level when the number of decomposition levels is three. The two-dimensional wavelet transform / inverse transform unit 102 performs a two-dimensional wavelet transform on the tile original image (0LL) (decomposition level 0) obtained by dividing the original image into tiles, Separate the bands (1LL, 1HL, 1LH, 1HH). Then, the two-dimensional wavelet transform / inverse transform unit 102 continuously performs a two-dimensional wavelet transform on the low-frequency component 1LL in this layer, and outputs the sub-bands (2LL, 2HL, 2LH, 2HH) shown in the decomposition level 2. Is separated. Similarly, the two-dimensional wavelet transform / inverse transformer 102 sequentially performs the two-dimensional wavelet transform on the low-frequency component 2LL, and separates the sub-bands (3LL, 3HL, 3LH, 3HH) shown in the decomposition level 3. I do. In FIG. 3, subbands to be encoded at each decomposition level are shown in gray. For example, if the number of decomposition levels is 3, the gray subbands (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) are to be encoded, and the 3LL subband is not encoded. .
[0034]
Next, in the quantization / inverse quantization unit 103, after bits to be encoded are determined in the specified encoding order, a context is generated from bits around the target bits.
[0035]
FIG. 4 is a schematic diagram illustrating a precinct. The wavelet coefficients after the quantization process are divided into non-overlapping rectangles called “precincts” for each subband. This was introduced to make efficient use of memory in the implementation. As shown in FIG. 4, one precinct is composed of three rectangular regions that spatially match. Furthermore, each precinct is divided into non-overlapping rectangular “code blocks”. This is a basic unit when performing entropy coding.
[0036]
FIG. 5 is a schematic diagram showing an outline of a process of decomposing the values of the two-dimensional wavelet coefficients after the two-dimensional wavelet transform into “bit planes” and ranking the “bit planes” for each pixel or code block. . The coefficient value after the wavelet transform can be quantized and coded as it is. However, in JPEG2000, in order to increase the coding efficiency, the coefficient value is decomposed into "bit planes" and " A "bit plane" can be ranked. FIG. 5 briefly shows the procedure. In this example, the original image (32 × 32 pixels) is divided into four 16 × 16 pixel tiles, and the size of the precinct at the decomposition level 1 and the size of the code block are each 8 × 8 pixels. And 4 × 4 pixels. The precinct and code block numbers are assigned in raster order. The pixel expansion outside the tile boundary is performed by using a mirroring method, performing a wavelet transform with a reversible (5, 3) filter, and obtaining a wavelet coefficient value of decomposition level 1.
[0037]
FIG. 5 also shows a conceptual schematic diagram of a representative “layer” for tile 0 / precinct 3 / code block 3. The layer structure is easy to understand when the wavelet coefficient value is viewed from the horizontal direction (bit plane direction). One layer is composed of an arbitrary number of bit planes. In this example, layers 0, 1, 2, and 3 are each composed of three bit planes of 1, 3, and 1. Then, a layer including a bit plane closer to the LSB is subject to quantization first, and conversely, a layer closer to the MSB remains unquantized to the end. A method of discarding from a layer close to the LSB is called truncation, and it is possible to finely control the quantization rate.
[0038]
Next, the entropy encoding / decoding unit 104 will be described with reference to FIG. FIG. 6 is a schematic diagram illustrating a code stream of encoded image data. The entropy encoding / decoding unit 104 (see FIG. 1) encodes each component RGB tile 112 by probability estimation from the context and the target bit. In this way, the encoding process is performed on all the components RGB of the original image in tile 112 units.
[0039]
Next, the tag processing unit 105 will be described. The tag processing unit 105 combines all encoded data from the entropy encoding / decoding unit 104 into one code stream and performs a process of adding a tag to the code stream. FIG. 6 briefly shows the structure of the code stream. Tag information called a header is added to the head of such a code stream and the head of a partial tile constituting each tile 112, and thereafter, encoded data of each tile 112 follows. Then, a tag is placed again at the end of the code stream.
[0040]
On the other hand, at the time of decoding, image data is generated from the code stream of each tile 112 of each component RGB, contrary to the encoding. Such a process will be briefly described with reference to FIG. The tag processing unit 105 interprets the tag information added to the code stream input from the outside, decomposes the code stream into a code stream of each tile 112 of each component RGB, and a code stream of each tile 112 of each component RGB. A decryption process is performed for each. At this time, the positions of the bits to be decoded are determined in the order based on the tag information in the code stream, and the quantization / dequantization unit 103 sets the peripheral bits of the target bit positions (decoding has already been performed. Is generated from the sequence of Then, the entropy coding / decoding section 104 performs decoding by probability estimation from the context and the code stream to generate a target bit, and writes it to the position of the target bit. Since the data decoded in this manner is spatially divided for each frequency band, the two-dimensional wavelet transform / inverse transform unit 102 performs an inverse two-dimensional wavelet transform on the data to obtain each component in the image data. Each tile 112 in RGB is restored. The restored data is converted into the original color system data by the color space conversion / inversion unit 101.
[0041]
Next, an example of a JPEG2000 code format will be described. FIG. 7 is a schematic diagram showing a code format of JPEG2000. The code format starts with an SOC (Start of Codestream) marker indicating the start of code data, followed by a main header describing coding parameters and quantization parameters, and further followed by actual code data. It is. Actual code data starts with an SOT (Start of Tile-part) marker, and is composed of a tile header, a SOD (Start of Data) marker, and tile data (code). After the code data corresponding to the entire image, an EOC (End of Codestream) marker indicating the end of the code is added.
[0042]
The above is the outline of the “JPEG2000 algorithm”.
[0043]
[Image processing device]
There are various examples of the image processing apparatus to which the present invention is applied. In the present embodiment, digital cameras, scanners, and other various input devices are used as examples. For image data, while embedding and embedding predetermined digital watermark information according to each purpose and use such as copyright protection and falsification detection, compression encoding is performed, while verifying copyright infringement of the image data and detection of falsification etc. An example in which the present invention is applied to a personal computer will be described.
[0044]
FIG. 8 is a block diagram schematically showing a hardware configuration of a personal computer 31 corresponding to such an image processing apparatus. As shown in FIG. 8, the computer 31 includes a CPU (Central Processing Unit) 32 which is a main part of the computer and centrally controls each unit. The CPU 32 is connected via a bus 35 to a read only memory (ROM) 33 that is a read-only memory storing a BIOS and the like, and a random access memory (RAM) 34 that rewritably stores various data. Since the RAM 34 has a property of storing various data in a rewritable manner, the RAM 34 functions as a work area of the CPU 32 and plays a role of, for example, an input buffer.
[0045]
Further, the bus 35 has a hard disk drive (HDD) 36, a CD-ROM drive 38 for reading a CD (Compact Disc) -ROM 37 as a mechanism for reading computer software which is a distributed program, and a computer as a partner. A communication control device 40 for controlling communication with the network 39, an input device 41 such as a keyboard and a mouse, and a display device 42 such as a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display) are connected via an I / O (not shown). Connected.
[0046]
In the case of the personal computer 31, the compression-encoded code data downloaded from the server via the network 39 is stored in the HDD.
[0047]
The CD-ROM 37 implements the storage medium of the present invention, and stores an OS (Operating System) and various computer software. The CPU 36 reads the computer software stored on the CD-ROM 37 with the CD-ROM drive 38 and installs the computer software on the HDD 36.
[0048]
As the storage medium, not only the CD-ROM 37 but also various types of media such as semiconductor memories such as various types of optical disks such as DVDs, various types of magneto-optical disks, and various types of magnetic disks such as FDs can be used. Alternatively, computer software may be downloaded from a network 39 such as the Internet via the communication control device 40 and installed on the HDD 36. In this case, a storage device in which computer software is stored in the server on the transmission side is also a storage medium of the present invention. Note that the computer software may operate on a predetermined OS (Operating System), and in that case, may execute a part of various processes described later on behalf of the OS, It may be included as a part of a group of program files constituting predetermined application software or OS.
[0049]
The computer 31 having such a configuration stores an image processing program for processing an image as one piece of computer software. This image processing program implements the program of the present invention. Then, various functions of each unit of the computer 31 are realized by the processing executed by the CPU based on the image processing program. As one of them, it has each functional block of the JPEG2000 algorithm described with reference to FIG. 1, and performs compression coding of image data or decoding of coded data by the JPEG2000 algorithm as described above. That is, the functions of the compression encoding unit and the decoding unit as shown in FIG. 1 are executed by the processing performed by the CPU 32 based on the program stored in the HDD 36 (although hardware using a logic circuit or the like is used). It may be executed by the configuration).
[0050]
[Image encoding processing]
In the present embodiment, compression coding of image data is basically performed by using the JPEG2000 algorithm described in FIG. 1 and the like, in particular, two-dimensional wavelet transform. In addition, the data for boundary position matching is also used as an electronic watermark so that the embedded electronic watermark information with the added tolerance can be embedded and the embedded electronic watermark can be effectively extracted from the partially cut out image. Embed it. Here, prior to the description of the data for boundary position verification, embedding of original digital watermark information for copyright protection, falsification detection, and the like and restoration thereof will be described.
[0051]
When the personal computer 31 rewrites the compression encoding means using the JPEG2000 algorithm for performing such image encoding processing as appropriate, as shown in FIG. That is, an input unit 51 that receives input of image data from an image input device such as a digital camera or a scanner or the like. Wavelet transform unit 52 (corresponding to 102), coefficient quantization for performing irreversible quantization processing such as post-quantization for reducing the dynamic range in order to perform efficient compression on the transformed discrete wavelet transform coefficients. The unit 53 (corresponding to 103) performs a lossless compression encoding process such as the above-described entropy encoding (coefficient modeling + arithmetic encoding) on the quantized discrete wavelet transform coefficients. And a code data output unit 55 (105) that performs rearrangement processing of the encoded code data and outputs the result to a necessary portion. Having a compression encoding unit 56 by equivalent). Here, the “lossless compression encoding” of the lossless compression encoding unit 54 refers to a conversion process that can be completely restored even after conversion, and corresponds to the above-described arithmetic coding or the like.
[0052]
In addition to the function of the compression encoding unit 56 based on the ordinary JPEG2000 algorithm, data immediately before lossless compression encoding by the compression encoding unit 56, here, the discrete wavelet transform quantized by the coefficient quantization unit 53 A digital watermark embedding unit 57 that functions as a digital watermark embedding unit or a digital watermark embedding function for embedding encoded digital watermark data is added to the coefficient. The details of the processing and the like by the digital watermark embedding unit 57 will be described later. The convolution code generated by the seed (seed) random number value is embedded as digital watermark data.
[0053]
[Code decoding process]
For example, in the case where an act that seems to infringe a copyright or an act that appears to falsify an image is performed, the personal computer 31 of the present embodiment allows the owner (copyright holder or the like) of the image data to perform such operations. In order to verify / verify predetermined electronic watermark information with respect to image data obtained as evidence to prove illegal fraud, code data by the JPEG2000 algorithm is decoded by the JPEG2000 algorithm. FIG. 10 (b) can be obtained by appropriately simplifying and rewriting the decoding means based on the JPEG2000 algorithm for performing such a code decoding process. That is, as described above, the input unit 61 that receives the input of the code data in which the digital watermark data is embedded performs a lossless compression decoding process such as an entropy decoding process on the received code data. A decoding unit 64 includes a compression code decoding unit 62 and a two-dimensional wavelet inverse transformation unit 63 (corresponding to 103, 102, 101, etc.) for performing two-dimensional wavelet inverse transformation and restoring the original image data.
[0054]
In addition, between the decoding unit 62 and the two-dimensional inverse wavelet transform unit 63, a digital watermark decoding unit 65 acting as an extracting unit or an extracting function for decoding digital watermark data embedded in the code data. Is added. Although the details of the processing and the like of the digital watermark decoding unit 65 will be described later, a well-known Viterbi decoding method is used as a decoding method paired with the convolution method. Also, by comparing and comparing the Viterbi decoded signal obtained from the digital watermark decoding unit 65 with the image statistic (average value, variance value, etc.) of each divided area of the decoded image data = block, the digital watermark is falsified. There is also added a digital watermark collating means for checking the presence or absence of a digital watermark or a collating unit 66 acting as a digital watermark collating function.
[0055]
FIG. 10 (a) shows a decoding / collating method from coded data. However, in the case of collating digital watermark data from an image itself, the data is shown as shown in FIG. 10 (b). Can be. That is, as in the case of encoding, the input unit 71 accepts input of image data (image data partially cut out as described later), and after the received image data undergoes processing such as color space conversion, A two-dimensional wavelet transform unit 72 (corresponding to 102) that performs a two-dimensional wavelet transform process; a coefficient quantum that performs an irreversible quantization process such as post-quantization for reducing the dynamic range of the transformed discrete wavelet transform coefficients. A digital watermark data extracting unit 74 which functions as an extracting means or an extracting function for extracting digital watermark data from the discrete wavelet transform coefficients quantized by the coefficient quantizing unit 53, together with the converting unit 73 (corresponding to 103); Area of divided image data = random number value as a seed (seed) based on image statistics (average, variance, etc.) for each block A convolutional encoding unit 75 for generating a convolutional code; a collation unit 76 serving as a digital watermark collation unit or a digital watermark collation function for collating and verifying the extracted digital watermark data and the generated convolutional code; Is provided.
[0056]
Hereinafter, the processes corresponding to the embedding side and the decoding side will be described separately in order.
[0057]
[Digital watermark embedding process-Digital watermark extraction / collation process]
In FIG. 9, this processing is processing of the input unit 51, the two-dimensional wavelet transform unit 52, the coefficient quantization unit 53, and the digital watermark embedding unit 57, and in FIG. This is the processing of the decoding unit 65 and the two-dimensional inverse wavelet transform unit 63.
[0058]
This processing basically utilizes the features of the JPEG2000 wavelet transform and the methods described in Non-Patent Documents 1 and 2. That is, according to the wavelet transform, when the image data is divided into frequency components, it can be divided into subband components LL, LH, HL, and HH. Here, the sub-band LL is a lowest frequency component representing an image in which the resolution of the original image is halved, and the sub-bands LH, HL, and HH are frequencies representing difference information in the horizontal, vertical, and oblique directions of the image. Sub-band HH is the highest frequency component. Of these, the sub-band LL largely represents the characteristics of the original image, and therefore, when information is embedded in the sub-band LL, a remarkable change is likely to appear in the embedded image, while the sub-band HH is a general image conversion. Although it is not suitable for embedding information because it is removed by processing or image compression processing, it is a place necessary for increasing the amount of embedded information because the image hardly changes even when information is embedded.
[0059]
Therefore, in general, as described in Non-Patent Document 1, it can be said that it is preferable to embed information in a wavelet transform coefficient at a subband LH or HL. 11A shows the amount of change in the horizontal direction of the original image as shown in FIG. 11A. During the horizontal wavelet transform, the LH image located in the vertical direction is similar to the subband LL, and the subband HL is shown in FIG. As shown in b), the vertical direction represents the amount of change in the original image. During the vertical wavelet transform, the HL image positioned horizontally in the subband LL has similar characteristics. As in the case of Non-Patent Document 1, digital watermark data is basically embedded using the magnitude relationship of the sum of local pixel values of these subbands LH and HL.
[0060]
However, in Non-Patent Document 1 and the like, for example, RGB data which is raw data input from a digital camera or the like is targeted, but in the present embodiment, YUV converted from RGB to YCbCr (YUV) by color space conversion processing. This is an improvement in which digital watermark data is embedded for a wavelet transform coefficient of data. More specifically, this is a general conversion example according to the importance of the luminance component Y and the color difference components Cb (U) and Cr (V) (the luminance component Y greatly affects the image quality). It is an example of application to
[0061]
Therefore, for example, as shown in FIG. 12, an original image (Y0UY1Non-Patent Document 1 in order to avoid embedding digital watermark information in the luminance components Y0 and Y1 with respect to the wavelet transform coefficients obtained by performing the wavelet transform on each of V) and frequency-dividing into the subbands LL, LH, HL, and HH. The digital watermark data is embedded in any one of the sub-bands LH and HL using the magnitude relation of the sum of the values of the local pixels, while the color difference component U having little effect on the image quality is used. , V in order to embed more digital watermark information in the region of one of the subbands LH and HH or one of the subbands HL and HH in consideration of the subband HH according to Non-Patent Document 2. The digital watermark data is embedded by utilizing the magnitude relation of the sum of the values of the local pixels. The notation of + and-shown in FIG. 12 is the same as that in Non-Patent Document 1, corresponds to P and Q in Non-Patent Document 2, and the arithmetic processing is performed in the case of these Non-Patent Documents 1 and 2. Therefore, the details are omitted.
[0062]
Therefore, as a method of embedding the digital watermark data in the wavelet transform coefficients, basically, the method of Non-Patent Documents 1 and 2 is used, but the color-separated 4: 2: 2 YUV data is targeted. Since the amount of digital watermark data differs between the luminance component Y and the color difference components U and V, the amount of data to be embedded as a digital watermark can be increased four times without lowering the image quality. Accordingly, it is found that the digital watermark amount is basically effective for preventing falsification in which the digital watermark amount is the most important, and that the image quality is less deteriorated even for copyright protection.
[0063]
[Convolutional code-Viterbi decoding method]
In the present embodiment, a combination of convolutional code and Viterbi decoding that is well known in block coding modulation technology, coding theory, and the like is used for data to be embedded as a digital watermark. 10A, and the processing of the digital watermark decoding unit 65 in FIG. 10A.
[0064]
First, for the convolutional code, for example, an arithmetic process as shown in FIG. 13 described in a document "Introduction to Code Theory" by Yoshihiro Iwadari, Shokodo No. 97 can be used. In the figure, IkIs the original signal, CmnRepresents a calculated signal, and + represents an exclusive OR operation. The illustrated example shows an example of a convolution constraint length of 2 and a coding rate of 1/2 using two memories, and two signals are used.
C1j= Ij+ Ij-2
C0j= Ij+ Ij-1+ Ij-2
Is calculated. It is well known that by using such a convolutional code, data remains even after rough processing, and as a result, it is well known that the data is highly resistant (for example, also used in NASA space technology).ijIt is also known that the greater the number of i, j and the number of Ij + Ij-2, that is, the greater the value of the convolution constraint length, the greater the resistance. Can be adjusted.
[0065]
Here, a calculation example of the convolution calculation method shown in FIG. 13 can be summarized as shown in Table 1 (this is also described in the same document).
[0066]
[Table 1]
Figure 2004236229
[0067]
As a result, with respect to such a convolution constraint length of 2 and a coding rate of 1/2, when pixel values are calculated by inverse transformation (variable (independent): 12 variables Cm , n),
Ij= C0, (j + 1)+ C1, (j + 1)
Ij= C1, j    + C0, (j-1)  + C1, (j-1)
Ij= C1, (j + 2)+ C0, (j + 3)  + C1, (j + 3)
Ij= C0, (j + 1)+ C0, j    + C1, j      + C0, (j + 2)  + C1, (j + 2)
Ij= C0, (j + 2)+ C0, (j + 3)  + C0, (j + 4)    + C1, (j + 4)
Becomes As a result, a majority decision with five votes can be applied to the method of the convolution constraint length of 2 and the coding rate of 1/2, which confirms that the reliability is improved. For example, if the reading accuracy rate of one signal is 92% or more, the reliability is high enough to restore 99% or more by a majority vote of five votes.
[0068]
Table 2 shows the result of comparison with the simple majority method used in Patent Document 2 and the like.
[0069]
[Table 2]
Figure 2004236229
[0070]
That is, in the case of the simple majority method using three votes for majority vote, the information amount is required to be three times the original amount and the reliability is 98.2%, whereas in the case of the convolution constraint length 2 described above, the original information amount is three. 2 times the majority vote with 5 votes and 99.5% reliability. Furthermore, in the case of convolution constraint length 3, the information amount is twice as much as the original and 7 votes with 99.9% reliability. In the case where the convolution constraint length is 4 or more, the majority of the information is doubled and the reliability is improved by 9 votes with 9 votes. Therefore, in the case of a digital watermark for copyright protection that requires strong resistance, the coding rate is set to 、 and the convolution constraint length is set to 6 while the resistance is required to be somewhat low. In the case of a digital watermark for falsification detection, the coding rate is uniformly set to 1/2, but if the convolution constraint length is set as 2 to 3, the tolerance level can be set according to each purpose. It becomes possible.
[0071]
A highly recoverable Viterbi decoding process performed by the digital watermark decoding unit 65 for decoding and extracting such a convolutional code embedded as a digital watermark is well known as a decoding method paired with the convolutional code. (For example, refer to the above-mentioned literature and JP-A-2000-174628), since such a general technique may be used, detailed description will be omitted. FIG. 14 shows a basic general diagram of Viterbi decoding when the constraint length of the convolutional code is 2 and the coding rate is 1/2 as described above (described in the above-mentioned document). FIG. 14A is a trellis diagram in a grid-like representation showing the internal state of the digital watermark decoding unit 65 at each time, and FIG. 14B is a state transition diagram thereof.
[0072]
[Process of fuzzing the durability of digital watermark data]
In FIG. 9, this process is a process of performing a fuzzy process for fuzzyly expressing the data of the convolutional code calculated based on the statistically calculated value in the convolutional coding unit 58. Is a process of the collating unit 66. This fuzzification processing is a technique for complementing the reliability that statistical calculation values such as an average value and a variance value decrease due to lossy compression. For example, in the case of 2 bits, a numerical expression is shown in FIG. As schematically shown as a basic pattern of, the expression content may be changed such that only one bit is changed every time the numerical value is increased so that the change of the bit information indicating the quantity becomes smooth. That is, in a normal bit representation, 0 (meaning) = 00 (bit), 1 (meaning) = 01 (bit), 2 (meaning) = 10 (bit), and 3 (meaning) = 11 (bit). However, the expression contents are changed to the contents as shown in FIG. 14 by fuzzification (the correspondence between 2 and 3 is broken).
[0073]
Also, in the case of 3 bits, as shown in FIG. 16, the expression content may be changed by 1 bit each time the numerical value increases by 1. That is, in the case of a normal bit representation, 0 (meaning) = 000 (bit), 1 (meaning) = 001 (bit), 2 (meaning) = 010 (bit), 3 (meaning) = 011 (bit), 4 (meaning) = 100 (bit), 5 (meaning) = 101 (bit), 6 (meaning) = 110 (bit), 7 (meaning) = 111 (bit). The expression content is changed as shown (correspondence between 2 and 6 is broken). According to the fuzzy processing in the case of 3 bits, it is possible to judge a decrease in image quality and a decrease in reliability of embedded data due to the above-described lossy compression based on the Hamming distance. That is, if the Hamming distance is small, it is not considered that the image data has been tampered with, and it can be determined that there is tampering only if the Hamming distance is large. For example, in the example shown in FIG. 16, it can be determined that even if there is a mismatch of 1 bit, it is not regarded as tampering.
[0074]
In this way, the number of bits representing the data of the convolutional code by the fuzzy processing is variably settable, for example, 2 bits or 3 bits. Adjustment is possible. Therefore, in the case of a digital watermark for falsification detection, if the number of bits of fuzzification of the data resistance is set to 3 bits, the falsification detection can be further optimized, while in the case of a digital watermark for copyright protection. Then, if the number of bits for fuzzification of data tolerance is set to 2 bits, the amount of information can be reduced as much as possible, and image quality degradation can be suppressed.
[0075]
After all, in the present embodiment, in addition to embedding a digital watermark in a two-dimensional wavelet transform coefficient and a combination of convolutional code-Viterbi decoding that can adjust the robustness, a fuzzy data resistance of a convolutional code serving as an electronic watermark is obtained. Combination of conversion (Gray code) avoids degradation of image quality due to embedding of a digital watermark. In order to increase the durability of digital watermark data, a convolutional code that becomes an electronic watermark instead of converting the image quality , The image quality can be reduced, the amount of digital watermark information can be increased, and a digital watermark suitable for the intended use can be obtained. Therefore, in terms of suppressing image quality deterioration and increasing the amount of information of the digital watermark, the digital watermark is optimal for the purpose compared to the related art disclosed in Patent Document 1 and the like.
[0076]
[Enabling digital watermark for partially cut out image]
Regarding the above-mentioned digital watermarks for copyright protection to tampering detection, etc., it is not particularly assumed that the original image is partially cut out and used illegally. A method of embedding a digital watermark which is effective even when a part is cut out at an arbitrary size from an arbitrary position and an extraction / collation method thereof will be described.
[0077]
Schematically, in the processing of the digital watermark embedding system using FIG. 9 and the like, attention is paid to the point that the wavelet transform coefficient uses an area of a power of 2 and the power of 2 of the original image is used. Data for independent data = boundary position (boundary position between blocks) matching data for each block which is an area surrounded by vertical / horizontal coordinate lines is embedded as a digital watermark. On the other hand, on the collation side using FIG. 10 for verifying the presence or absence of falsification, since an image partially cut out at an arbitrary position and at an arbitrary size starts from an arbitrary position of the original image, In order to extract predetermined digital watermark information included in each layer block in the wavelet transform, the boundary position of the higher layer block in the wavelet transform (that is, the power position of the coordinate in the original image to the power of 2; In addition, it is necessary to determine the boundary position of the lower layer block in the wavelet transform. In determining the boundary position of the block on the higher layer side in such a wavelet transform, the boundary position of the block on the lower layer side is more accurate (finer) on the lower layer side. After the position is determined, a method is adopted in which the boundary position of the block on the higher hierarchy side is determined in order, so that the boundary position of the block on the highest hierarchy is finally determined. At this time, according to the wavelet transform, since the blocks of each layer are divided into powers of two, the block boundary positions in each layer are determined with a probability of 1/2 in both the horizontal and vertical directions. As a result, an appropriate block boundary position can be determined only by performing the matching process by shifting the position of each of the four matching blocks for one hierarchy. As will be described in detail later, according to such a method, the block boundary position can be determined at high speed.
[0078]
For example, assuming that the boundary position of a block having a size of 8 × 8 pixels is determined, in the case of the conventional continuous search method of searching for a matching position by shifting one pixel at a time, 64 kinds of statistical checks are performed. Although it is necessary to judge by comparing the results, according to the above-described boundary position collating and confirming method of the present embodiment, each layer only requires four types of statistical investigations, so that 8 × 8 pixels = 23In the case of this block, statistical investigation for three layers, that is, 4 × 3 = 12 statistical investigations, is sufficient, and the number of times of collation can be greatly reduced, and the processing can be speeded up.
[0079]
Similarly, regarding the number of pixels in various blocks, the number of required surveys is shown in comparison with the conventional continuous survey method and the survey method using the layer of the wavelet transform as in the present embodiment.
Figure 2004236229
Thus, according to the method of the present embodiment, it can be seen that the number of matchings can be drastically reduced as the number of block pixels increases.
[0080]
[Embedding Digital Watermark in Boundary Position Matching Data]
A hash function is used to determine a digital watermark state (data for boundary position matching) of each layer for obtaining a boundary between blocks. That is,
Hash (“password”, n (hierarchy), (0: horizontal direction, 1: vertical direction) → determination of odd number (1) / even number (0)...
Is used. Regarding the result of this operation,
A. Lateral direction: If the calculation result of equation (1) is an odd number (or even number), the odd number (or even number) is increased as the data of the odd digit coordinate.
B. Vertical direction: If the calculation result of equation (1) is an odd number (or even number), the odd number (or even number) is increased as the data of the odd line coordinates.
Take advantage of it.
[0081]
It is assumed that such a digital watermark of the boundary position matching data is embedded in the least significant bit of the data of the quantization coefficient so as to maintain the validity without being discarded even after undergoing the compression processing regarding the image data.
[0082]
Here, an example of boundary position collation data for each layer will be described. First, as the data for boundary position matching of the 0th hierarchy (= lowest hierarchy),
Data of horizontal odd digit coordinates: (Hash (“password”, 0, 0) = 1 (in the case of odd number) → increase the odd value
Data of vertical odd digit coordinates: (Hash (“password”, 0, 1) = 0 (in the case of even number) → increase the even number
In the case of such a condition, images of data examples as shown in FIGS. 17A to 17D can be considered. In the figure, “1” represents an odd value (the least significant bit is ON), and “0” represents an even value (the least significant bit is OFF).
[0083]
Next, a description will be given of the data for boundary position matching of the first hierarchy, which is one level higher. This data includes:
An even value (0) of the first layer: when it indicates that the number of 1 (bitON) at the corresponding part of the 0th layer is an even number,
[0084]
(Equation 1)
Figure 2004236229
[0085]
For example, the result of the exclusive OR of the 4-bit boundary position matching data of the 0th layer becomes 1 bit of the first layer boundary position matching data,
An odd value (1) in the first hierarchy: when it indicates that the number of 1 (bitON) in the corresponding part in the zeroth hierarchy is an odd number,
[0086]
(Equation 2)
Figure 2004236229
[0087]
For example, the result of the exclusive OR of the 4-bit boundary position matching data of the 0th layer becomes 1 bit of the first-layer boundary position matching data. Therefore, in the case of the data example of the 0th hierarchy shown in FIG. 17, when expressed by the data example of the first hierarchy, the following expression is obtained.
[0088]
(Equation 3)
Figure 2004236229
[0089]
Therefore, the operation result of the first layer is
Data of horizontal odd digit coordinates: (Hash (“password”, 1, 0) = 0 (in the case of even number) → increase even number value
Data of vertical odd digit coordinates: (Hash (“password”, 1, 1) = 0 (in the case of even number) → increase the even value
In the case of (1), it can be said that (b) or (d) conforms to the consistency with the 0th layer in the above example.
[0090]
Next, the data for the boundary position collation of the uppermost n-th hierarchy will be described. Similarly, the boundary position collation data (1 bit data) of the n-th hierarchy is obtained by an exclusive OR operation of 4 bits of the corresponding portion of the (n-1) -th hierarchy. That is, instead of newly generating and embedding digital watermark data for each layer as the boundary position matching data, the data of the corresponding portion of the lower layer immediately below it as the upper layer boundary position matching data in the wavelet transform is used. This is to determine the boundary position matching data of each layer so as to use the data calculated based on the exclusive OR operation of the bit boundary position matching data.
[0091]
FIG. 18 is a schematic flowchart showing a processing example for determining such boundary position matching data for each layer as digital watermark data. After a password to be verified later is input (step S1), If the number of layers n is set to a variable k (S2), and the variable k is not negative (N of S3), the data of the horizontal odd digit coordinate: (Hash (“password”, k, 0), the electronic A watermark value is calculated (S4), and then a digital watermark value in the vertical direction is calculated by using data of vertical odd-numbered coordinates: (Hash (“password”, k, 1) (S5). Then, as the watermark fixed value (“0” / “1”), it is determined which of the basic patterns of each layer is represented by Equation 4. Then, according to the basic pattern, the floating value (“ Definite electronic transparency And value) is determined based on the determined value of the time of the upper layer processor (S6). Sequentially performed toward such a process the lower layer from the upper layer (S7).
[0092]
(Equation 4)
Figure 2004236229
[0093]
Therefore, regarding the operation result of the Hash () function,
Hash (“password”, 0, 0) = 0—evenness of even-numbered digits in the 0th layer (even)
Hash (“password”, 0, 1) = 0—evenness of even-numbered digits in the 0th layer (even)
Hash (“password”, 1, 0) = 0—even-oddness of even-numbered digits in the first hierarchy (even)
Hash (“password”, 1, 1) = 1—even-oddness (odd) of horizontal odd-numbered digits in the first hierarchy
Hash (“password”, 2, 0) = 1—even-oddness (odd) of odd-numbered digits in the second hierarchy
Hash (“password”, 2, 1) = 0—even-oddness of even-numbered digits in the second hierarchy (even)
As digital watermark data (data for boundary position matching) at each level
[0094]
(Equation 5)
Figure 2004236229
[0095]
Determine the content like. In the determinant, “0” / “1” is a definite value indicating a basic pattern of each layer, and “?” Is an undetermined floating value.
[0096]
Such contents will be clarified in order from the upper layer. For example, FIGS. 19A to 20C illustrate this state. In the figure, numerical values 0 and 1 shown with underlines respectively correspond to the definite values shown in the determinant. Then, the same content is repeated four times by arranging the digital watermark data (boundary position collation data) determined for the 0th hierarchy, for example, as shown in FIG. Embed as a digital watermark. This processing is executed by the digital watermark embedding unit 57 described above with reference to FIG.
[0097]
[Extraction of data for boundary position matching]
Extraction of boundary position collation data for determining the block boundary position, which is performed before extracting, collating, and verifying the original digital watermark information for the purpose of copyright protection to falsification detection of the target image data The processing will be described with reference to FIG. FIG. 20 is a schematic flowchart showing this processing example. After confirming the input of the same password as that at the time of encoding (step S11), the variable k is initialized to 0 (S12), and the variable k is the number of layers of the wavelet transform. If it is not larger than n (N in S13), the horizontal digital watermark value is calculated by the data of the horizontal odd digit coordinate: (Hash (“password”, k, 0) (S14), and then the vertical odd digit is calculated. Coordinate data: A digital watermark value in the vertical direction is calculated by (Hash (“password”, k, 1) (S15). Based on these calculation results, a watermark fixed value (“0” / “1”) is obtained. The basic pattern of each layer is determined as shown in Equation 4. Then, the block boundary position is determined based on the watermark determined value in the basic pattern of the layer (S1). The processing in step S16 is executed as a boundary position determination means or a boundary position determination function, and the processing is performed sequentially from the lower hierarchy to the upper hierarchy (S17). By determining the hierarchical boundary position, even in the case of an image partially cut to an arbitrary size at an arbitrary position, the position on the original image can be determined, and the original digital watermark can be properly generated. Can be shifted to the collation processing of the above.
[0098]
That is, with respect to an image partially cut out from an arbitrary position of the original image at an arbitrary size, an example of extracting boundary position collation data for determining a block boundary position will be described. As in the case of embedding, the state of the digital watermark (data for boundary position matching) of each layer is determined by the Hash () function. That is, as described in Equation 4 and the like, the same contents as those at the time of embedding the boundary position matching data as a digital watermark are determined. As shown in the schematic flowcharts of FIGS. 18 and 20, this is achieved by restoring the electronic watermark (data for boundary position matching) of each layer using the same password as that at the time of embedding, thereby obtaining the same contents as at the time of embedding. It becomes.
[0099]
Then, as shown in the flowchart of FIG. 20, the block boundary positions are determined in order from the lower hierarchy side. For example, as shown in FIG. 21, an arbitrary size is set at an arbitrary position in the original image. An example of a partially cut out image will now be described in order. In this case, the example of the data for boundary position matching of each layer is the example shown in FIG. FIG. 22 is an explanatory diagram showing a data example list of the least significant 1 bit of each block of the image arbitrarily cut out as described above.
[0100]
First, a basic pattern of the 0th layer as shown in FIG. 23A is applied to the extracted data example list of the lowest one bit of each block, and when judging from this basic pattern,
・ In the horizontal direction,
(Column with large total value) → (column boundary position) → (column with small total value)
・ In the vertical direction,
(Row with large total value) → (row boundary position) → (row with small total value)
It becomes a series of. Therefore, when the block boundary position of the 0th hierarchy is determined based on the total value of each column and row of the 0th hierarchy as shown in FIG. 24, the position indicated by the thick line in FIG. 25 becomes the block boundary position. In such a determination process, by applying a basic pattern of the 0th layer as shown in FIG. 23A, a probability of 1/4, that is, four matching block shifts is sufficient.
[0101]
When the block boundary position of the 0th layer is determined in this way, this time, the basic pattern of the first layer as shown in FIG.
・ In the horizontal direction,
(Column with large total value) → (column boundary position) → (column with small total value)
・ In the vertical direction,
(Row with small total value) → (row boundary position) → (row with large total value)
It becomes a series of. Therefore, as shown in FIG. 25, the total value of the columns and rows of the first hierarchy (only the data in the area surrounded by the row / column boundary position in the zeroth hierarchy is valid, and the peripheral blocks are incomplete. When the block boundary position of the first hierarchy is determined based on (the numerical values are ignored), the position indicated by the thick solid line in FIG. 25 becomes the block boundary position of the first hierarchy. In such a determination process, by applying the basic pattern of the 0th hierarchy as shown in FIG. 24, the probability is reduced to 1/4, that is, the matching block is shifted four times.
[0102]
After the block boundary position of the first hierarchy is determined in this way, the basic pattern of the second hierarchy as shown in FIG. 23C is applied, and the block boundary position of the second hierarchy is determined by the same processing. That is to say, in the example of FIG. 22, the size of the target area is too small, so that the process of determining the boundary position of the second hierarchy cannot be performed.
[0103]
In this way, when the boundary positions of the respective layers with respect to the clipped image have been determined, the partial image clipped as shown in FIG. 26 is obtained by using the determined boundary position. , The positional relationship on the original image is clarified.
[0104]
Therefore, after this, even if the image is cut out from an arbitrary position, the positional relationship in the original image (the position of each block on the original image) is known, and the original image embedded in each block and the like is obtained. It is possible to properly perform the collation / verification processing and the like relating to the digital watermark, and it is possible to secure the validity of the digital watermark even for a partially cut out image.
[0105]
As described above, after the block boundary position is collated and determined, the original predetermined digital watermark collation / verification process is performed. However, the fuzziness of the data resistance of the convolutional code serving as the predetermined digital watermark makes the digital Since the image quality is prevented from deteriorating due to the watermark embedding, and the image quality is converted based on the statistical processing value of the convolutional code used as the digital watermark instead of converting the image quality to enhance the durability of the digital watermark data, In addition, the amount of information of the digital watermark can be increased, and the digital watermark can be adapted to the application. Further, since the statistical processing value has a common symmetry without distinction even when the image is rotated by 90 °, even if the image is partially cut out and rotated by 90 °, the predetermined value can be obtained. Can be reliably restored and used for its collation and verification.
[0106]
【The invention's effect】
According to the first and eighth aspects of the present invention, the data for boundary position matching based on a predetermined rule independent of each block surrounded by power / horizontal horizontal / vertical coordinate lines of the original image is used to determine the block boundary position. By embedding as a digital watermark for identification, the data for boundary position matching corresponding to the point where the wavelet transform coefficient uses a block having a size of a power of 2 is embedded. Even in the case of an image partially cut out, it is possible to perform the collation work for determining the boundary position of the block on the original image at a high speed with a minimum number of collations.
[0107]
According to the second and ninth aspects of the present invention, in the first and the eighth aspects of the present invention, even if the image is subjected to the compression processing, the maximum of the quantized data which remains effective without being removed is maintained. By embedding the data for boundary position matching as a digital watermark in the lower bits, even when the data is partially cut out, it is possible to ensure that the operation of checking the boundary position of the block on the original image is performed. This is embedding in lower bits, and image quality deterioration of an image can be suppressed.
[0108]
According to the third and tenth aspects of the present invention, in the invention of the first, second, eighth and ninth aspects, a block having a power-of-two size relationship for each layer in the wavelet transform is newly added for each layer. Instead of generating the data for boundary position matching, the data calculated based on the exclusive OR operation of the 4-bit boundary position matching data of the corresponding portion of the lower hierarchy immediately below the data is used to obtain the block boundary. It can be effectively used to reduce and speed up the number of times of position matching.
[0109]
According to the fourth and eleventh aspects of the present invention, in the invention of the third and tenth aspects, the boundary position matching data has a basic pattern of an independent combination for each layer in the horizontal / vertical directions in the two-dimensional wavelet transform. This clarifies the division of the boundary position collation data for each layer, and can be effectively used for block boundary position collation performed in the order of layers.
[0110]
According to the fifth and twelfth aspects of the present invention, in any one of the first to fourth and eighth to eleventh aspects, after collating and confirming the block boundary position, collation / verification of an original predetermined digital watermark is performed. Although the processing is performed, the fuzziness of the data resistance of the convolutional code serving as the predetermined digital watermark avoids the deterioration of the image quality due to the embedding of the digital watermark, and the image quality is improved in order to enhance the durability of the digital watermark data. Is converted based on the statistical processing value of a convolutional code that becomes an electronic watermark, so that the image quality can be reduced and the amount of information of the electronic watermark can be increased. And the statistically processed values have a symmetry that is indistinguishable and common to the 90 ° rotation of the image. Even if the image as it is possible to reliably restore the predetermined electronic watermark.
[0111]
According to the sixth and thirteenth aspects of the present invention, in the inventions of the fifth and twelfth aspects, the random number value calculated by using the statistically calculated value as a seed is used as a convolutional code, so that the characteristics as a digital watermark can be more appropriately adjusted. It can be made to work, and particularly, it can function effectively even when the image is rotated by 90 °.
[0112]
According to the seventh and fourteenth aspects of the present invention, in any one of the third to sixth and tenth to thirteenth aspects, a wavelet is extracted from a partial image cut out to an arbitrary size at an arbitrary place. In order to extract the digital watermark information included in each hierarchical block in the transformation, the wavelet coefficient which is a power-of-two position of the original image coordinates and also serves as a boundary position of a lower hierarchical block of the wavelet coefficient It is necessary to determine the boundary position of the block of the higher hierarchy, but the calculation of the block boundary position of each hierarchy divided into powers of 2 is performed in order from the lower hierarchy to the upper hierarchy. By doing so, the higher the lower layer, the higher the accuracy and the higher the probability in each of the horizontal and vertical directions. Will be a reasonable block boundary position shifting of the focus block position can be determined, it is possible to increase the speed and reduce the verification number.
[0113]
According to the fifteenth aspect, the same effect as the invention according to any one of the eighth to fourteenth aspects can be obtained.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a system for realizing a basic algorithm of the JPEG2000 system which is a premise of an embodiment of the present invention.
FIG. 2 is an explanatory diagram showing a divided rectangular area of each component of an original image.
FIG. 3 is an explanatory diagram showing subbands at each decomposition level when the number of decomposition levels is three.
FIG. 4 is an explanatory diagram showing a precinct.
FIG. 5 is an explanatory diagram showing an example of a procedure for ranking bit planes.
FIG. 6 is a schematic diagram illustrating a code stream of encoded image data.
FIG. 7 is a schematic diagram showing a code format of JPEG2000.
FIG. 8 is a block diagram schematically showing a hardware configuration of a personal computer.
FIG. 9 is a functional block diagram showing a processing system of image compression encoding rewritten.
FIG. 10 is a functional block diagram showing a rewritten processing system for code decoding.
FIG. 11 is a schematic explanatory view showing characteristics of a wavelet transform.
FIG. 12 is a schematic explanatory diagram showing a digital watermark embedding method for YUV data.
FIG. 13 is a schematic explanatory diagram showing the basics of a convolutional coding method extracted from a document.
FIG. 14 is a schematic explanatory diagram showing the basics of a Viterbi decoding method extracted from a document.
FIG. 15 is an explanatory diagram showing a fuzzification method of data in the case of 2 bits.
FIG. 16 is an explanatory diagram showing a fuzzification method of data in the case of 3 bits.
FIG. 17 is an explanatory diagram schematically showing a data example of the 0th layer.
FIG. 18 is a schematic flowchart illustrating a processing example for determining boundary position matching data for each layer as an electronic watermark.
FIG. 19 is an explanatory diagram schematically showing how boundary position collation data is clarified in order from the upper layer side.
FIG. 20 is a schematic flowchart illustrating an example of a process of extracting boundary position collation data for determining a block boundary position.
FIG. 21 is an explanatory diagram schematically showing an example of a partial image arbitrarily cut out from an original image.
FIG. 22 is an explanatory diagram schematically showing a data example list of the lower 1 bit of the cut-out partial image.
FIG. 23 is a schematic explanatory view showing each basic pattern of the 0th, 1st and 2nd layers.
FIG. 24 is a schematic explanatory view showing a state where a boundary position of the 0th hierarchy is determined.
FIG. 25 is a schematic explanatory view showing a state where the boundary position of the first hierarchy is determined.
FIG. 26 is a schematic explanatory view showing a state of fitting into an original image based on a determined boundary position.
[Explanation of symbols]
57 Digital Watermark Embedding Means, Digital Watermark Embedding Function
65 Extraction means and extraction function
66 Digital Watermark Verification Means, Digital Watermark Verification Function
74 Extraction means and extraction function
76 Digital Watermark Verification Means, Digital Watermark Verification Function

Claims (15)

画像を複数に分割したブロック毎にその画素値に対して2次元ウェーブレット変換処理、量子化処理を行う画像処理装置において、
量子化されたウェーブレット変換係数に所定の電子透かし情報を埋め込む電子透かし埋め込み手段を備え、
この電子透かし埋め込み手段は、前記所定の電子透かし情報に加えて、分割されたブロックのバウンダリ位置を特定するために、元の前記画像の2のべき乗の水平/垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づくバウンダリ位置照合用データを電子透かしとして埋め込むことを特徴とする画像処理装置。
In an image processing apparatus that performs a two-dimensional wavelet transform process and a quantization process on pixel values of each block obtained by dividing an image into a plurality of blocks,
Electronic watermark embedding means for embedding predetermined electronic watermark information in the quantized wavelet transform coefficients,
The digital watermark embedding means includes, in addition to the predetermined digital watermark information, a block surrounded by horizontal / vertical power lines of powers of 2 of the original image in order to specify a boundary position of the divided block. An image processing apparatus, wherein data for boundary position matching based on a predetermined rule independent of each unit is embedded as an electronic watermark.
前記電子透かし埋め込み手段は、圧縮処理しても有効性が保たれる量子化データの最下位ビットにバウンダリ位置照合用データを電子透かしとして埋め込むことを特徴とする請求項1記載の画像処理装置。2. The image processing apparatus according to claim 1, wherein the digital watermark embedding unit embeds boundary position collation data as a digital watermark in the least significant bit of the quantized data that remains effective even after compression processing. 前記電子透かし埋め込み手段は、2次元ウェーブレット変換における上位階層のバウンダリ位置照合用データとしてその直下の下位階層の該当箇所の4ビットのバウンダリ位置照合用データの排他的論理和演算に基づき算出されたデータを用いるように各階層のバウンダリ位置照合用データを決定することを特徴とする請求項1又は2記載の画像処理装置。The digital watermark embedding means is a data calculated based on an exclusive OR operation of 4-bit boundary position matching data of a corresponding portion of a lower layer immediately below it as upper-layer boundary position matching data in the two-dimensional wavelet transform. The image processing apparatus according to claim 1, wherein data for boundary position matching of each layer is determined so as to use the data. 前記電子透かし埋め込み手段は、バウンダリ位置照合用データとして2次元ウェーブレット変換における水平/垂直方向に関して各階層毎に独立した組合せの基本パターンを有することを特徴とする請求項3記載の画像処理装置。4. The image processing apparatus according to claim 3, wherein the digital watermark embedding unit has, as the data for boundary position matching, a basic pattern of an independent combination for each layer in the horizontal / vertical direction in the two-dimensional wavelet transform. ブロック毎に画像データに関して統計計算して所定の電子透かしとして埋め込むたたみ込み符号を算出し、かつ、算出された当該たたみ込み符号のデータをファジー表現するためのファジー処理を施すたたみ込み符号算出手段を備え、
前記電子透かし埋め込み手段は、算出されファジー処理化されたたたみ込み符号を量子化されたウェーブレット変換係数に前記所定の電子透かしとして埋め込む、
ことを特徴とする請求項1ないし4の何れか一記載の画像処理装置。
A convolutional code calculating means for performing statistical calculation on image data for each block to calculate a convolutional code to be embedded as a predetermined digital watermark, and performing a fuzzy process for fuzzy expressing the calculated data of the convolutional code; Prepare,
The digital watermark embedding means embeds the calculated and fuzzy-processed convolutional code in the quantized wavelet transform coefficient as the predetermined digital watermark.
The image processing apparatus according to claim 1, wherein:
前記たたみ込み符号算出手段は、統計計算値を種にして算出された乱数値をたたみ込み符号として用いることを特徴とする請求項5記載の画像処理装置。6. The image processing apparatus according to claim 5, wherein the convolution code calculation means uses a random value calculated using a statistical calculation value as a seed as a convolution code. 画像データ中に埋め込まれている電子透かしデータを抽出する抽出手段と、
抽出された電子透かしデータ中のバウンダリ位置照合用データに基づき、2次元ウェーブレット変換における下位階層側から上位階層側に向けて、照合ブロック位置をずらして順次各々の階層におけるバウンダリ位置を確定するバウンダリ位置確定手段と、
バウンダリ位置が確定されたウェーブレット変換における上位階層の元の画像における分割されたブロック位置に割り当てられた所定の電子透かし情報と当該ブロックの復号画像データから統計計算により算出されたデータとを照合する電子透かし照合手段と、
を備えることを特徴とする請求項3ないし6の何れか一記載の画像処理装置。
Extracting means for extracting digital watermark data embedded in the image data;
Based on the data for boundary position matching in the extracted digital watermark data, the boundary position for sequentially determining the boundary position in each layer by shifting the matching block position from the lower layer side to the upper layer side in the two-dimensional wavelet transform. Determining means;
An electronic device that compares predetermined digital watermark information assigned to a divided block position in an original image of an upper layer in a wavelet transform with a determined boundary position with data calculated by statistical calculation from decoded image data of the block. Watermark matching means,
The image processing device according to claim 3, further comprising:
画像を複数に分割したブロック毎にその画素値に対して2次元ウェーブレット変換処理、量子化処理を行うコンピュータにインストールされ、当該コンピュータに、
量子化されたウェーブレット変換係数に所定の電子透かし情報を埋め込む電子透かし埋め込み機能を実行させ、
この電子透かし埋め込み機能は、前記所定の電子透かし情報に加えて、分割されたブロックのバウンダリ位置を特定するために、元の前記画像の2のべき乗の水平/垂直の座標線に囲まれたブロック単位で独立した所定の規則に基づくバウンダリ位置照合用データを電子透かしとして埋め込むことを特徴とする画像処理用プログラム。
It is installed in a computer that performs a two-dimensional wavelet transform process and a quantization process on the pixel value for each block obtained by dividing the image into a plurality of blocks.
Execute a digital watermark embedding function of embedding predetermined digital watermark information in the quantized wavelet transform coefficient,
This digital watermark embedding function includes a block surrounded by horizontal / vertical coordinate lines of a power of 2 of the original image in order to specify a boundary position of the divided block in addition to the predetermined digital watermark information. An image processing program for embedding boundary position collation data based on a predetermined rule that is independent in units as an electronic watermark.
前記電子透かし埋め込み機能は、圧縮処理しても有効性が保たれる量子化データの最下位ビットにバウンダリ位置照合用データを電子透かしとして埋め込むことを特徴とする請求項8記載の画像処理用プログラム。9. The image processing program according to claim 8, wherein the digital watermark embedding function embeds data for boundary position matching as an electronic watermark in the least significant bit of the quantized data that remains effective even after compression processing. . 前記電子透かし埋め込み機能は、2次元ウェーブレット変換における上位階層のバウンダリ位置照合用データとしてその直下の下位階層の該当箇所の4ビットのバウンダリ位置照合用データの排他的論理和演算に基づき算出されたデータを用いるように各階層のバウンダリ位置照合用データを決定することを特徴とする請求項8又は9記載の画像処理用プログラム。The digital watermark embedding function is a data calculated based on an exclusive OR operation of 4-bit boundary position matching data of a corresponding portion of a lower layer immediately below the data as upper-layer boundary position matching data in the two-dimensional wavelet transform. 10. The image processing program according to claim 8, wherein data for boundary position matching of each layer is determined so as to use. 前記電子透かし埋め込み機能は、バウンダリ位置照合用データとして2次元ウェーブレット変換における水平/垂直方向に関して各階層毎に独立した組合せの基本パターンを有することを特徴とする請求項10記載の画像処理用プログラム。11. The computer-readable storage medium according to claim 10, wherein the digital watermark embedding function has, as boundary position matching data, a basic pattern of an independent combination for each layer in a horizontal / vertical direction in a two-dimensional wavelet transform. ブロック毎に画像データに関して統計計算して所定の電子透かしとして埋め込むたたみ込み符号を算出し、かつ、算出された当該たたみ込み符号のデータをファジー表現するためのファジー処理を施すたたみ込み符号算出機能を前記コンピュータに実行させ、
前記電子透かし埋め込み機能は、算出されファジー処理化されたたたみ込み符号を量子化されたウェーブレット変換係数に前記所定の電子透かしとして埋め込む、
ことを特徴とする請求項8ないし11の何れか一記載の画像処理用プログラム。
A convolutional code calculation function of calculating a convolutional code to be embedded as a predetermined digital watermark by performing statistical calculation on image data for each block and performing fuzzy processing for fuzzy expression of the calculated data of the convolutional code. Run on the computer,
The digital watermark embedding function embeds the calculated and fuzzy processed convolutional code into the quantized wavelet transform coefficient as the predetermined digital watermark.
An image processing program according to any one of claims 8 to 11, wherein:
前記たたみ込み符号算出機能は、統計計算値を種にして算出された乱数値をたたみ込み符号として用いることを特徴とする請求項12記載の画像処理用プログラム。13. The image processing program according to claim 12, wherein the convolution code calculation function uses a random value calculated using a statistical calculation value as a seed as a convolution code. 画像データ中に埋め込まれている電子透かしデータを抽出する抽出機能と、
抽出された電子透かしデータ中のバウンダリ位置照合用データに基づき、2次元ウェーブレット変換における下位階層側から上位階層側に向けて、照合ブロック位置をずらして順次各々の階層におけるバウンダリ位置を確定するバウンダリ位置確定機能と、
バウンダリ位置が確定されたウェーブレット変換における上位階層の元の画像における分割されたブロック位置に割り当てられた所定の電子透かし情報と当該ブロックの復号画像データから統計計算により算出されたデータとを照合する電子透かし照合機能と、
を前期コンピュータに実行させることを特徴とする請求項10ないし13の何れか一記載の画像処理用プログラム。
An extraction function for extracting digital watermark data embedded in image data,
Based on the data for boundary position matching in the extracted digital watermark data, the boundary position for sequentially determining the boundary position in each layer by shifting the matching block position from the lower layer side to the upper layer side in the two-dimensional wavelet transform. Confirmation function,
An electronic device that compares predetermined digital watermark information assigned to a divided block position in an original image of an upper layer in a wavelet transform with a determined boundary position with data calculated by statistical calculation from decoded image data of the block. Watermark matching function,
14. The image processing program according to claim 10, wherein the program is executed by a computer.
請求項8ないし14の何れか一記載の画像処理用プログラムを格納したコンピュータ読み取可能な記憶媒体。A computer-readable storage medium storing the image processing program according to any one of claims 8 to 14.
JP2003025135A 2003-01-31 2003-01-31 Image processor, image processing program and storage medium Pending JP2004236229A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003025135A JP2004236229A (en) 2003-01-31 2003-01-31 Image processor, image processing program and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003025135A JP2004236229A (en) 2003-01-31 2003-01-31 Image processor, image processing program and storage medium

Publications (1)

Publication Number Publication Date
JP2004236229A true JP2004236229A (en) 2004-08-19

Family

ID=32953492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003025135A Pending JP2004236229A (en) 2003-01-31 2003-01-31 Image processor, image processing program and storage medium

Country Status (1)

Country Link
JP (1) JP2004236229A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007036652A (en) * 2005-07-27 2007-02-08 Ricoh Co Ltd Image processing method, image processing apparatus, program, and storage medium
JP2009527012A (en) * 2006-02-15 2009-07-23 ジェイクリプト リミテッド Method and apparatus for seeding a cryptographic random number generator

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007036652A (en) * 2005-07-27 2007-02-08 Ricoh Co Ltd Image processing method, image processing apparatus, program, and storage medium
JP4652167B2 (en) * 2005-07-27 2011-03-16 株式会社リコー Image processing apparatus, image processing method, and program
JP2009527012A (en) * 2006-02-15 2009-07-23 ジェイクリプト リミテッド Method and apparatus for seeding a cryptographic random number generator
JP2013242584A (en) * 2006-02-15 2013-12-05 Jaycrypto Ltd Method and device for giving seed to encryption random number generator

Similar Documents

Publication Publication Date Title
US7548633B2 (en) Data processing apparatus and method, data processing program, and storage medium
Rakhmawati et al. A recent survey of self-embedding fragile watermarking scheme for image authentication with recovery capability
US7502488B2 (en) Image processing apparatus, program, and storage medium that can selectively vary embedding specification of digital watermark data
JP3960597B2 (en) Code generation apparatus, image processing apparatus, code generation program, image processing program, and storage medium
JP2004163855A (en) Electronic watermark embedding method, and encoder and decoder capable of utilizing such method
JP2002325170A (en) Image processing unit and its method, and program code, storage medium
JP3982686B2 (en) Code generation apparatus, code generation program, and storage medium
JP2000228721A (en) Method for inserting watermark and authenticating digital signal
Ahmad et al. Hiding patients’ medical reports using an enhanced wavelet steganography algorithm in DICOM images
Shi et al. A region-adaptive semi-fragile dual watermarking scheme
Chang et al. An effective image self-recovery based fragile watermarking using self-adaptive weight-based compressed AMBTC
US7447314B2 (en) Information processing method, information processing apparatus, program, and storage medium
Wang et al. Privacy-preserving reversible data hiding based on quad-tree block encoding and integer wavelet transform
Su et al. New design paradigm of distortion cost function for efficient JPEG steganography
Gao et al. A secure lossless recovery for medical images based on image encoding and data self-embedding
Wu Quantization-based image authentication scheme using QR error correction
JP4945541B2 (en) Digital watermark embedding detection method using degraded host signal
JP2004236229A (en) Image processor, image processing program and storage medium
Schlauweg et al. JPEG2000-based secure image authentication
JP3780175B2 (en) Image processing apparatus, image processing method, and storage medium
JP4128461B2 (en) Image processing apparatus, image processing program, and storage medium
JP4101073B2 (en) Image encoding apparatus, encoding / decoding apparatus, program, and storage medium
Schlauweg et al. Dual watermarking for protection of rightful ownership and secure image authentication
JP2004228876A (en) Image encoder, code decoder, program and storage medium
Li et al. A reversible watermarking for image content authentication based on wavelet transform

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041008