JP2010245876A - 改ざん検出用電子透かしの埋め込み方法及び装置、並びにプログラム、電子透かしを用いた改ざん検出及び装置、並びにプログラム。 - Google Patents

改ざん検出用電子透かしの埋め込み方法及び装置、並びにプログラム、電子透かしを用いた改ざん検出及び装置、並びにプログラム。 Download PDF

Info

Publication number
JP2010245876A
JP2010245876A JP2009093001A JP2009093001A JP2010245876A JP 2010245876 A JP2010245876 A JP 2010245876A JP 2009093001 A JP2009093001 A JP 2009093001A JP 2009093001 A JP2009093001 A JP 2009093001A JP 2010245876 A JP2010245876 A JP 2010245876A
Authority
JP
Japan
Prior art keywords
value
dct block
dct
data
error
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.)
Granted
Application number
JP2009093001A
Other languages
English (en)
Other versions
JP4804556B2 (ja
Inventor
Atsushi Katayama
淳 片山
Akira Kitahara
亮 北原
Harumi Kawamura
春美 川村
Hideki Koike
秀樹 小池
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 JP2009093001A priority Critical patent/JP4804556B2/ja
Publication of JP2010245876A publication Critical patent/JP2010245876A/ja
Application granted granted Critical
Publication of JP4804556B2 publication Critical patent/JP4804556B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】画質劣化を抑えつつ改ざんを検出する技術を提供する。
【解決手段】撮影画像に通常のJPEG符号化のDCT係数の量子化までを施す(S22〜S25)。電子透かしデータのbit数を冗長化した誤り検出符号化とし(S27)、誤り検出符号化データを暗号化する(S28)。DCTブロックを暗号化済み符合データのbit数と同一個数のグループに分割する(S29)。各DCTブロック内の量子化係数を変調させて暗号化済み符合データを埋め込む(S30)。通常のJPEG符号化のエントロピー圧縮・JFIF形式への整形を行う(S31.S32)。
【選択図】図3

Description

本発明はデジタル画像の処理技術に関し、特に改ざんを検出するための電子透かし埋め込み、該電子透かしを用いて改ざんを検出する技術に関する。
近年、デジタルカメラやカメラ付き携帯電話機の普及により、誰もが手軽にデジタル写真を撮影できるようになった。デジタルカメラやカメラ付き携帯電話機でのデジタル画像の保持方式はその圧縮率の高さと画質のトレードオフ性が良好であることから、JPEG符号化形式がデファクトスタンダードとなっている。一部の機種ではJPEG2000符号化や非圧縮画像形式で保持することができるものもあるが、最も普及しているのはJPEG符号化方式である。
そして、デジタルカメラ、特にカメラ付き携帯電話機は手軽に撮影可能なため、これを用いて撮影したデジタル画像を動産担保の証拠としたり、交通事故の証拠としたり、建築現場での工程証明としたり、ゴミ処理場で正しく処理した証明としたりしたいというニーズがある。また、デジタルカメラではないが類似するものとしてはドライブレコーダーがあり、撮影された映像(画像列)は交通事故の参考証拠として用いられる。
ところが、デジタル画像は編集が容易であるという性質があるために、改ざんされていないかを証明するのが難しく、法律上は参考証拠に留まっており、決定的な証拠にはなり得ないおそれがある。そこで、証拠性を高めるために、デジタル画像に電子透かしを付加し、電子透かしが壊れずに入っているか否かで、画像の信憑性を高める技術が特許文献1で提案されている。
特開平10−308943
三谷政昭著 "やり直しのための工業数学,情報通信と信号解析・暗号,誤り訂正符号,積分変換" 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 "SECURE HASH STANDARD",Federal Information Processing Standards Publication 180−2,August 1 2002 結城浩著 "暗号技術入門" ソフトバンククリエイティブ株式会社,ISBN4−7973−2297−7
しかしながら、特許文献1の方法では、量子化係数のゼロラン部直前に値の大きな透かしデータを埋め込むため、透かし埋め込みによる画質劣化が大きくなるおそれがある。このように画質劣化が大きいと証拠写真としての信憑性が下がるため望ましくない
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、画質劣化を抑えつつ改ざんを検出する技術を提供することを解決課題とする。
本発明に係る改ざん検出技術は、検出用の電子透かしを画像に埋め込む装置と、該電子透かしを用いて画像の改ざんを検出する装置とをコンビネーションとして利用する。ここではJPEG符号化・復号化の原理が密接に関連する。
JPEG符号化は、図1(a)に示すように、入力画像(S01)をYCbCr変換し(S02)、Cb(青系統の色相・彩度を表す信号),Cr(赤系統の色相・彩度を表す信号)のダウンダンプリング(S03)した後に、サンプリング画素(8×8画素)のブロック単位で離散コサイン変換(DCT:Discrete Cosine Transform)を行う(S04)。
この変換データを量子化によって情報を落としてから(S05)、ハフマン符号によるエントロピー符号化がなされ圧縮が行われ(S06)、JFIF形式に整形される(S09)。
JPEG復号化は、図1(b)に示すように、入力されたJPEG画像(S11)をJFIF形式からデータ列へ整形し(S12)、エントロピー復号化(S13)後に逆量子化される(S14)。この後に逆DCTを施し(S15)、必要があれば色空間変換が行われる(S16)。
本発明では、入力画像を8×8サンプリング画素のブロック(DCTブロックと呼ぶ)に分けるときに、各々のブロックに1bitを割り当てて、電子透かしデータを誤り検出符号化かつ暗号化したbitを埋め込む。
このとき電子透かしデータのbitは直接DCTブロックへは対応させずに、一度誤り検出符号化して冗長性を持たせてから対応させる。このように誤り検出符号を用いることにより、何も埋め込んでいないのに偶然埋め込んだことと同じ結果が得られることを防ぎ、また復号時に元の電子透かしデータを知ることなく誤り(改ざん)の有無を知得する効果が得られる。
また、画像に含まれるDCTブロックの総数は一般に大きい(VGA画像の輝度成分で4800個以上)ので、DCTブロックをグループに分けて1グループ中で独立に誤り検出符号化するようにする。これにより誤りがあった場合はその誤りが含まれるグループを特定でき、誤り(改ざん)の場所を知るという効果が得られる
さらに、DCTブロック内の量子化係数の変調方法では、量子化係数の絶対値の最大値Aと、乱数発生手段から得た乱数と量子化係数をハッシュ処理した値とから所定の演算を経て得られる値Bを用いる。
ここではAに「−K」、「0」、「K(K=任意の正奇数)」を加算することでBとの差分の偶奇を調整する。これにより元々値の大きい係数Aに小変分のみが与えられるため、量子化係数の変化が少なく、埋め込み後の美観に与える影響が最小限に抑えられる。DCTブロック内の量子化係数を変調する方式は、非特許文献1のものも含めて複数あるが、いずれも変調による量子化係数の変化が大きく、美観的には不利となる。
本発明によれば、画質劣化を抑えつつ電子透かしを埋め込んで、改ざんを検出することができる。
(a)は通常のJPEG符号化のチャート図、(b)は通常のJPEG復号化のチャート図。 本発明の実施形態に係る改ざん検出用電子透かしの埋め込み装置の構成図。 同 全体処理のチャート図。 同 DCTブロックのブループ分割を示すフローチャート。 同 DCTブロックへ暗号化符号化データを埋め込む処理を示すフローチャート。 同 絶対値の最大値Aの選択処理を示すフローチャート。 同 B値の算出処理を示す概略図。 同 埋め込みビットにより最大値Aの調整を示すフローチャート。 同 量子化係数の一例図。 同 偶数行パリティビットの付加の一例図。 同 DCTブロックグループ分けの一例図。 図9の逆ジグザグスキャンを示す一例図。 図9のラスタースキャンを示す一例図。 本発明の実施形態に係る改ざん検出装置の構成図。 同 DCTブロックから暗号化済み符合データを検出する処理を示すフローチャート。 誤りが検出されなかった状態を示す一例図。 改ざん箇所の表示状態を示す一例図。 埋め込みデータのフォーマット例を示す図。 検出用電子透かしの埋め込み装置の他例の構成図。 同 全体処理のチャート図。
以下、図面に基づき本実施形態に係る電子透かしの埋め込み装置と電子透かしを用いた改ざん検出装置とを説明する。ここではデジタル映像(Motion JPEG)を処理対象とする。
1.電子透かしの埋め込み装置
図2は、本発明の実施形態に係る改ざん検出用電子透かしの埋め込み装置を示している。この埋め込み装置1は、例えばデジタルカメラ,デジタルビデオカメラ,カメラ付き携帯電話などのデジタル映像記録装置に内蔵されたコンピュータで構成されている。
ここでは前記埋め込み装置1は、前記映像記憶装置の映像取得手段2が撮影した映像、即ちフレーム画像列をJPEG符号化すると同時に改ざん検出用の電子透かしを埋め込んでいる。この映像取得手段2は、例えばCCDやCMOSなどの光学部(光学センサ)で構成されている。
具体的には、前記埋め込み装置1は、コンピュータのハードウェアリソース(例えば画像処理プロセッサなど)とソフトウェアリソース(OSやアプリケーション)との協働の結果、前処理手段3,電子透かし入力手段4,電子透かし誤り訂正符号化手段5,暗号化手段6,DCTブロックグループ分割手段7,最大値Aの選択手段8,B値算出手段9,乱数発生器10,暗号化済み符号データ埋め込み手段11,最終DCTブロック演算値ヘッダー保存手段12,エントロピー圧縮手段13,JFIF形式整形手段14として機能する。
前記前処理手段3には、前記映像取得手段2の撮影したフレーム画像列が伝送される。ここで伝送される各フレーム画像は、前記光学部から出力されたアナログデータをA/D変換したデジタルデータとする。このとき前記前処理手段3は、各フレーム画像に対して、通常のJPEG符号化のDCT係数量子化までの処理を行う。
前記電子透かし入力手段4には、前記各フレーム画像に埋め込む電子透かしデータ(例えばカレンダーの日付など)を入力するためのボタン(キー)などが該当する。
前記電子透かし誤り訂正符号化手段5は、入力された前記電子透かしデータを所定の誤り検出符号化方法によりデータに冗長性を付与し誤り検出符号データとする。前記暗号化手段6は、前記誤り検出符号化データを所定の暗号化手法により暗号化済み符号データとする。
前記DCTブロックグループ分割手段7は、前記各フレーム画像を構成するY,Cb,Crの3種類の色成分のDCTブロックを暗号化済み符号化データのbit数と同じ個数ずつのグループに分けるものとする。
前記最大値Aの選択手段8は、各グループの1つのDCTブロックの量子化係数の中から絶対値が最大のA値を選択する。前記B値算出手段9は、乱数発生手段10から得られた乱数値と、各DCTブロックの量子化係数を連結した数値のハッシュ値とから演算した結果に基づくB値を算出する。
前記暗号化済み符号データ埋め込み手段11は、A値に−K,0,K(Kは任意の正奇数)のいずれかを加える暗号化済み符号データ埋め込む。ここではDCTブロックに暗号化済み符号データの「bit 0」を埋め込むときには、当該DCTブロックのA値とB値との差が偶数になるようにする。一方、DCTブロックに暗号化済み符号データの「bit 1」を埋め込むときには、当該DCTブロックの値Aと値Bとの差が奇数になるようにする。
前記最終DCTブロック演算値ヘッダー保存手段12は、(最終グループ番号−1)グループの最終DCTブロックのA値変更済の係数を連結した数値のハッシュ値と、該最終DCTブロックのひとつ前のDCTブロック係数値を演算した値との排他的論理和を取り、その結果を所定の暗号化方法により暗号化した値をJPEGフォーマットのヘッダー内におけるコメント欄に保存する。
前記エントロピー圧縮手段13と前記JFIF形式整形手段14とは、埋め込み完了後の量子化係数を通常のJPEG符号化工程と同様に、エントロピー圧縮・JPEGフォーマットに適合するように整形し、JPEG符号化を完了させる。以下、図3のチャート図に基づき前記埋め込み装置1の具体的な処理内容を説明する。
S21〜S25:前記映像取得手段2にて対象を撮影すると(S21)、撮影映像のフレーム画像が連続的に前記前処理手段3に伝送される。ここでは前記前処理手段3は、各フレーム画像に対して通常のJPEG符号化の工程と同じ処理を進める。すなわち、デジタル映像の各フレーム画像にYCbCr変換(S22)とダウンサンプリング(S23)とDCT(S24)を経てDCT係数の量子化(S25)までを実行する。
この量子化(S25)後は、図9に示すように、各DCTブロック内では「8×8=64個」の量子化係数が存在する状態になる。ここでは量子化係数はY,Cb,Crの色成分毎に存在する。
また、前記ダウンサンプリング(S23)の際には、Y成分(輝度信号)よりCb(青系統の色相・彩度を表す信号),Cr成分(赤系統の色相・彩度を表す信号)の方を粗くサンプリングするのが一般的であるので、DCTブロックの数はY成分が最も多くなる。Y,Cb,Crのいずれの場合であっても、DCTブロックの中には8×8の量子化係数が含まれる。
S26:前記電子透かし入力手段4により電子透かしデータを取得する。取得した電子透かしデータは、S27.S28にて処理が施される。ここでは一例として電子透かしデータは、448bitであるとする。この448bitというのは任意に決定可能であり、S27の誤り検出符号化により冗長化した結果のbit数が、S29の分割された1グループ内のDCTブロック数と同じになる条件下で任意に選び得る。
S27:前記透かしデータ誤り検出符号化手段5は、電子透かしデータに冗長性を付与するために、誤り検出符号化を施す。ここでは誤り検出符号に偶数行パリティを選択した事例を説明する。
すなわち、図10に示すように、電子透かしデータの448bitを7列64行に並べ、各行の末尾に偶数パリティbitを1個付加する。偶数パリティbitとは、パリティbitを含めた各行の8個のデータbitの中で1となる個数が偶数個となるようにパリティbitの値を1か0に定める方法である。
各行に偶数パリティbitを付加した結果、誤り検出符号化されたデータは64個のパリティbitが加わり全体で448+64=512bitとなる。誤り検出符号は偶数行パリティに限らず、これ以外の検出符号(非特許文献1参照)を用いてもよい。
S28:前記暗号化手段6では、誤り検出符号化された512bitのデータを暗号化して、512bitの暗号化済み符号データを生成する。ここでは一例として暗号にcamellia暗号(非特許文献2参照)を用いる。
Camellia暗号は、128bitのブロック暗号であり、128bitのデータの並びを別の128bitのデータの並び(暗号化済み符号化データ)に変換する。変換するときには、128/192/256bitの暗号鍵を必要とする。暗号化済み符号化データを復号して元のデータ符号を得るには、暗号化時と同じ暗号鍵を使ってcamellia復号処理を行う。Camellia暗号は、128bitのブロック暗号であるので、512bitの誤り検出符号を暗号化する場合は512/128=4回の処理を必要とする。暗号化方法はcamellia暗号に限らず、これ以外の暗号方法を用いてもよい。
S29:前記DCTブロックグループ分割手段7は、画像フレーム中のDCTブロックのグループ分割を行う。グループ分割の処理手順を図4のフローチャートに基づき説明する。
ここでは、まずY色成分とCb色成分とCr色成分のDCTブロックをこの順番につなげて1列に並べる(S41)。つぎに、この列の若い方から数えて暗号化済み符号化データのbit数(ここでは512)ずつDCTブロックを取り出し第1グループとする(S42〜S45)。
このときグループには先頭の512個を第1グループ、次の512個を第2グループと連続したグループ番号を付与する。最後に512個に満たないDCTブロックが残った場合はそれらを最終グループとする(S46)。グループ分けの様子を図11に示す。
S30:各グループに含まれるDCTブロックへ暗号化済み符号データを埋め込む。ここでは暗号化済み符号データ埋め込みは、グループ毎に独立して行なわれる。図5のフローチャートに基づき具体的な処理内容を説明する。この処理は全DCTブロックが終了するまで行われるものとする(S51)。
(1)絶対値の最大値A選択(S52)
まず、前記最大値選択手段8は、64個の量子化係数の中から絶対値の最大値Aを探索する。ここでは量子化係数は、図9に示すように、8×8の正方形に並んでおり、左上が直流成分であり右下に行くほど高周波成分を表す。絶対値の最大値が複数個ある場合は次のようにして定める。
すなわち、最大値が複数ある場合は、図12の逆ジグザグスキャン(通常のJPEGのジグザグスキャンの逆順)の順序で最初に出現したものを最大値とする。ここで同値のものがあった場合、逆ジグザグスキャンで先に出現したものを採用する理由は、透かし埋め込みに用いる量子化係数をなるべく高周波成分側に持って行き、目立ちにくくするためである。このように選んだ最大値をAとする。
このアルゴリズムをフローチャートにしたものを図6に示す。ここではA=0を初期値として(S61)、量子化係数を逆ジグザグスキャンにより進み係数αを取得する(S62)。
つぎに、|α|>Aが成立するか否かを確認する(S63)。成立する場合にはA=|α|として(S64)、量子化係数を全スキャンしたか否かを確認し(S65)、全スキャンが完了している場合には最大値A=|α|として処理を終了する。
一方、全スキャンしていない場合にはS62に戻って逆ジグザグスキャンを再開する。このときAの値が更新されているため(S64)、次回以降のスキャンで同値の量子化係数αが読み取られても、S63の|α|>Aが成立することはなく、そのままS65の確認処理に進む。これにより逆ジグザグスキャンの順序で最初にスキャンされた量子化係数αが最大値Aとされる。
(2)B値の算出(S53)
前記B値算出手段9のB値算出方法を図7に示す。B値は、各DCTブロックにつき1個算出する。Bの値は0か1を取る。ここではB値を算出するために、乱数発生器10から得られた乱数のハッシュ値を用いる(非特許文献5 p.162〜p.175参照)。ハッシュ関数により算出されるハッシュ値のbit長をHとする。Hは使用するハッシュ関数により異なるが、ここでは一例としてSHA−1ハッシュ関数(非特許文献4.非特許文献5のp.176〜p.184参照)を用いるので、H=160とする。なお、SHA−1以外のハッシュ関数を用いてもよい。
具体的には、第1番目のDCTブロックのBの値は、図7に示すように、前記乱数発生器10により発生した乱数のハッシュ値の最下位bitとする。また、第n番目のDCTブロックのB値は、ひとつ前(n−1)のB値算出に使用した160bitのハッシュ値と、ひとつ前(n−1)のブロックにS54のA値調整を加えた後のDCT係数をラスタースキャン(図13参照)順に並べた数値のハッシュ値とのbit毎に排他的論理和(XOR)を取った値を、最下位bitから数えて第n番目のbit値とする。
このときDCTブロック個数(n)が、乱数のハッシュ値bit長Hより大きい場合は「n≦H」となるまでnからHを減じた値を用いる。例えば、DCTブロック個数nが160を越える場合に、第160bitまでB値算出に使用したら次ブロック以降は最下位のbitに戻って算出するものとする。
また、前記ヘッダー保存手段12は、(最終−1)グループの最終DCTブロックのB値算出に使用した160bitのハッシュ値と、同ブロックの前記A値調整後のDCT係数をラスタースキャン順に並べた数値とのbit毎の排他的論理和(XOR)を取った値を、暗号化後にJPEGヘッダーのコメント欄に保存する。
この値には、128bitの倍数長となるように最下位bitの右側に「0」を付加(パディング)して加えられているものとする。また、暗号化は、誤り検出符号を暗号化した方法と同じ128bitブロック暗号方法および同じ暗号鍵を用いているものとする。
なお、前記乱数発生器10は、乱数の種(初期値)が同一ならば同じ乱数列が得られる方法、例えば線形合同法を用いる。もっとも、乱数発生方法は線形合同法に限らず、乱数の種を決定すれば出力される乱数列が決定論的に決まるような他の方法を使用してもよい。
(3)A値の調整(S54)
前記暗号化済み符号データ埋め込み手段11は、埋め込むbitによりA値を調整する。すなわち、S28で生成された暗号化済み符号データのbit「1」を埋め込むDCTブロックであれば「A−B=奇数」となるように調整する一方、該暗号化済み符号データのbit「0」を埋め込むDCTブロックであれば「A−B=偶数」となるようにAを調整する。
具体的には、A値の調整は、(イ)任意正奇数を減じる、(ロ)任意正奇数を加える、(ハ)何もしないかの三つの手法から選択するものとする。任意正奇数は、より小さい値を使う方が埋め込み後の美観は有利となる。図8のフローチャートに基づき前記調整方法の具体的処理内容を説明する。
最初に「A−B=偶数」が成立するか否かを確認する(S81)。例えば「A=15,B=0」の場合にデータ「1」を埋め込みたいとする。この場合には「A−B=15」で既に奇数であるから、S82に進む。ここでは「埋め込みビット=0」が確認される(S82)。この事例では「1」を埋め込みたいので、「(ハ)何もしない」が選択される。
「A=15,B=1」の場合には、「A−B=14」で偶数であるから、S83へ進む。S83でも「埋め込みビット=0」が確認される。ここでは「1」を埋め込みたいので、S84に進む。S84では「A≧0」が成立するか否か、即ちAの正負が確認される。この場合は正値であるので、「(ロ)任意正奇数を加える」が選択され、「A=A+1」の演算が行われる(S85)。この事例では、A=15+1=16に調整される。
また、「A=−18,B=1」の場合にデータ「0」を埋め込みたいとする。この場合は、「A−B=−19」で奇数であるから、S82に進む。ここでは「0」を埋め込みたいので、S84に進み、Aの正負が確認される。この場合は、Aが負値であるから、「(イ)任意正奇数を減じる」が選択され、「A=A−1」の演算が行われる(S86)。この事例では、A=−18−1=−19に調整される。もし、「A=−18,B=0」の場合は、「A−B=−18」で偶数なため、S81.S83に従って「(ハ)何もしない」が選択される。
このように前記暗号化済み符号データ埋め込み手段11が、第1グループ内の各DCTブロックに暗号済み符号データのbitを埋め込んだ後に、第2グループ〜(最終−1)グループまでについても同様に暗号済み符号データを埋め込む。ここで最終グループには第1グループと同じ値を埋め込み、足りないDCTブロックについては無視するものとする。暗号化済み符号データは、全てのグループで同じデータでもよく、また各グループで異なってもよい。暗号化済みデータが各グループで同じか、あるいは異なるかはアプリケーションの都合により決めてもよい。
S31.S32:S30にて全グループについて暗号化済み符号データbitの埋め込みが終了した後には、通常のJPEG符号化の工程と同様にエンピロー圧縮(S31)、JFIF形式に適合するようにデータ整形(S32)を実行し、JPEG列の映像として出力する。出力された映像はメモリカードなどの保存手段に記憶されるものとする。
ここで出力される映像は、電子透かしを量子化係数に埋め込むにあたって、S54に示すように、絶対値の最大な量子化係数Aに最小の正奇数(1.0.−1)が変数に与えられているにすぎないことから、美感を損ねることなく電子透かしが埋め込まれ、これにより画質劣化が最小限に抑えられ、証拠としての信憑性などが向上する。
このとき埋め込む電子透かしデータは、S28で暗号化されているばかりか、埋め込むアルゴリズム(S53.S54)にも乱数を利用して埋め込む数値を定めていることから、暗号化手段6の暗号鍵および乱数発生器10の初期値を知得していなければ、前記埋め込み装置1のアルゴリズムを熟知した者でも偽造することが難しい。
したがって、暗号鍵と乱数の初期値を秘密にしておけば、偽の映像を真正な映像と偽る攻撃を防ぐことができる。この場合に乱数により決まる埋め込み数値が画像の内容によっても変化するため、複数の埋め込み済み画像を解析して、前記埋め込み装置1の乱数生成パターンを推定して電子透かしを偽造しようとする攻撃者に対しても乱数生成パターンの推定を困難とさせる効果が生じる。
また、電子透かしを複数の色成分に埋め込むことにより、同一の画像位置に複数の電子透かしを埋め込み可能なため、前記埋め込み装置1の電子透かしを偽造しようとする攻撃者は、複数の色成分の電子透かしを両方とも矛盾のないように偽造する必要があり、この点でも偽造難易度が増加する。
2.改ざん検出装置
図14は、本発明の実施形態に係る改ざん検出装置を示している。この検出装置20は、前記埋め込み装置1で電子透かしを埋め込まれたJPEG画像列の改ざんの有無を検出する。
前記検出装置20は、前記映像記録装置に内蔵されていてもよく、また別個の装置、例えばパーソナルコンピュータ(PC)などにより構成してもよい。具体的には、前記検出装置20は、コンピュータのハードウェアリソース(例えば前記映像記憶装置の画像処理プロセッサや、パーソナルコンピュータのCPUなど)とソフトウェアリソース(OSやアプリケーション)との協働の結果、JPEG符号化映像データ入力手段21,前処理手段22,DCTブロックグループ分割手段6,最大値Aの選択手段8,B値の算出手段9,乱数発生手段10,ビットデータ取得手段23,暗号復号化手段24,比較手段25,誤り検出復号手段26,逆量量子化手段27,逆DCT手段28,色空間変換手段29,誤り発生箇所重畳表示手段30として機能している。
ここでは前記検出装置20のDCTブロックグループ分割手段7,乱数発生器10,暗号復号化手段24,誤り検出復号手段26は、前記埋め込み装置1で電子透かしを埋め込む際に使用したDCTブロックグループ分割形状、誤り検出符号化方法と暗号化方法とその暗号鍵、乱数発生方法と乱数発生の初期値のそれぞれの情報を既知なものとする。
このような前記検出装置20の検出処理手順を説明すれば、まず前記映像データ入力手段21は、前記メモリカードなどの保存手段に記憶されたJPEG列の映像を読み込んで取得する。ここで取得されたデジタル映像データは、前記前処理手段22を通じて通常のJPEG複号化工程を経る。すなわち、各JPEG画像フレームが、JFIF形式からデータ列に整形され、該データ列がエントロピー復号化され、DCTブロックの量子化係数まで変換される。
つぎに、前記DCTブロックグループ分割手段7により、埋め込み時と同一のDCTブロックのグループ分け(図11参照)が行われる。この各グループのDCTブロックについて、暗号化済み符号データのbit(1 or 0)を検出する。
この検出処理を図15のフローチャートに基づき説明する。この処理は各グループで独立に行われる。最初に前記最大値Aの選択手段8が、最初のDCTブロックについて64個の量子化係数値を吟味して絶対値の最大値Aを決める(S152)。このAを決める方法は埋め込み時(図6参照)と全く同じである。つぎにB値算出手段9が埋め込み時と同じ手法でB値を決める(S153)。このとき用いる乱数発生器10の構成と初期値は埋め込み時と同一とする。なお、前記各手段7〜10は、前記埋め込み装置1と同様な処理を実行するため、前記検出装置20を前記映像記録装置に内蔵する場合は前記埋め込み装置1と兼用してもよい。
前記ビットデータ取得手段23は、S152.S153で定めたAとBを吟味し(S154)、A−Bが偶数ならば「0」を取得する(S155)一方、A−Bが奇数なら「1」を取得する(S156)。このS152〜S156を全ブロックに施して検出処理を終了する(S151)。
そして、前記暗号符号化手段24は、S155.S156にて1グループ内の全てのDCTブロックから埋め込みbit(1 or 0)を取得(本例では全部で512bit)した後に、取得データに対して暗号の復号化を行う。この復号時には埋め込み時と同じ暗号方法および暗号鍵を用いる。これにより得られた512bitの復号化データ符号に対し、誤り検出復号手段26にて誤り検出復号化処理を行う。その結果、誤りの有無が検出され、誤りがなければ448bitの埋め込み透かしデータが得られる一方、誤りがあれば誤りを含むグループを示す情報が得られる。
第1グループの改ざん検出後に、第2グループ〜(最終−1)グループまで同一の処理手順で改ざん検出を行う。最終グループでは検出されたビット列の並びが第1グループと同一であるか否かを確認し、同一であれば誤りが無いものと判断する。最終グループはDCTブロック数が512個に満たないため、第1グループと比較する際に不足する分が生じるがそれは無視する。
また、前記比較手段25は、次の処理手順を実行する。すなわち、(最終−1)グループの最終DCTブロックのB値算出に使用した160bitのハッシュ値と同DCTブロックのDCT係数をラスタースキャン順に並べた数値とのbit毎の排他的論理和(XOR)を取った値を求める。
この値に128の倍数長となるように最下位bitの右側に「0」を付加(パディング)して加えた数値を、誤り検出符号を符号化した方法と同一の128bitブロック暗号方法および同一の暗号鍵により暗号化する。この暗号化後にJPEGヘッダーのコメント欄の数値と比較する。
また、前記コメント欄の数値を、誤り検出符号の符号化方法と同一の128bitブロック暗号方法および同一の暗号鍵により復号化し、前記排他的論理和の値と比較してもよい。
比較の結果が同一であれば誤りは無く、違っていれば(最終−1)グループに誤りがあると判別する。この処理は冗長ではあるが、(最終−1)グループの最終DCTブロックは偽造に対して最も脆弱なため、この処理により偽造耐性が頑健とされる。
その後に前記逆量子化手段27・前記逆DCT手段28にて、通常のJPEG復号化の手順と同様に各DCTブロックの量子化係数を逆量子化しDCT係数に戻し、それに対し逆DCTを行う。さらに前記色空間変換手段29にて色空間変換を行い映像とする。
したがって、前記検出装置20の処理手順によれば、誤り検出復号手段26にて検出された誤りの有無、誤りグループ、埋め込み透かしデータを用いて、以下のように改ざんの有無と改ざん場所を判別することができる。すなわち、図16に示すように、全てのグループから誤りが検出されなかった場合は、その映像は透かし埋め込み後からの改ざんは行われていないものと判断される。
一方、誤りが検出されたグループ内の映像は、改ざんされているものと判断される。この場合には、図17に示すように、グループを構成するDCTブロックが占めるエリア内のいずれかに改ざん可能性がある。
ここで透かしが壊れていることを誤り検出符号により検出した場合には、壊れた透かしデータが含まれる映像グループ(=映像範囲)が改ざんされたものと判断できる。これにより映像のどの場所が透かし埋め込み後に改ざんされたかを知る手段が提供される。
このように誤りが検出された箇所、即ち改ざんされた映像グループを前記重畳表示手段30にてモニタなどに出力するものとする。ここではJPEG復号化された映像に改ざんされたグループの位置をあらわす目印が重畳表示され、この点で改ざん箇所が容易に把握できる。
3.変形例(バリエーション)
本発明は、上記実施形態に限定されるものではなく、埋め込む電子透かしデータのbit数の多寡、誤り検出符号の種類、暗号化方法の種類、乱数発生方法の種類などを、以下の態様などに変更することで多種多様なバリエーションが得られる。なお、本発明はデジタル映像のみならず、静止画像にも適用することができる。
<埋め込み電子透かしデータbit数>
(1)S26の電子透かしデータのbit数は、誤り検出符号の面からすれば誤り検出符号が構成できる条件で任意の値を取り得る。例えば最小としたいのなら、データ1bitとパリティ1bitとなる。最大値の方は映像の大きさで決まる。例えば640×480画素のVGA画像を用いる場合は、Y成分とCb成分とCr成分を合わせたDCT個数は7200個であるから、この場合のデータbit数の最大値、誤り検出符号を加えて7200以下ということになる。
(2)暗号化方式の面からは、暗号化方式の選び方でbit数が制約を受ける。前述のようにcamellia暗号はブロック暗号と呼ばれ、128bit長を1ブロックとしたデータを、128bitの暗号化された符号データに変換する。この場合、誤り検出符号を加えたbit数はブロック長128の倍数であることが望ましい。ここで必須ではなく望ましい理由としては、128の倍数でなくても、bit数が足りない分は0か1のデータを付加(パディング)することにより128の倍数に出来るからである。もっとも、パディングにより無意味なデータを付加するよりは、何かしら意味のあるデータを付加した方がアプリケーション面では有利と言える。
(3)埋め込むデータを何にするかはアプリケーションに依存するが、例えば映像を証拠に利用する場合は、カメラ固有ID、撮影時刻(あればカメラ内時計より取得する)、撮影場所(GPS等により取得する)を埋め込んでもよい。また、改ざん場所を特定するためには、映像をグループ分けしたそれぞれのグループに0あるいは1から通し番号を振り、それを埋め込んでもよい。埋め込むデータフォーマットの例を図18に示す。埋め込むデータとフォーマットはこの例に限らずアプリケーションの要求により任意に設計し得る。
<誤り検出符号の種類>
(1)行パリティ
まず、S27で誤り検出符合に使用する行パリティを補足説明する。この行パリティは、最も簡単な誤り検出符号であり、図10に示すように、元bitデータを行列の形に並べ、各行にパリティbitを1bit付加したものである。偶数パリティならば、パリティbitも含めた各行の1の数が偶数個になるようにパリティbitを選択する。奇数パリティであれば、1の数が奇数個になるようにパリティbitを選択する。パリティbitを付加した分、全体のbit数が増える。詳細な説明では元データ448bitを64行に並べていたため、総bitは64bit増えて448+64=512bitとなる。行パリティと類似するものに列パリティがある。パリティの付加を列単位に行うことのみ異なり、他は行パリティと同じである。S27などの誤り検出符合には、列パリティのほかに次のものが使用できる。
(2)行列パリティ
行列パリティは、元bitデータを行列の形に並べ、各行と各列にパリティbitを付加したものである。垂直水平パリティとも呼ばれる。この行列パリティは、行パリティ・列パリティ単独よりも付加するパリティbitは増えるが、これを本発明に採用すれば、誤り検出の精度はより高くなる。
(3)ハミング符号
ハミング符号(非特許文献1 p47〜p53)によれば、元データbitをk個、検査bit(冗長bit)をm個とすると、2m−m≧k+1の関係となる。例えば総bit数が500bit程度と仮定するとm=9,k=502の組み合わせがある。すなわち、元データが502bitで、検査bitが9bit、総bitが511bitである。なお、ハミング符号は誤り検出だけでなく誤り訂正も可能であるが、本発明では誤り訂正機能を使用しない。
(4)巡回符号(CRC符号)
巡回符号(非特許文献1 p54〜p65)は、ハードウェア化しやすいという特徴を持つ。この巡回符号も誤り検出だけでなく誤り訂正が可能であるが、本発明では誤り訂正機能を使用しない。
(5)BCH符号
BCH符号(非特許文献1 p66〜p75)は、巡回符号の一種でランダム誤りの訂正能力が高い。もっとも、本発明では誤り訂正機能を使用しないため、BCH符号を採用するのは、既にBCH符号化モジュールが存在しており、それを流用することでコスト的な利点があるときに限られる。
(6)RS符号(リードソロモン符号)
RS符号(非特許文献1 p76〜p81)は、巡回符号の一種でバースト誤りの訂正能力が高い。もっとも、本発明では誤り訂正機能を使用しないため、RS符号を採用するのは、既にRS符号化モジュールが存在しており、それを流用することでコスト的な利点があるときに限られる。
<暗号化方法の種類>
まず、S28などの暗号化に使用されるcamellia暗号を補足説明する。Camellia暗号は共通鍵方式128bitブロック暗号であり、暗号化と復号化には共通の鍵を用いる。ここで128bitブロック暗号とは、128bitの元データを128bitの暗号化データに暗号化及び128bitの暗号化データを128bitの元データに復号化できることを示す。暗号化と復号化の際には共通鍵が必要である。共通鍵は128bit長、196bit長、256bit長のいずれかを使うことができる。鍵長が長いほど暗号強度(暗号の破られ難さ)が高い。S28などの暗号化には、camellia暗号に限られず、例えばAES暗号も使用することができる。
AES暗号(非特許文献3参照)は、共通鍵方式128bitブロック暗号であり、暗号化と復号化には共通の鍵を用いる。128bitブロック暗号とは128bitの元データを128bitの暗号化データに暗号化及び128bitの暗号化データを128bitの元データに復号化できることを示す。
暗号化と復号化の際には共通鍵が必要である。共通鍵は128bit長、196bit長、256bit長のいずれかを使うことができる。鍵長が長いほど暗号強度(暗号の破られ難さ)が高い。
<乱数発生方法の種類>
前記乱数発生器10に用いる線形合同法を具体的に説明する。線形合同法は、擬似乱数列を生成するアルゴリズムである。アルゴリズムは漸化式Xn+1=(A*Xn+B)mod Mにて与えられる。A,B,Mは定数でM>A,M>B,A>0,B>0である。X0が乱数の種であり、これを決めると以降のX1,X2,...が再現可能な形で得られる。前記乱数発生器10では、M,A,Bは予め適当な値を決めておき、その情報を埋め込み側と検出側で共有するものとする。乱数の種X0も適当な値を決めておいて、埋め込み側と検出側で共有しておけば良いが、前記乱数発生器10では暗号鍵に使った値をそのまま用いるのが簡単である。ここでは線形合同法以外に例えば混合合同法などが用いられる。
混合合同法は、擬似乱数列を生成するアルゴリズムである。このアルゴリズムでは整数の初期値aと値b.cを決定し、ab+c=a’の式に代入する。求まったa’の中央からaと同じ桁だけ数を抜き出し乱数を得る。その後、再び上記の式のaに得られた乱数を代入する作業を繰り返して擬似乱数列を得る。初期値aが乱数の種となる。乱数の種は適当な値を決めておいて、埋め込み側と検出側で共有しておけばよいが、前記乱数発生器10では暗号鍵に使った値をそのまま用いるのが簡単である。
<装置構成のバリエーション>
デジタルカメラなどのデジタル映像記憶装置には、前記画像取得手段2(光学センサなどの光学部)と電子回路とが一体化されたカメラモジュールを使用して製造されたタイプがある。この映像記憶装置によれば、前記画像取得手段2の光学部で受光した映像の各フレーム画像は、カメラモジュールからJPEGフォーマットデータとして出力される。この場合にはJPEG符号化途中(S22〜S25)のDCT係数を外へ取り出して加工を施すことできない。そこで、図19及び図20に示すように、前処理手段40のJPEGフォーマットデータ(S22〜S32の処理後)を前処理手段41に伝送し、該前処理手段41を通じてJFIF形式からのデータ整形・エントロピー復号(S33.S34)を行ってDCT係数を得る。以後は、図3のフローチャートと同様に図20のS26以降の処理ステップを実行する。この埋め込み装置1の構成変更によれば、図2の装置構成と同様にDCT係数を変更することが可能となる。
4.その他
本発明は、前記埋め込み装置1としてコンピュータを機能させるための改ざん検出用電子透かしの埋め込み用プログラムとしても構築することができる。このプログラムは、前記埋め込み装置1の各手段2〜14,2.4〜14.40.41の全部あるいは一部として機能させるものでもよい。このプログラムによれば、前記埋め込み装置1のS21〜S32.S41〜S46.S51〜S54.S61〜S65.S81〜S85などの各種処理の全部あるいは一部をコンピュータに実行させる。
また、本発明は、前記検出装置20としてコンピュータを機能させるための電子透かしを用いた改ざん検出用プログラムとしても構築することができる。このプログラムは、前記検出装置20の各手段21〜30の全部として機能させるものでよく、あるいはその一部として機能させるものでもよい。このプログラムによれば、S151〜S156などの各種処理の全部あるいは一部をコンピュータに実行させる。
前記各プログラムは、ウェブサイトや電子メールなどネットワークを通じて提供することができる。また、前記各プログラムは、CD−ROM,DVD−ROM,CD−R,CD−RW,DVD−R,DVD−RW,MO,HDD,Blu−ray Disk(登録商標)などの記録媒体に記録して、保存・配布することも可能である。この記録媒体は、記録媒体駆動装置(光学ドライブなど)を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。
1…改ざん検出用電子透かしの埋め込み装置
2…映像取得手段(撮影手段)
3.22.40.41…前処理手段
4…電子透かしデータ入力手段
5…誤り検出符号化手段
6…暗号化手段
7…DCTブロックグループ分割手段(グループ分割手段)
8…最大値Aの選択手段(最大値A選択手段)
9…B値算出手段(値B算出手段)
10…乱数発生器(乱数発生手段)
11…暗号化済み符合データ埋め込み手段(埋め込み手段)
12…最終ブロック演算値ヘッダー保存手段(ヘッダー保存手段)
13…エントロピー圧縮手段(圧縮手段)
14…JFIF形式整形手段(整形手段)
23…ビットデータ取得手段
24…暗号復号化手段
25…比較手段
26…誤り検出復号化手段
27…逆量子化手段
28…逆DCT手段
29…色空間変換手段
30…誤り発生箇所重畳表示手段

Claims (8)

  1. 撮影手段をもって撮影した画像をJPEG符号化すると同時に該撮影画像に改ざん検出用電子透かしを埋め込む方法であって、
    前処理手段が、前記撮影画像にYCbCr変換・ダウンダンプリング・離散コサイン変換・DCT係数の量子化を施し、各DCTブロック内に量子化係数が存在する状態に処理する第1ステップと、
    誤り符号化手段が、前記電子透かしデータのbit数に冗長化性を付与した誤り検出符号化データを生成する第2ステップと、
    暗号化手段が、前記誤り検出符号化データに暗号化を施した暗号化済み符合データを生成する第3ステップと、
    グループ分割手段が、前記各DCTブロックをY,Cb,Cr色成分に応じて、前記暗号化済み符合データのbit数と同一個数ごとのグループに分割する第4ステップと、
    最大値A選択・値B算出手段が、前記各DCTブロック内の量子化係数を変調させるために、前記各DCTブロック内の量子化係数のうち絶対値が最大の値Aを選択し、該値Aとの差を演算する値Bを乱数発生手段の乱数のハッシュ関数を用いて求める第5ステップと、
    埋め込み手段が、前記DCTブロックに埋め込む前記暗号化済み符合データのbit値(0 or 1)に応じて前記値A.Bの差の偶奇を調整するために、前記値Aに「−K,0,K」のいずれかを加算する第6ステップと、
    ヘッダー保存手段が、(最終番号−1)グループの最終DCTブロックの前記B値を算出するために用いたハッシュ関数のハッシュ値と、該DCTブロックに前記値Aの調整済みの量子化係数を連結した数値のハッシュ値との排他的論理和を演算し、該演算値を暗号化後にJPEGフォーマットのヘッダー内のコメント欄に保存する第7ステップと、
    圧縮・整形手段が、前記暗号済み符合データのbit値を埋め込んだ各DCTブロックの量子化係数を、エントロピー圧縮およびJFIF形式整形する第8ステップと、
    を有することを特徴とする改ざん検出用電子透かしの埋め込み方法。
  2. 撮影手段をもって撮影されたJPEGフォーマット画像に改ざん検出用の電子透かしを埋め込む方法であって、
    前処理手段が、前記JPEGフォーマット画像にJFIF形式からのデータ整形とエンピロー復号とを施し、各DCTブロックに量子化係数が存在する状態に処理する第1ステップと、
    誤り符号化手段が、前記電子透かしデータのbit数に冗長化性を付与した誤り検出符号化データを生成する第2ステップと、
    暗号化手段が、前記誤り検出符号化データを暗号化した暗号化済み符合データを生成する第3ステップと、
    グループ分割手段が、前記各DCTブロックをY,Cb,Cr色成分に応じて、前記暗号化済み符合データのbit数と同一個数ごとのグループに分割する第4ステップと、
    最大値A選択・値B算出手段が、前記DCTブロック内の量子化係数を変調させるために、前記各DCTブロック内の量子化係数のうち絶対値が最大の値Aを選択し、該値Aとの差を演算する値Bを乱数発生手段の乱数のハッシュ関数を用いて求める第5ステップと、
    埋め込み手段が、前記DCTブロックに埋め込む前記暗号化済み符合データのbit値(0 or 1)に応じて前記値A.Bの差の偶奇を調整するために、前記値Aに「−K,0,K」のいずれかを加算する第6ステップと、
    ヘッダー保存手段が、(最終番号−1)グループの最終DCTブロックの前記B値を算出するために用いたハッシュ関数のハッシュ値と、該DCTブロックに前記値Aの調整済みの量子化係数を連結した数値のハッシュ値との排他的論理和を演算し、該演算値をJPEGフォーマットのヘッダー内のコメント欄に暗号化して保存する第7ステップと、
    圧縮・整形手段が、前記暗号済み符合データのbit値を埋め込んだ前記各DCTブロックの量子化係数を、エントロピー圧縮およびJFIF形式整形する第8ステップと、
    を有することを特徴とする改ざん検出用電子透かしの埋め込み方法。
  3. 請求項1または2のいずれか1項に記載の方法をもって電子透かしを埋め込んだJPEG画像の改ざんを検出する方法であって、
    前処理手段が、入力されたJPEG符号化画像にJFIF形式からのデータ整形とエンピロー復号とを施し、各DCTブロックに量子化係数が存在する状態に処理する第1ステップと、
    グループ分割手段が、前記各DCTブロックをY,Cb,Cr色成分に応じて、前記電子透かしの埋め込み時に使用した暗号化済み符合データのbit数と同一個数ごとのグループに分割する第2ステップと、
    最大値A選択・値B算出手段が、前記DCTブロック内の量子化係数を前記電子透かしの埋め込み時と同様に変調させるために、前記各DCTブロック内の量子化係数のうち絶対値が最大の値Aを選択し、該値Aとの差を演算する値Bを乱数発生手段の乱数のハッシュ関数を用いて求める第3ステップと、
    ビットデータ出力手段が、前記各DCTブロックに埋め込まれた前記暗号化済み符合データのbit値(0 or 1)を前記値A.Bの差の偶奇に応じて取得する第4ステップと、
    暗号復号化手段が、前記第4ステップの取得値(0 or 1)に対して、前記暗号化済み符合データの埋め込み時と同一の暗号手法および暗号鍵を用いて暗号を復号化する第5ステップと、
    誤り検出復号化手段が、前記第5ステップで暗号復号化されたデータに誤り復号化処理を施し、誤りの有無・誤りの発生したDCTブロックを含むグループを検出する第6ステップと、
    ヘッダー保存値比較手段が、(最終番号−1)グループの最終DCTブロックの前記B値を算出するために用いたハッシュ関数のハッシュ値と、該DCTブロックに前記値Aの調整済みの量子化係数を連結した数値のハッシュ値との排他的論理和を演算する第7ステップと、
    ヘッダー保存値比較手段が、前記第7ステップの演算結果を前記JPEGフォーマットのヘッダー内におけるコメント欄の保存値と同一手法で暗号化し、該暗号化された前記演算結果と前記保存値とを比較することにより、(最終番号−1)グループの最終DCTブロックの誤りを検出する第8ステップと、
    逆量子化・逆DCT・色空間変換手段が、第8ステップ後に前記各DCTブロックの量子化係数を逆量子化してDCT係数に戻し、逆DCTと色空間変換を経てJPEG復号化する第9ステップと、
    誤り発生箇所表示手段が、前記第6ステップおよび前記第8ステップで検出した誤りの有無・誤りの発生したDCTブロックを含むグループの位置を表示させる第10ステップと、
    を有することを特徴とする電子透かしを用いた改ざん検出方法。
  4. 撮影手段をもって撮影した画像をJPEG符号化すると同時に撮影画像の改ざん検出用の電子透かしを埋め込む装置であって、
    前記撮影画像にYCbCr変換・ダウンダンプリング・離散コサイン変換・DCT係数の量子化を施し、各DCTブロック内に量子化係数が存在する状態に処理する手段と、
    前記電子透かしデータのbit数に冗長化性を付与した誤り検出符号化データを生成する手段と、
    前記誤り検出符号化データを暗号化した暗号化済み符合データを生成する手段と、
    前記各DCTブロックをY,Cb,Cr色成分に応じて、前記暗号化済み符合データのbit数と同一個数ごとのグループに分割する手段と、
    前記DCTブロック内の量子化係数を変調させるために、前記各DCTブロック内の量子化係数のうち絶対値が最大の値Aを選択し、該値Aとの差を演算する値Bを乱数発生手段の乱数のハッシュ関数を用いて求める手段と、
    前記DCTブロックに埋め込む前記暗号化済み符合データのbit値(0 or 1)に応じて前記値A.値Bの差の偶奇を調整するために、前記値Aに「−K,0,K」のいずれかを加算する手段と、
    (最終番号−1)グループの最終DCTブロックの前記B値を算出するために用いたハッシュ関数のハッシュ値と、該DCTブロックに前記値Aの調整済みの量子化係数を連結した数値のハッシュ値との排他的論理和を演算し、該演算値をJPEGフォーマットのヘッダー内のコメント欄に暗号化して保存する手段と、を備え、
    前記暗号済み符合データを埋め込んだ前記各DCTブロックの量子化係数をエントロピー圧縮およびJFIF形式整形することでJPEG符号化を完了させる
    ことを特徴とする改ざん検出用電子透かしの埋め込み装置。
  5. 撮影手段をもって撮影されたJPEGフォーマット画像に改ざん検出用の電子透かしを埋め込む装置であって、
    前記JPEGフォーマット画像にJFIF形式からのデータ整形とエンピロー復号とを施し、各DCTブロックに量子化係数が存在する状態に処理する手段と、
    前記電子透かしデータのbit数に冗長化性を付与した誤り検出符号化データを生成する手段と、
    前記誤り検出符号化データを暗号化した暗号化済み符合データを生成する手段と、
    前記各DCTブロックをY,Cb,Cr色成分に応じて、前記暗号化済み符合データのbit数と同一個数ごとのグループに分割する手段と、
    前記DCTブロック内の量子化係数を変調させるために、前記各DCTブロック内の量子化係数のうち絶対値が最大の値Aを選択し、該値Aとの差を演算する値Bを乱数発生手段の乱数のハッシュ関数を用いて求める手段と、
    前記DCTブロックに埋め込む前記暗号化済み符合データのbit値(0 or 1)に応じて前記値A.値Bの差の偶奇を調整するために、前記値Aに「−K,0,K」のいずれかを加算する手段と、
    (最終番号−1)グループの最終DCTブロックの前記B値を算出するために用いたハッシュ関数のハッシュ値と、該DCTブロックに前記値Aの調整済みの量子化係数を連結した数値のハッシュ値との排他的論理和を演算し、該演算値をJPEGフォーマットのヘッダー内のコメント欄に暗号化して保存する手段と、を備え、
    前記暗号済み符合データを埋め込んだ前記各DCTブロックの量子化係数をエントロピー圧縮およびJFIF形式整形することでJPEG符号化を完了させる
    ことを特徴とする改ざん検出用電子透かしの埋め込み装置。
  6. 請求項1または2のいずれか1項に記載の装置をもって電子透かしを埋め込んだJPEG画像の改ざんを検出する装置であって、
    入力されたJPEG符号化画像にJFIF形式からのデータ整形とエンピロー復号とを施し、各DCTブロックに量子化係数が存在する状態に処理する手段と、
    前記各DCTブロックをY,Cb,Cr色成分に応じて、前記電子透かしの埋め込み時に使用した暗号化済み符合データのbit数と同一個数ごとのグループに分割する手段と、
    前記DCTブロック内の量子化係数を前記電子透かしの埋め込み時と同様に変調させるために、前記各DCTブロック内の量子化係数のうち絶対値が最大の値Aを選択し、該値Aとの差を演算する値Bを乱数発生手段の乱数のハッシュ関数を用いて求める手段と、
    前記各DCTブロックに埋め込まれた前記暗号化済み符合データのbit値(0 or 1)を前記値A.Bの差の偶奇に応じて取得する手段と、
    前記取得値(0 or 1)に対して、前記暗号化済み符合データの埋め込み時と同一の暗号手法および暗号鍵を用いて暗号を復号化する手段と、
    該暗号復号化されたデータに誤り復号化処理を施し、誤りの有無・誤りの発生したDCTブロックを含むグループを検出する手段と、
    (最終番号−1)グループの最終DCTブロックの前記B値を算出するために用いたハッシュ関数のハッシュ値と、該DCTブロックに前記値Aの調整済みの量子化係数を連結した数値のハッシュ値との排他的論理和を演算する手段と、
    該演算結果を前記JPEGフォーマットのヘッダー内におけるコメント欄の保存値と同一手法で暗号化し、該暗号化された前記演算結果と前記保存値とを比較するにより(最終番号−1)グループの最終DCTブロックの誤りを検出する手段と、
    前記各DCTブロックの量子化係数を逆量子化してDCT係数に戻し、逆DCTと色空間変換を経てJPEG復号化する手段と、
    前記検出した誤りの有無・誤りの発生したDCTブロックを含むグループの位置を表示させる手段と、
    を備えることを特徴とする電子透かしを用いた改ざん検出装置。
  7. 請求項4または5のいずれか1項に記載の改ざん検出用電子透かしの埋め込み装置を構成する各手段として、コンピュータを機能させるためのプログラム。
  8. 請求項6記載の電子透かしを用いた改ざん検出装置を構成する各手段として、コンピュータを機能させるためのプログラム。
JP2009093001A 2009-04-07 2009-04-07 改ざん検出用電子透かしの埋め込み方法及び装置、並びにプログラム、電子透かしを用いた改ざん検出方法及び装置、並びにプログラム。 Active JP4804556B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009093001A JP4804556B2 (ja) 2009-04-07 2009-04-07 改ざん検出用電子透かしの埋め込み方法及び装置、並びにプログラム、電子透かしを用いた改ざん検出方法及び装置、並びにプログラム。

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009093001A JP4804556B2 (ja) 2009-04-07 2009-04-07 改ざん検出用電子透かしの埋め込み方法及び装置、並びにプログラム、電子透かしを用いた改ざん検出方法及び装置、並びにプログラム。

Publications (2)

Publication Number Publication Date
JP2010245876A true JP2010245876A (ja) 2010-10-28
JP4804556B2 JP4804556B2 (ja) 2011-11-02

Family

ID=43098407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009093001A Active JP4804556B2 (ja) 2009-04-07 2009-04-07 改ざん検出用電子透かしの埋め込み方法及び装置、並びにプログラム、電子透かしを用いた改ざん検出方法及び装置、並びにプログラム。

Country Status (1)

Country Link
JP (1) JP4804556B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559676A (zh) * 2013-10-11 2014-02-05 西安电子科技大学 基于dct系数统计特性的抗打印扫描彩色图像盲水印方法
CN108900845A (zh) * 2018-07-16 2018-11-27 东莞理工学院 数字视频信息中元数据的可逆嵌入与提取方法及装置
JP2018201255A (ja) * 2018-10-02 2018-12-20 日本放送協会 暗号化装置および復号装置
CN109729233A (zh) * 2018-11-29 2019-05-07 东软集团股份有限公司 基于图像的信息隐藏方法、装置、存储介质和电子设备
CN113034334A (zh) * 2021-03-22 2021-06-25 绍兴聚量数据技术有限公司 联合JPEG和Huffman编码的加密图像可逆信息隐藏方法、装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008283479A (ja) * 2007-05-10 2008-11-20 Fujifilm Software Co Ltd 可逆的透かしデータ挿入方法、プログラム、装置および画像処理システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008283479A (ja) * 2007-05-10 2008-11-20 Fujifilm Software Co Ltd 可逆的透かしデータ挿入方法、プログラム、装置および画像処理システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559676A (zh) * 2013-10-11 2014-02-05 西安电子科技大学 基于dct系数统计特性的抗打印扫描彩色图像盲水印方法
CN108900845A (zh) * 2018-07-16 2018-11-27 东莞理工学院 数字视频信息中元数据的可逆嵌入与提取方法及装置
JP2018201255A (ja) * 2018-10-02 2018-12-20 日本放送協会 暗号化装置および復号装置
CN109729233A (zh) * 2018-11-29 2019-05-07 东软集团股份有限公司 基于图像的信息隐藏方法、装置、存储介质和电子设备
CN109729233B (zh) * 2018-11-29 2020-09-25 东软集团股份有限公司 基于图像的信息隐藏方法、装置、存储介质和电子设备
CN113034334A (zh) * 2021-03-22 2021-06-25 绍兴聚量数据技术有限公司 联合JPEG和Huffman编码的加密图像可逆信息隐藏方法、装置

Also Published As

Publication number Publication date
JP4804556B2 (ja) 2011-11-02

Similar Documents

Publication Publication Date Title
Xu et al. Separable and error-free reversible data hiding in encrypted images
Cem kasapbaşi et al. New LSB-based colour image steganography method to enhance the efficiency in payload capacity, security and integrity check
US8670560B2 (en) Encryption method
US7360093B2 (en) System and method for authentication of JPEG image data
Fallahpour et al. Tampering detection in compressed digital video using watermarking
US7313696B2 (en) Method for authentication of JPEG image data
US20090141931A1 (en) Digital Watermarking CMOS Sensor
US20060045309A1 (en) Systems and methods for digital content security
JP4804556B2 (ja) 改ざん検出用電子透かしの埋め込み方法及び装置、並びにプログラム、電子透かしを用いた改ざん検出方法及び装置、並びにプログラム。
JP4261724B2 (ja) 署名データ生成装置及び画像検証装置
Singh et al. Toward encrypted video tampering detection and localization based on POB number system over cloud
JP4948551B2 (ja) 電子透かし埋め込み検出方法とその装置、プログラム、記録媒体
JP4999877B2 (ja) 改ざん検出用認証符号埋め込み方法および装置並びにそのプログラム、改ざん検出方法および装置並びにそのプログラム
US7493489B2 (en) System and method for authentication of JPEG image data
JP2003298579A (ja) 情報処理装置、情報処理方法、プログラム及び記録媒体
Memon et al. Distortion-bounded authentication techniques
US7627761B2 (en) System for authentication of JPEG image data
EP3602478B1 (en) Video watermarking
Lien et al. High-capacity reversible data hiding by maximum-span pairing
WO2007085632A1 (en) Method of watermarking digital data
JP2010016529A (ja) 改ざん検出用電子透かし埋め込み方法、装置、プログラムおよび電子透かしを用いた改ざん検出方法、装置、プログラムならびにそれらプログラムを記録した記録媒体
Ghadi et al. Enhancing digital image integrity by exploiting JPEG bitstream attributes
CN114465779A (zh) 一种可逆可分离的密文域信息隐藏方法及系统
Ananth et al. Performance analysis of a combined cryptographic and steganographic method over thermal images using barcode encoder
Wang et al. A data hiding scheme based on single pixel modification with modulus operation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110707

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: 20110802

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: 20110809

R150 Certificate of patent or registration of utility model

Ref document number: 4804556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350