# US 12,223,019 B2 · Content segment variant obfuscation

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

- Number: US 12,223,019 B2
- Document ID: US12223019B2
- Status: Granted
- Kind: B2
- Application number: 17/703,576
- Filed: 2022-03-24
- Published: 2022-07-07
- Granted: 2025-02-11
- Earliest claimed: 2017-06-05
- Assignees: Comcast Cable Communications, LLC
- Applicants: Comcast Cable Communications, LLC
- Inventors: Alexander Giladi; Yasser Syed
- Web page: https://patentgrep.com/patent/US12223019B2

## CPC

- G06F 21/16: Program or content traceability, e.g. by watermarking
- H04N 19/188: {the unit being a video data packet, e.g. a network abstraction layer [NAL] unit}
- H04N 19/467: characterised by the embedded information being invisible, e.g. watermarking
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 21/234345: {the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment}
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- 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 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 2209/16: Obfuscation or hiding, e.g. involving white box
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Described herein are systems and methods for obfuscating variants of content segments. Variants of content segments can be used to encode an identifying sequence in a transmission of content. The duration parameter of a manifest entry can be modified by a random offset. The data size of variants of a given content segment can be equalized by adding one or more portions of data to one or more of the variants.

## Claims

### Claim 1

A method comprising:
determining, by a computing device, at least one content segment associated with a plurality of variants and an identifying sequence;
determining, based on each variant of the plurality of variants, a greatest size variant of the plurality of variants, wherein each variant, of the plurality of variants, differs in size based on the identifying sequence; and
generating a modified version of each remaining variant, of the plurality of variants, such that the modified version of each remaining variant has a same data size as the greatest size variant.

### Claim 2 (depends on 1)

The method of claim 1, wherein each variant of the plurality of variants comprises at least one variation that differentiates each variant of the plurality of variants.

### Claim 3 (depends on 2)

The method of claim 2, wherein the at least one variation is based on at least one of: a motion vector, a color composition, or an audio composition of the at least one content segment.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the modified version of each remaining variant, of the plurality of variants, comprises:
generating, for each remaining variant, of the plurality of variants, an amount of data padding comprising a difference between a data size of the greatest size variant and a data size of each remaining variant of the plurality of variants.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
based on a request for the at least one content segment, sending, to a second computing device, a manifest file configured to facilitate output of the at least one content segment at the second computing device.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
generating, based on the identifying sequence, a manifest file configured to facilitate access to the at least one content segment.

### Claim 7 (depends on 6)

The method of claim 6, wherein the identifying sequence is indicative of the plurality of variants of the at least one content segment.

### Claim 8

A method comprising:
determining, by a computing device, at least one content segment associated with a plurality of variants and an identifying sequence;
determining, based on a data size of each variant of the plurality of variants, a first variant of the plurality of variants comprising a largest data size, wherein each variant, of the plurality of variants, differs in size based on the identifying sequence; and
generating, for each remaining variant of the plurality of variants, an amount of data padding based on a difference between the largest data size and the data size of each remaining variant of the plurality of variants.

### Claim 9 (depends on 8)

The method of claim 8, wherein each variant of the plurality of variants comprises at least one variation that differentiates each variant of the plurality of variants.

### Claim 10 (depends on 9)

The method of claim 9, wherein the at least one variation is based on at least one of: a motion vector, a color composition, or an audio composition of the at least one content segment.

### Claim 11 (depends on 8)

The method of claim 8, wherein the data padding comprises at least one of: a network abstraction layer unit or a segment enhancement information message.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
generating a manifest file configured to facilitate access to the at least one content segment.

### Claim 13 (depends on 12)

The method of claim 12, wherein generating the manifest file comprises:
generating, based on the identifying sequence, the manifest file, wherein the identifying sequence is indicative of the plurality of variants of the at least one content segment.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
based on a request for the at least one content segment, sending, to a second computing device, a manifest file configured to facilitate access to the at least one content segment.

### Claim 15

An apparatus comprising:
one or more processors; and
memory storing processor executable instructions that, when executed by the one or more processors, cause the apparatus to:
determine at least one content segment associated with a plurality of variants and an identifying sequence;
determine, based on each variant of the plurality of variants, a greatest size variant of the plurality of variants, wherein each variant, of the plurality of variants, differs in size based on the identifying sequence; and
generate a modified version of each remaining variant, of the plurality of variants, such that the modified version of each remaining variant has a same data size as the greatest size variant.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein each variant of the plurality of variants comprises at least one variation that differentiates each variant of the plurality of variants.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the at least one variation is based on at least one of: a motion vector, a color composition, or an audio composition of the at least one content segment.

### Claim 18 (depends on 15)

The apparatus of claim 15, wherein the processor executable instructions that cause the apparatus to generate the modified version of each remaining variant, of the plurality of variants, further cause the apparatus to:
generate, for each remaining variant, of the plurality of variants, an amount of data padding comprising a difference between largest data size and the data size of each remaining variant of the plurality of variants.

### Claim 19 (depends on 15)

The apparatus of claim 15 wherein the processor executable instructions further cause the apparatus to:
based on a request for the at least one content segment, send, to a computing device, a manifest file configured to facilitate output of the at least one content segment at the computing device.

### Claim 20 (depends on 15)

The apparatus of claim 15 wherein the processor executable instructions further cause the apparatus to:
generate, based on the identifying sequence, a manifest file configured to facilitate access to the at least one content segment, wherein the identifying sequence is indicative of the plurality of variants of the at least one content segment.
