KR101050358B1 - 디지털 비디오 워터마킹을 위한 컬러 선택 체계 - Google Patents

디지털 비디오 워터마킹을 위한 컬러 선택 체계 Download PDF

Info

Publication number
KR101050358B1
KR101050358B1 KR1020040077318A KR20040077318A KR101050358B1 KR 101050358 B1 KR101050358 B1 KR 101050358B1 KR 1020040077318 A KR1020040077318 A KR 1020040077318A KR 20040077318 A KR20040077318 A KR 20040077318A KR 101050358 B1 KR101050358 B1 KR 101050358B1
Authority
KR
South Korea
Prior art keywords
pixel
value
chrominance
block
pixels
Prior art date
Application number
KR1020040077318A
Other languages
English (en)
Other versions
KR20050031438A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34194893&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101050358(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 알카텔-루센트 유에스에이 인코포레이티드 filed Critical 알카텔-루센트 유에스에이 인코포레이티드
Publication of KR20050031438A publication Critical patent/KR20050031438A/ko
Application granted granted Critical
Publication of KR101050358B1 publication Critical patent/KR101050358B1/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/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32309Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0202Image watermarking whereby the quality of watermarked images is measured; Measuring quality or performance of watermarking methods; Balancing between quality and robustness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3269Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs
    • H04N2201/327Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs which are undetectable to the naked eye, e.g. embedded codes

Abstract

워터마킹될 크로미넌스 부분(chrominance portion)을 결정하는 것은, 크로미넌스 부분들이 있다면 이들 중 어느 것이 다양한 화소 값들에 대해 워터마킹을 위해 선택되어야 하는지를 나타내는 인식-기반 테이블을 이용한다. 화소의 Y, U, 및 V 값들만이, 상기 테이블에 액세스하여 어느 크로미넌스 부분이 선택되어야 하는지를 결정하기 위해 필요하다. 그러나, 상기 테이블은 R, G, 및 B 값들만을 이용하여 액세스될 수 있도록 표현될 수도 있다. 상기 테이블은 U 또는 V 중 어느 것이 선택되어야 하는지, 또는 상기 화소가 전적으로 워터마킹되지 말아야 함을 나타내는, 둘 다 선택되지 말아야 하는지를 나타낼 수 있도록 변경될 수 있다. 유리하게도, 상기 선택된 크로미넌스 부분을 결정하기 위해, 상기 테이블의 큰 섹션이 상기 화소 값들, 예컨대 U<128에 대한 단순 테스트에 의해 대체될 수도 있기 때문에, 상기 테이블은 어떠한 처리를 이용함으로써 단순화될 수도 있다.
Figure R1020040077318
워터마킹 체계, 채널 인코더, 비트 맵퍼, 데시메이터, 멀티플렉서

Description

디지털 비디오 워터마킹을 위한 컬러 선택 체계{Color selection scheme for digital video watermarking}
도 1은 본 발명의 원리들에 따라, 비디오 신호를 디지털 워터마킹하기 위한 예시적 송신기를 도시하는 도면.
도 2는 본 발명의 원리들에 따라, 그 크로미넌스 신호상에 디지털 워터마킹을 포함하는 비디오 신호의 부가적인 데이터를 복원하기 위한 예시적 수신기를 도시하는 도면.
도 3a 및 3b는 본 발명의 원리들에 따라, 도 3에 도시된 바와 함께 연계될 때, 부가적인 데이터를 가지는 크로미넌스 부분(chrominance portion)들 중 하나의 워터마킹시 사용하기 위한 예시적 프로세스를 도시하는 도면.
도 4a 및 4b는 본 발명의 원리들에 따라, 도 4에 도시된 바와 같이 함께 연결될 때, 비디오 신호 내의 워터마킹 신호를 구성하는 부가 정보가 크로미넌스 성분상에 임프레스된(impressed) 디지털 워터마킹된 비디오 신호로부터 부가 정보를 추출하기 위한 예시적 프로세스를 도시하는 도면.
도 5는 소정 비트 위치가 제 3 최하위 비트인 몇몇 안전 범위들의 예를 도시하는 도면.
도 6은 본 발명의 원리들에 따라, 화소를 위한 워터마킹 정보를 포함하기에 어떠한 특정 크로미넌스 부분이 보다 적합하며, 그래서, 선택되어야 하는지를 판정하기 위한 예시적 프로세스를 도시하는 도면.
도 7은 예시적인 분할된 컬러 공간의 일부의 파단도.
도 8은 본 발명의 원리들에 따라, 화소를 위한 워터마킹 정보를 포함하도록 특정 크로미넌스 부분을 선택하는 다른 예시적 프로세스를 도시하는 도면.
도 9는 블록의 크로미넌스 부분의 평균값 상에 임프레스되기 이전에, 적어도 1회, 바람직하게는 2회 이상 임프레스될 데이터를 복제함으로써, 본 발명의 원리들에 따라서 배치된, 플리커링(flickering)이 감소될 수 있는 예시적 송신기를 도시하는 도면.
도 10은 도 9의 송신기에 의해 생성된 것 같은 워터마크된 비디오 신호의 수신에 사용하기 위한, 본 발명의 원리들에 따라서 배치된, 수신기의 예시적 실시예를 도시하는 도면.
* 도면의 주요 부분에 대한 부호의 설명 *
105: 컬러 선택 103: YUV 디멀티플렉서 및 데시메이터
111: 텍스쳐 마스킹 123: 비트 맵퍼
121: 블록 인터리버 119: 채널 인코더
관련 출원들과의 상호 참조
미국 특허 출원 시리얼 넘버 (자라비자데흐(Zarrabizadeh) 22) 및 (자라비자데흐 23)가 본 발명과 함께 동시 출원되었다.
기술 분야
본 발명은 디지털 비디오를 워터마킹하는 기술에 관한 것이며, 특히, 워터마킹되어야 할 크로미넌스 부분(chrominance portion)을 선택하는 것에 관한 것이다.
발명의 배경
비디오 신호들의 워터마킹은 개괄적으로, 부가 정보를 비디오 그 자체 내에 포함시키는 것이다. 이는 비디오가 어디서, 얼마나 오래 상연되는지의 추적을 유지하고, 비디오를 경유하여 정보를 보조 디바이스로 통신하도록 비디오의 소스의 이식된 식별을 제공하기 위해 유용할 수 있다. 비디오 신호들을 워터마킹하기 위한 종래 기술들은 일반적으로 부가 정보를 수반하도록 비디오의 휘도를 사용하여 비디오 그 자체내에 아날로그 포맷의 부가 정보를 인코딩하였다. 그러나, 인간 시각 시스템은 휘도 신호에 매우 민감하며, 그래서, 특정 지점, 예로서, 초당 120 비트를 초과하여 부가 정보의 비트 레이트를 증가시키기 위한 시도가 있을 때, 워터마킹된 신호를 관찰하는 사람이 부가 정보를 전달하기 위해 비디오 신호에 이루어진 변경들에 의해 유발되는 왜곡을 쉽게 인지할 수 있다. 따라서, 비디오 신호들의 워터마킹의 종래 기술들이 특정 적용들에서 소정의 성공을 이루어왔지만, 이런 성공은 부가 정보를 수반하는 비디오 신호를 시청하는 사람이 인지할 수 있는 왜곡이 없이 달성될 수 있는 극도로 작은 비트 레이트로 한정되어왔다.
본 명세서에 완전히 기술된 것처럼 참조로 포함되어 있는 이미 출원된 미국 특허 출원 제 10/342704 호는 본인은 나의 공동발명자와 함께 인간 시각 시스템이 휘도 보다 크로미넌스에 매우 덜 민감하다는 것을 인식하였다. 따라서, 그 휘도 신호가 아닌 비디오 신호의 크로미넌스 성분상에 워터마킹 신호의 부가 정보를 삽입하는 비디오 신호를 디지털 워터마킹하기 위한 시스템을 개발하였다. 따라서, 부가 정보는 비디오 신호의 크로미넌스 성분상에 "임프레스"된다(impressed). 비록, 특히, 부가 정보가 종래 기술에서 인지할 수 있는 왜곡 없이 달성할 수 있는 것보다 높은 비트 레이트들을 가질 때, 크로미넌스 성분의 현저한 왜곡이 있을 수 있지만, 그럼에도 불구하고, 이런 왜곡은 적절히 관리되어 인간 시각 시스템에 의해 검출되지 않는 것이 유리하다. 따라서, 부가 정보는 종래 기술에 의해 달성가능한 것에 비해 보다 높은 비트 레이트를 가질 수 있으며, 예로서, 초당 150 비트를 초과하는 비트 레이트들이 달성될 수 있다. 또한, 부가적인 데이터는 부가적인 데이터로 워터마킹된 비디오 신호가 동화상 전문가 그룹(MPEG)-1 및 MPEG-2 인코딩 시스템들을 사용하여 압축된 이후에도 비디오 신호로부터 복원될 수 있다.
어느 화소에 대하여 상기 워터마킹을 운반하도록 선택된 특정 크로미넌스 부분은 컬러 선택 유닛에 의해 미국 특허 제 10/342704 호에 선택되어 있다. 컬러 선택 유닛은 선택된 크로미넌스 요소를 RGB의 함수 및 정해진 식을 사용하는 화소의 YUV 표현들로서 결정한다. 디지털 비디오는 흔히 YUV 포맷에서만 전송되기 때문에, 그러한 YUV 포맷 비디오로 미국 특허 제 10/342704 호의 시스템을 사용하기 위하여, 대응하는 RGB 포맷 비디오를 그것으로부터 개발하는 것이 필요하다. 불리하게 도, 그렇게 하는 것은 상당한 처리 능력을 요구한다. 또한, 그것이 매우 양호하더라도, 미국 특허 제 10/3427 호의 선택 과정에 사용된 식 밑에 놓인 수학적 모델이 필수적으로 항상 플리커(flicker) 없는 결과들을 생산하는 것이 아니라는 것보다 늦게 발견되었다.
발명의 요약
본 발명의 원리들에 따라, 워터마킹될 크로미넌스 부분을 결정하는 과정은 다양한 화소들에 대해 크로미넌스 부분들 중, 만약 있다면, 어느 것이 워터마킹을 위해 선택되어야 하는지를 표시하는 인식-기반 테이블을 채용함으로써 향상될 수 있다. 본 발명의 일 특징에 따르면, 화소의 Y, U, 및 V에 대한 값들만이 상기 테이블을 접속하고 어느 크로미넌스 부분이 선택되어야 하는지를 결정하도록 요구될 수도 있다. 유리하게도, 디지털 비디오가 YUV 포맷에 있을 때, R, G, 및 B의 사용은 크로미넌스 부분을 선택하도록 요구되지 않고, 그에 따라 필요한 과정 능력이 상당히 축소된다. 본 발명의 한 특징에 따르면, 테이블은 나타내어질 수도 있어서 단지 R, G, 및 B 값들만을 사용하여 접속될 수도 있고, 그 결과 컬러 선택을 수행하기 위하여 RGB 포맷내 소스 비디오를 YUV 포맷으로 전환할 필요가 없다.
본 발명의 일 실시예에 있어서, 테이블은 Y, U, 및 V 값들을 공급함으로써 접속되고, 데시메이팅되고 및/또는 양자화될 수도 있으며, 상기 테이블로부터 U 또는 V 중 선택되어야 하는지의 나타냄을 테이블로부터 복구할 수도 있다. 본 발명의 다른 특징에 따르면, 상기 테이블은, U 또는 V 중 무엇이 선택되어야 하는지를 나타낼 수 있도록, 또는 예를 들면 상기 화소의 컬러가 어두운 청색 및/또는 어두운 자색일 때, 화소가 결코 워터마크되지 말아야 함을 나타내는, 어느 것도 선택되지 말아야 하는지를 나타낼 수 있도록 변경될 수 있다.
본 발명의 다른 특징에 따르면, 처리의 혼합된 모드는 테이블 및 어떤 과정을 사용하여 이용될 수도 있다. 유리하게도, 예를 들면, 상기 테이블의 큰 부분이 화소 값들 상의 예를 들면, U<128인 단순한 시험에 의하여 대체될 수 있기 때문에, 반의 크기로 축소되어 상기 테이블은 단순화될 수도 있어서, 상기 선택된 크로미넌스 위치를 결정한다.
유리하게도, 상기 테이블은 선택 과정에 사용되는 밑에 놓인 과정, 예컨대, 컴퓨터 코드의 변함없이 플라이(fly) 상에서 변경될 수도 있다.
상세한 설명
이하는 단지 본 발명의 원리들을 예시하는 것이다. 따라서, 본 기술의 당업자는 비록 명시적으로 여기에 설명 또는 도시되어 있지 않지만, 본 발명의 원리들을 구현하며, 그 개념 및 범주에 포함되는 다양한 배열들을 안출할 수 있다는 것을 인지하여야 한다. 또한, 여기에 사용된 모든 실시예들 및 조건적 언어는 원론적으로 단지 본 발명의 원리들 및 기술을 진일보시키기 위해 발명자(들)에 의해 제공된 개념들을 독자가 이해하는 것을 돕기 위한 교수적 목적을 위한 것이며, 이런 특정 하게 언급된 실시예들 및 조건들에 대한 제한 없이 해석되어야 한다. 또한, 본 발명의 원리들, 특징들 및 구현들과, 그 특정 실시예들을 언급하는 본 명세서의 모든 진술들은 그 기능적 및 구조적 등가체들 양자 모두를 포괄하는 것을 의도한다. 부가적으로, 이런 등가체들은 현재 알려진 등가체들 및 미래에 개발될 등가체들 양자 모두, 즉, 구조에 무관하게 동일 기능을 수행하는 소정의 개발된 요소들을 포함한다.
따라서, 예로서, 본 기술 분야의 당업자는 본 명세서의 소정의 블록 다이어그램들이 본 발명의 원리들을 구현하는 예시적 회로의 개념도를 나타낸다는 것을 인지할 것이다. 유사하게, 소정의 플로우차트들, 흐름도들, 상태 전이 다이어그램들, 의사코드 등은 실질적으로 컴퓨터 판독형 매체로 표현될 수 있으며, 그래서, 이런 컴퓨터 또는 프로세서가 명시적으로 예시되어 있는지의 여부에 무관하게, 컴퓨터 또는 프로세서에 의해 실행될 수 있다는 것을 인지할 것이다.
"프로세서들"이라 명명된 소정의 기능 블록들을 포함하는 도면들에 도시된 다양한 요소들의 펑션들은 적절한 소프트웨어와 연계하여 소프트웨어를 실행할 수 있는 하드웨어 및 전용 하드웨어의 사용을 통해 제공될 수 있다. 프로세서에 의해 제공될 때, 이 펑션은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해, 그리고, 그 일부가 공유될 수 있는 복수의 개별 프로세서들의 사용을 통해 제공될 수 있다. 또한, 용어 "프로세서" 또는 "콘트롤러"의 명시적 사용은 소프트웨어를 실행할 수 있는 하드웨어만을 지칭하는 것으로 해석되지 않아야 하며, 비제한적으로, 디지털 신호 프로세서(DSP) 하드웨어, 네트워크 프로세서, 용도 지정 집적 회로 (ASIC), 필드 프로그램형 게이트 어레이(FPGA), 소프트웨어를 저장하기 위한 판독 전용 메모리(ROM), 임의 접근 메모리(RAM) 및 불휘발성 저장부를 포함한다. 종래의 및/또는 통상적인 다른 하드웨어도 포함될 수 있다. 도면들에 도시된 소정의 스위치들은 단지 개념적일 뿐이다. 그 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어 및 전용 로직의 상호작용을 통해 또는 심지어 수동으로 수행될 수 있으며, 이 특정 기술은 본 내용으로부터 보다 구체적으로 이해하는 바와 같이 실시자에 의해 선택가능하다.
본 명세서의 청구항들에서, 지정된 기능을 수행하기 위한 수단으로서 표현된 소정의 요소는 예로서, a) 그 기능을 수행하는 회로 요소들의 조합, 또는, b) 그 기능을 수행하기 위한 소프트웨어를 실행하기 위한 적절한 회로와 조합한 펌웨어, 마이크로코드 등을 포함하는 소정의 형태의 소프트웨어를 포함하는 그 기능을 수행하는 소정의 방식을 포괄한다. 이런 청구범위에 규정된 바와 같은 본 발명은 다양한 언급된 수단에 의해 제공된 기능들이 청구범위가 주장하는 방식으로 조합 및 하나가 된다는 사실에 귀속한다. 본 출원인은 따라서, 여기에 예시된 것들과 등가의 기능들을 제공할 수 있는 소정의 수단을 고려한다.
소프트웨어 모듈들 또는 소프트웨어에 수반된 단순한 모듈들은 여기에서 프로세스 단계들 및/또는 문언적 설명의 성능을 나타내는 기타 요소들 또는 플로우차트 요소들의 소정의 조합으로서 표현될 수 있다. 이런 모듈들은 명시적으로 또는 암시적으로 예시된 하드웨어에 의해 실행될 수 있다.
여기서, 달리 명시적으로 언급하지 않는 한, 도면은 실척대로 그려진 것이 아니다.
설명에서, 도면들 중 서로 다른 것들내의 동일하게 번호매김된 콤포넌트들은 동일 콤포넌트들을 지칭한다.
도 1은 프레임 단위 기초상에서 비디오 신호의 다양한 블록들 각각의 크로미넌스 성분의 평균값을 경유하여 수반되는 워터마크 데이터의 하나 이상의 비트를 가짐으로써 비디오 신호를 디지털 워터마킹하기 위한 예시적 송신기(101)를 도시한다.
도 1에는 a) YUV 디멀티플렉서(demux) 및 데시메이터(103), b) 컬러 선택부(105), c) 더블-폴, 더블-쓰로우 스위치(109), d) 텍스쳐 마스킹 유닛(111), e) 승산기(113), f) 가산기(115), g) 멀티플렉서(mux)(117), h) 비트 맵퍼(123) 및 i) 합산기(133)가 도시되어 있다. 또한 도 1에는 선택적인 j) 채널 인코더(119) 및 k) 블록 인터리버(121)가 도시되어 있다.
YUV 디멀티플렉서 및 데시메이터(103)는 워터마크될, 즉, 부가 정보가 그에 추가될 비디오 신호를 수신한다. YUV 디멀티플렉서 및 데시메이터(103)는 디지털 비디오, 예로서, 직렬 디지털 인터페이스(SDI) 표준에 따라 포맷화된 비디오와 함께 동작할 수 있다. 본 기술의 통상적인 기술을 가진 자가 알 수 있는 바와 같이, 처음에 적절한 디지털 포맷이 아닌 임의의 비디오 신호는 종래 기술들을 사용하여 그로 변환될 수도 있다.
YUV 디멀티플렉서 및 데시메이터(103)는 비디오의 휘도(Y) 성분 및 그 크로미넌스 성분을 디멀티플렉싱한다. 비디오 신호의 크로미넌스 성분은 두 개의 부분(U 및 V)을 가지며, 여기서 U는 차등 청색부이고, V는 차등 적색부이다.
크로미넌스 성분상에 부가적인 데이터를 이식하기 위한 처리의 대부분은 특수한 데시메이팅된 비디오 포맷으로 수행되는 것이 적합하며, 이는 원래의 블록이 4-4-4 표시를 갖는 비디오의 원래의 2×2 휘도 블록에 대하여 단 하나의 Y, 하나의 U 및 하나의 V값 만이 존재한다. 이를 위해서, 입력 비디오 신호가 실제로 소위 4-4-4 포맷인 경우, 이미지는 각각의 원래의 2×2 휘도 블록에 대하여, 하나의 Y, 하나의 U 및 하나의 V 값이 존재하도록 YUV 디멀티플렉서 및 데시메이터(103)에 의해 적절히 데시메이팅된다. 유사하게, 입력 비디오 신호가 소위 "4-2-2" 포맷인 경우, 즉, 휘도가 전체 해상도이고, 크로미넌스 부분이 a) 단지 수직방향으로만 전체 해상도이고, b) 수평 방향으로는 절반 해상도인 경우에, YUV 디멀티플렉서 및 데시메이터(103)는 휘도 성분을 수평 및 수직 방향으로 데시메이팅하고, 각각의 크로미넌스 부분을 단지 수직방향으로만 데시메이팅한다. 유사하게, 입력 비디오 신호가 소위 4-2-0 포맷인 경우, 즉, 휘도 성분이 전체 해상도이고, 크로미넌스 부분이 각각 수직 및 수평 양자 모두로 절반 해상도인 경우에, 이미지의 휘도 성분은 YUV 디멀티플렉서 및 데시메이터(103)에 의해, 4-4-4 표현인 원래의 블록을 가지는 각각의 원래의 2×2 휘도 블록에 대해, 단 하나의 Y, 하나의 U 및 하나의 V 값만이 남도록 데시메이팅된다.
양호한 데시메이팅된 비디오 포맷은 출력으로서 컬러 선택부(105)에 공급될 수 있다. 따라서, 입력 비디오 신호의 포맷에 무관하게, 시스템의 추가 처리는 원래의 비디오 입력 신호의 전체 해상도 휘도 화소들의 모든 2×2 블록에 대하여 하나의 Y, 하나의 U 및 하나의 V값이 존재하도록 데시메이팅된 비디오 신호에 기초할 수 있다. 본 기술 분야의 당업자들은 휘도 화소들의 모든 2×2 블록을 위해 하나의 Y, 하나의 U 및 하나의 V 값을 형성하는 그들이 선택하는 그 소유의 방법들을 개발할 수 있을 것이다.
원래의 비디오의 포맷을 알기 위해, a) 연산자는 YUV 디멀티플렉서 및 데시메이터(103)에 송신기(101)에 공급된 비디오의 특정 포맷을 나타낼 수 있거나, b) 비디오의 포맷이 종래의 기술들을 사용하여 비디오로부터 직접적으로 검출될 수 있거나, c) 정보가 입력 비디오 신호를 공급하는 보다 고층의 프로세서로부터 공급될 수 있다.
YUV 디멀티플렉서 및 데시메이터(103)는 또한 원래의 입력 비디오 신호의 전체 포맷의 YUV 출력들의 제 2 집합을 양극 2중 스로우 스위치(109)에 공급할 수도 있다.
컬러 선택부(105)는 소정의 특정 화소에 대하여, 어떤 크로미넌스 성분상의 부분, 즉, U 부분 또는 V 부분이 필요시 가시적 아티팩트를 도입하지 않고 값의 변경을 보다 양호하게 수용할 수 있는지를 판정한다. 컬러 선택부(105)는 추가로 후술된 바와 같은 룩업 테이블에 기초한다. 대안적으로, 이는 종래의 미국 특허 출원 제 10/342,704 호에서 같이 다양한 연산들에 전적으로 또는 부분적으로 기초할 수 있다.
또한, 컬러 선택부(105)의 출력은 양극 2중 스로우 스위치(109)의 위치를 제어하기 위해서도 사용된다. 보다 명확하게, 컬러 선택부(105)의 출력은 양극 2중 스로우 스위치(109)가 1) 워터마크 데이터를 수반하도록 선택된 크로미넌스 성분의 부분을 가산기(115)에 공급하고, 2) 선택되지 않은 크로미넌스 성분의 부분을 YUV 멀티플렉서(117)에 공급하도록 설정된다. 컬러 선택부(105)의 출력은 또한 후술된 용도를 위해 멀티플렉서(117) 및 비트 맵퍼(123)에 공급된다.
텍스쳐 마스킹 유닛(111)은 가시적 아티팩트들을 도입하지 않고, 그 화소에 의해 수용될 수 있는 값의 최대 변경을 판정하기 위해 YUV 디멀티플렉서 및 데시메이터(103)에 의해 출력으로서 공급된 데시메이팅된 포맷의 각 화소 주변의 휘도 영역의 텍스쳐를 분석하고, 그를 나타내는 가중을 출력으로서 공급한다. 가중치는 예로서, 1 내지 5의 적분값을 취하여 코딩될 수 있다. 다른 값들이 사용될 수 있으며, 예로서, 실험은 20가지의 값이 시각적 열화 없이 분주한 영역들에 사용될 수 있다는 것을 나타내었다. 가중은 멀티플렉서(113)에 공급된다. 텍스쳐 마스킹 유닛(111)은 후술될 바와 같이 화소내에 도입될 수 있는 최대 왜곡 보다 작은 값을 산출할 수 있다.
사용되는 특정 값들은 적어도 부분적으로 각 Y, U 및 V를 나타내기 위해 사용되는 비트 수에 의존한다는 것을 인지하여야 한다. 예로서, 상기 제안된 1 내지 5의 가중치 및 20까지의 가중이 8 비트값들인 Y, U 및 V를 위해 존재한다. 본 기술 분야의 당업자들은 8 비트를 위해 사용되는 값들이 예로서, 값을 좌로 2회 이동하여 4를 승산함으로써 10비트로 스케일링될 수 있다는 것을 쉽게 인지할 것이다. 유사하게, Y, U 및 V를 위해 사용된 다른 수의 비트도 유사하게 수용될 수 있다.
승산기(113)는 텍스쳐 마스킹 유닛(111)으로부터 수신된 가중을 비트 맵퍼(123)에 의해 공급된 이 화소의 일부로서 전송되는 정보에 관련한 값으로 승산한 다. 예로서, 비트 맵퍼(123)에 의해 공급되는 값은 -1, 0 또는 1일 수 있다. 승산기(113)에 의해 산출된 적은 가산기(115) 및 합산기(133)로 공급된다.
텍스쳐 마스킹 유닛(111)은 합산기(133)에 응답한다. 이에 관하여, 언급된 바와 같이, 텍스쳐 마스킹 유닛(111)은 합산기(133)로부터 실행되는 신호를 수신하는 경우에 화소내에 도입될 수 있는 값의 변경 보다 작은 가중치를 산출할 수 있다. 보다 구체적으로, 합산기(133)는 각 블록을 위한 텍스쳐 마스킹 유닛(111)에 의해 공급된 값들을 가산한다. 합산기(133)는 텍스쳐 마스킹 유닛(111)이 현재 처리된 화소의 가중을 그 출력으로서 사용할 수 있는 최대값을 텍스쳐 마스킹 유닛(111)에 출력으로서 공급한다. 합산기(133)에 의해 공급된 최대값은 a) 그를 둘러싸는 텍스쳐에 기초하여 화소에 의해 수용될 수 있는 최대 가중치 및 b) 블록을 위한 현재 합과 블록을 위해 합산기(133)에 비트 맵퍼(123)에 의해 공급된 값의 차 보다 작다. 따라서, 합이 블록을 위해 비트 맵퍼(123)에 의해 합산기(133)에 공급된 값과 같아지고 나면, 텍스쳐 마스킹 유닛(111)은 블록의 각 잔여 화소에 대하여 0을 출력한다.
가산기(115)는 화소를 위한 부가 정보를 수반하기 위해 컬러 선택부(105)에 의해 선택되었던 크로미넌스의 부분의 값에 승산기(113)에 의해 공급된 값을 가산함으로써 변경된 크로미넌스 부분을 생성한다. 언급된 바와 같이, 부가 정보를 수반하기 위해 컬러 선택부(105)에 의해 선택되었던 크로미넌스의 부분은 양극 2중 스로우 스위치(109)에 의해 가산기(115)로 전달된다. 가산기(115)에 의해 공급된 변경된 크로미넌스 부분은 멀티플렉서(117)에 공급된다.
텍스쳐 마스킹 유닛(111), 승산기(113), 비트 맵퍼(123) 및 합산기(133)는 원래의 비디오 신호의 크로미넌스의 포맷에 일치하도록 특수 처리 해상도의 각 화소에 가산되는 값을 효과적으로 업샘플하도록 협력한다. 이를 위해서, 결과적인 업샘플된 값들은 처리를 위해 사용된 특수 감소된 해상도 포맷의 화소의 위치에 대응하는 원래의 비디오 신호의 각 화소의 선택된 크로미넌스 부분에 가산될 수 있다. 예로서, 원래의 비디오 신호가 4-2-2 포맷인 경우에, 특수 처리 포맷의 블록의 화소들 각각에 가산되도록 결정된 값들은 블록당 16 라인 및 라인당 8 화소들을 갖는 가산되는 값들의 블록을 생성하도록 라인 기초으로 복제된다. 이 블록에서, 2 연속 라인들의 비중첩 그룹들의 라인들 각각은 동일한 가산되는 값들을 갖는다. 이런 블록은 4-2-2 포맷의 원래의 비디오의 선택된 크로미넌스 부분의 원래의 블록에 크기가 대응한다. 결과적인 업샘플된 블록의 각 값은 가산기(115)에 의해 원래의 비디오 신호의 각 유사 배치 화소의 선택된 크로미넌스 부분에 추가된다. 본 기술 분야의 당업자는 서로 다른 포맷들을 위한 유사한 블록 변환들을 쉽게 수행할 수 있을 것이다. 컬러 선택부(105)가 선택된 크로미넌스 부분이 보다 양호하게 변경을 수용할 수 있는 것으로 결정하지 않은 블록의 화소들에 대하여, 가산된 값은 0이라는 것을 주의하여야 한다. 원래의 비디오 신호가 4-2-0 포맷인 경우, 어떠한 업샘플링도 필요하지 않다.
대안적으로, 단지 데시메이팅된 특수 처리 해상도 포맷만이 처리된다. 결과적인 변경된 크로미넌스 부분은 그 후, 예로서, 멀티플렉서(117)에서 업샘플링된다. 그러나, 이렇게 하는 것은 비록 이런 열화가 가시적일 필요는 없지만, 원래의 신호의 일부 열화를 초래할 수 있다.
멀티플렉서(117)는 원래의 휘도 성분(Y) 및 YUV 디멀티플렉서와 데시메이터(103)로부터 양극 2중 스로우 스위치(109)를 경유하여 공급된 변경된 크로미넌스 부분을 수신한다. 또한, 멀티플렉서(117)는 가산기(115)로부터 변경된 크로미넌스 부분을 수신한다. 그 후, 멀티플렉서(117)는 원래의 휘도 성분(Y), 비변경 크로미넌스 부분 및 변경된 크로미넌스 부분을 함께 멀티플렉싱한다. 멀티플렉서(117)는 컬러 선택부(105)의 출력의 수신에 의해 그것이 크로미넌스 성분의 변경된 부분을 수신하게 하는 위치 및 크로미넌스 성분의 비변경 부분을 수신하게 되는 위치를 알고 있다. 결과적인 비디오 신호는 워터마크된 출력 비디오 신호로서 공급된다.
본 기술의 당업자는 업샘플링이 불필요하도록 부가적인 데이터가 그 데시메이팅된 버전이 아닌 원래의 크로미넌스 신호 부분에 추가되는 본 발명의 실시예들을 안출할 수 있을 것이다.
상술된 바와 같이, 각 블록을 위해 전송되는 부가 정보의 2진 데이터 값, 즉, 1 또는 0은 수신기에서 정보의 회수 및 처리를 용이하게 하기 위해 먼저 처리될 수 있거나, 워터마크 데이터로서 사용하기 위해 비트 맵퍼(123)에 직접적으로 공급될 수 있다. 이런 예시적인 처리는 선택적 채널 인코더(119) 및 블록 인터리버(121)에 의해 수행될 수 있다.
채널 인코더(119)는 비디오 스트림내에 이식되는 것이 바람직한 부가 데이터를 수신한다. 이 데이터는 그 후, 예로서, 전진 에러 보정 코딩 기술을 사용하여 인코딩된다. 이런 전진 에러 보정 체계는 길쌈 인코딩, 예로서, 비터비 인코딩 또는 터보 인코딩 같은 소정의 종래의 전진 에러 보정 체계일 수 있거나, 소정의 새로 개발된 코딩 체계일 수 있다. 일 예시적 실시예에서, 1/2 레이트의 길쌈 코딩이 사용된다. 이런 코딩의 결과로서, 2 비트가 원래의 비트 스트림의 매 비트에 대해 생성된다. 채널 인코딩된 비트 스트림은 블록 인터리버 유닛(121)에 채널 인코더(119)에 의한 출력으로서 공급된다.
블록 인터리버(121)는 데이터를 난수적으로 분포시키기 위해 채널 인코딩된 비트 스트림의 비트 순서를 재배열한다. 이렇게 하는 것은 추후, 나머지 실제 수신된 데이터로부터 수신기에서 이런 데이터를 복구하는 것을 곤란하게 하는, 채널 인코딩된 비트 스트림의 인접 섹션이 예로서, 노이즈 버스트 또는 다른 요인들로 인해 소실되는 기회를 감소시키는 것을 돕는다. 일 배열에서, 유닛으로서 간삽(interleave)되는 비트의 수는 프레임내의 블록들의 수와 같다. 블록 인터리버는 좌에서 우로 블록의 열들에 순차적으로 데이터를 기록함으로써 이행될 수 있으며, 각열의 단부에서, 다음 열의 최좌측 위치에서 다시 시작하며, 그 후, 블록의 최좌측 최상단 위치에서 시작함으로써 데이터를 판독하고, 행의 단부가 도달될 때까지 행을 하향하여 판독하며, 행의 단부의 지점에서 판독은 다음 행의 상단부에서 이어진다. 45열 × 30 행의 블록 인터리버는 720 × 480 화소들의 화소 크기를 위해 유효한 것으로 검증되었다. 다른 해상도들을 위해, 본 기술 분야의 당업자들은 비견할만한 블록 인코더들을 쉽게 개발할 수 있을 것이다. 간삽된 채널 인코딩된 비트 스트림은 비트 인터리버(121)에 의한 출력으로서 비트 맵퍼(123)에 공급된다.
블록 인터리버(121)에 의해 공급되는 상기 데이터 비트는 원래의 비디오 신호의 적어도 하나의 프레임 중 적어도 하나의 블록상에서 비트 맵퍼(123)의 제어 하에 워터마크 데이터로서 임프레스된다. 비트 맵퍼(123)는 데이터가 임프레스되는 각 블록의 크로미넌스 부분들 중 선택된 하나의 평균값의 비트 위치들 중 하나로의 워터마크 데이터의 삽입을 제어하며, 따라서, 그 비트 위치에서 비트를 효과적으로 대체한다.
예를 들면, 워터마크 데이터가 블록의 선택된 크로미넌스 부분의 평균의 정수 부분의 최하위 비트에 수반될 때, 평균값에 가산될 필요가 있는 값은 0 또는 1이다. 0은 평균값의 정수 부분의 최하위 비트가 수반되는 워터마크 데이터 비트와 이미 동일할 때 추가되며, 1은 평균값의 정수 부분의 최하위 비트가 수반되는 워터마크 데이터 비트의 보수일 때 추가된다. 워터마크 데이터가 블록의 선택된 크로미넌스 부분의 평균의 정수부분의 최하위 비트에 두 번째로 수반될 때, 화소에 추가되는 데이터의 값은 -1, 0 또는 1이다. 0은 평균값의 정수 부분의 제 2 최하위 비트가 이미 수반된 워터마크 데이터와 같을 때 추가되며, 1 또는 -1은 평균값의 정수 부분의 제 2 최하위 비트가 수반되는 워터마크 데이터 비트의 보수일 때 추가된다. 1 또는 -1 중 어느 것이 추가되는지 여부는 어느 것이 평균값의 정수 부분의 제 2 최하위 비트를 그 보수로 변경시키면서 평균값에 대해 최소 변경을 유발하는지에 의존한다. 제 2 최하위 비트의 사용시, 이식되는 데이터는 MPEG 또는 유사한 프로세스에 의한 인코딩을 존속시키기에 보다 쉽다. 블록의 선택된 크로미넌스 부분의 평균의 정수 부분의 제 3 최하위 비트에 데이터가 배치될 때, 화소에 추가되는 데이터의 값은 -2, -1, 0, 1 또는 2이다. 0은 평균값의 정수 부분의 제 3 최하위 비트가 이미 수반된 워터마크 데이터 비트와 동일할 때 추가되며, -2, -1, 1 또는 2는 평균값의 정수 부분의 제 3 최하위 비트가 수반되는 워터마크 데이터 비트의 보수일 때 추가된다. -2, -1, 1 또는 2 중 어느 것이 추가되는지는 어떤 것이 평균값의 제 3 최하위 비트를 그 보수로 변경시키면서 평균값에 대해 최소의 변경을 유발하는지에 의존한다. 상술한 바로부터, 본 기술 분야의 당업자는 사용자 또는 시스템에 의해 결정되는 보다 상위의 비트에 대하여 추가되는 값을 쉽게 판정할 수 있을 것이다.
이를 위해, 비트 맵퍼(123)는 임프레스되는 블록 인터리버(121)에 의해 공급되는 비트가 선택된 크로미넌스 부분의 평균값의 선택된 비트 위치에 배치되도록 그 블록을 위한 그 크로미넌스 부분의 값의 평균을 변경시키도록 블록의 화소의 선택된 크로미넌스 부분에 분산 추가되는 값을 형성한다. 이 값은 블록 내의 화소들의 수로 승산된 적절한 비트 위치에 워터마크 데이터 비트를 배치하도록 선택된 크로미넌스 부분의 평균값에 추가되는 값이다. 달리 말해서, 크로미넌스 부분의 값의 평균에 추가된 비트 맵퍼(123)에 의해 형성된 값은 블록의 개별 화소들에 추가되는 보다 작은 값들로 나뉘어지고, 그래서, 블록내의 화소들의 수로 나뉘어진 블록에 추가된 보다 작은 값의 총계가 선택된 크로미넌스 부분의 평균값에 추가되는 값과 동일하다.
그 블록을 위한 크로미넌스 부분의 값의 특정 비트 평균, 예로서, 비트 맵퍼(123)에 의해 공급된 데이터가 임프레스되는 크로미넌스 부분을 위한 DC 계수는 비트 맵퍼(123)에 의해 결정된다. 일 실시예에서, 블록을 위한 DC 계수의 제 2 최하위 비트는 블록상에 임프레스되기를 소정 특정 값으로 대체된다. 다른 배열에서, 대체되는 DC 계수의 비트는 블록의 텍스쳐 변경의 함수이다. 택스쳐 변경이 증가할 때, 대체되는 비트의 중요성이 증가하는 것이 유리하며, 그 이유는 MPEG 코딩 표준들이 보다 높은 텍스쳐 변경들을 위해 보다 큰 양자화 단계 크기를 사용하고, 이런 보다 큰 양자화 단계 크기의 사용은 충분히 상위가 아닌 비트 위치에 배치되는 경우, 워터마크 데이터 비트를 필터링 제거할 수 있기 때문이다. 보다 상위의 비트를 사용할 때, 치환되는 비트를 그 보수값으로 변경하기 위해, DC 계수로부터 가산 또는 감산되는 값은 1 보다 클 수 있다. 이를 위해, 비트 맵퍼(123)는 텍스쳐 마스킹(111)으로부터 블록을 위한 휘도 성분의 평균 변경을 수신하고, 이 평균 변경에 기초하여, 비트 위치가 배치되어야 하는 위치를 결정한다. 변경이 보다 크면 클수록, 워터마크 데이터가 배치되는 비트 위치는 보다 상위가 된다.
비트 맵퍼(123)는 그 화소가 워터마킹된 출력 비디오 신호에 통합될 때, 원래의 비디오 신호의 각 블록을 위해 통신되는 간삽된 채널 인코딩된 비트 스트림으로부터 데이터 비트를 공급한다. 따라서, 비트 맵퍼(123)는 비디오 신호의 처리가 라인 기초인 사실, 즉, 처리가 라인상에서 좌에서 우로 이루어지고, 그 후, 다음 라인에서 하향하고, 좌에서 우로 다시 이루어지는 사실을 고려하여, 블록의 인접 화소가 비디오 스트림내에 필수적으로 순차적으로 배치되지는 않게 하며, 따라서, 모두가 시간적으로 하나씩 순차적으로 직접적으로 처리되는 것은 아니다. 소정 시간에 비트 맵퍼(123)의 출력으로서 공급된 특정 데이터 비트는 멀티플렉서(113)에 입력으로서 공급된다.
도 1에 도시된 바와 같은 인코더를 사용하여, 실질적으로 에러가 없는 초당 약 6,750 비트의 비트 레이트가 비디오 프레임 크기가 720×480 화소일 때 채널 인코더(119)에 공급되는 부가 정보에 대하여 달성되었다.
본 기술 분야의 당업자는 도 1의 유닛 중 다양한 것들이 전체 블록으로부터의 정보를 사용하여 연산되어야만 하는 값, 예로서, 블록의 원래의 평균값 및 블록의 평균 텍스쳐 변경을 먼저 결정하고, 그 후, 개별 화소들의 처리시 이들 값을 사용하기 위해 저장을 필요로 한다는 것을 쉽게 인지할 것이다. 결과적으로, 일반적으로 일 슬라이스 지연이 존재하며, 여기서, 슬라이스는 프레임을 수평방향으로 완전히 가로지르는 블록의 스트립이다.
도 2는 그 크로미넌스 신호상에 디지털 워터마킹을 포함하는 비디오 신호의 부가 데이터를 복원하기 위한 예시적인 수신기(201)를 도시한다. 도 2에는 a) YUV 디멀티플렉서(demux) 및 데시메이터(203), b) 컬러 선택 유닛(207), c) 양극 2중 스로우 스위치(209), d) 블록 변경 계산부(211), e) 블록 적분기 V(213), f) 블록 적분기 U(215), g) 비트 선택부(217), h) 디인터리버(DEINTERLEVER)(219) 및 i) 채널 디코더(221)가 도시되어 있다.
송신기(101)(도 1)의 YUV 디멀티플렉서 및 데시메이터(103)와 실질적으로 동일할 수 있는 YUV 디멀티플렉서 및 데시메이터(203)는 부가 정보가 신호의 크로미넌스 성분상에서 그에 추가되는 디지털 워터마킹된 비디오 신호를 수신한다. YUV 디멀티플렉서 및 데시메이터(203)는 예로서, 직렬 디지털 인터페이스(SDI)에 따라 포맷화된 디지털 비디오와 함께 동작한다. 당업자들은, 처음에 적절한 디지털 포맷이 아닌 임의의 비디오 신호가 종래 기술들을 사용하여 그로 변환될 수도 있음을 인지할 것이다.
YUV 디멀티플렉서 및 데시메이터(203)는 비디오의 휘도(Y) 성분 및 그 크로미넌스 성분을 디멀티플렉싱하고, 이를 4-4-4의 표현의 원래의 데이터 블록을 갖는 비디오의 각 원래의 2 ×2 휘도 블록을 위하여 단지 하나의 Y, 하나의 U 및 하나의 V 값이 존재하는 양호한 처리 포맷으로 이를 데시메이팅한다. 수신된 비디오의 포맷을 알기 위해, a) 연산자는 YUV 디멀티플렉서 및 데시메이터(203)에 입력 비디오의 특정 포맷을 나타낼 필요가 있거나, b) 비디오의 포맷이 종래의 기술들을 사용하여 비디오로부터 직접적으로 검출될 수 있거나, c) 정보가 입력 비디오 신호를 공급하는 보다 고층의 프로세서로부터 공급될 수 있다. 디멀티플렉싱된 휘도 및 크로미넌스 성분은 컬러 선택부(207)에 공급된다. 부가적으로, 휘도 성분은 블록 변경 계산부(211)에 공급되고, V 크로미넌스 부분은 블록 적분기 (V213)에 공급되며, U 크로미넌스 부분은 블록 적분기 (U215)에 공급된다. YUV 디멀티플렉서 및 데시메이터(103)와는 달리, YUV 디멀티플렉서 및 데시메이터(203)는 또한 원래의 입력 비디오 신호의 전체 포맷으로 YUV 출력들의 제 2 집합을 공급할 필요가 없다.
컬러 선택 유닛(207)은 각 블록에 대하여 크로미넌스 성분의 어느 부분상에, 즉, U 부분 또는 V 부분 상에 부가 정보가 이식되는 것이 좋은지를 결정한다. 컬러 선택 유닛(207)의 출력은 양극 2중 스로우 스위치(209)의 위치를 제어하기 위해 사용된다. 보다 구체적으로, 컬러 선택 유닛(209)은 보다 상세히 후술될 바와 같이, 이 블록을 위해 Y, U 및 V의 함수로서 크로미넌스 부분 U 또는 V중 어디에 부가 정보가 이식되어야 하는지를 선택한다. 하나의 배열에서, 컬러 선택 유닛(207)은 룩업 테이블에 기초한다. 그렇게 하는 것은 RGB 변환으로의 YUV에 대한 필요를 피함으로써 상기 과정을 단순화하고, 그렇지 않으면 필요할 수도 있다.
컬러 선택 유닛(207)으로의 입력은 개개의 화소들임을 주목하라. 컬러 선택 유닛(207)은 각 블록내 화소들을 계속 알고 있고 상기 블록내 각 화소에 대한 개개의 U 또는 V 선택을 결합시킨다. 최고값을 갖는 특정 성분은 즉, 블록내의 화소들을 위해 가장 빈번히 선택된 성분은 컬러 선택(207)의 출력으로 결정된다. 컬러 선택 유닛(207)의 출력은 그 후 스위치(209)가 부가적인 데이터가 추가되는 것으로 결정되는 크로미넌스 성분의 부분의 적분된 버전을 비트 선택부(217)에 공급하도록 설정된다.
블록 변경 계산부(211)는 그 블록을 위한 선택된 크로미넌스 부분의 값의 평균의 특정 비트, 예로서, 임프레스된 데이터를 포함할 가능성이 있는 선택된 크로미넌스 부분을 위한 DC 계수를 결정한다. 언급한 바와 같이, 일 배열에서, 비트 맵퍼(123)(도 1)는 어느 비트 위치가 임프레스되는 워터마크 데이터 비트로 대체되어야 하는지를 판정하기 위해 블록의 화소의 휘도 성분의 변경의 평균을 수신 및 사용한다. 변경이 크면 클수록, 보다 상위의 비트 위치가 대체되어야만 한다. 블록 변경 계산부(211)(도 2)는 그 결정을 복제하기 위해 맵퍼(123)에 의해 사용된 동일한 정보에 그 계산이 기초하여야 한다. 블록 변경 계산부(211)의 출력은 비트 선택부(217)에 공급된다.
블록 적분기 V(213)는 블록에 걸쳐 V의 값들을 적분, 즉, 블록내의 각 화소를 위한 값들이 조합, 예로서, 함께 가산된다. 블록 적분기 U(215)는 블록에 걸쳐 U의 값들을 적분, 즉, 블록내의 각 화소를 위한 값들이 조합, 예로서 함께 가산된다.
비트 선택부(217)는 블록을 위한 데이터로서 스위치(209)에 의해 이에 공급된 적분된 크로미넌스 부분 값으로부터 블록 변경 계산부(211)에 의해 지정된 비트 위치에서 비트를 추출한다.
디인터리버(219)는 송신기(101)의 블록 인터리버(121)의 영향을 상쇄하도록 데이터를 재배열한다. 그 후 재배열된 값들은 채널 디코더(221)(도 2)로 공급되고, 이는 송신기(101)(도 1)의 채널 디코더(119)에 의해 사용된 인코딩의 유형을 사용하여 인코딩된 신호를 위한 적절한 디코딩을 수행한다. 결과적인 디코딩된 값들은 부가적인 데이터 신호의 재구성된 버전으로서 채널 디코더(221)(도 2)에 의해 공급된다. 부가적인 강인성을 위해, 채널 디코더(221)는 소위 "시퀀스 디코더", 예로서, 터보 디코더일 수 있다.
도 3a 및 3b는 도 3에 도시된 바와 함께 연계할 때, 부가적인 데이터를 가지는 크로미넌스 부분들 중 하나의 워터마킹시 사용하기 위한 예시적 프로세스를 도시한다. 결정된 비트 위치가 이미 임프레스된 값과 동일한 블록들에 대하여, 블록은 비변경 전송될 수 있다. 도 3의 프로세스는 도 1에 도시된 바와 같은 시스템에서 수행될 수 있다.
프로세스는 블록들의 모든 화소가 이용 가능할 때, 단계 301에서 도입될 수 있다. 도 3의 처리의 일부는 블록 단위 기초상에서 이루어지고, 부분적으로 화소 단위 기초상에서 이루어진다. 프레임의 블록들은 2 차원 포인터(p, q)를 사용하여 인덱싱되며, 여기서 p는 처리되는 프레임의 특정 수평 슬라이스를 지시하고, q는 프레임의 특정 행 또는 수직 슬라이스를 지시한다. 예로서, 720 × 480 해상도에 대하여, p는 1과 30 사이의 범위이고, q는 1과 45 사이의 범위이다. 유사하게, 각 블록의 화소들은 2 차원 포인터(i, j)를 사용하여 인덱싱되고, 여기서,i는 처리되는 블록내의 특정 열을 지시하고, j는 처리되는 블록내의 특정 행을 지시한다. 예로서, 원래의 비디오의 각 매크로블록이 Y, U 및 V의 대응 8×8 블록만을 가지는 데이터를 임프레스하기 위해 사용되는 특수 처리 모드에서, i 및 j 양자 모두는 0과 7 사이의 범위이다.
단계 301에서, 프로세스에 진입한 이후, 처리에 사용되는 다수의 변수들이 단계 303에서 초기화, 예로서, countU(p,q)=0, countV(p,q)=0, sumU(p,q)=0, sumV(p,q)=0 및 var(p,q)=0이 된다. countU는 블록 내의 얼마나 많은 화소들이 U 크로미넌스 부분 상의 워터마킹을 위해 적절한 것으로 컬러 선택 프로세스에 의해 선택되었는지의 총계이고, countV는 V 크로미넌스 부분 상의 워터마킹을 위해 적합한 것으로 블록 내의 얼마나 많은 화소들이 컬러 선택 프로세스에 의해 선택되었는지의 총계이다. sumU 및 sumV는 각각 블록의 모든 화소들에 걸친 U 및 V의 총계 값들이다. 워터마킹이 블록을 위해 선택된 크로미넌스 부분의 화소들상에만 수행되는 경우에, 선택되지 않은 크로미넌스 부분을 위해 형성되는 sumU 및 sumV 중 하나를 위해 어떠한 사용도 이루어지지 않는다.
단계 305에서, 물론 블록을 위한 휘도의 평균 변경에 비례하는, 블록내의 개별 화소 각각을 위한 휘도의 변경의 총계인 var(p, q)이 연산된다. 이를 위해, i 및 j는 처음에 둘 다, 처리될 블록의 제 1 화소를 가리키도록, 예컨대 i=0 및 j=0으로 설정된다. var(p, q)의 값은 블록의 각 화소를 통해 순환하고, 이를 위해 적절히 i 및 j의 값을 변경하고, var(p, q)의 현재 총계에 각 화소를 위한 휘도의 변경을 함께 가산함으로써 연산된다.
어느 특정 화소를 위한 휘도의 변경은 그 가장 근접한 이웃들 모두와 화소 사이의 휘도의 편차의 절대값을 취함으로써 연산될 수 있다. 수학적으로, 모든 가장 근접한 이웃들이 동일 블록내에 있는 경우, 이는 하기와 같이 기재될 수 있다.
Figure 112004044004392-pat00001
본 기술 분야의 당업자들은 그 가장 근접한 이웃들이 다른 블록들내에 있는 화소들에 상술한 바를 쉽게 적응시킬 수 있을 것이다. 또한, 프레임의 경계 부근에 있는m 그리고, 그로 인해 가장 근접한 이웃들을 갖지 않거나 가장 근접한 이웃들이 디스플레이 되지 않은 블록들의 일부인 블록들에 대하여, 이런 이웃들의 값은 0이 되는 것으로 고려될 수 있다.
화소의 가장 근접한 이웃들 모두가 변경 연산에 고려될 필요가 있는 것은 아니며, 그래도 충분히 높은 품질의 결과가 얻어질 수 있다. 보다 명확히, 각 화소를 위한 연산 시간은 화소와 수직 또는 수평 라인을 형성하는 다른 화소들 중 2개, 예로서, 화소와 수평선상에 있는 2 화소들과, 화소들 둘러싸는 직사각형의 코너의 4개 화소들의 편차들만을 고려함으로써 감소될 수 있다.
따라서, 조건부 분기점(307)은 특정 크로미넌스 부분, 즉, U 또는 V가 블록을 위한 워터마크 정보를 포함하게 되는 지를 결정하기 위해 테스트한다. 이는 블록내의 각 화소를 위한 컬러 선택을 평가하고, 각 크로미넌스 부분을 위해 선택된 블록내의 화소들의 수를 계수함으로써 이루어진다. 블록을 위해 가장 많이 선택된 크로미넌스 부분이 워터마킹을 위해 선택된다. 특정 화소는 워터마킹에 전혀 부적합한 것으로 판정될 수 있다는 것을 인지하여야 한다. 이런 경우, 이는 U 또는 V 중 어느 한쪽을 위한 화소들의 총 수를 향해 계수되지 않는다.
각 화소를 위해 워터마킹되도록 선택된 컬러를 결정하는 특정 방법은 실시자의 자유 선택 사항이다. 예로서, 가장 작은 값을 가지는 화소의 크로미넌스 부분이 선택된다. 대안적으로, 후술된 컬러 선택 배열이 사용된다.
다음에, 워터마크된 비트를 포함하는 선택된 크로미넌스 부분의 평균값의 비트 위치가 결정된다. 비트 위치는 워터마킹된 비트가 MPEG형 인코딩에서 이루어지는 것처럼 소정의 후속하는 양자화를 견디도록 선택된다.
이를 위해, 단계 307의 테스트 결과가 V 크로미넌스 부분이 워터마크되도록 선택되는 것인 경우, 제어는 가변적 워터마크 컬러가 V와 같게 설정되는 단계 309로 진행한다. 그 후, 조건부 분기점(323)은 블록에 걸친 평균 Y 변경[var(p, q)]가 가장 큰 V 문턱치인 제 1 규정된 V 문턱치(t1v)보다 큰지의 여부를 판정하기 위해 테스트한다. t1v의 예시적 값은 600이다.
U 및 V 양자 모두를 위해 도 3 및 도 4와 연계하여 사용되는 특정 문턱치들은 평균 Y 변경이 제안된 문턱치와 비교될 때, 각 Y 값을 나타내도록 사용되는 비트 수에 적어도 부분적으로 의존한다. 예로서, 여기의 제안된 문턱치들은 8 비트값인 Y를 위한 것이다. 본 기술 분야의 당업자는 8 비트를 위해 사용된 값들이 예로서, 값을 좌측으로 2회 이동시켜 4를 승산함으로써, 10 비트로 스케일링될 수 있다는 것을 쉽게 인지할 것이다. 유사하게, Y, U 및 V를 위해 사용되는 다른 수의 비트도 유사하게 수용될 수 있다.
다양한 비교들을 위한 블록에 걸친 평균 Y 분산을 사용하는 대신에, 예를 들면 블록에 걸친 평균 V 분산과 같은 상이한 평균 분산이 계산되어 이용될 수 있다.
단계 323에서의 테스트 결과가 예이면, 분산이 부가의 데이터가 블록의 화소들의 V 값들의 평균의 제5 최하위 비트에 인코딩되어야 하도록 충분히 큰 것을 지시하고, 예를 들면 int[sum V(p,q)/(블록 당 화소들의 수)]의 값, 예를 들면 int[sum V(p,q)/64]가 t1v 보다 크면, 제어는 변수 m이 5로 설정되는 단계 325로 진행한다.
본원에 사용되는 바와 같이 라운딩을 위해 정수 함수(int)를 사용하는 대신에, 정수값을 성취하기 위한 임의의 다른 형태의 라운딩, 예를 들면 가장 근접한 정수값으로의 상시 라운딩 또는 상시 라운딩 업이 이용될 수 있다는 것을 주목하라.
단계 323에서의 테스트 결과가 아니오이면, 분산은 부가의 데이터가 블록의 화소들의 V 값들의 평균값의 제 5 최하위 비트 상에 인코딩되어야 하도록 충분히 크지 않은 것을 지시하고, 제어는 블록에 걸친 평균 Y 분산[var(p,q)]이 제2 최대 V 문턱치인 제2 규정된 V 문턱치(t2v)보다 큰지를 결정하도록 테스트하는 조건 분기점 329로 진행한다. t2v의 예시적인 값은 15이다.
단계 329에서의 테스트 결과가 예이면, 분산은 부가의 데이터가 블록의 화소들의 V 값들의 평균의 제 4 최하위 비트 상에 인코딩되어야 하는 것을 지시하고, 제어는 변수 m이 4로 설정되는 단계 331로 진행한다.
단계 329에서의 테스트 결과가 아니오이면, 분산은 부가의 데이터가 블록의 V 값들의 평균의 제4 최하위 비트 상에 인코딩되어야 하도록 충분히 크지 않다는 것을 지시하고, 제어는 블록에 걸친 평균 Y 분산[var(p,q)]이 최소 V 문턱치인 제3 규정된 V 문턱치(t3v)보다 큰지를 결정하도록 테스트하는 조건 분기점 333으로 진행한다. t3v의 예시적인 값은 7이다.
단계 333에서의 테스트 결과가 예이면, 분산은 데이터가 블록의 화소들의 V 값들의 평균의 제3 최하위 비트 상에 인코딩되어야 하도록 충분히 큰 것을 지시하고, 제어는 변수 m이 3으로 설정되는 단계 335로 진행한다.
단계 333에서의 테스트 결과가 아니오이면, 분산은 데이터가 단지 블록의 V 값의 평균값의 제2 최하위 비트 상에 인코딩되어야 하도록 충분히 크다는 것을 지시하고, 제어는 변수 m이 2로 설정되는 단계 337로 진행한다.
단계 307에서의 테스트 결과가 U가 워터마킹되도록 선택된 크로미넌스 부분이라는 것이면, 제어는 변수 워터마크 컬러가 U로 설정되는 단계 311로 진행한다. 그 후, 조건 분기점(343)은 블록에 걸친 평균 Y 분산[var(p,q)]가 최대 문턱치인 제1 규정된 문턱치(t1u)보다 큰지의 여부를 결정하도록 시험된다. t1u의 예시적인 값은 600이다.
다양한 비교들을 위한 블록의 평균 Y 분산을 사용하는 대신에, 블록에 걸친 평균 U 분산이 계산되어 이용될 수도 있다.
단계 343에서의 테스트 결과가 예이면, 분산이 데이터가 블록의 화소들의 U 값들의 평균의 제5 최하위 비트에 인코딩될 필요가 있도록 충분히 크다는 것을 지시하고, 예를 들면 int[sum V(p,q)/(블록 당 화소들의 수)]의 값, 예를 들면 int[sum V(p,q)/64]가 t1u이고, 제어는 변수 m이 5로 설정되는 단계 345로 진행한다.
본원에서 라운딩을 위해 정수 함수(int)를 사용하는 대신에, 정수값을 성취하기 위한 임의의 다른 형태의 라운딩, 예를 들면 가장 근접한 정수값으로의 상시 라운딩 또는 상시 라운딩 업이 이용될 수 있다는 것을 주목하라.
단계 343에서의 테스트 결과가 아니오이면, 분산은 데이터가 블록의 화소들의 U 값들의 평균값의 제5 최하위 비트 상에 인코딩될 필요가 있도록 충분히 크지 않은 것을 지시하고, 제어는 블록에 걸친 평균 Y 분산[var(p,q)]이 제2 최대 U 문턱치인 제2 규정된 문턱치(t2u)보다 큰지를 결정하도록 테스트하는 조건 분기점 349로 진행한다. t2u의 예시적인 값은 15이다.
단계 349에서의 테스트 결과가 예이면, 분산은 데이터가 블록의 화소들의 U 값들의 평균의 제4 최하위 비트 상에 인코딩될 필요가 있는 것을 지시하고, 제어는 변수 m이 4로 설정되는 단계 351로 진행한다.
단계 349에서의 테스트 결과가 아니오이면, 분산은 데이터가 블록의 U 값들의 평균의 제 4 최하위 비트 상에 인코딩되어야 하도록 충분히 크지 않다는 것을 지시하고, 제어는 블록에 걸친 평균 Y 분산[var(p,q)]이 최소 U 문턱치인 제3 규정된 문턱치(t3u)보다 큰지를 결정하도록 테스트하는 조건 분기점 353으로 진행한다. t3u의 예시적인 값은 7이다.
단계 353에서의 테스트 결과가 예이면, 분산은 데이터가 블록의 화소들의 U 값들의 평균의 제 3 최하위 비트 상에 인코딩되어야 하도록 충분히 큰 것을 지시하고, 제어는 변수 m이 3으로 설정되는 단계 355로 진행한다.
단계 353에서의 테스트 결과가 아니오이면, 분산은 데이터가 단지 블록의 U 값의 평균값의 제2 최하위 비트 상에 인코딩되어야 하도록 충분히 크다는 것을 지시하고, 제어는 변수 m이 2로 설정되는 단계 357로 진행한다.
일단 워터마킹된 데이터를 포함하도록 이용될 선택된 크로미넌스 부분의 블록에 걸친 평균값의 특정 비트가 결정되면, 비트 위치가 소정 비트를 포함하는 것을 확인하는 프로세스가 착수된다. 이 프로세스의 목표는, 소정 비트 위치가 전송될 워터마킹 비트의 값을 갖는 것을 확인하도록 선택된 크로미넌스 부분의 현재 평균값으로부터 최소 가능 값을 가산하거나 감산하는 것이다. 소정 비트 위치 평균값의 정수부 내의 비트 위치일 수 있다. 이를 위해, 이상적으로는, 소정 비트 위치가 이미 전송될 워터마킹 비트의 값을 포함하고 있으면, 선택된 크로미넌스 부분의 현재 평균값에 아무것도 가산되지 않을 수 있다. 한편, 소정 비트 위치가 전송될 워터마킹 비트의 값의 보수를 포함하면, 단지 소정 비트 위치에 가산되거나 그로부터 감산되어 선택된 크로미넌스 부분의 평균값의 값을 그의 현재 미워터마킹 값으로부터 그의 최종 워터마킹 값으로 최소 변경시키는 그의 보수로 소정 비트 위치를 플립할 수 있는 최소 가능 값이 적절하게 소정 비트 위치에 가산되거나 그로부터 감산된다.
실제로, 양자화 노이즈, 본 발명의 프로세스의 부분으로서의 라운딩, 및 소정 비트의 최종값에 영향을 줄 수 있는 MPEG형 인코딩 프로세스의 다른 팩터들에 기인하여, 약간 상이한 값이 본원에 추가로 설명되는 바와 같이 가산되거나 감산될 수 있다. 더 구체적으로는, 소정 비트 위치에서 소정 비트값을 갖는 값들의 "안전(safe)" 범위가 선택되고, 최소값이 선택된 크로미넌스 부분의 평균값에 가산되거나 감산되어 최종값이 소정 비트 위치에서 소정 비트값을 갖고 안전 범위 내에 존재한다. 따라서, 통상적으로는, 평균값의 비트가 워터마크 데이터를 수반하기 위해 그의 보수로 변경될 필요가 있을 때마다, 최종값이 상상 안전 범위의 경계에 존재한다. 소정 비트 위치에서의 값이 항상 전송될 워터마크 데이터 비트의 값이면, 선택된 크로미넌스 부분의 평균값이 이미 안전 범위 내에 있는 경우, 선택된 크로미넌스 부분의 평균값에 아무것도 가산될 필요가 없다. 그러나, 선택된 크로미넌스 부분의 평균값이 이미 안전 범위 내에 있지 않으면, 전송될 워터마킹 비트의 값에 소정 비트 위치의 값을 유지하면서 선택된 크로미넌스 부분의 평균값을 안전 범위 내의 값으로 변경시킬 필요가 있는 최소값이 선택된 크로미넌스 부분의 평균값에 가산되거나 그로부터 감산된다.
개념적으로는, 상기에는 소정 비트 위치에서 소정 워터마킹 값을 성취하기 위해 먼저 최소값을 가산하거나 감산하고, 이어서 최종값이 안전 범위 내에 있는 것을 보장하도록 예를 들면 마진값과 같은 추가량을 가산하거나 감산하는 것을 고려할 수 있다.
도 5는 소정 비트 위치가 제3 최하위 비트인 다수의 안전 범위들의 예를 도시한다. 축을 따라 도시된 것은 선택된 크로미넌스 부분의 평균값이다.
표 1은 (코드)(값들의 표)를 도시한다.
단계들 325, 331, 335, 337, 345, 351, 355 및 357의 완료시에, 제어는 블록 상에 임프레스될 워터마킹 데이터의 비트가 가변 워터마크 컬러에 의해 식별된 크로미넌스 부분의 평균값을 위한 현재 식별 비트 위치와 동일한지를 결정하도록 테스트하는 조건 분기점 361로 진행한다. 단계 361에서 테스트 결과가 예이면, 블록 상에 임프레스될 워터마킹 데이터의 비트가 가변 워터마크 컬러에 의해 식별된 크로미넌스 부분의 평균값을 위한 현재 식별 비트 위치와 동일하다는 것을 지시하고, 따라서 비트는 그의 보수값으로 변경될 필요가 없으며, 제어는 값이 현재 비트 위치를 위한 안전 범위 내에 있는지를 결정하도록 테스트하는 단계 363으로 진행한다. 테스트 결과가 아니오이면, 에러가 후속 프로세싱 중에 도입될 수 있는 것을 지시하고, 제어는 소정 비트 위치의 값을 변경하지 않고 워터마크 컬러에 의해 지시된 컬러를 위한 현재 평균값을 가장 근접한 안전 범위로 이동시킬 필요가 있는 값에 동일한 가변 변경값을 설정하는 단계 365로 진행한다. 값은 정수값일 필요는 없으며, 또한 네거티브 값일 수도 있다는 것을 주목하라. 단계 363에서의 테스트 결과가 아니오이면, 워터마크 컬러에 의해 지시된 컬러를 위한 현재 평균값이 이미 안전 범위 내에 있는 것을 지시하고, 제어는 단계 367로 진행하고, 변경값의 값은 0으로 설정된다.
단계 361에서의 테스트 결과가 아니오이면, 블록 상에 임프레스될 워터마킹 데이터의 비트가 가변 워터마크 컬러에 의해 식별된 크로미넌스 부분의 평균값을 위한 현재 식별 비트 위치와 동일하지 않은 것을 지시하고, 따라서 비트의 값은 워터마킹 데이터를 적절하게 수반하기 위해 그의 보수값으로 변경되어야 하고, 제어는 현재 비트 위치를 위한 가장 근접한 안전 범위가 워터마크 컬러에 의해 지시된 컬러의 현재 평균값보다 큰지 작은지를 결정하도록 테스트하는 단계 369로 진행한다. 단계 369에서의 테스트 결과가 크다이면, 현재 비트 위치를 위한 가장 근접한 안전 범위의 값들이 워터마크 컬러에 의해 지시된 컬러의 현재 평균값보다 큰 것을 지시하고, 제어는 가변 변경값의 값이 평균값에 가산되도록 최소값으로 설정되어 최종값이 더 큰 값들을 갖는 인접 안전 범위 내에 있도록 하는 단계 371로 진행한다. 이 값은 정수값일 필요는 없다는 것을 주목하라. 단계 369에서의 테스트 결과가 작다이면, 현재 비트 위치를 위한 가장 근접한 안전 범위의 값들 워터마크 컬러에 의해 지시된 현재 평균값보다 작은 것을 지시하고, 제어는 가변 변경값의 값이 평균값에 가산될 때 더 작은 값들을 갖는 인접 안전 범위 내에 있는 값을 초래하는 최소 네거티브 값으로 설정되는 단계 373으로 진행한다. 또한, 이 값은 정수값일 필요는 없고, 또한 네거티브 값일 수도 있다는 것을 주목하라.
단계 365, 367, 371 또는 373의 완료시에, 제어는 화소들을 가산한 총계가 블록당 화소들의 수와 변경값의 값의 적으로 설정되는 단계 375로 진행한다. 최종 적값이 정수가 아니면, 값은 라운딩 오프된다. 라운딩은 네거티브 값이 가산되면 라운딩은 값의 정수부를 취함으로써 다운되고, 반면 포지티브 값이 가산되면 라운딩은 다음의 전체 정수값을 향해 업되는 점에서 단계들 365, 371, 373과 일치하는 방식으로 수행될 수 있다.
이제, 프로세싱은 블록당 레벨로부터 블록 내의 화소당 레벨로 변경된다. 단계 377에서, 블록의 제1 화소가 지정된다. 그 후, 조건 분기점 379는 그의 컬러에 기초하여, 현재 화소가 워터마킹되어야 하는지를 결정하도록 테스트한다. 이는 워터마킹에 적합한 이 화소의 크로미넌스 성분이 전체 블록에 대해 단계 307에서 선택된 컬러와 동일한지를 결정함으로써 수행된다. 단계 379에서의 테스트 결과가 예이면, 이 화소가 워터마킹되어야 하는 것을 지시하고, 제어는 값이 화소에 대한 휘도 분산 및 블록의 화소들에 지금까지 가산된 총 값들에 기초하여 현재 화소에 가산되는 단계 381로 진행한다.
더 구체적으로는, 가시적인 아티팩트를 유도하지 않고 화소에 가산될 수 있는 최대값이 휘도의 분산의 함수로써 결정된다. 휘도의 분산이 클수록, 규정된 최대값까지 가산될 수 있는 값이 커진다. 이 값은 포지티브 또는 네거티브일 수 있다는 것을 주목하라. 이 값은 이어서 화소들에 가산될 총계가 포지티브 값이면 화소에 가산되고, 또는 값은 화소들에 가산될 총계가 네거티브 값이면 화소로부터 감산된다. 그러나, 화소당 프로세싱이 진행됨에 따라 가산 또는 감산된 값들의 실행 총계는 화소들에 가산될 총계로부터 감산된다. 현재 화소에 가산될 값이 화소들에 가산될 총계와 실행 총계 사이의 차이를 0이 되게 하면, 값은 실행 총계가 단지 0이 되도록 조절된다.
단계 379에서의 테스트 결과가 아니오이거나, 완료 단계 381 후에, 제어는 현재 화소가 블록의 최종 화소인지를 결정하도록 테스트하는 조건 분기점 383으로 진행한다. 단계 383에서의 테스트 결과가 아니오이면, 제어는 블록의 화소들에 인가될 총계가 이미 가산되어 있는지를, 즉 블록의 화소들에 가산될 총계와 동일한 실행 총계인지를 결정하도록 테스트하는 단계 385로 진행한다. 단계 385에서의 테스트 결과가 아니오이면, 블록의 화소들에 가산될 필요가 더 있음을 지시하고, 제어는 블록의 다음 화소를 지시하는 단계 387로 진행한다. 이어서, 제어는 단계 379로 복귀하고, 제어는 상술한 바와 같이 계속된다.
단계들 383 또는 385에서의 테스트 결과가 예이면, 블록의 모든 화소들이 프로세싱되거나 가산될 필요가 있는 모든 총계가 가산되어 있는 것을 지시하고, 제어는 단계 389로 진행하고 프로세스가 종료된다.
도 4a 및 도 4b는 도 4에 도시한 바와 같이 함께 연결될 때, 비디오 신호 내의 워터마킹 신호를 구성하는 부가 정보가 크로미넌스 성분에 임프레스되어 있는 디지털 방식으로 워터마킹된 비디오 신호로부터 부가 정보를 추출하기 위한 예시적인 프로세스를 도시한다. 이러한 프로세스는 컬러 선택(207), 쌍극 2중 스로우 스위치(209), 블록 분산 계산(211), 블록 적분기(V213), 블록 적분기(U215) 및 비트 선택(217)(도 2)을 가로질러 도 2에 도시된 것과 같은 시스템에 의해 구현될 수 있다.
프로세스는 수신된 데시메이팅 프레임의 신규한 블록이 프로세싱될 때 단계 401(도 4)에서 시작된다. 교시의 목적으로 본원에서는 화소들이 블록에 의해 그룹화된 도 4의 프로세스에 의해 프로세싱하기 위해 공급되어, 블록의 모든 화소들이 다음의 블록의 임의의 화소들이 프로세싱되기 전에 프로세싱되는 것으로 가정한다. 그러나, 실제 시스템의 설계시에, 본 기술 분야의 당업자들은 화소들이 이들이 스캐닝되는 것과 동일한 순서로 프로세싱되고 블록들을 효과적으로 개별적으로 프로 세싱하기 위해 적절한 메모리 위치들 및 제어 구조들이 사용될 수 있다는 것을 즉시 인식할 수 있을 것이다.
도 4의 프로세싱의 일부는 블록-대-블록 기초로 수행되고, 일부는 화소-대-화소 기초로 수행된다. 프레임의 블록들은 2 차원 포인터(p,q)를 사용하여 인덱싱되고, 여기서 p는 처리되는 프레임의 특정 수평 조각을 지시하고, q는 프레임의 특정 열, 또는 수직 조각을 지시한다. 예를 들면, 720 ×480 해상도에서, p는 1 내지 30의 범위이고, q는 1 내지 45의 범위이다. 유사하게, 각각의 블록의 화소들은 2차원 포인터(i,j)를 사용하여 인덱싱되고, 여기서 i는 프로세싱되는 블록 내의 특정 행을 지시하고, j는 프로세싱되는 블록 내의 특정 열을 지시한다. 예를 들면, 원래의 비디오의 각각의 매크로블록이 Y, U 및 V의 대응 8×8 블록만을 갖는 데이터를 임프레스하기 위해 이용되는 특정 프로세싱 모드에서, i 및 j는 모두 0 내지 7의 범위이다.
단계 401에서 프로세스가 시작한 후에, 프로세스에 사용되는 다수의 변수들이 단계 403에서 초기화된다, 예를 들면 countU(p,q)=0, countV(p,q)=0, sumU(p,q)=0, sumV(p,q)=0 및 var(p,q)=0이다. countU 및 countV는 블록 내의 얼마나 많은 화소들이 각각 U 및 V로서 컬러 선택 프로세스에 의해 선택되는지의 실행 총계이고, sumU 및 sumV는 블록의 모든 화소들에 걸친 각각 U 및 V의 실행 총계값이다. 블록에서, i 및 j는 모두 프로세싱될 블록의 제1 화소를 지시하도록 설정된다, 예를 들면, 마찬가지로 i=0 및 j=0이다. 각각의 블록에서, var(p,q)는 물론 블록에 대한 휘도의 평균 분산에 비례하는 블록 내의 각각의 개별 화소에 대한 휘 도의 분산의 총계를 표현한다.
그 후, 단계 405에서, 현재 프로세싱되는 블록의 화소를 현재 지시하는 Y, U 및 V 값들이 얻어진다. 예를 들면,
Figure 112004044004392-pat00002
,
Figure 112004044004392-pat00003
, 및
Figure 112004044004392-pat00004
가 얻어진다. U 및 V의 현재값들은 단계 407에서 sumU 및 sumV의 각각의 현재값들에 가산된다. 또한 단계 407에서, 휘도의 분산[var(p,q)]이 var(p,q)의 현재 총계에 현재 화소에 대한 휘도의 분산을 가산함으로써 갱신된다. 현재 화소에 대한 휘도의 분산은 현재 화소와 그의 모든 가장 근접한 이웃들 사이의 휘도의 차이의 절대값을 취함으로써 계산될 수 있다. 수학적으로, 모든 가장 근접한 이웃들이 동일한 블록 내에 있으면, 이는 이하의 수학식으로 나타낼 수 있다.
Figure 112004044004392-pat00005
본 기술 분야의 당업자들은 그의 가장 인접한 이웃들이 다른 블록들 내에 있는 화소들에도 상기 사상을 즉시 적용할 수 있을 것이다. 더욱이, 프레임의 경계들에 인접한, 따라서 가장 인접한 이웃들을 갖지 않는, 또는 가장 인접한 이웃들이 표시되지 않는 블록들의 일부인 블록들에서, 이러한 이웃들의 값은 0으로 고려될 수 있다.
모든 가장 인접한 이웃들이 고려될 필요는 없으며 여전히 충분히 높은 품질 결과들이 성취될 수 있다. 더 구체적으로는, 계산 시간이 현재 화소를 둘러싸는 직사각형의 코너들에서의 4개의 화소들과 현재 화소와 수직 또는 수평선을 형성하 는 다른 화소들의 2개, 예를 들면 현재 화소와 수평선 상에 있는 2개의 화소들의 차이들을 취하도록 감소되는 장점이 있다. 그러나, 디코더는 인코더에 이용된 동일한 프로세스와 일치해야 한다.
제어는 부가의 데이터가 임프레스될 가능성이 있는 U 또는 V를 결정하도록 테스트하는 조건 분기점 409로 진행한다. 이 결정의 상세들은 이하에 더욱 상세히 설명한다. 단계 409에서의 테스트 결과가 U이면, 부가의 데이터가 현재 화소에 대해 U에 가장 임프레스될 가능성이 높은 것을 지시하고, 제어는 countU가 증분되는 단계 411로 진행한다. 다음, 제어는 단계 413으로 진행한다. 단계 409에서의 테스트 결과가 V이면, 부가의 데이터가 현재 화소에 대해 V에 가장 임프레스될 가능성이 높은 것을 지시하고, 제어는 countV가 증분되는 단계 415로 진행한다. 다음, 제어는 단계 413으로 진행한다.
대안적으로, 조건 분기점 409는 데이터가 화소에, 즉 U 또는 V 상에 전혀 임프레스되지 않을 가능성이 있는 것을 지시하는 부가의 결과를 갖는 3방향 테스트일 수 있다. 이러한 결과가 나오면, 제어는 단순히 단계 413으로 직접 진행한다.
조건 분기점 413은 현재 화소가 현재 블록의 최종 화소인지를 결정하도록 테스트한다. 단계 413에서의 테스트 결과가 아니오이면, 여전히 프로세싱될 현재 블록 내의 부가의 화소들이 잔류함을 지시하고, 제어는 i 및 j의 값들이 다음의 아직 프로세싱되지 않은 화소로서 지시되도록 조절되는 단계 417로 진행한다. 다음, 제어는 단계 405로 진행하고 프로세스가 상술한 바와 같이 계속된다. 단계 413에서의 테스트 결과가 예이면, 현재 블록의 모든 화소들이 프로세싱되었음을 지시하고, 제어는 블록에 대한 데시메이팅 휘도의 분산이 계산되는, 즉 8×8 Y 블록의 분산이 계산되는 단계 419로 진행한다.
다음, 제어는 현재 블록에 대해 countV>countU인지를 결정하도록 테스트하는 조건 분기점 421로 진행한다. 단계 421에서의 테스트 결과가 countV가 실제로 countU보다 큰 것이면, 제어는 블록에 걸친 평균 Y[var(p,q)]가 최대 V 문턱치인 제1 규정된 문턱치 t1v보다 큰지를 결정하도록 테스트하는 조건 분기점 423으로 진행한다. t1v의 예시적인 값은 600이다.
대안적으로, 다양한 비교들을 위한 블록에 걸친 평균 Y 분산을 사용하는 대신에, 예를 들면 더 큰 카운트 값을 갖는 블록에 걸친 평균 U 또는 평균 V 분산이 계산되어 이용될 수 있다.
단계 423에서의 테스트 결과가 예이면, 분산이 데이터가 블록의 화소들의 V 값들의 평균의 정수 부분, 예를 들면 int[sum V(p,q)/(블록 당 화소들의 수)]의 값, 예를 들면 int[sum V(p,q)/64]의 제5 최하위 비트에 인코딩될 가능성이 있도록 충분히 큰 것을 지시하고, 제어는 변수 m이 5로 설정되는 단계 425로 진행한다. 다음, 제어는 블록의 화소들의 V 값들의 평균의 m 번째 최하위 비트의 값이 이 블록에 임프레스된 값으로서 추출되는 단계 427로 진행한다. 다음, 제어는 단계 459에서 종료된다.
본원에 사용되는 바와 같이 라운딩을 위해 정수 함수(int)를 사용하는 대신에, 정수값을 성취하기 위한 임의의 다른 형태의 라운딩, 예를 들면 가장 근접한 정수값으로의 상시 라운딩 또는 상시 라운딩 업이 이용될 수 있다는 것을 주목하 라.
단계 423에서의 테스트 결과가 아니오이면, 분산은 데이터가 블록의 화소들의 V 값들의 평균값의 정수 부분의 제5 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 크지 않은 것을 지시하고, 제어는 블록에 걸친 평균 Y 분산[var(p,q)]이 제2 최대 V 문턱치인 제2 규정된 문턱치(t2v)보다 큰지를 결정하도록 테스트하는 조건 분기점 429로 진행한다. t2v의 예시적인 값은 1.5이다.
단계 429에서의 테스트 결과가 예이면, 분산은 데이터가 블록의 화소들의 V 값들의 평균의 정수 부분의 제4 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 큰 것을 지시하고, 제어는 변수 m이 4로 설정되는 단계 431로 진행한다. 다음, 제어는 블록의 화소들의 V 값들의 평균의 m 번째 최하위 비트의 값이 이 블록에 임프레스될 값으로서 추출되는 단계 427로 진행한다. 다음, 프로세스는 단계 459에서 종료된다.
단계 429에서의 테스트 결과가 아니오이면, 분산은 데이터가 블록의 화소들의 V 값들의 평균의 정수 부분의 제4 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 크지 않다는 것을 지시하고, 제어는 블록에 걸친 평균 Y 분산[var(p,q)]이 최소 V 문턱치인 제3 규정된 문턱치(t3v)보다 큰지를 결정하도록 테스트하는 조건 분기점 433으로 진행한다. t3v의 예시적인 값은 7이다.
단계 433에서의 테스트 결과가 예이면, 분산은 데이터가 블록의 화소들의 V 값들의 평균의 정수 부분의 제3 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 큰 것을 지시하고, 제어는 변수 m이 3으로 설정되는 단계 435로 진행한다. 다음, 제어는 블록의 화소들에 걸친 V 값들의 평균의 m 번째 최하위 비트의 값이 이 블록에 임프레스된 값으로서 추출되는 단계 427로 진행한다. 다음, 프로세스는 단계 459에서 종료된다.
단계 433에서의 테스트 결과가 아니오이면, 분산은 데이터가 단지 블록의 화소들의 V 값들의 평균의 정수 부분의 제 2 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 크다는 것을 지시하고, 제어는 변수 m이 2로 설정되는 단계 437로 진행한다. 다음, 제어는 블록의 화소들에 걸친 V 값들의 평균의 m 번째 최하위 비트의 값이 이 블록에 임프레스된 값으로서 추출되는 단계 427로 진행한다. 다음, 프로세스는 단계 459에서 종료된다.
단계 421에서의 테스트 결과가 countU가 countV보다 큰 것이면, 제어는 블록에 걸친 평균 Y 분산이 최대 U 문턱치인 제1 규정된 문턱치(t1u)보다 큰지를 결정하도록 테스트하는 조건 분기점 445로 진행한다. t1u의 예시적인 값은 600이다.
단계 445에서의 테스트 결과가 예이면, 분산은 데이터가 블록의 U 값들의 평균의 정수 부분, 예를 들면 int[sum U(p,q)/(블록 당 화소들의 수)]의 값, 예를 들면 int[sum U(p,q)/64]의 제5 최하위 비트에 인코딩될 가능성이 있도록 충분히 큰 것을 지시하고, 제어는 변수 m이 5로 설정되는 단계 447로 진행한다. 다음, 제어는 블록의 화소들의 U 값들의 평균의 m 번째 최하위 비트의 값이 이 블록에 임프레스된 값으로서 추출되는 단계 447로 진행한다. 다음, 제어는 단계 459에서 종료된다.
단계 445에서의 테스트 결과가 아니오이면, 분산은 데이터가 블록의 화소들의 U 값들의 평균값의 정수 부분의 제5 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 크지 않은 것을 지시하고, 제어는 블록에 걸친 평균 Y 분산[var(p,q)]이 제2 최대 U 문턱치인 제2 규정된 문턱치(t2u)보다 큰지를 결정하도록 테스트하는 조건 분기점 449로 진행한다. t2u의 예시적인 값은 1.5이다.
단계 449에서의 테스트 결과가 예이면, 분산은 데이터가 블록의 화소들의 U 값들의 평균의 정수 부분의 제4 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 큰 것을 지시하고, 제어는 변수 m이 4로 설정되는 단계 451로 진행한다. 다음, 제어는 블록의 화소들의 U 값들의 평균의 m 번째 최하위 비트의 값이 이 블록에 임프레스될 값으로서 추출되는 단계 447로 진행한다. 다음, 프로세스는 단계 459에서 종료된다.
단계 449에서의 테스트 결과가 아니오이면, 분산은 데이터가 블록의 화소들의 U 값들의 평균의 정수 부분의 제 4 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 크지 않다는 것을 지시하고, 제어는 블록에 걸친 평균 Y 분산[var(p,q)]이 최소 U 문턱치인 제3 규정된 문턱치(t3u)보다 큰지를 결정하도록 테스트하는 조건 분기점 453으로 진행한다. t3u의 예시적인 값은 7이다.
단계 453에서의 테스트 결과가 예이면, 분산은 데이터가 블록의 화소들의 U 값들의 평균의 정수 부분의 제3 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 큰 것을 지시하고, 제어는 변수 m이 3으로 설정되는 단계 455로 진행한다. 다음, 제어는 블록의 화소들에 걸친 U 값들의 평균의 m 번째 최하위 비트의 값이 이 블록에 임프레스된 값으로서 추출되는 단계 447로 진행한다. 다음, 프로세스는 단계 459에서 종료된다.
단계 453에서의 테스트 결과가 아니오이면, 분산은 데이터가 단지 블록의 화소들의 U 값들의 평균의 정수 부분의 제2 최하위 비트 상에 인코딩될 가능성이 있도록 충분히 크다는 것을 지시하고, 제어는 변수 m이 2로 설정되는 단계 457로 진행한다. 다음, 제어는 블록의 화소들에 걸친 U 값들의 평균의 m 번째 최하위 비트의 값이 이 블록에 임프레스된 값으로서 추출되는 단계 447로 진행한다. 다음, 프로세스는 단계 459에서 종료된다.
3개의 문턱치들 및 4 비트 위치들의 사용이 도 3 및 도 4에 도시되었지만, 본 기술 분야의 당업자들은 다른 수의 문턱치들 및 인코딩 값들에 지시된 방법을 즉시 적용할 수 있을 것이다.
유사하게, 각각의 프레임의 블록들 또는 비디오 신호의 필드가 모두 부가 정보로 임프레스될 필요는 없다.
도 6은 특정 크로미넌스 부분이 더 적합한지를 결정하여 화소를 위한 워터마킹 정보를 포함하도록 선택되는 다른 예시적인 프로세스를 도시한다. 프로세스는 워터마킹 정보를 포함하도록 크로미넌스 부분을 선택할 필요가 있을 때 단계 601에서 시작한다. 도 6의 설명을 위해, 화소는 YUV 포맷으로 표현되는 것으로 가정한다. 더욱이, 바람직하게는 원래의 비디오의 각각의 원래의 2×2 휘도 블록에 대해서 원래의 비디오가 4-4-4 표현으로 존재하며, 각각의 크로미넌스 성분, 즉 각각의 대응 U 및 V 값들의 각각의 쌍에 대해 단지 하나의 Y 값이 존재해야 한다는 것을 주목해야 한다. 이를 위해, 원래의 블록의 Y 값들은 U 및 V와 동일한 해상도를 갖도록 다운샘플링될 수도 있다. 대안적으로, 특정 U 및 V 값들과 연관된 Y 값들의 평균, 또는 소정의 다른 조합이 계산되어 도 6의 프로세스를 위한 Y 값으로서 사용될 수도 있다.
개념적으로는, 가능한 화소 위치에 대응하는 3차원 YUV 컬러 공간에서의 각각의 위치는, 화소의 Y, U 및 V 값들이 취할 수 있는 전체 범위가 주어지면, 예를 들면 실험적 관찰들에 기초하여 더 적합한 크로미넌스 부분으로 할당되고, 이러한 Y, U 및 V 값들을 갖는 화소들에 대해 선택되어야 한다. 각각의 Y, U 및 V가 8 비트의 전체 범위를 갖는 Y, U 및 V 값들의 각각의 가능한 세트를 위한 전체 표의 버전이 이용되면, 적어도 16M 비트의 정보가 저장될 필요가 있고, 단지 하나의 비트가 선택된 크로미넌스 부분을 지시하도록 각각의 위치에 저장되는 것으로 가정한다. 단일 비트의 사용은 단지 U 또는 V의 선택을 허용하지만, U 또는 V 모두가 이용되지 않는 것을 지시하지는 않는다는 것을 주목하라. U 또는 V 모두를 선택할 수 없도록 요구되면, 32Mbits의 정보가 필요할 수 있다.
3차원 YUV 컬러 공간 내의 각각의 가능한 화소에 대해 선택되는 크로미넌스 부분의 예시적인 할당들의 부분의 절개도는 도 7에 도시된다. 도 7은 개념적인 시각적 보조로서 교시의 목적으로만 제공되고 실제 데이터를 나타내지 않는다는 것을 주목하라.
저장 요건들을 감소시키기 위해, YUV 컬러 공간은 각각의 구역이 Y, U 및 V의 적어도 하나의 세트 및 통상적으로는 다수의 세트들에 대응하는 위치들, 즉 적어도 하나의 화소, 및 가능하게는 다수의 화소들에 대응하는 컬러 공간 내의 위치들을 포함하도록 규정되고 각각의 구역 및 따라서 구역에 맵핑되는 각각의 화소가 예를 들면 실험적인 관찰들에 기초하여 그의 Y, U 및 V 값들의 임의의 화소가 구역 내에 있도록 선택되는 크로미넌스 부분으로 할당되는 구역들의 그룹이 고려될 수 있다. 이러한 구역 내로의 그룹화를 위한 하나의 방법은 선형 또는 비선형일 수 있는 양자화이다.
표 1은 각각의 구역이 4개의 Y 값들, 4개의 U 값들 및 4개의 V 값들, 및 따라서 임의의 화소에 대한 8비트 값들의 64개의 가능한 조합들에 대응하는 예시적인 컬러 공간 선택 표를 위한 리스트이다. 이러한 표의 사용은 단지 하나의 비트가 각각의 위치에 저장된다고 가정하여 256Kbits로, Y, V를 선택하고 및 U 및 V를 모두 선택하지 않은 것이 요구된다고 가정하여 512Kbits로 저장될 요구 정보를 감소시킨다. 표 1은 예를 들면 ROM, RAM과 같은 임의의 컴퓨터 판독 가능 매체, 하드 디스크 또는 테이프 드라이브와 같은 자기 저장 장치, CD-ROM 또는 DVD-ROM 등과 같은 광학 저장 장치에 저장될 수 있다.
본 기술 분야의 당업자들은 8 비트의 전체 범위를 갖는 Y, U 및 V의 각각에 대한 표 1에 이용된 값들이 예를 들면 각각 10 비트값을 우측으로 2회 시프팅함으로써 4로 분할하여 10 비트의 Y, U 및 V 값들과 함께 사용하기 위해 스케일링될 수 있다는 것을 즉시 인식할 수 있을 것이다. 마찬가지로, Y, U 및 V에 사용된 다른 수들의 비트들이 유사하게 수용될 수 있다.
표 1의 데이터를 효과적으로 배열하고 접속하기 위해, 동일한 U 및 V 양자화값들을 갖지만 상이한 순차적 양자화 Y 값들을 갖는 8개의 인접한 구역들에 대해 1이 선택 U를 지시하고 0이 선택 V를 지시하는 규정된 U 또는 V 선택이 바이트를 형성하도록 함께 그룹화되도록 배열된다. 따라서, 각각의 U 및 V 값들에 대해 각각 동일한 U 및 V 양자화값들을 갖지만 상이한 양자화 Y 값들을 갖는 구역에 대응하는 8 바이트들이 존재한다.
표 1은 U 값들에 대응하는 최상위 비트들, V 값들에 대응하는 다음의 최하위 값들 및 Y 값들에 대응하는 최하위 값들을 갖는 어드레스를 사용하여 어드레싱되도록 배열된다. 달리 말하면, 바이트들의 어드레스는 이하와 같이 형성될 수 있다:
U7|U6|U5|U4|U3|U2|V7|V6|V5|V4|V3|V2|Y7|Y6|Y5
여기서, U7, U6, U5, U4, U3 및 U2는 화소들 U 값의 제8 내지 제3 최하위 비트들의 값들이고, V7, V6, V5, V4, V3 및 V2는 화소들 V 값의 제8 내지 제3 최하위 비트들의 값들이고, Y7, Y6 및 Y5는 화소들 Y 값의 제8 내지 제6 최하위 비트들의 값들이다. 다음, 바이트 내의 특정 비트가 Y 성분, 예를 들면 Y4, Y3 및 Y2의 제5 내지 제2 최하위 비트들을 사용함으로써 규정된다.
표 1과 같은 표는 인간 시각 시스템이 a) 청색에 덜 민감하고, b) 더 낮은 휘도값들에 더 민감한 사실들을 반영한다. 이러한 표는 시행 착오에 의해 일반적으로 이하와 같이 전개될 수 있다.
컬러 공간은, 각각의 섹션이 휘도값에 의해 규정되고 그의 최소값으로부터 최대값으로 변경하는 제1 크로미넌스 부분에 대응하는 제1 차원 및 그의 최소값으로부터 최대값으로 변경하는 제2 크로미넌스 부분에 대응하는 제2 차원을 배열하는 섹션들 내에서 검사된다. 휘도 및 크로미넌스 부분들의 임의의 하나 또는 모두는 예를 들면 8비트 값들의 6개의 최상위 비트들을 사용하여 양자화될 수 있다. 이렇게 함으로써, 상이한 컬러들의 블록들로서 표시될 때 각각의 휘도값에 대해 하나의 평면을 나타내는 바둑판형 크로미넌스 부분 값들을 갖는 평면들의 세트가 생성된다. 예를 들면, 휘도의 8 비트 값들의 6개의 최상위 비트들을 사용하기 위해 양자화함으로써 양 크로미넌스 부분들이 각각의 가능한 양자화 휘도값에 대응하는 64개의 평면들을 산출하고, 각각의 평면은 평면당 총 4096개의 박스들에 대해 수직으로 64개의 박스들 및 수평으로 64개의 박스들을 갖는 색 형성 박스들의 바둑판 패턴을 갖는다.
각각의 평면은 개별적으로 검사된다. 랜덤 데이터가 플리커(flicker)가 나타나야 하는 것을 관찰자가 검출하고 시간에 걸친 프레임의 유사 위치 설정 블록들 내의 상이한 값들을 갖는 것을 확인하기에 충분한 프레임들의 수에 대해 전개된다. 30초 이상이 가치 있는 것으로 판명되었다. 랜덤 데이터는 컬러 선택이 제1 크로미넌스 부분이 되도록 강요하는 워터마킹을 성취하도록 예를 들면 도 1의 시스템 및 도 3의 프로세스를 사용하여 크로미넌스 부분들의 제1 크로미넌스 부분에서만 평면을 포함하는 프레임들에 임프레스된다.
플리커가 관찰되지 않는 임의의 블록은 그의 휘도와 크로미넌스 부분들의 조합이 해당 조합을 위해 선택된 크로미넌스 부분으로서 워터마크 데이터를 현재 수반하는 크로미넌스 부분을 이용해야 한다는 것을 표에서 지시한다. 플리커가 관찰되는 임의의 블록은 그의 휘도와 크로미넌스 부분들의 조합이 해당 조합을 위해 선택된 크로미넌스 부분으로서 워터마크 데이터를 현재 수반하지 않는 크로미넌스 부분을 이용해야 한다는 것을 표에서 지시한다. 프로세스는 워터마킹되는 크로미넌스 부분을 변경하지 않고 평면에서 반복된다.
플리커가 양 크로미넌스 부분들에 발생하는 평면의 임의의 블록에서, 발생할 수 있는 바와 같이, 수행자는 크로미넌스 부분이 선택되어야 하는 것을 선택할 수 있다. 예를 들면, U는 인간 시각 시스템이 일반적으로 청색에 덜 민감하기 때문에 선택될 수 있다. 대안적으로, 최종 표의 더 양호한 데이터 압축을 제공할 수 있는 크로미넌스 부분이 이용될 수 있다. 유사하게, 플리커가 양 블록에 나타나지 않는 경우, 이용될 크로미넌스 부분의 선택은 수행자의 판단에 있다.
프로세스는 전체 표가 기입될 때까지 각각의 평면에 대해 반복된다.
표 1
Figure 112004044004392-pat00006
Figure 112004044004392-pat00007
Figure 112004044004392-pat00008
Figure 112004044004392-pat00009
Figure 112004044004392-pat00010
Figure 112004044004392-pat00011
Figure 112004044004392-pat00012
Figure 112004044004392-pat00013
Figure 112004044004392-pat00014
Figure 112004044004392-pat00015
Figure 112004044004392-pat00016

단계 603은 이와 같이 배열될 때 정보에 접근하는 프로세스를 시작한다.
더 구체적으로는, 단계 603에서,
Figure 112004044004392-pat00017
Figure 112004044004392-pat00018
이 계산된다.
여기서, 상술한 바와 유사하게,
p는 프로세싱되는 프레임의 특정 수평 조각을 지시하고 q는 프레임의 특정 열 또는 수직 조각을 지시하고, i는 프로세싱되는 블록 내의 특정 행을 지시하고, j는 프로세싱되는 블록 내의 특정 열을 지시하고, "》"는 우측 시프트 연산이다. 이와 같이 함으로써 화소들 U 값의 소정 제 8 내지 제 3 최하위 비트들, 화소들 V 값의 제 8 내지 제 3 최하위 비트들, 및 화소들 Y 값의 제 8 내지 제 6 최하위 비트들만을 잔류시킨다. 그 후, 단계 605에서 현재 화소를 위한 룩업 테이블 어드레스가 이하와 같이 계산되고,
Figure 112004044004392-pat00019
여기서, "《"는 좌측 시프트 연산이다.
이와 같이 함으로써 추출된 비트들을 조합된 어드레스로 조합하고 화소에 대응하는 1 바이트를 지시한다. 그 후, 단계 607에서, 화소에 대응하는 바이트 내의 특정 비트가 Y 성분의 제 2 내지 제 5 최하위 비트들을 구성하는 값을 바이트 내로의 인덱스로서 사용함으로써 결정된다. 이를 위해, 단계 607은,
Figure 112004044004392-pat00020
을 계산하고, 여기서 mod는 모듈로 펑션이다.
단계 609에서, 계산된 룩업 테이블 어드레스에서의 바이트의 b번째 비트 위치의 값이 추출되어 출력으로서 공급되는 변수 m의 값으로서 할당된다. 또한, 본 예시적인 실시예에서, 추출된 비트가 1이면, U는 선택된 크로미넌스 부분이고, 추출된 비트가 0이면, V는 선택된 크로미넌스 부분이다.
다음, 프로세스는 단계 611에 존재한다.
본 기술 분야의 당업자는 상기를 다른 포맷들, 예를 들면 RGB 또는 YIQ의 화소들로 어떻게 적응하는지를 즉시 인식할 수 있을 것이다.
표의 허프먼 인코딩이 요구되면, U를 1로 선택하고 V를 0으로 선택하는 상기의 대응 관계를 반전시키는 것이, 즉 실험적으로 알 수 있는 바와 같이 U가 화소 조합들의 주요 대부분으로 선택되는 것이 유리할 수도 있다는 것을 주목하라.
도 8은 특정 크로미넌스 부분이 화소를 위한 워터마킹 정보를 포함하도록 선택되는 다른 예시적인 프로세스를 도시한다. 프로세스는 워터마킹 정보를 포함하기에 적합한 크로미넌스 부분을 선택할 필요가 있을 때 단계 801에서 시작한다. 도 6에서와 마찬가지로, 도 8의 설명을 위해, 화소는 YUV 포맷으로 표현되는 것으로 가정한다. 더욱이, 바람직하게는 원래의 비디오의 각각의 원래의 2×2 휘도 블록에 대해서 원래의 4-4-4 표현으로 존재하며, 각각의 크로미넌스 성분, 즉 각각의 대응 U 및 V 값들의 각각의 쌍에 대해 단지 하나의 Y 값이 존재해야 한다는 것을 주목해야 한다. 이를 위해, 원래의 블록의 Y 값들은 U 및 V와 동일한 해상도를 갖도록 다운샘플링될 수도 있다. 대안적으로, 특정 U 및 V 값들과 연관된 Y 값들의 평균, 또는 소정의 다른 조합이 계산되어 도 8의 프로세스를 위한 Y 값으로서 사용될 수도 있다.
도 8의 실시예에서의 저장 요건들을 더욱 감소시키기 위해, 도 6의 실시예와 비교할 때, YUV 컬러 공간이 각각 Y, U 및 V 값들의 적어도 하나의 세트에 대응하는 위치들을 포함하고 예를 들면 실험 관찰들에 기초하여 크로미넌스 부분에 각각 할당되는, 즉 도 6과 관련하여 설명된 바와 같이 그의 Y, U 및 V 값들이 구역 내에 있는 임의의 화소를 위해 선택되는 구역들로 분할될 뿐만 아니라, 미리 설정된 값, 예를 들면 최대값의 1/2 미만의 U 값을 갖는 임의의 화소가 워터마킹을 위해 U 크로미넌스 부분을 갖는다. 따라서, 8 비트 Y, U 및 V 값들에 대해, U의 값이 128 미만이면, U 크로미넌스 부분은 항상 V 또는 Y의 값들에 무관하게 워터마킹을 위해 선택된다. 이는 인간 시각 시스템이 V 성분보다 청색 성분(U)에 덜 민감하기 때문이다.
어드레스의 U-값-유도 비트들에 대응하는 크로미넌스 부분 선택 표의 최상위 어드레스 비트들을 가짐으로써, 유리하게는 표의 크기가 1/2까지 감소될 수 있다. 이는 U 값이 표 어드레스를 형성하기 전에 최대값의 1/2 미만인지를 결정하도록 테스트를 추가함으로써 성취되고, 테스트 결과가 예이면, 단순히 U 크로미넌스 부분을 선택하는 것을 지시하고 표에 접근하는 프로세스의 결과를 스킵하며, 또한 어드레스의 U-값-유도 비트들을 계산하기 전에 실제 U 값으로부터 최대 U 값의 1/2을 감산함으로써 성취된다. 따라서, 최상위 U 비트가 0인 것에 대응하는 도 6에 이용된 표의 섹션이 제거되고, 최상위 U 비트가 1인 표의 부분만이 유지된다. 그러나, 표의 잔여부 내로의 인덱싱은 U-값-유도 비트들을 형성하기 전에 최대 U 값의 1/2의 U 값으로부터 감산에 의해 시프트된다.
따라서, 표는 U 값들에 대응하는 최상위 비트들, V 값들에 대응하는 다음의 최하위 값들 및 Y 값들에 대응하는 최하위 값들을 갖는 어드레스를 사용하여 어드레싱되도록 배열된다. 달리 말하면, 바이트들의 어드레스는 이하와 같이 형성될 수 있다:
U6|U5|U4|U3|U2|V7|V6|V5|V4|V3|V2|Y7|Y6|Y5
여기서, U6, U5, U4, U3 및 U2는 화소들 U 값의 제 7 내지 제 3 최하위 비트들의 값들이고, V7, V6, V5, V4, V3 및 V2는 화소들 V 값의 제 8 내지 제 3 최하위 비트들의 값들이고, Y7, Y6 및 Y5는 화소들 Y 값의 제 8 내지 제 6 최하위 비트들의 값들이다. 다음, 바이트 내의 특정 비트가 Y 성분, 예를 들면 Y4, Y3 및 Y2의 제5 내지 제 2 최하위 비트들을 사용함으로써 규정된다.
이를 위해,
Figure 112009036563837-pat00021
< 미리 설정된_값인지를 결정하도록 조건 분기점 802가 테스트하고, 여기서 미리 설정된_값은 예를 들면 최대 U 값의 1/2이다. 비트를 절약하고 표 크기를 절반으로 하기 위해, 바람직하게는 미리 설정된_값은 2의 멱이어야 한다. 단계 802에서의 테스트 결과가 아니오이면, U의 값이 미리 설정된 값, 예를 들면 U의 최대값의 1/2, 예컨대 128 미만이고 따라서 선택될 크로미넌스 부분이 Y, U 및 V의 함수이며 따라서 표가 접근되어야 한다는 것을 지시하고, 제어는 표의 접근 프로세스를 시작하는 단계 803으로 진행한다. 단계 803에서,
Figure 112004044004392-pat00022
Figure 112004044004392-pat00023
이 계산된다.
여기서 상술한 바와 유사하게,
p는 프로세싱되는 프레임의 특정 수평 조각을 지시하고 q는 프레임의 특정 열 또는 수직 조각을 지시하고, i는 프로세싱되는 블록 내의 특정 행을 지시하고, j는 프로세싱되는 블록 내의 특정 열을 지시하고, "》"는 우측 시프트 연산이다. 이와 같이 함으로써 화소들 U 값의 소정 제7 내지 제3 최하위 비트들, 화소들 V 값의 제8 내지 제3 최하위 비트들, 및 화소들 Y 값의 제8 내지 제6 최하위 비트들만을 잔류시킨다. 그 후, 단계 805에서 현재 화소를 위한 룩업 테이블 어드레스가 이하와 같이 계산되고,
Figure 112004044004392-pat00024
여기서, "《"는 좌측 시프트 연산이다.
이와 같이 함으로써 추출된 비트들을 조합된 어드레스로 조합하고 화소에 대응하는 1 바이트를 지시한다. 그 후, 단계 807에서, 화소에 대응하는 바이트 내의 특정 비트가 Y 성분의 제5 내지 제2 최하위 비트들을 구성하는 값을 바이트 내로의 인덱스로서 사용함으로써 결정된다. 이를 위해, 단계 807은,
Figure 112004044004392-pat00025
을 계산하고, 여기서 mod는 모듈로 펑션이다.
단계 809에서, 계산된 룩업 테이블 어드레스에서의 바이트의 b번째 비트 위치의 값이 추출되어 변수 m에 저장된다. 변수 m의 값은 단계 811에 출력으로서 공급된다. 또한, 출력 비트가 1이면, U는 선택된 크로미넌스 부분이고, 추출된 비트가 0이면, V는 선택된 크로미넌스 부분이다. 다음, 프로세스는 단계 813에 존재한다.
단계 802에서의 테스트 결과가 예이면, 화소 컬러가 주로 청색이 아니고 따라서 호소의 청색의 변경이 인간 시각 시스템에 의해 검출되지 않기 때문에 U 크로미넌스 부분이 선택되어야 하는 것을 지시하고, 제어는 변수 m이 1로 설정되는 단계 815로 진행한다. 이렇게 함으로써 U가 선택되는 것을 보장한다. 다음, 제어는 단계 811로 진행하고, 프로세스는 상술한 바와 같이 계속된다.
상술한 컬러 선택의 개선에도 불구하고, 화소에 대한 특정 Y, U 및 V 값들에서는, 여전히 약간의 검출 가능한 플리커링(flickering)이 나타나는 가능성이 바람직하지 않게 존재한다. 이는 MPEG형 인코딩을 잔존시키기 위해 선택된 크로미넌스 부분의 평균값에 큰 값들을 가산할 필요가 있을 수도 있기 때문이다.
도 9는 본 발명의 원리들에 따라, 블록의 크로미넌스 부분의 평균값에 임프레스되기에 앞서 임프레스될 데이터를 적어도 1회, 바람직하게는 2회 이상 복제함으로써 플리커링이 감소될 수 있는 예시적인 송신기를 도시한다. 원래의 및 각각의 복제는 개별의 연속적인 프레임들의 동일한 블록 위치에 전송된다. 바람직하게는, 동일한 데이터를 수반하는 유사 위치 설정 블록들을 갖는 프레임들이 디스플레이 순서에서 연속적이다. 더욱이, 본 발명의 특징에 따르면, 프레임의 특정 블록들이 인코딩된 사용자 데이터보다는, 예를 들면 바커 시퀀스와 같은 특정의 공지의 데이터 시퀀스로 매입될 수 있다.
도 9의 본 발명의 실시예는 도 1의 배열과 유사하다. 도 9의 유사한 도면 부호로 나타낸 모든 요소들은 도 1과 실질적으로 동일하게 동작한다. 도 1의 요소 들에 부가하여, 도 9에는 중계기(925) 및 선택적 시퀀스 가산기(927)가 도시된다. 게다가, 도 1의 비트 맵퍼(123)는 도 9에서는 비트 맵퍼(923)로 선택적으로 대체된다. 비트 맵퍼(923)로의 비트 맵퍼(123)의 대체는 비트 맵퍼(923)와 관련하여 이하에 설명되는 부가의 기능이 요구되는 경우에만 필요하다.
중계기(925)는 블록 인터리버(121) 또는 선택적 시퀀스 가산기(927)로부터 비트들을 수신한다. 중계기(925)는 수신 비트들을 저장하고 이들을 적어도 2개의 프레임들의 유사 위치 설정 블록들에 대해 출력한다. 본 발명의 일 실시예에서, 중계기(925)가 수신 비트들을 저장하여 이들을 3개의 프레임들의 유사 위치 설정 블록들에 대해 출력할 때 양호한 결과들이 성취되는 것으로 발견되었다. 본 기술 분야의 당업자들은 데이터가 반복되는 프레임들의 수를 선택함으로써 워터마크 데이터의 소정 출력과 임의의 지각되는 플리커를 균형화할 수 있을 것이다.
선택적인 시퀀스 가산기(927)는 프레임의 특정 블록들에서 인코딩된 사용자 데이터를 대신하는 데이터 시퀀스인 예를 들면 바커 시퀀스와 같은 특정 공지의 데이터 시퀀스를 매입한다. 본 발명의 특징에 따르면, 데이터 시퀀스가 인코딩되는 특정 블록들은 프레임의 블록들에 걸쳐 분산될 수 있다. 초기 및 반복된 데이터 프레임들의 각각의 그룹은 상이한 공지의 시퀀스를 이용할 수 있다. 이렇게 함으로써 수신기가 프레임들의 그룹화를 검출하는 것을 가능하게 한다. 대안적으로, 동일한 시퀀스가 각각의 그룹에 이용될 수 있지만 시퀀스를 위해 사용된 특정 블록들은 연속적인 그룹들에 대해 상이할 수 있다.
도 10은 본 발명의 원리들에 따른 도 9의 송신기에 의해 생성된 바와 같은 워터마킹된 비디오 신호를 수신하는데 사용하기 위한 수신기의 예시적인 실시예를 도시한다. 도 10의 본 발명의 실시예는 도 2의 배열과 유사하다. 도 10의 유사한 도면 부호로 나타낸 모든 요소들은 도 2에서와 실질적으로 동일하게 동작한다. 도 2의 요소들에 부가하여, 도 10에는 시퀀스 프로세서(1025) 및 프레임 가중 유닛(1027)이 도시된다. 더욱이, 도 2의 채널 디코더(221)는 도 10에서는 채널 디코더(1021)로 선택적으로 대체된다.
예를 들면, 도 10에 도시된 바와 같은 수신기는 시퀀스 프로세서(1025)를 사용하여 그룹 동기화를 검출할 수 있다. 이는 동기화 패턴으로서 이용되는 연속적인 프레임들의 그룹-길이-수의 각각의 프레임으로부터 그룹 식별 시퀀스의 값들을 가산하고 결과가 규정된 문턱치를 초과하는지를 결정함으로써 수행될 수 있다. 문턱치가 초과되면, 그의 예측된 동기화 패턴값이 가산되는 제 1 프레임이 그룹 내의 제 1 프레임이라고 가정한다. 문턱치가 초과되지 않으면, 그의 값이 가산되는 제 1 프레임이 그룹의 제 1 프레임이 아니라고 가정한다. 이는 동기화 패턴의 자동 보정을 수행하는 것과 유사하다. 본 기술 분야의 당업자들은 오류 정합들을 회피하기 위한, 뿐만 아니라 그룹 동기화를 선언하기 전에 최대값을 탐색하는 것과 같은 에러들에 기인하는 제 1 프레임의 손실을 취급하기 위한 다른 종래의 기술들이 이용될 수 있다는 것을 인식할 수 있을 것이다.
유리하게는, 일단 수신기가 규칙적인 그룹 패턴을 검출하면, 패턴으로부터 편차가 있는 임의의 시기에 수신기는 원래의 비디오 시퀀스의 프레임이 제거되었다는 것을 인식할 수 있을 것이다. 이러한 정보는 시퀀스 프로세서(1025)에 의해 출력으로서 공급된다.
예를 들면, 본 발명의 일 실시예에서, 비디오 신호 내의 벤더의 다양한 광고들이 모니터링될 수 있다. 벤더는 그의 광고의 각각의 프레임에 매입된 고유 코드로 할당될 수 있다. 수신기는 특정 고유 코드 및 어떠한 워터마킹된 프레임들의 블록들이 코드를 포함해야 하는지를 인식한다. 워터마킹된 프레임들 내의 코드의 출현을 검출함으로써, 수신기는 벤더의 광고들 중 하나에 속하는 것들로서 프레임을 식별할 수 있다. 일단 코드를 갖는 프레임이 검출되면, 코드를 갖는 순차적인 프레임들의 수가 카운팅되어 광고의 길이를 결정할 수 있다. 카운팅된 프레임들의 수가 원래의 워터마킹될 때 광고의 공지의 길이에 기초하는 프레임들의 예기된 수보다 작으면, 광고는 프레임들의 예기된 수와 프레임들의 카운팅된 수 사이의 차이에 대응하는 프레임들의 수를 제거함으로써 부적절하게 단축된 것으로 가정될 수 있다. 본 기술 분야의 당업자들은 오류 정합들을 회피하기 위한, 뿐만 아니라 에러들에 기인하는 제1 프레임의 손실을 취급하기 위한 다른 종래의 기술들이 이용될 수 있다는 것을 인식할 수 있을 것이다.
광고의 각각의 프레임, 또는 광고 내의 프레임들의 그룹들은 예를 들면 프레임에 걸친 개별 시퀀스의 부분인 프레임 또는 그룹 번호와 같은 고유 식별자로 워터마킹될 수 있다. 예측된 시퀀스 내의 갭이 하나 이상의 손실 프레임들에 기인하여 검출되면, 손실 프레임들은 각각의 프레임이 고유 식별자를 가질 때 구체적으로 식별될 수 있다. 식별자들이 단지 그룹들로 할당되어 각각의 그룹 내의 프레임들의 수가 공지되면, 단지 임의의 손실 프레임들이 속하는 특정 그룹이 식별되고 그 와 함께 얼마나 많은 프레임들의 카운트가 손실되었는지가 식별된다.
데이터의 복제가 본 발명의 원리들에 따라 상술한 바와 같이 플리커를 감소시키기 위해 이용될 수 있지만, 이렇게 함으로써 특정 프레임을 식별하기 위한 것보다는 프레임이 손실되는 그룹을 단지 식별하기 위해 손실 프레임들을 검출하는 능력을 제한할 수 있다. 따라서, 본 발명의 특징에 따르면, 워터마크 데이터가 일반적으로 복제되지만, 개별 프레임 식별자는 복제되지 않을 수도 있다. 이러한 미복제 프레임들을 포함하는 블록들은 이들이 예를 들면 프레임의 코너들과 같은 플리커링을 발생할 수 있는 주의를 유도할 가능성이 적은 위치에 배치된다. 이렇게 함으로써 검출 가능한 플리커를 감소시키고 또한 손실되는 특정 개별 프레임들이 검출될 수 있게 하는 주요 장점을 제공한다.
벤더가 상이한 광고들을 가지면, 광고들의 각각은 수신되는 해당 벤더의 특정 광고를 식별하도록 그의 프레임들 중 적어도 하나에 매입된 추가의 시퀀스를 가질 수 있다.
다수의 벤더들이 워터마킹된 광고들을 가지면, 각각의 벤더가 고유 코드로 할당되는 한, 제1 고유 코드를 갖는 제1 벤더의 광고들의 출현을 모니터링하는 시스템은 제2 고유 코드를 갖는 제2 벤더의 광고들을 무시할 수 있다. 대안적으로, 단일 시스템이 각각 고유 코드를 갖는 상이한 벤더들로부터 광고들의 출현을 위한 비디오 신호를 모니터링할 수 있고, 결과들은 이들의 코드들에 기초하여 벤더에 의해 격리될 수 있다.
다수의 벤더들이 워터마킹된 광고들을 갖는 본 발명의 다른 실시예에서, 각 각의 벤더는 동일한 코드를 이용하고, 코드는 각각의 벤더를 위한 프레임 내의 동일 블록 위치들에 있을 수 있다. 그러나, 프레임 내에 포함되는 모든 후속 데이터가 각각의 벤더를 위한 고유 키이를 사용하여 암호화되고 각각의 벤더는 해당 벤더를 위한 키이만을 인지하는 수신기를 갖는다. 따라서, 각각의 벤더는 그의 고유의 광고들만으로부터의 데이터를 해독하고 수신할 수 있다. 본 발명의 다른 실시예에서, 각각의 벤더를 위한 데이터는 프레임의 블록들을 걸쳐 데이터를 스크램블링함으로써 암호화될 수 있다. 각각의 수신기는 단지 그의 연관 벤더를 위한 스크램블링 패턴만을 인지할 수 있다.
광고의 시작을 지시하는 코드의 초기 출현을 모니터링하는 것은 연속적으로, 또는 그 동안에 광고가 방송되도록 예측되는 시간의 윈도우 내에서 수행될 수 있다.
본 발명의 특징에 따르면, 그룹의 다수의 프레임들에 걸쳐 단순히 데이터를 반복하고 이어서 비트 맵퍼(123)(도 1)를 사용하는 대신에, 블록의 복잡성 및 그의 예기된 양자화 레벨에 따르는 블록의 크로미넌스 부분의 평균값에 가산된 양이 블록의 복잡성이 프레임으로부터 프레임까지의 대응 위치들에서 동일할 때에도 그룹에 걸쳐 프레임으로부터 프레임까지 약간 변경될 수 있다. 본 발명의 특징에 따르면, 수행되는 변경은 평균값 내에 워터마크 비트를 배치하기 위해 평균에 가산되는 값에 대해 작다. 이러한 변경들은 비트 맵퍼(923)(도 9)에 의해 수행되어 수신기에서의 데이터의 신뢰성을 향상시키도록 유리하게 이용될 수 있는 부가의 코딩 이득을 제공할 수 있다. 그러나, 이렇게 함으로써 낮은 텍스쳐 영역들의 시각적 품질에서의 약간의 감소를 발생시킬 수 있는데, 이는 블록 내의 소수의 화소들이 동일 위치 내의 그들의 선행자들과는 상이한 값들을 가질 수도 있기 때문이다. 그러나, 이러한 감소는 화소 레벨이 있기 때문에, 통상적으로는 주목되지 않는다.
본 발명의 일 예시적인 실시예에서, 3개의 시간 연속적 프레임들의 그룹들이 상부에 임프레스되는 동일한 워터마크 데이터로 전송된다. 그룹의 중간 프레임은 도 3에서 결정된 값으로부터 블록의 선택된 크로미넌스 부분의 평균값에 가산된 양을 변경시키지 않고 도 3과 관련하여 상술한 바와 같이 워터마킹된다.
그룹의 최초 프레임은 또한 도 3과 관련하여 설명된 바와 같이 전개되는 블록의 선택된 크로미넌스 부분의 평균값에 비트 맵퍼(923)(도 9)에 의해 가산되는 계산값, 즉 오프셋 바이어스를 갖는다. 그러나, 본 발명의 특징에 따르면, 예를 들면 평균값 내에 워터마크 비트를 배치하기 위해 평균에 가산되는 값의 절대값의 1/4 또는 바람직하게는 1/2인 바이어스는 워터마크 데이터를 수반하도록 선택된 크로미넌스 부분의 계산된 평균값에 부가적으로 가산된다. 따라서, 예를 들면, 1이 평균 값내에 워터마크 비트를 배치하기 위해 평균값에 가산되면, 1/2이 평균값에 가산된다. 이는 블록 내에 64 화소들이 존재할 때 블록의 모든 화소들의 선택된 크로미넌스 부분의 값들의 합에 32를 가산하는 것을 번역한다. 따라서, 합산기(133)는 바이어스가 가산되지 않은 것보다 높은 값을 수신한다. 유사하게, 다른 예로서, -4가 평균 값 내에 워터마크를 배치하기 위해 평균값에 가산되면, 평균값에 가산된 값의 절대값의 1/2이 이용되면, 이는 블록 내에 64 화소들이 존재할 때 블록의 모든 화소들의 선택된 크로미넌스 부분의 값들의 합에 128을 가산하는 것을 번역한다.
이 부가의 바이어스 양, 예를 들면 32는 이들의 휘도 분산들에 기초하여 다양한 화소들에 걸쳐 분포될 수 있다는 것을 주목하라. 또한, 이 바이어스의 가산은 안전 범위로 유도하도록 평균에 가산된 임의의 값에 무관하다. 그 결과, 평균값은 안전 범위의 외부에 있을 수 있다. 그러나, 안전 범위의 외부로 이동함으로써 발생되는 에러 가능성의 증가는 바이어스를 이용함으로써 초래하는 최종 코딩 이득에 의해 오프셋보다 많다.
그룹의 최후 프레임은 도 3과 관련하여 설명된 바와 같이 전개되는 블록의 선택된 크로미넌스 부분의 평균값에 비트 맵퍼(923)(도 9)에 의해 감산되는 계산값, 즉 오프셋 바이어스를 갖는다. 그러나, 본 발명의 특징에 따르면, 예를 들면 평균값 내에 워터마크 비트를 배치하기 위해 평균에 가산되는 값의 절대값의 1/4 또는 바람직하게는 1/2인 바이어스는 워터마크 데이터를 수반하도록 선택된 크로미넌스 부분의 계산된 평균값으로부터 부가적으로 감산된다. 따라서, 예를 들면, -3이 평균 값 내에 워터마크 비트를 배치하기 위해 평균값에 가산되면, -3의 절대값의 1/2, 즉 1.5가 평균값으로부터 감산된다. 이는 블록 내에 64 화소들이 존재할 때 블록의 모든 화소들의 선택된 크로미넌스 부분의 값들의 합으로부터 64를 감산하는 것을 번역한다. 따라서, 합산기(133)는 바이어스가 가산되지 않은 것보다 낮은 값을 수신한다. 유사하게, 다른 예로서, 2가 평균 값 내에 워터마크를 배치하기 위해 평균값에 가산되면, 2의 절대값의 1/2, 즉 1이 평균값으로부터 감산된다. 이는 블록 내에 64 화소들이 존재할 때 블록의 모든 화소들의 선택된 크로미넌스 부분의 값들의 합으로부터 64를 감산하는 것을 번역한다.
감산된 바이어스 양의 손실, 예를 들면 32는 이들의 휘도 분산들에 기초하여 다양한 화소들에 걸쳐 분포될 수 있다는 것을 주목하라. 또한, 이 바이어스의 감산은 안전 범위로 유도하도록 평균에 가산된 임의의 값에 무관하다. 그 결과, 평균값은 안전 범위의 외부에 있을 수 있다. 그러나, 안전 범위의 외부로 이동함으로써 발생되는 에러 가능성의 증가는 최종 코딩 이득에 의해 오프셋보다 많다.
이것이 작용하는 방식에 대한 고려의 일 방법이 도 5에 도시된다. 상술한 바와 같이, 바이어스 양을 고려하지 않고 종종 단지 충분한 값이 안전 범위의 외부 경계들 중 하나에 도달하기 위해 블록의 선택된 크로미넌스 부분의 평균값에 가산되거나 이로부터 감산된다. 따라서, 임의의 바이어스에 앞서, 다수의 프레임들이 안전 범위의 경계에 또는 그에 인접하여 존재한다. 아무것도 가산되거나 감산되지 않는 중간 프레임은 경계의 우측에 잔류한다. 약간의 바이어스가 가산되는 프레임은 안전 범위 내에 더 양호하게 위치되도록 약간 이동하고, 또는 안전 범위의 외부로 약간 이동할 수 있다. 약간의 바이어스가 감산되는 프레임은 바이어스가 가산되는 프레임에 대향하는 방향으로 이동한다. 따라서, 최악의 경우에, 3개의 프레임들의 그룹에 대해 하나가 안전 범위 내에 있을 수 있고, 하나가 안전 범위의 경계에 있을 수 있고, 하나가 안전 범위의 약간 외부에 있을 수 있다. 이는 값들의 독립적인 확산을 초래한다.
본 발명의 바이어스의 효과는 MPEG형 인코딩에 의해 수행되는 양자화 및 MPEG 역양자화 동안에 가산되는 개별 MPEG-바이어스에 의해 더욱 확대된다. 이는 동일한 비트가 연속적인 프레임들에 걸쳐 전송될 때에도 연속적인 프레임들 내에 유사 위치 설정 블록들에 대한 수신 데이터 값들의 상당한 차이들을 초래할 수 있다.
수신기에서는, 예를 들면 도 10에 도시된 바와 같이, 각각의 프레임으로부터 추출된 데이터가 각각의 프레임, 예를 들면 프레임 가중 유닛(1027)에 존재하는 것으로 고려되는 품질 레벨에 기초하여 조합하는 최대비를 적절하게 사용하여 가중된다. 이를 위해, 시퀀스 프로세서(1025)는 프레임 가중 유닛(1027)에, a) 프레임 가중 유닛(1027)이 어떠한 프레임들이 함께 그룹화되는지를 인지할 수 있게 하는 프레임 동기화 정보, 및 b) 각각의 프레임의 동기화 패턴 내의 에러들의 수를 공급할 수 있다. 품질 레벨은 얼마나 많은 에러들이 수신 프레임 내에 존재하는지에 기초하여 결정되고, 이는 얼마나 많은 에러들이 시퀀스 프로세서(1025)에 의해 추출되는 바와 같은 해당 프레임에 대해 예측되는 동기화 패턴 내에 존재하는지에 기초하여 결정될 수 있다. 표 1은 각각의 동기화 패턴을 위한 다수의 에러들 및 그의 동기화 패턴 내의 이러한 다수의 에러들을 갖는 프레임에 적절한 것으로 실험적으로 유도된 각각의 가중치를 도시한다. 달리 말하면, 각각의 프레임으로부터의 추출 데이터의 값들은 조합 프로세스의 부분으로서 그의 연관 가중치에 의해 가중된 소프트 데이터로서 처리될 수 있다.
가중치들에 기초하여, 연속적인 프레임들 내의 대응 블록 위치들을 위한 동일한 데이터 비트의 다수의 인스턴스들이 추출되고 조합되어 단일의 수신 비트를 형성한다. 이는 이하의 수학식을 계산함으로써 성취될 수 있다.
Figure 112004044004392-pat00026
여기서, bit_out은 3개의 프레임들의 그룹에 대한 최종 출력 비트이고;
w1, w2 및 w3은 시간 프레임들 내의 제1, 제2 및 제3의 각각에 대한 가중치들이고;
bit1, bit2, 및 bit3는 시간 프레임들 내의 제 1, 제 2 및 제 3의 유사 위치 설정 블록으로부터의 비트들이고,
n은 소프트 디코더가 입력 정밀도의 비트들의 수이다.
소프트 정보의 최적의 사용을 위해, 채널 디코더(1021)는 소프트 데이터 비트들, 즉 소프트 디코더 입력 정밀도에 의존하는 범위의 비 2진수로서 각각 표현되는 데이터 비트들을 이용하는 소위 소프트 디코더이다. 예를 들면, 8비트 입력 정밀도 소프트 디코더는 0과 255 사이의 값들로 동작한다. 이를 위해 수신된 하드 비트들의 가중 평균,
Figure 112004044004392-pat00027
이 2n-1 만큼 승산되어 소프트 디코더에 의해 프로세싱될 수 있는 적절한 정밀도의 소프트 값으로 가중 평균을 변환한다.
본 발명의 특징에 따르면, 특정 프레임의 결정된 품질이 규정된 문턱치 아래이면, 특정 프레임이 임의의 워터마킹 데이터를 포함하지 않고 데이터가 해당 프레임에 대해 추출되지 않는 것으로 가정될 수 있다.
본 기술 분야의 당업자들은 프레임이 가산된 값을 갖는지, 감산된 값을 갖는지 및 변경이 없는지; 가산 및 감산이 모두 필요한지; 그룹 내의 프레임들의 수; 및 가산된 또는 감산된 또는 최종값에 수행될 임의의 라운딩이 수행자의 판단에 있는지를 즉시 인식할 수 있을 것이다.
동기화 비트 에러들의 수 가중 팩터 w
0 1
1 0.9
2 0.8
3 0.7
4 0.6
5 0.5
6 0.4

본 발명의 원리들에 따라, 워터마킹될 크로미넌스 부분을 결정하는 과정은 다양한 화소들에 대해 크로미넌스 부분들 중, 만약 있다면, 어느 것이 워터마킹을 위해 선택되어야 하는지를 표시하는 인식-기반 테이블을 채용함으로써 향상될 수 있다.

Claims (19)

  1. 워터마킹될 비디오 신호의 이미지의 화소의 크로미넌스 부분(chrominance portion)을 선택하는 단계로서, (i) 상기 이미지와는 독립적인 인식-기반 테이블(perception-based table)을 채용하고, (ii) 상기 인식-기반 테이블은 컬러 공간 내의 적어도 복수의 가능한 화소들 각각에 대해, 상기 컬러 공간 내의 상기 복수의 화소들의 크로미넌스 부분들이 있다면 이들 중 어느 것이 워터마킹을 위해 선택되어야 하는지를 표시하는 상기 선택 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 인식-기반 테이블은 각각의 엔트리에 대해 제 1 크로미넌스 부분만을 또는 제 2 크로미넌스 부분만을 워터마킹할지를 표시하는, 방법.
  3. 제 1 항에 있어서,
    상기 인식-기반 테이블은 각각의 엔트리에 대해 제 1 크로미넌스 부분을 워터마킹할지, 제 2 크로미넌스 부분을 워터마킹할지, 또는 전혀 워터마킹하지 않을지를 표시하는, 방법.
  4. 제 1 항에 있어서,
    상기 인식-기반 테이블은 컴퓨터 판독 가능한 형태로 있는, 방법.
  5. 제 1 항에 있어서,
    상기 인식-기반 테이블은 전체 컬러 공간을 영역들로 분할하고, 상기 가능한 화소들 중 적어도 하나가 각각의 상기 영역 내에 있으며, 상기 인식-기반 테이블은 상기 화소가 포함되는 상기 인식-기반 테이블의 영역에 기초하여 상기 화소에 지시를 공급하는, 방법.
  6. 제 1 항에 있어서,
    상기 이미지의 상기 화소는 YUV 포맷으로 표현되는 디지털 비디오 비트스트림의 부분이고, 상기 인식-기반 테이블은 상기 이미지에 존재 가능한 임의의 화소에 대해, 상기 화소의 Y, U, 및 V 값들의 함수로서 U 또는 V를 워터마킹하는 것을 표시하는, 방법.
  7. 제 1 항에 있어서,
    상기 이미지의 상기 화소는 제 1 컬러 공간 유형 표현을 이용하여 표현되는 디지털 비디오 비트스트림의 부분이고, 상기 선택 단계는, 상기 제 1 컬러 공간 유형 표현으로 직접 포맷되고 다른 컬러 공간 유형 표현으로 포맷되지 않는 디지털 비트스트림만을 이용하여 수행되는, 방법.
  8. 제 1 항에 있어서,
    상기 이미지의 상기 화소는 원래의 디지털 비디오 비트스트림으로부터 유도된 데시메이팅된 화소인, 방법.
  9. 제 1 항에 있어서,
    상기 이미지의 상기 화소는 원래의 디지털 비디오 비트스트림으로부터 유도된 양자화된 화소인, 방법.
  10. 제 1 항에 있어서,
    상기 인식-기반 테이블은 상기 컬러 공간 전체의 각각의 가능한 화소 값에 대해, 상기 크로미넌스 부분들이 있다면 이들 중 어느 것이 워터마킹을 위해 선택되어야 하는지를 표시하는 정보를 포함하는, 방법.
  11. 제 1 항에 있어서,
    상기 인식-기반 테이블은 상기 컬러 공간의 규정된 부분만의 각각의 가능한 화소에 대해, 상기 크로미넌스 부분들이 있다면 이들 중 어느 것이 워터마킹을 위해 선택되어야 하는지를 표시하는 정보를 포함하고, 상기 선택 단계는 상기 인식-기반 테이블이 정보를 포함하는 상기 컬러 공간의 상기 규정된 부분 내에 상기 이미지의 상기 화소가 있음을 결정하는 단계를 더 포함하는, 방법.
  12. 제 1 항에 있어서,
    상기 인식-기반 테이블은 상기 컬러 공간의 일부만의 각각의 가능한 화소에 대해, 상기 크로미넌스 부분들이 있다면 이들 중 어느 것이 워터마킹을 위해 선택되어야 하는지를 표시하는 정보를 포함하고,
    상기 방법은:
    상기 이미지의 상기 화소가, 상기 인식-기반 테이블이 정보를 포함하는 상기 컬러 공간의 상기 부분 내에 있지 않음을 결정하는 단계; 및
    상기 크로미넌스 부분들이 있다면 이들 중 어느 것이 상기 화소의 적어도 하나의 값의 계산된 함수로서 상기 이미지의 상기 화소에 대해 워터마킹을 위해 선택되어야 하는지를 결정하는 단계를 더 포함하는, 방법.
  13. 제 1 항에 있어서,
    상기 이미지의 상기 화소의 크로미넌스 부분은 상기 크로미넌스 부분의 원래의 값보다는 부가적인 데이터의 운반을 나타내기 위해 변경된 값을 가짐으로써 워터마킹되는, 방법.
  14. 비디오 신호의 이미지의 화소의 크로미넌스 부분이 있다면, 어느 크로미넌스 부분이, 부가적인 워터마크 정보를 운반하기 위해 변경되기에 더 적합한지에 대한 표시를 공급하는 장치에 있어서:
    가능한 화소 컬러 공간의 적어도 일부에 대해 컴퓨터 판독 가능한 매체 내에 인식-기반 테이블을 포함하고, 상기 테이블은 상기 이미지와 독립적이고, 상기 테이블은 상기 컬러 공간의 상기 일부 내에 있는 화소들에 대해 상기 장치에 의해 표시될 크로미넌스 부분을 특정하는, 표시 공급 장치.
  15. 제 14 항에 있어서,
    상기 컬러 공간의 상기 일부 내에 있지 않은 상기 이미지의 화소에 대해, 상기 이미지의 상기 화소의 상기 크로미넌스 부분들 중 적어도 하나의 값에 기초하여 어느 크로미넌스 부분이 표시될지를 지시하는 계산 유닛을 더 포함하는, 표시 공급 장치.
  16. 워터마킹된 비디오 신호의 이미지의 화소의 크로미넌스 부분을 선택하는 단계로서, 상기 이미지와는 독립적인 인식-기반 테이블을 채용하고, 상기 인식-기반 테이블은 컬러 공간 내의 적어도 복수의 가능한 화소들의 각각에 대해, 상기 크로미넌스 부분들이 있다면 이들 중 어느 것에 워터마크 데이터를 부가했을 가능성이 가장 높은지를 표시하는 상기 선택 단계를 포함하는 방법.
  17. 워터마킹될 비디오 신호의 이미지의 화소의 크로미넌스 부분을 선택하는 장치에 있어서:
    상기 이미지와는 독립적이고, 컬러 공간의 적어도 일부에서 적어도 복수의 가능한 화소들 각각에 대해, 크로미넌스 부분들이 있다면 이들 중 어느 것이 워터마킹을 위해 선택되어야 하는지를 표시하는 인식-기반 테이블을 포함하는 컴퓨터 판독 가능한 저장 수단; 및
    워터마킹될 상기 이미지의 상기 화소가 상기 컬러 공간의 상기 부분 내의 상기 화소들 중 하나일 때, 크로미넌스 부분이 있다면, 어느 크로미넌스 부분을 선택할지를 결정하기 위하여 상기 저장 수단에 액세스하는 수단을 포함하는, 크로미넌스 부분 선택 장치.
  18. 제 17 항에 있어서,
    상기 크로미넌스 부분들이 있다면 이들 중 어느 것이 워터마킹을 위해 선택되어야 하는지를 상기 이미지의 상기 화소의 적어도 하나의 값의 함수로서 계산하는 수단으로서, 상기 화소가 상기 컬러 공간의 상기 부분 내의 상기 화소들 중 하나가 아닐 때에만 동작하는 상기 계산 수단을 더 포함하는, 크로미넌스 부분 선택 장치.
  19. 송신기에서 워터마킹되었을 수 있는 비디오 신호의 이미지의 화소의 크로미넌스 부분을 선택하기 위한 수신기 내의 장치에 있어서:
    상기 이미지와는 독립적이고, 컬러 공간의 적어도 일부의 적어도 복수의 가능한 화소들 각각에 대해, 상기 크로미넌스 부분들이 있다면 이들 중 어느 것이 워터마크되도록 선택되었을 가능성이 가장 높은지를 표시하는 인식-기반 테이블을 포함하는 컴퓨터 판독가능한 저장 수단; 및
    상기 이미지의 상기 화소가 상기 컬러 공간의 상기 일부 내에 있을 때, 크로미넌스 부분이 있다면 어느 크로미넌스 부분이 선택될지를 결정하기 위해 상기 저장 수단에 액세스하는 수단을 포함하는, 크로미넌스 부분 선택 장치.
KR1020040077318A 2003-09-29 2004-09-24 디지털 비디오 워터마킹을 위한 컬러 선택 체계 KR101050358B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/673,893 US7630509B2 (en) 2003-09-29 2003-09-29 Color selection scheme for digital video watermarking
US10/673,893 2003-09-29

Publications (2)

Publication Number Publication Date
KR20050031438A KR20050031438A (ko) 2005-04-06
KR101050358B1 true KR101050358B1 (ko) 2011-07-19

Family

ID=34194893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040077318A KR101050358B1 (ko) 2003-09-29 2004-09-24 디지털 비디오 워터마킹을 위한 컬러 선택 체계

Country Status (8)

Country Link
US (1) US7630509B2 (ko)
EP (1) EP1519562B1 (ko)
JP (1) JP5284559B2 (ko)
KR (1) KR101050358B1 (ko)
CN (1) CN100546381C (ko)
AU (1) AU2004214592B2 (ko)
BR (1) BRPI0405538A (ko)
CA (1) CA2477517C (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100849436B1 (ko) * 2004-12-13 2008-07-30 한국전자통신연구원 비디오 워터마킹 기법의 성능 평가를 위한 테스트 동영상선택 방법 및 시스템
US7630512B2 (en) 2005-05-26 2009-12-08 Alcatel-Lucent Usa Inc. Method for performing recoverable video and image watermarking which survives block-based video and image compression
CN101432774B (zh) * 2006-04-25 2012-05-30 汤姆森特许公司 数字加水印方法
JP2008131282A (ja) * 2006-11-20 2008-06-05 Sony Corp 映像伝送方法、映像伝送システム及び映像処理装置
US8150097B2 (en) * 2007-01-24 2012-04-03 Sony Corporation Concealed metadata transmission system
US8315574B2 (en) * 2007-04-13 2012-11-20 Broadcom Corporation Management of variable-rate communication links
US8001445B2 (en) * 2007-08-13 2011-08-16 Provigent Ltd. Protected communication link with improved protection indication
US8040985B2 (en) 2007-10-09 2011-10-18 Provigent Ltd Decoding of forward error correction codes in the presence of phase noise
US8824859B2 (en) 2011-03-16 2014-09-02 Cisco Technology Inc. Adding watermarks to video content
JP6433716B2 (ja) * 2014-08-19 2018-12-05 ラピスセミコンダクタ株式会社 表示装置及び画像データ信号の伝送処理方法
US11082710B2 (en) * 2016-09-14 2021-08-03 Inscape Data, Inc. Embedding video watermarks without visible impairments
US10360651B1 (en) * 2016-09-14 2019-07-23 Inscape Data, Inc. Compatible adaptive video watermarking
US11132758B2 (en) * 2016-09-14 2021-09-28 Inscape Data, Inc. Embedding data in video without visible impairments
US10496862B1 (en) 2019-03-18 2019-12-03 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet light
US10509991B1 (en) 2019-03-18 2019-12-17 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing infrared light
US10534948B1 (en) 2019-03-18 2020-01-14 Capital One Services, Llc Optimizing detection of images in relation to targets based on colorspace transformation techniques
US10496911B1 (en) 2019-03-18 2019-12-03 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet and infrared light
US10523420B1 (en) 2019-04-18 2019-12-31 Capital One Services, Llc Transmitting encoded data along transmission mediums based on colorspace schemes
US10614635B1 (en) 2019-07-25 2020-04-07 Capital One Services, Llc Augmented reality system with color-based fiducial marker
US10833852B1 (en) * 2019-10-03 2020-11-10 Capital One Services, Llc Encoded data along tape based on colorspace schemes
US10715183B1 (en) 2019-10-25 2020-07-14 Capital One Services, Llc Data encoding with error-correcting code pursuant to colorspace schemes
US10867226B1 (en) 2019-11-04 2020-12-15 Capital One Services, Llc Programmable logic array and colorspace conversions
US10762371B1 (en) 2019-11-14 2020-09-01 Capital One Services, Llc Object detection techniques using colorspace conversions
US10878600B1 (en) 2019-12-10 2020-12-29 Capital One Services, Llc Augmented reality system with color-based fiducial marker utilizing local adaptive technology
US11302036B2 (en) 2020-08-19 2022-04-12 Capital One Services, Llc Color conversion between color spaces using reduced dimension embeddings

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000050307A (ja) * 1998-07-29 2000-02-18 Nec Corp 電子透かしデータによる画像属性変更システム
KR100390343B1 (ko) * 2001-03-23 2003-07-07 주식회사 마크애니 디지털 비디오 컨텐츠에 워터마크를 삽입하는 장치 및 방법
KR100462915B1 (ko) * 1995-12-11 2005-08-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오및/또는오디오신호의마킹방법및장치,마킹된비디오신호검출방법및장치,비디오또는오디오신호및저장매체

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6590996B1 (en) * 2000-02-14 2003-07-08 Digimarc Corporation Color adaptive watermarking
US6373960B1 (en) * 1998-01-06 2002-04-16 Pixel Tools Corporation Embedding watermarks into compressed video data
US6829301B1 (en) * 1998-01-16 2004-12-07 Sarnoff Corporation Enhanced MPEG information distribution apparatus and method
US6298166B1 (en) * 1998-03-30 2001-10-02 Seiko Epson Corporation Image transformations in the compressed domain
EP1064617B1 (en) * 1999-01-15 2003-11-12 Koninklijke Philips Electronics N.V. Embedding watermarks in images
JP2001045265A (ja) 1999-07-30 2001-02-16 Olympus Optical Co Ltd 画像信号処理装置
US7154638B1 (en) * 2000-05-23 2006-12-26 Silverbrook Research Pty Ltd Printed page tag encoder
US6563936B2 (en) 2000-09-07 2003-05-13 Sarnoff Corporation Spatio-temporal channel for images employing a watermark and its complement
US7072487B2 (en) * 2001-01-26 2006-07-04 Digimarc Corporation Watermark detection using adaptive color projections
JP3614784B2 (ja) * 2001-02-01 2005-01-26 松下電器産業株式会社 情報埋め込み装置、情報埋め込み方法、情報取り出し装置、および情報取り出し方法
US7006656B2 (en) * 2001-10-15 2006-02-28 The Research Foundation Of Suny Lossless embedding of data in digital objects
US8699746B2 (en) 2003-01-15 2014-04-15 Alcatel Lucent Watermarking scheme for digital video

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100462915B1 (ko) * 1995-12-11 2005-08-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오및/또는오디오신호의마킹방법및장치,마킹된비디오신호검출방법및장치,비디오또는오디오신호및저장매체
JP2000050307A (ja) * 1998-07-29 2000-02-18 Nec Corp 電子透かしデータによる画像属性変更システム
KR100390343B1 (ko) * 2001-03-23 2003-07-07 주식회사 마크애니 디지털 비디오 컨텐츠에 워터마크를 삽입하는 장치 및 방법

Also Published As

Publication number Publication date
JP2005110259A (ja) 2005-04-21
BRPI0405538A (pt) 2005-05-24
US20050069168A1 (en) 2005-03-31
EP1519562A1 (en) 2005-03-30
CN100546381C (zh) 2009-09-30
JP5284559B2 (ja) 2013-09-11
AU2004214592A1 (en) 2005-04-14
KR20050031438A (ko) 2005-04-06
EP1519562B1 (en) 2015-07-01
CA2477517C (en) 2009-10-20
AU2004214592B2 (en) 2010-03-11
US7630509B2 (en) 2009-12-08
CN1606351A (zh) 2005-04-13
CA2477517A1 (en) 2005-03-29

Similar Documents

Publication Publication Date Title
KR101110084B1 (ko) 디지털 비디오를 위한 워터마킹 체계
KR101050358B1 (ko) 디지털 비디오 워터마킹을 위한 컬러 선택 체계
JP6162734B2 (ja) デジタル・ビデオに電子透かしを入れる方法
JP4248241B2 (ja) 圧縮情報信号のウォーターマーキング
EP1643439A1 (en) Watermarking colour components of an analogue video signal
US8699746B2 (en) Watermarking scheme for digital video
US8666108B2 (en) Watermarking scheme for digital video
KR101042551B1 (ko) 비디오 영상의 객체 기반 워터마크 삽입 방법 및 워터마크 삽입 프로그램을 저장한 기록매체

Legal Events

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

Payment date: 20140707

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150803

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 8