KR20060081180A - Method and apparatus for embedding and detecting watermarks in jpeg compressed data - Google Patents

Method and apparatus for embedding and detecting watermarks in jpeg compressed data Download PDF

Info

Publication number
KR20060081180A
KR20060081180A KR1020050001648A KR20050001648A KR20060081180A KR 20060081180 A KR20060081180 A KR 20060081180A KR 1020050001648 A KR1020050001648 A KR 1020050001648A KR 20050001648 A KR20050001648 A KR 20050001648A KR 20060081180 A KR20060081180 A KR 20060081180A
Authority
KR
South Korea
Prior art keywords
watermark
quantization
quantization values
values
value
Prior art date
Application number
KR1020050001648A
Other languages
Korean (ko)
Other versions
KR100620537B1 (en
Inventor
최종욱
김영남
Original Assignee
주식회사 마크애니
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 주식회사 마크애니 filed Critical 주식회사 마크애니
Priority to KR1020050001648A priority Critical patent/KR100620537B1/en
Publication of KR20060081180A publication Critical patent/KR20060081180A/en
Application granted granted Critical
Publication of KR100620537B1 publication Critical patent/KR100620537B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Abstract

JPEG 압축 데이터에 양자화 도메인에서 워터마크를 삽입 및 추출하는 방법이 제공된다. 워터마크의 삽입은 복수의 양자화 값 블록의 각각의 블록으로부터 일부 양자화 값을 선택하고, 선택된 양자화 값을 소정의 양호도에 대응하는 양자화 값으로 변환하고, 변환된 양자화 값에 대하여 워터마크 삽입여부를 판단하고, 변환된 양자화 값에 대하여 오차 조절을 수행하며, 변환된 양자화 값에 워터마크를 삽입함으로써 이루어진다. 워터마크의 추출은 복수의 양자화 값 블록의 각각의 블록으로부터 일부 양자화 값을 선택하고, 선택된 양자화 값을 소정의 양호도에 대응하는 양자화 값으로 변환하고, 변환된 양자화 값에 대하여 워터마크 추출 여부를 판단하며 변환된 양자화 값으로부터 워터마크를 추출함으로써 이루어진다.A method of embedding and extracting watermarks in a quantization domain into JPEG compressed data is provided. Inserting a watermark selects some quantization values from each block of the plurality of quantization value blocks, converts the selected quantization values into quantization values corresponding to a predetermined goodness level, and inserts a watermark for the converted quantization values. The determination is performed by performing error control on the transformed quantization value and inserting a watermark into the transformed quantization value. Extracting the watermark selects a partial quantization value from each block of the plurality of quantization value blocks, converts the selected quantization value into a quantization value corresponding to a predetermined goodness level, and determines whether or not to extract the watermark with respect to the converted quantization value. And extracting the watermark from the transformed quantized value.

워터마크, 양자화 테이블, 양자화 값, 양자화 도메인, 양호도Watermark, quantization table, quantization value, quantization domain, goodness

Description

JPEG 압축 데이터에 워터마크를 삽입 및 추출하는 방법 및 장치{METHOD AND APPARATUS FOR EMBEDDING AND DETECTING WATERMARKS IN JPEG COMPRESSED DATA}Method and apparatus for inserting and extracting watermarks into compressed data {METHOD AND APPARATUS FOR EMBEDDING AND DETECTING WATERMARKS IN JPEG COMPRESSED DATA}

도 1 은 본 발명에 따른 워터마크 삽입 및 추출 방법을 개략적으로 나타낸 흐름도이다.1 is a flowchart schematically illustrating a watermark embedding and extraction method according to the present invention.

도 2 은 본 발명에 따른 워터마크 삽입 방법을 나타내는 흐름도이다.2 is a flowchart illustrating a watermark embedding method according to the present invention.

도 3 는 본 발명에 따른 워터마크 추출 방법을 나타내는 흐름도이다.3 is a flowchart illustrating a watermark extraction method according to the present invention.

도 4 는 본 발명에 따른 워터마크 삽입 장치를 도시한 블록도이다.4 is a block diagram showing a watermark embedding apparatus according to the present invention.

도 5 는 본 발명에 따른 워터마크 추출 장치를 도시한 블록도이다.5 is a block diagram showing a watermark extraction apparatus according to the present invention.

도 6a 는 본 발명에 따른 워터마크 삽입 방법에 의하여 워터마크가 삽입된 이미지이다.6A is an image in which a watermark is inserted by the watermark embedding method according to the present invention.

도 6b 는 6a 의 이미지에 변조를 가한 이미지이다.6B is an image in which modulation is applied to the image of 6a.

도 7a 는 도 6a 의 이미지의 상호상관관계 (cross correlation) 을 나타낸 그래프이다.FIG. 7A is a graph showing cross correlation of the image of FIG. 6A. FIG.

도 7b 는 도 6b 의 이미지의 상호상관관계를 나타낸 그래프이다.FIG. 7B is a graph showing the correlation of the image of FIG. 6B.

도 8 은 본 발명의 워터마크 삽입 및 추출 방법의 JPEG 압축에 대한 강인성을 나타내는 그래프이다.8 is a graph showing the robustness to JPEG compression of the watermark embedding and extraction method of the present invention.

도 9 은 일반적인 JPEG 압축 방법을 나타내는 흐름도이다. 9 is a flowchart illustrating a general JPEG compression method.

도 10 은 ISO 표준 양자화 테이블을 도시한다.10 shows an ISO standard quantization table.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

400, 500: 제어기 402, 502: 허프만 디코더 400, 500: controllers 402, 502: Huffman decoder

404, 504: 양자화 값 변환기 406: 오차 조절기404, 504: Quantization Value Converter 406: Error Regulator

408: 워터마크 삽입기 410: 허프만 디코더408: watermark inserter 410: Huffman decoder

506: 워터마크 추출기506: watermark extractor

본 발명은 JPEG 압축 데이터에 워터마크를 삽입하는 방법에 관한 것으로, 특히 JPEG 압축 데이터의 양자화 도메인에서 워터마크를 삽입하는 방법에 관한 것이다.The present invention relates to a method of embedding a watermark in JPEG compressed data, and more particularly, to a method of embedding a watermark in the quantization domain of JPEG compressed data.

최근 컴퓨터와 인터넷의 급속한 발전에 따라, 이미지, 오디오, 비디오 등의 디지털 데이터가 널리 사용되며 다수의 사용자간에서 전달되고 있다. 그러나, 이들 데이터는 그 데이터의 크기가 커 큰 용량의 저장 공간을 차지하고 전송·수신이 오래 걸린다는 문제점이 있다. 이러한 문제를 해결하기 위하여 다양한 압축 방법이 제안되었으며, 이미지 데이터에 대하여서는 JPEG 압축 방법이 널리 사용되고 있다.In recent years, with the rapid development of computers and the Internet, digital data such as images, audio, and video are widely used and are transmitted among a large number of users. However, these data have a problem that the data is large in size, occupies a large storage space, and takes long time to transmit and receive. Various compression methods have been proposed to solve this problem, and the JPEG compression method is widely used for image data.

도 9 는 일반적인 JPEG 압축 방법을 나타내는 흐름도이다. JPEG 압축 방법은 크게, DCT (Discrete Cosine Transform) 단계 (902), 양자화 (Quantization) 단계 (904) 및 엔트로피 인코딩 단계 (906) 로 나누어진다.9 is a flowchart illustrating a general JPEG compression method. The JPEG compression method is largely divided into a discrete cosine transform (DCT) step 902, a quantization step 904, and an entropy encoding step 906.

DCT 단계 (902) 에서는, 이산 코사인 변환을 이용하여 공간 도메인의 디지털 이미지 데이터를 공간 주파수 (spatial frequency) 도메인의 DCT 계수로 변환한다. 이 단계 (902) 에서 다수의 DCT 계수 블록들이 얻어진다.In the DCT step 902, a discrete cosine transform is used to convert digital image data in the spatial domain into DCT coefficients in the spatial frequency domain. In this step 902 multiple DCT coefficient blocks are obtained.

다음, 양자화 단계 (904) 에서는 DCT 계수를 양자화한다. 양자화는 양자화 테이블에 의하여 이루어지는데, 최적의 양자화 테이블은 대상 이미지에 따라 달라질 수 있으며, 구체적 응용에 따라 사용자가 임의로 선택할 수 있다. ISO 표준에서는 표준 양자화 테이블을 정하고 있으며, 표준 양자화 테이블은 도 10 에 도시되어 있다. 양자화 단계 (904) 에 의하여, DCT 계수 블록들은 양자화 값의 블록으로 변환된다. 양자화 단계 (904) 의 구체적인 과정에 대하여서는 후술한다.Next, in quantization step 904, the DCT coefficients are quantized. Quantization is performed by a quantization table. The optimal quantization table may vary depending on the target image, and may be arbitrarily selected by a user according to a specific application. The ISO standard defines a standard quantization table, which is shown in FIG. By quantization step 904, the DCT coefficient blocks are transformed into blocks of quantization values. A detailed process of the quantization step 904 will be described later.

마지막으로, 엔트로피 인코딩 단계 (906) 에서 양자화 값 블록은 허프만 인코딩 (Huffman encoding) 되어 JPEG 압축된 부호로 변환된다.Finally, in entropy encoding step 906, the quantized value block is Huffman encoded and converted into a JPEG compressed code.

JPEG 압축된 데이터의 복원은 JPEG 압축 과정의 역과정을 통하여 이루어진다.Restoration of JPEG compressed data is performed through the reverse process of the JPEG compression process.

이하, 양자화 단계에 대하여 상세히 설명한다. Hereinafter, the quantization step will be described in detail.

양자화 테이블의 각 양자 (quantum) 값은 양호도 (quality factor) 에 의하여 스텝 사이즈로 변환되며, 이러한 변환은 다음의 식 (1) 로 표현된다.Each quantum value of the quantization table is converted into a step size by a quality factor, which is expressed by the following equation (1).

Figure 112005000974515-PAT00001
Figure 112005000974515-PAT00001

상기 식 (1) 에서, QTu,v 는 양자화 테이블 u 행 v 열의 양자값이고, su,v 는 QTu,v 에 대응하는 스텝 사이즈이며, QF 는 양호도이다. 상기 식 (1) 에서 볼 수 있듯이, 양호도 값이 증가할 수록 스텝 사이즈는 작아지며, 후술하는 바와 같이 스텝 사이즈가 작을수록 압축률은 작아지고 이미지의 품질은 향상된다.In the formula (1), QT u, v is a quantum value of the quantization table u rows v columns, s u, v is a step size corresponding to QT u, v , and QF is good. As can be seen from Equation (1), as the goodness value increases, the step size becomes smaller. As described later, the smaller the step size, the smaller the compression ratio and the better the image quality.

다음, 얻어진 스텝 사이즈를 사용하여 DCT 계수를 양자화한다. 하나의 양자화 테이블로부터 얻어진 하나의 스텝 사이즈의 테이블은 한 블록의 DCT 계수 (702) 에 적용되어 한 블록의 양자화 값 (quantized value) 을 얻는다. 이 때, 하나의 스텝 사이즈는 DCT 계수 블록 내 대응되는 위치의 DCT 계수에 적용되며, 이러한 양자화는 다음 식으로 표현된다.Next, the DCT coefficients are quantized using the obtained step size. One step size table obtained from one quantization table is applied to one block of DCT coefficients 702 to obtain a quantized value of one block. At this time, one step size is applied to the DCT coefficient at the corresponding position in the DCT coefficient block, and this quantization is expressed by the following equation.

Figure 112005000974515-PAT00002
Figure 112005000974515-PAT00002

여기서, DCTu,v 는 DCT 계수 블록 내의 스텝 사이즈 (su,v) 와 대응되는 위치 (즉, u 행 v 열) 의 DCT 계수이며, Qu,v 는 DCTu,v 로부터의 양자화 값이다.Where DCT u, v is the DCT coefficient at the position (i.e., row u column) corresponding to the step size (s u, v ) in the DCT coefficient block, and Q u, v is the quantization value from DCT u, v .

식 (2) 에서와 같이, 스텝 사이즈가 작을수록 DCT 계수는 더욱 세밀하게 양자화 되고, 그에 따라 이미지의 품질이 향상된다. 그러나, 양자화가 세밀하게 이루어지므로, 압축률은 감소하게 된다. 이와 같은 양자화를 통하여, DCT 계수 블록은 양자화 값의 블록으로 변환된다.As in Equation (2), the smaller the step size, the more finely quantized the DCT coefficients, thereby improving the quality of the image. However, because the quantization is fine, the compression rate is reduced. Through such quantization, the DCT coefficient block is converted into a block of quantization values.

상술한 바와 같은 JPEG 압축 방법에 의하여 이미지의 데이터 량은 크게 감소되며, 디지털 이미지의 저장, 전송, 편집 등이 매우 용이하게 되었다. 그러나, JPEG 압축 방법은 디지털 이미지의 무결성 (integrity) 의 보장을 위한 어떠한 수단도 제공하지 못하여, 위변조에 매우 취약하다는 단점을 갖는다.By the JPEG compression method as described above, the amount of data in the image is greatly reduced, and storage, transmission, and editing of digital images are very easy. However, the JPEG compression method does not provide any means for guaranteeing the integrity of the digital image, and has the disadvantage of being very vulnerable to forgery and alteration.

종래에, 이런 문제를 해결하기 위하여 디지털 이미지 데이터에 연약한 워터마크 (Fragile watermark) 를 삽입하는 방법이 공지되어 있다. 연약한 워터마크는 데이터가 위변조되면 손상되므로, 워터마크의 손상 여부를 판단함으로써 데이터의 위변조 여부를 판단할 수 있다. 그러나, 연약한 워터마크는 압축 과정에 의하여서도 손상되므로, JPEG 압축을 이용하는 경우에는 위변조를 거치지 않는 경우에도 워터마크가 손상되는 문제가 있었다.In the past, a method of embedding a fragile watermark in digital image data is known to solve this problem. The fragile watermark is damaged when the data is forged, so it can be determined whether the data is forged or not by judging the damage of the watermark. However, since the soft watermark is also damaged by the compression process, there is a problem that the watermark is damaged even without forgery when JPEG compression is used.

이러한 문제를 해결하기 위해, 준연약 워터마크 (semi-fragile watermark) 를 디지털 데이터에 삽입하는 방법이 알려져 있다. 준연약 워터마크는 압축에 의하여서는 손상되지 않지만 위변조에 의하여서는 손상되므로, 위변조 여부를 판단하는데 사용될 수 있다.To solve this problem, a method of embedding a semi-fragile watermark into digital data is known. The semi-soft watermark is not damaged by compression but is damaged by forgery, so it can be used to determine whether it is forgery.

디지털 이미지 압축 방법과 관련하여 준연약 워터마크를 삽입하는 방법은, 이미지 압축 전 공간 도메인에서 워터마크를 삽입하는 방법, 이미지의 압축 과정 중 주파수 도메인에서 워터마크를 삽입하는 방법 및 이미지의 압축 후 압축 도메인에서 워터마크를 삽입하는 방법으로 나누어진다.A method of inserting a semi-soft watermark in relation to a digital image compression method includes a method of inserting a watermark in the spatial domain before image compression, a method of inserting a watermark in the frequency domain during image compression, and compression after compression of the image. It is divided into a method of embedding a watermark in a domain.

공간 도메인에서 워터마크를 삽입하는 방법은 랑겔라 (G.C. Langelaar) 등의 논문 "라벨링 기술 기반의 멀티미디어 데이터 복제 방지 (Copy Protection for Multimedia Data based on Labeling techiques)" 에 개시되어 있으며, 주파수 도메인에서 워터마크를 삽입하는 방법은 콕스 (Cox I.J) 등의 논문 "멀티미디어에 대한 안전한 스프레드 스펙트럼 워터마크 (Secure spread spectrum watermarking for multimedia)" 에 개시되어 있다.The method of embedding a watermark in the spatial domain is described in GC Langelaar et al. "Copy Protection for Multimedia Data based on Labeling techiques", and watermark in the frequency domain. The method of inserting the method is disclosed in the paper "Secure spread spectrum watermarking for multimedia" by Cox IJ et al.

JPEG 압축 방법과 관련하여 워터마크를 삽입하는 방법으로, 높은 양호도로 이미지 데이터를 압축한 후 워터마크를 삽입하는 방법이 린 (C.Y. Lin) 등의 논문 "JPEG 비주얼 콘텐트 인증을 위한 준연약 워터마크 (Semi-Fragile Watermark for Authentication JPEG Visual Content)" 및 마에노 (Kurato Maeno) 등의 논문 "랜덤 바이어스와 비균일 양자화를 이용한 새로운 준연약 이미지 인증 워터마크 기술 (New Semi-Fragile Image Authentication Watermarking Techniques Using Random Bias and Non-Uniform Quantization)" 에 설명되어 있다. 이러한 방법은 JPEG 압축에 대한 강인성을 가지는 반면, 높은 양호도에 의한 사용자 임의의 양자화 테이블을 이용하기 때문에 ISO 의 표준 양자화 테이블에 의하여서는 워터마크의 추출이 불가능하고, DCT 부호화 및 복호화에 의한 계산량이 많다는 문제점이 있다.A method of inserting a watermark in relation to the JPEG compression method, and a method of inserting a watermark after compressing image data with high quality is described in a paper by CY Lin et al. Semi-Fragile Water Authentication for Authentication JPEG Visual Content "and Kueno Maeno et al." New Semi-Fragile Image Authentication Watermarking Techniques Using Random Bias and Non-Uniform Quantization. " While this method has robustness to JPEG compression, it is impossible to extract watermark by ISO standard quantization table because it uses user's arbitrary quantization table with high goodness, and the amount of calculation by DCT encoding and decoding There are many problems.

JPEG 압축 방법과 관련된 다른 워터마킹 방법으로, 주파수 도메인의 저주파 대역에 워터마크 정보를 삽입하는 방법이 린 (Eugene T. Lin) 등의 논문 "준연약 워터마크를 이용한 이미지 변경 검출 (Detection of image alterations using Semi-Fragile watermarking)" 에 설명되어 있다. 이 방법은 계산량이 감소한다는 장점이 있는 반면, DCT 계수에 워터마크 정보를 삽입하므로 이미지의 열화가 크 다는 문제점이 있다.As another watermarking method related to JPEG compression method, a method of embedding watermark information in the low frequency band of the frequency domain is described in Eugene T. Lin et al., "Detection of image alterations using semi-soft watermark. using Semi-Fragile watermarking). This method has the advantage of reducing the amount of computation, but has a problem that the degradation of the image is large because the watermark information is inserted into the DCT coefficients.

또 다른 워터마크 삽입 방법으로서, DCT 의 선형성을 이용하여 임의의 DCT 계수에만 워터마크를 삽입하는 방법이 변영배 등의 논문 "이산코사인변환의 선형성을 이용한 Semi-fragile 워타마킹" 에 설명되어 있다. 이 방법에 의하면 계산량이 감소되고 이미지의 열화를 줄일 수 있다. 그러나, 이 방법은 양호도 값 85 까지만 워터마크의 검출 에러가 0 % 로 유지되어, 인증범위가 85 까지로 제한되는 문제가 있었다.As another watermark embedding method, a method of embedding a watermark only in arbitrary DCT coefficients using the linearity of DCT is described in the paper "Semi-fragile warming using the linearity of discrete cosine transform" by Byun Young-bae et al. This method reduces computation and reduces image degradation. However, this method has a problem that the detection error of the watermark is maintained at 0% only up to the goodness value 85, so that the authentication range is limited to 85.

따라서,본 발명의 복적은 JPEG 압축에 강인한 준연약 워터마크 삽입 방법을 제공하는 것이다.Accordingly, the present invention provides a method for embedding a semi-soft watermark that is robust to JPEG compression.

또한, 본 발명의 목적은 ISO 양자화 테이블에 의하여서도 용이하게 추출이 가능하고, 계산량이 적은 워터마크 삽입 방법을 제공하는 것이다.It is also an object of the present invention to provide a watermark embedding method which can be easily extracted even by an ISO quantization table and has a small amount of calculation.

본 발명의 또 다른 목적은 이미지의 열화를 줄이면서도 인증범위가 넓은 워터마크 삽입 방법을 제공하는 것이다.Still another object of the present invention is to provide a watermark embedding method having a wide range of authentication while reducing deterioration of an image.

상기 목적을 달성하기 위하여, 본 발명의 워터마크 삽입 방법은 복수의 양자화 값 블록 각각에서 일부 양자화 값들을 선택하고 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는 단계, 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 삽입 여부를 결정하는 단계, 워터마크를 삽입할 블록의 변환된 상기 양자화 값들에 대하여 오차를 조절하는 단계, 및 오차 조 절된 상기 양자화 값들에 워터마크를 삽입하는 단계를 포함한다. 이에 의하여, JPEG 압축에 강인하면서도, 계산량이 감소되고 화질의 열화를 억제하는 워터마크 삽입이 가능하다.In order to achieve the above object, the watermark embedding method of the present invention selects some quantization values from each of a plurality of quantization value blocks and converts the selected quantization values into quantization values corresponding to a predetermined goodness level, wherein the transformed quantization Determining whether to insert a watermark for each block based on values, adjusting an error with respect to the transformed quantization values of a block into which a watermark is to be inserted, and inserting a watermark into the error-adjusted quantization values It includes a step. This makes it possible to embed a watermark that is robust to JPEG compression but reduces the amount of calculation and suppresses deterioration of image quality.

바람직하게는, 상기 변환하는 단계는 양자화 테이블 중 동일한 값을 갖는 양자들에 대응하는 양자화 값들을 선택한다.Preferably, the transforming step selects quantization values corresponding to quantizers having the same value in the quantization table.

또한, 바람직하게는, 상기 결정하는 단계는 변환된 상기 양자화 값들 상호의 크기 관계에 기초하여 워터마크 삽입 여부를 결정한다. 본 발명에 따르면, 워터마크의 추출 과정에 있어서 원본 이미지를 필요로 하지 않는다.Also, preferably, the determining may determine whether to insert a watermark based on the magnitude relationship between the converted quantization values. According to the present invention, the original image is not needed in the process of extracting the watermark.

상기 목적을 달성하기 위하여, 본 발명의 워터마크 추출 방법은 복수의 양자화 값 블록 각각에서 일부 양자화 값들을 선택하고 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는 단계, 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 추출 여부를 결정하는 단계, 및 워터마크를 추출할 블록의 변환된 상기 양자화 값들로부터 워터마크를 추출하는 단계를 포함한다.In order to achieve the above object, the watermark extraction method of the present invention selects some quantization values from each of a plurality of quantization value blocks and converts the selected quantization values into quantization values corresponding to a predetermined goodness, the transformed quantization Determining whether to extract a watermark for each block based on the values, and extracting a watermark from the transformed quantization values of the block from which the watermark is to be extracted.

바람직하게는, 상기 변환하는 단계는 양자화 테이블 중 동일한 값을 갖는 양자들에 대응하는 양자화 값들을 선택한다.Preferably, the transforming step selects quantization values corresponding to quantizers having the same value in the quantization table.

또한 바람직하게는, 상기 결정하는 단계는 변환된 상기 양자화 값들 상호의 크기 관계에 기초하여 워터마크 삽입 여부를 결정한다.Also preferably, the determining may determine whether to insert a watermark based on the magnitude relationship between the converted quantization values.

또한, 상기 목적을 달성하기 위하여, 본 발명의 워터마크 삽입 장치는 JPEG 압축 이미지에 대하여 허프만 디코딩을 수행하여 복수의 양자화 값 블록을 얻는 허 프만 디코딩 수단, 상기 복수의 양자화 값 블록 각각에서 양자화 테이블 중 동일한 값을 갖는 양자들에 대응하는 양자화 값들을 선택하고, 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는, 양자화 값 변환 수단, 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 삽입 여부를 결정하는, 결정 수단, 워터마크를 삽입할 블록의 상기 양자화 값들에 대하여 오차를 조절하는 오차 조절 수단, 및 오차 조절된 상기 양자화 값들에 워터마크를 삽입하는 워터마크 삽입 수단을 포함한다.In addition, in order to achieve the above object, the watermark embedding apparatus of the present invention performs Huffman decoding on a JPEG compressed image to obtain a plurality of quantized value blocks, wherein each of the plurality of quantized value blocks is included in the quantization table. Quantization value conversion means for selecting quantization values corresponding to quantizations having the same value and converting the selected quantization values into quantization values corresponding to a predetermined goodness degree, for each block based on the transformed quantization values Determining means for determining whether to insert a watermark, error adjusting means for adjusting an error with respect to the quantization values of a block into which a watermark is to be inserted, and watermark embedding means for inserting a watermark in the error-adjusted quantization values. do.

본 발명의 워터마크 추출 장치는 상기 JPEG 압축 이미지에 대하여 허프만 디코딩을 수행하여 복수의 양자화 값 블록을 얻는 허프만 디코딩 수단, 상기 복수의 양자화 값 블록 각각에서 양자화 테이블 중 동일한 값을 갖는 양자들에 대응하는 양자화 값들을 선택하고, 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는, 양자화 값 변환 수단, 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 추출 여부를 결정하는, 결정 수단, 및 워터마크를 추출할 블록의 변환된 상기 양자화 값들로부터 워터마크를 추출하는 단계를 포함한다.The watermark extraction apparatus of the present invention performs Huffman decoding on the JPEG compressed image to obtain a plurality of quantized value blocks, and corresponds to quantum having the same value among the quantization tables in each of the plurality of quantized value blocks. A quantization value converting means for selecting quantization values and converting the selected quantization values into quantization values corresponding to a predetermined goodness degree, determining whether to extract watermarks for each block based on the transformed quantization values Means for extracting a watermark from the transformed quantization values of the block from which the watermark is to be extracted.

도 1 은 본 발명에 따른 워터마크 삽입 및 추출 방법을 개략적으로 나타낸 흐름도이다. 본 발명의 워터마크의 삽입 및 추출은 양자화 도메인에서 수행된다. JPEG 압축 과정 중에서 본 발명의 워터마크 삽입 방법을 수행하는 경우에는, 양자화 단계 (104) 를 통해 얻어진 양자화 값 블록에 대하여 워터마크의 삽입을 수행하고 (단계 (114)), 워터마크가 삽입된 데이터에 엔트로피 인코딩 (단계 (106)) 을 수행하여 워터마크가 삽입된 JPEG 압축 데이터를 얻는다.1 is a flowchart schematically illustrating a watermark embedding and extraction method according to the present invention. Insertion and extraction of the watermark of the present invention is performed in the quantization domain. In the case of performing the watermark embedding method of the present invention during the JPEG compression process, the watermark is inserted into the quantization value block obtained through the quantization step 104 (step 114), and the watermarked data is inserted. Entropy encoding (step 106) is performed to obtain JPEG compressed data with the watermark embedded therein.

JPEG 압축된 데이터에 본 발명의 워터마크 삽입 방법을 수행하는 경우에는, JPEG 압축된 데이터에 엔트로피 디코딩을 수행하여 (단계 (108)) 양자화 값 블록을 얻는다. 그 후, 양자화 값 블록에 워터마크를 삽입하고 (단계 (114)) 이를 다시 엔트로피 인코딩하여 (단계 (106)) 워터마크가 삽입된 JPEG 압축 데이터를 얻는다.When performing the watermark embedding method of the present invention on JPEG compressed data, entropy decoding is performed on the JPEG compressed data (step 108) to obtain a quantized value block. The watermark is then inserted into the quantization value block (step 114) and entropy encoded again (step 106) to obtain JPEG compressed data with the watermark embedded.

워터마크가 삽입된 JPEG 압축 데이터에 대하여 본 발명의 워터마크 추출 방법을 수행하는 경우에는, 엔트로피 디코딩 (단계 (108)) 를 수행하여 워터마크가 삽입된 양자화 값 블록을 얻고, 이에 대하여 워터마크를 추출한다 (단계 (114)). 이후, 양자화 값 블록에 대하여서는 역양자화 (dequantization; 단계 (110)) 및 IDCT (Inverse Decrete Cosine Transform; 단계 (112)) 를 수행하여 복원된 이미지 데이터를 얻는다.In the case of performing the watermark extraction method of the present invention on JPEG-compressed data embedded with watermarks, entropy decoding (step 108) is performed to obtain a watermark-embedded quantized block of values, and to generate watermarks. Extract (step 114). Subsequently, dequantization (step 110) and Inverse Decrete Cosine Transform (step 112) are performed on the quantized value block to obtain reconstructed image data.

이하, 도 2 를 참조하여, 본 발명에 따른 워터마크 삽입 방법의 구체적인 실시형태를 설명한다.2, a specific embodiment of the watermark embedding method according to the present invention will be described.

본 실시형태의 워터마크 삽입 방법은 JEPG 압축된 이미지 데이터를 허프만 디코딩하는 단계 (202) 에서 시작한다. JPEG 압축된 이미지 데이터를 허프만 디코딩 함으로써, 복수의 양자화 값 테이블을 얻는다. The watermark embedding method of this embodiment begins at step 202 of Huffman decoding JEPG compressed image data. By Huffman decoding JPEG compressed image data, a plurality of quantization value tables are obtained.

다음, 얻어진 양자화 값 테이블에서, 일부 양자화 값을 선택하여 소정 양호도에 대응하는 양자화 값으로 변환한다 (단계 (204)). 이 단계 (204) 는 상기 식 (1) 및 (2) 를 이용하여 이루어진다. 이 때, 양자화 값은 JPEG 압축에서 사용된 양자화 테이블에 기초하여 선택되며, 양자화 테이블 중 동일한 값을 갖는 양 자에 대응되는 양자화 값이 선택되는 것이 바람직하다.Next, in the obtained quantization value table, some quantization values are selected and converted into quantization values corresponding to a predetermined goodness level (step 204). This step 204 is accomplished using the equations (1) and (2) above. In this case, the quantization value is selected based on the quantization table used in JPEG compression, and it is preferable that the quantization value corresponding to the quantization having the same value among the quantization tables is selected.

상기 식 (1) 에서 보는 바와 같이, 동일한 값의 양자에 의하여서는 동일한 스텝 사이즈가 도출되므로, 이들에 대하여 양호도를 동일하게 변화시키면 식 (2) 에 의하여 각각의 양자화 값은 동일한 비율로 변화함을 알 수 있다. 따라서, 동일한 값을 갖는 양자에 대응하는 양자화 값을 변환함으로써, 양자화 값이 동일한 비율로 변화되게 할 수 있다.As shown in Equation (1), since the same step size is derived from both of the same values, if the goodness is changed to the same, each quantization value is changed by the same ratio by Equation (2). It can be seen. Therefore, by converting the quantization values corresponding to both having the same value, the quantization values can be changed at the same ratio.

본 실시형태에서는, ISO 표준 양자화 테이블을 사용하여 압축된 JPEG 압축 데이터에 대하여 설명하겠지만, 본 발명은 이에 제한되는 것은 아니다. 도 10 에 도시된 바와 같이, ISO 표준 양자화 테이블에서 3행 1열의 양자 (QT3,1), 2행 3열의 양자 (QT2,3) 및 4행 1열의 양자 (QT4,1) 가 동일한 값 (14) 을 갖는다. 따라서, 이들 양자에 대응되는 양자화 값 (Q3,1, Q2,3, Q4,1) 을 소정의 양호도 값으로 변환한다. QT1,5, QT3,4 및 QT6,1 도 24 로 동일한 값을 갖지만, 화질의 열화를 방지하고 압축에 대한 강인성을 유지하기 위하여서는 상기 Q3,1, Q2,3, Q4,1 를 이용하는 것이 바람직하다. 양자화 값을 변환하는데 사용되는 양호도 값은 70 인 것이 바람직하다. In the present embodiment, JPEG compressed data compressed using the ISO standard quantization table will be described, but the present invention is not limited thereto. As shown in FIG. 10, in the ISO standard quantization table, the quantum of three rows and one column (QT 3,1 ), the quantum of two rows and three columns (QT 2,3 ) and the quantum of four rows and one column (QT 4,1 ) are the same. Has a value (14). Therefore, the quantization values Q 3 , 1 , Q 2 , 3 and Q 4 , 1 corresponding to both of these are converted into predetermined goodness values. QT 1,5 , QT 3,4 and QT 6,1 also have the same values as 24, but in order to prevent degradation of image quality and to maintain the robustness against compression, the above Q 3,1 , Q 2,3 , Q 4 It is preferable to use , 1 . Preferably, the goodness value used to transform the quantization value is 70.

이하, 변환된 양자화 값이, Q3,1 = 0, Q4,1 = 0 및 Q2,3 = 1 인 경우를 예로 들어 설명한다. 그러나, 본 발명은 이에 제한되는 것이 아님을 당업자는 용이하게 인식할 수 있을 것이다.Hereinafter, the case where the transformed quantization value is Q 3,1 = 0, Q 4,1 = 0 and Q 2,3 = 1 will be described as an example. However, one of ordinary skill in the art will readily recognize that the present invention is not limited thereto.

다음, 단계 (206) 에서 이들 값에 워터마크를 삽입할 것인지 결정한다. 단계 (206) 의 워터마크 삽입 여부 결정은 변환된 양자화 값들간의 상호 크기 관계에 기초하여 이루어지는 것이 바람직하다. 즉, 양자화 값 간의 차이가 일정한 값 이내가 되는 경우에만 워터마크를 삽입하고, 그렇지 않은 경우에는 워터마크를 삽입하지 않는다. 이렇게 함으로써, 워터마크가 삽입된 블록의 선택된 양자화 값들은 소정의 범위 이내에 있게 된다. 따라서, 워터마크를 추출할 때에, 원본 이미지가 없더라도 워터마크 삽입 여부를 판단하여 워터마크를 추출할 수 있게 된다. 본 실시형태에서는, 상기 변환된 양자화 값 (Q3,1, Q2,3, Q4,1) 이 다음 식 (3), (4), 및 (5) 모두를 만족하는 경우에만 워터마크를 삽입한다.Next, in step 206, it is determined whether to insert a watermark into these values. The determination of whether to embed the watermark in step 206 is preferably made based on the mutual magnitude relationship between the transformed quantization values. In other words, the watermark is inserted only when the difference between the quantization values is within a predetermined value, otherwise the watermark is not inserted. By doing so, the selected quantization values of the watermarked block are within a predetermined range. Therefore, when the watermark is extracted, it is possible to extract the watermark by determining whether to insert the watermark even if there is no original image. In this embodiment, the watermark is applied only when the converted quantization values Q 3,1 , Q 2,3 , Q 4,1 satisfy all of the following equations (3), (4), and (5): Insert it.

Figure 112005000974515-PAT00003
Figure 112005000974515-PAT00003

Figure 112005000974515-PAT00004
Figure 112005000974515-PAT00004

Figure 112005000974515-PAT00005
Figure 112005000974515-PAT00005

상기 식들에서 b 는 소정의 상수이다.B is a predetermined constant in the above formulas.

상기 식이 만족된 경우에는 단계 (210) 로 진행하여 워터마크 삽입 과정이 계속되며, 상기 식이 하나라도 만족되지 않은 경우에는 그 블록에는 워터마크를 삽입하지 않는 것으로 결정하고, 단계 (208) 로 진행하여 다음 양자화 값 블록이 존 재하는지 판단한다. 다음 양자화 값 블록이 존재하는 경우에는, 그 블록에 대하여 다시 단계 (204) 를 다시 수행하며, 현재의 양자화 값 블록이 마지막 블록인 경우에는 워터마크 삽입을 종료한다.If the equation is satisfied, the process proceeds to step 210, where the watermark embedding process continues. If none of the equations are satisfied, it is determined that no watermark is inserted into the block, and the process proceeds to step 208. It is determined whether the next quantization value block exists. If the next quantization value block exists, step 204 is again performed on the block, and if the current quantization value block is the last block, the watermark insertion is terminated.

한편, b 값을 변화시킴으로써 식 (3), (4) 및 (5) 를 만족하는 양자화 값 블록의 수가 변화되어 워터마크 삽입량이 조절될 수 있다. 즉, b 값을 크게 하면, 식 (3), (4) 및 (5) 를 만족하는 양자화 값 블록이 많이 발견되어 많은 블록에 워터마크가 삽입되는 반면, b 값을 작게하면 식 (3) 내지 (5) 를 만족하는 양자화 값 블록 수가 작아져 워터마크 삽입량이 감소된다. 본 실시형태에서는 b 값이 2 인 경우를 예로서 설명하나, b 의 값은 응용에 따라 선택할 수 있다. 상기 예에서

Figure 112005000974515-PAT00006
,
Figure 112005000974515-PAT00007
Figure 112005000974515-PAT00008
이므로, 워터마크를 삽입하도록 결정하며, 단계 (210) 로 진행한다.On the other hand, by changing the value of b, the number of quantization value blocks that satisfy the equations (3), (4) and (5) is changed to adjust the watermark embedding amount. In other words, when the value of b is increased, many quantization block of blocks satisfying the equations (3), (4) and (5) are found, and the watermark is inserted in many blocks. The number of quantized value blocks satisfying (5) becomes small, so that the amount of watermark embedding is reduced. In the present embodiment, the case where the b value is 2 is described as an example, but the value of b can be selected according to the application. In the example above
Figure 112005000974515-PAT00006
,
Figure 112005000974515-PAT00007
And
Figure 112005000974515-PAT00008
Therefore, it is decided to insert a watermark, and the flow proceeds to step 210.

단계 (210) 에서는, 워터마크의 삽입 후의 양자화 단계에 의한 양자화 오류 (quantization error) 를 방지하기 위해, 오차 조절이 수행된다. 상기 식 (2) 에서 보듯이, 양자화 과정에 있어서 라운드 (round) 연산이 수행되므로, 워터마크 삽입 과정에서의 양자화 값 변환 단계 (204) 및 워터마크 추출 과정에서의 양자화 값 변환 단계 (후술한다) 에서 반올림에 의한 양자화 오류가 발생할 수 있다. 양자화 오류가 발생하게 되면, 워터마크 추출 시에 워터마크의 삽입 여부 판단에 오류가 생겨, 워터마크가 삽입되지 않은 양자화 값 블록으로부터 워터마크를 추출 하거나, 워터마크가 삽입된 양자화 값 블록으로부터 워터마크를 추출하지 않는 오류가 생길 수 있다. 따라서, 이러한 오류를 방지하기 위하여 단계 (210) 에서 오차 조절이 수행된다.In step 210, error control is performed to prevent quantization error caused by the quantization step after insertion of the watermark. As shown in Equation (2), since a round operation is performed in the quantization process, the quantization value conversion step 204 in the watermark embedding process and the quantization value conversion step in the watermark extraction process (to be described later) A quantization error may occur due to rounding. If a quantization error occurs, there is an error in determining whether to insert a watermark when extracting the watermark, so that the watermark is extracted from the quantization block containing no watermark or the watermark from the quantization block containing the watermark. You may get an error that doesn't extract. Therefore, error adjustment is performed in step 210 to prevent such errors.

본 실시형태의 오차 조절은, 다음 식 (6) 내지 (9) 에 의하여 수행된다.Error adjustment of this embodiment is performed by following Formula (6)-(9).

먼저,

Figure 112005000974515-PAT00009
인 경우에는 다음 식 (6) 및 (7) 에 따라 Q4,1 및 Q2,3 값이 변화된다.first,
Figure 112005000974515-PAT00009
In the case of, Q 4, 1 and Q 2, 3 values change according to the following equations (6) and (7).

Figure 112005000974515-PAT00010
Figure 112005000974515-PAT00010

Figure 112005000974515-PAT00011
Figure 112005000974515-PAT00011

한편,

Figure 112005000974515-PAT00012
인 경우에는, 다음 식 (8) 및 (9) 에 따라 Q4,1 및 Q2,3 값이 변화된다.Meanwhile,
Figure 112005000974515-PAT00012
In the case of, Q 4, 1 and Q 2, 3 values change according to the following expressions (8) and (9).

Figure 112005000974515-PAT00013
Figure 112005000974515-PAT00013

Figure 112005000974515-PAT00014
Figure 112005000974515-PAT00014

상기 식 (6) 내지 (9) 에서 t 는 소정의 상수로서, 사용자가 응용에 따라 선택할 수 있다. 본 실시형태에서는 t = 1 인 경우를 예로서 설명하지만, 본 발명은 이에 제한되지 않는다. 상기의 예에서,

Figure 112005000974515-PAT00015
이므로, 식 (8) 및 (9) 에 의하여,
Figure 112005000974515-PAT00016
,
Figure 112005000974515-PAT00017
이 된다.In the formulas (6) to (9), t is a predetermined constant, which can be selected by the user according to the application. In the present embodiment, the case where t = 1 is described as an example, but the present invention is not limited thereto. In the example above,
Figure 112005000974515-PAT00015
Therefore, by the formulas (8) and (9),
Figure 112005000974515-PAT00016
,
Figure 112005000974515-PAT00017
Becomes

다음, 단계 (212) 으로 진행하여 워터마크를 삽입한다. 바람직하게는, 각 양자화 값 블록에 워터마크의 한 비트가 삽입되며, 더욱 바람직하게는 상기 단계 (204) 에서 변환된 양자화 값들 중 하나에만 워터마크의 한 비트가 삽입된다. 본 실시형태에서는 Q3,1 에 워터마크의 한 비트를 삽입한다.Next, the flow advances to step 212 to insert a watermark. Preferably, one bit of the watermark is inserted in each quantization value block, and more preferably one bit of the watermark is inserted only in one of the quantization values converted in step 204 above. In this embodiment, one bit of the watermark is inserted into Q3,1 .

삽입될 워터마크의 비트가 1 인 경우에는, 다음 식 If the bit of the watermark to be inserted is 1, the following equation

Figure 112005000974515-PAT00018
Figure 112005000974515-PAT00018

에 의하여 Q3,1 에 워터마크가 삽입된다.By the way, a watermark is inserted at Q 3,1 .

한편, 워터마크의 비트가 0 인 경우에는, 식On the other hand, if the bit of the watermark is 0,

Figure 112005000974515-PAT00019
Figure 112005000974515-PAT00019

에 의하여 워터마크가 삽입된다.The watermark is inserted by.

상기 식 (10) 및 (11) 에서 Q'3,1 은 워터마크가 삽입된 양자화 값 Q3,1 이고, Q'2,3 및 Q'4,1 은 단계 (210) 에서 오차 조절이 수행된 양자화 값들이다.In Equations (10) and (11), Q ' 3,1 is a quantization value Q 3,1 with a watermark embedded therein, and Q' 2,3 and Q ' 4,1 are error adjustments in step 210. Quantized values.

상기 예에서, 삽입될 워터마크 값이 1 인 경우,

Figure 112005000974515-PAT00020
가 되어 워터마크 삽입이 수행되고, 워터마크 삽입 후의 양자화 값들은 Q3,1 = 2, Q4,1 = 1 그리고 Q2,3 = 0 이 된다. 이와 같이, 하나의 양자화 값 블록에 워터마크의 한 비트가 삽입될 수 있다.In the above example, when the watermark value to be inserted is 1,
Figure 112005000974515-PAT00020
The watermark embedding is performed, and the quantization values after the watermark embedding are Q 3,1 = 2, Q 4,1 = 1 and Q 2,3 = 0. As such, one bit of the watermark may be inserted into one quantization value block.

다음 단계 (214) 로 진행하여, 다음 양자화 값 블록이 있는지 여부를 판단한다. 양자화 값 블록이 더 있는 경우, 다음 블록에 대하여 단계 (204) 이하를 다시 수행하며, 더 이상의 양자화 값 블록이 없는 경우에는 단계 (216) 로 진행한다.Proceeding to next step 214, it is determined whether there is a next quantization value block. If there are more quantization value blocks, step 204 or less is performed again for the next block, and if there are no more quantization value blocks, the flow proceeds to step 216.

단계 (216) 에서, 워터마크가 삽입되거나 삽입되지 않은 양자화 값 블록들을 다시 허프만 인코딩 하여, 워터마크가 삽입된 JPEG 압축 데이터를 생성하고, 워터마크 삽입 과정을 종료한다. 따라서, 본 발명의 방법에 따라 워터마크가 삽입된 JPEG 압축 데이터는 일반적인 JPEG 복원 과정에 의하여 복원 될 수 있다.In step 216, Huffman encoding of the quantized value blocks with or without the watermark is again performed to generate JPEG compressed data with the watermark embedded therein, and the watermark embedding process is terminated. Therefore, the JPEG compressed data having the watermark inserted according to the method of the present invention may be restored by a general JPEG reconstruction process.

본 발명에 따른 워터마크 삽입 방법은 양자화 도메인에서 일부의 양자화 값에 대하여서만 워터마크의 삽입을 수행하므로, JPEG 압축에 강인하고 계산량을 감소시킬 수 있으며, 이미지의 열화를 최소화 할 수 있다.The watermark embedding method according to the present invention performs watermark embedding only on a part of quantization values in the quantization domain, so that it is robust to JPEG compression, can reduce computation amount, and minimize image degradation.

다음, 도 3 을 참조하여 본 발명에 따른 워터마크의 추출 방법의 일 실시형태를 설명한다. 워터마크 추출 방법은 대체로 워터마크 삽입 방법의 역과정이며, 본 발명에 따른 워터마크 추출 방법은 원본 이미지 없이 워터마크가 삽입된 이미지 만으로 워터마크를 추출할 수 있다.Next, an embodiment of a watermark extraction method according to the present invention will be described with reference to FIG. The watermark extraction method is generally the reverse process of the watermark embedding method, and the watermark extraction method according to the present invention can extract the watermark only with the image into which the watermark is inserted without the original image.

본 실시형태의 워터마크 추출 방법은 단계 (302) 에서 JPEG 압축 데이터를 허프만 디코딩 함으로써 시작한다. 허프만 디코딩에 의하여, 양자화 값의 블록들을 얻는다.The watermark extraction method of this embodiment begins by Huffman decoding JPEG compressed data in step 302. By Huffman decoding, blocks of quantization values are obtained.

다음, 얻어진 양자화 값 블록에서, 일부 양자화 값을 선택하여 소정 양호도 에 대응하는 양자화 값으로 변환한다 (단계 (304)). 이 단계는 상기 식 (1) 및 (2) 를 이용하여 이루어진다. 이 때, 선택되는 양자화 값은 워터마크 삽입 방법의 수행에 있어서 선택되었던 양자화 값과 동일한 양자화 값이며, 역시 양자화 테이블 중 동일한 값을 갖는 양자에 대응하는 양자화 값이 선택되는 것이 바람직하다. 본 실시형태에서는, ISO 표준 양자화 테이블을 사용하는 방법에 대하여 설명하지만, 본 발명은 이에 제한되는 것은 아니다. 선택되는 양자화 값은, ISO 표준 양자화 테이블에서 3행 1 열의 양자 (QT3,1), 2행 3열의 양자 (QT2,3) 및 4행 1열의 양자 (QT4,1) 에 대응하는 양자화 값 (Q3,1, Q2,3, Q4,1) 이다. 또한, 양자화 값의 변환에 사용되는 양호도 역시 워터마크 삽입 과정에서 사용된 양호도와 동일한 것이 바람직하며, 본 실시형태에서는 70 이다.Next, in the obtained quantization value block, some quantization values are selected and converted into quantization values corresponding to a certain degree of goodness (step 304). This step is accomplished using the above equations (1) and (2). In this case, the selected quantization value is a quantization value that is the same as the quantization value selected in the performance of the watermark embedding method, and it is preferable that a quantization value corresponding to both having the same value in the quantization table is selected. In the present embodiment, a method of using the ISO standard quantization table will be described, but the present invention is not limited thereto. The quantization value to be selected is a quantization corresponding to three rows and one column's quantum (QT 3,1 ), two rows and three columns' quantum (QT 2,3 ) and four rows and one column's quantum (QT 4,1 ) in the ISO standard quantization table. The values (Q 3,1 , Q 2,3 , Q 4,1 ). In addition, the goodness used in the conversion of the quantization value is also preferably the same as the goodness used in the watermark embedding process, and is 70 in this embodiment.

상술한 워터 마크 삽입 방법에 대하여 사용한 예를 계속 사용하여, 워터마크가 삽입된 이미지 데이터에서 선택된 양자화 값이, Q3,1 = 2, Q4,1 = 1 그리고 Q2,3 = 0 인 경우를 예로 설명한다.If the quantization value selected from the watermark-embedded image data is Q 3,1 = 2, Q 4,1 = 1 and Q 2,3 = 0, using the example used for the watermark embedding method described above. This will be described as an example.

다음, 단계 (306) 으로 진행하여 선택된 양자화 값으로부터 워터마크를 추출할 것이지 여부를 결정한다. 이는 워터마크 삽입 시에 사용하였던 것과 동일한 기준을 사용하여 판단되는데, 역시 변환된 양자화 값들간의 상호 크기 관계에 기초하여 이루어지는 것이 바람직하다. 즉, 변환된 양자화 값간의 차이가 소정의 범위 내에 있는 경우에는, 그 양자화 값들에 워터마크가 삽입된 것으로 판단하여 워터마크 추출을 결정하고, 그렇지 않은 경우에는, 양자화 값들에 워터마크가 삽입 되지 않은 것으로 판단하여 워터마크를 추출하지 않는다. The process then proceeds to step 306 to determine whether to extract the watermark from the selected quantization value. This is determined using the same criteria as was used when embedding the watermark, which is also preferably based on the mutual magnitude relationship between the transformed quantization values. That is, when the difference between the converted quantization values is within a predetermined range, it is determined that the watermark is embedded in the quantization values, and watermark extraction is determined. Otherwise, the watermark is not embedded in the quantization values. It is judged that the watermark is not extracted.

본 실시형태에서는 상기 식 (3) 내지 (5) 가 모두 만족된 경우에 워터마크를 추출하도록 결정하며, 하나의 식이라도 만족되지 않은 경우에는 워터마크를 추출하지 않는 것으로 결정한다. 다만, 워터마크 추출에 있어서 상기 b 값은 워터마크 삽입 시에 사용한 값과 동일한 값을 사용하여야 하며, 본 실시형태에서는 2 이다. 이와 같이, 워터마크 삽입 시에 사용하였던 기준과 동일한 기준을 사용함으로써, 원본 이미지를 필요로 하지 않고 워터마크가 삽입된 이미지만으로 워터마크를 추출할 수 있다.In this embodiment, it is determined to extract the watermark when all of the above expressions (3) to (5) are satisfied, and not to extract the watermark if any of the expressions are not satisfied. However, in the watermark extraction, the value b should be the same as the value used at the time of embedding the watermark, which is 2 in this embodiment. In this way, by using the same criteria as the one used at the time of embedding the watermark, the watermark can be extracted only with the image into which the watermark is inserted without requiring the original image.

워터마크 추출을 결정하면 단계 (310) 로 진행하여 워터마크 추출 과정이 계속되며, 워터마크를 추출하지 않는 것으로 결정하면 단계 (308) 로 진행하여 다음 양자화 값 블록이 있는지 여부를 판단한다. 다음 양자화 값 블록이 있는 경우에는 단계 (304) 로 돌아가 그 블록에 대하여 다시 워터마크 추출 과정을 반복하며, 현재의 양자화 값 블록이 마지막 블록인 경우에는 워터마크 추출 과정을 종료한다.If watermark extraction is determined, the process proceeds to step 310 and the watermark extraction process continues. If it is determined that no watermark is extracted, the process proceeds to step 308 to determine whether there is a next quantization value block. If there is a next quantization value block, the flow returns to step 304 to repeat the watermark extraction process for that block, and to terminate the watermark extraction process if the current quantization value block is the last block.

상기 예에서,

Figure 112005000974515-PAT00021
,
Figure 112005000974515-PAT00022
Figure 112005000974515-PAT00023
이므로, 워터마크의 추출이 결정되고 단계 (310) 로 진행한다. In the above example,
Figure 112005000974515-PAT00021
,
Figure 112005000974515-PAT00022
And
Figure 112005000974515-PAT00023
, The extraction of the watermark is determined and proceeds to step 310.

상술한 바와 같이, 워터마크 삽입 시의 오차 조절 단계 (단계 (210), 도 2) 에 의하여 양자화 값 변환 과정에서의 오차가 억제되어, 정확한 워터마크 추출 여부 판단이 이루어질 수 있다.As described above, the error in the quantization value conversion process is suppressed by the error adjusting step (step 210, FIG. 2) at the time of embedding the watermark, so that accurate watermark extraction can be determined.

다음, 단계 (310) 에서 변환된 양자화 값으로부터 워터마크가 추출된다. 바람직하게는 각 양자화 값 블록으로부터 워터마크의 한 비트가 추출되며, 워터마크를 추출할 양자화 값은 워터마크 삽입 방법에 대응하여 정해진다. 본 실시형태에서는 Q3,1, Q2,3 및 Q4,1 로부터 워터마크가 추출된다. 본 실시형태에서 워터마크의 추출은

Figure 112005000974515-PAT00024
와 Q3,1 값의 관계를 판단하여 이루어지는데, 다음 식 Next, a watermark is extracted from the quantized value converted in step 310. Preferably, one bit of the watermark is extracted from each quantization value block, and the quantization value from which the watermark is to be extracted is determined corresponding to the watermark embedding method. In this embodiment, a watermark is extracted from Q 3,1 , Q 2,3 and Q 4,1 . In this embodiment, the extraction of the watermark is
Figure 112005000974515-PAT00024
And Q 3,1 to determine the relationship between

Figure 112005000974515-PAT00025
Figure 112005000974515-PAT00025

이 성립하는 경우에는 워터마크 1 을 추출하고, If this holds true, watermark 1 is extracted,

Figure 112005000974515-PAT00026
Figure 112005000974515-PAT00026

이 성립하는 경우에는 워터마크 0 을 추출한다.If this holds, the watermark 0 is extracted.

이로써 각 양자화 블록으로부터 하나의 워터마크 비트가 추출된다. 상기 예에서,

Figure 112005000974515-PAT00027
이고 Q3,1 = 2 이므로,
Figure 112005000974515-PAT00028
가 성립하고 워터마크 비트 1 이 추출된다. 이는, 워터마크 삽입 과정에서 삽입된 워터마크 비트 1 과 동일한 것으로, 본 발명에 의한 워터마크 추출 방법에 의하여 삽입된 워터마크가 추출된 것을 확인할 수 있다.As a result, one watermark bit is extracted from each quantization block. In the above example,
Figure 112005000974515-PAT00027
And Q 3,1 = 2,
Figure 112005000974515-PAT00028
Is established and the watermark bit 1 is extracted. This is the same as the watermark bit 1 inserted in the watermark embedding process, and it can be confirmed that the inserted watermark is extracted by the watermark extraction method according to the present invention.

다음으로, 단계 (312) 으로 진행하여 다음 양자화 값 블록이 있는지 여부를 판단하여, 다음 양자화 블록이 있으면 그 블록에 대하여 단계 (304) 이하의 단계를 반복하고, 더 이상의 블록이 없으면 워터마크 추출을 종료한다.Next, the process proceeds to step 312 to determine whether there is a next quantization block, and if there is a next quantization block, repeats the steps of step 304 or less for that block, and if no more blocks exist, extracts watermarks. Quit.

이와 같은 본 발명의 워터마크 추출 방법에 의하여 원본 이미지 없이 워터마크가 삽입된 이미지로부터 워터마크를 추출할 수 있으며, 후술하는 바와 같이 워터마크의 인증 범위가 증가될 수 있다.The watermark extraction method of the present invention can extract the watermark from the image into which the watermark is inserted without the original image, and the authentication range of the watermark can be increased as described below.

또한, 본 발명은 상기 워터마크 삽입 및 추출 방법들을 실행하는 워터마크 삽입 장치 및 워터마크 추출 장치를 제공한다.The present invention also provides a watermark embedding apparatus and a watermark extracting apparatus for executing the above watermark embedding and extraction methods.

도 4 는 본 발명에 따른 워터마크 삽입 장치를 도시하는 블록도이다. 도 4 의 워터마크 삽입 장치는 허프만 디코더 (402), 양자화 값 변환기 (404), 오차 조절기 (406), 워터마크 삽입기 (408), 허프만 인코더 (410) 및 이들과 결합되어 각각의 동작을 제어하는 제어기 (400) 을 포함한다.4 is a block diagram showing a watermark embedding apparatus according to the present invention. The watermark embedding apparatus of FIG. 4 is combined with the Huffman decoder 402, the quantization value converter 404, the error adjuster 406, the watermark inserter 408, the Huffman encoder 410 and these to control each operation. The controller 400.

워터마크 삽입 장치는 워터마크가 삽입되지 않은 JPEG 압축 데이터 (JPEGO) 를 허프만 디코더 (402) 의 입력으로 받는다. 허프만 디코더 (402) 는 JPEG 압축 데이터 (JPEGO) 에 허프만 디코딩을 수행하여 복수의 양자화 값 (Q) 블록를 출력한다. The watermark embedding apparatus receives, as an input of the Huffman decoder 402, JPEG compressed data (JPEG O ) having no watermark embedded therein. Huffman decoder 402 performs Huffman decoding on JPEG compressed data (JPEG O ) to output a plurality of quantized value (Q) blocks.

양자화 값 변환기 (404) 는 이 복수의 양자화 값 (Q) 블록 중 일부의 양자화 값, 바람직하게는 양자화 테이블 중 동일한 값을 갖는 양자에 대응되는 양자화 값 (Q) 을 선택하여, 이들 값을 소정의 양호도에 대응하는 양자화 값 (Q') 으로 변환한다. 본 실시형태에서 양자화 테이블은 ISO 표준 양자화 테이블을 사용하며, 양자값이 14 인 양자에 대응되는 양자화 값을 선택한다. 또한, 선택된 양자화 값을 양호도 70 에 대응하는 양자화 값으로 변환한다. 그러나, 양자화 테이블, 양자 및 양호도가 이들 값에 제한되는 것은 아님을 당업자는 알 수 있을 것이다.The quantization value converter 404 selects quantization values (Q) corresponding to quantization values of some of the plurality of quantization value (Q) blocks, preferably quantization tables having the same value in the quantization table, and selects these values by a predetermined value. Convert to a quantization value Q 'corresponding to goodness of mind. In this embodiment, the quantization table uses an ISO standard quantization table, and selects a quantization value corresponding to a quantum having a quantum value of 14. Further, the selected quantization value is converted into a quantization value corresponding to goodness of 70. However, those skilled in the art will appreciate that the quantization table, quantum and goodness are not limited to these values.

제어기 (400) 는 변환된 양자화 값에 기초하여 워터마크 삽입 여부를 결정한다. 이러한 워터마크 삽입 여부 결정은 변환된 양자화 값들 상호간의 크기에 기초하여 이루어지는 것이 바람직하며, 본 실시형태에서는 상기 식 (3) 내지 (5) 가 모두 만족하는 경우에 워터마크 삽입을 결정한다. 제어기 (400) 는 워터마크 삽입을 결정한 경우에는 오차 조절기 (406) 가 오차 조절을 수행하도록 하고, 워터마크 삽입을 결정하지 않은 경우에는 양자화 값 변환기 (404) 가 다음 양자화 값 블록에 대하여 양자화 값 변환을 수행하도록 한다. 만약, 더이상의 양자화 값 블록이 없는 경우에는 프로세스를 진행하지 않는다.The controller 400 determines whether to insert a watermark based on the converted quantization value. Such watermark embedding determination is preferably made based on the magnitudes of the converted quantization values. In the present embodiment, the watermark embedding is determined when all of the above equations (3) to (5) are satisfied. The controller 400 causes the error adjuster 406 to perform error adjustment if it determines to insert the watermark, and if the watermark insertion is not determined, the quantization value converter 404 converts the quantization value for the next block of quantization values. To do this. If there are no more quantization block, the process does not proceed.

다음 오차 조절기 (406) 는 변환된 양자화 값 (Q') 에 대하여 오차 조절을 수행하여 오차 조절된 양자화 값 (Q'') 을 얻는다. 이러한 오차 조절은 상기 식 (6) 및 (7) 또는 (8) 및 (9) 에 따라 수행되는 것이 바람직하다.The error adjuster 406 then performs error adjustment on the transformed quantization value Q 'to obtain an error adjusted quantization value Q ". Such error adjustment is preferably performed according to the above formulas (6) and (7) or (8) and (9).

워터마크 삽입기 (408) 는 제어기 (400) 의 제어에 따라 오차 조절된 양자화 값에 대하여 워터마크를 삽입한다. 워터마크 삽입기 (408) 는 각 양자화 값 블록에 한 비트의 워터마크를 삽입하는 것이 바람직하며, 상기 식 (10) 또는 (11) 에 의해 워터마크 삽입이 이루어진다.The watermark inserter 408 inserts a watermark for the error-adjusted quantization value under the control of the controller 400. The watermark inserter 408 preferably inserts one bit of watermark into each quantization value block, and watermark embedding is performed by the above equation (10) or (11).

제어기 (400) 는 하나의 양자화 값 블록에 대하여 워터마크 삽입 프로세스가 끝난 후 다음 양자화 값 블록이 존재하는지를 판단하여, 다음 양자화 값 블록이 존재하는 경우 양자화 값 변환기 (404) 가 다음 양자화 값 블록에 대하여 양자화 값 변환을 수행하도록 하고, 더 이상의 블록이 없는 경우에는 허프만 인코더 (410) 가 허프만 인코딩을 수행하도록 하여 워터마크가 삽입된 JPEG 이미지 데이터 (JPEGW) 를 얻는다.The controller 400 determines whether the next quantization value block exists after the watermark embedding process is finished for one quantization value block, and if the next quantization value block exists, the quantization value converter 404 for the next quantization value block. Perform quantization value conversion, and if there are no more blocks, Huffman encoder 410 performs Huffman encoding to obtain JPEG image data JPEG W with watermark embedded therein.

다음, 본 발명에 따른 워터마크 추출기를 설명한다. 도 5 는 본 발명에 따른 워터마크 추출기를 도시하는 블록도이다. 본 발명의 워터마크 추출기는 허프만 디코더 (502), 양자화 값 변환기 (504), 워터마크 추출기 (506) 및 이들과 결합되어 각각의 동작을 제어하는 제어기 (500) 를 포함한다.Next, a watermark extractor according to the present invention will be described. 5 is a block diagram illustrating a watermark extractor according to the present invention. The watermark extractor of the present invention includes a Huffman decoder 502, a quantization value converter 504, a watermark extractor 506, and a controller 500 coupled thereto to control each operation.

워터마크 추출기는 허프만 디코더 (502) 에서 워터마크가 삽입된 JPEG 이미지 데이터 (JPEGW) 를 입력 받는다. 허프만 디코더 (502) 는 JPEG 이미지 데이터 (JPEGW) 에 대하여 허프만 디코딩을 수행하여 복수의 양자화 값 (QW) 블록을 얻는다. 다음, 양자화 값 변환기 (504) 는 양자화 값 (QW) 블록 중 일부의 양자화 값을 선택하여 소정의 양호도에 대응하는 양자화 값 (QW') 으로 변환하며, 여기에서 선택되는 양자화 값 및 양호도는 워터마크 삽입 시에 사용된 양자화 값 및 양호도에 따른다.The watermark extractor receives JPEG image data (JPEG W ) embedded with a watermark from the Huffman decoder 502. Huffman decoder 502 performs Huffman decoding on JPEG image data (JPEG W ) to obtain a plurality of quantization value (Q W ) blocks. Next, the quantization value converter 504 selects the quantization values of some of the quantization value (Q W ) blocks and converts them into quantization values (Q W ') corresponding to a predetermined goodness level. The figure depends on the quantization value and the goodness level used in embedding the watermark.

제어기 (500) 는 워터마크 추출 여부를 결정한다. 워터마크 추출 여부의 결정은 워터마크 삽입 여부 판단 기준과 동일한 기준을 사용하는 것이 바람직하며, 본 실시형태에서는 상기 식 (3) 내지 (5) 가 모두 만족되는 경우에 워터마크 추출을 결정한다. 워터마크 추출을 결정한 경우 제어기 (500) 는 워터마크 추출기 (506) 가 변환된 양자화 값 (QW') 으로부터 워터마크를 추출하도록 하며, 그렇지 않은 경우 양자화 값 변환기 (504) 가 다음 양자화 값 블록 (QW) 에 대하여 양자화 값 변환을 수행하도록 한다. 더 이상의 양자화 값 블록이 없는 경우에는 제어기 (500) 가 더 이상의 프로세스를 진행하지 않는다.The controller 500 determines whether to extract the watermark. The determination of whether or not to extract the watermark is preferably performed using the same criteria as the watermark embedding determination criterion. In the present embodiment, the watermark extraction is determined when all of the above expressions (3) to (5) are satisfied. If the watermark extraction is determined, the controller 500 causes the watermark extractor 506 to extract the watermark from the transformed quantization value Q W ', otherwise the quantization value converter 504 causes the next quantization value block ( Q W ) to perform quantization value conversion. If there are no more quantization value blocks, the controller 500 does not go further.

워터마크 추출기 (506) 는 제어기 (500) 의 제어에 따라 변환된 양자화 값 (QW') 으로부터 워터마크 (W) 를 추출한다. 워터마크의 추출은 워터마크 삽입 방법에 따르며, 본 실시형태에서는 상기 식 (12) 또는 (13) 에 따라 이루어진다The watermark extractor 506 extracts the watermark W from the transformed quantization value Q W ′ under the control of the controller 500. The watermark is extracted according to the watermark embedding method. In the present embodiment, the watermark is extracted according to the above formula (12) or (13).

제어기 (500) 는 하나의 양자화 값 블록에 대한 워터마크 추출 프로세스 종료 후, 다음 양자화 값 블록이 있는 경우에는 양자화 값 변환기 (504) 가 그 양자화 값 블록에 대하여 양자화 값 변환을 수행하도록 한다. 더 이상의 양자화값 블록이 없는 경우에, 제어기 (500) 은 더 이상의 워터마크 추출 프로세스를 진행하지 않는다.The controller 500 causes the quantization value converter 504 to perform quantization value conversion on the quantization value block if there is a next quantization value block after the watermark extraction process ends for one quantization value block. If there are no more quantization block, then the controller 500 does not proceed any further watermark extraction process.

본 발명에 따른 워터마크 삽입·추출 방법의 성능을 확인하기 위하여 테스트 이미지에 랜덤 난수에 의하여 형성된 워터마크를 삽입하여 도 6a 의 이미지를 얻었다. 여기서 사용한 b 값과 t 값은 각각 2 와 1 이었다. 또한, 워터마크가 삽입된 도 6a 의 이미지를 변조하여 도 6b 의 이미지를 얻었다. 도 6b 의 이미지에서 이미지의 변조가 일어난 부분을 사각형으로 표시하였다.In order to confirm the performance of the watermark embedding / extraction method according to the present invention, a watermark formed by a random random number was inserted into the test image to obtain the image of FIG. 6A. The b and t values used here were 2 and 1, respectively. Further, the image of FIG. 6A with the watermark embedded therein is modulated to obtain the image of FIG. 6B. In the image of FIG. 6B, a portion where the image is modulated is indicated by a rectangle.

이와 같이 본 발명의 워터마크 삽입 방법에 의하여 워터마크가 삽입된 이미지 (도 6a) 및 이를 변조한 이미지 (도 6b) 에 대하여, 본 발명의 워터마크 추출 방법을 사용하여 워터마크를 추출하고, 삽입된 워터마크와 추출된 워터마크에 대하여 다음 식에 의하여 상호상관관계 (cross correlation) 를 계산하였다.As described above, the watermark is extracted and inserted into the watermark-embedded image (FIG. 6A) and the modulated image (FIG. 6B) by the watermark embedding method of the present invention using the watermark extraction method of the present invention. The cross correlation of the extracted watermark and the extracted watermark was calculated by the following equation.

Figure 112005000974515-PAT00029
Figure 112005000974515-PAT00029

여기서, Rxy(u,v) 는 상호상관관계, D(x,y) 는 추출된 워터마크, 그리고 E(x,y) 는 삽입한 워터마크이다.Here, R xy (u, v) is a correlation, D (x, y) is an extracted watermark, and E (x, y) is an inserted watermark.

도 7a 및 7b 는 각각 변조되지 않은 이미지와 변조된 이미지에 대한 상호상관관계를 도시한다.7A and 7B show cross-correlation for an unmodulated image and a modulated image, respectively.

도 7a 에서 추출된 워터마크와 삽입한 워터마크의 상호상관관계는 1 로서, 워터마크의 추출이 정확하게 이루어졌음을 보여준다. 이에 반하여, 도 7b 에서의 상호상관관계는 0.8 로서 삽입한 워터마크와 추출한 워터마크가 상이함을 나타낸다. 따라서, 이미지에 변조가 가해진 경우 삽입된 워터마크가 정확히 추출되지 않았다.The correlation between the watermark extracted in FIG. 7A and the inserted watermark is 1, which shows that the extraction of the watermark was performed correctly. In contrast, the cross correlation in FIG. 7B indicates that the inserted watermark and the extracted watermark are different as 0.8. Thus, when modulation is applied to the image, the embedded watermark was not extracted correctly.

또한, 도 7a 는 상호상관관계의 피크 위치가 0 인 반면, 도 7b 에서의 피크 위치는 0 보다 왼쪽으로 이동되었다. 따라서, 이로부터 이미지에 변조가 일어난 위치를 알 수 있다.In addition, while FIG. 7A shows that the peak position of cross-correlation is zero, the peak position in FIG. 7B is shifted to the left rather than zero. Thus, from this, it is possible to know where the modulation occurred in the image.

도 8 은 본 발명의 워터마크 삽입 및 추출 방법의 JPEG 압축에 대한 강인성을 나타내는 그래프이다.8 is a graph showing the robustness to JPEG compression of the watermark embedding and extraction method of the present invention.

도 8 의 그래프를 참조하면, 양호도가 77 인 경우까지 워터마크 추출율이 100 %, 즉 워터마크 검출오류가 0 % 로 유지되었다. 따라서, 본 발명에 따른 워터마크 삽입·추출 방법의 인증범위는 99-77 로 종래 기술의 99-85 보다 확대되었다.Referring to the graph of FIG. 8, the watermark extraction rate was maintained at 100%, that is, the watermark detection error was 0% until the goodness level was 77. Therefore, the authentication range of the watermark embedding / extraction method according to the present invention is 99-77, which is larger than that of the prior art 99-85.

마지막으로, 본 발명의 워터마크 삽입 방법에 따른 이미지의 화질 저하 정도를 살펴보기 위하여, 다양한 이미지에 대하여 원 이미지와 워터마크가 삽입된 이미지 사이의 PSNR (Peak Signal-to-Noise Ratio) 을 계산하였으며, 그 결과를 다음 표 1 에 나타내었다.Finally, PSNR (Peak Signal-to-Noise Ratio) was calculated between the original image and the watermark-embedded image in order to examine the degree of deterioration of the image according to the watermark embedding method of the present invention. The results are shown in Table 1 below.

양호도Goodness PSNR (dB)PSNR (dB) Lena 이미지Lena Image Babara 이미지Babara Image Baboon 이미지Baboon image Goldhill 이미지Goldhill image 7070 42.8342.83 42.6942.69 42.9342.93 42.6142.61 7575 42.0042.00 41.8641.86 42.1942.19 41.9741.97 8080 42.2942.29 41.8541.85 42.3042.30 41.4641.46 8585 42.6442.64 42.2742.27 42.0842.08 42.2142.21 9090 42.6842.68 42.1642.16 42.1842.18 42.1042.10 9595 42.6742.67 42.1642.16 42.2842.28 42.2342.23 9898 42.5042.50 41.9641.96 42.3442.34 41.9441.94

표 1 에 나타낸 바와 같이, 모든 이미지에 대하여 40 이상의 PSNR 값이 나타났으며, 화질의 저하가 매우 미미함을 확인할 수 있다.As shown in Table 1, PSNR values of 40 or more appeared for all images, and it can be seen that the deterioration of image quality was very small.

본 발명에 따르면, JPEG 압축에 의하여서는 변형되지 않으나 위변조에 의하여서는 변형되는 JPEG 압축에 강인한 워터마크 삽입·추출이 가능하다.According to the present invention, it is possible to insert and extract a watermark that is robust to JPEG compression, which is not deformed by JPEG compression but deformed by forgery.

또한, 본 발명은 ISO 표준 양자화 테이블을 이용하여 워터마크를 삽입 및 추출 하므로, 범용적으로 사용될 수 있다.In addition, since the present invention inserts and extracts a watermark using an ISO standard quantization table, it can be used universally.

또한, 본 발명은 양자화 도메인에서 일부의 양자화 값에만 워터마크를 삽입 하므로, 계산량을 감소시키고 이미지의 열화를 감소시킬 수 있다.In addition, since the present invention inserts a watermark only on a part of quantization values in the quantization domain, it is possible to reduce the amount of computation and to reduce image degradation.

또한, 본 발명에 따르면 워터마크 삽입 여부 판단 단계를 포함하여 원본 이미지를 필요로 함이 없이 워터마크 삽입 이미지만으로부터 워터마크를 추출할 수 있다.Further, according to the present invention, the watermark may be extracted from only the watermark embedded image without the need for the original image, including the step of determining whether to insert the watermark.

또한, 본 발명에 따르면, b 값을 조절하여 워터마크의 삽입량을 조절할 수 있다.In addition, according to the present invention, the amount of embedding the watermark can be adjusted by adjusting the b value.

또한 본 발명에 따르면 종래의 워터마크 삽입·추출 방법에 비하여 인증범위가 개선되어 낮은 양호도에 대하여서도 워터마크의 정확한 삽입·추출이 가능하다.Further, according to the present invention, the authentication range is improved compared to the conventional watermark embedding / extraction method, so that the watermark can be accurately inserted and extracted even with low goodness.

Claims (23)

JPEG 압축 이미지에 대하여 양자화 도메인에서 워터마크를 삽입하는 방법에 있어서, A method for embedding a watermark in a quantization domain for a JPEG compressed image, 복수의 양자화 값 블록 각각에서 일부 양자화 값들을 선택하고 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는 단계;Selecting some quantization values in each of the plurality of quantization value blocks and converting the selected quantization values into quantization values corresponding to a predetermined goodness of fit; 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 삽입 여부를 결정하는 단계;Determining whether to insert a watermark for each block based on the converted quantization values; 워터마크를 삽입할 블록의 변환된 상기 양자화 값들에 대하여 오차를 조절하는 단계; 및Adjusting an error with respect to the transformed quantization values of a block into which a watermark is to be inserted; And 오차 조절된 상기 양자화 값들에 워터마크를 삽입하는 단계를 포함하는 워터마크 삽입 방법.And embedding a watermark in the error-adjusted quantization values. 제 1 항에 있어서, The method of claim 1, 상기 변환하는 단계는 양자화 테이블 중 동일한 값을 갖는 양자들에 대응하는 양자화 값들을 선택하는 워터마크 삽입 방법.And the converting step selects quantization values corresponding to quantizers having the same value in the quantization table. 제 1 항에 있어서,The method of claim 1, 상기 결정하는 단계는 변환된 상기 양자화 값들 상호의 크기 관계에 기초하여 워터마크 삽입 여부를 결정하는 워터마크 삽입 방법.The determining may include determining whether to embed a watermark based on the magnitude relationship between the converted quantization values. 제 1 항에 있어서,The method of claim 1, 상기 워터마크를 삽입하는 단계는 상기 각 블록에 워터마크의 한 비트를 삽입하는 워터마크 삽입 방법.The embedding of the watermark comprises inserting one bit of a watermark into each block. 제 1 항에 있어서,The method of claim 1, 상기 변환하는 단계는 상기 JPEG 압축 이미지에 대하여 허프만 디코딩을 수행하여 상기 복수의 양자화 값 블록을 얻는 단계를 포함하는 워터마크 삽입 방법.The converting step includes performing Huffman decoding on the JPEG compressed image to obtain the plurality of quantized value blocks. 제 1 항에 있어서, The method of claim 1, 상기 변환하는 단계는 ISO 표준 양자화 테이블 중 값이 14 인 양자들에 대응하는 양자화 값들인 Q1, Q2 및 Q3 을 선택하는 워터마크 삽입 방법.Wherein the converting step selects Q 1 , Q 2, and Q 3 , which are quantization values corresponding to quantum having a value of 14, from an ISO standard quantization table. 제 6 항에 있어서,The method of claim 6, 상기 결정하는 단계는, 선택된 상기 양자화 값들이 소정의 상수인 b 에 대하여, The determining may include: for b, wherein the selected quantization values are a predetermined constant,
Figure 112005000974515-PAT00030
,
Figure 112005000974515-PAT00030
,
Figure 112005000974515-PAT00031
Figure 112005000974515-PAT00031
And
Figure 112005000974515-PAT00032
를 모두 만족하는 경우에 워터마크를 삽입하 도록 결정하는 워터마크 삽입 방법.
Figure 112005000974515-PAT00032
A watermark embedding method that determines to insert a watermark when all are satisfied.
제 6 항에 있어서,The method of claim 6, 상기 오차를 조절하는 단계는, Adjusting the error, Q3 > Q2 인 경우에는, Q3 에서 문턱값을 감산하고 Q2 에 문턱값을 가산하며,In the case of Q 3> Q 2, Q 3, and subtracting the threshold value from the threshold value and adds the Q 2, Q2 > Q3 인 경우에는, Q3 에 문턱값을 가산하고 Q2 에서 문턱값을 감산하는 단계를 포함하는, 워터마크 삽입 방법.And if Q 2 > Q 3 , adding the threshold to Q 3 and subtracting the threshold at Q 2 . 제 6 항에 있어서,The method of claim 6, 상기 워터마크를 삽입하는 단계는,Inserting the watermark, 상기 양자 값들이 속하는 블록에 대해 삽입할 워터마크가 1 이면,
Figure 112005000974515-PAT00033
으로 Q1 를 대체하고,
If the watermark to be inserted for the block to which the quantum values belong is 1,
Figure 112005000974515-PAT00033
Replaces Q 1 ,
삽입할 워터마크가 0 이면,
Figure 112005000974515-PAT00034
으로 Q1 을 대체하는, 워터마크 삽입 방법.
If the watermark to insert is 0,
Figure 112005000974515-PAT00034
A method for embedding watermarks, replacing Q 1 .
제 6 항 내지 제 9 항 중 어느 한 항에 있어서,The method according to any one of claims 6 to 9, 상기 Q1 은 ISO 표준 양자화 테이블의 3 행 1 열의 양자에 대응하고, Q 1 corresponds to quantum in three rows and one column of the ISO standard quantization table, 상기 Q2 은 ISO 표준 양자화 테이블의 2 행 3 열의 양자에 대응하며,Q 2 corresponds to quantum in two rows and three columns of the ISO standard quantization table, 상기 Q3 은 ISO 표준 양자화 테이블의 4 행 1 열의 양자에 대응하는 워터마크 삽입 방법.Q 3 corresponds to both 4 rows and 1 columns of the ISO standard quantization table. JPEG 압축 이미지에 대하여 양자화 도메인에서 워터마크를 추출하는 방법에 있어서, In the method for extracting a watermark in the quantization domain for a JPEG compressed image, 복수의 양자화 값 블록 각각에서 일부 양자화 값들을 선택하고 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는 단계;Selecting some quantization values in each of the plurality of quantization value blocks and converting the selected quantization values into quantization values corresponding to a predetermined goodness of fit; 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 추출 여부를 결정하는 단계; 및Determining whether to extract a watermark for each block based on the converted quantization values; And 워터마크를 추출할 블록의 변환된 상기 양자화 값들로부터 워터마크를 추출하는 단계를 포함하는 워터마크 추출 방법.Extracting a watermark from the transformed quantization values of a block to extract a watermark. 제 11 항에 있어서, The method of claim 11, 상기 변환하는 단계는 양자화 테이블 중 동일한 값을 갖는 양자들에 대응하는 양자화 값들을 선택하는 워터마크 추출 방법.Wherein the converting step selects quantization values corresponding to quantizers having the same value in the quantization table. 제 11 항에 있어서,The method of claim 11, 상기 결정하는 단계는 변환된 상기 양자화 값들 상호의 크기 관계에 기초하여 워터마크 추출 여부를 결정하는 워터마크 추출 방법.The determining may include determining whether to extract a watermark based on the magnitude relationship between the converted quantization values. 제 11 항에 있어서,The method of claim 11, 상기 워터마크를 추출하는 단계는 상기 각 블록으로부터 워터마크의 한 비트를 추출하는 워터마크 추출 방법.The extracting of the watermark comprises extracting one bit of the watermark from each block. 제 11 항에 있어서, The method of claim 11, 상기 변환하는 단계는 상기 JPEG 압축 이미지에 대하여 허프만 디코딩을 수행하여 상기 복수의 양자화 값 블록을 얻는 단계를 포함하는 워터마크 추출 방법.The converting step includes performing Huffman decoding on the JPEG compressed image to obtain the plurality of quantized value blocks. 제 11 항에 있어서,The method of claim 11, 상기 변환하는 단계는 ISO 표준 양자화 테이블 중 값이 14 인 양자들에 대응하는 양자화 값들인 Q1, Q2 및 Q3 을 선택하는 워터마크 추출 방법.Wherein the converting step selects Q 1 , Q 2 and Q 3 , which are quantization values corresponding to quantum having a value of 14, from an ISO standard quantization table. 제 16 항에 있어서,The method of claim 16, 상기 결정하는 단계는, 선택된 상기 양자화 값들이, 소정의 상수인 b 에 대하여, The determining may include: for b, wherein the selected quantization values are a predetermined constant,
Figure 112005000974515-PAT00035
,
Figure 112005000974515-PAT00035
,
Figure 112005000974515-PAT00036
Figure 112005000974515-PAT00036
And
Figure 112005000974515-PAT00037
를 모두 만족하는 경우에 워터마크를 추출하 는 것으로 결정하는 워터마크 추출 방법.
Figure 112005000974515-PAT00037
The method of extracting watermark, which determines to extract a watermark when all are satisfied.
제 16 항에 있어서,The method of claim 16, 상기 워터마크를 추출하는 단계는,Extracting the watermark, 상기 양자 값들에 대하여,
Figure 112005000974515-PAT00038
< Q1 이면 1 을 워터마크로 추출하고,
For the quantum values,
Figure 112005000974515-PAT00038
<Q 1 , extract 1 as a watermark,
Figure 112005000974515-PAT00039
> Q1 이면 0 을 워터마크로 추출하는, 워터마크 추출 방법.
Figure 112005000974515-PAT00039
> If Q 1, 0 is extracted as a watermark.
제 16 항 내지 제 18 항 중 어느 한 항에 있어서,The method according to any one of claims 16 to 18, 상기 Q1 은 ISO 표준 양자화 테이블의 3 행 1 열의 양자에 대응하고, Q 1 corresponds to quantum in three rows and one column of the ISO standard quantization table, 상기 Q2 은 ISO 표준 양자화 테이블의 2 행 3 열의 양자에 대응하며,Q 2 corresponds to quantum in two rows and three columns of the ISO standard quantization table, 상기 Q3 은 ISO 표준 양자화 테이블의 4 행 1 열의 양자에 대응하는 워터마크 추출 방법.Q 3 corresponds to both 4 rows and 1 columns of the ISO standard quantization table. JPEG 압축 이미지에 대하여 양자화 도메인에서 워터마크를 삽입하는 방법을 수행하는 프로그램이 기록된 컴퓨터-판독가능 기록 매체에 있어서, 상기 프로그램이 컴퓨터 상에서 수행되는 경우에 상기 컴퓨터가, A computer-readable recording medium having recorded thereon a program for performing a method of embedding a watermark in a quantization domain for a JPEG compressed image, wherein the computer, when the program is executed on a computer, 복수의 양자화 값 블록 각각에서 일부 양자화 값들을 선택하고 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는 단계;Selecting some quantization values in each of the plurality of quantization value blocks and converting the selected quantization values into quantization values corresponding to a predetermined goodness of fit; 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 삽입 여부를 결정하는 단계;Determining whether to insert a watermark for each block based on the converted quantization values; 워터마크를 삽입할 블록의 변환된 상기 양자화 값들에 대하여 오차를 조절하는 단계; 및Adjusting an error with respect to the transformed quantization values of a block into which a watermark is to be inserted; And 오차 조절된 상기 양자화 값들에 워터마크를 삽입하는 단계를 수행하도록 하는 프로그램이 기록된 컴퓨터-판독가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing a step of inserting a watermark into the error-adjusted quantization values. JPEG 압축 이미지에 대하여 양자화 도메인에서 워터마크를 추출하는 방법을 수행하는 프로그램이 기록된 컴퓨터-판독가능 기록 매체에 있어서, 상기 프로그램이 컴퓨터 상에서 수행되는 경우에 상기 컴퓨터가,A computer-readable recording medium having recorded thereon a program for performing a method of extracting a watermark from a quantization domain for a JPEG compressed image, wherein the computer, when the program is performed on a computer, 복수의 양자화 값 블록 각각에서 일부 양자화 값들을 선택하고 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는 단계;Selecting some quantization values in each of the plurality of quantization value blocks and converting the selected quantization values into quantization values corresponding to a predetermined goodness of fit; 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 추출 여부를 결정하는 단계; 및 Determining whether to extract a watermark for each block based on the converted quantization values; And 워터마크를 추출할 블록의 변환된 상기 양자화 값들로부터 워터마크를 추출하는 단계를 수행하도록 하는 프로그램이 기록된 컴퓨터-판독가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing a step of extracting a watermark from the transformed quantization values of a block from which a watermark is to be extracted. JPEG 압축 이미지에 대하여 양자화 도메인에서 워터마크를 삽입하는 장치에 있어서,An apparatus for embedding a watermark in a quantization domain for a JPEG compressed image, 상기 JPEG 압축 이미지에 대하여 허프만 디코딩을 수행하여 복수의 양자화 값 블록을 얻는 허프만 디코딩 수단;Huffman decoding means for performing Huffman decoding on the JPEG compressed image to obtain a plurality of quantized value blocks; 상기 복수의 양자화 값 블록 각각에서 양자화 테이블 중 동일한 값을 갖는 양자들에 대응하는 양자화 값들을 선택하고, 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는, 양자화 값 변환 수단;Quantization value conversion means for selecting quantization values corresponding to quantizations having the same value in a quantization table in each of the plurality of quantization value blocks and converting the selected quantization values into quantization values corresponding to a predetermined goodness degree; 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 삽입 여부를 결정하는, 결정 수단;Determining means for determining whether to insert a watermark for each block based on the converted quantization values; 워터마크를 삽입할 블록의 상기 양자화 값들에 대하여 오차를 조절하는 오차 조절 수단; 및Error adjusting means for adjusting an error with respect to said quantization values of a block into which a watermark is to be inserted; And 오차 조절된 상기 양자화 값들에 워터마크를 삽입하는 워터마크 삽입 수단을 포함하는 워터마크 삽입 장치.And watermark embedding means for embedding a watermark in the error-adjusted quantization values. JPEG 압축 이미지에 대하여 양자화 도메인에서 워터마크를 추출하는 장치에 있어서,An apparatus for extracting a watermark in a quantization domain for a JPEG compressed image, 상기 JPEG 압축 이미지에 대하여 허프만 디코딩을 수행하여 복수의 양자화 값 블록을 얻는 허프만 디코딩 수단;Huffman decoding means for performing Huffman decoding on the JPEG compressed image to obtain a plurality of quantized value blocks; 상기 복수의 양자화 값 블록 각각에서 양자화 테이블 중 동일한 값을 갖는 양자들에 대응하는 양자화 값들을 선택하고, 선택된 양자화 값들을 소정의 양호도에 대응하는 양자화 값으로 변환하는, 양자화 값 변환 수단;Quantization value conversion means for selecting quantization values corresponding to quantizations having the same value in a quantization table in each of the plurality of quantization value blocks and converting the selected quantization values into quantization values corresponding to a predetermined goodness degree; 변환된 상기 양자화 값들에 기초하여 상기 각 블록에 대하여 워터마크 추출 여부를 결정하는, 결정 수단; 및Determining means for determining whether to extract watermark for each block based on the converted quantization values; And 워터마크를 추출할 블록의 변환된 상기 양자화 값들로부터 워터마크를 추출하는 단계를 포함하는 워터마크 추출 장치.And extracting a watermark from the transformed quantization values of a block to extract a watermark.
KR1020050001648A 2005-01-07 2005-01-07 Method and apparatus for embedding and detecting watermarks in jpeg compressed data KR100620537B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050001648A KR100620537B1 (en) 2005-01-07 2005-01-07 Method and apparatus for embedding and detecting watermarks in jpeg compressed data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050001648A KR100620537B1 (en) 2005-01-07 2005-01-07 Method and apparatus for embedding and detecting watermarks in jpeg compressed data

Publications (2)

Publication Number Publication Date
KR20060081180A true KR20060081180A (en) 2006-07-12
KR100620537B1 KR100620537B1 (en) 2006-09-13

Family

ID=37172263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050001648A KR100620537B1 (en) 2005-01-07 2005-01-07 Method and apparatus for embedding and detecting watermarks in jpeg compressed data

Country Status (1)

Country Link
KR (1) KR100620537B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008147142A2 (en) * 2007-05-30 2008-12-04 Mmchips Co., Ltd. Method and system of inserting watermark for h.264/avc video stream
KR100973743B1 (en) * 2008-06-27 2010-08-04 엘지전자 주식회사 Method for watermarking video
KR101145110B1 (en) * 2011-04-21 2012-05-15 아스텔 주식회사 Method and apparatus of inserting/extracting fragile digital watermarks and apparatus for using thereof
KR101528300B1 (en) * 2013-10-10 2015-06-11 조선대학교산학협력단 Method for inserting and extracting watermark to JEPG compression image using AC Coefficient

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11871036B2 (en) 2020-09-24 2024-01-09 Korea University Research And Business Foundation Apparatus and method for compressing JPEG images
KR20220040970A (en) 2020-09-24 2022-03-31 고려대학교 산학협력단 Apparatus and Method for Compressing JPEG Images

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008147142A2 (en) * 2007-05-30 2008-12-04 Mmchips Co., Ltd. Method and system of inserting watermark for h.264/avc video stream
KR100873947B1 (en) * 2007-05-30 2008-12-12 주식회사 엠엠칩스 Method and System of inserting watermark for H.264/AVC video stream
WO2008147142A3 (en) * 2007-05-30 2009-01-22 Mmchips Co Ltd Method and system of inserting watermark for h.264/avc video stream
KR100973743B1 (en) * 2008-06-27 2010-08-04 엘지전자 주식회사 Method for watermarking video
KR101145110B1 (en) * 2011-04-21 2012-05-15 아스텔 주식회사 Method and apparatus of inserting/extracting fragile digital watermarks and apparatus for using thereof
KR101528300B1 (en) * 2013-10-10 2015-06-11 조선대학교산학협력단 Method for inserting and extracting watermark to JEPG compression image using AC Coefficient

Also Published As

Publication number Publication date
KR100620537B1 (en) 2006-09-13

Similar Documents

Publication Publication Date Title
KR100553469B1 (en) Electronic watermark data insertion apparatus and electronic watermark data detection apparatus
US6798893B1 (en) Digital watermarking technique
EP1164543B1 (en) Digital information embedding/extracting
US7599518B2 (en) Reversible watermarking using expansion, rate control and iterative embedding
US6278792B1 (en) Robust digital watermarking
JP4027542B2 (en) Digital watermarking method for digital objects
US7706566B2 (en) System and method for reversible data hiding based on integer wavelet spread spectrum
KR100620537B1 (en) Method and apparatus for embedding and detecting watermarks in jpeg compressed data
US7451317B2 (en) Apparatus for and method of embedding watermark into original information, transmitting watermarked information, and reconstructing the watermark
KR101528300B1 (en) Method for inserting and extracting watermark to JEPG compression image using AC Coefficient
EP1960963B1 (en) Method and device for watermarking on stream
Seki et al. Quantization-based image steganography without data hiding position memorization
JP4919213B2 (en) Digital watermark insertion method and detection method
Verma et al. Wavelet based robust video watermarking using spread spectrum technique
Farias et al. Video quality assessment based on data hiding driven by optical flow information
Wang et al. A digital watermarking and perceptual model based video quality measurement
KR101042551B1 (en) Watermark embedding method based in an object of video image, and recording medium storing watermark embedding program
Pranata et al. Improved bit rate control for real-time MPEG watermarking
Tsang et al. Robust and high-quality video watermarking with the use of temporal redundancy
Zwol Splitting the watermark up, a steganographic watermarking algorithm for H. 264 with reduced image distortion
Zhu et al. Watermarking for JPEG image using error correction coding
Gupta et al. Watermarking of MPEG-4 videos
Lee et al. Video watermarking system using selection and overlapping of region by features of consecutive frames
Ling et al. Log-scaling magnitude modulated watermarking scheme
Ramon et al. Study of a hybrid deblocking post-processor based on watermarking.

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120829

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130823

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140801

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150803

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160725

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170803

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180726

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190801

Year of fee payment: 14