JP2008067309A - 検証データ埋め込み方法、プログラムおよび装置、画像改竄検出方法、プログラムおよび装置ならびに画像改竄検出システム - Google Patents
検証データ埋め込み方法、プログラムおよび装置、画像改竄検出方法、プログラムおよび装置ならびに画像改竄検出システム Download PDFInfo
- Publication number
- JP2008067309A JP2008067309A JP2006245904A JP2006245904A JP2008067309A JP 2008067309 A JP2008067309 A JP 2008067309A JP 2006245904 A JP2006245904 A JP 2006245904A JP 2006245904 A JP2006245904 A JP 2006245904A JP 2008067309 A JP2008067309 A JP 2008067309A
- Authority
- JP
- Japan
- Prior art keywords
- verification data
- embedding
- unit
- data
- verification
- 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
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】検証データ埋め込み位置の特定を困難にし、検証データの入れ替えによる改竄を困難にするような検証データの埋め込み。
【解決手段】分割部13bは、指定部13dの指定に基づき、除算結果値の得られたブロックを、「検証データ算出部分」と「検証データ埋め込み部分」の2種類の部分に分割する。検証データ作成部16は、検証データ算出部分B(J)のDCT係数に対応する除算結果値D(J,m)/Q(J,m)と、初期ベクトル入力部17から入力されたハッシュ関数の初期ベクトル値VIとをハッシュ関数に入力することでハッシュ値を得る。このハッシュ値のデータビット列を、検証データとして、検証データ埋め込み部13cに出力する。検証データ埋め込み部13cは、検証データ埋め込み部分B(K)の所定の係数位置である埋め込み位置に、検証データを1ビットずつ埋め込む。
【選択図】 図1
【解決手段】分割部13bは、指定部13dの指定に基づき、除算結果値の得られたブロックを、「検証データ算出部分」と「検証データ埋め込み部分」の2種類の部分に分割する。検証データ作成部16は、検証データ算出部分B(J)のDCT係数に対応する除算結果値D(J,m)/Q(J,m)と、初期ベクトル入力部17から入力されたハッシュ関数の初期ベクトル値VIとをハッシュ関数に入力することでハッシュ値を得る。このハッシュ値のデータビット列を、検証データとして、検証データ埋め込み部13cに出力する。検証データ埋め込み部13cは、検証データ埋め込み部分B(K)の所定の係数位置である埋め込み位置に、検証データを1ビットずつ埋め込む。
【選択図】 図1
Description
本発明は圧縮符号化すべき画像データに検証用のデータを埋め込むことで、復号側で画像データの改竄検出を可能にする技術に関する。
従来、画像データの改竄を検出するための技術が様々開発されている。例えば、画像が改竄されたかどうかをチェックするための検証データを画像ファイルのヘッダに書き込んでおき、画像本体のデータとヘッダに書き込まれた検証データの間で整合性が取れるかどうかで改竄を検知する方法がある。他にも、検証データを画像とは別個のデータとして保持するシステムもある。
あるいは特許文献1のように、画像データから特徴データを生成し、この特徴データを暗号化して暗号化データとする。そして、画像データから得られた離散コサイン変換(DCT)係数の最高周波数係数位置に、暗号化データを埋め込む。その他、特許文献2〜5のような技術も存在する。
特開2001−78070号公報
特開2001-103275号公報
特開2003−218023号公報
特開2003−204429号公報
特開2004−282677号公報
改竄を検知するための検証データをヘッダ部分へ埋め込む手法の場合、ヘッダ部分の検証データを入れ替えることで改竄をされてしまうおそれがある。また、特許文献1の手法のように検証データを最高周波数に相当するDCT係数に埋め込んでも、やはり検証データの埋め込み位置が特定しやすく、検証データを入れ替えることで改竄をされてしまうおそれがある。
また、特許文献1の手法では、検証データを最高周波数に相当するDCT係数に埋め込むため、EOB(End of BlocK)符号が消滅する。このため、符号化効率が低下し、JPEGファイルのような圧縮符号化ファイルのサイズが非常に大きくなる。
本発明は、検証データ埋め込み位置の特定を困難にし、検証データの入れ替えによる改竄を困難にするような検証データの埋め込み技術を提供することを目的とする。
また、本発明的は、画像データへの検証データの埋め込みに際して、画質劣化の防止、画像データ量の増大化、画像ファイルの長大化防止を目的とする。
本発明に係る検証データ埋め込み方法は、画像データの圧縮符号化単位に従って、画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割するステップと、検証データ算出部分に基づき、検証データを作成するステップと、検証データ埋め込み部分に、検証データを埋め込むステップと、を含む。
この発明によると、画像データの任意の一部分である検証データ算出部分に基づいて、ハッシュ関数などにより検証データを作成し、検証データ算出部分とは異なる任意の一部分である検証データ埋め込み部分に検証データを埋め込む。
本発明では、画像データ自体のEOBより低い任意のDCT係数位置に検証データを埋め込むから、従来のように画像データのヘッダ部分や最高周波数係数位置に検証データを埋め込む場合に比べ、検証データの特定が困難であり、検証データの入れ替えによる改竄がされにくい。
特に、検証データ埋め込み部分は、検証データ算出部分と異なれば、理論的にはどこでも指定でき、検証データの埋め込まれた位置の特定が一層困難であり、検証データの入れ替えによる改竄がされにくい。
例えば、検証データ埋め込み部分は、画像データを所定の画素単位ごとに分割して得られた複数のブロック毎に算出された離散コサイン変換係数の内、所定の第1のブロック群の所望の位置の離散コサイン変換係数を含み、検証データ算出部分は、離散コサイン変換係数の内、第1のブロック群と異なる第2のブロック群の離散コサイン変換係数を含むようにしてもよい。
あるいは、検証データ埋め込み部分は、画像データを所定の画素単位ごとに分割して得られた複数のブロック毎に算出された離散コサイン変換係数の内、所定のブロック群の所定の係数位置の離散コサイン変換係数を含み、検証データ算出部分は、離散コサイン変換係数の内、所定のブロック群の所定の係数位置以外の離散コサイン変換係数を含むようにしてもよい。
要するに、画像データのどの部分を検証データ埋め込み部分あるいは検証データ算出部分とするかは任意である。もっとも、セキュリティ確保、ユーザの利便性確保、およびデータ量削減のためには、予め検証データ算出部分および検証データ埋め込み部分の組み合わせパターンをいくつか用意しておき、その中からユーザが所望の組み合わせパターンを選択可能にし、選択されたパターンの識別情報を所定の方式で暗号化して復号側に渡すとよい。また、該識別情報の復号化に鍵情報が必要であれば、その所定の方式に対応した鍵情報を復号側に予め用意しておけばよい。
なお、検証データ埋め込み部分は、EOB(End of Block)よりもジグザグスキャン順に沿った1つ以上低周波数側の係数位置であることが好ましい。
こうすると、ゼロランレングスが短くなり、符号化効率が低下して、画像ファイルが長大化することを防げる。
また、検証データ埋め込み部分の離散コサイン変換係数の量子化幅は、検証データ算出部分の離散コサイン変換係数の量子化幅よりも小さく設定されていることが好ましい。
こうすると、検証データの挿入による画質劣化を極力抑えることができる。
本発明に係る画像改竄検出方法は、画像データの圧縮符号化単位に従って、画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割するステップと、検証データ埋め込み部から、第1の検証データを抽出するステップと、検証データ算出部分に基づき、第2の検証データを作成するステップと、第1の検証データと第2の検証データとを比較することにより、画像データが改竄されているか否かを判断するステップと、画像データが改竄されているか否かの判断の結果を出力するステップと、を含む。
この方法によると、上述の検証データ埋め込み方法によって検証データ埋め込み部分に埋め込まれた第1の検証データと、検証データ算出部分に基づいて新たに作成された第2の検証データとを比較し、その結果に応じて画像データが改竄されているか否かの判断を出力できる。
本発明に係る画像改竄検出方法は、画像データの圧縮符号化単位に従って、画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割するステップと、検証データ算出部分に基づき、第1の検証データを作成するステップと、検証データ埋め込み部分に、第1の検証データを埋め込むステップと、第1の検証データが埋め込まれた画像データを圧縮符号化するステップと、第1の検証データが埋め込まれた画像データを復号化するステップと、復号化された画像データを検証データ算出部分および検証データ埋め込み部分に分割するステップと、検証データ埋め込み部から、第1の検証データを抽出するステップと、検証データ算出部分に基づき、第2の検証データを作成するステップと、第1の検証データと第2の検証データとを比較することにより、画像データが改竄されているか否かを判断するステップと、画像データが改竄されているか否かの判断の結果を出力するステップと、を含む。
本発明では、任意に指定可能な検証データ埋め込み部分に埋め込まれた第1の検証データと、検証データ算出部分に基づいて新たに作成された第2の検証データとを比較することで改竄を判断する。
本発明は、上記の検証データ埋め込み方法を実行するためのプログラムも含む。
本発明は、上記の画像改竄検出方法を実行するためのプログラムも含む。
本発明に係る検証データ埋め込み装置は、画像データの圧縮符号化単位に従って、画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割する分割部と、検証データ算出部分に基づき、検証データを作成する作成部と、検証データ埋め込み部分に、検証データを埋め込む埋込部と、を含む。
本発明に係る画像改竄検出装置は、画像データの圧縮符号化単位に従って、画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割する分割部と、検証データ埋め込み部から、第1の検証データを抽出する抽出部と、検証データ算出部分に基づき、第2の検証データを作成する作成部と、第1の検証データと第2の検証データとを比較することにより、画像データが改竄されているか否かを判断する判断部と、画像データが改竄されているか否かの判断の結果を出力する出力部と、を含む。
本発明に係る画像改竄検出システムは、画像データの圧縮符号化単位に従って、画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割する第1分割部と、検証データ算出部分に基づき、第1の検証データを作成する第1作成部と、検証データ埋め込み部分に、第1の検証データを埋め込む埋込部と、第1の検証データが埋め込まれた画像データを圧縮符号化する圧縮符号化部と、第1の検証データが埋め込まれた画像データを復号化する復号化部と、復号化された画像データを検証データ算出部分および検証データ埋め込み部分に分割する第2分割部と、検証データ埋め込み部から、第1の検証データを抽出する抽出部と、検証データ算出部分に基づき、第2の検証データを作成する第2作成部と、第1の検証データと第2の検証データとを比較することにより、画像データが改竄されているか否かを判断する判断部と、画像データが改竄されているか否かの判断の結果を出力する出力部と、を含む。
本発明では、画像データ自体のEOBより低い任意のDCT係数位置に検証データを埋め込むから、従来のように画像データのヘッダ部分や最高周波数係数位置に検証データを埋め込む場合に比べ、検証データの特定が困難であり、検証データの入れ替えによる改竄がされにくい。
特に、検証データ埋め込み部分は、検証データ算出部分と異なればどこでも指定でき、検証データの埋め込まれた位置の特定が一層困難であり、検証データの入れ替えによる改竄がされにくい。
以下、添付した図面を参照し本発明の好ましい実施の形態を説明する。
<第1実施形態>
図1は本発明の好ましい実施形態に係る検証データ埋込装置付き画像圧縮符号化装置のブロック図である。詳細は省略するが、本実施形態で述べる画像圧縮符号化装置の各ブロックはマイコンその他の演算装置のプログラム制御によっても実現可能である。
図1は本発明の好ましい実施形態に係る検証データ埋込装置付き画像圧縮符号化装置のブロック図である。詳細は省略するが、本実施形態で述べる画像圧縮符号化装置の各ブロックはマイコンその他の演算装置のプログラム制御によっても実現可能である。
画像入力部11は、デジタルスチルカメラに内蔵されたアナログフロントエンドやパソコンのメディアリーダなどから被写体像を表すRGBの各色毎のデータを入力し、これを、3×3行列による線形変換により、輝度を表す輝度信号(Y)、「青み」成分を表す色差信号(U)及び「赤み」成分を表す色差信号(V)に変換し、このYUV画像データをDCT変換部12に出力する。
YUVの色空間への変換には例えば、Y=0.2990R+0.5870G+0.1140B U=−0.1687R−0.3313G+0.5000B+128 V=0.5000R−0.4187G−0.0813B+128という変換式を用いることができる。
なお、白黒画像はU=V=0として考えればよく、本発明はカラー画像、白黒画像の両方に適用できる。
DCT変換部12は、画像入力部11から入力された画像データを8×8要素からなる複数のブロック(ここでは説明の便宜上64個のブロックとするが、何個でも可)に分割するブロック化を行い、ブロック毎にDCT(離散コサイン変換)を行う。DCT変換部12は、DCT係数を格納した8×8のテーブル形式のDCT係数テーブルをブロック毎に作成し、量子化部13の割り算処理部13aに出力する。以下、ブロック毎に作成された8×8のテーブル形式のDCT係数を、単にブロックという。
量子化部13の割り算処理部13aは、DCT変換部12から出力されたブロック毎の各DCT係数を、量子化表の対応する区間幅Q(量子化幅あるいは量子化ステップと呼ばれる))で割る。この除算結果値は少数第1位の値も保持している。
分割部13bは、キーボードやマウスなどの手動操作装置で構成された指定部13dの指定に基づき、除算結果値の得られたブロックを、「検証データ算出部分」と「検証データ埋め込み部分」の2種類の部分に分割する。以下、検証データ算出部分に分類されるブロックをB(J)、検証データ算出部分に分類されるブロックをB(K)で表す(0≦K≠J≦63)。検証データ算出部分や検証データ埋め込み部分は、必ずしも連続した8x8画素領域に対応するブロックの集合である必要はない。
どのブロックを検証データ算出部分と検証データ埋め込み部分に分割するかは、指定部13dから任意に指定することができる。もっとも、検証データ算出部分が検証データ作成の基になるのだから、改竄の有無を厳しく判定する必要のある画像の重要部分、例えば画像の中心や、顔の検出された部位、主要被写体の検出された部位など、特定の重要部分が包含されるように検証データ算出部分を指定することが好ましいといえる。
また、検証データ埋め込み部分に検証データが埋め込まれることで、若干の画質劣化は不可避であるから、検証データ埋め込み部分は、画像の周縁部分など、画質劣化しても影響の少ない重要でない部分にすることが好ましいといえる。
指定部13dから指定された検証データ算出部分と検証データ埋め込み部分を示す分割情報は、記憶媒体で構成された保存部13eに保存することができる。
あるいは、画像データを格納するJPEGファイルなどの画像ファイルのヘッダ部分に分割情報ないし分割情報に代替するパターン識別情報を記録してもよく、この場合、保存部13eは必要ない。
すなわち、分割情報は、検証データ算出部分と検証データ埋め込み部分のDCT係数ブロックそのものを示してもよいが、セキュリティ確保とデータの簡略化のためには、予めいくつかの検証データ算出部分・検証データ埋め込み部分の組み合わせパターン(必要であれば埋め込み係数位置や検証データ復元・復号化の鍵情報も含む)を規定しておき、その中からユーザが所望の組み合わせパターンを選択可能にし、選択されたパターンに対応する識別情報(パターン識別情報)を分割情報の代替とすることが望ましい。
なお、復号側の機器のバージョン情報や製造番号などの各種の機器固有情報を、パターン識別情報に用いてもよい。
検証データ作成部16は、検証データ算出部分のブロックB(J)のDCT係数(0≦J≦63)に対応する除算結果値D(J,m)/Q(J,m)をハッシュ関数に入力することでハッシュ値を得る。このハッシュ値のデータビット列を、検証データとして、検証データ埋め込み部13cに出力する。
ハッシュ関数の一例としては、SHA-224/SHA-256/SHA-384/SHA-512が挙げられる。これらの関数で得られるハッシュ値のデータ長は、順に256ビット、384ビット、512ビット、224ビットであり、比較的小さなデータ量であるから、検証データ埋め込みによる画質劣化防止には適している。
ハッシュ関数は、一方向性(あるハッシュ値が与えられたとき、そのハッシュ値の生成に用いた元のデータを求めることが計算量的に困難なこと)、第2現像発見困難性(あるデータXとハッシュ値が与えられたとき、同じハッシュ値Yを求めることが計算量的に困難なこと)、衝突発見困難性(同一のハッシュ値を与える異なる2つのデータの対を求めることが計算量的に困難なこと)という3つの性質を有するから、検証データの入れ替えによる改竄の防止には適している。もっとも、チェックサムや、パリティ符号・CRC符号といった各種の誤り訂正符号を、検証データとすることもでき、適宜な方法により画像データから検証データを作成すればよい。
検証データ埋め込み部13cは、M−系列などを用いて検証データをランダム化(暗号化)した上、検証データ埋め込み部分に対応する各ブロックB(K)の所定の係数位置である埋め込み位置に、ランダム化された検証データを1ビットずつ埋め込む。
具体的には、検証データ埋め込み部13cは、検証データ埋め込み部分のブロックB(K)のうち、ランダム化された検証データを埋め込むべき係数位置であるm番目(符号化部14によるジグザグ符号化順のm番目のこと)のDCT係数D(K,m)に対応する除算結果値D(K,m)/Q’(K,m)の丸め演算結果値の偶奇性(パリティ)が、埋め込む検証データのビットの値(0または1)と対応するように除算結果値R(K,m)の丸め方向を設定し、設定した丸め方向に除算結果値D(K,m)/Q’(K,m)を丸めた値を、DCT係数D(K,m)の量子化代表値R2(K,m)に決定することで、ランダム化された検証データのビットの挿入を行う。
詳細は省略するが、U・V成分にも、Y成分と同様にしてデータ埋め込みができるのはいうまでもない。
ランダム化された検証データの挿入を行うブロックにおけるDCT係数位置mの設定は任意である。例えば、各ブロックのDCT係数のN番目(N;固定値)といったように、全てのブロックに共通した位置にしてもよい。あるいは、各ブロックのEOBの3つ前の係数位置(Y=X-3)から1つ前の係数位置(Y=X-1)までのように、所定の係数位置の範囲としてもよい。なお、EOB以降にビットを挿入すると、ゼロランレングスが短くなり、符号化効率が低下するから、EOBよりも前に挿入するのが好ましい。また、低周波数側にビットを挿入すると、それだけ画質劣化が顕在化するから、EOBを超えない高周波数側の範囲に挿入することが好ましい。また、EOBはブロックによってその位置が変動するから、検出データ抽出の容易のためには、ブロックに依存しない一定の係数位置ないし範囲を検証データの挿入位置にするとよい。
検証データ埋め込み部13cは、検証データを埋め込まないDCT係数D(L,n)(Lは0以上63以下の任意の整数であり、かつn≠m)に対応する除算結果値D(L,n)/Q(L,n)については、その値の少数以下の桁を、四捨五入・切捨て・切り上げなどの丸め演算で丸めることで、検証データを埋め込まないDCT係数の量子化代表値R1(L,n)を決定する。
なお、検証データビットの挿入を行う周波数位置の量子化幅Q’(J.m)は、通常の量子化幅Q(J,m)よりも小さくするのが好ましい(すなわちQ’(J.m)< Q(J,m)を満足するよう、Q’(J.m)を設定)。これは、データを挿入しながら量子化することによる画質劣化を極力防ぐためである。
検証データ埋め込み部13cは、このようにして決定されたDCT係数の量子化代表値R1(L,n)およびR2(K,m)を格納した8×8のテーブル形式の量子化データテーブルを全てのブロックについて作成し、符号化部14に出力する。
符号化部14は、検証データ埋め込み部13cから出力されたブロック毎の量子化データテーブルをハフマン符号表などを用いてエントロピー符号化し、ビットストリームを出力する。この際、最高周波数の係数位置まで連続するゼロの量子化代表値の列の長さ(ゼロランレングス)を考慮した符号化を行なうことにより、ビット数が効果的に低減される。
符号化データにはEOB(エンドオブブロック)のコードが付加される。ここで、EOBとは、ブロック内の後続の量子化代表値は全てゼロであるという意味のコードである。
DCTを行って得られるDCT係数テーブルにおいては、左上に画質の劣化が顕在化しやすい低い空間周波数のDCT係数が配置され、右下に向かうほど画質の劣化が顕在化しにくい高い空間周波数のDCT係数が配置される。
出力部15は、符号化部14によって符号化されたデータを、外部記録媒体やネットワークなどに出力する。
図2は、検証データ算出部分B(J)、検証データ埋め込み部分B(K)、および検証データの埋め込み位置D(K,m)を概念的に示す。この図に示すように、ある画像中のブロック群は、検証データ算出部分と検証データ埋め込み部分に分割される。検証データ算出部分に属するブロックのDCT係数については、ハッシュ関数に入力してハッシュ値が算出され、これが検証データとされる。検証データは、検証データ埋め込み部分に属するブロックの所定位置のDCT係数D(K,m) (1または複数の係数)に埋め込まれる。埋め込み位置mに対応するパターン識別情報も、保存部13eあるいは画像ファイルのヘッダに保存される。
このようにして検証データを埋め込んだ画像データを、JPEGファイルその他の圧縮符号化画像ファイルとして出力し、パターン識別情報とともに、真正な画像の保証を必要とするユーザ(例えば保険会社や警察など)に提供する。パターン識別情報を復号側の機器固有情報とするなど、ユーザが予め持っている情報にした場合は、パターン情報を提供する必要はない。
画像の提供を受けたユーザ側では、パターン識別情報に対応する検証データ算出部分、検証データ埋め込み部分ないし埋め込み係数位置に従って画像データに埋め込まれた検証データを抽出するとともに、画像データの検証データ算出部分から新たに検証データを作成して、両者を比較し、一致していれば、改竄されていない真正な画像が提供されたことを検知できる。
<第2実施形態>
検証データ算出部分は、特定のブロックに設定する必然性はない。また、検証データ埋め込み部分も、特定のブロックに限る必然性はない。
検証データ算出部分は、特定のブロックに設定する必然性はない。また、検証データ埋め込み部分も、特定のブロックに限る必然性はない。
例えば、図3に示すように、分割部13bは、指定部13dの指定に基づいて、64個の各ブロックB(K)(0≦K≦63)のDCT係数のうち特定の位置mにあるDCT係数D(K,m)を検証データ埋め込み部分とするとともに、その検証データ埋め込み部分D(K,m)以外の全てのDCT係数D(K,n)(n≠m)を検証データ算出部分とする。
検証データ生成部16は、DCT係数D(K,n)(n≠m)をハッシュ関数に代入し、得られた値を検証データとする。そして、検証データ埋め込み部13cは、検証データ埋め込み部分D(K,m)の除算結果値の値を、ランダム化された検証データのビットに変えることで、各ブロックのDCT係数D(K,m)に検証データを1ビットずつ埋め込む。ただし、位置mは範囲で指定してもよく、例えばmがDCT係数3つ分の範囲であれば、1ブロックにつき3ビットの検証データを埋め込むことができる。
このように、一つのブロック内に、「検証データ算出部分」と「検証データ埋め込み部分」を混在させることができる。
なお、上述のように圧縮符号化データの長大化を避けるため、位置mは、EOBの1つ手前までの高周波数側にすることが好ましい。かつ、画質劣化を避けるため、位置mは、なるべく低周波数側を避け、EOBに近い高周波数側とすることが好ましい。
また、検証データ算出部分のデータは、DCT係数に限る必然性はない。例えば、特定の画素のピクセル値を用いてもよい。
あるいは、図4に示すように、画像データを複数の小領域に分割し、各小領域に包含される画像データをそれぞれ1つの独立した画像データと見なし、小領域ごとに検証データの算出と埋め込みを行ってもよい。こうすると、どの小領域で改竄があったかが分かり、おおまかな改竄位置の特定に役立つ。
あるいは第1実施形態で例示された検証データ算出部分や検証データ埋め込み部分と、本実施形態で例示された検証データ算出部分や検証データ埋め込み部分や埋め込み位置を、予め規定されたパターンとし、そのうちのいずれか一方のパターンを、キーボードやマウスなどで任意に指定できるようにしてもよい。
なお、本実施形態のパターンを第1実施形態のパターンと比較すると、本実施形態では、いずれのブロックも検証データ部分に用いられるから、第1実施形態のように画像の重要部分などを考慮して分割する必要がないという利点がある。
また、本実施形態では、検証データ埋め込み部分以外の全てのDCT係数を検証データ算出部分にすることができるから、どのブロックに改竄がされても検出されうるという利点がある。
以上は例示に過ぎず、要するに、検証データ算出部分や検証データ埋め込み部分は、双方とも画像データ中で識別・区別可能な単位であれば、DCT係数のブロックやピクセルに限られず何でもよいし、分割単位自体をキーボードやマウスなどで指定することができるようにしてもよい。
そして、任意に指定された、検証データ算出部分・検証データ埋め込み部分・埋め込み係数位置の組み合わせパターンを識別するためのパターン識別情報を、保存部13eに保存しておけば、復号側でこのパターン識別情報を用いて、どの部分が検証データ算出部分や検証データ埋め込み部分であるかを識別できる。
<第3実施形態>
図5は本発明の好ましい実施形態に係る画像改竄検証装置のブロック図である。詳細は省略するが、本実施形態で述べる装置の各ブロックはマイコンその他の演算装置のプログラム制御によっても実現可能である。
図5は本発明の好ましい実施形態に係る画像改竄検証装置のブロック図である。詳細は省略するが、本実施形態で述べる装置の各ブロックはマイコンその他の演算装置のプログラム制御によっても実現可能である。
入力部21は、第1実施形態に係る画像圧縮符号化装置の出力部15から出力された画像データを、復号化部22に入力する。入力部21は、メディアリーダやネットワークアダプタなどで構成することができる。
検証用情報入力部30は、検証データ算出部分、検証データ埋め込み部分およびデータ埋め込み係数位置を識別するための分割情報を含んだ検証用情報を入力する。検証用情報入力部30は、パターン識別情報となるべき機器固有情報を格納したROM、あるいはヘッダにパターン識別情報の記録された画像ファイルを入力するメディアリーダなどで構成することができる。特に、画像ファイルのヘッダ部分からパターン識別情報を入力する場合、入力部21と検証用情報入力部30の構成を共通化することができる。
図6は、画像ファイルのヘッダにパターン識別情報を記録し、検証装置側(復号側)でヘッダに記録されたパターン識別情報に対応する分割情報等を特定する概念図を示す。第1ないし第2実施形態に係る検証データ埋込装置付き画像圧縮符号化装置の分割部13bは、予めJPEGファイルなどの画像ファイルのヘッダ部分に分割情報の代わりにパターン識別情報(この図では「1」)を記録する。この場合、検証データ埋込装置付き画像圧縮符号化装置に保存部13eを設けて、ここに分割情報を記録する必要はない。なお、セキュリティ確保のためには、パターン識別情報自体も暗号化することが好ましい。
検証用情報入力部30は、検証データ算出部分と検証データ埋め込み部分を区別する分割情報、データ埋め込み係数位置、およびランダム化された検証データを復元するための鍵情報を、各パターン識別情報に対応づけたテーブルを予め記憶している。検証用情報入力部30は、入力された画像ファイルのヘッダ部分からパターン情報(この図では「1」)を抽出し、該テーブルを参照して、抽出されたパターン情報に対応する分割情報、データ埋め込み係数位置および鍵情報を特定する。パターン識別情報が所定の方式で暗号化されている場合は、その方式に従ってパターン識別情報を復号化した上で分割情報等を特定するとよい。
パターン識別情報に対応する分割情報は分割部23に、パターン識別情報に対応する埋め込み位置情報および鍵情報は検証データ抽出部24にそれぞれ入力される。
復号化部22は、エントロピー符号化部14の出力した符号化画像データのDCT係数D(m)をジグザグ順序に従ってエントロピー復号化する。
分割部23は、入力された分割情報に基づき、復号化されたDCT係数のブロックを、検証データ算出部分と検証データ埋め込み部分に分割する。検証データ算出部分は検証データ再計算部26に出力され、検証データ埋め込み部分は検証データ抽出部24に出力される。
検証データ抽出部24は、入力された埋め込み位置情報に従い、各DCT係数に埋め込まれているランダム化された検証データを抽出する。例えば、検証データ抽出部24は、量子化代表値R2(m)が偶数(すなわち最下位ビットが0)であればランダム化された検証データビット0が挿入されており、量子化代表値R2(m)が奇数(すなわち最下位ビットが1)であればランダム化された検証データビット0が挿入されていることを識別する。そして、鍵情報に基づいて、識別された各ビットを統合し、ランダム化された検証データを復元する。
抽出チェック部25は、抽出された検証データについて、パリティチェックなどの各種誤り検出を実行し、誤りが検出されたか否かを判断する。誤りが検出されれば、検証データ埋め込み部分(埋め込み位置情報で示されるDCT係数)が改ざんされたと判断する。誤りが検出されなければ、検証データ埋め込み部分が改ざんされていないと判断し、抽出された検証データを検証データ比較部27に出力する。また、抽出チェック部25の判断結果は、結果出力部28に出力される。こうすれば、抽出データの誤りを見逃したとしても、後の検証データ比較で値が合致しないので、埋め込み部分が改ざんされていたとしても改ざんを検出できる。
検証データ再計算部26は、入力された検証データ算出部分を、検証データ生成部16と同一のハッシュ関数に代入し、ハッシュ値を得る。検証データ再計算部26は、ハッシュ値を検証データ比較部27に出力する。ハッシュ関数に代入する元のデータが少しでも変わると、得られるハッシュ値は大きく変動するという性質がある。
検証データ比較部27は、抽出チェック部25から出力された検証データと、検証データ再計算部26から出力されたハッシュ値とを比較し、両者が一致するか否かにより、画像データが改竄されているか否かを判断する。すなわち、両者が一致すれば画像データが改竄されていないと判断し、両者が一致しなければ画像データが改竄されていると判断する。検証データ比較部27の判断結果は、結果出力部28に出力される。
結果出力部28は、ディスプレイやスピーカなどで構成されており、抽出チェック部25または検証データ比較部27による上記判断結果を、文字、画像、音声など、ユーザが感覚的に認識可能な効果をもって出力する。
このように、本実施形態に係る画像改竄検証装置は、検証データ比較部27によって検証データ算出部分の改竄を検知するとともに、抽出チェック部25によって検証データ埋め込み部分の改竄を検知することができる。特に、検証データとしてハッシュ値を用いれば、ハッシュ関数に代入する検証データ算出部分のデータが少しでも変わると、得られるハッシュ値が大きく変動するという性質から、検証データ算出部分の改竄が容易に判断できる。
13b:分割部、13c:検証データ埋め込み部、13d:指定部、13e:保存部、16:検証データ生成部、23:分割部、24:検証データ抽出部、25:抽出チェック部、26:検証データ再計算部、27:検証データ比較部、28:結果出力部
Claims (12)
- 画像データの圧縮符号化単位に従って、前記画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割するステップと、
前記検証データ算出部分に基づき、検証データを作成するステップと、
前記検証データ埋め込み部分に、前記検証データを埋め込むステップと、
を含む検証データ埋め込み方法。 - 前記検証データ埋め込み部分は、前記画像データを所定の画素単位ごとに分割して得られた複数のブロック毎に算出された離散コサイン変換係数の内、所定の第1のブロック群の所望の位置の離散コサイン変換係数を含み、
前記検証データ算出部分は、前記離散コサイン変換係数の内、前記第1のブロック群と異なる第2のブロック群の離散コサイン変換係数を含む請求項1に記載の検証データ埋め込み方法。 - 前記検証データ埋め込み部分は、前記画像データを所定の画素単位ごとに分割して得られた複数のブロック毎に算出された離散コサイン変換係数の内、所定のブロック群の所定の係数位置の離散コサイン変換係数を含み、
前記検証データ算出部分は、前記離散コサイン変換係数の内、前記所定のブロック群の前記所定の係数位置以外の離散コサイン変換係数を含む請求項1に記載の検証データ埋め込み方法。 - 前記検証データ埋め込み部分は、EOB(End of Block)よりもジグザグスキャン順に沿った1つ以上低周波数側の係数位置である請求項2または3に記載の検証データ埋め込み方法。
- 前記検証データ埋め込み部分の離散コサイン変換係数の量子化幅は、前記検証データ算出部分の離散コサイン変換係数の量子化幅よりも小さく設定されている請求項2〜4のいずれかに記載の検証データ埋め込み方法。
- 画像データの圧縮符号化単位に従って、画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割するステップと、
前記検証データ埋め込み部から、第1の検証データを抽出するステップと、
前記検証データ算出部分に基づき、第2の検証データを作成するステップと、
前記第1の検証データと前記第2の検証データとを比較することにより、前記画像データが改竄されているか否かを判断するステップと、
前記画像データが改竄されているか否かの判断の結果を出力するステップと、
を含む画像改竄検出方法。 - 画像データの圧縮符号化単位に従って、前記画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割するステップと、
前記検証データ算出部分に基づき、第1の検証データを作成するステップと、
前記検証データ埋め込み部分に、前記第1の検証データを埋め込むステップと、
前記第1の検証データが埋め込まれた画像データを圧縮符号化するステップと、
前記第1の検証データが埋め込まれた画像データを復号化するステップと、
前記復号化された画像データを前記検証データ算出部分および検証データ埋め込み部分に分割するステップと、
前記検証データ埋め込み部から、前記第1の検証データを抽出するステップと、
前記検証データ算出部分に基づき、第2の検証データを作成するステップと、
前記第1の検証データと前記第2の検証データとを比較することにより、前記画像データが改竄されているか否かを判断するステップと、
前記画像データが改竄されているか否かの判断の結果を出力するステップと、
を含む画像改竄検出方法。 - 請求項1〜5のいずれかに記載の検証データ埋め込み方法を実行するためのプログラム。
- 請求項6または7に記載の画像改竄検出方法を実行するためのプログラム。
- 画像データの圧縮符号化単位に従って、前記画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割する分割部と、
前記検証データ算出部分に基づき、検証データを作成する作成部と、
前記検証データ埋め込み部分に、前記検証データを埋め込む埋込部と、
を含む検証データ埋め込み装置。 - 画像データの圧縮符号化単位に従って、画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割する分割部と、
前記検証データ埋め込み部から、第1の検証データを抽出する抽出部と、
前記検証データ算出部分に基づき、第2の検証データを作成する作成部と、
前記第1の検証データと前記第2の検証データとを比較することにより、前記画像データが改竄されているか否かを判断する判断部と、
前記画像データが改竄されているか否かの判断の結果を出力する出力部と、
を含む画像改竄検出装置。 - 画像データの圧縮符号化単位に従って、前記画像データを2つの異なる部分である検証データ算出部分および検証データ埋め込み部分に分割する第1分割部と、
前記検証データ算出部分に基づき、第1の検証データを作成する第1作成部と、
前記検証データ埋め込み部分に、前記第1の検証データを埋め込む埋込部と、
前記第1の検証データが埋め込まれた画像データを圧縮符号化する圧縮符号化部と、
前記第1の検証データが埋め込まれた画像データを復号化する復号化部と、
前記復号化された画像データを前記検証データ算出部分および検証データ埋め込み部分に分割する第2分割部と、
前記検証データ埋め込み部から、前記第1の検証データを抽出する抽出部と、
前記検証データ算出部分に基づき、第2の検証データを作成する第2作成部と、
前記第1の検証データと前記第2の検証データとを比較することにより、前記画像データが改竄されているか否かを判断する判断部と、
前記画像データが改竄されているか否かの判断の結果を出力する出力部と、
を含む画像改竄検出システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006245904A JP2008067309A (ja) | 2006-09-11 | 2006-09-11 | 検証データ埋め込み方法、プログラムおよび装置、画像改竄検出方法、プログラムおよび装置ならびに画像改竄検出システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006245904A JP2008067309A (ja) | 2006-09-11 | 2006-09-11 | 検証データ埋め込み方法、プログラムおよび装置、画像改竄検出方法、プログラムおよび装置ならびに画像改竄検出システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008067309A true JP2008067309A (ja) | 2008-03-21 |
Family
ID=39289562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006245904A Pending JP2008067309A (ja) | 2006-09-11 | 2006-09-11 | 検証データ埋め込み方法、プログラムおよび装置、画像改竄検出方法、プログラムおよび装置ならびに画像改竄検出システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008067309A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528981A (zh) * | 2019-09-19 | 2021-03-19 | 半导体元件工业有限责任公司 | 用于验证图像数据的***和方法 |
WO2021084812A1 (ja) * | 2019-10-30 | 2021-05-06 | ソニーセミコンダクタソリューションズ株式会社 | 電子機器 |
-
2006
- 2006-09-11 JP JP2006245904A patent/JP2008067309A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528981A (zh) * | 2019-09-19 | 2021-03-19 | 半导体元件工业有限责任公司 | 用于验证图像数据的***和方法 |
CN112528981B (zh) * | 2019-09-19 | 2023-11-17 | 半导体元件工业有限责任公司 | 用于验证图像数据的***和方法 |
WO2021084812A1 (ja) * | 2019-10-30 | 2021-05-06 | ソニーセミコンダクタソリューションズ株式会社 | 電子機器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7360093B2 (en) | System and method for authentication of JPEG image data | |
Lin et al. | Issues and solutions for authenticating MPEG video | |
US7251343B2 (en) | Image protection | |
US6834344B1 (en) | Semi-fragile watermarks | |
US6523114B1 (en) | Method and apparatus for embedding authentication information within digital data | |
US20060117183A1 (en) | Digital image data authenticity assuring method, and digital image data disclosure system | |
US20040145661A1 (en) | Image processing method, and image processing apparatus | |
US7313696B2 (en) | Method for authentication of JPEG image data | |
US9111358B2 (en) | Digital-watermark embedding device, digital-watermark embedding method, and digital-watermark detecting device | |
JP2008503162A (ja) | デジタルコンテンツセキュリティのためのシステムおよび方法 | |
US6741722B2 (en) | Verification data encoding method, original image verification method and apparatus, and computer readable medium | |
Celik et al. | Localized lossless authentication watermark (LAW) | |
JP2005236442A (ja) | 電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法 | |
US7493489B2 (en) | System and method for authentication of JPEG image data | |
JP2003298579A (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
Caldelli et al. | Joint near-lossless compression and watermarking of still images for authentication and tamper localization | |
JP4948551B2 (ja) | 電子透かし埋め込み検出方法とその装置、プログラム、記録媒体 | |
JP2013126189A (ja) | 画像処理装置、改竄防止方法及び改竄検知方法 | |
US7627761B2 (en) | System for authentication of JPEG image data | |
JP2005217598A (ja) | 電子透かし埋め込み装置,電子透かし検出装置,電子透かし埋め込み方法,および電子透かし検出方法 | |
JP5086951B2 (ja) | 画像生成装置、画像生成方法、コンピュータが実行可能なプログラム、およびコンピュータが読み取り可能な記録媒体 | |
JP2008067309A (ja) | 検証データ埋め込み方法、プログラムおよび装置、画像改竄検出方法、プログラムおよび装置ならびに画像改竄検出システム | |
JP2003289435A (ja) | 画像データ作成方法、改竄検出方法、画像データ作成装置、改竄検出装置、コンピュータプログラム、及び記録媒体 | |
JP2007060280A (ja) | デジタルコンテンツ作成装置およびデジタルコンテンツ改変検出装置およびデジタルコンテンツ改変鑑定システム | |
JP4144469B2 (ja) | 電子透かし検証装置および電子透かし検証方法 |