KR20050021974A - 무손실 데이터 임베딩 - Google Patents

무손실 데이터 임베딩 Download PDF

Info

Publication number
KR20050021974A
KR20050021974A KR10-2004-7020525A KR20047020525A KR20050021974A KR 20050021974 A KR20050021974 A KR 20050021974A KR 20047020525 A KR20047020525 A KR 20047020525A KR 20050021974 A KR20050021974 A KR 20050021974A
Authority
KR
South Korea
Prior art keywords
data
signal
embedding
host
embedded
Prior art date
Application number
KR10-2004-7020525A
Other languages
English (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 KR10-2004-7020525A priority Critical patent/KR20050021974A/ko
Publication of KR20050021974A publication Critical patent/KR20050021974A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

워터마킹 혹은 데이터 은폐 방법들의 바람직하지 못한 부작용은 호스트 신호가 왜곡된다는 것이다. 이 발명은 호스트 신호(X)를 완전히 그대로(추가 시그널링 없이) 재구성할 수 있게 하는 가역 혹은 무손실 데이터 은폐 방법을 개시한다. 이것은 복합신호가 주어졌을 때, 워터마크가 된 신호(Y)의 임베딩된 데이터(d)에, 호스트 신호를 식별하는 복구 데이터(r), 즉, 임베딩(23) 동안에 호스트 신호가 어떤 수정들을 받게 되었는지를 식별하는(24) 복구 데이터를 수용함으로써 달성된다. 복구 데이터는 통상의 임베더(23)의 임베딩 용량의 일부에 수용된다. 나머지 용량은 페이로드(w)를 임베딩하는데 사용된다.

Description

무손실 데이터 임베딩{Lossless data embedding}
본 발명은 호스트 신호에 손실없이 데이터를 임베딩하기 위한 방법 및 장치에 관한 것이다. 본 발명은 데이터를 검색하여 호스트 신호를 재구성하는 방법들 및 장치들에 관한 것이다.
많은 워터마킹 및 데이터 은페 방법들에 있어 바람직하지 못한 부작용(side effect)은 보조 데이터가 임베딩된(emebedded) 복합 신호(예를 들면, 이미지들, 비디오, 오디오)가 왜곡(distort)된다는 것이다. 따라서, 임베딩되는 데이터량과 유발되는 왜곡간에 최적의 균형을 찾는 것이 연구의 활동적인 분야이다. 워터마킹과 데이터 은폐 방법들(data-hiding schemes)의 용량 대 왜곡에 대한 기본적인 한계를 이해하는 데에 있어 상당한 진전이 있었다.
간혹, 거의 왜곡없이 데이터를 임베딩하는 것이 요망될 뿐만 아니라, 상기 왜곡을 완전히 제거할 수 있는 것 또한 요망된다. 이러한 능력을 제공하는 데이터 임베딩 방법을, 무손실 혹은 가역(reversible) 데이터 은폐 혹은 임베딩 방법이라 한다. 무손실 데이터 은폐 방법은 원 호스트 신호의 어떠한 열화(degradation)도 허용되지 않는 경우들에서 중요하다. 즉, 예를 들면, 의료영상 및 귀중한 원작의 멀티미디어 아카이브가 그러하다.
공지된 무손실 데이터 은폐 방법은 Jessica Fridrich, Miroslav Goljan and Rui DU,"모든 이미지 포멧들에 대해 무손실 데이터 임베딩(Lossless Data Embedding for all Image Formats)", Proceedings OF SPIE, Security and Watermarking of Multimedia Contents, San Jose, California, 2002에 개시되어 있다. 이 공지의 방법에서, 신호(X)의 특징 혹은 서브세트(subset) (B)(예를 들면, 비트맵 이미지의 최하위 비트 평면, 혹은 JPEG 이미지의 특정 DCT 계수들의 최하위 비트들)이 신호(X)로부터 추출되고 무손실 압축된다. 압축된 서브세트(B)는 보조 데이터(페이로드)와 연쇄되고 원 서브세트 대신 신호(X)에 삽입된다. 이 방법은 서브세트(B)가 (i) 손실없이 압축될 수 있다는 것과 (ii) 신호 X의 인식 품질을 보존하면서 랜덤화될 수 있다는 가정에 기초한다.
수신기측에서, 왜곡된 복합신호는 통상의 장비를 사용하여 재생될 수 있다. 왜곡을 완전하게 제거하기 위해서, 압축된 서브세트를 포함하는 연쇄된 비트 스트림을 추출하여 압축해제한다. 이어서, 원래의 서브세트(B)는 신호(X)에 다시 삽입된다.
Fridrich 등의 논문에는 무손실 데이터 은폐의 실제적인 예들을 개시하고 있으나 무손실 임베딩 방법들의 이론상의 한계엔 거의 유의하지 않고 있다.
<발명의 요약>
본 발명의 목적은 레이트 대 왜곡 면에서 보다 효율적인 무손실 데이터 임베딩 방법들을 제공하는 것이다.
이를 위해서, 본 발명은 호스트 신호에 보조 데이터를 임베딩하는 방법 및 장치를 제공하는 것으로, 주어진 임베딩 레이트 및 왜곡을 갖는 미리 결정된 데이터 임베딩 방법을 사용하여 복합 신호를 생성하는 단계;상기 임베딩 레이트의 일부를 사용하여, 상기 복합 신호상에 콘디션된(conditioned) 상기 호스트 신호를 식별하는 복구 데이터(restoration data)를 수용하는 단계;남은 임베딩 레이트를 사용하여 상기 보조 데이터를 임베딩하는 단계를 포함한다.
본 발명은 수신된 복합 신호가 있을 때, 수신기가 원 호스트 신호의 불확실성을 제거하는 것만으로 충분하다는 통찰을 활용한다. 상기 불활실성을 제거하는데 필요한 데이터량은 원 호스트 신호 자체를 엔코딩하는데 필요한 데이터량보다 작다. 본 발명자들은 무손실 데이터 임베딩 용량의 이론적 경계들을 공식화하였다.
도 1은 무손실 데이터 임베딩 방법들의 경계들을 나타낸 도면이다.
도 2는 본 발명에 따라 호스트 신호에 보조 데이터를 무손실 임베딩하기 위한 장치의 개략적 도면이다.
도 3은 본 발명에 따른 무손실 데이터 임베딩 장치들의 실시예들의 성능을 예시한 도면이다.
도 4는 본 발명에 따라 호스트 신호를 재구성하는 장치의 개략도이다.
도 5 및 도 6은 본 발명에 따라 호스트 신호에 복구 데이터를 수용하는 실시예들을 도시한 도면이다.
도 7 및 도 8은 대칭 채널과 비대칭 채널간 차이를 도시한 도면들이다.
먼저 종래 기술의 압축 및 비트 대치 방법을 보다 대략적으로 논하도록 하겠다. Fridrich 등의 신호 소스는 신호 샘플 시퀀스, 예를 들면 이미지의 화소들을 생성한다. 압축되는 신호의 서브세트(B)(비트 평면, 특정 DCT 계수들의 최하위 비트들)은 이진(binary) 심볼 소스(x1...xN)을 구성한다. 확률 p0=Pr{x=0}와 확률 p1=Pr{x=1}은 같지 않은 것으로 가정한다. 즉, 소스의 엔트로피 H(p0)=-p0 log2 (p0)-p1 log2 (p1)은 1 미만인 것으로 가정한다. 이 경우, 정보이론에 따르면 N 심볼들들의 시퀀스는 K=N x H(p0) 심볼들의 보다 짧은 시퀀스(y1....yK)로 압축될 수 있다. 가역 데이터 은폐 방법은 N x (1-H(p0)) 보조 데이터 심볼들을 시퀀스 (y1....yK)에 덧붙임으로써 달성된다. 예를 들면, p0=0.9 이고 p1 =0.1이라면, 소스의 엔트로피는 H(p0) 0.47이 되고, 따라서, (N이 클 경우) 원 호스트 심볼들을 나타내는 데에 있어 0.47x N 비트만이 필요하게 된다. 따라서, 0.53 x N 보조 데이터 심볼들은 나머지 시퀀스(y1...yN)에 페이로드로서 임베딩될 수 있다. 디코더측에서, 원 시퀀스(x1....xN)는 y1...yK를 압축해제함으로써 복구된다. 시퀀스의 나머지 yK+1...yN은 보조 데이터로서 해석된다.
Fridrich 등의 임베딩 방법의 데이터 레이트는 R=l-H(p0) bits/sample이다. 압축된 시퀀스(y1...yK)의 비트들은 x1...xN의 비트들과는 무상관(uncorrelated)이고, 보조 데이터는 무작위로 선택되기 때문에, x1...xN가 y1...yN 간의 왜곡은 D=0.5임을 쉽게 알 수 있다. Fridrich 등의 방법의 왜곡은 x1...xN 내 심볼들의 일부 α에 대해서만 전술한 구성을 수행함으로써 감소될 수 있다. 이것을 시간공유(time-sharing)라 한다. 이때, 데이터 레이트 및 왜곡은 팩터 α만큼 감소한다. 이러한 "단순" 시간공유 임베딩 방법의 결과적인 데이터 레이트 및 왜곡은 각각 R=α(1-H(p0)) 및 D=α/2, 혹은
Rsimple(D) = 2D(1-H(p0)) (1)
이다.
p0=0.9일 경우, 이 선형 레이트-왜곡 함수를 도 1에 일점쇄선(11)으로 도시하였다.
본 발명자들은 선형식(1)이 최적이 아니라는 것을 알게 되었다. 본 발명자들은 무손실 데이터 임베딩의 용량의 이론적 경계들을 발견하였다. 특히, 무기억 이진 소스(memoryless binary source) 및 p0≥0.5에 대한 가역 임베딩 방법의 달성가능한 데이터 레이트 Rrev는, 0≤D≤0.5에 대해서,
Rrev = H(max(p0-D, 0.5))-H(p0) (2)
이다.
p=0.9일 경우, 이 레이트-왜곡 함수를 도 1에 실선(12)으로 도시하였다. 식(2)는 일반적으로 비대칭 채널들(본 발명자들은 데이터 임베더들에 대해 "채널들"라는 표기를 사용한다)에 적용가능하다. 대칭 채널들에 있어서, 레이트는 다음과 같다.
Rsym = H(p0 + (1-2p0)D)-H(p0) (3)
p0=0.9일 경우, 이 레이트-왜곡 함수를 도 1에 점선(13)으로 도시하였다. 대칭채널에 있어서의 임베딩 레이트는 항시 최적의 임베딩 레이트와 시간공유 임베딩 레이트 사이에 있다. 대칭채널과 비대칭 채널의 실제 예들은 나중에 보이도록 하겠다. 도 1에서 선들(11, 12, 13)은 p0=0.9(및 p1=0.1)에 관계된 것이다. 예시로, p0=0.8일 경우 유사한 선들(14, 15, 16)을 또한 도시하였다.
도 2는 본 발명에 따른 무손실 데이터 임베딩 장치의 일반적인 개략도이다. 장치는 인지가능 호스트 신호, 예를 들면 이미지(Im)의 디지털 표현을 수신한다. 이로부터 추출단(21)에서는 보조 데이터가 임베딩될 호스트 심볼 시퀀스 X= {x1...xN}를 추출한다. Fridrich등의 임베딩 방법에서와 같이 유사하게, 호스트 신호는 이미지로부터 비트 평면 혹은 특정 DCT 계수들의 최하위 비트들을 추출함으로써 얻어질 수 있다.
장치는 데이터 임베더(23)를 또한 포함하는데, 이는 이 임베더가 호스트 신호의 왜곡을 야기하는 점에서 통상적인 것이다. 왜곡을 나타냄에 있어서는 흔히 "제곱오차(squared error)"가 사용된다.
D(x, y) = (y-x)2
임베딩 프로세스는 복합 신호 Y={y1...yN}을 생성한다. 먼저, 호스트 신호(X)와 복합신호(Y)는 알파벳 {0, 1}을 가진 이진 신호들인 것으로 가정한다. 복합신호(Y)는 워터마크가 된 이미지(Im')을 얻기 위해서 삽입단(22)에 이미지가 다시 삽입된다.
복구 엔코더(24)는 호스트 신호(X)와 복합신호(Y)를 수신한다. 복구 엔코더는 어느 호스트 심볼들이 어떤 수정이 되었는가의 기록을 유지하고 상기 정보를 복구 데이터(r)에 엔코딩한다. "어느 호스트 심볼들이 어떤 수정이 되었는가"라는 표현은 넓게 해석되어야 한다. 왜곡이 D=0 혹은 D=1(이 실시예에의 경우와 같이)이라면, 어느 심볼들이 왜곡이 되었는가를 식별하는 것만으로 충분하다. 다른 유형들의 임베더(23)에 대해서는, 왜곡량 또한 엔코딩되어야 한다. 복구 엔코더(24)는 본 발명의 기능상의 특징을 나타내는 것에 유의해야 할 것이다. 따라서 회로는 물리적으로 있을 필요는 없다. 이하 제시되는 장치의 실제 실시예에서, 어느 심볼들이 왜곡되었는가에 대한 정보는 본시 임베더(23) 자체에 의해 생성된다.
bits/symbol 단위의 복구 데이터 레이트는 임베더(23)의 임베딩 레이트보다 작음을 보이도록 하겠다. 남는 임베딩 용량은 보조 데이터(페이로드)(w)를 임베딩하는데 사용된다. 복구 데이터(r) 및 페이로드(w)는 연쇄회로(25)에서 서로 연쇄된다. 이것이 임베딩을 위해 임베더(23)에 인가되는 연쇄된 데이터(d)이다.
장치의 바람직한 실시예에서, 임베더(23)는 M. van Dijk and F.M.J. Willems,"그레이스케일 이미지에 정보 임베딩(Embedding Information in Grayscale Images)", Proceedings of the 22nd Symposium on Information Theory in the Benelux, Enschede, The Netherlands, May 15-16,2001, pp. 147-154의 논문에 교시된 바에 따라 동작한다. 이 논문에서, 저자들은 효율적인 레이트-왜곡 비를 갖는 손실 임베딩 방법들을 기재하고 있다. 특히, 호스트 신호 샘플들의 수 L (L>1)는 호스트 심볼들의 블록 혹은 벡터를 제공하기 위해 그룹으로 나뉜다. 한 블록의 호스트 심볼들은 상기 블록의 신드롬이 하나 이상의(그러나 L 미만) 임베딩된 메시지 심볼(d)를 나타내도록 수정된다.
"신드롬"이라는 표현은 에러정정 분야에선 공지의 표기이다. 에러정정 방법들에서, 수신된 데이터 워드의 신드롬은 이에 주어진 매트릭스를 곱함으로써 판정된다. 신드롬이 제로라면, 데이터 워드는 올바른 것이다. 신드롬이 제로가 아니라면, 제로가 아닌 값은 오류가 난 데이터 워드 심볼들의 위치(혹은 위치들)를 나타낸다. 해밍 에러정정 코드들은 해밍 거리 3를 갖는다. 이들은 하나의 오류 데이터 심볼을 정정할 수 있게 한다. 이외의 코드들, 이를테면 골레이 코드들은 한 데이터 워드의 복수의 심볼들을 정정할 수 있게 한다.
수학적인 면에서, M. van Dijk 등이 교시하는 데이터 임베딩 방법은 에러정정과 유사하다. 한 블록의 L 호스트 심볼들(x1...xL)에 메시지 심볼(d)을 임베딩하기 위해서, 임베더는 상기 블록의 하나 이상의 호스트 심볼들을 수정한다. 수학적으로, 요구되는 신드롬을 갖고 있고 해딩 면(Hamming sense)에서 x1...xL에 가장 가까운 출력 블록 (y1...yL)이 산출된다. 예로서, 블록 길이 L=3인 해밍 코드를 사용한 데이터 임베딩을 간략히 요약하도록 하겠다.
3비트로 된 한 블록 혹은 벡터의 신드롬을 계산하기 위해서, 벡터에 다음과 같은 3 x 2 패리티 체크 매트릭스를 곱한다.
모든 수학적 연산은 모듈로-2 연산인 것에 유의한다. 예를 들면, 입력 벡터 (001)의 신드롬은 다음과 같기 때문에, (11)이다.
이 신드롬 (11)은 임베딩된 데이터를 나타낸다. 자명하게, 호스트 벡터들의 신드롬은 일반적으로 임베딩될 메시지는 아니다. 그러므로, 호스트 심볼들 중 하나가 수정되어야 한다. 예를 들면, 메시지 (01)이 (11) 대신 임베딩할 것이라면, 임베더(23)는 원 호스트 벡터 (110)이 (011)로 수정되게 제2 호스트 심볼을 변경한다.
3심볼들 당 이러한 임베딩 방법의 왜곡은 (호스트 심볼들 중 어느 것도 변경되지 않을 확률 1/4 및 한 심볼이 ±1만큼 변경될 확률 3/4)이므로, 심볼당 평균 왜곡은 D=1/4이다. 임베딩 레이트는 블록당 2비트, 즉 R=2/3 bits/symbol이다. 대응하는 (R, D)-쌍은 도 3에 302으로 표기된 + 기호로서 도시되었다.
마찬가지로, 3 데이터 비트가 한 블록의 7 신호 심볼들에 임베딩될 수 있고, 4비트가 15 신호 심볼들 등에 임베딩될 수 있다. 일반적으로, 해밍 코드 기반의 임베딩 방법들은 많아야 1 호스트 심볼을 수정함으로써 한 블록이 L=2m-1 호스트 심볼들인 다수 블록들에 m 메시지 심볼들이 임베딩될 수 있게 한다. 임베딩 레이트는
이고, 왜곡은
이다.
도 3은 302, 303,.., 306으로 표기한 + 기호들로서 m=2,3,...,6일 경우에 이러한 (손실, 비가역) 임베딩 방법의 상응하는 (R, D)-쌍들을 도시한 것이다. m=1일 때(단순 비트 대치임) (R,D)-쌍을, 301로 표기한 + 기호로서 도시하였다. (R, D) 값들은 이진 소스의 엔트로피 H(p)와는 무관한 것에 유의한다. 도 3은 p0=0.9일 때 Fridirich 무손실 임베딩 방법의 (R,D)-쌍(300)(R=0.53 bits/symbol, D=0.5)을 도시하고 있다. p0=0.9에서 무손실 임베딩 방법들의 이론적 경계들(11, 12, 13)(도 1과 비교)이 참조로 도 3에 도시되었다.
본 발명에 따르면, 임베딩된 메시지 데이터 비트들(d)의 일부를, 신호 샘플들 중 하나가 수정되었는가와, 수정이 되었다면, 어느 샘플이 수정되었는지를 식별하기 위해 사용한다. 블록 길이 3의 해밍 코드들에 있어서(m=2, L=3)는, 4가지 가능성, 즉 3 호스트 심볼들 중 어느 것도 변경되지 않았을 가능성, 제1 심볼이 수정되었을 가능성, 제2 심볼이 수정되었을 가능성, 혹은 제3 심볼이 수정되었을 가능성이 있다. 신호 소스의 엔트로피 H(p)가 1이라면, 모든 이벤트들은 동일 확률들을 갖는다. 이 경우, 복구를 위해서는 블록 당 임베딩된 메시지 비트들이 모두 필요하다. 그러나, 신호 소스의 엔트로피 H(p)가 1이 아니라면, 이벤트들은 서로 다른 확률들을 갖게 되고, m 미만의 복구 비트들이 요구된다. 이것은 호스트 심볼들의 블록들에 '실(real)' 보조 데이터 비트들(페이로드라고도 함)을 임베딩할 공간을 남겨놓는다.
Fridrich 등의 예에서와 마찬가지로, p0=0.9로 가정한다. 따라서, 소스가 호스트 벡터 (000)를 생성할 확률 p(x=000)은 (0.9)3 0.729이다. 소스가 호스트 벡터 (001)를 생성할 확률 p(x=001)은 (0.9)2 x(0.1)0.081이다. 본 장치의 임베더(23)는 복합 벡터 y=000일 생성하였다고 가정한다. 원 호스트 벡터(x)는 (000)이었을 수도 있을 것이다. 이 경우, 원 신호 샘플들 중 어느 것도 수정되지 않았다. 그러나, 원 호스트 벡터는 (001), (010), 혹은 (100)이었을 수도 있을 것이다. 이 경우, 호스트 심볼들 중 하나가 수정된 것이다. 호스트 벡터가 x=000이었을 확률은, y=000이 생성되었다고 할 때, 다음과 같다.
마찬가지로, y=000이 호스트 벡터 (001), (010) 혹은 (100)로부터 나올 확률들이 계산될 수 있다. 이에 따라, 다음과 같이 된다.
이와 같이 하여, 각 복합 벡터(y)는 연관된 한 세트의 조건부 확률들 p(x|y)를 갖는다. 이들을 다음 표에 요약하였다. 표는 또한, 각 블록(y)에 대해서, 대응하는 조건부 엔트로피 H(x|y)를 포함한다. 상기 조건부 엔트로피는 벡터(y)가 주어졌을 때, 원 벡터(x)의 불활실성을 나타낸다. 표는 또한, 메시지들 00, 01, 10, 11이 동일 확률들 1/4을 갖고 있다고 할 때, 확률 p(y)를 포함한다. 예를 들면, 확률 p(y=000)은 다음과 같이 계산되었다.
모든 블록들(y)에 대해 평균을 낸, 소스의 조건부 엔트로피 H(x|y)는 y가 주어졌을 때 x를 재구성하기 위한 비트 수를 나타낸다. 본 예에서, 상기 평균 엔트로피는 다음과 같다.
따라서, 원 블록을 식별하기 위해서는 블록 당 0.8642 복구 비트들이 필요하게 된다. 이것은 임베딩 페이로드용으로 2-0.8642=1.1358 bits/block을 남겨놓는다. 이에 따라, 데이터 레이트 R은 다음과 같다.
복합신호의 왜곡(D)은 임베딩된 데이터 d에 현재 할당된 특정 의미에 의해 영향을 받지 않는 것에 유의한다. 앞에서 기술한 바와 같이, 이 무손실 임베딩 방법의 왜곡은,
D = 1/4
이다.
대응하는 (R,D) 쌍을, 도 3에 312로 표기한 ◇ 기호로 도시하였다. 이 무손실 임베딩 방법은 동일 왜곡을 갖는 Fridrich 무손실 임베딩 방법보다 상당히 높은 임베딩 레이트 R를 갖는다는 것을 알 것이다(333과 비교). 유사하게, 길이들 7, 15, 31, 63 등을 갖는 해밍 코드들에 있어서의 레디트-왜곡 쌍들이 계산될 수 있다. 도 3은 m=3,...,6에 대해 대응하는 (R,D)-쌍들을 313,...,316으로 표기한 ◇ 기호로서 도시하고 있다.
도 4는 수신된 복합신호로부터 원 호스트 신호를 재구성하는 장치의 개략도이다. 본 장치는 워터마킹된 이미지(Im')를 수신한다. 수신된 이미지는 원 이미지(Im)가 약간 왜곡된 것이다. 디스플레이를 위해 재생 디바이스에 직접 인가될 수 있다. 본 장치는 또한 추출단(41)을 포함하며, 이는 수신된 이미지로부터, 데이터(d)가 임베딩된 복합 신호 Y= {y1...yN} (예를 들면, 주어진 비트 평면)를 추출한다. 추출단(41)은 도 2에 도시한 임베딩 장치의 추출단(21)과 동일하다.
복합신호(Y)는 데이터 검색 회로(retrieval circuit)(43)에 인가되어 복합신호 내 임베딩된 데이터(d)를 검색한다. 데이터가 길이 L의 해밍 코드들을 사용하여 임베딩된 바람직한 실시예에서, 검색회로(43)는 심볼들(y1...yL)로 된 각 블록의 신드롬을 판정한다. 추출된 데이터는 페이로드(w)와 복구 비트들(r)이 연쇄된 것이다. 이들은 분리기(44)에서 분리되는데, 분리기(44)에서는 도 2에 도시된 연쇄회로(26)의 반대되는 동작을 수행한다. 이에 따라, 페이로드(w)가 검색된다.
복구 비트들(r) 및 복합신호(Y)는 원 호스트 신호(X)를 재구성하기 위해 재구성 유닛(45)에 의해 사용된다. 재구성 유닛은 원 호스트 신호 X=x1...xN에 적용된 수정(들)을 원상태로 돌리도록 구성된다. 바람직한 실시예에서, 복구 데이터(r)는 블록(Y) 내 심볼들 중 하나가 수정되었는지, 수정되었다면 어느 심볼이 수정되었는지를 식별한다. 일반적으로, 복구 데이터는 심볼들 y1...yN의 왜곡 D을 식별한다. 마지막으로, 재구성된 호스트 신호(X)는 원 이미지(Im)을 얻기 위해서 삽입단(42)에 의해 이미지에 다시 삽입된다. 삽입단(42)은 도 2에 도시된 임베딩 장치의 삽입단(22)과 동일하다.
전술한 실시예에서는 호스트 신호(X), 복합신호(Y), 및 데이터 심볼들을 알파벳 {0, 1}을 가진 이진 신호들인 것으로 가정하였다. 그러나, 본 발명은 이진 신호들로 한정되지 않는다. 예를 들면, van Dijk 등의 논문에 개시된 바와 같은 3진(ternary) 임베딩 방법도 사용될 수 있다. 3진 데이터 임베더에서, 데이터 심볼들(d)은 알파벳 {0, 1, 2}에 속한다. 특히,
- 신호 샘플 값들 y=0, 3,6,...은 메시지 심볼 d = y mod 3 = 0를 나타내고,
- 신호 샘플 값들 y=1, 4,7,...은 메시지 심볼 d = y mod 3 = 1를 나타내고,
- 신호 샘플 값들 y=2, 5,8,...은 메시지 심볼 d = y mod 3 = 2를 나타낸다.
데이터 임베더(23)(도 2)는 이제 원 이미지 신호를 수신하고(회로들(21, 22)는 필요하지 않음), 수정된 샘플(yi)에 임베딩된 데이터가 d가 되게 신호 샘플(xi)의 최하위 부분을 수정한다. 이진 임베딩에 대해 기술된 바와 유사하게, 3진 심볼들은 호스트 심볼 그룹들에 임베딩될 수 있다. 이것은 (3진) 해밍 코드들 혹은 (3진) 골레이 코드를 사용하여 가능하다. 이의 예는 출원인의 미공개 국제특허출원 IB02/01702에 기재되어 있다.
또 다른 데이터 임베딩 방법에서, 메시지 심볼들(d)은 신호 샘플 쌍들에 임베딩된다. 이 방법에서, 신호 샘플들(xa, xb)의 2차원 심볼공간은 5가지로 '채색(colored)' 된다. 격자 상의 각 점은 한 쌍의 신호 샘플들을 나타내며, 이의 이웃한 점들과는 다른 색을 갖는다. 색들은 0...4의 숫자가 매겨지고 각 색은 메시지 심볼 d {1,2, 3,4}를 나타낸다. 이 실시예에서, 임베더(23)는 (xa, xb)가, 임베딩될 색 d를 갖는지를 체크한다. 갖고 있지 않다면, 수정된 쌍이 색 d를 갖도록 심볼 쌍(xa, xb)을 변경한다. 2차원 임베딩 방법은 그 이상의 차원들로 확장될 수 있음을 알 것이다. 3차원 격자에서, 예를 들면, 각 점은 동일 계층(layer)에서 4개의 이웃 점들로 "이동"될 수 있을 뿐만 아니라 위 혹은 아래로도 옮겨질 수 있다. 7가지 색들, 즉 7가지 메시지 심볼들이 사용될 수 있다.
임베딩될 데이터(d)에 복구 데이터(r)를 수용하는 특정한 방법들의 실제 실시예들을 기술한다. 이 점에 있어서는, 주어진 임베더(23)를 사용하여 달성될 수 있는 임베딩 레이트 R(블록 길이 3을 가진 해밍 코드들을 사용한 2원 임베딩에 있어 이를테면 R=0.3786 bits/symbol)은 최대인 것에 유의한다. 임베딩 레이트는 호스트 신호 샘플들의 긴 시퀀스들(큰 N)에 가깝게 될 수 있다.
본 발명에 따른 방법의 제1 실시예에서, 호스트 신호는 충분히 큰 세그먼트들로 분할된다. 각 세그먼트에 대한 복구 데이터는 후속 세그먼트 내에 수용된다. 남는 용량은 페이로드를 임베딩하는데 사용된다. 이것을 도 5에 도시하였으며, 도면에서 참조부호 51은 원 호스트 신호(Im)을 나타낸다. 신호는 세그먼트들 S(n)으로 분할되고, 각 세그먼트는 소정 수의 신호 샘플들(여기서는 이미지 화소들)을 포함한다. 참조부호 52는 신호와 시간적으로 일치하는 임베딩된 데이터 스트림(d)을 나타낸다. 도시된 바와 같이, 세그먼트 S(n)에 대한 복구 비트들 r(n)이 세그먼트 S(n+1)에 임베딩되어 있다. 세그먼트 S(n+1)의 나머지 부분은 페이로드(w)를 수용하는데 사용된다. 엄밀한 수의 복구 비트들은 세그먼트마다 다를 수 있는 것에 유의한다. 각각의 일련의 복구 비트들을 적합한 엔드-코드(end-code)에 제공함으로써, 세그먼트 내 복구 비트들(r)과 페이로드(w) 간 경계를 식별하므로 잇점이 있다.
도 5에 도시된 숫자들은 단지 예시적인 것이다. 세그먼트 길이를 N(여기서는 N=3000) 신호 심볼들로 한다. 임베더(23)(도 2 참조)는 블록 길이 3인 해밍 코드들에 기초한다. 이 임베더는 임베딩 레이트 R(여기서는 R=2/3) bits/symbol를 가지며, 따라서 R x N(여기서는 2000) 비트들을 각 세그먼트에 임베딩할 수 있다. 소스의 엔트로피는 주어진 확률 p0(여기서는 0.9)에 대해서 H(X|Y)(여기서는 심볼 당 0.8642/3 0.3 비트)이다. 세그먼트 X, 주어진 Y의 불확실성을 제거하기 위한 복구 데이터 수는, H(X|Y)x N (여기서는 0.3 bits/symbol x 3000 심볼 = 900 비트)이다. 이것은 페이로드용으로 R x N-H(X|Y)x N(여기서는 2000-900=1100) 비트가 남긴다.
도 6은 복구 비트를 수용하는 또 다른 실시예를 도시한 것이다. 이 실시예에서, 주어진 초기 길이를 가진 세그먼트 S(n)는 페이로드(w)만을 구비한다. 세그먼트 S(n)에 대한 복구 비트 r(n)는 후속 세그먼트 S(n+1)에 수용된다. 후속 세그먼트 S(n+1)에는 이제 복구 비트 r(n)을 수용하는데 요구되는 길이가 할당된다. 세그먼트 S(n+1)은 다른 세그먼트 S(n+1)에 임베딩될 새로운 수의 복구 데이터 r(n+1)를 요한다. 등등. 이 프로세스는 수회, 예를 들면 후속 세그먼트가 소정의 임계치보다 작아질 때까지 반복된다. 전체 프로세스는 주어진 초기 길이를 가진 새로운 세그먼트 S(.)에 대해 반복된다.
입력된 심볼 혹은 벡터 X를 출력 심볼 혹은 벡터 Y로 바꾸는 데이터 임베더는 "채널"을 나타낸다. 지금까지 기술된 데이터 임베더들은 대칭 채널을 구성한다. 이것을 도 7에서 볼 수 있고, 도 7은 전술한 블록 길이 3을 가진 해밍 코드들에 기초한 데이터 임베더를 그래픽적으로 나타낸 것이다. 도 8은 비대칭 채널을 그래픽으로 나타낸 것이다. 이 특정의 예는 d=00을 임베딩하려 할 때(1은 0으로 바뀌지 않는 것이 바람직하다), 입력 벡터들 (001), (010), (100)를 y=(000) 대신에 y=(111)로 수정함으로써 얻어진다. 이 임베딩 방법의 임베딩 레이트는 R=0.4335 bits/symbol이다(대응하는 대칭 채널의 레이트 R=0.3786와 비교). 1비트 대신 간혹 벡터의 2비트가 변경되기 때문에, 왜곡은 약간 더 크다. 이 경우, 왜곡은 D=0.2701(대칭 채널의 D=0.25와 비교). 도 3에서 참조부호 322는 대응하는 (R,D)-쌍을 나타낸다. 이 도면에서 알 수 있듯이, 비대칭 채널의 성능은 경계선 12와 경계선 13 사이에 놓여있다.
본 발명은 다음과 같이 요약될 수 있다. 워터마킹 혹은 데이터 은폐 방법들의 바람직하지 못한 부작용은 호스트 신호가 왜곡된다는 것이다. 이 발명은 호스트 신호(X)를 완전히 그대로(추가 시그널링 없이) 재구성할 수 있게 하는 가역 혹은 무손실 데이터 은폐 방법을 개시한다. 이것은 복합신호가 주어졌을 때, 워터마크가 된 신호(Y)의 임베딩된 데이터(d)에, 호스트 신호를 식별하는 복구 데이터(r), 즉, 임베딩(23) 동안에 호스트 신호가 어떤 수정들을 받게 되었는지를 식별하는(24) 복구 데이터를 수용함으로써 달성된다. 복구 데이터는 통상의 임베더(23)의 임베딩 용량의 일부에 수용된다. 나머지 용량은 페이로드(w)를 임베딩하는데 사용된다.

Claims (11)

  1. 호스트 신호에 보조 데이터를 임베딩하는 방법으로서,
    주어진 임베딩 레이트 및 왜곡을 갖는 미리 결정된 데이터 임베딩 방법을 사용하여 복합 신호를 생성하는 단계;
    상기 임베딩 레이트의 일부를 사용하여, 상기 복합 신호상에 콘디션된(conditioned) 상기 호스트 신호를 식별하는 복구 데이터(restoration data)를 수용하는 단계; 및
    남은 임베딩 레이트를 사용하여 상기 보조 데이터를 임베딩하는 단계를 포함하는, 임베딩 방법.
  2. 제 1 항에 있어서,
    상기 호스트 신호를 연속적인 세그먼트들로 분할하는 단계;
    상기 미리 결정된 데이터 임베딩 방법을 상기 세그먼트들에 적용하는 단계;
    세그먼트에서 이전 세그먼트에 대한 상기 복구 데이터를 수용하는 단계를 포함하는, 임베딩 방법.
  3. 제 2 항에 있어서, 각각의 세그먼트는 보조 데이터뿐만 아니라 상기 이전 세그먼트에 대한 상기 복구 데이터를 포함하는, 임베딩 방법.
  4. 제 2 항에 있어서,
    (a) 주어진 길이의 세그먼트에만 보조 데이터를 수용하는 단계;
    (b) 후속되는 세그먼트에, 상기 이전 세그먼트에 대해서만 복구 데이터를 수용하는 단계;
    (c) 상기 후속 세그먼트의 길이를 임베딩되는 복구 데이터량에 적응시키는 단계;
    (d) 미리 결정된 횟수로 단계 (b) 및 단계 (c)를 반복하는 단계를 포함하는 임베딩 방법.
  5. 제 4 항에 있어서, 상기 단계 (d)는 상기 후속 세그먼트의 상기 길이가 미리 결정된 임계치보다 작아질 때까지 단계 (b) 및 단계 (c)를 반복하는 단계를 포함하는, 임베딩 방법.
  6. 호스트 신호(X)에 보조 데이터(w)를 임베딩하기 위한 장치로서,
    임베딩된 데이터(d)를 가진 복합 신호(Y)를 생성하도록 주어진 임베딩 레이트 및 왜곡을 갖는 미리 결정된 데이터 임베더(23);
    상기 호스트 신호(Y)상에 콘디션된 상기 호스트 신호(X)를 식별하는 복구 데이터(r)를 생성하는 수단(24, 25); 및
    상기 임베딩된 데이터(d)의 일부에 상기 복구 데이터(r)를 수용하고 상기 임베딩된 데이터의 나머지 부분에 상기 보조 데이터(w)를 수용하는 수단(26)를 포함하는, 임베딩 장치.
  7. 임베딩된 데이터를 갖는 호스트 신호의 왜곡된 버전(distorted version)을 나타내는 복합 신호로부터 상기 호스트 신호를 재구성하는 방법으로서,
    상기 복합 신호로부터 상기 임베딩된 데이터를 검색하는 단계;
    상기 임베딩된 데이터를 복구 데이터와 보조 데이터를 분리하는 단계;
    상기 복구 데이터, 주어진 상기 복합 신호를 사용하여 상기 호스트 신호를 재구성하는 단계를 포함하는, 호스트 신호 재구성 방법.
  8. 제 7 항에 있어서,
    상기 복합 신호를 연속적인 세그먼트들로 분할하는 단계;
    세그먼트에서 수용된 상기 복구 데이터를 사용하여 상기 호스트 신호의 이전 세그먼트를 재구성하는 단계를 포함하는, 호스트 신호 재구성 방법.
  9. 제 8 항에 있어서, 상기 복합 신호의 각각의 세그먼트는 보조 데이터만이 아니라 상기 호스트 신호의 상기 이전 세그먼트에 대한 상기 복구 데이터를 포함하는, 호스트 신호 재구성 방법.
  10. 임베딩된 데이터를 갖는 호스트 신호의 왜곡된 버전을 나타내는 복합 신호(Y)로부터 호스트 신호(X)를 재구성하는 장치에 있어서,
    상기 복합신호(Y)로부터 상기 임베딩된 데이터(d)를 검색하는 수단(43);
    상기 임베딩된 데이터(d)를 복구 데이터(r) 및 보조 데이터(w)로 분할하는 분할 수단(44);
    주어진 상기 복합 신호(Y), 상기 복구 데이터(r)를 사용하여 상기 호스트 신호(X)를 재구성하는 재구성 수단(46)을 포함하는, 호스트 신호 재구성 장치.
  11. 복구 데이터(r) 및 보조 데이터(w)를 포함하는, 임베딩된 데이터(d)를 가진 복합 정보 신호(Y)로서, 상기 복구 데이터는 상기 복합 신호상에 콘디션된 호스트 신호(X)의 왜곡을 식별하는, 복합 정보 신호.
KR10-2004-7020525A 2002-06-17 2003-06-11 무손실 데이터 임베딩 KR20050021974A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2004-7020525A KR20050021974A (ko) 2002-06-17 2003-06-11 무손실 데이터 임베딩

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02077459.2 2002-06-17
KR10-2004-7020525A KR20050021974A (ko) 2002-06-17 2003-06-11 무손실 데이터 임베딩

Publications (1)

Publication Number Publication Date
KR20050021974A true KR20050021974A (ko) 2005-03-07

Family

ID=41784391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7020525A KR20050021974A (ko) 2002-06-17 2003-06-11 무손실 데이터 임베딩

Country Status (1)

Country Link
KR (1) KR20050021974A (ko)

Similar Documents

Publication Publication Date Title
US7561714B2 (en) Reversible watermarking
Thodi et al. Prediction-error based reversible watermarking
US7389420B2 (en) Content authentication and recovery using digital watermarks
Celik et al. Lossless generalized-LSB data embedding
US7599518B2 (en) Reversible watermarking using expansion, rate control and iterative embedding
He et al. A novel high-capacity reversible data hiding scheme for encrypted JPEG bitstreams
Fridrich et al. Lossless data embedding with file size preservation
US20020159614A1 (en) Message coding for digital watermark applications
Mobasseri et al. A foundation for watermarking in compressed domain
RU2434356C2 (ru) Создание водяных знаков в кодированном информационном наполнении
JP4184339B2 (ja) 損失のないデータ埋込み
CN1348590A (zh) 将一个第一数字信息信号嵌入第二数字信息信号中以通过一个传输介质传输
Xu et al. JPEG compression immune steganography using wavelet transform
Al-Jaber et al. Reversible watermarking using modified difference expansion
KR20050098257A (ko) 무손실 데이터 임베딩
Wu et al. Zero-error watermarking on jpeg images by shuffling Huffman tree nodes
KR20050021974A (ko) 무손실 데이터 임베딩
Rodrigues et al. Reversible image steganography using cyclic codes and dynamic cover pixel selection
Karim et al. Reversible data embedding for any digital signal
Mobasseri et al. Lossless watermarking of compressed media using reversibly decodable packets
Chang et al. High-Capacity Reversible Data Hiding Method for JPEG Images.
Berger II et al. Watermarking in JPEG bitstream
US20060140440A1 (en) Reversible watermarking of digital signals
EP1555630B1 (en) Watermarking of images
Hsia et al. Multiple-description coding for robust image watermarking

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination