# US 11,115,697 B1 · Resolution-based manifest generator for adaptive bitrate video streaming

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

- Number: US 11,115,697 B1
- Document ID: US11115697B1
- Status: Granted
- Kind: B1
- Application number: 16/705,952
- Filed: 2019-12-06
- Granted: 2021-09-07
- Earliest claimed: 2019-12-06
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Deepthi Nandakumar; Brian Manuel Alvarez; Daniel Robert Graham; Avisar Ten-Ami; Lei Li
- Web page: https://patentgrep.com/patent/US11115697B1

## CPC

- H04L 65/80: Responding to QoS
- H04L 41/0823: characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02)
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/509: {wherein the managed service relates to media content delivery, e.g. audio, video or TV}
- H04L 43/0894: Packet rate
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L 65/612: for unicast
- H04L 65/70: Media network packetisation
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04N 21/234363: {by altering the spatial resolution, e.g. for clients with a lower screen resolution}
- H04N 21/234381: {by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping}
- H04N 21/23439: {for generating different versions}
- H04N 21/25435: {involving characteristics of content or additional data, e.g. video resolution or the amount of advertising}
- H04N 21/25825: {involving client display capabilities, e.g. screen resolution of a mobile phone (optimising the visualisation of content during browsing in the Internet G06F16/9577; processing of terminal status or physical abilities in wireless networks H04W8/22; authentication in wireless network security H04W12/06)}
- 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}
- H04N 21/85406: {involving a specific file format, e.g. MP4 format}
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- 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 resolution-based manifest generation for adaptive bitrate video streaming are described. As one example, a computer-implemented method includes performing a first, convex hull optimization on a video file for a first device resolution, performing a second, convex hull optimization on the video file for a second, lower device resolution, generating a first video representation for a point on both the first, convex hull optimization and the second, convex hull optimization for the first device resolution and the second, lower device resolution, generating a second video representation for a point only on the second, convex hull optimization for the second, lower device resolution, receiving a request for a manifest for the video file from a client device at the second, lower device resolution, generating the manifest for the client device that identifies the first video representation and the second video representation, and sending the manifest to the client device.

## Claims

### Claim 1

A computer-implemented method comprising:
performing a first, convex hull optimization on a video file for a first device resolution;
performing a second, convex hull optimization on the video file for a second, lower device resolution;
generating a first video representation for a point on both the first, convex hull optimization and the second, convex hull optimization for the first device resolution and the second, lower device resolution;
generating a second video representation for a point only on the second, convex hull optimization for the second, lower device resolution;
receiving a request for a manifest for the video file from a client device at the second, lower device resolution;
generating the manifest for the client device that identifies the first video representation and the second video representation; and
sending the manifest to the client device.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving a request for the video file from a second client device at the first device resolution;
generating a second manifest for the second client device that identifies the first video representation and not the second video representation; and
sending the second manifest to the second client device.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the request includes a device type identification value that specifies the client device is the second, lower device resolution.

### Claim 4

A computer-implemented method comprising:
performing a first, representation design model optimization on a video file for a first device resolution;
performing a second, representation design model optimization on the video file for a second, lower device resolution;
generating a first video representation for a point on both the first, representation design model optimization and the second, representation design model optimization for the first device resolution and the second, lower device resolution;
generating a second video representation for a point only on the second, representation design model optimization for the second, lower device resolution;
receiving a request for a manifest for the video file from a client device at the second, lower device resolution;
generating the manifest for the client device that identifies the first video representation and the second video representation; and
sending the manifest to the client device.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising:
receiving a request for the video file from a second client device at the first device resolution;
generating a second manifest for the second client device that identifies the first video representation and not the second video representation; and
sending the second manifest to the second client device.

### Claim 6 (depends on 4)

The computer-implemented method of claim 4, wherein the request includes a device type identification value that specifies the client device is the second, lower device resolution.

### Claim 7 (depends on 4)

The computer-implemented method of claim 4, wherein the manifest is an adaptive bitrate streaming manifest.

### Claim 8 (depends on 4)

The computer-implemented method of claim 4, wherein the point on both the first, representation design model optimization and the second, representation design model optimization and the point only on the second, representation design model optimization form a single, bitrate ladder for the video file.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, further comprising storing the single, bitrate ladder, wherein the generating the manifest comprises accessing the single, bitrate ladder.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, wherein the storing occurs before receiving the request for the manifest from the client device.

### Claim 11 (depends on 4)

The computer-implemented method of claim 4, further comprising:
receiving a request from the client device for the second video representation identified in the manifest; and
sending a plurality of video segments of the second video representation to the client device in response to the request from the client device for the second video representation identified in the manifest.

### Claim 12 (depends on 4)

The computer-implemented method of claim 4, further comprising:
performing a third, representation design model optimization on the video file for a third device resolution that is lower than the first device resolution and higher than the second, lower device resolution; and
generating a third video representation for a point only on the third, representation design model optimization for the third device resolution,
wherein the first video representation represents a point on all of the first, representation design model optimization, the second, representation design model optimization, and the third, representation design model optimization for the first device resolution, the second, lower device resolution, and the third device resolution.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein the manifest for the client device at the third device resolution identifies the first video representation, the third video representation, and not the second video representation.

### Claim 14 (depends on 12)

The computer-implemented method of claim 12, further comprising:
receiving a request for the video file from a second client device at the first device resolution;
generating a second manifest for the second client device that identifies the first video representation, and not the second video representation or the third video representation; and
sending the second manifest to the second client device.

### Claim 15

A system comprising:
a content data store to store a video file; and
a content manager service implemented by a first one or more electronic devices, the content manager service including instructions that upon execution cause the first one or more electronic devices to:
perform a first, representation design model optimization on the video file from the content data store for a first device resolution,
perform a second, representation design model optimization on the video file for a second, lower device resolution,
generate a first video representation for a point on both the first, representation design model optimization and the second, representation design model optimization for the first device resolution and the second, lower device resolution,
generate a second video representation for a point only on the second, representation design model optimization for the second, lower device resolution,
receive a request for a manifest for the video file from a client device at the second, lower device resolution,
generate the manifest for the client device that identifies the first video representation and the second video representation, and
send the manifest to the client device.

### Claim 16 (depends on 15)

The system of claim 15, wherein the content manager service further includes instructions that upon execution cause the first one or more electronic devices to:
receive a request for the video file from a second client device at the first device resolution;
generate a second manifest for the second client device that identifies the first video representation and not the second video representation; and
send the second manifest to the second client device.

### Claim 17 (depends on 15)

The system of claim 15, wherein the request includes a device type identification value that specifies the client device is the second, lower device resolution.

### Claim 18 (depends on 15)

The system of claim 15, wherein the manifest is an adaptive bitrate streaming manifest.

### Claim 19 (depends on 15)

The system of claim 15, wherein the content manager service further includes instructions that upon execution cause the first one or more electronic devices to:
receive a request from the client device for the second video representation identified in the manifest; and
send a plurality of video segments of the second video representation to the client device in response to the request from the client device for the second video representation identified in the manifest.

### Claim 20 (depends on 15)

The system of claim 15, wherein the content manager service further includes instructions that upon execution cause the first one or more electronic devices to:
perform a third, representation design model optimization on the video file for a third device resolution that is lower than the first device resolution and higher than the second, lower device resolution; and
generate a third video representation for a point only on the third, representation design model optimization for the third device resolution,
wherein the first video representation represents a point on all of the first, representation design model optimization, the second, representation design model optimization, and the third, representation design model optimization for the first device resolution, the second, lower device resolution, and the third device resolution.
