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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
도 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:
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)
DCT 단계 (902) 에서는, 이산 코사인 변환을 이용하여 공간 도메인의 디지털 이미지 데이터를 공간 주파수 (spatial frequency) 도메인의 DCT 계수로 변환한다. 이 단계 (902) 에서 다수의 DCT 계수 블록들이 얻어진다.In the
다음, 양자화 단계 (904) 에서는 DCT 계수를 양자화한다. 양자화는 양자화 테이블에 의하여 이루어지는데, 최적의 양자화 테이블은 대상 이미지에 따라 달라질 수 있으며, 구체적 응용에 따라 사용자가 임의로 선택할 수 있다. ISO 표준에서는 표준 양자화 테이블을 정하고 있으며, 표준 양자화 테이블은 도 10 에 도시되어 있다. 양자화 단계 (904) 에 의하여, DCT 계수 블록들은 양자화 값의 블록으로 변환된다. 양자화 단계 (904) 의 구체적인 과정에 대하여서는 후술한다.Next, in
마지막으로, 엔트로피 인코딩 단계 (906) 에서 양자화 값 블록은 허프만 인코딩 (Huffman encoding) 되어 JPEG 압축된 부호로 변환된다.Finally, in
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).
상기 식 (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.
여기서, 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
따라서,본 발명의 복적은 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
다음, 얻어진 양자화 값 테이블에서, 일부 양자화 값을 선택하여 소정 양호도에 대응하는 양자화 값으로 변환한다 (단계 (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
상기 식 (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
상기 식들에서 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,
한편, b 값을 변화시킴으로써 식 (3), (4) 및 (5) 를 만족하는 양자화 값 블록의 수가 변화되어 워터마크 삽입량이 조절될 수 있다. 즉, b 값을 크게 하면, 식 (3), (4) 및 (5) 를 만족하는 양자화 값 블록이 많이 발견되어 많은 블록에 워터마크가 삽입되는 반면, b 값을 작게하면 식 (3) 내지 (5) 를 만족하는 양자화 값 블록 수가 작아져 워터마크 삽입량이 감소된다. 본 실시형태에서는 b 값이 2 인 경우를 예로서 설명하나, b 의 값은 응용에 따라 선택할 수 있다. 상기 예에서 , 및 이므로, 워터마크를 삽입하도록 결정하며, 단계 (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 , And Therefore, it is decided to insert a watermark, and the flow proceeds to step 210.
단계 (210) 에서는, 워터마크의 삽입 후의 양자화 단계에 의한 양자화 오류 (quantization error) 를 방지하기 위해, 오차 조절이 수행된다. 상기 식 (2) 에서 보듯이, 양자화 과정에 있어서 라운드 (round) 연산이 수행되므로, 워터마크 삽입 과정에서의 양자화 값 변환 단계 (204) 및 워터마크 추출 과정에서의 양자화 값 변환 단계 (후술한다) 에서 반올림에 의한 양자화 오류가 발생할 수 있다. 양자화 오류가 발생하게 되면, 워터마크 추출 시에 워터마크의 삽입 여부 판단에 오류가 생겨, 워터마크가 삽입되지 않은 양자화 값 블록으로부터 워터마크를 추출 하거나, 워터마크가 삽입된 양자화 값 블록으로부터 워터마크를 추출하지 않는 오류가 생길 수 있다. 따라서, 이러한 오류를 방지하기 위하여 단계 (210) 에서 오차 조절이 수행된다.In
본 실시형태의 오차 조절은, 다음 식 (6) 내지 (9) 에 의하여 수행된다.Error adjustment of this embodiment is performed by following Formula (6)-(9).
먼저, 인 경우에는 다음 식 (6) 및 (7) 에 따라 Q4,1 및 Q2,3 값이 변화된다.first, In the case of, Q 4, 1 and Q 2, 3 values change according to the following equations (6) and (7).
한편, 인 경우에는, 다음 식 (8) 및 (9) 에 따라 Q4,1 및 Q2,3 값이 변화된다.Meanwhile, In the case of, Q 4, 1 and Q 2, 3 values change according to the following expressions (8) and (9).
상기 식 (6) 내지 (9) 에서 t 는 소정의 상수로서, 사용자가 응용에 따라 선택할 수 있다. 본 실시형태에서는 t = 1 인 경우를 예로서 설명하지만, 본 발명은 이에 제한되지 않는다. 상기의 예에서, 이므로, 식 (8) 및 (9) 에 의하여, , 이 된다.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, Therefore, by the formulas (8) and (9), , 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
삽입될 워터마크의 비트가 1 인 경우에는, 다음 식 If the bit of the watermark to be inserted is 1, the following equation
에 의하여 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,
에 의하여 워터마크가 삽입된다.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
상기 예에서, 삽입될 워터마크 값이 1 인 경우, 가 되어 워터마크 삽입이 수행되고, 워터마크 삽입 후의 양자화 값들은 Q3,1 = 2, Q4,1 = 1 그리고 Q2,3 = 0 이 된다. 이와 같이, 하나의 양자화 값 블록에 워터마크의 한 비트가 삽입될 수 있다.In the above example, when the watermark value to be inserted is 1, 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
단계 (216) 에서, 워터마크가 삽입되거나 삽입되지 않은 양자화 값 블록들을 다시 허프만 인코딩 하여, 워터마크가 삽입된 JPEG 압축 데이터를 생성하고, 워터마크 삽입 과정을 종료한다. 따라서, 본 발명의 방법에 따라 워터마크가 삽입된 JPEG 압축 데이터는 일반적인 JPEG 복원 과정에 의하여 복원 될 수 있다.In
본 발명에 따른 워터마크 삽입 방법은 양자화 도메인에서 일부의 양자화 값에 대하여서만 워터마크의 삽입을 수행하므로, 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
다음, 얻어진 양자화 값 블록에서, 일부 양자화 값을 선택하여 소정 양호도 에 대응하는 양자화 값으로 변환한다 (단계 (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.
상기 예에서, , 및 이므로, 워터마크의 추출이 결정되고 단계 (310) 로 진행한다. In the above example, , And , 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 (
다음, 단계 (310) 에서 변환된 양자화 값으로부터 워터마크가 추출된다. 바람직하게는 각 양자화 값 블록으로부터 워터마크의 한 비트가 추출되며, 워터마크를 추출할 양자화 값은 워터마크 삽입 방법에 대응하여 정해진다. 본 실시형태에서는 Q3,1, Q2,3 및 Q4,1 로부터 워터마크가 추출된다. 본 실시형태에서 워터마크의 추출은 와 Q3,1 값의 관계를 판단하여 이루어지는데, 다음 식 Next, a watermark is extracted from the quantized value converted in
이 성립하는 경우에는 워터마크 1 을 추출하고, If this holds true, watermark 1 is extracted,
이 성립하는 경우에는 워터마크 0 을 추출한다.If this holds, the
이로써 각 양자화 블록으로부터 하나의 워터마크 비트가 추출된다. 상기 예에서, 이고 Q3,1 = 2 이므로, 가 성립하고 워터마크 비트 1 이 추출된다. 이는, 워터마크 삽입 과정에서 삽입된 워터마크 비트 1 과 동일한 것으로, 본 발명에 의한 워터마크 추출 방법에 의하여 삽입된 워터마크가 추출된 것을 확인할 수 있다.As a result, one watermark bit is extracted from each quantization block. In the above example, And Q 3,1 = 2, 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
이와 같은 본 발명의 워터마크 추출 방법에 의하여 원본 이미지 없이 워터마크가 삽입된 이미지로부터 워터마크를 추출할 수 있으며, 후술하는 바와 같이 워터마크의 인증 범위가 증가될 수 있다.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
워터마크 삽입 장치는 워터마크가 삽입되지 않은 JPEG 압축 데이터 (JPEGO) 를 허프만 디코더 (402) 의 입력으로 받는다. 허프만 디코더 (402) 는 JPEG 압축 데이터 (JPEGO) 에 허프만 디코딩을 수행하여 복수의 양자화 값 (Q) 블록를 출력한다. The watermark embedding apparatus receives, as an input of the
양자화 값 변환기 (404) 는 이 복수의 양자화 값 (Q) 블록 중 일부의 양자화 값, 바람직하게는 양자화 테이블 중 동일한 값을 갖는 양자에 대응되는 양자화 값 (Q) 을 선택하여, 이들 값을 소정의 양호도에 대응하는 양자화 값 (Q') 으로 변환한다. 본 실시형태에서 양자화 테이블은 ISO 표준 양자화 테이블을 사용하며, 양자값이 14 인 양자에 대응되는 양자화 값을 선택한다. 또한, 선택된 양자화 값을 양호도 70 에 대응하는 양자화 값으로 변환한다. 그러나, 양자화 테이블, 양자 및 양호도가 이들 값에 제한되는 것은 아님을 당업자는 알 수 있을 것이다.The
제어기 (400) 는 변환된 양자화 값에 기초하여 워터마크 삽입 여부를 결정한다. 이러한 워터마크 삽입 여부 결정은 변환된 양자화 값들 상호간의 크기에 기초하여 이루어지는 것이 바람직하며, 본 실시형태에서는 상기 식 (3) 내지 (5) 가 모두 만족하는 경우에 워터마크 삽입을 결정한다. 제어기 (400) 는 워터마크 삽입을 결정한 경우에는 오차 조절기 (406) 가 오차 조절을 수행하도록 하고, 워터마크 삽입을 결정하지 않은 경우에는 양자화 값 변환기 (404) 가 다음 양자화 값 블록에 대하여 양자화 값 변환을 수행하도록 한다. 만약, 더이상의 양자화 값 블록이 없는 경우에는 프로세스를 진행하지 않는다.The
다음 오차 조절기 (406) 는 변환된 양자화 값 (Q') 에 대하여 오차 조절을 수행하여 오차 조절된 양자화 값 (Q'') 을 얻는다. 이러한 오차 조절은 상기 식 (6) 및 (7) 또는 (8) 및 (9) 에 따라 수행되는 것이 바람직하다.The
워터마크 삽입기 (408) 는 제어기 (400) 의 제어에 따라 오차 조절된 양자화 값에 대하여 워터마크를 삽입한다. 워터마크 삽입기 (408) 는 각 양자화 값 블록에 한 비트의 워터마크를 삽입하는 것이 바람직하며, 상기 식 (10) 또는 (11) 에 의해 워터마크 삽입이 이루어진다.The
제어기 (400) 는 하나의 양자화 값 블록에 대하여 워터마크 삽입 프로세스가 끝난 후 다음 양자화 값 블록이 존재하는지를 판단하여, 다음 양자화 값 블록이 존재하는 경우 양자화 값 변환기 (404) 가 다음 양자화 값 블록에 대하여 양자화 값 변환을 수행하도록 하고, 더 이상의 블록이 없는 경우에는 허프만 인코더 (410) 가 허프만 인코딩을 수행하도록 하여 워터마크가 삽입된 JPEG 이미지 데이터 (JPEGW) 를 얻는다.The
다음, 본 발명에 따른 워터마크 추출기를 설명한다. 도 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
워터마크 추출기는 허프만 디코더 (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
제어기 (500) 는 워터마크 추출 여부를 결정한다. 워터마크 추출 여부의 결정은 워터마크 삽입 여부 판단 기준과 동일한 기준을 사용하는 것이 바람직하며, 본 실시형태에서는 상기 식 (3) 내지 (5) 가 모두 만족되는 경우에 워터마크 추출을 결정한다. 워터마크 추출을 결정한 경우 제어기 (500) 는 워터마크 추출기 (506) 가 변환된 양자화 값 (QW') 으로부터 워터마크를 추출하도록 하며, 그렇지 않은 경우 양자화 값 변환기 (504) 가 다음 양자화 값 블록 (QW) 에 대하여 양자화 값 변환을 수행하도록 한다. 더 이상의 양자화 값 블록이 없는 경우에는 제어기 (500) 가 더 이상의 프로세스를 진행하지 않는다.The
워터마크 추출기 (506) 는 제어기 (500) 의 제어에 따라 변환된 양자화 값 (QW') 으로부터 워터마크 (W) 를 추출한다. 워터마크의 추출은 워터마크 삽입 방법에 따르며, 본 실시형태에서는 상기 식 (12) 또는 (13) 에 따라 이루어진다The
제어기 (500) 는 하나의 양자화 값 블록에 대한 워터마크 추출 프로세스 종료 후, 다음 양자화 값 블록이 있는 경우에는 양자화 값 변환기 (504) 가 그 양자화 값 블록에 대하여 양자화 값 변환을 수행하도록 한다. 더 이상의 양자화값 블록이 없는 경우에, 제어기 (500) 은 더 이상의 워터마크 추출 프로세스를 진행하지 않는다.The
본 발명에 따른 워터마크 삽입·추출 방법의 성능을 확인하기 위하여 테스트 이미지에 랜덤 난수에 의하여 형성된 워터마크를 삽입하여 도 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.
여기서, 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.
표 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)
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)
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)
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 |
-
2005
- 2005-01-07 KR KR1020050001648A patent/KR100620537B1/en active IP Right Grant
Cited By (6)
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 |