Watermark recovery using audio and video watermarking
AssigneeVerance Corporation
InventorsJian Zhao, Rade Petrovic, Joseph M. Winograd
Life of this patent
Estimating the term…
Abstract
The disclosed embodiments relate to automatic content recognition and recovery of metadata associated with multimedia content. Embodiments include the use of audio watermarks, video watermarks or both to recover metadata. Embodiments also describe improved video watermark embedding techniques including quantization-based video watermarking in the spatial domain and quantization-based video watermarking in frequency domain, as well as improved video watermark detection techniques based on multiple video frames. Embodiments also include improvements to payload structure and improvements to payload recovery.
Claims39
A method for enabling acquisition of metadata associated with a multimedia content based on detection of a video watermark from the multimedia content, the method comprising:
- obtaining, at a watermark extractor that is implemented at least partially in hardware, one or more blocks of sample values representing image pixels in a video frame of the multimedia content, each block including one or more rows of pixel values and one or more columns of pixel values;
- and
- using the watermark extractor to extract one or more video watermarks from the one or more blocks, including:
- for each block:
- (a) determining a weighted sum of the pixel values in the block produced by multiplying each pixel value with a particular weight coefficient and summing the result together, wherein the particular weight coefficients for each block are selected to at least partially compensate for degradation of video watermark or watermarks in each block due to impairments caused by transmission or processing of the multimedia content;
- (b) comparing the weighted sum of the pixel values to one or more predetermined threshold values;
- (c) upon a determination that the weighted sum falls within a first range of the one or more predetermined threshold values, identifying a detected watermark symbol having a first value;
- and
- (d) upon a determination that the weighted sum falls within a second range of the one or more predetermined threshold values, identifying a detected watermark symbol having a second value;
- repeating operations (a) through (d) for a plurality of the one or more blocks to obtain a plurality of the detected watermark symbol values;
- determining whether or not the plurality of the detected watermark symbols values form a valid watermark payload;
- and
- upon a determination that a valid watermark payload has been detected, acquiring the metadata associated with the multimedia content based on the valid watermark payload.
A device, comprising:
- a processor;
- and
- a memory including processor executable code, wherein the processor executable code, when executed by the processor, causes the device to:
- obtain, at a watermark extractor, one or more blocks of sample values representing image pixels in a video frame of a multimedia content, each block including one or more rows of pixel values and one or more columns of pixel values;
- and
- use the watermark extractor to extract one or more video watermarks from the one or more blocks, including:
- for each block:
- (a) determine a weighted sum of the pixel values in the block produced by multiplying each pixel value with a particular weight coefficient and summing the result together, wherein the particular weight coefficients for each block are selected to at least partially compensate for degradation of video watermark or watermarks in each block due to impairments caused by transmission or processing of the multimedia content;
- (b) compare the weighted sum of the pixel values to one or more predetermined threshold values;
- (c) upon a determination that the weighted sum falls within a first range of the one or more predetermined threshold values, identify a detected watermark symbol having a first value;
- and
- (d) upon a determination that the weighted sum falls within a second range of the one or more predetermined threshold values, identify a detected watermark symbol having a second value;
- repeat items (a) through (d) for a plurality of the one or more blocks to obtain a plurality of the detected watermark symbol values;
- and
- determine whether or not the plurality of the detected watermark symbols values form a valid watermark payload;
- and
- upon a determination of that a valid watermark payload has been detected, acquire metadata associated with the multimedia content based on the valid watermark payload.
A computer program product, embodied on one or more non-transitory computer readable media, comprising:
- program code for obtaining one or more blocks of sample values representing image pixels in a video frame of a multimedia content, each block including one or more rows of pixel values and one or more columns of pixel values;
- and
- program code for extracting one or more video watermarks from the one or more blocks, including:
- for each block:
- (a) determining a weighted sum of the pixel values in the block produced by multiplying each pixel value with a particular weight coefficient and summing the result together, wherein the particular weight coefficients for each block are selected to at least partially compensate for degradation of video watermark or watermarks in each block due to impairments caused by transmission or processing of the multimedia content;
- (b) comparing the weighted sum of the pixel values to one or more predetermined threshold values;
- (c) upon a determination that the weighted sum falls within a first range of the one or more predetermined threshold values, identifying a detected watermark symbol having a first value;
- and
- (d) upon a determination that the weighted sum falls within a second range of the one or more predetermined threshold values, identifying a detected watermark symbol having a second value;
- program code for repeating operations (a) through (d) for a plurality of the one or more blocks to obtain a plurality of the detected watermark symbol values;
- and
- program code for determining whether or not the plurality of the detected watermark symbols values form a valid watermark payload;
- and
- program code for, upon a determination of that a valid watermark payload has been detected, acquiring meta data associated with the multimedia content based on the valid watermark payload.
Dependencies are inferred from the claim text.