System, method and apparatus for multipoint video transmission
US-9210302-B1 · Dec 8, 2015 · US
US2016100162A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016100162-A1 |
| Application number | US-201414508214-A |
| Country | US |
| Kind code | A1 |
| Filing date | Oct 7, 2014 |
| Priority date | Oct 7, 2014 |
| Publication date | Apr 7, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1 . A method, comprising: 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. 2 . The method of claim 1 , further comprising: encoding the video program into a further plurality of video streams, each of the further plurality of video streams being encoded at a corresponding one of the optimized plurality of bitrates. 3 . The method of claim 2 , further comprising: providing, to a plurality of further viewing clients, an option to select one of the further plurality of video streams; determining a streaming capacity of each of the further viewing clients; and determining a further improved plurality of bitrates based on the streaming capacities of the plurality of further viewing clients. 4 . The method of claim 1 , further comprising: generating a further stream at a fictitious bitrate, wherein the further stream is generated based on one of the video streams, and wherein the fictitious bitrate is a bitrate that is not one of the plurality of bitrates at which the plurality of video streams are encoded, wherein the providing, to the plurality of viewing clients, an option to select one of the plurality of video streams comprises providing, to the plurality of viewing clients, an option to select the further stream. 5 . The method of claim 4 , wherein the further stream is generated by padding a selected one of the plurality of video streams with one of null data and additional data, the further stream having a fictitious bitrate that is higher than the bitrate of the selected one of the plurality of video streams. 6 . The method of claim 1 , wherein the determining the improved plurality of bitrates comprises: dividing the plurality of viewing clients into a plurality of groupings; selecting an optimal bitrate for each of the groupings; and using the optimal bitrates for each of the groupings as the plurality of bitrates. 7 . The method of claim 6 , wherein each of the plurality of groupings includes a substantially equal portion of the viewing clients. 8 . The method of claim 6 , wherein the optimal bitrate for each of the groupings is one of a slowest streaming capacity of the plurality of viewing clients in the grouping and an average of the streaming capacities of the plurality of viewing clients in the grouping. 9 . The method of claim 1 , wherein determining the streaming capacity of each of the viewing clients comprises one of A) receiving a selection of one of the video streams from each of the viewing clients, wherein the bitrate of the selected one of the video streams is used as the streaming capacity of each of the viewing clients, and B) receiving an indication of the streaming capacity from client-side equipment of each of the viewing clients. 10 . The method of claim 9 , wherein receiving the selection of one of the video streams from each of the viewing clients comprises receiving one of a user selection and a software-based selection from each of the viewing clients. 11 . A system, comprising: a video encoder encoding a source video into a plurality of video streams, each of the plurality of video streams being encoded at a corresponding one of a plurality of bitrates; and an optimization logic determining a streaming capacity of each of a plurality of viewing clients of the plurality of video streams and determining an improved plurality of bitrates based on the streaming capacities of the plurality of 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. 12 . The system of claim 11 , wherein the optimization logic instructs the video encoder to encode the video program into a further plurality of video streams, each of the further plurality of video streams being encoded at a corresponding one of the improved plurality of bitrates. 13 . The system of claim 12 , wherein the optimization logic determines a streaming capacity of each of a further plurality of viewing clients of the further plurality of video streams and determines a further improved plurality of bitrates based on the streaming capacities of the plurality of further viewing clients. 14 . The system of claim 11 , wherein the video encoder generates a further stream at a fictitious bitrate, wherein the further stream is generated based on one of the video streams, and wherein the fictitious bitrate is a bitrate that is not one of the plurality of bitrates at which the video encoder encodes the plurality of video streams. 15 . The system of claim 14 , wherein the video encoder generates the further stream by padding a selected one of the plurality of video streams with one of null data and additional data, the further stream having a fictitious bitrate that is higher than the bitrate of the selected one of the plurality of video streams. 16 . The system of claim 11 , wherein the optimization logic determines the improved plurality of bitrates by: dividing the plurality of viewing clients into a plurality of groupings; selecting an optimal bitrate for each of the groupings; and using the optimal bitrates for each of the groupings as the plurality of bitrates. 17 . The system of claim 16 , wherein each of the plurality of groupings includes a substantially equal portion of the viewing clients. 18 . The system of claim 16 , wherein the optimal bitrate for each of the groupings is one of a slowest streaming capacity of the plurality of viewing clients in the grouping and an average of the streaming capacities of the plurality of viewing clients in the grouping. 19 . The system of claim 11 , wherein the optimization logic determines the streaming capacity of each of the viewing clients by one of A) receiving a selection of one of the video streams from each of the viewing clients, wherein the bitrate of the selected one of the video streams is used as the streaming capacity of each of the viewing clients, and B) receiving an indication of the streaming capacity from client-side equipment of each of the viewing clients. 20 . The system of claim 19 , wherein receiving the selection of one of the video streams from each of the viewing clients comprises receiving one of a user selection and a software-based selection from each of the viewing clients. 21 . The system of claim 11 , wherein the optimization logic comprises one of hardware, software, firmware, a codec, and a field-programmable gate array. 22 . 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 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 plurali
Availability of hardware or computational resources, e.g. encoding based on power-saving criteria · CPC title
the unit being bits, e.g. of the compressed video stream · CPC title
Selection of the code volume for a coding unit prior to coding · CPC title
User input · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.