JP2010016529A - 改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体 - Google Patents

改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP2010016529A
JP2010016529A JP2008173377A JP2008173377A JP2010016529A JP 2010016529 A JP2010016529 A JP 2010016529A JP 2008173377 A JP2008173377 A JP 2008173377A JP 2008173377 A JP2008173377 A JP 2008173377A JP 2010016529 A JP2010016529 A JP 2010016529A
Authority
JP
Japan
Prior art keywords
data
digital watermark
dct
jpeg
embedding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008173377A
Other languages
English (en)
Inventor
Atsushi Katayama
淳 片山
Akira Kitahara
亮 北原
Harumi Kawamura
春美 川村
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008173377A priority Critical patent/JP2010016529A/ja
Publication of JP2010016529A publication Critical patent/JP2010016529A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】電子透かしを美観を損ねることなく埋め込んで、映像の改ざんを検出することができる改ざん検出用電子透かし埋め込み方法を提供する。
【解決手段】 入力した映像に対して、通常のJPEG符号化工程におけるYCbCr変換、ダウンサンプリング、DCTおよびDCT係数量子化の各処理を行い(S31,S32)、電子透かしデータに冗長性を付与して誤り検出符号データとし(S33,S34)、該データを所定の暗号化方法により暗号化済み符号データとし(S35)、選択した色成分のDCTブロックをグループ分けし(S36,S37)、各グループに属するDCTブロックへ暗号化符号データを埋め込み(S41)、前記埋め込み完了後の量子化係数を通常のJPEG符号化工程と同様にエントロピー圧縮し、所定のJPEGフォーマットに適合するように整形してJPEG符号化を完了させる(S42,S43)。
【選択図】図3

Description

本発明は、デジタル映像記録装置に係り、改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体に関する。
近年、デジタルカメラやカメラ付き携帯電話機の普及により、誰もが手軽にデジタル写真映像を撮影できるようになった。デジタルカメラやカメラ付き携帯電話機でのデジタル映像の保持方式はその圧縮率の高さと画質のトレードオフ性が良好であることから、JPEG符号化形式がデファクトスタンダードとなっている。一部の機種ではJPEG2000符号化や非圧縮映像で保持することができるものもあるが、最も普及しているのはJPEG符号化方式である。
デジタルカメラ、特にカメラ付き携帯電話機は手軽に撮影可能なため、これを用いて撮影したデジタル映像を動産担保の証拠としたり、交通事故の証拠としたり、建築現場での工程証明としたり、ゴミ処理場で正しく処理した証明としたりしたいというニーズがある。またデジタルカメラではないが類似するものとしてはドライブレコーダーがあり、撮影された映像は交通事故の参考証拠として用いられる。
これに対して、証拠性を高めるために、デジタル映像に電子透かしを付加し、電子透かしが壊れずに入っているかどうかで映像の信憑性を高める手段が提案されている(非特許文献1参照)。
「その他参考情報JPEG」,2008年6月19日検索,インターネットURL<http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/denshi_sukashi/1_a_4_1.htm> 「お絵描き研究室:JPEG(原理編1,2,3)」,2008年6月19日検索,インターネットURL<http://webs.lanset.com/crazy17/jp/lab/jpeg1.htm> 書籍「やり直しのための工業数学,情報通信と信号解析・暗号,誤り訂正符号,積分変換」,三谷政昭著,CQ出版社,ISBN4−7898−3318−6 仕様書「128ビットブロック暗号Camelliaアルゴリズム仕様書 第2.0版」,青木和麻呂他著,日本電信電話株式会社,三菱電機株式会社,2001年9月26日 仕様書,"Announcing the ADVACED ENCRYPTION STANDARD(AES)",Federal Information Processing Standards Publication 197,November 26,2001
しかしながら、デジタル映像は複製や編集が容易であるという性質があるために、映像が改ざんされていないかを証明するのが難しく、法律上は参考証拠に留まっており、決定的な証拠にはなり得ないという問題があった。
また、非特許文献1に記載の方法では量子化係数のゼロラン部直前に値の大きな(>1)透かしデータを埋め込むため透かし埋め込みによる画質劣化が大きいという問題があった。画質劣化が大きいと証拠写真としての信憑性が下がるため望ましくない。
本発明は上記課題を解決するものであり、その目的は、改ざん検出用の電子透かしを美観を損ねることなく埋め込むことができ、映像の改ざんを検出することができる改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体を提供することにある。
本発明は、通常のJPEG符号化およびJPEG復号化の技術(非特許文献2参照)と密接に関わっている。
通常のJPEG符号化工程は、図1(a)のフローチャートに沿って実行される。まず、デジタル映像を入力し(ステップS11)、画像をYCbCr(輝度スカラ(Y)・色相ベクトル(CbCr))変換する(ステップS12)。
次にステップS13においてダウンサンプリング処理によりCb,Crの情報を削減した後、DCT(Discrate Cosine Transform;離散コサイン変換)処理を行ってDCT係数を得る(ステップS14)。
次にDCT係数を量子化し(ステップS15)、エントロピー圧縮を行い(ステップS16)、所定のJPEGフォーマット、例えばJFIF(JPEG File Interchange Format)に適合するよう整形を行う(ステップS17)。
また通常のJPEG復号化工程は図1(b)のフローチャートに沿って実行される。まずJPEG符号化されたデジタル映像データを入力し(ステップS21)、JFIF形式からデータ列へ整形する(ステップS22)。
次にステップS23においてエントロピー復号し、逆量子化(ステップS24)および逆DCT(ステップS25)を行った後、必要があれば色空間変換を行う(ステップS26)。
本発明における映像への電子透かし埋め込み方法は、映像を8×8サンプリング画素のブロック(DCTブロックと呼ぶ)に分けて各々のブロックに1bitを割り当てて電子透かしデータを誤り検出符号化かつ暗号化したbitを埋め込むことが基本である。
電子透かしデータのbitは直接DCTブロックへは対応させずに、一度誤り検出符号化して冗長性を持たせてから対応させる。誤り検出符号を用いることにより、何も埋め込んでいないのに偶然埋め込んだことと同じ結果が得られることを防ぐ、および復号時に元の電子透かしデータを知ることなく誤り(改ざん)の有無を知るという2つのメリットが得られる。
映像に含まれるDCTブロックの総数は一般に大きい(VGA映像の輝度成分で4800個)ので、DCTブロックをグループに分けて1グループ中で独立に誤り検出符号化するようにする。これにより、誤りがあった場合はその誤りが含まれるグループを特定でき、誤り(改ざん)の場所を知るというメリットが得られる
DCTブロック内の量子化係数の変調方法では、量子化係数の絶対値の最大値と、その最大値を除いた量子化係数中から乱数発生手段により1つ選んだ基準値を用いる。量子化係数の絶対値の最大値に−Kあるいは0あるいはK(Kは任意の正奇数)を加える操作により基準値との差分の偶奇を調整する。この方法の利点は元々値の大きい係数に小変分のみを与えるため量子化係数の変化が少なく、埋め込み後の美観に影響を与え難い点である。DCTブロック内の量子化係数を変調する方式は参考文献1のものも含めて複数あるが、いずれも変調による量子化係数の変化が大きく、美観的には不利となる。
本発明の、請求項1に記載の改ざん検出用電子透かし埋め込み方法は、映像をJPEG符号化すると同時に改ざん検出用電子透かしを埋め込むシステムにおいて、映像入力手段が映像を入力するステップと、JPEG符号化手段が、前記入力映像に対して、通常のJPEG符号化工程におけるYCbCr変換処理、ダウンサンプリング処理、DCT処理およびDCT係数量子化処理を行うステップと、電子透かしデータ入力手段が、埋め込む電子透かしデータを入力するステップと、電子透かしデータ誤り検出符号化手段が、前記入力された電子透かしデータを所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとするステップと、暗号化手段が、前記誤り検出符号データを所定の暗号化方法により暗号化済み符号データとするステップと、色成分選択手段が、前記暗号化済み符号データを埋め込む色成分を選択するステップと、DCTブロックグループ分割手段が、前記選択した色成分のDCTブロックを暗号化済み符号データのbit数と同じ個数ずつのグループに分割し、余りのDCTブロックはそれらだけで1グループとするステップと、最大値選択手段が、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶステップと、基準値選択手段が、所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶステップと、暗号化済み符号データ埋め込み手段が、前記暗号化済み符号データのbit0を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が偶数になるように、暗号化済み符号データのbit1を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が奇数になるように、量子化係数絶対値の最大値に−K,0,K(Kは任意の正奇数)のいずれかを加える暗号化済み符号データ埋め込みステップと、前記余りグループのDCTブロックには所定の0と1からなるパターンを前記暗号化済み符号データ埋め込みステップと同じ方法で埋め込む余りグループデータ埋め込みステップと、JPEG符号化手段が、前記埋め込み完了後の量子化係数を通常のJPEG符号化工程と同様にエントロピー圧縮し、所定のJPEGフォーマットに適合するように整形してJPEG符号化を完了させるステップとを備えることを特徴としている。
また請求項2に記載の改ざん検出用電子透かし埋め込み方法は、請求項1において、前記通常のJPEG符号化工程におけるYCbCr変換処理、ダウンサンプリング処理、DCT処理およびDCT係数量子化処理を行うステップと、前記埋め込む電子透かしデータを入力するステップとの間に、JPEG符号化手段が、前記量子化係数を圧縮し所定のJPEGフォーマットに適合するよう整形するステップと、データ整形・エントロピー復号手段が、前記JPEGフォーマットに対してデータ整形およびエントロピー復号を行ってDCT係数値を得るステップとを実行することを特徴としている。
また、請求項3に記載の電子透かしを用いた改ざん検出方法は、請求項1又は2に記載の改ざん検出用電子透かし埋め込み方法によって改ざん検出用電子透かしが埋め込まれ、JPEG符号化された映像から、電子透かしを検出して映像が改ざんされたかどうかを調べるシステムにおいて、映像入力手段が、前記JPEG符号化映像を入力するステップと、JPEG復号化手段が、前記入力されたJPEG符号化映像に対して、通常のJPEG復号化工程におけるデータ整形処理およびエントロピー復号処理を行うステップと、色成分選択手段が、前記誤り検出符号データが埋め込まれた色成分を選択するステップと、DCTブロックグループ分割手段が、前記選択した色成分のDCTブロックを前記暗号化済み符号化データのbit数と同じ個数ずつDCTブロックを含むグループに分割するステップと、最大値選択手段が、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶステップと、基準値選択手段が、所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶステップと、最大値と基準値の差からビットデータを得る手段が、前記最大値と基準値の差が偶数なら0を、奇数なら1を各々出力するステップと、暗号復号化手段が、前記出力された0又は1を所定の暗号復号化の入力bitとして対応付け暗号復号化を行うステップと、誤り検出復号手段が、前記暗号復号化したデータに対し所定の誤り検出復号化を行い、誤りの有無と、誤り有りの場合は誤りの発生したDCTブロックを含むグループと、誤り無しの場合は埋め込まれた電子透かしデータとを得るステップと、JPEG復号化手段が、前記入力されたJPEG符号化映像を通常のJPEG復号化工程を行って映像とするステップと、表示手段が、前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属するDCTブロックの位置を目立つように表示するステップとを備えることを特徴としている。
また、請求項4に記載の改ざん検出用電子透かし埋め込み装置は、映像をJPEG符号化すると同時に改ざん検出用電子透かしを埋め込むシステムにおいて、映像を入力する映像入力手段と、前記入力映像に対して、通常のJPEG符号化工程におけるYCbCr変換処理、ダウンサンプリング処理、DCT処理およびDCT係数量子化処理を行うJPEG符号化手段と、埋め込む電子透かしデータを入力する電子透かしデータ入力手段と、前記入力された電子透かしデータを所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとする電子透かしデータ誤り検出符号化手段と、前記誤り検出符号データを所定の暗号化方法により暗号化済み符号データとする暗号化手段と、前記暗号化済み符号データを埋め込む色成分を選択する色成分選択手段と、前記選択した色成分のDCTブロックを暗号化済み符号データのbit数と同じ個数ずつのグループに分割し、余りのDCTブロックはそれらだけで1グループとするDCTブロックグループ分割手段と、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段と、所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段と、暗号化済み符号データ埋め込み手段が、前記暗号化済み符号データのbit0を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が偶数になるように、暗号化済み符号データのbit1を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が奇数になるように、量子化係数絶対値の最大値に−K,0,K(Kは任意の正奇数)のいずれかを加え、前記余りグループのDCTブロックには所定の0と1からなるパターンを埋め込む暗号化済み符号データ埋め込み手段と、前記埋め込み完了後の量子化係数を通常のJPEG符号化工程におけるエントロピー圧縮処理と同様に圧縮するエントロピー圧縮手段と、前記圧縮されたデータを所定のJPEGフォーマットに適合するように整形する整形手段とを備えることを特徴としている。
また請求項5に記載の改ざん検出用電子透かし埋め込み装置は、映像をJPEG符号化すると同時に改ざん検出用電子透かしを埋め込むシステムにおいて、映像を入力する映像入力手段と、前記入力映像を通常のJPEG符号化工程によって符号化するJPEG符号化手段と、前記JPEG符号化手段により符号化されたJPEGフォーマットに対してデータ整形およびエントロピー復号を行ってDCT係数値を得るデータ整形・エントロピー復号手段と、埋め込む電子透かしデータを入力する電子透かしデータ入力手段と、前記入力された電子透かしデータを所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとする電子透かしデータ誤り検出符号化手段と、前記誤り検出符号データを所定の暗号化方法により暗号化済み符号データとする暗号化手段と、前記暗号化済み符号データを埋め込む色成分を選択する色成分選択手段と、前記選択した色成分のDCTブロックを暗号化済み符号データのbit数と同じ個数ずつのグループに分割し、余りのDCTブロックはそれらだけで1グループとするDCTブロックグループ分割手段と、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段と、所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段と、暗号化済み符号データ埋め込み手段が、前記暗号化済み符号データのbit0を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が偶数になるように、暗号化済み符号データのbit1を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が奇数になるように、量子化係数絶対値の最大値に−K,0,K(Kは任意の正奇数)のいずれかを加え、前記余りグループのDCTブロックには所定の0と1からなるパターンを埋め込む暗号化済み符号データ埋め込み手段と、前記埋め込み完了後の量子化係数を通常のJPEG符号化工程におけるエントロピー圧縮処理と同様に圧縮するエントロピー圧縮手段と、前記圧縮されたデータを所定のJPEGフォーマットに適合するように整形する整形手段とを備えることを特徴としている。
また、請求項6に記載の電子透かしを用いた改ざん検出装置は、請求項4又は5に記載の改ざん検出用電子透かし埋め込み装置によって改ざん検出用電子透かしが埋め込まれ、JPEG符号化された映像から、電子透かしを検出して映像が改ざんされたかどうかを調べるシステムにおいて、前記JPEG符号化映像を入力する映像入力手段と、前記入力されたJPEG符号化映像に対して、通常のJPEG復号化工程におけるデータ整形処理およびエントロピー復号処理を行う手段と、前記誤り検出符号データが埋め込まれた色成分を選択する色成分選択手段と、前記選択した色成分のDCTブロックを前記暗号化済み符号化データのbit数と同じ個数ずつDCTブロックを含むグループに分割するDCTブロックグループ分割手段と、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段と、所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段と、前記最大値と基準値の差が偶数なら0を、奇数なら1を各々出力する最大値と基準値の差からビットデータを得る手段と、前記出力された0又は1を所定の暗号復号化の入力bitとして対応付け暗号復号化を行う暗号復号化手段と、前記暗号復号化したデータに対し所定の誤り検出復号化を行い、誤りの有無と、誤り有りの場合は誤りの発生したDCTブロックを含むグループと、誤り無しの場合は埋め込まれた電子透かしデータとを得る誤り検出復号手段と、前記入力されたJPEG符号化映像を通常のJPEG復号化工程を行って映像とするJPEG復号化手段と、前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属するDCTブロックの位置を目立つように表示する表示手段とを備えることを特徴としている。
また、請求項7に記載の改ざん検出用電子透かし埋め込みプログラムは、コンピュータに請求項1又は2に記載の各ステップを実行させるための改ざん検出用電子透かし埋め込みプログラムである。
また、請求項8に記載の電子透かしを用いた改ざん検出プログラムは、コンピュータに請求項3に記載の各ステップを実行させるための電子透かしを用いた改ざん検出プログラムである。
また、請求項9に記載の記録媒体は、請求項7に記載の改ざん検出用電子透かし埋め込みプログラムを記録したコンピュータ読み取り可能な記録媒体である。
また、請求項10に記載の記録媒体は、請求項8に記載の電子透かしを用いた改ざん検出プログラムを記録したコンピュータ読み取り可能な記録媒体である。
(1)本発明では、電子透かしをJPEG映像の量子化係数に埋め込むにあたり、値の最大な係数を選び、与える変分は高々Kのため、美観を損ねずに埋め込むことが可能になる。また、透かしが壊れていることを誤り検出符号により検出した場合、壊れた透かしデータが含まれる映像グループ(=映像範囲)が改ざんされていることが分かるため、映像のどの場所が透かし埋め込み後に改ざんされたかどうかを知る手段の提供が可能となる。
さらに本発明は埋め込みデータを暗号化しており、かつ埋め込みアルゴリズムでも乱数を使って埋め込み係数の位置を決めているため、暗号鍵および乱数の種の値を知るものでなければ、本発明のアルゴリズムを熟知した者でも偽造することが難しい。このため、暗号鍵と乱数の種を秘密にしておけば、偽の映像を真正な映像と偽る攻撃を防ぐことができる。
(2)また、誤り検出符号を用いているので、何も埋め込んでいないのに偶然埋め込んだことと同じ結果が得られることを防ぐ、および復号時に元の電子透かしデータを知ることなく誤り(改ざん)の有無を知るという2つのメリットが得られる。
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。まず、本発明の改ざん検出用電子透かし埋め込み方法及びその装置の実施形態例を図1〜図11とともに説明する。
図2は本発明を適用した透かし埋め込み付きJPEG符号化装置の構成の一例を示している。図2において、31は埋め込み対象のデジタル映像を入力する映像入力手段である。
32はJPEG符号化手段であり、前記入力映像に対して、通常のJPEG符号化工程におけるYCbCr変換処理、ダウンサンプリング処理、DCT処理およびDCT係数量子化処理を行う。
33は、前記入力映像に埋め込む電子透かしデータを入力する電子透かしデータ入力手段である。
34は、前記入力された電子透かしデータを、所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとする電子透かしデータ誤り検出符号化手段である。
35は、前記誤り検出符号データを所定の暗号化方法により暗号化済み符号データとする暗号化手段である。
36は、前記暗号化済み符号データを埋め込む色成分を選択する色成分選択手段である。
37は、前記選択した色成分のDCTブロックを暗号化済み符号データのbit数と同じ個数ずつのグループに分割し、余りのDCTブロックはそれらだけで1グループとするDCTブロックグループ分割手段である。
38は、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段である。
39は、所定の乱数発生手段40から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段である。
41は、前記暗号化済み符号データのbit0を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が偶数になるように、暗号化済み符号データのbit1を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が奇数になるように、量子化係数絶対値の最大値に−K,0,K(Kは任意の正奇数)のいずれかを加え、前記余りグループのDCTブロックには所定の0と1からなるパターンを埋め込む暗号化済み符号データ埋め込み手段である。
42は、前記埋め込み完了後の量子化係数を通常のJPEG符号化工程におけるエントロピー圧縮処理と同様に圧縮するエントロピー圧縮手段である。
43は、前記圧縮されたデータを所定のJPEGフォーマットに適合するように整形するJFIF形式整形手段である。
図2に記載の前記各手段31〜43の各機能は、例えばコンピュータによって達成される。
次に図2の装置で行われる処理手順を図3のフローチャートとともに説明する。まず映像入力ステップ(ステップS31)により埋め込み対象のデジタル映像を得る。
次にステップS32において、通常のJPEG符号化の工程と同じ処理(図1(a)のステップS12〜S15)を進め、YCbCr変換とダウンサンプリングとDCTを経てDCT係数の量子化まで行なう。量子化後は各DCTブロック内では8×8=64個の量子化係数が存在する状態になる。図4に量子化係数の例を示す。量子化係数はY,Cb,Crの色成分毎に存在する。前記ダウンサンプリングの際にはY(輝度)成分よりもCb,Cr(色)成分の方を粗くサンプリングするのが一般的であるので、DCTブロックの数はY成分が最も多くなる。Y,Cb,Crいずれの場合であっても、DCTブロックの中には8×8の量子化係数が含まれるのは変わりない。
次に電子透かしデータ入力ステップ(ステップS33)により得られた電子透かしデータを処理する。例えば、電子透かしデータが448bitであるとする。この448bitというのは任意に決定可能であり、後述する誤り検出符号化により冗長化した結果のbit数が、後述する分割された1グループ内のDCTブロック数を超えない範囲で任意に選び得る。
次に透かしデータ誤り検出符号化ステップ(ステップS34)では、誤り検出符号として例えば偶数行パリティ符号を選ぶ。448bitを7列64行に並べ、各行に偶数パリティbitを1個付加する。偶数パリティbitとはパリティbitを含めた各行の8個のデータbitの中で1となる個数が偶数個となるようにパリティbitの値を1か0に定めることである。各行に偶数パリティbitを付加した結果、誤り検出符号化されたデータは64個のパリティbitが加わり全体で448+64=512bitとなる。誤り検出符号は拡張偶数行パリティに限らずこれ以外を使っても発明の本質は変わらない。
次の暗号化ステップ(ステップS35)では、誤り検出符号化された512bitのデータを暗号化して、512bitの暗号化済み符号データを生成する。暗号には例えばcamellia暗号(非特許文献3参照)を用いる。camelliaは128bitのブロック暗号であり、128bitのデータの並びを別の128bitのデータの並び(暗号化済み符号化データ)に変換する。変換するときには128/192/256bitの暗号鍵を必要とする。暗号化済み符号化データを復号して元のデータ符号を得るには、暗号化時と同じ暗号鍵を使ってcamellia復号処理を行う。camelliaは128bitのブロック暗号であるので、512bitの誤り検出符号を暗号化する場合は512/128=4回の処理を必要とする。暗号化方法はcamelliaに限らずこれ以外の方法を使っても本発明の本質は変わらない。
次の色成分選択ステップ(ステップS36)では、透かしデータから生成した誤り検出符号データを埋め込む色成分をY,Cb,Crの中から選択する。それぞれ単独にひとつ選択しても良いし、任意の2つを選んでも良く、また3つともを選ぶこともできる。ただし、2つ以上を選ぶと使用できるDCTブロックが増える代わりにDCTブロックのグループ分けが複雑になってしまう。そこで本例では説明を簡単にするためにYのみを選ぶこととする。Yを選ぶことにより、白黒映像でも対応できるという利点も生じる。他の有効な選び方としてはCbのみを選ぶという方法がある。この場合は、人間の視覚は青/黄の変化を知覚しにくいので目立ちにくいという利点が生じる。
次に映像中のDCTブロックのグループ分割を行う(ステップS37)。映像サイズと選択した色成分から8×8画素のDCTブロックが何個存在するかを計算しておく。例えば640×480画素のVGAサイズの映像でY成分を選んだのであれば、640×480/(8×8)=4800個のDCTブロックが存在する。これらDCTブロックを暗号化済み符号化データのbit数(上記例では512)ずつのグループに分ける。本例では4800個のDCTブロックを512個ずつのグループに分けるのであるが、4800は512で割り切れず商は9で余りが192であるから、9グループが構成され192個のDCTブロックが余る。この余りのDCTブロックだけを集めたグループも1グループとする。
1グループの形状は元映像に対し左上からラスタースキャン形式に数えて行き512個を数えたものとする。次のグループはひき続きラスタースキャン形式で512個を数えたものとする。最後に余ったDCTブロックはそれらだけで1グループとする。ブロック分けの例を図5に示す。この例ではY成分のみを選んだ場合を示したが、CbあるいはCr成分のみを選んだ場合も同様にグループの形状を定める。複数の色成分を用いる場合は、Yの次はCb、Cbの次はCrというように各色成分のDCTブロックが連続していると見なして512個ずつのグループを選んで行き、最後に余りの分を1グループとする。
本例では1グループに含まれるDCTブロックは隣接しているとしたが、含まれるDCTブロックの数さえ同じであれば、同一グループ内のDCTブロック配置が隣接している必要はなく様々なグループ分けの方法が存在し得る。例えば図6のように分散して分ける方法も存在する。ただし、分け方は任意で良いが、なるべくブロックが一塊になるように分けた方が、改ざんがあった場合の場所の特定が容易である。
次に各グループに含まれるDCTブロックへ暗号化済み符号データを埋め込む(ステップS41)。
ここで例外処理がひとつあり、512個のDCTから構成されるグループには暗号化済み符号データを埋め込むが、DCTが512個に満たない余りからなるグループ(余りグループ)には第1グループすなわち、最初のグループと同じ暗号化済み符号データを余りDCTの個数だけ埋め込む。第1グループのデータの1番目から余りグループのDCT個数番目までのデータを、余りグループのデータの1番目から最後まで埋め込む。余りのグループはDCT個数が512個に満たないため、埋め込めない暗号化済み符号データが生じるがそれは無視して埋め込まないでおく。
図3のステップS41(DCTブロックへの暗号化済み符号データ埋め込み処理)は図7のフローチャートに沿って処理される。
すなわち、量子化係数の絶対値の最大値M1を選択するステップS52と、基準値M2を選択するステップS53と、埋め込みビットにより最大値M1を調整するステップS54とを、全DCTブロックについて処理が終了する(ステップS51)まで繰り返し実行する。
量子化係数は図4に示すように8×8の正方形に並んでおり、左上が直流成分であり右下に行くほど高周波成分を表す。図7において、量子化係数の絶対値の最大値選択ステップ(S52)では、64個の量子化係数の中から絶対値最大値を見つける。絶対値最大値が複数個ある場合は次のようにして定める。このアルゴリズムをフローチャートにしたものを図8に示す。
最大値が2個以上ある場合は、図9の矢印に示す逆ジグザグスキャン(通常のJPEGのジグザグスキャンの逆順)の順序で最初に出現したものを最大値とする。
図8において、まず最初にステップS61で最大値M1を0とした後、逆ジグザグスキャンにより進み係数Aを取り(ステップS62)、|A|>M1か否かを判定し(ステップS63)、|A|>M1である場合はM1=|A|とし(ステップS64)、前記ステップS62〜S64を、全ての量子化係数をスキャンし終わる(ステップS65)まで繰り返し実行する。
同値のものがあった場合、逆ジグザグスキャンで先に出現したものを採用する理由は、透かし埋め込みに用いる量子化係数をなるべく高周波成分側に持って行き、目立ちにくくするためである。上記のように選んだ最大値をM1とする。
基準値選択ステップ(図7のステップS53)では1≦β≦63の整数βを出力する乱数発生装置を用い、1DCTブロック内の量子化係数64個の内、最大値M1を除いた63個の中からβ番目の係数を基準値M2として選ぶ。β番目の係数を定める際には、図10に示すように、左上からラスタースキャン形式に数え、最大値M1は飛ばして数える。乱数発生装置は乱数の種(パラメータ初期値)が同一ならば同じ乱数列が得られる方法、例えば線形合同法を用いる。線形合同法の内容は後述する実施例の欄の「5.乱数発生方法」で詳細に説明する。乱数発生方法は線形合同法に限らず、乱数の種を決定すれば出力される乱数列が決定論的に決まるような他の方法を使っても本発明の本質は変わらない。得られた乱数列の値はDCTブロックをラスタースキャンする順番で使用する。すなわち、得られた第1の乱数は左上隅のDCTブロックで用い、次に得られた第2の乱数は先のDCTブロックの右隣のDCTブロックで用いる。
埋め込みbitによりM1を調整するステップ(図7のステップS54)での埋め込みの方針は、データ1(暗号化済み符号データのbit1)を埋め込む場合はM1−M2=奇数となるように、データ0(暗号化済み符号データのbit0)を埋め込む場合はM1−M2=偶数となるようにM1を調整することである。調整は任意正奇数を減じるか、任意正奇数を加えるか、何もしないかの3つから選ぶ。任意正奇数はより小さい値を使う方が、埋め込み後の美観は有利となる。
この調整方法の手順を図11に示す。図11において、例えばデータ1を埋め込みたいとき、M1=15、M2=14の場合はM1−M2=1で既に奇数であるから何もしない(ステップS71,S72)。
また、M1=15、M2=15の場合はM1−M2=0で偶数であるからM1の正負を吟味し(ステップS71,S73,S74)、正であるからM1に例えば正奇数1を加えて(ステップS75)M1=15+1=16とする(これによりM1−M2が奇数となる)。
また、データ0を埋め込みたいとき、M1=−18、M2=11の場合はM1−M2=−29で奇数であるからM1の正負を吟味し(ステップS71,S72,S74)、負であるから例えば正奇数1を減じて(ステップS76)M1=−18−1=−19とする(これによりM1−M2が偶数となる)。
またM1=−18、M2=10の場合はM1−M2=−28で偶数であるから何もしない(ステップS71,S73)。
上記のようにして、1グループ内の全DCTブロックについて対応する暗号化済み符号データのbitを各々埋め込む。但し、前述したように余りのグループには第1グループと同じ暗号化済み符号データを埋め込む。
図3のステップS41において全てのグループについて暗号化済み符号データbitの埋め込みが終了したら、その後は通常のJPEG符号化の工程(図1(a)のステップS16,S17)と同じようにエントロピー圧縮ステップ(ステップs42)と所定のJFIF形式に適合するようデータ整形ステップ(ステップS43)を実行しJPEG映像として出力する。
次に、本発明の電子透かしを用いた改ざん検出方法、検出装置の実施形態例を図12〜図16とともに説明する。
図12は本発明を適用した透かし検出付きJPEG復号化装置の構成を示している。図12において、81は前記JPEG符号化映像を入力するJPEG符号化映像入力手段である
82は、前記入力されたJPEG符号化映像に対して、通常のJPEG復号化工程におけるデータ整形処理およびエントロピー復号処理を行うデータ整形・エントロピー復号手段である。
83は、前記誤り検出符号データが埋め込まれた色成分を選択する色成分選択手段である。
84は、前記選択した色成分のDCTブロックを前記暗号化済み符号化データのbit数と同じ個数ずつDCTブロックを含むグループに分割するDCTブロックグループ分割手段である。
85は、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段である。
86は、所定の乱数発生手段87から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段である。
88は、前記最大値と基準値の差が偶数なら0を、奇数なら1を各々出力する最大値と基準値の差からビットデータを得る手段である。
89は、前記出力された0又は1を所定の暗号復号化の入力bitとして対応付け暗号復号化を行う暗号復号化手段である。
90は、前記暗号復号化したデータに対し所定の誤り検出復号化を行い、誤りの有無と、誤り有りの場合は誤りの発生したDCTブロックを含むグループと、誤り無しの場合は埋め込まれた電子透かしデータとを得る誤り検出復号手段である。
91は、前記入力されたJPEG符号化映像を通常のJPEG復号化工程を行って映像とするJPEG復号化手段である。
92は、前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属するDCTブロックの位置を目立つように表示する誤り発生箇所重畳表示手段(本発明の表示手段)である。
図12に記載の前記各手段81〜92の各機能は例えばコンピュータによって達成される。
次に図12の装置で行われる処理手順を図13のフローチャートと共に説明する。予め取り決めとして埋め込みの際に使用したブロック形状、ブロック数、誤り検出符号化方法と暗号化方法とその暗号鍵、乱数発生方法と乱数発生の種は検出側も同じ情報を知っているようにする。
デジタル映像データ入力ステップ(ステップS81)にて入力されたデジタル映像データは、通常のJPEG復号化工程であるデータ整形とエントロピー復号ステップ(図1(b)のステップS22,S23)を経てDCTブロックの量子化係数にまで変換される(ステップS82)。
次に埋め込み時に用いたものと同じ色成分選択を行い(ステップS83)、続いて埋め込み時に用いたものと同じDCTブロックのグループ分け(図5参照)を行う(ステップS84)。
次にステップS88において、各グループの各DCTブロックについて暗号化済み符号データ1 or 0を次の手順で検出する。その手順を図14のフローチャートに沿って説明する。
図14において、絶対値の最大値M1を選択する処理(ステップS102)と、基準値M2を選択する処理(ステップS103)と、暗号化済み符号データのビットが0か1かを検出する処理(ステップS104〜S106)とを、全DCTブロックについて処理が終了する(ステップS101)まで繰り返し実行する。
まずステップS102において、64個の量子化係数値を吟味して絶対値の最大値M1を見つける。最大値が複数個ある場合は次のようにして定める。これは埋め込み時と全く同じである(図8の処理を実行する)。
すなわち最大値が2個以上ある場合は、図9に示すような逆ジグザグスキャン(通常のJPEGのジグザグスキャンの逆順)の順序で最初に出現したものを最大値とする。次に基準値選択ステップ(ステップS103)では、1≦β≦63の整数βを出力する乱数発生装置を用い、1DCTブロック内の量子化係数64個の内、最大値M1を除いた63個の中からβ番目の係数を基準値M2として選ぶ。β番目の係数を定める際には、前記図10と同様に左上からラスタースキャン形式に数え、M1は飛ばして数える(図12)。乱数発生装置は例えば線形合同法を用いる。乱数発生装置に加える乱数の種(パラメータ初期値)は埋め込み時と同じ値を用いる。するとβの値は埋め込み時と同じ値が得られ、M2の位置は埋め込み時と同じになる。乱数発生方法は線形合同法に限らず、乱数の種を決定すれば出力される乱数値が決定論的に決まるような他の方法を使っても本発明の本質は変わらない。
上記のように選んだ絶対値の最大値をM1、基準値をM2とする。M1−M2が偶数ならば暗号化済み符号データ0が、M1−M2が奇数なら暗号化済み符号データ1が埋め込まれていると分かる(ステップS104〜S106)。
このようにして1グループ内の全てのDCTブロックからbit(1 or 0)を検出し(本例では全部で512bit)、これに対し暗号の復号化を行う(図13のステップS89)。復号時には埋め込み時と同じ暗号鍵を用いる。これにより得られた512bitの復号化データ符号に対し、誤り検出復号ステップ(ステップS90)にて誤り検出復号化処理を行う。その結果、誤りの有無が得られ、もし誤りがなければ448bitの埋め込み透かしデータが得られ、誤りがあれば誤りを含むグループがどれであるかの情報が得られる。ただし、余りのグループに対しては暗号の復号化や誤り検出復号は行わずに、単に第1のグループとbit値の並びが同じかどうかのみをチェックする。
続いてステップS91において、通常のJPEG復号化の手順(図1(b)のステップS24〜S26)と同様に各DCTブロックの量子化係数を逆量子化しDCT係数に戻し、それに対し逆DCTを行い、さらに色空間変換を行って映像とする。
前記誤り検出復号ステップ(ステップS90)にて得られた誤りの有無、誤りグループ、埋め込み透かしデータを用いて、以下のように改ざんの有無と改ざん場所が分かる。
すなわち、全てのグループから誤りが検出されなかった場合(余りのグループでは第1のグループとデータが同じ場合)は、その映像は透かし埋め込み後から改ざんされていないとみなす(図15)。
また、誤りが検出されたグループ内の映像が原本とは異なっている、つまり改ざんされている場合は、グループを構成するDCTブロックが占めるエリア内のどこかに改ざんの可能性がある(図16)。
誤り箇所すなわち改ざん箇所を表現する場合は図16に示すようにJPEG復号化された映像に改ざんされたグループの位置をあらわす目印(図16の黒塗り部分)を重畳表示すると、どこが改ざんされたかが分かりやすい。
(実施例)
本発明では、前記実施形態例の説明で述べた構成以外にも、幾つかの構成をとり得る。構成のバリエーションは、埋め込む電子透かしデータのbit数の多寡、埋め込む対象の色成分の組み合わせ、誤り検出符号の種類、暗号化方法の種類、乱数発生方法の種類を変えることにより、多種多様な構成が得られる。ここでは、それぞれの構成要素が取り得る方法・種類について詳しく述べる。
1.埋め込み電子透かしデータbit数
(1)誤り検出符号の面からは、誤り検出符号が構成できる条件で任意の値を取り得る。例えば最小としたいのなら、データ1bitとパリティ1bitとなる。最大値の方は映像の大きさで決まる。例えば640×480画素のVGA画像を扱う場合はY成分のDCT個数は4800個であるから、Y成分のみを使う場合はデータbit数の最大値は誤り検出符号を加えて4800以下ということになる。
(2)暗号化方式の面からは、暗号化方式の選び方でbit数が制約を受ける。詳細な説明で述べたcamellia暗号はブロック暗号と呼ばれ、128bit長を1ブロックとしたデータを、128bitの暗号化された符号データに変換する。この場合誤り検出符号を加えたbit数はブロック長128の倍数であることが望ましい。必須ではなく望ましいとしたのは、128の倍数でなくても、bit数が足りない分は0か1のデータを付加すること(パディング)により128の倍数に出来るからである。しかしながら、パディングにより無意味なデータを付加するよりは、何かしら意味のあるデータを付加した方がアプリケーション面では有利と言える。
(3)埋め込むデータを何にするかはアプリケーションに依存するが、例えば映像を証拠に利用する場合は、カメラ固有ID、撮影時刻(あればカメラ内時計より取得する)、撮影場所(GPS等により取得する)を埋め込んでも良い。また、改ざん場所を特定するためには、映像をグループ分けしたそれぞれのグループに0あるいは1から通し番号を振り、それを埋め込んでも良い。埋め込むデータフォーマットの例を図17に示す。埋め込むデータとフォーマットはこの例に限らず任意に設計し得る。
2.埋め込み対象色成分選択の組み合わせ
(1)前記実施形態例の説明で述べたように、Y,Cb,Crの中から選択する。それぞれ単独にひとつ選択しても良いし、任意の2つを選んでも良く、また3つともを選ぶこともできる。Yのみを選んだ場合は白黒映像にも対応できるという利点を生じる。Cbのみを選んだ場合は、人間の視覚は青黄色成分の変化を知覚しにくいため、電子透かしが目立ちにくいという利点を生じる。Crのみを選ぶというのは特に利点がないので採用し難い。複数の色成分を選ぶ場合は、DCTブロック数が増えるので、より多くのデータを埋め込めるという利点が生じる。
3.誤り検出符号の種類
(1)行パリティ。最も簡単な誤り検出符号であり、元bitデータを行列の形に並べ、各行にパリティbitを1bit付加したものである。すなわち、例えば図18に示すように、埋め込みデータを64行×7列(=448)に並べ、各行の末尾に偶数パリティピットを付加する。偶数パリティとは、パリティビットも含めた各行のビット並び中の1の数が偶数になるように、パリティビットを0か1に定める方法である。
また奇数パリティであれば、1の数が奇数個になるようにパリティbitを選ぶ。パリティbitを付加した分、全体のbit数が増える。前記実施形態例の説明では元データ448bitを64行に並べていたため、総bitは64bit増えて448+64=512bitとなる。行パリティと似たものに列パリティがある。パリティの付加を列単位に行うことのみ異なり、他は行パリティと同じである。
(2)行列パリティ。元bitデータを行列の形に並べ、各行と各列にパリティbitを付加したものである。垂直水平パリティとも呼ばれる。行パリティ、列パリティ単独よりも付加するパリティbitは増えるが、誤り検出の精度はより高くなる。
(3)ハミング符号(非特許文献3の47〜53頁を参照)。ハミング符号では元データbitをk個、検査bit(冗長bit)をm個とすると、2m−m≧k+1の関係となる。例えば総bit数が500bit程度と仮定するとm=9、k=502の組み合わせがある。つまり、元データが502bitで、検査bitが9bit、総bitが511bitである。なお、ハミング符号は誤り検出だけでなく誤り訂正も可能であるが、本発明では誤り訂正機能は使用しない。
(4)巡回符号(CRC符号;非特許文献3の54〜65頁を参照)。巡回符号はハードウェア化しやすいという特徴を持つ。巡回符号も誤り検出だけでなく誤り訂正が可能であるが、本発明では誤り訂正機能は使用しない。
(5)BCH符号(非特許文献3の66〜75頁を参照)。BCH符号は巡回符号の一種でランダム誤りの訂正能力が高い。しかしながら、本発明では誤り訂正機能は使用しないため、BCH符号を採用するのは、既にBCH符号化モジュールが存在しており、それを流用することでコスト的な利点があるときに限られる。
(6)RS符号(リードソロモン符号;非特許文献3の76〜81頁を参照)。RS符号は巡回符号の一種でバースト誤りの訂正能力が高い。しかしながら、本発明では誤り訂正機能は使用しないため、RS符号を採用するのは、既にRS符号化モジュールが存在しており、それを流用することでコスト的な利点があるときに限られる。
4.暗号化方法の種類
(1)camellia暗号(非特許文献4を参照)。camellia暗号は共通鍵方式128bitブロック暗号であり、暗号化と復号化には共通の鍵を用いる。128bitブロック暗号とは128bitの元データを128bitの暗号化データに暗号化及び128bitの暗号化データを128bitの元データに復号化できることを示す。暗号化と復号化の際には共通鍵が必要である。共通鍵は128bit長、196bit長、256bit長のいずれかを使うことができる。鍵長が長いほど暗号強度(暗号の破られ難さ)が高い。
(2)AES暗号(非特許文献5を参照)。AES暗号は共通鍵方式128bitブロック暗号であり、暗号化と復号化には共通の鍵を用いる。128bitブロック暗号とは128bitの元データを128bitの暗号化データに暗号化及び128bitの暗号化データを128bitの元データに復号化できることを示す。暗号化と復号化の際には共通鍵が必要である。共通鍵は128bit長、196bit長、256bit長のいずれかを使うことができる。鍵長が長いほど暗号強度(暗号の破られ難さ)が高い。
5.乱数発生方法
(1)線形合同法。擬似乱数列を生成するアルゴリズムである。アルゴリズムは漸化式Xn+1=(A*Xn+B)Mod Mにて与えられる。A,B,Mは定数でM>A,M>B,A>0,B>0である。X0が乱数の種であり、これを決めると以降のX1,X2,...が再現可能な形で得られる。本発明ではM,A,Bは予め適当な値を決めておき、その情報を埋め込み側と検出側で共有する。乱数の種X0も適当な値を決めておいて、埋め込み側と検出側で共有しておけば良いが、本発明では暗号鍵に使った値をそのまま用いるのが簡単である。
(2)混合合同法。擬似乱数列を生成するアルゴリズムである。本アルゴリズムでは整数の初期値aと値b,cを決定し、ab+c=a’の式に代入する。求まったa’の中央からaと同じ桁だけ数を抜き出し乱数を得る。その後、再び上記の式のaに得られた乱数を代入する作業を繰り返して擬似乱数列を得る。初期値aが乱数の種となる。乱数の種は適当な値を決めておいて、埋め込み側と検出側で共有しておけば良いが、本発明では暗号鍵に使った値をそのまま用いるのが簡単である。
6.発明の構成要素のバリエーション
ここでは請求項2、5に係る発明の実施例を説明する。デジタルカメラの中には光学部と電子回路部を一体化したカメラモジュールを使用して製造しているものがあり、光学部で受光した映像はカメラモジュールからJPEGフォーマットデータとして出力される。この場合、JPEG符号化途中のDCT係数を外へ取り出すことはできない。請求項2、5はこのようなカメラモジュールを使用しているデジタルカメラに本発明を適用するための構成である。カメラモジュールからDCT係数を取り出せないため、JPEGフォーマットデータを受け取り、それをJFIF形式からのデータ整形とエントロピー復号を行ってDCT係数を得る。この構成変更により、請求項1、4と同じようにDCT係数を変更することが可能となる。
以下、この実施例を図19、図20と共に説明する。図19は、本発明を適用した透かし埋め込み付きJPEG符号化装置の構成の他の例を示している。図19において、111は埋め込み対象のデジタル映像を入力する映像入力手段である。
112は映像をJPEG符号化するJPEG符号化手段であり、前記入力映像に対して、通常のJPEG符号化工程におけるYCbCr変換処理、ダウンサンプリング処理、DCT処理、DCT係数量子化処理、エントロピー圧縮処理およびJFIF形式への整形処理(すなわち図1(a)のステップS12〜S17の処理)を行う。
113は、前記JPEG符号化手段112からJPEGフォーマットデータを受け取り、それをJFIF形式からデータ列へ整形し、エントロピー復号処理してDCT係数を得るデータ整形・エントロピー復号手段である。
114は、前記入力映像に埋め込む電子透かしデータを入力する電子透かしデータ入力手段である。
115は、前記入力された電子透かしデータを、所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとする電子透かしデータ誤り検出符号化手段である。
116は、前記誤り検出符号データを所定の暗号化方法により暗号化済み符号データとする暗号化手段である。
117は、前記暗号化済み符号データを埋め込む色成分を選択する色成分選択手段である。
118は、前記選択した色成分のDCTブロックを暗号化済み符号データのbit数と同じ個数ずつのグループに分割し、余りのDCTブロックはそれらだけで1グループとするDCTブロックグループ分割手段である。
119は、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段である。
120は、所定の乱数発生手段121から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段である。
122は、前記暗号化済み符号データのbit0を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が偶数になるように、暗号化済み符号データのbit1を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が奇数になるように、量子化係数絶対値の最大値に−K,0,K(Kは任意の正奇数)のいずれかを加え、前記余りグループのDCTブロックには所定の0と1からなるパターンを埋め込む暗号化済み符号データ埋め込み手段である。
123は、前記埋め込み完了後の量子化係数を通常のJPEG符号化工程におけるエントロピー圧縮処理と同様に圧縮するエントロピー圧縮手段である。
124は、前記圧縮されたデータを所定のJPEGフォーマットに適合するように整形するJFIF形式整形手段である。
図19に記載の前記各手段111〜124の各機能は、例えばコンピュータによって達成される。
次に図19の装置で行われる処理手順を図20のフローチャートとともに説明する。まず映像入力ステップ(ステップS111)により埋め込み対象のデジタル映像を得る。
次にステップS112において、通常のJPEG符号化の工程と同じ処理(図1(a)のステップS12〜S17)を進め、JPEGフォーマットデータとして出力する。
次にデータ整形・エントロピー復号ステップ(ステップS113)では、前記JPEGフォーマットデータを、JFIF形式からデータ列へ整形し、エントロピー復号を行ってDCT係数を得る。
次に、電子透かしデータ入力ステップ(ステップS114)により得られた電子透かしデータを、前記図3のステップS33と同様に処理する。
次に透かしデータ誤り検出符号化ステップ(ステップS115)では、前記電子透かしデータを、前記図3のステップS34で述べた誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとする。
次に暗号化ステップ(ステップS116)では、前記誤り検出符号化された512bitのデータを、前記図3のステップS35で述べた方法により暗号化して暗号化済みデータを生成する。
次に色成分選択ステップ(ステップS117)では、前記暗号化済み符号データを埋め込む色成分を前記図3のステップS36で述べた方法により選択する。
次にDCTブロックグループ分割ステップ(ステップS118)では、前記図3のステップS37で述べた方法により映像中のDCTブロックのグループ分割を行う。
次に暗号化符号データ埋め込みステップ(ステップS122)では、前記図3のステップS41で述べた方法により、各グループに属するDCTブロックへ暗号化符号データを埋め込む。
そして、全てのグループについて暗号化済み符号データbitの埋め込みが終了したら、その後は通常のJPEG符号化の工程(図1(a)のステップS16,S17)と同様にエントロピー圧縮ステップ(ステップS123)と所定のJFIF形式に適合するようデータ整形ステップ(ステップS124)を実行しJPEG映像として出力する。
また、本実施形態の改ざん検出用電子透かし埋め込み装置、電子透かしを用いた改ざん検出装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態の改ざん検出用電子透かし埋め込み方法、電子透かしを用いた改ざん検出方法における各手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばFD(Floppy(登録商標) Disk)や、MO(Magneto−Optical disk)、ROM(Read Only Memory)、メモリカード、CD(Compact Disk)−ROM、DVD(Digital Versatile Disk)−ROM、CD−R、CD−RW,HDD,リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
本発明で採用する通常のJPEG符号化とJPEG復号化の処理を示すフローチャート。 本発明の改ざん検出用電子透かし埋め込み装置の一実施形態例を示す構成図。 本発明の改ざん検出用電子透かし埋め込み方法の一実施形態例を示すフローチャート。 本発明の実施形態例における量子化係数の例を示す説明図。 本発明の実施形態例におけるDCTブロックグループ分けの一例を示す説明図。 本発明の実施形態例におけるDCTブロックグループ分けの他の例を示す説明図。 図3のステップS41で実行される暗号化符号データ埋め込み処理を示すフローチャート。 図7のステップS52で実行される最大値M1の選択処理を示すフローチャート。 本発明の実施形態例における逆ジグザグスキャンの様子を示す説明図。 本発明の実施形態例における最大値を飛ばしたラスタースキャンの様子を示す説明図。 図7のステップS54で実行される最大値M1の調整処理を示すフローチャート。 本発明の電子透かしを用いた改ざん検出装置の一実施形態例を示す構成図。 本発明の電子透かしを用いた改ざん検出方法の一実施形態例を示すフローチャート。 図13のステップS88で実行される誤り検出符号データ検出処理を示すフローチャート。 本発明の実施形態例における、復号の結果、誤りが無い場合を示す説明図。 本発明の実施形態例における、改ざん箇所の表示の様子を示す説明図。 本発明の実施形態例における、埋め込みデータのフォーマットの構成を示す説明図。 本発明の実施形態例における、偶数行パリティビット付加の様子を示す説明図。 本発明の改ざん検出用電子透かし埋め込み装置の他の実施形態例を示す構成図。 本発明の改ざん検出用電子透かし埋め込み方法の他の実施形態例を示すフローチャート。
符号の説明
31,111…映像入力手段、32,112…JPEG符号化手段、33、114…電子透かしデータ入力手段、34、115…電子透かしデータ誤り検出符号化手段、35、116…暗号化手段、36、83、117…色成分選択手段、37、84,118…DCTブロックグループ分割手段、38、85、119…最大値選択手段、39、86、120…基準値選択手段、40、87、121…乱数発生手段、41、122…暗号化済み符号データ埋め込み手段、42、123…エントロピー圧縮手段、43、124…JFIF形式整形手段、81…JPEG符号化映像データ入力手段、82、113…データ整形・エントロピー復号手段、88…最大値と基準値の差からビットデータを得る手段、91…JPEG復号手段、92…誤り発生箇所重畳表示手段。

Claims (10)

  1. 映像をJPEG符号化すると同時に改ざん検出用電子透かしを埋め込むシステムにおいて、
    映像入力手段が映像を入力するステップと、
    JPEG符号化手段が、前記入力映像に対して、通常のJPEG符号化工程におけるYCbCr変換処理、ダウンサンプリング処理、DCT処理およびDCT係数量子化処理を行うステップと、
    電子透かしデータ入力手段が、埋め込む電子透かしデータを入力するステップと、
    電子透かしデータ誤り検出符号化手段が、前記入力された電子透かしデータを所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとするステップと、
    暗号化手段が、前記誤り検出符号データを所定の暗号化方法により暗号化済み符号データとするステップと、
    色成分選択手段が、前記暗号化済み符号データを埋め込む色成分を選択するステップと、
    DCTブロックグループ分割手段が、前記選択した色成分のDCTブロックを暗号化済み符号データのbit数と同じ個数ずつのグループに分割し、余りのDCTブロックはそれらだけで1グループとするステップと、
    最大値選択手段が、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶステップと、
    基準値選択手段が、所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶステップと、
    暗号化済み符号データ埋め込み手段が、前記暗号化済み符号データのbit0を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が偶数になるように、暗号化済み符号データのbit1を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が奇数になるように、量子化係数絶対値の最大値に−K,0,K(Kは任意の正奇数)のいずれかを加える暗号化済み符号データ埋め込みステップと、前記余りグループのDCTブロックには所定の0と1からなるパターンを前記暗号化済み符号データ埋め込みステップと同じ方法で埋め込む余りグループデータ埋め込みステップと、
    JPEG符号化手段が、前記埋め込み完了後の量子化係数を通常のJPEG符号化工程と同様にエントロピー圧縮し、所定のJPEGフォーマットに適合するように整形してJPEG符号化を完了させるステップとを備えることを特徴とする改ざん検出用電子透かし埋め込み方法。
  2. 前記通常のJPEG符号化工程におけるYCbCr変換処理、ダウンサンプリング処理、DCT処理およびDCT係数量子化処理を行うステップと、前記埋め込む電子透かしデータを入力するステップとの間に、
    JPEG符号化手段が、前記量子化係数を圧縮し所定のJPEGフォーマットに適合するよう整形するステップと、
    データ整形・エントロピー復号手段が、前記JPEGフォーマットに対してデータ整形およびエントロピー復号を行ってDCT係数値を得るステップとを実行することを特徴とする請求項1に記載の改ざん検出用電子透かし埋め込み方法。
  3. 請求項1又は2に記載の改ざん検出用電子透かし埋め込み方法によって改ざん検出用電子透かしが埋め込まれ、JPEG符号化された映像から、電子透かしを検出して映像が改ざんされたかどうかを調べるシステムにおいて、
    映像入力手段が、前記JPEG符号化映像を入力するステップと、
    JPEG復号化手段が、前記入力されたJPEG符号化映像に対して、通常のJPEG復号化工程におけるデータ整形処理およびエントロピー復号処理を行うステップと、
    色成分選択手段が、前記誤り検出符号データが埋め込まれた色成分を選択するステップと、
    DCTブロックグループ分割手段が、前記選択した色成分のDCTブロックを前記暗号化済み符号化データのbit数と同じ個数ずつDCTブロックを含むグループに分割するステップと、
    最大値選択手段が、前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶステップと、
    基準値選択手段が、所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶステップと、
    最大値と基準値の差からビットデータを得る手段が、前記最大値と基準値の差が偶数なら0を、奇数なら1を各々出力するステップと、
    暗号復号化手段が、前記出力された0又は1を所定の暗号復号化の入力bitとして対応付け暗号復号化を行うステップと、
    誤り検出復号手段が、前記暗号復号化したデータに対し所定の誤り検出復号化を行い、誤りの有無と、誤り有りの場合は誤りの発生したDCTブロックを含むグループと、誤り無しの場合は埋め込まれた電子透かしデータとを得るステップと、
    JPEG復号化手段が、前記入力されたJPEG符号化映像を通常のJPEG復号化工程を行って映像とするステップと、
    表示手段が、前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属するDCTブロックの位置を目立つように表示するステップとを備えることを特徴とする電子透かしを用いた改ざん検出方法。
  4. 映像をJPEG符号化すると同時に改ざん検出用電子透かしを埋め込むシステムにおいて、
    映像を入力する映像入力手段と、
    前記入力映像に対して、通常のJPEG符号化工程におけるYCbCr変換処理、ダウンサンプリング処理、DCT処理およびDCT係数量子化処理を行うJPEG符号化手段と、
    埋め込む電子透かしデータを入力する電子透かしデータ入力手段と、
    前記入力された電子透かしデータを所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとする電子透かしデータ誤り検出符号化手段と、
    前記誤り検出符号データを所定の暗号化方法により暗号化済み符号データとする暗号化手段と、
    前記暗号化済み符号データを埋め込む色成分を選択する色成分選択手段と、
    前記選択した色成分のDCTブロックを暗号化済み符号データのbit数と同じ個数ずつのグループに分割し、余りのDCTブロックはそれらだけで1グループとするDCTブロックグループ分割手段と、
    前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段と、
    所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段と、
    前記暗号化済み符号データのbit0を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が偶数になるように、暗号化済み符号データのbit1を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が奇数になるように、量子化係数絶対値の最大値に−K,0,K(Kは任意の正奇数)のいずれかを加え、前記余りグループのDCTブロックには所定の0と1からなるパターンを埋め込む暗号化済み符号データ埋め込み手段と、
    前記埋め込み完了後の量子化係数を通常のJPEG符号化工程におけるエントロピー圧縮処理と同様に圧縮するエントロピー圧縮手段と、
    前記圧縮されたデータを所定のJPEGフォーマットに適合するように整形する整形手段とを備えることを特徴とする改ざん検出用電子透かし埋め込み装置。
  5. 映像をJPEG符号化すると同時に改ざん検出用電子透かしを埋め込むシステムにおいて、
    映像を入力する映像入力手段と、
    前記入力映像を通常のJPEG符号化工程によって符号化するJPEG符号化手段と、
    前記JPEG符号化手段により符号化されたJPEGフォーマットに対してデータ整形およびエントロピー復号を行ってDCT係数値を得るデータ整形・エントロピー復号手段と、
    埋め込む電子透かしデータを入力する電子透かしデータ入力手段と、
    前記入力された電子透かしデータを所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとする電子透かしデータ誤り検出符号化手段と、
    前記誤り検出符号データを所定の暗号化方法により暗号化済み符号データとする暗号化手段と、
    前記暗号化済み符号データを埋め込む色成分を選択する色成分選択手段と、
    前記選択した色成分のDCTブロックを暗号化済み符号データのbit数と同じ個数ずつのグループに分割し、余りのDCTブロックはそれらだけで1グループとするDCTブロックグループ分割手段と、
    前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段と、
    所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段と、
    前記暗号化済み符号データのbit0を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が偶数になるように、暗号化済み符号データのbit1を埋め込むDCTブロックであれば、当該DCTブロックの量子化係数の最大値と前記基準値の差が奇数になるように、量子化係数絶対値の最大値に−K,0,K(Kは任意の正奇数)のいずれかを加え、前記余りグループのDCTブロックには所定の0と1からなるパターンを埋め込む暗号化済み符号データ埋め込み手段と、
    前記埋め込み完了後の量子化係数を通常のJPEG符号化工程におけるエントロピー圧縮処理と同様に圧縮するエントロピー圧縮手段と、
    前記圧縮されたデータを所定のJPEGフォーマットに適合するように整形する整形手段とを備えることを特徴とする改ざん検出用電子透かし埋め込み装置。
  6. 請求項4又は5に記載の改ざん検出用電子透かし埋め込み装置によって改ざん検出用電子透かしが埋め込まれ、JPEG符号化された映像から、電子透かしを検出して映像が改ざんされたかどうかを調べるシステムにおいて、
    前記JPEG符号化映像を入力する映像入力手段と、
    前記入力されたJPEG符号化映像に対して、通常のJPEG復号化工程におけるデータ整形処理およびエントロピー復号処理を行う手段と、
    前記誤り検出符号データが埋め込まれた色成分を選択する色成分選択手段と、
    前記選択した色成分のDCTブロックを前記暗号化済み符号化データのbit数と同じ個数ずつDCTブロックを含むグループに分割するDCTブロックグループ分割手段と、
    前記分割された各グループに属するDCTブロックの量子化係数の中から絶対値が最大の値を選ぶ最大値選択手段と、
    所定の乱数発生手段から得られた乱数値に基き、前記量子化係数の絶対値最大のものを除いた量子化係数から1つの基準値を選ぶ基準値選択手段と、
    前記最大値と基準値の差が偶数なら0を、奇数なら1を各々出力する最大値と基準値の差からビットデータを得る手段と、
    前記出力された0又は1を所定の暗号復号化の入力bitとして対応付け暗号復号化を行う暗号復号化手段と、
    前記暗号復号化したデータに対し所定の誤り検出復号化を行い、誤りの有無と、誤り有りの場合は誤りの発生したDCTブロックを含むグループと、誤り無しの場合は埋め込まれた電子透かしデータとを得る誤り検出復号手段と、
    前記入力されたJPEG符号化映像を通常のJPEG復号化工程を行って映像とするJPEG復号化手段と、
    前記復号された映像と共に前記誤りの有無と誤りの発生したグループに属するDCTブロックの位置を目立つように表示する表示手段とを備えることを特徴とする電子透かしを用いた改ざん検出装置。
  7. コンピュータに請求項1又は2に記載の各ステップを実行させるための改ざん検出用電子透かし埋め込みプログラム。
  8. コンピュータに請求項3に記載の各ステップを実行させるための電子透かしを用いた改ざん検出プログラム。
  9. 請求項7に記載の改ざん検出用電子透かし埋め込みプログラムを記録したコンピュータ読み取り可能な記録媒体。
  10. 請求項8に記載の電子透かしを用いた改ざん検出プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2008173377A 2008-07-02 2008-07-02 改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体 Pending JP2010016529A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008173377A JP2010016529A (ja) 2008-07-02 2008-07-02 改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008173377A JP2010016529A (ja) 2008-07-02 2008-07-02 改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2010016529A true JP2010016529A (ja) 2010-01-21

Family

ID=41702231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008173377A Pending JP2010016529A (ja) 2008-07-02 2008-07-02 改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2010016529A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612898A (zh) * 2021-05-08 2021-11-05 上海大学 一种抗jpeg图像下采样的鲁棒隐蔽通信装置
CN117057971A (zh) * 2023-10-07 2023-11-14 湖北微模式科技发展有限公司 一种基于亮度收缩校准的jpeg图像半脆弱水印算法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612898A (zh) * 2021-05-08 2021-11-05 上海大学 一种抗jpeg图像下采样的鲁棒隐蔽通信装置
CN113612898B (zh) * 2021-05-08 2022-11-08 上海大学 一种抗jpeg图像下采样的鲁棒隐蔽通信装置
CN117057971A (zh) * 2023-10-07 2023-11-14 湖北微模式科技发展有限公司 一种基于亮度收缩校准的jpeg图像半脆弱水印算法及装置
CN117057971B (zh) * 2023-10-07 2023-12-29 湖北微模式科技发展有限公司 一种基于亮度收缩校准的jpeg图像半脆弱水印算法及装置

Similar Documents

Publication Publication Date Title
US7360093B2 (en) System and method for authentication of JPEG image data
Cem kasapbaşi et al. New LSB-based colour image steganography method to enhance the efficiency in payload capacity, security and integrity check
JP4625841B2 (ja) デジタルコンテンツセキュリティのためのシステムおよび方法
US7313696B2 (en) Method for authentication of JPEG image data
Li et al. Survey on JPEG compatible joint image compression and encryption algorithms
JP2004040246A (ja) 情報処理装置、情報処理方法
JP4261724B2 (ja) 署名データ生成装置及び画像検証装置
Singh et al. Toward encrypted video tampering detection and localization based on POB number system over cloud
Singh et al. An efficient fragile watermarking scheme with multilevel tamper detection and recovery based on dynamic domain selection
JP4948551B2 (ja) 電子透かし埋め込み検出方法とその装置、プログラム、記録媒体
JP4804556B2 (ja) 改ざん検出用電子透かしの埋め込み方法及び装置、並びにプログラム、電子透かしを用いた改ざん検出方法及び装置、並びにプログラム。
JP2003153228A (ja) 画像符号化装置及び画像復号化装置
US7493489B2 (en) System and method for authentication of JPEG image data
US7627761B2 (en) System for authentication of JPEG image data
JP2010016529A (ja) 改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体
EP3602478B1 (en) Video watermarking
Lien et al. High-capacity reversible data hiding by maximum-span pairing
JP4086103B2 (ja) 画像データ作成方法、改竄検出方法、画像データ作成装置、改竄検出装置、コンピュータプログラム、及び記録媒体
Ghadi et al. Enhancing digital image integrity by exploiting JPEG bitstream attributes
CN100544258C (zh) 信息处理方法和设备
Abdelsatir et al. A novel (k, n) secret sharing scheme from quadratic residues for grayscale Images
Haddad et al. A new joint watermarking-encryption-JPEG-LS compression method for a priori & a posteriori image protection
CN114465779A (zh) 一种可逆可分离的密文域信息隐藏方法及***
JP2010074490A (ja) 改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体
Maharjan et al. A novel secure solution of using mixed reality in data transmission for bowel and jaw surgical training: markov property using SHA 256

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100608