JP4128461B2 - Image processing apparatus, image processing program, and storage medium - Google Patents

Image processing apparatus, image processing program, and storage medium Download PDF

Info

Publication number
JP4128461B2
JP4128461B2 JP2003018247A JP2003018247A JP4128461B2 JP 4128461 B2 JP4128461 B2 JP 4128461B2 JP 2003018247 A JP2003018247 A JP 2003018247A JP 2003018247 A JP2003018247 A JP 2003018247A JP 4128461 B2 JP4128461 B2 JP 4128461B2
Authority
JP
Japan
Prior art keywords
data
code
image
rectangular area
convolutional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003018247A
Other languages
Japanese (ja)
Other versions
JP2004235682A (en
Inventor
隆之 西村
泰之 野水
宏幸 作山
潤一 原
熱河 松浦
隆則 矢野
児玉  卓
利夫 宮澤
康行 新海
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 JP2003018247A priority Critical patent/JP4128461B2/en
Publication of JP2004235682A publication Critical patent/JP2004235682A/en
Application granted granted Critical
Publication of JP4128461B2 publication Critical patent/JP4128461B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Television Systems (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子透かしを扱う画像処理装置、画像処理用プログラム及び記憶媒体に関する。
【0002】
【従来の技術】
デジタル画像等のデジタル情報(デジタルコンテンツ)は、コンピュータ等によって、情報を劣化させることなく、簡単にコピーすることができる。近年では、デジタル画像技術の発達に伴い、デジタルカメラ等によって取得されたデジタル画像等を、証拠写真として使用することも可能になってきている。このようなデジタルコンテンツには、著作権等が付され、許可無くコピーしたり、コピーしたデジタルコンテンツを再利用したりすることが禁じられているものがある。
【0003】
ところで、デジタルコンテンツは、簡単な修飾処理等の操作を施して書換え等を行なうことによって、容易に改ざんすることができる。このため、デジタルコンテンツは、不正にコピーされて勝手に再利用されたり、一部が改ざんされて証拠写真に使用出来ないようにされたりすることがある。
【0004】
この対策として、デジタル画像等のデジタルコンテンツ中に該デジタルコンテンツを普通に再生した場合には視覚できない情報を付加する、いわゆる、電子透かしやデータハイディング等と呼ばれる方法によって、デジタルコンテンツの不正利用を防止するようにした技術がある。これにより、デジタルコンテンツが不正に利用されているか否かを、該デジタルコンテンツ中に埋め込まれた電子透かしによって判断することができる。
【0005】
電子透かしをデジタルコンテンツに埋め込む用途には、次のようなものがある。
A.著作権情報の記録
B.違法コピー者情報の追跡
C.IPアドレスの履歴記録
D.違法コピーの防止:不可視・高耐性型
E.改ざん防止への応用:不可視・低耐性型
F.認証
G.秘密通信
H.所有権者表示のためにデジタルコンテンツの注釈やラベルを埋め込む:可視・不可逆型
I.透かし除去可能化:可視・可逆型……コンテンツ配布
【0006】
このようにデジタルコンテンツ中に電子透かしを埋め込む目的には各種あるが、このような電子透かしに関して各種の目的を網羅することが難しいことも知られている。例えば、電子透かしを用いて著作権保護を強化したい場合には、埋め込む電子透かしの耐性を強くし、当該デジタルコンテンツに圧縮、回転等の多少の変更が加えられてもその電子透かしが破壊されないようにする必要がある。一方、電子透かしを用いてデジタルコンテンツに対する改ざんを検出したい場合には、当該電子透かしの耐性を弱くして多少の変更によっても電子透かしが壊れるようにする必要があり、著作権保護用の場合とはトレードオフの関係にある。
【0007】
このような事情を考慮した文献や提案例も各種ある。
【0008】
例えば、インデクス用を目的として、耐性を維持しつつ、電子透かし埋め込み後の画質を損なわないように、ウェーブレット係数のサブバンドHL,LH或いはHHの係数に埋め込むようにしたものがある(例えば、非特許文献1,2参照)。
【0009】
また、ウェーブレット変換時のウェーブレット係数に電子透かしを埋め込み、電子透かしの埋め込み自由度を向上させることで、電子透かしの高耐性・画質の低劣化を実現するようにした提案もある(例えば、特許文献1参照)。
【0010】
また、ウェーブレット変換と誤り訂正符号とを組合せることにより、電子透かしの耐性を可変させるようにした提案例もある(例えば、特許文献2参照)。この場合、電子透かしの抽出処理系では、単純多数決方式を用いている。
【0011】
さらには、ウェーブレット係数値に単調増加に変動する強度で電子透かしを埋め込むようにした提案例もある(例えば、特許文献3参照)。
【0012】
【特許文献1】
特開2000−13587公報
【特許文献2】
特開2000−106624公報
【特許文献3】
特開2000−196856公報
【非特許文献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“ウェーブレット係数の大小関係を利用してインデクス情報を埋め込む電子透かし法”岩田基、汐崎陽
【0013】
【発明が解決しようとする課題】
このように各種文献、提案例があるが、何れも完全なものではない。
【0014】
まず、非特許文献1,2による場合、例えばデジタルカメラにおけるインデクス情報の埋め込みに特化し、主に画質劣化の低減を考慮しているものであり、デジタルコンテンツの改ざん検出用〜著作権保護用といった幅広い目的に適用するには不十分である。
【0015】
特許文献1の場合、ウェーブレット変換時のウェーブレット係数に電子透かしを埋め込むわけであるが、画像データの自動分析等によって埋め込み箇所を自動設定するのではなく、外部からのパラメータ指定による閾値で判断するものであり、自動処理化の点で不十分な方法である。
【0016】
特許文献2の場合、ウェーブレット変換の最低域以外の係数の中で絶対値の大きい方の係数値に電子透かしを埋め込むとともに、1bit誤り訂正符号方式を組合せることにより、著作権保護と改ざん発見用との両方の機能を実現できる、とされているものであるが、著作権保護用に要求される画質の劣化の程度、改ざん検出用に要求される電子透かしの情報量の点で、必ずしも十分なものではない。
【0017】
さらに、特許文献3の場合には、知覚的に重要でない成分から順に電子透かしを埋め込むことにより、電子透かしを埋め込んでも画質を損ないにくいメリットがあるものの、電子透かしの情報量を増やす目的においては知覚的に重要な成分にも電子透かしを埋め込むので、画質を低下させない程度が必ずしも十分ではない。
【0018】
本発明の目的は、JPEG2000アルゴリズムによる高圧縮処理をベースとしつつ、改ざん発見用ないしは著作権保護用といった幅広い各々の用途・目的に適した耐性の電子透かしを埋め込み、復元できるようにすることである。
【0019】
【課題を解決するための手段】
請求項1記載の発明の画像処理装置は、画像データを複数に分割した矩形領域毎に、ウェーブレット変換係数への変換、前記変換係数の量子化、及び量子化された前記変換係数の可逆圧縮符号化の過程を含む手順で、前記画像データを符号データに圧縮符号化する画像処理装置において、電子透かしとして量子化された前記変換係数に埋め込まれるたたみ込み符号を、分割された矩形領域毎に前記画像データに関して統計計算により算出するたたみ込み符号算出手段と、前記たたみ込み符号算出手段により算出された前記たたみ込み符号のデータを、たたみ込み数値の値が1増える毎にその意味を表すビット情報が1ビットずつ変化する表現形態とするファジー処理を施すファジー処理手段と、前記ファジー処理手段によりファジー処理された前記たたみ込み符号を、量子化された前記変換係数に電子透かしとして埋め込む埋め込み手段とを備え、前記ファジー処理手段は、前記たたみ込み符号のデータを表現するビット数を可変設定自在であることを特徴とする。
【0020】
従って、2次元ウェーブレット変換係数への電子透かしの埋め込み、耐性調整が可能なたたみ込み符号−ビタビ復号の組合せに加えて、電子透かしとなるたたみ込み符号のデータ耐性のファジー化を組合せることにより、電子透かし埋め込みによる画質の劣化を回避しており、電子透かしデータの耐性を高めるために画質を変換させるのに代えて電子透かしとなるたたみ込み符号の統計処理値に基づいているので、画質劣化が少ない上に電子透かしの情報量の増大を図ることもでき、用途に応じた電子透かしとすることができる。また、電子透かしとしてのデータ耐性をファジー化する処理が、たたみ込み数値の値が1増える毎にその意味を表すビット情報が1ビットずつ変化する表現形態とする処理であるので、ビット情報の変化を滑らかにすることができ、例えば、統計計算値が非可逆圧縮により低下することを補完することが可能となる。また、ファジー処理によりたたみ込み符号のデータを表現するビット数が、例えば2ビット、3ビットの如く、可変設定自在であるので、電子透かしとしてのデータをファジー化する処理において改ざん発見レベルの調整が可能となる。
【0029】
請求項記載の発明は、請求項1記載の画像処理装置において、分割された或る矩形領域の統計計算値に基づき算出された電子透かし用のたたみ込み符号を、当該矩形領域とは分離された別の矩形領域に復元可能な対応付けをもって割り当てる割り当て領域変更手段を備える。
【0030】
従って、電子透かし用のたたみ込み符号を取得するための供与体となる矩形領域と、当該たたみ込み符号が埋め込まれる受容体となる矩形領域とを同一とはせず分離することにより、何れの矩形領域のデータが壊されても辻褄が合わなくなるので、改ざんされたことを発見できることとなり、改ざん発見の感度を向上させることができる。
【0031】
請求項記載の発明の画像処理装置は、請求項1又は2記載の画像処理装置においてさらに、前記符号データを復号化、逆量子化、ウェーブレット逆変換の過程を含む逆手順で画像データに伸長する伸長手段と、量子化された前記変換係数に埋め込まれた前記たたみ込み符号データを、ビタビ復号データとして前記符号データ中から抽出するビタビ復号手段と、復号された画像データの複数に分割した矩形領域毎に当該画像データに関して統計計算されたデータとその矩形領域と対応付けされた矩形領域から抽出されたビタビ復号データとを照合してデータ改ざんの有無を検証する照合手段とを備えることを特徴とする。
【0032】
従って、請求項1又は2記載の発明により埋め込まれた電子透かしに対して適正に復号、検証処理を行わせることができる。
【0049】
【発明の実施の形態】
本発明の一実施の形態を図面に基づいて説明する。
【0050】
[JPEG2000アルゴリズムの概要について]
本実施の形態は、JPEG2000アルゴリズムを利用するものであるが、JPEG2000アルゴリズム自体は各種文献、公報等により周知であるので、詳細は省略し、その概要について説明する。図1は、JPEG2000アルゴリズムの概要を説明するためのブロック図である。JPEG2000のアルゴリズムは、色空間変換・逆変換部110、2次元ウェーブレット変換・逆変換部111、量子化・逆量子化部112、エントロピー符号化・復号化部113、タグ処理部114で構成されている。JPEG2000の特徴の一つは、前述したように高圧縮領域における画質が良いという長所を持つ2次元離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている点である。また、もう一つの大きな特徴は、最終段に符号形成を行うために、タグ処理部114と呼ばれる機能ブロックが追加されており、コードストリームの生成や解釈が行われる。そして、コードストリームによって、JPEG2000は様々な便利な機能を実現できるようになった。例えば、図2は、デコンポジションレベル(ウェーブレット分割レベル+1)が3の場合の、各デコンポジションレベルにおけるサブバンドの一例を示す図で、図2に示したブロックベースでのDWTにおけるオクターブ分割の階層に対応した任意の階層で、静止画像の圧縮伸長処理を停止させることができる。
【0051】
また、原画像の入出力部分には、色空間変換・逆変換部110が用意されることが多い。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YCrCbあるいはYUV表色系への変換又は逆の変換を行う部分がこれに相当する。
【0052】
以下、JPEG2000アルゴリズム、特にウェーブレット変換について、説明する。
【0053】
符号化時には、各コンポーネントの各タイルのデータが、色空間変換部110に入力され、色空間変換を施された後、2次元ウェーブレット変換部111で2次元ウェーブレット変換(順変換)が適用されて周波数帯に空間分割される。
【0054】
図2には、デコンポジションレベルが3の場合の、各デコンポジションレベルにおけるサブバンドを示している。即ち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジションレベル0(符号120))に対して、2次元ウェーブレット変換を施し、デコンポジションレベル1(符号121)に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジションレベル2(符号122)に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジションレベル3(符号123)に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。
【0055】
さらに、図2では、各デコンポジションレベルにおいて符号化の対象となるサブバンドを、グレーで表してある。例えば、デコンポジションレベルを3とした時、グレーで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0056】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、量子化部112で対象ビット周辺のビットからコンテキストが生成される。量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、プレシンクトと呼ばれる重複のない矩形に分割される。ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素或いはコード・ブロック毎に「ビットプレーン」に順位付けを行うことができる。
【0057】
エントロピー符号化部113では、コンテキストと対象ビットから確率推定によって、各コンポーネントのタイルに対する符号化を行う。こうして、原画像の全てのコンポーネントについて、タイル単位で符号化処理が行われる。最後にタグ処理部114は、エントロピコーダ部からの全符号化データを1本のコードストリームに結合するとともに、それにタグを付加する処理を行う。図3に、コードストリームの構造を簡単に示している。このようなコードストリームの先頭と各タイルを構成する部分タイルの先頭には、ヘッダと呼ばれるタグ情報が付加され、その後に、各タイルの符号化データが続く。そして、コードストリームの終端には、再びタグが置かれる。
【0058】
一方、復号化時には、符号化時とは逆に、各コンポーネントの各タイルのコードストリームから画像データを生成する。この場合、タグ処理部114は、外部より入力したコードストリームに付加されたタグ情報を解釈し、コードストリームを各コンポーネントの各タイルのコードストリームに分解し、その各コンポーネントの各タイルのコードストリーム毎に復号化処理が行われる。コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、逆量子化部112で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー復号化部113で、このコンテキストとコードストリームから確率推定によって復号化を行い対象ビットを生成し、それを対象ビットの位置に書き込む。
【0059】
このようにして復号化されたデータは周波数帯域毎に空間分割されているため、これを2次元ウェーブレット逆変換部111で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間逆変換部110によって元の表色系のデータに変換される。
【0060】
以上が、「JPEG2000アルゴリズム」の概要である。
【0061】
[画像処理装置]
本発明が適用される画像処理装置の例としては、各種あるが、本実施の形態では、その一例として、画像データに各種条件で電子透かしを埋め込んで圧縮符号化して出力するケースの多い画像処理装置としてデジタルカメラに適用し、このようなデジタルカメラで撮像され圧縮符号化されて提供される符号データを復号化して出力する画像処理装置としてパーソナルコンピュータに適用する例で説明する。
【0062】
まず、図4は、本発明が適用される画像処理装置の一例としてのデジタルカメラ1のハードウエア構成を概略的に示すブロック図である。
【0063】
本実施の形態のデジタルカメラ1は、概略的には、図4に示すように、撮像部11と、信号処理部12と、メモリ制御部13と、主制御部14と、フレームメモリ15と、インタフェース16と、表示部17と、外部記憶部18と、撮影モード設定部19とを備える。そして、撮像部11はレンズ21と、絞り22と、シャッタ23と、光電変換素子24と、前処理部25とを含む。
【0064】
ここで、信号処理部12は、前処理部25とメモリ制御部13、主制御部14及びインタフェース16に接続されている。また、メモリ制御部13はさらにフレームメモリ15に接続されている。主制御部14はさらに、メモリ制御部13と撮影モード設定部19に接続されている。また、フレームメモリ15は、メモリ制御部13に接続されている。インタフェース16はさらに表示部17及び外部記憶部18に接続されている。
【0065】
一方、撮像部11においては、レンズ21と絞り22、シャッタ23、光電変換素子24が光軸上でこの順に配置され、光電変換素子24は前処理部25に接続されている。
【0066】
また、撮像部11の光電変換素子24には例えばCCDが使用されている。また、前処理部25にはプリアンプや自動利得制御回路(Auto Gain Control−AGC)等からなるアナログ信号処理部やアナログ−デジタル変換器(A/D変換器)が備えられ、光電変換素子24より出力されたアナログ映像信号に対して、増幅やクランプ等の前処理が施された後、上記アナログ映像信号がデジタル映像信号に変換される。
【0067】
また、信号処理部12はデジタル信号処理プロセッサ(DSPプロセッサ)等により構成され、前述のJPEG2000アルゴリズムによる画像圧縮機能を有し、撮像部11において得られたデジタル映像信号に対して色分解、ホワイトバランス調整、γ補正など種々の画像処理を施す。また、メモリ制御部13はこのようにして処理された画像信号をフレームメモリ15へ格納したり、逆にフレームメモリ15に格納された画像信号を読出したりする処理を行う。また、主制御部14は当該デジタルカメラの各部を集中的に制御するCPU、このCPUが使用する各種制御プログラムなどを記憶したROM、ワークエリアとなるRAMを有するマイクロコンピュータ構成のものである。なお、ROMに格納されている制御プログラムに代えて、当該制御プログラムを格納した記憶媒体(図示せず)をデジタルカメラ1に装着し、デジタルカメラ1のCPUに当該制御プログラムを実行させるようにしてもよい。また、フレームメモリ15は少なくとも2枚の画像を格納し、一般的にはVRAM,SRAM,DRAM等の半導体メモリが使用される。
【0068】
ここで、フレームメモリ15から読出された画像信号は、信号処理部12において画像圧縮等の信号処理が施された後、インタフェース16を介して外部記憶部18に保存される。この外部記憶部18はインタフェース16を介して供給される画像信号などの種々の信号を読み書きし、ICメモリカードや光磁気ディスク等により構成される。ここで外部記憶部18として、モデムカードやISDNカードが使用されれば、ネットワークを経由して画像信号を直接遠隔地の記録媒体に送信することもできる。
【0069】
また、逆に外部記憶部18に記録された画像信号の読出しは、インタフェース16を介して信号処理部12へ画像信号が送信され、信号処理部12において画像伸長が施されることによって行われる。一方、外部記憶部18及びフレームメモリ15から読出された画像信号の表示は、信号処理部12において画像信号に対してデジタル−アナログ変換(D/A変換)や増幅などの信号処理を施した後、インタフェース16を介して表示部17に送信することにより行われる。ここで、表示部17は、インタフェース16を介して供給された画像信号に応じて画像を表示し、例えばデジタルカメラ1の筐体に設置された液晶表示装置により構成される。
【0070】
図5は、復号側の画像処理装置に相当するパーソナルコンピュータ31のハードウェア構成を概略的に示すブロック図である。図5に示すように、コンピュータ31は、当該コンピュータの主要部であって各部を集中的に制御するCPU(Central Processing Unit)32を備えている。このCPU32には、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)33と、各種データを書換え可能に記憶するRAM(Random Access Memory)34とがバス35で接続されている。RAM34は、各種データを書換え可能に記憶する性質を有していることから、CPU32の作業エリアとして機能し、例えば入力バッファ等の役割を果たす。
【0071】
さらにバス35には、HDD(Hard Disk Drive)36と、配布されたプログラムであるコンピュータソフトウェアを読み取るための機構としてCD(Compact Disc)−ROM37を読み取るCD−ROMドライブ38と、相手方となるコンピュータとネットワーク39との通信を司る通信制御装置40と、キーボードやマウスなどの入力装置41と、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)である表示装置42とが、図示しないI/Oを介して接続されている。
【0072】
そして、パーソナルコンピュータ31の場合であれば、ネットワーク39を介してサーバからダウンロードした圧縮符号化された符号データは、HDD36に格納されることになる。
【0073】
また、CD−ROM37は、本発明の記憶媒体を実施するものであり、OS(Operating System)や各種コンピュータソフトウェアが記憶されている。CPU6は、CD−ROM37に記憶されているコンピュータソフトウェアをCD−ROMドライブ28で読み取り、HDD36にインストールする。
【0074】
なお、記憶媒体としては、CD−ROM37のみならず、DVDなどの各種の光ディスク、各種光磁気ディスク、FDなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、通信制御装置30を介してインターネットなどのネットワーク39からコンピュータソフトウェアをダウンロードし、HDD36にインストールするようにしてもよい。この場合に、送信側のサーバでコンピュータソフトウェアを記憶している記憶装置も、本発明の記憶媒体である。なお、コンピュータソフトウェアは、所定のOS(Operating System)上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【0075】
このような構成のデジタルカメラ1、コンピュータ31には、コンピュータソフトウェアの一つとして、画像を処理する画像処理プログラムが記憶されている。この画像処理プログラムは本発明のプログラムを実施するものである。そして、この画像処理プログラムに基づいてCPUが実行する処理により、デジタルカメラ1、コンピュータ31の各部の各種機能を実現する。その一つとして、図1を参照して説明したJPEG2000アルゴリズムの各機能ブロックを備え、前述のようなJPEG2000アルゴリズムにより画像データの圧縮符号化、又は、符号データの復号化を行う。即ち、図1に示したような圧縮符号化手段及び復号化手段の機能は、HDDに記憶されているプログラムに基づいてCPUが行う処理により実行される(もっとも、論理回路等を利用したハードウェア構成により実行させてもよい)。
【0076】
[デジタルカメラにおける画像符号化処理]
本実施の形態のデジタルカメラ1は、基本的にJPEG2000アルゴリズムを利用して画像データの圧縮符号化を行うものであり、その際、ユーザの必要性・目的に応じた耐性を付与した電子透かしを埋め込むものである。
【0077】
デジタルカメラ1においてこのような画像符号化処理を行うJPEG2000アルゴリズムによる圧縮符号化手段を適宜簡略化して書き直すと、図6のように示すことができる。即ち、撮像部11から画像データの入力を受付ける入力部51、受付けた画像データに対して色空間変換等の処理を経た後、2次元ウェーブレット変換処理を行う2次元ウェーブレット変換部52(102に相当)、変換された離散ウェーブレット変換係数に対して効率のよい圧縮を行うためにそのダイナミックレンジを削減するポスト量子化等の非可逆な量子化処理を行う係数量子化部53(103に相当)、量子化された離散ウェーブレット変換係数に対して前述のエントロピー符号化(係数モデリング+算術符号化)等の可逆圧縮符号化処理を行う可逆圧縮符号化部54(104に相当)、符号化された符号データの並べ替え処理等を行い、必要箇所に出力する符号データ出力部55(105に相当)による圧縮符号化手段56を有する。ここに、可逆圧縮符号化部54の“可逆圧縮符号化”とは、変換しても完全に元に戻せる変換処理のことをいい、前述の算術符号化等の処理が該当する。
【0078】
このような通常のJPEG2000アルゴリズムによる圧縮符号化手段56の機能に加え、本実施の形態では、圧縮符号化手段56により可逆圧縮符号化される直前のデータ、ここでは、係数量子化部53により量子化された離散ウェーブレット変換係数に対して、符号化された電子透かしデータを埋め込む電子透かし埋め込み手段又は電子透かし埋め込み機能として作用する電子透かし埋め込み部57が付加されている。この電子透かし埋め込み部57による処理等についての詳細は後述するが、ここでは、たたみ込み符号化部58において元の画像データに関する分割領域=ブロック毎の画像統計値(平均値、分散値等)を種(タネ)にした乱数値により生成されたたたみ込み符号を電子透かしデータとして用いて埋め込むものである。
【0079】
[パソコンにおける符号復号化処理]
本実施の形態のパーソナルコンピュータ31は、デジタルカメラ1から直接的に、或いは、プロバイダ、サーバ等から供給されるJPEG2000アルゴリズムによる符号データをJPEG2000アルゴリズムにより復号化するものであり、このような符号復号化処理を行うJPEG2000アルゴリズムによる復号化手段を適宜簡略化して書き直すと、図7のように示すことができる。即ち、デジタルカメラ1等から配布される前述のように、電子透かしデータが埋め込まれた符号データの入力を受付ける符号データ入力手段又は符号データ入力機能として作用する入力部61に対して、受付けた符号データに対してエントロピー復号化処理等の可逆圧縮符号の復号化処理を行う可逆圧縮符号の復号化部62、2次元ウェーブレット逆変換等を行って元の画像データに復元する2次元ウェーブレット逆変換部63(103,102,101等に相当)による復号化手段64を有する。
【0080】
加えて、復号化部62と2次元ウェーブレット逆変換部63との間には、符号データ中に埋め込まれている電子透かしデータを復号するための電子透かし復号部65が付加されている。この電子透かし復号部65の処理等の詳細についても後述するが、たたみ込み方式に対して対をなす復号化方式として周知のビタビ(Viterbi)復号方式が用いられている。また、電子透かし復号部65から得られるビタビ復号信号と、復号された画像データに関する分割領域=ブロック毎の画像統計値(平均値、分散値等)とを比較照合することにより、電子透かしの改ざんの有無等をチェックする照合部66も付加されている。
【0081】
以下、埋め込み側・復号側で対応する各処理に分けて順に説明する。
【0082】
[電子透かし埋め込み処理−電子透かし抽出照合処理]
この処理は、図6にあっては、入力部51、2次元ウェーブレット変換部52、係数量子化部53、電子透かし埋め込み部57の処理であり、図7にあっては、電子透かし復号部65及び2次元ウェーブレット逆変換部63の処理である。
【0083】
この処理に関しては、基本的には、JPEG2000のウェーブレット変換の特徴及び前述の非特許文献1,2の方式を利用するものである。即ち、ウェーブレット変換によれば、画像データを周波数成分に分割した場合、サブバンドLL,LH,HL,HHの各成分に分割することができる。ここに、サブバンドLLは原画像の解像度を1/2にした画像を表現する最低周波成分であり、サブバンドLH,HL,HHは画像の横、縦、斜め方向の差分情報を表現する周波数成分であり、サブバンドHHが最高周波成分である。このうち、サブバンドLLは原画像の特徴を大きく表しているため、サブバンドLLに情報を埋め込むと、埋め込み後の画像に顕著な変化が出やすく、一方、サブバンドHHは一般的な画像変換処理や画像圧縮処理により取り除かれてしまうので、情報の埋め込みには向いていないものの、情報を埋め込んでも画像には変化が出にくいので埋め込み情報量を増やすには必要な場所である。
【0084】
そこで、一般的には、非特許文献1中にも記載されているように、サブバンドLH又はHLなる箇所のウェーブレット変換係数に情報を埋め込むことが好適といえるが、サブバンドLHは図8(a)に示すように原画像の水平方向の変化量を表しており、水平方向のウェーブレット変換中はサブバンドLLに対して垂直方向に位置するLH画像が類似し、サブバンドHLは図8(b)に示すように原画像の垂直方向の変化量を表しており、垂直方向のウェーブレット変換中はサブバンドLLに対して水平方向に位置するHL画像が類似する特性を持つ。そして、非特許文献1の場合と同様に、これらのサブバンドLHとHLとの局所的な画素の値の和の大小関係を利用して電子透かしデータを埋め込むことを基本とする。
【0085】
もっとも、非特許文献1等では、例えば撮像部11から入力されるrawデータであるRGBデータを対象としているが、本実施の形態では、色空間変換処理によりRGB→YCbCr(YUV)変換されたYUVデータのウェーブレット変換係数を対象として電子透かしデータを埋め込むように改良しているものである。より具体的には、輝度成分Y,色差成分Cb(U),Cr(V)の重要度(輝度成分Yは画質に大きく影響する)に応じた一般的な変換例である4:2:2YUVへの適用例とされている。
【0086】
そこで、例えば図9に示すように、16×16画素の色変換された原画像(YUYV)の各々についてウェーブレット変換を施してサブバンドLL2,LH2,HL2,HH2(第2階層の例)に周波数分割したウェーブレット変換係数に関して、輝度成分Y0,Y1にはなるべく電子透かし情報を埋め込まないようにするため非特許文献1に準じてサブバンドLH2,HL2の何れかの領域にそれらの局所的な画素の値の和の大小関係を利用して電子透かしデータを埋め込むものとする一方、画質への影響の少ない色差成分U,Vにはより多くの電子透かし情報を埋め込むようにするため非特許文献2に準じてサブバンドHH2をも考慮してサブバンドLH2,HH2又はサブバンドHL2,HH2の一方の組合せの領域にそれらの局所的な画素の値の和の大小関係を利用して電子透かしデータを埋め込むようにしたものである。図9中に示す+,−の表記は非特許文献1中のものと同様であり、非特許文献2中のP,Qに相当し、演算処理等はこれらの非特許文献1,2の場合と同様であるので、その詳細は省略する。
【0087】
よって、ウェーブレット変換係数中に電子透かしデータを埋め込む手法として、基本的には、非特許文献1,2等の方式を利用しているものの、色分解された4:2:2YUVデータを対象とし、輝度成分Yと色差成分U,Vとで電子透かしデータ量を異ならせているので、画質を落とすことなく、電子透かしとして埋め込むデータ量を4倍に増大させることができる。よって、基本的に電子透かし量が最重視される改ざん防止用に効果的な上に、著作権保護用等であっても画質劣化が少ないことが判る。
【0088】
[たたみ込み符号−ビタビ復号方式]
本実施の形態では、電子透かしとして埋め込むデータに関して、ブロック符号化変調技術、符号理論等で周知なたたみ込み符号−ビタビ復号の組合せを利用するものであり、この処理は、図6にあっては、たたみ込み符号化部58の処理であり、図7にあっては、電子透かし復号部65の処理である。
【0089】
まず、たたみ込み符号に関しては、例えば、“符号理論入門”岩垂好裕著、昭晃堂‘97なる文献中に記載されている図10に示すような演算処理を利用することができる。図中、Ikは元の信号、Cmnは算出された信号、+は排他的論理和演算を表している。図示例は、2個のメモリを使用したたたみ込み拘束長2、符号化率1/2の例を示しており、2つの信号
1j=Ij+Ij-2
0j=Ij+Ij-1+Ij-2
が算出される。このようなたたみ込み符号を用いることにより、荒っぽい処理がされてもデータが残り、結果として、耐性が高いことがよく知られており(例えば、NASA宇宙技術でも利用)、信号Cijのi,jの数、Ij+Ij-2の数が多いほど、即ち、たたみ込み拘束長の値が大きいほど耐性が大きいことも知られており、このたたみ込み拘束長の値を可変させることにより耐性の程度を調整することができる。
【0090】
ここに、図10に示したたたみ込み演算方式の演算例を示すと、表1のようにまとめることができる(これは、同文献中にも記載されている)。
【0091】
【表1】

Figure 0004128461
【0092】
この結果、このようなたたみ込み拘束長2、符号化率1/2の方法に関して、逆変換による画素値を算出すると(変数(独立):12変数Cm n)、
j=C0,(j+1)+C1,(j+1)
j=C1,j +C0,(j-1) +C1,(j-1)
j=C1,(j+2)+C0,(j+3) +C1,(j+3)
j=C0,(j+1)+C0,j +C1,j +C0,(j+2) +C1,(j+2)
j=C0,(j+2)+C0,(j+3) +C0,(j+4) +C1,(j+4)
となる。これにより、たたみ込み拘束長2、符号化率1/2の方法に関して5票による多数決が適用でき、信頼性が向上することが裏付けられる。例えば、1信号の読取り正解率が92%以上の場合であれば、5票の多数決により99%以上を復元し得る信頼性の高いものとなる。
【0093】
ちなみに、特許文献2等で用いられている単純多数決方式と対比した結果を示すと、表2に示すようになる。
【0094】
【表2】
Figure 0004128461
【0095】
即ち、多数決に3票用いる単純多数決方式の場合、情報量として元の3倍必要として98.2%の信頼性に留まるのに対して、前述のたたみ込み拘束長2の場合で情報量として元の2倍で5票による多数決、99.5%の信頼性が得られ、さらには、たたみ込み拘束長3の場合で情報量として元の2倍で7票による多数決、99.9%の信頼性が得られ、たたみ込み拘束長4以上の場合で情報量として元の2倍で9票による多数決、信頼性向上がみられたものである。従って、強い耐性が要求される著作権保護用の電子透かしの場合であれば、符号化率は1/2、たたみ込み拘束長を6の如く設定する一方、耐性がある程度低いことが要求される改ざん検出用の電子透かしの場合であれば、符号化率は1/2で一律とするものの、たたみ込み拘束長を2〜3の如く設定すれば、各々の目的に応じた耐性レベルの設定が可能となる。
【0096】
電子透かしとして埋め込まれたこのようなたたみ込み符号を復号・抽出する電子透かし復号部65での処理として行われる復元性の高いビタビ復号処理は、たたみ込み符号と対をなす復号方式として周知であり(例えば、前述の文献や特開2000−174628公報等参照)、このような一般的な技術を利用すればよいので、詳細説明は省略する。図11は前述したようにたたみ込み符号の拘束長が2、符号化率が1/2の場合のビタビ復号の基本的な一般図を示すもので(前述の文献中に記載されている)、図11(a)は電子透かし復号部65の内部状態を各時刻毎に示した格子状表現によるトレリス線図、図11(b)はその状態遷移図である。
【0097】
[電子透かしデータの供与体Donorと受容体Acceptorとの分離]
この処理は、図6にあっては、入力部51及びたたみ込み符号化部58の処理であり、図7にあっては、照合部66の処理である。即ち、分割された或る矩形領域=タイル又はブロックの統計計算値に基づき算出された電子透かし用のたたみ込み符号を、当該矩形領域とは分離された別の矩形領域に復元可能な対応付けをもって割り当てるようにしたものである(割り当て領域変更手段、割り当て領域変更機能)。基本的には、改ざんの発見を可能にするために、分割された或る矩形領域=タイル又はブロックの統計計算値(平均値でも分散値でもよい)を種(タネ)にした乱数値を電子透かしのデータ(最終的にはたたみ込み符号が用いられる)に使用するが、このようにして求めた電子透かしデータを、当該画像計算値を求めた矩形領域Donorとは異なる別の矩形領域Acceptorに埋め込むように埋め込み領域を割り当てることにより、同一の矩形領域に埋め込むセルフ方式の場合よりも改ざん発見の感度が向上するようにしたものである。例えば、8×8画素単位のタイル又はブロックを考えた場合、
Figure 0004128461
の情報の信頼性が得られる。例えば、n=2の場合であれば、98%となる。即ち、図12に略図的に示すように、或る(n−1)ブロックから得られた統計データ(平均値など)を別のブロックであるnブロックへの供与情報とする一方、nブロックでは(n−1)ブロックからの供与情報に基づく電子透かしデータを受容情報として埋め込み、(n+1)ブロック以降についても同様に処理するというものである。この方式によれば、何れのブロックの情報が壊されても、辻褄が合わなくなるので、改ざんされたことを確実に発見できることとなる。この場合、元の状態に復元できるように可逆性が必要であり、かつ、DonorとAcceptorとの対応付けが必要であり、より実際的には、図13に示すように、各々ウェーブレット変換の対象となるように複数に分割された各ブロックに関して、矢印で示すように例えば1つ上のブロックをDonorとし1つ下のブロックをAcceptorとする対応関係として電子透かしを埋め込むようにすれば、改ざんされた場合の改ざんを発見しやすいものとなる。
【0098】
これに対して、自己の矩形領域に埋め込むセルフタイプの場合、1−1/2=75%の情報の信頼性に留まるものである。改ざんがあった場合、共倒れになりやすいためである。
【0099】
[電子透かしデータの耐性をファジー化する処理]
この処理は、図6にあっては、たたみ込み符号化部58において統計計算値に基づき算出されたたたみ込み符号のデータをファジー表現するためのファジー処理を施す処理であり、図7にあっては、照合部66の処理である。このファジー化処理は、例えば、前述したように電子透かしの情報の供与体(矩形領域=ブロック)と受容体(矩形領域=ブロック)とを分離する方式で用いる平均値、分散値等の統計計算値が非可逆圧縮によって低下する信頼性を補完するための技術であり、例えば、2bitの場合であれば、図14に数量表現の基本形として模式的に示すように、数量を表すbit情報の変化が滑らかとなるように、数値が1増える毎に1bitずつしか変化させない表現内容を取るようにすればよい。即ち、通常のビット表現であれば、0(意味)=00(bit)、1(意味)=01(bit)、2(意味)=10(bit)、3(意味)=11(bit)となるが、ファジー化により図14中に示すような表現内容に変更するものである(2,3の対応関係が崩れる)。
【0100】
また、3bitの場合も、図15に示すように数値が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)となるが、ファジー化により図15中に示すような表現内容に変更するものである(2〜6の対応関係が崩れる)。この3bitの場合のファジー化によれば、上述のような非可逆圧縮に伴う画質低下、埋め込みデータの信頼性低下をハミング距離で判断することができる。即ち、ハミング距離が小さい場合には画像データの改ざんとはみなさず、ハミング距離が大きい場合のみ改ざんありと判断することができる。例えば、図15に示す例であれば、1bitの不一致があっても改ざんとはみなさないように判断することができる。
【0101】
このように、ファジー処理によりたたみ込み符号のデータを表現するビット数が、例えば2ビット、3ビットの如く、可変設定自在であるので、電子透かしとしてのデータをファジー化する処理において改ざん発見レベルの調整が可能となる。よって、改ざん検出用の電子透かしの場合であれば、そのデータ耐性のファジー化のビット数を3bitに設定すれば改ざん検出のより一層の適正化を図れる一方、著作権保護用の電子透かしの場合であれば、データ耐性のファジー化のビット数を2bitに設定すれば情報量を少しでも減らして画質劣化の抑制を図ることができる。
【0102】
結局、本実施の形態においては、2次元ウェーブレット変換係数への電子透かしの埋め込み、耐性調整が可能なたたみ込み符号−ビタビ復号の組合せに加えて、電子透かしとなるたたみ込み符号のデータ耐性のファジー化(Gray符号の類)を組合せることで、電子透かし埋め込みによる画質の劣化を回避しており、電子透かしデータの耐性を高めるために画質を変換させるのに代えて電子透かしとなるたたみ込み符号の統計処理値に基づいているので、画質劣化が少ない上に電子透かしの情報量の増大を図ることもでき、用途に応じた電子透かしとすることができる。よって、画質劣化の抑制や電子透かしの情報量の増大を図れる点で、特許文献1等に示される従来技術に対して、目的に応じた最適な電子透かしとなる。
【0103】
【発明の効果】
請求項1の発明によれば、2次元ウェーブレット変換係数への電子透かしの埋め込み、耐性調整が可能なたたみ込み符号−ビタビ復号の組合せに加えて、電子透かしとなるたたみ込み符号のデータ耐性のファジー化を組合せることにより、電子透かし埋め込みによる画質の劣化を回避しており、電子透かしデータの耐性を高めるために画質を変換させるのに代えて電子透かしとなるたたみ込み符号の統計処理値に基づいているので、画質劣化が少ない上に電子透かしの情報量の増大を図ることもでき、用途に応じた電子透かしとすることができる。また、電子透かしとしてのデータ耐性をファジー化する処理が、たたみ込み数値の値が1増える毎にその意味を表すビット情報が1ビットずつ変化する表現形態とする処理であるので、ビット情報の変化を滑らかにすることができ、例えば、統計計算値が非可逆圧縮により低下することを補完することが可能となる。また、ファジー処理によりたたみ込み符号のデータを表現するビット数が、例えば2ビット、3ビットの如く、可変設定自在であるので、電子透かしとしてのデータをファジー化する処理において改ざん発見レベルの調整が可能となる。
【0104】
請求項記載の発明によれば、請求項記載の発明において、電子透かし用のたたみ込み符号を取得するための供与体となる矩形領域と、当該たたみ込み符号が埋め込まれる受容体となる矩形領域とを同一とはせず分離することにより、何れの矩形領域のデータが壊されても辻褄が合わなくなるので、改ざんされたことを発見できることとなり、改ざん発見の感度を向上させることができる。
【0105】
請求項記載の発明によれば、、請求項1又は2記載の発明により埋め込まれた電子透かしに対して適正に復号、検証処理を行わせることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態の前提となるJPEG2000方式の基本となるアルゴリズムを実現するシステムの機能ブロック図である。
【図2】デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示す説明図である。
【図3】コードストリームを示す説明図である。
【図4】画像処理装置としてのデジタルカメラのハードウエア構成を概略的に示すブロック図である。
【図5】パーソナルコンピュータのハードウェア構成を概略的に示すブロック図である。
【図6】デジタルカメラにおける画像圧縮符号化の処理系を書き直して示す機能的ブロック図である。
【図7】パーソナルコンピュータにおける符号復号化の処理系を書き直して示す機能的ブロック図である。
【図8】ウェーブレット変換の特徴を示す模式的な説明図である。
【図9】YUVデータに関する電子透かし埋め込み方式を示す模式的な説明図である。
【図10】文献から抽出したたたみ込み符号方式の基本を示す模式的説明図である。
【図11】文献から抽出したビタビ復号方式の基本を示す模式的説明図である。
【図12】電子透かしデータの供与体と受容体とを分離する方式を示す模式的説明図である。
【図13】ブロックへの適用例を示す全体的な模式的説明図である。
【図14】2bitの場合のデータのファジー化方式を示す説明図である。
【図15】3bitの場合のデータのファジー化方式を示す説明図である。
【符号の説明】
1,31 画像処理装置
57 埋め込み手段、埋め込み機能
58 たたみ込み符号算出手段、たたみ込み符号算出機能
65 ビタビ復号手段、ビタビ復号機能
66 照合手段、照合機能[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus that handles electronic 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 degrading the information. In recent years, with the development of digital image technology, it has become possible to use digital images obtained by digital cameras or the like as evidence photographs. Some of such digital contents are copyrighted and are prohibited from being copied without permission or from being reused.
[0003]
By the way, digital content can be easily tampered with by performing operations such as simple modification processing and rewriting. For this reason, the digital content may be illegally copied and reused without permission, or may be partially altered so that it cannot be used for evidence photographs.
[0004]
As a countermeasure against this, unauthorized use of digital content is prevented by a method called digital watermarking or data hiding, which adds information that cannot be seen when digital content is normally played back to digital content such as digital images. There is a technology to prevent it. Thereby, it is possible to determine whether or not the digital content is illegally used based on the digital watermark embedded in the digital content.
[0005]
Applications for embedding digital watermarks in digital content include the following.
A. Record copyright information
B. Tracking illegal copy information
C. Record IP address history
D. Prevention of illegal copying: Invisible and highly resistant type
E. Application to tampering prevention: Invisible and low tolerance type
F. Authentication
G. Secret communication
H. Embed digital content annotations and labels to display owners: visible and irreversible
I. Enabling watermark removal: Visible / Reversible type ... Content distribution
[0006]
As described above, there are various purposes for embedding a digital watermark in digital content, but it is also known that it is difficult to cover various purposes related to such a digital watermark. For example, when it is desired to enhance copyright protection using digital watermarks, the digital watermarks to be embedded are made more resistant, so that the digital watermarks are not destroyed even if some changes such as compression or rotation are applied to the digital contents. It is necessary to. On the other hand, when it is desired to detect tampering with digital content using digital watermarks, it is necessary to weaken the resistance of the digital watermarks so that the digital watermarks can be broken by slight changes. Are in a trade-off relationship.
[0007]
There are various literatures and proposal examples in consideration of such circumstances.
[0008]
For example, for the purpose of indexing, there is one that is embedded in subbands HL, LH, or HH of wavelet coefficients so that image quality after digital watermark embedding is not impaired while maintaining durability (for example, non-coding) (See Patent Documents 1 and 2).
[0009]
There is also a proposal that realizes high tolerance of digital watermarking and low degradation of image quality by embedding digital watermarks in wavelet coefficients at the time of wavelet conversion and improving the degree of freedom of embedding of digital watermarks (for example, patent documents) 1).
[0010]
There is also a proposal example in which the resistance of digital watermark is made variable by combining wavelet transform and error correction code (see, for example, Patent Document 2). In this case, a simple majority method is used in the digital watermark extraction processing system.
[0011]
Furthermore, there is also a proposal example in which a digital watermark is embedded in a wavelet coefficient value with an intensity that fluctuates monotonously (for example, see Patent Document 3).
[0012]
[Patent Document 1]
Japanese Patent Laid-Open No. 2000-13587
[Patent Document 2]
JP 2000-106624 A
[Patent Document 3]
JP 2000-196856 A
[Non-Patent Document 1]
The 22nd Symposium on Information Theory and Its Applications (SITA99) Yuzawa, Niigata, Japan, Nov. 30-Dec. 3,1999 “Method of embedding index information in an image using characteristics of wavelet transform” Motoi Iwata, Yo Amagasaki
[Non-Patent Document 2]
The 23nd 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” Motoi Iwata, Yo Amagasaki
[0013]
[Problems to be solved by the invention]
As described above, there are various documents and proposed examples, but none of them are perfect.
[0014]
First, according to Non-Patent Documents 1 and 2, for example, specializing in the embedding of index information in a digital camera, mainly considering reduction of image quality degradation, such as for detecting alteration of digital contents to protecting copyrights Insufficient to apply to a wide range of purposes.
[0015]
In the case of Patent Document 1, a digital watermark is embedded in a wavelet coefficient at the time of wavelet conversion. However, an embedded portion is not automatically set by automatic analysis of image data or the like, but is determined based on a threshold value by parameter specification from the outside. This is an insufficient method in terms of automatic processing.
[0016]
In the case of Patent Document 2, the digital watermark is embedded in the coefficient value with the larger absolute value among the coefficients other than the lowest range of the wavelet transform, and combined with a 1-bit error correction code method, for copyright protection and alteration detection However, it is not always sufficient in terms of the degree of image quality degradation required for copyright protection and the amount of digital watermark information required for falsification detection. Not something.
[0017]
Further, in the case of Patent Document 3, although embedding digital watermarks in order from components that are not perceptually important has the advantage that the image quality is not impaired even if the digital watermark is embedded, it is perceptible for the purpose of increasing the amount of information of the digital watermark. Since a digital watermark is also embedded in an important component, the degree to which the image quality is not deteriorated is not always sufficient.
[0018]
An object of the present invention is to enable embedding and restoring a digital watermark having a resistance suitable for a wide variety of uses and purposes such as for falsification detection or for copyright protection, while being based on high compression processing by the JPEG2000 algorithm. .
[0019]
[Means for Solving the Problems]
The image processing apparatus according to the first aspect of the present invention provides:For each rectangular area obtained by dividing the image data into a plurality of regions, the image data is converted into wavelet transform coefficients, the transform coefficients are quantized, and the quantized transform coefficients are processed in a lossless compression encoding process. In an image processing apparatus that compresses and encodes code data, a convolutional code calculation that calculates a convolutional code embedded in the transform coefficient quantized as a digital watermark by statistical calculation for each of the divided rectangular areas is performed. And fuzzy processing in which the convolutional code data calculated by the convolutional code calculating means is expressed in such a manner that bit information representing the meaning changes bit by bit every time the value of the convolutional value increases by one. Fuzzy processing means to be applied, and the convolutional code fuzzy processed by the fuzzy processing means are quantized. Serial and a embedding unit embeds the transform coefficients as a digital watermark, the fuzzy processing means is characterized by a number of bits representing the data in a convolutional code wherein a freely variably set.
[0020]
Therefore, in addition to the combination of convolutional code and Viterbi decoding, which can embed a digital watermark in a two-dimensional wavelet transform coefficient and adjust the durability, by combining fuzzification of data resistance of a convolutional code that becomes a digital watermark, Image quality degradation due to digital watermark embedding is avoided, and based on statistical processing values of convolutional codes that become digital watermarks instead of converting image quality in order to increase the durability of digital watermark data, image quality degradation is In addition to the small amount of information, the amount of digital watermark information can be increased, and a digital watermark can be obtained according to the application.In addition, since the process of fuzzing data resistance as a digital watermark is a process in which the bit information representing the meaning changes bit by bit every time the value of the convolution value increases by 1, the bit information changes For example, it is possible to compensate for a decrease in the statistical calculation value due to lossy compression. In addition, since the number of bits representing the data of the convolutional code by fuzzy processing can be variably set, for example, 2 bits or 3 bits, the tampering detection level can be adjusted in the process of fuzzing the data as the digital watermark. It becomes possible.
[0029]
Claim2The described invention is claimed.1In the image processing apparatus described above, the digital watermark convolutional code calculated based on the statistical calculation value of a certain divided rectangular area can be restored to another rectangular area separated from the rectangular area. The allocation area changing means to be assigned is provided.
[0030]
Therefore, by separating the rectangular area serving as the donor for acquiring the convolutional code for the digital watermark from the rectangular area serving as the acceptor in which the convolutional code is embedded is not the same, any rectangular area is separated. Even if the data in the area is destroyed, the wrinkles do not match, so it is possible to detect that the data has been tampered with, and the sensitivity of tampering detection can be improved.
[0031]
Claim3The image processing apparatus of the described invention3. The image processing apparatus according to claim 1, further comprising: decompression means for decompressing the code data into image data by an inverse procedure including a process of decoding, inverse quantization, and wavelet inverse transform; and the quantized transform coefficient Viterbi decoding means for extracting the convolutional code data embedded in the image as Viterbi decoded data from the code data, and data statistically calculated for the image data for each of the rectangular areas divided into a plurality of decoded image data And verification means for verifying the presence or absence of data falsification by comparing Viterbi decoded data extracted from the rectangular area associated with the rectangular area.
[0032]
Therefore, the claims1 or 2According to the described invention, it is possible to appropriately perform decoding and verification processing on the embedded digital watermark.
[0049]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described with reference to the drawings.
[0050]
[Outline of JPEG2000 algorithm]
Although this embodiment uses the JPEG2000 algorithm, the JPEG2000 algorithm itself is well known from various documents, gazettes, etc., so the details will be omitted and the outline will be described. FIG. 1 is a block diagram for explaining the outline of the JPEG2000 algorithm. The algorithm of JPEG2000 includes a color space conversion / inverse conversion unit 110, a two-dimensional wavelet transform / inverse conversion unit 111, a quantization / inverse quantization unit 112, an entropy encoding / decoding unit 113, and a tag processing unit 114. Yes. One of the features of JPEG2000 is that it uses a two-dimensional discrete wavelet transform (DWT) having the advantage of good image quality in the high compression region as described above. Another major feature is that a function block called a tag processing unit 114 is added to perform code formation at the final stage, and a code stream is generated and interpreted. And with the code stream, JPEG2000 can realize various convenient functions. For example, FIG. 2 is a diagram showing an example of subbands at each decomposition level when the decomposition level (wavelet division level + 1) is 3, and the hierarchy of octave division in the block-based DWT shown in FIG. It is possible to stop the compression / decompression process of a still image at an arbitrary hierarchy corresponding to the above.
[0051]
In many cases, a color space conversion / inverse conversion unit 110 is prepared at the input / output portion of the original image. For example, the RGB color system composed of R (red) / G (green) / B (blue) components of the primary color system and the Y (yellow) / M (magenta) / C (cyan) components of the complementary color system This corresponds to the part that performs conversion from the YMC color system consisting of the above to YCrCb or YUV color system or the reverse conversion.
[0052]
Hereinafter, the JPEG2000 algorithm, particularly the wavelet transform will be described.
[0053]
At the time of encoding, the data of each tile of each component is input to the color space conversion unit 110 and subjected to color space conversion, and then two-dimensional wavelet conversion (forward conversion) is applied by the two-dimensional wavelet conversion unit 111. The space is divided into frequency bands.
[0054]
FIG. 2 shows subbands at each decomposition level when the decomposition level is 3. FIG. That is, the tile original image (0LL) (decomposition level 0 (reference numeral 120)) obtained by the tile division of the original image is subjected to two-dimensional wavelet transform, and the subband indicated by the decomposition level 1 (reference numeral 121). (1LL, 1HL, 1LH, 1HH) are separated. Subsequently, the low-frequency component 1LL in this hierarchy is subjected to two-dimensional wavelet transform to separate subbands (2LL, 2HL, 2LH, 2HH) indicated by the decomposition level 2 (reference numeral 122). Similarly, the low-frequency component 2LL is also subjected to two-dimensional wavelet transform to separate subbands (3LL, 3HL, 3LH, 3HH) indicated by the decomposition level 3 (reference numeral 123).
[0055]
Further, in FIG. 2, subbands to be encoded at each decomposition level are represented in gray. For example, when the decomposition level is 3, the subbands shown in gray (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) are to be encoded, and the 3LL subband is not encoded.
[0056]
Next, the bits to be encoded are determined in the specified encoding order, and the quantization unit 112 generates a context from the bits around the target bits. The wavelet coefficients that have undergone the quantization process are divided into rectangular shapes called precincts that do not overlap for each subband. The coefficient values after wavelet transform can be quantized and encoded as they are, but in JPEG2000, in order to increase the encoding efficiency, the coefficient values are decomposed into “bit plane” units, and each pixel or code block is divided. Ranking can be performed on “bitplanes”.
[0057]
The entropy encoding unit 113 performs encoding on each component tile by probability estimation from the context and the target bit. In this way, encoding processing is performed in tile units for all components of the original image. Finally, the tag processing unit 114 performs processing for combining all encoded data from the entropy coder unit into one code stream and adding a tag thereto. FIG. 3 simply 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 the partial tiles constituting each tile, followed by encoded data of each tile. A tag is placed again at the end of the code stream.
[0058]
On the other hand, at the time of decoding, contrary to the time of encoding, image data is generated from the code stream of each tile of each component. In this case, the tag processing unit 114 interprets the tag information added to the code stream input from the outside, decomposes the code stream into code streams of each tile of each component, and each code stream of each tile of each component. Decryption processing is performed. The position of the bit to be decoded is determined in the order based on the tag information in the code stream, and the inverse quantization unit 112 determines from the sequence of the peripheral bits (that has already been decoded) at the target bit position. A context is created. The entropy decoding unit 113 performs decoding by probability estimation from the context and the code stream to generate a target bit, and writes it in the position of the target bit.
[0059]
Since the data decoded in this way is spatially divided for each frequency band, the two-dimensional wavelet inverse transform unit 111 performs two-dimensional wavelet inverse transform on each of the tiles of each component of the image data. Restored. The restored data is converted into original color system data by the color space inverse conversion unit 110.
[0060]
The above is the outline of the “JPEG2000 algorithm”.
[0061]
[Image processing device]
There are various examples of image processing apparatuses to which the present invention is applied. In the present embodiment, as an example, image processing in which digital watermarks are embedded in image data under various conditions, compression-coded, and output are often performed. An example will be described in which the present invention is applied to a digital camera as an apparatus, and is applied to a personal computer as an image processing apparatus that decodes and outputs code data captured and compressed and encoded by such a digital camera.
[0062]
First, FIG. 4 is a block diagram schematically showing a hardware configuration of a digital camera 1 as an example of an image processing apparatus to which the present invention is applied.
[0063]
As schematically shown in FIG. 4, the digital camera 1 according to the present embodiment includes an imaging unit 11, a signal processing unit 12, a memory control unit 13, a main control unit 14, a frame memory 15, An interface 16, a display unit 17, an external storage unit 18, and a shooting mode setting unit 19 are provided. The imaging unit 11 includes a lens 21, a diaphragm 22, a shutter 23, a photoelectric conversion element 24, and a preprocessing unit 25.
[0064]
Here, the signal processing unit 12 is connected to the preprocessing unit 25, the memory control unit 13, the main control unit 14, and the interface 16. The memory control unit 13 is further connected to the frame memory 15. The main control unit 14 is further connected to the memory control unit 13 and the shooting mode setting unit 19. The frame memory 15 is connected to the memory control unit 13. The interface 16 is further connected to the display unit 17 and the external storage unit 18.
[0065]
On the other hand, in the imaging unit 11, the lens 21, the diaphragm 22, the shutter 23, and the photoelectric conversion element 24 are arranged in this order on the optical axis, and the photoelectric conversion element 24 is connected to the preprocessing unit 25.
[0066]
For example, a CCD is used as the photoelectric conversion element 24 of the imaging unit 11. The pre-processing unit 25 includes an analog signal processing unit and an analog-digital converter (A / D converter) including a preamplifier, an automatic gain control circuit (Auto Gain Control-AGC), and the like. After the output analog video signal is subjected to preprocessing such as amplification and clamping, the analog video signal is converted into a digital video signal.
[0067]
The signal processing unit 12 includes a digital signal processor (DSP processor) and the like, has an image compression function based on the above-described JPEG2000 algorithm, and performs color separation and white balance on the digital video signal obtained in the imaging unit 11. Various image processing such as adjustment and γ correction is performed. Further, the memory control unit 13 stores the image signal processed in this way in the frame memory 15 or conversely reads out the image signal stored in the frame memory 15. The main control unit 14 has a microcomputer configuration having a CPU that centrally controls each unit of the digital camera, a ROM that stores various control programs used by the CPU, and a RAM that serves as a work area. Instead of the control program stored in the ROM, a storage medium (not shown) storing the control program is attached to the digital camera 1 so that the CPU of the digital camera 1 executes the control program. Also good. The frame memory 15 stores at least two images, and a semiconductor memory such as a VRAM, SRAM, or DRAM is generally used.
[0068]
Here, the image signal read from the frame memory 15 is subjected to signal processing such as image compression in the signal processing unit 12 and then stored in the external storage unit 18 through the interface 16. The external storage unit 18 reads and writes various signals such as image signals supplied via the interface 16 and is constituted by an IC memory card, a magneto-optical disk, or the like. Here, if a modem card or ISDN card is used as the external storage unit 18, an image signal can be directly transmitted to a remote recording medium via a network.
[0069]
Conversely, reading of the image signal recorded in the external storage unit 18 is performed by transmitting the image signal to the signal processing unit 12 via the interface 16 and performing image expansion in the signal processing unit 12. On the other hand, the image signal read from the external storage unit 18 and the frame memory 15 is displayed after the signal processing unit 12 performs signal processing such as digital-analog conversion (D / A conversion) and amplification on the image signal. This is performed by transmitting to the display unit 17 via the interface 16. Here, the display unit 17 displays an image according to an image signal supplied via the interface 16, and is configured by a liquid crystal display device installed in the housing of the digital camera 1, for example.
[0070]
FIG. 5 is a block diagram schematically showing a hardware configuration of the personal computer 31 corresponding to the image processing apparatus on the decoding side. As shown in FIG. 5, the computer 31 includes a central processing unit (CPU) 32 that is a main part of the computer and controls each part in a centralized manner. The CPU 32 is connected to a ROM (Read Only Memory) 33 which is a read-only memory storing BIOS and a RAM (Random Access Memory) 34 which stores various data in a rewritable manner through a bus 35. Since the RAM 34 has a property of storing various data in a rewritable manner, the RAM 34 functions as a work area for the CPU 32 and serves as an input buffer, for example.
[0071]
Further, the bus 35 includes an HDD (Hard Disk Drive) 36, a CD-ROM drive 38 that reads a CD (Compact Disc) -ROM 37 as a mechanism for reading computer software that is a distributed program, and a counterpart computer. A communication control device 40 that controls 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 LCD (Liquid Crystal Display) perform I / O (not shown). Connected through.
[0072]
In the case of the personal computer 31, the compression-coded code data downloaded from the server via the network 39 is stored in the HDD 36.
[0073]
The CD-ROM 37 implements the storage medium of the present invention, and stores an OS (Operating System) and various computer software. The CPU 6 reads the computer software stored in the CD-ROM 37 with the CD-ROM drive 28 and installs it in the HDD 36.
[0074]
As the storage medium, not only the CD-ROM 37 but also various types of media such as semiconductor memories such as various optical disks such as DVD, various magneto-optical disks, various magnetic disks such as FD, and the like can be used. Further, computer software may be downloaded from a network 39 such as the Internet via the communication control device 30 and installed in the HDD 36. In this case, the storage device storing the computer software in the server on the transmission side is also a storage medium of the present invention. The computer software may operate on a predetermined OS (Operating System), and in that case, the OS may take over execution of a part of various processes described later. It may be included as part of a group of program files that constitute predetermined application software, OS, or the like.
[0075]
The digital camera 1 and the computer 31 having such a configuration store an image processing program for processing an image as one of computer software. This image processing program implements the program of the present invention. Various functions of each part of the digital camera 1 and the computer 31 are realized by processing executed by the CPU based on the image processing program. As one of them, each functional block of the JPEG2000 algorithm described with reference to FIG. 1 is provided, and image data is compressed and encoded or decoded using the JPEG2000 algorithm as described above. That is, the functions of the compression encoding means and the decoding means as shown in FIG. 1 are executed by processing performed by the CPU based on a program stored in the HDD (although hardware using a logic circuit or the like). It may be executed depending on the configuration).
[0076]
[Image coding processing in digital cameras]
The digital camera 1 according to the present embodiment basically performs compression encoding of image data using the JPEG2000 algorithm. At that time, a digital watermark having a resistance according to the user's necessity and purpose is added. To embed.
[0077]
If the compression encoding means based on the JPEG2000 algorithm for performing such image encoding processing in the digital camera 1 is appropriately simplified and rewritten, it can be shown as in FIG. That is, an input unit 51 that receives input of image data from the imaging unit 11, and a two-dimensional wavelet transform unit 52 (corresponding to 102) that performs two-dimensional wavelet transform processing after undergoing processing such as color space conversion on the received image data. ), A coefficient quantization unit 53 (corresponding to 103) that performs irreversible quantization processing such as post-quantization to reduce the dynamic range in order to efficiently compress the converted discrete wavelet transform coefficients, A lossless compression encoding unit 54 (corresponding to 104) that performs lossless compression encoding processing such as entropy encoding (coefficient modeling + arithmetic encoding) as described above on the quantized discrete wavelet transform coefficients; It has a compression encoding means 56 by a code data output unit 55 (corresponding to 105) that performs data rearrangement processing and outputs it to the necessary part. . 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 encoding process.
[0078]
In addition to the function of the compression encoding unit 56 based on the normal JPEG2000 algorithm, in this embodiment, data immediately before lossless compression encoding by the compression encoding unit 56, here, the coefficient quantization unit 53 An electronic watermark embedding unit 57 that acts as an electronic watermark embedding means for embedding encoded electronic watermark data or an electronic watermark embedding function is added to the converted discrete wavelet transform coefficients. The details of the processing performed by the digital watermark embedding unit 57 will be described later. Here, the convolutional encoding unit 58 uses the divided area relating to the original image data = the image statistical value (average value, variance value, etc.) for each block. A convolutional code generated by using a random value as seed is embedded as digital watermark data.
[0079]
[Decoding and decoding processing on a personal computer]
The personal computer 31 according to the present embodiment decodes code data based on the JPEG2000 algorithm supplied directly from the digital camera 1 or from a provider, a server, or the like, using such a JPEG2000 algorithm. If the decoding means based on the JPEG2000 algorithm for processing is appropriately simplified and rewritten, it can be shown as in FIG. That is, as described above distributed from the digital camera 1 or the like, the received code is received with respect to the input unit 61 that functions as a code data input means or a code data input function that receives code data embedded with digital watermark data. Decoding unit 62 of lossless compression code that performs decoding processing of lossless compression code such as entropy decoding processing on data, and two-dimensional wavelet inverse conversion unit that restores original image data by performing two-dimensional wavelet inverse transformation and the like 63 (corresponding to 103, 102, 101, etc.).
[0080]
In addition, a digital watermark decoding unit 65 for decoding the digital watermark data embedded in the code data is added between the decoding unit 62 and the two-dimensional wavelet inverse transformation unit 63. Although details of the processing 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. Further, by comparing and comparing the Viterbi decoded signal obtained from the digital watermark decoding unit 65 and the divided area of the decoded image data = image statistical values (average value, variance value, etc.) for each block, the digital watermark is falsified. A collation unit 66 is also added for checking the presence or absence.
[0081]
Hereinafter, description will be made in order on the embedding side and the decoding side, corresponding to each processing.
[0082]
[Digital watermark embedding process-Digital watermark extraction collation process]
This processing is the 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 in FIG. 6, and in FIG. And the processing of the two-dimensional wavelet inverse transform unit 63.
[0083]
Regarding this processing, basically, the features of the wavelet transform of JPEG2000 and the methods of Non-Patent Documents 1 and 2 described above are used. That is, according to wavelet transform, when image data is divided into frequency components, it can be divided into subbands LL, LH, HL, and HH. Here, the subband LL is the lowest frequency component that represents an image in which the resolution of the original image is halved, and the subbands LH, HL, and HH are frequencies that represent difference information in the horizontal, vertical, and diagonal directions of the image. The subband HH is the highest frequency component. Of these, since the subband LL greatly represents the characteristics of the original image, embedding information in the subband LL tends to cause a significant change in the embedded image, while the subband HH is a general image conversion. Since it is removed by processing and image compression processing, it is not suitable for embedding information, but it is difficult to change the image even if information is embedded, so it is a necessary place to increase the amount of embedded information.
[0084]
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 location where the subband is LH or HL. As shown in a), the amount of change in the horizontal direction of the original image is represented. During the horizontal wavelet transform, the LH image positioned in the vertical direction is similar to the subband LL, and the subband HL is shown in FIG. As shown in b), the amount of change in the vertical direction of the original image is represented. During vertical wavelet transform, the HL image located in the horizontal direction with respect to the subband LL has similar characteristics. Then, as in the case of Non-Patent Document 1, it is basically based on embedding digital watermark data using the magnitude relationship of the sum of local pixel values of these subbands LH and HL.
[0085]
However, in Non-Patent Document 1 and the like, for example, RGB data that is raw data input from the imaging unit 11 is targeted, but in this embodiment, YUV that has been subjected to RGB → YCbCr (YUV) conversion by color space conversion processing. This is an improvement to embed digital watermark data for wavelet transform coefficients of data. More specifically, 4: 2: 2YUV 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 considered as an application example.
[0086]
Therefore, as shown in FIG. 9, for example, an original image (Y0UY1V) Wavelet transform is applied to each of the subbands LL2, LH2, HL2, and HH2 (example of the second layer) so that the digital watermark information is not embedded in the luminance components Y0 and Y1 as much as possible. Therefore, in accordance with Non-Patent Document 1, digital watermark data is embedded in any region of subbands LH2 and HL2 using the magnitude relationship of the sum of the values of these local pixels. In order to embed more digital watermark information in the color difference components U and V that are less affected by sub-bands, the sub-bands LH2 and HH2 or sub-bands HL2 and HH2 Digital watermark data is embedded in one combination area using the size relationship of the sum of local pixel values. A. The notations of + and − shown in FIG. 9 are the same as those in Non-Patent Document 1, and correspond to P and Q in Non-Patent Document 2, and the arithmetic processing is the case of these Non-Patent Documents 1 and 2. The details are omitted here.
[0087]
Therefore, as a method of embedding the digital watermark data in the wavelet transform coefficient, the method basically uses non-patent documents 1, 2, etc., but targets the 4: 2: 2 YUV data subjected to color separation, 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 embedded as a digital watermark can be increased fourfold without degrading the image quality. Therefore, it is basically effective for preventing falsification where the digital watermark amount is most important, and it is understood that there is little deterioration in image quality even for copyright protection.
[0088]
[Convolutional code-Viterbi decoding method]
In the present embodiment, for data to be embedded as a digital watermark, a combination of convolutional code-Viterbi decoding known in block coding modulation technology, code theory, etc. is used. This processing is shown in FIG. FIG. 7 shows the processing of the digital watermark decoding unit 65.
[0089]
First, regarding the convolutional code, for example, an arithmetic process as shown in FIG. 10 described in the document “Introduction to Code Theory” by Yoshihiro Iwabuchi and Shosendo '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 convolution constraint length 2 and coding rate 1/2 using two memories, and two signals
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 tolerance is high (for example, also used in NASA space technology), and the signal CijIt is also known that the greater the number of i, j and Ij + Ij-2, that is, the greater the convolution constraint length value, the greater the tolerance. By varying the convolution constraint length value, the resistance is improved. Can be adjusted.
[0090]
An example of the convolution calculation method shown in FIG. 10 can be summarized as shown in Table 1 (this is also described in the same document).
[0091]
[Table 1]
Figure 0004128461
[0092]
As a result, regarding such a convolution constraint length 2 and coding rate 1/2 method, when a pixel value by inverse transformation is calculated (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)
It becomes. This confirms that the majority vote with 5 votes can be applied to the method of convolution constraint length 2 and coding rate 1/2, and the reliability is improved. For example, when the reading accuracy rate of one signal is 92% or more, it is highly reliable that 99% or more can be restored by majority vote of five votes.
[0093]
By the way, the results compared with the simple majority method used in Patent Document 2 are as shown in Table 2.
[0094]
[Table 2]
Figure 0004128461
[0095]
That is, in the case of the simple majority method using three votes for the majority vote, the information amount is three times the original amount and the reliability is 98.2%, whereas the above-described convolution constraint length of 2 is the original amount of information. 2 times the majority, 59.5 votes, 99.5% reliability is obtained. Furthermore, when the convolution constraint length is 3, the majority of the information is twice the original, with 7 votes, 99.9% reliability. In the case where the convolution constraint length is 4 or more, the majority of the information amount is doubled and the reliability is improved by 9 votes. Therefore, in the case of a digital watermark for copyright protection that requires strong resistance, the coding rate is set to 1/2 and the convolution constraint length is set to 6 while the resistance is required to be somewhat low. In the case of digital watermarking for alteration detection, the coding rate is ½ and uniform, but if the convolution constraint length is set as 2-3, the tolerance level can be set according to each purpose. It becomes possible.
[0096]
Viterbi decoding processing with high resilience performed as processing in the digital watermark decoding unit 65 that decodes and extracts such a convolutional code embedded as a digital watermark is well known as a decoding method that is paired with a convolutional code. (For example, refer to the above-mentioned literature and JP 2000-174628 A) and such general techniques may be used, and detailed description thereof is omitted. FIG. 11 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. 11A is a trellis diagram based on a grid-like representation showing the internal state of the digital watermark decoding unit 65 at each time, and FIG. 11B is a state transition diagram thereof.
[0097]
[Separation of Donor and Acceptor of Digital Watermark Data]
This process is a process of the input unit 51 and the convolutional encoding unit 58 in FIG. 6, and a process of the collation unit 66 in FIG. That is, a divided rectangular area = a digital watermark convolutional code calculated based on a statistical calculation value of a tile or a block has a correspondence that can be restored to another rectangular area separated from the rectangular area. The allocation is performed (allocation area changing means, allocation area changing function). Basically, in order to enable detection of tampering, a random value obtained by using a statistical calculation value (an average value or a dispersion value) of a certain divided rectangular area = tile or block as a seed Used for watermark data (final convolutional code is used eventually), but the digital watermark data obtained in this way is transferred to another rectangular area Acceptor different from the rectangular area Donor from which the calculated image value is obtained. By assigning an embedding area so as to be embedded, the sensitivity of falsification detection is improved as compared with the case of the self-method of embedding in the same rectangular area. For example, when considering a tile or block of 8 × 8 pixel units,
Figure 0004128461
The reliability of the information can be obtained. For example, if n = 2, it is 98%. That is, as schematically shown in FIG. 12, statistical data (such as an average value) obtained from a certain (n−1) block is used as information to be provided to another block, n block, while in n block, The digital watermark data based on the donation information from the (n-1) block is embedded as acceptance information, and the same processing is performed after the (n + 1) block. According to this method, no matter which block information is destroyed, the wrinkles will not match, so that it can be surely detected that the information has been tampered with. In this case, reversibility is necessary so that the original state can be restored, and a correspondence between Donor and Acceptor is necessary. More practically, as shown in FIG. As shown by the arrows, for example, each block divided into a plurality of blocks is tampered by embedding a digital watermark as a correspondence with the upper block as Donor and the lower block as Acceptor. It will be easier to detect tampering.
[0098]
On the other hand, in the case of the self type embedded in its own rectangular area, 1-1 / 22= 75% information reliability remains. This is because if tampering occurs, it tends to fall together.
[0099]
[Process to fuzzy digital watermark data resistance]
In FIG. 6, this process is a process for performing fuzzy processing for fuzzy expression of the data of the convolutional code calculated based on the statistical calculation value in the convolutional encoding unit 58, and in FIG. Is a process of the collation unit 66. In this fuzzy processing, for example, as described above, statistical calculation such as an average value and a variance value used in a method of separating a digital watermark information donor (rectangular region = block) and a receiver (rectangular region = block) is used. This is a technique for complementing the reliability that the value is reduced by lossy compression. For example, in the case of 2 bits, as schematically shown as the basic form of the quantity expression in FIG. It is only necessary to take an expression content that changes only by 1 bit every time the numerical value increases by 1 so as to be smooth. That is, in the normal bit representation, 0 (meaning) = 00 (bit), 1 (meaning) = 01 (bit), 2 (meaning) = 10 (bit), 3 (meaning) = 11 (bit) However, it is changed to the expression contents as shown in FIG. 14 by fuzzy conversion (the correspondence relationship between 2 and 3 is broken).
[0100]
Also in the case of 3 bits, as shown in FIG. 15, every time the numerical value increases by 1, the expression content that changes by 1 bit may be taken. That is, in the 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), and 7 (meaning) = 111 (bit). The contents are changed to those shown (the correspondence between 2 and 6 is broken). According to the fuzzification in the case of 3 bits, it is possible to determine the decrease in image quality and the decrease in reliability of embedded data due to the lossy compression as described above based on the Hamming distance. That is, when the hamming distance is small, it is not considered that the image data has been tampered with, and only when the hamming distance is large, it can be determined that tampering has occurred. For example, in the example shown in FIG. 15, even if there is a mismatch of 1 bit, it can be determined not to regard it as falsification.
[0101]
In this way, the number of bits representing the data of the convolutional code by fuzzy processing can be variably set, for example, 2 bits or 3 bits. Therefore, in the process of fuzzifying the data as the digital watermark, Adjustment is possible. Therefore, in the case of a digital watermark for falsification detection, if the number of bits for fuzzification of data resistance is set to 3 bits, tamper 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, it is possible to reduce the amount of information as much as possible and to suppress image quality deterioration.
[0102]
After all, in this embodiment, in addition to the combination of convolutional code and Viterbi decoding capable of embedding a digital watermark in a two-dimensional wavelet transform coefficient and adjusting the tolerance, fuzzy data tolerance of a convolutional code that becomes a digital watermark In combination with the conversion (Gray code), image quality deterioration due to digital watermark embedding is avoided, and convolutional code that becomes a digital watermark instead of converting the image quality to increase the durability of the digital watermark data Therefore, the amount of digital watermark information can be increased, and the digital watermark according to the application can be obtained. Therefore, it is an optimal digital watermark according to the purpose with respect to the prior art disclosed in Patent Document 1 and the like in that image quality deterioration can be suppressed and the amount of information of the digital watermark can be increased.
[0103]
【The invention's effect】
According to the first aspect of the present invention, in addition to the combination of convolutional code and Viterbi decoding capable of embedding a digital watermark in a two-dimensional wavelet transform coefficient and adjusting the tolerance, fuzzy data tolerance of a convolutional code that becomes a digital watermark By combining this, the degradation of image quality due to digital watermark embedding is avoided, and instead of converting the image quality in order to increase the durability of the digital watermark data, it is based on the statistical processing value of the convolutional code that becomes the digital watermark Therefore, the image quality degradation is small and the amount of information of the digital watermark can be increased, and the digital watermark according to the application can be obtained. In addition, since the process of fuzzing data resistance as a digital watermark is a process in which the bit information representing the meaning changes bit by bit every time the value of the convolution value increases by 1, the bit information changes For example, it is possible to compensate for a decrease in the statistical calculation value due to lossy compression. In addition, since the number of bits representing the data of the convolutional code by fuzzy processing can be variably set, for example, 2 bits or 3 bits, the tampering detection level can be adjusted in the process of fuzzing the data as the digital watermark. It becomes possible.
[0104]
Claim2According to the described invention, the claims1In the described invention, by separating the rectangular region serving as a donor for obtaining a convolutional code for digital watermarking and the rectangular region serving as a receiver in which the convolutional code is embedded, without being the same, Even if the data of any rectangular area is destroyed, the wrinkles will not match, so that it is possible to detect that the data has been tampered with, and the sensitivity of tampering detection can be improved.
[0105]
Claim3According to the described invention, the claims1 or 2According to the described invention, it is possible to appropriately perform decoding and verification processing on the embedded digital watermark.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a system that implements a basic algorithm of the JPEG2000 system that is a premise of an embodiment of the present invention.
FIG. 2 is an explanatory diagram showing subbands at each decomposition level when the number of decomposition levels is 3. FIG.
FIG. 3 is an explanatory diagram showing a code stream.
FIG. 4 is a block diagram schematically showing a hardware configuration of a digital camera as an image processing apparatus.
FIG. 5 is a block diagram schematically showing a hardware configuration of a personal computer.
FIG. 6 is a functional block diagram showing a rewritten image compression encoding processing system in a digital camera.
FIG. 7 is a functional block diagram showing a rewritten coding / decoding processing system in a personal computer.
FIG. 8 is a schematic explanatory view showing characteristics of wavelet transform.
FIG. 9 is a schematic explanatory diagram illustrating a digital watermark embedding method for YUV data.
FIG. 10 is a schematic explanatory diagram showing the basics of a convolutional code method extracted from literature.
FIG. 11 is a schematic explanatory diagram showing the basics of a Viterbi decoding method extracted from literature.
FIG. 12 is a schematic explanatory diagram showing a method for separating a digital watermark data donor and acceptor.
FIG. 13 is an overall schematic explanatory view showing an application example to a block.
FIG. 14 is an explanatory diagram showing a data fuzzification method in the case of 2 bits.
FIG. 15 is an explanatory diagram showing a data fuzzification method in the case of 3 bits.
[Explanation of symbols]
1,31 Image processing device
57 Embedding means, embedding function
58 Convolutional code calculation means, convolutional code calculation function
65 Viterbi decoding means, Viterbi decoding function
66 Verification means, verification function

Claims (7)

画像データを複数に分割した矩形領域毎に、ウェーブレット変換係数への変換、前記変換係数の量子化、及び量子化された前記変換係数の可逆圧縮符号化の過程を含む手順で、前記画像データを符号データに圧縮符号化する画像処理装置において、
電子透かしとして量子化された前記変換係数に埋め込まれるたたみ込み符号を、分割された矩形領域毎に前記画像データに関して統計計算により算出するたたみ込み符号算出手段と、
前記たたみ込み符号算出手段により算出された前記たたみ込み符号のデータを、たたみ込み数値の値が1増える毎にその意味を表すビット情報が1ビットずつ変化する表現形態とするファジー処理を施すファジー処理手段と、
前記ファジー処理手段によりファジー処理された前記たたみ込み符号を量子化された前記変換係数に電子透かしとして埋め込む埋め込み手段と、
を備え
前記ファジー処理手段は、前記たたみ込み符号のデータを表現するビット数を可変設定自在であること、
特徴とする画像処理装置。
The image data for each rectangular region is divided into a plurality of conversion to U Eburetto transform coefficients, quantization of the transform coefficients, and the procedure includes the step of lossless compression encoding of the quantized said transform coefficients, the image data In an image processing apparatus that compresses and encodes code data into
A code calculating unit convolutional calculates a convolutional code write Murrell embedded in the transform coefficients quantized by statistical calculations with respect to the image data for each divided rectangular area as an electronic watermark,
The data of convolutional code the calculated by the code calculating unit convolutional said fuzzy processing bit information value of the numerical convolution represents the meaning for each increase 1 is to perform fuzzy processing of the expression form is changed by one bit Means,
The sign said convolutional which is fuzzy processed by the fuzzy processing means, and embedding means embeds a watermark in the transform coefficients quantized,
Equipped with a,
The fuzzy processing means is capable of variably setting the number of bits representing the data of the convolutional code,
The image processing apparatus according to claim.
分割された或る矩形領域の統計計算値に基づき算出された前記たたみ込み符号を、当該矩形領域とは分離された別の矩形領域に復元可能な対応付けをもって割り当てる割り当て領域変更手段
を備えることを特徴とする請求項1記載の画像処理装置。
Convolutional codes divided certain rectangular area statistics calculated value before Symbol calculated based, providing the allocation area changing means for assigning with restorable correspondence to separate another rectangular area and the rectangular area The image processing apparatus according to claim 1.
前記符号データを復号化、逆量子化、ウェーブレット逆変換の過程を含む逆手順で画像データに伸長する伸長手段と、
量子化された前記変換係数に埋め込まれた前記たたみ込み符号データを、ビタビ復号データとして前記符号データ中から抽出するビタビ復号手段と、
復号された画像データの複数に分割した矩形領域毎に当該画像データに関して統計計算されたデータとその矩形領域と対応付けされた矩形領域から抽出されたビタビ復号データとを照合してデータ改ざんの有無を検証する照合手段と、
を備えることを特徴とする請求項1又は2記載の画像処理装置。
And expanding means for expanding the image data in the reverse procedure including decoding the encoded data, inverse quantization, the process of wavelet inverse transform,
And Viterbi decoding means for extracting coded data said convolutional embedded in the transform coefficients quantized, from among the code data as Viterbi decoded data,
For each rectangular area of the decoded image data, whether or not the data has been altered by collating data statistically calculated for the image data and Viterbi decoded data extracted from the rectangular area associated with the rectangular area A verification means for verifying,
The image processing apparatus according to claim 1, further comprising:
画像データを複数に分割した矩形領域毎に、ウェーブレット変換係数への変換、前記変換係数の量子化、及び量子化された前記変換係数の可逆圧縮符号化の過程を含む手順で、前記画像データを符号データに圧縮符号化する画像処理装置が備えるコンピュータにインストールされ、当該コンピュータに、
電子透かしとして量子化された前記変換係数に埋め込まれるたたみ込み符号を、分割された矩形領域毎に前記画像データに関して統計計算により算出するたたみ込み符号算出機能と、
前記たたみ込み符号算出機能により算出された前記たたみ込み符号のデータを、たたみ込み数値の値が1増える毎にその意味を表すビット情報が1ビットずつ変化する表現形態とするファジー処理を施すファジー処理機能と、
前記ファジー処理機能によりファジー処理された前記たたみ込み符号を量子化された前記変換係数に電子透かしとして埋め込む埋め込み機能と、
を実行させ、
前記ファジー処理機能は、前記たたみ込み符号のデータを表現するビット数を可変設定自在であること、
特徴とする画像処理用プログラム。
The image data for each rectangular region is divided into a plurality of conversion to U Eburetto transform coefficients, quantization of the transform coefficients, and the procedure includes the step of lossless compression encoding of the quantized said transform coefficients, the image data Is installed in a computer included in an image processing apparatus that compresses and encodes the encoded data into encoded data.
The convolutional codes write Murrell embedded into transform coefficients, and the divided code calculating function convolution is calculated by a statistical calculation with respect to the image data for each rectangular area is quantized as an electronic watermark,
The data of convolutional code the calculated by the code calculation function convolution said fuzzy processing bit information value of the numerical convolution represents the meaning for each increase 1 is to perform fuzzy processing of the expression form is changed by one bit Function and
Convolutional codes said that the fuzzy processed by the fuzzy processing function, an embedding function embedded as electronic watermark in the transform coefficients quantized,
And execute
The fuzzy processing function is capable of variably setting the number of bits representing the data of the convolutional code,
Program image processing according to claim.
分割された或る矩形領域の統計計算値に基づき算出された前記たたみ込み符号を、当該矩形領域とは分離された別の矩形領域に復元可能な対応付けをもって割り当てる割り当て領域変更機能
を前記コンピュータに実行させることを特徴とする請求項4記載の画像処理用プログラム。
Convolutional codes divided certain rectangular area statistics calculated value before Symbol calculated based, the computer allocation region change section to assign the corresponding rectangular area with a recoverable association in the separated different rectangular area 5. The image processing program according to claim 4, wherein the image processing program is executed.
前記符号データを復号化、逆量子化、ウェーブレット逆変換の過程を含む逆手順で画像データに伸長する伸長機能と、
量子化された前記変換係数に埋め込まれた前記たたみ込み符号データを、ビタビ復号データとして前記符号データ中から抽出するビタビ復号機能と、
復号された画像データの複数に分割した矩形領域毎に当該画像データに関して統計計算されたデータとその矩形領域と対応付けされた矩形領域から抽出されたビタビ復号データとを照合してデータ改ざんの有無を検証する照合機能と、
を前記コンピュータに実行させることを特徴とする請求項4又は5記載の画像処理用プログラム。
Decoding the code data, inverse quantization, and extension function for extending the image data in the reverse procedure including the process of wavelet inverse transform,
The code data convolution said embedded in the transform coefficients quantized, and Viterbi decoding function of extracting from among the code data as Viterbi decoded data,
For each rectangular area of the decoded image data, whether or not the data has been altered by collating data statistically calculated for the image data and Viterbi decoded data extracted from the rectangular area associated with the rectangular area A verification function to verify
6. The image processing program according to claim 4, wherein the computer is executed.
請求項の4ないし6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium in which the program according to claim 4 is recorded.
JP2003018247A 2003-01-28 2003-01-28 Image processing apparatus, image processing program, and storage medium Expired - Fee Related JP4128461B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003018247A JP4128461B2 (en) 2003-01-28 2003-01-28 Image processing apparatus, image processing program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003018247A JP4128461B2 (en) 2003-01-28 2003-01-28 Image processing apparatus, image processing program, and storage medium

Publications (2)

Publication Number Publication Date
JP2004235682A JP2004235682A (en) 2004-08-19
JP4128461B2 true JP4128461B2 (en) 2008-07-30

Family

ID=32948433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003018247A Expired - Fee Related JP4128461B2 (en) 2003-01-28 2003-01-28 Image processing apparatus, image processing program, and storage medium

Country Status (1)

Country Link
JP (1) JP4128461B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4809198B2 (en) 2006-11-29 2011-11-09 株式会社リコー Image processing device, article image selection method, program, and recording medium
CN112801847A (en) * 2021-04-06 2021-05-14 王可 Safety method capable of realizing mass chatting of big data pictures

Also Published As

Publication number Publication date
JP2004235682A (en) 2004-08-19

Similar Documents

Publication Publication Date Title
US7502488B2 (en) Image processing apparatus, program, and storage medium that can selectively vary embedding specification of digital watermark data
US8032758B2 (en) Content authentication and recovery using digital watermarks
US6275599B1 (en) Compressed image authentication and verification
US7548633B2 (en) Data processing apparatus and method, data processing program, and storage medium
Chen et al. Mean quantization based image watermarking
JP3960597B2 (en) Code generation apparatus, image processing apparatus, code generation program, image processing program, and storage medium
EP1388813A2 (en) Apparatus and method for image watermarking
JP2002325170A (en) Image processing unit and its method, and program code, storage medium
JP2009518945A (en) Watermark encoded content
JPH11341268A (en) Method for inserting watermark to digital image or compressed digital image, digital image capturing device, computer system and method for detecting alteration of digital image with watermark
US7409060B2 (en) Durable and undecipherable digital watermarking technique and detection of unauthorized use
US7092545B2 (en) Apparatus and method for embedding and extracting a digital watermark based on a wavelet
JP2000115524A (en) Electronic watermark inserting method for digital object
JP2000228721A (en) Method for inserting watermark and authenticating digital signal
JP4128461B2 (en) Image processing apparatus, image processing program, and storage medium
Xu et al. JPEG compression immune steganography using wavelet transform
Korus et al. A scheme for censorship of sensitive image content with high-quality reconstruction ability
JP2010109787A (en) Electronic watermark embedding and detecting method utilizing degraded host signal
Fedoseev et al. Watermarking algorithms for JPEG 2000 lossy compressed images
JP3780175B2 (en) Image processing apparatus, image processing method, and storage medium
Rosales-Roldan et al. Semi-fragile watermarking-based color image authentication with recovery capability
JP4106311B2 (en) Information embedding device, encoding device, falsification detection device, method thereof, and recording medium recording program for executing the method
Lee et al. Reversible data embedding for tamper-proof watermarks
JP4166457B2 (en) Electronic watermark embedding device and electronic watermark detection device
Zain et al. Reversible watermarking surviving jpeg compression

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041008

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051116

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051021

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080415

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080514

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees