JP2003092677A - Data processing method and apparatus, its program and storage medium - Google Patents

Data processing method and apparatus, its program and storage medium

Info

Publication number
JP2003092677A
JP2003092677A JP2001397873A JP2001397873A JP2003092677A JP 2003092677 A JP2003092677 A JP 2003092677A JP 2001397873 A JP2001397873 A JP 2001397873A JP 2001397873 A JP2001397873 A JP 2001397873A JP 2003092677 A JP2003092677 A JP 2003092677A
Authority
JP
Japan
Prior art keywords
pattern
generating
random number
data
pseudo random
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001397873A
Other languages
Japanese (ja)
Other versions
JP3943931B2 (en
JP2003092677A5 (en
Inventor
Keiichi Iwamura
恵市 岩村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001397873A priority Critical patent/JP3943931B2/en
Priority to US10/188,870 priority patent/US7072488B2/en
Publication of JP2003092677A publication Critical patent/JP2003092677A/en
Publication of JP2003092677A5 publication Critical patent/JP2003092677A5/ja
Priority to US11/222,958 priority patent/US7181043B2/en
Application granted granted Critical
Publication of JP3943931B2 publication Critical patent/JP3943931B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To surely identify a falsified position even when the algorithm of an electronic watermark method and the embedded pattern are known. SOLUTION: A first pattern C(i, j) having self-synchronization is generated for digital contents comprising a plurality of sequential data blocks, a second pattern B(i, j) is generated on the basis of pseudo random number values, which are generated using an initial value k, and pixel values of the digital contents, the first pattern C(i, j) having self-synchronization and the second pattern B(i, j) are exclusively ORed and the result is embedded to the LSB of the original data to generate a data block to which an electronic watermark is embedded.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、デジタルデータの
処理に関するもので、特にデジタル画像データのような
デジタルデータの改竄位置を検出するためのデータ処理
方法及び装置、並びにその方法を実行するプログラム、
及びそのプログラムを記憶した記憶媒体に関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to digital data processing, and more particularly, to a data processing method and apparatus for detecting a falsification position of digital data such as digital image data, and a program for executing the method.
And a storage medium storing the program.

【0002】[0002]

【従来の技術】近年、コンピュータやインターネットの
普及に伴い、従来の銀塩写真や紙の書類などに代わっ
て、情報をデジタル化しデジタル画像として利用する形
態が一般化しつつある。更に、目覚しい画像処理技術の
進歩により、デジタル画像の編集・改竄は、フォトレタ
ッチツール等を使用すれば容易に行うことが可能になっ
た。このため、デジタル画像の原本性(オリジナリテ
ィ)は従来の銀塩写真や紙の書類等と比較して低く、証
拠としての能力に乏しいという問題点が生じてきてい
る。従来、写真画像は、例えば保険会社などでは事故の
証拠写真として用いられたり、建設会社などにおいて
は、建築現場の進捗状況の記録として用いられたりと、
その証拠能力、即ち、その原本性は重要な役割を果たし
てきている。しかし、上述したように、情報のデジタル
化によってその証拠性が失われることは大きな問題であ
る。
2. Description of the Related Art In recent years, with the spread of computers and the Internet, a form of digitizing information and using it as a digital image is becoming popular in place of conventional silver halide photographs and paper documents. Further, due to the remarkable progress of image processing technology, it has become possible to easily edit and tamper digital images by using a photo retouching tool or the like. For this reason, the originality of digital images is lower than that of conventional silver halide photographs and paper documents, and there is a problem that the ability as evidence is poor. Conventionally, a photographic image is used as an evidence photograph of an accident in, for example, an insurance company, or used as a record of the progress of a construction site in a construction company.
Its evidence power, ie its originality, has played an important role. However, as mentioned above, it is a big problem that the evidence is lost by the digitization of information.

【0003】一般に、デジタル画像の原本性の保証は、
米国特許第5499294号に示されるように、デジタ
ル画像のハッシュ値に公開鍵暗号を用いた電子署名を作
成することによって実現されるが、この手法では改竄の
有無は分かっても、その改竄位置の検出まではできなか
った。
Generally, the guarantee of the originality of a digital image is as follows.
As shown in U.S. Pat. No. 5,499,294, it is realized by creating an electronic signature using a public key encryption for a hash value of a digital image. With this method, even if the presence or absence of falsification is known, the falsification position It could not be detected.

【0004】それに対して、ある特定のパターンを画像
全体に電子透かしとして埋め込み、その画像に対して改
竄や編集が行われると、その埋め込まれたパターンが破
壊されて、それにより改竄位置を検出する手法が知られ
ている。その一例としては、LSBにあるスタンプ画像
と呼ばれる特定画像を埋め込む手法であり、例えば特開
2001−24876号公報には、秘密の鍵情報から生
成される擬似乱数によって画像中のスタンプ画像の埋め
込み位置を特定する手法が提案されている。
On the other hand, when a specific pattern is embedded in the entire image as a digital watermark and the image is tampered with or edited, the embedded pattern is destroyed and the tampered position is detected. The method is known. An example thereof is a method of embedding a specific image called a stamp image in the LSB. For example, in Japanese Patent Laid-Open No. 2001-24876, the embedding position of the stamp image in the image is determined by a pseudo random number generated from secret key information. Has been proposed.

【0005】[0005]

【発明が解決しようとする課題】このような従来の電子
透かしによる改竄位置の検出手法は、そのアルゴリズム
や埋め込みパターンが知られないことを安全性の根拠と
している。従って、そのアルゴリズムや埋め込みパター
ンが知られてしまった場合には、例え改竄が行われて
も、その改竄が行われていないようにする、即ち、デジ
タル画像の偽造を行うことが可能である。つまり、LS
Bにスタンプ画像を埋め込む手法では、そのアルゴリズ
ムを知った人物は、まずLSBのスタンプ画像を抽出し
て保存し、その画像を改竄した後で、最初に保存したス
タンプ画像を読み出して再び、その改竄後の画像データ
のLSBに埋め込むことにより、改竄が検知されない偽
造が可能になる。
In such a conventional tampered position detecting method using a digital watermark, the security is based on the fact that the algorithm and the embedding pattern are not known. Therefore, if the algorithm or the embedding pattern is known, it is possible to prevent the falsification even if the falsification is performed, that is, it is possible to forge the digital image. That is, LS
In the method of embedding a stamp image in B, a person who knows the algorithm first extracts and saves the LSB stamp image, tampers with the image, then reads the first saved stamp image and tamper with it again. By embedding it in the LSB of the subsequent image data, falsification in which tampering is not detected becomes possible.

【0006】また、特開2001−24876号公報に
示されるような、擬似乱数によってスタンプ画像の埋め
込み位置を定める手法は、その擬似乱数に埋め込み位置
が依存するので、上述のLSBに埋め込む手法よりは安
全であるが、原画像と電子透かし画像の差分をとるなど
によって、一旦そのスタンプ画像の埋め込み位置が知ら
れてしまうと同様の偽造が可能になる。
Further, in the method of determining the embedding position of the stamp image by the pseudo random number as disclosed in Japanese Patent Laid-Open No. 2001-24876, since the embedding position depends on the pseudo random number, the embedding position depends on the pseudo random number. Although it is safe, the same forgery is possible once the embedding position of the stamp image is known by taking the difference between the original image and the digital watermark image.

【0007】一般に、電子透かしの安全性は、そのアル
ゴリズムが秘密であることを前提とする場合が多く、そ
のアルゴリズムが知られても安全であると言える手法は
今まで提案されていないと言っても過言ではない。
Generally, the security of a digital watermark is often premised on that the algorithm is secret, and even if the algorithm is known, a method that can be said to be safe has not been proposed so far. Is no exaggeration.

【0008】また、従来の電子透かしによる改竄位置の
検出手法では、スタンプ画像を埋め込んでスタンプ画像
を保存し、その保存したスタンプ画像と抽出したスタン
プ画像を比較することによって改竄位置を検出してい
る。このようなスタンプ画像は2次元データであるので
データ量が多く、それを保存するために大きなメモリ容
量が必要となり効率的でない。
Further, in the conventional tampering position detection method using a digital watermark, a tampered position is detected by embedding a stamp image, saving the stamp image, and comparing the saved stamp image with the extracted stamp image. . Since such a stamp image is two-dimensional data, it has a large amount of data and requires a large memory capacity to store it, which is not efficient.

【0009】更に従来手法において、同じ鍵と同じスタ
ンプ画像を用いて埋め込み処理された複数の異なる画像
を切り貼りする場合、安全な手法は提案されていない。
例えば、同じサイズの複数の異なる画像を、それぞれ同
じ大きさのブロックに分解し、同じ位置にあるブロック
を入れ替えることにより1つの画像を合成する攻撃を考
える。このとき、各画像が同じ鍵、同じスタンプ画像を
用いていれば、改竄は検出できず、この攻撃は成功す
る。このような攻撃に対して、画像毎に異なる鍵又は異
なるスタンプ画像を用いて埋め込み処理をすることが考
えられる。しかし、画像毎に異なる鍵又は異なるスタン
プ画像を用いることは電子透かしのアプリケーションと
して使い易くない。それは、改竄されている疑いがある
画像が発見された場合、まず最初に、その画像がどの鍵
又はどのスタンプ画像で処理されているかを特定する必
要があるためである。検証対象の画像が大きく改竄され
ていて原画像が推定しにくい場合、又は異なる鍵で処理
された画像が合成されている場合、どの画像が原画像で
あるかを特定することは困難である。即ち、どの鍵又は
どのスタンプ画像を用いてよいか分からない場合が出て
くる。
Further, in the conventional method, a safe method has not been proposed when cutting and pasting a plurality of different images that have been embedded using the same stamp image with the same key.
For example, consider an attack in which a plurality of different images of the same size are decomposed into blocks of the same size, and blocks at the same position are replaced to synthesize one image. At this time, if each image uses the same key and the same stamp image, tampering cannot be detected, and this attack succeeds. For such an attack, it is possible to perform embedding processing using a different key or a different stamp image for each image. However, using different keys or different stamp images for each image is not easy to use as a digital watermark application. This is because when an image suspected of being tampered with is found, it is necessary to first specify which key or which stamp image the image is processed with. When the image to be verified is largely tampered with and the original image is difficult to estimate, or when images processed with different keys are combined, it is difficult to specify which image is the original image. That is, there are cases where it is not known which key or which stamp image should be used.

【0010】本発明は上記従来例に鑑みてなされたもの
で、電子透かし手法のアルゴリズムや埋め込みパターン
が知られたとしても、確実に改竄位置を検出できるデー
タ処理方法及び装置とそのプログラム及び記憶媒体を提
供することを目的とする。
The present invention has been made in view of the above-mentioned conventional example, and a data processing method and apparatus, a program therefor, and a storage medium which can surely detect a falsification position even if an algorithm of a digital watermark method or an embedding pattern is known. The purpose is to provide.

【0011】また本発明の目的は、スタンプ画像を保存
する必要がなく、かつ同じ鍵を用いて異なるデータに埋
め込み処理を行っても、確実にそのデータにおける改竄
位置を検出できるデータ処理方法及び装置とそのプログ
ラム及び記憶媒体を提供することにある。
Another object of the present invention is to eliminate the need to save a stamp image, and even if the same key is used to embed different data, it is possible to reliably detect a tampered position in the data. And its program and storage medium.

【0012】また本発明の他の目的は、スタンプ画像を
保存する必要がなく、かつ、数パターン分のずれや画像
の挿入、削除を検出できるデータ処理方法及び装置とそ
のプログラム及び記憶媒体を提供することにある。
Another object of the present invention is to provide a data processing method and apparatus, a program therefor, and a storage medium which do not need to store stamp images and can detect shifts of several patterns and insertion / deletion of images. To do.

【0013】[0013]

【課題を解決するための手段】上記目的を達成するため
に本発明のデータ処理装置は以下のような構成を備え
る。即ち、順序付けられた複数のデータブロックから構
成されるデジタルコンテンツに対して自己同期性をもつ
第1パターンを生成する第1パターン生成手段と、画像
に依存した第2パターンを生成する第2パターン生成手
段と、前記第1パターンと前記第2パターンとから埋め
込みパターンを生成する埋め込みパターン生成手段と、
前記埋め込みパターンを各データブロックに埋め込むパ
ターン埋め込み手段とを有することを特徴とする。
In order to achieve the above object, the data processing apparatus of the present invention has the following configuration. That is, first pattern generation means for generating a first pattern having self-synchronization with respect to digital contents composed of a plurality of ordered data blocks, and second pattern generation for generating a second pattern depending on an image. Means, and an embedding pattern generating means for generating an embedding pattern from the first pattern and the second pattern,
Pattern embedding means for embedding the embedding pattern in each data block.

【0014】上記目的を達成するために本発明のデータ
処理装置は以下のような構成を備える。即ち、順序付け
られた複数のデータブロックから構成されるデジタルコ
ンテンツに対して自己同期性をもつ第1パターンを生成
する第1パターン生成手段と、初期値を基に擬似乱数を
発生する擬似乱数発生手段と、前記擬似乱数と前記複数
のデータブロックのそれぞれから暗号化したデータブロ
ックを生成する暗号化ブロック生成手段と、前記暗号化
したデータブロックのそれぞれに誤り検出符号を適用し
て検査ビットを生成する検査ビット生成手段と、前記検
査ビットと前記第1パターンから埋め込みパターンを生
成する埋め込みパターン生成手段と、前記埋め込みパタ
ーンを各対応するデータブロックに埋め込むパターン埋
め込み手段と、を有することを特徴とする。
In order to achieve the above object, the data processing device of the present invention has the following configuration. That is, a first pattern generation means for generating a first pattern having self-synchronization with digital contents composed of a plurality of ordered data blocks, and a pseudo random number generation means for generating a pseudo random number based on an initial value. An encrypted block generating means for generating an encrypted data block from each of the pseudo random number and the plurality of data blocks; and an error detection code applied to each of the encrypted data blocks to generate a check bit. It is characterized by comprising a check bit generating means, an embedded pattern generating means for generating an embedded pattern from the check bit and the first pattern, and a pattern embedding means for embedding the embedded pattern in each corresponding data block.

【0015】上記目的を達成するために本発明のデータ
処理装置は以下のような構成を備える。即ち、順序付け
られた複数のデータブロックのそれぞれに対応する第3
パターンを生成する第3パターン生成手段と、検証対象
画像と前記第3パターンとから第4パターンを生成する
第4パターン生成手段と、前記第4パターンと前記検証
対象画像から第5パターンを生成する第5パターン生成
手段と、前記第5パターンの自己同期生を検査する検査
手段と、を有することを特徴とする。
In order to achieve the above object, the data processing apparatus of the present invention has the following configuration. That is, the third data block corresponding to each of the plurality of ordered data blocks.
Third pattern generation means for generating a pattern, fourth pattern generation means for generating a fourth pattern from the verification target image and the third pattern, and fifth pattern generation means from the fourth pattern and the verification target image. It is characterized by comprising a fifth pattern generation means and an inspection means for inspecting the self-synchronization of the fifth pattern.

【0016】上記目的を達成するために本発明のデータ
処理装置は以下のような構成を備える。即ち、初期値を
基に擬似乱数を発生する擬似乱数発生手段と、順序付け
られた複数の検証対象データブロックのそれぞれと前記
擬似乱数とから暗号化ブロックを生成する暗号化ブロッ
ク生成手段と、前記暗号化ブロックのそれぞれに誤り検
出符号を適用して検査ビットを生成する検査ビット生成
手段と、前記検査ビットと前記各データブロックに含ま
れている検査ビットとの差分を求める手段と、前記差分
の自己同期性を検査する検査手段と、を有することを特
徴とする。
In order to achieve the above object, the data processing apparatus of the present invention has the following configuration. That is, a pseudo random number generating means for generating a pseudo random number based on an initial value, an encrypted block generating means for generating an encrypted block from each of a plurality of ordered verification target data blocks, and the pseudo random number, and the cipher Check bit generating means for generating a check bit by applying an error detection code to each of the encrypted blocks, a means for obtaining a difference between the check bit and the check bit included in each data block, and a self of the difference. And an inspection means for inspecting synchronism.

【0017】また上記目的を達成するために本発明のデ
ータ処理装置は以下のような構成を備える。即ち、順序
付けられた複数のデータブロックから構成されるデジタ
ルコンテンツに対して自己同期性をもつ第1パターンを
生成する第1パターン生成手段と、前記第1パターン生
成手段により生成された前記第1パターンを各データブ
ロックに埋め込むパターン埋め込み手段と、を有するこ
とを特徴とする。
In order to achieve the above object, the data processing apparatus of the present invention has the following configuration. That is, first pattern generation means for generating a first pattern having self-synchronization with digital content composed of a plurality of ordered data blocks, and the first pattern generated by the first pattern generation means. Is embedded in each data block.

【0018】更に上記目的を達成するために本発明のデ
ータ処理装置は以下のような構成を備える。即ち、順序
付けられた複数のデータブロックから構成されるデジタ
ルコンテンツに対して自己同期性をもつ第1パターンを
生成する第1パターン生成手段と、前記第1パターン生
成手段により生成された前記第1パターンから埋め込み
パターンを生成する埋め込みパターン生成手段と、前記
埋め込みパターン生成手段により生成された前記埋め込
みパターンを各データブロックに埋め込むパターン埋め
込み手段と、を有することを特徴とする。
Further, in order to achieve the above object, the data processing apparatus of the present invention has the following configuration. That is, first pattern generation means for generating a first pattern having self-synchronization with digital content composed of a plurality of ordered data blocks, and the first pattern generated by the first pattern generation means. And a pattern embedding unit that embeds the embedding pattern generated by the embedding pattern generating unit in each data block.

【0019】上記目的を達成するために本発明のデータ
処理方法は以下のような工程を備える。即ち、順序付け
られた複数のデータブロックから構成されるデジタルコ
ンテンツに対して自己同期性をもつ第1パターンを生成
する第1パターン生成工程と、画像に依存した第2パタ
ーンを生成する第2パターン生成工程と、前記第1パタ
ーンと前記第2パターンとから埋め込みパターンを生成
する埋め込みパターン生成工程と、前記埋め込みパター
ンを各データブロックに埋め込むパターン埋め込み工程
と、を有することを特徴とする。
In order to achieve the above object, the data processing method of the present invention comprises the following steps. That is, a first pattern generation step of generating a first pattern having self-synchronization with respect to a digital content composed of a plurality of ordered data blocks, and a second pattern generation of generating a second pattern depending on an image. The method is characterized by including a step, an embedded pattern generation step of generating an embedded pattern from the first pattern and the second pattern, and a pattern embedding step of embedding the embedded pattern in each data block.

【0020】上記目的を達成するために本発明のデータ
処理方法は以下のような工程を備える。即ち、順序付け
られた複数のデータブロックから構成されるデジタルコ
ンテンツに対して自己同期性をもつ第1パターンを生成
する第1パターン生成工程と、初期値を基に擬似乱数を
発生する擬似乱数発生工程と、前記擬似乱数と前記複数
のデータブロックのそれぞれから暗号化したデータブロ
ックを生成する暗号化ブロック生成工程と、前記暗号化
したデータブロックのそれぞれに誤り検出符号を適用し
て検査ビットを生成する検査ビット生成工程と、前記検
査ビットと前記第1パターンから埋め込みパターンを生
成する埋め込みパターン生成工程と、前記埋め込みパタ
ーンを各対応するデータブロックに埋め込むパターン埋
め込み工程と、を有することを特徴とする。
In order to achieve the above object, the data processing method of the present invention comprises the following steps. That is, a first pattern generation step of generating a first pattern having self-synchronization with respect to a digital content composed of a plurality of ordered data blocks, and a pseudo random number generation step of generating a pseudo random number based on an initial value. And an encrypted block generating step of generating an encrypted data block from each of the pseudo random number and the plurality of data blocks, and applying an error detection code to each of the encrypted data blocks to generate a check bit. It is characterized by including a check bit generation step, a buried pattern generation step of generating a buried pattern from the check bit and the first pattern, and a pattern embedding step of embedding the buried pattern in each corresponding data block.

【0021】上記目的を達成するために本発明のデータ
処理方法は以下のような工程を備える。即ち、順序付け
られた複数のデータブロックのそれぞれに対応する第3
パターンを生成する第3パターン生成工程と、検証対象
画像と前記第3パターンとから第4パターンを生成する
第4パターン生成工程と、前記第4パターンと前記検証
対象画像から第5パターンを生成する第5パターン生成
工程と、前記第5パターンの自己同期生を検査する検査
工程と、を有することを特徴とする。
In order to achieve the above object, the data processing method of the present invention comprises the following steps. That is, the third data block corresponding to each of the plurality of ordered data blocks.
A third pattern generation step of generating a pattern, a fourth pattern generation step of generating a fourth pattern from the verification target image and the third pattern, and a fifth pattern from the fourth pattern and the verification target image. It is characterized by comprising a fifth pattern generation step and an inspection step of inspecting the self-synchronization of the fifth pattern.

【0022】上記目的を達成するために本発明のデータ
処理方法は以下のような工程を備える。即ち、初期値を
基に擬似乱数を発生する擬似乱数発生工程と、順序付け
られた複数の検証対象データブロックのそれぞれと前記
擬似乱数とから暗号化ブロックを生成する暗号化ブロッ
ク生成工程と、前記暗号化ブロックのそれぞれに誤り検
出符号を適用して検査ビットを生成する検査ビット生成
工程と、前記検査ビットと前記各データブロックに含ま
れている検査ビットとの差分を求める工程と、前記差分
の自己同期性を検査する検査工程と、を有することを特
徴とする。
In order to achieve the above object, the data processing method of the present invention comprises the following steps. That is, a pseudo random number generation step of generating a pseudo random number based on an initial value, an encrypted block generation step of generating an encrypted block from each of a plurality of ordered verification target data blocks and the pseudo random number, Check bit generation step of generating a check bit by applying an error detection code to each of the encrypted blocks, a step of obtaining a difference between the check bit and the check bit included in each data block, and And an inspection step of inspecting synchronism.

【0023】また上記目的を達成するために本発明のデ
ータ処理方法は以下のような工程を備える。即ち、順序
付けられた複数のデータブロックから構成されるデジタ
ルコンテンツに対して自己同期性をもつ第1パターンを
生成する第1パターン生成工程と、前記第1パターン生
成工程で生成された前記第1パターンを各データブロッ
クに埋め込むパターン埋め込み工程と、を有することを
特徴とする。
Further, in order to achieve the above object, the data processing method of the present invention comprises the following steps. That is, a first pattern generation step of generating a first pattern having self-synchronization with respect to digital content composed of a plurality of ordered data blocks, and the first pattern generated in the first pattern generation step. Is embedded in each data block.

【0024】更に上記目的を達成するために本発明のデ
ータ処理方法は以下のような工程を備える。即ち、順序
付けられた複数のデータブロックから構成されるデジタ
ルコンテンツに対して自己同期性をもつ第1パターンを
生成する第1パターン生成工程と、前記第1パターン生
成工程で生成された前記第1パターンから埋め込みパタ
ーンを生成する埋め込みパターン生成工程と、前記埋め
込みパターン生成工程で生成された前記埋め込みパター
ンを各データブロックに埋め込むパターン埋め込み工程
と、を有することを特徴とする。
Further, in order to achieve the above object, the data processing method of the present invention comprises the following steps. That is, a first pattern generation step of generating a first pattern having self-synchronization with respect to digital content composed of a plurality of ordered data blocks, and the first pattern generated in the first pattern generation step. And a pattern embedding step of embedding the embedding pattern generated in the embedding pattern generating step in each data block.

【0025】[0025]

【発明の実施の形態】[実施の形態1]図1は、本発明
の実施の形態1に係る画像埋め込み処理を説明するため
の概念図である。
BEST MODE FOR CARRYING OUT THE INVENTION [First Embodiment] FIG. 1 is a conceptual diagram for explaining an image embedding process according to a first embodiment of the present invention.

【0026】ここでは原画像I(i,j)をM×N画素か
らなる多値画像(ここでは、1画素が8ビットの多値画
像として説明する)とする。また、下記において、◎は
EXOR(排他的論理和)を表す。但し、図1における
処理103以下の処理は、i=0,j=0からi=M−
1,j=N−1まで、各画素毎に行われる。
Here, it is assumed that the original image I (i, j) is a multi-valued image consisting of M × N pixels (here, one pixel is an 8-bit multi-valued image). In the following, ⊚ represents EXOR (exclusive OR). However, in the processes from the process 103 onward in FIG. 1, i = 0, j = 0 to i = M-
1, j = N-1 is performed for each pixel.

【0027】<埋め込み処理(図1)>まず処理101
で、画像毎に定める値kiを初期値として自己同期パタ
ーンC(i,j)を生成する。
<Embedding Process (FIG. 1)> First, process 101
Then, the self-synchronization pattern C (i, j) is generated with the value ki determined for each image as an initial value.

【0028】次に処理102で、鍵kを初期値として擬
似乱数を生成し、8ビットデータを入力して1ビットデ
ータを出力するルックアップテーブルLUT()を作成
する。これは各テーブルのアドレス順に、各アドレスに
1ビットずつ、その生成した擬似乱数を割り当てていく
ことによって実現される。
Next, in step 102, a pseudo random number is generated with the key k as an initial value, 8-bit data is input, and 1-bit data is output to create a lookup table LUT (). This is realized by allocating the generated pseudo-random number to each address in 1-bit order in each table.

【0029】次に処理103で、画像I(i,j)のLS
Bを除いた画像I7(i,j)からB(i,j)=LUT(I7
(i,j))を計算する。ここで、LUT(I7(i,j))
は、画像I7(i,j)がルックアップテーブルLUT()
に入力されたとき、それに対応して出力される1ビット
の乱数値を示している。
Next, in process 103, the LS of the image I (i, j)
From the image I7 (i, j) excluding B, B (i, j) = LUT (I7
(I, j)) is calculated. Where LUT (I7 (i, j))
Image I7 (i, j) is a lookup table LUT ()
1-bit random number value that is output corresponding to the input.

【0030】次に処理104で、画像I(i,j)のLS
Bに{B(i,j)◎C(i,j)}を埋め込み、電子透かし
が埋め込まれた画像I'(i,j)を生成する。
Next, in process 104, the LS of the image I (i, j)
By embedding {B (i, j) ⊚C (i, j)} in B, an image I '(i, j) in which a digital watermark is embedded is generated.

【0031】この電子透かしの埋め込み処理によって得
られる電子透かしが埋め込まれた画像I'(i,j)は、画
像I(i,j)のB成分のLSBを、処理104におい
て、{B(i,j)◎C(i,j)}に変化させた画像であ
る。ここで、B成分のLSBのみを変化させた電子透か
し埋め込み画像とする理由は、人間の視覚特性を考慮
し、最も原画像の画質劣化が少ない電子透かしの埋め込
み処理を実現するためである。
The image I '(i, j) in which the digital watermark obtained by this digital watermark embedding processing is the LSB of the B component of the image I (i, j) is {B (i , j) ◎ C (i, j)}. Here, the reason why the digital watermark embedded image in which only the LSB of the B component is changed is to realize the digital watermark embedding process with the least deterioration of the image quality of the original image in consideration of human visual characteristics.

【0032】次に、こうして埋め込まれた電子透かしを
抽出する手法について説明する。検証対象画像をV(i,
j)で表す。また、検証者は埋め込み処理で用いた鍵k
を共有しているとする。
Next, a method for extracting the digital watermark thus embedded will be described. The verification target image is V (i,
It is represented by j). The verifier uses the key k used in the embedding process.
To share.

【0033】この埋め込み処理をより理解し易くするた
めに、その処理の流れを図7の模式図に示す。
In order to make this embedding process easier to understand, the process flow is shown in the schematic diagram of FIG.

【0034】図7において、410は自己同期パターン
発生器で、kiを初期値として自己同期パターンC(i,
j)を発生している。411は擬似乱数発生器で、値k
を初期値として擬似乱数を発生し、それをルックアップ
テーブルLUT412のアドレス順に格納している。こ
のLUT412には画像I(i,j)のLSBを除いた画
像I7(i,j)が入力され、それに対応して1ビットのデ
ータB(i,j)が出力される。このB(i,j)と自己同期
パターンC(i,j)との排他的論理和が取られ、それが
原画像I(i,j)のLSBに挿入されて、電子透かしが
埋め込まれた画像I'(i,j)となる。
In FIG. 7, reference numeral 410 is a self-synchronization pattern generator having a self-synchronization pattern C (i,
j) has occurred. Reference numeral 411 is a pseudo-random number generator, which has a value k.
Is generated as an initial value and stored in the lookup table LUT 412 in the order of addresses. An image I7 (i, j) excluding the LSB of the image I (i, j) is input to the LUT 412, and 1-bit data B (i, j) is output correspondingly. The exclusive OR of this B (i, j) and the self-synchronization pattern C (i, j) is taken and inserted into the LSB of the original image I (i, j) to embed the digital watermark. The image becomes I ′ (i, j).

【0035】<抽出処理(図2)>図2は、電子透かし
が埋め込まれた画像から電子透かしを抽出して改竄位置
を検出するための処理を説明する図である。
<Extracting Process (FIG. 2)> FIG. 2 is a diagram for explaining a process for detecting a tampered position by extracting a digital watermark from an image in which the digital watermark is embedded.

【0036】まず処理201で、鍵kを初期値として擬
似乱数を生成し、埋め込み処理と同様に、入力が8ビッ
トで出力が1ビットのルックアップテーブルLUT()
を作成する。こうして作成されたルックアップテーブル
は、図7のルックアップテーブル412と同じものとな
る。
First, in process 201, a pseudo-random number is generated with the key k as an initial value, and as in the embedding process, a lookup table LUT () having an input of 8 bits and an output of 1 bit.
To create. The lookup table created in this way is the same as the lookup table 412 in FIG. 7.

【0037】次に処理202で、検証対象画像V(i,
j)のLSBを除いた画像V7(i,j)をLUTに入力し
てU(i,j)=LUT(V7(i,j))を求める。ここ
で、U(i,j)は、画像V7(i,j)がルックアップテー
ブルLUT()に入力されたとき、それに対応して出力
される1ビットの乱数値を示す。
Next, in process 202, the verification target image V (i,
The image V7 (i, j) excluding the LSB of j) is input to the LUT to obtain U (i, j) = LUT (V7 (i, j)). Here, U (i, j) indicates a 1-bit random value output corresponding to the image V7 (i, j) input to the lookup table LUT ().

【0038】次に処理203で、U(i,j)=LSBVな
らばD(i,j)=0とし、U(i,j)≠LSBVならばD
(i,j)=1とする。ここでLSBVは、画像V(i,j)
のLSBである。
Next, in process 203, if U (i, j) = LSBV, D (i, j) = 0 is set, and if U (i, j) ≠ LSB, D is set.
(I, j) = 1. Where LSBV is the image V (i, j)
Is the LSB.

【0039】次に処理204で、処理203における出
力結果D(i,j)から自己同期をとり、同期がはずれた
位置を改竄位置とする。
Next, in process 204, self-synchronization is performed from the output result D (i, j) in process 203, and the position out of synchronization is set as the tampered position.

【0040】ここで自己同期パターンC(i,j)とは、
周期が長く自己相関性の強いビット系列であり、例えば
M系列と呼ばれるビット系列が知られている。M系列は
情報長m、符号長n=2m−1となる巡回符号であり、
m段のシフトレジスタを用いることにより最大長の周期
をもつビット列を簡単に生成できる。
Here, the self-synchronization pattern C (i, j) is
A bit sequence having a long cycle and strong autocorrelation, for example, a bit sequence called an M sequence is known. The M sequence is a cyclic code having an information length m and a code length n = 2m-1,
By using the m-stage shift register, a bit string having a maximum length cycle can be easily generated.

【0041】図4は、以下の式(1)を用いたM系列生
成器の構成を示すブロック図である。尚、図4におい
て、401はシフトレジスタ、402は加算器(EXOR)
を示す。
FIG. 4 is a block diagram showing the configuration of an M sequence generator using the following equation (1). In FIG. 4, 401 is a shift register and 402 is an adder (EXOR)
Indicates.

【0042】 H(x)=hm-1・xm-1+hm-2・xm-2+...+h1・x+h0 ...式(1) ここで図1の処理101で行われる自己同期パターン生
成処理は以下のように行われる。
H (x) = hm-1 · x m-1 + hm-2 · x m-2 + ... + h1 · x + h0 ... Formula (1) Here, self-synchronization performed in the process 101 of FIG. The pattern generation process is performed as follows.

【0043】図4の複数のシフトレジスタ401のそれ
ぞれの初期値c1,...,cmをkiとし、その出力結果c
m+1を計算する。この出力結果cm+1を最初のシフトレジ
スタ401にフィードバックさせて、演算を順次繰り返
し、M×Nの長さの自己同期パターンC(i,j)=[c
1,...,cMxN]を生成する。ここで、各シフトレジス
タ401内の値と、その出力値cm+1は下記の関係を持
つことは明らかである。
The initial values c1, ..., cm of each of the plurality of shift registers 401 in FIG.
Calculate m + 1. This output result cm + 1 is fed back to the first shift register 401, and the operation is sequentially repeated to obtain the self-synchronization pattern C (i, j) = [c
, ..., cMxN] is generated. Here, it is clear that the value in each shift register 401 and its output value cm + 1 have the following relationship.

【0044】 ci+m=ci+m-1・xm-1+ci+m-2・xm-2+...+ci+1・x+ci ...式(2 ) そして、図2の処理204における自己同期のとりかた
は以下のようにして実行される。
Ci + m = ci + m-1.x m-1 + ci + m-2.x m-2 + ... + ci + 1.x + ci ... Formula (2) Then, the process 204 in FIG. The self-synchronization method in is executed as follows.

【0045】図5は、M系列を検査するためのM系列計
算器の構成を示すブロック図である。図5において、5
01はシフトレジスタ、502は加算器(EXOR)、50
3はスイッチを夫々示している。
FIG. 5 is a block diagram showing the configuration of an M-sequence calculator for checking the M-sequence. In FIG. 5, 5
01 is a shift register, 502 is an adder (EXOR), 50
Reference numerals 3 denote switches, respectively.

【0046】図5において、スイッチ503を入力側
(端子a)に接続すると、抽出されたビット系列が入力
される。一方、スイッチ503をフィードバック側(端
子b)に接続すると、図4に示すような通常のM系列デ
ータの生成器になる。
In FIG. 5, when the switch 503 is connected to the input side (terminal a), the extracted bit series is input. On the other hand, when the switch 503 is connected to the feedback side (terminal b), it becomes a normal M-sequence data generator as shown in FIG.

【0047】まず最初に、改竄がなされていないビット
系列が入力される場合を考える。
First, consider the case where a bit sequence that has not been tampered with is input.

【0048】スイッチ503を入力側(端子a)に接続
して、抽出されたビット列D(i,j)の最初のビット系
列であるd1,...,dmをM系列生成器に入力すると、
上述の式(2)の関係が成り立つのでcm+1が計算され
る。その計算値cm+1は、抽出されたビット列D(i,j)
の次のビットであるdm+1と一致するので、同期がとれ
ていることがわかる。そしてそれ以後、M×Nまで繰り
返しても全てのビットが一致するので改竄が行われてい
ないことがわかる。
When the switch 503 is connected to the input side (terminal a) and the first bit sequence d1, ..., dm of the extracted bit string D (i, j) is input to the M sequence generator,
Since the relationship of the above equation (2) is established, cm + 1 is calculated. The calculated value cm + 1 is the extracted bit string D (i, j)
Since it coincides with dm + 1 which is the next bit of, it can be seen that synchronization is achieved. After that, even if the process is repeated up to M × N, all the bits match, so that it is understood that no tampering has been performed.

【0049】次に、d1,...,diまで同期がとれてい
て、di+1で同期がはずれた場合、即ち、ci+1≠di+1
となった場合には、di+1が改竄位置であることが分か
る。この後、スイッチ503を入力側にしたまま計算を
継続すると、di+1の影響で、それ以後のmビットは、
計算値cと抽出値dとが一致しなくなることは明らかで
ある。
Next, when the synchronization is achieved up to d1, ..., di and the synchronization is lost at di + 1, that is, ci + 1 ≠ di + 1
When it becomes, it can be seen that di + 1 is the falsification position. After that, if the calculation is continued with the switch 503 set to the input side, the influence of di + 1 causes the subsequent m bits to be
It is clear that the calculated value c and the extracted value d do not match.

【0050】よって、改竄が検出されるとスイッチ50
3をフィードバック側(端子b)に接続し、改竄値であ
る抽出値di+1の代わりに計算値ci+1をM系列生成器に
入力して計算を続ける。この時、抽出値di+1のみが改
竄位置である場合には、di+1の代わりに正しいci+1に
よって計算が継続されるので、di+2以降の値は一致す
ることになる。但し、偶然ci+2とdi+2とが一致するこ
とがあるので、t回以上連続して一致した場合のみ再び
同期がとれた、即ち、di+2以降は改竄されていないと
判定する。
Therefore, when tampering is detected, the switch 50
3 is connected to the feedback side (terminal b), the calculated value ci + 1 is input to the M-sequence generator instead of the extracted value di + 1 which is a falsified value, and the calculation is continued. At this time, when only the extracted value di + 1 is at the falsification position, the calculation is continued with the correct ci + 1 instead of di + 1, so that the values after di + 2 are the same. However, since there is a chance that ci + 2 and di + 2 coincide with each other, it is determined that the synchronization is achieved again only when they coincide with each other for t times or more, that is, no alteration is performed after di + 2.

【0051】また、di+1の後に集中して改竄されてい
る場合も同様に、t回以上連続して一致した場合、tま
で遡って同期がとれた、即ち改竄はないと判定する。こ
こでtを大きくとればt回連続して偶然に一致する確率
は2-tとなるので、偶然に一致する確率を非常に小さく
することもできる。
Similarly, when tampering is intensively performed after di + 1, if t times or more consecutively match, it is determined that synchronization has been traced back to t, that is, there is no tampering. Here, if t is made large, the probability of coincidence t times consecutively becomes 2 −t , so the probability of coincidence can be made extremely small.

【0052】また、初期状態において最初のd1,...,
dmの中で1ビットでも改竄されている場合は上記の式
(2)は成立しないので、最初から計算されたビットと
抽出されたビットdm+1とは一致せず、同期がはずれ
る。この場合は、正しい計算値cm+1が得られないの
で、式(2)が成立するまで、スイッチ503を入力側
(端子a)に接続して同期が取れるまで計算を継続す
る。こうしてt回連続で同期がとれた状態が続けば、同
期がとれたものとして、後は上記の途中から同期が外れ
た場合と同様の処理を行う。
In the initial state, the first d1, ...,
If even one bit is tampered with in dm, the above equation (2) does not hold, so the bit calculated from the beginning does not match the extracted bit dm + 1, and the synchronization is lost. In this case, since the correct calculated value cm + 1 cannot be obtained, the switch 503 is connected to the input side (terminal a) until the expression (2) is satisfied and the calculation is continued. In this way, if the synchronized state continues t times in a row, it is determined that the synchronized state has been established, and thereafter, the same processing as the case where the synchronized state is lost from the middle is performed.

【0053】また、自己同期パターンはM系列のような
線形演算に限らず、シフトレジスタの値を非線形関数に
よって演算したり、複数のM系列パターンを非線形関数
を用いて演算したりしてもよい。
Further, the self-synchronization pattern is not limited to the linear operation like the M series, but the value of the shift register may be calculated by the non-linear function, or the plurality of M series patterns may be calculated by the non-linear function. .

【0054】これによって、画像がずらされていたり、
部分的な削除・挿入が行われていてもその部分で同期が
はずれることにより検出でき、改ざん位置とすることが
できる。
As a result, the image is shifted,
Even if partial deletion / insertion is performed, it can be detected by the loss of synchronization at that part, and the position can be tampered with.

【0055】次に、本発明の課題で述べたような、同じ
鍵を用いて埋め込み処理をした画像を切り貼りする攻撃
の場合を考える。ここでは簡単のために他の改竄はない
とする。
Next, let us consider the case of an attack in which an image subjected to embedding processing is cut and pasted using the same key as described in the subject of the present invention. Here, for simplicity, it is assumed that there is no other tampering.

【0056】まず最初の画像の自己同期パターンから同
期が取れはじめる。本実施の形態では、図1の埋め込み
処理101において、画像毎に異なる初期値kiを用い
て異なる自己同期パターンを埋め込んでいる。よって、
異なる画像を切り貼りした部分で同期がはずれることに
なる。ここで全て異なる画像を組み合わせている場合、
スイッチ503をフィードバック側(端子b)にしてパ
ターンの一致を検査しても同期が戻ることはなく、最初
の画像以外の部分は改竄箇所として検出される。これ
は、スタンプ画像として予め定められたものを用いず、
抽出したパターンから検出される自己同期性を用いてい
るため、自己同期性の違い、即ち画像の違いが検出でき
るためである。
First, synchronization starts from the self-synchronization pattern of the first image. In this embodiment, in the embedding process 101 of FIG. 1, different self-synchronization patterns are embedded by using different initial values ki for each image. Therefore,
Synchronization will be lost in the part where different images are cut and pasted. If all the different images are combined here,
Even if the switch 503 is set to the feedback side (terminal b) and the pattern matching is inspected, the synchronization does not return, and the part other than the first image is detected as the tampered part. This does not use a predetermined stamp image,
This is because the self-synchronization detected from the extracted pattern is used, and thus the difference in self-synchronization, that is, the difference in image can be detected.

【0057】ここで、切り貼りをはじめとする攻撃をよ
り厳密に検証するために、スイッチ503をフィードバ
ック側に接続して計算する状態(状態1)と、スイッチ
503を入力側に接続して計算する状態(状態2)とを
並行して行うことが考えられる。例えば、同期がはずれ
て、それ以降、スイッチ503を入力側に接続して計算
を継続すると、切り貼り部分からmビットを過ぎると再
び同期が戻ってくる。これは、埋め込まれているパター
ンが別の自己同期パターンであるので前画像の影響がな
くなった時から次の画像のパターンで自己同期が取れ始
めるためである。よって、「状態1」と「状態2」の計
算を並行して行うことによって、異なる画像が組み合わ
さされていることが識別可能になる。この手法は画像を
ずらしたり、画像のラインを挿入したり、削除した場合
などにも有効であることは明らかである。
Here, in order to more strictly verify an attack such as cut and paste, a state (state 1) in which the switch 503 is connected to the feedback side and calculation is performed and a state in which the switch 503 is connected to the input side are calculated. It is possible to perform the state (state 2) in parallel. For example, if the synchronization is lost and the switch 503 is connected to the input side thereafter to continue the calculation, the synchronization returns again when m bits have passed from the cut and pasted portion. This is because the embedded pattern is another self-synchronization pattern, so that when the influence of the previous image disappears, the self-synchronization starts to be obtained with the pattern of the next image. Therefore, by performing the calculations of “state 1” and “state 2” in parallel, it is possible to identify that different images are combined. It is clear that this method is also effective when the image is shifted, lines of the image are inserted, or deleted.

【0058】以上、図2の処理204において行われる
改竄位置の判定は、図6に示すような状態遷移図で表さ
れる。但し、攻撃をより詳細に検証する場合は、改竄状
態602と準同期状態604では「状態1」と「状態
2」が並行して存在する。
As described above, the alteration position determination performed in the process 204 of FIG. 2 is represented by the state transition diagram shown in FIG. However, in the case of verifying the attack in more detail, in the falsification state 602 and the semi-synchronous state 604, “state 1” and “state 2” exist in parallel.

【0059】まず初期状態601は処理開始状態とな
り、スイッチ503を入力側に接続し、最初の抽出パタ
ーンd1〜dmを各シフトレジスタ501の初期値として
セットし、cm+1を計算して、その計算結果を抽出され
たdm+1と比較する。ここでcm+1=dm+1ならば同期状
態603へ遷移し(610)、cm+1≠dm+1ならば改竄
状態602へ遷移する(611)。
First, the initial state 601 becomes the processing start state, the switch 503 is connected to the input side, the first extraction patterns d1 to dm are set as the initial value of each shift register 501, and cm + 1 is calculated, The calculation result is compared with the extracted dm + 1. Here, if cm + 1 = dm + 1, the state transits to the synchronization state 603 (610), and if cm + 1 ≠ dm + 1, the state transits to the falsification state 602 (611).

【0060】改竄状態602は、前状態の位置が改竄さ
れている状態であり、この場合にはスイッチ503をフ
ィードバック側(端子b)に接続して計算(状態1)を
継続し、計算された値cm+1と抽出値dm+1とを比較す
る。これらの値が一致すれば準同期状態604へ遷移す
る。これと同時に、スイッチ503を入力側に接続した
計算(状態2)も継続し、その計算された値cm+1と抽
出値dm+1とを比較する。ここで、これらの値が一致す
れば準同期状態604へ移行する(612)。
The falsification state 602 is a state in which the position of the previous state is falsified, and in this case, the switch 503 is connected to the feedback side (terminal b) and the calculation (state 1) is continued to be calculated. The value cm + 1 is compared with the extracted value dm + 1. If these values match, the state transits to the semi-synchronous state 604. At the same time, the calculation (state 2) in which the switch 503 is connected to the input side is also continued, and the calculated value cm + 1 is compared with the extracted value dm + 1. Here, if these values match, the state shifts to the semi-synchronous state 604 (612).

【0061】準同期状態604は、「状態1」と「状態
2」の結果が一致しない状態を示し、ここでは「状態
1」と「状態2」の計算を継続し、「状態1」の結果が
t1回連続で一致する場合、または「状態2」の結果が
2回連続して一致する場合には、改竄なしとして同期
状態603へ遷移し(613)、一致しない場合には改
竄状態602へ遷移する(614)。
The semi-synchronous state 604 indicates a state in which the results of "state 1" and "state 2" do not match. Here, the calculation of "state 1" and "state 2" is continued, and the result of "state 1" is continued. , If the result of the “state 2” matches t 2 times in succession, transition to the synchronous state 603 without tampering (613), and if they do not match, the tampered state 602 (614).

【0062】同期状態603では、スイッチ503を入
力側(端子a)に接続し、抽出値di〜di+m-1から計算
値ci+mを計算して、ci+m=di+mとなっている。ここ
で、これらが一致しなければ改竄状態602へ遷移する
(615)。
In the synchronous state 603, the switch 503 is connected to the input side (terminal a), the calculated value ci + m is calculated from the extracted values di to di + m-1, and ci + m = di + m. ing. Here, if they do not match, the state transits to the falsification state 602 (615).

【0063】以上説明した画像の埋め込み処理、及び抽
出処理は、図3に示す画像処理装置を用いることによっ
て実現できる。
The image embedding processing and the extraction processing described above can be realized by using the image processing apparatus shown in FIG.

【0064】図3は、本発明の実施の形態に係る画像処
理装置の構成を示すブロック図である。
FIG. 3 is a block diagram showing the configuration of the image processing apparatus according to the embodiment of the present invention.

【0065】図3において、ホストコンピュータ301
は、例えば一般に普及しているパーソナルコンピュータ
であり、例えば、スキャナ314から読み取られた画像
データを入力し、その画像データを編集、保管すること
が可能である。更に、ここで得られた画像データを、プ
リンタ315により印刷させることが可能である。ま
た、ユーザからの各種マニュアル指示等は、マウス31
2、キーボード313からの入力により行われる。この
ホストコンピュータ301の内部では、バス316によ
り後述する各ブロックが接続され、種々のデータの受け
渡しが可能である。
In FIG. 3, the host computer 301
Is a widely used personal computer, for example, which can input image data read by the scanner 314 and edit and store the image data. Further, the image data obtained here can be printed by the printer 315. The mouse 31 is used for various manual instructions from the user.
2. Input is made from the keyboard 313. Inside the host computer 301, each block to be described later is connected by a bus 316, and various data can be transferred.

【0066】図中、302はCRT、液晶、或いはプラ
ズマ等の表示器(モニタ)である。303はCPUで、
内部の各ブロックの動作を制御、或いは内部に記憶され
たプログラムを実行する。304はROMで、印刷され
ることが認められていない特定画像を記憶したり、予め
必要な画像処理プログラムや各種データ等を記憶してい
る。305はRAMで、CPU303にて処理を行うた
めに一時的にプログラムや処理対象のデータを格納す
る。306はハードディスク(HD)で、RAM305
等に転送されるプログラムや画像データを予め格納した
り、処理後の画像データを保存する。307はインター
フェース部で、原稿或いはフィルム等をCCDにて読み
取って画像データを生成するスキャナ314に接続さ
れ、そのスキャナ314で得られた画像データを入力し
ている。308はCDドライブで、外部記憶媒体の一つ
であるCD(CD−R)に記憶されたデータを読み込み
或いは書き出すことができる。309はFDドライブ
で、CDドライブ308と同様に、フロッピィディスク
(FD)からのデータの読み込み、FDへのデータ書き
出しを行う。310はDVDドライブで、CDドライブ
308と同様に、DVDからのデータ読み込み、DVD
へのデータ書き出しができる。尚、これらCD、FD、
DVD等に画像編集用のプログラム、或いはプリンタド
ライバが記憶されている場合には、これらプログラム
は、一旦HD306上にインストールされ、必要に応じ
てRAM305に転送されて保持され、このプログラム
などに基づいてCPU303が実行可能となっている。
311は、マウス312或いはキーボード313からの
入力指示を受け付けるためにこれらと接続されるインタ
ーフェース部(I/F)である。318はモデムで、イ
ンターフェース部319(I/F)を介して外部のネッ
トワークと接続されている。
In the figure, 302 is a display (monitor) for a CRT, liquid crystal, plasma or the like. 303 is a CPU,
It controls the operation of each internal block or executes a program stored inside. A ROM 304 stores a specific image that is not permitted to be printed, an image processing program required in advance, various data, and the like. A RAM 305 temporarily stores a program and data to be processed for the CPU 303 to perform processing. A hard disk (HD) 306 is a RAM 305.
The program and image data to be transferred to the computer etc. are stored in advance, or the processed image data is saved. An interface unit 307 is connected to a scanner 314 that generates image data by reading a document or film with a CCD, and inputs image data obtained by the scanner 314. A CD drive 308 can read or write data stored in a CD (CD-R) which is one of external storage media. Reference numeral 309 denotes an FD drive, which, like the CD drive 308, reads data from a floppy disk (FD) and writes data to the FD. Reference numeral 310 denotes a DVD drive, which, like the CD drive 308, reads data from a DVD,
Data can be written to. In addition, these CD, FD,
When a program for image editing or a printer driver is stored in the DVD or the like, these programs are once installed on the HD 306, transferred to the RAM 305 as necessary and held, and based on this program or the like. The CPU 303 can be executed.
An interface unit (I / F) 311 is connected to the mouse 312 or the keyboard 313 to receive an input instruction. A modem 318 is connected to an external network via an interface unit 319 (I / F).

【0067】以上の構成において、処理対象の画像デー
タは、CD−ROM、DVD等の記憶媒体、又はスキャ
ナ314、或いはインターフェース部319を介してネ
ットワークから入力されて、一旦RAM305に保持さ
れる。そしてキーボード313或いはマウス312など
から入力される指示に従って、上述或いは後述する処理
を実行するプログラムをHD306から読み出してRA
M305に記憶させ、そのプログラムを実行させること
により、本実施の形態1〜4に係る処理がCPU303
の制御の下に実行される。こうして電子透かし或いは画
像が埋め込まれた画像は、ネットワークに伝送された
り、或いはCDやDVDなどの記憶媒体に記憶される。
また、ネットワーク或いは上述の記憶媒体から入力した
画像データに対して、埋め込み画像の抽出処理を実行す
ることにより、その画像データが不正に改竄されている
かどうかを検出することができる。こうして得られた結
果は、モニタ302に表示されてオペレータに警告して
も良く、或いはプリンタ315により印刷されても良
い。
In the above configuration, the image data to be processed is input from the storage medium such as a CD-ROM, a DVD or the like, the scanner 314, or the network via the interface unit 319, and temporarily stored in the RAM 305. Then, in accordance with an instruction input from the keyboard 313, the mouse 312, or the like, a program that executes the above-described or later-described processing is read from the HD 306 and RA
By storing the program in the M305 and executing the program, the processing according to the first to fourth embodiments is performed by the CPU 303.
Executed under the control of. The image in which the digital watermark or the image is embedded is transmitted to the network or stored in a storage medium such as a CD or a DVD.
Further, it is possible to detect whether the image data has been tampered with illegally by executing the extraction process of the embedded image with respect to the image data input from the network or the above-mentioned storage medium. The result thus obtained may be displayed on the monitor 302 to warn the operator, or may be printed by the printer 315.

【0068】以上説明したように本実施の形態1によれ
ば、スタンプ画像を保存しておく必要がなく、かつ同じ
鍵を用いて異なる画像に埋め込み処理を行っても安全な
手法が実現できる。この手法は、鍵を初期値とする疑似
乱数発生手法から生成される変換テーブルが安全である
ならば、鍵を除く全てのアルゴリズムを公開しても安全
な手法と言うことができる。
As described above, according to the first embodiment, it is not necessary to store the stamp image, and a safe method can be realized even if the embedding process is performed on different images using the same key. This method can be said to be a safe method even if all the algorithms except the key are disclosed if the conversion table generated from the pseudo-random number generation method using the key as the initial value is safe.

【0069】[実施の形態2]前述の実施の形態1で
は、原画像I(i,j)の各画素のLSBを除く画素値I7
(i,j)が同じ場合、生成されるB(i,j)は同じになる
ので、解析がしやすい場合が考えられる。そこで、画素
位置に応じて乱数で変換することによって解析を困難に
する手法を以下に示す。
[Second Embodiment] In the first embodiment, the pixel value I7 of each pixel of the original image I (i, j) excluding the LSB is used.
When (i, j) is the same, the generated B (i, j) is the same, so it may be easier to analyze. Therefore, a method of making the analysis difficult by converting with a random number according to the pixel position is shown below.

【0070】図8は本発明の実施の形態2に係る電子透
かしの埋め込み処理を説明する模式図である。
FIG. 8 is a schematic diagram for explaining a digital watermark embedding process according to the second embodiment of the present invention.

【0071】<埋め込み処理(図8)>まず処理701
で、画像毎に定める値kiを初期値として自己同期パタ
ーンC(i,j)を生成する。
<Embedding Process (FIG. 8)> First, process 701
Then, the self-synchronization pattern C (i, j) is generated with the value ki determined for each image as an initial value.

【0072】次に処理702で、鍵kを初期値として擬
似乱数を生成し、入力が8ビットで1ビット出力のルッ
クアップテーブルLUT()を作成する。これは各テー
ブルのアドレス順に、生成した擬似乱数(1ビット)を
割り当てていくことによって実現される。さらに、上記
疑似乱数を生成し続け、M×Nの2値の疑似乱数画像R
(i,j)を生成する。
Next, in process 702, a pseudo-random number is generated with the key k as an initial value, and a lookup table LUT () with 8-bit input and 1-bit output is created. This is realized by allocating the generated pseudo-random number (1 bit) in the order of addresses in each table. Further, the pseudo random number is continuously generated to generate a binary pseudo random number image R of M × N.
Generate (i, j).

【0073】次に処理703に進み、原画像I(i,j)
のLSBを除いた画像I7(i,j)からB(i,j)=LU
T(I7(i,j))◎R(i,j)を計算する。ここで、L
UT(I7(i,j))は、画像i7(i,j)がルックアップ
テーブルLUT()に入力されたとき、それに対応して
出力される1ビットの乱数値を示す。
Next, in step 703, the original image I (i, j)
From the image I7 (i, j) excluding the LSB of B (i, j) = LU
Calculate T (I7 (i, j)) * R (i, j). Where L
UT (I7 (i, j)) indicates a 1-bit random value output corresponding to the image i7 (i, j) input to the lookup table LUT ().

【0074】次に処理704に進み、原画像I(i,j)
のLSBに{B(i,j)◎C(i,j)}を埋め込むことに
より、電子透かし画像I'(i,j)を生成する。
Next, in step 704, the original image I (i, j)
The digital watermark image I ′ (i, j) is generated by embedding {B (i, j) ⊚C (i, j)} in the LSB of the.

【0075】ここで前述の実施の形態1と異なる点は、
B(i,j)を、単に画像i7(i,j)に対応する1ビット
データ(LUT(I7(i,j)))とするのではなく、そ
の1ビットデータと、M×Nの2値の疑似乱数画像R
(i,j)、即ち、画素位置に応じた乱数値との排他的論
理和としている点にある。
Here, the difference from the first embodiment is that
Instead of simply using B (i, j) as 1-bit data (LUT (I7 (i, j))) corresponding to the image i7 (i, j), the 1-bit data and M × N 2 Pseudo-random image of value R
(I, j), that is, an exclusive OR with a random number value corresponding to the pixel position.

【0076】この実施の形態2に係る埋め込み処理の概
要を図10に示す。尚、図10において、図7と共通す
る部分は同じ記号で示し、それらの説明を省略する。
The outline of the embedding process according to the second embodiment is shown in FIG. Note that, in FIG. 10, portions common to those in FIG. 7 are denoted by the same symbols, and description thereof will be omitted.

【0077】図10において、原画像I(i,j)のLS
Bには、ルックアップテーブル412の出力(LUT
(I7(i,j)))と、鍵kを初期値として生成された画
像I(i,j)の画素数分の擬似乱数R(i,j)との排他的
論理和が、原画像のLSBに挿入される点が特徴であ
る。
In FIG. 10, the LS of the original image I (i, j)
The output of the lookup table 412 (LUT
(I7 (i, j))) and the pseudo-random number R (i, j) for the number of pixels of the image I (i, j) generated with the key k as the initial value The feature is that it is inserted into the LSB of the.

【0078】<抽出処理(図9)>図9は本発明の実施
の形態2に係る電子透かしの抽出及び改竄位置の検出処
理を説明する模式図である。
<Extraction Process (FIG. 9)> FIG. 9 is a schematic diagram for explaining the digital watermark extraction and tampered position detection process according to the second embodiment of the present invention.

【0079】まず処理801で、鍵kを初期値として擬
似乱数を生成し、図8の埋め込み処理と同様に、入力が
8ビットで1ビット出力のルックアップテーブルLUT
()を作成する。さらに、上記疑似乱数を生成し続け、
M×Nの2値疑似乱数画像R(i,j)を生成する。
First, in process 801, a pseudo-random number is generated with the key k as an initial value, and as in the embedding process of FIG. 8, a lookup table LUT with an 8-bit input and a 1-bit output is generated.
Create (). Furthermore, continue to generate the pseudo-random number,
An M × N binary pseudo random number image R (i, j) is generated.

【0080】次に処理802で、検証対象画像V(i,
j)のLSBを除いた画像V7(i,j)からU(i,j)=L
UT(V7(i,j))◎R(i,j)を計算する。ここで、
LUT(V7(i,j))は、画像V7(i,j)を入力したと
きのルックアップテーブルの出力(1ビット)を示す。
Next, in process 802, the verification target image V (i,
From the image V7 (i, j) excluding the LSB of j), U (i, j) = L
UT (V7 (i, j)) ◎ Calculate R (i, j). here,
LUT (V7 (i, j)) indicates the output (1 bit) of the lookup table when the image V7 (i, j) is input.

【0081】次に処理803で、U(i,j)=LSBVな
らばD(i,j)=0、U(i,j)≠LSBVならばD(i,
j)=1とする。なお、ここで、LSBVは、検証対象画
像V(i,j)のB成分のLSBを示している。
Next, in process 803, if U (i, j) = LSBV, then D (i, j) = 0, and if U (i, j) ≠ LSBV, then D (i, j).
j) = 1. Here, LSBV represents the LSB of the B component of the verification target image V (i, j).

【0082】次に処理804で、D(i,j)から自己同
期をとり、同期がはずれた位置を改竄位置とする。
Next, in process 804, self-synchronization is performed from D (i, j), and the position out of synchronization is set as the tampered position.

【0083】本実施の形態2では、画素値のみに依存
し、画素位置に依存しないルックアップテーブルの出力
値(LUT(I7(i,j))又はLUT(V7(i,j)))
に対して、図8の処理702或いは図9の処理802で
生成した疑似乱数R(i,j)との排他的論理和を求める
(処理703,803)ことにより、同じ画素値であっ
ても異なるB(i,j),U(i,j)を出力できるようにし
て解析を困難にしている。但し、擬似乱数R(i,j)
は、自己同期パターンC(i,j)や抽出パターンD(i,
j)又は画像I(i,j)やV(i,j)と排他的論理和を求
めてもよく、いずれの場合も効果は同じである。
In the second embodiment, the look-up table output value (LUT (I7 (i, j)) or LUT (V7 (i, j))) that depends only on the pixel value and does not depend on the pixel position.
On the other hand, even if the pixel value is the same, the exclusive OR with the pseudo random number R (i, j) generated in the process 702 of FIG. 8 or the process 802 of FIG. 9 is obtained (process 703, 803). Different B (i, j) and U (i, j) can be output to make analysis difficult. However, pseudo-random number R (i, j)
Are self-synchronization patterns C (i, j) and extraction patterns D (i, j
j) or the image I (i, j) or V (i, j) may be obtained by exclusive OR, and the effect is the same in both cases.

【0084】[実施の形態3]従来のスタンプ画像を保
存する改竄位置の検出手法では、画像の拡大縮小や回
転、切取りなどが起こった場合、保存されているスタン
プ画像の形状を参考に改竄画像の拡大縮小や回転,切取
りを補正することができる。
[Third Embodiment] In the conventional tampered position detecting method for storing stamp images, when the image is scaled, rotated, or cut, the tampered image is referred to with reference to the shape of the stored stamp image. It is possible to correct scaling, rotation, and trimming of.

【0085】これに対し本実施の形態では、スタンプ画
像を保存しないので、スタンプ画像の形状を参考にでき
ない。よって、下記のような手段によって拡大縮小や回
転、切取りに対する対応を行う。
On the other hand, in this embodiment, since the stamp image is not stored, the shape of the stamp image cannot be referred to. Therefore, the following means are used to deal with scaling, rotation, and clipping.

【0086】1)電子透かしが埋め込まれた画像I'
(i,j)に拡大縮小、回転などの全体的な改竄が行われ
ている場合 改竄の定義によるが、拡大縮小、回転も改竄と見なす場
合は、画像サイズや形状の変化を気にせず抽出処理を行
えば、同じ画素位置における検証対象画像V(i,j)と
埋め込み画像I'(i,j)はほとんど異なっており、さら
に疑似乱数との対応も異なるために、画像全体の改竄と
して検出される。よって、この場合何の手段も必要とし
ない。
1) Image I'with a digital watermark embedded
If (i, j) has undergone overall falsification such as scaling, rotation, etc., it depends on the definition of falsification, but if scaling, rotation is also considered falsification, it is extracted without worrying about changes in image size or shape. If the processing is performed, the verification target image V (i, j) and the embedded image I ′ (i, j) at the same pixel position are almost different, and the correspondence with the pseudo-random number is also different. To be detected. Therefore, in this case, no means is required.

【0087】しかし、拡大縮小、回転は改竄と見なさな
い場合は、予め後述のようなレジストレーション信号を
埋め込んでおき、拡大縮小や回転などを補正した後に、
改竄位置検出処理を行えば、拡大縮小、回転などの復元
可能な変更は改竄と見なさないことも可能である。よっ
てこの場合、図11に示すようにレジストレーション信
号による画像補正を画像補正部1201で行った後に、
前述の実施の形態1及び2に示した機能を有する改竄位
置検出部1102による検証及び改竄位置の検出処理を
実行する。
However, if the scaling and rotation are not considered to be tampering, a registration signal as will be described later is embedded in advance, and after scaling and rotation are corrected,
If the tampered position detection processing is performed, it is possible not to consider a restoration change such as enlargement / reduction or rotation that is tampered with. Therefore, in this case, as shown in FIG. 11, after the image correction unit 1201 performs the image correction by the registration signal,
The falsification position detection unit 1102 having the functions described in the first and second embodiments executes the verification and falsification position detection processing.

【0088】2)埋め込まれた画像I'(i,j)に切り取
りを行う場合 図1の処理101において生成される自己同期パターン
C(i,j)を、例えば最初i=0,j=0からi=i+
1としてi=Mまで対応させ、次にj=j+1,i=0
の位置から同様の対応をi=M,j=Nまで行う。即
ち、画像の上列から順に自己同期パターンC(i,j)を
対応させていく場合、埋め込み画像I'(i,j)の下部の
みの切取りは、全ての位置でU(i,j)=LSBVとな
り、改竄は検出されない。よって、自己同期パターンC
(i,j)の画像位置への対応を画像I(i,j)の切取りが
行いにくくなるように縦横1ラインずつ行うなどしてお
く、又は、予めランダムに定めておくことが必要があ
る。または、画像サイズに応じて自己同期パターンを変
えるなどすることも可能である。
2) When cropping the embedded image I '(i, j) The self-synchronization pattern C (i, j) generated in the process 101 of FIG. 1 is first set to i = 0, j = 0, for example. To i = i +
It corresponds to 1 up to i = M, then j = j + 1, i = 0
The same correspondence is performed from the position of up to i = M and j = N. That is, when the self-synchronization pattern C (i, j) is made to correspond in order from the top row of the image, only the lower part of the embedded image I ′ (i, j) is cut off at all positions U (i, j). = LSB and no tampering is detected. Therefore, the self-synchronization pattern C
Correspondence to the image position of (i, j) needs to be performed one by one vertically and horizontally so that the image I (i, j) is not easily cut, or it needs to be determined in advance at random. . Alternatively, it is possible to change the self-synchronization pattern according to the image size.

【0089】また前述の実施の形態では、多値画像の場
合でのみ説明したが、カラー画像であっても、それをR
GBに分解することによって本発明を実施することがで
きる。この場合、RGB毎に別々に行っても、RGBの
結果を合成して行っても良い。
Further, in the above-mentioned embodiment, the description has been made only in the case of the multi-valued image, but even in the case of a color image, it is converted into R.
The present invention can be carried out by decomposing it into GB. In this case, it may be performed separately for each RGB or may be performed by combining the RGB results.

【0090】また、本実施の形態では、自己同期パター
ンを例にして説明したが、本発明はパターンの違いが容
易に識別可能であればよく、これに限定されるものでは
ない。例えば、自己同期パターンでなく、通常の画像を
色成分毎に強さを変えて挿入し、色識別によって改竄位
置を検出することも可能である。
In the present embodiment, the self-synchronization pattern has been described as an example, but the present invention is not limited to this as long as the difference between the patterns can be easily identified. For example, instead of the self-synchronization pattern, it is possible to insert a normal image with different strengths for each color component and detect the falsification position by color identification.

【0091】また、自己相関演算は周波数変換して演算
することもできるので、自己同期検出は図5に示すよう
な構成に限定されない。
Further, since the autocorrelation calculation can be performed by frequency conversion, the self-synchronization detection is not limited to the configuration shown in FIG.

【0092】また、同期確立のためのtは、初期状態6
01からの同期状態603に遷移する場合と、改竄状態
602からの同期状態603に遷移する場合で変えるこ
とも可能である。一般に、初期状態601からの同期確
立のためのtの方が、改竄状態602から同期確立のた
めのtよりも大きく設定すべきである。また、改竄状態
602からの同期確立のためのtの値を"1"とする場合
には、準同期状態604は経由しないので、tの値に応
じて図6の状態遷移図は可変となる。よって、本実施の
形態における状態の遷移は図6に限定されるものではな
い。
Further, t for establishing synchronization is the initial state 6
It is also possible to change between the case of transitioning from 01 to the synchronization state 603 and the case of transitioning from the falsification state 602 to the synchronization state 603. In general, t for establishing synchronization from the initial state 601 should be set larger than t for establishing synchronization from the falsification state 602. Further, when the value of t for establishing synchronization from the falsification state 602 is set to "1", the semi-synchronous state 604 is not passed, so the state transition diagram of FIG. 6 is variable according to the value of t. . Therefore, the state transition in the present embodiment is not limited to FIG.

【0093】また自己同期パターンは、簡単のためにM
系列を例にして説明したが、疑似乱数は一般に自己同期
性を持つために疑似乱数生成器を用いることができる。
例えば、図4に示すM系列生成器はmビットを入力し、
1ビットを出力する変換テーブルに置換えられる。よっ
て、ある初期値k1から疑似乱数を生成し、新たなmビ
ット入力で1ビット出力のルックアップテーブルの出力
に対応させることもできる。
For simplicity, the self-synchronization pattern is M
Although the sequence has been described as an example, since a pseudo random number generally has self-synchronization, a pseudo random number generator can be used.
For example, the M-sequence generator shown in FIG. 4 inputs m bits,
It is replaced with a conversion table that outputs 1 bit. Therefore, it is also possible to generate a pseudo-random number from a certain initial value k1 and use a new m-bit input to correspond to the output of the 1-bit output lookup table.

【0094】また、鍵k0を初期値として疑似乱数を生
成し、画像I(i,j)のB成分のLSBを除く各ビット
との排他的論理和をとることによって、画像I(i,j)
を画素位置に応じて暗号化して、画像I(i,j)の代わ
りLSBへの埋め込みパターンを生成しても良い。この
とき、抽出処理では同じ鍵k0から生成される疑似乱数
を用いて画像V(i,j)を暗号化して同様の処理を行
う。
Further, a pseudo random number is generated with the key k0 as an initial value, and an exclusive OR of each bit except the LSB of the B component of the image I (i, j) is taken to obtain the image I (i, j). )
May be encrypted according to the pixel position, and a pattern embedded in the LSB may be generated instead of the image I (i, j). At this time, in the extraction process, the same process is performed by encrypting the image V (i, j) using the pseudo random number generated from the same key k0.

【0095】[レジストレーション信号]電子透かしに
は種々の攻撃が施される可能性がある。このような攻撃
としては例えば、JPEGなどの非可逆圧縮、拡大・縮
小或いは回転などの幾何変換などが挙げられる。レジス
トレーション信号とは、それらの種々の攻撃によって生
じた幾何的歪みを補正するために埋め込まれる信号であ
る。レジストレーション処理は、電子透かしを埋め込む
際に、付加情報とは別に、特定の信号(レジストレーシ
ョン信号)を画像に付加し、電子透かしを抽出する際に
は、付加情報を抽出する前に、前記レジストレーション
信号を用いて付加情報の抽出を助長する処理である。
[Registration signal] Various attacks may be applied to the digital watermark. Such attacks include, for example, lossy compression such as JPEG and geometric transformation such as enlargement / reduction or rotation. Registration signals are signals that are embedded to correct the geometric distortions caused by these various attacks. The registration processing adds a specific signal (registration signal) to the image separately from the additional information when embedding the digital watermark, and when extracting the digital watermark, before adding the additional information, This is a process of promoting the extraction of additional information using the registration signal.

【0096】このレジストレーションを用いた方式とし
ては、米国特許第5636292に提案されている方式
が挙げられる。これは、予め埋め込んである幾何パター
ンを用いて、画像に施された幾何変換を自動的に算出す
る方式である。また、特開平11−355547号公報
に提案されている対称軸を持たない2次元波から構成さ
れる方式などもある。
As a method using this registration, there is a method proposed in US Pat. No. 5,636,292. This is a method for automatically calculating the geometric transformation applied to an image using a geometric pattern embedded in advance. Also, there is a method proposed by Japanese Patent Laid-Open No. 11-355547, which is composed of two-dimensional waves having no axis of symmetry.

【0097】[実施の形態4]前述の実施の形態1〜3
において、画像を例に取り、より確実性の高い改竄位置
の検出手法を説明したが、本発明において対象するデー
タは画像に限定されるものではなく、例えばデジタルデ
ータをブロック化し、それに対応する改竄位置を検出す
る検査情報を付加する場合等すべて含まれる。
[Fourth Embodiment] The first to third embodiments described above.
In the above, taking an image as an example, a more reliable tampering position detection method has been described.However, the data targeted in the present invention is not limited to an image, and for example, digital data is divided into blocks and tampering corresponding thereto is performed. This includes all cases such as adding inspection information for detecting the position.

【0098】その一例として、図12に示すように、複
数のデータブロックによって1つのコンテンツが表され
る場合を考える。通常の改竄検出であれば、誤り検出符
号などを用いて各データブロックに対する検査ビットを
付加すればよい。用いている誤り検出符号が特殊でかつ
秘密であれば、データブロックを改竄してもそれに対応
する検査ビットを攻撃者は生成できないので問題はない
が、用いている誤り検出符号が公開であれば、攻撃者は
改竄データに応じた検査ビットを生成できるのでデータ
ブロックの改竄を発見できない。また、用いている誤り
検出符号が特殊かつ秘密であっても、検査ビットを含む
データブロックの入れ替えなどはデータブロックごとに
誤り検出を行うために検出できない。これは上述の実施
の形態でも取り上げたような、画像に対する場合と同じ
問題が発生する。このような問題に対しては、データブ
ロックの順序に応じた暗号化を行い、その暗号化ブロッ
クに対応する検査ビットを生成することにより解決され
る。
As an example thereof, consider the case where one content is represented by a plurality of data blocks, as shown in FIG. In the case of normal tampering detection, the check bit for each data block may be added using an error detection code or the like. If the error detection code used is special and secret, there is no problem because the attacker cannot generate the corresponding check bit even if the data block is falsified, but if the error detection code used is public , The attacker can generate a check bit corresponding to the tampered data and cannot detect the tampering of the data block. Even if the error detection code used is special and secret, the replacement of data blocks including check bits cannot be detected because the error detection is performed for each data block. This causes the same problem as in the case of the image, which is also taken up in the above-mentioned embodiment. Such a problem is solved by performing encryption according to the order of data blocks and generating a check bit corresponding to the encrypted block.

【0099】しかし、複数の異なるコンテンツが存在し
て、同じ鍵を用いた暗号化をそれらのコンテンツに対し
て同様に行った場合、その異なるコンテンツを構成する
データブロック同士を入れ替えれば、その改竄はやはり
検出されない。よって、下記のように、コンテンツ毎に
異なり、連続して自己同期性をもつパターンをデータブ
ロックに電子透かしとして埋め込むことにより、このよ
うな問題を解決する例を説明する。
However, if there are a plurality of different contents and the same key is used to perform encryption on those contents in the same manner, if the data blocks constituting the different contents are exchanged, the alteration will not occur. After all it is not detected. Therefore, as described below, an example will be described in which such a problem is solved by embedding a pattern having a self-synchronous property, which is different for each content and continuously, as a digital watermark.

【0100】図13は、本発明の実施の形態4に係る送
信側におけるデータブロックへの検査ビットの埋め込み
処理を説明する図である。
FIG. 13 is a diagram for explaining a process of embedding check bits in a data block on the transmitting side according to the fourth embodiment of the present invention.

【0101】<送信側(図13)>まず処理1301に
おいて、コンテンツ毎に定める値kiを初期値として自
己同期性をもつパターンC(i)を生成する。
<Sending Side (FIG. 13)> First, in process 1301, a pattern C (i) having self-synchronization is generated with a value ki determined for each content as an initial value.

【0102】次に処理1302において、鍵kを初期値
として疑似乱数を生成し、順に、コンテンツを構成する
各データブロックD(i)(iは順序を表す)と疑似乱
数との排他的論理和を取ることによって、データブロッ
クの順序に応じた暗号化ブロックCC(i)を生成す
る。
Next, in process 1302, a pseudo random number is generated with the key k as an initial value, and in sequence, the exclusive OR of each data block D (i) (i represents the order) forming the content and the pseudo random number. Thus, the encrypted block CC (i) according to the order of the data blocks is generated.

【0103】次に処理1303において、公知の誤り検
出符号を用いて、暗号化されたデータブロックCC
(i)に対応する検査ビットP(i)を生成し、C(i)
と排他的論理輪を取ったものをデータブロックD(i)
に付加する。
Next, in process 1303, the data block CC encrypted using a known error detection code is used.
Generate a check bit P (i) corresponding to (i), C (i)
Data block D (i)
Added to.

【0104】図15は、本実施の形態4に係る送信側に
おけるデータブロックへの検査ビットの埋め込み処理を
より分かり易く示す図で、自己同期パターン発生器15
00は、コンテンツ毎に定める値kiを初期値として自
己同期性をもつパターンC(i)を生成している。また
擬似乱数発生器1501は、鍵kを初期値として疑似乱
数R(i)を生成している。そして暗号化ブロックCC
(i)は、この疑似乱数R(i)とデータブロックD
(i)との排他的論理和により求められ、その暗号化ブ
ロックCC(i)に対して誤り検出符号を適用すること
により、検査ビットP(i)を得る。この検査ビットP
(i)と自己同期パターンC(i)との排他的論理和によ
り、データブロックD(i)に付加するビットを求め、
これをデータブロックD(i)に付加することにより、
検査ビットが埋め込まれたデータブロックD'(i)15
02を作成する。
FIG. 15 is a diagram showing the process of embedding check bits in a data block on the transmitting side according to the fourth embodiment in a more understandable manner.
00 generates a pattern C (i) having self-synchronization with a value ki determined for each content as an initial value. The pseudo random number generator 1501 also generates a pseudo random number R (i) with the key k as an initial value. And the encrypted block CC
(I) is the pseudo random number R (i) and the data block D
The check bit P (i) is obtained by applying the error detection code to the encrypted block CC (i), which is obtained by exclusive OR with (i). This check bit P
The bit to be added to the data block D (i) is obtained by the exclusive OR of (i) and the self-synchronization pattern C (i),
By adding this to the data block D (i),
Data block D '(i) 15 in which check bits are embedded
Create 02.

【0105】図14は、本発明の実施の形態4に係る受
信側におけるデータブロックD'(i)における改竄位置
の検出処理を説明する図である。
FIG. 14 is a diagram for explaining the tampered position detection processing in the data block D ′ (i) on the receiving side according to the fourth embodiment of the present invention.

【0106】<受信側(図14)>まず処理1401
で、鍵kを初期値として疑似乱数を生成し、順に、コン
テンツを構成する各データブロッD'(i)と、疑似乱数
との排他的論理和をとることによって、データブロック
の順序に応じた暗号化ブロックCC'(i)を生成する。
<Reception Side (FIG. 14)> First, processing 1401
Then, a pseudo random number is generated by using the key k as an initial value, and each data block D ′ (i) forming the content is sequentially exclusive-ORed with the pseudo random number, so that the order of the data blocks is determined. Generate a cipher block CC ′ (i).

【0107】次に処理1402において、送信側で用い
られた公知の誤り検出符号を用いて、暗号化されたデー
タブロックCC'(i)から検査ビットP'(i)を計算
し、受信検査ビットP(i)との差分C'(i)をとる。
Next, in process 1402, the check bit P ′ (i) is calculated from the encrypted data block CC ′ (i) using the known error detecting code used on the transmitting side, and the check bit for reception is received. The difference C ′ (i) from P (i) is taken.

【0108】次に処理1403で、差分C'(i)の自己
同期性を調べ、同期が外れているブロックに相当するコ
ンテンツの位置を改竄位置とする。
Next, in processing 1403, the self-synchronization of the difference C '(i) is checked, and the position of the content corresponding to the block out of synchronization is set as the falsification position.

【0109】このような複数のデータブロックによって
1つのコンテンツが構成される適用例としては、近年イ
ンターネットなどで配信される音楽情報として盛んに用
いられているMIDI(Music Instrument Digital Int
erface)や、楽曲の演奏データファイルの標準フォーマ
ットであるSMF(Standard MIDI File)などが考えら
れる。これらは音楽情報を複数のブロックに分割して送
信し、受信側では、これら送信された複数のブロックを
組み合わせて1つの音楽情報として再生する。よって、
その改竄ブロックの検出に、本実施の形態4に係る手法
は適用可能であることは明らかである。
As an application example in which one content is composed of such a plurality of data blocks, MIDI (Music Instrument Digital Int), which has been widely used as music information distributed on the Internet in recent years, is used.
erface) and SMF (Standard MIDI File), which is a standard format for music performance data files. These transmit music information by dividing it into a plurality of blocks, and the receiving side combines these transmitted blocks and reproduces as one music information. Therefore,
It is obvious that the method according to the fourth embodiment can be applied to the detection of the tampered block.

【0110】また、JPEGやMPEGなどは外見上一
つのデータストリームとして構成されているが、実質は
8×8の画素ブロックごと、又はフレーム毎のデータブ
ロックに分解でき、それらのブロックが連続して1つの
コンテンツを構成している。図6では簡単のため、デー
タブロックを分解して示したが、外見上1つのデータス
トリームであっても、或いは実質的に複数のデータブロ
ックから構成されるコンテンツに対しても本発明が適用
可能であることも明らかである。
Although JPEG, MPEG, and the like are apparently configured as one data stream, they can be decomposed into 8 × 8 pixel blocks or data blocks for each frame, and these blocks are consecutive. It constitutes one content. In FIG. 6, data blocks are shown in a disassembled form for the sake of simplicity. However, the present invention can be applied to a single data stream in appearance or to a content substantially composed of a plurality of data blocks. It is also clear that

【0111】また、本実施の形態4では、検査ビットを
誤り訂正符号によって構成したが、公知のハッシュ関数
などによって構成してもよい。更に、本実施の形態で
は、検査ビットはデータブロックに添付する形で説明し
たが、そのコンテンツに適用可能な公知の電子透かしに
よってデータブロックの中に埋め込んだ形でもよく、限
定されない。
Further, in the fourth embodiment, the check bit is composed of the error correction code, but it may be composed of a known hash function or the like. Furthermore, in the present embodiment, the check bit is described as being attached to the data block, but it may be embedded in the data block by a known digital watermark applicable to the content, and is not limited.

【0112】[実施の形態5]図16は、本発明の実施
の形態5に係る画像埋め込み処理を説明するための概念
図である。尚、この実施の形態5及びこれ以降の実施の
形態においても、画像処理装置及びM系列生成器及びM
系列計算器の構成は、前述の図3乃至図5を参照して説
明したものと同じであるため、それらの説明を省略す
る。
[Fifth Embodiment] FIG. 16 is a conceptual diagram for explaining an image embedding process according to a fifth embodiment of the present invention. In the fifth and subsequent embodiments, the image processing device, the M-sequence generator, and the M-sequence generator are also included.
Since the configuration of the sequence calculator is the same as that described with reference to FIGS. 3 to 5 described above, the description thereof will be omitted.

【0113】ここでは原画像I(i,j)をM×N画素か
らなる多値画像(ここでは、1画素が8ビットの多値画
像として説明する)とする。
Here, it is assumed that the original image I (i, j) is a multivalued image consisting of M × N pixels (here, each pixel is described as a multivalued image of 8 bits).

【0114】<埋め込み処理(図16)>まず処理16
01で、画像毎に定める値kiを初期値として自己同期
パターンC(i,j)を生成する。次に処理1602で、
その生成した自己同期パターンC(i,j)を画像I(i,
j)のLSBに埋め込み、電子透かしが埋め込まれた画
像I'(i,j)を生成する。
<Embedding Process (FIG. 16)> First Process 16
At 01, a self-synchronization pattern C (i, j) is generated with a value ki determined for each image as an initial value. Next, in processing 1602,
The generated self-synchronization pattern C (i, j) is used as the image I (i, j
The image I '(i, j) in which the digital watermark is embedded is generated by embedding it in the LSB of j).

【0115】この電子透かしの埋め込み処理によって得
られる電子透かしが埋め込まれた画像I'(i,j)は、画
像I(i,j)のLSBを、処理1602において、自己
同期パターンC(i,j)に変化させた画像である。ここ
で、画像I(i,j)がカラー画像である場合、B成分の
LSBを変化させる。これは、人間の視覚特性を考慮し
て、最も原画像の画質劣化が少ない電子透かしの埋め込
み処理を実現するためである。
In the image I '(i, j) in which the digital watermark obtained by the digital watermark embedding process is embedded, the LSB of the image I (i, j) is converted into the self-synchronization pattern C (i, j) in process 1602. This is the image changed to j). Here, when the image I (i, j) is a color image, the LSB of the B component is changed. This is to realize the digital watermark embedding process with the least deterioration of the image quality of the original image in consideration of human visual characteristics.

【0116】次に、こうして埋め込まれた電子透かしを
抽出する手法について説明する。尚、ここでは検証対象
画像をV(i,j)で表す。
Next, a method of extracting the digital watermark thus embedded will be described. The verification target image is represented by V (i, j) here.

【0117】<抽出処理(図17)>図17は、電子透
かしが埋め込まれた画像V(i,j)から電子透かしを抽
出して改竄位置を検出するための処理を説明する図であ
る。
<Extraction Processing (FIG. 17)> FIG. 17 is a diagram for explaining processing for extracting a digital watermark from the image V (i, j) in which the digital watermark is embedded and detecting a falsification position.

【0118】まず処理1701で、検証対象画像V(i,
j)のLSBを抽出し、それをD(i,j)とする。次に処
理1702で、処理1701における出力結果D(i,
j)から自己同期をとり、その同期がはずれた位置を改
竄位置とする。
First, in process 1701, the verification target image V (i,
Extract the LSB of j) and call it the D (i, j). Next, in process 1702, the output result D (i,
The self-synchronization from j) is taken, and the position where the synchronization is lost is the tampered position.

【0119】ここで自己同期パターンC(i,j)は、周
期が長く自己相関性の強いビット系列であり、例えばM
系列と呼ばれるビット系列が知られている。M系列は情
報長m、符号長n=2m−1となる巡回符号であり、m
段のシフトレジスタを用いることにより最大長の周期を
もつビット列を簡単に生成できる。
Here, the self-synchronization pattern C (i, j) is a bit sequence having a long cycle and a strong autocorrelation, for example, M
A bit sequence called a sequence is known. The M sequence is a cyclic code having an information length m and a code length n = 2 m −1, and m
By using a shift register of stages, it is possible to easily generate a bit string having a maximum length period.

【0120】この様なM系列生成器及びM系列計算機の
構成は、前述の図4及び図5を参照して説明しているの
で、ここではその説明を省略する。
The configurations of such an M-sequence generator and an M-sequence calculator have been described with reference to FIGS. 4 and 5 described above, and therefore description thereof will be omitted here.

【0121】このようにして、画像がずらされていた
り、部分的な削除・挿入が行われていてもその部分で同
期がはずれることにより検出でき、改ざん位置とするこ
とができる。以上説明した画像の埋め込み処理及び抽出
処理は、前述の図3に示す画像処理装置を用いることに
よって実現できる。
In this way, even if the image is shifted or partially deleted / inserted, it can be detected by the loss of synchronization at that part, and the position can be tampered with. The image embedding process and the image extracting process described above can be realized by using the image processing apparatus shown in FIG.

【0122】以上説明したように本実施の形態5によれ
ば、スタンプ画像を保存しておく必要がなく、かつ数パ
ターン分のずれ、挿入、削除があっても、自己同期を検
出することにより改ざん位置を検出できるという効果が
ある。
As described above, according to the fifth embodiment, it is not necessary to save the stamp image, and the self-synchronization is detected even if there is a shift, insertion or deletion of several patterns. There is an effect that the falsification position can be detected.

【0123】[実施の形態6]前述の実施の形態5で
は、原画像I(i,j)のLSBに直接自己同期パターン
を埋め込んだが、そのままでは、解析がしやすい場合が
考えられる。そこで、他のパターンと組み合わせたり、
自己同期パターンをさらに変換するなどが考えられる。
そこで本実施の形態6では、自己同期パターンに別の鍵
を初期値とする擬似乱数を用いて解析しにくくした例で
説明する。
[Sixth Embodiment] In the fifth embodiment described above, the self-synchronization pattern is directly embedded in the LSB of the original image I (i, j), but it may be easier to analyze as it is. So, combining with other patterns,
It is possible to further convert the self-synchronization pattern.
Therefore, in the sixth embodiment, an example will be described in which a pseudo random number having another key as an initial value is used for the self-synchronization pattern to make analysis difficult.

【0124】図18は、本発明の実施の形態6に係る電
子透かしの埋め込み処理を説明する模式図である。
FIG. 18 is a schematic diagram for explaining a digital watermark embedding process according to the sixth embodiment of the present invention.

【0125】<埋め込み処理(図18)>まず処理18
01で、画像毎に定める値kiを初期値として自己同期
パターンC(i,j)を生成する。次に処理1802で、
鍵kを初期値として自己同期パターンと同じ長さの擬似
乱数B(i,j)を生成する。次に処理1803に進み、
B(i,j)◎C(i,j)を計算する。ただし、ここで◎
は、EXOR(排他的論理和)の演算を表す。次に処理18
04に進み、原画像I(i,j)のLSBに、{B(i,j)
◎C(i,j)}を埋め込むことにより、電子透かし画像
I'(i,j)を生成する。
<Embedding Process (FIG. 18)> First, Process 18
At 01, a self-synchronization pattern C (i, j) is generated with a value ki determined for each image as an initial value. Next, in processing 1802,
A pseudo random number B (i, j) having the same length as the self-synchronization pattern is generated with the key k as an initial value. Next, the processing 1803 is performed.
Calculate B (i, j) ◎ C (i, j). However, here ◎
Represents an EXOR (exclusive OR) operation. Next, process 18
04, the LSB of the original image I (i, j) is changed to {B (i, j)
By embedding C (i, j)}, a digital watermark image I ′ (i, j) is generated.

【0126】ここで前述の実施の形態5と異なる点は、
自己同期パターンC(i,j)を擬似乱数B(i,j)によっ
てストリーム暗号化している点である。これによって、
鍵kを知らない第3者は自己同期パターンの解析が困難
になる。
Here, the point different from the fifth embodiment is that
This is that the self-synchronization pattern C (i, j) is stream-encrypted by the pseudo random number B (i, j). by this,
A third party who does not know the key k has difficulty in analyzing the self-synchronization pattern.

【0127】更に、鍵kを用いて生成した乱数によって
埋め込み位置をLSB以外とすることも可能である。例
えば、生成した擬似乱数を2ビット毎に区切り、それを
埋め込み位置とすることが考えられる。即ち、“00”
をLSB,“01”をLSBの1つ上位のビットに埋め
込み、更に“10”,“11”をそれぞれ1つずつ上位
のビットに埋め込むことなどが考えられる。
Furthermore, the embedding position can be set to a position other than the LSB by using a random number generated using the key k. For example, it is conceivable to divide the generated pseudo-random number into 2 bits and use it as the embedding position. That is, "00"
It is conceivable to embed LSB, "01" in the upper bit of the LSB, and further embed "10" and "11" in the upper bit, respectively.

【0128】<抽出処理(図19)>図19は、本発明
の実施の形態6に係る電子透かしの抽出及び改竄位置の
検出処理を説明する模式図である。
<Extraction Process (FIG. 19)> FIG. 19 is a schematic diagram for explaining the digital watermark extraction and tampered position detection process according to the sixth embodiment of the present invention.

【0129】まず処理1901で、鍵kを初期値として
擬似乱数を生成し、B(i,j)を生成する。次に処理1
902で、検証対象画像V(i,j)のLSBを抽出し、
U(i,j)とする。次に処理1903で、D(i,j)=U
(i,j)◎B(i,j)を計算する。次に処理1904で、
D(i,j)から自己同期をとり、同期がはずれた位置を
改竄位置とする。
First, in processing 1901, a pseudo random number is generated with the key k as an initial value, and B (i, j) is generated. Next process 1
At 902, the LSB of the verification target image V (i, j) is extracted,
Let U (i, j). Next, in processing 1903, D (i, j) = U
(I, j) ◎ Calculate B (i, j). Next, in process 1904,
Self-synchronization is performed from D (i, j), and a position out of synchronization is set as a falsification position.

【0130】従来のスタンプ画像を保存する改竄位置の
検出手法では、画像の拡大縮小や回転、切取りなどが起
こった場合、保存されているスタンプ画像の形状を参考
に改竄画像の拡大縮小や回転,切取りを補正することが
できる。これに対し本実施の形態では、スタンプ画像を
保存しないので、スタンプ画像の形状を参考にできな
い。よって、前述の図11を参照して説明したような手
段によって拡大縮小や回転、切取りに対する対応を行
う。
In the conventional tampered position detection method for saving stamp images, when the image is scaled, rotated, or cut, the tampered image is scaled or rotated with reference to the shape of the saved stamp image. Cuts can be corrected. On the other hand, in the present embodiment, since the stamp image is not stored, the shape of the stamp image cannot be referred to. Therefore, enlargement / reduction, rotation, and cutting are dealt with by the means described with reference to FIG.

【0131】また、本実施の形態では、自己同期パター
ンを例にして説明したが、本発明はパターンの違いが容
易に識別可能であればよく、これに限定されるものでは
ない。例えば、自己同期パターンでなく、通常の画像を
色成分毎に強さを変えて挿入し、色識別によって改竄位
置を検出することも可能である。
Further, although the present embodiment has been described by taking the self-synchronization pattern as an example, the present invention is not limited to this as long as the difference between the patterns can be easily identified. For example, instead of the self-synchronization pattern, it is possible to insert a normal image with different strengths for each color component and detect the falsification position by color identification.

【0132】また、自己相関演算は周波数変換して演算
することもできるので、自己同期検出は図5に示すよう
な構成に限定されない。
Further, since the autocorrelation calculation can be performed by frequency conversion, the self-synchronization detection is not limited to the configuration shown in FIG.

【0133】前述の実施の形態では、画像を例に取り、
改竄位置の検出手法を説明したが、本発明において対象
するデータは画像に限定されるものではなく、例えばデ
ジタルデータをブロック化し、それに対応する改竄位置
を検出する検査情報を付加する場合等すべて含まれる。
その一例として、前述の図12に示すように、複数のデ
ータブロックによって1つのコンテンツが表されるも同
様に実施できる。よって、上記の実施の形態で説明した
画素をデータブロックとすれば、任意のコンテンツのデ
ータブロックごとの改ざん位置検出ができることは明ら
かである。すなわち、複数画素をデータブロックとして
もよいし、音楽情報のように時系列の情報に対しても改
ざん位置検出が行える。さらには、コンテンツをデータ
ブロックに分解してパケット通信する場合などに対して
もパケット中の改ざん位置が検出可能であることは明ら
かである。
In the above-mentioned embodiments, taking an image as an example,
Although the tampered position detection method has been described, the target data in the present invention is not limited to images, but includes all cases where digital data is blocked and inspection information for detecting the tampered position corresponding thereto is added. Be done.
As one example thereof, as shown in FIG. 12 described above, one content is represented by a plurality of data blocks, but the same operation can be performed. Therefore, it is obvious that if the pixel described in the above embodiment is used as a data block, the falsification position can be detected for each data block of arbitrary content. That is, a plurality of pixels may be used as a data block, and tampering position detection can be performed on time-series information such as music information. Further, it is clear that the tampered position in the packet can be detected even when the content is decomposed into data blocks and packet communication is performed.

【0134】また、JPEGやMPEGなどは外見上一
つのデータストリームとして構成されているが、実質は
8×8の画素ブロックごと、又はフレーム毎のデータブ
ロックに分解でき、それらのブロックが連続して1つの
コンテンツを構成している。図12では簡単のため、デ
ータブロックを分解して示したが、外見上1つのデータ
ストリームであっても、或いは実質的に複数のデータブ
ロックから構成されるコンテンツに対しても本発明が適
用可能であることも明らかである。
Although JPEG, MPEG, and the like are apparently configured as one data stream, they can be decomposed into 8 × 8 pixel blocks or data blocks for each frame, and these blocks are consecutive. It constitutes one content. In FIG. 12, the data blocks are shown in a disassembled form for the sake of simplicity, but the present invention can be applied to a single data stream in appearance or to a content substantially composed of a plurality of data blocks. It is also clear that

【0135】本発明は上記実施の形態を実現するための
装置及び方法及び実施の形態で説明した方法を組み合わ
せて行う方法のみに限定されるものではなく、上記シス
テム又は装置内のコンピュータ(CPUあるいはMP
U)に、上記実施の形態を実現するためのソフトウエア
のプログラムコードを供給し、このプログラムコードに
従って上記システムあるいは装置のコンピュータが上記
各種デバイスを動作させることにより上記実施の形態を
実現する場合も本発明の範疇に含まれる。
The present invention is not limited to the apparatus and method for realizing the above-described embodiment and the method of combining the methods described in the embodiments, and the computer (CPU or CPU in the system or apparatus described above is not limited thereto. MP
In U), a program code of software for realizing the above-described embodiment is supplied, and the computer of the system or the apparatus operates the various devices according to the program code to realize the above-described embodiment. It is included in the category of the present invention.

【0136】またこの場合、前記ソフトウエアのプログ
ラムコード自体が上記実施の形態の機能を実現すること
になり、そのプログラムコード自体、及びそのプログラ
ムコードをコンピュータに供給するための手段、具体的
には上記プログラムコードを格納した記憶媒体は本発明
の範疇に含まれる。
Further, in this case, the program code itself of the software realizes the function of the above-mentioned embodiment, and the program code itself and means for supplying the program code to the computer, specifically, A storage medium storing the program code is included in the scope of the present invention.

【0137】このようなプログラムコードを格納する記
憶媒体としては、例えばフロッピィディスク、ハードデ
ィスク、光ディスク、光磁気ディスク、CD−ROM、
磁気テープ、不揮発性のメモリカード、ROM等を用い
ることができる。
Storage media for storing such program codes include, for example, floppy disks, hard disks, optical disks, magneto-optical disks, CD-ROMs,
A magnetic tape, a non-volatile memory card, a ROM or the like can be used.

【0138】また、上記コンピュータが、供給されたプ
ログラムコードのみに従って各種デバイスを制御するこ
とにより、上記実施の形態の機能が実現される場合だけ
ではなく、上記プログラムコードがコンピュータ上で稼
働しているOS(オペレーティングシステム)、あるい
は他のアプリケーションソフト等と共同して上記実施の
形態が実現される場合にも、係るプログラムコードは本
発明の範疇に含まれる。
The program code is running on the computer, not only when the functions of the above-described embodiments are realized by the computer controlling various devices only according to the supplied program code. Even when the above embodiment is realized in cooperation with an OS (operating system) or other application software, such program code is included in the scope of the present invention.

【0139】更に、この供給されたプログラムコード
が、コンピュータの機能拡張ボードやコンピュータに接
続された機能拡張ユニットに備わるメモリに格納された
後、そのプログラムコードの指示に基づいてその機能拡
張ボードや機能格納ユニットに備わるCPU等が実際の
処理の一部または全部を行い、その処理によって上記実
施の形態が実現される場合も本発明の範疇に含まれる。
Further, after the supplied program code is stored in the memory provided in the function expansion board of the computer or the function expansion unit connected to the computer, the function expansion board or function is stored based on the instruction of the program code. A case in which the CPU or the like included in the storage unit performs a part or all of the actual processing and the above-described embodiment is realized by the processing is also included in the scope of the present invention.

【0140】以上説明したように本実施の形態によれ
ば、従来はできなかったような、同じ鍵を用いて異なる
画像の埋め込み処理をしても安全な電子透かしによる改
竄位置の検出手法が実現できる。
As described above, according to the present embodiment, it is possible to realize a tampered position detection method using a digital watermark that is safe even when embedding different images using the same key, which has been impossible in the past. it can.

【0141】更に、本実施の形態によれば、スタンプ画
像は保存する必要がなく、鍵のみの秘匿でよいため効率
的である。
Further, according to the present embodiment, it is not necessary to store the stamp image, and only the key needs to be kept secret, which is efficient.

【0142】また本実施の形態によれば、従来はできな
かったような、デジタルコンテンツのずれや挿入・削除
といった改ざん部分のみを検出することができる。
Further, according to the present embodiment, it is possible to detect only the tampered portion such as the shift or the insertion / deletion of the digital contents, which cannot be done conventionally.

【0143】[0143]

【発明の効果】以上説明したように本発明によれば、電
子透かし手法のアルゴリズムや埋め込みパターンが知ら
れたとしても、確実に改竄位置を検出できる。
As described above, according to the present invention, even if the algorithm of the digital watermarking method or the embedding pattern is known, the falsified position can be detected with certainty.

【0144】また本発明によれば、スタンプ画像を保存
する必要がなく、かつ同じ鍵を用いて異なるデータに埋
め込み処理を行っても、そのデータにおける改竄位置を
確実に検出できるという効果がある。
Further, according to the present invention, there is an effect that it is not necessary to store a stamp image, and even if embedding processing is performed on different data using the same key, the falsified position in the data can be detected reliably.

【0145】また本発明によれば、従来はできなかった
ような、デジタルコンテンツのずれや挿入或は削除とい
った改ざん部分のみを検出することができる。
Further, according to the present invention, it is possible to detect only the tampered portion such as displacement, insertion or deletion of digital contents, which cannot be done conventionally.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施の形態1に係る画像の埋め込み処
理の概要を説明する概念図である。
FIG. 1 is a conceptual diagram illustrating an outline of an image embedding process according to a first embodiment of the present invention.

【図2】実施の形態1における埋め込み画像の抽出及び
改竄位置の特定処理を説明する概要図である。
FIG. 2 is a schematic diagram illustrating a process of extracting an embedded image and identifying a falsification position according to the first embodiment.

【図3】本発明の実施の形態に係る画像処理装置の構成
を示すブロックである。
FIG. 3 is a block diagram showing a configuration of an image processing apparatus according to an embodiment of the present invention.

【図4】本発明の実施の形態1に係る自己同期パターン
生成器の構成を示すブロック図である。
FIG. 4 is a block diagram showing a configuration of a self-synchronization pattern generator according to the first embodiment of the present invention.

【図5】本発明の実施の形態1に係る自己同期パターン
計算器の構成を示すブロック図である。
FIG. 5 is a block diagram showing a configuration of a self-synchronization pattern calculator according to the first embodiment of the present invention.

【図6】本発明の実施の形態1に係る自己同期をとるた
めの状態遷移を説明する図である。
[Fig. 6] Fig. 6 is a diagram for describing state transitions for self-synchronization according to the first embodiment of the present invention.

【図7】本発明の実施の形態1に係る画像の埋め込み処
理を説明する概念図である。
FIG. 7 is a conceptual diagram illustrating an image embedding process according to the first embodiment of the present invention.

【図8】本発明の実施の形態2に係る画像の埋め込み処
理の概要を説明する概念図である。
FIG. 8 is a conceptual diagram illustrating an outline of an image embedding process according to the second embodiment of the present invention.

【図9】実施の形態2における埋め込み画像の抽出及び
改竄位置の特定処理を説明する概要図である。
FIG. 9 is a schematic diagram illustrating a process of extracting an embedded image and identifying a falsification position according to the second embodiment.

【図10】本発明の実施の形態2に係る画像の埋め込み
処理を説明する概念図である。
FIG. 10 is a conceptual diagram illustrating an image embedding process according to the second embodiment of the present invention.

【図11】本発明の実施の形態3に係る抽出処理の概要
を説明する図である。
FIG. 11 is a diagram illustrating an outline of extraction processing according to the third embodiment of the present invention.

【図12】本発明の実施の形態3に係るデータブロック
への検査ビットの埋め込みを説明する図である。
FIG. 12 is a diagram illustrating embedding of check bits in a data block according to the third embodiment of the present invention.

【図13】本発明の実施の形態4に係る送信側における
データブロックへの検査ビットの埋め込み処理を説明す
る図である。
FIG. 13 is a diagram illustrating a process of embedding check bits in a data block on the transmission side according to the fourth embodiment of the present invention.

【図14】本発明の実施の形態4に係る受信側における
データブロックにおける改竄位置の検出処理を説明する
図である。
FIG. 14 is a diagram illustrating a process of detecting a falsified position in a data block on the receiving side according to the fourth embodiment of the present invention.

【図15】本発明の実施の形態4に係るデータブロック
へのデータ埋め込み処理を説明する概念図である。
FIG. 15 is a conceptual diagram illustrating a data embedding process in a data block according to the fourth embodiment of the present invention.

【図16】本発明の実施の形態5に係る画像の埋め込み
処理の概要を説明する概念図である。
FIG. 16 is a conceptual diagram illustrating an outline of image embedding processing according to the fifth embodiment of the present invention.

【図17】実施の形態5における埋め込み画像の抽出及
び改竄位置の特定処理を説明する概要図である。
FIG. 17 is a schematic diagram illustrating a process of extracting an embedded image and identifying a falsification position according to the fifth embodiment.

【図18】本発明の実施の形態6に係る画像の埋め込み
処理の概要を説明する概念図である。
FIG. 18 is a conceptual diagram illustrating an outline of an image embedding process according to a sixth embodiment of the present invention.

【図19】実施の形態6における埋め込み画像の抽出及
び改竄位置の特定処理を説明する概要図である。
FIG. 19 is a schematic diagram illustrating a process of extracting an embedded image and identifying a falsification position according to the sixth embodiment.

Claims (48)

【特許請求の範囲】[Claims] 【請求項1】 順序付けられた複数のデータブロックか
ら構成されるデジタルコンテンツに対して自己同期性を
もつ第1パターンを生成する第1パターン生成手段と、 画像に依存した第2パターンを生成する第2パターン生
成手段と、 前記第1パターンと前記第2パターンとから埋め込みパ
ターンを生成する埋め込みパターン生成手段と、 前記埋め込みパターンを各データブロックに埋め込むパ
ターン埋め込み手段と、を有することを特徴とするデー
タ処理装置。
1. A first pattern generation means for generating a first pattern having self-synchronization with respect to digital contents composed of a plurality of ordered data blocks, and a second pattern for generating a second pattern depending on an image. Data comprising two pattern generating means, an embedding pattern generating means for generating an embedding pattern from the first pattern and the second pattern, and a pattern embedding means for embedding the embedding pattern in each data block. Processing equipment.
【請求項2】 前記第2パターン生成手段は、初期値を
基に擬似乱数を発生する擬似乱数発生手段を有し、前記
擬似乱数と前記デジタルコンテンツの各データブロック
値とを基に前記第2パターンを生成することを特徴とす
る請求項1に記載のデータ処理装置。
2. The second pattern generation means has a pseudo random number generation means for generating a pseudo random number based on an initial value, and the second pattern generation means based on the pseudo random number and each data block value of the digital content. The data processing device according to claim 1, wherein a pattern is generated.
【請求項3】 前記第2パターン生成手段は、初期値を
基に擬似乱数を発生する擬似乱数発生手段を有し、前記
擬似乱数と前記デジタルコンテンツの各データブロック
値、及び前記擬似乱数発生手段により発生された前記デ
ジタルコンテンツの各データブロック位置に対応する擬
似乱数を基に前記第2パターンを生成することを特徴と
する請求項1に記載のデータ処理装置。
3. The second pattern generation means has a pseudo random number generation means for generating a pseudo random number based on an initial value, and the pseudo random number and each data block value of the digital content, and the pseudo random number generation means. 2. The data processing device according to claim 1, wherein the second pattern is generated based on a pseudo random number corresponding to each data block position of the digital content generated by.
【請求項4】 前記第1パターン生成手段は、各データ
ブロックに対応する初期値を基に前記第1パターンを生
成することを特徴とする請求項1乃至3のいずれか1項
に記載のデータ処理装置。
4. The data according to claim 1, wherein the first pattern generation means generates the first pattern based on an initial value corresponding to each data block. Processing equipment.
【請求項5】 前記第2パターン生成手段は、前記擬似
乱数発生手段により発生された擬似乱数をアドレス順に
記憶したテーブルを有し、前記テーブルに各データブロ
ック値を入力し、その出力に基づいて前記第2パターン
を生成することを特徴とする請求項2又は3に記載のデ
ータ処理装置。
5. The second pattern generation means has a table in which the pseudo random numbers generated by the pseudo random number generation means are stored in the order of addresses, and each data block value is input to the table, and based on the output thereof. The data processing device according to claim 2, wherein the second pattern is generated.
【請求項6】 順序付けられた複数のデータブロックか
ら構成されるデジタルコンテンツに対して自己同期性を
もつ第1パターンを生成する第1パターン生成手段と、 初期値を基に擬似乱数を発生する擬似乱数発生手段と、 前記擬似乱数と前記複数のデータブロックのそれぞれか
ら暗号化したデータブロックを生成する暗号化ブロック
生成手段と、 前記暗号化したデータブロックのそれぞれに誤り検出符
号を適用して検査ビットを生成する検査ビット生成手段
と、 前記検査ビットと前記第1パターンから埋め込みパター
ンを生成する埋め込みパターン生成手段と、 前記埋め込みパターンを各対応するデータブロックに埋
め込むパターン埋め込み手段と、を有することを特徴と
するデータ処理装置。
6. A first pattern generation means for generating a first pattern having self-synchronization with respect to digital content composed of a plurality of ordered data blocks, and a pseudo pattern generating pseudo random number based on an initial value. Random number generating means, encrypted block generating means for generating an encrypted data block from each of the pseudo random number and the plurality of data blocks, and an inspection bit by applying an error detection code to each of the encrypted data blocks And an embedding pattern generating means for generating an embedding pattern from the inspection bit and the first pattern, and a pattern embedding means for embedding the embedding pattern in each corresponding data block. And data processing device.
【請求項7】 前記複数のデータブロックのそれぞれ
は、その順序に応じて暗号化されていることを特徴とす
る請求項6に記載のデータ処理装置。
7. The data processing apparatus according to claim 6, wherein each of the plurality of data blocks is encrypted according to its order.
【請求項8】 前記デジタルコンテンツはデジタル画像
であり、前記データブロックは画素であることを特徴と
する請求項1乃至7のいずれか1項に記載のデータ処理
装置。
8. The data processing apparatus according to claim 1, wherein the digital content is a digital image, and the data block is a pixel.
【請求項9】 順序付けられた複数のデータブロックの
それぞれに対応する第3パターンを抽出する第3パター
ン抽出手段と、 検証対象画像から第4パターンを生成する第4パターン
生成手段と、 前記第4パターンと前記第3パターンから第5パターン
を生成する第5パターン生成手段と、 前記第5パターンの自己同期性を検査する検査手段と、
を有することを特徴とするデータ処理装置。
9. A third pattern extracting means for extracting a third pattern corresponding to each of a plurality of ordered data blocks, a fourth pattern generating means for generating a fourth pattern from a verification target image, and the fourth pattern. A fifth pattern generating means for generating a fifth pattern from the pattern and the third pattern; an inspecting means for inspecting the self-synchronization of the fifth pattern;
A data processing device comprising:
【請求項10】 前記第4パターン生成手段は、初期
値を基に擬似乱数を発生する擬似乱数発生手段を有し、
前記擬似乱数と前記検証対象デジタルコンテンツの各デ
ータブロック値とを基に前記第4パターンを生成するこ
とを特徴とする請求項9に記載のデータ処理装置。
10. The fourth pattern generation means has a pseudo random number generation means for generating a pseudo random number based on an initial value,
The data processing apparatus according to claim 9, wherein the fourth pattern is generated based on the pseudo random number and each data block value of the verification target digital content.
【請求項11】 前記第4パターン生成手段は、初期値
を基に擬似乱数を発生する擬似乱数発生手段を有し、前
記擬似乱数と前記検証対象デジタルコンテンツの各デー
タブロック値、及び前記擬似乱数発生手段により発生さ
れた前記検証デジタルコンテンツの各データブロック位
置に対応する擬似乱数を基に前記第4パターンを生成す
ることを特徴とする請求項9に記載のデータ処理装置。
11. The fourth pattern generation means has a pseudo random number generation means for generating a pseudo random number based on an initial value, and the pseudo random number, each data block value of the verification target digital content, and the pseudo random number. 10. The data processing device according to claim 9, wherein the fourth pattern is generated based on a pseudo random number corresponding to each data block position of the verification digital content generated by the generation means.
【請求項12】 前記自己同期検査生成手段は、各デー
タブロックに対応する初期値を基に前記自己同期パター
ンを生成することを特徴とする請求項9乃至11のいず
れか1項に記載のデータ処理装置。
12. The data according to claim 9, wherein the self-synchronization test generation means generates the self-synchronization pattern based on an initial value corresponding to each data block. Processing equipment.
【請求項13】 前記第4パターン生成手段は、前記擬
似乱数発生手段により発生された擬似乱数をアドレス順
に記憶したテーブルを有し、前記テーブルに各データブ
ロック値を入力し、その出力に基づいて前記第4パター
ンを生成することを特徴とする請求項10又は11に記
載のデータ処理装置。
13. The fourth pattern generation means has a table in which the pseudo random numbers generated by the pseudo random number generation means are stored in the order of addresses, and each data block value is input to the table, and based on the output thereof. The data processing device according to claim 10, wherein the fourth pattern is generated.
【請求項14】 前記デジタルコンテンツの拡大縮小及
び回転を補正する手段を有することを特徴とする請求項
9に記載のデータ処理装置。
14. The data processing apparatus according to claim 9, further comprising means for correcting scaling and rotation of the digital content.
【請求項15】 前記デジタルコンテンツの切り取りを
検出するためのパターンであって、そのパターンは縦横
交互またはランダムまたはあらかじめ定められた順序で
あることを特徴とする請求項9に記載のデータ処理装
置。
15. The data processing apparatus according to claim 9, wherein the pattern is a pattern for detecting the clipping of the digital content, and the pattern is vertical / horizontal alternating, random or in a predetermined order.
【請求項16】 初期値を基に擬似乱数を発生する擬似
乱数発生手段と、 順序付けられた複数の検証対象データブロックのそれぞ
れと前記擬似乱数とから暗号化ブロックを生成する暗号
化ブロック生成手段と、 前記暗号化ブロックのそれぞれに誤り検出符号を適用し
て検査ビットを生成する検査ビット生成手段と、 前記検査ビットと前記各データブロックに含まれている
検査ビットとの差分を求める手段と、 前記差分の自己同期性を検査する検査手段と、を有する
ことを特徴とするデータ処理装置。
16. Pseudo-random number generation means for generating a pseudo-random number based on an initial value, and encrypted block generation means for generating an encrypted block from each of a plurality of ordered verification target data blocks and the pseudo-random number. A check bit generating unit that generates a check bit by applying an error detection code to each of the encrypted blocks; a unit that obtains a difference between the check bit and the check bit included in each data block; A data processing device, comprising: a checking unit that checks the self-synchronization of the difference.
【請求項17】 前記複数の検証対象データブロックの
それぞれは、その順序に応じて暗号化されていることを
特徴とする請求項16に記載のデータ処理装置。
17. The data processing apparatus according to claim 16, wherein each of the plurality of verification target data blocks is encrypted according to its order.
【請求項18】 順序付けられた複数のデータブロック
から構成されるデジタルコンテンツに対して自己同期性
をもつ第1パターンを生成する第1パターン生成手段
と、 前記第1パターン生成手段により生成された前記第1パ
ターンを各データブロックに埋め込むパターン埋め込み
手段と、を有することを特徴とするデータ処理装置。
18. A first pattern generation means for generating a first pattern having self-synchronization with respect to a digital content composed of a plurality of ordered data blocks, and the first pattern generation means generated by the first pattern generation means. And a pattern embedding unit that embeds the first pattern in each data block.
【請求項19】 順序付けられた複数のデータブロック
から構成されるデジタルコンテンツに対して自己同期性
をもつ第1パターンを生成する第1パターン生成手段
と、 前記第1パターン生成手段により生成された前記第1パ
ターンから埋め込みパターンを生成する埋め込みパター
ン生成手段と、 前記埋め込みパターン生成手段により生成された前記埋
め込みパターンを各データブロックに埋め込むパターン
埋め込み手段と、を有することを特徴とするデータ処理
装置。
19. A first pattern generation means for generating a first pattern having self-synchronization with respect to a digital content composed of a plurality of ordered data blocks, and the first pattern generation means. A data processing device comprising: an embedding pattern generating means for generating an embedding pattern from a first pattern; and a pattern embedding means for embedding the embedding pattern generated by the embedding pattern generating means in each data block.
【請求項20】 前記第1パターン生成手段は、各デー
タブロックに対応する初期値を基に前記第1パターンを
生成することを特徴とする請求項18又は19に記載の
データ処理装置。
20. The data processing apparatus according to claim 18, wherein the first pattern generation means generates the first pattern based on an initial value corresponding to each data block.
【請求項21】 前記順序付けられた複数のデータブロ
ックから第3パターンを抽出する第3パターン抽出手段
と、 前記第3パターン抽出手段により抽出された前記第3パ
ターンの自己同期性を検査する検査手段とを更に有する
ことを特徴とする請求項19に記載のデータ処理装置。
21. Third pattern extracting means for extracting a third pattern from the plurality of ordered data blocks, and inspection means for inspecting the self-synchronization of the third pattern extracted by the third pattern extracting means. 20. The data processing device according to claim 19, further comprising:
【請求項22】 前記検査手段は、各データブロックに
対応する初期値を基に自己同期パターンを生成して自己
同期性を検査することを特徴とする請求項21に記載の
データ処理装置。
22. The data processing apparatus according to claim 21, wherein the checking unit generates a self-sync pattern based on an initial value corresponding to each data block to check the self-sync.
【請求項23】 前記デジタルコンテンツの拡大縮小及
び回転を補正する手段を更に有することを特徴とする請
求項19乃至22のいずれか1項に記載のデータ処理装
置。
23. The data processing apparatus according to claim 19, further comprising means for correcting scaling and rotation of the digital content.
【請求項24】 順序付けられた複数のデータブロック
から構成されるデジタルコンテンツに対して自己同期性
をもつ第1パターンを生成する第1パターン生成工程
と、 画像に依存した第2パターンを生成する第2パターン生
成工程と、 前記第1パターンと前記第2パターンとから埋め込みパ
ターンを生成する埋め込みパターン生成工程と、 前記埋め込みパターンを各データブロックに埋め込むパ
ターン埋め込み工程と、を有することを特徴とするデー
タ処理方法。
24. A first pattern generating step of generating a first pattern having self-synchronization with respect to digital content composed of a plurality of ordered data blocks, and a second pattern of generating an image-dependent second pattern. Data comprising two pattern generation steps, an embedded pattern generation step of generating an embedded pattern from the first pattern and the second pattern, and a pattern embedding step of embedding the embedded pattern in each data block. Processing method.
【請求項25】 前記第2パターン生成工程は、初期値
を基に擬似乱数を発生する擬似乱数発生工程を有し、前
記擬似乱数と前記デジタルコンテンツの各データブロッ
ク値とを基に前記第2パターンを生成することを特徴と
する請求項24に記載のデータ処理方法。
25. The second pattern generation step includes a pseudo random number generation step of generating a pseudo random number based on an initial value, and the second pattern generation step based on the pseudo random number and each data block value of the digital content. The data processing method according to claim 24, wherein a pattern is generated.
【請求項26】 前記第2パターン生成工程は、初期値
を基に擬似乱数を発生する擬似乱数発生工程を有し、前
記擬似乱数と前記デジタルコンテンツの各データブロッ
ク値、及び前記擬似乱数発生工程により発生された前記
デジタルコンテンツの各データブロック位置に対応する
擬似乱数を基に前記第2パターンを生成することを特徴
とする請求項24に記載のデータ処理方法。
26. The second pattern generating step includes a pseudo random number generating step of generating a pseudo random number based on an initial value, and the pseudo random number, each data block value of the digital content, and the pseudo random number generating step. 25. The data processing method according to claim 24, wherein the second pattern is generated based on a pseudo-random number corresponding to each data block position of the digital content generated by.
【請求項27】 前記第1パターン生成工程では、各デ
ータブロックに対応する初期値を基に前記第1パターン
を生成することを特徴とする請求項24乃至26のいず
れか1項に記載のデータ処理方法。
27. The data according to claim 24, wherein in the first pattern generating step, the first pattern is generated based on an initial value corresponding to each data block. Processing method.
【請求項28】 前記第2パターン生成工程では、前記
擬似乱数発生工程により発生された擬似乱数をアドレス
順に記憶したテーブルを有し、前記テーブルに各データ
ブロック値を入力し、その出力に基づいて前記第2パタ
ーンを生成することを特徴とする請求項25又は26に
記載のデータ処理方法。
28. The second pattern generating step has a table in which the pseudo random numbers generated in the pseudo random number generating step are stored in the order of addresses, and each data block value is input to the table, and based on the output thereof. The data processing method according to claim 25 or 26, wherein the second pattern is generated.
【請求項29】 前記複数のデータブロックのそれぞれ
は、その順序に応じて暗号化されていることを特徴とす
る請求項24に記載のデータ処理方法。
29. The data processing method according to claim 24, wherein each of the plurality of data blocks is encrypted according to its order.
【請求項30】 順序付けられた複数のデータブロック
から構成されるデジタルコンテンツに対して自己同期性
をもつ第1パターンを生成する第1パターン生成工程
と、 初期値を基に擬似乱数を発生する擬似乱数発生工程と、 前記擬似乱数と前記複数のデータブロックのそれぞれか
ら暗号化したデータブロックを生成する暗号化ブロック
生成工程と、 前記暗号化したデータブロックのそれぞれに誤り検出符
号を適用して検査ビットを生成する検査ビット生成工程
と、 前記検査ビットと前記第1パターンから埋め込みパター
ンを生成する埋め込みパターン生成工程と、 前記埋め込みパターンを各対応するデータブロックに埋
め込むパターン埋め込み工程と、を有することを特徴と
するデータ処理方法。
30. A first pattern generating step of generating a first pattern having self-synchronization with respect to digital contents composed of a plurality of ordered data blocks, and a pseudo random number generating pseudo random number based on an initial value. A random number generating step, an encrypted block generating step of generating an encrypted data block from each of the pseudo random number and the plurality of data blocks, and an inspection bit by applying an error detection code to each of the encrypted data blocks And an embedding pattern generating step of generating an embedding pattern from the inspection bit and the first pattern, and a pattern embedding step of embedding the embedding pattern in each corresponding data block. Data processing method.
【請求項31】 順序付けられた複数のデータブロック
のそれぞれに対応する第3パターンを生成する第3パタ
ーン生成工程と、 検証対象画像と前記第3パターンとから第4パターンを
生成する第4パターン生成工程と、 前記第4パターンと前記検証対象画像から第5パターン
を生成する第5パターン生成工程と、 前記第5パターンの自己同期生を検査する検査工程と、
を有することを特徴とするデータ処理方法。
31. A third pattern generating step of generating a third pattern corresponding to each of a plurality of ordered data blocks, and a fourth pattern generating step of generating a fourth pattern from the verification target image and the third pattern. A step, a fifth pattern generation step of generating a fifth pattern from the fourth pattern and the verification target image, an inspection step of inspecting the self-synchronization of the fifth pattern,
A data processing method comprising:
【請求項32】 前記第3パターン生成工程は、初期値
を基に擬似乱数を発生する擬似乱数発生工程を有し、 前記第4パターン生成工程は、前記擬似乱数と前記検証
対象デジタルコンテンツの各データブロック値とを基に
前記第4パターンを生成することを特徴とする請求項3
1に記載のデータ処理方法。
32. The third pattern generation step includes a pseudo random number generation step of generating a pseudo random number based on an initial value, and the fourth pattern generation step includes each of the pseudo random number and the verification target digital content. The fourth pattern is generated based on a data block value.
1. The data processing method described in 1.
【請求項33】 前記第3パターン生成工程は、初期値
を基に擬似乱数を発生する擬似乱数発生工程を有し、 前記第4パターン生成工程は、前記擬似乱数と前記検証
対象デジタルコンテンツの各データブロック値、及び前
記擬似乱数発生工程により発生された前記検証デジタル
コンテンツの各データブロック位置に対応する擬似乱数
を基に前記第4パターンを生成することを特徴とする請
求項31に記載のデータ処理方法。
33. The third pattern generation step includes a pseudo random number generation step of generating a pseudo random number based on an initial value, and the fourth pattern generation step includes each of the pseudo random number and the verification target digital content. 32. The data according to claim 31, wherein the fourth pattern is generated based on a data block value and a pseudo random number corresponding to each data block position of the verification digital content generated by the pseudo random number generating step. Processing method.
【請求項34】 前記第3パターン生成工程は、各デー
タブロックに対応する初期値を基に前記第3パターンを
生成することを特徴とする請求項31乃至33のいずれ
か1項に記載のデータ処理方法。
34. The data according to claim 31, wherein the third pattern generation step generates the third pattern based on an initial value corresponding to each data block. Processing method.
【請求項35】 前記第4パターン生成工程は、前記擬
似乱数発生工程により発生された擬似乱数をアドレス順
に記憶したテーブルを有し、前記テーブルに各データブ
ロック値を入力し、その出力に基づいて前記第4パター
ンを生成することを特徴とする請求項32又は33に記
載のデータ処理方法。
35. The fourth pattern generation step has a table in which the pseudo random numbers generated by the pseudo random number generation step are stored in the order of addresses, and each data block value is input to the table, and based on the output thereof. The data processing method according to claim 32 or 33, wherein the fourth pattern is generated.
【請求項36】 前記デジタルコンテンツの拡大縮小及
び回転を補正する手段を有することを特徴とする請求項
31に記載のデータ処理方法。
36. The data processing method according to claim 31, further comprising means for correcting scaling and rotation of the digital content.
【請求項37】 前記デジタルコンテンツの切り取りを
検出するためのパターンであって、そのパターンは縦横
交互またはランダムまたはあらかじめ定められた順序で
あることを特徴とする請求項31に記載のデータ処理方
法。
37. The data processing method according to claim 31, wherein the pattern is a pattern for detecting the clipping of the digital content, and the pattern is vertical / horizontal alternating, random or a predetermined order.
【請求項38】 前記デジタルコンテンツはデジタル画
像であり、前記データブロックは画素であることを特徴
とする請求項31乃至37のいずれか1項に記載のデー
タ処理方法。
38. The data processing method according to claim 31, wherein the digital content is a digital image, and the data block is a pixel.
【請求項39】 初期値を基に擬似乱数を発生する擬似
乱数発生工程と、 順序付けられた複数の検証対象データブロックのそれぞ
れと前記擬似乱数とから暗号化ブロックを生成する暗号
化ブロック生成工程と、 前記暗号化ブロックのそれぞれに誤り検出符号を適用し
て検査ビットを生成する検査ビット生成工程と、 前記検査ビットと前記各データブロックに含まれている
検査ビットとの差分を求める工程と、 前記差分の自己同期性を検査する検査工程と、を有する
ことを特徴とするデータ処理方法。
39. A pseudo random number generating step of generating a pseudo random number based on an initial value, and an encrypted block generating step of generating an encrypted block from each of a plurality of ordered verification target data blocks and the pseudo random number. A check bit generation step of generating a check bit by applying an error detection code to each of the encrypted blocks; a step of obtaining a difference between the check bit and the check bit included in each of the data blocks; An inspection step for inspecting the self-synchronization of the difference.
【請求項40】 前記複数の検証対象データブロックの
それぞれは、その順序に応じて暗号化されていることを
特徴とする請求項39に記載のデータ処理方法。
40. The data processing method according to claim 39, wherein each of the plurality of verification target data blocks is encrypted according to the order thereof.
【請求項41】 順序付けられた複数のデータブロック
から構成されるデジタルコンテンツに対して自己同期性
をもつ第1パターンを生成する第1パターン生成工程
と、 前記第1パターン生成工程で生成された前記第1パター
ンを各データブロックに埋め込むパターン埋め込み工程
と、を有することを特徴とするデータ処理方法。
41. A first pattern generating step of generating a first pattern having self-synchronization with respect to digital content composed of a plurality of ordered data blocks, and the first pattern generating step generated by the first pattern generating step. A pattern embedding step of embedding the first pattern in each data block.
【請求項42】 順序付けられた複数のデータブロック
から構成されるデジタルコンテンツに対して自己同期性
をもつ第1パターンを生成する第1パターン生成工程
と、 前記第1パターン生成工程で生成された前記第1パター
ンから埋め込みパターンを生成する埋め込みパターン生
成工程と、 前記埋め込みパターン生成工程で生成された前記埋め込
みパターンを各データブロックに埋め込むパターン埋め
込み工程と、を有することを特徴とするデータ処理方
法。
42. A first pattern generating step of generating a first pattern having self-synchronization with respect to digital contents composed of a plurality of ordered data blocks, and the first pattern generating step generated by the first pattern generating step. A data processing method comprising: an embedded pattern generation step of generating an embedded pattern from a first pattern; and a pattern embedding step of embedding the embedded pattern generated in the embedded pattern generation step in each data block.
【請求項43】 前記第1パターン生成工程では、各デ
ータブロックに対応する初期値を基に前記第1パターン
を生成することを特徴とする請求項41又は42に記載
のデータ処理方法。
43. The data processing method according to claim 41, wherein in the first pattern generating step, the first pattern is generated based on an initial value corresponding to each data block.
【請求項44】 順序付けられた複数のデータブロック
のそれぞれに対応する第3パターンを生成する第3パタ
ーン生成工程と、 前記第3パターンの自己同期生を検査する検査工程と、
を有することを特徴とするデータ処理方法。
44. A third pattern generation step of generating a third pattern corresponding to each of a plurality of ordered data blocks, and an inspection step of inspecting self-synchronization of the third pattern.
A data processing method comprising:
【請求項45】 前記検査工程では、各データブロック
に対応する初期値を基に自己同期パターンを生成し、当
該自己同期パターンを基に自己同期性を検査することを
特徴とする請求項44に記載のデータ処理方法。
45. In the inspection step, a self-synchronization pattern is generated based on an initial value corresponding to each data block, and self-synchronization is inspected based on the self-synchronization pattern. Described data processing method.
【請求項46】 前記デジタルコンテンツの拡大縮小及
び回転を補正する工程を更に有することを特徴とする請
求項44に記載のデータ処理方法。
46. The data processing method according to claim 44, further comprising a step of correcting scaling and rotation of the digital content.
【請求項47】 請求項24乃至46のいずれか1項に
記載のデータ処理方法を実行するプログラムを記憶した
ことを特徴とする記憶媒体。
47. A storage medium storing a program for executing the data processing method according to any one of claims 24 to 46.
【請求項48】 請求項24乃至46のいずれか1項に
記載のデータ処理方法を実行することを特徴とするプロ
グラム。
48. A program for executing the data processing method according to claim 24.
JP2001397873A 2001-07-11 2001-12-27 Image processing method and apparatus, program and storage medium Expired - Fee Related JP3943931B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001397873A JP3943931B2 (en) 2001-07-11 2001-12-27 Image processing method and apparatus, program and storage medium
US10/188,870 US7072488B2 (en) 2001-07-11 2002-07-05 Data processing method and apparatus
US11/222,958 US7181043B2 (en) 2001-07-11 2005-09-12 Data processing method and apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-211186 2001-07-11
JP2001211186 2001-07-11
JP2001397873A JP3943931B2 (en) 2001-07-11 2001-12-27 Image processing method and apparatus, program and storage medium

Publications (3)

Publication Number Publication Date
JP2003092677A true JP2003092677A (en) 2003-03-28
JP2003092677A5 JP2003092677A5 (en) 2005-07-14
JP3943931B2 JP3943931B2 (en) 2007-07-11

Family

ID=26618546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001397873A Expired - Fee Related JP3943931B2 (en) 2001-07-11 2001-12-27 Image processing method and apparatus, program and storage medium

Country Status (1)

Country Link
JP (1) JP3943931B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499568B2 (en) 2003-06-05 2009-03-03 Ricoh Company, Ltd? Method, apparatus, and program for image processing capable of preventing, detecting and correcting image alteration, and a medium storing the program
CN112788342A (en) * 2019-11-11 2021-05-11 阿里巴巴集团控股有限公司 Watermark information embedding method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499568B2 (en) 2003-06-05 2009-03-03 Ricoh Company, Ltd? Method, apparatus, and program for image processing capable of preventing, detecting and correcting image alteration, and a medium storing the program
CN112788342A (en) * 2019-11-11 2021-05-11 阿里巴巴集团控股有限公司 Watermark information embedding method and device

Also Published As

Publication number Publication date
JP3943931B2 (en) 2007-07-11

Similar Documents

Publication Publication Date Title
US7181043B2 (en) Data processing method and apparatus
Shih Digital watermarking and steganography: fundamentals and techniques
US7146502B2 (en) Information processing apparatus and its control method, computer program, and storage medium
Celik et al. Lossless watermarking for image authentication: a new framework and an implementation
Fridrich Security of fragile authentication watermarks with localization
JP4993674B2 (en) Information processing apparatus, verification processing apparatus, control method thereof, computer program, and storage medium
JP3804012B2 (en) Document image alteration determination method and system, and control program therefor
US7706568B2 (en) Information processing apparatus, information processing method, and computer readable storage medium
US8175322B2 (en) Method of digital watermark and the corresponding device, and digital camera which can append watermark
EP1291819A2 (en) Digital watermark embeddig
JP2003309559A (en) Device and method for performing delivery and authentication of data set, using watermark
JP2008503162A (en) System and method for digital content security
JP4143441B2 (en) Information processing method and apparatus, computer program, and computer-readable storage medium
JP2003510925A (en) Authentication of digital data products using signatures and watermarks
Alam et al. An investigation into encrypted message hiding through images using LSB
JP2005217598A (en) Device for embedding digital watermark, digital watermark detector, method for embedding digital watermark, and method for detecting digital watermark
JP3943931B2 (en) Image processing method and apparatus, program and storage medium
JP3854804B2 (en) Information processing apparatus, control method therefor, computer program, and storage medium
JP2003092676A (en) Data processing method and apparatus, its program and storage medium
JP2003524932A (en) System and method for digitally marking files with removable marks
Nyeem et al. Modelling attacks on self-authentication watermarking
JP2003304387A (en) Image management system, electronic watermark embedding device, authentication code managing device, electronic watermark detecting device, and image managing method
JP2005223880A (en) Document preparation system, method and program, recording medium storing its program and document verification system, method and program, and recording medium storing its program
CN114119332A (en) Block chain-based digital watermark writing and reading method and device
JP2000010478A (en) Signature information embedment apparatus, signature information extraction apparatus, signature information embedment method and signature information extraction method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees