KR20080043321A - 비디오 워터마킹을 위한 계수 선택 - Google Patents

비디오 워터마킹을 위한 계수 선택 Download PDF

Info

Publication number
KR20080043321A
KR20080043321A KR1020087004903A KR20087004903A KR20080043321A KR 20080043321 A KR20080043321 A KR 20080043321A KR 1020087004903 A KR1020087004903 A KR 1020087004903A KR 20087004903 A KR20087004903 A KR 20087004903A KR 20080043321 A KR20080043321 A KR 20080043321A
Authority
KR
South Korea
Prior art keywords
frame
coefficients
coefficient
watermark
coefficient set
Prior art date
Application number
KR1020087004903A
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 KR1020087004903A priority Critical patent/KR20080043321A/ko
Publication of KR20080043321A publication Critical patent/KR20080043321A/ko

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 이미지를 워터마킹하기 위한 방법 및 시스템이 설명되는데, 이는 계수 세트를 선택하는 것, 및 비디오 볼륨을 가지고 선택된 계수 세트의 특성값 사이에서 연관을 실시하는 것을 포함한다.

Description

비디오 워터마킹을 위한 계수 선택{COEFFICIENT SELECTION FOR VIDEO WATERMARKING}
본 발명은 비디오 콘텐츠의 워터마킹에 대한 것이며 특히 디지털 씨네마 애플리케이션에서 워터마크를 삽입하는 것 및 검출하는 것과 관계있다.
비디오는 공간축 및 시간축을 포함한다. 이미지(및 마찬가지로 비디오 프레임)은 공간 영역에 또는 변환 영역에 나타날 수 있다. '기저대역' 영역으로도 불리는, 공간 영역에서, 이미지는 픽셀값 격자로서 나타난다. 픽셀화된(즉, 이산적인) 이미지의 변환 영역 표현은 공간 영역 이미지의 수학적 변환으로부터 계산될 수 있다. 일반적으로, 이러한 변환은 완벽하게 역으로 할 수 있거나(reversible) 적어도 상당한 정보 손실없이 역으로 할 수 있다. 몇 개의 변환 영역이 존재하는데, 가장 잘 알려진 것은 FFT(고속 푸리에 변환), JPEG 압축 알고리즘에서 사용되는 DCT(이산 코싸인 변환), JPEG2000 압축 알고리즘에서 사용되는 DWT(이산 웨이블릿 변환)이다. 변환 영역에서 콘텐츠를 나타내는 한 가지 이점은 이러한 표현이 유사한 개념적인 품질에 대해 기저대역 표현보다는 일반적으로 더 컴팩트할 수 있다는 것이다. 워터마킹 방법은 기저대역에서뿐만 아니라 변환 영역에서 워터마크를 삽입하기 위해 존재한다.
비디오 또는 비디오 이미지는 다양한 워터마킹 접근법에 적합하다. 비디오 워터마킹으로의 이러한 접근법은 이 접근법이 공간 구조, 시간 구조, 또는 워터마킹용 비디오의 전역(global) 3차원 구조를 선택하는지를 기초로 해서, 3개의 카테고리로 그룹화될 수 있다.
공간 비디오 워터마킹 알고리즘은 스틸 이미지 워터마킹을 기존의 이미지 워터마킹 알고리즘을 이용하는 프레임별 마크 삽입을 통해 비디오 워터마킹으로 확장시킨다. 종래 기술에서, 프레임별 워터마크는 일정 간격 상의 각 프레임에서 반복되는데, 이 간격은 임의적이며 수 프레임에서 전체 비디오까지일 수 있다. 검출기측에서, 전력 신호대 잡음비(PSNR)가 다수의 연속 프레임 상에서 반복된 동일한 워터마크 패턴을 구비하는 것이 유리하다. 그러나, 모든 프레임이 동일한 워터마크 패턴을 갖는 경우, 특별한 주의가 취해져야 할 수 있는데 이는 가능한 프레임 공모 어택(frame collusion attack)으로의 취약성을 회피하기 위해서이다. 다른 한편, 워터마크가 모든 프레임에 대해 변하는 경우, 검출하는 것이 더 어려울 수 있는 한편, 깜박임 결함을 야기하며 비디오의 안정적인 영역에서 공모 어택에 여전히 취약하다.
개선책으로서, 모든 프레임을 워터마크할 필요는 없다. 종래 기술에서, 자동으로 선택된 '키 프레임'(및 키 프레임 주위의 다소의 프레임)만이 워터마킹된다. 키 프레임은 두 개의 경계 샷 프레임 사이에서 발견된 안정적인 프레임이며, 프레임 속도 변화 후에도 다시 신뢰할만하게 위치될 수 있다. 키 프레임만을 워터마킹하는 것은 충실도 제약에 대한 압박을 감소시킬 뿐만 아니라 더 나은 보안 및 더 적은 계산 강도를 야기할 수 있다.
공간 영역 워터마크가 예컨대 기하학적 불변 워터마크를 이용해서, 또는 타일형 패턴의 워터마크를 복제하거나 푸리에 영역의 템플릿을 이용해서, 기하학적 변환에 강한 스틸 이미지 워터마킹 기법으로부터 이익을 볼 수 있으나, 특히 프로젝팅된 영화의 캠코더 캡쳐 동안에 발생하는 기하학적 변환 및 스크린 만곡으로 인해 역으로 하는 것이 어렵다. 나아가, 이러한 두 개의 접근법은 신호 처리 어택에 대해 안전하지 않은데, 예컨대, 푸리에 영역의 템플릿이 쉽게 제거될 수 있다. 따라서, 공간 영역 워터마크는 원래의 콘텐츠가 등록을 위해 사용되는 경우 더 쉽게 그리고 안전하게 검출될 수 있다. 종래 기술에서, 반-자동 등록 방법이 사용되는데 이는 원래의 프레임 내의 특징점을 추출된 프레임 내의 특징점과 매칭시킨다. 평판 스크린 상의 프로젝팅을 위해, 최소 네 개의 기준점이 변환을 역으로 하기 위해 매칭되어야 한다. 조작자는 미리-계산된 특징점 세트로부터 적어도 네 개의 특징점을 수동으로 선택한다. 2-레벨 등록이 완전히 자동으로 행해질 수 있다: 우선 시간 영역에서, 이후 공간 영역에서. 프레임 서명에 대한 데이터베이스(지문, 소프트 해쉬 또는 메시지 다이제스트로도 불림)가 워터마크 검출기에 의해 액세스되어, 추출된 키 프레임을 대응하는 원래의 프레임과 매칭시킨다. 후자는 이후 테스트 프레임의 자동 공간 등록을 위해 사용된다.
그러나, 키 프레임의 선택을 위한 계산은, 실시간 애플리케이션을 위한 워터마크 삽입시에 이용가능하지 않은, 업커밍(upcoming) 프레임을 필요로 한다는 것이 주목되어야 한다. 대안적인 방법은 프레임 처리와 재생 사이에 일정한 시간 지연을 유지하는 것이다.
종래 기술의 시간 워터마킹 방식은 각 프레임 내의 전역 휘도를 바꿈으로써, 워터마크를 삽입하기 위해 단지 시간축을 이용한다. 이는 워터마크를 기하학적 왜곡에 내재적으로 강하게 만들뿐만 아니라, 캠코더 어택 후에 워터마크 판독을 단순화시킨다. (통상적으로 캠코딩된 비디오를 깜박임 해제시킬 때 적용되는) 시간적인 저역 통과 필터링에 대한 워터마크의 강력함은 당해 기술에서 알려진 그밖의 방법을 이용해서 개선될 수 있다. 그러나, 워터마크는 시간적인 탈-동기화(특히 프레임 편집 후)에 약할 수 있다. 그러나, 동기화는 또한 탈동기화된 비디오와 원래의 비디오 사이에 키 프레임을 매칭함으로써 복구될 수 있다.
두 개의 이전의 접근법(공간 또는 시간 워터마킹)은 워터마킹을 위해 세 개의 이용가능한 차원 중 하나 또는 둘을 이용한다. 비디오 내의 세 개의 이용가능한 차원 중 하나 또는 둘의 워터마크 구조의 부재는 워터마크에 이용가능한 공간의 서브최적의 사용을 야기한다. Bloom 등의 미국 특허 번호 6,885,757 "Method and Apparatus for Providing an Asymmetric Watermark Carrier"에 기재된 방법은 비디오의 구조를 완벽하게 이용한다. 위 특허의 확산-스펙트럼 방법에서, 이 기법은 명백하게 강력하고 안전하나, 검출기는 검출 이전에 테스트 비디오를 원래의 비디오와 동기화시켜야 한다.
본 발명의 측면은 연속 프레임에 걸쳐서 또는 단일 프레임 내의 일정 계수의 속성값 사이에서 제약-기반 관계를 의사-랜덤하게 삽입하는 것을 수반한다. 이 관계는 워터마크 정보를 인코딩한다.
'계수'는 데이터 요소 세트로서 표시되는데, 이는 비디오, 이미지, 또는 오디오 데이터를 포함한다. '콘텐츠'라는 용어는 임의의 데이터 요소 세트를 표시하는 일반적인 용어로서 사용될 것이다. 콘텐츠가 기저대역 영역 내에 있는 경우, 계수는 '기저대역 계수'로 표시될 것이다. 콘텐츠가 변환 영역 내에 있는 경우, 계수는 '변환 계수'로 표시될 것이다. 예컨대, 이미지, 또는 비디오의 각 프레임이 공간 영역 내에 나타나는 경우, 픽셀이 이미지 계수이다. 이미지 프레임이 변환 영역 내에 나타나는 경우, 변환된 이미지의 값이 이미지 계수이다.
본 발명은 특히 디지털 씨네마 애플리케이션에서 JPEG200을 위한 DWT를 다룬다. 픽셀화된 이미지의 DWT는 수직 및 수평의 저역-통과 및 고역-통과 필터의 이미지 픽셀로의 연속적인 사용에 의해 계산되는데, 결과 값은 '웨이블릿 계수'로 불린다. 웨이블릿은 단지 하나 또는 수 개의 싸이클 동안 지속하는 발진 파형이다. 각 반복시에, 이전 반복의 저역-통과 필터링된 웨이블릿 계수가 데시메이트(decimate)되고, 이후 저역-통과 수직 필터 및 고역-통과 수직 필터를 겪으며, 이 프로세스의 결과가 저역-통과 수평 및 고역-통과 수평 필터를 통해 전달된다. 결과적인 계수 세트가 네 개의 '부대역' 즉, LL, LH, HL 및 HH 부대역으로 그룹화된다.
즉, LL, LH, HL 및 HH 계수가 각각 저역-통과 수직/저역 통과 수평 필터, 저역-통과-수직/고역-통과 수평 필터, 고역-통과 수직/저역-통과 수평 필터, 고역-통과 수직/고역-통과 수평 필터의 이미지로의 연속적인 사용으로부터 발생하는 계수이다.
이미지는 상이한 고유의(native) 컬러에 대응하는 다수의 채널(또는 성분)을 구비할 수 있다. 이미지가 그레이스케일인 경우, 이 이미지는 휘도 성분을 나타내는 하나의 채널만을 구비한다. 일반적으로, 이미지는 컬러가 있으며, 이 경우 (때때로 상이한 수의 채널이 이용되나) 세 개의 채널이 상이한 컬러 성분을 나타내기 위해 통상적으로 사용된다. 세 개의 채널은 각각 적색, 녹색, 및 청색 성분을 나타낼 수 있는데, 이 경우, 이미지는 RGB 컬러 공간에 나타나나, 많은 그밖의 컬러 공간이 사용될 수 있다. 이미지가 다수의 채널을 구비하는 경우, DWT가 일반적으로 각 컬러 채널 상에서 별도로 계산된다.
각 반복은 계수의 일정한 '층' 또는 '레벨'에 대응한다. 계수의 제1 층은 이미지의 최고 해상도 레벨에 대응하나, 최종 층은 최저 해상도 레벨에 대응한다. 도 1은 5-레벨 웨이블릿 변환의 하나의 성분 내의 비디오 표현이다. 유닛(105-120)은 비디오 프레임이다. 유닛(125)은 최저 해상도에서 LL 부대역 계수를 가리킨다. 유닛(125a)은 프레임(f=0), 채널(c=0), 부대역(b=0), 해상도 레벨(l=0), 및 위치(x 및 y=0)인 (f,c,l,b,x,y)에서 계수를 나타낸다.
비디오의 3D 구조를 가장 잘 사용하기 위해, 본 발명은 시간축 및 공간축을 이용한다. 공간 등록은 프로젝팅 및 캡쳐 후 영화에 대해 달성하기가 힘들기 때문에, 본 발명은 매우 낮은 공간 주파수 또는 낮은 공간 주파수의 전역 특성을 이용하는데, 이는 공간 등록을 위한 기하학적 왜곡에 덜 민감하다. 시간 주파수는 어택 동안에 발생하는 대부분의 변환이 시간-선형적이기(time-linear) 때문에 더 쉽게 복구된다.
본 발명에서, 비디오의 저-해상도 웨이블릿 계수는 직접 워터마킹된다. 프레임 내의 픽셀 수가 최저 해상도 웨이블릿 계수의 수보다 약 1000배 더 크기 때문에, 동작의 수는 본 발명에서 잠재적으로 훨씬 작다.
비디오 이미지를 워터마킹하기 위한 방법 및 시스템이 설명되는데, 이는 워터마크를 생성하는 것, 및 생성된 워터마크를, 비디오 볼륨과 선택된 계수 세트의 특성 값 사이의 연관(relationship)을 실시함으로써, 비디오 이미지에 삽입하는 것을 포함한다. 워터마크는 이에 따라 비디오 볼륨에 적응적으로 삽입된다. 비디오 이미지를 워터마킹하기 위한 방법 및 시스템이 또한 설명되는데, 이는 계수 세트를 선택하는 것, 및 비디오 볼륨과 선택된 계수 세트의 특성 값 사이의 연관을 실시하는 것을 포함한다. 비디오 이미지를 워터마킹하기 위한 방법 및 시스템이 또한 설명되는에, 이는 페이로드를 생성하는 것, 계수 세트를 선택하는 것, 계수를 변경하는 것, 및 비디오 볼륨과 선택된 계수 세트의 특성 값 사이의 연관을 실시함으로써 상기 워터마크를 삽입하는 것을 포함한다. 변경된 계수가 선택된 계수 세트를 대체한다.
비디오 이미지 내에서 워터마크를 검출하기 위한 방법 및 시스템이 설명되는데, 이는 신호를 준비하는 것, 특성값을 추출 및 계산하는 것, 비트값을 검출하는 것 및 페이로드를 디코딩하는 것을 포함하며, 여기서 페이로드는 비디오 볼륨 내에서 특성값 사이의 연관을 실시함으로써 생성 및 삽입된 비트열이다. 비디오 이미지 내에서 워터마크를 검출하기 위한 방법 및 시스템이 또한 설명되는데, 이는 신호를 준비하는 것 및 페이로드를 디코딩하는 것을 포함하며, 여기서 페이로드는 비디오 볼륨 내에서 특성값 사이의 연관을 실시함으로써 생성 및 삽입된 비트열이다. 비디오 볼륨 내에서 워터마크를 검출하기 위한 방법 및 시스템이 또한 설명되는데, 이는 신호를 준비하는 것, 특성값을 추출 및 계산하는 것, 및 비트값을 검출하는 것 을 포함한다.
본 발명은 하드웨어, 펌웨어, FPGA, ASIC 등으로 구현될 수 있으나, 컴퓨터 또는 처리 디바이스 내에 상주하는 소프트웨어로 가장 잘 구현되는데, 상기 디바이스는 서버, 이동 디바이스 또는 이들의 임의의 등가물일 수 있다. 상기 방법은 단계를 프로그래밍하고 프로그램을 컴퓨터 판독가능 매체에 저장함으로써 가장 잘 구현/수행된다. 실시간 처리에 필요한 속도가 단계의 더 많은 시퀀스 중 하나를 위한 하드웨어를 필요로 하는 경우에, 본 명세서에 설명된 프로세스 및 단계의 모든 부분 또는 임의의 부분을 위한 하드웨어 솔루션이 어떠한 일반성의 손실없이 쉽게 구현될 수 있다. 이 하드웨어 솔루션은 이때 컴퓨터 또는 처리 디바이스, 이를테면 그러나 제한없이, 서버 또는 이동 디바이스에 삽입될 수 있다. 디지털 씨네마 애플리케이션을 위해 JPEG2000 이미지를 실시간 워터마킹하기 위한 구현예에서, 디지털 씨네마 서버 또는 프로젝터 내의 JPEG2000 디코더는 각 프레임의 최저 해상도 레벨의 계수를 워터마킹 삽입 모듈에 전달한다. 이 삽입 모듈은 수신된 계수를 변경해서 이를 추가적인 디코딩을 위해 디코더에 반환한다. 계수의 이러한 전달, 워터마킹 및 반환은 실시간으로 수행된다.
본 발명은 첨부된 그림과 함께 읽혀질 때 후술하는 상세한 설명으로부터 가장 잘 이해된다. 상기 그림은 아래에서 간단하게 설명된 도면을 포함하는데, 도면 상의 유사-번호는 유사한 요소를 나타낸다.
도 1은 5-레벨 웨이블릿 변환의 하나의 성분 내의 비디오 표현을 도시하는 도면.
도 2는 워터마킹의 페이로드 생성 단계를 도시하는 흐름도.
도 3은 워터마킹의 계수 선택 단계를 도시하는 흐름도.
도 4는 워터마킹의 계수 변경 단계를 도시하는 흐름도.
도 5는 풀 해상도에서의 비디오 프레임과 해상도 레벨 5에서의 계수로부터 재구성된 비디오 프레임을 도시하는 도면.
도 6은 D-씨네마 서버(매체 블록) 내의 워터마킹의 블록도.
도 7은 비디오 워터마크 검출을 도시하는 흐름도.
도 8은 비디오 워터마크 검출을 위한 신호 준비를 도시하는 흐름도.
도 9는 교차-상관 함수를 도시하는 도면.
도 10은 비디오 워터마크 검출시에 비트값의 검출을 도시하는 흐름도.
도 11은 누적된 신호를 도시하는 도면.
다수의 애플리케이션은 실시간 워터마크 삽입 이를테면 셋톱 박스를 위한 그리고 디지털 씨네마 서버(또는 매체 블록으로도 불림) 또는 프로젝터를 위한 세션-기반 워터마크 삽입을 필요로 한다. 상당히 명백하나, 이는 소정의 시간에, 시간상 나중에 나오는 프레임을 사용하는 워터마킹 방법을 적용하는 것을 어렵게 만든다는 것을 언급할 가치가 있다. (예컨대 워터마크의 위치 또는 세기에 대한) 오프라인 사전-계산은 바람직하게는 회피되어야 한다. 이에 대해 몇 개의 이유가 존재하나, 두 개의 가장 중요한 이유는: 잠재적인 보안 누설(현재의 생성 워터마킹 알고리즘은 일반적으로 어택커가 삽입 알고리즘의 완전한 세부사항을 알고 있는 경우 덜 안전하다), 및 비실용성이다.
대부분의 애플리케이션에서, 디지털적으로 워터마킹된 콘텐츠 유닛은 일반적으로, 삽입되는 시간과 검출되는 시간 사이에서 약간의 변경을 겪는다. 이러한 변경은 '어택'으로 명명되는데, 그 이유는 이 변경이 일반적으로 워터마크를 열화시키고 워터마크의 검출을 더 어렵게 만들기 때문이다. 적용하는 동안에 이러한 어택이 당연히 발생할 것으로 예상되는 경우, 어택은 '비-의도적인' 것으로 간주된다. 비-의도적인 어택의 예는: (1) 크롭핑되고, 크기조정되고, JPEG 압축되고, 필터링 등이 되는 워터마크 이미지 (2) 텔레비전 디스플레이 상에서 시청하기 위해 NTSC/PAL SECAM으로 변환되고, MPEG 또는 DIVX 압축되고, 재-샘플링 등이 되는 워터마킹된 비디오일 수 있다. 다른 한편, 어택이 워터마크를 제거하거나 워터마크의 검출을 해칠 목적으로 고의로 행해지는 경우(즉, 워터마크가 여전히 콘텐츠 내에 있으나, 검출기에 의해 검색될 수 없음), 어택은 '의도적'이고, 어택을 수행하는 당사자는 '저작권침해자'이다. 의도적인 어택은 일반적으로 워터마크를 판독할수 없게 만드는 가능성을 최대화시키는 한편, 콘텐츠로의 개념적인 손상을 최소화시킬 목표를 갖는데, 어택의 예는 콘텐츠의 검출기와의 동기화를 매우 어렵게 만들기 위해 콘텐츠에 적용된 국부 회전/크기조정 및/또는 라인 제거/부가의 작은, 인지할 수 없는 조합일 수 있다(대부분의 워터마크 검출기는 탈-동기화에 민감하다). 툴(tool)이 위의 어택 목적을 위해 인터넷, 예컨대 Stirmark(http://www.petitcolas.net/fabien/watermarking/stirmark) 상에 존재한다.
소위 '캠코더 어택'의 경우에, 이는 극장 내에서 재생하는 동안에 영화를 불법으로 캡쳐링하는 사람에 의해 수행되는데, 이 어택은 당사자가 불법 행위를 수행하는 경우에도 비의도적인 것으로 간주된다. 실제로, 영화 캡쳐는 워터마크를 제거할 목적으로 행해지지 않는다. 그러나, 영화의 캡쳐후, 그 사람은 워터마크가 콘텐츠 내에서 더 이상 검출될 수 없다는 것을 보장하기 위해 캡쳐링된 비디오 상에 부가적인 프로세스를 실행할 수 있다.
예컨대, 디지털 씨네마를 위한 세션-기반 워터마크는 다음 어택을 견뎌야 한다: 크기재조정, 레터박싱(letterboxing), 애퍼쳐 제어, 저역-통과 필터링 및 안티-앨리어싱, 브릭 월(brick wall) 필터링, 디지털 비디오 잡음 감소 필터링, 프레임-스와핑, 압축, 크기조정, 크롭핑, 덮어쓰기, 잡음 및 그밖의 변환의 부가.
캠코더 어택은 연속적인 순서로 다음 어택을 포함한다: 캠코더 캡쳐, 디-인터레이싱, 크롭핑, 깜박임 해제 및 압축. 특히, 캠코더 캡쳐는 상당한 공간 왜곡을 야기한다. 본 발명은 캠코더 어택에 초점을 맞추는데, 그 이유는 이것은 캠코더 어택을 견디는 워터마크가 대부분의 그밖의 비-의도적인 어택, 예컨대 스크리너 복사(screener copy), 텔레비전 영화(telecine) 등을 견딜 것이라하는 것이 일반적으로 인식되기 때문이다. 그러나, 워터마크가 그밖의 어택을 견딘다는 것 또한 중요 하다. 비디오의 프레임은 NTSC 또는 PAL SECAM 순응형 시스템 상에서 재생하기 위해 일반적으로 인터레이싱된다. 디-인터레이싱은 실제로 검출 성능에 영향을 미치지 않으나, 캡쳐링된 비디오 품질을 개선하기 위해 해적에 의해 사용된 표준 프로세스이다. 종횡비 2.39의 비디오는 대략 4:3 종횡비를 가지고 완전히 캡쳐링된다; 비디오의 상부 및 하부 영역은 대충 크롭핑된다. 캡쳐링된 비디오는 통상적으로 교란성 깜박임을 나타내는데, 이 깜박임은 시간 영역에서 앨리어싱 효과로 인해서이다. 이 깜박임은 빠른 휘도 변화에 대응하는데, 이는 필터링될 수 있다. 깜박임 해제 필터는 이러한 깜박임 효과를 제거하기 위해 해적에 의해 종종 이용된다. 탈-깜박임 필터가 워터마크를 지울 목적으로 이용되지 않는 경우에도, 이 필터는 워터마크의 시간 구조에 매우 해로울 수 있는데, 그 이유는 각 프레임을 강하게 저역 통과 필터링할 수 있기 때문이다. 마지막으로, 캡쳐링된 영화는 이용가능한 분배 대역폭/매체/포맷 예컨대, DIVX 또는 그밖의 손실있는(lossy) 비디오 포맷에 맞도록 압축된다. 예컨대, P2P 네트워크 상에서 발견된 영화는 700 메가바이트 CD 상에 전체 100분 영화를 저장하는 것을 허용하는 파일 크기를 종종 갖는다. 이는 934 kbps, 또는 128kbps가 오디오 트랙에 대해 유지되는 경우 약 800kbps의 대략적인 총 비트 속도에 대응한다.
이러한 어택 시퀀스는 가장 심한(severe) 프로세스에 대응하는데, 이 프로세스는 피어-투-피어(P2P) 네트워크 상에서 발견될 수 있는 해적판 비디오의 수명 동안 발생한다. 이는 또한 워터마크가 견뎌야 하는 위에서 언급된 어택의 대부분을 명시적으로 또는 묵시적으로 포함한다. 캠코더 어택에 덧붙여서, 본 발명의 워터마 킹 방법 및 장치는 프레임-편집(제거 및/또는 부가) 어택을 또한 견딘다.
워터마킹 검출 시스템은 검출기가 원래의 콘텐츠에 액세스할 필요가 없는 경우에 '블라인드'(또는 비-블라인드)로 불린다. 또한 소위 세미-블라인드 시스템이 존재하는데, 이 시스템은 원래의 콘텐츠로부터 도출된 데이터로의 액세스만을 요구한다. 일부 애플리케이션 이를테면 디지털 씨네마용 세션-기반 워터마크를 위한 포렌식(forensic) 추적은 블라인드 워터마크 솔루션을 명시적으로 필요로 하지 않으며 원래의 콘텐츠로의 액세스가 가능한데, 그 이유는 검출이 통상적으로 오프라인으로 행해질 것이기 때문이다. 본 발명은 블라인드 검출기를 이용하나 콘텐츠를 검출기에서 동기화시키기 위해 동기화 비트를 삽입한다. 세미-블라인드 검출기가 또한 본 발명과 함께 사용될 수 있다. 세미-블라인드 검출기가 이용되는 경우, 동기화는 결국 원래의 콘텐츠로부터 도출된 데이터를 이용해서 수행될 수 있다. 이 경우에, 동기화 비트는 필요하지 않으며, 워터마크 칩으로도 불리는 워터마크의 크기는 감소될 수 있다.
디지털 씨네마 애플리케이션의 특정 예에서, 35 비트인 최소 페이로드가 콘텐츠 내에 삽입될 필요가 있다. 이 페이로드는 16-비트 타임스탬프를 포함해야 한다. 타임 스탬프가 24시간/일 및 366일/년, 15분마다(시간당 4번) 생성되고 스탬프가 해마다 반복하는 경우, 35,136 타임 스탬프가 필요한데, 이는 16비트로 나타날 수 있다. 나머지 19비트는 총 524,000개의 가능한 위치/일련 번호를 위한 위치 또는 일련 번호를 나타내기 위해 이용될 수 있다.
또한, 모든 35-비트가 5분 세그먼트로부터 검출가능하도록 요구된다. 다시 말해서, 포렌식 마크를 추출하기 위해 단지 5분 비디오가 요구되어야 한다. 일 실시예에서, 본 발명은 64-비트 워터마크를 이용하며, 워터마크 칩은 3:03분마다 반복된다. 프레임 당 하나의 삽입된 비트를 가지고 초당 24 프레임에서 3:03 분 비디오에 삽입된 비디오 워터마크 칩은 4392 비트를 갖는다(1비트/프레임에서 183초*24프레임/초=4392 프레임= 4392 비트)
본 발명의 비디오 워터마킹 방법은 콘텐츠의 상이한 특성 사이의 관계를 변경시키는 것을 기초로 한다. 특히, 정보의 비트(a bit of information)를 인코딩하기 위해, 이미지/비디오의 일정 계수가 선택되어, 상이한 세트에 할당되며, 상이한 세트의 특성값 사이의 관계를 발생시키도록 최소 방식으로 조작된다. 계수 세트는 상이한 특성값을 갖는데, 이 값은 비디오의 상이한 공간-시간 영역에서 일반적으로 변하거나, 콘텐츠를 처리한 후에 변경된다. 일반적으로, 본 발명은 단조로운(monotonic) 방식으로 변하는 특성값을 이용하며, 이를 위해 어택은 예측가능한 영향을 미치는데, 그 이유는 이 경우에 강력한 관계를 보장하는 것이 더 쉽기 때문이다. 이러한 특성은 '불변하는'으로 표시될 것이다. 본 발명은 불변하는 특성을 이용해서 가장 잘 실시되나, 그것으로 제한되지 않으며 불변하지 않는 특성을 이용해서 실시될 수 있다. 예컨대, 프레임의 평균 휘도값은 시간에 걸쳐 '불변하는' 것으로 간주된다: 이는 일반적으로, 저속의 단조로운 방식으로 변한다(경계 샷에서는 제외); 나아가, 콘트라스트 향상과 같은 어택은 일반적으로 각 프레임의 휘도값의 상대적인 순서를 참작할 것이다.
비디오 콘텐츠는 통상 다수의 별개의 성분(또는 채널) 이를테면 RGB(적색/녹 색/청색, 컴퓨터 그래픽 및 컬러 텔레비전에서 광범위하게 사용됨), YIQ, YUV 및 YCrCb(방송 및 텔레비전에서 사용됨)으로 나타난다. YCrCb는 두 개의 주요 성분으로 구성된다: 휘도(Y) 및 채도(CrCb 또는 UV로도 알려짐). 비디오 콘텐츠의 휘도 또는 Y-성분의 양은 콘텐츠의 밝기를 가리키고, 색차(또는 채도)는 비디오 콘텐츠의 컬러 부분을 설명하는데, 이는 색조 및 포화(saturation) 정보를 포함한다. 색조는 이미지의 컬러 농담(tint)을 가리킨다. 포화는 출력 컬러가 입력 파라미터 내의 변화와 무관하게, 일정한 조건을 설명한다. YCrCb의 색차 성분은 컬러의 적색(Cr) 성분 및 청색(Cb)을 포함한다. 본 발명은 비디오 콘텐츠를 W*H*N의 크기를 갖는 다수의 3D 계수 볼륨으로서 간주한다(W, H는 각각 기저대역 영역 내의 또는 변환 영역 내의 프레임의 너비, 높이이고, N은 비디오의 프레임의 수이다). 각 3D 볼륨은 비디오 콘텐츠의 하나의 성분 표현에 대응한다. 워터마크 정보는 하나 이상의 볼륨 내에서 선택된 계수 세트의 일정 특성값 사이에서 제약-기반 연관을 실시함으로써 삽입된다. 그러나, 인간의 눈이 컬러(색차) 변화에 대해서보다 전체적인 세기(휘도) 변화에 대해 훨씬 덜 민감하기 때문에, 워터마크는 바람직하게는 비디오 콘텐츠의 휘도 성분을 나타내는 3D 비디오 볼륨에 삽입된다. 휘도의 또 하나의 이점은 이것이 비디오의 변환에 더 불변한다는 것이다. 이하에서, 3D 비디오 볼륨은 달리 지정되지 않을 때까지 휘도 성분을 나타내나, 이는 임의의 성분을 나타낼 수 있다.
본 발명에서, 계수 세트는 콘텐츠 내의 임의의 위치로부터 취해진 (1에서 W*H*N까지의) 임의의 수의 계수를 포함할 수 있다. 각 계수는 값을 갖는다. 그러므 로 상이한 특성값이 계수 세트로부터 계산될 수 있다 - 일부 예가 아래에 주어진다. 워터마크 정보를 삽입하기 위해, 다수의 연관이 다수의 계수 세트 내의 계수 값을 바꿈으로써 실시될 수 있다. 연관은 비-제한적인 방식으로, 하나 이상의 계수세트의 하나 이상의 특성 값이 충족시켜야 하는 하나의 또는 한 세트의 조건으로서 이해되어야 한다.
다양한 유형의 특성이 각 계수 세트에 대해 정의될 수 있다. 특성은 바람직하게는 기저대역 영역에서(이를테면 밝기, 콘트라스트, 휘도, 에지, 컬러 히스토그램) 또는 변환 영역에서(주파수 대역의 에너지) 계산된다. 일부 특성 값은 기저대역 및 변환 영역에서 동일하게 계산될 수 있는데, 이는 휘도의 경우와 같다.
정보의 비트를 삽입하기 위한 하나의 적합한 방식은 두 개의 계수 세트를 선택하고 이들의 특성값 사이의 사전-정의된 연관을 실시함으로써이다. 이 연관은 예컨대, 제1 계수 세트의 하나의 특성값이 제2 계수 세트의 대응 특성값보다 더 크다는 것일 수 있다. 그러나, 정보의 비트를 삽입하기 위한 방식에서 몇 가지 변화가 존재한다는 것이 주목된다. 두 개의 선택된 계수 세트 내에서 정보의 1보다 더 많은 비트를 삽입하기 위한 하나의 방식은 두 개의 계수 세트의 하나 초과의 특성의 값 사이에서 연관을 실시하는 것이다.
하나의 계수 세트만을 이용해서 그리고 이 계수 세트의 특성값의 연관을 실시함으로써 정보 비트를 삽입하는 것이 또한 가능하다. 예컨대, 특성값이 일정값보다 더 크게 설정될 수 있는데, 이 일정값은 사전정의되거나 콘텐츠로부터 적응적으로 계산될 수 있다. 하나의 계수 세트를 이용해서, 네 개의 독점적인 간격을 정의 해서, 그리고 특성값이 일정 간격 내에 놓인다는 조건을 실시해서 정보의 2보다 더 많은 비트를 삽입하는 것이 또한 가능하다. 1보다 더 많은 비트를 삽입하기 위한 그밖의 방식은 1보다 더 많은 특성값을 이용하는 것, 및 특성 값 각각에 대해 연관을 실시하는 것을 포함한다.
일반적으로, 기본적인 방식은 임의의 수의 계수 세트, 임의의 수의 특성 값 및 실시될 임의의 수의 연관에 대해 일반화될 수 있다. 이는 더 많은 양의 정보를 삽입하기 위한 유리할 수 있으나, 선형 프로그래밍과 같은 특정 기법이 다양한 연관이 최소의 지각 변화와 동시에 실시된다는 것을 보장하기 위해 사용되어야 할 수 있다. 위에서 주목된 바와 같이, 불변하는 특성값이 사용되는 경우에 연관을 실시하는 것이 더 쉬울 수 잇다.
3D 비디오 볼륨(및 계수 세트) 내의 많은 특성이 공간-시간 방식에서 및/또는 콘텐츠의 처리 전/후에 비교적 불변한다. 불변하는 특성의 예는 다음을 포함한다:
·연속 프레임 내의 또는 동일 프레임의 상이한 부대역 내의 계수(예컨대, 웨이블릿 계수)
·연속 프레임 내의 평균 휘도값
·연속 프레임 내의 평균 텍스쳐 특징
·연속 프레임 내의 평균 에지 측정치
·연속 프레임 내의 평균 컬러 또는 휘도 히스토그램 분포
·일정 주파수 범위 내의 에너지
·추출된 특징점에 의해 정의된 영역 내의 상기 불변하는 특성 중 임의의 것
워터마킹 알고리즘은 일반적으로 비밀 '키'와 함께 작동하는데, 이 키는 삽입기 또는 검출기에게만 알려져 있다. 비밀키를 이용하는 것은 암호화 시스템에서와 유사한 이점을 제공한다: 예컨대, 워터마킹 시스템의 세부사항이 일반적으로, 시스템의 보안을 손상시키지 않고 알려질 수 있으며, 따라서 알고리즘은 피어 검토(peer review) 및 잠재적인 개선을 위해 공개될 수 있다. 나아가, 워터마킹 시스템의 비밀이 키 내에 보유되는데, 즉, 키가 알려지는 경우 사용자는 단지 워터마크를 삽입 및/또는 검출할 수 있다. 키는 콤팩트한 크기(통상 128 비트)로 인해 더 쉽게 숨겨질 수 있고 송신될 수 있다. 대칭키가 알고리즘의 일정 측면을 의사-랜덤화하기 위해 이용된다. 통상적으로, 이 키는 에러 정정 및 검출을 위해 인코딩되고 콘텐츠에 맞도록 확장된 후에 (예컨대, DES와 같은 표준 암호화 알고리즘을 이용해서) 페이로드를 암호화하기 위해 이용된다. 본 발명의 방법을 위해, 이 키는 또한 연관을 설정하기 위해 이용될 수 있는데, 이 연관은 두 개의 상이한 계수 세트의 특성값 사이에서 삽입될 것이다. 그러므로, 이 연관은 '사전-정의된' 것으로 간주되는데, 그 이유는 이 연관이 소정의 비밀키에 대해 고정되어 있기 때문이다. 워터마크를 삽입하기 위해 하나보다 더 많은 사전-정의된 연관이 존재하는 경우, 이 키는 소정의 정보 비트에 대해 그리고 소정의 계수 세트에 대해, 정밀한 연관을 랜덤하게 선택하기 위해서도 이용될 수 있다.
선택된 계수 세트는 일반적으로 '구역'에 대응하는데, 구역은 콘텐츠의 동일 영역 내에 위치된 계수 세트로서 이해되어야 한다. 계수 구역이 콘텐츠의 공간-시 간 구역에 대응할 수 있는데, 이는 기저대역 계수 및 웨이블릿 계수의 경우와 같으나, 반드시 이 경우일 필요는 없다. 예컨대, 콘텐츠의 3D 푸리에 변환 계수는 공간 또는 시간 구역 어느 것에도 대응하지 않으나, 유사한 주파수 구역에는 대응한다.
예컨대, 계수 세트는 구역에 대응할 수 있는데, 이 구역은 하나의 프레임을 위한 일정한 공간 영역 내의 모든 계수로 이루어질 수 있다. 정보 비트를 인코딩하기 위해, 두 개의 연속 프레임으로부터의 두 개의 구역이 선택되고 이것의 대응 계수값은 일정 특성 사이에서 연관을 실시하기 위해 변경된다. 아래에서 더 상세히 설명되는 바와 같이, 원하는 연관이 이미 존재하는 경우 계수값을 변경하는 것이 반드시 필요하지는 않을 수 있다는 것이 주목된다.
다시 또 하나의 예를 위해, 웨이블릿 변환을 이용해서 각 프레임을 위한 각 해상도 레벨에서 각 위치 및 각 성분(채널)을 위한 네 개의 부대역에 대응하는 네 개의 웨이블릿 계수(LL, LH, HL, 및 HH)가 존재한다. 계수 세트는 단지 네 개의 부대역 중 하나 내에 하나의 계수를 포함할 수 있다. C1, C2, C3, C4가 동일한 위치, 채널 및 해상도 레벨에 그러나 네 개의 부대역 각각 내에 위치된 네 개의 계수라고 가정하자. 워터마크를 삽입하기 위한 하나의 방법은 HL 및 LH 부대역 각각 내의 계수에 대응하는, C2와 C3 사이에 연관을 실시하는 것이다. 연관의 일례는 C2가 C3보다 더 크다는 것이다. 워터마크를 삽입하기 위한 또 하나의 방법은 프레임 내의 C1-C4와 연속 프레임 내의 대응 계수 사이의 연관을 실시하는 것이다. 이 원리에 대한 변형은 단지 하나의 유형의 계수를 위한 연관을 삽입함으로써인데, 이 계수는 사전-계산된 값보다 더 커야 한다. 예컨대, 일정 해상도 레벨에서 프레임 내의 모 든 위치에 대해, 계수(LL)의 값이 사전-계산된 값보다 더 크다는 제약을 실시하는 것이 가능하다. 위 예에서, 특성값은 웨이블릿 계수 자체의 값이다.
검출측에서 워터마킹측에서와 동일한, 또는 거의 동일한 계수 세트를 식별할 수 있는 것이 필수적이다. 그렇지 않은 경우, 잘못된 계수가 선택되어, 측정된 특성값이 오류가 날 것이다. 정확한 계수를 식별하는 것은 콘텐츠가 검출 이전에 부드럽게(mildly) 처리된 경우 일반적으로 문제가 아닌데, 이 경우에 계수의 위치는 (공간 영역인지 또는 변환 영역인지와 무관하게) 변하지 않는다. 그러나, 이 처리가 기하학적인 또는 시간적인 구조를 변화시키는 경우, 캠코더 어택 동안에 일반적으로 그러하듯이, 계수는 위치를 변화시킬 가능성이 있다.
콘텐츠의 시간 구조에서 변화가 존재하는 경우, 사용자는 비-블라인드 또는 세미-블라인드 방식을 이용해서 콘텐츠를 재동기화할 수 있다. 상이한 방법이 이 목적을 위해 종래 기술에서 이용가능하다. 검출이 블라인드식으로(즉, 원래의 콘텐츠로부터 도출된 임의의 데이터로의 액세스 없이) 행해져야 하는 경우, 콘텐츠를 재동기화하기 위해 검출기에 의해 사용될, 예측가능한 값을 갖는 동기화 비트를 콘텐츠에 삽입하는 것이 가능하다. 이러한 방식은 아래에서 더 상세히 설명될 것이다.
콘텐츠의 기하학적인 구조에서의 변화에 대한 강력함을 보장하기 위해, 종래 기술에서 알려진 동기화/등록 방법이 이용될 수 있는데, 이 방법은 변경된 콘텐츠 내의 위치를 원래의 콘텐츠 내의 대응 위치에 매칭함으로써 변경된 콘텐츠를 복원한다. 콘텐츠의 기하학적인 구조에서의 변화는 원래의 콘텐츠 또는 그로부터 도출 된 몇가지 데이터가 이용가능한 경우에(예컨대, 원래의 콘텐츠의 몇가지 특성 정보 또는 썸네일(thumbnail)), 예컨대, 콘텐츠의 회전, 크기조정 및/또는 크롭핑 후에 발생한다.
블라인드 검출의 경우에, 한 가지 가능성은 매우 낮은 공간 주파수를 이용하는 것이다. 비디오 프레임 또는 이미지를 위해, 계수의 일 구역은 완전한 비디오 프레임, 절반 또는 1/4의 프레임에 대응할 수 있다. 이 경우에, 대부분의 계수는 정확하게 선택될 것이며(구역이 완전한 비디오 프레임에 대응하는 경우에, 모든 계수), 검출은 일부 계수가 잘못된 세트에 할당되는 경우에도 일반적으로 강력하다.
기하학적인 구조에서의 변화에 내재적으로 강력하기 위한 또 하나의 방식은 실제로 단지 하나의 계수를 포함하는 구역을 이용하는 것, 및 하나의 프레임 내의 하나의 계수와 그 다음 프레임 내의 대응 위치에서의 하나의 계수 사이의 연관을 실시하는 것이다. 동일한 연관이 두 개의 프레임 내의 모든 계수에 대해 실시되는 경우, 사용자는 검출이 기하학적인 왜곡에 내재적으로 강력하다는 것을 쉽게 볼 수 있다. 기하학적인 구조에서의 변화에 대한 강력함을 보장하기 위한 연관된 방식은 상이한 부대역 내의 소정의 위치에서 상이한 웨이블릿 계수 사이의 연관을 생성하는 것이다. 예컨대, 웨이블릿 변환시에 각 해상도 레벨, 각 위치 및 성분(채널)을 위한 네 개의 부대역(LL, LH, HL 및 HH)에 대응하는 네 개의 계수가 존재한다. 프레임 내의 모든 위치에 대한 두 개의 계수 사이의 동일한 연관이 일정한 해상도 레벨에서 실시되어 워터마크 강력함을 강화시키기 위해 워터마크 비트를 삽입할 수 있다. 검출측에서, 연관이 관측되는 횟수는 어떠한 비트가 삽입되었는지에 대한 표 시자이다.
기하학적 구조에서의 변화에 대한 강력함을 보장하기 위한 또 하나의 방식은 기하학적 구조에서의 변화에 불변하는 특징점을 이용하는 것이다. 여기서, 불변하는은 비디오 또는 이미지의 특징점을 추출하기 위해 일정 알고리즘을 이용해서, 동일한 점이 원래의 콘텐츠 및 변경된 콘텐츠 상에서 발견되는 때를 의미한다. 상이한 방법이 이 목적을 위해 종래 기술에서 알려져 있다. 그러한 특징점은 기저대역 및/또는 변환 영역에서 계수의 구역을 정하기 위해 이용될 수 있다. 예컨대, 세 개의 인접한 특징점이 내부 구역을 정하는데, 이 구역은 계수 세트에 대응할 수 있다. 또한, 세 개의 인접 특징점이 부구역을 한정하기 위해 이용될 수 있는데, 각 부구역은 계수 세트에 대응한다.
기하학적인 구조에서의 변화에 내재적으로 강력해지기 위한 또 하나의 방식은 하나의 프레임 내의 모든 계수의 전역 특성의 값과 제2 프레임 내의 모든 계수의 동일한 전역 특성의 값 사이의 연관을 실시하는 것이다. 이러한 전역 특성은 기하학적 구조에서의 변화에 불변한다는 것이 전제된다. 이러한 전역 특성의 예는 하나의 이미지 프레임의 평균 휘도값이다.
비디오의 두 개의 연속 프레임의 특성 값 사이에서 제약을 실시함으로써 비트를 삽입하는 비-제한적인 예시적인 알고리즘은 다음과 같다:
비디오의 프레임열(F1, F2, ... Fn) 내의 JPEG2000 압축 이미지인 각 프레임에 대해:
a) 해상도 레벨(L)에서 N계수로 구성되는, 구역을 선택하라. 계수는 LL, LH, HL 및 HH와 같은 하나 이상의 부대역에 속할 수 있다. 구역은 임의의 그러나 고정된 형상(예컨대, 직사각형)일 수 있거나 위에서 설명된 바와 같이 기하학적 어택에 직면할 때 구역의 부가적인 안정성을 위해 예컨대 특징점을 이용해서, 원래의 이미지 콘텐츠에 따라 변할 수 있다.
b ) 구역을 위한 관련 전역 특성을 결정하라. 전역 특성은 구역의 평균 휘도값, 평균 텍스쳐 특징 측정치, 평균 에지 측정치, 또는 평균 히스토그램 분포일 수 있다. P는 이러한 전역 특성의 값이다.
비트열{b1, b2, ... bm}을 삽입하기 위해:
a) bi(1≤i≤m)가 0인 경우, P(F2*i+1)>P(F2*i)가 되도록 (단지 필요한 경우에)최소 방식으로 F2*i 및 F2*i+1을 변경하라.
b) bi(1≤i≤m)가 1인 경우, P(F2*i+1)<P(F2*i)가 되도록 (단지 필요한 경우에) 최소 방식으로 F2*i 및 F2*i+1을 변경하라.
이 알고리즘은 두 개의 프레임의 몇 가지 특성값 사이에 연관을 삽입함으로써, 프레임마다 다수의 비트를 삽입하도록 확장할 수 있다.
워터마크 검출을 위해:
a) 캡쳐링된 비디오를 시간 영역에서 동기화하라. 이는 동기화 비트, 비-블라인드 또는 세미-블라인드 방식을 이용해서 행해질 수 있다.
b) 레벨(L)에서 N개의 계수로 구성되는 구역을 선택하라. 삽입과 마찬가지로, 구역은 고정된 형상일 수 있다.
c) 구역을 위한 관련 전역 특성을 계산하라. P'는 구역의 전역 특성의 값이다.
d) P'(F2*i+1)>P'(F2*i)인 경우 비트(0)가 검출된다.
e) P'(F2*i+1)<P'(F2*i)인 경우 비트(1)가 검출된다.
본 발명에서의 워터마킹은 세 단계로 분리된다: 페이로드 생성, 계수 선택, 및 계수 변경. 세 단계는 본 발명의 예시적인 실시예로서 아래에서 상세하게 설명된다. 상당히 많은 변화가 이러한 단계 각각에 대해 가능하며, 이러한 단계 및 설명은 제한하는 것으로 의도되지 않는다.
이제 도 2를 참조컨대, 이 도면은 워터마킹의 페이로드 생성 단계를 도시하는 흐름도로서, 비밀키가 단계(205)에서 검색 또는 수신된다. 타임 스탬프를 식별하는 정보 및 디바이스의 일련 번호 또는 위치를 식별하는 번호가 단계(210)에서 검색 또는 수신된다. 페이로드가 단계(215)에서 생성된다. 디지털 씨네마 애플리케이션을 위한 페이로드는 최소 35 비트이며 본 발명의 바람직한 실시예에서 64비트이다. 페이로드는 이후 예컨대, 단계(220)에서 BCH 코딩을 이용해서, 에러 정정 및 검출을 위해 인코딩된다. 인코딩된 페이로드는 선택적으로 단계(225)에서 복제된다. 선택적으로, 이후 동기화 비트가 단계(230)에서 키를 기초로 해서 생성된다. 동기화 비트는 블라인드 검출을 이용할 때 생성 및 이용된다. 이 동기화 비트는 또한 세미-블라인드 및 비-블라인드 검출 방식을 이용할 때 생성 및 이용될 수 있다. 동기화 비트가 생성된 경우, 이 동기화 비트는 단계(235)에서 시퀀스와 어셈블링된 다. 시퀀스는 단계(240)에서 페이로드에 삽입되고 전체 페이로드는 이후 단계(245)에서 암호화된다.
페이로드 생성은 삽입될 구체적인 정보를 비트열로 번역하는 것을 포함하는데, 이 비트열은 "페이로드"로 불린다. 삽입될 이 페이로드는 이후 에러 정정 및 검출 능력의 부가, 동기화 시퀀스, 암호화 및 이용가능한 공간에 따른 잠재적인 반복을 통해 확장된다. 페이로드 생성을 위한 예시적인 동작 시퀀스는:
1. 삽입될 "정보"를 "원래의 페이로드"로 번역해라. 정보(타임스탬프, 프로젝터 ID 등)를 페이로드로 변환해라. 하나의 예가 디지털 씨네마 애플리케이션을 위한 35 비트 페이로드를 생성하기 위해 위에서 제공되었다. 본 발명의 예시적인 실시예에서, 페이로드는 64 비트를 갖는다. 원래의 페이로드로부터 "인코딩된 페이로드"를 계산하라, 인코딩된 페이로드는 에러 정정 및 검출 능력을 포함한다. 다양한 에러 정정 코드/방법/방식이 이용될 수 있다. 예컨대, BCH 코딩. BCH 코드(64, 127)는 수신된 비트 스트림에서 최대 10개의 에러까지 정정할 수 있다(즉, 대략적으로 7.87% 에러 정정률). 그러나, 인코딩된 페이로드가 수회 반복되는 경우, 상당한 수의 에러가 중복으로 인해 정정될 수 있다. 본 발명의 예시적인 실시예에서, 127-비트의 반복된 인코딩 페이로드는 12번 반복되며, 각 프레임에 삽입된 개별적인 비트에서 최대 30%의 에러까지 정정하는 것이 가능하다.
2. 이용가능한 공간에 따라, "인코딩된 페이로드를 복제하라"를 획득하기 위해 인코딩된 페이로드를 복제하라. 본 발명에서, 총 127(BCH 코딩)*12=1524비트에 대해 인코딩된 비트 각각을 12번 복제하라.
3. 키를 이용해서, "암호화된 페이로드"를 획득하기 위해 복제된 인코딩된 페이로드를 암호화하라; 암호화된 페이로드는 복제된 인코딩된 페이로드와 통상적으로 동일한 크기이다.
4. (선택적으로, 암호화하기 이전에) 동기화 비트를 생성하라 그리고 반복된 인코딩된 페이로드 내의 다양한 장소에서 삽입하라; 결과적인 시퀀스는 비디오 워터마크 페이로드이다. 예컨대, 2868 비트를 갖는 고정된 동기화 시퀀스를 계산하라. 이 시퀀스는 996비트의 하나의 전역 동기화 유닛(워터마크 칩의 헤더로서임) 및 156비트의 12개의 로컬 동기화 유닛(각 페이로드의 헤더에 대한 것임)으로 분할된다. 이 예에서, 다수의 비트가 동기화 비트로서 사용된다. 검출기에서 비-블라인드 방법을 이용하는 경우(여기서, 원래의 콘텐츠가 테스트 콘텐츠를 시간적으로 동기화하기 위해 이용됨), 동기화 비트는 등록을 국부적으로 조정하기 위해 여전히 매우 유용하다. 다시 말해서, 동기화 비트는 이와 달리 정보의 부가적인 중복을 위해 이용될 수 있는 공간을 취하며 이에따라 개별적인 비트 에러에 대한 강력함을 증가시킨다. 그러나, 동기화 비트는 추출된 정보의 정밀도 및 품질을 증가시키는데, 이는 더 적은 개별적인 비트 에러를 야기한다. 삽입된 동기화 비트의 수는 따라서 127개의 인코딩된 비트 내에서 최소의 수의 에러를 야기하는 최적 절충으로서 설정된다.
5. 다음 비트를 순서대로 연결시킴으로써 워터마크 칩을 어셈블링하라:
■전역 동기화(996비트) 동기화 유닛.
■암호화된 페이로드의 제1의 127비트, 이때 제1 로컬 동기화 유닛(156비 트)
■암호화된 페이로드의 제2의 127비트, 이때 제2 로컬 동기화 유닛(156비트)
■...
■암호화된 페이로드의 최종 127비트, 이때 최종 로컬 동기화 유닛(156비트)
워터마크칩(예컨대, 4392비트)은 통상적으로, 원래의 페이로드(예컨대, 64비트)보다 몇 차수 정도(a few orders of magnitude) 더 크다. 이는 잡음성 채널 상에서 송신하는 동안에 발생하는 에러로부터의 복구를 허용한다.
이제 도 3을 참조컨대, 이 도면은 워터마킹을 위한 계수의 선택을 도시하는 흐름도로서, 키가 단계(305)에서 검색 또는 수신된다. 페이로드(암호화되고, 동기화되고, 복제되고 인코딩됨)가 단계(310)에서 검색된다. 계수가 이후 단계(315)에서 키를 기초로 해서 디스조인트(disjoint) 세트로 분리된다. 페이로드 비트 및 키를 기초로 해서, 특성값 사이의 제약이 단계(320)에서 결정된다.
계수의 선택이 기저대역 또는 변환 영역에서 발생할 수 있다. 변환 영역 내에서 계수가 선택되어 두 개의 디스조인트 세트(C1 및 C2)로 그룹화된다. 키가 계수 선택을 랜덤화하기 위해 이용된다. 두 개의 세트 각각을 위한 특성 값, P(C1) 및 P(C2) 이 식별되는데, C1 및 C2에 대해 일반적으로 불변하도록 식별된다. 평균값(예컨대, 휘도), 최댓값, 및 엔트로피와 같은 다양한 이러한 특성이 식별될 수 있다.
삽입될 키 및 비트가 C1 및 C2의 특성값 사이의 관계 예컨대 P(C1)>P(C2)를 확립하기 위해 이용된다. 이는 제약 결정이라 불린다. 부가적인 강력함을 위해, 양의 값 'r'이 이용될 수 있어, P(C1)>P(C2)+r이 되도록 한다. 연관이 이미 적절할 수 있는데, 이 경우에 계수는 변경될 필요가 없다. 최악의 경우에, P(C2)는 P(C1)보다 상당히 더 클 수 있는데, 예컨대, P(C2)가 이미 P(C1)+t보다 더 큰 경우로서, t는 사전-결정된 값이거나 지각적인 모델에 따라 결정되며, 이 경우에 계수를 바꾸는 것은 가치가 없는데 그 이유는 지각적인 손상을 야기할 수 있기 때문이다. 그러나 대부분의 경우에, P(C1)이 P'1=P(C1)+p1이고, P(C2)가 P'2=P(C2)-p2가 되어(p1 및 p2는 양의 수임), P'1>P'2+r이 되도록 한다.
이제 도 4를 참조컨대, 이 도면은 단계(405)에서, 워터마킹의 계수 변경 단계를 도시하는 흐름도로서, 디스조인트 계수 세트가 수신 또는 검색된다. 디스조인트 계수 세트를 위한 특성 값이 단계(410)에서 측정된다. 특성값이 단계(415)에서 테스트되어 이 값 사이의 거리를 결정하는데, 이는 강력함의 측정치이다. 특성값이 임계거리(t) 내에 있는 경우, 단계(420)으로 나아가는데, 그 이유는 어떠한 계수 변경도 필요하지 않기 때문이다. 특성값이 임계거리(r)보다 더 큰 경우, 추가적인 테스트가 단계(425)에서 수행되어 특성값이 계수 변경을 수행하기 위해 허용된 일정한 최대 거리 내에 있는지를 결정한다. 특성값이 최대 거리 내에 있는 경우 단계(435)에서 계수가 변경되어 제약 연관을 만족시킨다. 특성값이 최대 거리 내에 있지 않은 경우 단계(430)에 의해 설명된 바와 같이 계수가 변경되지 않는다.
본 발명의 워터마킹 방법은 원래의 콘텐츠에 "적응적"인데, 그 이유는 콘텐 츠에 대한 변경은 최소이나 비트값이 정확하게 검출될 것이라는 점을 보장하기 때문이다. 확산 스펙트럼 워터마킹 방법이 또한 원래의 콘텐츠에 대해 그러나 상이한 방식으로 적응적일 수 있다. 확산 스펙트럼 워터마킹 방법은 변화를 조절하기 위해 원래의 콘텐츠를 고려해서, 지각적인 손상을 야기하지 않게 한다. 이것은 본 발명의 방법과는 개념적으로 상이하며, 이는 콘텐츠의 일정 영역에 임의의 변화를 전혀 삽입하지 않도록 결정할 수 있는데, 그 이유는 이러한 변경이 지각할 수 있기 때문이 아니라, 원하는 연관이 이미 존재하거나 원하는 연관이 콘텐츠를 상당히 악화시키지 않고는 설정될 수 없기 때문이다. 아래에서 보여지는 바와 같이, 본 발명의 방법은 그러나, 비트가 정확하게 검출될 것이라는 것을 보장하기 위해 그리고 지각적인 손상을 최소화하기 위해 적응될 수 있다.
본 발명의 방법은 최소량의 왜곡을 야기해서 비트가 강력하게 삽입되는 것을 보장하며, 왜곡이 너무 심각한 경우에는 포기하기 때문에, 동일한 왜곡 및 비트 속도에 대해 확산 스펙트럼 방법보다 더 큰 강력함을 야기한다.
기저대역 영역에서, 본 발명의 일 실시예는 각 프레임 내의 픽셀을 상부 및 하부로 분리한다. 상부/하부의 휘도는 삽입될 비트에 따라서 증가 또는 감소된다. 각 프레임은 중심점으로부터 공간 영역에서 네 개의 직사각형으로 분할된다. 프레임을 네 개의 직사각형으로 분할하는 것은 프레임당 최대 4비트까지의 저장을 허용한다. 이 방법은 다음을 포함한다:
· 두 개의 계수(C1 및 C2) 세트를 형성하기 위해, 픽셀값을 프레임의 상부 및 하부로 그룹화하는 것.
· 휘도를 측정하는 것 즉, P(C1)은 C1 내의 모든 계수의 평균이고 C2에 대해서도 동일함.
· 제약 예컨대, P(C1)>P(C2)+r을 설정하기 위해 필요한 경우에만, 그리고 최소의 방식으로 픽셀값을 변경하는 것, 여기서 r은 일반적으로 양의 값이다.
본 발명의 이 실시예에서, 워터마킹 삽입 모듈은 단지 이미지의 웨이블릿 변환의 최저 해상도 계수에 액세스한다. 픽셀 크기 2048(너비) ×856(높이) 픽셀을 갖는 비디오 프레임에 대해, 해상도 레벨 5에서 각 부대역(즉, LL, LH, HL, 및 HH)에 대해 64×28=1728개의 계수, 또는 1728*4=6912가 존재한다. 이러한 계수, 이러한 계수의 부세트만이 비디오 워터마크 삽입을 위해 이용된다. 두 개의 비-제한적인 방법이 프레임 내에서 선택된 계수 그룹을 이용해서 아래에서 설명된다.
제1 방법에서, LL 계수(근사 계수로도 불림)만이 비디오 워터마크 삽입을 위해 이용된다. LL 계수 매트릭스(64×28)가 32×14 각각의 중심점(C1, C2, C3 및 C4)으로부터 네 개의 타일/부분으로 분할된다. 삽입될 비트 및 키에 따라서, 일정한 연관이 네 부분, LLa(상부 좌측 구역), LLb(상부 우측), LLc(하부 우측), 및 LLd(하부 좌측)의 각각의 계수 사이에서 생성되는데, 각 부분의 계수를 증가/감소시킴으로써 생성되어, 일정한 제약이 충족되게 한다. 네 개의 직사각형 타일/부분의 각각이 세 개의 컬러 채널 각각에 대해 286 및 1728 계수 사이에서 가질 수 있다. 구역(LLa 내지 LLd) 사이의 전이에서 워터마크를 평활화시키기 위해 (그리고 워터마크의 가시도를 제한하기 위해), 전이 구역이 더 낮아진 강도를 가지고 비-워터마킹되거나 워터마킹된 채로 남겨질 수 있다.
제약의 예는: P(C1)+P(C2)>P(C3)+P(C4)일 수 있다. 평균 휘도와 같은 선형 특성에 대해, 이 수학식은 단지 4개 대신 단지 2개의 구역을 갖는 경우 P(C1 ∪ C2)>P(C3 ∪ C4)으로 기록될 수 있으나, 이는 모든 계수의 최댓값과 같은 비-선형 특성에 대해서는 일반적으로 참이 아니다. 삽입될 비트 및 이용된 키에 따라서 수 개의 상이한 가능한 제약이 존재한다.
계수의 네 개의 타일로의 분리의 하나의 이점은 제약을 야기하는 것을 허용하는 것 이외에, 매우 낮은 공간 주파수의 이용 또한 허용한다는 것이다. 위에서 설명된 바와 같이, 이러한 주파수는 기하학적인 어택에 강력한 한편, 프레임의 전역 특성만을 고려하는 방법보다 더 높은 수의 비트를 저장하는 것을 허용한다.
제2 방법에서 계수(LH 및 HL)는 비디오 워터마크 삽입을 위해 이용된다. 제약을 삽입하기 위해 이러한 계수를 조작하기 위한 다양한 방식이 존재한다. 최저 해상도 레벨에서 계수(LH)와 계수(HL) 사이에 제약을 삽입함으로써 비트가 삽입된다. 예컨대, 제약은 모든 x, y에 대해, 프레임(f) 내에서 계수 LH(x,y,f)>HL(x,y,f)이 되도록 존재할 수 있다. 이러한 제약이 종종 너무 강해서 실제로는 문자 그대로 적용되지 않음에 따라, 계수는 연관이 전역으로 적용되도록 조작될 수 있다. 예컨대,
Figure 112008014792016-PCT00001
이 되도록 그것은 존재할 수 있다.
제2 연관이 선형이 아니고, 파이너 그레인(finer grain) 그러나 더 복잡한 계수 삽입을 허용한다는 것이 주목되어야 한다. 이는 변화를 계수에 허용해서, 만약 있다면, 변화에 더 민감한 영역이 그만큼 변하지 않게 한다.
픽셀값을 변경하는 대신에 이 방법에서, 비교적 적은 수의 계수(64×28개의 LL 계수)가 프레임의 휘도를 변화시키도록 변경된다는 것이 주목되어야 한다. 이는 워터마크 삽입을 위해 큰 이점인데, 제한된 계산 자원을 구비하며 비용-효과적인 그리고 실시간 워터마킹 기능을 필요로 하는 애플리케이션에서 특히 그러하다.
수 개의 더 많은 방법이 계수 세트에 따라 예견될 수 있는데, 이는 단지 하나의 프레임 내의 계수 도는 연속 프레임으로부터의 계수, 특정된 특성, 실시하기 위한 연관 유형 등을 이용할 수 있다. 일반적으로, 가장 실행가능한 방법은 특성값의 정렬이 콘텐츠에 대한 변경 이후에 일반적으로 보존된다는 의미에서, 대개 불변하는 특성을 갖는 계수 세트를 이용할 것이다.
계수 변경을 위해, 일 실시예에서 본 발명은 두 개의 계수(C1={c11,...,c1N} 및 C2={c21,...,c2N}) 세트를 이용하고, 이들의 값을 변경한다. 계수(cij)의 값은 변경 전후에 각각 v(cij) 및 v'(cij)로 표시된다.
위에서 검토된 바와 같이, 두 개보다 더 많은 계수 세트가 더 까다로운 연관을 위해 이용될 수 있다. 또한 단지 하나의 계수 세트를 이용하는 것도 가능하다. 일반성의 손실없이, P(C1)>P(C2)+r이 되도록 연관을 설정하는 것이 바람직할 수 있는데, r은 연관의 강력함을 조정하는 값이다.
함수(P)가 예컨대 최대인 경우, 변화를 최소화하기 위해 단지 다음과 같은 방식으로 가장 강한 계수인 C1 및 C2를 조작하라.
Figure 112008014792016-PCT00002
위에서 함수(P)는 강하게 비-선형인데 즉, 특성은 계수값의 함수로서 평활하게 변하지 않는다. 이 방법은 유리한데 그 이유는 (변화가 강해야 할 수 있음에도)세트당 단지 하나의 계수를 변경함으로써 비트의 삽입을 허용하기 때문이다.
더 강력하게 만들 수 있는 이러한 '최대' 방법의 확장은 최댓값뿐만 아니라 N개의 가장 강한 값을 바꾸어서(N은 통상적으로 계수 세트의 크기보다 상당히 작음), 콘텐츠에 대한 조작 이후에 연관이 정확하게 디코딩되는 기회를 최대화한다. 수 가지의 그밖의 변형이 이 기법에 가능하다는 것이 이해된다.
다른 한편, 함수(P)가 계수의 선형 특성인 경우에(예컨대, 평균), 변화는 각 세트 내의 모든 계수 상에서 임의로 분포될 수 있다. 예컨대, 연관을 설정하기 위해
Figure 112008014792016-PCT00003
이 되도록 계수의 평균값을 변화시키는 것이 바람직하다고 가정하는데, 이는 변화가 각 계수 상에서 동일하게 분포될 수 있는 경우로서(C1에 속하는 계수에 대해서는 양으로 그리고 C2에 속하는 계수에 대해서는 음으로임),
Figure 112008014792016-PCT00004
를 야기하며, c2j에 대해서도 마찬가지이다. 연관이 이미 유지되고 있는 경우,
Figure 112008014792016-PCT00005
이며, 이 경우 계수는 변경될 필요가 없 다.
위에서 설명된 바와 같이, 기본 방법은 상이한 특성을 이용함으로써 더 많은 연관을 통합하도록 확장될 수 있다. 예컨대, 2비트를 인코딩하는 것을 허용하는, 두 세트 사이에 네 개의 연관 조합을 구비하기 위해, '최대' 및 '평균' 방법을 함께 고려하자. 이때, 다음 연관이 실시될 수 있다:
Figure 112008014792016-PCT00006
또한, 위에서 설명된 바와 같이, 하나의 계수 세트만이 이용되어야 할 수 있는데, 이 경우에 연관은 고정된 또는 사전-결정된 값에 대해 설정된다. 예컨대, 연관은 최대 또는 평균인 C1이 일정값보다 더 높도록 실시될 수 있다. 또 하나의 경우에, 키가 의사-랜덤하게 선택하도록 이용되어 키에 따라서 '최대' 또는 '평균' 연관을 실시하게 할 수 있는데, 이는 알고리즘의 보안을 상당히 향상시킨다.
위에서 설명된 접근법은 마스킹 (지각적인) 모델을 통합할 수 있는데, 이 모델은 워터마크의 최소의 지각적인 영향을 야기하는 이미지의 각 구역 내에 워터마크의 강도를 분포시키는 것을 허용한다. 이러한 모델은 또한 조작이 지각적인 손상없이 연관을 실시하기 위해 가능한지를 결정할 수 있다. 다음은 디지털 씨네마 프로젝터에서 실시간 워터마킹하는 상황에서 비디오 콘텐츠를 위해 워터마킹 모델을 통합하기 위한 비-제한적인 방식을 설명한다.
이미지를 위한 두 가지 주요한 마스킹 효과가 존재한다: 텍스쳐 마스킹 및 밝기 마스킹. 나아가, 비디오는 제3 마스킹 효과로부터 이익을 얻는다: 시간적 마스킹.
제한된 계산 자원을 가지나 실시간 워터마킹을 필요로 하는 디지털 씨네마와 같은 일부 애플리케이션에서, 예컨대, 해상도 레벨 5에서, 최저 해상도 레벨의 부대역 계수(LL, LH, HL 및 HH)를 단지 이용하는 것이 바람직할 수 있다. 최종 세 가지 유형의 계수는 텍스쳐의 잠재적인 표시자인 한편 LL은 밝기의 표시자이다. 그러나, 대응 해상도는 낮으며, 이 해상도에서 텍스쳐 마스킹 효과는 상당하지 않다. 이를 예시하기 위해, 완전한 해상도에서의 비디오 프레임과 해상도 레벨 5에서 계수로부터 재구성된 동일한 비디오 프레임을 비교해 보자. 도 5를 참조하자. 대부분의 텍스쳐가 이 해상도에서 상실되는 것으로 보인다. 그러므로, 레벨 5를 위한 LH, HL 및 HH 부대역 계수는 텍스쳐의 조악한 표시자이며, 텍스쳐 마스킹 측정에 이용되지 않을 것이다.
그러나, 시간적인 마스킹은 상당히 양호한 정밀도를 가지고 여전히 추정될 수 있는데, 그 이유는 움직임이 비디오의 다소 큰 영역에 적용될 수 있기 때문이며, 이 영역은 따라서 저 주파수이다. 시간적인 마스킹은 현재 프레임의 계수로부터 이전 프레임의 계수를 공제함으로써 측정될 수 있다. C(f,c,l,b,x,y)는 프레임(f), 채널(즉, 컬러 성분)(c), 해상도 레벨(l), 부대역(b)(계수 LL, LH, HL 및 HH에 대해 b = 0 내지 3), 위치(x,y)를 표시한다. 따라서, 두 개의 연속 프레임 상의 동일 유형의 계수 사이의 절대차의 합은 시간적인 변화의 유효한 측정치이다:
Figure 112008014792016-PCT00007
소정의 프레임(f), 해상도 레벨(l=5)에 대해, T(f,c,l,b,x,y)는 모든 위치(x,y)에 대해 그리고 컬러 채널의 각 색에 대해 측정된다(통상적으로 세 개의 컬 러 채널/성분이 존재한다). 수 개의 채널이 존재하는 경우, 모든 채널에 걸쳐 T(f,c,l,b,x,y)의 평균값을 취하는 것이 유리할 수 있다. 이때 각 위치(x,y)에 대해, T(f,c,l,b,x,y)의 값은 임계(t)와 비교되고, 이 위치에서의 계수는 값이 t보다 더 높은 경우에만 변경된다. 실험적으로, t에 대한 양호한 값은 30이다. 계수가 바뀌는 경우, 일정량의 변화가 종래 기술에서 알려진 바와 같이, 휘도의 함수로서 이루어진다.
도 6은 D-씨네마 서버(매체 블록) 내의 워터마킹의 블록도이다. 매체 블록(600)은 적어도 워터마크 생성 및 워터마크 삽입을 포함해서 워터마킹을 수행하기 위해, 하드웨어, 소프트웨어, 펌웨어 등으로 구현될 수 있는 모듈을 구비한다. 모듈(605)이 페이로드 생성을 포함해서 워터마크 생성을 수행한다. 인코딩된 워터마크(610)가 이후 워터마크 삽입 모듈(615)에 포워딩되는데, 이 모듈은 J2K 디코더(625)로부터 이미지의 계수를 수신하고 이후 웨이블릿 계수(620)를 선택 및 변경하며, 최종적으로, 변경된 계수를 J2K 디코더(625)에 반환한다.
위에서 설명된 바와 같이, 워터마크 생성 모듈은 페이로드를 생성하는데, 이 페이로드는 직접 삽입될 비트열이다. 워터마크 삽입 모듈은 페이로드를 입력으로서 취하고, 이미지의 웨이블릿 계수를 J2K 디코더로부터 수신하며, 계수를 선택 및 변경하고 최종적으로, 변경된 계수를 J2K 디코더에 반환한다. J2K 디코더는 계속해서 J2K 이미지를 디코딩하고 압축해제된 이미지를 출력한다. 대안적인 설계로서, 워터마크 생성 모듈 및/또는 워터마크 삽입 모듈은 J2K 디코더에 통합될 수 있다.
워터마크 생성 모듈은 페이로드 내의 타임스탬프를 갱신하기 위해 주기적으 로(예컨대, 5분마다) 호출될 수 있다. 그러므로, "오프라인"으로 불릴 수 있는데, 즉, 워터마크 페이로드는 D-씨네마 서버 내에서 미리 생성될 수 있다. 임의의 경우에, 이 모듈의 계산 요건은 비교적 낮다. 그러나, 워터마크 삽입은 실시간으로 수행되어야 하며 이 모듈의 성능은 중요하다.
비디오 워터마크 삽입은 원래의 콘텐츠가 고려될 수 있는 방식으로 다양한 레벨의 복잡도를 가지고 행해질 수 있다. 더 많은 복잡도는 소정의 충실도 레벨에 대한 부가적인 강력함 또는 동일한 강력함 레벨에 대한 더 많은 충실도를 의미할 수 있다. 그러나, 이는 계산량면에서 부가적인 비용을 수반한다.
비디오 워터마크 삽입에 필요한 동작의 수를 추정하기 전에, 다음의 기본 계산 단계 중 임의의 단계가 하나의 동작으로 고려된다는 것이 주목된다:
·계수의 비트 이동
·두 개의 계수의 부가 또는 공제
·두 개의 정수의 곱셈
·두 개의 계수의 비교
·룩업 테이블 내의 값을 액세스
다음 예에서, C(f,c,l,b,x,y) 및 C'(f,c,l,b,x,y)이 각각, 프레임(f)을 위한 컬러 채널(c)을 위한 웨이블릿 변환 레벨(l)에서 주파수 대역(b(0:LL, 1:LH, 2:HL, 3:HH))을 위한 위치(x(너비)), y(높이))에서 원래의 계수 및 워터마킹된 계수이다. 나아가, N이 변경될 필요가 있는 최저 해상도 레벨에서 계수의 수라는 것이 전제된다.
간략하게 하기 위해, 계수값은 비디오 워터마크 삽입 동안에 증가된다는 것이 다음에서 전제된다. 그러나, 수학식에서 부가는 공제에 의해 동일하게 대체될 수 있다는 것이 주목된다.
각 계수가 동일한 양만큼 변하는 경우, 따라서, 계수당 단지 하나의 동작이 존재한다:
Figure 112008014792016-PCT00008
여기서, 값(a)은 상수이다. 하나의 부가적 비교 동작이 변경된 계수의 오버플로우를 체크하기 위해 요구될 수 있다. 따라서, 총 계산 요건은 2*N이다.
그러나, 이상은 효과적인 방법이 아니다. 실제로, 상수값(a)이 너무 크면, 워터마크는 가시적일 것이다. 그러므로, 값(a)은 보수적(conservative)이어야 하는데 즉, 워터마크가 가시적인 결함을 결코 야기하지 않도록 충분히 작아야 하나, 다른 한편 비디오 워터마크가 너무 보수적인 경우, 심한 어택을 견디지 못할 수 있다. LL 부대역 계수는 국부적인 휘도에 대응하는 한편, LH, HL 및 HH 계수는 이미지 변화, 또는 "에너지"에 대응한다. 인간의 눈이 밝은 영역(더 강한 LL 계수)에서 휘도에서의 변화에 덜 민감하다는 것이 잘 알려져 있다. 이는 또한 변화 방향에 따라서, 계수(LH, HL 및 HH)에 의존하는, 강한 변화를 갖는 영역에서의 변화에 덜 민감하다. 이는 그러나 신중하게 고려되어야 한다: LH 및 HL 계수는 조심스럽게 조작되어야 하는, 에지와 같은 지각적으로 상당한 변화에 대응할 수 있다.
그럼에도불구하고, 적어도 계수(LL 및 HH)에 대해, 계수에 비례하는 변경을 이루는 것이 유리할 수 있다. 간단한 비례적인 변경은 원래의 계수를 복사함으로 써, 복사된 계수를 비트-이동함으로써, 그리고 비트-이동된 계수를 부가 또는 공제함으로써 행해질 수 있는데, 예컨대
Figure 112008014792016-PCT00009
n을 위한 통상적인 값은 7 또는 8이다. n = 7 또는 8에 대해, 계수는 자신의 원래 크기의 1/128 또는 1/256만큼 변경된다. 예컨대, 0 내지 255의 크기 상에서 128의 평균 휘도를 갖는 이미지에 대해, 계수 변경의 영향은 1의 휘도의 변화이다. 이러한 변화는 통상적으로 가시적인 결함을 생성하지 않는다.
계수당 두 가지 동작이 존재한다. 가능한 오버플로우 체킹에서, 총 계산 요건은 3*N인데, N은 조작된 계수의 수이다.
매우 낮은 휘도를 갖는 프레임에 대해 워터마크가 충분히 강하게 삽입된다는 것을 확실하게 하기 위해 최소 변화 a를 부과하는 것이 가능하다는 것이 또한 주목된다. 이 경우에 계수당 세 개의 동작이 존재한다:
Figure 112008014792016-PCT00010
부가적으로, 다음의 지각적인 특징이 계수 상에서 적응적인 변화를 만들기 위해 이용될 수 있다:
·시간적인 상황. 시간적인 마스킹은 시간적인 활성과 관련되는데, 이 활성은 이전의, 현재의 그리고 후속하는 프레임 내의 계수를 이용함으로써 가장 잘 추정되고, 본 발명은 시간적인 활성을 측정하기 위해 선행하는 그리고 현재의 프레임의 계수만을 이용한다. 높은 시간적인 활성은 더 강한 워터마크를 허용한다. 시간 적인 모델링을 위한 추정된 계산 복잡도는 약 4이다.
·텍스쳐 상황. 각 계수(C(f,c,b,l,x,y))에 대해, 그밖의 부대역 내에서 K 부가적인 대응 계수가 4K2 동작의 추정된 복잡도를 가지고, 텍스쳐 및 편평도를 모델링하기 위해 이용될 수 있다.
·휘도 상황. 룩업 테이블이 계수(C(f,c,b,l,x,y))에서 휘도에 따라 가중치를 결정하기 위해 이용될 수 있다. 추정된 동작은 B로서, B는 휘도값을 나타내는 비트의 수이다.
모든 지각적인 특징은 계수의 변경을 결정하기 위해 가중 및 상쇄(balance)될 수 있다:
Figure 112008014792016-PCT00011
여기서, W는 모든 지각적인 특징을 조합하는 가중치이다.
워터마크 삽입 복잡도의 대략적인 추정치, 편의상 복잡도는 위에서 설명된 바와 같이 동작의 개수 면에서 추정된다. 동작의 개수는 동작이 정의되는 정확한 방식, 구현된 워터마킹 및 마스킹 절차 등에 따라 변할 수 있다는 것이 주목되어야 한다. 그럼에도 불구하고, (이미지 크기의 1/1000 정도의) 본 발명의 방법에 의해 액세스될 필요가 있는 비교적 적은 수의 계수, 및 계수당 비교적 적은 수의 동작이 제공되는 경우, 본 발명의 방법은 강력하며 계산상 실행가능하다는 결론이 나올 수 있다.
이제 도 7을 참조컨대, 워터마크 검출은 일반적으로 네 단계로 구성된다: 비 디오 준비(705), 특성값의 추출 및 계산(710), 비트값의 검출(715), 및 삽입된 (워터마크) 정보의 디코딩(720). 테스트가 725에서 수행되어 워터마크 정보가 성공적으로 디코딩되었는지를 결정한다. 워터마크 정보가 성공적으로 디코딩된 경우 프로세스가 완성된다. 워터마크 정보가 성공적으로 디코딩되지 않은 경우, 위 프로세스가 반복될 수 있다.
비디오 준비 자체는 비디오 콘텐츠의 크기조정 또는 재-샘플링, 비디오 콘텐츠의 동기화 및 필터링을 포함한다:
·변환된 (왜곡된) 비디오의 재-샘플링이 프레임 속도가 삽입 및 검출 시에 상이한 경우에 행해져야 할 수 있다. 이는 종종 그러한데, 삽입을 위한 프레임 속도가 24인 한편, 검출시에는 예컨대, 25(PAL SECAM) 또는 29.97(NTSC)일 수 있다. 재-샘플링은 선형 보간을 이용해서 수행된다. 출력은 재샘플링된 비디오이다.
·커버(cover) 콘텐츠로 인한 잡음을 줄이기 위해 또는 워터마크를 강조하기 위해 통상적으로 고역-통과 시간 필터를 가지고, 재샘플링된 비디오를 필터링하는 것. 출력은 필터링된 비디오이다.
·필터링된 비디오의 동기화는 위에서 설명된 바와 같은 다양한 방법을 이용해서, 또는 동기화 비트가 비디오 콘텐츠 내에 삽입된 경우 동기화 비트와의 교차-상관에 의해 원래의 콘텐츠를 가지고 행해질 수 있다. 통상적으로, 매우 낮은 공간 주파수가 이용되는 경우, 시간적인 등록만이 행해져야 한다. 국부 동기화 유닛과 선택적으로 어셈블링된 전역 동기화 유닛이 워터마크 시퀀스의 시작점을 결정하기 위해 이용된다. 교차-상관이 필터링된 비디오와 알려진 동기화 비트 사이에서 수행 된다. 비디오의 대응 이동을 위한 교차-상관 함수 내에 통상적으로 강한 피크가 존재한다. 이제 도 8을 참조하면, 국부 동기화 프로세스가 805에서, 그다음의 국부 동기화 시퀀스/유닛을 검색한다. 그 다음 워터마크 칩에 대응하는 비디오 부분이 810에서 검색된다. 비디오 부분 및 국부 동기화 시퀀스/유닛이 815에서 교차-상관된다. 교차-상관된 특성값(P1)의 피크값이 820에서 위치되고 특성값(P2)의 피크값이 825에서 위치된다. 테스트가 830에서 이루어져 특성값(P1)이 특성값(P2) 더하기 사전-결정된 값보다 더 큰지 또는 특성값(P1)이 특성값(P2) 더하기 사전-결정된 값보다 더 작은지를 결정한다. 테스트 결과가 음인 경우 비디오 부분이 835에서 거부된다. 테스트 결과가 양인 경우 840에서 비디오 부분이 보유된다. 추가적인 테스트가 845에서 수행되어 비디오의 종단부가 도달되었는지를 결정한다. 비디오의 종단부가 도달된 경우 국부 동기화 프로세스가 행해진다. 비디오의 종단부가 도달되지 않은 경우 국부 동기화 프로세스가 반복된다. 도 9는 두 개의 연속적인 워터마크 칩의 시작점을 나타내는 두 개의 피크와의 교차-상관 함수 (실제로 크기의 저역 통과 필터링된 버전)을 도시한다. 일단 워터마크칩의 시작점이 위치되면, 각 페이로드의 시작점에 위치되는 국부 동기화 유닛은 규칙적인 간격에서 비디오의 근소한 재정렬을 위해 이용된다. 차례로, 12개의 국부 동기화 유닛 각각이 예상된 위치 주위의 작은 윈도우 내의 필터링된 비디오와 교차-상관된다. (최고 피크와 제2의 최고 피크 사이의 차에 의해 결정된 대로) 비교적 강한 상관 피크가 발견되는 경우, 인접 필터링된 비디오가 그다음의 단계를 위해 유지되며, 그렇지 않은 경우 폐기된다. 더 강한 상관 피크는 필터링된 비디오가 더 정밀하게 동기화된다는 표시자라는 것이 원리이다. 이 단계의 출력은 동기화된 비디오이다.
비디오 준비의 세 단계의 출력이 다음에서 '처리된 비디오'로 표시될 것이다. 처리된 비디오는 데이터 세트로서, 이는 워터마크 검출의 다음 단계인, 특성값의 추출/계산을 용이하게 하기 위해 수신된 비디오로부터 계산된다.
이전에 설명된 바와 같은 워터마크 삽입의 일 실시예에서, 네 개의 사분면 각각의 평균 휘도는 각 프레임에 대해 계산된다. 특성값이 프레임 ×4의 수의 벡터(a vector number of frames ×4)를 형성한다. LL 부대역 워터마킹을 이용하는 웨이블릿 워터마크 삽입을 위해, 특성값은 수신된 비디오의 기저대역 표현 또는 웨이블릿으로부터 추출될 수 있다. 양쪽 경우에, 프레임 ×4의 수의 크기의 처리된 비디오가 획득된다. 위 방식 모두에서, 프레임은 중심점으로부터 네 개의 부분/타일로 분리된다. 이 중심점이 프레임의 중심점에 자동으로 설정될 수 있으나 - 원래의 비디오에서 그러하듯이 - 캠코더 캡쳐링된 비디오 내에 자연적으로 몇 개의 오프셋을 갖는다.
LH 및 HL 부대역을 이용해서 웨이블릿 워터마크 삽입하기 위한 특성값을 추출 및 계산하는 것은 근소하게 상이하게 동작한다. LH 계수를 변경하는 것은 적어도 워터마킹된 비디오 내에서 임의의 어택 전에, 정밀하게 결정될 수 있는 주파수를 갖는 스트라이프(스트라이프는 기저대역 비디오 내에 동일하게 이격된 수평선임)를 생성한다. 이 스트라이프는 워터마크 에너지가 위에서 설명된 바와 같이 마스킹 모델을 이용해서 조정될 때는 가시적이지 않다. 사용자는 따라서 (예컨대, 푸리에 변환을 이용해서) 해당 주파수 내의 에너지를 측정함으로써 변환된 비디오를 계산할 수 있다. 그러나, 비디오의 캠코더 어택 및 후속 크롭핑 동안에, 관련 주파수가 이동될 수 있으며, 그것의 에너지가 인접 주파수 상에 확산된다. 그러므로, 모든 프레임을 위한 에너지 신호가 관련 주파수 주위의 5 ×5 윈도우 내에 수집된다. 이러한 25개의 신호 각각이 동기화 비트 시퀀스를 갖는 교차-상관 피크에 대해 테스트되며, 최고 피크를 갖는 하나가 특성값으로서 출력된다.
워터마크 검출 단계에서, 특성값은 워터마크가 삽입되는 방법에 대응해서 계산된다. 워터마크는:
■ 연속 프레임의 특성값;
■ 프레임의 구역의 하나의 특성값 및 사전-결정된 값;
■ 프레임의 하나의 구역 및 동일한 프레임의 또 하나의 구역의 특성값
■ 프레임의 하나의 구역 및 연속 프레임의 대응 구역의 특성값
사이에서 및/또는 그 중에서 적어도 후속 연관을 실시함으로써 삽입될 수 있다.
특성값이 또한 계수값 자체일 수 있기 때문에, 워터마크는:
■ 비디오 볼륨 내의 하나의 계수값과 사전-결정된 값;
■ 프레임의 하나의 부대역 내의 하나의 계수값과 연속 프레임 내의 대응 위치 및 부대역에서 나머지 계수값;
■ 프레임의 하나의 부대역 내의 하나의 계수값과 동일한 프레임의 또 하나의 부대역에서 또 하나의 계수값;
사이에서 및/또는 그 중에서 적어도 후속 연관을 실시함으로써 삽입될 수 있 다.
특성값은 기저대역 및/또는 변환 영역에서 계산될 수 있다. 워터마크 삽입과 유사하게, 다수의 비트가 다수의 특성 값 사이에서 및/또는 그 중에서 다수의 연관으로부터 검출될 수 있다.
워터마크 검출의 제1 단계 및 제2 단계가 순서면에서 상호교환될 수 있다. 편의상, 특성값을 먼저 계산하는 것이 가능한 경우 유리한데, 그 이유는 이것이 데이터 컴팩션(compaction)을 야기하기 때문인데(즉, 각 프레임의 전체 이미지 데이터를 프레임당 수개의 값으로 줄임), 이는 워터마크가 더 쉽게 판독될 수 있는 형태에 맞춰질 수 있다. 그러나, 비디오의 심각한 왜곡 특히, 기하학적 왜곡으로 인해 특성값의 계산을 먼저 수행하는 것이 항상 가능하지는 않을 수 있다.
제3 단계는 특성값을 입력으로서 수신하고, 127개의 인코딩된 비트 각각에 대해 가장 가능성이 높은(likely) 비트값을 출력한다. 특성값은 127개의 인코딩된 비트 각각의 다수의 삽입에 대응할 수 있다. 본 발명의 원리에 따른 예에서, 여기서 각 비트는 12개의 상이한 위치에서 삽입되며, 최대 12번의 삽입까지 존재할 수 있으나, 일정한 페이로드 유닛이 불량한 국부 동기화로 인해 폐기되는 경우 더 적은 삽입이 존재할 수 있다.
이제 도 10을 참조컨대, 디스조인트 계수 세트가 1005에서 그다음의 인코딩된 비트에 대해 검색된다. 1010에서, 관련 특성값이 디스조인트 계수 세트에 대해 계산된다. 1015에서 가장 가능성이 높은 비트값이 계산된 특성값으로부터 결정된다. 테스트가 1020에서 수행되어 임의의 더 많은 인코딩된 비트가 존재하는지를 결 정한다. 임의의 더 많은 인코딩된 비트가 존재하는 경우 위 프로세스가 반복된다. 예시적인 누적된 신호가 도 11에 도시된다.
인코딩된 페이로드의 각 비트가 확장되고, 암호화되며 콘텐츠 내의 다수 위치에서 삽입된다. 확장된 비트 각각에 대해, 위에서 설명된 바와 같이, 삽입은 두 개의 계수(C1 및 C2) 세트의 특성값 사이의 제약 예컨대, P(C1)>P(C2)을 설정함으로써 통상적으로 행해진다. N개의 이러한 확장된 비트 및 따라서 N개의 이러한 삽입된 제약이 존재한다고 가정하면:
각 i 에 대해 P(C1i)>P(C2i)인 경우 Bit=1, 여기서 1≤i≤N
각 i 에 대해 P(C1i)<P(C2i)인 경우 Bit=0, 여기서 1≤i≤N
일반적으로, 연관을 확립하는데 있어서의 채널 잡음 또는 초기 불가능성으로 인해, 모든 연관이 삽입된 비트와 반드시 일치하지는 않을 것이다. 이 문제를 해결하기 위한 가장 간단한 접근법은 "다수결 투표"를 취하는 것이다. 즉, 계수 사이의 대응 연관이 가장 흔히 관찰되는 비트를 선택하기 위해,
P(C1i)<P(C2i)(1≤i≤N)인 경우의 수가 N/2보다 더 큰 경우, Bit=1
그밖의 경우, Bit=0
이 접근법은 N이 짝수이고, 비트=1이고 비트=0에 대한 연관의 수가 동일한 경우를 해결하는 것을 돕지는 못한다. 나아가, 이 접근법은 P(C1), P(C2)의 정보, 및 연관을 정확하게 결정하는 가능성을 증가시킬 수 있는 아마도 그밖의 정보를 전부 이용하지 않는다. 더 정제된 접근법은 특성값 P(C1i) 및 P(C2i)의 관측이 제공되는 경우, 삽입된 비트값이 각각 1, 0인 확률을 추정하는 단계로 구성된다. 개별 적으로 추정된 확률은 확률 접근법을 이용해서 조합되고, 결정은 최대-우도(ML) 기준을 기초로 해서 이루어지는데, 가장 가능한 비트가 선택된다. 그밖의 기준이 가능한데, 이를테면 니만-피어슨 규칙(Neyman-Pearson rule)이다.
가장 가능한 비트가 선택되는 ML 규칙을 이용해서, 결정이 단지 특성값만을 기초로 해서 이루어진다. 이때 ML 규칙은:
Figure 112008014792016-PCT00012
를 나타낸다.
베이의 규칙(Baye's rule)을 이용해서, 그리고 각 비트값이 같을 가능성이 있다(equi-probable)는 것을 전제로 해서, 이는:
Figure 112008014792016-PCT00013
로 고쳐 쓸 수 있다.
비트가 콘텐츠 내의 상이한 의사-랜덤 위치에서 확장되기 때문에, 특성값이 비교적 독립적이라는 것이 전제될 수 있다. 즉,
Figure 112008014792016-PCT00014
알고리즘은
Figure 112008014792016-PCT00015
을 취한다.
이 수학식을 구현하기 위해, 수학식인 Prob(P(C1i),P(C2i);bit=1) 및 Prob(P(C1i),P(C2i);bit=0)이 도출될 필요가 있다. 이 수학식은 채널의 특성에 의존할 것이다. 일반적인 기법은 이 함수를 추정하기 위해 충분한 데이터를 수집하는 단계로 구성된다. 다소의 선험적인 지식, 또는 확률 모델에 대한 전제(예컨대, 계수 또는 잡음이 가우시안 분포를 따른다)가 이용될 수 있다.
확률의 로그가 P(C1i)와 P(C2i) 사이의 차이에 비례하는 매우 특정 경우를 고려하면, 비트 1 및 비트 0에 대해 대칭적으로:
Figure 112008014792016-PCT00016
Figure 112008014792016-PCT00017
이때 규칙은:
Figure 112008014792016-PCT00018
로 된다.
이 특정 경우를 위해 도출된 규칙은 확산 스펙트럼 시스템에서 이용된 것과 마찬가지로, 간단한 상관에 대응한다. 이 규칙은 그러나, 서브최적인데 그 이유는 일반적으로 확률이 차이에 로그 방식으로 변하지 않을 것이기 때문이다. 이는 본 발명의 방법이 확산 스펙트럼 기반 방법보다 더 일반적이고, 더 효과적으로 보여질 수있는 하나의 이유이다.
사실, 원래의 콘텐츠 값에 따라, 제약이 삽입되는 특정 방식으로 인해, 확률이 일반적으로 단조 증가 함수가 아니라는 것이 드러난다. 이를 예시하기 위해, 다 음 시뮬레이션이 수행되었는데, 여기서 비트값의 추정치가 각각 본 발명의 연관-기반 접근법과 고전적인 확산 스펙트럼 접근법에 대해, 수신된 신호의 관측을 기초로 해서 비교되었다.
원래의 콘텐츠 가우시안 잡음(X)이 생성되었다. 이진 워터마크(W)가 [-1, +1]에서 값을 취해서 이 신호에 부가되었다. 이진 워터마크는 다음 방식으로 제약-기반 개념에 따라서 먼저 부가되었다:
Figure 112008014792016-PCT00019
값(a1=0.5, a2=-0.5, r=0.3)이 선택되었다. 이는 -15dB의 PSNR을 야기했다.
이후 확산-스펙트럼 워터마크가 생성된 신호에 다음 방식으로 부가되었다:
Y2=X+a*W
파라미터 'a'는 동일한 -15dB PSNR을 야기하기 위해 조정되었다.
동일한 잡음 벡터(N)가 2개의 수신된 신호(R1=Y1+N 및 R2=Y2+N)를 얻기 위해 두 개의 신호(Y1 및 Y2)에 부가되었다. 잡음은 또한 원래의 콘텐츠에 대해 -10dB의 PSNR을 가졌다. 두 개의 수신된 콘텐츠(R1 및 R2)에 대해, 수신된 신호값이 제공된 경우 삽입된 비트가 '1'인 확률이 추정되었다. 결과가 도 12에 도시된 그래프 내에 나타난다. 차이는 현저하다: 예상된 대로, 확산-스펙트럼 삽입에 대해, 비트가 1인 추정된 확률은 수신된 신호값과 함께 선형적으로 증가한다. 그러나, 본 발명의 연관-기반 접근법에서, 추정된 확률은 최소 이후에 최대를 겪는 매우 특정한 모양을 갖는다. 이 모양은 다음과 같이 설명될 수 있다.
·커버 콘텐츠가 높은 또는 낮은 값을 가질때, 가장 가능하게는 삽입을 위해 사용되지 않으며, 따라서 수신된 신호가 비트와 상관되지 않는다는 것이 논리적이다.
·추정치는 -0.5 및 +0.5에서 가장 신뢰할만한 한데, 이들은 워터마크가 삽입되는 최솟값/최댓값이다.
그러므로, 정확한 확률 추정치는 본 발명의 방법의 적절한 동작에 상당히 중요하다는 결론이 나올 수 있다.
최종 단계에서, 일단 인코딩된 페이로드의 127개의 비트값이 추정되는 경우, 64개의 비트 페이로드가 BCH 디코더를 이용해서, 디코딩될 수 있다. 이러한 코드를 가지고, 최대 10개까지의 에러가 추정된 인코딩된 페이로드로부터 검출될 수 있다. 위에서 설명된 바와 같이, 이러한 페이로드는 디지털 씨네마 애플리케이션에서 위치/프로젝터 식별자 및 타임스탬프와 같은 포렌식 추적을 위한 다양한 정보를 포함한다. 이러한 정보는 디코딩된 페이로드로부터 추출되며 발생한 잠재적인 사기를 포렌식 추적하는 것과 같은 넓은 범위의 이용을 허용한다.
최종 단계에서 실패의 경우에(즉, 어떠한 유효한 워터마크 정보도 디코딩되지 않는 경우에), 위의 네 단계는 워터마크 정보가 성공적으로 디코딩되거나 최대의 수의 이러한 시도에 도달할 때까지 각 단계에 대해 상이한 전략(예컨대, 제1 단계에서 비디오를 위한 최적화된 동기화 및 등록)을 가지고 반복될 수 있다.
본 발명이 예컨대, 서버 또는 이동 디바이스 내에서, 하드웨어(예컨대, ASIC 칩), 소프트웨어, 펌웨어, 전용 프로세서, 또는 이들의 조합인 다양한 형태로 구현될 수 있다는 것이 이해되어야 한다. 바람직하게는, 본 발명은 하드웨어와 소프트웨어의 조합으로 구현된다. 더욱이, 소프트웨어는 바람직하게는 프로그램 저장 디바이스 상에 명백하게 구현된 응용 프로그램으로 구현된다. 응용 프로그램은 임의의 적합한 아키텍쳐를 포함하는 기계에 업로드될 수 있으며, 이 기계에 의해 실행될 수 있다. 바람직하게는, 이 기계는 하나 이상의 중앙 처리 장치(CPU), 랜덤 액세스 메모리(RAM), 및 입력/출력(I/O) 인터페이스(들)와 같은 하드웨어를 구비하는 컴퓨터 플랫폼 상에서 구현된다. 이 컴퓨터 플랫폼은 또한 운영 체제 및 마이크로인스트럭션 코드를 포함한다. 본 명세서에 설명된 다양한 프로세스 및 기능은 운용체제를 통해 실행되는, 마이크로인스트럭션 코드의 일부이거나 응용 프로그램의 일부(또는 이들의 조합)일 수 있다. 또한, 다양한 그밖의 병렬 디바이스가 컴퓨터 플랫폼에 연결될 수 있는데, 이를테면 부가적인 데이터 저장 디바이스 및 인쇄 디바이스이다.
첨부 도면에 도시된 구성적인 시스템 성분 및 방법 단계의 일부가 바람직하게는 소프트웨어로 구현되기 때문에, 시스템 성분(또는 프로세스 단계) 사이의 실제 연결이 본 발명이 프로그래밍되는 방식에 따라 상이할 수 있다는 것이 추가적으로 이해되어야 한다. 본 명세서 내의 교시가 제공되는 경우, 당업자는 본 발명의 이러한 및 유사한 구현 또는 구성을 예견할 수 있을 것이다.
본 발명은 비디오 콘텐츠의 워터마킹에 이용가능하며 특히 디지털 씨네마 애 플리케이션에서 워터마크를 삽입하는 것 및 검출하는 것에 이용가능하다.

Claims (38)

  1. 비디오 볼륨(a volume of video)내에서 선택된 계수 세트의 특성값 사이에서 연관을 실시함으로써 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  2. 제1 항에 있어서,
    상기 특성값은 상기 선택된 계수 세트에 대해 비교적 불변인, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  3. 제1 항에 있어서,
    상기 선택된 계수 세트는 상기 비디오 볼륨의 공간 영역 및 시간 영역 중 하나로부터 선택되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  4. 제1 항에 있어서,
    상기 선택된 계수 세트 중 하나와 적어도 하나의 사전-결정된 값이 상기 워터마크의 하나의 비트를 삽입하기 위해 선택되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  5. 제1 항에 있어서,
    적어도 두 개의 계수 세트가 상기 워터마크의 하나의 비트를 삽입하기 위해 선택되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  6. 제1 항에 있어서,
    상기 비디오 볼륨의 제1 프레임의 제1 구역으로부터 제1 계수 세트를 선택하는 단계; 및
    상기 제1 계수 세트에 대해 적어도 하나의 관련 전역 특성을 결정하는 단계
    를 더 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  7. 제6 항에 있어서,
    상기 비디오 볼륨의 제2 프레임의 구역으로부터 제2 계수 세트를 선택하는 단계; 및
    상기 제2 계수 세트에 대해 적어도 하나의 관련 전역 특성을 결정하는 단계
    를 더 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  8. 제6 항에 있어서,
    상기 비디오 볼륨의 제2 프레임의 제2 구역으로부터 제2 계수 세트를 선택하는 단계; 및
    상기 제2 계수 세트에 대해 적어도 하나의 관련 전역 특성을 결정하는 단계
    를 더 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  9. 제7 항에 있어서,
    제2 프레임은 상기 제1 프레임의 연속 프레임이고, 상기 제1 계수 세트 및 상기 제2 계수 세트는 각각 상기 제1 및 상기 제2 프레임으로부터 동일한 방식으로 선택되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  10. 제8 항에 있어서,
    상기 제1 계수 세트는 상기 제1 프레임의 상부 구역의 계수를 포함하고, 상기 제2 계수 세트는 상기 제1 프레임의 하부 구역의 계수를 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  11. 제7 항에 있어서,
    상기 제1 계수 세트는 상기 제1 프레임의 상부 구역의 계수를 포함하고, 상기 제2 계수 세트는 상기 제2 프레임의 상부 구역의 계수를 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  12. 제8 항에 있어서,
    상기 비디오 볼륨의 상기 제1 프레임은 상기 제1 프페임의 중심점으로부터 네 개의 타일로 분리되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  13. 제12 항에 있어서,
    상기 제1 계수 세트는 상기 네 개의 타일 중 하나의 계수를 포함하고, 상기 제2 계수 세트는 상기 네 개의 타일 중 제2 타일의 계수를 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  14. 제7 항에 있어서,
    상기 비디오 볼륨의 상기 제1 프레임은 상기 제1 프레임의 중심점으로부터 네 개의 타일로 분리되고, 상기 비디오 볼륨의 상기 제2 프레임은 상기 제2 프레임의 중심점으로부터 네 개의 타일로 대응해서 분리되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  15. 제10 항에 있어서,
    상기 제1 계수 세트는 상기 제1 프레임의 상기 네 개의 타일 중 하나의 계수를 포함하고, 상기 제2 계수 세트는 상기 제2 프레임의 상기 네 개의 타일 중 대응하는 타일의 계수를 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  16. 제1 항에 있어서,
    키를 기초로 해서 상기 계수 선택을 랜덤화하는 단계;
    상기 랜덤화되고 선택된 계수를 변환 영역에서 두 개의 디스조인트 계수 세트로 그룹화하는 단계; 및
    상기 랜덤화되고 선택된 계수 세트의 각각에 대해 적어도 하나의 관련 전역 특성을 식별하는 단계
    를 더 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  17. 제16 항에 있어서,
    상기 관련 전역 특성은 상기 디스조인트 계수 세트 사이에서 불변인, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  18. 제1 항에 있어서,
    상기 계수는 사전 결정된 레벨(L)에서 사전-결정된 수(N)의 웨이블릿 계수로 구성되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  19. 제1 항에 있어서,
    상기 워터마크는 비트열인, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 방법.
  20. 비디오 볼륨(a volume of video)내에서 선택된 계수 세트의 특성값 사이에서 연관을 실시함으로써 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  21. 제20 항에 있어서,
    상기 특성값은 상기 선택된 계수 세트에 대해 비교적 불변인, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  22. 제20 항에 있어서,
    상기 선택된 계수 세트는 상기 비디오 볼륨의 공간 영역 및 시간 영역 중 하나로부터 선택되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  23. 제20 항에 있어서,
    상기 선택된 계수 세트 중 하나와 적어도 하나의 사전-결정된 값이 상기 워터마크의 하나의 비트를 삽입하기 위해 선택되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  24. 제20 항에 있어서,
    적어도 두 개의 계수 세트가 상기 워터마크의 하나의 비트를 삽입하기 위해 선택되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  25. 제20 항에 있어서,
    상기 비디오 볼륨의 제1 프레임의 제1 구역으로부터 제1 계수 세트를 선택하는 수단; 및
    상기 제1 계수 세트에 대해 적어도 하나의 관련 전역 특성을 결정하는 수단
    을 더 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  26. 제25 항에 있어서,
    상기 비디오 볼륨의 제2 프레임의 구역으로부터 제2 계수 세트를 선택하는 수단; 및
    상기 제2 계수 세트에 대해 적어도 하나의 관련 전역 특성을 결정하는 수단
    을 더 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  27. 제25 항에 있어서,
    상기 비디오 볼륨의 제2 프레임의 제2 구역으로부터 제2 계수 세트를 선택하는 수단; 및
    상기 제2 계수 세트에 대해 적어도 하나의 관련 전역 특성을 결정하는 수단
    을 더 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  28. 제26 항에 있어서,
    제2 프레임은 상기 제1 프레임의 연속 프레임이고, 상기 제1 계수 세트 및 상기 제2 계수 세트는 각각 상기 제1 및 상기 제2 프레임으로부터 동일한 방식으로 선택되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  29. 제27 항에 있어서,
    상기 제1 계수 세트는 상기 제1 프레임의 상부 구역의 계수를 포함하고, 상기 제2 계수 세트는 상기 제1 프레임의 하부 구역의 계수를 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  30. 제26 항에 있어서,
    상기 제1 계수 세트는 상기 제1 프레임의 상부 구역의 계수를 포함하고, 상기 제2 계수 세트는 상기 제2 프레임의 상부 구역의 계수를 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  31. 제27 항에 있어서,
    상기 비디오 볼륨의 상기 제1 프레임은 상기 제1 프페임의 중심점으로부터 네 개의 타일로 분리되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  32. 제31 항에 있어서,
    상기 제1 계수 세트는 상기 네 개의 타일 중 하나의 계수를 포함하고, 상기 제2 계수 세트는 상기 네 개의 타일 중 제2 타일의 계수를 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  33. 제26 항에 있어서,
    상기 비디오 볼륨의 상기 제1 프레임은 상기 제1 프레임의 중심점으로부터 네 개의 타일로 분리되고, 상기 비디오 볼륨의 상기 제2 프레임은 상기 제2 프레임의 중심점으로부터 네 개의 타일로 대응해서 분리되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  34. 제33 항에 있어서,
    상기 제1 계수 세트는 상기 제1 프레임의 상기 네 개의 타일 중 하나의 계수를 포함하고, 상기 제2 계수 세트는 상기 제2 프레임의 상기 네 개의 타일 중 대응하는 타일의 계수를 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  35. 제20 항에 있어서,
    키를 기초로 해서 상기 계수 선택을 랜덤화하는 수단;
    상기 랜덤화되고 선택된 계수를 변환 영역에서 두 개의 디스조인트 계수 세트로 그룹화하는 수단; 및
    상기 랜덤화되고 선택된 계수 세트의 각각에 대해 적어도 하나의 관련 전역 특성을 식별하는 수단
    을 더 포함하는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  36. 제35 항에 있어서,
    상기 관련 전역 특성은 상기 디스조인트 계수 세트 사이에서 불변인, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  37. 제20 항에 있어서,
    상기 계수는 사전 결정된 레벨(L)에서 사전-결정된 수(N)의 웨이블릿 계수로 구성되는, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
  38. 제20 항에 있어서,
    상기 워터마크는 비트열인, 워터마크를 삽입하기 위해 계수 세트를 선택하기 위한 시스템.
KR1020087004903A 2008-02-28 2005-09-09 비디오 워터마킹을 위한 계수 선택 KR20080043321A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020087004903A KR20080043321A (ko) 2008-02-28 2005-09-09 비디오 워터마킹을 위한 계수 선택

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020087004903A KR20080043321A (ko) 2008-02-28 2005-09-09 비디오 워터마킹을 위한 계수 선택

Publications (1)

Publication Number Publication Date
KR20080043321A true KR20080043321A (ko) 2008-05-16

Family

ID=39661755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087004903A KR20080043321A (ko) 2008-02-28 2005-09-09 비디오 워터마킹을 위한 계수 선택

Country Status (1)

Country Link
KR (1) KR20080043321A (ko)

Similar Documents

Publication Publication Date Title
US20090252370A1 (en) Video watermark detection
US20090220070A1 (en) Video Watermarking
US20090136083A1 (en) Coefficient Selection for Video Watermarking
US20090226030A1 (en) Coefficient modification for video watermarking
AU2004300115B2 (en) Method and system to process a digital image
KR19980042061A (ko) 디지탈 워터마크 삽입 및 추출 방법
Cheddad et al. Enhancing steganography in digital images
Thiemert et al. Using entropy for image and video authentication watermarks
KR20080043321A (ko) 비디오 워터마킹을 위한 계수 선택
KR20080043320A (ko) 비디오 워터마크 검출
KR20080043323A (ko) 비디오 워터마킹을 위한 계수 변경
KR20080045163A (ko) 비디오 워터마킹
KR100973302B1 (ko) 모바일단말의 워터마킹 방법
Kumar et al. A multiple secret image embedding in dynamic ROI keypoints based on hybrid Speeded Up Scale Invariant Robust Features (h-SUSIRF) algorithm
WO2007032754A1 (en) Detection of bit values of a watermark
Shao et al. A novel frequency domain watermarking algorithm with resistance to geometric distortions and copy attack
Sagetong et al. Dynamic wavelet feature-based watermarking for copyright tracking in digital movie distribution systems
KR101025311B1 (ko) 복합적 왜곡에 강인한 자기 동기화 신호 기반의 고화질 동영상 워터마킹 시스템
Doërr et al. Switching between orthogonal watermarks for enhanced security against collusion in video
Huang et al. Video Watermarking Algorithm Based on Pseudo 3D DCT and Quantization Index Modulation.
Liang et al. Video content authentication technique based on invariant feature detection and cloud watermark
CN101258521A (zh) 视频水印的系数修改
Wong Image watermarking and data hiding techniques
Tsilichristou Securing and Protecting the Copyright of Digital Video Through Watermarking Technologies
Busch et al. Video Watermarking: Requirements

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application