JP4124366B2 - Method for embedding and extracting digital watermark - Google Patents

Method for embedding and extracting digital watermark Download PDF

Info

Publication number
JP4124366B2
JP4124366B2 JP2004270636A JP2004270636A JP4124366B2 JP 4124366 B2 JP4124366 B2 JP 4124366B2 JP 2004270636 A JP2004270636 A JP 2004270636A JP 2004270636 A JP2004270636 A JP 2004270636A JP 4124366 B2 JP4124366 B2 JP 4124366B2
Authority
JP
Japan
Prior art keywords
block
attribute information
encoding
data
coding
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.)
Expired - Fee Related
Application number
JP2004270636A
Other languages
Japanese (ja)
Other versions
JP2006086906A (en
Inventor
敏雄 茂出木
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2004270636A priority Critical patent/JP4124366B2/en
Publication of JP2006086906A publication Critical patent/JP2006086906A/en
Application granted granted Critical
Publication of JP4124366B2 publication Critical patent/JP4124366B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、CD・DVD・半導体メモリ等のデジタル記録媒体を用いた音響・映像記録再生装置分野、音響・映像制作、素材保管、ロケ素材の中継など音響・映像制作分野、特に品質の高い高精細音響・映像制作を行う分野、コンピュータグラフィックスを用いたCGアニメーション映像制作分野、科学技術シミュレーションにおける可視化映像制作分野、電子カルテや遠隔医療における医用音響・静止画・動画像の保存と伝送、ゲノム情報、蛋白質情報などの生物情報の保存と伝送、デジタル印刷製版工程における素材やページメークアップ画像データの保管と伝送、リモートセンシング・衛星画像解析・地図情報処理分野におけるデータの保管と伝送など、データの改変が嫌われる分野等において好適なデータの処理技術に関する。   The present invention relates to the field of audio / video recording / playback apparatus using digital recording media such as CD / DVD / semiconductor memory, audio / video production, storage of materials, relay of location material, etc. The field of fine sound and video production, the field of CG animation video using computer graphics, the field of visualization video in science and technology simulation, the storage and transmission of medical sound, still images and moving images in electronic medical records and telemedicine, the genome Data such as storage and transmission of biological information such as information and protein information, storage and transmission of materials and page makeup image data in digital printing plate making processes, storage and transmission of data in the fields of remote sensing, satellite image analysis, and map information processing The present invention relates to a data processing technique suitable for a field where modification of the data is disliked.

従来より、音響データや、静止画・動画データをデータの欠落なく圧縮符号化する方式としてロスレス圧縮方式が用いられている。ロスレス圧縮方式で符号化して配布する場合、復号されると高品質な音響や映像が得られるため、正当な利用者が利用する場合は、非常に有用なものであるが、逆に、不正にコピーした者であっても、利用できてしまう。ロスレス圧縮方式で符号化されたデータは、復号後、転用されてしまうと、もはや、そのデータの出所を知ることができなくなってしまう。そこで、このような不正なコピーを防止・抑止するため、復号時に暗号キーを設定する方法と、復号された場合に著作権者を明示し、不正使用を追跡可能とする電子透かし挿入の方法がある。電子透かし挿入には、不可視と可視のタイプがあるが、画像を表示する際に、障害とならないように不可視のタイプが用いられている(例えば、特許文献1〜4参照)。
特許3522056号公報 特開平11−296661号公報 特開2003−174550号公報 特開2004−173237号公報
Conventionally, a lossless compression method has been used as a method for compression-coding audio data and still image / moving image data without data loss. When encoded and distributed using the lossless compression method, high-quality audio and video can be obtained when decoded, so it is very useful when used by legitimate users. Even the person who copied it can use it. If the data encoded by the lossless compression method is diverted after decoding, the source of the data can no longer be known. Therefore, in order to prevent / suppress such unauthorized copying, there are a method of setting an encryption key at the time of decryption, and a method of inserting a digital watermark that makes it possible to trace the unauthorized use by specifying the copyright holder when decrypted. is there. There are invisible and visible types of digital watermark insertion, but the invisible type is used so as not to hinder when displaying an image (for example, see Patent Documents 1 to 4).
Japanese Patent No. 3522056 Japanese Patent Laid-Open No. 11-296661 JP 2003-174550 A JP 2004-173237 A

しかし、上記従来の技術では、原データに直接電子透かしを埋め込むため、復号時に、不可視の電子透かしの検出性能を向上させようとすると、原データの品質を犠牲にしなければならなくなり、品質に影響を与えずに不可視の電子透かしを埋め込むことができないという問題がある。   However, since the above-mentioned conventional technology embeds a digital watermark directly in the original data, when trying to improve the detection performance of the invisible digital watermark at the time of decoding, the quality of the original data must be sacrificed, and the quality is affected. There is a problem that an invisible digital watermark cannot be embedded without giving a mark.

そこで、本発明は、原データの品質に影響を与えずに不可視の電子透かしを埋め込むことが可能な電子透かしの埋め込み方法および抽出方法を提供することを課題とする。   Therefore, an object of the present invention is to provide a digital watermark embedding method and extraction method that can embed an invisible digital watermark without affecting the quality of original data.

上記課題を解決するため、本発明では、符号化対象とするデータを、複数のブロックに分割するブロック分割段階と、あらかじめ準備した複数の符号化方式について、前記各ブロックに対する符号化効率を算出する符号化効率算出段階と、電子透かしとして埋め込む不可視属性情報を示す数値配列、および前記各ブロックについて算出された符号化効率の順位に基づいて前記複数の符号化方式の中から1つの符号化方式を決定する符号化方式決定段階と、前記決定された符号化方式に基づいて、どの符号化方式を適用したかが明確になるように、当該ブロックに対して符号化を行い、符号化ブロックを生成するブロック符号化段階を実行するようにしたことを特徴とする。   In order to solve the above problems, in the present invention, the encoding efficiency for each block is calculated for a block division stage for dividing the data to be encoded into a plurality of blocks and a plurality of encoding schemes prepared in advance. An encoding efficiency calculation step, a numerical array indicating invisible attribute information embedded as a digital watermark, and one encoding scheme out of the plurality of encoding schemes based on the encoding efficiency rank calculated for each block Based on the determined encoding scheme determination stage and the determined encoding scheme, encoding is performed on the block so that it is clear which encoding scheme is applied, and an encoded block is generated. The block encoding step is performed.

本発明によれば、あらかじめ複数の符号化方式を準備しておき、原データを複数のブロックに分割し、各ブロックについて、準備した符号化方式の符号化効率を算出して順位付けし、電子透かしとして埋め込むべき不可視属性情報のビット値に対応した順位となる符号化方式で各ブロックを符号化するようにしたので、原データの品質に影響を与えずに不可視の電子透かしを埋め込むことが可能となる。   According to the present invention, a plurality of encoding methods are prepared in advance, the original data is divided into a plurality of blocks, and the encoding efficiency of the prepared encoding method is calculated and ranked for each block. Each block is encoded using an encoding method that has a rank corresponding to the bit value of the invisible attribute information to be embedded as a watermark, so it is possible to embed an invisible digital watermark without affecting the quality of the original data It becomes.

以下、本発明の実施形態について図面を参照して詳細に説明する。
(1.本発明による符号化・復号の基本概念)
まず、本発明における電子透かしの埋め込み方法および抽出方法の基本概念について説明する。本発明では、符号化の際に不可視の電子透かしを埋め込み、復号の際に不可視の電子透かしを抽出する。図1は、本発明の基本概念を示す図である。図1(a)に示すように、符号化では、符号化対象とする原データを複数のブロックに分割する。そして、各ブロックについてあらかじめ準備した複数の符号化方式の符号化効率を算出し、各ブロックに対する符号化効率の順位付けをする。一方、別途電子透かしとして埋め込む不可視属性情報を用意しておき、この値、および符号化効率の順位に基づいて、前記符号化方式のうちから1つを決定し、決定した符号化方式でそのブロックに対して符号化処理する。このようにして各ブロックを符号化していく。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(1. Basic concept of encoding / decoding according to the present invention)
First, the basic concept of the digital watermark embedding method and extraction method in the present invention will be described. In the present invention, an invisible digital watermark is embedded at the time of encoding, and an invisible digital watermark is extracted at the time of decoding. FIG. 1 is a diagram showing the basic concept of the present invention. As shown in FIG. 1A, in encoding, original data to be encoded is divided into a plurality of blocks. Then, the encoding efficiency of a plurality of encoding methods prepared in advance for each block is calculated, and the encoding efficiency for each block is ranked. On the other hand, invisible attribute information to be embedded separately as a digital watermark is prepared, one of the encoding methods is determined based on this value and the order of encoding efficiency, and the block is determined by the determined encoding method. Is encoded. In this way, each block is encoded.

また、図1(b)に示すように、復号では、符号化データを構成する各符号化ブロックを抽出する。各符号化ブロックの抽出は、各符号化ブロックの先頭の記録位置、各符号化ブロックの大きさ(データ量)を符号化データファイルの適当な位置に記録しておき、これを事前に読み込むようにしておけば良い。続いて、抽出した各符号化ブロックについて、符号化に用いた符号化方式に対応する復号方式を用いて復号していく。このようにして各符号化ブロックを復号し、元の原データを構成するブロックを得る。そして、復号した各ブロックについてあらかじめ準備した複数の符号化方式の符号化効率を算出し、各ブロックに対する符号化効率の順位付けをする。一方、各符号化ブロックに記録されていた符号化方式を抽出し、この符号化方式を他の符号化方式と比較して、その順位を認識し、認識された順位に対応するビットの集合が不可視属性情報として得られる。図1(a)に示したような符号化、図1(b)に示したような復号は、専用のソフトウェアを搭載したコンピュータが符号化装置(電子透かし埋め込み装置)、復号装置(電子透かし抽出装置)として機能することにより実現される。   In addition, as shown in FIG. 1B, in the decoding, each encoded block constituting the encoded data is extracted. In extracting each encoded block, the recording position at the beginning of each encoded block and the size (data amount) of each encoded block are recorded in an appropriate position in the encoded data file and read in advance. It ’s good if you keep it. Subsequently, each extracted encoded block is decoded using a decoding method corresponding to the encoding method used for encoding. In this way, each encoded block is decoded to obtain a block constituting the original original data. Then, the encoding efficiency of a plurality of encoding methods prepared in advance for each decoded block is calculated, and the encoding efficiency for each block is ranked. On the other hand, the coding scheme recorded in each coding block is extracted, this coding scheme is compared with other coding schemes, the rank is recognized, and a set of bits corresponding to the recognized rank is obtained. Obtained as invisible attribute information. The encoding as shown in FIG. 1A and the decoding as shown in FIG. 1B are performed by a computer equipped with dedicated software by an encoding device (digital watermark embedding device) and decoding device (digital watermark extraction). This is realized by functioning as a device.

(2.対象とするデータが音響データの場合)
本発明は、そのデータの内容・形式にとらわれず、様々なデータに対して適用可能であるが、主に、音響データ、画像データに対して用いられる。以下に、この2種類のデータに対しての処理について説明していく。まず、音響データについて説明する。
(2. When the target data is acoustic data)
The present invention can be applied to various data regardless of the content and format of the data, but is mainly used for acoustic data and image data. Hereinafter, processing for these two types of data will be described. First, acoustic data will be described.

(2.1.符号化)
本実施形態では、音響データとして、アナログの音響信号をPCM等の周知の手法によりをデジタル化したものを用いる。例えば、サンプリング周波数48KHz、量子化ビット数16ビット(正負符号付き)でサンプリングすると、1秒あたり48000個のサンプルにより構成されるサンプル列ができ、各サンプルは、−32768〜32767の値をとることになる。
(2.1. Encoding)
In the present embodiment, analog sound signals obtained by digitizing analog sound signals by a known method such as PCM are used as the sound data. For example, when sampling is performed at a sampling frequency of 48 KHz and a quantization bit number of 16 bits (with plus and minus signs), a sample string composed of 48000 samples per second is formed, and each sample takes a value of −32768 to 32767. become.

本発明に係る電子透かしの埋め込み方法を実現する符号化装置は、上記のような音響データを読み込んだら、音響データを構成するサンプル列の先頭から所定のサンプル数単位でブロック化し、1ブロックごとにワークメモリに読み込む。1ブロックとするサンプル数は、あらかじめ設定しておくことができる。1ブロックとするサンプル数は、1秒程度が好ましい。時間的には同じ長さであっても、サンプリング周波数によりサンプル数が異なるため、設定者が1程度となるサンプル数をあらかじめ装置に設定しておく。例えば、符号化対象とする音響データのサンプリング周波数が48kHzであった場合、1ブロックを1秒とするには、48000サンプルを1ブロックとして設定してやれば良い。符号化装置は、設定されたサンプル数を1ブロックとして順次ワークメモリに読み込んでいくことになる。   The encoding apparatus that implements the digital watermark embedding method according to the present invention, after reading the acoustic data as described above, blocks in units of a predetermined number of samples from the head of the sample sequence constituting the acoustic data. Read to work memory. The number of samples for one block can be set in advance. The number of samples for one block is preferably about 1 second. Even with the same length in time, the number of samples differs depending on the sampling frequency, so the number of samples that the setter is about 1 is set in the apparatus in advance. For example, when the sampling frequency of the acoustic data to be encoded is 48 kHz, 48000 samples may be set as one block in order to set one block to one second. The encoding device sequentially reads the set number of samples as one block into the work memory.

一方、分割したブロックを符号化するための符号化方式として、本実施形態では、以下の〔数式1〕〜〔数式11〕の11個の線形予測式を用意している。   On the other hand, as an encoding method for encoding the divided blocks, in the present embodiment, eleven linear prediction formulas [Formula 1] to [Formula 11] below are prepared.

〔数式1〕
e0(t)=x(t)−e0(t−1)/2
[Formula 1]
e0 (t) = x (t) -e0 (t-1) / 2

〔数式2〕
e1(t)=x(t)−a11・x(t−1)−e1(t−1)/2
[Formula 2]
e1 (t) = x (t ) -a 11 · x (t-1) -e1 (t-1) / 2

〔数式3〕
e2(t)=x(t)−a21・x(t−1)−a22・x(t−2)−e2(t−1)/2
[Formula 3]
e2 (t) = x (t ) -a 21 · x (t-1) -a 22 · x (t-2) -e2 (t-1) / 2

〔数式4〕
e3(t)=x(t)−a31・x(t−1)−a32・x(t−2)−a33・x(t−3)−e3(t−1)/2
[Formula 4]
e3 (t) = x (t ) -a 31 · x (t-1) -a 32 · x (t-2) -a 33 · x (t-3) -e3 (t-1) / 2

〔数式5〕
e4(t)=x(t)−a41・x(t−1)−a42・x(t−2)−a43・x(t−3)−a44・x(t−4)−e4(t−1)/2
[Formula 5]
e4 (t) = x (t ) -a 41 · x (t-1) -a 42 · x (t-2) -a 43 · x (t-3) -a 44 · x (t-4) - e4 (t-1) / 2

〔数式6〕
e5(t)=x(t)−a51・x(t−1)−a52・x(t−2)−a53・x(t−3)−a54・x(t−4)−a55・x(t−5)−e5(t−1)/2
[Formula 6]
e5 (t) = x (t ) -a 51 · x (t-1) -a 52 · x (t-2) -a 53 · x (t-3) -a 54 · x (t-4) - a 55 · x (t−5) −e5 (t−1) / 2

〔数式7〕
e6(t)=x(t)−b11・x(t−1)−e6(t−1)/2
[Formula 7]
e6 (t) = x (t ) -b 11 · x (t-1) -e6 (t-1) / 2

〔数式8〕
e7(t)=x(t)−b21・x(t−1)−b22・x(t−2)−e7(t−1)/2
[Formula 8]
e7 (t) = x (t ) -b 21 · x (t-1) -b 22 · x (t-2) -e7 (t-1) / 2

〔数式9〕
e8(t)=x(t)−b31・x(t−1)−b32・x(t−2)−b33・x(t−3)−e8(t−1)/2
[Formula 9]
e8 (t) = x (t ) -b 31 · x (t-1) -b 32 · x (t-2) -b 33 · x (t-3) -e8 (t-1) / 2

〔数式10〕
e9(t)=x(t)−b41・x(t−1)−b42・x(t−2)−b43・x(t−3)−b44・x(t−4)−e9(t−1)/2
[Formula 10]
e9 (t) = x (t ) -b 41 · x (t-1) -b 42 · x (t-2) -b 43 · x (t-3) -b 44 · x (t-4) - e9 (t-1) / 2

〔数式11〕
e10(t)=x(t)−b51・x(t−1)−b52・x(t−2)−b53・x(t−3)−b54・x(t−4)−b55・x(t−5)−e10(t−1)/2
[Formula 11]
e10 (t) = x (t ) -b 51 · x (t-1) -b 52 · x (t-2) -b 53 · x (t-3) -b 54 · x (t-4) - b 55 · x (t-5 ) -e10 (t-1) / 2

上記〔数式1〕〜〔数式11〕において、e0(t)〜e10(t)は各予測計算式による時刻tのサンプルにおける予測誤差であり、x(t)〜x(t−5)は時刻t〜t−5におけるサンプル値である。   In the above [Equation 1] to [Equation 11], e0 (t) to e10 (t) are prediction errors in the sample at time t according to each prediction calculation formula, and x (t) to x (t-5) are times. It is a sample value in t-t-5.

上記〔数式3〕における「a21・x(t−1)+a22・x(t−2)」、上記〔数式4〕における「a31・x(t−1)+a32・x(t−2)+a33・x(t−3)」、上記〔数式5〕における「a41・x(t−1)+a42・x(t−2)+a43・x(t−3)+a44・x(t−4)」、上記〔数式6〕における「a51・x(t−1)+a52・x(t−2)+a53・x(t−3)+a54・x(t−4)+a55・x(t−5)」、上記〔数式8〕における「b21・x(t−1)+b22・x(t−2)」、上記〔数式9〕における「b31・x(t−1)+b32・x(t−2)+b33・x(t−3)」、上記〔数式10〕における「b41・x(t−1)+b42・x(t−2)+b43・x(t−3)+b44・x(t−4)」、上記〔数式11〕における「b51・x(t−1)+b52・x(t−2)+b53・x(t−3)+b54・x(t−4)+b55・x(t−5)」は過去の2〜5個のサンプルに基づく線形予測成分である。この線形予測成分、および、直前のサンプルにおいて算出された予測誤差「e1(t−1)/2」〜「e10(t−1)/2」(誤差フィードバック成分)を用いて時刻tにおける予測誤差e0(t)〜e10(t)を算出する。 "A 21 · x (t-1) + a 22 · x (t-2)" in [Formula 3], "a 31 · x (t-1) + a 32 · x (t-) in [Formula 4] 2) + a 33 · x (t−3) ”,“ a 41 · x (t−1) + a 42 · x (t−2) + a 43 · x (t−3) + a 44 · x (t-4) "," a51 * x (t-1) + a52 * x (t-2) + a53 * x (t-3) + a54 * x (t-4) " ) + A 55 · x (t−5) ”,“ b 21 · x (t−1) + b 22 · x (t−2) ”in the above [Equation 8],“ b 31 · x in the above [Equation 9] (t-1) + b 32 · x (t-2) + b 33 · x (t-3) ", the" b 41 · x in [equation 10] (t-1) + b 42 · x (t-2) + b 43 · x (t- 3) + b 44 · x (t-4) ", put in [equation 11] "B 51 · x (t-1 ) + b 52 · x (t-2) + b 53 · x (t-3) + b 54 · x (t-4) + b 55 · x (t-5) " is the past Linear prediction component based on 2-5 samples. Using this linear prediction component and the prediction errors “e1 (t−1) / 2” to “e10 (t−1) / 2” (error feedback component) calculated in the immediately preceding sample, a prediction error at time t e0 (t) to e10 (t) are calculated.

上記の係数a11〜a55には固定値として、a11=1、a21=2、a22=−1、a31=3、a32=−3、a33=1、a41=4、a42=−6、a43=4、a44=−1、a51=5、a52=−10、a53=10、a54=−5、a55=1という値が各々設定されており、上記の係数b11〜b55には固定値として、例えばb11=0.5、b21=1、b22=−0.5、b31=1.5、b32=−1.5、b33=0.5、b41=2、b42=−3、b43=2、b44=−0.5、b51=2.5、b52=−5、b53=5、b54=−2.5、b55=0.5という値が各々設定されている。 As a fixed value in the above coefficient a 11 ~a 55, a 11 = 1, a 21 = 2, a 22 = -1, a 31 = 3, a 32 = -3, a 33 = 1, a 41 = 4 , A 42 = −6, a 43 = 4, a 44 = −1, a 51 = 5, a 52 = −10, a 53 = 10, a 54 = −5, and a 55 = 1. The coefficients b 11 to b 55 are fixed values, for example, b 11 = 0.5, b 21 = 1, b 22 = −0.5, b 31 = 1.5, b 32 = −1. .5, b 33 = 0.5, b 41 = 2, b 42 = -3, b 43 = 2, b 44 = -0.5, b 51 = 2.5, b 52 = -5, b 53 = 5, b 54 = −2.5, and b 55 = 0.5 are set.

符号化装置は、読み込んだ1つのブロックを構成する全サンプルについて、上記各数式を適用して、元のx(t)の値を予測誤差e(t)に置き換えて行くことになる。そして、1つのブロック内の全てのサンプルtについての予測誤差e(t)の絶対値である|e(t)|の総和を算出し、上記各数式についての総和を比較し、順位付けする。この総和が小さいほど、符号化後のデータ量が小さくなる可能性が高く、符号化効率(圧縮率)が高いということになる。   The encoding apparatus applies the above mathematical formulas to all samples constituting one read block and replaces the original value of x (t) with the prediction error e (t). Then, the sum of | e (t) |, which is the absolute value of the prediction error e (t), for all the samples t in one block is calculated, and the sums for the above equations are compared and ranked. The smaller this sum is, the higher the possibility that the amount of data after encoding will be small, and the higher the encoding efficiency (compression rate).

次に、電子透かしとして埋め込むために用意された不可視属性情報に基づいて、符号化方式を決定する。不可視属性情報としては、文字コードや画像等、さまざまなものを採用することができる。どのような形式のものを採用したとしても、不可視属性情報を構成するビット列の各ビットの値に対応付けて、符号化方式を決定する。例えば、不可視属性情報を構成するビットの値が「0」の場合は、符号化効率順位1位のものを選択し、ビットの値が「1」の場合は、符号化効率順位2位のものを選択するという規則をあらかじめ設定しておく。そして、不可視属性情報のビット列と符号化対象とするブロックとを対応付けておき、各ブロックを対応する不可視属性情報のビットに応じて決定される符号化方式で符号化する。ここでは、上記〔数式1〕〜〔数式11〕のうち、符号化効率の高い上位2位の式のいずれかが不可視属性情報のビットに応じて決定され、その〔数式〕に基づいた処理で符号化がなされることになる。なお、本実施形態では、不可視属性情報を構成するビット列を1ビット単位で符号化方式と対応させるようにしたが、2ビット以上の単位で対応させるようにしても良い。例えば、2ビット単位であれば、符号化効率4位までに対応可能であるし、3ビット単位であれば、符号化効率8位までに対応可能である。符号化の際には、実際にブロックを符号化した符号化方式を特定するための情報を符号化後のブロックに付随させるか、またはブロックの内部に含ませるかして記録しておく。符号化方式を特定するための情報としては、例えば、上記各〔数式〕に事前にIDを設定しておき、このIDを記録するようにすれば良い。   Next, an encoding method is determined based on invisible attribute information prepared for embedding as a digital watermark. As the invisible attribute information, various information such as a character code and an image can be adopted. Whatever format is adopted, the encoding method is determined in association with the value of each bit of the bit string constituting the invisible attribute information. For example, when the value of the bits constituting the invisible attribute information is “0”, the one with the first encoding efficiency rank is selected, and when the bit value is “1”, the one with the second encoding efficiency rank is selected. The rule of selecting is set in advance. Then, the bit string of the invisible attribute information is associated with the block to be encoded, and each block is encoded by the encoding method determined according to the corresponding bit of the invisible attribute information. Here, of the above [Equation 1] to [Equation 11], one of the top two equations with high encoding efficiency is determined according to the bits of the invisible attribute information, and the processing based on the [Equation] Encoding is performed. In this embodiment, the bit string constituting the invisible attribute information is made to correspond to the encoding method in units of 1 bit, but may be made to correspond in units of 2 bits or more. For example, if the unit is 2 bits, the encoding efficiency can be up to 4th, and if it is 3 bits, the encoding efficiency can be up to 8th. At the time of encoding, information for specifying the encoding method in which the block is actually encoded is recorded in association with the encoded block or included in the block. As information for specifying the encoding method, for example, an ID may be set in advance in each of the above [formulas], and this ID may be recorded.

(2.1.1.可変長符号化)
さらに、この後、各サンプルを可変長に変換する可変長符号化処理を行っていく。本実施形態における可変長符号化は、一般にゴロム符号化と呼ばれる周知の方式を採用している。具体的には、1サンプルを構成するビット成分を上位ビット成分と下位ビット成分に分け、下位ビット成分は変更を加えずそのままとし、上位ビット成分は、上位ビットだけを十進数変換した数値分のビット「0」を並べ、最後にセパレータビット「1」を加えた配列とする。例えば、8ビットのビット成分「00101000」を考えてみる。このとき、下位ビット成分を4ビットとすると、下位ビット成分は「1000」となる。上位ビットは「0010」であるため、これを十進数変換した「2」個分の「0」を配列して最後に「1」を加えた「001」に変換される。この結果、8ビットのビット列「00101000」は、7ビットのビット列「0011000」に変換されることになる。本実施形態では、変換の前後でビット成分を不変とする下位ビット成分のビット長を各サンプルで可変とするようにしている。
(2.1.1. Variable length coding)
Further, after this, a variable length encoding process for converting each sample into a variable length is performed. The variable-length coding in this embodiment employs a well-known method generally called Golomb coding. Specifically, the bit component constituting one sample is divided into an upper bit component and a lower bit component, the lower bit component is left unchanged, and the upper bit component is a numerical value obtained by decimal conversion of only the upper bit. It is an array in which bit “0” is arranged and separator bit “1” is added at the end. For example, consider an 8-bit bit component “00101000”. At this time, if the lower bit component is 4 bits, the lower bit component is “1000”. Since the upper bits are “0010”, “2” pieces of “0” obtained by decimal conversion are arranged and converted to “001” by adding “1” at the end. As a result, the 8-bit bit string “00101000” is converted into a 7-bit bit string “0011000”. In this embodiment, the bit length of the lower-order bit component that makes the bit component unchanged before and after conversion is made variable for each sample.

なお、本実施形態では、可変長符号化については、符号化効率算出の対象から外したが、より正確に符号化効率を算出するためには、可変長符号化まで含めて符号化効率を算出するようにする。すなわち、可変長符号化まで行った状態のデータ量を比較して順位付けし、このデータ量が小さいほど符号化効率(圧縮率)が高いと判断するのである。この場合、当然精度は高くなるが、あらかじめ準備した全ての符号化方式について、各ブロックに対して可変長符号化を行う処理をしなければならないため、全体の処理時間が長くなる。したがって、符号化するデータの用途、緊急性に応じて、符号化効率算出のために可変長符号化まで行うか否かを決定すると良い。   In this embodiment, variable-length coding is excluded from the target of coding efficiency calculation, but in order to calculate coding efficiency more accurately, coding efficiency is calculated including variable-length coding. To do. That is, the data amounts in the state where variable length encoding is performed are compared and ranked, and it is determined that the smaller the data amount, the higher the encoding efficiency (compression rate). In this case, the accuracy is naturally high, but the entire processing time becomes long because variable length coding must be performed on each block for all of the coding schemes prepared in advance. Therefore, it is preferable to determine whether or not to perform variable-length coding for calculating the coding efficiency according to the use and urgency of the data to be coded.

以上のようにして可変長符号化された各ブロックのデータを、1つの符号化ファイルに順次収録していく。ファイル化された符号化データは、記録媒体を介したり、通信回線を介する等、様々な手法により流通されることになる。   The data of each block subjected to variable length encoding as described above is sequentially recorded in one encoded file. The encoded data filed is distributed by various methods such as via a recording medium or via a communication line.

(2.2.復号)
復号装置では、符号化装置において準備されていた符号化方式に対応した処理手段が用意されている。例えば、上記の例の場合では、符号化方式として用意された〔数式1〕〜〔数式11〕と同じものが用意されている。復号装置では、符号化ブロックを読み込んだ後、この符号化ブロック内に記録されている符号化方式を特定するための情報を読み込む。ここでは、符号化方式である〔数式〕を特定するためのIDを読み込むことになる。続いて、このIDに対応する〔数式〕を利用して、符号化ブロック内における予測誤差で記録された各サンプルの値を、元のサンプルの値に復元していく。これは、符号化に利用した上記〔数式〕の左辺の項と右辺第1項を交換した式に基づいて実行されることになる。このようにして、各符号化ブロックに対して、符号化に利用した〔数式〕と同じ〔数式〕を利用して復号することにより、元のブロックが得られる。
(2.2. Decoding)
In the decoding apparatus, processing means corresponding to the encoding method prepared in the encoding apparatus is prepared. For example, in the case of the above example, the same ones as [Formula 1] to [Formula 11] prepared as encoding methods are prepared. In the decoding apparatus, after reading the encoded block, information for specifying the encoding method recorded in the encoded block is read. Here, an ID for specifying [Formula] which is an encoding method is read. Subsequently, the value of each sample recorded with the prediction error in the coding block is restored to the original sample value by using [Formula] corresponding to this ID. This is executed based on an expression obtained by exchanging the term on the left side and the first term on the right side of the above [Formula] used for encoding. In this way, the original block is obtained by decoding each encoded block using the same [Formula] as the [Formula] used for encoding.

この時点で、符号化したデータ自体の復号は完了し、符号化前の原データが得られる。ここからは、さらに電子透かしとして埋め込まれた不可視属性情報を検出するための処理を行う。具体的には、まず、復号された各ブロックについて、上記〔数式1〕〜〔数式11〕の各数式の符号化効率を算出し、順位付けする。この符号化効率の算出処理は、上記符号化の際における処理と同一である。続いて、復号化ブロックに記録されていたIDを参照して、各ブロックについて、そのブロックの符号化に用いた〔数式〕を特定する。さらに、既に算出した符号化効率を参照して、符号化に用いた〔数式〕の順位が何位であったかを認識する。さらに、符号化効率の順位とビットの関係から不可視属性情報を構成するビットの値を求める。この処理を各ブロックに対して実行することにより、ビット列が得られ、これが不可視属性情報となる。   At this point, decoding of the encoded data itself is completed, and the original data before encoding is obtained. From here, processing for detecting invisible attribute information embedded as a digital watermark is performed. Specifically, for each decoded block, first, the encoding efficiency of each of the equations [Formula 1] to [Formula 11] is calculated and ranked. The encoding efficiency calculation process is the same as the above-described encoding process. Subsequently, with reference to the ID recorded in the decoded block, for each block, the [formula] used for encoding the block is specified. Furthermore, it is recognized by referring to the already calculated encoding efficiency that the rank of [Formula] used for encoding is. Further, the value of the bits constituting the invisible attribute information is obtained from the relationship between the coding efficiency order and the bits. By executing this processing for each block, a bit string is obtained, which becomes invisible attribute information.

(3.対象とするデータが画像データの場合)
次に、符号化対象とするデータが画像データである場合について説明する。本実施形態では、画像データとして、画素数が640×480画素であるものを想定して説明する。なお、画像データは、静止画そのものを画像データとしたものに対しても適用できるし、動画を構成する各フレームとしての画像データに対しても適用できる。
(3. When the target data is image data)
Next, the case where the data to be encoded is image data will be described. In the present embodiment, the image data is described assuming that the number of pixels is 640 × 480 pixels. Note that the image data can be applied to a still image itself as image data, or to image data as each frame constituting a moving image.

(3.1.符号化)
本発明に係る電子透かしの埋め込み方法を実現する符号化装置は、上記のような画像データを読み込んだら、画像データを構成する画素を所定の画素数単位でブロック化し、1ブロックごとにワークメモリに読み込む。1ブロックとする画素数は、あらかじめ設定しておくことができる。本実施形態では、64×48画素を1ブロックとしており、1つの画像データは100のブロックに分割して処理されることになる。符号化装置は、設定された画素数を1ブロックとして順次ワークメモリに読み込んでいくことになる。
(3.1. Encoding)
The encoding apparatus that implements the digital watermark embedding method according to the present invention, after reading the image data as described above, blocks the pixels constituting the image data in units of a predetermined number of pixels, and stores each block in the work memory. Read. The number of pixels for one block can be set in advance. In this embodiment, 64 × 48 pixels are defined as one block, and one image data is divided into 100 blocks for processing. The encoding device sequentially reads the set number of pixels as one block into the work memory.

一方、分割したブロックを符号化するための符号化方式として、本実施形態では、以下の〔数式12〕〜〔数式18〕の7個の計算式を用意している。本実施形態では、算出対象とする対象画素(i,j)の予測誤差値e(i,j)を算出するために、対象画素の元の画素値x(i,j)、および図2に示すような位置関係にある近傍3画素(i−1,j−1)、(i,j−1)、(i−1,j)の値x(i−1,j−1)、x(i,j−1)、x(i−1,j)を利用する。   On the other hand, as an encoding method for encoding the divided blocks, in the present embodiment, the following seven formulas [Formula 12] to [Formula 18] are prepared. In the present embodiment, in order to calculate the prediction error value e (i, j) of the target pixel (i, j) to be calculated, the original pixel value x (i, j) of the target pixel and FIG. The values x (i−1, j−1) and x (i) of the neighboring three pixels (i−1, j−1), (i, j−1), (i−1, j) having the positional relationship shown i, j-1) and x (i-1, j) are used.

〔数式12〕
e20=x(i,j)−x(i−1,j)
[Formula 12]
e20 = x (i, j) -x (i-1, j)

〔数式13〕
e21=x(i,j)−x(i,j−1)
[Formula 13]
e21 = x (i, j) -x (i, j-1)

〔数式14〕
e22=x(i,j)−x(i−1,j−1)
[Formula 14]
e22 = x (i, j) -x (i-1, j-1)

〔数式15〕
e23=x(i,j)−x(i−1,j)−x(i,j−1)+x(i−1,j−1)
[Formula 15]
e23 = x (i, j) -x (i-1, j) -x (i, j-1) + x (i-1, j-1)

〔数式16〕
e24=x(i,j)−x(i−1,j)−{x(i,j−1)−x(i−1,j−1)}/2
[Formula 16]
e24 = x (i, j) -x (i-1, j)-{x (i, j-1) -x (i-1, j-1)} / 2

〔数式17〕
e25=x(i,j)−x(i,j−1)−{x(i−1,j)−x(i−1,j−1)}/2
[Formula 17]
e25 = x (i, j) -x (i, j-1)-{x (i-1, j) -x (i-1, j-1)} / 2

〔数式18〕
e26=x(i,j)−{x(i−1,j)+x(i,j−1)}/2
[Formula 18]
e26 = x (i, j)-{x (i-1, j) + x (i, j-1)} / 2

上記〔数式12〕〜〔数式18〕において、e20〜e26は各予測計算式による画素(i,j)の予測誤差であり、x(i,j)、x(i,j−1)、x(i−1,j)、x(i−1,j−1)は画素(i,j)、(i,j−1)、(i−1,j)、(i−1,j−1)における画素値である。   In the above [Expression 12] to [Expression 18], e20 to e26 are prediction errors of the pixel (i, j) by the respective prediction calculation expressions, and x (i, j), x (i, j-1), x (I-1, j) and x (i-1, j-1) are pixels (i, j), (i, j-1), (i-1, j), (i-1, j-1). ).

符号化装置は、読み込んだ1つのブロックを構成する全画素について、上記各数式を適用して、元のx(i,j)の値を予測誤差e(i,j)に置き換えて行くことになる。そして、1つのブロック内の全ての画素(i,j)についての予測誤差e(i,j)の絶対値である|e(i,j)|の総和を算出し、上記各数式についての総和を比較し、順位付けする。この総和が小さいほど、符号化後のデータ量が小さくなる可能性が高く、符号化効率(圧縮率)が高いということになる。   The encoding apparatus applies the above equations to all the pixels constituting one read block and replaces the original value of x (i, j) with the prediction error e (i, j). Become. Then, the sum of | e (i, j) | that is the absolute value of the prediction error e (i, j) for all the pixels (i, j) in one block is calculated, and the sum for each of the above formulas Are compared and ranked. The smaller this sum is, the higher the possibility that the amount of data after encoding is small, and the higher the encoding efficiency (compression rate).

次に、電子透かしとして埋め込むために用意された不可視属性情報に基づいて、符号化方式を決定する。これは、上記音響データの場合と同様、不可視属性情報を構成するビット列の各ビットの値に対応付けて、符号化方式を決定することにより行われる。   Next, an encoding method is determined based on invisible attribute information prepared for embedding as a digital watermark. As in the case of the acoustic data, this is performed by determining the encoding method in association with the value of each bit of the bit string constituting the invisible attribute information.

(3.1.1.可変長符号化)
さらに、この後、各画素を可変長に変換する可変長符号化処理を行っていく。この可変長符号化処理も、上記音響データの場合と同様、一般にゴロム符号化と呼ばれる周知の方式を採用し、1画素を構成するビット成分を上位ビット成分と下位ビット成分に分けた後、処理が行われる。
(3.1.1. Variable length coding)
Further, after this, a variable length encoding process for converting each pixel into a variable length is performed. As in the case of the acoustic data, the variable length encoding process also employs a well-known method generally called Golomb encoding, and divides the bit component constituting one pixel into an upper bit component and a lower bit component, and then performs processing. Is done.

また、符号化効率算出の対象として、可変長符号化まで含める設定にしても良いことも上記音響データの場合と同様である。   Further, as in the case of the acoustic data, the encoding efficiency calculation target may be set to include variable-length encoding.

以上のようにして可変長符号化された各ブロックのデータを、1つの符号化ファイルに順次収録していく。ファイル化された符号化データは、記録媒体を介したり、通信回線を介する等、様々な手法により流通されることになる。   The data of each block subjected to variable length encoding as described above is sequentially recorded in one encoded file. The encoded data filed is distributed by various methods such as via a recording medium or via a communication line.

(3.2.復号)
復号装置では、符号化装置において準備されていた符号化方式に対応した処理手段が用意されている。例えば、上記の例の場合では、符号化方式として用意された〔数式12〕〜〔数式18〕と同じものが用意されている。復号装置では、符号化ブロックを読み込んだ後、この符号化ブロック内に記録されている符号化方式を特定するための情報を読み込む。ここでは、符号化方式である〔数式〕を特定するためのIDを読み込むことになる。続いて、このIDに対応する〔数式〕を利用して、符号化ブロック内における予測誤差で記録された各画素の値を、元の画素の値に復元していく。これは、符号化に利用した上記〔数式〕の左辺の項と右辺第1項を交換した式に基づいて実行されることになる。このようにして、各符号化ブロックに対して、符号化に利用した〔数式〕と同じ〔数式〕を利用して復号することにより、元のブロックが得られる。
(3.2. Decoding)
In the decoding apparatus, processing means corresponding to the encoding method prepared in the encoding apparatus is prepared. For example, in the case of the above example, the same ones as [Formula 12] to [Formula 18] prepared as the encoding method are prepared. In the decoding apparatus, after reading the encoded block, information for specifying the encoding method recorded in the encoded block is read. Here, an ID for specifying [Formula] which is an encoding method is read. Subsequently, the value of each pixel recorded with the prediction error in the coding block is restored to the original pixel value by using [Formula] corresponding to this ID. This is executed based on an expression obtained by exchanging the term on the left side and the first term on the right side of the above [Formula] used for encoding. In this way, the original block is obtained by decoding each encoded block using the same [Formula] as the [Formula] used for encoding.

この時点で、符号化したデータ自体の復号は完了し、符号化前の原データが得られる。ここからは、さらに電子透かしとして埋め込まれた不可視属性情報を検出するための処理を行う。具体的には、上記音響データの場合と同様に、まず、復号された各ブロックについて、上記〔数式12〕〜〔数式18〕の各数式の符号化効率を算出し、順位付けする。続いて、復号化ブロックに記録されていたIDを参照して、各ブロックについて、そのブロックの符号化に用いた〔数式〕を特定する。さらに、既に算出した符号化効率を参照して、符号化に用いた〔数式〕の順位が何位であったかを認識する。さらに、符号化効率の順位とビットの関係から不可視属性情報を構成するビットの値を求める。この処理を各ブロックに対して実行することにより、ビット列が得られ、これが不可視属性情報となる。   At this point, decoding of the encoded data itself is completed, and the original data before encoding is obtained. From here, processing for detecting invisible attribute information embedded as a digital watermark is performed. Specifically, as in the case of the acoustic data, first, for each decoded block, the encoding efficiencies of the formulas [Formula 12] to [Formula 18] are calculated and ranked. Subsequently, with reference to the ID recorded in the decoded block, for each block, the [formula] used for encoding the block is specified. Furthermore, it is recognized by referring to the already calculated encoding efficiency that the rank of [Formula] used for encoding is. Further, the value of the bits constituting the invisible attribute information is obtained from the relationship between the encoding efficiency rank and the bits. By executing this process for each block, a bit string is obtained, which becomes invisible attribute information.

(4.1.可視電子透かしの埋め込み)
以上のように、本発明では、不可視の属性情報に基づいて符号化方式を決定することにより、電子透かしを埋め込むが、これに加えて、可視の属性情報を埋め込むことも可能である。次に、可視属性情報を追加して埋め込む場合について説明する。図3は、可視属性情報を埋め込む装置の構成図である。図3において、1は原画像入力部、2は文字フォント記憶部、3は属性情報文字コード入力部、4はラスター変換部、5は可視情報埋め込み処理実行部、6は可視透かし入り画像出力部である。
(4.1. Embedding visible digital watermark)
As described above, in the present invention, an electronic watermark is embedded by determining an encoding method based on invisible attribute information, but in addition to this, visible attribute information can also be embedded. Next, a case where visible attribute information is added and embedded will be described. FIG. 3 is a configuration diagram of an apparatus for embedding visible attribute information. In FIG. 3, 1 is an original image input unit, 2 is a character font storage unit, 3 is an attribute information character code input unit, 4 is a raster conversion unit, 5 is a visible information embedding process execution unit, and 6 is an image output unit with a visible watermark. It is.

原画像入力部1は、流通される目的となる原画像データを入力する機能を有する。文字フォント記憶部2は、ラスターデータ形式の文字フォントを記憶したものである。属性情報文字コード入力部3は電子透かしとして埋め込むべき属性情報を文字コードの形式で入力する機能を有する。属性情報とは、見る者が何らかの意味を認識することができる情報であって、例えば、原画像の出所、原画像の著作権元を示す著作権情報が該当する。また、電子透かしとは、例えば、紙幣を光にかざすと見える透かしを、電子的に表現したものであり、ここでは、通常に画像を見た場合に、必ず、その存在が見える可視電子透かしを意味する。ラスター変換部4は、属性情報文字コード入力部3から入力された文字コードを、文字フォント記憶部2を参照してラスターデータ形式のニ値画像に変換する機能を有している。可視情報埋め込み処理実行部5は、原画像入力部1から入力された原画像とラスター変換部4から出力されるニ値画像を各画素ごとに加算して、原画像に可視の電子透かしが埋め込まれた透かし入り画像として出力する機能を有している。可視透かし入り画像出力部7は、可視属性情報が埋め込まれた透かし入り画像を出力するためのものである。   The original image input unit 1 has a function of inputting original image data to be distributed. The character font storage unit 2 stores character fonts in a raster data format. The attribute information character code input unit 3 has a function of inputting attribute information to be embedded as a digital watermark in the form of a character code. The attribute information is information that allows a viewer to recognize some meaning, and includes, for example, copyright information indicating the origin of the original image and the copyright source of the original image. In addition, the digital watermark is, for example, a digital representation of a watermark that can be seen by holding a banknote over light. means. The raster conversion unit 4 has a function of converting the character code input from the attribute information character code input unit 3 into a binary data in a raster data format with reference to the character font storage unit 2. The visible information embedding processing execution unit 5 adds the original image input from the original image input unit 1 and the binary image output from the raster conversion unit 4 for each pixel, and embeds a visible digital watermark in the original image. A function of outputting as a watermarked image. The visible watermarked image output unit 7 is for outputting a watermarked image in which visible attribute information is embedded.

ここで、可視情報埋め込み処理実行部5による処理を、図4を用いて説明する。図4(a)は、原画像入力部1から入力された原画像、図4(b)は、ラスター変換部4により変換された電子透かしとしての役割を果たすニ値画像(識別画像)である。図4(a)の例では、各画素が8ビットで表現される場合を示しており、各画素は0〜255の値をとる。ここでは、色プレーンが1つのみのモノクロ画像の場合について説明する。図4(b)は0と128の2つの値だけをとるニ値画像となっている。なお、ここでは、説明の簡略化のため、原画像、ニ値画像ともに9×8画素としている。埋め込み処理実行部5では、図4(a)に示した原画像と図4(b)に示したニ値画像が入力された場合、各画素ごとに加算処理を行う。この際、加算した結果が255を超えた場合は、256を引き算して、0〜255に収めるための処理を行う。すなわち、8ビットで表現し、桁あふれは無視するのである。この結果、図4(c)に示すような透かし入り画像が得られる。なお、原画像がカラー画像の場合は、原画像の各プレーンについて、上記のようなニ値画像との加算処理が行われる。   Here, the process by the visible information embedding process execution unit 5 will be described with reference to FIG. 4A is an original image input from the original image input unit 1, and FIG. 4B is a binary image (identification image) that serves as a digital watermark converted by the raster conversion unit 4. . In the example of FIG. 4A, each pixel is represented by 8 bits, and each pixel takes a value of 0-255. Here, a case of a monochrome image having only one color plane will be described. FIG. 4B shows a binary image that takes only two values, 0 and 128. Here, for simplification of explanation, both the original image and the binary image are 9 × 8 pixels. When the original image shown in FIG. 4A and the binary image shown in FIG. 4B are input, the embedding processing execution unit 5 performs addition processing for each pixel. At this time, if the result of addition exceeds 255, 256 is subtracted to perform processing for accommodating 0 to 255. That is, it is expressed by 8 bits, and overflow is ignored. As a result, a watermarked image as shown in FIG. 4C is obtained. When the original image is a color image, the above addition processing with the binary image is performed for each plane of the original image.

図3(a)に示した装置は、図1(a)に示した基本概念を実行する装置と共に1台のコンピュータに組み込まれて実現される。したがって、上記のようにして可視透かし入り画像出力部7から出力される可視透かし入り画像は、原データとして、図1に示したような基本概念に従って符号化される。また、属性情報文字コード入力部3から入力された文字コードは、不可視属性情報として、符号化方式の決定に用いられる。すなわち、属性情報文字コード入力部3からは、属性情報を1回入力するだけで可視属性情報、不可視属性情報として2箇所において、利用されることになる。   The apparatus shown in FIG. 3A is realized by being incorporated in one computer together with the apparatus for executing the basic concept shown in FIG. Therefore, the visible watermarked image output from the visible watermarked image output unit 7 as described above is encoded as original data in accordance with the basic concept as shown in FIG. The character code input from the attribute information character code input unit 3 is used as invisible attribute information to determine the encoding method. That is, the attribute information character code input unit 3 is used in two places as visible attribute information and invisible attribute information by inputting the attribute information only once.

(4.2.可視電子透かしの除去)
可視属性情報、不可視属性情報が埋め込まれた符号化データは、図1(b)に示した基本概念に従って復号され、原データおよび不可視属性情報が得られる。さらに、原データである可視透かし入り画像および不可視属性情報を利用して、可視透かし入り画像から可視電子透かしを除去する。可視電子透かしを除去する装置を図3(b)に示す。図3(b)において、11は可視透かし入り画像入力部、12は文字フォント記憶部、13は属性情報文字コード入力部、14はラスター変換部、15は透かし除去実行部、16は原画像出力部である。
(4.2. Removal of visible digital watermark)
The encoded data in which the visible attribute information and the invisible attribute information are embedded is decoded according to the basic concept shown in FIG. 1B, and the original data and the invisible attribute information are obtained. Furthermore, the visible digital watermark is removed from the visible watermarked image using the visible watermarked image and the invisible attribute information which are the original data. An apparatus for removing the visible watermark is shown in FIG. In FIG. 3B, 11 is an image input unit with a visible watermark, 12 is a character font storage unit, 13 is an attribute information character code input unit, 14 is a raster conversion unit, 15 is a watermark removal execution unit, and 16 is an original image output. Part.

可視透かし入り画像入力部11は、復号された原データである可視透かし入り画像を入力するためのものである。文字フォント記憶部12は、可視情報埋め込み装置において利用した文字フォントと全く同じ文字フォントを記憶したものである。属性情報文字コード入力部13は復号により得られた不可視属性情報を入力する機能を有する。ここでは、復号により文字コードの形式で得られるため、そのまま入力されることになる。ラスター変換部14は、属性情報文字コード入力部13から入力された文字コードを、文字フォント記憶部12を参照してラスターデータ形式のニ値画像に変換する機能を有している。透かし除去実行部15は、ラスター変換部14から出力されるニ値画像と可視透かし入り画像入力部11から入力された可視透かし入り画像を各画素ごとに加算して、透かし入り画像から電子透かしを除去した原画像として出力する機能を有している。原画像出力部16は、電子透かしを除去した原画像を出力するためのものであり、例えば、画面に表示出力するディスプレイ装置等が適用できる。図3(b)に示す装置は、図1(b)に示した基本概念を実行する装置と共に1台のコンピュータに組み込まれて実現される。   The visible watermarked image input unit 11 is for inputting a visible watermarked image that is the decoded original data. The character font storage unit 12 stores the same character font as the character font used in the visible information embedding device. The attribute information character code input unit 13 has a function of inputting invisible attribute information obtained by decoding. Here, since it is obtained in the form of a character code by decoding, it is input as it is. The raster conversion unit 14 has a function of converting the character code input from the attribute information character code input unit 13 into a binary image in a raster data format with reference to the character font storage unit 12. The watermark removal execution unit 15 adds the binary image output from the raster conversion unit 14 and the visible watermarked image input from the visible watermarked image input unit 11 for each pixel, and adds a digital watermark from the watermarked image. It has a function to output as a removed original image. The original image output unit 16 is for outputting an original image from which a digital watermark has been removed. For example, a display device that displays and outputs on a screen can be applied. The apparatus shown in FIG. 3B is implemented by being incorporated in one computer together with an apparatus that executes the basic concept shown in FIG.

ここで、透かし除去実行部15による処理を、図4を用いて説明する。上記のように、復号された可視透かし入り画像は図4(c)に示すようなものとなっている。また、ラスター変換部14から出力されるニ値画像は図4(b)に示すようなものとなっている。透かし除去実行部15では、図4(c)に示した透かし入り画像と図4(b)に示したニ値画像が入力された場合、各画素ごとに加算処理を行う。この際、加算した結果が255を超えた場合は、256を引き算して、0〜255に収めるための処理を行う。すなわち、8ビットで表現し、桁あふれは無視するのである。この結果、図4(a)に示すような原画像が得られる。なお、透かし入り画像がカラー画像の場合は、透かし入り画像の各プレーンについて、上記のようなニ値画像との加算処理が行われる。   Here, the processing by the watermark removal execution unit 15 will be described with reference to FIG. As described above, the decoded image with the visible watermark is as shown in FIG. The binary image output from the raster conversion unit 14 is as shown in FIG. When the watermarked image shown in FIG. 4C and the binary image shown in FIG. 4B are input, the watermark removal execution unit 15 performs addition processing for each pixel. At this time, if the result of addition exceeds 255, 256 is subtracted to perform processing for accommodating 0 to 255. That is, it is expressed by 8 bits, and overflow is ignored. As a result, an original image as shown in FIG. When the watermarked image is a color image, the above addition processing with the binary image is performed for each plane of the watermarked image.

(5.変形例)
以上、本発明の好適な実施形態について説明したが、本発明は、上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、複数の符号化方式として、線形予測式を用いたが、これに加えて公知のランレングス方式を併用するようにしても良いし、また、線形予測式やランレングス方式に代えて、公知の様々な符号化方式を利用することが可能である。
(5. Modifications)
The preferred embodiment of the present invention has been described above. However, the present invention is not limited to the above embodiment, and various modifications can be made. For example, in the above-described embodiment, a linear prediction formula is used as a plurality of encoding schemes. However, a known run-length scheme may be used in addition to this, or a linear prediction formula or a run-length scheme may be used. Instead of this, various known encoding methods can be used.

また、上記実施形態では、原データを複数のブロックに分割した後、符号化効率の算出を行うようにしたが、前処理として、ブロック分割後に、冗長ビット圧縮、サブサンプル圧縮、チャンネル間相関圧縮、フレーム間相関圧縮等の周知の圧縮方式を組み合わせることも可能である。   In the above embodiment, the encoding efficiency is calculated after dividing the original data into a plurality of blocks. However, as preprocessing, redundant bit compression, subsample compression, and inter-channel correlation compression are performed after block division. It is also possible to combine known compression methods such as inter-frame correlation compression.

図1は、本発明に係る電子透かしの埋め込み方法および抽出方法の基本概念を示す図である。FIG. 1 is a diagram showing a basic concept of a digital watermark embedding method and extraction method according to the present invention. 予測誤差算出処理を行う際の各画素の位置関係を示す図である。It is a figure which shows the positional relationship of each pixel at the time of performing a prediction error calculation process. 可視情報の埋め込みおよび抽出を実行する装置の構成図である。It is a block diagram of the apparatus which performs embedding and extraction of visible information. 可視情報の埋め込みおよび抽出の様子を示す図である。It is a figure which shows the mode of embedding and extraction of visible information.

符号の説明Explanation of symbols

1・・・原画像入力部
2、12・・・文字フォント記憶部
3、13・・・属性情報文字コード入力部
4、14・・・ラスター変換部
5・・・可視情報埋め込み処理実行部
6・・・可視透かし入り画像出力部
11・・・可視透かし入り画像入力部
15・・・可視情報除去実行部
16・・・原画像出力部


DESCRIPTION OF SYMBOLS 1 ... Original image input part 2, 12 ... Character font memory | storage part 3, 13 ... Attribute information character code input part 4, 14 ... Raster conversion part 5 ... Visible information embedding process execution part 6 ... Image output section with visible watermark 11 ... Image input section with visible watermark 15 ... Visible information removal execution section 16 ... Original image output section


Claims (9)

符号化対象とするデータを、複数のブロックに分割するブロック分割段階と、
あらかじめ準備した複数の符号化方式について、前記各ブロックに対する符号化効率を算出する符号化効率算出段階と、
電子透かしとして埋め込む不可視属性情報を示す数値配列、および、前記各ブロックについて算出された符号化効率の順位に基づいて、前記複数の符号化方式の中から1つの符号化方式を決定する符号化方式決定段階と、
前記決定された符号化方式に基づいて、どの符号化方式を適用したかが明確になるように、当該ブロックに対して符号化を行い、符号化ブロックを生成するブロック符号化段階と、
を有することを特徴とする電子透かしの埋め込み方法。
A block division stage for dividing the data to be encoded into a plurality of blocks;
For a plurality of coding schemes prepared in advance, an encoding efficiency calculation stage for calculating the encoding efficiency for each block;
An encoding method for determining one encoding method from among the plurality of encoding methods based on a numerical array indicating invisible attribute information to be embedded as a digital watermark and the order of encoding efficiency calculated for each block The decision stage;
Based on the determined coding method, a block coding step of performing coding on the block so as to clarify which coding method is applied and generating a coded block;
A method for embedding a digital watermark, comprising:
請求項1において、
前記ブロック符号化段階は、符号化方式を特定する情報を当該ブロックに記録することにより、どの符号化方式を適用したかを明確にするものであることを特徴とする電子透かしの埋め込み方法。
In claim 1,
The method of embedding an electronic watermark according to claim 1, wherein the block coding step clarifies which coding method is applied by recording information specifying the coding method in the block.
請求項1または請求項2において、
前記ブロック分割段階の前段に、前記不可視属性情報を基に可視属性情報を生成する可視属性情報生成段階と、前記符号化対象とするデータに対して、前記生成された可視属性情報を埋め込む可視属性情報埋め込み段階と、
を有することを特徴とする電子透かしの埋め込み方法。
In claim 1 or claim 2,
Visible attribute information generating step for generating visible attribute information based on the invisible attribute information and a visible attribute for embedding the generated visible attribute information for the data to be encoded before the block division step Information embedding stage,
A method for embedding a digital watermark, comprising:
請求項3において、
前記符号化対象とするデータが静止画又は動画を収録したものであり、
前記不可視属性情報は文字コードであり、前記可視属性情報生成段階は、前記文字コードを所定の文字フォントを用いて画像データの形式をもつ可視属性情報に変換することを特徴とする電子透かしの埋め込み方法。
In claim 3,
The data to be encoded is a recording of a still image or a moving image,
The invisible attribute information is a character code, and the visible attribute information generation step converts the character code into visible attribute information having a format of image data using a predetermined character font. Method.
請求項3において、
前記符号化対象とするデータが音を収録した音響データであり、
前記不可視属性情報は文字コードであり、前記可視属性情報生成段階は、前記文字コードを所定の音声合成方式を用いて波形データの形式をもつ可視属性情報に変換することを特徴とする電子透かしの埋め込み方法。
In claim 3,
The data to be encoded is acoustic data containing sound,
The invisible attribute information is a character code, and the visible attribute information generation step converts the character code into visible attribute information having a waveform data format using a predetermined speech synthesis method. Embed method.
請求項1または請求項2において、
前記符号化方式は、線形予測法を用いたロスレス符号化であり、各符号化方式として複数の線形予測式を準備したものであることを特徴とする電子透かしの埋め込み方法。
In claim 1 or claim 2,
The digital watermark embedding method, wherein the coding method is lossless coding using a linear prediction method, and a plurality of linear prediction equations are prepared as the respective coding methods.
請求項1または請求項2において、
前記符号化対象とするデータが静止画又は動画を収録したものであり、
前記ブロック分割段階は、前記静止画である画像データ、又は前記動画を構成する画像データの二次元空間をX方向およびY方向にほぼ等分割するようなタイル分割を行うことを特徴とする電子透かしの埋め込み方法。
In claim 1 or claim 2,
The data to be encoded is a recording of a still image or a moving image,
The digital watermarking is characterized in that the block division step performs tile division so as to divide the two-dimensional space of the image data which is the still image or the image data constituting the moving image substantially equally in the X direction and the Y direction. Embedding method.
複数の符号化ブロックで構成された符号化データから、各符号化ブロックを認識する符号化ブロック認識段階と、
前記各符号化ブロックに指示されている符号化方式に対応する復号方式に基づいて、各符号化ブロックの復号を行い、ブロックを復元するブロック復号段階と、
あらかじめ準備した複数の符号化方式について、前記復号された各ブロックに対する符号化効率を算出する符号化効率算出段階と、
前記各ブロックについて算出された符号化効率の順位、および前記各ブロックと対応する符号化ブロックに指示されている符号化方式に基づいて、不可視属性情報を示す数値配列を抽出する不可視属性情報抽出段階と、
を有することを特徴とする電子透かしの抽出方法。
A coding block recognition stage for recognizing each coding block from coding data composed of a plurality of coding blocks;
A block decoding step of decoding each encoded block based on a decoding method corresponding to the encoding method indicated to each encoded block, and restoring the block;
For a plurality of encoding schemes prepared in advance, an encoding efficiency calculation stage for calculating the encoding efficiency for each decoded block;
An invisible attribute information extraction step of extracting a numerical array indicating invisible attribute information based on the encoding efficiency rank calculated for each block and the encoding method designated by the encoding block corresponding to each block When,
A method for extracting a digital watermark, comprising:
請求項8において、
前記ブロック復号段階で生成されたブロックで構成されるデータには、前記不可視属性情報抽出段階で抽出された不可視属性情報を基に生成された可視属性情報が埋め込まれており、
前記不可視属性情報抽出段階の後段に、前記データについて、前記抽出された不可視属性情報を基に可視属性情報を生成する可視属性情報生成段階と、
前記生成された可視属性情報を、前記データから除去する可視属性情報除去段階と、
を有することを特徴とする電子透かしの抽出方法。


In claim 8,
Visible attribute information generated based on the invisible attribute information extracted in the invisible attribute information extraction stage is embedded in the data composed of the blocks generated in the block decoding stage,
After the invisible attribute information extraction step, for the data, a visible attribute information generation step for generating visible attribute information based on the extracted invisible attribute information,
A visible attribute information removing step of removing the generated visible attribute information from the data;
A method for extracting a digital watermark, comprising:


JP2004270636A 2004-09-17 2004-09-17 Method for embedding and extracting digital watermark Expired - Fee Related JP4124366B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004270636A JP4124366B2 (en) 2004-09-17 2004-09-17 Method for embedding and extracting digital watermark

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004270636A JP4124366B2 (en) 2004-09-17 2004-09-17 Method for embedding and extracting digital watermark

Publications (2)

Publication Number Publication Date
JP2006086906A JP2006086906A (en) 2006-03-30
JP4124366B2 true JP4124366B2 (en) 2008-07-23

Family

ID=36165025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004270636A Expired - Fee Related JP4124366B2 (en) 2004-09-17 2004-09-17 Method for embedding and extracting digital watermark

Country Status (1)

Country Link
JP (1) JP4124366B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101571573B1 (en) * 2007-09-28 2015-11-24 돌비 레버러토리즈 라이쎈싱 코오포레이션 Multimedia coding and decoding with additional information capability
JP5206024B2 (en) 2008-02-28 2013-06-12 富士通株式会社 Image decryption device, image encryption device, image decryption method, and image decryption program
EP3335422B1 (en) * 2015-12-23 2021-12-01 Huawei Technologies Co., Ltd. Method and apparatus for transform coding with block-level transform selection and implicit signaling within hierarchical partitioning
CN111292219A (en) * 2018-11-21 2020-06-16 慧盾信息安全科技(苏州)股份有限公司 Method for realizing hidden watermark of picture image data
CN115358911B (en) * 2022-10-20 2023-01-31 北京万里红科技有限公司 Screen watermark generation method, device, equipment and computer readable storage medium
CN117499664B (en) * 2023-12-29 2024-03-19 南京博润类脑智能技术有限公司 Image data embedding and extracting method and device based on bit substitution

Also Published As

Publication number Publication date
JP2006086906A (en) 2006-03-30

Similar Documents

Publication Publication Date Title
JP5373909B2 (en) CABAC / AVC compliant watermarking of syntax elements in compressed video
KR101361591B1 (en) Covert and robust mark for media identification
KR100425613B1 (en) Image encoding apparatus and image encoding method
JP5718556B2 (en) Document authentication method and program
US6633652B1 (en) Method of inserting a watermark and authenticating a digital signal
CN104537127A (en) Video descriptor generation device
US20070086060A1 (en) Encoding apparatus, decoding apparatus, encoding method, computer product, and printed material
JP2001203878A (en) Device and method for processing image
JP3930502B2 (en) Quality adjustment system and watermark quality inspection device
JP3938534B2 (en) Image processing apparatus and method, image forming apparatus, and program
JP4124366B2 (en) Method for embedding and extracting digital watermark
Firmansyah et al. An improved neighbouring similarity method for video steganography
JP2006121460A (en) Method for embedding electronic watermark and method for extracting the same
JP3672143B2 (en) How to create an electronic watermark
CN100373408C (en) Perceptible reversible watermarks
JP4652167B2 (en) Image processing apparatus, image processing method, and program
JP2003289435A (en) Image data generation method, falsification detecting method, image data generation apparatus, falsification detection apparatus, computer program, and recording medium
JP3805141B2 (en) Image processing method and apparatus, and storage medium
JP4373230B2 (en) Data file encoding method
CN1148970C (en) Digit image coding/decoding device and method using water mark
JP3777993B2 (en) Image data processing method, image data processing apparatus, and image data processing program
JP4625406B2 (en) Information embedding device, information extracting device, information embedding method, information extracting method, information embedding program, information extracting program, and information storage medium
JP4223353B2 (en) Digital watermark embedding apparatus, digital watermark detection apparatus and method, and recording medium
JP5102160B2 (en) Image processing apparatus, image processing system, image processing method, and image processing program
Jindal et al. High capacity Reversible Data Hiding scheme using prediction tuning model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070620

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080430

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140516

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees