KR20030017630A - 정보 신호 내 보조 데이터 임베딩 - Google Patents

정보 신호 내 보조 데이터 임베딩 Download PDF

Info

Publication number
KR20030017630A
KR20030017630A KR10-2003-7000612A KR20037000612A KR20030017630A KR 20030017630 A KR20030017630 A KR 20030017630A KR 20037000612 A KR20037000612 A KR 20037000612A KR 20030017630 A KR20030017630 A KR 20030017630A
Authority
KR
South Korea
Prior art keywords
signal samples
vector
symbols
signal
auxiliary data
Prior art date
Application number
KR10-2003-7000612A
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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20030017630A publication Critical patent/KR20030017630A/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
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00884Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a watermark, i.e. a barely perceptible transformation of the original data which can nevertheless be recognised by an algorithm
    • G11B20/00891Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a watermark, i.e. a barely perceptible transformation of the original data which can nevertheless be recognised by an algorithm embedded in audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/917Television signal processing therefor for bandwidth reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs

Abstract

그레이스케일(grayscale) 화상들 또는 오디오 신호들과 같은 정보 신호들이 PCM 신호 샘플들의 시퀀스로서 표현된다. 그 신호의 중요도가 가장 낮은 비트들에 보조 데이터를 임베딩하기 위해, 그 샘플들은 약간 왜곡된다. 임의의 왜곡 레벨(D)로 제공된 가장 높은 임베딩울(R)을 제공하는 "왜곡률 함수"(20)가 존재한다. LSB 대체(21, 22)와 같은 종래 기술의 임베딩 구성들의 효율성이 개선될 수 있을 것으로 보인다. 본 발명은 그러한 임베딩 구성들(23, 24)을 기재한다. 본 발명에 따르면, 그 신호는 L(L<1)개의 신호 샘플들(x)의 그룹들로 분할된다. 신호 샘플들의 각각의 그룹에 대해, 그 신호 샘플들의 중요도가 가장 낮은 부분들의 벡터(x mod n)가 생성된다. n=2에 대해, 그 벡터는 각각의 신호 샘플의 중요도가 가장 낮은 비트를 포함한다. 상기 벡터의 신드롬(에러 검출 및 정정의 분야에서 정의되어 있는 바와 같이)은 임베딩된 데이터를 표현한다. 그룹의 단지 하나(또는 몇몇, 어떤 경우에는 L보다 낮은)의 신호 샘플(들)은 벡터가 원하는 신드롬 값을 가정함을 달성하기 위해서 변경될 필요가 있다.

Description

정보 신호 내 보조 데이터 임베딩{Embedding auxiliary data in an information signal}
깨지기 쉬운 워터마킹(watermarking)으로도 언급되는, PCM-코딩된 정보 신호에 보조 데이터를 임베딩하는 공지된 방법이 유럽 특허 EP-B 0 205 200호에 공개되어 있다. 이러한 종래 기술의 방법에서, 매 n번째 신호 샘플의 중요도가 가장 낮은 비트가 보조 데이터 비트로 대체된다. 이러한 임베딩 구성의 개선된 변화가 유럽 특허 출원 EP-A 0 359 325에 공개되어 있다. PCM 샘플의 중요도가 가장 낮은 비트는 실제 보조 데이터 비트뿐만 아니라, 동일한 PCM 샘플의 하나 또는 그 이상의 다른 비트들에도 의존하여, 본 명세서에서 변경된다.
본 발명은 정보 신호 내에 보조 데이터를 임베딩하기 위한 방법 및 장치에 관한 것이다. 본 발명은 또한 상기 보조 데이터를 검출하기 위한 방법 및 장치에 관한 것이다.
도 1은 보조 데이터 임베딩 및 디코딩 시스템의 일반적인 개략도.
도 2, 도 3, 도 4는 본 발명에 따른 임베딩 방법의 실시예들의 동작을 예시하는 그래프.
본 발명의 목적은 PCM 신호에 보조 데이터를 임베딩하는 방법을 더 개선하기 위한 것이다.
본 발명에 따라서, 이것은 청구항 1항에 정의된 바와 같은 방법에 의해 달성된다. 그 방법은 왜곡율 비(rate-distortion ratio)의 개선을 유도한다.
도 1은 보조 데이터 임베딩 및 디코딩 시스템(10)의 일반적인 개략도를 도시한다. 개별 무기억 소스(discrete memoryless source)(11)가 심볼들(x1...xn) 중 호스트 시퀀스(x)를 내보낸다. 임베더(embedder)로서 언급되기도 하는 인코더(12)가 1/M의 확률로 심볼들(0...M) 중 메시지(w)를 수신한다. 그 임베더는 x 및 w의 함수로서 시퀀스(x1...xN)를 심볼들의 합성 시퀀스(y1...yN)로 변경한다. 그 합성 시퀀스(y)는 목적지(13)에 인가되고, 또한, 임베딩된 메시지(w)를 확실하게 재현하도록 요구되는 디코더(14)에 의해 관측된다.
서두에 언급된 종래 기술의 임베딩 방법에서, PCM 샘플의 중요도가 가장 낮은 비트가 임베딩되기 위한 데이터 비트와 이미 동등하기 때문에, 호스트 신호 심볼들의 1/2은 변경되지 않는다. 그 심볼들의 다른 1/2은 상기 비트가 임베딩되기 위한 데이터 비트와 동일하도록 하기 위해, 중요도가 가장 낮은 비트를 플리핑(flipping)함으로써 변경된다. 그러므로, 그 변경된 심볼은 호스트 PCM 샘플로부터 +1 또는 -1만큼 다르다. 이는 다음의 표 Ⅰ에서 요약된다.
w=0 w=1
xi=....0xi=....1 yi=xiyi=xi+1yi=xi-1 yi=xi
호스트 심볼들의 변경은 왜곡을 도입한다. (오디오 샘플들, 화상 픽셀들과 같은) PCM 인코딩된 정보 신호들에 대해, 다음과 같이 정의된 "제곱 에러(squared error)"가 종종 사용된다:
D(x, y) = (y-x)2
종래 기술의 임베딩 구성의 평균 왜곡은:
이다.
종래 기술의 임베딩 구성의 임베딩율은 R=1 비트/심볼이고, 그러므로 왜곡률 비는 R/D=2이다.
종래 기술의 임베딩 방법은 중요도가 가장 낮은 비트 대체의 종류이며, 그 메시지는 그 신호 심볼들 중 R의 중요도가 가장 낮은 비트들(R은 양의 정수)에 임베딩된다. 다음의 표Ⅱa는 R=2에 대해, 중요도가 가장 낮은 비트 대체 구성을 보여준다.
w=00 w=01 w=10 w=11
xi=....00xi=....01xi=....10xi=....11 yi=xiyi=xi+1 yi=xi+2 yi=xi+3yi=xi-1 yi=xiyi=xi+1 yi=xi+2yi=xi-2 yi=xi-1 yi=xiyi=xi+1yi=xi-3 yi=xi-2 yi=xi-1 yi=xi
이 경우, 평균 왜곡은 :
이고, 왜곡율 비는 R/D=0.8이다.
표 Ⅱa의 R=2인 임베딩 구성에서, 호스트 심볼들 중 두 개의 중요도가 가장 낮은 비트들은 2-비트의 메시지(w)로대체됨을 주목하라. 표가 보여주듯이, 이것은 심볼당 D=32의 왜곡을 유도할 수 있다. 명확하게, 이는 3을 더하는 대신에, 샘플로부터 1을 빼는 것이 더 낫다. R=2에 대해, 이러한 방법은 다음의 표Ⅱb에서 요약된다.
w=00 w=01 w=10 w=11
xi=....00xi=....01xi=....10xi=....11 yi=xiyi=xi+1 yi=xi±2 yi=xi-1yi=xi-1 yi=xiyi=xi+1 yi=xi±2yi=xi±2 yi=xi-1 yi=xiyi=xi+1yi=xi+1 yi=xi±2 yi=xi-1 yi=xi
이러한 경우, 왜곡은:
이고, 왜곡률 비는 R/D=1.33이며, 이는 표 Ⅱa에서 보여주는 구성의 비 R/D=0.8보다 훨씬 더 좋다.
본 발명자들은 이론적으로 실현가능한 왜곡률 곡선을 발견했으며, 더 나은 왜곡률 비를 갖는 임베딩 구성들임에 틀림없음을 보여준다. 이러한 "경계" 곡선은 도 2에서 20으로 표시된다. 표Ⅰ 및 표Ⅱb에 대응하는 두(R, D) 쌍들((1, 0.5), (2, 1.5))은 이 도면에서 각각 21, 22로 표시된다. 이해되듯이, 왜곡률 비를 개선하기 위한 방이 있다. 예를 들어, 왜곡()이 R=1()에 대해 이론적으로 달성될 수 있으며, 왜곡()이 R=1()에 대해 이론적으로 달성될 수 있다. 본 발명자들은 큰 임베딩율(R)을 작은 왜곡(D)과 결합하는 임베딩 방법들, 즉, 큰 왜곡률의 비(R/D)를 발견하는데 관심이 있다.
"코딩된" LSB 변조
본 발명의 제 1 양상에 따라서, 메시지 심볼들은 이후 LSB 벡터로 언급되기도 하는 L(L>1)개의 호스트 심볼들의 그룹 중 각 그룹의 중요도가 가장 낮은 비트에 의해 형성된 벡터의 신드롬에 의해 표현된다. 그 표현 "신드롬(syndrome)"은 에러 정정 분야에서 잘 알려져 있는 개념이다. 에러 정정 구성들에서, 수신된 데이터 워드(입력 벡터)는 그의 신드롬을 얻기 위해 처리된다. 보통(필수적인 것은 아니지만), 상기 처리는 주어진 매트릭스(matrix)와 데이터 워드의 곱셈(multiplication)을 함축한다. 만일, 신드롬이 제로(zero)이면, 그 데이터 워드의 모든 비트들은 정확하다. 만일, 신드롬이 제로가 아니라면, 그 넌-제로 값은 잘못된 비트의 위치(또는 위치들)를 나타낸다. 해밍 코드(Hamming code)들은 해밍 간격(Hammingdistance)(3)을 갖고, 그러므로, 1개의 잘못된 비트가 정정되도록 허용한다. 골레이 코드(Golay code)들과 같은 다른 코드들은 복수 비트의 데이터 워드가 정정되도록 허용한다.
수학적 의미에서, 본 발명에 따른 데이터 임베딩 방법은 에러 정정과 비슷하다. L개의 호스트 심볼들의 그룹에 많은 데이터 비트들을 임베딩하기 위해, 그 인코더(도 1의 12)는 상기 그룹의 하나 또는 그 이상의 호스트 심볼들을 변경한다. 수학적으로, 출력 벡터(y1..yL)는 해밍 센스(Hamming sense)에서 x1..xL에 가장 근접한 것으로 계산된다. 그 디코더(도 1의 14)는 단순히 수신된 LSB 벡터의 신드롬을 결정하는데 필요하다. 그 신드롬은 임베딩된 보조 데이터를 표현한다.
다음의 예에서, (7, 4, 3) 해밍 코드는 호스트 심볼들의 중요도가 가장 낮은 비트에 데이터를 임베딩하기 위해 사용된다. 에러 정정의 분야에서, 그 (7, 4, 3) 해밍 코드는 7-비트 데이터 워드들 중 1비트가 7-4=3 패리티 비트를 사용하여 정정되도록(해밍 간격은 3이다) 허용한다. 이와 함께 유추하면, 그 임베딩 실시예는 3개의 메시지 비트들이 7개의 호스트 심볼들에 임베딩되도록 허용한다. 그 신드롬을 계산하기 위해서, 7개의 호스트 심볼들의 LSB 벡터는 다음의 3 ×7 매트릭스와 곱해진다(모든 수학적 동작들은 모듈로-2(modulo-2) 연산들이다):
이러한 행렬의 열들은 000을 제외한 모든 가능한 비트 조합들을 포함한다.
일곱개의 호스트 심볼들이 중요도가 가장 낮은 비트들(0, 0, 1, 1, 0, 1, 0)을 가진다고, 즉, 입력 LSB 벡터가 (0011010)이이라고 가정하자. 상기 매트릭스와 이 벡터의 모듈로-2 곱셈은 다음을 산출한다:
이 곱셈의 출력(001)은 입력 벡터(0011010)의 신드롬이다. 이는 그 임베딩된 메시지 심볼을 나타내는 신드롬이다.
명확하게, 최초 호스트 심볼들에 의해 표현된 그 신드롬은 일반적으로 임베딩되기 위한 메시지 심볼이 아니다. 그러므로, 호스트 심볼들 중 단지 하나의 심볼의 중요도가 가장 낮은 비트가 변경되어야 한다. 이는 다음 단계들에 의해서 달성된다:
- 최초 LSB 벡터의 신드롬과 임베딩될 메시지 간의 차를 계산하라. 예를 들어, 임베딩될 메시지가 (010)이면, 그 모듈로-2 차는 (010)-(001)=(011)이다.
- 매트릭스에서 차의 열 위치(d)를 결정하라. 이 예에서, 그 차(011)는 그 매트릭스의 제 3(d=3) 열에서 발견된다.
- d-번째 호스트 심볼의 중요도가 가장 낮은 비트를 변경하라.
그러므로, 3번째 호스트 심볼의 중요도가 가장 낮은 비트가 본 예에서 변경되며, 이는 변경된 벡터(0001010)가 된다. 디코더에서, 이러한 벡터는 신드롬 결정에 종속된다. 그 결과는:
이며, 이는 실제로 메시지 심볼(010)을 나타낸다.
7개의 심볼들 당 왜곡은(어떠한 호스트 심볼들도 변화되지 않을 확률(1/8) 및 하나의 심볼이 ±1만큼 변화될 확률(7/8))이며, 그러므로, 심볼 당 평균 왜곡은 D=1/8이다. 임베딩율은 7개의 심볼들 당 3비트, 즉, R=3/7이다. 대응하는(R, D)-쌍은 도 2에서 23으로 표시된 +부호로서 도시된다. 왜곡률 비는이다.
보다 일반적으로는, 해밍 코드들에 기초한 임베딩은 임베딩율
, 및 왜곡
를 갖는 2m-1개의 호스트 심볼들에 m-비트의 메시지 심볼들의 임베딩을 허용한다. m=2, 3, 4, 5에 대응하는 (R, D)-쌍들은 도 2에 +부호들로 도시된다. 그 왜곡율 비는
이며, 이는 큰 m에 대해서는 대략적으로 m과 동일하다. m=10에 대해, 그 비는 대충 낮은-비트 변조보다 큰 팩터(factor) 5이다. 이러한 현저한 개선은 임베딩 및 디코딩 하드웨어 또는 소프트웨어의 적당한 복잡성(complexity)으로 달성된다.
2진 해밍 코드 대신에, 골레이(Golay) 코드가 사용될 수 있다. 하나의 2진 골레이 코드: (23, 12, 7) 골레이 코드가 존재한다. 에러 정정 코드의 분야에서, 12개의 정보 비트들 및 23-12=11의 보호 비트(protection bit)들을 갖는 23-비트의 데이터 워드들에서, 그 골레이 코드는 3개의 잘못된 비트들(해밍 간격 7)을 검출하여 정정한다. 이와 함께 유추하여, 그 (23, 12, 7) 골레이 코드는 최대 3개의 심볼들을 변경함으로써 23개의 호스트 심볼들에 11개의 데이터 비트들을 임베딩할 수 있다. 골레이 코드의 응용은 다음을 유도한다:
, 및
대응하는 (R, D) 쌍은 도 2에서 24로 표시된 ◇부호로 지시된다. 왜곡율 비는이고, 이는 거의 LSB 변조로 달성될 수 있는 것보다 더 나은 팩터 2이다.
3진 임베딩 방법들
본 발명의 제 2 양상에 따라서, 메시지 심볼들은 호스트 심볼들의 "등급(class)"이라는 용어로 표현된다. w = 0, 1, 2에 대해, x mod 3 = w이면, 심볼(x)는 "등급 w"에 존재한다고 한다. 다시말해:
- PCM 값들 0, 3, 6, ... (등급 0)은 메시지 심볼 w=0을 나타내고,
- PCM 값들 1, 4, 7, ... (등급 1)은 메시지 심볼 w=1을 나타내며,
- PCM 값들 2, 5, 8, ... (등급 2)은 메시지 심볼 w=2을 나타낸다.
데이터 임베더(12)(도 1 참조)는 이후 그 변경된 심볼(yi)가 등급 w가 되도록, 입력 심볼(xi)을 변경한다. 이는 또한 "낮은-트리츠 변조(low-trits modulation)"로서 언급된다. 다음의 표Ⅲ은 호스트 심볼들(xi=9, 10, 11)에 대한 이러한 임베딩 구성을 도시한다.
w=0 w=1 w=2 w=0 w=1 w=2
xi=9xi=10xi=11 yi=9 yi=10 yi=8yi=9 yi=10 yi=11yi=12 yi=10 yi=8 D=1 D=1 D=1D=1 D=0 D=1D=1 D=1 D=0
임베딩율은이고, 평균 왜곡율은 D=1/9ㆍ6=2/3이다. 대응하는 (R, D)-쌍은 도 3에서 30으로 표시된 ◇부호로서 도시된다(참조의 용이성을 위해, 도 2에 도시된 경계(20) 및 (R, D) 쌍들(21, 22)이 또한 이 도면에 도시된다). 왜곡율 비는 상당히 양호한이다.
각각의 호스팅 심볼이 임베딩된 데이터를 갖는 3진 임베딩의 앞서 언급된 형태는 "코딩되지 않은" 3진 변조로서 언급된다. 그러나, "코딩된" LSB 변조에 대해 이전에 기재된 바와 유사한 방식으로, 즉, 호스트 심볼들의 그룹들에 3진 심볼들을 임베딩함으로써, 다시, "코딩된" 3진 변조를 수행하는 것이 가능하다. 또 다시, 해밍 코드들 또는 (3진) 골레이 코드를 사용함으로써 이를 행하는 것도 가능하다.
m=2의 패리티 체크들을 갖는 3진 해밍 코드를 사용한 임베딩 연산은 이후 보다 상세하게 보여질 것이다. 2진 해밍 코드들에 대해 앞서 설정된 원리들에 따라서, 그 매트릭스는 3m-1=8의 열들(00을 제외한 모든 조합들)을 가질 것으로 예상할 것이다. 그러나, 복수의 다른 열들인 열들이 매트릭스에 포함될 필요가 없다. 따라서, 열들의 수는 (3m-1)/2=4d이다. 이는 벡터를 형성하는 호스트 심볼들의 수이다. 그 매트릭스는:
이러한 3진 해밍 코드는 두개의 3진 메시지 심볼들이 각각의 등급들 1, 2, 0, 1을 갖는 4개의 호스트 심볼들의 그룹들에 수용되도록 허용한다. 그 호스트 벡터(1, 2, 0, 1)의 신드롬은 다음과 같다 (모든 수학적 연산들이 이후 모듈로-3임을 주목하라):
우리는 호스트 심볼들의 이러한 그룹에 두개의 3진 심볼들(1, 2)을 임베딩하기를 원한다. 그 차는 (1, 2)-(0, 0)=(1, 2)이다. 그 차는 그 매트릭스의 4번째 열에서 발견될 수 있다. 따라서, 4번째 호스트 심볼이 변경된다. 그 차가 그 매트릭스에서 발견된다면, 그 관련 호스트 심볼은 최초의 PCM 값에 1을 더함으로써 변경된다. 그러므로, 그 호스트 심볼들의 그룹은 (1, 2, 0, 2)로 변경된다. 디코더에서, 이러한 벡터는 신드롬 결정에 종속된다. 그 결과는:
이며, 이는 실제로 메시지 심볼들(1, 2)을 나타낸다.
만일, 우리가 호스트 심볼들의 그룹에 그 3진 심볼들(2, 2)을 임베딩하기를 원한다면, 그 차는 (2, 2)-(0, 0)=(2, 2)이다. (2, 2)가 (1, 1)의 배수(multiple)이기 때문에, 그 매트릭스 내에 이 값을 갖는 어떠한 열도 존재하지 않는다. 이 값(1, 1)은 그 매트릭스의 3번째 열에서 발견될 수 있다. 따라서, 그 세번째 심볼은 변경되지만, 이후 그 변경은 1을 더하는 것보다는 각각의 PCM 값에 2를 더하는(또는 1을 빼는) 것것을 포함한다. 그러므로, 호스트 심볼들의 그룹은 (1, 2, 2, 1)로 변경된다. 디코더에서, 이러한 벡터는 신드롬 결정에 종속된다. 그 결과는:
이며, 이며 실제로 메시지 심볼들(2, 2)을 나타낸다.
일반적으로, 해밍 코드들이 패리티 체크 심볼들의 소정수(m)로 사용될 때, 그 코드 워드 길이는 (3m-1)/2이다. 그러므로:
,
이고,
이다.
두(R, D) 쌍들은 도 3에서 31(m=2) 및 32(m=3)로 표시된 □부호들로 나타난다.
다시, 골레이 코드가 해밍 코드 대신에 사용될 수 있다. 단지 하나의 3진 골레이 코드: (11, 6, 5) 골레이 코드가 존재한다. 이 코드는 최대 2개의 심볼들을 변경함으로써 11개의 호스트 심볼들에 11-6=5의 3진 심볼들(해밍 간격은 5)을 임베딩할 수 있다. 골레이 코드의 응용은 다음을 유도한다:
,
이고,
대응하는 (R, D) 쌍은 도 3에서 33으로 표시된 +부호로 나타난다.
3진 임베딩(등급 = x mod 3)은 보다 일반적인 n-항 임베딩(등급 = x mod n)의 특정 경우임을 주목해야 한다. 앞서 기재된 LSB 임베딩은 또한 그의 특정 경우, 즉, n=2일 경우이다. 본 발명은 임의의 정수 n에 적합하다.
2-차원 코드들
본 발명의 제 3 양상에 따라서, 그 메시지 심볼들은 호스트 심볼들의 쌍들에 임베딩된다. 이는 앞서 기재된 임베딩 방법들의 2-차원 버전이다. 이러한 코딩 모드에서, 심볼 쌍들(xa, xb)의 그 2-차원 심볼 공간은 5가지 컬러들로 "컬러링된다(colored)". 그 그리드의 각 지점은 심볼 쌍을 표시하고, 그 이웃들로부터 다른 컬러를 갖는다. 그 컬러들은 0...4로 넘버링되어 있고, 각각의 컬러는 메시지 심볼 w∈{0, 1, 2, 3, 4}을 나타낸다. 다음의 표 Ⅳ는 2-차원 그리드(의 부분)를 도시한다.
xa→ 75 76
xb↓7879 1 2 3 4 0 1 2 3 4 0 1 2 3 4 04 0 1 2 3 4 0 1 2 3 4 0 1 2 32 3 4 0 1 2 3 4 0 1 2 3 4 0 10 1 2 3 4 0 1 2 3 4 0 1 2 3 43 4 0 1 2 3 4 0 1 2 3 4 0 1 2
그 디코더는 수신된 심볼 쌍(ya, yb)의 컬러를 단지 본다. 그 인코더는 (xa, xb)가 임베딩될 컬러(w)를 갖는 지를 체크한다. 그 경우가 아니라면, 그 변경된 쌍이 컬러(w)를 갖도록 심볼 쌍(xa, xb)을 변화시킨다. 예를 들어, 메시지(w=4)가 컬러(3)를 갖는 호스트 심볼 쌍(xa, xb)=(76, 79)에 임베딩되면, 그 임베더는 컬러(4)를 갖는 쌍, 예를 들어, 쌍 (ya, yb)=(75, 78)으로 그 심볼들을 변경한다. 이러한 임베딩 구성의 파라미터들은:
,
이고,
이다.
대응하는 (R, D)-쌍은 도 4에 40으로 표시된 ◇부호로서 도시된다(그 경계(20) 및 LSB 변조 파라미터들(21, 22)은 또한 편의를 위해 이 도면에 도시된다).
2-차원 임베딩 구성은 보다 많은 차원들로 연장될 수 있음이 이해될 것이다. 예를 들어, 3차원 그리드에서, 각각의 지점은 동일한 층에 4개의 이웃들로 "이동될(moved)" 수 없을뿐만 아니라, 위 또는 아래로도 이동될 수 없다. 7가지 컬러들, 즉, 7가지 메시지 심볼들은 이러한 구성에 사용가능하다.
앞서 기재된 LSB 변조 및 3진 변조 방법들과 같이, 그 2-차원 방법은 또한 5-항의 해밍 또는 골레이 코드들에 의해 "코딩될" 수 있다. 패리티 체크들의 소정수(m)에 대해, (5m-1)/4의 코드 길이의 5-항의 심볼들이 획득된다. 그 코딩 구성은 (5m-1)/2의 심볼들을 처리한다. 그 파라미터들은:
이고,
이다.
그러한 두 (R, D) 쌍들은 도 4에서 41(m=2) 및 42(m=3)로 표시되고, □부호들로 지시된다.
본 발명은 다음과 같이 요약될 수 있다. 그레이스케일(grayscale) 화상들 또는 오디오 신호들과 같은 정보 신호들이 PCM 신호 샘플들의 시퀀스로서 표현된다. 그 신호의 중요도가 가장 낮은 비트들에 보조 데이터를 임베딩하기 위해, 그 샘플들은 약간 왜곡된다. 임의의 왜곡 레벨(D)로 제공된 가장 높은 임베딩율(R)을 제공하는 "왜곡률 함수"(20)가 존재한다. LSB 대체(21, 22)와 같은 종래 기술의 임베딩 구성들의 효율성이 개선될 수 있을 것으로 보인다. 본 발명은 그러한 임베딩 구성들(23, 24)을 기재한다. 본 발명에 따르면, 그 신호는 L(L<1)개의 신호 샘플들(x)의 그룹들로 분할된다. 신호 샘플들의 각각의 그룹에 대해, 그 신호 샘플들의 중요도가 가장 낮은 부분들의 벡터(x mod n)가 생성된다. n=2에 대해, 그 벡터는 각각의 신호 샘플의 중요도가 가장 낮은 비트를 포함한다. 상기 벡터의 신드롬(에러 검출 및 정정의 분야에서 정의되어 있는 바와 같이)은 임베딩된 데이터를 표현한다. 그룹의 단지 하나(또는 적은, 어떤 경우에는 L보다 적은)의 신호 샘플(들)은 벡터가 원하는 신드롬 값을 가정함을 달성하기 위해서 변경될 필요가 있다.

Claims (10)

  1. 보조 데이터 심볼들에 따라 선택된 신호 샘플들 중 중요도가 가장 낮은 부분을 변경함으로써, 신호 샘플들의 스트림에 의해 표현된 정보 신호에 보조 데이터를 임베딩하는 방법에 있어서,
    상기 스트림을 신호 샘플들의 그룹들로 분할하는 단계와,
    신호 샘플들의 각각의 그룹에 대해, 상기 신호 샘플들 중 중요도가 가장 낮은 부분들을 나타내는 심볼들의 벡터를 형성하는 단계와,
    각 벡터가 주어진 신드롬 제약조건(syndrome constraint)들을 만족하도록 그룹의 신호 샘플들을 변경하는 단계로서, 상기 벡터의 신드롬은 하나 또는 그 이상의 보조 데이터 심볼들을 나타내는, 상기 변경 단계를 포함하는, 보조 데이터 임베딩 방법.
  2. 제 1 항에 있어서,
    상기 신호 샘플들 중 중요도가 가장 낮은 부분들을 나타내는 상기 심볼들은 x mod n 값들이고, 여기서, x는 신호 샘플이고, n은 정수이고, mod는 x가 n으로 제산된 후의 나머지를 나타내는, 보조 데이터 임베딩 방법.
  3. 제 1 항에 있어서,
    상기 신호 샘플 중 중요도가 가장 낮은 부분을 나타내는 상기 심볼들은 보다높은 차원의 공간에서 신호 샘플들의 조합들에 할당된 심볼들이고, 다른 심볼들은 상기 공간에서 서로의 이웃들인 조합들에 할당되는, 보조 데이터 임베딩 방법.
  4. 제 1 항에 있어서,
    상기 벡터의 신드롬은 상기 벡터를 주어진 매트릭스와 곱함으로써 결정되는, 보조 데이터 임베딩 방법.
  5. 신호 샘플들의 스트림에 의해 표현된 정보 신호에 보조 데이터를 임베딩하기 위한 장치에 있어서,
    보조 데이터 심볼들에 따라 선택된 신호 샘플들의 중요도가 가장 낮은 부분을 변경하기 위한 수단(12)으로서, 상기 변경 수단은,
    상기 스트림을 신호 샘플들의 그룹들로 분할하고,
    신호 샘플들의 각각의 그룹에 대해, 상기 신호 샘플들의 중요도가 가장 낮은 부분들을 나타내는 심볼들의 벡터를 형성하고,
    상기 각각의 벡터가 주어진 신드롬 제약조건들을 만족하도록 그룹의 신호 샘플을 변경하며, 상기 벡터의 신드롬은 하나 또는 그 이상의 보조 데이터 심볼들을 나타내도록 배치되어 있는, 상기 변경 수단을 포함하는, 보조 데이터 임베딩 장치.
  6. 보조 데이터 심볼들에 따라서 선택된 신호 샘플들 중 중요도가 가장 낮은 부분을 변경함으로써 신호 샘플들의 스트림에 의해 표현된 정보 신호에 임베딩된 보조 데이터를 검출하는 방법에 있어서, 상기 방법은
    상기 스트림을 신호 샘플들의 그룹들로 분할하는 단계와,
    신호 샘플들의 각각의 그룹에 대해, 상기 신호 샘플들의 중요도가 가장 낮은 부분들을 나타내는 심볼들의 벡터를 형성하는 단계와,
    상기 벡터의 신드롬을 결정하는 단계로서, 상기 신드롬은 하나 또는 그 이상의 보조 데이터 심볼들을 나타내는, 상기 결정 단계를 포함하는, 임베딩된 보조 데이터 검출 방법.
  7. 제 6 항에 있어서,
    상기 신호 샘플들의 중요도가 가장 낮은 부분을 나타내는 상기 심볼들은 x mod n 값들이고, 여기서, x는 상기 신호 샘플이고, n은 정수이고, mod는 x가 n에 의해 제산된 후의 나머지를 나타내는, 임베딩된 보조 데이터 검출 방법.
  8. 제 6 항에 있어서,
    상기 신호 샘플의 중요도가 가장 낮은 부분을 나타내는 상기 심볼들은 보다 높은 차원의 공간에서 신호 샘플들의 조합들에 할당되는 심볼들이고, 다른 심볼들은 상기 공간에서 서로의 이웃들인 조합들에 할당되는, 임베딩된 보조 데이터 검출 방법.
  9. 제 6 항에 있어서,
    상기 벡터의 신드롬을 결정하는 단계는 상기 벡터를 주어진 매트릭스와 곱하는 단계를 포함하는, 임베딩된 보조 데이터 검출 방법.
  10. 보조 데이터 심볼들에 따라서 선택된 신호 샘플들의 중요도가 가장 낮은 부분을 변경함으로써 신호 샘플들의 스트림에 의해 표현된 정보 신호에 임베딩된 보조 데이터를 검출하기 위한 장치(14)에 있어서,
    상기 스트림을 신호 샘플들의 그룹들로 분할하고,
    신호 샘플들의 각각의 그룹에 대해, 상기 신호 샘플들의 중요도가 가장 낮은 부분을 나타내는 심볼들의 벡터를 형성하고,
    상기 벡터의 신드롬을 결정하도록 배열된 수단을 포함하고, 상기 신드롬은 하나 또는 그 이상의 보조 데이터 심볼들을 나타내는, 임베딩된 보조 데이터 검출 장치.
KR10-2003-7000612A 2001-05-15 2002-05-15 정보 신호 내 보조 데이터 임베딩 KR20030017630A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01201778 2001-05-15
EP01201778.6 2001-05-15
PCT/IB2002/001702 WO2002093572A1 (en) 2001-05-15 2002-05-15 Embedding auxiliary data in an information signal

Publications (1)

Publication Number Publication Date
KR20030017630A true KR20030017630A (ko) 2003-03-03

Family

ID=8180300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7000612A KR20030017630A (ko) 2001-05-15 2002-05-15 정보 신호 내 보조 데이터 임베딩

Country Status (6)

Country Link
US (1) US7392453B2 (ko)
EP (1) EP1395986A1 (ko)
JP (1) JP2004520765A (ko)
KR (1) KR20030017630A (ko)
CN (1) CN1462443A (ko)
WO (1) WO2002093572A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412072B2 (en) 1996-05-16 2008-08-12 Digimarc Corporation Variable message coding protocols for encoding auxiliary data in media signals
EP1455509A3 (de) * 2003-03-03 2005-01-05 FREQUENTIS GmbH Verfahren und Anordnung zur Sprachaufzeichnung
US8140848B2 (en) 2004-07-01 2012-03-20 Digimarc Corporation Digital watermark key generation
US8443442B2 (en) * 2006-01-31 2013-05-14 The Penn State Research Foundation Signature-free buffer overflow attack blocker
US9990478B2 (en) * 2012-11-30 2018-06-05 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxiliary data into relational database keys and methods, apparatus, and articles of manufacture to obtain encoded data from relational database keys
CN110097159B (zh) * 2019-04-29 2022-09-23 绍兴聚量数据技术有限公司 一种基于汉明码的qr码安全认证方法及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3523809A1 (de) * 1985-05-21 1986-11-27 Polygram Gmbh, 2000 Hamburg Verfahren zur zeitkompression von informationen in digitaler form
FR2591834B1 (fr) * 1985-12-13 1988-02-19 Radiotechnique Procede de decodage de donnees radiodiffusees et dispositif de mise en oeuvre
US4847705A (en) * 1987-07-07 1989-07-11 Digital Equipment Corporation Method and apparatus for encoding magnetic disk sector addresses
US5237574A (en) * 1988-04-08 1993-08-17 Digital Equipment Corporation Error-resilient information encoding
NL8802291A (nl) 1988-09-16 1990-04-17 Koninkl Philips Electronics Nv Inrichting voor het verzenden van datawoorden welke een gedigitaliseerde analoog signaal vertegenwoordigen en een inrichting voor het ontvangen van de verzonden datawoorden.
US5371750A (en) * 1990-03-02 1994-12-06 Mitsubishi Denki Kabushiki Kaisha Error-correction encoding and decoding system
GB9312135D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Generation of checking data
US5428630A (en) * 1993-07-01 1995-06-27 Quantum Corp. System and method for verifying the integrity of data written to a memory
US5528607A (en) * 1995-02-02 1996-06-18 Quantum Corporation Method and apparatus for protecting data from mis-synchronization errors
JP3234130B2 (ja) * 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
ATE388470T1 (de) * 1997-05-30 2008-03-15 Macrovision Europ Ltd Kopierschutzverfahren für einen aufzeichnungsträger
JPH11274569A (ja) 1998-03-24 1999-10-08 Canon Inc Led装置、及びこれを用いた光源、画像形成装置、画像読み取り装置
US6792542B1 (en) * 1998-05-12 2004-09-14 Verance Corporation Digital system for embedding a pseudo-randomly modulated auxiliary data sequence in digital samples
US6748362B1 (en) * 1999-09-03 2004-06-08 Thomas W. Meyer Process, system, and apparatus for embedding data in compressed audio, image video and other media files and the like
US6463564B1 (en) * 1999-09-14 2002-10-08 Maxtor Corporation Mis-synchronization detection system
EP1314159A1 (en) * 2000-08-22 2003-05-28 Koninklijke Philips Electronics N.V. Method of storing or decoding a stream of bits

Also Published As

Publication number Publication date
US20050175110A1 (en) 2005-08-11
WO2002093572A1 (en) 2002-11-21
CN1462443A (zh) 2003-12-17
JP2004520765A (ja) 2004-07-08
US7392453B2 (en) 2008-06-24
EP1395986A1 (en) 2004-03-10

Similar Documents

Publication Publication Date Title
KR100549894B1 (ko) 부호화 장치, 부호화 방법, 이동국 장치 및 기지국 장치
JP3737204B2 (ja) 誤り訂正方法及び装置
US6728408B1 (en) Water-mark embedding method and system
KR20000046050A (ko) 이동통신시스템에서 터보 인코더의 펑처링 장치 및 방법
JPS58131843A (ja) 誤り訂正方法
US7499568B2 (en) Method, apparatus, and program for image processing capable of preventing, detecting and correcting image alteration, and a medium storing the program
KR970017494A (ko) 데이터를 기록(전송)/재생(수신)하는 방법과 그에 대한 장치, 및 데이터 기록 매체
CN1132321C (zh) 编码多字信息的方法和设备以及解码该信息的方法和设备
RU95121738A (ru) Способ кодирования цифрового сигнала и устройство для его осуществления, носитель записи цифрового сигнала, и способ декодирования цифрового сигнала и устройство для его осуществления
JP3545623B2 (ja) 復号方法
CN1240066A (zh) 用于对分组码进行译码的方法和装置
KR20030017630A (ko) 정보 신호 내 보조 데이터 임베딩
KR20040046649A (ko) 에러 정정을 위한 부호화 장치 및 방법과 복호화 장치 및방법
US5938773A (en) Sideband signaling with parity bit schemes
KR20230033623A (ko) 데이터 부호화 방법 및 부호기와 데이터 복호화 방법
JP4184339B2 (ja) 損失のないデータ埋込み
JP2004201323A (ja) 複雑度を減らしたコードテーブルを使用する復調装置及びその方法
JP2832024B2 (ja) 符号伝送方法
MXPA01013103A (es) Aparato para codificacion/decodificacion de una fuente de palabras de bit-n a un canal correspondiente de bit-m de palabras y viceversa.
US6954554B2 (en) Block coding/decoding method and apparatus for increasing code rate
US20030172338A1 (en) Transmission apparatus and transmission method with simplified rate conversion
JP4224818B2 (ja) 符号化方法及び符号化装置並びに復号方法及び復号装置
KR20050098257A (ko) 무손실 데이터 임베딩
Kamali Error control coding
JP2649059B2 (ja) 重畳符号の復号装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid