KR20040015911A - 벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드이미지 워터마킹 처리 방법 - Google Patents

벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드이미지 워터마킹 처리 방법 Download PDF

Info

Publication number
KR20040015911A
KR20040015911A KR1020020048067A KR20020048067A KR20040015911A KR 20040015911 A KR20040015911 A KR 20040015911A KR 1020020048067 A KR1020020048067 A KR 1020020048067A KR 20020048067 A KR20020048067 A KR 20020048067A KR 20040015911 A KR20040015911 A KR 20040015911A
Authority
KR
South Korea
Prior art keywords
watermark
codebook
sed
group
codeword
Prior art date
Application number
KR1020020048067A
Other languages
English (en)
Other versions
KR100520711B1 (ko
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 KR10-2002-0048067A priority Critical patent/KR100520711B1/ko
Priority to US10/436,014 priority patent/US7263204B2/en
Publication of KR20040015911A publication Critical patent/KR20040015911A/ko
Application granted granted Critical
Publication of KR100520711B1 publication Critical patent/KR100520711B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • G06T1/0057Compression invariant watermarking
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0052Embedding of the watermark in the frequency domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0053Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0083Image watermarking whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드 이미지 워터마킹 처리 방법에 관한 것으로서, 코드북을 구성하는 코드워드의 전체집합(C)에 대하여, C = G-1∪ G0∪ G1이고 G-1∩G0= G0∩G1= G-1∩G1= φ인 관계와, G0(또는 G1)에 속한 코드워드(ci)는 반드시 이에 대응하는 코드워드(cj)가 G1(또는 G0)에 속하는 관계를 만족시키는 3개의 그룹 G-1, G0, G1을 통하여 이루어진다.
본 발명에 따른 워터마크 삽입방법은, 코드북에서 입력벡터에 가장 가까운 코드워드 ci를 선택하고 ci를 포함하는 그룹(GP)을 판단한다. 그리고, P가 0이나 1일 경우에만 워터마크 비트를 삽입하되, 현재 워터마크 비트(bw)의 정수값이 P와 같으면 ci를 배정하고, 그렇지 않은 경우에는 ci에 대응하는 cj를 배정하는 방법을 사용한다. 또한, 워터마크를 추출할 때는 이미지 블록으로부터 추출된 cn을 포함하는 그룹 GP를 확인한 후 P가 0 또는 1일 때만 이 값을 워터마크 비트로서 추출한다.

Description

벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드 이미지 워터마킹 처리 방법{ A Blind Watermarking Method by Grouping Codewords for VQ-Quantized Images }
본 발명은 벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드 이미지워터마킹 처리 방법에 관한 것으로서, 특히 코드북을 일정 규칙을 만족하는 3개의 그룹으로 분할하고 해당 코드워드가 어떤 그룹에 속하는지에 따라 코드워드를 배정하여 워터마크 정보를 삽입하는 워터마크 삽입방법, 및 상기 워터마크 삽입방법에 따라 삽입된 워터마크를 추출하기 위한 워터마크 추출방법에 관한 것이다.
현재, 디지털 컨텐츠에 데이터를 삽입하여 저작권을 보호하는 워터마킹 기술은 디지털 미디어의 종류(이미지, 오디오, 비디오, 2D/3D 그래픽스 등), 압축/복원 방식(DCT [Cox 1997], DFT [Ruanaidh 1996], DWT [Niu 2000], VQ [Lu 2000] 등), 사용방식(가시성적/비가시적, 견고성/파괴성, 공개적/비공개적 등)에 따라서 다양한 기법이 연구/개발되고 있다.
한편, 벡터 양자화(VQ: Vector Quantization) 기법은 이미지 압축에서 많이 사용되는 근사 해법으로서 3단계의 처리과정으로 구성된다.
즉, 1단계(학습단계)에서는 학습용 입력 벡터 집합으로부터 N개의 벡터로 이루어진 코드북(c0, c1, .. cN-1)을 생성한다. 2단계(압축단계)에서는 압축하고자 하는 소스 이미지 X를 T개의 벡터들(x0,x1, ,xT-1)로 표현하고, 각각의 입력 벡터 xt(0 ≤t ≤T-1)에 대해서 이것과 가장 유사한 코드워드 ci를 코드북에서 찾아내고 xt대신 i를 배정한다. 3단계(복원단계)에서는 각각의 i에 대응하는 ci를 코드북에서 추출하여 xt대신 사용하게 된다.
도 1을 참조하여 8개의 코드워드 (c0,...,c7)로 구성된 코드북을 사용하여 이미지를 압축/복원하는 예를 설명하기로 한다.
먼저 압축단계에서는 압축하고자 하는 이미지를 코드워드와 동일한 차원의 벡터들로 분해한 후, 각각의 벡터들(x0, x1, x2, ...)을 코드워드와 비교하여 가장 가까운 거리에 있는 것을 선택하고, 그 위치를 압축된 이미지에서 사용하게 된다. 즉, x0의 경우 c3, x1의 경우 c6, x2의 경우 c1이 가장 가까운 코드워드인 것으로 판명되어 이것의 위치를 나타내는 3, 6, 1이 압축된 이미지에서 사용된다. 복원단계에서는 압축된 이미지에 저장된 코드워드의 위치 값을 가지고 코드북에서 코드워드를 추출하여 원래의 이미지와 유사한 복원 이미지를 생성하게 된다. 이와 같이 벡터 양자화는 효율적인 압축이 가능하고 복원 속도가 빠르다는 장점을 가지고 있다.
한편, 이러한 벡터 양자화(VQ) 기법은 이미지 압축을 위하여 많이 사용되는 근사 해법이지만, 공간영역이나 변환영역에서의 많은 워터마킹 연구성과에 비교하여 벡터 양자화(VQ) 기반의 워터마킹 기술은 충분히 연구되지 못하고 있다.
Lu와 Sun[2000]이 제시한 벡터 양자화(VQ) 기반 워터마킹 기술에서는 코드북에 포함된 유사한 코드워드를 분류하여 여러 그룹(그룹의 크기는 2n, n=0,1,...)을 만들고, 각각의 입력 이미지 벡터에 대하여 가장 유사한 코드워드와 이 코드워드가 포함된 그룹을 확인하게 된다. 선정된 그룹의 크기(2n)에 따라서 삽입 가능한 워터마크 비트 수(n)가 결정된다.
도 2를 참조하여, Lu와 Sun[2000]이 제시한 벡터 양자화(VQ) 기반 워터마킹기술을 이용하는 예를 설명하기로 한다. 이 예에서는 8개의 코드워드가 4개의 그룹({c0,c3}, {c2}, {c6}, {c1,c4,c5,c7})으로 분류되어 있다.
입력 벡터 x0과 가장 유사한 c3은 1번 그룹에 포함되어 있는데 이 그룹에는 두개의 코드워드가 포함되어 있으므로 한 비트의 워터마크를 삽입할 수 있다. 즉, 워터마크 비트 값이 0인 경우는 해당되는 코드워드를 그대로 사용하고, 1인 경우에는 다른 코드워드로 대체시킨다. 삽입될 비트 값이 1이므로 c3대신 c0을 사용하면 된다. 입력 벡터 x1의 경우에는 c6에 가장 가깝지만, 이 코드워드가 포함되는 3번 그룹에는 이 코드워드만이 포함되므로 워터마크의 삽입이 불가능하다.
4번 그룹에는 4개의 코드워드가 포함되어 있으므로 2비트의 워터마크를 삽입할 수 있는데, 입력 벡터 x2의 경우에는 두 비트의 워터마크(11)를 삽입하기 위하여 c1을 c7로 대체한다. 추출과정에서는 c1과 c7간의 그룹내부 거리인 3을 비트로 표현하면 원래의 워크마크 정보를 추출할 수 있다.
그러나, 위에서 설명한 바와 같은 Lu와 Sun[2000]의 벡터 양자화(VQ) 기반의 워터마킹 기술은 삽입되는 워터마크 정보량을 극대화할 수 있으나, 입력 벡터별로 삽입되는 정보량의 변화가 심해서, 압축된 이미지가 손상될 경우 손실되는 워터마크 정보량이 증가하거나, 워터마크 정보의 손실이 한곳에 집중될 가능성이 높은 문제점이 있다. 또한, 추출과정에서 원래의 이미지가 반드시 필요하기 때문에 사용과정에서 불편함이 따른다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로서, 워터마크 정보를 입력 벡터 공간상에 균등하게 삽입할 수 있고, 추출과정에서는 원래의 이미지가 불필요한 블라인드 워터마킹 처리 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 코드북 그룹화를 이용한 워터마크 삽입 방법은, 벡터 양자화(VQ)되는 소스 이미지의 각 입력 벡터 xt(0 ≤t ≤T-1)에 대하여, 워터마크 정보 B(b0,b1,...,bw-1, bw∈ {0,1}, 0 ≤w ≤W-1)를 삽입하되,
코드북(codebook)을 구성하는 코드워드(codeword)의 전체집합(C)에 대하여, C = G-1∪ G0∪ G1이고 G-1∩G0= G0∩G1= G-1∩G1= φ인 관계와, G0(또는 G1)에 속한 코드워드(ci)는 반드시 이에 대응하는 코드워드(cj)가 G1(또는 G0)에 속하는 관계를 만족시키는 3개의 그룹 G-1, G0, G1을 생성하는 제1-1 단계; 처리 대상 변수(t와 w)를 초기화하는 제1-2 단계; 상기 워터마크 정보 B의 한 비트(bw)를 선택하는 제1-3 단계; 상기 코드북에서 xt에 가장 가까운 코드워드 ci를 선택하는 제1-4 단계; 상기 선택된 ci를 포함하는 그룹(GP)을 판단하고, P가 -1일 경우에는 t를 1 증가시키고 상기 제1-4 단계로 진행하는 제1-5 단계; 상기 선택된 ci를 포함하는그룹(GP)을 판단한 결과 P가 0이나 1일 경우, 현재 워터마크 비트(bw)의 정수값이 P와 같으면 상기 ci를 그대로 배정하고, 그렇지 않은 경우에는 상기 ci에 대응하는 cj를 배정하는 제1-6 단계; 및 상기 워터마크 정보 B를 모두 처리하였으면 상기 워터마크 처리를 종료하고, 그렇지 않은 경우에는 변수 w와 t를 1 증가시킨 후 상기 제1-3 단계로 진행하는 제1-7 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 코드북 그룹화를 이용한 워터마크 추출 방법은, 변수(n)를 초기화 하는 제2-1 단계; 워터마크 정보가 삽입된 이미지 블록으로부터 코드워드 cn을 추출하는 제2-2 단계; 상기 추출된 cn을 포함하는 그룹 GP를 확인하여, P가 -1이면 이 코드워드를 무시하고, P가 0 또는 1이면 이 값을 비트값으로 바꾸어 추출된 워터마크 정보에 추가하는 제2-3 단계; 및 워터마크의 추출이 종료할 때까지 상기 n을 1 증가시키고 상기 제2-2 단계와 제2-3 단계를 반복 수행하는 제2-4 단계를 포함하는 것을 특징으로 한다.
도 1은 벡터 양자화에서의 압축/복원 과정에 관한 개요도,
도 2는 분류된 코드북을 이용한 종래의 워터마크 삽입과정에 관한 개요도,
도 3은 본 발명에 따른 워터마크 삽입과정에 관한 실시예,
도 4는 삽입되는 워터마크에 따라 코드워드가 배정되는 개요도,
도 5는 코드북을 3개의 그룹으로 나누는 실시예,
도 6은 코드북을 생성하는 실시예,
도 7은 본 발명에 따른 워터마크 추출과정에 관한 실시예,
도 8은 코드워드로부터 워터마크가 추출되는 개요도를 도시한 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 3을 참조하여 벡터 양자화(VQ)되는 소스 이미지의 각 입력 벡터 xt(0 ≤t≤T-1)에 대하여, 워터마크 정보 B(b0,b1,...,bw-1, bw∈ {0,1}, 0 ≤w ≤W-1)를 삽입하는 방법을 구체적으로 설명하기로 한다.
본 발명을 실시하기 위해서는 코드북을 구성하는 코드워드의 전체집합으로부터 3개의 그룹(G-1, G0, G1)을 생성한다(S1-1:제1-1 단계).
이 때, 코드북에 속한 각각의 코드워드는 3개의 그룹(G-1, G0, G1) 중 어느 하나에만 속해야 한다. 즉, 코드북을 구성하는 코드워드의 전체집합(C)은 다음의 수학식 1과 수학식 2를 동시에 만족시키는 관계에 있어야 한다.
C = G-1∪ G0∪ G1
G-1∩G0= G0∩G1= G-1∩G1= φ
여기서, G0이나 G1에 속한 코드워드는 각각 0 또는 1을 의미하는 워터마크 비트를 포함함을 의미하며, G-1에 속한 코드워드는 어떠한 워터마크 정보도 포함하지 않거나 포함할 수 없음을 의미한다.
또한, G0또는 G1에 속한 코드워드는 반드시 이에 대응하는 코드워드를 G1또는 G0에 가지고 있어야 하는데 다음의 수학식 3과 같이 기호로 표시할 수 있다.
Alt[ci] = cj, ci∈ G0그리고 cj∈ G1혹은 ci∈ G1그리고 cj∈ G0
그리고 특정한 값 D(D > 0) 에 대하여, ci와 cj간의 유클리디언 왜곡의 제곱인 SED(ci,cj)가 D보다 적어야 한다. 그러나, G-1에 속한 코드워드는 자기 자신을 제외하고 코드북에 속한 모든 코드워드와 D 이상으로 떨어져 있다. 여기서, 'D'란 벡터간의 거리를 의미하는 실수이다.
이제 제1-1 단계에서 생성된 3개의 그룹을 이용하여 각 입력 벡터 xt에 대한 코드워드를 재배정함으로서 워터마크를 삽입하는 과정을 진행한다.
먼저, 처리 대상 변수를 초기화한다. 예로서, 입력 벡터와 워터마크 비트의 순서를 각각 나타내는 t와 w 변수를 0으로 설정한다(S1-2:제1-2 단계).
워터마크 정보 B 중에서 현재 처리될 w번째 비트(bw)를 선택한다(S1-3:제1-3 단계).
코드북에서 현재 처리될 입력 벡터 xt에 가장 가까운 코드워드 ci를 선택한다(S1-4:제1-4 단계).
그리고, 선택된 ci를 포함하는 그룹(GP)을 판단하고, P가 -1일 경우에는 t를 1 증가시키고 제1-4 단계로 진행한다(S1-5 내지 S1-7::제1-5 단계). P가 -1일 때 다시 단계 S1-4로 돌아가는 이유는 워터마크 비트(bw)를 삽입할 수 없기 때문이다.
그러나, 선택된 ci를 포함하는 그룹(GP)을 판단한 결과 P가 0이나 1일 경우에는 워터마크 비트를 삽입한다. 즉, 현재 워터마크 비트(bw)의 정수값이 P와 같으면 ci를 그대로 배정하고, 그렇지 않은 경우에는 ci에 대응하는 cj를 배정한다(S1-8 내지 S1-10:제1-6 단계).
제1-6 단계를 진행하면 1 비트의 워터마크 정보가 삽입된다. 그러므로, 현재 워터마크 정보 B를 모두 처리하였는지를 판단하여, 모두 처리한 경우에는 삽입절차를 종료한다. 그러나, 처리할 워터마크 정보가 남아있는 경우에는 계속 삽입절차를 진행해야 하므로, 변수 w와 t를 1 증가시킨 후 단계 S1-3으로 진행한다(S1-11,S1-12:제1-7 단계).
여기서, 단계 S1-1은 학습용 입력 벡터들을 이용하여 생성된 코드워드들을 대상으로 한번만 진행되면 족하며, 이후에 여러 이미지에 대하여 단계 S1-2 이후의 과정을 반복할 수 있다.
도 4를 참조하여 16개의 벡터들로 이루어진 소스 이미지에 워터마크 비트 스트림 "01110100101001"을 삽입하는 예를 설명하기로 한다. 코드워드 c1과 c8은 G-1에 속하기 때문에 워터마크를 삽입하는데 사용하지 않는다. 삽입과정에서 4개의 코드워드는 매치되는 다른 코드워드로 교체되었다. 예를 들면, x3에는 처음에는 c3이 배정되지만, 삽입할 비트가 1이고 c3이 G0에 속하기 때문에 c4(Alt(c3))로 교체되었다.
위에서 설명한 바에 따라 워터마크 비트를 삽입하기 위해서는 제1-1 단계에서 설명한 바와 같이 코드북을 구성하는 코드워드의 전체집합으로부터 일정 조건을 만족하는 3개의 그룹(G-1, G0, G1)을 생성해야 한다.
도 5를 참조하여, m개의 코드워드로 구성된 코드북을 3개의 그룹으로 나누는 바람직한 실시예를 설명하기로 한다.
먼저, 코드북을 구성하는 각각의 코드워드 ci에 대하여, SED(ci,cj) ≤ SED(ci,cj')의 조건을 만족하며, 가장 거리가 가까운 두개의 코드워드(cjand cj')를 선택한다(S2-1). 여기서, SED(x,y)는 x와 y 간의 유클리디언 왜곡의 제곱으로서 벡터간의 거리를 의미한다.
그리고, 기 규정된 벡터간의 거리값인 'D'와 산출된 SED(ci,cj) 및 SED(ci,cj')를 비교한다(S2-2). 'D'는 사용자가 설정하는 벡터간의 거리를 의미하며, D값에 따라 이미지의 왜곡정도와 삽입할 수 있는 워터마크 정보의 크기가 결정된다.
이제 단계 S2-2에서의 비교결과에 따라 다음과 같이 코드워드를 배정한다.
(1) SED(ci,cj)와 SED(ci,cj')가 모두 D 이하인 경우: ci는 G0또는 G1에 임의로 배정하고(S2-3), cj와 cj'중 하나를 임의로 선택하여 반대편 그룹(G1또는 G0)에 배정한다(S2-4).
(2) SED(ci,cj) ≤ D 이고 SED(ci,cj') > D 인 경우, ci는 G0또는 G1에 임의로 배정하고(S2-5), cj를 선택하여 반대편 그룹(G1또는 G0)에 배정한다(S2-6).
(3) SED(ci,cj) >= D 이고 SED(ci,cj') < D 인 경우, ci는 G0또는 G1에 임의로 배정하고(S2-7), cj'를 선택하여 반대편 그룹(G1또는 G0)에 배정한다(S2-8).
(4) SED(ci,cj)와 SED(ci,cj')가 모두 D를 초과하면, ci를 G-1에 배정한다(S2-9).
이러한 그룹의 배정은 일정 개수(m)의 코드워드로 구성되는 코드북에 대하여 적용되는데, 보다 많은 워터마크 정보를 삽입하기 위해서는 G-1에 속하는 코드의 수를 최소화하는 것이 바람직하다. 즉, 코드북을 3개의 그룹으로 분해할 때 대부분의 코드워드에 자신에 대응하는 코드워드를 다른 그룹에 가질 수 있도록 조정하는 것이 중요하다. 소스 이미지, 코드북, 그리고 분할방법이 삽입될 비트 수를 결정하기 때문에, 코드북과 분할방법을 정밀하게 설계하는 것이 중요하다.
도 6을 참조하여 m개의 코드워드를 가지는 코드북을 생성하는 바람직한 실시예를 설명하기로 한다.
먼저, 일정 학습용 입력 벡터들의 집합에 로이드 알고리즘[Lloyd, 1982]을 적용하여 m/2개의 코드워드를 가지는 코드북을 생성한다. 그리고, 생성된 코드북을로이드 알고리즘의 초기값으로 설정하고, 학습용 입력 벡터 집합에 로이드 알고리즘을 다시 적용하여 m개의 코드워드로 이루어진 코드북을 최종적으로 생성한다. 일정 초기값과 입력 벡터로부터 코드워드를 생성하는 로이드 알고리즘은 널리 알려진 기술이므로 상세한 설명은 생략하기로 한다.
한편, 위에서 설명한 방법에 따라 워터마크가 삽입되면 이를 효과적으로 추출하는 방법이 필요하게 되는데, 도 7을 참조하여, 워터마크 정보가 삽입된 벡터 양자화(VQ) 이미지로부터 워터마크를 추출하는 바람직한 실시예를 설명하기로 한다.
먼저, 워터마크 비트를 계속 추출하기 위하여 변수 n을 초기화 한다(S3-1: 제2-1 단계).
워터마크 정보가 삽입된 이미지 블록으로부터 코드워드 cn을 추출한다(S3-2: 제2-2 단계).
추출된 cn을 포함하는 그룹 GP를 확인하여, P가 -1이면 이 코드워드를 무시하고, P가 0 또는 1이면 이 값을 비트값으로 바꾸어 추출된 워터마크 정보에 추가한다(S3-3 내지 S3-5:제2-3 단계).
그리고, 워터마크의 추출이 종료할 때까지 n을 1 증가시키고 상기 제2-2 단계와 제2-3 단계를 반복 수행한다(S3-6,S3-7:제2-4 단계).
즉, cn을 포함하는 그룹 GP를 확인하고, P을 확인하는 것으로 워터마크의 추출이 가능하다. 도 8을 참조하자면, 코드워드 c1과 c8은 G-1에 속하므로 워터마크 정보를 포함하고 있지 않다. 그러나, c0은 G0에 속해 있으므로 워터마크 비트 '0'을 나타내며, c4는 G1에 속해 있으므로 워터마크 비트 '1'을 나타낸다.
위에서 설명한 각 실시예의 단계들은 하드웨어적으로나 소프트웨어적으로 모두 실행시킬 수 있는데, 컴퓨터 시스템에 설치되는 컴퓨터 프로그램에 의하여 바람직하게 실시할 수 있다.
그러므로, 본 발명은 위에서 설명한 각 단계를 수행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체도 그 대상으로 한다. 물론, 이러한 컴퓨터 프로그램은 여러가지 컴퓨터 프로그래밍 언어로서 만들어질 수 있는 것이다.
본 발명을 사용하면, 입력 벡터 공간상에 균등하게 워터마크 정보를 삽입할 수 있고, 추출과정에서 원래의 이미지가 불필요하다.
특히, 각각의 입력 벡터에 하나의 워터마크 비트를 삽입할 수 있는 확율을 높여 전달과정에서의 이미지 손상에 따른 워터마크 정보의 손실을 최소화 할 수 있고, 실제적인 응용이 편리하며, 벡터 양자화(VQ) 압축이나 JPEG 압축 방법에 의한 공격에 대하여 견고한 효과가 있다.

Claims (8)

  1. 벡터 양자화(VQ: Vector Quantization)되는 소스 이미지의 각 입력 벡터 xt(0 ≤t ≤T-1)에 대하여, 워터마크 정보 B(b0,b1,...,bw-1, bw∈ {0,1}, 0 ≤w ≤W-1)를 삽입하는 워터마크 삽입 방법에 있어서,
    코드북(codebook)을 구성하는 코드워드(codeword)의 전체집합(C)에 대하여, C = G-1∪ G0∪ G1이고 G-1∩G0= G0∩G1= G-1∩G1= φ인 관계와, G0(또는 G1)에 속한 코드워드(ci)는 반드시 이에 대응하는 코드워드(cj)가 G1(또는 G0)에 속하는 관계를 만족시키는 3개의 그룹 G-1, G0, G1을 생성하는 제1-1 단계;
    처리 대상 변수(t와 w)를 초기화하는 제1-2 단계;
    상기 워터마크 정보 B의 한 비트(bw)를 선택하는 제1-3 단계;
    상기 코드북에서 xt에 가장 가까운 코드워드 ci를 선택하는 제1-4 단계;
    상기 선택된 ci를 포함하는 그룹(GP)을 판단하고, P가 -1일 경우에는 t를 1 증가시키고 상기 제1-4 단계로 진행하는 제1-5 단계;
    상기 선택된 ci를 포함하는 그룹(GP)을 판단한 결과 P가 0이나 1일 경우, 현재 워터마크 비트(bw)의 정수값이 P와 같으면 상기 ci를 그대로 배정하고, 그렇지 않은 경우에는 상기 ci에 대응하는 cj를 배정하는 제1-6 단계; 및
    상기 워터마크 정보 B를 모두 처리하였으면 상기 워터마크 처리를 종료하고, 그렇지 않은 경우에는 변수 w와 t를 1 증가시킨 후 상기 제1-3 단계로 진행하는 제1-7 단계를 포함하는 것을 특징으로 하는 코드북 그룹화를 이용한 워터마크 삽입 방법.
  2. 제 1 항에 있어서, 상기 제1-1 단계는
    상기 코드북을 구성하는 각각의 코드워드 ci에 대하여, SED(ci,cj) ≤ SED(ci,cj')(SED(x,y): x와 y 간의 유클리디언 왜곡의 제곱)의 조건을 만족하며, 가장 거리가 가까운 두개의 코드워드(cjand cj')를 선택하는 단계;
    기 규정된 벡터간의 거리값인 'D'와 상기 산출된 SED(ci,cj) 및 SED(ci,cj')를 비교하는 단계;
    상기 비교 결과 상기 SED(ci,cj)와 SED(ci,cj')가 모두 D 이하인 경우, ci는 G0또는 G1에 임의로 배정하고 cj와 cj'중 하나를 임의로 선택하여 반대편 그룹(G1또는 G0)에 배정하는 단계;
    상기 비교 결과 상기 SED(ci,cj) ≤ D 이고 SED(ci,cj') > D 인 경우, ci는 G0또는 G1에 임의로 배정하고, cj를 선택하여 반대편 그룹(G1또는 G0)에 배정하는 단계;
    상기 비교 결과 상기 SED(ci,cj) > D 이고 SED(ci,cj') ≤ D 인 경우, ci는 G0또는 G1에 임의로 배정하고, cj'를 선택하여 반대편 그룹(G1또는 G0)에 배정하는 단계; 및
    상기 비교 결과 상기 SED(ci,cj)와 SED(ci,cj')가 모두 D를 초과하면, ci를 G-1에 배정하는 단계를 포함하는 것을 특징으로 하는 코드북 그룹화를 이용한 워터마크 삽입 방법.
  3. 제 2 항에 있어서, 상기 코드북은
    일정 학습용 입력 벡터들의 집합에 로이드 알고리즘[Lloyd, 1982]을 적용하여 m/2개의 코드워드를 가지는 코드북을 생성하는 단계; 및
    상기 생성된 코드북을 상기 로이드 알고리즘의 초기값으로 설정하고, 상기 학습용 입력 벡터 집합에 상기 로이드 알고리즘을 적용하여 m개의 코드워드로 이루어진 코드북을 최종적으로 생성하는 단계를 통해 생성되는 것을 특징으로 하는 코드북 그룹화를 이용한 워터마크 삽입 방법.
  4. 제 1 항에 기재된 상기 각 단계 중 하나 이상의 단계를 수행할 수 있는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  5. 제 2 항에 기재된 상기 각 단계 중 하나 이상의 단계를 수행할 수 있는 컴퓨터프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  6. 제 3 항에 기재된 상기 각 단계 중 하나 이상의 단계를 수행할 수 있는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  7. 상기 제1항 내지 제3항 중 어느 하나의 항에 기재된 워터마크 삽입 방법에 따라 워터마킹 처리된 벡터 양자화 이미지로부터 워터마크를 추출하는 워터마킹 추출 방법에 있어서,
    변수(n)를 초기화 하는 제2-1 단계;
    워터마크 정보가 삽입된 이미지 블록으로부터 코드워드 cn을 추출하는 제2-2 단계;
    상기 추출된 cn을 포함하는 그룹 GP를 확인하여, P가 -1이면 이 코드워드를 무시하고, P가 0 또는 1이면 이 값을 비트값으로 바꾸어 추출된 워터마크 정보에 추가하는 제2-3 단계; 및
    워터마크의 추출이 종료할 때까지 상기 n을 1 증가시키고 상기 제2-2 단계와 제2-3 단계를 반복 수행하는 제2-4 단계를 포함하는 것을 특징으로 하는 코드북 그룹화를 이용한 워터마크 추출 방법.
  8. 상기 제7항에 기재된 각 단계 중 하나 이상의 단계를 수행할 수 있는 컴퓨터프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2002-0048067A 2002-08-14 2002-08-14 벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드 이미지 워터마킹 처리 방법 KR100520711B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2002-0048067A KR100520711B1 (ko) 2002-08-14 2002-08-14 벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드 이미지 워터마킹 처리 방법
US10/436,014 US7263204B2 (en) 2002-08-14 2003-05-12 Blind watermarking method by grouping codewords for VQ-quantized images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0048067A KR100520711B1 (ko) 2002-08-14 2002-08-14 벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드 이미지 워터마킹 처리 방법

Publications (2)

Publication Number Publication Date
KR20040015911A true KR20040015911A (ko) 2004-02-21
KR100520711B1 KR100520711B1 (ko) 2005-10-17

Family

ID=31713134

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0048067A KR100520711B1 (ko) 2002-08-14 2002-08-14 벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드 이미지 워터마킹 처리 방법

Country Status (2)

Country Link
US (1) US7263204B2 (ko)
KR (1) KR100520711B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611989B1 (ko) * 2004-08-31 2006-08-11 삼성전자주식회사 핑거프린트 코드 생성 방법 및 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007007627A1 (de) * 2006-09-15 2008-03-27 Rwth Aachen Steganographie in digitalen Signal-Codierern
TWI384767B (zh) * 2008-11-21 2013-02-01 Univ Nat Chiao Tung 用以分群一編碼簿以及自該編碼簿選取一預編碼字之方法、裝置及其電腦程式產品
US8818019B2 (en) 2009-06-08 2014-08-26 Cisco Technology Inc Robust watermark
US8300881B2 (en) * 2009-09-16 2012-10-30 Broadcom Corporation Method and system for watermarking 3D content
KR101361524B1 (ko) * 2012-11-09 2014-02-25 주식회사 시공미디어 콘텐츠 자동 변환 처리를 통한 워터마크 삽입 장치 및 방법
CN103150700A (zh) * 2013-03-25 2013-06-12 西南科技大学 一种在图片中嵌入和提取数字水印的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644528A (en) * 1985-02-07 1987-02-17 At&T Bell Laboratories Terminating port determination in a distributed control switching system using a distributed database
JP3365331B2 (ja) * 1999-02-01 2003-01-08 ヤマハ株式会社 ベクトル量子化装置およびベクトル量子化方法
KR100453683B1 (ko) * 2002-03-15 2004-10-20 한국전자통신연구원 샘플 확장을 이용한 공간영역 블라인드 워터마크 삽입 및검출 방법
US20040019877A1 (en) * 2002-07-26 2004-01-29 International Business Machines Corporation System, method and program product for initializing variables in a program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611989B1 (ko) * 2004-08-31 2006-08-11 삼성전자주식회사 핑거프린트 코드 생성 방법 및 장치

Also Published As

Publication number Publication date
US7263204B2 (en) 2007-08-28
US20040032967A1 (en) 2004-02-19
KR100520711B1 (ko) 2005-10-17

Similar Documents

Publication Publication Date Title
Cao et al. High capacity reversible data hiding in encrypted images by patch-level sparse representation
KR100770963B1 (ko) 영상들 및 비디오에 대한 계층 인증 시스템
Fridrich et al. Practical steganalysis of digital images: state of the art
Butora et al. Reverse JPEG compatibility attack
US6532541B1 (en) Method and apparatus for image authentication
He et al. Reversible data hiding in JPEG images based on negative influence models
US9396733B2 (en) Reversible audio data hiding
TWI463806B (zh) 處理數位影像之方法及系統
Feng et al. JPEG recompression detection
Stamm et al. Wavelet-based image compression anti-forensics
Chang et al. Reversible steganographic method using SMVQ approach based on declustering
CN107578452B (zh) 一种具有兼容格式和不变尺寸的jpeg图像加密方法
Shankar et al. Minor blind feature based Steganalysis for calibrated JPEG images with cross validation and classification using SVM and SVM-PSO
CN114998080A (zh) 人脸防篡改水印生成方法、篡改检测方法及属性检测方法
KR100520711B1 (ko) 벡터 양자화 기법에서 코드북 그룹화를 이용한 블라인드 이미지 워터마킹 처리 방법
Berg et al. Searching for Hidden Messages: Automatic Detection of Steganography.
Tereshchenko et al. Features of applying pretrained convolutional neural networks to graphic image steganalysis
Cho et al. Block-based image steganalysis for a multi-classifier
Bansal et al. Performance evaluation of steganography tools using SVM and NPR tool
Yakti et al. Processing Speed Comparison of the Least Significant Bit (LSB) Steganography Algorithm on FPGA and Matlab
Iranpour et al. Reducing the embedding impact in steganography using Hamiltonian paths and writing on wet paper
Jain et al. An enhanced digital watermarking for color image using support vector machine
Kamal et al. Iteration free fractal compression using genetic algorithm for still colour images
Wu et al. Image reversible visual transformation based on MSB replacement and histogram bin mapping
Lin et al. Image error concealment based on watermarking

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20091001

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee