Just-in-time variable adaptive encoding and delivery of media content

US10812559B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10812559-B2
Application numberUS-201715409231-A
CountryUS
Kind codeB2
Filing dateJan 18, 2017
Priority dateJan 18, 2017
Publication dateOct 20, 2020
Grant dateOct 20, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are described for just-in-time variable adaptive encoding and delivery of media content. Fragments of media content are encoded at bitrates corresponding to available bandwidth of client devices. If the available bandwidth changes, the bitrate at which fragments are being encoded is adjusted to correspond with the changed bandwidth.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: receiving a request from a first client device for a portion of first media content; receiving a request from a second client device for a portion of second media content; determining a complexity associated with the portion of the first media content; determining a complexity associated with the portion of the second media content; determining available bandwidth of the first client device; determining available bandwidth of the second client device; determining available resources of one or more media servers communicating with the first client device and the second client device; selecting a first bitrate according to the available bandwidth of the first client device, the complexity associated with the portion of the first media content, the complexity associated with the portion of the second media content, and the available resources of the one or more media servers; selecting a second bitrate according to the available bandwidth of the second client device, the complexity associated with the portion of the second media content, the complexity associated with the portion of the first media content, and the available resources of the one or more media servers; using a first encoder, encoding a first fragment corresponding to the portion of the first media content at the first bitrate; determining available resources of a second encoder; based on the available resources of the second encoder and using the second encoder, encoding a second fragment corresponding to the portion of second media content at the second bitrate; providing the first fragment to the first client device; providing the second fragment to the second client device receiving an additional request for an additional portion of the first media content, the additional portion of the first media content being next in a playback sequence to the portion of the first media content; determining an additional available bandwidth of the first client device; and using the second encoder, encoding a third fragment corresponding to the additional portion of the first media content, the third fragment being encoded at a third bitrate based at least in part on the additional available bandwidth, the third bitrate being different from the first bitrate, thereby using two different encoders to encode successive portions of the first media content; and providing the third fragment to the first client device. 2. The method of claim 1 , further comprising determining further available resources of the one or more media servers, and wherein transitioning encoding of the third fragment to the second encoder is based on the further available computing resources of the one or more media servers. 3. The method of claim 1 , wherein determining the available resources of the one or more media servers includes: determining a complexity associated with a portion of third media content; and determining a total complexity based on the complexity associated with the portion of the first media content, the complexity associated with the portion of the second media content, and the complexity associated with the portion of the third media content. 4. The method of claim 1 , wherein the first fragment includes a time range of the first fragment, a quality level of the first fragment, a media server identifier, and a Uniform Resource Locator (URL) of the first fragment. 5. A system, comprising: one or more processors and memory configured to: receive a first request from a first client device for a first portion of media content; determine a first available bandwidth of the first client device; responsive to determination of the first available bandwidth of the first client device, and using a first encoder, encode a first fragment corresponding to the first portion of the media content, the first fragment being encoded at a first bitrate based at least in part on the first available bandwidth; provide the first fragment to the first client device; receive a second request from the first client device for a second portion of the media content, the second portion of the media content being next in a playback sequence to the first portion of the media content; determine a second available bandwidth of the first client device, the second available bandwidth being different from the first available bandwidth; responsive to determination of the second available bandwidth of the first client device and based on available resources of a second encoder, using the second encoder to encode a second fragment corresponding to the second portion of the media content, the second fragment being encoded at a second bitrate based at least in part on the second available bandwidth, the second bitrate being different from the first bitrate, thereby using two different encoders to encode successive portions of the media content; and provide the second fragment to the first client device. 6. The system of claim 5 , wherein the one or more processors and memory are further configured to: determine a complexity associated with the first fragment; and determine a complexity associated with the second fragment, wherein the complexity of the second fragment is different than the complexity of the first fragment; and wherein the one or more processors and memory are configured to encode the second fragment additionally responsive to the determination that the complexity associated with the second fragment is different than the complexity associated with the first fragment. 7. The system of claim 5 , wherein the one or more processors and memory are further configured to: receive a request from a second client device for the first portion of the media content; determine available bandwidth of the second client device, the available bandwidth of the second client device being different from the first available bandwidth of the first client device; and using a third encoder, encode a third fragment corresponding to the first portion of the media content, the third fragment being encoded at a third bitrate different from the first bitrate. 8. The system of claim 5 , wherein the first encoder and the second encoder are associated with one or more media servers, and wherein the one or more processors and memory are further configured to transition encoding of the media content from the first encoder to the second encoder based on available computing resources of the one or more media servers. 9. The system of claim 5 , wherein the one or more processors and memory are further configured to: receive a third request from the first client device for a third portion of the media content; receive a request from a second client device for playback of a fourth portion of the media content; determine a complexity associated with the third portion of the media content; determine a complexity associated with the fourth portion of the media content; determine a third available bandwidth of the first client device; determine available resources of one or more media servers; and encode a third fragment corresponding to the third portion of the media content, the third fragment being encoded at a third bitrate based on the third available bandwidth, the complexity associated with the third portion of the media content, the complexity associated with the fourth portion of the media content, and the available resources of the one or more media servers. 10. The system of claim 5 , wherein the first fragment includes a time range of the first fragment, a quality level of the first fragment, a media server identifier, and a URL of the first fragment, and wherein the second request for the second portion of the me

Assignees

Inventors

Classifications

  • 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)} · CPC title

  • H04L65/70Primary

    Media network packetisation · CPC title

  • Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP] · CPC title

  • for unicast · CPC title

  • directed to server {(one-way streaming services wherein the source is controlled by the destination H04L65/613)} · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10812559B2 cover?
Techniques are described for just-in-time variable adaptive encoding and delivery of media content. Fragments of media content are encoded at bitrates corresponding to available bandwidth of client devices. If the available bandwidth changes, the bitrate at which fragments are being encoded is adjusted to correspond with the changed bandwidth.
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04N21/2343. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 20 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).