JP2011124663A - Image processing apparatus and method - Google Patents

Image processing apparatus and method Download PDF

Info

Publication number
JP2011124663A
JP2011124663A JP2009278956A JP2009278956A JP2011124663A JP 2011124663 A JP2011124663 A JP 2011124663A JP 2009278956 A JP2009278956 A JP 2009278956A JP 2009278956 A JP2009278956 A JP 2009278956A JP 2011124663 A JP2011124663 A JP 2011124663A
Authority
JP
Japan
Prior art keywords
image data
unit
image
feature amount
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009278956A
Other languages
Japanese (ja)
Inventor
Yasuhiro Nakamoto
泰弘 中本
Kichiji Imamoto
吉治 今本
Junichi Hayashi
淳一 林
Nobuhiro Tagashira
信博 田頭
Kazuya Kishi
一也 岸
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2009278956A priority Critical patent/JP2011124663A/en
Publication of JP2011124663A publication Critical patent/JP2011124663A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To appropriately verify tampering even when resolution conversion is executed to image data. <P>SOLUTION: The image processing apparatus includes: an image input part for inputting image data; a division part for dividing the input image data into a plurality of blocks; an extraction part for generating a feature amount for each of the image data divided in the division part; a generation part for generating verification data corresponding to the feature amount extracted in the extraction part; and an output part for adding information indicating the division method of the division part and the verification data to the input image data and outputting them. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明はデジタルデータの原本性を保証するための画像処理装置およびその制御方法に関するものである。   The present invention relates to an image processing apparatus and its control method for guaranteeing the originality of digital data.

デジタルカメラなどで撮影した画像データは、画像編集ソフトなどを用いて改ざんされる心配がある。これを解決する一方法として、特許文献1に開示されているような方法が知られている。この文献によれば、予めデジタルカメラの内部にカメラ固有の秘密情報を組み込んでおき、デジタルカメラの内部で前記秘密情報を用いて画像データに署名処理を施す。そして撮影後に、上記署名情報を用いて検証できる。ところで、このような署名技術は、一般的に、画像データを僅かでも変更すると改ざんとみなす。よって、画像データの解像度変換なども許されない。   There is a concern that image data taken with a digital camera or the like may be altered using image editing software. As one method for solving this problem, a method disclosed in Patent Document 1 is known. According to this document, camera-specific secret information is incorporated in advance in a digital camera, and signature processing is performed on image data using the secret information in the digital camera. Then, after shooting, verification can be performed using the signature information. By the way, such a signature technique is generally regarded as falsification when image data is changed even a little. Therefore, resolution conversion of image data is not permitted.

米国特許番号5499294US Patent No. 5,499,294

本発明はかかる問題点に鑑みなされたものであり、画像データに解像度変換を施した場合であっても、適切に改ざん検証ができる技術を提供する。   The present invention has been made in view of such problems, and provides a technique capable of appropriately tampering verification even when resolution conversion is performed on image data.

上記課題を解決するため、本発明の画像処理装置の1つによれば、画像データを入力する画像入力部と、前記入力された画像データを複数のブロックに分割する分割部と、前記分割部で分割された画像データのそれぞれについて特徴量を生成する抽出部と、前記抽出部で抽出された特徴量に対応する検証データを生成する生成部と、前記入力された画像データに、前記分割部の分割方法を示す情報および前記検証データを付加して出力する出力部とを備えることを特徴とする。   In order to solve the above problems, according to one of the image processing apparatuses of the present invention, an image input unit that inputs image data, a dividing unit that divides the input image data into a plurality of blocks, and the dividing unit An extraction unit that generates a feature amount for each of the image data divided by the above, a generation unit that generates verification data corresponding to the feature amount extracted by the extraction unit, and the division unit into the input image data And an output unit for adding the verification data and outputting the information.

本発明によれば、画像データに解像度変換を施した場合であっても、適切に改ざん検証ができる。   According to the present invention, even if resolution conversion is performed on image data, it is possible to appropriately tamper with verification.

画像入力装置の構成を説明する図The figure explaining the structure of an image input device 検証装置の構成を説明する図The figure explaining the composition of a verification device ブロック分割処理を説明する図Diagram explaining block division processing 画像入力処理のフローチャートFlow chart of image input processing 特徴量抽出処理のフローチャートFlow chart of feature amount extraction processing ブロック分割処理を説明する図Diagram explaining block division processing

[実施例1]
<画像入力装置の構成>
図1は、本実施例において画像データの検証データを生成する画像処理装置(以後、画像入力装置と呼ぶ)を示す図である。この画像入力装置は、たとえば画像を撮影し、その画像データにデジタル署名を施すデジタルカメラに相当する。特に本実施例では、上記デジタル署名を施す際に画像データに付与する検証データとは別に、後述する画像を分割する方法を示す情報も合わせて付与する点が重要である。
[Example 1]
<Configuration of image input device>
FIG. 1 is a diagram illustrating an image processing apparatus (hereinafter referred to as an image input apparatus) that generates verification data of image data in the present embodiment. This image input device corresponds to, for example, a digital camera that takes an image and applies a digital signature to the image data. In particular, in the present embodiment, it is important that information indicating a method for dividing an image, which will be described later, is also provided in addition to the verification data provided to the image data when the digital signature is applied.

本実施例における画像入力装置は、画像発生部11、ブロック分割部12、抽出部13、検証データ生成部14、画像出力部15から構成される。なお、ブロック分割部12は、入力部16、分割部17で構成される。   The image input apparatus according to the present embodiment includes an image generation unit 11, a block division unit 12, an extraction unit 13, a verification data generation unit 14, and an image output unit 15. The block dividing unit 12 includes an input unit 16 and a dividing unit 17.

画像発生部11は、CCDなどにより撮影された画像データ画像データIを取得する。この画像データIは、例えば1600×1200画素を表す画像データとする。以下では、説明を簡単にするため、1色成分からなるモノクロ画像として説明する。もしカラー画像に適用する場合には、その色成分の数だけ繰り返して処理をすれば良いであろう。   The image generator 11 acquires image data image data I photographed by a CCD or the like. The image data I is, for example, image data representing 1600 × 1200 pixels. Hereinafter, in order to simplify the description, it will be described as a monochrome image composed of one color component. If it is applied to a color image, the processing may be repeated for the number of the color components.

ブロック分割部12は、その内部に入力部16、分割部17を備える。入力部16には、画像データIを分割する分割手法(例えば、縦に何分割して横に何分割することにより、何個のブロックに分割するのか)を示す指示信号を入力する。この指示は、例えば、画像入力装置の操作者により入力部16に入力される。分割部17は、画像データIを、入力部16から入力された分割手法に基づいて分割する。   The block dividing unit 12 includes an input unit 16 and a dividing unit 17 therein. The input unit 16 receives an instruction signal indicating a division method for dividing the image data I (for example, how many blocks are divided vertically and how many are divided horizontally). This instruction is input to the input unit 16 by an operator of the image input device, for example. The dividing unit 17 divides the image data I based on the dividing method input from the input unit 16.

図3は、本実施例に適用可能なブロック分割処理の一例である。画像61は、画像データIの一例である。本来は1600画素×1200画素程度を想定しているが、説明を簡単にするために、4×4画素(1画素あたり256階調)として説明する。図3の左に示す画像61のC0〜C15は、画素の位置を示す指標である。ここでは、C0の画素値は128であり、C1の画素値は150である。同様に、C2=121、C3=90、C4=120、…、C14=115、C15=155である。   FIG. 3 shows an example of a block division process applicable to this embodiment. The image 61 is an example of the image data I. Originally, about 1600 pixels × 1200 pixels is assumed, but in order to simplify the description, the description will be made with 4 × 4 pixels (256 gradations per pixel). C0 to C15 of the image 61 shown on the left in FIG. 3 are indexes indicating pixel positions. Here, the pixel value of C0 is 128, and the pixel value of C1 is 150. Similarly, C2 = 121, C3 = 90, C4 = 120,..., C14 = 115, and C15 = 155.

画像62は、画像データIを4個の正方形ブロックに分割する場合の例である。ここでは、「縦に2分割、横に2分割する」という分割手法に従って、ブロック分割部12が、画像61を4個(2×2)のブロックに分割する。まず、入力部16から、画像データIを縦と横に何分割するかを示すブロック分割数(m×n)を入力する。なお、その数を表すデータ構成としては、例えばデータ列{m,n}と予め決めておく。これは縦にm分割、横にn分割という意味を持つ。次に、分割部17は、画像データIとブロック分割数とに基づいて、画像(画像データIが示す画像)を縦にm等分、横にn等分する。これにより、m×n個にブロック分割された画像データを得る。例えば、図3の61の画像データIを入力した場合であって、ブロック分割数をm×n=4とした場合には、左上から順に2×2画素の画素が含まれるようにブロックを分割し、図3の画像62に示す4個の正方形ブロック(2×2画素)が得られる。ここで分割された複数の画像データのそれぞれを画像データDIとし、各画像データDIは、後段の抽出部13に出力する。   The image 62 is an example of dividing the image data I into four square blocks. Here, the block dividing unit 12 divides the image 61 into four (2 × 2) blocks in accordance with a division method of “two divisions vertically and two divisions horizontally”. First, the number of block divisions (m × n) indicating how many parts the image data I is divided vertically and horizontally is input from the input unit 16. In addition, as a data structure representing the number, for example, a data string {m, n} is determined in advance. This means that there are m divisions vertically and n divisions horizontally. Next, the dividing unit 17 divides the image (the image indicated by the image data I) into m equal parts and n equal parts horizontally based on the image data I and the number of block divisions. Thereby, image data divided into m × n blocks is obtained. For example, when 61 image data I in FIG. 3 is input and the number of block divisions is m × n = 4, the blocks are divided so that 2 × 2 pixels are included in order from the upper left. As a result, four square blocks (2 × 2 pixels) shown in the image 62 of FIG. 3 are obtained. Each of the plurality of image data divided here is set as image data DI, and each image data DI is output to the extraction unit 13 in the subsequent stage.

ところで、上記説明は、画像データI(画像61)の全ての画素を等分割できる場合について述べたが、後述するように等分割できない場合もあるだろう。その場合には、例外処理として以下の様に対処する。例えば、画像データI(画像61)が4×4画素で、ブロック分割数がm×n=9の場合には、画像63に示すように分割する。まず、縦方向について画素数/分割数=4/3=1.33・・・を計算し、小数点2位以下を切り捨て1.3とする。また、横方向についても画素数/分割数=4/3=1.33・・・を計算し、小数点2位以下を切り捨て1.3とする。そして、縦、横ともに、1つのブロックサイズを1.3画素として3×3個の仮想ブロックを構成する。そして、4×4画素の画像61に、上記仮想ブロックを重畳する。この場合、仮想ブロックの両端が4×4画素に必ずしも合致しない。よって、本実施例では、画像61の左上頂点と仮想ブロックの左上頂点が合致するように重畳することとする。次に、画像63を構成する9個の各ブロックについて、以下の様にブロックを解釈する。まず、ある1つのブロックが配置された部分において、元の画素が一部でもオーバーラップしている場合には、その画素はブロックに含まれているものと解釈する。例えば、画像63の最左上に配置されたブロックについては、画素C0(128)、C1(150)、C4(120)、C5(185)の4つがオーバーラップしている。よって、この最左上のブロックは、画素C0(128)、C1(150)、C4(120)、C5(185)で構成されていると解釈する。その他のブロックについても同様に解釈することにより、後述するブロック毎の特徴量抽出が適切に行える。   In the above description, the case where all the pixels of the image data I (image 61) can be equally divided has been described. In that case, the exception handling is handled as follows. For example, when the image data I (image 61) is 4 × 4 pixels and the number of block divisions is m × n = 9, division is performed as shown in an image 63. First, the number of pixels / number of divisions = 4/3 = 1.33... Is calculated in the vertical direction, and the second decimal place is rounded down to 1.3. Also in the horizontal direction, the number of pixels / number of divisions = 4/3 = 1.33 is calculated, and the second decimal place is rounded down to 1.3. Then, 3 × 3 virtual blocks are configured with one block size of 1.3 pixels in both vertical and horizontal directions. The virtual block is superimposed on the 4 × 4 pixel image 61. In this case, both ends of the virtual block do not necessarily match 4 × 4 pixels. Therefore, in this embodiment, the upper left vertex of the image 61 and the upper left vertex of the virtual block are superimposed so as to match. Next, for each of the nine blocks constituting the image 63, the blocks are interpreted as follows. First, in a portion where a certain block is arranged, if even some of the original pixels overlap, it is interpreted that the pixel is included in the block. For example, in the block arranged at the upper left of the image 63, four pixels C0 (128), C1 (150), C4 (120), and C5 (185) overlap. Therefore, the upper left block is interpreted as being composed of pixels C0 (128), C1 (150), C4 (120), and C5 (185). By interpreting the other blocks in the same manner, feature amount extraction for each block, which will be described later, can be performed appropriately.

抽出部13は、ブロック分割部12から入力された画像データDIの特徴量を生成する。ここでは、まず、処理対象となるブロック(例えば画像62の場合には、1ブロックが2×2画素で構成される)を構成する全ての画素値を抽出する。そして、各ブロックについて、そのブロックを構成する全ての画素値から平均値を算出する。その平均値がそのブロックの特徴量である。例えば、図3の画像62において、左上のブロックの特徴量を求める場合には、このブロックの画素値の平均は、(128+150+120+185)/4=145となる。画像62の右上、左下、右下のブロックの特徴量は、各々、106、139、163(小数点以下は切捨て)となる。ここで算出した各ブロックの特徴量は、各ブロックの検証データの元となる値として、後段の検証データ生成部14に順次出力される。なお、参考までに、図3の画像63の特徴量を求める場合には、最左上のブロックの特徴量は、画像62の特徴量と同じく、(128+150+120+185)/4=145となる。また画像63の最右上のブロックの特徴量は、C2(121)、C3(90)、C6(135)、C7(80)の画素値の平均(106)である。   The extraction unit 13 generates a feature amount of the image data DI input from the block division unit 12. Here, first, all pixel values constituting a block to be processed (for example, in the case of the image 62, one block is composed of 2 × 2 pixels) are extracted. Then, for each block, an average value is calculated from all the pixel values constituting the block. The average value is the feature amount of the block. For example, in the case of obtaining the feature amount of the upper left block in the image 62 in FIG. 3, the average pixel value of this block is (128 + 150 + 120 + 185) / 4 = 145. The feature amounts of the upper right, lower left, and lower right blocks of the image 62 are 106, 139, and 163 (fractions after the decimal point are discarded), respectively. The feature amount of each block calculated here is sequentially output to the verification data generation unit 14 at the subsequent stage as a value that is the basis of the verification data of each block. For reference, when the feature amount of the image 63 in FIG. 3 is obtained, the feature amount of the upper left block is (128 + 150 + 120 + 185) / 4 = 145, similar to the feature amount of the image 62. The feature amount of the upper right block of the image 63 is an average (106) of pixel values of C2 (121), C3 (90), C6 (135), and C7 (80).

検証データ生成部14は、抽出部13で生成された各画像データDIの特徴量を入力し、この特徴量から検証データを生成する。そして、生成された検証データを後段の画像出力部15に出力する。ここでの検証データとしては、ハッシュ値やMAC(Message Authentication Code)や電子署名などを適用可能である。本実施例では、上記各ブロックの特徴量(画像データDI)のそれぞれについて検証データを生成する。各ブロックのそれぞれについて検証データを保持することにより、各ブロック単位で、改ざん検証ができるという効果がある。   The verification data generation unit 14 inputs the feature amount of each image data DI generated by the extraction unit 13, and generates verification data from the feature amount. Then, the generated verification data is output to the subsequent image output unit 15. As the verification data, a hash value, a MAC (Message Authentication Code), an electronic signature, or the like can be applied. In this embodiment, verification data is generated for each feature amount (image data DI) of each block. By holding the verification data for each block, there is an effect that tampering verification can be performed for each block.

なお、検証データとしてMACを適用する場合には、MACを生成するための秘密情報を、署名鍵KSとして入力し、MACを生成する際に利用する。署名鍵KSは画像入力装置と後述する検証装置とで共有しておく必要があるため、予め画像入力装置および検証装置の内部に共通の秘密情報を保持するようにする。一方、検証データとして電子署名を適用する場合には、電子署名を生成するための秘密鍵を、署名鍵KSとして入力する。そして、予め画像入力装置の内部に署名鍵KSを保持しておき、検証データ生成部14が必要に応じて署名鍵KSを利用する。検証データ生成部14が利用した署名鍵KSに対応する公開鍵が、後述する検証装置の内部に保持されているものとする。   In addition, when applying MAC as verification data, the secret information for producing | generating MAC is input as signature key KS, and is utilized when producing | generating MAC. Since the signature key KS needs to be shared between the image input device and the verification device described later, common secret information is held in advance in the image input device and the verification device. On the other hand, when an electronic signature is applied as verification data, a secret key for generating an electronic signature is input as a signature key KS. The signature key KS is held in advance in the image input apparatus, and the verification data generation unit 14 uses the signature key KS as necessary. It is assumed that a public key corresponding to the signature key KS used by the verification data generation unit 14 is held in a verification device described later.

画像出力部15は、ブロック分割される前の画像データIに対して、ブロック分割部12の分割に適用した分割手法を示す情報、および検証データ生成部14で生成した検証データの2つを付加して出力する。ここで付加される検証データは、上述したように、各ブロックの検証データであり、ブロック数と同数の検証データである。ここでは、どの検証データがどのブロックに対応するものかが判るよう、予め検証データのデータ配列は決めておく。本実施例では、上記分割手法を示す情報と検証データは、画像データのヘッダ情報としてを付加する。しかしながら本発明はこれに限定されず、画像データIの後ろに連結しても良い。画像出力部15は、上記ヘッダ情報を含む画像データIを、各種のメモリ記録したり、ネットワークを介して外部へ送信したりする。   The image output unit 15 adds two pieces of information indicating the division method applied to the division of the block division unit 12 and the verification data generated by the verification data generation unit 14 to the image data I before being divided into blocks. And output. As described above, the verification data added here is the verification data of each block, which is the same number of verification data as the number of blocks. Here, the data arrangement of the verification data is determined in advance so that which verification data corresponds to which block. In this embodiment, the information indicating the division method and the verification data are added as header information of the image data. However, the present invention is not limited to this, and it may be connected after the image data I. The image output unit 15 records the image data I including the header information in various memories or transmits it to the outside via a network.

<画像入力装置の処理工程>
図4は、上述した画像入力装置が行う、画像の撮影、デジタル署名および画像データの出力までの一連の流れを示した図である。ところで、図1で示した画像入力装置は、この流れに基づいて動作が制御されるが、途中動作の一部をソフトウェア処理で行うことも可能である。
<Processing process of image input device>
FIG. 4 is a diagram showing a series of flow from image capturing, digital signature and image data output performed by the image input apparatus described above. By the way, the operation of the image input apparatus shown in FIG. 1 is controlled based on this flow, but part of the intermediate operation can be performed by software processing.

特に、ブロック分割部12、抽出部13、検証データ生成部14の処理は、CPUと図4の一連の動作を行うプログラムを保持するメモリ、および処理中の中間データを保持するメモリなどを利用することでソフトウェア処理も可能である。   In particular, the processing of the block division unit 12, the extraction unit 13, and the verification data generation unit 14 uses a CPU and a memory that holds a program for performing a series of operations in FIG. 4, a memory that holds intermediate data being processed, and the like. Software processing is also possible.

以下、図4の処理の流れを説明する。まず、ステップS71では、画像発生部11において、画像を撮影し、画像データIを取得する。この画像データIは、上述したように、例えば1600×1200画素を表す画像データである。ステップS72では、ブロック分割部12が、画像データIを複数のブロックに分割する。ステップS73では、抽出部13が、分割された画像データDIから、特徴量を生成する。ここでは各ブロックの特徴量を生成する。ステップS74では、抽出部13によって生成された各ブロックの特徴量を用いて、検証データ生成部14が各ブロックの検証データを生成する。ステップS75では、画像出力部15によって、画像データIと、分割手法を示す情報(分割ブロック数)と、各ブロックの検証データとをセットにして出力する。   Hereinafter, the flow of the processing in FIG. 4 will be described. First, in step S71, the image generating unit 11 captures an image and acquires image data I. As described above, the image data I is image data representing, for example, 1600 × 1200 pixels. In step S72, the block dividing unit 12 divides the image data I into a plurality of blocks. In step S73, the extraction unit 13 generates a feature amount from the divided image data DI. Here, the feature amount of each block is generated. In step S74, the verification data generation unit 14 generates verification data of each block using the feature amount of each block generated by the extraction unit 13. In step S75, the image output unit 15 outputs the image data I, information indicating the division method (number of divided blocks), and verification data of each block as a set.

<検証装置の構成>
以下、図2を用いて本実施例の改ざん検証装置を説明する。図2に示すように、本実施例における検証装置は、画像入力部101、ブロック分割部102、抽出部103、検証部104から構成される。ブロック分割部102は、入力部16、分割部17から構成される。まず画像入力部101には、上述の画像入力装置から出力された画像データIが、記憶媒体あるいはネットワーク等を介して画像データI’として上記検証装置に入力される。なお、上述したように、画像データI’には、上述した分割手法を示す情報(分割ブロック数)と検証データとがヘッダ情報として付属している。ブロック分割部102、抽出部103は、それぞれ上述したブロック分割部12、抽出部13と同じ処理を行う。また、検証部104は、この抽出部103から出力された各ブロックの特徴量から求まる各検証データを用いて、入力された画像データI’(より詳しくは、画像データI’が表す画像を構成する各ブロック)が改ざんされているか否かを検証し、検証結果(OK/NG)を出力する。また、本実施例では各ブロックに対して検証データを付与しているため、検証結果「NG」を出力する場合には、どのブロックがNGであったのかを示す情報も出力する。なお、検証部104で実行される検証処理は、上述した検証データ生成部14に完全に対応するものでなければならない。即ち、検証データ生成部14においてハッシュ値を生成した場合には、検証部104ではハッシュ値を用いて各ブロックの改ざん検証を行う。また検証データ生成部14においてMACが生成された場合には、検証部104でもMACを用いた検証処理を行う。もし、検証データ生成部14において電子署名が生成された場合には、検証部104でも電子署名を用いた検証処理を行う。また、検証鍵KSは、MACの場合は検証データ生成部14で適用された署名鍵KSと同一の秘密情報を適用し、電子署名の場合は検証データ生成部14で適用された署名鍵KSに対応する公開鍵であると考慮されるべきものである。なお、MAC及び電子署名を用いた検証方法については当業者にとって公知の技術であるので詳細な説明は省略する。
<Configuration of verification device>
Hereinafter, the tampering verification apparatus of the present embodiment will be described with reference to FIG. As illustrated in FIG. 2, the verification apparatus according to the present exemplary embodiment includes an image input unit 101, a block division unit 102, an extraction unit 103, and a verification unit 104. The block dividing unit 102 includes an input unit 16 and a dividing unit 17. First, the image data I output from the above-described image input device is input to the verification device as image data I ′ via the storage medium or the network. As described above, the image data I ′ is accompanied by information (number of divided blocks) indicating the above-described division method and verification data as header information. The block division unit 102 and the extraction unit 103 perform the same processes as the block division unit 12 and the extraction unit 13 described above, respectively. The verification unit 104 uses the verification data obtained from the feature amount of each block output from the extraction unit 103 to configure the input image data I ′ (more specifically, an image represented by the image data I ′). Whether each block is falsified and outputs a verification result (OK / NG). In this embodiment, since verification data is assigned to each block, when the verification result “NG” is output, information indicating which block is NG is also output. The verification process executed by the verification unit 104 must completely correspond to the verification data generation unit 14 described above. That is, when the verification data generation unit 14 generates a hash value, the verification unit 104 verifies tampering of each block using the hash value. When the verification data generation unit 14 generates a MAC, the verification unit 104 also performs verification processing using the MAC. If the verification data generation unit 14 generates an electronic signature, the verification unit 104 also performs verification processing using the electronic signature. For the verification key KS, the same secret information as the signature key KS applied by the verification data generation unit 14 is applied in the case of MAC, and the signature key KS applied by the verification data generation unit 14 is applied in the case of an electronic signature. It should be considered as the corresponding public key. Since the verification method using the MAC and the electronic signature is a technique known to those skilled in the art, a detailed description thereof will be omitted.

<検証処理フロー>
図5は、本実施例の検証装置で実行される検証処理の流れを示すフローチャートである。以下、図5を用いてその流れを説明する。ところで、図5で示した検証装置は、この流れに基づいて動作が制御されるが、途中動作の一部をソフトウェア処理で行うことも可能である。特に、ブロック分割部102、抽出部103、検証部104の処理は、CPUと上記動作を行うプログラムを保持し、かつ処理中の中間データを保持する記憶媒体で代替処理ができるであろう。本発明では、このような変形例も含む。
<Verification processing flow>
FIG. 5 is a flowchart showing the flow of verification processing executed by the verification apparatus of this embodiment. Hereinafter, the flow will be described with reference to FIG. Incidentally, the operation of the verification apparatus shown in FIG. 5 is controlled based on this flow, but part of the intermediate operation can be performed by software processing. In particular, the processing of the block division unit 102, the extraction unit 103, and the verification unit 104 may be replaced with a storage medium that holds the CPU and a program that performs the above-described operation and that holds intermediate data being processed. The present invention includes such modifications.

まず、ステップS111では、画像入力部101が検証処理対象となる画像データI’を入力する。そして、ステップS112では、画像データI’をブロック分割部102によって複数のブロックに分割する。ここでは、画像データI’に付属している分割ブロック数(分割手法を示す情報)に基づいて、画像入力装置と全く同じ個数になるように、画像データI’を縦方向と横方向に分割する。これに続いて、ステップS113では、抽出部103により、分割された各ブロック(画像データDI’)のそれぞれの特徴量を抽出する。ステップS114では、検証部104が、入力された画像データI’(より詳しくは画像データI’が表す画像を構成する各ブロック)の改ざんの有無を検証する。そして、ステップS115において、画像データI’が改ざんされたものか否か(より詳しくは画像データI’が表す画像を構成する各ブロックが改ざんされたものか否か)を判定する。ステップS116では、もし検証が成功した場合には検証結果「OK」を出力し、さもなければ検証結果「NG」を出力する。なお、本実施例では各ブロックに対して検証データを付与しているため、検証結果「NG」を出力する場合には、どのブロックがNGであったのかを示す情報も出力する。   First, in step S111, the image input unit 101 inputs image data I 'to be verified. In step S 112, the image data I ′ is divided into a plurality of blocks by the block dividing unit 102. Here, based on the number of divided blocks (information indicating the division method) attached to the image data I ′, the image data I ′ is divided in the vertical direction and the horizontal direction so as to be exactly the same number as the image input device. To do. Subsequently, in step S113, the extraction unit 103 extracts each feature amount of each divided block (image data DI '). In step S114, the verification unit 104 verifies whether the input image data I ′ (more specifically, each block constituting the image represented by the image data I ′) has been tampered with. In step S115, it is determined whether or not the image data I 'has been falsified (more specifically, whether or not each block constituting the image represented by the image data I' has been falsified). In step S116, if the verification is successful, the verification result “OK” is output, otherwise the verification result “NG” is output. In this embodiment, since verification data is assigned to each block, when the verification result “NG” is output, information indicating which block is NG is also output.

[変形例]
<特徴量の要素>
なお、上記実施例では、“画素値”の平均を用いて特徴量を抽出するようにしていた。しかしながら、本発明はこれに限定されることなく、画素値の代わりに、画素値を量子化して得られた値を用いてもよい。即ち、各ブロックについて、“量子化された画素値”の平均を特徴量としても良い。また、画素値の“平均”ではなく画素値の“分散”を特徴量としても良い。
[Modification]
<Elements of features>
In the above embodiment, the feature amount is extracted using the average of the “pixel values”. However, the present invention is not limited to this, and a value obtained by quantizing the pixel value may be used instead of the pixel value. That is, for each block, the average of “quantized pixel values” may be used as the feature amount. Further, instead of “average” of pixel values, “dispersion” of pixel values may be used as the feature amount.

<検証データの多重化>
なお、上記実施例では、分割部17が、1画面の画像(例えば画像61)に対して1種類の分割方法を適用していたため、画像中の各領域において1つの検証データが割当てられている状態である。しかしながら、改ざん検出の精度をあげることを目的とすると、画像中の各領域には2つ以上の検証データが存在するほうがなお良い。よって、変形例として、画像入力装置が、複数種類の分割方法(第1の分割方法、第2の分割方法、その他)で画像データI(画像61)を分割し、それぞれの分割方法に対応した検証データを生成することで、検証装置による改ざん検出の精度を上げることができる。具体例をあげると、画像データI(画像61)について、図6の画像62の方法で分割を行うことにより得られる検証データAと、画像63の方法で分割を行うことにより得られる検証データBを共に生成する。そして、これら検証データAと検証データBの両方を、画像データIのヘッダ情報として付加し、画像出力部15から出力する。よって、出力される画像データIのヘッダ情報には、「分割方法A:{2,2}」,「分割方法B:{3,3}」,「検証データA(2×2個の検証データ)」,「検証データB(3×3個の検証データ)」を含むことになる。
<Multiplication of verification data>
In the above embodiment, since the dividing unit 17 applies one kind of dividing method to an image of one screen (for example, the image 61), one verification data is assigned to each region in the image. State. However, for the purpose of improving the accuracy of falsification detection, it is better that two or more verification data exist in each region in the image. Therefore, as a modification, the image input apparatus divides the image data I (image 61) by a plurality of types of division methods (first division method, second division method, etc.), and corresponds to each division method. By generating the verification data, the accuracy of tampering detection by the verification device can be increased. As a specific example, the verification data A obtained by dividing the image data I (image 61) by the method of the image 62 in FIG. 6 and the verification data B obtained by dividing by the method of the image 63 are shown. Together. Then, both the verification data A and the verification data B are added as header information of the image data I and output from the image output unit 15. Therefore, the header information of the output image data I includes “division method A: {2, 2}”, “division method B: {3, 3}”, “verification data A (2 × 2 pieces of verification data). ) ”,“ Verification data B (3 × 3 verification data) ”.

<可変ブロックサイズ>
なお、以上の説明では、分割されたブロックのサイズは全て同じであったが、必要に応じて変更すると検証データのデータ量を削減できる。そのために、例えば、入力部16から、重要な領域と重要でない領域がわかる領域情報を入力することにより、ブロックのサイズ(ブロックの総個数)を変更するようにしても良い。
<Variable block size>
In the above description, the sizes of the divided blocks are all the same, but the data amount of the verification data can be reduced if it is changed as necessary. For this purpose, for example, the size of the block (the total number of blocks) may be changed by inputting region information indicating an important region and an unimportant region from the input unit 16.

以下、図6を参照して具体例を示す。図3の分割方法と比較すると、領域情報64を参照してブロック分割方法を最終決定している点が異なる。即ち、図6に示すブロック分割においては、上記実施例で説明したブロック分割方法を示す情報だけから、最終的なブロックは決定しない。領域情報64では、1画素ごとに重要か重要でないかを示す1ビット情報(1/0)が割当てられている。ここでは、画素C0、C5、C8、C9、C12、C13が重要であり、それ以外の10個の画素は非重要である。図6に示す変形例では、画像61を2×2個に分割する場合でも、3×3個に分割する場合でも、その後に、領域情報64に基づいた後処理が存在する。まず、画像61を2×2個に分割する場合の例を説明する。分割で得られた4つのブロックについて、それぞれ重要な画素が1つでも含まれているか否かを判断する。画像62を見ると、左上と左下のブロックは重要な画素を1つ以上含むため、重要なブロックである。一方、右上と右下のブロックは、重要な画素を1つも含まないため、非重要なブロックである。この変形例においては、最後の後処理として、非重要なブロックを統合する。従って、画像62の4ブロックは、右上と右下のブロックが統合されるので、画像65に示す3ブロックが最終的なブロックとなる。ところで、ここで統合されたブロックは、8画素を含むことになるので、上述した特徴量は、8画素の画素値の平均となる。その他のブロックの特徴量の算出方法は、上述したとおりである。また、画像61を3×3個に分割する場合の例を説明する。分割で得られた9つのブロックについて、それぞれ重要な画素が1つでも含まれているか否かを判断する。画像63を見ると、右側3つのブロック以外は重要なブロックである。従って、画像63の9ブロックは、右側3つのブロックが統合されるので、画像66に示す7ブロックが最終的なブロックとなる。ここで統合されたブロックは、上述した画像63の各ブロックの解釈方法に従うので、8画素を含むことになる。よって、統合されたブロックの特徴量は、8画素の画素値の平均となる。その他のブロックの特徴量の算出方法は、上述したとおりである。なお、この変形例においては、ブロックの分割手法を示す情報として、「分割方法A:{2,2}」或いは「分割方法B:{3,3}」だけでなく、「領域情報(C0〜C15のそれぞれが重要か非重要かを示す16個の1ビットデータ)」も含む。そして、この分割手法を示す情報と検証データを画像データIとともに画像出力部15から出力する。これにより、検証装置においても、図6の画像65、66に示すブロック分割を行うことができ、正常に各ブロックの改ざん検証が行える。   A specific example will be described below with reference to FIG. Compared to the division method of FIG. 3, the block division method is finally determined with reference to the area information 64. That is, in the block division shown in FIG. 6, the final block is not determined only from the information indicating the block division method described in the above embodiment. In the area information 64, 1-bit information (1/0) indicating whether it is important or not important for each pixel is assigned. Here, the pixels C0, C5, C8, C9, C12, and C13 are important, and the other ten pixels are not important. In the modification shown in FIG. 6, whether the image 61 is divided into 2 × 2 or 3 × 3, post-processing based on the region information 64 exists thereafter. First, an example of dividing the image 61 into 2 × 2 will be described. It is determined whether or not at least one important pixel is included in each of the four blocks obtained by the division. Looking at the image 62, the upper left and lower left blocks are important blocks because they contain one or more important pixels. On the other hand, the upper right and lower right blocks are non-important blocks because they do not include any important pixels. In this modification, unimportant blocks are integrated as the final post-processing. Accordingly, since the upper right block and the lower right block are integrated in the four blocks of the image 62, the three blocks shown in the image 65 are the final blocks. Incidentally, since the integrated block includes 8 pixels, the above-described feature amount is an average of the pixel values of 8 pixels. The calculation method of the feature amount of other blocks is as described above. An example in which the image 61 is divided into 3 × 3 will be described. It is determined whether or not at least one important pixel is included in each of the nine blocks obtained by the division. Looking at the image 63, all but the three blocks on the right are important blocks. Therefore, since the nine blocks on the right side of the nine blocks of the image 63 are integrated, the seven blocks shown in the image 66 are the final blocks. The integrated block here follows the method for interpreting each block of the image 63 described above, and therefore includes 8 pixels. Therefore, the feature amount of the integrated block is an average of the pixel values of 8 pixels. The calculation method of the feature amount of other blocks is as described above. In this modification, the information indicating the block division method is not only “division method A: {2, 2}” or “division method B: {3, 3}”, but also “region information (C0 to C0). 16 pieces of 1-bit data indicating whether each of C15 is important or not important). Then, information indicating the division method and verification data are output from the image output unit 15 together with the image data I. Thereby, also in the verification apparatus, the block division shown in the images 65 and 66 in FIG. 6 can be performed, and the falsification verification of each block can be normally performed.

なお、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。よって、コンピュータに読み込ませ実行させることで、前記コンピュータを、上述の画像処理装置または検証装置として機能させるプログラムは、本発明の範疇に含む。また、そのプログラムを格納した、コンピュータが読み取り可能な記憶媒体も本発明の範疇に含む。   The present invention is also realized by executing the following processing. That is, software (program) for realizing the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed. Therefore, a program that causes a computer to function as the above-described image processing apparatus or verification apparatus by being read and executed by the computer is included in the scope of the present invention. Further, a computer-readable storage medium storing the program is also included in the scope of the present invention.

Claims (8)

画像データを入力する画像入力部と、
前記入力された画像データを複数のブロックに分割する分割部と、
前記分割部で分割された画像データのそれぞれについて特徴量を生成する抽出部と、
前記抽出部で抽出された特徴量に対応する検証データを生成する生成部と、
前記入力された画像データに、前記分割部の分割方法を示す情報および前記検証データを付加して出力する出力部と
を備えることを特徴とする画像処理装置。
An image input unit for inputting image data;
A dividing unit that divides the input image data into a plurality of blocks;
An extraction unit that generates a feature amount for each of the image data divided by the dividing unit;
A generation unit that generates verification data corresponding to the feature amount extracted by the extraction unit;
An image processing apparatus comprising: an output unit that adds information indicating the division method of the division unit and the verification data to the input image data and outputs the added image data.
画像データを入力する画像入力部と、
前記入力された画像データを複数のブロックに分割する分割部と、
前記分割部で分割された画像データのそれぞれについて特徴量を生成し、それぞれの特徴量に対応する検証データを生成する生成部と、
前記入力された画像データに、前記分割部の分割方法を示す情報および前記検証データを付加して出力する出力部と
を備えることを特徴とする画像処理装置。
An image input unit for inputting image data;
A dividing unit that divides the input image data into a plurality of blocks;
Generating a feature amount for each of the image data divided by the dividing unit, generating a verification data corresponding to each feature amount; and
An image processing apparatus comprising: an output unit that adds information indicating the division method of the division unit and the verification data to the input image data and outputs the added image data.
前記抽出部は、前記分割部で分割された各ブロックについて、ブロックを構成する画素値の平均を特徴量として生成することを特徴とする請求項2に記載の画像処理装置。   The image processing apparatus according to claim 2, wherein the extraction unit generates an average of pixel values constituting the block as a feature amount for each block divided by the division unit. 前記検証データは、前記特徴量のハッシュ値であることを特徴とする請求項2に記載の画像処理装置。   The image processing apparatus according to claim 2, wherein the verification data is a hash value of the feature amount. 前記分割部は、第1の分割方法に従って前記入力された画像データを複数のブロックに分割し、前記生成部は、第1の分割方法に従って分割された画像データのそれぞれについて特徴量を生成し、それぞれの特徴量に対して検証データを生成し、前記分割部は、第2の分割方法に従って前記入力された画像データを複数のブロックに分割し、前記生成部は、第2の分割方法に従って分割された画像データのそれぞれについて特徴量を生成し、それぞれの特徴量に対して検証データを生成し、前記出力部は、前記入力された画像データに、前記第1の分割方法を示す情報および第2の分割方法を示す情報および前記検証データを付加して出力することを特徴とする請求項2に記載の画像処理装置。   The dividing unit divides the input image data into a plurality of blocks according to a first dividing method, and the generating unit generates a feature amount for each of the image data divided according to the first dividing method, Verification data is generated for each feature amount, the dividing unit divides the input image data into a plurality of blocks according to a second dividing method, and the generating unit divides according to the second dividing method. A feature amount is generated for each of the received image data, and verification data is generated for each of the feature amounts. The output unit includes information indicating the first division method and a first value for the input image data. The image processing apparatus according to claim 2, wherein information indicating two division methods and the verification data are added and output. 画像処理装置の制御方法であって、前記画像処理装置に、
入力された画像データを複数のブロックに分割する分割工程と、
前記分割された画像データのそれぞれについて特徴量を生成し、それぞれの特徴量に対応する検証データを生成させる生成工程と、
前記入力された画像データに、前記分割工程の分割方法を示す情報および前記検証データを付加して出力させる出力工程と
を実行させることを特徴とする方法。
A method for controlling an image processing apparatus, the image processing apparatus comprising:
A dividing step of dividing the input image data into a plurality of blocks;
Generating a feature amount for each of the divided image data and generating verification data corresponding to each feature amount; and
A method of causing the input image data to execute an output step in which information indicating the division method of the division step and the verification data are added and output.
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1乃至5のいずれか1項に記載の画像処理装置として機能させることを特徴とするプログラム。   A program that causes a computer to function as the image processing apparatus according to any one of claims 1 to 5 by being read and executed by a computer. 請求項7に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 7.
JP2009278956A 2009-12-08 2009-12-08 Image processing apparatus and method Pending JP2011124663A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009278956A JP2011124663A (en) 2009-12-08 2009-12-08 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009278956A JP2011124663A (en) 2009-12-08 2009-12-08 Image processing apparatus and method

Publications (1)

Publication Number Publication Date
JP2011124663A true JP2011124663A (en) 2011-06-23

Family

ID=44288156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009278956A Pending JP2011124663A (en) 2009-12-08 2009-12-08 Image processing apparatus and method

Country Status (1)

Country Link
JP (1) JP2011124663A (en)

Similar Documents

Publication Publication Date Title
Naveh et al. Photoproof: Cryptographic image authentication for any set of permissible transformations
JP6450479B2 (en) Anti-counterfeiting method
KR100878579B1 (en) Watermarking Method, Watermark Validation Method, Watermarking Device and Watermark Validation Device
JP2006115246A5 (en)
JP6910772B2 (en) Imaging device, control method and program of imaging device
JP2008152334A (en) Program, information storage medium, two-dimensional code, printed matter, two-dimensional code image, method for controlling display of two-dimensional code image, and two-dimensional code creation system
CN101616233B (en) Information processing apparatus and information processing method
EP3989206A1 (en) Cryptography key generation device and cryptography key generation method
JP5340029B2 (en) Information processing apparatus and control method thereof, verification apparatus and control method thereof
JP2011146799A (en) Device and program for processing image
KR20210121025A (en) Sensor device, encryption method
JP2011028738A5 (en) Image processing apparatus, printer, and image processing method
CN109963081B (en) Video processing method and device, electronic equipment and computer readable storage medium
CN108712400A (en) Data transmission method, device, computer readable storage medium and electronic equipment
JP2013243610A (en) Image data transmission apparatus, image data reception apparatus, image data transmission system, image data transmission method, image data reception method, transmission image data, and program
CN109657487B (en) Image processing method, image verification method and device
JP2011124663A (en) Image processing apparatus and method
JP2011193438A (en) Image input apparatus, image verification apparatus, and control methods therefor
TWI465912B (en) Method for building connection between electronic devices
JP2018081424A (en) Image processing device and image processing method
JP2007013882A (en) Storage medium, and apparatus and method for digital data processing
JP2020003879A (en) Information processing device, information processing method, watermark detection device, watermark detection method, and program
US8340347B2 (en) Information processing apparatus and information processing method
TWI669629B (en) Electronic signature device and electronic signature method
TWI740145B (en) Method, electrical device, and computer program product for hiding information and protecting privacy of video