KR20080080102A - 스트림에 관해 워터마킹하는 방법 및 디바이스 - Google Patents

스트림에 관해 워터마킹하는 방법 및 디바이스 Download PDF

Info

Publication number
KR20080080102A
KR20080080102A KR1020087012883A KR20087012883A KR20080080102A KR 20080080102 A KR20080080102 A KR 20080080102A KR 1020087012883 A KR1020087012883 A KR 1020087012883A KR 20087012883 A KR20087012883 A KR 20087012883A KR 20080080102 A KR20080080102 A KR 20080080102A
Authority
KR
South Korea
Prior art keywords
watermarking
data
group
coefficients
transform
Prior art date
Application number
KR1020087012883A
Other languages
English (en)
Other versions
KR101378437B1 (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 톰슨 라이센싱
Publication of KR20080080102A publication Critical patent/KR20080080102A/ko
Application granted granted Critical
Publication of KR101378437B1 publication Critical patent/KR101378437B1/ko

Links

Images

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
    • 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
    • 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/0065Extraction of an embedded watermark; Reliable detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 특히 수신된 데이터의 포맷에 독립적으로 삽입된 워터마킹의 판독을 허용하도록, 사용된 압축 파라미터들(예컨대, 변환의 타입)에 독립적인 스트림 방식의 워터마킹 방법에 관한 것이다. 본 발명에 따른 워터마킹 방법은 변환 공간(T1)에서 기여 매트릭스(MT1)를 발생시키는 것, 또다른 영역(T2)으로 투영하는 것, 변환 공간(T2)에서 삽입된 워터마킹을 재차 판독하기 위해 변환된 변환 공간(T1)에서 동작하는 워터마크 판독기를 허용하도록, 투영된 매트릭스(MT1)에 기초하여 이 영역(T2)에서 데이터를 워터마킹하는 것으로 이루어진다. 기여 매트릭스(MT1)는 이 동일한 영역에서 워터마킹 큐를 삽입함으로써 변환 공간(T1)에서의 계수에 관해 유도된 수정을 나타낸다.

Description

스트림에 관해 워터마킹하는 방법 및 디바이스{METHOD AND DEVICE FOR WATERMARKING ON STREAM}
본 발명은 워터마킹을 위한 디바이스 및 방법에 관한 것으로, 특히 압축된 디지털 데이터의 스트림으로 지문을 삽입하기 위한 디바이스 및 방법에 관한 것이다.
본 발명은 디지털 데이터의 워터마킹의 일반적인 분야에 관한 것이다. 더 구체적으로는 디지털 데이터로 지문을 삽입하는 워터마킹의 특별한 애플리케이션에 관한 것이다. 이후 문서에서 압축된 디지털 데이터로 삽입된 디지털 코드를 가리키기 위해, "지문"과 "워터마크"라는 용어가 상호 교환 가능하게 사용된다. 디지털 콘텐츠(예컨대, 비디오, 오디오 또는 3차원 데이터 등)를 보호하기 위해, 권한 없이 상기 콘텐츠의 송신을 인가한 사람 또는 신체를 식별하도록 배포된 데이터 스트림 각각에 고유한 지문을 삽입하는 것이 알려져 있다. 그러므로, 필름의 프로모션 동안, 상이한 지문을 이용해서 워터마킹된 DVD가 선택된 사람에게 전달된다. 누설의 경우에는, 지문을 재구성함으로써 누설의 소스를 식별하는 것이 가능하다. 다른 애플리케이션이 가능한데, 즉 작품 또는 수익자(benificiary)를 식별하거나 워터마크를 통해 보조 데이터(메타 데이터)를 송신하는 것을 가능하게 하는 워터마크를 삽입하는 것과 같은 다른 애플리케이션이 가능하다. 일반적으로 경제적인 특성뿐만 아니라 계산 능력 및 시간 제약 때문에, 워터마킹은 스트림 방식으로(stream-wise) 수행된다(즉, 엔트로피 코딩 전의 압축된 데이터의 워터마킹). 그렇게 워터마킹된 비디오는, 예컨대 트랜스코딩(transcoding)과 같은 다수의 변환을 거치게 된다. 하지만 대부분의 현재 워터마킹 기술은 삽입된 워터마크가 압축 파라미터(예컨대, 사용된 변환의 타입)에 의존적이게 만들고, 따라서 비디오 콘텐츠가 변환을 거칠 때 워터마킹 정보의 후속 디코딩을 허용하지 않는다.
본 발명은 종래 기술의 결점 중 적어도 하나를 경감하는 것을 목표로 한다. 더 구체적으로, 본 발명은 수신된 데이터의 포맷에 독립적으로, 삽입된 워터마크의 판독을 허용하도록, 사용된 압축 파라미터(예컨대, 변환의 타입)에 독립적인 스트림 방식의 워터마킹의 방법을 제안한다.
본 발명은 특히 데이터 세트를 워터마킹하는 방법에 관한 것으로, 이 방법은
- 제 1 변환(T1)에 의해 제 1 변환 공간에서의 계수의 제 1 그룹으로 상기 데이터 세트의 적어도 한 그룹을 변환하는 제 1 단계,
- 미리 결정된 워터마킹 프로세스에 따라 계수의 제 1 그룹을 워터마킹하기 위한 워터마킹의 제 1 단계,
- 계수의 제 1 그룹의 계수에 관해 워터마킹하는 제 1 단계에 의해 유도된 수정을 나타내는 워터마킹 데이터의 제 1 그룹을 발생시키기 위한 단계,
- 워터마킹 데이터의 제 2 그룹을 발생시키고, 제 2 변환 공간으로 워터마킹 데이터의 제 1 그룹을 투영시키는 제 1 단계,
- 제 2 변환에 의해, 제 2 변환 공간에서의 계수의 제 2 그룹으로 데이터 그룹을 변환하는 제 2 단계, 및
- 워터마킹 데이터의 제 2 그룹으로 계수의 제 2 그룹을 워터마킹하기 위한 워터마킹의 제 2 단계를 포함한다.
바람직하게, 투영 단계는 워터마킹 데이터의 제 1 그룹에 제 1 변환(T1)의 역 변환을 적용한 다음, 그 역 변환에 의한 변환 후 워터마킹 데이터의 제 1 그룹에 제 2 변환(T2)을 적용하는 것으로 이루어진다.
바람직하게, 워터마킹 데이터의 제 1 그룹은, 계수의 제 1 그룹의 계수 각각에 대해, 워터마킹의 제 1 단계 후의 계수와 워터마킹의 제 1 단계 전의 계수 사이의 차이를 계산함으로써 발생된다. 워터마킹의 제 1 단계에 의해 수정된 계수가 알려지고, 그 차이는 이들 계수에 대해서만 계산되며, 다른 차이는 0으로 설정된다.
바람직한 일 실시예에 따르면, 계수의 제 2 그룹의 워터마킹의 제 2 단계는 워터마킹 데이터의 제 2 그룹의 대응하는 데이터를 계수의 제 2 그룹의 계수 각각에 더하는 것으로 이루어진다.
특별한 일 실시예에 따르면, 데이터 세트는 이미지 시퀀스의 코딩된 데이터를 포함하고, 상기 세트의 데이터 그룹은 상기 시퀀스의 상기 이미지 중 하나의 픽셀 블록의 코딩된 데이터를 포함하며, 상기 방법의 단계들은 디코딩 후 상기 세트의 데이터 그룹에 적용된다.
바람직하게, 데이터 세트는
- H.264;
- MPEG-2; 및
- VC1
을 포함하는 표준 세트에 속하는 코딩 표준 중 하나에 따라 코딩된 데이터를 포함한다.
유리하게, 방법의 단계들은 상기 시퀀스의 다른 이미지들과는 독립적으로 코딩되는 상기 시퀀스의 이미지에 속하는 픽셀 블록의 코딩된 데이터를 포함하는 데이터의 그룹에만 적용된다.
특별한 특성에 따르면, 제 1 변환(T1)은 8 ×8 픽셀 크기를 가지는 픽셀 블록에 관해 동작하는 이산 코사인 변환(discrete cosine transform)이다.
또다른 특성에 따르면, 제 2 변환(T2)은 4 ×4 픽셀 크기를 가지는 픽셀 블록에 관해 동작하는 이산 코사인 변환에 근접하는 정수 변환(integer transform)이다.
유리한 일 실시예에 따르면, 투영 단계 다음에는 연관된 워터마킹 에너지를 최대화하면서 워터마킹 데이터의 제 2 그룹의 최대 개수의 워터마킹 데이터를 0(zero)으로 하는 것으로 이루어지는 단계가 오고, 이 단계는 워터마킹 데이터의 성긴 그룹을 발생시킨다. 워터마킹 데이터의 상기 제 2 그룹과 연관된 워터마킹의 에너지는 제곱한 워터마킹 데이터의 상기 제 2 그룹의 데이터의 합의 제곱근에 비례한다.
바람직하게, 미리 결정된 워터마킹 프로세스가 계수의 상기 제 1 그룹에서의 단일 계수의 값을 수정한다면, 워터마킹 데이터의 상기 제 2 그룹에서 최대 개수의 워터마킹 데이터를 0으로 하는 것으로 이루어지는 단계 다음에는, 워터마킹 데이터의 미리 강조된(pre-emphasized) 성긴(sparse) 그룹을, 워터마킹 데이터의 상기 미리 강조된 성긴 그룹이 상기 제 1 변환 공간으로 투영될 때, 워터마킹 데이터의 상기 제 1 그룹에서의 0이 아닌 데이터가 상기 제 1 변환 공간으로의 투영 후 워터마킹 데이터의 상기 미리 강조된 성긴 그룹의 대응하는 데이터와 같은 값을 가지는 식으로 발생시키기 위해, 워터마킹 데이터의 상기 성긴 그룹의 0이 아닌 데이터의 값을 수정하는 것으로 이루어지는 단계가 온다.
유리한 일 특성에 따르면, 상기 미리 결정된 워터마킹 프로세스는 워터마킹 비트(bi)와 연관되는 계수의 제 1 그룹에 대해, 다음 순서 관계, 즉
|
Figure 112008038344510-PCT00001
|=|
Figure 112008038344510-PCT00002
|+d*Bi가 성립하도록 계수의 상기 제 1 그룹의 많아야 2개의 계수(Γ1, Γ2)의 값을 수정하는 것으로 이루어지고,
여기서,
Figure 112008038344510-PCT00003
Figure 112008038344510-PCT00004
는 2개의 수정된 계수이며,
- d는 마킹(marking) 거리라고 부르는 마킹 파라미터,
- Bi는 다음, 즉 bi=0이라면 Bi=1이고, bi=1이라면 Bi=-1과 같이 한정되는 계수이다.
또다른 유리한 실시예에 따르면, 미리 결정된 워터마킹 프로세스가 계수의 상기 제 1 그룹에서의 N개의 계수의 값을 수정한다면, 상기 제 2 변환 공간으로의 투영 단계는 워터마킹 데이터의 상기 제 2 그룹의 데이터를 0으로 하는 것으로 이루어지는 단계와 워터마킹 데이터의 미리 강조된 성긴 그룹을 발생시키는 0이 아닌 워터마킹 데이터의 상기 제 2 그룹의 상기 M개의 데이터의 값을 수정하는 것으로 이루어지는 단계와 함께 수행되고, 상기 M개의 0이 아닌 데이터의 값과 위치는, 워터마킹 데이터의 상기 미리 강조된 성긴 그룹과 연관된 2차(quadratic) 에너지가 최소화되고, 워터마킹 데이터의 상기 미리 강조된 성긴 그룹이 상기 제 1 변환 공간으로 투영될 때 워터마킹 데이터의 상기 제 1 그룹에서의 N개의 0이 아닌 데이터 각각이 상기 제 1 변환 공간으로의 투영 후 워터마킹 데이터의 상기 미리 강조된 성긴 그룹의 대응하는 데이터와 동일한 값을 가지도록 결정되며, 이 경우 N ≥2이고, M ≥2이다. 바람직하게는 N=M=2이고, 워터마킹 데이터의 상기 미리 강조된 성긴 그룹과 연관된 2차 에너지는, 제곱한 워터마킹 데이터의 상기 미리 강조된 성긴 그룹의 계수 합의 제곱근과 같다.
유리하게, 데이터 세트는
- 이미지 시퀀스 타입의 데이터;
- 오디오 타입의 데이터; 및
- 3차원 타입의 데이터를
포함하는 그룹에 속한다.
본 발명은 또한 데이터 세트를 워터마킹하기 위한 디바이스에 관한 것으로, 이 디바이스는
- 상기 데이터 세트의 적어도 하나의 그룹을 제 1 변환 공간에서의 계수의 제 1 그룹으로 변환하는 제 1 수단,
- 상기 계수의 제 1 그룹을 워터마킹하기 위한 제 1의 미리 결정된 워터마킹 수단,
- 상기 계수의 제 1 그룹의 계수에 관한 상기 제 1 워터마킹 수단에 의해 유도된 수정을 나타내는 워터마킹 데이터의 제 1 그룹을 발생시키기 위한 수단,
- 워터마킹 데이터의 제 2 그룹을 발생시키고, 제 2 변환 공간으로 워터마킹 데이터의 제 1 그룹을 투영하기 위한 수단,
- 데이터의 그룹을 제 2 변환 공간에서의 계수의 제 2 그룹으로 변환하는 제 2 수단, 및
- 워터마킹 데이터의 제 2 그룹으로 계수의 제 2 그룹을 워터마킹하기 위한 제 1 워터마킹 수단을
포함한다.
본 발명은 또한 본 발명에 따른 방법의 단계들을 실행하기 위한 프로그램 코드 명령어를 포함하는 컴퓨터 프로그램 제품에 관한 것으로, 이때 상기 프로그램은 컴퓨터에서 실행된다.
본 발명은 첨부 도면을 참조하여, 완전히 비제한적인 유리한 실시예와 구현 모드에 의해 더 잘 이해되고 예시된다.
도 1은 본 발명에 따른 워터마킹 방법을 도시하는 도면.
도 2는 DCT와 H 변환 공간에서의 다양한 기여 매트릭스를 도시하는 도면.
도 3은 본 발명에 따른 워터마킹 방법의 특정 실시예를 도시하는 도면.
도 4는 본 발명의 특정 실시예에 따라 미리 강조된 H 공간에서의 성긴 기여 매트릭스를 도시하는 도면.
도 5는 DCT 변환 공간에서 동작하는 워터마크 판독 프로세스를 도시하는 도면.
도 6은 본 발명에 따른 워터마킹 디바이스를 도시하는 도면.
본 발명은 상기 이미지의 시퀀스 또는 상기 이미지를 압축하게 위해 사용된 압축 파라미터와 독립적인 비디오를 워터마킹하는 방법에 관한 것이다. 상기 시퀀스의 각 이미지는 적어도 하나의 휘도 값과 각각 연관된 픽셀을 포함한다. 2개의 픽셀 블록이 함께 더해질 때, 이는 한 블록에서 좌표(i,j)를 가진 픽셀과 연관된 값이 나머지 블록에서는 좌표(i,j)를 가진 픽셀과 연관된 값에 더해진다는 것을 의미한다. 2개의 픽셀 블록이 빼진다면, 이는 한 블록에서 좌표(i,j)를 가진 픽셀과 연관된 값이 나머지 블록에서 좌표(i,j)를 가진 픽셀과 연관된 값으로부터 빼진다는 것을 의미한다. 마찬가지로, 픽셀 블록에 더해지거나 그로부터 비슷한 크기의 계수를 가진 매트릭스(M)를 빼는 경우, 블록에서 좌표(i,j)를 가진 픽셀과 연관된 값은 각각 더해지거나 매트릭스에서 M(i,j)으로 표시된 위치(i,j)에서의 계수의 값으로부터 빼진다. 일반적으로, 매트릭스는 한 블록의 계수로 식별될 수 있다. 본 발명은 문서 ISO/IEC 14496-10(제목이 "Information technology--Coding of audio-visual objects--Part 10: Advanced Video Coding"인)에서 설명된 것과 같은 MPEG-4 AVC 비디오 코딩 표준에 따라 코딩된 비디오 스트림에 대해 더 특별히 설명된다. MPEG-2, MPEG-4, H.264와 같은 종래의 비디오 압축 표준에 따르면, 이미지의 시퀀스의 이미지들은 인트라(intra) 타입(I 이미지), 즉 시퀀스의 나머지 이미지들에 대한 참조 없이 코딩된 것이거나 인터(inter) 타입(즉, P 이미지와 B 이미지), 즉 시퀀스의 다른 이미지에 기초하여 예측됨으로써 코딩된 것일 수 있다. 이미지들은 일반적으로 매크로블록으로 분할되고, 이 매크로블록 자체는 N ×P 블록들이라고 부르는 가로로 N개의 픽셀과 세로로 P개의 픽셀로 된 크기를 가지는 토막토막으로 된(disjoint) 픽셀 블록으로 분할된다. 이들 매크로블록 자체는 인트라 또는 인터 코딩 모드에 따라 코딩된다. 더 구체적으로 I 이미지에서의 모든 매크로블록은, 인트라 모드에 따라 코딩되는데 반해, P 이미지에서의 매크로블록은 인터 모드 또는 인트라 모드에 따라 코딩될 수 있다. 가능하게 예측된 매크로블록은 이후 DCT라고 하는 이산 코사인 변환(discrete cosine transform) 또는 하다마르드(Hadamard) 변환과 같은 변환을 사용하여 블록 단위로 변환된다. 그렇게 변환된 블록은 양자화된 다음 일반적으로 가변 길이 코드를 사용하여 코딩된다. MPEG-2 표준의 특별한 경우, 16 ×16 픽셀 크기를 가지는 매크로블록은 8 ×8 블록으로 분할되고, 이러한 8 ×8 블록 자체는 8 ×8 DCT를 가지고 변환된 것이다. H.264의 경우에서는, 휘도 성분에 관련된 인트라 타입의 매크로블록이 인트라 4 ×4 모드에 따라 또는 인트라 16 ×16 모드에 따라 코딩될 수 있다. 인트라 4 ×4 모드에 따라 코딩된 인트라 매 크로블록은 16개의 토막토막으로 만들어진 4 ×4 블록들로 분할된다. 각각의 4 ×4 블록은 원인이 되는 이웃에 위치한 특정 이웃 블록들에 관해 공간적으로 예측되는데, 즉 각각의 4 ×4 블록은 상기 이웃 블록들에 기초하여 발생된 4 ×4 예측 블록과 연관된다. 나머지 4 ×4 블록들은 각각의 4 ×4 블록으로부터 연관된 4 ×4 예측 블록을 뺌으로써 발생된다. 그렇게 발생된 16개의 나머지 블록들은 4 ×4 DCT에 접근하는 4 ×4 정수 H 변환에 의해 변환된다. 인트라 16 ×16 모드에 따라 코딩된 인트라 매크로블록은 원인이 되는 이웃에 위치한 특정 이웃 매크로블록에 관해 공간적으로 예측되는데, 즉 16 ×16 예측 블록은 상기 이웃 매크로블록에 기초하여 발생된다. 나머지 매크로블록들은 인트라 매크로블록으로부터 연관된 예측 매크로블록을 뺌으로써 발생된다. 이 나머지 매크로블록들은 H 변환에 의해 변환되는 16개의 토막토막으로 만들어진 4 ×4 블록들로 분할된다. 그렇게 얻어진 16개의 저주파 계수(DC 계수라고 부름)들은 그것들의 차례에서 4 ×4 하다마르드 변환에 의해 변환된다. 이후 본 문서에서 매크로블록에 적용되는 변환 H는 그 매크로블록이 인트라 4 ×4 모드에서 코딩된다면, 매크로블록의 4 ×4 블록들 각각에 적용된 4 ×4 H 변환을 가리키고, 매크로블록의 4 ×4 블록 각각에 적용된 4 ×4 H 변환 다음에는 그 매크로블록이 인트라 16 ×16 모드에서 코딩된다면, DC 계수에 적용된 하다마르드 변환이 이어진다.
8 ×8 블록에 관한 DCT 변환 공간에서 동작하는 워터마크 판독 프로세스가 존재한다. 이들 판독 프로세스는 특히 다양한 프로세스에 의해 DCT 변환 공간에서 삽입된 워터마크를 판독하는 것을 가능하게 한다.
예컨대, DCT 변환 공간에서, 워터마킹될 이미지의
Figure 112008038344510-PCT00005
라고 표시된 8 ×8 변환된 블록에 적용된 제 1 워터마킹 프로세스는, 가능하게는 각 블록(
Figure 112008038344510-PCT00006
)에 대해, Γ1과 Γ2로 표시된 DCT 계수의 2개의 절대값 사이에 존재하는 순서 관계를 수정하는 것으로 이루어진다. 일반적으로, 이들 2개의 계수는 비밀 키의 도움으로 주어진 블록에 대해 선택된다. 블록(
Figure 112008038344510-PCT00007
)과 연관된 지문의 비트(bi)는 2개의 계수 Γ1과 Γ2의 절대값 사이에 존재하는 순서 관계를 수정함으로써, 이 블록으로 삽입된다. 워터마크의 가시성을 확인하기 위해, 블록의 계수는 다음 관계, 즉
Figure 112008038344510-PCT00008
가 성립하는 경우에만 수정되고, 여기서 S는 파라미터화될 수 있는 임계값이다.
계수 Γ1과 Γ2는 다음 순서 관계, 즉
Figure 112008038344510-PCT00009
Figure 112008038344510-PCT00010
||=||+d*Bi
가 성립하도록 수정되고, 여기서
-
Figure 112008038344510-PCT00011
Figure 112008038344510-PCT00012
는 수정된 계수,
- d는 마킹(marking) 거리라고 부르는 마킹 파라미터,
- Bi는 다음, 즉 bi=0이라면 Bi=1이고, bi=1이라면 Bi=-1과 같이 한정되는 계수이다.
순서 관계가 이미 성립한다면, 2가지 계수 어느 것도 수정되지 않는다.
Γ1과 Γ2는 이전에 한정된 관계를 보장하도록 여러 가지 방식으로 수정될 수 있다.
Figure 112008038344510-PCT00013
,
Figure 112008038344510-PCT00014
라고 한정하면,
Figure 112008038344510-PCT00015
Figure 112008038344510-PCT00016
의 값은 각 블록(
Figure 112008038344510-PCT00017
)에 대해 다음 방식
Figure 112008038344510-PCT00018
으로 한정된다.
함수
Figure 112008038344510-PCT00019
의 선택은 자유이고, 예컨대
Figure 112008038344510-PCT00020
를 선택하는 것이 가능하다. 예컨대, bi=0인 경우, d2=-|Γ2|이고, d1=-|Γ2|+d라고 선택하면, 순서 관계인 수학식 1이 실제로 성립한다. bi=1인 경우, d1=-|Γ2|이고, d2=-|Γ2|-d라고 선택하면, 순서 관계인 수학식 1이 또한 성립한다. d와 S의 값은 애플리케이션의 함수로서 변하고, 특히 저작권 침해(piracy)의 위험의 함수로서 변한다. 특히, d의 값이 높아질수록, 워터마킹의 강건성이 많아지나 더 잘 보일 수 있게 된다. 그러므로, 이미지의 시퀀스의 양호한 가시 품질을 보존하기 위해서는, 마킹 영향력(marking force)이 제한되어야 한다.
예컨대, DCT 변환 공간에서 적용된 제 2 워터마킹 프로세스에 따르면, 블록 당 단일 계수(Γ1)는 bi=0이라면 |
Figure 112008038344510-PCT00021
|=λ이고, bi=1이라면 |
Figure 112008038344510-PCT00022
|=μ가 되도록 수정된다. λ또는 μ의 값은 워터마크 판독기가 실제로 워터마킹 비트인 bi를 식별할 수 있도록 판독해야 하는 계수(Γ1)의 값을 나타낸다. 그러한 워터마킹 프로세스와 그로 인한 워터마크를 판독하기 위한 프로세스는 이미 개발되어 8 ×8 변환된 블록에 관한 DCT 변환 공간에서 동작한다.
본 발명은, 예컨대 앞서 설명된 2가지 워터마킹 프로세스에 제한되지 않는 이러한 프로세스 중 하나와 같은 미리 결정된 워터마킹 프로세스에, 기초하는 스트림 방식의 워터마킹 방법을 제안한다. 본 발명에 따른 워터마킹 방법은 사용된 압축 파라미터에 독립적이다. 본 발명에 따른 워터마킹 방법은 특히 변환의 타입에 독립적이다. 그러므로, 수신된 데이터의 포맷과는 독립적으로 또다른 변환 영역(예컨대, H)에 삽입된 워터마크를 어떤 정해진 변환 영역(예컨대, DCT)에서 판독하는 것을 가능하게 한다. 특별한 일 실시예에 따르면, 본 발명은 MPEG-4 AVC 표준에 따라 코딩된 이미지의 시퀀스를 워터마킹하는 것을 가능하게 한다. 본 발명에 따라 삽입된 워터마크는, 8 ×8 블록에 관한 DCT 변환 공간에서 동작하는 워터마크 판독기에 의해 재차 판독될 수 있다.
본 발명의 제 1 실시예가 도 1에 예시되어 있다. 이미지 시퀀스의 I 이미지라고 나타난 인트라 이미지, 특히 이들 이미지의 휘도 성분이 워터마킹된다. 본 발명에 따른 방법이 M16 ×16으로 참조된 16 ×16 매크로블록에 대해 설명되고, I 이미지의 모든 16 ×16 매크로블록에 바람직하게 적용된다.
단계(10)는 매크로블록(MB16 ×16)에 대응하는 코딩된 데이터의 스트림 부분을 디코딩(예컨대, H.264 표준의 경우에서의 엔트로피 디코딩, 역 양자화, 역 변환 및 공간 예측기의 추가)하여 상기 매크로블록을 재구성하는 것으로 이루어진다. 이 방법의 나머지는 재구성된 매크로블록(MB16 ×16)의 B8 × 8으로 표시된 8 ×8 블록에 대해 설명되고, 이 매크로블록의 모든 8 ×8 블록에 적용된다.
단계(11)는 블록(B8 ×8)을 8 ×8 DCT 변환에 의해
Figure 112008038344510-PCT00023
로 표시된 8 ×8 변환된 블록으로 변환하는 것으로 이루어진다.
단계(12)는, 예컨대 앞서 설명된 제 1 또는 제 2 워터마킹 프로세스와 같은 미리 결정된 워터마킹 프로세스 또는 DCT 변환 공간에서 이미지를 워터마킹하는 것을 가능하게 하는 임의의 다른 워터마킹 프로세스에 따라 블록(
Figure 112008038344510-PCT00024
)을 워터마킹하는 것으로 이루어진다. 블록(
Figure 112008038344510-PCT00025
)에 할당된 워터마킹 비트는 블록(
Figure 112008038344510-PCT00026
)이 속하는 I 이미지로 삽입될 지문에 의해 결정된다. 이 단계는
Figure 112008038344510-PCT00027
로 표시된 워터마킹된 블록을 발생시키는 것을 가능하게 한다.
단계(13)에서는, 블록(
Figure 112008038344510-PCT00028
)이 블록(
Figure 112008038344510-PCT00029
)으로부터 빼져서, 기여 매트릭스라고 부르고 MDCT라고 표시되는 워터마킹 계수 또는 데이터의 제 1 그룹을 발생시킨다. 또다른 실시예에 따르면, 이 차이는 워터마킹에 관련된 블록의 계수, 즉 워터마킹에 의해 수정된 블록의 계수에 관해서만 계산된다.
단계(14)는 밑수(basis)를 H로 하여 매트릭스(MDCT)를 표현하는 것, 즉 데이터의 제 2 그룹 또는 기여 매트릭스라고 부르고 MH라고 표시된 워터마킹 계수를 발 생시키기 위해, H 공간으로 매트릭스(MDCT)를 투영하는 것으로 이루어진다. 이를 위해, 역 DCT 변환이 매트릭스(MDCT)에 적용되어 매트릭스(
Figure 112008038344510-PCT00030
)를 발생시킨다. H 변환은 이후 매트릭스(
Figure 112008038344510-PCT00031
)의 4 ×4 블록 각각에 적용되어, H 공간에서 기여 매트릭스(MH)를 발생시킨다. 밑수의 변경은 DCT 밑수에서 하나 이상의 계수에 집중된 워터마킹에 의해 유도된 수정을 몇몇 계수에 대해 분배하는 효과를 가진다. 도 2는 DCT 공간에서 단일 계수를 미리 결정된 워터마킹 프로세스가 수정하는 경우를 예시하는데 이 경우 나머지 것들은 0인데 반해, 매트릭스(MH)에서는 다수의 계수가 0이 아니다. 이 도 2에서, 0이 아닌 계수는 십자 표시로 나타나 있다.
매크로블록(M16 ×16)의 8 ×8 블록 각각과 연관된 4개의 기여 매트릭스(MH)가 발생되면, 크기가 16 ×16인 기여 수퍼-매트릭스(SMH)를 형성하여 매트릭스(MH) 각각이 매크로블록(MB16 ×16)에서 연관되는 8 ×8 블록과 같이 수퍼-매트릭스(SMH)에서 동일한 위치를 가지도록 단계(15)에서 4개의 기여 매트릭스가 함께 그룹화된다. 매크로블록(MB16 ×16)이 인트라 16 ×16 모드에 따라 코딩되면, 4 ×4 하다마르드 변환이 수퍼-매트릭스(SMH)의 16개의 DC 계수들에 적용된다. 매크로블록(MB16 ×16) 중 어느 것도 인트라 16 ×16 모드에 따라 코딩되지 않으면, 이 단계는 생략될 수 있다.
단계(16)에서는, 단계(22)에서 발생된 공간 예측기가 매크로블록(MB16 ×16)에서 빼져서, 단계(17)에서 H 변환 및 가능하게는 MPEG-4 AVC에 따른 4 ×4 하다마르 드 변환에 의해 변환되는 나머지 매크로블록을 발생시킨다. 그렇게 발생된 매크로블록은
Figure 112008038344510-PCT00032
로 표시된다.
이후 쓰기 공간(writing space)이라고도 하는 H 변환 공간에서의 워터마킹의 단계(18)는,
Figure 112008038344510-PCT00033
로 표시된 워터마킹된 매크로블록을 발생시키기 위해 매크로블록(
Figure 112008038344510-PCT00034
)에 기여 수퍼-매트릭스(SMH)를 추가하는 것으로 이루어진다. MPEG-4 AVC의 변환된 공간에서 워터마킹된 매크로블록(
Figure 112008038344510-PCT00035
)은 이후 단계(19)에서 양자화된 다음 단계(20)에서 엔트로피 코딩에 의해 코딩된다.
워터마킹될 I 이미지들에 관련된 모든 데이터가 처리된 후에는, 특히 시퀀스의 다른 이미지에 관련된 데이터를 포함하는 디코딩되지 않은 디지털 데이터의 초기 스트림의 나머지 데이터로 다중화된다.
단계(19)에서 양자화된 매크로블록(
Figure 112008038344510-PCT00036
)에는, 단계(21)에서 역 양자화와 역 변환(역 H 변환에 대응하고, 가능하게는 4 ×4 하다마르드 변환을 고려하는)이 적용된다. 그렇게 발생된 매크로블록에는 단계(16)에서 매크로블록(MB16 ×16)의 공간 예측의 역할을 한 공간 예측 매크로블록이 추가된다. 그렇게 발생된 매크로블록은 추후 매크로블록의 공간 예측 역할을 위해 메모리에 저장된다.
도 3에 의해 예시된 또다른 실시예에 따르면, 매트릭스(MH)는 단계(141) 동안 가늘어지는데, 즉 단계(18)에서 수행된 워터마킹에 앞서 계수 일부가 0으로 되어, 워터마킹으로 인한 수정을 제한하면서 워터마킹의 삽입에 관련된 비트 속도의 증가를 제한하게 된다. 그렇게 발생된 성긴 매트릭스는 도 2에서 MCH로 표시되어 있다. 도 2는 미리 결정된 워터마킹 프로세스가 8 ×8 블록마다 단일 DCT 계수만을 수정하는 특별한 경우를 예시한다. 매트릭스(MH)가 더 성길수록, DCT 변환 공간에서의 결과 워터마크가 더 변형되고, 그것의 에너지가 더 감소된다. 이들 영향을 최소화하기 위해서는, 선택된 성긴 매트릭스(MCH)가 성긴 매트릭스의 에너지(EMC)에 매트릭스(MCH)의 성긴 정도(sparseness)(TC)를 곱한 것을 최대화하는 매트릭스이다. DCT 변환 공간에서의 워터마킹 에너지에 비례하는 에너지(EMC)는 다음과 같이 한정된다. 즉,
Figure 112008038344510-PCT00037
TC는 매트릭스(MCH)의 계수의 총 개수에 대한 매트릭스의 0인 계수의 개수의 비와 같다. 성긴 매트릭스(MCH)는, 예컨대 EMC와 TC를 곱한 것을 최대화하는 것에 대해 MH로부터 생성된 성긴 매트릭스의
Figure 112008038344510-PCT00038
로 표시된 세트 중에서 전면 검색함으로써 선택된다. 이를 위해, 곱(EMC*TC)은 세트
Figure 112008038344510-PCT00039
의 매트릭스 각각에 대해 계산되고 메모리에 저장된다. 곱(EMC*TC)을 최대화하는 세트
Figure 112008038344510-PCT00040
의 매트릭스가 선택된다.
일 변형예에 따르면, 워터마킹 에너지의 최소값은 고정된다. 이값은
Figure 112008038344510-PCT00041
와 같은 성긴 매트릭스의 에너지의 최소값에 대응한다. 선택된 성긴 매트릭스(MCH)는 세트
Figure 112008038344510-PCT00042
에서 결정하는 것으로 이루어지는 제한된 최적화 문제의 해결책으로, 이 성긴 매트릭스는 0인 계수 중 가장 큰 수를 가지고, 그 에너지는
Figure 112008038344510-PCT00043
이상이다. 제한된 최적화는 라그랑지 절차(Lagrangian procedure)에 의해 수행될 수 있다. 일 변형예에 따르면, 워터마킹의 에너지를 특성화하는데 사용된 성긴 매트릭스의 에너지는, 예컨대 계수의 공간 주파수의 함수로서 앞의 수학식 2의 가중치를 정함으로써 상이하게 한정될 수 있다. 이를 위해, 계수의 주파수가 높아질수록, 이 계수에 할당된 가중치가 더 낮아진다.
특별한 일 구현예에 따르면, 매트릭스(MCH)는 DCT 공간에서의 워터마크의 판독을 방해하는 매트릭스(MH)를 얇게 하는 것으로 이루어지는 단계에 의해 DCT 변환 공간으로 도입된 바이어스(bias)를 고려하도록 단계(18)에서 수행된 워터마킹 이전에 미리 강조되거나(pre-emphasized) 미리 보충된다(precompensated). 미리 강조된 성긴 매트릭스는 MCAH로 표시된다. 미리 강조하는 단계(142)는 성긴 매트릭스(MCH)의 0이 아닌 계수를, 이 매트릭스가 판독 공간(워터마킹에 의해 유도된 수정의 판독이 수행되는 공간, 이 경우에서는 DCT 공간)에서, 예컨대 평균 제곱 에러(||MCAH-MH||2)를 최소화하도록 바라는 판독 결과에 가능한 가장 가까운 것이 되게 하는 식 으로 매트릭스(MCAH)를 발생시키도록 수정하는 것으로 이루어진다. 도 2에 의해 예시된 이 실시예는, 예컨대 8 ×8 변환된 블록을 워터마킹하는데 사용된 미리 결정된 워터마킹 프로세스가 본 명세서의 시작 부분에서 설명된 제 2 워터마킹 프로세스가 그러한 것처럼 단일 계수(Γ1)만을 수정할 때, 매트릭스(MCH)를 미리 강조하는 것을 가능하게 한다. 수정된 계수(Γ1)가 블록(
Figure 112008038344510-PCT00044
) 내의 (i0, j0)에 위치하고, |
Figure 112008038344510-PCT00045
|=λ라고 가정한다. MCH를 DCT 변환 공간으로 투영함으로써 얻어진 매트릭스(M'DCT)에서, 위치(i0, j0)에서의 계수는, 단독으로 워터마킹 비트(bi)의 올바른 판독을 허용하는 값(Δ= λ-|Γ1|) 대신 값(α)을 가진다. 그러므로, 매트릭스(MCH)는 MCAH로 표시된 미리 강조된 성긴 매트릭스를 발생시켜, MCAH의 DCT 변환 공간으로의 투영물인, 매트릭스(M"DCT) 내의 위치(i0, j0)에서의 계수의 값이 Δ와 같아지도록 미리 강조된다. 본 발명에 따른 실시예에서, 매트릭스(MCAH)는 다음 방식대로 한정된다. 즉,
매트릭스(MCH)의 모든 0인 계수에 대해서는 MCAH(i,j)=0이고, 매트릭스(MCH)의 나머지 계수에 대해서는
Figure 112008038344510-PCT00046
이며, 이 경우
Figure 112008038344510-PCT00047
이고 α≠0이며 α는 성긴 매트릭스(MCH)의 DCT 공간 내의 위치(i0, j0)에서의 계수이다. 이 미리 강조하는 것은 기여 매트릭스(M"DCT)에서 워터마킹에 의해 수정된 위치(i0, j0)에 서의 계수가 실제로 λ-|Γ1|의 값을 가지고 따라서 워터마킹에 의해 수정된 계수(Γ1)의 값이 실제로 값( λ)을 가지는 사실을 보장할 수 있게 한다.
바람직한 일 실시예에 따르면, 매트릭스(MH)는 얇아지고 공동으로 미리 강조된다. 본 명세서의 처음에서 설명된 첫 번째 워터마킹 프로세스가 그러했던 것처럼, 미리 결정된 워터마킹 프로세스가 2개의 계수(Γ1과 Γ2)를 수정하면, 블록(B8 ×8)과 연관된 기여 매트릭스(MDCT)에서는 2개의 계수(e1,e2)만이 0이 아니다. 이후 매트릭스(MCAH)는 MDCT로부터 직접 결정된다. 2개의 계수만이 0이 아닌 매트릭스인 MCAH는 다음 관계식, 즉
Figure 112008038344510-PCT00048
에 의해 한정되는데, 이 경우 M(Xi)는 위치{Xi(xi,yi)}에서의 계수가 그 값이 1과 같은 점을 제외하고는 계수 전부가 0인 매트릭스이다. 그러한 매트릭스(MCAH)는 도 4에 나타나 있다. DCT 변환 공간으로의 매트릭스(MCAH)의 투영은
Figure 112008038344510-PCT00049
로 표시된다. 국한된
Figure 112008038344510-PCT00050
의 계수 e'2=g(γ1, γ2, X1, X2)이다. 값(γ1, γ2)은 다음 시스템, 즉 f(γ1, γ2, X1, X2)=e1, g(γ1, γ2, X1, X2)=e2의 해답(solution)이다. 그렇게 결정된 값(γ1, γ2)은 X1과 X2의 값에 의존한다. 이들 마지막 2개의 값은 매트릭스(MCAH)에서 모든 가능한 위치 쌍들의 전면 횡단(exhaustive traversal)에 의해 결정된다. 각 쌍들(X1,X2)에 대해서, 그 결과 값 (γ12)은 대응하는 2차(quadratic) 에너지인 E(γ12)와 함께 계산된다. 선택된 X1과 X2의 값은 워터마크의 시각적인 영향을 감소시키도록 E(γ12)을 최소화하는 값들이다. 2개의 계수에 대해 설명된 이 실시예는, N개의 계수에 적용될 수 있는데, 즉 |N|[ AL1 ]≥1이다.
또다른 실시예에 따르면, I 이미지의 각각의 4 ×4 블록을 양자화기 위해 한정된 양자화 파라미터가 수정된다. 워터마킹 신호의 변형의 최대 임계값이 허용된다. 변형의 측정값은 양자화된 워터마킹된 신호와
Figure 112008038344510-PCT00051
로서 계산된 워터마킹된 신호 사이의 평균 제곱 에러(MSE: mean square error)인데, 여기서
- SH(i,j)는 공간 예측과 변환 후 초기 신호의 좌표(i,j)를 가진 픽셀과 연관된 값이고,
-
Figure 112008038344510-PCT00052
는 워터마킹된 신호인 SH(i,j)의 좌표(i,j)를 가진 픽셀과 연관된 값이며,
-
Figure 112008038344510-PCT00053
는 양자화 후 신호인
Figure 112008038344510-PCT00054
의 좌표(i,j)를 가진 픽셀과 연관된 값이다.
최대 워터마킹 임계값(ST)은 선택된 변형 측정의 함수로서 한정된다. 특별한 특성에 따르면, ST =
Figure 112008038344510-PCT00055
이다. 주어진 4 ×4 블록에 대한 양자화 파 라미터는 유도된 변형이 임계값(ST)보다 낮을 때까지 감소된다.
도 5는 사용된 미리 결정된 워터마킹 프로세스가 2개의 계수(Γ12)를 수정하는 설명된 제 1 프로세스일 때 H 변환 공간에서 본 발명에 따라 워터마킹된 데이터 스트림의 워터마크를 판독하는 것을 가능하게 하는 DCT 변환 공간에서 동작하는 종래의 워터마크 판독 프로세스를 나타낸다. 디코딩된 이미지의 8 ×8 블록은 단계(50)에서 8 ×8 DCT에 의해 변환된다. 워터마크 판독 단계(51)는, 이미지의 각 매크로블록을 처리하고 연관된 워터마킹 비트(bi)를 재차 판독하는 것으로 이루어진다. 유리하게 본 발명에 따르면, 그러한 판독 프로세스는 심지어 워터마킹이 DCT 영역 외의 표현 영역에서 수행되었을지라도, 본 발명에 따른 워터마킹 방법에 의해 삽입된 워터마크를 판독하는데 다시 사용될 수 있다.
본 발명은 또한, 예컨대 MPEG-4 AVC 구문에 따라 코딩된 디지털 데이터의 스트림을 입력으로서 수신하는 도 6에 의해 예시된 것과 같은 워터마킹 디바이스(6)에 관한 것이다. 이 디바이스는 본 발명에 따른 방법을 구현할 수 있다. 도 6에서, 나타낸 모듈은 물리적으로 구별할 수 있는 유닛에 대응하거나 대응하지 않을 수 있는 기능 유닛이다. 예컨대, 이들 모듈 또는 그것들 중 일부는 단일 구성 성분으로 함께 그룹화될 수 있거나 하나의 동일한 소프트웨어의 기능성을 구성할 수 있다. 그 반대로, 어떤 일정한 모듈은 가능하게는 분리된 물리적인 엔티티(entity)로 이루어질 수 있다. 특정 일 실시예에 따르면, I 이미지에 관련되는 데이터 스트림 부분은 이후 매크로블록을 재구성한 것을 동작시키는 모듈(60)에 의해 디코딩된다 (즉, MPEG-4 AVC 구문에 따라 코딩된 스트림의 경우에 엔트로피 디코딩, 역 양자화, 역 변환 및 가능하게는 매크로블록의 공간 예측의 추가). 이후 그렇게 재구성된 픽셀 블록은 모듈(61)에 의해 변환된다. 워터마킹 모듈(62)은, DCT와 같은 변환(T1)에 의해 변환된 픽셀 블록들을 워터마킹하는 것을 가능하게 한다. 워터마킹 디바이스는 추가로 그렇게 워터마킹된 블록 각각으로부터 대응하는 워터마킹된 블록을 빼서 기여 매트릭스(MDCT)라고도 하는 제 1 워터마킹 큐(cue)를 발생시키는 것을 가능하게 하는 모듈(73)을 포함한다. 모듈(63)은 매트릭스(MDCT)를 H 변환 공간, 또는 더 일반적으로 변환 공간(T2) 내로 투영하여 각각의 8 ×8 블록에 대해 기여 매트릭스(MH)라고 부르는 제 2 워터마킹 큐를 발생시킬 수 있게 한다. 이 모듈은 또한 필요하다면 이전에 한정된 것과 같은 기여 수퍼-매트릭스를 발생시키는 것을 가능하게 할 수 있다. 이 디바이스는 추가로 선택적인 공간 예측 모듈(64)과 H 변환 또는 더 일반적으로 변환(T2)을 동작시키는 모듈(65)을 포함한다. 모듈(66)은 이들 변환된 데이터에 모듈(63)에 의해 발생된 제 2 워터마킹 큐를 더함으로써, 제 2 변환 공간에서 모듈(65)에 의해 변환된 데이터를 워터마킹하는 것을 가능하게 한다. 모듈(67)은 워터마킹된 매크로블록을 양자화하는 것을 가능하게 한다. 이 디바이스는 또한 역 양자화를 동작시키는 모듈(68)과 역 변환을 동작시키는 모듈(69)을 포함한다. 게다가 이 디바이스는 워터마킹되고 디코딩된 매크로블록을 저장하는 것을 가능하게 하는 메모리(70)를 포함한다. 마지막으로, 이 디바이스는 엔트로피 코딩 을 위한 모듈(71)과 본 발명에 따라 워터마킹된 데이터를 코딩된 초기 스트림의 나머지 데이터로 다중화하는 것을 가능하게 하는 다중화기(72)를 포함한다. 모듈(64, 68, 69, 70)은 선택적인 것이다. 특히, 모든 코딩 표준이 데이터를 디코딩하기 전에 그 데이터를 공간적으로 예측하는 것을 반드시 해야하는 것은 아니다.
물론, 본 발명은 위에서 언급된 예시적인 실시예에 제한되지 않는다. 특히, 당업자라면 전개된 실시예로 임의의 변형예를 짜 넣을 수 있고, 그것들의 다양한 장점으로부터 혜택을 얻기 위해 그것들을 결합할 수 있다. 특히, H.264 표준에 기초한 비디오 코딩의 프레임워크(framework) 내에서 설명된 본 발명은, 임의의 타입의 지원 데이터(오디오, 3차원 데이터)로 확장될 수 있다. DCT 변환과 H 변환에 대해 설명된 실시예는 임의의 타입의 변환에 확장될 수 있다. 일반적으로, 본 발명에 따른 워터마킹 방법은 제 1 변환 공간(T1)에서 디지털 데이터를 워터마킹하는 것, 이전에 설명된 실시예에서 기여 매트릭스(MDCT)에 대응하는 계수(MT1)의 제 1 그룹을 제 1 변환 공간(T1)에서 발생시키는 것, 이전에 설명한 실시예에서 기여 매트릭스(MH)에 대응하는 계수의 제 2 그룹을 발생시키기 위해 또다른 변환 공간(T2)으로 투영하는 것 및 이 변환 공간(T2)에서 데이터를 워터마킹하는 것으로 이루어진다. 이후 제 1 변환 공간(T1)에서 동작하는 워터마크 판독기는 변환 공간(T2)에서 삽입된 워터마크를 재차 판독할 수 있다. 특히, 본 발명은 "proposed SMPTE Standard for Television: VC1 Compressed Video Bitstream Format and Decoding Process"라는 제목으로 SMPTE 문서에서 설명되고 SMPTE 421M으로 참조된 VC1 표준과 같은 다 른 비디오 코딩 표준에 적용될 수 있다. 본 발명이 공간 예측을 사용하지 않는 코딩 표준으로 사용된다면, 본 발명에 따른 방법의 단계(16, 21, 22)가 적용되지 않는다. 마찬가지로, 단계(15)는 제 2 변환(T2)이 8 ×8 블록과 같은 단일 크기의 블록에 관해서만 동작할 때에는 반드시 적용되는 것이 아니다. 본 발명은 앞서 설명한 워터마킹 프로세스에 제한되지 않는다. 더구나, 본 발명은 인트라 이미지의 워터마킹에 관해 설명되었지만 예측된 이미지에 적용될 수도 있다.
전술한 바와 같이, 본 발명은 워터마킹, 특히 압축된 디지털 데이터의 스트림으로 지문을 삽입하기 위한 디바이스 및 방법에 이용 가능하다.

Claims (20)

  1. 데이터 세트를 워터마킹하는 방법으로서,
    - 제 1 변환(T1)에 의해 제 1 변환 공간에서의 계수의 제 1 그룹으로 상기 데이터 세트의 적어도 하나의 데이터 그룹을 변환하는 제 1 단계(11)와,
    - 미리 결정된 워터마킹 프로세스에 따라 계수의 상기 제 1 그룹을 워터마킹하기 위해 워터마킹하는 제 1 단계(12)를 포함하는 데이터 세트를 워터마킹하는 방법에 있어서,
    - 계수의 제 1 그룹의 계수에 관해 워터마킹하는 상기 제 1 단계(12)에 의해 유도된 수정을 나타내는 워터마킹 데이터의 제 1 그룹을 발생시키기 위한 단계(13),
    - 워터마킹 데이터의 제 2 그룹을 발생시키고, 제 2 변환 공간으로 워터마킹 데이터의 상기 제 1 그룹을 투영시키는 제 1 단계(14),
    - 제 2 변환(T2)에 의해, 상기 적어도 하나의 데이터 그룹을 상기 제 2 변환 공간에서의 계수의 제 2 그룹으로 변환하는 제 2 단계(17), 및
    - 워터마킹 데이터의 상기 제 2 그룹으로 계수의 상기 제 2 그룹을 워터마킹하기 위해 워터마킹하는 제 2 단계(18)를
    더 포함하는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  2. 제 1항에 있어서, 워터마킹 데이터의 제 1 그룹은, 계수의 상기 제 1 그룹의 상기 계수 각각에 대해, 워터마킹의 제 1 단계(12) 후의 상기 계수와 워터마킹의 제 1 단계 전의 상기 계수 사이의 차이를 계산함으로써 발생되는 것(13)을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  3. 제 2항에 있어서, 워터마킹의 상기 제 1 단계(12)에 의해 수정된 계수가 알려지고, 상기 차이는 이들 계수에 대해서만 계산되며, 다른 차이는 0으로 설정되는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 계수의 상기 제 2 그룹의 워터마킹의 제 2 단계(18)는, 워터마킹 데이터의 상기 제 2 그룹의 대응하는 데이터를 계수의 상기 제 2 그룹의 상기 계수 각각에 더하는 것으로 이루어지는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  5. 제 1항 내지 제 4항 중 어느 한 항에 있어서, 상기 데이터 세트는 이미지 시퀀스의 코딩된 데이터를 포함하고, 상기 적어도 하나의 데이터 그룹은 상기 시퀀스의 상기 이미지 중 하나의 픽셀 블록의 코딩된 데이터를 포함하며, 상기 방법의 단계들은 디코딩 후 상기 적어도 하나의 데이터 그룹에 적용되는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  6. 제 5항에 있어서, 상기 데이터 세트는
    - H.264;
    - MPEG-2; 및
    - VC1
    을 포함하는 표준 세트에 속하는 코딩 표준 중 하나에 따라 코딩된 데이터를 포함하는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  7. 제 5항 또는 제 6항에 있어서, 상기 방법의 단계들은 상기 시퀀스의 다른 이미지들과는 독립적으로 코딩되는 상기 시퀀스의 이미지에 속하는 픽셀 블록의 코딩된 데이터를 포함하는 데이터의 그룹에만 적용되는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  8. 제 5항 내지 제 7항 중 어느 한 항에 있어서, 제 1 변환(T1)은 8 ×8 픽셀 크기를 가지는 픽셀 블록에 관해 동작하는 이산 코사인 변환(discrete cosine transform)인 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  9. 제 5항 내지 제 8항 중 어느 한 항에 있어서, 제 2 변환(T2)은 4 ×4 픽셀 크기를 가지는 픽셀 블록에 관해 동작하는 이산 코사인 변환에 근접하는 정수 변환(integer transform)인 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  10. 제 1항 내지 제 9항 중 어느 한 항에 있어서, 투영 단계 다음에는 연관된 워터마킹 에너지를 최대화하면서 워터마킹 데이터의 상기 제 2 그룹의 최대 개수의 워터마킹 데이터를 0(zero)으로 하는 것으로 이루어지는 단계가 오며, 상기 단계는 워터마킹 데이터의 성긴(sparse) 그룹을 발생시키는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  11. 제 10항에 있어서, 워터마킹 데이터의 상기 제 2 그룹과 연관된 워터마킹의 에너지는 제곱한 워터마킹 데이터의 상기 제 2 그룹의 데이터의 합의 제곱근에 비례하는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  12. 제 10항 또는 제 11항에 있어서, 미리 결정된 워터마킹 프로세스가 계수의 상기 제 1 그룹에서의 단일 계수의 값을 수정한다면, 워터마킹 데이터의 상기 제 2 그룹에서 최대 개수의 워터마킹 데이터를 0으로 하는 것으로 이루어지는 단계 다음에는, 워터마킹 데이터의 상기 미리 강조된 성긴 그룹이 상기 제 1 변환 공간으로 투영될 때, 워터마킹 데이터의 상기 제 1 그룹에서의 0이 아닌 데이터가 상기 제 1 변환 공간으로의 투영 후, 워터마킹 데이터의 미리 강조된(pre-emphasized) 성긴 그룹의 대응하는 데이터와 같은 값을 가지는 식으로 워터마킹 데이터의 미리 강조된 성긴 그룹을 발생시키기 위해, 워터마킹 데이터의 상기 성긴 그룹의 0이 아닌 데이터의 값을 수정하는 것으로 이루어지는 단계가 오는 것을 특징으로 하는, 데이 터 세트를 워터마킹하는 방법.
  13. 제 1항 내지 제 12항 중 어느 한 항에 있어서, 상기 미리 결정된 워터마킹 프로세스는 워터마킹 비트(bi)와 연관되는 계수의 제 1 그룹에 대해, 다음 순서 관계, 즉
    |
    Figure 112008038344510-PCT00056
    |=|
    Figure 112008038344510-PCT00057
    |+d*Bi가 성립하도록 계수의 상기 제 1 그룹의 많아야 2개의 계수(Γ1, Γ2)의 값을 수정하는 것으로 이루어지고,
    여기서,
    Figure 112008038344510-PCT00058
    Figure 112008038344510-PCT00059
    는 2개의 수정된 계수이며,
    - d는 마킹(marking) 거리라고 부르는 마킹 파라미터,
    - Bi는 다음, 즉 bi=0이라면 Bi=1이고, bi=1이라면 Bi=-1과 같이 한정되는 계수인 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  14. 제 1항 내지 제 9항과, 제 1항 내지 제 9항에 종속하는 제 13항 중 어느 한 항에 있어서, 미리 결정된 워터마킹 프로세스가 계수의 상기 제 1 그룹에서의 N개의 계수의 값을 수정한다면, 상기 제 2 변환 공간으로의 투영 단계는 워터마킹 데이터의 상기 제 2 그룹의 데이터를 0으로 하는 것으로 이루어지는 단계와 0이 아닌 워터마킹 데이터의 상기 제 2 그룹의 상기 M개의 데이터의 값을 수정하는 것으로 이루어지는 단계와 함께 수행되어 워터마킹 데이터의 미리 강조된 성긴 그룹을 발생시키고, 상기 M개의 0이 아닌 데이터의 값과 위치는, 워터마킹 데이터의 상기 미 리 강조된 성긴 그룹과 연관된 2차(quadratic) 에너지가 최소화되도록 또한, 워터마킹 데이터의 상기 미리 강조된 성긴 그룹이 상기 제 1 변환 공간으로 투영될 때 워터마킹 데이터의 상기 제 1 그룹에서의 N개의 0이 아닌 데이터 각각이 상기 제 1 변환 공간으로의 투영 후 워터마킹 데이터의 상기 미리 강조된 성긴 그룹의 대응하는 데이터와 동일한 값을 가지도록 결정되며, 이 경우 N ≥1이고, M ≥1인 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  15. 제 14항에 있어서, M=2이고 N=2인 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  16. 제 14항 또는 제 15항에 있어서, 워터마킹 데이터의 상기 미리 강조된 성긴 그룹과 연관된 2차 에너지는, 제곱한 워터마킹 데이터의 상기 미리 강조된 성긴 그룹의 계수 합의 제곱근과 같은 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  17. 제 1항 내지 제 16항 중 어느 한 항에 있어서, 투영 단계는 상기 제 1 변환(T1)의 역 변환을 워터마킹 데이터의 상기 제 1 그룹에 적용하고, 상기 역 변환에 의한 상기 변환 후 워터마킹 데이터의 상기 제 1 그룹에 상기 제 2 변환(T2)을 적용하는 것으로 이루어지는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  18. 제 1항 내지 제 17 중 어느 한 항에 있어서, 상기 데이터 세트는
    - 이미지 시퀀스 타입의 데이터;
    - 오디오 타입의 데이터; 및
    - 3차원 타입의 데이터를
    포함하는 그룹에 속하는 것을 특징으로 하는, 데이터 세트를 워터마킹하는 방법.
  19. 데이터 세트를 워터마킹하기 위한 디바이스로서,
    - 상기 데이터 세트의 적어도 하나의 데이터 그룹을 제 1 변환 공간에서의 계수의 제 1 그룹으로 변환하는 제 1 수단(61)과,
    - 상기 계수의 제 1 그룹을 워터마킹하기 위한 제 1의 미리 결정된 워터마킹 수단(62)을 포함하는, 데이터 세트를 워터마킹하기 위한 디바이스에 있어서,
    - 상기 계수의 제 1 그룹의 계수에 관한 상기 제 1 워터마킹 수단(62)에 의해 유도된 수정을 나타내는 워터마킹 데이터의 제 1 그룹을 발생시키기 위한 수단(73),
    - 워터마킹 데이터의 제 2 그룹을 발생시키고, 제 2 변환 공간으로 상기 워터마킹 데이터의 제 1 그룹을 투영하기 위한 수단(63),
    - 데이터의 상기 적어도 하나의 그룹을 상기 제 2 변환 공간에서의 계수의 제 2 그룹으로 변환하는 제 2 수단(65), 및
    - 상기 워터마킹 데이터의 제 2 그룹으로 상기 계수의 제 2 그룹을 워터마킹하기 위한 제 1 워터마킹 수단(66)을
    더 포함하는 것을 특징으로 하는, 데이터 세트를 워터마킹하기 위한 디바이스.
  20. 컴퓨터 프로그램 제품에 있어서, 상기 프로그램이 컴퓨터 상에서 실행될 때, 제 1항 내지 제 18항 중 어느 한 항에 따른 방법의 단계들을 실행하기 위한 프로그램 코드 명령어를 포함하는 것을 특징으로 하는, 컴퓨터 프로그램 제품.
KR1020087012883A 2005-12-12 2006-12-07 스트림에 관해 워터마킹하는 방법 및 디바이스 KR101378437B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0553828A FR2894759A1 (fr) 2005-12-12 2005-12-12 Procede et dispositif de tatouage sur flux
FR0553828 2005-12-12
PCT/EP2006/069433 WO2007068648A1 (en) 2005-12-12 2006-12-07 Method and device for watermarking on stream

Publications (2)

Publication Number Publication Date
KR20080080102A true KR20080080102A (ko) 2008-09-02
KR101378437B1 KR101378437B1 (ko) 2014-03-27

Family

ID=36764628

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087012883A KR101378437B1 (ko) 2005-12-12 2006-12-07 스트림에 관해 워터마킹하는 방법 및 디바이스

Country Status (8)

Country Link
US (1) US20090208131A1 (ko)
EP (1) EP1960963B1 (ko)
JP (1) JP5139995B2 (ko)
KR (1) KR101378437B1 (ko)
CN (1) CN101331514B (ko)
DE (1) DE602006010238D1 (ko)
FR (1) FR2894759A1 (ko)
WO (1) WO2007068648A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2009010182A (es) 2007-03-23 2009-10-12 Thomson Licensing Modificar una corriente de bits codificada.
KR101518999B1 (ko) 2007-06-14 2015-05-12 톰슨 라이센싱 코딩된 비트스트림의 수정
CN101662677B (zh) * 2008-08-29 2011-08-10 华为终端有限公司 码流转换系统及方法、码流识别单元和方案确定单元
US9747656B2 (en) * 2015-01-22 2017-08-29 Digimarc Corporation Differential modulation for robust signaling and synchronization
IT201600105253A1 (it) * 2016-10-19 2018-04-19 Torino Politecnico Dispositivo e metodi per l'autenticazione di unn apparato d'utente

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326995A (ja) * 1993-05-13 1994-11-25 Victor Co Of Japan Ltd 信号処理装置
US7113615B2 (en) * 1993-11-18 2006-09-26 Digimarc Corporation Watermark embedder and reader
AUPO521897A0 (en) * 1997-02-20 1997-04-11 Telstra R & D Management Pty Ltd Invisible digital watermarks
JP3673664B2 (ja) * 1998-01-30 2005-07-20 キヤノン株式会社 データ処理装置、データ処理方法及び記憶媒体
US6332194B1 (en) * 1998-06-05 2001-12-18 Signafy, Inc. Method for data preparation and watermark insertion
JP2000217088A (ja) * 1998-11-18 2000-08-04 Nippon Television Network Corp デ―タ重畳方法、デ―タ伝送方法及びそのシステム
JP2000332612A (ja) * 1999-05-21 2000-11-30 Canon Inc 情報処理装置およびその方法
WO2001016869A1 (en) * 1999-09-01 2001-03-08 Digimarc Corporation Watermarking digital images with intensity specified by area
KR100337954B1 (ko) * 1999-12-16 2002-05-23 최종욱 텍스트 워터마크 삽입 방법 및 장치
US7305104B2 (en) * 2000-04-21 2007-12-04 Digimarc Corporation Authentication of identification documents using digital watermarks
US6721439B1 (en) * 2000-08-18 2004-04-13 Hewlett-Packard Development Company, L.P. Method and system of watermarking digital data using scaled bin encoding and maximum likelihood decoding
BR0109448A (pt) * 2001-01-23 2003-06-03 Koninkl Philips Electronics Nv Processo e arranjo para embutir uma marca d'água em um sinal de informação
JP2002247342A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 画像配信システムにおける著作権保護方法および装置およびプログラム
JP4005780B2 (ja) * 2001-07-12 2007-11-14 興和株式会社 電子透かしの埋め込みおよび検出
WO2003044735A2 (en) * 2001-11-23 2003-05-30 Koninklijke Philips Electronics N.V. Watermark embedding
US7567721B2 (en) * 2002-01-22 2009-07-28 Digimarc Corporation Digital watermarking of low bit rate video
WO2004040913A1 (en) * 2002-10-30 2004-05-13 Koninklijke Philips Electronics N.V. Watermarking of a variable bit-rate signal
US7561716B2 (en) * 2003-04-04 2009-07-14 Datamark Technologies Pte Ltd Watermarking method and apparatus
EP1616297A2 (en) * 2003-04-11 2006-01-18 Koninklijke Philips Electronics N.V. Method of detecting watermarks
JP4353460B2 (ja) * 2003-05-09 2009-10-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 動画データ処理装置及び方法並びにプログラム
CN100469128C (zh) * 2003-10-10 2009-03-11 皇家飞利浦电子股份有限公司 数字信号中的水印检测
CN1251140C (zh) * 2003-12-12 2006-04-12 上海交通大学 数字水印的加密正交变换方法
JP4612797B2 (ja) * 2004-03-11 2011-01-12 キヤノン株式会社 符号化装置、符号化方法
JP4526867B2 (ja) * 2004-05-12 2010-08-18 株式会社エヌ・ティ・ティ・データ 電子透かし埋込装置、及び電子透かし読出装置
KR100643273B1 (ko) * 2004-05-27 2006-11-10 삼성전자주식회사 비디오 워터마킹 방법 및 장치와, 비디오 워터마킹을 이용한 비디오 콘텐츠 보호방법 및 장치
US8050446B2 (en) * 2005-07-12 2011-11-01 The Board Of Trustees Of The University Of Arkansas Method and system for digital watermarking of multimedia signals
EP2015293A1 (en) * 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain

Also Published As

Publication number Publication date
FR2894759A1 (fr) 2007-06-15
JP5139995B2 (ja) 2013-02-06
KR101378437B1 (ko) 2014-03-27
DE602006010238D1 (de) 2009-12-17
JP2009518912A (ja) 2009-05-07
EP1960963B1 (en) 2009-11-04
CN101331514B (zh) 2011-11-23
US20090208131A1 (en) 2009-08-20
CN101331514A (zh) 2008-12-24
EP1960963A1 (en) 2008-08-27
WO2007068648A1 (en) 2007-06-21

Similar Documents

Publication Publication Date Title
CN1108063C (zh) Mpeg2 活动图像编码/解码系统
EP0926897B1 (en) Video signal processing for electronic watermarking
EP0928110B1 (en) Image signal processing for electronic watermarking
KR101267178B1 (ko) 비디오에 대하여 색 인핸스먼트 계층을 인코딩 및 디코딩하기 위한 방법 및 디바이스
JP4506991B2 (ja) ロバストなデジタル電子透かし入れ信号の挿入方法および電子透かし検出方法
KR101261526B1 (ko) 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
US10237576B2 (en) 3D-HEVC depth video information hiding method based on single-depth intra mode
KR101378437B1 (ko) 스트림에 관해 워터마킹하는 방법 및 디바이스
EP2199970B1 (en) Watermarking compressed video data by changing blocks' prediction mode
TWI533670B (zh) 位元串流型式之畫像的解碼方法
KR100620537B1 (ko) Jpeg 압축 데이터에 워터마크를 삽입 및 추출하는방법 및 장치
KR101528300B1 (ko) Ac 계수를 이용한 jpeg 압축 이미지의 워터마크 삽입 및 추출 방법
GB2605048A (en) Embedding data within transformed coefficients using bit partitioning operations
KR20110071483A (ko) 비트 심도 감소를 이용한 깊이 영상 처리 장치 및 방법
Verma et al. Wavelet based robust video watermarking using spread spectrum technique
JP2887843B2 (ja) 画像データ復元方法および装置
JP2006074520A (ja) 動きベクトル検出装置
Zwol Splitting the watermark up, a steganographic watermarking algorithm for H. 264 with reduced image distortion
KR20230021638A (ko) 엔트로피 코딩을 위한 변환 계수 순서화
Motsch et al. Joint lossless coding and reversible data embedding in a multiresolution still image coder
Kraichingrith HIGH CAPACITY IMAGE STEGANOGRAPHY TOLERATING IMAGE COMPRESSION
CN114998081A (zh) 一种基于h.265/hevc的视频盲水印嵌入和提取方法
KR20100124964A (ko) 비디오 영상의 객체 기반 워터마크 삽입 방법 및 워터마크 삽입 프로그램을 저장한 기록매체
JP2006081065A (ja) 動画圧縮符号化装置、動画圧縮符号化プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant