JP2009076990A - Image processing method, image processing apparatus, image processing program and storage medium - Google Patents

Image processing method, image processing apparatus, image processing program and storage medium Download PDF

Info

Publication number
JP2009076990A
JP2009076990A JP2007241590A JP2007241590A JP2009076990A JP 2009076990 A JP2009076990 A JP 2009076990A JP 2007241590 A JP2007241590 A JP 2007241590A JP 2007241590 A JP2007241590 A JP 2007241590A JP 2009076990 A JP2009076990 A JP 2009076990A
Authority
JP
Japan
Prior art keywords
data
digital watermark
bit
watermark data
image
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
JP2007241590A
Other languages
Japanese (ja)
Inventor
Masaaki Ishikawa
雅朗 石川
Takayuki Nishimura
隆之 西村
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007241590A priority Critical patent/JP2009076990A/en
Publication of JP2009076990A publication Critical patent/JP2009076990A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing method capable of more correctly determining falsification of image data, an image processing apparatus, and to provide an image processing program and a storage medium. <P>SOLUTION: The image processing method is used to determine whether image data having embedded gray-coded electronic watermark data of a predetermined bit length have been tampered. The processing method has: a means for extracting the electronic watermark data from the image data which are tampered or not tampered; and a comparison processing step for determining that the image data are not tampered at arbitrary one bit if the arbitrary one bits do not match to each other in comparison between the extracted electronic watermark data and the electronic watermark data of a predetermined bit length, and determining that the image data have been tampered if arbitrary two or more bits do not match. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、画像処理方法、画像処理装置、画像処理プログラム及び記録媒体に関する。   The present invention relates to an image processing method, an image processing apparatus, an image processing program, and a recording medium.

従来、デジタル情報は、劣化させることなくコンピュータなどで簡単にコピーできるが、逆に、書換えなど改ざんすることが容易であるという特徴がある。このため、デジタル情報は簡単な処理や操作によって、不正にコピーされて勝手に再利用されたり、一部を改ざんして証拠写真に使用できないようにされたりしやすい。   Conventionally, digital information can be easily copied by a computer or the like without being deteriorated, but conversely has a feature that it can be easily altered such as rewriting. For this reason, digital information is easily copied and reused without permission by simple processing and operations, or part of the digital information is easily altered so that it cannot be used for evidence photographs.

これを防止する手法として、電子透かしやデータハイディングなどと呼ばれる方法がある。電子透かし手法は、デジタル画像などのデジタルコンテンツを普通に再生した場合には視覚できない情報を、デジタル画像に対して付加する手法である。   Methods for preventing this include methods called digital watermarking and data hiding. The digital watermarking method is a method of adding information that cannot be seen when digital content such as a digital image is normally reproduced to the digital image.

電子透かしを埋め込む方法は、次の二つに大きく分類できる。すなわち、
(1)内容データの標本値に直接埋め込む方法
(2)周波数成分に埋め込む方法
であり、(1)のように内容データの標本値に直接電子透かしを埋め込む技術を空間領域型といい、(2)のように画像データへ離散フーリエ(DFT)、離散コサイン(DCT)、離散ウェーブレット(DWT)などの変換を施した変換領域において周波数成分に電子透かしを埋め込む技術を変換領域型という。
The method of embedding a digital watermark can be broadly classified into the following two. That is,
(1) A method of directly embedding in a sample value of content data (2) A method of embedding in a frequency component, and a technique of embedding a digital watermark directly in a sample value of content data as in (1) is called a spatial domain type. A technique for embedding a digital watermark in a frequency component in a transform domain obtained by transforming image data such as discrete Fourier (DFT), discrete cosine (DCT), or discrete wavelet (DWT) as shown in FIG.

一般に、(1)の空間領域型は、変換処理が不要であるため透かし埋め込み処理が高速に実行可能である利点を有する反面、埋め込み可能な情報量が少なく、電子透かしが埋め込まれた画像に画像処理が施された場合に、透かしが改変・消失しやすいなどの欠点が存在する。一方(2)の変換領域型は、空間領域型と逆の特徴を有する。   In general, the spatial domain type (1) has an advantage that the watermark embedding process can be executed at a high speed because the conversion process is unnecessary, but the amount of information that can be embedded is small, and the image is embedded in an image in which a digital watermark is embedded. There is a drawback that the watermark is easily altered or lost when the processing is performed. On the other hand, the transform domain type (2) has the opposite characteristics to the spatial domain type.

即ち、(1)の空間領域型の方法は、加工や圧縮などの処理が行なわれると、埋込んだデータが失われやすいが処理が軽い。また、(1)の空間領域型の場合、デジタル画像の内容データの標本値に直接電子透かしを埋め込んでいるため、デジタル画像に対して加工、変倍、圧縮、などの処理を行い内容データに影響を与えることが、そのまま電子透かしを破損させてしまう。   That is, in the space area type method (1), when processing such as processing or compression is performed, embedded data is easily lost, but processing is light. In the case of the spatial domain type (1), since the digital watermark is directly embedded in the sample value of the content data of the digital image, the digital image is subjected to processing such as processing, scaling, compression, etc. Influencing it will damage the watermark as it is.

一方、(2)の変換領域型の方法は、加工や圧縮などの処理には強いが、埋め込みや抽出の処理が重いという特性がある。また、(2)の変換領域型の場合、デジタル画像の内容データを周波数領域に変換した周波数領域データに対して電子透かしを埋め込んでいるため、画像の内容に変更を加えないような変倍処理や各画素への微少な変化を与える加工など、画像の周波数に影響を与えない処理によっては電子透かしを破損させないという利点がある。   On the other hand, the conversion area type method (2) is strong in processing such as processing and compression, but has a characteristic that processing of embedding and extraction is heavy. In the case of the conversion area type (2), since the digital watermark is embedded in the frequency domain data obtained by converting the content data of the digital image into the frequency domain, a scaling process that does not change the contents of the image. There is an advantage that the digital watermark is not damaged by processing that does not affect the frequency of the image, such as processing that gives a slight change to each pixel.

このように電子透かし手法の用途としては、著作権情報の記録、違法コピー者情報の追跡、IPアドレスの履歴記録、違法コピーの防止(不可視・高耐性型)、改ざん防止への応用(不可視・低耐性)、認証、秘密通信、デジタルコンテンツの注釈やラベルを埋込む(可視・不可逆型、所有権者表示)、透かし除去可能化(可視・可逆型、コンテンツ配布)などがある。   As described above, the digital watermarking method can be used to record copyright information, track illegal copy information, record IP address history, prevent illegal copying (invisible / highly resistant type), and prevent tampering (invisible / Low tolerance), authentication, secret communication, embedding digital content annotations and labels (visible / irreversible type, owner's display), and enabling watermark removal (visible / reversible type, content distribution).

その中で、例えば、デジタルカメラへの用途として、写真撮影時にカメラの製造番号、日時等を撮影画像に透かし埋込むと同時にその電子署名を作成する機構をカメラに設ける方法が提案されている(非特許文献1、2を参照)。これにより、証明写真の改ざん検知に加え、撮影カメラの特定や撮影日時の確認が可能となる。改ざん検知は電子署名技術だけで可能であるが、透かし技術を活用することで撮影カメラや撮影日時の特定化が可能になり、改ざん抑止により効果的に作用する。更に、電子透かしの埋込み情報量を多くすることによって、改ざん場所を特定化する精度が向上する。また、著作権保護のためにも多くの情報を透かし埋込みできる方が、埋込み情報の解析時に情報が抽出しやすくなり、有効性が高くなる。   Among them, for example, as an application to a digital camera, there has been proposed a method in which a camera is provided with a mechanism for embedding a camera serial number and date / time in a photographed image and at the same time creating an electronic signature ( (See Non-Patent Documents 1 and 2). As a result, in addition to detection of alteration of the ID photo, it is possible to identify the shooting camera and check the shooting date and time. Tampering detection is possible only with the digital signature technology, but by using the watermark technology, it is possible to specify the shooting camera and the shooting date and time, and it works effectively by preventing tampering. Furthermore, by increasing the amount of information embedded in the digital watermark, the accuracy of specifying the falsification location is improved. In addition, if a lot of information can be embedded in the watermark for copyright protection, it becomes easier to extract the information when analyzing the embedded information, and the effectiveness becomes high.

しかしながら、作り出したデジタルコンテンツを、用途に応じて加工することは日常的によくあり、それが電子透かしを埋込んだ対象のデジタルコンテンツの場合には、内部データが変化するので、改ざんする意図がなくても改ざんだと判断され易い。   However, it is common on a daily basis to process the created digital content according to the intended use. In the case of digital content in which a digital watermark is embedded, the internal data changes, so there is no intention of falsification. Even if it is not, it is easy to judge that it has been altered.

ところで、人間の視覚能力は、自然光全体をそのまま受け入れるのではなく、偏っているので、視覚に影響を与えない情報は、カットすることによって、記憶量が少なく済む。また、画像中(平面内)の画素位置と画素値を周波数分析した結果を保存データとするJPEGなどに於いては、周波数の高い情報は、振幅が小さく(自然画の特徴)、人間の視覚感度も低いので、保存情報として粗い(少量のビット数で表す)情報程度に抑えても、画像を復元した時に見た目に影響が少ないなどの機能になっていることである。この視覚能力に影響が少ない情報をカットすることによって、厳密には元の画像とは微妙に異なる画像になる。   By the way, the human visual ability is biased rather than accepting the whole natural light as it is, so that information that does not affect the visual sense can be cut to reduce the amount of memory. In addition, in JPEG and the like, in which the result of frequency analysis of the pixel position and pixel value in the image (in the plane) is stored data, the high frequency information has a small amplitude (characteristic of natural image), and human vision Since the sensitivity is low, even if the stored information is limited to coarse information (represented by a small number of bits), the function is such that the visual effect is small when the image is restored. By cutting information that has little effect on the visual ability, strictly speaking, an image slightly different from the original image is obtained.

これに該当するケースとしては、画像変倍、画像圧縮及びその他画像修飾処理(ノイズ除去、ディザ化、エッジ強調、ぼかし処理など)などがある。特に、複雑である画像圧縮について、以下に述べる。   Examples of such cases include image scaling, image compression, and other image modification processes (noise removal, dithering, edge enhancement, blurring process, etc.). In particular, complex image compression is described below.

モノクロデジタルコピーやFAX、新聞の白黒印刷などにおいては、白黒の2値画像を利用し、国際電気通信連合(ITU−T)のG3,G4規格などで、MH、MR、MMRといった元画像が欠損無く復元できる(可逆:Loss−Less)画像圧縮方式を推奨し、一般化している。しかし、これらの方式では中間調処理された画像や誤差拡散処理された画像などに於いては符号化効率が悪く、多くの場合、圧縮できないことがある。これらの問題を解決する方法として注目されたのが算術符号化方式と呼ばれるものであり、画像のエントロピーを基に符号化を行う方式である。2値画像の新しい符号化方式の国際標準を検討しているグループのJBIGでは、QM−Coderと呼ばれる算術符号化方式を採用し、ITU−Tの標準として、勧告化されている。   Monochrome digital copy, FAX, black and white printing of newspapers, etc. use black and white binary images, and the original images such as MH, MR, MMR are missing in the International Telecommunications Union (ITU-T) G3, G4 standards, etc. An image compression method that can be restored without loss (lossless) is recommended and generalized. However, in these methods, halftone processed images and error diffusion processed images have poor encoding efficiency, and in many cases cannot be compressed. A method for solving these problems has been attracting attention as an arithmetic coding method, which is a method of performing coding based on the entropy of an image. JBIG, a group that is studying an international standard for a new encoding scheme for binary images, employs an arithmetic encoding scheme called QM-Coder and is recommended as an ITU-T standard.

また、デジタルのカラー画像や濃淡画像などの多値画像などの製品においては、デジタルスチルカメラや、デジタルビデオカメラなどで、少しの画質劣化は犠牲にしても保存時の圧縮効果を重視し、DCTによる周波数変換を利用したJPEGやMPEGなどの元画像の細かい情報が失われる(非可逆:Lossy)圧縮技術を採用している。   Also, in products such as digital color images and multi-valued images such as grayscale images, digital still cameras and digital video cameras emphasize the compression effect at the time of storage at the expense of slight image quality degradation. This employs a compression technique that loses fine information of the original image such as JPEG and MPEG using frequency conversion by (lossy).

更に、このJPEGの後継標準としては、Lossy符号化方式とLoss−Less符号化方式との統一符号化、及び2値データと多値データとの統一符号化方式としてJPEG2000がある。JPEG2000では、Wavelet変換を使用して高圧縮時の画質劣化を減少させ、また、上記JBIGのQM−Coderに類似し、JBIG2にも採用されているMQ−Coderを適用して、高圧縮率化に役立てている。
電子透かし技術に関する調査報告書、1999年3月、日本電子工業振興協会編 日経ビジネス、電子情報の不正コピー防止、1998年2月23日号 pp.68−70(1998)
Furthermore, JPEG2000 is a successor standard of this JPEG, that is, unified encoding of Lossy encoding method and Loss-Less encoding method, and unified encoding method of binary data and multi-value data. JPEG2000 uses Wavelet transform to reduce image quality degradation during high compression, and similar to JBIG's QM-Coder, and applies MQ-Coder also adopted by JBIG2 to increase the compression rate. It is useful for.
Research report on digital watermarking technology, March 1999, edited by Japan Electronics Industry Promotion Association Nikkei Business, Prevention of Unauthorized Copying of Electronic Information, February 23, 1998 pp. 68-70 (1998)

ところで、上述したように電子透かしを埋め込む対象のデジタル画像等のデジタルコンテンツは、画像変倍、画像圧縮及びその他画像修飾処理などによって、改ざんする意図がなくても内部データが変化するので、改ざんと判断されやすい。   By the way, as described above, since digital content such as a digital image to be embedded with digital watermarks changes its internal data even if it is not intended to be altered due to image scaling, image compression, and other image modification processing. Easy to judge.

しかしながら、従来技術では、内部データの変化と画像データの改ざんとの違いを正確に判定することができないため、内部データ変化の何れの場合にも画像中の改ざんに対する検知能力が弱くなり、十分な防止機能が実現されていないという問題があった。   However, since the conventional technique cannot accurately determine the difference between the change in the internal data and the alteration of the image data, the detection capability for the alteration in the image is weakened in any case of the internal data change, and sufficient There was a problem that the prevention function was not realized.

本発明は、上記の点に鑑みて、この問題を解決するために発明されたものであり、画像データの改ざんをより正確に判定する画像処理方法、画像処理装置、画像処理プログラム及び記録媒体を提供することを目的とする。   The present invention has been invented in order to solve this problem in view of the above points, and provides an image processing method, an image processing apparatus, an image processing program, and a recording medium for more accurately determining falsification of image data. The purpose is to provide.

上記の目的を達成するために、本発明における画像処理方法は、グレイ符号化された所定のビット長の電子透かしデータが埋め込まれた画像データが改ざんされたか否か、の判定処理を行う画像処理方法であって、改ざんされた又は改ざんされていない前記画像データから、前記電子透かしデータを抽出する電子透かしデータ抽出手段と、抽出された該電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、任意の1ビットが不一致である場合に前記任意の1ビットの位置に応じて改ざんなしと判定し、任意の2ビット以上が不一致の場合に改ざんありと判定する比較処理工程とを有するように構成することができる。   In order to achieve the above object, an image processing method according to the present invention performs an image processing for determining whether or not image data embedded with gray-coded digital watermark data having a predetermined bit length has been falsified. A digital watermark data extracting means for extracting the digital watermark data from the image data that has been tampered with or not tampered with, the extracted digital watermark data, and the digital watermark data having a predetermined bit length. A comparison processing step of determining that no alteration has occurred according to the position of the arbitrary 1 bit when any 1 bit is inconsistent, and determining that there has been tampering when any 2 or more bits are inconsistent. It can be configured to have.

また、上記の目的を達成するために、本発明における前記比較処理工程では、前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最下位ビットの1ビットが不一致の場合には、改ざんなしと判定するように構成することができる。   In order to achieve the above object, in the comparison processing step of the present invention, in the comparison between the extracted digital watermark data and the digital watermark data of the predetermined bit length, one bit of the least significant bit is inconsistent. In this case, it can be configured to determine that there is no tampering.

また、上記の目的を達成するために、本発明における前記比較処理工程では、前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最下位ビットから第N番目の1ビット(但し、2≦N<ビット長)が不一致の場合には、前記抽出された電子透かしデータ及び前記所定のビット長の電子透かしデータのいずれも最下位ビットから第N番目のビットがビットONであり、且つ、最下位ビットから第N―1番目〜最下位ビットが全てビットOFFである場合、改ざんなしと判定するように構成することができる。   In order to achieve the above object, in the comparison processing step according to the present invention, in the comparison between the extracted digital watermark data and the digital watermark data of the predetermined bit length, the Nth bit from the least significant bit When 1 bit (where 2 ≦ N <bit length) does not match, the Nth bit from the least significant bit is the bit in both the extracted digital watermark data and the predetermined digital watermark data When ON and all of the (N−1) th to the least significant bits from the least significant bit are bits OFF, it can be determined that there is no tampering.

また、上記の目的を達成するために、本発明における前記比較処理工程では、前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最上位ビットの1ビットが不一致の場合には、前記抽出された電子透かしデータ及び前記所定のビット長の電子透かしデータのいずれも最上位から2番目のビットがビットONであり、且つ、最上位から第3番目〜最下位ビットが全てビットOFFである場合、改ざんなしと判定するように構成することができる。   In order to achieve the above object, in the comparison processing step according to the present invention, in the comparison between the extracted digital watermark data and the digital watermark data of the predetermined bit length, one bit of the most significant bit is inconsistent. In the case of the above, in the extracted digital watermark data and the digital watermark data of the predetermined bit length, the second bit from the most significant bit is bit ON, and the third to the least significant bit from the most significant bit Can be configured to determine that no tampering has occurred.

また、上記の目的を達成するために、本発明における前記比較処理工程では、さらに、前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、上位複数桁を有効桁とするように構成することができる。   In order to achieve the above object, in the comparison processing step according to the present invention, in the comparison between the extracted digital watermark data and the digital watermark data of the predetermined bit length, the upper plurality of digits are used as significant digits. It can be constituted as follows.

また、上記の目的を達成するために、本発明における画像処理装置は、グレイ符号化された所定のビット長の電子透かしデータが埋め込まれた画像データが改ざんされたか否か、の判定処理を行う画像処理装置であって、改ざんされた又は改ざんされていない前記画像データから、前記電子透かしデータを抽出する電子透かしデータ抽出手段と、抽出された該電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、任意の1ビットが不一致である場合に前記任意の1ビットの位置に応じて改ざんなしと判定し、任意の2ビット以上が不一致の場合に改ざんありと判定する比較処理手段とを有するように構成することができる。   In order to achieve the above object, the image processing apparatus according to the present invention performs determination processing as to whether or not image data embedded with gray-coded digital watermark data having a predetermined bit length has been falsified. An image processing apparatus, a digital watermark data extracting means for extracting the digital watermark data from the image data that has been tampered with or not tampered with, the digital watermark data that has been extracted, and a digital watermark having the predetermined bit length In comparison with data, if any one bit does not match, the comparison processing means determines that there is no falsification according to the position of any one bit, and determines that there is falsification if any two or more bits do not match It can comprise so that.

また、上記の目的を達成するために、本発明における前記比較処理手段は、前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最下位ビットの1ビットが不一致の場合には、改ざんなしと判定するように構成することができる。   In order to achieve the above object, the comparison processing means according to the present invention is configured such that one of the least significant bits does not match in the comparison between the extracted digital watermark data and the digital watermark data having a predetermined bit length. In this case, it can be configured to determine that there is no tampering.

また、上記の目的を達成するために、本発明における前記比較処理手段は、前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最下位ビットから第N番目の1ビット(但し、2≦N<ビット長)が不一致の場合には、前記抽出された電子透かしデータ及び前記所定のビット長の電子透かしデータのいずれも最下位ビットから第N番目のビットがビットONであり、且つ、最下位ビットから第N―1番目〜最下位ビットが全てビットOFFである場合、改ざんなしと判定するように構成することができる。   In order to achieve the above object, the comparison processing means according to the present invention is configured to compare the extracted digital watermark data and the digital watermark data having the predetermined bit length with the Nth bit from the least significant bit. When 1 bit (where 2 ≦ N <bit length) does not match, the Nth bit from the least significant bit is the bit in both the extracted digital watermark data and the predetermined digital watermark data When ON and all of the (N−1) th to the least significant bits from the least significant bit are bits OFF, it can be determined that there is no tampering.

また、上記の目的を達成するために、本発明における前記比較処理手段は、前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最上位ビットの1ビットが不一致の場合には、前記抽出された電子透かしデータ及び前記所定のビット長の電子透かしデータのいずれも最上位から2番目のビットがビットONであり、且つ、最上位から第3番目〜最下位ビットが全てビットOFFである場合、改ざんなしと判定するように構成することができる。   In order to achieve the above object, the comparison processing means according to the present invention is such that one bit of the most significant bit does not match in the comparison between the extracted digital watermark data and the digital watermark data having a predetermined bit length. In the case of the above, in the extracted digital watermark data and the digital watermark data of the predetermined bit length, the second bit from the most significant bit is bit ON, and the third to the least significant bit from the most significant bit Can be configured to determine that no tampering has occurred.

また、上記の目的を達成するために、本発明における画像処理プログラムは、コンピュータに、上記の画像処理方法をコンピュータに実現させるための画像処理プログラムであるように構成することができる。   In order to achieve the above object, the image processing program according to the present invention can be configured to be an image processing program for causing a computer to realize the above image processing method.

また、上記の目的を達成するために、本発明における記録媒体は、上記の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体であるように構成することができる。   In order to achieve the above object, the recording medium in the present invention can be configured to be a computer readable recording medium on which the above image processing program is recorded.

本発明によれば、画像データの改ざんをより正確に判定する画像処理方法、画像処理装置、画像処理プログラム及び記録媒体を提供することができる。   According to the present invention, it is possible to provide an image processing method, an image processing apparatus, an image processing program, and a recording medium that more accurately determine falsification of image data.

以下、発明の実施の形態について図面により詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(装置の構成例)
図1は、本実施形態に係る画像処理装置の装置構成の一例を示す図である。図1では、本実施形態における画像処理装置の一例として、デジタル画像の符号(電子透かしの埋込み)生成および復号(電子透かしを解読し、改ざん検出する)方法を実施する符号生成及び解析復号装置の構成例を示す。
(Example of device configuration)
FIG. 1 is a diagram illustrating an example of an apparatus configuration of an image processing apparatus according to the present embodiment. In FIG. 1, as an example of an image processing apparatus according to the present embodiment, a code generation and analysis decoding apparatus that implements a digital image code (digital watermark embedding) generation and decoding (decoding digital watermark and detecting falsification) method. A configuration example is shown.

図1において、本実施形態における画像処理装置100は、全体制御部1、操作入力(キーボード、マウス)部2、外部記憶装置3、メモリ4、画像撮影部5、表示部6、外部からの任意データ入力部7、電子透かし埋込み用ソースデータ生成部8、グレイ(グレイ)符号化部9、電子透かし埋込み部10、画像再生部11、電子透かし解読部12、検出した改ざん部の(反転)表示部13、及びこれらを接続するバス14などから構成される。なお、これらの各部(または装置)とバス14との間に必要なインタフェース部は図示を省略している。   In FIG. 1, an image processing apparatus 100 according to the present embodiment includes an overall control unit 1, an operation input (keyboard, mouse) unit 2, an external storage device 3, a memory 4, an image capturing unit 5, a display unit 6, and an external unit Data input unit 7, digital watermark embedding source data generation unit 8, gray (gray) encoding unit 9, digital watermark embedding unit 10, image reproduction unit 11, digital watermark decoding unit 12, (inverted) display of detected falsification unit The unit 13 and a bus 14 for connecting them are included. Note that an interface unit necessary between these units (or devices) and the bus 14 is not shown.

全体制御部1は、装置全体の動作及び機能を制御するマイクロコンピュータ(CPU,ROM,RAM等から構成されるがCPUと略称)であり、画像撮影側処理の画像撮影部5、外部からの任意データ入力部7、電子透かし埋込み用ソースデータ生成部8、グレイ符号化部9、電子透かし埋込み部10、画像再生部11、電子透かし解読部12、検出した改ざん部の(反転)表示部13の各機能も、上記CPUが当該画像処理装置100にインストールされた画像処理プログラムに基づいて行うソフト処理によって実現できる。   The overall control unit 1 is a microcomputer (including a CPU, ROM, RAM, etc., but abbreviated as a CPU) that controls the operation and functions of the entire apparatus. The data input unit 7, the digital watermark embedding source data generation unit 8, the gray encoding unit 9, the digital watermark embedding unit 10, the image reproduction unit 11, the digital watermark decoding unit 12, and the (flip) display unit 13 of the detected falsification unit Each function can also be realized by software processing performed by the CPU based on an image processing program installed in the image processing apparatus 100.

操作入力部2は、各種操作指示や機能選択指令、編集データ等を入力するためのものであり、キーボードやマウスあるいはタッチパネル等である。特に、電子透かしデータを埋込んだ画像データを暗号化するときに、また暗号化された電子透かしを解読するときに、秘密キーの入力機能として使用する。   The operation input unit 2 is for inputting various operation instructions, function selection commands, editing data, and the like, and is a keyboard, a mouse, a touch panel, or the like. In particular, it is used as a secret key input function when encrypting image data in which electronic watermark data is embedded and when decrypting an encrypted electronic watermark.

操作入力部2は、さらに、表示選定手段としての機能も有し、後述の表示部6の表示状態を操作者の所望の表示状態に変更することができる。例えばキー操作により、電子透かし解読結果を入力イメージ画像データと重ね合わせて表示させたり、どちらか一方のみを選択して表示させたりすることができる。   The operation input unit 2 further has a function as display selection means, and can change the display state of the display unit 6 described later to a display state desired by the operator. For example, the result of decrypting the digital watermark can be displayed superimposed on the input image image data by key operation, or only one of them can be selected and displayed.

外部記憶装置3は、画像撮影部5で撮影した画像データや電子透かし埋込み部10によって電子透かしを埋込まれた圧縮データ、及び電子透かし解読部12によって検出した改ざん部のデータ等をフロッピディスク(FD)や光磁気ディスク(OMD)等の外部へ取り出し可能な記憶媒体に記憶させる記憶装置である。また、外部記憶装置3は、全体制御部1で実行するプログラムソフトを記録する媒体としても機能する。   The external storage device 3 stores the image data captured by the image capturing unit 5, the compressed data embedded with the digital watermark by the digital watermark embedding unit 10, the data of the falsification detected by the digital watermark decoding unit 12, etc. FD) and a magneto-optical disk (OMD), etc., which are stored in a storage medium that can be taken out. The external storage device 3 also functions as a medium for recording program software executed by the overall control unit 1.

メモリ4は、画像撮影部5によって読み取ったイメージ画像データ、電子透かしが埋め込まれて一旦保存されたデータ、画像再生部11によって読出し伸張された画像データ等を格納する大容量のRAMあるいはハードディスク等によるメモリである。   The memory 4 is a large-capacity RAM or hard disk for storing image image data read by the image capturing unit 5, data temporarily stored with an electronic watermark embedded therein, image data read and expanded by the image reproduction unit 11, and the like. It is memory.

画像撮影部5は、セットされた写真や帳票等をスキャンしてその画像を読み取ってイメージ画像データを入力する画像データ入力手段であり、スキャン光学系及びCCDなどのイメージセンサとその駆動回路等からなる公知のイメージスキャナやデジタルカメラである。   The image photographing unit 5 is an image data input unit that scans a set photograph or form, reads the image, and inputs image image data. The image photographing unit 5 includes an image sensor such as a scanning optical system and a CCD, and a drive circuit thereof. These are known image scanners and digital cameras.

表示部6は、タッチパネル等のディスプレイに表示を行う。例えば、後述の電子透かし解読部12による解読結果を入力イメージ画像データと重ね合わせて表示したり、どちらか一方のみを表示したりする。   The display unit 6 performs display on a display such as a touch panel. For example, the result of decoding by the digital watermark decoding unit 12 described later is displayed superimposed on the input image image data, or only one of them is displayed.

外部からの任意データ入力部7は、デジタルコンテンツへの補足情報を電子透かしとして埋込むためのソース情報、及び、改ざん検知や著作権保護用の埋込み情報を入力する手段である。入力されたデータは、電子透かし埋込み用ソースデータ生成部8またはグレイ符号化部9に送るために、メモリ4に格納される。 The external arbitrary data input unit 7 is means for inputting source information for embedding supplemental information in digital content as a digital watermark, and embedded information for tampering detection and copyright protection. The input data, to send the electronic watermark embedding for the source data generator 8 or Gray coding unit 9, Ru stored in the memory 4.

電子透かし埋込み用ソースデータ生成部8は、外部からの任意データ入力部7で入力されたデータまたはグレイ符号化部9で符号化されたデータを、暗号化または符号化する。処理後、電子透かし埋込み部10またはグレイ符号化部9に送るために、メモリ4に格納する。   The digital watermark embedding source data generation unit 8 encrypts or encodes data input from the external arbitrary data input unit 7 or data encoded by the Gray encoding unit 9. After processing, the data is stored in the memory 4 for transmission to the digital watermark embedding unit 10 or the gray encoding unit 9.

グレイ符号化部9は、外部からの任意データ入力部7で入力されたデータまたは電子透かし埋込み用ソースデータ生成部8で暗号化・符号化されたデータを入力としてグレイ符号化し、電子透かし埋込み用ソースデータ生成部8または電子透かし埋込み部10に送るために、メモリ4に格納する。   The gray coding unit 9 performs gray coding by using the data input from the external arbitrary data input unit 7 or the data encrypted and encoded by the digital watermark embedding source data generation unit 8 as an input, and for embedding the digital watermark The data is stored in the memory 4 to be sent to the source data generation unit 8 or the digital watermark embedding unit 10.

電子透かし埋込み部10は、外部データからの任意データ入力部7で処理されたデータを、電子透かし埋込み用ソースデータ生成部8で暗号化・符号化またはグレイ符号化部9でグレイ符号化されて、メモリ4に格納されたデータを電子透かしとして埋込む処理を施す。   The digital watermark embedding unit 10 encrypts and encodes the data processed by the arbitrary data input unit 7 from the external data by the digital watermark embedding source data generation unit 8 or the gray encoding by the gray encoding unit 9. The data stored in the memory 4 is embedded as a digital watermark.

画像再生部11は、電子透かし埋込み部10で電子透かしが埋込まれて外部記憶装置3などに保存されたデータを読み取るための制御を行う。読み取られた画像は、メモリ4に格納する。   The image reproduction unit 11 performs control for reading data stored in the external storage device 3 or the like after the digital watermark is embedded by the digital watermark embedding unit 10. The read image is stored in the memory 4.

電子透かし解読部12は、メモリ4に格納されている電子透かし埋込み部10によって電子透かしが埋込まれ、画像再生部11によって再生された画像データの中から電子透かしを解読し、解読の可能性やグレイ符号解析による復元レベルに応じて、画像の改ざん性や著作権保護情報が有効かどうかを判断する。   The digital watermark decrypting unit 12 embeds a digital watermark by the digital watermark embedding unit 10 stored in the memory 4, and decrypts the digital watermark from the image data reproduced by the image reproducing unit 11, and the possibility of decryption It is determined whether the falsification of the image and the copyright protection information are valid according to the restoration level by the gray code analysis.

検出した改ざん部の(反転)表示部13は、上記電子透かし解読部12で解読した結果、改ざん有りと判断できる場合は、該当する領域を反転表示や、黒色による塗潰し表示などによって示す機能を有する。   The detected (inverted) display unit 13 of the tampered portion has a function of displaying the corresponding region by inverting display or black-colored display when it can be determined that there is tampering as a result of decoding by the digital watermark decoding unit 12. Have.

以上の装置構成により、本実施形態に係る画像処理装置100では、まず、画像データの改ざんを敏感に捕らえるための工夫点として、画像データに対して埋め込む電子透かしのソースデータは、電子透かし埋込み用ソースデータ生成部8により当該画像データに基づいて生成される。この方法によって、電子透かしデータ生成元または埋め込み先のどちらかが改ざんされても、論理上のつじつまが合わなくなるので、改ざんを発見する確率が高くなる。ここに挙げた"当該画像データに基づいて生成する"埋め込み用の電子透かしのソースデータとは、敏感に変化するものとしては、例えば、画素値そのもの、または画素値をランダマイズした値などが考えられる。また、変化し難い値としては、例えば、画像小領域の画素平均値や分散値などの統計データが考えられる。   With the above apparatus configuration, in the image processing apparatus 100 according to the present embodiment, first, as a contrivance for catching tampering of image data sensitively, the source data of the digital watermark embedded in the image data is for digital watermark embedding. Generated by the source data generation unit 8 based on the image data. According to this method, even if either the digital watermark data generation source or the embedding destination is tampered with, the logical meaning does not match, so the probability of finding tampering increases. The source data of the digital watermark for embedding “generated based on the image data” mentioned here may be, for example, the pixel value itself or a value obtained by randomizing the pixel value. . In addition, as a value that hardly changes, for example, statistical data such as a pixel average value and a variance value of a small image area can be considered.

次に、画像圧縮や画像変倍などによる内部データの劣化を改ざんと判断しないための工夫点は、埋め込みデータ(電子透かしのデータ)がグレイ符号化されることである。変倍程度の内部データの変化は、画像領域のブロックサイズも変倍すれば、例えば画素値の平均値は、微小誤差程度の小さいものであり、大きい変化にはならない。また、この変化は、埋め込む電子透かしのソースデータだけでなく、埋め込み先のデータも変化させるので、この二つの近似性が重要となる。埋め込みデータをグレイ符号化する理由は、近似なものを同一視する処理を高速に実現できるからである。   Next, a contrivance point for preventing the deterioration of internal data due to image compression or image scaling from being falsified is that the embedded data (digital watermark data) is gray-coded. For example, the average value of the pixel values is as small as a minute error and does not change greatly if the block size of the image area is also changed. In addition, since this change changes not only the source data of the digital watermark to be embedded but also the data of the embedding destination, these two approximations are important. The reason why the embedded data is gray-coded is that the process of identifying the approximated data can be realized at high speed.

なお、一般に10進数の値をグレイコードへ変換する方法として、10進数をバイナリ符号で表したビット列に対して、下位ビットから順に上位ビット側に隣り合うビットとの排他的論理和をとっていく方法がとられている。   In general, as a method of converting a decimal value into a Gray code, an exclusive OR is performed on a bit string in which a decimal number is represented by a binary code with a bit adjacent to an upper bit in order from the lower bit. The method is taken.

本実施形態における画像処理装置100は、グレイコードを利用し、画像データの変化を検知することに特徴を有するものであり、グレイコードへの変換方法については特に限定しない。また、グレイコードのように表現する値が隣り合う符号同士のハミング距離が1となるような符号化方法であれば、グレイコードでなくても本発明に適用可能であることはいうまでもない。   The image processing apparatus 100 according to the present embodiment is characterized in that a change in image data is detected using a gray code, and a conversion method to a gray code is not particularly limited. Further, it goes without saying that any coding method can be applied to the present invention even if it is not a Gray code as long as the Hamming distance between codes adjacent to each other expressed as a Gray code is 1. .

(機能の構成例)
図2は、本実施形態に係る画像処理装置の機能構成の一例を示すブロック図である。図2において、画像処理装置100は、画像読み込み部101、ブロック分割部102、埋込データ算出部103、グレイコード符号化部104、透かしデータ埋込部105、画像出力部106、透かし埋込画像読み込み部111、ブロック分割部112、比較データ算出部113、グレイコード符号化部114、比較処理部115、結果画像出力部116を有する。
(Function configuration example)
FIG. 2 is a block diagram illustrating an example of a functional configuration of the image processing apparatus according to the present embodiment. 2, an image processing apparatus 100 includes an image reading unit 101, a block dividing unit 102, an embedded data calculating unit 103, a gray code encoding unit 104, a watermark data embedding unit 105, an image output unit 106, and a watermark embedded image. A reading unit 111, a block division unit 112, a comparison data calculation unit 113, a gray code encoding unit 114, a comparison processing unit 115, and a result image output unit 116 are provided.

図2における画像読み込み部101〜画像出力部106は、当該画像処理装置100が画像データに対して電子透かしを埋め込む処理を行うための各機能であり、同図における透かし埋込画像読み込み部111〜結果画像出力部116は、当該画像処理装置100が画像データ中の電子透かしの再現性のチェック(即ち、改ざん検出)処理を行うための各機能である。   The image reading unit 101 to the image output unit 106 in FIG. 2 are functions for the image processing apparatus 100 to perform processing for embedding a digital watermark into image data, and the watermark embedded image reading unit 111 to 11 in FIG. The result image output unit 116 is a function for the image processing apparatus 100 to perform a digital watermark reproducibility check (ie, falsification detection) process in the image data.

電子透かし埋め込み処理、電子透かしの再現性チェック処理の基本概念となる処理の流れについて図2を用いて説明する。   A flow of processing that is a basic concept of digital watermark embedding processing and digital watermark reproducibility check processing will be described with reference to FIG.

まず、電子透かし埋め込み処理について説明する。   First, the digital watermark embedding process will be described.

最初に、画像読み込み部101は、電子透かしを埋め込むべき対象画像データを読み込む。次に、ブロック分割部102は、画像読み込み部101で読み込まれた画像データをブロック分割する。続いて、埋込データ算出部103は、ブロック分割部102でブロック分割された画像データを使用して、ブロック単位に電子透かし埋め込みデータ生成の為の前半処理を行う。続いて、グレイコード符号化部104は、埋込データ算出部103でブロック単位に算出された埋め込みデータを基に電子透かし埋込みデータ生成する為の後半処理を行う。続いて、透かしデータ埋込部105は、埋込データ算出部103及びグレイコード符号化部104による処理後に、ブロック単位に電子透かしを埋込む。最後に、画像出力部106は、電子透かし埋め込み処理を画像全ブロックに施した画像データを出力する。   First, the image reading unit 101 reads target image data to be embedded with a digital watermark. Next, the block dividing unit 102 divides the image data read by the image reading unit 101 into blocks. Subsequently, the embedded data calculation unit 103 uses the image data divided by the block dividing unit 102 to perform the first half process for generating the digital watermark embedded data in units of blocks. Subsequently, the Gray code encoding unit 104 performs a second half process for generating digital watermark embedded data based on the embedded data calculated for each block by the embedded data calculating unit 103. Subsequently, the watermark data embedding unit 105 embeds a digital watermark in block units after the processing by the embedded data calculation unit 103 and the Gray code encoding unit 104. Finally, the image output unit 106 outputs image data obtained by performing digital watermark embedding processing on all blocks of the image.

次に、電子透かしの再現性チェック処理について説明する。   Next, digital watermark reproducibility check processing will be described.

最初に、透かし埋込画像読み込み部111は、電子透かしが埋め込まれた画像データを読込む。次に、ブロック分割部112は、透かし埋込画像読み込み部111で読み込まれた画像データをブロック分割する。続いて、比較データ算出部113は、ブロック分割部112でブロック分割された画像データを使用して、ブロック単位に電子透かし埋込みデータと比較する為に、埋込み時と同じ方法によって電子透かしデータを生成する前半処理を行う。続いて、グレイコード符号化部114は、比較データ算出部113でブロック単位に算出された比較データを基に、電子透かし埋込みデータ生成時と同じ方法によって電子透かしデータを生成する為の後半処理を行う。比較処理部115は、比較データ算出部113及びグレイコード符号化部114による処理後に、ブロック単位に電子透かしの再現性(即ち改ざんが有るか否か)のチェックを行う。最後に、結果画像出力部116は、電子透かしの再現性チェック処理を画像全ブロックに施した結果を出力する。   First, the watermark embedded image reading unit 111 reads image data in which a digital watermark is embedded. Next, the block division unit 112 divides the image data read by the watermark embedded image reading unit 111 into blocks. Subsequently, the comparison data calculation unit 113 generates digital watermark data by the same method as that for embedding in order to compare with the digital watermark embedding data on a block basis using the image data divided by the block division unit 112. The first half of the process is performed. Subsequently, the Gray code encoding unit 114 performs the latter half process for generating the digital watermark data by the same method as that for generating the digital watermark embedded data based on the comparison data calculated in block units by the comparison data calculation unit 113. Do. The comparison processing unit 115 checks the reproducibility of the digital watermark (that is, whether or not there is falsification) for each block after the processing by the comparison data calculation unit 113 and the Gray code encoding unit 114. Finally, the result image output unit 116 outputs the result of applying the digital watermark reproducibility check process to all blocks of the image.

以上の機能の構成により、本実施形態に係る画像処理装置110では、画像読み込み部101〜画像出力部106により、画像データに対して電子透かしを埋め込む処理を行う。また、透かし埋込画像読み込み部111〜結果画像出力部116により、画像データ中の電子透かしの再現性のチェック(即ち、改ざん検出)処理を行う。これらの処理の詳細例について、それぞれ図3及び図5を用いて説明する。   With the configuration of the functions described above, in the image processing apparatus 110 according to the present embodiment, the image reading unit 101 to the image output unit 106 perform processing for embedding a digital watermark into image data. In addition, the watermark embedded image reading unit 111 to the result image output unit 116 perform reproducibility check (that is, alteration detection) processing of the digital watermark in the image data. Detailed examples of these processes will be described with reference to FIGS.

(電子透かし埋め込み処理の例)
図3は、本実施形態に係る電子透かし埋め込み処理を示すフローチャートの一例である。ここでは、当該画像処理装置110が行う電子透かし埋め込み処理の一例について図1及び図2も参照して詳細に説明する。なお、図3では、暗号化処理は省いている。また、電子透かし埋め込み時に埋め込み情報が抽出される時に壊れ難くするための誤り訂正符号化などの処理についても省略している。
(Example of digital watermark embedding process)
FIG. 3 is an example of a flowchart showing the digital watermark embedding process according to the present embodiment. Here, an example of the digital watermark embedding process performed by the image processing apparatus 110 will be described in detail with reference to FIGS. In FIG. 3, the encryption process is omitted. Also, processing such as error correction coding for making it difficult to break when embedded information is extracted at the time of embedding a digital watermark is omitted.

まず、グレイ符号化のレベル値が設定される(S1)。ここでは、操作入力部2は、グレイ符号化のレベル値(例えば8ビット符号化の場合には8)をユーザのキー入力等に基づいて入力し、入力されたレベル値はグレイ符号化のレベル値として設定され、メモリ4に保存される。   First, a gray coding level value is set (S1). Here, the operation input unit 2 inputs a gray encoding level value (for example, 8 in the case of 8-bit encoding) based on a user key input or the like, and the input level value is a gray encoding level. It is set as a value and stored in the memory 4.

ステップS2へ移って、画像読み込み部101は、電子透かしを埋め込む対象となる画像データを読み込む(S2)。ここでは、画像撮影部5が、電子透かしを埋め込む対象となる被写体をフルカラー等の多値画像で読み取り、メモリ4に保存される。   In step S2, the image reading unit 101 reads image data to be embedded with the digital watermark (S2). Here, the image photographing unit 5 reads a subject to be embedded with a digital watermark as a multi-value image such as a full color and stores it in the memory 4.

ステップS3へ移って、ブロック分割部102は、電子透かしを埋め込む対象となる画像データを矩形にブロック分割する(S3)。ここでは、ステップS2で読み込まれた画像データは、矩形((m×m)画素:mは2のべき乗)にブロック分割される。分割された隣り合うブロック同士は、それぞれのブロック領域を一部ずつ重ねても良いし、分離しても良い。分割の仕方や、重ね方については、例えば特開2003−204429号公報に記載の方法を用いてよいものとする。   Proceeding to step S3, the block dividing unit 102 divides the image data to be embedded with the electronic watermark into blocks (S3). Here, the image data read in step S2 is divided into blocks (rectangular ((m × m) pixels: m is a power of 2)). The divided adjacent blocks may be partially overlapped or separated from each other. For the method of division and the method of overlapping, for example, the method described in JP-A-2003-204429 may be used.

ステップS4へ移って、埋め込みデータ算出部103は、ステップS3で分割されたブロック毎に電子透かしを埋め込む処理(ステップS5〜ステップS10の処理)を行うための変数の初期設定を行う(S4)。ここでの変数とは、埋め込み用データを格納する埋め込み用データ格納変数Xやループ処理の現在処理ブロック位置を示す変数、及び現在処理済みブロック数=0等である。   Proceeding to step S4, the embedded data calculation unit 103 performs initial setting of variables for performing the process of embedding a digital watermark (the process of steps S5 to S10) for each block divided in step S3 (S4). Here, the variables include an embedding data storage variable X for storing embedding data, a variable indicating the current processing block position of loop processing, and the number of currently processed blocks = 0.

続いてステップS5へ移って、埋め込みデータ算出部103は、ステップS3で分割された全てのブロックについてのステップS7〜ステップS10に係る処理が終了したか否かを判定する(S5)。ここでは、ステップS3において分割されたブロック数と、ステップS4で設定された変数の一つである現在処理済みのブロック数を比較することによって判定する。具体的な変数設定や判定方法は、既知であるので省略する。   Subsequently, the process proceeds to step S5, and the embedded data calculation unit 103 determines whether or not the processing related to steps S7 to S10 for all the blocks divided in step S3 is completed (S5). Here, the determination is made by comparing the number of blocks divided in step S3 with the number of currently processed blocks, which is one of the variables set in step S4. Since specific variable setting and determination methods are known, they are omitted.

ステップS5において、全てのブロックの処理が終了したと判定すると(S5、YES)、ステップS6へ移って、画像出力部106は、全ての分割されたブロックにおいて電子透かしが埋め込まれた画像データをメモリ4或いは外部記憶装置3に記憶・保存(或いは出力)する(S6)。ステップS5において、全てのブロックの処理が終了していないと判定すると(S5、NO)、ステップS7へ移る。   If it is determined in step S5 that all the blocks have been processed (S5, YES), the process proceeds to step S6, and the image output unit 106 stores the image data in which the digital watermark is embedded in all the divided blocks. 4 or the external storage device 3 is stored and saved (or output) (S6). If it is determined in step S5 that all the blocks have not been processed (S5, NO), the process proceeds to step S7.

ステップS7へ移った場合、グレイコード符号化部104は、埋め込み用データ格納変数Xの値をグレイ符号化する(S7)。ここでは、グレイコード符号化部104は、ステップS1で設定されたグレイ符号化のレベル値を基に、ステップS4で設定された又はステップS9で更新された埋め込み用データ格納変数Xをグレイコード符号化する。   When the process proceeds to step S7, the gray code encoding unit 104 performs gray encoding on the value of the embedded data storage variable X (S7). Here, the Gray code encoding unit 104 converts the embedded data storage variable X set in Step S4 or updated in Step S9 into a Gray code code based on the level value of Gray encoding set in Step S1. Turn into.

図4を用いてステップS7に係る処理について補足説明する。図4は、分割されたブロックと埋め込む情報の関係(情報提供側のブロックと情報受取り埋込み側のブロック)を説明するための図である。ステップS3で分割されたブロックに対する一連の繰り返し処理(ステップS7〜ステップS10)が、左端のブロックから右に向かって行われる場合に、図4の(n−1)番目のブロックに対する電子透かし埋め込み処理が終わった後、n番目のブロックに対して電子透かし埋め込み処理を行う際の埋め込み情報と埋め込み先を表している。   A supplementary description will be given of the processing according to step S7 with reference to FIG. FIG. 4 is a diagram for explaining the relationship between divided blocks and information to be embedded (blocks on the information providing side and blocks on the information receiving and embedding side). When the series of iterative processes (steps S7 to S10) for the blocks divided in step S3 are performed from the leftmost block to the right, the digital watermark embedding process for the (n-1) -th block in FIG. Represents the embedding information and embedding destination when the digital watermark embedding process is performed on the nth block.

例えば、ステップS1においてグレイ符号化のレベル値が8(=埋め込む基になる算出値が8ビット表現であることを表す)に設定されているとする。このとき第n番ブロックへ電子透かしを埋込むとき、一つ前に埋め込み処理済みの第(n−1)番ブロックの画素平均値が128(10進数、以降、10進数の数字NはN(10)で表す)である場合、バイナリコードは10000000(2進数、以降、2進数の数字NはN(2)で表す)である。このとき、このバイナリコードをグレイ符号化した11000000(2)を第n番ブロックに対する埋め込み用データである埋め込み用データ格納変数(X'とする)に代入する。   For example, it is assumed that the gray encoding level value is set to 8 (= represents that the calculated value to be embedded is an 8-bit expression) in step S1. At this time, when the digital watermark is embedded in the nth block, the pixel average value of the (n-1) th block that has been embedded one before is 128 (decimal number, and the decimal number N is N ( The binary code is 10000000 (binary number, hereinafter, the binary number N is represented by N (2)). At this time, 11000000 (2) obtained by gray-coding this binary code is substituted into an embedding data storage variable (X ′) that is embedding data for the nth block.

続いてステップS8へ移って、透かしデータ埋込部105は、第n番ブロックに対して電子透かし情報、即ちステップS7でグレイ符号化された埋め込み用データ格納変数X'を埋め込む(S8)。ステップでは、当該ブロックに隣接するブロック(ループ処理の次の処理対象のブロック)の電子透かしとして、ステップ7で算出したグレイ符号データを埋込む処理を行う。なお、電子透かしとして値を埋込む方法としては、周知の多くの方法があり、詳細は省略する。また、前述したステップS7及びステップS8を繰り返すことにより、ブロック毎に電子透かしを埋め込む処理を行う。   Subsequently, the process proceeds to step S8, where the watermark data embedding unit 105 embeds the digital watermark information, that is, the embedding data storage variable X ′ gray-coded in step S7, in the nth block (S8). In the step, the gray code data calculated in step 7 is embedded as a digital watermark of a block adjacent to the block (the block to be processed next to the loop process). There are many well-known methods for embedding values as digital watermarks, and details thereof are omitted. In addition, by repeating Step S7 and Step S8 described above, processing for embedding a digital watermark for each block is performed.

ステップ9へ移って、埋込データ算出部103は、埋め込み用データ格納変数Xを更新する(S9)。当該ブロック内の電子透かし埋込み後の画素データ値から算出した(画素平均値や分散値など)値をXに代入する。   Moving to step 9, the embedded data calculation unit 103 updates the embedded data storage variable X (S9). A value (pixel average value, variance value, etc.) calculated from the pixel data value after embedding the digital watermark in the block is substituted for X.

ステップS10へ移って、埋込データ算出部103は、現在処理ブロック位置を示す変数の更新及び現在処理済みブロック数に1加える更新を行い(S10)、ステップS5へ移って、再び次のブロックについて電子透かし埋め込み処理を行う。   In step S10, the embedded data calculation unit 103 updates the variable indicating the current processing block position and updates the current processing block number by 1 (S10), moves to step S5, and again for the next block. Performs digital watermark embedding processing.

以上で示される処理により、本実施形態に係る画像処理装置100では、画像データに対して電子透かしを埋め込む処理を行う。   Through the processing described above, the image processing apparatus 100 according to the present embodiment performs processing for embedding a digital watermark into image data.

なお、繰り返し処理(ステップS7〜ステップS10)について、画像データを分割することで作成されたブロックのうち、最初に処理されるブロックについては前のブロックが存在しないため、前のブロックから埋め込むべきグレイ符号を求めることが出来ない。そこで、初期値として、埋め込み用データ格納変数Xに所定の値を入れておくことにする。また、最初のブロックについては改ざんを判定しなくても良いのであれば、省略するようにしてもよい。   Regarding the repetitive processing (steps S7 to S10), among the blocks created by dividing the image data, there is no previous block for the first processed block, so the gray to be embedded from the previous block. The sign cannot be obtained. Therefore, a predetermined value is set in the embedded data storage variable X as an initial value. Further, if it is not necessary to determine whether the first block is falsified, it may be omitted.

(電子透かし再現性のチェック処理の例)
図5は、本実施形態に係る電子透かし再現性チェック(即ち、改ざんの検出)処理を示すフローチャートの一例である。ここでは、当該画像処理装置100が行う電子透かし再現性チェック処理の一例について図1及び図2も参照して詳細に説明する。なお、図5では、暗号化処理は省いている。また、電子透かし埋め込み時に埋め込み情報が誤り訂正符号化された場合に誤り訂正符号化を復号化する処理などについても省略している。
(Example of digital watermark reproducibility check processing)
FIG. 5 is an example of a flowchart showing a digital watermark reproducibility check (ie, alteration detection) process according to the present embodiment. Here, an example of a digital watermark reproducibility check process performed by the image processing apparatus 100 will be described in detail with reference to FIGS. In FIG. 5, the encryption process is omitted. In addition, processing for decoding error correction coding when the embedded information is error correction coded at the time of embedding the digital watermark is also omitted.

まず、再現性チェックのレベル値が設定される(S31)。ここでは、操作入力部2は、再現性チェックのレベル値(C_Level)(例えば8ビット符号化の場合には8)をユーザのキー入力等に基づいて入力し、入力されたレベル値は再現性チェックのレベル値として設定され、メモリ4に保存される。なお、図3のステップS1におけるグレイ符号化のレベル値以下の値が設定される必要がある。   First, a level value for reproducibility check is set (S31). Here, the operation input unit 2 inputs a level value (C_Level) (for example, 8 in the case of 8-bit encoding) of the reproducibility check based on a user key input or the like, and the input level value is the reproducibility. It is set as a check level value and stored in the memory 4. Note that it is necessary to set a value equal to or lower than the gray coding level value in step S1 of FIG.

ステップS32へ移って、透かし埋込画像読み込み部111は、再現性チェックの対象となる電子透かしが埋め込まれた画像データを読み込む(S32)。ここでは、画像撮影部5は、電子透かしが埋め込まれた画像データをフルカラー等の多値画像で読み取り、メモリ4に保存する。   Proceeding to step S32, the watermark embedded image reading unit 111 reads the image data in which the digital watermark to be checked for reproducibility is embedded (S32). Here, the image photographing unit 5 reads the image data in which the digital watermark is embedded as a multi-value image such as a full color and stores it in the memory 4.

ステップS33へ移って、ブロック分割部112は、再現性チェックの対象となる画像データを矩形にブロック分割する(S33)。ここでは、図3のステップS3の方法と同様である必要がある。   Proceeding to step S33, the block division unit 112 divides the image data to be checked for reproducibility into rectangular blocks (S33). Here, it is necessary to be the same as the method of step S3 of FIG.

ステップS34へ移って、比較データ算出部113は、ステップS33で分割されたブロック毎に埋め込まれた電子透かしをチェックする処理(ステップS35〜ステップS43の処理)を行うための変数の初期設定を行う(S34)。ここでの変数とは、電子透かしを抽出するための電子透かし抽出用データを格納する抽出用データ格納変数Yやループ処理の現在処理ブロック位置を示す変数、及び現在処理済みブロック数=0等である。   Proceeding to step S34, the comparison data calculation unit 113 performs initial setting of variables for performing processing for checking the digital watermark embedded for each block divided at step S33 (processing of step S35 to step S43). (S34). Here, the variables include an extraction data storage variable Y for storing digital watermark extraction data for extracting a digital watermark, a variable indicating the current processing block position of loop processing, and the number of currently processed blocks = 0, etc. is there.

ステップS35へ移って、比較データ算出部113は、ステップS33で分割された全てのブロックについてのステップS37〜ステップS43に係る処理が終了したか否かを判定する(S35)。ここでは、ステップS33において分割されたブロック数と、ステップS4で設定された変数の一つである現在処理済みのブロック数を比較することによって判定する。具体的な変数設定や判定方法は、既知であるので省略する。   Moving to Step S35, the comparison data calculation unit 113 determines whether or not the processing related to Step S37 to Step S43 for all the blocks divided in Step S33 has been completed (S35). Here, the determination is made by comparing the number of blocks divided in step S33 with the number of currently processed blocks which is one of the variables set in step S4. Since specific variable setting and determination methods are known, they are omitted.

ステップS35において、全てのブロックの処理が終了したと判定すると(S35、YES)、ステップS36へ移って、結果画像出力部116は、全ての分割されたブロックについて電子透かしを解析した結果を表示部13に表示する(S36)。ここでは、例えば、後述のステップS41において改ざんありと判断されて記憶されたブロック位置を、反転表示や塗りつぶし表示で示す。ステップS35において、全てのブロックの処理が終了していないと判定すると(S35、NO)、ステップS37へ移る。   If it is determined in step S35 that all the blocks have been processed (S35, YES), the process proceeds to step S36, and the result image output unit 116 displays the result of analyzing the digital watermark for all the divided blocks. 13 (S36). Here, for example, the block positions determined to have been tampered with in step S41, which will be described later, and stored, are shown in reverse display or filled display. If it is determined in step S35 that all blocks have not been processed (S35, NO), the process proceeds to step S37.

ステップS37へ移った場合、グレイコード符号化部114は、電子透かし抽出用データ格納変数Yの値をグレイコード符号化する(S37)。ここでは、グレイコード符号化部114は、ステップS34で設定された又はステップS42で更新された電子透かし抽出用データ格納変数Yをグレイコード符号化する。なお、グレイコード符号化された電子透かし抽出用データ格納変数Yは、電子透かし抽出用データ格納変数(ここではY')に格納される。   When the process proceeds to step S37, the gray code encoding unit 114 performs gray code encoding on the value of the digital watermark extraction data storage variable Y (S37). Here, the Gray code encoding unit 114 performs Gray code encoding on the digital watermark extraction data storage variable Y set in Step S34 or updated in Step S42. Note that the digital watermark extraction data storage variable Y subjected to Gray code encoding is stored in a digital watermark extraction data storage variable (Y ′ in this case).

なお、ステップS31において再現性チェックのレベル値が8(=電子透かし抽出時の算出値が埋め込み処理と同じ8ビット表現であり、全ビット有効であることを表す)に設定されているとする。また、予め第n番ブロックには、埋め込み用データ格納変数X'として11000000(2)が埋め込まれているものとする。詳細は図3のステップS7と同様である。   In step S31, it is assumed that the level value of the reproducibility check is set to 8 (= the calculated value at the time of digital watermark extraction is the same 8-bit representation as in the embedding process, indicating that all bits are valid). Further, it is assumed that 11000000 (2) is embedded in advance in the nth block as the embedded data storage variable X ′. Details are the same as step S7 in FIG.

続いてステップS38へ移って、比較処理部115は、当該ブロックから電子透かし情報を抽出する処理を行う(S38)。   Subsequently, the process proceeds to step S38, and the comparison processing unit 115 performs processing for extracting digital watermark information from the block (S38).

ステップ39へ移って、比較処理部115は、電子透かし抽出値をチェックする(S39)。ここでは、ステップS31で設定された再現性チェックのレベル値を基に、チェックに使用する上位有効桁数を決定し、その範囲で、ステップS37で抽出用データ格納変数Yをグレイ符号化したデータと、ステップ38で抽出した電子透かし情報が同じ値であるかどうか、即ち当該ブロックにおいて改ざんがあるか否かをチェックする。   Moving to step 39, the comparison processing unit 115 checks the digital watermark extraction value (S39). Here, based on the level value of the reproducibility check set in step S31, the number of upper significant digits used for the check is determined, and within this range, data obtained by gray-coding the extraction data storage variable Y in step S37 And whether or not the digital watermark information extracted in step 38 has the same value, that is, whether or not the block is falsified.

即ち、図3に示される電子透かし埋め込み処理により第n番ブロックに埋め込まれた電子透かし情報(即ち、上記X')と、ステップS39に係る処理により改ざんチェック時に、画像データの画素値から埋め込み用データ格納変数Xと同様の方法で算出した抽出用データ格納変数Yを電子透かし埋め込み時と同様の方法でグレイ符号化したグレイ符号化データY'とを比較する。   That is, the digital watermark information embedded in the n-th block by the digital watermark embedding process shown in FIG. 3 (that is, X ′) and the pixel value of the image data are used for embedding at the time of tampering check by the process in step S39. The extracted data storage variable Y calculated by the same method as the data storage variable X is compared with the gray encoded data Y ′ obtained by performing the gray encoding by the same method as that for embedding the digital watermark.

このとき、まず、第n番ブロックに埋め込まれている電子透かし情報(即ち、上記X')が、正常に(誤り訂正符号等を用いてもよい)復元できたとする。次に、一つ前の第(n―1)番ブロックの抽出時の画素平均値が127(10)(上述の128と異なる数値であるのは、不可逆圧縮処理や改ざん等よる何らかの理由で埋込み内容から少し変化した場合)であるとすると、バイナリコードは01111111(2)であり、それをグレイ符号化した、01000000(2)が電子透かし抽出用データ格納変数(ここではY')に代入される。以上の内容より、電子透かし埋め込み情報と電子透かし抽出情報を比較するのは、X'とY'を比較することである。   At this time, first, it is assumed that the digital watermark information (that is, the above X ′) embedded in the nth block can be restored normally (an error correction code or the like may be used). Next, the pixel average value at the time of extracting the previous (n-1) th block is 127 (10) (the value different from the above 128 is embedded for some reason such as lossy compression processing or tampering) The binary code is 01111111 (2), which is gray-coded, 01000000 (2) is assigned to the digital watermark extraction data storage variable (here Y ') The Based on the above contents, comparing the digital watermark embedding information and the digital watermark extraction information is comparing X ′ and Y ′.

ステップS40へ移って、比較処理部115は、ステップS39における電子透かし埋め込み値と電子透かし抽出値との比較により、改ざんがないか否かを判定する(S40)。ステップS40では、改ざんがあるか否かの判定は分割されたブロック毎に行われる。改ざんがあるか否かの判定方法は、ステップ39で決定した有効桁数において、電子透かし埋め込み情報X'と電子透かし抽出情報Y'との比較の結果として、両データが完全に一致している場合、又は、任意の1ビットが特定の条件の基に(詳細は後述の具体例、及び、グレイ符号データの利用方法の例を参照)不一致の場合は当該ブロック中の画素値は改ざんされていないと判断する。また、任意の2ビット以上が同時に不一致の場合は、当該ブロック中の画素値は改ざんされていると判断する。   Proceeding to step S40, the comparison processing unit 115 determines whether or not tampering has occurred by comparing the digital watermark embedded value with the digital watermark extraction value in step S39 (S40). In step S40, it is determined for each divided block whether or not tampering has occurred. As a result of comparison between the digital watermark embedding information X ′ and the digital watermark extraction information Y ′ in the effective number of digits determined in step 39, the two data are completely matched. If any one bit is inconsistent on the basis of a specific condition (see the specific examples described later and examples of how to use gray code data), the pixel value in the block is falsified. Judge that there is no. If any two or more bits do not match at the same time, it is determined that the pixel value in the block has been tampered with.

ステップS40において改ざんされていないと判断された場合には(S40、YES)、ステップ42へ移る。ステップS40において改ざんされていると判断された場合には(S40、NO)、ステップ41へ移って、当該ブロック内に改ざんありとみなし、当該ブロック位置を改ざん対象ブロックとしてメモリ4に記憶する。   If it is determined in step S40 that the image has not been tampered with (S40, YES), the process proceeds to step 42. If it is determined in step S40 that the block has been tampered with (S40, NO), the process proceeds to step 41, where it is assumed that the block has been tampered with, and the block position is stored in the memory 4 as a block to be tampered with.

ステップ42へ移って、比較データ算出部113は、電子透かし抽出用データ格納変数Yを更新する(S42)。当該ブロック内の電子透かし抽出後の画素データ値から算出した(画素平均値や分散値など)値をYに代入する。   Moving to step 42, the comparison data calculation unit 113 updates the digital watermark extraction data storage variable Y (S42). A value (pixel average value, variance value, etc.) calculated from the pixel data value after digital watermark extraction in the block is substituted for Y.

ステップS43へ移って、比較データ算出部113は、現在処理ブロック位置を示す変数の更新及び現在処理済みブロック数に1加える更新を行い(S43)、ステップS35へ移って、再び次のブロックについて電子透かしの再現性チェック処理を行う。   In step S43, the comparison data calculation unit 113 updates the variable indicating the current processing block position and updates the current processing block number by one (S43), moves to step S35, and electronically updates the next block. Perform watermark reproducibility check processing.

以上で示される処理により、本実施形態に係る画像処理装置100では、画像データに埋め込まれた電子透かしの再現性をチェックする処理を行う。   Through the processing described above, the image processing apparatus 100 according to the present embodiment performs processing for checking the reproducibility of the digital watermark embedded in the image data.

なお、繰り返し処理(ステップS35〜ステップS43)について、画像データを分割することで作成されたブロックのうち、最初に処理されるブロックについては前のブロックが存在しないため、前のブロックから埋め込むべきグレイ符号を求めることが出来ない。そこで、初期値として、電子透かし抽出用データ格納変数Yに所定の値を入れておくことにする。また、最初のブロックについては改ざんを判定しなくても良いのであれば、省略するようにしてもよい。   Regarding the repetitive processing (steps S35 to S43), among the blocks created by dividing the image data, there is no previous block for the first processed block, so the gray to be embedded from the previous block. The sign cannot be obtained. Therefore, a predetermined value is set in the electronic watermark extraction data storage variable Y as an initial value. Further, if it is not necessary to determine whether the first block is falsified, it may be omitted.

(具体例)
以下、図5のステップS40における処理の具体例について図6及び図7を参照して説明する。図6は、グレイ符号データの比較結果、改ざんなしである場合を説明するための図である。図7は、グレイ符号データの比較結果、改ざんありである場合を説明するための図である。
(Concrete example)
Hereinafter, a specific example of the process in step S40 of FIG. 5 will be described with reference to FIGS. FIG. 6 is a diagram for explaining a case where there is no alteration as a result of comparison of gray code data. FIG. 7 is a diagram for explaining a case where tampering occurs as a result of comparison of gray code data.

ここでは、図3の電子透かし埋め込み処理を示すフローチャートにおいて、ステップS1において設定されるグレイ符号化のレベル値は4(ビット)、ステップS4において設定される埋め込み用データ格納変数Xの初期設定値を直前処理ブロックの輝度値の平均値である0〜15の範囲とする。   Here, in the flowchart showing the digital watermark embedding process of FIG. 3, the gray encoding level value set in step S1 is 4 (bits), and the initial setting value of the embedding data storage variable X set in step S4 is A range of 0 to 15 that is an average value of luminance values of the immediately preceding processing block is used.

このとき、第(n−1)番ブロックの輝度値の平均値が12(10)の場合、グレイ符号化されたデータは、1010(2)になる。つまり、第n番ブロックに埋め込む電子透かしは、1010(2)の4ビットの情報になる。   At this time, when the average value of the luminance values of the (n−1) -th block is 12 (10), the gray-coded data is 1010 (2). That is, the digital watermark embedded in the nth block is 4-bit information of 1010 (2).

なお、埋め込む電子透かし情報は、例えば、このグレイ符号化されたデータのままでも良いが、少しの画質劣化を回避できる耐性を持たせて、誤り訂正に強いBCH符号やたたみ込み符号で符号化してもよい。その場合は埋め込みビット数が増加する。   The embedded watermark information may be, for example, the gray-encoded data, but may be encoded with a BCH code or a convolutional code that is resistant to error correction with a tolerance to avoid a slight deterioration in image quality. Also good. In that case, the number of embedded bits increases.

次に、電子透かし情報を埋込んだ後に内部データの変化が生じた場合(図6)を考える。ここでは一例として画像劣化を説明する。例えば、画像データを保存する直前に非可逆圧縮処理によって画質が少し劣化(変化)することによって、当該第(n−1)番ブロックの輝度値の平均値が11(10)に変化したとする。埋め込まれた電子透かし情報を抽出時に、再現性チェックのレベル値(C_Level)が4に設定されていると、グレイ符号化されたデータは、1110(2)となり、元の値とは1ビット値が異なることになるが、「この変化は小さい」と判断できるため、改ざんとは見なさない処置が取れる。   Next, consider a case where internal data changes after embedding digital watermark information (FIG. 6). Here, image degradation will be described as an example. For example, it is assumed that the average value of the luminance values of the (n−1) -th block has changed to 11 (10) due to a slight deterioration (change) in image quality due to the lossy compression process immediately before storing the image data. . If the level value (C_Level) of the reproducibility check is set to 4 when extracting the embedded watermark information, the gray-coded data is 1110 (2), and the original value is a 1-bit value. However, since it can be judged that “this change is small”, it is possible to take measures that are not regarded as tampering.

一方、電子透かし情報を埋め込んだ後に画像データの改ざんがあった場合(図7)を考える。例えば、画像データを保存後に改ざんされて、当該第(n―1)番ブロックの輝度値の平均値が10(10)に変化したとする。埋め込まれた電子透かし情報を抽出時に、再現性チェックのレベル値(C_Level)が4に設定されていると、グレイ符号化されたデータは、1111(2)となり、元の値とは2ビット値が異なることになるので、圧縮処理による画質変化よりも大きい変化であることが分かり、改ざんと認識しやすくなる。   On the other hand, consider a case where image data has been tampered with after embedding digital watermark information (FIG. 7). For example, it is assumed that the average value of the luminance values of the (n−1) -th block is changed to 10 (10) after being tampered with after the image data is stored. If the level value (C_Level) of the reproducibility check is set to 4 when extracting the embedded digital watermark information, the gray-coded data becomes 1111 (2), and the original value is a 2-bit value. Therefore, it is understood that the change is larger than the change in image quality due to the compression process, and it becomes easy to recognize that the tampering has occurred.

但し、例えば、埋め込まれた電子透かし情報を抽出時に、再現性チェックのレベル値(C_Level)が3(処理範囲の位取りを上記4ビットから上位3ビットに変更)に設定されると、埋め込まれた電子透かし情報は101(2)、内部データの変化による変化後の電子透かし抽出情報は111(2)、画像データの改ざんによる変化後の電子透かし抽出情報は111(2)となる。即ち、内部データの変化による変化と画像データの改ざんによる変化とが同じ結果となり、見分けがつかないことになる。このように、判定に使用するビット数を変化させることにより、どのくらいの変化が起きたときに改ざんとみなすかを調整することが可能となる。   However, for example, when the embedded digital watermark information is extracted, if the level value (C_Level) of the reproducibility check is set to 3 (the scale of the processing range is changed from the above 4 bits to the upper 3 bits), the embedded watermark information is embedded. The digital watermark information is 101 (2), the digital watermark extraction information after the change due to the change of the internal data is 111 (2), and the digital watermark extraction information after the change due to the alteration of the image data is 111 (2). That is, the change due to the change in the internal data and the change due to the falsification of the image data have the same result, and are indistinguishable. In this way, by changing the number of bits used for the determination, it is possible to adjust how much change is considered to be falsified.

また、別の例として、埋め込み用の電子透かし情報Xを受け取って電子透かし埋込み処理した値は、誤り訂正符号機能によって、情報劣化(変化)を阻止し易くなるが、それを乗り越えて、情報劣化が少し起こった場合でも、画像圧縮時の画像データ劣化が、埋込み情報値生成側(輝度平均値)の変化として出ていなければ、劣化のレベルが、例えば1ビットの相違などとして、捉えることができる。   As another example, the value obtained by receiving the digital watermark information X for embedding and embedding the digital watermark can be easily prevented from being deteriorated (changed) by the error correction code function. Even if a little occurs, if the image data degradation at the time of image compression does not appear as a change on the embedded information value generation side (luminance average value), the degradation level can be grasped as a difference of 1 bit, for example. it can.

(グレイ符号データの利用方法の例)
続いて、図5のステップS40に係る処理におけるグレイ符号化データの利用方法について説明する。前述した図5のステップS40では、電子透かし埋め込み情報X'と電子透かし抽出情報Y'との比較に基づいて、改ざんされたか否かを判定すると説明した。ここでは電子透かし埋め込み情報X'と電子透かし抽出情報Y'のグレイ符号化データの利用方法について図8のフローチャートを用いて説明する。
(Example of how to use gray code data)
Next, a method for using gray encoded data in the processing according to step S40 in FIG. 5 will be described. In step S40 of FIG. 5 described above, it has been described that it is determined whether or not falsification has been made based on a comparison between the digital watermark embedding information X ′ and the digital watermark extraction information Y ′. Here, a method of using the gray coded data of the digital watermark embedding information X ′ and the digital watermark extraction information Y ′ will be described with reference to the flowchart of FIG.

図8は、グレイ符号データの比較処理を説明するための汎用フローチャートの一例である。ここでは、任意のビット数の二つのグレイ符号化データX、Yが、同一の値か、10進数での差が1か、又は10進数での差が2以上であるかを識別する方法を表す。   FIG. 8 is an example of a general-purpose flowchart for explaining the comparison process of gray code data. Here, a method of identifying whether two gray coded data X and Y having an arbitrary number of bits are the same value, whether the difference in decimal numbers is 1, or whether the difference in decimal numbers is 2 or more. To express.

まず、XとYの排他的論理和演算結果をZとする(S51)。続いて、ステップS51で演算されたZに基づき、Zにおけるビット値1のビット数U及びZにおけるビット値1の位置Vを算出する(S52)。ここでは、ステップS51で演算されたZを最下位ビットから順にビット単位に調査し、初めてビット1を見つけた位置をVとする。例えば、最下位ビットが1の時はV=0、最下位ビットが0且つ最下位から2番目(最下位の隣)のビットが1の時はV=1とする。また、同時にビット1の数をカウントしUとする。例えば、Z=00010100ビットであれば、U=2、V=2である。これらU、Vの算出方法は既知のものであるので、説明は省略する。以降ステップS53以降の処理では、ステップS52における算出結果を基にXとYの比較を行う。   First, the exclusive OR operation result of X and Y is set to Z (S51). Subsequently, based on Z calculated in step S51, the number U of bit values 1 in Z and the position V of bit value 1 in Z are calculated (S52). Here, Z calculated in step S51 is examined in bit units in order from the least significant bit, and the position where bit 1 is found for the first time is taken as V. For example, V = 0 when the least significant bit is 1, and V = 1 when the least significant bit is 0 and the second least significant bit (lowest neighbor) is 1. At the same time, the number of bits 1 is counted as U. For example, if Z = 00010100 bits, U = 2 and V = 2. Since the calculation methods of U and V are known, the description thereof is omitted. Thereafter, in the processing after step S53, X and Y are compared based on the calculation result in step S52.

ステップS53へ移って、U=0であるか否かを判定する(S53)。ここでは、XとYが同一であるか否かを判定している。U=0である場合(S53、YES)、ステップS54へ移って、X=Yと判断する(S54)。U=0ではない場合(S53、NO)、ステップS55へ移る。   Moving to step S53, it is determined whether or not U = 0 (S53). Here, it is determined whether X and Y are the same. If U = 0 (S53, YES), the process moves to step S54 and X = Y is determined (S54). If U = 0 is not satisfied (S53, NO), the process proceeds to step S55.

ステップS55へ移った場合、U>1であるか否かを判定する(S55)。U>1である場合(S55、YES)、ステップS56へ移って、XとYの距離(差)は、2(10)以上離れていると判断する(S56)。U<1である場合(S55、NO)、ステップS57へ移る。   When the process proceeds to step S55, it is determined whether or not U> 1 (S55). If U> 1 (S55, YES), the process moves to step S56, and it is determined that the distance (difference) between X and Y is 2 (10) or more (S56). If U <1 (S55, NO), the process proceeds to step S57.

ステップS57へ移った場合、V=0であるか否かを判定する(S57)。V=0である場合(S57、YES)、ステップS58へ移って、XとYの距離(差)は、1(10)であると判断する(S58)。V=0ではない場合(S57、NO)、ステップS59へ移る。   When the process proceeds to step S57, it is determined whether or not V = 0 (S57). If V = 0 (S57, YES), the process moves to step S58, and the distance (difference) between X and Y is determined to be 1 (10) (S58). If V = 0 is not satisfied (S57, NO), the process proceeds to step S59.

ステップS59へ移った場合、グレイ符号化データXを最下位ビットから順にビット単位に調査し、初めてビット1を見つけた位置をXbとする。また、グレイ符号化データYを最下位ビットから順にビット単位に調査し、初めてビット1を見つけた位置をYbとする(S59)。ステップS59に係る処理は、ステップS52におけるVを算出する際の処理と同様であるので、ここでは説明を省略する。   When the process proceeds to step S59, the gray encoded data X is examined bit by bit from the least significant bit, and the position where bit 1 is found for the first time is defined as Xb. Further, the gray encoded data Y is examined in bit units in order from the least significant bit, and the position where bit 1 is found for the first time is defined as Yb (S59). Since the process according to step S59 is the same as the process when calculating V in step S52, the description thereof is omitted here.

続いてステップS60へ移って、Xb=Yb、且つ、V=Xb+1であるか否かを判定する(S60)。Xb=Yb、且つ、V=Xb+1である場合(S60、YES)、ステップS58へ移って、XとYの距離(差)は、1(10)であると判断する。Xb=Yb、且つ、V=Xb+1ではない場合(S60、NO)、ステップS56へ移って、XとYの距離(差)は、2(10)以上離れていると判断する。   Subsequently, the process proceeds to step S60, and it is determined whether Xb = Yb and V = Xb + 1 are satisfied (S60). If Xb = Yb and V = Xb + 1 (S60, YES), the process moves to step S58, and the distance (difference) between X and Y is determined to be 1 (10). When Xb = Yb and V = Xb + 1 is not satisfied (S60, NO), the process proceeds to step S56, and it is determined that the distance (difference) between X and Y is 2 (10) or more.

以上に示される処理により、本実施形態に係る画像処理装置100では、任意のビット数の二つのグレイ符号化データX、Yが、同一の値か、10進数での差が1か、又は10進数での差が2以上であるかを識別している。   Through the processing described above, in the image processing apparatus 100 according to the present embodiment, the two gray encoded data X and Y having an arbitrary number of bits have the same value, the difference in decimal numbers is 1, or 10 It identifies whether the difference in the decimal number is 2 or more.

具体的な例をグレイ符号化データX、Yが4ビット、3ビット、2ビットの場合について、それぞれ図9、10、11を用いて説明する。まず、グレイ符号化データX、Yが4ビットである場合の説明を行う。次に、X,Yが4ビットである場合を参考にして汎用的なNビットの場合について説明する。最後に、X、Yが3ビット、2ビットの場合についてそれぞれ説明を行う。なお、図8で示したフローチャートは、汎用的なNビットの場合の処理を示している。   A specific example will be described with reference to FIGS. 9, 10, and 11, where Gray encoded data X and Y are 4 bits, 3 bits, and 2 bits, respectively. First, the case where the gray encoded data X and Y are 4 bits will be described. Next, a general N bit case will be described with reference to a case where X and Y are 4 bits. Finally, the case where X and Y are 3 bits and 2 bits will be described. In addition, the flowchart shown in FIG. 8 has shown the process in the case of a general purpose N bit.

(グレイ符号化データX、Yが4ビットの場合)
図9は、グレイ符号データが4ビット表現の場合のXOR演算結果を説明するための図である。図9の横軸、縦軸のそれぞれには、4ビットで表現されたX、Yが、同図の各要素には、XとYとの排他的論理和(XOR演算値)の値が示されている。
(When gray coded data X and Y are 4 bits)
FIG. 9 is a diagram for explaining an XOR operation result when the gray code data is expressed in 4 bits. Each of the horizontal and vertical axes in FIG. 9 indicates X and Y expressed in 4 bits, and each element in FIG. 9 indicates an exclusive OR (XOR operation value) value of X and Y. Has been.

このとき、図9を見ると、隣り合う(距離が1の)グレイ符号データ値(例えばX=0000(2)、Y=0001(2))のXOR演算値は、所定の1ビットだけがビットON(1又は「真」)でそれ以外はビットOFF(0又は「偽」)が算出されている(図9の下線付き数字)。また、更にもう一つ隣(距離が2)のグレイ符号データ値とのXOR演算値(例えばX=0000(2)、Y=0011(2))は、所定の2ビットだけがビットONでそれ以外はビットOFFが算出されている(図9の枠囲み数字)。   At this time, referring to FIG. 9, the XOR operation value of adjacent gray code data values (with a distance of 1) (for example, X = 0000 (2), Y = 0001 (2)) is only a predetermined 1 bit. On (1 or “true”), bit OFF (0 or “false”) is calculated for other cases (underlined numbers in FIG. 9). In addition, the XOR operation value (for example, X = 0000 (2), Y = 0011 (2)) with the gray code data value next to another (distance is 2) is the bit ON only for the predetermined 2 bits. In other cases, bit OFF is calculated (framed numbers in FIG. 9).

この性質により、以下のグレイ符号データの利用方法が可能になる。ここで埋め込みデータは全てグレイ符号データとする。   This property makes it possible to use the following Gray code data. Here, all the embedded data is assumed to be gray code data.

(A)階調数レベル上において、隣の値迄との不一致か、隣よりも少し隔たりの大きい値との不一致かを識別する時の処理が単純(正解値と抽出した埋込み値とのXOR演算を行い、演算結果のビットON数が1個なら隣の値、2個ならその隣の値と判断できる)になる。   (A) On the number of gradation levels, the process for discriminating whether there is a mismatch with the adjacent value or a mismatch with a value slightly larger than the adjacent value is simple (XOR between the correct value and the extracted embedded value) If the number of bit ONs in the calculation result is 1, the value is the adjacent value, and if it is 2, the value can be determined as the adjacent value.

(B)ソースデータをビット分解して透かし埋込みする過程において、「電子透かし埋め込み後に、任意の1ビットが劣化しても有効であるが、任意の2ビットが同時に劣化した時は無効にしたい」場合に、単純な処理(正解値と抽出した埋込み値とのXOR演算を行って、演算結果のビットON数が1個以下なら抽出値は有効、2個なら抽出値は無効と判断できる)で実現できる。   (B) In the process of bit-decomposing the source data and embedding the watermark, “Even if any one bit is degraded after embedding the digital watermark, it is effective, but when any two bits are degraded at the same time, I want to invalidate it.” In this case, a simple process (XOR operation between the correct value and the extracted embedded value is performed, and if the number of bit ONs of the operation result is 1 or less, the extracted value is valid, and if it is 2, the extracted value can be determined invalid) realizable.

上記(A)、(B)で示されるグレイ符号データの利用方法が可能になる。但し、図9の丸囲み数字のように、演算結果の中にビットONが1個ずつ存在するが、演算元であるグレイ符号データX,Yは隣り合う値(距離が1の)同士ではないものがある。これらを隣り合う値同士のXOR演算結果(即ち、図9の下線付き数字)と識別できるようにする必要がある。その識別方法は、次のように行う。   The utilization method of the Gray code data shown in the above (A) and (B) becomes possible. However, as indicated by the encircled numbers in FIG. 9, there is one bit ON in the calculation result, but the gray code data X and Y as the calculation source are not adjacent values (distance is 1). There is something. It is necessary to distinguish these from the XOR operation result of adjacent values (that is, the underlined numbers in FIG. 9). The identification method is performed as follows.

図8の下線付き数字及び丸囲み数字のように、グレイ符号データが4ビットの場合は、演算結果の中にビットONが1個ずつ存在するケースは、0001ビット,0010ビット,0100ビット,1000ビットの4種類ある。そこで、それぞれに分析すると、次の(1)〜(4)の結果となる。
(1)0001ビットの場合:
全て下線付き数字に該当する(図9の例では、例えば[X、Y]=[0000(2)、0001(2)]などの8通り)。
(2)0010ビットの場合:
(2−A)グレイ符号化データXの最下位ビットがビットONである場合(X=???1(2)、"?"は1ビットで0又は1のどちらでも存在可能)は、全て下線付き数字に該当する(図9の例では、例えば[X、Y]=[0001(2)、0011(2)]などの4通り)。
In the case where the gray code data is 4 bits, as in the underlined numbers and circled numbers in FIG. 8, the case where one bit ON exists in the operation result is 0001 bits, 0010 bits, 0100 bits, 1000 There are four types of bits. Therefore, when analyzed in each case, the following results (1) to (4) are obtained.
(1) For 0001 bit:
All correspond to underlined numbers (in the example of FIG. 9, for example, [X, Y] = [0000 (2), 0001 (2)], etc.).
(2) For the 0010 bit:
(2-A) When the least significant bit of the gray encoded data X is bit ON (X = ??? 1 (2), “?” Is 1 bit and can be either 0 or 1), all Corresponds to underlined numbers (in the example of FIG. 9, for example, [X, Y] = [0001 (2), 0011 (2)], etc.).

(2−B)グレイ符号化データXの最下位ビットがビットOFFである場合(X=???0(2))は、全て丸囲み数字に該当する(図9の例では、例えば[X、Y]=[0000(2)、0010(2)]などの4通り)。
(3)0100ビットの場合:
(3−A)グレイ符号化データXの最下位から2番目のビットがビットON、且つ、最下位ビットがOFFである場合(X=??10(2))、全て下線付き数字に該当する(図9の例では、例えば[X、Y]=[0010(2)、0110(2)]などの2通り)。
(2-B) When the least significant bit of the gray encoded data X is bit OFF (X = ??? 0 (2)), all correspond to the circled numbers (in the example of FIG. 9, for example, [X , Y] = [0000 (2), 0010 (2)], etc.).
(3) For 0100 bits:
(3-A) When the second least significant bit of gray encoded data X is bit ON and the least significant bit is OFF (X = ?? 10 (2)), all correspond to underlined numbers. (In the example of FIG. 9, for example, [X, Y] = [0010 (2), 0110 (2)]).

(3−B)上記(3−A)以外である場合(X=??**(2)、"**"は、"10"以外の任意の2ビット)、全て丸囲み数字に該当する(図9の例では、例えば[X、Y]=[0000(2)、0100(2)]などの6通り)。
(4)1000ビットの場合:
(4−A)グレイ符号化データXの最下位から3番目のビットがビットON、且つ、最下位と最下位から2番目の両ビットがビットOFFである場合(X=?100(2))、全て下線付き数字に該当する(図9の例では、[X、Y]=[0100(2)、1100(2)]の1通り)。
(3-B) When other than (3-A) above (X = ?? ** (2), "**" is any 2 bits other than "10"), all correspond to circled numbers (In the example of FIG. 9, for example, [X, Y] = [0000 (2), 0100 (2)]).
(4) For 1000 bits:
(4-A) When the third least significant bit of gray encoded data X is bit ON, and both the least significant and second least significant bit are bit OFF (X =? 100 (2)) , All correspond to underlined numbers (in the example of FIG. 9, [X, Y] = [0100 (2), 1100 (2)]).

(4−B)上記(4−A)以外である場合、全て丸囲み数字に該当する(図9の例では、例えば[X、Y]=[0000(2)、1000(2)]などの7通り)。   (4-B) In cases other than the above (4-A), all correspond to the circled numbers (in the example of FIG. 9, for example, [X, Y] = [0000 (2), 1000 (2)], etc. 7 ways).

以上の(1)〜(4)の結果より、グレイ符号データが4ビットの場合には、演算結果の中にビットONが1個ずつ存在する全32(=8+4+4+2+6+1+7)通りの内、隣同士の数値(下線付き数字)であるのは15(=8+4+2+1)通り、即ち15/32=約47%となる。   From the results of (1) to (4) above, when the Gray code data is 4 bits, among the 32 (= 8 + 4 + 4 + 2 + 6 + 1 + 7) ways in which one bit ON exists in the operation result, There are 15 (= 8 + 4 + 2 + 1) numbers (underlined numbers), that is, 15/32 = about 47%.

(グレイ符号化データX、YがNビットの場合)
以上のことから、グレイ符号データX、YがNビット表現の場合については以下のようになる。なお、前述したように図8で示したフローチャートは、グレイ符号データX、YがNビット表現の場合の汎用的な処理を示している。
(1)グレイ符号データX、Y同士の排他的論理和演算結果であるZ(Z=XxorY)の分析により、(2)以下を判断する。ここで、'xor'は、排他的論理和演算子である。
(2)上記(1)で算出されたグレイ符号データZのビットデータにおいて、以下の判断を行う。
(2−1) ビットONの数が0個の場合、X=Yとみなす。
(2−2) ビットONの数が1個の場合、以下(3)の内容になる。
(2−3) ビットONの数が2個以上の場合、グレイ符号データXとYが表す値の差は、2以上であるとみなす。
(3)上記(1)ので算出されたグレイ符号データZのビットONの数が1個の場合のビットON位置は、N種類(00・・・・・・001(2),00・・・・・・010(2)、・・・、10・・・・・・000(2))ある。これらを整理すると以下のようになる。
(When gray coded data X and Y are N bits)
From the above, the case where the Gray code data X and Y are expressed in N bits is as follows. As described above, the flowchart shown in FIG. 8 shows general-purpose processing when the Gray code data X and Y are expressed in N bits.
(1) From the analysis of Z (Z = XxorY), which is an exclusive OR operation result between the Gray code data X and Y, (2) the following is determined. Here, 'xor' is an exclusive OR operator.
(2) The following determination is performed on the bit data of the Gray code data Z calculated in (1) above.
(2-1) If the number of bits ON is 0, X = Y is considered.
(2-2) When the number of bit ON is 1, the contents of (3) are as follows.
(2-3) When the number of bits ON is 2 or more, the difference between the values represented by the Gray code data X and Y is considered to be 2 or more.
(3) When the number of bit ONs of the Gray code data Z calculated in (1) is 1, there are N types of bit ON positions (00... 001 (2), 00. ... 010 (2), ..., 10 ... 000 (2)). These are organized as follows.

(3−1)最下位ビットが1の場合:
全て下線付き数字に該当し、グレイ符号データXとYの値の差が、1(10)になる数値同士であることがわかる。
(3-1) When the least significant bit is 1:
It can be seen that all the numbers correspond to underlined numbers, and the difference between the values of the gray code data X and Y is 1 (10).

(3−2) 最下位から2番目のビットが1の場合:
(3−2−A)グレイ符号化データXとYが共に最下位ビットがビットONである組合せのとき、全て下線付き数字に該当する。即ち、XとYは、最下位ビット及び最下位から2番目のビットが1の数値、最下位ビットが1及び最下位から2番目のビットが0の組合せ(X,Yの割り当ては任意)であり、下線付き数字に存在する符号内容(グレイ符号データXとYが表す値の差は1)である。例えば、グレイ符号"1011(2)"と"1001(2)"は、それぞれ13(10)と14(10)を表しており、その差は1(10)である。
(3-2) When the second least significant bit is 1:
(3-2-A) When the gray coded data X and Y are both combinations in which the least significant bit is the bit ON, they all correspond to underlined numbers. That is, X and Y are a combination of the least significant bit and the second least significant bit being 1, the least significant bit being 1 and the second least significant bit being 0 (assignment of X and Y is arbitrary) Yes, the code content existing in the underlined numbers (the difference between the values represented by the Gray code data X and Y is 1). For example, gray codes “1011 (2)” and “1001 (2)” represent 13 (10) and 14 (10), respectively, and the difference is 1 (10).

(3−2−B)グレイ符号化データXとYが共に最下位ビットがビットOFFである組合せのとき、全て丸囲み数字に該当する(XとYが表す値の差は2以上)。即ち、グレイ符号化データXとYは、最下位ビットが0及び最下位から2番目のビットが1の数値、最下位ビットが0及び最下位から2番目のビットが0の数値の組合せ(X,Yの割り当ては任意)であり、これは、丸囲み数字に該当する符号である。例えば、グレイ符号"1010(2)"と"1000(2)"ビットは、それぞれ12(10)と15(10)を表しており、その差は10進数表現で3である。     (3-2-B) When the gray encoded data X and Y are both combinations in which the least significant bit is bit OFF, they all correspond to the circled numbers (the difference between the values represented by X and Y is 2 or more). That is, the gray coded data X and Y are a combination of numerical values (X is the least significant bit is 0 and the second least significant bit is 1, and the least significant bit is 0 and the second least significant bit is 0 (X , Y is arbitrary), which is a code corresponding to a circled number. For example, the Gray code “1010 (2)” and “1000 (2)” bits represent 12 (10) and 15 (10), respectively, and the difference is 3 in decimal notation.

(3―3) 最下位からN番目(N≧3)のビットが1の場合(最上位ビットが1の場合を含まない):
(3−3−A)グレイ符号化データXとYが、共に最下位からN番目のビットがビットON、且つ、最下位から数えて(N-1)番目〜最下位の全ビットがビットOFFの組合せのとき、全て下線付き数字に該当する(グレイ符号データXとYが表す値の差は1)。即ち、グレイ符号化データXとYは、"?→?010--→0(2)"と"?→?110--→0(2)"の組合せ(X,Yの割当ては任意)であり、下線付き数字に該当する符号内容(グレイ符号XとYが表す値の差は1(10))である。例えば、N=3によるグレイ符号"0010(2)"と"0110(2)"は、それぞれ3(10)と4(10)を表しており、その差は1(10)である。
(3-3) When the Nth bit (N ≧ 3) from the least significant bit is 1 (not including the case where the most significant bit is 1):
(3-3-A) In the gray coded data X and Y, the Nth bit from the least significant bit is ON, and all the (N-1) th to least significant bits from the least significant bit are OFF. In the case of the combination, all correspond to underlined numbers (the difference between the values represented by the Gray code data X and Y is 1). That is, the gray encoded data X and Y are a combination of “? →? 010-- → 0 (2)” and “? →? 110-- → 0 (2)” (assignment of X and Y is arbitrary). Yes, the code content corresponding to the underlined number (the difference between the values represented by the Gray codes X and Y is 1 (10)). For example, gray codes “0010 (2)” and “0110 (2)” with N = 3 represent 3 (10) and 4 (10), respectively, and the difference is 1 (10).

(3−3−B)上記(3−3−A)以外の時、丸囲み数字に該当する(グレイ符号XとYが表す値の差は、2以上)。即ち、グレイ符号データXとYは、"?→?0*--→*(2)"と "?→?1*--→*(2)"の組合せ(X,Yの割当ては任意)であり、丸囲み数字に該当する符号内容である。例えば、N=3によるグレイ符号"1001(2)"と"1101(2)"、それぞれ14(10)と9(10)を表しており、その差は5(10)である。     (3-3-B) When other than the above (3-3-A), it corresponds to a circled number (the difference between the values represented by the Gray codes X and Y is 2 or more). That is, Gray code data X and Y are a combination of “? →? 0 *-→ * (2)” and “? →? 1 *-→ * (2)” (assignment of X and Y is arbitrary) The code content corresponds to a circled number. For example, gray codes “1001 (2)” and “1101 (2)” with N = 3 represent 14 (10) and 9 (10), respectively, and the difference is 5 (10).

(3−4) 最上位ビットが1の場合:
(3−4−A)グレイ符号化データXとYが、共に最上位の次(2番目)のビットがビットON、且つ、最上位から数えて3番目〜最下位の全ビットがビットOFFの組合せのとき、全て下線付き数字に該当する符号内容(グレイ符号XとYが表す値の差は1(10))である。即ち、グレイ符号化データXとYは、"010‥→0(2)"、"110‥→0(2)"の組合せ(X,Yの割当ては任意)であり、下線付き数字に該当する符号内容(グレイ符号XとYが表す値の差は1(10))である。例えば、グレイ符号"0100(2)"と"1100(2)"は、それぞれ7(10)と8(10)を表しており、その差は1(10)である。
(3-4) When the most significant bit is 1:
(3-4-A) In the gray encoded data X and Y, both the most significant (second) bit is bit ON, and all the third to least significant bits counted from the most significant bit are OFF. In the case of combinations, the code contents corresponding to the underlined numbers are all (the difference between the values represented by the Gray codes X and Y is 1 (10)). That is, the gray encoded data X and Y are a combination of “010... → 0 (2)” and “110... → 0 (2)” (assignment of X and Y is arbitrary) and corresponds to an underlined number. The code content (the difference between the values represented by the Gray codes X and Y is 1 (10)). For example, gray codes “0100 (2)” and “1100 (2)” represent 7 (10) and 8 (10), respectively, and the difference is 1 (10).

(3−4−B)上記(3−4−A)以外の時、丸囲み数字に該当する(グレイ符号XとYが表す値の差は2以上)。即ち、グレイ符号データXとYは、"0*--→*(2)"と"1*--→*(2)"の組合せ(X、Yの割り当ては任意)であり、丸囲み数字に該当する符号内容である。例えば、グレイ符号"0111(2)"と"1111(2)"は、それぞれ5(10)と10(10)を表しており、その差は5(10)である。     (3-4-B) When other than (3-4-A), it corresponds to a circled number (the difference between the values represented by the Gray codes X and Y is 2 or more). That is, Gray code data X and Y are a combination of “0 *-→ * (2)” and “1 *-→ * (2)” (assignment of X and Y is optional), The code content corresponding to. For example, gray codes “0111 (2)” and “1111 (2)” represent 5 (10) and 10 (10), respectively, and the difference is 5 (10).

以上に説明した、グレイ符号データX、YがNビット表現の場合についての処理をまとめたものが図8で示したフローチャートである。   The flow chart shown in FIG. 8 summarizes the processing in the case where the Gray code data X and Y described above are represented by N bits.

(グレイ符号化データX、Yが3ビットの場合)
図10は、グレイ符号データが3ビット表現の場合のXOR演算結果を説明するための図である。図10の横軸、縦軸のそれぞれには、3ビットで表現されたX、Yが、同図の各要素には、XとYとの排他的論理和(XOR演算値)の値が示されている。
(When gray coded data X and Y are 3 bits)
FIG. 10 is a diagram for explaining an XOR operation result when the gray code data is expressed in 3 bits. Each of the horizontal axis and the vertical axis in FIG. 10 indicates X and Y expressed in 3 bits, and each element in FIG. 10 indicates an exclusive OR (XOR operation value) value of X and Y. Has been.

ここでは、例えば、図9の上位3ビットだけに注目した演算結果を示している。   Here, for example, an operation result focusing on only the upper 3 bits of FIG. 9 is shown.

このとき、図10を見ると、隣り合う(距離が1の)グレイ符号データ値(例えばX=000(2)、Y=001(2))のXOR演算値は、所定の1ビットだけがビットON(1又は「真」)でそれ以外はビットOFF(0又は「偽」)が算出されている(図10の下線付き数字)。また、更にもう一つ隣(距離が2)のグレイ符号データ値とのXOR演算値(例えばX=000(2)、Y=011(2))は、所定の2ビットだけがビットONでそれ以外はビットOFFが算出されている(図10の枠囲み数字)。   At this time, as shown in FIG. 10, the XOR operation value of adjacent gray code data values (with a distance of 1) (for example, X = 000 (2), Y = 001 (2)) is only a predetermined one bit. On (1 or “true”), bit OFF (0 or “false”) is calculated otherwise (underlined numbers in FIG. 10). In addition, the XOR operation value (for example, X = 000 (2), Y = 011 (2)) with the gray code data value next to another (distance is 2) is the bit ON when only the predetermined 2 bits are ON. In other cases, bit OFF is calculated (framed numbers in FIG. 10).

この性質により、上記したグレイ符号データの利用方法が可能になる。ここで埋め込みデータは全てグレイ符号データとする。但し、図10の丸囲み数字のように、演算結果の中にビットONが1個ずつ存在するが、演算元であるグレイ符号データX,Yは隣り合う値(距離が1の)同士ではないものがある。これらを隣り合う値同士のXOR演算結果(即ち、図10の下線付き数字)と識別できるようにする必要がある。その識別方法は、前述したグレイ符号化データX、YがNビットの場合と同様にして行う。   This property makes it possible to use the gray code data described above. Here, all the embedded data is assumed to be gray code data. However, as indicated by the encircled numbers in FIG. 10, there is one bit ON in the calculation result, but the gray code data X and Y as the calculation source are not adjacent values (distance is 1). There is something. It is necessary to distinguish these from the XOR operation result of adjacent values (that is, the underlined numbers in FIG. 10). The identification method is performed in the same manner as in the case where the gray encoded data X and Y are N bits.

図10の下線付き数字及び丸囲み数字のように、グレイ符号データが3ビットの場合は、演算結果の中にビットONが1個ずつ存在するケースは、001ビット,010ビット, 100ビットの3種類ある。前述したグレイ符号化データX、YがNビットの場合の説明における(3)に当てはめて説明を行う。   As in the case of underlined numbers and circled numbers in FIG. 10, when the Gray code data is 3 bits, the case where one bit ON exists in the operation result is 001 bits, 010 bits, 100 bits 3 There are types. The description will be made by applying (3) in the description of the case where the gray encoded data X and Y are N bits.

(1) 最下位ビットが1(ここでは001ビット)の場合:
全て下線付き数字に該当し、グレイ符号データXとYの値の差が、1(10)になる数値同士であることがわかる(図10の例では、例えば[X、Y]=[000(2)、001(2)]などの4通り)。
(2) 最下位から2番目のビットが1(ここでは010ビット)の場合:
(2−A)グレイ符号化データXとYが共に最下位ビットがビットONである組合せのとき、全て下線付き数字に該当する(図10の例では、例えば[X、Y]=[001(2)、011(2)]などの2通り)。
(1) When the least significant bit is 1 (here, 001 bit):
It can be seen that all of the numbers are underlined numbers and the difference between the values of the gray code data X and Y is 1 (10) (in the example of FIG. 10, for example, [X, Y] = [000 ( 2), 001 (2)], etc.).
(2) When the second least significant bit is 1 (here, 010 bits):
(2-A) When the gray encoded data X and Y are both combinations in which the least significant bit is the bit ON, they all correspond to underlined numbers (in the example of FIG. 10, for example, [X, Y] = [001 ( 2), 011 (2)], etc.).

(2−B)グレイ符号化データXとYが共に最下位ビットがビットOFFである組合せのとき、全て丸囲み数字に該当する(図10の例では、例えば[X、Y]=[000(2)、010(2)]などの2通り)。
(3) についてはここでは考慮しない。
(4) 最上位ビットが1(ここでは100ビット)の場合:
(4−A)グレイ符号化データXとYが、共に最上位の次(2番目)のビットがビットON、且つ、最上位から数えて3番目〜最下位の全ビットがビットOFFの組合せのとき、全て下線付き数字に該当する(図10の例では、[X、Y]=[010(2)、110(2)]の1通り)。
(2-B) When the gray coded data X and Y are both combinations in which the least significant bit is bit OFF, they all correspond to circled numbers (in the example of FIG. 10, for example, [X, Y] = [000 ( 2), 010 (2)], etc.).
(3) is not considered here.
(4) When the most significant bit is 1 (100 bits here):
(4-A) Gray coded data X and Y are combinations in which the most significant next (second) bit is bit ON, and the third to least significant bits counted from the most significant bit are all bit OFF. All correspond to underlined numbers (in the example of FIG. 10, [X, Y] = [010 (2), 110 (2)]).

(4−B)上記(4−A)以外の時、丸囲み数字に該当する(図10の例では、例えば[X、Y]=[011(2)、111(2)]などの3通り)。   (4-B) Other than the above (4-A), it corresponds to a circled number (in the example of FIG. 10, for example, three types such as [X, Y] = [011 (2), 111 (2)]) ).

以上の(1)〜(4)の結果より、グレイ符号データが3ビットの場合には、演算結果の中にビットONが1個ずつ存在する全12(=4+2+2+1+3)通りの内、隣同士の数値(下線付き数字)であるのは7(=4+2+1)通り、即ち7/12=約58%となる。   From the results of (1) to (4) above, when the gray code data is 3 bits, there are 12 (= 4 + 2 + 2 ++ 1 + 3) ways in which one bit ON exists in the operation result, There are 7 (= 4 + 2 + 1) numerical values (underlined numbers), that is, 7/12 = about 58%.

(グレイ符号化データX、Yが2ビットの場合)
図11は、グレイ符号データが2ビット表現の場合のXOR演算結果を説明するための図である。図11の横軸、縦軸のそれぞれには、2ビットで表現されたX、Yが、同図の各要素には、XとYとの排他的論理和(XOR演算値)の値が示されている。
(When gray coded data X and Y are 2 bits)
FIG. 11 is a diagram for explaining an XOR operation result when the gray code data is expressed in 2 bits. In each of the horizontal axis and the vertical axis in FIG. 11, X and Y expressed by 2 bits are shown, and each element in the figure shows an exclusive OR (XOR operation value) value of X and Y. Has been.

ここでは、例えば、図10の上位2ビットだけに注目した演算結果を示している。   Here, for example, the calculation result focusing on only the upper 2 bits of FIG. 10 is shown.

このとき、図11を見ると、隣り合う(距離が1の)グレイ符号データ値(例えばX=00(2)、Y=01(2))のXOR演算値は、所定の1ビットだけがビットON(1又は「真」)でそれ以外はビットOFF(0又は「偽」)が算出されている(図11の下線付き数字)。また、更にもう一つ隣(距離が2)のグレイ符号データ値とのXOR演算値(例えばX=00(2)、Y=11(2))は、所定の2ビットだけがビットONでそれ以外はビットOFFが算出されている(図11の枠囲み数字)。   At this time, as shown in FIG. 11, the XOR operation value of adjacent gray code data values (with a distance of 1) (for example, X = 00 (2), Y = 01 (2)) is a bit of only one predetermined bit. On (1 or “true”), bit OFF (0 or “false”) is calculated otherwise (underlined numbers in FIG. 11). In addition, the XOR operation value (for example, X = 00 (2), Y = 11 (2)) with the gray code data value next to another (distance is 2) is the bit ON only for the predetermined 2 bits. In other cases, bit OFF is calculated (framed numbers in FIG. 11).

この性質により、上記したグレイ符号データの利用方法が可能になる。ここで埋め込みデータは全てグレイ符号データとする。但し、図11の丸囲み数字のように、演算結果の中にビットONが1個ずつ存在するが、演算元であるグレイ符号データX,Yは隣り合う値(距離が1の)同士ではないものがある。これらを隣り合う値同士のXOR演算結果(即ち、図10の下線付き数字)と識別できるようにする必要がある。その識別方法は、前述したグレイ符号化データX、YがNビットの場合と同様にして行う。   This property makes it possible to use the gray code data described above. Here, all the embedded data is assumed to be gray code data. However, as indicated by the encircled numbers in FIG. 11, there is one bit ON in the calculation result, but the gray code data X and Y as the calculation source are not adjacent values (distance is 1). There is something. It is necessary to distinguish these from the XOR operation result of adjacent values (that is, the underlined numbers in FIG. 10). The identification method is performed in the same manner as in the case where the gray encoded data X and Y are N bits.

図11の下線付き数字及び丸囲み数字のように、グレイ符号データが2ビットの場合は、演算結果の中にビットONが1個ずつ存在するケースは、01ビット,10ビットの2種類ある。前述したグレイ符号化データX、YがNビットの場合の説明における(3)に当てはめて説明を行う。   As in the underlined numbers and circled numbers in FIG. 11, when the Gray code data is 2 bits, there are two cases of one bit ON in the operation result, 01 bits and 10 bits. The description will be made by applying (3) in the description of the case where the gray encoded data X and Y are N bits.

(1) 最下位ビットが1(ここでは01ビット)の場合:
全て下線付き数字に該当し、グレイ符号データXとYの値の差が、1(10)になる数値同士であることがわかる(図11の例では、例えば[X、Y]=[00(2)、01(2)]などの2通り)。
(2)、(3) についてはここでは考慮しない。
(4) 最上位ビットが1(ここでは10ビット)の場合:
(4−A)グレイ符号化データXとYが、共に最上位の次(2番目)のビットがビットON、且つ、最上位から数えて3番目〜最下位の全ビットがビットOFFの組合せのとき、全て下線付き数字に該当する(図11の例では、[X、Y]=[01(2)、11(2)]などの1通り)。
(1) When the least significant bit is 1 (here, 01 bit):
It can be seen that all of the numbers are underlined numbers and the difference between the values of the gray code data X and Y is 1 (10) (in the example of FIG. 11, for example, [X, Y] = [00 ( 2), 01 (2)], etc.).
(2) and (3) are not considered here.
(4) When the most significant bit is 1 (here 10 bits):
(4-A) Gray coded data X and Y are combinations in which the most significant next (second) bit is bit ON, and the third to least significant bits counted from the most significant bit are all bit OFF. All correspond to underlined numbers (in the example of FIG. 11, [X, Y] = [01 (2), 11 (2)], etc.).

(4−B)上記(4−A)以外の時、丸囲み数字に該当する(図11の例では、[X、Y]=[00(2)、10(2)]などの1通り)。   (4-B) When other than the above (4-A), it corresponds to a circled number (in the example of FIG. 11, [X, Y] = [00 (2), 10 (2)], etc.) .

以上の(1)〜(4)の結果より、グレイ符号データが2ビットの場合には、演算結果の中にビットONが1個ずつ存在する全4(=2+1+1)通りの内、隣同士の数値(下線付き数字)であるのは3(=2+1)通り、即ち3/4=75%となる。   From the results of (1) to (4) above, when the gray code data is 2 bits, among the 4 (= 2 + 1 + 1) ways in which one bit ON exists in the operation result, There are 3 (= 2 + 1) numerical values (underlined numbers), that is, 3/4 = 75%.

(その他)
以上のことは、同じソースデータを使用した濃度値など程度(諧調)を表す値の桁を少なく(下位桁を捨て上位桁だけを残す。例えば、下位1ビット少なくすると階調数は1/2になる)しても、それぞれの諧調数レベル上に於いて、隣の値との不一致か、隣よりも少し隔たりの大きい値との不一致かを識別するのが単純であることを表す。
(Other)
As described above, the number of values representing the degree (gradation) such as density values using the same source data is reduced (the lower digits are discarded and only the upper digits are left. For example, if the lower 1 bit is reduced, the number of gradations is reduced to 1/2. However, on each tone number level, it is simple to identify whether it is a discrepancy with the adjacent value or a discrepancy with a value slightly larger than the adjoining value.

この性質により、以下のグレイ符号データの利用方法が可能になる。ここで埋め込みデータは全てグレイ符号データとする。   This property makes it possible to use the following Gray code data. Here, all the embedded data is assumed to be gray code data.

(A).濃度値など程度を表すデータを基にして、透かし埋込みするデータにファジー性を表現したい場合は、程度を表すデータを予め最大精度のソース情報→グレイ符号にして埋込んでおく。埋込んだ情報を抽出する過程に於いて、劣化したデータの有効性を判断するレベル分けに、透かし埋込み時のデータの上位桁からの有効にする桁数の分け方で対応する。   (A). When fuzziness is to be expressed in the data to be watermark-embedded based on the data representing the degree such as the density value, the data representing the degree is preliminarily embedded with the maximum accuracy source information → gray code. In the process of extracting embedded information, the level classification for determining the validity of degraded data corresponds to the classification of the number of digits to be validated from the upper digits of the data at the time of watermark embedding.

(B).埋込むソースデータを一旦暗号化や他の符号化してからグレイ符号化して埋込む場合に於いて、適用する暗号化や符号化機能が程度を表せる内容になっている時は、ソース情報→グレイ符号データを直接埋込む場合と同じように、埋込んだグレイ符号データを抽出する過程に於いて、劣化したデータの有効性を判断するレベル分けに、透かし埋込み時のデータの上位桁からの有効にする桁数の分け方で対応する。   (B). If the source data to be embedded is encrypted or otherwise encoded and then embedded by Gray encoding, the source information → Gray As in the case of directly embedding the code data, in the process of extracting the embedded gray code data, the data from the upper digits of the data at the time of watermark embedding is used for leveling to determine the effectiveness of the degraded data. It corresponds by how to divide the number of digits.

以上、実施形態に基づき本発明の説明を行ってきたが、上記実施形態にあげたその他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。   As described above, the present invention has been described based on the embodiments, but the present invention is not limited to the requirements shown here, such as combinations with other elements listed in the above embodiments. With respect to these points, the present invention can be changed within a range that does not detract from the gist of the present invention, and can be appropriately determined according to the application form.

本実施形態に係る画像処理装置の装置構成の一例を示す図である。It is a figure which shows an example of the apparatus structure of the image processing apparatus which concerns on this embodiment. 本実施形態に係る画像処理装置の機能構成の一例を示すブロック図である。It is a block diagram which shows an example of a function structure of the image processing apparatus which concerns on this embodiment. 本実施形態に係る電子透かし埋め込み処理を示すフローチャートの一例である。It is an example of the flowchart which shows the digital watermark embedding process which concerns on this embodiment. 分割されたブロックと埋め込む情報の関係を説明するための図である。It is a figure for demonstrating the relationship between the divided | segmented block and the information to embed. 本実施形態に係る電子透かし再現性チェック処理を示すフローチャートの一例である。It is an example of the flowchart which shows the digital watermark reproducibility check process which concerns on this embodiment. グレイ符号データの比較結果、改ざんなしである場合を説明するための図である。It is a figure for demonstrating the case where there is no falsification as a comparison result of gray code data. グレイ符号データの比較結果、改ざんありである場合を説明するための図である。It is a figure for demonstrating the case where there exists falsification as a comparison result of gray code data. グレイ符号データの比較処理を説明するための汎用フローチャートの一例である。It is an example of the general purpose flowchart for demonstrating the comparison process of gray code data. グレイ符号データが4ビット表現の場合のXOR演算結果を説明するための図である。It is a figure for demonstrating the XOR operation result in case Gray code data is 4-bit expression. グレイ符号データが3ビット表現の場合のXOR演算結果を説明するための図である。It is a figure for demonstrating the XOR operation result in case Gray code data is 3 bits expression. グレイ符号データが2ビット表現の場合のXOR演算結果を説明するための図である。It is a figure for demonstrating the XOR operation result in case Gray code data is 2 bits expression.

符号の説明Explanation of symbols

1 全体制御部
2 操作入力部
3 外部記憶装置
4 メモリ
5 画像撮影部
6 表示部
7 外部からの任意データ入力部
8 電子透かし埋込み用ソースデータ生成部
9 グレイ(グレイ)符号化部
10 電子透かし埋込み部
11 画像再生部
12 電子透かし解読部
13 検出した改ざん部の(反転)表示部
14 バス
DESCRIPTION OF SYMBOLS 1 Overall control part 2 Operation input part 3 External storage device 4 Memory 5 Image pick-up part 6 Display part 7 Arbitrary arbitrary data input part 8 Digital watermark embedding source data generation part 9 Gray (gray) encoding part 10 Electronic watermark embedding Unit 11 image reproduction unit 12 digital watermark decoding unit 13 detected (inverted) display unit 14 of detected falsification unit bus

Claims (11)

グレイ符号化された所定のビット長の電子透かしデータが埋め込まれた画像データが改ざんされたか否か、の判定処理を行う画像処理方法であって、
改ざんされた又は改ざんされていない前記画像データから、前記電子透かしデータを抽出する電子透かしデータ抽出工程と、
抽出された該電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、任意の1ビットが不一致である場合に前記任意の1ビットの位置に応じて改ざんなしと判定し、任意の2ビット以上が不一致の場合に判定する比較処理工程と、
を有することを特徴とすることを特徴とする画像処理方法。
An image processing method for determining whether or not image data embedded with gray-coded digital watermark data of a predetermined bit length has been falsified,
A digital watermark data extraction step of extracting the digital watermark data from the image data that has been altered or not altered;
In the comparison between the extracted digital watermark data and the digital watermark data of the predetermined bit length, if any one bit does not match, it is determined that there is no falsification according to the position of the arbitrary one bit, A comparison processing step for determining when two or more bits do not match;
An image processing method characterized by comprising:
前記比較処理工程では、
前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最下位ビットの1ビットが不一致の場合には、改ざんなしと判定することを特徴とする請求項1に記載の画像処理方法。
In the comparison process step,
The comparison between the extracted digital watermark data and the digital watermark data having the predetermined bit length determines that no alteration has been made when one least significant bit does not match. Image processing method.
前記比較処理工程では、
前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最下位ビットから第N番目の1ビット(但し、2≦N<ビット長)が不一致の場合には、前記抽出された電子透かしデータ及び前記所定のビット長の電子透かしデータのいずれも最下位ビットから第N番目のビットがビットONであり、且つ、最下位ビットから第N―1番目〜最下位ビットが全てビットOFFである場合、改ざんなしと判定することを特徴とする請求項1又は2に記載の画像処理方法。
In the comparison process step,
In comparison between the extracted digital watermark data and the digital watermark data of the predetermined bit length, when the Nth 1 bit (2 ≦ N <bit length) from the least significant bit does not match, In both the extracted digital watermark data and the digital watermark data of the predetermined bit length, the Nth bit from the least significant bit is bit ON, and the (N−1) th to least significant bits from the least significant bit are The image processing method according to claim 1, wherein if all bits are OFF, it is determined that there is no tampering.
前記比較処理工程では、
前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最上位ビットの1ビットが不一致の場合には、前記抽出された電子透かしデータ及び前記所定のビット長の電子透かしデータのいずれも最上位から2番目のビットがビットONであり、且つ、最上位から第3番目〜最下位ビットが全てビットOFFである場合、改ざんなしと判定することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理方法。
In the comparison process step,
In the comparison between the extracted watermark data and the digital watermark data having the predetermined bit length, if one most significant bit does not match, the extracted watermark data and the predetermined bit length electronic The watermark data is determined not to be tampered when the second most significant bit is bit ON and the third to least significant bits from the most significant bit are all bit OFF. The image processing method according to any one of claims 1 to 3.
前記比較処理工程では、さらに、
前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、上位複数桁を有効桁とすることを特徴とする請求項1乃至4のいずれか一項に記載の画像処理方法。
In the comparison processing step,
5. The image processing according to claim 1, wherein, in the comparison between the extracted digital watermark data and the digital watermark data having the predetermined bit length, upper digits are set as significant digits. Method.
グレイ符号化された所定のビット長の電子透かしデータが埋め込まれた画像データが改ざんされたか否か、の判定処理を行う画像処理装置であって、
改ざんされた又は改ざんされていない前記画像データから、前記電子透かしデータを抽出する電子透かしデータ抽出手段と、
抽出された該電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、任意の1ビットが不一致である場合に前記任意の1ビットの位置に応じて改ざんなしと判定し、任意の2ビット以上が不一致の場合に改ざんありと判定する比較処理手段と、
を有することを特徴とすることを特徴とする画像処理装置。
An image processing apparatus that performs a determination process of whether or not image data in which digital watermark data having a predetermined bit length that has been gray-coded is embedded has been tampered with,
Digital watermark data extraction means for extracting the digital watermark data from the image data that has been tampered with or not tampered with;
In the comparison between the extracted digital watermark data and the digital watermark data of the predetermined bit length, if any one bit does not match, it is determined that there is no falsification according to the position of the arbitrary one bit, A comparison processing means for determining that tampering has occurred when two or more bits do not match;
An image processing apparatus characterized by comprising:
前記比較処理手段は、
前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最下位ビットの1ビットが不一致の場合には、改ざんなしと判定することを特徴とする請求項6に記載の画像処理装置。
The comparison processing means includes
The comparison between the extracted digital watermark data and the digital watermark data having the predetermined bit length determines that no alteration has been made if one least significant bit does not match. Image processing apparatus.
前記比較処理手段は、
前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最下位ビットから第N番目の1ビット(但し、2≦N<ビット長)が不一致の場合には、前記抽出された電子透かしデータ及び前記所定のビット長の電子透かしデータのいずれも最下位ビットから第N番目のビットがビットONであり、且つ、最下位ビットから第N―1番目〜最下位ビットが全てビットOFFである場合、改ざんなしと判定することを特徴とする請求項6又は7に記載の画像処理装置。
The comparison processing means includes
In comparison between the extracted digital watermark data and the digital watermark data of the predetermined bit length, when the Nth 1 bit (2 ≦ N <bit length) from the least significant bit does not match, In both the extracted digital watermark data and the digital watermark data of the predetermined bit length, the Nth bit from the least significant bit is bit ON, and the (N−1) th to least significant bits from the least significant bit are The image processing apparatus according to claim 6, wherein when all bits are OFF, it is determined that there is no falsification.
前記比較処理手段は、
前記抽出された電子透かしデータと前記所定のビット長の電子透かしデータとの比較において、最上位ビットの1ビットが不一致の場合には、前記抽出された電子透かしデータ及び前記所定のビット長の電子透かしデータのいずれも最上位から2番目のビットがビットONであり、且つ、最上位から第3番目〜最下位ビットが全てビットOFFである場合、改ざんなしと判定することを特徴とする請求項6乃至8のいずれか一項に記載の画像処理装置。
The comparison processing means includes
In the comparison between the extracted watermark data and the digital watermark data having the predetermined bit length, if one most significant bit does not match, the extracted watermark data and the predetermined bit length electronic The watermark data is determined not to be tampered when the second most significant bit is bit ON and the third to least significant bits from the most significant bit are all bit OFF. The image processing apparatus according to any one of 6 to 8.
コンピュータに、請求項1乃至5のいずれか一記載の画像処理方法をコンピュータに実現させるための画像処理プログラム。   An image processing program for causing a computer to realize the image processing method according to any one of claims 1 to 5. 請求項10に記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the image processing program according to claim 10 is recorded.
JP2007241590A 2007-09-18 2007-09-18 Image processing method, image processing apparatus, image processing program and storage medium Pending JP2009076990A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007241590A JP2009076990A (en) 2007-09-18 2007-09-18 Image processing method, image processing apparatus, image processing program and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007241590A JP2009076990A (en) 2007-09-18 2007-09-18 Image processing method, image processing apparatus, image processing program and storage medium

Publications (1)

Publication Number Publication Date
JP2009076990A true JP2009076990A (en) 2009-04-09

Family

ID=40611576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007241590A Pending JP2009076990A (en) 2007-09-18 2007-09-18 Image processing method, image processing apparatus, image processing program and storage medium

Country Status (1)

Country Link
JP (1) JP2009076990A (en)

Similar Documents

Publication Publication Date Title
Fridrich Security of fragile authentication watermarks with localization
Fridrich et al. Invertible authentication
Goljan et al. Distortion-free data embedding for images
JP4035383B2 (en) Digital watermark code generation apparatus and code generation method, digital watermark decoding apparatus and decoding method, digital watermark code generation and decoding program, and recording medium recording the same
US7187780B2 (en) Image processing methods using reversible watermarking
US7515730B2 (en) Progressive image quality control using watermarking
US6275599B1 (en) Compressed image authentication and verification
US7313248B2 (en) Steganographic image encoding
US7360093B2 (en) System and method for authentication of JPEG image data
Queluz Authentication of digital images and video: Generic models and a new contribution
US7545938B2 (en) Digital watermarking which allows tampering to be detected on a block-specific basis
EP1865459A1 (en) The method of digital watermark and the corresponding device, and digital camera which can append watermark
Lin Watermarking and digital signature techniques for multimedia authentication and copyright protection
US7313696B2 (en) Method for authentication of JPEG image data
KR20080035638A (en) Covert and robust mark for media identification
JPH11341268A (en) Method for inserting watermark to digital image or compressed digital image, digital image capturing device, computer system and method for detecting alteration of digital image with watermark
US6831990B2 (en) System and method for image tamper detection via thumbnail hiding
Singh et al. An efficient fragile watermarking scheme with multilevel tamper detection and recovery based on dynamic domain selection
JP2004173072A (en) Code generator, image processor, code generation program, image processing program, and storage medium
US7493489B2 (en) System and method for authentication of JPEG image data
Caldelli et al. Joint near-lossless compression and watermarking of still images for authentication and tamper localization
JP4948551B2 (en) Electronic watermark embedding detection method and apparatus, program, and recording medium
KR101200345B1 (en) Block-bases image authentication method using reversible watermarking based on progressive differential histogram
US7627761B2 (en) System for authentication of JPEG image data
US7269271B2 (en) Method for digital image alteration detection and original digital image recovery