# US 10,313,419 B1 · VBR encoding of live content

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

- Number: US 10,313,419 B1
- Document ID: US10313419B1
- Status: Granted
- Kind: B1
- Application number: 15/421,143
- Filed: 2017-01-31
- Granted: 2019-06-04
- Earliest claimed: 2017-01-31
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Charles Benjamin Franklin Waggoner; Marc Joliveau; Stefan Christian Richter; Yongjun Wu
- Web page: https://patentgrep.com/patent/US10313419B1

## CPC

- H04L 65/70: Media network packetisation
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04L 65/80: Responding to QoS
- H04N 21/2187: Live feed
- H04N 21/2343: involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements {(video transcoding H04N19/40; media packet handling at the source H04L65/762)}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- 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 are described that enable the use of variable bit rate (VBR) encoding for live content.

## Claims

### Claim 1

A computer implemented method comprising:
receiving a first fragment corresponding to a first segment of media content encoded at a first quality level, the first quality level corresponding to a first cap value for a variable bit rate video codec, the media content corresponding to a live event;
receiving a second fragment corresponding to the first segment of the media content encoded at a second quality level, the second quality level corresponding to a second cap value for the variable bit rate video codec, the second cap value being lower than the first cap value;
determining that a maximum bit rate of the first fragment is no higher than the second cap value;
configuring a content delivery system to deliver the first fragment in response to a request corresponding to the first segment of the media content and the second quality level, wherein the configuring includes storing or propagating the first fragment through the content delivery system at locations corresponding to the first segment of the media content and the first quality level, and locations corresponding to the first segment of the media content and the second quality level;
receiving a first request from a first viewer device, the first request corresponding to the first segment of the media content and the first quality level;
receiving a second request from a second viewer device, the second request corresponding to the first segment of the media content and the second quality level;
delivering the first fragment to the first viewer device in response to the first request; and
delivering the first fragment to the second viewer device in response to the second request.

### Claim 2 (depends on 1)

The computer implemented method of claim 1, further including:
generating first manifest data for the media content, the first manifest data indicating a URL template for generating HTTP requests, each of the HTTP requests corresponding to segments of the media content and one of a plurality of quality levels including the first and second quality levels;
receiving a playback request from the first viewer device for playback of the media content;
receiving a playback request from the second viewer device for playback of the media content;
providing the first manifest data to the first viewer device; and
providing the first manifest data to the second viewer device.

### Claim 3 (depends on 2)

The computer implemented method of claim 2, further comprising:
associating metadata with the first fragment, the metadata representing a duration of a subsequent segment of the media content immediately following the first segment, the metadata further representing a plurality of fragment sizes for the subsequent segment of the media content, each of the fragment sizes corresponding to one or more of the plurality of quality levels; and
receiving a subsequent request corresponding to the subsequent segment of the media content and one of the plurality of quality levels from the first viewer device or the second viewer device, the subsequent request having been generated using a portion of the metadata.

### Claim 4

A computer implemented method comprising:
receiving a first fragment corresponding to a first segment of media content encoded at a first quality level, the first quality level corresponding to a first encoding constraint;
receiving a second fragment corresponding to the first segment of the media content encoded at a second quality level, the second quality level corresponding to a second encoding constraint, the second quality level being lower than the first quality level;
determining that the first fragment conforms to the second encoding constraint; and
establishing a correspondence between the first fragment and the second quality level such that a content delivery system delivers the first fragment in response to a request corresponding to the first segment of the media content and the second quality level.

### Claim 5 (depends on 4)

The computer implemented method of claim 4, further including:
receiving a first request from a first viewer device, the first request corresponding to the first segment of the media content and the first quality level;
receiving a second request from a second viewer device, the second request corresponding to the first segment of the media content and the second quality level;
delivering the first fragment to the first viewer device in response to the first request; and
delivering the first fragment to the second viewer device in response to the second request.

### Claim 6 (depends on 4)

The computer implemented method of claim 4, wherein the second fragment is not stored or propagated through the content delivery system.

### Claim 7 (depends on 4)

The computer implemented method of claim 4, wherein establishing the correspondence between the first fragment and the second quality level includes storing or propagating the first fragment through the content delivery system at first locations corresponding to the first segment of the media content and the first quality level, and second locations corresponding to the first segment of the media content and the second quality level.

### Claim 8 (depends on 4)

The computer implemented method of claim 4, further comprising associating metadata with the first fragment, the metadata representing stochastic characteristics of a set of fragments corresponding to a subsequent segment of the media content.

### Claim 9 (depends on 8)

The computer implemented method of claim 8, wherein the stochastic characteristics include a duration of the subsequent segment and a plurality of fragment sizes, each of the fragment sizes corresponding to one or more of a plurality of quality levels of the media content.

### Claim 10 (depends on 9)

The computer implemented method of claim 9, further comprising receiving a request corresponding to the subsequent segment of the media content and one of the plurality of quality levels, the request having been generated using a portion of the metadata.

### Claim 11 (depends on 4)

The computer implemented method of claim 4, further including:
generating first manifest data for the media content, the first manifest data indicating a schema for generating requests, each of the requests corresponding to segments of the media content and one of a plurality of quality levels, the plurality of quality levels including the first and second quality levels;
receiving a first playback request from a first viewer device for playback of the media content; and
providing the first manifest data to the first viewer device.

### Claim 12 (depends on 4)

The computer implemented method of claim 4, wherein establishing the correspondence between the first fragment and the second quality level includes defining request resolution data, wherein the request resolution data includes information configured to translate an address identified by the first request, dereference a pointer identified by the first request, or perform a table lookup using an index identified by the first request.

### Claim 13 (depends on 4)

The computer implemented method of claim 4, wherein the first quality level and the second quality level each correspond to a different cap value for a capped variable bit rate (CVBR) codec.

### Claim 14 (depends on 4)

The computer implemented method of claim 4, wherein fragments corresponding to segments of the media content vary in duration.

### Claim 15

A system, comprising one or more computing devices configured to:
receive a first fragment corresponding to a first segment of media content encoded at a first quality level, the first quality level corresponding to a first encoding constraint;
receive a second fragment corresponding to the first segment of the media content encoded at a second quality level, the second quality level corresponding to a second encoding constraint, the second quality level being lower than the first quality level;
determine that the first fragment conforms to the second encoding constraint; and
establish a correspondence between the first fragment and the second quality level such that a content delivery system delivers the first fragment in response to a request corresponding to the first segment of the media content and the second quality level.

### Claim 16 (depends on 15)

The system of claim 15, wherein the one or more computing devices are further configured to:
receive a first request from a first viewer device, the first request corresponding to the first segment of the media content and the first quality level;
receive a second request from a second viewer device, the second request corresponding to the first segment of the media content and the second quality level;
deliver the first fragment to the first viewer device in response to the first request; and
deliver the first fragment to the second viewer device in response to the second request.

### Claim 17 (depends on 15)

The system of claim 15, wherein the second fragment is not stored or propagated through the content delivery system.

### Claim 18 (depends on 15)

The system of claim 15, wherein the one or more computing devices are configured to establish the correspondence between the first fragment and the second quality level by:
storing or propagating the first fragment through the content delivery system at first locations corresponding to the first segment of the media content and the first quality level, and second locations corresponding to the first segment of the media content and the second quality level.

### Claim 19 (depends on 15)

The system of claim 15, wherein the one or more computing devices are further configured to:
associate metadata with the first fragment, the metadata representing stochastic characteristics of a set of fragments corresponding to a subsequent segment of the media content.

### Claim 20 (depends on 19)

The system of claim 19, wherein the stochastic characteristics include a duration of the subsequent segment and a plurality of fragment sizes, each of the fragment sizes corresponding to one or more of a plurality of quality levels of the media content.

### Claim 21 (depends on 20)

The system of claim 20, wherein the one or more computing devices are further configured to:
receive a request corresponding to the subsequent segment of the media content and one of the plurality of quality levels, the request having been generated using a portion of the metadata.

### Claim 22 (depends on 15)

The system of claim 15, wherein the one or more computing devices are further configured to:
generate first manifest data for the media content, the first manifest data indicating a schema for generating requests, each of the requests corresponding to segments of the media content and one of a plurality of quality levels, the plurality of quality levels including the first and second quality levels;
receive a first playback request from a first viewer device for playback of the media content; and
provide the first manifest data to the first viewer device.

### Claim 23 (depends on 15)

The system of claim 15, wherein the one or more computing devices are configured to establish the correspondence between the first fragment and the second quality level by:
defining request resolution data, wherein the request resolution data includes information configured to translate an address identified by the first request, dereference a pointer identified by the first request, or perform a table lookup using an index identified by the first request.

### Claim 24 (depends on 15)

The system of claim 15, wherein the first quality level and the second quality level each correspond to a different cap value for a capped variable bit rate (CVBR) codec.

### Claim 25 (depends on 15)

The system of claim 15, wherein fragments corresponding to segments of the media content vary in duration.
