Streaming methods and systems
First Claim
1. A method comprising:
- providing a streaming server configured to stream data to at least one client, said data comprising one or more enhancement layers;
determining whether portions of the one or more enhancement layers are important by taking into account motion that is embodied in said portions, the determining comprising;
computing perceived motion energy (PME) values for multiple B frames of a video stream;
taking the product of an average of motion vector magnitudes within a frame and a percentage of dominant motion direction;
representing the video stream as a PME value sequence;
segmenting the PME value sequence into individual segments, each segment corresponding to multiple frames;
within each segment, assigning one or more priority levels; and
making a decision to drop enhancement layer portions based, at least in part, on whether the portions are important dropping frames having lower priorities when available bandwidth decreases.
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:
-
providing a streaming server configured to stream data to at least one client, said data comprising one or more enhancement layers; determining whether portions of the one or more enhancement layers are important by taking into account motion that is embodied in said portions, the determining comprising; computing perceived motion energy (PME) values for multiple B frames of a video stream; taking the product of an average of motion vector magnitudes within a frame and a percentage of dominant motion direction; representing the video stream as a PME value sequence; segmenting the PME value sequence into individual segments, each segment corresponding to multiple frames; within each segment, assigning one or more priority levels; and making a decision to drop enhancement layer portions based, at least in part, on whether the portions are important dropping frames having lower priorities when available bandwidth decreases. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
computing perceived motion energy (PME) values for multiple frames of a video stream by taking the product of an average of motion vector magnitudes within a frame and a percentage of dominant motion direction; representing the video stream as a PME value sequence; segmenting the PME value sequence into individual segments, each segment corresponding to multiple frames; within each segment, assigning one or more priority levels; and dropping frames having lower priorities when available bandwidth decreases. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
Specification