# US 12,114,002 B2 · Embedding video watermarks without visible impairments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,114,002 B2
- Document ID: US12114002B2
- Status: Granted
- Kind: B2
- Application number: 17/359,335
- Filed: 2021-06-25
- Published: 2021-12-23
- Granted: 2024-10-08
- Earliest claimed: 2016-09-14
- Assignees: Inscape Data, Inc.
- Applicants: Inscape Data, Inc.
- Inventors: W. Leo Hoarty; Kyoungsoo Moon; Brian Reed; Zeev Neumeier
- Web page: https://patentgrep.com/patent/US12114002B2

## CPC

- H04N 19/467: characterised by the embedded information being invisible, e.g. watermarking
- G06T 1/0028: {Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking}
- H04N 1/32309: {in colour image data}
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/182: the unit being a pixel
- H04N 19/186: the unit being a colour or a chrominance component
- G06T 2201/0051: Embedding of the watermark in the spatial domain
- G06T 2201/0053: Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
- G06T 2201/0061: Embedding of the watermark in each block of the image, e.g. segmented watermarking
- G06T 2201/0083: whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Methods, devices, and computer-program products are provided for adding and decoding data to a digital video signal in a visually imperceptible manner. For example, an encoded video frame can be obtained, and one or more blocks of the encoded video frame can be decoded. Binary data can be added to a subset of pixels from a set of pixels of the one or more blocks. For instance, a pixel component can be modulated to add the binary data. The one or more blocks can be re-encoded using at least one coding mode. The re-encoded one or more blocks can be added to the encoded video frame.

## Claims

### Claim 1

A method comprising:
detecting, in a video frame, a watermark based on pixel values of pixels of a first set of pixels, the first set of pixels corresponding to a first region of the video frame, wherein the detected watermark comprises data that was encoded based on modifications to luminance and/or chrominance values of pixels;
identifying, within the first set of pixels, one or more subsets of pixels that correspond to a first pixel value and one or more subsets of pixels that correspond to a second pixel value;
assigning a first symbol to the one or more subsets of pixels that correspond to the first pixel value and a second symbol to the one or more subsets of pixels that correspond to the second pixel value; and
generating, based on the first symbol and the second symbol, a first sequence of symbols corresponding to the data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first region of the video frame includes a top row of the video frame.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
replacing, based on the first sequence of symbols, a video frame to be displayed with a replacement video frame.

### Claim 4 (depends on 3)

The method of claim 3, wherein the replacement video frame is stored in local memory.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
displaying, in response to decoding the first sequence of symbols, a graphical user interface over the video frame.

### Claim 6 (depends on 5)

The method of claim 5, wherein the graphical user interface includes video information associated with content of the video frame.

### Claim 7

A system comprising:
one or more processors; and
a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:
detecting, in a video frame, a watermark based on pixel values of pixels of a first set of pixels, the first set of pixels corresponding to a first region of the video frame, wherein the detected watermark comprises data that was encoded based on modifications to luminance and/or chrominance values of pixels;
identifying, within the first set of pixels, one or more subsets of pixels that correspond to a first pixel value and one or more subsets of pixels that correspond to a second pixel value;
assigning a first symbol to the one or more subsets of pixels that correspond to the first pixel value and a second symbol to the one or more subsets of pixels that correspond to the second pixel value; and
generating, based on the first symbol and the second symbol, a first sequence of symbols corresponding to the data.

### Claim 8 (depends on 7)

The system of claim 7, wherein the first region of the video frame includes a top row of the video frame.

### Claim 9 (depends on 7)

The system of claim 7, wherein the operations further include:
replacing, based on the first sequence of symbols, a video frame to be displayed with a replacement video frame.

### Claim 10 (depends on 9)

The system of claim 9, wherein the replacement video frame is stored in local memory.

### Claim 11 (depends on 7)

The system of claim 7, wherein the operations further include:
displaying, in response to decoding the first sequence of symbols, a graphical user interface over the video frame.

### Claim 12 (depends on 11)

The system of claim 11, wherein the graphical user interface includes video information associated with content of the video frame.

### Claim 13

A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:
detecting, in a video frame, a watermark based on pixel values of pixels of a first set of pixels, the first set of pixels corresponding to a first region of the video frame, wherein the detected watermark comprises data that was encoded based on modifications to luminance and/or chrominance values of pixels;
identifying, within the first set of pixels, one or more subsets of pixels that correspond to a first pixel value and one or more subsets of pixels that correspond to a second pixel value;
assigning a first symbol to the one or more subsets of pixels that correspond to the first pixel value and a second symbol to the one or more subsets of pixels that correspond to the second pixel value; and
generating, based on the first symbol and the second symbol, a first sequence of symbols corresponding to the data.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the first region of the video frame includes a top row of the video frame.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the operations further include:
replacing, based on the first sequence of symbols, a video frame to be displayed with a replacement video frame.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the replacement video frame is stored in local memory.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the operations further include:
displaying, in response to decoding the first sequence of symbols, a graphical user interface over the video frame.

### Claim 18 (depends on 1)

The method of claim 1, further comprising:
generating, based on symbols assigned to one or more subsets of pixels of a second region, a second sequence of symbols, the second region being a different region of the video frame from the first region; and
modifying the first sequence of symbols to include the second sequence of symbols.

### Claim 19 (depends on 7)

The system of claim 7, wherein the instructions further comprise:
generating, based on symbols assigned to one or more subsets of pixels of a second region, a second sequence of symbols, the second region being a different region of the video frame from the first region; and
modifying the first sequence of symbols to include the second sequence of symbols.

### Claim 20 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the instructions further comprise:
generating, based on symbols assigned to one or more subsets of pixels of a second region, a second sequence of symbols, the second region being a different region of the video frame from the first region; and
modifying the first sequence of symbols to include the second sequence of symbols.
