Streaming methods and systems
First Claim
1. A method comprising:
- streaming, from a server, encoded data comprising a plurality of layers of data;
prior to or during the streaming of the encoded data from the server to a client, determining whether portions of an enhancement layer are important;
in an event the enhancement layer contains portions that are determined to be important and bandwidth becomes insufficient, delaying transmission of the important portions;
dropping at least some of the enhancement layer portions of the encoded data sufficient to forward-shift, relative to a primary layer, the important portions of the enhancement layer in anticipation of a bandwidth decrease.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments provide methods and systems for streaming data that can facilitate streaming during bandwidth fluctuations in a manner that can enhance the user experience. In one aspect, a forward-shifting technique is utilized to buffer data that is to be streamed, e.g. an enhancement layer in a FGS stream. Various techniques can drop layers actively when bandwidth is constant. The saved bandwidth can then be used to pre-stream enhancement layer portions. In another aspect, a content-aware decision can be made as to how to drop enhancement layers when bandwidth decreases. During periods of decreasing bandwidth, if a video segment does not contain important content, the enhancement layers will be dropped to keep the forward-shifting of the enhancement layer unchanged. If the enhancement layer does contain important content, it will be transmitted later when bandwidth increases.
-
Citations
15 Claims
-
1. A method comprising:
-
streaming, from a server, encoded data comprising a plurality of layers of data; prior to or during the streaming of the encoded data from the server to a client, determining whether portions of an enhancement layer are important; in an event the enhancement layer contains portions that are determined to be important and bandwidth becomes insufficient, delaying transmission of the important portions; dropping at least some of the enhancement layer portions of the encoded data sufficient to forward-shift, relative to a primary layer, the important portions of the enhancement layer in anticipation of a bandwidth decrease. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
in anticipation of a decrease in available bandwidth, dropping portions of an enhancement layer to forward-shift following portions of the enhancement layer by an amount; determining that the decrease in available bandwidth occurs; responsive to the determining; determining whether the enhancement layer contains important content; if it is determined that the enhancement layer does not contain important content, dropping additional portions of the enhancement layer to preserve a forward-shifted enhancement layer; and if it is determined that the enhancement layer does contain important content, delaying transmission of portions containing the important content so that the delayed portions can be transmitted when the available bandwidth increases. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A streaming server comprising:
-
one or more processors; memory; a first software module stored in the memory which, when executed by the one or more processors, cause the one or more processors to actively drop, when bandwidth is constant instead of passively drop when bandwidth decreases, first portions of an enhancement layer sufficient to forward-shift following portions of the enhancement layer by an amount; and a second software module stored in the memory which, when executed by the one or more processors, cause the one or more processors to determine whether a change in available bandwidth has occurred; responsive to determining that the available bandwidth has decreased; determine whether the enhancement layer contains important content, and; in the event that the enhancement layer does not contain important content, drop second portions of the enhancement layer in an attempt to preserve a forward-shifted enhancement layer; and in the event that the enhancement layer does contain important content, delay transmission of third portions of the enhancement layer containing the important content so that the delayed third portions can be transmitted when the available bandwidth increases; and responsive to determining that the available bandwidth has increased; transmit the delayed third portions of the enhancement layer containing the important content. - View Dependent Claims (12, 13, 14, 15)
-
Specification