Outer Rim Archives
Archives · 2021 · 10893266

Granted patent

Method and system for optimizing bitrate selection

Number
10893266
Published
2021-01-12
Filed
2014-10-07
Assignee
Disney Enterprises, Inc.
Inventors
Reisner; Samuel Joseph, Kidd; Michael
CPC
H04N19/156; H04N19/162; H04N19/115; H04N19/184
Verdict
Set aside streaming bitrate optimization, codec plumbing
Source
Google Patents · FreePatentsOnline

Abstract

A method including encoding a video program into a plurality of video streams, each of the plurality of video streams being encoded at a corresponding one of a plurality of bitrates; providing, to a plurality of viewing clients, an option to select one of the plurality of video streams; determining a streaming capacity of each of the viewing clients; and determining an improved plurality of bitrates based on streaming capacities of the plurality of viewing clients.

Background

BACKGROUND (1) Providers of streaming video may offer streams of the same program encoded at different bitrates, for selection either by a user or automatically by software, in order to provide a high-quality viewing experience to viewers having a variety of streaming capacities. Typically, the bitrates used for the encoding are determined and adjusted only rarely, and are based on industry-standard streaming capacities. As a result, the bitrates commonly used for encoding do not necessarily reflect increases in streaming capacity due to developing technology, or the specific capacities of the viewers of a given provider's programming or a given program.

Claims

1. A method, comprising: encoding a video program into a first plurality of video streams, each of the first plurality of video streams being encoded at a corresponding one of a first plurality of bitrates; generating a first alternate video stream at a first alternate bitrate that is not one of the first plurality of bitrates at which the first plurality of video streams are encoded, wherein the first alternate video stream at the first alternate bitrate is generated based on one of the first plurality of video streams padded with additional data after the one of the first plurality of video streams has been encoded; providing, to a plurality of viewing clients, an option to select one of the first plurality of video streams or the first alternate video stream at the first alternate bitrate; receiving, by an optimization logic, a streaming capacity of each of the plurality of viewing clients, wherein the streaming capacity of each of the plurality of viewing clients is based on a selection of one of the first plurality of video streams or the first alternate video stream at the first alternate bitrate; and determining, by the optimization logic, a second plurality of bitrates based on at least one selection of the first alternate stream at the first alternate bitrate by the plurality of viewing clients. || 10. A system, comprising: a video encoder, configured to encode a source video into a first plurality of video streams, each of the first plurality of video streams being encoded at a corresponding one of a plurality of bitrates and generating a first alternate video stream at an alternate first alternate bitrate that is not one of the plurality of bitrates at which the first plurality of video streams are encoded, wherein the first alternate video stream at the first alternate bitrate is generated based on one of the first plurality of video streams padded with additional data after the one of the first plurality of video streams has been encoded; and an optimization logic, configured to receive a streaming capacity of each of a plurality of viewing clients, wherein the streaming capacity of each of the plurality of viewing clients is based on a selection of one of the first plurality of video streams or the first alternate video stream at the first alternate bitrate and wherein the optimization logic is further configured to determine a second plurality of bitrates based on at least one selection of the first alternate video stream at the first alternate bitrate by the plurality of the viewing clients, wherein the video encoder and the optimization logic are configured to be processed by one or more processors, and wherein the one or more processors are coupled to a memory. || 20. A non-transitory computer-readable storage medium storing a set of instructions that are executable by a processor, the set of instructions, when executed by the processor, causing the processor to perform operations comprising: encoding a video program into a first plurality of video streams, each of the first plurality of video streams being encoded at a corresponding one of a plurality of bitrates; generating a first alternate video stream at a first alternate bitrate that is not one of the plurality of bitrates at which the first plurality of video streams are encoded, wherein the first alternate video stream at the first alternate bitrate is generated based on one of the first plurality of video streams padded with additional data after the one of the first plurality of video streams has been encoded; providing, to a plurality of viewing clients, an option to select one of the first plurality of video streams or the first alternate video stream at the first alternate bitrate; receiving, by an optimization logic, a streaming capacity of each of the plurality of viewing clients, wherein the streaming capacity of each of the plurality of the viewing clients is based on a selection of one of the first plurality of video streams or the first alternate video stream at the first alternate bitrate; and determining, by the optimization logic, a second plurality of bitrates based on at least one selection of the first alternate video stream at the first alternate bitrate by the plurality of viewing clients.