JP2011151776A - 情報処理装置及び検証装置、並びにそれらの制御方法 - Google Patents
情報処理装置及び検証装置、並びにそれらの制御方法 Download PDFInfo
- Publication number
- JP2011151776A JP2011151776A JP2010230700A JP2010230700A JP2011151776A JP 2011151776 A JP2011151776 A JP 2011151776A JP 2010230700 A JP2010230700 A JP 2010230700A JP 2010230700 A JP2010230700 A JP 2010230700A JP 2011151776 A JP2011151776 A JP 2011151776A
- Authority
- JP
- Japan
- Prior art keywords
- block
- cell
- verification
- pair
- data
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
【課題】 改竄の有無だけでなく、予め設定された精度での改ざん位置までも特定できる技術を提供する。
【解決手段】 ブロック分割部402は、画像データを予め定められた画素数を含む第1単位の画像データに分割する。そして、ブロック係数算出部403は、分割された各々の第1単位の画像データから、予め設定された演算を実行することでそれぞれに対応する第1単位の画像データ係数を算出する。また、セル分割部406は、ブロック分割部402で分割した1つの第1単位の画像データを、当該第1単位よりも小さいサイズの第2の単位の画像データに分割する。そして、前記第1単位の画像データ係数の2つを選択してペアを決定し、1つのペアについて第1単位の画像データ係数の大小関係のデータを生成することで第1検証データが生成される。また、予め設定された位置にある第2単位の画像データ係数の2つを選択し、1つのペアにおける第2単位の画像データ係数の大小関係を関係をデータを生成することで第2検証データが生成される。
【選択図】 図4
【解決手段】 ブロック分割部402は、画像データを予め定められた画素数を含む第1単位の画像データに分割する。そして、ブロック係数算出部403は、分割された各々の第1単位の画像データから、予め設定された演算を実行することでそれぞれに対応する第1単位の画像データ係数を算出する。また、セル分割部406は、ブロック分割部402で分割した1つの第1単位の画像データを、当該第1単位よりも小さいサイズの第2の単位の画像データに分割する。そして、前記第1単位の画像データ係数の2つを選択してペアを決定し、1つのペアについて第1単位の画像データ係数の大小関係のデータを生成することで第1検証データが生成される。また、予め設定された位置にある第2単位の画像データ係数の2つを選択し、1つのペアにおける第2単位の画像データ係数の大小関係を関係をデータを生成することで第2検証データが生成される。
【選択図】 図4
Description
本発明は画像データの原本性を保証する技術に関するものである。
デジタルカメラなどで撮影した画像データは、画像編集ソフトなどを用いて改竄される心配がある。これを解決する一方法として、特許文献1に開示されているような方法が知られている。この文献によれば、予めデジタルカメラの内部にカメラ固有の秘密情報を組み込んでおき、デジタルカメラの内部で前記秘密情報を用いて画像データに署名処理を施す。そして撮影後に、前記署名情報を用いて検証できる。
しかしながら、上記特許文献1にかかる技術では、画像に改竄があるか否かを検証することはできても、その画像のどの部分が改竄されているかまで特定することはできない。
本発明はかかる問題点に鑑みなされたものである。そして、本発明は、改竄の有無だけでなく、予め設定された精度での改ざん位置までも特定できる技術を提供しようとするものである。
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
画像データの原本性を保証するための検証情報を、前記画像データから生成する情報処理装置であって、
原本性の保証の対象の画像データを入力する画像入力手段と、
該画像入力手段によって入力された前記画像データを、予め定められた画素数で表わされるブロックに分割するブロック分割手段と、
前記ブロックに含まれる画素の値について、前記ブロックの特徴を表わすブロック係数を得るための演算を行うブロック係数算出手段と、
前記ブロック分割手段で分割したブロックを、当該ブロックよりも小さいサイズのセルに分割するセル分割手段と、
前記セルに含まれる画素の値について、前記セルの特徴を表わすセル係数を得るための演算を行うセル係数算出手段と、
前記ブロック係数算出手段で得られた各ブロック係数の中から、ブロックペアとなる2つのブロック係数を選択し、1つのブロックペアを構成する2つのブロック係数の大小関係を示すデータを生成することで第1検証データを生成する第1の検証データ生成手段と、
予め設定された位置にある2つのセルに対応する前記セル係数を選択することでセルペアを決定し、1つのセルペアを構成する2つのセル係数の大小関係を示すデータを生成することで第2検証データを生成する第2の検証データ生成手段と、
前記画像入力手段により入力した前記原本性の保証の対象の画像データを出力すると共に、前記第1の検証データ生成手段で得られた前記第1検証データ、前記第2の検証データ生成手段で得られた前記第2検証データを前記原本性の保証の対象の画像データに対する前記検証情報として出力する出力手段とを有する。
画像データの原本性を保証するための検証情報を、前記画像データから生成する情報処理装置であって、
原本性の保証の対象の画像データを入力する画像入力手段と、
該画像入力手段によって入力された前記画像データを、予め定められた画素数で表わされるブロックに分割するブロック分割手段と、
前記ブロックに含まれる画素の値について、前記ブロックの特徴を表わすブロック係数を得るための演算を行うブロック係数算出手段と、
前記ブロック分割手段で分割したブロックを、当該ブロックよりも小さいサイズのセルに分割するセル分割手段と、
前記セルに含まれる画素の値について、前記セルの特徴を表わすセル係数を得るための演算を行うセル係数算出手段と、
前記ブロック係数算出手段で得られた各ブロック係数の中から、ブロックペアとなる2つのブロック係数を選択し、1つのブロックペアを構成する2つのブロック係数の大小関係を示すデータを生成することで第1検証データを生成する第1の検証データ生成手段と、
予め設定された位置にある2つのセルに対応する前記セル係数を選択することでセルペアを決定し、1つのセルペアを構成する2つのセル係数の大小関係を示すデータを生成することで第2検証データを生成する第2の検証データ生成手段と、
前記画像入力手段により入力した前記原本性の保証の対象の画像データを出力すると共に、前記第1の検証データ生成手段で得られた前記第1検証データ、前記第2の検証データ生成手段で得られた前記第2検証データを前記原本性の保証の対象の画像データに対する前記検証情報として出力する出力手段とを有する。
本発明によれば、改竄の有無だけでなく、改竄されている場合にはブロックという精度でその位置までも特定できるようになる。
以下、図面を参照して、本発明に関わる実施形態を詳細に説明する。
[第1の実施形態]
<システム全体構成の説明>
はじめに、本実施形態におけるシステムの全体構成例を図1に示す。本実施形態におけるシステムは、画像入力装置11、および、画像検証装置12から構成される。
<システム全体構成の説明>
はじめに、本実施形態におけるシステムの全体構成例を図1に示す。本実施形態におけるシステムは、画像入力装置11、および、画像検証装置12から構成される。
図中、画像入力装置11は、画像データを発生し、発生した画像データを出力する。特に、本実施形態における画像入力装置11は、上記の画像データに加え、当該画像データが改ざんされているか否かを検証可能な検証情報を生成し、その画像データと共に出力する。
また、本実施形態における画像入力装置11は、内部のCMOS、CCD等の撮像素子により被写体光学像を光電変換して得られた撮像画像の電気信号をAD変換した画像データを、画像処理することなく出力するものとする(RAW画像データを出力する)。
画像検証装置12は、前段の画像入力装置11から供給された画像データに対し、改ざんされているか否かを、その検証情報に従って検証し、検証結果を出力する。
画像入力装置11、および画像検証装置12はインターネットなどのネットワークによって接続しておき、各種データを交換可能にしておいても良い。あるいは、出力時に各種データをリムーバブルメディアなどの記憶媒体に記録し、各種データを交換するようにしても良い。
<画像入力装置の構成>
以下、図4を用いて本実施形態に適用される画像入力装置11の機能構成を説明する。この画像入力装置11は、例えば画像を撮影し、その画像データにデジタル署名を施すデジタルカメラに相当する。なお、ここで説明する画像入力処理は撮像素子等のハードウェアと共に協動して実行される、制御部が実行するソフトウェア処理により実現されてもよい。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
以下、図4を用いて本実施形態に適用される画像入力装置11の機能構成を説明する。この画像入力装置11は、例えば画像を撮影し、その画像データにデジタル署名を施すデジタルカメラに相当する。なお、ここで説明する画像入力処理は撮像素子等のハードウェアと共に協動して実行される、制御部が実行するソフトウェア処理により実現されてもよい。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
図4に示す画像入力装置11は、画像データから、その画像の原本保証を検証するための第1検証データと第2検証データを生成するための構成を有する。第1検証データは、ブロック分割部402、ブロック係数算出部403、並びに、ブロックペア選択部404及びブロック間大小関係情報算出部405によって生成される。第2検証データは、セル分割部406、セル係数算出部407、並びに、セルペア選択部408及びセル間大小関係情報算出部409によって生成される。
図4において、画像発生部401は、光学系、および光学センサーによって生成されたビデオ信号をイメージ情報として取得し、画像データIを形成する。画像発生部401で発生した画像データIは後段のブロック分割部402および画像出力部411へ供給される。ブロック分割部402は、前段の画像発生部401で発生した画像データIを入力し、その画像を、予め設定された複数画素で構成されるブロックに分割し、各ブロックの位置およびそのブロック内の各画素値を後段のブロック係数算出部403およびセル分割部406へ出力する。なお、実施形態では、ブロックのサイズは2画素×2画素として説明する。
ブロック係数算出部403は、前段のブロック分割部402から出力された1ブロック分のブロックデータからそのブロックの係数を算出し、ブロック係数を後段のブロックペア選択部404へ出力する。ブロック係数は例えば、ブロック内の画素の輝度の平均値である。平均値はブロック内の画素の輝度の総和からブロック内の画素数で除算する演算を行えば良い。ただし、係数としては、ブロックに含まれる画素値に依存して決まる値(スカラー値)であれば良いので、輝度の平均値以外にも、輝度の中央値や分散値なども適用可能である。ブロックペア選択部404は、ブロック分割部402で分割した各ブロックのペアを選択し、ブロックペア選択結果をブロック間大小関係算出部405へ出力する。
ブロックのペアは例えば、次のようにして決めるものとする。先ず、0から画像の水平の画素数まで、及び、0から画像の垂直方向の画素数までの乱数を発生させ、発生した乱数をブロックの左上の座標(水平座標xおよび垂直座標y)として用い、1つのブロックを決める。そして、もう1つのブロックも同様に乱数を用いて決める。そして、この2回の乱数で決めた2つのブロックをペアとして決定する。このようにして、乱数により決定したブロックの1番目と2番目を1つのペア、3番目と4番目を1つのペア(以下略)…とする。なお、画像検証装置12のブロックペア選択部704(後述)も同じ乱数のアルゴリズムを用い、その乱数発生の初期設定値(シード値)も共有する。初期設定値の共有方法は、画像出力部411が、画像データIを出力する際に後述する検証データとともに乱数の初期設定値を付加する。そして、画像検証装置12で画像データIが入力された際に付加された乱数の初期設定値を利用すれば良い。
なお、ブロックペアとなる2つのブロック間の距離は所定(例えば、2画素)以上離すことが望ましい。それによって、改ざん者はブロックのペアを特定することが困難になるので、改ざん検知の精度が向上する。方法としては上記の乱数を用いた方法で片方のブロックの左上隅の座標(水平座標x0および垂直座標y0)を求めた場合、予め設定した距離値THを用い、もう一つのブロックの左上隅の水平座標xを、0からx0−THおよびx0+THから画像サイズ(横のサイズ)までの間で乱数を発生させて求める。また、垂直座標yも、0からy0−TH、および、y0+THから画像サイズ(縦のサイズ)までの間で乱数を発生させて求めればよい。ここで、THは自然数であり、0<x0−THかつx0+TH<画像サイズ(横のサイズ)かつ0<y0−THかつy0+TH<画像サイズ(縦のサイズ)を満たすことが望ましい。なお、この時に一度選択されたブロックは次回のペアの候補からは除外しても良い。
ブロック間大小関係情報算出部405は、ブロックペア選択部404で選択した各ブロックペアからブロック間大小関係情報RBを算出し、それを後段の検証データ生成部410へ出力する。
ブロック間大小関係情報RBは例えば、ブロックペアに含まれる第1のブロックのブロック係数(第1のブロック係数とする)と第2のブロックのブロック係数(第2のブロック係数とする)を用いて、以下の式(1)で求められる。
第1のブロック係数 ≧ 第2のブロック係数の場合、 RB=0
第1のブロック係数 < 第2のブロック係数の場合、 RB=1 …(1)
ただし、大小関係を示す情報ならば上記の方法以外でも可能である。
第1のブロック係数 ≧ 第2のブロック係数の場合、 RB=0
第1のブロック係数 < 第2のブロック係数の場合、 RB=1 …(1)
ただし、大小関係を示す情報ならば上記の方法以外でも可能である。
セル分割部406は、前段のブロック分割部402から出力された1つのブロックを更に複数のセルに分割し、各セルの位置および各画素値を示すセル分割結果を後段のセル係数算出部407へ出力する。
例えば、実施形態では、2画素×2画素を1つのブロックとしているので、1セルは1画素×1画素とする。もちろん、ブロックの大きさが4画素×4画素の場合にセルの大きさを2画素×2画素と数画素を含むものにしてもかまわない。いずれにしても、セルの大きさはブロックの大きさよりも小さくなるようにすれば良い。
セル係数算出部407は、前段のセル分割部406から出力された着目ブロック内のセル分割結果から各セルの係数を算出し、セル係数を後段のセルペア選択部408へ出力する。
セル係数は例えばブロック係数算出部403で説明したブロック係数と同様にセル内の画素の輝度の平均値である。また、輝度の平均値や分散値などを適応可能である。セルペア選択部408は、セル分割部406で分割した各セルのペアを選択し、セルペア選択結果をセル間大小関係情報算出部409へ出力する。
セルペアの決定は、ブロックペア選択部404で選択したブロックペアを構成する各ブロックについて行う。セル間大小関係情報算出部409は、セルペア選択部408で選択した各セルペアからセル間大小関係情報RSを算出し、後段の検証データ生成部410へ出力する。
セル間大小関係情報RSは例えば、ブロック間大小関係情報算出部405と同様にして、セルペアの第1のセルのセル係数(第1のセル係数とする)と第2のセルのセル係数(第2のセル係数とする)を用いて、以下の式(2)で求められる。
第1のセル係数 ≧ 第2のセル係数の場合、RS=0
第1のセル係数 < 第2のセル係数の場合、RS=1 …(2)
第1のセル係数 ≧ 第2のセル係数の場合、RS=0
第1のセル係数 < 第2のセル係数の場合、RS=1 …(2)
検証データ生成部410(第1の検証データ生成部、及び、第2の検証データ生成部として機能する)は、入力されたブロック間大小関係情報算出部405で算出されたブロック間大小関係情報RB、及び、セル間大小関係情報算出部409で算出されたセル間大小関係情報RSから、検証データ生成部410内の暗号化部で検証データS(RB)およびS(RS)を生成して、後段の画像出力部411へ出力する。
本実施形態における検証データとしては、MAC(Message Authentication Code)や電子署名などが適用可能である。尚、MACおよび電子署名の生成方法については当業者にとって公知の技術であるので詳細な説明は省略する。電子署名やMACの対象となるデータは、例えば図10の参照符号1001および1002に示すように、ヘッダとブロック間大小関係情報RBや、ヘッダとセル間大小関係情報RSで構成する。それぞれ、参照符号1001は検証データS(RB)の構成であり、参照符号1002は検証データS(RS)の構成を示している。この中で、RBおよびRSは選択した乱数順に配置されている。例えば、RBなら1番目のブロックペアのRB、2番目のブロックペアのRB、…となる。一方、RSなら1番目のブロックペアの一方のブロック内のセルペア(第1番目のセルペア)のRS、1番目のブロックペアの他方のブロック内の2番目のセルペア(第2番目のセルペア)のRS、2番目のブロックペアの一方のブロック内のセルペア(第3番目のセルペア)のRS、2番目のブロックペアの他方のブロック内のセルペア(第4番目のセルペア)のRS、…となる。
また、参照符号1001に示すデータ構造のヘッダには、全部のRBの数の情報があり、参照符号1002に示すデータ構造のヘッダにも、全部のRBの数の情報やブロックペア内のセルペアの数の情報が格納されている。そして、選択したX番目のブロックペアの中にある複数のRSを取得するには1002のRSの先頭から(X−1)×ブロックペア内のセルペアの数分進んで、ブロックペア内のセルペアの数分取得すれば良い。このように、ヘッダを用いて特定のブロックペアにある複数のRSのみを直接取得できる。従って、後述する画像検証装置12において、必要な数のブロックペアの改ざん有無を判定できることが可能になる。以上のようにして、検証データを生成する。
また、ハッシュなどを利用して情報量を少なくし、電子署名やMACを適用する。なお、本実施形態では、情報量を少なくするようにしたが、これに限定することなく例えばそのままのデータに電子署名やMACを適用してもよい。
なお、検証データとしてMACを適用する場合には、MACを生成するための秘密情報を、署名鍵KSとして入力し、MACを生成する際に利用する。署名鍵KSは画像入力装置と後述する検証装置とで共有しておく必要があるため、予め画像入力装置および検証装置の内部に共通の秘密情報を保持するようにする。一方、検証データとして電子署名を適用する場合には、電子署名を生成するための秘密鍵を、署名鍵KSとして入力する。そして、予め画像入力装置の内部に署名鍵KSを保持しておき、検証データ生成部410が必要に応じて署名鍵KSを利用する。検証データ生成部410が利用した署名鍵KSに対応する公開鍵が、後述する検証装置の内部に保持されているものとする。
画像出力部411は、画像データI並びに検証データを1つのファイルとしてリムーバブルメディア等の記憶媒体に記録したり、あるいは、有線/無線のネットワークを介して所定のホストへ送信したりする。ただし、画像データIと検証データを別々なファイルにして出力しても構わない。以上、本実施形態における画像入力装置11の構成について説明した。
<撮影処理のフロー>
以下、図5と図6を用いて本実施形態における画像入力装置11で実行される撮影処理のフローを説明する。図5は本実施形態に適用可能な撮影処理の流れを示すフローチャートである。また、図6はブロック間大小関係情報RBおよびセル間大小関係情報RSの算出の具体例を示したものである。ところで、図4に示した画像入力装置は、図5に示す流れに基づいて動作が制御されるが、途中動作の一部をソフトウェア処理で行うことも可能である。
以下、図5と図6を用いて本実施形態における画像入力装置11で実行される撮影処理のフローを説明する。図5は本実施形態に適用可能な撮影処理の流れを示すフローチャートである。また、図6はブロック間大小関係情報RBおよびセル間大小関係情報RSの算出の具体例を示したものである。ところで、図4に示した画像入力装置は、図5に示す流れに基づいて動作が制御されるが、途中動作の一部をソフトウェア処理で行うことも可能である。
まず、ステップS501において、画像発生部401を用いて画像データIが撮影される。例えば、図6の参照符号601に示すような9画素×9画素の画像データIが得られる。なお画像データIの各画素の数値は輝度を示している。次に、ステップS502において、画像データIをブロック分割部402を用いてブロック分割する。例えば、図6の601a1に示すような2画素×2画素のブロックに分割する。ステップS503において、S502でブロック分割した各ブロックを用いてブロック係数算出部403を用いてブロック係数を算出する。例えば、図6では、輝度の平均値とし、601a1の係数はブロック内の輝度の平均値255である。ステップS504において、S502でブロック分割した各ブロックからブロックペア選択部404を用いてブロックペアを選択する。例えば、図6の画像データ601では以下の4つのブロックペアを選択する。
・601a1と601a2(ブロックペア601a)
・601b1と601b2(ブロックペア601b)
・601c1と601c2(ブロックペア601c)
・601d1と601d2(ブロックペア601d)
・601a1と601a2(ブロックペア601a)
・601b1と601b2(ブロックペア601b)
・601c1と601c2(ブロックペア601c)
・601d1と601d2(ブロックペア601d)
ステップS505において、S504で選択したブロックペアとその各ブロックの係数を用いてブロック間大小関係情報算出部405を用いてブロック間大小関係情報RBを算出する。例えば、図6の4つのブロックペアであるブロックペア601aから601dはそれぞれ式(1)を用いて以下の通りになる。
・RB(601a)=0
・RB(601b)=0
・RB(601c)=0
・RB(601d)=0
ここで、RB(X)は式(1)で算出したブロックペアXの大小関係を示す。
・RB(601a)=0
・RB(601b)=0
・RB(601c)=0
・RB(601d)=0
ここで、RB(X)は式(1)で算出したブロックペアXの大小関係を示す。
ステップS506において、ブロック分割部402を用いて分割した各ブロックを、セル分割部406においてさらにセルに分割する。例えば、図6の画像データI(601)ではセルを1画素×1画素である。ステップS507において、S506でセル分割した各セルを用いて、セル係数算出部407を用いたセル係数を算出する。例えば、図6では、輝度として、参照符号601の左上のセル(画素)の係数は輝度255となる。
ステップS508において、セルペア選択部408を用いて、ブロックペアの一方のブロック内の左上のセルと、右下のセルをセルペアとして、選択する。具体的には、図6の参照符号601では黒丸で囲んだ各ブロックの左上の画素と右下の画素をセルペアとする。そして、ブロックペア601aのセルペアはセルペア601a1とセルペア601a2である。ブロックペア601bのセルペアはセルペア601b1とセルペア601b2である。ブロックペア601cのセルペアはセルペア601c1とセルペア601c2である。ブロックペア601dのセルペアはセルペア601d1とセルペア601d2である。
ステップS509において、S508で選択したセルペアを構成する各セル係数を用いて、セル間大小関係情報算出部409がセル間大小関係情報RSを算出する。例えば、図6の8つのセルペアであるセルペア601a1乃至601d2はそれぞれ式(2)を用いて、以下の通りになる。
・RS(601a1)=0
・RS(601a2)=0
・RS(601b1)=0
・RS(601b2)=0
・RS(601c1)=0
・RS(601c2)=1
・RS(601d1)=0
・RS(601d2)=1
ここで、RS(X)は式(2)で算出したセルペアXの大小関係を示す。
・RS(601a1)=0
・RS(601a2)=0
・RS(601b1)=0
・RS(601b2)=0
・RS(601c1)=0
・RS(601c2)=1
・RS(601d1)=0
・RS(601d2)=1
ここで、RS(X)は式(2)で算出したセルペアXの大小関係を示す。
そして、ステップS510において、検証データ生成部410を用いて、ブロック間大小関係情報RBおよびセル間大小関係情報RSを用いて検証データS(RB,RS)を生成する。最後に、ステップS511において、画像出力部411から、検証データS(RB,RS)が付加された画像データを出力する。以上、本実施形態における撮影処理のフローについて説明した。
なお、実施形態では、図6に示すように、9×9画素で構成される画像データにおける8つのブロックを選択する例を示したが、画像データに定義される全ブロックをランダムに並べ替え、2つずつペアにしても構わない。その際、画像のサイズの水平、垂直方向の画素数がブロックの整数倍ではない場合、不足する画素が予め設定された値と見なす。実施形態の場合、ブロックのサイズは2×2画素の例で示したので、全ブロック数は画像データの総画素数/4となり、ブロックペアの数はその半分の総画素数/8となる。つまり、ブロック間大小関係情報RBに必要なビット数は、総画素数/8となる。昨今のデジタルカメラの撮像画素数は、1千万画素を超えるのが普通であるから、ブロックペアの数も相当な数になり、ブロック間大小関係情報RBに必要なビット数も膨大になる。これは、セル間大小関係情報RSにも言えることである。そこで、総画素数に対して予め設定された比率で示される数のブロックを乱数に従って選択するようにしても良い。仮に、この比率が1/64とするなら、平均して8×8画素の領域の中から1つのブロック(2×2画素)を決定することになる。これを別な表現で言えば、選択するブロック間の平均距離は8画素分であることを意味し、人間による意図した改竄位置を十分に特定できるものと言える。また、上記比率は、ユーザの望む精度に従って、何種類か容易しておき、その中から選択しても構わない。ただし、この場合、選択した精度に関する情報も、検証データと共に格納する。また、セルペアの数も上述したブロックペアと同様に、ブロック内の全セルをランダムに並びかえ、2つずつペアにしても構わない。
<画像検証装置の構成>
以下、図7を用いて本実施形態に適用される画像検証装置12の機能構成を説明する。
以下、図7を用いて本実施形態に適用される画像検証装置12の機能構成を説明する。
なお、ここで説明する画像検証処理は、パーソナルコンピュータ等に代表される情報処理装置とそのプロセッサが実行するソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
図7において、画像入力部701は、検証対象となる画像データI’を入力する。画像データI’がリムーバブルメディア、および/あるいはネットワーク等を介して入力されると考えると理解し易い。また、画像入力部701は、入力された画像データI’のヘッダを解析し、付加されている検証データS(RB)およびS(RS)を抽出し、抽出した検証データS(RB)およびS(RS)を検証部710に出力し、画像データI’(もしくはヘッダを除いた画像データ)はブロック分割部702に出力する。なお、画像入力部701は、画像データI’を解析し、初期設定値(シード値)を抽出し、それをブロックペア選択部704に供給する。この結果、ブロックペア選択部704は、ランダムではあるものの、ブロックペア選択部404と同じブロックペアを選択していくことになる。
ブロック分割部702は図4におけるブロック分割部402と同様の処理をし、前段の画像入力部701から入力された画像データI’をブロック分割する。以降、ブロック係数算出部703、ブロックペア選択部704、ブロック間大小関係情報算出部705はそれぞれ図4におけるブロック係数算出部403、ブロックペア選択部404、ブロック間大小関係情報算出部405と同様の処理をするので説明は省略する。また、セル分割部706、セル係数算出部707、セルペア選択部708、並びにセル間大小関係情報算出部709も図4に示す同じ名称の部と同様の処理をする。
検証部710は、前段のブロック間大小関係情報算出部705で算出したブロック間大小関係情報RB’、セル間大小関係情報算出部709で算出したセル間大小関係情報RS’、画像入力部701で抽出された検証データS(RB)、S(RS)および検証鍵KSを入力する。そして、入力されたデータを用いて画像データファイルI’(画像データ部分)が改ざんされているか否かを検証し、検証結果(OK/NG)、改ざんブロックペアTPBおよび改ざん位置TPSを出力する。ここで、改ざんブロックペアTPBは例えば、ブロックペアで画像の左上に近い方のブロックの左上の座標である。また、改ざん位置TPSは例えば、セルペアを内包するブロック内の左上の画素の座標である。
上記のようにして、画像の2次元空間を表示し、ブロックペアの各ブロック内の左上のセルの座標の位置を、他の座標のそれよりも強調して表示するようにする。この結果、強調表示される箇所が密になっている部分があれば、その位置が改竄位置として特定できるようになる。
ここで本実施形態における検証部710の詳細について図11を用いて説明する。図11に示すように本実施形態における検証部710は、復号部1101、第1の検証部1102、第2の検証部1103から構成される。
復号部1101は、電子署名の場合のみ入力された検証データS(RB)およびS(RS)を、同じく入力された検証鍵KSを用いて復号する。ただし、始めは検証データS(RB)のみを復号し、検証データS(RS)の復号は後述する第1の検証部1102の検証結果がNGとなった場合に行なっても良い。得られたブロック間大小関係情報RBおよびセル間大小関係情報RS(ハッシュなどを利用して情報量を少なくしたもの)は、それぞれ第1の検証部1102、第2の検証部1103へ出力される。ここで、検証データ生成部410に対応するものでなければならないので、署名鍵KSは検証データ生成部410で適用された署名鍵KSに対応する公開鍵であると考慮されるべきものである。復号に失敗した場合は、NGを出力する。
また、MACの場合は何も処理を行わず、検証データS(RB)およびS(RS)を、それぞれRSおよびRBとみなす。そして、RSは検証鍵KSとともに、第1の検証部1102へ出力され、RBは検証鍵KSとともに、第2の検証部1103へ出力される。後述する第1の検証部1102および第2の検証部1103において、検証鍵KSを用いて、ブロック間大小関係情報RB’とセル間大小関係情報RS’のMACを生成する。そして、生成したMACと、RSおよびRBを比較する。ここで、検証鍵KSは、検証データ生成部410に対応するために、検証データ生成部410で適用された署名鍵と同一の秘密情報を適応する。
第1の検証部1102は、前段の復号部1101で得られたブロック間大小関係情報RBと、前段のブロック間大小関係情報算出部705で算出したブロック間大小関係情報RB’とを入力する。そして、第1の検証部1102は、画像データI’の改ざん有無の検証を、全てのブロックペアのRBとRB’が等しいか等しくないかを用いて判定する。その検証結果(OK/NG)を出力する。具体的には、RBとRB’の同じビット位置の2つのペアが一つでも異なればNGとする方法でも良いが、誤判定と考えられる場合を考慮する。まず、RBとRB’が全てのブロックペアで等しい場合は改竄無しを示す検証結果(OK)を出力する。一方、RBとRB’が一つでも等しくない場合は、等しい数を数えて、閾値TH1(画像のサイズと予め設定した比率で決まる値)以上の場合は改竄無しを示す検証結果(OK)を出力する。逆に、閾値TH1未満の場合は改竄有りを示す検証結果(NG)とそのブロックペアの場所を示す改ざんブロックペアTPBを出力する。
そして、セル分割部706、セル係数算出部707、セルペア選択部708およびセル間大小関係情報算出部709を通じてセルペア大小関係情報RS’を求めた上で、後段の第2の検証部1103で改ざん位置の検証を行う。第2の検証部1103は、前段の復号部1101で得られたセル間大小関係情報RSと前段のセル間大小関係情報算出部709で算出したセル間大小関係情報RS’を入力する。そして、画像データI’の改ざん位置の検証をRSとRS’が等しいか等しくないかで行い、その結果に応じた出力を行う。なお、MACで検証データを生成した場合は、さらに前段の復号部1101から検証鍵KSを入力する。そして、検証鍵KSを用いて、RB’のMACを生成し、既にMACとして生成されたRBと一致するか否かを判定する。
RSとRS’が等しい場合は改ざん位置ではないと判定し、何も出力しない(もしくは非改竄箇所を示す情報を出力する)。逆に、RSとRS’が等しくない場合は、着目セルペアを含むブロックが改竄位置であることを示す、改ざん位置TPSを出力する。なお、MACで検証データを生成した場合は、さらに前段の復号部1101から検証鍵KSを入力する。そして、検証鍵KSを用いて、RS’のMACを生成し、既にMACとして生成されたRSと一致するか否かを判定する。
<画像検証処理のフロー>
以下、図8と図9を用いて本実施形態における画像検証装置12で実行される画像検証処理のフローを説明する。図8は本実施形態に適用可能な画像検証処理の流れを示すフローチャートである。また、図9は本実施形態の改ざん有無判定と改ざん位置特定の具体例である。図9の901は図6の601が改ざんされた画像であり、斜線で示される画素は改ざんが行われた場所である。なお、図9では、電子署名を用いて検証データを生成している。ところで、図7に示した画像検証装置は図8に示す流れに基づいて動作が制御されるが、途中動作の一部をソフトウェア処理で行うことも可能である。
以下、図8と図9を用いて本実施形態における画像検証装置12で実行される画像検証処理のフローを説明する。図8は本実施形態に適用可能な画像検証処理の流れを示すフローチャートである。また、図9は本実施形態の改ざん有無判定と改ざん位置特定の具体例である。図9の901は図6の601が改ざんされた画像であり、斜線で示される画素は改ざんが行われた場所である。なお、図9では、電子署名を用いて検証データを生成している。ところで、図7に示した画像検証装置は図8に示す流れに基づいて動作が制御されるが、途中動作の一部をソフトウェア処理で行うことも可能である。
まず、ステップS801において、画像入力部701が画像データI’を入力する。例えば、図9の参照符号901に示すような9画素×9画素の画像データI’を入力する。なお図9の画像中の各画素の数値は輝度を示している。次に、ステップS802において、画像データI’をブロック分割部702を用いてブロック分割する。例えば、図9では図6と同様に参照符号901a1に示すような2画素×2画素のブロックに分割する。ステップS803において、S802でブロック分割した各ブロックを用いてブロック係数算出部703を用いてブロック係数を算出する。例えば、図9では、図6と同様にして求め、参照符号901a1で示されるブロック内の輝度の平均値は“127”である。ステップS804において、S802でブロック分割した各ブロックを用いて、ブロックペア選択部704を用いてブロックペアを選択する。例えば、図9の参照符号901では図6と同様にして以下の4つのブロックペアを選択することになる。なお、ここではブロックペア数が4つの例であるが、ブロックのペア数の決定は、画像入力装置と同じようにして決定すれば良い(例えば、画像のサイズに応じて決定する)。
・901a1と901a2(ブロックペア901a)
・901b1と901b2(ブロックペア901b)
・901c1と901c2(ブロックペア901c)
・901d1と901d2(ブロックペア901d)
・901a1と901a2(ブロックペア901a)
・901b1と901b2(ブロックペア901b)
・901c1と901c2(ブロックペア901c)
・901d1と901d2(ブロックペア901d)
ステップS805において、S804で選択したブロックペアとその各ブロックの係数を用いてブロック間大小関係情報算出部705を用いてブロック間大小関係情報RB’を算出する。例えば、図9の4つのブロックペアであるブロックペア901a、ブロックペア901b、ブロックペア901c、ブロックペア901dはそれぞれ式(1)を用いて、以下の通りになる(4ビットになる)。
・RB’(901a)=1
・RB’(901b)=1
・RB’(901c)=0
・RB’(901d)=0
・RB’(901a)=1
・RB’(901b)=1
・RB’(901c)=0
・RB’(901d)=0
ステップS806において、図11の復号部1101で復号処理を実行する。そして、S807にて復号が成功したか否かを判定する。復号処理に成功した場合はブロックペアの大小関係が維持されているかを判定し(ステップS808)、さもなければ検証失敗とする(ステップS809)。なお、MACで検証データを生成した場合は、ステップS806、ステップS808およびステップS809の処理は行わない。そのため、ステップS805を行った後は、ステップS808に進む。
ステップS808では、第1の検証部1102を用いて、ブロックペアの大小関係が維持されているか、すなわち、RBとRB’が一致するか否かを判定する(検証情報による第1判定処理)。具体的には、RBとRB’を構成するビットどうしを比較する。一致する場合は改ざんなし(OK)を出力し(ステップS810)、処理を終了する。一方、不一致の場合はステップS811に進む。なお、MACで検証データを生成した場合は、復号部1101から検証鍵KSを入力する。そして、検証鍵KSを用いて、RB’のMACを生成し、既にMACとして生成されたRBと一致するか否かを判定する。
ステップS811において、大小関係が維持されているブロックペアの数が閾値TH1以上か否かを判定する。この閾値は閾値TH1以上の場合(YES)は改ざんなし(OK)を出力し(ステップS810)、処理を終了する。一方、閾値未満の場合(NO)は改ざんあり(NG)を出力し(ステップS812)、ステップS813に進む。例えば、図9では、ブロックペア901cと901dの2つはRBとRB’が等しい。一方、ブロックペア901aとブロックペア901bが、RBとRB’の値が等しくない。ここで、閾値TH1は3とすると、大小関係が維持されているブロックペアの数は2つであり閾値TH1未満である。従って、ブロックペア901aとブロックペア901bを改ざんブロックペアTPBとし、そして改ざんあり(NG)と判定される。なお、このステップS811の判定処理は、改竄の厳密性を高めるために、排除しても構わない。この場合、ステップS808がNoとなった場合、S812に進めるようにすれば良い。
ステップS813において、ブロック分割部702を用いて分割した各ブロックを、セル分割部706を用いてさらにセルに分割する。例えば、図9では図6と同様にして、参照符号901ではセルを1画素×1画素とする。
ステップS814において、S806でセル分割した各セルを用いて、セル係数算出部707を用いてセル係数を算出する。ただし、以降のステップでは改ざん可能性があると判定されたブロックペアTPBのみに対して行う。例えば、図9では図6と同様にして求め、図9の参照符号901の左上のセル(画素)の係数は輝度0である。
ステップS815において、S806でセル分割した各セルを用いて、セルペア選択部708を用いてセルペアを選択する。例えば、図9では図6と同様に選択し、参照符号901では黒丸で囲んだ各ブロックの左上の画素と右下の画素をセルペアとする。そして、改ざんブロックペアと判定されたブロックペア901aとブロックペア901bに対してセルペアを選択する。従って、ブロックペア901aのセルペアは901a1と901a2であり、ブロックペア901bのセルペアは901b1と901b2となる。
ステップS816において、S808で選択したセルペアとその各ブロックの係数を用いてセル間大小関係情報算出部709を用いてセル間大小関係情報RS’を算出する。例えば、図9の4つのセルペアであるセルペア901a1、セルペア901a2、セルペア901b1、セルペア901b2はそれぞれ式(2)を用いて、RS’(901a1)=1、RS’(901a2)=0、RS’(901b1)=1、RS’(901b2)=0となる。
ステップS817において、第2の検証部1103を用いて、セルペアの大小関係から改ざん位置TPSを特定する(検証情報による第2判定処理)。具体的にはRS’とRSが等しいか等しくないかで判定する。等しい場合は改ざん位置TPSでないとする。一方、等しくない場合は改ざん位置TPSとして、対象のセルペアの位置を出力する。図9では、セルペア901a1とセルペア901b1が改ざん位置TPSとなり、それぞれ(0, 0)と(0, 2)となる。ここで、(x、y)のxは水平座標であり、yは垂直座標である。ここで、MACで検証データを生成した場合は、復号部1101から検証鍵KSを入力する。そして、検証鍵KSを用いて、RS’のMACを生成し、既にMACとして生成されたRSと一致するか否かを判定する。
なお、改ざん位置TPSの利用方法としては、画像データI’中の該当する位置に赤いマークを付けて表示する処理に用いれば良いであろう。ここで、表示は例えば図7の画像検証装置12の検証部710内の表示部(非図示)で行う。そして、ステップS809、ステップS810、ステップS817の処理がそれぞれ終了した後で行う。また、改ざん位置を特定できない場合があるかもしれない。具体的には、まず、ブロック間大小関係情報RBとRB’が異なり、改ざんありと判定される。しかしながら、ブロックペアのどちらのブロックもセル間大小関係情報のRSとRS’が等しく、改ざん位置TPSを特定できない場合である。その場合はブロックペアの両方のブロックを改ざん位置が特定できた場合の赤色とは異なる黄色のマークを付けて表示し、改ざん位置が不明なことを示せば良い。なお、赤色、黄色以外の色であっても改ざん位置が特定できた場合とできない場合を区別できるなら適応可能である。
さらに、改ざん位置の特定結果のレベルに応じて、表示レベルを変化させて表示しても良い。具体的な画像検証結果の表示例を図14の1401cに示す。改ざん位置TPSと特定できた場合は1401dのように改ざん位置を濃い網掛けのブロックで示す。一方で、改ざんを特定できたが、改ざん位置を特定できない場合は1401e1と1401e2のようにブロックペアの両方のブロックを薄い網掛けのブロックで示す。このように表示レベルを変化させることで、知覚的に改ざん位置の特定結果のレベルが分かりやすくなる。
本実施形態では、画像検証処理において、全てのブロックペアの改ざん有無を判定した後に、改ざん位置特定を行っている。しかしながら、各ブロックペアを見て、その都度改ざん有無と改ざん位置特定を行っても良い。その結果、逐次処理になるので、メモリなどの節約が可能になる。
以上説明したように、本実施形態によれば、画像データにおいて階層的な検証データを生成することにより、階層的な改ざん位置(画像全体、ブロック単位)の特定が可能になる。また、ブロック間の大小関係を検証データに用いている。大小関係は画像データにガンマ補正処理、コントラスト補正処理、およびホワイトバランス補正処理などのような画像再現処理が施された場合でも変化しにくい特徴を持つ。従って、画像再現処理が施された画像データの原本性を保証できる。
なお、実施形態では、セルペアを、ブロック内の左上と右下の2つのセルをメンバとする例を説明したが、このセルペアの選択も、ブロックペアと同様に、乱数で決め手も良い。すなわち、着目ブロックを構成する4つのセルの中から、乱数で決まった2つをセルペアのメンバとしても良い。さらに、4つのセル全てをランダムに並びかえ、2つのセルペアを選択しても良い。
また、実施形態では、ブロックのサイズを2×2画素、セルのサイズを1×1画素としたが、これによって本願発明が限定されるものではない。ただし、ブロックのサイズが、改竄位置を特定する精度となるので、注意が必要である。
更に、実施形態では、画像データIにおいて、ブロックを第1単位とし、ブロックを分割したセルを第2単位として、階層的な改ざん位置(画像全体、ブロック単位)の特定を行う例を示した。しかしながら、本発明においては、上記第1単位、第2単位として別の概念に適用することも可能である。例えば、動画像を画像データIとして、フレームを第1単位とし、ブロックを第2単位として、階層的な改ざん位置(動画像全体、フレーム単位)の特定を行うことが可能である。
<変形例1>
上記の方法は、大小関係が維持されているブロックペアの数が閾値TH1未満に改ざんあり(NG)と判定した。変形例では、大小関係が維持されていない場所同士が隣接しているか否かで改ざんの有無を判定する。例えば、図9の901では、901a1と901b1は大小関係が維持されていないブロックであり、かつ隣接しているので、改ざんあり(NG)となる。
上記の方法は、大小関係が維持されているブロックペアの数が閾値TH1未満に改ざんあり(NG)と判定した。変形例では、大小関係が維持されていない場所同士が隣接しているか否かで改ざんの有無を判定する。例えば、図9の901では、901a1と901b1は大小関係が維持されていないブロックであり、かつ隣接しているので、改ざんあり(NG)となる。
<変形例2>
なお、本実施形態では、画像入力装置でブロック間大小関係情報RBとセル間大小関係情報RSを求め、それらを用いて検証データを生成した。しかしながら、画像入力装置11でブロックの係数とセルの係数まで求め、それらを用いて検証データを生成する。そして、画像検証装置12で入力された検証データからRBとRSを算出しても良い。
なお、本実施形態では、画像入力装置でブロック間大小関係情報RBとセル間大小関係情報RSを求め、それらを用いて検証データを生成した。しかしながら、画像入力装置11でブロックの係数とセルの係数まで求め、それらを用いて検証データを生成する。そして、画像検証装置12で入力された検証データからRBとRSを算出しても良い。
具体的には、画像入力装置11ではブロック係数算出部403でブロック係数を算出し、セル係数算出部407でセル係数を算出する。そして、ブロック係数とセル係数を検証データ410に入力し、検証データを算出する。ここで、ブロックペア選択部404、ブロック間大小関係情報算出部405、セルペア選択部408、セル間大小関係情報算出部409では処理は行わない。また、画像検証装置12ではブロック係数算出部703でブロック係数を算出し、セル係数算出部707でセル係数を算出する。そして、ブロック係数とセル係数を検証部710に入力し、検証データと比較して画像の検証を行う。
具体的には上記実施形態のように、ブロックおよびセルでペアを作成し、大小関係が維持されているか否かで行うことができる。
なお、ペアではなく3つ以上のブロック係数やセル係数の集合で大小関係を算出しても良い。例えば、3つの係数A、B、Cの大小関係を2ビットで表わし、Aが一番大きいなら「00」、Bが一番大きいなら「01」、Cが一番大きいなら「10」、一番大きいものが複数あるなら「11」とする。更に、大小関係ではなく複数のブロック係数やセル係数の分散、中央値および平均値を用いても良い。例えば、上記実施例のように、ブロックペアやセルペアを用いる場合は、一方のブロック係数ともう一方のブロック係数の平均値を用いることができる。また、3つ以上のブロックやセルを一つのグループとした場合はグループの係数の平均値でも良いし、分散でも良い。
<変形例3>
本実施形態では、ブロック内の左上隅のセル、右下隅のセルをセルペアとして選択した。しかしながら、一方をブロック内から選択し、もう一方をブロックの外から選択しても良い。これによって、例えば、ブロック内の全ての画素の輝度に対して全て同じ値を加算または減算するというようなブロック内の大小関係が変化しない改ざんを検出しやすくなる。
本実施形態では、ブロック内の左上隅のセル、右下隅のセルをセルペアとして選択した。しかしながら、一方をブロック内から選択し、もう一方をブロックの外から選択しても良い。これによって、例えば、ブロック内の全ての画素の輝度に対して全て同じ値を加算または減算するというようなブロック内の大小関係が変化しない改ざんを検出しやすくなる。
具体的には、画像入力装置11でのセルペア選択部408と、そのセルペア選択部408と同様の処理をする画像検証装置12でのセルペア選択部708の処理が異なる。セルペア選択部408では、各ブロックにおいて、セルペアの一方をブロック内の画素から選択する。例えば、ブロック内の左上隅の画素を選択する。ただし、ブロック内ならどこでも良く、乱数を用いて選択してもかまわない。ただし、ブロックがペアを組むもう一つのブロックからは選択しない方が望ましい。なぜなら、検証部710で既に改ざんブロックペアTPBと判定されているため、改ざんされている可能性が高いブロック同士のセルを比較することになる。その結果、誤判定をする可能性が高いからである。そして、もう一方はブロックの外から乱数を用いて選択する。このときの選択方法は例えばブロックペア選択部404と同様にし、画像検証装置12のセルペア選択部708と共通の乱数のアルゴリズムと乱数発生の初期設定値を使用しても良い。
まず、図12において、上記方法を用いたブロック間大小関係情報RBおよびセル間大小関係情報RSの算出の具体例を説明する。図12は、基本的に図6と同様の構成であるので、異なる個所だけ説明する。
まず、図6の601は9画素×9画素であるが、図12の1201は本変形例の特徴であるセルペアの選び方を見やすくするため、6画素×6画素とした。また、ブロックペアは以下の2つを選択する。
・1201a1と1201a2(ブロックペア1201a)
・1201b1と1201b2(ブロックペア1201b)
・1201a1と1201a2(ブロックペア1201a)
・1201b1と1201b2(ブロックペア1201b)
そして、図6と同様に、ブロック間大小関係情報RBを算出すると、以下の通りになる。
・RB(1201a)=0
・RB(1201b)=1
ここで、RB(X)は式(1)で算出したブロックペアXの大小関係を示す。
・RB(1201a)=0
・RB(1201b)=1
ここで、RB(X)は式(1)で算出したブロックペアXの大小関係を示す。
次に、図6と同様にセル間大小関係情報RSを算出するが、画像入力装置11のセルペア選択部408の処理が異なる。
ここでは、図12の参照符号1201では黒丸で囲んだ各ブロックの左上の画素とブロックの外の乱数で選択した画素をセルペアとする。ブロック1201a1のセルペアは1201c1と1201c2で示す画素とする。ブロック1201a2のセルペアは1201d1と1201d2で示す画素とする。ブロック1201b1のセルペアは1201e1と1201e2で示す画素とする。ブロック1201b2のセルペアは1201f1と1201f2で示す画素とする。
その後、図6と同様に、セル間大小関係情報RSを算出すると、以下の通りになる。
・RS(1201c1と1201c2)=0
・RS(1201d1と1201d2)=1
・RS(1201e1と1201e2)=1
・RS(1201f1と1201f2)=0
ここで、RS(AとB)は式(2)で算出した図12のセルペアを構成するAとBで示す画素の輝度の大小関係を示す。
・RS(1201c1と1201c2)=0
・RS(1201d1と1201d2)=1
・RS(1201e1と1201e2)=1
・RS(1201f1と1201f2)=0
ここで、RS(AとB)は式(2)で算出した図12のセルペアを構成するAとBで示す画素の輝度の大小関係を示す。
次に、図13において、上記方法を用いた改ざん有無判定と改ざん位置特定の具体例を説明する。図13は、基本的に図9と同様の構成であるので、異なる個所だけ説明する。
ここで、図13の参照符号1301は図12の参照符号1201が改ざんされた画像であり、網掛けの画素は改ざんが行われた場所であり、ブロック1301a1内の全ての画素が対象になっている。なお、網掛けの画素は全て改ざんによりの元の輝度よりも40下げられている。
まず、ブロックペアは図12と同様にして、以下の2つを選択する。
・1301a1と1301a2(ブロックペア1301a)
・1301b1と1301b2(ブロックペア1301b)
そして、図9と同様にブロック間大小関係情報RB’を算出すると、以下の通りになる。
・RB’(1301a)=1
・RB’(1301b)=1
このあと、RBとRB’を比較するが、図13では、ブロックペア1301bはRBとRB’が等しい。一方、ブロックペア1301aが、RBとRB’の値が等しくない。ここで、図13の参照符号1301はブロックペアの数が少ないので、閾値TH1を2とすると、大小関係が維持されているブロックペアの数は1つであり閾値TH1未満である。従って、ブロックペア1301aを改ざんブロックペアTPBとし、改ざんあり(NG)と判定される。
・1301a1と1301a2(ブロックペア1301a)
・1301b1と1301b2(ブロックペア1301b)
そして、図9と同様にブロック間大小関係情報RB’を算出すると、以下の通りになる。
・RB’(1301a)=1
・RB’(1301b)=1
このあと、RBとRB’を比較するが、図13では、ブロックペア1301bはRBとRB’が等しい。一方、ブロックペア1301aが、RBとRB’の値が等しくない。ここで、図13の参照符号1301はブロックペアの数が少ないので、閾値TH1を2とすると、大小関係が維持されているブロックペアの数は1つであり閾値TH1未満である。従って、ブロックペア1301aを改ざんブロックペアTPBとし、改ざんあり(NG)と判定される。
次に、図9と同様に、改ざん位置TPSを特定するが、画像検証装置12のセルペア選択部708の処理が異なる。例えば、図13では図12と同様にセルペアを選択し、参照符号1301では黒丸で囲んだ各ブロックの左上の画素とブロックの外から乱数で選択した画素をセルペアとする。そして、改ざんブロックペアと判定されたブロック1301a1とブロック1301a2で構成されるブロックペア1301aに対してセルペアを選択する。ブロック1301a1のセルペアは1301c1と1301c2で示す画素である。また、ブロック1301a2のセルペアは1301d1と1301d2で示す画素である。
ここで、図9と同様に、セル間大小関係情報RS’を算出すると、
・RS’(1301c1と1301c2)=1
・RS’(1301d1と1301d2)=1
となり、RSとRS’が異なるセルペア1301c1と1301c2が改ざん位置TPSとなる。なお、上記したように、図7の画像検証装置12の検証部710内の表示部(非図示)を用いて改ざん位置TPSを赤色、黄色、網掛けなどで表示することができる。
・RS’(1301c1と1301c2)=1
・RS’(1301d1と1301d2)=1
となり、RSとRS’が異なるセルペア1301c1と1301c2が改ざん位置TPSとなる。なお、上記したように、図7の画像検証装置12の検証部710内の表示部(非図示)を用いて改ざん位置TPSを赤色、黄色、網掛けなどで表示することができる。
なお、上記方法では、ブロック内のセル一つに対して、ブロックの外から一つのセルを選択して一つのセルペアを作成した。しかしながら、ブロック内のセル一つに対して、ブロックの外から複数のセルを選択して複数のセルペアを選択しても良い。これによって、ブロックが改ざん位置か否かをより正確に特定できる。具体的な方法を図16(a)、図17および図18を用いて説明する。
図16(a)は、セルペアの選択方法の概念図である。図17は図5のステップS508のセルペア選択処理の詳細フローである。図18は図8のステップS817の改ざん位置特定処理の詳細フローである。
セルペア選択処理について、図17のフローに沿って説明する。図17のフローの各ステップは、セルペア選択部408で処理される。まず、ステップS508aで、セルペア選択を行うブロックAを選択する。ブロックAはブロックペアとして選択されたものにする。図16(a)では、ブロックAとしてブロック1601aを選択する。次に、ステップ508bで、ブロックA内のセルを選択する。図16(a)では、セル1601bを選択する。ステップS508cで、ブロックAに所属しないセルを選択する。図16(a)では、1601cのセルを選択する。ステップS508dで、セルペアを登録する。ステップS508eで、セルペア選択数Nを満たすか否かを判定する。YESならステップS508fに進み、NOならステップS508cに戻る。図16(a)では、Nを3としているので、ステップS508cに戻り、セル1601bのペアとして、1601dおよび1601eが選択される。その結果、セルペアとして1601bと1601c、1601bと1601dおよび1601bと1601eの計3個できる。そして、ステップS508fでブロックA内のセルを全て選択したか否かを判定する。YESならステップS508gに進み、NOならステップS508bに戻る。図16(a)では、ブロック1601aのセル1601b以外のセルでも上述したように、セルペアを選択することになる。なお、ブロック内の全てのセルに対して、ペアを選択しないでも良い。最後に、ステップS508gで、全てのブロックペアでセルペアを選択したか否かを判定する。YESならステップS508の処理を終了する。NOなら、ステップS508aに戻る。図16(a)では、ブロック1601a以外のブロックでも同様にセルペアを選択し、処理を終了する。以上、ステップS508の詳細はフローを説明したが、図8のステップS815のセルペア選択処理でも同様のフローで処理を行われる。
続いて、改ざん位置特定処理について、図18のフローに沿って説明する。図18のフローの各ステップは、第2の検証部1103で処理される。まず、ステップS817aは図17のステップS508aと同様に処理する。図16(a)では、ブロックAとしてブロック1601aを選択する。次に、ステップS817bは図17のステップS508bと同様に処理する。図16(a)では、セル1601bを選択する。ステップS817cで、登録したセルペアを読み出す。図16(a)では、セルペアとして、1601bと1601cを読み出す。ステップS817dで、セルペアの大小関係は維持されているか否かを判定する。YESならステップS817eに進み。NOならステップS817fに進む。ステップS817eで、セルペア選択数Nを満たすか否かを判定する。YESならステップS817gに進む。NOならステップS817cに戻る。ステップS817gで、ブロックA内のセルを選択したか否かを判定する。YESならステップS817hに進む。NOなら、ステップS817bに戻る。ステップS817fで、ブロックA内の一つのセルペアの大小関係が維持されていない場合に、ブロックAは改ざん位置であると判定する。ただし、閾値を設けて、ブロック内のセルペアの大小関係が維持されていない数が一定以上なら改ざん位置であるとしても良い。ステップS817hで、ブロックA内の全てのセルペアの大小関係が維持されている場合に、ブロックAは改ざん位置ではないとする。図16(a)において、1601bが改ざんされている場合は、1601bと1601c、1601bと1601dおよび1601bと1601eのセルペアの大小関係が一つでも維持されていなければ、改ざん位置として特定できる。最後に、ステップS817iで、全てのブロックペアで判定したか否かを判定する。YESならステップS817の処理を終了する。NOならステップS817aに戻る。
また、ブロック内のセル一つに対して、ブロックの外から一つのセルを選択するが、そのセルは他のブロックペアのブロック内にあるようにしても良い。これによって、ブロックの外のセルの係数が正しいか否かをそのセルが含まれるブロックペアの大小関係を見れば判定できる。そのため、セル間大小関係情報が維持されているか否かをより正確に判定できる。その結果、ブロックが改ざん位置か否かをより正確に特定できる。具体的な方法を図16(b)、図19および図20を用いて説明する。
図16(b)は、セルペアの選択方法の概念図である。図19は図5のステップS508のセルペア選択処理の詳細フローである。図20は図8のステップS817の改ざん位置特定処理の詳細フローである。
セルペア選択処理について、図19のフローに沿って説明する。図19のフローの各ステップは、セルペア選択部408で処理される。まず、ステップS508hで、セルペア選択を行うブロックAを選択する。ブロックAはブロックペアとして選択されたものにする。図16(b)では、ブロックAとしてブロック1602aを選択する。次に、ステップ508iで、ブロックA内のセルを選択する。図16(b)では、セル1602bを選択する。ステップS508jで、ブロックA以外のブロックペアを持つブロックBを選択する。図16(b)では、1602dのブロックをブロックBとして選択する。ステップS508kで、ブロックB内のセルを選択する。図16(b)では、セル1602cを選択する。ステップS508lではセルペアを登録する。図16(b)では、セル1602bとセル1602cがセルペアとして登録する。ステップS508mでブロックA内のセルを全て選択したか否かを判定する。YESならステップS508nに進み、NOならステップS508iに戻る。図16(b)では、ブロック1602aのセル1602b以外のセルでも上述したように、セルペアを選択することになる。なお、ブロック内の全てのセルに対して、ペアを選択しないでも良い。最後に、ステップS508nで、全てのブロックペアでセルペアを選択したか否かを判定する。YESならステップS508の処理を終了する。NOなら、ステップS508hに戻る。図16(b)では、ブロック1602a以外のブロックでも同様にセルペアを選択し、処理を終了する。以上、ステップS508の詳細はフローを説明したが、図8のステップS815のセルペア選択処理でも同様のフローで処理を行われる。
続いて、改ざん位置特定処理について、図20のフローに沿って説明する。図20のフローの各ステップは、第2の検証部1103で処理される。まず、ステップS817aは図19のステップS508hと同様に処理する。図16(b)では、ブロックAとしてブロック1602aを選択する。次に、ステップS817kは図19のステップS508iと同様に処理する。図16(b)では、セル1602bを選択する。ステップS817lで、登録したセルペアを読み出す。図16(b)では、セルペアとして、1602bと1602cを読み出す。ステップS817mで、セルペアの大小関係は維持されているか否かを判定する。YESならステップS817oに進み。NOならステップS817nに進む。ステップS817nで、ブロックBと、ブロックBがペアを組むブロックとの大小関係が維持されているか否かを判定する。YESならステップS817pに進む。NOなら、ステップS817oに進む。ステップS817oで、ブロックA内のセルを選択したか否かを判定する。YESならステップS817qに進む。NOなら、ステップS817kに戻る。ステップS817pで、一つのセルペアの大小関係が維持されていないかつ、ブロックBと、ブロックBがペアを組むブロックとの大小関係が維持されている場合に、ブロックAは改ざん位置であると判定する。ただし、閾値を設けて、ブロック内のセルペアの大小関係が維持されていない数が一定以上なら改ざん位置であるとしても良い。ステップS817qで、ブロックA内の全てのセルペアの大小関係が維持されている場合に、ブロックAは改ざん位置ではないとする。図16(b)では、ブロックBは1602dであり、ペアを組むのはブロック1602eである。例えば、セル1602bとセル1602cのセルペアの大小関係が維持されていないかつ、ブロック1602dとブロック1602eのブロックペアの大小関係が維持されている場合があるとする。その場合は、ブロック1602aが改ざん位置となる。
最後に、ステップS817rで、全てのブロックペアで判定したか否かを判定する。YESならステップS817の処理を終了する。NOならステップS817jに戻る。
<変形例4>
本実施形態では、一つの画像データI’の画像検証のみを行ったが、変形例として、複数の画像データの画像検証を実行し、インタフェース上でその結果をまとめて表示しても良い。なお、この時に表示される各画像は見やすくするため、画像サイズを縮小したサムネイル表示する。従って、改ざん画像の検証結果が視覚的に分かりやすくなる。
本実施形態では、一つの画像データI’の画像検証のみを行ったが、変形例として、複数の画像データの画像検証を実行し、インタフェース上でその結果をまとめて表示しても良い。なお、この時に表示される各画像は見やすくするため、画像サイズを縮小したサムネイル表示する。従って、改ざん画像の検証結果が視覚的に分かりやすくなる。
図14および図15に画像検証結果の表示例を示す。図示において参照符号1401は8個の画像を画像検証装置12に入力し、全画像の検証結果を表示したGUIである。1401aは各画像のサムネイルが入力順に左から右へ並べて表示するエリアである。その中で、改ざんと判定された画像には改ざんではないと判定された画像と区別するために1401bのように、改ざんありと判定された画像には「×」マークが付加されている。ただし、これは一例であり、画像自体が点滅するなど改ざん有無が区別できるなら何でもかまわない。1401cはエリア1401a内のサムネイル画像の一つを選択した場合に表示される元の画像するエリアであり、図示の場合、サムネイル画像1401bの元画像が選択されていることが示されている。選択したことを示すため、1401bの画像の外枠が太くなっている。なお、エリア1401c内の1401d、1401e1および1401e2は上記したように改ざん位置を示すマークである。1401dは改ざん位置を特定できた場合であり、濃い網掛けブロックで表示する。また、1401e1および1401e2は、改ざんは特定できたが、改ざん位置を特定できない場合であり、薄い網掛けブロックで表示する。図14のGUI1402および図15の改ざん位置の表示も同様である。
1401fは改竄画像のみを表示する際のオプション選択ボタンが配置されたエリアである。例えばボタン1401gの「入力順」を選択すると、GUI1401の画面がGUI1402へ遷移する。GUI1402に示す通り、「入力順」の場合は、改ざんと判定された画像が入力された順序でソートして表示される。このときに1402aに示す各画像のサムネイルには1401bにように「×」マークを付加しない。これは、改ざん画像のみを表示するので、改ざんの有無を区別する必要がないからである。また、1401cは「入力順」で表示している状態が分かるように「入力順」ボタンが網掛けで表示したものである。なお、GUI1401の画面へ戻るには、「全画像を表示」ボタン1402cを選択すれば良い。なお、ボタン1401hはボタン1402cと同じ機能のボタンであるが、「全画像」を表示している状態が分かるように網掛けで表示している。以下、図15の選択ボタンの表示および「全画像を表示」ボタンの機能も同様である。
エリア1401fの各ボタンの説明に戻る。「信頼度順」ボタンは例えば改ざんブロックペアのペア間の距離がどれだけ離れているかを信頼度として、信頼度度が大きい順にソートして表示する。なお、上記の信頼度は距離が離れていれば、一か所に改ざんが行われても、両方のブロックが共に改ざんの影響を受けることが少なくなることに基づいたものである。例えば、図15のGUI1501の画面に遷移する。エリア1501aに各画像のサムネイルが信頼度が大きい順に左から右へ並んでいる。ここで、サムネイル1501bが一番大きい信頼度を持つ画像を示しており。エリア1501dにはサムネイル1501bの元の画像が表示されている。また、各画像のサムネイルの下には信頼度の値が表示されており、例えば、1501bの画像の信頼度は1501cに示すように、「10.45」となる。信頼度の具体的な計算は、まず各改ざんブロックペアのペア間の距離を各ブロックの左上画素の座標をそれぞれ(x1、y1)および(x2、y2)として、距離Lを以下の式(3)を用いて求める。
L={(x1−x2)2+(y1−y2)2}1/2 …(3)
L={(x1−x2)2+(y1−y2)2}1/2 …(3)
そして、改ざんブロックペア全ての距離Lを求めて、その平均値を信頼度とする。例えば、図9の画像901はブロックペア901aおよびブロックペア901bが改ざんブロックペアである。ここで、ブロックペア901aの距離Lはブロック901a1の左上画像の座標が(0、0)であり、ブロック901a2の左上画像の座標が(6、6)である。その場合、L=8.49となる。また、ブロックペア901aの距離Lはブロック901b1の左上画像の座標が(0、2)であり、ブロック901b2の左上画像の座標が(4、0)である。その場合、L=4.47となる。従って、信頼度=(8.49+4.47)÷2=6.48となる。
また、他の信頼度としては、まず改ざんブロックペアで改ざん位置を特定できた場合を1、改ざんを特定できたが、改ざん位置を検出できない場合を0.5とした改ざん特定度を求める。そして、改ざんブロックペア全ての改ざん特定度を求めて、その平均値を信頼度とする。それ以外にも、信頼度として表せる指標であれば何でもかまわない。
「改ざんの大きさ順」ボタンは、例えば画像内の改ざん位置TPSの大きさが大きい順にソートして表示する。例えば、図15のGUI1502の画面に遷移する。エリア1502aには各画像のサムネイルが改ざんの大きさが大きい順に左から右へ並んでいる。ここで、エリア1502bが一番改ざんの大きさが大きい画像のサムネイルであり、エリア1502dにはその元の画像が表示されている。また、各画像のサムネイルの下には信頼度の値が表示されており、例えば、サムネイル1502bが示す画像の信頼度は、参照符号1502cに示すように、「8」となる。
改ざんの大きさの具体的な計算は、まず、各改ざん位置において、隣接するブロックが改ざん位置の個数Pをカウントする。例えば、図9のブロック901a1は改ざん位置であり、隣接するブロック901b1も改ざん位置なので、P=1個となる。ブロック901bも同様に改ざん位置であるブロック901a1が隣接するので、P=1個となる。そして、全ての改ざん位置のPの合計を改ざんの大きさとする。例えば、図9の画像901は、改ざん位置ブロック901a1とブロック901b1のPの合計なので、改ざんの大きさは2となる。また、図15のエリア1502dに表示された画像は、参照符号1502eに示すように4つのブロックがお互い2つのブロックと隣接しているので、改ざんの大きさは4ブロック×2個=8となる。なお、上記した以外の改ざんの大きさが定義できる指標ならば何でも良い。
「改ざんの個数順」ボタンは画像内の改ざん位置の数が多い順にソートして表示する。表示方法は上記で説明した図15と同様である。例えば、図9の画像901の改ざん位置はブロック901a1とブロック901b1なので、改ざん位置の数は2となる。なお、上記した以外の改ざんの個数が定義できる指標ならば何でも良い。
なお、上記で説明したインタフェースは一例であり、画像のサイズ順などでソートして表示してもかまわない。また、インタフェースは例えば、マウスやタッチパネルを用いて操作できる。
[第2の実施形態]
本実施形態では、画像データIが動画像データである場合を想定し、ブロックよりも更に大きい単位としてフレームの存在に注目する。そして、新たに、フレームを第3単位とし、ブロックを第1単位、セルを第2単位とする3階層の改ざん有無および改ざん位置特定を行う例を説明する。
本実施形態では、画像データIが動画像データである場合を想定し、ブロックよりも更に大きい単位としてフレームの存在に注目する。そして、新たに、フレームを第3単位とし、ブロックを第1単位、セルを第2単位とする3階層の改ざん有無および改ざん位置特定を行う例を説明する。
まず、本第2の実施形態における画像入力装置11を図2に示す。なお、画像発生部201、ブロック係数算出部207、ブロックペア選択部208、ブロック間大小関係情報算出部209は図4の同じ名称の部を同様の処理をするので説明を省略する。ただし、画像発生部201は、時間軸に沿って順にフレームを発生する動画像発生部として機能することになる。セル分割部210、セル係数算出部211、セルペア選択部212、セル間大小関係情報算出部213についても同様である。フレーム分割部202は、入力された動画像入力部として機能し、入力した動画像を構成得るフレームに分割し、各フレームの位置を示すフレーム分割結果を後段のフレーム係数算出部203およびブロック分割部206へ出力する。
以降、フレーム係数算出部203、フレームペア選択部204、フレーム間大小間情報算出部205は、第1の実施形態で説明したブロックやセルの各処理を同様にして処理する。ここで、フレーム係数は例えば第1の実施形態で説明したブロック係数と同様にセル内の画素の輝度の平均値である。また、輝度の中央値や分散値などを適応可能である。その結果として、第3検証データであるフレーム間大小関係情報RPが算出され、それが後段の検証データ生成部214へ供給される。
ブロック分割部206は前段のフレーム分割部202から出力されたフレーム分割結果から各フレームを更にブロック分割する。そして、各ブロックの位置および各画素値を示すブロック分割結果を後段のブロック係数算出部207およびセル分割部210へ出力する。
検証データ生成部214はブロック間大小関係情報RBとセル間大小関係情報RSに加えて、フレーム間大小関係情報RPを含めて検証データS(RP)、S(RB)およびS(RS)を第1の実施形態と同様に署名やMACを用いて生成する。
なお、検証データS(RP)、S(RB)およびS(RS)の構成は図10の参照符号1003、1001、1002のようになる。参照符号1003は検証データS(RP)の構成である。また、1001は検証データS(RB)の構成である。なお、1002は検証データS(RS)の構成であるが、第1の実施形態と同様なので、以降の説明を省略する。この中で、RPおよびRBは選択した乱数順に配置される。例えば、RPなら1番目のフレームペアのRP、2番目のフレームペアのRP、以下略となる。RBなら1番目のフレームペア内の1番目ブロックペアのRB、1番目のフレームペア内の2番目ブロックペアのRB、2番目のフレームペア内の1番目ブロックペアのRB、以下略となる。
また、1003のヘッダには、例えば全部のRPの数の情報があり、1001のヘッダには例えば全部のRBの数の情報やフレームペア内のブロックペアの数の情報がある。そして、選択したX番目のあるフレームペアRPの中にある複数のRBを取得するには1001のRBの先頭から(X−1)×フレームペア内のブロックペアの数分進んで、フレームペア内のブロックペアの数分取得すれば良い。以上のようにして、検証データを生成する。以上のようにして、検証データ生成部214が検証データを生成する。画像出力部215は、検証データS(RP)、S(RB)およびS(RS)を画像データIに付加して出力する。
以上、本第2の実施形態における画像入力装置11の構成について説明した。なお、本第2の実施形態の撮影処理のフローは、図5に示す第1の実施形態のフローにおいて、ステップS501とステップS502の間にフレーム分割、フレーム係数算出、フレームペア選択、フレームペア大小関係算出が加わったものである。その結果、検証データがS(RB)およびS(RS)ではなくS(RP)、S(RB)およびS(RS)になる。
次に、本実施形態における画像検証装置12を図3に示す。画像入力部301は、画像データI’を入力する。そして、画像データI’のヘッダを解析し、付加されている検証データS(RP)、S(RB)およびS(RS)を抽出し、抽出した検証データS(RP)、S(RB)およびS(RS)を出力する。
次に、本実施形態における画像検証装置12を図3に示す。画像入力部301は、画像データI’を入力する。そして、画像データI’のヘッダを解析し、付加されている検証データS(RP)、S(RB)およびS(RS)を抽出し、抽出した検証データS(RP)、S(RB)およびS(RS)を出力する。
第3分割部として機能するフレーム分割部302は図2におけるフレーム分割202と同様の処理をし、前段の画像入力部301から入力された画像データI’をフレーム分割する。
以降、フレーム係数算出部303、フレームペア選択部304、フレーム間大小関係情報算出部305はそれぞれ図2における同じ名称の部と同様の処理をする。そして、フレーム間大小関係情報算出部305はブロック間大小関係情報RP’を算出する。
また、ブロック分割部306、ブロック係数算出部307、ブロックペア選択部308およびブロック間大小関係情報算出部309は、後で説明する検証部314にて改ざんあり(NG)がブロック分割部306に入力された時のみ処理を行う。その場合は、改ざんフレームペアTPPに対してのみ、図2の同じ名称の部と同様の処理をする。
そして、ブロック間大小関係情報算出部309からはブロック間大小関係情報RB’を算出する。さらに、セル分割部310、セル係数算出部311、セルペア選択部312およびセル間大小関係情報算出部313は、検証部314にて改ざんブロックペアTPBがセル分割部310に入力された時のみ処理を行う。その場合は、改ざんブロックペアTPBに対してのみ、図2の同じ名称の部と同様の処理をする。そして、セル間大小関係情報算出部313からはセル間大小関係情報RS’を算出する。
検証部314は、フレーム間大小関係情報RP’、ブロック間大小関係情報RB’、セル間大小関係情報RS’および画像入力部301で抽出された検証データS(RP)、S(RB)、S(RS)および検証鍵KSが入力される。そして、入力されたデータを用いて画像データI’が改ざんされているか否かを検証し、検証結果(OK/NG)、改ざんフレームペアTPP、改ざんブロックペアTPBおよび改ざん位置TPSを出力する。以上、本第2の実施形態における画像検証装置12の構成について説明した。
なお、本第2の実施形態の画像検証のフローは、図8に示す第1の実施形態のフローが以下のように変化する。
まず、ステップS801からステップS805およびステップ808の処理対象がブロックからフレームに変わる。次に、ステップS806の復号対象がS(RB,RS)からS(RP)、S(RB)およびS(RS)に変わる。
ステップS813からステップS816の処理対象がセルからブロックに変わる。最後に、追加としてステップS816で判明した改ざんブロックペアTPBの各セルペアに対して、RSとRS´を比較することで、改ざん位置TPSを特定する。これにより、改ざんブロックペアが存在するフレームの特定およびそのフレーム内のどの位置が改ざん位置されているかを分かることができる。
以上、本第2の実施形態では、フレーム、ブロック、セルの3階層の改ざん有無および改ざん位置特定を行った。しかしながら、本発明はこれに限らず、更に別の単位(例えば、複数のフレームからなる動画ファイル、または複数の動画ファイルからなるファイルグループ)などを追加して、4階層や5階層の改ざん有無および改ざん位置特定を行うこともできるであろう。
以上説明したように、本第2の実施形態によれば、画像データにおいて階層的な検証データを生成することにより、第1の実施形態とは異なる階層的な改ざん位置(動画像全体、フレーム単位、ブロック単位)の特定が可能になる。
また、実施形態では、第1単位、第2単位の画像データ係数として、画素の平均値を例にしたが、第1単位(第2単位も同様)で示される画像を構成する画素値から導き出せる値であれば如何なる値であっても構わない。
[第3の実施形態]
第1の実施形態では、大小関係が維持されていない全てのブロックペアを構成するブロックについて改ざん位置特定を行った。しかしながら、全体的に改ざんされている場合、改ざん位置は全体であることは明らかであり、ユーザは見る必要がないと考えられる。
そこで、第1の実施形態の画像検証装置12の検証部710において、大小関係が維持されているブロックペアの数と閾値TH2を用いて、以降の処理を切り替えることとする。
第1の実施形態では、大小関係が維持されていない全てのブロックペアを構成するブロックについて改ざん位置特定を行った。しかしながら、全体的に改ざんされている場合、改ざん位置は全体であることは明らかであり、ユーザは見る必要がないと考えられる。
そこで、第1の実施形態の画像検証装置12の検証部710において、大小関係が維持されているブロックペアの数と閾値TH2を用いて、以降の処理を切り替えることとする。
もし大小関係が維持されているブロックペアの数が閾値TH2以上の場合は第1の実施形態と同様に改ざん位置を特定する。一方、大小関係が維持されているブロックペアの数が閾値TH2未満の場合は改ざん位置特定を行わずに処理を改ざんあり(NG)のみを出力し処理を終了する。なお、「改ざん位置が一定以上存在するため、改ざん位置を特定しない」あるいは「全体にわたって改ざんされている」と通知しても良い。
以上によれば、全体的に改ざんされている場合に改ざん位置特定の処理を省略でき、処理を効率化できる。
なお、上述した画像の改ざんを検証するためのデータとして、フレーム、ブロック、セルなどに対応する各単位のデータを、検証データという呼称で説明した。しかしながら、この検証データのデータ構造は、必要に応じて変更が可能であろう。
例えば、検証データとして説明した各単位に対応する“改ざん検証に必要となる”データは、必要に応じて、暗号化/電子署名が省略されても良いであろう。また例えば、各単位の検証データは、最終出力される段階で、全て(フレーム、ブロック、セルなどに対応する各単位の検証データの全て)を1つにまとめてから暗号化し、外観として1つの検証データにして画像データに付加しても良いであろう。
本発明においては、必要な単位での改ざん検証が容易にできるよう、各単位の検証データがランダムアクセスされやすく、各単位の検証データが独立管理されていれば良い。従って、外願のデータ形態や、その暗号化の有無にとらわれるものではない。
また、実施形態では、画像入力装置11としてデジタルカメラを例にして説明したが、イメージスキャナを有する情報処理装置が、原本を読み取る場合にも適用できる。従って、デジタルカメラに限定されるものではない。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (11)
- 画像データの原本性を保証するための検証情報を、前記画像データから生成する情報処理装置であって、
原本性の保証の対象の画像データを入力する画像入力手段と、
該画像入力手段によって入力された前記画像データを、予め定められた画素数で表わされるブロックに分割するブロック分割手段と、
前記ブロックに含まれる画素の値について、前記ブロックの特徴を表わすブロック係数を得るための演算を行うブロック係数算出手段と、
前記ブロック分割手段で分割したブロックを、当該ブロックよりも小さいサイズのセルに分割するセル分割手段と、
前記セルに含まれる画素の値について、前記セルの特徴を表わすセル係数を得るための演算を行うセル係数算出手段と、
前記ブロック係数算出手段で得られた各ブロック係数の中から、ブロックペアとなる2つのブロック係数を選択し、1つのブロックペアを構成する2つのブロック係数の大小関係を示すデータを生成することで第1検証データを生成する第1の検証データ生成手段と、
予め設定された位置にある2つのセルに対応する前記セル係数を選択することでセルペアを決定し、1つのセルペアを構成する2つのセル係数の大小関係を示すデータを生成することで第2検証データを生成する第2の検証データ生成手段と、
前記画像入力手段により入力した前記原本性の保証の対象の画像データを出力すると共に、前記第1の検証データ生成手段で得られた前記第1検証データ、前記第2の検証データ生成手段で得られた前記第2検証データを前記原本性の保証の対象の画像データに対する前記検証情報として出力する出力手段と
を有することを特徴とする情報処理装置。 - 前記第2の検証データ生成手段は、異なるブロックの予め設定された位置にある2つのセルに対応する前記セル係数を選択することでセルペアを決定し、1つのセルペアを構成する2つのセル係数の大小関係を示すデータを生成することで第2検証データを生成することを特徴とする請求項1に記載の情報処理装置。
- 前記ブロック係数算出手段は、ブロック内に含まれる画素の平均値の算出、中央値の算出、分散値の算出のいずれかを実行することを特徴とする請求項1に記載の情報処理装置。
- 前記セル係数算出手段は、セル内に含まれる画素の平均値の算出、中央値の算出、分散値の算出のいずれかを実行することを特徴とする請求項1に記載の情報処理装置。
- 画像データと当該画像データに対する検証情報とに基づき、前記画像データの改竄の有無を検証する検証装置であって、
検証対象の画像データと、当該画像データのための検証情報とを入力する入力手段と、
該入力手段によって入力された前記画像データを、予め定められた画素数で表わされるブロックに分割するブロック分割手段と、
前記ブロックに含まれる画素の値について、前記ブロックの特徴を表わすブロック係数を得るための演算を行うブロック係数算出手段と、
前記ブロック分割手段で分割したブロックを、当該ブロックよりも小さいサイズのセルに分割するセル分割手段と、
前記セルに含まれる画素の値について、前記セルの特徴を表わすセル係数を得るための演算を行うセル係数算出手段と、
前記ブロック係数算出手段で得られた各ブロック係数の中から、ブロックペアとなる2つのブロック係数を選択し、1つのブロックペアを構成する2つのブロック係数の大小関係を示すデータを生成し、生成されたデータと、前記入力手段で入力した前記検証情報に含まれる第1検証データとを比較し、比較の結果が一致を示す場合には改竄無し、前記比較の結果が不一致を示せば改竄有りとして判定する第1判定手段と、
該第1判定手段で改竄有りを判定された場合、予め設定された位置にある2つのセルに対応する前記セル係数を選択することでセルペアを決定し、1つのセルペアを構成する2つのセル係数の大小関係を示すデータを生成し、生成されたデータと、前記入力手段で入力した前記検証情報に含まれる第2検証データとを比較し、前記比較の結果が一致を示す場合には着目セルペアの元になったブロックは改竄無しとして判定し、前記比較の結果が不一致を示す場合には前記着目セルペアの元になったブロックが改竄された箇所として判定する第2判定手段と
を有することを特徴とする検証装置。 - 画像データの原本性を保証するための検証情報を、前記画像データから生成する情報処理装置の制御方法であって、
画像入力手段が、原本性の保証の対象の画像データを入力する画像入力工程と、
ブロック分割手段が、該画像入力工程によって入力された前記画像データを、予め定められた画素数で表わされるブロックに分割するブロック分割工程と、
ブロック係数算出手段が、前記ブロックに含まれる画素の値について、前記ブロックの特徴を表わすブロック係数を得るための演算を行うブロック係数算出工程と、
セル分割手段が、前記ブロック分割工程で分割したブロックを、当該ブロックよりも小さいサイズのセルに分割するセル分割工程と、
セル係数算出手段が、前記セルに含まれる画素の値について、前記セルの特徴を表わすセル係数を得るための演算を行うセル係数算出工程と、
第1の検証データ生成手段が、前記ブロック係数算出工程で得られた各ブロック係数の中から、ブロックペアとなる2つのブロック係数を選択し、1つのブロックペアを構成する2つのブロック係数の大小関係を示すデータを生成することで第1検証データを生成する第1の検証データ生成工程と、
第2の検証データ生成手段が、予め設定された位置にある2つのセルに対応する前記セル係数を選択することでセルペアを決定し、1つのセルペアを構成する2つのセル係数の大小関係を示すデータを生成することで第2検証データを生成する第2の検証データ生成工程と、
出力手段が、前記画像入力工程により入力した前記原本性の保証の対象の画像データを出力すると共に、前記第1の検証データ生成工程で得られた前記第1検証データ、前記第2の検証データ生成工程で得られた前記第2検証データを前記原本性の保証の対象の画像データに対する前記検証情報として出力する出力工程と
を有することを特徴とする情報処理装置の制御方法。 - 前記第2の検証データ生成工程は、異なるブロックの予め設定された位置にある2つのセルに対応する前記セル係数を選択することでセルペアを決定し、1つのセルペアを構成する2つのセル係数の大小関係を示すデータを生成することで第2検証データを生成することを特徴とする請求項6に記載の情報処理装置の制御方法。
- 画像データと当該画像データに対する検証情報とに基づき、前記画像データの改竄の有無を検証する検証装置の制御方法であって、
入力手段が、検証対象の画像データと、当該画像データのための検証情報とを入力する入力工程と、
ブロック分割手段が、該入力工程によって入力された前記画像データを、予め定められた画素数で表わされるブロックに分割するブロック分割工程と、
ブロック係数算出手段が、前記ブロックに含まれる画素の値について、前記ブロックの特徴を表わすブロック係数を得るための演算を行うブロック係数算出工程と、
セル分割手段が、前記ブロック分割工程で分割したブロックを、当該ブロックよりも小さいサイズのセルに分割するセル分割工程と、
セル係数算出手段が、前記セルに含まれる画素の値について、前記セルの特徴を表わすセル係数を得るための演算を行うセル係数算出工程と、
第1判定手段が、前記ブロック係数算出工程で得られた各ブロック係数の中から、ブロックペアとなる2つのブロック係数を選択し、1つのブロックペアを構成する2つのブロック係数の大小関係を示すデータを生成し、生成されたデータと、前記入力工程で入力した前記検証情報に含まれる第1検証データとを比較し、比較の結果が一致を示す場合には改竄無し、前記比較の結果が不一致を示せば改竄有りとして判定する第1判定工程と、
第2判定手段が、該第1判定工程で改竄有りを判定された場合、予め設定された位置にある2つのセルに対応する前記セル係数を選択することでセルペアを決定し、1つのセルペアを構成する2つのセル係数の大小関係を示すデータを生成し、生成されたデータと、前記入力工程で入力した前記検証情報に含まれる第2検証データとを比較し、前記比較の結果が一致を示す場合には着目セルペアの元になったブロックは改竄無しとして判定し、前記比較の結果が不一致を示す場合には前記着目セルペアの元になったブロックが改竄された箇所として判定する第2判定工程と
を有することを特徴とする検証装置の制御方法。 - コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1乃至4のいずれか1項に記載の情報処理装置の各手段として機能させることを特徴とするプログラム。
- コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項5の検証装置の各手段として機能させることを特徴とするプログラム。
- 請求項9又は10に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010230700A JP2011151776A (ja) | 2009-12-25 | 2010-10-13 | 情報処理装置及び検証装置、並びにそれらの制御方法 |
US12/955,517 US8422732B2 (en) | 2009-12-25 | 2010-11-29 | Information processing apparatus, verification apparatus, and methods of controlling the same |
CN2010106151100A CN102142962B (zh) | 2009-12-25 | 2010-12-22 | 信息处理装置、验证装置及其控制方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009296390 | 2009-12-25 | ||
JP2009296390 | 2009-12-25 | ||
JP2010230700A JP2011151776A (ja) | 2009-12-25 | 2010-10-13 | 情報処理装置及び検証装置、並びにそれらの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011151776A true JP2011151776A (ja) | 2011-08-04 |
Family
ID=44187660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010230700A Withdrawn JP2011151776A (ja) | 2009-12-25 | 2010-10-13 | 情報処理装置及び検証装置、並びにそれらの制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8422732B2 (ja) |
JP (1) | JP2011151776A (ja) |
CN (1) | CN102142962B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103262522B (zh) * | 2010-12-14 | 2016-11-23 | 奥林巴斯株式会社 | 摄像装置 |
KR101917764B1 (ko) * | 2011-09-08 | 2018-11-14 | 삼성디스플레이 주식회사 | 입체 영상 표시 장치 및 입체 영상 표시 방법 |
JP6414073B2 (ja) * | 2013-11-28 | 2018-10-31 | 日本電気株式会社 | 無線通信端末、プログラム、及びセル選択方法 |
CN105957174B (zh) * | 2016-05-03 | 2018-01-16 | 宋道建 | 一种人员信息登记方法及系统 |
JP2020163831A (ja) * | 2019-03-29 | 2020-10-08 | 日東電工株式会社 | 積層体の製造方法、塗装物の製造方法、接合構造体の製造方法、熱転写シート、及び積層体 |
US11797857B2 (en) | 2019-11-25 | 2023-10-24 | Canon Kabushiki Kaisha | Image processing system, image processing method, and storage medium |
CN113408496B (zh) * | 2021-07-30 | 2023-06-16 | 浙江大华技术股份有限公司 | 图像确定方法和装置、存储介质及电子设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4932066A (en) * | 1985-10-15 | 1990-06-05 | Canon Kabushiki Kaisha | Information signal transmission system |
JP3069377B2 (ja) | 1990-12-20 | 2000-07-24 | キヤノン株式会社 | 画像処理装置および画像処理装置の制御方法 |
US5499294A (en) | 1993-11-24 | 1996-03-12 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Digital camera with apparatus for authentication of images produced from an image file |
JP3154325B2 (ja) * | 1996-11-28 | 2001-04-09 | 日本アイ・ビー・エム株式会社 | 認証情報を画像に隠し込むシステム及び画像認証システム |
US5875249A (en) * | 1997-01-08 | 1999-02-23 | International Business Machines Corporation | Invisible image watermark for image verification |
US6125357A (en) * | 1997-10-03 | 2000-09-26 | Pitney Bowes Inc. | Digital postal indicia employing machine and human verification |
US6411392B1 (en) * | 1998-04-15 | 2002-06-25 | Massachusetts Institute Of Technology | Method and apparatus for data hiding in printed images |
JP2000163594A (ja) * | 1998-11-30 | 2000-06-16 | Canon Inc | 画像パタ―ン検出方法及び装置 |
US6532541B1 (en) * | 1999-01-22 | 2003-03-11 | The Trustees Of Columbia University In The City Of New York | Method and apparatus for image authentication |
JP3098513B1 (ja) * | 1999-04-14 | 2000-10-16 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 改変判定装置およびその方法 |
EP1118961B1 (en) * | 1999-11-25 | 2007-08-29 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for embedding information for tamper detection |
US7142689B2 (en) * | 2000-01-31 | 2006-11-28 | Canon Kabushiki Kaisha | Image processing apparatus for determining specific images |
US6721439B1 (en) * | 2000-08-18 | 2004-04-13 | Hewlett-Packard Development Company, L.P. | Method and system of watermarking digital data using scaled bin encoding and maximum likelihood decoding |
WO2002061669A1 (en) * | 2001-01-10 | 2002-08-08 | The Trustees Of Columbia University In The City Of New York | Method and apparatus for watermarking images |
WO2003003276A2 (en) * | 2001-06-29 | 2003-01-09 | Oki Electric Industry Co., Ltd. | Method and system for watermarking an electrically depicted image |
US7006656B2 (en) * | 2001-10-15 | 2006-02-28 | The Research Foundation Of Suny | Lossless embedding of data in digital objects |
AUPS206802A0 (en) * | 2002-05-01 | 2002-06-06 | Canon Kabushiki Kaisha | Steganographic image encoding |
US7190806B2 (en) * | 2002-08-30 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | System and method for data encryption/decryption |
US20060020830A1 (en) * | 2002-10-09 | 2006-01-26 | Roberts David K | Localisation of image tampering |
CA2549678A1 (en) * | 2003-12-15 | 2005-06-30 | Pitney Bowes Inc. | Method for mail address block image information encoding, protection and recovery in postal payment applications |
JP4942177B2 (ja) | 2006-11-20 | 2012-05-30 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
JP5341615B2 (ja) * | 2008-06-27 | 2013-11-13 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
JP5340029B2 (ja) * | 2008-06-27 | 2013-11-13 | キヤノン株式会社 | 情報処理装置及びその制御方法、検証装置及びその制御方法 |
-
2010
- 2010-10-13 JP JP2010230700A patent/JP2011151776A/ja not_active Withdrawn
- 2010-11-29 US US12/955,517 patent/US8422732B2/en not_active Expired - Fee Related
- 2010-12-22 CN CN2010106151100A patent/CN102142962B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20110158530A1 (en) | 2011-06-30 |
CN102142962B (zh) | 2013-11-13 |
CN102142962A (zh) | 2011-08-03 |
US8422732B2 (en) | 2013-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011151776A (ja) | 情報処理装置及び検証装置、並びにそれらの制御方法 | |
Muhammad et al. | Image steganography for authenticity of visual contents in social networks | |
Swaminathan et al. | Nonintrusive component forensics of visual sensors using output images | |
JP6412690B2 (ja) | 深さ情報を取得する方法及びディスプレイ装置 | |
Hsu et al. | Probability-based tampering detection scheme for digital images | |
JP5472471B2 (ja) | 電子透かし埋め込み装置、電子透かし埋め込み方法及び電子透かし埋め込み用コンピュータプログラムならびに電子透かし検出装置 | |
JP6512706B2 (ja) | 透かし入り二次元コード、認証システム、認証方法、及びプログラム | |
CN101616233B (zh) | 信息处理装置及信息处理方法 | |
EP2587785A1 (en) | Image processing device and image processing method | |
KR101027411B1 (ko) | 정보처리장치 및 정보처리방법 | |
JP6543764B2 (ja) | デジタルビデオコンテンツのセキュリティ認証方法及びそのシステム | |
JP5115930B2 (ja) | 画像情報暗号化方法、画像情報暗号化装置、画像暗号化するためのコンピュータプログラム。 | |
JP2009236811A (ja) | 画像処理装置および画像処理方法並びにプログラム | |
US20140093121A1 (en) | Image processing apparatus and method | |
Jung et al. | Data hiding based on two-stage referencing for two-colour images | |
JP5791328B2 (ja) | 3d画像処理方法及び3d画像処理装置 | |
JP2020003879A (ja) | 情報処理装置、情報処理方法、透かし検出装置、透かし検出方法、及びプログラム | |
JP2010039968A (ja) | オブジェクト検出装置及び検出方法 | |
TWI740145B (zh) | 視訊的資訊隱藏與隱私保護方法、電子裝置、電腦程式產品 | |
JP2020107969A (ja) | 画像取得装置、判定方法、及び判定プログラム | |
Mfungo et al. | Fractal-based hybrid cryptosystem: Enhancing image encryption with RSA, homomorphic encryption, and chaotic maps | |
JP5055462B2 (ja) | 画像処理装置,画像処理方法及び撮像装置 | |
Wöhnert et al. | Trusted video streams in camera sensor networks | |
JP2015039153A (ja) | 画像処理装置、画像読み取り装置およびプログラム | |
Selvaraj et al. | C., K.; Seng, GH Cryptographic Encryption and Optimization for Internet of Things Based Medical Image Security. Electronics 2023, 12, 1636 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140107 |