# US 11,784,787 B2 · Streaming with low latency encryption ready packaging

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

- Number: US 11,784,787 B2
- Document ID: US11784787B2
- Status: Granted
- Kind: B2
- Application number: 17/590,507
- Filed: 2022-02-01
- Published: 2023-08-03
- Granted: 2023-10-10
- Earliest claimed: 2022-02-01
- Assignees: Synamedia Limited
- Applicants: Synamedia Vividtec Holdings, Inc.
- Inventors: Alain Léal
- Web page: https://patentgrep.com/patent/US11784787B2

## CPC

- H04L 9/0618: {Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation}
- H04N 21/234363: {by altering the spatial resolution, e.g. for clients with a lower screen resolution}
- H04L 63/0457: {wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption (cryptographic mechanisms or cryptographic arrangements for stream encryption H04L9/065)}
- H04N 21/23439: {for generating different versions}
- H04N 21/2347: involving video stream encryption
- H04N 21/23473: {by pre-encrypting}
- H04N 21/23476: {by partially encrypting, e.g. encrypting the ending portion of a movie}
- H04N 21/2662: Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L 2209/20: Manipulating the length of blocks of bits, e.g. padding or block truncation
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Techniques for packaging media content in a low latency encryption ready format for streaming are described herein. In accordance with various embodiments, one or more packagers that include create an intermediate unit including at least one data portion from media content. The packager(s) further determine a size for reformatting the intermediate unit, where the size can include a padding amount for the at least one data portion. The packager(s) also package the intermediate unit to a reformatted partial segment according to the size without encrypting the at least one data portion, including injecting into the partial segment at least one encryption specific box and injecting padding into the at least one data portion according to the padding amount. The packager(s) then package the reformatted partial segment for streaming while maintaining the size, including generating a manifest for streaming the media content specifying the size of the reformatted partial segment.

## Claims

### Claim 1

A method comprising:
creating an intermediate unit including at least one data portion from media content;
determining a size for reformatting the intermediate unit, wherein the size includes a padding amount for the at least one data portion, including determining whether padding is required for a block cipher, and calculating the padding amount to align the at least one data portion to a block size in accordance with a determination of requiring the padding for the block cipher;
packaging the intermediate unit to a reformatted partial segment according to the size without encrypting the at least one data portion, including injecting into the partial segment at least one encryption specific box and injecting the padding into the at least one data portion according to the padding amount; and
packaging the reformatted partial segment for streaming while maintaining the size, including generating a manifest for streaming the media content specifying the size of the reformatted partial segment.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining the size for reformatting the intermediate unit includes:
setting the padding amount to zero in accordance with a determination of not requiring the padding amount for the block cipher.

### Claim 3 (depends on 1)

The method of claim 1, wherein the size further includes an encryption box size corresponding to the at least one encryption specific box and a data size corresponding to the at least one data portion.

### Claim 4 (depends on 1)

The method of claim 1, wherein packaging the intermediate unit to the reformatted partial segment includes renaming the at least one encryption specific box to at least one dummy box.

### Claim 5 (depends on 4)

The method of claim 4, wherein packaging the reformatted partial segment for streaming while maintaining the size includes:
renaming the at least one dummy box to the at least one encryption specific box; and
encrypting the at least one data portion according to the at least one encryption specific box without the padding while maintaining the size.

### Claim 6 (depends on 1)

The method of claim 1, wherein packaging the reformatted partial segment for streaming while maintaining the size includes:
encrypting the at least one data portion according to the at least one encryption specific box; and
using the padding for encrypting the at least one data portion while maintaining the size.

### Claim 7 (depends on 6)

The method of claim 6, wherein encrypting the at least one data portion includes applying a block cipher on the at least one data portion.

### Claim 8 (depends on 1)

The method of claim 1, wherein packaging the reformatted partial segment for streaming while maintaining the size includes packaging an unencrypted version of the reformatted partial segment by replacing the at least one encryption specific box and the padding with a free atom while maintaining the size.

### Claim 9 (depends on 1)

The method of claim 1, wherein packaging the reformatted partial segment for streaming while maintaining the size includes:
generating one or more fragmented segments from the reformatted partial segment excluding the at least one encryption specific box and the padding; and
converting the one or more fragmented segments to segments for streaming.

### Claim 10 (depends on 1)

The method of claim 1, wherein packaging the reformatted partial segment for streaming while maintaining the size includes:
re-encrypting the at least one data portion in the reformatted partial segment for streaming while maintaining the size.

### Claim 11 (depends on 1)

The method of claim 1, wherein:
generating the manifest for streaming the media content includes providing in the manifest the size of the reformatted partial segment as a byte range.

### Claim 12

A system comprising:
an intermediate packager including a first processor and a first non-transitory memory, wherein the first packager is operable to:
create an intermediate unit including at least one data portion from media content;
determine a size for reformatting the intermediate unit, wherein the size includes a padding amount for the at least one data portion, including determining whether padding is required for a block cipher, and calculating the padding amount to align the at least one data portion to a block size in accordance with a determination of requiring the padding for the block cipher; and
package the intermediate unit to a reformatted partial segment according to the size without encrypting the at least one data portion, including injecting into the partial segment at least one encryption specific box and injecting the padding into the at least one data portion according to the padding amount; and
a just-in-time packager (JITP) including a second processor and a second non-transitory memory, wherein the JITP is operable to package the reformatted partial segment for streaming while maintaining the size, including generating a manifest for streaming the media content specifying the size of the reformatted partial segment.

### Claim 13 (depends on 12)

The system of claim 12, wherein determining the size for reformatting the intermediate unit includes:
setting the padding amount to zero in accordance with a determination of not requiring the padding amount for the block cipher.

### Claim 14 (depends on 12)

The system of claim 12, wherein the size further includes an encryption box size corresponding to the at least one encryption specific box and a data size corresponding to the at least one data portion.

### Claim 15 (depends on 12)

The system of claim 12, wherein packaging the intermediate unit to the reformatted partial segment includes renaming the at least one encryption specific box to at least one dummy box.

### Claim 16 (depends on 15)

The system of claim 15, wherein packaging the reformatted partial segment for streaming while maintaining the size includes:
renaming the at least one dummy box to the at least one encryption specific box; and
encrypting the at least one data portion according to the at least one encryption specific box without the padding while maintaining the size.

### Claim 17 (depends on 12)

The system of claim 12, wherein packaging the reformatted partial segment for streaming while maintaining the size includes:
encrypting the at least one data portion according to the at least one encryption specific box; and
using the padding for encrypting the at least one data portion while maintaining the size.

### Claim 18 (depends on 17)

The system of claim 17, wherein encrypting the at least one data portion includes applying a block cipher on the at least one data portion.

### Claim 19 (depends on 12)

The system of claim 12, wherein packaging the reformatted partial segment for streaming while maintaining the size includes packaging an unencrypted version of the reformatted partial segment by replacing the at least one encryption specific box and the padding with a free atom while maintaining the size.

### Claim 20 (depends on 12)

The system of claim 12, wherein packaging the reformatted partial segment for streaming while maintaining the size includes:
generating one or more fragmented segments from the reformatted partial segment excluding the at least one encryption specific box and the padding; and
converting the one or more fragmented segments to segments for streaming.
