# US 10,123,031 B2 · MPEG-2 video watermarking technique

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

- Number: US 10,123,031 B2
- Document ID: US10123031B2
- Status: Granted
- Kind: B2
- Application number: 14/790,028
- Filed: 2015-07-02
- Published: 2017-01-05
- Granted: 2018-11-06
- Earliest claimed: 2015-07-02
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Harel Cain; Yaron Sella; Michal Devir
- Web page: https://patentgrep.com/patent/US10123031B2

## CPC

- H04N 19/467: characterised by the embedded information being invisible, e.g. watermarking
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/177: the unit being a group of pictures [GOP]
- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/59: involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
- H04N 19/593: involving spatial prediction techniques
- H04N 19/61: in combination with predictive coding
- H04N 19/625: using discrete cosine transform [DCT]
- H04N 21/8358: involving watermark {(protecting executable software by watermarking G06F21/16; image watermarking in general G06T1/0021; watermarks inserted in still images for transmission purposes H04N1/32144; inserting watermarks during video coding H04N19/467)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In one embodiment, a method, system and apparatus for watermarking MPEG-2 compressed video is described, the method, system and apparatus including detecting a pair of neighboring blocks in a MPEG-2 encoded I-frame, determining if the pair of neighboring blocks have dct_dc_differential fields with different values that are within a given threshold value of each other, and embedding a watermark payload bit in the neighboring blocks as a positive result of the determining, the embedding including ordering dct_dc_differential fields of the neighboring blocks such that ordering the dct_dc_differential fields in a first manner encodes a one bit and ordering the dct_dc_differential fields in a second manner encodes a zero bit. Related embodiments of methods, systems, and apparatuses are also described.

## Claims

### Claim 1

A method comprising:
detecting a pair of consecutive blocks in a MPEG-2 encoded I-frame, the consecutive blocks having dct_dc_differential fields with different values that are within a given threshold value of each other, and
embedding one of a first watermark payload bit or a second watermark payload bit in the consecutive blocks by ordering dct_dc_differential fields of the consecutive blocks such that ordering the dct_dc_differential fields in an ascending order encodes the first payload bit and ordering the dct_dc_differential fields in a descending order encodes the second payload bit, the embedding comprising swapping the dct_size and one of the dct_dc_differential_l or dct_dc_differential_c fields between the pair of consecutive blocks when, as a result of embedding the one of a first watermark payload bit or a second watermark payload bit the dct_dc_differential fields are ordered to maintain syntax which conforms with MPEG-2 encoded video and to encode one of the first payload bit or the second payload bit.

### Claim 2 (depends on 1)

The method according to claim 1 wherein the swapping also comprises swapping dct_dc_size fields of the consecutive blocks to achieve the desired bit encoding.

### Claim 3 (depends on 1)

The method according to claim 1 wherein a single bit is repeatedly embedded in at least a portion of the encoded I-frame.

### Claim 4 (depends on 1)

The method according to claim 1 wherein a plurality of bits is encoded in different macroblocks comprised in the encoded I-frame.

### Claim 5 (depends on 1)

The method according to claim 1 wherein the pair of consecutive blocks comprise one of: chrominance blocks; and luminance blocks.

### Claim 6 (depends on 1)

The method according to claim 1 wherein the embedded bit is a bit in a bit string comprising identifying information.

### Claim 7 (depends on 6)

The method according to claim 6 wherein the identifying information comprises user identifying information.

### Claim 8 (depends on 6)

The method according to claim 6 wherein the identifying information comprises user client device identifying information.

### Claim 9 (depends on 6)

The method according to claim 6 wherein the identifying information comprises media identifying information.

### Claim 10

A method comprising:
(a) receiving a sequence of MPEG-2 encoded video frames;
(b) detecting a pair of consecutive blocks in a macroblock in one of the MPEG-2 encoded video frames;
(c) in response to determining that the pair of consecutive blocks have dct_dc_differential fields having different values that are within a given threshold value of each other,
identifying in at least one of a luma plane or a chroma plane a pair of consecutive blocks where an absolute value of a difference between a dct_dc_differential value of the identified consecutive blocks is within a threshold which was configured in a watermark embedding device used to embed a watermark in a compressed MPEG-2 video stream corresponding to the received sequence of MPEG-2 encoded video frames;
(d) determining that the identified consecutive blocks have an embedded first payload bit of two possible payload bits when a value of the dct_dc_differential field of a first block of the identified consecutive blocks is smaller than a value of the dct_dc_differential field of the second block;
(e) determining that the identified consecutive blocks have an embedded second payload bit of two possible payload bits, when a value of the dct_dc_differential field of the second block of the identified consecutive blocks is smaller than a value of the dct_dc_differential field of the first block; and
(f) extracting embedded watermark data as either one of the embedded first payload bit or the embedded second payload bit.

### Claim 11 (depends on 10)

The method according to claim 10 further comprising performing the following steps prior to step (a):
(aa) receiving a sequence of uncompressed video frames;
(ab) determining which uncompressed video frames in the sequence of uncompressed video frames correspond to original I-frames in an original compressed MPEG-2 video stream corresponding to the sequence of uncompressed video frames;
(ac) partitioning each one of the uncompressed video frames which were determined to correspond to original 1-frames into units that are of sizes equal to sizes of macroblocks in the original compressed MPEG-2 video stream, thereby defining reconstructed macroblocks for each of the uncompressed video frames;
(ad) subdividing the partitioned uncompressed video frames into units that are equal in size to blocks in the original compressed MPEG-2 video stream, thereby defining reconstructed blocks for each of the reconstructed macroblocks;
(ae) separating pixel values for each one of the reconstructed macroblocks into luma (Y) and chroma (U and V) planes;
(af) applying a discrete cosine transform (DCT) transform on each one of the reconstructed blocks for the luma and chroma planes, the DCT transform being applied according to the DCT transform which was applied to blocks comprising the original compressed MPEG-2 video stream; and
performing the following steps after step (e):
(g) counting the number of bits determined as being the first of the two possible bits and the number of bits determined as being the second of the two possible bits for all identified consecutive blocks in a candidate frame; and
(h) taking a majority between the resulting counts of the first of the two possible bits and second of the two possible bits and recovering the majority count as signifying an embedded watermark bit.

### Claim 12 (depends on 11)

The method according to claim 11 wherein the determining which uncompressed video frames in the sequence of uncompressed video frames correspond to original I-frames is performed by testing known GOP phases in an attempt to determine where the GOP begins, where the GOP size is known.

### Claim 13 (depends on 12)

The method according to claim 12 wherein the testing known GOP phases in an attempt to determine where the GOP begins is performed for each of the uncompressed video frames in the sequence of uncompressed video frames.

### Claim 14 (depends on 11)

The method according to claim 11 wherein the determining which uncompressed video frames in the sequence of uncompressed video frames correspond to original 1-frames is performed by statistically checking every uncompressed video frame to determine if the uncompressed video frame corresponds to an original I-frame.

### Claim 15 (depends on 14)

The method according to claim 14 wherein the statistically checking every uncompressed video frame comprises:
dividing a candidate uncompressed video frame into macroblocks and blocks;
calculating a DC coefficient for at least one of the chroma and luma components for each block;
provisionally performing steps (ac) through (g);
determining that the candidate uncompressed video frame corresponds to an original I-frame if resulting counts are biased.

### Claim 16 (depends on 11)

The method according to claim 11 and further comprising:
storing recovered each stored watermark bit; and
assembling all of the stored recovered stored watermark bits; and
recovering an original identifying value used as a watermark.

### Claim 17

A system comprising:
a processor comprised in a watermark embedding device which detects a pair of consecutive blocks in a MPEG-2 encoded I-frame, and the consecutive blocks having dct_dc_differential fields with different values that are within a given threshold value of each other; and
the processor being further operative to embed, as a result of having determined that the pair of consecutive blocks have dct_dc_differential fields with different values that are within a given threshold value of each other, a watermark payload bit in the consecutive blocks by ordering dct_dc_differential fields of the consecutive blocks such that when the dct_dc_differential fields are ordered in a first manner, the ordering encodes a one bit, and when the dct_dc_differential fields are ordered in a second manner the ordering encodes a one bit, bit, the embedding comprising swapping the dct_size and one of the dct_dc_differential_l or dct_dc_differential_c fields between the pair of consecutive blocks when, as a result of embedding the one of a first watermark payload bit or a second watermark payload bit the dct_dc_differential fields are ordered to maintain syntax which conforms with MPEG-2 encoded video and to encode one of the first payload bit or the second payload bit.
