JP2001024876A - Method and device for image processing and storage medium - Google Patents

Method and device for image processing and storage medium

Info

Publication number
JP2001024876A
JP2001024876A JP11193332A JP19333299A JP2001024876A JP 2001024876 A JP2001024876 A JP 2001024876A JP 11193332 A JP11193332 A JP 11193332A JP 19333299 A JP19333299 A JP 19333299A JP 2001024876 A JP2001024876 A JP 2001024876A
Authority
JP
Japan
Prior art keywords
data
key information
image
embedded
input
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
JP11193332A
Other languages
Japanese (ja)
Other versions
JP3805141B2 (en
Inventor
Junichi Hayashi
淳一 林
Satoshi Wakao
聡 若尾
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 JP19333299A priority Critical patent/JP3805141B2/en
Publication of JP2001024876A publication Critical patent/JP2001024876A/en
Application granted granted Critical
Publication of JP3805141B2 publication Critical patent/JP3805141B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To detect an alteration position when the alteration is performed by inputting image position information for instructing an image position at which another data are embedded in image data, generating sub-key information at a random number based on main key information and changing pixel data of the image position of the image data decided based on the image position information based on the sub-key information. SOLUTION: In an extracting device of an electronic watermark, data to be inputted to an input part 21 are embedded image data (x') of the electronic watermark outputted from an electronic watermark embedding device and are inputted to a bit extractor 23. Also, a random number initial value Iv to be inputted to a random number generation part 22 is an initial value to the random number generation part 22, that is, main key information. The random number generator 22 to which the random number initial value Iv (the main key information) is inputted generates a random number progression (sub-key information) Rn and the generated random number progression Rn is inputted to the bit extractor 23. In the bit extractor 23, bit information is extracted from the embedded image data (x') by using this random number progression Rn.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、原画像データに電
子透かしを埋め込んだ画像データを生成し、及び或はそ
の画像データの改竄された箇所を特定する画像処理方法
及び装置と記憶媒体に関するものである。
[0001] 1. Field of the Invention [0002] The present invention relates to an image processing method and apparatus for generating image data in which a digital watermark is embedded in original image data and / or specifying a falsified portion of the image data, and a storage medium. It is.

【0002】[0002]

【従来の技術】近年のコンピュータ及びネットワークの
発達は著しく、文字データ,画像データ,音声データ
等,多種の情報がデジタル化され、コンピュータやネッ
トワークを介して扱われるようになってきている。この
ようなデータはデジタルデータであるために、データの
複製が容易にできる環境にある。このため、こうしたデ
ータの著作権を保護するために、デジタル画像データや
デジタル音声データの中に著作権情報や利用者情報を電
子透かしとして埋め込む処理がなされる場合が多い。
2. Description of the Related Art In recent years, computers and networks have been remarkably developed, and various types of information such as character data, image data, audio data, and the like have been digitized and handled via computers and networks. Since such data is digital data, it is in an environment where data can be easily copied. Therefore, in order to protect the copyright of such data, a process of embedding copyright information and user information as digital watermarks in digital image data and digital audio data is often performed.

【0003】この電子透かしとは、デジタル画像データ
や音声データに所定の処理を施すことによって、これら
のデータに密かに情報を埋め込む技術である。この電子
透かしをデータから抽出することにより、著作権情報や
利用者情報を得ることができ、不正コピーを追跡するこ
とが可能である。
[0003] The digital watermark is a technique for embedding information in digital image data or audio data by performing predetermined processing on the data. By extracting this digital watermark from the data, copyright information and user information can be obtained, and illegal copying can be tracked.

【0004】このような電子透かしを埋め込む方法に
は、空間領域に埋め込む方式と周波数領域に埋め込む方
法の二つに分類できる。このうち、空間領域に埋め込む
方式の例としては、パッチワークによるものとしてIB
Mの方式(W.Bender.D.Gruhl,N.Morimoto,Techniques fo
r Data Hiding,"Proceedings of the SPIE".San Jose C
A,USA,February1995)などが挙げられる。また周波数領
域に埋め込む方式の例としては、離散コサイン変換を利
用するものとしてNTT方式(中村,小川,高嶋等によ
る“ディジタル画像の著作権保護のための周波数領域に
おける電子透かし方式”,SCIS’97−26A,1
997年1月)の他に、離散フーリエ変換を利用するも
のとして防衛大の方式(大西,岡,松井,“PN系列に
よる画像への透かし署名法”,SCIS’97−26
B,1997年1月)や、離散ウェーブレット変換を利
用するものとして三菱,九大の方式(石塚,坂井,櫻
井,“ウェーブレット変換を用いた電子透かし技術の安
全性と信頼性に関する実験的考察”,SCIS’97−
26D,1997年1月)及び松下方式(“ウェーブレ
ット変換に基づくディジタル・ウォーターマーク画像圧
縮,変換処理に対するロバスト性について−”,井上,
宮崎,山本,桂,SCIS,98−3.2.A,199
8年1月)などが挙げられる。
[0004] The method of embedding such a digital watermark can be classified into two methods, a method of embedding in a spatial domain and a method of embedding in a frequency domain. Among them, an example of a method of embedding in a space area is IB as an example of patchwork.
M method (W. Bender. D. Gruhl, N. Morimoto, Techniques fo
r Data Hiding, "Proceedings of the SPIE" .San Jose C
A, USA, February 1995). Examples of the method of embedding in the frequency domain include a method using the discrete cosine transform, the NTT method (“Digital watermarking method in the frequency domain for copyright protection of digital images” by Nakamura, Ogawa, Takashima, etc.), SCIS '97. -26A, 1
In addition to the Discrete Fourier Transform, Defense University's method (Onishi, Oka, Matsui, "Watermark Signature Method for Images Using PN Sequences", SCIS '97 -26)
B, January 1997) and the method of Mitsubishi and Kyushu University using the discrete wavelet transform (Ishizuka, Sakai, Sakurai, "Experimental study on security and reliability of digital watermarking technology using wavelet transform") , SCIS'97-
26D, January 1997) and Matsushita method ("Digital watermark image compression based on wavelet transform, robustness to conversion processing-", Inoue,
Miyazaki, Yamamoto, Katsura, SCIS, 98-3.2. A, 199
Jan. 2008).

【0005】このような電子透かしは、「攻撃」に対し
て耐性があることが必要である。ここで、電子透かしに
対する「攻撃」について簡単に説明する。この「攻撃」
とは、透かし情報を消去,或は破壊しようとする行為で
あり、2通りが考えられる。一つ目は画像処理によるも
のであり、透かし情報を埋め込んだ画像データに対し
て、画像圧縮、拡大及び縮小、切り取り、階調変換、プ
リントアウト及びスキャニングなどの画像処理を施すも
のを含む。二つ目は人為的なものであり、透かし情報を
埋め込んだ画像データに対してノイズを付加すること
や、透かし情報が埋め込んであると考えられる画像領域
を削除することなどを含む。従って、このような攻撃の
いずれに対しても、透かし情報は耐性を持つ必要があ
る。
[0005] Such a digital watermark needs to be resistant to "attack". Here, “attack” on the digital watermark will be briefly described. This "attack"
Is an attempt to erase or destroy the watermark information, and there are two types. The first one is based on image processing, and includes one that performs image processing such as image compression, enlargement and reduction, cutout, gradation conversion, printout, and scanning on image data in which watermark information is embedded. The second is artificial, and includes adding noise to the image data in which the watermark information is embedded, deleting an image area in which the watermark information is considered to be embedded, and the like. Therefore, the watermark information needs to be resistant to any of such attacks.

【0006】ここで「耐性」とは、埋め込んだ情報が攻
撃されても、その埋め込んだ情報を正確に取り出せるこ
とが可能であることを意味している。
[0006] Here, "resistance" means that even if the embedded information is attacked, the embedded information can be accurately extracted.

【0007】しかしながら、あるアプリケーションで
は、画像が攻撃された場合には、埋め込んだ情報を抽出
する必要はなく、その代わりに、攻撃された場所などを
特定する機能を有することを必要とする場合も考えられ
る。以下では、この機能のことを「改竄位置検出機能」
と呼ぶことにする。
However, in an application, when an image is attacked, it is not necessary to extract the embedded information. Instead, it is necessary to have a function for specifying the location of the attack. Conceivable. In the following, this function is referred to as the “falsification position detection function”.
I will call it.

【0008】従来の、改竄位置検出機能を有する電子透
かし方式としては、原画像が1画素当たり複数のビット
から構成されるデータである場合には、複数のビットの
うちLSB(Least Significant Bit)のビットを置き換
えることにより透かし情報の埋め込みを行い、それを抽
出する際には、LSBのビットだけ読み出すことにより
抽出を行っていた。ここで、LSBとは1画素を構成す
る複数ビットの情報においてビット位置0(最小位)に
位置するビット情報のことで、ビット位置とは、画素を
構成するビット系列の中で、そのビットの存在する位置
を示すものである。例えば、2^0=1を表すビットの存
在する位置を表す場合、「ビット位置0」と呼び、2^1
=2(^0は0乗を、^1は1乗を示す)を表すビットの存
在する位置を表す場合、「ビット位置1」と呼ぶ。ここ
で、ビット位置0をLSBと呼ぶのと同様に、1バイト
データにおけるビット位置7をMSB(Most Significan
tBit)と呼ぶことにする。これ以降、「ビット位置」と
いう表現は上述の定義に従うものとする。
As a conventional digital watermarking method having a tampered position detecting function, when an original image is data composed of a plurality of bits per pixel, a least significant bit (LSB) of a plurality of bits is used. The watermark information is embedded by replacing the bits, and when extracting it, the extraction is performed by reading out only the LSB bits. Here, the LSB is bit information located at bit position 0 (minimum order) in information of a plurality of bits forming one pixel, and the bit position is defined as the bit position of the bit in the bit sequence forming the pixel. It indicates the location where it exists. For example, when representing a position where a bit representing 2 ^ 0 = 1 exists, it is called "bit position 0" and 2 ^ 1
When the position where the bit representing = 2 (^ 0 represents the power of 0 and ^ 1 represents the power of 1) is present, it is called "bit position 1". Here, similarly to the case where bit position 0 is referred to as LSB, bit position 7 in 1-byte data is designated as MSB (Most Significant).
tBit). Hereinafter, the expression “bit position” is based on the above definition.

【0009】このようなLSBへの透かし情報の埋め込
みによって、画像処理手段を用いた攻撃に対しては、そ
の改竄位置を特定することか可能であった。これは、L
SBが画素を構成するビットのうち最小の大きさを表現
しているものであるために、改竄された場合にはLSB
のビットは変化しやすく、即ち変化した箇所を改竄され
た箇所として特定できるからである。ここで正しく抽出
できない場合、LSBが“1”である確率と“0”であ
る確率とが等しくなり、即ち、ランダムに“1”と
“0”が出現することが予想される。よって、抽出の結
果、ランダムに“1”と“0”が出現している領域を改
竄された箇所であると検証することが可能となる。
By embedding the watermark information in the LSB, it is possible to specify the falsification position of the attack using the image processing means. This is L
Since the SB represents the minimum size of the bits constituting the pixel, if the tampering is performed, the LSB
Is easy to change, that is, the changed portion can be specified as a falsified portion. If the LSB cannot be correctly extracted, the probability that the LSB is "1" is equal to the probability that the LSB is "0", that is, it is expected that "1" and "0" appear randomly. Therefore, as a result of the extraction, it is possible to verify that a region where “1” and “0” appear randomly is a tampered portion.

【0010】しかしながら、以上のような方式は人為的
な攻撃には弱かった。これは、LSBに固定されて埋め
込まれているために、全ての画素のLSBを抽出すると
いった探索により、電子透かしが埋め込まれたことが第
3者に容易に類推されることが考えられる。従って、も
し画像データに電子透かしが埋め込まれていることが第
三者に知られた場合には、その第三者は透かしが埋め込
稀ているLSBの状態をそのままにして、それ以外のビ
ット位置のデータを変更することにより、容易に画像デ
ータを容易に改竄することができる。具体例として、画
像の内容を改竄する前にLSBの情報を保存しておき、
その後、その画像の内容を改竄し、こうして改竄した画
像データのLSBだけを予め保存していた情報に置き換
えるといった人為的な手段によって、その改竄した画像
位置を特定できないようにすることが考えられる。
[0010] However, the above method is weak against artificial attacks. Since it is fixed and embedded in the LSB, it is conceivable that a third party can easily infer that the digital watermark is embedded by searching for extracting the LSB of all the pixels. Therefore, if a third party is informed that the digital watermark is embedded in the image data, the third party leaves the state of the LSB in which the watermark is rarely embedded and leaves the other bits unchanged. By changing the position data, the image data can be easily falsified. As a specific example, the information of the LSB is stored before the content of the image is falsified,
Thereafter, it is conceivable that the contents of the image are falsified and the position of the falsified image cannot be identified by artificial means such as replacing only the LSB of the falsified image data with information stored in advance.

【0011】[0011]

【発明が解決しようとする課題】以上述べたように従来
の技術によれば、透かし情報を埋め込んだ画像に対して
改竄を施した場合、その改竄された画像位置を確実に特
定することができなかった。
As described above, according to the prior art, when an image in which watermark information is embedded is tampered, the position of the tampered image can be reliably specified. Did not.

【0012】本発明は上記従来例に鑑みてなされたもの
で、データに対して人為的な改竄がなされた場合に、そ
の改竄位置を確実に検出できる画像処理方法及び装置を
提供することを目的とする。
The present invention has been made in view of the above conventional example, and has as its object to provide an image processing method and apparatus capable of reliably detecting a tampered position when data is tampered with artificially. And

【0013】また本発明の目的は、入力された原画像デ
ータの画素位置を指示し、主鍵情報に基づいて、その指
示された画素位置の特定の部分を書き換えることによ
り、入力した画像データに所定のデータを埋め込むこと
ができる画像処理方法及び装置を提供することにある。
It is another object of the present invention to specify a pixel position of input original image data, and to rewrite a specific portion of the specified pixel position based on the primary key information so that the input image data has a predetermined value. And an image processing method and apparatus capable of embedding the data.

【0014】また本発明の目的は、このような所定のデ
ータが埋め込まれたデータに対してなされた改竄処理を
検知し、その改竄位置をも検知できるようにした画像処
理方法及び装置を提供することにある。
Another object of the present invention is to provide an image processing method and apparatus capable of detecting falsification processing performed on data in which such predetermined data is embedded and detecting the falsification position. It is in.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に本発明の画像処理装置は以下のような構成を備える。
即ち、画像データに別のデータを埋め込む画像位置を指
示する画像位置情報を入力する入力手段と、主鍵情報に
基づいて乱数的に副鍵情報を生成する乱数生成手段と、
前記画像位置情報に基づいて決定される画像データの画
像位置の画素データを前記副鍵情報に基づいて変更する
画素変更手段と、を有することを特徴とする。
In order to achieve the above object, an image processing apparatus according to the present invention has the following arrangement.
That is, input means for inputting image position information indicating an image position in which another data is embedded in the image data, random number generating means for generating sub-key information on a random basis based on the main key information,
A pixel changing unit that changes pixel data at an image position of the image data determined based on the image position information based on the sub key information.

【0016】また本発明の画像処理装置は、画像データ
に別のデータを埋め込む画像位置を指示する画像位置情
報に基づいて決定される画像データの画像位置の画素デ
ータを、主鍵情報に基づいて乱数的に生成された副鍵情
報に基づいて変更することにより得られた埋め込み済み
画像データを入力する入力手段と、前記主鍵情報を入力
して前記副鍵情報を生成する鍵情報生成手段と、前記副
鍵情報に基づいて前記埋め込み済み画像データの画素デ
ータを抽出する抽出手段と、前記抽出手段により抽出さ
れた前記画素データと前記鍵情報生成手段により生成さ
れた前記副鍵情報に基づく画素位置の画素データとを比
較する比較手段とを有し、前記比較手段による比較結果
に応じて前記埋め込み済み画像データの改竄位置を検出
することを特徴とする。
Further, the image processing apparatus according to the present invention converts the pixel data at the image position of the image data determined based on the image position information indicating the image position at which another data is embedded in the image data based on the primary key information to a random number. Input means for inputting embedded image data obtained by making a change based on the automatically generated sub-key information, key information generating means for inputting the main key information and generating the sub-key information, Extracting means for extracting the pixel data of the embedded image data based on the sub-key information; and a pixel position based on the pixel data extracted by the extracting means and the sub-key information generated by the key information generating means. Comparing means for comparing the pixel data with the pixel data, and detecting a tampering position of the embedded image data according to a comparison result by the comparing means. That.

【0017】上記目的を達成するために本発明の画像処
理方法は以下のような工程を備える。即ち、画像データ
に別のデータを埋め込む画像位置を指示する画像位置情
報を入力する入力工程と、主鍵情報に基づいて乱数的に
副鍵情報を生成する乱数生成工程と、前記画像位置情報
に基づいて決定される画像データの画像位置の画素デー
タを前記副鍵情報に基づいて変更する画素変更工程と、
を有することを特徴とする。
In order to achieve the above object, the image processing method of the present invention comprises the following steps. That is, an input step of inputting image position information indicating an image position in which another data is embedded in image data, a random number generating step of generating sub-key information on a random basis based on the main key information, A pixel changing step of changing the pixel data at the image position of the image data determined based on the sub-key information,
It is characterized by having.

【0018】また本発明の画像処理方法によれば、画像
データに別のデータを埋め込む画像位置を指示する画像
位置情報に基づいて決定される画像データの画像位置の
画素データを、主鍵情報に基づいて乱数的に生成された
副鍵情報に基づいて変更することにより得られた埋め込
み済み画像データを入力する入力工程と、前記主鍵情報
を入力して前記副鍵情報を生成する鍵情報生成工程と、
前記副鍵情報に基づいて前記埋め込み済み画像データの
画素データを抽出する抽出工程と、前記抽出工程で抽出
された前記画素データと前記鍵情報生成工程で生成され
た前記副鍵情報に基づく画素位置の画素データとを比較
する比較工程とを有し、前記比較工程による比較結果に
応じて前記埋め込み済み画像データの改竄位置を検出す
ることを特徴とする。
Further, according to the image processing method of the present invention, the pixel data at the image position of the image data determined based on the image position information indicating the image position at which another data is embedded in the image data is determined based on the primary key information. An input step of inputting embedded image data obtained by changing based on the sub-key information generated in a random manner, and a key information generating step of inputting the main key information and generating the sub-key information, ,
An extraction step of extracting pixel data of the embedded image data based on the sub key information, and a pixel position based on the pixel data extracted in the extraction step and the sub key information generated in the key information generation step And comparing the pixel data with the pixel data of the embedded image data.

【0019】[0019]

【発明の実施の形態】以下、添付図面を参照して本発明
の好適な実施の形態を詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings.

【0020】[実施の形態1]図1は、本発明の実施の
形態1に係る電子透かしの埋め込み装置の概略構成を示
すブロック図である。
[Embodiment 1] FIG. 1 is a block diagram showing a schematic configuration of an electronic watermark embedding apparatus according to Embodiment 1 of the present invention.

【0021】図1において、入力部11へ入力されるデ
ータxは、1画素当たり所定のビット数を有する多値画
像データである。以下では、このデータxを原画像デー
タと呼ぶ。また入力部12に入力されるデータrは、1
画素を1ビットで表わす二値画像データで、以下では、
このデータを埋め込みデータと呼ぶ。ここで、この埋め
込みデータは、人間の視覚にとって意味のある内容であ
っても、或は人間の視覚にとって意味のない内容であっ
ても良い。意味のある内容である場合には、例えば、著
作者の持つロゴマークのようなものであってもよい。こ
の場合は、このロゴマークが埋め込まれた画像から、そ
の著作権情報を読み取ることも可能である。また一方、
意味のない内容である場合には、IDの様なものを2進
数で表現したものであっても良い。ここでIDとは固有
の値を意味している。例えば、利用者IDの場合には、
その利用者にとって固有の値を表し、デバイスIDの場
合には、そのデバイスにとって固有の値を表している。
この場合、このようなIDが埋め込まれた画像から、利
用者情報、或は利用デバイス情報などを読み取ることも
可能である。
In FIG. 1, data x input to an input unit 11 is multi-valued image data having a predetermined number of bits per pixel. Hereinafter, this data x is referred to as original image data. The data r input to the input unit 12 is 1
Binary image data representing a pixel with 1 bit.
This data is called embedded data. Here, the embedded data may be content that is meaningful to human vision, or content that is meaningless to human vision. If the content is meaningful, the content may be, for example, a logo mark of the author. In this case, the copyright information can be read from the image in which the logo is embedded. Meanwhile,
If the content is meaningless, the ID may be represented by a binary number. Here, the ID means a unique value. For example, in the case of a user ID,
The value represents a value unique to the user, and the device ID represents a value unique to the device.
In this case, it is possible to read user information or device information to be used from an image in which such an ID is embedded.

【0022】また、乱数発生器13へ入力されるデータ
Ivは、乱数発生器13への初期値、即ち主鍵情報を示
している。また、入力部12へ入力された埋め込みデー
タrは、埋め込み画像生成器14へ入力される。この埋
め込み画像生成器14の詳細な動作については後述す
る。こうして埋め込み画像生成器14からは、原画像デ
ータxと等しい面積の画像データが出力され、この画像
データはビット置き換え器15に入力される。また入力
部11へ入力された原画像データxは、ビット置き換え
器15へ入力される。このビット置き換え器15の詳細
な動作についても後述する。こうして、このビット置き
換え器15からは、原画像データxのうち埋め込みデー
タrにより指定された位置(例えば埋め込みデータr’
の対応するビットが“1”)の画素情報の特定のビット
だけが置き換えられた画像データが出力され、その画像
データは出力部16を介して、埋め込み済み画像データ
x’として出力される。
The data Iv input to the random number generator 13 indicates an initial value to the random number generator 13, that is, primary key information. The embedded data r input to the input unit 12 is input to the embedded image generator 14. The detailed operation of the embedded image generator 14 will be described later. Thus, the embedded image generator 14 outputs image data having an area equal to the original image data x, and this image data is input to the bit replacement unit 15. The original image data x input to the input unit 11 is input to the bit replacement unit 15. The detailed operation of the bit replacement unit 15 will also be described later. In this way, the bit replacement unit 15 outputs a position (for example, the embedded data r ′) specified by the embedded data r in the original image data x.
The image data in which only the specific bit of the pixel information corresponding to “1” is replaced is output, and the image data is output via the output unit 16 as embedded image data x ′.

【0023】次に、各部の動作の詳細について説明す
る。
Next, the operation of each section will be described in detail.

【0024】まず、埋め込み画像生成器14の詳細な動
作について解説する。
First, the detailed operation of the embedded image generator 14 will be described.

【0025】埋め込み画像生成器14は、入力された埋
め込みデータrを基に、その埋め込みデータrを原画像
データxの大きさに等しいサイズに変換する。以下で
は、この埋め込み画像生成器14から出力された画像デ
ータを埋め込み画像データr’と呼ぶことにする。この
埋め込み画像生成器14におけるサイズ変換には、埋め
込みデータrを繰り返し並べる方式、或は埋め込みデー
タrを原画像データxの大きさに拡大(変倍)処理する
方式など、種々のものが考えられる。なお、この埋め込
み画像生成器14から出力される埋め込み画像データ
r’も、1画素に付き1ビットのデータを有する2値デ
ータでなければならない。
The embedded image generator 14 converts the embedded data r into a size equal to the size of the original image data x based on the input embedded data r. Hereinafter, the image data output from the embedded image generator 14 will be referred to as embedded image data r ′. Various methods can be considered for the size conversion in the embedded image generator 14, such as a method of repeatedly arranging the embedded data r or a method of enlarging (magnifying) the embedded data r to the size of the original image data x. . The embedded image data r 'output from the embedded image generator 14 must also be binary data having one bit of data per pixel.

【0026】次に、乱数発生器13の詳細な動作につい
て解説する。
Next, the detailed operation of the random number generator 13 will be described.

【0027】乱数発生器13には、乱数初期値Iv、即
ち主鍵情報が入力される。本実施の形態1に係る処理を
安全に用いるために、乱数初期値Ivを公開情報とする
場合には、本実施の形態1で用いる乱数発生器13は、
その乱数の発生方式が非公開のもの、或は別の非公開情
報を用いるものでなければならない。その一方、乱数発
生器14における乱数発生方式が公開されたものである
場合には、乱数初期値Ivを非公開情報としなければな
らない。つまり、ビット置き換え器15へ入力される乱
数系列、即ち副鍵情報Rnを非公開情報とする必要があ
る。これらのうち、いずれを公開情報とし、いずれを非
公開情報とするかは、各アプリケーションに応じて決定
することが可能である。
The random number generator 13 receives a random number initial value Iv, ie, primary key information. When the random number initial value Iv is used as public information in order to safely use the processing according to the first embodiment, the random number generator 13 used in the first embodiment
The method of generating the random numbers must be private or use other private information. On the other hand, if the random number generation method in the random number generator 14 is public, the random number initial value Iv must be used as non-public information. That is, the random number sequence input to the bit replacement unit 15, that is, the sub-key information Rn needs to be secret information. Which of these is made public information and which is made non-public information can be determined according to each application.

【0028】次に、ビット置き換え器15の詳細な動作
について解説する。
Next, the detailed operation of the bit replacement unit 15 will be described.

【0029】このビット置き換え器15は、埋め込み画
像データr’を原画像データxに埋め込む、所謂電子透
かし埋め込み処理を行う部分である。このビット置き換
え器15においては、埋め込み画像生成器14から出力
された埋め込み画像データr’と、入力部11から出力
された原画像データxの対応する画素位置(例えば埋め
込みデータr’の対応するビットが“1”)において、
その画素値である複数ビット(この実施の形態では8ビ
ット)の内のあるビットの置き換え処理が施される。こ
のビットの置き換え処理は、原画像データxの持つ輝度
値データをビットプレーンに展開した領域に対して施さ
れる。いま例えば原画像データが256階調(8ビッ
ト)を持つ場合、これら8ビットのうちの1ビットが選
択されて、このビットが埋め込み画像データr’の対応
するビットで置き換えられる。この埋め込まれる(選択
される)ビット位置は、乱数発生器13からの出力であ
る副鍵情報Rnによって決定される。
The bit replacing unit 15 is a part for performing a so-called digital watermark embedding process for embedding the embedded image data r 'in the original image data x. In this bit replacement unit 15, the embedded image data r ′ output from the embedded image generator 14 and the corresponding pixel position of the original image data x output from the input unit 11 (for example, the corresponding bit of the embedded data r ′) Is “1”),
A certain bit of the plurality of bits (8 bits in this embodiment) that is the pixel value is replaced. This bit replacement process is performed on an area in which the luminance value data of the original image data x is developed on a bit plane. Now, for example, when the original image data has 256 gradations (8 bits), one of these 8 bits is selected, and this bit is replaced by the corresponding bit of the embedded image data r ′. The bit position to be embedded (selected) is determined by the sub-key information Rn output from the random number generator 13.

【0030】例えば、原画像データxが1画素当たり8
ビットの2進符号によって表現されている場合、乱数発
生器13からは“0”から“7”の値を持つ乱数データ
列Rnが出力される。この乱数列Rnの値に対応するビ
ット位置が、前述したビット置き換えの対象となるビッ
ト位置を示している。
For example, if the original image data x is 8 per pixel,
When represented by a binary code of bits, the random number generator 13 outputs a random number data string Rn having a value of “0” to “7”. The bit position corresponding to the value of the random number sequence Rn indicates the bit position to be subjected to the above-described bit replacement.

【0031】ここで、このビット置き換えの対象となる
ビット位置の選択には、注意が必要である。例えば、選
択されるビット位置がMSBに近い値を持つような場合
には、埋め込み済み画像データx’の画素値が原画像デ
ータxの対応する画素値から大きく異なり、これにより
埋め込み済み画像データx’が、原画像データxに比べ
て劣化することが予想される。これは、例えば1画素当
たり8ビットで構成される画像データの場合に、MSB
の値を変化させることにより、輝度値において2の7乗
=128の変化が生じることによる。また、LSBに限
定したビット位置ばかりが選択されると、前述の従来の
技術で述べたように、人為的な攻撃に対しては耐性が弱
くなる。即ち、例えば、ビット置き換えの対象がLS
B、即ちビット位置0だけに限定されているような場合
には、置き換られたビットは容易に書き換えられてしま
うと考えられる。また或は、ビット置き換えの対象位置
が、ビット位置0とビット位置1である場合には、ビッ
ト位置の書き換えには、(XS×YS)の2乗の探索を
必要とする。ここで、XS及びYSは原画像データxの
横方向の大きさ及び縦方向の大きさを示している。
Here, care must be taken in selecting the bit position to be replaced. For example, when the selected bit position has a value close to the MSB, the pixel value of the embedded image data x ′ is significantly different from the corresponding pixel value of the original image data x, and thus the embedded image data x Is expected to deteriorate compared to the original image data x. This is, for example, in the case of image data composed of 8 bits per pixel, MSB
Is caused by a change of 2 7 = 128 in the luminance value. Further, if only the bit position limited to the LSB is selected, as described in the above-described related art, the resistance to the artificial attack is weakened. That is, for example, the bit replacement target is LS
In the case where B is limited to only the bit position 0, the replaced bit is considered to be easily rewritten. Alternatively, if the target positions for bit replacement are bit position 0 and bit position 1, rewriting the bit position requires a square search of (XS × YS). Here, XS and YS indicate the horizontal size and the vertical size of the original image data x.

【0032】一般に、ビット置き換えの対象位置をビッ
ト位置0からビット位置nとした場合には、ビット位置
の書き換えには、(XS×YS)のn乗の探索を必要と
する。従って、以上述べたような探索により、埋め込ん
だ情報(即ち、埋め込んだ全ての画素でのビット位置)
が解ってしまった場合、画像の内容を変化させるような
改竄が行われた後で、これらの埋め込んだ情報を元の埋
め込んだ情報に置き換えることにより、後に述べるビッ
ト抽出器23において、改竄されていない画像であると
偽ることが可能となってしまう。この点から、ビット置
き換えの対象に選択するビット位置はLSBに近いビッ
ト位置が良いといえる。このようにLSBに近いビット
を選択して、埋め込みデータr’を埋め込むことによっ
て、原画像データxからの視覚的な画質劣化を抑えて、
且つ、画像処理による改竄をされた場合に、その改竄を
検証し、更に改竄された位置を特定することが可能とな
る。即ち、画像が改竄されたにも関わらず、その改竄を
検証できなかったり、改竄位置を特定できなくなること
が防止できる。
In general, if the bit replacement target position is from bit position 0 to bit position n, rewriting the bit position requires a search of (XS × YS) to the nth power. Therefore, by the search described above, the embedded information (that is, the bit position in all the embedded pixels) is obtained.
Is found, after tampering is performed to change the content of the image, the embedded information is replaced with the original embedded information, so that the bit extractor 23 described later It is possible to disguise that there is no image. From this point, it can be said that the bit position to be selected as a bit replacement target is a bit position close to the LSB. By selecting a bit close to the LSB and embedding the embedding data r ′ in this way, visual quality deterioration from the original image data x is suppressed, and
In addition, when tampering has been performed by image processing, it is possible to verify the tampering and further specify the tampered position. That is, it is possible to prevent the fact that the tampering cannot be verified or the tampering position cannot be specified despite the tampering of the image.

【0033】以上述べたような処理によって、電子透か
しの埋め込み処理を行うことにより、生成された埋め込
み済み画像データx’は出力部16を介して出力され
る。
By performing the digital watermark embedding process by the process described above, the generated embedded image data x ′ is output via the output unit 16.

【0034】図2は、本発明の実施の形態1に係る電子
透かしの抽出装置の概略構成を示すブロック図である。
FIG. 2 is a block diagram showing a schematic configuration of the digital watermark extracting apparatus according to Embodiment 1 of the present invention.

【0035】図2において、入力部21へ入力されるデ
ータx’は、前述の図1における電子透かし埋め込み装
置から出力された電子透かしの埋め込み済み画像データ
x’である。また乱数発生器22へ入力されるデータI
vは、乱数発生器22への初期値、即ち主鍵情報であ
る。主鍵情報Ivの値は、図1において乱数発生器13
へ入力されるデータIvと完全に等しいものでなければ
ならない。
In FIG. 2, the data x 'input to the input unit 21 is the digital watermark embedded image data x' output from the digital watermark embedding device in FIG. The data I input to the random number generator 22
v is an initial value to the random number generator 22, that is, primary key information. The value of the primary key information Iv is determined by the random number generator 13 in FIG.
Must be exactly equal to the data Iv input to the

【0036】入力部21に入力された埋め込み済み画像
データx’は、ビット抽出器23へ入力される。乱数初
期値Iv(主鍵情報)が入力された乱数発生器22は乱
数列(副鍵情報)Rnを生成し、その生成された乱数列
Rnがビット抽出器23へ入力される。ビット抽出器2
3では、この乱数列Rnを用いて埋め込み済み画像デー
タx’からビット情報を抽出する。ここで、乱数発生器
22から出力される乱数列Rnは、前述の図1における
乱数発生器13と同じ構成であるため、ビット抽出器2
3が対象とするビット位置も、図1におけるビット置き
換え器15が対象としたビット位置に一致している。よ
って、以上の処理によって抽出されるビット情報、即ち
ビット抽出結果を示す画像データx''は、埋め込み済み
画像データx'が改竄されていない場合には、図1にお
ける、原画像データxに等しいはずである。
The embedded image data x ′ input to the input unit 21 is input to the bit extractor 23. The random number generator 22 to which the random number initial value Iv (primary key information) has been input generates a random number sequence (sub key information) Rn, and the generated random number sequence Rn is input to the bit extractor 23. Bit extractor 2
In step 3, bit information is extracted from the embedded image data x 'using the random number sequence Rn. Here, the random number sequence Rn output from the random number generator 22 has the same configuration as the random number generator 13 in FIG.
The bit position targeted by 3 also matches the bit position targeted by bit replacer 15 in FIG. Therefore, the bit information extracted by the above processing, that is, the image data x ″ indicating the bit extraction result is equal to the original image data x in FIG. 1 when the embedded image data x ′ is not falsified. Should be.

【0037】一方で、埋め込み済み画像データx'が改
竄されている場合には、埋め込みデータrとは、改竄さ
れている位置に関して誤って検出される。ここで、埋め
込み済み画像データx'から検出されたビット抽出結果
に対応する画像が正しいか、或は誤っているかの判断
は、図1において埋め込みデータrとしてどのようなも
のが埋め込まれているかによって方法が違う。
On the other hand, when the embedded image data x 'is falsified, the embedded data r is erroneously detected with respect to the falsified position. Here, whether the image corresponding to the bit extraction result detected from the embedded image data x 'is correct or incorrect depends on what kind of embedded data r is embedded in FIG. The way is different.

【0038】例えば、埋め込みデータrとして、人間の
視覚にとって意味のある内容のものが埋め込まれている
場合には、図2における改竄位置検出器24を用いなく
ても(経路A)人間の視覚によって判断可能である。誤
って検出される場合、どのような改竄が行われたかにも
よるが、確率的には2進符号“1”と“0”が等しい確
率で出現することが予想される。即ち、改竄された箇所
は、人間の目には、白色ノイズに近い性質を持つ画像と
して見えるはずである。
For example, if the embedded data r is embedded with contents that are meaningful to human vision, even if the tampering position detector 24 in FIG. 2 is not used (path A), Can be determined. If erroneously detected, it is expected that the binary codes "1" and "0" will appear with equal probability, depending on the type of tampering performed. That is, the altered portion should be seen by human eyes as an image having a property close to white noise.

【0039】更に、図2において埋め込みデータrが、
ビット抽出器23に入力可能である場合には、この埋め
込みデータrを改竄位置検出器24に入力することによ
り、上述の判断は改竄位置検出器24により行うことが
可能である。これは、図2において、改竄位置検出器2
4を通る経路、即ちBの経路を通る場合である。
Further, in FIG. 2, the embedded data r is
If the data can be input to the bit extractor 23, the embedded data r is input to the tampered position detector 24, so that the above determination can be made by the tampered position detector 24. This is because in FIG.
4, that is, the route B.

【0040】ここで改竄位置検出器24には、埋め込み
データr、及び図2から出力されたビット抽出結果を示
す画像データ(B)が入力される。埋め込みデータr
は、埋め込み画像生成器26で所定の処理が施された後
に、改竄位置検出器24に入力される。この画像生成器
26で施される処理は、図1における埋め込み画像生成
器14で行われた処理と同様の処理でなければならな
い。こうして改竄位置検出器24では、入力された2つ
の画像データの同じ座標位置においてビットを比較し、
等しい場合に“1”を、等しくない場合には“0”を出
力する。これにより、ビット抽出結果画像として改竄位
置では“0”が、一方で改竄されていない位置では
“1”が出力される。このビット抽出結果を示す画像デ
ータcは、アプリケーションが改竄位置を特定するため
にも用いることが可能であるし、更に、人間の目によっ
て改竄位置を特定することも可能である。
Here, the tampered position detector 24 receives the embedded data r and the image data (B) indicating the bit extraction result output from FIG. Embedded data r
Is input to the tampered position detector 24 after a predetermined process is performed by the embedded image generator 26. The processing performed by the image generator 26 must be similar to the processing performed by the embedded image generator 14 in FIG. Thus, the tampered position detector 24 compares the bits at the same coordinate position of the two input image data,
"1" is output when they are equal, and "0" is output when they are not equal. As a result, “0” is output as a bit extraction result image at a tampered position, and “1” is output at a position not tampered. The image data c indicating the bit extraction result can be used by an application to specify a tampering position, and further, it is possible to specify a tampering position by human eyes.

【0041】尚、人間の目によって改竄位置を特定する
場合には、前述の方式よりも、この方式のほうが正確に
微小な改竄を検出することが可能である。
In the case where the tampering position is specified by human eyes, this method can detect minute tampering more accurately than the above-mentioned method.

【0042】更に、埋め込みデータrが白色単色である
場合には、改竄が検出された画素に関しては黒色画素と
することにより、より分かりやすく改竄位置を表現する
ことも可能である。
Further, when the embedded data r is a single color of white, the tampered position can be expressed more easily by making the pixels for which tampering has been detected black pixels.

【0043】[実施の形態2]次に本発明の実施の形態
2について説明する。この実施の形態2では、圧縮され
た画像データに対して前述の実施の形態1を適用するも
のである。前述の実施の形態1では、埋め込みの対象と
なる入力画像データは、1画素当たり所定のビット数
(前述の例では8ビット)を持つ多値画像データであっ
た。これに対し本実施の形態2では、埋め込みの対象と
なる入力画像データは、符号化された画像データであ
る。なお、この符号化された画像データには、JPEG
によって圧縮された画像データも含まれる。以下、本実
施の形態2では、符号化データがJPEGデータである
場合について説明する。
[Second Embodiment] Next, a second embodiment of the present invention will be described. In the second embodiment, the first embodiment is applied to compressed image data. In the first embodiment, the input image data to be embedded is multi-valued image data having a predetermined number of bits per pixel (8 bits in the above example). In contrast, in the second embodiment, the input image data to be embedded is encoded image data. Note that the encoded image data includes JPEG
Also includes image data compressed by. Hereinafter, a case will be described with the second embodiment where the encoded data is JPEG data.

【0044】まず、JPEG符号化について解説をす
る。
First, JPEG encoding will be described.

【0045】図3(a)は、JPEGの符号化手順例を
説明するブロック図である。
FIG. 3A is a block diagram illustrating an example of a JPEG encoding procedure.

【0046】まず、符号化する静止画の画像データを8
×8画素のブロックに分割し、各ブロック毎にDCT
(離散的コサイン変換)を行う(画像変換器301)。
以下、そのDCT(Discreate Cosine Transform)した
ブロックをDCT係数ブロック、DCT係数ブロックの
1係数をDCT係数、1枚の画像のDCT係数ブロック
の集合をDCT係数ブロック群と呼ぶとする。
First, the image data of the still image to be encoded is 8
Divided into × 8 pixel blocks, DCT for each block
(Discrete cosine transform) is performed (image converter 301).
Hereinafter, a block subjected to the DCT (Discreate Cosine Transform) is referred to as a DCT coefficient block, one coefficient of the DCT coefficient block is referred to as a DCT coefficient, and a set of DCT coefficient blocks of one image is referred to as a DCT coefficient block group.

【0047】次に、DCT係数ブロック群を任意の量子
化テーブルを用いて、量子化器302により量子化を行
う。以下、このDCT係数ブロックを量子化したブロッ
クを量子化DCT係数ブロック、1枚の画像の量子化D
CT係数ブロックの集合を量子化DCT係数ブロック群
と呼ぶとする。
Next, the DCT coefficient block group is quantized by the quantizer 302 using an arbitrary quantization table. Hereinafter, a block obtained by quantizing this DCT coefficient block is referred to as a quantized DCT coefficient block,
A set of CT coefficient blocks is called a quantized DCT coefficient block group.

【0048】そして、量子化DCT係数ブロック群をハ
フマン符号化する(エントロピー符号化器303)。こ
のハフマン符号化したデータがJPEGデータになる。
このとき用いるハフマンテーブルは、予め用意していた
テーブルであっても、各画像毎に作成したテーブルであ
ってもよい。
Then, the quantized DCT coefficient block group is Huffman-coded (entropy coder 303). The Huffman-encoded data becomes JPEG data.
The Huffman table used at this time may be a table prepared in advance or a table created for each image.

【0049】JPEGデータは、このハフマン符号化し
たデータと、圧縮時に用いた量子化テーブルとハフマン
テーブルを含む(後述:図4参照)。ここで、量子化D
CT係数ブロックは、各DCT係数ブロックを各々量子
化テーブルによって定められた値で除算することによっ
て得られる。例えば、輝度成分に対する量子化テーブ
ル、或は色差成分に対する量子化テーブルは、8×8の
DCT係数ブロックに対して、それぞれ図5(a)
(b)のように与えられる。
The JPEG data includes the Huffman-encoded data, the quantization table and the Huffman table used at the time of compression (see FIG. 4 described later). Where the quantization D
The CT coefficient block is obtained by dividing each DCT coefficient block by a value determined by a quantization table. For example, a quantization table for a luminance component or a quantization table for a chrominance component is shown in FIG.
(B).

【0050】これらの量子化テーブルは低周波成分によ
り多くのビットを割り当て、高周波成分にはより少ない
ビットを割り当てるようにして、人間の視覚特性を考慮
して構成されている。よって、DCT係数ブロックの値
が「−36」である場合、量子化テーブル値が「18」
であればその量子化DCT係数ブロック値は「−2」で
あり、「99」であればその量子化DCT係数ブロック
値は「0」である。
These quantization tables are configured in such a manner that more bits are allocated to the low-frequency component and fewer bits are allocated to the high-frequency component in consideration of human visual characteristics. Therefore, when the value of the DCT coefficient block is “−36”, the quantization table value is “18”.
If so, the quantized DCT coefficient block value is "-2", and if "99", the quantized DCT coefficient block value is "0".

【0051】また、ハフマン符号化は、量子化DCT係
数をDC係数とAC係数に分けて別々に行われる。DC
係数は1つ前のブロック群のDC係数との差分をDC用
のテーブルを用いて符号化される。
The Huffman coding is performed separately by dividing the quantized DCT coefficients into DC coefficients and AC coefficients. DC
The coefficients are encoded by using a DC table to calculate the difference between the coefficient and the DC coefficient of the immediately preceding block group.

【0052】AC係数は図6のようなジグザグスキャン
順に並び替えて、「0」の係数の連続長(ラン長)と、
「0」以外の係数値を組み合わせたテーブルを用いて符
号化される。
The AC coefficients are rearranged in a zigzag scan order as shown in FIG. 6 to determine the continuous length (run length) of the coefficient “0”,
Encoding is performed using a table in which coefficient values other than “0” are combined.

【0053】次に、このJPEGデータの例を図4に示
す。
Next, an example of the JPEG data is shown in FIG.

【0054】図4は、JPEGのシーケンシャル方式で
圧縮したデータの構成例を示す図である。
FIG. 4 is a diagram showing a configuration example of data compressed by the JPEG sequential method.

【0055】このシーケンシャル方式とは、デーコード
を行うと上から順に鮮明な画像がでてくる方式で、これ
に対して、最初画像全体を不鮮明に表示し、徐々に鮮明
になってくる方式はプログレッシブ方式と呼ばれてい
る。このJPEGデータは、マーカと呼ばれるデータ内
でユニークな2バイトのコードによってフォーマットさ
れている。
The sequential system is a system in which clear images appear in order from the top when decoding is performed. On the other hand, the system in which the entire image is displayed unclear at first, and the system which gradually becomes clear is It is called a progressive system. The JPEG data is formatted by a unique 2-byte code in data called a marker.

【0056】まず最初の「SOI」マーカは、JPEG
データのスタートを表わしている。次の「DQT」マー
カ部は、量子化テーブルの定義を表わしており、圧縮時
に使用した量子化テーブルを「DQT」マーカの後ろに
格納している。次の「SOFO」マーカ部は、DCTを
使ったシーケンシャル方式で圧縮した場合に、「SOF
O」マーカを使用し、このマーカの後ろに、圧縮してあ
る画像のサイズやサンプリング率、コンポーネント数、
コンポーネント毎の量子化テーブルの識別子等の圧縮時
のパラメータが格納される。次の「DHT」マーカ部
は、ハフマンテーブルの定義を表わしており、この「D
HT」マーカの後ろには、圧縮時に使用したハフマンテ
ーブルが格納されている。次の「SOS」マーカ部は、
実際に画像を符号化したハフマン符号を格納している。
ここでのハフマン符号は、DCT係数の直流成分、及び
交流成分において異なる符号化が施されていることに注
意する必要がある。
The first “SOI” marker is a JPEG
Indicates the start of data. The next “DQT” marker portion indicates the definition of the quantization table, and stores the quantization table used at the time of compression after the “DQT” marker. The next “SOFO” marker section indicates “SOF” when compressed by the sequential method using DCT.
Using the "O" marker, the size of the compressed image, sampling rate, number of components,
A parameter at the time of compression such as an identifier of a quantization table for each component is stored. The next “DHT” marker section indicates the definition of the Huffman table.
The Huffman table used at the time of compression is stored after the “HT” marker. The next “SOS” marker part is
The Huffman code which actually encoded the image is stored.
It should be noted that the Huffman code here is differently encoded in the DC component and the AC component of the DCT coefficient.

【0057】JPEGにおいては、DCT係数のうちの
直流成分は、隣り合うDCTブロックの直流成分の差分
値をハフマン符号で表現している。一方、交流成分で
は、差分値は用いず、ブロック内でジグザグスキャンさ
れたシーケンスの零ランレングスと有効係数との組合せ
をハフマン符号で表現している。このハフマン符号と、
有効係数の大きさを最小のビット数で表現した符号の組
合せが符号化データである。以降の説明では、前者に相
当する符号を「GC」、後者に相当する符号を「VC」
と定義する。ここで有効係数とは零でない係数である。
In JPEG, the DC component of the DCT coefficient expresses the difference value between the DC components of adjacent DCT blocks in Huffman code. On the other hand, for the AC component, the combination of the zero run length and the effective coefficient of the sequence zigzag-scanned in the block is represented by a Huffman code without using the difference value. This Huffman code,
A combination of codes expressing the magnitude of the effective coefficient with the minimum number of bits is encoded data. In the following description, the code corresponding to the former is “GC”, and the code corresponding to the latter is “VC”.
Is defined. Here, the effective coefficient is a coefficient that is not zero.

【0058】交流成分のハフマン符号化に関して例を挙
げて説明する。
The Huffman coding of the AC component will be described with an example.

【0059】例えば、交流成分として直流成分のすぐ右
に位置する値「−3」を持つ係数をハフマン符号化する
場合を考える。この場合、図7に示すような表を用いて
係数がグループ化される。即ち、例えば値「−3」の場
合には、グループ番号として「2」が選択される。更
に、零ランレングスは「0」である。これらグループ番
号と零ランレングスの組合せ(0,2)を基に、図8に
示すハフマンテーブルを用いてハフマン符号化される。
For example, consider a case in which a Huffman coding is performed on a coefficient having a value “−3” located immediately to the right of a DC component as an AC component. In this case, the coefficients are grouped using a table as shown in FIG. That is, for example, when the value is “−3”, “2” is selected as the group number. Further, the zero run length is "0". Huffman coding is performed using the Huffman table shown in FIG. 8 based on the combination (0, 2) of these group numbers and zero run length.

【0060】この例の場合には、「GC」としてハフマ
ン符号「01」が選択され記憶される。この後に、「V
C」として「−3」を最小のビット数で表現した「0
0」が続いて記憶される。その結果として、この例にお
ける交流成分「−3」には、「0100」というハフマ
ン符号が選択される。
In the case of this example, the Huffman code "01" is selected and stored as "GC". After this, "V
"0" which represents "-3" with the minimum number of bits as "C"
"0" is subsequently stored. As a result, the Huffman code “0100” is selected for the AC component “−3” in this example.

【0061】そして「SOS」マーカの後に、コンポー
ネント毎のハフマンテーブルへの識別子等の情報が入っ
たヘッダが数バイト続いた後、画像を符号化したハフマ
ン符号が続く。そして最後に、「EOI」マーカにより
符号化された画像データの終了が示されている。
After the "SOS" marker, a header containing information such as an identifier in the Huffman table for each component continues for several bytes, followed by a Huffman code for encoding the image. Finally, the end of the encoded image data is indicated by the “EOI” marker.

【0062】この例ではマーカの順を図4のように示し
たが、実際のデータではこの順番である必要はないし、
またマーカの数が2つ以上の場合もある。
In this example, the order of the markers is shown in FIG. 4, but it is not necessary for the actual data to be in this order.
In some cases, the number of markers is two or more.

【0063】図3(b)は、図3(a)の手順で圧縮し
たJPEGデータの復号化装置の構成例を示したブロッ
ク図である。
FIG. 3B is a block diagram showing a configuration example of a decoding device for JPEG data compressed in the procedure of FIG. 3A.

【0064】この復号化処理では、まずJPEGデータ
内のハフマンテーブルを用いて、ハフマン符号のハフマ
ン復号化を行って、量子化DCT係数ブロック群に復号
する(エントロピー復号器304)。次に逆量子化器3
05を用いて、量子化DCT係数ブロック群を、JPE
Gデータの量子化テーブルを用いて逆量子化し、DCT
係数ブロック群に復号する。そして次に画像逆変換器3
06により、そのブロック群をIDCT(Inverse DC
T:逆DCT)を行って、8×8画素のブロックに戻
し、それを再構成する。このような手順によってJPE
Gデータから復号した画像データを得ることができる。
In this decoding process, first, Huffman decoding of Huffman code is performed by using a Huffman table in JPEG data, and decoded into a group of quantized DCT coefficient blocks (entropy decoder 304). Next, inverse quantizer 3
05, the quantized DCT coefficient block group is
Inverse quantization using a quantization table of G data, DCT
Decode into coefficient block group. And then the image inverse converter 3
06, the block group is assigned to IDCT (Inverse DC
T: inverse DCT) to return to a block of 8 × 8 pixels and reconstruct it. By such a procedure, JPE
Decoded image data can be obtained from the G data.

【0065】図9は、本発明の実施の形態2に係る電子
透かし埋め込み装置の概略構成を示すブロック図であ
る。
FIG. 9 is a block diagram showing a schematic configuration of a digital watermark embedding device according to Embodiment 2 of the present invention.

【0066】図9において、入力部901を介して入力
される入力データ(Code)は、図4のようなデータ形式で
構成されたJPEG符号化データである。また、乱数初
期値Iv、及び乱数発生器905は、前述の実施の形態
1の乱数発生器13と同様のものを用いる。入力された
JPEG符号化データ(Code)は、解析器902におい
て、JPEGの符号化フォーマットに従って解析され
る。ここで解析とは、入力されたビット系列が、JPE
Gの符号化フォーマットに従って、符号化データとして
意味のあるデータとして理解されることである。このう
ち、電子透かしの埋め込みの対象となる交流成分のハフ
マン符号が、DCTブロック毎に置換器903に入力さ
れる。この置換器903は、DCTブロック毎に埋め込
みデータrのビット情報に応じたハフマン符号の置き換
えを行う。ここで、ハフマン符号の置き換えの対象とな
る符号は、できる限りブロックの中で交流成分が望まし
い。
In FIG. 9, input data (Code) input via the input unit 901 is JPEG encoded data having a data format as shown in FIG. The random number initial value Iv and the random number generator 905 are the same as the random number generator 13 of the first embodiment. The input JPEG encoded data (Code) is analyzed by the analyzer 902 according to the JPEG encoding format. Here, the analysis means that the input bit sequence is a JPE
According to the G encoding format, it is understood as meaningful data as encoded data. Among these, the Huffman code of the AC component to be embedded with the digital watermark is input to the replacing unit 903 for each DCT block. The replacement unit 903 replaces a Huffman code according to the bit information of the embedded data r for each DCT block. Here, the code to be replaced with the Huffman code preferably has an AC component in the block as much as possible.

【0067】これは置換器902に入力されたスキャン
データの中で、出来るだけ後ろに位置する符号を対象と
することを意味する。なぜなら、スキャンデータはDC
Tブロックの中でジグザグスキャンされているため、ス
キャンデータの中で後ろに位置するデータほど高域成分
であるからである。
This means that, in the scan data input to the replacement unit 902, a code located as far back as possible is targeted. Because the scan data is DC
This is because the zigzag scan is performed in the T block, and the data located later in the scan data has a higher frequency component.

【0068】次に、選択された符号に対して置き換え処
理を行う方式に関して説明する。
Next, a method of performing a replacement process on a selected code will be described.

【0069】まず、「GC」が置き換えの対象となる場
合を考える(方式1)。
First, consider the case where "GC" is to be replaced (method 1).

【0070】これは前述したように、零ランレングスと
有効係数の組合せによって表現されているものである。
このため、ハフマン符号の置き換えの結果、零ランレン
グスの値が変化してしまうような場合には、復号時に正
しい復号をすることができない。なぜなら、有効係数の
位置を正しく決定することが出来ないからである。これ
を解決する一つの方式として、JPEG符号化の際に、
図8に示すようなハフマンテーブルを用いているような
場合には、この表の横方向の置き換えに限定することが
考えられる。例えば、符号「00」を符号「01」に置
き換えることなどが考えられる。更に、横方向の置き換
えを行った後においては、その後に続く「VC」の変更
が必要である。これは、符号「00」を符号「01」に
置き換えることによって、零ランレングスは変わらない
が、その一方で、グループ番号が変わるからである。こ
れに関しては、置き換える前の符号の表現している値と
の差が最小になるような値を表現する符号を、置き換え
後のグループから選択することよって解決可能である。
As described above, this is expressed by a combination of the zero run length and the effective coefficient.
Therefore, if the value of the zero run length changes as a result of the replacement of the Huffman code, correct decoding cannot be performed at the time of decoding. This is because the position of the effective coefficient cannot be determined correctly. As one method to solve this, in JPEG encoding,
In the case where the Huffman table as shown in FIG. 8 is used, it is conceivable to limit the replacement to the horizontal direction of this table. For example, replacing the code “00” with the code “01” can be considered. Further, after the replacement in the horizontal direction is performed, the subsequent “VC” needs to be changed. This is because replacing the code “00” with the code “01” does not change the zero run length, but changes the group number. This can be solved by selecting a code that represents a value that minimizes the difference between the value represented by the code before replacement and the value represented by the code from the group after replacement.

【0071】本実施の形態における横方向の置き換えに
関しては、例えば、埋め込みデータrのビット情報が
“0”である場合には、最も近い奇数グループ番号へ、
一方で埋め込みデータrのビットが“1”である場合に
は、最も近い偶数グループ番号へ置き換えることが、画
質劣化を最小に抑えるという観点から現実的である。
Regarding the horizontal replacement in the present embodiment, for example, when the bit information of the embedded data r is “0”, the bit number is shifted to the nearest odd group number.
On the other hand, when the bit of the embedded data r is “1”, it is realistic to replace the bit number with the nearest even group number from the viewpoint of minimizing image quality deterioration.

【0072】次に、「VC」が置き換えの対象となる場
合を考える(方式2)。
Next, consider the case where "VC" is to be replaced (method 2).

【0073】これは前述したように、有効係数を最小の
ビット数で表現しているものである。よって「VC」の
場合のように零ランレングスに関しては関連しない。こ
の符号の置き換えに関しては、ビット数が変化しないよ
うな方法であれば、任意の方法が選択可能である。なぜ
なら、ビット数が変化しないような変化であれば、グル
ープ番号は変わることがなく、即ち正しく復号可能であ
るからである。実際の置き換えに関しては、その符号の
あるビット位置のビットを、埋め込み原画像のビットに
置き換えることが考えられる。この時のビット位置は乱
数によって選択可能である。
As described above, the effective coefficient is represented by the minimum number of bits. Therefore, there is no relation regarding the zero run length as in the case of “VC”. Regarding this code replacement, any method can be selected as long as the method does not change the number of bits. This is because if the number of bits does not change, the group number does not change, that is, decoding can be performed correctly. Regarding the actual replacement, it is conceivable to replace the bit at the bit position with the sign with the bit of the embedded original image. The bit position at this time can be selected by a random number.

【0074】以上、述べた方式によってビット置き換え
が行われ、出力部904を介して、JPEGデータが出
力される。
As described above, bit replacement is performed by the method described above, and JPEG data is output via the output unit 904.

【0075】図10は、本実施の形態2に係る電子透か
しの抽出装置の概略構成を示すブロック図である。
FIG. 10 is a block diagram showing a schematic configuration of a digital watermark extracting apparatus according to the second embodiment.

【0076】図10において、入力部1001を介して
入力される入力データxは、図9に示した電子透かし埋
め込み装置により、電子透かしが埋め込まれたJPEG
符号化データxである。また、乱数初期値Iv及び乱数
発生器905に関しては、前述の実施の形態1で説明し
た乱数発生器13と同じものである。ここで、入力され
たJPEG符号化データxは、解析器1002におい
て、JPEGの符号化フォーマットに従って解析され
る。このうち、電子透かしが埋め込まれている交流成分
のハフマン符号が、DCTブロック毎に抽出器1003
に入力される。
In FIG. 10, input data x input via input unit 1001 is converted into a JPEG image in which a digital watermark is embedded by the digital watermark embedding apparatus shown in FIG.
This is encoded data x. The random number initial value Iv and the random number generator 905 are the same as the random number generator 13 described in the first embodiment. Here, the input JPEG encoded data x is analyzed in the analyzer 1002 according to the JPEG encoding format. The Huffman code of the AC component in which the digital watermark is embedded is extracted by the extractor 1003 for each DCT block.
Is input to

【0077】この抽出器1003は、DCTブロック毎
に符号化データxから電子透かしを抽出する。この抽出
器1003は、乱数発生器905から得られる乱数列R
nによって、ブロック中において、どの符号化された係
数に対して電子透かしが埋め込まれているかを特定す
る。次に、この特定された係数を表現している符号か
ら、電子透かしを抽出する。
The extractor 1003 extracts a digital watermark from the encoded data x for each DCT block. This extractor 1003 includes a random number sequence R obtained from a random number generator 905.
With n, which encoded coefficient is embedded in the block with the digital watermark is specified. Next, a digital watermark is extracted from the code representing the specified coefficient.

【0078】「VC」及び「GC」の両方が置き換えの
対象となる場合を考える(方式1に対応)。
Consider a case where both “VC” and “GC” are to be replaced (corresponding to method 1).

【0079】これは、前述したように、「VC」と「G
C」の両方に対して、電子透かしの埋め込みが行われて
おり、その符号が属するグループ番号の奇数/偶数によ
って、ビットを判定することが可能である。
This corresponds to “VC” and “G”, as described above.
The digital watermark is embedded in both of “C” and “C”, and the bit can be determined based on the odd / even group number to which the code belongs.

【0080】入力されたJPEGデータの中で、「HD
T」マーカの後に記憶されているハフマンテーブルを用
いて、選択されたハフマン符号からグループ番号を求
め、これが偶数であった場合ビット“1”を出力し、奇
数であった場合ビット“0”を出力する。
In the input JPEG data, “HD
Using the Huffman table stored after the "T" marker, a group number is obtained from the selected Huffman code, and if this is an even number, a bit "1" is output; if it is an odd number, a bit "0" is output. Output.

【0081】次に、「VC」が置き換えの対象となる場
合を考える(「方式2」に対応)。これは、選択された
符号の中で、乱数Rnにより埋め込みビット位置を特定
し、その特定されたビット位置のビット情報を出力する
ことによって抽出可能である。以上の処理により、電子
透かしを抽出し、出力部1004を介して、ビット抽出
結果を示す画像として出力される。
Next, consider the case where "VC" is to be replaced (corresponding to "method 2"). This can be extracted by specifying the embedded bit position in the selected code using the random number Rn, and outputting the bit information of the specified bit position. Through the above processing, the digital watermark is extracted and output as an image indicating the bit extraction result via the output unit 1004.

【0082】このビット抽出結果画像から、改竄されて
いるかどうかを検証する方式に関しては、前述の実施の
形態1で説明したのと同様の方法を用いることが可能で
ある。
With respect to a method of verifying whether or not tampering has been performed from the bit extraction result image, a method similar to that described in the first embodiment can be used.

【0083】[実施の形態3]次に本発明の実施の形態
3について説明する。この実施の形態3は実施の形態1
或は実施の形態2を、ハッシュ値との組合せによって実
現する方式である。
Third Embodiment Next, a third embodiment of the present invention will be described. This Embodiment 3 is Embodiment 1
Alternatively, this is a method of realizing the second embodiment by a combination with a hash value.

【0084】一般的に、このハッシュ値を用いることに
よりディジタルデータが改竄されているかどうかを検証
することができる。
Generally, it is possible to verify whether digital data has been falsified by using the hash value.

【0085】次に、このハッシュ値について解説する。Next, the hash value will be described.

【0086】ハッシュ値hとは、ハッシュ関数f:x→
hにより求められる長い入力例xの圧縮値である短い出
力hである。また、ハッシュ関数fは一方向性関数であ
り、r(x’)=r(x)を満たす異なる入力x,x’
を求めるのは難しいという性質をもつ。このハッシュ関
数fの代表的なものとしては、MD5(Message Digest
5)、SHA(Secure Hash Algorithm)などがある。この
ハッシュ関数の詳細については、岡本英司著「暗号理論
入門」(共立出版株式会社)に詳しい。
The hash value h is a hash function f: x →
h is a short output h which is the compression value of the long input example x determined by h. Further, the hash function f is a one-way function, and different inputs x, x ′ satisfying r (x ′) = r (x).
Is difficult to find. A typical example of the hash function f is MD5 (Message Digest).
5) and SHA (Secure Hash Algorithm). The details of this hash function are described in "Introduction to Cryptography" by Eiji Okamoto (Kyoritsu Shuppan Co., Ltd.).

【0087】以上、述べたような性質を持つハッシュ値
を用いて、ディジタルデータの改竄検証を行うことが可
能である。
As described above, falsification verification of digital data can be performed using hash values having the above-described properties.

【0088】これは、あるディジタルデータのハッシュ
値hがわかっている場合に、そのデータが改竄されてい
るかどうかを検証するためには、改めてディジタルデー
タのハッシュ値hを算出し、それとわかっているハッシ
ュ値hと比較することによって実現可能である。即ち、
改竄されていない場合は、これらは一致し、改竄されて
いる場合にはこれらは一致しない。
When the hash value h of a certain digital data is known, the hash value h of the digital data is calculated again in order to verify whether the data has been falsified. This can be realized by comparing with the hash value h. That is,
If they have not been tampered with, they match, and if they have been tampered, they do not match.

【0089】以上述べた方式によって、ディジタルデー
タが改竄されているかどうかを検証することが可能であ
る。しかし、この方式に用いるディジタルデータとして
画像データが用いられる場合、あるアプリケーションに
おいては、改竄されていた場合には、画像データのどの
箇所が改竄されているかを知りたい場合も考えられる。
こうした場合、前述の方式では不十分である。なぜな
ら、ハッシュ値hを算出し、比較するといった前述の方
式では、画像データの少なくとも1ビットが改竄されて
いる場合には、ハッシュ値hが一致しないという比較結
果は得られることができるが、その一方で「どこの1ビ
ットが改竄されたか」ということに関しては何ら情報を
得る手段がない。
With the method described above, it is possible to verify whether digital data has been falsified. However, in a case where image data is used as digital data used in this method, in a certain application, if the image data has been tampered with, it may be necessary to know which part of the image data has been tampered with.
In such a case, the above method is not sufficient. This is because, in the above-described method of calculating and comparing the hash value h, when at least one bit of the image data is falsified, a comparison result indicating that the hash values h do not match can be obtained. On the other hand, there is no means for obtaining any information as to “where 1 bit has been tampered with”.

【0090】そこで、本実施の形態3においては、ハッ
シュ値hによる改竄検出と、前述の実施の形態1或は実
施の形態2による改竄検出とを組み合わせる方式を提案
する。
Therefore, in the third embodiment, a method is proposed in which tampering detection based on the hash value h is combined with tampering detection according to the above-described first or second embodiment.

【0091】図11は、本発明の実施の形態3に係る電
子透かしの埋め込み装置の構成を示すブロック図であ
る。
FIG. 11 is a block diagram showing a configuration of a digital watermark embedding device according to Embodiment 3 of the present invention.

【0092】本装置への入力は、原データとして、1画
素当たり所定数のビットを有する多値画像データ或は符
号化データx、及び埋め込みデータr、及び乱数初期値
kである。ここで、入力データxが1画素当たり所定数
のビットを持つ多値画像データの場合は、図11の電子
透かし埋め込み器1101は、前述の実施の形態1で説
明したような方式の装置を用いるべきであり、一方、入
力データxが符号化データの場合には、図11の電子透
かし埋め込み器1101は、前述の実施の形態2で説明
した方式の装置を用いるべきである。
The input to the present apparatus is multi-valued image data or coded data x having a predetermined number of bits per pixel, embedded data r, and random number initial value k as original data. Here, when the input data x is multi-valued image data having a predetermined number of bits per pixel, the digital watermark embedding device 1101 of FIG. 11 uses an apparatus of the system described in the first embodiment. On the other hand, when the input data x is encoded data, the digital watermark embedding device 1101 in FIG. 11 should use the device of the system described in the second embodiment.

【0093】また、埋め込みデータr及び乱数初期値k
は、前述の実施の形態1及び実施の形態2で述ベたもの
と同様のものが考えられる。
The embedded data r and the random number initial value k
May be the same as those described in the first and second embodiments.

【0094】以上述べた様な構成によって、入力された
データxには、電子透かし埋め込み器1101によって
埋め込みデータrが埋め込まれる。ここで、電子透かし
埋め込み器1101から出力されるデータを埋め込み済
みデータx1と呼ぶ。この埋め込み済みデータx1は、演
算器1102及び合成器1103に入力される。演算器
1102では、この埋め込み済みデータx1に対して前
述したハッシュ演算などを施し、その演算結果であるハ
ッシュ値hなどが出力される。また合成器1103に
は、電子透かし埋め込み器1101からの出力である埋
め込み済みデータx1及び演算器1102からの出力で
ある埋め込み済みデータx1のハッシュ値hが入力さ
れ、これらが合成される。この合成には、ハッシュ値h
を、入力データxの形式に対応した付加的な情報が記述
可能な箇所へ書き込むことなどが考えられる。例えば、
入力データxがJPEG符号化データである場合には、
その埋め込み済みデータx1もJPEG符号化データと
なる。この場合には、JPEG符号において、COMが
コメントのためのマーカとして定義されているために、
M_COMの後にハッシュ値hを記述することが可能であ
る。
With the configuration as described above, the embedded data r is embedded in the input data x by the digital watermark embedding unit 1101. Here, the data output from the digital watermark embedding device 1101 is referred to as embedded data x1. The embedded data x1 is input to the arithmetic unit 1102 and the synthesizer 1103. The arithmetic unit 1102 performs the above-described hash operation or the like on the embedded data x1, and outputs a hash value h or the like as the operation result. Also, the hash value h of the embedded data x1 output from the digital watermark embedding unit 1101 and the embedded data x1 output from the arithmetic unit 1102 is input to the synthesizer 1103, and these are synthesized. In this synthesis, the hash value h
May be written to a location where additional information corresponding to the format of the input data x can be described. For example,
If the input data x is JPEG encoded data,
The embedded data x1 is also JPEG encoded data. In this case, since COM is defined as a marker for a comment in the JPEG code,
A hash value h can be described after M_COM.

【0095】また同様に、入力データxが1画素当たり
所定数のビットを持つ多値画像データである場合にも、
それが用いている画像フォーマットにおいて、付加的な
情報を記述可能な箇所へ書き込むことが考えられる。例
えば、入力データxがPBMフォーマットである場合、
記号「#」の後に続く改行コードまでのデータは、コメ
ントであるとみなされるため、この領域にハッシュ値h
を記載することができる。
Similarly, when the input data x is multi-valued image data having a predetermined number of bits per pixel,
It is conceivable to write additional information in a place where additional information can be described in the image format used by it. For example, if the input data x is in the PBM format,
Since the data up to the line feed code following the symbol “#” is regarded as a comment, the hash value h is stored in this area.
Can be described.

【0096】更に、入力データxがFlashPixファイル・
フォーマットの場合では、ハッシュ値hを属性情報とし
てプロパティセットの中に格納しておくこともできる。
Further, if the input data x is a FlashPix file
In the case of the format, the hash value h can be stored in the property set as attribute information.

【0097】以上のように、合成器1103からはハッ
シュ値hと埋め込み済みデータx1とが合成されたデー
タx’が出力される。
As described above, the combiner 1103 outputs the data x 'in which the hash value h and the embedded data x1 are combined.

【0098】以下では、この合成器1103からの出力
をハッシュ値hを含む埋め込み済みデータx’と呼ぶ。
Hereinafter, the output from the synthesizer 1103 will be referred to as embedded data x 'including the hash value h.

【0099】次に図12は、本実施の形態3に係る改竄
検出装置の構成を示すブロック図である。
FIG. 12 is a block diagram showing a configuration of a tampering detection device according to the third embodiment.

【0100】本装置への入力は、図11に示した電子透
かし埋め込み装置から出力されたハッシュ値hを含む埋
め込み済みデータx’及び乱数初期値kである。この乱
数初期値kは、図11に示す装置において入力されたも
のと等しい値である場合、正常に電子透かしを抽出する
ことが可能である。この入力されたハッシュ値hを含む
埋め込み済みデータx’は解析器1201へ入力され
る。この解析器1201では、入力された画像フォーマ
ットに応じた解析が行われ、ハッシュ値hと埋め込み済
みデータx1を出力する。このうち埋め込み済みデータ
x1は、演算器1202及び切替え器1204に入力さ
れる。演算器1202では、図11の演算器1202と
同様の演算を実行し、その出力として埋め込み済みデー
タx1のハッシュ値h’が出力される。こうして演算器
1202からの出力である埋め込み済みデータx1のハ
ッシュ値h’と、解析器1201から出力されたハッシ
ュ値hとが比較器1203に入力される。そして、この
比較器1203において、入力された二つのハッシュ値
が等しいかどうかを比較し、その比較結果yを出力す
る。例えば、二つのハッシュ値が等しい場合には制御信
号y=“0”、二つの値が等しくない場合には制御信号
y=“1”を出力する。この制御信号yにより、図12
の装置に入力されたデータx’が改竄されているかどう
かを検証することができる。
The inputs to this device are the embedded data x 'including the hash value h and the random number initial value k output from the digital watermark embedding device shown in FIG. If the random number initial value k is equal to the value input in the device shown in FIG. 11, it is possible to normally extract a digital watermark. The embedded data x ′ including the input hash value h is input to the analyzer 1201. The analyzer 1201 performs an analysis according to the input image format, and outputs a hash value h and embedded data x1. Among them, the embedded data x1 is input to the arithmetic unit 1202 and the switching unit 1204. The arithmetic unit 1202 performs the same operation as the arithmetic unit 1202 in FIG. 11, and outputs the hash value h ′ of the embedded data x1 as its output. In this way, the hash value h ′ of the embedded data x1 output from the arithmetic unit 1202 and the hash value h output from the analyzer 1201 are input to the comparator 1203. Then, the comparator 1203 compares whether or not the two input hash values are equal, and outputs a comparison result y. For example, when the two hash values are equal, the control signal y = "0" is output, and when the two hash values are not equal, the control signal y = "1" is output. By this control signal y, FIG.
It is possible to verify whether the data x ′ input to the device is falsified.

【0101】更に、比較器1203から出力された制御
信号yは、切替え器1204へ入力されても良い。この
切替え器1204では、解析器1201から出力された
埋め込み済みデータx1を電子透かし抽出器1205へ
入力し、処理を続行するかどうかを決定する。即ち、こ
の切替え器1204は、比較器1203から出力された
制御信号yが“1”である場合には、埋め込み済みデー
タx1を電子透かし抽出器1205に入力させ、制御信
号yが“0”である場合(一致する場合)には、埋め込
み済みデータx1を電子透かし抽出器1205へ入力さ
せずに処理を終了するように動作している。
Further, the control signal y output from the comparator 1203 may be input to the switch 1204. The switch 1204 inputs the embedded data x1 output from the analyzer 1201 to the digital watermark extractor 1205, and determines whether to continue the processing. That is, when the control signal y output from the comparator 1203 is “1”, the switch 1204 inputs the embedded data x1 to the digital watermark extractor 1205, and the control signal y is “0”. In a certain case (when they match), an operation is performed to terminate the processing without inputting the embedded data x1 to the digital watermark extractor 1205.

【0102】これにより、入力されたデータが改竄され
ていた場合には、電子透かしの抽出を行い、入力データ
が改竄されていない場合には、処理を終了することが可
能である。
As a result, if the input data has been tampered with, the digital watermark is extracted, and if the input data has not been tampered, the processing can be terminated.

【0103】また切替え器1204から出力された制御
信号yが“1”である場合(一致しない場合)、即ち、
埋め込み済み画像が改竄されていた場合には、埋め込み
済み画像は電子透かし抽出器1205に入力される。電
子透かし抽出器1205へ入力された埋め込み済み画像
からは、乱数初期値kを用いて、埋め込まれている電子
透かしが出力される。この電子透かし抽出器1205の
動作は、前記実施の形態1及び実施の形態2において述
べた動作と同様の動作であり、改竄位置を特定すること
が可能なビット抽出結果画像が出力される以上述べた処
理によって、入力されたデータが改竄されているかどう
かを検証し、改竄されている場合には、画像上のどの箇
所が改竄されていたかを特定することができる。
When the control signal y output from the switch 1204 is "1" (when they do not match),
If the embedded image has been tampered with, the embedded image is input to the digital watermark extractor 1205. From the embedded image input to the electronic watermark extractor 1205, an embedded electronic watermark is output using a random number initial value k. The operation of the digital watermark extractor 1205 is the same as the operation described in the first and second embodiments, and a bit extraction result image capable of specifying a tampering position is output. By performing the above-described processing, it is possible to verify whether or not the input data has been tampered with. If the data has been tampered with, it is possible to specify which part of the image has been tampered with.

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

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

【0106】この様なプログラムコードを格納する記憶
媒体としては、例えばフロッピーディスク,ハードディ
スク,光ディスク,光磁気ディスク,CD−ROM,磁
気テープ,不揮発性のメモリカード,ROM等を用いる
ことができる。
As a storage medium for storing such a program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, magnetic tape, nonvolatile memory card, ROM, etc. can be used.

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

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

【0109】以上説明したように本実施の形態によれ
ば、画像全体に弱く透かし情報を埋め込むことによっ
て、改竄位置検出機能を有することを特徴とする電子透
かしの埋め込み方法が可能となる。
As described above, according to the present embodiment, by embedding the watermark information weakly in the entire image, a method of embedding a digital watermark characterized by having a falsification position detection function becomes possible.

【0110】[0110]

【発明の効果】以上説明したように本発明によれば、デ
ータに対して人為的な改竄がなされた場合に、その改竄
位置を確実に検出できるという効果がある。
As described above, according to the present invention, when data is tampered with artificially, the tampered position can be reliably detected.

【0111】また本発明によれば、入力された原画像デ
ータの画素位置を指示し、主鍵情報に基づいて、その指
示された画素位置の特定の部分を書き換えることによ
り、入力した画像データに所定のデータを埋め込むこと
ができる。
Further, according to the present invention, the pixel position of the input original image data is designated, and a specific portion of the designated pixel position is rewritten based on the primary key information, so that the input image data has a predetermined value. Data can be embedded.

【0112】また本発明によれば、このような所定のデ
ータが埋め込まれたデータに対してなされた改竄処理を
検知し、その改竄位置をも検知できるという効果があ
る。
Further, according to the present invention, there is an effect that it is possible to detect a falsification process performed on data in which such predetermined data is embedded, and to detect the falsification position.

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

【図1】本発明の実施の形態1に係る電子透かし埋め込
み装置の概要を説明するブロック図である。
FIG. 1 is a block diagram illustrating an outline of a digital watermark embedding device according to a first embodiment of the present invention.

【図2】本実施の形態1に係る電子透かし抽出装置の概
要を説明するブロック図である。
FIG. 2 is a block diagram illustrating an outline of a digital watermark extraction device according to the first embodiment.

【図3】JPEG方式の概要を説明する図である。FIG. 3 is a diagram illustrating an outline of a JPEG system.

【図4】JPEGによって符号化されたデータのフォー
マットを説明する図である。
FIG. 4 is a diagram illustrating a format of data encoded by JPEG.

【図5】JPEGにおいて用いられる量子化テーブルの
例を説明する図である。
FIG. 5 is a diagram illustrating an example of a quantization table used in JPEG.

【図6】JPEGにおいて用いられるジグザグスキャン
を説明する図である。
FIG. 6 is a diagram illustrating a zigzag scan used in JPEG.

【図7】JPEGにおいて用いられる交流成分のグルー
プ分けのための例を説明する図である。
FIG. 7 is a diagram illustrating an example for grouping AC components used in JPEG.

【図8】JPEGにおいて用いられる交流成分のハフマ
ンテーブルの例を説明する図である。
FIG. 8 is a diagram illustrating an example of a Huffman table of an AC component used in JPEG.

【図9】本発明の実施の形態2に係る電子透かし埋め込
み装置の概要を説明するブロック図である。
FIG. 9 is a block diagram illustrating an outline of a digital watermark embedding device according to a second embodiment of the present invention.

【図10】本実施の形態2に係る電子透かし抽出装置の
概要を説明するブロック図である。
FIG. 10 is a block diagram illustrating an outline of a digital watermark extraction device according to a second embodiment.

【図11】本発明の実施の形態3に係る電子透かし埋め
込み装置の概要を説明するブロック図である。
FIG. 11 is a block diagram illustrating an outline of a digital watermark embedding device according to a third embodiment of the present invention.

【図12】本実施の形態3に係る電子透かし抽出装置の
概要を説明するブロック図である。
FIG. 12 is a block diagram illustrating an outline of a digital watermark extraction device according to a third embodiment.

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B017 AA06 BA05 BA07 BB03 CA08 CA09 CA16 5B057 CA02 CA08 CA12 CA16 CB02 CB06 CB08 CB12 CB16 CB19 CC03 CE08 CE09 CG07 CH08 CH20 DA07 DA17 5C076 AA14 AA40 BA06 CA10  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B017 AA06 BA05 BA07 BB03 CA08 CA09 CA16 5B057 CA02 CA08 CA12 CA16 CB02 CB06 CB08 CB12 CB16 CB19 CC03 CE08 CE09 CG07 CH08 CH20 DA07 DA17 5C076 AA14 AA40 BA06 CA10

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 画像データに別のデータを埋め込む画像
位置を指示する画像位置情報を入力する入力手段と、 主鍵情報に基づいて乱数的に副鍵情報を生成する乱数生
成手段と、 前記画像位置情報に基づいて決定される画像データの画
像位置の画素データを前記副鍵情報に基づいて変更する
画素変更手段と、を有することを特徴とする画像処理装
置。
An input unit for inputting image position information indicating an image position in which another data is to be embedded in the image data; a random number generating unit for generating sub-key information on a random basis based on the main key information; An image processing apparatus comprising: a pixel changing unit that changes pixel data at an image position of image data determined based on information based on the sub-key information.
【請求項2】 画像データに別のデータを埋め込む画像
位置を指示する画像位置情報に基づいて決定される画像
データの画像位置の画素データを、主鍵情報に基づいて
乱数的に生成された副鍵情報に基づいて変更することに
より得られた埋め込み済み画像データを入力する入力手
段と、 前記主鍵情報を入力して前記副鍵情報を生成する鍵情報
生成手段と、 前記副鍵情報に基づいて前記埋め込み済み画像データの
画素データを抽出する抽出手段と、 前記抽出手段により抽出された前記画素データと前記鍵
情報生成手段により生成された前記副鍵情報に基づく画
素位置の画素データとを比較する比較手段とを有し、 前記比較手段による比較結果に応じて前記埋め込み済み
画像データの改竄位置を検出することを特徴とする画像
処理装置。
2. A method according to claim 1, wherein pixel data at an image position of the image data determined based on image position information indicating an image position at which another data is embedded in the image data is randomly generated based on the main key information. Input means for inputting embedded image data obtained by changing based on information, key information generating means for inputting the main key information and generating the sub-key information, and Extracting means for extracting pixel data of the embedded image data; and comparing the pixel data extracted by the extracting means with pixel data at a pixel position based on the sub-key information generated by the key information generating means. Means for detecting a tampering position of the embedded image data according to a comparison result by the comparing means.
【請求項3】 前記画像データは多値画像データであっ
て、前記副鍵情報は前記多値画像データの画素データの
ビット位置を指示する情報であることを特徴とする請求
項1又は2に記載の画像処理装置。
3. The method according to claim 1, wherein the image data is multi-valued image data, and the sub-key information is information indicating a bit position of pixel data of the multi-valued image data. The image processing apparatus according to any one of the preceding claims.
【請求項4】 前記画像データは符号化データであり、
前記符号化データを解析する解析手段と、 前記解析手段による解析に基づいて前記符号化データの
符号を置き換える置換手段と、を更に有することを特徴
とする請求項1に記載の画像処理装置。
4. The image data is coded data,
The image processing apparatus according to claim 1, further comprising: an analyzing unit configured to analyze the encoded data; and a replacing unit configured to replace a code of the encoded data based on the analysis performed by the analyzing unit.
【請求項5】 前記符号化データが、入力系列において
非零の係数から次の非零の係数までの係数の個数と、前
記次の非零の係数の値の組合せをハフマン符号化した符
号化データである場合、 前記置換手段は、前記非零の係数から次の係数までの係
数の個数に対応するハフマン符号を前記非零の係数から
前記次の非零の係数までの個数が変化しないように置き
換えることを特徴とする請求項4に記載の画像処理装
置。
5. An encoding method wherein the encoded data is a Huffman-encoded combination of the number of coefficients from a non-zero coefficient to the next non-zero coefficient in the input sequence and the value of the next non-zero coefficient. If the data is data, the replacement means performs the Huffman code corresponding to the number of coefficients from the non-zero coefficient to the next coefficient so that the number of the Huffman code from the non-zero coefficient to the next non-zero coefficient does not change. The image processing apparatus according to claim 4, wherein the image processing apparatus is replaced with:
【請求項6】 前記符号化データが、入力系列において
非零の係数から次の非零の係数までの係数の個数と、前
記次の非零の係数の値の組合せをハフマン符号化した符
号化データである場合、 前記置換手段は、前記次の係数の値に対応するハフマン
符号を置き換えることを特徴とする請求項4に記載の画
像処理装置。
6. An encoding wherein the encoded data is a Huffman-encoded combination of the number of coefficients from a non-zero coefficient to the next non-zero coefficient in the input sequence and the value of the next non-zero coefficient. The image processing apparatus according to claim 4, wherein when the data is data, the replacement unit replaces a Huffman code corresponding to the value of the next coefficient.
【請求項7】 前記別のデータが電子透かしを含むこと
を特徴とする請求項1に記載の画像処理装置。
7. The image processing apparatus according to claim 1, wherein the another data includes a digital watermark.
【請求項8】 埋め込みデータに従って入力画像データ
の位置を特定する位置特定手段と、 主鍵情報から副鍵情報を乱数的に生成する鍵情報生成手
段と、 前記位置特定手段により特定された位置の画素情報を前
記副鍵情報に基づいて別のデータに置き換える置換手段
と、 前記置換手段により前記別のデータに置き換えられたデ
ータに対して演算を行う演算手段と、 前記別のデータに置き換えられたデータと前記演算手段
による演算結果とを合成して出力する合成手段と、を有
することを特徴とする画像処理装置。
8. A position specifying unit for specifying a position of input image data according to embedded data, a key information generating unit for generating sub-key information from the main key information in a random manner, and a pixel at a position specified by the position specifying unit. Replacing means for replacing information with another data based on the sub-key information; calculating means for performing an operation on the data replaced with the different data by the replacing means; data replaced with the different data An image processing apparatus comprising: a synthesizing unit configured to synthesize and output a calculation result obtained by the calculation unit.
【請求項9】 埋め込みデータに従って入力画像データ
の位置を特定された位置の画素情報を、主鍵情報から乱
数的に生成された副鍵情報に基づいて別のデータに置き
換え、前記別のデータに置き換えられたデータに対して
実行された演算の結果とを合成して得られたデータを入
力する入力手段と、 前記入力手段により入力されたデータを解析して前記デ
ータと前記演算の結果を抽出する解析手段と、 前記解析手段により抽出された前記データを演算する演
算手段と、 前記解析手段により抽出された前記演算の結果と前記演
算手段による演算結果とを比較する比較手段と、を有す
ることを特徴とする画像処理装置。
9. The pixel information at the position where the position of the input image data is specified according to the embedded data is replaced with another data based on sub-key information generated at random from the main key information and replaced with the another data. Input means for inputting data obtained by synthesizing the obtained data with the result of the operation executed, and analyzing the data input by the input means to extract the data and the result of the operation Analyzing means, calculating means for calculating the data extracted by the analyzing means, and comparing means for comparing a result of the calculation extracted by the analyzing means with a calculation result by the calculating means. Characteristic image processing device.
【請求項10】 前記入力画像データは符号化データで
あり、 前記符号化データを解析する解析手段と、 前記符号化データの符号の位置を乱数的に選択し、前記
選択された符号の位置のビットを抽出する手段を更に有
することを特徴とする請求項8に記載の画像処理装置。
10. The input image data is coded data, an analyzing means for analyzing the coded data, a code position of the coded data is selected on a random basis, and a position of the selected code position is selected. 9. The image processing apparatus according to claim 8, further comprising: means for extracting bits.
【請求項11】 前記演算手段による演算はハッシュ値
を算出する演算であることを特徴とする請求項8又は9
に記載の画像処理装置。
11. The operation according to claim 8, wherein the operation by said operation means is an operation for calculating a hash value.
An image processing apparatus according to claim 1.
【請求項12】 画像データに別のデータを埋め込む画
像位置を指示する画像位置情報を入力する入力工程と、 主鍵情報に基づいて乱数的に副鍵情報を生成する乱数生
成工程と、 前記画像位置情報に基づいて決定される画像データの画
像位置の画素データを前記副鍵情報に基づいて変更する
画素変更工程と、を有することを特徴とする画像処理方
法。
12. An input step of inputting image position information indicating an image position at which another data is embedded in image data; a random number generating step of generating sub-key information on a random basis based on main key information; A pixel changing step of changing pixel data at an image position of image data determined based on information based on the sub-key information.
【請求項13】 画像データに別のデータを埋め込む画
像位置を指示する画像位置情報に基づいて決定される画
像データの画像位置の画素データを、主鍵情報に基づい
て乱数的に生成された副鍵情報に基づいて変更すること
により得られた埋め込み済み画像データを入力する入力
工程と、 前記主鍵情報を入力して前記副鍵情報を生成する鍵情報
生成工程と、 前記副鍵情報に基づいて前記埋め込み済み画像データの
画素データを抽出する抽出工程と、 前記抽出工程で抽出された前記画素データと前記鍵情報
生成工程で生成された前記副鍵情報に基づく画素位置の
画素データとを比較する比較工程とを有し、 前記比較工程による比較結果に応じて前記埋め込み済み
画像データの改竄位置を検出することを特徴とする画像
処理方法。
13. A sub-key randomly generated based on primary key information, based on pixel data of an image position of image data determined based on image position information indicating an image position in which another data is to be embedded in the image data. An input step of inputting embedded image data obtained by making a change based on information, a key information generating step of inputting the main key information and generating the sub key information, and An extracting step of extracting pixel data of the embedded image data; and comparing the pixel data extracted in the extracting step with pixel data of a pixel position based on the sub-key information generated in the key information generating step. And a detecting step of detecting a tampering position of the embedded image data according to a result of the comparison in the comparing step.
【請求項14】 前記画像データは多値画像データであ
って、前記副鍵情報は前記多値画像データの画素データ
のビット位置を指示する情報であることを特徴とする請
求項12又は13に記載の画像処理方法。
14. The apparatus according to claim 12, wherein the image data is multi-valued image data, and the sub-key information is information indicating a bit position of pixel data of the multi-valued image data. The image processing method described in the above.
【請求項15】 前記画像データは符号化データであ
り、前記符号化データを解析する解析工程と、 前記解析工程における解析に基づいて前記符号化データ
の符号を置き換える置換工程と、を更に有することを特
徴とする請求項12に記載の画像処理方法。
15. The image data is encoded data, further comprising: an analyzing step of analyzing the encoded data; and a replacing step of replacing a code of the encoded data based on the analysis in the analyzing step. The image processing method according to claim 12, wherein:
【請求項16】 前記符号化データが、入力系列におい
て非零の係数から次の非零の係数までの係数の個数と、
前記次の非零の係数の値の組合せをハフマン符号化した
符号化データである場合、 前記置換工程では、前記非零の係数から次の係数までの
係数の個数に対応するハフマン符号を前記非零の係数か
ら前記次の非零の係数までの個数が変化しないように置
き換えることを特徴とする請求項15に記載の画像処理
方法。
16. The encoded data comprises: a number of coefficients from a non-zero coefficient to a next non-zero coefficient in an input sequence;
If the next non-zero coefficient value combination is Huffman-encoded data, in the replacing step, the Huffman code corresponding to the number of coefficients from the non-zero coefficient to the next coefficient is converted to the non-Huffman code. 16. The image processing method according to claim 15, wherein replacement is performed such that the number from a zero coefficient to the next non-zero coefficient does not change.
【請求項17】 前記符号化データが、入力系列におい
て非零の係数から次の非零の係数までの係数の個数と、
前記次の非零の係数の値の組合せをハフマン符号化した
符号化データである場合、 前記置換工程では、前記次の係数の値に対応するハフマ
ン符号を置き換えることを特徴とする請求項15に記載
の画像処理方法。
17. The method according to claim 17, wherein the encoded data includes: a number of coefficients from a non-zero coefficient to a next non-zero coefficient in an input sequence;
In the case where the next non-zero coefficient value combination is Huffman-encoded data, in the replacement step, the Huffman code corresponding to the next coefficient value is replaced. The image processing method described in the above.
【請求項18】 前記別のデータが電子透かしを含むこ
とを特徴とする請求項12に記載の画像処理方法。
18. The image processing method according to claim 12, wherein the another data includes a digital watermark.
【請求項19】 埋め込みデータに従って入力画像デー
タの位置を特定する位置特定工程と、 主鍵情報から副鍵情報を乱数的に生成する鍵情報生成工
程と、 前記位置特定工程で特定された位置の画素情報を前記副
鍵情報に基づいて別のデータに置き換える置換工程と、 前記置換工程で前記別のデータに置き換えられたデータ
に対して演算を行う演算工程と、 前記別のデータに置き換えられたデータと前記演算手段
による演算結果とを合成して出力する合成工程と、を有
することを特徴とする画像処理方法。
19. A position specifying step of specifying a position of input image data according to embedded data; a key information generating step of generating sub-key information from main key information in a random manner; and a pixel at a position specified in the position specifying step. A replacement step of replacing information with another data based on the sub-key information; an operation step of performing an operation on the data replaced by the different data in the replacement step; and the data replaced by the different data. And a combining step of combining and outputting the result of the calculation by the calculating means.
【請求項20】 埋め込みデータに従って入力画像デー
タの位置を特定された位置の画素情報を、主鍵情報から
乱数的に生成された副鍵情報に基づいて別のデータに置
き換え、前記別のデータに置き換えられたデータに対し
て実行された演算の結果とを合成して得られたデータを
入力する入力工程と、 前記入力工程で入力されたデータを解析して前記データ
と前記演算の結果を抽出する解析工程と、 前記解析工程で抽出された前記データを演算する演算工
程と、 前記解析工程で抽出された前記演算の結果と前記演算工
程による演算結果とを比較する比較工程と、を有するこ
とを特徴とする画像処理方法。
20. The pixel information at the position where the position of the input image data is specified according to the embedded data is replaced with another data based on the sub-key information generated randomly from the main key information, and replaced with the another data. An input step of inputting data obtained by synthesizing a result of the operation performed on the obtained data, and extracting the data and the result of the operation by analyzing the data input in the input step An analysis step, an operation step of operating the data extracted in the analysis step, and a comparison step of comparing a result of the operation extracted in the analysis step with an operation result of the operation step. Characteristic image processing method.
【請求項21】 前記入力画像データは符号化データで
あり、 前記符号化データを解析する解析工程と、 前記符号化データの符号の位置を乱数的に選択し、前記
選択された符号の位置のビットを抽出する工程を更に有
することを特徴とする請求項19に記載の画像処理方
法。
21. The input image data is coded data, wherein: an analysis step of analyzing the coded data; and randomly selecting a code position of the coded data; The image processing method according to claim 19, further comprising a step of extracting bits.
【請求項22】 前記演算工程における演算はハッシュ
値を算出する演算であることを特徴とする請求項19又
は20に記載の画像処理方法。
22. The image processing method according to claim 19, wherein the operation in the operation step is an operation for calculating a hash value.
【請求項23】 コンピュータにより読取り可能な記憶
媒体であって、 画像データに別のデータを埋め込む画像位置を指示する
画像位置情報を入力する入力工程モジュールと、 主鍵情報に基づいて乱数的に副鍵情報を生成する乱数生
成工程モジュールと、 前記画像位置情報に基づいて決定される画像データの画
像位置の画素データを前記副鍵情報に基づいて変更する
画素変更工程モジュールと、を有することを特徴とする
記憶媒体。
23. A storage medium readable by a computer, comprising: an input step module for inputting image position information indicating an image position in which another data is to be embedded in image data; A random number generation step module that generates information, and a pixel change step module that changes pixel data of an image position of image data determined based on the image position information based on the sub-key information. Storage media.
【請求項24】 画像データに別のデータを埋め込む画
像位置を指示する画像位置情報に基づいて決定される画
像データの画像位置の画素データを、主鍵情報に基づい
て乱数的に生成された副鍵情報に基づいて変更すること
により得られた埋め込み済み画像データを入力する入力
工程モジュールと、 前記主鍵情報を入力して前記副鍵情報を生成する鍵情報
生成工程モジュールと、 前記副鍵情報に基づいて前記埋め込み済み画像データの
画素データを抽出する抽出工程モジュールと、 前記抽出工程で抽出された前記画素データと前記鍵情報
生成工程で生成された前記副鍵情報に基づく画素位置の
画素データとを比較する比較工程モジュールとを有する
ことを特徴とする記憶媒体。
24. A sub-key randomly generated based on main key information, based on pixel data of an image position of image data determined based on image position information indicating an image position at which another data is embedded in the image data. An input step module for inputting embedded image data obtained by changing based on information, a key information generation step module for inputting the main key information and generating the sub key information, and based on the sub key information. An extraction step module for extracting the pixel data of the embedded image data, and the pixel data extracted in the extraction step and the pixel data of the pixel position based on the sub key information generated in the key information generation step. A storage medium comprising: a comparison step module for comparing.
【請求項25】 埋め込みデータに従って入力画像デー
タの位置を特定する位置特定工程モジュールと、 主鍵情報から副鍵情報を乱数的に生成する鍵情報生成工
程モジュールと、 前記位置特定工程で特定された位置の画素情報を前記副
鍵情報に基づいて別のデータに置き換える置換工程モジ
ュールと、 前記置換工程で前記別のデータに置き換えられたデータ
に対して演算を行う演算工程モジュールと、 前記別のデータに置き換えられたデータと前記演算手段
による演算結果とを合成して出力する合成工程モジュー
ルと、を有することを特徴とする記憶媒体。
25. A position specifying step module for specifying a position of input image data according to embedded data, a key information generating step module for randomly generating sub-key information from main key information, and a position specified in the position specifying step. A replacement step module that replaces the pixel information with another data based on the sub-key information; an operation step module that performs an operation on the data replaced with the different data in the replacement step; A storage medium, comprising: a synthesis step module that synthesizes and outputs the replaced data and an operation result obtained by the operation means.
【請求項26】 埋め込みデータに従って入力画像デー
タの位置を特定された位置の画素情報を、主鍵情報から
乱数的に生成された副鍵情報に基づいて別のデータに置
き換え、前記別のデータに置き換えられたデータに対し
て実行された演算の結果とを合成して得られたデータを
入力する入力工程モジュールと、 前記入力工程で入力されたデータを解析して前記データ
と前記演算の結果を抽出する解析工程モジュールと、 前記解析工程で抽出された前記データを演算する演算工
程モジュールと、 前記解析工程で抽出された前記演算の結果と前記演算工
程による演算結果とを比較する比較工程モジュールと、
を有することを特徴とする記憶媒体。
26. The pixel information at the position where the position of the input image data is specified according to the embedded data is replaced with another data based on the sub-key information randomly generated from the main key information, and replaced with the another data. An input step module for inputting data obtained by combining the result of the operation performed on the input data, and extracting the data and the result of the operation by analyzing the data input in the input step An analysis step module that calculates the data extracted in the analysis step; a comparison step module that compares the result of the calculation extracted in the analysis step with the calculation result in the calculation step;
A storage medium characterized by having:
JP19333299A 1999-07-07 1999-07-07 Image processing method and apparatus, and storage medium Expired - Fee Related JP3805141B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19333299A JP3805141B2 (en) 1999-07-07 1999-07-07 Image processing method and apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19333299A JP3805141B2 (en) 1999-07-07 1999-07-07 Image processing method and apparatus, and storage medium

Publications (2)

Publication Number Publication Date
JP2001024876A true JP2001024876A (en) 2001-01-26
JP3805141B2 JP3805141B2 (en) 2006-08-02

Family

ID=16306140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19333299A Expired - Fee Related JP3805141B2 (en) 1999-07-07 1999-07-07 Image processing method and apparatus, and storage medium

Country Status (1)

Country Link
JP (1) JP3805141B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004520751A (en) * 2001-04-13 2004-07-08 マークエニー・インコーポレイテッド Digital watermark embedding and detection method and digital watermark embedding / detection apparatus using the same
US6885756B2 (en) 2001-02-01 2005-04-26 Matsushita Electric Industrial Co., Ltd. Apparatus and method for embedding watermark information in compressed image data, and apparatus and method for retrieving watermark information from compressed image data having watermark information embedded therein
JP2006115501A (en) * 2004-10-13 2006-04-27 Microsoft Corp Secure image authentication by discrete level tamper localization
US7072488B2 (en) 2001-07-11 2006-07-04 Canon Kabushiki Kaisha Data processing method and apparatus
JP2007528017A (en) * 2003-07-11 2007-10-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Digital watermark embedding and detection
US7310429B2 (en) 2002-10-30 2007-12-18 Japan Science And Technology Agency Unauthorized-alteration detecting method, unauthorized-alteration detecting program, and recording medium having recorded the program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885756B2 (en) 2001-02-01 2005-04-26 Matsushita Electric Industrial Co., Ltd. Apparatus and method for embedding watermark information in compressed image data, and apparatus and method for retrieving watermark information from compressed image data having watermark information embedded therein
JP2004520751A (en) * 2001-04-13 2004-07-08 マークエニー・インコーポレイテッド Digital watermark embedding and detection method and digital watermark embedding / detection apparatus using the same
US7072488B2 (en) 2001-07-11 2006-07-04 Canon Kabushiki Kaisha Data processing method and apparatus
US7181043B2 (en) 2001-07-11 2007-02-20 Canon Kabushiki Kaisha Data processing method and apparatus
US7310429B2 (en) 2002-10-30 2007-12-18 Japan Science And Technology Agency Unauthorized-alteration detecting method, unauthorized-alteration detecting program, and recording medium having recorded the program
JP2007528017A (en) * 2003-07-11 2007-10-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Digital watermark embedding and detection
JP2006115501A (en) * 2004-10-13 2006-04-27 Microsoft Corp Secure image authentication by discrete level tamper localization

Also Published As

Publication number Publication date
JP3805141B2 (en) 2006-08-02

Similar Documents

Publication Publication Date Title
US7548633B2 (en) Data processing apparatus and method, data processing program, and storage medium
Hartung et al. Multimedia watermarking techniques
Kutter et al. Digital signature of color images using amplitude modulation
JP3719347B2 (en) Watermark insertion method for digital image or compressed digital image, digital image capturing device, computer system, and falsification detection method for watermarked digital image
KR100465950B1 (en) Information processing apparatus and its control method, storage medium storing computer program
EP1164543B1 (en) Digital information embedding/extracting
EP0901102B1 (en) Watermark embedding method and system
US20060117183A1 (en) Digital image data authenticity assuring method, and digital image data disclosure system
US20060153424A1 (en) Image processing apparatus and method, program code and storage medium
US20030190054A1 (en) Method and system for distributing digital content with embedded message
JP2004507177A (en) How to embed a digital watermark in digital image data
JP2008211784A (en) Method for facilitating inserting information in video signal and method for facilitating protecting video signal
JP3683766B2 (en) Image processing apparatus and method
EP1908007B1 (en) Image watermarking
JP3932110B2 (en) Image processing apparatus, image processing system, electronic information device, image processing method, control program, and readable recording medium
JP2002271612A (en) Embedding data in material
Cetin et al. A new steganography algorithm based on color histograms for data embedding into raw video streams
US7496197B2 (en) Method and system for robust embedding of watermarks and steganograms in digital video content
JP2000216983A (en) Digital watermark embedding method and digital watermark decoding method and device
Cheung et al. A sequential quantization strategy for data embedding and integrity verification
JP2006081169A (en) Method and device for adding water mark to digital data
Caldelli et al. Joint near-lossless compression and watermarking of still images for authentication and tamper localization
JP3805141B2 (en) Image processing method and apparatus, and storage medium
JP2005217598A (en) Device for embedding digital watermark, digital watermark detector, method for embedding digital watermark, and method for detecting digital watermark
JP2000350007A (en) Electronic watermarking method, electronic watermark device and recording medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060509

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130519

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140519

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees