KR20230047125A - 적응형 비디오 워터마크의 적용을 위한 시스템 및 방법 - Google Patents

적응형 비디오 워터마크의 적용을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20230047125A
KR20230047125A KR1020237005724A KR20237005724A KR20230047125A KR 20230047125 A KR20230047125 A KR 20230047125A KR 1020237005724 A KR1020237005724 A KR 1020237005724A KR 20237005724 A KR20237005724 A KR 20237005724A KR 20230047125 A KR20230047125 A KR 20230047125A
Authority
KR
South Korea
Prior art keywords
pixels
video frame
watermark
pixel value
symbol
Prior art date
Application number
KR1020237005724A
Other languages
English (en)
Inventor
브라이언 리드
더블유. 레오 호아티
Original Assignee
인스케이프 데이터, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인스케이프 데이터, 인코포레이티드 filed Critical 인스케이프 데이터, 인코포레이티드
Publication of KR20230047125A publication Critical patent/KR20230047125A/ko

Links

Images

Classifications

    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

비디오 프레임에서 워터마크를 디코딩하기 위한 시스템 및 방법이 제공된다. 미디어 디바이스는 워터마크를 포함하는 소정의 제1 영역과 소정의 제1 영역의 인지가능성을 감소시키기 위해 선택된 픽셀 값들을 갖는 소정의 제2 영역을 포함하는 비디오 프레임을 수신할 수 있다. 미디어 디바이스는 비디오 프레임의 소정의 제1 영역에서 워터마크를 검출하고, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트 및 제2 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트를 식별할 수 있다. 그 후, 미디어 디바이스는 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트에 제1 심볼을 할당하고, 제2 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트에 제2 심볼을 할당한다. 그 후, 미디어 디바이스는 할당된 심볼들로부터 제1 시퀀스의 심볼들을 생성한다.

Description

적응형 비디오 워터마크의 적용을 위한 시스템 및 방법
제출된 관련 출원에 대한 상호 참조
본 출원은 2020년 7월 31일에 출원된 미국 임시특허출원 제63/059,766호에 대한 이익을 주장하고, 또한 2021년 7월 29일에 출원된 미국 정규출원 제17/389,147호에 대한 이익을 주장하며, 이들 모두는 모든 목적을 위해 그 전체가 참조에 의해 편입된다.
본 개시는 일반적으로 비디오 신호에 데이터를 임베딩(embedding)하는 것에 관한 것이며; 보다 구체적으로는 비디오 신호를 시각적으로 손상시키지 않고 비디오 신호에 데이터를 임베딩하는 것에 관한 것이다.
디지털 워터마킹(Digital watermarking)은 디지털 미디어 스트림의 출처에 관한 식별 데이터와 같은 특정 데이터를 숨기는 기술을 설명한다. 디지털 워터마크들은 기본 콘텐츠를 손상시키지 않으면서 이들의 제거를 억제하는 방식으로 이미지 파일 또는 비디오 프레임에 임베딩될 수 있다. 이렇게 워터마킹된 디지털 콘텐츠가 온라인 또는 기록된 매체로 배포되는 경우, 그 출처를 반영하는 데이터가 함께 이동하며, 이는 창작자가 콘텐츠의 출처를 주장할 수 있게 한다.
음극선관(cathode ray tube; CRT) 텔레비전에서 워터마크는 프레임 사이의 수직 블랭킹 간격에 임베딩될 수 있다. CRT 텔레비전에서 디스플레이된 이미지는 CRT 내부를 코팅하는 형광체에 투사될 때 검은색에서 흰색(및 이후 컬러)이 디스플레이되는 라인 행으로 전송된다. 이 라인은 프레임이 디스플레이되지 않은 수십 라인으로 구분되는 인터레이스 프레임(interlaced frames)으로서 반복된다. 이러한 디스플레이되지 않은 라인을 "수직 블랭킹 간격"(vertical blanking interval; VBI)이라고 한다. VBI는 CRT가 빔을 아래에서 위로 다시 이동하고 다른 비디오 프레임의 스캔을 시작하기 전에 안정되도록 하는데 사용된다. 정보는 VBI에 대응하는 비디오 신호의 부분에 임베딩될 수 있다. 예를 들어, 청각 장애인을 위한 폐쇄 자막을 위한 데이터 또는 비디오 텍스트 디스플레이(특히 유럽 및 아시아에서 널리 사용됨)를 위한 트레인 스케쥴(train schedule)이 비디오 신호의 VBI 부분에 임베딩된다.
디지털 텔레비전은 음극선관으로 작동하지 않으므로 작동을 위해 비디오 프레임 사이에 VBI가 필요하지 않다. 최신 디지털 텔레비전 표준은 더 이상 VBI를 통해 데이터를 구현하지 않고 데이터를 임베딩하는 메커니즘으로 VBI를 배제한다. 최신 디지털 텔레비전 표준은 대신 오디오 및 비디오 데이터와 결합된 별도의 데이터 스트림을 사용한다. 이것은 비디오 신호가 추가 데이터를 포함할 수 있게 하지만, 워터마크의 적용을 막는 미디어 디바이스에서는 데이터에 액세스할 수 없다.
따라서, 비디오 신호에 추가 정보를 삽입하기 위한 대안적인 접근법이 필요하다.
사용자들에 의해 인식될 가능성이 감소된 비디오 프레임에 데이터를 임베딩하기 위한 방법들이 본 명세서에서 설명된다. 방법들은 비디오 프레임을 수신하는 단계 - 상기 비디오 프레임의 소정의 제1 영역은 제1 세트의 픽셀들을 포함하고, 상기 비디오 프레임의 소정의 제2 영역은 제2 세트의 픽셀들을 포함하고, 상기 제2 세트의 픽셀들은 상기 비디오 프레임의 소정의 제3 영역의 픽셀들의 픽셀 값들에 기초한 픽셀 값들을 가짐 -; 상기 비디오 프레임의 상기 소정의 제1 영역에서 워터마크를 검출하는 단계; 상기 제1 세트의 픽셀들 내에서, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트들 및 제2 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트를 식별하는 단계; 제1 픽셀 값에 대응하는 픽셀들의 상기 하나 이상의 연속적인 서브세트들에 제1 심볼을 할당하고, 제2 픽셀 값에 대응하는 픽셀들의 상기 하나 이상의 연속적인 서브세트들에 제2 심볼을 할당하는 단계; 및 상기 제1 픽셀 값 및 상기 제2 픽셀 값에 기초해서, 제1 시퀀스의 심볼들을 생성하는 단계를 포함한다.
사용자들에 의해 인식될 가능성이 감소된 비디오 프레임에 데이터를 임베딩하기 위한 시스템들이 본 명세서에서 설명된다. 시스템들은 하나 이상의 프로세서들 및 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금 이전에 설명된 바와 같은 방법들 중 어느 하나를 수행하게 하는 명령어들을 저장하는 비일시적(non-transitory) 컴퓨터 판독가능 매체를 포함한다.
하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금 이전에 설명된 바와 같은 방법들 중 어느 하나를 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체가 본 명세서에 설명된다.
이 예시적인 예들은 본 개시를 제한하거나 정의하기 위해서가 아니라, 그 이해를 돕기 위해 언급된다. 추가적인 실시예들이 상세한 설명에서 논의되고, 추가의 설명이 거기에 제공된다.
그 시스템 및 방법을 포함하는 본원의 예시적인 실시예들은 다음의 도면에서 아래에 요약된다:
도 1은 본 개시의 양태들에 따른 2-레벨 워터마크를 사용하여 비디오 프레임의 상단 행들에 임베딩된 데이터의 예를 도시한다.
도 2는 본 개시의 양태들에 따른 비디오 프레임의 상단 행 및 상단 2행에 임베딩된 예시적인 바이너리(binary) 워터마크를 도시한다.
도 3은 본 개시의 양태들에 따른 워터마킹된 프레임의 검출을 강화하기 위해 강화된 도입(lead-in) 데이터 심볼 시퀀스를 갖는 예시적인 워터마크를 도시한다.
도 4는 본 개시의 양태들에 따른 0과 1 심볼 사이의 유클리드 거리(Euclidean distance)가 일시적으로 증가되는 워터마크의 데이터 심볼들의 예를 도시한다.
도 5는 본 개시의 양태들에 따른 4:4:4, 4:2:2, 4:2:0, 및 4:1:1의 예시적인 휘도(luminance)/크로미넌스(chrominance) 서브-샘플링(sub-sampling) 포맷들을 도시한다.
도 6은 본 개시의 양태들에 따른 Y'CbCr 색 공간 내 RGB 색 공간을 묘사하는 그래프를 도시한다.
도 7은 본 개시의 양태들에 따른 육각형을 원으로 변환하는 HSL의 수학적 표현의 효과를 도시한다.
도 8은 본 개시의 양태들에 따른 HSL 및 RGB 색 공간 사이의 관계를 도시한다.
도 9는 본 개시의 양태들에 따른 밝기(lightness)에 대한 채도(saturation)의 이용가능한 범위를 반영하는 바이코닉(bi-conic) 표현으로 HSL의 색 공간 표현을 도시한다.
도 10a는 본 개시의 양태들에 따른 3D 워터마크 심볼들의 예시적인 세트와 그에 대응하는 슬라이스 포인트의 그래프를 도시한다.
도 10b는 본 명세서의 양태들에 따른 3D 워터마크 심볼들의 다른 예시적인 세트와 그에 대응하는 슬라이스 포인트의 그래프를 도시한다.
도 11은 본 개시의 양태들에 따른 심볼 슬라이스 포인트 결정의 그래프를 도시한다.
도 12는 본 발명의 양태에 따른 인간의 눈에 대한 워터마크의 인지적 블러링(perceptual blurring)을 증가시키기 위해 워터마크에 근접한 전이 영역(transition region)이 점진적으로 어두워지는 예시적인 비디오 프레임을 도시한다.
도 13a는 본 발명의 양태들에 따른 워터마크의 0 및 1 심볼에 대한 값이 번갈아 가며 인간의 눈에 워터마크의 인지적 블러링(blurring)을 유발하는 비디오 프레임의 예시적인 시퀀스를 도시한다.
도 13b는 본 개시의 양태들에 따른 데이터 심볼들의 인지적 블렌딩을 개선하기 위해 2프레임마다 데이터 심볼들의 예시적인 비디오 반전(inversion)을 도시한다.
도 14는 본 개시의 양태들에 따른 비디오 프레임에 워터마크를 적용하기 위한 인코딩 흐름도의 블록도를 도시한다.
도 15는 본 개시의 양태들에 따른 비디오 프레임으로부터 워터마킹된 데이터를 추출하기 위한 디코딩 흐름도의 블록도를 도시한다.
도 16은 본 개시의 양태들에 따른 비디오 프레임에 임베딩된 워터마크로부터 코드를 디코딩하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 17은 본 개시의 양태들에 따른 본 명세서에서 설명되는 다양한 기술들을 구현할 수 있는 예시적인 컴퓨팅 디바이스의 예시적인 컴퓨팅 디바이스 아키텍처를 도시한다.
본 개시는 디지털 데이터 코드(예를 들어, 워터마크들)를 인간의 눈으로 인지할 수 없는 디지털 이미지로 생성, 임베딩 및/또는 디코딩하기 위한 시스템 및 방법을 포함한다. 워터마크는 스마트 텔레비전, 셋톱 박스, 모바일 디바이스, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터 등과 같은 미디어 장치에 데이터 및/또는 실행가능 코드를 제공하기 위해 이미지 또는 비디오 프레임에 임베디드될 수 있다. 워터마크는 픽셀의 상단 1행 또는 2행의 픽셀 값을 변조함으로써 비디오 프레임에 임베딩될 수 있다. 예를 들어, 화이트 픽셀은 바이너리 코드의 제1 심볼에 대응할 수 있고, 블랙 픽셀은 바이너리 코드의 제2 심볼에 대응할 수 있다. 미디어 디바이스는 워터마크로부터 심볼들을 검출하고 추출할 수 있다. 미디어 디바이스의 프로세싱 컴포넌트는 심볼들을 처리하여, 워터마크의 데이터 및/또는 실행가능 코드를 디코딩할 수 있다.
디코딩된 심볼들은 디스플레이된 비디오와 연관된 추가 정보를 제공하고/하거나 미디어 디바이스로 하여금 특정 기능들을 수행하게 할 수도 있다. 추가 정보는 디스플레이된 비디오의 콘텐츠와 연관된 정보(예를 들어, 배우, 캐릭터, 설정, 팀, 제작 스태프, 제작 특성, 또는 콘텐츠의 임의의 다른 사실 또는 특성), 디스플레이된 비디오와 연관된 메타데이터(예를 들어, 해상도, 픽셀 값, 방송 출처(broadcast origin) 등), 디스플레이된 비디오와 연관된 통신 등을 포함할 수 있지만, 이에 국한되지는 않는다. 워터마크의 디코딩된 심볼들은 비디오 또는 그 일부(예를 들어, 광고 등)의 시작에 트리거 신호를 포함할 수 있어서, 미디어 디바이스가 트리거 신호를 검출하고 셋톱 또는 스마트 TV의 메모리에 국지적으로 저장된 비디오 세그먼트(예를 들어, 광고, 상업 방송, 다른 비디오 세그먼트 등)를 대체하거나 원격 서버로부터의 비디오 정보를 디스플레이하게 할 수 있다. 디코딩된 심볼들은 비디오 프레임들 또는 그 일부를 국지적으로 저장된 비디오 프레임들, 워터마크에서 디코딩된 비디오 프레임들, 또는 원격 서버로부터 스트리밍된 비디오 프레임들로 교체하는 것과 같은 동작들을 수행하기 위해 미디어 디바이스의 컴포넌트들을 프로세싱함으로써 실행될 수 있는 명령어들에 대응할 수 있다.
일부 예들에서, 비디오 프레임의 부분들의 픽셀 값들을 변조하는 것은 워터마크가 인간의 눈에 인지가능하게 할 수 있다. 예를 들어, 픽셀 값들의 변조가 비디오 프레임의 비-워터마크 부분 내의 픽셀들에 대해 강한 대비(contrast)를 갖는 픽셀들을 생성한다면, 워터마크는 인간의 눈에 인지가능할 수 있다. 워터마크가 비디오 프레임의 작은 부분을 차지하고 그리고/또는 비디오 프레임의 가장자리에 위치되는 경우에도 워터마크가 인지가능할 수 있다. 인지가능한 워터마크는 사용자로 하여금 미디어 디바이스 또는 비디오에 에러가 있다고 생각하게 하거나 비디오 프레임의 비-워터마크 부분으로부터 사용자의 주의를 빼앗을 수 있는 시각적 아티팩트(visual artifact)로서 나타날 수 있다.
워터마크는 비디오 프레임 내에서 워터마크의 인지가능성을 감소시키기 위해 하나 이상의 프로세스들을 이용하여 수정될 수 있다. 이하의 워터마크 수정 프로세스들 각각은 단독으로 또는 다른 워터마크 수정 프로세스들과 조합하여 제공될 수 있다는 점에 유의해야 한다. 제1 워터마크 수정 프로세스는 픽셀 컬러의 사소한 변화에 민감하지 않은 인간의 시각적 인지를 이용할 수 있다. 이러한 수정 프로세스는 워터마크의 픽셀들 중 하나 이상의 색차(color-difference) 성분들(예를 들어, 크로미넌스-청색(Cb) 차 신호 및/또는 크로미넌스 적색(Cr) 차 신호)을 조정할 수 있다. 색차 성분들은 워터마크에 인접한 픽셀들의 색차 성분들(예를 들어, 워터마크에 인접한 픽셀들의 하나 이상의 행들과 같은)에 기초하여 조정될 수 있다. 비디오 프레임의 주변 부분의 평균 색조(hue)가 결정될 수 있다. 워터마크는 평균 색조를 제1 소정량 시프트(shift)시켜 제1 심볼을 나타내고, 평균 색조를 제2 소정량 시프트시켜 제2 심볼을 나타냄으로써 정의할 수 있다. 워터마크 픽셀들은 제1 및 제2 소정량만큼만 비디오 프레임의 주변 부분과 상이한 색조를 갖기 때문에, 인간의 눈은 워터마크를 알아차릴 가능성이 적다.
제2 워터마크 변조 프로세스는 워터마크의 휘도 성분(Y) 픽셀을 조정하는 것을 포함할 수 있다. 휘도 성분은 0(검정의 경우) 내지 100(흰색)으로 나타낼 수 있다. 워터마크는, 워터마크의 제1 심볼을 나타내는 픽셀들 및 제2 심볼을 나타내는 픽셀들의 휘도 성분을 변조함으로써 정의될 수 있다. 워터마크가 인지가능할 가능성을 줄이기 위해, 제1 심볼과 제2 심볼 사이의 휘도 변화는 100 미만일 수 있다. 예시적인 일 예에서, 제1 심볼은 휘도가 10인 픽셀들에 의해 표현될 수 있고, 제2 심볼은 휘도가 50인 픽셀들에 의해 표현될 수 있다. 통상의 기술자는 다른 휘도 값이 사용될 수 있음을 이해할 것이다. 일부 경우에서, 제2 워터마크 변조 프로세스는 색차 성분들 및 휘도 성분들 모두를 변화시킴으로써 제1 워터마크 변조 프로세스와 결합될 수 있다. 예를 들어, 제1 및 제2 변조 프로세스들을 결합하는 것은 비디오 프레임에 임베딩될 수 있는 심볼들의 양을 증가시키기 위해(예를 들어, 바이너리 코드로부터 베이스-포(base-four) 코드로) 그리고/또는 사용자가 워터마크를 인식할 가능성을 더 감소시키기 위해 수행될 수 있다.
제1 심볼과 제2 심볼 사이의 차이가 작을수록(예를 들어, 이전 예에서 10 내지 50), 비디오 신호 내의 노이즈가 에러를 야기할 수 있는 가능성이 커진다(예를 들어, 워터마크의 검출을 방해하거나 디코딩된 워터마크를 변경함). 에러 정정 워터마크는 워터마크를 포함하는 제1 비디오 프레임 또는 n번째 비디오 프레임에 삽입되어 노이즈가 워터마크를 읽을 수 없게 만드는 것을 방지할 수 있다. 에러 정정 워터마크는 이전 워터마크와 동일한 인코딩을 포함하지만 휘도의 변화가 더 크다. 10 내지 50 사이의 최소로 변하는 휘도의 이전 예로 돌아가서, 에러 정정 워터마크는 10 내지 80 사이의 휘도의 변화를 포함할 수 있다. 에러 정정 워터마크는 워터마크를 포함하는 비디오 프레임들의 세트의 임의의 비디오 프레임에 임의의 횟수만큼 삽입될 수 있다.
제3 워터마크 변조 프로세스는 제1 및 제2 워터마크를 정의하는 프로세스를 포함하고, 제2 워터마크는 제1 워터마크의 역전(reverse)이다. 제1 워터마크는 제1 심볼에 대응하는 제1 픽셀 값 및 제2 심볼에 대응하는 제2 픽셀 값을 포함할 수 있다. 동일한 심볼 시퀀스를 갖지만, 제2 심볼에 대응하는 제1 픽셀 값 및 제1 심볼에 대응하는 제2 픽셀 값을 갖는 제2 워터마크. 예를 들어, 제1 워터마크는 제1 픽셀 값에 대응하는 제1 세트의 픽셀들, 제2 픽셀 값에 대응하는 제2 세트의 픽셀들, 및 제1 픽셀 값에 대응하는 제3 세트의 픽셀들을 포함할 수 있다. 제1 워터마크의 심볼 시퀀스는 제1 심볼, 제2 심볼, 제1 심볼(예를 들어, 바이너리 변환(binary translation)으로 010)일 수 있다. 제2 워터마크는 제2 픽셀 값에 대응하는 제1 세트의 픽셀들, 제1 픽셀 값에 대응하는 제2 세트의 픽셀들, 및 제2 픽셀 값에 대응하는 제3 세트의 픽셀들을 포함할 수 있다. 제2 워터마크는 제1 워터마크의 반전(inverse)이 되도록 의도되므로, 미디어 디바이스는 제1 워터마크 또는 제1 심볼, 제2 심볼, 제1 심볼과 동일하게 제2 워터마크를 디코딩한다. 제2 워터마크는 제1 워터마크를 포함하는 비디오 프레임 바로 뒤에 오는 비디오 프레임에 포함되도록 구성될 수 있다. 미디어 디바이스는 한 번에 두 개의 인접한 비디오 프레임의 워터마크를 저장할 것으로 예상하도록 구성될 수 있다.
후속 프레임에서 제1 비디오 프레임에 포함되는 워터마크를 역전시키는 것은 워터마크가 단색(예를 들어, 제1 심볼을 나타내는 픽셀 값 및 제2 심볼을 나타내는 픽셀 값의 평균)으로서 인식되게 한다. 이것은 대비되는 크로미넌스 및/또는 휘도를 갖는 다른 픽셀들 근처의 픽셀들의 디스플레이를 감소시킨다(예를 들면, 백색 픽셀 옆의 검은색 픽셀 등). 결과적으로, 워터마크는 미디어 디바이스의 사용자에게 덜 인지될 수 있다.
제4 워터마크 변조 프로세스는 워터마크의 픽셀 값에 따라 워터마크에 인접한 픽셀들의 세트를 수정하는 단계를 포함한다. 워터마크가 비디오 프레임의 상단 한 행 또는 두 행에 위치되면, 워터마크에 인접한 픽셀들의 세트는 비디오 프레임 뒤의 다음 하나 이상의 행들(예를 들어, 비디오 프레임의 상단으로부터 제2, 제3 행, 등)일 수 있다. 상기 픽셀들의 세트는 워터마크와 비디오 프레임의 나머지 픽셀들 사이의 경계(border)로 지칭될 수 있다. 일부 예들에서, 경계의 각각의 행은 동일한 픽셀 값을 가질 수 있다. 다른 예들에서, 상기 행들은 상기 워터마크의 제1 픽셀 값 및 제2 픽셀 값에 기초한 픽셀 값을 갖는 상기 워터마크에 가장 가까운 행 및 상기 비디오 프레임의 인접 픽셀들에 기초한 픽셀 값을 갖는 상기 비디오 프레임의 나머지 부분에 가장 가까운 행으로부터의 구배(gradient)일 수 있다. 구배는 비디오 프레임과 워터마크 사이의 픽셀 값들의 차이를 부드럽게 하여 워터마크의 인지가능성을 감소시킬 수 있다. 경계의 한 행의 픽셀들은 동일한 픽셀 값, 유사한 픽셀 값(예를 들어, 감소된 인지가능성을 위한 약간의 변형을 허용함)일 수 있거나, 또는 각각의 픽셀 값은 구배를 따른 픽셀의 위치(예를 들어, 둘 이상인 경우 경계의 행) 및 비디오 프레임 내의 주변 픽셀들의 픽셀 값에 기초한 값을 가질 수 있다는 점에 유의해야 한다.
일 예에서, 본 명세서에서 설명되는 시스템 및 방법의 사용은 스마트 TV 또는 셋톱 박스와 같은 미디어 디바이스에 대한 신호로서 사용될 코드를 비디오 내로 임베딩하는 것을 포함한다. 상기 코드는 클라이언트 텔레비전 수신기로 하여금, 데이터 코드가 클라이언트 텔레비전 디바이스에 의해 수신될 때 현재 디스플레이되고 있는 비디오 세그먼트에 대해 다른 비디오 세그먼트(예를 들어, 하나 이상의 비디오 프레임)로 대체하게 할 수도 있다. 이 프로세스는 "동적 삽입(dynamic insertion)"으로 불릴 수 있으며 광고가 관련된 경우 "동적 광고 삽입"이라고 불릴 수 있다. 비디오 세그먼트를 다른 비디오 세그먼트로 동적으로 교체하는 것은 실시간으로 발생할 수 있다. 예를 들어, 교체될 수 있는 하나 이상의 프레임이 검출될 때마다(예를 들어, 하나 이상의 프레임들에서 워터마크를 검출하는 것에 기초하여), 클라이언트 디바이스 수신기는 하나 이상의 프레임들을 하나 이상의 다른 프레임들로 교체할 수 있다.
본 명세서에서 설명되는 시스템 및 방법의 다른 예에서, 워터마크는 디스플레이된 비디오 프레임과 연관된 추가 정보를 제공하는 온스크린 팝업 윈도우(on-screen pop-up window)를 트리거하는데 사용될 수 있다. 예를 들어, 디스플레이된 영상 프레임이 상품을 포함하는 경우, 팝업 창은 상품과 관련된 정보를 포함할 수 있다. 디스플레이된 비디오 프레임이 영화 또는 텔레비전 프로그램에 대응되면, 팝업 윈도우는 비디오 프레임 또는 영화 또는 텔레비전 프로그램 내의 배우들과 연관된 정보, 감독과 같은 텔레비전 프로그램의 제작 스태프 등과 연관된 정보, 관련 영화 또는 프로그램과 연관된 정보, 및/또는 영화 또는 텔레비전 프로그램과 연관된 임의의 정보를 포함할 수 있다.
팝업 윈도우는 추가 정보를 포함하고/하거나 사용자에게 디스플레이되는 제품을 구매할 수 있는 기능을 제공하는 웹사이트로의 URL(uniform resource locator) 링크를 포함할 수 있다. 미디어 디바이스는 웹사이트에 액세스하고 구매를 용이하게 할 수 있는 웹 브라우저를 포함할 수 있다. 대안적으로, 또는 부가적으로, 팝업 윈도우는 사용자가 모바일 디바이스로 캡처할 수 있는 신속 응답(quick response; QR) 코드를 포함할 수 있다. QR 코드를 캡처하면 모바일 디바이스가 웹 브라우저를 열고 QR 코드에 URL 링크를 로드할 수 있다.
도 1은 본 개시의 양태들에 따른 2-레벨 워터마크를 사용하여 비디오 프레임의 상단 행들에 임베딩된 데이터의 예를 도시한다. 프레임(104)은 미디어 디바이스를 통해 제시될 수 있는 비디오 프레임을 나타낸다. 워터마크(108)는 프레임(104)의 픽셀들의 세트의 픽셀 값들을 변조함으로써 삽입될 수 있다. 픽셀들의 세트는 (도시된 바와 같이) 픽셀들의 상단 하나 이상의 행들, 픽셀들의 하단 하나 이상의 행들, 픽셀들의 오른쪽 두 열, 픽셀들의 왼쪽 두 열 등과 같은 프레임(104)의 가장자리에 위치될 수 있다. 일부 예들에서, 워터마크(108)는 프레임(108)의 2개의 다른 위치들 사이에서 분할될 수 있다. 예를 들어, 워터마크(108)는 상단 행과 하단 행, 상단 행과 좌측 열 등에 위치될 수 있다.
도시된 바와 같이, 워터마크(108)는 바이너리 코드의 제1 심볼을 나타내는 제1 픽셀 값(예를 들어, 0)의 픽셀들 및 바이너리 코드의 제2 심볼을 나타내는 제2 픽셀 값(예를 들어, 1)의 픽셀들을 포함할 수 있다. 워터마크(108)는 논-바이너리(non-binary) 코드의 추가적인 심볼들을 나타내는 추가적인 픽셀 값들을 포함할 수 있다. 워터마크(108)는 바이너리 코드의 심볼을 나타내는 픽셀들의 개별 세트들에 의해 표현될 수 있다. 소스가 무손실인 경우(예를 들어, 신호 데이터가 노이즈 또는 다른 신호 임피던스로 인해 왜곡 또는 손실되지 않는 경우), 단일 픽셀은 단일 심볼을 나타낼 수 있다. 비디오 소스가 손실될 수 있는 경우(예를 들어, 프레임의 부분들이 노이즈, 거리 등으로 인해 왜곡될 수 있는 방송 텔레비전, 케이블 텔레비전 등), 한 세트의 픽셀들은 단일 심볼을 나타낼 수 있다. 도시된 바와 같이, 8개의 픽셀들이 각각의 심볼을 나타내는데 사용될 수 있다(예를 들어, 4개의 픽셀들의 2개의 행). 일부 예들에서, 워터마크(108)를 포함하는 제1 비디오 프레임과 같은 특정 비디오 프레임인 각각의 세트의 픽셀들이 추가적인 픽셀들(예를 들어, 8개의 픽셀들의 2개의 행들 등)을 포함하여, 미디어 디바이스가 워터마크(108)를 검출하는 것을 보장할 수 있다.
워터마크(108)의 확장된 부분(112)은 각 세트의 픽셀들로 표현된 심볼들을 나타낸다. 도시된 예에서, 더 높은 휘도를 갖는 픽셀들의 세트(예를 들면, 백색에 더 가까움)에는 값 1이 할당되고, 더 낮은 휘도를 갖는 픽셀들의 세트(예를 들면, 검은색에 더 가까움)에는 값 0이 할당된다. 휘도는 0(예를 들어, 검은색)과 100(예를 들어, 흰색) 사이에서 변화될 수 있다. 일부 예들에서, 워터마크의 인지가능성을 감소시키기 위해, 0을 나타내는 픽셀들과 1을 나타내는 픽셀들 사이의 랜스의 차이가 최소화될 수 있다. 예를 들어, 1을 나타내는 픽셀은 50의 휘도를 가질 수 있고, 0을 나타내는 픽셀은 10의 휘도를 가질 수 있다. 워터마크(108)의 픽셀들의 세트들의 컬러 성분은 주변 픽셀들(예를 들어, 프레임(104)의 인접 부분 등)의 컬러 성분에 기초해서 선택될 수 있다. 컬러 성분은 더 큰-베이스 코드들(예를 들면, 2개 이상의 심볼들을 갖는 코드들)을 위해 및/또는 미디어 디바이스의 사용자에 의한 워터마크(108)의 인지가능성을 더 감소시키기 위해 사용될 수 있다.
도 2는 본 개시의 양태들에 따른 비디오 프레임의 상단 행 및 상단 두 행에 임베딩된 예시적인 바이너리-코딩된 워터마크들을 도시한다. 워터마크(201)는 심볼들의 시퀀스를 나타내는 두 행의 픽셀들을 포함하는 워터마크를 도시한다. 16 픽셀들의 각 세트(8 픽셀들의 2행)는 0의 심볼을 나타내는 더 어두운 픽셀들(예를 들어, 16의 휘도 값 Y'를 가짐) 및 1의 심볼을 나타내는 더 밝은 픽셀들(예를 들어, 50의 휘도 값 Y'를 가짐)을 갖는 워터마크의 심볼을 나타낸다. 픽셀들의 휘도 값 및/또는 크로미넌스 성분은 워터마크의 인지가능성을 감소시키기 위해 프레임의 비-워터마크 부분에 기초해서 선택될 수 있다. 이와 같이, 흑백(예를 들어, 휘도 값 Y'가 각각 0 및 100임)은 선택되지 않을 수 있다.
워터마크의 단일 심볼을 나타내는 픽셀 및/또는 행의 양은 비디오의 신호 품질에 기초해서 선택될 수 있다. 예를 들어, 높은 신호 품질(예를 들어, 적은 노이즈 및/또는 손실 등)은 단일 행을 사용할 수 있다. 워터마크(210)는 워터마크(201)와 동일한 심볼 시퀀스를 나타내는 픽셀들의 단일 행을 포함하는 워터마크를 도시한다. 대안적으로, 또는 부가적으로, 높은 신호 품질은 단일 심볼(예를 들어, 행에서 4 픽셀, 행에서 2 픽셀, 또는 1 픽셀 등)을 나타내기 위해 행당 더 적은 픽셀을 사용할 수 있다. 마찬가지로, 품질이 낮은 신호는 행당 추가 픽셀 또는 추가 행을 사용할 수 있다. 심볼 당 추가 픽셀 및/또는 행을 사용하는 것은 단일 비디오 프레임에 포함될 수 있는 심볼의 양을 감소시킬 수 있지만, 워터마크가 검출되고 정확하게 디코딩될 수 있는 가능성을 증가시킨다. 미디어 디바이스는 현재 신호 품질의 표시를 원격 서버로 전송할 수 있다. 그 후, 원격 서버는 각각의 프레임에서 워터마크를 변조하여, 워터마크가 검출될 가능성을 증가시키고, 워터마크 노이즈 또는 다른 아티팩트가 워터마크에 영향을 미칠 가능성을 감소시킬 수 있다.
도 3은 본 개시의 양태들에 따른 워터마킹된 프레임의 검출을 강화하기 위해 강화된 도입(lead-in) 데이터 심볼 시퀀스를 갖는 예시적인 워터마크를 도시한다. 워터마크는 각각 바이너리 코드의 심볼을 나타내는 픽셀들의 세트를 포함할 수 있다. 심볼을 나타내는 픽셀의 세트에서 픽셀들의 양은 심볼의 픽셀 크기라고 지칭될 수 있다. 일부 예에서, 픽셀 크기는 4 픽셀(워터마크가 1 행인 경우) 또는 8 픽셀(워터마크가 2 행인 경우)일 수 있다. 픽셀들의 세트의 픽셀 값들은 대략 동일한 픽셀 값에 대응할 수 있다. 대안적으로, 픽셀들의 세트의 픽셀 값들은 유사한 픽셀 값들(예를 들어, 범위 내)에 대응할 수 있다.
워터마크는 해당 워터마크의 시작을 알리는 소정의 패턴(도입 패턴으로 알려짐)의 데이터로 시작할 수 있다. 소정의 패턴은 워터마크의 처음 8개 또는 16개 심볼에 위치될 수 있다. 미디어 디바이스는 먼저 소정의 패턴이 비디오 프레임의 처음 x 픽셀들에서 검출되는지(예를 들면, 심볼 당 픽셀들의 양 * 소정의 패턴의 데이터에서 심볼의 수)를 결정할 수 있다. 소정의 패턴이 검출되면, 미디어 디바이스는 그 행의 나머지 픽셀들을 계속 디코딩할 수 있다.
워터마크들에서의 도입 패턴은 워터마크가 미디어 디바이스에 의해 검출될 가능성을 증가시키기 위해 조정될 수 있다. 예를 들어, 각 심볼의 픽셀 크기가 증가될 수 있다. 각각의 심볼의 픽셀 크기를 증가시킴으로써, 도입 패턴은 미디어 디바이스에 의해 보다 신뢰성있게 디코딩될 수 있다. 일부 예들에서, 도입 패턴의 각각의 심볼의 픽셀 크기는 (예를 들어, 도시된 바와 같이) 2배가 될 수 있다. 워터마크의 나머지 심볼의 픽셀 크기는 조정되지 않을 수 있다. 예를 들어, 도입 패턴이 픽셀 크기가 4인 8 심볼인 경우, 도입 패턴만이 처음 64 픽셀(예를 들어, 8 심볼을 갖는 심볼당 8의 픽셀 크기)을 차지할 수 있고, 도입 패턴 이후의 심볼의 픽셀 크기는 4로 유지될 수 있다. 도입 패턴은 워터마크를 포함하지 않는 많은 양의 비디오 프레임들 사이에서 워터마킹된 프레임이 주기적으로 발생할 때 특히 유용할 수 있다.
이 예에서, 도시된 워터마크(301)는 심볼 당 증가된 픽셀 크기를 갖는 도입 패턴을 포함한다. 도입 패턴의 심볼은 픽셀 크기의 두 배(예를 들어, 4의 2행 내지 8의 2행)로 표현된다. 예를 들어, 심볼 302 및 303은 8 대신 16 픽셀로 표현된다. 심볼당 증가된 픽셀 크기는 도입 패턴의 길이(예를 들어, 8-16 심볼 또는 최대 256 픽셀)에 대해 계속된다. 도입 패턴의 끝에서 그리고 그 비디오 프레임에서 워터마크의 나머지 부분에 대해, 각 심볼의 픽셀 크기가 증가하지 않는다(예를 들어, 8의 2행). 도입 패턴은 심볼당 정규 픽셀 크기의 2배, 심볼당 정규 픽셀 크기의 3배, 심볼당 정규 픽셀 크기의 분수, 또는 심볼당 정규 픽셀 크기의 배수 등과 같은, 그러나 이에 국한되지는 않는, 임의의 양만큼 증가되는 심볼당 픽셀 크기를 포함할 수 있다.
도 4는 본 개시의 양태들에 따른 0과 1 심볼 사이의 유클리드 거리(Euclidean distance)가 일시적으로 증가되는 워터마크의 데이터 심볼들의 예를 도시한다. 워터마크들은 비디오 프레임의 상단 두 행에 있는 픽셀들과 같은 한 세트의 픽셀들의 픽셀 값을 변조함으로써 비디오 프레임으로 인코딩될 수 있다. 상기 화소값을 변조하는 것은 하나의 바이너리 코드의 2개의 심볼을 나타내기 위해 2개의 휘도 값을 선택하는 것을 포함할 수 있다. 두 개의 휘도 값들은 미디어 디바이스가 노이즈 등의 존재 하에서 각각의 심볼을 검출할 수 있는 가능성 및 워터마크가 미디어 디바이스의 사용자에 의해 인식되지 않을 가능성에 기초해서 선택될 수 있다. 제1 심볼 및 제2 심볼에 대한 휘도 값이 서로 너무 가까우면 신호 노이즈는 미디어 디바이스가 픽셀 세트가 제1 심볼 또는 제2 심볼을 나타내는지를 정확하게 결정하는 것을 방해할 수 있다. 제1 심볼와 제2 심볼의 휘도 값이 가까울수록 사용자가 워터마크를 인식할 가능성이 줄어든다. 휘도 값들은 미디어 디바이스가 워터마크의 심볼 시퀀스를 검출하고 정확하게 디코딩할 수 있을 것이라는 임계 가능성을 제공하는 가장 작은 차이로서 선택될 수 있다. 일부 예들에서, 그 차이는 대략 40일 수 있어서, 제1 심볼을 나타내는 픽셀들은 대략 5-15의 휘도 값을 가질 수 있고, 제2 심볼을 나타내는 픽셀들은 대략 45-55의 휘도 값을 가질 수 있다.
신호 노이즈는 심볼들 사이의 휘도 차이가 최소일 때(예를 들어, 대략 40) 디코딩된 심볼 시퀀스에서 에러를 유도할 수 있다. 디코딩된 심볼 시퀀스에서 에러의 가능성을 감소시키기 위해, 에러 정정 워터마크가 워터마크를 포함할 비디오 프레임들의 세트의 하나 이상의 비디오 프레임에 삽입될 수 있다. 에러 정정 워터마크는 제1 심볼을 나타내는 휘도 값과 제2 심볼을 나타내는 휘도 값 사이의 더 높은 차이를 포함할 수 있다. 일부 예들에서, 에러 정정 워터마크에 대한 고휘도 값 및 저휘도 값 사이의 차이는 대략 80일 수 있어서, 제1 심볼을 나타내는 픽셀들은 대략 10-20의 휘도 값을 가질 수 있고, 제2 심볼을 나타내는 픽셀들은 대략 75-85의 휘도 값을 가질 수 있다. 미디어 디바이스가 에러 정정 워터마크를 수신하는 경우, 심볼들 사이의 휘도 값들의 더 큰 차이는 미디어 디바이스가 심볼 시퀀스를 정확하게 검출하고 디코딩할 가능성을 증가시킨다. 다음 비디오 프레임은 심볼들 사이의 휘도 값들에 있어서 규칙적인(더 작은) 차이를 갖는 규칙적인 워터마크를 포함할 수 있다.
에러 정정 워터마크는 프레임들의 세트의 다수의 프레임에 임베딩될 수 있다. 예를 들어, 에러 정정 워터마크는 'n' 프레임마다 삽입될 수 있다. 대안적으로, 또는 부가적으로, 에러 정정 워터마크는 에러 정정 워터마크가 삽입될 때마다 하나 이상의 인접한 비디오 프레임에 삽입될 수 있다. 예를 들어, 에러 정정 워터마크가 비디오 프레임에 삽입될 때마다, 에러 정정 워터마크는 또한 하나 이상의 후속 프레임들(예를 들어, m-1 프레임들에 대해)에 삽입될 수 있다. 즉, 에러 정정 워터마크가 삽입될 때마다, 'm' 비디오 프레임에 삽입될 수 있다.
대안적으로, 또는 부가적으로, 비디오 프레임의 평균 휘도가 높은 경우(예를 들어, 제1 문턱값보다 큰 경우), 워터마크의 픽셀들은 제1 심볼을 나타내는 픽셀들과 제2 심볼을 나타내는 픽셀들 사이의 휘도 값들의 차이가 대략 80이 되도록 변조될 수 있다(예를 들어, 제1 심볼을 나타내기 위해 대략 10-20의 휘도 값 및 제2 심볼을 나타내기 위해 대략 70-80의 휘도 값, 또는 그 차이가 대략 80인 임의의 휘도 값을 사용하여). 비디오 프레임의 평균 휘도가 낮은 경우(예를 들어, 제2 문턱값 미만인 경우), 워터마크의 픽셀들은 제1 심볼을 나타내는 픽셀들과 제2 심볼을 나타내는 픽셀들 사이의 휘도 값들의 차이가 대략 40이 되도록 변조될 수 있다(예를 들어, 제1 심볼을 나타내기 위해 대략 10-20의 휘도 값, 제2 심볼을 나타내기 위해 대략 45-55의 휘도 값, 또는 그 차이가 대략 40인 임의의 휘도 값들을 사용하여). 부가적으로, 비디오 프레임의 평균 휘도가 낮은 경우, 워터마크의 픽셀들은 0과 1 심볼 컬러들에 대한 극한 값들 사이에서 조정된 Cr과 같은 컬러 채널을 가질 수 있다. 제1 문턱값 및 제2 문턱값은 비디오 프레임의 픽셀 값에 기초하여 미리 결정되거나 동적으로 결정될 수 있다. 일부 예에서, 제1 문턱값는 제2 문턱값과 동일할 수 있다. 다른 예에서, 제1 문턱값는 제2 문턱값과 다를 수 있다.
대안적인 에러 정정 프로세스는 동일한 워터마크를 다수의 인접한 비디오 프레임 또는 동일한 비디오 프레임의 다수의 인스턴스(각각 동일한 워터마크 포함)에 임베딩하는 것을 포함할 수 있다. 동일한 워터마크를 두 번 이상 전송함으로써, 미디어 디바이스는 비디오 분배 경로(예를 들어, 소스로부터 미디어 디바이스로)에 의해 왜곡될 수 있는 데이터를 더 잘 복구할 수 있을 것이다. 도입 패턴이 검출되지만 비디오의 나머지 부분이 신뢰성 있게 디코딩되지 않으면, 그룹의 후속 비디오 프레임의 비디오 값의 평균화는 신호-대-노이즈 비(signal-to-noise ratio)를 증가시켜 디코딩가능한 데이터를 제공할 수 있다. 일부 예들에서, 미디어 디바이스는 워터마크를 심볼들로 디코딩하기 전에 동일한 워터마크의 각각의 인스턴스의 픽셀 값들을 평균화할 수도 있다.
미디어 디바이스는 동일한 워터마크를 포함할 비디오 프레임들의 그룹의 제1 워터마크에서 고유한 도입 패턴에 의해 관련 비디오 프레임들(그룹 내에 둘 이상이든 상관없이)을 식별할 수 있다. 고유한 도입 패턴은 알려진 양의 비디오 프레임들과 연관되는 고유 도입 패턴에 기초해서 또는 얼마나 많은 다음 비디오 프레임이 동일한 워터마크를 포함할 것인지를 나타내는 고유 도입 패턴의 심볼에 기초해서 비디오 프레임에 포함된 프레임의 양을 나타낼 수 있다. 대안적으로, 제1 도입 패턴은 비디오 프레임들의 그룹의 시작을 나타내기 위해 사용될 수 있고, 제2 도입 패턴은 비디오 프레임들의 그룹 내의 마지막 프레임을 나타내기 위해 사용될 수 있다. 대안적인 에러 정정 프로세스는 이전에 설명된 바와 같은 에러 정정 워터마크를 포함하는 본 명세서에서 설명된 바와 같은 다른 프로세스와 결합될 수 있다.
도 5는 본 개시의 양태들에 따른 육각형(501)을 원(502)으로 변환하는 HSL의 수학적 표현의 효과를 도시한다. 픽셀은 RGB (적색, 녹색, 청색) 컬러 모델, HLS (색조, 채도, 밝기), 휘도/크로미넌스 (Y/C) 시스템 등과 같은, 그러나 이에 국한되지 않는, 다양한 다른 포맷으로 표현될 수 있다. 임의의 하나의 포맷으로 픽셀 정보의 표현 및 다른 포맷으로의 그의 변환은 미디어 디바이스, 인간 인지의 본질, 및 비디오 소스에 기초해서 이용될 수 있다. 예를 들어, 인간의 시각적 인지는 색조의 변화에 상대적으로 둔감하기 때문에, 색조 정보는 밝기보다 더 압축될 수 있다. 일부 색조 정보가 압축의 정도에 기인하여 손실되는 경우, 사람이 인지할 수 있는 아티팩트를 야기할 가능성은 거의 없다.
픽셀은 HSL 색 공간의 색조, H, 채도, S, 밝기, L의 세 가지 값으로 표현될 수 있다. HSL은 RGB 컬러 모델의 대체 표현이다. HSL 표현에서 각 색조의 컬러는 하단의 검은색에서 상단의 흰색에 이르는 중성색(neutral colors)의 중심 축을 중심으로 방사형 슬라이스로 배열될 수 있다. HSL 색 공간은 다양한 컬러의 물리적 페인트가 혼합되는 방식을 모델링할 수 있으며, 채도 차원은 밝은 컬러의 페인트의 다양한 음영과 유사하고 밝기 디멘션은 다양한 양의 검은색 또는 흰색 페인트와 이러한 페인트의 혼합과 유사하다. HSL 모델은 자연 컬러 체계(Natural Color System; NCS) 또는 먼셀(Munsell) 컬러 시스템과 같은 인지 컬러 모델과 유사할 수 있으며, 밝기 값의 절반으로 원 주위에 완전히 포화된(fully-saturated) 컬러를 배치하고, 여기서 밝기 값 0은 검은색에 대응하고 밝기 값 1은 흰색을 나타낸다.
HLS 표현에서의 색조 및 크로마(chroma)(예를 들어, 밝기에 대한 다양한 컬러를 나타내는 속성)는 육각형 표현(501)(예를 들어, 2차원 평면 상으로의 3차원 RGB 색 공간의 투영)에 대하여 정의될 수 있다. 크로마 C는 원점으로부터 엣지까지의 거리의 비율이다(예를 들어, C=range(R,G,B)=max(R,G,B)-min(R,G,B)). 색조 H는 투영점을 통과하는 육각형(501)의 엣지 주위의 거리의 비율이다. 색조는 원점에 투영되는 투영 점에 대해 정의되지 않을 수 있으므로 색조는 수학적으로 단편적으로 정의된다(예를 들어, H=60°-H'). H'는 C=0인 것과 같은 경우에 크로마 및/또는 RGB의 값에 따라 4개의 정의를 가질 수 있다. H'는 max(R,G,B) = R일 때,
Figure pct00001
, max(R,G,B)=G일 때,
Figure pct00002
이고, max(R,G,B)=B일 때,
Figure pct00003
이다. 크로마 및 색조의 정의는 육각형 표현(501)의 원 표현(502)으로의 기하학적 뒤틀림에 해당한다.
도 6의 (a) 및 (b)는 본 개시의 양태들에 따른 HSL 및 RGB 색 공간 사이의 관계를 도시한다. 도 6의 (a)에 도시된 바와 같이, HSL은 실린더(701)로 표현될 수 있다. 색조(603)("색조" 화살표로 표현되는 두 색 공간의 각도 치수)는 0°의 적색 원색에서 시작하여 120°의 녹색 원색, 240°의 청색 원색을 통과한 다음, 360°에서 적색으로 다시 랩핑(wrap)할 수 있다. 각 기하학에서, 중앙 수직 축은 밝기를 나타낼 수 있다. 중심 수직축은 실린더의 바닥에서 0%(값 0)의 밝기(605)에서의 검은색으로부터 실린더의 상단에서 100%(값 1)의 밝기(605)에서의 흰색에 이르는 중성색, 무채색 또는 회색을 포함할 수 있다.
부가적인 1차 및 2차 컬러(적색(red), 노란색(yellow), 녹색(green), 청록색(cyan), 청색(blue) 및 자홍색(magenta)) 및 이들 컬러(때때로 순수 컬러라고도 함)의 인접한 쌍들 사이의 선형 혼합물은 채도 1("채도" 화살표로 표시되는 채도(604))로 실린더의 바깥쪽 엣지 주위에 배열될 수 있다. 포화된 컬러는 HSL에서 50%의 밝기(605)를 가질 수 있다. 이러한 순수한 컬러를 검정색과 혼합하여 소위 음영을 생성하면 채도(804)가 변경되지 않을 수 있다. HSL에서, 채도(604)는 또한 백색으로 착색함으로써 변하지 않을 수 있다. 검정색 및 백색 모두(톤으로 지칭됨)와의 혼합물은 100% 미만의 채도(604)를 가질 수 있다.
도 6의 (b)는 RGB(red-green-blue) 색 공간의 입방체 표현(cubic representation)(602)의 예시적인 다이어그램을 도시한다. RGB와 HSL 색 공간 간의 수학적 관계는 H=cos-1((0.5(R- G))+(R-B))/((R-G)2)+((R-B)(G-B)))0.5), S=l-(3/(R+G+B))*min(R,G,B) 및 L=R+G+B/3으로 나타낼 수 있다. 채도에 대한 이러한 정의는 컬러 순도의 직관적인 개념과 충돌하기 때문에 종종 바이코닉(bi-conic) 표현(원뿔이라고도 함)이 대신 사용될 수 있다.
도 7은 본 개시의 양태들에 따른 4:4:4, 4:2:2, 4:2:0, 및 4:1:1의 예시적인 휘도/크로미넌스 서브-샘플링 포맷들을 도시한다. 휘도/크로미넌스 또는 Y/C 시스템(예: Y/C 또는 Y'CbCr)은 HSL 색 공간의 변형일 수 있다. 이러한 변형에는 "색차(color-difference)" 성분 또는 청색 마이너스 휘도(U 및 Cb) 및 적색 마이너스 휘도(V 및 Cr)에서 파생된 값이 포함된다. 인간의 눈은 휘도보다 컬러에 대한 공간 감도가 낮을 수 있기 때문에, C 신호의 주요 성분인 Y'UV 시스템의 U 및 V 컬러 신호는 크로마 서브샘플링을 통해 실질적으로 압축될 수 있다. 예를 들어, 일부 예들에서, 밝기 정보 대비 수평 해상도의 절반만이 비디오 신호에 포함될 수 있다.
크로마 서브샘플링 포맷(701)은 전체 4:4:4 비율을 갖는 프레임을 예시하고, 크로마 서브샘플링 포맷(702)은 4:2:2 비율을 도시하며, 크로마 서브샘플링 포맷(703)은 수직 해상도가 절반으로 줄어드는 4:2:0 비를 도시한다. 4:x:x 표현은 크로미넌스 성분에 대한 휘도의 비율을 전달할 수 있다. 예를 들어, 크로마 서브샘플링 포맷(704)은 4:1:1 크로마를 도시하며, 여기서 수평 컬러 해상도는 4등분되고(빈 점들에 의해 도시된 바와 같이), 수직 컬러 해상도는 풀 해상도(실선 도트들에 의해 도시된 바와 같이)이다. 이 예에서, 비디오 프레임은 밝기 해상도와 비교한 컬러 해상도의 1/4을 포함할 수 있다. 4:4:4 비율의 크로마 서브샘플링 포맷(701)은 밝기 및 컬러 정보 모두에 대해 동일한 해상도를 제공할 수 있고, 가공하지 않은 비디오의 RGB 값과 동일하다.
Y/C 시스템은 RGB 정보를 인코딩하는 방법일 수 있으며, 디스플레이되는 실제 컬러는 시스템을 정의하는데 사용된 원래 RGB 색 공간에 따라 달라질 수 있다. 즉, 색 공간은 적색, 녹색 및 청색 원색이 얼마나 깊은지(예를 들어, 색 영역으로 지칭됨)에 의해 정의될 수 있다. Y'UV 또는 Y'CbCr로 표현된 값들은 적색, 녹색 및 청색의 원래 기본 컬러 집합의 값으로 직접 다시 변환될 수 있다. RGB의 컬러 범위 및 밝기는 Y'UV로 인코딩된 컬러 및 밝기 범위보다 훨씬 작을 수 있다. 이는 Y'UV 또는 Y'CbCr에서 RGB로 변환할 때 결정될 수 있는데, 변환으로 인해 "무효한(invalid)" RGB 값이 발생할 수 있기 때문이다. 본 명세서에서 설명되는 시스템들 및 방법들은 워터마크들에 무효한 RGB 값들을 포함하는 비디오 프레임들에서 무효한 RGB 값들을 검출하고 정정할 수 있다.
도 8은 본 개시의 양태들에 따른 Y'CbCr 색 공간 내 RGB 색 공간을 묘사하는 그래프를 도시한다. Y'CbCr 색 공간(모든 가능한 Y'CbCr 값에 대해 블록(802)으로 표현됨)은 RGB 색 공간(RGB 색 블록(801)으로 표현됨)을 그 검은색 점(804) 상에 균형을 맞추고, 흰색 점(803)이 검은색 점 바로 위에 있음으로써 형성될 수 있다. Y/C 시스템은 RGB로 직접 변환될 수 있지만, RGB는 Y'=0.257*R'+0.504*G'+0.098*B'+16, Cb'=-0.148*R'-0.291*G'+0.439*B'+128, Cr'=0.439*R'-0.368*G'-0.071*B'+128에 의해 Y'Cb'Cr'로 변환될 수 있다. Y'Cb'Cr'은 R'=l.164*(Y'-16)+1.596*(Cr'-128), G'=l.164*(Y'-16)-0.813*(Cr'-128)-0.392*(Cb'-128) 및 B'=l.164*(Y'-16)+2.017*(Cb'-128)로 RGB로 변환될 수 있다.
8비트 인코딩에서 R, G, B 및 Y 채널의 공칭(nominal) 범위는 [16 ... 235]이고, Cb 및 Cr 채널은 [16 ... 240]의 공칭 범위를 가질 수 있으며 중립 값은 128이다. RGB에서 기준 검정색은 (16, 16, 16)이고 기준 흰색은 (235, 235, 235)이다. Y'CBCR에서, 도 6에 도시된 바와 같이, 기준 검정색은 (16, 128, 128)이고, 기준 흰색은 (235, 128, 128)이다. 공칭 범위를 벗어난 값은 허용되지만 일반적으로 방송 또는 디스플레이를 위해 고정될 것이다. 값 0과 255는 타이밍 참조로 예약될 수 있으며 컬러 데이터를 포함하지 않을 수 있다. 10비트 인코딩에서 공칭 값은 8비트 인코딩의 4배일 수 있다.
색조, H, 채도, S 및 밝기 L의 파라미터는 비디오 프레임에 임베딩된 워터마크가 보이지 않게 조작될 수 있다. 워터마크는 H, S 및/또는 L 값을 변조함으로써 미디어 디바이스에 의해 검출되지만 미디어 디바이스의 사용자에 의해 검출되지 않는 방식으로 비디오 프레임에 임베딩될 수 있다. 예를 들어, 도 6의 (a)를 참조하면, 낮은 또는 높은 밝기(605)에서 임의의 색조(603)에 대해서 보다, 포화도(604)는 인간의 눈에 띄지 않고 디스플레이 스크린의 작은 영역에 대해서 변경될 수 있다. 유사하게, 일부 컬러에 대한 낮은 밝기 또는 높은 밝기(605)의 경우, 색조(603)는 사람의 눈에 띄지 않고 시프트될 수 있다. 거의 최대 밝기(605)(흰색) 또는 거의 최소 밝기(검은색)에서, 색조(603) 및 채도(804)는 가시적인 아티팩트를 생성하지 않으면서 시프트될 수 있다.
도 9는 본 개시의 양태들에 따른 밝기에 상대적인 포화의 이용가능한 범위를 반영하는 바이코닉 표현에서 HSL의 색 공간 표현을 도시한다. 바이코닉 표현(901)은 도 8a의 실린더형 표현(801)을 이용하여 생성될 수 있고, 상부 원뿔의 피크에 흰색이 있고 하부 원뿔의 피크에 검은색이 있는 바이코닉 형상(901)의 2개의 인접한 원뿔을 생성할 수 있다. 맨 위, 흰색(902)은 밝기가 최대이고, 채도가 0이며, 색조가 불확정(채도가 0인 경우)인 단일 데이터 포인트일 수 있다. 채도(S) 또는 색조(H)를 변경하지 않아도 RGB에서 해당 값이 변경된다(8 비트 시스템에서는 각각 255, 255 및 255). 밝기가 최소 검은색 903일 때, 채도 S는 0이 되고 색조 H는 RGB의 해당 값에서 확정적이지 않다(예를 들어, 8비트 시스템에서는 0,0,0이 됨). 휘도 값 'Y'는 0 내지 255 중에서 대략 16 내지 235의 범위(905)를 가질 수 있으며, 선택적으로 휘도 스케일의 여백에서 범위 904 및 906을 제외한다. Cr 및 Cb 값은 0 내지 255 중에서 16 내지 240의 범위를 가질 수 있다. 색차 인코딩은 겹치는 휘도와 크로마 값으로 구성되므로, Y'CbCr의 모든 값이 유효한 RGB 값으로 변환되는 것은 아니다. 예를 들어, Y'CbCr 값의 일부 조합은 RGB 음수(negative) 값으로 변환될 수 있다. 일부 예들에서, 미디어 디바이스는 하나 이상의 에러 정정 프로세스를 이용하여 무효 값들에 대해 정정할 수 있다. 하나의 이러한 에러 정정 프로세스는 최소 허용 값(예를 들어, 음수 값) 미만인 값을 최소 허용 값(예를 들어, 8비트 색 공간에서 0)으로 설정하고 최대 허용 값보다 큰 값(예를 들어, 8비트 색 공간에서 255보다 큼)을 최대 허용 값(예를 들어, 255)으로 설정하는 단계를 포함할 수 있다.
도 10a는 본 개시의 측면들에 따른 3D 워터마크 심볼들의 예시적인 세트와 그에 대응하는 슬라이스 포인트의 그래프를 도시한다. 워터마크들은 비디오 프레임의 가장자리 부분(예를 들어, 도 2에 설명된 바와 같이 상단 하나 또는 두 개의 행과 같은)에 위치하는 픽셀들의 픽셀 값들을 변조함으로써 비디오 프레임들에 삽입될 수 있다. 픽셀 값들의 변조는 워터마크의 인지가능성을 제한하기 위해 주변 픽셀들의 휘도 및 크로마에 기초할 수 있다. 일부 예들에서, 픽셀의 휘도 값은 코드의 심볼들을 나타내기 위해 사용될 수 있다. 예를 들어, 휘도 값 10은 제1 심볼을 나타내는데 사용될 수 있고, 휘도 값 50은 제2 심볼을 나타내는데 사용될 수 있다. 크로미넌스 값들은 주위 픽셀들(예를 들어, 워터마크에 인접한 픽셀들의 하나 이상의 행들)에 기초해서 그리고 도 5 내지 9에 설명된 기술들을 사용하여 결정될 수 있다. 대안적으로, 크로미넌스 값들은 워터마크의 심볼들을 나타내기 위해 사용될 수 있다. 그 예들에서, 휘도 값은 주변 픽셀들의 휘도 값들과 유사할 수 있다.
워터마크는 Y'CbCr 색 공간(1001)의 3차원 공간에서 데이터를 변조하여 생성될 수 있다. 0과 1 심볼 사이의 거리는 3차원 색 공간의 유클리드 거리가 되며 D = ((Y1-Y0)2 + (Cb1-Cb0)2 + (Cr1-Cr0)2)1/2로 표현될 수 있다. 데이터를 표현하는 3차원 수단은 제1 심볼과 제2 심볼을 나타내는 픽셀 값들 사이에 더 큰 거리를 제공할 수 있다. 3차원 색 공간의 사용은 주위 픽셀들의 픽셀 값들과 매칭되는 심볼들에 대한 픽셀 값들을 찾는 수단을 제공하여 심볼들에 대해 선택된 픽셀 값들의 인지가능성을 감소시킬 수 있다.
제1 픽셀 값(1002)은 주변 픽셀들에 기초해서 제1 심볼(1002)을 나타내도록 선택될 수 있고, 제2 픽셀(1004)은 제1 픽셀 값의 휘도 값을 시프트함으로써 및/또는 알려진 값(예를 들어, 검은색 등)을 갖는 픽셀 값을 선택함으로써 선택될 수 있다. 워터마크의 픽셀 값들은 주위 픽셀들(예를 들어, 워터마크의 인지가능성을 감소시키기 위해), 신호 노이즈, 및/또는 압축 알고리즘에 기초해서 변할 수 있다. 미디어 디바이스는 심볼 슬라이스 포인트(1003)를 이용하여 워터마크의 픽셀이 제1 심볼 또는 제2 심볼에 대응하는지 여부를 결정할 수 있다. 이는 픽셀 값이 달라지게 해서(감소된 인지가능성을 보장함) 워터마크가 여전히 디코딩될 수 있도록 보장한다. 심볼 슬라이스 포인트(1003)는 제1 픽셀 값(1002)과 제2 픽셀 값(1004) 사이의 중간 지점으로서 선택될 수 있다. 심볼 슬라이스 포인트(1003)는 미디어 디바이스가 워터마크의 픽셀의 픽셀 값을 제1 심볼 또는 제2 심볼에 대응하는 것으로 식별할 지점을 나타낸다. 픽셀이 심볼 슬라이스 포인트(1003)와 제1 픽셀 값(1002) 사이의 값을 갖는 경우, 미디어 디바이스는 그 픽셀이 제1 심볼을 나타낸다고 결정한다. 픽셀이 심볼 슬라이스 포인트(1003)와 제2 픽셀 값(1004) 사이의 값을 갖는 경우, 미디어 디바이스는 그 픽셀이 제2 심볼을 나타낸다고 결정한다.
도 10b는 본 개시의 양태들에 따른 3D 워터마크 심볼들의 다른 예시적인 세트 및 그의 대응하는 슬라이스 포인트의 그래프를 도시한다. 도시된 예에서, 제1 픽셀 값(1005)은 보라색(Y'=87; Cb = 186; Cr=201)으로서 선택되고 제2 픽셀 값(1007)은 적색(Y'=16; Cb=94' Cr=218)으로서 선택된다. 심볼 슬라이스(1006)는 제1 픽셀 값(1005)과 제2 픽셀 값(1007) 사이의 중간 지점으로서 선택될 수 있다. 픽셀이 심볼 슬라이스 포인트(1006)와 제1 픽셀 값(10005) 사이의 값을 갖는 경우, 미디어 디바이스는 그 픽셀이 제1 심볼을 나타낸다고 결정한다. 픽셀이 심볼 슬라이스 포인트(1006)와 제2 픽셀 값(1007) 사이의 값을 갖는 경우, 미디어 디바이스는 그 픽셀이 제2 심볼을 나타낸다고 결정한다.
도 11은 본 개시의 양태들에 따른 심볼 슬라이스 포인트 결정의 그래프를 도시한다. 그래프는 다양한 루마(luma) 값에서 검출된 심볼의 백분율을 나타낸다. 제1 픽셀 값(예를 들어, 제1 심볼을 나타냄)은 대략 0의 루마 값을 가질 수 있다. 제2 픽셀 값(예를 들어, 제2 심볼을 나타냄)은 대략 42의 루마 값을 가질 수 있다. 슬라이스 포인트는 0과 42 또는 21의 중간 지점으로 선택된다. 픽셀의 루마 값이 21보다 작은 경우, 미디어 디바이스는 픽셀이 제1 심볼을 나타낸다고 결정한다. 픽셀의 루마 값이 21보다 큰 경우, 미디어 디바이스는 픽셀이 제2 심볼을 나타낸다고 결정한다. 미디어 디바이스는 루마 값이 제1 픽셀 값 또는 제2 픽셀 값과 정확히 대응하지 않는 경우에도 심볼을 검출할 수 있다.
제1 픽셀 값과 제2 픽셀 값 사이의 거리가 문턱값보다 크면, 디코딩 에러가 발생할 가능성이 줄어든다. 예를 들어, 픽셀 값이 제1 심볼 또는 제2 심볼에 대응하는지 여부를 결정하기 어려울 수 있는 슬라이스 포인트 근처에서 검출되는 심볼은 거의 없다.
도 12는 본 개시의 양태들에 따른 워터마크에 근접한 전이 영역이 점진적으로 어두워져 인간의 눈에 대한 워터마크의 인지적 블러링을 증가시키는 예시적인 비디오 프레임을 도시한다. 워터마크와 비디오 프레임의 나머지 부분 사이에 경계 영역이 생성될 수 있다. 경계 영역은 워터마크에 인접한 픽셀들의 하나 이상의 행들을 포함할 수 있다. 이 행들은 워터마크의 인지가능성을 줄이는 시각적 블렌딩 효과를 발생시키도록 수정된다. 예를 들어, 행(1201 및 1202)은 동일한 값(예를 들어, 워터마크의 심볼들을 나타내는 픽셀 값들에 비례)으로 조정될 수 있다. 일부 예에서, 각각의 행은 구배를 생성하기 위해 독립적으로 조정될 수 있다. 예를 들어, 행(1201)의 픽셀들의 휘도 값 Y는 워터마크의 심볼들을 나타내는 픽셀 값들에 기초하여 감소될 수 있고, 행(1201)의 픽셀들의 휘도 값 Y도 또한 감소될 수 있지만, 행(1201)의 그것보다 작을 수 있다.
경계 영역에는 임의의 수의 행이 포함될 수 있다. 휘도 구배는 비디오 프레임의 평균 휘도를 경계 영역 내의 행들의 수로 나눈 값과 동일하게 정의될 수 있다. 이어서, 비디오 프레임의 평균 휘도가 워터마크의 평균 휘도보다 높은지 낮은지 여부가 결정된다. 비디오 프레임의 평균 휘도가 워터마크의 평균 휘도보다 높으면, 경계 영역은 워터마크에 가장 가까운 어둠을 비디오 프레임에 가장 가까운 빛으로 시프트시킬 수 있다(예를 들어, 더 낮은 휘도를 더 높은 휘도로). 비디오 프레임의 평균 휘도가 워터마크보다 낮으면, 경계 영역은 워터마크에 가장 가까운 빛으로부터 비디오 프레임에 가장 가까운 어둠으로 시프트할 수 있다(예를 들어, 더 높은 휘도로부터 더 낮은 휘도로).
예를 들어, 비디오 프레임의 평균 휘도가 워터마크의 평균 휘도보다 높은 경우, 경계 영역의 제1 행(예를 들어, 워터마크에 인접한 행)의 픽셀들의 휘도 값은 비디오 프레임의 평균 휘도에 기초하여 감소될 수 있다(예를 들어, 비디오 프레임의 평균 휘도에 비례하는 값, 등). 경계 영역의 다음 행(워터마크로부터 더 멀리 떨어진 다음 행)의 휘도는 이전 행이 감소된 양에서 휘도 구배를 뺀 양만큼 감소될 수 있다. 워터마크로부터 더 멀리 떨어진 각각의 후속 행의 휘도는 바로 이전 행이 감소된 양에서 휘도 구배를 뺀 양에 기초하여 감소될 수 있다.
다른 예를 들면, 비디오 프레임의 평균 휘도가 워터마크의 평균 휘도보다 낮으면, 경계 영역의 제1 행(예를 들어, 워터마크에 인접한 행)의 픽셀들의 휘도 값은 비디오 프레임의 평균 휘도(예를 들어, 비디오 프레임의 평균 휘도에 비례하는 값 등)에 기초해서 증가될 수 있다. 경계 영역의 다음 행(워터마크로부터 더 멀리 있는 다음 행)의 휘도는 이전 행이 증가한 양에서 휘도 구배를 뺀만큼 증가될 수 있다. 워터마크로부터 더 나아가 각각의 후속 행의 휘도는 바로 이전 행이 증가된 양에서 휘도 구배를 뺀 양에 기초해서 증가될 수 있다.
대안적으로, 비디오 프레임의 평균 휘도가 제1 문턱값보다 낮으면, 경계 영역은 워터마크에 가장 가까운 광으로부터 워터마크로부터 가장 먼 어둠까지의 구배를 가질 수 있다. 비디오 프레임의 평균 휘도가 제2 문턱값보다 높으면, 경계 영역은 워터마크에 가장 가까운 어둠으로부터 워터마크로부터 가장 먼 빛까지의 구배를 가질 수 있다. 각 행의 휘도 값의 차이는 워터마크 또는 비디오 프레임의 평균 휘도 값의 비례값일 수 있다. 제1 문턱값은 제2 문턱값과 동일하거나 상이할 수 있음에 유의해야 한다.
도 13a는 본 개시의 양태들에 따른 워터마크의 0 및 1 심볼에 대한 값이 번갈아 가며 인간의 눈에 워터마크의 인지적 블러링을 야기하는 비디오 프레임들의 예시적인 시퀀스를 도시한다. 워터마크들은 (베이스 코드에 따라) 둘 이상의 타입의 심볼들을 나타내기 위한 픽셀 값들의 변조를 포함하기 때문에, 교차하는 픽셀 값들이 미디어 디바이스의 사용자에게 깜박임으로서 나타날 수 있다. 깜박임은 후속 비디오 프레임에서 비디오 프레임의 역전된 형태를 제시함으로써 감소되거나 제거될 수 있다. 워터마크의 제1 버전은 프레임 1에 임베딩될 수 있다. 동일한 워터마크의 제2 버전이 프레임 2에 임베딩될 수 있다. 워터마크의 제2 버전은 제1 워터마크의 반전된 형태일 수 있다. 예를 들어, 제1 심볼을 나타내는 휘도 값(예를 들어, 10-16 사이의 낮은 휘도)을 갖는 픽셀들의 각각의 세트에는 제2 심볼을 나타내는 휘도 값(예를 들어, 45-55 사이의 높은 휘도)이 주어질 수 있다. 제2 심볼을 나타내는 휘도 값을 갖는 픽셀들의 각각의 세트에는 제1 심볼을 나타내는 휘도 값이 주어질 수 있다.
미디어 디바이스는, 프레임 1에서 워터마크의 제1 버전을 수신한 후, 프레임 2의 워터마크가 반전될 것으로 예상할 수 있다. 프레임 2에서 워터마크를 디코딩할 때, 미디어 디바이스는 디코딩된 심볼들을 반전시킬 수 있다(예를 들면, 각각의 제1 심볼은 제2 심볼로 교체될 수 있고, 각각의 제2 심볼은 제1 심볼로 교체될 수 있다). 미디어 디바이스는 워터마크가 검출되고 정확하게 디코딩되는 것을 보장하기 위해 얼마나 많은 프레임들이 동일한 워터마크를 포함할지(예를 들어, 교대로 반전된 형태로)의 표시를 수신할 수도 있다.
일부 예에서, 다음 프레임(예를 들어, 프레임 3)은 이전 프레임(예를 들어, 프레임 2)에 포함된 워터마크의 반전된 워터마크를 포함할 수 있으며, 이는 원래의 워터마크(예를 들어, 프레임 1)와 동일하다. 워터마크는 둘 이상의 비디오 프레임을 이용하여 1회 이상 반전될 수 있다. 교차 프레임들에서 픽셀들을 반전시킴으로써, 사용자는 워터마크를 두 프레임 사이의 평균 픽셀 값들로서 인식할 수 있다. 예를 들어, 제1 픽셀이 흰색이고 반전된 픽셀이 검은색인 경우, 빠르게 연속으로 디스플레이되면 두 픽셀이 회색으로 보인다(도시 참조). 이로 인해 워터마크가 깜박이는 픽셀이 아닌 단색으로 나타날 수 있다. 워터마크가 반전되는 횟수를 증가시키는 것은, 워터마크가 인식될 수 있지만 주어진 비디오 프레임 세트로 전송될 수 있는 데이터의 양을 감소시킬 수 있는 가능성을 감소시킬 수 있다. 워터마크에 임베딩될 데이터의 양과 워터마크가 검출될 가능성에 기초해서 워터마크가 반전될 프레임의 양.
도 13b는 본 개시의 양태들에 따른 데이터 심볼들의 인지적 블렌딩을 개선하기 위해 2프레임마다 데이터 심볼들의 예시적인 비디오 반전을 도시한다. 일부 예들에서, 워터마크들의 시퀀스가 프레임들의 세트에 삽입되어 더 많은 양의 데이터를 미디어 디바이스로 송신할 수 있다. 예를 들어, 프레임 1은 제1 워터마크를 포함할 수 있고, 프레임 2는 제1 워터마크의 반전된 형태를 포함할 수 있다. 프레임 1 및 프레임 2는 반전 쌍(inverse pair) A로 지칭될 수 있다. 워터마크들의 시퀀스에서 다음 워터마크는 프레임 3에 임베딩될 수 있고, 그 워터마크의 반전은 프레임 4에 임베딩될 수 있다(예를 들어, 반전 쌍 B). 각각의 홀수 비디오 프레임은 워터마크들의 시퀀스에 새로운 워터마크를 포함할 수 있고, 각각의 짝수 프레임은 바로 이전의 비디오 프레임에 임베딩되었던 워터마크의 반전된 형태를 포함할 수 있다.
워터마크들의 시퀀스가 비디오 프레임들의 세트에 임베딩되는 경우, 그것은 사용자에게 더 인지가능할 수 있다. 비디오 프레임과 워터마크 사이의 픽셀들의 변조는 깜박임으로 나타날 수 있다. 워터마크 및 그 워터마크의 반전된 형태를 연속적인 비디오 프레임에 임베딩함으로써 그 깜박임이 감소되거나 제거될 수 있다.
도 14는 본 개시의 양태들에 따라 비디오 프레임에 워터마크를 적용하기 위한 인코딩 흐름 프로세스의 블록도를 도시한다. 인코딩 흐름 프로세스는 미디어 디바이스에 비디오 서비스를 제공하는 디바이스에 의해 수행될 수 있다. 인코딩된 비디오 소스(1401)(예를 들어, 비디오 데이터)는 비디오 디코더(1402)로 전달된다. 디코더(1402) 및 워터마크 데이터(1403)로부터의 디코딩된 비디오는 에러 정정 코딩(1404)에 의해 수신된다. 에러 정정 코딩(1404)은 에러 정정 코드들을 비디오 데이터 및/또는 워터마크를 나타내는 데이터에 포함시킨다. 이것은 미디어 디바이스(예를 들어, 텔레비전, 셋톱 박스 등)가 비디오 프레임 내의 데이터에 에러 정정을 적용할 수 있고 데이터가 디코딩될 수 있는 것을 보장한다.
다음으로, 데이터 픽셀 값 계산(1405)은 워터마크 데이터(1403)에 대해 도출된다. 워터마크가 사용자에 의해 인식될 가능성을 줄이기 위해, 픽셀 값들은 주위 픽셀들의 컬러 및/또는 주위 픽셀들의 휘도에 기초해서 선택될 수 있다. 데이터 픽셀 값 계산(1405)는 심볼 0과 1을 나타내는 근사 픽셀 값을 도출한다. 픽셀 값 계산(1405)이 완료되면, 워터마크는 비디오 프레임의 픽셀들을 변조함으로써 비디오 프레임에 임베딩될 수 있다. 일부 예들에서, 픽셀들의 상단 하나 또는 두 개의 행은 비디오 프레임에서 워터마크를 형성하도록 변조될 수 있다. 픽셀들은 데이터 픽셀 값 계산(1405)에 의해 결정된 바와 같이 0을 나타내는 제1 픽셀 값과 1을 나타내는 제2 픽셀 값 사이에서 변조될 수 있다. 프로세스는 비디오 프레임이 압축되는 MPEG 압축(1407)으로, 이어서 MPEG 스티칭(stitching)(1408)으로 계속되고, 여기서 압축된 비디오 프레임은 인코딩된 비디오 소스(1401)로부터의 다른 비디오 데이터와 함께 스티칭된다. 워터마크가 비디오 프레임의 일부에 걸쳐 위치하기 때문에 블록들(1401 내지 1406)은 비디오 프레임의 일부(예를 들어, 워터마크의 크기보다 큰 부분)만을 사용하여 동작할 수 있다. MPEG 스티칭(1408)은 워터마크를 포함하는 비디오 프레임(1408)의 상기 일부를 비디오 프레임의 나머지 부분과 결합한다.
일단 비디오 프레임이 완성되면, 비디오 프레임은 전송(1409)을 위해 인코딩된다. 비디오 프레임은 전송 매체 및/또는 통신 프로토콜(예를 들면, 방송 텔레비전 또는 스트리밍 프로토콜 등)에 기초해서 인코딩될 수도 있다. 인코딩되면 워터마크를 포함하는 비디오 프레임이 1410에서 출력된다.
도 15는 본 개시의 양태들에 따라 비디오 프레임으로부터 워터마킹된 데이터를 추출하기 위한 디코딩 흐름 프로세스의 블록도를 도시한다. 디코딩 흐름 프로세스는 미디어 디바이스(예를 들어, 텔레비전, 셋톱 박스 등)에 의해 수행될 수 있다. 디코딩 흐름 프로세스는 비디오 신호(1501)가 수신될 때 시작될 수 있다. 비디오 프레임 분석(1502)은 비디오 신호의 비디오 프레임에서 워터마크의 존재를 식별하기 위해 비디오 신호에 대해 수행된다. 일부 예들에서, 비디오 프레임 분석(1502)은 워터마크의 존재를 나타내는 도입 패턴을 식별한다. 픽셀 값 디코더(1503)는 베이스-n 심볼 세트의 심볼들에 대응하는 픽셀들을 설정한다. 예를 들어, 베이스-2 심볼 세트(예를 들어, 바이너리 코드)에서, 픽셀 값 디코더는 심볼 0에 대응하는 픽셀들 및 심볼 1에 대응하는 픽셀들을 식별한다.
에러 검출/정정(1504)은 워터마크의 픽셀 값들에서 에러들을 검출하고 그것들을 정정하려고 시도한다. 압축, 노이즈 등으로 인해 에러가 도입되어 픽셀 값이 변경될 수 있다. 에러 정정은 하나 이상의 에러 정정 프로세스에 따라 수행될 수 있다. 하나의 에러 정정 프로세스는 중복된 비디오 프레임 및/또는 워터마크를 수신하는 단계 및 2개의 비디오 프레임의 픽셀 값을 평균화하는 단계를 포함한다. 평균 픽셀 값은 변경된 픽셀 값과 실제 픽셀 값 간의 차이를 줄여 압축, 노이즈 등으로 인해 변경된 픽셀 값의 영향을 줄인다. 중복 프레임/워터마크의 양을 늘리면 에러의 영향을 더욱 줄일 수 있다. 다른 에러 정정 프로세스들은 중복-프레임 에러 정정 프로세스에 더하여 또는 그 대신에 수행될 수 있다.
워터마크의 코드는 메시지 디코딩(1505)에 의해 디코딩될 수 있다. 메시지 디코딩(1505)은 심볼을 나타내는 픽셀들의 각각의 세트로부터 심볼들의 시퀀스를 정의한다. 메시지 디코딩은 심볼 시퀀스로부터 도입 패턴을 제거할 수 있다. 도입 패턴은 비디오 프레임에 워터마크가 있음을 나타내지만 다른 데이터는 포함하지 않는 서브시퀀스 심볼이다. 도입 패턴은 워터마크의 데이터 손실을 줄이지 않고 심볼의 시퀀스로부터 제거될 수 있다.
데이터 프레이밍(1506)은 각각의 비디오 프레임의 심볼들의 시퀀스를 조직한다. 큰 메시지 또는 큰 데이터세트를 나타내는 워터마크의 세트가 비디오 프레임의 세트에 삽입되면, 데이터 프레이밍(1506)은 각 프레임의 심볼들의 각 시퀀스가 심볼들의 다른 시퀀스에 대해 위치되는 순서를 결정한다. 디코딩된 메시지는 추가 처리를 위해 출력된다. 예를 들어, 워터마크가 실행가능 코드를 포함하는 경우, 미디어 디바이스의 프로세서는 그 후 실행가능 코드를 실행할 수 있다. 하나 이상의 워터마크의 심볼들의 시퀀스는, 예를 들어, 비디오 콘텐츠와 연관된 추가적인 정보가 디스플레이되거나, 비디오 세그먼트를 다른 비디오 세그먼트(예를 들어, 캐시 메모리에 저장되고, 원격 소스로부터 검색되는 등)로 교체하거나, 팝업 윈도우, 이들의 조합을 디스플레이하게 할 수 있다.
도 16은 본 개시의 양태들에 따라 비디오 프레임에 임베딩된 워터마크로부터 코드를 디코딩하기 위한 예시적인 프로세스의 흐름도를 도시한다. 블록(1604)에서, 미디어 디바이스는 비디오 프레임을 수신한다. 미디어 디바이스는 모니터, 텔레비전, 셋톱 박스, 스마트폰과 같은 모바일 디바이스 등과 같은 비디오를 프로세싱하거나 디스플레이하도록 구성된 디바이스일 수 있다. 비디오 프레임의 소정의 제1 영역은 워터마크에 대응하는 픽셀들의 제1 세트를 포함할 수 있다. 예를 들어, 비디오 프레임의 소정의 제1 영역은 비디오 프레임의 상위 1개 또는 2개의 행일 수 있다.
프레임은 또한 소정의 제1 영역에 인접할 수 있고 제2 세트의 픽셀들을 포함하는 소정의 제2 영역을 포함할 수 있다. 제2 세트의 픽셀들은 비디오 프레임의 소정의 제3 영역(예를 들어, 비디오 프레임의 나머지)의 픽셀들의 픽셀 값들에 기초하는 픽셀 값들을 가질 수 있다. 예를 들어, 비디오 프레임의 소정의 제2 영역은 경계 영역일 수 있다. 경계 영역은 도 12에 설명된 바와 같이 소정의 제1 영역의 인지가능성을 감소시키기 위해 선택된 픽셀 값을 갖는 하나 이상의 행의 픽셀들을 포함할 수 있다. 예를 들어, 경계 영역이 2개 이상의 행을 포함하는 경우, 각 행의 픽셀 값은 더 높은 휘도 값을 갖는 경계 영역의 각 행(소정의 제1 영역에 가장 가까운 행부터 시작)을 갖는 구배에 따라 선택된다.
이전에 설명된 바와 같은 하나 이상의 워터마크 수정 프로세스들은 사용자가 비디오 프레임의 소정의 제1 영역에 임베딩된 데이터를 인식할 수 있는 가능성을 감소시키기 위해 비디오 프레임에 수행되었을 수 있다. 예를 들어, 소정의 제1 영역은 인지가능성을 줄이기 위해 소정의 범위 내에 있는 (예를 들어, 데이터를 전달하기 위해) 변조된 픽셀 값을 포함할 수 있다. 그 예에서, 제1 심볼과 제2 심볼을 나타내는 픽셀 값들(예를 들어, 휘도 값들)의 차이는 40으로 제한될 수 있다. 하나 이상의 비디오 프레임은 에러 정정으로서 제1 심볼과 제2 심볼(예를 들어, 80 등)을 나타내는 픽셀 값들 사이의 더 큰 차이를 포함할 수 있다. 다른 예에서, 후속 비디오 프레임은 계속하여 디스플레이될 때, 소정의 제1 영역이 단색(예를 들어, 제1 픽셀 값 및 제2 픽셀 값의 평균)으로 나타날 수 있도록 반전되는 소정의 제1 영역을 포함할 수 있다. 하나 이상의 워터마크 수정들의 임의의 조합은 비디오 프레임이 미디어 디바이스에 의해(또는 사용자에게 디스플레이되기 전에 미디어 디바이스에 의해) 수신되기 전에 비디오 프레임에 적용될 수 있다.
블록(1608)에서, 미디어 디바이스는 비디오 프레임의 소정의 제1 영역에서 워터마크를 검출한다. 미디어 디바이스는 워터마크를 검출할 수도 있고, 소정의 제1 영역에서의 픽셀들의 변조를 검출할 수도 있다. 예를 들어, 미디어 디바이스는 제1 심볼을 나타내는 하나 이상의 픽셀들 및 (베이스-n 코드의) 제2 심볼을 나타내는 하나 이상의 픽셀들을 검출한다. 일부 예들에서, 미디어 디바이스는 소정의 영역에서 도입 패턴을 검출할 수 있다. 도입 패턴은 워터마크를 나타내는 소정의 픽셀 값 시퀀스를 포함한다. 워터마크는 동일한 행을 따라 도입 패턴 뒤에 위치할 수 있다. 미디어 디바이스가 도입 패턴을 검출하면, 미디어 디바이스는 워터마크를 식별한다.
블록(1612)에서, 미디어 디바이스는, 소정의 제1 영역에서, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트들 및 제2 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트들을 식별한다. 심볼은 픽셀들의 연속적인 서브세트(예를 들어, 4픽셀들의 1행, 4픽셀들의 2행 등과 같은 소정의 양의 인접한 픽셀들)에 의해 표현될 수 있다. 연속적인 서브세트의 픽셀들은 제1 픽셀 값 또는 제2 픽셀 값에 대응할 수 있는 유사한 픽셀 값(예를 들어, 유사한 색조, 크로마, 휘도, RGB 값, 또는 이들의 조합 등)을 가질 수 있다. 예를 들어, 제1 픽셀 값 및 제2 픽셀 값이 휘도 값에 대응하면, 미디어 디바이스는 제1 휘도 값(예를 들어, 대략 10-16)을 갖는 픽셀들의 각각의 연속적인 서브세트 및 제2 휘도 값(예를 들어, 대략 45-55)을 갖는 픽셀들의 각각의 연속적인 서브세트를 식별할 수 있다.
제1 값 및 제2 값은 사용자가 워터마크를 인식할 가능성을 감소시키기 위해 선택될 수 있다. 사용자는 고휘도 픽셀들 옆에 있는 저휘도 픽셀들 사이의 대비를 인식하고, 비디오 프레임에서 아티팩트로서 워터마크의 존재를 검출할 수 있다. 휘도를 이용하여 픽셀들을 변조할 때, 제1 휘도 값과 제2 휘도 사이의 차이는 대략 40일 수 있다.
휘도 값들의 차이를 제한하는 것은 사용자가 워터마크를 인식할 수 있는 가능성을 감소시킬 수 있는 반면(예를 들어, 서로 옆에 있는 대비되는 휘도 값들로 인해 깜박임 또는 아티팩트로서 인식될 수 있음), 미디어 디바이스의 에러율을 증가시킬 수도 있다. 에러의 가능성을 줄이기 위해, 비디오 프레임은 제1 픽셀 값(제1 심볼을 나타냄)과 제2 픽셀 값(제2 픽셀을 나타냄) 사이의 차이를 증가시킬 수 있다. 예를 들어, n개의 비디오 프레임마다, 픽셀들의 하나 이상의 연속적인 서브세트는 제1 픽셀 값에 대응하고, 픽셀들의 하나 이상의 연속적인 서브세트가 제3 픽셀 값에 대응하는 비디오 프레임이 수신될 수 있다. 제1 픽셀 값은 계속해서 10 내지 16 사이의 휘도 값을 참조할 수 있다. 제3 픽셀 값은 대략 80의 휘도 값을 나타낼 수 있다. 제3 픽셀 값과 제1 픽셀 값의 차이는 제2 픽셀 값과 제1 픽셀 값의 차이의 약 2배일 수 있다. 일부 예에서, 제1 픽셀 값과 제2 픽셀 값 사이의 증가된 차이를 갖는 워터마크를 갖는 m개의 프레임들이 수신될 수 있다. m 프레임 후에, 제1 픽셀 값과 제2 픽셀 사이의 차이가 반환될 수 있다(예를 들어, 대략 40).
블록(1616)에서, 미디어 디바이스는 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트들에 제1 심볼을 할당하고, 제2 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트들에 제2 심볼을 할당한다. 제1 및 제2 픽셀 값들은 베이스-2 심볼 세트(예를 들어, 바이너리 코드)의 제1 심볼 및 제2 심볼을 나타낼 수 있다. 추가적인 픽셀 값들은 베이스-n 심볼 세트들을 정의하기 위해 사용될 수 있다. 예를 들어, 휘도 및 크로마 기반의 변조 픽셀은 베이스-4 심볼 세트를 생성할 수 있다.
블록(1620)에서, 미디어 디바이스는 픽셀들의 하나 이상의 연속적인 서브세트들에 할당된 심볼들에 기초해서 심볼들의 시퀀스를 생성한다. 심볼들의 시퀀스는 비디오 프레임과 연관된 추가 정보를 제공하고/하거나 미디어 디바이스로 하여금 특정 기능들을 수행하게 할 수도 있다. 추가 정보는 디스플레이된 비디오의 콘텐츠와 연관된 정보(예를 들어, 배우, 캐릭터, 설정, 팀, 제작 스태프, 제작 특성, 또는 콘텐츠의 임의의 다른 사실 또는 특성), 디스플레이된 비디오와 연관된 메타데이터(예를 들어, 해상도, 픽셀 값, 방송 출처 등), 디스플레이된 비디오와 연관된 통신, 등을 포함할 수 있지만 이에 국한되지 않는다. 기능들은 특정 URL에 대한 웹 브라우저 열기, 비디오 프레임 위에 팝업 창 열기, 국지적으로 저장되거나 원격 서버로부터 검색된 비디오 세그먼트의 대체를 포함할 수 있지만 이에 국한되지는 않는다.
다음 비디오 프레임의 워터마크는 동일한 심볼 시퀀스를 가질 수 있지만 반전될 수 있다. 다음 비디오 프레임에서, 이전 프레임의 제1 픽셀 값에 대응하는 픽셀들의 각각의 연속적인 서브세트는 이제 제2 픽셀 값에 대응할 수 있고, 이전 프레임의 제2 픽셀 값에 대응하는 픽셀들의 각각의 연속적인 서브세트는 이제 제2의 제1 값에 대응할 수 있다. 예를 들어, 도 13a에 도시된 바와 같이, 프레임 1은 제1 픽셀 값(예를 들어, 10-16의 휘도)에 대응하는 픽셀들의 제1 연속 서브세트에 이어 제2 픽셀 값(예를 들어, 40의 휘도)에 대응하는 픽셀들의 제2 연속 서브세트를 포함한다. 후속 프레임(예를 들어, 프레임 2)에서, 픽셀들의 제1 연속 서브세트는 제2 픽셀 값에 대응하고, 픽셀들의 제2 연속 서브세트는 제1 픽셀 값에 대응한다. 후속 프레임에서 픽셀 값을 반전시킴으로써, 소정의 제1 영역의 픽셀들은 제1 픽셀 값 및 제2 픽셀 값의 평균으로서(예를 들어, 단색으로서) 나타난다. 결과적으로, 사용자는 워터마크를 인식하지 못할 수 있다.
도 17은 본 개시의 양태들에 따른 예시적인 컴퓨팅 디바이스를 도시한다. 예를 들어, 컴퓨팅 디바이스(1700)는 본 명세서에서 설명된 시스템 또는 방법 중 임의의 것을 구현할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(1700)는 미디어 디바이스의 컴포넌트이거나 그 내부에 포함될 수 있다. 컴퓨팅 디바이스(1700)의 컴포넌트들은 버스와 같은 연결부(1705)를 이용하여 서로 전기적으로 통신하는 것으로 도시되어 있다. 예시적인 컴퓨팅 디바이스 아키텍처(1700)는 메모리(1715), 읽기 전용 메모리(ROM)(1720), 랜덤 액세스 메모리(RAM)(1725), 및/또는 저장 디바이스(1730)와 같은(이들로 국한되지 않음) 컴퓨팅 디바이스(1700)의 컴포넌트들을 프로세싱 유닛(1710)으로 결합하도록 구성되는 프로세싱 유닛(예를 들어, CPU, 프로세서 등)(1710) 및 연결부(1705)(예를 들어, 버스 등)를 포함한다.
컴퓨팅 디바이스(1700)는 프로세싱 유닛(1710)과 직접 연결되거나, 그에 근접하거나, 또는 그 내에 통합된 고속 메모리의 캐시(1712)를 포함할 수 있다. 컴퓨팅 디바이스(1700)는 프로세싱 유닛(1710)에 의한 더 빠른 액세스를 위해 메모리(1715) 및/또는 저장 디바이스(1730)로부터 캐시(1712)로 데이터를 복사할 수 있다. 이러한 방식으로, 캐시(1712)는 데이터를 기다리는 동안 프로세서(1710) 지연을 피하는 성능 향상을 제공할 수 있다. 대안적으로, 프로세싱 유닛(1701)은 메모리(1715) 및/또는 저장 디바이스(1730)로부터 직접 데이터에 액세스할 수 있다. 메모리(1715)는 다수의 유형의 메모리(예를 들어, 자기, 광학, 고체 상태(solid-state) 등)를 포함할 수 있다.
저장 디바이스(1730)는 휘발성 및/또는 비휘발성 메모리와 같은 하나 이상의 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 비일시적 컴퓨터 판독가능 매체는 컴퓨팅 디바이스(1700)에 의해 액세스가능한 명령어 및/또는 데이터를 저장할 수 있다. 비일시적 컴퓨터 판독가능 매체는 자기 카세트, 하드-디스크 드라이브(HDD), 플래시 메모리, 고체 상태 메모리 디바이스, 디지털 다목적 디스크, 카트리지, 콤팩트 디스크, 랜덤 액세스 메모리(RAM)(1725), 읽기 전용 메모리(ROM)(1720), 또는 이들의 조합 등을 포함할 수 있으나 이에 한정되는 것은 아니다.
저장 디바이스(1730)는 서비스 1(1732), 서비스 2(1734) 및 서비스 3(1736)과 같은, 프로세싱 유닛(1710) 및/또는 다른 전자 하드웨어에 의해 실행가능한 하나 이상의 서비스들을 저장한다. 하나 이상의 서비스들은 본 명세서에서 설명된 기술들 중 임의의 것과 같은 컴퓨팅 디바이스(1700)와 통신하는 디바이스의 동작들을 제어하고, 프로세싱 유닛(1710) 및/또는 임의의 특수 목적 프로세서들의 동작들을 제어하고, 이들을 위한 조합 등의 동작들을 수행하기 위해 프로세싱 유닛(1710)에 의해 실행가능한 명령어들을 포함한다. 프로세싱 유닛(1710)은 하나 이상의 코어 또는 프로세서, 버스, 메모리, 클록(clock), 메모리 컨트롤러, 캐시, 다른 프로세서 컴포넌트 및/또는 이와 유사한 것을 포함하는 시스템 온 칩(System on a chip; SOC)일 수 있다. 멀티 코어 프로세서는 대칭 또는 비대칭일 수 있다.
컴퓨팅 디바이스(1700)는 마이크로폰, 그래픽 입력을 위한 터치 감지 스크린, 키보드, 마우스, 모션 입력, 스피치, 미디어 디바이스, 센서, 이들의 조합 등과 같은 임의의 수의 입력 메커니즘을 나타낼 수 있는 하나 이상의 입력 디바이스(1745)를 포함할 수 있다. 컴퓨팅 디바이스(1700)는 사용자에게 데이터를 출력하는 하나 이상의 출력 디바이스(1735)를 포함할 수 있다. 이러한 출력 디바이스(1735)는 미디어 디바이스, 프로젝터, 텔레비전, 스피커, 이들의 조합 등을 포함할 수 있지만 이에 한정되는 것은 아니다. 일부 예들에서, 멀티모달 컴퓨팅 디바이스들은 사용자가 컴퓨팅 디바이스(1700)와 통신하기 위해 다수의 유형의 입력을 제공하는 것을 가능하게 할 수 있다. 통신 인터페이스(1740)는 사용자 입력 및 컴퓨팅 디바이스 출력을 관리하도록 구성될 수 있다. 통신 인터페이스(1740)는 또한 하나 이상의 통신 프로토콜 및/또는 하나 이상의 통신 매체(예를 들어, 유선, 무선 등)를 통해 원격 디바이스와의 통신을 관리(예를 들어, 연결 설정, 통신을 수신/전송, 등)하도록 구성될 수 있다. 컴퓨팅 디바이스(1700)는 도시된 바와 같은 컴포넌트들로 제한되지 않는다. 다른 컴포넌트가 추가될 수 있으며 도시된 컴포넌트는 생략될 수 있다.
용어 "컴퓨터 판독가능 매체"는 휴대용 또는 비휴대용 저장 디바이스, 광학 저장 디바이스, 및 명령어(들) 및/또는 데이터를 저장, 포함, 또는 운반할 수 있는 다양한 기타 매체를 포함하지만 이에 한정되는 것은 아니다. 컴퓨터 판독가능 매체는 데이터가 반송파 및/또는 전자 신호를 배제하는 형태로 저장될 수 있는 비일시적 매체를 포함할 수 있다. 비일시적 매체의 예는 자기 디스크 또는 테이프, 콤팩트 디스크(CD) 또는 디지털 다목적 디스크(DVD)와 같은 광학 저장 매체, 플래시 메모리, 메모리 또는 메모리 디바이스를 포함할 수 있으나 이에 제한되는 것은 아니다. 컴퓨터 판독가능 매체는 프로시저, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령어, 데이터 구조, 또는 프로그램 명령문의 임의의 조합을 나타낼 수 있는 코드 및/또는 기계 실행가능 명령어를 저장할 수 있다. 코드 세그먼트는 정보, 데이터, 인수, 파라미터, 또는 메모리 콘텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 연결될 수 있다. 정보, 인자, 파라미터, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 전송 등을 포함하는 임의의 적절한 수단을 통해 통과, 전달 또는 전송될 수 있다.
본 주제가 그 특정 실시예들과 관련하여 상세히 설명되었지만, 당업자는, 전술한 내용의 이해를 달성하면, 그러한 실시예들에 대한 변경, 변형 및 균등물을 용이하게 생성할 수 있다는 것을 이해할 것이다. 청구된 주제에 대한 철저한 이해를 제공하기 위해 수많은 특정 세부 사항이 본 명세서에 명시되어 있다. 그러나, 당업자는 청구된 주제가 이러한 특정 세부사항 없이 실시될 수도 있다는 것을 이해할 것이다. 다른 예에서, 통상의 기술자에게 알려진 방법, 장치 또는 시스템은 청구된 주제를 모호하게 하지 않기 위해 상세하게 설명되지 않았다. 따라서, 본 개시는 제한이 아닌 예시의 목적으로 제시되었으며, 통상의 기술자에게 즉시 자명할 수 있는 바와 같이 본 주제에 대한 그러한 수정, 변형 및/또는 추가를 포함하는 것을 배제하지 않는다.
설명의 명확성을 위해, 일부 예들에서, 본 개시는 소프트웨어로 구현된 방법에서 디바이스, 디바이스 컴포넌트들, 단계들 또는 루틴들을 포함하는 기능 블록들, 또는 하드웨어와 소프트웨어의 조합들을 포함하는 개별 기능 블록들을 포함하는 것으로 제시될 수 있다. 도면에 도시된 것 및/또는 본 명세서에 설명된 것 이외의 추가적인 기능 블록이 사용될 수 있다. 예를 들어, 회로, 시스템, 네트워크, 프로세스 및 다른 컴포넌트들은 실시예들을 불필요하게 상세히 모호하게 하지 않기 위해 블록도 형태의 컴포넌트들로서 도시될 수 있다. 다른 예들에서, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들은 실시예들을 모호하게 하는 것을 피하기 위해 불필요한 세부사항 없이 도시될 수 있다.
개별 실시예는 위에서 흐름도, 플로우 다이어그램, 데이터 흐름도, 구조도, 또는 블록도로서 묘사될 수 있는 프로세스 또는 방법으로서 설명될 수 있다. 순서도는 동작들을 순차적 프로세스로 설명할 수 있지만 대부분의 동작은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작의 순서가 재배열될 수 있다. 동작들이 완료되면 프로세스가 종료되지만 도시되지 않은 추가 단계가 있을 수 있다. 프로세스는 메소드, 함수, 프로시저, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응하는 경우, 종료는 호출 함수 또는 메인(main) 함수에 대한 함수의 반환에 대응할 수 있다.
상술한 예들에 따른 프로세스들 및 방법들은 저장되거나 그렇지 않으면 컴퓨터 판독가능 매체로부터 이용가능한 컴퓨터 실행가능 명령어들을 사용하여 구현될 수 있다. 이러한 명령어는 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터, 또는 프로세싱 디바이스가 특정 기능 또는 기능 그룹을 수행하도록 하거나 구성하는 명령어 및 데이터를 포함할 수 있다. 사용되는 컴퓨터 리소스의 일부는 네트워크를 통해 액세스할 수 있다. 컴퓨터 실행가능 명령어는, 예를 들어, 바이너리, 어셈블리 언어, 펌웨어, 소스 코드 등과 같은 중간 포맷 명령어일 수 있다.
본 명세서에서 설명되는 방법들 및 시스템들을 구현하는 디바이스들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어(hardware description languages), 또는 이들의 임의의 조합을 포함할 수 있고, 다양한 폼 팩터들 중 어느 하나를 취할 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현될 때, 필요한 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들(예를 들어, 컴퓨터-프로그램 제품)은 컴퓨터 판독가능 또는 기계 판독가능 매체에 저장될 수 있다. 프로그램 코드는 프로세서에 의해 실행될 수 있으며, 프로세서는 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로프로세서, 주문형 집적 회로(application specific integrated circuits; ASIC), 필드 프로그래머블 로직 어레이(FPGA), 또는 다른 균등한 집적 또는 이산 논리 회로와 같은(이들로 제한되지 않음) 하나 이상의 프로세서를 포함할 수 있다. 이러한 프로세서는 본 개시에 설명된 기술들 중 임의의 것을 수행하도록 구성될 수 있다. 프로세서는 마이크로프로세서; 종래의 프로세서, 제어기, 마이크로컨트롤러, 상태 머신 등을 포함할 수 있다. 프로세서는 또한 컴퓨팅 컴포넌트들의 조합(예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성)으로서 구현될 수 있다. 따라서, 본 명세서에서 사용되는 용어 "프로세서"는 전술한 구조, 전술한 구조의 임의의 조합, 또는 본 명세서에 설명된 기술의 구현에 적합한 임의의 다른 구조 또는 장치를 지칭할 수 있다. 본 명세서에서 설명되는 기능은 또한 주변 장치 또는 애드인(add-in) 카드에 구현될 수 있다. 이러한 기능성은 또한 추가의 예에 의해, 단일 디바이스에서 실행되는 상이한 칩들 또는 상이한 프로세스들 사이에서 회로 기판 상에서 구현될 수 있다.
전술한 설명에서, 본 개시물의 양태들은 그 특정 예를 참조하여 설명되지만, 당업자는 본 개시가 이에 국한되지 않는다는 것을 인식할 것이다. 따라서, 본 명세서의 예시적인 예들이 본 명세서에서 상세히 설명되었지만, 본 발명의 개념들은 달리 다양하게 구체화되고 채용될 수 있으며, 첨부된 청구항들은 그러한 변형들을 포함하는 것으로 해석되도록 의도되어야 한다. 상술한 개시의 다양한 특징 및 양태들은 개별적으로 또는 임의의 조합으로 사용될 수 있다. 또한, 실시예들은 본 명세서에 기술된 것 이외의 임의의 수의 환경 및 애플리케이션들에서 활용될 수 있고, 본 개시의 더 넓은 사상 및 범위로부터 벗어나지 않으면서 활용될 수 있다. 따라서, 개시 및 도면은 제한적이라기보다는 예시적인 것으로 간주되어야 한다.
본 명세서에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 조합으로서 구현될 수 있다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 이들의 기능성의 관점에서 일반적으로 위에서 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약 조건에 따라 달라진다. 숙련된 기술자는 각각의 특정 애플리케이션에 대해 다양한 방식으로 설명된 기능성을 구현할 수 있지만, 그러한 구현 결정은 본 출원의 범위를 벗어나게 하는 것으로 해석되어서는 안 된다.
달리 구체적으로 언급되지 않는 한, 본 명세서 전반에 걸쳐 "프로세싱", "컴퓨팅", "계산", "결정" 및 "식별" 등과 같은 용어를 활용하는 논의는 메모리 내에서 물리적 전자 또는 자기 양으로 표현된 데이터를 조작하거나 변환하는 하나 이상의 컴퓨터 또는 이와 유사한 전자 컴퓨팅 디바이스 또는 디바이스, 레지스터 또는
기타 정보 저장 디바이스와 같은 컴퓨팅 디바이스, 전송 디바이스, 또는 컴퓨팅 플랫폼의 미디어 디바이스의 동작 또는 프로세스를 가리킨다. 본 명세서에서 "적용된" 또는 "구성된"의 사용은 추가적인 태스크 또는 단계들을 수행하도록 적용되거나 구성되는 디바이스들을 배제하지 않는 개방적이고 포괄적인 언어로서 의미된다. 또한, "~에 기초한"의 사용은 하나 이상의 인용된 조건 또는 값에 "기초한" 프로세스, 단계, 계산 또는 기타 동작이 실제로 인용된 것 이상의 추가 조건 또는 값에 기초할 수 있다는 점에서 개방적이고 포괄적인 것을 의미한다. 본 명세서에 포함된 제목, 목록, 및 번호 매기기는 설명의 편의를 위한 것일 뿐이며 제한하려는 의도는 아니다.

Claims (20)

  1. 비디오 프레임을 수신하는 단계 - 상기 비디오 프레임의 소정의 제1 영역은 제1 세트의 픽셀들을 포함하고, 상기 비디오 프레임의 소정의 제2 영역은 제2 세트의 픽셀들을 포함하고, 상기 제2 세트의 픽셀들은 상기 비디오 프레임의 소정의 제3 영역의 픽셀들의 픽셀 값들에 기초한 픽셀 값들을 가짐 -;
    상기 비디오 프레임의 상기 소정의 제1 영역에서 워터마크를 검출하는 단계;
    상기 제1 세트의 픽셀들 내에서, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트들 및 제2 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트를 식별하는 단계;
    제1 픽셀 값에 대응하는 픽셀들의 상기 하나 이상의 연속적인 서브세트들에 제1 심볼을 할당하고, 제2 픽셀 값에 대응하는 픽셀들의 상기 하나 이상의 연속적인 서브세트들에 제2 심볼을 할당하는 단계; 및
    상기 제1 픽셀 값 및 상기 제2 픽셀 값에 기초해서, 제1 시퀀스의 심볼들을 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 소정의 제1 영역은 상기 비디오 프레임의 처음 두 행을 포함하는, 방법.
  3. 제1항에 있어서,
    상기 소정의 제2 영역은 상기 비디오 프레임의 제3 행을 포함하는, 방법.
  4. 제1항에 있어서,
    후속 비디오 프레임을 수신하는 단계; 및
    상기 후속 비디오 프레임으로부터 제2 시퀀스의 심볼들을 생성하는 단계
    를 더 포함하고,
    상기 제2 시퀀스의 심볼들은 상기 제1 시퀀스 심볼들의 반전 형태인, 방법.
  5. 제1항에 있어서,
    후속 비디오 프레임을 수신하는 단계 - 상기 후속 비디오 프레임의 상기 소정의 제1 영역은 제3 세트의 픽셀들을 포함함 -;
    상기 제3 세트의 픽셀들 내에서, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트 및 제3 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트를 식별하는 단계 - 상기 제3 픽셀 값과 상기 제1 픽셀 값 간의 차이는 상기 제2 픽셀 값과 상기 제1 픽셀 값 간의 차이의 약 두 배임 -; 및
    상기 제3 세트의 픽셀들로부터, 제2 시퀀스의 심볼들을 생성하는 단계
    를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 제1 픽셀 값은 휘도 값에 대응하는, 방법.
  7. 제1항에 있어서,
    상기 비디오 프레임의 상기 소정의 제1 영역에서 상기 워터마크를 검출하는 단계는,
    상기 소정의 제1 영역 내에서 픽셀들의 도입 패턴을 검출하는 단계를 포함하고,
    상기 픽셀들의 도입 패턴은 상기 제1 시퀀스의 심볼들과 분리되어 있는, 방법.
  8. 하나 이상의 프로세서; 및
    명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체
    를 포함하고,
    상기 하나 이상의 프로세서에 의해 실행될 때, 상기 명령어들은 상기 하나 이상의 프로세서로 하여금 다음 동작들을 수행하게 하고, 상기 동작들은:
    비디오 프레임을 수신하는 동작 - 상기 비디오 프레임의 소정의 제1 영역은 제1 세트의 픽셀들을 포함하고, 상기 비디오 프레임의 소정의 제2 영역은 제2 세트의 픽셀들을 포함하고, 상기 제2 세트의 픽셀들은 상기 비디오 프레임의 소정의 제3 영역의 픽셀들의 픽셀 값들에 기초한 픽셀 값들을 가짐 -;
    상기 비디오 프레임의 상기 소정의 제1 영역에서 워터마크를 검출하는 동작;
    상기 제1 세트의 픽셀들 내에서, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트들 및 제2 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트를 식별하는 동작;
    제1 픽셀 값에 대응하는 픽셀들의 상기 하나 이상의 연속적인 서브세트들에 제1 심볼을 할당하고, 제2 픽셀 값에 대응하는 픽셀들의 상기 하나 이상의 연속적인 서브세트들에 제2 심볼을 할당하는 동작; 및
    상기 제1 픽셀 값 및 상기 제2 픽셀 값에 기초해서, 제1 시퀀스의 심볼들을 생성하는 동작을 포함하는, 시스템.
  9. 제8항에 있어서,
    상기 소정의 제1 영역은 상기 비디오 프레임의 처음 두 행을 포함하는, 시스템.
  10. 제8항에 있어서,
    상기 소정의 제2 영역은 상기 비디오 프레임의 제3 행을 포함하는, 시스템.
  11. 제8항에 있어서,
    상기 동작들은:
    후속 비디오 프레임을 수신하는 동작; 및
    상기 후속 비디오 프레임으로부터 제2 시퀀스의 심볼들을 생성하는 동작을 더 포함하고, 상기 제2 시퀀스의 심볼들은 상기 제1 시퀀스 심볼들의 반전 형태인, 시스템.
  12. 제8항에 있어서,
    상기 동작들은:
    후속 비디오 프레임을 수신하는 동작 - 상기 후속 비디오 프레임의 상기 소정의 제1 영역은 제3 세트의 픽셀들을 포함함 -;
    상기 제3 세트의 픽셀들 내에서, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트 및 제3 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트를 식별하는 동작 - 상기 제3 픽셀 값과 상기 제1 픽셀 값 간의 차이는 상기 제2 픽셀 값과 상기 제1 픽셀 값 간의 차이의 약 두 배임 -; 및
    상기 제3 세트의 픽셀들로부터, 제2 시퀀스의 심볼들을 생성하는 동작을 더 포함하는, 방법.
  13. 제8항에 있어서,
    상기 제1 픽셀 값은 휘도 값에 대응하는, 시스템.
  14. 제8항에 있어서,
    상기 비디오 프레임의 상기 소정의 제1 영역에서 상기 워터마크를 검출하는 동작은:
    상기 소정의 제1 영역 내에서 픽셀들의 도입 패턴을 검출하는 동작을 포함하고, 상기 픽셀들의 도입 패턴은 상기 제1 시퀀스의 심볼들과 분리되어 있는, 시스템.
  15. 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 다음 동작들을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 동작들은:
    비디오 프레임을 수신하는 동작 - 상기 비디오 프레임의 소정의 제1 영역은 제1 세트의 픽셀들을 포함하고, 상기 비디오 프레임의 소정의 제2 영역은 제2 세트의 픽셀들을 포함하고, 상기 제2 세트의 픽셀들은 상기 비디오 프레임의 소정의 제3 영역의 픽셀들의 픽셀 값들에 기초한 픽셀 값들을 가짐 -;
    상기 비디오 프레임의 상기 소정의 제1 영역에서 워터마크를 검출하는 동작;
    상기 제1 세트의 픽셀들 내에서, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트들 및 제2 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트를 식별하는 동작;
    제1 픽셀 값에 대응하는 픽셀들의 상기 하나 이상의 연속적인 서브세트들에 제1 심볼을 할당하고, 제2 픽셀 값에 대응하는 픽셀들의 상기 하나 이상의 연속적인 서브세트들에 제2 심볼을 할당하는 동작; 및
    상기 제1 픽셀 값 및 상기 제2 픽셀 값에 기초해서, 제1 시퀀스의 심볼들을 생성하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    상기 소정의 제1 영역은 상기 비디오 프레임의 처음 두 행을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  17. 제15항에 있어서,
    상기 소정의 제2 영역은 상기 비디오 프레임의 제3 행을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  18. 제15항에 있어서,
    상기 동작들은:
    후속 비디오 프레임을 수신하는 동작; 및
    상기 후속 비디오 프레임으로부터 제2 시퀀스의 심볼들을 생성하는 동작을 더 포함하고, 상기 제2 시퀀스의 심볼들은 상기 제1 시퀀스 심볼들의 반전 형태인, 비일시적 컴퓨터 판독가능 매체.
  19. 제15항에 있어서,
    상기 동작들은:
    후속 비디오 프레임을 수신하는 동작 - 상기 후속 비디오 프레임의 상기 소정의 제1 영역은 제3 세트의 픽셀들을 포함함 -;
    상기 제3 세트의 픽셀들 내에서, 제1 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트 및 제3 픽셀 값에 대응하는 픽셀들의 하나 이상의 연속적인 서브세트를 식별하는 동작 - 상기 제3 픽셀 값과 상기 제1 픽셀 값 간의 차이는 상기 제2 픽셀 값과 상기 제1 픽셀 값 간의 차이의 약 두 배임 -; 및
    상기 제3 세트의 픽셀들로부터, 제2 시퀀스의 심볼들을 생성하는 동작을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  20. 제15항에 있어서,
    상기 비디오 프레임의 상기 소정의 제1 영역에서 상기 워터마크를 검출하는 동작은:
    상기 소정의 제1 영역 내에서 픽셀들의 도입 패턴을 검출하는 동작을 포함하고, 상기 픽셀들의 도입 패턴은 상기 제1 시퀀스의 심볼들과 분리되어 있는, 비일시적 컴퓨터 판독가능 매체.
KR1020237005724A 2020-07-31 2021-07-30 적응형 비디오 워터마크의 적용을 위한 시스템 및 방법 KR20230047125A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063059766P 2020-07-31 2020-07-31
US63/059,766 2020-07-31
US17/389,147 2021-07-29
US17/389,147 US11538131B2 (en) 2020-07-31 2021-07-29 Systems and methods for the application of adaptive video watermarks
PCT/US2021/043944 WO2022026855A1 (en) 2020-07-31 2021-07-30 Systems and methods for the application of adaptive video watermarks

Publications (1)

Publication Number Publication Date
KR20230047125A true KR20230047125A (ko) 2023-04-06

Family

ID=80003136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237005724A KR20230047125A (ko) 2020-07-31 2021-07-30 적응형 비디오 워터마크의 적용을 위한 시스템 및 방법

Country Status (8)

Country Link
US (3) US11538131B2 (ko)
EP (1) EP4189631A1 (ko)
JP (1) JP2023537319A (ko)
KR (1) KR20230047125A (ko)
CN (1) CN116113970A (ko)
CA (1) CA3185555A1 (ko)
MX (1) MX2023001239A (ko)
WO (1) WO2022026855A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11538131B2 (en) 2020-07-31 2022-12-27 Inscape Data, Inc. Systems and methods for the application of adaptive video watermarks
CA3227650A1 (en) * 2021-08-17 2023-02-23 Vizio, Inc. Systems and methods for monitoring the display of content using embedded watermarks
US11818443B1 (en) * 2022-12-02 2023-11-14 Roku, Inc. Methods and systems for determining creation attributes of video content

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027614B2 (en) * 2000-04-19 2006-04-11 Digimarc Corporation Hiding information to reduce or offset perceptible artifacts
CN102124489B (zh) * 2008-08-17 2014-08-06 杜比实验室特许公司 图像的签名推导
US8971567B2 (en) 2010-03-05 2015-03-03 Digimarc Corporation Reducing watermark perceptibility and extending detection distortion tolerances
US11132758B2 (en) * 2016-09-14 2021-09-28 Inscape Data, Inc. Embedding data in video without visible impairments
US11082710B2 (en) * 2016-09-14 2021-08-03 Inscape Data, Inc. Embedding video watermarks without visible impairments
US11538131B2 (en) 2020-07-31 2022-12-27 Inscape Data, Inc. Systems and methods for the application of adaptive video watermarks

Also Published As

Publication number Publication date
MX2023001239A (es) 2023-03-03
WO2022026855A1 (en) 2022-02-03
US20230230192A1 (en) 2023-07-20
CN116113970A (zh) 2023-05-12
EP4189631A1 (en) 2023-06-07
JP2023537319A (ja) 2023-08-31
CA3185555A1 (en) 2022-02-03
US20240185374A1 (en) 2024-06-06
US11966997B2 (en) 2024-04-23
US20220036495A1 (en) 2022-02-03
US11538131B2 (en) 2022-12-27

Similar Documents

Publication Publication Date Title
US11132758B2 (en) Embedding data in video without visible impairments
US11082710B2 (en) Embedding video watermarks without visible impairments
US11538131B2 (en) Systems and methods for the application of adaptive video watermarks
US9906765B2 (en) Transmitting display management metadata over HDMI
US11930202B2 (en) Method and apparatus for video watermarking, and storage medium
JP6619888B2 (ja) Hdrビデオの符号化及び復号化
KR102135841B1 (ko) 높은 다이내믹 레인지 이미지 신호의 생성 및 처리
US9967599B2 (en) Transmitting display management metadata over HDMI
US20170034519A1 (en) Method, apparatus and system for encoding video data for selected viewing conditions
CN111771375B (zh) 用于处理多种hdr视频格式的系统
JP2018503283A (ja) 符号化のための方法、ビデオプロセッサ、復号のための方法、ビデオ復号器
JP5276835B2 (ja) ビデオ・イメージ処理装置、ビデオ投影システム、および投影システムによる使用を意図した信号
US20230319347A1 (en) Method, apparatus, and program product for authoring video content using stream embedded indicators
RU2783591C2 (ru) Система для обработки нескольких hdr-видеоформатов
Weber Avid DNx GX-A High-Quality, Flexible RGB (A) Codec at Commodity Bitrates, Combining SMPTE ST 2019-1 (VC-3) and SMPTE RDD 50 (DNxUncompressed)